D143 VER 17.143.1.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 000b25c8 08020200 08020200 00010200 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .rodata 000b865c 080d27c8 080d27c8 000c27c8 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA 3 .ARM 00000008 0818ae24 0818ae24 0017ae24 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .init_array 00000004 0818ae2c 0818ae2c 0017ae2c 2**2 CONTENTS, ALLOC, LOAD, DATA 5 .fini_array 00000004 0818ae30 0818ae30 0017ae30 2**2 CONTENTS, ALLOC, LOAD, DATA 6 .data 00000d24 20020000 0818ae34 00180000 2**2 CONTENTS, ALLOC, LOAD, DATA 7 .dtcmram 00019000 20000000 0818bb58 00190000 2**5 CONTENTS, ALLOC, LOAD, DATA 8 .sram2 00000200 2007c000 081a4b58 001ac000 2**5 CONTENTS, ALLOC, LOAD, DATA 9 .bss 00048938 20020d40 20020d40 001b0d40 2**5 ALLOC 10 ._user_heap_stack 0000f500 20069678 20069678 001b0d40 2**0 ALLOC 11 .ARM.attributes 0000002e 00000000 00000000 001ac200 2**0 CONTENTS, READONLY 12 .debug_info 00140e84 00000000 00000000 001ac22e 2**0 CONTENTS, READONLY, DEBUGGING 13 .debug_abbrev 0001c51d 00000000 00000000 002ed0b2 2**0 CONTENTS, READONLY, DEBUGGING 14 .debug_aranges 00004548 00000000 00000000 003095d0 2**3 CONTENTS, READONLY, DEBUGGING 15 .debug_ranges 00003540 00000000 00000000 0030db18 2**3 CONTENTS, READONLY, DEBUGGING 16 .debug_line 0005360e 00000000 00000000 00311058 2**0 CONTENTS, READONLY, DEBUGGING 17 .debug_str 000145cc 00000000 00000000 00364666 2**0 CONTENTS, READONLY, DEBUGGING 18 .comment 000000ec 00000000 00000000 00378c32 2**0 CONTENTS, READONLY 19 .debug_frame 0000fcd0 00000000 00000000 00378d20 2**2 CONTENTS, READONLY, DEBUGGING 20 .debug_loc 00003297 00000000 00000000 003889f0 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: 20020d40 .word 0x20020d40 802021c: 00000000 .word 0x00000000 8020220: 080d27b0 .word 0x080d27b0 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: 20020d44 .word 0x20020d44 802023c: 080d27b0 .word 0x080d27b0 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: f096 fa5b bl 80b6e80 80209ca: 4603 mov r3, r0 80209cc: 2b00 cmp r3, #0 80209ce: d001 beq.n 80209d4 Error_Handler(); 80209d0: f035 f96e bl 8055cb0 } 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: f096 fd93 bl 80b7510 80209ea: 4603 mov r3, r0 80209ec: 2b00 cmp r3, #0 80209ee: d001 beq.n 80209f4 Error_Handler(); 80209f0: f035 f95e bl 8055cb0 } //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: 20021c20 .word 0x20021c20 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: f096 fa11 bl 80b6e80 8020a5e: 4603 mov r3, r0 8020a60: 2b00 cmp r3, #0 8020a62: d001 beq.n 8020a68 Error_Handler(); 8020a64: f035 f924 bl 8055cb0 } __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: f098 fbb4 bl 80b9200 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: f096 fd31 bl 80b7510 8020aae: 4603 mov r3, r0 8020ab0: 2b00 cmp r3, #0 8020ab2: d001 beq.n 8020ab8 Error_Handler(); 8020ab4: f035 f8fc bl 8055cb0 } } 8020ab8: bf00 nop 8020aba: 3728 adds r7, #40 ; 0x28 8020abc: 46bd mov sp, r7 8020abe: bd80 pop {r7, pc} 8020ac0: 20021b78 .word 0x20021b78 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: f096 f9a9 bl 80b6e80 8020b2e: 4603 mov r3, r0 8020b30: 2b00 cmp r3, #0 8020b32: d001 beq.n 8020b38 Error_Handler(); 8020b34: f035 f8bc bl 8055cb0 } 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: f096 fcdf bl 80b7510 8020b52: 4603 mov r3, r0 8020b54: 2b00 cmp r3, #0 8020b56: d001 beq.n 8020b5c Error_Handler(); 8020b58: f035 f8aa bl 8055cb0 } } 8020b5c: bf00 nop 8020b5e: 3728 adds r7, #40 ; 0x28 8020b60: 46bd mov sp, r7 8020b62: bd80 pop {r7, pc} 8020b64: 20021c68 .word 0x20021c68 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: f098 fb29 bl 80b9200 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: f097 f92d bl 80b7e54 8020bfa: 4603 mov r3, r0 8020bfc: 2b00 cmp r3, #0 8020bfe: d001 beq.n 8020c04 Error_Handler(); 8020c00: f035 f856 bl 8055cb0 } __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: f098 fada bl 80b9200 } 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: f098 fab0 bl 80b9200 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: f097 f8aa bl 80b7e54 8020d00: 4603 mov r3, r0 8020d02: 2b00 cmp r3, #0 8020d04: d001 beq.n 8020d0a Error_Handler(); 8020d06: f034 ffd3 bl 8055cb0 __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: 20021cb0 .word 0x20021cb0 8020d30: 40026470 .word 0x40026470 8020d34: 40012100 .word 0x40012100 8020d38: 40020800 .word 0x40020800 8020d3c: 40012200 .word 0x40012200 8020d40: 20021bc0 .word 0x20021bc0 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: 200209d4 .word 0x200209d4 8020d68: 20020d6a .word 0x20020d6a 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: f096 fa54 bl 80b7224 HAL_TIM_Base_Start(&htim5); 8020d7c: 4806 ldr r0, [pc, #24] ; (8020d98 ) 8020d7e: f09f f947 bl 80c0010 HAL_TIM_GenerateEvent(&htim5, TIM_EVENTSOURCE_UPDATE); 8020d82: 2101 movs r1, #1 8020d84: 4804 ldr r0, [pc, #16] ; (8020d98 ) 8020d86: f09f fb72 bl 80c046e } 8020d8a: bf00 nop 8020d8c: bd80 pop {r7, pc} 8020d8e: bf00 nop 8020d90: 64090000 .word 0x64090000 8020d94: 20021c20 .word 0x20021c20 8020d98: 200688e4 .word 0x200688e4 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: f09f f9a5 bl 80c00f0 HAL_ADC_Stop_DMA(&hadc1); 8020da6: 4803 ldr r0, [pc, #12] ; (8020db4 ) 8020da8: f096 fb36 bl 80b7418 } 8020dac: bf00 nop 8020dae: bd80 pop {r7, pc} 8020db0: 200688e4 .word 0x200688e4 8020db4: 20021c20 .word 0x20021c20 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: f096 fa2e bl 80b7224 HAL_TIM_Base_Start(&htim1); 8020dc8: 4806 ldr r0, [pc, #24] ; (8020de4 ) 8020dca: f09f f921 bl 80c0010 HAL_TIM_GenerateEvent(&htim1, TIM_EVENTSOURCE_UPDATE); 8020dce: 2101 movs r1, #1 8020dd0: 4804 ldr r0, [pc, #16] ; (8020de4 ) 8020dd2: f09f fb4c bl 80c046e } 8020dd6: bf00 nop 8020dd8: bd80 pop {r7, pc} 8020dda: bf00 nop 8020ddc: 64090000 .word 0x64090000 8020de0: 20021c68 .word 0x20021c68 8020de4: 20068980 .word 0x20068980 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: f09f f97f bl 80c00f0 HAL_ADC_Stop_DMA(&hadc3); 8020df2: 4803 ldr r0, [pc, #12] ; (8020e00 ) 8020df4: f096 fb10 bl 80b7418 } 8020df8: bf00 nop 8020dfa: bd80 pop {r7, pc} 8020dfc: 20068980 .word 0x20068980 8020e00: 20021c68 .word 0x20021c68 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: f096 f876 bl 80b6f08 HAL_ADC_PollForConversion(&hadc2, 100); 8020e1c: 2164 movs r1, #100 ; 0x64 8020e1e: 48a1 ldr r0, [pc, #644] ; (80210a4 ) 8020e20: f096 f974 bl 80b710c Bat = HAL_ADC_GetValue(&hadc2); 8020e24: 489f ldr r0, [pc, #636] ; (80210a4 ) 8020e26: f096 fb51 bl 80b74cc 8020e2a: 60b8 str r0, [r7, #8] HAL_ADC_Stop(&hadc2); 8020e2c: 489d ldr r0, [pc, #628] ; (80210a4 ) 8020e2e: f096 f939 bl 80b70a4 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: 20020d6a .word 0x20020d6a 80210a4: 20021b78 .word 0x20021b78 80210a8: 20020d5c .word 0x20020d5c 80210ac: 20020d60 .word 0x20020d60 80210b0: 200209d4 .word 0x200209d4 80210b4: 3a993e15 .word 0x3a993e15 80210b8: 20020f88 .word 0x20020f88 80210bc: 20020024 .word 0x20020024 80210c0: 20020d6c .word 0x20020d6c 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: f048 f82c bl 8069220 HAL_Delay(100); 80211c8: 2064 movs r0, #100 ; 0x64 80211ca: f095 fe37 bl 80b6e3c SCB_CleanInvalidateDCache(); 80211ce: f7ff fb95 bl 80208fc Display(); 80211d2: f048 f825 bl 8069220 HAL_Delay(100); 80211d6: 2064 movs r0, #100 ; 0x64 80211d8: f095 fe30 bl 80b6e3c SCB_CleanInvalidateDCache(); 80211dc: f7ff fb8e bl 80208fc Display(); 80211e0: f048 f81e bl 8069220 HAL_Delay(100); 80211e4: 2064 movs r0, #100 ; 0x64 80211e6: f095 fe29 bl 80b6e3c SCB_CleanInvalidateDCache(); 80211ea: f7ff fb87 bl 80208fc Display(); 80211ee: f048 f817 bl 8069220 HAL_Delay(200); 80211f2: 20c8 movs r0, #200 ; 0xc8 80211f4: f095 fe22 bl 80b6e3c Display(); 80211f8: f048 f812 bl 8069220 HAL_Delay(3000); 80211fc: f640 30b8 movw r0, #3000 ; 0xbb8 8021200: f095 fe1c bl 80b6e3c 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: f098 fa1c bl 80b976c 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: 20021b6a .word 0x20021b6a 80213e8: 20020fb9 .word 0x20020fb9 80213ec: 20020fbd .word 0x20020fbd 80213f0: 20020020 .word 0x20020020 80213f4: 20020d60 .word 0x20020d60 80213f8: 20020d5c .word 0x20020d5c 80213fc: 3a993e15 .word 0x3a993e15 8021400: 20020f88 .word 0x20020f88 8021404: 20020024 .word 0x20020024 8021408: 20020d6c .word 0x20020d6c 802140c: 3ba3d70a .word 0x3ba3d70a 8021410: 42c80000 .word 0x42c80000 8021414: 3a83126f .word 0x3a83126f 8021418: 20020004 .word 0x20020004 802141c: 40020800 .word 0x40020800 8021420: 20020d64 .word 0x20020d64 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: f047 fe08 bl 8069220 HAL_Delay(100); 8021610: 2064 movs r0, #100 ; 0x64 8021612: f095 fc13 bl 80b6e3c SCB_CleanInvalidateDCache(); 8021616: f7ff f971 bl 80208fc Display(); 802161a: f047 fe01 bl 8069220 HAL_Delay(100); 802161e: 2064 movs r0, #100 ; 0x64 8021620: f095 fc0c bl 80b6e3c SCB_CleanInvalidateDCache(); 8021624: f7ff f96a bl 80208fc Display(); 8021628: f047 fdfa bl 8069220 HAL_Delay(100); 802162c: 2064 movs r0, #100 ; 0x64 802162e: f095 fc05 bl 80b6e3c SCB_CleanInvalidateDCache(); 8021632: f7ff f963 bl 80208fc Display(); 8021636: f047 fdf3 bl 8069220 HAL_Delay(200); 802163a: 20c8 movs r0, #200 ; 0xc8 802163c: f095 fbfe bl 80b6e3c Display(); 8021640: f047 fdee bl 8069220 HAL_Delay(3000); 8021644: f640 30b8 movw r0, #3000 ; 0xbb8 8021648: f095 fbf8 bl 80b6e3c 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: 20020f88 .word 0x20020f88 802167c: 20021b6a .word 0x20021b6a 8021680: 20020fb9 .word 0x20020fb9 8021684: 20020fbd .word 0x20020fbd 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: 20020d68 .word 0x20020d68 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: f097 ff6c bl 80b979c #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: f097 ff67 bl 80b979c 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: f097 ff61 bl 80b979c 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: f097 ff5a bl 80b979c #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: f097 ff55 bl 80b979c 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: f097 ff4f bl 80b979c 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: f097 ff48 bl 80b979c #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: f097 ff43 bl 80b979c 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: f097 ff3d bl 80b979c 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: f097 ff36 bl 80b979c #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: f097 ff31 bl 80b979c 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: f097 ff2b bl 80b979c 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: f097 ff17 bl 80b979c 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: f097 ff0c bl 80b979c 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: f095 fa2b bl 80b6e24 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: f034 fa63 bl 8055ea4 MAX11270_SetGain(ku); 80219de: 78fb ldrb r3, [r7, #3] 80219e0: b2db uxtb r3, r3 80219e2: 4618 mov r0, r3 80219e4: f034 fa78 bl 8055ed8 MAX11270_StartMeas(); 80219e8: f034 f9f2 bl 8055dd0 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: f095 fa12 bl 80b6e24 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: f034 fa2c bl 8055ea4 MAX11270_SetGain(ku); 8021a4c: 78fb ldrb r3, [r7, #3] 8021a4e: b2db uxtb r3, r3 8021a50: 4618 mov r0, r3 8021a52: f034 fa41 bl 8055ed8 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: 20023ea8 .word 0x20023ea8 8021a70: 40021800 .word 0x40021800 8021a74: 40020400 .word 0x40020400 8021a78: 40021400 .word 0x40021400 8021a7c: 20021578 .word 0x20021578 8021a80: 20020dcf .word 0x20020dcf 8021a84: 20020d94 .word 0x20020d94 8021a88: 20020dec .word 0x20020dec 8021a8c: 200216d4 .word 0x200216d4 8021a90: 20020df2 .word 0x20020df2 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: f097 fe73 bl 80b979c #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: f097 fe30 bl 80b979c #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: f097 fe2a bl 80b979c #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: f097 fe25 bl 80b979c 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: f097 fe1f bl 80b979c MAX11270_StopMeas(); 8021b5e: f034 f9a1 bl 8055ea4 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: f034 f9b3 bl 8055ed8 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: f097 fe0d bl 80b979c #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: f097 fe07 bl 80b979c #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: f097 fe02 bl 80b979c 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: f097 fdfc bl 80b979c MAX11270_StopMeas(); 8021ba4: f034 f97e bl 8055ea4 MAX11270_SetGain(Ku1); 8021ba8: 2000 movs r0, #0 8021baa: f034 f995 bl 8055ed8 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: f097 fdef bl 80b979c #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: f097 fde9 bl 80b979c #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: f097 fde4 bl 80b979c 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: f097 fdde bl 80b979c MAX11270_StopMeas(); 8021be0: f034 f960 bl 8055ea4 MAX11270_SetGain(Ku1); 8021be4: 2000 movs r0, #0 8021be6: f034 f977 bl 8055ed8 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: f097 fdbc bl 80b979c 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: f097 fdb0 bl 80b979c 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: f097 fda9 bl 80b979c } 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: f097 fd95 bl 80b979c #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: 20020f88 .word 0x20020f88 8021d38: 40021800 .word 0x40021800 8021d3c: 20023ea8 .word 0x20023ea8 8021d40: 41200000 .word 0x41200000 8021d44: 461c4000 .word 0x461c4000 8021d48: 080d4fd8 .word 0x080d4fd8 8021d4c: 20021d64 .word 0x20021d64 8021d50: 080d4fc4 .word 0x080d4fc4 8021d54: 20021d24 .word 0x20021d24 8021d58: 20020fbd .word 0x20020fbd 8021d5c: 40021400 .word 0x40021400 8021d60: 40020400 .word 0x40020400 8021d64: 080d5000 .word 0x080d5000 8021d68: 447a0000 .word 0x447a0000 8021d6c: 080d4fac .word 0x080d4fac 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: f097 fc73 bl 80b979c #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: f045 fafd bl 80674ec 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: f031 fddb bl 8053bc0 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: f097 fbbb bl 80b979c #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: 080d4fac .word 0x080d4fac 8022080: 20020d84 .word 0x20020d84 8022084: 20023ea8 .word 0x20023ea8 8022088: 3d4ccccd .word 0x3d4ccccd 802208c: 080d4f80 .word 0x080d4f80 8022090: 447a0000 .word 0x447a0000 8022094: 40021800 .word 0x40021800 8022098: 080d4fd8 .word 0x080d4fd8 802209c: 20021d64 .word 0x20021d64 80220a0: 080d4fc4 .word 0x080d4fc4 80220a4: 20021d24 .word 0x20021d24 80220a8: 080d5028 .word 0x080d5028 80220ac: 200215b0 .word 0x200215b0 80220b0: 20020dd1 .word 0x20020dd1 { 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: f031 fccc bl 8053bc0 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: f097 faad bl 80b979c #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: f031 fc2a bl 8053bc0 802236c: e2d8 b.n 8022920 802236e: bf00 nop 8022370: 20023ea8 .word 0x20023ea8 8022374: 3d4ccccd .word 0x3d4ccccd 8022378: 080d4f80 .word 0x080d4f80 802237c: 447a0000 .word 0x447a0000 8022380: 080d4fd8 .word 0x080d4fd8 8022384: 20021d64 .word 0x20021d64 8022388: 080d4fc4 .word 0x080d4fc4 802238c: 20021d24 .word 0x20021d24 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: f097 f9e7 bl 80b979c #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: f031 fb79 bl 8053bc0 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: f097 f95a bl 80b979c #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: 20023ea8 .word 0x20023ea8 8022550: 40021800 .word 0x40021800 8022554: 3d4ccccd .word 0x3d4ccccd 8022558: 080d4f80 .word 0x080d4f80 802255c: 447a0000 .word 0x447a0000 8022560: 080d4fd8 .word 0x080d4fd8 8022564: 20021d64 .word 0x20021d64 8022568: 080d4fc4 .word 0x080d4fc4 802256c: 20021d24 .word 0x20021d24 8022570: 20020dd1 .word 0x20020dd1 { 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: 20023ea8 .word 0x20023ea8 8022828: 3d4ccccd .word 0x3d4ccccd 802282c: 080d4f80 .word 0x080d4f80 8022830: 447a0000 .word 0x447a0000 8022834: 3a83126f .word 0x3a83126f 8022838: 34400000 .word 0x34400000 802283c: 20020ddc .word 0x20020ddc 8022840: 200209d8 .word 0x200209d8 8022844: 20020de0 .word 0x20020de0 8022848: 080d4fd8 .word 0x080d4fd8 802284c: 20021d64 .word 0x20021d64 8022850: 080d4fc4 .word 0x080d4fc4 8022854: 20021d24 .word 0x20021d24 } 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: f096 ff97 bl 80b979c #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: f031 f98d bl 8053bc0 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: 20023ea8 .word 0x20023ea8 8022b00: 40021800 .word 0x40021800 8022b04: 20020029 .word 0x20020029 8022b08: 20021d64 .word 0x20021d64 8022b0c: 0003d090 .word 0x0003d090 8022b10: 080d4fc4 .word 0x080d4fc4 8022b14: 20021d24 .word 0x20021d24 8022b18: 20020db8 .word 0x20020db8 8022b1c: c1a00000 .word 0xc1a00000 8022b20: 42200000 .word 0x42200000 8022b24: 42200000 .word 0x42200000 8022b28: 20021d68 .word 0x20021d68 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: 20021d24 .word 0x20021d24 8022d34: 20021d68 .word 0x20021d68 8022d38: 20021d64 .word 0x20021d64 8022d3c: 20020d78 .word 0x20020d78 8022d40: 20020d74 .word 0x20020d74 8022d44: 20020d7c .word 0x20020d7c 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: f094 f869 bl 80b6e24 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: f033 f8a1 bl 8055ea4 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: f0ae fb19 bl 80d13a0 SCB_CleanInvalidateDCache(); 8022d6e: f7fe fd49 bl 8021804 MAX11270_StartMeas(); 8022d72: f033 f82d bl 8055dd0 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: f094 f84d bl 80b6e24 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: f094 f844 bl 80b6e24 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: 20020d94 .word 0x20020d94 8022dcc: 64060000 .word 0x64060000 8022dd0: 20020dec .word 0x20020dec 8022dd4: 200216d4 .word 0x200216d4 8022dd8: 20020df2 .word 0x20020df2 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: 20023ea8 .word 0x20023ea8 8022e98: 451c4000 .word 0x451c4000 8022e9c: 080d4f80 .word 0x080d4f80 8022ea0: 457a0000 .word 0x457a0000 8022ea4: 080d4f70 .word 0x080d4f70 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: 20023ea8 .word 0x20023ea8 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: 20023eb0 .word 0x20023eb0 8023034: 20020080 .word 0x20020080 8023038: 20023ea8 .word 0x20023ea8 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: 20021579 .word 0x20021579 80231fc: 20020dd4 .word 0x20020dd4 8023200: 20020dc8 .word 0x20020dc8 8023204: 20020dce .word 0x20020dce 8023208: 20020dcd .word 0x20020dcd 802320c: 20020d9e .word 0x20020d9e 8023210: 2002165c .word 0x2002165c 8023214: 20021660 .word 0x20021660 8023218: 20020090 .word 0x20020090 802321c: 2002164c .word 0x2002164c 8023220: 20020d70 .word 0x20020d70 8023224: 20020d71 .word 0x20020d71 8023228: 20023ea8 .word 0x20023ea8 802322c: 20020d9a .word 0x20020d9a 8023230: 20020dcc .word 0x20020dcc 8023234: 20020dd2 .word 0x20020dd2 8023238: 20020d8c .word 0x20020d8c 802323c: 20021d24 .word 0x20021d24 8023240: 20021d64 .word 0x20021d64 8023244: 3e03126f .word 0x3e03126f 8023248: 42400000 .word 0x42400000 802324c: 20020d90 .word 0x20020d90 8023250: 20021560 .word 0x20021560 8023254: 2002166c .word 0x2002166c 8023258: 200685a0 .word 0x200685a0 802325c: c2c80000 .word 0xc2c80000 8023260: 20057f00 .word 0x20057f00 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: f0ae f84b bl 80d13a0 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: f0ae f846 bl 80d13a0 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: f0aa fe8f bl 80ce05c 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: f0aa fe89 bl 80ce05c 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: f0aa fe83 bl 80ce05c 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: f0aa fe7c bl 80ce05c 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: f0aa fe75 bl 80ce05c 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: f0aa fe6e bl 80ce05c 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: f0aa fe67 bl 80ce05c 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: f0aa fe61 bl 80ce05c 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: f0aa fe5b bl 80ce05c 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: f0aa fe55 bl 80ce05c 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: f0aa fe4f bl 80ce05c 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: f0aa fde6 bl 80ce05c 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: f0aa fde0 bl 80ce05c 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: f0aa fdda bl 80ce05c 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: f0aa fdd3 bl 80ce05c 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: 20021694 .word 0x20021694 8023530: 20020d9a .word 0x20020d9a 8023534: 20020dcc .word 0x20020dcc 8023538: 20020dd0 .word 0x20020dd0 802353c: 20021560 .word 0x20021560 8023540: 20020d98 .word 0x20020d98 8023544: 20020d9c .word 0x20020d9c 8023548: 20020dac .word 0x20020dac 802354c: 20020da0 .word 0x20020da0 8023550: 20020da4 .word 0x20020da4 8023554: 20021570 .word 0x20021570 8023558: 20020da8 .word 0x20020da8 802355c: 200216cc .word 0x200216cc 8023560: 20020d9f .word 0x20020d9f 8023564: 20020fba .word 0x20020fba 8023568: 2002156c .word 0x2002156c 802356c: 20021654 .word 0x20021654 8023570: 20021658 .word 0x20021658 8023574: 20021569 .word 0x20021569 8023578: 2002156a .word 0x2002156a 802357c: 2002156b .word 0x2002156b 8023580: 64080000 .word 0x64080000 8023584: 20026ed4 .word 0x20026ed4 8023588: 20020094 .word 0x20020094 802358c: 20021670 .word 0x20021670 8023590: 20021674 .word 0x20021674 8023594: 20020d95 .word 0x20020d95 8023598: 20020d96 .word 0x20020d96 802359c: 20057ea8 .word 0x20057ea8 80235a0: 00000000 .word 0x00000000 80235a4: 20058010 .word 0x20058010 80235a8: 20026590 .word 0x20026590 80235ac: 64090000 .word 0x64090000 80235b0: 64094000 .word 0x64094000 80235b4: 64098000 .word 0x64098000 80235b8: 20021588 .word 0x20021588 80235bc: 20021594 .word 0x20021594 80235c0: 200215a0 .word 0x200215a0 80235c4: 20026918 .word 0x20026918 80235c8: 20023ea8 .word 0x20023ea8 80235cc: 588bfb80 .word 0x588bfb80 80235d0: 20021580 .word 0x20021580 80235d4: 20021584 .word 0x20021584 80235d8: 497423f0 .word 0x497423f0 80235dc: 200215ac .word 0x200215ac 80235e0: 2002008c .word 0x2002008c 80235e4: 200216d6 .word 0x200216d6 80235e8: 20020d80 .word 0x20020d80 80235ec: 20020dd8 .word 0x20020dd8 80235f0: 20020dbc .word 0x20020dbc 80235f4: c2c80000 .word 0xc2c80000 80235f8: 20020dc0 .word 0x20020dc0 80235fc: 20020dc4 .word 0x20020dc4 8023600: 20020db4 .word 0x20020db4 8023604: 20020db0 .word 0x20020db0 8023608: 20021d1c .word 0x20021d1c 802360c: 20021d58 .word 0x20021d58 8023610: 20021d10 .word 0x20021d10 8023614: 20021d14 .word 0x20021d14 8023618: 20021d20 .word 0x20021d20 802361c: 20021d40 .word 0x20021d40 8023620: 20021d5c .word 0x20021d5c 8023624: 20021d60 .word 0x20021d60 8023628: 20021d2c .word 0x20021d2c 802362c: 20021d28 .word 0x20021d28 8023630: 20021d18 .word 0x20021d18 8023634: 20021d54 .word 0x20021d54 8023638: 20021d30 .word 0x20021d30 802363c: 20021d44 .word 0x20021d44 8023640: 64050000 .word 0x64050000 8023644: 20021668 .word 0x20021668 8023648: 20021664 .word 0x20021664 802364c: 20021b6b .word 0x20021b6b 8023650: 080d50c8 .word 0x080d50c8 8023654: 200209c4 .word 0x200209c4 8023658: 200200ca .word 0x200200ca 802365c: 2002002c .word 0x2002002c 8023660: 20020d88 .word 0x20020d88 8023664: 20020dae .word 0x20020dae 8023668: 20021056 .word 0x20021056 802366c: 20021058 .word 0x20021058 8023670: 20021059 .word 0x20021059 8023674: 20021054 .word 0x20021054 8023678: 20020daf .word 0x20020daf 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: 20021054 .word 0x20021054 8023738: 20020dce .word 0x20020dce 802373c: 20020dcd .word 0x20020dcd 8023740: 20020dcc .word 0x20020dcc 8023744: 20021579 .word 0x20021579 8023748: 20020dd4 .word 0x20020dd4 802374c: 20020d9e .word 0x20020d9e 8023750: 2002165c .word 0x2002165c 8023754: 20021660 .word 0x20021660 8023758: 20020090 .word 0x20020090 802375c: 2002164c .word 0x2002164c 8023760: 20020d70 .word 0x20020d70 8023764: 20020d71 .word 0x20020d71 8023768: 20021694 .word 0x20021694 802376c: 20020d9a .word 0x20020d9a 8023770: 20020d98 .word 0x20020d98 8023774: 20020da8 .word 0x20020da8 8023778: 20021570 .word 0x20021570 802377c: 20020d9c .word 0x20020d9c 8023780: 20020da0 .word 0x20020da0 8023784: 20020da2 .word 0x20020da2 8023788: 200216cc .word 0x200216cc 802378c: 20020dac .word 0x20020dac 8023790: 20020d9f .word 0x20020d9f 8023794: 2002166c .word 0x2002166c 8023798: 20020dd0 .word 0x20020dd0 0802379c : void StopMeas(void) { 802379c: b580 push {r7, lr} 802379e: af00 add r7, sp, #0 MAX11270_StopMeas(); 80237a0: f032 fb80 bl 8055ea4 MAX11270_StopMeas(); 80237a4: f032 fb7e bl 8055ea4 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: f095 ffef bl 80b979c #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: f095 ffea bl 80b979c 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: f095 ffe4 bl 80b979c 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: f0a7 fb44 bl 80caea8 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: 20023ea8 .word 0x20023ea8 8023858: 40021800 .word 0x40021800 802385c: 40020400 .word 0x40020400 8023860: 40021400 .word 0x40021400 8023864: 20020dcf .word 0x20020dcf 8023868: 20020d9f .word 0x20020d9f 802386c: 2002156c .word 0x2002156c 8023870: 20020dcc .word 0x20020dcc 8023874: 20020dd8 .word 0x20020dd8 8023878: 20020dd0 .word 0x20020dd0 802387c: 20020070 .word 0x20020070 8023880: 20022e68 .word 0x20022e68 8023884: 20020dd3 .word 0x20020dd3 8023888: 20020fb0 .word 0x20020fb0 802388c: 64100000 .word 0x64100000 8023890: 20022670 .word 0x20022670 8023894: 20021054 .word 0x20021054 8023898: 200685a0 .word 0x200685a0 802389c: c2c80000 .word 0xc2c80000 80238a0: 20057f00 .word 0x20057f00 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: f093 fac2 bl 80b6e3c 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: f030 fd2c bl 805432c 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: f095 ff5e bl 80b979c //************************************************************************************ //****** 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: f095 fc80 bl 80b9200 //******************************************************** 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: f095 ff2f bl 80b976c 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: f095 ff3e bl 80b979c HAL_Delay(300); 8023920: f44f 7096 mov.w r0, #300 ; 0x12c 8023924: f093 fa8a bl 80b6e3c 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: 20020fb9 .word 0x20020fb9 8023938: 20021b69 .word 0x20021b69 802393c: 20020dcf .word 0x20020dcf 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: f0ab f979 bl 80cec60 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: f0ab f96f bl 80cec60 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: 080d50d0 .word 0x080d50d0 80239e4: 080d50d8 .word 0x080d50d8 80239e8: 080d50e0 .word 0x080d50e0 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: 080d50e8 .word 0x080d50e8 8023a30: 080d50f0 .word 0x080d50f0 8023a34: 080d50f8 .word 0x080d50f8 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: 080d5100 .word 0x080d5100 8023a98: 080d5108 .word 0x080d5108 8023a9c: 080d5110 .word 0x080d5110 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: f094 f905 bl 80b7cd2 HAL_NVIC_EnableIRQ(DMA2_Stream0_IRQn); 8023ac8: 2038 movs r0, #56 ; 0x38 8023aca: f094 f91e bl 80b7d0a 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: f094 f8fd bl 80b7cd2 HAL_NVIC_EnableIRQ(DMA2_Stream3_IRQn); 8023ad8: 203b movs r0, #59 ; 0x3b 8023ada: f094 f916 bl 80b7d0a 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: f094 f8f5 bl 80b7cd2 HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); 8023ae8: 2045 movs r0, #69 ; 0x45 8023aea: f094 f90e bl 80b7d0a 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: f094 f8ed bl 80b7cd2 HAL_NVIC_EnableIRQ(DMA2_Stream4_IRQn); 8023af8: 203c movs r0, #60 ; 0x3c 8023afa: f094 f906 bl 80b7d0a 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: f094 f8e5 bl 80b7cd2 HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); 8023b08: 2039 movs r0, #57 ; 0x39 8023b0a: f094 f8fe bl 80b7d0a } 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: f094 fdf9 bl 80b8754 8023b62: 4603 mov r3, r0 8023b64: 2b00 cmp r3, #0 8023b66: d001 beq.n 8023b6c { Error_Handler(); 8023b68: f032 f8a2 bl 8055cb0 } if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) 8023b6c: 2101 movs r1, #1 8023b6e: 4805 ldr r0, [pc, #20] ; (8023b84 ) 8023b70: f094 ff5e bl 80b8a30 8023b74: 4603 mov r3, r0 8023b76: 2b00 cmp r3, #0 8023b78: d001 beq.n 8023b7e { Error_Handler(); 8023b7a: f032 f899 bl 8055cb0 } } 8023b7e: bf00 nop 8023b80: bd80 pop {r7, pc} 8023b82: bf00 nop 8023b84: 20021d6c .word 0x20021d6c 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: f0a0 f81a bl 80c3c1a 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: f093 f91e bl 80b6e3c 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: f0a6 fab8 bl 80ca198 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: f098 ffb2 bl 80bcba0 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: f098 ffbe bl 80bcbd4 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: f098 ff98 bl 80bcba0 HAL_NVIC_SystemReset(); 8023c70: f094 f867 bl 80b7d42 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: f098 ff90 bl 80bcba0 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: f0ad fb5d bl 80d13a0 memset(WavFileName, 0, sizeof(WavFileName)); 8023ce6: 2221 movs r2, #33 ; 0x21 8023ce8: 2100 movs r1, #0 8023cea: 4817 ldr r0, [pc, #92] ; (8023d48 ) 8023cec: f0ad fb58 bl 80d13a0 memset(DiagFileName, 0, sizeof(DiagFileName)); 8023cf0: 2221 movs r2, #33 ; 0x21 8023cf2: 2100 movs r1, #0 8023cf4: 4815 ldr r0, [pc, #84] ; (8023d4c ) 8023cf6: f0ad fb53 bl 80d13a0 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: f0ad fb4a bl 80d13a0 memset(WavFileName, 0, sizeof(WavFileName)); 8023d0c: 2221 movs r2, #33 ; 0x21 8023d0e: 2100 movs r1, #0 8023d10: 480d ldr r0, [pc, #52] ; (8023d48 ) 8023d12: f0ad fb45 bl 80d13a0 memset(DiagFileName, 0, sizeof(DiagFileName)); 8023d16: 2221 movs r2, #33 ; 0x21 8023d18: 2100 movs r1, #0 8023d1a: 480c ldr r0, [pc, #48] ; (8023d4c ) 8023d1c: f0ad fb40 bl 80d13a0 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: 20021695 .word 0x20021695 8023d30: 20021694 .word 0x20021694 8023d34: 20068b0c .word 0x20068b0c 8023d38: 20022108 .word 0x20022108 8023d3c: 200685d8 .word 0x200685d8 8023d40: 20022348 .word 0x20022348 8023d44: 20020e78 .word 0x20020e78 8023d48: 20020e54 .word 0x20020e54 8023d4c: 20020e9c .word 0x20020e9c 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: f093 f84c bl 80b6e24 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: f0ad fbf9 bl 80d15da 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: f0ad facf bl 80d13a0 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: f0ad fab7 bl 80d13a0 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: f092 ffed bl 80b6e24 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: f092 ffe5 bl 80b6e24 8023e5a: 4603 mov r3, r0 8023e5c: 637b str r3, [r7, #52] ; 0x34 RedrawScreen(); 8023e5e: f044 ff1b bl 8068c98 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: f092 ffbd bl 80b6e24 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: f0ad fb6a bl 80d15da 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: f0ad fa40 bl 80d13a0 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: f092 ff72 bl 80b6e24 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: f092 ff6a bl 80b6e24 8023f50: 4603 mov r3, r0 8023f52: 637b str r3, [r7, #52] ; 0x34 RedrawScreen(); 8023f54: f044 fea0 bl 8068c98 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: f092 ff41 bl 80b6e24 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: 20020dfc .word 0x20020dfc 8023fdc: 20021694 .word 0x20021694 8023fe0: 20020e2c .word 0x20020e2c 8023fe4: 6404b000 .word 0x6404b000 8023fe8: 20020e78 .word 0x20020e78 8023fec: 080d27c8 .word 0x080d27c8 8023ff0: 20020df0 .word 0x20020df0 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: f0ad fae0 bl 80d15da 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: f0ad f9b6 bl 80d13a0 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: f092 fee8 bl 80b6e24 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: f092 fee0 bl 80b6e24 8024064: 4603 mov r3, r0 8024066: 637b str r3, [r7, #52] ; 0x34 RedrawScreen(); 8024068: f044 fe16 bl 8068c98 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: f0ad f970 bl 80d13a0 memset(WavFileName, 0, sizeof(WavFileName)); 80240c0: 2221 movs r2, #33 ; 0x21 80240c2: 2100 movs r1, #0 80240c4: 482a ldr r0, [pc, #168] ; (8024170 ) 80240c6: f0ad f96b bl 80d13a0 memset(DiagFileName, 0, sizeof(DiagFileName)); 80240ca: 2221 movs r2, #33 ; 0x21 80240cc: 2100 movs r1, #0 80240ce: 4829 ldr r0, [pc, #164] ; (8024174 ) 80240d0: f0ad f966 bl 80d13a0 RedrawScreen(); 80240d4: f044 fde0 bl 8068c98 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: 20020e2c .word 0x20020e2c 802415c: 20020df0 .word 0x20020df0 8024160: 20020dfc .word 0x20020dfc 8024164: 20020dfd .word 0x20020dfd 8024168: 20020dec .word 0x20020dec 802416c: 20020e78 .word 0x20020e78 8024170: 20020e54 .word 0x20020e54 8024174: 20020e9c .word 0x20020e9c 8024178: 20021694 .word 0x20021694 802417c: 20020df1 .word 0x20020df1 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: f0ad f8f0 bl 80d13a0 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: f0ad f8e9 bl 80d13a0 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: f0a7 f909 bl 80cb3fa 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: f0a7 fbba bl 80cb970 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: f0a7 f988 bl 80cb518 /*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: f0ad f8ab bl 80d138a break; 8024234: e013 b.n 802425e 8024236: bf00 nop 8024238: 20021694 .word 0x20021694 802423c: 20020dd3 .word 0x20020dd3 8024240: 200229fc .word 0x200229fc 8024244: 080d27e0 .word 0x080d27e0 8024248: 20022960 .word 0x20022960 802424c: 20022c28 .word 0x20022c28 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: f0ad f99b bl 80d15a0 res = f_opendir(&dir, PointPath); 802426a: 49bf ldr r1, [pc, #764] ; (8024568 ) 802426c: 48bf ldr r0, [pc, #764] ; (802456c ) 802426e: f0a7 f8c4 bl 80cb3fa 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: f0a7 fb75 bl 80cb970 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: f0a7 f943 bl 80cb518 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: f098 fa97 bl 80bc7d4 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: f098 fb98 bl 80bc9e0 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: f0ad f85b bl 80d13a0 //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: 200229fc .word 0x200229fc 802456c: 20022960 .word 0x20022960 8024570: 20022e28 .word 0x20022e28 8024574: 200685d8 .word 0x200685d8 8024578: 20022918 .word 0x20022918 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: f0ad f80a bl 80d15da 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: f0ac ffdb bl 80d15a0 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: f0a5 fe10 bl 80ca220 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: f0a5 fe00 bl 80ca220 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: f0a6 fb36 bl 80caca0 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: f0a6 fc2d bl 80caea8 f_unlink(PointPath); 802464e: 4898 ldr r0, [pc, #608] ; (80248b0 ) 8024650: f0a7 f8b9 bl 80cb7c6 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: f0a5 fcf1 bl 80ca220 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: f0a5 fce1 bl 80ca220 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: f0a6 fb11 bl 80caea8 f_unlink(PointPath); 8024886: 480a ldr r0, [pc, #40] ; (80248b0 ) 8024888: f0a6 ff9d bl 80cb7c6 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: 20022370 .word 0x20022370 80248b0: 200229fc .word 0x200229fc 80248b4: 080d27dc .word 0x080d27dc 80248b8: 20022e68 .word 0x20022e68 80248bc: cccccccd .word 0xcccccccd 80248c0: 51eb851f .word 0x51eb851f } } else { f_close(&F); 80248c4: 4802 ldr r0, [pc, #8] ; (80248d0 ) 80248c6: f0a6 faef bl 80caea8 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 80248ca: 2301 movs r3, #1 80248cc: e3ce b.n 802506c 80248ce: bf00 nop 80248d0: 20022e68 .word 0x20022e68 } } } 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: f0ac fd5f bl 80d13a0 strcpy(fn, fname); 80248e2: f107 0330 add.w r3, r7, #48 ; 0x30 80248e6: 6879 ldr r1, [r7, #4] 80248e8: 4618 mov r0, r3 80248ea: f0ac fe76 bl 80d15da 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: f0ac fd1c bl 80d13a0 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: f0a6 fd3e bl 80cb3fa 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: f0a6 ffef bl 80cb970 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: f0ac fded bl 80d15a0 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: f0a6 fd12 bl 80cb3fa 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: f0a6 ffc3 bl 80cb970 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: f097 feed bl 80bc7d4 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: f097 ffee bl 80bc9e0 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: f0ac fcb1 bl 80d13a0 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: 200229fc .word 0x200229fc 8024c70: 080d27d0 .word 0x080d27d0 8024c74: 20022960 .word 0x20022960 8024c78: 080d27dc .word 0x080d27dc 8024c7c: 20022e28 .word 0x20022e28 8024c80: 200685d8 .word 0x200685d8 8024c84: 20022918 .word 0x20022918 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: f0ac fc38 bl 80d15da 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: f0ac fc09 bl 80d15a0 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: f0a5 fa3e bl 80ca220 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: f0a5 fa2e bl 80ca220 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: f0a5 ff64 bl 80caca0 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: f0a6 f85b bl 80caea8 f_unlink(PointPath); 8024df2: 4848 ldr r0, [pc, #288] ; (8024f14 ) 8024df4: f0a6 fce7 bl 80cb7c6 //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: 20022370 .word 0x20022370 8024f14: 200229fc .word 0x200229fc 8024f18: 080d27dc .word 0x080d27dc 8024f1c: 20022e68 .word 0x20022e68 } 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: f0a5 f918 bl 80ca220 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: f0a5 f908 bl 80ca220 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: f0a5 ff38 bl 80caea8 f_unlink(PointPath); 8025038: 480e ldr r0, [pc, #56] ; (8025074 ) 802503a: f0a6 fbc4 bl 80cb7c6 //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: f0a5 ff22 bl 80caea8 //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: 200229fc .word 0x200229fc 8025078: 51eb851f .word 0x51eb851f 802507c: cccccccd .word 0xcccccccd 8025080: 20022e68 .word 0x20022e68 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: f0ac f978 bl 80d13a0 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: f0ac fa6e bl 80d15a0 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: f0a5 f8a9 bl 80ca220 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: f0a5 f89c bl 80ca220 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: f0a5 fdd4 bl 80caca0 ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// 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: f0ac f94e bl 80d13a0 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: f0a5 fc1d bl 80ca960 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: f0ac f92f bl 80d13a0 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: f0a5 fc04 bl 80ca960 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: f0a5 fe9c bl 80caea8 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: f0a5 fe90 bl 80caea8 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: f0a5 fe8b bl 80caea8 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: 20021694 .word 0x20021694 80251ac: 200229fc .word 0x200229fc 80251b0: 20022e68 .word 0x20022e68 80251b4: 2007c000 .word 0x2007c000 80251b8: 080d27ec .word 0x080d27ec 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: f0ac f8dc bl 80d13a0 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: f0ac f9d2 bl 80d15a0 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: f0a5 f80d bl 80ca220 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: f0a5 f800 bl 80ca220 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: f0a5 fd38 bl 80caca0 ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// 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: f0ac f8b2 bl 80d13a0 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: f0a5 fb81 bl 80ca960 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: f0ac f893 bl 80d13a0 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: f0a5 fb68 bl 80ca960 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: f0a5 fe00 bl 80caea8 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: f0a5 fdf4 bl 80caea8 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: f0a5 fdef bl 80caea8 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: 20021694 .word 0x20021694 80252e4: 200229fc .word 0x200229fc 80252e8: 20022e68 .word 0x20022e68 80252ec: 2007c000 .word 0x2007c000 80252f0: 080d27ec .word 0x080d27ec 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: f0ac f95f bl 80d15da 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: f0ab ff9f bl 80d13a0 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: f0a5 ffbd bl 80cb3fa 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: f0a6 fa6e bl 80cb970 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: f0ac f86e bl 80d15a0 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: f0a4 fea9 bl 80ca220 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: f0a4 fe98 bl 80ca220 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: f0a5 fbcd bl 80caca0 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: f0ab ff47 bl 80d13a0 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: f042 f837 bl 80675a0 8025532: 4603 mov r3, r0 8025534: 4619 mov r1, r3 8025536: 4843 ldr r0, [pc, #268] ; (8025644 ) 8025538: f0ac f832 bl 80d15a0 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: f0a5 f9fb bl 80ca960 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: f0ab ff12 bl 80d13a0 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: f042 f802 bl 80675a0 802559c: 4603 mov r3, r0 802559e: 4619 mov r1, r3 80255a0: 4828 ldr r0, [pc, #160] ; (8025644 ) 80255a2: f0ab fffd bl 80d15a0 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: f0a5 f9ae bl 80ca960 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: 20021694 .word 0x20021694 802562c: 080d27f4 .word 0x080d27f4 8025630: 200229fc .word 0x200229fc 8025634: 080d27fc .word 0x080d27fc 8025638: 20022960 .word 0x20022960 802563c: 080d27dc .word 0x080d27dc 8025640: 20022e68 .word 0x20022e68 8025644: 2007c000 .word 0x2007c000 8025648: 080d2810 .word 0x080d2810 802564c: 20023ea8 .word 0x20023ea8 8025650: 080d2818 .word 0x080d2818 8025654: 080d281c .word 0x080d281c { 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: f0ab fe9e bl 80d13a0 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 ff80 bl 80675a0 80256a0: 4603 mov r3, r0 80256a2: 4619 mov r1, r3 80256a4: 48a8 ldr r0, [pc, #672] ; (8025948 ) 80256a6: f0ab ff98 bl 80d15da 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 ff63 bl 80675a0 80256da: 4603 mov r3, r0 80256dc: 4619 mov r1, r3 80256de: 489a ldr r0, [pc, #616] ; (8025948 ) 80256e0: f0ab ff5e bl 80d15a0 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: f0a5 f91b bl 80ca960 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: f0a5 fbb5 bl 80caea8 //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: f0ab fe17 bl 80d13a0 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: f041 ff0b bl 80675a0 802578a: 4603 mov r3, r0 802578c: 4619 mov r1, r3 802578e: 486e ldr r0, [pc, #440] ; (8025948 ) 8025790: f0ab ff23 bl 80d15da 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: f041 feee bl 80675a0 80257c4: 4603 mov r3, r0 80257c6: 4619 mov r1, r3 80257c8: 485f ldr r0, [pc, #380] ; (8025948 ) 80257ca: f0ab fee9 bl 80d15a0 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: f0a5 f8a6 bl 80ca960 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: f0a5 fb40 bl 80caea8 //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: f0ab fda5 bl 80d13a0 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: f041 fe99 bl 80675a0 802586e: 4603 mov r3, r0 8025870: 4619 mov r1, r3 8025872: 4835 ldr r0, [pc, #212] ; (8025948 ) 8025874: f0ab feb1 bl 80d15da 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: f041 fe7c bl 80675a0 80258a8: 4603 mov r3, r0 80258aa: 4619 mov r1, r3 80258ac: 4826 ldr r0, [pc, #152] ; (8025948 ) 80258ae: f0ab fe77 bl 80d15a0 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: f0a5 f834 bl 80ca960 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: f0a5 face bl 80caea8 //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: f0a5 fac0 bl 80caea8 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: f0a5 faba bl 80caea8 //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: 20023ea8 .word 0x20023ea8 8025950: 080d5154 .word 0x080d5154 8025954: 080d2824 .word 0x080d2824 8025958: 64080000 .word 0x64080000 802595c: 080d2818 .word 0x080d2818 8025960: 20022e68 .word 0x20022e68 8025964: 20021d24 .word 0x20021d24 8025968: 080d51f4 .word 0x080d51f4 802596c: 080d5230 .word 0x080d5230 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: f0ab fe21 bl 80d15da 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: f0ab fc61 bl 80d13a0 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: f0a5 fc81 bl 80cb3fa 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: f0a5 ff32 bl 80cb970 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: f0ab fd32 bl 80d15a0 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: f0a4 fb6d bl 80ca220 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: f0a4 fb5c bl 80ca220 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: f0a5 f891 bl 80caca0 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: f0ab fc0b bl 80d13a0 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: f0ab fbf7 bl 80d138a 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: f0a4 feda bl 80ca960 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: f0a8 fa49 bl 80ce05c 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: f0a8 fa60 bl 80ce098 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: f0a4 feb7 bl 80ca960 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: f0a8 fa45 bl 80ce098 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: f0a4 fea2 bl 80ca960 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: f0a8 fa30 bl 80ce098 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: f0a4 fe8d bl 80ca960 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: f0a8 fa1d bl 80ce098 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: f0a4 fe7a bl 80ca960 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: f0a5 f914 bl 80caea8 //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: f0a5 f90f bl 80caea8 //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: f0a5 f90a bl 80caea8 //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: f0a5 f905 bl 80caea8 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025c9e: 2301 movs r3, #1 8025ca0: e035 b.n 8025d0e 8025ca2: bf00 nop 8025ca4: 20021694 .word 0x20021694 8025ca8: 080d2828 .word 0x080d2828 8025cac: 200229fc .word 0x200229fc 8025cb0: 080d2830 .word 0x080d2830 8025cb4: 20022960 .word 0x20022960 8025cb8: 080d27dc .word 0x080d27dc 8025cbc: 20022e68 .word 0x20022e68 8025cc0: 2007c000 .word 0x2007c000 8025cc4: 20023ea8 .word 0x20023ea8 8025cc8: 20000000 .word 0x20000000 8025ccc: 00000000 .word 0x00000000 8025cd0: 20021d24 .word 0x20021d24 8025cd4: 64090000 .word 0x64090000 8025cd8: 64094000 .word 0x64094000 8025cdc: 64098000 .word 0x64098000 8025ce0: 20021588 .word 0x20021588 } } else { f_close(&F); 8025ce4: 480c ldr r0, [pc, #48] ; (8025d18 ) 8025ce6: f0a5 f8df bl 80caea8 //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: f0a5 f8da bl 80caea8 //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: f0a5 f8d3 bl 80caea8 //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: 20022e68 .word 0x20022e68 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: f0ab fb32 bl 80d13a0 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: f0ab fb03 bl 80d13a0 strcpy(FileName, fname); 8025d9a: 6879 ldr r1, [r7, #4] 8025d9c: 488f ldr r0, [pc, #572] ; (8025fdc ) 8025d9e: f0ab fc1c bl 80d15da 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: f0ab faf9 bl 80d13a0 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: f0ab faf3 bl 80d13a0 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: f0a4 fa16 bl 80ca220 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: f0a5 f86b bl 80caee8 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: f0a4 fc56 bl 80ca6da 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: f0a5 f81e bl 80caea8 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: f0a5 f819 bl 80caea8 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: f0ab fa8d bl 80d13a0 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: f0a5 f80e bl 80caee8 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: f0a4 fbf8 bl 80ca6da 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: f0a4 ff81 bl 80caea8 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: 20022698 .word 0x20022698 8025fc8: 20021fe4 .word 0x20021fe4 8025fcc: 20022358 .word 0x20022358 8025fd0: 200229c8 .word 0x200229c8 8025fd4: 20022ee8 .word 0x20022ee8 8025fd8: 20021694 .word 0x20021694 8025fdc: 20022c00 .word 0x20022c00 8025fe0: 200229fc .word 0x200229fc 8025fe4: 20021dc8 .word 0x20021dc8 8025fe8: 20020dff .word 0x20020dff 8025fec: 20020dfe .word 0x20020dfe 8025ff0: 20022e68 .word 0x20022e68 8025ff4: 2007c000 .word 0x2007c000 8025ff8: 080d27ec .word 0x080d27ec 8025ffc: 20020e34 .word 0x20020e34 { 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: f0a4 ff35 bl 80caea8 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: f0a4 ff11 bl 80caea8 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: f0a4 fee6 bl 80caee8 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: f0a4 fad1 bl 80ca6da 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: f0a4 fe94 bl 80caea8 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: f0a4 fe8f bl 80caea8 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: f0a4 fe8a bl 80caea8 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: f0a4 fe7f bl 80caea8 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: f0a4 fe86 bl 80caee8 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: f0a4 fa70 bl 80ca6da 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: 20022ee8 .word 0x20022ee8 802627c: 200229c8 .word 0x200229c8 8026280: 20021fe4 .word 0x20021fe4 8026284: 20022358 .word 0x20022358 8026288: 20022e68 .word 0x20022e68 802628c: 2007c000 .word 0x2007c000 8026290: 20022698 .word 0x20022698 { 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: f0a4 fdeb bl 80caea8 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: f0a4 fdbe bl 80caea8 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: f0a4 fd9a bl 80caea8 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: f0a4 fd5d bl 80caea8 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: f0a4 fd52 bl 80caea8 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: 20022ee8 .word 0x20022ee8 8026424: 200229c8 .word 0x200229c8 8026428: 20021fe4 .word 0x20021fe4 802642c: 20022358 .word 0x20022358 8026430: 20022e68 .word 0x20022e68 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: f0aa ffa6 bl 80d13a0 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: f0aa ff77 bl 80d13a0 strcpy(FileName, fname); 80264b2: 6879 ldr r1, [r7, #4] 80264b4: 488e ldr r0, [pc, #568] ; (80266f0 ) 80264b6: f0ab f890 bl 80d15da 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: f0aa ff6d bl 80d13a0 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: f0aa ff67 bl 80d13a0 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: f0a3 fe8a bl 80ca220 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: f0a4 fcdf bl 80caee8 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: f0a4 f8ca bl 80ca6da 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: f0a4 fc92 bl 80caea8 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: f0a4 fc8d bl 80caea8 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: f0aa ff01 bl 80d13a0 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: f0a4 fc82 bl 80caee8 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: f0a4 f86c bl 80ca6da 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: f0a4 fbf6 bl 80caea8 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: 20022698 .word 0x20022698 80266dc: 20021fe4 .word 0x20021fe4 80266e0: 20022358 .word 0x20022358 80266e4: 200229c8 .word 0x200229c8 80266e8: 20022ee8 .word 0x20022ee8 80266ec: 20021694 .word 0x20021694 80266f0: 20022c00 .word 0x20022c00 80266f4: 200229fc .word 0x200229fc 80266f8: 20021dc8 .word 0x20021dc8 80266fc: 20020dff .word 0x20020dff 8026700: 20020dfe .word 0x20020dfe 8026704: 20022e68 .word 0x20022e68 8026708: 2007c000 .word 0x2007c000 802670c: 080d27ec .word 0x080d27ec 8026710: 20020e34 .word 0x20020e34 { 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: f0a4 fbab bl 80caea8 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: f0a4 fb87 bl 80caea8 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: f0a4 fb5c bl 80caee8 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: f0a3 ff47 bl 80ca6da 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: f0a4 fb0a bl 80caea8 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: f0a4 fb05 bl 80caea8 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: f0a4 fb00 bl 80caea8 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: f0a4 faf5 bl 80caea8 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: f0a4 fafc bl 80caee8 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: f0a3 fee6 bl 80ca6da 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: 20022ee8 .word 0x20022ee8 8026990: 200229c8 .word 0x200229c8 8026994: 20021fe4 .word 0x20021fe4 8026998: 20022358 .word 0x20022358 802699c: 20022e68 .word 0x20022e68 80269a0: 2007c000 .word 0x2007c000 80269a4: 20022698 .word 0x20022698 { 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: f0a4 fa61 bl 80caea8 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: f0a4 fa34 bl 80caea8 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: f0a4 fa10 bl 80caea8 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: f0a4 f9d3 bl 80caea8 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: f0a4 f9c8 bl 80caea8 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: 20022ee8 .word 0x20022ee8 8026b38: 200229c8 .word 0x200229c8 8026b3c: 20021fe4 .word 0x20021fe4 8026b40: 20022358 .word 0x20022358 8026b44: 20022e68 .word 0x20022e68 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: f0aa fc1d bl 80d13a0 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: f0aa fc0d bl 80d13a0 strcpy(FileName, fname); 8026b86: 6879 ldr r1, [r7, #4] 8026b88: 4888 ldr r0, [pc, #544] ; (8026dac ) 8026b8a: f0aa fd26 bl 80d15da 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: f0aa fc03 bl 80d13a0 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: f0aa fbfd bl 80d13a0 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: f0a3 fb21 bl 80ca220 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: f0aa fbd5 bl 80d13a0 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: f0a4 f951 bl 80caea8 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: f0a4 f967 bl 80caee8 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: f0a3 fd54 bl 80ca6da 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: f0a4 f932 bl 80caee8 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: f0a3 fd1f bl 80ca6da 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: f0a4 f8dd bl 80caea8 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: f0a4 f8d8 bl 80caea8 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: f0a4 f8d3 bl 80caea8 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: f0a4 f8ce bl 80caea8 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: f0a4 f8e6 bl 80caee8 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: f0a3 fcd2 bl 80ca6da 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: 20020e30 .word 0x20020e30 8026da4: 640a0000 .word 0x640a0000 8026da8: 20021694 .word 0x20021694 8026dac: 20022c00 .word 0x20022c00 8026db0: 200229fc .word 0x200229fc 8026db4: 20021dc8 .word 0x20021dc8 8026db8: 20020dff .word 0x20020dff 8026dbc: 20020dfe .word 0x20020dfe 8026dc0: 20022e68 .word 0x20022e68 8026dc4: 2007c000 .word 0x2007c000 8026dc8: 080d27ec .word 0x080d27ec 8026dcc: 20021fe4 .word 0x20021fe4 8026dd0: 20022698 .word 0x20022698 8026dd4: 20021fd0 .word 0x20021fd0 { 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: f0a4 f81c bl 80caea8 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: f0a4 f80f bl 80caea8 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: f0a4 f80a bl 80caea8 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: f0a3 fffb bl 80caea8 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: 20021fd0 .word 0x20021fd0 8026ec8: 20020e30 .word 0x20020e30 8026ecc: 640a0000 .word 0x640a0000 8026ed0: 20022e68 .word 0x20022e68 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: f0aa fa3f bl 80d13a0 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: f0aa fa3a bl 80d13a0 memset(Comment, 0, sizeof(Comment)); 8026f2c: 2228 movs r2, #40 ; 0x28 8026f2e: 2100 movs r1, #0 8026f30: 4879 ldr r0, [pc, #484] ; (8027118 ) 8026f32: f0aa fa35 bl 80d13a0 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: f0aa fa24 bl 80d13a0 strcpy(FileName, fname); 8026f58: 6879 ldr r1, [r7, #4] 8026f5a: 4871 ldr r0, [pc, #452] ; (8027120 ) 8026f5c: f0aa fb3d bl 80d15da 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: f0aa fa1a bl 80d13a0 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: f0aa fa14 bl 80d13a0 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: f0a3 f937 bl 80ca220 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: f0aa f9e9 bl 80d13a0 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: f0a3 ff62 bl 80caea8 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: f0a3 ff77 bl 80caee8 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: f0a3 fb62 bl 80ca6da 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: f0a3 ff3e bl 80caee8 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: f0a3 fb29 bl 80ca6da 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: f0a3 fee5 bl 80caea8 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: f0a3 fee0 bl 80caea8 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: f0a3 fedb bl 80caea8 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: f0a3 fed6 bl 80caea8 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: 20020df3 .word 0x20020df3 8027108: 200226e8 .word 0x200226e8 802710c: bf800000 .word 0xbf800000 8027110: 200229b0 .word 0x200229b0 8027114: 20022638 .word 0x20022638 8027118: 20022698 .word 0x20022698 802711c: 20021694 .word 0x20021694 8027120: 20022c00 .word 0x20022c00 8027124: 200229fc .word 0x200229fc 8027128: 20021dc8 .word 0x20021dc8 802712c: 20020dff .word 0x20020dff 8027130: 20020dfe .word 0x20020dfe 8027134: 20022e68 .word 0x20022e68 8027138: 2007c000 .word 0x2007c000 802713c: 20022358 .word 0x20022358 8027140: 080d27ec .word 0x080d27ec 8027144: 20021fe4 .word 0x20021fe4 { res = f_lseek(&F, ifs); 8027148: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802714c: 4899 ldr r0, [pc, #612] ; (80273b4 ) 802714e: f0a3 fecb bl 80caee8 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: f0a3 fab5 bl 80ca6da 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: f0a3 fdbb bl 80caea8 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: f0a3 fdb6 bl 80caea8 memset(Comment, 0, sizeof(Comment)); 802733c: 2228 movs r2, #40 ; 0x28 802733e: 2100 movs r1, #0 8027340: 4825 ldr r0, [pc, #148] ; (80273d8 ) 8027342: f0aa f82d bl 80d13a0 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: f0a3 fda3 bl 80caea8 memset(Comment, 0, sizeof(Comment)); 8027362: 2228 movs r2, #40 ; 0x28 8027364: 2100 movs r1, #0 8027366: 481c ldr r0, [pc, #112] ; (80273d8 ) 8027368: f0aa f81a bl 80d13a0 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: f0a3 fd99 bl 80caea8 memset(Comment, 0, sizeof(Comment)); 8027376: 2228 movs r2, #40 ; 0x28 8027378: 2100 movs r1, #0 802737a: 4817 ldr r0, [pc, #92] ; (80273d8 ) 802737c: f0aa f810 bl 80d13a0 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: f0a3 fd82 bl 80caea8 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: 20022e68 .word 0x20022e68 80273b8: 2007c000 .word 0x2007c000 80273bc: 20021fe4 .word 0x20021fe4 80273c0: 20022358 .word 0x20022358 80273c4: 200226e8 .word 0x200226e8 80273c8: 200229b0 .word 0x200229b0 80273cc: 20022638 .word 0x20022638 80273d0: 20020dea .word 0x20020dea 80273d4: 20020df3 .word 0x20020df3 80273d8: 20022698 .word 0x20022698 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: f0a9 ffaa bl 80d13a0 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: f0a9 ffa5 bl 80d13a0 memset(Comment, 0, sizeof(Comment)); 8027456: 2228 movs r2, #40 ; 0x28 8027458: 2100 movs r1, #0 802745a: 4879 ldr r0, [pc, #484] ; (8027640 ) 802745c: f0a9 ffa0 bl 80d13a0 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: f0a9 ff8f bl 80d13a0 strcpy(FileName, fname); 8027482: 6879 ldr r1, [r7, #4] 8027484: 4870 ldr r0, [pc, #448] ; (8027648 ) 8027486: f0aa f8a8 bl 80d15da 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: f0a9 ff85 bl 80d13a0 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: f0a9 ff7f bl 80d13a0 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: f0a2 fea2 bl 80ca220 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: f0a9 ff54 bl 80d13a0 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: f0a3 fccd bl 80caea8 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: f0a3 fce2 bl 80caee8 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: f0a3 f8cd bl 80ca6da 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: f0a3 fca9 bl 80caee8 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: f0a3 f894 bl 80ca6da 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: f0a3 fc50 bl 80caea8 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: f0a3 fc4b bl 80caea8 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: f0a3 fc46 bl 80caea8 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: f0a3 fc41 bl 80caea8 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: 20020df3 .word 0x20020df3 8027630: 2002263c .word 0x2002263c 8027634: bf800000 .word 0xbf800000 8027638: 200229b0 .word 0x200229b0 802763c: 20022638 .word 0x20022638 8027640: 20022698 .word 0x20022698 8027644: 20021694 .word 0x20021694 8027648: 20022c00 .word 0x20022c00 802764c: 200229fc .word 0x200229fc 8027650: 20021dc8 .word 0x20021dc8 8027654: 20020dff .word 0x20020dff 8027658: 20020dfe .word 0x20020dfe 802765c: 20022e68 .word 0x20022e68 8027660: 2007c000 .word 0x2007c000 8027664: 20022358 .word 0x20022358 8027668: 080d27ec .word 0x080d27ec 802766c: 20021fe4 .word 0x20021fe4 { res = f_lseek(&F, ifs); 8027670: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8027674: 48a9 ldr r0, [pc, #676] ; (802791c ) 8027676: f0a3 fc37 bl 80caee8 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: f0a3 f821 bl 80ca6da 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: f0a3 fb08 bl 80caea8 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: f0a3 fb03 bl 80caea8 memset(Comment, 0, sizeof(Comment)); 80278a2: 2228 movs r2, #40 ; 0x28 80278a4: 2100 movs r1, #0 80278a6: 4826 ldr r0, [pc, #152] ; (8027940 ) 80278a8: f0a9 fd7a bl 80d13a0 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: f0a3 faf0 bl 80caea8 memset(Comment, 0, sizeof(Comment)); 80278c8: 2228 movs r2, #40 ; 0x28 80278ca: 2100 movs r1, #0 80278cc: 481c ldr r0, [pc, #112] ; (8027940 ) 80278ce: f0a9 fd67 bl 80d13a0 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: f0a3 fae6 bl 80caea8 memset(Comment, 0, sizeof(Comment)); 80278dc: 2228 movs r2, #40 ; 0x28 80278de: 2100 movs r1, #0 80278e0: 4817 ldr r0, [pc, #92] ; (8027940 ) 80278e2: f0a9 fd5d bl 80d13a0 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: f0a3 facf bl 80caea8 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: 20022e68 .word 0x20022e68 8027920: 2007c000 .word 0x2007c000 8027924: 20021fe4 .word 0x20021fe4 8027928: 20022358 .word 0x20022358 802792c: 2002263c .word 0x2002263c 8027930: 200229b0 .word 0x200229b0 8027934: 20022638 .word 0x20022638 8027938: 20020dea .word 0x20020dea 802793c: 20020df3 .word 0x20020df3 8027940: 20022698 .word 0x20022698 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: f0a9 fd11 bl 80d13a0 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: f0a9 fd0b bl 80d13a0 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: f0a2 fc2f bl 80ca220 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: f0a9 fcd6 bl 80d138a 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: f0a2 fe76 bl 80ca6da 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: f0a3 fa71 bl 80caee8 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: f0a2 fe55 bl 80ca6da 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: f0a6 fb23 bl 80ce098 f_close(&F); 8027a52: 4816 ldr r0, [pc, #88] ; (8027aac ) 8027a54: f0a3 fa28 bl 80caea8 //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: f0a3 fa1d bl 80caea8 // 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: f0a3 fa18 bl 80caea8 //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: f0a3 fa13 bl 80caea8 //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: 20020df3 .word 0x20020df3 8027a94: 20020dea .word 0x20020dea 8027a98: 20021694 .word 0x20021694 8027a9c: 200229fc .word 0x200229fc 8027aa0: 20021dc8 .word 0x20021dc8 8027aa4: 20020dff .word 0x20020dff 8027aa8: 20020dfe .word 0x20020dfe 8027aac: 20022e68 .word 0x20022e68 8027ab0: 200243c4 .word 0x200243c4 8027ab4: 20023ea8 .word 0x20023ea8 8027ab8: 080d5118 .word 0x080d5118 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: f0a9 fc50 bl 80d13a0 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: f0a9 fc49 bl 80d13a0 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: f0a9 fc42 bl 80d13a0 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: f0a9 fc2c bl 80d13a0 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: f0a9 fc26 bl 80d13a0 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: f0a2 fb49 bl 80ca220 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: f0a9 fbed bl 80d138a 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: f0a2 fd8e bl 80ca6da 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: f0a9 fbe3 bl 80d13a0 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: f0a2 fd78 bl 80ca6da 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: 20020df3 .word 0x20020df3 8027d24: 20020dea .word 0x20020dea 8027d28: 20020df8 .word 0x20020df8 8027d2c: 20022920 .word 0x20022920 8027d30: 20021694 .word 0x20021694 8027d34: 200229fc .word 0x200229fc 8027d38: 20021dc8 .word 0x20021dc8 8027d3c: 20020dff .word 0x20020dff 8027d40: 20020dfe .word 0x20020dfe 8027d44: 20022e68 .word 0x20022e68 8027d48: 200243c4 .word 0x200243c4 8027d4c: 20023ea8 .word 0x20023ea8 { 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: f0a2 ffd8 bl 80caee8 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: 20021dc8 .word 0x20021dc8 8027f88: 000186a0 .word 0x000186a0 8027f8c: 20022920 .word 0x20022920 8027f90: 447a0000 .word 0x447a0000 8027f94: 20020df8 .word 0x20020df8 8027f98: 20020030 .word 0x20020030 8027f9c: 20022e68 .word 0x20022e68 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: f0a2 ff1d bl 80caea8 //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: f0a9 f985 bl 80d138a 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: f0a2 ff0f bl 80caea8 //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: f0a9 f977 bl 80d138a 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: f0a2 ff01 bl 80caea8 //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: f0a9 f969 bl 80d138a 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: 20022920 .word 0x20022920 80280d4: 20020030 .word 0x20020030 80280d8: 20022e68 .word 0x20022e68 80280dc: 20023ea8 .word 0x20023ea8 80280e0: 200243c4 .word 0x200243c4 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: f0a9 f931 bl 80d13a0 strcpy(FileName, RouteName); 802813e: 4991 ldr r1, [pc, #580] ; (8028384 ) 8028140: 488f ldr r0, [pc, #572] ; (8028380 ) 8028142: f0a9 fa4a bl 80d15da 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: f0a9 f922 bl 80d13a0 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: f0a9 f91c bl 80d13a0 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: f0a2 f83e bl 80ca220 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: f0a2 fa80 bl 80ca6da 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: f0a2 fe43 bl 80caea8 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: f0a2 fe39 bl 80caea8 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: f0a2 fa3d bl 80ca6da 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: f0a2 fdfa bl 80caea8 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: f0a2 f9fd bl 80ca6da 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: f0a2 fdba bl 80caea8 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: f0a2 fdb5 bl 80caea8 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: f0a2 fdab bl 80caea8 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: f0a2 fda6 bl 80caea8 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: 20020df3 .word 0x20020df3 802836c: 20020dea .word 0x20020dea 8028370: 20020df8 .word 0x20020df8 8028374: 20020fb4 .word 0x20020fb4 8028378: 20020fb0 .word 0x20020fb0 802837c: 20021694 .word 0x20021694 8028380: 20022c00 .word 0x20022c00 8028384: 20022670 .word 0x20022670 8028388: 200229fc .word 0x200229fc 802838c: 20021dc8 .word 0x20021dc8 8028390: 080d284c .word 0x080d284c 8028394: 20020dff .word 0x20020dff 8028398: 20020dfe .word 0x20020dfe 802839c: 20022e68 .word 0x20022e68 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: f0a8 ffe4 bl 80d13a0 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: f0a8 ffd4 bl 80d13a0 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: f0a9 f8ca bl 80d15a0 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: f0a8 ff89 bl 80d13a0 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: f0a8 ff83 bl 80d13a0 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: f0a2 ffa5 bl 80cb3fa 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: f0a3 fa56 bl 80cb970 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: f0a3 f824 bl 80cb518 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: f0a9 f856 bl 80d15a0 strcpy(PointPath, SearchPath); 80284f4: 4983 ldr r1, [pc, #524] ; (8028704 ) 80284f6: 4882 ldr r0, [pc, #520] ; (8028700 ) 80284f8: f0a9 f86f bl 80d15da 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: f0a1 fe8d bl 80ca220 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: f0a1 fe7d bl 80ca220 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: f0a2 fcb7 bl 80caea8 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: f0a2 fcae bl 80caea8 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: f0a8 ff14 bl 80d13a0 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: f0a2 f9e8 bl 80ca960 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: f0a2 fc82 bl 80caea8 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: f0a2 fc74 bl 80caea8 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: f0a2 f877 bl 80ca6da 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: f0a8 feba bl 80d138a 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: f0a2 fc42 bl 80caea8 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: f0a2 fc34 bl 80caea8 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: f0a2 fbe7 bl 80caea8 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: f0a2 fbe2 bl 80caea8 return FR_DISK_ERR; 80286e4: 2301 movs r3, #1 80286e6: e01f b.n 8028728 80286e8: 64100000 .word 0x64100000 80286ec: 20020df3 .word 0x20020df3 80286f0: 20020dea .word 0x20020dea 80286f4: 20020df8 .word 0x20020df8 80286f8: 20020fb0 .word 0x20020fb0 80286fc: 20021694 .word 0x20021694 8028700: 200229fc .word 0x200229fc 8028704: 20021dc8 .word 0x20021dc8 8028708: 080d284c .word 0x080d284c 802870c: 20022960 .word 0x20022960 8028710: 080d27dc .word 0x080d27dc 8028714: 20022e68 .word 0x20022e68 8028718: 2007c000 .word 0x2007c000 802871c: 00320800 .word 0x00320800 8028720: 20020fb4 .word 0x20020fb4 } } 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: f0a8 fe1b bl 80d13a0 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: f0a8 ff11 bl 80d15a0 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: f0a8 fdd3 bl 80d13a0 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: f0a8 fdcd bl 80d13a0 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: f0a2 fdef bl 80cb3fa 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: f0a3 f8a0 bl 80cb970 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: f0a2 fe6e bl 80cb518 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: f0a8 fea0 bl 80d15a0 strcpy(PointPath, SearchPath); 8028860: 4934 ldr r1, [pc, #208] ; (8028934 ) 8028862: 4833 ldr r0, [pc, #204] ; (8028930 ) 8028864: f0a8 feb9 bl 80d15da 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: f0a1 fcd7 bl 80ca220 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: f0a2 fa0d bl 80caca0 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: f0a2 fb07 bl 80caea8 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: f0a2 fb1e bl 80caee8 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: f0a8 fd5d bl 80d138a 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: f0a2 f840 bl 80ca960 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: f0a2 fada bl 80caea8 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: f0a2 facc bl 80caea8 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: f0a2 fac7 bl 80caea8 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: 20021694 .word 0x20021694 8028930: 200229fc .word 0x200229fc 8028934: 20021dc8 .word 0x20021dc8 8028938: 080d284c .word 0x080d284c 802893c: 20022960 .word 0x20022960 8028940: 080d27dc .word 0x080d27dc 8028944: 20022e68 .word 0x20022e68 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: f0a8 fcf5 bl 80d13a0 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: f0a8 fcef bl 80d13a0 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: f0a8 fce9 bl 80d13a0 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: f0a8 fcde bl 80d13a0 strcpy(FileName, fname); 80289e4: 6839 ldr r1, [r7, #0] 80289e6: 4899 ldr r0, [pc, #612] ; (8028c4c ) 80289e8: f0a8 fdf7 bl 80d15da 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: f0a1 fc03 bl 80ca220 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: f0a1 fe40 bl 80ca6da 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: f0a8 fc74 bl 80d138a 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: f0a2 f9ea bl 80caea8 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: f0a1 fde4 bl 80ca6da 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: f0a1 fdd6 bl 80ca6da 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: f0a2 f9bd bl 80caee8 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: f0a1 fda7 bl 80ca6da 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: f0a1 fd99 bl 80ca6da 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: f0a8 fbe8 bl 80d138a 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: f0a2 f95b bl 80caea8 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: f0a2 f949 bl 80caea8 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: f0a2 f944 bl 80caea8 } } } 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: 20020df3 .word 0x20020df3 8028c30: 20020dea .word 0x20020dea 8028c34: 20020df8 .word 0x20020df8 8028c38: 20021694 .word 0x20021694 8028c3c: 20022c28 .word 0x20022c28 8028c40: 200229fc .word 0x200229fc 8028c44: 20021dc8 .word 0x20021dc8 8028c48: 080d2858 .word 0x080d2858 8028c4c: 20022c00 .word 0x20022c00 8028c50: 20020dff .word 0x20020dff 8028c54: 20020dfe .word 0x20020dfe 8028c58: 20022e68 .word 0x20022e68 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: f0a2 f8ce bl 80caee8 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: f0a2 f89d bl 80caea8 //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: f0a8 fb05 bl 80d138a if(res == FR_OK) 8028d80: e0bb b.n 8028efa } } else { f_close(&F); 8028d82: 4862 ldr r0, [pc, #392] ; (8028f0c ) 8028d84: f0a2 f890 bl 80caea8 //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: f0a8 faf8 bl 80d138a if(res == FR_OK) 8028d9a: e0ae b.n 8028efa } } else { f_close(&F); 8028d9c: 485b ldr r0, [pc, #364] ; (8028f0c ) 8028d9e: f0a2 f883 bl 80caea8 //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: f0a8 faeb bl 80d138a 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: f0a2 f82b bl 80caee8 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: f0a1 fffa bl 80caea8 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: f0a8 fa62 bl 80d138a if(res == FR_OK) 8028ec6: e018 b.n 8028efa } } else { f_close(&F); 8028ec8: 4810 ldr r0, [pc, #64] ; (8028f0c ) 8028eca: f0a1 ffed bl 80caea8 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: f0a8 fa55 bl 80d138a if(res == FR_OK) 8028ee0: e00b b.n 8028efa } } else { f_close(&F); 8028ee2: 480a ldr r0, [pc, #40] ; (8028f0c ) 8028ee4: f0a1 ffe0 bl 80caea8 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: f0a8 fa48 bl 80d138a } } 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: 20021694 .word 0x20021694 8028f08: 20020030 .word 0x20020030 8028f0c: 20022e68 .word 0x20022e68 8028f10: 20022920 .word 0x20022920 8028f14: 20020df8 .word 0x20020df8 8028f18: 20023ea8 .word 0x20023ea8 8028f1c: 200243c4 .word 0x200243c4 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: f0a5 f88a bl 80ce05c 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: f0a1 fb93 bl 80ca6da 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: f0a1 fb89 bl 80ca6da 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: f0a5 fd36 bl 80cea68 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: f0a5 f847 bl 80ce098 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: f0a1 fb15 bl 80ca6da 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: f0a1 fb0b bl 80ca6da 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: f0a5 fc96 bl 80cea68 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: f0a4 ffa7 bl 80ce098 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: f0a5 f928 bl 80ce3a8 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: f0a5 fcb1 bl 80cead4 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: 20021694 .word 0x20021694 80291b8: 20000000 .word 0x20000000 80291bc: 00000000 .word 0x00000000 80291c0: 20020030 .word 0x20020030 80291c4: 20022920 .word 0x20022920 80291c8: 20022e68 .word 0x20022e68 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: f0a8 f8c0 bl 80d13a0 strcpy(FileName, fname); 8029220: 6879 ldr r1, [r7, #4] 8029222: 488b ldr r0, [pc, #556] ; (8029450 ) 8029224: f0a8 f9d9 bl 80d15da 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: f0a8 f8b6 bl 80d13a0 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: f0a8 f8b0 bl 80d13a0 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: f0a0 ffd2 bl 80ca220 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: f0a0 ffc2 bl 80ca220 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: f0a8 f874 bl 80d13a0 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: f0a8 f865 bl 80d13a0 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: f0a1 fb34 bl 80ca960 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: f0a8 f843 bl 80d13a0 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: f0a1 fb18 bl 80ca960 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: f0a1 fdae bl 80caea8 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: f0a1 fd9f bl 80caee8 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: f0a1 fad1 bl 80ca960 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: f0a1 fd68 bl 80caea8 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: f0a1 fd79 bl 80caee8 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: f0a1 fd51 bl 80caea8 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: f0a1 fd4b bl 80caea8 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: 20021694 .word 0x20021694 8029450: 20022c00 .word 0x20022c00 8029454: 200229fc .word 0x200229fc 8029458: 20021dc8 .word 0x20021dc8 802945c: 20020dff .word 0x20020dff 8029460: 20020dfe .word 0x20020dfe 8029464: 20022e68 .word 0x20022e68 8029468: 2007c000 .word 0x2007c000 802946c: 20022358 .word 0x20022358 8029470: 080d27ec .word 0x080d27ec 8029474: 20022698 .word 0x20022698 8029478: 20021fe4 .word 0x20021fe4 { 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: f0a1 f9e2 bl 80ca960 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: f0a1 fc79 bl 80caea8 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: f0a1 fc5c bl 80caea8 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: f0a1 fc57 bl 80caea8 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: f0a1 fc64 bl 80caee8 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: f0a1 f84f bl 80ca6da 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: f0a1 fc1c bl 80caee8 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: f0a1 f94e bl 80ca960 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: f0a1 fbe5 bl 80caea8 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: f0a1 fbe0 bl 80caea8 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: f0a1 fbdb bl 80caea8 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: f0a1 fbd6 bl 80caea8 return FR_DISK_ERR; 80296fc: 2301 movs r3, #1 80296fe: e2b8 b.n 8029c72 8029700: 200229cc .word 0x200229cc 8029704: 2007c000 .word 0x2007c000 8029708: 20022e68 .word 0x20022e68 802970c: 20021fe4 .word 0x20021fe4 8029710: 20022ee8 .word 0x20022ee8 8029714: 20022358 .word 0x20022358 8029718: 080d27ec .word 0x080d27ec 802971c: 20022698 .word 0x20022698 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: f0a1 fbdb bl 80caee8 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: f0a1 f869 bl 80ca960 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: f0a1 fb00 bl 80caea8 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: f0a1 fae3 bl 80caea8 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: f0a1 fade bl 80caea8 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: f0a1 faf5 bl 80caee8 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: f0a0 fedf bl 80ca6da 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: f0a1 faa5 bl 80caee8 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: f0a0 ffd7 bl 80ca960 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: f0a1 fa6e bl 80caea8 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: 20022e68 .word 0x20022e68 80299e4: 20021fe4 .word 0x20021fe4 80299e8: 2007c000 .word 0x2007c000 80299ec: 200229cc .word 0x200229cc 80299f0: 20022ee8 .word 0x20022ee8 80299f4: 20022358 .word 0x20022358 80299f8: 080d27ec .word 0x080d27ec 80299fc: 20022698 .word 0x20022698 } else { f_close(&F); 8029a00: 489e ldr r0, [pc, #632] ; (8029c7c ) 8029a02: f0a1 fa51 bl 80caea8 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: f0a1 fa4c bl 80caea8 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: f0a1 fa47 bl 80caea8 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: f0a1 fa5f bl 80caee8 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: f0a0 fe4d bl 80ca6da 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: f0a1 f989 bl 80caee8 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: f0a0 febb bl 80ca960 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: f0a1 f952 bl 80caea8 /*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: f0a1 f946 bl 80caea8 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: f0a1 f941 bl 80caea8 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: f0a1 f93c bl 80caea8 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: f0a1 f92e bl 80caea8 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: f0a1 f929 bl 80caea8 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: 20022e68 .word 0x20022e68 8029c80: 2007c000 .word 0x2007c000 8029c84: 20021fe4 .word 0x20021fe4 8029c88: 20022358 .word 0x20022358 8029c8c: 200229cc .word 0x200229cc 8029c90: 20022ee8 .word 0x20022ee8 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: f0a7 fb66 bl 80d13a0 strcpy(FileName, fname); 8029cd4: 6879 ldr r1, [r7, #4] 8029cd6: 488b ldr r0, [pc, #556] ; (8029f04 ) 8029cd8: f0a7 fc7f bl 80d15da 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: f0a7 fb5c bl 80d13a0 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: f0a7 fb56 bl 80d13a0 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: f0a0 fa78 bl 80ca220 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: f0a0 fa68 bl 80ca220 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: f0a7 fb1a bl 80d13a0 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: f0a7 fb0b bl 80d13a0 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: f0a0 fdda bl 80ca960 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: f0a7 fae9 bl 80d13a0 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: f0a0 fdbe bl 80ca960 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: f0a1 f854 bl 80caea8 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: f0a1 f845 bl 80caee8 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: f0a0 fd77 bl 80ca960 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: f0a1 f80e bl 80caea8 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: f0a1 f81f bl 80caee8 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: f0a0 fff7 bl 80caea8 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: f0a0 fff1 bl 80caea8 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: 20021694 .word 0x20021694 8029f04: 20022c00 .word 0x20022c00 8029f08: 200229fc .word 0x200229fc 8029f0c: 20021dc8 .word 0x20021dc8 8029f10: 20020dff .word 0x20020dff 8029f14: 20020dfe .word 0x20020dfe 8029f18: 20022e68 .word 0x20022e68 8029f1c: 2007c000 .word 0x2007c000 8029f20: 20022358 .word 0x20022358 8029f24: 080d27ec .word 0x080d27ec 8029f28: 20022698 .word 0x20022698 8029f2c: 20021fe4 .word 0x20021fe4 { 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: f0a0 fc61 bl 80ca960 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: f0a0 fef8 bl 80caea8 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: f0a0 fedb bl 80caea8 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: f0a0 fed6 bl 80caea8 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: f0a0 fee3 bl 80caee8 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: f0a0 face bl 80ca6da 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: f0a0 fe9b bl 80caee8 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: f0a0 fbcd bl 80ca960 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: f0a0 fe64 bl 80caea8 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: f0a0 fe5f bl 80caea8 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: f0a0 fe5a bl 80caea8 return FR_DISK_ERR; 802a1f4: 2301 movs r3, #1 802a1f6: e312 b.n 802a81e 802a1f8: 2002263c .word 0x2002263c 802a1fc: 2007c000 .word 0x2007c000 802a200: 20022e68 .word 0x20022e68 802a204: 20021fe4 .word 0x20021fe4 802a208: 20022ee8 .word 0x20022ee8 802a20c: 20022358 .word 0x20022358 802a210: 080d27ec .word 0x080d27ec 802a214: 20022698 .word 0x20022698 } } else { f_close(&F); 802a218: 48a1 ldr r0, [pc, #644] ; (802a4a0 ) 802a21a: f0a0 fe45 bl 80caea8 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: f0a0 fe5a bl 80caee8 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: f0a0 fac1 bl 80ca960 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: f0a0 fd58 bl 80caea8 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: f0a0 fd3b bl 80caea8 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: f0a0 fd36 bl 80caea8 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: f0a0 fd4d bl 80caee8 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: f0a0 f938 bl 80ca6da 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: 20022e68 .word 0x20022e68 802a4a4: 20021fe4 .word 0x20021fe4 802a4a8: 2007c000 .word 0x2007c000 802a4ac: 2002263c .word 0x2002263c 802a4b0: 20022ee8 .word 0x20022ee8 802a4b4: 20022358 .word 0x20022358 802a4b8: 080d27ec .word 0x080d27ec } 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: f0a0 fcf0 bl 80caee8 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: f0a0 fa22 bl 80ca960 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: f0a0 fcb9 bl 80caea8 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: f0a0 fcad bl 80caea8 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: f0a0 fca8 bl 80caea8 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: f0a0 fca3 bl 80caea8 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: f0a0 fcbb bl 80caee8 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: f0a0 f8a9 bl 80ca6da 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: 20022698 .word 0x20022698 802a60c: 20021fe4 .word 0x20021fe4 802a610: 20022e68 .word 0x20022e68 802a614: 20022358 .word 0x20022358 { 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: f0a0 fbb3 bl 80caee8 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: f0a0 f8e5 bl 80ca960 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: f0a0 fb7c bl 80caea8 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: f0a0 fb70 bl 80caea8 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: f0a0 fb6b bl 80caea8 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: f0a0 fb66 bl 80caea8 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: f0a0 fb58 bl 80caea8 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: f0a0 fb53 bl 80caea8 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: 2002263c .word 0x2002263c 802a82c: 2007c000 .word 0x2007c000 802a830: 20022e68 .word 0x20022e68 802a834: 20021fe4 .word 0x20021fe4 802a838: 20022ee8 .word 0x20022ee8 802a83c: 20022358 .word 0x20022358 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: f0a6 fd98 bl 80d13a0 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: f0a6 fd86 bl 80d13a0 { //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: f0a6 fd76 bl 80d13a0 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: 20021694 .word 0x20021694 802a930: 20021dc8 .word 0x20021dc8 802a934: 20020dff .word 0x20020dff 802a938: 20020dfe .word 0x20020dfe 802a93c: 64100000 .word 0x64100000 802a940: 20020e3c .word 0x20020e3c 802a944: 20020e44 .word 0x20020e44 802a948: 20020e48 .word 0x20020e48 802a94c: 20020e4c .word 0x20020e4c 802a950: 20020e40 .word 0x20020e40 802a954: 20020e50 .word 0x20020e50 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: 20020e3c .word 0x20020e3c 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: 20020e40 .word 0x20020e40 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: 20020e44 .word 0x20020e44 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: 20020e48 .word 0x20020e48 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: 20020e4c .word 0x20020e4c 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: 20020e50 .word 0x20020e50 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: f0a6 fc92 bl 80d13a0 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: f0a6 fc7c bl 80d13a0 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: 20022398 .word 0x20022398 802aad8: 20020e0c .word 0x20020e0c 802aadc: 20020e10 .word 0x20020e10 802aae0: 20021694 .word 0x20021694 802aae4: 20021dc8 .word 0x20021dc8 802aae8: 20020dff .word 0x20020dff 802aaec: 20020dfe .word 0x20020dfe 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: f0a6 fbea bl 80d13a0 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: f0a6 fce0 bl 80d15a0 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: f09f fb1b bl 80ca220 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: f0a0 f94f bl 80caea8 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: 20021694 .word 0x20021694 802ac20: 20022c00 .word 0x20022c00 802ac24: 20021dc8 .word 0x20021dc8 802ac28: 20022e68 .word 0x20022e68 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: f0a6 fb9a bl 80d13a0 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: f0a6 fc90 bl 80d15a0 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: f09f facb bl 80ca220 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: f0a0 f8ff bl 80caea8 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: 20021694 .word 0x20021694 802acc0: 20022c00 .word 0x20022c00 802acc4: 20021dc8 .word 0x20021dc8 802acc8: 20022e68 .word 0x20022e68 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: f0a6 fb58 bl 80d13a0 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: f0a6 fb45 bl 80d13a0 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: f0a6 fb3f bl 80d13a0 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: 20021694 .word 0x20021694 802ad64: 20022c00 .word 0x20022c00 802ad68: 200229fc .word 0x200229fc 802ad6c: 20021dc8 .word 0x20021dc8 802ad70: 20020dff .word 0x20020dff 802ad74: 20020dfe .word 0x20020dfe 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: f0a6 fb02 bl 80d13a0 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: f0a6 faef bl 80d13a0 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: f0a6 fae9 bl 80d13a0 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: f09f fa10 bl 80ca220 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: f0a0 f84c bl 80caea8 res = f_unlink(PointPath); 802ae10: 4809 ldr r0, [pc, #36] ; (802ae38 ) 802ae12: f0a0 fcd8 bl 80cb7c6 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: 20021694 .word 0x20021694 802ae30: 20022c00 .word 0x20022c00 802ae34: 20021dc8 .word 0x20021dc8 802ae38: 200229fc .word 0x200229fc 802ae3c: 20020dff .word 0x20020dff 802ae40: 20020dfe .word 0x20020dfe 802ae44: 20022e68 .word 0x20022e68 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: f0a6 fa9a bl 80d13a0 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: f0a6 fa87 bl 80d13a0 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: f0a6 fa81 bl 80d13a0 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: f09f f9a8 bl 80ca220 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: f09f ffe4 bl 80caea8 res = f_unlink(PointPath); 802aee0: 4809 ldr r0, [pc, #36] ; (802af08 ) 802aee2: f0a0 fc70 bl 80cb7c6 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: 20021694 .word 0x20021694 802af00: 20022c00 .word 0x20022c00 802af04: 20021dc8 .word 0x20021dc8 802af08: 200229fc .word 0x200229fc 802af0c: 20020dff .word 0x20020dff 802af10: 20020dfe .word 0x20020dfe 802af14: 20022e68 .word 0x20022e68 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: f0a6 fa32 bl 80d13a0 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: f0a6 fa1f bl 80d13a0 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: f0a6 fa19 bl 80d13a0 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: f09f f940 bl 80ca220 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: f09f ff7c bl 80caea8 res = f_unlink(PointPath); 802afb0: 4809 ldr r0, [pc, #36] ; (802afd8 ) 802afb2: f0a0 fc08 bl 80cb7c6 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: 20021694 .word 0x20021694 802afd0: 20022c00 .word 0x20022c00 802afd4: 20021dc8 .word 0x20021dc8 802afd8: 200229fc .word 0x200229fc 802afdc: 20020dff .word 0x20020dff 802afe0: 20020dfe .word 0x20020dfe 802afe4: 20022e68 .word 0x20022e68 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: f0a6 f9ca bl 80d13a0 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: f0a6 f9b7 bl 80d13a0 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: f0a6 f9b1 bl 80d13a0 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: f09f f8d8 bl 80ca220 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: f09f ff14 bl 80caea8 res = f_unlink(PointPath); 802b080: 4809 ldr r0, [pc, #36] ; (802b0a8 ) 802b082: f0a0 fba0 bl 80cb7c6 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: 20021694 .word 0x20021694 802b0a0: 20022c00 .word 0x20022c00 802b0a4: 20021dc8 .word 0x20021dc8 802b0a8: 200229fc .word 0x200229fc 802b0ac: 20020dff .word 0x20020dff 802b0b0: 20020dfe .word 0x20020dfe 802b0b4: 20022e68 .word 0x20022e68 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: f0a6 f962 bl 80d13a0 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: f0a6 f94f bl 80d13a0 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: f0a6 f949 bl 80d13a0 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: f09f f870 bl 80ca220 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: f09f feac bl 80caea8 res = f_unlink(PointPath); 802b150: 4809 ldr r0, [pc, #36] ; (802b178 ) 802b152: f0a0 fb38 bl 80cb7c6 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: 20021694 .word 0x20021694 802b170: 20022c00 .word 0x20022c00 802b174: 20021dc8 .word 0x20021dc8 802b178: 200229fc .word 0x200229fc 802b17c: 20020dff .word 0x20020dff 802b180: 20020dfe .word 0x20020dfe 802b184: 20022e68 .word 0x20022e68 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: f0a0 f927 bl 80cb3fa 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: f0a0 fbd8 bl 80cb970 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: f0a0 f9a4 bl 80cb518 } 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: 20021694 .word 0x20021694 802b1e0: 080d284c .word 0x080d284c 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: f0a0 f8f9 bl 80cb3fa 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: f0a0 fbaa bl 80cb970 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: f0a0 f976 bl 80cb518 } 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: 20021694 .word 0x20021694 802b23c: 080d27d0 .word 0x080d27d0 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: f098 fca5 bl 80c3bb4 RedrawScreen(); 802b26a: f03d fd15 bl 8068c98 HAL_Delay(100); 802b26e: 2064 movs r0, #100 ; 0x64 802b270: f08b fde4 bl 80b6e3c RedrawScreen(); 802b274: f03d fd10 bl 8068c98 HAL_Delay(100); 802b278: 2064 movs r0, #100 ; 0x64 802b27a: f08b fddf bl 80b6e3c RedrawScreen(); 802b27e: f03d fd0b bl 8068c98 HAL_Delay(100); 802b282: 2064 movs r0, #100 ; 0x64 802b284: f08b fdda bl 80b6e3c RedrawScreen(); 802b288: f03d fd06 bl 8068c98 HAL_Delay(100); 802b28c: 2064 movs r0, #100 ; 0x64 802b28e: f08b fdd5 bl 80b6e3c RedrawScreen(); 802b292: f03d fd01 bl 8068c98 HAL_Delay(100); 802b296: 2064 movs r0, #100 ; 0x64 802b298: f08b fdd0 bl 80b6e3c 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: f0a0 fe4b bl 80cbf44 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: f0a0 fb4e bl 80cb970 f_mkdir("0:Routes"); 802b2d4: 481c ldr r0, [pc, #112] ; (802b348 ) 802b2d6: f0a0 fb4b bl 80cb970 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: f0a6 f85d bl 80d13a0 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: f0a0 fc6e bl 80cbc00 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: 20021694 .word 0x20021694 802b33c: 20000000 .word 0x20000000 802b340: 20068b0c .word 0x20068b0c 802b344: 080d27d0 .word 0x080d27d0 802b348: 080d284c .word 0x080d284c 802b34c: 080d285c .word 0x080d285c 802b350: 20020f34 .word 0x20020f34 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: f0a6 f814 bl 80d13a0 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: f09e ff3b bl 80ca220 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: f09e ff2d bl 80ca220 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: f09f fc64 bl 80caca0 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: f0a5 ffde bl 80d13a0 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++] = '4'; sector[l++] = '1'; #endif #ifdef USE_D142 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++] = '2'; 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: 2132 movs r1, #50 ; 0x32 802b4a6: 54d1 strb r1, [r2, r3] #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: f09f f9bd bl 80ca960 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: f09f fc55 bl 80caea8 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: f09f fc50 bl 80caea8 return FR_DISK_ERR; 802b608: 2301 movs r3, #1 802b60a: e142 b.n 802b892 802b60c: 20021694 .word 0x20021694 802b610: 200229fc .word 0x200229fc 802b614: 080d2864 .word 0x080d2864 802b618: 20022e68 .word 0x20022e68 802b61c: 2007c000 .word 0x2007c000 802b620: 20020f34 .word 0x20020f34 } ////////////////////////////////////////////////////////////////// } 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: f09f fc39 bl 80caea8 f_unlink(PointPath); 802b636: 489a ldr r0, [pc, #616] ; (802b8a0 ) 802b638: f0a0 f8c5 bl 80cb7c6 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: f09e fded bl 80ca220 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: f09f fb24 bl 80caca0 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: f0a5 fe9e bl 80d13a0 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++] = '4'; sector[l++] = '1'; #endif #ifdef USE_D142 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++] = '2'; 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: 2132 movs r1, #50 ; 0x32 802b726: 54d1 strb r1, [r2, r3] #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: f09f f87d bl 80ca960 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: f09f fb15 bl 80caea8 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: f09f fb10 bl 80caea8 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: 20022e68 .word 0x20022e68 802b8a0: 200229fc .word 0x200229fc 802b8a4: 2007c000 .word 0x2007c000 802b8a8: 20020f34 .word 0x20020f34 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: f09f fd98 bl 80cb3fa 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: f09f fe2d bl 80cb548 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: f0a5 fe0d bl 80d1558 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: f0a5 fdc6 bl 80d1508 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: f0a5 fc02 bl 80d136c 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: 20021fe8 .word 0x20021fe8 802bb84: 20022002 .word 0x20022002 802bb88: 20021ff5 .word 0x20021ff5 802bb8c: 080d2870 .word 0x080d2870 802bb90: 20020dfe .word 0x20020dfe 802bb94: 080d2874 .word 0x080d2874 802bb98: 20020dff .word 0x20020dff 802bb9c: 20020e3c .word 0x20020e3c 802bba0: 20020e40 .word 0x20020e40 802bba4: 20020e44 .word 0x20020e44 802bba8: 080d287c .word 0x080d287c 802bbac: 20020e50 .word 0x20020e50 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: 20020e48 .word 0x20020e48 802be58: 20020e4c .word 0x20020e4c 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: f0a5 fb71 bl 80d15da 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: f0a5 faf0 bl 80d15da 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: 20020e10 .word 0x20020e10 802c068: 20020e0c .word 0x20020e0c 802c06c: 20020dfe .word 0x20020dfe 802c070: 20022398 .word 0x20022398 802c074: 20021fe8 .word 0x20021fe8 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: f0a5 fa65 bl 80d15da 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: f0a5 f8c7 bl 80d136c 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: f0a5 f9db bl 80d15da 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: 20020e10 .word 0x20020e10 802c294: 20020e0c .word 0x20020e0c 802c298: 20020dfe .word 0x20020dfe 802c29c: 20022398 .word 0x20022398 802c2a0: 20021fe8 .word 0x20021fe8 802c2a4: 080d287c .word 0x080d287c 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: f0a5 f94d bl 80d15da 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: f0a5 f8cc bl 80d15da 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: f0a5 f877 bl 80d15da 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: f0a5 f84d bl 80d15a0 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: 20020e10 .word 0x20020e10 802c58c: 20020e0c .word 0x20020e0c 802c590: 20020dfe .word 0x20020dfe 802c594: 20022398 .word 0x20022398 802c598: 20021fe8 .word 0x20021fe8 802c59c: 20022c00 .word 0x20022c00 802c5a0: 200229fc .word 0x200229fc 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: f08a fc0f bl 80b6e3c 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: 20021694 .word 0x20021694 802c658: 20068b0c .word 0x20068b0c 802c65c: 20022348 .word 0x20022348 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: f09e ffa4 bl 80cb5c2 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: f0a4 fe47 bl 80d13a0 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: f0a4 fd84 bl 80d13a0 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: f0a4 fd7d bl 80d13a0 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: 20021694 .word 0x20021694 802c9f4: 2007c000 .word 0x2007c000 802c9f8: 20023ea8 .word 0x20023ea8 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: 200215ac .word 0x200215ac 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: 080d52cc .word 0x080d52cc 802cfd4: 20023ea8 .word 0x20023ea8 802cfd8: 080d512c .word 0x080d512c 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: 080d52fc .word 0x080d52fc 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: f09c fe8a bl 80ca960 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: 20023ea8 .word 0x20023ea8 802dc64: 080d5328 .word 0x080d5328 802dc68: 080d5334 .word 0x080d5334 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: f0a3 fb7e bl 80d13a0 strcpy(fn, fname); 802dca4: 6879 ldr r1, [r7, #4] 802dca6: 483f ldr r0, [pc, #252] ; (802dda4 ) 802dca8: f0a3 fc97 bl 80d15da pch = strchr(fn, '.'); 802dcac: 212e movs r1, #46 ; 0x2e 802dcae: 483d ldr r0, [pc, #244] ; (802dda4 ) 802dcb0: f0a3 fc85 bl 80d15be 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: f0a3 fc20 bl 80d15da return; 802dd9a: bf00 nop } 802dd9c: 3718 adds r7, #24 802dd9e: 46bd mov sp, r7 802dda0: bd80 pop {r7, pc} 802dda2: bf00 nop 802dda4: 20022e40 .word 0x20022e40 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: f0a3 fae2 bl 80d13a0 strcpy(fn, fname); 802dddc: 6879 ldr r1, [r7, #4] 802ddde: 483f ldr r0, [pc, #252] ; (802dedc ) 802dde0: f0a3 fbfb bl 80d15da pch = strchr(fn, '.'); 802dde4: 212e movs r1, #46 ; 0x2e 802dde6: 483d ldr r0, [pc, #244] ; (802dedc ) 802dde8: f0a3 fbe9 bl 80d15be 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: f0a3 fb84 bl 80d15da return; 802ded2: bf00 nop } 802ded4: 3718 adds r7, #24 802ded6: 46bd mov sp, r7 802ded8: bd80 pop {r7, pc} 802deda: bf00 nop 802dedc: 20022e40 .word 0x20022e40 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: f0a3 fa46 bl 80d13a0 strcpy(fn, fname); 802df14: 6879 ldr r1, [r7, #4] 802df16: 483f ldr r0, [pc, #252] ; (802e014 ) 802df18: f0a3 fb5f bl 80d15da pch = strchr(fn, '.'); 802df1c: 212e movs r1, #46 ; 0x2e 802df1e: 483d ldr r0, [pc, #244] ; (802e014 ) 802df20: f0a3 fb4d bl 80d15be 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: f0a3 fae8 bl 80d15da return; 802e00a: bf00 nop } 802e00c: 3718 adds r7, #24 802e00e: 46bd mov sp, r7 802e010: bd80 pop {r7, pc} 802e012: bf00 nop 802e014: 20022e40 .word 0x20022e40 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: f0a3 f9aa bl 80d13a0 strcpy(fn, fname); 802e04c: 6879 ldr r1, [r7, #4] 802e04e: 483f ldr r0, [pc, #252] ; (802e14c ) 802e050: f0a3 fac3 bl 80d15da pch = strchr(fn, '.'); 802e054: 212e movs r1, #46 ; 0x2e 802e056: 483d ldr r0, [pc, #244] ; (802e14c ) 802e058: f0a3 fab1 bl 80d15be 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: f0a3 fa4c bl 80d15da return; 802e142: bf00 nop } 802e144: 3718 adds r7, #24 802e146: 46bd mov sp, r7 802e148: bd80 pop {r7, pc} 802e14a: bf00 nop 802e14c: 20022e40 .word 0x20022e40 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: f0a3 f90e bl 80d13a0 strcpy(fn, fname); 802e184: 6879 ldr r1, [r7, #4] 802e186: 483f ldr r0, [pc, #252] ; (802e284 ) 802e188: f0a3 fa27 bl 80d15da pch = strchr(fn, '.'); 802e18c: 212e movs r1, #46 ; 0x2e 802e18e: 483d ldr r0, [pc, #244] ; (802e284 ) 802e190: f0a3 fa15 bl 80d15be 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: f0a3 f9b0 bl 80d15da return; 802e27a: bf00 nop } 802e27c: 3718 adds r7, #24 802e27e: 46bd mov sp, r7 802e280: bd80 pop {r7, pc} 802e282: bf00 nop 802e284: 20022e40 .word 0x20022e40 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: f0a3 f862 bl 80d138a 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: f0a3 f859 bl 80d138a 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: f0a3 f850 bl 80d138a 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: f0a3 f847 bl 80d138a __ASM volatile ("cpsid i" : : : "memory"); 802e2fc: b672 cpsid i __disable_irq(); HAL_FLASH_Unlock(); 802e2fe: f08a fd2b bl 80b8d58 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: f08a fe74 bl 80b900c 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: f08a fca8 bl 80b8ca0 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: f08a fd1a bl 80b8d9c __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: 20020e78 .word 0x20020e78 802e378: 20023ee8 .word 0x20023ee8 802e37c: 20020e54 .word 0x20020e54 802e380: 20023f10 .word 0x20023f10 802e384: 20020e9c .word 0x20020e9c 802e388: 20024304 .word 0x20024304 802e38c: 20020ec0 .word 0x20020ec0 802e390: 2002432c .word 0x2002432c 802e394: 20020f1c .word 0x20020f1c 802e398: 08018000 .word 0x08018000 802e39c: 20023ea8 .word 0x20023ea8 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: f0a2 ffe8 bl 80d138a 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: f0a2 ffb8 bl 80d13a0 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: f0a2 ffb3 bl 80d13a0 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: f0a2 ffae bl 80d13a0 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: f0a2 ffa9 bl 80d13a0 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 * BIT6 - Bluetooth State (0 - PowerOff, 1- PowerOn) * BIT7 - TachoChannel +/- * BIT8 - Pyrometer */ 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: f0a2 ff25 bl 80d13a0 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: f0a2 ff20 bl 80d13a0 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: 20023ea8 .word 0x20023ea8 802e574: 20020f18 .word 0x20020f18 802e578: 20023ee8 .word 0x20023ee8 802e57c: 20023f10 .word 0x20023f10 802e580: 20024304 .word 0x20024304 802e584: 2002432c .word 0x2002432c 802e588: 41200000 .word 0x41200000 802e58c: 43480000 .word 0x43480000 802e590: 40000005 .word 0x40000005 802e594: 46480000 .word 0x46480000 802e598: 20024358 .word 0x20024358 802e59c: 42780000 .word 0x42780000 802e5a0: 422c0000 .word 0x422c0000 802e5a4: 42340000 .word 0x42340000 802e5a8: 20023f84 .word 0x20023f84 802e5ac: 200240c4 .word 0x200240c4 { 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: f0a2 fdf3 bl 80d13a0 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: f0a2 fdee bl 80d13a0 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: f0a2 fde9 bl 80d13a0 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: 20023ea8 .word 0x20023ea8 802e7e0: 400001d2 .word 0x400001d2 802e7e4: 447a0002 .word 0x447a0002 802e7e8: 4248001d .word 0x4248001d 802e7ec: 42c8000e .word 0x42c8000e 802e7f0: 20020e78 .word 0x20020e78 802e7f4: 20020e54 .word 0x20020e54 802e7f8: 20020e9c .word 0x20020e9c 802e7fc: 20020ec0 .word 0x20020ec0 802e800: 20024358 .word 0x20024358 802e804: 41200000 .word 0x41200000 802e808: 42780000 .word 0x42780000 802e80c: 422c0000 .word 0x422c0000 802e810: 42340000 .word 0x42340000 802e814: 20023f84 .word 0x20023f84 802e818: 200240c4 .word 0x200240c4 802e81c: 20024304 .word 0x20024304 { 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: 20023ea8 .word 0x20023ea8 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: f0a2 fd14 bl 80d13a0 } } 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: f0a2 fd05 bl 80d13a0 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: f0a2 fcff bl 80d13a0 memset(WavFileName, 0, sizeof(WavFileName)); 802e9a2: 2221 movs r2, #33 ; 0x21 802e9a4: 2100 movs r1, #0 802e9a6: 480a ldr r0, [pc, #40] ; (802e9d0 ) 802e9a8: f0a2 fcfa bl 80d13a0 memset(DiagFileName, 0, sizeof(DiagFileName)); 802e9ac: 2221 movs r2, #33 ; 0x21 802e9ae: 2100 movs r1, #0 802e9b0: 4806 ldr r0, [pc, #24] ; (802e9cc ) 802e9b2: f0a2 fcf5 bl 80d13a0 memset(RouteFileName, 0, sizeof(RouteFileName)); 802e9b6: 2221 movs r2, #33 ; 0x21 802e9b8: 2100 movs r1, #0 802e9ba: 4806 ldr r0, [pc, #24] ; (802e9d4 ) 802e9bc: f0a2 fcf0 bl 80d13a0 } 802e9c0: bf00 nop 802e9c2: bd80 pop {r7, pc} 802e9c4: 20021694 .word 0x20021694 802e9c8: 20020e78 .word 0x20020e78 802e9cc: 20020e9c .word 0x20020e9c 802e9d0: 20020e54 .word 0x20020e54 802e9d4: 20020ec0 .word 0x20020ec0 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: f08a f9a8 bl 80b8d58 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: f08a faf1 bl 80b900c 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: f08a f925 bl 80b8ca0 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: f08a f90d bl 80b8ca0 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: f08a f8fc bl 80b8ca0 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: f08a f8e8 bl 80b8ca0 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: f08a f8d1 bl 80b8ca0 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: f08a f8c6 bl 80b8ca0 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: f08a f93f bl 80b8d9c __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: 20020f1c .word 0x20020f1c 802eb2c: 08010000 .word 0x08010000 802eb30: 20024358 .word 0x20024358 802eb34: 20020024 .word 0x20020024 802eb38: 20020d6c .word 0x20020d6c 802eb3c: 20020f34 .word 0x20020f34 802eb40: 200209d8 .word 0x200209d8 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: f0a2 fc16 bl 80d138a 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: f0a2 fbd0 bl 80d13a0 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: 20024358 .word 0x20024358 802ee1c: 0801006c .word 0x0801006c 802ee20: 20020024 .word 0x20020024 802ee24: 20020d6c .word 0x20020d6c 802ee28: 20020f34 .word 0x20020f34 802ee2c: 08010074 .word 0x08010074 802ee30: 20020f3c .word 0x20020f3c 802ee34: 0801007c .word 0x0801007c 802ee38: 200209d8 .word 0x200209d8 //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: f0a2 f9cc bl 80d13a0 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: 20024358 .word 0x20024358 802f0b0: 20023ea8 .word 0x20023ea8 802f0b4: 20020f30 .word 0x20020f30 802f0b8: 08010080 .word 0x08010080 802f0bc: 20020f48 .word 0x20020f48 802f0c0: 20020f34 .word 0x20020f34 802f0c4: 20020024 .word 0x20020024 802f0c8: 20020d6c .word 0x20020d6c 802f0cc: 200209d8 .word 0x200209d8 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: f090 fea3 bl 80bfed0 802f18a: 4603 mov r3, r0 802f18c: 2b00 cmp r3, #0 802f18e: d001 beq.n 802f194 { Error_Handler( ); 802f190: f026 fd8e bl 8055cb0 } /* USER CODE BEGIN FMC_Init 2 */ HAL_Delay(50); 802f194: 2032 movs r0, #50 ; 0x32 802f196: f087 fe51 bl 80b6e3c /* 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: 20024874 .word 0x20024874 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: f089 fffd bl 80b9200 /* 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: f089 ffed bl 80b9200 /* 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: f089 ffdd bl 80b9200 /* 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: f089 ffcd bl 80b9200 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: 20020f4c .word 0x20020f4c 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: f08a fa18 bl 80b979c 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: f08a fa12 bl 80b979c 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: f08a fa0c bl 80b979c 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: f08a fa06 bl 80b979c 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: f08a fa00 bl 80b979c 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: f08a f9fb bl 80b979c 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: f08a f9f6 bl 80b979c 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: f08a f9f0 bl 80b979c 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: f08a f9eb bl 80b979c 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: f08a f9e6 bl 80b979c 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: f08a f9e0 bl 80b979c #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: f08a f9da bl 80b979c #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: f08a f9d5 bl 80b979c 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: f08a f9cf bl 80b979c 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: f089 fef0 bl 80b9200 /*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: f089 fee2 bl 80b9200 /*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: f089 fed4 bl 80b9200 /*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: f089 fec5 bl 80b9200 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: f089 feb6 bl 80b9200 /*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: f089 feaa bl 80b9200 /*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: f089 fe9e bl 80b9200 /*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: f089 fe91 bl 80b9200 /*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: f089 fe83 bl 80b9200 /*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: f089 fe75 bl 80b9200 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: f089 fe66 bl 80b9200 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: f089 fe57 bl 80b9200 //************************************************************************************ //************************** 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: f089 fe49 bl 80b9200 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: f089 fe29 bl 80b9200 /*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: f089 fe1a bl 80b9200 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: f089 fe0c bl 80b9200 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: f089 fdfd bl 80b9200 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: f08a f8c6 bl 80b979c 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: f08a f8c1 bl 80b979c 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: f08a f8bb bl 80b979c 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: f08a f8b5 bl 80b979c #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: f08a f8af bl 80b979c #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: f08a f8aa bl 80b979c 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: f08a f8a4 bl 80b979c 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: f08a f89f bl 80b979c 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: f08a f899 bl 80b979c 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: f08a f893 bl 80b979c /*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: f089 fdb6 bl 80b9200 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: f08a f867 bl 80b976c 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: 20021694 .word 0x20021694 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: f08a f85d bl 80b979c MX_USART7_UART_DeInit(); 802f6e2: f082 ffe1 bl 80b26a8 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: 20020f55 .word 0x20020f55 802f700: 20020f54 .word 0x20020f54 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: f0a1 ff78 bl 80d160e 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: f0a1 ff71 bl 80d160e 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: f0a1 ff5d bl 80d160e 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: f0a1 ff56 bl 80d160e 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: f0a1 ff45 bl 80d160e 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: f0a1 ff3e bl 80d160e 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: f0a1 ff30 bl 80d160e 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: f0a1 ff29 bl 80d160e 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: f0a1 ff1b bl 80d160e 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: f0a1 ff14 bl 80d160e 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: f0a1 ff06 bl 80d160e 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: f0a1 feff bl 80d160e 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: f08c ffb8 bl 80bc7d4 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: f08d f8b8 bl 80bc9e0 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: f08c feae bl 80bc658 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: f08c ffc4 bl 80bc890 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: 20020f60 .word 0x20020f60 802f924: 20024900 .word 0x20024900 802f928: 080d2908 .word 0x080d2908 802f92c: 080d2910 .word 0x080d2910 802f930: 20020dcf .word 0x20020dcf 802f934: 20020f50 .word 0x20020f50 802f938: 080d2918 .word 0x080d2918 802f93c: 080d2920 .word 0x080d2920 802f940: 20020f51 .word 0x20020f51 802f944: 080d2928 .word 0x080d2928 802f948: 080d2930 .word 0x080d2930 802f94c: 20020f64 .word 0x20020f64 802f950: 080d293c .word 0x080d293c 802f954: 080d2944 .word 0x080d2944 802f958: 080d2950 .word 0x080d2950 802f95c: 080d2958 .word 0x080d2958 802f960: 080d2964 .word 0x080d2964 802f964: 080d296c .word 0x080d296c 802f968: 200685d8 .word 0x200685d8 802f96c: 080dc24c .word 0x080dc24c 802f970: 92492493 .word 0x92492493 802f974: 24924925 .word 0x24924925 802f978: 080dc280 .word 0x080dc280 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: 20020f5c .word 0x20020f5c 802fa1c: 20020f58 .word 0x20020f58 802fa20: 40007800 .word 0x40007800 802fa24: 20024900 .word 0x20024900 802fa28: 20020f60 .word 0x20020f60 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: 20020f52 .word 0x20020f52 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: f091 f830 bl 80c0ac8 } 802fa68: bf00 nop 802fa6a: 3708 adds r7, #8 802fa6c: 46bd mov sp, r7 802fa6e: bd80 pop {r7, pc} 802fa70: 20020f52 .word 0x20020f52 802fa74: 20020f53 .word 0x20020f53 802fa78: 20068a64 .word 0x20068a64 0802fa7c : __IO uint32_t I2C_Received = 0; void MX_I2C1_SMBUS_Init(void) { 802fa7c: b580 push {r7, lr} 802fa7e: af00 add r7, sp, #0 hsmbus1.Instance = I2C1; 802fa80: 4b1a ldr r3, [pc, #104] ; (802faec ) 802fa82: 4a1b ldr r2, [pc, #108] ; (802faf0 ) 802fa84: 601a str r2, [r3, #0] hsmbus1.Init.Timing = 0x60606CA1; 802fa86: 4b19 ldr r3, [pc, #100] ; (802faec ) 802fa88: 4a1a ldr r2, [pc, #104] ; (802faf4 ) 802fa8a: 605a str r2, [r3, #4] hsmbus1.Init.AnalogFilter = SMBUS_ANALOGFILTER_ENABLE; 802fa8c: 4b17 ldr r3, [pc, #92] ; (802faec ) 802fa8e: 2200 movs r2, #0 802fa90: 609a str r2, [r3, #8] hsmbus1.Init.OwnAddress1 = 0; 802fa92: 4b16 ldr r3, [pc, #88] ; (802faec ) 802fa94: 2200 movs r2, #0 802fa96: 60da str r2, [r3, #12] hsmbus1.Init.AddressingMode = SMBUS_ADDRESSINGMODE_7BIT; 802fa98: 4b14 ldr r3, [pc, #80] ; (802faec ) 802fa9a: 2201 movs r2, #1 802fa9c: 611a str r2, [r3, #16] hsmbus1.Init.DualAddressMode = SMBUS_DUALADDRESS_DISABLE; 802fa9e: 4b13 ldr r3, [pc, #76] ; (802faec ) 802faa0: 2200 movs r2, #0 802faa2: 615a str r2, [r3, #20] hsmbus1.Init.OwnAddress2 = 0; 802faa4: 4b11 ldr r3, [pc, #68] ; (802faec ) 802faa6: 2200 movs r2, #0 802faa8: 619a str r2, [r3, #24] hsmbus1.Init.OwnAddress2Masks = SMBUS_OA2_NOMASK; 802faaa: 4b10 ldr r3, [pc, #64] ; (802faec ) 802faac: 2200 movs r2, #0 802faae: 61da str r2, [r3, #28] hsmbus1.Init.GeneralCallMode = SMBUS_GENERALCALL_DISABLE; 802fab0: 4b0e ldr r3, [pc, #56] ; (802faec ) 802fab2: 2200 movs r2, #0 802fab4: 621a str r2, [r3, #32] hsmbus1.Init.NoStretchMode = SMBUS_NOSTRETCH_DISABLE; 802fab6: 4b0d ldr r3, [pc, #52] ; (802faec ) 802fab8: 2200 movs r2, #0 802faba: 625a str r2, [r3, #36] ; 0x24 hsmbus1.Init.PacketErrorCheckMode = SMBUS_PEC_ENABLE; 802fabc: 4b0b ldr r3, [pc, #44] ; (802faec ) 802fabe: f44f 0200 mov.w r2, #8388608 ; 0x800000 802fac2: 629a str r2, [r3, #40] ; 0x28 hsmbus1.Init.PeripheralMode = SMBUS_PERIPHERAL_MODE_SMBUS_HOST; 802fac4: 4b09 ldr r3, [pc, #36] ; (802faec ) 802fac6: f44f 1280 mov.w r2, #1048576 ; 0x100000 802faca: 62da str r2, [r3, #44] ; 0x2c hsmbus1.Init.SMBusTimeout = 0x00008927; 802facc: 4b07 ldr r3, [pc, #28] ; (802faec ) 802face: f648 1227 movw r2, #35111 ; 0x8927 802fad2: 631a str r2, [r3, #48] ; 0x30 HAL_SMBUS_Init(&hsmbus1); 802fad4: 4805 ldr r0, [pc, #20] ; (802faec ) 802fad6: f08e fbed bl 80be2b4 HAL_GPIO_WritePin(TMPR_GPIO_Port, TMPR_Pin, GPIO_PIN_SET); 802fada: 2201 movs r2, #1 802fadc: f44f 5100 mov.w r1, #8192 ; 0x2000 802fae0: 4805 ldr r0, [pc, #20] ; (802faf8 ) 802fae2: f089 fe5b bl 80b979c } 802fae6: bf00 nop 802fae8: bd80 pop {r7, pc} 802faea: bf00 nop 802faec: 2002590c .word 0x2002590c 802faf0: 40005400 .word 0x40005400 802faf4: 60606ca1 .word 0x60606ca1 802faf8: 40020800 .word 0x40020800 0802fafc : HAL_SMBUS_DeInit(&hsmbus1); } void HAL_SMBUS_MspInit(SMBUS_HandleTypeDef* smbusHandle) { 802fafc: b580 push {r7, lr} 802fafe: b088 sub sp, #32 802fb00: af00 add r7, sp, #0 802fb02: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(smbusHandle->Instance == I2C1) 802fb04: 687b ldr r3, [r7, #4] 802fb06: 681b ldr r3, [r3, #0] 802fb08: 4a19 ldr r2, [pc, #100] ; (802fb70 ) 802fb0a: 4293 cmp r3, r2 802fb0c: d12b bne.n 802fb66 { /**I2C1 GPIO Configuration PB6 ------> I2C1_SCL PB7 ------> I2C1_SDA */ GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7; 802fb0e: 23c0 movs r3, #192 ; 0xc0 802fb10: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; 802fb12: 2312 movs r3, #18 802fb14: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 802fb16: 2300 movs r3, #0 802fb18: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802fb1a: 2303 movs r3, #3 802fb1c: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF4_I2C1; 802fb1e: 2304 movs r3, #4 802fb20: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 802fb22: f107 030c add.w r3, r7, #12 802fb26: 4619 mov r1, r3 802fb28: 4812 ldr r0, [pc, #72] ; (802fb74 ) 802fb2a: f089 fb69 bl 80b9200 __HAL_RCC_I2C1_CLK_ENABLE(); 802fb2e: 4a12 ldr r2, [pc, #72] ; (802fb78 ) 802fb30: 4b11 ldr r3, [pc, #68] ; (802fb78 ) 802fb32: 6c1b ldr r3, [r3, #64] ; 0x40 802fb34: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 802fb38: 6413 str r3, [r2, #64] ; 0x40 802fb3a: 4b0f ldr r3, [pc, #60] ; (802fb78 ) 802fb3c: 6c1b ldr r3, [r3, #64] ; 0x40 802fb3e: f403 1300 and.w r3, r3, #2097152 ; 0x200000 802fb42: 60bb str r3, [r7, #8] 802fb44: 68bb ldr r3, [r7, #8] HAL_NVIC_SetPriority(I2C1_EV_IRQn, 7, 0); 802fb46: 2200 movs r2, #0 802fb48: 2107 movs r1, #7 802fb4a: 201f movs r0, #31 802fb4c: f088 f8c1 bl 80b7cd2 HAL_NVIC_EnableIRQ(I2C1_EV_IRQn); 802fb50: 201f movs r0, #31 802fb52: f088 f8da bl 80b7d0a HAL_NVIC_SetPriority(I2C1_ER_IRQn, 7, 0); 802fb56: 2200 movs r2, #0 802fb58: 2107 movs r1, #7 802fb5a: 2020 movs r0, #32 802fb5c: f088 f8b9 bl 80b7cd2 HAL_NVIC_EnableIRQ(I2C1_ER_IRQn); 802fb60: 2020 movs r0, #32 802fb62: f088 f8d2 bl 80b7d0a } } 802fb66: bf00 nop 802fb68: 3720 adds r7, #32 802fb6a: 46bd mov sp, r7 802fb6c: bd80 pop {r7, pc} 802fb6e: bf00 nop 802fb70: 40005400 .word 0x40005400 802fb74: 40020400 .word 0x40020400 802fb78: 40023800 .word 0x40023800 0802fb7c : } void GetTemperature(void) { 802fb7c: b580 push {r7, lr} 802fb7e: b088 sub sp, #32 802fb80: af02 add r7, sp, #8 uint8_t comm = 0x07; 802fb82: 2307 movs r3, #7 802fb84: 73fb strb r3, [r7, #15] __IO uint32_t timeout, v; float32_t f, absf; if(FlagGetTemperature) 802fb86: 4bb0 ldr r3, [pc, #704] ; (802fe48 ) 802fb88: 781b ldrb r3, [r3, #0] 802fb8a: b2db uxtb r3, r3 802fb8c: 2b00 cmp r3, #0 802fb8e: f000 82bd beq.w 803010c { FlagGetTemperature = false; 802fb92: 4bad ldr r3, [pc, #692] ; (802fe48 ) 802fb94: 2200 movs r2, #0 802fb96: 701a strb r2, [r3, #0] timeout = HAL_GetTick(); 802fb98: f087 f944 bl 80b6e24 802fb9c: 4603 mov r3, r0 802fb9e: 60bb str r3, [r7, #8] while((HAL_SMBUS_IsDeviceReady(&hsmbus1, 0xB4, 10, 10) != HAL_OK) && ((HAL_GetTick() - timeout) < 50)); 802fba0: bf00 nop 802fba2: 230a movs r3, #10 802fba4: 220a movs r2, #10 802fba6: 21b4 movs r1, #180 ; 0xb4 802fba8: 48a8 ldr r0, [pc, #672] ; (802fe4c ) 802fbaa: f08e fd91 bl 80be6d0 802fbae: 4603 mov r3, r0 802fbb0: 2b00 cmp r3, #0 802fbb2: d006 beq.n 802fbc2 802fbb4: f087 f936 bl 80b6e24 802fbb8: 4602 mov r2, r0 802fbba: 68bb ldr r3, [r7, #8] 802fbbc: 1ad3 subs r3, r2, r3 802fbbe: 2b31 cmp r3, #49 ; 0x31 802fbc0: d9ef bls.n 802fba2 if(timeout > 0) 802fbc2: 68bb ldr r3, [r7, #8] 802fbc4: 2b00 cmp r3, #0 802fbc6: f000 82a1 beq.w 803010c { I2C_Transmitted = 0; 802fbca: 4ba1 ldr r3, [pc, #644] ; (802fe50 ) 802fbcc: 2200 movs r2, #0 802fbce: 601a str r2, [r3, #0] timeout = HAL_GetTick(); 802fbd0: f087 f928 bl 80b6e24 802fbd4: 4603 mov r3, r0 802fbd6: 60bb str r3, [r7, #8] HAL_SMBUS_Master_Transmit_IT(&hsmbus1, 180, &comm, 1, SMBUS_FIRST_FRAME); 802fbd8: f107 020f add.w r2, r7, #15 802fbdc: 2300 movs r3, #0 802fbde: 9300 str r3, [sp, #0] 802fbe0: 2301 movs r3, #1 802fbe2: 21b4 movs r1, #180 ; 0xb4 802fbe4: 4899 ldr r0, [pc, #612] ; (802fe4c ) 802fbe6: f08e fc1b bl 80be420 while((I2C_Transmitted == 0) && ((HAL_GetTick() - timeout) < 50)); 802fbea: bf00 nop 802fbec: 4b98 ldr r3, [pc, #608] ; (802fe50 ) 802fbee: 681b ldr r3, [r3, #0] 802fbf0: 2b00 cmp r3, #0 802fbf2: d106 bne.n 802fc02 802fbf4: f087 f916 bl 80b6e24 802fbf8: 4602 mov r2, r0 802fbfa: 68bb ldr r3, [r7, #8] 802fbfc: 1ad3 subs r3, r2, r3 802fbfe: 2b31 cmp r3, #49 ; 0x31 802fc00: d9f4 bls.n 802fbec if(timeout > 0) 802fc02: 68bb ldr r3, [r7, #8] 802fc04: 2b00 cmp r3, #0 802fc06: f000 8281 beq.w 803010c { HAL_Delay(1); 802fc0a: 2001 movs r0, #1 802fc0c: f087 f916 bl 80b6e3c I2C_Received = 0; 802fc10: 4b90 ldr r3, [pc, #576] ; (802fe54 ) 802fc12: 2200 movs r2, #0 802fc14: 601a str r2, [r3, #0] timeout = HAL_GetTick(); 802fc16: f087 f905 bl 80b6e24 802fc1a: 4603 mov r3, r0 802fc1c: 60bb str r3, [r7, #8] HAL_SMBUS_Master_Receive_IT(&hsmbus1, 180, &TEMPER.ch[0], 2, SMBUS_LAST_FRAME_WITH_PEC); 802fc1e: f04f 63c0 mov.w r3, #100663296 ; 0x6000000 802fc22: 9300 str r3, [sp, #0] 802fc24: 2302 movs r3, #2 802fc26: 4a8c ldr r2, [pc, #560] ; (802fe58 ) 802fc28: 21b4 movs r1, #180 ; 0xb4 802fc2a: 4888 ldr r0, [pc, #544] ; (802fe4c ) 802fc2c: f08e fcae bl 80be58c while((I2C_Received == 0) && ((HAL_GetTick() - timeout) < 50)); 802fc30: bf00 nop 802fc32: 4b88 ldr r3, [pc, #544] ; (802fe54 ) 802fc34: 681b ldr r3, [r3, #0] 802fc36: 2b00 cmp r3, #0 802fc38: d106 bne.n 802fc48 802fc3a: f087 f8f3 bl 80b6e24 802fc3e: 4602 mov r2, r0 802fc40: 68bb ldr r3, [r7, #8] 802fc42: 1ad3 subs r3, r2, r3 802fc44: 2b31 cmp r3, #49 ; 0x31 802fc46: d9f4 bls.n 802fc32 if(timeout > 0) 802fc48: 68bb ldr r3, [r7, #8] 802fc4a: 2b00 cmp r3, #0 802fc4c: f000 825e beq.w 803010c { f = (float32_t) TEMPER.sh; 802fc50: 4b81 ldr r3, [pc, #516] ; (802fe58 ) 802fc52: 881b ldrh r3, [r3, #0] 802fc54: ee07 3a90 vmov s15, r3 802fc58: eef8 7a67 vcvt.f32.u32 s15, s15 802fc5c: edc7 7a05 vstr s15, [r7, #20] f *= 0.02f; 802fc60: edd7 7a05 vldr s15, [r7, #20] 802fc64: ed9f 7a7d vldr s14, [pc, #500] ; 802fe5c 802fc68: ee67 7a87 vmul.f32 s15, s15, s14 802fc6c: edc7 7a05 vstr s15, [r7, #20] f -= 273.15f; 802fc70: edd7 7a05 vldr s15, [r7, #20] 802fc74: ed9f 7a7a vldr s14, [pc, #488] ; 802fe60 802fc78: ee77 7ac7 vsub.f32 s15, s15, s14 802fc7c: edc7 7a05 vstr s15, [r7, #20] absf = ABS(f); 802fc80: edd7 7a05 vldr s15, [r7, #20] 802fc84: eef5 7ac0 vcmpe.f32 s15, #0.0 802fc88: eef1 fa10 vmrs APSR_nzcv, fpscr 802fc8c: dd02 ble.n 802fc94 802fc8e: edd7 7a05 vldr s15, [r7, #20] 802fc92: e003 b.n 802fc9c 802fc94: edd7 7a05 vldr s15, [r7, #20] 802fc98: eef1 7a67 vneg.f32 s15, s15 802fc9c: edc7 7a04 vstr s15, [r7, #16] v = (uint32_t) roundf(absf * 100); 802fca0: edd7 7a04 vldr s15, [r7, #16] 802fca4: ed9f 7a6f vldr s14, [pc, #444] ; 802fe64 802fca8: ee67 7a87 vmul.f32 s15, s15, s14 802fcac: eeb0 0a67 vmov.f32 s0, s15 802fcb0: f09f f978 bl 80cefa4 802fcb4: eef0 7a40 vmov.f32 s15, s0 802fcb8: eefc 7ae7 vcvt.u32.f32 s15, s15 802fcbc: ee17 3a90 vmov r3, s15 802fcc0: 607b str r3, [r7, #4] memset(strT, 0, sizeof(strT)); 802fcc2: 2208 movs r2, #8 802fcc4: 2100 movs r1, #0 802fcc6: 4868 ldr r0, [pc, #416] ; (802fe68 ) 802fcc8: f0a1 fb6a bl 80d13a0 if(f < 0) 802fccc: edd7 7a05 vldr s15, [r7, #20] 802fcd0: eef5 7ac0 vcmpe.f32 s15, #0.0 802fcd4: eef1 fa10 vmrs APSR_nzcv, fpscr 802fcd8: f140 80ce bpl.w 802fe78 { if(absf < 10.0f) 802fcdc: edd7 7a04 vldr s15, [r7, #16] 802fce0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 802fce4: eef4 7ac7 vcmpe.f32 s15, s14 802fce8: eef1 fa10 vmrs APSR_nzcv, fpscr 802fcec: d53f bpl.n 802fd6e { strT[0] = ' '; 802fcee: 4b5e ldr r3, [pc, #376] ; (802fe68 ) 802fcf0: 2220 movs r2, #32 802fcf2: 701a strb r2, [r3, #0] strT[1] = ' '; 802fcf4: 4b5c ldr r3, [pc, #368] ; (802fe68 ) 802fcf6: 2220 movs r2, #32 802fcf8: 705a strb r2, [r3, #1] strT[2] = '-'; 802fcfa: 4b5b ldr r3, [pc, #364] ; (802fe68 ) 802fcfc: 222d movs r2, #45 ; 0x2d 802fcfe: 709a strb r2, [r3, #2] strT[3] = (char) ((v / 100) + 48); 802fd00: 687b ldr r3, [r7, #4] 802fd02: 4a5a ldr r2, [pc, #360] ; (802fe6c ) 802fd04: fba2 2303 umull r2, r3, r2, r3 802fd08: 095b lsrs r3, r3, #5 802fd0a: b2db uxtb r3, r3 802fd0c: 3330 adds r3, #48 ; 0x30 802fd0e: b2da uxtb r2, r3 802fd10: 4b55 ldr r3, [pc, #340] ; (802fe68 ) 802fd12: 70da strb r2, [r3, #3] strT[4] = '.'; 802fd14: 4b54 ldr r3, [pc, #336] ; (802fe68 ) 802fd16: 222e movs r2, #46 ; 0x2e 802fd18: 711a strb r2, [r3, #4] strT[5] = (char) (((v % 100) / 10) + 48); 802fd1a: 687a ldr r2, [r7, #4] 802fd1c: 4b53 ldr r3, [pc, #332] ; (802fe6c ) 802fd1e: fba3 1302 umull r1, r3, r3, r2 802fd22: 095b lsrs r3, r3, #5 802fd24: 2164 movs r1, #100 ; 0x64 802fd26: fb01 f303 mul.w r3, r1, r3 802fd2a: 1ad3 subs r3, r2, r3 802fd2c: 4a50 ldr r2, [pc, #320] ; (802fe70 ) 802fd2e: fba2 2303 umull r2, r3, r2, r3 802fd32: 08db lsrs r3, r3, #3 802fd34: b2db uxtb r3, r3 802fd36: 3330 adds r3, #48 ; 0x30 802fd38: b2da uxtb r2, r3 802fd3a: 4b4b ldr r3, [pc, #300] ; (802fe68 ) 802fd3c: 715a strb r2, [r3, #5] strT[6] = (char) (((v % 100) % 10) + 48); 802fd3e: 687b ldr r3, [r7, #4] 802fd40: 4a4a ldr r2, [pc, #296] ; (802fe6c ) 802fd42: fba2 1203 umull r1, r2, r2, r3 802fd46: 0952 lsrs r2, r2, #5 802fd48: 2164 movs r1, #100 ; 0x64 802fd4a: fb01 f202 mul.w r2, r1, r2 802fd4e: 1a9a subs r2, r3, r2 802fd50: 4b47 ldr r3, [pc, #284] ; (802fe70 ) 802fd52: fba3 1302 umull r1, r3, r3, r2 802fd56: 08d9 lsrs r1, r3, #3 802fd58: 460b mov r3, r1 802fd5a: 009b lsls r3, r3, #2 802fd5c: 440b add r3, r1 802fd5e: 005b lsls r3, r3, #1 802fd60: 1ad1 subs r1, r2, r3 802fd62: b2cb uxtb r3, r1 802fd64: 3330 adds r3, #48 ; 0x30 802fd66: b2da uxtb r2, r3 802fd68: 4b3f ldr r3, [pc, #252] ; (802fe68 ) 802fd6a: 719a strb r2, [r3, #6] } } } } } } 802fd6c: e1ce b.n 803010c if(absf < 100.0f) 802fd6e: edd7 7a04 vldr s15, [r7, #16] 802fd72: ed9f 7a3c vldr s14, [pc, #240] ; 802fe64 802fd76: eef4 7ac7 vcmpe.f32 s15, s14 802fd7a: eef1 fa10 vmrs APSR_nzcv, fpscr 802fd7e: d400 bmi.n 802fd82 } 802fd80: e1c4 b.n 803010c strT[0] = ' '; 802fd82: 4b39 ldr r3, [pc, #228] ; (802fe68 ) 802fd84: 2220 movs r2, #32 802fd86: 701a strb r2, [r3, #0] strT[1] = '-'; 802fd88: 4b37 ldr r3, [pc, #220] ; (802fe68 ) 802fd8a: 222d movs r2, #45 ; 0x2d 802fd8c: 705a strb r2, [r3, #1] strT[2] = (char) ((v / 1000) + 48); 802fd8e: 687b ldr r3, [r7, #4] 802fd90: 4a38 ldr r2, [pc, #224] ; (802fe74 ) 802fd92: fba2 2303 umull r2, r3, r2, r3 802fd96: 099b lsrs r3, r3, #6 802fd98: b2db uxtb r3, r3 802fd9a: 3330 adds r3, #48 ; 0x30 802fd9c: b2da uxtb r2, r3 802fd9e: 4b32 ldr r3, [pc, #200] ; (802fe68 ) 802fda0: 709a strb r2, [r3, #2] strT[3] = (char) ((v % 1000 / 100) + 48); 802fda2: 687a ldr r2, [r7, #4] 802fda4: 4b33 ldr r3, [pc, #204] ; (802fe74 ) 802fda6: fba3 1302 umull r1, r3, r3, r2 802fdaa: 099b lsrs r3, r3, #6 802fdac: f44f 717a mov.w r1, #1000 ; 0x3e8 802fdb0: fb01 f303 mul.w r3, r1, r3 802fdb4: 1ad3 subs r3, r2, r3 802fdb6: 4a2d ldr r2, [pc, #180] ; (802fe6c ) 802fdb8: fba2 2303 umull r2, r3, r2, r3 802fdbc: 095b lsrs r3, r3, #5 802fdbe: b2db uxtb r3, r3 802fdc0: 3330 adds r3, #48 ; 0x30 802fdc2: b2da uxtb r2, r3 802fdc4: 4b28 ldr r3, [pc, #160] ; (802fe68 ) 802fdc6: 70da strb r2, [r3, #3] strT[4] = '.'; 802fdc8: 4b27 ldr r3, [pc, #156] ; (802fe68 ) 802fdca: 222e movs r2, #46 ; 0x2e 802fdcc: 711a strb r2, [r3, #4] strT[5] = (char) ((v % 1000 % 100 / 10) + 48); 802fdce: 687a ldr r2, [r7, #4] 802fdd0: 4b28 ldr r3, [pc, #160] ; (802fe74 ) 802fdd2: fba3 1302 umull r1, r3, r3, r2 802fdd6: 099b lsrs r3, r3, #6 802fdd8: f44f 717a mov.w r1, #1000 ; 0x3e8 802fddc: fb01 f303 mul.w r3, r1, r3 802fde0: 1ad3 subs r3, r2, r3 802fde2: 4a22 ldr r2, [pc, #136] ; (802fe6c ) 802fde4: fba2 1203 umull r1, r2, r2, r3 802fde8: 0952 lsrs r2, r2, #5 802fdea: 2164 movs r1, #100 ; 0x64 802fdec: fb01 f202 mul.w r2, r1, r2 802fdf0: 1a9a subs r2, r3, r2 802fdf2: 4b1f ldr r3, [pc, #124] ; (802fe70 ) 802fdf4: fba3 2302 umull r2, r3, r3, r2 802fdf8: 08db lsrs r3, r3, #3 802fdfa: b2db uxtb r3, r3 802fdfc: 3330 adds r3, #48 ; 0x30 802fdfe: b2da uxtb r2, r3 802fe00: 4b19 ldr r3, [pc, #100] ; (802fe68 ) 802fe02: 715a strb r2, [r3, #5] strT[6] = (char) ((v % 1000 % 100 % 10) + 48); 802fe04: 687a ldr r2, [r7, #4] 802fe06: 4b1b ldr r3, [pc, #108] ; (802fe74 ) 802fe08: fba3 1302 umull r1, r3, r3, r2 802fe0c: 099b lsrs r3, r3, #6 802fe0e: f44f 717a mov.w r1, #1000 ; 0x3e8 802fe12: fb01 f303 mul.w r3, r1, r3 802fe16: 1ad3 subs r3, r2, r3 802fe18: 4a14 ldr r2, [pc, #80] ; (802fe6c ) 802fe1a: fba2 1203 umull r1, r2, r2, r3 802fe1e: 0952 lsrs r2, r2, #5 802fe20: 2164 movs r1, #100 ; 0x64 802fe22: fb01 f202 mul.w r2, r1, r2 802fe26: 1a9a subs r2, r3, r2 802fe28: 4b11 ldr r3, [pc, #68] ; (802fe70 ) 802fe2a: fba3 1302 umull r1, r3, r3, r2 802fe2e: 08d9 lsrs r1, r3, #3 802fe30: 460b mov r3, r1 802fe32: 009b lsls r3, r3, #2 802fe34: 440b add r3, r1 802fe36: 005b lsls r3, r3, #1 802fe38: 1ad1 subs r1, r2, r3 802fe3a: b2cb uxtb r3, r1 802fe3c: 3330 adds r3, #48 ; 0x30 802fe3e: b2da uxtb r2, r3 802fe40: 4b09 ldr r3, [pc, #36] ; (802fe68 ) 802fe42: 719a strb r2, [r3, #6] } 802fe44: e162 b.n 803010c 802fe46: bf00 nop 802fe48: 20020f7d .word 0x20020f7d 802fe4c: 2002590c .word 0x2002590c 802fe50: 20020f80 .word 0x20020f80 802fe54: 20020f84 .word 0x20020f84 802fe58: 20025900 .word 0x20025900 802fe5c: 3ca3d70a .word 0x3ca3d70a 802fe60: 43889333 .word 0x43889333 802fe64: 42c80000 .word 0x42c80000 802fe68: 20025904 .word 0x20025904 802fe6c: 51eb851f .word 0x51eb851f 802fe70: cccccccd .word 0xcccccccd 802fe74: 10624dd3 .word 0x10624dd3 if(absf < 10.0f) 802fe78: edd7 7a04 vldr s15, [r7, #16] 802fe7c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 802fe80: eef4 7ac7 vcmpe.f32 s15, s14 802fe84: eef1 fa10 vmrs APSR_nzcv, fpscr 802fe88: d53f bpl.n 802ff0a strT[0] = ' '; 802fe8a: 4ba2 ldr r3, [pc, #648] ; (8030114 ) 802fe8c: 2220 movs r2, #32 802fe8e: 701a strb r2, [r3, #0] strT[1] = ' '; 802fe90: 4ba0 ldr r3, [pc, #640] ; (8030114 ) 802fe92: 2220 movs r2, #32 802fe94: 705a strb r2, [r3, #1] strT[2] = ' '; 802fe96: 4b9f ldr r3, [pc, #636] ; (8030114 ) 802fe98: 2220 movs r2, #32 802fe9a: 709a strb r2, [r3, #2] strT[3] = (char) ((v / 100) + 48); 802fe9c: 687b ldr r3, [r7, #4] 802fe9e: 4a9e ldr r2, [pc, #632] ; (8030118 ) 802fea0: fba2 2303 umull r2, r3, r2, r3 802fea4: 095b lsrs r3, r3, #5 802fea6: b2db uxtb r3, r3 802fea8: 3330 adds r3, #48 ; 0x30 802feaa: b2da uxtb r2, r3 802feac: 4b99 ldr r3, [pc, #612] ; (8030114 ) 802feae: 70da strb r2, [r3, #3] strT[4] = '.'; 802feb0: 4b98 ldr r3, [pc, #608] ; (8030114 ) 802feb2: 222e movs r2, #46 ; 0x2e 802feb4: 711a strb r2, [r3, #4] strT[5] = (char) (((v % 100) / 10) + 48); 802feb6: 687a ldr r2, [r7, #4] 802feb8: 4b97 ldr r3, [pc, #604] ; (8030118 ) 802feba: fba3 1302 umull r1, r3, r3, r2 802febe: 095b lsrs r3, r3, #5 802fec0: 2164 movs r1, #100 ; 0x64 802fec2: fb01 f303 mul.w r3, r1, r3 802fec6: 1ad3 subs r3, r2, r3 802fec8: 4a94 ldr r2, [pc, #592] ; (803011c ) 802feca: fba2 2303 umull r2, r3, r2, r3 802fece: 08db lsrs r3, r3, #3 802fed0: b2db uxtb r3, r3 802fed2: 3330 adds r3, #48 ; 0x30 802fed4: b2da uxtb r2, r3 802fed6: 4b8f ldr r3, [pc, #572] ; (8030114 ) 802fed8: 715a strb r2, [r3, #5] strT[6] = (char) (((v % 100) % 10) + 48); 802feda: 687b ldr r3, [r7, #4] 802fedc: 4a8e ldr r2, [pc, #568] ; (8030118 ) 802fede: fba2 1203 umull r1, r2, r2, r3 802fee2: 0952 lsrs r2, r2, #5 802fee4: 2164 movs r1, #100 ; 0x64 802fee6: fb01 f202 mul.w r2, r1, r2 802feea: 1a9a subs r2, r3, r2 802feec: 4b8b ldr r3, [pc, #556] ; (803011c ) 802feee: fba3 1302 umull r1, r3, r3, r2 802fef2: 08d9 lsrs r1, r3, #3 802fef4: 460b mov r3, r1 802fef6: 009b lsls r3, r3, #2 802fef8: 440b add r3, r1 802fefa: 005b lsls r3, r3, #1 802fefc: 1ad1 subs r1, r2, r3 802fefe: b2cb uxtb r3, r1 802ff00: 3330 adds r3, #48 ; 0x30 802ff02: b2da uxtb r2, r3 802ff04: 4b83 ldr r3, [pc, #524] ; (8030114 ) 802ff06: 719a strb r2, [r3, #6] } 802ff08: e100 b.n 803010c if(absf < 100.0f) 802ff0a: edd7 7a04 vldr s15, [r7, #16] 802ff0e: ed9f 7a84 vldr s14, [pc, #528] ; 8030120 802ff12: eef4 7ac7 vcmpe.f32 s15, s14 802ff16: eef1 fa10 vmrs APSR_nzcv, fpscr 802ff1a: d561 bpl.n 802ffe0 strT[0] = ' '; 802ff1c: 4b7d ldr r3, [pc, #500] ; (8030114 ) 802ff1e: 2220 movs r2, #32 802ff20: 701a strb r2, [r3, #0] strT[1] = ' '; 802ff22: 4b7c ldr r3, [pc, #496] ; (8030114 ) 802ff24: 2220 movs r2, #32 802ff26: 705a strb r2, [r3, #1] strT[2] = (char) ((v / 1000) + 48); 802ff28: 687b ldr r3, [r7, #4] 802ff2a: 4a7e ldr r2, [pc, #504] ; (8030124 ) 802ff2c: fba2 2303 umull r2, r3, r2, r3 802ff30: 099b lsrs r3, r3, #6 802ff32: b2db uxtb r3, r3 802ff34: 3330 adds r3, #48 ; 0x30 802ff36: b2da uxtb r2, r3 802ff38: 4b76 ldr r3, [pc, #472] ; (8030114 ) 802ff3a: 709a strb r2, [r3, #2] strT[3] = (char) ((v % 1000 / 100) + 48); 802ff3c: 687a ldr r2, [r7, #4] 802ff3e: 4b79 ldr r3, [pc, #484] ; (8030124 ) 802ff40: fba3 1302 umull r1, r3, r3, r2 802ff44: 099b lsrs r3, r3, #6 802ff46: f44f 717a mov.w r1, #1000 ; 0x3e8 802ff4a: fb01 f303 mul.w r3, r1, r3 802ff4e: 1ad3 subs r3, r2, r3 802ff50: 4a71 ldr r2, [pc, #452] ; (8030118 ) 802ff52: fba2 2303 umull r2, r3, r2, r3 802ff56: 095b lsrs r3, r3, #5 802ff58: b2db uxtb r3, r3 802ff5a: 3330 adds r3, #48 ; 0x30 802ff5c: b2da uxtb r2, r3 802ff5e: 4b6d ldr r3, [pc, #436] ; (8030114 ) 802ff60: 70da strb r2, [r3, #3] strT[4] = '.'; 802ff62: 4b6c ldr r3, [pc, #432] ; (8030114 ) 802ff64: 222e movs r2, #46 ; 0x2e 802ff66: 711a strb r2, [r3, #4] strT[5] = (char) ((v % 1000 % 100 / 10) + 48); 802ff68: 687a ldr r2, [r7, #4] 802ff6a: 4b6e ldr r3, [pc, #440] ; (8030124 ) 802ff6c: fba3 1302 umull r1, r3, r3, r2 802ff70: 099b lsrs r3, r3, #6 802ff72: f44f 717a mov.w r1, #1000 ; 0x3e8 802ff76: fb01 f303 mul.w r3, r1, r3 802ff7a: 1ad3 subs r3, r2, r3 802ff7c: 4a66 ldr r2, [pc, #408] ; (8030118 ) 802ff7e: fba2 1203 umull r1, r2, r2, r3 802ff82: 0952 lsrs r2, r2, #5 802ff84: 2164 movs r1, #100 ; 0x64 802ff86: fb01 f202 mul.w r2, r1, r2 802ff8a: 1a9a subs r2, r3, r2 802ff8c: 4b63 ldr r3, [pc, #396] ; (803011c ) 802ff8e: fba3 2302 umull r2, r3, r3, r2 802ff92: 08db lsrs r3, r3, #3 802ff94: b2db uxtb r3, r3 802ff96: 3330 adds r3, #48 ; 0x30 802ff98: b2da uxtb r2, r3 802ff9a: 4b5e ldr r3, [pc, #376] ; (8030114 ) 802ff9c: 715a strb r2, [r3, #5] strT[6] = (char) ((v % 1000 % 100 % 10) + 48); 802ff9e: 687a ldr r2, [r7, #4] 802ffa0: 4b60 ldr r3, [pc, #384] ; (8030124 ) 802ffa2: fba3 1302 umull r1, r3, r3, r2 802ffa6: 099b lsrs r3, r3, #6 802ffa8: f44f 717a mov.w r1, #1000 ; 0x3e8 802ffac: fb01 f303 mul.w r3, r1, r3 802ffb0: 1ad3 subs r3, r2, r3 802ffb2: 4a59 ldr r2, [pc, #356] ; (8030118 ) 802ffb4: fba2 1203 umull r1, r2, r2, r3 802ffb8: 0952 lsrs r2, r2, #5 802ffba: 2164 movs r1, #100 ; 0x64 802ffbc: fb01 f202 mul.w r2, r1, r2 802ffc0: 1a9a subs r2, r3, r2 802ffc2: 4b56 ldr r3, [pc, #344] ; (803011c ) 802ffc4: fba3 1302 umull r1, r3, r3, r2 802ffc8: 08d9 lsrs r1, r3, #3 802ffca: 460b mov r3, r1 802ffcc: 009b lsls r3, r3, #2 802ffce: 440b add r3, r1 802ffd0: 005b lsls r3, r3, #1 802ffd2: 1ad1 subs r1, r2, r3 802ffd4: b2cb uxtb r3, r1 802ffd6: 3330 adds r3, #48 ; 0x30 802ffd8: b2da uxtb r2, r3 802ffda: 4b4e ldr r3, [pc, #312] ; (8030114 ) 802ffdc: 719a strb r2, [r3, #6] } 802ffde: e095 b.n 803010c if(absf < 1000.0f) 802ffe0: edd7 7a04 vldr s15, [r7, #16] 802ffe4: ed9f 7a50 vldr s14, [pc, #320] ; 8030128 802ffe8: eef4 7ac7 vcmpe.f32 s15, s14 802ffec: eef1 fa10 vmrs APSR_nzcv, fpscr 802fff0: d400 bmi.n 802fff4 } 802fff2: e08b b.n 803010c strT[0] = ' '; 802fff4: 4b47 ldr r3, [pc, #284] ; (8030114 ) 802fff6: 2220 movs r2, #32 802fff8: 701a strb r2, [r3, #0] strT[1] = (char) ((v / 10000) + 48); 802fffa: 687b ldr r3, [r7, #4] 802fffc: 4a4b ldr r2, [pc, #300] ; (803012c ) 802fffe: fba2 2303 umull r2, r3, r2, r3 8030002: 0b5b lsrs r3, r3, #13 8030004: b2db uxtb r3, r3 8030006: 3330 adds r3, #48 ; 0x30 8030008: b2da uxtb r2, r3 803000a: 4b42 ldr r3, [pc, #264] ; (8030114 ) 803000c: 705a strb r2, [r3, #1] strT[2] = (char) ((v % 10000 / 1000) + 48); 803000e: 687a ldr r2, [r7, #4] 8030010: 4b46 ldr r3, [pc, #280] ; (803012c ) 8030012: fba3 1302 umull r1, r3, r3, r2 8030016: 0b5b lsrs r3, r3, #13 8030018: f242 7110 movw r1, #10000 ; 0x2710 803001c: fb01 f303 mul.w r3, r1, r3 8030020: 1ad3 subs r3, r2, r3 8030022: 4a40 ldr r2, [pc, #256] ; (8030124 ) 8030024: fba2 2303 umull r2, r3, r2, r3 8030028: 099b lsrs r3, r3, #6 803002a: b2db uxtb r3, r3 803002c: 3330 adds r3, #48 ; 0x30 803002e: b2da uxtb r2, r3 8030030: 4b38 ldr r3, [pc, #224] ; (8030114 ) 8030032: 709a strb r2, [r3, #2] strT[3] = (char) ((v % 10000 % 1000 / 100) + 48); 8030034: 687a ldr r2, [r7, #4] 8030036: 4b3d ldr r3, [pc, #244] ; (803012c ) 8030038: fba3 1302 umull r1, r3, r3, r2 803003c: 0b5b lsrs r3, r3, #13 803003e: f242 7110 movw r1, #10000 ; 0x2710 8030042: fb01 f303 mul.w r3, r1, r3 8030046: 1ad3 subs r3, r2, r3 8030048: 4a36 ldr r2, [pc, #216] ; (8030124 ) 803004a: fba2 1203 umull r1, r2, r2, r3 803004e: 0992 lsrs r2, r2, #6 8030050: f44f 717a mov.w r1, #1000 ; 0x3e8 8030054: fb01 f202 mul.w r2, r1, r2 8030058: 1a9a subs r2, r3, r2 803005a: 4b2f ldr r3, [pc, #188] ; (8030118 ) 803005c: fba3 2302 umull r2, r3, r3, r2 8030060: 095b lsrs r3, r3, #5 8030062: b2db uxtb r3, r3 8030064: 3330 adds r3, #48 ; 0x30 8030066: b2da uxtb r2, r3 8030068: 4b2a ldr r3, [pc, #168] ; (8030114 ) 803006a: 70da strb r2, [r3, #3] strT[4] = '.'; 803006c: 4b29 ldr r3, [pc, #164] ; (8030114 ) 803006e: 222e movs r2, #46 ; 0x2e 8030070: 711a strb r2, [r3, #4] strT[5] = (char) ((v % 10000 % 1000 % 100 / 10) + 48); 8030072: 687b ldr r3, [r7, #4] 8030074: 4a2d ldr r2, [pc, #180] ; (803012c ) 8030076: fba2 1203 umull r1, r2, r2, r3 803007a: 0b52 lsrs r2, r2, #13 803007c: f242 7110 movw r1, #10000 ; 0x2710 8030080: fb01 f202 mul.w r2, r1, r2 8030084: 1a9a subs r2, r3, r2 8030086: 4b27 ldr r3, [pc, #156] ; (8030124 ) 8030088: fba3 1302 umull r1, r3, r3, r2 803008c: 099b lsrs r3, r3, #6 803008e: f44f 717a mov.w r1, #1000 ; 0x3e8 8030092: fb01 f303 mul.w r3, r1, r3 8030096: 1ad3 subs r3, r2, r3 8030098: 4a1f ldr r2, [pc, #124] ; (8030118 ) 803009a: fba2 1203 umull r1, r2, r2, r3 803009e: 0952 lsrs r2, r2, #5 80300a0: 2164 movs r1, #100 ; 0x64 80300a2: fb01 f202 mul.w r2, r1, r2 80300a6: 1a9a subs r2, r3, r2 80300a8: 4b1c ldr r3, [pc, #112] ; (803011c ) 80300aa: fba3 2302 umull r2, r3, r3, r2 80300ae: 08db lsrs r3, r3, #3 80300b0: b2db uxtb r3, r3 80300b2: 3330 adds r3, #48 ; 0x30 80300b4: b2da uxtb r2, r3 80300b6: 4b17 ldr r3, [pc, #92] ; (8030114 ) 80300b8: 715a strb r2, [r3, #5] strT[6] = (char) ((v % 10000 % 1000 % 100 % 10) + 48); 80300ba: 687b ldr r3, [r7, #4] 80300bc: 4a1b ldr r2, [pc, #108] ; (803012c ) 80300be: fba2 1203 umull r1, r2, r2, r3 80300c2: 0b52 lsrs r2, r2, #13 80300c4: f242 7110 movw r1, #10000 ; 0x2710 80300c8: fb01 f202 mul.w r2, r1, r2 80300cc: 1a9a subs r2, r3, r2 80300ce: 4b15 ldr r3, [pc, #84] ; (8030124 ) 80300d0: fba3 1302 umull r1, r3, r3, r2 80300d4: 099b lsrs r3, r3, #6 80300d6: f44f 717a mov.w r1, #1000 ; 0x3e8 80300da: fb01 f303 mul.w r3, r1, r3 80300de: 1ad3 subs r3, r2, r3 80300e0: 4a0d ldr r2, [pc, #52] ; (8030118 ) 80300e2: fba2 1203 umull r1, r2, r2, r3 80300e6: 0952 lsrs r2, r2, #5 80300e8: 2164 movs r1, #100 ; 0x64 80300ea: fb01 f202 mul.w r2, r1, r2 80300ee: 1a9a subs r2, r3, r2 80300f0: 4b0a ldr r3, [pc, #40] ; (803011c ) 80300f2: fba3 1302 umull r1, r3, r3, r2 80300f6: 08d9 lsrs r1, r3, #3 80300f8: 460b mov r3, r1 80300fa: 009b lsls r3, r3, #2 80300fc: 440b add r3, r1 80300fe: 005b lsls r3, r3, #1 8030100: 1ad1 subs r1, r2, r3 8030102: b2cb uxtb r3, r1 8030104: 3330 adds r3, #48 ; 0x30 8030106: b2da uxtb r2, r3 8030108: 4b02 ldr r3, [pc, #8] ; (8030114 ) 803010a: 719a strb r2, [r3, #6] } 803010c: bf00 nop 803010e: 3718 adds r7, #24 8030110: 46bd mov sp, r7 8030112: bd80 pop {r7, pc} 8030114: 20025904 .word 0x20025904 8030118: 51eb851f .word 0x51eb851f 803011c: cccccccd .word 0xcccccccd 8030120: 42c80000 .word 0x42c80000 8030124: 10624dd3 .word 0x10624dd3 8030128: 447a0000 .word 0x447a0000 803012c: d1b71759 .word 0xd1b71759 08030130 : void HAL_SMBUS_MasterTxCpltCallback(SMBUS_HandleTypeDef *hsmbus) { 8030130: b480 push {r7} 8030132: b083 sub sp, #12 8030134: af00 add r7, sp, #0 8030136: 6078 str r0, [r7, #4] I2C_Transmitted = 1; 8030138: 4b04 ldr r3, [pc, #16] ; (803014c ) 803013a: 2201 movs r2, #1 803013c: 601a str r2, [r3, #0] } 803013e: bf00 nop 8030140: 370c adds r7, #12 8030142: 46bd mov sp, r7 8030144: f85d 7b04 ldr.w r7, [sp], #4 8030148: 4770 bx lr 803014a: bf00 nop 803014c: 20020f80 .word 0x20020f80 08030150 : void HAL_SMBUS_MasterRxCpltCallback(SMBUS_HandleTypeDef *hsmbus) { 8030150: b480 push {r7} 8030152: b083 sub sp, #12 8030154: af00 add r7, sp, #0 8030156: 6078 str r0, [r7, #4] I2C_Received = 1; 8030158: 4b04 ldr r3, [pc, #16] ; (803016c ) 803015a: 2201 movs r2, #1 803015c: 601a str r2, [r3, #0] } 803015e: bf00 nop 8030160: 370c adds r7, #12 8030162: 46bd mov sp, r7 8030164: f85d 7b04 ldr.w r7, [sp], #4 8030168: 4770 bx lr 803016a: bf00 nop 803016c: 20020f84 .word 0x20020f84 08030170 : //--------------------------------------------------------------------------- // 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) { 8030170: b590 push {r4, r7, lr} 8030172: f2ad 6da4 subw sp, sp, #1700 ; 0x6a4 8030176: af00 add r7, sp, #0 8030178: f507 7403 add.w r4, r7, #524 ; 0x20c 803017c: 6020 str r0, [r4, #0] 803017e: 4608 mov r0, r1 8030180: f507 7100 add.w r1, r7, #512 ; 0x200 8030184: ed81 0b00 vstr d0, [r1] 8030188: 4611 mov r1, r2 803018a: f507 72fe add.w r2, r7, #508 ; 0x1fc 803018e: 6013 str r3, [r2, #0] 8030190: f507 73f8 add.w r3, r7, #496 ; 0x1f0 8030194: ed83 1b00 vstr d1, [r3] 8030198: f507 73f4 add.w r3, r7, #488 ; 0x1e8 803019c: ed83 2b00 vstr d2, [r3] 80301a0: f207 230b addw r3, r7, #523 ; 0x20b 80301a4: 4602 mov r2, r0 80301a6: 701a strb r2, [r3, #0] 80301a8: f207 230a addw r3, r7, #522 ; 0x20a 80301ac: 460a mov r2, r1 80301ae: 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)); 80301b0: f507 73f8 add.w r3, r7, #496 ; 0x1f0 80301b4: ed93 7b00 vldr d7, [r3] 80301b8: ee37 5b07 vadd.f64 d5, d7, d7 80301bc: 4b92 ldr r3, [pc, #584] ; (8030408 ) 80301be: 681b ldr r3, [r3, #0] 80301c0: ee07 3a90 vmov s15, r3 80301c4: eeb8 6b67 vcvt.f64.u32 d6, s15 80301c8: ee85 7b06 vdiv.f64 d7, d5, d6 80301cc: f507 63d0 add.w r3, r7, #1664 ; 0x680 80301d0: 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; 80301dc: 4a8b ldr r2, [pc, #556] ; (803040c ) 80301de: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80301e2: 00db lsls r3, r3, #3 80301e4: 441a add r2, r3 80301e6: f04f 0300 mov.w r3, #0 80301ea: f04f 0400 mov.w r4, #0 80301ee: e882 0018 stmia.w r2, {r3, r4} 80301f2: 4a86 ldr r2, [pc, #536] ; (803040c ) 80301f4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80301f8: 3332 adds r3, #50 ; 0x32 80301fa: 00db lsls r3, r3, #3 80301fc: 441a add r2, r3 80301fe: f04f 0300 mov.w r3, #0 8030202: f04f 0400 mov.w r4, #0 8030206: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = 0.0; IIR.b1[j] = 0.0; 803020a: 4a80 ldr r2, [pc, #512] ; (803040c ) 803020c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030210: 330a adds r3, #10 8030212: 00db lsls r3, r3, #3 8030214: 441a add r2, r3 8030216: f04f 0300 mov.w r3, #0 803021a: f04f 0400 mov.w r4, #0 803021e: e882 0018 stmia.w r2, {r3, r4} 8030222: 4a7a ldr r2, [pc, #488] ; (803040c ) 8030224: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030228: 333c adds r3, #60 ; 0x3c 803022a: 00db lsls r3, r3, #3 803022c: 441a add r2, r3 803022e: f04f 0300 mov.w r3, #0 8030232: f04f 0400 mov.w r4, #0 8030236: e882 0018 stmia.w r2, {r3, r4} IIR.a2[j] = 0.0; IIR.b2[j] = 0.0; 803023a: 4a74 ldr r2, [pc, #464] ; (803040c ) 803023c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030240: 3314 adds r3, #20 8030242: 00db lsls r3, r3, #3 8030244: 441a add r2, r3 8030246: f04f 0300 mov.w r3, #0 803024a: f04f 0400 mov.w r4, #0 803024e: e882 0018 stmia.w r2, {r3, r4} 8030252: 4a6e ldr r2, [pc, #440] ; (803040c ) 8030254: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030258: 3346 adds r3, #70 ; 0x46 803025a: 00db lsls r3, r3, #3 803025c: 441a add r2, r3 803025e: f04f 0300 mov.w r3, #0 8030262: f04f 0400 mov.w r4, #0 8030266: e882 0018 stmia.w r2, {r3, r4} IIR.a3[j] = 0.0; IIR.b3[j] = 0.0; 803026a: 4a68 ldr r2, [pc, #416] ; (803040c ) 803026c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030270: 331e adds r3, #30 8030272: 00db lsls r3, r3, #3 8030274: 441a add r2, r3 8030276: f04f 0300 mov.w r3, #0 803027a: f04f 0400 mov.w r4, #0 803027e: e882 0018 stmia.w r2, {r3, r4} 8030282: 4a62 ldr r2, [pc, #392] ; (803040c ) 8030284: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030288: 3350 adds r3, #80 ; 0x50 803028a: 00db lsls r3, r3, #3 803028c: 441a add r2, r3 803028e: f04f 0300 mov.w r3, #0 8030292: f04f 0400 mov.w r4, #0 8030296: e882 0018 stmia.w r2, {r3, r4} IIR.a4[j] = 0.0; IIR.b4[j] = 0.0; 803029a: 4a5c ldr r2, [pc, #368] ; (803040c ) 803029c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80302a0: 3328 adds r3, #40 ; 0x28 80302a2: 00db lsls r3, r3, #3 80302a4: 441a add r2, r3 80302a6: f04f 0300 mov.w r3, #0 80302aa: f04f 0400 mov.w r4, #0 80302ae: e882 0018 stmia.w r2, {r3, r4} 80302b2: 4a56 ldr r2, [pc, #344] ; (803040c ) 80302b4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80302b8: 335a adds r3, #90 ; 0x5a 80302ba: 00db lsls r3, r3, #3 80302bc: 441a add r2, r3 80302be: f04f 0300 mov.w r3, #0 80302c2: f04f 0400 mov.w r4, #0 80302c6: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } IIR.NumSections = 0; 80302de: 4b4b ldr r3, [pc, #300] ; (803040c ) 80302e0: 2200 movs r2, #0 80302e2: 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); 80302e6: f507 7404 add.w r4, r7, #528 ; 0x210 80302ea: 4638 mov r0, r7 80302ec: f507 7200 add.w r2, r7, #512 ; 0x200 80302f0: f507 73fe add.w r3, r7, #508 ; 0x1fc 80302f4: f207 210b addw r1, r7, #523 ; 0x20b 80302f8: 7809 ldrb r1, [r1, #0] 80302fa: ed92 0b00 vldr d0, [r2] 80302fe: 681a ldr r2, [r3, #0] 8030300: f003 fb32 bl 8033968 8030304: 463b mov r3, r7 8030306: 4620 mov r0, r4 8030308: 4619 mov r1, r3 803030a: f44f 73f4 mov.w r3, #488 ; 0x1e8 803030e: 461a mov r2, r3 8030310: f0a1 f83b bl 80d138a IIR.NumSections = SPlaneCoeff.NumSections; // NumSections = (NumPoles + 1)/2 8030314: f507 7304 add.w r3, r7, #528 ; 0x210 8030318: f8d3 31e0 ldr.w r3, [r3, #480] ; 0x1e0 803031c: 4a3b ldr r2, [pc, #236] ; (803040c ) 803031e: 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); 8030322: f507 63d0 add.w r3, r7, #1664 ; 0x680 8030326: ed93 7b00 vldr d7, [r3] 803032a: ed9f 6b2f vldr d6, [pc, #188] ; 80303e8 803032e: ee27 7b06 vmul.f64 d7, d7, d6 8030332: eeb0 0b47 vmov.f64 d0, d7 8030336: f09e fdd3 bl 80ceee0 803033a: eeb0 7b40 vmov.f64 d7, d0 803033e: ee37 7b07 vadd.f64 d7, d7, d7 8030342: f507 63cf add.w r3, r7, #1656 ; 0x678 8030346: ed83 7b00 vstr d7, [r3] Q = 1.0 + OmegaC; 803034a: f507 63d0 add.w r3, r7, #1664 ; 0x680 803034e: ed93 7b00 vldr d7, [r3] 8030352: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 8030356: ee37 7b06 vadd.f64 d7, d7, d6 803035a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803035e: ed83 7b00 vstr d7, [r3] if(Q > 1.95)Q = 1.95; 8030362: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030366: ed93 7b00 vldr d7, [r3] 803036a: ed9f 6b21 vldr d6, [pc, #132] ; 80303f0 803036e: eeb4 7bc6 vcmpe.f64 d7, d6 8030372: eef1 fa10 vmrs APSR_nzcv, fpscr 8030376: dd05 ble.n 8030384 8030378: a41d add r4, pc, #116 ; (adr r4, 80303f0 ) 803037a: cc18 ldmia r4, {r3, r4} 803037c: f507 62d1 add.w r2, r7, #1672 ; 0x688 8030380: 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. 8030384: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030388: ed93 7b00 vldr d7, [r3] 803038c: ed9f 6b1a vldr d6, [pc, #104] ; 80303f8 8030390: ee27 7b06 vmul.f64 d7, d7, d6 8030394: eeb0 0b47 vmov.f64 d0, d7 8030398: f09e fda2 bl 80ceee0 803039c: eeb0 6b40 vmov.f64 d6, d0 80303a0: ed9f 7b17 vldr d7, [pc, #92] ; 8030400 80303a4: ee26 7b07 vmul.f64 d7, d6, d7 80303a8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80303ac: ed83 7b00 vstr d7, [r3] Q = OmegaC / BW / Q; // This is the corrected Q. 80303b0: f507 73f4 add.w r3, r7, #488 ; 0x1e8 80303b4: f507 62d0 add.w r2, r7, #1664 ; 0x680 80303b8: ed92 6b00 vldr d6, [r2] 80303bc: ed93 7b00 vldr d7, [r3] 80303c0: ee86 5b07 vdiv.f64 d5, d6, d7 80303c4: f507 63d1 add.w r3, r7, #1672 ; 0x688 80303c8: ed93 6b00 vldr d6, [r3] 80303cc: ee85 7b06 vdiv.f64 d7, d5, d6 80303d0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80303d4: ed83 7b00 vstr d7, [r3] k = 0; 80303d8: 2300 movs r3, #0 80303da: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 for(j=0; j 80303e8: 54442d18 .word 0x54442d18 80303ec: 3ff921fb .word 0x3ff921fb 80303f0: 33333333 .word 0x33333333 80303f4: 3fff3333 .word 0x3fff3333 80303f8: 54442d18 .word 0x54442d18 80303fc: 3fe921fb .word 0x3fe921fb 8030400: 9999999a .word 0x9999999a 8030404: 3fe99999 .word 0x3fe99999 8030408: 20021d64 .word 0x20021d64 803040c: 20025960 .word 0x20025960 { A = SPlaneCoeff.A[j]; // We use A - F to make the code easier to read. 8030410: f507 7204 add.w r2, r7, #528 ; 0x210 8030414: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030418: 00db lsls r3, r3, #3 803041a: 4413 add r3, r2 803041c: cb18 ldmia r3, {r3, r4} 803041e: f507 62ce add.w r2, r7, #1648 ; 0x670 8030422: e882 0018 stmia.w r2, {r3, r4} B = SPlaneCoeff.B[j]; 8030426: f507 7204 add.w r2, r7, #528 ; 0x210 803042a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803042e: 330a adds r3, #10 8030430: 00db lsls r3, r3, #3 8030432: 4413 add r3, r2 8030434: cb18 ldmia r3, {r3, r4} 8030436: f507 62cd add.w r2, r7, #1640 ; 0x668 803043a: e882 0018 stmia.w r2, {r3, r4} C = SPlaneCoeff.C[j]; 803043e: f507 7204 add.w r2, r7, #528 ; 0x210 8030442: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030446: 3314 adds r3, #20 8030448: 00db lsls r3, r3, #3 803044a: 4413 add r3, r2 803044c: cb18 ldmia r3, {r3, r4} 803044e: f507 62cc add.w r2, r7, #1632 ; 0x660 8030452: e882 0018 stmia.w r2, {r3, r4} D = SPlaneCoeff.D[j]; 8030456: f507 7204 add.w r2, r7, #528 ; 0x210 803045a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803045e: 331e adds r3, #30 8030460: 00db lsls r3, r3, #3 8030462: 4413 add r3, r2 8030464: cb18 ldmia r3, {r3, r4} 8030466: f507 62cb add.w r2, r7, #1624 ; 0x658 803046a: e882 0018 stmia.w r2, {r3, r4} E = SPlaneCoeff.E[j]; 803046e: f507 7204 add.w r2, r7, #528 ; 0x210 8030472: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030476: 3328 adds r3, #40 ; 0x28 8030478: 00db lsls r3, r3, #3 803047a: 4413 add r3, r2 803047c: cb18 ldmia r3, {r3, r4} 803047e: f507 62ca add.w r2, r7, #1616 ; 0x650 8030482: e882 0018 stmia.w r2, {r3, r4} F = SPlaneCoeff.F[j]; 8030486: f507 7204 add.w r2, r7, #528 ; 0x210 803048a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803048e: 3332 adds r3, #50 ; 0x32 8030490: 00db lsls r3, r3, #3 8030492: 4413 add r3, r2 8030494: cb18 ldmia r3, {r3, r4} 8030496: f507 62c9 add.w r2, r7, #1608 ; 0x648 803049a: e882 0018 stmia.w r2, {r3, r4} // b's are the numerator a's are the denominator if(PassType == iirLPF) 803049e: f207 230a addw r3, r7, #522 ; 0x20a 80304a2: 781b ldrb r3, [r3, #0] 80304a4: 2b00 cmp r3, #0 80304a6: f040 821d bne.w 80308e4 { if(A == 0.0 && D == 0.0) // 1 pole case 80304aa: f507 63ce add.w r3, r7, #1648 ; 0x670 80304ae: ed93 7b00 vldr d7, [r3] 80304b2: eeb5 7b40 vcmp.f64 d7, #0.0 80304b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80304ba: f040 80c3 bne.w 8030644 80304be: f507 63cb add.w r3, r7, #1624 ; 0x658 80304c2: ed93 7b00 vldr d7, [r3] 80304c6: eeb5 7b40 vcmp.f64 d7, #0.0 80304ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80304ce: f040 80b9 bne.w 8030644 { Arg = (2.0*B + C*T); 80304d2: f507 63cd add.w r3, r7, #1640 ; 0x668 80304d6: ed93 7b00 vldr d7, [r3] 80304da: ee37 6b07 vadd.f64 d6, d7, d7 80304de: f507 63cc add.w r3, r7, #1632 ; 0x660 80304e2: ed93 5b00 vldr d5, [r3] 80304e6: f507 63cf add.w r3, r7, #1656 ; 0x678 80304ea: ed93 7b00 vldr d7, [r3] 80304ee: ee25 7b07 vmul.f64 d7, d5, d7 80304f2: ee36 7b07 vadd.f64 d7, d6, d7 80304f6: f507 63c8 add.w r3, r7, #1600 ; 0x640 80304fa: ed83 7b00 vstr d7, [r3] IIR.a2[j] = 0.0; 80304fe: 4a4f ldr r2, [pc, #316] ; (803063c ) 8030500: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030504: 3314 adds r3, #20 8030506: 00db lsls r3, r3, #3 8030508: 441a add r2, r3 803050a: f04f 0300 mov.w r3, #0 803050e: f04f 0400 mov.w r4, #0 8030512: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = (-2.0*B + C*T) / Arg; 8030516: f507 63cd add.w r3, r7, #1640 ; 0x668 803051a: ed93 7b00 vldr d7, [r3] 803051e: eeb8 6b00 vmov.f64 d6, #128 ; 0xc0000000 -2.0 8030522: ee27 6b06 vmul.f64 d6, d7, d6 8030526: f507 63cc add.w r3, r7, #1632 ; 0x660 803052a: ed93 5b00 vldr d5, [r3] 803052e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030532: ed93 7b00 vldr d7, [r3] 8030536: ee25 7b07 vmul.f64 d7, d5, d7 803053a: ee36 5b07 vadd.f64 d5, d6, d7 803053e: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030542: ed93 6b00 vldr d6, [r3] 8030546: ee85 7b06 vdiv.f64 d7, d5, d6 803054a: 4a3c ldr r2, [pc, #240] ; (803063c ) 803054c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030550: 330a adds r3, #10 8030552: 00db lsls r3, r3, #3 8030554: 4413 add r3, r2 8030556: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; // The filter implementation depends on a0 = 1. 803055a: 4a38 ldr r2, [pc, #224] ; (803063c ) 803055c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030560: 00db lsls r3, r3, #3 8030562: 441a add r2, r3 8030564: f04f 0300 mov.w r3, #0 8030568: 4c35 ldr r4, [pc, #212] ; (8030640 ) 803056a: e882 0018 stmia.w r2, {r3, r4} IIR.b2[j] = 0.0; 803056e: 4a33 ldr r2, [pc, #204] ; (803063c ) 8030570: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030574: 3346 adds r3, #70 ; 0x46 8030576: 00db lsls r3, r3, #3 8030578: 441a add r2, r3 803057a: f04f 0300 mov.w r3, #0 803057e: f04f 0400 mov.w r4, #0 8030582: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = (-2.0*E + F*T) / Arg * C/F; 8030586: f507 63ca add.w r3, r7, #1616 ; 0x650 803058a: ed93 7b00 vldr d7, [r3] 803058e: eeb8 6b00 vmov.f64 d6, #128 ; 0xc0000000 -2.0 8030592: ee27 6b06 vmul.f64 d6, d7, d6 8030596: f507 63c9 add.w r3, r7, #1608 ; 0x648 803059a: ed93 5b00 vldr d5, [r3] 803059e: f507 63cf add.w r3, r7, #1656 ; 0x678 80305a2: ed93 7b00 vldr d7, [r3] 80305a6: ee25 7b07 vmul.f64 d7, d5, d7 80305aa: ee36 5b07 vadd.f64 d5, d6, d7 80305ae: f507 63c8 add.w r3, r7, #1600 ; 0x640 80305b2: ed93 7b00 vldr d7, [r3] 80305b6: ee85 6b07 vdiv.f64 d6, d5, d7 80305ba: f507 63cc add.w r3, r7, #1632 ; 0x660 80305be: ed93 7b00 vldr d7, [r3] 80305c2: ee26 5b07 vmul.f64 d5, d6, d7 80305c6: f507 63c9 add.w r3, r7, #1608 ; 0x648 80305ca: ed93 6b00 vldr d6, [r3] 80305ce: ee85 7b06 vdiv.f64 d7, d5, d6 80305d2: 4a1a ldr r2, [pc, #104] ; (803063c ) 80305d4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80305d8: 333c adds r3, #60 ; 0x3c 80305da: 00db lsls r3, r3, #3 80305dc: 4413 add r3, r2 80305de: ed83 7b00 vstr d7, [r3] IIR.b0[j] = ( 2.0*E + F*T) / Arg * C/F; 80305e2: f507 63ca add.w r3, r7, #1616 ; 0x650 80305e6: ed93 7b00 vldr d7, [r3] 80305ea: ee37 6b07 vadd.f64 d6, d7, d7 80305ee: f507 63c9 add.w r3, r7, #1608 ; 0x648 80305f2: ed93 5b00 vldr d5, [r3] 80305f6: f507 63cf add.w r3, r7, #1656 ; 0x678 80305fa: ed93 7b00 vldr d7, [r3] 80305fe: ee25 7b07 vmul.f64 d7, d5, d7 8030602: ee36 5b07 vadd.f64 d5, d6, d7 8030606: f507 63c8 add.w r3, r7, #1600 ; 0x640 803060a: ed93 7b00 vldr d7, [r3] 803060e: ee85 6b07 vdiv.f64 d6, d5, d7 8030612: f507 63cc add.w r3, r7, #1632 ; 0x660 8030616: ed93 7b00 vldr d7, [r3] 803061a: ee26 5b07 vmul.f64 d5, d6, d7 803061e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030622: ed93 6b00 vldr d6, [r3] 8030626: ee85 7b06 vdiv.f64 d7, d5, d6 803062a: 4a04 ldr r2, [pc, #16] ; (803063c ) 803062c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030630: 3332 adds r3, #50 ; 0x32 8030632: 00db lsls r3, r3, #3 8030634: 4413 add r3, r2 8030636: ed83 7b00 vstr d7, [r3] 803063a: e153 b.n 80308e4 803063c: 20025960 .word 0x20025960 8030640: 3ff00000 .word 0x3ff00000 } else // 2 poles { Arg = (4.0*A + 2.0*B*T + C*T*T); 8030644: f507 63ce add.w r3, r7, #1648 ; 0x670 8030648: ed93 7b00 vldr d7, [r3] 803064c: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8030650: ee27 6b06 vmul.f64 d6, d7, d6 8030654: f507 63cd add.w r3, r7, #1640 ; 0x668 8030658: ed93 7b00 vldr d7, [r3] 803065c: ee37 5b07 vadd.f64 d5, d7, d7 8030660: f507 63cf add.w r3, r7, #1656 ; 0x678 8030664: ed93 7b00 vldr d7, [r3] 8030668: ee25 7b07 vmul.f64 d7, d5, d7 803066c: ee36 6b07 vadd.f64 d6, d6, d7 8030670: f507 63cc add.w r3, r7, #1632 ; 0x660 8030674: ed93 5b00 vldr d5, [r3] 8030678: f507 63cf add.w r3, r7, #1656 ; 0x678 803067c: ed93 7b00 vldr d7, [r3] 8030680: ee25 5b07 vmul.f64 d5, d5, d7 8030684: f507 63cf add.w r3, r7, #1656 ; 0x678 8030688: ed93 7b00 vldr d7, [r3] 803068c: ee25 7b07 vmul.f64 d7, d5, d7 8030690: ee36 7b07 vadd.f64 d7, d6, d7 8030694: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030698: ed83 7b00 vstr d7, [r3] IIR.a2[j] = (4.0*A - 2.0*B*T + C*T*T) / Arg; 803069c: f507 63ce add.w r3, r7, #1648 ; 0x670 80306a0: ed93 7b00 vldr d7, [r3] 80306a4: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80306a8: ee27 6b06 vmul.f64 d6, d7, d6 80306ac: f507 63cd add.w r3, r7, #1640 ; 0x668 80306b0: ed93 7b00 vldr d7, [r3] 80306b4: ee37 5b07 vadd.f64 d5, d7, d7 80306b8: f507 63cf add.w r3, r7, #1656 ; 0x678 80306bc: ed93 7b00 vldr d7, [r3] 80306c0: ee25 7b07 vmul.f64 d7, d5, d7 80306c4: ee36 6b47 vsub.f64 d6, d6, d7 80306c8: f507 63cc add.w r3, r7, #1632 ; 0x660 80306cc: ed93 5b00 vldr d5, [r3] 80306d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80306d4: ed93 7b00 vldr d7, [r3] 80306d8: ee25 5b07 vmul.f64 d5, d5, d7 80306dc: f507 63cf add.w r3, r7, #1656 ; 0x678 80306e0: ed93 7b00 vldr d7, [r3] 80306e4: ee25 7b07 vmul.f64 d7, d5, d7 80306e8: ee36 5b07 vadd.f64 d5, d6, d7 80306ec: f507 63c8 add.w r3, r7, #1600 ; 0x640 80306f0: ed93 6b00 vldr d6, [r3] 80306f4: ee85 7b06 vdiv.f64 d7, d5, d6 80306f8: 4ae0 ldr r2, [pc, #896] ; (8030a7c ) 80306fa: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80306fe: 3314 adds r3, #20 8030700: 00db lsls r3, r3, #3 8030702: 4413 add r3, r2 8030704: ed83 7b00 vstr d7, [r3] IIR.a1[j] = (2.0*C*T*T - 8.0*A) / Arg; 8030708: f507 63cc add.w r3, r7, #1632 ; 0x660 803070c: ed93 7b00 vldr d7, [r3] 8030710: ee37 6b07 vadd.f64 d6, d7, d7 8030714: f507 63cf add.w r3, r7, #1656 ; 0x678 8030718: ed93 7b00 vldr d7, [r3] 803071c: ee26 6b07 vmul.f64 d6, d6, d7 8030720: f507 63cf add.w r3, r7, #1656 ; 0x678 8030724: ed93 7b00 vldr d7, [r3] 8030728: ee26 6b07 vmul.f64 d6, d6, d7 803072c: f507 63ce add.w r3, r7, #1648 ; 0x670 8030730: ed93 7b00 vldr d7, [r3] 8030734: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030738: ee27 7b05 vmul.f64 d7, d7, d5 803073c: ee36 5b47 vsub.f64 d5, d6, d7 8030740: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030744: ed93 6b00 vldr d6, [r3] 8030748: ee85 7b06 vdiv.f64 d7, d5, d6 803074c: 4acb ldr r2, [pc, #812] ; (8030a7c ) 803074e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030752: 330a adds r3, #10 8030754: 00db lsls r3, r3, #3 8030756: 4413 add r3, r2 8030758: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; // The filter implementation depends on a0 = 1. 803075c: 4ac7 ldr r2, [pc, #796] ; (8030a7c ) 803075e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030762: 00db lsls r3, r3, #3 8030764: 441a add r2, r3 8030766: f04f 0300 mov.w r3, #0 803076a: 4cc5 ldr r4, [pc, #788] ; (8030a80 ) 803076c: 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; 8030770: f507 63cb add.w r3, r7, #1624 ; 0x658 8030774: ed93 7b00 vldr d7, [r3] 8030778: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 803077c: ee27 6b06 vmul.f64 d6, d7, d6 8030780: f507 63ca add.w r3, r7, #1616 ; 0x650 8030784: ed93 7b00 vldr d7, [r3] 8030788: ee37 5b07 vadd.f64 d5, d7, d7 803078c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030790: ed93 7b00 vldr d7, [r3] 8030794: ee25 7b07 vmul.f64 d7, d5, d7 8030798: ee36 6b47 vsub.f64 d6, d6, d7 803079c: f507 63c9 add.w r3, r7, #1608 ; 0x648 80307a0: ed93 5b00 vldr d5, [r3] 80307a4: f507 63cf add.w r3, r7, #1656 ; 0x678 80307a8: ed93 7b00 vldr d7, [r3] 80307ac: ee25 5b07 vmul.f64 d5, d5, d7 80307b0: f507 63cf add.w r3, r7, #1656 ; 0x678 80307b4: ed93 7b00 vldr d7, [r3] 80307b8: ee25 7b07 vmul.f64 d7, d5, d7 80307bc: ee36 5b07 vadd.f64 d5, d6, d7 80307c0: f507 63c8 add.w r3, r7, #1600 ; 0x640 80307c4: ed93 7b00 vldr d7, [r3] 80307c8: ee85 6b07 vdiv.f64 d6, d5, d7 80307cc: f507 63cc add.w r3, r7, #1632 ; 0x660 80307d0: ed93 7b00 vldr d7, [r3] 80307d4: ee26 5b07 vmul.f64 d5, d6, d7 80307d8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80307dc: ed93 6b00 vldr d6, [r3] 80307e0: ee85 7b06 vdiv.f64 d7, d5, d6 80307e4: 4aa5 ldr r2, [pc, #660] ; (8030a7c ) 80307e6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80307ea: 3346 adds r3, #70 ; 0x46 80307ec: 00db lsls r3, r3, #3 80307ee: 4413 add r3, r2 80307f0: ed83 7b00 vstr d7, [r3] IIR.b1[j] = (2.0*F*T*T - 8.0*D) / Arg * C/F; 80307f4: f507 63c9 add.w r3, r7, #1608 ; 0x648 80307f8: ed93 7b00 vldr d7, [r3] 80307fc: ee37 6b07 vadd.f64 d6, d7, d7 8030800: f507 63cf add.w r3, r7, #1656 ; 0x678 8030804: ed93 7b00 vldr d7, [r3] 8030808: ee26 6b07 vmul.f64 d6, d6, d7 803080c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030810: ed93 7b00 vldr d7, [r3] 8030814: ee26 6b07 vmul.f64 d6, d6, d7 8030818: f507 63cb add.w r3, r7, #1624 ; 0x658 803081c: ed93 7b00 vldr d7, [r3] 8030820: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030824: ee27 7b05 vmul.f64 d7, d7, d5 8030828: ee36 5b47 vsub.f64 d5, d6, d7 803082c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030830: ed93 7b00 vldr d7, [r3] 8030834: ee85 6b07 vdiv.f64 d6, d5, d7 8030838: f507 63cc add.w r3, r7, #1632 ; 0x660 803083c: ed93 7b00 vldr d7, [r3] 8030840: ee26 5b07 vmul.f64 d5, d6, d7 8030844: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030848: ed93 6b00 vldr d6, [r3] 803084c: ee85 7b06 vdiv.f64 d7, d5, d6 8030850: 4a8a ldr r2, [pc, #552] ; (8030a7c ) 8030852: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030856: 333c adds r3, #60 ; 0x3c 8030858: 00db lsls r3, r3, #3 803085a: 4413 add r3, r2 803085c: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (4*D + F*T*T + 2.0*E*T) / Arg * C/F; 8030860: f507 63cb add.w r3, r7, #1624 ; 0x658 8030864: ed93 7b00 vldr d7, [r3] 8030868: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 803086c: ee27 6b06 vmul.f64 d6, d7, d6 8030870: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030874: ed93 5b00 vldr d5, [r3] 8030878: f507 63cf add.w r3, r7, #1656 ; 0x678 803087c: ed93 7b00 vldr d7, [r3] 8030880: ee25 5b07 vmul.f64 d5, d5, d7 8030884: f507 63cf add.w r3, r7, #1656 ; 0x678 8030888: ed93 7b00 vldr d7, [r3] 803088c: ee25 7b07 vmul.f64 d7, d5, d7 8030890: ee36 6b07 vadd.f64 d6, d6, d7 8030894: f507 63ca add.w r3, r7, #1616 ; 0x650 8030898: ed93 7b00 vldr d7, [r3] 803089c: ee37 5b07 vadd.f64 d5, d7, d7 80308a0: f507 63cf add.w r3, r7, #1656 ; 0x678 80308a4: ed93 7b00 vldr d7, [r3] 80308a8: ee25 7b07 vmul.f64 d7, d5, d7 80308ac: ee36 5b07 vadd.f64 d5, d6, d7 80308b0: f507 63c8 add.w r3, r7, #1600 ; 0x640 80308b4: ed93 7b00 vldr d7, [r3] 80308b8: ee85 6b07 vdiv.f64 d6, d5, d7 80308bc: f507 63cc add.w r3, r7, #1632 ; 0x660 80308c0: ed93 7b00 vldr d7, [r3] 80308c4: ee26 5b07 vmul.f64 d5, d6, d7 80308c8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80308cc: ed93 6b00 vldr d6, [r3] 80308d0: ee85 7b06 vdiv.f64 d7, d5, d6 80308d4: 4a69 ldr r2, [pc, #420] ; (8030a7c ) 80308d6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80308da: 3332 adds r3, #50 ; 0x32 80308dc: 00db lsls r3, r3, #3 80308de: 4413 add r3, r2 80308e0: ed83 7b00 vstr d7, [r3] } } if(PassType == iirHPF) 80308e4: f207 230a addw r3, r7, #522 ; 0x20a 80308e8: 781b ldrb r3, [r3, #0] 80308ea: 2b01 cmp r3, #1 80308ec: f040 821a bne.w 8030d24 { if(A == 0.0 && D == 0.0) // 1 pole 80308f0: f507 63ce add.w r3, r7, #1648 ; 0x670 80308f4: ed93 7b00 vldr d7, [r3] 80308f8: eeb5 7b40 vcmp.f64 d7, #0.0 80308fc: eef1 fa10 vmrs APSR_nzcv, fpscr 8030900: f040 80c0 bne.w 8030a84 8030904: f507 63cb add.w r3, r7, #1624 ; 0x658 8030908: ed93 7b00 vldr d7, [r3] 803090c: eeb5 7b40 vcmp.f64 d7, #0.0 8030910: eef1 fa10 vmrs APSR_nzcv, fpscr 8030914: f040 80b6 bne.w 8030a84 { Arg = 2.0*C + B*T; 8030918: f507 63cc add.w r3, r7, #1632 ; 0x660 803091c: ed93 7b00 vldr d7, [r3] 8030920: ee37 6b07 vadd.f64 d6, d7, d7 8030924: f507 63cd add.w r3, r7, #1640 ; 0x668 8030928: ed93 5b00 vldr d5, [r3] 803092c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030930: ed93 7b00 vldr d7, [r3] 8030934: ee25 7b07 vmul.f64 d7, d5, d7 8030938: ee36 7b07 vadd.f64 d7, d6, d7 803093c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030940: ed83 7b00 vstr d7, [r3] IIR.a2[j] = 0.0; 8030944: 4a4d ldr r2, [pc, #308] ; (8030a7c ) 8030946: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803094a: 3314 adds r3, #20 803094c: 00db lsls r3, r3, #3 803094e: 441a add r2, r3 8030950: f04f 0300 mov.w r3, #0 8030954: f04f 0400 mov.w r4, #0 8030958: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = (B*T - 2.0*C) / Arg; 803095c: f507 63cd add.w r3, r7, #1640 ; 0x668 8030960: ed93 6b00 vldr d6, [r3] 8030964: f507 63cf add.w r3, r7, #1656 ; 0x678 8030968: ed93 7b00 vldr d7, [r3] 803096c: ee26 6b07 vmul.f64 d6, d6, d7 8030970: f507 63cc add.w r3, r7, #1632 ; 0x660 8030974: ed93 7b00 vldr d7, [r3] 8030978: ee37 7b07 vadd.f64 d7, d7, d7 803097c: ee36 5b47 vsub.f64 d5, d6, d7 8030980: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030984: ed93 6b00 vldr d6, [r3] 8030988: ee85 7b06 vdiv.f64 d7, d5, d6 803098c: 4a3b ldr r2, [pc, #236] ; (8030a7c ) 803098e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030992: 330a adds r3, #10 8030994: 00db lsls r3, r3, #3 8030996: 4413 add r3, r2 8030998: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; // The filter implementation depends on a0 = 1. 803099c: 4a37 ldr r2, [pc, #220] ; (8030a7c ) 803099e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80309a2: 00db lsls r3, r3, #3 80309a4: 441a add r2, r3 80309a6: f04f 0300 mov.w r3, #0 80309aa: 4c35 ldr r4, [pc, #212] ; (8030a80 ) 80309ac: e882 0018 stmia.w r2, {r3, r4} IIR.b2[j] = 0.0; 80309b0: 4a32 ldr r2, [pc, #200] ; (8030a7c ) 80309b2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80309b6: 3346 adds r3, #70 ; 0x46 80309b8: 00db lsls r3, r3, #3 80309ba: 441a add r2, r3 80309bc: f04f 0300 mov.w r3, #0 80309c0: f04f 0400 mov.w r4, #0 80309c4: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = (E*T - 2.0*F) / Arg * C/F; 80309c8: f507 63ca add.w r3, r7, #1616 ; 0x650 80309cc: ed93 6b00 vldr d6, [r3] 80309d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80309d4: ed93 7b00 vldr d7, [r3] 80309d8: ee26 6b07 vmul.f64 d6, d6, d7 80309dc: f507 63c9 add.w r3, r7, #1608 ; 0x648 80309e0: ed93 7b00 vldr d7, [r3] 80309e4: ee37 7b07 vadd.f64 d7, d7, d7 80309e8: ee36 5b47 vsub.f64 d5, d6, d7 80309ec: f507 63c8 add.w r3, r7, #1600 ; 0x640 80309f0: ed93 7b00 vldr d7, [r3] 80309f4: ee85 6b07 vdiv.f64 d6, d5, d7 80309f8: f507 63cc add.w r3, r7, #1632 ; 0x660 80309fc: ed93 7b00 vldr d7, [r3] 8030a00: ee26 5b07 vmul.f64 d5, d6, d7 8030a04: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030a08: ed93 6b00 vldr d6, [r3] 8030a0c: ee85 7b06 vdiv.f64 d7, d5, d6 8030a10: 4a1a ldr r2, [pc, #104] ; (8030a7c ) 8030a12: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030a16: 333c adds r3, #60 ; 0x3c 8030a18: 00db lsls r3, r3, #3 8030a1a: 4413 add r3, r2 8030a1c: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (E*T + 2.0*F) / Arg * C/F; 8030a20: f507 63ca add.w r3, r7, #1616 ; 0x650 8030a24: ed93 6b00 vldr d6, [r3] 8030a28: f507 63cf add.w r3, r7, #1656 ; 0x678 8030a2c: ed93 7b00 vldr d7, [r3] 8030a30: ee26 6b07 vmul.f64 d6, d6, d7 8030a34: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030a38: ed93 7b00 vldr d7, [r3] 8030a3c: ee37 7b07 vadd.f64 d7, d7, d7 8030a40: ee36 5b07 vadd.f64 d5, d6, d7 8030a44: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030a48: ed93 7b00 vldr d7, [r3] 8030a4c: ee85 6b07 vdiv.f64 d6, d5, d7 8030a50: f507 63cc add.w r3, r7, #1632 ; 0x660 8030a54: ed93 7b00 vldr d7, [r3] 8030a58: ee26 5b07 vmul.f64 d5, d6, d7 8030a5c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030a60: ed93 6b00 vldr d6, [r3] 8030a64: ee85 7b06 vdiv.f64 d7, d5, d6 8030a68: 4a04 ldr r2, [pc, #16] ; (8030a7c ) 8030a6a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030a6e: 3332 adds r3, #50 ; 0x32 8030a70: 00db lsls r3, r3, #3 8030a72: 4413 add r3, r2 8030a74: ed83 7b00 vstr d7, [r3] 8030a78: e154 b.n 8030d24 8030a7a: bf00 nop 8030a7c: 20025960 .word 0x20025960 8030a80: 3ff00000 .word 0x3ff00000 } else // 2 poles { Arg = A*T*T + 4.0*C + 2.0*B*T; 8030a84: f507 63ce add.w r3, r7, #1648 ; 0x670 8030a88: ed93 6b00 vldr d6, [r3] 8030a8c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030a90: ed93 7b00 vldr d7, [r3] 8030a94: ee26 6b07 vmul.f64 d6, d6, d7 8030a98: f507 63cf add.w r3, r7, #1656 ; 0x678 8030a9c: ed93 7b00 vldr d7, [r3] 8030aa0: ee26 6b07 vmul.f64 d6, d6, d7 8030aa4: f507 63cc add.w r3, r7, #1632 ; 0x660 8030aa8: ed93 7b00 vldr d7, [r3] 8030aac: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030ab0: ee27 7b05 vmul.f64 d7, d7, d5 8030ab4: ee36 6b07 vadd.f64 d6, d6, d7 8030ab8: f507 63cd add.w r3, r7, #1640 ; 0x668 8030abc: ed93 7b00 vldr d7, [r3] 8030ac0: ee37 5b07 vadd.f64 d5, d7, d7 8030ac4: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ac8: ed93 7b00 vldr d7, [r3] 8030acc: ee25 7b07 vmul.f64 d7, d5, d7 8030ad0: ee36 7b07 vadd.f64 d7, d6, d7 8030ad4: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030ad8: ed83 7b00 vstr d7, [r3] IIR.a2[j] = (A*T*T + 4.0*C - 2.0*B*T) / Arg; 8030adc: f507 63ce add.w r3, r7, #1648 ; 0x670 8030ae0: ed93 6b00 vldr d6, [r3] 8030ae4: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ae8: ed93 7b00 vldr d7, [r3] 8030aec: ee26 6b07 vmul.f64 d6, d6, d7 8030af0: f507 63cf add.w r3, r7, #1656 ; 0x678 8030af4: ed93 7b00 vldr d7, [r3] 8030af8: ee26 6b07 vmul.f64 d6, d6, d7 8030afc: f507 63cc add.w r3, r7, #1632 ; 0x660 8030b00: ed93 7b00 vldr d7, [r3] 8030b04: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030b08: ee27 7b05 vmul.f64 d7, d7, d5 8030b0c: ee36 6b07 vadd.f64 d6, d6, d7 8030b10: f507 63cd add.w r3, r7, #1640 ; 0x668 8030b14: ed93 7b00 vldr d7, [r3] 8030b18: ee37 5b07 vadd.f64 d5, d7, d7 8030b1c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b20: ed93 7b00 vldr d7, [r3] 8030b24: ee25 7b07 vmul.f64 d7, d5, d7 8030b28: ee36 5b47 vsub.f64 d5, d6, d7 8030b2c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030b30: ed93 6b00 vldr d6, [r3] 8030b34: ee85 7b06 vdiv.f64 d7, d5, d6 8030b38: 4af6 ldr r2, [pc, #984] ; (8030f14 ) 8030b3a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030b3e: 3314 adds r3, #20 8030b40: 00db lsls r3, r3, #3 8030b42: 4413 add r3, r2 8030b44: ed83 7b00 vstr d7, [r3] IIR.a1[j] = (2.0*A*T*T - 8.0*C) / Arg; 8030b48: f507 63ce add.w r3, r7, #1648 ; 0x670 8030b4c: ed93 7b00 vldr d7, [r3] 8030b50: ee37 6b07 vadd.f64 d6, d7, d7 8030b54: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b58: ed93 7b00 vldr d7, [r3] 8030b5c: ee26 6b07 vmul.f64 d6, d6, d7 8030b60: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b64: ed93 7b00 vldr d7, [r3] 8030b68: ee26 6b07 vmul.f64 d6, d6, d7 8030b6c: f507 63cc add.w r3, r7, #1632 ; 0x660 8030b70: ed93 7b00 vldr d7, [r3] 8030b74: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030b78: ee27 7b05 vmul.f64 d7, d7, d5 8030b7c: ee36 5b47 vsub.f64 d5, d6, d7 8030b80: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030b84: ed93 6b00 vldr d6, [r3] 8030b88: ee85 7b06 vdiv.f64 d7, d5, d6 8030b8c: 4ae1 ldr r2, [pc, #900] ; (8030f14 ) 8030b8e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030b92: 330a adds r3, #10 8030b94: 00db lsls r3, r3, #3 8030b96: 4413 add r3, r2 8030b98: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; 8030b9c: 4add ldr r2, [pc, #884] ; (8030f14 ) 8030b9e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030ba2: 00db lsls r3, r3, #3 8030ba4: 441a add r2, r3 8030ba6: f04f 0300 mov.w r3, #0 8030baa: 4cdb ldr r4, [pc, #876] ; (8030f18 ) 8030bac: 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; 8030bb0: f507 63cb add.w r3, r7, #1624 ; 0x658 8030bb4: ed93 6b00 vldr d6, [r3] 8030bb8: f507 63cf add.w r3, r7, #1656 ; 0x678 8030bbc: ed93 7b00 vldr d7, [r3] 8030bc0: ee26 6b07 vmul.f64 d6, d6, d7 8030bc4: f507 63cf add.w r3, r7, #1656 ; 0x678 8030bc8: ed93 7b00 vldr d7, [r3] 8030bcc: ee26 6b07 vmul.f64 d6, d6, d7 8030bd0: f507 63ca add.w r3, r7, #1616 ; 0x650 8030bd4: ed93 7b00 vldr d7, [r3] 8030bd8: ee37 5b07 vadd.f64 d5, d7, d7 8030bdc: f507 63cf add.w r3, r7, #1656 ; 0x678 8030be0: ed93 7b00 vldr d7, [r3] 8030be4: ee25 7b07 vmul.f64 d7, d5, d7 8030be8: ee36 6b47 vsub.f64 d6, d6, d7 8030bec: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030bf0: ed93 7b00 vldr d7, [r3] 8030bf4: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030bf8: ee27 7b05 vmul.f64 d7, d7, d5 8030bfc: ee36 5b07 vadd.f64 d5, d6, d7 8030c00: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030c04: ed93 7b00 vldr d7, [r3] 8030c08: ee85 6b07 vdiv.f64 d6, d5, d7 8030c0c: f507 63cc add.w r3, r7, #1632 ; 0x660 8030c10: ed93 7b00 vldr d7, [r3] 8030c14: ee26 5b07 vmul.f64 d5, d6, d7 8030c18: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030c1c: ed93 6b00 vldr d6, [r3] 8030c20: ee85 7b06 vdiv.f64 d7, d5, d6 8030c24: 4abb ldr r2, [pc, #748] ; (8030f14 ) 8030c26: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030c2a: 3346 adds r3, #70 ; 0x46 8030c2c: 00db lsls r3, r3, #3 8030c2e: 4413 add r3, r2 8030c30: ed83 7b00 vstr d7, [r3] IIR.b1[j] = (2.0*D*T*T - 8.0*F) / Arg * C/F; 8030c34: f507 63cb add.w r3, r7, #1624 ; 0x658 8030c38: ed93 7b00 vldr d7, [r3] 8030c3c: ee37 6b07 vadd.f64 d6, d7, d7 8030c40: f507 63cf add.w r3, r7, #1656 ; 0x678 8030c44: ed93 7b00 vldr d7, [r3] 8030c48: ee26 6b07 vmul.f64 d6, d6, d7 8030c4c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030c50: ed93 7b00 vldr d7, [r3] 8030c54: ee26 6b07 vmul.f64 d6, d6, d7 8030c58: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030c5c: ed93 7b00 vldr d7, [r3] 8030c60: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030c64: ee27 7b05 vmul.f64 d7, d7, d5 8030c68: ee36 5b47 vsub.f64 d5, d6, d7 8030c6c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030c70: ed93 7b00 vldr d7, [r3] 8030c74: ee85 6b07 vdiv.f64 d6, d5, d7 8030c78: f507 63cc add.w r3, r7, #1632 ; 0x660 8030c7c: ed93 7b00 vldr d7, [r3] 8030c80: ee26 5b07 vmul.f64 d5, d6, d7 8030c84: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030c88: ed93 6b00 vldr d6, [r3] 8030c8c: ee85 7b06 vdiv.f64 d7, d5, d6 8030c90: 4aa0 ldr r2, [pc, #640] ; (8030f14 ) 8030c92: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030c96: 333c adds r3, #60 ; 0x3c 8030c98: 00db lsls r3, r3, #3 8030c9a: 4413 add r3, r2 8030c9c: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (D*T*T + 4.0*F + 2.0*E*T) / Arg * C/F; 8030ca0: f507 63cb add.w r3, r7, #1624 ; 0x658 8030ca4: ed93 6b00 vldr d6, [r3] 8030ca8: f507 63cf add.w r3, r7, #1656 ; 0x678 8030cac: ed93 7b00 vldr d7, [r3] 8030cb0: ee26 6b07 vmul.f64 d6, d6, d7 8030cb4: f507 63cf add.w r3, r7, #1656 ; 0x678 8030cb8: ed93 7b00 vldr d7, [r3] 8030cbc: ee26 6b07 vmul.f64 d6, d6, d7 8030cc0: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030cc4: ed93 7b00 vldr d7, [r3] 8030cc8: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030ccc: ee27 7b05 vmul.f64 d7, d7, d5 8030cd0: ee36 6b07 vadd.f64 d6, d6, d7 8030cd4: f507 63ca add.w r3, r7, #1616 ; 0x650 8030cd8: ed93 7b00 vldr d7, [r3] 8030cdc: ee37 5b07 vadd.f64 d5, d7, d7 8030ce0: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ce4: ed93 7b00 vldr d7, [r3] 8030ce8: ee25 7b07 vmul.f64 d7, d5, d7 8030cec: ee36 5b07 vadd.f64 d5, d6, d7 8030cf0: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030cf4: ed93 7b00 vldr d7, [r3] 8030cf8: ee85 6b07 vdiv.f64 d6, d5, d7 8030cfc: f507 63cc add.w r3, r7, #1632 ; 0x660 8030d00: ed93 7b00 vldr d7, [r3] 8030d04: ee26 5b07 vmul.f64 d5, d6, d7 8030d08: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030d0c: ed93 6b00 vldr d6, [r3] 8030d10: ee85 7b06 vdiv.f64 d7, d5, d6 8030d14: 4a7f ldr r2, [pc, #508] ; (8030f14 ) 8030d16: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030d1a: 3332 adds r3, #50 ; 0x32 8030d1c: 00db lsls r3, r3, #3 8030d1e: 4413 add r3, r2 8030d20: ed83 7b00 vstr d7, [r3] } } if(PassType == iirBPF) 8030d24: f207 230a addw r3, r7, #522 ; 0x20a 8030d28: 781b ldrb r3, [r3, #0] 8030d2a: 2b02 cmp r3, #2 8030d2c: f041 8283 bne.w 8032236 { if(A == 0.0 && D == 0.0) // 1 pole 8030d30: f507 63ce add.w r3, r7, #1648 ; 0x670 8030d34: ed93 7b00 vldr d7, [r3] 8030d38: eeb5 7b40 vcmp.f64 d7, #0.0 8030d3c: eef1 fa10 vmrs APSR_nzcv, fpscr 8030d40: f040 81af bne.w 80310a2 8030d44: f507 63cb add.w r3, r7, #1624 ; 0x658 8030d48: ed93 7b00 vldr d7, [r3] 8030d4c: eeb5 7b40 vcmp.f64 d7, #0.0 8030d50: eef1 fa10 vmrs APSR_nzcv, fpscr 8030d54: f040 81a5 bne.w 80310a2 { Arg = 4.0*B*Q + 2.0*C*T + B*Q*T*T; 8030d58: f507 63cd add.w r3, r7, #1640 ; 0x668 8030d5c: ed93 7b00 vldr d7, [r3] 8030d60: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8030d64: ee27 6b06 vmul.f64 d6, d7, d6 8030d68: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030d6c: ed93 7b00 vldr d7, [r3] 8030d70: ee26 6b07 vmul.f64 d6, d6, d7 8030d74: f507 63cc add.w r3, r7, #1632 ; 0x660 8030d78: ed93 7b00 vldr d7, [r3] 8030d7c: ee37 5b07 vadd.f64 d5, d7, d7 8030d80: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d84: ed93 7b00 vldr d7, [r3] 8030d88: ee25 7b07 vmul.f64 d7, d5, d7 8030d8c: ee36 6b07 vadd.f64 d6, d6, d7 8030d90: f507 63cd add.w r3, r7, #1640 ; 0x668 8030d94: ed93 5b00 vldr d5, [r3] 8030d98: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030d9c: ed93 7b00 vldr d7, [r3] 8030da0: ee25 5b07 vmul.f64 d5, d5, d7 8030da4: f507 63cf add.w r3, r7, #1656 ; 0x678 8030da8: ed93 7b00 vldr d7, [r3] 8030dac: ee25 5b07 vmul.f64 d5, d5, d7 8030db0: f507 63cf add.w r3, r7, #1656 ; 0x678 8030db4: ed93 7b00 vldr d7, [r3] 8030db8: ee25 7b07 vmul.f64 d7, d5, d7 8030dbc: ee36 7b07 vadd.f64 d7, d6, d7 8030dc0: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030dc4: ed83 7b00 vstr d7, [r3] a2[k] = (B*Q*T*T + 4.0*B*Q - 2.0*C*T) / Arg; 8030dc8: f507 63cd add.w r3, r7, #1640 ; 0x668 8030dcc: ed93 6b00 vldr d6, [r3] 8030dd0: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030dd4: ed93 7b00 vldr d7, [r3] 8030dd8: ee26 6b07 vmul.f64 d6, d6, d7 8030ddc: f507 63cf add.w r3, r7, #1656 ; 0x678 8030de0: ed93 7b00 vldr d7, [r3] 8030de4: ee26 6b07 vmul.f64 d6, d6, d7 8030de8: f507 63cf add.w r3, r7, #1656 ; 0x678 8030dec: ed93 7b00 vldr d7, [r3] 8030df0: ee26 6b07 vmul.f64 d6, d6, d7 8030df4: f507 63cd add.w r3, r7, #1640 ; 0x668 8030df8: ed93 7b00 vldr d7, [r3] 8030dfc: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030e00: ee27 5b05 vmul.f64 d5, d7, d5 8030e04: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030e08: ed93 7b00 vldr d7, [r3] 8030e0c: ee25 7b07 vmul.f64 d7, d5, d7 8030e10: ee36 6b07 vadd.f64 d6, d6, d7 8030e14: f507 63cc add.w r3, r7, #1632 ; 0x660 8030e18: ed93 7b00 vldr d7, [r3] 8030e1c: ee37 5b07 vadd.f64 d5, d7, d7 8030e20: f507 63cf add.w r3, r7, #1656 ; 0x678 8030e24: ed93 7b00 vldr d7, [r3] 8030e28: ee25 7b07 vmul.f64 d7, d5, d7 8030e2c: ee36 5b47 vsub.f64 d5, d6, d7 8030e30: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030e34: ed93 6b00 vldr d6, [r3] 8030e38: ee85 7b06 vdiv.f64 d7, d5, d6 8030e3c: f507 62b1 add.w r2, r7, #1416 ; 0x588 8030e40: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8030e44: 00db lsls r3, r3, #3 8030e46: 4413 add r3, r2 8030e48: ed83 7b00 vstr d7, [r3] a1[k] = (2.0*B*Q*T*T - 8.0*B*Q) / Arg ; 8030e4c: f507 63cd add.w r3, r7, #1640 ; 0x668 8030e50: ed93 7b00 vldr d7, [r3] 8030e54: ee37 6b07 vadd.f64 d6, d7, d7 8030e58: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030e5c: ed93 7b00 vldr d7, [r3] 8030e60: ee26 6b07 vmul.f64 d6, d6, d7 8030e64: f507 63cf add.w r3, r7, #1656 ; 0x678 8030e68: ed93 7b00 vldr d7, [r3] 8030e6c: ee26 6b07 vmul.f64 d6, d6, d7 8030e70: f507 63cf add.w r3, r7, #1656 ; 0x678 8030e74: ed93 7b00 vldr d7, [r3] 8030e78: ee26 6b07 vmul.f64 d6, d6, d7 8030e7c: f507 63cd add.w r3, r7, #1640 ; 0x668 8030e80: ed93 7b00 vldr d7, [r3] 8030e84: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030e88: ee27 5b05 vmul.f64 d5, d7, d5 8030e8c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030e90: ed93 7b00 vldr d7, [r3] 8030e94: ee25 7b07 vmul.f64 d7, d5, d7 8030e98: ee36 5b47 vsub.f64 d5, d6, d7 8030e9c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030ea0: ed93 6b00 vldr d6, [r3] 8030ea4: ee85 7b06 vdiv.f64 d7, d5, d6 8030ea8: f507 62a7 add.w r2, r7, #1336 ; 0x538 8030eac: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8030eb0: 00db lsls r3, r3, #3 8030eb2: 4413 add r3, r2 8030eb4: ed83 7b00 vstr d7, [r3] a0[k] = 1.0; 8030eb8: f507 629d add.w r2, r7, #1256 ; 0x4e8 8030ebc: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8030ec0: 00db lsls r3, r3, #3 8030ec2: 441a add r2, r3 8030ec4: f04f 0300 mov.w r3, #0 8030ec8: 4c13 ldr r4, [pc, #76] ; (8030f18 ) 8030eca: e882 0018 stmia.w r2, {r3, r4} b2[k] = (E*Q*T*T + 4.0*E*Q - 2.0*F*T) / Arg * C/F; 8030ece: f507 63ca add.w r3, r7, #1616 ; 0x650 8030ed2: ed93 6b00 vldr d6, [r3] 8030ed6: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030eda: ed93 7b00 vldr d7, [r3] 8030ede: ee26 6b07 vmul.f64 d6, d6, d7 8030ee2: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ee6: ed93 7b00 vldr d7, [r3] 8030eea: ee26 6b07 vmul.f64 d6, d6, d7 8030eee: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ef2: ed93 7b00 vldr d7, [r3] 8030ef6: ee26 6b07 vmul.f64 d6, d6, d7 8030efa: f507 63ca add.w r3, r7, #1616 ; 0x650 8030efe: ed93 7b00 vldr d7, [r3] 8030f02: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030f06: ee27 5b05 vmul.f64 d5, d7, d5 8030f0a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030f0e: ed93 7b00 vldr d7, [r3] 8030f12: e003 b.n 8030f1c 8030f14: 20025960 .word 0x20025960 8030f18: 3ff00000 .word 0x3ff00000 8030f1c: ee25 7b07 vmul.f64 d7, d5, d7 8030f20: ee36 6b07 vadd.f64 d6, d6, d7 8030f24: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030f28: ed93 7b00 vldr d7, [r3] 8030f2c: ee37 5b07 vadd.f64 d5, d7, d7 8030f30: f507 63cf add.w r3, r7, #1656 ; 0x678 8030f34: ed93 7b00 vldr d7, [r3] 8030f38: ee25 7b07 vmul.f64 d7, d5, d7 8030f3c: ee36 5b47 vsub.f64 d5, d6, d7 8030f40: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030f44: ed93 7b00 vldr d7, [r3] 8030f48: ee85 6b07 vdiv.f64 d6, d5, d7 8030f4c: f507 63cc add.w r3, r7, #1632 ; 0x660 8030f50: ed93 7b00 vldr d7, [r3] 8030f54: ee26 5b07 vmul.f64 d5, d6, d7 8030f58: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030f5c: ed93 6b00 vldr d6, [r3] 8030f60: ee85 7b06 vdiv.f64 d7, d5, d6 8030f64: f507 6293 add.w r2, r7, #1176 ; 0x498 8030f68: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8030f6c: 00db lsls r3, r3, #3 8030f6e: 4413 add r3, r2 8030f70: ed83 7b00 vstr d7, [r3] b1[k] = (2.0*E*Q*T*T - 8.0*E*Q) / Arg * C/F; 8030f74: f507 63ca add.w r3, r7, #1616 ; 0x650 8030f78: ed93 7b00 vldr d7, [r3] 8030f7c: ee37 6b07 vadd.f64 d6, d7, d7 8030f80: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030f84: ed93 7b00 vldr d7, [r3] 8030f88: ee26 6b07 vmul.f64 d6, d6, d7 8030f8c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030f90: ed93 7b00 vldr d7, [r3] 8030f94: ee26 6b07 vmul.f64 d6, d6, d7 8030f98: f507 63cf add.w r3, r7, #1656 ; 0x678 8030f9c: ed93 7b00 vldr d7, [r3] 8030fa0: ee26 6b07 vmul.f64 d6, d6, d7 8030fa4: f507 63ca add.w r3, r7, #1616 ; 0x650 8030fa8: ed93 7b00 vldr d7, [r3] 8030fac: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030fb0: ee27 5b05 vmul.f64 d5, d7, d5 8030fb4: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030fb8: ed93 7b00 vldr d7, [r3] 8030fbc: ee25 7b07 vmul.f64 d7, d5, d7 8030fc0: ee36 5b47 vsub.f64 d5, d6, d7 8030fc4: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030fc8: ed93 7b00 vldr d7, [r3] 8030fcc: ee85 6b07 vdiv.f64 d6, d5, d7 8030fd0: f507 63cc add.w r3, r7, #1632 ; 0x660 8030fd4: ed93 7b00 vldr d7, [r3] 8030fd8: ee26 5b07 vmul.f64 d5, d6, d7 8030fdc: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030fe0: ed93 6b00 vldr d6, [r3] 8030fe4: ee85 7b06 vdiv.f64 d7, d5, d6 8030fe8: f507 6289 add.w r2, r7, #1096 ; 0x448 8030fec: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8030ff0: 00db lsls r3, r3, #3 8030ff2: 4413 add r3, r2 8030ff4: ed83 7b00 vstr d7, [r3] b0[k] = (4.0*E*Q + 2.0*F*T + E*Q*T*T) / Arg * C/F; 8030ff8: f507 63ca add.w r3, r7, #1616 ; 0x650 8030ffc: ed93 7b00 vldr d7, [r3] 8031000: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031004: ee27 6b06 vmul.f64 d6, d7, d6 8031008: f507 63d1 add.w r3, r7, #1672 ; 0x688 803100c: ed93 7b00 vldr d7, [r3] 8031010: ee26 6b07 vmul.f64 d6, d6, d7 8031014: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031018: ed93 7b00 vldr d7, [r3] 803101c: ee37 5b07 vadd.f64 d5, d7, d7 8031020: f507 63cf add.w r3, r7, #1656 ; 0x678 8031024: ed93 7b00 vldr d7, [r3] 8031028: ee25 7b07 vmul.f64 d7, d5, d7 803102c: ee36 6b07 vadd.f64 d6, d6, d7 8031030: f507 63ca add.w r3, r7, #1616 ; 0x650 8031034: ed93 5b00 vldr d5, [r3] 8031038: f507 63d1 add.w r3, r7, #1672 ; 0x688 803103c: ed93 7b00 vldr d7, [r3] 8031040: ee25 5b07 vmul.f64 d5, d5, d7 8031044: f507 63cf add.w r3, r7, #1656 ; 0x678 8031048: ed93 7b00 vldr d7, [r3] 803104c: ee25 5b07 vmul.f64 d5, d5, d7 8031050: f507 63cf add.w r3, r7, #1656 ; 0x678 8031054: ed93 7b00 vldr d7, [r3] 8031058: ee25 7b07 vmul.f64 d7, d5, d7 803105c: ee36 5b07 vadd.f64 d5, d6, d7 8031060: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031064: ed93 7b00 vldr d7, [r3] 8031068: ee85 6b07 vdiv.f64 d6, d5, d7 803106c: f507 63cc add.w r3, r7, #1632 ; 0x660 8031070: ed93 7b00 vldr d7, [r3] 8031074: ee26 5b07 vmul.f64 d5, d6, d7 8031078: f507 63c9 add.w r3, r7, #1608 ; 0x648 803107c: ed93 6b00 vldr d6, [r3] 8031080: ee85 7b06 vdiv.f64 d7, d5, d6 8031084: f507 727e add.w r2, r7, #1016 ; 0x3f8 8031088: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 803108c: 00db lsls r3, r3, #3 803108e: 4413 add r3, r2 8031090: ed83 7b00 vstr d7, [r3] k++; 8031094: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031098: 3301 adds r3, #1 803109a: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 803109e: f001 b8ca b.w 8032236 } 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; 80310a2: f507 63ce add.w r3, r7, #1648 ; 0x670 80310a6: ed93 7b00 vldr d7, [r3] 80310aa: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 80310ae: ee27 6b06 vmul.f64 d6, d7, d6 80310b2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80310b6: ed93 7b00 vldr d7, [r3] 80310ba: ee26 6b07 vmul.f64 d6, d6, d7 80310be: f507 63d1 add.w r3, r7, #1672 ; 0x688 80310c2: ed93 7b00 vldr d7, [r3] 80310c6: ee26 6b07 vmul.f64 d6, d6, d7 80310ca: f507 63ce add.w r3, r7, #1648 ; 0x670 80310ce: ed93 5b00 vldr d5, [r3] 80310d2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80310d6: ed93 7b00 vldr d7, [r3] 80310da: ee25 5b07 vmul.f64 d5, d5, d7 80310de: f507 63d1 add.w r3, r7, #1672 ; 0x688 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 5b07 vmul.f64 d5, d5, d7 80310f6: f507 63cf add.w r3, r7, #1656 ; 0x678 80310fa: ed93 7b00 vldr d7, [r3] 80310fe: ee25 5b07 vmul.f64 d5, d5, d7 8031102: f507 63cf add.w r3, r7, #1656 ; 0x678 8031106: ed93 7b00 vldr d7, [r3] 803110a: ee25 5b07 vmul.f64 d5, d5, d7 803110e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031112: ed93 7b00 vldr d7, [r3] 8031116: ee25 7b07 vmul.f64 d7, d5, d7 803111a: ee36 6b07 vadd.f64 d6, d6, d7 803111e: f507 63ce add.w r3, r7, #1648 ; 0x670 8031122: ed93 7b00 vldr d7, [r3] 8031126: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803112a: ee27 5b05 vmul.f64 d5, d7, d5 803112e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031132: ed93 7b00 vldr d7, [r3] 8031136: ee25 5b07 vmul.f64 d5, d5, d7 803113a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803113e: ed93 7b00 vldr d7, [r3] 8031142: ee25 5b07 vmul.f64 d5, d5, d7 8031146: f507 63cf add.w r3, r7, #1656 ; 0x678 803114a: ed93 7b00 vldr d7, [r3] 803114e: ee25 5b07 vmul.f64 d5, d5, d7 8031152: f507 63cf add.w r3, r7, #1656 ; 0x678 8031156: ed93 7b00 vldr d7, [r3] 803115a: ee25 7b07 vmul.f64 d7, d5, d7 803115e: ee36 6b07 vadd.f64 d6, d6, d7 8031162: f507 63cd add.w r3, r7, #1640 ; 0x668 8031166: ed93 7b00 vldr d7, [r3] 803116a: ee37 5b07 vadd.f64 d5, d7, d7 803116e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031172: ed93 7b00 vldr d7, [r3] 8031176: ee25 5b07 vmul.f64 d5, d5, d7 803117a: f507 63cf add.w r3, r7, #1656 ; 0x678 803117e: ed93 7b00 vldr d7, [r3] 8031182: ee25 5b07 vmul.f64 d5, d5, d7 8031186: f507 63cf add.w r3, r7, #1656 ; 0x678 803118a: ed93 7b00 vldr d7, [r3] 803118e: ee25 5b07 vmul.f64 d5, d5, d7 8031192: f507 63cf add.w r3, r7, #1656 ; 0x678 8031196: ed93 7b00 vldr d7, [r3] 803119a: ee25 7b07 vmul.f64 d7, d5, d7 803119e: ee36 6b47 vsub.f64 d6, d6, d7 80311a2: f507 63cd add.w r3, r7, #1640 ; 0x668 80311a6: ed93 7b00 vldr d7, [r3] 80311aa: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80311ae: ee27 5b05 vmul.f64 d5, d7, d5 80311b2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80311b6: ed93 7b00 vldr d7, [r3] 80311ba: ee25 5b07 vmul.f64 d5, d5, d7 80311be: f507 63cf add.w r3, r7, #1656 ; 0x678 80311c2: ed93 7b00 vldr d7, [r3] 80311c6: ee25 7b07 vmul.f64 d7, d5, d7 80311ca: ee36 6b47 vsub.f64 d6, d6, d7 80311ce: f507 63cc add.w r3, r7, #1632 ; 0x660 80311d2: ed93 7b00 vldr d7, [r3] 80311d6: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80311da: ee27 5b05 vmul.f64 d5, d7, d5 80311de: f507 63cf add.w r3, r7, #1656 ; 0x678 80311e2: ed93 7b00 vldr d7, [r3] 80311e6: ee25 5b07 vmul.f64 d5, d5, d7 80311ea: f507 63cf add.w r3, r7, #1656 ; 0x678 80311ee: ed93 7b00 vldr d7, [r3] 80311f2: ee25 7b07 vmul.f64 d7, d5, d7 80311f6: ee36 6b07 vadd.f64 d6, d6, d7 80311fa: f507 63c9 add.w r3, r7, #1608 ; 0x648 80311fe: ed93 7b00 vldr d7, [r3] 8031202: ee26 7b07 vmul.f64 d7, d6, d7 8031206: 4afc ldr r2, [pc, #1008] ; (80315f8 ) 8031208: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803120c: 3328 adds r3, #40 ; 0x28 803120e: 00db lsls r3, r3, #3 8031210: 4413 add r3, r2 8031212: 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; 8031216: f507 63cf add.w r3, r7, #1656 ; 0x678 803121a: ed93 7b00 vldr d7, [r3] 803121e: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031222: ee27 6b06 vmul.f64 d6, d7, d6 8031226: f507 63cf add.w r3, r7, #1656 ; 0x678 803122a: ed93 7b00 vldr d7, [r3] 803122e: ee26 6b07 vmul.f64 d6, d6, d7 8031232: f507 63cf add.w r3, r7, #1656 ; 0x678 8031236: ed93 7b00 vldr d7, [r3] 803123a: ee26 6b07 vmul.f64 d6, d6, d7 803123e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031242: ed93 7b00 vldr d7, [r3] 8031246: ee26 6b07 vmul.f64 d6, d6, d7 803124a: f507 63ce add.w r3, r7, #1648 ; 0x670 803124e: ed93 7b00 vldr d7, [r3] 8031252: ee26 6b07 vmul.f64 d6, d6, d7 8031256: f507 63d1 add.w r3, r7, #1672 ; 0x688 803125a: ed93 7b00 vldr d7, [r3] 803125e: ee26 6b07 vmul.f64 d6, d6, d7 8031262: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031266: ed93 7b00 vldr d7, [r3] 803126a: ee26 6b07 vmul.f64 d6, d6, d7 803126e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031272: ed93 7b00 vldr d7, [r3] 8031276: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803127a: ee27 5b05 vmul.f64 d5, d7, d5 803127e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031282: ed93 7b00 vldr d7, [r3] 8031286: ee25 5b07 vmul.f64 d5, d5, d7 803128a: f507 63cf add.w r3, r7, #1656 ; 0x678 803128e: ed93 7b00 vldr d7, [r3] 8031292: ee25 5b07 vmul.f64 d5, d5, d7 8031296: f507 63cf add.w r3, r7, #1656 ; 0x678 803129a: ed93 7b00 vldr d7, [r3] 803129e: ee25 5b07 vmul.f64 d5, d5, d7 80312a2: f507 63cd add.w r3, r7, #1640 ; 0x668 80312a6: ed93 7b00 vldr d7, [r3] 80312aa: ee25 7b07 vmul.f64 d7, d5, d7 80312ae: ee36 6b47 vsub.f64 d6, d6, d7 80312b2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80312b6: ed93 7b00 vldr d7, [r3] 80312ba: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80312be: ee27 5b05 vmul.f64 d5, d7, d5 80312c2: f507 63cd add.w r3, r7, #1640 ; 0x668 80312c6: ed93 7b00 vldr d7, [r3] 80312ca: ee25 5b07 vmul.f64 d5, d5, d7 80312ce: f507 63cf add.w r3, r7, #1656 ; 0x678 80312d2: ed93 7b00 vldr d7, [r3] 80312d6: ee25 7b07 vmul.f64 d7, d5, d7 80312da: ee36 6b07 vadd.f64 d6, d6, d7 80312de: f507 63ce add.w r3, r7, #1648 ; 0x670 80312e2: ed93 7b00 vldr d7, [r3] 80312e6: ed9f 5bc0 vldr d5, [pc, #768] ; 80315e8 80312ea: ee27 5b05 vmul.f64 d5, d7, d5 80312ee: f507 63d1 add.w r3, r7, #1672 ; 0x688 80312f2: ed93 7b00 vldr d7, [r3] 80312f6: ee25 5b07 vmul.f64 d5, d5, d7 80312fa: f507 63d1 add.w r3, r7, #1672 ; 0x688 80312fe: ed93 7b00 vldr d7, [r3] 8031302: ee25 7b07 vmul.f64 d7, d5, d7 8031306: ee36 6b47 vsub.f64 d6, d6, d7 803130a: f507 63c9 add.w r3, r7, #1608 ; 0x648 803130e: ed93 7b00 vldr d7, [r3] 8031312: ee26 7b07 vmul.f64 d7, d6, d7 8031316: 4ab8 ldr r2, [pc, #736] ; (80315f8 ) 8031318: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803131c: 331e adds r3, #30 803131e: 00db lsls r3, r3, #3 8031320: 4413 add r3, r2 8031322: 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; 8031326: f507 63ce add.w r3, r7, #1648 ; 0x670 803132a: ed93 7b00 vldr d7, [r3] 803132e: ed9f 6bb0 vldr d6, [pc, #704] ; 80315f0 8031332: ee27 6b06 vmul.f64 d6, d7, d6 8031336: f507 63d1 add.w r3, r7, #1672 ; 0x688 803133a: ed93 7b00 vldr d7, [r3] 803133e: ee26 6b07 vmul.f64 d6, d6, d7 8031342: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031346: ed93 7b00 vldr d7, [r3] 803134a: ee26 6b07 vmul.f64 d6, d6, d7 803134e: f507 63ce add.w r3, r7, #1648 ; 0x670 8031352: ed93 7b00 vldr d7, [r3] 8031356: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803135a: ee27 5b05 vmul.f64 d5, d7, d5 803135e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031362: ed93 7b00 vldr d7, [r3] 8031366: ee25 5b07 vmul.f64 d5, d5, d7 803136a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803136e: ed93 7b00 vldr d7, [r3] 8031372: ee25 5b07 vmul.f64 d5, d5, d7 8031376: f507 63cf add.w r3, r7, #1656 ; 0x678 803137a: ed93 7b00 vldr d7, [r3] 803137e: ee25 5b07 vmul.f64 d5, d5, d7 8031382: f507 63cf add.w r3, r7, #1656 ; 0x678 8031386: ed93 7b00 vldr d7, [r3] 803138a: ee25 7b07 vmul.f64 d7, d5, d7 803138e: ee36 6b47 vsub.f64 d6, d6, d7 8031392: f507 63ce add.w r3, r7, #1648 ; 0x670 8031396: ed93 7b00 vldr d7, [r3] 803139a: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 803139e: ee27 5b05 vmul.f64 d5, d7, d5 80313a2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80313a6: ed93 7b00 vldr d7, [r3] 80313aa: ee25 5b07 vmul.f64 d5, d5, d7 80313ae: f507 63d1 add.w r3, r7, #1672 ; 0x688 80313b2: ed93 7b00 vldr d7, [r3] 80313b6: ee25 5b07 vmul.f64 d5, d5, d7 80313ba: f507 63cf add.w r3, r7, #1656 ; 0x678 80313be: ed93 7b00 vldr d7, [r3] 80313c2: ee25 5b07 vmul.f64 d5, d5, d7 80313c6: f507 63cf add.w r3, r7, #1656 ; 0x678 80313ca: ed93 7b00 vldr d7, [r3] 80313ce: ee25 5b07 vmul.f64 d5, d5, d7 80313d2: f507 63cf add.w r3, r7, #1656 ; 0x678 80313d6: ed93 7b00 vldr d7, [r3] 80313da: ee25 5b07 vmul.f64 d5, d5, d7 80313de: f507 63cf add.w r3, r7, #1656 ; 0x678 80313e2: ed93 7b00 vldr d7, [r3] 80313e6: ee25 7b07 vmul.f64 d7, d5, d7 80313ea: ee36 6b07 vadd.f64 d6, d6, d7 80313ee: f507 63cc add.w r3, r7, #1632 ; 0x660 80313f2: ed93 7b00 vldr d7, [r3] 80313f6: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80313fa: ee27 5b05 vmul.f64 d5, d7, d5 80313fe: f507 63cf add.w r3, r7, #1656 ; 0x678 8031402: ed93 7b00 vldr d7, [r3] 8031406: ee25 5b07 vmul.f64 d5, d5, d7 803140a: f507 63cf add.w r3, r7, #1656 ; 0x678 803140e: ed93 7b00 vldr d7, [r3] 8031412: ee25 7b07 vmul.f64 d7, d5, d7 8031416: ee36 6b47 vsub.f64 d6, d6, d7 803141a: f507 63c9 add.w r3, r7, #1608 ; 0x648 803141e: ed93 7b00 vldr d7, [r3] 8031422: ee26 7b07 vmul.f64 d7, d6, d7 8031426: 4a74 ldr r2, [pc, #464] ; (80315f8 ) 8031428: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803142c: 3314 adds r3, #20 803142e: 00db lsls r3, r3, #3 8031430: 4413 add r3, r2 8031432: 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; 8031436: f507 63cf add.w r3, r7, #1656 ; 0x678 803143a: ed93 7b00 vldr d7, [r3] 803143e: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031442: ee27 6b06 vmul.f64 d6, d7, d6 8031446: f507 63cf add.w r3, r7, #1656 ; 0x678 803144a: ed93 7b00 vldr d7, [r3] 803144e: ee26 6b07 vmul.f64 d6, d6, d7 8031452: f507 63cf add.w r3, r7, #1656 ; 0x678 8031456: ed93 7b00 vldr d7, [r3] 803145a: ee26 6b07 vmul.f64 d6, d6, d7 803145e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031462: ed93 7b00 vldr d7, [r3] 8031466: ee26 6b07 vmul.f64 d6, d6, d7 803146a: f507 63ce add.w r3, r7, #1648 ; 0x670 803146e: ed93 7b00 vldr d7, [r3] 8031472: ee26 6b07 vmul.f64 d6, d6, d7 8031476: f507 63d1 add.w r3, r7, #1672 ; 0x688 803147a: ed93 7b00 vldr d7, [r3] 803147e: ee26 6b07 vmul.f64 d6, d6, d7 8031482: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031486: ed93 7b00 vldr d7, [r3] 803148a: ee26 6b07 vmul.f64 d6, d6, d7 803148e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031492: ed93 7b00 vldr d7, [r3] 8031496: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803149a: ee27 5b05 vmul.f64 d5, d7, d5 803149e: f507 63cf add.w r3, r7, #1656 ; 0x678 80314a2: ed93 7b00 vldr d7, [r3] 80314a6: ee25 5b07 vmul.f64 d5, d5, d7 80314aa: f507 63cf add.w r3, r7, #1656 ; 0x678 80314ae: ed93 7b00 vldr d7, [r3] 80314b2: ee25 5b07 vmul.f64 d5, d5, d7 80314b6: f507 63cf add.w r3, r7, #1656 ; 0x678 80314ba: ed93 7b00 vldr d7, [r3] 80314be: ee25 5b07 vmul.f64 d5, d5, d7 80314c2: f507 63cd add.w r3, r7, #1640 ; 0x668 80314c6: ed93 7b00 vldr d7, [r3] 80314ca: ee25 7b07 vmul.f64 d7, d5, d7 80314ce: ee36 6b07 vadd.f64 d6, d6, d7 80314d2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80314d6: ed93 7b00 vldr d7, [r3] 80314da: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80314de: ee27 5b05 vmul.f64 d5, d7, d5 80314e2: f507 63cd add.w r3, r7, #1640 ; 0x668 80314e6: ed93 7b00 vldr d7, [r3] 80314ea: ee25 5b07 vmul.f64 d5, d5, d7 80314ee: f507 63cf add.w r3, r7, #1656 ; 0x678 80314f2: ed93 7b00 vldr d7, [r3] 80314f6: ee25 7b07 vmul.f64 d7, d5, d7 80314fa: ee36 6b47 vsub.f64 d6, d6, d7 80314fe: f507 63ce add.w r3, r7, #1648 ; 0x670 8031502: ed93 7b00 vldr d7, [r3] 8031506: ed9f 5b38 vldr d5, [pc, #224] ; 80315e8 803150a: ee27 5b05 vmul.f64 d5, d7, d5 803150e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031512: ed93 7b00 vldr d7, [r3] 8031516: ee25 5b07 vmul.f64 d5, d5, d7 803151a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803151e: ed93 7b00 vldr d7, [r3] 8031522: ee25 7b07 vmul.f64 d7, d5, d7 8031526: ee36 6b47 vsub.f64 d6, d6, d7 803152a: f507 63c9 add.w r3, r7, #1608 ; 0x648 803152e: ed93 7b00 vldr d7, [r3] 8031532: ee26 7b07 vmul.f64 d7, d6, d7 8031536: 4a30 ldr r2, [pc, #192] ; (80315f8 ) 8031538: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803153c: 330a adds r3, #10 803153e: 00db lsls r3, r3, #3 8031540: 4413 add r3, r2 8031542: 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; 8031546: f507 63ce add.w r3, r7, #1648 ; 0x670 803154a: ed93 7b00 vldr d7, [r3] 803154e: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8031552: ee27 6b06 vmul.f64 d6, d7, d6 8031556: f507 63d1 add.w r3, r7, #1672 ; 0x688 803155a: ed93 7b00 vldr d7, [r3] 803155e: ee26 6b07 vmul.f64 d6, d6, d7 8031562: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031566: ed93 7b00 vldr d7, [r3] 803156a: ee26 6b07 vmul.f64 d6, d6, d7 803156e: f507 63ce add.w r3, r7, #1648 ; 0x670 8031572: ed93 5b00 vldr d5, [r3] 8031576: f507 63d1 add.w r3, r7, #1672 ; 0x688 803157a: ed93 7b00 vldr d7, [r3] 803157e: ee25 5b07 vmul.f64 d5, d5, d7 8031582: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031586: ed93 7b00 vldr d7, [r3] 803158a: ee25 5b07 vmul.f64 d5, d5, d7 803158e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031592: ed93 7b00 vldr d7, [r3] 8031596: ee25 5b07 vmul.f64 d5, d5, d7 803159a: f507 63cf add.w r3, r7, #1656 ; 0x678 803159e: ed93 7b00 vldr d7, [r3] 80315a2: ee25 5b07 vmul.f64 d5, d5, d7 80315a6: f507 63cf add.w r3, r7, #1656 ; 0x678 80315aa: ed93 7b00 vldr d7, [r3] 80315ae: ee25 5b07 vmul.f64 d5, d5, d7 80315b2: f507 63cf add.w r3, r7, #1656 ; 0x678 80315b6: ed93 7b00 vldr d7, [r3] 80315ba: ee25 7b07 vmul.f64 d7, d5, d7 80315be: ee36 6b07 vadd.f64 d6, d6, d7 80315c2: f507 63ce add.w r3, r7, #1648 ; 0x670 80315c6: ed93 7b00 vldr d7, [r3] 80315ca: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80315ce: ee27 5b05 vmul.f64 d5, d7, d5 80315d2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80315d6: ed93 7b00 vldr d7, [r3] 80315da: ee25 5b07 vmul.f64 d5, d5, d7 80315de: f507 63d1 add.w r3, r7, #1672 ; 0x688 80315e2: e00b b.n 80315fc 80315e4: f3af 8000 nop.w 80315e8: 00000000 .word 0x00000000 80315ec: 40500000 .word 0x40500000 80315f0: 00000000 .word 0x00000000 80315f4: 40580000 .word 0x40580000 80315f8: 20025960 .word 0x20025960 80315fc: ed93 7b00 vldr d7, [r3] 8031600: ee25 5b07 vmul.f64 d5, d5, d7 8031604: f507 63cf add.w r3, r7, #1656 ; 0x678 8031608: ed93 7b00 vldr d7, [r3] 803160c: ee25 5b07 vmul.f64 d5, d5, d7 8031610: f507 63cf add.w r3, r7, #1656 ; 0x678 8031614: ed93 7b00 vldr d7, [r3] 8031618: ee25 7b07 vmul.f64 d7, d5, d7 803161c: ee36 6b07 vadd.f64 d6, d6, d7 8031620: f507 63cd add.w r3, r7, #1640 ; 0x668 8031624: ed93 7b00 vldr d7, [r3] 8031628: ee37 5b07 vadd.f64 d5, d7, d7 803162c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031630: ed93 7b00 vldr d7, [r3] 8031634: ee25 5b07 vmul.f64 d5, d5, d7 8031638: f507 63cf add.w r3, r7, #1656 ; 0x678 803163c: ed93 7b00 vldr d7, [r3] 8031640: ee25 5b07 vmul.f64 d5, d5, d7 8031644: f507 63cf add.w r3, r7, #1656 ; 0x678 8031648: ed93 7b00 vldr d7, [r3] 803164c: ee25 5b07 vmul.f64 d5, d5, d7 8031650: f507 63cf add.w r3, r7, #1656 ; 0x678 8031654: ed93 7b00 vldr d7, [r3] 8031658: ee25 7b07 vmul.f64 d7, d5, d7 803165c: ee36 6b07 vadd.f64 d6, d6, d7 8031660: f507 63cd add.w r3, r7, #1640 ; 0x668 8031664: ed93 7b00 vldr d7, [r3] 8031668: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803166c: ee27 5b05 vmul.f64 d5, d7, d5 8031670: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031674: ed93 7b00 vldr d7, [r3] 8031678: ee25 5b07 vmul.f64 d5, d5, d7 803167c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031680: ed93 7b00 vldr d7, [r3] 8031684: ee25 7b07 vmul.f64 d7, d5, d7 8031688: ee36 6b07 vadd.f64 d6, d6, d7 803168c: f507 63cc add.w r3, r7, #1632 ; 0x660 8031690: ed93 7b00 vldr d7, [r3] 8031694: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031698: ee27 5b05 vmul.f64 d5, d7, d5 803169c: f507 63cf add.w r3, r7, #1656 ; 0x678 80316a0: ed93 7b00 vldr d7, [r3] 80316a4: ee25 5b07 vmul.f64 d5, d5, d7 80316a8: f507 63cf add.w r3, r7, #1656 ; 0x678 80316ac: ed93 7b00 vldr d7, [r3] 80316b0: ee25 7b07 vmul.f64 d7, d5, d7 80316b4: ee36 6b07 vadd.f64 d6, d6, d7 80316b8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80316bc: ed93 7b00 vldr d7, [r3] 80316c0: ee26 7b07 vmul.f64 d7, d6, d7 80316c4: 4afa ldr r2, [pc, #1000] ; (8031ab0 ) 80316c6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80316ca: 00db lsls r3, r3, #3 80316cc: 4413 add r3, r2 80316ce: 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; 80316d2: f507 63cb add.w r3, r7, #1624 ; 0x658 80316d6: ed93 7b00 vldr d7, [r3] 80316da: eeb2 6b00 vmov.f64 d6, #32 ; 0x41000000 8.0 80316de: ee27 6b06 vmul.f64 d6, d7, d6 80316e2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80316e6: ed93 7b00 vldr d7, [r3] 80316ea: ee26 6b07 vmul.f64 d6, d6, d7 80316ee: f507 63d1 add.w r3, r7, #1672 ; 0x688 80316f2: ed93 7b00 vldr d7, [r3] 80316f6: ee26 6b07 vmul.f64 d6, d6, d7 80316fa: f507 63cf add.w r3, r7, #1656 ; 0x678 80316fe: ed93 7b00 vldr d7, [r3] 8031702: ee26 6b07 vmul.f64 d6, d6, d7 8031706: f507 63cf add.w r3, r7, #1656 ; 0x678 803170a: ed93 7b00 vldr d7, [r3] 803170e: ee26 6b07 vmul.f64 d6, d6, d7 8031712: f507 63ca add.w r3, r7, #1616 ; 0x650 8031716: ed93 7b00 vldr d7, [r3] 803171a: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803171e: ee27 5b05 vmul.f64 d5, d7, d5 8031722: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031726: ed93 7b00 vldr d7, [r3] 803172a: ee25 5b07 vmul.f64 d5, d5, d7 803172e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031732: ed93 7b00 vldr d7, [r3] 8031736: ee25 7b07 vmul.f64 d7, d5, d7 803173a: ee36 6b47 vsub.f64 d6, d6, d7 803173e: f507 63cb add.w r3, r7, #1624 ; 0x658 8031742: ed93 7b00 vldr d7, [r3] 8031746: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803174a: ee27 5b05 vmul.f64 d5, d7, d5 803174e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031752: ed93 7b00 vldr d7, [r3] 8031756: ee25 5b07 vmul.f64 d5, d5, d7 803175a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803175e: ed93 7b00 vldr d7, [r3] 8031762: ee25 7b07 vmul.f64 d7, d5, d7 8031766: ee36 6b07 vadd.f64 d6, d6, d7 803176a: f507 63ca add.w r3, r7, #1616 ; 0x650 803176e: ed93 7b00 vldr d7, [r3] 8031772: ee37 5b07 vadd.f64 d5, d7, d7 8031776: f507 63d1 add.w r3, r7, #1672 ; 0x688 803177a: ed93 7b00 vldr d7, [r3] 803177e: ee25 5b07 vmul.f64 d5, d5, d7 8031782: f507 63cf add.w r3, r7, #1656 ; 0x678 8031786: ed93 7b00 vldr d7, [r3] 803178a: ee25 5b07 vmul.f64 d5, d5, d7 803178e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031792: ed93 7b00 vldr d7, [r3] 8031796: ee25 5b07 vmul.f64 d5, d5, d7 803179a: f507 63cf add.w r3, r7, #1656 ; 0x678 803179e: ed93 7b00 vldr d7, [r3] 80317a2: ee25 7b07 vmul.f64 d7, d5, d7 80317a6: ee36 6b47 vsub.f64 d6, d6, d7 80317aa: f507 63cb add.w r3, r7, #1624 ; 0x658 80317ae: ed93 5b00 vldr d5, [r3] 80317b2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80317b6: ed93 7b00 vldr d7, [r3] 80317ba: ee25 5b07 vmul.f64 d5, d5, d7 80317be: f507 63d1 add.w r3, r7, #1672 ; 0x688 80317c2: ed93 7b00 vldr d7, [r3] 80317c6: ee25 5b07 vmul.f64 d5, d5, d7 80317ca: f507 63cf add.w r3, r7, #1656 ; 0x678 80317ce: ed93 7b00 vldr d7, [r3] 80317d2: ee25 5b07 vmul.f64 d5, d5, d7 80317d6: f507 63cf add.w r3, r7, #1656 ; 0x678 80317da: ed93 7b00 vldr d7, [r3] 80317de: ee25 5b07 vmul.f64 d5, d5, d7 80317e2: f507 63cf add.w r3, r7, #1656 ; 0x678 80317e6: ed93 7b00 vldr d7, [r3] 80317ea: ee25 5b07 vmul.f64 d5, d5, d7 80317ee: f507 63cf add.w r3, r7, #1656 ; 0x678 80317f2: ed93 7b00 vldr d7, [r3] 80317f6: ee25 7b07 vmul.f64 d7, d5, d7 80317fa: ee36 6b07 vadd.f64 d6, d6, d7 80317fe: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031802: ed93 7b00 vldr d7, [r3] 8031806: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803180a: ee27 5b05 vmul.f64 d5, d7, d5 803180e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031812: ed93 7b00 vldr d7, [r3] 8031816: ee25 5b07 vmul.f64 d5, d5, d7 803181a: f507 63cf add.w r3, r7, #1656 ; 0x678 803181e: ed93 7b00 vldr d7, [r3] 8031822: ee25 7b07 vmul.f64 d7, d5, d7 8031826: ee36 6b07 vadd.f64 d6, d6, d7 803182a: f507 63cc add.w r3, r7, #1632 ; 0x660 803182e: ed93 7b00 vldr d7, [r3] 8031832: ee26 7b07 vmul.f64 d7, d6, d7 8031836: 4a9e ldr r2, [pc, #632] ; (8031ab0 ) 8031838: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803183c: 335a adds r3, #90 ; 0x5a 803183e: 00db lsls r3, r3, #3 8031840: 4413 add r3, r2 8031842: 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; 8031846: f507 63ca add.w r3, r7, #1616 ; 0x650 803184a: ed93 7b00 vldr d7, [r3] 803184e: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8031852: ee27 6b06 vmul.f64 d6, d7, d6 8031856: f507 63d1 add.w r3, r7, #1672 ; 0x688 803185a: ed93 7b00 vldr d7, [r3] 803185e: ee26 6b07 vmul.f64 d6, d6, d7 8031862: f507 63cf add.w r3, r7, #1656 ; 0x678 8031866: ed93 7b00 vldr d7, [r3] 803186a: ee26 6b07 vmul.f64 d6, d6, d7 803186e: f507 63ca add.w r3, r7, #1616 ; 0x650 8031872: ed93 7b00 vldr d7, [r3] 8031876: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803187a: ee27 5b05 vmul.f64 d5, d7, d5 803187e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031882: ed93 7b00 vldr d7, [r3] 8031886: ee25 5b07 vmul.f64 d5, d5, d7 803188a: f507 63cf add.w r3, r7, #1656 ; 0x678 803188e: ed93 7b00 vldr d7, [r3] 8031892: ee25 5b07 vmul.f64 d5, d5, d7 8031896: f507 63cf add.w r3, r7, #1656 ; 0x678 803189a: ed93 7b00 vldr d7, [r3] 803189e: ee25 5b07 vmul.f64 d5, d5, d7 80318a2: f507 63cf add.w r3, r7, #1656 ; 0x678 80318a6: ed93 7b00 vldr d7, [r3] 80318aa: ee25 7b07 vmul.f64 d7, d5, d7 80318ae: ee36 6b47 vsub.f64 d6, d6, d7 80318b2: f507 63cb add.w r3, r7, #1624 ; 0x658 80318b6: ed93 7b00 vldr d7, [r3] 80318ba: ed9f 5b79 vldr d5, [pc, #484] ; 8031aa0 80318be: ee27 5b05 vmul.f64 d5, d7, d5 80318c2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80318c6: ed93 7b00 vldr d7, [r3] 80318ca: ee25 5b07 vmul.f64 d5, d5, d7 80318ce: f507 63d1 add.w r3, r7, #1672 ; 0x688 80318d2: ed93 7b00 vldr d7, [r3] 80318d6: ee25 7b07 vmul.f64 d7, d5, d7 80318da: ee36 6b47 vsub.f64 d6, d6, d7 80318de: f507 63cb add.w r3, r7, #1624 ; 0x658 80318e2: ed93 7b00 vldr d7, [r3] 80318e6: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80318ea: ee27 5b05 vmul.f64 d5, d7, d5 80318ee: f507 63d1 add.w r3, r7, #1672 ; 0x688 80318f2: ed93 7b00 vldr d7, [r3] 80318f6: ee25 5b07 vmul.f64 d5, d5, d7 80318fa: f507 63d1 add.w r3, r7, #1672 ; 0x688 80318fe: ed93 7b00 vldr d7, [r3] 8031902: ee25 5b07 vmul.f64 d5, d5, d7 8031906: f507 63cf add.w r3, r7, #1656 ; 0x678 803190a: ed93 7b00 vldr d7, [r3] 803190e: ee25 5b07 vmul.f64 d5, d5, d7 8031912: f507 63cf add.w r3, r7, #1656 ; 0x678 8031916: ed93 7b00 vldr d7, [r3] 803191a: ee25 5b07 vmul.f64 d5, d5, d7 803191e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031922: ed93 7b00 vldr d7, [r3] 8031926: ee25 5b07 vmul.f64 d5, d5, d7 803192a: f507 63cf add.w r3, r7, #1656 ; 0x678 803192e: ed93 7b00 vldr d7, [r3] 8031932: ee25 7b07 vmul.f64 d7, d5, d7 8031936: ee36 6b07 vadd.f64 d6, d6, d7 803193a: f507 63cc add.w r3, r7, #1632 ; 0x660 803193e: ed93 7b00 vldr d7, [r3] 8031942: ee26 7b07 vmul.f64 d7, d6, d7 8031946: 4a5a ldr r2, [pc, #360] ; (8031ab0 ) 8031948: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803194c: 3350 adds r3, #80 ; 0x50 803194e: 00db lsls r3, r3, #3 8031950: 4413 add r3, r2 8031952: 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; 8031956: f507 63cb add.w r3, r7, #1624 ; 0x658 803195a: ed93 7b00 vldr d7, [r3] 803195e: ed9f 6b52 vldr d6, [pc, #328] ; 8031aa8 8031962: ee27 6b06 vmul.f64 d6, d7, d6 8031966: f507 63d1 add.w r3, r7, #1672 ; 0x688 803196a: ed93 7b00 vldr d7, [r3] 803196e: ee26 6b07 vmul.f64 d6, d6, d7 8031972: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031976: ed93 7b00 vldr d7, [r3] 803197a: ee26 6b07 vmul.f64 d6, d6, d7 803197e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031982: ed93 7b00 vldr d7, [r3] 8031986: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803198a: ee27 5b05 vmul.f64 d5, d7, d5 803198e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031992: ed93 7b00 vldr d7, [r3] 8031996: ee25 5b07 vmul.f64 d5, d5, d7 803199a: f507 63cf add.w r3, r7, #1656 ; 0x678 803199e: ed93 7b00 vldr d7, [r3] 80319a2: ee25 7b07 vmul.f64 d7, d5, d7 80319a6: ee36 6b47 vsub.f64 d6, d6, d7 80319aa: f507 63cb add.w r3, r7, #1624 ; 0x658 80319ae: ed93 7b00 vldr d7, [r3] 80319b2: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 80319b6: ee27 5b05 vmul.f64 d5, d7, d5 80319ba: f507 63d1 add.w r3, r7, #1672 ; 0x688 80319be: ed93 7b00 vldr d7, [r3] 80319c2: ee25 5b07 vmul.f64 d5, d5, d7 80319c6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80319ca: ed93 7b00 vldr d7, [r3] 80319ce: ee25 5b07 vmul.f64 d5, d5, d7 80319d2: f507 63cf add.w r3, r7, #1656 ; 0x678 80319d6: ed93 7b00 vldr d7, [r3] 80319da: ee25 5b07 vmul.f64 d5, d5, d7 80319de: f507 63cf add.w r3, r7, #1656 ; 0x678 80319e2: ed93 7b00 vldr d7, [r3] 80319e6: ee25 5b07 vmul.f64 d5, d5, d7 80319ea: f507 63cf add.w r3, r7, #1656 ; 0x678 80319ee: ed93 7b00 vldr d7, [r3] 80319f2: ee25 5b07 vmul.f64 d5, d5, d7 80319f6: f507 63cf add.w r3, r7, #1656 ; 0x678 80319fa: ed93 7b00 vldr d7, [r3] 80319fe: ee25 7b07 vmul.f64 d7, d5, d7 8031a02: ee36 6b07 vadd.f64 d6, d6, d7 8031a06: f507 63cb add.w r3, r7, #1624 ; 0x658 8031a0a: ed93 7b00 vldr d7, [r3] 8031a0e: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8031a12: ee27 5b05 vmul.f64 d5, d7, d5 8031a16: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031a1a: ed93 7b00 vldr d7, [r3] 8031a1e: ee25 5b07 vmul.f64 d5, d5, d7 8031a22: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031a26: ed93 7b00 vldr d7, [r3] 8031a2a: ee25 5b07 vmul.f64 d5, d5, d7 8031a2e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031a32: ed93 7b00 vldr d7, [r3] 8031a36: ee25 5b07 vmul.f64 d5, d5, d7 8031a3a: f507 63cf add.w r3, r7, #1656 ; 0x678 8031a3e: ed93 7b00 vldr d7, [r3] 8031a42: ee25 7b07 vmul.f64 d7, d5, d7 8031a46: ee36 6b47 vsub.f64 d6, d6, d7 8031a4a: f507 63cc add.w r3, r7, #1632 ; 0x660 8031a4e: ed93 7b00 vldr d7, [r3] 8031a52: ee26 7b07 vmul.f64 d7, d6, d7 8031a56: 4a16 ldr r2, [pc, #88] ; (8031ab0 ) 8031a58: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031a5c: 3346 adds r3, #70 ; 0x46 8031a5e: 00db lsls r3, r3, #3 8031a60: 4413 add r3, r2 8031a62: 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; 8031a66: f507 63cb add.w r3, r7, #1624 ; 0x658 8031a6a: ed93 7b00 vldr d7, [r3] 8031a6e: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031a72: ee27 6b06 vmul.f64 d6, d7, d6 8031a76: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031a7a: ed93 7b00 vldr d7, [r3] 8031a7e: ee26 6b07 vmul.f64 d6, d6, d7 8031a82: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031a86: ed93 7b00 vldr d7, [r3] 8031a8a: ee26 6b07 vmul.f64 d6, d6, d7 8031a8e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031a92: ed93 7b00 vldr d7, [r3] 8031a96: ee26 6b07 vmul.f64 d6, d6, d7 8031a9a: f507 63cf add.w r3, r7, #1656 ; 0x678 8031a9e: e009 b.n 8031ab4 8031aa0: 00000000 .word 0x00000000 8031aa4: 40500000 .word 0x40500000 8031aa8: 00000000 .word 0x00000000 8031aac: 40580000 .word 0x40580000 8031ab0: 20025960 .word 0x20025960 8031ab4: ed93 7b00 vldr d7, [r3] 8031ab8: ee26 6b07 vmul.f64 d6, d6, d7 8031abc: f507 63cf add.w r3, r7, #1656 ; 0x678 8031ac0: ed93 7b00 vldr d7, [r3] 8031ac4: ee26 6b07 vmul.f64 d6, d6, d7 8031ac8: f507 63cf add.w r3, r7, #1656 ; 0x678 8031acc: ed93 7b00 vldr d7, [r3] 8031ad0: ee26 6b07 vmul.f64 d6, d6, d7 8031ad4: f507 63cb add.w r3, r7, #1624 ; 0x658 8031ad8: ed93 7b00 vldr d7, [r3] 8031adc: ed9f 5bda vldr d5, [pc, #872] ; 8031e48 8031ae0: ee27 5b05 vmul.f64 d5, d7, d5 8031ae4: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031ae8: ed93 7b00 vldr d7, [r3] 8031aec: ee25 5b07 vmul.f64 d5, d5, d7 8031af0: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031af4: ed93 7b00 vldr d7, [r3] 8031af8: ee25 7b07 vmul.f64 d7, d5, d7 8031afc: ee36 6b47 vsub.f64 d6, d6, d7 8031b00: f507 63ca add.w r3, r7, #1616 ; 0x650 8031b04: ed93 7b00 vldr d7, [r3] 8031b08: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031b0c: ee27 5b05 vmul.f64 d5, d7, d5 8031b10: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031b14: ed93 7b00 vldr d7, [r3] 8031b18: ee25 5b07 vmul.f64 d5, d5, d7 8031b1c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031b20: ed93 7b00 vldr d7, [r3] 8031b24: ee25 5b07 vmul.f64 d5, d5, d7 8031b28: f507 63cf add.w r3, r7, #1656 ; 0x678 8031b2c: ed93 7b00 vldr d7, [r3] 8031b30: ee25 5b07 vmul.f64 d5, d5, d7 8031b34: f507 63cf add.w r3, r7, #1656 ; 0x678 8031b38: ed93 7b00 vldr d7, [r3] 8031b3c: ee25 7b07 vmul.f64 d7, d5, d7 8031b40: ee36 6b07 vadd.f64 d6, d6, d7 8031b44: f507 63ca add.w r3, r7, #1616 ; 0x650 8031b48: ed93 7b00 vldr d7, [r3] 8031b4c: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8031b50: ee27 5b05 vmul.f64 d5, d7, d5 8031b54: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031b58: ed93 7b00 vldr d7, [r3] 8031b5c: ee25 5b07 vmul.f64 d5, d5, d7 8031b60: f507 63cf add.w r3, r7, #1656 ; 0x678 8031b64: ed93 7b00 vldr d7, [r3] 8031b68: ee25 7b07 vmul.f64 d7, d5, d7 8031b6c: ee36 6b47 vsub.f64 d6, d6, d7 8031b70: f507 63cc add.w r3, r7, #1632 ; 0x660 8031b74: ed93 7b00 vldr d7, [r3] 8031b78: ee26 7b07 vmul.f64 d7, d6, d7 8031b7c: 4ab6 ldr r2, [pc, #728] ; (8031e58 ) 8031b7e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031b82: 333c adds r3, #60 ; 0x3c 8031b84: 00db lsls r3, r3, #3 8031b86: 4413 add r3, r2 8031b88: 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; 8031b8c: f507 63cb add.w r3, r7, #1624 ; 0x658 8031b90: ed93 7b00 vldr d7, [r3] 8031b94: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8031b98: ee27 6b06 vmul.f64 d6, d7, d6 8031b9c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031ba0: ed93 7b00 vldr d7, [r3] 8031ba4: ee26 6b07 vmul.f64 d6, d6, d7 8031ba8: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031bac: ed93 7b00 vldr d7, [r3] 8031bb0: ee26 6b07 vmul.f64 d6, d6, d7 8031bb4: f507 63ca add.w r3, r7, #1616 ; 0x650 8031bb8: ed93 7b00 vldr d7, [r3] 8031bbc: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031bc0: ee27 5b05 vmul.f64 d5, d7, d5 8031bc4: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031bc8: ed93 7b00 vldr d7, [r3] 8031bcc: ee25 5b07 vmul.f64 d5, d5, d7 8031bd0: f507 63cf add.w r3, r7, #1656 ; 0x678 8031bd4: ed93 7b00 vldr d7, [r3] 8031bd8: ee25 7b07 vmul.f64 d7, d5, d7 8031bdc: ee36 6b07 vadd.f64 d6, d6, d7 8031be0: f507 63cb add.w r3, r7, #1624 ; 0x658 8031be4: ed93 7b00 vldr d7, [r3] 8031be8: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031bec: ee27 5b05 vmul.f64 d5, d7, d5 8031bf0: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031bf4: ed93 7b00 vldr d7, [r3] 8031bf8: ee25 5b07 vmul.f64 d5, d5, d7 8031bfc: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031c00: ed93 7b00 vldr d7, [r3] 8031c04: ee25 5b07 vmul.f64 d5, d5, d7 8031c08: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c0c: ed93 7b00 vldr d7, [r3] 8031c10: ee25 5b07 vmul.f64 d5, d5, d7 8031c14: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c18: ed93 7b00 vldr d7, [r3] 8031c1c: ee25 7b07 vmul.f64 d7, d5, d7 8031c20: ee36 6b07 vadd.f64 d6, d6, d7 8031c24: f507 63ca add.w r3, r7, #1616 ; 0x650 8031c28: ed93 7b00 vldr d7, [r3] 8031c2c: ee37 5b07 vadd.f64 d5, d7, d7 8031c30: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031c34: ed93 7b00 vldr d7, [r3] 8031c38: ee25 5b07 vmul.f64 d5, d5, d7 8031c3c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c40: ed93 7b00 vldr d7, [r3] 8031c44: ee25 5b07 vmul.f64 d5, d5, d7 8031c48: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c4c: ed93 7b00 vldr d7, [r3] 8031c50: ee25 5b07 vmul.f64 d5, d5, d7 8031c54: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c58: ed93 7b00 vldr d7, [r3] 8031c5c: ee25 7b07 vmul.f64 d7, d5, d7 8031c60: ee36 6b07 vadd.f64 d6, d6, d7 8031c64: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031c68: ed93 7b00 vldr d7, [r3] 8031c6c: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031c70: ee27 5b05 vmul.f64 d5, d7, d5 8031c74: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c78: ed93 7b00 vldr d7, [r3] 8031c7c: ee25 5b07 vmul.f64 d5, d5, d7 8031c80: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c84: ed93 7b00 vldr d7, [r3] 8031c88: ee25 7b07 vmul.f64 d7, d5, d7 8031c8c: ee36 6b07 vadd.f64 d6, d6, d7 8031c90: f507 63cb add.w r3, r7, #1624 ; 0x658 8031c94: ed93 5b00 vldr d5, [r3] 8031c98: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031c9c: ed93 7b00 vldr d7, [r3] 8031ca0: ee25 5b07 vmul.f64 d5, d5, d7 8031ca4: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031ca8: ed93 7b00 vldr d7, [r3] 8031cac: ee25 5b07 vmul.f64 d5, d5, d7 8031cb0: f507 63cf add.w r3, r7, #1656 ; 0x678 8031cb4: ed93 7b00 vldr d7, [r3] 8031cb8: ee25 5b07 vmul.f64 d5, d5, d7 8031cbc: f507 63cf add.w r3, r7, #1656 ; 0x678 8031cc0: ed93 7b00 vldr d7, [r3] 8031cc4: ee25 5b07 vmul.f64 d5, d5, d7 8031cc8: f507 63cf add.w r3, r7, #1656 ; 0x678 8031ccc: ed93 7b00 vldr d7, [r3] 8031cd0: ee25 5b07 vmul.f64 d5, d5, d7 8031cd4: f507 63cf add.w r3, r7, #1656 ; 0x678 8031cd8: ed93 7b00 vldr d7, [r3] 8031cdc: ee25 7b07 vmul.f64 d7, d5, d7 8031ce0: ee36 6b07 vadd.f64 d6, d6, d7 8031ce4: f507 63cc add.w r3, r7, #1632 ; 0x660 8031ce8: ed93 7b00 vldr d7, [r3] 8031cec: ee26 7b07 vmul.f64 d7, d6, d7 8031cf0: 4a59 ldr r2, [pc, #356] ; (8031e58 ) 8031cf2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031cf6: 3332 adds r3, #50 ; 0x32 8031cf8: 00db lsls r3, r3, #3 8031cfa: 4413 add r3, r2 8031cfc: 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) 8031d00: f507 63cf add.w r3, r7, #1656 ; 0x678 8031d04: ed93 7b00 vldr d7, [r3] 8031d08: eeb0 6b00 vmov.f64 d6, #0 ; 0x40000000 2.0 8031d0c: ee37 7b46 vsub.f64 d7, d7, d6 8031d10: eeb0 7bc7 vabs.f64 d7, d7 8031d14: ed9f 6b4e vldr d6, [pc, #312] ; 8031e50 8031d18: eeb4 7bc6 vcmpe.f64 d7, d6 8031d1c: eef1 fa10 vmrs APSR_nzcv, fpscr 8031d20: d52f bpl.n 8031d82 { IIR.a3[j] = 0.0; 8031d22: 4a4d ldr r2, [pc, #308] ; (8031e58 ) 8031d24: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031d28: 331e adds r3, #30 8031d2a: 00db lsls r3, r3, #3 8031d2c: 441a add r2, r3 8031d2e: f04f 0300 mov.w r3, #0 8031d32: f04f 0400 mov.w r4, #0 8031d36: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = 0.0; 8031d3a: 4a47 ldr r2, [pc, #284] ; (8031e58 ) 8031d3c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031d40: 330a adds r3, #10 8031d42: 00db lsls r3, r3, #3 8031d44: 441a add r2, r3 8031d46: f04f 0300 mov.w r3, #0 8031d4a: f04f 0400 mov.w r4, #0 8031d4e: e882 0018 stmia.w r2, {r3, r4} IIR.b3[j] = 0.0; 8031d52: 4a41 ldr r2, [pc, #260] ; (8031e58 ) 8031d54: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031d58: 3350 adds r3, #80 ; 0x50 8031d5a: 00db lsls r3, r3, #3 8031d5c: 441a add r2, r3 8031d5e: f04f 0300 mov.w r3, #0 8031d62: f04f 0400 mov.w r4, #0 8031d66: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = 0.0; 8031d6a: 4a3b ldr r2, [pc, #236] ; (8031e58 ) 8031d6c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031d70: 333c adds r3, #60 ; 0x3c 8031d72: 00db lsls r3, r3, #3 8031d74: 441a add r2, r3 8031d76: f04f 0300 mov.w r3, #0 8031d7a: f04f 0400 mov.w r4, #0 8031d7e: 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]; 8031d82: 4a35 ldr r2, [pc, #212] ; (8031e58 ) 8031d84: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031d88: 3328 adds r3, #40 ; 0x28 8031d8a: 00db lsls r3, r3, #3 8031d8c: 4413 add r3, r2 8031d8e: cb18 ldmia r3, {r3, r4} 8031d90: f507 62c3 add.w r2, r7, #1560 ; 0x618 8031d94: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.a3[j]; 8031d98: 4a2f ldr r2, [pc, #188] ; (8031e58 ) 8031d9a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031d9e: 331e adds r3, #30 8031da0: 00db lsls r3, r3, #3 8031da2: 4413 add r3, r2 8031da4: cb18 ldmia r3, {r3, r4} 8031da6: f507 62c4 add.w r2, r7, #1568 ; 0x620 8031daa: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.a2[j]; 8031dae: 4a2a ldr r2, [pc, #168] ; (8031e58 ) 8031db0: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031db4: 3314 adds r3, #20 8031db6: 00db lsls r3, r3, #3 8031db8: 4413 add r3, r2 8031dba: cb18 ldmia r3, {r3, r4} 8031dbc: f507 62c5 add.w r2, r7, #1576 ; 0x628 8031dc0: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.a1[j]; 8031dc4: 4a24 ldr r2, [pc, #144] ; (8031e58 ) 8031dc6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031dca: 330a adds r3, #10 8031dcc: 00db lsls r3, r3, #3 8031dce: 4413 add r3, r2 8031dd0: cb18 ldmia r3, {r3, r4} 8031dd2: f507 62c6 add.w r2, r7, #1584 ; 0x630 8031dd6: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.a0[j]; 8031dda: 4a1f ldr r2, [pc, #124] ; (8031e58 ) 8031ddc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031de0: 00db lsls r3, r3, #3 8031de2: 4413 add r3, r2 8031de4: cb18 ldmia r3, {r3, r4} 8031de6: f507 62c7 add.w r2, r7, #1592 ; 0x638 8031dea: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 8031dee: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8031df2: f507 62bf add.w r2, r7, #1528 ; 0x5f8 8031df6: f507 61c3 add.w r1, r7, #1560 ; 0x618 8031dfa: 2004 movs r0, #4 8031dfc: f002 f8e0 bl 8033fc0 // 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]); 8031e00: 4a15 ldr r2, [pc, #84] ; (8031e58 ) 8031e02: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031e06: 3328 adds r3, #40 ; 0x28 8031e08: 00db lsls r3, r3, #3 8031e0a: 4413 add r3, r2 8031e0c: ed93 7b00 vldr d7, [r3] 8031e10: eeb5 7bc0 vcmpe.f64 d7, #0.0 8031e14: eef1 fa10 vmrs APSR_nzcv, fpscr 8031e18: d520 bpl.n 8031e5c 8031e1a: 4a0f ldr r2, [pc, #60] ; (8031e58 ) 8031e1c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031e20: 3328 adds r3, #40 ; 0x28 8031e22: 00db lsls r3, r3, #3 8031e24: 4413 add r3, r2 8031e26: ed93 7b00 vldr d7, [r3] 8031e2a: eeb1 7b47 vneg.f64 d7, d7 8031e2e: eeb0 0b47 vmov.f64 d0, d7 8031e32: f09d fa85 bl 80cf340 8031e36: eeb0 7b40 vmov.f64 d7, d0 8031e3a: eeb1 7b47 vneg.f64 d7, d7 8031e3e: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031e42: ed83 7b00 vstr d7, [r3] 8031e46: e019 b.n 8031e7c 8031e48: 00000000 .word 0x00000000 8031e4c: 40500000 .word 0x40500000 8031e50: d2f1a9fc .word 0xd2f1a9fc 8031e54: 3f40624d .word 0x3f40624d 8031e58: 20025960 .word 0x20025960 else Scalar = sqrt(IIR.a4[j]); 8031e5c: 4ada ldr r2, [pc, #872] ; (80321c8 ) 8031e5e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031e62: 3328 adds r3, #40 ; 0x28 8031e64: 00db lsls r3, r3, #3 8031e66: 4413 add r3, r2 8031e68: ed93 7b00 vldr d7, [r3] 8031e6c: eeb0 0b47 vmov.f64 d0, d7 8031e70: f09d fa66 bl 80cf340 8031e74: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031e78: ed83 0b00 vstr d0, [r3] // Form the 2nd order polys from the roots. a2[k] = Scalar; 8031e7c: f507 62b1 add.w r2, r7, #1416 ; 0x588 8031e80: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031e84: 00db lsls r3, r3, #3 8031e86: 441a add r2, r3 8031e88: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031e8c: cb18 ldmia r3, {r3, r4} 8031e8e: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 8031e92: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8031e96: ed93 6b00 vldr d6, [r3] 8031e9a: f507 63c0 add.w r3, r7, #1536 ; 0x600 8031e9e: ed93 7b00 vldr d7, [r3] 8031ea2: ee36 7b07 vadd.f64 d7, d6, d7 8031ea6: eeb1 6b47 vneg.f64 d6, d7 8031eaa: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031eae: ed93 7b00 vldr d7, [r3] 8031eb2: ee26 7b07 vmul.f64 d7, d6, d7 8031eb6: f507 62a7 add.w r2, r7, #1336 ; 0x538 8031eba: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031ebe: 00db lsls r3, r3, #3 8031ec0: 4413 add r3, r2 8031ec2: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 8031ec6: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8031eca: ed93 6b00 vldr d6, [r3] 8031ece: f507 63c0 add.w r3, r7, #1536 ; 0x600 8031ed2: ed93 7b00 vldr d7, [r3] 8031ed6: ee26 6b07 vmul.f64 d6, d6, d7 8031eda: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8031ede: ed93 5b00 vldr d5, [r3] 8031ee2: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8031ee6: ed93 7b00 vldr d7, [r3] 8031eea: ee25 7b07 vmul.f64 d7, d5, d7 8031eee: ee36 6b47 vsub.f64 d6, d6, d7 8031ef2: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031ef6: ed93 7b00 vldr d7, [r3] 8031efa: ee26 7b07 vmul.f64 d7, d6, d7 8031efe: f507 629d add.w r2, r7, #1256 ; 0x4e8 8031f02: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031f06: 00db lsls r3, r3, #3 8031f08: 4413 add r3, r2 8031f0a: ed83 7b00 vstr d7, [r3] k++; 8031f0e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031f12: 3301 adds r3, #1 8031f14: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 a2[k] = Scalar; 8031f18: f507 62b1 add.w r2, r7, #1416 ; 0x588 8031f1c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031f20: 00db lsls r3, r3, #3 8031f22: 441a add r2, r3 8031f24: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031f28: cb18 ldmia r3, {r3, r4} 8031f2a: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 8031f2e: f507 63c1 add.w r3, r7, #1544 ; 0x608 8031f32: ed93 6b00 vldr d6, [r3] 8031f36: f507 63c2 add.w r3, r7, #1552 ; 0x610 8031f3a: ed93 7b00 vldr d7, [r3] 8031f3e: ee36 7b07 vadd.f64 d7, d6, d7 8031f42: eeb1 6b47 vneg.f64 d6, d7 8031f46: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031f4a: ed93 7b00 vldr d7, [r3] 8031f4e: ee26 7b07 vmul.f64 d7, d6, d7 8031f52: f507 62a7 add.w r2, r7, #1336 ; 0x538 8031f56: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031f5a: 00db lsls r3, r3, #3 8031f5c: 4413 add r3, r2 8031f5e: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 8031f62: f507 63c1 add.w r3, r7, #1544 ; 0x608 8031f66: ed93 6b00 vldr d6, [r3] 8031f6a: f507 63c2 add.w r3, r7, #1552 ; 0x610 8031f6e: ed93 7b00 vldr d7, [r3] 8031f72: ee26 6b07 vmul.f64 d6, d6, d7 8031f76: f507 63bd add.w r3, r7, #1512 ; 0x5e8 8031f7a: ed93 5b00 vldr d5, [r3] 8031f7e: f507 63be add.w r3, r7, #1520 ; 0x5f0 8031f82: ed93 7b00 vldr d7, [r3] 8031f86: ee25 7b07 vmul.f64 d7, d5, d7 8031f8a: ee36 6b47 vsub.f64 d6, d6, d7 8031f8e: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031f92: ed93 7b00 vldr d7, [r3] 8031f96: ee26 7b07 vmul.f64 d7, d6, d7 8031f9a: f507 629d add.w r2, r7, #1256 ; 0x4e8 8031f9e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031fa2: 00db lsls r3, r3, #3 8031fa4: 4413 add r3, r2 8031fa6: ed83 7b00 vstr d7, [r3] k--; 8031faa: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031fae: 3b01 subs r3, #1 8031fb0: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 // Now do the same with the numerator. Coeff[0] = IIR.b4[j]; 8031fb4: 4a84 ldr r2, [pc, #528] ; (80321c8 ) 8031fb6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031fba: 335a adds r3, #90 ; 0x5a 8031fbc: 00db lsls r3, r3, #3 8031fbe: 4413 add r3, r2 8031fc0: cb18 ldmia r3, {r3, r4} 8031fc2: f507 62c3 add.w r2, r7, #1560 ; 0x618 8031fc6: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.b3[j]; 8031fca: 4a7f ldr r2, [pc, #508] ; (80321c8 ) 8031fcc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031fd0: 3350 adds r3, #80 ; 0x50 8031fd2: 00db lsls r3, r3, #3 8031fd4: 4413 add r3, r2 8031fd6: cb18 ldmia r3, {r3, r4} 8031fd8: f507 62c4 add.w r2, r7, #1568 ; 0x620 8031fdc: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.b2[j]; 8031fe0: 4a79 ldr r2, [pc, #484] ; (80321c8 ) 8031fe2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031fe6: 3346 adds r3, #70 ; 0x46 8031fe8: 00db lsls r3, r3, #3 8031fea: 4413 add r3, r2 8031fec: cb18 ldmia r3, {r3, r4} 8031fee: f507 62c5 add.w r2, r7, #1576 ; 0x628 8031ff2: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.b1[j]; 8031ff6: 4a74 ldr r2, [pc, #464] ; (80321c8 ) 8031ff8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031ffc: 333c adds r3, #60 ; 0x3c 8031ffe: 00db lsls r3, r3, #3 8032000: 4413 add r3, r2 8032002: cb18 ldmia r3, {r3, r4} 8032004: f507 62c6 add.w r2, r7, #1584 ; 0x630 8032008: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.b0[j]; 803200c: 4a6e ldr r2, [pc, #440] ; (80321c8 ) 803200e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032012: 3332 adds r3, #50 ; 0x32 8032014: 00db lsls r3, r3, #3 8032016: 4413 add r3, r2 8032018: cb18 ldmia r3, {r3, r4} 803201a: f507 62c7 add.w r2, r7, #1592 ; 0x638 803201e: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 8032022: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8032026: f507 62bf add.w r2, r7, #1528 ; 0x5f8 803202a: f507 61c3 add.w r1, r7, #1560 ; 0x618 803202e: 2004 movs r0, #4 8032030: f001 ffc6 bl 8033fc0 if(IIR.b4[j] < 0.0)Scalar = -sqrt(-IIR.b4[j]); 8032034: 4a64 ldr r2, [pc, #400] ; (80321c8 ) 8032036: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803203a: 335a adds r3, #90 ; 0x5a 803203c: 00db lsls r3, r3, #3 803203e: 4413 add r3, r2 8032040: ed93 7b00 vldr d7, [r3] 8032044: eeb5 7bc0 vcmpe.f64 d7, #0.0 8032048: eef1 fa10 vmrs APSR_nzcv, fpscr 803204c: d516 bpl.n 803207c 803204e: 4a5e ldr r2, [pc, #376] ; (80321c8 ) 8032050: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032054: 335a adds r3, #90 ; 0x5a 8032056: 00db lsls r3, r3, #3 8032058: 4413 add r3, r2 803205a: ed93 7b00 vldr d7, [r3] 803205e: eeb1 7b47 vneg.f64 d7, d7 8032062: eeb0 0b47 vmov.f64 d0, d7 8032066: f09d f96b bl 80cf340 803206a: eeb0 7b40 vmov.f64 d7, d0 803206e: eeb1 7b47 vneg.f64 d7, d7 8032072: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032076: ed83 7b00 vstr d7, [r3] 803207a: e00f b.n 803209c else Scalar = sqrt(IIR.b4[j]); 803207c: 4a52 ldr r2, [pc, #328] ; (80321c8 ) 803207e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032082: 335a adds r3, #90 ; 0x5a 8032084: 00db lsls r3, r3, #3 8032086: 4413 add r3, r2 8032088: ed93 7b00 vldr d7, [r3] 803208c: eeb0 0b47 vmov.f64 d0, d7 8032090: f09d f956 bl 80cf340 8032094: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032098: ed83 0b00 vstr d0, [r3] b2[k] = Scalar; 803209c: f507 6293 add.w r2, r7, #1176 ; 0x498 80320a0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80320a4: 00db lsls r3, r3, #3 80320a6: 441a add r2, r3 80320a8: f507 63d2 add.w r3, r7, #1680 ; 0x690 80320ac: cb18 ldmia r3, {r3, r4} 80320ae: e882 0018 stmia.w r2, {r3, r4} if(ProtoType == ftINVERSE_CHEBY || ProtoType >= ftELLIPTIC_00) 80320b2: f207 230b addw r3, r7, #523 ; 0x20b 80320b6: 781b ldrb r3, [r3, #0] 80320b8: 2b05 cmp r3, #5 80320ba: d004 beq.n 80320c6 80320bc: f207 230b addw r3, r7, #523 ; 0x20b 80320c0: 781b ldrb r3, [r3, #0] 80320c2: 2b05 cmp r3, #5 80320c4: d91a bls.n 80320fc b1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 80320c6: f507 63bf add.w r3, r7, #1528 ; 0x5f8 80320ca: ed93 6b00 vldr d6, [r3] 80320ce: f507 63c0 add.w r3, r7, #1536 ; 0x600 80320d2: ed93 7b00 vldr d7, [r3] 80320d6: ee36 7b07 vadd.f64 d7, d6, d7 80320da: eeb1 6b47 vneg.f64 d6, d7 80320de: f507 63d2 add.w r3, r7, #1680 ; 0x690 80320e2: ed93 7b00 vldr d7, [r3] 80320e6: ee26 7b07 vmul.f64 d7, d6, d7 80320ea: f507 6289 add.w r2, r7, #1096 ; 0x448 80320ee: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80320f2: 00db lsls r3, r3, #3 80320f4: 4413 add r3, r2 80320f6: ed83 7b00 vstr d7, [r3] 80320fa: e00b b.n 8032114 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. 80320fc: f507 6289 add.w r2, r7, #1096 ; 0x448 8032100: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032104: 00db lsls r3, r3, #3 8032106: 441a add r2, r3 8032108: f04f 0300 mov.w r3, #0 803210c: f04f 0400 mov.w r4, #0 8032110: e882 0018 stmia.w r2, {r3, r4} b0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 8032114: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8032118: ed93 6b00 vldr d6, [r3] 803211c: f507 63c0 add.w r3, r7, #1536 ; 0x600 8032120: ed93 7b00 vldr d7, [r3] 8032124: ee26 6b07 vmul.f64 d6, d6, d7 8032128: f507 63bb add.w r3, r7, #1496 ; 0x5d8 803212c: ed93 5b00 vldr d5, [r3] 8032130: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8032134: ed93 7b00 vldr d7, [r3] 8032138: ee25 7b07 vmul.f64 d7, d5, d7 803213c: ee36 6b47 vsub.f64 d6, d6, d7 8032140: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032144: ed93 7b00 vldr d7, [r3] 8032148: ee26 7b07 vmul.f64 d7, d6, d7 803214c: f507 727e add.w r2, r7, #1016 ; 0x3f8 8032150: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032154: 00db lsls r3, r3, #3 8032156: 4413 add r3, r2 8032158: ed83 7b00 vstr d7, [r3] k++; 803215c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032160: 3301 adds r3, #1 8032162: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 b2[k] = Scalar; 8032166: f507 6293 add.w r2, r7, #1176 ; 0x498 803216a: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 803216e: 00db lsls r3, r3, #3 8032170: 441a add r2, r3 8032172: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032176: cb18 ldmia r3, {r3, r4} 8032178: e882 0018 stmia.w r2, {r3, r4} if(ProtoType == ftINVERSE_CHEBY || ProtoType >= ftELLIPTIC_00) 803217c: f207 230b addw r3, r7, #523 ; 0x20b 8032180: 781b ldrb r3, [r3, #0] 8032182: 2b05 cmp r3, #5 8032184: d004 beq.n 8032190 8032186: f207 230b addw r3, r7, #523 ; 0x20b 803218a: 781b ldrb r3, [r3, #0] 803218c: 2b05 cmp r3, #5 803218e: d91d bls.n 80321cc b1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 8032190: f507 63c1 add.w r3, r7, #1544 ; 0x608 8032194: ed93 6b00 vldr d6, [r3] 8032198: f507 63c2 add.w r3, r7, #1552 ; 0x610 803219c: ed93 7b00 vldr d7, [r3] 80321a0: ee36 7b07 vadd.f64 d7, d6, d7 80321a4: eeb1 6b47 vneg.f64 d6, d7 80321a8: f507 63d2 add.w r3, r7, #1680 ; 0x690 80321ac: ed93 7b00 vldr d7, [r3] 80321b0: ee26 7b07 vmul.f64 d7, d6, d7 80321b4: f507 6289 add.w r2, r7, #1096 ; 0x448 80321b8: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80321bc: 00db lsls r3, r3, #3 80321be: 4413 add r3, r2 80321c0: ed83 7b00 vstr d7, [r3] 80321c4: e00e b.n 80321e4 80321c6: bf00 nop 80321c8: 20025960 .word 0x20025960 else b1[k] = 0.0; 80321cc: f507 6289 add.w r2, r7, #1096 ; 0x448 80321d0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80321d4: 00db lsls r3, r3, #3 80321d6: 441a add r2, r3 80321d8: f04f 0300 mov.w r3, #0 80321dc: f04f 0400 mov.w r4, #0 80321e0: e882 0018 stmia.w r2, {r3, r4} b0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 80321e4: f507 63c1 add.w r3, r7, #1544 ; 0x608 80321e8: ed93 6b00 vldr d6, [r3] 80321ec: f507 63c2 add.w r3, r7, #1552 ; 0x610 80321f0: ed93 7b00 vldr d7, [r3] 80321f4: ee26 6b07 vmul.f64 d6, d6, d7 80321f8: f507 63bd add.w r3, r7, #1512 ; 0x5e8 80321fc: ed93 5b00 vldr d5, [r3] 8032200: f507 63be add.w r3, r7, #1520 ; 0x5f0 8032204: ed93 7b00 vldr d7, [r3] 8032208: ee25 7b07 vmul.f64 d7, d5, d7 803220c: ee36 6b47 vsub.f64 d6, d6, d7 8032210: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032214: ed93 7b00 vldr d7, [r3] 8032218: ee26 7b07 vmul.f64 d7, d6, d7 803221c: f507 727e add.w r2, r7, #1016 ; 0x3f8 8032220: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032224: 00db lsls r3, r3, #3 8032226: 4413 add r3, r2 8032228: ed83 7b00 vstr d7, [r3] k++; 803222c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032230: 3301 adds r3, #1 8032232: 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) 8032236: f207 230a addw r3, r7, #522 ; 0x20a 803223a: 781b ldrb r3, [r3, #0] 803223c: 2b03 cmp r3, #3 803223e: f041 825b bne.w 80336f8 { if(A == 0.0 && D == 0.0) // 1 pole 8032242: f507 63ce add.w r3, r7, #1648 ; 0x670 8032246: ed93 7b00 vldr d7, [r3] 803224a: eeb5 7b40 vcmp.f64 d7, #0.0 803224e: eef1 fa10 vmrs APSR_nzcv, fpscr 8032252: f040 81ad bne.w 80325b0 8032256: f507 63cb add.w r3, r7, #1624 ; 0x658 803225a: ed93 7b00 vldr d7, [r3] 803225e: eeb5 7b40 vcmp.f64 d7, #0.0 8032262: eef1 fa10 vmrs APSR_nzcv, fpscr 8032266: f040 81a3 bne.w 80325b0 { Arg = 2.0*B*T + C*Q*T*T + 4.0*C*Q; 803226a: f507 63cd add.w r3, r7, #1640 ; 0x668 803226e: ed93 7b00 vldr d7, [r3] 8032272: ee37 6b07 vadd.f64 d6, d7, d7 8032276: f507 63cf add.w r3, r7, #1656 ; 0x678 803227a: ed93 7b00 vldr d7, [r3] 803227e: ee26 6b07 vmul.f64 d6, d6, d7 8032282: f507 63cc add.w r3, r7, #1632 ; 0x660 8032286: ed93 5b00 vldr d5, [r3] 803228a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803228e: ed93 7b00 vldr d7, [r3] 8032292: ee25 5b07 vmul.f64 d5, d5, d7 8032296: f507 63cf add.w r3, r7, #1656 ; 0x678 803229a: ed93 7b00 vldr d7, [r3] 803229e: ee25 5b07 vmul.f64 d5, d5, d7 80322a2: f507 63cf add.w r3, r7, #1656 ; 0x678 80322a6: ed93 7b00 vldr d7, [r3] 80322aa: ee25 7b07 vmul.f64 d7, d5, d7 80322ae: ee36 6b07 vadd.f64 d6, d6, d7 80322b2: f507 63cc add.w r3, r7, #1632 ; 0x660 80322b6: ed93 7b00 vldr d7, [r3] 80322ba: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80322be: ee27 5b05 vmul.f64 d5, d7, d5 80322c2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80322c6: ed93 7b00 vldr d7, [r3] 80322ca: ee25 7b07 vmul.f64 d7, d5, d7 80322ce: ee36 7b07 vadd.f64 d7, d6, d7 80322d2: f507 63c8 add.w r3, r7, #1600 ; 0x640 80322d6: ed83 7b00 vstr d7, [r3] a2[k] = (4.0*C*Q - 2.0*B*T + C*Q*T*T) / Arg; 80322da: f507 63cc add.w r3, r7, #1632 ; 0x660 80322de: ed93 7b00 vldr d7, [r3] 80322e2: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80322e6: ee27 6b06 vmul.f64 d6, d7, d6 80322ea: f507 63d1 add.w r3, r7, #1672 ; 0x688 80322ee: ed93 7b00 vldr d7, [r3] 80322f2: ee26 6b07 vmul.f64 d6, d6, d7 80322f6: f507 63cd add.w r3, r7, #1640 ; 0x668 80322fa: ed93 7b00 vldr d7, [r3] 80322fe: ee37 5b07 vadd.f64 d5, d7, d7 8032302: f507 63cf add.w r3, r7, #1656 ; 0x678 8032306: ed93 7b00 vldr d7, [r3] 803230a: ee25 7b07 vmul.f64 d7, d5, d7 803230e: ee36 6b47 vsub.f64 d6, d6, d7 8032312: f507 63cc add.w r3, r7, #1632 ; 0x660 8032316: ed93 5b00 vldr d5, [r3] 803231a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803231e: ed93 7b00 vldr d7, [r3] 8032322: ee25 5b07 vmul.f64 d5, d5, d7 8032326: f507 63cf add.w r3, r7, #1656 ; 0x678 803232a: ed93 7b00 vldr d7, [r3] 803232e: ee25 5b07 vmul.f64 d5, d5, d7 8032332: f507 63cf add.w r3, r7, #1656 ; 0x678 8032336: ed93 7b00 vldr d7, [r3] 803233a: ee25 7b07 vmul.f64 d7, d5, d7 803233e: ee36 5b07 vadd.f64 d5, d6, d7 8032342: f507 63c8 add.w r3, r7, #1600 ; 0x640 8032346: ed93 6b00 vldr d6, [r3] 803234a: ee85 7b06 vdiv.f64 d7, d5, d6 803234e: f507 62b1 add.w r2, r7, #1416 ; 0x588 8032352: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032356: 00db lsls r3, r3, #3 8032358: 4413 add r3, r2 803235a: ed83 7b00 vstr d7, [r3] a1[k] = (2.0*C*Q*T*T - 8.0*C*Q) / Arg; 803235e: f507 63cc add.w r3, r7, #1632 ; 0x660 8032362: ed93 7b00 vldr d7, [r3] 8032366: ee37 6b07 vadd.f64 d6, d7, d7 803236a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803236e: ed93 7b00 vldr d7, [r3] 8032372: ee26 6b07 vmul.f64 d6, d6, d7 8032376: f507 63cf add.w r3, r7, #1656 ; 0x678 803237a: ed93 7b00 vldr d7, [r3] 803237e: ee26 6b07 vmul.f64 d6, d6, d7 8032382: f507 63cf add.w r3, r7, #1656 ; 0x678 8032386: ed93 7b00 vldr d7, [r3] 803238a: ee26 6b07 vmul.f64 d6, d6, d7 803238e: f507 63cc add.w r3, r7, #1632 ; 0x660 8032392: ed93 7b00 vldr d7, [r3] 8032396: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803239a: ee27 5b05 vmul.f64 d5, d7, d5 803239e: f507 63d1 add.w r3, r7, #1672 ; 0x688 80323a2: ed93 7b00 vldr d7, [r3] 80323a6: ee25 7b07 vmul.f64 d7, d5, d7 80323aa: ee36 5b47 vsub.f64 d5, d6, d7 80323ae: f507 63c8 add.w r3, r7, #1600 ; 0x640 80323b2: ed93 6b00 vldr d6, [r3] 80323b6: ee85 7b06 vdiv.f64 d7, d5, d6 80323ba: f507 62a7 add.w r2, r7, #1336 ; 0x538 80323be: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80323c2: 00db lsls r3, r3, #3 80323c4: 4413 add r3, r2 80323c6: ed83 7b00 vstr d7, [r3] a0[k] = 1.0; 80323ca: f507 629d add.w r2, r7, #1256 ; 0x4e8 80323ce: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80323d2: 00db lsls r3, r3, #3 80323d4: 441a add r2, r3 80323d6: f04f 0300 mov.w r3, #0 80323da: 4c74 ldr r4, [pc, #464] ; (80325ac ) 80323dc: e882 0018 stmia.w r2, {r3, r4} b2[k] = (4.0*F*Q - 2.0*E*T + F*Q*T*T) / Arg * C/F; 80323e0: f507 63c9 add.w r3, r7, #1608 ; 0x648 80323e4: ed93 7b00 vldr d7, [r3] 80323e8: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80323ec: ee27 6b06 vmul.f64 d6, d7, d6 80323f0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80323f4: ed93 7b00 vldr d7, [r3] 80323f8: ee26 6b07 vmul.f64 d6, d6, d7 80323fc: f507 63ca add.w r3, r7, #1616 ; 0x650 8032400: ed93 7b00 vldr d7, [r3] 8032404: ee37 5b07 vadd.f64 d5, d7, d7 8032408: f507 63cf add.w r3, r7, #1656 ; 0x678 803240c: ed93 7b00 vldr d7, [r3] 8032410: ee25 7b07 vmul.f64 d7, d5, d7 8032414: ee36 6b47 vsub.f64 d6, d6, d7 8032418: f507 63c9 add.w r3, r7, #1608 ; 0x648 803241c: ed93 5b00 vldr d5, [r3] 8032420: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032424: ed93 7b00 vldr d7, [r3] 8032428: ee25 5b07 vmul.f64 d5, d5, d7 803242c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032430: ed93 7b00 vldr d7, [r3] 8032434: ee25 5b07 vmul.f64 d5, d5, d7 8032438: f507 63cf add.w r3, r7, #1656 ; 0x678 803243c: ed93 7b00 vldr d7, [r3] 8032440: ee25 7b07 vmul.f64 d7, d5, d7 8032444: ee36 5b07 vadd.f64 d5, d6, d7 8032448: f507 63c8 add.w r3, r7, #1600 ; 0x640 803244c: ed93 7b00 vldr d7, [r3] 8032450: ee85 6b07 vdiv.f64 d6, d5, d7 8032454: f507 63cc add.w r3, r7, #1632 ; 0x660 8032458: ed93 7b00 vldr d7, [r3] 803245c: ee26 5b07 vmul.f64 d5, d6, d7 8032460: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032464: ed93 6b00 vldr d6, [r3] 8032468: ee85 7b06 vdiv.f64 d7, d5, d6 803246c: f507 6293 add.w r2, r7, #1176 ; 0x498 8032470: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032474: 00db lsls r3, r3, #3 8032476: 4413 add r3, r2 8032478: ed83 7b00 vstr d7, [r3] b1[k] = (2.0*F*Q*T*T - 8.0*F*Q) / Arg *C/F; 803247c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032480: ed93 7b00 vldr d7, [r3] 8032484: ee37 6b07 vadd.f64 d6, d7, d7 8032488: f507 63d1 add.w r3, r7, #1672 ; 0x688 803248c: ed93 7b00 vldr d7, [r3] 8032490: ee26 6b07 vmul.f64 d6, d6, d7 8032494: f507 63cf add.w r3, r7, #1656 ; 0x678 8032498: ed93 7b00 vldr d7, [r3] 803249c: ee26 6b07 vmul.f64 d6, d6, d7 80324a0: f507 63cf add.w r3, r7, #1656 ; 0x678 80324a4: ed93 7b00 vldr d7, [r3] 80324a8: ee26 6b07 vmul.f64 d6, d6, d7 80324ac: f507 63c9 add.w r3, r7, #1608 ; 0x648 80324b0: ed93 7b00 vldr d7, [r3] 80324b4: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80324b8: ee27 5b05 vmul.f64 d5, d7, d5 80324bc: f507 63d1 add.w r3, r7, #1672 ; 0x688 80324c0: ed93 7b00 vldr d7, [r3] 80324c4: ee25 7b07 vmul.f64 d7, d5, d7 80324c8: ee36 5b47 vsub.f64 d5, d6, d7 80324cc: f507 63c8 add.w r3, r7, #1600 ; 0x640 80324d0: ed93 7b00 vldr d7, [r3] 80324d4: ee85 6b07 vdiv.f64 d6, d5, d7 80324d8: f507 63cc add.w r3, r7, #1632 ; 0x660 80324dc: ed93 7b00 vldr d7, [r3] 80324e0: ee26 5b07 vmul.f64 d5, d6, d7 80324e4: f507 63c9 add.w r3, r7, #1608 ; 0x648 80324e8: ed93 6b00 vldr d6, [r3] 80324ec: ee85 7b06 vdiv.f64 d7, d5, d6 80324f0: f507 6289 add.w r2, r7, #1096 ; 0x448 80324f4: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80324f8: 00db lsls r3, r3, #3 80324fa: 4413 add r3, r2 80324fc: ed83 7b00 vstr d7, [r3] b0[k] = (2.0*E*T + F*Q*T*T +4.0*F*Q) / Arg *C/F; 8032500: f507 63ca add.w r3, r7, #1616 ; 0x650 8032504: ed93 7b00 vldr d7, [r3] 8032508: ee37 6b07 vadd.f64 d6, d7, d7 803250c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032510: ed93 7b00 vldr d7, [r3] 8032514: ee26 6b07 vmul.f64 d6, d6, d7 8032518: f507 63c9 add.w r3, r7, #1608 ; 0x648 803251c: ed93 5b00 vldr d5, [r3] 8032520: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032524: ed93 7b00 vldr d7, [r3] 8032528: ee25 5b07 vmul.f64 d5, d5, d7 803252c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032530: ed93 7b00 vldr d7, [r3] 8032534: ee25 5b07 vmul.f64 d5, d5, d7 8032538: f507 63cf add.w r3, r7, #1656 ; 0x678 803253c: ed93 7b00 vldr d7, [r3] 8032540: ee25 7b07 vmul.f64 d7, d5, d7 8032544: ee36 6b07 vadd.f64 d6, d6, d7 8032548: f507 63c9 add.w r3, r7, #1608 ; 0x648 803254c: ed93 7b00 vldr d7, [r3] 8032550: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032554: ee27 5b05 vmul.f64 d5, d7, d5 8032558: f507 63d1 add.w r3, r7, #1672 ; 0x688 803255c: ed93 7b00 vldr d7, [r3] 8032560: ee25 7b07 vmul.f64 d7, d5, d7 8032564: ee36 5b07 vadd.f64 d5, d6, d7 8032568: f507 63c8 add.w r3, r7, #1600 ; 0x640 803256c: ed93 7b00 vldr d7, [r3] 8032570: ee85 6b07 vdiv.f64 d6, d5, d7 8032574: f507 63cc add.w r3, r7, #1632 ; 0x660 8032578: ed93 7b00 vldr d7, [r3] 803257c: ee26 5b07 vmul.f64 d5, d6, d7 8032580: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032584: ed93 6b00 vldr d6, [r3] 8032588: ee85 7b06 vdiv.f64 d7, d5, d6 803258c: f507 727e add.w r2, r7, #1016 ; 0x3f8 8032590: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032594: 00db lsls r3, r3, #3 8032596: 4413 add r3, r2 8032598: ed83 7b00 vstr d7, [r3] k++; 803259c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80325a0: 3301 adds r3, #1 80325a2: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 80325a6: f001 b8a7 b.w 80336f8 80325aa: bf00 nop 80325ac: 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; 80325b0: f507 63ce add.w r3, r7, #1648 ; 0x670 80325b4: ed93 7b00 vldr d7, [r3] 80325b8: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80325bc: ee27 6b06 vmul.f64 d6, d7, d6 80325c0: f507 63cf add.w r3, r7, #1656 ; 0x678 80325c4: ed93 7b00 vldr d7, [r3] 80325c8: ee26 6b07 vmul.f64 d6, d6, d7 80325cc: f507 63cf add.w r3, r7, #1656 ; 0x678 80325d0: ed93 7b00 vldr d7, [r3] 80325d4: ee26 6b07 vmul.f64 d6, d6, d7 80325d8: f507 63cd add.w r3, r7, #1640 ; 0x668 80325dc: ed93 7b00 vldr d7, [r3] 80325e0: ee37 5b07 vadd.f64 d5, d7, d7 80325e4: f507 63cf add.w r3, r7, #1656 ; 0x678 80325e8: ed93 7b00 vldr d7, [r3] 80325ec: ee25 5b07 vmul.f64 d5, d5, d7 80325f0: f507 63cf add.w r3, r7, #1656 ; 0x678 80325f4: ed93 7b00 vldr d7, [r3] 80325f8: ee25 5b07 vmul.f64 d5, d5, d7 80325fc: f507 63cf add.w r3, r7, #1656 ; 0x678 8032600: ed93 7b00 vldr d7, [r3] 8032604: ee25 5b07 vmul.f64 d5, d5, d7 8032608: f507 63d1 add.w r3, r7, #1672 ; 0x688 803260c: ed93 7b00 vldr d7, [r3] 8032610: ee25 7b07 vmul.f64 d7, d5, d7 8032614: ee36 6b47 vsub.f64 d6, d6, d7 8032618: f507 63cc add.w r3, r7, #1632 ; 0x660 803261c: ed93 7b00 vldr d7, [r3] 8032620: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032624: ee27 5b05 vmul.f64 d5, d7, d5 8032628: f507 63d1 add.w r3, r7, #1672 ; 0x688 803262c: ed93 7b00 vldr d7, [r3] 8032630: ee25 5b07 vmul.f64 d5, d5, d7 8032634: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032638: ed93 7b00 vldr d7, [r3] 803263c: ee25 5b07 vmul.f64 d5, d5, d7 8032640: f507 63cf add.w r3, r7, #1656 ; 0x678 8032644: ed93 7b00 vldr d7, [r3] 8032648: ee25 5b07 vmul.f64 d5, d5, d7 803264c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032650: ed93 7b00 vldr d7, [r3] 8032654: ee25 7b07 vmul.f64 d7, d5, d7 8032658: ee36 6b07 vadd.f64 d6, d6, d7 803265c: f507 63cd add.w r3, r7, #1640 ; 0x668 8032660: ed93 7b00 vldr d7, [r3] 8032664: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032668: ee27 5b05 vmul.f64 d5, d7, d5 803266c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032670: ed93 7b00 vldr d7, [r3] 8032674: ee25 5b07 vmul.f64 d5, d5, d7 8032678: f507 63d1 add.w r3, r7, #1672 ; 0x688 803267c: ed93 7b00 vldr d7, [r3] 8032680: ee25 7b07 vmul.f64 d7, d5, d7 8032684: ee36 6b47 vsub.f64 d6, d6, d7 8032688: f507 63cc add.w r3, r7, #1632 ; 0x660 803268c: ed93 5b00 vldr d5, [r3] 8032690: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032694: ed93 7b00 vldr d7, [r3] 8032698: ee25 5b07 vmul.f64 d5, d5, d7 803269c: f507 63d1 add.w r3, r7, #1672 ; 0x688 80326a0: ed93 7b00 vldr d7, [r3] 80326a4: ee25 5b07 vmul.f64 d5, d5, d7 80326a8: f507 63cf add.w r3, r7, #1656 ; 0x678 80326ac: ed93 7b00 vldr d7, [r3] 80326b0: ee25 5b07 vmul.f64 d5, d5, d7 80326b4: f507 63cf add.w r3, r7, #1656 ; 0x678 80326b8: ed93 7b00 vldr d7, [r3] 80326bc: ee25 5b07 vmul.f64 d5, d5, d7 80326c0: f507 63cf add.w r3, r7, #1656 ; 0x678 80326c4: ed93 7b00 vldr d7, [r3] 80326c8: ee25 5b07 vmul.f64 d5, d5, d7 80326cc: f507 63cf add.w r3, r7, #1656 ; 0x678 80326d0: ed93 7b00 vldr d7, [r3] 80326d4: ee25 7b07 vmul.f64 d7, d5, d7 80326d8: ee36 6b07 vadd.f64 d6, d6, d7 80326dc: f507 63cc add.w r3, r7, #1632 ; 0x660 80326e0: ed93 7b00 vldr d7, [r3] 80326e4: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80326e8: ee27 5b05 vmul.f64 d5, d7, d5 80326ec: f507 63d1 add.w r3, r7, #1672 ; 0x688 80326f0: ed93 7b00 vldr d7, [r3] 80326f4: ee25 5b07 vmul.f64 d5, d5, d7 80326f8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80326fc: ed93 7b00 vldr d7, [r3] 8032700: ee25 7b07 vmul.f64 d7, d5, d7 8032704: ee36 6b07 vadd.f64 d6, d6, d7 8032708: f507 63c9 add.w r3, r7, #1608 ; 0x648 803270c: ed93 7b00 vldr d7, [r3] 8032710: eeb1 7b47 vneg.f64 d7, d7 8032714: ee26 7b07 vmul.f64 d7, d6, d7 8032718: 4afb ldr r2, [pc, #1004] ; (8032b08 ) 803271a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803271e: 3328 adds r3, #40 ; 0x28 8032720: 00db lsls r3, r3, #3 8032722: 4413 add r3, r2 8032724: 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; 8032728: f507 63cd add.w r3, r7, #1640 ; 0x668 803272c: ed93 7b00 vldr d7, [r3] 8032730: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8032734: ee27 6b06 vmul.f64 d6, d7, d6 8032738: f507 63cf add.w r3, r7, #1656 ; 0x678 803273c: ed93 7b00 vldr d7, [r3] 8032740: ee26 6b07 vmul.f64 d6, d6, d7 8032744: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032748: ed93 7b00 vldr d7, [r3] 803274c: ee26 6b07 vmul.f64 d6, d6, d7 8032750: f507 63cc add.w r3, r7, #1632 ; 0x660 8032754: ed93 7b00 vldr d7, [r3] 8032758: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803275c: ee27 5b05 vmul.f64 d5, d7, d5 8032760: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032764: ed93 7b00 vldr d7, [r3] 8032768: ee25 5b07 vmul.f64 d5, d5, d7 803276c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032770: ed93 7b00 vldr d7, [r3] 8032774: ee25 5b07 vmul.f64 d5, d5, d7 8032778: f507 63cf add.w r3, r7, #1656 ; 0x678 803277c: ed93 7b00 vldr d7, [r3] 8032780: ee25 5b07 vmul.f64 d5, d5, d7 8032784: f507 63cf add.w r3, r7, #1656 ; 0x678 8032788: ed93 7b00 vldr d7, [r3] 803278c: ee25 5b07 vmul.f64 d5, d5, d7 8032790: f507 63cf add.w r3, r7, #1656 ; 0x678 8032794: ed93 7b00 vldr d7, [r3] 8032798: ee25 5b07 vmul.f64 d5, d5, d7 803279c: f507 63cf add.w r3, r7, #1656 ; 0x678 80327a0: ed93 7b00 vldr d7, [r3] 80327a4: ee25 7b07 vmul.f64 d7, d5, d7 80327a8: ee36 6b07 vadd.f64 d6, d6, d7 80327ac: f507 63cc add.w r3, r7, #1632 ; 0x660 80327b0: ed93 7b00 vldr d7, [r3] 80327b4: ed9f 5bd0 vldr d5, [pc, #832] ; 8032af8 80327b8: ee27 5b05 vmul.f64 d5, d7, d5 80327bc: f507 63d1 add.w r3, r7, #1672 ; 0x688 80327c0: ed93 7b00 vldr d7, [r3] 80327c4: ee25 5b07 vmul.f64 d5, d5, d7 80327c8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80327cc: ed93 7b00 vldr d7, [r3] 80327d0: ee25 7b07 vmul.f64 d7, d5, d7 80327d4: ee36 6b47 vsub.f64 d6, d6, d7 80327d8: f507 63cd add.w r3, r7, #1640 ; 0x668 80327dc: ed93 7b00 vldr d7, [r3] 80327e0: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80327e4: ee27 5b05 vmul.f64 d5, d7, d5 80327e8: f507 63cf add.w r3, r7, #1656 ; 0x678 80327ec: ed93 7b00 vldr d7, [r3] 80327f0: ee25 5b07 vmul.f64 d5, d5, d7 80327f4: f507 63cf add.w r3, r7, #1656 ; 0x678 80327f8: ed93 7b00 vldr d7, [r3] 80327fc: ee25 5b07 vmul.f64 d5, d5, d7 8032800: f507 63cf add.w r3, r7, #1656 ; 0x678 8032804: ed93 7b00 vldr d7, [r3] 8032808: ee25 5b07 vmul.f64 d5, d5, d7 803280c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032810: ed93 7b00 vldr d7, [r3] 8032814: ee25 7b07 vmul.f64 d7, d5, d7 8032818: ee36 6b47 vsub.f64 d6, d6, d7 803281c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032820: ed93 7b00 vldr d7, [r3] 8032824: eeb1 7b47 vneg.f64 d7, d7 8032828: ee26 7b07 vmul.f64 d7, d6, d7 803282c: 4ab6 ldr r2, [pc, #728] ; (8032b08 ) 803282e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032832: 331e adds r3, #30 8032834: 00db lsls r3, r3, #3 8032836: 4413 add r3, r2 8032838: 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; 803283c: f507 63cc add.w r3, r7, #1632 ; 0x660 8032840: ed93 7b00 vldr d7, [r3] 8032844: ed9f 6bae vldr d6, [pc, #696] ; 8032b00 8032848: ee27 6b06 vmul.f64 d6, d7, d6 803284c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032850: ed93 7b00 vldr d7, [r3] 8032854: ee26 6b07 vmul.f64 d6, d6, d7 8032858: f507 63d1 add.w r3, r7, #1672 ; 0x688 803285c: ed93 7b00 vldr d7, [r3] 8032860: ee26 6b07 vmul.f64 d6, d6, d7 8032864: f507 63ce add.w r3, r7, #1648 ; 0x670 8032868: ed93 7b00 vldr d7, [r3] 803286c: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032870: ee27 5b05 vmul.f64 d5, d7, d5 8032874: f507 63cf add.w r3, r7, #1656 ; 0x678 8032878: ed93 7b00 vldr d7, [r3] 803287c: ee25 5b07 vmul.f64 d5, d5, d7 8032880: f507 63cf add.w r3, r7, #1656 ; 0x678 8032884: ed93 7b00 vldr d7, [r3] 8032888: ee25 7b07 vmul.f64 d7, d5, d7 803288c: ee36 6b47 vsub.f64 d6, d6, d7 8032890: f507 63cc add.w r3, r7, #1632 ; 0x660 8032894: ed93 7b00 vldr d7, [r3] 8032898: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803289c: ee27 5b05 vmul.f64 d5, d7, d5 80328a0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80328a4: ed93 7b00 vldr d7, [r3] 80328a8: ee25 5b07 vmul.f64 d5, d5, d7 80328ac: f507 63d1 add.w r3, r7, #1672 ; 0x688 80328b0: ed93 7b00 vldr d7, [r3] 80328b4: ee25 5b07 vmul.f64 d5, d5, d7 80328b8: f507 63cf add.w r3, r7, #1656 ; 0x678 80328bc: ed93 7b00 vldr d7, [r3] 80328c0: ee25 5b07 vmul.f64 d5, d5, d7 80328c4: f507 63cf add.w r3, r7, #1656 ; 0x678 80328c8: ed93 7b00 vldr d7, [r3] 80328cc: ee25 7b07 vmul.f64 d7, d5, d7 80328d0: ee36 6b47 vsub.f64 d6, d6, d7 80328d4: f507 63cc add.w r3, r7, #1632 ; 0x660 80328d8: ed93 7b00 vldr d7, [r3] 80328dc: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 80328e0: ee27 5b05 vmul.f64 d5, d7, d5 80328e4: f507 63d1 add.w r3, r7, #1672 ; 0x688 80328e8: ed93 7b00 vldr d7, [r3] 80328ec: ee25 5b07 vmul.f64 d5, d5, d7 80328f0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80328f4: ed93 7b00 vldr d7, [r3] 80328f8: ee25 5b07 vmul.f64 d5, d5, d7 80328fc: f507 63cf add.w r3, r7, #1656 ; 0x678 8032900: ed93 7b00 vldr d7, [r3] 8032904: ee25 5b07 vmul.f64 d5, d5, d7 8032908: f507 63cf add.w r3, r7, #1656 ; 0x678 803290c: ed93 7b00 vldr d7, [r3] 8032910: ee25 5b07 vmul.f64 d5, d5, d7 8032914: f507 63cf add.w r3, r7, #1656 ; 0x678 8032918: ed93 7b00 vldr d7, [r3] 803291c: ee25 5b07 vmul.f64 d5, d5, d7 8032920: f507 63cf add.w r3, r7, #1656 ; 0x678 8032924: ed93 7b00 vldr d7, [r3] 8032928: ee25 7b07 vmul.f64 d7, d5, d7 803292c: ee36 6b07 vadd.f64 d6, d6, d7 8032930: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032934: ed93 7b00 vldr d7, [r3] 8032938: eeb1 7b47 vneg.f64 d7, d7 803293c: ee26 7b07 vmul.f64 d7, d6, d7 8032940: 4a71 ldr r2, [pc, #452] ; (8032b08 ) 8032942: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032946: 3314 adds r3, #20 8032948: 00db lsls r3, r3, #3 803294a: 4413 add r3, r2 803294c: 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; 8032950: f507 63cd add.w r3, r7, #1640 ; 0x668 8032954: ed93 7b00 vldr d7, [r3] 8032958: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 803295c: ee27 6b06 vmul.f64 d6, d7, d6 8032960: f507 63cf add.w r3, r7, #1656 ; 0x678 8032964: ed93 7b00 vldr d7, [r3] 8032968: ee26 6b07 vmul.f64 d6, d6, d7 803296c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032970: ed93 7b00 vldr d7, [r3] 8032974: ee26 6b07 vmul.f64 d6, d6, d7 8032978: f507 63cf add.w r3, r7, #1656 ; 0x678 803297c: ed93 7b00 vldr d7, [r3] 8032980: ee26 6b07 vmul.f64 d6, d6, d7 8032984: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032988: ed93 7b00 vldr d7, [r3] 803298c: ee26 6b07 vmul.f64 d6, d6, d7 8032990: f507 63cd add.w r3, r7, #1640 ; 0x668 8032994: ed93 7b00 vldr d7, [r3] 8032998: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803299c: ee27 5b05 vmul.f64 d5, d7, d5 80329a0: f507 63cf add.w r3, r7, #1656 ; 0x678 80329a4: ed93 7b00 vldr d7, [r3] 80329a8: ee25 5b07 vmul.f64 d5, d5, d7 80329ac: f507 63d1 add.w r3, r7, #1672 ; 0x688 80329b0: ed93 7b00 vldr d7, [r3] 80329b4: ee25 7b07 vmul.f64 d7, d5, d7 80329b8: ee36 6b47 vsub.f64 d6, d6, d7 80329bc: f507 63cc add.w r3, r7, #1632 ; 0x660 80329c0: ed93 7b00 vldr d7, [r3] 80329c4: ed9f 5b4c vldr d5, [pc, #304] ; 8032af8 80329c8: ee27 5b05 vmul.f64 d5, d7, d5 80329cc: f507 63d1 add.w r3, r7, #1672 ; 0x688 80329d0: ed93 7b00 vldr d7, [r3] 80329d4: ee25 5b07 vmul.f64 d5, d5, d7 80329d8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80329dc: ed93 7b00 vldr d7, [r3] 80329e0: ee25 7b07 vmul.f64 d7, d5, d7 80329e4: ee36 6b47 vsub.f64 d6, d6, d7 80329e8: f507 63cc add.w r3, r7, #1632 ; 0x660 80329ec: ed93 7b00 vldr d7, [r3] 80329f0: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80329f4: ee27 5b05 vmul.f64 d5, d7, d5 80329f8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80329fc: ed93 7b00 vldr d7, [r3] 8032a00: ee25 5b07 vmul.f64 d5, d5, d7 8032a04: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032a08: ed93 7b00 vldr d7, [r3] 8032a0c: ee25 5b07 vmul.f64 d5, d5, d7 8032a10: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a14: ed93 7b00 vldr d7, [r3] 8032a18: ee25 5b07 vmul.f64 d5, d5, d7 8032a1c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a20: ed93 7b00 vldr d7, [r3] 8032a24: ee25 5b07 vmul.f64 d5, d5, d7 8032a28: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a2c: ed93 7b00 vldr d7, [r3] 8032a30: ee25 5b07 vmul.f64 d5, d5, d7 8032a34: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a38: ed93 7b00 vldr d7, [r3] 8032a3c: ee25 7b07 vmul.f64 d7, d5, d7 8032a40: ee36 6b07 vadd.f64 d6, d6, d7 8032a44: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032a48: ed93 7b00 vldr d7, [r3] 8032a4c: eeb1 7b47 vneg.f64 d7, d7 8032a50: ee26 7b07 vmul.f64 d7, d6, d7 8032a54: 4a2c ldr r2, [pc, #176] ; (8032b08 ) 8032a56: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032a5a: 330a adds r3, #10 8032a5c: 00db lsls r3, r3, #3 8032a5e: 4413 add r3, r2 8032a60: 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; 8032a64: f507 63ce add.w r3, r7, #1648 ; 0x670 8032a68: ed93 7b00 vldr d7, [r3] 8032a6c: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8032a70: ee27 6b06 vmul.f64 d6, d7, d6 8032a74: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a78: ed93 7b00 vldr d7, [r3] 8032a7c: ee26 6b07 vmul.f64 d6, d6, d7 8032a80: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a84: ed93 7b00 vldr d7, [r3] 8032a88: ee26 6b07 vmul.f64 d6, d6, d7 8032a8c: f507 63cd add.w r3, r7, #1640 ; 0x668 8032a90: ed93 7b00 vldr d7, [r3] 8032a94: ee37 5b07 vadd.f64 d5, d7, d7 8032a98: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a9c: ed93 7b00 vldr d7, [r3] 8032aa0: ee25 5b07 vmul.f64 d5, d5, d7 8032aa4: f507 63cf add.w r3, r7, #1656 ; 0x678 8032aa8: ed93 7b00 vldr d7, [r3] 8032aac: ee25 5b07 vmul.f64 d5, d5, d7 8032ab0: f507 63cf add.w r3, r7, #1656 ; 0x678 8032ab4: ed93 7b00 vldr d7, [r3] 8032ab8: ee25 5b07 vmul.f64 d5, d5, d7 8032abc: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032ac0: ed93 7b00 vldr d7, [r3] 8032ac4: ee25 7b07 vmul.f64 d7, d5, d7 8032ac8: ee36 6b07 vadd.f64 d6, d6, d7 8032acc: f507 63cc add.w r3, r7, #1632 ; 0x660 8032ad0: ed93 7b00 vldr d7, [r3] 8032ad4: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032ad8: ee27 5b05 vmul.f64 d5, d7, d5 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: e00a b.n 8032b0c 8032af6: bf00 nop 8032af8: 00000000 .word 0x00000000 8032afc: 40500000 .word 0x40500000 8032b00: 00000000 .word 0x00000000 8032b04: 40580000 .word 0x40580000 8032b08: 20025960 .word 0x20025960 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 6b07 vadd.f64 d6, d6, d7 8032b28: f507 63cd add.w r3, r7, #1640 ; 0x668 8032b2c: ed93 7b00 vldr d7, [r3] 8032b30: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032b34: ee27 5b05 vmul.f64 d5, d7, d5 8032b38: f507 63cf add.w r3, r7, #1656 ; 0x678 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 6b07 vadd.f64 d6, d6, d7 8032b54: f507 63cc add.w r3, r7, #1632 ; 0x660 8032b58: ed93 5b00 vldr d5, [r3] 8032b5c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032b60: ed93 7b00 vldr d7, [r3] 8032b64: ee25 5b07 vmul.f64 d5, d5, d7 8032b68: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032b6c: ed93 7b00 vldr d7, [r3] 8032b70: ee25 5b07 vmul.f64 d5, d5, d7 8032b74: f507 63cf add.w r3, r7, #1656 ; 0x678 8032b78: ed93 7b00 vldr d7, [r3] 8032b7c: ee25 5b07 vmul.f64 d5, d5, d7 8032b80: f507 63cf add.w r3, r7, #1656 ; 0x678 8032b84: ed93 7b00 vldr d7, [r3] 8032b88: ee25 5b07 vmul.f64 d5, d5, d7 8032b8c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032b90: ed93 7b00 vldr d7, [r3] 8032b94: ee25 5b07 vmul.f64 d5, d5, d7 8032b98: f507 63cf add.w r3, r7, #1656 ; 0x678 8032b9c: ed93 7b00 vldr d7, [r3] 8032ba0: ee25 7b07 vmul.f64 d7, d5, d7 8032ba4: ee36 6b07 vadd.f64 d6, d6, d7 8032ba8: f507 63cc add.w r3, r7, #1632 ; 0x660 8032bac: ed93 7b00 vldr d7, [r3] 8032bb0: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032bb4: ee27 5b05 vmul.f64 d5, d7, d5 8032bb8: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032bbc: ed93 7b00 vldr d7, [r3] 8032bc0: ee25 5b07 vmul.f64 d5, d5, d7 8032bc4: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032bc8: ed93 7b00 vldr d7, [r3] 8032bcc: ee25 7b07 vmul.f64 d7, d5, d7 8032bd0: ee36 6b07 vadd.f64 d6, d6, d7 8032bd4: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032bd8: ed93 7b00 vldr d7, [r3] 8032bdc: eeb1 7b47 vneg.f64 d7, d7 8032be0: ee26 7b07 vmul.f64 d7, d6, d7 8032be4: 4afa ldr r2, [pc, #1000] ; (8032fd0 ) 8032be6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032bea: 00db lsls r3, r3, #3 8032bec: 4413 add r3, r2 8032bee: 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; 8032bf2: f507 63ca add.w r3, r7, #1616 ; 0x650 8032bf6: ed93 7b00 vldr d7, [r3] 8032bfa: ee37 6b07 vadd.f64 d6, d7, d7 8032bfe: f507 63cf add.w r3, r7, #1656 ; 0x678 8032c02: ed93 7b00 vldr d7, [r3] 8032c06: ee26 6b07 vmul.f64 d6, d6, d7 8032c0a: f507 63cf add.w r3, r7, #1656 ; 0x678 8032c0e: ed93 7b00 vldr d7, [r3] 8032c12: ee26 6b07 vmul.f64 d6, d6, d7 8032c16: f507 63cf add.w r3, r7, #1656 ; 0x678 8032c1a: ed93 7b00 vldr d7, [r3] 8032c1e: ee26 6b07 vmul.f64 d6, d6, d7 8032c22: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032c26: ed93 7b00 vldr d7, [r3] 8032c2a: ee26 6b07 vmul.f64 d6, d6, d7 8032c2e: f507 63cb add.w r3, r7, #1624 ; 0x658 8032c32: ed93 7b00 vldr d7, [r3] 8032c36: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032c3a: ee27 5b05 vmul.f64 d5, d7, d5 8032c3e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032c42: ed93 7b00 vldr d7, [r3] 8032c46: ee25 5b07 vmul.f64 d5, d5, d7 8032c4a: f507 63cf add.w r3, r7, #1656 ; 0x678 8032c4e: ed93 7b00 vldr d7, [r3] 8032c52: ee25 7b07 vmul.f64 d7, d5, d7 8032c56: ee36 6b47 vsub.f64 d6, d6, d7 8032c5a: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032c5e: ed93 7b00 vldr d7, [r3] 8032c62: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032c66: ee27 5b05 vmul.f64 d5, d7, d5 8032c6a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032c6e: ed93 7b00 vldr d7, [r3] 8032c72: ee25 5b07 vmul.f64 d5, d5, d7 8032c76: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032c7a: ed93 7b00 vldr d7, [r3] 8032c7e: ee25 5b07 vmul.f64 d5, d5, d7 8032c82: f507 63cf add.w r3, r7, #1656 ; 0x678 8032c86: ed93 7b00 vldr d7, [r3] 8032c8a: ee25 5b07 vmul.f64 d5, d5, d7 8032c8e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032c92: ed93 7b00 vldr d7, [r3] 8032c96: ee25 7b07 vmul.f64 d7, d5, d7 8032c9a: ee36 6b47 vsub.f64 d6, d6, d7 8032c9e: f507 63ca add.w r3, r7, #1616 ; 0x650 8032ca2: ed93 7b00 vldr d7, [r3] 8032ca6: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032caa: ee27 5b05 vmul.f64 d5, d7, d5 8032cae: f507 63cf add.w r3, r7, #1656 ; 0x678 8032cb2: ed93 7b00 vldr d7, [r3] 8032cb6: ee25 5b07 vmul.f64 d5, d5, d7 8032cba: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032cbe: ed93 7b00 vldr d7, [r3] 8032cc2: ee25 7b07 vmul.f64 d7, d5, d7 8032cc6: ee36 6b07 vadd.f64 d6, d6, d7 8032cca: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032cce: ed93 7b00 vldr d7, [r3] 8032cd2: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032cd6: ee27 5b05 vmul.f64 d5, d7, d5 8032cda: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032cde: ed93 7b00 vldr d7, [r3] 8032ce2: ee25 5b07 vmul.f64 d5, d5, d7 8032ce6: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032cea: ed93 7b00 vldr d7, [r3] 8032cee: ee25 7b07 vmul.f64 d7, d5, d7 8032cf2: ee36 6b47 vsub.f64 d6, d6, d7 8032cf6: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032cfa: ed93 5b00 vldr d5, [r3] 8032cfe: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032d02: ed93 7b00 vldr d7, [r3] 8032d06: ee25 5b07 vmul.f64 d5, d5, d7 8032d0a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032d0e: ed93 7b00 vldr d7, [r3] 8032d12: ee25 5b07 vmul.f64 d5, d5, d7 8032d16: f507 63cf add.w r3, r7, #1656 ; 0x678 8032d1a: ed93 7b00 vldr d7, [r3] 8032d1e: ee25 5b07 vmul.f64 d5, d5, d7 8032d22: f507 63cf add.w r3, r7, #1656 ; 0x678 8032d26: ed93 7b00 vldr d7, [r3] 8032d2a: ee25 5b07 vmul.f64 d5, d5, d7 8032d2e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032d32: ed93 7b00 vldr d7, [r3] 8032d36: ee25 5b07 vmul.f64 d5, d5, d7 8032d3a: f507 63cf add.w r3, r7, #1656 ; 0x678 8032d3e: ed93 7b00 vldr d7, [r3] 8032d42: ee25 7b07 vmul.f64 d7, d5, d7 8032d46: ee36 6b47 vsub.f64 d6, d6, d7 8032d4a: f507 63cc add.w r3, r7, #1632 ; 0x660 8032d4e: ed93 7b00 vldr d7, [r3] 8032d52: ee26 7b07 vmul.f64 d7, d6, d7 8032d56: 4a9e ldr r2, [pc, #632] ; (8032fd0 ) 8032d58: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032d5c: 335a adds r3, #90 ; 0x5a 8032d5e: 00db lsls r3, r3, #3 8032d60: 4413 add r3, r2 8032d62: 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; 8032d66: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032d6a: ed93 7b00 vldr d7, [r3] 8032d6e: ed9f 6b94 vldr d6, [pc, #592] ; 8032fc0 8032d72: ee27 6b06 vmul.f64 d6, d7, d6 8032d76: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032d7a: ed93 7b00 vldr d7, [r3] 8032d7e: ee26 6b07 vmul.f64 d6, d6, d7 8032d82: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032d86: ed93 7b00 vldr d7, [r3] 8032d8a: ee26 6b07 vmul.f64 d6, d6, d7 8032d8e: f507 63ca add.w r3, r7, #1616 ; 0x650 8032d92: ed93 7b00 vldr d7, [r3] 8032d96: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032d9a: ee27 5b05 vmul.f64 d5, d7, d5 8032d9e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032da2: ed93 7b00 vldr d7, [r3] 8032da6: ee25 5b07 vmul.f64 d5, d5, d7 8032daa: f507 63cf add.w r3, r7, #1656 ; 0x678 8032dae: ed93 7b00 vldr d7, [r3] 8032db2: ee25 5b07 vmul.f64 d5, d5, d7 8032db6: f507 63cf add.w r3, r7, #1656 ; 0x678 8032dba: ed93 7b00 vldr d7, [r3] 8032dbe: ee25 5b07 vmul.f64 d5, d5, d7 8032dc2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032dc6: ed93 7b00 vldr d7, [r3] 8032dca: ee25 7b07 vmul.f64 d7, d5, d7 8032dce: ee36 6b07 vadd.f64 d6, d6, d7 8032dd2: f507 63ca add.w r3, r7, #1616 ; 0x650 8032dd6: ed93 7b00 vldr d7, [r3] 8032dda: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032dde: ee27 5b05 vmul.f64 d5, d7, d5 8032de2: f507 63cf add.w r3, r7, #1656 ; 0x678 8032de6: ed93 7b00 vldr d7, [r3] 8032dea: ee25 5b07 vmul.f64 d5, d5, d7 8032dee: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032df2: ed93 7b00 vldr d7, [r3] 8032df6: ee25 7b07 vmul.f64 d7, d5, d7 8032dfa: ee36 6b47 vsub.f64 d6, d6, d7 8032dfe: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032e02: ed93 7b00 vldr d7, [r3] 8032e06: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032e0a: ee27 5b05 vmul.f64 d5, d7, d5 8032e0e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032e12: ed93 7b00 vldr d7, [r3] 8032e16: ee25 5b07 vmul.f64 d5, d5, d7 8032e1a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032e1e: ed93 7b00 vldr d7, [r3] 8032e22: ee25 5b07 vmul.f64 d5, d5, d7 8032e26: f507 63cf add.w r3, r7, #1656 ; 0x678 8032e2a: ed93 7b00 vldr d7, [r3] 8032e2e: ee25 5b07 vmul.f64 d5, d5, d7 8032e32: f507 63cf add.w r3, r7, #1656 ; 0x678 8032e36: ed93 7b00 vldr d7, [r3] 8032e3a: ee25 5b07 vmul.f64 d5, d5, d7 8032e3e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032e42: ed93 7b00 vldr d7, [r3] 8032e46: ee25 5b07 vmul.f64 d5, d5, d7 8032e4a: f507 63cf add.w r3, r7, #1656 ; 0x678 8032e4e: ed93 7b00 vldr d7, [r3] 8032e52: ee25 7b07 vmul.f64 d7, d5, d7 8032e56: ee36 6b47 vsub.f64 d6, d6, d7 8032e5a: f507 63cc add.w r3, r7, #1632 ; 0x660 8032e5e: ed93 7b00 vldr d7, [r3] 8032e62: ee26 7b07 vmul.f64 d7, d6, d7 8032e66: 4a5a ldr r2, [pc, #360] ; (8032fd0 ) 8032e68: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032e6c: 3350 adds r3, #80 ; 0x50 8032e6e: 00db lsls r3, r3, #3 8032e70: 4413 add r3, r2 8032e72: 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; 8032e76: f507 63cb add.w r3, r7, #1624 ; 0x658 8032e7a: ed93 7b00 vldr d7, [r3] 8032e7e: eeb2 6b00 vmov.f64 d6, #32 ; 0x41000000 8.0 8032e82: ee27 6b06 vmul.f64 d6, d7, d6 8032e86: f507 63cf add.w r3, r7, #1656 ; 0x678 8032e8a: ed93 7b00 vldr d7, [r3] 8032e8e: ee26 6b07 vmul.f64 d6, d6, d7 8032e92: f507 63cf add.w r3, r7, #1656 ; 0x678 8032e96: ed93 7b00 vldr d7, [r3] 8032e9a: ee26 6b07 vmul.f64 d6, d6, d7 8032e9e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032ea2: ed93 7b00 vldr d7, [r3] 8032ea6: ed9f 5b48 vldr d5, [pc, #288] ; 8032fc8 8032eaa: ee27 5b05 vmul.f64 d5, d7, d5 8032eae: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032eb2: ed93 7b00 vldr d7, [r3] 8032eb6: ee25 5b07 vmul.f64 d5, d5, d7 8032eba: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032ebe: ed93 7b00 vldr d7, [r3] 8032ec2: ee25 7b07 vmul.f64 d7, d5, d7 8032ec6: ee36 6b47 vsub.f64 d6, d6, d7 8032eca: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032ece: ed93 7b00 vldr d7, [r3] 8032ed2: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032ed6: ee27 5b05 vmul.f64 d5, d7, d5 8032eda: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032ede: ed93 7b00 vldr d7, [r3] 8032ee2: ee25 5b07 vmul.f64 d5, d5, d7 8032ee6: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032eea: ed93 7b00 vldr d7, [r3] 8032eee: ee25 5b07 vmul.f64 d5, d5, d7 8032ef2: f507 63cf add.w r3, r7, #1656 ; 0x678 8032ef6: ed93 7b00 vldr d7, [r3] 8032efa: ee25 5b07 vmul.f64 d5, d5, d7 8032efe: f507 63cf add.w r3, r7, #1656 ; 0x678 8032f02: ed93 7b00 vldr d7, [r3] 8032f06: ee25 7b07 vmul.f64 d7, d5, d7 8032f0a: ee36 6b07 vadd.f64 d6, d6, d7 8032f0e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032f12: ed93 7b00 vldr d7, [r3] 8032f16: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 8032f1a: ee27 5b05 vmul.f64 d5, d7, d5 8032f1e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032f22: ed93 7b00 vldr d7, [r3] 8032f26: ee25 5b07 vmul.f64 d5, d5, d7 8032f2a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032f2e: ed93 7b00 vldr d7, [r3] 8032f32: ee25 5b07 vmul.f64 d5, d5, d7 8032f36: f507 63cf add.w r3, r7, #1656 ; 0x678 8032f3a: ed93 7b00 vldr d7, [r3] 8032f3e: ee25 5b07 vmul.f64 d5, d5, d7 8032f42: f507 63cf add.w r3, r7, #1656 ; 0x678 8032f46: ed93 7b00 vldr d7, [r3] 8032f4a: ee25 5b07 vmul.f64 d5, d5, d7 8032f4e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032f52: ed93 7b00 vldr d7, [r3] 8032f56: ee25 5b07 vmul.f64 d5, d5, d7 8032f5a: f507 63cf add.w r3, r7, #1656 ; 0x678 8032f5e: ed93 7b00 vldr d7, [r3] 8032f62: ee25 7b07 vmul.f64 d7, d5, d7 8032f66: ee36 6b47 vsub.f64 d6, d6, d7 8032f6a: f507 63cc add.w r3, r7, #1632 ; 0x660 8032f6e: ed93 7b00 vldr d7, [r3] 8032f72: ee26 7b07 vmul.f64 d7, d6, d7 8032f76: 4a16 ldr r2, [pc, #88] ; (8032fd0 ) 8032f78: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032f7c: 3346 adds r3, #70 ; 0x46 8032f7e: 00db lsls r3, r3, #3 8032f80: 4413 add r3, r2 8032f82: 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; 8032f86: f507 63ca add.w r3, r7, #1616 ; 0x650 8032f8a: ed93 7b00 vldr d7, [r3] 8032f8e: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8032f92: ee27 6b06 vmul.f64 d6, d7, d6 8032f96: f507 63cf add.w r3, r7, #1656 ; 0x678 8032f9a: ed93 7b00 vldr d7, [r3] 8032f9e: ee26 6b07 vmul.f64 d6, d6, d7 8032fa2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032fa6: ed93 7b00 vldr d7, [r3] 8032faa: ee26 6b07 vmul.f64 d6, d6, d7 8032fae: f507 63ca add.w r3, r7, #1616 ; 0x650 8032fb2: ed93 7b00 vldr d7, [r3] 8032fb6: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032fba: ee27 5b05 vmul.f64 d5, d7, d5 8032fbe: e009 b.n 8032fd4 8032fc0: 00000000 .word 0x00000000 8032fc4: 40500000 .word 0x40500000 8032fc8: 00000000 .word 0x00000000 8032fcc: 40580000 .word 0x40580000 8032fd0: 20025960 .word 0x20025960 8032fd4: f507 63cf add.w r3, r7, #1656 ; 0x678 8032fd8: ed93 7b00 vldr d7, [r3] 8032fdc: ee25 5b07 vmul.f64 d5, d5, d7 8032fe0: f507 63cf add.w r3, r7, #1656 ; 0x678 8032fe4: ed93 7b00 vldr d7, [r3] 8032fe8: ee25 5b07 vmul.f64 d5, d5, d7 8032fec: f507 63cf add.w r3, r7, #1656 ; 0x678 8032ff0: ed93 7b00 vldr d7, [r3] 8032ff4: ee25 5b07 vmul.f64 d5, d5, d7 8032ff8: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032ffc: ed93 7b00 vldr d7, [r3] 8033000: ee25 7b07 vmul.f64 d7, d5, d7 8033004: ee36 6b47 vsub.f64 d6, d6, d7 8033008: f507 63c9 add.w r3, r7, #1608 ; 0x648 803300c: ed93 7b00 vldr d7, [r3] 8033010: ed9f 5bd5 vldr d5, [pc, #852] ; 8033368 8033014: ee27 5b05 vmul.f64 d5, d7, d5 8033018: f507 63d1 add.w r3, r7, #1672 ; 0x688 803301c: ed93 7b00 vldr d7, [r3] 8033020: ee25 5b07 vmul.f64 d5, d5, d7 8033024: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033028: ed93 7b00 vldr d7, [r3] 803302c: ee25 7b07 vmul.f64 d7, d5, d7 8033030: ee36 6b07 vadd.f64 d6, d6, d7 8033034: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033038: ed93 7b00 vldr d7, [r3] 803303c: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8033040: ee27 5b05 vmul.f64 d5, d7, d5 8033044: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033048: ed93 7b00 vldr d7, [r3] 803304c: ee25 5b07 vmul.f64 d5, d5, d7 8033050: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033054: ed93 7b00 vldr d7, [r3] 8033058: ee25 5b07 vmul.f64 d5, d5, d7 803305c: f507 63cf add.w r3, r7, #1656 ; 0x678 8033060: ed93 7b00 vldr d7, [r3] 8033064: ee25 5b07 vmul.f64 d5, d5, d7 8033068: f507 63cf add.w r3, r7, #1656 ; 0x678 803306c: ed93 7b00 vldr d7, [r3] 8033070: ee25 5b07 vmul.f64 d5, d5, d7 8033074: f507 63cf add.w r3, r7, #1656 ; 0x678 8033078: ed93 7b00 vldr d7, [r3] 803307c: ee25 5b07 vmul.f64 d5, d5, d7 8033080: f507 63cf add.w r3, r7, #1656 ; 0x678 8033084: ed93 7b00 vldr d7, [r3] 8033088: ee25 7b07 vmul.f64 d7, d5, d7 803308c: ee36 6b47 vsub.f64 d6, d6, d7 8033090: f507 63cc add.w r3, r7, #1632 ; 0x660 8033094: ed93 7b00 vldr d7, [r3] 8033098: ee26 7b07 vmul.f64 d7, d6, d7 803309c: 4ab6 ldr r2, [pc, #728] ; (8033378 ) 803309e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80330a2: 333c adds r3, #60 ; 0x3c 80330a4: 00db lsls r3, r3, #3 80330a6: 4413 add r3, r2 80330a8: 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; 80330ac: f507 63cb add.w r3, r7, #1624 ; 0x658 80330b0: ed93 7b00 vldr d7, [r3] 80330b4: eeb9 6b00 vmov.f64 d6, #144 ; 0xc0800000 -4.0 80330b8: ee27 6b06 vmul.f64 d6, d7, d6 80330bc: f507 63cf add.w r3, r7, #1656 ; 0x678 80330c0: ed93 7b00 vldr d7, [r3] 80330c4: ee26 6b07 vmul.f64 d6, d6, d7 80330c8: f507 63cf add.w r3, r7, #1656 ; 0x678 80330cc: ed93 7b00 vldr d7, [r3] 80330d0: ee26 6b07 vmul.f64 d6, d6, d7 80330d4: f507 63ca add.w r3, r7, #1616 ; 0x650 80330d8: ed93 7b00 vldr d7, [r3] 80330dc: ee37 5b07 vadd.f64 d5, d7, d7 80330e0: f507 63cf add.w r3, r7, #1656 ; 0x678 80330e4: ed93 7b00 vldr d7, [r3] 80330e8: ee25 5b07 vmul.f64 d5, d5, d7 80330ec: f507 63cf add.w r3, r7, #1656 ; 0x678 80330f0: ed93 7b00 vldr d7, [r3] 80330f4: ee25 5b07 vmul.f64 d5, d5, d7 80330f8: f507 63cf add.w r3, r7, #1656 ; 0x678 80330fc: ed93 7b00 vldr d7, [r3] 8033100: ee25 5b07 vmul.f64 d5, d5, d7 8033104: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033108: ed93 7b00 vldr d7, [r3] 803310c: ee25 7b07 vmul.f64 d7, d5, d7 8033110: ee36 6b47 vsub.f64 d6, d6, d7 8033114: f507 63ca add.w r3, r7, #1616 ; 0x650 8033118: ed93 7b00 vldr d7, [r3] 803311c: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8033120: ee27 5b05 vmul.f64 d5, d7, d5 8033124: f507 63cf add.w r3, r7, #1656 ; 0x678 8033128: ed93 7b00 vldr d7, [r3] 803312c: ee25 5b07 vmul.f64 d5, d5, d7 8033130: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033134: ed93 7b00 vldr d7, [r3] 8033138: ee25 7b07 vmul.f64 d7, d5, d7 803313c: ee36 6b47 vsub.f64 d6, d6, d7 8033140: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033144: ed93 7b00 vldr d7, [r3] 8033148: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803314c: ee27 5b05 vmul.f64 d5, d7, d5 8033150: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033154: ed93 7b00 vldr d7, [r3] 8033158: ee25 5b07 vmul.f64 d5, d5, d7 803315c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033160: ed93 7b00 vldr d7, [r3] 8033164: ee25 5b07 vmul.f64 d5, d5, d7 8033168: f507 63cf add.w r3, r7, #1656 ; 0x678 803316c: ed93 7b00 vldr d7, [r3] 8033170: ee25 5b07 vmul.f64 d5, d5, d7 8033174: f507 63cf add.w r3, r7, #1656 ; 0x678 8033178: ed93 7b00 vldr d7, [r3] 803317c: ee25 7b07 vmul.f64 d7, d5, d7 8033180: ee36 6b47 vsub.f64 d6, d6, d7 8033184: f507 63c9 add.w r3, r7, #1608 ; 0x648 8033188: ed93 5b00 vldr d5, [r3] 803318c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8033190: ed93 7b00 vldr d7, [r3] 8033194: ee25 5b07 vmul.f64 d5, d5, d7 8033198: f507 63d1 add.w r3, r7, #1672 ; 0x688 803319c: ed93 7b00 vldr d7, [r3] 80331a0: ee25 5b07 vmul.f64 d5, d5, d7 80331a4: f507 63cf add.w r3, r7, #1656 ; 0x678 80331a8: ed93 7b00 vldr d7, [r3] 80331ac: ee25 5b07 vmul.f64 d5, d5, d7 80331b0: f507 63cf add.w r3, r7, #1656 ; 0x678 80331b4: ed93 7b00 vldr d7, [r3] 80331b8: ee25 5b07 vmul.f64 d5, d5, d7 80331bc: f507 63cf add.w r3, r7, #1656 ; 0x678 80331c0: ed93 7b00 vldr d7, [r3] 80331c4: ee25 5b07 vmul.f64 d5, d5, d7 80331c8: f507 63cf add.w r3, r7, #1656 ; 0x678 80331cc: ed93 7b00 vldr d7, [r3] 80331d0: ee25 7b07 vmul.f64 d7, d5, d7 80331d4: ee36 6b47 vsub.f64 d6, d6, d7 80331d8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80331dc: ed93 7b00 vldr d7, [r3] 80331e0: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80331e4: ee27 5b05 vmul.f64 d5, d7, d5 80331e8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80331ec: ed93 7b00 vldr d7, [r3] 80331f0: ee25 5b07 vmul.f64 d5, d5, d7 80331f4: f507 63d1 add.w r3, r7, #1672 ; 0x688 80331f8: ed93 7b00 vldr d7, [r3] 80331fc: ee25 7b07 vmul.f64 d7, d5, d7 8033200: ee36 6b47 vsub.f64 d6, d6, d7 8033204: f507 63cc add.w r3, r7, #1632 ; 0x660 8033208: ed93 7b00 vldr d7, [r3] 803320c: ee26 7b07 vmul.f64 d7, d6, d7 8033210: 4a59 ldr r2, [pc, #356] ; (8033378 ) 8033212: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033216: 3332 adds r3, #50 ; 0x32 8033218: 00db lsls r3, r3, #3 803321a: 4413 add r3, r2 803321c: 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) 8033220: f507 63cf add.w r3, r7, #1656 ; 0x678 8033224: ed93 7b00 vldr d7, [r3] 8033228: eeb0 6b00 vmov.f64 d6, #0 ; 0x40000000 2.0 803322c: ee37 7b46 vsub.f64 d7, d7, d6 8033230: eeb0 7bc7 vabs.f64 d7, d7 8033234: ed9f 6b4e vldr d6, [pc, #312] ; 8033370 8033238: eeb4 7bc6 vcmpe.f64 d7, d6 803323c: eef1 fa10 vmrs APSR_nzcv, fpscr 8033240: d52f bpl.n 80332a2 { IIR.a3[j] = 0.0; 8033242: 4a4d ldr r2, [pc, #308] ; (8033378 ) 8033244: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033248: 331e adds r3, #30 803324a: 00db lsls r3, r3, #3 803324c: 441a add r2, r3 803324e: f04f 0300 mov.w r3, #0 8033252: f04f 0400 mov.w r4, #0 8033256: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = 0.0; 803325a: 4a47 ldr r2, [pc, #284] ; (8033378 ) 803325c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033260: 330a adds r3, #10 8033262: 00db lsls r3, r3, #3 8033264: 441a add r2, r3 8033266: f04f 0300 mov.w r3, #0 803326a: f04f 0400 mov.w r4, #0 803326e: e882 0018 stmia.w r2, {r3, r4} IIR.b3[j] = 0.0; 8033272: 4a41 ldr r2, [pc, #260] ; (8033378 ) 8033274: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033278: 3350 adds r3, #80 ; 0x50 803327a: 00db lsls r3, r3, #3 803327c: 441a add r2, r3 803327e: f04f 0300 mov.w r3, #0 8033282: f04f 0400 mov.w r4, #0 8033286: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = 0.0; 803328a: 4a3b ldr r2, [pc, #236] ; (8033378 ) 803328c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033290: 333c adds r3, #60 ; 0x3c 8033292: 00db lsls r3, r3, #3 8033294: 441a add r2, r3 8033296: f04f 0300 mov.w r3, #0 803329a: f04f 0400 mov.w r4, #0 803329e: 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]; 80332a2: 4a35 ldr r2, [pc, #212] ; (8033378 ) 80332a4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80332a8: 3328 adds r3, #40 ; 0x28 80332aa: 00db lsls r3, r3, #3 80332ac: 4413 add r3, r2 80332ae: cb18 ldmia r3, {r3, r4} 80332b0: f507 62c3 add.w r2, r7, #1560 ; 0x618 80332b4: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.a3[j]; 80332b8: 4a2f ldr r2, [pc, #188] ; (8033378 ) 80332ba: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80332be: 331e adds r3, #30 80332c0: 00db lsls r3, r3, #3 80332c2: 4413 add r3, r2 80332c4: cb18 ldmia r3, {r3, r4} 80332c6: f507 62c4 add.w r2, r7, #1568 ; 0x620 80332ca: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.a2[j]; 80332ce: 4a2a ldr r2, [pc, #168] ; (8033378 ) 80332d0: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80332d4: 3314 adds r3, #20 80332d6: 00db lsls r3, r3, #3 80332d8: 4413 add r3, r2 80332da: cb18 ldmia r3, {r3, r4} 80332dc: f507 62c5 add.w r2, r7, #1576 ; 0x628 80332e0: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.a1[j]; 80332e4: 4a24 ldr r2, [pc, #144] ; (8033378 ) 80332e6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80332ea: 330a adds r3, #10 80332ec: 00db lsls r3, r3, #3 80332ee: 4413 add r3, r2 80332f0: cb18 ldmia r3, {r3, r4} 80332f2: f507 62c6 add.w r2, r7, #1584 ; 0x630 80332f6: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.a0[j]; 80332fa: 4a1f ldr r2, [pc, #124] ; (8033378 ) 80332fc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033300: 00db lsls r3, r3, #3 8033302: 4413 add r3, r2 8033304: cb18 ldmia r3, {r3, r4} 8033306: f507 62c7 add.w r2, r7, #1592 ; 0x638 803330a: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 803330e: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8033312: f507 62bf add.w r2, r7, #1528 ; 0x5f8 8033316: f507 61c3 add.w r1, r7, #1560 ; 0x618 803331a: 2004 movs r0, #4 803331c: f000 fe50 bl 8033fc0 // 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]); 8033320: 4a15 ldr r2, [pc, #84] ; (8033378 ) 8033322: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033326: 3328 adds r3, #40 ; 0x28 8033328: 00db lsls r3, r3, #3 803332a: 4413 add r3, r2 803332c: ed93 7b00 vldr d7, [r3] 8033330: eeb5 7bc0 vcmpe.f64 d7, #0.0 8033334: eef1 fa10 vmrs APSR_nzcv, fpscr 8033338: d520 bpl.n 803337c 803333a: 4a0f ldr r2, [pc, #60] ; (8033378 ) 803333c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033340: 3328 adds r3, #40 ; 0x28 8033342: 00db lsls r3, r3, #3 8033344: 4413 add r3, r2 8033346: ed93 7b00 vldr d7, [r3] 803334a: eeb1 7b47 vneg.f64 d7, d7 803334e: eeb0 0b47 vmov.f64 d0, d7 8033352: f09b fff5 bl 80cf340 8033356: eeb0 7b40 vmov.f64 d7, d0 803335a: eeb1 7b47 vneg.f64 d7, d7 803335e: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033362: ed83 7b00 vstr d7, [r3] 8033366: e019 b.n 803339c 8033368: 00000000 .word 0x00000000 803336c: 40500000 .word 0x40500000 8033370: d2f1a9fc .word 0xd2f1a9fc 8033374: 3f40624d .word 0x3f40624d 8033378: 20025960 .word 0x20025960 else Scalar = sqrt(IIR.a4[j]); 803337c: 4a87 ldr r2, [pc, #540] ; (803359c ) 803337e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033382: 3328 adds r3, #40 ; 0x28 8033384: 00db lsls r3, r3, #3 8033386: 4413 add r3, r2 8033388: ed93 7b00 vldr d7, [r3] 803338c: eeb0 0b47 vmov.f64 d0, d7 8033390: f09b ffd6 bl 80cf340 8033394: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033398: ed83 0b00 vstr d0, [r3] a2[k] = Scalar; 803339c: f507 62b1 add.w r2, r7, #1416 ; 0x588 80333a0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80333a4: 00db lsls r3, r3, #3 80333a6: 441a add r2, r3 80333a8: f507 63d2 add.w r3, r7, #1680 ; 0x690 80333ac: cb18 ldmia r3, {r3, r4} 80333ae: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 80333b2: f507 63bf add.w r3, r7, #1528 ; 0x5f8 80333b6: ed93 6b00 vldr d6, [r3] 80333ba: f507 63c0 add.w r3, r7, #1536 ; 0x600 80333be: ed93 7b00 vldr d7, [r3] 80333c2: ee36 7b07 vadd.f64 d7, d6, d7 80333c6: eeb1 6b47 vneg.f64 d6, d7 80333ca: f507 63d2 add.w r3, r7, #1680 ; 0x690 80333ce: ed93 7b00 vldr d7, [r3] 80333d2: ee26 7b07 vmul.f64 d7, d6, d7 80333d6: f507 62a7 add.w r2, r7, #1336 ; 0x538 80333da: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80333de: 00db lsls r3, r3, #3 80333e0: 4413 add r3, r2 80333e2: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 80333e6: f507 63bf add.w r3, r7, #1528 ; 0x5f8 80333ea: ed93 6b00 vldr d6, [r3] 80333ee: f507 63c0 add.w r3, r7, #1536 ; 0x600 80333f2: ed93 7b00 vldr d7, [r3] 80333f6: ee26 6b07 vmul.f64 d6, d6, d7 80333fa: f507 63bb add.w r3, r7, #1496 ; 0x5d8 80333fe: ed93 5b00 vldr d5, [r3] 8033402: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8033406: ed93 7b00 vldr d7, [r3] 803340a: ee25 7b07 vmul.f64 d7, d5, d7 803340e: ee36 6b47 vsub.f64 d6, d6, d7 8033412: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033416: ed93 7b00 vldr d7, [r3] 803341a: ee26 7b07 vmul.f64 d7, d6, d7 803341e: f507 629d add.w r2, r7, #1256 ; 0x4e8 8033422: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033426: 00db lsls r3, r3, #3 8033428: 4413 add r3, r2 803342a: ed83 7b00 vstr d7, [r3] k++; 803342e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033432: 3301 adds r3, #1 8033434: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 a2[k] = Scalar; 8033438: f507 62b1 add.w r2, r7, #1416 ; 0x588 803343c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033440: 00db lsls r3, r3, #3 8033442: 441a add r2, r3 8033444: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033448: cb18 ldmia r3, {r3, r4} 803344a: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 803344e: f507 63c1 add.w r3, r7, #1544 ; 0x608 8033452: ed93 6b00 vldr d6, [r3] 8033456: f507 63c2 add.w r3, r7, #1552 ; 0x610 803345a: ed93 7b00 vldr d7, [r3] 803345e: ee36 7b07 vadd.f64 d7, d6, d7 8033462: eeb1 6b47 vneg.f64 d6, d7 8033466: f507 63d2 add.w r3, r7, #1680 ; 0x690 803346a: ed93 7b00 vldr d7, [r3] 803346e: ee26 7b07 vmul.f64 d7, d6, d7 8033472: f507 62a7 add.w r2, r7, #1336 ; 0x538 8033476: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 803347a: 00db lsls r3, r3, #3 803347c: 4413 add r3, r2 803347e: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 8033482: f507 63c1 add.w r3, r7, #1544 ; 0x608 8033486: ed93 6b00 vldr d6, [r3] 803348a: f507 63c2 add.w r3, r7, #1552 ; 0x610 803348e: ed93 7b00 vldr d7, [r3] 8033492: ee26 6b07 vmul.f64 d6, d6, d7 8033496: f507 63bd add.w r3, r7, #1512 ; 0x5e8 803349a: ed93 5b00 vldr d5, [r3] 803349e: f507 63be add.w r3, r7, #1520 ; 0x5f0 80334a2: ed93 7b00 vldr d7, [r3] 80334a6: ee25 7b07 vmul.f64 d7, d5, d7 80334aa: ee36 6b47 vsub.f64 d6, d6, d7 80334ae: f507 63d2 add.w r3, r7, #1680 ; 0x690 80334b2: ed93 7b00 vldr d7, [r3] 80334b6: ee26 7b07 vmul.f64 d7, d6, d7 80334ba: f507 629d add.w r2, r7, #1256 ; 0x4e8 80334be: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80334c2: 00db lsls r3, r3, #3 80334c4: 4413 add r3, r2 80334c6: ed83 7b00 vstr d7, [r3] k--; 80334ca: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80334ce: 3b01 subs r3, #1 80334d0: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 // Now do the same with the numerator. Coeff[0] = IIR.b4[j]; 80334d4: 4a31 ldr r2, [pc, #196] ; (803359c ) 80334d6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80334da: 335a adds r3, #90 ; 0x5a 80334dc: 00db lsls r3, r3, #3 80334de: 4413 add r3, r2 80334e0: cb18 ldmia r3, {r3, r4} 80334e2: f507 62c3 add.w r2, r7, #1560 ; 0x618 80334e6: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.b3[j]; 80334ea: 4a2c ldr r2, [pc, #176] ; (803359c ) 80334ec: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80334f0: 3350 adds r3, #80 ; 0x50 80334f2: 00db lsls r3, r3, #3 80334f4: 4413 add r3, r2 80334f6: cb18 ldmia r3, {r3, r4} 80334f8: f507 62c4 add.w r2, r7, #1568 ; 0x620 80334fc: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.b2[j]; 8033500: 4a26 ldr r2, [pc, #152] ; (803359c ) 8033502: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033506: 3346 adds r3, #70 ; 0x46 8033508: 00db lsls r3, r3, #3 803350a: 4413 add r3, r2 803350c: cb18 ldmia r3, {r3, r4} 803350e: f507 62c5 add.w r2, r7, #1576 ; 0x628 8033512: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.b1[j]; 8033516: 4a21 ldr r2, [pc, #132] ; (803359c ) 8033518: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803351c: 333c adds r3, #60 ; 0x3c 803351e: 00db lsls r3, r3, #3 8033520: 4413 add r3, r2 8033522: cb18 ldmia r3, {r3, r4} 8033524: f507 62c6 add.w r2, r7, #1584 ; 0x630 8033528: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.b0[j]; 803352c: 4a1b ldr r2, [pc, #108] ; (803359c ) 803352e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033532: 3332 adds r3, #50 ; 0x32 8033534: 00db lsls r3, r3, #3 8033536: 4413 add r3, r2 8033538: cb18 ldmia r3, {r3, r4} 803353a: f507 62c7 add.w r2, r7, #1592 ; 0x638 803353e: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 8033542: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8033546: f507 62bf add.w r2, r7, #1528 ; 0x5f8 803354a: f507 61c3 add.w r1, r7, #1560 ; 0x618 803354e: 2004 movs r0, #4 8033550: f000 fd36 bl 8033fc0 if(IIR.b4[j] < 0.0)Scalar = -sqrt(-IIR.b4[j]); 8033554: 4a11 ldr r2, [pc, #68] ; (803359c ) 8033556: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803355a: 335a adds r3, #90 ; 0x5a 803355c: 00db lsls r3, r3, #3 803355e: 4413 add r3, r2 8033560: ed93 7b00 vldr d7, [r3] 8033564: eeb5 7bc0 vcmpe.f64 d7, #0.0 8033568: eef1 fa10 vmrs APSR_nzcv, fpscr 803356c: d518 bpl.n 80335a0 803356e: 4a0b ldr r2, [pc, #44] ; (803359c ) 8033570: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033574: 335a adds r3, #90 ; 0x5a 8033576: 00db lsls r3, r3, #3 8033578: 4413 add r3, r2 803357a: ed93 7b00 vldr d7, [r3] 803357e: eeb1 7b47 vneg.f64 d7, d7 8033582: eeb0 0b47 vmov.f64 d0, d7 8033586: f09b fedb bl 80cf340 803358a: eeb0 7b40 vmov.f64 d7, d0 803358e: eeb1 7b47 vneg.f64 d7, d7 8033592: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033596: ed83 7b00 vstr d7, [r3] 803359a: e011 b.n 80335c0 803359c: 20025960 .word 0x20025960 else Scalar = sqrt(IIR.b4[j]); 80335a0: 4ab2 ldr r2, [pc, #712] ; (803386c ) 80335a2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80335a6: 335a adds r3, #90 ; 0x5a 80335a8: 00db lsls r3, r3, #3 80335aa: 4413 add r3, r2 80335ac: ed93 7b00 vldr d7, [r3] 80335b0: eeb0 0b47 vmov.f64 d0, d7 80335b4: f09b fec4 bl 80cf340 80335b8: f507 63d2 add.w r3, r7, #1680 ; 0x690 80335bc: ed83 0b00 vstr d0, [r3] b2[k] = Scalar; 80335c0: f507 6293 add.w r2, r7, #1176 ; 0x498 80335c4: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80335c8: 00db lsls r3, r3, #3 80335ca: 441a add r2, r3 80335cc: f507 63d2 add.w r3, r7, #1680 ; 0x690 80335d0: cb18 ldmia r3, {r3, r4} 80335d2: e882 0018 stmia.w r2, {r3, r4} b1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 80335d6: f507 63bf add.w r3, r7, #1528 ; 0x5f8 80335da: ed93 6b00 vldr d6, [r3] 80335de: f507 63c0 add.w r3, r7, #1536 ; 0x600 80335e2: ed93 7b00 vldr d7, [r3] 80335e6: ee36 7b07 vadd.f64 d7, d6, d7 80335ea: eeb1 6b47 vneg.f64 d6, d7 80335ee: f507 63d2 add.w r3, r7, #1680 ; 0x690 80335f2: ed93 7b00 vldr d7, [r3] 80335f6: ee26 7b07 vmul.f64 d7, d6, d7 80335fa: f507 6289 add.w r2, r7, #1096 ; 0x448 80335fe: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033602: 00db lsls r3, r3, #3 8033604: 4413 add r3, r2 8033606: ed83 7b00 vstr d7, [r3] b0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 803360a: f507 63bf add.w r3, r7, #1528 ; 0x5f8 803360e: ed93 6b00 vldr d6, [r3] 8033612: f507 63c0 add.w r3, r7, #1536 ; 0x600 8033616: ed93 7b00 vldr d7, [r3] 803361a: ee26 6b07 vmul.f64 d6, d6, d7 803361e: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8033622: ed93 5b00 vldr d5, [r3] 8033626: f507 63bc add.w r3, r7, #1504 ; 0x5e0 803362a: ed93 7b00 vldr d7, [r3] 803362e: ee25 7b07 vmul.f64 d7, d5, d7 8033632: ee36 6b47 vsub.f64 d6, d6, d7 8033636: f507 63d2 add.w r3, r7, #1680 ; 0x690 803363a: ed93 7b00 vldr d7, [r3] 803363e: ee26 7b07 vmul.f64 d7, d6, d7 8033642: f507 727e add.w r2, r7, #1016 ; 0x3f8 8033646: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 803364a: 00db lsls r3, r3, #3 803364c: 4413 add r3, r2 803364e: ed83 7b00 vstr d7, [r3] k++; 8033652: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033656: 3301 adds r3, #1 8033658: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 b2[k] = Scalar; 803365c: f507 6293 add.w r2, r7, #1176 ; 0x498 8033660: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033664: 00db lsls r3, r3, #3 8033666: 441a add r2, r3 8033668: f507 63d2 add.w r3, r7, #1680 ; 0x690 803366c: cb18 ldmia r3, {r3, r4} 803366e: e882 0018 stmia.w r2, {r3, r4} b1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 8033672: f507 63c1 add.w r3, r7, #1544 ; 0x608 8033676: ed93 6b00 vldr d6, [r3] 803367a: f507 63c2 add.w r3, r7, #1552 ; 0x610 803367e: ed93 7b00 vldr d7, [r3] 8033682: ee36 7b07 vadd.f64 d7, d6, d7 8033686: eeb1 6b47 vneg.f64 d6, d7 803368a: f507 63d2 add.w r3, r7, #1680 ; 0x690 803368e: ed93 7b00 vldr d7, [r3] 8033692: ee26 7b07 vmul.f64 d7, d6, d7 8033696: f507 6289 add.w r2, r7, #1096 ; 0x448 803369a: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 803369e: 00db lsls r3, r3, #3 80336a0: 4413 add r3, r2 80336a2: ed83 7b00 vstr d7, [r3] b0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 80336a6: f507 63c1 add.w r3, r7, #1544 ; 0x608 80336aa: ed93 6b00 vldr d6, [r3] 80336ae: f507 63c2 add.w r3, r7, #1552 ; 0x610 80336b2: ed93 7b00 vldr d7, [r3] 80336b6: ee26 6b07 vmul.f64 d6, d6, d7 80336ba: f507 63bd add.w r3, r7, #1512 ; 0x5e8 80336be: ed93 5b00 vldr d5, [r3] 80336c2: f507 63be add.w r3, r7, #1520 ; 0x5f0 80336c6: ed93 7b00 vldr d7, [r3] 80336ca: ee25 7b07 vmul.f64 d7, d5, d7 80336ce: ee36 6b47 vsub.f64 d6, d6, d7 80336d2: f507 63d2 add.w r3, r7, #1680 ; 0x690 80336d6: ed93 7b00 vldr d7, [r3] 80336da: ee26 7b07 vmul.f64 d7, d6, d7 80336de: f507 727e add.w r2, r7, #1016 ; 0x3f8 80336e2: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80336e6: 00db lsls r3, r3, #3 80336e8: 4413 add r3, r2 80336ea: ed83 7b00 vstr d7, [r3] k++; 80336ee: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80336f2: 3301 adds r3, #1 80336f4: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 for(j=0; j } } } if(PassType == iirBPF || PassType == iirNOTCH) 8033714: f207 230a addw r3, r7, #522 ; 0x20a 8033718: 781b ldrb r3, [r3, #0] 803371a: 2b02 cmp r3, #2 803371c: d005 beq.n 803372a 803371e: f207 230a addw r3, r7, #522 ; 0x20a 8033722: 781b ldrb r3, [r3, #0] 8033724: 2b03 cmp r3, #3 8033726: f040 8109 bne.w 803393c { // 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]; 8033732: f507 6293 add.w r2, r7, #1176 ; 0x498 8033736: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803373a: 00db lsls r3, r3, #3 803373c: 4413 add r3, r2 803373e: ed93 5b00 vldr d5, [r3] 8033742: f507 629d add.w r2, r7, #1256 ; 0x4e8 8033746: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803374a: 00db lsls r3, r3, #3 803374c: 4413 add r3, r2 803374e: ed93 6b00 vldr d6, [r3] 8033752: ee85 7b06 vdiv.f64 d7, d5, d6 8033756: f507 6293 add.w r2, r7, #1176 ; 0x498 803375a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803375e: 00db lsls r3, r3, #3 8033760: 4413 add r3, r2 8033762: ed83 7b00 vstr d7, [r3] b1[j] /= a0[j]; 8033766: f507 6289 add.w r2, r7, #1096 ; 0x448 803376a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803376e: 00db lsls r3, r3, #3 8033770: 4413 add r3, r2 8033772: ed93 5b00 vldr d5, [r3] 8033776: f507 629d add.w r2, r7, #1256 ; 0x4e8 803377a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803377e: 00db lsls r3, r3, #3 8033780: 4413 add r3, r2 8033782: ed93 6b00 vldr d6, [r3] 8033786: ee85 7b06 vdiv.f64 d7, d5, d6 803378a: f507 6289 add.w r2, r7, #1096 ; 0x448 803378e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033792: 00db lsls r3, r3, #3 8033794: 4413 add r3, r2 8033796: ed83 7b00 vstr d7, [r3] b0[j] /= a0[j]; 803379a: f507 727e add.w r2, r7, #1016 ; 0x3f8 803379e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80337a2: 00db lsls r3, r3, #3 80337a4: 4413 add r3, r2 80337a6: ed93 5b00 vldr d5, [r3] 80337aa: f507 629d add.w r2, r7, #1256 ; 0x4e8 80337ae: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80337b2: 00db lsls r3, r3, #3 80337b4: 4413 add r3, r2 80337b6: ed93 6b00 vldr d6, [r3] 80337ba: ee85 7b06 vdiv.f64 d7, d5, d6 80337be: f507 727e add.w r2, r7, #1016 ; 0x3f8 80337c2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80337c6: 00db lsls r3, r3, #3 80337c8: 4413 add r3, r2 80337ca: ed83 7b00 vstr d7, [r3] a2[j] /= a0[j]; 80337ce: f507 62b1 add.w r2, r7, #1416 ; 0x588 80337d2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80337d6: 00db lsls r3, r3, #3 80337d8: 4413 add r3, r2 80337da: ed93 5b00 vldr d5, [r3] 80337de: f507 629d add.w r2, r7, #1256 ; 0x4e8 80337e2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80337e6: 00db lsls r3, r3, #3 80337e8: 4413 add r3, r2 80337ea: ed93 6b00 vldr d6, [r3] 80337ee: ee85 7b06 vdiv.f64 d7, d5, d6 80337f2: f507 62b1 add.w r2, r7, #1416 ; 0x588 80337f6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80337fa: 00db lsls r3, r3, #3 80337fc: 4413 add r3, r2 80337fe: ed83 7b00 vstr d7, [r3] a1[j] /= a0[j]; 8033802: f507 62a7 add.w r2, r7, #1336 ; 0x538 8033806: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803380a: 00db lsls r3, r3, #3 803380c: 4413 add r3, r2 803380e: ed93 5b00 vldr d5, [r3] 8033812: f507 629d add.w r2, r7, #1256 ; 0x4e8 8033816: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803381a: 00db lsls r3, r3, #3 803381c: 4413 add r3, r2 803381e: ed93 6b00 vldr d6, [r3] 8033822: ee85 7b06 vdiv.f64 d7, d5, d6 8033826: f507 62a7 add.w r2, r7, #1336 ; 0x538 803382a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803382e: 00db lsls r3, r3, #3 8033830: 4413 add r3, r2 8033832: ed83 7b00 vstr d7, [r3] a0[j] = 1.0; 8033836: f507 629d add.w r2, r7, #1256 ; 0x4e8 803383a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803383e: 00db lsls r3, r3, #3 8033840: 441a add r2, r3 8033842: f04f 0300 mov.w r3, #0 8033846: 4c0a ldr r4, [pc, #40] ; (8033870 ) 8033848: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } for(j=0; j 803386c: 20025960 .word 0x20025960 8033870: 3ff00000 .word 0x3ff00000 { IIR.a0[j] = a0[j]; 8033874: f507 629d add.w r2, r7, #1256 ; 0x4e8 8033878: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803387c: 00db lsls r3, r3, #3 803387e: 4413 add r3, r2 8033880: cb18 ldmia r3, {r3, r4} 8033882: 4937 ldr r1, [pc, #220] ; (8033960 ) 8033884: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 8033888: 00d2 lsls r2, r2, #3 803388a: 440a add r2, r1 803388c: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = a1[j]; 8033890: f507 62a7 add.w r2, r7, #1336 ; 0x538 8033894: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033898: 00db lsls r3, r3, #3 803389a: 4413 add r3, r2 803389c: cb18 ldmia r3, {r3, r4} 803389e: 4930 ldr r1, [pc, #192] ; (8033960 ) 80338a0: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 80338a4: 320a adds r2, #10 80338a6: 00d2 lsls r2, r2, #3 80338a8: 440a add r2, r1 80338aa: e882 0018 stmia.w r2, {r3, r4} IIR.a2[j] = a2[j]; 80338ae: f507 62b1 add.w r2, r7, #1416 ; 0x588 80338b2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80338b6: 00db lsls r3, r3, #3 80338b8: 4413 add r3, r2 80338ba: cb18 ldmia r3, {r3, r4} 80338bc: 4928 ldr r1, [pc, #160] ; (8033960 ) 80338be: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 80338c2: 3214 adds r2, #20 80338c4: 00d2 lsls r2, r2, #3 80338c6: 440a add r2, r1 80338c8: e882 0018 stmia.w r2, {r3, r4} IIR.b0[j] = b0[j]; 80338cc: f507 727e add.w r2, r7, #1016 ; 0x3f8 80338d0: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80338d4: 00db lsls r3, r3, #3 80338d6: 4413 add r3, r2 80338d8: cb18 ldmia r3, {r3, r4} 80338da: 4921 ldr r1, [pc, #132] ; (8033960 ) 80338dc: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 80338e0: 3232 adds r2, #50 ; 0x32 80338e2: 00d2 lsls r2, r2, #3 80338e4: 440a add r2, r1 80338e6: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = b1[j]; 80338ea: f507 6289 add.w r2, r7, #1096 ; 0x448 80338ee: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80338f2: 00db lsls r3, r3, #3 80338f4: 4413 add r3, r2 80338f6: cb18 ldmia r3, {r3, r4} 80338f8: 4919 ldr r1, [pc, #100] ; (8033960 ) 80338fa: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 80338fe: 323c adds r2, #60 ; 0x3c 8033900: 00d2 lsls r2, r2, #3 8033902: 440a add r2, r1 8033904: e882 0018 stmia.w r2, {r3, r4} IIR.b2[j] = b2[j]; 8033908: f507 6293 add.w r2, r7, #1176 ; 0x498 803390c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033910: 00db lsls r3, r3, #3 8033912: 4413 add r3, r2 8033914: cb18 ldmia r3, {r3, r4} 8033916: 4912 ldr r1, [pc, #72] ; (8033960 ) 8033918: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 803391c: 3246 adds r2, #70 ; 0x46 803391e: 00d2 lsls r2, r2, #3 8033920: 440a add r2, r1 8033922: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } } return(IIR); // IIR is the structure containing the coefficients. 803393c: f507 7303 add.w r3, r7, #524 ; 0x20c 8033940: 681b ldr r3, [r3, #0] 8033942: 4a07 ldr r2, [pc, #28] ; (8033960 ) 8033944: 4618 mov r0, r3 8033946: 4611 mov r1, r2 8033948: f44f 734a mov.w r3, #808 ; 0x328 803394c: 461a mov r2, r3 803394e: f09d fd1c bl 80d138a } 8033952: f507 7303 add.w r3, r7, #524 ; 0x20c 8033956: 6818 ldr r0, [r3, #0] 8033958: f207 67a4 addw r7, r7, #1700 ; 0x6a4 803395c: 46bd mov sp, r7 803395e: bd90 pop {r4, r7, pc} 8033960: 20025960 .word 0x20025960 8033964: 00000000 .word 0x00000000 08033968 : TSPlaneCoeff GetSPlaneCoefficients(uint8_t FilterType, int NumPoles, double Beta) { 8033968: b590 push {r4, r7, lr} 803396a: f5ad 7d13 sub.w sp, sp, #588 ; 0x24c 803396e: af00 add r7, sp, #0 8033970: f107 0314 add.w r3, r7, #20 8033974: 6018 str r0, [r3, #0] 8033976: f107 030c add.w r3, r7, #12 803397a: 601a str r2, [r3, #0] 803397c: 463b mov r3, r7 803397e: ed83 0b00 vstr d0, [r3] 8033982: f107 0313 add.w r3, r7, #19 8033986: 460a mov r2, r1 8033988: 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]; 803398a: f107 0313 add.w r3, r7, #19 803398e: 781b ldrb r3, [r3, #0] 8033990: 4ac5 ldr r2, [pc, #788] ; (8033ca8 ) 8033992: 00db lsls r3, r3, #3 8033994: 4413 add r3, r2 8033996: cb18 ldmia r3, {r3, r4} 8033998: e9c7 3488 strd r3, r4, [r7, #544] ; 0x220 BetaStep = BetaStepArray[FilterType]; 803399c: f107 0313 add.w r3, r7, #19 80339a0: 781b ldrb r3, [r3, #0] 80339a2: 4ac2 ldr r2, [pc, #776] ; (8033cac ) 80339a4: 00db lsls r3, r3, #3 80339a6: 4413 add r3, r2 80339a8: cb18 ldmia r3, {r3, r4} 80339aa: e9c7 3486 strd r3, r4, [r7, #536] ; 0x218 BetaMax = BetaMaxArray[FilterType]; 80339ae: f107 0313 add.w r3, r7, #19 80339b2: 781b ldrb r3, [r3, #0] 80339b4: 4abe ldr r2, [pc, #760] ; (8033cb0 ) 80339b6: 00db lsls r3, r3, #3 80339b8: 4413 add r3, r2 80339ba: cb18 ldmia r3, {r3, r4} 80339bc: e9c7 3484 strd r3, r4, [r7, #528] ; 0x210 MinNumPoles = MinNumPolesArray[FilterType]; 80339c0: f107 0313 add.w r3, r7, #19 80339c4: 781b ldrb r3, [r3, #0] 80339c6: 4abb ldr r2, [pc, #748] ; (8033cb4 ) 80339c8: 00db lsls r3, r3, #3 80339ca: 4413 add r3, r2 80339cc: ed93 7b00 vldr d7, [r3] 80339d0: eefd 7bc7 vcvt.s32.f64 s15, d7 80339d4: ee17 3a90 vmov r3, s15 80339d8: f8c7 320c str.w r3, [r7, #524] ; 0x20c MaxNumPoles = MaxNumPolesArray[FilterType]; 80339dc: f107 0313 add.w r3, r7, #19 80339e0: 781b ldrb r3, [r3, #0] 80339e2: 4ab5 ldr r2, [pc, #724] ; (8033cb8 ) 80339e4: 00db lsls r3, r3, #3 80339e6: 4413 add r3, r2 80339e8: ed93 7b00 vldr d7, [r3] 80339ec: eefd 7bc7 vcvt.s32.f64 s15, d7 80339f0: ee17 3a90 vmov r3, s15 80339f4: f8c7 3208 str.w r3, [r7, #520] ; 0x208 // Range check if(NumPoles < MinNumPoles)NumPoles = MinNumPoles; 80339f8: f107 030c add.w r3, r7, #12 80339fc: 681a ldr r2, [r3, #0] 80339fe: f8d7 320c ldr.w r3, [r7, #524] ; 0x20c 8033a02: 429a cmp r2, r3 8033a04: da04 bge.n 8033a10 8033a06: f107 030c add.w r3, r7, #12 8033a0a: f8d7 220c ldr.w r2, [r7, #524] ; 0x20c 8033a0e: 601a str r2, [r3, #0] if(NumPoles > MaxNumPoles)NumPoles = MaxNumPoles; 8033a10: f107 030c add.w r3, r7, #12 8033a14: 681a ldr r2, [r3, #0] 8033a16: f8d7 3208 ldr.w r3, [r7, #520] ; 0x208 8033a1a: 429a cmp r2, r3 8033a1c: dd04 ble.n 8033a28 8033a1e: f107 030c add.w r3, r7, #12 8033a22: f8d7 2208 ldr.w r2, [r7, #520] ; 0x208 8033a26: 601a str r2, [r3, #0] if(Beta < BetaMin)Beta = BetaMin; 8033a28: 463b mov r3, r7 8033a2a: ed93 6b00 vldr d6, [r3] 8033a2e: ed97 7b88 vldr d7, [r7, #544] ; 0x220 8033a32: eeb4 6bc7 vcmpe.f64 d6, d7 8033a36: eef1 fa10 vmrs APSR_nzcv, fpscr 8033a3a: d504 bpl.n 8033a46 8033a3c: 463a mov r2, r7 8033a3e: e9d7 3488 ldrd r3, r4, [r7, #544] ; 0x220 8033a42: e882 0018 stmia.w r2, {r3, r4} if(Beta > BetaMax)Beta = BetaMax; 8033a46: 463b mov r3, r7 8033a48: ed93 6b00 vldr d6, [r3] 8033a4c: ed97 7b84 vldr d7, [r7, #528] ; 0x210 8033a50: eeb4 6bc7 vcmpe.f64 d6, d7 8033a54: eef1 fa10 vmrs APSR_nzcv, fpscr 8033a58: dd04 ble.n 8033a64 8033a5a: 463a mov r2, r7 8033a5c: e9d7 3484 ldrd r3, r4, [r7, #528] ; 0x210 8033a60: 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; 8033a64: 2300 movs r3, #0 8033a66: f8c7 3230 str.w r3, [r7, #560] ; 0x230 for(LoopBeta=BetaMin; LoopBeta<=BetaMax; LoopBeta+=BetaStep)OuterArrayDim++; 8033a6a: e9d7 3488 ldrd r3, r4, [r7, #544] ; 0x220 8033a6e: e9c7 348a strd r3, r4, [r7, #552] ; 0x228 8033a72: e00c b.n 8033a8e 8033a74: f8d7 3230 ldr.w r3, [r7, #560] ; 0x230 8033a78: 3301 adds r3, #1 8033a7a: f8c7 3230 str.w r3, [r7, #560] ; 0x230 8033a7e: ed97 6b8a vldr d6, [r7, #552] ; 0x228 8033a82: ed97 7b86 vldr d7, [r7, #536] ; 0x218 8033a86: ee36 7b07 vadd.f64 d7, d6, d7 8033a8a: ed87 7b8a vstr d7, [r7, #552] ; 0x228 8033a8e: ed97 6b8a vldr d6, [r7, #552] ; 0x228 8033a92: ed97 7b84 vldr d7, [r7, #528] ; 0x210 8033a96: eeb4 6bc7 vcmpe.f64 d6, d7 8033a9a: eef1 fa10 vmrs APSR_nzcv, fpscr 8033a9e: d9e9 bls.n 8033a74 ArrayNumber = 0; 8033aa0: 2300 movs r3, #0 8033aa2: f8c7 3234 str.w r3, [r7, #564] ; 0x234 for(LoopBeta=BetaMin; LoopBeta<=BetaMax; LoopBeta+=BetaStep) 8033aa6: e9d7 3488 ldrd r3, r4, [r7, #544] ; 0x220 8033aaa: e9c7 348a strd r3, r4, [r7, #552] ; 0x228 8033aae: e030 b.n 8033b12 { if( LoopBeta >= Beta - BetaStep/1.9999 && LoopBeta <= Beta + BetaStep/1.9999)break; 8033ab0: ed97 6b86 vldr d6, [r7, #536] ; 0x218 8033ab4: ed9f 5b7a vldr d5, [pc, #488] ; 8033ca0 8033ab8: ee86 7b05 vdiv.f64 d7, d6, d5 8033abc: 463b mov r3, r7 8033abe: ed93 6b00 vldr d6, [r3] 8033ac2: ee36 6b47 vsub.f64 d6, d6, d7 8033ac6: ed97 7b8a vldr d7, [r7, #552] ; 0x228 8033aca: eeb4 6bc7 vcmpe.f64 d6, d7 8033ace: eef1 fa10 vmrs APSR_nzcv, fpscr 8033ad2: d811 bhi.n 8033af8 8033ad4: ed97 7b86 vldr d7, [r7, #536] ; 0x218 8033ad8: ed9f 5b71 vldr d5, [pc, #452] ; 8033ca0 8033adc: ee87 6b05 vdiv.f64 d6, d7, d5 8033ae0: 463b mov r3, r7 8033ae2: ed93 7b00 vldr d7, [r3] 8033ae6: ee36 6b07 vadd.f64 d6, d6, d7 8033aea: ed97 7b8a vldr d7, [r7, #552] ; 0x228 8033aee: eeb4 6bc7 vcmpe.f64 d6, d7 8033af2: eef1 fa10 vmrs APSR_nzcv, fpscr 8033af6: da16 bge.n 8033b26 ArrayNumber++; 8033af8: f8d7 3234 ldr.w r3, [r7, #564] ; 0x234 8033afc: 3301 adds r3, #1 8033afe: f8c7 3234 str.w r3, [r7, #564] ; 0x234 for(LoopBeta=BetaMin; LoopBeta<=BetaMax; LoopBeta+=BetaStep) 8033b02: ed97 6b8a vldr d6, [r7, #552] ; 0x228 8033b06: ed97 7b86 vldr d7, [r7, #536] ; 0x218 8033b0a: ee36 7b07 vadd.f64 d7, d6, d7 8033b0e: ed87 7b8a vstr d7, [r7, #552] ; 0x228 8033b12: ed97 6b8a vldr d6, [r7, #552] ; 0x228 8033b16: ed97 7b84 vldr d7, [r7, #528] ; 0x210 8033b1a: eeb4 6bc7 vcmpe.f64 d6, d7 8033b1e: eef1 fa10 vmrs APSR_nzcv, fpscr 8033b22: d9c5 bls.n 8033ab0 8033b24: e000 b.n 8033b28 if( LoopBeta >= Beta - BetaStep/1.9999 && LoopBeta <= Beta + BetaStep/1.9999)break; 8033b26: 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 8033b28: f8d7 3230 ldr.w r3, [r7, #560] ; 0x230 8033b2c: 1e5a subs r2, r3, #1 8033b2e: f8d7 3234 ldr.w r3, [r7, #564] ; 0x234 8033b32: 429a cmp r2, r3 8033b34: da04 bge.n 8033b40 8033b36: f8d7 3230 ldr.w r3, [r7, #560] ; 0x230 8033b3a: 3b01 subs r3, #1 8033b3c: 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; 8033b40: f107 030c add.w r3, r7, #12 8033b44: 681a ldr r2, [r3, #0] 8033b46: f8d7 320c ldr.w r3, [r7, #524] ; 0x20c 8033b4a: 1ad3 subs r3, r2, r3 8033b4c: f8c7 3240 str.w r3, [r7, #576] ; 0x240 if(n < 0)n = 0; 8033b50: f8d7 3240 ldr.w r3, [r7, #576] ; 0x240 8033b54: 2b00 cmp r3, #0 8033b56: da02 bge.n 8033b5e 8033b58: 2300 movs r3, #0 8033b5a: f8c7 3240 str.w r3, [r7, #576] ; 0x240 // NumSections is the number of biquad sections for a given pole count. NumSections = (NumPoles + 1) / 2; 8033b5e: f107 030c add.w r3, r7, #12 8033b62: 681b ldr r3, [r3, #0] 8033b64: 3301 adds r3, #1 8033b66: 2b00 cmp r3, #0 8033b68: da00 bge.n 8033b6c 8033b6a: 3301 adds r3, #1 8033b6c: 105b asrs r3, r3, #1 8033b6e: f8c7 3204 str.w r3, [r7, #516] ; 0x204 p = z = 0; 8033b72: 2300 movs r3, #0 8033b74: f8c7 3238 str.w r3, [r7, #568] ; 0x238 8033b78: f8d7 3238 ldr.w r3, [r7, #568] ; 0x238 8033b7c: f8c7 323c str.w r3, [r7, #572] ; 0x23c switch(FilterType) 8033b80: f107 0313 add.w r3, r7, #19 8033b84: 781b ldrb r3, [r3, #0] 8033b86: 2b04 cmp r3, #4 8033b88: f000 8086 beq.w 8033c98 8033b8c: 2b05 cmp r3, #5 8033b8e: f000 812b beq.w 8033de8 8033b92: 2b00 cmp r3, #0 8033b94: f040 81f2 bne.w 8033f7c { case ftBUTTERWORTH: for(j=0; j { SPlaneCoeff.A[j] = ButterworthDenominator[n][p++]; 8033ba0: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033ba4: 1c53 adds r3, r2, #1 8033ba6: f8c7 323c str.w r3, [r7, #572] ; 0x23c 8033baa: 4844 ldr r0, [pc, #272] ; (8033cbc ) 8033bac: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033bb0: 460b mov r3, r1 8033bb2: 011b lsls r3, r3, #4 8033bb4: 1a5b subs r3, r3, r1 8033bb6: 005b lsls r3, r3, #1 8033bb8: 4413 add r3, r2 8033bba: 00db lsls r3, r3, #3 8033bbc: 4403 add r3, r0 8033bbe: cb18 ldmia r3, {r3, r4} 8033bc0: f107 0118 add.w r1, r7, #24 8033bc4: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033bc8: 00d2 lsls r2, r2, #3 8033bca: 440a add r2, r1 8033bcc: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.B[j] = ButterworthDenominator[n][p++]; 8033bd0: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033bd4: 1c53 adds r3, r2, #1 8033bd6: f8c7 323c str.w r3, [r7, #572] ; 0x23c 8033bda: 4838 ldr r0, [pc, #224] ; (8033cbc ) 8033bdc: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033be0: 460b mov r3, r1 8033be2: 011b lsls r3, r3, #4 8033be4: 1a5b subs r3, r3, r1 8033be6: 005b lsls r3, r3, #1 8033be8: 4413 add r3, r2 8033bea: 00db lsls r3, r3, #3 8033bec: 4403 add r3, r0 8033bee: cb18 ldmia r3, {r3, r4} 8033bf0: f107 0118 add.w r1, r7, #24 8033bf4: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033bf8: 320a adds r2, #10 8033bfa: 00d2 lsls r2, r2, #3 8033bfc: 440a add r2, r1 8033bfe: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.C[j] = ButterworthDenominator[n][p++]; 8033c02: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033c06: 1c53 adds r3, r2, #1 8033c08: f8c7 323c str.w r3, [r7, #572] ; 0x23c 8033c0c: 482b ldr r0, [pc, #172] ; (8033cbc ) 8033c0e: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033c12: 460b mov r3, r1 8033c14: 011b lsls r3, r3, #4 8033c16: 1a5b subs r3, r3, r1 8033c18: 005b lsls r3, r3, #1 8033c1a: 4413 add r3, r2 8033c1c: 00db lsls r3, r3, #3 8033c1e: 4403 add r3, r0 8033c20: cb18 ldmia r3, {r3, r4} 8033c22: f107 0118 add.w r1, r7, #24 8033c26: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033c2a: 3214 adds r2, #20 8033c2c: 00d2 lsls r2, r2, #3 8033c2e: 440a add r2, r1 8033c30: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.D[j] = 0.0; 8033c34: f107 0218 add.w r2, r7, #24 8033c38: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 8033c3c: 331e adds r3, #30 8033c3e: 00db lsls r3, r3, #3 8033c40: 441a add r2, r3 8033c42: f04f 0300 mov.w r3, #0 8033c46: f04f 0400 mov.w r4, #0 8033c4a: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.E[j] = 0.0; 8033c4e: f107 0218 add.w r2, r7, #24 8033c52: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 8033c56: 3328 adds r3, #40 ; 0x28 8033c58: 00db lsls r3, r3, #3 8033c5a: 441a add r2, r3 8033c5c: f04f 0300 mov.w r3, #0 8033c60: f04f 0400 mov.w r4, #0 8033c64: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.F[j] = 1.0; 8033c68: f107 0218 add.w r2, r7, #24 8033c6c: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 8033c70: 3332 adds r3, #50 ; 0x32 8033c72: 00db lsls r3, r3, #3 8033c74: 441a add r2, r3 8033c76: f04f 0300 mov.w r3, #0 8033c7a: 4c11 ldr r4, [pc, #68] ; (8033cc0 ) 8033c7c: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } break; 8033c96: e171 b.n 8033f7c case ftCHEBYSHEV: for(j=0; j 8033ca0: 2474538f .word 0x2474538f 8033ca4: 3fffff97 .word 0x3fffff97 8033ca8: 080dc2a0 .word 0x080dc2a0 8033cac: 080dc328 .word 0x080dc328 8033cb0: 080dc3b0 .word 0x080dc3b0 8033cb4: 080dc438 .word 0x080dc438 8033cb8: 080dc4c0 .word 0x080dc4c0 8033cbc: 080dc548 .word 0x080dc548 8033cc0: 3ff00000 .word 0x3ff00000 { SPlaneCoeff.A[j] = ChebyshevDenominator[ArrayNumber][n][p++]; 8033cc4: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033cc8: 1c53 adds r3, r2, #1 8033cca: f8c7 323c str.w r3, [r7, #572] ; 0x23c 8033cce: 4cb8 ldr r4, [pc, #736] ; (8033fb0 ) 8033cd0: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033cd4: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033cd8: 460b mov r3, r1 8033cda: 011b lsls r3, r3, #4 8033cdc: 1a5b subs r3, r3, r1 8033cde: 005b lsls r3, r3, #1 8033ce0: f44f 7187 mov.w r1, #270 ; 0x10e 8033ce4: fb01 f100 mul.w r1, r1, r0 8033ce8: 440b add r3, r1 8033cea: 4413 add r3, r2 8033cec: 00db lsls r3, r3, #3 8033cee: 4423 add r3, r4 8033cf0: cb18 ldmia r3, {r3, r4} 8033cf2: f107 0118 add.w r1, r7, #24 8033cf6: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033cfa: 00d2 lsls r2, r2, #3 8033cfc: 440a add r2, r1 8033cfe: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.B[j] = ChebyshevDenominator[ArrayNumber][n][p++]; 8033d02: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033d06: 1c53 adds r3, r2, #1 8033d08: f8c7 323c str.w r3, [r7, #572] ; 0x23c 8033d0c: 4ca8 ldr r4, [pc, #672] ; (8033fb0 ) 8033d0e: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033d12: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033d16: 460b mov r3, r1 8033d18: 011b lsls r3, r3, #4 8033d1a: 1a5b subs r3, r3, r1 8033d1c: 005b lsls r3, r3, #1 8033d1e: f44f 7187 mov.w r1, #270 ; 0x10e 8033d22: fb01 f100 mul.w r1, r1, r0 8033d26: 440b add r3, r1 8033d28: 4413 add r3, r2 8033d2a: 00db lsls r3, r3, #3 8033d2c: 4423 add r3, r4 8033d2e: cb18 ldmia r3, {r3, r4} 8033d30: f107 0118 add.w r1, r7, #24 8033d34: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033d38: 320a adds r2, #10 8033d3a: 00d2 lsls r2, r2, #3 8033d3c: 440a add r2, r1 8033d3e: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.C[j] = ChebyshevDenominator[ArrayNumber][n][p++]; 8033d42: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033d46: 1c53 adds r3, r2, #1 8033d48: f8c7 323c str.w r3, [r7, #572] ; 0x23c 8033d4c: 4c98 ldr r4, [pc, #608] ; (8033fb0 ) 8033d4e: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033d52: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033d56: 460b mov r3, r1 8033d58: 011b lsls r3, r3, #4 8033d5a: 1a5b subs r3, r3, r1 8033d5c: 005b lsls r3, r3, #1 8033d5e: f44f 7187 mov.w r1, #270 ; 0x10e 8033d62: fb01 f100 mul.w r1, r1, r0 8033d66: 440b add r3, r1 8033d68: 4413 add r3, r2 8033d6a: 00db lsls r3, r3, #3 8033d6c: 4423 add r3, r4 8033d6e: cb18 ldmia r3, {r3, r4} 8033d70: f107 0118 add.w r1, r7, #24 8033d74: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033d78: 3214 adds r2, #20 8033d7a: 00d2 lsls r2, r2, #3 8033d7c: 440a add r2, r1 8033d7e: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.D[j] = 0.0; 8033d82: f107 0218 add.w r2, r7, #24 8033d86: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 8033d8a: 331e adds r3, #30 8033d8c: 00db lsls r3, r3, #3 8033d8e: 441a add r2, r3 8033d90: f04f 0300 mov.w r3, #0 8033d94: f04f 0400 mov.w r4, #0 8033d98: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.E[j] = 0.0; 8033d9c: f107 0218 add.w r2, r7, #24 8033da0: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 8033da4: 3328 adds r3, #40 ; 0x28 8033da6: 00db lsls r3, r3, #3 8033da8: 441a add r2, r3 8033daa: f04f 0300 mov.w r3, #0 8033dae: f04f 0400 mov.w r4, #0 8033db2: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.F[j] = 1.0; 8033db6: f107 0218 add.w r2, r7, #24 8033dba: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 8033dbe: 3332 adds r3, #50 ; 0x32 8033dc0: 00db lsls r3, r3, #3 8033dc2: 441a add r2, r3 8033dc4: f04f 0300 mov.w r3, #0 8033dc8: 4c7a ldr r4, [pc, #488] ; (8033fb4 ) 8033dca: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } break; 8033de6: e0c9 b.n 8033f7c case ftINVERSE_CHEBY: for(j=0; j { SPlaneCoeff.A[j] = InvChebyDenominator[ArrayNumber][n][p++]; 8033df0: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033df4: 1c53 adds r3, r2, #1 8033df6: f8c7 323c str.w r3, [r7, #572] ; 0x23c 8033dfa: 4c6f ldr r4, [pc, #444] ; (8033fb8 ) 8033dfc: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033e00: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033e04: 460b mov r3, r1 8033e06: 005b lsls r3, r3, #1 8033e08: 440b add r3, r1 8033e0a: 00db lsls r3, r3, #3 8033e0c: 21d8 movs r1, #216 ; 0xd8 8033e0e: fb01 f100 mul.w r1, r1, r0 8033e12: 440b add r3, r1 8033e14: 4413 add r3, r2 8033e16: 00db lsls r3, r3, #3 8033e18: 4423 add r3, r4 8033e1a: cb18 ldmia r3, {r3, r4} 8033e1c: f107 0118 add.w r1, r7, #24 8033e20: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033e24: 00d2 lsls r2, r2, #3 8033e26: 440a add r2, r1 8033e28: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.B[j] = InvChebyDenominator[ArrayNumber][n][p++]; 8033e2c: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033e30: 1c53 adds r3, r2, #1 8033e32: f8c7 323c str.w r3, [r7, #572] ; 0x23c 8033e36: 4c60 ldr r4, [pc, #384] ; (8033fb8 ) 8033e38: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033e3c: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033e40: 460b mov r3, r1 8033e42: 005b lsls r3, r3, #1 8033e44: 440b add r3, r1 8033e46: 00db lsls r3, r3, #3 8033e48: 21d8 movs r1, #216 ; 0xd8 8033e4a: fb01 f100 mul.w r1, r1, r0 8033e4e: 440b add r3, r1 8033e50: 4413 add r3, r2 8033e52: 00db lsls r3, r3, #3 8033e54: 4423 add r3, r4 8033e56: cb18 ldmia r3, {r3, r4} 8033e58: f107 0118 add.w r1, r7, #24 8033e5c: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033e60: 320a adds r2, #10 8033e62: 00d2 lsls r2, r2, #3 8033e64: 440a add r2, r1 8033e66: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.C[j] = InvChebyDenominator[ArrayNumber][n][p++]; 8033e6a: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033e6e: 1c53 adds r3, r2, #1 8033e70: f8c7 323c str.w r3, [r7, #572] ; 0x23c 8033e74: 4c50 ldr r4, [pc, #320] ; (8033fb8 ) 8033e76: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033e7a: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033e7e: 460b mov r3, r1 8033e80: 005b lsls r3, r3, #1 8033e82: 440b add r3, r1 8033e84: 00db lsls r3, r3, #3 8033e86: 21d8 movs r1, #216 ; 0xd8 8033e88: fb01 f100 mul.w r1, r1, r0 8033e8c: 440b add r3, r1 8033e8e: 4413 add r3, r2 8033e90: 00db lsls r3, r3, #3 8033e92: 4423 add r3, r4 8033e94: cb18 ldmia r3, {r3, r4} 8033e96: f107 0118 add.w r1, r7, #24 8033e9a: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033e9e: 3214 adds r2, #20 8033ea0: 00d2 lsls r2, r2, #3 8033ea2: 440a add r2, r1 8033ea4: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.D[j] = InvChebyNumerator[ArrayNumber][n][z++]; 8033ea8: f8d7 2238 ldr.w r2, [r7, #568] ; 0x238 8033eac: 1c53 adds r3, r2, #1 8033eae: f8c7 3238 str.w r3, [r7, #568] ; 0x238 8033eb2: 4c42 ldr r4, [pc, #264] ; (8033fbc ) 8033eb4: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033eb8: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033ebc: 460b mov r3, r1 8033ebe: 005b lsls r3, r3, #1 8033ec0: 440b add r3, r1 8033ec2: 00db lsls r3, r3, #3 8033ec4: 21d8 movs r1, #216 ; 0xd8 8033ec6: fb01 f100 mul.w r1, r1, r0 8033eca: 440b add r3, r1 8033ecc: 4413 add r3, r2 8033ece: 00db lsls r3, r3, #3 8033ed0: 4423 add r3, r4 8033ed2: cb18 ldmia r3, {r3, r4} 8033ed4: f107 0118 add.w r1, r7, #24 8033ed8: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033edc: 321e adds r2, #30 8033ede: 00d2 lsls r2, r2, #3 8033ee0: 440a add r2, r1 8033ee2: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.E[j] = InvChebyNumerator[ArrayNumber][n][z++]; 8033ee6: f8d7 2238 ldr.w r2, [r7, #568] ; 0x238 8033eea: 1c53 adds r3, r2, #1 8033eec: f8c7 3238 str.w r3, [r7, #568] ; 0x238 8033ef0: 4c32 ldr r4, [pc, #200] ; (8033fbc ) 8033ef2: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033ef6: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033efa: 460b mov r3, r1 8033efc: 005b lsls r3, r3, #1 8033efe: 440b add r3, r1 8033f00: 00db lsls r3, r3, #3 8033f02: 21d8 movs r1, #216 ; 0xd8 8033f04: fb01 f100 mul.w r1, r1, r0 8033f08: 440b add r3, r1 8033f0a: 4413 add r3, r2 8033f0c: 00db lsls r3, r3, #3 8033f0e: 4423 add r3, r4 8033f10: cb18 ldmia r3, {r3, r4} 8033f12: f107 0118 add.w r1, r7, #24 8033f16: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033f1a: 3228 adds r2, #40 ; 0x28 8033f1c: 00d2 lsls r2, r2, #3 8033f1e: 440a add r2, r1 8033f20: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.F[j] = InvChebyNumerator[ArrayNumber][n][z++]; 8033f24: f8d7 2238 ldr.w r2, [r7, #568] ; 0x238 8033f28: 1c53 adds r3, r2, #1 8033f2a: f8c7 3238 str.w r3, [r7, #568] ; 0x238 8033f2e: 4c23 ldr r4, [pc, #140] ; (8033fbc ) 8033f30: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033f34: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033f38: 460b mov r3, r1 8033f3a: 005b lsls r3, r3, #1 8033f3c: 440b add r3, r1 8033f3e: 00db lsls r3, r3, #3 8033f40: 21d8 movs r1, #216 ; 0xd8 8033f42: fb01 f100 mul.w r1, r1, r0 8033f46: 440b add r3, r1 8033f48: 4413 add r3, r2 8033f4a: 00db lsls r3, r3, #3 8033f4c: 4423 add r3, r4 8033f4e: cb18 ldmia r3, {r3, r4} 8033f50: f107 0118 add.w r1, r7, #24 8033f54: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033f58: 3232 adds r2, #50 ; 0x32 8033f5a: 00d2 lsls r2, r2, #3 8033f5c: 440a add r2, r1 8033f5e: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } break; 8033f7a: bf00 nop } SPlaneCoeff.NumSections = NumSections; 8033f7c: f107 0318 add.w r3, r7, #24 8033f80: f8d7 2204 ldr.w r2, [r7, #516] ; 0x204 8033f84: f8c3 21e0 str.w r2, [r3, #480] ; 0x1e0 return(SPlaneCoeff); 8033f88: f107 0314 add.w r3, r7, #20 8033f8c: 681a ldr r2, [r3, #0] 8033f8e: f107 0318 add.w r3, r7, #24 8033f92: 4610 mov r0, r2 8033f94: 4619 mov r1, r3 8033f96: f44f 73f4 mov.w r3, #488 ; 0x1e8 8033f9a: 461a mov r2, r3 8033f9c: f09d f9f5 bl 80d138a } 8033fa0: f107 0314 add.w r3, r7, #20 8033fa4: 6818 ldr r0, [r3, #0] 8033fa6: f507 7713 add.w r7, r7, #588 ; 0x24c 8033faa: 46bd mov sp, r7 8033fac: bd90 pop {r4, r7, pc} 8033fae: bf00 nop 8033fb0: 080dcdb8 .word 0x080dcdb8 8033fb4: 3ff00000 .word 0x3ff00000 8033fb8: 080e2a88 .word 0x080e2a88 8033fbc: 080eaac8 .word 0x080eaac8 08033fc0 : int QuadCubicRoots(int N, double *Coeff, double *RootsReal, double *RootsImag) { 8033fc0: b590 push {r4, r7, lr} 8033fc2: b0a1 sub sp, #132 ; 0x84 8033fc4: af00 add r7, sp, #0 8033fc6: 60f8 str r0, [r7, #12] 8033fc8: 60b9 str r1, [r7, #8] 8033fca: 607a str r2, [r7, #4] 8033fcc: 603b str r3, [r7, #0] if(N <= 1 || N > 4) 8033fce: 68fb ldr r3, [r7, #12] 8033fd0: 2b01 cmp r3, #1 8033fd2: dd02 ble.n 8033fda 8033fd4: 68fb ldr r3, [r7, #12] 8033fd6: 2b04 cmp r3, #4 8033fd8: dd01 ble.n 8033fde { return(0); 8033fda: 2300 movs r3, #0 8033fdc: e13b b.n 8034256 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; 8033fde: 2300 movs r3, #0 8033fe0: 67fb str r3, [r7, #124] ; 0x7c 8033fe2: e01e b.n 8034022 8033fe4: 6ffb ldr r3, [r7, #124] ; 0x7c 8033fe6: 00db lsls r3, r3, #3 8033fe8: f107 0280 add.w r2, r7, #128 ; 0x80 8033fec: 4413 add r3, r2 8033fee: f1a3 0270 sub.w r2, r3, #112 ; 0x70 8033ff2: f04f 0300 mov.w r3, #0 8033ff6: f04f 0400 mov.w r4, #0 8033ffa: e882 0018 stmia.w r2, {r3, r4} 8033ffe: 6ffb ldr r3, [r7, #124] ; 0x7c 8034000: 00db lsls r3, r3, #3 8034002: f107 0280 add.w r2, r7, #128 ; 0x80 8034006: 4413 add r3, r2 8034008: 3b70 subs r3, #112 ; 0x70 803400a: cb18 ldmia r3, {r3, r4} 803400c: 6ffa ldr r2, [r7, #124] ; 0x7c 803400e: 00d2 lsls r2, r2, #3 8034010: f107 0180 add.w r1, r7, #128 ; 0x80 8034014: 440a add r2, r1 8034016: 3a50 subs r2, #80 ; 0x50 8034018: e882 0018 stmia.w r2, {r3, r4} 803401c: 6ffb ldr r3, [r7, #124] ; 0x7c 803401e: 3301 adds r3, #1 8034020: 67fb str r3, [r7, #124] ; 0x7c 8034022: 6ffb ldr r3, [r7, #124] ; 0x7c 8034024: 2b03 cmp r3, #3 8034026: dddd ble.n 8033fe4 for(j=0; j<5; j++)P[j] = 0.0; 8034028: 2300 movs r3, #0 803402a: 67fb str r3, [r7, #124] ; 0x7c 803402c: e00f b.n 803404e 803402e: 6ffb ldr r3, [r7, #124] ; 0x7c 8034030: 00db lsls r3, r3, #3 8034032: f107 0280 add.w r2, r7, #128 ; 0x80 8034036: 4413 add r3, r2 8034038: f1a3 0230 sub.w r2, r3, #48 ; 0x30 803403c: f04f 0300 mov.w r3, #0 8034040: f04f 0400 mov.w r4, #0 8034044: e882 0018 stmia.w r2, {r3, r4} 8034048: 6ffb ldr r3, [r7, #124] ; 0x7c 803404a: 3301 adds r3, #1 803404c: 67fb str r3, [r7, #124] ; 0x7c 803404e: 6ffb ldr r3, [r7, #124] ; 0x7c 8034050: 2b04 cmp r3, #4 8034052: ddec ble.n 803402e // Reduce the order if there are trailing zeros. for(k=N; k>=0; k--) 8034054: 68fb ldr r3, [r7, #12] 8034056: 67bb str r3, [r7, #120] ; 0x78 8034058: e01e b.n 8034098 { if(fabs(Coeff[k]) > ZERO_PLUS)break; // break on the 1st nonzero coeff 803405a: 6fbb ldr r3, [r7, #120] ; 0x78 803405c: 00db lsls r3, r3, #3 803405e: 68ba ldr r2, [r7, #8] 8034060: 4413 add r3, r2 8034062: ed93 7b00 vldr d7, [r3] 8034066: eeb0 7bc7 vabs.f64 d7, d7 803406a: ed9f 6b7d vldr d6, [pc, #500] ; 8034260 803406e: eeb4 7bc6 vcmpe.f64 d7, d6 8034072: eef1 fa10 vmrs APSR_nzcv, fpscr 8034076: dc13 bgt.n 80340a0 Coeff[k] = 0.0; 8034078: 6fbb ldr r3, [r7, #120] ; 0x78 803407a: 00db lsls r3, r3, #3 803407c: 68ba ldr r2, [r7, #8] 803407e: 441a add r2, r3 8034080: f04f 0300 mov.w r3, #0 8034084: f04f 0400 mov.w r4, #0 8034088: e882 0018 stmia.w r2, {r3, r4} N--; 803408c: 68fb ldr r3, [r7, #12] 803408e: 3b01 subs r3, #1 8034090: 60fb str r3, [r7, #12] for(k=N; k>=0; k--) 8034092: 6fbb ldr r3, [r7, #120] ; 0x78 8034094: 3b01 subs r3, #1 8034096: 67bb str r3, [r7, #120] ; 0x78 8034098: 6fbb ldr r3, [r7, #120] ; 0x78 803409a: 2b00 cmp r3, #0 803409c: dadd bge.n 803405a 803409e: e024 b.n 80340ea if(fabs(Coeff[k]) > ZERO_PLUS)break; // break on the 1st nonzero coeff 80340a0: bf00 nop } // Mandatory to remove leading zeros. while( fabs(Coeff[0]) < ZERO_PLUS && N>0) 80340a2: e022 b.n 80340ea { for(k=0; k { Coeff[k] = Coeff[k+1]; 80340aa: 6fbb ldr r3, [r7, #120] ; 0x78 80340ac: 00db lsls r3, r3, #3 80340ae: 68ba ldr r2, [r7, #8] 80340b0: 441a add r2, r3 80340b2: 6fbb ldr r3, [r7, #120] ; 0x78 80340b4: 3301 adds r3, #1 80340b6: 00db lsls r3, r3, #3 80340b8: 68b9 ldr r1, [r7, #8] 80340ba: 440b add r3, r1 80340bc: cb18 ldmia r3, {r3, r4} 80340be: e882 0018 stmia.w r2, {r3, r4} for(k=0; k } Coeff[N] = 0.0; 80340d0: 68fb ldr r3, [r7, #12] 80340d2: 00db lsls r3, r3, #3 80340d4: 68ba ldr r2, [r7, #8] 80340d6: 441a add r2, r3 80340d8: f04f 0300 mov.w r3, #0 80340dc: f04f 0400 mov.w r4, #0 80340e0: e882 0018 stmia.w r2, {r3, r4} N--; 80340e4: 68fb ldr r3, [r7, #12] 80340e6: 3b01 subs r3, #1 80340e8: 60fb str r3, [r7, #12] while( fabs(Coeff[0]) < ZERO_PLUS && N>0) 80340ea: 68bb ldr r3, [r7, #8] 80340ec: ed93 7b00 vldr d7, [r3] 80340f0: eeb0 7bc7 vabs.f64 d7, d7 80340f4: ed9f 6b5a vldr d6, [pc, #360] ; 8034260 80340f8: eeb4 7bc6 vcmpe.f64 d7, d6 80340fc: eef1 fa10 vmrs APSR_nzcv, fpscr 8034100: d502 bpl.n 8034108 8034102: 68fb ldr r3, [r7, #12] 8034104: 2b00 cmp r3, #0 8034106: dccd bgt.n 80340a4 } // The functions below modify the coeff array, so we pass P instead of Coeff. for(j=0; j<=N; j++)P[j] = Coeff[j]; 8034108: 2300 movs r3, #0 803410a: 67fb str r3, [r7, #124] ; 0x7c 803410c: e00f b.n 803412e 803410e: 6ffb ldr r3, [r7, #124] ; 0x7c 8034110: 00db lsls r3, r3, #3 8034112: 68ba ldr r2, [r7, #8] 8034114: 4413 add r3, r2 8034116: cb18 ldmia r3, {r3, r4} 8034118: 6ffa ldr r2, [r7, #124] ; 0x7c 803411a: 00d2 lsls r2, r2, #3 803411c: f107 0180 add.w r1, r7, #128 ; 0x80 8034120: 440a add r2, r1 8034122: 3a30 subs r2, #48 ; 0x30 8034124: e882 0018 stmia.w r2, {r3, r4} 8034128: 6ffb ldr r3, [r7, #124] ; 0x7c 803412a: 3301 adds r3, #1 803412c: 67fb str r3, [r7, #124] ; 0x7c 803412e: 6ffa ldr r2, [r7, #124] ; 0x7c 8034130: 68fb ldr r3, [r7, #12] 8034132: 429a cmp r2, r3 8034134: ddeb ble.n 803410e // Mandatory to normalize the coefficients if(P[0] != 1.0) 8034136: ed97 7b14 vldr d7, [r7, #80] ; 0x50 803413a: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 803413e: eeb4 7b46 vcmp.f64 d7, d6 8034142: eef1 fa10 vmrs APSR_nzcv, fpscr 8034146: d022 beq.n 803418e { for(k=1; k<=N; k++) 8034148: 2301 movs r3, #1 803414a: 67bb str r3, [r7, #120] ; 0x78 803414c: e016 b.n 803417c { P[k] /= P[0]; 803414e: 6fbb ldr r3, [r7, #120] ; 0x78 8034150: 00db lsls r3, r3, #3 8034152: f107 0280 add.w r2, r7, #128 ; 0x80 8034156: 4413 add r3, r2 8034158: 3b30 subs r3, #48 ; 0x30 803415a: ed93 5b00 vldr d5, [r3] 803415e: ed97 6b14 vldr d6, [r7, #80] ; 0x50 8034162: ee85 7b06 vdiv.f64 d7, d5, d6 8034166: 6fbb ldr r3, [r7, #120] ; 0x78 8034168: 00db lsls r3, r3, #3 803416a: f107 0280 add.w r2, r7, #128 ; 0x80 803416e: 4413 add r3, r2 8034170: 3b30 subs r3, #48 ; 0x30 8034172: ed83 7b00 vstr d7, [r3] for(k=1; k<=N; k++) 8034176: 6fbb ldr r3, [r7, #120] ; 0x78 8034178: 3301 adds r3, #1 803417a: 67bb str r3, [r7, #120] ; 0x78 803417c: 6fba ldr r2, [r7, #120] ; 0x78 803417e: 68fb ldr r3, [r7, #12] 8034180: 429a cmp r2, r3 8034182: dde4 ble.n 803414e } P[0] = 1.0; 8034184: f04f 0300 mov.w r3, #0 8034188: 4c37 ldr r4, [pc, #220] ; (8034268 ) 803418a: e9c7 3414 strd r3, r4, [r7, #80] ; 0x50 } if(N==4)BiQuadRoots(P, RealRoot, ImagRoot); 803418e: 68fb ldr r3, [r7, #12] 8034190: 2b04 cmp r3, #4 8034192: d108 bne.n 80341a6 8034194: f107 0210 add.w r2, r7, #16 8034198: f107 0130 add.w r1, r7, #48 ; 0x30 803419c: f107 0350 add.w r3, r7, #80 ; 0x50 80341a0: 4618 mov r0, r3 80341a2: f000 fba5 bl 80348f0 if(N==3)CubicRoots(P, RealRoot, ImagRoot); 80341a6: 68fb ldr r3, [r7, #12] 80341a8: 2b03 cmp r3, #3 80341aa: d108 bne.n 80341be 80341ac: f107 0210 add.w r2, r7, #16 80341b0: f107 0130 add.w r1, r7, #48 ; 0x30 80341b4: f107 0350 add.w r3, r7, #80 ; 0x50 80341b8: 4618 mov r0, r3 80341ba: f000 f915 bl 80343e8 if(N==2)QuadRoots(P, RealRoot, ImagRoot); 80341be: 68fb ldr r3, [r7, #12] 80341c0: 2b02 cmp r3, #2 80341c2: d108 bne.n 80341d6 80341c4: f107 0210 add.w r2, r7, #16 80341c8: f107 0130 add.w r1, r7, #48 ; 0x30 80341cc: f107 0350 add.w r3, r7, #80 ; 0x50 80341d0: 4618 mov r0, r3 80341d2: f000 f84d bl 8034270 if(N==1) 80341d6: 68fb ldr r3, [r7, #12] 80341d8: 2b01 cmp r3, #1 80341da: d10f bne.n 80341fc { RealRoot[0] = -P[1]/P[0]; 80341dc: ed97 7b16 vldr d7, [r7, #88] ; 0x58 80341e0: eeb1 5b47 vneg.f64 d5, d7 80341e4: ed97 6b14 vldr d6, [r7, #80] ; 0x50 80341e8: ee85 7b06 vdiv.f64 d7, d5, d6 80341ec: ed87 7b0c vstr d7, [r7, #48] ; 0x30 ImagRoot[0] = 0.0; 80341f0: f04f 0300 mov.w r3, #0 80341f4: f04f 0400 mov.w r4, #0 80341f8: 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]; 80341fc: 2300 movs r3, #0 80341fe: 67fb str r3, [r7, #124] ; 0x7c 8034200: e00f b.n 8034222 8034202: 6ffb ldr r3, [r7, #124] ; 0x7c 8034204: 00db lsls r3, r3, #3 8034206: 687a ldr r2, [r7, #4] 8034208: 441a add r2, r3 803420a: 6ffb ldr r3, [r7, #124] ; 0x7c 803420c: 00db lsls r3, r3, #3 803420e: f107 0180 add.w r1, r7, #128 ; 0x80 8034212: 440b add r3, r1 8034214: 3b50 subs r3, #80 ; 0x50 8034216: cb18 ldmia r3, {r3, r4} 8034218: e882 0018 stmia.w r2, {r3, r4} 803421c: 6ffb ldr r3, [r7, #124] ; 0x7c 803421e: 3301 adds r3, #1 8034220: 67fb str r3, [r7, #124] ; 0x7c 8034222: 6ffb ldr r3, [r7, #124] ; 0x7c 8034224: 2b03 cmp r3, #3 8034226: ddec ble.n 8034202 for(j=0; j<4; j++)RootsImag[j] = ImagRoot[j]; 8034228: 2300 movs r3, #0 803422a: 67fb str r3, [r7, #124] ; 0x7c 803422c: e00f b.n 803424e 803422e: 6ffb ldr r3, [r7, #124] ; 0x7c 8034230: 00db lsls r3, r3, #3 8034232: 683a ldr r2, [r7, #0] 8034234: 441a add r2, r3 8034236: 6ffb ldr r3, [r7, #124] ; 0x7c 8034238: 00db lsls r3, r3, #3 803423a: f107 0180 add.w r1, r7, #128 ; 0x80 803423e: 440b add r3, r1 8034240: 3b70 subs r3, #112 ; 0x70 8034242: cb18 ldmia r3, {r3, r4} 8034244: e882 0018 stmia.w r2, {r3, r4} 8034248: 6ffb ldr r3, [r7, #124] ; 0x7c 803424a: 3301 adds r3, #1 803424c: 67fb str r3, [r7, #124] ; 0x7c 803424e: 6ffb ldr r3, [r7, #124] ; 0x7c 8034250: 2b03 cmp r3, #3 8034252: ddec ble.n 803422e return(N); 8034254: 68fb ldr r3, [r7, #12] } 8034256: 4618 mov r0, r3 8034258: 3784 adds r7, #132 ; 0x84 803425a: 46bd mov sp, r7 803425c: bd90 pop {r4, r7, pc} 803425e: bf00 nop 8034260: 00000000 .word 0x00000000 8034264: 3cd00000 .word 0x3cd00000 8034268: 3ff00000 .word 0x3ff00000 803426c: 00000000 .word 0x00000000 08034270 : //--------------------------------------------------------------------------- // 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) { 8034270: b590 push {r4, r7, lr} 8034272: ed2d 8b02 vpush {d8} 8034276: b087 sub sp, #28 8034278: af00 add r7, sp, #0 803427a: 60f8 str r0, [r7, #12] 803427c: 60b9 str r1, [r7, #8] 803427e: 607a str r2, [r7, #4] long double g; g = P[1]*P[1] - 4.0*P[2]; 8034280: 68fb ldr r3, [r7, #12] 8034282: 3308 adds r3, #8 8034284: ed93 6b00 vldr d6, [r3] 8034288: 68fb ldr r3, [r7, #12] 803428a: 3308 adds r3, #8 803428c: ed93 7b00 vldr d7, [r3] 8034290: ee26 6b07 vmul.f64 d6, d6, d7 8034294: 68fb ldr r3, [r7, #12] 8034296: 3310 adds r3, #16 8034298: ed93 7b00 vldr d7, [r3] 803429c: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80342a0: ee27 7b05 vmul.f64 d7, d7, d5 80342a4: ee36 7b47 vsub.f64 d7, d6, d7 80342a8: ed87 7b04 vstr d7, [r7, #16] if(fabsl(g) < ZERO_PLUS)g = 0.0; 80342ac: ed97 7b04 vldr d7, [r7, #16] 80342b0: eeb0 7bc7 vabs.f64 d7, d7 80342b4: ed9f 6b4a vldr d6, [pc, #296] ; 80343e0 80342b8: eeb4 7bc6 vcmpe.f64 d7, d6 80342bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80342c0: d505 bpl.n 80342ce 80342c2: f04f 0300 mov.w r3, #0 80342c6: f04f 0400 mov.w r4, #0 80342ca: e9c7 3404 strd r3, r4, [r7, #16] if(g >= 0.0) // 2 real roots 80342ce: ed97 7b04 vldr d7, [r7, #16] 80342d2: eeb5 7bc0 vcmpe.f64 d7, #0.0 80342d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80342da: db3a blt.n 8034352 { RealRoot[0] = (-P[1] + sqrtl(g)) / 2.0; 80342dc: ed97 0b04 vldr d0, [r7, #16] 80342e0: f09a fe88 bl 80ceff4 80342e4: eeb0 6b40 vmov.f64 d6, d0 80342e8: 68fb ldr r3, [r7, #12] 80342ea: 3308 adds r3, #8 80342ec: ed93 7b00 vldr d7, [r3] 80342f0: ee36 6b47 vsub.f64 d6, d6, d7 80342f4: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 80342f8: ee86 7b05 vdiv.f64 d7, d6, d5 80342fc: 68bb ldr r3, [r7, #8] 80342fe: ed83 7b00 vstr d7, [r3] RealRoot[1] = (-P[1] - sqrtl(g)) / 2.0; 8034302: 68bb ldr r3, [r7, #8] 8034304: f103 0408 add.w r4, r3, #8 8034308: 68fb ldr r3, [r7, #12] 803430a: 3308 adds r3, #8 803430c: ed93 7b00 vldr d7, [r3] 8034310: eeb1 8b47 vneg.f64 d8, d7 8034314: ed97 0b04 vldr d0, [r7, #16] 8034318: f09a fe6c bl 80ceff4 803431c: eeb0 7b40 vmov.f64 d7, d0 8034320: ee38 6b47 vsub.f64 d6, d8, d7 8034324: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8034328: ee86 7b05 vdiv.f64 d7, d6, d5 803432c: ed84 7b00 vstr d7, [r4] ImagRoot[0] = 0.0; 8034330: 687a ldr r2, [r7, #4] 8034332: f04f 0300 mov.w r3, #0 8034336: f04f 0400 mov.w r4, #0 803433a: e882 0018 stmia.w r2, {r3, r4} ImagRoot[1] = 0.0; 803433e: 687b ldr r3, [r7, #4] 8034340: f103 0208 add.w r2, r3, #8 8034344: f04f 0300 mov.w r3, #0 8034348: f04f 0400 mov.w r4, #0 803434c: 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; } } 8034350: e040 b.n 80343d4 RealRoot[0] = -P[1] / 2.0; 8034352: 68fb ldr r3, [r7, #12] 8034354: 3308 adds r3, #8 8034356: ed93 7b00 vldr d7, [r3] 803435a: eeb1 6b47 vneg.f64 d6, d7 803435e: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8034362: ee86 7b05 vdiv.f64 d7, d6, d5 8034366: 68bb ldr r3, [r7, #8] 8034368: ed83 7b00 vstr d7, [r3] RealRoot[1] = -P[1] / 2.0; 803436c: 68bb ldr r3, [r7, #8] 803436e: 3308 adds r3, #8 8034370: 68fa ldr r2, [r7, #12] 8034372: 3208 adds r2, #8 8034374: ed92 7b00 vldr d7, [r2] 8034378: eeb1 6b47 vneg.f64 d6, d7 803437c: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8034380: ee86 7b05 vdiv.f64 d7, d6, d5 8034384: ed83 7b00 vstr d7, [r3] ImagRoot[0] = sqrtl(-g) / 2.0; 8034388: ed97 7b04 vldr d7, [r7, #16] 803438c: eeb1 7b47 vneg.f64 d7, d7 8034390: eeb0 0b47 vmov.f64 d0, d7 8034394: f09a fe2e bl 80ceff4 8034398: eeb0 5b40 vmov.f64 d5, d0 803439c: eeb0 6b00 vmov.f64 d6, #0 ; 0x40000000 2.0 80343a0: ee85 7b06 vdiv.f64 d7, d5, d6 80343a4: 687b ldr r3, [r7, #4] 80343a6: ed83 7b00 vstr d7, [r3] ImagRoot[1] = -sqrtl(-g) / 2.0; 80343aa: 687b ldr r3, [r7, #4] 80343ac: f103 0408 add.w r4, r3, #8 80343b0: ed97 7b04 vldr d7, [r7, #16] 80343b4: eeb1 7b47 vneg.f64 d7, d7 80343b8: eeb0 0b47 vmov.f64 d0, d7 80343bc: f09a fe1a bl 80ceff4 80343c0: eeb0 7b40 vmov.f64 d7, d0 80343c4: eeb1 6b47 vneg.f64 d6, d7 80343c8: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 80343cc: ee86 7b05 vdiv.f64 d7, d6, d5 80343d0: ed84 7b00 vstr d7, [r4] } 80343d4: bf00 nop 80343d6: 371c adds r7, #28 80343d8: 46bd mov sp, r7 80343da: ecbd 8b02 vpop {d8} 80343de: bd90 pop {r4, r7, pc} 80343e0: 00000000 .word 0x00000000 80343e4: 3cd00000 .word 0x3cd00000 080343e8 : //--------------------------------------------------------------------------- // 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) { 80343e8: b590 push {r4, r7, lr} 80343ea: b091 sub sp, #68 ; 0x44 80343ec: af00 add r7, sp, #0 80343ee: 60f8 str r0, [r7, #12] 80343f0: 60b9 str r1, [r7, #8] 80343f2: 607a str r2, [r7, #4] long double s, t, b, c, d; s = P[1] / 3.0; 80343f4: 68fb ldr r3, [r7, #12] 80343f6: 3308 adds r3, #8 80343f8: ed93 6b00 vldr d6, [r3] 80343fc: eeb0 5b08 vmov.f64 d5, #8 ; 0x40400000 3.0 8034400: ee86 7b05 vdiv.f64 d7, d6, d5 8034404: 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; 8034408: 68fb ldr r3, [r7, #12] 803440a: 3308 adds r3, #8 803440c: ed93 7b00 vldr d7, [r3] 8034410: eeb1 6b08 vmov.f64 d6, #24 ; 0x40c00000 6.0 8034414: ee27 6b06 vmul.f64 d6, d7, d6 8034418: 68fb ldr r3, [r7, #12] 803441a: 3308 adds r3, #8 803441c: ed93 7b00 vldr d7, [r3] 8034420: ee26 6b07 vmul.f64 d6, d6, d7 8034424: 68fb ldr r3, [r7, #12] 8034426: 3308 adds r3, #8 8034428: ed93 7b00 vldr d7, [r3] 803442c: ee26 6b07 vmul.f64 d6, d6, d7 8034430: 68fb ldr r3, [r7, #12] 8034432: 3308 adds r3, #8 8034434: ed93 7b00 vldr d7, [r3] 8034438: eeb3 5b0b vmov.f64 d5, #59 ; 0x41d80000 27.0 803443c: ee27 5b05 vmul.f64 d5, d7, d5 8034440: 68fb ldr r3, [r7, #12] 8034442: 3310 adds r3, #16 8034444: ed93 7b00 vldr d7, [r3] 8034448: ee25 7b07 vmul.f64 d7, d5, d7 803444c: ee36 6b47 vsub.f64 d6, d6, d7 8034450: 68fb ldr r3, [r7, #12] 8034452: 3318 adds r3, #24 8034454: ed93 7b00 vldr d7, [r3] 8034458: ed9f 5ba9 vldr d5, [pc, #676] ; 8034700 803445c: ee27 7b05 vmul.f64 d7, d7, d5 8034460: ee36 6b07 vadd.f64 d6, d6, d7 8034464: ed9f 5ba8 vldr d5, [pc, #672] ; 8034708 8034468: ee86 7b05 vdiv.f64 d7, d6, d5 803446c: ed87 7b0e vstr d7, [r7, #56] ; 0x38 t = (P[1]*P[1] - 3.0*P[2]) / 9.0; 8034470: 68fb ldr r3, [r7, #12] 8034472: 3308 adds r3, #8 8034474: ed93 6b00 vldr d6, [r3] 8034478: 68fb ldr r3, [r7, #12] 803447a: 3308 adds r3, #8 803447c: ed93 7b00 vldr d7, [r3] 8034480: ee26 6b07 vmul.f64 d6, d6, d7 8034484: 68fb ldr r3, [r7, #12] 8034486: 3310 adds r3, #16 8034488: ed93 7b00 vldr d7, [r3] 803448c: eeb0 5b08 vmov.f64 d5, #8 ; 0x40400000 3.0 8034490: ee27 7b05 vmul.f64 d7, d7, d5 8034494: ee36 6b47 vsub.f64 d6, d6, d7 8034498: eeb2 5b02 vmov.f64 d5, #34 ; 0x41100000 9.0 803449c: ee86 7b05 vdiv.f64 d7, d6, d5 80344a0: ed87 7b04 vstr d7, [r7, #16] c = t * t * t; 80344a4: ed97 6b04 vldr d6, [r7, #16] 80344a8: ed97 7b04 vldr d7, [r7, #16] 80344ac: ee26 6b07 vmul.f64 d6, d6, d7 80344b0: ed97 7b04 vldr d7, [r7, #16] 80344b4: ee26 7b07 vmul.f64 d7, d6, d7 80344b8: 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]; 80344bc: 68fb ldr r3, [r7, #12] 80344be: 3308 adds r3, #8 80344c0: ed93 7b00 vldr d7, [r3] 80344c4: ee37 6b07 vadd.f64 d6, d7, d7 80344c8: 68fb ldr r3, [r7, #12] 80344ca: 3308 adds r3, #8 80344cc: ed93 7b00 vldr d7, [r3] 80344d0: ee26 6b07 vmul.f64 d6, d6, d7 80344d4: 68fb ldr r3, [r7, #12] 80344d6: 3308 adds r3, #8 80344d8: ed93 7b00 vldr d7, [r3] 80344dc: ee26 6b07 vmul.f64 d6, d6, d7 80344e0: 68fb ldr r3, [r7, #12] 80344e2: 3308 adds r3, #8 80344e4: ed93 7b00 vldr d7, [r3] 80344e8: eeb2 5b02 vmov.f64 d5, #34 ; 0x41100000 9.0 80344ec: ee27 5b05 vmul.f64 d5, d7, d5 80344f0: 68fb ldr r3, [r7, #12] 80344f2: 3310 adds r3, #16 80344f4: ed93 7b00 vldr d7, [r3] 80344f8: ee25 7b07 vmul.f64 d7, d5, d7 80344fc: ee36 6b47 vsub.f64 d6, d6, d7 8034500: 68fb ldr r3, [r7, #12] 8034502: 3318 adds r3, #24 8034504: ed93 7b00 vldr d7, [r3] 8034508: eeb3 5b0b vmov.f64 d5, #59 ; 0x41d80000 27.0 803450c: ee27 7b05 vmul.f64 d7, d7, d5 8034510: ee36 7b07 vadd.f64 d7, d6, d7 8034514: ed87 7b0a vstr d7, [r7, #40] ; 0x28 d = d * d / 2916.0 - c; 8034518: ed97 6b0a vldr d6, [r7, #40] ; 0x28 803451c: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8034520: ee26 7b07 vmul.f64 d7, d6, d7 8034524: ed9f 5b7a vldr d5, [pc, #488] ; 8034710 8034528: ee87 6b05 vdiv.f64 d6, d7, d5 803452c: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8034530: ee36 7b47 vsub.f64 d7, d6, d7 8034534: ed87 7b0a vstr d7, [r7, #40] ; 0x28 if(d > ZERO_PLUS) // 1 complex and 1 real root 8034538: ed97 7b0a vldr d7, [r7, #40] ; 0x28 803453c: ed9f 6b7e vldr d6, [pc, #504] ; 8034738 8034540: eeb4 7bc6 vcmpe.f64 d7, d6 8034544: eef1 fa10 vmrs APSR_nzcv, fpscr 8034548: f340 809c ble.w 8034684 { d = powl( (sqrtl(d) + fabsl(b)), 1.0/3.0); 803454c: ed97 0b0a vldr d0, [r7, #40] ; 0x28 8034550: f09a fd50 bl 80ceff4 8034554: eeb0 6b40 vmov.f64 d6, d0 8034558: ed97 7b0e vldr d7, [r7, #56] ; 0x38 803455c: eeb0 7bc7 vabs.f64 d7, d7 8034560: ee36 7b07 vadd.f64 d7, d6, d7 8034564: ed9f 1b6c vldr d1, [pc, #432] ; 8034718 8034568: eeb0 0b47 vmov.f64 d0, d7 803456c: f09a fb7a bl 80cec64 8034570: ed87 0b0a vstr d0, [r7, #40] ; 0x28 if(d != 0.0) 8034574: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8034578: eeb5 7b40 vcmp.f64 d7, #0.0 803457c: eef1 fa10 vmrs APSR_nzcv, fpscr 8034580: d019 beq.n 80345b6 { if(b>0) b = -d; 8034582: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034586: eeb5 7bc0 vcmpe.f64 d7, #0.0 803458a: eef1 fa10 vmrs APSR_nzcv, fpscr 803458e: dd06 ble.n 803459e 8034590: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8034594: eeb1 7b47 vneg.f64 d7, d7 8034598: ed87 7b0e vstr d7, [r7, #56] ; 0x38 803459c: e003 b.n 80345a6 else b = d; 803459e: e9d7 340a ldrd r3, r4, [r7, #40] ; 0x28 80345a2: e9c7 340e strd r3, r4, [r7, #56] ; 0x38 c = t / b; 80345a6: ed97 5b04 vldr d5, [r7, #16] 80345aa: ed97 6b0e vldr d6, [r7, #56] ; 0x38 80345ae: ee85 7b06 vdiv.f64 d7, d5, d6 80345b2: ed87 7b0c vstr d7, [r7, #48] ; 0x30 } d = M_SQRT3_2 * (b-c); 80345b6: ed97 6b0e vldr d6, [r7, #56] ; 0x38 80345ba: ed97 7b0c vldr d7, [r7, #48] ; 0x30 80345be: ee36 7b47 vsub.f64 d7, d6, d7 80345c2: ed9f 6b57 vldr d6, [pc, #348] ; 8034720 80345c6: ee27 7b06 vmul.f64 d7, d7, d6 80345ca: ed87 7b0a vstr d7, [r7, #40] ; 0x28 b = b + c; 80345ce: ed97 6b0e vldr d6, [r7, #56] ; 0x38 80345d2: ed97 7b0c vldr d7, [r7, #48] ; 0x30 80345d6: ee36 7b07 vadd.f64 d7, d6, d7 80345da: ed87 7b0e vstr d7, [r7, #56] ; 0x38 c = -b/2.0 - s; 80345de: ed97 7b0e vldr d7, [r7, #56] ; 0x38 80345e2: eeb1 7b47 vneg.f64 d7, d7 80345e6: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 80345ea: ee87 6b05 vdiv.f64 d6, d7, d5 80345ee: ed97 7b06 vldr d7, [r7, #24] 80345f2: ee36 7b47 vsub.f64 d7, d6, d7 80345f6: ed87 7b0c vstr d7, [r7, #48] ; 0x30 RealRoot[0] = c; 80345fa: 68ba ldr r2, [r7, #8] 80345fc: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 8034600: e882 0018 stmia.w r2, {r3, r4} ImagRoot[0] = -d; 8034604: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8034608: eeb1 7b47 vneg.f64 d7, d7 803460c: 687b ldr r3, [r7, #4] 803460e: ed83 7b00 vstr d7, [r3] RealRoot[1] = c; 8034612: 68bb ldr r3, [r7, #8] 8034614: f103 0208 add.w r2, r3, #8 8034618: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 803461c: e882 0018 stmia.w r2, {r3, r4} ImagRoot[1] = d; 8034620: 687b ldr r3, [r7, #4] 8034622: f103 0208 add.w r2, r3, #8 8034626: e9d7 340a ldrd r3, r4, [r7, #40] ; 0x28 803462a: e882 0018 stmia.w r2, {r3, r4} RealRoot[2] = b-s; 803462e: 68bb ldr r3, [r7, #8] 8034630: 3310 adds r3, #16 8034632: ed97 6b0e vldr d6, [r7, #56] ; 0x38 8034636: ed97 7b06 vldr d7, [r7, #24] 803463a: ee36 7b47 vsub.f64 d7, d6, d7 803463e: ed83 7b00 vstr d7, [r3] if( fabsl(RealRoot[2]) < ZERO_PLUS)RealRoot[2] = 0.0; 8034642: 68bb ldr r3, [r7, #8] 8034644: 3310 adds r3, #16 8034646: ed93 7b00 vldr d7, [r3] 803464a: eeb0 7bc7 vabs.f64 d7, d7 803464e: ed9f 6b3a vldr d6, [pc, #232] ; 8034738 8034652: eeb4 7bc6 vcmpe.f64 d7, d6 8034656: eef1 fa10 vmrs APSR_nzcv, fpscr 803465a: d508 bpl.n 803466e 803465c: 68bb ldr r3, [r7, #8] 803465e: f103 0210 add.w r2, r3, #16 8034662: f04f 0300 mov.w r3, #0 8034666: f04f 0400 mov.w r4, #0 803466a: e882 0018 stmia.w r2, {r3, r4} ImagRoot[2] = 0.0; 803466e: 687b ldr r3, [r7, #4] 8034670: f103 0210 add.w r2, r3, #16 8034674: f04f 0300 mov.w r3, #0 8034678: f04f 0400 mov.w r4, #0 803467c: e882 0018 stmia.w r2, {r3, r4} return(2); // Return 2 because it contains the real root. 8034680: 2302 movs r3, #2 8034682: e131 b.n 80348e8 } 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 8034684: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034688: eeb5 7b40 vcmp.f64 d7, #0.0 803468c: eef1 fa10 vmrs APSR_nzcv, fpscr 8034690: d104 bne.n 803469c 8034692: a425 add r4, pc, #148 ; (adr r4, 8034728 ) 8034694: cc18 ldmia r4, {r3, r4} 8034696: e9c7 340a strd r3, r4, [r7, #40] ; 0x28 803469a: e01b b.n 80346d4 else d = atanl(sqrtl(fabsl(d))/fabsl(b)) / 3.0; 803469c: ed97 7b0a vldr d7, [r7, #40] ; 0x28 80346a0: eeb0 7bc7 vabs.f64 d7, d7 80346a4: eeb0 0b47 vmov.f64 d0, d7 80346a8: f09a fca4 bl 80ceff4 80346ac: eeb0 5b40 vmov.f64 d5, d0 80346b0: ed97 7b0e vldr d7, [r7, #56] ; 0x38 80346b4: eeb0 7bc7 vabs.f64 d7, d7 80346b8: ee85 6b07 vdiv.f64 d6, d5, d7 80346bc: eeb0 0b46 vmov.f64 d0, d6 80346c0: f09a faca bl 80cec58 80346c4: eeb0 5b40 vmov.f64 d5, d0 80346c8: eeb0 6b08 vmov.f64 d6, #8 ; 0x40400000 3.0 80346cc: ee85 7b06 vdiv.f64 d7, d5, d6 80346d0: ed87 7b0a vstr d7, [r7, #40] ; 0x28 if(b < 0.0) b = 2.0 * sqrtl(fabsl(t)); 80346d4: ed97 7b0e vldr d7, [r7, #56] ; 0x38 80346d8: eeb5 7bc0 vcmpe.f64 d7, #0.0 80346dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80346e0: d52e bpl.n 8034740 80346e2: ed97 7b04 vldr d7, [r7, #16] 80346e6: eeb0 7bc7 vabs.f64 d7, d7 80346ea: eeb0 0b47 vmov.f64 d0, d7 80346ee: f09a fc81 bl 80ceff4 80346f2: eeb0 7b40 vmov.f64 d7, d0 80346f6: ee37 7b07 vadd.f64 d7, d7, d7 80346fa: ed87 7b0e vstr d7, [r7, #56] ; 0x38 80346fe: e02f b.n 8034760 8034700: 00000000 .word 0x00000000 8034704: 40544000 .word 0x40544000 8034708: 00000000 .word 0x00000000 803470c: 40644000 .word 0x40644000 8034710: 00000000 .word 0x00000000 8034714: 40a6c800 .word 0x40a6c800 8034718: 55555555 .word 0x55555555 803471c: 3fd55555 .word 0x3fd55555 8034720: e8584caa .word 0xe8584caa 8034724: 3febb67a .word 0x3febb67a 8034728: 382d7365 .word 0x382d7365 803472c: 3fe0c152 .word 0x3fe0c152 8034730: e8584caa .word 0xe8584caa 8034734: bfebb67a .word 0xbfebb67a 8034738: 00000000 .word 0x00000000 803473c: 3cd00000 .word 0x3cd00000 else b = -2.0 * sqrtl(fabsl(t)); 8034740: ed97 7b04 vldr d7, [r7, #16] 8034744: eeb0 7bc7 vabs.f64 d7, d7 8034748: eeb0 0b47 vmov.f64 d0, d7 803474c: f09a fc52 bl 80ceff4 8034750: eeb0 6b40 vmov.f64 d6, d0 8034754: eeb8 7b00 vmov.f64 d7, #128 ; 0xc0000000 -2.0 8034758: ee26 7b07 vmul.f64 d7, d6, d7 803475c: ed87 7b0e vstr d7, [r7, #56] ; 0x38 c = cosl(d) * b; 8034760: ed97 0b0a vldr d0, [r7, #40] ; 0x28 8034764: f09a fa7a bl 80cec5c 8034768: eeb0 6b40 vmov.f64 d6, d0 803476c: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034770: ee26 7b07 vmul.f64 d7, d6, d7 8034774: ed87 7b0c vstr d7, [r7, #48] ; 0x30 t = -M_SQRT3_2 * sinl(d) * b - 0.5 * c; 8034778: ed97 0b0a vldr d0, [r7, #40] ; 0x28 803477c: f09a fc38 bl 80ceff0 8034780: eeb0 6b40 vmov.f64 d6, d0 8034784: ed1f 7b16 vldr d7, [pc, #-88] ; 8034730 8034788: ee26 6b07 vmul.f64 d6, d6, d7 803478c: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034790: ee26 6b07 vmul.f64 d6, d6, d7 8034794: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8034798: eeb6 5b00 vmov.f64 d5, #96 ; 0x3f000000 0.5 803479c: ee27 7b05 vmul.f64 d7, d7, d5 80347a0: ee36 7b47 vsub.f64 d7, d6, d7 80347a4: ed87 7b04 vstr d7, [r7, #16] RealRoot[0] = t - s; 80347a8: ed97 6b04 vldr d6, [r7, #16] 80347ac: ed97 7b06 vldr d7, [r7, #24] 80347b0: ee36 7b47 vsub.f64 d7, d6, d7 80347b4: 68bb ldr r3, [r7, #8] 80347b6: ed83 7b00 vstr d7, [r3] RealRoot[1] = c - s; 80347ba: 68bb ldr r3, [r7, #8] 80347bc: 3308 adds r3, #8 80347be: ed97 6b0c vldr d6, [r7, #48] ; 0x30 80347c2: ed97 7b06 vldr d7, [r7, #24] 80347c6: ee36 7b47 vsub.f64 d7, d6, d7 80347ca: ed83 7b00 vstr d7, [r3] RealRoot[2] = -(t + c + s); 80347ce: 68bb ldr r3, [r7, #8] 80347d0: 3310 adds r3, #16 80347d2: ed97 6b04 vldr d6, [r7, #16] 80347d6: ed97 7b0c vldr d7, [r7, #48] ; 0x30 80347da: ee36 6b07 vadd.f64 d6, d6, d7 80347de: ed97 7b06 vldr d7, [r7, #24] 80347e2: ee36 7b07 vadd.f64 d7, d6, d7 80347e6: eeb1 7b47 vneg.f64 d7, d7 80347ea: ed83 7b00 vstr d7, [r3] ImagRoot[0] = 0.0; 80347ee: 687a ldr r2, [r7, #4] 80347f0: f04f 0300 mov.w r3, #0 80347f4: f04f 0400 mov.w r4, #0 80347f8: e882 0018 stmia.w r2, {r3, r4} ImagRoot[1] = 0.0; 80347fc: 687b ldr r3, [r7, #4] 80347fe: f103 0208 add.w r2, r3, #8 8034802: f04f 0300 mov.w r3, #0 8034806: f04f 0400 mov.w r4, #0 803480a: e882 0018 stmia.w r2, {r3, r4} ImagRoot[2] = 0.0; 803480e: 687b ldr r3, [r7, #4] 8034810: f103 0210 add.w r2, r3, #16 8034814: f04f 0300 mov.w r3, #0 8034818: f04f 0400 mov.w r4, #0 803481c: e882 0018 stmia.w r2, {r3, r4} if( fabsl(RealRoot[0]) < ZERO_PLUS)RealRoot[0] = 0.0; 8034820: 68bb ldr r3, [r7, #8] 8034822: ed93 7b00 vldr d7, [r3] 8034826: eeb0 7bc7 vabs.f64 d7, d7 803482a: ed1f 6b3d vldr d6, [pc, #-244] ; 8034738 803482e: eeb4 7bc6 vcmpe.f64 d7, d6 8034832: eef1 fa10 vmrs APSR_nzcv, fpscr 8034836: d506 bpl.n 8034846 8034838: 68ba ldr r2, [r7, #8] 803483a: f04f 0300 mov.w r3, #0 803483e: f04f 0400 mov.w r4, #0 8034842: e882 0018 stmia.w r2, {r3, r4} if( fabsl(RealRoot[1]) < ZERO_PLUS)RealRoot[1] = 0.0; 8034846: 68bb ldr r3, [r7, #8] 8034848: 3308 adds r3, #8 803484a: ed93 7b00 vldr d7, [r3] 803484e: eeb0 7bc7 vabs.f64 d7, d7 8034852: ed1f 6b47 vldr d6, [pc, #-284] ; 8034738 8034856: eeb4 7bc6 vcmpe.f64 d7, d6 803485a: eef1 fa10 vmrs APSR_nzcv, fpscr 803485e: d508 bpl.n 8034872 8034860: 68bb ldr r3, [r7, #8] 8034862: f103 0208 add.w r2, r3, #8 8034866: f04f 0300 mov.w r3, #0 803486a: f04f 0400 mov.w r4, #0 803486e: e882 0018 stmia.w r2, {r3, r4} if( fabsl(RealRoot[2]) < ZERO_PLUS)RealRoot[2] = 0.0; 8034872: 68bb ldr r3, [r7, #8] 8034874: 3310 adds r3, #16 8034876: ed93 7b00 vldr d7, [r3] 803487a: eeb0 7bc7 vabs.f64 d7, d7 803487e: ed1f 6b52 vldr d6, [pc, #-328] ; 8034738 8034882: eeb4 7bc6 vcmpe.f64 d7, d6 8034886: eef1 fa10 vmrs APSR_nzcv, fpscr 803488a: d508 bpl.n 803489e 803488c: 68bb ldr r3, [r7, #8] 803488e: f103 0210 add.w r2, r3, #16 8034892: f04f 0300 mov.w r3, #0 8034896: f04f 0400 mov.w r4, #0 803489a: e882 0018 stmia.w r2, {r3, r4} int MaxK = 0; 803489e: 2300 movs r3, #0 80348a0: 627b str r3, [r7, #36] ; 0x24 if(RealRoot[1] > RealRoot[MaxK])MaxK = 1; 80348a2: 68bb ldr r3, [r7, #8] 80348a4: 3308 adds r3, #8 80348a6: ed93 6b00 vldr d6, [r3] 80348aa: 6a7b ldr r3, [r7, #36] ; 0x24 80348ac: 00db lsls r3, r3, #3 80348ae: 68ba ldr r2, [r7, #8] 80348b0: 4413 add r3, r2 80348b2: ed93 7b00 vldr d7, [r3] 80348b6: eeb4 6bc7 vcmpe.f64 d6, d7 80348ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80348be: dd01 ble.n 80348c4 80348c0: 2301 movs r3, #1 80348c2: 627b str r3, [r7, #36] ; 0x24 if(RealRoot[2] > RealRoot[MaxK])MaxK = 2; 80348c4: 68bb ldr r3, [r7, #8] 80348c6: 3310 adds r3, #16 80348c8: ed93 6b00 vldr d6, [r3] 80348cc: 6a7b ldr r3, [r7, #36] ; 0x24 80348ce: 00db lsls r3, r3, #3 80348d0: 68ba ldr r2, [r7, #8] 80348d2: 4413 add r3, r2 80348d4: ed93 7b00 vldr d7, [r3] 80348d8: eeb4 6bc7 vcmpe.f64 d6, d7 80348dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80348e0: dd01 ble.n 80348e6 80348e2: 2302 movs r3, #2 80348e4: 627b str r3, [r7, #36] ; 0x24 return(MaxK); // Return the index with the largest real root. 80348e6: 6a7b ldr r3, [r7, #36] ; 0x24 } } 80348e8: 4618 mov r0, r3 80348ea: 3744 adds r7, #68 ; 0x44 80348ec: 46bd mov sp, r7 80348ee: bd90 pop {r4, r7, pc} 080348f0 : //--------------------------------------------------------------------------- // 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) { 80348f0: b590 push {r4, r7, lr} 80348f2: b097 sub sp, #92 ; 0x5c 80348f4: af00 add r7, sp, #0 80348f6: 60f8 str r0, [r7, #12] 80348f8: 60b9 str r1, [r7, #8] 80348fa: 607a str r2, [r7, #4] int k, MaxK; long double a, b, c, d, e, g, P1, P3Limit; P1 = P[1]; 80348fc: 68fb ldr r3, [r7, #12] 80348fe: e9d3 3402 ldrd r3, r4, [r3, #8] 8034902: e9c7 340e strd r3, r4, [r7, #56] ; 0x38 e = P[1]*0.25; 8034906: 68fb ldr r3, [r7, #12] 8034908: 3308 adds r3, #8 803490a: ed93 7b00 vldr d7, [r3] 803490e: eeb5 6b00 vmov.f64 d6, #80 ; 0x3e800000 0.250 8034912: ee27 7b06 vmul.f64 d7, d7, d6 8034916: ed87 7b0c vstr d7, [r7, #48] ; 0x30 d = P[1]*P[1]*0.1875; // 0.1875 = 3/16 803491a: 68fb ldr r3, [r7, #12] 803491c: 3308 adds r3, #8 803491e: ed93 6b00 vldr d6, [r3] 8034922: 68fb ldr r3, [r7, #12] 8034924: 3308 adds r3, #8 8034926: ed93 7b00 vldr d7, [r3] 803492a: ee26 7b07 vmul.f64 d7, d6, d7 803492e: eeb4 6b08 vmov.f64 d6, #72 ; 0x3e400000 0.1875000 8034932: ee27 7b06 vmul.f64 d7, d7, d6 8034936: ed87 7b0a vstr d7, [r7, #40] ; 0x28 b = P[3] + P[1]*P[1]*P[1]*0.125 - P[1]*P[2]*0.5; 803493a: 68fb ldr r3, [r7, #12] 803493c: 3318 adds r3, #24 803493e: ed93 6b00 vldr d6, [r3] 8034942: 68fb ldr r3, [r7, #12] 8034944: 3308 adds r3, #8 8034946: ed93 5b00 vldr d5, [r3] 803494a: 68fb ldr r3, [r7, #12] 803494c: 3308 adds r3, #8 803494e: ed93 7b00 vldr d7, [r3] 8034952: ee25 5b07 vmul.f64 d5, d5, d7 8034956: 68fb ldr r3, [r7, #12] 8034958: 3308 adds r3, #8 803495a: ed93 7b00 vldr d7, [r3] 803495e: ee25 7b07 vmul.f64 d7, d5, d7 8034962: eeb4 5b00 vmov.f64 d5, #64 ; 0x3e000000 0.125 8034966: ee27 7b05 vmul.f64 d7, d7, d5 803496a: ee36 6b07 vadd.f64 d6, d6, d7 803496e: 68fb ldr r3, [r7, #12] 8034970: 3308 adds r3, #8 8034972: ed93 5b00 vldr d5, [r3] 8034976: 68fb ldr r3, [r7, #12] 8034978: 3310 adds r3, #16 803497a: ed93 7b00 vldr d7, [r3] 803497e: ee25 7b07 vmul.f64 d7, d5, d7 8034982: eeb6 5b00 vmov.f64 d5, #96 ; 0x3f000000 0.5 8034986: ee27 7b05 vmul.f64 d7, d7, d5 803498a: ee36 7b47 vsub.f64 d7, d6, d7 803498e: ed87 7b12 vstr d7, [r7, #72] ; 0x48 c = 256.0*P[4] + 16.0*P[1]*P[1]*P[2]; 8034992: 68fb ldr r3, [r7, #12] 8034994: 3320 adds r3, #32 8034996: ed93 7b00 vldr d7, [r3] 803499a: ed9f 6bcb vldr d6, [pc, #812] ; 8034cc8 803499e: ee27 6b06 vmul.f64 d6, d7, d6 80349a2: 68fb ldr r3, [r7, #12] 80349a4: 3308 adds r3, #8 80349a6: ed93 7b00 vldr d7, [r3] 80349aa: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80349ae: ee27 5b05 vmul.f64 d5, d7, d5 80349b2: 68fb ldr r3, [r7, #12] 80349b4: 3308 adds r3, #8 80349b6: ed93 7b00 vldr d7, [r3] 80349ba: ee25 5b07 vmul.f64 d5, d5, d7 80349be: 68fb ldr r3, [r7, #12] 80349c0: 3310 adds r3, #16 80349c2: ed93 7b00 vldr d7, [r3] 80349c6: ee25 7b07 vmul.f64 d7, d5, d7 80349ca: ee36 7b07 vadd.f64 d7, d6, d7 80349ce: ed87 7b08 vstr d7, [r7, #32] c += -3.0*P[1]*P[1]*P[1]*P[1] - 64.0*P[1]*P[3]; 80349d2: 68fb ldr r3, [r7, #12] 80349d4: 3308 adds r3, #8 80349d6: ed93 7b00 vldr d7, [r3] 80349da: eeb8 6b08 vmov.f64 d6, #136 ; 0xc0400000 -3.0 80349de: ee27 6b06 vmul.f64 d6, d7, d6 80349e2: 68fb ldr r3, [r7, #12] 80349e4: 3308 adds r3, #8 80349e6: ed93 7b00 vldr d7, [r3] 80349ea: ee26 6b07 vmul.f64 d6, d6, d7 80349ee: 68fb ldr r3, [r7, #12] 80349f0: 3308 adds r3, #8 80349f2: ed93 7b00 vldr d7, [r3] 80349f6: ee26 6b07 vmul.f64 d6, d6, d7 80349fa: 68fb ldr r3, [r7, #12] 80349fc: 3308 adds r3, #8 80349fe: ed93 7b00 vldr d7, [r3] 8034a02: ee26 6b07 vmul.f64 d6, d6, d7 8034a06: 68fb ldr r3, [r7, #12] 8034a08: 3308 adds r3, #8 8034a0a: ed93 7b00 vldr d7, [r3] 8034a0e: ed9f 5bb0 vldr d5, [pc, #704] ; 8034cd0 8034a12: ee27 5b05 vmul.f64 d5, d7, d5 8034a16: 68fb ldr r3, [r7, #12] 8034a18: 3318 adds r3, #24 8034a1a: ed93 7b00 vldr d7, [r3] 8034a1e: ee25 7b07 vmul.f64 d7, d5, d7 8034a22: ee36 7b47 vsub.f64 d7, d6, d7 8034a26: ed97 6b08 vldr d6, [r7, #32] 8034a2a: ee36 7b07 vadd.f64 d7, d6, d7 8034a2e: ed87 7b08 vstr d7, [r7, #32] c *= 0.00390625; // 0.00390625 = 1/256 8034a32: ed97 7b08 vldr d7, [r7, #32] 8034a36: ed9f 6ba8 vldr d6, [pc, #672] ; 8034cd8 8034a3a: ee27 7b06 vmul.f64 d7, d7, d6 8034a3e: ed87 7b08 vstr d7, [r7, #32] a = P[2] - P[1]*P[1]*0.375; // 0.375 = 3/8 8034a42: 68fb ldr r3, [r7, #12] 8034a44: 3310 adds r3, #16 8034a46: ed93 6b00 vldr d6, [r3] 8034a4a: 68fb ldr r3, [r7, #12] 8034a4c: 3308 adds r3, #8 8034a4e: ed93 5b00 vldr d5, [r3] 8034a52: 68fb ldr r3, [r7, #12] 8034a54: 3308 adds r3, #8 8034a56: ed93 7b00 vldr d7, [r3] 8034a5a: ee25 7b07 vmul.f64 d7, d5, d7 8034a5e: eeb5 5b08 vmov.f64 d5, #88 ; 0x3ec00000 0.375 8034a62: ee27 7b05 vmul.f64 d7, d7, d5 8034a66: ee36 7b47 vsub.f64 d7, d6, d7 8034a6a: ed87 7b06 vstr d7, [r7, #24] P[1] = P[2]*0.5 - P[1]*P[1]*0.1875; // 0.1875 = 3/16 8034a6e: 68fb ldr r3, [r7, #12] 8034a70: 3308 adds r3, #8 8034a72: 68fa ldr r2, [r7, #12] 8034a74: 3210 adds r2, #16 8034a76: ed92 7b00 vldr d7, [r2] 8034a7a: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 8034a7e: ee27 6b06 vmul.f64 d6, d7, d6 8034a82: 68fa ldr r2, [r7, #12] 8034a84: 3208 adds r2, #8 8034a86: ed92 5b00 vldr d5, [r2] 8034a8a: 68fa ldr r2, [r7, #12] 8034a8c: 3208 adds r2, #8 8034a8e: ed92 7b00 vldr d7, [r2] 8034a92: ee25 7b07 vmul.f64 d7, d5, d7 8034a96: eeb4 5b08 vmov.f64 d5, #72 ; 0x3e400000 0.1875000 8034a9a: ee27 7b05 vmul.f64 d7, d7, d5 8034a9e: ee36 7b47 vsub.f64 d7, d6, d7 8034aa2: 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; 8034aa6: 68fb ldr r3, [r7, #12] 8034aa8: 3310 adds r3, #16 8034aaa: 68fa ldr r2, [r7, #12] 8034aac: 3210 adds r2, #16 8034aae: ed92 7b00 vldr d7, [r2] 8034ab2: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8034ab6: ee27 6b06 vmul.f64 d6, d7, d6 8034aba: 68fa ldr r2, [r7, #12] 8034abc: 3210 adds r2, #16 8034abe: ed92 7b00 vldr d7, [r2] 8034ac2: ee26 6b07 vmul.f64 d6, d6, d7 8034ac6: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034aca: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8034ace: ee27 5b05 vmul.f64 d5, d7, d5 8034ad2: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034ad6: ee25 5b07 vmul.f64 d5, d5, d7 8034ada: 68fa ldr r2, [r7, #12] 8034adc: 3210 adds r2, #16 8034ade: ed92 7b00 vldr d7, [r2] 8034ae2: ee25 7b07 vmul.f64 d7, d5, d7 8034ae6: ee36 6b47 vsub.f64 d6, d6, d7 8034aea: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034aee: eeb0 5b08 vmov.f64 d5, #8 ; 0x40400000 3.0 8034af2: ee27 5b05 vmul.f64 d5, d7, d5 8034af6: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034afa: ee25 5b07 vmul.f64 d5, d5, d7 8034afe: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034b02: ee25 5b07 vmul.f64 d5, d5, d7 8034b06: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034b0a: ee25 7b07 vmul.f64 d7, d5, d7 8034b0e: ee36 7b07 vadd.f64 d7, d6, d7 8034b12: ed83 7b00 vstr d7, [r3] P[2] += -64.0*P[4] + 16.0*P1*P[3]; 8034b16: 68fb ldr r3, [r7, #12] 8034b18: 3310 adds r3, #16 8034b1a: 68fa ldr r2, [r7, #12] 8034b1c: 3210 adds r2, #16 8034b1e: ed92 6b00 vldr d6, [r2] 8034b22: 68fa ldr r2, [r7, #12] 8034b24: 3220 adds r2, #32 8034b26: ed92 7b00 vldr d7, [r2] 8034b2a: ed9f 5b6d vldr d5, [pc, #436] ; 8034ce0 8034b2e: ee27 5b05 vmul.f64 d5, d7, d5 8034b32: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034b36: eeb3 4b00 vmov.f64 d4, #48 ; 0x41800000 16.0 8034b3a: ee27 4b04 vmul.f64 d4, d7, d4 8034b3e: 68fa ldr r2, [r7, #12] 8034b40: 3218 adds r2, #24 8034b42: ed92 7b00 vldr d7, [r2] 8034b46: ee24 7b07 vmul.f64 d7, d4, d7 8034b4a: ee35 7b07 vadd.f64 d7, d5, d7 8034b4e: ee36 7b07 vadd.f64 d7, d6, d7 8034b52: ed83 7b00 vstr d7, [r3] P[2] *= 3.90625E-3; // 3.90625E-3 = 1/256 8034b56: 68fb ldr r3, [r7, #12] 8034b58: 3310 adds r3, #16 8034b5a: 68fa ldr r2, [r7, #12] 8034b5c: 3210 adds r2, #16 8034b5e: ed92 7b00 vldr d7, [r2] 8034b62: ed9f 6b5d vldr d6, [pc, #372] ; 8034cd8 8034b66: ee27 7b06 vmul.f64 d7, d7, d6 8034b6a: ed83 7b00 vstr d7, [r3] P[3] = -b*b*0.015625; // 0.015625 = 1/64 8034b6e: 68fb ldr r3, [r7, #12] 8034b70: 3318 adds r3, #24 8034b72: ed97 7b12 vldr d7, [r7, #72] ; 0x48 8034b76: eeb1 6b47 vneg.f64 d6, d7 8034b7a: ed97 7b12 vldr d7, [r7, #72] ; 0x48 8034b7e: ee26 7b07 vmul.f64 d7, d6, d7 8034b82: ed9f 6b59 vldr d6, [pc, #356] ; 8034ce8 8034b86: ee27 7b06 vmul.f64 d7, d7, d6 8034b8a: ed83 7b00 vstr d7, [r3] if(P[3] > 0.0)P[3] = 0.0; // Only numerical errors make P[3] > 0 8034b8e: 68fb ldr r3, [r7, #12] 8034b90: 3318 adds r3, #24 8034b92: ed93 7b00 vldr d7, [r3] 8034b96: eeb5 7bc0 vcmpe.f64 d7, #0.0 8034b9a: eef1 fa10 vmrs APSR_nzcv, fpscr 8034b9e: dd08 ble.n 8034bb2 8034ba0: 68fb ldr r3, [r7, #12] 8034ba2: f103 0218 add.w r2, r3, #24 8034ba6: f04f 0300 mov.w r3, #0 8034baa: f04f 0400 mov.w r4, #0 8034bae: 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; 8034bb2: 68fb ldr r3, [r7, #12] 8034bb4: 3318 adds r3, #24 8034bb6: ed93 7b00 vldr d7, [r3] 8034bba: ed9f 6b4d vldr d6, [pc, #308] ; 8034cf0 8034bbe: eeb4 7bc6 vcmpe.f64 d7, d6 8034bc2: eef1 fa10 vmrs APSR_nzcv, fpscr 8034bc6: dd13 ble.n 8034bf0 8034bc8: 68fb ldr r3, [r7, #12] 8034bca: 3310 adds r3, #16 8034bcc: ed93 7b00 vldr d7, [r3] 8034bd0: eeb0 7bc7 vabs.f64 d7, d7 8034bd4: ed9f 6b48 vldr d6, [pc, #288] ; 8034cf8 8034bd8: eeb4 7bc6 vcmpe.f64 d7, d6 8034bdc: eef1 fa10 vmrs APSR_nzcv, fpscr 8034be0: d506 bpl.n 8034bf0 8034be2: f04f 0300 mov.w r3, #0 8034be6: f04f 0400 mov.w r4, #0 8034bea: e9c7 3410 strd r3, r4, [r7, #64] ; 0x40 8034bee: e004 b.n 8034bfa else P3Limit = ZERO_MINUS; 8034bf0: f04f 0300 mov.w r3, #0 8034bf4: 4c42 ldr r4, [pc, #264] ; (8034d00 ) 8034bf6: e9c7 3410 strd r3, r4, [r7, #64] ; 0x40 if(P[3] < P3Limit) 8034bfa: 68fb ldr r3, [r7, #12] 8034bfc: 3318 adds r3, #24 8034bfe: ed93 6b00 vldr d6, [r3] 8034c02: ed97 7b10 vldr d7, [r7, #64] ; 0x40 8034c06: eeb4 6bc7 vcmpe.f64 d6, d7 8034c0a: eef1 fa10 vmrs APSR_nzcv, fpscr 8034c0e: d579 bpl.n 8034d04 { MaxK = CubicRoots(P, RealRoot, ImagRoot); 8034c10: 687a ldr r2, [r7, #4] 8034c12: 68b9 ldr r1, [r7, #8] 8034c14: 68f8 ldr r0, [r7, #12] 8034c16: f7ff fbe7 bl 80343e8 8034c1a: 6178 str r0, [r7, #20] if(RealRoot[MaxK] > 0.0) // MaxK is the index of the largest real root. 8034c1c: 697b ldr r3, [r7, #20] 8034c1e: 00db lsls r3, r3, #3 8034c20: 68ba ldr r2, [r7, #8] 8034c22: 4413 add r3, r2 8034c24: ed93 7b00 vldr d7, [r3] 8034c28: eeb5 7bc0 vcmpe.f64 d7, #0.0 8034c2c: eef1 fa10 vmrs APSR_nzcv, fpscr 8034c30: dd68 ble.n 8034d04 { d = 4.0*RealRoot[MaxK]; 8034c32: 697b ldr r3, [r7, #20] 8034c34: 00db lsls r3, r3, #3 8034c36: 68ba ldr r2, [r7, #8] 8034c38: 4413 add r3, r2 8034c3a: ed93 7b00 vldr d7, [r3] 8034c3e: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8034c42: ee27 7b06 vmul.f64 d7, d7, d6 8034c46: ed87 7b0a vstr d7, [r7, #40] ; 0x28 a += d; 8034c4a: ed97 6b06 vldr d6, [r7, #24] 8034c4e: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8034c52: ee36 7b07 vadd.f64 d7, d6, d7 8034c56: ed87 7b06 vstr d7, [r7, #24] if(a*b < 0.0)P[1] = -sqrtl(d); 8034c5a: ed97 6b06 vldr d6, [r7, #24] 8034c5e: ed97 7b12 vldr d7, [r7, #72] ; 0x48 8034c62: ee26 7b07 vmul.f64 d7, d6, d7 8034c66: eeb5 7bc0 vcmpe.f64 d7, #0.0 8034c6a: eef1 fa10 vmrs APSR_nzcv, fpscr 8034c6e: d50d bpl.n 8034c8c 8034c70: 68fb ldr r3, [r7, #12] 8034c72: f103 0408 add.w r4, r3, #8 8034c76: ed97 0b0a vldr d0, [r7, #40] ; 0x28 8034c7a: f09a f9bb bl 80ceff4 8034c7e: eeb0 7b40 vmov.f64 d7, d0 8034c82: eeb1 7b47 vneg.f64 d7, d7 8034c86: ed84 7b00 vstr d7, [r4] 8034c8a: e00a b.n 8034ca2 else P[1] = sqrtl(d); 8034c8c: 68fb ldr r3, [r7, #12] 8034c8e: f103 0408 add.w r4, r3, #8 8034c92: ed97 0b0a vldr d0, [r7, #40] ; 0x28 8034c96: f09a f9ad bl 80ceff4 8034c9a: eeb0 7b40 vmov.f64 d7, d0 8034c9e: ed84 7b00 vstr d7, [r4] b = 0.5 * (a + b/P[1]); 8034ca2: 68fb ldr r3, [r7, #12] 8034ca4: 3308 adds r3, #8 8034ca6: ed93 7b00 vldr d7, [r3] 8034caa: ed97 5b12 vldr d5, [r7, #72] ; 0x48 8034cae: ee85 6b07 vdiv.f64 d6, d5, d7 8034cb2: ed97 7b06 vldr d7, [r7, #24] 8034cb6: ee36 7b07 vadd.f64 d7, d6, d7 8034cba: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 8034cbe: ee27 7b06 vmul.f64 d7, d7, d6 8034cc2: ed87 7b12 vstr d7, [r7, #72] ; 0x48 goto QUAD; 8034cc6: e0c7 b.n 8034e58 8034cc8: 00000000 .word 0x00000000 8034ccc: 40700000 .word 0x40700000 8034cd0: 00000000 .word 0x00000000 8034cd4: 40500000 .word 0x40500000 8034cd8: 00000000 .word 0x00000000 8034cdc: 3f700000 .word 0x3f700000 8034ce0: 00000000 .word 0x00000000 8034ce4: c0500000 .word 0xc0500000 8034ce8: 00000000 .word 0x00000000 8034cec: 3f900000 .word 0x3f900000 8034cf0: 00000000 .word 0x00000000 8034cf4: bcd00000 .word 0xbcd00000 8034cf8: a0b5ed8d .word 0xa0b5ed8d 8034cfc: 3eb0c6f7 .word 0x3eb0c6f7 8034d00: bcd00000 .word 0xbcd00000 } } if(P[2] < -1.0E-8) // 2 sets of equal imag roots 8034d04: 68fb ldr r3, [r7, #12] 8034d06: 3310 adds r3, #16 8034d08: ed93 7b00 vldr d7, [r3] 8034d0c: ed9f 6b76 vldr d6, [pc, #472] ; 8034ee8 8034d10: eeb4 7bc6 vcmpe.f64 d7, d6 8034d14: eef1 fa10 vmrs APSR_nzcv, fpscr 8034d18: d534 bpl.n 8034d84 { b = sqrtl(fabsl(c)); 8034d1a: ed97 7b08 vldr d7, [r7, #32] 8034d1e: eeb0 7bc7 vabs.f64 d7, d7 8034d22: eeb0 0b47 vmov.f64 d0, d7 8034d26: f09a f965 bl 80ceff4 8034d2a: ed87 0b12 vstr d0, [r7, #72] ; 0x48 d = b + b - a; 8034d2e: ed97 7b12 vldr d7, [r7, #72] ; 0x48 8034d32: ee37 6b07 vadd.f64 d6, d7, d7 8034d36: ed97 7b06 vldr d7, [r7, #24] 8034d3a: ee36 7b47 vsub.f64 d7, d6, d7 8034d3e: ed87 7b0a vstr d7, [r7, #40] ; 0x28 if(d > 0.0)P[1] = sqrtl(fabsl(d)); 8034d42: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8034d46: eeb5 7bc0 vcmpe.f64 d7, #0.0 8034d4a: eef1 fa10 vmrs APSR_nzcv, fpscr 8034d4e: dd0f ble.n 8034d70 8034d50: 68fb ldr r3, [r7, #12] 8034d52: f103 0408 add.w r4, r3, #8 8034d56: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8034d5a: eeb0 7bc7 vabs.f64 d7, d7 8034d5e: eeb0 0b47 vmov.f64 d0, d7 8034d62: f09a f947 bl 80ceff4 8034d66: eeb0 7b40 vmov.f64 d7, d0 8034d6a: ed84 7b00 vstr d7, [r4] 8034d6e: e073 b.n 8034e58 else P[1] = 0.0; 8034d70: 68fb ldr r3, [r7, #12] 8034d72: f103 0208 add.w r2, r3, #8 8034d76: f04f 0300 mov.w r3, #0 8034d7a: f04f 0400 mov.w r4, #0 8034d7e: e882 0018 stmia.w r2, {r3, r4} 8034d82: e069 b.n 8034e58 } else { if(P[1] > 0.0)b = 2.0*sqrtl(fabsl(P[2])) + P[1]; 8034d84: 68fb ldr r3, [r7, #12] 8034d86: 3308 adds r3, #8 8034d88: ed93 7b00 vldr d7, [r3] 8034d8c: eeb5 7bc0 vcmpe.f64 d7, #0.0 8034d90: eef1 fa10 vmrs APSR_nzcv, fpscr 8034d94: dd16 ble.n 8034dc4 8034d96: 68fb ldr r3, [r7, #12] 8034d98: 3310 adds r3, #16 8034d9a: ed93 7b00 vldr d7, [r3] 8034d9e: eeb0 7bc7 vabs.f64 d7, d7 8034da2: eeb0 0b47 vmov.f64 d0, d7 8034da6: f09a f925 bl 80ceff4 8034daa: eeb0 7b40 vmov.f64 d7, d0 8034dae: ee37 6b07 vadd.f64 d6, d7, d7 8034db2: 68fb ldr r3, [r7, #12] 8034db4: 3308 adds r3, #8 8034db6: ed93 7b00 vldr d7, [r3] 8034dba: ee36 7b07 vadd.f64 d7, d6, d7 8034dbe: ed87 7b12 vstr d7, [r7, #72] ; 0x48 8034dc2: e017 b.n 8034df4 else b = -2.0*sqrtl(fabsl(P[2])) + P[1]; 8034dc4: 68fb ldr r3, [r7, #12] 8034dc6: 3310 adds r3, #16 8034dc8: ed93 7b00 vldr d7, [r3] 8034dcc: eeb0 7bc7 vabs.f64 d7, d7 8034dd0: eeb0 0b47 vmov.f64 d0, d7 8034dd4: f09a f90e bl 80ceff4 8034dd8: eeb0 6b40 vmov.f64 d6, d0 8034ddc: eeb8 7b00 vmov.f64 d7, #128 ; 0xc0000000 -2.0 8034de0: ee26 6b07 vmul.f64 d6, d6, d7 8034de4: 68fb ldr r3, [r7, #12] 8034de6: 3308 adds r3, #8 8034de8: ed93 7b00 vldr d7, [r3] 8034dec: ee36 7b07 vadd.f64 d7, d6, d7 8034df0: ed87 7b12 vstr d7, [r7, #72] ; 0x48 if(fabsl(b) < 10.0*ZERO_PLUS) // 4 equal real roots. Was originally if(b == 0.0) 8034df4: ed97 7b12 vldr d7, [r7, #72] ; 0x48 8034df8: eeb0 7bc7 vabs.f64 d7, d7 8034dfc: ed9f 6b3c vldr d6, [pc, #240] ; 8034ef0 8034e00: eeb4 7bc6 vcmpe.f64 d7, d6 8034e04: eef1 fa10 vmrs APSR_nzcv, fpscr 8034e08: d51d bpl.n 8034e46 { for(k=0; k<4; k++) 8034e0a: 2300 movs r3, #0 8034e0c: 657b str r3, [r7, #84] ; 0x54 8034e0e: e016 b.n 8034e3e { RealRoot[k] = -e; 8034e10: 6d7b ldr r3, [r7, #84] ; 0x54 8034e12: 00db lsls r3, r3, #3 8034e14: 68ba ldr r2, [r7, #8] 8034e16: 4413 add r3, r2 8034e18: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8034e1c: eeb1 7b47 vneg.f64 d7, d7 8034e20: ed83 7b00 vstr d7, [r3] ImagRoot[k] = 0.0; 8034e24: 6d7b ldr r3, [r7, #84] ; 0x54 8034e26: 00db lsls r3, r3, #3 8034e28: 687a ldr r2, [r7, #4] 8034e2a: 441a add r2, r3 8034e2c: f04f 0300 mov.w r3, #0 8034e30: f04f 0400 mov.w r4, #0 8034e34: e882 0018 stmia.w r2, {r3, r4} for(k=0; k<4; k++) 8034e38: 6d7b ldr r3, [r7, #84] ; 0x54 8034e3a: 3301 adds r3, #1 8034e3c: 657b str r3, [r7, #84] ; 0x54 8034e3e: 6d7b ldr r3, [r7, #84] ; 0x54 8034e40: 2b03 cmp r3, #3 8034e42: dde5 ble.n 8034e10 } return; 8034e44: e04a b.n 8034edc } else P[1] = 0.0; 8034e46: 68fb ldr r3, [r7, #12] 8034e48: f103 0208 add.w r2, r3, #8 8034e4c: f04f 0300 mov.w r3, #0 8034e50: f04f 0400 mov.w r4, #0 8034e54: 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; 8034e58: 68fb ldr r3, [r7, #12] 8034e5a: 3310 adds r3, #16 8034e5c: ed97 5b08 vldr d5, [r7, #32] 8034e60: ed97 6b12 vldr d6, [r7, #72] ; 0x48 8034e64: ee85 7b06 vdiv.f64 d7, d5, d6 8034e68: ed83 7b00 vstr d7, [r3] QuadRoots(P, RealRoot, ImagRoot); 8034e6c: 687a ldr r2, [r7, #4] 8034e6e: 68b9 ldr r1, [r7, #8] 8034e70: 68f8 ldr r0, [r7, #12] 8034e72: f7ff f9fd bl 8034270 P[1] = -P[1]; 8034e76: 68fb ldr r3, [r7, #12] 8034e78: 3308 adds r3, #8 8034e7a: 68fa ldr r2, [r7, #12] 8034e7c: 3208 adds r2, #8 8034e7e: ed92 7b00 vldr d7, [r2] 8034e82: eeb1 7b47 vneg.f64 d7, d7 8034e86: ed83 7b00 vstr d7, [r3] P[2] = b; 8034e8a: 68fb ldr r3, [r7, #12] 8034e8c: f103 0210 add.w r2, r3, #16 8034e90: e9d7 3412 ldrd r3, r4, [r7, #72] ; 0x48 8034e94: e882 0018 stmia.w r2, {r3, r4} QuadRoots(P, RealRoot+2, ImagRoot+2); 8034e98: 68bb ldr r3, [r7, #8] 8034e9a: f103 0110 add.w r1, r3, #16 8034e9e: 687b ldr r3, [r7, #4] 8034ea0: 3310 adds r3, #16 8034ea2: 461a mov r2, r3 8034ea4: 68f8 ldr r0, [r7, #12] 8034ea6: f7ff f9e3 bl 8034270 for(k=0; k<4; k++)RealRoot[k] -= e; 8034eaa: 2300 movs r3, #0 8034eac: 657b str r3, [r7, #84] ; 0x54 8034eae: e012 b.n 8034ed6 8034eb0: 6d7b ldr r3, [r7, #84] ; 0x54 8034eb2: 00db lsls r3, r3, #3 8034eb4: 68ba ldr r2, [r7, #8] 8034eb6: 4413 add r3, r2 8034eb8: 6d7a ldr r2, [r7, #84] ; 0x54 8034eba: 00d2 lsls r2, r2, #3 8034ebc: 68b9 ldr r1, [r7, #8] 8034ebe: 440a add r2, r1 8034ec0: ed92 6b00 vldr d6, [r2] 8034ec4: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8034ec8: ee36 7b47 vsub.f64 d7, d6, d7 8034ecc: ed83 7b00 vstr d7, [r3] 8034ed0: 6d7b ldr r3, [r7, #84] ; 0x54 8034ed2: 3301 adds r3, #1 8034ed4: 657b str r3, [r7, #84] ; 0x54 8034ed6: 6d7b ldr r3, [r7, #84] ; 0x54 8034ed8: 2b03 cmp r3, #3 8034eda: dde9 ble.n 8034eb0 } 8034edc: 375c adds r7, #92 ; 0x5c 8034ede: 46bd mov sp, r7 8034ee0: bd90 pop {r4, r7, pc} 8034ee2: bf00 nop 8034ee4: f3af 8000 nop.w 8034ee8: e2308c3a .word 0xe2308c3a 8034eec: be45798e .word 0xbe45798e 8034ef0: 00000000 .word 0x00000000 8034ef4: 3d040000 .word 0x3d040000 08034ef8 : extern float32_t Acorr[2]; extern char Serial[8]; void initDevice(void) { 8034ef8: b580 push {r7, lr} 8034efa: af00 add r7, sp, #0 NeedOff = false; 8034efc: 4b11 ldr r3, [pc, #68] ; (8034f44 ) 8034efe: 2200 movs r2, #0 8034f00: 701a strb r2, [r3, #0] initAmplif(); 8034f02: f7ec fdc7 bl 8021a94 MAX11270_StopMeas(); 8034f06: f020 ffcd bl 8055ea4 SetKU(); 8034f0a: f7ec fcb3 bl 8021874 if(AskFormat == false) 8034f0e: 4b0e ldr r3, [pc, #56] ; (8034f48 ) 8034f10: 781b ldrb r3, [r3, #0] 8034f12: b2db uxtb r3, r3 8034f14: f083 0301 eor.w r3, r3, #1 8034f18: b2db uxtb r3, r3 8034f1a: 2b00 cmp r3, #0 8034f1c: d006 beq.n 8034f2c { menu = OPTIONS; 8034f1e: 4b0b ldr r3, [pc, #44] ; (8034f4c ) 8034f20: 2201 movs r2, #1 8034f22: 701a strb r2, [r3, #0] menupos = Mode; 8034f24: 4b0a ldr r3, [pc, #40] ; (8034f50 ) 8034f26: 2201 movs r2, #1 8034f28: 701a strb r2, [r3, #0] { menu = OPTIONS; menupos = AskFormatNo; AskFormat = false; } } 8034f2a: e008 b.n 8034f3e menu = OPTIONS; 8034f2c: 4b07 ldr r3, [pc, #28] ; (8034f4c ) 8034f2e: 2201 movs r2, #1 8034f30: 701a strb r2, [r3, #0] menupos = AskFormatNo; 8034f32: 4b07 ldr r3, [pc, #28] ; (8034f50 ) 8034f34: 2205 movs r2, #5 8034f36: 701a strb r2, [r3, #0] AskFormat = false; 8034f38: 4b03 ldr r3, [pc, #12] ; (8034f48 ) 8034f3a: 2200 movs r2, #0 8034f3c: 701a strb r2, [r3, #0] } 8034f3e: bf00 nop 8034f40: bd80 pop {r7, pc} 8034f42: bf00 nop 8034f44: 20020fb9 .word 0x20020fb9 8034f48: 20021695 .word 0x20021695 8034f4c: 20020fbd .word 0x20020fbd 8034f50: 20020070 .word 0x20020070 08034f54 : void NeedCalibrate(void) { 8034f54: b580 push {r7, lr} 8034f56: b082 sub sp, #8 8034f58: af00 add r7, sp, #0 uint32_t i, k; for(k = 0; k < 100; k++) 8034f5a: 2300 movs r3, #0 8034f5c: 603b str r3, [r7, #0] 8034f5e: e04c b.n 8034ffa { if(readkey() == (KEY_TMP + KEY_UP)) 8034f60: f000 f8a6 bl 80350b0 8034f64: 4603 mov r3, r0 8034f66: 2b42 cmp r3, #66 ; 0x42 8034f68: d141 bne.n 8034fee { clbr = true; 8034f6a: 4b3c ldr r3, [pc, #240] ; (803505c ) 8034f6c: 2201 movs r2, #1 8034f6e: 701a strb r2, [r3, #0] pardata.SYG = VIB; 8034f70: 4b3b ldr r3, [pc, #236] ; (8035060 ) 8034f72: 2200 movs r2, #0 8034f74: 701a strb r2, [r3, #0] pardata.IIN = ICP; 8034f76: 4b3a ldr r3, [pc, #232] ; (8035060 ) 8034f78: 2201 movs r2, #1 8034f7a: 719a strb r2, [r3, #6] pardata.IKU = Ku1; 8034f7c: 4b38 ldr r3, [pc, #224] ; (8035060 ) 8034f7e: 2200 movs r2, #0 8034f80: 721a strb r2, [r3, #8] pardata.IVS[ACC] = RMS; 8034f82: 4b37 ldr r3, [pc, #220] ; (8035060 ) 8034f84: 2201 movs r2, #1 8034f86: 709a strb r2, [r3, #2] menu = CALIBR_00; 8034f88: 4b36 ldr r3, [pc, #216] ; (8035064 ) 8034f8a: 2234 movs r2, #52 ; 0x34 8034f8c: 701a strb r2, [r3, #0] menupos = 0; 8034f8e: 4b36 ldr r3, [pc, #216] ; (8035068 ) 8034f90: 2200 movs r2, #0 8034f92: 701a strb r2, [r3, #0] for(i = 0; i < 9; i++) { 8034f94: 2300 movs r3, #0 8034f96: 607b str r3, [r7, #4] 8034f98: e009 b.n 8034fae Kcorr[i] = 1.0f; 8034f9a: 4a34 ldr r2, [pc, #208] ; (803506c ) 8034f9c: 687b ldr r3, [r7, #4] 8034f9e: 009b lsls r3, r3, #2 8034fa0: 4413 add r3, r2 8034fa2: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8034fa6: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 8034fa8: 687b ldr r3, [r7, #4] 8034faa: 3301 adds r3, #1 8034fac: 607b str r3, [r7, #4] 8034fae: 687b ldr r3, [r7, #4] 8034fb0: 2b08 cmp r3, #8 8034fb2: d9f2 bls.n 8034f9a } Acorr[0] = 1.0f; 8034fb4: 4b2e ldr r3, [pc, #184] ; (8035070 ) 8034fb6: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8034fba: 601a str r2, [r3, #0] Acorr[1] = 0.0f; 8034fbc: 4b2c ldr r3, [pc, #176] ; (8035070 ) 8034fbe: f04f 0200 mov.w r2, #0 8034fc2: 605a str r2, [r3, #4] memset(Serial, 0, sizeof(Serial)); 8034fc4: 2208 movs r2, #8 8034fc6: 2100 movs r1, #0 8034fc8: 482a ldr r0, [pc, #168] ; (8035074 ) 8034fca: f09c f9e9 bl 80d13a0 Serial[0] = '0'; 8034fce: 4b29 ldr r3, [pc, #164] ; (8035074 ) 8034fd0: 2230 movs r2, #48 ; 0x30 8034fd2: 701a strb r2, [r3, #0] Serial[1] = '0'; 8034fd4: 4b27 ldr r3, [pc, #156] ; (8035074 ) 8034fd6: 2230 movs r2, #48 ; 0x30 8034fd8: 705a strb r2, [r3, #1] Serial[2] = '0'; 8034fda: 4b26 ldr r3, [pc, #152] ; (8035074 ) 8034fdc: 2230 movs r2, #48 ; 0x30 8034fde: 709a strb r2, [r3, #2] Serial[3] = '0'; 8034fe0: 4b24 ldr r3, [pc, #144] ; (8035074 ) 8034fe2: 2230 movs r2, #48 ; 0x30 8034fe4: 70da strb r2, [r3, #3] Serial[4] = '0'; 8034fe6: 4b23 ldr r3, [pc, #140] ; (8035074 ) 8034fe8: 2230 movs r2, #48 ; 0x30 8034fea: 711a strb r2, [r3, #4] break; 8034fec: e008 b.n 8035000 } else clbr = false; 8034fee: 4b1b ldr r3, [pc, #108] ; (803505c ) 8034ff0: 2200 movs r2, #0 8034ff2: 701a strb r2, [r3, #0] for(k = 0; k < 100; k++) 8034ff4: 683b ldr r3, [r7, #0] 8034ff6: 3301 adds r3, #1 8034ff8: 603b str r3, [r7, #0] 8034ffa: 683b ldr r3, [r7, #0] 8034ffc: 2b63 cmp r3, #99 ; 0x63 8034ffe: d9af bls.n 8034f60 } if(!clbr) 8035000: 4b16 ldr r3, [pc, #88] ; (803505c ) 8035002: 781b ldrb r3, [r3, #0] 8035004: b2db uxtb r3, r3 8035006: f083 0301 eor.w r3, r3, #1 803500a: b2db uxtb r3, r3 803500c: 2b00 cmp r3, #0 803500e: d020 beq.n 8035052 { for(k = 0; k < 100; k++) 8035010: 2300 movs r3, #0 8035012: 603b str r3, [r7, #0] 8035014: e01a b.n 803504c { if(readkey() == (KEY_LT + KEY_RT)) 8035016: f000 f84b bl 80350b0 803501a: 4603 mov r3, r0 803501c: 2b18 cmp r3, #24 803501e: d112 bne.n 8035046 { #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); 8035020: 2200 movs r2, #0 8035022: f44f 4180 mov.w r1, #16384 ; 0x4000 8035026: 4814 ldr r0, [pc, #80] ; (8035078 ) 8035028: f084 fbb8 bl 80b979c #endif pardata.FRQ = _64000Hz; 803502c: 4b0c ldr r3, [pc, #48] ; (8035060 ) 803502e: 2209 movs r2, #9 8035030: 72da strb r2, [r3, #11] menu = CALIBR_OFFSET; 8035032: 4b0c ldr r3, [pc, #48] ; (8035064 ) 8035034: 2241 movs r2, #65 ; 0x41 8035036: 701a strb r2, [r3, #0] menupos = 0; 8035038: 4b0b ldr r3, [pc, #44] ; (8035068 ) 803503a: 2200 movs r2, #0 803503c: 701a strb r2, [r3, #0] CALC_OFFSET(); 803503e: f020 fd41 bl 8055ac4 break; 8035042: bf00 nop } } } } 8035044: e005 b.n 8035052 for(k = 0; k < 100; k++) 8035046: 683b ldr r3, [r7, #0] 8035048: 3301 adds r3, #1 803504a: 603b str r3, [r7, #0] 803504c: 683b ldr r3, [r7, #0] 803504e: 2b63 cmp r3, #99 ; 0x63 8035050: d9e1 bls.n 8035016 } 8035052: bf00 nop 8035054: 3708 adds r7, #8 8035056: 46bd mov sp, r7 8035058: bd80 pop {r7, pc} 803505a: bf00 nop 803505c: 20020f88 .word 0x20020f88 8035060: 20023ea8 .word 0x20023ea8 8035064: 20020fbd .word 0x20020fbd 8035068: 20020070 .word 0x20020070 803506c: 200261d4 .word 0x200261d4 8035070: 2006853c .word 0x2006853c 8035074: 20026d44 .word 0x20026d44 8035078: 40021800 .word 0x40021800 0803507c : void initKeys(void) { 803507c: b580 push {r7, lr} 803507e: af00 add r7, sp, #0 KeysIsReady = false; 8035080: 4b09 ldr r3, [pc, #36] ; (80350a8 ) 8035082: 2200 movs r2, #0 8035084: 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); 8035086: 2201 movs r2, #1 8035088: 2104 movs r1, #4 803508a: 4808 ldr r0, [pc, #32] ; (80350ac ) 803508c: f084 fb86 bl 80b979c HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); 8035090: 2201 movs r2, #1 8035092: 2110 movs r1, #16 8035094: 4805 ldr r0, [pc, #20] ; (80350ac ) 8035096: f084 fb81 bl 80b979c HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); 803509a: 2201 movs r2, #1 803509c: 2120 movs r1, #32 803509e: 4803 ldr r0, [pc, #12] ; (80350ac ) 80350a0: f084 fb7c bl 80b979c #endif } 80350a4: bf00 nop 80350a6: bd80 pop {r7, pc} 80350a8: 20020fc3 .word 0x20020fc3 80350ac: 40021000 .word 0x40021000 080350b0 : uint32_t readkey(void) { 80350b0: b580 push {r7, lr} 80350b2: b082 sub sp, #8 80350b4: af00 add r7, sp, #0 uint32_t key = 0; 80350b6: 2300 movs r3, #0 80350b8: 607b str r3, [r7, #4] if(KeysIsReady == false){ 80350ba: 4b46 ldr r3, [pc, #280] ; (80351d4 ) 80350bc: 781b ldrb r3, [r3, #0] 80350be: b2db uxtb r3, r3 80350c0: f083 0301 eor.w r3, r3, #1 80350c4: b2db uxtb r3, r3 80350c6: 2b00 cmp r3, #0 80350c8: d001 beq.n 80350ce return 0; 80350ca: 2300 movs r3, #0 80350cc: e07e b.n 80351cc } if(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET) { 80350ce: 2101 movs r1, #1 80350d0: 4841 ldr r0, [pc, #260] ; (80351d8 ) 80350d2: f084 fb4b bl 80b976c 80350d6: 4603 mov r3, r0 80350d8: 2b01 cmp r3, #1 80350da: d101 bne.n 80350e0 key = KEY_PW; 80350dc: 2301 movs r3, #1 80350de: 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); 80350e0: 2201 movs r2, #1 80350e2: 2104 movs r1, #4 80350e4: 483d ldr r0, [pc, #244] ; (80351dc ) 80350e6: f084 fb59 bl 80b979c HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); 80350ea: 2201 movs r2, #1 80350ec: 2110 movs r1, #16 80350ee: 483b ldr r0, [pc, #236] ; (80351dc ) 80350f0: f084 fb54 bl 80b979c HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); 80350f4: 2201 movs r2, #1 80350f6: 2120 movs r1, #32 80350f8: 4838 ldr r0, [pc, #224] ; (80351dc ) 80350fa: f084 fb4f bl 80b979c HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_RESET); 80350fe: 2200 movs r2, #0 8035100: 2104 movs r1, #4 8035102: 4836 ldr r0, [pc, #216] ; (80351dc ) 8035104: f084 fb4a bl 80b979c if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) 8035108: f44f 7100 mov.w r1, #512 ; 0x200 803510c: 4832 ldr r0, [pc, #200] ; (80351d8 ) 803510e: f084 fb2d bl 80b976c 8035112: 4603 mov r3, r0 8035114: 2b00 cmp r3, #0 8035116: d103 bne.n 8035120 key |= KEY_OK; 8035118: 687b ldr r3, [r7, #4] 803511a: f043 0320 orr.w r3, r3, #32 803511e: 607b str r3, [r7, #4] if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_RESET) 8035120: f44f 6180 mov.w r1, #1024 ; 0x400 8035124: 482c ldr r0, [pc, #176] ; (80351d8 ) 8035126: f084 fb21 bl 80b976c 803512a: 4603 mov r3, r0 803512c: 2b00 cmp r3, #0 803512e: d103 bne.n 8035138 key |= KEY_TMP; 8035130: 687b ldr r3, [r7, #4] 8035132: f043 0340 orr.w r3, r3, #64 ; 0x40 8035136: 607b str r3, [r7, #4] HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_SET); 8035138: 2201 movs r2, #1 803513a: 2104 movs r1, #4 803513c: 4827 ldr r0, [pc, #156] ; (80351dc ) 803513e: f084 fb2d bl 80b979c HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_RESET); 8035142: 2200 movs r2, #0 8035144: 2110 movs r1, #16 8035146: 4825 ldr r0, [pc, #148] ; (80351dc ) 8035148: f084 fb28 bl 80b979c if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) 803514c: f44f 7100 mov.w r1, #512 ; 0x200 8035150: 4821 ldr r0, [pc, #132] ; (80351d8 ) 8035152: f084 fb0b bl 80b976c 8035156: 4603 mov r3, r0 8035158: 2b00 cmp r3, #0 803515a: d103 bne.n 8035164 key |= KEY_LT; 803515c: 687b ldr r3, [r7, #4] 803515e: f043 0310 orr.w r3, r3, #16 8035162: 607b str r3, [r7, #4] if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_RESET) 8035164: f44f 6180 mov.w r1, #1024 ; 0x400 8035168: 481b ldr r0, [pc, #108] ; (80351d8 ) 803516a: f084 faff bl 80b976c 803516e: 4603 mov r3, r0 8035170: 2b00 cmp r3, #0 8035172: d103 bne.n 803517c key |= KEY_RT; 8035174: 687b ldr r3, [r7, #4] 8035176: f043 0308 orr.w r3, r3, #8 803517a: 607b str r3, [r7, #4] HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); 803517c: 2201 movs r2, #1 803517e: 2110 movs r1, #16 8035180: 4816 ldr r0, [pc, #88] ; (80351dc ) 8035182: f084 fb0b bl 80b979c HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_RESET); 8035186: 2200 movs r2, #0 8035188: 2120 movs r1, #32 803518a: 4814 ldr r0, [pc, #80] ; (80351dc ) 803518c: f084 fb06 bl 80b979c if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) 8035190: f44f 7100 mov.w r1, #512 ; 0x200 8035194: 4810 ldr r0, [pc, #64] ; (80351d8 ) 8035196: f084 fae9 bl 80b976c 803519a: 4603 mov r3, r0 803519c: 2b00 cmp r3, #0 803519e: d103 bne.n 80351a8 key |= KEY_UP; 80351a0: 687b ldr r3, [r7, #4] 80351a2: f043 0302 orr.w r3, r3, #2 80351a6: 607b str r3, [r7, #4] if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_RESET) 80351a8: f44f 6180 mov.w r1, #1024 ; 0x400 80351ac: 480a ldr r0, [pc, #40] ; (80351d8 ) 80351ae: f084 fadd bl 80b976c 80351b2: 4603 mov r3, r0 80351b4: 2b00 cmp r3, #0 80351b6: d103 bne.n 80351c0 key |= KEY_DN; 80351b8: 687b ldr r3, [r7, #4] 80351ba: f043 0304 orr.w r3, r3, #4 80351be: 607b str r3, [r7, #4] HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); 80351c0: 2201 movs r2, #1 80351c2: 2120 movs r1, #32 80351c4: 4805 ldr r0, [pc, #20] ; (80351dc ) 80351c6: f084 fae9 bl 80b979c 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; 80351ca: 687b ldr r3, [r7, #4] } 80351cc: 4618 mov r0, r3 80351ce: 3708 adds r7, #8 80351d0: 46bd mov sp, r7 80351d2: bd80 pop {r7, pc} 80351d4: 20020fc3 .word 0x20020fc3 80351d8: 40020000 .word 0x40020000 80351dc: 40021000 .word 0x40021000 080351e0 : uint32_t kbhit(void) { 80351e0: b580 push {r7, lr} 80351e2: b082 sub sp, #8 80351e4: af00 add r7, sp, #0 static uint16_t rep = 50; do { key = readkey(); 80351e6: f7ff ff63 bl 80350b0 80351ea: 4603 mov r3, r0 80351ec: 607b str r3, [r7, #4] if(!key) 80351ee: 687b ldr r3, [r7, #4] 80351f0: 2b00 cmp r3, #0 80351f2: d10d bne.n 8035210 { if(dreb) 80351f4: 4b4e ldr r3, [pc, #312] ; (8035330 ) 80351f6: 681b ldr r3, [r3, #0] 80351f8: 2b00 cmp r3, #0 80351fa: d005 beq.n 8035208 dreb--; 80351fc: 4b4c ldr r3, [pc, #304] ; (8035330 ) 80351fe: 681b ldr r3, [r3, #0] 8035200: 3b01 subs r3, #1 8035202: 4a4b ldr r2, [pc, #300] ; (8035330 ) 8035204: 6013 str r3, [r2, #0] 8035206: e00c b.n 8035222 else first = 1; 8035208: 4b4a ldr r3, [pc, #296] ; (8035334 ) 803520a: 2201 movs r2, #1 803520c: 701a strb r2, [r3, #0] 803520e: e008 b.n 8035222 } else { if(dreb < KEY_DBZ) 8035210: 4b47 ldr r3, [pc, #284] ; (8035330 ) 8035212: 681b ldr r3, [r3, #0] 8035214: 2b01 cmp r3, #1 8035216: d804 bhi.n 8035222 dreb++; 8035218: 4b45 ldr r3, [pc, #276] ; (8035330 ) 803521a: 681b ldr r3, [r3, #0] 803521c: 3301 adds r3, #1 803521e: 4a44 ldr r2, [pc, #272] ; (8035330 ) 8035220: 6013 str r3, [r2, #0] } } while((dreb > 0) && (dreb < KEY_DBZ)); 8035222: 4b43 ldr r3, [pc, #268] ; (8035330 ) 8035224: 681b ldr r3, [r3, #0] 8035226: 2b00 cmp r3, #0 8035228: d003 beq.n 8035232 803522a: 4b41 ldr r3, [pc, #260] ; (8035330 ) 803522c: 681b ldr r3, [r3, #0] 803522e: 2b01 cmp r3, #1 8035230: d9d9 bls.n 80351e6 if((key == KEY_PW) && (menu != POWER_OFF) && (menu != POWER_OFF2) && (LinkPC == 0) && (!ChargerIsConnect)) 8035232: 687b ldr r3, [r7, #4] 8035234: 2b01 cmp r3, #1 8035236: d13e bne.n 80352b6 8035238: 4b3f ldr r3, [pc, #252] ; (8035338 ) 803523a: 781b ldrb r3, [r3, #0] 803523c: b2db uxtb r3, r3 803523e: 2b43 cmp r3, #67 ; 0x43 8035240: d039 beq.n 80352b6 8035242: 4b3d ldr r3, [pc, #244] ; (8035338 ) 8035244: 781b ldrb r3, [r3, #0] 8035246: b2db uxtb r3, r3 8035248: 2b44 cmp r3, #68 ; 0x44 803524a: d034 beq.n 80352b6 803524c: 4b3b ldr r3, [pc, #236] ; (803533c ) 803524e: 781b ldrb r3, [r3, #0] 8035250: b2db uxtb r3, r3 8035252: 2b00 cmp r3, #0 8035254: d12f bne.n 80352b6 8035256: 4b3a ldr r3, [pc, #232] ; (8035340 ) 8035258: 781b ldrb r3, [r3, #0] 803525a: b2db uxtb r3, r3 803525c: f083 0301 eor.w r3, r3, #1 8035260: b2db uxtb r3, r3 8035262: 2b00 cmp r3, #0 8035264: d027 beq.n 80352b6 { do { key = readkey(); 8035266: f7ff ff23 bl 80350b0 803526a: 4603 mov r3, r0 803526c: 607b str r3, [r7, #4] if(!key) 803526e: 687b ldr r3, [r7, #4] 8035270: 2b00 cmp r3, #0 8035272: d10d bne.n 8035290 { if(dreb) 8035274: 4b2e ldr r3, [pc, #184] ; (8035330 ) 8035276: 681b ldr r3, [r3, #0] 8035278: 2b00 cmp r3, #0 803527a: d005 beq.n 8035288 dreb--; 803527c: 4b2c ldr r3, [pc, #176] ; (8035330 ) 803527e: 681b ldr r3, [r3, #0] 8035280: 3b01 subs r3, #1 8035282: 4a2b ldr r2, [pc, #172] ; (8035330 ) 8035284: 6013 str r3, [r2, #0] 8035286: e00d b.n 80352a4 else first = 1; 8035288: 4b2a ldr r3, [pc, #168] ; (8035334 ) 803528a: 2201 movs r2, #1 803528c: 701a strb r2, [r3, #0] 803528e: e009 b.n 80352a4 } else { if(dreb < 200000) 8035290: 4b27 ldr r3, [pc, #156] ; (8035330 ) 8035292: 681b ldr r3, [r3, #0] 8035294: 4a2b ldr r2, [pc, #172] ; (8035344 ) 8035296: 4293 cmp r3, r2 8035298: d804 bhi.n 80352a4 dreb++; 803529a: 4b25 ldr r3, [pc, #148] ; (8035330 ) 803529c: 681b ldr r3, [r3, #0] 803529e: 3301 adds r3, #1 80352a0: 4a23 ldr r2, [pc, #140] ; (8035330 ) 80352a2: 6013 str r3, [r2, #0] } } while((dreb > 0) && (dreb < 200000)); 80352a4: 4b22 ldr r3, [pc, #136] ; (8035330 ) 80352a6: 681b ldr r3, [r3, #0] 80352a8: 2b00 cmp r3, #0 80352aa: d004 beq.n 80352b6 80352ac: 4b20 ldr r3, [pc, #128] ; (8035330 ) 80352ae: 681b ldr r3, [r3, #0] 80352b0: 4a24 ldr r2, [pc, #144] ; (8035344 ) 80352b2: 4293 cmp r3, r2 80352b4: d9d7 bls.n 8035266 } if(!key) //åñëè êíîïêè îòïóùåíû 80352b6: 687b ldr r3, [r7, #4] 80352b8: 2b00 cmp r3, #0 80352ba: d104 bne.n 80352c6 { first = 1; //äîñòîâåðíî êíîïêè îòïóùåíû 80352bc: 4b1d ldr r3, [pc, #116] ; (8035334 ) 80352be: 2201 movs r2, #1 80352c0: 701a strb r2, [r3, #0] return 0; //âåðíóòü 0 80352c2: 2300 movs r3, #0 80352c4: e02f b.n 8035326 } else //èíà÷å { if(first) //îïðåäåëèòü êíîïêó 80352c6: 4b1b ldr r3, [pc, #108] ; (8035334 ) 80352c8: 781b ldrb r3, [r3, #0] 80352ca: 2b00 cmp r3, #0 80352cc: d00c beq.n 80352e8 { //òîëüêî îäèí ðàç first = 0; //çà íàæàòèå 80352ce: 4b19 ldr r3, [pc, #100] ; (8035334 ) 80352d0: 2200 movs r2, #0 80352d2: 701a strb r2, [r3, #0] repeat = rep = 2000; 80352d4: 4b1c ldr r3, [pc, #112] ; (8035348 ) 80352d6: f44f 62fa mov.w r2, #2000 ; 0x7d0 80352da: 801a strh r2, [r3, #0] 80352dc: 4b1a ldr r3, [pc, #104] ; (8035348 ) 80352de: 881a ldrh r2, [r3, #0] 80352e0: 4b1a ldr r3, [pc, #104] ; (803534c ) 80352e2: 801a strh r2, [r3, #0] return key; //âåðíóòü â ãëàâíóþ ôóíêöèþ ñîñòîÿíèå êëàâèàòóðû 80352e4: 687b ldr r3, [r7, #4] 80352e6: e01e b.n 8035326 } else { if(repeat) 80352e8: 4b18 ldr r3, [pc, #96] ; (803534c ) 80352ea: 881b ldrh r3, [r3, #0] 80352ec: b29b uxth r3, r3 80352ee: 2b00 cmp r3, #0 80352f0: d001 beq.n 80352f6 return 0; //èìèòàöèÿ ñâîáîäíîé êëàâèàòóðû 80352f2: 2300 movs r3, #0 80352f4: e017 b.n 8035326 else { if(rep > 0) 80352f6: 4b14 ldr r3, [pc, #80] ; (8035348 ) 80352f8: 881b ldrh r3, [r3, #0] 80352fa: 2b00 cmp r3, #0 80352fc: d006 beq.n 803530c rep >>= 1; 80352fe: 4b12 ldr r3, [pc, #72] ; (8035348 ) 8035300: 881b ldrh r3, [r3, #0] 8035302: 085b lsrs r3, r3, #1 8035304: b29a uxth r2, r3 8035306: 4b10 ldr r3, [pc, #64] ; (8035348 ) 8035308: 801a strh r2, [r3, #0] 803530a: e002 b.n 8035312 else rep = 100; 803530c: 4b0e ldr r3, [pc, #56] ; (8035348 ) 803530e: 2264 movs r2, #100 ; 0x64 8035310: 801a strh r2, [r3, #0] repeat = rep; 8035312: 4b0d ldr r3, [pc, #52] ; (8035348 ) 8035314: 881a ldrh r2, [r3, #0] 8035316: 4b0d ldr r3, [pc, #52] ; (803534c ) 8035318: 801a strh r2, [r3, #0] if(key == KEY_PW) 803531a: 687b ldr r3, [r7, #4] 803531c: 2b01 cmp r3, #1 803531e: d101 bne.n 8035324 return 0; 8035320: 2300 movs r3, #0 8035322: e000 b.n 8035326 return key; 8035324: 687b ldr r3, [r7, #4] } } } } 8035326: 4618 mov r0, r3 8035328: 3708 adds r7, #8 803532a: 46bd mov sp, r7 803532c: bd80 pop {r7, pc} 803532e: bf00 nop 8035330: 20020fcc .word 0x20020fcc 8035334: 20020072 .word 0x20020072 8035338: 20020fbd .word 0x20020fbd 803533c: 20021b6b .word 0x20021b6b 8035340: 20021b6a .word 0x20021b6a 8035344: 00030d3f .word 0x00030d3f 8035348: 20020074 .word 0x20020074 803534c: 20020fc0 .word 0x20020fc0 08035350 : void keyIns(void) { 8035350: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 8035354: b0b3 sub sp, #204 ; 0xcc 8035356: 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}; 8035358: f04f 0300 mov.w r3, #0 803535c: 613b str r3, [r7, #16] 803535e: f04f 0300 mov.w r3, #0 8035362: 617b str r3, [r7, #20] 8035364: f04f 0300 mov.w r3, #0 8035368: 61bb str r3, [r7, #24] float32_t ff[3] = {0, 0, 0}; 803536a: f04f 0300 mov.w r3, #0 803536e: 607b str r3, [r7, #4] 8035370: f04f 0300 mov.w r3, #0 8035374: 60bb str r3, [r7, #8] 8035376: f04f 0300 mov.w r3, #0 803537a: 60fb str r3, [r7, #12] float64_t f64; uint8_t tmp8; key = KEY_STATE; 803537c: 4bd5 ldr r3, [pc, #852] ; (80356d4 ) 803537e: 681b ldr r3, [r3, #0] 8035380: f8c7 30ac str.w r3, [r7, #172] ; 0xac KEY_STATE = 0; 8035384: 4bd3 ldr r3, [pc, #844] ; (80356d4 ) 8035386: 2200 movs r2, #0 8035388: 601a str r2, [r3, #0] if(key) 803538a: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 803538e: 2b00 cmp r3, #0 8035390: f01e 83fa beq.w 8053b88 { TIMEOUT_OFF = min15; 8035394: 4bd0 ldr r3, [pc, #832] ; (80356d8 ) 8035396: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 803539a: 601a str r2, [r3, #0] TIMEOUT_OFF2 = sec10; 803539c: 4bcf ldr r3, [pc, #828] ; (80356dc ) 803539e: f44f 42a0 mov.w r2, #20480 ; 0x5000 80353a2: 601a str r2, [r3, #0] if(DrawStatus) 80353a4: 4bce ldr r3, [pc, #824] ; (80356e0 ) 80353a6: 781b ldrb r3, [r3, #0] 80353a8: b2db uxtb r3, r3 80353aa: 2b00 cmp r3, #0 80353ac: d016 beq.n 80353dc { DrawStatus = false; 80353ae: 4bcc ldr r3, [pc, #816] ; (80356e0 ) 80353b0: 2200 movs r2, #0 80353b2: 701a strb r2, [r3, #0] timerStatus = 0; 80353b4: 4bcb ldr r3, [pc, #812] ; (80356e4 ) 80353b6: 2200 movs r2, #0 80353b8: 801a strh r2, [r3, #0] STATUS = AP_OK; 80353ba: 4bcb ldr r3, [pc, #812] ; (80356e8 ) 80353bc: 2200 movs r2, #0 80353be: 601a str r2, [r3, #0] ThisFileExist = false; 80353c0: 4bca ldr r3, [pc, #808] ; (80356ec ) 80353c2: 2200 movs r2, #0 80353c4: 701a strb r2, [r3, #0] SavingPassed = false; 80353c6: 4bca ldr r3, [pc, #808] ; (80356f0 ) 80353c8: 2200 movs r2, #0 80353ca: 701a strb r2, [r3, #0] SavingUnable = false; 80353cc: 4bc9 ldr r3, [pc, #804] ; (80356f4 ) 80353ce: 2200 movs r2, #0 80353d0: 701a strb r2, [r3, #0] AddToFile = false; 80353d2: 4bc9 ldr r3, [pc, #804] ; (80356f8 ) 80353d4: 2200 movs r2, #0 80353d6: 701a strb r2, [r3, #0] return; 80353d8: f01e bbd6 b.w 8053b88 } if(menu == POWER_OFF2) 80353dc: 4bc7 ldr r3, [pc, #796] ; (80356fc ) 80353de: 781b ldrb r3, [r3, #0] 80353e0: b2db uxtb r3, r3 80353e2: 2b44 cmp r3, #68 ; 0x44 80353e4: d111 bne.n 803540a { if(ChargerIsConnect == true) 80353e6: 4bc6 ldr r3, [pc, #792] ; (8035700 ) 80353e8: 781b ldrb r3, [r3, #0] 80353ea: b2db uxtb r3, r3 80353ec: 2b00 cmp r3, #0 80353ee: f01e 83be beq.w 8053b6e { menu = POWER_OFF; 80353f2: 4bc2 ldr r3, [pc, #776] ; (80356fc ) 80353f4: 2243 movs r2, #67 ; 0x43 80353f6: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80353f8: 4bb8 ldr r3, [pc, #736] ; (80356dc ) 80353fa: f44f 42a0 mov.w r2, #20480 ; 0x5000 80353fe: 601a str r2, [r3, #0] needDispOn = true; 8035400: 4bc0 ldr r3, [pc, #768] ; (8035704 ) 8035402: 2201 movs r2, #1 8035404: 701a strb r2, [r3, #0] } return; 8035406: f01e bbb2 b.w 8053b6e } switch(key) 803540a: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 803540e: 3b01 subs r3, #1 8035410: 2b3f cmp r3, #63 ; 0x3f 8035412: f21e 83b9 bhi.w 8053b88 8035416: a201 add r2, pc, #4 ; (adr r2, 803541c ) 8035418: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803541c: 08053b89 .word 0x08053b89 8035420: 0803551d .word 0x0803551d 8035424: 08053b89 .word 0x08053b89 8035428: 0803c5c9 .word 0x0803c5c9 803542c: 08053b89 .word 0x08053b89 8035430: 08053b89 .word 0x08053b89 8035434: 08053b89 .word 0x08053b89 8035438: 08046a11 .word 0x08046a11 803543c: 08053b89 .word 0x08053b89 8035440: 08053b89 .word 0x08053b89 8035444: 08053b89 .word 0x08053b89 8035448: 08053b89 .word 0x08053b89 803544c: 08053b89 .word 0x08053b89 8035450: 08053b89 .word 0x08053b89 8035454: 08053b89 .word 0x08053b89 8035458: 0804420d .word 0x0804420d 803545c: 08053b89 .word 0x08053b89 8035460: 08053b89 .word 0x08053b89 8035464: 08053b89 .word 0x08053b89 8035468: 08053b89 .word 0x08053b89 803546c: 08053b89 .word 0x08053b89 8035470: 08053b89 .word 0x08053b89 8035474: 08053b89 .word 0x08053b89 8035478: 08053b89 .word 0x08053b89 803547c: 08053b89 .word 0x08053b89 8035480: 08053b89 .word 0x08053b89 8035484: 08053b89 .word 0x08053b89 8035488: 08053b89 .word 0x08053b89 803548c: 08053b89 .word 0x08053b89 8035490: 08053b89 .word 0x08053b89 8035494: 08053b89 .word 0x08053b89 8035498: 08049ec7 .word 0x08049ec7 803549c: 08053b89 .word 0x08053b89 80354a0: 08053b89 .word 0x08053b89 80354a4: 08053b89 .word 0x08053b89 80354a8: 08053b89 .word 0x08053b89 80354ac: 08053b89 .word 0x08053b89 80354b0: 08053b89 .word 0x08053b89 80354b4: 08053b89 .word 0x08053b89 80354b8: 08053b89 .word 0x08053b89 80354bc: 08053b89 .word 0x08053b89 80354c0: 08053b89 .word 0x08053b89 80354c4: 08053b89 .word 0x08053b89 80354c8: 08053b89 .word 0x08053b89 80354cc: 08053b89 .word 0x08053b89 80354d0: 08053b89 .word 0x08053b89 80354d4: 08053b89 .word 0x08053b89 80354d8: 08053b89 .word 0x08053b89 80354dc: 08053b89 .word 0x08053b89 80354e0: 08053b89 .word 0x08053b89 80354e4: 08053b89 .word 0x08053b89 80354e8: 08053b89 .word 0x08053b89 80354ec: 08053b89 .word 0x08053b89 80354f0: 08053b89 .word 0x08053b89 80354f4: 08053b89 .word 0x08053b89 80354f8: 08053b89 .word 0x08053b89 80354fc: 08053b89 .word 0x08053b89 8035500: 08053b89 .word 0x08053b89 8035504: 08053b89 .word 0x08053b89 8035508: 08053b89 .word 0x08053b89 803550c: 08053b89 .word 0x08053b89 8035510: 08053b89 .word 0x08053b89 8035514: 08053b89 .word 0x08053b89 8035518: 08049737 .word 0x08049737 { case KEY_UP://TODO KEY UP switch(menu) 803551c: 4b77 ldr r3, [pc, #476] ; (80356fc ) 803551e: 781b ldrb r3, [r3, #0] 8035520: b2db uxtb r3, r3 8035522: 2b47 cmp r3, #71 ; 0x47 8035524: f21e 8325 bhi.w 8053b72 8035528: a201 add r2, pc, #4 ; (adr r2, 8035530 ) 803552a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803552e: bf00 nop 8035530: 08036df3 .word 0x08036df3 8035534: 080375bf .word 0x080375bf 8035538: 080375ef .word 0x080375ef 803553c: 0803c49d .word 0x0803c49d 8035540: 0803b651 .word 0x0803b651 8035544: 08053b73 .word 0x08053b73 8035548: 08038a2b .word 0x08038a2b 803554c: 080393fd .word 0x080393fd 8035550: 0803a913 .word 0x0803a913 8035554: 08053b73 .word 0x08053b73 8035558: 0803b93d .word 0x0803b93d 803555c: 08053b73 .word 0x08053b73 8035560: 08053b73 .word 0x08053b73 8035564: 08037a97 .word 0x08037a97 8035568: 08037645 .word 0x08037645 803556c: 08035651 .word 0x08035651 8035570: 0803598d .word 0x0803598d 8035574: 080359b3 .word 0x080359b3 8035578: 0803bf89 .word 0x0803bf89 803557c: 08053b73 .word 0x08053b73 8035580: 0803c385 .word 0x0803c385 8035584: 0803c3a7 .word 0x0803c3a7 8035588: 0803c3f9 .word 0x0803c3f9 803558c: 0803c44b .word 0x0803c44b 8035590: 0803c26f .word 0x0803c26f 8035594: 0803c333 .word 0x0803c333 8035598: 08053b73 .word 0x08053b73 803559c: 08053b73 .word 0x08053b73 80355a0: 08037059 .word 0x08037059 80355a4: 08036fdf .word 0x08036fdf 80355a8: 08053b73 .word 0x08053b73 80355ac: 08036df3 .word 0x08036df3 80355b0: 08037431 .word 0x08037431 80355b4: 0803724b .word 0x0803724b 80355b8: 080372ed .word 0x080372ed 80355bc: 0803738f .word 0x0803738f 80355c0: 08037161 .word 0x08037161 80355c4: 08036cc1 .word 0x08036cc1 80355c8: 08036cfb .word 0x08036cfb 80355cc: 08036c7d .word 0x08036c7d 80355d0: 080370fb .word 0x080370fb 80355d4: 080374a1 .word 0x080374a1 80355d8: 08037509 .word 0x08037509 80355dc: 0803755d .word 0x0803755d 80355e0: 0803755d .word 0x0803755d 80355e4: 0803755d .word 0x0803755d 80355e8: 08053b73 .word 0x08053b73 80355ec: 0803755d .word 0x0803755d 80355f0: 0803755d .word 0x0803755d 80355f4: 0803755d .word 0x0803755d 80355f8: 0803755d .word 0x0803755d 80355fc: 0803755d .word 0x0803755d 8035600: 0803c4ed .word 0x0803c4ed 8035604: 08053b73 .word 0x08053b73 8035608: 08053b73 .word 0x08053b73 803560c: 08053b73 .word 0x08053b73 8035610: 08053b73 .word 0x08053b73 8035614: 08053b73 .word 0x08053b73 8035618: 08053b73 .word 0x08053b73 803561c: 08053b73 .word 0x08053b73 8035620: 08053b73 .word 0x08053b73 8035624: 08053b73 .word 0x08053b73 8035628: 08053b73 .word 0x08053b73 803562c: 08053b73 .word 0x08053b73 8035630: 08053b73 .word 0x08053b73 8035634: 08053b73 .word 0x08053b73 8035638: 08053b73 .word 0x08053b73 803563c: 08053b73 .word 0x08053b73 8035640: 08053b73 .word 0x08053b73 8035644: 08036ca3 .word 0x08036ca3 8035648: 08036cad .word 0x08036cad 803564c: 08036cb7 .word 0x08036cb7 { case PARAM_DIAGN: focused = false; 8035650: 4b2d ldr r3, [pc, #180] ; (8035708 ) 8035652: 2200 movs r2, #0 8035654: 701a strb r2, [r3, #0] if(menupos == DiagUs) 8035656: 4b2d ldr r3, [pc, #180] ; (803570c ) 8035658: 781b ldrb r3, [r3, #0] 803565a: b2db uxtb r3, r3 803565c: 2b00 cmp r3, #0 803565e: d104 bne.n 803566a menupos = DiagSaveToFile; 8035660: 4b2a ldr r3, [pc, #168] ; (803570c ) 8035662: 2204 movs r2, #4 8035664: 701a strb r2, [r3, #0] pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 8035666: f006 bf53 b.w 803c510 if(menupos == DiagSaveToFile) 803566a: 4b28 ldr r3, [pc, #160] ; (803570c ) 803566c: 781b ldrb r3, [r3, #0] 803566e: b2db uxtb r3, r3 8035670: 2b04 cmp r3, #4 8035672: d110 bne.n 8035696 if(pardata.OPTIONS & 0x4) 8035674: 4b26 ldr r3, [pc, #152] ; (8035710 ) 8035676: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803567a: f003 0304 and.w r3, r3, #4 803567e: 2b00 cmp r3, #0 8035680: d004 beq.n 803568c menupos = DiagAutoKu; 8035682: 4b22 ldr r3, [pc, #136] ; (803570c ) 8035684: 2202 movs r2, #2 8035686: 701a strb r2, [r3, #0] break; 8035688: f006 bf42 b.w 803c510 else menupos = DiagMax_ALL; 803568c: 4b1f ldr r3, [pc, #124] ; (803570c ) 803568e: 2203 movs r2, #3 8035690: 701a strb r2, [r3, #0] break; 8035692: f006 bf3d b.w 803c510 if(menupos == DiagMax_ALL) 8035696: 4b1d ldr r3, [pc, #116] ; (803570c ) 8035698: 781b ldrb r3, [r3, #0] 803569a: b2db uxtb r3, r3 803569c: 2b03 cmp r3, #3 803569e: d104 bne.n 80356aa menupos = DiagAutoKu; 80356a0: 4b1a ldr r3, [pc, #104] ; (803570c ) 80356a2: 2202 movs r2, #2 80356a4: 701a strb r2, [r3, #0] break; 80356a6: f006 bf33 b.w 803c510 if(menupos == DiagAutoKu) 80356aa: 4b18 ldr r3, [pc, #96] ; (803570c ) 80356ac: 781b ldrb r3, [r3, #0] 80356ae: b2db uxtb r3, r3 80356b0: 2b02 cmp r3, #2 80356b2: d104 bne.n 80356be menupos = DiagAverage; 80356b4: 4b15 ldr r3, [pc, #84] ; (803570c ) 80356b6: 2201 movs r2, #1 80356b8: 701a strb r2, [r3, #0] break; 80356ba: f006 bf29 b.w 803c510 if(menupos == DiagAverage) 80356be: 4b13 ldr r3, [pc, #76] ; (803570c ) 80356c0: 781b ldrb r3, [r3, #0] 80356c2: b2db uxtb r3, r3 80356c4: 2b01 cmp r3, #1 80356c6: d125 bne.n 8035714 menupos = DiagUs; 80356c8: 4b10 ldr r3, [pc, #64] ; (803570c ) 80356ca: 2200 movs r2, #0 80356cc: 701a strb r2, [r3, #0] break; 80356ce: f006 bf1f b.w 803c510 80356d2: bf00 nop 80356d4: 20020fc4 .word 0x20020fc4 80356d8: 200209cc .word 0x200209cc 80356dc: 200209d0 .word 0x200209d0 80356e0: 20020df2 .word 0x20020df2 80356e4: 200216d4 .word 0x200216d4 80356e8: 20020dec .word 0x20020dec 80356ec: 20020df5 .word 0x20020df5 80356f0: 20020df4 .word 0x20020df4 80356f4: 20020df6 .word 0x20020df6 80356f8: 20020de8 .word 0x20020de8 80356fc: 20020fbd .word 0x20020fbd 8035700: 20021b6a .word 0x20021b6a 8035704: 20021b6c .word 0x20021b6c 8035708: 20020fc8 .word 0x20020fc8 803570c: 20020070 .word 0x20020070 8035710: 20023ea8 .word 0x20023ea8 if((menupos >= DiagMax_IDT) && (menupos <= DiagMax_IKD)) 8035714: 4bbe ldr r3, [pc, #760] ; (8035a10 ) 8035716: 781b ldrb r3, [r3, #0] 8035718: b2db uxtb r3, r3 803571a: 2b04 cmp r3, #4 803571c: f246 86f8 bls.w 803c510 8035720: 4bbb ldr r3, [pc, #748] ; (8035a10 ) 8035722: 781b ldrb r3, [r3, #0] 8035724: b2db uxtb r3, r3 8035726: 2b0a cmp r3, #10 8035728: f206 86f2 bhi.w 803c510 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803572c: 4bb9 ldr r3, [pc, #740] ; (8035a14 ) 803572e: edd3 7a06 vldr s15, [r3, #24] 8035732: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8035736: ee67 7a87 vmul.f32 s15, s15, s14 803573a: eefc 7ae7 vcvt.u32.f32 s15, s15 803573e: ee17 3a90 vmov r3, s15 8035742: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8035746: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803574a: 095b lsrs r3, r3, #5 803574c: 4ab2 ldr r2, [pc, #712] ; (8035a18 ) 803574e: fba2 2303 umull r2, r3, r2, r3 8035752: 09db lsrs r3, r3, #7 8035754: b2db uxtb r3, r3 8035756: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803575a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803575e: 0953 lsrs r3, r2, #5 8035760: 49ad ldr r1, [pc, #692] ; (8035a18 ) 8035762: fba1 1303 umull r1, r3, r1, r3 8035766: 09db lsrs r3, r3, #7 8035768: 49ac ldr r1, [pc, #688] ; (8035a1c ) 803576a: fb01 f303 mul.w r3, r1, r3 803576e: 1ad3 subs r3, r2, r3 8035770: 4aab ldr r2, [pc, #684] ; (8035a20 ) 8035772: fba2 2303 umull r2, r3, r2, r3 8035776: 0b5b lsrs r3, r3, #13 8035778: b2db uxtb r3, r3 803577a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803577e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035782: 0953 lsrs r3, r2, #5 8035784: 49a4 ldr r1, [pc, #656] ; (8035a18 ) 8035786: fba1 1303 umull r1, r3, r1, r3 803578a: 09db lsrs r3, r3, #7 803578c: 49a3 ldr r1, [pc, #652] ; (8035a1c ) 803578e: fb01 f303 mul.w r3, r1, r3 8035792: 1ad3 subs r3, r2, r3 8035794: 4aa2 ldr r2, [pc, #648] ; (8035a20 ) 8035796: fba2 1203 umull r1, r2, r2, r3 803579a: 0b52 lsrs r2, r2, #13 803579c: f242 7110 movw r1, #10000 ; 0x2710 80357a0: fb01 f202 mul.w r2, r1, r2 80357a4: 1a9a subs r2, r3, r2 80357a6: 4b9f ldr r3, [pc, #636] ; (8035a24 ) 80357a8: fba3 2302 umull r2, r3, r3, r2 80357ac: 099b lsrs r3, r3, #6 80357ae: b2db uxtb r3, r3 80357b0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80357b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80357b8: 095a lsrs r2, r3, #5 80357ba: 4997 ldr r1, [pc, #604] ; (8035a18 ) 80357bc: fba1 1202 umull r1, r2, r1, r2 80357c0: 09d2 lsrs r2, r2, #7 80357c2: 4996 ldr r1, [pc, #600] ; (8035a1c ) 80357c4: fb01 f202 mul.w r2, r1, r2 80357c8: 1a9a subs r2, r3, r2 80357ca: 4b95 ldr r3, [pc, #596] ; (8035a20 ) 80357cc: fba3 1302 umull r1, r3, r3, r2 80357d0: 0b5b lsrs r3, r3, #13 80357d2: f242 7110 movw r1, #10000 ; 0x2710 80357d6: fb01 f303 mul.w r3, r1, r3 80357da: 1ad3 subs r3, r2, r3 80357dc: 4a91 ldr r2, [pc, #580] ; (8035a24 ) 80357de: fba2 1203 umull r1, r2, r2, r3 80357e2: 0992 lsrs r2, r2, #6 80357e4: f44f 717a mov.w r1, #1000 ; 0x3e8 80357e8: fb01 f202 mul.w r2, r1, r2 80357ec: 1a9a subs r2, r3, r2 80357ee: 4b8e ldr r3, [pc, #568] ; (8035a28 ) 80357f0: fba3 2302 umull r2, r3, r3, r2 80357f4: 095b lsrs r3, r3, #5 80357f6: b2db uxtb r3, r3 80357f8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80357fc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035800: 0953 lsrs r3, r2, #5 8035802: 4985 ldr r1, [pc, #532] ; (8035a18 ) 8035804: fba1 1303 umull r1, r3, r1, r3 8035808: 09db lsrs r3, r3, #7 803580a: 4984 ldr r1, [pc, #528] ; (8035a1c ) 803580c: fb01 f303 mul.w r3, r1, r3 8035810: 1ad3 subs r3, r2, r3 8035812: 4a83 ldr r2, [pc, #524] ; (8035a20 ) 8035814: fba2 1203 umull r1, r2, r2, r3 8035818: 0b52 lsrs r2, r2, #13 803581a: f242 7110 movw r1, #10000 ; 0x2710 803581e: fb01 f202 mul.w r2, r1, r2 8035822: 1a9a subs r2, r3, r2 8035824: 4b7f ldr r3, [pc, #508] ; (8035a24 ) 8035826: fba3 1302 umull r1, r3, r3, r2 803582a: 099b lsrs r3, r3, #6 803582c: f44f 717a mov.w r1, #1000 ; 0x3e8 8035830: fb01 f303 mul.w r3, r1, r3 8035834: 1ad3 subs r3, r2, r3 8035836: 4a7c ldr r2, [pc, #496] ; (8035a28 ) 8035838: fba2 1203 umull r1, r2, r2, r3 803583c: 0952 lsrs r2, r2, #5 803583e: 2164 movs r1, #100 ; 0x64 8035840: fb01 f202 mul.w r2, r1, r2 8035844: 1a9a subs r2, r3, r2 8035846: 4b79 ldr r3, [pc, #484] ; (8035a2c ) 8035848: fba3 2302 umull r2, r3, r3, r2 803584c: 08db lsrs r3, r3, #3 803584e: b2db uxtb r3, r3 8035850: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8035854: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035858: 0953 lsrs r3, r2, #5 803585a: 496f ldr r1, [pc, #444] ; (8035a18 ) 803585c: fba1 1303 umull r1, r3, r1, r3 8035860: 09db lsrs r3, r3, #7 8035862: 496e ldr r1, [pc, #440] ; (8035a1c ) 8035864: fb01 f303 mul.w r3, r1, r3 8035868: 1ad3 subs r3, r2, r3 803586a: 4a6d ldr r2, [pc, #436] ; (8035a20 ) 803586c: fba2 1203 umull r1, r2, r2, r3 8035870: 0b52 lsrs r2, r2, #13 8035872: f242 7110 movw r1, #10000 ; 0x2710 8035876: fb01 f202 mul.w r2, r1, r2 803587a: 1a9a subs r2, r3, r2 803587c: 4b69 ldr r3, [pc, #420] ; (8035a24 ) 803587e: fba3 1302 umull r1, r3, r3, r2 8035882: 099b lsrs r3, r3, #6 8035884: f44f 717a mov.w r1, #1000 ; 0x3e8 8035888: fb01 f303 mul.w r3, r1, r3 803588c: 1ad3 subs r3, r2, r3 803588e: 4a66 ldr r2, [pc, #408] ; (8035a28 ) 8035890: fba2 1203 umull r1, r2, r2, r3 8035894: 0952 lsrs r2, r2, #5 8035896: 2164 movs r1, #100 ; 0x64 8035898: fb01 f202 mul.w r2, r1, r2 803589c: 1a9a subs r2, r3, r2 803589e: 4b63 ldr r3, [pc, #396] ; (8035a2c ) 80358a0: fba3 1302 umull r1, r3, r3, r2 80358a4: 08d9 lsrs r1, r3, #3 80358a6: 460b mov r3, r1 80358a8: 009b lsls r3, r3, #2 80358aa: 440b add r3, r1 80358ac: 005b lsls r3, r3, #1 80358ae: 1ad1 subs r1, r2, r3 80358b0: b2cb uxtb r3, r1 80358b2: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80358b6: 4b56 ldr r3, [pc, #344] ; (8035a10 ) 80358b8: 781b ldrb r3, [r3, #0] 80358ba: b2db uxtb r3, r3 80358bc: 3b05 subs r3, #5 80358be: 2b05 cmp r3, #5 80358c0: d836 bhi.n 8035930 80358c2: a201 add r2, pc, #4 ; (adr r2, 80358c8 ) 80358c4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80358c8: 080358e1 .word 0x080358e1 80358cc: 080358ef .word 0x080358ef 80358d0: 080358ff .word 0x080358ff 80358d4: 0803590d .word 0x0803590d 80358d8: 08035919 .word 0x08035919 80358dc: 08035925 .word 0x08035925 k += 100000; 80358e0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80358e4: 4b4d ldr r3, [pc, #308] ; (8035a1c ) 80358e6: 4413 add r3, r2 80358e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80358ec: e020 b.n 8035930 k += 10000; 80358ee: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80358f2: f242 7310 movw r3, #10000 ; 0x2710 80358f6: 4413 add r3, r2 80358f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80358fc: e018 b.n 8035930 k += 1000; 80358fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035902: f503 737a add.w r3, r3, #1000 ; 0x3e8 8035906: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803590a: e011 b.n 8035930 k += 100; 803590c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035910: 3364 adds r3, #100 ; 0x64 8035912: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035916: e00b b.n 8035930 k += 10; 8035918: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803591c: 330a adds r3, #10 803591e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035922: e005 b.n 8035930 k++; 8035924: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035928: 3301 adds r3, #1 803592a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803592e: bf00 nop if(k > 999999) k = 999999; 8035930: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035934: 4a3e ldr r2, [pc, #248] ; (8035a30 ) 8035936: 4293 cmp r3, r2 8035938: d902 bls.n 8035940 803593a: 4b3d ldr r3, [pc, #244] ; (8035a30 ) 803593c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8035940: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035944: 2b00 cmp r3, #0 8035946: d102 bne.n 803594e 8035948: 2301 movs r3, #1 803594a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803594e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035952: ee07 3a90 vmov s15, r3 8035956: eef8 7a67 vcvt.f32.u32 s15, s15 803595a: 4b2e ldr r3, [pc, #184] ; (8035a14 ) 803595c: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8035960: 4b2c ldr r3, [pc, #176] ; (8035a14 ) 8035962: edd3 7a06 vldr s15, [r3, #24] 8035966: ed9f 7a33 vldr s14, [pc, #204] ; 8035a34 803596a: ee67 7a87 vmul.f32 s15, s15, s14 803596e: 4b29 ldr r3, [pc, #164] ; (8035a14 ) 8035970: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8035974: 4b27 ldr r3, [pc, #156] ; (8035a14 ) 8035976: edd3 7a06 vldr s15, [r3, #24] 803597a: ed9f 7a2f vldr s14, [pc, #188] ; 8035a38 803597e: ee77 7a87 vadd.f32 s15, s15, s14 8035982: 4b24 ldr r3, [pc, #144] ; (8035a14 ) 8035984: edc3 7a06 vstr s15, [r3, #24] break; 8035988: f006 bdc2 b.w 803c510 case PARAM_DIAGN_1: if(menupos > Diag1) menupos--; 803598c: 4b20 ldr r3, [pc, #128] ; (8035a10 ) 803598e: 781b ldrb r3, [r3, #0] 8035990: b2db uxtb r3, r3 8035992: 2b00 cmp r3, #0 8035994: d008 beq.n 80359a8 8035996: 4b1e ldr r3, [pc, #120] ; (8035a10 ) 8035998: 781b ldrb r3, [r3, #0] 803599a: b2db uxtb r3, r3 803599c: 3b01 subs r3, #1 803599e: b2da uxtb r2, r3 80359a0: 4b1b ldr r3, [pc, #108] ; (8035a10 ) 80359a2: 701a strb r2, [r3, #0] else menupos = Diag8; break; 80359a4: f006 be03 b.w 803c5ae else menupos = Diag8; 80359a8: 4b19 ldr r3, [pc, #100] ; (8035a10 ) 80359aa: 2207 movs r2, #7 80359ac: 701a strb r2, [r3, #0] break; 80359ae: f006 bdfe b.w 803c5ae case PARAM_DIAGN_2: focused = false; 80359b2: 4b22 ldr r3, [pc, #136] ; (8035a3c ) 80359b4: 2200 movs r2, #0 80359b6: 701a strb r2, [r3, #0] if((menupos >= DiagUs1) && (menupos <= DiagOp1)) 80359b8: 4b15 ldr r3, [pc, #84] ; (8035a10 ) 80359ba: 781b ldrb r3, [r3, #0] 80359bc: b2db uxtb r3, r3 80359be: 2b00 cmp r3, #0 80359c0: d042 beq.n 8035a48 80359c2: 4b13 ldr r3, [pc, #76] ; (8035a10 ) 80359c4: 781b ldrb r3, [r3, #0] 80359c6: b2db uxtb r3, r3 80359c8: 2b02 cmp r3, #2 80359ca: d83d bhi.n 8035a48 { CURR_USL = Us1; 80359cc: 4b1c ldr r3, [pc, #112] ; (8035a40 ) 80359ce: 2200 movs r2, #0 80359d0: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 80359d2: 4b1c ldr r3, [pc, #112] ; (8035a44 ) 80359d4: 781b ldrb r3, [r3, #0] 80359d6: b2db uxtb r3, r3 80359d8: 4618 mov r0, r3 80359da: 4b19 ldr r3, [pc, #100] ; (8035a40 ) 80359dc: 781b ldrb r3, [r3, #0] 80359de: b2db uxtb r3, r3 80359e0: 4619 mov r1, r3 80359e2: 4a0c ldr r2, [pc, #48] ; (8035a14 ) 80359e4: 0083 lsls r3, r0, #2 80359e6: 4413 add r3, r2 80359e8: 440b add r3, r1 80359ea: f503 730f add.w r3, r3, #572 ; 0x23c 80359ee: 781b ldrb r3, [r3, #0] 80359f0: b2db uxtb r3, r3 80359f2: f003 0307 and.w r3, r3, #7 80359f6: 2b00 cmp r3, #0 80359f8: d004 beq.n 8035a04 menupos = Diag_A; 80359fa: 4b05 ldr r3, [pc, #20] ; (8035a10 ) 80359fc: 220c movs r2, #12 80359fe: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 8035a00: f001 b93a b.w 8036c78 else menupos = DiagName; 8035a04: 4b02 ldr r3, [pc, #8] ; (8035a10 ) 8035a06: 2206 movs r2, #6 8035a08: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 8035a0a: f001 b935 b.w 8036c78 8035a0e: bf00 nop 8035a10: 20020070 .word 0x20020070 8035a14: 20023ea8 .word 0x20023ea8 8035a18: 0a7c5ac5 .word 0x0a7c5ac5 8035a1c: 000186a0 .word 0x000186a0 8035a20: d1b71759 .word 0xd1b71759 8035a24: 10624dd3 .word 0x10624dd3 8035a28: 51eb851f .word 0x51eb851f 8035a2c: cccccccd .word 0xcccccccd 8035a30: 000f423f .word 0x000f423f 8035a34: 3dcccccd .word 0x3dcccccd 8035a38: 3d4ccccd .word 0x3d4ccccd 8035a3c: 20020fc8 .word 0x20020fc8 8035a40: 20021057 .word 0x20021057 8035a44: 20021055 .word 0x20021055 } else if((menupos >= DiagUs2) && (menupos <= DiagOp2)) 8035a48: 4b5d ldr r3, [pc, #372] ; (8035bc0 ) 8035a4a: 781b ldrb r3, [r3, #0] 8035a4c: b2db uxtb r3, r3 8035a4e: 2b02 cmp r3, #2 8035a50: d925 bls.n 8035a9e 8035a52: 4b5b ldr r3, [pc, #364] ; (8035bc0 ) 8035a54: 781b ldrb r3, [r3, #0] 8035a56: b2db uxtb r3, r3 8035a58: 2b04 cmp r3, #4 8035a5a: d820 bhi.n 8035a9e { CURR_USL = Us2; 8035a5c: 4b59 ldr r3, [pc, #356] ; (8035bc4 ) 8035a5e: 2201 movs r2, #1 8035a60: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 8035a62: 4b59 ldr r3, [pc, #356] ; (8035bc8 ) 8035a64: 781b ldrb r3, [r3, #0] 8035a66: b2db uxtb r3, r3 8035a68: 4618 mov r0, r3 8035a6a: 4b56 ldr r3, [pc, #344] ; (8035bc4 ) 8035a6c: 781b ldrb r3, [r3, #0] 8035a6e: b2db uxtb r3, r3 8035a70: 4619 mov r1, r3 8035a72: 4a56 ldr r2, [pc, #344] ; (8035bcc ) 8035a74: 0083 lsls r3, r0, #2 8035a76: 4413 add r3, r2 8035a78: 440b add r3, r1 8035a7a: f503 730f add.w r3, r3, #572 ; 0x23c 8035a7e: 781b ldrb r3, [r3, #0] 8035a80: b2db uxtb r3, r3 8035a82: f003 0307 and.w r3, r3, #7 8035a86: 2b00 cmp r3, #0 8035a88: d004 beq.n 8035a94 menupos = Diag_A; 8035a8a: 4b4d ldr r3, [pc, #308] ; (8035bc0 ) 8035a8c: 220c movs r2, #12 8035a8e: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 8035a90: f001 b8f2 b.w 8036c78 else menupos = DiagName; 8035a94: 4b4a ldr r3, [pc, #296] ; (8035bc0 ) 8035a96: 2206 movs r2, #6 8035a98: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 8035a9a: f001 b8ed b.w 8036c78 } else if(menupos == DiagUs3) 8035a9e: 4b48 ldr r3, [pc, #288] ; (8035bc0 ) 8035aa0: 781b ldrb r3, [r3, #0] 8035aa2: b2db uxtb r3, r3 8035aa4: 2b05 cmp r3, #5 8035aa6: d120 bne.n 8035aea { CURR_USL = Us3; 8035aa8: 4b46 ldr r3, [pc, #280] ; (8035bc4 ) 8035aaa: 2202 movs r2, #2 8035aac: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 8035aae: 4b46 ldr r3, [pc, #280] ; (8035bc8 ) 8035ab0: 781b ldrb r3, [r3, #0] 8035ab2: b2db uxtb r3, r3 8035ab4: 4618 mov r0, r3 8035ab6: 4b43 ldr r3, [pc, #268] ; (8035bc4 ) 8035ab8: 781b ldrb r3, [r3, #0] 8035aba: b2db uxtb r3, r3 8035abc: 4619 mov r1, r3 8035abe: 4a43 ldr r2, [pc, #268] ; (8035bcc ) 8035ac0: 0083 lsls r3, r0, #2 8035ac2: 4413 add r3, r2 8035ac4: 440b add r3, r1 8035ac6: f503 730f add.w r3, r3, #572 ; 0x23c 8035aca: 781b ldrb r3, [r3, #0] 8035acc: b2db uxtb r3, r3 8035ace: f003 0307 and.w r3, r3, #7 8035ad2: 2b00 cmp r3, #0 8035ad4: d004 beq.n 8035ae0 menupos = Diag_A; 8035ad6: 4b3a ldr r3, [pc, #232] ; (8035bc0 ) 8035ad8: 220c movs r2, #12 8035ada: 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; 8035adc: f006 bd1b b.w 803c516 else menupos = DiagName; 8035ae0: 4b37 ldr r3, [pc, #220] ; (8035bc0 ) 8035ae2: 2206 movs r2, #6 8035ae4: 701a strb r2, [r3, #0] break; 8035ae6: f006 bd16 b.w 803c516 if(menupos == Diag_A) 8035aea: 4b35 ldr r3, [pc, #212] ; (8035bc0 ) 8035aec: 781b ldrb r3, [r3, #0] 8035aee: b2db uxtb r3, r3 8035af0: 2b0c cmp r3, #12 8035af2: d104 bne.n 8035afe menupos = Diag_W; 8035af4: 4b32 ldr r3, [pc, #200] ; (8035bc0 ) 8035af6: 220b movs r2, #11 8035af8: 701a strb r2, [r3, #0] break; 8035afa: f006 bd0c b.w 803c516 if(menupos == Diag_W) 8035afe: 4b30 ldr r3, [pc, #192] ; (8035bc0 ) 8035b00: 781b ldrb r3, [r3, #0] 8035b02: b2db uxtb r3, r3 8035b04: 2b0b cmp r3, #11 8035b06: d104 bne.n 8035b12 menupos = DiagLP; 8035b08: 4b2d ldr r3, [pc, #180] ; (8035bc0 ) 8035b0a: 220a movs r2, #10 8035b0c: 701a strb r2, [r3, #0] break; 8035b0e: f006 bd02 b.w 803c516 if(menupos == DiagLP) 8035b12: 4b2b ldr r3, [pc, #172] ; (8035bc0 ) 8035b14: 781b ldrb r3, [r3, #0] 8035b16: b2db uxtb r3, r3 8035b18: 2b0a cmp r3, #10 8035b1a: d104 bne.n 8035b26 menupos = DiagHP; 8035b1c: 4b28 ldr r3, [pc, #160] ; (8035bc0 ) 8035b1e: 2209 movs r2, #9 8035b20: 701a strb r2, [r3, #0] break; 8035b22: f006 bcf8 b.w 803c516 if(menupos == DiagHP) 8035b26: 4b26 ldr r3, [pc, #152] ; (8035bc0 ) 8035b28: 781b ldrb r3, [r3, #0] 8035b2a: b2db uxtb r3, r3 8035b2c: 2b09 cmp r3, #9 8035b2e: d104 bne.n 8035b3a menupos = DiagValue; 8035b30: 4b23 ldr r3, [pc, #140] ; (8035bc0 ) 8035b32: 2208 movs r2, #8 8035b34: 701a strb r2, [r3, #0] break; 8035b36: f006 bcee b.w 803c516 if(menupos == DiagValue) 8035b3a: 4b21 ldr r3, [pc, #132] ; (8035bc0 ) 8035b3c: 781b ldrb r3, [r3, #0] 8035b3e: b2db uxtb r3, r3 8035b40: 2b08 cmp r3, #8 8035b42: d104 bne.n 8035b4e menupos = DiagAVS; 8035b44: 4b1e ldr r3, [pc, #120] ; (8035bc0 ) 8035b46: 2207 movs r2, #7 8035b48: 701a strb r2, [r3, #0] break; 8035b4a: f006 bce4 b.w 803c516 if(menupos == DiagAVS) 8035b4e: 4b1c ldr r3, [pc, #112] ; (8035bc0 ) 8035b50: 781b ldrb r3, [r3, #0] 8035b52: b2db uxtb r3, r3 8035b54: 2b07 cmp r3, #7 8035b56: d104 bne.n 8035b62 menupos = DiagName; 8035b58: 4b19 ldr r3, [pc, #100] ; (8035bc0 ) 8035b5a: 2206 movs r2, #6 8035b5c: 701a strb r2, [r3, #0] break; 8035b5e: f006 bcda b.w 803c516 if(menupos == DiagName) 8035b62: 4b17 ldr r3, [pc, #92] ; (8035bc0 ) 8035b64: 781b ldrb r3, [r3, #0] 8035b66: b2db uxtb r3, r3 8035b68: 2b06 cmp r3, #6 8035b6a: d104 bne.n 8035b76 menupos = Ok; 8035b6c: 4b14 ldr r3, [pc, #80] ; (8035bc0 ) 8035b6e: 2200 movs r2, #0 8035b70: 701a strb r2, [r3, #0] break; 8035b72: f006 bcd0 b.w 803c516 if(menupos == Ok) 8035b76: 4b12 ldr r3, [pc, #72] ; (8035bc0 ) 8035b78: 781b ldrb r3, [r3, #0] 8035b7a: b2db uxtb r3, r3 8035b7c: 2b00 cmp r3, #0 8035b7e: d127 bne.n 8035bd0 if(CURR_USL == Us1) 8035b80: 4b10 ldr r3, [pc, #64] ; (8035bc4 ) 8035b82: 781b ldrb r3, [r3, #0] 8035b84: b2db uxtb r3, r3 8035b86: 2b00 cmp r3, #0 8035b88: d104 bne.n 8035b94 menupos = DiagUs1; 8035b8a: 4b0d ldr r3, [pc, #52] ; (8035bc0 ) 8035b8c: 2201 movs r2, #1 8035b8e: 701a strb r2, [r3, #0] break; 8035b90: f006 bcc1 b.w 803c516 if(CURR_USL == Us2) 8035b94: 4b0b ldr r3, [pc, #44] ; (8035bc4 ) 8035b96: 781b ldrb r3, [r3, #0] 8035b98: b2db uxtb r3, r3 8035b9a: 2b01 cmp r3, #1 8035b9c: d104 bne.n 8035ba8 menupos = DiagUs2; 8035b9e: 4b08 ldr r3, [pc, #32] ; (8035bc0 ) 8035ba0: 2203 movs r2, #3 8035ba2: 701a strb r2, [r3, #0] break; 8035ba4: f006 bcb7 b.w 803c516 if(CURR_USL == Us3) 8035ba8: 4b06 ldr r3, [pc, #24] ; (8035bc4 ) 8035baa: 781b ldrb r3, [r3, #0] 8035bac: b2db uxtb r3, r3 8035bae: 2b02 cmp r3, #2 8035bb0: f046 84b1 bne.w 803c516 menupos = DiagUs3; 8035bb4: 4b02 ldr r3, [pc, #8] ; (8035bc0 ) 8035bb6: 2205 movs r2, #5 8035bb8: 701a strb r2, [r3, #0] break; 8035bba: f006 bcac b.w 803c516 8035bbe: bf00 nop 8035bc0: 20020070 .word 0x20020070 8035bc4: 20021057 .word 0x20021057 8035bc8: 20021055 .word 0x20021055 8035bcc: 20023ea8 .word 0x20023ea8 if((menupos >= DiagHP_IDT) && (menupos <= DiagHP_IKD)) 8035bd0: 4bcf ldr r3, [pc, #828] ; (8035f10 ) 8035bd2: 781b ldrb r3, [r3, #0] 8035bd4: b2db uxtb r3, r3 8035bd6: 2b0c cmp r3, #12 8035bd8: f240 82c6 bls.w 8036168 8035bdc: 4bcc ldr r3, [pc, #816] ; (8035f10 ) 8035bde: 781b ldrb r3, [r3, #0] 8035be0: b2db uxtb r3, r3 8035be2: 2b12 cmp r3, #18 8035be4: f200 82c0 bhi.w 8036168 k = (uint32_t) (pardata.DIAGN_HP[CURR_POINT][CURR_USL] * 10.0f); 8035be8: 4bca ldr r3, [pc, #808] ; (8035f14 ) 8035bea: 781b ldrb r3, [r3, #0] 8035bec: b2db uxtb r3, r3 8035bee: 4618 mov r0, r3 8035bf0: 4bc9 ldr r3, [pc, #804] ; (8035f18 ) 8035bf2: 781b ldrb r3, [r3, #0] 8035bf4: b2db uxtb r3, r3 8035bf6: 4619 mov r1, r3 8035bf8: 4ac8 ldr r2, [pc, #800] ; (8035f1c ) 8035bfa: 0083 lsls r3, r0, #2 8035bfc: 440b add r3, r1 8035bfe: 3396 adds r3, #150 ; 0x96 8035c00: 009b lsls r3, r3, #2 8035c02: 4413 add r3, r2 8035c04: 3304 adds r3, #4 8035c06: edd3 7a00 vldr s15, [r3] 8035c0a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8035c0e: ee67 7a87 vmul.f32 s15, s15, s14 8035c12: eefc 7ae7 vcvt.u32.f32 s15, s15 8035c16: ee17 3a90 vmov r3, s15 8035c1a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8035c1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035c22: 095b lsrs r3, r3, #5 8035c24: 4abe ldr r2, [pc, #760] ; (8035f20 ) 8035c26: fba2 2303 umull r2, r3, r2, r3 8035c2a: 09db lsrs r3, r3, #7 8035c2c: b2db uxtb r3, r3 8035c2e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8035c32: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035c36: 0953 lsrs r3, r2, #5 8035c38: 49b9 ldr r1, [pc, #740] ; (8035f20 ) 8035c3a: fba1 1303 umull r1, r3, r1, r3 8035c3e: 09db lsrs r3, r3, #7 8035c40: 49b8 ldr r1, [pc, #736] ; (8035f24 ) 8035c42: fb01 f303 mul.w r3, r1, r3 8035c46: 1ad3 subs r3, r2, r3 8035c48: 4ab7 ldr r2, [pc, #732] ; (8035f28 ) 8035c4a: fba2 2303 umull r2, r3, r2, r3 8035c4e: 0b5b lsrs r3, r3, #13 8035c50: b2db uxtb r3, r3 8035c52: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8035c56: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035c5a: 0953 lsrs r3, r2, #5 8035c5c: 49b0 ldr r1, [pc, #704] ; (8035f20 ) 8035c5e: fba1 1303 umull r1, r3, r1, r3 8035c62: 09db lsrs r3, r3, #7 8035c64: 49af ldr r1, [pc, #700] ; (8035f24 ) 8035c66: fb01 f303 mul.w r3, r1, r3 8035c6a: 1ad3 subs r3, r2, r3 8035c6c: 4aae ldr r2, [pc, #696] ; (8035f28 ) 8035c6e: fba2 1203 umull r1, r2, r2, r3 8035c72: 0b52 lsrs r2, r2, #13 8035c74: f242 7110 movw r1, #10000 ; 0x2710 8035c78: fb01 f202 mul.w r2, r1, r2 8035c7c: 1a9a subs r2, r3, r2 8035c7e: 4bab ldr r3, [pc, #684] ; (8035f2c ) 8035c80: fba3 2302 umull r2, r3, r3, r2 8035c84: 099b lsrs r3, r3, #6 8035c86: b2db uxtb r3, r3 8035c88: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8035c8c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035c90: 095a lsrs r2, r3, #5 8035c92: 49a3 ldr r1, [pc, #652] ; (8035f20 ) 8035c94: fba1 1202 umull r1, r2, r1, r2 8035c98: 09d2 lsrs r2, r2, #7 8035c9a: 49a2 ldr r1, [pc, #648] ; (8035f24 ) 8035c9c: fb01 f202 mul.w r2, r1, r2 8035ca0: 1a9a subs r2, r3, r2 8035ca2: 4ba1 ldr r3, [pc, #644] ; (8035f28 ) 8035ca4: fba3 1302 umull r1, r3, r3, r2 8035ca8: 0b5b lsrs r3, r3, #13 8035caa: f242 7110 movw r1, #10000 ; 0x2710 8035cae: fb01 f303 mul.w r3, r1, r3 8035cb2: 1ad3 subs r3, r2, r3 8035cb4: 4a9d ldr r2, [pc, #628] ; (8035f2c ) 8035cb6: fba2 1203 umull r1, r2, r2, r3 8035cba: 0992 lsrs r2, r2, #6 8035cbc: f44f 717a mov.w r1, #1000 ; 0x3e8 8035cc0: fb01 f202 mul.w r2, r1, r2 8035cc4: 1a9a subs r2, r3, r2 8035cc6: 4b9a ldr r3, [pc, #616] ; (8035f30 ) 8035cc8: fba3 2302 umull r2, r3, r3, r2 8035ccc: 095b lsrs r3, r3, #5 8035cce: b2db uxtb r3, r3 8035cd0: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8035cd4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035cd8: 0953 lsrs r3, r2, #5 8035cda: 4991 ldr r1, [pc, #580] ; (8035f20 ) 8035cdc: fba1 1303 umull r1, r3, r1, r3 8035ce0: 09db lsrs r3, r3, #7 8035ce2: 4990 ldr r1, [pc, #576] ; (8035f24 ) 8035ce4: fb01 f303 mul.w r3, r1, r3 8035ce8: 1ad3 subs r3, r2, r3 8035cea: 4a8f ldr r2, [pc, #572] ; (8035f28 ) 8035cec: fba2 1203 umull r1, r2, r2, r3 8035cf0: 0b52 lsrs r2, r2, #13 8035cf2: f242 7110 movw r1, #10000 ; 0x2710 8035cf6: fb01 f202 mul.w r2, r1, r2 8035cfa: 1a9a subs r2, r3, r2 8035cfc: 4b8b ldr r3, [pc, #556] ; (8035f2c ) 8035cfe: fba3 1302 umull r1, r3, r3, r2 8035d02: 099b lsrs r3, r3, #6 8035d04: f44f 717a mov.w r1, #1000 ; 0x3e8 8035d08: fb01 f303 mul.w r3, r1, r3 8035d0c: 1ad3 subs r3, r2, r3 8035d0e: 4a88 ldr r2, [pc, #544] ; (8035f30 ) 8035d10: fba2 1203 umull r1, r2, r2, r3 8035d14: 0952 lsrs r2, r2, #5 8035d16: 2164 movs r1, #100 ; 0x64 8035d18: fb01 f202 mul.w r2, r1, r2 8035d1c: 1a9a subs r2, r3, r2 8035d1e: 4b85 ldr r3, [pc, #532] ; (8035f34 ) 8035d20: fba3 2302 umull r2, r3, r3, r2 8035d24: 08db lsrs r3, r3, #3 8035d26: b2db uxtb r3, r3 8035d28: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8035d2c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035d30: 0953 lsrs r3, r2, #5 8035d32: 497b ldr r1, [pc, #492] ; (8035f20 ) 8035d34: fba1 1303 umull r1, r3, r1, r3 8035d38: 09db lsrs r3, r3, #7 8035d3a: 497a ldr r1, [pc, #488] ; (8035f24 ) 8035d3c: fb01 f303 mul.w r3, r1, r3 8035d40: 1ad3 subs r3, r2, r3 8035d42: 4a79 ldr r2, [pc, #484] ; (8035f28 ) 8035d44: fba2 1203 umull r1, r2, r2, r3 8035d48: 0b52 lsrs r2, r2, #13 8035d4a: f242 7110 movw r1, #10000 ; 0x2710 8035d4e: fb01 f202 mul.w r2, r1, r2 8035d52: 1a9a subs r2, r3, r2 8035d54: 4b75 ldr r3, [pc, #468] ; (8035f2c ) 8035d56: fba3 1302 umull r1, r3, r3, r2 8035d5a: 099b lsrs r3, r3, #6 8035d5c: f44f 717a mov.w r1, #1000 ; 0x3e8 8035d60: fb01 f303 mul.w r3, r1, r3 8035d64: 1ad3 subs r3, r2, r3 8035d66: 4a72 ldr r2, [pc, #456] ; (8035f30 ) 8035d68: fba2 1203 umull r1, r2, r2, r3 8035d6c: 0952 lsrs r2, r2, #5 8035d6e: 2164 movs r1, #100 ; 0x64 8035d70: fb01 f202 mul.w r2, r1, r2 8035d74: 1a9a subs r2, r3, r2 8035d76: 4b6f ldr r3, [pc, #444] ; (8035f34 ) 8035d78: fba3 1302 umull r1, r3, r3, r2 8035d7c: 08d9 lsrs r1, r3, #3 8035d7e: 460b mov r3, r1 8035d80: 009b lsls r3, r3, #2 8035d82: 440b add r3, r1 8035d84: 005b lsls r3, r3, #1 8035d86: 1ad1 subs r1, r2, r3 8035d88: b2cb uxtb r3, r1 8035d8a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8035d8e: 4b60 ldr r3, [pc, #384] ; (8035f10 ) 8035d90: 781b ldrb r3, [r3, #0] 8035d92: b2db uxtb r3, r3 8035d94: 3b0d subs r3, #13 8035d96: 2b05 cmp r3, #5 8035d98: d836 bhi.n 8035e08 8035d9a: a201 add r2, pc, #4 ; (adr r2, 8035da0 ) 8035d9c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8035da0: 08035db9 .word 0x08035db9 8035da4: 08035dc7 .word 0x08035dc7 8035da8: 08035dd7 .word 0x08035dd7 8035dac: 08035de5 .word 0x08035de5 8035db0: 08035df1 .word 0x08035df1 8035db4: 08035dfd .word 0x08035dfd k += 100000; 8035db8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035dbc: 4b59 ldr r3, [pc, #356] ; (8035f24 ) 8035dbe: 4413 add r3, r2 8035dc0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035dc4: e020 b.n 8035e08 k += 10000; 8035dc6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035dca: f242 7310 movw r3, #10000 ; 0x2710 8035dce: 4413 add r3, r2 8035dd0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035dd4: e018 b.n 8035e08 k += 1000; 8035dd6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035dda: f503 737a add.w r3, r3, #1000 ; 0x3e8 8035dde: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035de2: e011 b.n 8035e08 k += 100; 8035de4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035de8: 3364 adds r3, #100 ; 0x64 8035dea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035dee: e00b b.n 8035e08 k += 10; 8035df0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035df4: 330a adds r3, #10 8035df6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035dfa: e005 b.n 8035e08 k++; 8035dfc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035e00: 3301 adds r3, #1 8035e02: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035e06: bf00 nop fl = (float32_t) k; 8035e08: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035e0c: ee07 3a90 vmov s15, r3 8035e10: eef8 7a67 vcvt.f32.u32 s15, s15 8035e14: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8035e18: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035e1c: ed9f 7a46 vldr s14, [pc, #280] ; 8035f38 8035e20: ee67 7a87 vmul.f32 s15, s15, s14 8035e24: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8035e28: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035e2c: ed9f 7a43 vldr s14, [pc, #268] ; 8035f3c 8035e30: ee77 7a87 vadd.f32 s15, s15, s14 8035e34: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8035e38: 4b36 ldr r3, [pc, #216] ; (8035f14 ) 8035e3a: 781b ldrb r3, [r3, #0] 8035e3c: b2db uxtb r3, r3 8035e3e: 4618 mov r0, r3 8035e40: 4b35 ldr r3, [pc, #212] ; (8035f18 ) 8035e42: 781b ldrb r3, [r3, #0] 8035e44: b2db uxtb r3, r3 8035e46: 4619 mov r1, r3 8035e48: 4a34 ldr r2, [pc, #208] ; (8035f1c ) 8035e4a: 0083 lsls r3, r0, #2 8035e4c: 4413 add r3, r2 8035e4e: 440b add r3, r1 8035e50: f503 730f add.w r3, r3, #572 ; 0x23c 8035e54: 781b ldrb r3, [r3, #0] 8035e56: b2db uxtb r3, r3 8035e58: f003 0307 and.w r3, r3, #7 8035e5c: 2b01 cmp r3, #1 8035e5e: f040 80c8 bne.w 8035ff2 if(fl < 0.5f) 8035e62: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035e66: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8035e6a: eef4 7ac7 vcmpe.f32 s15, s14 8035e6e: eef1 fa10 vmrs APSR_nzcv, fpscr 8035e72: d513 bpl.n 8035e9c pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 0.5f; 8035e74: 4b27 ldr r3, [pc, #156] ; (8035f14 ) 8035e76: 781b ldrb r3, [r3, #0] 8035e78: b2db uxtb r3, r3 8035e7a: 4618 mov r0, r3 8035e7c: 4b26 ldr r3, [pc, #152] ; (8035f18 ) 8035e7e: 781b ldrb r3, [r3, #0] 8035e80: b2db uxtb r3, r3 8035e82: 4619 mov r1, r3 8035e84: 4a25 ldr r2, [pc, #148] ; (8035f1c ) 8035e86: 0083 lsls r3, r0, #2 8035e88: 440b add r3, r1 8035e8a: 3396 adds r3, #150 ; 0x96 8035e8c: 009b lsls r3, r3, #2 8035e8e: 4413 add r3, r2 8035e90: 3304 adds r3, #4 8035e92: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8035e96: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8035e98: f000 beee b.w 8036c78 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 8035e9c: 4b1d ldr r3, [pc, #116] ; (8035f14 ) 8035e9e: 781b ldrb r3, [r3, #0] 8035ea0: b2db uxtb r3, r3 8035ea2: 4618 mov r0, r3 8035ea4: 4b1c ldr r3, [pc, #112] ; (8035f18 ) 8035ea6: 781b ldrb r3, [r3, #0] 8035ea8: b2db uxtb r3, r3 8035eaa: 4619 mov r1, r3 8035eac: 4a1b ldr r2, [pc, #108] ; (8035f1c ) 8035eae: 0083 lsls r3, r0, #2 8035eb0: 440b add r3, r1 8035eb2: 33b6 adds r3, #182 ; 0xb6 8035eb4: 009b lsls r3, r3, #2 8035eb6: 4413 add r3, r2 8035eb8: 3304 adds r3, #4 8035eba: ed93 7a00 vldr s14, [r3] 8035ebe: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035ec2: eeb4 7ae7 vcmpe.f32 s14, s15 8035ec6: eef1 fa10 vmrs APSR_nzcv, fpscr 8035eca: d539 bpl.n 8035f40 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 8035ecc: 4b11 ldr r3, [pc, #68] ; (8035f14 ) 8035ece: 781b ldrb r3, [r3, #0] 8035ed0: b2db uxtb r3, r3 8035ed2: 461c mov r4, r3 8035ed4: 4b10 ldr r3, [pc, #64] ; (8035f18 ) 8035ed6: 781b ldrb r3, [r3, #0] 8035ed8: b2db uxtb r3, r3 8035eda: 4618 mov r0, r3 8035edc: 4b0d ldr r3, [pc, #52] ; (8035f14 ) 8035ede: 781b ldrb r3, [r3, #0] 8035ee0: b2db uxtb r3, r3 8035ee2: 461d mov r5, r3 8035ee4: 4b0c ldr r3, [pc, #48] ; (8035f18 ) 8035ee6: 781b ldrb r3, [r3, #0] 8035ee8: b2db uxtb r3, r3 8035eea: 4619 mov r1, r3 8035eec: 4a0b ldr r2, [pc, #44] ; (8035f1c ) 8035eee: 00ab lsls r3, r5, #2 8035ef0: 440b add r3, r1 8035ef2: 33b6 adds r3, #182 ; 0xb6 8035ef4: 009b lsls r3, r3, #2 8035ef6: 4413 add r3, r2 8035ef8: 3304 adds r3, #4 8035efa: 681a ldr r2, [r3, #0] 8035efc: 4907 ldr r1, [pc, #28] ; (8035f1c ) 8035efe: 00a3 lsls r3, r4, #2 8035f00: 4403 add r3, r0 8035f02: 3396 adds r3, #150 ; 0x96 8035f04: 009b lsls r3, r3, #2 8035f06: 440b add r3, r1 8035f08: 3304 adds r3, #4 8035f0a: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8035f0c: f000 beb4 b.w 8036c78 8035f10: 20020070 .word 0x20020070 8035f14: 20021055 .word 0x20021055 8035f18: 20021057 .word 0x20021057 8035f1c: 20023ea8 .word 0x20023ea8 8035f20: 0a7c5ac5 .word 0x0a7c5ac5 8035f24: 000186a0 .word 0x000186a0 8035f28: d1b71759 .word 0xd1b71759 8035f2c: 10624dd3 .word 0x10624dd3 8035f30: 51eb851f .word 0x51eb851f 8035f34: cccccccd .word 0xcccccccd 8035f38: 3dcccccd .word 0x3dcccccd 8035f3c: 38d1b717 .word 0x38d1b717 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 8035f40: 4b84 ldr r3, [pc, #528] ; (8036154 ) 8035f42: 781b ldrb r3, [r3, #0] 8035f44: b2db uxtb r3, r3 8035f46: 4618 mov r0, r3 8035f48: 4b83 ldr r3, [pc, #524] ; (8036158 ) 8035f4a: 781b ldrb r3, [r3, #0] 8035f4c: b2db uxtb r3, r3 8035f4e: 4619 mov r1, r3 8035f50: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035f54: ee07 3a90 vmov s15, r3 8035f58: eef8 7a67 vcvt.f32.u32 s15, s15 8035f5c: 4a7f ldr r2, [pc, #508] ; (803615c ) 8035f5e: 0083 lsls r3, r0, #2 8035f60: 440b add r3, r1 8035f62: 3396 adds r3, #150 ; 0x96 8035f64: 009b lsls r3, r3, #2 8035f66: 4413 add r3, r2 8035f68: 3304 adds r3, #4 8035f6a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 8035f6e: 4b79 ldr r3, [pc, #484] ; (8036154 ) 8035f70: 781b ldrb r3, [r3, #0] 8035f72: b2da uxtb r2, r3 8035f74: 4610 mov r0, r2 8035f76: 4b78 ldr r3, [pc, #480] ; (8036158 ) 8035f78: 781b ldrb r3, [r3, #0] 8035f7a: b2db uxtb r3, r3 8035f7c: 4619 mov r1, r3 8035f7e: 4615 mov r5, r2 8035f80: 461c mov r4, r3 8035f82: 4a76 ldr r2, [pc, #472] ; (803615c ) 8035f84: 00ab lsls r3, r5, #2 8035f86: 4423 add r3, r4 8035f88: 3396 adds r3, #150 ; 0x96 8035f8a: 009b lsls r3, r3, #2 8035f8c: 4413 add r3, r2 8035f8e: 3304 adds r3, #4 8035f90: edd3 7a00 vldr s15, [r3] 8035f94: ed9f 7a72 vldr s14, [pc, #456] ; 8036160 8035f98: ee67 7a87 vmul.f32 s15, s15, s14 8035f9c: 4a6f ldr r2, [pc, #444] ; (803615c ) 8035f9e: 0083 lsls r3, r0, #2 8035fa0: 440b add r3, r1 8035fa2: 3396 adds r3, #150 ; 0x96 8035fa4: 009b lsls r3, r3, #2 8035fa6: 4413 add r3, r2 8035fa8: 3304 adds r3, #4 8035faa: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 8035fae: 4b69 ldr r3, [pc, #420] ; (8036154 ) 8035fb0: 781b ldrb r3, [r3, #0] 8035fb2: b2da uxtb r2, r3 8035fb4: 4610 mov r0, r2 8035fb6: 4b68 ldr r3, [pc, #416] ; (8036158 ) 8035fb8: 781b ldrb r3, [r3, #0] 8035fba: b2db uxtb r3, r3 8035fbc: 4619 mov r1, r3 8035fbe: 4615 mov r5, r2 8035fc0: 461c mov r4, r3 8035fc2: 4a66 ldr r2, [pc, #408] ; (803615c ) 8035fc4: 00ab lsls r3, r5, #2 8035fc6: 4423 add r3, r4 8035fc8: 3396 adds r3, #150 ; 0x96 8035fca: 009b lsls r3, r3, #2 8035fcc: 4413 add r3, r2 8035fce: 3304 adds r3, #4 8035fd0: edd3 7a00 vldr s15, [r3] 8035fd4: ed9f 7a63 vldr s14, [pc, #396] ; 8036164 8035fd8: ee77 7a87 vadd.f32 s15, s15, s14 8035fdc: 4a5f ldr r2, [pc, #380] ; (803615c ) 8035fde: 0083 lsls r3, r0, #2 8035fe0: 440b add r3, r1 8035fe2: 3396 adds r3, #150 ; 0x96 8035fe4: 009b lsls r3, r3, #2 8035fe6: 4413 add r3, r2 8035fe8: 3304 adds r3, #4 8035fea: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8035fee: f000 be43 b.w 8036c78 if(fl < 2.0f) 8035ff2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035ff6: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8035ffa: eef4 7ac7 vcmpe.f32 s15, s14 8035ffe: eef1 fa10 vmrs APSR_nzcv, fpscr 8036002: d513 bpl.n 803602c pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 8036004: 4b53 ldr r3, [pc, #332] ; (8036154 ) 8036006: 781b ldrb r3, [r3, #0] 8036008: b2db uxtb r3, r3 803600a: 4618 mov r0, r3 803600c: 4b52 ldr r3, [pc, #328] ; (8036158 ) 803600e: 781b ldrb r3, [r3, #0] 8036010: b2db uxtb r3, r3 8036012: 4619 mov r1, r3 8036014: 4a51 ldr r2, [pc, #324] ; (803615c ) 8036016: 0083 lsls r3, r0, #2 8036018: 440b add r3, r1 803601a: 3396 adds r3, #150 ; 0x96 803601c: 009b lsls r3, r3, #2 803601e: 4413 add r3, r2 8036020: 3304 adds r3, #4 8036022: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8036026: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8036028: f000 be26 b.w 8036c78 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 803602c: 4b49 ldr r3, [pc, #292] ; (8036154 ) 803602e: 781b ldrb r3, [r3, #0] 8036030: b2db uxtb r3, r3 8036032: 4618 mov r0, r3 8036034: 4b48 ldr r3, [pc, #288] ; (8036158 ) 8036036: 781b ldrb r3, [r3, #0] 8036038: b2db uxtb r3, r3 803603a: 4619 mov r1, r3 803603c: 4a47 ldr r2, [pc, #284] ; (803615c ) 803603e: 0083 lsls r3, r0, #2 8036040: 440b add r3, r1 8036042: 33b6 adds r3, #182 ; 0xb6 8036044: 009b lsls r3, r3, #2 8036046: 4413 add r3, r2 8036048: 3304 adds r3, #4 803604a: ed93 7a00 vldr s14, [r3] 803604e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8036052: eeb4 7ae7 vcmpe.f32 s14, s15 8036056: eef1 fa10 vmrs APSR_nzcv, fpscr 803605a: d521 bpl.n 80360a0 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 803605c: 4b3d ldr r3, [pc, #244] ; (8036154 ) 803605e: 781b ldrb r3, [r3, #0] 8036060: b2db uxtb r3, r3 8036062: 461c mov r4, r3 8036064: 4b3c ldr r3, [pc, #240] ; (8036158 ) 8036066: 781b ldrb r3, [r3, #0] 8036068: b2db uxtb r3, r3 803606a: 4618 mov r0, r3 803606c: 4b39 ldr r3, [pc, #228] ; (8036154 ) 803606e: 781b ldrb r3, [r3, #0] 8036070: b2db uxtb r3, r3 8036072: 461d mov r5, r3 8036074: 4b38 ldr r3, [pc, #224] ; (8036158 ) 8036076: 781b ldrb r3, [r3, #0] 8036078: b2db uxtb r3, r3 803607a: 4619 mov r1, r3 803607c: 4a37 ldr r2, [pc, #220] ; (803615c ) 803607e: 00ab lsls r3, r5, #2 8036080: 440b add r3, r1 8036082: 33b6 adds r3, #182 ; 0xb6 8036084: 009b lsls r3, r3, #2 8036086: 4413 add r3, r2 8036088: 3304 adds r3, #4 803608a: 681a ldr r2, [r3, #0] 803608c: 4933 ldr r1, [pc, #204] ; (803615c ) 803608e: 00a3 lsls r3, r4, #2 8036090: 4403 add r3, r0 8036092: 3396 adds r3, #150 ; 0x96 8036094: 009b lsls r3, r3, #2 8036096: 440b add r3, r1 8036098: 3304 adds r3, #4 803609a: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803609c: f000 bdec b.w 8036c78 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 80360a0: 4b2c ldr r3, [pc, #176] ; (8036154 ) 80360a2: 781b ldrb r3, [r3, #0] 80360a4: b2db uxtb r3, r3 80360a6: 4618 mov r0, r3 80360a8: 4b2b ldr r3, [pc, #172] ; (8036158 ) 80360aa: 781b ldrb r3, [r3, #0] 80360ac: b2db uxtb r3, r3 80360ae: 4619 mov r1, r3 80360b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80360b4: ee07 3a90 vmov s15, r3 80360b8: eef8 7a67 vcvt.f32.u32 s15, s15 80360bc: 4a27 ldr r2, [pc, #156] ; (803615c ) 80360be: 0083 lsls r3, r0, #2 80360c0: 440b add r3, r1 80360c2: 3396 adds r3, #150 ; 0x96 80360c4: 009b lsls r3, r3, #2 80360c6: 4413 add r3, r2 80360c8: 3304 adds r3, #4 80360ca: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 80360ce: 4b21 ldr r3, [pc, #132] ; (8036154 ) 80360d0: 781b ldrb r3, [r3, #0] 80360d2: b2da uxtb r2, r3 80360d4: 4610 mov r0, r2 80360d6: 4b20 ldr r3, [pc, #128] ; (8036158 ) 80360d8: 781b ldrb r3, [r3, #0] 80360da: b2db uxtb r3, r3 80360dc: 4619 mov r1, r3 80360de: 4615 mov r5, r2 80360e0: 461c mov r4, r3 80360e2: 4a1e ldr r2, [pc, #120] ; (803615c ) 80360e4: 00ab lsls r3, r5, #2 80360e6: 4423 add r3, r4 80360e8: 3396 adds r3, #150 ; 0x96 80360ea: 009b lsls r3, r3, #2 80360ec: 4413 add r3, r2 80360ee: 3304 adds r3, #4 80360f0: edd3 7a00 vldr s15, [r3] 80360f4: ed9f 7a1a vldr s14, [pc, #104] ; 8036160 80360f8: ee67 7a87 vmul.f32 s15, s15, s14 80360fc: 4a17 ldr r2, [pc, #92] ; (803615c ) 80360fe: 0083 lsls r3, r0, #2 8036100: 440b add r3, r1 8036102: 3396 adds r3, #150 ; 0x96 8036104: 009b lsls r3, r3, #2 8036106: 4413 add r3, r2 8036108: 3304 adds r3, #4 803610a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 803610e: 4b11 ldr r3, [pc, #68] ; (8036154 ) 8036110: 781b ldrb r3, [r3, #0] 8036112: b2da uxtb r2, r3 8036114: 4610 mov r0, r2 8036116: 4b10 ldr r3, [pc, #64] ; (8036158 ) 8036118: 781b ldrb r3, [r3, #0] 803611a: b2db uxtb r3, r3 803611c: 4619 mov r1, r3 803611e: 4615 mov r5, r2 8036120: 461c mov r4, r3 8036122: 4a0e ldr r2, [pc, #56] ; (803615c ) 8036124: 00ab lsls r3, r5, #2 8036126: 4423 add r3, r4 8036128: 3396 adds r3, #150 ; 0x96 803612a: 009b lsls r3, r3, #2 803612c: 4413 add r3, r2 803612e: 3304 adds r3, #4 8036130: edd3 7a00 vldr s15, [r3] 8036134: ed9f 7a0b vldr s14, [pc, #44] ; 8036164 8036138: ee77 7a87 vadd.f32 s15, s15, s14 803613c: 4a07 ldr r2, [pc, #28] ; (803615c ) 803613e: 0083 lsls r3, r0, #2 8036140: 440b add r3, r1 8036142: 3396 adds r3, #150 ; 0x96 8036144: 009b lsls r3, r3, #2 8036146: 4413 add r3, r2 8036148: 3304 adds r3, #4 803614a: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803614e: f000 bd93 b.w 8036c78 8036152: bf00 nop 8036154: 20021055 .word 0x20021055 8036158: 20021057 .word 0x20021057 803615c: 20023ea8 .word 0x20023ea8 8036160: 3dcccccd .word 0x3dcccccd 8036164: 38d1b717 .word 0x38d1b717 if((menupos >= DiagLP_IDT) && (menupos <= DiagLP_IKD)) 8036168: 4bcb ldr r3, [pc, #812] ; (8036498 ) 803616a: 781b ldrb r3, [r3, #0] 803616c: b2db uxtb r3, r3 803616e: 2b12 cmp r3, #18 8036170: f240 8243 bls.w 80365fa 8036174: 4bc8 ldr r3, [pc, #800] ; (8036498 ) 8036176: 781b ldrb r3, [r3, #0] 8036178: b2db uxtb r3, r3 803617a: 2b18 cmp r3, #24 803617c: f200 823d bhi.w 80365fa k = (uint32_t) (pardata.DIAGN_LP[CURR_POINT][CURR_USL] * 10.0f); 8036180: 4bc6 ldr r3, [pc, #792] ; (803649c ) 8036182: 781b ldrb r3, [r3, #0] 8036184: b2db uxtb r3, r3 8036186: 4618 mov r0, r3 8036188: 4bc5 ldr r3, [pc, #788] ; (80364a0 ) 803618a: 781b ldrb r3, [r3, #0] 803618c: b2db uxtb r3, r3 803618e: 4619 mov r1, r3 8036190: 4ac4 ldr r2, [pc, #784] ; (80364a4 ) 8036192: 0083 lsls r3, r0, #2 8036194: 440b add r3, r1 8036196: 33b6 adds r3, #182 ; 0xb6 8036198: 009b lsls r3, r3, #2 803619a: 4413 add r3, r2 803619c: 3304 adds r3, #4 803619e: edd3 7a00 vldr s15, [r3] 80361a2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80361a6: ee67 7a87 vmul.f32 s15, s15, s14 80361aa: eefc 7ae7 vcvt.u32.f32 s15, s15 80361ae: ee17 3a90 vmov r3, s15 80361b2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80361b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80361ba: 095b lsrs r3, r3, #5 80361bc: 4aba ldr r2, [pc, #744] ; (80364a8 ) 80361be: fba2 2303 umull r2, r3, r2, r3 80361c2: 09db lsrs r3, r3, #7 80361c4: b2db uxtb r3, r3 80361c6: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80361ca: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80361ce: 0953 lsrs r3, r2, #5 80361d0: 49b5 ldr r1, [pc, #724] ; (80364a8 ) 80361d2: fba1 1303 umull r1, r3, r1, r3 80361d6: 09db lsrs r3, r3, #7 80361d8: 49b4 ldr r1, [pc, #720] ; (80364ac ) 80361da: fb01 f303 mul.w r3, r1, r3 80361de: 1ad3 subs r3, r2, r3 80361e0: 4ab3 ldr r2, [pc, #716] ; (80364b0 ) 80361e2: fba2 2303 umull r2, r3, r2, r3 80361e6: 0b5b lsrs r3, r3, #13 80361e8: b2db uxtb r3, r3 80361ea: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80361ee: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80361f2: 0953 lsrs r3, r2, #5 80361f4: 49ac ldr r1, [pc, #688] ; (80364a8 ) 80361f6: fba1 1303 umull r1, r3, r1, r3 80361fa: 09db lsrs r3, r3, #7 80361fc: 49ab ldr r1, [pc, #684] ; (80364ac ) 80361fe: fb01 f303 mul.w r3, r1, r3 8036202: 1ad3 subs r3, r2, r3 8036204: 4aaa ldr r2, [pc, #680] ; (80364b0 ) 8036206: fba2 1203 umull r1, r2, r2, r3 803620a: 0b52 lsrs r2, r2, #13 803620c: f242 7110 movw r1, #10000 ; 0x2710 8036210: fb01 f202 mul.w r2, r1, r2 8036214: 1a9a subs r2, r3, r2 8036216: 4ba7 ldr r3, [pc, #668] ; (80364b4 ) 8036218: fba3 2302 umull r2, r3, r3, r2 803621c: 099b lsrs r3, r3, #6 803621e: b2db uxtb r3, r3 8036220: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8036224: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036228: 095a lsrs r2, r3, #5 803622a: 499f ldr r1, [pc, #636] ; (80364a8 ) 803622c: fba1 1202 umull r1, r2, r1, r2 8036230: 09d2 lsrs r2, r2, #7 8036232: 499e ldr r1, [pc, #632] ; (80364ac ) 8036234: fb01 f202 mul.w r2, r1, r2 8036238: 1a9a subs r2, r3, r2 803623a: 4b9d ldr r3, [pc, #628] ; (80364b0 ) 803623c: fba3 1302 umull r1, r3, r3, r2 8036240: 0b5b lsrs r3, r3, #13 8036242: f242 7110 movw r1, #10000 ; 0x2710 8036246: fb01 f303 mul.w r3, r1, r3 803624a: 1ad3 subs r3, r2, r3 803624c: 4a99 ldr r2, [pc, #612] ; (80364b4 ) 803624e: fba2 1203 umull r1, r2, r2, r3 8036252: 0992 lsrs r2, r2, #6 8036254: f44f 717a mov.w r1, #1000 ; 0x3e8 8036258: fb01 f202 mul.w r2, r1, r2 803625c: 1a9a subs r2, r3, r2 803625e: 4b96 ldr r3, [pc, #600] ; (80364b8 ) 8036260: fba3 2302 umull r2, r3, r3, r2 8036264: 095b lsrs r3, r3, #5 8036266: b2db uxtb r3, r3 8036268: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803626c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036270: 0953 lsrs r3, r2, #5 8036272: 498d ldr r1, [pc, #564] ; (80364a8 ) 8036274: fba1 1303 umull r1, r3, r1, r3 8036278: 09db lsrs r3, r3, #7 803627a: 498c ldr r1, [pc, #560] ; (80364ac ) 803627c: fb01 f303 mul.w r3, r1, r3 8036280: 1ad3 subs r3, r2, r3 8036282: 4a8b ldr r2, [pc, #556] ; (80364b0 ) 8036284: fba2 1203 umull r1, r2, r2, r3 8036288: 0b52 lsrs r2, r2, #13 803628a: f242 7110 movw r1, #10000 ; 0x2710 803628e: fb01 f202 mul.w r2, r1, r2 8036292: 1a9a subs r2, r3, r2 8036294: 4b87 ldr r3, [pc, #540] ; (80364b4 ) 8036296: fba3 1302 umull r1, r3, r3, r2 803629a: 099b lsrs r3, r3, #6 803629c: f44f 717a mov.w r1, #1000 ; 0x3e8 80362a0: fb01 f303 mul.w r3, r1, r3 80362a4: 1ad3 subs r3, r2, r3 80362a6: 4a84 ldr r2, [pc, #528] ; (80364b8 ) 80362a8: fba2 1203 umull r1, r2, r2, r3 80362ac: 0952 lsrs r2, r2, #5 80362ae: 2164 movs r1, #100 ; 0x64 80362b0: fb01 f202 mul.w r2, r1, r2 80362b4: 1a9a subs r2, r3, r2 80362b6: 4b81 ldr r3, [pc, #516] ; (80364bc ) 80362b8: fba3 2302 umull r2, r3, r3, r2 80362bc: 08db lsrs r3, r3, #3 80362be: b2db uxtb r3, r3 80362c0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80362c4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80362c8: 0953 lsrs r3, r2, #5 80362ca: 4977 ldr r1, [pc, #476] ; (80364a8 ) 80362cc: fba1 1303 umull r1, r3, r1, r3 80362d0: 09db lsrs r3, r3, #7 80362d2: 4976 ldr r1, [pc, #472] ; (80364ac ) 80362d4: fb01 f303 mul.w r3, r1, r3 80362d8: 1ad3 subs r3, r2, r3 80362da: 4a75 ldr r2, [pc, #468] ; (80364b0 ) 80362dc: fba2 1203 umull r1, r2, r2, r3 80362e0: 0b52 lsrs r2, r2, #13 80362e2: f242 7110 movw r1, #10000 ; 0x2710 80362e6: fb01 f202 mul.w r2, r1, r2 80362ea: 1a9a subs r2, r3, r2 80362ec: 4b71 ldr r3, [pc, #452] ; (80364b4 ) 80362ee: fba3 1302 umull r1, r3, r3, r2 80362f2: 099b lsrs r3, r3, #6 80362f4: f44f 717a mov.w r1, #1000 ; 0x3e8 80362f8: fb01 f303 mul.w r3, r1, r3 80362fc: 1ad3 subs r3, r2, r3 80362fe: 4a6e ldr r2, [pc, #440] ; (80364b8 ) 8036300: fba2 1203 umull r1, r2, r2, r3 8036304: 0952 lsrs r2, r2, #5 8036306: 2164 movs r1, #100 ; 0x64 8036308: fb01 f202 mul.w r2, r1, r2 803630c: 1a9a subs r2, r3, r2 803630e: 4b6b ldr r3, [pc, #428] ; (80364bc ) 8036310: fba3 1302 umull r1, r3, r3, r2 8036314: 08d9 lsrs r1, r3, #3 8036316: 460b mov r3, r1 8036318: 009b lsls r3, r3, #2 803631a: 440b add r3, r1 803631c: 005b lsls r3, r3, #1 803631e: 1ad1 subs r1, r2, r3 8036320: b2cb uxtb r3, r1 8036322: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8036326: 4b5c ldr r3, [pc, #368] ; (8036498 ) 8036328: 781b ldrb r3, [r3, #0] 803632a: b2db uxtb r3, r3 803632c: 3b13 subs r3, #19 803632e: 2b05 cmp r3, #5 8036330: d836 bhi.n 80363a0 8036332: a201 add r2, pc, #4 ; (adr r2, 8036338 ) 8036334: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8036338: 08036351 .word 0x08036351 803633c: 0803635f .word 0x0803635f 8036340: 0803636f .word 0x0803636f 8036344: 0803637d .word 0x0803637d 8036348: 08036389 .word 0x08036389 803634c: 08036395 .word 0x08036395 k += 100000; 8036350: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036354: 4b55 ldr r3, [pc, #340] ; (80364ac ) 8036356: 4413 add r3, r2 8036358: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803635c: e020 b.n 80363a0 k += 10000; 803635e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036362: f242 7310 movw r3, #10000 ; 0x2710 8036366: 4413 add r3, r2 8036368: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803636c: e018 b.n 80363a0 k += 1000; 803636e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036372: f503 737a add.w r3, r3, #1000 ; 0x3e8 8036376: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803637a: e011 b.n 80363a0 k += 100; 803637c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036380: 3364 adds r3, #100 ; 0x64 8036382: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036386: e00b b.n 80363a0 k += 10; 8036388: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803638c: 330a adds r3, #10 803638e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036392: e005 b.n 80363a0 k++; 8036394: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036398: 3301 adds r3, #1 803639a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803639e: bf00 nop fl = (float32_t) k; 80363a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80363a4: ee07 3a90 vmov s15, r3 80363a8: eef8 7a67 vcvt.f32.u32 s15, s15 80363ac: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80363b0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80363b4: ed9f 7a42 vldr s14, [pc, #264] ; 80364c0 80363b8: ee67 7a87 vmul.f32 s15, s15, s14 80363bc: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80363c0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80363c4: ed9f 7a3f vldr s14, [pc, #252] ; 80364c4 80363c8: ee77 7a87 vadd.f32 s15, s15, s14 80363cc: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 80363d0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80363d4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80363d8: eef4 7ac7 vcmpe.f32 s15, s14 80363dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80363e0: d512 bpl.n 8036408 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = 10.0f; 80363e2: 4b2e ldr r3, [pc, #184] ; (803649c ) 80363e4: 781b ldrb r3, [r3, #0] 80363e6: b2db uxtb r3, r3 80363e8: 4618 mov r0, r3 80363ea: 4b2d ldr r3, [pc, #180] ; (80364a0 ) 80363ec: 781b ldrb r3, [r3, #0] 80363ee: b2db uxtb r3, r3 80363f0: 4619 mov r1, r3 80363f2: 4a2c ldr r2, [pc, #176] ; (80364a4 ) 80363f4: 0083 lsls r3, r0, #2 80363f6: 440b add r3, r1 80363f8: 33b6 adds r3, #182 ; 0xb6 80363fa: 009b lsls r3, r3, #2 80363fc: 4413 add r3, r2 80363fe: 3304 adds r3, #4 8036400: 4a31 ldr r2, [pc, #196] ; (80364c8 ) 8036402: 601a str r2, [r3, #0] if(fl < 10.0f) 8036404: f000 bc38 b.w 8036c78 if(pardata.DIAGN_LP[CURR_POINT][CURR_USL] < pardata.DIAGN_HP[CURR_POINT][CURR_USL]) 8036408: 4b24 ldr r3, [pc, #144] ; (803649c ) 803640a: 781b ldrb r3, [r3, #0] 803640c: b2db uxtb r3, r3 803640e: 4618 mov r0, r3 8036410: 4b23 ldr r3, [pc, #140] ; (80364a0 ) 8036412: 781b ldrb r3, [r3, #0] 8036414: b2db uxtb r3, r3 8036416: 4619 mov r1, r3 8036418: 4a22 ldr r2, [pc, #136] ; (80364a4 ) 803641a: 0083 lsls r3, r0, #2 803641c: 440b add r3, r1 803641e: 33b6 adds r3, #182 ; 0xb6 8036420: 009b lsls r3, r3, #2 8036422: 4413 add r3, r2 8036424: 3304 adds r3, #4 8036426: ed93 7a00 vldr s14, [r3] 803642a: 4b1c ldr r3, [pc, #112] ; (803649c ) 803642c: 781b ldrb r3, [r3, #0] 803642e: b2db uxtb r3, r3 8036430: 4618 mov r0, r3 8036432: 4b1b ldr r3, [pc, #108] ; (80364a0 ) 8036434: 781b ldrb r3, [r3, #0] 8036436: b2db uxtb r3, r3 8036438: 4619 mov r1, r3 803643a: 4a1a ldr r2, [pc, #104] ; (80364a4 ) 803643c: 0083 lsls r3, r0, #2 803643e: 440b add r3, r1 8036440: 3396 adds r3, #150 ; 0x96 8036442: 009b lsls r3, r3, #2 8036444: 4413 add r3, r2 8036446: 3304 adds r3, #4 8036448: edd3 7a00 vldr s15, [r3] 803644c: eeb4 7ae7 vcmpe.f32 s14, s15 8036450: eef1 fa10 vmrs APSR_nzcv, fpscr 8036454: d53a bpl.n 80364cc pardata.DIAGN_LP[CURR_POINT][CURR_USL] = pardata.DIAGN_HP[CURR_POINT][CURR_USL]; 8036456: 4b11 ldr r3, [pc, #68] ; (803649c ) 8036458: 781b ldrb r3, [r3, #0] 803645a: b2db uxtb r3, r3 803645c: 461c mov r4, r3 803645e: 4b10 ldr r3, [pc, #64] ; (80364a0 ) 8036460: 781b ldrb r3, [r3, #0] 8036462: b2db uxtb r3, r3 8036464: 4618 mov r0, r3 8036466: 4b0d ldr r3, [pc, #52] ; (803649c ) 8036468: 781b ldrb r3, [r3, #0] 803646a: b2db uxtb r3, r3 803646c: 461d mov r5, r3 803646e: 4b0c ldr r3, [pc, #48] ; (80364a0 ) 8036470: 781b ldrb r3, [r3, #0] 8036472: b2db uxtb r3, r3 8036474: 4619 mov r1, r3 8036476: 4a0b ldr r2, [pc, #44] ; (80364a4 ) 8036478: 00ab lsls r3, r5, #2 803647a: 440b add r3, r1 803647c: 3396 adds r3, #150 ; 0x96 803647e: 009b lsls r3, r3, #2 8036480: 4413 add r3, r2 8036482: 3304 adds r3, #4 8036484: 681a ldr r2, [r3, #0] 8036486: 4907 ldr r1, [pc, #28] ; (80364a4 ) 8036488: 00a3 lsls r3, r4, #2 803648a: 4403 add r3, r0 803648c: 33b6 adds r3, #182 ; 0xb6 803648e: 009b lsls r3, r3, #2 8036490: 440b add r3, r1 8036492: 3304 adds r3, #4 8036494: 601a str r2, [r3, #0] if(fl < 10.0f) 8036496: e3ef b.n 8036c78 8036498: 20020070 .word 0x20020070 803649c: 20021055 .word 0x20021055 80364a0: 20021057 .word 0x20021057 80364a4: 20023ea8 .word 0x20023ea8 80364a8: 0a7c5ac5 .word 0x0a7c5ac5 80364ac: 000186a0 .word 0x000186a0 80364b0: d1b71759 .word 0xd1b71759 80364b4: 10624dd3 .word 0x10624dd3 80364b8: 51eb851f .word 0x51eb851f 80364bc: cccccccd .word 0xcccccccd 80364c0: 3dcccccd .word 0x3dcccccd 80364c4: 38d1b717 .word 0x38d1b717 80364c8: 41200000 .word 0x41200000 if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80364cc: 4bd3 ldr r3, [pc, #844] ; (803681c ) 80364ce: 7adb ldrb r3, [r3, #11] 80364d0: b2db uxtb r3, r3 80364d2: 461a mov r2, r3 80364d4: 4bd2 ldr r3, [pc, #840] ; (8036820 ) 80364d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80364da: ee07 3a90 vmov s15, r3 80364de: eeb8 7a67 vcvt.f32.u32 s14, s15 80364e2: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 80364e6: eec7 7a26 vdiv.f32 s15, s14, s13 80364ea: ed9f 7ace vldr s14, [pc, #824] ; 8036824 80364ee: ee37 7a87 vadd.f32 s14, s15, s14 80364f2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80364f6: eeb4 7ae7 vcmpe.f32 s14, s15 80364fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80364fe: d524 bpl.n 803654a pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8036500: 4bc9 ldr r3, [pc, #804] ; (8036828 ) 8036502: 781b ldrb r3, [r3, #0] 8036504: b2db uxtb r3, r3 8036506: 4618 mov r0, r3 8036508: 4bc8 ldr r3, [pc, #800] ; (803682c ) 803650a: 781b ldrb r3, [r3, #0] 803650c: b2db uxtb r3, r3 803650e: 4619 mov r1, r3 8036510: 4bc2 ldr r3, [pc, #776] ; (803681c ) 8036512: 7adb ldrb r3, [r3, #11] 8036514: b2db uxtb r3, r3 8036516: 461a mov r2, r3 8036518: 4bc1 ldr r3, [pc, #772] ; (8036820 ) 803651a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803651e: 4ac4 ldr r2, [pc, #784] ; (8036830 ) 8036520: fba2 2303 umull r2, r3, r2, r3 8036524: 089b lsrs r3, r3, #2 8036526: ee07 3a90 vmov s15, r3 803652a: eef8 7a67 vcvt.f32.u32 s15, s15 803652e: ed9f 7ac1 vldr s14, [pc, #772] ; 8036834 8036532: ee77 7a87 vadd.f32 s15, s15, s14 8036536: 4ab9 ldr r2, [pc, #740] ; (803681c ) 8036538: 0083 lsls r3, r0, #2 803653a: 440b add r3, r1 803653c: 33b6 adds r3, #182 ; 0xb6 803653e: 009b lsls r3, r3, #2 8036540: 4413 add r3, r2 8036542: 3304 adds r3, #4 8036544: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 8036548: e396 b.n 8036c78 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) k; 803654a: 4bb7 ldr r3, [pc, #732] ; (8036828 ) 803654c: 781b ldrb r3, [r3, #0] 803654e: b2db uxtb r3, r3 8036550: 4618 mov r0, r3 8036552: 4bb6 ldr r3, [pc, #728] ; (803682c ) 8036554: 781b ldrb r3, [r3, #0] 8036556: b2db uxtb r3, r3 8036558: 4619 mov r1, r3 803655a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803655e: ee07 3a90 vmov s15, r3 8036562: eef8 7a67 vcvt.f32.u32 s15, s15 8036566: 4aad ldr r2, [pc, #692] ; (803681c ) 8036568: 0083 lsls r3, r0, #2 803656a: 440b add r3, r1 803656c: 33b6 adds r3, #182 ; 0xb6 803656e: 009b lsls r3, r3, #2 8036570: 4413 add r3, r2 8036572: 3304 adds r3, #4 8036574: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] *= 0.1f; 8036578: 4bab ldr r3, [pc, #684] ; (8036828 ) 803657a: 781b ldrb r3, [r3, #0] 803657c: b2da uxtb r2, r3 803657e: 4610 mov r0, r2 8036580: 4baa ldr r3, [pc, #680] ; (803682c ) 8036582: 781b ldrb r3, [r3, #0] 8036584: b2db uxtb r3, r3 8036586: 4619 mov r1, r3 8036588: 4615 mov r5, r2 803658a: 461c mov r4, r3 803658c: 4aa3 ldr r2, [pc, #652] ; (803681c ) 803658e: 00ab lsls r3, r5, #2 8036590: 4423 add r3, r4 8036592: 33b6 adds r3, #182 ; 0xb6 8036594: 009b lsls r3, r3, #2 8036596: 4413 add r3, r2 8036598: 3304 adds r3, #4 803659a: edd3 7a00 vldr s15, [r3] 803659e: ed9f 7aa6 vldr s14, [pc, #664] ; 8036838 80365a2: ee67 7a87 vmul.f32 s15, s15, s14 80365a6: 4a9d ldr r2, [pc, #628] ; (803681c ) 80365a8: 0083 lsls r3, r0, #2 80365aa: 440b add r3, r1 80365ac: 33b6 adds r3, #182 ; 0xb6 80365ae: 009b lsls r3, r3, #2 80365b0: 4413 add r3, r2 80365b2: 3304 adds r3, #4 80365b4: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001f; 80365b8: 4b9b ldr r3, [pc, #620] ; (8036828 ) 80365ba: 781b ldrb r3, [r3, #0] 80365bc: b2da uxtb r2, r3 80365be: 4610 mov r0, r2 80365c0: 4b9a ldr r3, [pc, #616] ; (803682c ) 80365c2: 781b ldrb r3, [r3, #0] 80365c4: b2db uxtb r3, r3 80365c6: 4619 mov r1, r3 80365c8: 4615 mov r5, r2 80365ca: 461c mov r4, r3 80365cc: 4a93 ldr r2, [pc, #588] ; (803681c ) 80365ce: 00ab lsls r3, r5, #2 80365d0: 4423 add r3, r4 80365d2: 33b6 adds r3, #182 ; 0xb6 80365d4: 009b lsls r3, r3, #2 80365d6: 4413 add r3, r2 80365d8: 3304 adds r3, #4 80365da: edd3 7a00 vldr s15, [r3] 80365de: ed9f 7a95 vldr s14, [pc, #596] ; 8036834 80365e2: ee77 7a87 vadd.f32 s15, s15, s14 80365e6: 4a8d ldr r2, [pc, #564] ; (803681c ) 80365e8: 0083 lsls r3, r0, #2 80365ea: 440b add r3, r1 80365ec: 33b6 adds r3, #182 ; 0xb6 80365ee: 009b lsls r3, r3, #2 80365f0: 4413 add r3, r2 80365f2: 3304 adds r3, #4 80365f4: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 80365f8: e33e b.n 8036c78 if((menupos >= DiagW_IDT) && (menupos <= DiagW_IKD)) 80365fa: 4b90 ldr r3, [pc, #576] ; (803683c ) 80365fc: 781b ldrb r3, [r3, #0] 80365fe: b2db uxtb r3, r3 8036600: 2b18 cmp r3, #24 8036602: f240 819a bls.w 803693a 8036606: 4b8d ldr r3, [pc, #564] ; (803683c ) 8036608: 781b ldrb r3, [r3, #0] 803660a: b2db uxtb r3, r3 803660c: 2b1e cmp r3, #30 803660e: f200 8194 bhi.w 803693a k = (uint32_t) (pardata.DIAGN_W[CURR_POINT][CURR_USL] * 10.0f); 8036612: 4b85 ldr r3, [pc, #532] ; (8036828 ) 8036614: 781b ldrb r3, [r3, #0] 8036616: b2db uxtb r3, r3 8036618: 4618 mov r0, r3 803661a: 4b84 ldr r3, [pc, #528] ; (803682c ) 803661c: 781b ldrb r3, [r3, #0] 803661e: b2db uxtb r3, r3 8036620: 4619 mov r1, r3 8036622: 4a7e ldr r2, [pc, #504] ; (803681c ) 8036624: 0083 lsls r3, r0, #2 8036626: 440b add r3, r1 8036628: 33d6 adds r3, #214 ; 0xd6 803662a: 009b lsls r3, r3, #2 803662c: 4413 add r3, r2 803662e: 3304 adds r3, #4 8036630: edd3 7a00 vldr s15, [r3] 8036634: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8036638: ee67 7a87 vmul.f32 s15, s15, s14 803663c: eefc 7ae7 vcvt.u32.f32 s15, s15 8036640: ee17 3a90 vmov r3, s15 8036644: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8036648: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803664c: 095b lsrs r3, r3, #5 803664e: 4a7c ldr r2, [pc, #496] ; (8036840 ) 8036650: fba2 2303 umull r2, r3, r2, r3 8036654: 09db lsrs r3, r3, #7 8036656: b2db uxtb r3, r3 8036658: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803665c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036660: 0953 lsrs r3, r2, #5 8036662: 4977 ldr r1, [pc, #476] ; (8036840 ) 8036664: fba1 1303 umull r1, r3, r1, r3 8036668: 09db lsrs r3, r3, #7 803666a: 4976 ldr r1, [pc, #472] ; (8036844 ) 803666c: fb01 f303 mul.w r3, r1, r3 8036670: 1ad3 subs r3, r2, r3 8036672: 4a75 ldr r2, [pc, #468] ; (8036848 ) 8036674: fba2 2303 umull r2, r3, r2, r3 8036678: 0b5b lsrs r3, r3, #13 803667a: b2db uxtb r3, r3 803667c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8036680: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036684: 0953 lsrs r3, r2, #5 8036686: 496e ldr r1, [pc, #440] ; (8036840 ) 8036688: fba1 1303 umull r1, r3, r1, r3 803668c: 09db lsrs r3, r3, #7 803668e: 496d ldr r1, [pc, #436] ; (8036844 ) 8036690: fb01 f303 mul.w r3, r1, r3 8036694: 1ad3 subs r3, r2, r3 8036696: 4a6c ldr r2, [pc, #432] ; (8036848 ) 8036698: fba2 1203 umull r1, r2, r2, r3 803669c: 0b52 lsrs r2, r2, #13 803669e: f242 7110 movw r1, #10000 ; 0x2710 80366a2: fb01 f202 mul.w r2, r1, r2 80366a6: 1a9a subs r2, r3, r2 80366a8: 4b68 ldr r3, [pc, #416] ; (803684c ) 80366aa: fba3 2302 umull r2, r3, r3, r2 80366ae: 099b lsrs r3, r3, #6 80366b0: b2db uxtb r3, r3 80366b2: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80366b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80366ba: 095a lsrs r2, r3, #5 80366bc: 4960 ldr r1, [pc, #384] ; (8036840 ) 80366be: fba1 1202 umull r1, r2, r1, r2 80366c2: 09d2 lsrs r2, r2, #7 80366c4: 495f ldr r1, [pc, #380] ; (8036844 ) 80366c6: fb01 f202 mul.w r2, r1, r2 80366ca: 1a9a subs r2, r3, r2 80366cc: 4b5e ldr r3, [pc, #376] ; (8036848 ) 80366ce: fba3 1302 umull r1, r3, r3, r2 80366d2: 0b5b lsrs r3, r3, #13 80366d4: f242 7110 movw r1, #10000 ; 0x2710 80366d8: fb01 f303 mul.w r3, r1, r3 80366dc: 1ad3 subs r3, r2, r3 80366de: 4a5b ldr r2, [pc, #364] ; (803684c ) 80366e0: fba2 1203 umull r1, r2, r2, r3 80366e4: 0992 lsrs r2, r2, #6 80366e6: f44f 717a mov.w r1, #1000 ; 0x3e8 80366ea: fb01 f202 mul.w r2, r1, r2 80366ee: 1a9a subs r2, r3, r2 80366f0: 4b57 ldr r3, [pc, #348] ; (8036850 ) 80366f2: fba3 2302 umull r2, r3, r3, r2 80366f6: 095b lsrs r3, r3, #5 80366f8: b2db uxtb r3, r3 80366fa: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80366fe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036702: 0953 lsrs r3, r2, #5 8036704: 494e ldr r1, [pc, #312] ; (8036840 ) 8036706: fba1 1303 umull r1, r3, r1, r3 803670a: 09db lsrs r3, r3, #7 803670c: 494d ldr r1, [pc, #308] ; (8036844 ) 803670e: fb01 f303 mul.w r3, r1, r3 8036712: 1ad3 subs r3, r2, r3 8036714: 4a4c ldr r2, [pc, #304] ; (8036848 ) 8036716: fba2 1203 umull r1, r2, r2, r3 803671a: 0b52 lsrs r2, r2, #13 803671c: f242 7110 movw r1, #10000 ; 0x2710 8036720: fb01 f202 mul.w r2, r1, r2 8036724: 1a9a subs r2, r3, r2 8036726: 4b49 ldr r3, [pc, #292] ; (803684c ) 8036728: fba3 1302 umull r1, r3, r3, r2 803672c: 099b lsrs r3, r3, #6 803672e: f44f 717a mov.w r1, #1000 ; 0x3e8 8036732: fb01 f303 mul.w r3, r1, r3 8036736: 1ad3 subs r3, r2, r3 8036738: 4a45 ldr r2, [pc, #276] ; (8036850 ) 803673a: fba2 1203 umull r1, r2, r2, r3 803673e: 0952 lsrs r2, r2, #5 8036740: 2164 movs r1, #100 ; 0x64 8036742: fb01 f202 mul.w r2, r1, r2 8036746: 1a9a subs r2, r3, r2 8036748: 4b39 ldr r3, [pc, #228] ; (8036830 ) 803674a: fba3 2302 umull r2, r3, r3, r2 803674e: 08db lsrs r3, r3, #3 8036750: b2db uxtb r3, r3 8036752: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8036756: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803675a: 0953 lsrs r3, r2, #5 803675c: 4938 ldr r1, [pc, #224] ; (8036840 ) 803675e: fba1 1303 umull r1, r3, r1, r3 8036762: 09db lsrs r3, r3, #7 8036764: 4937 ldr r1, [pc, #220] ; (8036844 ) 8036766: fb01 f303 mul.w r3, r1, r3 803676a: 1ad3 subs r3, r2, r3 803676c: 4a36 ldr r2, [pc, #216] ; (8036848 ) 803676e: fba2 1203 umull r1, r2, r2, r3 8036772: 0b52 lsrs r2, r2, #13 8036774: f242 7110 movw r1, #10000 ; 0x2710 8036778: fb01 f202 mul.w r2, r1, r2 803677c: 1a9a subs r2, r3, r2 803677e: 4b33 ldr r3, [pc, #204] ; (803684c ) 8036780: fba3 1302 umull r1, r3, r3, r2 8036784: 099b lsrs r3, r3, #6 8036786: f44f 717a mov.w r1, #1000 ; 0x3e8 803678a: fb01 f303 mul.w r3, r1, r3 803678e: 1ad3 subs r3, r2, r3 8036790: 4a2f ldr r2, [pc, #188] ; (8036850 ) 8036792: fba2 1203 umull r1, r2, r2, r3 8036796: 0952 lsrs r2, r2, #5 8036798: 2164 movs r1, #100 ; 0x64 803679a: fb01 f202 mul.w r2, r1, r2 803679e: 1a9a subs r2, r3, r2 80367a0: 4b23 ldr r3, [pc, #140] ; (8036830 ) 80367a2: fba3 1302 umull r1, r3, r3, r2 80367a6: 08d9 lsrs r1, r3, #3 80367a8: 460b mov r3, r1 80367aa: 009b lsls r3, r3, #2 80367ac: 440b add r3, r1 80367ae: 005b lsls r3, r3, #1 80367b0: 1ad1 subs r1, r2, r3 80367b2: b2cb uxtb r3, r1 80367b4: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80367b8: 4b20 ldr r3, [pc, #128] ; (803683c ) 80367ba: 781b ldrb r3, [r3, #0] 80367bc: b2db uxtb r3, r3 80367be: 3b19 subs r3, #25 80367c0: 2b05 cmp r3, #5 80367c2: d853 bhi.n 803686c 80367c4: a201 add r2, pc, #4 ; (adr r2, 80367cc ) 80367c6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80367ca: bf00 nop 80367cc: 080367e5 .word 0x080367e5 80367d0: 080367f3 .word 0x080367f3 80367d4: 08036803 .word 0x08036803 80367d8: 08036811 .word 0x08036811 80367dc: 08036855 .word 0x08036855 80367e0: 08036861 .word 0x08036861 k += 100000; 80367e4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80367e8: 4b16 ldr r3, [pc, #88] ; (8036844 ) 80367ea: 4413 add r3, r2 80367ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80367f0: e03c b.n 803686c k += 10000; 80367f2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80367f6: f242 7310 movw r3, #10000 ; 0x2710 80367fa: 4413 add r3, r2 80367fc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036800: e034 b.n 803686c k += 1000; 8036802: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036806: f503 737a add.w r3, r3, #1000 ; 0x3e8 803680a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803680e: e02d b.n 803686c k += 100; 8036810: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036814: 3364 adds r3, #100 ; 0x64 8036816: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803681a: e027 b.n 803686c 803681c: 20023ea8 .word 0x20023ea8 8036820: 080f2c08 .word 0x080f2c08 8036824: 3851b717 .word 0x3851b717 8036828: 20021055 .word 0x20021055 803682c: 20021057 .word 0x20021057 8036830: cccccccd .word 0xcccccccd 8036834: 38d1b717 .word 0x38d1b717 8036838: 3dcccccd .word 0x3dcccccd 803683c: 20020070 .word 0x20020070 8036840: 0a7c5ac5 .word 0x0a7c5ac5 8036844: 000186a0 .word 0x000186a0 8036848: d1b71759 .word 0xd1b71759 803684c: 10624dd3 .word 0x10624dd3 8036850: 51eb851f .word 0x51eb851f k += 10; 8036854: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036858: 330a adds r3, #10 803685a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803685e: e005 b.n 803686c k++; 8036860: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036864: 3301 adds r3, #1 8036866: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803686a: bf00 nop if(k > 999999) k = 999999; 803686c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036870: 4abd ldr r2, [pc, #756] ; (8036b68 ) 8036872: 4293 cmp r3, r2 8036874: d902 bls.n 803687c 8036876: 4bbc ldr r3, [pc, #752] ; (8036b68 ) 8036878: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803687c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036880: 2b00 cmp r3, #0 8036882: d102 bne.n 803688a 8036884: 2301 movs r3, #1 8036886: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_W[CURR_POINT][CURR_USL] = (float32_t) k; 803688a: 4bb8 ldr r3, [pc, #736] ; (8036b6c ) 803688c: 781b ldrb r3, [r3, #0] 803688e: b2db uxtb r3, r3 8036890: 4618 mov r0, r3 8036892: 4bb7 ldr r3, [pc, #732] ; (8036b70 ) 8036894: 781b ldrb r3, [r3, #0] 8036896: b2db uxtb r3, r3 8036898: 4619 mov r1, r3 803689a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803689e: ee07 3a90 vmov s15, r3 80368a2: eef8 7a67 vcvt.f32.u32 s15, s15 80368a6: 4ab3 ldr r2, [pc, #716] ; (8036b74 ) 80368a8: 0083 lsls r3, r0, #2 80368aa: 440b add r3, r1 80368ac: 33d6 adds r3, #214 ; 0xd6 80368ae: 009b lsls r3, r3, #2 80368b0: 4413 add r3, r2 80368b2: 3304 adds r3, #4 80368b4: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] *= 0.1f; 80368b8: 4bac ldr r3, [pc, #688] ; (8036b6c ) 80368ba: 781b ldrb r3, [r3, #0] 80368bc: b2da uxtb r2, r3 80368be: 4610 mov r0, r2 80368c0: 4bab ldr r3, [pc, #684] ; (8036b70 ) 80368c2: 781b ldrb r3, [r3, #0] 80368c4: b2db uxtb r3, r3 80368c6: 4619 mov r1, r3 80368c8: 4615 mov r5, r2 80368ca: 461c mov r4, r3 80368cc: 4aa9 ldr r2, [pc, #676] ; (8036b74 ) 80368ce: 00ab lsls r3, r5, #2 80368d0: 4423 add r3, r4 80368d2: 33d6 adds r3, #214 ; 0xd6 80368d4: 009b lsls r3, r3, #2 80368d6: 4413 add r3, r2 80368d8: 3304 adds r3, #4 80368da: edd3 7a00 vldr s15, [r3] 80368de: ed9f 7aa6 vldr s14, [pc, #664] ; 8036b78 80368e2: ee67 7a87 vmul.f32 s15, s15, s14 80368e6: 4aa3 ldr r2, [pc, #652] ; (8036b74 ) 80368e8: 0083 lsls r3, r0, #2 80368ea: 440b add r3, r1 80368ec: 33d6 adds r3, #214 ; 0xd6 80368ee: 009b lsls r3, r3, #2 80368f0: 4413 add r3, r2 80368f2: 3304 adds r3, #4 80368f4: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] += 0.05f; 80368f8: 4b9c ldr r3, [pc, #624] ; (8036b6c ) 80368fa: 781b ldrb r3, [r3, #0] 80368fc: b2da uxtb r2, r3 80368fe: 4610 mov r0, r2 8036900: 4b9b ldr r3, [pc, #620] ; (8036b70 ) 8036902: 781b ldrb r3, [r3, #0] 8036904: b2db uxtb r3, r3 8036906: 4619 mov r1, r3 8036908: 4615 mov r5, r2 803690a: 461c mov r4, r3 803690c: 4a99 ldr r2, [pc, #612] ; (8036b74 ) 803690e: 00ab lsls r3, r5, #2 8036910: 4423 add r3, r4 8036912: 33d6 adds r3, #214 ; 0xd6 8036914: 009b lsls r3, r3, #2 8036916: 4413 add r3, r2 8036918: 3304 adds r3, #4 803691a: edd3 7a00 vldr s15, [r3] 803691e: ed9f 7a97 vldr s14, [pc, #604] ; 8036b7c 8036922: ee77 7a87 vadd.f32 s15, s15, s14 8036926: 4a93 ldr r2, [pc, #588] ; (8036b74 ) 8036928: 0083 lsls r3, r0, #2 803692a: 440b add r3, r1 803692c: 33d6 adds r3, #214 ; 0xd6 803692e: 009b lsls r3, r3, #2 8036930: 4413 add r3, r2 8036932: 3304 adds r3, #4 8036934: edc3 7a00 vstr s15, [r3] 8036938: e19e b.n 8036c78 if((menupos >= DiagA_IDT) && (menupos <= DiagA_IKD)) 803693a: 4b91 ldr r3, [pc, #580] ; (8036b80 ) 803693c: 781b ldrb r3, [r3, #0] 803693e: b2db uxtb r3, r3 8036940: 2b1e cmp r3, #30 8036942: f245 85e8 bls.w 803c516 8036946: 4b8e ldr r3, [pc, #568] ; (8036b80 ) 8036948: 781b ldrb r3, [r3, #0] 803694a: b2db uxtb r3, r3 803694c: 2b24 cmp r3, #36 ; 0x24 803694e: f205 85e2 bhi.w 803c516 k = (uint32_t) (pardata.DIAGN_A[CURR_POINT][CURR_USL] * 10.0f); 8036952: 4b86 ldr r3, [pc, #536] ; (8036b6c ) 8036954: 781b ldrb r3, [r3, #0] 8036956: b2db uxtb r3, r3 8036958: 4618 mov r0, r3 803695a: 4b85 ldr r3, [pc, #532] ; (8036b70 ) 803695c: 781b ldrb r3, [r3, #0] 803695e: b2db uxtb r3, r3 8036960: 4619 mov r1, r3 8036962: 4a84 ldr r2, [pc, #528] ; (8036b74 ) 8036964: 0083 lsls r3, r0, #2 8036966: 440b add r3, r1 8036968: 33f6 adds r3, #246 ; 0xf6 803696a: 009b lsls r3, r3, #2 803696c: 4413 add r3, r2 803696e: 3304 adds r3, #4 8036970: edd3 7a00 vldr s15, [r3] 8036974: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8036978: ee67 7a87 vmul.f32 s15, s15, s14 803697c: eefc 7ae7 vcvt.u32.f32 s15, s15 8036980: ee17 3a90 vmov r3, s15 8036984: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8036988: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803698c: 095b lsrs r3, r3, #5 803698e: 4a7d ldr r2, [pc, #500] ; (8036b84 ) 8036990: fba2 2303 umull r2, r3, r2, r3 8036994: 09db lsrs r3, r3, #7 8036996: b2db uxtb r3, r3 8036998: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803699c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80369a0: 0953 lsrs r3, r2, #5 80369a2: 4978 ldr r1, [pc, #480] ; (8036b84 ) 80369a4: fba1 1303 umull r1, r3, r1, r3 80369a8: 09db lsrs r3, r3, #7 80369aa: 4977 ldr r1, [pc, #476] ; (8036b88 ) 80369ac: fb01 f303 mul.w r3, r1, r3 80369b0: 1ad3 subs r3, r2, r3 80369b2: 4a76 ldr r2, [pc, #472] ; (8036b8c ) 80369b4: fba2 2303 umull r2, r3, r2, r3 80369b8: 0b5b lsrs r3, r3, #13 80369ba: b2db uxtb r3, r3 80369bc: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80369c0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80369c4: 0953 lsrs r3, r2, #5 80369c6: 496f ldr r1, [pc, #444] ; (8036b84 ) 80369c8: fba1 1303 umull r1, r3, r1, r3 80369cc: 09db lsrs r3, r3, #7 80369ce: 496e ldr r1, [pc, #440] ; (8036b88 ) 80369d0: fb01 f303 mul.w r3, r1, r3 80369d4: 1ad3 subs r3, r2, r3 80369d6: 4a6d ldr r2, [pc, #436] ; (8036b8c ) 80369d8: fba2 1203 umull r1, r2, r2, r3 80369dc: 0b52 lsrs r2, r2, #13 80369de: f242 7110 movw r1, #10000 ; 0x2710 80369e2: fb01 f202 mul.w r2, r1, r2 80369e6: 1a9a subs r2, r3, r2 80369e8: 4b69 ldr r3, [pc, #420] ; (8036b90 ) 80369ea: fba3 2302 umull r2, r3, r3, r2 80369ee: 099b lsrs r3, r3, #6 80369f0: b2db uxtb r3, r3 80369f2: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80369f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80369fa: 095a lsrs r2, r3, #5 80369fc: 4961 ldr r1, [pc, #388] ; (8036b84 ) 80369fe: fba1 1202 umull r1, r2, r1, r2 8036a02: 09d2 lsrs r2, r2, #7 8036a04: 4960 ldr r1, [pc, #384] ; (8036b88 ) 8036a06: fb01 f202 mul.w r2, r1, r2 8036a0a: 1a9a subs r2, r3, r2 8036a0c: 4b5f ldr r3, [pc, #380] ; (8036b8c ) 8036a0e: fba3 1302 umull r1, r3, r3, r2 8036a12: 0b5b lsrs r3, r3, #13 8036a14: f242 7110 movw r1, #10000 ; 0x2710 8036a18: fb01 f303 mul.w r3, r1, r3 8036a1c: 1ad3 subs r3, r2, r3 8036a1e: 4a5c ldr r2, [pc, #368] ; (8036b90 ) 8036a20: fba2 1203 umull r1, r2, r2, r3 8036a24: 0992 lsrs r2, r2, #6 8036a26: f44f 717a mov.w r1, #1000 ; 0x3e8 8036a2a: fb01 f202 mul.w r2, r1, r2 8036a2e: 1a9a subs r2, r3, r2 8036a30: 4b58 ldr r3, [pc, #352] ; (8036b94 ) 8036a32: fba3 2302 umull r2, r3, r3, r2 8036a36: 095b lsrs r3, r3, #5 8036a38: b2db uxtb r3, r3 8036a3a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8036a3e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036a42: 0953 lsrs r3, r2, #5 8036a44: 494f ldr r1, [pc, #316] ; (8036b84 ) 8036a46: fba1 1303 umull r1, r3, r1, r3 8036a4a: 09db lsrs r3, r3, #7 8036a4c: 494e ldr r1, [pc, #312] ; (8036b88 ) 8036a4e: fb01 f303 mul.w r3, r1, r3 8036a52: 1ad3 subs r3, r2, r3 8036a54: 4a4d ldr r2, [pc, #308] ; (8036b8c ) 8036a56: fba2 1203 umull r1, r2, r2, r3 8036a5a: 0b52 lsrs r2, r2, #13 8036a5c: f242 7110 movw r1, #10000 ; 0x2710 8036a60: fb01 f202 mul.w r2, r1, r2 8036a64: 1a9a subs r2, r3, r2 8036a66: 4b4a ldr r3, [pc, #296] ; (8036b90 ) 8036a68: fba3 1302 umull r1, r3, r3, r2 8036a6c: 099b lsrs r3, r3, #6 8036a6e: f44f 717a mov.w r1, #1000 ; 0x3e8 8036a72: fb01 f303 mul.w r3, r1, r3 8036a76: 1ad3 subs r3, r2, r3 8036a78: 4a46 ldr r2, [pc, #280] ; (8036b94 ) 8036a7a: fba2 1203 umull r1, r2, r2, r3 8036a7e: 0952 lsrs r2, r2, #5 8036a80: 2164 movs r1, #100 ; 0x64 8036a82: fb01 f202 mul.w r2, r1, r2 8036a86: 1a9a subs r2, r3, r2 8036a88: 4b43 ldr r3, [pc, #268] ; (8036b98 ) 8036a8a: fba3 2302 umull r2, r3, r3, r2 8036a8e: 08db lsrs r3, r3, #3 8036a90: b2db uxtb r3, r3 8036a92: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8036a96: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036a9a: 0953 lsrs r3, r2, #5 8036a9c: 4939 ldr r1, [pc, #228] ; (8036b84 ) 8036a9e: fba1 1303 umull r1, r3, r1, r3 8036aa2: 09db lsrs r3, r3, #7 8036aa4: 4938 ldr r1, [pc, #224] ; (8036b88 ) 8036aa6: fb01 f303 mul.w r3, r1, r3 8036aaa: 1ad3 subs r3, r2, r3 8036aac: 4a37 ldr r2, [pc, #220] ; (8036b8c ) 8036aae: fba2 1203 umull r1, r2, r2, r3 8036ab2: 0b52 lsrs r2, r2, #13 8036ab4: f242 7110 movw r1, #10000 ; 0x2710 8036ab8: fb01 f202 mul.w r2, r1, r2 8036abc: 1a9a subs r2, r3, r2 8036abe: 4b34 ldr r3, [pc, #208] ; (8036b90 ) 8036ac0: fba3 1302 umull r1, r3, r3, r2 8036ac4: 099b lsrs r3, r3, #6 8036ac6: f44f 717a mov.w r1, #1000 ; 0x3e8 8036aca: fb01 f303 mul.w r3, r1, r3 8036ace: 1ad3 subs r3, r2, r3 8036ad0: 4a30 ldr r2, [pc, #192] ; (8036b94 ) 8036ad2: fba2 1203 umull r1, r2, r2, r3 8036ad6: 0952 lsrs r2, r2, #5 8036ad8: 2164 movs r1, #100 ; 0x64 8036ada: fb01 f202 mul.w r2, r1, r2 8036ade: 1a9a subs r2, r3, r2 8036ae0: 4b2d ldr r3, [pc, #180] ; (8036b98 ) 8036ae2: fba3 1302 umull r1, r3, r3, r2 8036ae6: 08d9 lsrs r1, r3, #3 8036ae8: 460b mov r3, r1 8036aea: 009b lsls r3, r3, #2 8036aec: 440b add r3, r1 8036aee: 005b lsls r3, r3, #1 8036af0: 1ad1 subs r1, r2, r3 8036af2: b2cb uxtb r3, r1 8036af4: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8036af8: 4b21 ldr r3, [pc, #132] ; (8036b80 ) 8036afa: 781b ldrb r3, [r3, #0] 8036afc: b2db uxtb r3, r3 8036afe: 3b1f subs r3, #31 8036b00: 2b05 cmp r3, #5 8036b02: d851 bhi.n 8036ba8 8036b04: a201 add r2, pc, #4 ; (adr r2, 8036b0c ) 8036b06: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8036b0a: bf00 nop 8036b0c: 08036b25 .word 0x08036b25 8036b10: 08036b33 .word 0x08036b33 8036b14: 08036b43 .word 0x08036b43 8036b18: 08036b51 .word 0x08036b51 8036b1c: 08036b5d .word 0x08036b5d 8036b20: 08036b9d .word 0x08036b9d k += 100000; 8036b24: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036b28: 4b17 ldr r3, [pc, #92] ; (8036b88 ) 8036b2a: 4413 add r3, r2 8036b2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036b30: e03a b.n 8036ba8 k += 10000; 8036b32: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036b36: f242 7310 movw r3, #10000 ; 0x2710 8036b3a: 4413 add r3, r2 8036b3c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036b40: e032 b.n 8036ba8 k += 1000; 8036b42: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036b46: f503 737a add.w r3, r3, #1000 ; 0x3e8 8036b4a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036b4e: e02b b.n 8036ba8 k += 100; 8036b50: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036b54: 3364 adds r3, #100 ; 0x64 8036b56: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036b5a: e025 b.n 8036ba8 k += 10; 8036b5c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036b60: 330a adds r3, #10 8036b62: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036b66: e01f b.n 8036ba8 8036b68: 000f423f .word 0x000f423f 8036b6c: 20021055 .word 0x20021055 8036b70: 20021057 .word 0x20021057 8036b74: 20023ea8 .word 0x20023ea8 8036b78: 3dcccccd .word 0x3dcccccd 8036b7c: 3d4ccccd .word 0x3d4ccccd 8036b80: 20020070 .word 0x20020070 8036b84: 0a7c5ac5 .word 0x0a7c5ac5 8036b88: 000186a0 .word 0x000186a0 8036b8c: d1b71759 .word 0xd1b71759 8036b90: 10624dd3 .word 0x10624dd3 8036b94: 51eb851f .word 0x51eb851f 8036b98: cccccccd .word 0xcccccccd k++; 8036b9c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036ba0: 3301 adds r3, #1 8036ba2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036ba6: bf00 nop if(k > 999999) k = 999999; 8036ba8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036bac: 4ab7 ldr r2, [pc, #732] ; (8036e8c ) 8036bae: 4293 cmp r3, r2 8036bb0: d902 bls.n 8036bb8 8036bb2: 4bb6 ldr r3, [pc, #728] ; (8036e8c ) 8036bb4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8036bb8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036bbc: 2b00 cmp r3, #0 8036bbe: d102 bne.n 8036bc6 8036bc0: 2301 movs r3, #1 8036bc2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_A[CURR_POINT][CURR_USL] = (float32_t) k; 8036bc6: 4bb2 ldr r3, [pc, #712] ; (8036e90 ) 8036bc8: 781b ldrb r3, [r3, #0] 8036bca: b2db uxtb r3, r3 8036bcc: 4618 mov r0, r3 8036bce: 4bb1 ldr r3, [pc, #708] ; (8036e94 ) 8036bd0: 781b ldrb r3, [r3, #0] 8036bd2: b2db uxtb r3, r3 8036bd4: 4619 mov r1, r3 8036bd6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036bda: ee07 3a90 vmov s15, r3 8036bde: eef8 7a67 vcvt.f32.u32 s15, s15 8036be2: 4aad ldr r2, [pc, #692] ; (8036e98 ) 8036be4: 0083 lsls r3, r0, #2 8036be6: 440b add r3, r1 8036be8: 33f6 adds r3, #246 ; 0xf6 8036bea: 009b lsls r3, r3, #2 8036bec: 4413 add r3, r2 8036bee: 3304 adds r3, #4 8036bf0: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] *= 0.1f; 8036bf4: 4ba6 ldr r3, [pc, #664] ; (8036e90 ) 8036bf6: 781b ldrb r3, [r3, #0] 8036bf8: b2da uxtb r2, r3 8036bfa: 4610 mov r0, r2 8036bfc: 4ba5 ldr r3, [pc, #660] ; (8036e94 ) 8036bfe: 781b ldrb r3, [r3, #0] 8036c00: b2db uxtb r3, r3 8036c02: 4619 mov r1, r3 8036c04: 4615 mov r5, r2 8036c06: 461c mov r4, r3 8036c08: 4aa3 ldr r2, [pc, #652] ; (8036e98 ) 8036c0a: 00ab lsls r3, r5, #2 8036c0c: 4423 add r3, r4 8036c0e: 33f6 adds r3, #246 ; 0xf6 8036c10: 009b lsls r3, r3, #2 8036c12: 4413 add r3, r2 8036c14: 3304 adds r3, #4 8036c16: edd3 7a00 vldr s15, [r3] 8036c1a: ed9f 7aa0 vldr s14, [pc, #640] ; 8036e9c 8036c1e: ee67 7a87 vmul.f32 s15, s15, s14 8036c22: 4a9d ldr r2, [pc, #628] ; (8036e98 ) 8036c24: 0083 lsls r3, r0, #2 8036c26: 440b add r3, r1 8036c28: 33f6 adds r3, #246 ; 0xf6 8036c2a: 009b lsls r3, r3, #2 8036c2c: 4413 add r3, r2 8036c2e: 3304 adds r3, #4 8036c30: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] += 0.05f; 8036c34: 4b96 ldr r3, [pc, #600] ; (8036e90 ) 8036c36: 781b ldrb r3, [r3, #0] 8036c38: b2da uxtb r2, r3 8036c3a: 4610 mov r0, r2 8036c3c: 4b95 ldr r3, [pc, #596] ; (8036e94 ) 8036c3e: 781b ldrb r3, [r3, #0] 8036c40: b2db uxtb r3, r3 8036c42: 4619 mov r1, r3 8036c44: 4615 mov r5, r2 8036c46: 461c mov r4, r3 8036c48: 4a93 ldr r2, [pc, #588] ; (8036e98 ) 8036c4a: 00ab lsls r3, r5, #2 8036c4c: 4423 add r3, r4 8036c4e: 33f6 adds r3, #246 ; 0xf6 8036c50: 009b lsls r3, r3, #2 8036c52: 4413 add r3, r2 8036c54: 3304 adds r3, #4 8036c56: edd3 7a00 vldr s15, [r3] 8036c5a: ed9f 7a91 vldr s14, [pc, #580] ; 8036ea0 8036c5e: ee77 7a87 vadd.f32 s15, s15, s14 8036c62: 4a8d ldr r2, [pc, #564] ; (8036e98 ) 8036c64: 0083 lsls r3, r0, #2 8036c66: 440b add r3, r1 8036c68: 33f6 adds r3, #246 ; 0xf6 8036c6a: 009b lsls r3, r3, #2 8036c6c: 4413 add r3, r2 8036c6e: 3304 adds r3, #4 8036c70: edc3 7a00 vstr s15, [r3] break; 8036c74: f005 bc4f b.w 803c516 8036c78: f005 bc4d b.w 803c516 case ROLL_RESULTS: if(menupos > 0) menupos--; 8036c7c: 4b89 ldr r3, [pc, #548] ; (8036ea4 ) 8036c7e: 781b ldrb r3, [r3, #0] 8036c80: b2db uxtb r3, r3 8036c82: 2b00 cmp r3, #0 8036c84: d008 beq.n 8036c98 8036c86: 4b87 ldr r3, [pc, #540] ; (8036ea4 ) 8036c88: 781b ldrb r3, [r3, #0] 8036c8a: b2db uxtb r3, r3 8036c8c: 3b01 subs r3, #1 8036c8e: b2da uxtb r2, r3 8036c90: 4b84 ldr r3, [pc, #528] ; (8036ea4 ) 8036c92: 701a strb r2, [r3, #0] else menupos = 11; break; 8036c94: f005 bc8b b.w 803c5ae else menupos = 11; 8036c98: 4b82 ldr r3, [pc, #520] ; (8036ea4 ) 8036c9a: 220b movs r2, #11 8036c9c: 701a strb r2, [r3, #0] break; 8036c9e: f005 bc86 b.w 803c5ae case TREND_A: menu = TREND_V; 8036ca2: 4b81 ldr r3, [pc, #516] ; (8036ea8 ) 8036ca4: 2246 movs r2, #70 ; 0x46 8036ca6: 701a strb r2, [r3, #0] break; 8036ca8: f005 bc81 b.w 803c5ae case TREND_V: menu = TREND_S; 8036cac: 4b7e ldr r3, [pc, #504] ; (8036ea8 ) 8036cae: 2247 movs r2, #71 ; 0x47 8036cb0: 701a strb r2, [r3, #0] break; 8036cb2: f005 bc7c b.w 803c5ae case TREND_S: menu = TREND_A; 8036cb6: 4b7c ldr r3, [pc, #496] ; (8036ea8 ) 8036cb8: 2245 movs r2, #69 ; 0x45 8036cba: 701a strb r2, [r3, #0] break; 8036cbc: f005 bc77 b.w 803c5ae case MAIN_UDAR: if(AUTOKU) 8036cc0: 4b7a ldr r3, [pc, #488] ; (8036eac ) 8036cc2: 781b ldrb r3, [r3, #0] 8036cc4: b2db uxtb r3, r3 8036cc6: 2b00 cmp r3, #0 8036cc8: d002 beq.n 8036cd0 AUTOKU = false; 8036cca: 4b78 ldr r3, [pc, #480] ; (8036eac ) 8036ccc: 2200 movs r2, #0 8036cce: 701a strb r2, [r3, #0] if(pardata.IKU < Ku8) 8036cd0: 4b71 ldr r3, [pc, #452] ; (8036e98 ) 8036cd2: 7a1b ldrb r3, [r3, #8] 8036cd4: b2db uxtb r3, r3 8036cd6: 2b02 cmp r3, #2 8036cd8: d80a bhi.n 8036cf0 { pardata.IKU++; 8036cda: 4b6f ldr r3, [pc, #444] ; (8036e98 ) 8036cdc: 7a1b ldrb r3, [r3, #8] 8036cde: b2db uxtb r3, r3 8036ce0: 3301 adds r3, #1 8036ce2: b2da uxtb r2, r3 8036ce4: 4b6c ldr r3, [pc, #432] ; (8036e98 ) 8036ce6: 721a strb r2, [r3, #8] SetKU(); 8036ce8: f7ea fdc4 bl 8021874 } else pardata.IKU = Ku8; break; 8036cec: f005 bc5f b.w 803c5ae pardata.IKU = Ku8; 8036cf0: 4b69 ldr r3, [pc, #420] ; (8036e98 ) 8036cf2: 2203 movs r2, #3 8036cf4: 721a strb r2, [r3, #8] break; 8036cf6: f005 bc5a b.w 803c5ae case MAIN_DIAGN: switch(menupos) 8036cfa: 4b6a ldr r3, [pc, #424] ; (8036ea4 ) 8036cfc: 781b ldrb r3, [r3, #0] 8036cfe: b2db uxtb r3, r3 8036d00: 2b03 cmp r3, #3 8036d02: d003 beq.n 8036d0c 8036d04: 2b04 cmp r3, #4 8036d06: d032 beq.n 8036d6e } } } break; } break; 8036d08: f005 bc51 b.w 803c5ae if((!measuring) && (!ReadFromFile)) 8036d0c: 4b68 ldr r3, [pc, #416] ; (8036eb0 ) 8036d0e: 781b ldrb r3, [r3, #0] 8036d10: b2db uxtb r3, r3 8036d12: f083 0301 eor.w r3, r3, #1 8036d16: b2db uxtb r3, r3 8036d18: 2b00 cmp r3, #0 8036d1a: d064 beq.n 8036de6 8036d1c: 4b65 ldr r3, [pc, #404] ; (8036eb4 ) 8036d1e: 781b ldrb r3, [r3, #0] 8036d20: b2db uxtb r3, r3 8036d22: f083 0301 eor.w r3, r3, #1 8036d26: b2db uxtb r3, r3 8036d28: 2b00 cmp r3, #0 8036d2a: d05c beq.n 8036de6 if(CardState == MSD_READY) 8036d2c: 4b62 ldr r3, [pc, #392] ; (8036eb8 ) 8036d2e: 781b ldrb r3, [r3, #0] 8036d30: b2db uxtb r3, r3 8036d32: 2b03 cmp r3, #3 8036d34: d157 bne.n 8036de6 if(NextIndexPoint < NUM_POINTS - 1) 8036d36: 4b61 ldr r3, [pc, #388] ; (8036ebc ) 8036d38: 681b ldr r3, [r3, #0] 8036d3a: f240 32e6 movw r2, #998 ; 0x3e6 8036d3e: 4293 cmp r3, r2 8036d40: d851 bhi.n 8036de6 NextIndexPoint++; 8036d42: 4b5e ldr r3, [pc, #376] ; (8036ebc ) 8036d44: 681b ldr r3, [r3, #0] 8036d46: 3301 adds r3, #1 8036d48: 4a5c ldr r2, [pc, #368] ; (8036ebc ) 8036d4a: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 8036d4c: 4b5b ldr r3, [pc, #364] ; (8036ebc ) 8036d4e: 681b ldr r3, [r3, #0] 8036d50: 4a5b ldr r2, [pc, #364] ; (8036ec0 ) 8036d52: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8036d56: 4a5b ldr r2, [pc, #364] ; (8036ec4 ) 8036d58: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 8036d5a: 485b ldr r0, [pc, #364] ; (8036ec8 ) 8036d5c: f7f0 fb3e bl 80273dc 8036d60: 4603 mov r3, r0 8036d62: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 8036d66: 4b59 ldr r3, [pc, #356] ; (8036ecc ) 8036d68: 2200 movs r2, #0 8036d6a: 701a strb r2, [r3, #0] break; 8036d6c: e03b b.n 8036de6 if((!measuring) && (!ReadFromFile)) 8036d6e: 4b50 ldr r3, [pc, #320] ; (8036eb0 ) 8036d70: 781b ldrb r3, [r3, #0] 8036d72: b2db uxtb r3, r3 8036d74: f083 0301 eor.w r3, r3, #1 8036d78: b2db uxtb r3, r3 8036d7a: 2b00 cmp r3, #0 8036d7c: d036 beq.n 8036dec 8036d7e: 4b4d ldr r3, [pc, #308] ; (8036eb4 ) 8036d80: 781b ldrb r3, [r3, #0] 8036d82: b2db uxtb r3, r3 8036d84: f083 0301 eor.w r3, r3, #1 8036d88: b2db uxtb r3, r3 8036d8a: 2b00 cmp r3, #0 8036d8c: d02e beq.n 8036dec if(CardState == MSD_READY) 8036d8e: 4b4a ldr r3, [pc, #296] ; (8036eb8 ) 8036d90: 781b ldrb r3, [r3, #0] 8036d92: b2db uxtb r3, r3 8036d94: 2b03 cmp r3, #3 8036d96: d129 bne.n 8036dec if(NextIndexMeas < IndexMeas[NextIndexPoint]) 8036d98: 4b48 ldr r3, [pc, #288] ; (8036ebc ) 8036d9a: 681b ldr r3, [r3, #0] 8036d9c: 4a48 ldr r2, [pc, #288] ; (8036ec0 ) 8036d9e: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8036da2: 4b48 ldr r3, [pc, #288] ; (8036ec4 ) 8036da4: 681b ldr r3, [r3, #0] 8036da6: 429a cmp r2, r3 8036da8: d920 bls.n 8036dec if(NextIndexMeas < 999) 8036daa: 4b46 ldr r3, [pc, #280] ; (8036ec4 ) 8036dac: 681b ldr r3, [r3, #0] 8036dae: f240 32e6 movw r2, #998 ; 0x3e6 8036db2: 4293 cmp r3, r2 8036db4: d81a bhi.n 8036dec NextIndexMeas++; 8036db6: 4b43 ldr r3, [pc, #268] ; (8036ec4 ) 8036db8: 681b ldr r3, [r3, #0] 8036dba: 3301 adds r3, #1 8036dbc: 4a41 ldr r2, [pc, #260] ; (8036ec4 ) 8036dbe: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 8036dc0: 4841 ldr r0, [pc, #260] ; (8036ec8 ) 8036dc2: f7f0 fb0b bl 80273dc 8036dc6: 4603 mov r3, r0 8036dc8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 8036dcc: 4b3b ldr r3, [pc, #236] ; (8036ebc ) 8036dce: 681b ldr r3, [r3, #0] 8036dd0: 4a3b ldr r2, [pc, #236] ; (8036ec0 ) 8036dd2: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8036dd6: 4b3b ldr r3, [pc, #236] ; (8036ec4 ) 8036dd8: 681b ldr r3, [r3, #0] 8036dda: 429a cmp r2, r3 8036ddc: d106 bne.n 8036dec DrawSavedData = false; 8036dde: 4b3b ldr r3, [pc, #236] ; (8036ecc ) 8036de0: 2200 movs r2, #0 8036de2: 701a strb r2, [r3, #0] break; 8036de4: e002 b.n 8036dec break; 8036de6: bf00 nop 8036de8: f005 bbe1 b.w 803c5ae break; 8036dec: bf00 nop break; 8036dee: f005 bbde b.w 803c5ae case MAIN: case MAIN_FRAN: switch(menupos) 8036df2: 4b2c ldr r3, [pc, #176] ; (8036ea4 ) 8036df4: 781b ldrb r3, [r3, #0] 8036df6: b2db uxtb r3, r3 8036df8: 2b06 cmp r3, #6 8036dfa: f205 838f bhi.w 803c51c 8036dfe: a201 add r2, pc, #4 ; (adr r2, 8036e04 ) 8036e00: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8036e04: 08036f4d .word 0x08036f4d 8036e08: 0803c51d .word 0x0803c51d 8036e0c: 08036f4d .word 0x08036f4d 8036e10: 08036e21 .word 0x08036e21 8036e14: 08036ed5 .word 0x08036ed5 8036e18: 0803c51d .word 0x0803c51d 8036e1c: 08036f4d .word 0x08036f4d { case MyPoint: if((!measuring) && (!ReadFromFile)) 8036e20: 4b23 ldr r3, [pc, #140] ; (8036eb0 ) 8036e22: 781b ldrb r3, [r3, #0] 8036e24: b2db uxtb r3, r3 8036e26: f083 0301 eor.w r3, r3, #1 8036e2a: b2db uxtb r3, r3 8036e2c: 2b00 cmp r3, #0 8036e2e: f000 80cd beq.w 8036fcc 8036e32: 4b20 ldr r3, [pc, #128] ; (8036eb4 ) 8036e34: 781b ldrb r3, [r3, #0] 8036e36: b2db uxtb r3, r3 8036e38: f083 0301 eor.w r3, r3, #1 8036e3c: b2db uxtb r3, r3 8036e3e: 2b00 cmp r3, #0 8036e40: f000 80c4 beq.w 8036fcc { if(CardState == MSD_READY) 8036e44: 4b1c ldr r3, [pc, #112] ; (8036eb8 ) 8036e46: 781b ldrb r3, [r3, #0] 8036e48: b2db uxtb r3, r3 8036e4a: 2b03 cmp r3, #3 8036e4c: f040 80be bne.w 8036fcc { if(NextIndexPoint < NUM_POINTS - 1) 8036e50: 4b1a ldr r3, [pc, #104] ; (8036ebc ) 8036e52: 681b ldr r3, [r3, #0] 8036e54: f240 32e6 movw r2, #998 ; 0x3e6 8036e58: 4293 cmp r3, r2 8036e5a: f200 80b7 bhi.w 8036fcc { NextIndexPoint++; 8036e5e: 4b17 ldr r3, [pc, #92] ; (8036ebc ) 8036e60: 681b ldr r3, [r3, #0] 8036e62: 3301 adds r3, #1 8036e64: 4a15 ldr r2, [pc, #84] ; (8036ebc ) 8036e66: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 8036e68: 4b14 ldr r3, [pc, #80] ; (8036ebc ) 8036e6a: 681b ldr r3, [r3, #0] 8036e6c: 4a14 ldr r2, [pc, #80] ; (8036ec0 ) 8036e6e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8036e72: 4a14 ldr r2, [pc, #80] ; (8036ec4 ) 8036e74: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 8036e76: 4816 ldr r0, [pc, #88] ; (8036ed0 ) 8036e78: f7f0 f82c bl 8026ed4 8036e7c: 4603 mov r3, r0 8036e7e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 8036e82: 4b12 ldr r3, [pc, #72] ; (8036ecc ) 8036e84: 2200 movs r2, #0 8036e86: 701a strb r2, [r3, #0] } } } break; 8036e88: e0a0 b.n 8036fcc 8036e8a: bf00 nop 8036e8c: 000f423f .word 0x000f423f 8036e90: 20021055 .word 0x20021055 8036e94: 20021057 .word 0x20021057 8036e98: 20023ea8 .word 0x20023ea8 8036e9c: 3dcccccd .word 0x3dcccccd 8036ea0: 3d4ccccd .word 0x3d4ccccd 8036ea4: 20020070 .word 0x20020070 8036ea8: 20020fbd .word 0x20020fbd 8036eac: 20020029 .word 0x20020029 8036eb0: 20020dcf .word 0x20020dcf 8036eb4: 20020de9 .word 0x20020de9 8036eb8: 20021694 .word 0x20021694 8036ebc: 20021fe4 .word 0x20021fe4 8036ec0: 20022ee8 .word 0x20022ee8 8036ec4: 20022358 .word 0x20022358 8036ec8: 20020e9c .word 0x20020e9c 8036ecc: 20020dea .word 0x20020dea 8036ed0: 20020e78 .word 0x20020e78 case MyMeasure: if((!measuring) && (!ReadFromFile)) 8036ed4: 4bb1 ldr r3, [pc, #708] ; (803719c ) 8036ed6: 781b ldrb r3, [r3, #0] 8036ed8: b2db uxtb r3, r3 8036eda: f083 0301 eor.w r3, r3, #1 8036ede: b2db uxtb r3, r3 8036ee0: 2b00 cmp r3, #0 8036ee2: d076 beq.n 8036fd2 8036ee4: 4bae ldr r3, [pc, #696] ; (80371a0 ) 8036ee6: 781b ldrb r3, [r3, #0] 8036ee8: b2db uxtb r3, r3 8036eea: f083 0301 eor.w r3, r3, #1 8036eee: b2db uxtb r3, r3 8036ef0: 2b00 cmp r3, #0 8036ef2: d06e beq.n 8036fd2 { if(CardState == MSD_READY) 8036ef4: 4bab ldr r3, [pc, #684] ; (80371a4 ) 8036ef6: 781b ldrb r3, [r3, #0] 8036ef8: b2db uxtb r3, r3 8036efa: 2b03 cmp r3, #3 8036efc: d169 bne.n 8036fd2 { if(NextIndexMeas < IndexMeas[NextIndexPoint]) 8036efe: 4baa ldr r3, [pc, #680] ; (80371a8 ) 8036f00: 681b ldr r3, [r3, #0] 8036f02: 4aaa ldr r2, [pc, #680] ; (80371ac ) 8036f04: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8036f08: 4ba9 ldr r3, [pc, #676] ; (80371b0 ) 8036f0a: 681b ldr r3, [r3, #0] 8036f0c: 429a cmp r2, r3 8036f0e: d960 bls.n 8036fd2 { if(NextIndexMeas < 999) 8036f10: 4ba7 ldr r3, [pc, #668] ; (80371b0 ) 8036f12: 681b ldr r3, [r3, #0] 8036f14: f240 32e6 movw r2, #998 ; 0x3e6 8036f18: 4293 cmp r3, r2 8036f1a: d85a bhi.n 8036fd2 { NextIndexMeas++; 8036f1c: 4ba4 ldr r3, [pc, #656] ; (80371b0 ) 8036f1e: 681b ldr r3, [r3, #0] 8036f20: 3301 adds r3, #1 8036f22: 4aa3 ldr r2, [pc, #652] ; (80371b0 ) 8036f24: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 8036f26: 48a3 ldr r0, [pc, #652] ; (80371b4 ) 8036f28: f7ef ffd4 bl 8026ed4 8036f2c: 4603 mov r3, r0 8036f2e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 8036f32: 4b9d ldr r3, [pc, #628] ; (80371a8 ) 8036f34: 681b ldr r3, [r3, #0] 8036f36: 4a9d ldr r2, [pc, #628] ; (80371ac ) 8036f38: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8036f3c: 4b9c ldr r3, [pc, #624] ; (80371b0 ) 8036f3e: 681b ldr r3, [r3, #0] 8036f40: 429a cmp r2, r3 8036f42: d146 bne.n 8036fd2 { DrawSavedData = false; 8036f44: 4b9c ldr r3, [pc, #624] ; (80371b8 ) 8036f46: 2200 movs r2, #0 8036f48: 701a strb r2, [r3, #0] } } } } } break; 8036f4a: e042 b.n 8036fd2 case MyLinLog: case StartStop: case Record: if(!ReadFromFile) 8036f4c: 4b94 ldr r3, [pc, #592] ; (80371a0 ) 8036f4e: 781b ldrb r3, [r3, #0] 8036f50: b2db uxtb r3, r3 8036f52: f083 0301 eor.w r3, r3, #1 8036f56: b2db uxtb r3, r3 8036f58: 2b00 cmp r3, #0 8036f5a: d03d beq.n 8036fd8 { if((CardState == MSD_READY) && (strlen(MeasFileName))) 8036f5c: 4b91 ldr r3, [pc, #580] ; (80371a4 ) 8036f5e: 781b ldrb r3, [r3, #0] 8036f60: b2db uxtb r3, r3 8036f62: 2b03 cmp r3, #3 8036f64: d138 bne.n 8036fd8 8036f66: 4b93 ldr r3, [pc, #588] ; (80371b4 ) 8036f68: 781b ldrb r3, [r3, #0] 8036f6a: 2b00 cmp r3, #0 8036f6c: d034 beq.n 8036fd8 { if(measuring) 8036f6e: 4b8b ldr r3, [pc, #556] ; (803719c ) 8036f70: 781b ldrb r3, [r3, #0] 8036f72: b2db uxtb r3, r3 8036f74: 2b00 cmp r3, #0 8036f76: d001 beq.n 8036f7c StopMeas(); 8036f78: f7ec fc10 bl 802379c result = ReadTrendPTM(MeasFileName); 8036f7c: 488d ldr r0, [pc, #564] ; (80371b4 ) 8036f7e: f7ef fde3 bl 8026b48 8036f82: 4603 mov r3, r0 8036f84: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8036f88: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8036f8c: 2b00 cmp r3, #0 8036f8e: d112 bne.n 8036fb6 { lastmenu = menu; 8036f90: 4b8a ldr r3, [pc, #552] ; (80371bc ) 8036f92: 781b ldrb r3, [r3, #0] 8036f94: b2da uxtb r2, r3 8036f96: 4b8a ldr r3, [pc, #552] ; (80371c0 ) 8036f98: 701a strb r2, [r3, #0] menu = TREND_A; 8036f9a: 4b88 ldr r3, [pc, #544] ; (80371bc ) 8036f9c: 2245 movs r2, #69 ; 0x45 8036f9e: 701a strb r2, [r3, #0] lastmenupos = menupos; 8036fa0: 4b88 ldr r3, [pc, #544] ; (80371c4 ) 8036fa2: 781b ldrb r3, [r3, #0] 8036fa4: b2da uxtb r2, r3 8036fa6: 4b88 ldr r3, [pc, #544] ; (80371c8 ) 8036fa8: 701a strb r2, [r3, #0] menupos = pardata.IVS[ACC]; 8036faa: 4b88 ldr r3, [pc, #544] ; (80371cc ) 8036fac: 789b ldrb r3, [r3, #2] 8036fae: b2da uxtb r2, r3 8036fb0: 4b84 ldr r3, [pc, #528] ; (80371c4 ) 8036fb2: 701a strb r2, [r3, #0] timerStatus = sec2; DrawStatus = true; } } } break; 8036fb4: e010 b.n 8036fd8 STATUS = AP_INVALID_FILE; 8036fb6: 4b86 ldr r3, [pc, #536] ; (80371d0 ) 8036fb8: 2202 movs r2, #2 8036fba: 601a str r2, [r3, #0] timerStatus = sec2; 8036fbc: 4b85 ldr r3, [pc, #532] ; (80371d4 ) 8036fbe: f44f 5280 mov.w r2, #4096 ; 0x1000 8036fc2: 801a strh r2, [r3, #0] DrawStatus = true; 8036fc4: 4b84 ldr r3, [pc, #528] ; (80371d8 ) 8036fc6: 2201 movs r2, #1 8036fc8: 701a strb r2, [r3, #0] break; 8036fca: e005 b.n 8036fd8 break; 8036fcc: bf00 nop 8036fce: f005 baa5 b.w 803c51c break; 8036fd2: bf00 nop 8036fd4: f005 baa2 b.w 803c51c break; 8036fd8: bf00 nop } break; 8036fda: f005 ba9f b.w 803c51c case MAIN_OSC: if(menupos == Cursor) 8036fde: 4b79 ldr r3, [pc, #484] ; (80371c4 ) 8036fe0: 781b ldrb r3, [r3, #0] 8036fe2: b2db uxtb r3, r3 8036fe4: 2b06 cmp r3, #6 8036fe6: d104 bne.n 8036ff2 { //menupos = lastmenupos; ZOOM_IN = true; 8036fe8: 4b7c ldr r3, [pc, #496] ; (80371dc ) 8036fea: 2201 movs r2, #1 8036fec: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ImageLeft; else if(menupos == ImageLeft) menupos = StartStop; break; 8036fee: f005 ba98 b.w 803c522 if(menupos == StartStop) 8036ff2: 4b74 ldr r3, [pc, #464] ; (80371c4 ) 8036ff4: 781b ldrb r3, [r3, #0] 8036ff6: b2db uxtb r3, r3 8036ff8: 2b00 cmp r3, #0 8036ffa: d104 bne.n 8037006 menupos = ZoomOut; 8036ffc: 4b71 ldr r3, [pc, #452] ; (80371c4 ) 8036ffe: 2204 movs r2, #4 8037000: 701a strb r2, [r3, #0] break; 8037002: f005 ba8e b.w 803c522 if(menupos == ZoomOut) 8037006: 4b6f ldr r3, [pc, #444] ; (80371c4 ) 8037008: 781b ldrb r3, [r3, #0] 803700a: b2db uxtb r3, r3 803700c: 2b04 cmp r3, #4 803700e: d104 bne.n 803701a menupos = ZoomIn; 8037010: 4b6c ldr r3, [pc, #432] ; (80371c4 ) 8037012: 2203 movs r2, #3 8037014: 701a strb r2, [r3, #0] break; 8037016: f005 ba84 b.w 803c522 if(menupos == ZoomIn) 803701a: 4b6a ldr r3, [pc, #424] ; (80371c4 ) 803701c: 781b ldrb r3, [r3, #0] 803701e: b2db uxtb r3, r3 8037020: 2b03 cmp r3, #3 8037022: d104 bne.n 803702e menupos = ImageRight; 8037024: 4b67 ldr r3, [pc, #412] ; (80371c4 ) 8037026: 2205 movs r2, #5 8037028: 701a strb r2, [r3, #0] break; 803702a: f005 ba7a b.w 803c522 if(menupos == ImageRight) 803702e: 4b65 ldr r3, [pc, #404] ; (80371c4 ) 8037030: 781b ldrb r3, [r3, #0] 8037032: b2db uxtb r3, r3 8037034: 2b05 cmp r3, #5 8037036: d104 bne.n 8037042 menupos = ImageLeft; 8037038: 4b62 ldr r3, [pc, #392] ; (80371c4 ) 803703a: 2202 movs r2, #2 803703c: 701a strb r2, [r3, #0] break; 803703e: f005 ba70 b.w 803c522 if(menupos == ImageLeft) 8037042: 4b60 ldr r3, [pc, #384] ; (80371c4 ) 8037044: 781b ldrb r3, [r3, #0] 8037046: b2db uxtb r3, r3 8037048: 2b02 cmp r3, #2 803704a: f045 826a bne.w 803c522 menupos = StartStop; 803704e: 4b5d ldr r3, [pc, #372] ; (80371c4 ) 8037050: 2200 movs r2, #0 8037052: 701a strb r2, [r3, #0] break; 8037054: f005 ba65 b.w 803c522 case MAIN_SPEC: if(menupos == Cursor) 8037058: 4b5a ldr r3, [pc, #360] ; (80371c4 ) 803705a: 781b ldrb r3, [r3, #0] 803705c: b2db uxtb r3, r3 803705e: 2b06 cmp r3, #6 8037060: d104 bne.n 803706c { //menupos = lastmenupos; ZOOM_IN = true; 8037062: 4b5e ldr r3, [pc, #376] ; (80371dc ) 8037064: 2201 movs r2, #1 8037066: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 8037068: f005 ba5e b.w 803c528 if(menupos == StartStop) 803706c: 4b55 ldr r3, [pc, #340] ; (80371c4 ) 803706e: 781b ldrb r3, [r3, #0] 8037070: b2db uxtb r3, r3 8037072: 2b00 cmp r3, #0 8037074: d104 bne.n 8037080 menupos = ZoomOut; 8037076: 4b53 ldr r3, [pc, #332] ; (80371c4 ) 8037078: 2204 movs r2, #4 803707a: 701a strb r2, [r3, #0] break; 803707c: f005 ba54 b.w 803c528 if(menupos == ZoomOut) 8037080: 4b50 ldr r3, [pc, #320] ; (80371c4 ) 8037082: 781b ldrb r3, [r3, #0] 8037084: b2db uxtb r3, r3 8037086: 2b04 cmp r3, #4 8037088: d104 bne.n 8037094 menupos = ZoomIn; 803708a: 4b4e ldr r3, [pc, #312] ; (80371c4 ) 803708c: 2203 movs r2, #3 803708e: 701a strb r2, [r3, #0] break; 8037090: f005 ba4a b.w 803c528 if(menupos == ZoomIn) 8037094: 4b4b ldr r3, [pc, #300] ; (80371c4 ) 8037096: 781b ldrb r3, [r3, #0] 8037098: b2db uxtb r3, r3 803709a: 2b03 cmp r3, #3 803709c: d104 bne.n 80370a8 menupos = ImageRight; 803709e: 4b49 ldr r3, [pc, #292] ; (80371c4 ) 80370a0: 2205 movs r2, #5 80370a2: 701a strb r2, [r3, #0] break; 80370a4: f005 ba40 b.w 803c528 if(menupos == ImageRight) 80370a8: 4b46 ldr r3, [pc, #280] ; (80371c4 ) 80370aa: 781b ldrb r3, [r3, #0] 80370ac: b2db uxtb r3, r3 80370ae: 2b05 cmp r3, #5 80370b0: d104 bne.n 80370bc menupos = ImageLeft; 80370b2: 4b44 ldr r3, [pc, #272] ; (80371c4 ) 80370b4: 2202 movs r2, #2 80370b6: 701a strb r2, [r3, #0] break; 80370b8: f005 ba36 b.w 803c528 if(menupos == ImageLeft) 80370bc: 4b41 ldr r3, [pc, #260] ; (80371c4 ) 80370be: 781b ldrb r3, [r3, #0] 80370c0: b2db uxtb r3, r3 80370c2: 2b02 cmp r3, #2 80370c4: d10e bne.n 80370e4 if(READY_TO_SEE) 80370c6: 4b46 ldr r3, [pc, #280] ; (80371e0 ) 80370c8: 781b ldrb r3, [r3, #0] 80370ca: b2db uxtb r3, r3 80370cc: 2b00 cmp r3, #0 80370ce: d004 beq.n 80370da menupos = SaveSpec; 80370d0: 4b3c ldr r3, [pc, #240] ; (80371c4 ) 80370d2: 2209 movs r2, #9 80370d4: 701a strb r2, [r3, #0] break; 80370d6: f005 ba27 b.w 803c528 else menupos = StartStop; 80370da: 4b3a ldr r3, [pc, #232] ; (80371c4 ) 80370dc: 2200 movs r2, #0 80370de: 701a strb r2, [r3, #0] break; 80370e0: f005 ba22 b.w 803c528 if(menupos == SaveSpec) 80370e4: 4b37 ldr r3, [pc, #220] ; (80371c4 ) 80370e6: 781b ldrb r3, [r3, #0] 80370e8: b2db uxtb r3, r3 80370ea: 2b09 cmp r3, #9 80370ec: f045 821c bne.w 803c528 menupos = StartStop; 80370f0: 4b34 ldr r3, [pc, #208] ; (80371c4 ) 80370f2: 2200 movs r2, #0 80370f4: 701a strb r2, [r3, #0] break; 80370f6: f005 ba17 b.w 803c528 case VIEW_PORTRET: if(menupos == Cursor) 80370fa: 4b32 ldr r3, [pc, #200] ; (80371c4 ) 80370fc: 781b ldrb r3, [r3, #0] 80370fe: b2db uxtb r3, r3 8037100: 2b06 cmp r3, #6 8037102: d104 bne.n 803710e { //menupos = lastmenupos; ZOOM_IN = true; 8037104: 4b35 ldr r3, [pc, #212] ; (80371dc ) 8037106: 2201 movs r2, #1 8037108: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ImageLeft; else if(menupos == ImageLeft) menupos = ZoomOut; break; 803710a: f005 ba10 b.w 803c52e if(menupos == ZoomOut) 803710e: 4b2d ldr r3, [pc, #180] ; (80371c4 ) 8037110: 781b ldrb r3, [r3, #0] 8037112: b2db uxtb r3, r3 8037114: 2b04 cmp r3, #4 8037116: d104 bne.n 8037122 menupos = ZoomIn; 8037118: 4b2a ldr r3, [pc, #168] ; (80371c4 ) 803711a: 2203 movs r2, #3 803711c: 701a strb r2, [r3, #0] break; 803711e: f005 ba06 b.w 803c52e if(menupos == ZoomIn) 8037122: 4b28 ldr r3, [pc, #160] ; (80371c4 ) 8037124: 781b ldrb r3, [r3, #0] 8037126: b2db uxtb r3, r3 8037128: 2b03 cmp r3, #3 803712a: d104 bne.n 8037136 menupos = ImageRight; 803712c: 4b25 ldr r3, [pc, #148] ; (80371c4 ) 803712e: 2205 movs r2, #5 8037130: 701a strb r2, [r3, #0] break; 8037132: f005 b9fc b.w 803c52e if(menupos == ImageRight) 8037136: 4b23 ldr r3, [pc, #140] ; (80371c4 ) 8037138: 781b ldrb r3, [r3, #0] 803713a: b2db uxtb r3, r3 803713c: 2b05 cmp r3, #5 803713e: d104 bne.n 803714a menupos = ImageLeft; 8037140: 4b20 ldr r3, [pc, #128] ; (80371c4 ) 8037142: 2202 movs r2, #2 8037144: 701a strb r2, [r3, #0] break; 8037146: f005 b9f2 b.w 803c52e if(menupos == ImageLeft) 803714a: 4b1e ldr r3, [pc, #120] ; (80371c4 ) 803714c: 781b ldrb r3, [r3, #0] 803714e: b2db uxtb r3, r3 8037150: 2b02 cmp r3, #2 8037152: f045 81ec bne.w 803c52e menupos = ZoomOut; 8037156: 4b1b ldr r3, [pc, #108] ; (80371c4 ) 8037158: 2204 movs r2, #4 803715a: 701a strb r2, [r3, #0] break; 803715c: f005 b9e7 b.w 803c52e case MAIN_ROLL: if(menupos == Cursor) 8037160: 4b18 ldr r3, [pc, #96] ; (80371c4 ) 8037162: 781b ldrb r3, [r3, #0] 8037164: b2db uxtb r3, r3 8037166: 2b06 cmp r3, #6 8037168: d104 bne.n 8037174 { //menupos = lastmenupos; ZOOM_IN = true; 803716a: 4b1c ldr r3, [pc, #112] ; (80371dc ) 803716c: 2201 movs r2, #1 803716e: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == Results) menupos = StartStop; break; 8037170: f005 b9e0 b.w 803c534 if(menupos == StartStop) 8037174: 4b13 ldr r3, [pc, #76] ; (80371c4 ) 8037176: 781b ldrb r3, [r3, #0] 8037178: b2db uxtb r3, r3 803717a: 2b00 cmp r3, #0 803717c: d104 bne.n 8037188 menupos = ZoomOut; 803717e: 4b11 ldr r3, [pc, #68] ; (80371c4 ) 8037180: 2204 movs r2, #4 8037182: 701a strb r2, [r3, #0] break; 8037184: f005 b9d6 b.w 803c534 if(menupos == ZoomOut) 8037188: 4b0e ldr r3, [pc, #56] ; (80371c4 ) 803718a: 781b ldrb r3, [r3, #0] 803718c: b2db uxtb r3, r3 803718e: 2b04 cmp r3, #4 8037190: d128 bne.n 80371e4 menupos = ZoomIn; 8037192: 4b0c ldr r3, [pc, #48] ; (80371c4 ) 8037194: 2203 movs r2, #3 8037196: 701a strb r2, [r3, #0] break; 8037198: f005 b9cc b.w 803c534 803719c: 20020dcf .word 0x20020dcf 80371a0: 20020de9 .word 0x20020de9 80371a4: 20021694 .word 0x20021694 80371a8: 20021fe4 .word 0x20021fe4 80371ac: 20022ee8 .word 0x20022ee8 80371b0: 20022358 .word 0x20022358 80371b4: 20020e78 .word 0x20020e78 80371b8: 20020dea .word 0x20020dea 80371bc: 20020fbd .word 0x20020fbd 80371c0: 20020fbe .word 0x20020fbe 80371c4: 20020070 .word 0x20020070 80371c8: 20020071 .word 0x20020071 80371cc: 20023ea8 .word 0x20023ea8 80371d0: 20020dec .word 0x20020dec 80371d4: 200216d4 .word 0x200216d4 80371d8: 20020df2 .word 0x20020df2 80371dc: 20020fad .word 0x20020fad 80371e0: 20020dae .word 0x20020dae if(menupos == ZoomIn) 80371e4: 4bb6 ldr r3, [pc, #728] ; (80374c0 ) 80371e6: 781b ldrb r3, [r3, #0] 80371e8: b2db uxtb r3, r3 80371ea: 2b03 cmp r3, #3 80371ec: d104 bne.n 80371f8 menupos = ImageRight; 80371ee: 4bb4 ldr r3, [pc, #720] ; (80374c0 ) 80371f0: 2205 movs r2, #5 80371f2: 701a strb r2, [r3, #0] break; 80371f4: f005 b99e b.w 803c534 if(menupos == ImageRight) 80371f8: 4bb1 ldr r3, [pc, #708] ; (80374c0 ) 80371fa: 781b ldrb r3, [r3, #0] 80371fc: b2db uxtb r3, r3 80371fe: 2b05 cmp r3, #5 8037200: d104 bne.n 803720c menupos = ImageLeft; 8037202: 4baf ldr r3, [pc, #700] ; (80374c0 ) 8037204: 2202 movs r2, #2 8037206: 701a strb r2, [r3, #0] break; 8037208: f005 b994 b.w 803c534 if(menupos == ImageLeft) 803720c: 4bac ldr r3, [pc, #688] ; (80374c0 ) 803720e: 781b ldrb r3, [r3, #0] 8037210: b2db uxtb r3, r3 8037212: 2b02 cmp r3, #2 8037214: d10e bne.n 8037234 if(SeeResults) 8037216: 4bab ldr r3, [pc, #684] ; (80374c4 ) 8037218: 781b ldrb r3, [r3, #0] 803721a: b2db uxtb r3, r3 803721c: 2b00 cmp r3, #0 803721e: d004 beq.n 803722a menupos = Results; 8037220: 4ba7 ldr r3, [pc, #668] ; (80374c0 ) 8037222: 2208 movs r2, #8 8037224: 701a strb r2, [r3, #0] break; 8037226: f005 b985 b.w 803c534 else menupos = StartStop; 803722a: 4ba5 ldr r3, [pc, #660] ; (80374c0 ) 803722c: 2200 movs r2, #0 803722e: 701a strb r2, [r3, #0] break; 8037230: f005 b980 b.w 803c534 if(menupos == Results) 8037234: 4ba2 ldr r3, [pc, #648] ; (80374c0 ) 8037236: 781b ldrb r3, [r3, #0] 8037238: b2db uxtb r3, r3 803723a: 2b08 cmp r3, #8 803723c: f045 817a bne.w 803c534 menupos = StartStop; 8037240: 4b9f ldr r3, [pc, #636] ; (80374c0 ) 8037242: 2200 movs r2, #0 8037244: 701a strb r2, [r3, #0] break; 8037246: f005 b975 b.w 803c534 case MAIN_SPEC_OGIB: if(menupos == Cursor) 803724a: 4b9d ldr r3, [pc, #628] ; (80374c0 ) 803724c: 781b ldrb r3, [r3, #0] 803724e: b2db uxtb r3, r3 8037250: 2b06 cmp r3, #6 8037252: d104 bne.n 803725e { //menupos = lastmenupos; ZOOM_IN = true; 8037254: 4b9c ldr r3, [pc, #624] ; (80374c8 ) 8037256: 2201 movs r2, #1 8037258: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 803725a: f005 b96e b.w 803c53a if(menupos == StartStop) 803725e: 4b98 ldr r3, [pc, #608] ; (80374c0 ) 8037260: 781b ldrb r3, [r3, #0] 8037262: b2db uxtb r3, r3 8037264: 2b00 cmp r3, #0 8037266: d104 bne.n 8037272 menupos = ZoomOut; 8037268: 4b95 ldr r3, [pc, #596] ; (80374c0 ) 803726a: 2204 movs r2, #4 803726c: 701a strb r2, [r3, #0] break; 803726e: f005 b964 b.w 803c53a if(menupos == ZoomOut) 8037272: 4b93 ldr r3, [pc, #588] ; (80374c0 ) 8037274: 781b ldrb r3, [r3, #0] 8037276: b2db uxtb r3, r3 8037278: 2b04 cmp r3, #4 803727a: d104 bne.n 8037286 menupos = ZoomIn; 803727c: 4b90 ldr r3, [pc, #576] ; (80374c0 ) 803727e: 2203 movs r2, #3 8037280: 701a strb r2, [r3, #0] break; 8037282: f005 b95a b.w 803c53a if(menupos == ZoomIn) 8037286: 4b8e ldr r3, [pc, #568] ; (80374c0 ) 8037288: 781b ldrb r3, [r3, #0] 803728a: b2db uxtb r3, r3 803728c: 2b03 cmp r3, #3 803728e: d104 bne.n 803729a menupos = ImageRight; 8037290: 4b8b ldr r3, [pc, #556] ; (80374c0 ) 8037292: 2205 movs r2, #5 8037294: 701a strb r2, [r3, #0] break; 8037296: f005 b950 b.w 803c53a if(menupos == ImageRight) 803729a: 4b89 ldr r3, [pc, #548] ; (80374c0 ) 803729c: 781b ldrb r3, [r3, #0] 803729e: b2db uxtb r3, r3 80372a0: 2b05 cmp r3, #5 80372a2: d104 bne.n 80372ae menupos = ImageLeft; 80372a4: 4b86 ldr r3, [pc, #536] ; (80374c0 ) 80372a6: 2202 movs r2, #2 80372a8: 701a strb r2, [r3, #0] break; 80372aa: f005 b946 b.w 803c53a if(menupos == ImageLeft) 80372ae: 4b84 ldr r3, [pc, #528] ; (80374c0 ) 80372b0: 781b ldrb r3, [r3, #0] 80372b2: b2db uxtb r3, r3 80372b4: 2b02 cmp r3, #2 80372b6: d10e bne.n 80372d6 if(READY_TO_SEE) 80372b8: 4b84 ldr r3, [pc, #528] ; (80374cc ) 80372ba: 781b ldrb r3, [r3, #0] 80372bc: b2db uxtb r3, r3 80372be: 2b00 cmp r3, #0 80372c0: d004 beq.n 80372cc menupos = SaveSpec; 80372c2: 4b7f ldr r3, [pc, #508] ; (80374c0 ) 80372c4: 2209 movs r2, #9 80372c6: 701a strb r2, [r3, #0] break; 80372c8: f005 b937 b.w 803c53a else menupos = StartStop; 80372cc: 4b7c ldr r3, [pc, #496] ; (80374c0 ) 80372ce: 2200 movs r2, #0 80372d0: 701a strb r2, [r3, #0] break; 80372d2: f005 b932 b.w 803c53a if(menupos == SaveSpec) 80372d6: 4b7a ldr r3, [pc, #488] ; (80374c0 ) 80372d8: 781b ldrb r3, [r3, #0] 80372da: b2db uxtb r3, r3 80372dc: 2b09 cmp r3, #9 80372de: f045 812c bne.w 803c53a menupos = StartStop; 80372e2: 4b77 ldr r3, [pc, #476] ; (80374c0 ) 80372e4: 2200 movs r2, #0 80372e6: 701a strb r2, [r3, #0] break; 80372e8: f005 b927 b.w 803c53a case MAIN_SPEC_OKT: if(menupos == Cursor) 80372ec: 4b74 ldr r3, [pc, #464] ; (80374c0 ) 80372ee: 781b ldrb r3, [r3, #0] 80372f0: b2db uxtb r3, r3 80372f2: 2b06 cmp r3, #6 80372f4: d104 bne.n 8037300 { //menupos = lastmenupos; ZOOM_IN = true; 80372f6: 4b74 ldr r3, [pc, #464] ; (80374c8 ) 80372f8: 2201 movs r2, #1 80372fa: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 80372fc: f005 b920 b.w 803c540 if(menupos == StartStop) 8037300: 4b6f ldr r3, [pc, #444] ; (80374c0 ) 8037302: 781b ldrb r3, [r3, #0] 8037304: b2db uxtb r3, r3 8037306: 2b00 cmp r3, #0 8037308: d104 bne.n 8037314 menupos = ZoomOut; 803730a: 4b6d ldr r3, [pc, #436] ; (80374c0 ) 803730c: 2204 movs r2, #4 803730e: 701a strb r2, [r3, #0] break; 8037310: f005 b916 b.w 803c540 if(menupos == ZoomOut) 8037314: 4b6a ldr r3, [pc, #424] ; (80374c0 ) 8037316: 781b ldrb r3, [r3, #0] 8037318: b2db uxtb r3, r3 803731a: 2b04 cmp r3, #4 803731c: d104 bne.n 8037328 menupos = ZoomIn; 803731e: 4b68 ldr r3, [pc, #416] ; (80374c0 ) 8037320: 2203 movs r2, #3 8037322: 701a strb r2, [r3, #0] break; 8037324: f005 b90c b.w 803c540 if(menupos == ZoomIn) 8037328: 4b65 ldr r3, [pc, #404] ; (80374c0 ) 803732a: 781b ldrb r3, [r3, #0] 803732c: b2db uxtb r3, r3 803732e: 2b03 cmp r3, #3 8037330: d104 bne.n 803733c menupos = ImageRight; 8037332: 4b63 ldr r3, [pc, #396] ; (80374c0 ) 8037334: 2205 movs r2, #5 8037336: 701a strb r2, [r3, #0] break; 8037338: f005 b902 b.w 803c540 if(menupos == ImageRight) 803733c: 4b60 ldr r3, [pc, #384] ; (80374c0 ) 803733e: 781b ldrb r3, [r3, #0] 8037340: b2db uxtb r3, r3 8037342: 2b05 cmp r3, #5 8037344: d104 bne.n 8037350 menupos = ImageLeft; 8037346: 4b5e ldr r3, [pc, #376] ; (80374c0 ) 8037348: 2202 movs r2, #2 803734a: 701a strb r2, [r3, #0] break; 803734c: f005 b8f8 b.w 803c540 if(menupos == ImageLeft) 8037350: 4b5b ldr r3, [pc, #364] ; (80374c0 ) 8037352: 781b ldrb r3, [r3, #0] 8037354: b2db uxtb r3, r3 8037356: 2b02 cmp r3, #2 8037358: d10e bne.n 8037378 if(READY_TO_SEE) 803735a: 4b5c ldr r3, [pc, #368] ; (80374cc ) 803735c: 781b ldrb r3, [r3, #0] 803735e: b2db uxtb r3, r3 8037360: 2b00 cmp r3, #0 8037362: d004 beq.n 803736e menupos = SaveSpec; 8037364: 4b56 ldr r3, [pc, #344] ; (80374c0 ) 8037366: 2209 movs r2, #9 8037368: 701a strb r2, [r3, #0] break; 803736a: f005 b8e9 b.w 803c540 else menupos = StartStop; 803736e: 4b54 ldr r3, [pc, #336] ; (80374c0 ) 8037370: 2200 movs r2, #0 8037372: 701a strb r2, [r3, #0] break; 8037374: f005 b8e4 b.w 803c540 if(menupos == SaveSpec) 8037378: 4b51 ldr r3, [pc, #324] ; (80374c0 ) 803737a: 781b ldrb r3, [r3, #0] 803737c: b2db uxtb r3, r3 803737e: 2b09 cmp r3, #9 8037380: f045 80de bne.w 803c540 menupos = StartStop; 8037384: 4b4e ldr r3, [pc, #312] ; (80374c0 ) 8037386: 2200 movs r2, #0 8037388: 701a strb r2, [r3, #0] break; 803738a: f005 b8d9 b.w 803c540 case MAIN_SPEC_THIRD: if(menupos == Cursor) 803738e: 4b4c ldr r3, [pc, #304] ; (80374c0 ) 8037390: 781b ldrb r3, [r3, #0] 8037392: b2db uxtb r3, r3 8037394: 2b06 cmp r3, #6 8037396: d104 bne.n 80373a2 { //menupos = lastmenupos; ZOOM_IN = true; 8037398: 4b4b ldr r3, [pc, #300] ; (80374c8 ) 803739a: 2201 movs r2, #1 803739c: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 803739e: f005 b8d2 b.w 803c546 if(menupos == StartStop) 80373a2: 4b47 ldr r3, [pc, #284] ; (80374c0 ) 80373a4: 781b ldrb r3, [r3, #0] 80373a6: b2db uxtb r3, r3 80373a8: 2b00 cmp r3, #0 80373aa: d104 bne.n 80373b6 menupos = ZoomOut; 80373ac: 4b44 ldr r3, [pc, #272] ; (80374c0 ) 80373ae: 2204 movs r2, #4 80373b0: 701a strb r2, [r3, #0] break; 80373b2: f005 b8c8 b.w 803c546 if(menupos == ZoomOut) 80373b6: 4b42 ldr r3, [pc, #264] ; (80374c0 ) 80373b8: 781b ldrb r3, [r3, #0] 80373ba: b2db uxtb r3, r3 80373bc: 2b04 cmp r3, #4 80373be: d104 bne.n 80373ca menupos = ZoomIn; 80373c0: 4b3f ldr r3, [pc, #252] ; (80374c0 ) 80373c2: 2203 movs r2, #3 80373c4: 701a strb r2, [r3, #0] break; 80373c6: f005 b8be b.w 803c546 if(menupos == ZoomIn) 80373ca: 4b3d ldr r3, [pc, #244] ; (80374c0 ) 80373cc: 781b ldrb r3, [r3, #0] 80373ce: b2db uxtb r3, r3 80373d0: 2b03 cmp r3, #3 80373d2: d104 bne.n 80373de menupos = ImageRight; 80373d4: 4b3a ldr r3, [pc, #232] ; (80374c0 ) 80373d6: 2205 movs r2, #5 80373d8: 701a strb r2, [r3, #0] break; 80373da: f005 b8b4 b.w 803c546 if(menupos == ImageRight) 80373de: 4b38 ldr r3, [pc, #224] ; (80374c0 ) 80373e0: 781b ldrb r3, [r3, #0] 80373e2: b2db uxtb r3, r3 80373e4: 2b05 cmp r3, #5 80373e6: d104 bne.n 80373f2 menupos = ImageLeft; 80373e8: 4b35 ldr r3, [pc, #212] ; (80374c0 ) 80373ea: 2202 movs r2, #2 80373ec: 701a strb r2, [r3, #0] break; 80373ee: f005 b8aa b.w 803c546 if(menupos == ImageLeft) 80373f2: 4b33 ldr r3, [pc, #204] ; (80374c0 ) 80373f4: 781b ldrb r3, [r3, #0] 80373f6: b2db uxtb r3, r3 80373f8: 2b02 cmp r3, #2 80373fa: d10e bne.n 803741a if(READY_TO_SEE) 80373fc: 4b33 ldr r3, [pc, #204] ; (80374cc ) 80373fe: 781b ldrb r3, [r3, #0] 8037400: b2db uxtb r3, r3 8037402: 2b00 cmp r3, #0 8037404: d004 beq.n 8037410 menupos = SaveSpec; 8037406: 4b2e ldr r3, [pc, #184] ; (80374c0 ) 8037408: 2209 movs r2, #9 803740a: 701a strb r2, [r3, #0] break; 803740c: f005 b89b b.w 803c546 else menupos = StartStop; 8037410: 4b2b ldr r3, [pc, #172] ; (80374c0 ) 8037412: 2200 movs r2, #0 8037414: 701a strb r2, [r3, #0] break; 8037416: f005 b896 b.w 803c546 if(menupos == SaveSpec) 803741a: 4b29 ldr r3, [pc, #164] ; (80374c0 ) 803741c: 781b ldrb r3, [r3, #0] 803741e: b2db uxtb r3, r3 8037420: 2b09 cmp r3, #9 8037422: f045 8090 bne.w 803c546 menupos = StartStop; 8037426: 4b26 ldr r3, [pc, #152] ; (80374c0 ) 8037428: 2200 movs r2, #0 803742a: 701a strb r2, [r3, #0] break; 803742c: f005 b88b b.w 803c546 case MAIN_SYGNAL: switch(menupos) 8037430: 4b23 ldr r3, [pc, #140] ; (80374c0 ) 8037432: 781b ldrb r3, [r3, #0] 8037434: b2db uxtb r3, r3 8037436: 2b07 cmp r3, #7 8037438: f205 8088 bhi.w 803c54c 803743c: a201 add r2, pc, #4 ; (adr r2, 8037444 ) 803743e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037442: bf00 nop 8037444: 0803746d .word 0x0803746d 8037448: 0803c54d .word 0x0803c54d 803744c: 0803748d .word 0x0803748d 8037450: 0803747d .word 0x0803747d 8037454: 08037475 .word 0x08037475 8037458: 08037485 .word 0x08037485 803745c: 08037495 .word 0x08037495 8037460: 08037465 .word 0x08037465 { case Stop: menupos = StartStop; break; 8037464: 4b16 ldr r3, [pc, #88] ; (80374c0 ) 8037466: 2200 movs r2, #0 8037468: 701a strb r2, [r3, #0] 803746a: e017 b.n 803749c case StartStop: menupos = ZoomOut; break; 803746c: 4b14 ldr r3, [pc, #80] ; (80374c0 ) 803746e: 2204 movs r2, #4 8037470: 701a strb r2, [r3, #0] 8037472: e013 b.n 803749c case ZoomOut: menupos = ZoomIn; break; 8037474: 4b12 ldr r3, [pc, #72] ; (80374c0 ) 8037476: 2203 movs r2, #3 8037478: 701a strb r2, [r3, #0] 803747a: e00f b.n 803749c case ZoomIn: menupos = ImageRight; break; 803747c: 4b10 ldr r3, [pc, #64] ; (80374c0 ) 803747e: 2205 movs r2, #5 8037480: 701a strb r2, [r3, #0] 8037482: e00b b.n 803749c case ImageRight:menupos = ImageLeft; break; 8037484: 4b0e ldr r3, [pc, #56] ; (80374c0 ) 8037486: 2202 movs r2, #2 8037488: 701a strb r2, [r3, #0] 803748a: e007 b.n 803749c case ImageLeft: menupos = Stop; break; 803748c: 4b0c ldr r3, [pc, #48] ; (80374c0 ) 803748e: 2207 movs r2, #7 8037490: 701a strb r2, [r3, #0] 8037492: e003 b.n 803749c case Cursor: /*menupos = lastmenupos;*/ZOOM_IN = true; break; 8037494: 4b0c ldr r3, [pc, #48] ; (80374c8 ) 8037496: 2201 movs r2, #1 8037498: 701a strb r2, [r3, #0] 803749a: bf00 nop } break; 803749c: f005 b856 b.w 803c54c case EXPLORER: if(menupos == FilesPTM) 80374a0: 4b07 ldr r3, [pc, #28] ; (80374c0 ) 80374a2: 781b ldrb r3, [r3, #0] 80374a4: b2db uxtb r3, r3 80374a6: 2b02 cmp r3, #2 80374a8: f045 8053 bne.w 803c552 { if(CursorIndex > 0) 80374ac: 4b08 ldr r3, [pc, #32] ; (80374d0 ) 80374ae: 681b ldr r3, [r3, #0] 80374b0: 2b00 cmp r3, #0 80374b2: d00f beq.n 80374d4 CursorIndex--; 80374b4: 4b06 ldr r3, [pc, #24] ; (80374d0 ) 80374b6: 681b ldr r3, [r3, #0] 80374b8: 3b01 subs r3, #1 80374ba: 4a05 ldr r2, [pc, #20] ; (80374d0 ) 80374bc: 6013 str r3, [r2, #0] 80374be: e01a b.n 80374f6 80374c0: 20020070 .word 0x20020070 80374c4: 20020d88 .word 0x20020d88 80374c8: 20020fad .word 0x20020fad 80374cc: 20020dae .word 0x20020dae 80374d0: 20020e00 .word 0x20020e00 else { if(FirstFileIndex > 0) 80374d4: 4b6c ldr r3, [pc, #432] ; (8037688 ) 80374d6: 681b ldr r3, [r3, #0] 80374d8: 2b00 cmp r3, #0 80374da: d00c beq.n 80374f6 { FirstFileIndex--; 80374dc: 4b6a ldr r3, [pc, #424] ; (8037688 ) 80374de: 681b ldr r3, [r3, #0] 80374e0: 3b01 subs r3, #1 80374e2: 4a69 ldr r2, [pc, #420] ; (8037688 ) 80374e4: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 80374e6: 4b68 ldr r3, [pc, #416] ; (8037688 ) 80374e8: 681b ldr r3, [r3, #0] 80374ea: 4618 mov r0, r3 80374ec: f7f3 fb00 bl 802aaf0 80374f0: 4603 mov r3, r0 80374f2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 /* îøèáêà ÷òåíèÿ 8 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 80374f6: 4b64 ldr r3, [pc, #400] ; (8037688 ) 80374f8: 681a ldr r2, [r3, #0] 80374fa: 4b64 ldr r3, [pc, #400] ; (803768c ) 80374fc: 681b ldr r3, [r3, #0] 80374fe: 4413 add r3, r2 8037500: 4a63 ldr r2, [pc, #396] ; (8037690 ) 8037502: 6013 str r3, [r2, #0] } break; 8037504: f005 b825 b.w 803c552 case EXPLORER_DIAGN: if(menupos == FilesDGN) 8037508: 4b62 ldr r3, [pc, #392] ; (8037694 ) 803750a: 781b ldrb r3, [r3, #0] 803750c: b2db uxtb r3, r3 803750e: 2b02 cmp r3, #2 8037510: f045 8022 bne.w 803c558 { if(CursorIndex > 0) 8037514: 4b5d ldr r3, [pc, #372] ; (803768c ) 8037516: 681b ldr r3, [r3, #0] 8037518: 2b00 cmp r3, #0 803751a: d005 beq.n 8037528 CursorIndex--; 803751c: 4b5b ldr r3, [pc, #364] ; (803768c ) 803751e: 681b ldr r3, [r3, #0] 8037520: 3b01 subs r3, #1 8037522: 4a5a ldr r2, [pc, #360] ; (803768c ) 8037524: 6013 str r3, [r2, #0] 8037526: e010 b.n 803754a else { if(FirstFileIndex > 0) 8037528: 4b57 ldr r3, [pc, #348] ; (8037688 ) 803752a: 681b ldr r3, [r3, #0] 803752c: 2b00 cmp r3, #0 803752e: d00c beq.n 803754a { FirstFileIndex--; 8037530: 4b55 ldr r3, [pc, #340] ; (8037688 ) 8037532: 681b ldr r3, [r3, #0] 8037534: 3b01 subs r3, #1 8037536: 4a54 ldr r2, [pc, #336] ; (8037688 ) 8037538: 6013 str r3, [r2, #0] result = ReadMyFilesDGN(FirstFileIndex); 803753a: 4b53 ldr r3, [pc, #332] ; (8037688 ) 803753c: 681b ldr r3, [r3, #0] 803753e: 4618 mov r0, r3 8037540: f7f3 fae3 bl 802ab0a 8037544: 4603 mov r3, r0 8037546: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } } RealFileIndex = FirstFileIndex + CursorIndex; 803754a: 4b4f ldr r3, [pc, #316] ; (8037688 ) 803754c: 681a ldr r2, [r3, #0] 803754e: 4b4f ldr r3, [pc, #316] ; (803768c ) 8037550: 681b ldr r3, [r3, #0] 8037552: 4413 add r3, r2 8037554: 4a4e ldr r2, [pc, #312] ; (8037690 ) 8037556: 6013 str r3, [r2, #0] } break; 8037558: f004 bffe b.w 803c558 case INPUT_NAME_PTM: case INPUT_NAME_DGN: case INPUT_NAME_SPEC: case INPUT_NAME_GTR: case INPUT_NAME_FRN: if(menupos <= _SPACE) 803755c: 4b4d ldr r3, [pc, #308] ; (8037694 ) 803755e: 781b ldrb r3, [r3, #0] 8037560: b2db uxtb r3, r3 8037562: 2b22 cmp r3, #34 ; 0x22 8037564: d80e bhi.n 8037584 { if(menupos >= 10) 8037566: 4b4b ldr r3, [pc, #300] ; (8037694 ) 8037568: 781b ldrb r3, [r3, #0] 803756a: b2db uxtb r3, r3 803756c: 2b09 cmp r3, #9 803756e: f244 87f6 bls.w 803c55e menupos -= 10; 8037572: 4b48 ldr r3, [pc, #288] ; (8037694 ) 8037574: 781b ldrb r3, [r3, #0] 8037576: b2db uxtb r3, r3 8037578: 3b0a subs r3, #10 803757a: b2da uxtb r2, r3 803757c: 4b45 ldr r3, [pc, #276] ; (8037694 ) 803757e: 701a strb r2, [r3, #0] if(menupos == _CANCEL) menupos = _SPACE; else menupos -= 8; } break; 8037580: f004 bfed b.w 803c55e if(menupos == _ENTER) 8037584: 4b43 ldr r3, [pc, #268] ; (8037694 ) 8037586: 781b ldrb r3, [r3, #0] 8037588: b2db uxtb r3, r3 803758a: 2b26 cmp r3, #38 ; 0x26 803758c: d104 bne.n 8037598 menupos = _V; 803758e: 4b41 ldr r3, [pc, #260] ; (8037694 ) 8037590: 2221 movs r2, #33 ; 0x21 8037592: 701a strb r2, [r3, #0] break; 8037594: f004 bfe3 b.w 803c55e if(menupos == _CANCEL) 8037598: 4b3e ldr r3, [pc, #248] ; (8037694 ) 803759a: 781b ldrb r3, [r3, #0] 803759c: b2db uxtb r3, r3 803759e: 2b27 cmp r3, #39 ; 0x27 80375a0: d104 bne.n 80375ac menupos = _SPACE; 80375a2: 4b3c ldr r3, [pc, #240] ; (8037694 ) 80375a4: 2222 movs r2, #34 ; 0x22 80375a6: 701a strb r2, [r3, #0] break; 80375a8: f004 bfd9 b.w 803c55e menupos -= 8; 80375ac: 4b39 ldr r3, [pc, #228] ; (8037694 ) 80375ae: 781b ldrb r3, [r3, #0] 80375b0: b2db uxtb r3, r3 80375b2: 3b08 subs r3, #8 80375b4: b2da uxtb r2, r3 80375b6: 4b37 ldr r3, [pc, #220] ; (8037694 ) 80375b8: 701a strb r2, [r3, #0] break; 80375ba: f004 bfd0 b.w 803c55e case OPTIONS: if((menupos > Mode) && (menupos < AskFormatNo)) menupos--; 80375be: 4b35 ldr r3, [pc, #212] ; (8037694 ) 80375c0: 781b ldrb r3, [r3, #0] 80375c2: b2db uxtb r3, r3 80375c4: 2b01 cmp r3, #1 80375c6: d90d bls.n 80375e4 80375c8: 4b32 ldr r3, [pc, #200] ; (8037694 ) 80375ca: 781b ldrb r3, [r3, #0] 80375cc: b2db uxtb r3, r3 80375ce: 2b04 cmp r3, #4 80375d0: d808 bhi.n 80375e4 80375d2: 4b30 ldr r3, [pc, #192] ; (8037694 ) 80375d4: 781b ldrb r3, [r3, #0] 80375d6: b2db uxtb r3, r3 80375d8: 3b01 subs r3, #1 80375da: b2da uxtb r2, r3 80375dc: 4b2d ldr r3, [pc, #180] ; (8037694 ) 80375de: 701a strb r2, [r3, #0] else menupos = Route; break; 80375e0: f004 bfe5 b.w 803c5ae else menupos = Route; 80375e4: 4b2b ldr r3, [pc, #172] ; (8037694 ) 80375e6: 2204 movs r2, #4 80375e8: 701a strb r2, [r3, #0] break; 80375ea: f004 bfe0 b.w 803c5ae case MEAS_MODE: #ifdef USE_ROLL #ifdef USE_UDAR if(pardata.IIN != VOLTS) 80375ee: 4b2a ldr r3, [pc, #168] ; (8037698 ) 80375f0: 799b ldrb r3, [r3, #6] 80375f2: b2db uxtb r3, r3 80375f4: 2b02 cmp r3, #2 80375f6: d012 beq.n 803761e { if(menupos > Vibrometer) menupos--; 80375f8: 4b26 ldr r3, [pc, #152] ; (8037694 ) 80375fa: 781b ldrb r3, [r3, #0] 80375fc: b2db uxtb r3, r3 80375fe: 2b01 cmp r3, #1 8037600: d908 bls.n 8037614 8037602: 4b24 ldr r3, [pc, #144] ; (8037694 ) 8037604: 781b ldrb r3, [r3, #0] 8037606: b2db uxtb r3, r3 8037608: 3b01 subs r3, #1 803760a: b2da uxtb r2, r3 803760c: 4b21 ldr r3, [pc, #132] ; (8037694 ) 803760e: 701a strb r2, [r3, #0] #else if(menupos > Vibrometer) menupos--; else menupos = Diagn; #endif*/ break; 8037610: f004 bfcd b.w 803c5ae else menupos = Udar; 8037614: 4b1f ldr r3, [pc, #124] ; (8037694 ) 8037616: 2207 movs r2, #7 8037618: 701a strb r2, [r3, #0] break; 803761a: f004 bfc8 b.w 803c5ae if(menupos > Vibrometer) menupos--; 803761e: 4b1d ldr r3, [pc, #116] ; (8037694 ) 8037620: 781b ldrb r3, [r3, #0] 8037622: b2db uxtb r3, r3 8037624: 2b01 cmp r3, #1 8037626: d908 bls.n 803763a 8037628: 4b1a ldr r3, [pc, #104] ; (8037694 ) 803762a: 781b ldrb r3, [r3, #0] 803762c: b2db uxtb r3, r3 803762e: 3b01 subs r3, #1 8037630: b2da uxtb r2, r3 8037632: 4b18 ldr r3, [pc, #96] ; (8037694 ) 8037634: 701a strb r2, [r3, #0] break; 8037636: f004 bfba b.w 803c5ae else menupos = FFT; 803763a: 4b16 ldr r3, [pc, #88] ; (8037694 ) 803763c: 2203 movs r2, #3 803763e: 701a strb r2, [r3, #0] break; 8037640: f004 bfb5 b.w 803c5ae case PARAM_UDAR: focused = false; 8037644: 4b15 ldr r3, [pc, #84] ; (803769c ) 8037646: 2200 movs r2, #0 8037648: 701a strb r2, [r3, #0] if(menupos == Ok) 803764a: 4b12 ldr r3, [pc, #72] ; (8037694 ) 803764c: 781b ldrb r3, [r3, #0] 803764e: b2db uxtb r3, r3 8037650: 2b00 cmp r3, #0 8037652: d104 bne.n 803765e menupos = UdarInner; 8037654: 4b0f ldr r3, [pc, #60] ; (8037694 ) 8037656: 2202 movs r2, #2 8037658: 701a strb r2, [r3, #0] } if(k > 9999) k = 9999; if(k == 0) k = 1; pardata.D_RATE = k; } break; 803765a: f004 bf83 b.w 803c564 if(menupos == UdarInner) 803765e: 4b0d ldr r3, [pc, #52] ; (8037694 ) 8037660: 781b ldrb r3, [r3, #0] 8037662: b2db uxtb r3, r3 8037664: 2b02 cmp r3, #2 8037666: d104 bne.n 8037672 menupos = UdarRate; 8037668: 4b0a ldr r3, [pc, #40] ; (8037694 ) 803766a: 2201 movs r2, #1 803766c: 701a strb r2, [r3, #0] break; 803766e: f004 bf79 b.w 803c564 if(menupos == UdarRate) 8037672: 4b08 ldr r3, [pc, #32] ; (8037694 ) 8037674: 781b ldrb r3, [r3, #0] 8037676: b2db uxtb r3, r3 8037678: 2b01 cmp r3, #1 803767a: d111 bne.n 80376a0 menupos = Ok; 803767c: 4b05 ldr r3, [pc, #20] ; (8037694 ) 803767e: 2200 movs r2, #0 8037680: 701a strb r2, [r3, #0] break; 8037682: f004 bf6f b.w 803c564 8037686: bf00 nop 8037688: 20020e04 .word 0x20020e04 803768c: 20020e00 .word 0x20020e00 8037690: 20020e08 .word 0x20020e08 8037694: 20020070 .word 0x20020070 8037698: 20023ea8 .word 0x20023ea8 803769c: 20020fc8 .word 0x20020fc8 if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 80376a0: 4b9d ldr r3, [pc, #628] ; (8037918 ) 80376a2: 781b ldrb r3, [r3, #0] 80376a4: b2db uxtb r3, r3 80376a6: 2b06 cmp r3, #6 80376a8: f240 814e bls.w 8037948 80376ac: 4b9a ldr r3, [pc, #616] ; (8037918 ) 80376ae: 781b ldrb r3, [r3, #0] 80376b0: b2db uxtb r3, r3 80376b2: 2b0c cmp r3, #12 80376b4: f200 8148 bhi.w 8037948 k = (uint32_t) (pardata.D_INNER * 1000.0f); 80376b8: 4b98 ldr r3, [pc, #608] ; (803791c ) 80376ba: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 80376be: ed9f 7a98 vldr s14, [pc, #608] ; 8037920 80376c2: ee67 7a87 vmul.f32 s15, s15, s14 80376c6: eefc 7ae7 vcvt.u32.f32 s15, s15 80376ca: ee17 3a90 vmov r3, s15 80376ce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 80376d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80376d6: 095b lsrs r3, r3, #5 80376d8: 4a92 ldr r2, [pc, #584] ; (8037924 ) 80376da: fba2 2303 umull r2, r3, r2, r3 80376de: 09db lsrs r3, r3, #7 80376e0: b2db uxtb r3, r3 80376e2: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 80376e6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80376ea: 0953 lsrs r3, r2, #5 80376ec: 498d ldr r1, [pc, #564] ; (8037924 ) 80376ee: fba1 1303 umull r1, r3, r1, r3 80376f2: 09db lsrs r3, r3, #7 80376f4: 498c ldr r1, [pc, #560] ; (8037928 ) 80376f6: fb01 f303 mul.w r3, r1, r3 80376fa: 1ad3 subs r3, r2, r3 80376fc: 4a8b ldr r2, [pc, #556] ; (803792c ) 80376fe: fba2 2303 umull r2, r3, r2, r3 8037702: 0b5b lsrs r3, r3, #13 8037704: b2db uxtb r3, r3 8037706: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803770a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803770e: 0953 lsrs r3, r2, #5 8037710: 4984 ldr r1, [pc, #528] ; (8037924 ) 8037712: fba1 1303 umull r1, r3, r1, r3 8037716: 09db lsrs r3, r3, #7 8037718: 4983 ldr r1, [pc, #524] ; (8037928 ) 803771a: fb01 f303 mul.w r3, r1, r3 803771e: 1ad3 subs r3, r2, r3 8037720: 4a82 ldr r2, [pc, #520] ; (803792c ) 8037722: fba2 1203 umull r1, r2, r2, r3 8037726: 0b52 lsrs r2, r2, #13 8037728: f242 7110 movw r1, #10000 ; 0x2710 803772c: fb01 f202 mul.w r2, r1, r2 8037730: 1a9a subs r2, r3, r2 8037732: 4b7f ldr r3, [pc, #508] ; (8037930 ) 8037734: fba3 2302 umull r2, r3, r3, r2 8037738: 099b lsrs r3, r3, #6 803773a: b2db uxtb r3, r3 803773c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8037740: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037744: 095a lsrs r2, r3, #5 8037746: 4977 ldr r1, [pc, #476] ; (8037924 ) 8037748: fba1 1202 umull r1, r2, r1, r2 803774c: 09d2 lsrs r2, r2, #7 803774e: 4976 ldr r1, [pc, #472] ; (8037928 ) 8037750: fb01 f202 mul.w r2, r1, r2 8037754: 1a9a subs r2, r3, r2 8037756: 4b75 ldr r3, [pc, #468] ; (803792c ) 8037758: fba3 1302 umull r1, r3, r3, r2 803775c: 0b5b lsrs r3, r3, #13 803775e: f242 7110 movw r1, #10000 ; 0x2710 8037762: fb01 f303 mul.w r3, r1, r3 8037766: 1ad3 subs r3, r2, r3 8037768: 4a71 ldr r2, [pc, #452] ; (8037930 ) 803776a: fba2 1203 umull r1, r2, r2, r3 803776e: 0992 lsrs r2, r2, #6 8037770: f44f 717a mov.w r1, #1000 ; 0x3e8 8037774: fb01 f202 mul.w r2, r1, r2 8037778: 1a9a subs r2, r3, r2 803777a: 4b6e ldr r3, [pc, #440] ; (8037934 ) 803777c: fba3 2302 umull r2, r3, r3, r2 8037780: 095b lsrs r3, r3, #5 8037782: b2db uxtb r3, r3 8037784: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8037788: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803778c: 0953 lsrs r3, r2, #5 803778e: 4965 ldr r1, [pc, #404] ; (8037924 ) 8037790: fba1 1303 umull r1, r3, r1, r3 8037794: 09db lsrs r3, r3, #7 8037796: 4964 ldr r1, [pc, #400] ; (8037928 ) 8037798: fb01 f303 mul.w r3, r1, r3 803779c: 1ad3 subs r3, r2, r3 803779e: 4a63 ldr r2, [pc, #396] ; (803792c ) 80377a0: fba2 1203 umull r1, r2, r2, r3 80377a4: 0b52 lsrs r2, r2, #13 80377a6: f242 7110 movw r1, #10000 ; 0x2710 80377aa: fb01 f202 mul.w r2, r1, r2 80377ae: 1a9a subs r2, r3, r2 80377b0: 4b5f ldr r3, [pc, #380] ; (8037930 ) 80377b2: fba3 1302 umull r1, r3, r3, r2 80377b6: 099b lsrs r3, r3, #6 80377b8: f44f 717a mov.w r1, #1000 ; 0x3e8 80377bc: fb01 f303 mul.w r3, r1, r3 80377c0: 1ad3 subs r3, r2, r3 80377c2: 4a5c ldr r2, [pc, #368] ; (8037934 ) 80377c4: fba2 1203 umull r1, r2, r2, r3 80377c8: 0952 lsrs r2, r2, #5 80377ca: 2164 movs r1, #100 ; 0x64 80377cc: fb01 f202 mul.w r2, r1, r2 80377d0: 1a9a subs r2, r3, r2 80377d2: 4b59 ldr r3, [pc, #356] ; (8037938 ) 80377d4: fba3 2302 umull r2, r3, r3, r2 80377d8: 08db lsrs r3, r3, #3 80377da: b2db uxtb r3, r3 80377dc: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80377e0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80377e4: 0953 lsrs r3, r2, #5 80377e6: 494f ldr r1, [pc, #316] ; (8037924 ) 80377e8: fba1 1303 umull r1, r3, r1, r3 80377ec: 09db lsrs r3, r3, #7 80377ee: 494e ldr r1, [pc, #312] ; (8037928 ) 80377f0: fb01 f303 mul.w r3, r1, r3 80377f4: 1ad3 subs r3, r2, r3 80377f6: 4a4d ldr r2, [pc, #308] ; (803792c ) 80377f8: fba2 1203 umull r1, r2, r2, r3 80377fc: 0b52 lsrs r2, r2, #13 80377fe: f242 7110 movw r1, #10000 ; 0x2710 8037802: fb01 f202 mul.w r2, r1, r2 8037806: 1a9a subs r2, r3, r2 8037808: 4b49 ldr r3, [pc, #292] ; (8037930 ) 803780a: fba3 1302 umull r1, r3, r3, r2 803780e: 099b lsrs r3, r3, #6 8037810: f44f 717a mov.w r1, #1000 ; 0x3e8 8037814: fb01 f303 mul.w r3, r1, r3 8037818: 1ad3 subs r3, r2, r3 803781a: 4a46 ldr r2, [pc, #280] ; (8037934 ) 803781c: fba2 1203 umull r1, r2, r2, r3 8037820: 0952 lsrs r2, r2, #5 8037822: 2164 movs r1, #100 ; 0x64 8037824: fb01 f202 mul.w r2, r1, r2 8037828: 1a9a subs r2, r3, r2 803782a: 4b43 ldr r3, [pc, #268] ; (8037938 ) 803782c: fba3 1302 umull r1, r3, r3, r2 8037830: 08d9 lsrs r1, r3, #3 8037832: 460b mov r3, r1 8037834: 009b lsls r3, r3, #2 8037836: 440b add r3, r1 8037838: 005b lsls r3, r3, #1 803783a: 1ad1 subs r1, r2, r3 803783c: b2cb uxtb r3, r1 803783e: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 8037842: 4b35 ldr r3, [pc, #212] ; (8037918 ) 8037844: 781b ldrb r3, [r3, #0] 8037846: b2db uxtb r3, r3 8037848: 3b07 subs r3, #7 803784a: 2b05 cmp r3, #5 803784c: d836 bhi.n 80378bc 803784e: a201 add r2, pc, #4 ; (adr r2, 8037854 ) 8037850: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037854: 0803786d .word 0x0803786d 8037858: 0803787b .word 0x0803787b 803785c: 0803788b .word 0x0803788b 8037860: 08037899 .word 0x08037899 8037864: 080378a5 .word 0x080378a5 8037868: 080378b1 .word 0x080378b1 case UdarInner_IES: k += 100000; break; 803786c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037870: 4b2d ldr r3, [pc, #180] ; (8037928 ) 8037872: 4413 add r3, r2 8037874: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037878: e020 b.n 80378bc case UdarInner_IED: k += 10000; break; 803787a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803787e: f242 7310 movw r3, #10000 ; 0x2710 8037882: 4413 add r3, r2 8037884: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037888: e018 b.n 80378bc case UdarInner_IEE: k += 1000; break; 803788a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803788e: f503 737a add.w r3, r3, #1000 ; 0x3e8 8037892: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037896: e011 b.n 80378bc case UdarInner_IKD: k += 100; break; 8037898: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803789c: 3364 adds r3, #100 ; 0x64 803789e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80378a2: e00b b.n 80378bc case UdarInner_IKS: k += 10; break; 80378a4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80378a8: 330a adds r3, #10 80378aa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80378ae: e005 b.n 80378bc case UdarInner_IKT: k++; break; 80378b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80378b4: 3301 adds r3, #1 80378b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80378ba: bf00 nop if(k > 999999) k = 999999; 80378bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80378c0: 4a1e ldr r2, [pc, #120] ; (803793c ) 80378c2: 4293 cmp r3, r2 80378c4: d902 bls.n 80378cc 80378c6: 4b1d ldr r3, [pc, #116] ; (803793c ) 80378c8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 80378cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80378d0: 2b00 cmp r3, #0 80378d2: d102 bne.n 80378da 80378d4: 2301 movs r3, #1 80378d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 80378da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80378de: ee07 3a90 vmov s15, r3 80378e2: eef8 7a67 vcvt.f32.u32 s15, s15 80378e6: 4b0d ldr r3, [pc, #52] ; (803791c ) 80378e8: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 80378ec: 4b0b ldr r3, [pc, #44] ; (803791c ) 80378ee: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 80378f2: ed9f 7a13 vldr s14, [pc, #76] ; 8037940 80378f6: ee67 7a87 vmul.f32 s15, s15, s14 80378fa: 4b08 ldr r3, [pc, #32] ; (803791c ) 80378fc: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 8037900: 4b06 ldr r3, [pc, #24] ; (803791c ) 8037902: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8037906: ed9f 7a0f vldr s14, [pc, #60] ; 8037944 803790a: ee77 7a87 vadd.f32 s15, s15, s14 803790e: 4b03 ldr r3, [pc, #12] ; (803791c ) 8037910: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 break; 8037914: f004 be26 b.w 803c564 8037918: 20020070 .word 0x20020070 803791c: 20023ea8 .word 0x20023ea8 8037920: 447a0000 .word 0x447a0000 8037924: 0a7c5ac5 .word 0x0a7c5ac5 8037928: 000186a0 .word 0x000186a0 803792c: d1b71759 .word 0xd1b71759 8037930: 10624dd3 .word 0x10624dd3 8037934: 51eb851f .word 0x51eb851f 8037938: cccccccd .word 0xcccccccd 803793c: 000f423f .word 0x000f423f 8037940: 3a83126f .word 0x3a83126f 8037944: 3a03126f .word 0x3a03126f if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 8037948: 4b8c ldr r3, [pc, #560] ; (8037b7c ) 803794a: 781b ldrb r3, [r3, #0] 803794c: b2db uxtb r3, r3 803794e: 2b02 cmp r3, #2 8037950: f244 8608 bls.w 803c564 8037954: 4b89 ldr r3, [pc, #548] ; (8037b7c ) 8037956: 781b ldrb r3, [r3, #0] 8037958: b2db uxtb r3, r3 803795a: 2b06 cmp r3, #6 803795c: f204 8602 bhi.w 803c564 k = pardata.D_RATE; 8037960: 4b87 ldr r3, [pc, #540] ; (8037b80 ) 8037962: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 8037966: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 803796a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803796e: 4a85 ldr r2, [pc, #532] ; (8037b84 ) 8037970: fba2 2303 umull r2, r3, r2, r3 8037974: 099b lsrs r3, r3, #6 8037976: b2db uxtb r3, r3 8037978: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 803797c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037980: 4b80 ldr r3, [pc, #512] ; (8037b84 ) 8037982: fba3 1302 umull r1, r3, r3, r2 8037986: 099b lsrs r3, r3, #6 8037988: f44f 717a mov.w r1, #1000 ; 0x3e8 803798c: fb01 f303 mul.w r3, r1, r3 8037990: 1ad3 subs r3, r2, r3 8037992: 4a7d ldr r2, [pc, #500] ; (8037b88 ) 8037994: fba2 2303 umull r2, r3, r2, r3 8037998: 095b lsrs r3, r3, #5 803799a: b2db uxtb r3, r3 803799c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 80379a0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80379a4: 4b77 ldr r3, [pc, #476] ; (8037b84 ) 80379a6: fba3 1302 umull r1, r3, r3, r2 80379aa: 099b lsrs r3, r3, #6 80379ac: f44f 717a mov.w r1, #1000 ; 0x3e8 80379b0: fb01 f303 mul.w r3, r1, r3 80379b4: 1ad3 subs r3, r2, r3 80379b6: 4a74 ldr r2, [pc, #464] ; (8037b88 ) 80379b8: fba2 1203 umull r1, r2, r2, r3 80379bc: 0952 lsrs r2, r2, #5 80379be: 2164 movs r1, #100 ; 0x64 80379c0: fb01 f202 mul.w r2, r1, r2 80379c4: 1a9a subs r2, r3, r2 80379c6: 4b71 ldr r3, [pc, #452] ; (8037b8c ) 80379c8: fba3 2302 umull r2, r3, r3, r2 80379cc: 08db lsrs r3, r3, #3 80379ce: b2db uxtb r3, r3 80379d0: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 80379d4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80379d8: 4b6a ldr r3, [pc, #424] ; (8037b84 ) 80379da: fba3 1302 umull r1, r3, r3, r2 80379de: 099b lsrs r3, r3, #6 80379e0: f44f 717a mov.w r1, #1000 ; 0x3e8 80379e4: fb01 f303 mul.w r3, r1, r3 80379e8: 1ad3 subs r3, r2, r3 80379ea: 4a67 ldr r2, [pc, #412] ; (8037b88 ) 80379ec: fba2 1203 umull r1, r2, r2, r3 80379f0: 0952 lsrs r2, r2, #5 80379f2: 2164 movs r1, #100 ; 0x64 80379f4: fb01 f202 mul.w r2, r1, r2 80379f8: 1a9a subs r2, r3, r2 80379fa: 4b64 ldr r3, [pc, #400] ; (8037b8c ) 80379fc: fba3 1302 umull r1, r3, r3, r2 8037a00: 08d9 lsrs r1, r3, #3 8037a02: 460b mov r3, r1 8037a04: 009b lsls r3, r3, #2 8037a06: 440b add r3, r1 8037a08: 005b lsls r3, r3, #1 8037a0a: 1ad1 subs r1, r2, r3 8037a0c: b2cb uxtb r3, r1 8037a0e: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 8037a12: 4b5a ldr r3, [pc, #360] ; (8037b7c ) 8037a14: 781b ldrb r3, [r3, #0] 8037a16: b2db uxtb r3, r3 8037a18: 3b03 subs r3, #3 8037a1a: 2b03 cmp r3, #3 8037a1c: d823 bhi.n 8037a66 8037a1e: a201 add r2, pc, #4 ; (adr r2, 8037a24 ) 8037a20: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037a24: 08037a35 .word 0x08037a35 8037a28: 08037a43 .word 0x08037a43 8037a2c: 08037a4f .word 0x08037a4f 8037a30: 08037a5b .word 0x08037a5b k += 1000; 8037a34: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037a38: f503 737a add.w r3, r3, #1000 ; 0x3e8 8037a3c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8037a40: e011 b.n 8037a66 k += 100; 8037a42: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037a46: 3364 adds r3, #100 ; 0x64 8037a48: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8037a4c: e00b b.n 8037a66 k += 10; 8037a4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037a52: 330a adds r3, #10 8037a54: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8037a58: e005 b.n 8037a66 k++; 8037a5a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037a5e: 3301 adds r3, #1 8037a60: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8037a64: bf00 nop if(k > 9999) k = 9999; 8037a66: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037a6a: f242 720f movw r2, #9999 ; 0x270f 8037a6e: 4293 cmp r3, r2 8037a70: d903 bls.n 8037a7a 8037a72: f242 730f movw r3, #9999 ; 0x270f 8037a76: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8037a7a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037a7e: 2b00 cmp r3, #0 8037a80: d102 bne.n 8037a88 8037a82: 2301 movs r3, #1 8037a84: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 8037a88: 4a3d ldr r2, [pc, #244] ; (8037b80 ) 8037a8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037a8e: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 8037a92: f004 bd67 b.w 803c564 case PARAM_ROLL: focused = false; 8037a96: 4b3e ldr r3, [pc, #248] ; (8037b90 ) 8037a98: 2200 movs r2, #0 8037a9a: 701a strb r2, [r3, #0] if(menupos == Ok) 8037a9c: 4b37 ldr r3, [pc, #220] ; (8037b7c ) 8037a9e: 781b ldrb r3, [r3, #0] 8037aa0: b2db uxtb r3, r3 8037aa2: 2b00 cmp r3, #0 8037aa4: d104 bne.n 8037ab0 menupos = D_Rate; 8037aa6: 4b35 ldr r3, [pc, #212] ; (8037b7c ) 8037aa8: 2209 movs r2, #9 8037aaa: 701a strb r2, [r3, #0] } if(k > 9999) k = 9999; if(k == 0) k = 1; pardata.D_RATE = k; } break; 8037aac: f004 bd5d b.w 803c56a if(menupos == D_Rate) 8037ab0: 4b32 ldr r3, [pc, #200] ; (8037b7c ) 8037ab2: 781b ldrb r3, [r3, #0] 8037ab4: b2db uxtb r3, r3 8037ab6: 2b09 cmp r3, #9 8037ab8: d110 bne.n 8037adc if(pardata.OPTIONS & 0x4) 8037aba: 4b31 ldr r3, [pc, #196] ; (8037b80 ) 8037abc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8037ac0: f003 0304 and.w r3, r3, #4 8037ac4: 2b00 cmp r3, #0 8037ac6: d004 beq.n 8037ad2 menupos = RollAutoKu; 8037ac8: 4b2c ldr r3, [pc, #176] ; (8037b7c ) 8037aca: 2207 movs r2, #7 8037acc: 701a strb r2, [r3, #0] break; 8037ace: f004 bd4c b.w 803c56a else menupos = RollMax_ALL; 8037ad2: 4b2a ldr r3, [pc, #168] ; (8037b7c ) 8037ad4: 2208 movs r2, #8 8037ad6: 701a strb r2, [r3, #0] break; 8037ad8: f004 bd47 b.w 803c56a if(menupos == RollMax_ALL) 8037adc: 4b27 ldr r3, [pc, #156] ; (8037b7c ) 8037ade: 781b ldrb r3, [r3, #0] 8037ae0: b2db uxtb r3, r3 8037ae2: 2b08 cmp r3, #8 8037ae4: d104 bne.n 8037af0 menupos = RollAutoKu; 8037ae6: 4b25 ldr r3, [pc, #148] ; (8037b7c ) 8037ae8: 2207 movs r2, #7 8037aea: 701a strb r2, [r3, #0] break; 8037aec: f004 bd3d b.w 803c56a if(menupos == RollAutoKu) 8037af0: 4b22 ldr r3, [pc, #136] ; (8037b7c ) 8037af2: 781b ldrb r3, [r3, #0] 8037af4: b2db uxtb r3, r3 8037af6: 2b07 cmp r3, #7 8037af8: d104 bne.n 8037b04 menupos = RollAverage; 8037afa: 4b20 ldr r3, [pc, #128] ; (8037b7c ) 8037afc: 2206 movs r2, #6 8037afe: 701a strb r2, [r3, #0] break; 8037b00: f004 bd33 b.w 803c56a if(menupos == RollAverage) 8037b04: 4b1d ldr r3, [pc, #116] ; (8037b7c ) 8037b06: 781b ldrb r3, [r3, #0] 8037b08: b2db uxtb r3, r3 8037b0a: 2b06 cmp r3, #6 8037b0c: d104 bne.n 8037b18 menupos = D_Angle; 8037b0e: 4b1b ldr r3, [pc, #108] ; (8037b7c ) 8037b10: 2205 movs r2, #5 8037b12: 701a strb r2, [r3, #0] break; 8037b14: f004 bd29 b.w 803c56a if(menupos == D_Angle) 8037b18: 4b18 ldr r3, [pc, #96] ; (8037b7c ) 8037b1a: 781b ldrb r3, [r3, #0] 8037b1c: b2db uxtb r3, r3 8037b1e: 2b05 cmp r3, #5 8037b20: d104 bne.n 8037b2c menupos = D_Inner; 8037b22: 4b16 ldr r3, [pc, #88] ; (8037b7c ) 8037b24: 2204 movs r2, #4 8037b26: 701a strb r2, [r3, #0] break; 8037b28: f004 bd1f b.w 803c56a if(menupos == D_Inner) 8037b2c: 4b13 ldr r3, [pc, #76] ; (8037b7c ) 8037b2e: 781b ldrb r3, [r3, #0] 8037b30: b2db uxtb r3, r3 8037b32: 2b04 cmp r3, #4 8037b34: d104 bne.n 8037b40 menupos = D_Outer; 8037b36: 4b11 ldr r3, [pc, #68] ; (8037b7c ) 8037b38: 2203 movs r2, #3 8037b3a: 701a strb r2, [r3, #0] break; 8037b3c: f004 bd15 b.w 803c56a if(menupos == D_Outer) 8037b40: 4b0e ldr r3, [pc, #56] ; (8037b7c ) 8037b42: 781b ldrb r3, [r3, #0] 8037b44: b2db uxtb r3, r3 8037b46: 2b03 cmp r3, #3 8037b48: d104 bne.n 8037b54 menupos = D_Roll; 8037b4a: 4b0c ldr r3, [pc, #48] ; (8037b7c ) 8037b4c: 2202 movs r2, #2 8037b4e: 701a strb r2, [r3, #0] break; 8037b50: f004 bd0b b.w 803c56a if(menupos == D_Roll) 8037b54: 4b09 ldr r3, [pc, #36] ; (8037b7c ) 8037b56: 781b ldrb r3, [r3, #0] 8037b58: b2db uxtb r3, r3 8037b5a: 2b02 cmp r3, #2 8037b5c: d104 bne.n 8037b68 menupos = RollCount; 8037b5e: 4b07 ldr r3, [pc, #28] ; (8037b7c ) 8037b60: 2201 movs r2, #1 8037b62: 701a strb r2, [r3, #0] break; 8037b64: f004 bd01 b.w 803c56a if(menupos == RollCount) 8037b68: 4b04 ldr r3, [pc, #16] ; (8037b7c ) 8037b6a: 781b ldrb r3, [r3, #0] 8037b6c: b2db uxtb r3, r3 8037b6e: 2b01 cmp r3, #1 8037b70: d110 bne.n 8037b94 menupos = Ok; 8037b72: 4b02 ldr r3, [pc, #8] ; (8037b7c ) 8037b74: 2200 movs r2, #0 8037b76: 701a strb r2, [r3, #0] break; 8037b78: f004 bcf7 b.w 803c56a 8037b7c: 20020070 .word 0x20020070 8037b80: 20023ea8 .word 0x20023ea8 8037b84: 10624dd3 .word 0x10624dd3 8037b88: 51eb851f .word 0x51eb851f 8037b8c: cccccccd .word 0xcccccccd 8037b90: 20020fc8 .word 0x20020fc8 if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 8037b94: 4b9d ldr r3, [pc, #628] ; (8037e0c ) 8037b96: 781b ldrb r3, [r3, #0] 8037b98: b2db uxtb r3, r3 8037b9a: 2b25 cmp r3, #37 ; 0x25 8037b9c: f240 814c bls.w 8037e38 8037ba0: 4b9a ldr r3, [pc, #616] ; (8037e0c ) 8037ba2: 781b ldrb r3, [r3, #0] 8037ba4: b2db uxtb r3, r3 8037ba6: 2b2b cmp r3, #43 ; 0x2b 8037ba8: f200 8146 bhi.w 8037e38 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8037bac: 4b98 ldr r3, [pc, #608] ; (8037e10 ) 8037bae: edd3 7a06 vldr s15, [r3, #24] 8037bb2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8037bb6: ee67 7a87 vmul.f32 s15, s15, s14 8037bba: eefc 7ae7 vcvt.u32.f32 s15, s15 8037bbe: ee17 3a90 vmov r3, s15 8037bc2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8037bc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037bca: 095b lsrs r3, r3, #5 8037bcc: 4a91 ldr r2, [pc, #580] ; (8037e14 ) 8037bce: fba2 2303 umull r2, r3, r2, r3 8037bd2: 09db lsrs r3, r3, #7 8037bd4: b2db uxtb r3, r3 8037bd6: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8037bda: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037bde: 0953 lsrs r3, r2, #5 8037be0: 498c ldr r1, [pc, #560] ; (8037e14 ) 8037be2: fba1 1303 umull r1, r3, r1, r3 8037be6: 09db lsrs r3, r3, #7 8037be8: 498b ldr r1, [pc, #556] ; (8037e18 ) 8037bea: fb01 f303 mul.w r3, r1, r3 8037bee: 1ad3 subs r3, r2, r3 8037bf0: 4a8a ldr r2, [pc, #552] ; (8037e1c ) 8037bf2: fba2 2303 umull r2, r3, r2, r3 8037bf6: 0b5b lsrs r3, r3, #13 8037bf8: b2db uxtb r3, r3 8037bfa: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8037bfe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037c02: 0953 lsrs r3, r2, #5 8037c04: 4983 ldr r1, [pc, #524] ; (8037e14 ) 8037c06: fba1 1303 umull r1, r3, r1, r3 8037c0a: 09db lsrs r3, r3, #7 8037c0c: 4982 ldr r1, [pc, #520] ; (8037e18 ) 8037c0e: fb01 f303 mul.w r3, r1, r3 8037c12: 1ad3 subs r3, r2, r3 8037c14: 4a81 ldr r2, [pc, #516] ; (8037e1c ) 8037c16: fba2 1203 umull r1, r2, r2, r3 8037c1a: 0b52 lsrs r2, r2, #13 8037c1c: f242 7110 movw r1, #10000 ; 0x2710 8037c20: fb01 f202 mul.w r2, r1, r2 8037c24: 1a9a subs r2, r3, r2 8037c26: 4b7e ldr r3, [pc, #504] ; (8037e20 ) 8037c28: fba3 2302 umull r2, r3, r3, r2 8037c2c: 099b lsrs r3, r3, #6 8037c2e: b2db uxtb r3, r3 8037c30: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8037c34: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037c38: 095a lsrs r2, r3, #5 8037c3a: 4976 ldr r1, [pc, #472] ; (8037e14 ) 8037c3c: fba1 1202 umull r1, r2, r1, r2 8037c40: 09d2 lsrs r2, r2, #7 8037c42: 4975 ldr r1, [pc, #468] ; (8037e18 ) 8037c44: fb01 f202 mul.w r2, r1, r2 8037c48: 1a9a subs r2, r3, r2 8037c4a: 4b74 ldr r3, [pc, #464] ; (8037e1c ) 8037c4c: fba3 1302 umull r1, r3, r3, r2 8037c50: 0b5b lsrs r3, r3, #13 8037c52: f242 7110 movw r1, #10000 ; 0x2710 8037c56: fb01 f303 mul.w r3, r1, r3 8037c5a: 1ad3 subs r3, r2, r3 8037c5c: 4a70 ldr r2, [pc, #448] ; (8037e20 ) 8037c5e: fba2 1203 umull r1, r2, r2, r3 8037c62: 0992 lsrs r2, r2, #6 8037c64: f44f 717a mov.w r1, #1000 ; 0x3e8 8037c68: fb01 f202 mul.w r2, r1, r2 8037c6c: 1a9a subs r2, r3, r2 8037c6e: 4b6d ldr r3, [pc, #436] ; (8037e24 ) 8037c70: fba3 2302 umull r2, r3, r3, r2 8037c74: 095b lsrs r3, r3, #5 8037c76: b2db uxtb r3, r3 8037c78: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8037c7c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037c80: 0953 lsrs r3, r2, #5 8037c82: 4964 ldr r1, [pc, #400] ; (8037e14 ) 8037c84: fba1 1303 umull r1, r3, r1, r3 8037c88: 09db lsrs r3, r3, #7 8037c8a: 4963 ldr r1, [pc, #396] ; (8037e18 ) 8037c8c: fb01 f303 mul.w r3, r1, r3 8037c90: 1ad3 subs r3, r2, r3 8037c92: 4a62 ldr r2, [pc, #392] ; (8037e1c ) 8037c94: fba2 1203 umull r1, r2, r2, r3 8037c98: 0b52 lsrs r2, r2, #13 8037c9a: f242 7110 movw r1, #10000 ; 0x2710 8037c9e: fb01 f202 mul.w r2, r1, r2 8037ca2: 1a9a subs r2, r3, r2 8037ca4: 4b5e ldr r3, [pc, #376] ; (8037e20 ) 8037ca6: fba3 1302 umull r1, r3, r3, r2 8037caa: 099b lsrs r3, r3, #6 8037cac: f44f 717a mov.w r1, #1000 ; 0x3e8 8037cb0: fb01 f303 mul.w r3, r1, r3 8037cb4: 1ad3 subs r3, r2, r3 8037cb6: 4a5b ldr r2, [pc, #364] ; (8037e24 ) 8037cb8: fba2 1203 umull r1, r2, r2, r3 8037cbc: 0952 lsrs r2, r2, #5 8037cbe: 2164 movs r1, #100 ; 0x64 8037cc0: fb01 f202 mul.w r2, r1, r2 8037cc4: 1a9a subs r2, r3, r2 8037cc6: 4b58 ldr r3, [pc, #352] ; (8037e28 ) 8037cc8: fba3 2302 umull r2, r3, r3, r2 8037ccc: 08db lsrs r3, r3, #3 8037cce: b2db uxtb r3, r3 8037cd0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8037cd4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037cd8: 0953 lsrs r3, r2, #5 8037cda: 494e ldr r1, [pc, #312] ; (8037e14 ) 8037cdc: fba1 1303 umull r1, r3, r1, r3 8037ce0: 09db lsrs r3, r3, #7 8037ce2: 494d ldr r1, [pc, #308] ; (8037e18 ) 8037ce4: fb01 f303 mul.w r3, r1, r3 8037ce8: 1ad3 subs r3, r2, r3 8037cea: 4a4c ldr r2, [pc, #304] ; (8037e1c ) 8037cec: fba2 1203 umull r1, r2, r2, r3 8037cf0: 0b52 lsrs r2, r2, #13 8037cf2: f242 7110 movw r1, #10000 ; 0x2710 8037cf6: fb01 f202 mul.w r2, r1, r2 8037cfa: 1a9a subs r2, r3, r2 8037cfc: 4b48 ldr r3, [pc, #288] ; (8037e20 ) 8037cfe: fba3 1302 umull r1, r3, r3, r2 8037d02: 099b lsrs r3, r3, #6 8037d04: f44f 717a mov.w r1, #1000 ; 0x3e8 8037d08: fb01 f303 mul.w r3, r1, r3 8037d0c: 1ad3 subs r3, r2, r3 8037d0e: 4a45 ldr r2, [pc, #276] ; (8037e24 ) 8037d10: fba2 1203 umull r1, r2, r2, r3 8037d14: 0952 lsrs r2, r2, #5 8037d16: 2164 movs r1, #100 ; 0x64 8037d18: fb01 f202 mul.w r2, r1, r2 8037d1c: 1a9a subs r2, r3, r2 8037d1e: 4b42 ldr r3, [pc, #264] ; (8037e28 ) 8037d20: fba3 1302 umull r1, r3, r3, r2 8037d24: 08d9 lsrs r1, r3, #3 8037d26: 460b mov r3, r1 8037d28: 009b lsls r3, r3, #2 8037d2a: 440b add r3, r1 8037d2c: 005b lsls r3, r3, #1 8037d2e: 1ad1 subs r1, r2, r3 8037d30: b2cb uxtb r3, r1 8037d32: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8037d36: 4b35 ldr r3, [pc, #212] ; (8037e0c ) 8037d38: 781b ldrb r3, [r3, #0] 8037d3a: b2db uxtb r3, r3 8037d3c: 3b26 subs r3, #38 ; 0x26 8037d3e: 2b05 cmp r3, #5 8037d40: d836 bhi.n 8037db0 8037d42: a201 add r2, pc, #4 ; (adr r2, 8037d48 ) 8037d44: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037d48: 08037d61 .word 0x08037d61 8037d4c: 08037d6f .word 0x08037d6f 8037d50: 08037d7f .word 0x08037d7f 8037d54: 08037d8d .word 0x08037d8d 8037d58: 08037d99 .word 0x08037d99 8037d5c: 08037da5 .word 0x08037da5 case RollMax_IDT: k += 100000; break; 8037d60: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037d64: 4b2c ldr r3, [pc, #176] ; (8037e18 ) 8037d66: 4413 add r3, r2 8037d68: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037d6c: e020 b.n 8037db0 case RollMax_IET: k += 10000; break; 8037d6e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037d72: f242 7310 movw r3, #10000 ; 0x2710 8037d76: 4413 add r3, r2 8037d78: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037d7c: e018 b.n 8037db0 case RollMax_IES: k += 1000; break; 8037d7e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037d82: f503 737a add.w r3, r3, #1000 ; 0x3e8 8037d86: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037d8a: e011 b.n 8037db0 case RollMax_IED: k += 100; break; 8037d8c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037d90: 3364 adds r3, #100 ; 0x64 8037d92: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037d96: e00b b.n 8037db0 case RollMax_IEE: k += 10; break; 8037d98: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037d9c: 330a adds r3, #10 8037d9e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037da2: e005 b.n 8037db0 case RollMax_IKD: k++; break; 8037da4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037da8: 3301 adds r3, #1 8037daa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037dae: bf00 nop if(k > 999999) k = 999999; 8037db0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037db4: 4a1d ldr r2, [pc, #116] ; (8037e2c ) 8037db6: 4293 cmp r3, r2 8037db8: d902 bls.n 8037dc0 8037dba: 4b1c ldr r3, [pc, #112] ; (8037e2c ) 8037dbc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8037dc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037dc4: 2b00 cmp r3, #0 8037dc6: d102 bne.n 8037dce 8037dc8: 2301 movs r3, #1 8037dca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8037dce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037dd2: ee07 3a90 vmov s15, r3 8037dd6: eef8 7a67 vcvt.f32.u32 s15, s15 8037dda: 4b0d ldr r3, [pc, #52] ; (8037e10 ) 8037ddc: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8037de0: 4b0b ldr r3, [pc, #44] ; (8037e10 ) 8037de2: edd3 7a06 vldr s15, [r3, #24] 8037de6: ed9f 7a12 vldr s14, [pc, #72] ; 8037e30 8037dea: ee67 7a87 vmul.f32 s15, s15, s14 8037dee: 4b08 ldr r3, [pc, #32] ; (8037e10 ) 8037df0: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8037df4: 4b06 ldr r3, [pc, #24] ; (8037e10 ) 8037df6: edd3 7a06 vldr s15, [r3, #24] 8037dfa: ed9f 7a0e vldr s14, [pc, #56] ; 8037e34 8037dfe: ee77 7a87 vadd.f32 s15, s15, s14 8037e02: 4b03 ldr r3, [pc, #12] ; (8037e10 ) 8037e04: edc3 7a06 vstr s15, [r3, #24] 8037e08: f000 be0d b.w 8038a26 8037e0c: 20020070 .word 0x20020070 8037e10: 20023ea8 .word 0x20023ea8 8037e14: 0a7c5ac5 .word 0x0a7c5ac5 8037e18: 000186a0 .word 0x000186a0 8037e1c: d1b71759 .word 0xd1b71759 8037e20: 10624dd3 .word 0x10624dd3 8037e24: 51eb851f .word 0x51eb851f 8037e28: cccccccd .word 0xcccccccd 8037e2c: 000f423f .word 0x000f423f 8037e30: 3dcccccd .word 0x3dcccccd 8037e34: 3d4ccccd .word 0x3d4ccccd if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 8037e38: 4b9d ldr r3, [pc, #628] ; (80380b0 ) 8037e3a: 781b ldrb r3, [r3, #0] 8037e3c: b2db uxtb r3, r3 8037e3e: 2b09 cmp r3, #9 8037e40: f240 814e bls.w 80380e0 8037e44: 4b9a ldr r3, [pc, #616] ; (80380b0 ) 8037e46: 781b ldrb r3, [r3, #0] 8037e48: b2db uxtb r3, r3 8037e4a: 2b0f cmp r3, #15 8037e4c: f200 8148 bhi.w 80380e0 k = (uint32_t) (pardata.D_ROLL * 1000.0f); 8037e50: 4b98 ldr r3, [pc, #608] ; (80380b4 ) 8037e52: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 8037e56: ed9f 7a98 vldr s14, [pc, #608] ; 80380b8 8037e5a: ee67 7a87 vmul.f32 s15, s15, s14 8037e5e: eefc 7ae7 vcvt.u32.f32 s15, s15 8037e62: ee17 3a90 vmov r3, s15 8037e66: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8037e6a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037e6e: 095b lsrs r3, r3, #5 8037e70: 4a92 ldr r2, [pc, #584] ; (80380bc ) 8037e72: fba2 2303 umull r2, r3, r2, r3 8037e76: 09db lsrs r3, r3, #7 8037e78: b2db uxtb r3, r3 8037e7a: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8037e7e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037e82: 0953 lsrs r3, r2, #5 8037e84: 498d ldr r1, [pc, #564] ; (80380bc ) 8037e86: fba1 1303 umull r1, r3, r1, r3 8037e8a: 09db lsrs r3, r3, #7 8037e8c: 498c ldr r1, [pc, #560] ; (80380c0 ) 8037e8e: fb01 f303 mul.w r3, r1, r3 8037e92: 1ad3 subs r3, r2, r3 8037e94: 4a8b ldr r2, [pc, #556] ; (80380c4 ) 8037e96: fba2 2303 umull r2, r3, r2, r3 8037e9a: 0b5b lsrs r3, r3, #13 8037e9c: b2db uxtb r3, r3 8037e9e: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8037ea2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037ea6: 0953 lsrs r3, r2, #5 8037ea8: 4984 ldr r1, [pc, #528] ; (80380bc ) 8037eaa: fba1 1303 umull r1, r3, r1, r3 8037eae: 09db lsrs r3, r3, #7 8037eb0: 4983 ldr r1, [pc, #524] ; (80380c0 ) 8037eb2: fb01 f303 mul.w r3, r1, r3 8037eb6: 1ad3 subs r3, r2, r3 8037eb8: 4a82 ldr r2, [pc, #520] ; (80380c4 ) 8037eba: fba2 1203 umull r1, r2, r2, r3 8037ebe: 0b52 lsrs r2, r2, #13 8037ec0: f242 7110 movw r1, #10000 ; 0x2710 8037ec4: fb01 f202 mul.w r2, r1, r2 8037ec8: 1a9a subs r2, r3, r2 8037eca: 4b7f ldr r3, [pc, #508] ; (80380c8 ) 8037ecc: fba3 2302 umull r2, r3, r3, r2 8037ed0: 099b lsrs r3, r3, #6 8037ed2: b2db uxtb r3, r3 8037ed4: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8037ed8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037edc: 095a lsrs r2, r3, #5 8037ede: 4977 ldr r1, [pc, #476] ; (80380bc ) 8037ee0: fba1 1202 umull r1, r2, r1, r2 8037ee4: 09d2 lsrs r2, r2, #7 8037ee6: 4976 ldr r1, [pc, #472] ; (80380c0 ) 8037ee8: fb01 f202 mul.w r2, r1, r2 8037eec: 1a9a subs r2, r3, r2 8037eee: 4b75 ldr r3, [pc, #468] ; (80380c4 ) 8037ef0: fba3 1302 umull r1, r3, r3, r2 8037ef4: 0b5b lsrs r3, r3, #13 8037ef6: f242 7110 movw r1, #10000 ; 0x2710 8037efa: fb01 f303 mul.w r3, r1, r3 8037efe: 1ad3 subs r3, r2, r3 8037f00: 4a71 ldr r2, [pc, #452] ; (80380c8 ) 8037f02: fba2 1203 umull r1, r2, r2, r3 8037f06: 0992 lsrs r2, r2, #6 8037f08: f44f 717a mov.w r1, #1000 ; 0x3e8 8037f0c: fb01 f202 mul.w r2, r1, r2 8037f10: 1a9a subs r2, r3, r2 8037f12: 4b6e ldr r3, [pc, #440] ; (80380cc ) 8037f14: fba3 2302 umull r2, r3, r3, r2 8037f18: 095b lsrs r3, r3, #5 8037f1a: b2db uxtb r3, r3 8037f1c: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8037f20: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037f24: 0953 lsrs r3, r2, #5 8037f26: 4965 ldr r1, [pc, #404] ; (80380bc ) 8037f28: fba1 1303 umull r1, r3, r1, r3 8037f2c: 09db lsrs r3, r3, #7 8037f2e: 4964 ldr r1, [pc, #400] ; (80380c0 ) 8037f30: fb01 f303 mul.w r3, r1, r3 8037f34: 1ad3 subs r3, r2, r3 8037f36: 4a63 ldr r2, [pc, #396] ; (80380c4 ) 8037f38: fba2 1203 umull r1, r2, r2, r3 8037f3c: 0b52 lsrs r2, r2, #13 8037f3e: f242 7110 movw r1, #10000 ; 0x2710 8037f42: fb01 f202 mul.w r2, r1, r2 8037f46: 1a9a subs r2, r3, r2 8037f48: 4b5f ldr r3, [pc, #380] ; (80380c8 ) 8037f4a: fba3 1302 umull r1, r3, r3, r2 8037f4e: 099b lsrs r3, r3, #6 8037f50: f44f 717a mov.w r1, #1000 ; 0x3e8 8037f54: fb01 f303 mul.w r3, r1, r3 8037f58: 1ad3 subs r3, r2, r3 8037f5a: 4a5c ldr r2, [pc, #368] ; (80380cc ) 8037f5c: fba2 1203 umull r1, r2, r2, r3 8037f60: 0952 lsrs r2, r2, #5 8037f62: 2164 movs r1, #100 ; 0x64 8037f64: fb01 f202 mul.w r2, r1, r2 8037f68: 1a9a subs r2, r3, r2 8037f6a: 4b59 ldr r3, [pc, #356] ; (80380d0 ) 8037f6c: fba3 2302 umull r2, r3, r3, r2 8037f70: 08db lsrs r3, r3, #3 8037f72: b2db uxtb r3, r3 8037f74: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8037f78: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037f7c: 0953 lsrs r3, r2, #5 8037f7e: 494f ldr r1, [pc, #316] ; (80380bc ) 8037f80: fba1 1303 umull r1, r3, r1, r3 8037f84: 09db lsrs r3, r3, #7 8037f86: 494e ldr r1, [pc, #312] ; (80380c0 ) 8037f88: fb01 f303 mul.w r3, r1, r3 8037f8c: 1ad3 subs r3, r2, r3 8037f8e: 4a4d ldr r2, [pc, #308] ; (80380c4 ) 8037f90: fba2 1203 umull r1, r2, r2, r3 8037f94: 0b52 lsrs r2, r2, #13 8037f96: f242 7110 movw r1, #10000 ; 0x2710 8037f9a: fb01 f202 mul.w r2, r1, r2 8037f9e: 1a9a subs r2, r3, r2 8037fa0: 4b49 ldr r3, [pc, #292] ; (80380c8 ) 8037fa2: fba3 1302 umull r1, r3, r3, r2 8037fa6: 099b lsrs r3, r3, #6 8037fa8: f44f 717a mov.w r1, #1000 ; 0x3e8 8037fac: fb01 f303 mul.w r3, r1, r3 8037fb0: 1ad3 subs r3, r2, r3 8037fb2: 4a46 ldr r2, [pc, #280] ; (80380cc ) 8037fb4: fba2 1203 umull r1, r2, r2, r3 8037fb8: 0952 lsrs r2, r2, #5 8037fba: 2164 movs r1, #100 ; 0x64 8037fbc: fb01 f202 mul.w r2, r1, r2 8037fc0: 1a9a subs r2, r3, r2 8037fc2: 4b43 ldr r3, [pc, #268] ; (80380d0 ) 8037fc4: fba3 1302 umull r1, r3, r3, r2 8037fc8: 08d9 lsrs r1, r3, #3 8037fca: 460b mov r3, r1 8037fcc: 009b lsls r3, r3, #2 8037fce: 440b add r3, r1 8037fd0: 005b lsls r3, r3, #1 8037fd2: 1ad1 subs r1, r2, r3 8037fd4: b2cb uxtb r3, r1 8037fd6: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 8037fda: 4b35 ldr r3, [pc, #212] ; (80380b0 ) 8037fdc: 781b ldrb r3, [r3, #0] 8037fde: b2db uxtb r3, r3 8037fe0: 3b0a subs r3, #10 8037fe2: 2b05 cmp r3, #5 8037fe4: d836 bhi.n 8038054 8037fe6: a201 add r2, pc, #4 ; (adr r2, 8037fec ) 8037fe8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037fec: 08038005 .word 0x08038005 8037ff0: 08038013 .word 0x08038013 8037ff4: 08038023 .word 0x08038023 8037ff8: 08038031 .word 0x08038031 8037ffc: 0803803d .word 0x0803803d 8038000: 08038049 .word 0x08038049 case D_Roll_IES: k += 100000; break; 8038004: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038008: 4b2d ldr r3, [pc, #180] ; (80380c0 ) 803800a: 4413 add r3, r2 803800c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038010: e020 b.n 8038054 case D_Roll_IED: k += 10000; break; 8038012: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038016: f242 7310 movw r3, #10000 ; 0x2710 803801a: 4413 add r3, r2 803801c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038020: e018 b.n 8038054 case D_Roll_IEE: k += 1000; break; 8038022: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038026: f503 737a add.w r3, r3, #1000 ; 0x3e8 803802a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803802e: e011 b.n 8038054 case D_Roll_IKD: k += 100; break; 8038030: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038034: 3364 adds r3, #100 ; 0x64 8038036: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803803a: e00b b.n 8038054 case D_Roll_IKS: k += 10; break; 803803c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038040: 330a adds r3, #10 8038042: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038046: e005 b.n 8038054 case D_Roll_IKT: k++; break; 8038048: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803804c: 3301 adds r3, #1 803804e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038052: bf00 nop if(k > 999999) k = 999999; 8038054: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038058: 4a1e ldr r2, [pc, #120] ; (80380d4 ) 803805a: 4293 cmp r3, r2 803805c: d902 bls.n 8038064 803805e: 4b1d ldr r3, [pc, #116] ; (80380d4 ) 8038060: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8038064: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038068: 2b00 cmp r3, #0 803806a: d102 bne.n 8038072 803806c: 2301 movs r3, #1 803806e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ROLL = (float32_t) k; 8038072: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038076: ee07 3a90 vmov s15, r3 803807a: eef8 7a67 vcvt.f32.u32 s15, s15 803807e: 4b0d ldr r3, [pc, #52] ; (80380b4 ) 8038080: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL *= 0.001f; 8038084: 4b0b ldr r3, [pc, #44] ; (80380b4 ) 8038086: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803808a: ed9f 7a13 vldr s14, [pc, #76] ; 80380d8 803808e: ee67 7a87 vmul.f32 s15, s15, s14 8038092: 4b08 ldr r3, [pc, #32] ; (80380b4 ) 8038094: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL += 0.0005f; 8038098: 4b06 ldr r3, [pc, #24] ; (80380b4 ) 803809a: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803809e: ed9f 7a0f vldr s14, [pc, #60] ; 80380dc 80380a2: ee77 7a87 vadd.f32 s15, s15, s14 80380a6: 4b03 ldr r3, [pc, #12] ; (80380b4 ) 80380a8: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 80380ac: f000 bcbb b.w 8038a26 80380b0: 20020070 .word 0x20020070 80380b4: 20023ea8 .word 0x20023ea8 80380b8: 447a0000 .word 0x447a0000 80380bc: 0a7c5ac5 .word 0x0a7c5ac5 80380c0: 000186a0 .word 0x000186a0 80380c4: d1b71759 .word 0xd1b71759 80380c8: 10624dd3 .word 0x10624dd3 80380cc: 51eb851f .word 0x51eb851f 80380d0: cccccccd .word 0xcccccccd 80380d4: 000f423f .word 0x000f423f 80380d8: 3a83126f .word 0x3a83126f 80380dc: 3a03126f .word 0x3a03126f if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 80380e0: 4b9d ldr r3, [pc, #628] ; (8038358 ) 80380e2: 781b ldrb r3, [r3, #0] 80380e4: b2db uxtb r3, r3 80380e6: 2b0f cmp r3, #15 80380e8: f240 814e bls.w 8038388 80380ec: 4b9a ldr r3, [pc, #616] ; (8038358 ) 80380ee: 781b ldrb r3, [r3, #0] 80380f0: b2db uxtb r3, r3 80380f2: 2b15 cmp r3, #21 80380f4: f200 8148 bhi.w 8038388 k = (uint32_t) (pardata.D_OUTER * 1000.0f); 80380f8: 4b98 ldr r3, [pc, #608] ; (803835c ) 80380fa: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 80380fe: ed9f 7a98 vldr s14, [pc, #608] ; 8038360 8038102: ee67 7a87 vmul.f32 s15, s15, s14 8038106: eefc 7ae7 vcvt.u32.f32 s15, s15 803810a: ee17 3a90 vmov r3, s15 803810e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8038112: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038116: 095b lsrs r3, r3, #5 8038118: 4a92 ldr r2, [pc, #584] ; (8038364 ) 803811a: fba2 2303 umull r2, r3, r2, r3 803811e: 09db lsrs r3, r3, #7 8038120: b2db uxtb r3, r3 8038122: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8038126: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803812a: 0953 lsrs r3, r2, #5 803812c: 498d ldr r1, [pc, #564] ; (8038364 ) 803812e: fba1 1303 umull r1, r3, r1, r3 8038132: 09db lsrs r3, r3, #7 8038134: 498c ldr r1, [pc, #560] ; (8038368 ) 8038136: fb01 f303 mul.w r3, r1, r3 803813a: 1ad3 subs r3, r2, r3 803813c: 4a8b ldr r2, [pc, #556] ; (803836c ) 803813e: fba2 2303 umull r2, r3, r2, r3 8038142: 0b5b lsrs r3, r3, #13 8038144: b2db uxtb r3, r3 8038146: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803814a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803814e: 0953 lsrs r3, r2, #5 8038150: 4984 ldr r1, [pc, #528] ; (8038364 ) 8038152: fba1 1303 umull r1, r3, r1, r3 8038156: 09db lsrs r3, r3, #7 8038158: 4983 ldr r1, [pc, #524] ; (8038368 ) 803815a: fb01 f303 mul.w r3, r1, r3 803815e: 1ad3 subs r3, r2, r3 8038160: 4a82 ldr r2, [pc, #520] ; (803836c ) 8038162: fba2 1203 umull r1, r2, r2, r3 8038166: 0b52 lsrs r2, r2, #13 8038168: f242 7110 movw r1, #10000 ; 0x2710 803816c: fb01 f202 mul.w r2, r1, r2 8038170: 1a9a subs r2, r3, r2 8038172: 4b7f ldr r3, [pc, #508] ; (8038370 ) 8038174: fba3 2302 umull r2, r3, r3, r2 8038178: 099b lsrs r3, r3, #6 803817a: b2db uxtb r3, r3 803817c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8038180: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038184: 095a lsrs r2, r3, #5 8038186: 4977 ldr r1, [pc, #476] ; (8038364 ) 8038188: fba1 1202 umull r1, r2, r1, r2 803818c: 09d2 lsrs r2, r2, #7 803818e: 4976 ldr r1, [pc, #472] ; (8038368 ) 8038190: fb01 f202 mul.w r2, r1, r2 8038194: 1a9a subs r2, r3, r2 8038196: 4b75 ldr r3, [pc, #468] ; (803836c ) 8038198: fba3 1302 umull r1, r3, r3, r2 803819c: 0b5b lsrs r3, r3, #13 803819e: f242 7110 movw r1, #10000 ; 0x2710 80381a2: fb01 f303 mul.w r3, r1, r3 80381a6: 1ad3 subs r3, r2, r3 80381a8: 4a71 ldr r2, [pc, #452] ; (8038370 ) 80381aa: fba2 1203 umull r1, r2, r2, r3 80381ae: 0992 lsrs r2, r2, #6 80381b0: f44f 717a mov.w r1, #1000 ; 0x3e8 80381b4: fb01 f202 mul.w r2, r1, r2 80381b8: 1a9a subs r2, r3, r2 80381ba: 4b6e ldr r3, [pc, #440] ; (8038374 ) 80381bc: fba3 2302 umull r2, r3, r3, r2 80381c0: 095b lsrs r3, r3, #5 80381c2: b2db uxtb r3, r3 80381c4: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80381c8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80381cc: 0953 lsrs r3, r2, #5 80381ce: 4965 ldr r1, [pc, #404] ; (8038364 ) 80381d0: fba1 1303 umull r1, r3, r1, r3 80381d4: 09db lsrs r3, r3, #7 80381d6: 4964 ldr r1, [pc, #400] ; (8038368 ) 80381d8: fb01 f303 mul.w r3, r1, r3 80381dc: 1ad3 subs r3, r2, r3 80381de: 4a63 ldr r2, [pc, #396] ; (803836c ) 80381e0: fba2 1203 umull r1, r2, r2, r3 80381e4: 0b52 lsrs r2, r2, #13 80381e6: f242 7110 movw r1, #10000 ; 0x2710 80381ea: fb01 f202 mul.w r2, r1, r2 80381ee: 1a9a subs r2, r3, r2 80381f0: 4b5f ldr r3, [pc, #380] ; (8038370 ) 80381f2: fba3 1302 umull r1, r3, r3, r2 80381f6: 099b lsrs r3, r3, #6 80381f8: f44f 717a mov.w r1, #1000 ; 0x3e8 80381fc: fb01 f303 mul.w r3, r1, r3 8038200: 1ad3 subs r3, r2, r3 8038202: 4a5c ldr r2, [pc, #368] ; (8038374 ) 8038204: fba2 1203 umull r1, r2, r2, r3 8038208: 0952 lsrs r2, r2, #5 803820a: 2164 movs r1, #100 ; 0x64 803820c: fb01 f202 mul.w r2, r1, r2 8038210: 1a9a subs r2, r3, r2 8038212: 4b59 ldr r3, [pc, #356] ; (8038378 ) 8038214: fba3 2302 umull r2, r3, r3, r2 8038218: 08db lsrs r3, r3, #3 803821a: b2db uxtb r3, r3 803821c: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8038220: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038224: 0953 lsrs r3, r2, #5 8038226: 494f ldr r1, [pc, #316] ; (8038364 ) 8038228: fba1 1303 umull r1, r3, r1, r3 803822c: 09db lsrs r3, r3, #7 803822e: 494e ldr r1, [pc, #312] ; (8038368 ) 8038230: fb01 f303 mul.w r3, r1, r3 8038234: 1ad3 subs r3, r2, r3 8038236: 4a4d ldr r2, [pc, #308] ; (803836c ) 8038238: fba2 1203 umull r1, r2, r2, r3 803823c: 0b52 lsrs r2, r2, #13 803823e: f242 7110 movw r1, #10000 ; 0x2710 8038242: fb01 f202 mul.w r2, r1, r2 8038246: 1a9a subs r2, r3, r2 8038248: 4b49 ldr r3, [pc, #292] ; (8038370 ) 803824a: fba3 1302 umull r1, r3, r3, r2 803824e: 099b lsrs r3, r3, #6 8038250: f44f 717a mov.w r1, #1000 ; 0x3e8 8038254: fb01 f303 mul.w r3, r1, r3 8038258: 1ad3 subs r3, r2, r3 803825a: 4a46 ldr r2, [pc, #280] ; (8038374 ) 803825c: fba2 1203 umull r1, r2, r2, r3 8038260: 0952 lsrs r2, r2, #5 8038262: 2164 movs r1, #100 ; 0x64 8038264: fb01 f202 mul.w r2, r1, r2 8038268: 1a9a subs r2, r3, r2 803826a: 4b43 ldr r3, [pc, #268] ; (8038378 ) 803826c: fba3 1302 umull r1, r3, r3, r2 8038270: 08d9 lsrs r1, r3, #3 8038272: 460b mov r3, r1 8038274: 009b lsls r3, r3, #2 8038276: 440b add r3, r1 8038278: 005b lsls r3, r3, #1 803827a: 1ad1 subs r1, r2, r3 803827c: b2cb uxtb r3, r1 803827e: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 8038282: 4b35 ldr r3, [pc, #212] ; (8038358 ) 8038284: 781b ldrb r3, [r3, #0] 8038286: b2db uxtb r3, r3 8038288: 3b10 subs r3, #16 803828a: 2b05 cmp r3, #5 803828c: d836 bhi.n 80382fc 803828e: a201 add r2, pc, #4 ; (adr r2, 8038294 ) 8038290: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8038294: 080382ad .word 0x080382ad 8038298: 080382bb .word 0x080382bb 803829c: 080382cb .word 0x080382cb 80382a0: 080382d9 .word 0x080382d9 80382a4: 080382e5 .word 0x080382e5 80382a8: 080382f1 .word 0x080382f1 case D_Outer_IES: k += 100000; break; 80382ac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80382b0: 4b2d ldr r3, [pc, #180] ; (8038368 ) 80382b2: 4413 add r3, r2 80382b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80382b8: e020 b.n 80382fc case D_Outer_IED: k += 10000; break; 80382ba: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80382be: f242 7310 movw r3, #10000 ; 0x2710 80382c2: 4413 add r3, r2 80382c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80382c8: e018 b.n 80382fc case D_Outer_IEE: k += 1000; break; 80382ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382ce: f503 737a add.w r3, r3, #1000 ; 0x3e8 80382d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80382d6: e011 b.n 80382fc case D_Outer_IKD: k += 100; break; 80382d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382dc: 3364 adds r3, #100 ; 0x64 80382de: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80382e2: e00b b.n 80382fc case D_Outer_IKS: k += 10; break; 80382e4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382e8: 330a adds r3, #10 80382ea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80382ee: e005 b.n 80382fc case D_Outer_IKT: k++; break; 80382f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382f4: 3301 adds r3, #1 80382f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80382fa: bf00 nop if(k > 999999) k = 999999; 80382fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038300: 4a1e ldr r2, [pc, #120] ; (803837c ) 8038302: 4293 cmp r3, r2 8038304: d902 bls.n 803830c 8038306: 4b1d ldr r3, [pc, #116] ; (803837c ) 8038308: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803830c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038310: 2b00 cmp r3, #0 8038312: d102 bne.n 803831a 8038314: 2301 movs r3, #1 8038316: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_OUTER = (float32_t) k; 803831a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803831e: ee07 3a90 vmov s15, r3 8038322: eef8 7a67 vcvt.f32.u32 s15, s15 8038326: 4b0d ldr r3, [pc, #52] ; (803835c ) 8038328: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER *= 0.001f; 803832c: 4b0b ldr r3, [pc, #44] ; (803835c ) 803832e: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 8038332: ed9f 7a13 vldr s14, [pc, #76] ; 8038380 8038336: ee67 7a87 vmul.f32 s15, s15, s14 803833a: 4b08 ldr r3, [pc, #32] ; (803835c ) 803833c: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER += 0.0005f; 8038340: 4b06 ldr r3, [pc, #24] ; (803835c ) 8038342: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 8038346: ed9f 7a0f vldr s14, [pc, #60] ; 8038384 803834a: ee77 7a87 vadd.f32 s15, s15, s14 803834e: 4b03 ldr r3, [pc, #12] ; (803835c ) 8038350: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 8038354: e367 b.n 8038a26 8038356: bf00 nop 8038358: 20020070 .word 0x20020070 803835c: 20023ea8 .word 0x20023ea8 8038360: 447a0000 .word 0x447a0000 8038364: 0a7c5ac5 .word 0x0a7c5ac5 8038368: 000186a0 .word 0x000186a0 803836c: d1b71759 .word 0xd1b71759 8038370: 10624dd3 .word 0x10624dd3 8038374: 51eb851f .word 0x51eb851f 8038378: cccccccd .word 0xcccccccd 803837c: 000f423f .word 0x000f423f 8038380: 3a83126f .word 0x3a83126f 8038384: 3a03126f .word 0x3a03126f if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 8038388: 4b9d ldr r3, [pc, #628] ; (8038600 ) 803838a: 781b ldrb r3, [r3, #0] 803838c: b2db uxtb r3, r3 803838e: 2b15 cmp r3, #21 8038390: f240 814e bls.w 8038630 8038394: 4b9a ldr r3, [pc, #616] ; (8038600 ) 8038396: 781b ldrb r3, [r3, #0] 8038398: b2db uxtb r3, r3 803839a: 2b1b cmp r3, #27 803839c: f200 8148 bhi.w 8038630 k = (uint32_t) (pardata.D_INNER * 1000.0f); 80383a0: 4b98 ldr r3, [pc, #608] ; (8038604 ) 80383a2: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 80383a6: ed9f 7a98 vldr s14, [pc, #608] ; 8038608 80383aa: ee67 7a87 vmul.f32 s15, s15, s14 80383ae: eefc 7ae7 vcvt.u32.f32 s15, s15 80383b2: ee17 3a90 vmov r3, s15 80383b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 80383ba: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80383be: 095b lsrs r3, r3, #5 80383c0: 4a92 ldr r2, [pc, #584] ; (803860c ) 80383c2: fba2 2303 umull r2, r3, r2, r3 80383c6: 09db lsrs r3, r3, #7 80383c8: b2db uxtb r3, r3 80383ca: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 80383ce: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80383d2: 0953 lsrs r3, r2, #5 80383d4: 498d ldr r1, [pc, #564] ; (803860c ) 80383d6: fba1 1303 umull r1, r3, r1, r3 80383da: 09db lsrs r3, r3, #7 80383dc: 498c ldr r1, [pc, #560] ; (8038610 ) 80383de: fb01 f303 mul.w r3, r1, r3 80383e2: 1ad3 subs r3, r2, r3 80383e4: 4a8b ldr r2, [pc, #556] ; (8038614 ) 80383e6: fba2 2303 umull r2, r3, r2, r3 80383ea: 0b5b lsrs r3, r3, #13 80383ec: b2db uxtb r3, r3 80383ee: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 80383f2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80383f6: 0953 lsrs r3, r2, #5 80383f8: 4984 ldr r1, [pc, #528] ; (803860c ) 80383fa: fba1 1303 umull r1, r3, r1, r3 80383fe: 09db lsrs r3, r3, #7 8038400: 4983 ldr r1, [pc, #524] ; (8038610 ) 8038402: fb01 f303 mul.w r3, r1, r3 8038406: 1ad3 subs r3, r2, r3 8038408: 4a82 ldr r2, [pc, #520] ; (8038614 ) 803840a: fba2 1203 umull r1, r2, r2, r3 803840e: 0b52 lsrs r2, r2, #13 8038410: f242 7110 movw r1, #10000 ; 0x2710 8038414: fb01 f202 mul.w r2, r1, r2 8038418: 1a9a subs r2, r3, r2 803841a: 4b7f ldr r3, [pc, #508] ; (8038618 ) 803841c: fba3 2302 umull r2, r3, r3, r2 8038420: 099b lsrs r3, r3, #6 8038422: b2db uxtb r3, r3 8038424: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8038428: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803842c: 095a lsrs r2, r3, #5 803842e: 4977 ldr r1, [pc, #476] ; (803860c ) 8038430: fba1 1202 umull r1, r2, r1, r2 8038434: 09d2 lsrs r2, r2, #7 8038436: 4976 ldr r1, [pc, #472] ; (8038610 ) 8038438: fb01 f202 mul.w r2, r1, r2 803843c: 1a9a subs r2, r3, r2 803843e: 4b75 ldr r3, [pc, #468] ; (8038614 ) 8038440: fba3 1302 umull r1, r3, r3, r2 8038444: 0b5b lsrs r3, r3, #13 8038446: f242 7110 movw r1, #10000 ; 0x2710 803844a: fb01 f303 mul.w r3, r1, r3 803844e: 1ad3 subs r3, r2, r3 8038450: 4a71 ldr r2, [pc, #452] ; (8038618 ) 8038452: fba2 1203 umull r1, r2, r2, r3 8038456: 0992 lsrs r2, r2, #6 8038458: f44f 717a mov.w r1, #1000 ; 0x3e8 803845c: fb01 f202 mul.w r2, r1, r2 8038460: 1a9a subs r2, r3, r2 8038462: 4b6e ldr r3, [pc, #440] ; (803861c ) 8038464: fba3 2302 umull r2, r3, r3, r2 8038468: 095b lsrs r3, r3, #5 803846a: b2db uxtb r3, r3 803846c: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038470: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038474: 0953 lsrs r3, r2, #5 8038476: 4965 ldr r1, [pc, #404] ; (803860c ) 8038478: fba1 1303 umull r1, r3, r1, r3 803847c: 09db lsrs r3, r3, #7 803847e: 4964 ldr r1, [pc, #400] ; (8038610 ) 8038480: fb01 f303 mul.w r3, r1, r3 8038484: 1ad3 subs r3, r2, r3 8038486: 4a63 ldr r2, [pc, #396] ; (8038614 ) 8038488: fba2 1203 umull r1, r2, r2, r3 803848c: 0b52 lsrs r2, r2, #13 803848e: f242 7110 movw r1, #10000 ; 0x2710 8038492: fb01 f202 mul.w r2, r1, r2 8038496: 1a9a subs r2, r3, r2 8038498: 4b5f ldr r3, [pc, #380] ; (8038618 ) 803849a: fba3 1302 umull r1, r3, r3, r2 803849e: 099b lsrs r3, r3, #6 80384a0: f44f 717a mov.w r1, #1000 ; 0x3e8 80384a4: fb01 f303 mul.w r3, r1, r3 80384a8: 1ad3 subs r3, r2, r3 80384aa: 4a5c ldr r2, [pc, #368] ; (803861c ) 80384ac: fba2 1203 umull r1, r2, r2, r3 80384b0: 0952 lsrs r2, r2, #5 80384b2: 2164 movs r1, #100 ; 0x64 80384b4: fb01 f202 mul.w r2, r1, r2 80384b8: 1a9a subs r2, r3, r2 80384ba: 4b59 ldr r3, [pc, #356] ; (8038620 ) 80384bc: fba3 2302 umull r2, r3, r3, r2 80384c0: 08db lsrs r3, r3, #3 80384c2: b2db uxtb r3, r3 80384c4: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80384c8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80384cc: 0953 lsrs r3, r2, #5 80384ce: 494f ldr r1, [pc, #316] ; (803860c ) 80384d0: fba1 1303 umull r1, r3, r1, r3 80384d4: 09db lsrs r3, r3, #7 80384d6: 494e ldr r1, [pc, #312] ; (8038610 ) 80384d8: fb01 f303 mul.w r3, r1, r3 80384dc: 1ad3 subs r3, r2, r3 80384de: 4a4d ldr r2, [pc, #308] ; (8038614 ) 80384e0: fba2 1203 umull r1, r2, r2, r3 80384e4: 0b52 lsrs r2, r2, #13 80384e6: f242 7110 movw r1, #10000 ; 0x2710 80384ea: fb01 f202 mul.w r2, r1, r2 80384ee: 1a9a subs r2, r3, r2 80384f0: 4b49 ldr r3, [pc, #292] ; (8038618 ) 80384f2: fba3 1302 umull r1, r3, r3, r2 80384f6: 099b lsrs r3, r3, #6 80384f8: f44f 717a mov.w r1, #1000 ; 0x3e8 80384fc: fb01 f303 mul.w r3, r1, r3 8038500: 1ad3 subs r3, r2, r3 8038502: 4a46 ldr r2, [pc, #280] ; (803861c ) 8038504: fba2 1203 umull r1, r2, r2, r3 8038508: 0952 lsrs r2, r2, #5 803850a: 2164 movs r1, #100 ; 0x64 803850c: fb01 f202 mul.w r2, r1, r2 8038510: 1a9a subs r2, r3, r2 8038512: 4b43 ldr r3, [pc, #268] ; (8038620 ) 8038514: fba3 1302 umull r1, r3, r3, r2 8038518: 08d9 lsrs r1, r3, #3 803851a: 460b mov r3, r1 803851c: 009b lsls r3, r3, #2 803851e: 440b add r3, r1 8038520: 005b lsls r3, r3, #1 8038522: 1ad1 subs r1, r2, r3 8038524: b2cb uxtb r3, r1 8038526: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803852a: 4b35 ldr r3, [pc, #212] ; (8038600 ) 803852c: 781b ldrb r3, [r3, #0] 803852e: b2db uxtb r3, r3 8038530: 3b16 subs r3, #22 8038532: 2b05 cmp r3, #5 8038534: d836 bhi.n 80385a4 8038536: a201 add r2, pc, #4 ; (adr r2, 803853c ) 8038538: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803853c: 08038555 .word 0x08038555 8038540: 08038563 .word 0x08038563 8038544: 08038573 .word 0x08038573 8038548: 08038581 .word 0x08038581 803854c: 0803858d .word 0x0803858d 8038550: 08038599 .word 0x08038599 case D_Inner_IES: k += 100000; break; 8038554: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038558: 4b2d ldr r3, [pc, #180] ; (8038610 ) 803855a: 4413 add r3, r2 803855c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038560: e020 b.n 80385a4 case D_Inner_IED: k += 10000; break; 8038562: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038566: f242 7310 movw r3, #10000 ; 0x2710 803856a: 4413 add r3, r2 803856c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038570: e018 b.n 80385a4 case D_Inner_IEE: k += 1000; break; 8038572: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038576: f503 737a add.w r3, r3, #1000 ; 0x3e8 803857a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803857e: e011 b.n 80385a4 case D_Inner_IKD: k += 100; break; 8038580: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038584: 3364 adds r3, #100 ; 0x64 8038586: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803858a: e00b b.n 80385a4 case D_Inner_IKS: k += 10; break; 803858c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038590: 330a adds r3, #10 8038592: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8038596: e005 b.n 80385a4 case D_Inner_IKT: k++; break; 8038598: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803859c: 3301 adds r3, #1 803859e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80385a2: bf00 nop if(k > 999999) k = 999999; 80385a4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80385a8: 4a1e ldr r2, [pc, #120] ; (8038624 ) 80385aa: 4293 cmp r3, r2 80385ac: d902 bls.n 80385b4 80385ae: 4b1d ldr r3, [pc, #116] ; (8038624 ) 80385b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 80385b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80385b8: 2b00 cmp r3, #0 80385ba: d102 bne.n 80385c2 80385bc: 2301 movs r3, #1 80385be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 80385c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80385c6: ee07 3a90 vmov s15, r3 80385ca: eef8 7a67 vcvt.f32.u32 s15, s15 80385ce: 4b0d ldr r3, [pc, #52] ; (8038604 ) 80385d0: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 80385d4: 4b0b ldr r3, [pc, #44] ; (8038604 ) 80385d6: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 80385da: ed9f 7a13 vldr s14, [pc, #76] ; 8038628 80385de: ee67 7a87 vmul.f32 s15, s15, s14 80385e2: 4b08 ldr r3, [pc, #32] ; (8038604 ) 80385e4: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 80385e8: 4b06 ldr r3, [pc, #24] ; (8038604 ) 80385ea: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 80385ee: ed9f 7a0f vldr s14, [pc, #60] ; 803862c 80385f2: ee77 7a87 vadd.f32 s15, s15, s14 80385f6: 4b03 ldr r3, [pc, #12] ; (8038604 ) 80385f8: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 80385fc: e213 b.n 8038a26 80385fe: bf00 nop 8038600: 20020070 .word 0x20020070 8038604: 20023ea8 .word 0x20023ea8 8038608: 447a0000 .word 0x447a0000 803860c: 0a7c5ac5 .word 0x0a7c5ac5 8038610: 000186a0 .word 0x000186a0 8038614: d1b71759 .word 0xd1b71759 8038618: 10624dd3 .word 0x10624dd3 803861c: 51eb851f .word 0x51eb851f 8038620: cccccccd .word 0xcccccccd 8038624: 000f423f .word 0x000f423f 8038628: 3a83126f .word 0x3a83126f 803862c: 3a03126f .word 0x3a03126f if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 8038630: 4b9d ldr r3, [pc, #628] ; (80388a8 ) 8038632: 781b ldrb r3, [r3, #0] 8038634: b2db uxtb r3, r3 8038636: 2b1b cmp r3, #27 8038638: f240 814e bls.w 80388d8 803863c: 4b9a ldr r3, [pc, #616] ; (80388a8 ) 803863e: 781b ldrb r3, [r3, #0] 8038640: b2db uxtb r3, r3 8038642: 2b21 cmp r3, #33 ; 0x21 8038644: f200 8148 bhi.w 80388d8 k = (uint32_t) (pardata.D_ANGLE * 1000.0f); 8038648: 4b98 ldr r3, [pc, #608] ; (80388ac ) 803864a: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 803864e: ed9f 7a98 vldr s14, [pc, #608] ; 80388b0 8038652: ee67 7a87 vmul.f32 s15, s15, s14 8038656: eefc 7ae7 vcvt.u32.f32 s15, s15 803865a: ee17 3a90 vmov r3, s15 803865e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8038662: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038666: 095b lsrs r3, r3, #5 8038668: 4a92 ldr r2, [pc, #584] ; (80388b4 ) 803866a: fba2 2303 umull r2, r3, r2, r3 803866e: 09db lsrs r3, r3, #7 8038670: b2db uxtb r3, r3 8038672: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8038676: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803867a: 0953 lsrs r3, r2, #5 803867c: 498d ldr r1, [pc, #564] ; (80388b4 ) 803867e: fba1 1303 umull r1, r3, r1, r3 8038682: 09db lsrs r3, r3, #7 8038684: 498c ldr r1, [pc, #560] ; (80388b8 ) 8038686: fb01 f303 mul.w r3, r1, r3 803868a: 1ad3 subs r3, r2, r3 803868c: 4a8b ldr r2, [pc, #556] ; (80388bc ) 803868e: fba2 2303 umull r2, r3, r2, r3 8038692: 0b5b lsrs r3, r3, #13 8038694: b2db uxtb r3, r3 8038696: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803869a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803869e: 0953 lsrs r3, r2, #5 80386a0: 4984 ldr r1, [pc, #528] ; (80388b4 ) 80386a2: fba1 1303 umull r1, r3, r1, r3 80386a6: 09db lsrs r3, r3, #7 80386a8: 4983 ldr r1, [pc, #524] ; (80388b8 ) 80386aa: fb01 f303 mul.w r3, r1, r3 80386ae: 1ad3 subs r3, r2, r3 80386b0: 4a82 ldr r2, [pc, #520] ; (80388bc ) 80386b2: fba2 1203 umull r1, r2, r2, r3 80386b6: 0b52 lsrs r2, r2, #13 80386b8: f242 7110 movw r1, #10000 ; 0x2710 80386bc: fb01 f202 mul.w r2, r1, r2 80386c0: 1a9a subs r2, r3, r2 80386c2: 4b7f ldr r3, [pc, #508] ; (80388c0 ) 80386c4: fba3 2302 umull r2, r3, r3, r2 80386c8: 099b lsrs r3, r3, #6 80386ca: b2db uxtb r3, r3 80386cc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80386d0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80386d4: 095a lsrs r2, r3, #5 80386d6: 4977 ldr r1, [pc, #476] ; (80388b4 ) 80386d8: fba1 1202 umull r1, r2, r1, r2 80386dc: 09d2 lsrs r2, r2, #7 80386de: 4976 ldr r1, [pc, #472] ; (80388b8 ) 80386e0: fb01 f202 mul.w r2, r1, r2 80386e4: 1a9a subs r2, r3, r2 80386e6: 4b75 ldr r3, [pc, #468] ; (80388bc ) 80386e8: fba3 1302 umull r1, r3, r3, r2 80386ec: 0b5b lsrs r3, r3, #13 80386ee: f242 7110 movw r1, #10000 ; 0x2710 80386f2: fb01 f303 mul.w r3, r1, r3 80386f6: 1ad3 subs r3, r2, r3 80386f8: 4a71 ldr r2, [pc, #452] ; (80388c0 ) 80386fa: fba2 1203 umull r1, r2, r2, r3 80386fe: 0992 lsrs r2, r2, #6 8038700: f44f 717a mov.w r1, #1000 ; 0x3e8 8038704: fb01 f202 mul.w r2, r1, r2 8038708: 1a9a subs r2, r3, r2 803870a: 4b6e ldr r3, [pc, #440] ; (80388c4 ) 803870c: fba3 2302 umull r2, r3, r3, r2 8038710: 095b lsrs r3, r3, #5 8038712: b2db uxtb r3, r3 8038714: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038718: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803871c: 0953 lsrs r3, r2, #5 803871e: 4965 ldr r1, [pc, #404] ; (80388b4 ) 8038720: fba1 1303 umull r1, r3, r1, r3 8038724: 09db lsrs r3, r3, #7 8038726: 4964 ldr r1, [pc, #400] ; (80388b8 ) 8038728: fb01 f303 mul.w r3, r1, r3 803872c: 1ad3 subs r3, r2, r3 803872e: 4a63 ldr r2, [pc, #396] ; (80388bc ) 8038730: fba2 1203 umull r1, r2, r2, r3 8038734: 0b52 lsrs r2, r2, #13 8038736: f242 7110 movw r1, #10000 ; 0x2710 803873a: fb01 f202 mul.w r2, r1, r2 803873e: 1a9a subs r2, r3, r2 8038740: 4b5f ldr r3, [pc, #380] ; (80388c0 ) 8038742: fba3 1302 umull r1, r3, r3, r2 8038746: 099b lsrs r3, r3, #6 8038748: f44f 717a mov.w r1, #1000 ; 0x3e8 803874c: fb01 f303 mul.w r3, r1, r3 8038750: 1ad3 subs r3, r2, r3 8038752: 4a5c ldr r2, [pc, #368] ; (80388c4 ) 8038754: fba2 1203 umull r1, r2, r2, r3 8038758: 0952 lsrs r2, r2, #5 803875a: 2164 movs r1, #100 ; 0x64 803875c: fb01 f202 mul.w r2, r1, r2 8038760: 1a9a subs r2, r3, r2 8038762: 4b59 ldr r3, [pc, #356] ; (80388c8 ) 8038764: fba3 2302 umull r2, r3, r3, r2 8038768: 08db lsrs r3, r3, #3 803876a: b2db uxtb r3, r3 803876c: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8038770: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038774: 0953 lsrs r3, r2, #5 8038776: 494f ldr r1, [pc, #316] ; (80388b4 ) 8038778: fba1 1303 umull r1, r3, r1, r3 803877c: 09db lsrs r3, r3, #7 803877e: 494e ldr r1, [pc, #312] ; (80388b8 ) 8038780: fb01 f303 mul.w r3, r1, r3 8038784: 1ad3 subs r3, r2, r3 8038786: 4a4d ldr r2, [pc, #308] ; (80388bc ) 8038788: fba2 1203 umull r1, r2, r2, r3 803878c: 0b52 lsrs r2, r2, #13 803878e: f242 7110 movw r1, #10000 ; 0x2710 8038792: fb01 f202 mul.w r2, r1, r2 8038796: 1a9a subs r2, r3, r2 8038798: 4b49 ldr r3, [pc, #292] ; (80388c0 ) 803879a: fba3 1302 umull r1, r3, r3, r2 803879e: 099b lsrs r3, r3, #6 80387a0: f44f 717a mov.w r1, #1000 ; 0x3e8 80387a4: fb01 f303 mul.w r3, r1, r3 80387a8: 1ad3 subs r3, r2, r3 80387aa: 4a46 ldr r2, [pc, #280] ; (80388c4 ) 80387ac: fba2 1203 umull r1, r2, r2, r3 80387b0: 0952 lsrs r2, r2, #5 80387b2: 2164 movs r1, #100 ; 0x64 80387b4: fb01 f202 mul.w r2, r1, r2 80387b8: 1a9a subs r2, r3, r2 80387ba: 4b43 ldr r3, [pc, #268] ; (80388c8 ) 80387bc: fba3 1302 umull r1, r3, r3, r2 80387c0: 08d9 lsrs r1, r3, #3 80387c2: 460b mov r3, r1 80387c4: 009b lsls r3, r3, #2 80387c6: 440b add r3, r1 80387c8: 005b lsls r3, r3, #1 80387ca: 1ad1 subs r1, r2, r3 80387cc: b2cb uxtb r3, r1 80387ce: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 80387d2: 4b35 ldr r3, [pc, #212] ; (80388a8 ) 80387d4: 781b ldrb r3, [r3, #0] 80387d6: b2db uxtb r3, r3 80387d8: 3b1c subs r3, #28 80387da: 2b05 cmp r3, #5 80387dc: d836 bhi.n 803884c 80387de: a201 add r2, pc, #4 ; (adr r2, 80387e4 ) 80387e0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80387e4: 080387fd .word 0x080387fd 80387e8: 0803880b .word 0x0803880b 80387ec: 0803881b .word 0x0803881b 80387f0: 08038829 .word 0x08038829 80387f4: 08038835 .word 0x08038835 80387f8: 08038841 .word 0x08038841 k += 100000; 80387fc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038800: 4b2d ldr r3, [pc, #180] ; (80388b8 ) 8038802: 4413 add r3, r2 8038804: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038808: e020 b.n 803884c k += 10000; 803880a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803880e: f242 7310 movw r3, #10000 ; 0x2710 8038812: 4413 add r3, r2 8038814: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038818: e018 b.n 803884c k += 1000; 803881a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803881e: f503 737a add.w r3, r3, #1000 ; 0x3e8 8038822: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038826: e011 b.n 803884c k += 100; 8038828: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803882c: 3364 adds r3, #100 ; 0x64 803882e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038832: e00b b.n 803884c k += 10; 8038834: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038838: 330a adds r3, #10 803883a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803883e: e005 b.n 803884c k++; 8038840: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038844: 3301 adds r3, #1 8038846: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803884a: bf00 nop if(k > 999999) k = 999999; 803884c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038850: 4a1e ldr r2, [pc, #120] ; (80388cc ) 8038852: 4293 cmp r3, r2 8038854: d902 bls.n 803885c 8038856: 4b1d ldr r3, [pc, #116] ; (80388cc ) 8038858: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803885c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038860: 2b00 cmp r3, #0 8038862: d102 bne.n 803886a 8038864: 2301 movs r3, #1 8038866: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ANGLE = (float32_t) k; 803886a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803886e: ee07 3a90 vmov s15, r3 8038872: eef8 7a67 vcvt.f32.u32 s15, s15 8038876: 4b0d ldr r3, [pc, #52] ; (80388ac ) 8038878: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE *= 0.001f; 803887c: 4b0b ldr r3, [pc, #44] ; (80388ac ) 803887e: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 8038882: ed9f 7a13 vldr s14, [pc, #76] ; 80388d0 8038886: ee67 7a87 vmul.f32 s15, s15, s14 803888a: 4b08 ldr r3, [pc, #32] ; (80388ac ) 803888c: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE += 0.0005f; 8038890: 4b06 ldr r3, [pc, #24] ; (80388ac ) 8038892: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 8038896: ed9f 7a0f vldr s14, [pc, #60] ; 80388d4 803889a: ee77 7a87 vadd.f32 s15, s15, s14 803889e: 4b03 ldr r3, [pc, #12] ; (80388ac ) 80388a0: edc3 7a33 vstr s15, [r3, #204] ; 0xcc 80388a4: e0bf b.n 8038a26 80388a6: bf00 nop 80388a8: 20020070 .word 0x20020070 80388ac: 20023ea8 .word 0x20023ea8 80388b0: 447a0000 .word 0x447a0000 80388b4: 0a7c5ac5 .word 0x0a7c5ac5 80388b8: 000186a0 .word 0x000186a0 80388bc: d1b71759 .word 0xd1b71759 80388c0: 10624dd3 .word 0x10624dd3 80388c4: 51eb851f .word 0x51eb851f 80388c8: cccccccd .word 0xcccccccd 80388cc: 000f423f .word 0x000f423f 80388d0: 3a83126f .word 0x3a83126f 80388d4: 3a03126f .word 0x3a03126f if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 80388d8: 4b83 ldr r3, [pc, #524] ; (8038ae8 ) 80388da: 781b ldrb r3, [r3, #0] 80388dc: b2db uxtb r3, r3 80388de: 2b21 cmp r3, #33 ; 0x21 80388e0: f243 8643 bls.w 803c56a 80388e4: 4b80 ldr r3, [pc, #512] ; (8038ae8 ) 80388e6: 781b ldrb r3, [r3, #0] 80388e8: b2db uxtb r3, r3 80388ea: 2b25 cmp r3, #37 ; 0x25 80388ec: f203 863d bhi.w 803c56a k = pardata.D_RATE; 80388f0: 4b7e ldr r3, [pc, #504] ; (8038aec ) 80388f2: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 80388f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 80388fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80388fe: 4a7c ldr r2, [pc, #496] ; (8038af0 ) 8038900: fba2 2303 umull r2, r3, r2, r3 8038904: 099b lsrs r3, r3, #6 8038906: b2db uxtb r3, r3 8038908: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 803890c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038910: 4b77 ldr r3, [pc, #476] ; (8038af0 ) 8038912: fba3 1302 umull r1, r3, r3, r2 8038916: 099b lsrs r3, r3, #6 8038918: f44f 717a mov.w r1, #1000 ; 0x3e8 803891c: fb01 f303 mul.w r3, r1, r3 8038920: 1ad3 subs r3, r2, r3 8038922: 4a74 ldr r2, [pc, #464] ; (8038af4 ) 8038924: fba2 2303 umull r2, r3, r2, r3 8038928: 095b lsrs r3, r3, #5 803892a: b2db uxtb r3, r3 803892c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 8038930: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038934: 4b6e ldr r3, [pc, #440] ; (8038af0 ) 8038936: fba3 1302 umull r1, r3, r3, r2 803893a: 099b lsrs r3, r3, #6 803893c: f44f 717a mov.w r1, #1000 ; 0x3e8 8038940: fb01 f303 mul.w r3, r1, r3 8038944: 1ad3 subs r3, r2, r3 8038946: 4a6b ldr r2, [pc, #428] ; (8038af4 ) 8038948: fba2 1203 umull r1, r2, r2, r3 803894c: 0952 lsrs r2, r2, #5 803894e: 2164 movs r1, #100 ; 0x64 8038950: fb01 f202 mul.w r2, r1, r2 8038954: 1a9a subs r2, r3, r2 8038956: 4b68 ldr r3, [pc, #416] ; (8038af8 ) 8038958: fba3 2302 umull r2, r3, r3, r2 803895c: 08db lsrs r3, r3, #3 803895e: b2db uxtb r3, r3 8038960: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 8038964: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038968: 4b61 ldr r3, [pc, #388] ; (8038af0 ) 803896a: fba3 1302 umull r1, r3, r3, r2 803896e: 099b lsrs r3, r3, #6 8038970: f44f 717a mov.w r1, #1000 ; 0x3e8 8038974: fb01 f303 mul.w r3, r1, r3 8038978: 1ad3 subs r3, r2, r3 803897a: 4a5e ldr r2, [pc, #376] ; (8038af4 ) 803897c: fba2 1203 umull r1, r2, r2, r3 8038980: 0952 lsrs r2, r2, #5 8038982: 2164 movs r1, #100 ; 0x64 8038984: fb01 f202 mul.w r2, r1, r2 8038988: 1a9a subs r2, r3, r2 803898a: 4b5b ldr r3, [pc, #364] ; (8038af8 ) 803898c: fba3 1302 umull r1, r3, r3, r2 8038990: 08d9 lsrs r1, r3, #3 8038992: 460b mov r3, r1 8038994: 009b lsls r3, r3, #2 8038996: 440b add r3, r1 8038998: 005b lsls r3, r3, #1 803899a: 1ad1 subs r1, r2, r3 803899c: b2cb uxtb r3, r1 803899e: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 80389a2: 4b51 ldr r3, [pc, #324] ; (8038ae8 ) 80389a4: 781b ldrb r3, [r3, #0] 80389a6: b2db uxtb r3, r3 80389a8: 3b22 subs r3, #34 ; 0x22 80389aa: 2b03 cmp r3, #3 80389ac: d823 bhi.n 80389f6 80389ae: a201 add r2, pc, #4 ; (adr r2, 80389b4 ) 80389b0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80389b4: 080389c5 .word 0x080389c5 80389b8: 080389d3 .word 0x080389d3 80389bc: 080389df .word 0x080389df 80389c0: 080389eb .word 0x080389eb k += 1000; 80389c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80389c8: f503 737a add.w r3, r3, #1000 ; 0x3e8 80389cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80389d0: e011 b.n 80389f6 k += 100; 80389d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80389d6: 3364 adds r3, #100 ; 0x64 80389d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80389dc: e00b b.n 80389f6 k += 10; 80389de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80389e2: 330a adds r3, #10 80389e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80389e8: e005 b.n 80389f6 k++; 80389ea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80389ee: 3301 adds r3, #1 80389f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80389f4: bf00 nop if(k > 9999) k = 9999; 80389f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80389fa: f242 720f movw r2, #9999 ; 0x270f 80389fe: 4293 cmp r3, r2 8038a00: d903 bls.n 8038a0a 8038a02: f242 730f movw r3, #9999 ; 0x270f 8038a06: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8038a0a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038a0e: 2b00 cmp r3, #0 8038a10: d102 bne.n 8038a18 8038a12: 2301 movs r3, #1 8038a14: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 8038a18: 4a34 ldr r2, [pc, #208] ; (8038aec ) 8038a1a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038a1e: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 8038a22: f003 bda2 b.w 803c56a 8038a26: f003 bda0 b.w 803c56a case PARAM_VIB: //todo focused = false; 8038a2a: 4b34 ldr r3, [pc, #208] ; (8038afc ) 8038a2c: 2200 movs r2, #0 8038a2e: 701a strb r2, [r3, #0] if(menupos == FilterHP) 8038a30: 4b2d ldr r3, [pc, #180] ; (8038ae8 ) 8038a32: 781b ldrb r3, [r3, #0] 8038a34: b2db uxtb r3, r3 8038a36: 2b17 cmp r3, #23 8038a38: d104 bne.n 8038a44 menupos = Ok; 8038a3a: 4b2b ldr r3, [pc, #172] ; (8038ae8 ) 8038a3c: 2200 movs r2, #0 8038a3e: 701a strb r2, [r3, #0] if(menupos == Average) menupos = ValueA; else menupos--; } } break; 8038a40: f003 bdb5 b.w 803c5ae if(menupos == FilterLP) 8038a44: 4b28 ldr r3, [pc, #160] ; (8038ae8 ) 8038a46: 781b ldrb r3, [r3, #0] 8038a48: b2db uxtb r3, r3 8038a4a: 2b18 cmp r3, #24 8038a4c: d104 bne.n 8038a58 menupos = FilterHP; 8038a4e: 4b26 ldr r3, [pc, #152] ; (8038ae8 ) 8038a50: 2217 movs r2, #23 8038a52: 701a strb r2, [r3, #0] break; 8038a54: f003 bdab b.w 803c5ae if(menupos == ValueA) 8038a58: 4b23 ldr r3, [pc, #140] ; (8038ae8 ) 8038a5a: 781b ldrb r3, [r3, #0] 8038a5c: b2db uxtb r3, r3 8038a5e: 2b02 cmp r3, #2 8038a60: d104 bne.n 8038a6c menupos = FilterLP; 8038a62: 4b21 ldr r3, [pc, #132] ; (8038ae8 ) 8038a64: 2218 movs r2, #24 8038a66: 701a strb r2, [r3, #0] break; 8038a68: f003 bda1 b.w 803c5ae if(menupos == Ok) 8038a6c: 4b1e ldr r3, [pc, #120] ; (8038ae8 ) 8038a6e: 781b ldrb r3, [r3, #0] 8038a70: b2db uxtb r3, r3 8038a72: 2b00 cmp r3, #0 8038a74: d104 bne.n 8038a80 menupos = SaveToFile; 8038a76: 4b1c ldr r3, [pc, #112] ; (8038ae8 ) 8038a78: 220a movs r2, #10 8038a7a: 701a strb r2, [r3, #0] break; 8038a7c: f003 bd97 b.w 803c5ae if(menupos == SaveToFile) 8038a80: 4b19 ldr r3, [pc, #100] ; (8038ae8 ) 8038a82: 781b ldrb r3, [r3, #0] 8038a84: b2db uxtb r3, r3 8038a86: 2b0a cmp r3, #10 8038a88: d110 bne.n 8038aac if(pardata.OPTIONS & 0x4) 8038a8a: 4b18 ldr r3, [pc, #96] ; (8038aec ) 8038a8c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8038a90: f003 0304 and.w r3, r3, #4 8038a94: 2b00 cmp r3, #0 8038a96: d004 beq.n 8038aa2 menupos = VibAutoKu; 8038a98: 4b13 ldr r3, [pc, #76] ; (8038ae8 ) 8038a9a: 2208 movs r2, #8 8038a9c: 701a strb r2, [r3, #0] break; 8038a9e: f003 bd86 b.w 803c5ae else menupos = VibMax_ALL; 8038aa2: 4b11 ldr r3, [pc, #68] ; (8038ae8 ) 8038aa4: 2209 movs r2, #9 8038aa6: 701a strb r2, [r3, #0] break; 8038aa8: f003 bd81 b.w 803c5ae if(menupos == VibMax_ALL) 8038aac: 4b0e ldr r3, [pc, #56] ; (8038ae8 ) 8038aae: 781b ldrb r3, [r3, #0] 8038ab0: b2db uxtb r3, r3 8038ab2: 2b09 cmp r3, #9 8038ab4: d104 bne.n 8038ac0 menupos = VibAutoKu; 8038ab6: 4b0c ldr r3, [pc, #48] ; (8038ae8 ) 8038ab8: 2208 movs r2, #8 8038aba: 701a strb r2, [r3, #0] break; 8038abc: f003 bd77 b.w 803c5ae if(menupos == VibAutoKu) 8038ac0: 4b09 ldr r3, [pc, #36] ; (8038ae8 ) 8038ac2: 781b ldrb r3, [r3, #0] 8038ac4: b2db uxtb r3, r3 8038ac6: 2b08 cmp r3, #8 8038ac8: d104 bne.n 8038ad4 menupos = ViewFreq; 8038aca: 4b07 ldr r3, [pc, #28] ; (8038ae8 ) 8038acc: 2207 movs r2, #7 8038ace: 701a strb r2, [r3, #0] break; 8038ad0: f003 bd6d b.w 803c5ae if(menupos == ViewFreq) 8038ad4: 4b04 ldr r3, [pc, #16] ; (8038ae8 ) 8038ad6: 781b ldrb r3, [r3, #0] 8038ad8: b2db uxtb r3, r3 8038ada: 2b07 cmp r3, #7 8038adc: d110 bne.n 8038b00 menupos = Mediana; 8038ade: 4b02 ldr r3, [pc, #8] ; (8038ae8 ) 8038ae0: 2206 movs r2, #6 8038ae2: 701a strb r2, [r3, #0] break; 8038ae4: f003 bd63 b.w 803c5ae 8038ae8: 20020070 .word 0x20020070 8038aec: 20023ea8 .word 0x20023ea8 8038af0: 10624dd3 .word 0x10624dd3 8038af4: 51eb851f .word 0x51eb851f 8038af8: cccccccd .word 0xcccccccd 8038afc: 20020fc8 .word 0x20020fc8 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8038b00: 4b9d ldr r3, [pc, #628] ; (8038d78 ) 8038b02: 781b ldrb r3, [r3, #0] 8038b04: b2db uxtb r3, r3 8038b06: 2b0a cmp r3, #10 8038b08: f240 814c bls.w 8038da4 8038b0c: 4b9a ldr r3, [pc, #616] ; (8038d78 ) 8038b0e: 781b ldrb r3, [r3, #0] 8038b10: b2db uxtb r3, r3 8038b12: 2b10 cmp r3, #16 8038b14: f200 8146 bhi.w 8038da4 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8038b18: 4b98 ldr r3, [pc, #608] ; (8038d7c ) 8038b1a: edd3 7a06 vldr s15, [r3, #24] 8038b1e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8038b22: ee67 7a87 vmul.f32 s15, s15, s14 8038b26: eefc 7ae7 vcvt.u32.f32 s15, s15 8038b2a: ee17 3a90 vmov r3, s15 8038b2e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8038b32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038b36: 095b lsrs r3, r3, #5 8038b38: 4a91 ldr r2, [pc, #580] ; (8038d80 ) 8038b3a: fba2 2303 umull r2, r3, r2, r3 8038b3e: 09db lsrs r3, r3, #7 8038b40: b2db uxtb r3, r3 8038b42: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8038b46: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038b4a: 0953 lsrs r3, r2, #5 8038b4c: 498c ldr r1, [pc, #560] ; (8038d80 ) 8038b4e: fba1 1303 umull r1, r3, r1, r3 8038b52: 09db lsrs r3, r3, #7 8038b54: 498b ldr r1, [pc, #556] ; (8038d84 ) 8038b56: fb01 f303 mul.w r3, r1, r3 8038b5a: 1ad3 subs r3, r2, r3 8038b5c: 4a8a ldr r2, [pc, #552] ; (8038d88 ) 8038b5e: fba2 2303 umull r2, r3, r2, r3 8038b62: 0b5b lsrs r3, r3, #13 8038b64: b2db uxtb r3, r3 8038b66: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8038b6a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038b6e: 0953 lsrs r3, r2, #5 8038b70: 4983 ldr r1, [pc, #524] ; (8038d80 ) 8038b72: fba1 1303 umull r1, r3, r1, r3 8038b76: 09db lsrs r3, r3, #7 8038b78: 4982 ldr r1, [pc, #520] ; (8038d84 ) 8038b7a: fb01 f303 mul.w r3, r1, r3 8038b7e: 1ad3 subs r3, r2, r3 8038b80: 4a81 ldr r2, [pc, #516] ; (8038d88 ) 8038b82: fba2 1203 umull r1, r2, r2, r3 8038b86: 0b52 lsrs r2, r2, #13 8038b88: f242 7110 movw r1, #10000 ; 0x2710 8038b8c: fb01 f202 mul.w r2, r1, r2 8038b90: 1a9a subs r2, r3, r2 8038b92: 4b7e ldr r3, [pc, #504] ; (8038d8c ) 8038b94: fba3 2302 umull r2, r3, r3, r2 8038b98: 099b lsrs r3, r3, #6 8038b9a: b2db uxtb r3, r3 8038b9c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8038ba0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038ba4: 095a lsrs r2, r3, #5 8038ba6: 4976 ldr r1, [pc, #472] ; (8038d80 ) 8038ba8: fba1 1202 umull r1, r2, r1, r2 8038bac: 09d2 lsrs r2, r2, #7 8038bae: 4975 ldr r1, [pc, #468] ; (8038d84 ) 8038bb0: fb01 f202 mul.w r2, r1, r2 8038bb4: 1a9a subs r2, r3, r2 8038bb6: 4b74 ldr r3, [pc, #464] ; (8038d88 ) 8038bb8: fba3 1302 umull r1, r3, r3, r2 8038bbc: 0b5b lsrs r3, r3, #13 8038bbe: f242 7110 movw r1, #10000 ; 0x2710 8038bc2: fb01 f303 mul.w r3, r1, r3 8038bc6: 1ad3 subs r3, r2, r3 8038bc8: 4a70 ldr r2, [pc, #448] ; (8038d8c ) 8038bca: fba2 1203 umull r1, r2, r2, r3 8038bce: 0992 lsrs r2, r2, #6 8038bd0: f44f 717a mov.w r1, #1000 ; 0x3e8 8038bd4: fb01 f202 mul.w r2, r1, r2 8038bd8: 1a9a subs r2, r3, r2 8038bda: 4b6d ldr r3, [pc, #436] ; (8038d90 ) 8038bdc: fba3 2302 umull r2, r3, r3, r2 8038be0: 095b lsrs r3, r3, #5 8038be2: b2db uxtb r3, r3 8038be4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038be8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038bec: 0953 lsrs r3, r2, #5 8038bee: 4964 ldr r1, [pc, #400] ; (8038d80 ) 8038bf0: fba1 1303 umull r1, r3, r1, r3 8038bf4: 09db lsrs r3, r3, #7 8038bf6: 4963 ldr r1, [pc, #396] ; (8038d84 ) 8038bf8: fb01 f303 mul.w r3, r1, r3 8038bfc: 1ad3 subs r3, r2, r3 8038bfe: 4a62 ldr r2, [pc, #392] ; (8038d88 ) 8038c00: fba2 1203 umull r1, r2, r2, r3 8038c04: 0b52 lsrs r2, r2, #13 8038c06: f242 7110 movw r1, #10000 ; 0x2710 8038c0a: fb01 f202 mul.w r2, r1, r2 8038c0e: 1a9a subs r2, r3, r2 8038c10: 4b5e ldr r3, [pc, #376] ; (8038d8c ) 8038c12: fba3 1302 umull r1, r3, r3, r2 8038c16: 099b lsrs r3, r3, #6 8038c18: f44f 717a mov.w r1, #1000 ; 0x3e8 8038c1c: fb01 f303 mul.w r3, r1, r3 8038c20: 1ad3 subs r3, r2, r3 8038c22: 4a5b ldr r2, [pc, #364] ; (8038d90 ) 8038c24: fba2 1203 umull r1, r2, r2, r3 8038c28: 0952 lsrs r2, r2, #5 8038c2a: 2164 movs r1, #100 ; 0x64 8038c2c: fb01 f202 mul.w r2, r1, r2 8038c30: 1a9a subs r2, r3, r2 8038c32: 4b58 ldr r3, [pc, #352] ; (8038d94 ) 8038c34: fba3 2302 umull r2, r3, r3, r2 8038c38: 08db lsrs r3, r3, #3 8038c3a: b2db uxtb r3, r3 8038c3c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8038c40: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038c44: 0953 lsrs r3, r2, #5 8038c46: 494e ldr r1, [pc, #312] ; (8038d80 ) 8038c48: fba1 1303 umull r1, r3, r1, r3 8038c4c: 09db lsrs r3, r3, #7 8038c4e: 494d ldr r1, [pc, #308] ; (8038d84 ) 8038c50: fb01 f303 mul.w r3, r1, r3 8038c54: 1ad3 subs r3, r2, r3 8038c56: 4a4c ldr r2, [pc, #304] ; (8038d88 ) 8038c58: fba2 1203 umull r1, r2, r2, r3 8038c5c: 0b52 lsrs r2, r2, #13 8038c5e: f242 7110 movw r1, #10000 ; 0x2710 8038c62: fb01 f202 mul.w r2, r1, r2 8038c66: 1a9a subs r2, r3, r2 8038c68: 4b48 ldr r3, [pc, #288] ; (8038d8c ) 8038c6a: fba3 1302 umull r1, r3, r3, r2 8038c6e: 099b lsrs r3, r3, #6 8038c70: f44f 717a mov.w r1, #1000 ; 0x3e8 8038c74: fb01 f303 mul.w r3, r1, r3 8038c78: 1ad3 subs r3, r2, r3 8038c7a: 4a45 ldr r2, [pc, #276] ; (8038d90 ) 8038c7c: fba2 1203 umull r1, r2, r2, r3 8038c80: 0952 lsrs r2, r2, #5 8038c82: 2164 movs r1, #100 ; 0x64 8038c84: fb01 f202 mul.w r2, r1, r2 8038c88: 1a9a subs r2, r3, r2 8038c8a: 4b42 ldr r3, [pc, #264] ; (8038d94 ) 8038c8c: fba3 1302 umull r1, r3, r3, r2 8038c90: 08d9 lsrs r1, r3, #3 8038c92: 460b mov r3, r1 8038c94: 009b lsls r3, r3, #2 8038c96: 440b add r3, r1 8038c98: 005b lsls r3, r3, #1 8038c9a: 1ad1 subs r1, r2, r3 8038c9c: b2cb uxtb r3, r1 8038c9e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8038ca2: 4b35 ldr r3, [pc, #212] ; (8038d78 ) 8038ca4: 781b ldrb r3, [r3, #0] 8038ca6: b2db uxtb r3, r3 8038ca8: 3b0b subs r3, #11 8038caa: 2b05 cmp r3, #5 8038cac: d836 bhi.n 8038d1c 8038cae: a201 add r2, pc, #4 ; (adr r2, 8038cb4 ) 8038cb0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8038cb4: 08038ccd .word 0x08038ccd 8038cb8: 08038cdb .word 0x08038cdb 8038cbc: 08038ceb .word 0x08038ceb 8038cc0: 08038cf9 .word 0x08038cf9 8038cc4: 08038d05 .word 0x08038d05 8038cc8: 08038d11 .word 0x08038d11 k += 100000; 8038ccc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038cd0: 4b2c ldr r3, [pc, #176] ; (8038d84 ) 8038cd2: 4413 add r3, r2 8038cd4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038cd8: e020 b.n 8038d1c k += 10000; 8038cda: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038cde: f242 7310 movw r3, #10000 ; 0x2710 8038ce2: 4413 add r3, r2 8038ce4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038ce8: e018 b.n 8038d1c k += 1000; 8038cea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038cee: f503 737a add.w r3, r3, #1000 ; 0x3e8 8038cf2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038cf6: e011 b.n 8038d1c k += 100; 8038cf8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038cfc: 3364 adds r3, #100 ; 0x64 8038cfe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038d02: e00b b.n 8038d1c k += 10; 8038d04: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038d08: 330a adds r3, #10 8038d0a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038d0e: e005 b.n 8038d1c k++; 8038d10: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038d14: 3301 adds r3, #1 8038d16: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038d1a: bf00 nop if(k > 999999) k = 999999; 8038d1c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038d20: 4a1d ldr r2, [pc, #116] ; (8038d98 ) 8038d22: 4293 cmp r3, r2 8038d24: d902 bls.n 8038d2c 8038d26: 4b1c ldr r3, [pc, #112] ; (8038d98 ) 8038d28: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8038d2c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038d30: 2b00 cmp r3, #0 8038d32: d102 bne.n 8038d3a 8038d34: 2301 movs r3, #1 8038d36: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8038d3a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038d3e: ee07 3a90 vmov s15, r3 8038d42: eef8 7a67 vcvt.f32.u32 s15, s15 8038d46: 4b0d ldr r3, [pc, #52] ; (8038d7c ) 8038d48: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8038d4c: 4b0b ldr r3, [pc, #44] ; (8038d7c ) 8038d4e: edd3 7a06 vldr s15, [r3, #24] 8038d52: ed9f 7a12 vldr s14, [pc, #72] ; 8038d9c 8038d56: ee67 7a87 vmul.f32 s15, s15, s14 8038d5a: 4b08 ldr r3, [pc, #32] ; (8038d7c ) 8038d5c: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8038d60: 4b06 ldr r3, [pc, #24] ; (8038d7c ) 8038d62: edd3 7a06 vldr s15, [r3, #24] 8038d66: ed9f 7a0e vldr s14, [pc, #56] ; 8038da0 8038d6a: ee77 7a87 vadd.f32 s15, s15, s14 8038d6e: 4b03 ldr r3, [pc, #12] ; (8038d7c ) 8038d70: edc3 7a06 vstr s15, [r3, #24] 8038d74: e326 b.n 80393c4 8038d76: bf00 nop 8038d78: 20020070 .word 0x20020070 8038d7c: 20023ea8 .word 0x20023ea8 8038d80: 0a7c5ac5 .word 0x0a7c5ac5 8038d84: 000186a0 .word 0x000186a0 8038d88: d1b71759 .word 0xd1b71759 8038d8c: 10624dd3 .word 0x10624dd3 8038d90: 51eb851f .word 0x51eb851f 8038d94: cccccccd .word 0xcccccccd 8038d98: 000f423f .word 0x000f423f 8038d9c: 3dcccccd .word 0x3dcccccd 8038da0: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8038da4: 4bb1 ldr r3, [pc, #708] ; (803906c ) 8038da6: 781b ldrb r3, [r3, #0] 8038da8: b2db uxtb r3, r3 8038daa: 2b18 cmp r3, #24 8038dac: f240 8172 bls.w 8039094 8038db0: 4bae ldr r3, [pc, #696] ; (803906c ) 8038db2: 781b ldrb r3, [r3, #0] 8038db4: b2db uxtb r3, r3 8038db6: 2b1e cmp r3, #30 8038db8: f200 816c bhi.w 8039094 k = (uint32_t) (pardata.HP * 10.0f); 8038dbc: 4bac ldr r3, [pc, #688] ; (8039070 ) 8038dbe: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8038dc2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8038dc6: ee67 7a87 vmul.f32 s15, s15, s14 8038dca: eefc 7ae7 vcvt.u32.f32 s15, s15 8038dce: ee17 3a90 vmov r3, s15 8038dd2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8038dd6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038dda: 095b lsrs r3, r3, #5 8038ddc: 4aa5 ldr r2, [pc, #660] ; (8039074 ) 8038dde: fba2 2303 umull r2, r3, r2, r3 8038de2: 09db lsrs r3, r3, #7 8038de4: b2db uxtb r3, r3 8038de6: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8038dea: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038dee: 0953 lsrs r3, r2, #5 8038df0: 49a0 ldr r1, [pc, #640] ; (8039074 ) 8038df2: fba1 1303 umull r1, r3, r1, r3 8038df6: 09db lsrs r3, r3, #7 8038df8: 499f ldr r1, [pc, #636] ; (8039078 ) 8038dfa: fb01 f303 mul.w r3, r1, r3 8038dfe: 1ad3 subs r3, r2, r3 8038e00: 4a9e ldr r2, [pc, #632] ; (803907c ) 8038e02: fba2 2303 umull r2, r3, r2, r3 8038e06: 0b5b lsrs r3, r3, #13 8038e08: b2db uxtb r3, r3 8038e0a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8038e0e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038e12: 0953 lsrs r3, r2, #5 8038e14: 4997 ldr r1, [pc, #604] ; (8039074 ) 8038e16: fba1 1303 umull r1, r3, r1, r3 8038e1a: 09db lsrs r3, r3, #7 8038e1c: 4996 ldr r1, [pc, #600] ; (8039078 ) 8038e1e: fb01 f303 mul.w r3, r1, r3 8038e22: 1ad3 subs r3, r2, r3 8038e24: 4a95 ldr r2, [pc, #596] ; (803907c ) 8038e26: fba2 1203 umull r1, r2, r2, r3 8038e2a: 0b52 lsrs r2, r2, #13 8038e2c: f242 7110 movw r1, #10000 ; 0x2710 8038e30: fb01 f202 mul.w r2, r1, r2 8038e34: 1a9a subs r2, r3, r2 8038e36: 4b92 ldr r3, [pc, #584] ; (8039080 ) 8038e38: fba3 2302 umull r2, r3, r3, r2 8038e3c: 099b lsrs r3, r3, #6 8038e3e: b2db uxtb r3, r3 8038e40: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8038e44: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038e48: 095a lsrs r2, r3, #5 8038e4a: 498a ldr r1, [pc, #552] ; (8039074 ) 8038e4c: fba1 1202 umull r1, r2, r1, r2 8038e50: 09d2 lsrs r2, r2, #7 8038e52: 4989 ldr r1, [pc, #548] ; (8039078 ) 8038e54: fb01 f202 mul.w r2, r1, r2 8038e58: 1a9a subs r2, r3, r2 8038e5a: 4b88 ldr r3, [pc, #544] ; (803907c ) 8038e5c: fba3 1302 umull r1, r3, r3, r2 8038e60: 0b5b lsrs r3, r3, #13 8038e62: f242 7110 movw r1, #10000 ; 0x2710 8038e66: fb01 f303 mul.w r3, r1, r3 8038e6a: 1ad3 subs r3, r2, r3 8038e6c: 4a84 ldr r2, [pc, #528] ; (8039080 ) 8038e6e: fba2 1203 umull r1, r2, r2, r3 8038e72: 0992 lsrs r2, r2, #6 8038e74: f44f 717a mov.w r1, #1000 ; 0x3e8 8038e78: fb01 f202 mul.w r2, r1, r2 8038e7c: 1a9a subs r2, r3, r2 8038e7e: 4b81 ldr r3, [pc, #516] ; (8039084 ) 8038e80: fba3 2302 umull r2, r3, r3, r2 8038e84: 095b lsrs r3, r3, #5 8038e86: b2db uxtb r3, r3 8038e88: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038e8c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038e90: 0953 lsrs r3, r2, #5 8038e92: 4978 ldr r1, [pc, #480] ; (8039074 ) 8038e94: fba1 1303 umull r1, r3, r1, r3 8038e98: 09db lsrs r3, r3, #7 8038e9a: 4977 ldr r1, [pc, #476] ; (8039078 ) 8038e9c: fb01 f303 mul.w r3, r1, r3 8038ea0: 1ad3 subs r3, r2, r3 8038ea2: 4a76 ldr r2, [pc, #472] ; (803907c ) 8038ea4: fba2 1203 umull r1, r2, r2, r3 8038ea8: 0b52 lsrs r2, r2, #13 8038eaa: f242 7110 movw r1, #10000 ; 0x2710 8038eae: fb01 f202 mul.w r2, r1, r2 8038eb2: 1a9a subs r2, r3, r2 8038eb4: 4b72 ldr r3, [pc, #456] ; (8039080 ) 8038eb6: fba3 1302 umull r1, r3, r3, r2 8038eba: 099b lsrs r3, r3, #6 8038ebc: f44f 717a mov.w r1, #1000 ; 0x3e8 8038ec0: fb01 f303 mul.w r3, r1, r3 8038ec4: 1ad3 subs r3, r2, r3 8038ec6: 4a6f ldr r2, [pc, #444] ; (8039084 ) 8038ec8: fba2 1203 umull r1, r2, r2, r3 8038ecc: 0952 lsrs r2, r2, #5 8038ece: 2164 movs r1, #100 ; 0x64 8038ed0: fb01 f202 mul.w r2, r1, r2 8038ed4: 1a9a subs r2, r3, r2 8038ed6: 4b6c ldr r3, [pc, #432] ; (8039088 ) 8038ed8: fba3 2302 umull r2, r3, r3, r2 8038edc: 08db lsrs r3, r3, #3 8038ede: b2db uxtb r3, r3 8038ee0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8038ee4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038ee8: 0953 lsrs r3, r2, #5 8038eea: 4962 ldr r1, [pc, #392] ; (8039074 ) 8038eec: fba1 1303 umull r1, r3, r1, r3 8038ef0: 09db lsrs r3, r3, #7 8038ef2: 4961 ldr r1, [pc, #388] ; (8039078 ) 8038ef4: fb01 f303 mul.w r3, r1, r3 8038ef8: 1ad3 subs r3, r2, r3 8038efa: 4a60 ldr r2, [pc, #384] ; (803907c ) 8038efc: fba2 1203 umull r1, r2, r2, r3 8038f00: 0b52 lsrs r2, r2, #13 8038f02: f242 7110 movw r1, #10000 ; 0x2710 8038f06: fb01 f202 mul.w r2, r1, r2 8038f0a: 1a9a subs r2, r3, r2 8038f0c: 4b5c ldr r3, [pc, #368] ; (8039080 ) 8038f0e: fba3 1302 umull r1, r3, r3, r2 8038f12: 099b lsrs r3, r3, #6 8038f14: f44f 717a mov.w r1, #1000 ; 0x3e8 8038f18: fb01 f303 mul.w r3, r1, r3 8038f1c: 1ad3 subs r3, r2, r3 8038f1e: 4a59 ldr r2, [pc, #356] ; (8039084 ) 8038f20: fba2 1203 umull r1, r2, r2, r3 8038f24: 0952 lsrs r2, r2, #5 8038f26: 2164 movs r1, #100 ; 0x64 8038f28: fb01 f202 mul.w r2, r1, r2 8038f2c: 1a9a subs r2, r3, r2 8038f2e: 4b56 ldr r3, [pc, #344] ; (8039088 ) 8038f30: fba3 1302 umull r1, r3, r3, r2 8038f34: 08d9 lsrs r1, r3, #3 8038f36: 460b mov r3, r1 8038f38: 009b lsls r3, r3, #2 8038f3a: 440b add r3, r1 8038f3c: 005b lsls r3, r3, #1 8038f3e: 1ad1 subs r1, r2, r3 8038f40: b2cb uxtb r3, r1 8038f42: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8038f46: 4b49 ldr r3, [pc, #292] ; (803906c ) 8038f48: 781b ldrb r3, [r3, #0] 8038f4a: b2db uxtb r3, r3 8038f4c: 3b19 subs r3, #25 8038f4e: 2b05 cmp r3, #5 8038f50: d836 bhi.n 8038fc0 8038f52: a201 add r2, pc, #4 ; (adr r2, 8038f58 ) 8038f54: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8038f58: 08038f71 .word 0x08038f71 8038f5c: 08038f7f .word 0x08038f7f 8038f60: 08038f8f .word 0x08038f8f 8038f64: 08038f9d .word 0x08038f9d 8038f68: 08038fa9 .word 0x08038fa9 8038f6c: 08038fb5 .word 0x08038fb5 k += 100000; 8038f70: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038f74: 4b40 ldr r3, [pc, #256] ; (8039078 ) 8038f76: 4413 add r3, r2 8038f78: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038f7c: e020 b.n 8038fc0 k += 10000; 8038f7e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038f82: f242 7310 movw r3, #10000 ; 0x2710 8038f86: 4413 add r3, r2 8038f88: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038f8c: e018 b.n 8038fc0 k += 1000; 8038f8e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038f92: f503 737a add.w r3, r3, #1000 ; 0x3e8 8038f96: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038f9a: e011 b.n 8038fc0 k += 100; 8038f9c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038fa0: 3364 adds r3, #100 ; 0x64 8038fa2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038fa6: e00b b.n 8038fc0 k += 10; 8038fa8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038fac: 330a adds r3, #10 8038fae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038fb2: e005 b.n 8038fc0 k++; 8038fb4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038fb8: 3301 adds r3, #1 8038fba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038fbe: bf00 nop fl = (float32_t) k; 8038fc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038fc4: ee07 3a90 vmov s15, r3 8038fc8: eef8 7a67 vcvt.f32.u32 s15, s15 8038fcc: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8038fd0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8038fd4: ed9f 7a2d vldr s14, [pc, #180] ; 803908c 8038fd8: ee67 7a87 vmul.f32 s15, s15, s14 8038fdc: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8038fe0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8038fe4: ed9f 7a2a vldr s14, [pc, #168] ; 8039090 8038fe8: ee77 7a87 vadd.f32 s15, s15, s14 8038fec: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 0.5f) 8038ff0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8038ff4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8038ff8: eef4 7ac7 vcmpe.f32 s15, s14 8038ffc: eef1 fa10 vmrs APSR_nzcv, fpscr 8039000: d505 bpl.n 803900e pardata.HP = 0.5f; 8039002: 4b1b ldr r3, [pc, #108] ; (8039070 ) 8039004: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8039008: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(fl < 0.5f) 803900c: e1da b.n 80393c4 if(fl > pardata.LP) 803900e: 4b18 ldr r3, [pc, #96] ; (8039070 ) 8039010: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039014: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039018: eeb4 7ae7 vcmpe.f32 s14, s15 803901c: eef1 fa10 vmrs APSR_nzcv, fpscr 8039020: d506 bpl.n 8039030 pardata.HP = pardata.LP; 8039022: 4b13 ldr r3, [pc, #76] ; (8039070 ) 8039024: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8039028: 4a11 ldr r2, [pc, #68] ; (8039070 ) 803902a: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(fl < 0.5f) 803902e: e1c9 b.n 80393c4 pardata.HP = (float32_t) k; 8039030: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039034: ee07 3a90 vmov s15, r3 8039038: eef8 7a67 vcvt.f32.u32 s15, s15 803903c: 4b0c ldr r3, [pc, #48] ; (8039070 ) 803903e: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8039042: 4b0b ldr r3, [pc, #44] ; (8039070 ) 8039044: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039048: ed9f 7a10 vldr s14, [pc, #64] ; 803908c 803904c: ee67 7a87 vmul.f32 s15, s15, s14 8039050: 4b07 ldr r3, [pc, #28] ; (8039070 ) 8039052: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8039056: 4b06 ldr r3, [pc, #24] ; (8039070 ) 8039058: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803905c: ed9f 7a0c vldr s14, [pc, #48] ; 8039090 8039060: ee77 7a87 vadd.f32 s15, s15, s14 8039064: 4b02 ldr r3, [pc, #8] ; (8039070 ) 8039066: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(fl < 0.5f) 803906a: e1ab b.n 80393c4 803906c: 20020070 .word 0x20020070 8039070: 20023ea8 .word 0x20023ea8 8039074: 0a7c5ac5 .word 0x0a7c5ac5 8039078: 000186a0 .word 0x000186a0 803907c: d1b71759 .word 0xd1b71759 8039080: 10624dd3 .word 0x10624dd3 8039084: 51eb851f .word 0x51eb851f 8039088: cccccccd .word 0xcccccccd 803908c: 3dcccccd .word 0x3dcccccd 8039090: 38d1b717 .word 0x38d1b717 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8039094: 4bcc ldr r3, [pc, #816] ; (80393c8 ) 8039096: 781b ldrb r3, [r3, #0] 8039098: b2db uxtb r3, r3 803909a: 2b1e cmp r3, #30 803909c: f240 816c bls.w 8039378 80390a0: 4bc9 ldr r3, [pc, #804] ; (80393c8 ) 80390a2: 781b ldrb r3, [r3, #0] 80390a4: b2db uxtb r3, r3 80390a6: 2b24 cmp r3, #36 ; 0x24 80390a8: f200 8166 bhi.w 8039378 k = (uint32_t) (pardata.LP * 10.0f); 80390ac: 4bc7 ldr r3, [pc, #796] ; (80393cc ) 80390ae: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80390b2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80390b6: ee67 7a87 vmul.f32 s15, s15, s14 80390ba: eefc 7ae7 vcvt.u32.f32 s15, s15 80390be: ee17 3a90 vmov r3, s15 80390c2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80390c6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80390ca: 095b lsrs r3, r3, #5 80390cc: 4ac0 ldr r2, [pc, #768] ; (80393d0 ) 80390ce: fba2 2303 umull r2, r3, r2, r3 80390d2: 09db lsrs r3, r3, #7 80390d4: b2db uxtb r3, r3 80390d6: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80390da: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80390de: 0953 lsrs r3, r2, #5 80390e0: 49bb ldr r1, [pc, #748] ; (80393d0 ) 80390e2: fba1 1303 umull r1, r3, r1, r3 80390e6: 09db lsrs r3, r3, #7 80390e8: 49ba ldr r1, [pc, #744] ; (80393d4 ) 80390ea: fb01 f303 mul.w r3, r1, r3 80390ee: 1ad3 subs r3, r2, r3 80390f0: 4ab9 ldr r2, [pc, #740] ; (80393d8 ) 80390f2: fba2 2303 umull r2, r3, r2, r3 80390f6: 0b5b lsrs r3, r3, #13 80390f8: b2db uxtb r3, r3 80390fa: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80390fe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039102: 0953 lsrs r3, r2, #5 8039104: 49b2 ldr r1, [pc, #712] ; (80393d0 ) 8039106: fba1 1303 umull r1, r3, r1, r3 803910a: 09db lsrs r3, r3, #7 803910c: 49b1 ldr r1, [pc, #708] ; (80393d4 ) 803910e: fb01 f303 mul.w r3, r1, r3 8039112: 1ad3 subs r3, r2, r3 8039114: 4ab0 ldr r2, [pc, #704] ; (80393d8 ) 8039116: fba2 1203 umull r1, r2, r2, r3 803911a: 0b52 lsrs r2, r2, #13 803911c: f242 7110 movw r1, #10000 ; 0x2710 8039120: fb01 f202 mul.w r2, r1, r2 8039124: 1a9a subs r2, r3, r2 8039126: 4bad ldr r3, [pc, #692] ; (80393dc ) 8039128: fba3 2302 umull r2, r3, r3, r2 803912c: 099b lsrs r3, r3, #6 803912e: b2db uxtb r3, r3 8039130: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8039134: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039138: 095a lsrs r2, r3, #5 803913a: 49a5 ldr r1, [pc, #660] ; (80393d0 ) 803913c: fba1 1202 umull r1, r2, r1, r2 8039140: 09d2 lsrs r2, r2, #7 8039142: 49a4 ldr r1, [pc, #656] ; (80393d4 ) 8039144: fb01 f202 mul.w r2, r1, r2 8039148: 1a9a subs r2, r3, r2 803914a: 4ba3 ldr r3, [pc, #652] ; (80393d8 ) 803914c: fba3 1302 umull r1, r3, r3, r2 8039150: 0b5b lsrs r3, r3, #13 8039152: f242 7110 movw r1, #10000 ; 0x2710 8039156: fb01 f303 mul.w r3, r1, r3 803915a: 1ad3 subs r3, r2, r3 803915c: 4a9f ldr r2, [pc, #636] ; (80393dc ) 803915e: fba2 1203 umull r1, r2, r2, r3 8039162: 0992 lsrs r2, r2, #6 8039164: f44f 717a mov.w r1, #1000 ; 0x3e8 8039168: fb01 f202 mul.w r2, r1, r2 803916c: 1a9a subs r2, r3, r2 803916e: 4b9c ldr r3, [pc, #624] ; (80393e0 ) 8039170: fba3 2302 umull r2, r3, r3, r2 8039174: 095b lsrs r3, r3, #5 8039176: b2db uxtb r3, r3 8039178: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803917c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039180: 0953 lsrs r3, r2, #5 8039182: 4993 ldr r1, [pc, #588] ; (80393d0 ) 8039184: fba1 1303 umull r1, r3, r1, r3 8039188: 09db lsrs r3, r3, #7 803918a: 4992 ldr r1, [pc, #584] ; (80393d4 ) 803918c: fb01 f303 mul.w r3, r1, r3 8039190: 1ad3 subs r3, r2, r3 8039192: 4a91 ldr r2, [pc, #580] ; (80393d8 ) 8039194: fba2 1203 umull r1, r2, r2, r3 8039198: 0b52 lsrs r2, r2, #13 803919a: f242 7110 movw r1, #10000 ; 0x2710 803919e: fb01 f202 mul.w r2, r1, r2 80391a2: 1a9a subs r2, r3, r2 80391a4: 4b8d ldr r3, [pc, #564] ; (80393dc ) 80391a6: fba3 1302 umull r1, r3, r3, r2 80391aa: 099b lsrs r3, r3, #6 80391ac: f44f 717a mov.w r1, #1000 ; 0x3e8 80391b0: fb01 f303 mul.w r3, r1, r3 80391b4: 1ad3 subs r3, r2, r3 80391b6: 4a8a ldr r2, [pc, #552] ; (80393e0 ) 80391b8: fba2 1203 umull r1, r2, r2, r3 80391bc: 0952 lsrs r2, r2, #5 80391be: 2164 movs r1, #100 ; 0x64 80391c0: fb01 f202 mul.w r2, r1, r2 80391c4: 1a9a subs r2, r3, r2 80391c6: 4b87 ldr r3, [pc, #540] ; (80393e4 ) 80391c8: fba3 2302 umull r2, r3, r3, r2 80391cc: 08db lsrs r3, r3, #3 80391ce: b2db uxtb r3, r3 80391d0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80391d4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80391d8: 0953 lsrs r3, r2, #5 80391da: 497d ldr r1, [pc, #500] ; (80393d0 ) 80391dc: fba1 1303 umull r1, r3, r1, r3 80391e0: 09db lsrs r3, r3, #7 80391e2: 497c ldr r1, [pc, #496] ; (80393d4 ) 80391e4: fb01 f303 mul.w r3, r1, r3 80391e8: 1ad3 subs r3, r2, r3 80391ea: 4a7b ldr r2, [pc, #492] ; (80393d8 ) 80391ec: fba2 1203 umull r1, r2, r2, r3 80391f0: 0b52 lsrs r2, r2, #13 80391f2: f242 7110 movw r1, #10000 ; 0x2710 80391f6: fb01 f202 mul.w r2, r1, r2 80391fa: 1a9a subs r2, r3, r2 80391fc: 4b77 ldr r3, [pc, #476] ; (80393dc ) 80391fe: fba3 1302 umull r1, r3, r3, r2 8039202: 099b lsrs r3, r3, #6 8039204: f44f 717a mov.w r1, #1000 ; 0x3e8 8039208: fb01 f303 mul.w r3, r1, r3 803920c: 1ad3 subs r3, r2, r3 803920e: 4a74 ldr r2, [pc, #464] ; (80393e0 ) 8039210: fba2 1203 umull r1, r2, r2, r3 8039214: 0952 lsrs r2, r2, #5 8039216: 2164 movs r1, #100 ; 0x64 8039218: fb01 f202 mul.w r2, r1, r2 803921c: 1a9a subs r2, r3, r2 803921e: 4b71 ldr r3, [pc, #452] ; (80393e4 ) 8039220: fba3 1302 umull r1, r3, r3, r2 8039224: 08d9 lsrs r1, r3, #3 8039226: 460b mov r3, r1 8039228: 009b lsls r3, r3, #2 803922a: 440b add r3, r1 803922c: 005b lsls r3, r3, #1 803922e: 1ad1 subs r1, r2, r3 8039230: b2cb uxtb r3, r1 8039232: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8039236: 4b64 ldr r3, [pc, #400] ; (80393c8 ) 8039238: 781b ldrb r3, [r3, #0] 803923a: b2db uxtb r3, r3 803923c: 3b1f subs r3, #31 803923e: 2b05 cmp r3, #5 8039240: d836 bhi.n 80392b0 8039242: a201 add r2, pc, #4 ; (adr r2, 8039248 ) 8039244: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8039248: 08039261 .word 0x08039261 803924c: 0803926f .word 0x0803926f 8039250: 0803927f .word 0x0803927f 8039254: 0803928d .word 0x0803928d 8039258: 08039299 .word 0x08039299 803925c: 080392a5 .word 0x080392a5 k += 100000; 8039260: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039264: 4b5b ldr r3, [pc, #364] ; (80393d4 ) 8039266: 4413 add r3, r2 8039268: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803926c: e020 b.n 80392b0 k += 10000; 803926e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039272: f242 7310 movw r3, #10000 ; 0x2710 8039276: 4413 add r3, r2 8039278: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803927c: e018 b.n 80392b0 k += 1000; 803927e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039282: f503 737a add.w r3, r3, #1000 ; 0x3e8 8039286: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803928a: e011 b.n 80392b0 k += 100; 803928c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039290: 3364 adds r3, #100 ; 0x64 8039292: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039296: e00b b.n 80392b0 k += 10; 8039298: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803929c: 330a adds r3, #10 803929e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80392a2: e005 b.n 80392b0 k++; 80392a4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80392a8: 3301 adds r3, #1 80392aa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80392ae: bf00 nop fl = (float32_t) k; 80392b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80392b4: ee07 3a90 vmov s15, r3 80392b8: eef8 7a67 vcvt.f32.u32 s15, s15 80392bc: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80392c0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80392c4: ed9f 7a48 vldr s14, [pc, #288] ; 80393e8 80392c8: ee67 7a87 vmul.f32 s15, s15, s14 80392cc: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80392d0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80392d4: ed9f 7a45 vldr s14, [pc, #276] ; 80393ec 80392d8: ee77 7a87 vadd.f32 s15, s15, s14 80392dc: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 80392e0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80392e4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80392e8: eef4 7ac7 vcmpe.f32 s15, s14 80392ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80392f0: d504 bpl.n 80392fc pardata.LP = 10.0f; 80392f2: 4b36 ldr r3, [pc, #216] ; (80393cc ) 80392f4: 4a3e ldr r2, [pc, #248] ; (80393f0 ) 80392f6: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 80392fa: e063 b.n 80393c4 if(pardata.LP < pardata.HP) 80392fc: 4b33 ldr r3, [pc, #204] ; (80393cc ) 80392fe: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039302: 4b32 ldr r3, [pc, #200] ; (80393cc ) 8039304: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039308: eeb4 7ae7 vcmpe.f32 s14, s15 803930c: eef1 fa10 vmrs APSR_nzcv, fpscr 8039310: d506 bpl.n 8039320 pardata.LP = pardata.HP; 8039312: 4b2e ldr r3, [pc, #184] ; (80393cc ) 8039314: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 8039318: 4a2c ldr r2, [pc, #176] ; (80393cc ) 803931a: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 if(fl < 10.0f) 803931e: e051 b.n 80393c4 if(fl > 12800.0f) 8039320: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039324: ed9f 7a33 vldr s14, [pc, #204] ; 80393f4 8039328: eef4 7ac7 vcmpe.f32 s15, s14 803932c: eef1 fa10 vmrs APSR_nzcv, fpscr 8039330: dd04 ble.n 803933c pardata.LP = 12800.0f; 8039332: 4b26 ldr r3, [pc, #152] ; (80393cc ) 8039334: 4a30 ldr r2, [pc, #192] ; (80393f8 ) 8039336: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 803933a: e043 b.n 80393c4 pardata.LP = (float32_t) k; 803933c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039340: ee07 3a90 vmov s15, r3 8039344: eef8 7a67 vcvt.f32.u32 s15, s15 8039348: 4b20 ldr r3, [pc, #128] ; (80393cc ) 803934a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 803934e: 4b1f ldr r3, [pc, #124] ; (80393cc ) 8039350: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8039354: ed9f 7a24 vldr s14, [pc, #144] ; 80393e8 8039358: ee67 7a87 vmul.f32 s15, s15, s14 803935c: 4b1b ldr r3, [pc, #108] ; (80393cc ) 803935e: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8039362: 4b1a ldr r3, [pc, #104] ; (80393cc ) 8039364: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8039368: ed9f 7a20 vldr s14, [pc, #128] ; 80393ec 803936c: ee77 7a87 vadd.f32 s15, s15, s14 8039370: 4b16 ldr r3, [pc, #88] ; (80393cc ) 8039372: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 if(fl < 10.0f) 8039376: e025 b.n 80393c4 if(pardata.HP < 2.0f) 8039378: 4b14 ldr r3, [pc, #80] ; (80393cc ) 803937a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803937e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8039382: eef4 7ac7 vcmpe.f32 s15, s14 8039386: eef1 fa10 vmrs APSR_nzcv, fpscr 803938a: d508 bpl.n 803939e menupos--; 803938c: 4b0e ldr r3, [pc, #56] ; (80393c8 ) 803938e: 781b ldrb r3, [r3, #0] 8039390: b2db uxtb r3, r3 8039392: 3b01 subs r3, #1 8039394: b2da uxtb r2, r3 8039396: 4b0c ldr r3, [pc, #48] ; (80393c8 ) 8039398: 701a strb r2, [r3, #0] break; 803939a: f003 b908 b.w 803c5ae if(menupos == Average) 803939e: 4b0a ldr r3, [pc, #40] ; (80393c8 ) 80393a0: 781b ldrb r3, [r3, #0] 80393a2: b2db uxtb r3, r3 80393a4: 2b05 cmp r3, #5 80393a6: d104 bne.n 80393b2 menupos = ValueA; 80393a8: 4b07 ldr r3, [pc, #28] ; (80393c8 ) 80393aa: 2202 movs r2, #2 80393ac: 701a strb r2, [r3, #0] break; 80393ae: f003 b8fe b.w 803c5ae else menupos--; 80393b2: 4b05 ldr r3, [pc, #20] ; (80393c8 ) 80393b4: 781b ldrb r3, [r3, #0] 80393b6: b2db uxtb r3, r3 80393b8: 3b01 subs r3, #1 80393ba: b2da uxtb r2, r3 80393bc: 4b02 ldr r3, [pc, #8] ; (80393c8 ) 80393be: 701a strb r2, [r3, #0] break; 80393c0: f003 b8f5 b.w 803c5ae 80393c4: f003 b8f3 b.w 803c5ae 80393c8: 20020070 .word 0x20020070 80393cc: 20023ea8 .word 0x20023ea8 80393d0: 0a7c5ac5 .word 0x0a7c5ac5 80393d4: 000186a0 .word 0x000186a0 80393d8: d1b71759 .word 0xd1b71759 80393dc: 10624dd3 .word 0x10624dd3 80393e0: 51eb851f .word 0x51eb851f 80393e4: cccccccd .word 0xcccccccd 80393e8: 3dcccccd .word 0x3dcccccd 80393ec: 38d1b717 .word 0x38d1b717 80393f0: 41200000 .word 0x41200000 80393f4: 46480000 .word 0x46480000 80393f8: 46480000 .word 0x46480000 case PARAM_SPEC: focused = false; 80393fc: 4bc9 ldr r3, [pc, #804] ; (8039724 ) 80393fe: 2200 movs r2, #0 8039400: 701a strb r2, [r3, #0] switch(pardata.OPTIONS & maskFFT) 8039402: 4bc9 ldr r3, [pc, #804] ; (8039728 ) 8039404: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8039408: f003 0330 and.w r3, r3, #48 ; 0x30 803940c: 2b10 cmp r3, #16 803940e: d00d beq.n 803942c 8039410: 2b10 cmp r3, #16 8039412: d803 bhi.n 803941c 8039414: 2b00 cmp r3, #0 8039416: d009 beq.n 803942c pardata.LP += 0.0001f; } } break; } break; 8039418: f003 b8c9 b.w 803c5ae switch(pardata.OPTIONS & maskFFT) 803941c: 2b20 cmp r3, #32 803941e: f000 855f beq.w 8039ee0 8039422: 2b30 cmp r3, #48 ; 0x30 8039424: f000 855c beq.w 8039ee0 break; 8039428: f003 b8c1 b.w 803c5ae if(menupos == Ok) 803942c: 4bbf ldr r3, [pc, #764] ; (803972c ) 803942e: 781b ldrb r3, [r3, #0] 8039430: b2db uxtb r3, r3 8039432: 2b00 cmp r3, #0 8039434: d110 bne.n 8039458 if(pardata.OPTIONS & 0x4) 8039436: 4bbc ldr r3, [pc, #752] ; (8039728 ) 8039438: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803943c: f003 0304 and.w r3, r3, #4 8039440: 2b00 cmp r3, #0 8039442: d004 beq.n 803944e menupos = VibAutoKu; 8039444: 4bb9 ldr r3, [pc, #740] ; (803972c ) 8039446: 2208 movs r2, #8 8039448: 701a strb r2, [r3, #0] break; 803944a: f001 ba5c b.w 803a906 else menupos = VibMax_ALL; 803944e: 4bb7 ldr r3, [pc, #732] ; (803972c ) 8039450: 2209 movs r2, #9 8039452: 701a strb r2, [r3, #0] break; 8039454: f001 ba57 b.w 803a906 if(menupos == VibMax_ALL) 8039458: 4bb4 ldr r3, [pc, #720] ; (803972c ) 803945a: 781b ldrb r3, [r3, #0] 803945c: b2db uxtb r3, r3 803945e: 2b09 cmp r3, #9 8039460: d104 bne.n 803946c menupos = VibAutoKu; 8039462: 4bb2 ldr r3, [pc, #712] ; (803972c ) 8039464: 2208 movs r2, #8 8039466: 701a strb r2, [r3, #0] break; 8039468: f001 ba4d b.w 803a906 if(menupos == VibAutoKu) 803946c: 4baf ldr r3, [pc, #700] ; (803972c ) 803946e: 781b ldrb r3, [r3, #0] 8039470: b2db uxtb r3, r3 8039472: 2b08 cmp r3, #8 8039474: d104 bne.n 8039480 menupos = SAverage; 8039476: 4bad ldr r3, [pc, #692] ; (803972c ) 8039478: 2207 movs r2, #7 803947a: 701a strb r2, [r3, #0] break; 803947c: f001 ba43 b.w 803a906 if(menupos == SAverage) 8039480: 4baa ldr r3, [pc, #680] ; (803972c ) 8039482: 781b ldrb r3, [r3, #0] 8039484: b2db uxtb r3, r3 8039486: 2b07 cmp r3, #7 8039488: d104 bne.n 8039494 menupos = SpecWin; 803948a: 4ba8 ldr r3, [pc, #672] ; (803972c ) 803948c: 2206 movs r2, #6 803948e: 701a strb r2, [r3, #0] break; 8039490: f001 ba39 b.w 803a906 if(menupos == SpecWin) 8039494: 4ba5 ldr r3, [pc, #660] ; (803972c ) 8039496: 781b ldrb r3, [r3, #0] 8039498: b2db uxtb r3, r3 803949a: 2b06 cmp r3, #6 803949c: d104 bne.n 80394a8 menupos = LinLog; 803949e: 4ba3 ldr r3, [pc, #652] ; (803972c ) 80394a0: 2205 movs r2, #5 80394a2: 701a strb r2, [r3, #0] break; 80394a4: f001 ba2f b.w 803a906 if(menupos == LinLog) 80394a8: 4ba0 ldr r3, [pc, #640] ; (803972c ) 80394aa: 781b ldrb r3, [r3, #0] 80394ac: b2db uxtb r3, r3 80394ae: 2b05 cmp r3, #5 80394b0: d104 bne.n 80394bc menupos = SpecLines; 80394b2: 4b9e ldr r3, [pc, #632] ; (803972c ) 80394b4: 2204 movs r2, #4 80394b6: 701a strb r2, [r3, #0] break; 80394b8: f001 ba25 b.w 803a906 if(menupos == SpecLines) 80394bc: 4b9b ldr r3, [pc, #620] ; (803972c ) 80394be: 781b ldrb r3, [r3, #0] 80394c0: b2db uxtb r3, r3 80394c2: 2b04 cmp r3, #4 80394c4: d104 bne.n 80394d0 menupos = FilterLP; 80394c6: 4b99 ldr r3, [pc, #612] ; (803972c ) 80394c8: 2218 movs r2, #24 80394ca: 701a strb r2, [r3, #0] break; 80394cc: f001 ba1b b.w 803a906 if(menupos == FilterLP) 80394d0: 4b96 ldr r3, [pc, #600] ; (803972c ) 80394d2: 781b ldrb r3, [r3, #0] 80394d4: b2db uxtb r3, r3 80394d6: 2b18 cmp r3, #24 80394d8: d104 bne.n 80394e4 menupos = FilterHP; 80394da: 4b94 ldr r3, [pc, #592] ; (803972c ) 80394dc: 2217 movs r2, #23 80394de: 701a strb r2, [r3, #0] break; 80394e0: f001 ba11 b.w 803a906 if(menupos == FilterHP) 80394e4: 4b91 ldr r3, [pc, #580] ; (803972c ) 80394e6: 781b ldrb r3, [r3, #0] 80394e8: b2db uxtb r3, r3 80394ea: 2b17 cmp r3, #23 80394ec: d104 bne.n 80394f8 menupos = SpecValue; 80394ee: 4b8f ldr r3, [pc, #572] ; (803972c ) 80394f0: 2202 movs r2, #2 80394f2: 701a strb r2, [r3, #0] break; 80394f4: f001 ba07 b.w 803a906 if(menupos == SpecValue) 80394f8: 4b8c ldr r3, [pc, #560] ; (803972c ) 80394fa: 781b ldrb r3, [r3, #0] 80394fc: b2db uxtb r3, r3 80394fe: 2b02 cmp r3, #2 8039500: d104 bne.n 803950c menupos = SpecType; 8039502: 4b8a ldr r3, [pc, #552] ; (803972c ) 8039504: 2201 movs r2, #1 8039506: 701a strb r2, [r3, #0] break; 8039508: f001 b9fd b.w 803a906 if(menupos == SpecType) 803950c: 4b87 ldr r3, [pc, #540] ; (803972c ) 803950e: 781b ldrb r3, [r3, #0] 8039510: b2db uxtb r3, r3 8039512: 2b01 cmp r3, #1 8039514: d104 bne.n 8039520 menupos = Ok; 8039516: 4b85 ldr r3, [pc, #532] ; (803972c ) 8039518: 2200 movs r2, #0 803951a: 701a strb r2, [r3, #0] break; 803951c: f001 b9f3 b.w 803a906 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8039520: 4b82 ldr r3, [pc, #520] ; (803972c ) 8039522: 781b ldrb r3, [r3, #0] 8039524: b2db uxtb r3, r3 8039526: 2b0a cmp r3, #10 8039528: f240 8147 bls.w 80397ba 803952c: 4b7f ldr r3, [pc, #508] ; (803972c ) 803952e: 781b ldrb r3, [r3, #0] 8039530: b2db uxtb r3, r3 8039532: 2b10 cmp r3, #16 8039534: f200 8141 bhi.w 80397ba k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8039538: 4b7b ldr r3, [pc, #492] ; (8039728 ) 803953a: edd3 7a06 vldr s15, [r3, #24] 803953e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8039542: ee67 7a87 vmul.f32 s15, s15, s14 8039546: eefc 7ae7 vcvt.u32.f32 s15, s15 803954a: ee17 3a90 vmov r3, s15 803954e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8039552: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039556: 095b lsrs r3, r3, #5 8039558: 4a75 ldr r2, [pc, #468] ; (8039730 ) 803955a: fba2 2303 umull r2, r3, r2, r3 803955e: 09db lsrs r3, r3, #7 8039560: b2db uxtb r3, r3 8039562: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8039566: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803956a: 0953 lsrs r3, r2, #5 803956c: 4970 ldr r1, [pc, #448] ; (8039730 ) 803956e: fba1 1303 umull r1, r3, r1, r3 8039572: 09db lsrs r3, r3, #7 8039574: 496f ldr r1, [pc, #444] ; (8039734 ) 8039576: fb01 f303 mul.w r3, r1, r3 803957a: 1ad3 subs r3, r2, r3 803957c: 4a6e ldr r2, [pc, #440] ; (8039738 ) 803957e: fba2 2303 umull r2, r3, r2, r3 8039582: 0b5b lsrs r3, r3, #13 8039584: b2db uxtb r3, r3 8039586: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803958a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803958e: 0953 lsrs r3, r2, #5 8039590: 4967 ldr r1, [pc, #412] ; (8039730 ) 8039592: fba1 1303 umull r1, r3, r1, r3 8039596: 09db lsrs r3, r3, #7 8039598: 4966 ldr r1, [pc, #408] ; (8039734 ) 803959a: fb01 f303 mul.w r3, r1, r3 803959e: 1ad3 subs r3, r2, r3 80395a0: 4a65 ldr r2, [pc, #404] ; (8039738 ) 80395a2: fba2 1203 umull r1, r2, r2, r3 80395a6: 0b52 lsrs r2, r2, #13 80395a8: f242 7110 movw r1, #10000 ; 0x2710 80395ac: fb01 f202 mul.w r2, r1, r2 80395b0: 1a9a subs r2, r3, r2 80395b2: 4b62 ldr r3, [pc, #392] ; (803973c ) 80395b4: fba3 2302 umull r2, r3, r3, r2 80395b8: 099b lsrs r3, r3, #6 80395ba: b2db uxtb r3, r3 80395bc: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80395c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80395c4: 095a lsrs r2, r3, #5 80395c6: 495a ldr r1, [pc, #360] ; (8039730 ) 80395c8: fba1 1202 umull r1, r2, r1, r2 80395cc: 09d2 lsrs r2, r2, #7 80395ce: 4959 ldr r1, [pc, #356] ; (8039734 ) 80395d0: fb01 f202 mul.w r2, r1, r2 80395d4: 1a9a subs r2, r3, r2 80395d6: 4b58 ldr r3, [pc, #352] ; (8039738 ) 80395d8: fba3 1302 umull r1, r3, r3, r2 80395dc: 0b5b lsrs r3, r3, #13 80395de: f242 7110 movw r1, #10000 ; 0x2710 80395e2: fb01 f303 mul.w r3, r1, r3 80395e6: 1ad3 subs r3, r2, r3 80395e8: 4a54 ldr r2, [pc, #336] ; (803973c ) 80395ea: fba2 1203 umull r1, r2, r2, r3 80395ee: 0992 lsrs r2, r2, #6 80395f0: f44f 717a mov.w r1, #1000 ; 0x3e8 80395f4: fb01 f202 mul.w r2, r1, r2 80395f8: 1a9a subs r2, r3, r2 80395fa: 4b51 ldr r3, [pc, #324] ; (8039740 ) 80395fc: fba3 2302 umull r2, r3, r3, r2 8039600: 095b lsrs r3, r3, #5 8039602: b2db uxtb r3, r3 8039604: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8039608: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803960c: 0953 lsrs r3, r2, #5 803960e: 4948 ldr r1, [pc, #288] ; (8039730 ) 8039610: fba1 1303 umull r1, r3, r1, r3 8039614: 09db lsrs r3, r3, #7 8039616: 4947 ldr r1, [pc, #284] ; (8039734 ) 8039618: fb01 f303 mul.w r3, r1, r3 803961c: 1ad3 subs r3, r2, r3 803961e: 4a46 ldr r2, [pc, #280] ; (8039738 ) 8039620: fba2 1203 umull r1, r2, r2, r3 8039624: 0b52 lsrs r2, r2, #13 8039626: f242 7110 movw r1, #10000 ; 0x2710 803962a: fb01 f202 mul.w r2, r1, r2 803962e: 1a9a subs r2, r3, r2 8039630: 4b42 ldr r3, [pc, #264] ; (803973c ) 8039632: fba3 1302 umull r1, r3, r3, r2 8039636: 099b lsrs r3, r3, #6 8039638: f44f 717a mov.w r1, #1000 ; 0x3e8 803963c: fb01 f303 mul.w r3, r1, r3 8039640: 1ad3 subs r3, r2, r3 8039642: 4a3f ldr r2, [pc, #252] ; (8039740 ) 8039644: fba2 1203 umull r1, r2, r2, r3 8039648: 0952 lsrs r2, r2, #5 803964a: 2164 movs r1, #100 ; 0x64 803964c: fb01 f202 mul.w r2, r1, r2 8039650: 1a9a subs r2, r3, r2 8039652: 4b3c ldr r3, [pc, #240] ; (8039744 ) 8039654: fba3 2302 umull r2, r3, r3, r2 8039658: 08db lsrs r3, r3, #3 803965a: b2db uxtb r3, r3 803965c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8039660: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039664: 0953 lsrs r3, r2, #5 8039666: 4932 ldr r1, [pc, #200] ; (8039730 ) 8039668: fba1 1303 umull r1, r3, r1, r3 803966c: 09db lsrs r3, r3, #7 803966e: 4931 ldr r1, [pc, #196] ; (8039734 ) 8039670: fb01 f303 mul.w r3, r1, r3 8039674: 1ad3 subs r3, r2, r3 8039676: 4a30 ldr r2, [pc, #192] ; (8039738 ) 8039678: fba2 1203 umull r1, r2, r2, r3 803967c: 0b52 lsrs r2, r2, #13 803967e: f242 7110 movw r1, #10000 ; 0x2710 8039682: fb01 f202 mul.w r2, r1, r2 8039686: 1a9a subs r2, r3, r2 8039688: 4b2c ldr r3, [pc, #176] ; (803973c ) 803968a: fba3 1302 umull r1, r3, r3, r2 803968e: 099b lsrs r3, r3, #6 8039690: f44f 717a mov.w r1, #1000 ; 0x3e8 8039694: fb01 f303 mul.w r3, r1, r3 8039698: 1ad3 subs r3, r2, r3 803969a: 4a29 ldr r2, [pc, #164] ; (8039740 ) 803969c: fba2 1203 umull r1, r2, r2, r3 80396a0: 0952 lsrs r2, r2, #5 80396a2: 2164 movs r1, #100 ; 0x64 80396a4: fb01 f202 mul.w r2, r1, r2 80396a8: 1a9a subs r2, r3, r2 80396aa: 4b26 ldr r3, [pc, #152] ; (8039744 ) 80396ac: fba3 1302 umull r1, r3, r3, r2 80396b0: 08d9 lsrs r1, r3, #3 80396b2: 460b mov r3, r1 80396b4: 009b lsls r3, r3, #2 80396b6: 440b add r3, r1 80396b8: 005b lsls r3, r3, #1 80396ba: 1ad1 subs r1, r2, r3 80396bc: b2cb uxtb r3, r1 80396be: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80396c2: 4b1a ldr r3, [pc, #104] ; (803972c ) 80396c4: 781b ldrb r3, [r3, #0] 80396c6: b2db uxtb r3, r3 80396c8: 3b0b subs r3, #11 80396ca: 2b05 cmp r3, #5 80396cc: d848 bhi.n 8039760 80396ce: a201 add r2, pc, #4 ; (adr r2, 80396d4 ) 80396d0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80396d4: 080396ed .word 0x080396ed 80396d8: 080396fb .word 0x080396fb 80396dc: 0803970b .word 0x0803970b 80396e0: 08039719 .word 0x08039719 80396e4: 08039749 .word 0x08039749 80396e8: 08039755 .word 0x08039755 k += 100000; 80396ec: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80396f0: 4b10 ldr r3, [pc, #64] ; (8039734 ) 80396f2: 4413 add r3, r2 80396f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80396f8: e032 b.n 8039760 k += 10000; 80396fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80396fe: f242 7310 movw r3, #10000 ; 0x2710 8039702: 4413 add r3, r2 8039704: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039708: e02a b.n 8039760 k += 1000; 803970a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803970e: f503 737a add.w r3, r3, #1000 ; 0x3e8 8039712: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039716: e023 b.n 8039760 k += 100; 8039718: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803971c: 3364 adds r3, #100 ; 0x64 803971e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039722: e01d b.n 8039760 8039724: 20020fc8 .word 0x20020fc8 8039728: 20023ea8 .word 0x20023ea8 803972c: 20020070 .word 0x20020070 8039730: 0a7c5ac5 .word 0x0a7c5ac5 8039734: 000186a0 .word 0x000186a0 8039738: d1b71759 .word 0xd1b71759 803973c: 10624dd3 .word 0x10624dd3 8039740: 51eb851f .word 0x51eb851f 8039744: cccccccd .word 0xcccccccd k += 10; 8039748: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803974c: 330a adds r3, #10 803974e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039752: e005 b.n 8039760 k++; 8039754: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039758: 3301 adds r3, #1 803975a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803975e: bf00 nop if(k > 999999) k = 999999; 8039760: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039764: 4ad1 ldr r2, [pc, #836] ; (8039aac ) 8039766: 4293 cmp r3, r2 8039768: d902 bls.n 8039770 803976a: 4bd0 ldr r3, [pc, #832] ; (8039aac ) 803976c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8039770: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039774: 2b00 cmp r3, #0 8039776: d102 bne.n 803977e 8039778: 2301 movs r3, #1 803977a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803977e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039782: ee07 3a90 vmov s15, r3 8039786: eef8 7a67 vcvt.f32.u32 s15, s15 803978a: 4bc9 ldr r3, [pc, #804] ; (8039ab0 ) 803978c: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8039790: 4bc7 ldr r3, [pc, #796] ; (8039ab0 ) 8039792: edd3 7a06 vldr s15, [r3, #24] 8039796: ed9f 7ac7 vldr s14, [pc, #796] ; 8039ab4 803979a: ee67 7a87 vmul.f32 s15, s15, s14 803979e: 4bc4 ldr r3, [pc, #784] ; (8039ab0 ) 80397a0: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80397a4: 4bc2 ldr r3, [pc, #776] ; (8039ab0 ) 80397a6: edd3 7a06 vldr s15, [r3, #24] 80397aa: ed9f 7ac3 vldr s14, [pc, #780] ; 8039ab8 80397ae: ee77 7a87 vadd.f32 s15, s15, s14 80397b2: 4bbf ldr r3, [pc, #764] ; (8039ab0 ) 80397b4: edc3 7a06 vstr s15, [r3, #24] 80397b8: e390 b.n 8039edc if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 80397ba: 4bc0 ldr r3, [pc, #768] ; (8039abc ) 80397bc: 781b ldrb r3, [r3, #0] 80397be: b2db uxtb r3, r3 80397c0: 2b18 cmp r3, #24 80397c2: f240 81ba bls.w 8039b3a 80397c6: 4bbd ldr r3, [pc, #756] ; (8039abc ) 80397c8: 781b ldrb r3, [r3, #0] 80397ca: b2db uxtb r3, r3 80397cc: 2b1e cmp r3, #30 80397ce: f200 81b4 bhi.w 8039b3a k = (uint32_t) (pardata.HP * 10.0f); 80397d2: 4bb7 ldr r3, [pc, #732] ; (8039ab0 ) 80397d4: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80397d8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80397dc: ee67 7a87 vmul.f32 s15, s15, s14 80397e0: eefc 7ae7 vcvt.u32.f32 s15, s15 80397e4: ee17 3a90 vmov r3, s15 80397e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80397ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80397f0: 095b lsrs r3, r3, #5 80397f2: 4ab3 ldr r2, [pc, #716] ; (8039ac0 ) 80397f4: fba2 2303 umull r2, r3, r2, r3 80397f8: 09db lsrs r3, r3, #7 80397fa: b2db uxtb r3, r3 80397fc: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8039800: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039804: 0953 lsrs r3, r2, #5 8039806: 49ae ldr r1, [pc, #696] ; (8039ac0 ) 8039808: fba1 1303 umull r1, r3, r1, r3 803980c: 09db lsrs r3, r3, #7 803980e: 49ad ldr r1, [pc, #692] ; (8039ac4 ) 8039810: fb01 f303 mul.w r3, r1, r3 8039814: 1ad3 subs r3, r2, r3 8039816: 4aac ldr r2, [pc, #688] ; (8039ac8 ) 8039818: fba2 2303 umull r2, r3, r2, r3 803981c: 0b5b lsrs r3, r3, #13 803981e: b2db uxtb r3, r3 8039820: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8039824: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039828: 0953 lsrs r3, r2, #5 803982a: 49a5 ldr r1, [pc, #660] ; (8039ac0 ) 803982c: fba1 1303 umull r1, r3, r1, r3 8039830: 09db lsrs r3, r3, #7 8039832: 49a4 ldr r1, [pc, #656] ; (8039ac4 ) 8039834: fb01 f303 mul.w r3, r1, r3 8039838: 1ad3 subs r3, r2, r3 803983a: 4aa3 ldr r2, [pc, #652] ; (8039ac8 ) 803983c: fba2 1203 umull r1, r2, r2, r3 8039840: 0b52 lsrs r2, r2, #13 8039842: f242 7110 movw r1, #10000 ; 0x2710 8039846: fb01 f202 mul.w r2, r1, r2 803984a: 1a9a subs r2, r3, r2 803984c: 4b9f ldr r3, [pc, #636] ; (8039acc ) 803984e: fba3 2302 umull r2, r3, r3, r2 8039852: 099b lsrs r3, r3, #6 8039854: b2db uxtb r3, r3 8039856: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803985a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803985e: 095a lsrs r2, r3, #5 8039860: 4997 ldr r1, [pc, #604] ; (8039ac0 ) 8039862: fba1 1202 umull r1, r2, r1, r2 8039866: 09d2 lsrs r2, r2, #7 8039868: 4996 ldr r1, [pc, #600] ; (8039ac4 ) 803986a: fb01 f202 mul.w r2, r1, r2 803986e: 1a9a subs r2, r3, r2 8039870: 4b95 ldr r3, [pc, #596] ; (8039ac8 ) 8039872: fba3 1302 umull r1, r3, r3, r2 8039876: 0b5b lsrs r3, r3, #13 8039878: f242 7110 movw r1, #10000 ; 0x2710 803987c: fb01 f303 mul.w r3, r1, r3 8039880: 1ad3 subs r3, r2, r3 8039882: 4a92 ldr r2, [pc, #584] ; (8039acc ) 8039884: fba2 1203 umull r1, r2, r2, r3 8039888: 0992 lsrs r2, r2, #6 803988a: f44f 717a mov.w r1, #1000 ; 0x3e8 803988e: fb01 f202 mul.w r2, r1, r2 8039892: 1a9a subs r2, r3, r2 8039894: 4b8e ldr r3, [pc, #568] ; (8039ad0 ) 8039896: fba3 2302 umull r2, r3, r3, r2 803989a: 095b lsrs r3, r3, #5 803989c: b2db uxtb r3, r3 803989e: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80398a2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80398a6: 0953 lsrs r3, r2, #5 80398a8: 4985 ldr r1, [pc, #532] ; (8039ac0 ) 80398aa: fba1 1303 umull r1, r3, r1, r3 80398ae: 09db lsrs r3, r3, #7 80398b0: 4984 ldr r1, [pc, #528] ; (8039ac4 ) 80398b2: fb01 f303 mul.w r3, r1, r3 80398b6: 1ad3 subs r3, r2, r3 80398b8: 4a83 ldr r2, [pc, #524] ; (8039ac8 ) 80398ba: fba2 1203 umull r1, r2, r2, r3 80398be: 0b52 lsrs r2, r2, #13 80398c0: f242 7110 movw r1, #10000 ; 0x2710 80398c4: fb01 f202 mul.w r2, r1, r2 80398c8: 1a9a subs r2, r3, r2 80398ca: 4b80 ldr r3, [pc, #512] ; (8039acc ) 80398cc: fba3 1302 umull r1, r3, r3, r2 80398d0: 099b lsrs r3, r3, #6 80398d2: f44f 717a mov.w r1, #1000 ; 0x3e8 80398d6: fb01 f303 mul.w r3, r1, r3 80398da: 1ad3 subs r3, r2, r3 80398dc: 4a7c ldr r2, [pc, #496] ; (8039ad0 ) 80398de: fba2 1203 umull r1, r2, r2, r3 80398e2: 0952 lsrs r2, r2, #5 80398e4: 2164 movs r1, #100 ; 0x64 80398e6: fb01 f202 mul.w r2, r1, r2 80398ea: 1a9a subs r2, r3, r2 80398ec: 4b79 ldr r3, [pc, #484] ; (8039ad4 ) 80398ee: fba3 2302 umull r2, r3, r3, r2 80398f2: 08db lsrs r3, r3, #3 80398f4: b2db uxtb r3, r3 80398f6: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80398fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80398fe: 0953 lsrs r3, r2, #5 8039900: 496f ldr r1, [pc, #444] ; (8039ac0 ) 8039902: fba1 1303 umull r1, r3, r1, r3 8039906: 09db lsrs r3, r3, #7 8039908: 496e ldr r1, [pc, #440] ; (8039ac4 ) 803990a: fb01 f303 mul.w r3, r1, r3 803990e: 1ad3 subs r3, r2, r3 8039910: 4a6d ldr r2, [pc, #436] ; (8039ac8 ) 8039912: fba2 1203 umull r1, r2, r2, r3 8039916: 0b52 lsrs r2, r2, #13 8039918: f242 7110 movw r1, #10000 ; 0x2710 803991c: fb01 f202 mul.w r2, r1, r2 8039920: 1a9a subs r2, r3, r2 8039922: 4b6a ldr r3, [pc, #424] ; (8039acc ) 8039924: fba3 1302 umull r1, r3, r3, r2 8039928: 099b lsrs r3, r3, #6 803992a: f44f 717a mov.w r1, #1000 ; 0x3e8 803992e: fb01 f303 mul.w r3, r1, r3 8039932: 1ad3 subs r3, r2, r3 8039934: 4a66 ldr r2, [pc, #408] ; (8039ad0 ) 8039936: fba2 1203 umull r1, r2, r2, r3 803993a: 0952 lsrs r2, r2, #5 803993c: 2164 movs r1, #100 ; 0x64 803993e: fb01 f202 mul.w r2, r1, r2 8039942: 1a9a subs r2, r3, r2 8039944: 4b63 ldr r3, [pc, #396] ; (8039ad4 ) 8039946: fba3 1302 umull r1, r3, r3, r2 803994a: 08d9 lsrs r1, r3, #3 803994c: 460b mov r3, r1 803994e: 009b lsls r3, r3, #2 8039950: 440b add r3, r1 8039952: 005b lsls r3, r3, #1 8039954: 1ad1 subs r1, r2, r3 8039956: b2cb uxtb r3, r1 8039958: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803995c: 4b57 ldr r3, [pc, #348] ; (8039abc ) 803995e: 781b ldrb r3, [r3, #0] 8039960: b2db uxtb r3, r3 8039962: 3b19 subs r3, #25 8039964: 2b05 cmp r3, #5 8039966: d837 bhi.n 80399d8 8039968: a201 add r2, pc, #4 ; (adr r2, 8039970 ) 803996a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803996e: bf00 nop 8039970: 08039989 .word 0x08039989 8039974: 08039997 .word 0x08039997 8039978: 080399a7 .word 0x080399a7 803997c: 080399b5 .word 0x080399b5 8039980: 080399c1 .word 0x080399c1 8039984: 080399cd .word 0x080399cd k += 100000; 8039988: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803998c: 4b4d ldr r3, [pc, #308] ; (8039ac4 ) 803998e: 4413 add r3, r2 8039990: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039994: e020 b.n 80399d8 k += 10000; 8039996: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803999a: f242 7310 movw r3, #10000 ; 0x2710 803999e: 4413 add r3, r2 80399a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80399a4: e018 b.n 80399d8 k += 1000; 80399a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80399aa: f503 737a add.w r3, r3, #1000 ; 0x3e8 80399ae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80399b2: e011 b.n 80399d8 k += 100; 80399b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80399b8: 3364 adds r3, #100 ; 0x64 80399ba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80399be: e00b b.n 80399d8 k += 10; 80399c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80399c4: 330a adds r3, #10 80399c6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80399ca: e005 b.n 80399d8 k++; 80399cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80399d0: 3301 adds r3, #1 80399d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80399d6: bf00 nop fl = (float32_t) k; 80399d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80399dc: ee07 3a90 vmov s15, r3 80399e0: eef8 7a67 vcvt.f32.u32 s15, s15 80399e4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80399e8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80399ec: ed9f 7a31 vldr s14, [pc, #196] ; 8039ab4 80399f0: ee67 7a87 vmul.f32 s15, s15, s14 80399f4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80399f8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80399fc: ed9f 7a36 vldr s14, [pc, #216] ; 8039ad8 8039a00: ee77 7a87 vadd.f32 s15, s15, s14 8039a04: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 8039a08: 4b29 ldr r3, [pc, #164] ; (8039ab0 ) 8039a0a: 785b ldrb r3, [r3, #1] 8039a0c: b2db uxtb r3, r3 8039a0e: 2b00 cmp r3, #0 8039a10: d13d bne.n 8039a8e if(fl < 0.5f) 8039a12: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039a16: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8039a1a: eef4 7ac7 vcmpe.f32 s15, s14 8039a1e: eef1 fa10 vmrs APSR_nzcv, fpscr 8039a22: d505 bpl.n 8039a30 pardata.HP = 0.5f; 8039a24: 4b22 ldr r3, [pc, #136] ; (8039ab0 ) 8039a26: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8039a2a: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039a2e: e255 b.n 8039edc if(fl > pardata.LP) 8039a30: 4b1f ldr r3, [pc, #124] ; (8039ab0 ) 8039a32: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039a36: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039a3a: eeb4 7ae7 vcmpe.f32 s14, s15 8039a3e: eef1 fa10 vmrs APSR_nzcv, fpscr 8039a42: d506 bpl.n 8039a52 pardata.HP = pardata.LP; 8039a44: 4b1a ldr r3, [pc, #104] ; (8039ab0 ) 8039a46: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8039a4a: 4a19 ldr r2, [pc, #100] ; (8039ab0 ) 8039a4c: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8039a50: e244 b.n 8039edc pardata.HP = (float32_t) k; 8039a52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039a56: ee07 3a90 vmov s15, r3 8039a5a: eef8 7a67 vcvt.f32.u32 s15, s15 8039a5e: 4b14 ldr r3, [pc, #80] ; (8039ab0 ) 8039a60: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8039a64: 4b12 ldr r3, [pc, #72] ; (8039ab0 ) 8039a66: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039a6a: ed9f 7a12 vldr s14, [pc, #72] ; 8039ab4 8039a6e: ee67 7a87 vmul.f32 s15, s15, s14 8039a72: 4b0f ldr r3, [pc, #60] ; (8039ab0 ) 8039a74: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8039a78: 4b0d ldr r3, [pc, #52] ; (8039ab0 ) 8039a7a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039a7e: ed9f 7a16 vldr s14, [pc, #88] ; 8039ad8 8039a82: ee77 7a87 vadd.f32 s15, s15, s14 8039a86: 4b0a ldr r3, [pc, #40] ; (8039ab0 ) 8039a88: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039a8c: e226 b.n 8039edc if(fl < 2.0f) 8039a8e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039a92: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8039a96: eef4 7ac7 vcmpe.f32 s15, s14 8039a9a: eef1 fa10 vmrs APSR_nzcv, fpscr 8039a9e: d51d bpl.n 8039adc pardata.HP = 2.0f; 8039aa0: 4b03 ldr r3, [pc, #12] ; (8039ab0 ) 8039aa2: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8039aa6: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039aaa: e217 b.n 8039edc 8039aac: 000f423f .word 0x000f423f 8039ab0: 20023ea8 .word 0x20023ea8 8039ab4: 3dcccccd .word 0x3dcccccd 8039ab8: 3d4ccccd .word 0x3d4ccccd 8039abc: 20020070 .word 0x20020070 8039ac0: 0a7c5ac5 .word 0x0a7c5ac5 8039ac4: 000186a0 .word 0x000186a0 8039ac8: d1b71759 .word 0xd1b71759 8039acc: 10624dd3 .word 0x10624dd3 8039ad0: 51eb851f .word 0x51eb851f 8039ad4: cccccccd .word 0xcccccccd 8039ad8: 38d1b717 .word 0x38d1b717 if(fl > pardata.LP) 8039adc: 4bd2 ldr r3, [pc, #840] ; (8039e28 ) 8039ade: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039ae2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039ae6: eeb4 7ae7 vcmpe.f32 s14, s15 8039aea: eef1 fa10 vmrs APSR_nzcv, fpscr 8039aee: d506 bpl.n 8039afe pardata.HP = pardata.LP; 8039af0: 4bcd ldr r3, [pc, #820] ; (8039e28 ) 8039af2: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8039af6: 4acc ldr r2, [pc, #816] ; (8039e28 ) 8039af8: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8039afc: e1ee b.n 8039edc pardata.HP = (float32_t) k; 8039afe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039b02: ee07 3a90 vmov s15, r3 8039b06: eef8 7a67 vcvt.f32.u32 s15, s15 8039b0a: 4bc7 ldr r3, [pc, #796] ; (8039e28 ) 8039b0c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8039b10: 4bc5 ldr r3, [pc, #788] ; (8039e28 ) 8039b12: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039b16: ed9f 7ac5 vldr s14, [pc, #788] ; 8039e2c 8039b1a: ee67 7a87 vmul.f32 s15, s15, s14 8039b1e: 4bc2 ldr r3, [pc, #776] ; (8039e28 ) 8039b20: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8039b24: 4bc0 ldr r3, [pc, #768] ; (8039e28 ) 8039b26: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039b2a: ed9f 7ac1 vldr s14, [pc, #772] ; 8039e30 8039b2e: ee77 7a87 vadd.f32 s15, s15, s14 8039b32: 4bbd ldr r3, [pc, #756] ; (8039e28 ) 8039b34: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039b38: e1d0 b.n 8039edc if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8039b3a: 4bbe ldr r3, [pc, #760] ; (8039e34 ) 8039b3c: 781b ldrb r3, [r3, #0] 8039b3e: b2db uxtb r3, r3 8039b40: 2b1e cmp r3, #30 8039b42: f240 86e0 bls.w 803a906 8039b46: 4bbb ldr r3, [pc, #748] ; (8039e34 ) 8039b48: 781b ldrb r3, [r3, #0] 8039b4a: b2db uxtb r3, r3 8039b4c: 2b24 cmp r3, #36 ; 0x24 8039b4e: f200 86da bhi.w 803a906 k = (uint32_t) (pardata.LP * 10.0f); 8039b52: 4bb5 ldr r3, [pc, #724] ; (8039e28 ) 8039b54: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8039b58: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8039b5c: ee67 7a87 vmul.f32 s15, s15, s14 8039b60: eefc 7ae7 vcvt.u32.f32 s15, s15 8039b64: ee17 3a90 vmov r3, s15 8039b68: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8039b6c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039b70: 095b lsrs r3, r3, #5 8039b72: 4ab1 ldr r2, [pc, #708] ; (8039e38 ) 8039b74: fba2 2303 umull r2, r3, r2, r3 8039b78: 09db lsrs r3, r3, #7 8039b7a: b2db uxtb r3, r3 8039b7c: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8039b80: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039b84: 0953 lsrs r3, r2, #5 8039b86: 49ac ldr r1, [pc, #688] ; (8039e38 ) 8039b88: fba1 1303 umull r1, r3, r1, r3 8039b8c: 09db lsrs r3, r3, #7 8039b8e: 49ab ldr r1, [pc, #684] ; (8039e3c ) 8039b90: fb01 f303 mul.w r3, r1, r3 8039b94: 1ad3 subs r3, r2, r3 8039b96: 4aaa ldr r2, [pc, #680] ; (8039e40 ) 8039b98: fba2 2303 umull r2, r3, r2, r3 8039b9c: 0b5b lsrs r3, r3, #13 8039b9e: b2db uxtb r3, r3 8039ba0: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8039ba4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039ba8: 0953 lsrs r3, r2, #5 8039baa: 49a3 ldr r1, [pc, #652] ; (8039e38 ) 8039bac: fba1 1303 umull r1, r3, r1, r3 8039bb0: 09db lsrs r3, r3, #7 8039bb2: 49a2 ldr r1, [pc, #648] ; (8039e3c ) 8039bb4: fb01 f303 mul.w r3, r1, r3 8039bb8: 1ad3 subs r3, r2, r3 8039bba: 4aa1 ldr r2, [pc, #644] ; (8039e40 ) 8039bbc: fba2 1203 umull r1, r2, r2, r3 8039bc0: 0b52 lsrs r2, r2, #13 8039bc2: f242 7110 movw r1, #10000 ; 0x2710 8039bc6: fb01 f202 mul.w r2, r1, r2 8039bca: 1a9a subs r2, r3, r2 8039bcc: 4b9d ldr r3, [pc, #628] ; (8039e44 ) 8039bce: fba3 2302 umull r2, r3, r3, r2 8039bd2: 099b lsrs r3, r3, #6 8039bd4: b2db uxtb r3, r3 8039bd6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8039bda: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039bde: 095a lsrs r2, r3, #5 8039be0: 4995 ldr r1, [pc, #596] ; (8039e38 ) 8039be2: fba1 1202 umull r1, r2, r1, r2 8039be6: 09d2 lsrs r2, r2, #7 8039be8: 4994 ldr r1, [pc, #592] ; (8039e3c ) 8039bea: fb01 f202 mul.w r2, r1, r2 8039bee: 1a9a subs r2, r3, r2 8039bf0: 4b93 ldr r3, [pc, #588] ; (8039e40 ) 8039bf2: fba3 1302 umull r1, r3, r3, r2 8039bf6: 0b5b lsrs r3, r3, #13 8039bf8: f242 7110 movw r1, #10000 ; 0x2710 8039bfc: fb01 f303 mul.w r3, r1, r3 8039c00: 1ad3 subs r3, r2, r3 8039c02: 4a90 ldr r2, [pc, #576] ; (8039e44 ) 8039c04: fba2 1203 umull r1, r2, r2, r3 8039c08: 0992 lsrs r2, r2, #6 8039c0a: f44f 717a mov.w r1, #1000 ; 0x3e8 8039c0e: fb01 f202 mul.w r2, r1, r2 8039c12: 1a9a subs r2, r3, r2 8039c14: 4b8c ldr r3, [pc, #560] ; (8039e48 ) 8039c16: fba3 2302 umull r2, r3, r3, r2 8039c1a: 095b lsrs r3, r3, #5 8039c1c: b2db uxtb r3, r3 8039c1e: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8039c22: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039c26: 0953 lsrs r3, r2, #5 8039c28: 4983 ldr r1, [pc, #524] ; (8039e38 ) 8039c2a: fba1 1303 umull r1, r3, r1, r3 8039c2e: 09db lsrs r3, r3, #7 8039c30: 4982 ldr r1, [pc, #520] ; (8039e3c ) 8039c32: fb01 f303 mul.w r3, r1, r3 8039c36: 1ad3 subs r3, r2, r3 8039c38: 4a81 ldr r2, [pc, #516] ; (8039e40 ) 8039c3a: fba2 1203 umull r1, r2, r2, r3 8039c3e: 0b52 lsrs r2, r2, #13 8039c40: f242 7110 movw r1, #10000 ; 0x2710 8039c44: fb01 f202 mul.w r2, r1, r2 8039c48: 1a9a subs r2, r3, r2 8039c4a: 4b7e ldr r3, [pc, #504] ; (8039e44 ) 8039c4c: fba3 1302 umull r1, r3, r3, r2 8039c50: 099b lsrs r3, r3, #6 8039c52: f44f 717a mov.w r1, #1000 ; 0x3e8 8039c56: fb01 f303 mul.w r3, r1, r3 8039c5a: 1ad3 subs r3, r2, r3 8039c5c: 4a7a ldr r2, [pc, #488] ; (8039e48 ) 8039c5e: fba2 1203 umull r1, r2, r2, r3 8039c62: 0952 lsrs r2, r2, #5 8039c64: 2164 movs r1, #100 ; 0x64 8039c66: fb01 f202 mul.w r2, r1, r2 8039c6a: 1a9a subs r2, r3, r2 8039c6c: 4b77 ldr r3, [pc, #476] ; (8039e4c ) 8039c6e: fba3 2302 umull r2, r3, r3, r2 8039c72: 08db lsrs r3, r3, #3 8039c74: b2db uxtb r3, r3 8039c76: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8039c7a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039c7e: 0953 lsrs r3, r2, #5 8039c80: 496d ldr r1, [pc, #436] ; (8039e38 ) 8039c82: fba1 1303 umull r1, r3, r1, r3 8039c86: 09db lsrs r3, r3, #7 8039c88: 496c ldr r1, [pc, #432] ; (8039e3c ) 8039c8a: fb01 f303 mul.w r3, r1, r3 8039c8e: 1ad3 subs r3, r2, r3 8039c90: 4a6b ldr r2, [pc, #428] ; (8039e40 ) 8039c92: fba2 1203 umull r1, r2, r2, r3 8039c96: 0b52 lsrs r2, r2, #13 8039c98: f242 7110 movw r1, #10000 ; 0x2710 8039c9c: fb01 f202 mul.w r2, r1, r2 8039ca0: 1a9a subs r2, r3, r2 8039ca2: 4b68 ldr r3, [pc, #416] ; (8039e44 ) 8039ca4: fba3 1302 umull r1, r3, r3, r2 8039ca8: 099b lsrs r3, r3, #6 8039caa: f44f 717a mov.w r1, #1000 ; 0x3e8 8039cae: fb01 f303 mul.w r3, r1, r3 8039cb2: 1ad3 subs r3, r2, r3 8039cb4: 4a64 ldr r2, [pc, #400] ; (8039e48 ) 8039cb6: fba2 1203 umull r1, r2, r2, r3 8039cba: 0952 lsrs r2, r2, #5 8039cbc: 2164 movs r1, #100 ; 0x64 8039cbe: fb01 f202 mul.w r2, r1, r2 8039cc2: 1a9a subs r2, r3, r2 8039cc4: 4b61 ldr r3, [pc, #388] ; (8039e4c ) 8039cc6: fba3 1302 umull r1, r3, r3, r2 8039cca: 08d9 lsrs r1, r3, #3 8039ccc: 460b mov r3, r1 8039cce: 009b lsls r3, r3, #2 8039cd0: 440b add r3, r1 8039cd2: 005b lsls r3, r3, #1 8039cd4: 1ad1 subs r1, r2, r3 8039cd6: b2cb uxtb r3, r1 8039cd8: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8039cdc: 4b55 ldr r3, [pc, #340] ; (8039e34 ) 8039cde: 781b ldrb r3, [r3, #0] 8039ce0: b2db uxtb r3, r3 8039ce2: 3b1f subs r3, #31 8039ce4: 2b05 cmp r3, #5 8039ce6: d837 bhi.n 8039d58 8039ce8: a201 add r2, pc, #4 ; (adr r2, 8039cf0 ) 8039cea: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8039cee: bf00 nop 8039cf0: 08039d09 .word 0x08039d09 8039cf4: 08039d17 .word 0x08039d17 8039cf8: 08039d27 .word 0x08039d27 8039cfc: 08039d35 .word 0x08039d35 8039d00: 08039d41 .word 0x08039d41 8039d04: 08039d4d .word 0x08039d4d k += 100000; 8039d08: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039d0c: 4b4b ldr r3, [pc, #300] ; (8039e3c ) 8039d0e: 4413 add r3, r2 8039d10: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d14: e020 b.n 8039d58 k += 10000; 8039d16: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039d1a: f242 7310 movw r3, #10000 ; 0x2710 8039d1e: 4413 add r3, r2 8039d20: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d24: e018 b.n 8039d58 k += 1000; 8039d26: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d2a: f503 737a add.w r3, r3, #1000 ; 0x3e8 8039d2e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d32: e011 b.n 8039d58 k += 100; 8039d34: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d38: 3364 adds r3, #100 ; 0x64 8039d3a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d3e: e00b b.n 8039d58 k += 10; 8039d40: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d44: 330a adds r3, #10 8039d46: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d4a: e005 b.n 8039d58 k++; 8039d4c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d50: 3301 adds r3, #1 8039d52: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d56: bf00 nop fl = (float32_t) k; 8039d58: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d5c: ee07 3a90 vmov s15, r3 8039d60: eef8 7a67 vcvt.f32.u32 s15, s15 8039d64: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8039d68: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039d6c: ed9f 7a2f vldr s14, [pc, #188] ; 8039e2c 8039d70: ee67 7a87 vmul.f32 s15, s15, s14 8039d74: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8039d78: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039d7c: ed9f 7a2c vldr s14, [pc, #176] ; 8039e30 8039d80: ee77 7a87 vadd.f32 s15, s15, s14 8039d84: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8039d88: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039d8c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8039d90: eef4 7ac7 vcmpe.f32 s15, s14 8039d94: eef1 fa10 vmrs APSR_nzcv, fpscr 8039d98: d504 bpl.n 8039da4 pardata.LP = 10.0f; 8039d9a: 4b23 ldr r3, [pc, #140] ; (8039e28 ) 8039d9c: 4a2c ldr r2, [pc, #176] ; (8039e50 ) 8039d9e: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 8039da2: e03c b.n 8039e1e if(pardata.LP < pardata.HP) 8039da4: 4b20 ldr r3, [pc, #128] ; (8039e28 ) 8039da6: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039daa: 4b1f ldr r3, [pc, #124] ; (8039e28 ) 8039dac: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039db0: eeb4 7ae7 vcmpe.f32 s14, s15 8039db4: eef1 fa10 vmrs APSR_nzcv, fpscr 8039db8: d506 bpl.n 8039dc8 pardata.LP = pardata.HP; 8039dba: 4b1b ldr r3, [pc, #108] ; (8039e28 ) 8039dbc: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 8039dc0: 4a19 ldr r2, [pc, #100] ; (8039e28 ) 8039dc2: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 8039dc6: e02a b.n 8039e1e if(fl > 12800.0f) 8039dc8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039dcc: ed9f 7a21 vldr s14, [pc, #132] ; 8039e54 8039dd0: eef4 7ac7 vcmpe.f32 s15, s14 8039dd4: eef1 fa10 vmrs APSR_nzcv, fpscr 8039dd8: dd04 ble.n 8039de4 pardata.LP = 12800.0f; 8039dda: 4b13 ldr r3, [pc, #76] ; (8039e28 ) 8039ddc: 4a1e ldr r2, [pc, #120] ; (8039e58 ) 8039dde: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 8039de2: e01c b.n 8039e1e pardata.LP = (float32_t) k; 8039de4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039de8: ee07 3a90 vmov s15, r3 8039dec: eef8 7a67 vcvt.f32.u32 s15, s15 8039df0: 4b0d ldr r3, [pc, #52] ; (8039e28 ) 8039df2: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 8039df6: 4b0c ldr r3, [pc, #48] ; (8039e28 ) 8039df8: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8039dfc: ed9f 7a0b vldr s14, [pc, #44] ; 8039e2c 8039e00: ee67 7a87 vmul.f32 s15, s15, s14 8039e04: 4b08 ldr r3, [pc, #32] ; (8039e28 ) 8039e06: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8039e0a: 4b07 ldr r3, [pc, #28] ; (8039e28 ) 8039e0c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8039e10: ed9f 7a07 vldr s14, [pc, #28] ; 8039e30 8039e14: ee77 7a87 vadd.f32 s15, s15, s14 8039e18: 4b03 ldr r3, [pc, #12] ; (8039e28 ) 8039e1a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 k = _64000Hz; 8039e1e: 2309 movs r3, #9 8039e20: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8039e24: e054 b.n 8039ed0 8039e26: bf00 nop 8039e28: 20023ea8 .word 0x20023ea8 8039e2c: 3dcccccd .word 0x3dcccccd 8039e30: 38d1b717 .word 0x38d1b717 8039e34: 20020070 .word 0x20020070 8039e38: 0a7c5ac5 .word 0x0a7c5ac5 8039e3c: 000186a0 .word 0x000186a0 8039e40: d1b71759 .word 0xd1b71759 8039e44: 10624dd3 .word 0x10624dd3 8039e48: 51eb851f .word 0x51eb851f 8039e4c: cccccccd .word 0xcccccccd 8039e50: 41200000 .word 0x41200000 8039e54: 46480000 .word 0x46480000 8039e58: 46480000 .word 0x46480000 f = (float32_t) FS[k] / pardata.LP; 8039e5c: 4aca ldr r2, [pc, #808] ; (803a188 ) 8039e5e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039e62: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8039e66: ee07 3a90 vmov s15, r3 8039e6a: eef8 6a67 vcvt.f32.u32 s13, s15 8039e6e: 4bc7 ldr r3, [pc, #796] ; (803a18c ) 8039e70: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039e74: eec6 7a87 vdiv.f32 s15, s13, s14 8039e78: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8039e7c: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8039e80: ed9f 7ac3 vldr s14, [pc, #780] ; 803a190 8039e84: ee77 7a87 vadd.f32 s15, s15, s14 8039e88: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8039e8c: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8039e90: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8039e94: eef4 7ac7 vcmpe.f32 s15, s14 8039e98: eef1 fa10 vmrs APSR_nzcv, fpscr 8039e9c: d507 bpl.n 8039eae pardata.FRQ = k + 1; 8039e9e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039ea2: b2db uxtb r3, r3 8039ea4: 3301 adds r3, #1 8039ea6: b2da uxtb r2, r3 8039ea8: 4bb8 ldr r3, [pc, #736] ; (803a18c ) 8039eaa: 72da strb r2, [r3, #11] break; 8039eac: e016 b.n 8039edc if(k > 0) 8039eae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039eb2: 2b00 cmp r3, #0 8039eb4: d004 beq.n 8039ec0 k--; 8039eb6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039eba: 3b01 subs r3, #1 8039ebc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8039ec0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039ec4: 2b00 cmp r3, #0 8039ec6: d103 bne.n 8039ed0 pardata.FRQ = _125Hz; 8039ec8: 4bb0 ldr r3, [pc, #704] ; (803a18c ) 8039eca: 2200 movs r2, #0 8039ecc: 72da strb r2, [r3, #11] break; 8039ece: e005 b.n 8039edc while(k > _125Hz) 8039ed0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039ed4: 2b00 cmp r3, #0 8039ed6: d1c1 bne.n 8039e5c break; 8039ed8: f000 bd15 b.w 803a906 8039edc: f000 bd13 b.w 803a906 if(menupos == Ok) 8039ee0: 4bac ldr r3, [pc, #688] ; (803a194 ) 8039ee2: 781b ldrb r3, [r3, #0] 8039ee4: b2db uxtb r3, r3 8039ee6: 2b00 cmp r3, #0 8039ee8: d110 bne.n 8039f0c if(pardata.OPTIONS & 0x4) 8039eea: 4ba8 ldr r3, [pc, #672] ; (803a18c ) 8039eec: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8039ef0: f003 0304 and.w r3, r3, #4 8039ef4: 2b00 cmp r3, #0 8039ef6: d004 beq.n 8039f02 menupos = VibAutoKu; 8039ef8: 4ba6 ldr r3, [pc, #664] ; (803a194 ) 8039efa: 2208 movs r2, #8 8039efc: 701a strb r2, [r3, #0] break; 8039efe: f000 bd05 b.w 803a90c else menupos = VibMax_ALL; 8039f02: 4ba4 ldr r3, [pc, #656] ; (803a194 ) 8039f04: 2209 movs r2, #9 8039f06: 701a strb r2, [r3, #0] break; 8039f08: f000 bd00 b.w 803a90c if(menupos == VibMax_ALL) 8039f0c: 4ba1 ldr r3, [pc, #644] ; (803a194 ) 8039f0e: 781b ldrb r3, [r3, #0] 8039f10: b2db uxtb r3, r3 8039f12: 2b09 cmp r3, #9 8039f14: d104 bne.n 8039f20 menupos = VibAutoKu; 8039f16: 4b9f ldr r3, [pc, #636] ; (803a194 ) 8039f18: 2208 movs r2, #8 8039f1a: 701a strb r2, [r3, #0] break; 8039f1c: f000 bcf6 b.w 803a90c if(menupos == VibAutoKu) 8039f20: 4b9c ldr r3, [pc, #624] ; (803a194 ) 8039f22: 781b ldrb r3, [r3, #0] 8039f24: b2db uxtb r3, r3 8039f26: 2b08 cmp r3, #8 8039f28: d104 bne.n 8039f34 menupos = SAverage; 8039f2a: 4b9a ldr r3, [pc, #616] ; (803a194 ) 8039f2c: 2207 movs r2, #7 8039f2e: 701a strb r2, [r3, #0] break; 8039f30: f000 bcec b.w 803a90c if(menupos == SAverage) 8039f34: 4b97 ldr r3, [pc, #604] ; (803a194 ) 8039f36: 781b ldrb r3, [r3, #0] 8039f38: b2db uxtb r3, r3 8039f3a: 2b07 cmp r3, #7 8039f3c: d104 bne.n 8039f48 menupos = LinLog; 8039f3e: 4b95 ldr r3, [pc, #596] ; (803a194 ) 8039f40: 2205 movs r2, #5 8039f42: 701a strb r2, [r3, #0] break; 8039f44: f000 bce2 b.w 803a90c if(menupos == LinLog) 8039f48: 4b92 ldr r3, [pc, #584] ; (803a194 ) 8039f4a: 781b ldrb r3, [r3, #0] 8039f4c: b2db uxtb r3, r3 8039f4e: 2b05 cmp r3, #5 8039f50: d104 bne.n 8039f5c menupos = FilterLP; 8039f52: 4b90 ldr r3, [pc, #576] ; (803a194 ) 8039f54: 2218 movs r2, #24 8039f56: 701a strb r2, [r3, #0] break; 8039f58: f000 bcd8 b.w 803a90c if(menupos == FilterLP) 8039f5c: 4b8d ldr r3, [pc, #564] ; (803a194 ) 8039f5e: 781b ldrb r3, [r3, #0] 8039f60: b2db uxtb r3, r3 8039f62: 2b18 cmp r3, #24 8039f64: d104 bne.n 8039f70 menupos = FilterHP; 8039f66: 4b8b ldr r3, [pc, #556] ; (803a194 ) 8039f68: 2217 movs r2, #23 8039f6a: 701a strb r2, [r3, #0] break; 8039f6c: f000 bcce b.w 803a90c if(menupos == FilterHP) 8039f70: 4b88 ldr r3, [pc, #544] ; (803a194 ) 8039f72: 781b ldrb r3, [r3, #0] 8039f74: b2db uxtb r3, r3 8039f76: 2b17 cmp r3, #23 8039f78: d104 bne.n 8039f84 menupos = SpecValue; 8039f7a: 4b86 ldr r3, [pc, #536] ; (803a194 ) 8039f7c: 2202 movs r2, #2 8039f7e: 701a strb r2, [r3, #0] break; 8039f80: f000 bcc4 b.w 803a90c if(menupos == SpecValue) 8039f84: 4b83 ldr r3, [pc, #524] ; (803a194 ) 8039f86: 781b ldrb r3, [r3, #0] 8039f88: b2db uxtb r3, r3 8039f8a: 2b02 cmp r3, #2 8039f8c: d104 bne.n 8039f98 menupos = SpecType; 8039f8e: 4b81 ldr r3, [pc, #516] ; (803a194 ) 8039f90: 2201 movs r2, #1 8039f92: 701a strb r2, [r3, #0] break; 8039f94: f000 bcba b.w 803a90c if(menupos == SpecType) 8039f98: 4b7e ldr r3, [pc, #504] ; (803a194 ) 8039f9a: 781b ldrb r3, [r3, #0] 8039f9c: b2db uxtb r3, r3 8039f9e: 2b01 cmp r3, #1 8039fa0: d104 bne.n 8039fac menupos = Ok; 8039fa2: 4b7c ldr r3, [pc, #496] ; (803a194 ) 8039fa4: 2200 movs r2, #0 8039fa6: 701a strb r2, [r3, #0] break; 8039fa8: f000 bcb0 b.w 803a90c if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8039fac: 4b79 ldr r3, [pc, #484] ; (803a194 ) 8039fae: 781b ldrb r3, [r3, #0] 8039fb0: b2db uxtb r3, r3 8039fb2: 2b0a cmp r3, #10 8039fb4: f240 814a bls.w 803a24c 8039fb8: 4b76 ldr r3, [pc, #472] ; (803a194 ) 8039fba: 781b ldrb r3, [r3, #0] 8039fbc: b2db uxtb r3, r3 8039fbe: 2b10 cmp r3, #16 8039fc0: f200 8144 bhi.w 803a24c k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8039fc4: 4b71 ldr r3, [pc, #452] ; (803a18c ) 8039fc6: edd3 7a06 vldr s15, [r3, #24] 8039fca: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8039fce: ee67 7a87 vmul.f32 s15, s15, s14 8039fd2: eefc 7ae7 vcvt.u32.f32 s15, s15 8039fd6: ee17 3a90 vmov r3, s15 8039fda: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8039fde: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039fe2: 095b lsrs r3, r3, #5 8039fe4: 4a6c ldr r2, [pc, #432] ; (803a198 ) 8039fe6: fba2 2303 umull r2, r3, r2, r3 8039fea: 09db lsrs r3, r3, #7 8039fec: b2db uxtb r3, r3 8039fee: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8039ff2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039ff6: 0953 lsrs r3, r2, #5 8039ff8: 4967 ldr r1, [pc, #412] ; (803a198 ) 8039ffa: fba1 1303 umull r1, r3, r1, r3 8039ffe: 09db lsrs r3, r3, #7 803a000: 4966 ldr r1, [pc, #408] ; (803a19c ) 803a002: fb01 f303 mul.w r3, r1, r3 803a006: 1ad3 subs r3, r2, r3 803a008: 4a65 ldr r2, [pc, #404] ; (803a1a0 ) 803a00a: fba2 2303 umull r2, r3, r2, r3 803a00e: 0b5b lsrs r3, r3, #13 803a010: b2db uxtb r3, r3 803a012: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803a016: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a01a: 0953 lsrs r3, r2, #5 803a01c: 495e ldr r1, [pc, #376] ; (803a198 ) 803a01e: fba1 1303 umull r1, r3, r1, r3 803a022: 09db lsrs r3, r3, #7 803a024: 495d ldr r1, [pc, #372] ; (803a19c ) 803a026: fb01 f303 mul.w r3, r1, r3 803a02a: 1ad3 subs r3, r2, r3 803a02c: 4a5c ldr r2, [pc, #368] ; (803a1a0 ) 803a02e: fba2 1203 umull r1, r2, r2, r3 803a032: 0b52 lsrs r2, r2, #13 803a034: f242 7110 movw r1, #10000 ; 0x2710 803a038: fb01 f202 mul.w r2, r1, r2 803a03c: 1a9a subs r2, r3, r2 803a03e: 4b59 ldr r3, [pc, #356] ; (803a1a4 ) 803a040: fba3 2302 umull r2, r3, r3, r2 803a044: 099b lsrs r3, r3, #6 803a046: b2db uxtb r3, r3 803a048: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803a04c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a050: 095a lsrs r2, r3, #5 803a052: 4951 ldr r1, [pc, #324] ; (803a198 ) 803a054: fba1 1202 umull r1, r2, r1, r2 803a058: 09d2 lsrs r2, r2, #7 803a05a: 4950 ldr r1, [pc, #320] ; (803a19c ) 803a05c: fb01 f202 mul.w r2, r1, r2 803a060: 1a9a subs r2, r3, r2 803a062: 4b4f ldr r3, [pc, #316] ; (803a1a0 ) 803a064: fba3 1302 umull r1, r3, r3, r2 803a068: 0b5b lsrs r3, r3, #13 803a06a: f242 7110 movw r1, #10000 ; 0x2710 803a06e: fb01 f303 mul.w r3, r1, r3 803a072: 1ad3 subs r3, r2, r3 803a074: 4a4b ldr r2, [pc, #300] ; (803a1a4 ) 803a076: fba2 1203 umull r1, r2, r2, r3 803a07a: 0992 lsrs r2, r2, #6 803a07c: f44f 717a mov.w r1, #1000 ; 0x3e8 803a080: fb01 f202 mul.w r2, r1, r2 803a084: 1a9a subs r2, r3, r2 803a086: 4b48 ldr r3, [pc, #288] ; (803a1a8 ) 803a088: fba3 2302 umull r2, r3, r3, r2 803a08c: 095b lsrs r3, r3, #5 803a08e: b2db uxtb r3, r3 803a090: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803a094: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a098: 0953 lsrs r3, r2, #5 803a09a: 493f ldr r1, [pc, #252] ; (803a198 ) 803a09c: fba1 1303 umull r1, r3, r1, r3 803a0a0: 09db lsrs r3, r3, #7 803a0a2: 493e ldr r1, [pc, #248] ; (803a19c ) 803a0a4: fb01 f303 mul.w r3, r1, r3 803a0a8: 1ad3 subs r3, r2, r3 803a0aa: 4a3d ldr r2, [pc, #244] ; (803a1a0 ) 803a0ac: fba2 1203 umull r1, r2, r2, r3 803a0b0: 0b52 lsrs r2, r2, #13 803a0b2: f242 7110 movw r1, #10000 ; 0x2710 803a0b6: fb01 f202 mul.w r2, r1, r2 803a0ba: 1a9a subs r2, r3, r2 803a0bc: 4b39 ldr r3, [pc, #228] ; (803a1a4 ) 803a0be: fba3 1302 umull r1, r3, r3, r2 803a0c2: 099b lsrs r3, r3, #6 803a0c4: f44f 717a mov.w r1, #1000 ; 0x3e8 803a0c8: fb01 f303 mul.w r3, r1, r3 803a0cc: 1ad3 subs r3, r2, r3 803a0ce: 4a36 ldr r2, [pc, #216] ; (803a1a8 ) 803a0d0: fba2 1203 umull r1, r2, r2, r3 803a0d4: 0952 lsrs r2, r2, #5 803a0d6: 2164 movs r1, #100 ; 0x64 803a0d8: fb01 f202 mul.w r2, r1, r2 803a0dc: 1a9a subs r2, r3, r2 803a0de: 4b33 ldr r3, [pc, #204] ; (803a1ac ) 803a0e0: fba3 2302 umull r2, r3, r3, r2 803a0e4: 08db lsrs r3, r3, #3 803a0e6: b2db uxtb r3, r3 803a0e8: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a0ec: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a0f0: 0953 lsrs r3, r2, #5 803a0f2: 4929 ldr r1, [pc, #164] ; (803a198 ) 803a0f4: fba1 1303 umull r1, r3, r1, r3 803a0f8: 09db lsrs r3, r3, #7 803a0fa: 4928 ldr r1, [pc, #160] ; (803a19c ) 803a0fc: fb01 f303 mul.w r3, r1, r3 803a100: 1ad3 subs r3, r2, r3 803a102: 4a27 ldr r2, [pc, #156] ; (803a1a0 ) 803a104: fba2 1203 umull r1, r2, r2, r3 803a108: 0b52 lsrs r2, r2, #13 803a10a: f242 7110 movw r1, #10000 ; 0x2710 803a10e: fb01 f202 mul.w r2, r1, r2 803a112: 1a9a subs r2, r3, r2 803a114: 4b23 ldr r3, [pc, #140] ; (803a1a4 ) 803a116: fba3 1302 umull r1, r3, r3, r2 803a11a: 099b lsrs r3, r3, #6 803a11c: f44f 717a mov.w r1, #1000 ; 0x3e8 803a120: fb01 f303 mul.w r3, r1, r3 803a124: 1ad3 subs r3, r2, r3 803a126: 4a20 ldr r2, [pc, #128] ; (803a1a8 ) 803a128: fba2 1203 umull r1, r2, r2, r3 803a12c: 0952 lsrs r2, r2, #5 803a12e: 2164 movs r1, #100 ; 0x64 803a130: fb01 f202 mul.w r2, r1, r2 803a134: 1a9a subs r2, r3, r2 803a136: 4b1d ldr r3, [pc, #116] ; (803a1ac ) 803a138: fba3 1302 umull r1, r3, r3, r2 803a13c: 08d9 lsrs r1, r3, #3 803a13e: 460b mov r3, r1 803a140: 009b lsls r3, r3, #2 803a142: 440b add r3, r1 803a144: 005b lsls r3, r3, #1 803a146: 1ad1 subs r1, r2, r3 803a148: b2cb uxtb r3, r1 803a14a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803a14e: 4b11 ldr r3, [pc, #68] ; (803a194 ) 803a150: 781b ldrb r3, [r3, #0] 803a152: b2db uxtb r3, r3 803a154: 3b0b subs r3, #11 803a156: 2b05 cmp r3, #5 803a158: d84b bhi.n 803a1f2 803a15a: a201 add r2, pc, #4 ; (adr r2, 803a160 ) 803a15c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803a160: 0803a179 .word 0x0803a179 803a164: 0803a1b1 .word 0x0803a1b1 803a168: 0803a1c1 .word 0x0803a1c1 803a16c: 0803a1cf .word 0x0803a1cf 803a170: 0803a1db .word 0x0803a1db 803a174: 0803a1e7 .word 0x0803a1e7 k += 100000; 803a178: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a17c: 4b07 ldr r3, [pc, #28] ; (803a19c ) 803a17e: 4413 add r3, r2 803a180: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a184: e035 b.n 803a1f2 803a186: bf00 nop 803a188: 080f2c08 .word 0x080f2c08 803a18c: 20023ea8 .word 0x20023ea8 803a190: 38d1b717 .word 0x38d1b717 803a194: 20020070 .word 0x20020070 803a198: 0a7c5ac5 .word 0x0a7c5ac5 803a19c: 000186a0 .word 0x000186a0 803a1a0: d1b71759 .word 0xd1b71759 803a1a4: 10624dd3 .word 0x10624dd3 803a1a8: 51eb851f .word 0x51eb851f 803a1ac: cccccccd .word 0xcccccccd k += 10000; 803a1b0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a1b4: f242 7310 movw r3, #10000 ; 0x2710 803a1b8: 4413 add r3, r2 803a1ba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a1be: e018 b.n 803a1f2 k += 1000; 803a1c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a1c4: f503 737a add.w r3, r3, #1000 ; 0x3e8 803a1c8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a1cc: e011 b.n 803a1f2 k += 100; 803a1ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a1d2: 3364 adds r3, #100 ; 0x64 803a1d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a1d8: e00b b.n 803a1f2 k += 10; 803a1da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a1de: 330a adds r3, #10 803a1e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a1e4: e005 b.n 803a1f2 k++; 803a1e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a1ea: 3301 adds r3, #1 803a1ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a1f0: bf00 nop if(k > 999999) k = 999999; 803a1f2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a1f6: 4ad1 ldr r2, [pc, #836] ; (803a53c ) 803a1f8: 4293 cmp r3, r2 803a1fa: d902 bls.n 803a202 803a1fc: 4bcf ldr r3, [pc, #828] ; (803a53c ) 803a1fe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803a202: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a206: 2b00 cmp r3, #0 803a208: d102 bne.n 803a210 803a20a: 2301 movs r3, #1 803a20c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803a210: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a214: ee07 3a90 vmov s15, r3 803a218: eef8 7a67 vcvt.f32.u32 s15, s15 803a21c: 4bc8 ldr r3, [pc, #800] ; (803a540 ) 803a21e: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803a222: 4bc7 ldr r3, [pc, #796] ; (803a540 ) 803a224: edd3 7a06 vldr s15, [r3, #24] 803a228: ed9f 7ac6 vldr s14, [pc, #792] ; 803a544 803a22c: ee67 7a87 vmul.f32 s15, s15, s14 803a230: 4bc3 ldr r3, [pc, #780] ; (803a540 ) 803a232: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803a236: 4bc2 ldr r3, [pc, #776] ; (803a540 ) 803a238: edd3 7a06 vldr s15, [r3, #24] 803a23c: ed9f 7ac2 vldr s14, [pc, #776] ; 803a548 803a240: ee77 7a87 vadd.f32 s15, s15, s14 803a244: 4bbe ldr r3, [pc, #760] ; (803a540 ) 803a246: edc3 7a06 vstr s15, [r3, #24] 803a24a: e35b b.n 803a904 if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 803a24c: 4bbf ldr r3, [pc, #764] ; (803a54c ) 803a24e: 781b ldrb r3, [r3, #0] 803a250: b2db uxtb r3, r3 803a252: 2b18 cmp r3, #24 803a254: f240 81b9 bls.w 803a5ca 803a258: 4bbc ldr r3, [pc, #752] ; (803a54c ) 803a25a: 781b ldrb r3, [r3, #0] 803a25c: b2db uxtb r3, r3 803a25e: 2b1e cmp r3, #30 803a260: f200 81b3 bhi.w 803a5ca k = (uint32_t) (pardata.HP * 10.0f); 803a264: 4bb6 ldr r3, [pc, #728] ; (803a540 ) 803a266: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a26a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a26e: ee67 7a87 vmul.f32 s15, s15, s14 803a272: eefc 7ae7 vcvt.u32.f32 s15, s15 803a276: ee17 3a90 vmov r3, s15 803a27a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803a27e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a282: 095b lsrs r3, r3, #5 803a284: 4ab2 ldr r2, [pc, #712] ; (803a550 ) 803a286: fba2 2303 umull r2, r3, r2, r3 803a28a: 09db lsrs r3, r3, #7 803a28c: b2db uxtb r3, r3 803a28e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803a292: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a296: 0953 lsrs r3, r2, #5 803a298: 49ad ldr r1, [pc, #692] ; (803a550 ) 803a29a: fba1 1303 umull r1, r3, r1, r3 803a29e: 09db lsrs r3, r3, #7 803a2a0: 49ac ldr r1, [pc, #688] ; (803a554 ) 803a2a2: fb01 f303 mul.w r3, r1, r3 803a2a6: 1ad3 subs r3, r2, r3 803a2a8: 4aab ldr r2, [pc, #684] ; (803a558 ) 803a2aa: fba2 2303 umull r2, r3, r2, r3 803a2ae: 0b5b lsrs r3, r3, #13 803a2b0: b2db uxtb r3, r3 803a2b2: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803a2b6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a2ba: 0953 lsrs r3, r2, #5 803a2bc: 49a4 ldr r1, [pc, #656] ; (803a550 ) 803a2be: fba1 1303 umull r1, r3, r1, r3 803a2c2: 09db lsrs r3, r3, #7 803a2c4: 49a3 ldr r1, [pc, #652] ; (803a554 ) 803a2c6: fb01 f303 mul.w r3, r1, r3 803a2ca: 1ad3 subs r3, r2, r3 803a2cc: 4aa2 ldr r2, [pc, #648] ; (803a558 ) 803a2ce: fba2 1203 umull r1, r2, r2, r3 803a2d2: 0b52 lsrs r2, r2, #13 803a2d4: f242 7110 movw r1, #10000 ; 0x2710 803a2d8: fb01 f202 mul.w r2, r1, r2 803a2dc: 1a9a subs r2, r3, r2 803a2de: 4b9f ldr r3, [pc, #636] ; (803a55c ) 803a2e0: fba3 2302 umull r2, r3, r3, r2 803a2e4: 099b lsrs r3, r3, #6 803a2e6: b2db uxtb r3, r3 803a2e8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803a2ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a2f0: 095a lsrs r2, r3, #5 803a2f2: 4997 ldr r1, [pc, #604] ; (803a550 ) 803a2f4: fba1 1202 umull r1, r2, r1, r2 803a2f8: 09d2 lsrs r2, r2, #7 803a2fa: 4996 ldr r1, [pc, #600] ; (803a554 ) 803a2fc: fb01 f202 mul.w r2, r1, r2 803a300: 1a9a subs r2, r3, r2 803a302: 4b95 ldr r3, [pc, #596] ; (803a558 ) 803a304: fba3 1302 umull r1, r3, r3, r2 803a308: 0b5b lsrs r3, r3, #13 803a30a: f242 7110 movw r1, #10000 ; 0x2710 803a30e: fb01 f303 mul.w r3, r1, r3 803a312: 1ad3 subs r3, r2, r3 803a314: 4a91 ldr r2, [pc, #580] ; (803a55c ) 803a316: fba2 1203 umull r1, r2, r2, r3 803a31a: 0992 lsrs r2, r2, #6 803a31c: f44f 717a mov.w r1, #1000 ; 0x3e8 803a320: fb01 f202 mul.w r2, r1, r2 803a324: 1a9a subs r2, r3, r2 803a326: 4b8e ldr r3, [pc, #568] ; (803a560 ) 803a328: fba3 2302 umull r2, r3, r3, r2 803a32c: 095b lsrs r3, r3, #5 803a32e: b2db uxtb r3, r3 803a330: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803a334: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a338: 0953 lsrs r3, r2, #5 803a33a: 4985 ldr r1, [pc, #532] ; (803a550 ) 803a33c: fba1 1303 umull r1, r3, r1, r3 803a340: 09db lsrs r3, r3, #7 803a342: 4984 ldr r1, [pc, #528] ; (803a554 ) 803a344: fb01 f303 mul.w r3, r1, r3 803a348: 1ad3 subs r3, r2, r3 803a34a: 4a83 ldr r2, [pc, #524] ; (803a558 ) 803a34c: fba2 1203 umull r1, r2, r2, r3 803a350: 0b52 lsrs r2, r2, #13 803a352: f242 7110 movw r1, #10000 ; 0x2710 803a356: fb01 f202 mul.w r2, r1, r2 803a35a: 1a9a subs r2, r3, r2 803a35c: 4b7f ldr r3, [pc, #508] ; (803a55c ) 803a35e: fba3 1302 umull r1, r3, r3, r2 803a362: 099b lsrs r3, r3, #6 803a364: f44f 717a mov.w r1, #1000 ; 0x3e8 803a368: fb01 f303 mul.w r3, r1, r3 803a36c: 1ad3 subs r3, r2, r3 803a36e: 4a7c ldr r2, [pc, #496] ; (803a560 ) 803a370: fba2 1203 umull r1, r2, r2, r3 803a374: 0952 lsrs r2, r2, #5 803a376: 2164 movs r1, #100 ; 0x64 803a378: fb01 f202 mul.w r2, r1, r2 803a37c: 1a9a subs r2, r3, r2 803a37e: 4b79 ldr r3, [pc, #484] ; (803a564 ) 803a380: fba3 2302 umull r2, r3, r3, r2 803a384: 08db lsrs r3, r3, #3 803a386: b2db uxtb r3, r3 803a388: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a38c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a390: 0953 lsrs r3, r2, #5 803a392: 496f ldr r1, [pc, #444] ; (803a550 ) 803a394: fba1 1303 umull r1, r3, r1, r3 803a398: 09db lsrs r3, r3, #7 803a39a: 496e ldr r1, [pc, #440] ; (803a554 ) 803a39c: fb01 f303 mul.w r3, r1, r3 803a3a0: 1ad3 subs r3, r2, r3 803a3a2: 4a6d ldr r2, [pc, #436] ; (803a558 ) 803a3a4: fba2 1203 umull r1, r2, r2, r3 803a3a8: 0b52 lsrs r2, r2, #13 803a3aa: f242 7110 movw r1, #10000 ; 0x2710 803a3ae: fb01 f202 mul.w r2, r1, r2 803a3b2: 1a9a subs r2, r3, r2 803a3b4: 4b69 ldr r3, [pc, #420] ; (803a55c ) 803a3b6: fba3 1302 umull r1, r3, r3, r2 803a3ba: 099b lsrs r3, r3, #6 803a3bc: f44f 717a mov.w r1, #1000 ; 0x3e8 803a3c0: fb01 f303 mul.w r3, r1, r3 803a3c4: 1ad3 subs r3, r2, r3 803a3c6: 4a66 ldr r2, [pc, #408] ; (803a560 ) 803a3c8: fba2 1203 umull r1, r2, r2, r3 803a3cc: 0952 lsrs r2, r2, #5 803a3ce: 2164 movs r1, #100 ; 0x64 803a3d0: fb01 f202 mul.w r2, r1, r2 803a3d4: 1a9a subs r2, r3, r2 803a3d6: 4b63 ldr r3, [pc, #396] ; (803a564 ) 803a3d8: fba3 1302 umull r1, r3, r3, r2 803a3dc: 08d9 lsrs r1, r3, #3 803a3de: 460b mov r3, r1 803a3e0: 009b lsls r3, r3, #2 803a3e2: 440b add r3, r1 803a3e4: 005b lsls r3, r3, #1 803a3e6: 1ad1 subs r1, r2, r3 803a3e8: b2cb uxtb r3, r1 803a3ea: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803a3ee: 4b57 ldr r3, [pc, #348] ; (803a54c ) 803a3f0: 781b ldrb r3, [r3, #0] 803a3f2: b2db uxtb r3, r3 803a3f4: 3b19 subs r3, #25 803a3f6: 2b05 cmp r3, #5 803a3f8: d836 bhi.n 803a468 803a3fa: a201 add r2, pc, #4 ; (adr r2, 803a400 ) 803a3fc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803a400: 0803a419 .word 0x0803a419 803a404: 0803a427 .word 0x0803a427 803a408: 0803a437 .word 0x0803a437 803a40c: 0803a445 .word 0x0803a445 803a410: 0803a451 .word 0x0803a451 803a414: 0803a45d .word 0x0803a45d k += 100000; 803a418: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a41c: 4b4d ldr r3, [pc, #308] ; (803a554 ) 803a41e: 4413 add r3, r2 803a420: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a424: e020 b.n 803a468 k += 10000; 803a426: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a42a: f242 7310 movw r3, #10000 ; 0x2710 803a42e: 4413 add r3, r2 803a430: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a434: e018 b.n 803a468 k += 1000; 803a436: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a43a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803a43e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a442: e011 b.n 803a468 k += 100; 803a444: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a448: 3364 adds r3, #100 ; 0x64 803a44a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a44e: e00b b.n 803a468 k += 10; 803a450: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a454: 330a adds r3, #10 803a456: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a45a: e005 b.n 803a468 k++; 803a45c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a460: 3301 adds r3, #1 803a462: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a466: bf00 nop fl = (float32_t) k; 803a468: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a46c: ee07 3a90 vmov s15, r3 803a470: eef8 7a67 vcvt.f32.u32 s15, s15 803a474: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803a478: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a47c: ed9f 7a31 vldr s14, [pc, #196] ; 803a544 803a480: ee67 7a87 vmul.f32 s15, s15, s14 803a484: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803a488: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a48c: ed9f 7a36 vldr s14, [pc, #216] ; 803a568 803a490: ee77 7a87 vadd.f32 s15, s15, s14 803a494: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 803a498: 4b29 ldr r3, [pc, #164] ; (803a540 ) 803a49a: 785b ldrb r3, [r3, #1] 803a49c: b2db uxtb r3, r3 803a49e: 2b00 cmp r3, #0 803a4a0: d13d bne.n 803a51e if(fl < 0.5f) 803a4a2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a4a6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 803a4aa: eef4 7ac7 vcmpe.f32 s15, s14 803a4ae: eef1 fa10 vmrs APSR_nzcv, fpscr 803a4b2: d505 bpl.n 803a4c0 pardata.HP = 0.5f; 803a4b4: 4b22 ldr r3, [pc, #136] ; (803a540 ) 803a4b6: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 803a4ba: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803a4be: e221 b.n 803a904 if(fl > pardata.LP) 803a4c0: 4b1f ldr r3, [pc, #124] ; (803a540 ) 803a4c2: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803a4c6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a4ca: eeb4 7ae7 vcmpe.f32 s14, s15 803a4ce: eef1 fa10 vmrs APSR_nzcv, fpscr 803a4d2: d506 bpl.n 803a4e2 pardata.HP = pardata.LP; 803a4d4: 4b1a ldr r3, [pc, #104] ; (803a540 ) 803a4d6: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803a4da: 4a19 ldr r2, [pc, #100] ; (803a540 ) 803a4dc: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803a4e0: e210 b.n 803a904 pardata.HP = (float32_t) k; 803a4e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a4e6: ee07 3a90 vmov s15, r3 803a4ea: eef8 7a67 vcvt.f32.u32 s15, s15 803a4ee: 4b14 ldr r3, [pc, #80] ; (803a540 ) 803a4f0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803a4f4: 4b12 ldr r3, [pc, #72] ; (803a540 ) 803a4f6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a4fa: ed9f 7a12 vldr s14, [pc, #72] ; 803a544 803a4fe: ee67 7a87 vmul.f32 s15, s15, s14 803a502: 4b0f ldr r3, [pc, #60] ; (803a540 ) 803a504: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803a508: 4b0d ldr r3, [pc, #52] ; (803a540 ) 803a50a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a50e: ed9f 7a16 vldr s14, [pc, #88] ; 803a568 803a512: ee77 7a87 vadd.f32 s15, s15, s14 803a516: 4b0a ldr r3, [pc, #40] ; (803a540 ) 803a518: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803a51c: e1f2 b.n 803a904 if(fl < 2.0f) 803a51e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a522: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803a526: eef4 7ac7 vcmpe.f32 s15, s14 803a52a: eef1 fa10 vmrs APSR_nzcv, fpscr 803a52e: d51d bpl.n 803a56c pardata.HP = 2.0f; 803a530: 4b03 ldr r3, [pc, #12] ; (803a540 ) 803a532: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 803a536: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803a53a: e1e3 b.n 803a904 803a53c: 000f423f .word 0x000f423f 803a540: 20023ea8 .word 0x20023ea8 803a544: 3dcccccd .word 0x3dcccccd 803a548: 3d4ccccd .word 0x3d4ccccd 803a54c: 20020070 .word 0x20020070 803a550: 0a7c5ac5 .word 0x0a7c5ac5 803a554: 000186a0 .word 0x000186a0 803a558: d1b71759 .word 0xd1b71759 803a55c: 10624dd3 .word 0x10624dd3 803a560: 51eb851f .word 0x51eb851f 803a564: cccccccd .word 0xcccccccd 803a568: 38d1b717 .word 0x38d1b717 if(fl > pardata.LP) 803a56c: 4bc9 ldr r3, [pc, #804] ; (803a894 ) 803a56e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803a572: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a576: eeb4 7ae7 vcmpe.f32 s14, s15 803a57a: eef1 fa10 vmrs APSR_nzcv, fpscr 803a57e: d506 bpl.n 803a58e pardata.HP = pardata.LP; 803a580: 4bc4 ldr r3, [pc, #784] ; (803a894 ) 803a582: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803a586: 4ac3 ldr r2, [pc, #780] ; (803a894 ) 803a588: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803a58c: e1ba b.n 803a904 pardata.HP = (float32_t) k; 803a58e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a592: ee07 3a90 vmov s15, r3 803a596: eef8 7a67 vcvt.f32.u32 s15, s15 803a59a: 4bbe ldr r3, [pc, #760] ; (803a894 ) 803a59c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803a5a0: 4bbc ldr r3, [pc, #752] ; (803a894 ) 803a5a2: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a5a6: ed9f 7abc vldr s14, [pc, #752] ; 803a898 803a5aa: ee67 7a87 vmul.f32 s15, s15, s14 803a5ae: 4bb9 ldr r3, [pc, #740] ; (803a894 ) 803a5b0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803a5b4: 4bb7 ldr r3, [pc, #732] ; (803a894 ) 803a5b6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a5ba: ed9f 7ab8 vldr s14, [pc, #736] ; 803a89c 803a5be: ee77 7a87 vadd.f32 s15, s15, s14 803a5c2: 4bb4 ldr r3, [pc, #720] ; (803a894 ) 803a5c4: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803a5c8: e19c b.n 803a904 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 803a5ca: 4bb5 ldr r3, [pc, #724] ; (803a8a0 ) 803a5cc: 781b ldrb r3, [r3, #0] 803a5ce: b2db uxtb r3, r3 803a5d0: 2b1e cmp r3, #30 803a5d2: f240 819b bls.w 803a90c 803a5d6: 4bb2 ldr r3, [pc, #712] ; (803a8a0 ) 803a5d8: 781b ldrb r3, [r3, #0] 803a5da: b2db uxtb r3, r3 803a5dc: 2b24 cmp r3, #36 ; 0x24 803a5de: f200 8195 bhi.w 803a90c k = (uint32_t) (pardata.LP * 10.0f); 803a5e2: 4bac ldr r3, [pc, #688] ; (803a894 ) 803a5e4: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803a5e8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a5ec: ee67 7a87 vmul.f32 s15, s15, s14 803a5f0: eefc 7ae7 vcvt.u32.f32 s15, s15 803a5f4: ee17 3a90 vmov r3, s15 803a5f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803a5fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a600: 095b lsrs r3, r3, #5 803a602: 4aa8 ldr r2, [pc, #672] ; (803a8a4 ) 803a604: fba2 2303 umull r2, r3, r2, r3 803a608: 09db lsrs r3, r3, #7 803a60a: b2db uxtb r3, r3 803a60c: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803a610: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a614: 0953 lsrs r3, r2, #5 803a616: 49a3 ldr r1, [pc, #652] ; (803a8a4 ) 803a618: fba1 1303 umull r1, r3, r1, r3 803a61c: 09db lsrs r3, r3, #7 803a61e: 49a2 ldr r1, [pc, #648] ; (803a8a8 ) 803a620: fb01 f303 mul.w r3, r1, r3 803a624: 1ad3 subs r3, r2, r3 803a626: 4aa1 ldr r2, [pc, #644] ; (803a8ac ) 803a628: fba2 2303 umull r2, r3, r2, r3 803a62c: 0b5b lsrs r3, r3, #13 803a62e: b2db uxtb r3, r3 803a630: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803a634: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a638: 0953 lsrs r3, r2, #5 803a63a: 499a ldr r1, [pc, #616] ; (803a8a4 ) 803a63c: fba1 1303 umull r1, r3, r1, r3 803a640: 09db lsrs r3, r3, #7 803a642: 4999 ldr r1, [pc, #612] ; (803a8a8 ) 803a644: fb01 f303 mul.w r3, r1, r3 803a648: 1ad3 subs r3, r2, r3 803a64a: 4a98 ldr r2, [pc, #608] ; (803a8ac ) 803a64c: fba2 1203 umull r1, r2, r2, r3 803a650: 0b52 lsrs r2, r2, #13 803a652: f242 7110 movw r1, #10000 ; 0x2710 803a656: fb01 f202 mul.w r2, r1, r2 803a65a: 1a9a subs r2, r3, r2 803a65c: 4b94 ldr r3, [pc, #592] ; (803a8b0 ) 803a65e: fba3 2302 umull r2, r3, r3, r2 803a662: 099b lsrs r3, r3, #6 803a664: b2db uxtb r3, r3 803a666: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803a66a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a66e: 095a lsrs r2, r3, #5 803a670: 498c ldr r1, [pc, #560] ; (803a8a4 ) 803a672: fba1 1202 umull r1, r2, r1, r2 803a676: 09d2 lsrs r2, r2, #7 803a678: 498b ldr r1, [pc, #556] ; (803a8a8 ) 803a67a: fb01 f202 mul.w r2, r1, r2 803a67e: 1a9a subs r2, r3, r2 803a680: 4b8a ldr r3, [pc, #552] ; (803a8ac ) 803a682: fba3 1302 umull r1, r3, r3, r2 803a686: 0b5b lsrs r3, r3, #13 803a688: f242 7110 movw r1, #10000 ; 0x2710 803a68c: fb01 f303 mul.w r3, r1, r3 803a690: 1ad3 subs r3, r2, r3 803a692: 4a87 ldr r2, [pc, #540] ; (803a8b0 ) 803a694: fba2 1203 umull r1, r2, r2, r3 803a698: 0992 lsrs r2, r2, #6 803a69a: f44f 717a mov.w r1, #1000 ; 0x3e8 803a69e: fb01 f202 mul.w r2, r1, r2 803a6a2: 1a9a subs r2, r3, r2 803a6a4: 4b83 ldr r3, [pc, #524] ; (803a8b4 ) 803a6a6: fba3 2302 umull r2, r3, r3, r2 803a6aa: 095b lsrs r3, r3, #5 803a6ac: b2db uxtb r3, r3 803a6ae: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803a6b2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a6b6: 0953 lsrs r3, r2, #5 803a6b8: 497a ldr r1, [pc, #488] ; (803a8a4 ) 803a6ba: fba1 1303 umull r1, r3, r1, r3 803a6be: 09db lsrs r3, r3, #7 803a6c0: 4979 ldr r1, [pc, #484] ; (803a8a8 ) 803a6c2: fb01 f303 mul.w r3, r1, r3 803a6c6: 1ad3 subs r3, r2, r3 803a6c8: 4a78 ldr r2, [pc, #480] ; (803a8ac ) 803a6ca: fba2 1203 umull r1, r2, r2, r3 803a6ce: 0b52 lsrs r2, r2, #13 803a6d0: f242 7110 movw r1, #10000 ; 0x2710 803a6d4: fb01 f202 mul.w r2, r1, r2 803a6d8: 1a9a subs r2, r3, r2 803a6da: 4b75 ldr r3, [pc, #468] ; (803a8b0 ) 803a6dc: fba3 1302 umull r1, r3, r3, r2 803a6e0: 099b lsrs r3, r3, #6 803a6e2: f44f 717a mov.w r1, #1000 ; 0x3e8 803a6e6: fb01 f303 mul.w r3, r1, r3 803a6ea: 1ad3 subs r3, r2, r3 803a6ec: 4a71 ldr r2, [pc, #452] ; (803a8b4 ) 803a6ee: fba2 1203 umull r1, r2, r2, r3 803a6f2: 0952 lsrs r2, r2, #5 803a6f4: 2164 movs r1, #100 ; 0x64 803a6f6: fb01 f202 mul.w r2, r1, r2 803a6fa: 1a9a subs r2, r3, r2 803a6fc: 4b6e ldr r3, [pc, #440] ; (803a8b8 ) 803a6fe: fba3 2302 umull r2, r3, r3, r2 803a702: 08db lsrs r3, r3, #3 803a704: b2db uxtb r3, r3 803a706: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a70a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a70e: 0953 lsrs r3, r2, #5 803a710: 4964 ldr r1, [pc, #400] ; (803a8a4 ) 803a712: fba1 1303 umull r1, r3, r1, r3 803a716: 09db lsrs r3, r3, #7 803a718: 4963 ldr r1, [pc, #396] ; (803a8a8 ) 803a71a: fb01 f303 mul.w r3, r1, r3 803a71e: 1ad3 subs r3, r2, r3 803a720: 4a62 ldr r2, [pc, #392] ; (803a8ac ) 803a722: fba2 1203 umull r1, r2, r2, r3 803a726: 0b52 lsrs r2, r2, #13 803a728: f242 7110 movw r1, #10000 ; 0x2710 803a72c: fb01 f202 mul.w r2, r1, r2 803a730: 1a9a subs r2, r3, r2 803a732: 4b5f ldr r3, [pc, #380] ; (803a8b0 ) 803a734: fba3 1302 umull r1, r3, r3, r2 803a738: 099b lsrs r3, r3, #6 803a73a: f44f 717a mov.w r1, #1000 ; 0x3e8 803a73e: fb01 f303 mul.w r3, r1, r3 803a742: 1ad3 subs r3, r2, r3 803a744: 4a5b ldr r2, [pc, #364] ; (803a8b4 ) 803a746: fba2 1203 umull r1, r2, r2, r3 803a74a: 0952 lsrs r2, r2, #5 803a74c: 2164 movs r1, #100 ; 0x64 803a74e: fb01 f202 mul.w r2, r1, r2 803a752: 1a9a subs r2, r3, r2 803a754: 4b58 ldr r3, [pc, #352] ; (803a8b8 ) 803a756: fba3 1302 umull r1, r3, r3, r2 803a75a: 08d9 lsrs r1, r3, #3 803a75c: 460b mov r3, r1 803a75e: 009b lsls r3, r3, #2 803a760: 440b add r3, r1 803a762: 005b lsls r3, r3, #1 803a764: 1ad1 subs r1, r2, r3 803a766: b2cb uxtb r3, r1 803a768: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803a76c: 4b4c ldr r3, [pc, #304] ; (803a8a0 ) 803a76e: 781b ldrb r3, [r3, #0] 803a770: b2db uxtb r3, r3 803a772: 3b1f subs r3, #31 803a774: 2b05 cmp r3, #5 803a776: d837 bhi.n 803a7e8 803a778: a201 add r2, pc, #4 ; (adr r2, 803a780 ) 803a77a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803a77e: bf00 nop 803a780: 0803a799 .word 0x0803a799 803a784: 0803a7a7 .word 0x0803a7a7 803a788: 0803a7b7 .word 0x0803a7b7 803a78c: 0803a7c5 .word 0x0803a7c5 803a790: 0803a7d1 .word 0x0803a7d1 803a794: 0803a7dd .word 0x0803a7dd k += 100000; 803a798: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a79c: 4b42 ldr r3, [pc, #264] ; (803a8a8 ) 803a79e: 4413 add r3, r2 803a7a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7a4: e020 b.n 803a7e8 k += 10000; 803a7a6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a7aa: f242 7310 movw r3, #10000 ; 0x2710 803a7ae: 4413 add r3, r2 803a7b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7b4: e018 b.n 803a7e8 k += 1000; 803a7b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7ba: f503 737a add.w r3, r3, #1000 ; 0x3e8 803a7be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7c2: e011 b.n 803a7e8 k += 100; 803a7c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7c8: 3364 adds r3, #100 ; 0x64 803a7ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7ce: e00b b.n 803a7e8 k += 10; 803a7d0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7d4: 330a adds r3, #10 803a7d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7da: e005 b.n 803a7e8 k++; 803a7dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7e0: 3301 adds r3, #1 803a7e2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7e6: bf00 nop fl = (float32_t) k; 803a7e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7ec: ee07 3a90 vmov s15, r3 803a7f0: eef8 7a67 vcvt.f32.u32 s15, s15 803a7f4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803a7f8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a7fc: ed9f 7a26 vldr s14, [pc, #152] ; 803a898 803a800: ee67 7a87 vmul.f32 s15, s15, s14 803a804: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803a808: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a80c: ed9f 7a23 vldr s14, [pc, #140] ; 803a89c 803a810: ee77 7a87 vadd.f32 s15, s15, s14 803a814: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.OPTIONS & maskFFT) == okt) 803a818: 4b1e ldr r3, [pc, #120] ; (803a894 ) 803a81a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803a81e: f003 0330 and.w r3, r3, #48 ; 0x30 803a822: 2b20 cmp r3, #32 803a824: d103 bne.n 803a82e f = 12800.0f; 803a826: 4b25 ldr r3, [pc, #148] ; (803a8bc ) 803a828: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 803a82c: e002 b.n 803a834 else f = 6400.0f; 803a82e: 4b24 ldr r3, [pc, #144] ; (803a8c0 ) 803a830: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 if(fl < 10.0f) 803a834: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a838: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a83c: eef4 7ac7 vcmpe.f32 s15, s14 803a840: eef1 fa10 vmrs APSR_nzcv, fpscr 803a844: d504 bpl.n 803a850 pardata.LP = 10.0f; 803a846: 4b13 ldr r3, [pc, #76] ; (803a894 ) 803a848: 4a1e ldr r2, [pc, #120] ; (803a8c4 ) 803a84a: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 803a84e: e05d b.n 803a90c if(pardata.LP < pardata.HP) 803a850: 4b10 ldr r3, [pc, #64] ; (803a894 ) 803a852: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803a856: 4b0f ldr r3, [pc, #60] ; (803a894 ) 803a858: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a85c: eeb4 7ae7 vcmpe.f32 s14, s15 803a860: eef1 fa10 vmrs APSR_nzcv, fpscr 803a864: d506 bpl.n 803a874 pardata.LP = pardata.HP; 803a866: 4b0b ldr r3, [pc, #44] ; (803a894 ) 803a868: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 803a86c: 4a09 ldr r2, [pc, #36] ; (803a894 ) 803a86e: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 803a872: e04b b.n 803a90c if(fl > f) 803a874: ed97 7a2a vldr s14, [r7, #168] ; 0xa8 803a878: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 803a87c: eeb4 7ae7 vcmpe.f32 s14, s15 803a880: eef1 fa10 vmrs APSR_nzcv, fpscr 803a884: dd20 ble.n 803a8c8 pardata.LP = f; 803a886: 4a03 ldr r2, [pc, #12] ; (803a894 ) 803a888: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 803a88c: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 803a890: e03c b.n 803a90c 803a892: bf00 nop 803a894: 20023ea8 .word 0x20023ea8 803a898: 3dcccccd .word 0x3dcccccd 803a89c: 38d1b717 .word 0x38d1b717 803a8a0: 20020070 .word 0x20020070 803a8a4: 0a7c5ac5 .word 0x0a7c5ac5 803a8a8: 000186a0 .word 0x000186a0 803a8ac: d1b71759 .word 0xd1b71759 803a8b0: 10624dd3 .word 0x10624dd3 803a8b4: 51eb851f .word 0x51eb851f 803a8b8: cccccccd .word 0xcccccccd 803a8bc: 46480000 .word 0x46480000 803a8c0: 45c80000 .word 0x45c80000 803a8c4: 41200000 .word 0x41200000 pardata.LP = (float32_t) k; 803a8c8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a8cc: ee07 3a90 vmov s15, r3 803a8d0: eef8 7a67 vcvt.f32.u32 s15, s15 803a8d4: 4bc6 ldr r3, [pc, #792] ; (803abf0 ) 803a8d6: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 803a8da: 4bc5 ldr r3, [pc, #788] ; (803abf0 ) 803a8dc: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803a8e0: ed9f 7ac4 vldr s14, [pc, #784] ; 803abf4 803a8e4: ee67 7a87 vmul.f32 s15, s15, s14 803a8e8: 4bc1 ldr r3, [pc, #772] ; (803abf0 ) 803a8ea: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 803a8ee: 4bc0 ldr r3, [pc, #768] ; (803abf0 ) 803a8f0: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803a8f4: ed9f 7ac0 vldr s14, [pc, #768] ; 803abf8 803a8f8: ee77 7a87 vadd.f32 s15, s15, s14 803a8fc: 4bbc ldr r3, [pc, #752] ; (803abf0 ) 803a8fe: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 803a902: e003 b.n 803a90c 803a904: e002 b.n 803a90c break; 803a906: bf00 nop 803a908: f001 be51 b.w 803c5ae break; 803a90c: bf00 nop break; 803a90e: f001 be4e b.w 803c5ae case PARAM_OSC: focused = false; 803a912: 4bba ldr r3, [pc, #744] ; (803abfc ) 803a914: 2200 movs r2, #0 803a916: 701a strb r2, [r3, #0] if(menupos == Ok) 803a918: 4bb9 ldr r3, [pc, #740] ; (803ac00 ) 803a91a: 781b ldrb r3, [r3, #0] 803a91c: b2db uxtb r3, r3 803a91e: 2b00 cmp r3, #0 803a920: d125 bne.n 803a96e { if(pardata.OPTIONS & 0x4) 803a922: 4bb3 ldr r3, [pc, #716] ; (803abf0 ) 803a924: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803a928: f003 0304 and.w r3, r3, #4 803a92c: 2b00 cmp r3, #0 803a92e: d004 beq.n 803a93a menupos = OscAutoKu; 803a930: 4bb3 ldr r3, [pc, #716] ; (803ac00 ) 803a932: 2205 movs r2, #5 803a934: 701a strb r2, [r3, #0] pardata.LP = (float32_t) k; pardata.LP *= 0.1f; pardata.LP += 0.0001f; } } break; 803a936: f001 be1b b.w 803c570 if(pardata.IPR > ACC) 803a93a: 4bad ldr r3, [pc, #692] ; (803abf0 ) 803a93c: 785b ldrb r3, [r3, #1] 803a93e: b2db uxtb r3, r3 803a940: 2b00 cmp r3, #0 803a942: d004 beq.n 803a94e menupos = OscMax_ALL; 803a944: 4bae ldr r3, [pc, #696] ; (803ac00 ) 803a946: 2206 movs r2, #6 803a948: 701a strb r2, [r3, #0] break; 803a94a: f001 be11 b.w 803c570 if(pardata.THR & 0x80) 803a94e: 4ba8 ldr r3, [pc, #672] ; (803abf0 ) 803a950: 7bdb ldrb r3, [r3, #15] 803a952: b2db uxtb r3, r3 803a954: b25b sxtb r3, r3 803a956: 2b00 cmp r3, #0 803a958: da04 bge.n 803a964 menupos = OscThr_ALL; 803a95a: 4ba9 ldr r3, [pc, #676] ; (803ac00 ) 803a95c: 2208 movs r2, #8 803a95e: 701a strb r2, [r3, #0] break; 803a960: f001 be06 b.w 803c570 else menupos = OscThr; 803a964: 4ba6 ldr r3, [pc, #664] ; (803ac00 ) 803a966: 2207 movs r2, #7 803a968: 701a strb r2, [r3, #0] break; 803a96a: f001 be01 b.w 803c570 if(menupos == OscThr_ALL) 803a96e: 4ba4 ldr r3, [pc, #656] ; (803ac00 ) 803a970: 781b ldrb r3, [r3, #0] 803a972: b2db uxtb r3, r3 803a974: 2b08 cmp r3, #8 803a976: d104 bne.n 803a982 menupos = OscThr; 803a978: 4ba1 ldr r3, [pc, #644] ; (803ac00 ) 803a97a: 2207 movs r2, #7 803a97c: 701a strb r2, [r3, #0] break; 803a97e: f001 bdf7 b.w 803c570 if(menupos == OscThr) 803a982: 4b9f ldr r3, [pc, #636] ; (803ac00 ) 803a984: 781b ldrb r3, [r3, #0] 803a986: b2db uxtb r3, r3 803a988: 2b07 cmp r3, #7 803a98a: d104 bne.n 803a996 menupos = OscMax_ALL; 803a98c: 4b9c ldr r3, [pc, #624] ; (803ac00 ) 803a98e: 2206 movs r2, #6 803a990: 701a strb r2, [r3, #0] break; 803a992: f001 bded b.w 803c570 if(menupos == OscMax_ALL) 803a996: 4b9a ldr r3, [pc, #616] ; (803ac00 ) 803a998: 781b ldrb r3, [r3, #0] 803a99a: b2db uxtb r3, r3 803a99c: 2b06 cmp r3, #6 803a99e: d104 bne.n 803a9aa menupos = OscAutoKu; 803a9a0: 4b97 ldr r3, [pc, #604] ; (803ac00 ) 803a9a2: 2205 movs r2, #5 803a9a4: 701a strb r2, [r3, #0] break; 803a9a6: f001 bde3 b.w 803c570 if(menupos == OscAutoKu) 803a9aa: 4b95 ldr r3, [pc, #596] ; (803ac00 ) 803a9ac: 781b ldrb r3, [r3, #0] 803a9ae: b2db uxtb r3, r3 803a9b0: 2b05 cmp r3, #5 803a9b2: d104 bne.n 803a9be menupos = OscLen; 803a9b4: 4b92 ldr r3, [pc, #584] ; (803ac00 ) 803a9b6: 2204 movs r2, #4 803a9b8: 701a strb r2, [r3, #0] break; 803a9ba: f001 bdd9 b.w 803c570 if(menupos == OscLen) 803a9be: 4b90 ldr r3, [pc, #576] ; (803ac00 ) 803a9c0: 781b ldrb r3, [r3, #0] 803a9c2: b2db uxtb r3, r3 803a9c4: 2b04 cmp r3, #4 803a9c6: d104 bne.n 803a9d2 menupos = OscRate; 803a9c8: 4b8d ldr r3, [pc, #564] ; (803ac00 ) 803a9ca: 2203 movs r2, #3 803a9cc: 701a strb r2, [r3, #0] break; 803a9ce: f001 bdcf b.w 803c570 if(menupos == OscRate) 803a9d2: 4b8b ldr r3, [pc, #556] ; (803ac00 ) 803a9d4: 781b ldrb r3, [r3, #0] 803a9d6: b2db uxtb r3, r3 803a9d8: 2b03 cmp r3, #3 803a9da: d104 bne.n 803a9e6 menupos = FilterLP; 803a9dc: 4b88 ldr r3, [pc, #544] ; (803ac00 ) 803a9de: 2218 movs r2, #24 803a9e0: 701a strb r2, [r3, #0] break; 803a9e2: f001 bdc5 b.w 803c570 if(menupos == FilterLP) 803a9e6: 4b86 ldr r3, [pc, #536] ; (803ac00 ) 803a9e8: 781b ldrb r3, [r3, #0] 803a9ea: b2db uxtb r3, r3 803a9ec: 2b18 cmp r3, #24 803a9ee: d104 bne.n 803a9fa menupos = FilterHP; 803a9f0: 4b83 ldr r3, [pc, #524] ; (803ac00 ) 803a9f2: 2217 movs r2, #23 803a9f4: 701a strb r2, [r3, #0] break; 803a9f6: f001 bdbb b.w 803c570 if(menupos == FilterHP) 803a9fa: 4b81 ldr r3, [pc, #516] ; (803ac00 ) 803a9fc: 781b ldrb r3, [r3, #0] 803a9fe: b2db uxtb r3, r3 803aa00: 2b17 cmp r3, #23 803aa02: d104 bne.n 803aa0e menupos = OscValue; 803aa04: 4b7e ldr r3, [pc, #504] ; (803ac00 ) 803aa06: 2201 movs r2, #1 803aa08: 701a strb r2, [r3, #0] break; 803aa0a: f001 bdb1 b.w 803c570 if(menupos == OscValue) 803aa0e: 4b7c ldr r3, [pc, #496] ; (803ac00 ) 803aa10: 781b ldrb r3, [r3, #0] 803aa12: b2db uxtb r3, r3 803aa14: 2b01 cmp r3, #1 803aa16: d104 bne.n 803aa22 menupos = Ok; 803aa18: 4b79 ldr r3, [pc, #484] ; (803ac00 ) 803aa1a: 2200 movs r2, #0 803aa1c: 701a strb r2, [r3, #0] break; 803aa1e: f001 bda7 b.w 803c570 if((menupos >= OscThr_IDT) && (menupos <= OscThr_IKD)) 803aa22: 4b77 ldr r3, [pc, #476] ; (803ac00 ) 803aa24: 781b ldrb r3, [r3, #0] 803aa26: b2db uxtb r3, r3 803aa28: 2b08 cmp r3, #8 803aa2a: f240 814d bls.w 803acc8 803aa2e: 4b74 ldr r3, [pc, #464] ; (803ac00 ) 803aa30: 781b ldrb r3, [r3, #0] 803aa32: b2db uxtb r3, r3 803aa34: 2b0e cmp r3, #14 803aa36: f200 8147 bhi.w 803acc8 k = (uint32_t) (pardata.THR_VAL * 10.0f); 803aa3a: 4b6d ldr r3, [pc, #436] ; (803abf0 ) 803aa3c: edd3 7a05 vldr s15, [r3, #20] 803aa40: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803aa44: ee67 7a87 vmul.f32 s15, s15, s14 803aa48: eefc 7ae7 vcvt.u32.f32 s15, s15 803aa4c: ee17 3a90 vmov r3, s15 803aa50: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803aa54: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa58: 095b lsrs r3, r3, #5 803aa5a: 4a6a ldr r2, [pc, #424] ; (803ac04 ) 803aa5c: fba2 2303 umull r2, r3, r2, r3 803aa60: 09db lsrs r3, r3, #7 803aa62: b2db uxtb r3, r3 803aa64: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803aa68: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803aa6c: 0953 lsrs r3, r2, #5 803aa6e: 4965 ldr r1, [pc, #404] ; (803ac04 ) 803aa70: fba1 1303 umull r1, r3, r1, r3 803aa74: 09db lsrs r3, r3, #7 803aa76: 4964 ldr r1, [pc, #400] ; (803ac08 ) 803aa78: fb01 f303 mul.w r3, r1, r3 803aa7c: 1ad3 subs r3, r2, r3 803aa7e: 4a63 ldr r2, [pc, #396] ; (803ac0c ) 803aa80: fba2 2303 umull r2, r3, r2, r3 803aa84: 0b5b lsrs r3, r3, #13 803aa86: b2db uxtb r3, r3 803aa88: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803aa8c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803aa90: 0953 lsrs r3, r2, #5 803aa92: 495c ldr r1, [pc, #368] ; (803ac04 ) 803aa94: fba1 1303 umull r1, r3, r1, r3 803aa98: 09db lsrs r3, r3, #7 803aa9a: 495b ldr r1, [pc, #364] ; (803ac08 ) 803aa9c: fb01 f303 mul.w r3, r1, r3 803aaa0: 1ad3 subs r3, r2, r3 803aaa2: 4a5a ldr r2, [pc, #360] ; (803ac0c ) 803aaa4: fba2 1203 umull r1, r2, r2, r3 803aaa8: 0b52 lsrs r2, r2, #13 803aaaa: f242 7110 movw r1, #10000 ; 0x2710 803aaae: fb01 f202 mul.w r2, r1, r2 803aab2: 1a9a subs r2, r3, r2 803aab4: 4b56 ldr r3, [pc, #344] ; (803ac10 ) 803aab6: fba3 2302 umull r2, r3, r3, r2 803aaba: 099b lsrs r3, r3, #6 803aabc: b2db uxtb r3, r3 803aabe: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803aac2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aac6: 095a lsrs r2, r3, #5 803aac8: 494e ldr r1, [pc, #312] ; (803ac04 ) 803aaca: fba1 1202 umull r1, r2, r1, r2 803aace: 09d2 lsrs r2, r2, #7 803aad0: 494d ldr r1, [pc, #308] ; (803ac08 ) 803aad2: fb01 f202 mul.w r2, r1, r2 803aad6: 1a9a subs r2, r3, r2 803aad8: 4b4c ldr r3, [pc, #304] ; (803ac0c ) 803aada: fba3 1302 umull r1, r3, r3, r2 803aade: 0b5b lsrs r3, r3, #13 803aae0: f242 7110 movw r1, #10000 ; 0x2710 803aae4: fb01 f303 mul.w r3, r1, r3 803aae8: 1ad3 subs r3, r2, r3 803aaea: 4a49 ldr r2, [pc, #292] ; (803ac10 ) 803aaec: fba2 1203 umull r1, r2, r2, r3 803aaf0: 0992 lsrs r2, r2, #6 803aaf2: f44f 717a mov.w r1, #1000 ; 0x3e8 803aaf6: fb01 f202 mul.w r2, r1, r2 803aafa: 1a9a subs r2, r3, r2 803aafc: 4b45 ldr r3, [pc, #276] ; (803ac14 ) 803aafe: fba3 2302 umull r2, r3, r3, r2 803ab02: 095b lsrs r3, r3, #5 803ab04: b2db uxtb r3, r3 803ab06: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803ab0a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ab0e: 0953 lsrs r3, r2, #5 803ab10: 493c ldr r1, [pc, #240] ; (803ac04 ) 803ab12: fba1 1303 umull r1, r3, r1, r3 803ab16: 09db lsrs r3, r3, #7 803ab18: 493b ldr r1, [pc, #236] ; (803ac08 ) 803ab1a: fb01 f303 mul.w r3, r1, r3 803ab1e: 1ad3 subs r3, r2, r3 803ab20: 4a3a ldr r2, [pc, #232] ; (803ac0c ) 803ab22: fba2 1203 umull r1, r2, r2, r3 803ab26: 0b52 lsrs r2, r2, #13 803ab28: f242 7110 movw r1, #10000 ; 0x2710 803ab2c: fb01 f202 mul.w r2, r1, r2 803ab30: 1a9a subs r2, r3, r2 803ab32: 4b37 ldr r3, [pc, #220] ; (803ac10 ) 803ab34: fba3 1302 umull r1, r3, r3, r2 803ab38: 099b lsrs r3, r3, #6 803ab3a: f44f 717a mov.w r1, #1000 ; 0x3e8 803ab3e: fb01 f303 mul.w r3, r1, r3 803ab42: 1ad3 subs r3, r2, r3 803ab44: 4a33 ldr r2, [pc, #204] ; (803ac14 ) 803ab46: fba2 1203 umull r1, r2, r2, r3 803ab4a: 0952 lsrs r2, r2, #5 803ab4c: 2164 movs r1, #100 ; 0x64 803ab4e: fb01 f202 mul.w r2, r1, r2 803ab52: 1a9a subs r2, r3, r2 803ab54: 4b30 ldr r3, [pc, #192] ; (803ac18 ) 803ab56: fba3 2302 umull r2, r3, r3, r2 803ab5a: 08db lsrs r3, r3, #3 803ab5c: b2db uxtb r3, r3 803ab5e: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803ab62: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ab66: 0953 lsrs r3, r2, #5 803ab68: 4926 ldr r1, [pc, #152] ; (803ac04 ) 803ab6a: fba1 1303 umull r1, r3, r1, r3 803ab6e: 09db lsrs r3, r3, #7 803ab70: 4925 ldr r1, [pc, #148] ; (803ac08 ) 803ab72: fb01 f303 mul.w r3, r1, r3 803ab76: 1ad3 subs r3, r2, r3 803ab78: 4a24 ldr r2, [pc, #144] ; (803ac0c ) 803ab7a: fba2 1203 umull r1, r2, r2, r3 803ab7e: 0b52 lsrs r2, r2, #13 803ab80: f242 7110 movw r1, #10000 ; 0x2710 803ab84: fb01 f202 mul.w r2, r1, r2 803ab88: 1a9a subs r2, r3, r2 803ab8a: 4b21 ldr r3, [pc, #132] ; (803ac10 ) 803ab8c: fba3 1302 umull r1, r3, r3, r2 803ab90: 099b lsrs r3, r3, #6 803ab92: f44f 717a mov.w r1, #1000 ; 0x3e8 803ab96: fb01 f303 mul.w r3, r1, r3 803ab9a: 1ad3 subs r3, r2, r3 803ab9c: 4a1d ldr r2, [pc, #116] ; (803ac14 ) 803ab9e: fba2 1203 umull r1, r2, r2, r3 803aba2: 0952 lsrs r2, r2, #5 803aba4: 2164 movs r1, #100 ; 0x64 803aba6: fb01 f202 mul.w r2, r1, r2 803abaa: 1a9a subs r2, r3, r2 803abac: 4b1a ldr r3, [pc, #104] ; (803ac18 ) 803abae: fba3 1302 umull r1, r3, r3, r2 803abb2: 08d9 lsrs r1, r3, #3 803abb4: 460b mov r3, r1 803abb6: 009b lsls r3, r3, #2 803abb8: 440b add r3, r1 803abba: 005b lsls r3, r3, #1 803abbc: 1ad1 subs r1, r2, r3 803abbe: b2cb uxtb r3, r1 803abc0: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803abc4: 4b0e ldr r3, [pc, #56] ; (803ac00 ) 803abc6: 781b ldrb r3, [r3, #0] 803abc8: b2db uxtb r3, r3 803abca: 3b09 subs r3, #9 803abcc: 2b05 cmp r3, #5 803abce: d84d bhi.n 803ac6c 803abd0: a201 add r2, pc, #4 ; (adr r2, 803abd8 ) 803abd2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803abd6: bf00 nop 803abd8: 0803ac1d .word 0x0803ac1d 803abdc: 0803ac2b .word 0x0803ac2b 803abe0: 0803ac3b .word 0x0803ac3b 803abe4: 0803ac49 .word 0x0803ac49 803abe8: 0803ac55 .word 0x0803ac55 803abec: 0803ac61 .word 0x0803ac61 803abf0: 20023ea8 .word 0x20023ea8 803abf4: 3dcccccd .word 0x3dcccccd 803abf8: 38d1b717 .word 0x38d1b717 803abfc: 20020fc8 .word 0x20020fc8 803ac00: 20020070 .word 0x20020070 803ac04: 0a7c5ac5 .word 0x0a7c5ac5 803ac08: 000186a0 .word 0x000186a0 803ac0c: d1b71759 .word 0xd1b71759 803ac10: 10624dd3 .word 0x10624dd3 803ac14: 51eb851f .word 0x51eb851f 803ac18: cccccccd .word 0xcccccccd k += 100000; 803ac1c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ac20: 4bc7 ldr r3, [pc, #796] ; (803af40 ) 803ac22: 4413 add r3, r2 803ac24: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ac28: e020 b.n 803ac6c k += 10000; 803ac2a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ac2e: f242 7310 movw r3, #10000 ; 0x2710 803ac32: 4413 add r3, r2 803ac34: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ac38: e018 b.n 803ac6c k += 1000; 803ac3a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ac3e: f503 737a add.w r3, r3, #1000 ; 0x3e8 803ac42: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ac46: e011 b.n 803ac6c k += 100; 803ac48: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ac4c: 3364 adds r3, #100 ; 0x64 803ac4e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ac52: e00b b.n 803ac6c k += 10; 803ac54: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ac58: 330a adds r3, #10 803ac5a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ac5e: e005 b.n 803ac6c k++; 803ac60: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ac64: 3301 adds r3, #1 803ac66: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ac6a: bf00 nop if(k > 999999) k = 999999; 803ac6c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ac70: 4ab4 ldr r2, [pc, #720] ; (803af44 ) 803ac72: 4293 cmp r3, r2 803ac74: d902 bls.n 803ac7c 803ac76: 4bb3 ldr r3, [pc, #716] ; (803af44 ) 803ac78: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803ac7c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ac80: 2b00 cmp r3, #0 803ac82: d102 bne.n 803ac8a 803ac84: 2301 movs r3, #1 803ac86: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 803ac8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ac8e: ee07 3a90 vmov s15, r3 803ac92: eef8 7a67 vcvt.f32.u32 s15, s15 803ac96: 4bac ldr r3, [pc, #688] ; (803af48 ) 803ac98: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 803ac9c: 4baa ldr r3, [pc, #680] ; (803af48 ) 803ac9e: edd3 7a05 vldr s15, [r3, #20] 803aca2: ed9f 7aaa vldr s14, [pc, #680] ; 803af4c 803aca6: ee67 7a87 vmul.f32 s15, s15, s14 803acaa: 4ba7 ldr r3, [pc, #668] ; (803af48 ) 803acac: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 803acb0: 4ba5 ldr r3, [pc, #660] ; (803af48 ) 803acb2: edd3 7a05 vldr s15, [r3, #20] 803acb6: ed9f 7aa6 vldr s14, [pc, #664] ; 803af50 803acba: ee77 7a87 vadd.f32 s15, s15, s14 803acbe: 4ba2 ldr r3, [pc, #648] ; (803af48 ) 803acc0: edc3 7a05 vstr s15, [r3, #20] 803acc4: f000 bca7 b.w 803b616 if((menupos >= OscMax_IDT) && (menupos <= OscMax_IKD)) 803acc8: 4ba2 ldr r3, [pc, #648] ; (803af54 ) 803acca: 781b ldrb r3, [r3, #0] 803accc: b2db uxtb r3, r3 803acce: 2b0e cmp r3, #14 803acd0: f240 814c bls.w 803af6c 803acd4: 4b9f ldr r3, [pc, #636] ; (803af54 ) 803acd6: 781b ldrb r3, [r3, #0] 803acd8: b2db uxtb r3, r3 803acda: 2b14 cmp r3, #20 803acdc: f200 8146 bhi.w 803af6c k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803ace0: 4b99 ldr r3, [pc, #612] ; (803af48 ) 803ace2: edd3 7a06 vldr s15, [r3, #24] 803ace6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803acea: ee67 7a87 vmul.f32 s15, s15, s14 803acee: eefc 7ae7 vcvt.u32.f32 s15, s15 803acf2: ee17 3a90 vmov r3, s15 803acf6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803acfa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803acfe: 095b lsrs r3, r3, #5 803ad00: 4a95 ldr r2, [pc, #596] ; (803af58 ) 803ad02: fba2 2303 umull r2, r3, r2, r3 803ad06: 09db lsrs r3, r3, #7 803ad08: b2db uxtb r3, r3 803ad0a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803ad0e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ad12: 0953 lsrs r3, r2, #5 803ad14: 4990 ldr r1, [pc, #576] ; (803af58 ) 803ad16: fba1 1303 umull r1, r3, r1, r3 803ad1a: 09db lsrs r3, r3, #7 803ad1c: 4988 ldr r1, [pc, #544] ; (803af40 ) 803ad1e: fb01 f303 mul.w r3, r1, r3 803ad22: 1ad3 subs r3, r2, r3 803ad24: 4a8d ldr r2, [pc, #564] ; (803af5c ) 803ad26: fba2 2303 umull r2, r3, r2, r3 803ad2a: 0b5b lsrs r3, r3, #13 803ad2c: b2db uxtb r3, r3 803ad2e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803ad32: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ad36: 0953 lsrs r3, r2, #5 803ad38: 4987 ldr r1, [pc, #540] ; (803af58 ) 803ad3a: fba1 1303 umull r1, r3, r1, r3 803ad3e: 09db lsrs r3, r3, #7 803ad40: 497f ldr r1, [pc, #508] ; (803af40 ) 803ad42: fb01 f303 mul.w r3, r1, r3 803ad46: 1ad3 subs r3, r2, r3 803ad48: 4a84 ldr r2, [pc, #528] ; (803af5c ) 803ad4a: fba2 1203 umull r1, r2, r2, r3 803ad4e: 0b52 lsrs r2, r2, #13 803ad50: f242 7110 movw r1, #10000 ; 0x2710 803ad54: fb01 f202 mul.w r2, r1, r2 803ad58: 1a9a subs r2, r3, r2 803ad5a: 4b81 ldr r3, [pc, #516] ; (803af60 ) 803ad5c: fba3 2302 umull r2, r3, r3, r2 803ad60: 099b lsrs r3, r3, #6 803ad62: b2db uxtb r3, r3 803ad64: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803ad68: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ad6c: 095a lsrs r2, r3, #5 803ad6e: 497a ldr r1, [pc, #488] ; (803af58 ) 803ad70: fba1 1202 umull r1, r2, r1, r2 803ad74: 09d2 lsrs r2, r2, #7 803ad76: 4972 ldr r1, [pc, #456] ; (803af40 ) 803ad78: fb01 f202 mul.w r2, r1, r2 803ad7c: 1a9a subs r2, r3, r2 803ad7e: 4b77 ldr r3, [pc, #476] ; (803af5c ) 803ad80: fba3 1302 umull r1, r3, r3, r2 803ad84: 0b5b lsrs r3, r3, #13 803ad86: f242 7110 movw r1, #10000 ; 0x2710 803ad8a: fb01 f303 mul.w r3, r1, r3 803ad8e: 1ad3 subs r3, r2, r3 803ad90: 4a73 ldr r2, [pc, #460] ; (803af60 ) 803ad92: fba2 1203 umull r1, r2, r2, r3 803ad96: 0992 lsrs r2, r2, #6 803ad98: f44f 717a mov.w r1, #1000 ; 0x3e8 803ad9c: fb01 f202 mul.w r2, r1, r2 803ada0: 1a9a subs r2, r3, r2 803ada2: 4b70 ldr r3, [pc, #448] ; (803af64 ) 803ada4: fba3 2302 umull r2, r3, r3, r2 803ada8: 095b lsrs r3, r3, #5 803adaa: b2db uxtb r3, r3 803adac: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803adb0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803adb4: 0953 lsrs r3, r2, #5 803adb6: 4968 ldr r1, [pc, #416] ; (803af58 ) 803adb8: fba1 1303 umull r1, r3, r1, r3 803adbc: 09db lsrs r3, r3, #7 803adbe: 4960 ldr r1, [pc, #384] ; (803af40 ) 803adc0: fb01 f303 mul.w r3, r1, r3 803adc4: 1ad3 subs r3, r2, r3 803adc6: 4a65 ldr r2, [pc, #404] ; (803af5c ) 803adc8: fba2 1203 umull r1, r2, r2, r3 803adcc: 0b52 lsrs r2, r2, #13 803adce: f242 7110 movw r1, #10000 ; 0x2710 803add2: fb01 f202 mul.w r2, r1, r2 803add6: 1a9a subs r2, r3, r2 803add8: 4b61 ldr r3, [pc, #388] ; (803af60 ) 803adda: fba3 1302 umull r1, r3, r3, r2 803adde: 099b lsrs r3, r3, #6 803ade0: f44f 717a mov.w r1, #1000 ; 0x3e8 803ade4: fb01 f303 mul.w r3, r1, r3 803ade8: 1ad3 subs r3, r2, r3 803adea: 4a5e ldr r2, [pc, #376] ; (803af64 ) 803adec: fba2 1203 umull r1, r2, r2, r3 803adf0: 0952 lsrs r2, r2, #5 803adf2: 2164 movs r1, #100 ; 0x64 803adf4: fb01 f202 mul.w r2, r1, r2 803adf8: 1a9a subs r2, r3, r2 803adfa: 4b5b ldr r3, [pc, #364] ; (803af68 ) 803adfc: fba3 2302 umull r2, r3, r3, r2 803ae00: 08db lsrs r3, r3, #3 803ae02: b2db uxtb r3, r3 803ae04: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803ae08: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ae0c: 0953 lsrs r3, r2, #5 803ae0e: 4952 ldr r1, [pc, #328] ; (803af58 ) 803ae10: fba1 1303 umull r1, r3, r1, r3 803ae14: 09db lsrs r3, r3, #7 803ae16: 494a ldr r1, [pc, #296] ; (803af40 ) 803ae18: fb01 f303 mul.w r3, r1, r3 803ae1c: 1ad3 subs r3, r2, r3 803ae1e: 4a4f ldr r2, [pc, #316] ; (803af5c ) 803ae20: fba2 1203 umull r1, r2, r2, r3 803ae24: 0b52 lsrs r2, r2, #13 803ae26: f242 7110 movw r1, #10000 ; 0x2710 803ae2a: fb01 f202 mul.w r2, r1, r2 803ae2e: 1a9a subs r2, r3, r2 803ae30: 4b4b ldr r3, [pc, #300] ; (803af60 ) 803ae32: fba3 1302 umull r1, r3, r3, r2 803ae36: 099b lsrs r3, r3, #6 803ae38: f44f 717a mov.w r1, #1000 ; 0x3e8 803ae3c: fb01 f303 mul.w r3, r1, r3 803ae40: 1ad3 subs r3, r2, r3 803ae42: 4a48 ldr r2, [pc, #288] ; (803af64 ) 803ae44: fba2 1203 umull r1, r2, r2, r3 803ae48: 0952 lsrs r2, r2, #5 803ae4a: 2164 movs r1, #100 ; 0x64 803ae4c: fb01 f202 mul.w r2, r1, r2 803ae50: 1a9a subs r2, r3, r2 803ae52: 4b45 ldr r3, [pc, #276] ; (803af68 ) 803ae54: fba3 1302 umull r1, r3, r3, r2 803ae58: 08d9 lsrs r1, r3, #3 803ae5a: 460b mov r3, r1 803ae5c: 009b lsls r3, r3, #2 803ae5e: 440b add r3, r1 803ae60: 005b lsls r3, r3, #1 803ae62: 1ad1 subs r1, r2, r3 803ae64: b2cb uxtb r3, r1 803ae66: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803ae6a: 4b3a ldr r3, [pc, #232] ; (803af54 ) 803ae6c: 781b ldrb r3, [r3, #0] 803ae6e: b2db uxtb r3, r3 803ae70: 3b0f subs r3, #15 803ae72: 2b05 cmp r3, #5 803ae74: d836 bhi.n 803aee4 803ae76: a201 add r2, pc, #4 ; (adr r2, 803ae7c ) 803ae78: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ae7c: 0803ae95 .word 0x0803ae95 803ae80: 0803aea3 .word 0x0803aea3 803ae84: 0803aeb3 .word 0x0803aeb3 803ae88: 0803aec1 .word 0x0803aec1 803ae8c: 0803aecd .word 0x0803aecd 803ae90: 0803aed9 .word 0x0803aed9 k += 100000; 803ae94: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ae98: 4b29 ldr r3, [pc, #164] ; (803af40 ) 803ae9a: 4413 add r3, r2 803ae9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aea0: e020 b.n 803aee4 k += 10000; 803aea2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803aea6: f242 7310 movw r3, #10000 ; 0x2710 803aeaa: 4413 add r3, r2 803aeac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aeb0: e018 b.n 803aee4 k += 1000; 803aeb2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aeb6: f503 737a add.w r3, r3, #1000 ; 0x3e8 803aeba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aebe: e011 b.n 803aee4 k += 100; 803aec0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aec4: 3364 adds r3, #100 ; 0x64 803aec6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aeca: e00b b.n 803aee4 k += 10; 803aecc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aed0: 330a adds r3, #10 803aed2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aed6: e005 b.n 803aee4 k++; 803aed8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aedc: 3301 adds r3, #1 803aede: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aee2: bf00 nop if(k > 999999) k = 999999; 803aee4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aee8: 4a16 ldr r2, [pc, #88] ; (803af44 ) 803aeea: 4293 cmp r3, r2 803aeec: d902 bls.n 803aef4 803aeee: 4b15 ldr r3, [pc, #84] ; (803af44 ) 803aef0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803aef4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aef8: 2b00 cmp r3, #0 803aefa: d102 bne.n 803af02 803aefc: 2301 movs r3, #1 803aefe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803af02: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803af06: ee07 3a90 vmov s15, r3 803af0a: eef8 7a67 vcvt.f32.u32 s15, s15 803af0e: 4b0e ldr r3, [pc, #56] ; (803af48 ) 803af10: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803af14: 4b0c ldr r3, [pc, #48] ; (803af48 ) 803af16: edd3 7a06 vldr s15, [r3, #24] 803af1a: ed9f 7a0c vldr s14, [pc, #48] ; 803af4c 803af1e: ee67 7a87 vmul.f32 s15, s15, s14 803af22: 4b09 ldr r3, [pc, #36] ; (803af48 ) 803af24: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803af28: 4b07 ldr r3, [pc, #28] ; (803af48 ) 803af2a: edd3 7a06 vldr s15, [r3, #24] 803af2e: ed9f 7a08 vldr s14, [pc, #32] ; 803af50 803af32: ee77 7a87 vadd.f32 s15, s15, s14 803af36: 4b04 ldr r3, [pc, #16] ; (803af48 ) 803af38: edc3 7a06 vstr s15, [r3, #24] 803af3c: e36b b.n 803b616 803af3e: bf00 nop 803af40: 000186a0 .word 0x000186a0 803af44: 000f423f .word 0x000f423f 803af48: 20023ea8 .word 0x20023ea8 803af4c: 3dcccccd .word 0x3dcccccd 803af50: 3d4ccccd .word 0x3d4ccccd 803af54: 20020070 .word 0x20020070 803af58: 0a7c5ac5 .word 0x0a7c5ac5 803af5c: d1b71759 .word 0xd1b71759 803af60: 10624dd3 .word 0x10624dd3 803af64: 51eb851f .word 0x51eb851f 803af68: cccccccd .word 0xcccccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 803af6c: 4bd3 ldr r3, [pc, #844] ; (803b2bc ) 803af6e: 781b ldrb r3, [r3, #0] 803af70: b2db uxtb r3, r3 803af72: 2b18 cmp r3, #24 803af74: f240 81b6 bls.w 803b2e4 803af78: 4bd0 ldr r3, [pc, #832] ; (803b2bc ) 803af7a: 781b ldrb r3, [r3, #0] 803af7c: b2db uxtb r3, r3 803af7e: 2b1e cmp r3, #30 803af80: f200 81b0 bhi.w 803b2e4 k = (uint32_t) (pardata.HP * 10.0f); 803af84: 4bce ldr r3, [pc, #824] ; (803b2c0 ) 803af86: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803af8a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803af8e: ee67 7a87 vmul.f32 s15, s15, s14 803af92: eefc 7ae7 vcvt.u32.f32 s15, s15 803af96: ee17 3a90 vmov r3, s15 803af9a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803af9e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803afa2: 095b lsrs r3, r3, #5 803afa4: 4ac7 ldr r2, [pc, #796] ; (803b2c4 ) 803afa6: fba2 2303 umull r2, r3, r2, r3 803afaa: 09db lsrs r3, r3, #7 803afac: b2db uxtb r3, r3 803afae: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803afb2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803afb6: 0953 lsrs r3, r2, #5 803afb8: 49c2 ldr r1, [pc, #776] ; (803b2c4 ) 803afba: fba1 1303 umull r1, r3, r1, r3 803afbe: 09db lsrs r3, r3, #7 803afc0: 49c1 ldr r1, [pc, #772] ; (803b2c8 ) 803afc2: fb01 f303 mul.w r3, r1, r3 803afc6: 1ad3 subs r3, r2, r3 803afc8: 4ac0 ldr r2, [pc, #768] ; (803b2cc ) 803afca: fba2 2303 umull r2, r3, r2, r3 803afce: 0b5b lsrs r3, r3, #13 803afd0: b2db uxtb r3, r3 803afd2: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803afd6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803afda: 0953 lsrs r3, r2, #5 803afdc: 49b9 ldr r1, [pc, #740] ; (803b2c4 ) 803afde: fba1 1303 umull r1, r3, r1, r3 803afe2: 09db lsrs r3, r3, #7 803afe4: 49b8 ldr r1, [pc, #736] ; (803b2c8 ) 803afe6: fb01 f303 mul.w r3, r1, r3 803afea: 1ad3 subs r3, r2, r3 803afec: 4ab7 ldr r2, [pc, #732] ; (803b2cc ) 803afee: fba2 1203 umull r1, r2, r2, r3 803aff2: 0b52 lsrs r2, r2, #13 803aff4: f242 7110 movw r1, #10000 ; 0x2710 803aff8: fb01 f202 mul.w r2, r1, r2 803affc: 1a9a subs r2, r3, r2 803affe: 4bb4 ldr r3, [pc, #720] ; (803b2d0 ) 803b000: fba3 2302 umull r2, r3, r3, r2 803b004: 099b lsrs r3, r3, #6 803b006: b2db uxtb r3, r3 803b008: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b00c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b010: 095a lsrs r2, r3, #5 803b012: 49ac ldr r1, [pc, #688] ; (803b2c4 ) 803b014: fba1 1202 umull r1, r2, r1, r2 803b018: 09d2 lsrs r2, r2, #7 803b01a: 49ab ldr r1, [pc, #684] ; (803b2c8 ) 803b01c: fb01 f202 mul.w r2, r1, r2 803b020: 1a9a subs r2, r3, r2 803b022: 4baa ldr r3, [pc, #680] ; (803b2cc ) 803b024: fba3 1302 umull r1, r3, r3, r2 803b028: 0b5b lsrs r3, r3, #13 803b02a: f242 7110 movw r1, #10000 ; 0x2710 803b02e: fb01 f303 mul.w r3, r1, r3 803b032: 1ad3 subs r3, r2, r3 803b034: 4aa6 ldr r2, [pc, #664] ; (803b2d0 ) 803b036: fba2 1203 umull r1, r2, r2, r3 803b03a: 0992 lsrs r2, r2, #6 803b03c: f44f 717a mov.w r1, #1000 ; 0x3e8 803b040: fb01 f202 mul.w r2, r1, r2 803b044: 1a9a subs r2, r3, r2 803b046: 4ba3 ldr r3, [pc, #652] ; (803b2d4 ) 803b048: fba3 2302 umull r2, r3, r3, r2 803b04c: 095b lsrs r3, r3, #5 803b04e: b2db uxtb r3, r3 803b050: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b054: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b058: 0953 lsrs r3, r2, #5 803b05a: 499a ldr r1, [pc, #616] ; (803b2c4 ) 803b05c: fba1 1303 umull r1, r3, r1, r3 803b060: 09db lsrs r3, r3, #7 803b062: 4999 ldr r1, [pc, #612] ; (803b2c8 ) 803b064: fb01 f303 mul.w r3, r1, r3 803b068: 1ad3 subs r3, r2, r3 803b06a: 4a98 ldr r2, [pc, #608] ; (803b2cc ) 803b06c: fba2 1203 umull r1, r2, r2, r3 803b070: 0b52 lsrs r2, r2, #13 803b072: f242 7110 movw r1, #10000 ; 0x2710 803b076: fb01 f202 mul.w r2, r1, r2 803b07a: 1a9a subs r2, r3, r2 803b07c: 4b94 ldr r3, [pc, #592] ; (803b2d0 ) 803b07e: fba3 1302 umull r1, r3, r3, r2 803b082: 099b lsrs r3, r3, #6 803b084: f44f 717a mov.w r1, #1000 ; 0x3e8 803b088: fb01 f303 mul.w r3, r1, r3 803b08c: 1ad3 subs r3, r2, r3 803b08e: 4a91 ldr r2, [pc, #580] ; (803b2d4 ) 803b090: fba2 1203 umull r1, r2, r2, r3 803b094: 0952 lsrs r2, r2, #5 803b096: 2164 movs r1, #100 ; 0x64 803b098: fb01 f202 mul.w r2, r1, r2 803b09c: 1a9a subs r2, r3, r2 803b09e: 4b8e ldr r3, [pc, #568] ; (803b2d8 ) 803b0a0: fba3 2302 umull r2, r3, r3, r2 803b0a4: 08db lsrs r3, r3, #3 803b0a6: b2db uxtb r3, r3 803b0a8: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b0ac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b0b0: 0953 lsrs r3, r2, #5 803b0b2: 4984 ldr r1, [pc, #528] ; (803b2c4 ) 803b0b4: fba1 1303 umull r1, r3, r1, r3 803b0b8: 09db lsrs r3, r3, #7 803b0ba: 4983 ldr r1, [pc, #524] ; (803b2c8 ) 803b0bc: fb01 f303 mul.w r3, r1, r3 803b0c0: 1ad3 subs r3, r2, r3 803b0c2: 4a82 ldr r2, [pc, #520] ; (803b2cc ) 803b0c4: fba2 1203 umull r1, r2, r2, r3 803b0c8: 0b52 lsrs r2, r2, #13 803b0ca: f242 7110 movw r1, #10000 ; 0x2710 803b0ce: fb01 f202 mul.w r2, r1, r2 803b0d2: 1a9a subs r2, r3, r2 803b0d4: 4b7e ldr r3, [pc, #504] ; (803b2d0 ) 803b0d6: fba3 1302 umull r1, r3, r3, r2 803b0da: 099b lsrs r3, r3, #6 803b0dc: f44f 717a mov.w r1, #1000 ; 0x3e8 803b0e0: fb01 f303 mul.w r3, r1, r3 803b0e4: 1ad3 subs r3, r2, r3 803b0e6: 4a7b ldr r2, [pc, #492] ; (803b2d4 ) 803b0e8: fba2 1203 umull r1, r2, r2, r3 803b0ec: 0952 lsrs r2, r2, #5 803b0ee: 2164 movs r1, #100 ; 0x64 803b0f0: fb01 f202 mul.w r2, r1, r2 803b0f4: 1a9a subs r2, r3, r2 803b0f6: 4b78 ldr r3, [pc, #480] ; (803b2d8 ) 803b0f8: fba3 1302 umull r1, r3, r3, r2 803b0fc: 08d9 lsrs r1, r3, #3 803b0fe: 460b mov r3, r1 803b100: 009b lsls r3, r3, #2 803b102: 440b add r3, r1 803b104: 005b lsls r3, r3, #1 803b106: 1ad1 subs r1, r2, r3 803b108: b2cb uxtb r3, r1 803b10a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803b10e: 4b6b ldr r3, [pc, #428] ; (803b2bc ) 803b110: 781b ldrb r3, [r3, #0] 803b112: b2db uxtb r3, r3 803b114: 3b19 subs r3, #25 803b116: 2b05 cmp r3, #5 803b118: d836 bhi.n 803b188 803b11a: a201 add r2, pc, #4 ; (adr r2, 803b120 ) 803b11c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803b120: 0803b139 .word 0x0803b139 803b124: 0803b147 .word 0x0803b147 803b128: 0803b157 .word 0x0803b157 803b12c: 0803b165 .word 0x0803b165 803b130: 0803b171 .word 0x0803b171 803b134: 0803b17d .word 0x0803b17d k += 100000; 803b138: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b13c: 4b62 ldr r3, [pc, #392] ; (803b2c8 ) 803b13e: 4413 add r3, r2 803b140: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b144: e020 b.n 803b188 k += 10000; 803b146: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b14a: f242 7310 movw r3, #10000 ; 0x2710 803b14e: 4413 add r3, r2 803b150: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b154: e018 b.n 803b188 k += 1000; 803b156: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b15a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803b15e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b162: e011 b.n 803b188 k += 100; 803b164: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b168: 3364 adds r3, #100 ; 0x64 803b16a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b16e: e00b b.n 803b188 k += 10; 803b170: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b174: 330a adds r3, #10 803b176: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b17a: e005 b.n 803b188 k++; 803b17c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b180: 3301 adds r3, #1 803b182: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b186: bf00 nop fl = (float32_t) k; 803b188: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b18c: ee07 3a90 vmov s15, r3 803b190: eef8 7a67 vcvt.f32.u32 s15, s15 803b194: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803b198: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b19c: ed9f 7a4f vldr s14, [pc, #316] ; 803b2dc 803b1a0: ee67 7a87 vmul.f32 s15, s15, s14 803b1a4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803b1a8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b1ac: ed9f 7a4c vldr s14, [pc, #304] ; 803b2e0 803b1b0: ee77 7a87 vadd.f32 s15, s15, s14 803b1b4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 803b1b8: 4b41 ldr r3, [pc, #260] ; (803b2c0 ) 803b1ba: 785b ldrb r3, [r3, #1] 803b1bc: b2db uxtb r3, r3 803b1be: 2b00 cmp r3, #0 803b1c0: d13d bne.n 803b23e if(fl < 0.5f) 803b1c2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b1c6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 803b1ca: eef4 7ac7 vcmpe.f32 s15, s14 803b1ce: eef1 fa10 vmrs APSR_nzcv, fpscr 803b1d2: d505 bpl.n 803b1e0 pardata.HP = 0.5f; 803b1d4: 4b3a ldr r3, [pc, #232] ; (803b2c0 ) 803b1d6: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 803b1da: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803b1de: e21a b.n 803b616 if(fl > pardata.LP) 803b1e0: 4b37 ldr r3, [pc, #220] ; (803b2c0 ) 803b1e2: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803b1e6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b1ea: eeb4 7ae7 vcmpe.f32 s14, s15 803b1ee: eef1 fa10 vmrs APSR_nzcv, fpscr 803b1f2: d506 bpl.n 803b202 pardata.HP = pardata.LP; 803b1f4: 4b32 ldr r3, [pc, #200] ; (803b2c0 ) 803b1f6: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803b1fa: 4a31 ldr r2, [pc, #196] ; (803b2c0 ) 803b1fc: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803b200: e209 b.n 803b616 pardata.HP = (float32_t) k; 803b202: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b206: ee07 3a90 vmov s15, r3 803b20a: eef8 7a67 vcvt.f32.u32 s15, s15 803b20e: 4b2c ldr r3, [pc, #176] ; (803b2c0 ) 803b210: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803b214: 4b2a ldr r3, [pc, #168] ; (803b2c0 ) 803b216: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803b21a: ed9f 7a30 vldr s14, [pc, #192] ; 803b2dc 803b21e: ee67 7a87 vmul.f32 s15, s15, s14 803b222: 4b27 ldr r3, [pc, #156] ; (803b2c0 ) 803b224: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803b228: 4b25 ldr r3, [pc, #148] ; (803b2c0 ) 803b22a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803b22e: ed9f 7a2c vldr s14, [pc, #176] ; 803b2e0 803b232: ee77 7a87 vadd.f32 s15, s15, s14 803b236: 4b22 ldr r3, [pc, #136] ; (803b2c0 ) 803b238: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803b23c: e1eb b.n 803b616 if(fl < 2.0f) 803b23e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b242: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803b246: eef4 7ac7 vcmpe.f32 s15, s14 803b24a: eef1 fa10 vmrs APSR_nzcv, fpscr 803b24e: d505 bpl.n 803b25c pardata.HP = 2.0f; 803b250: 4b1b ldr r3, [pc, #108] ; (803b2c0 ) 803b252: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 803b256: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803b25a: e1dc b.n 803b616 if(fl > pardata.LP) 803b25c: 4b18 ldr r3, [pc, #96] ; (803b2c0 ) 803b25e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803b262: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b266: eeb4 7ae7 vcmpe.f32 s14, s15 803b26a: eef1 fa10 vmrs APSR_nzcv, fpscr 803b26e: d506 bpl.n 803b27e pardata.HP = pardata.LP; 803b270: 4b13 ldr r3, [pc, #76] ; (803b2c0 ) 803b272: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803b276: 4a12 ldr r2, [pc, #72] ; (803b2c0 ) 803b278: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803b27c: e1cb b.n 803b616 pardata.HP = (float32_t) k; 803b27e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b282: ee07 3a90 vmov s15, r3 803b286: eef8 7a67 vcvt.f32.u32 s15, s15 803b28a: 4b0d ldr r3, [pc, #52] ; (803b2c0 ) 803b28c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803b290: 4b0b ldr r3, [pc, #44] ; (803b2c0 ) 803b292: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803b296: ed9f 7a11 vldr s14, [pc, #68] ; 803b2dc 803b29a: ee67 7a87 vmul.f32 s15, s15, s14 803b29e: 4b08 ldr r3, [pc, #32] ; (803b2c0 ) 803b2a0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803b2a4: 4b06 ldr r3, [pc, #24] ; (803b2c0 ) 803b2a6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803b2aa: ed9f 7a0d vldr s14, [pc, #52] ; 803b2e0 803b2ae: ee77 7a87 vadd.f32 s15, s15, s14 803b2b2: 4b03 ldr r3, [pc, #12] ; (803b2c0 ) 803b2b4: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803b2b8: e1ad b.n 803b616 803b2ba: bf00 nop 803b2bc: 20020070 .word 0x20020070 803b2c0: 20023ea8 .word 0x20023ea8 803b2c4: 0a7c5ac5 .word 0x0a7c5ac5 803b2c8: 000186a0 .word 0x000186a0 803b2cc: d1b71759 .word 0xd1b71759 803b2d0: 10624dd3 .word 0x10624dd3 803b2d4: 51eb851f .word 0x51eb851f 803b2d8: cccccccd .word 0xcccccccd 803b2dc: 3dcccccd .word 0x3dcccccd 803b2e0: 38d1b717 .word 0x38d1b717 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 803b2e4: 4bcd ldr r3, [pc, #820] ; (803b61c ) 803b2e6: 781b ldrb r3, [r3, #0] 803b2e8: b2db uxtb r3, r3 803b2ea: 2b1e cmp r3, #30 803b2ec: f241 8140 bls.w 803c570 803b2f0: 4bca ldr r3, [pc, #808] ; (803b61c ) 803b2f2: 781b ldrb r3, [r3, #0] 803b2f4: b2db uxtb r3, r3 803b2f6: 2b24 cmp r3, #36 ; 0x24 803b2f8: f201 813a bhi.w 803c570 k = (uint32_t) (pardata.LP * 10.0f); 803b2fc: 4bc8 ldr r3, [pc, #800] ; (803b620 ) 803b2fe: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803b302: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803b306: ee67 7a87 vmul.f32 s15, s15, s14 803b30a: eefc 7ae7 vcvt.u32.f32 s15, s15 803b30e: ee17 3a90 vmov r3, s15 803b312: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803b316: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b31a: 095b lsrs r3, r3, #5 803b31c: 4ac1 ldr r2, [pc, #772] ; (803b624 ) 803b31e: fba2 2303 umull r2, r3, r2, r3 803b322: 09db lsrs r3, r3, #7 803b324: b2db uxtb r3, r3 803b326: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803b32a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b32e: 0953 lsrs r3, r2, #5 803b330: 49bc ldr r1, [pc, #752] ; (803b624 ) 803b332: fba1 1303 umull r1, r3, r1, r3 803b336: 09db lsrs r3, r3, #7 803b338: 49bb ldr r1, [pc, #748] ; (803b628 ) 803b33a: fb01 f303 mul.w r3, r1, r3 803b33e: 1ad3 subs r3, r2, r3 803b340: 4aba ldr r2, [pc, #744] ; (803b62c ) 803b342: fba2 2303 umull r2, r3, r2, r3 803b346: 0b5b lsrs r3, r3, #13 803b348: b2db uxtb r3, r3 803b34a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803b34e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b352: 0953 lsrs r3, r2, #5 803b354: 49b3 ldr r1, [pc, #716] ; (803b624 ) 803b356: fba1 1303 umull r1, r3, r1, r3 803b35a: 09db lsrs r3, r3, #7 803b35c: 49b2 ldr r1, [pc, #712] ; (803b628 ) 803b35e: fb01 f303 mul.w r3, r1, r3 803b362: 1ad3 subs r3, r2, r3 803b364: 4ab1 ldr r2, [pc, #708] ; (803b62c ) 803b366: fba2 1203 umull r1, r2, r2, r3 803b36a: 0b52 lsrs r2, r2, #13 803b36c: f242 7110 movw r1, #10000 ; 0x2710 803b370: fb01 f202 mul.w r2, r1, r2 803b374: 1a9a subs r2, r3, r2 803b376: 4bae ldr r3, [pc, #696] ; (803b630 ) 803b378: fba3 2302 umull r2, r3, r3, r2 803b37c: 099b lsrs r3, r3, #6 803b37e: b2db uxtb r3, r3 803b380: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b384: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b388: 095a lsrs r2, r3, #5 803b38a: 49a6 ldr r1, [pc, #664] ; (803b624 ) 803b38c: fba1 1202 umull r1, r2, r1, r2 803b390: 09d2 lsrs r2, r2, #7 803b392: 49a5 ldr r1, [pc, #660] ; (803b628 ) 803b394: fb01 f202 mul.w r2, r1, r2 803b398: 1a9a subs r2, r3, r2 803b39a: 4ba4 ldr r3, [pc, #656] ; (803b62c ) 803b39c: fba3 1302 umull r1, r3, r3, r2 803b3a0: 0b5b lsrs r3, r3, #13 803b3a2: f242 7110 movw r1, #10000 ; 0x2710 803b3a6: fb01 f303 mul.w r3, r1, r3 803b3aa: 1ad3 subs r3, r2, r3 803b3ac: 4aa0 ldr r2, [pc, #640] ; (803b630 ) 803b3ae: fba2 1203 umull r1, r2, r2, r3 803b3b2: 0992 lsrs r2, r2, #6 803b3b4: f44f 717a mov.w r1, #1000 ; 0x3e8 803b3b8: fb01 f202 mul.w r2, r1, r2 803b3bc: 1a9a subs r2, r3, r2 803b3be: 4b9d ldr r3, [pc, #628] ; (803b634 ) 803b3c0: fba3 2302 umull r2, r3, r3, r2 803b3c4: 095b lsrs r3, r3, #5 803b3c6: b2db uxtb r3, r3 803b3c8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b3cc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b3d0: 0953 lsrs r3, r2, #5 803b3d2: 4994 ldr r1, [pc, #592] ; (803b624 ) 803b3d4: fba1 1303 umull r1, r3, r1, r3 803b3d8: 09db lsrs r3, r3, #7 803b3da: 4993 ldr r1, [pc, #588] ; (803b628 ) 803b3dc: fb01 f303 mul.w r3, r1, r3 803b3e0: 1ad3 subs r3, r2, r3 803b3e2: 4a92 ldr r2, [pc, #584] ; (803b62c ) 803b3e4: fba2 1203 umull r1, r2, r2, r3 803b3e8: 0b52 lsrs r2, r2, #13 803b3ea: f242 7110 movw r1, #10000 ; 0x2710 803b3ee: fb01 f202 mul.w r2, r1, r2 803b3f2: 1a9a subs r2, r3, r2 803b3f4: 4b8e ldr r3, [pc, #568] ; (803b630 ) 803b3f6: fba3 1302 umull r1, r3, r3, r2 803b3fa: 099b lsrs r3, r3, #6 803b3fc: f44f 717a mov.w r1, #1000 ; 0x3e8 803b400: fb01 f303 mul.w r3, r1, r3 803b404: 1ad3 subs r3, r2, r3 803b406: 4a8b ldr r2, [pc, #556] ; (803b634 ) 803b408: fba2 1203 umull r1, r2, r2, r3 803b40c: 0952 lsrs r2, r2, #5 803b40e: 2164 movs r1, #100 ; 0x64 803b410: fb01 f202 mul.w r2, r1, r2 803b414: 1a9a subs r2, r3, r2 803b416: 4b88 ldr r3, [pc, #544] ; (803b638 ) 803b418: fba3 2302 umull r2, r3, r3, r2 803b41c: 08db lsrs r3, r3, #3 803b41e: b2db uxtb r3, r3 803b420: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b424: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b428: 0953 lsrs r3, r2, #5 803b42a: 497e ldr r1, [pc, #504] ; (803b624 ) 803b42c: fba1 1303 umull r1, r3, r1, r3 803b430: 09db lsrs r3, r3, #7 803b432: 497d ldr r1, [pc, #500] ; (803b628 ) 803b434: fb01 f303 mul.w r3, r1, r3 803b438: 1ad3 subs r3, r2, r3 803b43a: 4a7c ldr r2, [pc, #496] ; (803b62c ) 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: 4b78 ldr r3, [pc, #480] ; (803b630 ) 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: 4a75 ldr r2, [pc, #468] ; (803b634 ) 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: 4b72 ldr r3, [pc, #456] ; (803b638 ) 803b470: fba3 1302 umull r1, r3, r3, r2 803b474: 08d9 lsrs r1, r3, #3 803b476: 460b mov r3, r1 803b478: 009b lsls r3, r3, #2 803b47a: 440b add r3, r1 803b47c: 005b lsls r3, r3, #1 803b47e: 1ad1 subs r1, r2, r3 803b480: b2cb uxtb r3, r1 803b482: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803b486: 4b65 ldr r3, [pc, #404] ; (803b61c ) 803b488: 781b ldrb r3, [r3, #0] 803b48a: b2db uxtb r3, r3 803b48c: 3b1f subs r3, #31 803b48e: 2b05 cmp r3, #5 803b490: d836 bhi.n 803b500 803b492: a201 add r2, pc, #4 ; (adr r2, 803b498 ) 803b494: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803b498: 0803b4b1 .word 0x0803b4b1 803b49c: 0803b4bf .word 0x0803b4bf 803b4a0: 0803b4cf .word 0x0803b4cf 803b4a4: 0803b4dd .word 0x0803b4dd 803b4a8: 0803b4e9 .word 0x0803b4e9 803b4ac: 0803b4f5 .word 0x0803b4f5 k += 100000; 803b4b0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b4b4: 4b5c ldr r3, [pc, #368] ; (803b628 ) 803b4b6: 4413 add r3, r2 803b4b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b4bc: e020 b.n 803b500 k += 10000; 803b4be: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b4c2: f242 7310 movw r3, #10000 ; 0x2710 803b4c6: 4413 add r3, r2 803b4c8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b4cc: e018 b.n 803b500 k += 1000; 803b4ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b4d2: f503 737a add.w r3, r3, #1000 ; 0x3e8 803b4d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b4da: e011 b.n 803b500 k += 100; 803b4dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b4e0: 3364 adds r3, #100 ; 0x64 803b4e2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b4e6: e00b b.n 803b500 k += 10; 803b4e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b4ec: 330a adds r3, #10 803b4ee: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b4f2: e005 b.n 803b500 k++; 803b4f4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b4f8: 3301 adds r3, #1 803b4fa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b4fe: bf00 nop fl = (float32_t) k; 803b500: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b504: ee07 3a90 vmov s15, r3 803b508: eef8 7a67 vcvt.f32.u32 s15, s15 803b50c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803b510: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b514: ed9f 7a49 vldr s14, [pc, #292] ; 803b63c 803b518: ee67 7a87 vmul.f32 s15, s15, s14 803b51c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803b520: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b524: ed9f 7a46 vldr s14, [pc, #280] ; 803b640 803b528: ee77 7a87 vadd.f32 s15, s15, s14 803b52c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 803b530: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b534: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803b538: eef4 7ac7 vcmpe.f32 s15, s14 803b53c: eef1 fa10 vmrs APSR_nzcv, fpscr 803b540: d505 bpl.n 803b54e pardata.LP = 10.0f; 803b542: 4b37 ldr r3, [pc, #220] ; (803b620 ) 803b544: 4a3f ldr r2, [pc, #252] ; (803b644 ) 803b546: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 803b54a: f001 b811 b.w 803c570 if(pardata.LP < pardata.HP) 803b54e: 4b34 ldr r3, [pc, #208] ; (803b620 ) 803b550: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803b554: 4b32 ldr r3, [pc, #200] ; (803b620 ) 803b556: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803b55a: eeb4 7ae7 vcmpe.f32 s14, s15 803b55e: eef1 fa10 vmrs APSR_nzcv, fpscr 803b562: d507 bpl.n 803b574 pardata.LP = pardata.HP; 803b564: 4b2e ldr r3, [pc, #184] ; (803b620 ) 803b566: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 803b56a: 4a2d ldr r2, [pc, #180] ; (803b620 ) 803b56c: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 803b570: f000 bffe b.w 803c570 if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 803b574: 4b2a ldr r3, [pc, #168] ; (803b620 ) 803b576: 7adb ldrb r3, [r3, #11] 803b578: b2db uxtb r3, r3 803b57a: 461a mov r2, r3 803b57c: 4b32 ldr r3, [pc, #200] ; (803b648 ) 803b57e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803b582: ee07 3a90 vmov s15, r3 803b586: eeb8 7a67 vcvt.f32.u32 s14, s15 803b58a: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 803b58e: eec7 7a26 vdiv.f32 s15, s14, s13 803b592: ed9f 7a2e vldr s14, [pc, #184] ; 803b64c 803b596: ee37 7a87 vadd.f32 s14, s15, s14 803b59a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803b59e: eeb4 7ae7 vcmpe.f32 s14, s15 803b5a2: eef1 fa10 vmrs APSR_nzcv, fpscr 803b5a6: d517 bpl.n 803b5d8 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 803b5a8: 4b1d ldr r3, [pc, #116] ; (803b620 ) 803b5aa: 7adb ldrb r3, [r3, #11] 803b5ac: b2db uxtb r3, r3 803b5ae: 461a mov r2, r3 803b5b0: 4b25 ldr r3, [pc, #148] ; (803b648 ) 803b5b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803b5b6: 4a20 ldr r2, [pc, #128] ; (803b638 ) 803b5b8: fba2 2303 umull r2, r3, r2, r3 803b5bc: 089b lsrs r3, r3, #2 803b5be: ee07 3a90 vmov s15, r3 803b5c2: eef8 7a67 vcvt.f32.u32 s15, s15 803b5c6: ed9f 7a1e vldr s14, [pc, #120] ; 803b640 803b5ca: ee77 7a87 vadd.f32 s15, s15, s14 803b5ce: 4b14 ldr r3, [pc, #80] ; (803b620 ) 803b5d0: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 803b5d4: f000 bfcc b.w 803c570 pardata.LP = (float32_t) k; 803b5d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b5dc: ee07 3a90 vmov s15, r3 803b5e0: eef8 7a67 vcvt.f32.u32 s15, s15 803b5e4: 4b0e ldr r3, [pc, #56] ; (803b620 ) 803b5e6: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 803b5ea: 4b0d ldr r3, [pc, #52] ; (803b620 ) 803b5ec: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803b5f0: ed9f 7a12 vldr s14, [pc, #72] ; 803b63c 803b5f4: ee67 7a87 vmul.f32 s15, s15, s14 803b5f8: 4b09 ldr r3, [pc, #36] ; (803b620 ) 803b5fa: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 803b5fe: 4b08 ldr r3, [pc, #32] ; (803b620 ) 803b600: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803b604: ed9f 7a0e vldr s14, [pc, #56] ; 803b640 803b608: ee77 7a87 vadd.f32 s15, s15, s14 803b60c: 4b04 ldr r3, [pc, #16] ; (803b620 ) 803b60e: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 803b612: f000 bfad b.w 803c570 803b616: f000 bfab b.w 803c570 803b61a: bf00 nop 803b61c: 20020070 .word 0x20020070 803b620: 20023ea8 .word 0x20023ea8 803b624: 0a7c5ac5 .word 0x0a7c5ac5 803b628: 000186a0 .word 0x000186a0 803b62c: d1b71759 .word 0xd1b71759 803b630: 10624dd3 .word 0x10624dd3 803b634: 51eb851f .word 0x51eb851f 803b638: cccccccd .word 0xcccccccd 803b63c: 3dcccccd .word 0x3dcccccd 803b640: 38d1b717 .word 0x38d1b717 803b644: 41200000 .word 0x41200000 803b648: 080f2c08 .word 0x080f2c08 803b64c: 3851b717 .word 0x3851b717 case ROUTE_MAP: //UP focused = false; 803b650: 4bcb ldr r3, [pc, #812] ; (803b980 ) 803b652: 2200 movs r2, #0 803b654: 701a strb r2, [r3, #0] if((menupos >= PrevPoint) && (menupos <= NextPoint)) 803b656: 4bcb ldr r3, [pc, #812] ; (803b984 ) 803b658: 781b ldrb r3, [r3, #0] 803b65a: 4bca ldr r3, [pc, #808] ; (803b984 ) 803b65c: 781b ldrb r3, [r3, #0] 803b65e: b2db uxtb r3, r3 803b660: 2b02 cmp r3, #2 803b662: d80e bhi.n 803b682 { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803b664: 4bc8 ldr r3, [pc, #800] ; (803b988 ) 803b666: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803b66a: f003 0304 and.w r3, r3, #4 803b66e: 2b00 cmp r3, #0 803b670: d103 bne.n 803b67a menupos = RouteMax_ALL; 803b672: 4bc4 ldr r3, [pc, #784] ; (803b984 ) 803b674: 2206 movs r2, #6 803b676: 701a strb r2, [r3, #0] if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803b678: e15e b.n 803b938 else menupos = RouteAutoKu; 803b67a: 4bc2 ldr r3, [pc, #776] ; (803b984 ) 803b67c: 2205 movs r2, #5 803b67e: 701a strb r2, [r3, #0] if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803b680: e15a b.n 803b938 } else if(menupos == RouteMax_ALL) 803b682: 4bc0 ldr r3, [pc, #768] ; (803b984 ) 803b684: 781b ldrb r3, [r3, #0] 803b686: b2db uxtb r3, r3 803b688: 2b06 cmp r3, #6 803b68a: d104 bne.n 803b696 menupos = RouteAutoKu; 803b68c: 4bbd ldr r3, [pc, #756] ; (803b984 ) 803b68e: 2205 movs r2, #5 803b690: 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; 803b692: f000 bf70 b.w 803c576 if(menupos == RouteAutoKu) 803b696: 4bbb ldr r3, [pc, #748] ; (803b984 ) 803b698: 781b ldrb r3, [r3, #0] 803b69a: b2db uxtb r3, r3 803b69c: 2b05 cmp r3, #5 803b69e: d104 bne.n 803b6aa menupos = RouteTime; 803b6a0: 4bb8 ldr r3, [pc, #736] ; (803b984 ) 803b6a2: 2204 movs r2, #4 803b6a4: 701a strb r2, [r3, #0] break; 803b6a6: f000 bf66 b.w 803c576 if(menupos == RouteTime) 803b6aa: 4bb6 ldr r3, [pc, #728] ; (803b984 ) 803b6ac: 781b ldrb r3, [r3, #0] 803b6ae: b2db uxtb r3, r3 803b6b0: 2b04 cmp r3, #4 803b6b2: d104 bne.n 803b6be menupos = RouteTacho; 803b6b4: 4bb3 ldr r3, [pc, #716] ; (803b984 ) 803b6b6: 2203 movs r2, #3 803b6b8: 701a strb r2, [r3, #0] break; 803b6ba: f000 bf5c b.w 803c576 if((menupos >= RouteMax_IDT) && (menupos <= RouteMax_IKD)) 803b6be: 4bb1 ldr r3, [pc, #708] ; (803b984 ) 803b6c0: 781b ldrb r3, [r3, #0] 803b6c2: b2db uxtb r3, r3 803b6c4: 2b06 cmp r3, #6 803b6c6: f240 8756 bls.w 803c576 803b6ca: 4bae ldr r3, [pc, #696] ; (803b984 ) 803b6cc: 781b ldrb r3, [r3, #0] 803b6ce: b2db uxtb r3, r3 803b6d0: 2b0c cmp r3, #12 803b6d2: f200 8750 bhi.w 803c576 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803b6d6: 4bac ldr r3, [pc, #688] ; (803b988 ) 803b6d8: edd3 7a06 vldr s15, [r3, #24] 803b6dc: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803b6e0: ee67 7a87 vmul.f32 s15, s15, s14 803b6e4: eefc 7ae7 vcvt.u32.f32 s15, s15 803b6e8: ee17 3a90 vmov r3, s15 803b6ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803b6f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b6f4: 095b lsrs r3, r3, #5 803b6f6: 4aa5 ldr r2, [pc, #660] ; (803b98c ) 803b6f8: fba2 2303 umull r2, r3, r2, r3 803b6fc: 09db lsrs r3, r3, #7 803b6fe: b2db uxtb r3, r3 803b700: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803b704: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b708: 0953 lsrs r3, r2, #5 803b70a: 49a0 ldr r1, [pc, #640] ; (803b98c ) 803b70c: fba1 1303 umull r1, r3, r1, r3 803b710: 09db lsrs r3, r3, #7 803b712: 499f ldr r1, [pc, #636] ; (803b990 ) 803b714: fb01 f303 mul.w r3, r1, r3 803b718: 1ad3 subs r3, r2, r3 803b71a: 4a9e ldr r2, [pc, #632] ; (803b994 ) 803b71c: fba2 2303 umull r2, r3, r2, r3 803b720: 0b5b lsrs r3, r3, #13 803b722: b2db uxtb r3, r3 803b724: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803b728: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b72c: 0953 lsrs r3, r2, #5 803b72e: 4997 ldr r1, [pc, #604] ; (803b98c ) 803b730: fba1 1303 umull r1, r3, r1, r3 803b734: 09db lsrs r3, r3, #7 803b736: 4996 ldr r1, [pc, #600] ; (803b990 ) 803b738: fb01 f303 mul.w r3, r1, r3 803b73c: 1ad3 subs r3, r2, r3 803b73e: 4a95 ldr r2, [pc, #596] ; (803b994 ) 803b740: fba2 1203 umull r1, r2, r2, r3 803b744: 0b52 lsrs r2, r2, #13 803b746: f242 7110 movw r1, #10000 ; 0x2710 803b74a: fb01 f202 mul.w r2, r1, r2 803b74e: 1a9a subs r2, r3, r2 803b750: 4b91 ldr r3, [pc, #580] ; (803b998 ) 803b752: fba3 2302 umull r2, r3, r3, r2 803b756: 099b lsrs r3, r3, #6 803b758: b2db uxtb r3, r3 803b75a: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b75e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b762: 095a lsrs r2, r3, #5 803b764: 4989 ldr r1, [pc, #548] ; (803b98c ) 803b766: fba1 1202 umull r1, r2, r1, r2 803b76a: 09d2 lsrs r2, r2, #7 803b76c: 4988 ldr r1, [pc, #544] ; (803b990 ) 803b76e: fb01 f202 mul.w r2, r1, r2 803b772: 1a9a subs r2, r3, r2 803b774: 4b87 ldr r3, [pc, #540] ; (803b994 ) 803b776: fba3 1302 umull r1, r3, r3, r2 803b77a: 0b5b lsrs r3, r3, #13 803b77c: f242 7110 movw r1, #10000 ; 0x2710 803b780: fb01 f303 mul.w r3, r1, r3 803b784: 1ad3 subs r3, r2, r3 803b786: 4a84 ldr r2, [pc, #528] ; (803b998 ) 803b788: fba2 1203 umull r1, r2, r2, r3 803b78c: 0992 lsrs r2, r2, #6 803b78e: f44f 717a mov.w r1, #1000 ; 0x3e8 803b792: fb01 f202 mul.w r2, r1, r2 803b796: 1a9a subs r2, r3, r2 803b798: 4b80 ldr r3, [pc, #512] ; (803b99c ) 803b79a: fba3 2302 umull r2, r3, r3, r2 803b79e: 095b lsrs r3, r3, #5 803b7a0: b2db uxtb r3, r3 803b7a2: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b7a6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b7aa: 0953 lsrs r3, r2, #5 803b7ac: 4977 ldr r1, [pc, #476] ; (803b98c ) 803b7ae: fba1 1303 umull r1, r3, r1, r3 803b7b2: 09db lsrs r3, r3, #7 803b7b4: 4976 ldr r1, [pc, #472] ; (803b990 ) 803b7b6: fb01 f303 mul.w r3, r1, r3 803b7ba: 1ad3 subs r3, r2, r3 803b7bc: 4a75 ldr r2, [pc, #468] ; (803b994 ) 803b7be: fba2 1203 umull r1, r2, r2, r3 803b7c2: 0b52 lsrs r2, r2, #13 803b7c4: f242 7110 movw r1, #10000 ; 0x2710 803b7c8: fb01 f202 mul.w r2, r1, r2 803b7cc: 1a9a subs r2, r3, r2 803b7ce: 4b72 ldr r3, [pc, #456] ; (803b998 ) 803b7d0: fba3 1302 umull r1, r3, r3, r2 803b7d4: 099b lsrs r3, r3, #6 803b7d6: f44f 717a mov.w r1, #1000 ; 0x3e8 803b7da: fb01 f303 mul.w r3, r1, r3 803b7de: 1ad3 subs r3, r2, r3 803b7e0: 4a6e ldr r2, [pc, #440] ; (803b99c ) 803b7e2: fba2 1203 umull r1, r2, r2, r3 803b7e6: 0952 lsrs r2, r2, #5 803b7e8: 2164 movs r1, #100 ; 0x64 803b7ea: fb01 f202 mul.w r2, r1, r2 803b7ee: 1a9a subs r2, r3, r2 803b7f0: 4b6b ldr r3, [pc, #428] ; (803b9a0 ) 803b7f2: fba3 2302 umull r2, r3, r3, r2 803b7f6: 08db lsrs r3, r3, #3 803b7f8: b2db uxtb r3, r3 803b7fa: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b7fe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b802: 0953 lsrs r3, r2, #5 803b804: 4961 ldr r1, [pc, #388] ; (803b98c ) 803b806: fba1 1303 umull r1, r3, r1, r3 803b80a: 09db lsrs r3, r3, #7 803b80c: 4960 ldr r1, [pc, #384] ; (803b990 ) 803b80e: fb01 f303 mul.w r3, r1, r3 803b812: 1ad3 subs r3, r2, r3 803b814: 4a5f ldr r2, [pc, #380] ; (803b994 ) 803b816: fba2 1203 umull r1, r2, r2, r3 803b81a: 0b52 lsrs r2, r2, #13 803b81c: f242 7110 movw r1, #10000 ; 0x2710 803b820: fb01 f202 mul.w r2, r1, r2 803b824: 1a9a subs r2, r3, r2 803b826: 4b5c ldr r3, [pc, #368] ; (803b998 ) 803b828: fba3 1302 umull r1, r3, r3, r2 803b82c: 099b lsrs r3, r3, #6 803b82e: f44f 717a mov.w r1, #1000 ; 0x3e8 803b832: fb01 f303 mul.w r3, r1, r3 803b836: 1ad3 subs r3, r2, r3 803b838: 4a58 ldr r2, [pc, #352] ; (803b99c ) 803b83a: fba2 1203 umull r1, r2, r2, r3 803b83e: 0952 lsrs r2, r2, #5 803b840: 2164 movs r1, #100 ; 0x64 803b842: fb01 f202 mul.w r2, r1, r2 803b846: 1a9a subs r2, r3, r2 803b848: 4b55 ldr r3, [pc, #340] ; (803b9a0 ) 803b84a: fba3 1302 umull r1, r3, r3, r2 803b84e: 08d9 lsrs r1, r3, #3 803b850: 460b mov r3, r1 803b852: 009b lsls r3, r3, #2 803b854: 440b add r3, r1 803b856: 005b lsls r3, r3, #1 803b858: 1ad1 subs r1, r2, r3 803b85a: b2cb uxtb r3, r1 803b85c: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803b860: 4b48 ldr r3, [pc, #288] ; (803b984 ) 803b862: 781b ldrb r3, [r3, #0] 803b864: b2db uxtb r3, r3 803b866: 3b07 subs r3, #7 803b868: 2b05 cmp r3, #5 803b86a: d837 bhi.n 803b8dc 803b86c: a201 add r2, pc, #4 ; (adr r2, 803b874 ) 803b86e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803b872: bf00 nop 803b874: 0803b88d .word 0x0803b88d 803b878: 0803b89b .word 0x0803b89b 803b87c: 0803b8ab .word 0x0803b8ab 803b880: 0803b8b9 .word 0x0803b8b9 803b884: 0803b8c5 .word 0x0803b8c5 803b888: 0803b8d1 .word 0x0803b8d1 k += 100000; 803b88c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b890: 4b3f ldr r3, [pc, #252] ; (803b990 ) 803b892: 4413 add r3, r2 803b894: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b898: e020 b.n 803b8dc k += 10000; 803b89a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b89e: f242 7310 movw r3, #10000 ; 0x2710 803b8a2: 4413 add r3, r2 803b8a4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b8a8: e018 b.n 803b8dc k += 1000; 803b8aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b8ae: f503 737a add.w r3, r3, #1000 ; 0x3e8 803b8b2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b8b6: e011 b.n 803b8dc k += 100; 803b8b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b8bc: 3364 adds r3, #100 ; 0x64 803b8be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b8c2: e00b b.n 803b8dc k += 10; 803b8c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b8c8: 330a adds r3, #10 803b8ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b8ce: e005 b.n 803b8dc k++; 803b8d0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b8d4: 3301 adds r3, #1 803b8d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b8da: bf00 nop if(k > 999999) k = 999999; 803b8dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b8e0: 4a30 ldr r2, [pc, #192] ; (803b9a4 ) 803b8e2: 4293 cmp r3, r2 803b8e4: d902 bls.n 803b8ec 803b8e6: 4b2f ldr r3, [pc, #188] ; (803b9a4 ) 803b8e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803b8ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b8f0: 2b00 cmp r3, #0 803b8f2: d102 bne.n 803b8fa 803b8f4: 2301 movs r3, #1 803b8f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803b8fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b8fe: ee07 3a90 vmov s15, r3 803b902: eef8 7a67 vcvt.f32.u32 s15, s15 803b906: 4b20 ldr r3, [pc, #128] ; (803b988 ) 803b908: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803b90c: 4b1e ldr r3, [pc, #120] ; (803b988 ) 803b90e: edd3 7a06 vldr s15, [r3, #24] 803b912: ed9f 7a25 vldr s14, [pc, #148] ; 803b9a8 803b916: ee67 7a87 vmul.f32 s15, s15, s14 803b91a: 4b1b ldr r3, [pc, #108] ; (803b988 ) 803b91c: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803b920: 4b19 ldr r3, [pc, #100] ; (803b988 ) 803b922: edd3 7a06 vldr s15, [r3, #24] 803b926: ed9f 7a21 vldr s14, [pc, #132] ; 803b9ac 803b92a: ee77 7a87 vadd.f32 s15, s15, s14 803b92e: 4b16 ldr r3, [pc, #88] ; (803b988 ) 803b930: edc3 7a06 vstr s15, [r3, #24] break; 803b934: f000 be1f b.w 803c576 803b938: f000 be1d b.w 803c576 case PARAM_WAVE: // KEY_UP focused = false; 803b93c: 4b10 ldr r3, [pc, #64] ; (803b980 ) 803b93e: 2200 movs r2, #0 803b940: 701a strb r2, [r3, #0] if(menupos == Ok) 803b942: 4b10 ldr r3, [pc, #64] ; (803b984 ) 803b944: 781b ldrb r3, [r3, #0] 803b946: b2db uxtb r3, r3 803b948: 2b00 cmp r3, #0 803b94a: d10f bne.n 803b96c { if(pardata.THR & 0x80) 803b94c: 4b0e ldr r3, [pc, #56] ; (803b988 ) 803b94e: 7bdb ldrb r3, [r3, #15] 803b950: b2db uxtb r3, r3 803b952: b25b sxtb r3, r3 803b954: 2b00 cmp r3, #0 803b956: da04 bge.n 803b962 menupos = WaveThr_ALL; 803b958: 4b0a ldr r3, [pc, #40] ; (803b984 ) 803b95a: 2209 movs r2, #9 803b95c: 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; 803b95e: f000 be0d b.w 803c57c else menupos = WaveThr; 803b962: 4b08 ldr r3, [pc, #32] ; (803b984 ) 803b964: 2208 movs r2, #8 803b966: 701a strb r2, [r3, #0] break; 803b968: f000 be08 b.w 803c57c if(menupos == WaveThr_ALL) 803b96c: 4b05 ldr r3, [pc, #20] ; (803b984 ) 803b96e: 781b ldrb r3, [r3, #0] 803b970: b2db uxtb r3, r3 803b972: 2b09 cmp r3, #9 803b974: d11c bne.n 803b9b0 menupos = WaveThr; 803b976: 4b03 ldr r3, [pc, #12] ; (803b984 ) 803b978: 2208 movs r2, #8 803b97a: 701a strb r2, [r3, #0] break; 803b97c: f000 bdfe b.w 803c57c 803b980: 20020fc8 .word 0x20020fc8 803b984: 20020070 .word 0x20020070 803b988: 20023ea8 .word 0x20023ea8 803b98c: 0a7c5ac5 .word 0x0a7c5ac5 803b990: 000186a0 .word 0x000186a0 803b994: d1b71759 .word 0xd1b71759 803b998: 10624dd3 .word 0x10624dd3 803b99c: 51eb851f .word 0x51eb851f 803b9a0: cccccccd .word 0xcccccccd 803b9a4: 000f423f .word 0x000f423f 803b9a8: 3dcccccd .word 0x3dcccccd 803b9ac: 3d4ccccd .word 0x3d4ccccd if(menupos == WaveThr) 803b9b0: 4bc1 ldr r3, [pc, #772] ; (803bcb8 ) 803b9b2: 781b ldrb r3, [r3, #0] 803b9b4: b2db uxtb r3, r3 803b9b6: 2b08 cmp r3, #8 803b9b8: d110 bne.n 803b9dc if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803b9ba: 4bc0 ldr r3, [pc, #768] ; (803bcbc ) 803b9bc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803b9c0: f003 0304 and.w r3, r3, #4 803b9c4: 2b00 cmp r3, #0 803b9c6: d104 bne.n 803b9d2 menupos = WaveMax_ALL; 803b9c8: 4bbb ldr r3, [pc, #748] ; (803bcb8 ) 803b9ca: 2207 movs r2, #7 803b9cc: 701a strb r2, [r3, #0] break; 803b9ce: f000 bdd5 b.w 803c57c else menupos = WaveAutoKu; 803b9d2: 4bb9 ldr r3, [pc, #740] ; (803bcb8 ) 803b9d4: 2206 movs r2, #6 803b9d6: 701a strb r2, [r3, #0] break; 803b9d8: f000 bdd0 b.w 803c57c if(menupos == WaveMax_ALL) 803b9dc: 4bb6 ldr r3, [pc, #728] ; (803bcb8 ) 803b9de: 781b ldrb r3, [r3, #0] 803b9e0: b2db uxtb r3, r3 803b9e2: 2b07 cmp r3, #7 803b9e4: d104 bne.n 803b9f0 menupos = WaveAutoKu; 803b9e6: 4bb4 ldr r3, [pc, #720] ; (803bcb8 ) 803b9e8: 2206 movs r2, #6 803b9ea: 701a strb r2, [r3, #0] break; 803b9ec: f000 bdc6 b.w 803c57c if(menupos == WaveAutoKu) 803b9f0: 4bb1 ldr r3, [pc, #708] ; (803bcb8 ) 803b9f2: 781b ldrb r3, [r3, #0] 803b9f4: b2db uxtb r3, r3 803b9f6: 2b06 cmp r3, #6 803b9f8: d104 bne.n 803ba04 menupos = WaveTime; 803b9fa: 4baf ldr r3, [pc, #700] ; (803bcb8 ) 803b9fc: 2205 movs r2, #5 803b9fe: 701a strb r2, [r3, #0] break; 803ba00: f000 bdbc b.w 803c57c if(menupos == WaveTime) 803ba04: 4bac ldr r3, [pc, #688] ; (803bcb8 ) 803ba06: 781b ldrb r3, [r3, #0] 803ba08: b2db uxtb r3, r3 803ba0a: 2b05 cmp r3, #5 803ba0c: d104 bne.n 803ba18 menupos = WaveName; 803ba0e: 4baa ldr r3, [pc, #680] ; (803bcb8 ) 803ba10: 2204 movs r2, #4 803ba12: 701a strb r2, [r3, #0] break; 803ba14: f000 bdb2 b.w 803c57c if(menupos == WaveName) 803ba18: 4ba7 ldr r3, [pc, #668] ; (803bcb8 ) 803ba1a: 781b ldrb r3, [r3, #0] 803ba1c: b2db uxtb r3, r3 803ba1e: 2b04 cmp r3, #4 803ba20: d104 bne.n 803ba2c menupos = WaveTacho; 803ba22: 4ba5 ldr r3, [pc, #660] ; (803bcb8 ) 803ba24: 2203 movs r2, #3 803ba26: 701a strb r2, [r3, #0] break; 803ba28: f000 bda8 b.w 803c57c if(menupos == WaveTacho) 803ba2c: 4ba2 ldr r3, [pc, #648] ; (803bcb8 ) 803ba2e: 781b ldrb r3, [r3, #0] 803ba30: b2db uxtb r3, r3 803ba32: 2b03 cmp r3, #3 803ba34: d104 bne.n 803ba40 menupos = Ok; 803ba36: 4ba0 ldr r3, [pc, #640] ; (803bcb8 ) 803ba38: 2200 movs r2, #0 803ba3a: 701a strb r2, [r3, #0] break; 803ba3c: f000 bd9e b.w 803c57c if((menupos >= WaveThr_IDT) && (menupos <= WaveThr_IKD)) 803ba40: 4b9d ldr r3, [pc, #628] ; (803bcb8 ) 803ba42: 781b ldrb r3, [r3, #0] 803ba44: b2db uxtb r3, r3 803ba46: 2b0f cmp r3, #15 803ba48: f240 814c bls.w 803bce4 803ba4c: 4b9a ldr r3, [pc, #616] ; (803bcb8 ) 803ba4e: 781b ldrb r3, [r3, #0] 803ba50: b2db uxtb r3, r3 803ba52: 2b15 cmp r3, #21 803ba54: f200 8146 bhi.w 803bce4 k = (uint32_t) (pardata.THR_VAL * 10.0f); 803ba58: 4b98 ldr r3, [pc, #608] ; (803bcbc ) 803ba5a: edd3 7a05 vldr s15, [r3, #20] 803ba5e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803ba62: ee67 7a87 vmul.f32 s15, s15, s14 803ba66: eefc 7ae7 vcvt.u32.f32 s15, s15 803ba6a: ee17 3a90 vmov r3, s15 803ba6e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803ba72: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba76: 095b lsrs r3, r3, #5 803ba78: 4a91 ldr r2, [pc, #580] ; (803bcc0 ) 803ba7a: fba2 2303 umull r2, r3, r2, r3 803ba7e: 09db lsrs r3, r3, #7 803ba80: b2db uxtb r3, r3 803ba82: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803ba86: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ba8a: 0953 lsrs r3, r2, #5 803ba8c: 498c ldr r1, [pc, #560] ; (803bcc0 ) 803ba8e: fba1 1303 umull r1, r3, r1, r3 803ba92: 09db lsrs r3, r3, #7 803ba94: 498b ldr r1, [pc, #556] ; (803bcc4 ) 803ba96: fb01 f303 mul.w r3, r1, r3 803ba9a: 1ad3 subs r3, r2, r3 803ba9c: 4a8a ldr r2, [pc, #552] ; (803bcc8 ) 803ba9e: fba2 2303 umull r2, r3, r2, r3 803baa2: 0b5b lsrs r3, r3, #13 803baa4: b2db uxtb r3, r3 803baa6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803baaa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803baae: 0953 lsrs r3, r2, #5 803bab0: 4983 ldr r1, [pc, #524] ; (803bcc0 ) 803bab2: fba1 1303 umull r1, r3, r1, r3 803bab6: 09db lsrs r3, r3, #7 803bab8: 4982 ldr r1, [pc, #520] ; (803bcc4 ) 803baba: fb01 f303 mul.w r3, r1, r3 803babe: 1ad3 subs r3, r2, r3 803bac0: 4a81 ldr r2, [pc, #516] ; (803bcc8 ) 803bac2: fba2 1203 umull r1, r2, r2, r3 803bac6: 0b52 lsrs r2, r2, #13 803bac8: f242 7110 movw r1, #10000 ; 0x2710 803bacc: fb01 f202 mul.w r2, r1, r2 803bad0: 1a9a subs r2, r3, r2 803bad2: 4b7e ldr r3, [pc, #504] ; (803bccc ) 803bad4: fba3 2302 umull r2, r3, r3, r2 803bad8: 099b lsrs r3, r3, #6 803bada: b2db uxtb r3, r3 803badc: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803bae0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bae4: 095a lsrs r2, r3, #5 803bae6: 4976 ldr r1, [pc, #472] ; (803bcc0 ) 803bae8: fba1 1202 umull r1, r2, r1, r2 803baec: 09d2 lsrs r2, r2, #7 803baee: 4975 ldr r1, [pc, #468] ; (803bcc4 ) 803baf0: fb01 f202 mul.w r2, r1, r2 803baf4: 1a9a subs r2, r3, r2 803baf6: 4b74 ldr r3, [pc, #464] ; (803bcc8 ) 803baf8: fba3 1302 umull r1, r3, r3, r2 803bafc: 0b5b lsrs r3, r3, #13 803bafe: f242 7110 movw r1, #10000 ; 0x2710 803bb02: fb01 f303 mul.w r3, r1, r3 803bb06: 1ad3 subs r3, r2, r3 803bb08: 4a70 ldr r2, [pc, #448] ; (803bccc ) 803bb0a: fba2 1203 umull r1, r2, r2, r3 803bb0e: 0992 lsrs r2, r2, #6 803bb10: f44f 717a mov.w r1, #1000 ; 0x3e8 803bb14: fb01 f202 mul.w r2, r1, r2 803bb18: 1a9a subs r2, r3, r2 803bb1a: 4b6d ldr r3, [pc, #436] ; (803bcd0 ) 803bb1c: fba3 2302 umull r2, r3, r3, r2 803bb20: 095b lsrs r3, r3, #5 803bb22: b2db uxtb r3, r3 803bb24: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803bb28: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bb2c: 0953 lsrs r3, r2, #5 803bb2e: 4964 ldr r1, [pc, #400] ; (803bcc0 ) 803bb30: fba1 1303 umull r1, r3, r1, r3 803bb34: 09db lsrs r3, r3, #7 803bb36: 4963 ldr r1, [pc, #396] ; (803bcc4 ) 803bb38: fb01 f303 mul.w r3, r1, r3 803bb3c: 1ad3 subs r3, r2, r3 803bb3e: 4a62 ldr r2, [pc, #392] ; (803bcc8 ) 803bb40: fba2 1203 umull r1, r2, r2, r3 803bb44: 0b52 lsrs r2, r2, #13 803bb46: f242 7110 movw r1, #10000 ; 0x2710 803bb4a: fb01 f202 mul.w r2, r1, r2 803bb4e: 1a9a subs r2, r3, r2 803bb50: 4b5e ldr r3, [pc, #376] ; (803bccc ) 803bb52: fba3 1302 umull r1, r3, r3, r2 803bb56: 099b lsrs r3, r3, #6 803bb58: f44f 717a mov.w r1, #1000 ; 0x3e8 803bb5c: fb01 f303 mul.w r3, r1, r3 803bb60: 1ad3 subs r3, r2, r3 803bb62: 4a5b ldr r2, [pc, #364] ; (803bcd0 ) 803bb64: fba2 1203 umull r1, r2, r2, r3 803bb68: 0952 lsrs r2, r2, #5 803bb6a: 2164 movs r1, #100 ; 0x64 803bb6c: fb01 f202 mul.w r2, r1, r2 803bb70: 1a9a subs r2, r3, r2 803bb72: 4b58 ldr r3, [pc, #352] ; (803bcd4 ) 803bb74: fba3 2302 umull r2, r3, r3, r2 803bb78: 08db lsrs r3, r3, #3 803bb7a: b2db uxtb r3, r3 803bb7c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803bb80: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bb84: 0953 lsrs r3, r2, #5 803bb86: 494e ldr r1, [pc, #312] ; (803bcc0 ) 803bb88: fba1 1303 umull r1, r3, r1, r3 803bb8c: 09db lsrs r3, r3, #7 803bb8e: 494d ldr r1, [pc, #308] ; (803bcc4 ) 803bb90: fb01 f303 mul.w r3, r1, r3 803bb94: 1ad3 subs r3, r2, r3 803bb96: 4a4c ldr r2, [pc, #304] ; (803bcc8 ) 803bb98: fba2 1203 umull r1, r2, r2, r3 803bb9c: 0b52 lsrs r2, r2, #13 803bb9e: f242 7110 movw r1, #10000 ; 0x2710 803bba2: fb01 f202 mul.w r2, r1, r2 803bba6: 1a9a subs r2, r3, r2 803bba8: 4b48 ldr r3, [pc, #288] ; (803bccc ) 803bbaa: fba3 1302 umull r1, r3, r3, r2 803bbae: 099b lsrs r3, r3, #6 803bbb0: f44f 717a mov.w r1, #1000 ; 0x3e8 803bbb4: fb01 f303 mul.w r3, r1, r3 803bbb8: 1ad3 subs r3, r2, r3 803bbba: 4a45 ldr r2, [pc, #276] ; (803bcd0 ) 803bbbc: fba2 1203 umull r1, r2, r2, r3 803bbc0: 0952 lsrs r2, r2, #5 803bbc2: 2164 movs r1, #100 ; 0x64 803bbc4: fb01 f202 mul.w r2, r1, r2 803bbc8: 1a9a subs r2, r3, r2 803bbca: 4b42 ldr r3, [pc, #264] ; (803bcd4 ) 803bbcc: fba3 1302 umull r1, r3, r3, r2 803bbd0: 08d9 lsrs r1, r3, #3 803bbd2: 460b mov r3, r1 803bbd4: 009b lsls r3, r3, #2 803bbd6: 440b add r3, r1 803bbd8: 005b lsls r3, r3, #1 803bbda: 1ad1 subs r1, r2, r3 803bbdc: b2cb uxtb r3, r1 803bbde: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803bbe2: 4b35 ldr r3, [pc, #212] ; (803bcb8 ) 803bbe4: 781b ldrb r3, [r3, #0] 803bbe6: b2db uxtb r3, r3 803bbe8: 3b10 subs r3, #16 803bbea: 2b05 cmp r3, #5 803bbec: d836 bhi.n 803bc5c 803bbee: a201 add r2, pc, #4 ; (adr r2, 803bbf4 ) 803bbf0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803bbf4: 0803bc0d .word 0x0803bc0d 803bbf8: 0803bc1b .word 0x0803bc1b 803bbfc: 0803bc2b .word 0x0803bc2b 803bc00: 0803bc39 .word 0x0803bc39 803bc04: 0803bc45 .word 0x0803bc45 803bc08: 0803bc51 .word 0x0803bc51 k += 100000; 803bc0c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bc10: 4b2c ldr r3, [pc, #176] ; (803bcc4 ) 803bc12: 4413 add r3, r2 803bc14: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bc18: e020 b.n 803bc5c k += 10000; 803bc1a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bc1e: f242 7310 movw r3, #10000 ; 0x2710 803bc22: 4413 add r3, r2 803bc24: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bc28: e018 b.n 803bc5c k += 1000; 803bc2a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bc2e: f503 737a add.w r3, r3, #1000 ; 0x3e8 803bc32: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bc36: e011 b.n 803bc5c k += 100; 803bc38: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bc3c: 3364 adds r3, #100 ; 0x64 803bc3e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bc42: e00b b.n 803bc5c k += 10; 803bc44: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bc48: 330a adds r3, #10 803bc4a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bc4e: e005 b.n 803bc5c k++; 803bc50: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bc54: 3301 adds r3, #1 803bc56: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bc5a: bf00 nop if(k > 999999) k = 999999; 803bc5c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bc60: 4a1d ldr r2, [pc, #116] ; (803bcd8 ) 803bc62: 4293 cmp r3, r2 803bc64: d902 bls.n 803bc6c 803bc66: 4b1c ldr r3, [pc, #112] ; (803bcd8 ) 803bc68: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803bc6c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bc70: 2b00 cmp r3, #0 803bc72: d102 bne.n 803bc7a 803bc74: 2301 movs r3, #1 803bc76: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 803bc7a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bc7e: ee07 3a90 vmov s15, r3 803bc82: eef8 7a67 vcvt.f32.u32 s15, s15 803bc86: 4b0d ldr r3, [pc, #52] ; (803bcbc ) 803bc88: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 803bc8c: 4b0b ldr r3, [pc, #44] ; (803bcbc ) 803bc8e: edd3 7a05 vldr s15, [r3, #20] 803bc92: ed9f 7a12 vldr s14, [pc, #72] ; 803bcdc 803bc96: ee67 7a87 vmul.f32 s15, s15, s14 803bc9a: 4b08 ldr r3, [pc, #32] ; (803bcbc ) 803bc9c: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 803bca0: 4b06 ldr r3, [pc, #24] ; (803bcbc ) 803bca2: edd3 7a05 vldr s15, [r3, #20] 803bca6: ed9f 7a0e vldr s14, [pc, #56] ; 803bce0 803bcaa: ee77 7a87 vadd.f32 s15, s15, s14 803bcae: 4b03 ldr r3, [pc, #12] ; (803bcbc ) 803bcb0: edc3 7a05 vstr s15, [r3, #20] break; 803bcb4: f000 bc62 b.w 803c57c 803bcb8: 20020070 .word 0x20020070 803bcbc: 20023ea8 .word 0x20023ea8 803bcc0: 0a7c5ac5 .word 0x0a7c5ac5 803bcc4: 000186a0 .word 0x000186a0 803bcc8: d1b71759 .word 0xd1b71759 803bccc: 10624dd3 .word 0x10624dd3 803bcd0: 51eb851f .word 0x51eb851f 803bcd4: cccccccd .word 0xcccccccd 803bcd8: 000f423f .word 0x000f423f 803bcdc: 3dcccccd .word 0x3dcccccd 803bce0: 3d4ccccd .word 0x3d4ccccd if((menupos >= WaveMax_IDT) && (menupos <= WaveMax_IKD)) 803bce4: 4b9d ldr r3, [pc, #628] ; (803bf5c ) 803bce6: 781b ldrb r3, [r3, #0] 803bce8: b2db uxtb r3, r3 803bcea: 2b09 cmp r3, #9 803bcec: f240 8446 bls.w 803c57c 803bcf0: 4b9a ldr r3, [pc, #616] ; (803bf5c ) 803bcf2: 781b ldrb r3, [r3, #0] 803bcf4: b2db uxtb r3, r3 803bcf6: 2b0f cmp r3, #15 803bcf8: f200 8440 bhi.w 803c57c k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803bcfc: 4b98 ldr r3, [pc, #608] ; (803bf60 ) 803bcfe: edd3 7a06 vldr s15, [r3, #24] 803bd02: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803bd06: ee67 7a87 vmul.f32 s15, s15, s14 803bd0a: eefc 7ae7 vcvt.u32.f32 s15, s15 803bd0e: ee17 3a90 vmov r3, s15 803bd12: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803bd16: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bd1a: 095b lsrs r3, r3, #5 803bd1c: 4a91 ldr r2, [pc, #580] ; (803bf64 ) 803bd1e: fba2 2303 umull r2, r3, r2, r3 803bd22: 09db lsrs r3, r3, #7 803bd24: b2db uxtb r3, r3 803bd26: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803bd2a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bd2e: 0953 lsrs r3, r2, #5 803bd30: 498c ldr r1, [pc, #560] ; (803bf64 ) 803bd32: fba1 1303 umull r1, r3, r1, r3 803bd36: 09db lsrs r3, r3, #7 803bd38: 498b ldr r1, [pc, #556] ; (803bf68 ) 803bd3a: fb01 f303 mul.w r3, r1, r3 803bd3e: 1ad3 subs r3, r2, r3 803bd40: 4a8a ldr r2, [pc, #552] ; (803bf6c ) 803bd42: fba2 2303 umull r2, r3, r2, r3 803bd46: 0b5b lsrs r3, r3, #13 803bd48: b2db uxtb r3, r3 803bd4a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803bd4e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bd52: 0953 lsrs r3, r2, #5 803bd54: 4983 ldr r1, [pc, #524] ; (803bf64 ) 803bd56: fba1 1303 umull r1, r3, r1, r3 803bd5a: 09db lsrs r3, r3, #7 803bd5c: 4982 ldr r1, [pc, #520] ; (803bf68 ) 803bd5e: fb01 f303 mul.w r3, r1, r3 803bd62: 1ad3 subs r3, r2, r3 803bd64: 4a81 ldr r2, [pc, #516] ; (803bf6c ) 803bd66: fba2 1203 umull r1, r2, r2, r3 803bd6a: 0b52 lsrs r2, r2, #13 803bd6c: f242 7110 movw r1, #10000 ; 0x2710 803bd70: fb01 f202 mul.w r2, r1, r2 803bd74: 1a9a subs r2, r3, r2 803bd76: 4b7e ldr r3, [pc, #504] ; (803bf70 ) 803bd78: fba3 2302 umull r2, r3, r3, r2 803bd7c: 099b lsrs r3, r3, #6 803bd7e: b2db uxtb r3, r3 803bd80: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803bd84: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bd88: 095a lsrs r2, r3, #5 803bd8a: 4976 ldr r1, [pc, #472] ; (803bf64 ) 803bd8c: fba1 1202 umull r1, r2, r1, r2 803bd90: 09d2 lsrs r2, r2, #7 803bd92: 4975 ldr r1, [pc, #468] ; (803bf68 ) 803bd94: fb01 f202 mul.w r2, r1, r2 803bd98: 1a9a subs r2, r3, r2 803bd9a: 4b74 ldr r3, [pc, #464] ; (803bf6c ) 803bd9c: fba3 1302 umull r1, r3, r3, r2 803bda0: 0b5b lsrs r3, r3, #13 803bda2: f242 7110 movw r1, #10000 ; 0x2710 803bda6: fb01 f303 mul.w r3, r1, r3 803bdaa: 1ad3 subs r3, r2, r3 803bdac: 4a70 ldr r2, [pc, #448] ; (803bf70 ) 803bdae: fba2 1203 umull r1, r2, r2, r3 803bdb2: 0992 lsrs r2, r2, #6 803bdb4: f44f 717a mov.w r1, #1000 ; 0x3e8 803bdb8: fb01 f202 mul.w r2, r1, r2 803bdbc: 1a9a subs r2, r3, r2 803bdbe: 4b6d ldr r3, [pc, #436] ; (803bf74 ) 803bdc0: fba3 2302 umull r2, r3, r3, r2 803bdc4: 095b lsrs r3, r3, #5 803bdc6: b2db uxtb r3, r3 803bdc8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803bdcc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bdd0: 0953 lsrs r3, r2, #5 803bdd2: 4964 ldr r1, [pc, #400] ; (803bf64 ) 803bdd4: fba1 1303 umull r1, r3, r1, r3 803bdd8: 09db lsrs r3, r3, #7 803bdda: 4963 ldr r1, [pc, #396] ; (803bf68 ) 803bddc: fb01 f303 mul.w r3, r1, r3 803bde0: 1ad3 subs r3, r2, r3 803bde2: 4a62 ldr r2, [pc, #392] ; (803bf6c ) 803bde4: fba2 1203 umull r1, r2, r2, r3 803bde8: 0b52 lsrs r2, r2, #13 803bdea: f242 7110 movw r1, #10000 ; 0x2710 803bdee: fb01 f202 mul.w r2, r1, r2 803bdf2: 1a9a subs r2, r3, r2 803bdf4: 4b5e ldr r3, [pc, #376] ; (803bf70 ) 803bdf6: fba3 1302 umull r1, r3, r3, r2 803bdfa: 099b lsrs r3, r3, #6 803bdfc: f44f 717a mov.w r1, #1000 ; 0x3e8 803be00: fb01 f303 mul.w r3, r1, r3 803be04: 1ad3 subs r3, r2, r3 803be06: 4a5b ldr r2, [pc, #364] ; (803bf74 ) 803be08: fba2 1203 umull r1, r2, r2, r3 803be0c: 0952 lsrs r2, r2, #5 803be0e: 2164 movs r1, #100 ; 0x64 803be10: fb01 f202 mul.w r2, r1, r2 803be14: 1a9a subs r2, r3, r2 803be16: 4b58 ldr r3, [pc, #352] ; (803bf78 ) 803be18: fba3 2302 umull r2, r3, r3, r2 803be1c: 08db lsrs r3, r3, #3 803be1e: b2db uxtb r3, r3 803be20: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803be24: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803be28: 0953 lsrs r3, r2, #5 803be2a: 494e ldr r1, [pc, #312] ; (803bf64 ) 803be2c: fba1 1303 umull r1, r3, r1, r3 803be30: 09db lsrs r3, r3, #7 803be32: 494d ldr r1, [pc, #308] ; (803bf68 ) 803be34: fb01 f303 mul.w r3, r1, r3 803be38: 1ad3 subs r3, r2, r3 803be3a: 4a4c ldr r2, [pc, #304] ; (803bf6c ) 803be3c: fba2 1203 umull r1, r2, r2, r3 803be40: 0b52 lsrs r2, r2, #13 803be42: f242 7110 movw r1, #10000 ; 0x2710 803be46: fb01 f202 mul.w r2, r1, r2 803be4a: 1a9a subs r2, r3, r2 803be4c: 4b48 ldr r3, [pc, #288] ; (803bf70 ) 803be4e: fba3 1302 umull r1, r3, r3, r2 803be52: 099b lsrs r3, r3, #6 803be54: f44f 717a mov.w r1, #1000 ; 0x3e8 803be58: fb01 f303 mul.w r3, r1, r3 803be5c: 1ad3 subs r3, r2, r3 803be5e: 4a45 ldr r2, [pc, #276] ; (803bf74 ) 803be60: fba2 1203 umull r1, r2, r2, r3 803be64: 0952 lsrs r2, r2, #5 803be66: 2164 movs r1, #100 ; 0x64 803be68: fb01 f202 mul.w r2, r1, r2 803be6c: 1a9a subs r2, r3, r2 803be6e: 4b42 ldr r3, [pc, #264] ; (803bf78 ) 803be70: fba3 1302 umull r1, r3, r3, r2 803be74: 08d9 lsrs r1, r3, #3 803be76: 460b mov r3, r1 803be78: 009b lsls r3, r3, #2 803be7a: 440b add r3, r1 803be7c: 005b lsls r3, r3, #1 803be7e: 1ad1 subs r1, r2, r3 803be80: b2cb uxtb r3, r1 803be82: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803be86: 4b35 ldr r3, [pc, #212] ; (803bf5c ) 803be88: 781b ldrb r3, [r3, #0] 803be8a: b2db uxtb r3, r3 803be8c: 3b0a subs r3, #10 803be8e: 2b05 cmp r3, #5 803be90: d836 bhi.n 803bf00 803be92: a201 add r2, pc, #4 ; (adr r2, 803be98 ) 803be94: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803be98: 0803beb1 .word 0x0803beb1 803be9c: 0803bebf .word 0x0803bebf 803bea0: 0803becf .word 0x0803becf 803bea4: 0803bedd .word 0x0803bedd 803bea8: 0803bee9 .word 0x0803bee9 803beac: 0803bef5 .word 0x0803bef5 k += 100000; 803beb0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803beb4: 4b2c ldr r3, [pc, #176] ; (803bf68 ) 803beb6: 4413 add r3, r2 803beb8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bebc: e020 b.n 803bf00 k += 10000; 803bebe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bec2: f242 7310 movw r3, #10000 ; 0x2710 803bec6: 4413 add r3, r2 803bec8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803becc: e018 b.n 803bf00 k += 1000; 803bece: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bed2: f503 737a add.w r3, r3, #1000 ; 0x3e8 803bed6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803beda: e011 b.n 803bf00 k += 100; 803bedc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bee0: 3364 adds r3, #100 ; 0x64 803bee2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bee6: e00b b.n 803bf00 k += 10; 803bee8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803beec: 330a adds r3, #10 803beee: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803bef2: e005 b.n 803bf00 k++; 803bef4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bef8: 3301 adds r3, #1 803befa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803befe: bf00 nop if(k > 999999) k = 999999; 803bf00: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bf04: 4a1d ldr r2, [pc, #116] ; (803bf7c ) 803bf06: 4293 cmp r3, r2 803bf08: d902 bls.n 803bf10 803bf0a: 4b1c ldr r3, [pc, #112] ; (803bf7c ) 803bf0c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803bf10: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bf14: 2b00 cmp r3, #0 803bf16: d102 bne.n 803bf1e 803bf18: 2301 movs r3, #1 803bf1a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803bf1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bf22: ee07 3a90 vmov s15, r3 803bf26: eef8 7a67 vcvt.f32.u32 s15, s15 803bf2a: 4b0d ldr r3, [pc, #52] ; (803bf60 ) 803bf2c: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803bf30: 4b0b ldr r3, [pc, #44] ; (803bf60 ) 803bf32: edd3 7a06 vldr s15, [r3, #24] 803bf36: ed9f 7a12 vldr s14, [pc, #72] ; 803bf80 803bf3a: ee67 7a87 vmul.f32 s15, s15, s14 803bf3e: 4b08 ldr r3, [pc, #32] ; (803bf60 ) 803bf40: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803bf44: 4b06 ldr r3, [pc, #24] ; (803bf60 ) 803bf46: edd3 7a06 vldr s15, [r3, #24] 803bf4a: ed9f 7a0e vldr s14, [pc, #56] ; 803bf84 803bf4e: ee77 7a87 vadd.f32 s15, s15, s14 803bf52: 4b03 ldr r3, [pc, #12] ; (803bf60 ) 803bf54: edc3 7a06 vstr s15, [r3, #24] break; 803bf58: e310 b.n 803c57c 803bf5a: bf00 nop 803bf5c: 20020070 .word 0x20020070 803bf60: 20023ea8 .word 0x20023ea8 803bf64: 0a7c5ac5 .word 0x0a7c5ac5 803bf68: 000186a0 .word 0x000186a0 803bf6c: d1b71759 .word 0xd1b71759 803bf70: 10624dd3 .word 0x10624dd3 803bf74: 51eb851f .word 0x51eb851f 803bf78: cccccccd .word 0xcccccccd 803bf7c: 000f423f .word 0x000f423f 803bf80: 3dcccccd .word 0x3dcccccd 803bf84: 3d4ccccd .word 0x3d4ccccd case SETTINGS: focused = false; 803bf88: 4bcb ldr r3, [pc, #812] ; (803c2b8 ) 803bf8a: 2200 movs r2, #0 803bf8c: 701a strb r2, [r3, #0] if(menupos >= Ies) 803bf8e: 4bcb ldr r3, [pc, #812] ; (803c2bc ) 803bf90: 781b ldrb r3, [r3, #0] 803bf92: b2db uxtb r3, r3 803bf94: 2b0c cmp r3, #12 803bf96: f240 8130 bls.w 803c1fa { k = (uint32_t) (pardata.IKK * 1000.0f); 803bf9a: 4bc9 ldr r3, [pc, #804] ; (803c2c0 ) 803bf9c: edd3 7a04 vldr s15, [r3, #16] 803bfa0: ed9f 7ac8 vldr s14, [pc, #800] ; 803c2c4 803bfa4: ee67 7a87 vmul.f32 s15, s15, s14 803bfa8: eefc 7ae7 vcvt.u32.f32 s15, s15 803bfac: ee17 3a90 vmov r3, s15 803bfb0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803bfb4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bfb8: 095b lsrs r3, r3, #5 803bfba: 4ac3 ldr r2, [pc, #780] ; (803c2c8 ) 803bfbc: fba2 2303 umull r2, r3, r2, r3 803bfc0: 09db lsrs r3, r3, #7 803bfc2: b2db uxtb r3, r3 803bfc4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803bfc8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bfcc: 0953 lsrs r3, r2, #5 803bfce: 49be ldr r1, [pc, #760] ; (803c2c8 ) 803bfd0: fba1 1303 umull r1, r3, r1, r3 803bfd4: 09db lsrs r3, r3, #7 803bfd6: 49bd ldr r1, [pc, #756] ; (803c2cc ) 803bfd8: fb01 f303 mul.w r3, r1, r3 803bfdc: 1ad3 subs r3, r2, r3 803bfde: 4abc ldr r2, [pc, #752] ; (803c2d0 ) 803bfe0: fba2 2303 umull r2, r3, r2, r3 803bfe4: 0b5b lsrs r3, r3, #13 803bfe6: b2db uxtb r3, r3 803bfe8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803bfec: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803bff0: 0953 lsrs r3, r2, #5 803bff2: 49b5 ldr r1, [pc, #724] ; (803c2c8 ) 803bff4: fba1 1303 umull r1, r3, r1, r3 803bff8: 09db lsrs r3, r3, #7 803bffa: 49b4 ldr r1, [pc, #720] ; (803c2cc ) 803bffc: fb01 f303 mul.w r3, r1, r3 803c000: 1ad3 subs r3, r2, r3 803c002: 4ab3 ldr r2, [pc, #716] ; (803c2d0 ) 803c004: fba2 1203 umull r1, r2, r2, r3 803c008: 0b52 lsrs r2, r2, #13 803c00a: f242 7110 movw r1, #10000 ; 0x2710 803c00e: fb01 f202 mul.w r2, r1, r2 803c012: 1a9a subs r2, r3, r2 803c014: 4baf ldr r3, [pc, #700] ; (803c2d4 ) 803c016: fba3 2302 umull r2, r3, r3, r2 803c01a: 099b lsrs r3, r3, #6 803c01c: b2db uxtb r3, r3 803c01e: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803c022: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c026: 095a lsrs r2, r3, #5 803c028: 49a7 ldr r1, [pc, #668] ; (803c2c8 ) 803c02a: fba1 1202 umull r1, r2, r1, r2 803c02e: 09d2 lsrs r2, r2, #7 803c030: 49a6 ldr r1, [pc, #664] ; (803c2cc ) 803c032: fb01 f202 mul.w r2, r1, r2 803c036: 1a9a subs r2, r3, r2 803c038: 4ba5 ldr r3, [pc, #660] ; (803c2d0 ) 803c03a: fba3 1302 umull r1, r3, r3, r2 803c03e: 0b5b lsrs r3, r3, #13 803c040: f242 7110 movw r1, #10000 ; 0x2710 803c044: fb01 f303 mul.w r3, r1, r3 803c048: 1ad3 subs r3, r2, r3 803c04a: 4aa2 ldr r2, [pc, #648] ; (803c2d4 ) 803c04c: fba2 1203 umull r1, r2, r2, r3 803c050: 0992 lsrs r2, r2, #6 803c052: f44f 717a mov.w r1, #1000 ; 0x3e8 803c056: fb01 f202 mul.w r2, r1, r2 803c05a: 1a9a subs r2, r3, r2 803c05c: 4b9e ldr r3, [pc, #632] ; (803c2d8 ) 803c05e: fba3 2302 umull r2, r3, r3, r2 803c062: 095b lsrs r3, r3, #5 803c064: b2db uxtb r3, r3 803c066: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803c06a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c06e: 0953 lsrs r3, r2, #5 803c070: 4995 ldr r1, [pc, #596] ; (803c2c8 ) 803c072: fba1 1303 umull r1, r3, r1, r3 803c076: 09db lsrs r3, r3, #7 803c078: 4994 ldr r1, [pc, #592] ; (803c2cc ) 803c07a: fb01 f303 mul.w r3, r1, r3 803c07e: 1ad3 subs r3, r2, r3 803c080: 4a93 ldr r2, [pc, #588] ; (803c2d0 ) 803c082: fba2 1203 umull r1, r2, r2, r3 803c086: 0b52 lsrs r2, r2, #13 803c088: f242 7110 movw r1, #10000 ; 0x2710 803c08c: fb01 f202 mul.w r2, r1, r2 803c090: 1a9a subs r2, r3, r2 803c092: 4b90 ldr r3, [pc, #576] ; (803c2d4 ) 803c094: fba3 1302 umull r1, r3, r3, r2 803c098: 099b lsrs r3, r3, #6 803c09a: f44f 717a mov.w r1, #1000 ; 0x3e8 803c09e: fb01 f303 mul.w r3, r1, r3 803c0a2: 1ad3 subs r3, r2, r3 803c0a4: 4a8c ldr r2, [pc, #560] ; (803c2d8 ) 803c0a6: fba2 1203 umull r1, r2, r2, r3 803c0aa: 0952 lsrs r2, r2, #5 803c0ac: 2164 movs r1, #100 ; 0x64 803c0ae: fb01 f202 mul.w r2, r1, r2 803c0b2: 1a9a subs r2, r3, r2 803c0b4: 4b89 ldr r3, [pc, #548] ; (803c2dc ) 803c0b6: fba3 2302 umull r2, r3, r3, r2 803c0ba: 08db lsrs r3, r3, #3 803c0bc: b2db uxtb r3, r3 803c0be: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803c0c2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c0c6: 0953 lsrs r3, r2, #5 803c0c8: 497f ldr r1, [pc, #508] ; (803c2c8 ) 803c0ca: fba1 1303 umull r1, r3, r1, r3 803c0ce: 09db lsrs r3, r3, #7 803c0d0: 497e ldr r1, [pc, #504] ; (803c2cc ) 803c0d2: fb01 f303 mul.w r3, r1, r3 803c0d6: 1ad3 subs r3, r2, r3 803c0d8: 4a7d ldr r2, [pc, #500] ; (803c2d0 ) 803c0da: fba2 1203 umull r1, r2, r2, r3 803c0de: 0b52 lsrs r2, r2, #13 803c0e0: f242 7110 movw r1, #10000 ; 0x2710 803c0e4: fb01 f202 mul.w r2, r1, r2 803c0e8: 1a9a subs r2, r3, r2 803c0ea: 4b7a ldr r3, [pc, #488] ; (803c2d4 ) 803c0ec: fba3 1302 umull r1, r3, r3, r2 803c0f0: 099b lsrs r3, r3, #6 803c0f2: f44f 717a mov.w r1, #1000 ; 0x3e8 803c0f6: fb01 f303 mul.w r3, r1, r3 803c0fa: 1ad3 subs r3, r2, r3 803c0fc: 4a76 ldr r2, [pc, #472] ; (803c2d8 ) 803c0fe: fba2 1203 umull r1, r2, r2, r3 803c102: 0952 lsrs r2, r2, #5 803c104: 2164 movs r1, #100 ; 0x64 803c106: fb01 f202 mul.w r2, r1, r2 803c10a: 1a9a subs r2, r3, r2 803c10c: 4b73 ldr r3, [pc, #460] ; (803c2dc ) 803c10e: fba3 1302 umull r1, r3, r3, r2 803c112: 08d9 lsrs r1, r3, #3 803c114: 460b mov r3, r1 803c116: 009b lsls r3, r3, #2 803c118: 440b add r3, r1 803c11a: 005b lsls r3, r3, #1 803c11c: 1ad1 subs r1, r2, r3 803c11e: b2cb uxtb r3, r1 803c120: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803c124: 4b65 ldr r3, [pc, #404] ; (803c2bc ) 803c126: 781b ldrb r3, [r3, #0] 803c128: b2db uxtb r3, r3 803c12a: 3b0d subs r3, #13 803c12c: 2b05 cmp r3, #5 803c12e: d837 bhi.n 803c1a0 803c130: a201 add r2, pc, #4 ; (adr r2, 803c138 ) 803c132: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803c136: bf00 nop 803c138: 0803c151 .word 0x0803c151 803c13c: 0803c15f .word 0x0803c15f 803c140: 0803c16f .word 0x0803c16f 803c144: 0803c17d .word 0x0803c17d 803c148: 0803c189 .word 0x0803c189 803c14c: 0803c195 .word 0x0803c195 { case Ies: k += 100000; 803c150: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c154: 4b5d ldr r3, [pc, #372] ; (803c2cc ) 803c156: 4413 add r3, r2 803c158: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c15c: e020 b.n 803c1a0 case Ied: k += 10000; 803c15e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c162: f242 7310 movw r3, #10000 ; 0x2710 803c166: 4413 add r3, r2 803c168: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c16c: e018 b.n 803c1a0 case Iee: k += 1000; 803c16e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c172: f503 737a add.w r3, r3, #1000 ; 0x3e8 803c176: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c17a: e011 b.n 803c1a0 case Ikd: k += 100; 803c17c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c180: 3364 adds r3, #100 ; 0x64 803c182: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c186: e00b b.n 803c1a0 case Iks: k += 10; 803c188: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c18c: 330a adds r3, #10 803c18e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c192: e005 b.n 803c1a0 case Ikt: k++; 803c194: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c198: 3301 adds r3, #1 803c19a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c19e: bf00 nop } if(k > 999999) k = 999999; 803c1a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c1a4: 4a4e ldr r2, [pc, #312] ; (803c2e0 ) 803c1a6: 4293 cmp r3, r2 803c1a8: d902 bls.n 803c1b0 803c1aa: 4b4d ldr r3, [pc, #308] ; (803c2e0 ) 803c1ac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803c1b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c1b4: 2b00 cmp r3, #0 803c1b6: d102 bne.n 803c1be 803c1b8: 2301 movs r3, #1 803c1ba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.IKK = (float32_t) k; 803c1be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c1c2: ee07 3a90 vmov s15, r3 803c1c6: eef8 7a67 vcvt.f32.u32 s15, s15 803c1ca: 4b3d ldr r3, [pc, #244] ; (803c2c0 ) 803c1cc: edc3 7a04 vstr s15, [r3, #16] pardata.IKK *= 0.001f; 803c1d0: 4b3b ldr r3, [pc, #236] ; (803c2c0 ) 803c1d2: edd3 7a04 vldr s15, [r3, #16] 803c1d6: ed9f 7a43 vldr s14, [pc, #268] ; 803c2e4 803c1da: ee67 7a87 vmul.f32 s15, s15, s14 803c1de: 4b38 ldr r3, [pc, #224] ; (803c2c0 ) 803c1e0: edc3 7a04 vstr s15, [r3, #16] pardata.IKK += 0.0005f; 803c1e4: 4b36 ldr r3, [pc, #216] ; (803c2c0 ) 803c1e6: edd3 7a04 vldr s15, [r3, #16] 803c1ea: ed9f 7a3f vldr s14, [pc, #252] ; 803c2e8 803c1ee: ee77 7a87 vadd.f32 s15, s15, s14 803c1f2: 4b33 ldr r3, [pc, #204] ; (803c2c0 ) 803c1f4: edc3 7a04 vstr s15, [r3, #16] #endif #endif #endif } break; 803c1f8: e1c3 b.n 803c582 focused = false; 803c1fa: 4b2f ldr r3, [pc, #188] ; (803c2b8 ) 803c1fc: 2200 movs r2, #0 803c1fe: 701a strb r2, [r3, #0] if(menupos == Type) menupos = Temper; 803c200: 4b2e ldr r3, [pc, #184] ; (803c2bc ) 803c202: 781b ldrb r3, [r3, #0] 803c204: b2db uxtb r3, r3 803c206: 2b01 cmp r3, #1 803c208: d103 bne.n 803c212 803c20a: 4b2c ldr r3, [pc, #176] ; (803c2bc ) 803c20c: 2207 movs r2, #7 803c20e: 701a strb r2, [r3, #0] break; 803c210: e1b7 b.n 803c582 else if(menupos == Temper) menupos = FormatDisk; 803c212: 4b2a ldr r3, [pc, #168] ; (803c2bc ) 803c214: 781b ldrb r3, [r3, #0] 803c216: b2db uxtb r3, r3 803c218: 2b07 cmp r3, #7 803c21a: d103 bne.n 803c224 803c21c: 4b27 ldr r3, [pc, #156] ; (803c2bc ) 803c21e: 2205 movs r2, #5 803c220: 701a strb r2, [r3, #0] break; 803c222: e1ae b.n 803c582 else if(menupos == FormatDisk) menupos = DateTime; 803c224: 4b25 ldr r3, [pc, #148] ; (803c2bc ) 803c226: 781b ldrb r3, [r3, #0] 803c228: b2db uxtb r3, r3 803c22a: 2b05 cmp r3, #5 803c22c: d103 bne.n 803c236 803c22e: 4b23 ldr r3, [pc, #140] ; (803c2bc ) 803c230: 2204 movs r2, #4 803c232: 701a strb r2, [r3, #0] break; 803c234: e1a5 b.n 803c582 else if(menupos == DateTime) menupos = Lang; 803c236: 4b21 ldr r3, [pc, #132] ; (803c2bc ) 803c238: 781b ldrb r3, [r3, #0] 803c23a: b2db uxtb r3, r3 803c23c: 2b04 cmp r3, #4 803c23e: d103 bne.n 803c248 803c240: 4b1e ldr r3, [pc, #120] ; (803c2bc ) 803c242: 2203 movs r2, #3 803c244: 701a strb r2, [r3, #0] break; 803c246: e19c b.n 803c582 else if(menupos == Lang) menupos = Sens; 803c248: 4b1c ldr r3, [pc, #112] ; (803c2bc ) 803c24a: 781b ldrb r3, [r3, #0] 803c24c: b2db uxtb r3, r3 803c24e: 2b03 cmp r3, #3 803c250: d103 bne.n 803c25a 803c252: 4b1a ldr r3, [pc, #104] ; (803c2bc ) 803c254: 2202 movs r2, #2 803c256: 701a strb r2, [r3, #0] break; 803c258: e193 b.n 803c582 else if(menupos == Sens) menupos = Type; 803c25a: 4b18 ldr r3, [pc, #96] ; (803c2bc ) 803c25c: 781b ldrb r3, [r3, #0] 803c25e: b2db uxtb r3, r3 803c260: 2b02 cmp r3, #2 803c262: f040 818e bne.w 803c582 803c266: 4b15 ldr r3, [pc, #84] ; (803c2bc ) 803c268: 2201 movs r2, #1 803c26a: 701a strb r2, [r3, #0] break; 803c26c: e189 b.n 803c582 case DATETIME: if(menupos > TimeAll) 803c26e: 4b13 ldr r3, [pc, #76] ; (803c2bc ) 803c270: 781b ldrb r3, [r3, #0] 803c272: b2db uxtb r3, r3 803c274: 2b02 cmp r3, #2 803c276: d94a bls.n 803c30e { switch(menupos) 803c278: 4b10 ldr r3, [pc, #64] ; (803c2bc ) 803c27a: 781b ldrb r3, [r3, #0] 803c27c: b2db uxtb r3, r3 803c27e: 3b03 subs r3, #3 803c280: 2b04 cmp r3, #4 803c282: f200 8181 bhi.w 803c588 803c286: a201 add r2, pc, #4 ; (adr r2, 803c28c ) 803c288: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803c28c: 0803c2a1 .word 0x0803c2a1 803c290: 0803c2ad .word 0x0803c2ad 803c294: 0803c2ed .word 0x0803c2ed 803c298: 0803c2f9 .word 0x0803c2f9 803c29c: 0803c303 .word 0x0803c303 { case DateD: ChangeDate(+1, 0, 0); break; 803c2a0: 2200 movs r2, #0 803c2a2: 2100 movs r1, #0 803c2a4: 2001 movs r0, #1 803c2a6: f02c f949 bl 806853c 803c2aa: e041 b.n 803c330 case DateM: ChangeDate(0, +1, 0); break; 803c2ac: 2200 movs r2, #0 803c2ae: 2101 movs r1, #1 803c2b0: 2000 movs r0, #0 803c2b2: f02c f943 bl 806853c 803c2b6: e03b b.n 803c330 803c2b8: 20020fc8 .word 0x20020fc8 803c2bc: 20020070 .word 0x20020070 803c2c0: 20023ea8 .word 0x20023ea8 803c2c4: 447a0000 .word 0x447a0000 803c2c8: 0a7c5ac5 .word 0x0a7c5ac5 803c2cc: 000186a0 .word 0x000186a0 803c2d0: d1b71759 .word 0xd1b71759 803c2d4: 10624dd3 .word 0x10624dd3 803c2d8: 51eb851f .word 0x51eb851f 803c2dc: cccccccd .word 0xcccccccd 803c2e0: 000f423f .word 0x000f423f 803c2e4: 3a83126f .word 0x3a83126f 803c2e8: 3a03126f .word 0x3a03126f case DateY: ChangeDate(0, 0, +1); break; 803c2ec: 2201 movs r2, #1 803c2ee: 2100 movs r1, #0 803c2f0: 2000 movs r0, #0 803c2f2: f02c f923 bl 806853c 803c2f6: e01b b.n 803c330 case TimeH: ChangeTime(+1, 0); break; 803c2f8: 2100 movs r1, #0 803c2fa: 2001 movs r0, #1 803c2fc: f02c f8b4 bl 8068468 803c300: e016 b.n 803c330 case TimeM: ChangeTime(0, +1); break; 803c302: 2101 movs r1, #1 803c304: 2000 movs r0, #0 803c306: f02c f8af bl 8068468 803c30a: bf00 nop 803c30c: e010 b.n 803c330 } } else { if(menupos > DateAll) menupos--; 803c30e: 4ba9 ldr r3, [pc, #676] ; (803c5b4 ) 803c310: 781b ldrb r3, [r3, #0] 803c312: b2db uxtb r3, r3 803c314: 2b01 cmp r3, #1 803c316: d907 bls.n 803c328 803c318: 4ba6 ldr r3, [pc, #664] ; (803c5b4 ) 803c31a: 781b ldrb r3, [r3, #0] 803c31c: b2db uxtb r3, r3 803c31e: 3b01 subs r3, #1 803c320: b2da uxtb r2, r3 803c322: 4ba4 ldr r3, [pc, #656] ; (803c5b4 ) 803c324: 701a strb r2, [r3, #0] else menupos = TimeAll; } break; 803c326: e12f b.n 803c588 else menupos = TimeAll; 803c328: 4ba2 ldr r3, [pc, #648] ; (803c5b4 ) 803c32a: 2202 movs r2, #2 803c32c: 701a strb r2, [r3, #0] break; 803c32e: e12b b.n 803c588 803c330: e12a b.n 803c588 case CLEAN_FILES: if(menupos == FilesPTM) 803c332: 4ba0 ldr r3, [pc, #640] ; (803c5b4 ) 803c334: 781b ldrb r3, [r3, #0] 803c336: b2db uxtb r3, r3 803c338: 2b02 cmp r3, #2 803c33a: f040 8128 bne.w 803c58e { if(CursorIndex > 0) 803c33e: 4b9e ldr r3, [pc, #632] ; (803c5b8 ) 803c340: 681b ldr r3, [r3, #0] 803c342: 2b00 cmp r3, #0 803c344: d005 beq.n 803c352 CursorIndex--; 803c346: 4b9c ldr r3, [pc, #624] ; (803c5b8 ) 803c348: 681b ldr r3, [r3, #0] 803c34a: 3b01 subs r3, #1 803c34c: 4a9a ldr r2, [pc, #616] ; (803c5b8 ) 803c34e: 6013 str r3, [r2, #0] 803c350: e010 b.n 803c374 else { if(FirstFileIndex > 0) 803c352: 4b9a ldr r3, [pc, #616] ; (803c5bc ) 803c354: 681b ldr r3, [r3, #0] 803c356: 2b00 cmp r3, #0 803c358: d00c beq.n 803c374 { FirstFileIndex--; 803c35a: 4b98 ldr r3, [pc, #608] ; (803c5bc ) 803c35c: 681b ldr r3, [r3, #0] 803c35e: 3b01 subs r3, #1 803c360: 4a96 ldr r2, [pc, #600] ; (803c5bc ) 803c362: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 803c364: 4b95 ldr r3, [pc, #596] ; (803c5bc ) 803c366: 681b ldr r3, [r3, #0] 803c368: 4618 mov r0, r3 803c36a: f7ee fbc1 bl 802aaf0 803c36e: 4603 mov r3, r0 803c370: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803c374: 4b91 ldr r3, [pc, #580] ; (803c5bc ) 803c376: 681a ldr r2, [r3, #0] 803c378: 4b8f ldr r3, [pc, #572] ; (803c5b8 ) 803c37a: 681b ldr r3, [r3, #0] 803c37c: 4413 add r3, r2 803c37e: 4a90 ldr r2, [pc, #576] ; (803c5c0 ) 803c380: 6013 str r3, [r2, #0] } break; 803c382: e104 b.n 803c58e } break;*/ case ARCHIVE: if(menupos > Ok) menupos--; 803c384: 4b8b ldr r3, [pc, #556] ; (803c5b4 ) 803c386: 781b ldrb r3, [r3, #0] 803c388: b2db uxtb r3, r3 803c38a: 2b00 cmp r3, #0 803c38c: d007 beq.n 803c39e 803c38e: 4b89 ldr r3, [pc, #548] ; (803c5b4 ) 803c390: 781b ldrb r3, [r3, #0] 803c392: b2db uxtb r3, r3 803c394: 3b01 subs r3, #1 803c396: b2da uxtb r2, r3 803c398: 4b86 ldr r3, [pc, #536] ; (803c5b4 ) 803c39a: 701a strb r2, [r3, #0] else menupos = ArchiveWave; break; 803c39c: e107 b.n 803c5ae else menupos = ArchiveWave; 803c39e: 4b85 ldr r3, [pc, #532] ; (803c5b4 ) 803c3a0: 2202 movs r2, #2 803c3a2: 701a strb r2, [r3, #0] break; 803c3a4: e103 b.n 803c5ae case ARCHIVE_SPEC: if(menupos == FilesSPEC) 803c3a6: 4b83 ldr r3, [pc, #524] ; (803c5b4 ) 803c3a8: 781b ldrb r3, [r3, #0] 803c3aa: b2db uxtb r3, r3 803c3ac: 2b02 cmp r3, #2 803c3ae: f040 80f1 bne.w 803c594 { if(CursorIndex > 0) 803c3b2: 4b81 ldr r3, [pc, #516] ; (803c5b8 ) 803c3b4: 681b ldr r3, [r3, #0] 803c3b6: 2b00 cmp r3, #0 803c3b8: d005 beq.n 803c3c6 CursorIndex--; 803c3ba: 4b7f ldr r3, [pc, #508] ; (803c5b8 ) 803c3bc: 681b ldr r3, [r3, #0] 803c3be: 3b01 subs r3, #1 803c3c0: 4a7d ldr r2, [pc, #500] ; (803c5b8 ) 803c3c2: 6013 str r3, [r2, #0] 803c3c4: e010 b.n 803c3e8 else { if(FirstFileIndex > 0) 803c3c6: 4b7d ldr r3, [pc, #500] ; (803c5bc ) 803c3c8: 681b ldr r3, [r3, #0] 803c3ca: 2b00 cmp r3, #0 803c3cc: d00c beq.n 803c3e8 { FirstFileIndex--; 803c3ce: 4b7b ldr r3, [pc, #492] ; (803c5bc ) 803c3d0: 681b ldr r3, [r3, #0] 803c3d2: 3b01 subs r3, #1 803c3d4: 4a79 ldr r2, [pc, #484] ; (803c5bc ) 803c3d6: 6013 str r3, [r2, #0] result = ReadMyFilesSPEC(FirstFileIndex); 803c3d8: 4b78 ldr r3, [pc, #480] ; (803c5bc ) 803c3da: 681b ldr r3, [r3, #0] 803c3dc: 4618 mov r0, r3 803c3de: f7ee fba1 bl 802ab24 803c3e2: 4603 mov r3, r0 803c3e4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803c3e8: 4b74 ldr r3, [pc, #464] ; (803c5bc ) 803c3ea: 681a ldr r2, [r3, #0] 803c3ec: 4b72 ldr r3, [pc, #456] ; (803c5b8 ) 803c3ee: 681b ldr r3, [r3, #0] 803c3f0: 4413 add r3, r2 803c3f2: 4a73 ldr r2, [pc, #460] ; (803c5c0 ) 803c3f4: 6013 str r3, [r2, #0] } break; 803c3f6: e0cd b.n 803c594 case ARCHIVE_FRAN: if(menupos == FilesFRAN) 803c3f8: 4b6e ldr r3, [pc, #440] ; (803c5b4 ) 803c3fa: 781b ldrb r3, [r3, #0] 803c3fc: b2db uxtb r3, r3 803c3fe: 2b02 cmp r3, #2 803c400: f040 80cb bne.w 803c59a { if(CursorIndex > 0) 803c404: 4b6c ldr r3, [pc, #432] ; (803c5b8 ) 803c406: 681b ldr r3, [r3, #0] 803c408: 2b00 cmp r3, #0 803c40a: d005 beq.n 803c418 CursorIndex--; 803c40c: 4b6a ldr r3, [pc, #424] ; (803c5b8 ) 803c40e: 681b ldr r3, [r3, #0] 803c410: 3b01 subs r3, #1 803c412: 4a69 ldr r2, [pc, #420] ; (803c5b8 ) 803c414: 6013 str r3, [r2, #0] 803c416: e010 b.n 803c43a else { if(FirstFileIndex > 0) 803c418: 4b68 ldr r3, [pc, #416] ; (803c5bc ) 803c41a: 681b ldr r3, [r3, #0] 803c41c: 2b00 cmp r3, #0 803c41e: d00c beq.n 803c43a { FirstFileIndex--; 803c420: 4b66 ldr r3, [pc, #408] ; (803c5bc ) 803c422: 681b ldr r3, [r3, #0] 803c424: 3b01 subs r3, #1 803c426: 4a65 ldr r2, [pc, #404] ; (803c5bc ) 803c428: 6013 str r3, [r2, #0] result = ReadMyFilesFRAN(FirstFileIndex); 803c42a: 4b64 ldr r3, [pc, #400] ; (803c5bc ) 803c42c: 681b ldr r3, [r3, #0] 803c42e: 4618 mov r0, r3 803c430: f7ee fb85 bl 802ab3e 803c434: 4603 mov r3, r0 803c436: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803c43a: 4b60 ldr r3, [pc, #384] ; (803c5bc ) 803c43c: 681a ldr r2, [r3, #0] 803c43e: 4b5e ldr r3, [pc, #376] ; (803c5b8 ) 803c440: 681b ldr r3, [r3, #0] 803c442: 4413 add r3, r2 803c444: 4a5e ldr r2, [pc, #376] ; (803c5c0 ) 803c446: 6013 str r3, [r2, #0] } break; 803c448: e0a7 b.n 803c59a case ARCHIVE_WAVE: if(menupos == FilesGTR) 803c44a: 4b5a ldr r3, [pc, #360] ; (803c5b4 ) 803c44c: 781b ldrb r3, [r3, #0] 803c44e: b2db uxtb r3, r3 803c450: 2b02 cmp r3, #2 803c452: f040 80a5 bne.w 803c5a0 { if(CursorIndex > 0) 803c456: 4b58 ldr r3, [pc, #352] ; (803c5b8 ) 803c458: 681b ldr r3, [r3, #0] 803c45a: 2b00 cmp r3, #0 803c45c: d005 beq.n 803c46a CursorIndex--; 803c45e: 4b56 ldr r3, [pc, #344] ; (803c5b8 ) 803c460: 681b ldr r3, [r3, #0] 803c462: 3b01 subs r3, #1 803c464: 4a54 ldr r2, [pc, #336] ; (803c5b8 ) 803c466: 6013 str r3, [r2, #0] 803c468: e010 b.n 803c48c else { if(FirstFileIndex > 0) 803c46a: 4b54 ldr r3, [pc, #336] ; (803c5bc ) 803c46c: 681b ldr r3, [r3, #0] 803c46e: 2b00 cmp r3, #0 803c470: d00c beq.n 803c48c { FirstFileIndex--; 803c472: 4b52 ldr r3, [pc, #328] ; (803c5bc ) 803c474: 681b ldr r3, [r3, #0] 803c476: 3b01 subs r3, #1 803c478: 4a50 ldr r2, [pc, #320] ; (803c5bc ) 803c47a: 6013 str r3, [r2, #0] result = ReadMyFilesGTR(FirstFileIndex); 803c47c: 4b4f ldr r3, [pc, #316] ; (803c5bc ) 803c47e: 681b ldr r3, [r3, #0] 803c480: 4618 mov r0, r3 803c482: f7ee fb69 bl 802ab58 803c486: 4603 mov r3, r0 803c488: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803c48c: 4b4b ldr r3, [pc, #300] ; (803c5bc ) 803c48e: 681a ldr r2, [r3, #0] 803c490: 4b49 ldr r3, [pc, #292] ; (803c5b8 ) 803c492: 681b ldr r3, [r3, #0] 803c494: 4413 add r3, r2 803c496: 4a4a ldr r2, [pc, #296] ; (803c5c0 ) 803c498: 6013 str r3, [r2, #0] } break; 803c49a: e081 b.n 803c5a0 case ROUTE: if(menupos == FilesCSV) 803c49c: 4b45 ldr r3, [pc, #276] ; (803c5b4 ) 803c49e: 781b ldrb r3, [r3, #0] 803c4a0: b2db uxtb r3, r3 803c4a2: 2b02 cmp r3, #2 803c4a4: d17f bne.n 803c5a6 { if(CursorIndex > 0) 803c4a6: 4b44 ldr r3, [pc, #272] ; (803c5b8 ) 803c4a8: 681b ldr r3, [r3, #0] 803c4aa: 2b00 cmp r3, #0 803c4ac: d005 beq.n 803c4ba CursorIndex--; 803c4ae: 4b42 ldr r3, [pc, #264] ; (803c5b8 ) 803c4b0: 681b ldr r3, [r3, #0] 803c4b2: 3b01 subs r3, #1 803c4b4: 4a40 ldr r2, [pc, #256] ; (803c5b8 ) 803c4b6: 6013 str r3, [r2, #0] 803c4b8: e010 b.n 803c4dc else { if(FirstFileIndex > 0) 803c4ba: 4b40 ldr r3, [pc, #256] ; (803c5bc ) 803c4bc: 681b ldr r3, [r3, #0] 803c4be: 2b00 cmp r3, #0 803c4c0: d00c beq.n 803c4dc { FirstFileIndex--; 803c4c2: 4b3e ldr r3, [pc, #248] ; (803c5bc ) 803c4c4: 681b ldr r3, [r3, #0] 803c4c6: 3b01 subs r3, #1 803c4c8: 4a3c ldr r2, [pc, #240] ; (803c5bc ) 803c4ca: 6013 str r3, [r2, #0] result = ReadMyFilesCSV(FirstFileIndex); 803c4cc: 4b3b ldr r3, [pc, #236] ; (803c5bc ) 803c4ce: 681b ldr r3, [r3, #0] 803c4d0: 4618 mov r0, r3 803c4d2: f7ee fb4e bl 802ab72 803c4d6: 4603 mov r3, r0 803c4d8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803c4dc: 4b37 ldr r3, [pc, #220] ; (803c5bc ) 803c4de: 681a ldr r2, [r3, #0] 803c4e0: 4b35 ldr r3, [pc, #212] ; (803c5b8 ) 803c4e2: 681b ldr r3, [r3, #0] 803c4e4: 4413 add r3, r2 803c4e6: 4a36 ldr r2, [pc, #216] ; (803c5c0 ) 803c4e8: 6013 str r3, [r2, #0] } break; 803c4ea: e05c b.n 803c5a6 case CALIBR_00: if(Serial[menupos] < 0x39) 803c4ec: 4b31 ldr r3, [pc, #196] ; (803c5b4 ) 803c4ee: 781b ldrb r3, [r3, #0] 803c4f0: b2db uxtb r3, r3 803c4f2: 461a mov r2, r3 803c4f4: 4b33 ldr r3, [pc, #204] ; (803c5c4 ) 803c4f6: 5c9b ldrb r3, [r3, r2] 803c4f8: 2b38 cmp r3, #56 ; 0x38 803c4fa: d857 bhi.n 803c5ac Serial[menupos]++; 803c4fc: 4b2d ldr r3, [pc, #180] ; (803c5b4 ) 803c4fe: 781b ldrb r3, [r3, #0] 803c500: b2db uxtb r3, r3 803c502: 4a30 ldr r2, [pc, #192] ; (803c5c4 ) 803c504: 5cd2 ldrb r2, [r2, r3] 803c506: 3201 adds r2, #1 803c508: b2d1 uxtb r1, r2 803c50a: 4a2e ldr r2, [pc, #184] ; (803c5c4 ) 803c50c: 54d1 strb r1, [r2, r3] break; 803c50e: e04d b.n 803c5ac break; 803c510: bf00 nop 803c512: f017 bb2e b.w 8053b72 break; 803c516: bf00 nop 803c518: f017 bb2b b.w 8053b72 break; 803c51c: bf00 nop 803c51e: f017 bb28 b.w 8053b72 break; 803c522: bf00 nop 803c524: f017 bb25 b.w 8053b72 break; 803c528: bf00 nop 803c52a: f017 bb22 b.w 8053b72 break; 803c52e: bf00 nop 803c530: f017 bb1f b.w 8053b72 break; 803c534: bf00 nop 803c536: f017 bb1c b.w 8053b72 break; 803c53a: bf00 nop 803c53c: f017 bb19 b.w 8053b72 break; 803c540: bf00 nop 803c542: f017 bb16 b.w 8053b72 break; 803c546: bf00 nop 803c548: f017 bb13 b.w 8053b72 break; 803c54c: bf00 nop 803c54e: f017 bb10 b.w 8053b72 break; 803c552: bf00 nop 803c554: f017 bb0d b.w 8053b72 break; 803c558: bf00 nop 803c55a: f017 bb0a b.w 8053b72 break; 803c55e: bf00 nop 803c560: f017 bb07 b.w 8053b72 break; 803c564: bf00 nop 803c566: f017 bb04 b.w 8053b72 break; 803c56a: bf00 nop 803c56c: f017 bb01 b.w 8053b72 break; 803c570: bf00 nop 803c572: f017 bafe b.w 8053b72 break; 803c576: bf00 nop 803c578: f017 bafb b.w 8053b72 break; 803c57c: bf00 nop 803c57e: f017 baf8 b.w 8053b72 break; 803c582: bf00 nop 803c584: f017 baf5 b.w 8053b72 break; 803c588: bf00 nop 803c58a: f017 baf2 b.w 8053b72 break; 803c58e: bf00 nop 803c590: f017 baef b.w 8053b72 break; 803c594: bf00 nop 803c596: f017 baec b.w 8053b72 break; 803c59a: bf00 nop 803c59c: f017 bae9 b.w 8053b72 break; 803c5a0: bf00 nop 803c5a2: f017 bae6 b.w 8053b72 break; 803c5a6: bf00 nop 803c5a8: f017 bae3 b.w 8053b72 break; 803c5ac: bf00 nop } break; 803c5ae: f017 bae0 b.w 8053b72 803c5b2: bf00 nop 803c5b4: 20020070 .word 0x20020070 803c5b8: 20020e00 .word 0x20020e00 803c5bc: 20020e04 .word 0x20020e04 803c5c0: 20020e08 .word 0x20020e08 803c5c4: 20026d44 .word 0x20026d44 case KEY_DN://TODO KEY DOWN switch(menu) 803c5c8: 4b6d ldr r3, [pc, #436] ; (803c780 ) 803c5ca: 781b ldrb r3, [r3, #0] 803c5cc: b2db uxtb r3, r3 803c5ce: 2b47 cmp r3, #71 ; 0x47 803c5d0: f217 82d1 bhi.w 8053b76 803c5d4: a201 add r2, pc, #4 ; (adr r2, 803c5dc ) 803c5d6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803c5da: bf00 nop 803c5dc: 0803dfc9 .word 0x0803dfc9 803c5e0: 0803e7ef .word 0x0803e7ef 803c5e4: 0803e821 .word 0x0803e821 803c5e8: 080440d1 .word 0x080440d1 803c5ec: 0804304d .word 0x0804304d 803c5f0: 08053b77 .word 0x08053b77 803c5f4: 0803fedd .word 0x0803fedd 803c5f8: 080409e7 .word 0x080409e7 803c5fc: 0804216f .word 0x0804216f 803c600: 08053b77 .word 0x08053b77 803c604: 080433db .word 0x080433db 803c608: 08053b77 .word 0x08053b77 803c60c: 08053b77 .word 0x08053b77 803c610: 0803ed59 .word 0x0803ed59 803c614: 0803e877 .word 0x0803e877 803c618: 0803c6fd .word 0x0803c6fd 803c61c: 0803ca55 .word 0x0803ca55 803c620: 0803ca7b .word 0x0803ca7b 803c624: 08043ac5 .word 0x08043ac5 803c628: 08053b77 .word 0x08053b77 803c62c: 08043f3d .word 0x08043f3d 803c630: 08043f5f .word 0x08043f5f 803c634: 08043fcf .word 0x08043fcf 803c638: 0804403f .word 0x0804403f 803c63c: 08043e31 .word 0x08043e31 803c640: 08043ecd .word 0x08043ecd 803c644: 08053b77 .word 0x08053b77 803c648: 08053b77 .word 0x08053b77 803c64c: 0803e305 .word 0x0803e305 803c650: 0803e183 .word 0x0803e183 803c654: 08053b77 .word 0x08053b77 803c658: 0803dfc9 .word 0x0803dfc9 803c65c: 0803e5cd .word 0x0803e5cd 803c660: 0803e3e7 .word 0x0803e3e7 803c664: 0803e489 .word 0x0803e489 803c668: 0803e52b .word 0x0803e52b 803c66c: 0803e1fd .word 0x0803e1fd 803c670: 0803debb .word 0x0803debb 803c674: 0803df05 .word 0x0803df05 803c678: 0803de77 .word 0x0803de77 803c67c: 0803e29f .word 0x0803e29f 803c680: 0803e63d .word 0x0803e63d 803c684: 0803e6c9 .word 0x0803e6c9 803c688: 0803e73b .word 0x0803e73b 803c68c: 0803e73b .word 0x0803e73b 803c690: 0803e73b .word 0x0803e73b 803c694: 08053b77 .word 0x08053b77 803c698: 0803e73b .word 0x0803e73b 803c69c: 0803e73b .word 0x0803e73b 803c6a0: 0803e73b .word 0x0803e73b 803c6a4: 0803e73b .word 0x0803e73b 803c6a8: 0803e73b .word 0x0803e73b 803c6ac: 08044141 .word 0x08044141 803c6b0: 08053b77 .word 0x08053b77 803c6b4: 08053b77 .word 0x08053b77 803c6b8: 08053b77 .word 0x08053b77 803c6bc: 08053b77 .word 0x08053b77 803c6c0: 08053b77 .word 0x08053b77 803c6c4: 08053b77 .word 0x08053b77 803c6c8: 08053b77 .word 0x08053b77 803c6cc: 08053b77 .word 0x08053b77 803c6d0: 08053b77 .word 0x08053b77 803c6d4: 08053b77 .word 0x08053b77 803c6d8: 08053b77 .word 0x08053b77 803c6dc: 08053b77 .word 0x08053b77 803c6e0: 08053b77 .word 0x08053b77 803c6e4: 08053b77 .word 0x08053b77 803c6e8: 08053b77 .word 0x08053b77 803c6ec: 08053b77 .word 0x08053b77 803c6f0: 0803de9d .word 0x0803de9d 803c6f4: 0803dea7 .word 0x0803dea7 803c6f8: 0803deb1 .word 0x0803deb1 { case PARAM_DIAGN: focused = false; 803c6fc: 4b21 ldr r3, [pc, #132] ; (803c784 ) 803c6fe: 2200 movs r2, #0 803c700: 701a strb r2, [r3, #0] if(menupos == DiagUs) 803c702: 4b21 ldr r3, [pc, #132] ; (803c788 ) 803c704: 781b ldrb r3, [r3, #0] 803c706: b2db uxtb r3, r3 803c708: 2b00 cmp r3, #0 803c70a: d104 bne.n 803c716 menupos = DiagAverage; 803c70c: 4b1e ldr r3, [pc, #120] ; (803c788 ) 803c70e: 2201 movs r2, #1 803c710: 701a strb r2, [r3, #0] pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 803c712: f007 bd27 b.w 8044164 if(menupos == DiagAverage) 803c716: 4b1c ldr r3, [pc, #112] ; (803c788 ) 803c718: 781b ldrb r3, [r3, #0] 803c71a: b2db uxtb r3, r3 803c71c: 2b01 cmp r3, #1 803c71e: d104 bne.n 803c72a menupos = DiagAutoKu; 803c720: 4b19 ldr r3, [pc, #100] ; (803c788 ) 803c722: 2202 movs r2, #2 803c724: 701a strb r2, [r3, #0] break; 803c726: f007 bd1d b.w 8044164 if(menupos == DiagAutoKu) 803c72a: 4b17 ldr r3, [pc, #92] ; (803c788 ) 803c72c: 781b ldrb r3, [r3, #0] 803c72e: b2db uxtb r3, r3 803c730: 2b02 cmp r3, #2 803c732: d110 bne.n 803c756 if(pardata.OPTIONS & 0x4) 803c734: 4b15 ldr r3, [pc, #84] ; (803c78c ) 803c736: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803c73a: f003 0304 and.w r3, r3, #4 803c73e: 2b00 cmp r3, #0 803c740: d004 beq.n 803c74c menupos = DiagSaveToFile; 803c742: 4b11 ldr r3, [pc, #68] ; (803c788 ) 803c744: 2204 movs r2, #4 803c746: 701a strb r2, [r3, #0] break; 803c748: f007 bd0c b.w 8044164 else menupos = DiagMax_ALL; 803c74c: 4b0e ldr r3, [pc, #56] ; (803c788 ) 803c74e: 2203 movs r2, #3 803c750: 701a strb r2, [r3, #0] break; 803c752: f007 bd07 b.w 8044164 if(menupos == DiagMax_ALL) 803c756: 4b0c ldr r3, [pc, #48] ; (803c788 ) 803c758: 781b ldrb r3, [r3, #0] 803c75a: b2db uxtb r3, r3 803c75c: 2b03 cmp r3, #3 803c75e: d104 bne.n 803c76a menupos = DiagSaveToFile; 803c760: 4b09 ldr r3, [pc, #36] ; (803c788 ) 803c762: 2204 movs r2, #4 803c764: 701a strb r2, [r3, #0] break; 803c766: f007 bcfd b.w 8044164 if(menupos == DiagSaveToFile) 803c76a: 4b07 ldr r3, [pc, #28] ; (803c788 ) 803c76c: 781b ldrb r3, [r3, #0] 803c76e: b2db uxtb r3, r3 803c770: 2b04 cmp r3, #4 803c772: d10d bne.n 803c790 menupos = DiagUs; 803c774: 4b04 ldr r3, [pc, #16] ; (803c788 ) 803c776: 2200 movs r2, #0 803c778: 701a strb r2, [r3, #0] break; 803c77a: f007 bcf3 b.w 8044164 803c77e: bf00 nop 803c780: 20020fbd .word 0x20020fbd 803c784: 20020fc8 .word 0x20020fc8 803c788: 20020070 .word 0x20020070 803c78c: 20023ea8 .word 0x20023ea8 if((menupos >= DiagMax_IDT) && (menupos <= DiagMax_IKD)) 803c790: 4bc4 ldr r3, [pc, #784] ; (803caa4 ) 803c792: 781b ldrb r3, [r3, #0] 803c794: b2db uxtb r3, r3 803c796: 2b04 cmp r3, #4 803c798: f247 84e4 bls.w 8044164 803c79c: 4bc1 ldr r3, [pc, #772] ; (803caa4 ) 803c79e: 781b ldrb r3, [r3, #0] 803c7a0: b2db uxtb r3, r3 803c7a2: 2b0a cmp r3, #10 803c7a4: f207 84de bhi.w 8044164 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803c7a8: 4bbf ldr r3, [pc, #764] ; (803caa8 ) 803c7aa: edd3 7a06 vldr s15, [r3, #24] 803c7ae: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803c7b2: ee67 7a87 vmul.f32 s15, s15, s14 803c7b6: eefc 7ae7 vcvt.u32.f32 s15, s15 803c7ba: ee17 3a90 vmov r3, s15 803c7be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803c7c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c7c6: 095b lsrs r3, r3, #5 803c7c8: 4ab8 ldr r2, [pc, #736] ; (803caac ) 803c7ca: fba2 2303 umull r2, r3, r2, r3 803c7ce: 09db lsrs r3, r3, #7 803c7d0: b2db uxtb r3, r3 803c7d2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803c7d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c7da: 0953 lsrs r3, r2, #5 803c7dc: 49b3 ldr r1, [pc, #716] ; (803caac ) 803c7de: fba1 1303 umull r1, r3, r1, r3 803c7e2: 09db lsrs r3, r3, #7 803c7e4: 49b2 ldr r1, [pc, #712] ; (803cab0 ) 803c7e6: fb01 f303 mul.w r3, r1, r3 803c7ea: 1ad3 subs r3, r2, r3 803c7ec: 4ab1 ldr r2, [pc, #708] ; (803cab4 ) 803c7ee: fba2 2303 umull r2, r3, r2, r3 803c7f2: 0b5b lsrs r3, r3, #13 803c7f4: b2db uxtb r3, r3 803c7f6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803c7fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c7fe: 0953 lsrs r3, r2, #5 803c800: 49aa ldr r1, [pc, #680] ; (803caac ) 803c802: fba1 1303 umull r1, r3, r1, r3 803c806: 09db lsrs r3, r3, #7 803c808: 49a9 ldr r1, [pc, #676] ; (803cab0 ) 803c80a: fb01 f303 mul.w r3, r1, r3 803c80e: 1ad3 subs r3, r2, r3 803c810: 4aa8 ldr r2, [pc, #672] ; (803cab4 ) 803c812: fba2 1203 umull r1, r2, r2, r3 803c816: 0b52 lsrs r2, r2, #13 803c818: f242 7110 movw r1, #10000 ; 0x2710 803c81c: fb01 f202 mul.w r2, r1, r2 803c820: 1a9a subs r2, r3, r2 803c822: 4ba5 ldr r3, [pc, #660] ; (803cab8 ) 803c824: fba3 2302 umull r2, r3, r3, r2 803c828: 099b lsrs r3, r3, #6 803c82a: b2db uxtb r3, r3 803c82c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803c830: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c834: 095a lsrs r2, r3, #5 803c836: 499d ldr r1, [pc, #628] ; (803caac ) 803c838: fba1 1202 umull r1, r2, r1, r2 803c83c: 09d2 lsrs r2, r2, #7 803c83e: 499c ldr r1, [pc, #624] ; (803cab0 ) 803c840: fb01 f202 mul.w r2, r1, r2 803c844: 1a9a subs r2, r3, r2 803c846: 4b9b ldr r3, [pc, #620] ; (803cab4 ) 803c848: fba3 1302 umull r1, r3, r3, r2 803c84c: 0b5b lsrs r3, r3, #13 803c84e: f242 7110 movw r1, #10000 ; 0x2710 803c852: fb01 f303 mul.w r3, r1, r3 803c856: 1ad3 subs r3, r2, r3 803c858: 4a97 ldr r2, [pc, #604] ; (803cab8 ) 803c85a: fba2 1203 umull r1, r2, r2, r3 803c85e: 0992 lsrs r2, r2, #6 803c860: f44f 717a mov.w r1, #1000 ; 0x3e8 803c864: fb01 f202 mul.w r2, r1, r2 803c868: 1a9a subs r2, r3, r2 803c86a: 4b94 ldr r3, [pc, #592] ; (803cabc ) 803c86c: fba3 2302 umull r2, r3, r3, r2 803c870: 095b lsrs r3, r3, #5 803c872: b2db uxtb r3, r3 803c874: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803c878: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c87c: 0953 lsrs r3, r2, #5 803c87e: 498b ldr r1, [pc, #556] ; (803caac ) 803c880: fba1 1303 umull r1, r3, r1, r3 803c884: 09db lsrs r3, r3, #7 803c886: 498a ldr r1, [pc, #552] ; (803cab0 ) 803c888: fb01 f303 mul.w r3, r1, r3 803c88c: 1ad3 subs r3, r2, r3 803c88e: 4a89 ldr r2, [pc, #548] ; (803cab4 ) 803c890: fba2 1203 umull r1, r2, r2, r3 803c894: 0b52 lsrs r2, r2, #13 803c896: f242 7110 movw r1, #10000 ; 0x2710 803c89a: fb01 f202 mul.w r2, r1, r2 803c89e: 1a9a subs r2, r3, r2 803c8a0: 4b85 ldr r3, [pc, #532] ; (803cab8 ) 803c8a2: fba3 1302 umull r1, r3, r3, r2 803c8a6: 099b lsrs r3, r3, #6 803c8a8: f44f 717a mov.w r1, #1000 ; 0x3e8 803c8ac: fb01 f303 mul.w r3, r1, r3 803c8b0: 1ad3 subs r3, r2, r3 803c8b2: 4a82 ldr r2, [pc, #520] ; (803cabc ) 803c8b4: fba2 1203 umull r1, r2, r2, r3 803c8b8: 0952 lsrs r2, r2, #5 803c8ba: 2164 movs r1, #100 ; 0x64 803c8bc: fb01 f202 mul.w r2, r1, r2 803c8c0: 1a9a subs r2, r3, r2 803c8c2: 4b7f ldr r3, [pc, #508] ; (803cac0 ) 803c8c4: fba3 2302 umull r2, r3, r3, r2 803c8c8: 08db lsrs r3, r3, #3 803c8ca: b2db uxtb r3, r3 803c8cc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803c8d0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c8d4: 0953 lsrs r3, r2, #5 803c8d6: 4975 ldr r1, [pc, #468] ; (803caac ) 803c8d8: fba1 1303 umull r1, r3, r1, r3 803c8dc: 09db lsrs r3, r3, #7 803c8de: 4974 ldr r1, [pc, #464] ; (803cab0 ) 803c8e0: fb01 f303 mul.w r3, r1, r3 803c8e4: 1ad3 subs r3, r2, r3 803c8e6: 4a73 ldr r2, [pc, #460] ; (803cab4 ) 803c8e8: fba2 1203 umull r1, r2, r2, r3 803c8ec: 0b52 lsrs r2, r2, #13 803c8ee: f242 7110 movw r1, #10000 ; 0x2710 803c8f2: fb01 f202 mul.w r2, r1, r2 803c8f6: 1a9a subs r2, r3, r2 803c8f8: 4b6f ldr r3, [pc, #444] ; (803cab8 ) 803c8fa: fba3 1302 umull r1, r3, r3, r2 803c8fe: 099b lsrs r3, r3, #6 803c900: f44f 717a mov.w r1, #1000 ; 0x3e8 803c904: fb01 f303 mul.w r3, r1, r3 803c908: 1ad3 subs r3, r2, r3 803c90a: 4a6c ldr r2, [pc, #432] ; (803cabc ) 803c90c: fba2 1203 umull r1, r2, r2, r3 803c910: 0952 lsrs r2, r2, #5 803c912: 2164 movs r1, #100 ; 0x64 803c914: fb01 f202 mul.w r2, r1, r2 803c918: 1a9a subs r2, r3, r2 803c91a: 4b69 ldr r3, [pc, #420] ; (803cac0 ) 803c91c: fba3 1302 umull r1, r3, r3, r2 803c920: 08d9 lsrs r1, r3, #3 803c922: 460b mov r3, r1 803c924: 009b lsls r3, r3, #2 803c926: 440b add r3, r1 803c928: 005b lsls r3, r3, #1 803c92a: 1ad1 subs r1, r2, r3 803c92c: b2cb uxtb r3, r1 803c92e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803c932: 4b5c ldr r3, [pc, #368] ; (803caa4 ) 803c934: 781b ldrb r3, [r3, #0] 803c936: b2db uxtb r3, r3 803c938: 3b05 subs r3, #5 803c93a: 2b05 cmp r3, #5 803c93c: d85c bhi.n 803c9f8 803c93e: a201 add r2, pc, #4 ; (adr r2, 803c944 ) 803c940: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803c944: 0803c95d .word 0x0803c95d 803c948: 0803c975 .word 0x0803c975 803c94c: 0803c98f .word 0x0803c98f 803c950: 0803c9a7 .word 0x0803c9a7 803c954: 0803c9bb .word 0x0803c9bb 803c958: 0803c9cf .word 0x0803c9cf if(k > 100000) 803c95c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c960: 4a53 ldr r2, [pc, #332] ; (803cab0 ) 803c962: 4293 cmp r3, r2 803c964: d93d bls.n 803c9e2 k -= 100000; 803c966: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c96a: 4b56 ldr r3, [pc, #344] ; (803cac4 ) 803c96c: 4413 add r3, r2 803c96e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c972: e036 b.n 803c9e2 if(k > 10000) 803c974: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c978: f242 7210 movw r2, #10000 ; 0x2710 803c97c: 4293 cmp r3, r2 803c97e: d932 bls.n 803c9e6 k -= 10000; 803c980: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c984: 4b50 ldr r3, [pc, #320] ; (803cac8 ) 803c986: 4413 add r3, r2 803c988: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c98c: e02b b.n 803c9e6 if(k > 1000) 803c98e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c992: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803c996: d928 bls.n 803c9ea k -= 1000; 803c998: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c99c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803c9a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c9a4: e021 b.n 803c9ea if(k > 100) 803c9a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c9aa: 2b64 cmp r3, #100 ; 0x64 803c9ac: d91f bls.n 803c9ee k -= 100; 803c9ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c9b2: 3b64 subs r3, #100 ; 0x64 803c9b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c9b8: e019 b.n 803c9ee if(k > 10) 803c9ba: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c9be: 2b0a cmp r3, #10 803c9c0: d917 bls.n 803c9f2 k -= 10; 803c9c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c9c6: 3b0a subs r3, #10 803c9c8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c9cc: e011 b.n 803c9f2 if(k > 1) 803c9ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c9d2: 2b01 cmp r3, #1 803c9d4: d90f bls.n 803c9f6 k--; 803c9d6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c9da: 3b01 subs r3, #1 803c9dc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c9e0: e009 b.n 803c9f6 break; 803c9e2: bf00 nop 803c9e4: e008 b.n 803c9f8 break; 803c9e6: bf00 nop 803c9e8: e006 b.n 803c9f8 break; 803c9ea: bf00 nop 803c9ec: e004 b.n 803c9f8 break; 803c9ee: bf00 nop 803c9f0: e002 b.n 803c9f8 break; 803c9f2: bf00 nop 803c9f4: e000 b.n 803c9f8 break; 803c9f6: bf00 nop if(k > 999999) k = 999999; 803c9f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c9fc: 4a33 ldr r2, [pc, #204] ; (803cacc ) 803c9fe: 4293 cmp r3, r2 803ca00: d902 bls.n 803ca08 803ca02: 4b32 ldr r3, [pc, #200] ; (803cacc ) 803ca04: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803ca08: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ca0c: 2b00 cmp r3, #0 803ca0e: d102 bne.n 803ca16 803ca10: 2301 movs r3, #1 803ca12: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803ca16: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ca1a: ee07 3a90 vmov s15, r3 803ca1e: eef8 7a67 vcvt.f32.u32 s15, s15 803ca22: 4b21 ldr r3, [pc, #132] ; (803caa8 ) 803ca24: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803ca28: 4b1f ldr r3, [pc, #124] ; (803caa8 ) 803ca2a: edd3 7a06 vldr s15, [r3, #24] 803ca2e: ed9f 7a28 vldr s14, [pc, #160] ; 803cad0 803ca32: ee67 7a87 vmul.f32 s15, s15, s14 803ca36: 4b1c ldr r3, [pc, #112] ; (803caa8 ) 803ca38: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803ca3c: 4b1a ldr r3, [pc, #104] ; (803caa8 ) 803ca3e: edd3 7a06 vldr s15, [r3, #24] 803ca42: ed9f 7a24 vldr s14, [pc, #144] ; 803cad4 803ca46: ee77 7a87 vadd.f32 s15, s15, s14 803ca4a: 4b17 ldr r3, [pc, #92] ; (803caa8 ) 803ca4c: edc3 7a06 vstr s15, [r3, #24] break; 803ca50: f007 bb88 b.w 8044164 case PARAM_DIAGN_1: if(menupos < Diag8) menupos++; 803ca54: 4b13 ldr r3, [pc, #76] ; (803caa4 ) 803ca56: 781b ldrb r3, [r3, #0] 803ca58: b2db uxtb r3, r3 803ca5a: 2b06 cmp r3, #6 803ca5c: d808 bhi.n 803ca70 803ca5e: 4b11 ldr r3, [pc, #68] ; (803caa4 ) 803ca60: 781b ldrb r3, [r3, #0] 803ca62: b2db uxtb r3, r3 803ca64: 3301 adds r3, #1 803ca66: b2da uxtb r2, r3 803ca68: 4b0e ldr r3, [pc, #56] ; (803caa4 ) 803ca6a: 701a strb r2, [r3, #0] else menupos = Diag1; break; 803ca6c: f007 bbcc b.w 8044208 else menupos = Diag1; 803ca70: 4b0c ldr r3, [pc, #48] ; (803caa4 ) 803ca72: 2200 movs r2, #0 803ca74: 701a strb r2, [r3, #0] break; 803ca76: f007 bbc7 b.w 8044208 case PARAM_DIAGN_2: focused = false; 803ca7a: 4b17 ldr r3, [pc, #92] ; (803cad8 ) 803ca7c: 2200 movs r2, #0 803ca7e: 701a strb r2, [r3, #0] if((menupos >= DiagUs1) && (menupos <= DiagOp1)) 803ca80: 4b08 ldr r3, [pc, #32] ; (803caa4 ) 803ca82: 781b ldrb r3, [r3, #0] 803ca84: b2db uxtb r3, r3 803ca86: 2b00 cmp r3, #0 803ca88: d02a beq.n 803cae0 803ca8a: 4b06 ldr r3, [pc, #24] ; (803caa4 ) 803ca8c: 781b ldrb r3, [r3, #0] 803ca8e: b2db uxtb r3, r3 803ca90: 2b02 cmp r3, #2 803ca92: d825 bhi.n 803cae0 { CURR_USL = Us1; 803ca94: 4b11 ldr r3, [pc, #68] ; (803cadc ) 803ca96: 2200 movs r2, #0 803ca98: 701a strb r2, [r3, #0] menupos = Ok; 803ca9a: 4b02 ldr r3, [pc, #8] ; (803caa4 ) 803ca9c: 2200 movs r2, #0 803ca9e: 701a strb r2, [r3, #0] 803caa0: f001 b9e7 b.w 803de72 803caa4: 20020070 .word 0x20020070 803caa8: 20023ea8 .word 0x20023ea8 803caac: 0a7c5ac5 .word 0x0a7c5ac5 803cab0: 000186a0 .word 0x000186a0 803cab4: d1b71759 .word 0xd1b71759 803cab8: 10624dd3 .word 0x10624dd3 803cabc: 51eb851f .word 0x51eb851f 803cac0: cccccccd .word 0xcccccccd 803cac4: fffe7960 .word 0xfffe7960 803cac8: ffffd8f0 .word 0xffffd8f0 803cacc: 000f423f .word 0x000f423f 803cad0: 3dcccccd .word 0x3dcccccd 803cad4: 3d4ccccd .word 0x3d4ccccd 803cad8: 20020fc8 .word 0x20020fc8 803cadc: 20021057 .word 0x20021057 /*if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) menupos = Diag_A; else menupos = DiagAVS;*/ } else if((menupos >= DiagUs2) && (menupos <= DiagOp2)) 803cae0: 4b5d ldr r3, [pc, #372] ; (803cc58 ) 803cae2: 781b ldrb r3, [r3, #0] 803cae4: b2db uxtb r3, r3 803cae6: 2b02 cmp r3, #2 803cae8: d90c bls.n 803cb04 803caea: 4b5b ldr r3, [pc, #364] ; (803cc58 ) 803caec: 781b ldrb r3, [r3, #0] 803caee: b2db uxtb r3, r3 803caf0: 2b04 cmp r3, #4 803caf2: d807 bhi.n 803cb04 { CURR_USL = Us2; 803caf4: 4b59 ldr r3, [pc, #356] ; (803cc5c ) 803caf6: 2201 movs r2, #1 803caf8: 701a strb r2, [r3, #0] menupos = Ok; 803cafa: 4b57 ldr r3, [pc, #348] ; (803cc58 ) 803cafc: 2200 movs r2, #0 803cafe: 701a strb r2, [r3, #0] 803cb00: f001 b9b7 b.w 803de72 /* if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) menupos = Diag_A; else menupos = DiagAVS;*/ } else if(menupos == DiagUs3) 803cb04: 4b54 ldr r3, [pc, #336] ; (803cc58 ) 803cb06: 781b ldrb r3, [r3, #0] 803cb08: b2db uxtb r3, r3 803cb0a: 2b05 cmp r3, #5 803cb0c: d107 bne.n 803cb1e { CURR_USL = Us3; 803cb0e: 4b53 ldr r3, [pc, #332] ; (803cc5c ) 803cb10: 2202 movs r2, #2 803cb12: 701a strb r2, [r3, #0] menupos = Ok; 803cb14: 4b50 ldr r3, [pc, #320] ; (803cc58 ) 803cb16: 2200 movs r2, #0 803cb18: 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; 803cb1a: f007 bb26 b.w 804416a if(menupos == Ok) 803cb1e: 4b4e ldr r3, [pc, #312] ; (803cc58 ) 803cb20: 781b ldrb r3, [r3, #0] 803cb22: b2db uxtb r3, r3 803cb24: 2b00 cmp r3, #0 803cb26: d104 bne.n 803cb32 menupos = DiagName; 803cb28: 4b4b ldr r3, [pc, #300] ; (803cc58 ) 803cb2a: 2206 movs r2, #6 803cb2c: 701a strb r2, [r3, #0] break; 803cb2e: f007 bb1c b.w 804416a if(menupos == DiagName) 803cb32: 4b49 ldr r3, [pc, #292] ; (803cc58 ) 803cb34: 781b ldrb r3, [r3, #0] 803cb36: b2db uxtb r3, r3 803cb38: 2b06 cmp r3, #6 803cb3a: d104 bne.n 803cb46 menupos = DiagAVS; 803cb3c: 4b46 ldr r3, [pc, #280] ; (803cc58 ) 803cb3e: 2207 movs r2, #7 803cb40: 701a strb r2, [r3, #0] break; 803cb42: f007 bb12 b.w 804416a if(menupos == DiagAVS) 803cb46: 4b44 ldr r3, [pc, #272] ; (803cc58 ) 803cb48: 781b ldrb r3, [r3, #0] 803cb4a: b2db uxtb r3, r3 803cb4c: 2b07 cmp r3, #7 803cb4e: d137 bne.n 803cbc0 if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 803cb50: 4b43 ldr r3, [pc, #268] ; (803cc60 ) 803cb52: 781b ldrb r3, [r3, #0] 803cb54: b2db uxtb r3, r3 803cb56: 4618 mov r0, r3 803cb58: 4b40 ldr r3, [pc, #256] ; (803cc5c ) 803cb5a: 781b ldrb r3, [r3, #0] 803cb5c: b2db uxtb r3, r3 803cb5e: 4619 mov r1, r3 803cb60: 4a40 ldr r2, [pc, #256] ; (803cc64 ) 803cb62: 0083 lsls r3, r0, #2 803cb64: 4413 add r3, r2 803cb66: 440b add r3, r1 803cb68: f503 730f add.w r3, r3, #572 ; 0x23c 803cb6c: 781b ldrb r3, [r3, #0] 803cb6e: b2db uxtb r3, r3 803cb70: f003 0307 and.w r3, r3, #7 803cb74: 2b00 cmp r3, #0 803cb76: d004 beq.n 803cb82 menupos = DiagValue; 803cb78: 4b37 ldr r3, [pc, #220] ; (803cc58 ) 803cb7a: 2208 movs r2, #8 803cb7c: 701a strb r2, [r3, #0] break; 803cb7e: f007 baf4 b.w 804416a if(CURR_USL == Us1) 803cb82: 4b36 ldr r3, [pc, #216] ; (803cc5c ) 803cb84: 781b ldrb r3, [r3, #0] 803cb86: b2db uxtb r3, r3 803cb88: 2b00 cmp r3, #0 803cb8a: d104 bne.n 803cb96 menupos = DiagUs1; 803cb8c: 4b32 ldr r3, [pc, #200] ; (803cc58 ) 803cb8e: 2201 movs r2, #1 803cb90: 701a strb r2, [r3, #0] break; 803cb92: f007 baea b.w 804416a if(CURR_USL == Us2) 803cb96: 4b31 ldr r3, [pc, #196] ; (803cc5c ) 803cb98: 781b ldrb r3, [r3, #0] 803cb9a: b2db uxtb r3, r3 803cb9c: 2b01 cmp r3, #1 803cb9e: d104 bne.n 803cbaa menupos = DiagUs2; 803cba0: 4b2d ldr r3, [pc, #180] ; (803cc58 ) 803cba2: 2203 movs r2, #3 803cba4: 701a strb r2, [r3, #0] break; 803cba6: f007 bae0 b.w 804416a if(CURR_USL == Us3) 803cbaa: 4b2c ldr r3, [pc, #176] ; (803cc5c ) 803cbac: 781b ldrb r3, [r3, #0] 803cbae: b2db uxtb r3, r3 803cbb0: 2b02 cmp r3, #2 803cbb2: f047 82da bne.w 804416a menupos = DiagUs3; 803cbb6: 4b28 ldr r3, [pc, #160] ; (803cc58 ) 803cbb8: 2205 movs r2, #5 803cbba: 701a strb r2, [r3, #0] break; 803cbbc: f007 bad5 b.w 804416a if(menupos == DiagValue) 803cbc0: 4b25 ldr r3, [pc, #148] ; (803cc58 ) 803cbc2: 781b ldrb r3, [r3, #0] 803cbc4: b2db uxtb r3, r3 803cbc6: 2b08 cmp r3, #8 803cbc8: d104 bne.n 803cbd4 menupos = DiagHP; 803cbca: 4b23 ldr r3, [pc, #140] ; (803cc58 ) 803cbcc: 2209 movs r2, #9 803cbce: 701a strb r2, [r3, #0] break; 803cbd0: f007 bacb b.w 804416a if(menupos == DiagHP) 803cbd4: 4b20 ldr r3, [pc, #128] ; (803cc58 ) 803cbd6: 781b ldrb r3, [r3, #0] 803cbd8: b2db uxtb r3, r3 803cbda: 2b09 cmp r3, #9 803cbdc: d104 bne.n 803cbe8 menupos = DiagLP; 803cbde: 4b1e ldr r3, [pc, #120] ; (803cc58 ) 803cbe0: 220a movs r2, #10 803cbe2: 701a strb r2, [r3, #0] break; 803cbe4: f007 bac1 b.w 804416a if(menupos == DiagLP) 803cbe8: 4b1b ldr r3, [pc, #108] ; (803cc58 ) 803cbea: 781b ldrb r3, [r3, #0] 803cbec: b2db uxtb r3, r3 803cbee: 2b0a cmp r3, #10 803cbf0: d104 bne.n 803cbfc menupos = Diag_W; 803cbf2: 4b19 ldr r3, [pc, #100] ; (803cc58 ) 803cbf4: 220b movs r2, #11 803cbf6: 701a strb r2, [r3, #0] break; 803cbf8: f007 bab7 b.w 804416a if(menupos == Diag_W) 803cbfc: 4b16 ldr r3, [pc, #88] ; (803cc58 ) 803cbfe: 781b ldrb r3, [r3, #0] 803cc00: b2db uxtb r3, r3 803cc02: 2b0b cmp r3, #11 803cc04: d104 bne.n 803cc10 menupos = Diag_A; 803cc06: 4b14 ldr r3, [pc, #80] ; (803cc58 ) 803cc08: 220c movs r2, #12 803cc0a: 701a strb r2, [r3, #0] break; 803cc0c: f007 baad b.w 804416a if(menupos == Diag_A) 803cc10: 4b11 ldr r3, [pc, #68] ; (803cc58 ) 803cc12: 781b ldrb r3, [r3, #0] 803cc14: b2db uxtb r3, r3 803cc16: 2b0c cmp r3, #12 803cc18: d126 bne.n 803cc68 if(CURR_USL == Us1) 803cc1a: 4b10 ldr r3, [pc, #64] ; (803cc5c ) 803cc1c: 781b ldrb r3, [r3, #0] 803cc1e: b2db uxtb r3, r3 803cc20: 2b00 cmp r3, #0 803cc22: d104 bne.n 803cc2e menupos = DiagUs1; 803cc24: 4b0c ldr r3, [pc, #48] ; (803cc58 ) 803cc26: 2201 movs r2, #1 803cc28: 701a strb r2, [r3, #0] break; 803cc2a: f007 ba9e b.w 804416a if(CURR_USL == Us2) 803cc2e: 4b0b ldr r3, [pc, #44] ; (803cc5c ) 803cc30: 781b ldrb r3, [r3, #0] 803cc32: b2db uxtb r3, r3 803cc34: 2b01 cmp r3, #1 803cc36: d104 bne.n 803cc42 menupos = DiagUs2; 803cc38: 4b07 ldr r3, [pc, #28] ; (803cc58 ) 803cc3a: 2203 movs r2, #3 803cc3c: 701a strb r2, [r3, #0] break; 803cc3e: f007 ba94 b.w 804416a if(CURR_USL == Us3) 803cc42: 4b06 ldr r3, [pc, #24] ; (803cc5c ) 803cc44: 781b ldrb r3, [r3, #0] 803cc46: b2db uxtb r3, r3 803cc48: 2b02 cmp r3, #2 803cc4a: f047 828e bne.w 804416a menupos = DiagUs3; 803cc4e: 4b02 ldr r3, [pc, #8] ; (803cc58 ) 803cc50: 2205 movs r2, #5 803cc52: 701a strb r2, [r3, #0] break; 803cc54: f007 ba89 b.w 804416a 803cc58: 20020070 .word 0x20020070 803cc5c: 20021057 .word 0x20021057 803cc60: 20021055 .word 0x20021055 803cc64: 20023ea8 .word 0x20023ea8 if((menupos >= DiagHP_IDT) && (menupos <= DiagHP_IKD)) 803cc68: 4bc5 ldr r3, [pc, #788] ; (803cf80 ) 803cc6a: 781b ldrb r3, [r3, #0] 803cc6c: b2db uxtb r3, r3 803cc6e: 2b0c cmp r3, #12 803cc70: f240 82f0 bls.w 803d254 803cc74: 4bc2 ldr r3, [pc, #776] ; (803cf80 ) 803cc76: 781b ldrb r3, [r3, #0] 803cc78: b2db uxtb r3, r3 803cc7a: 2b12 cmp r3, #18 803cc7c: f200 82ea bhi.w 803d254 k = (uint32_t) (pardata.DIAGN_HP[CURR_POINT][CURR_USL] * 10.0f); 803cc80: 4bc0 ldr r3, [pc, #768] ; (803cf84 ) 803cc82: 781b ldrb r3, [r3, #0] 803cc84: b2db uxtb r3, r3 803cc86: 4618 mov r0, r3 803cc88: 4bbf ldr r3, [pc, #764] ; (803cf88 ) 803cc8a: 781b ldrb r3, [r3, #0] 803cc8c: b2db uxtb r3, r3 803cc8e: 4619 mov r1, r3 803cc90: 4abe ldr r2, [pc, #760] ; (803cf8c ) 803cc92: 0083 lsls r3, r0, #2 803cc94: 440b add r3, r1 803cc96: 3396 adds r3, #150 ; 0x96 803cc98: 009b lsls r3, r3, #2 803cc9a: 4413 add r3, r2 803cc9c: 3304 adds r3, #4 803cc9e: edd3 7a00 vldr s15, [r3] 803cca2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803cca6: ee67 7a87 vmul.f32 s15, s15, s14 803ccaa: eefc 7ae7 vcvt.u32.f32 s15, s15 803ccae: ee17 3a90 vmov r3, s15 803ccb2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803ccb6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ccba: 095b lsrs r3, r3, #5 803ccbc: 4ab4 ldr r2, [pc, #720] ; (803cf90 ) 803ccbe: fba2 2303 umull r2, r3, r2, r3 803ccc2: 09db lsrs r3, r3, #7 803ccc4: b2db uxtb r3, r3 803ccc6: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803ccca: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ccce: 0953 lsrs r3, r2, #5 803ccd0: 49af ldr r1, [pc, #700] ; (803cf90 ) 803ccd2: fba1 1303 umull r1, r3, r1, r3 803ccd6: 09db lsrs r3, r3, #7 803ccd8: 49ae ldr r1, [pc, #696] ; (803cf94 ) 803ccda: fb01 f303 mul.w r3, r1, r3 803ccde: 1ad3 subs r3, r2, r3 803cce0: 4aad ldr r2, [pc, #692] ; (803cf98 ) 803cce2: fba2 2303 umull r2, r3, r2, r3 803cce6: 0b5b lsrs r3, r3, #13 803cce8: b2db uxtb r3, r3 803ccea: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803ccee: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ccf2: 0953 lsrs r3, r2, #5 803ccf4: 49a6 ldr r1, [pc, #664] ; (803cf90 ) 803ccf6: fba1 1303 umull r1, r3, r1, r3 803ccfa: 09db lsrs r3, r3, #7 803ccfc: 49a5 ldr r1, [pc, #660] ; (803cf94 ) 803ccfe: fb01 f303 mul.w r3, r1, r3 803cd02: 1ad3 subs r3, r2, r3 803cd04: 4aa4 ldr r2, [pc, #656] ; (803cf98 ) 803cd06: fba2 1203 umull r1, r2, r2, r3 803cd0a: 0b52 lsrs r2, r2, #13 803cd0c: f242 7110 movw r1, #10000 ; 0x2710 803cd10: fb01 f202 mul.w r2, r1, r2 803cd14: 1a9a subs r2, r3, r2 803cd16: 4ba1 ldr r3, [pc, #644] ; (803cf9c ) 803cd18: fba3 2302 umull r2, r3, r3, r2 803cd1c: 099b lsrs r3, r3, #6 803cd1e: b2db uxtb r3, r3 803cd20: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803cd24: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd28: 095a lsrs r2, r3, #5 803cd2a: 4999 ldr r1, [pc, #612] ; (803cf90 ) 803cd2c: fba1 1202 umull r1, r2, r1, r2 803cd30: 09d2 lsrs r2, r2, #7 803cd32: 4998 ldr r1, [pc, #608] ; (803cf94 ) 803cd34: fb01 f202 mul.w r2, r1, r2 803cd38: 1a9a subs r2, r3, r2 803cd3a: 4b97 ldr r3, [pc, #604] ; (803cf98 ) 803cd3c: fba3 1302 umull r1, r3, r3, r2 803cd40: 0b5b lsrs r3, r3, #13 803cd42: f242 7110 movw r1, #10000 ; 0x2710 803cd46: fb01 f303 mul.w r3, r1, r3 803cd4a: 1ad3 subs r3, r2, r3 803cd4c: 4a93 ldr r2, [pc, #588] ; (803cf9c ) 803cd4e: fba2 1203 umull r1, r2, r2, r3 803cd52: 0992 lsrs r2, r2, #6 803cd54: f44f 717a mov.w r1, #1000 ; 0x3e8 803cd58: fb01 f202 mul.w r2, r1, r2 803cd5c: 1a9a subs r2, r3, r2 803cd5e: 4b90 ldr r3, [pc, #576] ; (803cfa0 ) 803cd60: fba3 2302 umull r2, r3, r3, r2 803cd64: 095b lsrs r3, r3, #5 803cd66: b2db uxtb r3, r3 803cd68: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803cd6c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cd70: 0953 lsrs r3, r2, #5 803cd72: 4987 ldr r1, [pc, #540] ; (803cf90 ) 803cd74: fba1 1303 umull r1, r3, r1, r3 803cd78: 09db lsrs r3, r3, #7 803cd7a: 4986 ldr r1, [pc, #536] ; (803cf94 ) 803cd7c: fb01 f303 mul.w r3, r1, r3 803cd80: 1ad3 subs r3, r2, r3 803cd82: 4a85 ldr r2, [pc, #532] ; (803cf98 ) 803cd84: fba2 1203 umull r1, r2, r2, r3 803cd88: 0b52 lsrs r2, r2, #13 803cd8a: f242 7110 movw r1, #10000 ; 0x2710 803cd8e: fb01 f202 mul.w r2, r1, r2 803cd92: 1a9a subs r2, r3, r2 803cd94: 4b81 ldr r3, [pc, #516] ; (803cf9c ) 803cd96: fba3 1302 umull r1, r3, r3, r2 803cd9a: 099b lsrs r3, r3, #6 803cd9c: f44f 717a mov.w r1, #1000 ; 0x3e8 803cda0: fb01 f303 mul.w r3, r1, r3 803cda4: 1ad3 subs r3, r2, r3 803cda6: 4a7e ldr r2, [pc, #504] ; (803cfa0 ) 803cda8: fba2 1203 umull r1, r2, r2, r3 803cdac: 0952 lsrs r2, r2, #5 803cdae: 2164 movs r1, #100 ; 0x64 803cdb0: fb01 f202 mul.w r2, r1, r2 803cdb4: 1a9a subs r2, r3, r2 803cdb6: 4b7b ldr r3, [pc, #492] ; (803cfa4 ) 803cdb8: fba3 2302 umull r2, r3, r3, r2 803cdbc: 08db lsrs r3, r3, #3 803cdbe: b2db uxtb r3, r3 803cdc0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803cdc4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cdc8: 0953 lsrs r3, r2, #5 803cdca: 4971 ldr r1, [pc, #452] ; (803cf90 ) 803cdcc: fba1 1303 umull r1, r3, r1, r3 803cdd0: 09db lsrs r3, r3, #7 803cdd2: 4970 ldr r1, [pc, #448] ; (803cf94 ) 803cdd4: fb01 f303 mul.w r3, r1, r3 803cdd8: 1ad3 subs r3, r2, r3 803cdda: 4a6f ldr r2, [pc, #444] ; (803cf98 ) 803cddc: fba2 1203 umull r1, r2, r2, r3 803cde0: 0b52 lsrs r2, r2, #13 803cde2: f242 7110 movw r1, #10000 ; 0x2710 803cde6: fb01 f202 mul.w r2, r1, r2 803cdea: 1a9a subs r2, r3, r2 803cdec: 4b6b ldr r3, [pc, #428] ; (803cf9c ) 803cdee: fba3 1302 umull r1, r3, r3, r2 803cdf2: 099b lsrs r3, r3, #6 803cdf4: f44f 717a mov.w r1, #1000 ; 0x3e8 803cdf8: fb01 f303 mul.w r3, r1, r3 803cdfc: 1ad3 subs r3, r2, r3 803cdfe: 4a68 ldr r2, [pc, #416] ; (803cfa0 ) 803ce00: fba2 1203 umull r1, r2, r2, r3 803ce04: 0952 lsrs r2, r2, #5 803ce06: 2164 movs r1, #100 ; 0x64 803ce08: fb01 f202 mul.w r2, r1, r2 803ce0c: 1a9a subs r2, r3, r2 803ce0e: 4b65 ldr r3, [pc, #404] ; (803cfa4 ) 803ce10: fba3 1302 umull r1, r3, r3, r2 803ce14: 08d9 lsrs r1, r3, #3 803ce16: 460b mov r3, r1 803ce18: 009b lsls r3, r3, #2 803ce1a: 440b add r3, r1 803ce1c: 005b lsls r3, r3, #1 803ce1e: 1ad1 subs r1, r2, r3 803ce20: b2cb uxtb r3, r1 803ce22: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803ce26: 4b56 ldr r3, [pc, #344] ; (803cf80 ) 803ce28: 781b ldrb r3, [r3, #0] 803ce2a: b2db uxtb r3, r3 803ce2c: 3b0d subs r3, #13 803ce2e: 2b05 cmp r3, #5 803ce30: d85c bhi.n 803ceec 803ce32: a201 add r2, pc, #4 ; (adr r2, 803ce38 ) 803ce34: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ce38: 0803ce51 .word 0x0803ce51 803ce3c: 0803ce69 .word 0x0803ce69 803ce40: 0803ce83 .word 0x0803ce83 803ce44: 0803ce9b .word 0x0803ce9b 803ce48: 0803ceaf .word 0x0803ceaf 803ce4c: 0803cec3 .word 0x0803cec3 if(k > 100000) 803ce50: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ce54: 4a4f ldr r2, [pc, #316] ; (803cf94 ) 803ce56: 4293 cmp r3, r2 803ce58: d93d bls.n 803ced6 k -= 100000; 803ce5a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ce5e: 4b52 ldr r3, [pc, #328] ; (803cfa8 ) 803ce60: 4413 add r3, r2 803ce62: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ce66: e036 b.n 803ced6 if(k > 10000) 803ce68: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ce6c: f242 7210 movw r2, #10000 ; 0x2710 803ce70: 4293 cmp r3, r2 803ce72: d932 bls.n 803ceda k -= 10000; 803ce74: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ce78: 4b4c ldr r3, [pc, #304] ; (803cfac ) 803ce7a: 4413 add r3, r2 803ce7c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ce80: e02b b.n 803ceda if(k > 1000) 803ce82: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ce86: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803ce8a: d928 bls.n 803cede k -= 1000; 803ce8c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ce90: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803ce94: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ce98: e021 b.n 803cede if(k > 100) 803ce9a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ce9e: 2b64 cmp r3, #100 ; 0x64 803cea0: d91f bls.n 803cee2 k -= 100; 803cea2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cea6: 3b64 subs r3, #100 ; 0x64 803cea8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ceac: e019 b.n 803cee2 if(k > 10) 803ceae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ceb2: 2b0a cmp r3, #10 803ceb4: d917 bls.n 803cee6 k -= 10; 803ceb6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ceba: 3b0a subs r3, #10 803cebc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cec0: e011 b.n 803cee6 if(k > 1) 803cec2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cec6: 2b01 cmp r3, #1 803cec8: d90f bls.n 803ceea k--; 803ceca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cece: 3b01 subs r3, #1 803ced0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ced4: e009 b.n 803ceea break; 803ced6: bf00 nop 803ced8: e008 b.n 803ceec break; 803ceda: bf00 nop 803cedc: e006 b.n 803ceec break; 803cede: bf00 nop 803cee0: e004 b.n 803ceec break; 803cee2: bf00 nop 803cee4: e002 b.n 803ceec break; 803cee6: bf00 nop 803cee8: e000 b.n 803ceec break; 803ceea: bf00 nop fl = (float32_t) k; 803ceec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cef0: ee07 3a90 vmov s15, r3 803cef4: eef8 7a67 vcvt.f32.u32 s15, s15 803cef8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803cefc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803cf00: ed9f 7a2b vldr s14, [pc, #172] ; 803cfb0 803cf04: ee67 7a87 vmul.f32 s15, s15, s14 803cf08: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803cf0c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803cf10: ed9f 7a28 vldr s14, [pc, #160] ; 803cfb4 803cf14: ee77 7a87 vadd.f32 s15, s15, s14 803cf18: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803cf1c: 4b19 ldr r3, [pc, #100] ; (803cf84 ) 803cf1e: 781b ldrb r3, [r3, #0] 803cf20: b2db uxtb r3, r3 803cf22: 4618 mov r0, r3 803cf24: 4b18 ldr r3, [pc, #96] ; (803cf88 ) 803cf26: 781b ldrb r3, [r3, #0] 803cf28: b2db uxtb r3, r3 803cf2a: 4619 mov r1, r3 803cf2c: 4a17 ldr r2, [pc, #92] ; (803cf8c ) 803cf2e: 0083 lsls r3, r0, #2 803cf30: 4413 add r3, r2 803cf32: 440b add r3, r1 803cf34: f503 730f add.w r3, r3, #572 ; 0x23c 803cf38: 781b ldrb r3, [r3, #0] 803cf3a: b2db uxtb r3, r3 803cf3c: f003 0307 and.w r3, r3, #7 803cf40: 2b01 cmp r3, #1 803cf42: f040 80cc bne.w 803d0de if(fl < 0.5f) 803cf46: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803cf4a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 803cf4e: eef4 7ac7 vcmpe.f32 s15, s14 803cf52: eef1 fa10 vmrs APSR_nzcv, fpscr 803cf56: d52f bpl.n 803cfb8 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 0.5f; 803cf58: 4b0a ldr r3, [pc, #40] ; (803cf84 ) 803cf5a: 781b ldrb r3, [r3, #0] 803cf5c: b2db uxtb r3, r3 803cf5e: 4618 mov r0, r3 803cf60: 4b09 ldr r3, [pc, #36] ; (803cf88 ) 803cf62: 781b ldrb r3, [r3, #0] 803cf64: b2db uxtb r3, r3 803cf66: 4619 mov r1, r3 803cf68: 4a08 ldr r2, [pc, #32] ; (803cf8c ) 803cf6a: 0083 lsls r3, r0, #2 803cf6c: 440b add r3, r1 803cf6e: 3396 adds r3, #150 ; 0x96 803cf70: 009b lsls r3, r3, #2 803cf72: 4413 add r3, r2 803cf74: 3304 adds r3, #4 803cf76: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 803cf7a: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803cf7c: f000 bf79 b.w 803de72 803cf80: 20020070 .word 0x20020070 803cf84: 20021055 .word 0x20021055 803cf88: 20021057 .word 0x20021057 803cf8c: 20023ea8 .word 0x20023ea8 803cf90: 0a7c5ac5 .word 0x0a7c5ac5 803cf94: 000186a0 .word 0x000186a0 803cf98: d1b71759 .word 0xd1b71759 803cf9c: 10624dd3 .word 0x10624dd3 803cfa0: 51eb851f .word 0x51eb851f 803cfa4: cccccccd .word 0xcccccccd 803cfa8: fffe7960 .word 0xfffe7960 803cfac: ffffd8f0 .word 0xffffd8f0 803cfb0: 3dcccccd .word 0x3dcccccd 803cfb4: 38d1b717 .word 0x38d1b717 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 803cfb8: 4ba1 ldr r3, [pc, #644] ; (803d240 ) 803cfba: 781b ldrb r3, [r3, #0] 803cfbc: b2db uxtb r3, r3 803cfbe: 4618 mov r0, r3 803cfc0: 4ba0 ldr r3, [pc, #640] ; (803d244 ) 803cfc2: 781b ldrb r3, [r3, #0] 803cfc4: b2db uxtb r3, r3 803cfc6: 4619 mov r1, r3 803cfc8: 4a9f ldr r2, [pc, #636] ; (803d248 ) 803cfca: 0083 lsls r3, r0, #2 803cfcc: 440b add r3, r1 803cfce: 33b6 adds r3, #182 ; 0xb6 803cfd0: 009b lsls r3, r3, #2 803cfd2: 4413 add r3, r2 803cfd4: 3304 adds r3, #4 803cfd6: ed93 7a00 vldr s14, [r3] 803cfda: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803cfde: eeb4 7ae7 vcmpe.f32 s14, s15 803cfe2: eef1 fa10 vmrs APSR_nzcv, fpscr 803cfe6: d521 bpl.n 803d02c pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 803cfe8: 4b95 ldr r3, [pc, #596] ; (803d240 ) 803cfea: 781b ldrb r3, [r3, #0] 803cfec: b2db uxtb r3, r3 803cfee: 461c mov r4, r3 803cff0: 4b94 ldr r3, [pc, #592] ; (803d244 ) 803cff2: 781b ldrb r3, [r3, #0] 803cff4: b2db uxtb r3, r3 803cff6: 4618 mov r0, r3 803cff8: 4b91 ldr r3, [pc, #580] ; (803d240 ) 803cffa: 781b ldrb r3, [r3, #0] 803cffc: b2db uxtb r3, r3 803cffe: 461d mov r5, r3 803d000: 4b90 ldr r3, [pc, #576] ; (803d244 ) 803d002: 781b ldrb r3, [r3, #0] 803d004: b2db uxtb r3, r3 803d006: 4619 mov r1, r3 803d008: 4a8f ldr r2, [pc, #572] ; (803d248 ) 803d00a: 00ab lsls r3, r5, #2 803d00c: 440b add r3, r1 803d00e: 33b6 adds r3, #182 ; 0xb6 803d010: 009b lsls r3, r3, #2 803d012: 4413 add r3, r2 803d014: 3304 adds r3, #4 803d016: 681a ldr r2, [r3, #0] 803d018: 498b ldr r1, [pc, #556] ; (803d248 ) 803d01a: 00a3 lsls r3, r4, #2 803d01c: 4403 add r3, r0 803d01e: 3396 adds r3, #150 ; 0x96 803d020: 009b lsls r3, r3, #2 803d022: 440b add r3, r1 803d024: 3304 adds r3, #4 803d026: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803d028: f000 bf23 b.w 803de72 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 803d02c: 4b84 ldr r3, [pc, #528] ; (803d240 ) 803d02e: 781b ldrb r3, [r3, #0] 803d030: b2db uxtb r3, r3 803d032: 4618 mov r0, r3 803d034: 4b83 ldr r3, [pc, #524] ; (803d244 ) 803d036: 781b ldrb r3, [r3, #0] 803d038: b2db uxtb r3, r3 803d03a: 4619 mov r1, r3 803d03c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d040: ee07 3a90 vmov s15, r3 803d044: eef8 7a67 vcvt.f32.u32 s15, s15 803d048: 4a7f ldr r2, [pc, #508] ; (803d248 ) 803d04a: 0083 lsls r3, r0, #2 803d04c: 440b add r3, r1 803d04e: 3396 adds r3, #150 ; 0x96 803d050: 009b lsls r3, r3, #2 803d052: 4413 add r3, r2 803d054: 3304 adds r3, #4 803d056: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 803d05a: 4b79 ldr r3, [pc, #484] ; (803d240 ) 803d05c: 781b ldrb r3, [r3, #0] 803d05e: b2da uxtb r2, r3 803d060: 4610 mov r0, r2 803d062: 4b78 ldr r3, [pc, #480] ; (803d244 ) 803d064: 781b ldrb r3, [r3, #0] 803d066: b2db uxtb r3, r3 803d068: 4619 mov r1, r3 803d06a: 4615 mov r5, r2 803d06c: 461c mov r4, r3 803d06e: 4a76 ldr r2, [pc, #472] ; (803d248 ) 803d070: 00ab lsls r3, r5, #2 803d072: 4423 add r3, r4 803d074: 3396 adds r3, #150 ; 0x96 803d076: 009b lsls r3, r3, #2 803d078: 4413 add r3, r2 803d07a: 3304 adds r3, #4 803d07c: edd3 7a00 vldr s15, [r3] 803d080: ed9f 7a72 vldr s14, [pc, #456] ; 803d24c 803d084: ee67 7a87 vmul.f32 s15, s15, s14 803d088: 4a6f ldr r2, [pc, #444] ; (803d248 ) 803d08a: 0083 lsls r3, r0, #2 803d08c: 440b add r3, r1 803d08e: 3396 adds r3, #150 ; 0x96 803d090: 009b lsls r3, r3, #2 803d092: 4413 add r3, r2 803d094: 3304 adds r3, #4 803d096: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 803d09a: 4b69 ldr r3, [pc, #420] ; (803d240 ) 803d09c: 781b ldrb r3, [r3, #0] 803d09e: b2da uxtb r2, r3 803d0a0: 4610 mov r0, r2 803d0a2: 4b68 ldr r3, [pc, #416] ; (803d244 ) 803d0a4: 781b ldrb r3, [r3, #0] 803d0a6: b2db uxtb r3, r3 803d0a8: 4619 mov r1, r3 803d0aa: 4615 mov r5, r2 803d0ac: 461c mov r4, r3 803d0ae: 4a66 ldr r2, [pc, #408] ; (803d248 ) 803d0b0: 00ab lsls r3, r5, #2 803d0b2: 4423 add r3, r4 803d0b4: 3396 adds r3, #150 ; 0x96 803d0b6: 009b lsls r3, r3, #2 803d0b8: 4413 add r3, r2 803d0ba: 3304 adds r3, #4 803d0bc: edd3 7a00 vldr s15, [r3] 803d0c0: ed9f 7a63 vldr s14, [pc, #396] ; 803d250 803d0c4: ee77 7a87 vadd.f32 s15, s15, s14 803d0c8: 4a5f ldr r2, [pc, #380] ; (803d248 ) 803d0ca: 0083 lsls r3, r0, #2 803d0cc: 440b add r3, r1 803d0ce: 3396 adds r3, #150 ; 0x96 803d0d0: 009b lsls r3, r3, #2 803d0d2: 4413 add r3, r2 803d0d4: 3304 adds r3, #4 803d0d6: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803d0da: f000 beca b.w 803de72 if(fl < 2.0f) 803d0de: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803d0e2: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803d0e6: eef4 7ac7 vcmpe.f32 s15, s14 803d0ea: eef1 fa10 vmrs APSR_nzcv, fpscr 803d0ee: d513 bpl.n 803d118 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 803d0f0: 4b53 ldr r3, [pc, #332] ; (803d240 ) 803d0f2: 781b ldrb r3, [r3, #0] 803d0f4: b2db uxtb r3, r3 803d0f6: 4618 mov r0, r3 803d0f8: 4b52 ldr r3, [pc, #328] ; (803d244 ) 803d0fa: 781b ldrb r3, [r3, #0] 803d0fc: b2db uxtb r3, r3 803d0fe: 4619 mov r1, r3 803d100: 4a51 ldr r2, [pc, #324] ; (803d248 ) 803d102: 0083 lsls r3, r0, #2 803d104: 440b add r3, r1 803d106: 3396 adds r3, #150 ; 0x96 803d108: 009b lsls r3, r3, #2 803d10a: 4413 add r3, r2 803d10c: 3304 adds r3, #4 803d10e: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 803d112: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803d114: f000 bead b.w 803de72 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 803d118: 4b49 ldr r3, [pc, #292] ; (803d240 ) 803d11a: 781b ldrb r3, [r3, #0] 803d11c: b2db uxtb r3, r3 803d11e: 4618 mov r0, r3 803d120: 4b48 ldr r3, [pc, #288] ; (803d244 ) 803d122: 781b ldrb r3, [r3, #0] 803d124: b2db uxtb r3, r3 803d126: 4619 mov r1, r3 803d128: 4a47 ldr r2, [pc, #284] ; (803d248 ) 803d12a: 0083 lsls r3, r0, #2 803d12c: 440b add r3, r1 803d12e: 33b6 adds r3, #182 ; 0xb6 803d130: 009b lsls r3, r3, #2 803d132: 4413 add r3, r2 803d134: 3304 adds r3, #4 803d136: ed93 7a00 vldr s14, [r3] 803d13a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803d13e: eeb4 7ae7 vcmpe.f32 s14, s15 803d142: eef1 fa10 vmrs APSR_nzcv, fpscr 803d146: d521 bpl.n 803d18c pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 803d148: 4b3d ldr r3, [pc, #244] ; (803d240 ) 803d14a: 781b ldrb r3, [r3, #0] 803d14c: b2db uxtb r3, r3 803d14e: 461c mov r4, r3 803d150: 4b3c ldr r3, [pc, #240] ; (803d244 ) 803d152: 781b ldrb r3, [r3, #0] 803d154: b2db uxtb r3, r3 803d156: 4618 mov r0, r3 803d158: 4b39 ldr r3, [pc, #228] ; (803d240 ) 803d15a: 781b ldrb r3, [r3, #0] 803d15c: b2db uxtb r3, r3 803d15e: 461d mov r5, r3 803d160: 4b38 ldr r3, [pc, #224] ; (803d244 ) 803d162: 781b ldrb r3, [r3, #0] 803d164: b2db uxtb r3, r3 803d166: 4619 mov r1, r3 803d168: 4a37 ldr r2, [pc, #220] ; (803d248 ) 803d16a: 00ab lsls r3, r5, #2 803d16c: 440b add r3, r1 803d16e: 33b6 adds r3, #182 ; 0xb6 803d170: 009b lsls r3, r3, #2 803d172: 4413 add r3, r2 803d174: 3304 adds r3, #4 803d176: 681a ldr r2, [r3, #0] 803d178: 4933 ldr r1, [pc, #204] ; (803d248 ) 803d17a: 00a3 lsls r3, r4, #2 803d17c: 4403 add r3, r0 803d17e: 3396 adds r3, #150 ; 0x96 803d180: 009b lsls r3, r3, #2 803d182: 440b add r3, r1 803d184: 3304 adds r3, #4 803d186: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803d188: f000 be73 b.w 803de72 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 803d18c: 4b2c ldr r3, [pc, #176] ; (803d240 ) 803d18e: 781b ldrb r3, [r3, #0] 803d190: b2db uxtb r3, r3 803d192: 4618 mov r0, r3 803d194: 4b2b ldr r3, [pc, #172] ; (803d244 ) 803d196: 781b ldrb r3, [r3, #0] 803d198: b2db uxtb r3, r3 803d19a: 4619 mov r1, r3 803d19c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d1a0: ee07 3a90 vmov s15, r3 803d1a4: eef8 7a67 vcvt.f32.u32 s15, s15 803d1a8: 4a27 ldr r2, [pc, #156] ; (803d248 ) 803d1aa: 0083 lsls r3, r0, #2 803d1ac: 440b add r3, r1 803d1ae: 3396 adds r3, #150 ; 0x96 803d1b0: 009b lsls r3, r3, #2 803d1b2: 4413 add r3, r2 803d1b4: 3304 adds r3, #4 803d1b6: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 803d1ba: 4b21 ldr r3, [pc, #132] ; (803d240 ) 803d1bc: 781b ldrb r3, [r3, #0] 803d1be: b2da uxtb r2, r3 803d1c0: 4610 mov r0, r2 803d1c2: 4b20 ldr r3, [pc, #128] ; (803d244 ) 803d1c4: 781b ldrb r3, [r3, #0] 803d1c6: b2db uxtb r3, r3 803d1c8: 4619 mov r1, r3 803d1ca: 4615 mov r5, r2 803d1cc: 461c mov r4, r3 803d1ce: 4a1e ldr r2, [pc, #120] ; (803d248 ) 803d1d0: 00ab lsls r3, r5, #2 803d1d2: 4423 add r3, r4 803d1d4: 3396 adds r3, #150 ; 0x96 803d1d6: 009b lsls r3, r3, #2 803d1d8: 4413 add r3, r2 803d1da: 3304 adds r3, #4 803d1dc: edd3 7a00 vldr s15, [r3] 803d1e0: ed9f 7a1a vldr s14, [pc, #104] ; 803d24c 803d1e4: ee67 7a87 vmul.f32 s15, s15, s14 803d1e8: 4a17 ldr r2, [pc, #92] ; (803d248 ) 803d1ea: 0083 lsls r3, r0, #2 803d1ec: 440b add r3, r1 803d1ee: 3396 adds r3, #150 ; 0x96 803d1f0: 009b lsls r3, r3, #2 803d1f2: 4413 add r3, r2 803d1f4: 3304 adds r3, #4 803d1f6: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 803d1fa: 4b11 ldr r3, [pc, #68] ; (803d240 ) 803d1fc: 781b ldrb r3, [r3, #0] 803d1fe: b2da uxtb r2, r3 803d200: 4610 mov r0, r2 803d202: 4b10 ldr r3, [pc, #64] ; (803d244 ) 803d204: 781b ldrb r3, [r3, #0] 803d206: b2db uxtb r3, r3 803d208: 4619 mov r1, r3 803d20a: 4615 mov r5, r2 803d20c: 461c mov r4, r3 803d20e: 4a0e ldr r2, [pc, #56] ; (803d248 ) 803d210: 00ab lsls r3, r5, #2 803d212: 4423 add r3, r4 803d214: 3396 adds r3, #150 ; 0x96 803d216: 009b lsls r3, r3, #2 803d218: 4413 add r3, r2 803d21a: 3304 adds r3, #4 803d21c: edd3 7a00 vldr s15, [r3] 803d220: ed9f 7a0b vldr s14, [pc, #44] ; 803d250 803d224: ee77 7a87 vadd.f32 s15, s15, s14 803d228: 4a07 ldr r2, [pc, #28] ; (803d248 ) 803d22a: 0083 lsls r3, r0, #2 803d22c: 440b add r3, r1 803d22e: 3396 adds r3, #150 ; 0x96 803d230: 009b lsls r3, r3, #2 803d232: 4413 add r3, r2 803d234: 3304 adds r3, #4 803d236: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803d23a: f000 be1a b.w 803de72 803d23e: bf00 nop 803d240: 20021055 .word 0x20021055 803d244: 20021057 .word 0x20021057 803d248: 20023ea8 .word 0x20023ea8 803d24c: 3dcccccd .word 0x3dcccccd 803d250: 38d1b717 .word 0x38d1b717 if((menupos >= DiagLP_IDT) && (menupos <= DiagLP_IKD)) 803d254: 4bba ldr r3, [pc, #744] ; (803d540 ) 803d256: 781b ldrb r3, [r3, #0] 803d258: b2db uxtb r3, r3 803d25a: 2b12 cmp r3, #18 803d25c: f240 827e bls.w 803d75c 803d260: 4bb7 ldr r3, [pc, #732] ; (803d540 ) 803d262: 781b ldrb r3, [r3, #0] 803d264: b2db uxtb r3, r3 803d266: 2b18 cmp r3, #24 803d268: f200 8278 bhi.w 803d75c k = (uint32_t) (pardata.DIAGN_LP[CURR_POINT][CURR_USL] * 10.0f); 803d26c: 4bb5 ldr r3, [pc, #724] ; (803d544 ) 803d26e: 781b ldrb r3, [r3, #0] 803d270: b2db uxtb r3, r3 803d272: 4618 mov r0, r3 803d274: 4bb4 ldr r3, [pc, #720] ; (803d548 ) 803d276: 781b ldrb r3, [r3, #0] 803d278: b2db uxtb r3, r3 803d27a: 4619 mov r1, r3 803d27c: 4ab3 ldr r2, [pc, #716] ; (803d54c ) 803d27e: 0083 lsls r3, r0, #2 803d280: 440b add r3, r1 803d282: 33b6 adds r3, #182 ; 0xb6 803d284: 009b lsls r3, r3, #2 803d286: 4413 add r3, r2 803d288: 3304 adds r3, #4 803d28a: edd3 7a00 vldr s15, [r3] 803d28e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803d292: ee67 7a87 vmul.f32 s15, s15, s14 803d296: eefc 7ae7 vcvt.u32.f32 s15, s15 803d29a: ee17 3a90 vmov r3, s15 803d29e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803d2a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d2a6: 095b lsrs r3, r3, #5 803d2a8: 4aa9 ldr r2, [pc, #676] ; (803d550 ) 803d2aa: fba2 2303 umull r2, r3, r2, r3 803d2ae: 09db lsrs r3, r3, #7 803d2b0: b2db uxtb r3, r3 803d2b2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803d2b6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d2ba: 0953 lsrs r3, r2, #5 803d2bc: 49a4 ldr r1, [pc, #656] ; (803d550 ) 803d2be: fba1 1303 umull r1, r3, r1, r3 803d2c2: 09db lsrs r3, r3, #7 803d2c4: 49a3 ldr r1, [pc, #652] ; (803d554 ) 803d2c6: fb01 f303 mul.w r3, r1, r3 803d2ca: 1ad3 subs r3, r2, r3 803d2cc: 4aa2 ldr r2, [pc, #648] ; (803d558 ) 803d2ce: fba2 2303 umull r2, r3, r2, r3 803d2d2: 0b5b lsrs r3, r3, #13 803d2d4: b2db uxtb r3, r3 803d2d6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803d2da: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d2de: 0953 lsrs r3, r2, #5 803d2e0: 499b ldr r1, [pc, #620] ; (803d550 ) 803d2e2: fba1 1303 umull r1, r3, r1, r3 803d2e6: 09db lsrs r3, r3, #7 803d2e8: 499a ldr r1, [pc, #616] ; (803d554 ) 803d2ea: fb01 f303 mul.w r3, r1, r3 803d2ee: 1ad3 subs r3, r2, r3 803d2f0: 4a99 ldr r2, [pc, #612] ; (803d558 ) 803d2f2: fba2 1203 umull r1, r2, r2, r3 803d2f6: 0b52 lsrs r2, r2, #13 803d2f8: f242 7110 movw r1, #10000 ; 0x2710 803d2fc: fb01 f202 mul.w r2, r1, r2 803d300: 1a9a subs r2, r3, r2 803d302: 4b96 ldr r3, [pc, #600] ; (803d55c ) 803d304: fba3 2302 umull r2, r3, r3, r2 803d308: 099b lsrs r3, r3, #6 803d30a: b2db uxtb r3, r3 803d30c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803d310: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d314: 095a lsrs r2, r3, #5 803d316: 498e ldr r1, [pc, #568] ; (803d550 ) 803d318: fba1 1202 umull r1, r2, r1, r2 803d31c: 09d2 lsrs r2, r2, #7 803d31e: 498d ldr r1, [pc, #564] ; (803d554 ) 803d320: fb01 f202 mul.w r2, r1, r2 803d324: 1a9a subs r2, r3, r2 803d326: 4b8c ldr r3, [pc, #560] ; (803d558 ) 803d328: fba3 1302 umull r1, r3, r3, r2 803d32c: 0b5b lsrs r3, r3, #13 803d32e: f242 7110 movw r1, #10000 ; 0x2710 803d332: fb01 f303 mul.w r3, r1, r3 803d336: 1ad3 subs r3, r2, r3 803d338: 4a88 ldr r2, [pc, #544] ; (803d55c ) 803d33a: fba2 1203 umull r1, r2, r2, r3 803d33e: 0992 lsrs r2, r2, #6 803d340: f44f 717a mov.w r1, #1000 ; 0x3e8 803d344: fb01 f202 mul.w r2, r1, r2 803d348: 1a9a subs r2, r3, r2 803d34a: 4b85 ldr r3, [pc, #532] ; (803d560 ) 803d34c: fba3 2302 umull r2, r3, r3, r2 803d350: 095b lsrs r3, r3, #5 803d352: b2db uxtb r3, r3 803d354: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803d358: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d35c: 0953 lsrs r3, r2, #5 803d35e: 497c ldr r1, [pc, #496] ; (803d550 ) 803d360: fba1 1303 umull r1, r3, r1, r3 803d364: 09db lsrs r3, r3, #7 803d366: 497b ldr r1, [pc, #492] ; (803d554 ) 803d368: fb01 f303 mul.w r3, r1, r3 803d36c: 1ad3 subs r3, r2, r3 803d36e: 4a7a ldr r2, [pc, #488] ; (803d558 ) 803d370: fba2 1203 umull r1, r2, r2, r3 803d374: 0b52 lsrs r2, r2, #13 803d376: f242 7110 movw r1, #10000 ; 0x2710 803d37a: fb01 f202 mul.w r2, r1, r2 803d37e: 1a9a subs r2, r3, r2 803d380: 4b76 ldr r3, [pc, #472] ; (803d55c ) 803d382: fba3 1302 umull r1, r3, r3, r2 803d386: 099b lsrs r3, r3, #6 803d388: f44f 717a mov.w r1, #1000 ; 0x3e8 803d38c: fb01 f303 mul.w r3, r1, r3 803d390: 1ad3 subs r3, r2, r3 803d392: 4a73 ldr r2, [pc, #460] ; (803d560 ) 803d394: fba2 1203 umull r1, r2, r2, r3 803d398: 0952 lsrs r2, r2, #5 803d39a: 2164 movs r1, #100 ; 0x64 803d39c: fb01 f202 mul.w r2, r1, r2 803d3a0: 1a9a subs r2, r3, r2 803d3a2: 4b70 ldr r3, [pc, #448] ; (803d564 ) 803d3a4: fba3 2302 umull r2, r3, r3, r2 803d3a8: 08db lsrs r3, r3, #3 803d3aa: b2db uxtb r3, r3 803d3ac: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803d3b0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d3b4: 0953 lsrs r3, r2, #5 803d3b6: 4966 ldr r1, [pc, #408] ; (803d550 ) 803d3b8: fba1 1303 umull r1, r3, r1, r3 803d3bc: 09db lsrs r3, r3, #7 803d3be: 4965 ldr r1, [pc, #404] ; (803d554 ) 803d3c0: fb01 f303 mul.w r3, r1, r3 803d3c4: 1ad3 subs r3, r2, r3 803d3c6: 4a64 ldr r2, [pc, #400] ; (803d558 ) 803d3c8: fba2 1203 umull r1, r2, r2, r3 803d3cc: 0b52 lsrs r2, r2, #13 803d3ce: f242 7110 movw r1, #10000 ; 0x2710 803d3d2: fb01 f202 mul.w r2, r1, r2 803d3d6: 1a9a subs r2, r3, r2 803d3d8: 4b60 ldr r3, [pc, #384] ; (803d55c ) 803d3da: fba3 1302 umull r1, r3, r3, r2 803d3de: 099b lsrs r3, r3, #6 803d3e0: f44f 717a mov.w r1, #1000 ; 0x3e8 803d3e4: fb01 f303 mul.w r3, r1, r3 803d3e8: 1ad3 subs r3, r2, r3 803d3ea: 4a5d ldr r2, [pc, #372] ; (803d560 ) 803d3ec: fba2 1203 umull r1, r2, r2, r3 803d3f0: 0952 lsrs r2, r2, #5 803d3f2: 2164 movs r1, #100 ; 0x64 803d3f4: fb01 f202 mul.w r2, r1, r2 803d3f8: 1a9a subs r2, r3, r2 803d3fa: 4b5a ldr r3, [pc, #360] ; (803d564 ) 803d3fc: fba3 1302 umull r1, r3, r3, r2 803d400: 08d9 lsrs r1, r3, #3 803d402: 460b mov r3, r1 803d404: 009b lsls r3, r3, #2 803d406: 440b add r3, r1 803d408: 005b lsls r3, r3, #1 803d40a: 1ad1 subs r1, r2, r3 803d40c: b2cb uxtb r3, r1 803d40e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803d412: 4b4b ldr r3, [pc, #300] ; (803d540 ) 803d414: 781b ldrb r3, [r3, #0] 803d416: b2db uxtb r3, r3 803d418: 3b13 subs r3, #19 803d41a: 2b05 cmp r3, #5 803d41c: d85c bhi.n 803d4d8 803d41e: a201 add r2, pc, #4 ; (adr r2, 803d424 ) 803d420: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803d424: 0803d43d .word 0x0803d43d 803d428: 0803d455 .word 0x0803d455 803d42c: 0803d46f .word 0x0803d46f 803d430: 0803d487 .word 0x0803d487 803d434: 0803d49b .word 0x0803d49b 803d438: 0803d4af .word 0x0803d4af if(k > 100000) 803d43c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d440: 4a44 ldr r2, [pc, #272] ; (803d554 ) 803d442: 4293 cmp r3, r2 803d444: d93d bls.n 803d4c2 k -= 100000; 803d446: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d44a: 4b47 ldr r3, [pc, #284] ; (803d568 ) 803d44c: 4413 add r3, r2 803d44e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d452: e036 b.n 803d4c2 if(k > 10000) 803d454: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d458: f242 7210 movw r2, #10000 ; 0x2710 803d45c: 4293 cmp r3, r2 803d45e: d932 bls.n 803d4c6 k -= 10000; 803d460: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d464: 4b41 ldr r3, [pc, #260] ; (803d56c ) 803d466: 4413 add r3, r2 803d468: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d46c: e02b b.n 803d4c6 if(k > 1000) 803d46e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d472: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803d476: d928 bls.n 803d4ca k -= 1000; 803d478: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d47c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803d480: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d484: e021 b.n 803d4ca if(k > 100) 803d486: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d48a: 2b64 cmp r3, #100 ; 0x64 803d48c: d91f bls.n 803d4ce k -= 100; 803d48e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d492: 3b64 subs r3, #100 ; 0x64 803d494: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d498: e019 b.n 803d4ce if(k > 10) 803d49a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d49e: 2b0a cmp r3, #10 803d4a0: d917 bls.n 803d4d2 k -= 10; 803d4a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d4a6: 3b0a subs r3, #10 803d4a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d4ac: e011 b.n 803d4d2 if(k > 1) 803d4ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d4b2: 2b01 cmp r3, #1 803d4b4: d90f bls.n 803d4d6 k--; 803d4b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d4ba: 3b01 subs r3, #1 803d4bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d4c0: e009 b.n 803d4d6 break; 803d4c2: bf00 nop 803d4c4: e008 b.n 803d4d8 break; 803d4c6: bf00 nop 803d4c8: e006 b.n 803d4d8 break; 803d4ca: bf00 nop 803d4cc: e004 b.n 803d4d8 break; 803d4ce: bf00 nop 803d4d0: e002 b.n 803d4d8 break; 803d4d2: bf00 nop 803d4d4: e000 b.n 803d4d8 break; 803d4d6: bf00 nop fl = (float32_t) k; 803d4d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d4dc: ee07 3a90 vmov s15, r3 803d4e0: eef8 7a67 vcvt.f32.u32 s15, s15 803d4e4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803d4e8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803d4ec: ed9f 7a20 vldr s14, [pc, #128] ; 803d570 803d4f0: ee67 7a87 vmul.f32 s15, s15, s14 803d4f4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803d4f8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803d4fc: ed9f 7a1d vldr s14, [pc, #116] ; 803d574 803d500: ee77 7a87 vadd.f32 s15, s15, s14 803d504: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 803d508: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803d50c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803d510: eef4 7ac7 vcmpe.f32 s15, s14 803d514: eef1 fa10 vmrs APSR_nzcv, fpscr 803d518: d530 bpl.n 803d57c pardata.DIAGN_LP[CURR_POINT][CURR_USL] = 10.0f; 803d51a: 4b0a ldr r3, [pc, #40] ; (803d544 ) 803d51c: 781b ldrb r3, [r3, #0] 803d51e: b2db uxtb r3, r3 803d520: 4618 mov r0, r3 803d522: 4b09 ldr r3, [pc, #36] ; (803d548 ) 803d524: 781b ldrb r3, [r3, #0] 803d526: b2db uxtb r3, r3 803d528: 4619 mov r1, r3 803d52a: 4a08 ldr r2, [pc, #32] ; (803d54c ) 803d52c: 0083 lsls r3, r0, #2 803d52e: 440b add r3, r1 803d530: 33b6 adds r3, #182 ; 0xb6 803d532: 009b lsls r3, r3, #2 803d534: 4413 add r3, r2 803d536: 3304 adds r3, #4 803d538: 4a0f ldr r2, [pc, #60] ; (803d578 ) 803d53a: 601a str r2, [r3, #0] if(fl < 10.0f) 803d53c: f000 bc99 b.w 803de72 803d540: 20020070 .word 0x20020070 803d544: 20021055 .word 0x20021055 803d548: 20021057 .word 0x20021057 803d54c: 20023ea8 .word 0x20023ea8 803d550: 0a7c5ac5 .word 0x0a7c5ac5 803d554: 000186a0 .word 0x000186a0 803d558: d1b71759 .word 0xd1b71759 803d55c: 10624dd3 .word 0x10624dd3 803d560: 51eb851f .word 0x51eb851f 803d564: cccccccd .word 0xcccccccd 803d568: fffe7960 .word 0xfffe7960 803d56c: ffffd8f0 .word 0xffffd8f0 803d570: 3dcccccd .word 0x3dcccccd 803d574: 38d1b717 .word 0x38d1b717 803d578: 41200000 .word 0x41200000 if(pardata.DIAGN_LP[CURR_POINT][CURR_USL] < pardata.DIAGN_HP[CURR_POINT][CURR_USL]) 803d57c: 4b6f ldr r3, [pc, #444] ; (803d73c ) 803d57e: 781b ldrb r3, [r3, #0] 803d580: b2db uxtb r3, r3 803d582: 4618 mov r0, r3 803d584: 4b6e ldr r3, [pc, #440] ; (803d740 ) 803d586: 781b ldrb r3, [r3, #0] 803d588: b2db uxtb r3, r3 803d58a: 4619 mov r1, r3 803d58c: 4a6d ldr r2, [pc, #436] ; (803d744 ) 803d58e: 0083 lsls r3, r0, #2 803d590: 440b add r3, r1 803d592: 33b6 adds r3, #182 ; 0xb6 803d594: 009b lsls r3, r3, #2 803d596: 4413 add r3, r2 803d598: 3304 adds r3, #4 803d59a: ed93 7a00 vldr s14, [r3] 803d59e: 4b67 ldr r3, [pc, #412] ; (803d73c ) 803d5a0: 781b ldrb r3, [r3, #0] 803d5a2: b2db uxtb r3, r3 803d5a4: 4618 mov r0, r3 803d5a6: 4b66 ldr r3, [pc, #408] ; (803d740 ) 803d5a8: 781b ldrb r3, [r3, #0] 803d5aa: b2db uxtb r3, r3 803d5ac: 4619 mov r1, r3 803d5ae: 4a65 ldr r2, [pc, #404] ; (803d744 ) 803d5b0: 0083 lsls r3, r0, #2 803d5b2: 440b add r3, r1 803d5b4: 3396 adds r3, #150 ; 0x96 803d5b6: 009b lsls r3, r3, #2 803d5b8: 4413 add r3, r2 803d5ba: 3304 adds r3, #4 803d5bc: edd3 7a00 vldr s15, [r3] 803d5c0: eeb4 7ae7 vcmpe.f32 s14, s15 803d5c4: eef1 fa10 vmrs APSR_nzcv, fpscr 803d5c8: d521 bpl.n 803d60e pardata.DIAGN_LP[CURR_POINT][CURR_USL] = pardata.DIAGN_HP[CURR_POINT][CURR_USL]; 803d5ca: 4b5c ldr r3, [pc, #368] ; (803d73c ) 803d5cc: 781b ldrb r3, [r3, #0] 803d5ce: b2db uxtb r3, r3 803d5d0: 461c mov r4, r3 803d5d2: 4b5b ldr r3, [pc, #364] ; (803d740 ) 803d5d4: 781b ldrb r3, [r3, #0] 803d5d6: b2db uxtb r3, r3 803d5d8: 4618 mov r0, r3 803d5da: 4b58 ldr r3, [pc, #352] ; (803d73c ) 803d5dc: 781b ldrb r3, [r3, #0] 803d5de: b2db uxtb r3, r3 803d5e0: 461d mov r5, r3 803d5e2: 4b57 ldr r3, [pc, #348] ; (803d740 ) 803d5e4: 781b ldrb r3, [r3, #0] 803d5e6: b2db uxtb r3, r3 803d5e8: 4619 mov r1, r3 803d5ea: 4a56 ldr r2, [pc, #344] ; (803d744 ) 803d5ec: 00ab lsls r3, r5, #2 803d5ee: 440b add r3, r1 803d5f0: 3396 adds r3, #150 ; 0x96 803d5f2: 009b lsls r3, r3, #2 803d5f4: 4413 add r3, r2 803d5f6: 3304 adds r3, #4 803d5f8: 681a ldr r2, [r3, #0] 803d5fa: 4952 ldr r1, [pc, #328] ; (803d744 ) 803d5fc: 00a3 lsls r3, r4, #2 803d5fe: 4403 add r3, r0 803d600: 33b6 adds r3, #182 ; 0xb6 803d602: 009b lsls r3, r3, #2 803d604: 440b add r3, r1 803d606: 3304 adds r3, #4 803d608: 601a str r2, [r3, #0] if(fl < 10.0f) 803d60a: f000 bc32 b.w 803de72 if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 803d60e: 4b4d ldr r3, [pc, #308] ; (803d744 ) 803d610: 7adb ldrb r3, [r3, #11] 803d612: b2db uxtb r3, r3 803d614: 461a mov r2, r3 803d616: 4b4c ldr r3, [pc, #304] ; (803d748 ) 803d618: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803d61c: ee07 3a90 vmov s15, r3 803d620: eeb8 7a67 vcvt.f32.u32 s14, s15 803d624: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 803d628: eec7 7a26 vdiv.f32 s15, s14, s13 803d62c: ed9f 7a47 vldr s14, [pc, #284] ; 803d74c 803d630: ee37 7a87 vadd.f32 s14, s15, s14 803d634: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803d638: eeb4 7ae7 vcmpe.f32 s14, s15 803d63c: eef1 fa10 vmrs APSR_nzcv, fpscr 803d640: d524 bpl.n 803d68c pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 803d642: 4b3e ldr r3, [pc, #248] ; (803d73c ) 803d644: 781b ldrb r3, [r3, #0] 803d646: b2db uxtb r3, r3 803d648: 4618 mov r0, r3 803d64a: 4b3d ldr r3, [pc, #244] ; (803d740 ) 803d64c: 781b ldrb r3, [r3, #0] 803d64e: b2db uxtb r3, r3 803d650: 4619 mov r1, r3 803d652: 4b3c ldr r3, [pc, #240] ; (803d744 ) 803d654: 7adb ldrb r3, [r3, #11] 803d656: b2db uxtb r3, r3 803d658: 461a mov r2, r3 803d65a: 4b3b ldr r3, [pc, #236] ; (803d748 ) 803d65c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803d660: 4a3b ldr r2, [pc, #236] ; (803d750 ) 803d662: fba2 2303 umull r2, r3, r2, r3 803d666: 089b lsrs r3, r3, #2 803d668: ee07 3a90 vmov s15, r3 803d66c: eef8 7a67 vcvt.f32.u32 s15, s15 803d670: ed9f 7a38 vldr s14, [pc, #224] ; 803d754 803d674: ee77 7a87 vadd.f32 s15, s15, s14 803d678: 4a32 ldr r2, [pc, #200] ; (803d744 ) 803d67a: 0083 lsls r3, r0, #2 803d67c: 440b add r3, r1 803d67e: 33b6 adds r3, #182 ; 0xb6 803d680: 009b lsls r3, r3, #2 803d682: 4413 add r3, r2 803d684: 3304 adds r3, #4 803d686: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 803d68a: e3f2 b.n 803de72 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) k; 803d68c: 4b2b ldr r3, [pc, #172] ; (803d73c ) 803d68e: 781b ldrb r3, [r3, #0] 803d690: b2db uxtb r3, r3 803d692: 4618 mov r0, r3 803d694: 4b2a ldr r3, [pc, #168] ; (803d740 ) 803d696: 781b ldrb r3, [r3, #0] 803d698: b2db uxtb r3, r3 803d69a: 4619 mov r1, r3 803d69c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d6a0: ee07 3a90 vmov s15, r3 803d6a4: eef8 7a67 vcvt.f32.u32 s15, s15 803d6a8: 4a26 ldr r2, [pc, #152] ; (803d744 ) 803d6aa: 0083 lsls r3, r0, #2 803d6ac: 440b add r3, r1 803d6ae: 33b6 adds r3, #182 ; 0xb6 803d6b0: 009b lsls r3, r3, #2 803d6b2: 4413 add r3, r2 803d6b4: 3304 adds r3, #4 803d6b6: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] *= 0.1f; 803d6ba: 4b20 ldr r3, [pc, #128] ; (803d73c ) 803d6bc: 781b ldrb r3, [r3, #0] 803d6be: b2da uxtb r2, r3 803d6c0: 4610 mov r0, r2 803d6c2: 4b1f ldr r3, [pc, #124] ; (803d740 ) 803d6c4: 781b ldrb r3, [r3, #0] 803d6c6: b2db uxtb r3, r3 803d6c8: 4619 mov r1, r3 803d6ca: 4615 mov r5, r2 803d6cc: 461c mov r4, r3 803d6ce: 4a1d ldr r2, [pc, #116] ; (803d744 ) 803d6d0: 00ab lsls r3, r5, #2 803d6d2: 4423 add r3, r4 803d6d4: 33b6 adds r3, #182 ; 0xb6 803d6d6: 009b lsls r3, r3, #2 803d6d8: 4413 add r3, r2 803d6da: 3304 adds r3, #4 803d6dc: edd3 7a00 vldr s15, [r3] 803d6e0: ed9f 7a1d vldr s14, [pc, #116] ; 803d758 803d6e4: ee67 7a87 vmul.f32 s15, s15, s14 803d6e8: 4a16 ldr r2, [pc, #88] ; (803d744 ) 803d6ea: 0083 lsls r3, r0, #2 803d6ec: 440b add r3, r1 803d6ee: 33b6 adds r3, #182 ; 0xb6 803d6f0: 009b lsls r3, r3, #2 803d6f2: 4413 add r3, r2 803d6f4: 3304 adds r3, #4 803d6f6: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001f; 803d6fa: 4b10 ldr r3, [pc, #64] ; (803d73c ) 803d6fc: 781b ldrb r3, [r3, #0] 803d6fe: b2da uxtb r2, r3 803d700: 4610 mov r0, r2 803d702: 4b0f ldr r3, [pc, #60] ; (803d740 ) 803d704: 781b ldrb r3, [r3, #0] 803d706: b2db uxtb r3, r3 803d708: 4619 mov r1, r3 803d70a: 4615 mov r5, r2 803d70c: 461c mov r4, r3 803d70e: 4a0d ldr r2, [pc, #52] ; (803d744 ) 803d710: 00ab lsls r3, r5, #2 803d712: 4423 add r3, r4 803d714: 33b6 adds r3, #182 ; 0xb6 803d716: 009b lsls r3, r3, #2 803d718: 4413 add r3, r2 803d71a: 3304 adds r3, #4 803d71c: edd3 7a00 vldr s15, [r3] 803d720: ed9f 7a0c vldr s14, [pc, #48] ; 803d754 803d724: ee77 7a87 vadd.f32 s15, s15, s14 803d728: 4a06 ldr r2, [pc, #24] ; (803d744 ) 803d72a: 0083 lsls r3, r0, #2 803d72c: 440b add r3, r1 803d72e: 33b6 adds r3, #182 ; 0xb6 803d730: 009b lsls r3, r3, #2 803d732: 4413 add r3, r2 803d734: 3304 adds r3, #4 803d736: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 803d73a: e39a b.n 803de72 803d73c: 20021055 .word 0x20021055 803d740: 20021057 .word 0x20021057 803d744: 20023ea8 .word 0x20023ea8 803d748: 080f2c08 .word 0x080f2c08 803d74c: 3851b717 .word 0x3851b717 803d750: cccccccd .word 0xcccccccd 803d754: 38d1b717 .word 0x38d1b717 803d758: 3dcccccd .word 0x3dcccccd if((menupos >= DiagW_IDT) && (menupos <= DiagW_IKD)) 803d75c: 4ba0 ldr r3, [pc, #640] ; (803d9e0 ) 803d75e: 781b ldrb r3, [r3, #0] 803d760: b2db uxtb r3, r3 803d762: 2b18 cmp r3, #24 803d764: f240 81bc bls.w 803dae0 803d768: 4b9d ldr r3, [pc, #628] ; (803d9e0 ) 803d76a: 781b ldrb r3, [r3, #0] 803d76c: b2db uxtb r3, r3 803d76e: 2b1e cmp r3, #30 803d770: f200 81b6 bhi.w 803dae0 k = (uint32_t) (pardata.DIAGN_W[CURR_POINT][CURR_USL] * 10.0f); 803d774: 4b9b ldr r3, [pc, #620] ; (803d9e4 ) 803d776: 781b ldrb r3, [r3, #0] 803d778: b2db uxtb r3, r3 803d77a: 4618 mov r0, r3 803d77c: 4b9a ldr r3, [pc, #616] ; (803d9e8 ) 803d77e: 781b ldrb r3, [r3, #0] 803d780: b2db uxtb r3, r3 803d782: 4619 mov r1, r3 803d784: 4a99 ldr r2, [pc, #612] ; (803d9ec ) 803d786: 0083 lsls r3, r0, #2 803d788: 440b add r3, r1 803d78a: 33d6 adds r3, #214 ; 0xd6 803d78c: 009b lsls r3, r3, #2 803d78e: 4413 add r3, r2 803d790: 3304 adds r3, #4 803d792: edd3 7a00 vldr s15, [r3] 803d796: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803d79a: ee67 7a87 vmul.f32 s15, s15, s14 803d79e: eefc 7ae7 vcvt.u32.f32 s15, s15 803d7a2: ee17 3a90 vmov r3, s15 803d7a6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803d7aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d7ae: 095b lsrs r3, r3, #5 803d7b0: 4a8f ldr r2, [pc, #572] ; (803d9f0 ) 803d7b2: fba2 2303 umull r2, r3, r2, r3 803d7b6: 09db lsrs r3, r3, #7 803d7b8: b2db uxtb r3, r3 803d7ba: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803d7be: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d7c2: 0953 lsrs r3, r2, #5 803d7c4: 498a ldr r1, [pc, #552] ; (803d9f0 ) 803d7c6: fba1 1303 umull r1, r3, r1, r3 803d7ca: 09db lsrs r3, r3, #7 803d7cc: 4989 ldr r1, [pc, #548] ; (803d9f4 ) 803d7ce: fb01 f303 mul.w r3, r1, r3 803d7d2: 1ad3 subs r3, r2, r3 803d7d4: 4a88 ldr r2, [pc, #544] ; (803d9f8 ) 803d7d6: fba2 2303 umull r2, r3, r2, r3 803d7da: 0b5b lsrs r3, r3, #13 803d7dc: b2db uxtb r3, r3 803d7de: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803d7e2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d7e6: 0953 lsrs r3, r2, #5 803d7e8: 4981 ldr r1, [pc, #516] ; (803d9f0 ) 803d7ea: fba1 1303 umull r1, r3, r1, r3 803d7ee: 09db lsrs r3, r3, #7 803d7f0: 4980 ldr r1, [pc, #512] ; (803d9f4 ) 803d7f2: fb01 f303 mul.w r3, r1, r3 803d7f6: 1ad3 subs r3, r2, r3 803d7f8: 4a7f ldr r2, [pc, #508] ; (803d9f8 ) 803d7fa: fba2 1203 umull r1, r2, r2, r3 803d7fe: 0b52 lsrs r2, r2, #13 803d800: f242 7110 movw r1, #10000 ; 0x2710 803d804: fb01 f202 mul.w r2, r1, r2 803d808: 1a9a subs r2, r3, r2 803d80a: 4b7c ldr r3, [pc, #496] ; (803d9fc ) 803d80c: fba3 2302 umull r2, r3, r3, r2 803d810: 099b lsrs r3, r3, #6 803d812: b2db uxtb r3, r3 803d814: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803d818: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d81c: 095a lsrs r2, r3, #5 803d81e: 4974 ldr r1, [pc, #464] ; (803d9f0 ) 803d820: fba1 1202 umull r1, r2, r1, r2 803d824: 09d2 lsrs r2, r2, #7 803d826: 4973 ldr r1, [pc, #460] ; (803d9f4 ) 803d828: fb01 f202 mul.w r2, r1, r2 803d82c: 1a9a subs r2, r3, r2 803d82e: 4b72 ldr r3, [pc, #456] ; (803d9f8 ) 803d830: fba3 1302 umull r1, r3, r3, r2 803d834: 0b5b lsrs r3, r3, #13 803d836: f242 7110 movw r1, #10000 ; 0x2710 803d83a: fb01 f303 mul.w r3, r1, r3 803d83e: 1ad3 subs r3, r2, r3 803d840: 4a6e ldr r2, [pc, #440] ; (803d9fc ) 803d842: fba2 1203 umull r1, r2, r2, r3 803d846: 0992 lsrs r2, r2, #6 803d848: f44f 717a mov.w r1, #1000 ; 0x3e8 803d84c: fb01 f202 mul.w r2, r1, r2 803d850: 1a9a subs r2, r3, r2 803d852: 4b6b ldr r3, [pc, #428] ; (803da00 ) 803d854: fba3 2302 umull r2, r3, r3, r2 803d858: 095b lsrs r3, r3, #5 803d85a: b2db uxtb r3, r3 803d85c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803d860: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d864: 0953 lsrs r3, r2, #5 803d866: 4962 ldr r1, [pc, #392] ; (803d9f0 ) 803d868: fba1 1303 umull r1, r3, r1, r3 803d86c: 09db lsrs r3, r3, #7 803d86e: 4961 ldr r1, [pc, #388] ; (803d9f4 ) 803d870: fb01 f303 mul.w r3, r1, r3 803d874: 1ad3 subs r3, r2, r3 803d876: 4a60 ldr r2, [pc, #384] ; (803d9f8 ) 803d878: fba2 1203 umull r1, r2, r2, r3 803d87c: 0b52 lsrs r2, r2, #13 803d87e: f242 7110 movw r1, #10000 ; 0x2710 803d882: fb01 f202 mul.w r2, r1, r2 803d886: 1a9a subs r2, r3, r2 803d888: 4b5c ldr r3, [pc, #368] ; (803d9fc ) 803d88a: fba3 1302 umull r1, r3, r3, r2 803d88e: 099b lsrs r3, r3, #6 803d890: f44f 717a mov.w r1, #1000 ; 0x3e8 803d894: fb01 f303 mul.w r3, r1, r3 803d898: 1ad3 subs r3, r2, r3 803d89a: 4a59 ldr r2, [pc, #356] ; (803da00 ) 803d89c: fba2 1203 umull r1, r2, r2, r3 803d8a0: 0952 lsrs r2, r2, #5 803d8a2: 2164 movs r1, #100 ; 0x64 803d8a4: fb01 f202 mul.w r2, r1, r2 803d8a8: 1a9a subs r2, r3, r2 803d8aa: 4b56 ldr r3, [pc, #344] ; (803da04 ) 803d8ac: fba3 2302 umull r2, r3, r3, r2 803d8b0: 08db lsrs r3, r3, #3 803d8b2: b2db uxtb r3, r3 803d8b4: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803d8b8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d8bc: 0953 lsrs r3, r2, #5 803d8be: 494c ldr r1, [pc, #304] ; (803d9f0 ) 803d8c0: fba1 1303 umull r1, r3, r1, r3 803d8c4: 09db lsrs r3, r3, #7 803d8c6: 494b ldr r1, [pc, #300] ; (803d9f4 ) 803d8c8: fb01 f303 mul.w r3, r1, r3 803d8cc: 1ad3 subs r3, r2, r3 803d8ce: 4a4a ldr r2, [pc, #296] ; (803d9f8 ) 803d8d0: fba2 1203 umull r1, r2, r2, r3 803d8d4: 0b52 lsrs r2, r2, #13 803d8d6: f242 7110 movw r1, #10000 ; 0x2710 803d8da: fb01 f202 mul.w r2, r1, r2 803d8de: 1a9a subs r2, r3, r2 803d8e0: 4b46 ldr r3, [pc, #280] ; (803d9fc ) 803d8e2: fba3 1302 umull r1, r3, r3, r2 803d8e6: 099b lsrs r3, r3, #6 803d8e8: f44f 717a mov.w r1, #1000 ; 0x3e8 803d8ec: fb01 f303 mul.w r3, r1, r3 803d8f0: 1ad3 subs r3, r2, r3 803d8f2: 4a43 ldr r2, [pc, #268] ; (803da00 ) 803d8f4: fba2 1203 umull r1, r2, r2, r3 803d8f8: 0952 lsrs r2, r2, #5 803d8fa: 2164 movs r1, #100 ; 0x64 803d8fc: fb01 f202 mul.w r2, r1, r2 803d900: 1a9a subs r2, r3, r2 803d902: 4b40 ldr r3, [pc, #256] ; (803da04 ) 803d904: fba3 1302 umull r1, r3, r3, r2 803d908: 08d9 lsrs r1, r3, #3 803d90a: 460b mov r3, r1 803d90c: 009b lsls r3, r3, #2 803d90e: 440b add r3, r1 803d910: 005b lsls r3, r3, #1 803d912: 1ad1 subs r1, r2, r3 803d914: b2cb uxtb r3, r1 803d916: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803d91a: 4b31 ldr r3, [pc, #196] ; (803d9e0 ) 803d91c: 781b ldrb r3, [r3, #0] 803d91e: b2db uxtb r3, r3 803d920: 3b19 subs r3, #25 803d922: 2b05 cmp r3, #5 803d924: d875 bhi.n 803da12 803d926: a201 add r2, pc, #4 ; (adr r2, 803d92c ) 803d928: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803d92c: 0803d945 .word 0x0803d945 803d930: 0803d95d .word 0x0803d95d 803d934: 0803d977 .word 0x0803d977 803d938: 0803d98f .word 0x0803d98f 803d93c: 0803d9a3 .word 0x0803d9a3 803d940: 0803d9b7 .word 0x0803d9b7 if(k > 100000) 803d944: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d948: 4a2a ldr r2, [pc, #168] ; (803d9f4 ) 803d94a: 4293 cmp r3, r2 803d94c: d93d bls.n 803d9ca k -= 100000; 803d94e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d952: 4b2d ldr r3, [pc, #180] ; (803da08 ) 803d954: 4413 add r3, r2 803d956: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d95a: e036 b.n 803d9ca if(k > 10000) 803d95c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d960: f242 7210 movw r2, #10000 ; 0x2710 803d964: 4293 cmp r3, r2 803d966: d932 bls.n 803d9ce k -= 10000; 803d968: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d96c: 4b27 ldr r3, [pc, #156] ; (803da0c ) 803d96e: 4413 add r3, r2 803d970: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d974: e02b b.n 803d9ce if(k > 1000) 803d976: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d97a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803d97e: d928 bls.n 803d9d2 k -= 1000; 803d980: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d984: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803d988: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d98c: e021 b.n 803d9d2 if(k > 100) 803d98e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d992: 2b64 cmp r3, #100 ; 0x64 803d994: d91f bls.n 803d9d6 k -= 100; 803d996: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d99a: 3b64 subs r3, #100 ; 0x64 803d99c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d9a0: e019 b.n 803d9d6 if(k > 10) 803d9a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d9a6: 2b0a cmp r3, #10 803d9a8: d917 bls.n 803d9da k -= 10; 803d9aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d9ae: 3b0a subs r3, #10 803d9b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d9b4: e011 b.n 803d9da if(k > 1) 803d9b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d9ba: 2b01 cmp r3, #1 803d9bc: d928 bls.n 803da10 k--; 803d9be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d9c2: 3b01 subs r3, #1 803d9c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d9c8: e022 b.n 803da10 break; 803d9ca: bf00 nop 803d9cc: e021 b.n 803da12 break; 803d9ce: bf00 nop 803d9d0: e01f b.n 803da12 break; 803d9d2: bf00 nop 803d9d4: e01d b.n 803da12 break; 803d9d6: bf00 nop 803d9d8: e01b b.n 803da12 break; 803d9da: bf00 nop 803d9dc: e019 b.n 803da12 803d9de: bf00 nop 803d9e0: 20020070 .word 0x20020070 803d9e4: 20021055 .word 0x20021055 803d9e8: 20021057 .word 0x20021057 803d9ec: 20023ea8 .word 0x20023ea8 803d9f0: 0a7c5ac5 .word 0x0a7c5ac5 803d9f4: 000186a0 .word 0x000186a0 803d9f8: d1b71759 .word 0xd1b71759 803d9fc: 10624dd3 .word 0x10624dd3 803da00: 51eb851f .word 0x51eb851f 803da04: cccccccd .word 0xcccccccd 803da08: fffe7960 .word 0xfffe7960 803da0c: ffffd8f0 .word 0xffffd8f0 break; 803da10: bf00 nop if(k > 999999) k = 999999; 803da12: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803da16: 4ad1 ldr r2, [pc, #836] ; (803dd5c ) 803da18: 4293 cmp r3, r2 803da1a: d902 bls.n 803da22 803da1c: 4bcf ldr r3, [pc, #828] ; (803dd5c ) 803da1e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803da22: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803da26: 2b00 cmp r3, #0 803da28: d102 bne.n 803da30 803da2a: 2301 movs r3, #1 803da2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_W[CURR_POINT][CURR_USL] = (float32_t) k; 803da30: 4bcb ldr r3, [pc, #812] ; (803dd60 ) 803da32: 781b ldrb r3, [r3, #0] 803da34: b2db uxtb r3, r3 803da36: 4618 mov r0, r3 803da38: 4bca ldr r3, [pc, #808] ; (803dd64 ) 803da3a: 781b ldrb r3, [r3, #0] 803da3c: b2db uxtb r3, r3 803da3e: 4619 mov r1, r3 803da40: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803da44: ee07 3a90 vmov s15, r3 803da48: eef8 7a67 vcvt.f32.u32 s15, s15 803da4c: 4ac6 ldr r2, [pc, #792] ; (803dd68 ) 803da4e: 0083 lsls r3, r0, #2 803da50: 440b add r3, r1 803da52: 33d6 adds r3, #214 ; 0xd6 803da54: 009b lsls r3, r3, #2 803da56: 4413 add r3, r2 803da58: 3304 adds r3, #4 803da5a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] *= 0.1f; 803da5e: 4bc0 ldr r3, [pc, #768] ; (803dd60 ) 803da60: 781b ldrb r3, [r3, #0] 803da62: b2da uxtb r2, r3 803da64: 4610 mov r0, r2 803da66: 4bbf ldr r3, [pc, #764] ; (803dd64 ) 803da68: 781b ldrb r3, [r3, #0] 803da6a: b2db uxtb r3, r3 803da6c: 4619 mov r1, r3 803da6e: 4615 mov r5, r2 803da70: 461c mov r4, r3 803da72: 4abd ldr r2, [pc, #756] ; (803dd68 ) 803da74: 00ab lsls r3, r5, #2 803da76: 4423 add r3, r4 803da78: 33d6 adds r3, #214 ; 0xd6 803da7a: 009b lsls r3, r3, #2 803da7c: 4413 add r3, r2 803da7e: 3304 adds r3, #4 803da80: edd3 7a00 vldr s15, [r3] 803da84: ed9f 7ab9 vldr s14, [pc, #740] ; 803dd6c 803da88: ee67 7a87 vmul.f32 s15, s15, s14 803da8c: 4ab6 ldr r2, [pc, #728] ; (803dd68 ) 803da8e: 0083 lsls r3, r0, #2 803da90: 440b add r3, r1 803da92: 33d6 adds r3, #214 ; 0xd6 803da94: 009b lsls r3, r3, #2 803da96: 4413 add r3, r2 803da98: 3304 adds r3, #4 803da9a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] += 0.05f; 803da9e: 4bb0 ldr r3, [pc, #704] ; (803dd60 ) 803daa0: 781b ldrb r3, [r3, #0] 803daa2: b2da uxtb r2, r3 803daa4: 4610 mov r0, r2 803daa6: 4baf ldr r3, [pc, #700] ; (803dd64 ) 803daa8: 781b ldrb r3, [r3, #0] 803daaa: b2db uxtb r3, r3 803daac: 4619 mov r1, r3 803daae: 4615 mov r5, r2 803dab0: 461c mov r4, r3 803dab2: 4aad ldr r2, [pc, #692] ; (803dd68 ) 803dab4: 00ab lsls r3, r5, #2 803dab6: 4423 add r3, r4 803dab8: 33d6 adds r3, #214 ; 0xd6 803daba: 009b lsls r3, r3, #2 803dabc: 4413 add r3, r2 803dabe: 3304 adds r3, #4 803dac0: edd3 7a00 vldr s15, [r3] 803dac4: ed9f 7aaa vldr s14, [pc, #680] ; 803dd70 803dac8: ee77 7a87 vadd.f32 s15, s15, s14 803dacc: 4aa6 ldr r2, [pc, #664] ; (803dd68 ) 803dace: 0083 lsls r3, r0, #2 803dad0: 440b add r3, r1 803dad2: 33d6 adds r3, #214 ; 0xd6 803dad4: 009b lsls r3, r3, #2 803dad6: 4413 add r3, r2 803dad8: 3304 adds r3, #4 803dada: edc3 7a00 vstr s15, [r3] 803dade: e1c8 b.n 803de72 if((menupos >= DiagA_IDT) && (menupos <= DiagA_IKD)) 803dae0: 4ba4 ldr r3, [pc, #656] ; (803dd74 ) 803dae2: 781b ldrb r3, [r3, #0] 803dae4: b2db uxtb r3, r3 803dae6: 2b1e cmp r3, #30 803dae8: f246 833f bls.w 804416a 803daec: 4ba1 ldr r3, [pc, #644] ; (803dd74 ) 803daee: 781b ldrb r3, [r3, #0] 803daf0: b2db uxtb r3, r3 803daf2: 2b24 cmp r3, #36 ; 0x24 803daf4: f206 8339 bhi.w 804416a k = (uint32_t) (pardata.DIAGN_A[CURR_POINT][CURR_USL] * 10.0f); 803daf8: 4b99 ldr r3, [pc, #612] ; (803dd60 ) 803dafa: 781b ldrb r3, [r3, #0] 803dafc: b2db uxtb r3, r3 803dafe: 4618 mov r0, r3 803db00: 4b98 ldr r3, [pc, #608] ; (803dd64 ) 803db02: 781b ldrb r3, [r3, #0] 803db04: b2db uxtb r3, r3 803db06: 4619 mov r1, r3 803db08: 4a97 ldr r2, [pc, #604] ; (803dd68 ) 803db0a: 0083 lsls r3, r0, #2 803db0c: 440b add r3, r1 803db0e: 33f6 adds r3, #246 ; 0xf6 803db10: 009b lsls r3, r3, #2 803db12: 4413 add r3, r2 803db14: 3304 adds r3, #4 803db16: edd3 7a00 vldr s15, [r3] 803db1a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803db1e: ee67 7a87 vmul.f32 s15, s15, s14 803db22: eefc 7ae7 vcvt.u32.f32 s15, s15 803db26: ee17 3a90 vmov r3, s15 803db2a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803db2e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803db32: 095b lsrs r3, r3, #5 803db34: 4a90 ldr r2, [pc, #576] ; (803dd78 ) 803db36: fba2 2303 umull r2, r3, r2, r3 803db3a: 09db lsrs r3, r3, #7 803db3c: b2db uxtb r3, r3 803db3e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803db42: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803db46: 0953 lsrs r3, r2, #5 803db48: 498b ldr r1, [pc, #556] ; (803dd78 ) 803db4a: fba1 1303 umull r1, r3, r1, r3 803db4e: 09db lsrs r3, r3, #7 803db50: 498a ldr r1, [pc, #552] ; (803dd7c ) 803db52: fb01 f303 mul.w r3, r1, r3 803db56: 1ad3 subs r3, r2, r3 803db58: 4a89 ldr r2, [pc, #548] ; (803dd80 ) 803db5a: fba2 2303 umull r2, r3, r2, r3 803db5e: 0b5b lsrs r3, r3, #13 803db60: b2db uxtb r3, r3 803db62: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803db66: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803db6a: 0953 lsrs r3, r2, #5 803db6c: 4982 ldr r1, [pc, #520] ; (803dd78 ) 803db6e: fba1 1303 umull r1, r3, r1, r3 803db72: 09db lsrs r3, r3, #7 803db74: 4981 ldr r1, [pc, #516] ; (803dd7c ) 803db76: fb01 f303 mul.w r3, r1, r3 803db7a: 1ad3 subs r3, r2, r3 803db7c: 4a80 ldr r2, [pc, #512] ; (803dd80 ) 803db7e: fba2 1203 umull r1, r2, r2, r3 803db82: 0b52 lsrs r2, r2, #13 803db84: f242 7110 movw r1, #10000 ; 0x2710 803db88: fb01 f202 mul.w r2, r1, r2 803db8c: 1a9a subs r2, r3, r2 803db8e: 4b7d ldr r3, [pc, #500] ; (803dd84 ) 803db90: fba3 2302 umull r2, r3, r3, r2 803db94: 099b lsrs r3, r3, #6 803db96: b2db uxtb r3, r3 803db98: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803db9c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dba0: 095a lsrs r2, r3, #5 803dba2: 4975 ldr r1, [pc, #468] ; (803dd78 ) 803dba4: fba1 1202 umull r1, r2, r1, r2 803dba8: 09d2 lsrs r2, r2, #7 803dbaa: 4974 ldr r1, [pc, #464] ; (803dd7c ) 803dbac: fb01 f202 mul.w r2, r1, r2 803dbb0: 1a9a subs r2, r3, r2 803dbb2: 4b73 ldr r3, [pc, #460] ; (803dd80 ) 803dbb4: fba3 1302 umull r1, r3, r3, r2 803dbb8: 0b5b lsrs r3, r3, #13 803dbba: f242 7110 movw r1, #10000 ; 0x2710 803dbbe: fb01 f303 mul.w r3, r1, r3 803dbc2: 1ad3 subs r3, r2, r3 803dbc4: 4a6f ldr r2, [pc, #444] ; (803dd84 ) 803dbc6: fba2 1203 umull r1, r2, r2, r3 803dbca: 0992 lsrs r2, r2, #6 803dbcc: f44f 717a mov.w r1, #1000 ; 0x3e8 803dbd0: fb01 f202 mul.w r2, r1, r2 803dbd4: 1a9a subs r2, r3, r2 803dbd6: 4b6c ldr r3, [pc, #432] ; (803dd88 ) 803dbd8: fba3 2302 umull r2, r3, r3, r2 803dbdc: 095b lsrs r3, r3, #5 803dbde: b2db uxtb r3, r3 803dbe0: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803dbe4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803dbe8: 0953 lsrs r3, r2, #5 803dbea: 4963 ldr r1, [pc, #396] ; (803dd78 ) 803dbec: fba1 1303 umull r1, r3, r1, r3 803dbf0: 09db lsrs r3, r3, #7 803dbf2: 4962 ldr r1, [pc, #392] ; (803dd7c ) 803dbf4: fb01 f303 mul.w r3, r1, r3 803dbf8: 1ad3 subs r3, r2, r3 803dbfa: 4a61 ldr r2, [pc, #388] ; (803dd80 ) 803dbfc: fba2 1203 umull r1, r2, r2, r3 803dc00: 0b52 lsrs r2, r2, #13 803dc02: f242 7110 movw r1, #10000 ; 0x2710 803dc06: fb01 f202 mul.w r2, r1, r2 803dc0a: 1a9a subs r2, r3, r2 803dc0c: 4b5d ldr r3, [pc, #372] ; (803dd84 ) 803dc0e: fba3 1302 umull r1, r3, r3, r2 803dc12: 099b lsrs r3, r3, #6 803dc14: f44f 717a mov.w r1, #1000 ; 0x3e8 803dc18: fb01 f303 mul.w r3, r1, r3 803dc1c: 1ad3 subs r3, r2, r3 803dc1e: 4a5a ldr r2, [pc, #360] ; (803dd88 ) 803dc20: fba2 1203 umull r1, r2, r2, r3 803dc24: 0952 lsrs r2, r2, #5 803dc26: 2164 movs r1, #100 ; 0x64 803dc28: fb01 f202 mul.w r2, r1, r2 803dc2c: 1a9a subs r2, r3, r2 803dc2e: 4b57 ldr r3, [pc, #348] ; (803dd8c ) 803dc30: fba3 2302 umull r2, r3, r3, r2 803dc34: 08db lsrs r3, r3, #3 803dc36: b2db uxtb r3, r3 803dc38: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803dc3c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803dc40: 0953 lsrs r3, r2, #5 803dc42: 494d ldr r1, [pc, #308] ; (803dd78 ) 803dc44: fba1 1303 umull r1, r3, r1, r3 803dc48: 09db lsrs r3, r3, #7 803dc4a: 494c ldr r1, [pc, #304] ; (803dd7c ) 803dc4c: fb01 f303 mul.w r3, r1, r3 803dc50: 1ad3 subs r3, r2, r3 803dc52: 4a4b ldr r2, [pc, #300] ; (803dd80 ) 803dc54: fba2 1203 umull r1, r2, r2, r3 803dc58: 0b52 lsrs r2, r2, #13 803dc5a: f242 7110 movw r1, #10000 ; 0x2710 803dc5e: fb01 f202 mul.w r2, r1, r2 803dc62: 1a9a subs r2, r3, r2 803dc64: 4b47 ldr r3, [pc, #284] ; (803dd84 ) 803dc66: fba3 1302 umull r1, r3, r3, r2 803dc6a: 099b lsrs r3, r3, #6 803dc6c: f44f 717a mov.w r1, #1000 ; 0x3e8 803dc70: fb01 f303 mul.w r3, r1, r3 803dc74: 1ad3 subs r3, r2, r3 803dc76: 4a44 ldr r2, [pc, #272] ; (803dd88 ) 803dc78: fba2 1203 umull r1, r2, r2, r3 803dc7c: 0952 lsrs r2, r2, #5 803dc7e: 2164 movs r1, #100 ; 0x64 803dc80: fb01 f202 mul.w r2, r1, r2 803dc84: 1a9a subs r2, r3, r2 803dc86: 4b41 ldr r3, [pc, #260] ; (803dd8c ) 803dc88: fba3 1302 umull r1, r3, r3, r2 803dc8c: 08d9 lsrs r1, r3, #3 803dc8e: 460b mov r3, r1 803dc90: 009b lsls r3, r3, #2 803dc92: 440b add r3, r1 803dc94: 005b lsls r3, r3, #1 803dc96: 1ad1 subs r1, r2, r3 803dc98: b2cb uxtb r3, r1 803dc9a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803dc9e: 4b35 ldr r3, [pc, #212] ; (803dd74 ) 803dca0: 781b ldrb r3, [r3, #0] 803dca2: b2db uxtb r3, r3 803dca4: 3b1f subs r3, #31 803dca6: 2b05 cmp r3, #5 803dca8: d87b bhi.n 803dda2 803dcaa: a201 add r2, pc, #4 ; (adr r2, 803dcb0 ) 803dcac: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803dcb0: 0803dcc9 .word 0x0803dcc9 803dcb4: 0803dce1 .word 0x0803dce1 803dcb8: 0803dcfb .word 0x0803dcfb 803dcbc: 0803dd13 .word 0x0803dd13 803dcc0: 0803dd27 .word 0x0803dd27 803dcc4: 0803dd3b .word 0x0803dd3b if(k > 100000) 803dcc8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dccc: 4a2b ldr r2, [pc, #172] ; (803dd7c ) 803dcce: 4293 cmp r3, r2 803dcd0: d93d bls.n 803dd4e k -= 100000; 803dcd2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803dcd6: 4b2e ldr r3, [pc, #184] ; (803dd90 ) 803dcd8: 4413 add r3, r2 803dcda: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803dcde: e036 b.n 803dd4e if(k > 10000) 803dce0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dce4: f242 7210 movw r2, #10000 ; 0x2710 803dce8: 4293 cmp r3, r2 803dcea: d932 bls.n 803dd52 k -= 10000; 803dcec: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803dcf0: 4b28 ldr r3, [pc, #160] ; (803dd94 ) 803dcf2: 4413 add r3, r2 803dcf4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803dcf8: e02b b.n 803dd52 if(k > 1000) 803dcfa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dcfe: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803dd02: d928 bls.n 803dd56 k -= 1000; 803dd04: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dd08: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803dd0c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803dd10: e021 b.n 803dd56 if(k > 100) 803dd12: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dd16: 2b64 cmp r3, #100 ; 0x64 803dd18: d93e bls.n 803dd98 k -= 100; 803dd1a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dd1e: 3b64 subs r3, #100 ; 0x64 803dd20: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803dd24: e038 b.n 803dd98 if(k > 10) 803dd26: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dd2a: 2b0a cmp r3, #10 803dd2c: d936 bls.n 803dd9c k -= 10; 803dd2e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dd32: 3b0a subs r3, #10 803dd34: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803dd38: e030 b.n 803dd9c if(k > 1) 803dd3a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dd3e: 2b01 cmp r3, #1 803dd40: d92e bls.n 803dda0 k--; 803dd42: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dd46: 3b01 subs r3, #1 803dd48: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803dd4c: e028 b.n 803dda0 break; 803dd4e: bf00 nop 803dd50: e027 b.n 803dda2 break; 803dd52: bf00 nop 803dd54: e025 b.n 803dda2 break; 803dd56: bf00 nop 803dd58: e023 b.n 803dda2 803dd5a: bf00 nop 803dd5c: 000f423f .word 0x000f423f 803dd60: 20021055 .word 0x20021055 803dd64: 20021057 .word 0x20021057 803dd68: 20023ea8 .word 0x20023ea8 803dd6c: 3dcccccd .word 0x3dcccccd 803dd70: 3d4ccccd .word 0x3d4ccccd 803dd74: 20020070 .word 0x20020070 803dd78: 0a7c5ac5 .word 0x0a7c5ac5 803dd7c: 000186a0 .word 0x000186a0 803dd80: d1b71759 .word 0xd1b71759 803dd84: 10624dd3 .word 0x10624dd3 803dd88: 51eb851f .word 0x51eb851f 803dd8c: cccccccd .word 0xcccccccd 803dd90: fffe7960 .word 0xfffe7960 803dd94: ffffd8f0 .word 0xffffd8f0 break; 803dd98: bf00 nop 803dd9a: e002 b.n 803dda2 break; 803dd9c: bf00 nop 803dd9e: e000 b.n 803dda2 break; 803dda0: bf00 nop if(k > 999999) k = 999999; 803dda2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803dda6: 4aae ldr r2, [pc, #696] ; (803e060 ) 803dda8: 4293 cmp r3, r2 803ddaa: d902 bls.n 803ddb2 803ddac: 4bac ldr r3, [pc, #688] ; (803e060 ) 803ddae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803ddb2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ddb6: 2b00 cmp r3, #0 803ddb8: d102 bne.n 803ddc0 803ddba: 2301 movs r3, #1 803ddbc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_A[CURR_POINT][CURR_USL] = (float32_t) k; 803ddc0: 4ba8 ldr r3, [pc, #672] ; (803e064 ) 803ddc2: 781b ldrb r3, [r3, #0] 803ddc4: b2db uxtb r3, r3 803ddc6: 4618 mov r0, r3 803ddc8: 4ba7 ldr r3, [pc, #668] ; (803e068 ) 803ddca: 781b ldrb r3, [r3, #0] 803ddcc: b2db uxtb r3, r3 803ddce: 4619 mov r1, r3 803ddd0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ddd4: ee07 3a90 vmov s15, r3 803ddd8: eef8 7a67 vcvt.f32.u32 s15, s15 803dddc: 4aa3 ldr r2, [pc, #652] ; (803e06c ) 803ddde: 0083 lsls r3, r0, #2 803dde0: 440b add r3, r1 803dde2: 33f6 adds r3, #246 ; 0xf6 803dde4: 009b lsls r3, r3, #2 803dde6: 4413 add r3, r2 803dde8: 3304 adds r3, #4 803ddea: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] *= 0.1f; 803ddee: 4b9d ldr r3, [pc, #628] ; (803e064 ) 803ddf0: 781b ldrb r3, [r3, #0] 803ddf2: b2da uxtb r2, r3 803ddf4: 4610 mov r0, r2 803ddf6: 4b9c ldr r3, [pc, #624] ; (803e068 ) 803ddf8: 781b ldrb r3, [r3, #0] 803ddfa: b2db uxtb r3, r3 803ddfc: 4619 mov r1, r3 803ddfe: 4615 mov r5, r2 803de00: 461c mov r4, r3 803de02: 4a9a ldr r2, [pc, #616] ; (803e06c ) 803de04: 00ab lsls r3, r5, #2 803de06: 4423 add r3, r4 803de08: 33f6 adds r3, #246 ; 0xf6 803de0a: 009b lsls r3, r3, #2 803de0c: 4413 add r3, r2 803de0e: 3304 adds r3, #4 803de10: edd3 7a00 vldr s15, [r3] 803de14: ed9f 7a96 vldr s14, [pc, #600] ; 803e070 803de18: ee67 7a87 vmul.f32 s15, s15, s14 803de1c: 4a93 ldr r2, [pc, #588] ; (803e06c ) 803de1e: 0083 lsls r3, r0, #2 803de20: 440b add r3, r1 803de22: 33f6 adds r3, #246 ; 0xf6 803de24: 009b lsls r3, r3, #2 803de26: 4413 add r3, r2 803de28: 3304 adds r3, #4 803de2a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] += 0.05f; 803de2e: 4b8d ldr r3, [pc, #564] ; (803e064 ) 803de30: 781b ldrb r3, [r3, #0] 803de32: b2da uxtb r2, r3 803de34: 4610 mov r0, r2 803de36: 4b8c ldr r3, [pc, #560] ; (803e068 ) 803de38: 781b ldrb r3, [r3, #0] 803de3a: b2db uxtb r3, r3 803de3c: 4619 mov r1, r3 803de3e: 4615 mov r5, r2 803de40: 461c mov r4, r3 803de42: 4a8a ldr r2, [pc, #552] ; (803e06c ) 803de44: 00ab lsls r3, r5, #2 803de46: 4423 add r3, r4 803de48: 33f6 adds r3, #246 ; 0xf6 803de4a: 009b lsls r3, r3, #2 803de4c: 4413 add r3, r2 803de4e: 3304 adds r3, #4 803de50: edd3 7a00 vldr s15, [r3] 803de54: ed9f 7a87 vldr s14, [pc, #540] ; 803e074 803de58: ee77 7a87 vadd.f32 s15, s15, s14 803de5c: 4a83 ldr r2, [pc, #524] ; (803e06c ) 803de5e: 0083 lsls r3, r0, #2 803de60: 440b add r3, r1 803de62: 33f6 adds r3, #246 ; 0xf6 803de64: 009b lsls r3, r3, #2 803de66: 4413 add r3, r2 803de68: 3304 adds r3, #4 803de6a: edc3 7a00 vstr s15, [r3] break; 803de6e: f006 b97c b.w 804416a 803de72: f006 b97a b.w 804416a case ROLL_RESULTS: if(menupos < 11) menupos++; 803de76: 4b80 ldr r3, [pc, #512] ; (803e078 ) 803de78: 781b ldrb r3, [r3, #0] 803de7a: b2db uxtb r3, r3 803de7c: 2b0a cmp r3, #10 803de7e: d808 bhi.n 803de92 803de80: 4b7d ldr r3, [pc, #500] ; (803e078 ) 803de82: 781b ldrb r3, [r3, #0] 803de84: b2db uxtb r3, r3 803de86: 3301 adds r3, #1 803de88: b2da uxtb r2, r3 803de8a: 4b7b ldr r3, [pc, #492] ; (803e078 ) 803de8c: 701a strb r2, [r3, #0] else menupos = 0; break; 803de8e: f006 b9bb b.w 8044208 else menupos = 0; 803de92: 4b79 ldr r3, [pc, #484] ; (803e078 ) 803de94: 2200 movs r2, #0 803de96: 701a strb r2, [r3, #0] break; 803de98: f006 b9b6 b.w 8044208 case TREND_A: menu = TREND_S; 803de9c: 4b77 ldr r3, [pc, #476] ; (803e07c ) 803de9e: 2247 movs r2, #71 ; 0x47 803dea0: 701a strb r2, [r3, #0] break; 803dea2: f006 b9b1 b.w 8044208 case TREND_V: menu = TREND_A; 803dea6: 4b75 ldr r3, [pc, #468] ; (803e07c ) 803dea8: 2245 movs r2, #69 ; 0x45 803deaa: 701a strb r2, [r3, #0] break; 803deac: f006 b9ac b.w 8044208 case TREND_S: menu = TREND_V; 803deb0: 4b72 ldr r3, [pc, #456] ; (803e07c ) 803deb2: 2246 movs r2, #70 ; 0x46 803deb4: 701a strb r2, [r3, #0] break; 803deb6: f006 b9a7 b.w 8044208 case MAIN_UDAR: if(AUTOKU) 803deba: 4b71 ldr r3, [pc, #452] ; (803e080 ) 803debc: 781b ldrb r3, [r3, #0] 803debe: b2db uxtb r3, r3 803dec0: 2b00 cmp r3, #0 803dec2: d002 beq.n 803deca AUTOKU = false; 803dec4: 4b6e ldr r3, [pc, #440] ; (803e080 ) 803dec6: 2200 movs r2, #0 803dec8: 701a strb r2, [r3, #0] if(pardata.IKU > Ku8) 803deca: 4b68 ldr r3, [pc, #416] ; (803e06c ) 803decc: 7a1b ldrb r3, [r3, #8] 803dece: b2db uxtb r3, r3 803ded0: 2b03 cmp r3, #3 803ded2: d902 bls.n 803deda pardata.IKU = Ku8; 803ded4: 4b65 ldr r3, [pc, #404] ; (803e06c ) 803ded6: 2203 movs r2, #3 803ded8: 721a strb r2, [r3, #8] if(pardata.IKU > Ku1) 803deda: 4b64 ldr r3, [pc, #400] ; (803e06c ) 803dedc: 7a1b ldrb r3, [r3, #8] 803dede: b2db uxtb r3, r3 803dee0: 2b00 cmp r3, #0 803dee2: d00a beq.n 803defa { pardata.IKU--; 803dee4: 4b61 ldr r3, [pc, #388] ; (803e06c ) 803dee6: 7a1b ldrb r3, [r3, #8] 803dee8: b2db uxtb r3, r3 803deea: 3b01 subs r3, #1 803deec: b2da uxtb r2, r3 803deee: 4b5f ldr r3, [pc, #380] ; (803e06c ) 803def0: 721a strb r2, [r3, #8] SetKU(); 803def2: f7e3 fcbf bl 8021874 } else pardata.IKU = Ku1; break; 803def6: f006 b987 b.w 8044208 pardata.IKU = Ku1; 803defa: 4b5c ldr r3, [pc, #368] ; (803e06c ) 803defc: 2200 movs r2, #0 803defe: 721a strb r2, [r3, #8] break; 803df00: f006 b982 b.w 8044208 case MAIN_DIAGN: switch(menupos) 803df04: 4b5c ldr r3, [pc, #368] ; (803e078 ) 803df06: 781b ldrb r3, [r3, #0] 803df08: b2db uxtb r3, r3 803df0a: 2b03 cmp r3, #3 803df0c: d003 beq.n 803df16 803df0e: 2b04 cmp r3, #4 803df10: d030 beq.n 803df74 } } } break; } break; 803df12: f006 b979 b.w 8044208 if((!measuring) && (!ReadFromFile)) 803df16: 4b5b ldr r3, [pc, #364] ; (803e084 ) 803df18: 781b ldrb r3, [r3, #0] 803df1a: b2db uxtb r3, r3 803df1c: f083 0301 eor.w r3, r3, #1 803df20: b2db uxtb r3, r3 803df22: 2b00 cmp r3, #0 803df24: d04a beq.n 803dfbc 803df26: 4b58 ldr r3, [pc, #352] ; (803e088 ) 803df28: 781b ldrb r3, [r3, #0] 803df2a: b2db uxtb r3, r3 803df2c: f083 0301 eor.w r3, r3, #1 803df30: b2db uxtb r3, r3 803df32: 2b00 cmp r3, #0 803df34: d042 beq.n 803dfbc if(CardState == MSD_READY) 803df36: 4b55 ldr r3, [pc, #340] ; (803e08c ) 803df38: 781b ldrb r3, [r3, #0] 803df3a: b2db uxtb r3, r3 803df3c: 2b03 cmp r3, #3 803df3e: d13d bne.n 803dfbc if(NextIndexPoint > 0) 803df40: 4b53 ldr r3, [pc, #332] ; (803e090 ) 803df42: 681b ldr r3, [r3, #0] 803df44: 2b00 cmp r3, #0 803df46: d039 beq.n 803dfbc NextIndexPoint--; 803df48: 4b51 ldr r3, [pc, #324] ; (803e090 ) 803df4a: 681b ldr r3, [r3, #0] 803df4c: 3b01 subs r3, #1 803df4e: 4a50 ldr r2, [pc, #320] ; (803e090 ) 803df50: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 803df52: 4b4f ldr r3, [pc, #316] ; (803e090 ) 803df54: 681b ldr r3, [r3, #0] 803df56: 4a4f ldr r2, [pc, #316] ; (803e094 ) 803df58: f852 3023 ldr.w r3, [r2, r3, lsl #2] 803df5c: 4a4e ldr r2, [pc, #312] ; (803e098 ) 803df5e: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 803df60: 484e ldr r0, [pc, #312] ; (803e09c ) 803df62: f7e9 fa3b bl 80273dc 803df66: 4603 mov r3, r0 803df68: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 803df6c: 4b4c ldr r3, [pc, #304] ; (803e0a0 ) 803df6e: 2200 movs r2, #0 803df70: 701a strb r2, [r3, #0] break; 803df72: e023 b.n 803dfbc if(measuring) 803df74: 4b43 ldr r3, [pc, #268] ; (803e084 ) 803df76: 781b ldrb r3, [r3, #0] 803df78: b2db uxtb r3, r3 803df7a: 2b00 cmp r3, #0 803df7c: d001 beq.n 803df82 StopMeas(); 803df7e: f7e5 fc0d bl 802379c if(!ReadFromFile) 803df82: 4b41 ldr r3, [pc, #260] ; (803e088 ) 803df84: 781b ldrb r3, [r3, #0] 803df86: b2db uxtb r3, r3 803df88: f083 0301 eor.w r3, r3, #1 803df8c: b2db uxtb r3, r3 803df8e: 2b00 cmp r3, #0 803df90: d017 beq.n 803dfc2 if(CardState == MSD_READY) 803df92: 4b3e ldr r3, [pc, #248] ; (803e08c ) 803df94: 781b ldrb r3, [r3, #0] 803df96: b2db uxtb r3, r3 803df98: 2b03 cmp r3, #3 803df9a: d112 bne.n 803dfc2 if(NextIndexMeas > 1) 803df9c: 4b3e ldr r3, [pc, #248] ; (803e098 ) 803df9e: 681b ldr r3, [r3, #0] 803dfa0: 2b01 cmp r3, #1 803dfa2: d90e bls.n 803dfc2 NextIndexMeas--; 803dfa4: 4b3c ldr r3, [pc, #240] ; (803e098 ) 803dfa6: 681b ldr r3, [r3, #0] 803dfa8: 3b01 subs r3, #1 803dfaa: 4a3b ldr r2, [pc, #236] ; (803e098 ) 803dfac: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 803dfae: 483b ldr r0, [pc, #236] ; (803e09c ) 803dfb0: f7e9 fa14 bl 80273dc 803dfb4: 4603 mov r3, r0 803dfb6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 break; 803dfba: e002 b.n 803dfc2 break; 803dfbc: bf00 nop 803dfbe: f006 b923 b.w 8044208 break; 803dfc2: bf00 nop break; 803dfc4: f006 b920 b.w 8044208 case MAIN: case MAIN_FRAN: switch(menupos) 803dfc8: 4b2b ldr r3, [pc, #172] ; (803e078 ) 803dfca: 781b ldrb r3, [r3, #0] 803dfcc: b2db uxtb r3, r3 803dfce: 2b06 cmp r3, #6 803dfd0: f206 80ce bhi.w 8044170 803dfd4: a201 add r2, pc, #4 ; (adr r2, 803dfdc ) 803dfd6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803dfda: bf00 nop 803dfdc: 0803e0f1 .word 0x0803e0f1 803dfe0: 08044171 .word 0x08044171 803dfe4: 0803e0f1 .word 0x0803e0f1 803dfe8: 0803dff9 .word 0x0803dff9 803dfec: 0803e0a9 .word 0x0803e0a9 803dff0: 08044171 .word 0x08044171 803dff4: 0803e0f1 .word 0x0803e0f1 { case MyPoint: if((!measuring) && (!ReadFromFile)) 803dff8: 4b22 ldr r3, [pc, #136] ; (803e084 ) 803dffa: 781b ldrb r3, [r3, #0] 803dffc: b2db uxtb r3, r3 803dffe: f083 0301 eor.w r3, r3, #1 803e002: b2db uxtb r3, r3 803e004: 2b00 cmp r3, #0 803e006: f000 80b3 beq.w 803e170 803e00a: 4b1f ldr r3, [pc, #124] ; (803e088 ) 803e00c: 781b ldrb r3, [r3, #0] 803e00e: b2db uxtb r3, r3 803e010: f083 0301 eor.w r3, r3, #1 803e014: b2db uxtb r3, r3 803e016: 2b00 cmp r3, #0 803e018: f000 80aa beq.w 803e170 { if(CardState == MSD_READY) 803e01c: 4b1b ldr r3, [pc, #108] ; (803e08c ) 803e01e: 781b ldrb r3, [r3, #0] 803e020: b2db uxtb r3, r3 803e022: 2b03 cmp r3, #3 803e024: f040 80a4 bne.w 803e170 { if(NextIndexPoint > 0) 803e028: 4b19 ldr r3, [pc, #100] ; (803e090 ) 803e02a: 681b ldr r3, [r3, #0] 803e02c: 2b00 cmp r3, #0 803e02e: f000 809f beq.w 803e170 { NextIndexPoint--; 803e032: 4b17 ldr r3, [pc, #92] ; (803e090 ) 803e034: 681b ldr r3, [r3, #0] 803e036: 3b01 subs r3, #1 803e038: 4a15 ldr r2, [pc, #84] ; (803e090 ) 803e03a: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 803e03c: 4b14 ldr r3, [pc, #80] ; (803e090 ) 803e03e: 681b ldr r3, [r3, #0] 803e040: 4a14 ldr r2, [pc, #80] ; (803e094 ) 803e042: f852 3023 ldr.w r3, [r2, r3, lsl #2] 803e046: 4a14 ldr r2, [pc, #80] ; (803e098 ) 803e048: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 803e04a: 4816 ldr r0, [pc, #88] ; (803e0a4 ) 803e04c: f7e8 ff42 bl 8026ed4 803e050: 4603 mov r3, r0 803e052: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 803e056: 4b12 ldr r3, [pc, #72] ; (803e0a0 ) 803e058: 2200 movs r2, #0 803e05a: 701a strb r2, [r3, #0] } } } break; 803e05c: e088 b.n 803e170 803e05e: bf00 nop 803e060: 000f423f .word 0x000f423f 803e064: 20021055 .word 0x20021055 803e068: 20021057 .word 0x20021057 803e06c: 20023ea8 .word 0x20023ea8 803e070: 3dcccccd .word 0x3dcccccd 803e074: 3d4ccccd .word 0x3d4ccccd 803e078: 20020070 .word 0x20020070 803e07c: 20020fbd .word 0x20020fbd 803e080: 20020029 .word 0x20020029 803e084: 20020dcf .word 0x20020dcf 803e088: 20020de9 .word 0x20020de9 803e08c: 20021694 .word 0x20021694 803e090: 20021fe4 .word 0x20021fe4 803e094: 20022ee8 .word 0x20022ee8 803e098: 20022358 .word 0x20022358 803e09c: 20020e9c .word 0x20020e9c 803e0a0: 20020dea .word 0x20020dea 803e0a4: 20020e78 .word 0x20020e78 case MyMeasure: if(measuring) 803e0a8: 4baf ldr r3, [pc, #700] ; (803e368 ) 803e0aa: 781b ldrb r3, [r3, #0] 803e0ac: b2db uxtb r3, r3 803e0ae: 2b00 cmp r3, #0 803e0b0: d001 beq.n 803e0b6 StopMeas(); 803e0b2: f7e5 fb73 bl 802379c if(!ReadFromFile) 803e0b6: 4bad ldr r3, [pc, #692] ; (803e36c ) 803e0b8: 781b ldrb r3, [r3, #0] 803e0ba: b2db uxtb r3, r3 803e0bc: f083 0301 eor.w r3, r3, #1 803e0c0: b2db uxtb r3, r3 803e0c2: 2b00 cmp r3, #0 803e0c4: d057 beq.n 803e176 { if(CardState == MSD_READY) 803e0c6: 4baa ldr r3, [pc, #680] ; (803e370 ) 803e0c8: 781b ldrb r3, [r3, #0] 803e0ca: b2db uxtb r3, r3 803e0cc: 2b03 cmp r3, #3 803e0ce: d152 bne.n 803e176 { if(NextIndexMeas > 1) 803e0d0: 4ba8 ldr r3, [pc, #672] ; (803e374 ) 803e0d2: 681b ldr r3, [r3, #0] 803e0d4: 2b01 cmp r3, #1 803e0d6: d94e bls.n 803e176 { NextIndexMeas--; 803e0d8: 4ba6 ldr r3, [pc, #664] ; (803e374 ) 803e0da: 681b ldr r3, [r3, #0] 803e0dc: 3b01 subs r3, #1 803e0de: 4aa5 ldr r2, [pc, #660] ; (803e374 ) 803e0e0: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 803e0e2: 48a5 ldr r0, [pc, #660] ; (803e378 ) 803e0e4: f7e8 fef6 bl 8026ed4 803e0e8: 4603 mov r3, r0 803e0ea: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } } break; 803e0ee: e042 b.n 803e176 case MyLinLog: case StartStop: case Record: if(!ReadFromFile) 803e0f0: 4b9e ldr r3, [pc, #632] ; (803e36c ) 803e0f2: 781b ldrb r3, [r3, #0] 803e0f4: b2db uxtb r3, r3 803e0f6: f083 0301 eor.w r3, r3, #1 803e0fa: b2db uxtb r3, r3 803e0fc: 2b00 cmp r3, #0 803e0fe: d03d beq.n 803e17c { if((CardState == MSD_READY) && (strlen(MeasFileName))) 803e100: 4b9b ldr r3, [pc, #620] ; (803e370 ) 803e102: 781b ldrb r3, [r3, #0] 803e104: b2db uxtb r3, r3 803e106: 2b03 cmp r3, #3 803e108: d138 bne.n 803e17c 803e10a: 4b9b ldr r3, [pc, #620] ; (803e378 ) 803e10c: 781b ldrb r3, [r3, #0] 803e10e: 2b00 cmp r3, #0 803e110: d034 beq.n 803e17c { if(measuring) 803e112: 4b95 ldr r3, [pc, #596] ; (803e368 ) 803e114: 781b ldrb r3, [r3, #0] 803e116: b2db uxtb r3, r3 803e118: 2b00 cmp r3, #0 803e11a: d001 beq.n 803e120 StopMeas(); 803e11c: f7e5 fb3e bl 802379c result = ReadTrendPTM(MeasFileName); 803e120: 4895 ldr r0, [pc, #596] ; (803e378 ) 803e122: f7e8 fd11 bl 8026b48 803e126: 4603 mov r3, r0 803e128: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 803e12c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 803e130: 2b00 cmp r3, #0 803e132: d112 bne.n 803e15a { lastmenu = menu; 803e134: 4b91 ldr r3, [pc, #580] ; (803e37c ) 803e136: 781b ldrb r3, [r3, #0] 803e138: b2da uxtb r2, r3 803e13a: 4b91 ldr r3, [pc, #580] ; (803e380 ) 803e13c: 701a strb r2, [r3, #0] menu = TREND_S; 803e13e: 4b8f ldr r3, [pc, #572] ; (803e37c ) 803e140: 2247 movs r2, #71 ; 0x47 803e142: 701a strb r2, [r3, #0] lastmenupos = menupos; 803e144: 4b8f ldr r3, [pc, #572] ; (803e384 ) 803e146: 781b ldrb r3, [r3, #0] 803e148: b2da uxtb r2, r3 803e14a: 4b8f ldr r3, [pc, #572] ; (803e388 ) 803e14c: 701a strb r2, [r3, #0] menupos = pardata.IVS[DIS]; 803e14e: 4b8f ldr r3, [pc, #572] ; (803e38c ) 803e150: 791b ldrb r3, [r3, #4] 803e152: b2da uxtb r2, r3 803e154: 4b8b ldr r3, [pc, #556] ; (803e384 ) 803e156: 701a strb r2, [r3, #0] timerStatus = sec2; DrawStatus = true; } } } break; 803e158: e010 b.n 803e17c STATUS = AP_INVALID_FILE; 803e15a: 4b8d ldr r3, [pc, #564] ; (803e390 ) 803e15c: 2202 movs r2, #2 803e15e: 601a str r2, [r3, #0] timerStatus = sec2; 803e160: 4b8c ldr r3, [pc, #560] ; (803e394 ) 803e162: f44f 5280 mov.w r2, #4096 ; 0x1000 803e166: 801a strh r2, [r3, #0] DrawStatus = true; 803e168: 4b8b ldr r3, [pc, #556] ; (803e398 ) 803e16a: 2201 movs r2, #1 803e16c: 701a strb r2, [r3, #0] break; 803e16e: e005 b.n 803e17c break; 803e170: bf00 nop 803e172: f005 bffd b.w 8044170 break; 803e176: bf00 nop 803e178: f005 bffa b.w 8044170 break; 803e17c: bf00 nop } break; 803e17e: f005 bff7 b.w 8044170 case MAIN_OSC: if(menupos == Cursor) 803e182: 4b80 ldr r3, [pc, #512] ; (803e384 ) 803e184: 781b ldrb r3, [r3, #0] 803e186: b2db uxtb r3, r3 803e188: 2b06 cmp r3, #6 803e18a: d104 bne.n 803e196 ZOOM_OUT = true; 803e18c: 4b83 ldr r3, [pc, #524] ; (803e39c ) 803e18e: 2201 movs r2, #1 803e190: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803e192: f005 bff0 b.w 8044176 if(menupos == StartStop) 803e196: 4b7b ldr r3, [pc, #492] ; (803e384 ) 803e198: 781b ldrb r3, [r3, #0] 803e19a: b2db uxtb r3, r3 803e19c: 2b00 cmp r3, #0 803e19e: d104 bne.n 803e1aa menupos = ImageLeft; 803e1a0: 4b78 ldr r3, [pc, #480] ; (803e384 ) 803e1a2: 2202 movs r2, #2 803e1a4: 701a strb r2, [r3, #0] break; 803e1a6: f005 bfe6 b.w 8044176 if(menupos == ZoomOut) 803e1aa: 4b76 ldr r3, [pc, #472] ; (803e384 ) 803e1ac: 781b ldrb r3, [r3, #0] 803e1ae: b2db uxtb r3, r3 803e1b0: 2b04 cmp r3, #4 803e1b2: d104 bne.n 803e1be menupos = StartStop; 803e1b4: 4b73 ldr r3, [pc, #460] ; (803e384 ) 803e1b6: 2200 movs r2, #0 803e1b8: 701a strb r2, [r3, #0] break; 803e1ba: f005 bfdc b.w 8044176 if(menupos == ZoomIn) 803e1be: 4b71 ldr r3, [pc, #452] ; (803e384 ) 803e1c0: 781b ldrb r3, [r3, #0] 803e1c2: b2db uxtb r3, r3 803e1c4: 2b03 cmp r3, #3 803e1c6: d104 bne.n 803e1d2 menupos = ZoomOut; 803e1c8: 4b6e ldr r3, [pc, #440] ; (803e384 ) 803e1ca: 2204 movs r2, #4 803e1cc: 701a strb r2, [r3, #0] break; 803e1ce: f005 bfd2 b.w 8044176 if(menupos == ImageRight) 803e1d2: 4b6c ldr r3, [pc, #432] ; (803e384 ) 803e1d4: 781b ldrb r3, [r3, #0] 803e1d6: b2db uxtb r3, r3 803e1d8: 2b05 cmp r3, #5 803e1da: d104 bne.n 803e1e6 menupos = ZoomIn; 803e1dc: 4b69 ldr r3, [pc, #420] ; (803e384 ) 803e1de: 2203 movs r2, #3 803e1e0: 701a strb r2, [r3, #0] break; 803e1e2: f005 bfc8 b.w 8044176 if(menupos == ImageLeft) 803e1e6: 4b67 ldr r3, [pc, #412] ; (803e384 ) 803e1e8: 781b ldrb r3, [r3, #0] 803e1ea: b2db uxtb r3, r3 803e1ec: 2b02 cmp r3, #2 803e1ee: f045 87c2 bne.w 8044176 menupos = ImageRight; 803e1f2: 4b64 ldr r3, [pc, #400] ; (803e384 ) 803e1f4: 2205 movs r2, #5 803e1f6: 701a strb r2, [r3, #0] break; 803e1f8: f005 bfbd b.w 8044176 case MAIN_ROLL: if(menupos == Cursor) 803e1fc: 4b61 ldr r3, [pc, #388] ; (803e384 ) 803e1fe: 781b ldrb r3, [r3, #0] 803e200: b2db uxtb r3, r3 803e202: 2b06 cmp r3, #6 803e204: d104 bne.n 803e210 ZOOM_OUT = true; 803e206: 4b65 ldr r3, [pc, #404] ; (803e39c ) 803e208: 2201 movs r2, #1 803e20a: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803e20c: f005 bfb6 b.w 804417c if(menupos == StartStop) 803e210: 4b5c ldr r3, [pc, #368] ; (803e384 ) 803e212: 781b ldrb r3, [r3, #0] 803e214: b2db uxtb r3, r3 803e216: 2b00 cmp r3, #0 803e218: d10e bne.n 803e238 if(SeeResults) 803e21a: 4b61 ldr r3, [pc, #388] ; (803e3a0 ) 803e21c: 781b ldrb r3, [r3, #0] 803e21e: b2db uxtb r3, r3 803e220: 2b00 cmp r3, #0 803e222: d004 beq.n 803e22e menupos = Results; 803e224: 4b57 ldr r3, [pc, #348] ; (803e384 ) 803e226: 2208 movs r2, #8 803e228: 701a strb r2, [r3, #0] break; 803e22a: f005 bfa7 b.w 804417c else menupos = ImageLeft; 803e22e: 4b55 ldr r3, [pc, #340] ; (803e384 ) 803e230: 2202 movs r2, #2 803e232: 701a strb r2, [r3, #0] break; 803e234: f005 bfa2 b.w 804417c if(menupos == Results) 803e238: 4b52 ldr r3, [pc, #328] ; (803e384 ) 803e23a: 781b ldrb r3, [r3, #0] 803e23c: b2db uxtb r3, r3 803e23e: 2b08 cmp r3, #8 803e240: d104 bne.n 803e24c menupos = ImageLeft; 803e242: 4b50 ldr r3, [pc, #320] ; (803e384 ) 803e244: 2202 movs r2, #2 803e246: 701a strb r2, [r3, #0] break; 803e248: f005 bf98 b.w 804417c if(menupos == ZoomOut) 803e24c: 4b4d ldr r3, [pc, #308] ; (803e384 ) 803e24e: 781b ldrb r3, [r3, #0] 803e250: b2db uxtb r3, r3 803e252: 2b04 cmp r3, #4 803e254: d104 bne.n 803e260 menupos = StartStop; 803e256: 4b4b ldr r3, [pc, #300] ; (803e384 ) 803e258: 2200 movs r2, #0 803e25a: 701a strb r2, [r3, #0] break; 803e25c: f005 bf8e b.w 804417c if(menupos == ZoomIn) 803e260: 4b48 ldr r3, [pc, #288] ; (803e384 ) 803e262: 781b ldrb r3, [r3, #0] 803e264: b2db uxtb r3, r3 803e266: 2b03 cmp r3, #3 803e268: d104 bne.n 803e274 menupos = ZoomOut; 803e26a: 4b46 ldr r3, [pc, #280] ; (803e384 ) 803e26c: 2204 movs r2, #4 803e26e: 701a strb r2, [r3, #0] break; 803e270: f005 bf84 b.w 804417c if(menupos == ImageRight) 803e274: 4b43 ldr r3, [pc, #268] ; (803e384 ) 803e276: 781b ldrb r3, [r3, #0] 803e278: b2db uxtb r3, r3 803e27a: 2b05 cmp r3, #5 803e27c: d104 bne.n 803e288 menupos = ZoomIn; 803e27e: 4b41 ldr r3, [pc, #260] ; (803e384 ) 803e280: 2203 movs r2, #3 803e282: 701a strb r2, [r3, #0] break; 803e284: f005 bf7a b.w 804417c if(menupos == ImageLeft) 803e288: 4b3e ldr r3, [pc, #248] ; (803e384 ) 803e28a: 781b ldrb r3, [r3, #0] 803e28c: b2db uxtb r3, r3 803e28e: 2b02 cmp r3, #2 803e290: f045 8774 bne.w 804417c menupos = ImageRight; 803e294: 4b3b ldr r3, [pc, #236] ; (803e384 ) 803e296: 2205 movs r2, #5 803e298: 701a strb r2, [r3, #0] break; 803e29a: f005 bf6f b.w 804417c case VIEW_PORTRET: if(menupos == Cursor) 803e29e: 4b39 ldr r3, [pc, #228] ; (803e384 ) 803e2a0: 781b ldrb r3, [r3, #0] 803e2a2: b2db uxtb r3, r3 803e2a4: 2b06 cmp r3, #6 803e2a6: d104 bne.n 803e2b2 ZOOM_OUT = true; 803e2a8: 4b3c ldr r3, [pc, #240] ; (803e39c ) 803e2aa: 2201 movs r2, #1 803e2ac: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803e2ae: f005 bf68 b.w 8044182 if(menupos == ZoomOut) 803e2b2: 4b34 ldr r3, [pc, #208] ; (803e384 ) 803e2b4: 781b ldrb r3, [r3, #0] 803e2b6: b2db uxtb r3, r3 803e2b8: 2b04 cmp r3, #4 803e2ba: d104 bne.n 803e2c6 menupos = ImageLeft; 803e2bc: 4b31 ldr r3, [pc, #196] ; (803e384 ) 803e2be: 2202 movs r2, #2 803e2c0: 701a strb r2, [r3, #0] break; 803e2c2: f005 bf5e b.w 8044182 if(menupos == ZoomIn) 803e2c6: 4b2f ldr r3, [pc, #188] ; (803e384 ) 803e2c8: 781b ldrb r3, [r3, #0] 803e2ca: b2db uxtb r3, r3 803e2cc: 2b03 cmp r3, #3 803e2ce: d104 bne.n 803e2da menupos = ZoomOut; 803e2d0: 4b2c ldr r3, [pc, #176] ; (803e384 ) 803e2d2: 2204 movs r2, #4 803e2d4: 701a strb r2, [r3, #0] break; 803e2d6: f005 bf54 b.w 8044182 if(menupos == ImageRight) 803e2da: 4b2a ldr r3, [pc, #168] ; (803e384 ) 803e2dc: 781b ldrb r3, [r3, #0] 803e2de: b2db uxtb r3, r3 803e2e0: 2b05 cmp r3, #5 803e2e2: d104 bne.n 803e2ee menupos = ZoomIn; 803e2e4: 4b27 ldr r3, [pc, #156] ; (803e384 ) 803e2e6: 2203 movs r2, #3 803e2e8: 701a strb r2, [r3, #0] break; 803e2ea: f005 bf4a b.w 8044182 if(menupos == ImageLeft) 803e2ee: 4b25 ldr r3, [pc, #148] ; (803e384 ) 803e2f0: 781b ldrb r3, [r3, #0] 803e2f2: b2db uxtb r3, r3 803e2f4: 2b02 cmp r3, #2 803e2f6: f045 8744 bne.w 8044182 menupos = ImageRight; 803e2fa: 4b22 ldr r3, [pc, #136] ; (803e384 ) 803e2fc: 2205 movs r2, #5 803e2fe: 701a strb r2, [r3, #0] break; 803e300: f005 bf3f b.w 8044182 case MAIN_SPEC: if(menupos == Cursor) 803e304: 4b1f ldr r3, [pc, #124] ; (803e384 ) 803e306: 781b ldrb r3, [r3, #0] 803e308: b2db uxtb r3, r3 803e30a: 2b06 cmp r3, #6 803e30c: d104 bne.n 803e318 ZOOM_OUT = true; 803e30e: 4b23 ldr r3, [pc, #140] ; (803e39c ) 803e310: 2201 movs r2, #1 803e312: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803e314: f005 bf38 b.w 8044188 if(menupos == StartStop) 803e318: 4b1a ldr r3, [pc, #104] ; (803e384 ) 803e31a: 781b ldrb r3, [r3, #0] 803e31c: b2db uxtb r3, r3 803e31e: 2b00 cmp r3, #0 803e320: d10e bne.n 803e340 if(READY_TO_SEE) 803e322: 4b20 ldr r3, [pc, #128] ; (803e3a4 ) 803e324: 781b ldrb r3, [r3, #0] 803e326: b2db uxtb r3, r3 803e328: 2b00 cmp r3, #0 803e32a: d004 beq.n 803e336 menupos = SaveSpec; 803e32c: 4b15 ldr r3, [pc, #84] ; (803e384 ) 803e32e: 2209 movs r2, #9 803e330: 701a strb r2, [r3, #0] break; 803e332: f005 bf29 b.w 8044188 else menupos = ImageLeft; 803e336: 4b13 ldr r3, [pc, #76] ; (803e384 ) 803e338: 2202 movs r2, #2 803e33a: 701a strb r2, [r3, #0] break; 803e33c: f005 bf24 b.w 8044188 if(menupos == SaveSpec) 803e340: 4b10 ldr r3, [pc, #64] ; (803e384 ) 803e342: 781b ldrb r3, [r3, #0] 803e344: b2db uxtb r3, r3 803e346: 2b09 cmp r3, #9 803e348: d104 bne.n 803e354 menupos = ImageLeft; 803e34a: 4b0e ldr r3, [pc, #56] ; (803e384 ) 803e34c: 2202 movs r2, #2 803e34e: 701a strb r2, [r3, #0] break; 803e350: f005 bf1a b.w 8044188 if(menupos == ZoomOut) 803e354: 4b0b ldr r3, [pc, #44] ; (803e384 ) 803e356: 781b ldrb r3, [r3, #0] 803e358: b2db uxtb r3, r3 803e35a: 2b04 cmp r3, #4 803e35c: d124 bne.n 803e3a8 menupos = StartStop; 803e35e: 4b09 ldr r3, [pc, #36] ; (803e384 ) 803e360: 2200 movs r2, #0 803e362: 701a strb r2, [r3, #0] break; 803e364: f005 bf10 b.w 8044188 803e368: 20020dcf .word 0x20020dcf 803e36c: 20020de9 .word 0x20020de9 803e370: 20021694 .word 0x20021694 803e374: 20022358 .word 0x20022358 803e378: 20020e78 .word 0x20020e78 803e37c: 20020fbd .word 0x20020fbd 803e380: 20020fbe .word 0x20020fbe 803e384: 20020070 .word 0x20020070 803e388: 20020071 .word 0x20020071 803e38c: 20023ea8 .word 0x20023ea8 803e390: 20020dec .word 0x20020dec 803e394: 200216d4 .word 0x200216d4 803e398: 20020df2 .word 0x20020df2 803e39c: 20020fac .word 0x20020fac 803e3a0: 20020d88 .word 0x20020d88 803e3a4: 20020dae .word 0x20020dae if(menupos == ZoomIn) 803e3a8: 4bb2 ldr r3, [pc, #712] ; (803e674 ) 803e3aa: 781b ldrb r3, [r3, #0] 803e3ac: b2db uxtb r3, r3 803e3ae: 2b03 cmp r3, #3 803e3b0: d104 bne.n 803e3bc menupos = ZoomOut; 803e3b2: 4bb0 ldr r3, [pc, #704] ; (803e674 ) 803e3b4: 2204 movs r2, #4 803e3b6: 701a strb r2, [r3, #0] break; 803e3b8: f005 bee6 b.w 8044188 if(menupos == ImageRight) 803e3bc: 4bad ldr r3, [pc, #692] ; (803e674 ) 803e3be: 781b ldrb r3, [r3, #0] 803e3c0: b2db uxtb r3, r3 803e3c2: 2b05 cmp r3, #5 803e3c4: d104 bne.n 803e3d0 menupos = ZoomIn; 803e3c6: 4bab ldr r3, [pc, #684] ; (803e674 ) 803e3c8: 2203 movs r2, #3 803e3ca: 701a strb r2, [r3, #0] break; 803e3cc: f005 bedc b.w 8044188 if(menupos == ImageLeft) 803e3d0: 4ba8 ldr r3, [pc, #672] ; (803e674 ) 803e3d2: 781b ldrb r3, [r3, #0] 803e3d4: b2db uxtb r3, r3 803e3d6: 2b02 cmp r3, #2 803e3d8: f045 86d6 bne.w 8044188 menupos = ImageRight; 803e3dc: 4ba5 ldr r3, [pc, #660] ; (803e674 ) 803e3de: 2205 movs r2, #5 803e3e0: 701a strb r2, [r3, #0] break; 803e3e2: f005 bed1 b.w 8044188 case MAIN_SPEC_OGIB: if(menupos == Cursor) 803e3e6: 4ba3 ldr r3, [pc, #652] ; (803e674 ) 803e3e8: 781b ldrb r3, [r3, #0] 803e3ea: b2db uxtb r3, r3 803e3ec: 2b06 cmp r3, #6 803e3ee: d104 bne.n 803e3fa ZOOM_OUT = true; 803e3f0: 4ba1 ldr r3, [pc, #644] ; (803e678 ) 803e3f2: 2201 movs r2, #1 803e3f4: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803e3f6: f005 beca b.w 804418e if(menupos == StartStop) 803e3fa: 4b9e ldr r3, [pc, #632] ; (803e674 ) 803e3fc: 781b ldrb r3, [r3, #0] 803e3fe: b2db uxtb r3, r3 803e400: 2b00 cmp r3, #0 803e402: d10e bne.n 803e422 if(READY_TO_SEE) 803e404: 4b9d ldr r3, [pc, #628] ; (803e67c ) 803e406: 781b ldrb r3, [r3, #0] 803e408: b2db uxtb r3, r3 803e40a: 2b00 cmp r3, #0 803e40c: d004 beq.n 803e418 menupos = SaveSpec; 803e40e: 4b99 ldr r3, [pc, #612] ; (803e674 ) 803e410: 2209 movs r2, #9 803e412: 701a strb r2, [r3, #0] break; 803e414: f005 bebb b.w 804418e else menupos = ImageLeft; 803e418: 4b96 ldr r3, [pc, #600] ; (803e674 ) 803e41a: 2202 movs r2, #2 803e41c: 701a strb r2, [r3, #0] break; 803e41e: f005 beb6 b.w 804418e if(menupos == SaveSpec) 803e422: 4b94 ldr r3, [pc, #592] ; (803e674 ) 803e424: 781b ldrb r3, [r3, #0] 803e426: b2db uxtb r3, r3 803e428: 2b09 cmp r3, #9 803e42a: d104 bne.n 803e436 menupos = ImageLeft; 803e42c: 4b91 ldr r3, [pc, #580] ; (803e674 ) 803e42e: 2202 movs r2, #2 803e430: 701a strb r2, [r3, #0] break; 803e432: f005 beac b.w 804418e if(menupos == ZoomOut) 803e436: 4b8f ldr r3, [pc, #572] ; (803e674 ) 803e438: 781b ldrb r3, [r3, #0] 803e43a: b2db uxtb r3, r3 803e43c: 2b04 cmp r3, #4 803e43e: d104 bne.n 803e44a menupos = StartStop; 803e440: 4b8c ldr r3, [pc, #560] ; (803e674 ) 803e442: 2200 movs r2, #0 803e444: 701a strb r2, [r3, #0] break; 803e446: f005 bea2 b.w 804418e if(menupos == ZoomIn) 803e44a: 4b8a ldr r3, [pc, #552] ; (803e674 ) 803e44c: 781b ldrb r3, [r3, #0] 803e44e: b2db uxtb r3, r3 803e450: 2b03 cmp r3, #3 803e452: d104 bne.n 803e45e menupos = ZoomOut; 803e454: 4b87 ldr r3, [pc, #540] ; (803e674 ) 803e456: 2204 movs r2, #4 803e458: 701a strb r2, [r3, #0] break; 803e45a: f005 be98 b.w 804418e if(menupos == ImageRight) 803e45e: 4b85 ldr r3, [pc, #532] ; (803e674 ) 803e460: 781b ldrb r3, [r3, #0] 803e462: b2db uxtb r3, r3 803e464: 2b05 cmp r3, #5 803e466: d104 bne.n 803e472 menupos = ZoomIn; 803e468: 4b82 ldr r3, [pc, #520] ; (803e674 ) 803e46a: 2203 movs r2, #3 803e46c: 701a strb r2, [r3, #0] break; 803e46e: f005 be8e b.w 804418e if(menupos == ImageLeft) 803e472: 4b80 ldr r3, [pc, #512] ; (803e674 ) 803e474: 781b ldrb r3, [r3, #0] 803e476: b2db uxtb r3, r3 803e478: 2b02 cmp r3, #2 803e47a: f045 8688 bne.w 804418e menupos = ImageRight; 803e47e: 4b7d ldr r3, [pc, #500] ; (803e674 ) 803e480: 2205 movs r2, #5 803e482: 701a strb r2, [r3, #0] break; 803e484: f005 be83 b.w 804418e case MAIN_SPEC_OKT: if(menupos == Cursor) 803e488: 4b7a ldr r3, [pc, #488] ; (803e674 ) 803e48a: 781b ldrb r3, [r3, #0] 803e48c: b2db uxtb r3, r3 803e48e: 2b06 cmp r3, #6 803e490: d104 bne.n 803e49c ZOOM_OUT = true; 803e492: 4b79 ldr r3, [pc, #484] ; (803e678 ) 803e494: 2201 movs r2, #1 803e496: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803e498: f005 be7c b.w 8044194 if(menupos == StartStop) 803e49c: 4b75 ldr r3, [pc, #468] ; (803e674 ) 803e49e: 781b ldrb r3, [r3, #0] 803e4a0: b2db uxtb r3, r3 803e4a2: 2b00 cmp r3, #0 803e4a4: d10e bne.n 803e4c4 if(READY_TO_SEE) 803e4a6: 4b75 ldr r3, [pc, #468] ; (803e67c ) 803e4a8: 781b ldrb r3, [r3, #0] 803e4aa: b2db uxtb r3, r3 803e4ac: 2b00 cmp r3, #0 803e4ae: d004 beq.n 803e4ba menupos = SaveSpec; 803e4b0: 4b70 ldr r3, [pc, #448] ; (803e674 ) 803e4b2: 2209 movs r2, #9 803e4b4: 701a strb r2, [r3, #0] break; 803e4b6: f005 be6d b.w 8044194 else menupos = ImageLeft; 803e4ba: 4b6e ldr r3, [pc, #440] ; (803e674 ) 803e4bc: 2202 movs r2, #2 803e4be: 701a strb r2, [r3, #0] break; 803e4c0: f005 be68 b.w 8044194 if(menupos == SaveSpec) 803e4c4: 4b6b ldr r3, [pc, #428] ; (803e674 ) 803e4c6: 781b ldrb r3, [r3, #0] 803e4c8: b2db uxtb r3, r3 803e4ca: 2b09 cmp r3, #9 803e4cc: d104 bne.n 803e4d8 menupos = ImageLeft; 803e4ce: 4b69 ldr r3, [pc, #420] ; (803e674 ) 803e4d0: 2202 movs r2, #2 803e4d2: 701a strb r2, [r3, #0] break; 803e4d4: f005 be5e b.w 8044194 if(menupos == ZoomOut) 803e4d8: 4b66 ldr r3, [pc, #408] ; (803e674 ) 803e4da: 781b ldrb r3, [r3, #0] 803e4dc: b2db uxtb r3, r3 803e4de: 2b04 cmp r3, #4 803e4e0: d104 bne.n 803e4ec menupos = StartStop; 803e4e2: 4b64 ldr r3, [pc, #400] ; (803e674 ) 803e4e4: 2200 movs r2, #0 803e4e6: 701a strb r2, [r3, #0] break; 803e4e8: f005 be54 b.w 8044194 if(menupos == ZoomIn) 803e4ec: 4b61 ldr r3, [pc, #388] ; (803e674 ) 803e4ee: 781b ldrb r3, [r3, #0] 803e4f0: b2db uxtb r3, r3 803e4f2: 2b03 cmp r3, #3 803e4f4: d104 bne.n 803e500 menupos = ZoomOut; 803e4f6: 4b5f ldr r3, [pc, #380] ; (803e674 ) 803e4f8: 2204 movs r2, #4 803e4fa: 701a strb r2, [r3, #0] break; 803e4fc: f005 be4a b.w 8044194 if(menupos == ImageRight) 803e500: 4b5c ldr r3, [pc, #368] ; (803e674 ) 803e502: 781b ldrb r3, [r3, #0] 803e504: b2db uxtb r3, r3 803e506: 2b05 cmp r3, #5 803e508: d104 bne.n 803e514 menupos = ZoomIn; 803e50a: 4b5a ldr r3, [pc, #360] ; (803e674 ) 803e50c: 2203 movs r2, #3 803e50e: 701a strb r2, [r3, #0] break; 803e510: f005 be40 b.w 8044194 if(menupos == ImageLeft) 803e514: 4b57 ldr r3, [pc, #348] ; (803e674 ) 803e516: 781b ldrb r3, [r3, #0] 803e518: b2db uxtb r3, r3 803e51a: 2b02 cmp r3, #2 803e51c: f045 863a bne.w 8044194 menupos = ImageRight; 803e520: 4b54 ldr r3, [pc, #336] ; (803e674 ) 803e522: 2205 movs r2, #5 803e524: 701a strb r2, [r3, #0] break; 803e526: f005 be35 b.w 8044194 case MAIN_SPEC_THIRD: if(menupos == Cursor) 803e52a: 4b52 ldr r3, [pc, #328] ; (803e674 ) 803e52c: 781b ldrb r3, [r3, #0] 803e52e: b2db uxtb r3, r3 803e530: 2b06 cmp r3, #6 803e532: d104 bne.n 803e53e ZOOM_OUT = true; 803e534: 4b50 ldr r3, [pc, #320] ; (803e678 ) 803e536: 2201 movs r2, #1 803e538: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803e53a: f005 be2e b.w 804419a if(menupos == StartStop) 803e53e: 4b4d ldr r3, [pc, #308] ; (803e674 ) 803e540: 781b ldrb r3, [r3, #0] 803e542: b2db uxtb r3, r3 803e544: 2b00 cmp r3, #0 803e546: d10e bne.n 803e566 if(READY_TO_SEE) 803e548: 4b4c ldr r3, [pc, #304] ; (803e67c ) 803e54a: 781b ldrb r3, [r3, #0] 803e54c: b2db uxtb r3, r3 803e54e: 2b00 cmp r3, #0 803e550: d004 beq.n 803e55c menupos = SaveSpec; 803e552: 4b48 ldr r3, [pc, #288] ; (803e674 ) 803e554: 2209 movs r2, #9 803e556: 701a strb r2, [r3, #0] break; 803e558: f005 be1f b.w 804419a else menupos = ImageLeft; 803e55c: 4b45 ldr r3, [pc, #276] ; (803e674 ) 803e55e: 2202 movs r2, #2 803e560: 701a strb r2, [r3, #0] break; 803e562: f005 be1a b.w 804419a if(menupos == SaveSpec) 803e566: 4b43 ldr r3, [pc, #268] ; (803e674 ) 803e568: 781b ldrb r3, [r3, #0] 803e56a: b2db uxtb r3, r3 803e56c: 2b09 cmp r3, #9 803e56e: d104 bne.n 803e57a menupos = ImageLeft; 803e570: 4b40 ldr r3, [pc, #256] ; (803e674 ) 803e572: 2202 movs r2, #2 803e574: 701a strb r2, [r3, #0] break; 803e576: f005 be10 b.w 804419a if(menupos == ZoomOut) 803e57a: 4b3e ldr r3, [pc, #248] ; (803e674 ) 803e57c: 781b ldrb r3, [r3, #0] 803e57e: b2db uxtb r3, r3 803e580: 2b04 cmp r3, #4 803e582: d104 bne.n 803e58e menupos = StartStop; 803e584: 4b3b ldr r3, [pc, #236] ; (803e674 ) 803e586: 2200 movs r2, #0 803e588: 701a strb r2, [r3, #0] break; 803e58a: f005 be06 b.w 804419a if(menupos == ZoomIn) 803e58e: 4b39 ldr r3, [pc, #228] ; (803e674 ) 803e590: 781b ldrb r3, [r3, #0] 803e592: b2db uxtb r3, r3 803e594: 2b03 cmp r3, #3 803e596: d104 bne.n 803e5a2 menupos = ZoomOut; 803e598: 4b36 ldr r3, [pc, #216] ; (803e674 ) 803e59a: 2204 movs r2, #4 803e59c: 701a strb r2, [r3, #0] break; 803e59e: f005 bdfc b.w 804419a if(menupos == ImageRight) 803e5a2: 4b34 ldr r3, [pc, #208] ; (803e674 ) 803e5a4: 781b ldrb r3, [r3, #0] 803e5a6: b2db uxtb r3, r3 803e5a8: 2b05 cmp r3, #5 803e5aa: d104 bne.n 803e5b6 menupos = ZoomIn; 803e5ac: 4b31 ldr r3, [pc, #196] ; (803e674 ) 803e5ae: 2203 movs r2, #3 803e5b0: 701a strb r2, [r3, #0] break; 803e5b2: f005 bdf2 b.w 804419a if(menupos == ImageLeft) 803e5b6: 4b2f ldr r3, [pc, #188] ; (803e674 ) 803e5b8: 781b ldrb r3, [r3, #0] 803e5ba: b2db uxtb r3, r3 803e5bc: 2b02 cmp r3, #2 803e5be: f045 85ec bne.w 804419a menupos = ImageRight; 803e5c2: 4b2c ldr r3, [pc, #176] ; (803e674 ) 803e5c4: 2205 movs r2, #5 803e5c6: 701a strb r2, [r3, #0] break; 803e5c8: f005 bde7 b.w 804419a case MAIN_SYGNAL: switch(menupos) 803e5cc: 4b29 ldr r3, [pc, #164] ; (803e674 ) 803e5ce: 781b ldrb r3, [r3, #0] 803e5d0: b2db uxtb r3, r3 803e5d2: 2b07 cmp r3, #7 803e5d4: f205 85e4 bhi.w 80441a0 803e5d8: a201 add r2, pc, #4 ; (adr r2, 803e5e0 ) 803e5da: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803e5de: bf00 nop 803e5e0: 0803e629 .word 0x0803e629 803e5e4: 080441a1 .word 0x080441a1 803e5e8: 0803e609 .word 0x0803e609 803e5ec: 0803e619 .word 0x0803e619 803e5f0: 0803e621 .word 0x0803e621 803e5f4: 0803e611 .word 0x0803e611 803e5f8: 0803e631 .word 0x0803e631 803e5fc: 0803e601 .word 0x0803e601 { case Stop: menupos = ImageLeft; break; 803e600: 4b1c ldr r3, [pc, #112] ; (803e674 ) 803e602: 2202 movs r2, #2 803e604: 701a strb r2, [r3, #0] 803e606: e017 b.n 803e638 case ImageLeft: menupos = ImageRight; break; 803e608: 4b1a ldr r3, [pc, #104] ; (803e674 ) 803e60a: 2205 movs r2, #5 803e60c: 701a strb r2, [r3, #0] 803e60e: e013 b.n 803e638 case ImageRight:menupos = ZoomIn; break; 803e610: 4b18 ldr r3, [pc, #96] ; (803e674 ) 803e612: 2203 movs r2, #3 803e614: 701a strb r2, [r3, #0] 803e616: e00f b.n 803e638 case ZoomIn: menupos = ZoomOut; break; 803e618: 4b16 ldr r3, [pc, #88] ; (803e674 ) 803e61a: 2204 movs r2, #4 803e61c: 701a strb r2, [r3, #0] 803e61e: e00b b.n 803e638 case ZoomOut: menupos = StartStop; break; 803e620: 4b14 ldr r3, [pc, #80] ; (803e674 ) 803e622: 2200 movs r2, #0 803e624: 701a strb r2, [r3, #0] 803e626: e007 b.n 803e638 case StartStop: menupos = Stop; break; 803e628: 4b12 ldr r3, [pc, #72] ; (803e674 ) 803e62a: 2207 movs r2, #7 803e62c: 701a strb r2, [r3, #0] 803e62e: e003 b.n 803e638 case Cursor: ZOOM_OUT = true; break; 803e630: 4b11 ldr r3, [pc, #68] ; (803e678 ) 803e632: 2201 movs r2, #1 803e634: 701a strb r2, [r3, #0] 803e636: bf00 nop } break; 803e638: f005 bdb2 b.w 80441a0 case EXPLORER: if(menupos == FilesPTM) 803e63c: 4b0d ldr r3, [pc, #52] ; (803e674 ) 803e63e: 781b ldrb r3, [r3, #0] 803e640: b2db uxtb r3, r3 803e642: 2b02 cmp r3, #2 803e644: f045 85af bne.w 80441a6 { if((CursorIndex + 1) < VIEW_FILES) 803e648: 4b0d ldr r3, [pc, #52] ; (803e680 ) 803e64a: 681b ldr r3, [r3, #0] 803e64c: 3301 adds r3, #1 803e64e: 2b0b cmp r3, #11 803e650: d81c bhi.n 803e68c { if((FirstFileIndex + CursorIndex + 1) < NumFilesPTM) { 803e652: 4b0c ldr r3, [pc, #48] ; (803e684 ) 803e654: 681a ldr r2, [r3, #0] 803e656: 4b0a ldr r3, [pc, #40] ; (803e680 ) 803e658: 681b ldr r3, [r3, #0] 803e65a: 4413 add r3, r2 803e65c: 1c5a adds r2, r3, #1 803e65e: 4b0a ldr r3, [pc, #40] ; (803e688 ) 803e660: 681b ldr r3, [r3, #0] 803e662: 429a cmp r2, r3 803e664: d227 bcs.n 803e6b6 CursorIndex++; 803e666: 4b06 ldr r3, [pc, #24] ; (803e680 ) 803e668: 681b ldr r3, [r3, #0] 803e66a: 3301 adds r3, #1 803e66c: 4a04 ldr r2, [pc, #16] ; (803e680 ) 803e66e: 6013 str r3, [r2, #0] 803e670: e021 b.n 803e6b6 803e672: bf00 nop 803e674: 20020070 .word 0x20020070 803e678: 20020fac .word 0x20020fac 803e67c: 20020dae .word 0x20020dae 803e680: 20020e00 .word 0x20020e00 803e684: 20020e04 .word 0x20020e04 803e688: 20020e14 .word 0x20020e14 } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesPTM) 803e68c: 4b8a ldr r3, [pc, #552] ; (803e8b8 ) 803e68e: 681b ldr r3, [r3, #0] 803e690: f103 020c add.w r2, r3, #12 803e694: 4b89 ldr r3, [pc, #548] ; (803e8bc ) 803e696: 681b ldr r3, [r3, #0] 803e698: 429a cmp r2, r3 803e69a: d20c bcs.n 803e6b6 { FirstFileIndex++; 803e69c: 4b86 ldr r3, [pc, #536] ; (803e8b8 ) 803e69e: 681b ldr r3, [r3, #0] 803e6a0: 3301 adds r3, #1 803e6a2: 4a85 ldr r2, [pc, #532] ; (803e8b8 ) 803e6a4: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 803e6a6: 4b84 ldr r3, [pc, #528] ; (803e8b8 ) 803e6a8: 681b ldr r3, [r3, #0] 803e6aa: 4618 mov r0, r3 803e6ac: f7ec fa20 bl 802aaf0 803e6b0: 4603 mov r3, r0 803e6b2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803e6b6: 4b80 ldr r3, [pc, #512] ; (803e8b8 ) 803e6b8: 681a ldr r2, [r3, #0] 803e6ba: 4b81 ldr r3, [pc, #516] ; (803e8c0 ) 803e6bc: 681b ldr r3, [r3, #0] 803e6be: 4413 add r3, r2 803e6c0: 4a80 ldr r2, [pc, #512] ; (803e8c4 ) 803e6c2: 6013 str r3, [r2, #0] } break; 803e6c4: f005 bd6f b.w 80441a6 case EXPLORER_DIAGN: if(menupos == FilesDGN) 803e6c8: 4b7f ldr r3, [pc, #508] ; (803e8c8 ) 803e6ca: 781b ldrb r3, [r3, #0] 803e6cc: b2db uxtb r3, r3 803e6ce: 2b02 cmp r3, #2 803e6d0: f045 856c bne.w 80441ac { if((CursorIndex + 1) < VIEW_FILES) 803e6d4: 4b7a ldr r3, [pc, #488] ; (803e8c0 ) 803e6d6: 681b ldr r3, [r3, #0] 803e6d8: 3301 adds r3, #1 803e6da: 2b0b cmp r3, #11 803e6dc: d80f bhi.n 803e6fe { if((FirstFileIndex + CursorIndex + 1) < NumFilesDGN) { 803e6de: 4b76 ldr r3, [pc, #472] ; (803e8b8 ) 803e6e0: 681a ldr r2, [r3, #0] 803e6e2: 4b77 ldr r3, [pc, #476] ; (803e8c0 ) 803e6e4: 681b ldr r3, [r3, #0] 803e6e6: 4413 add r3, r2 803e6e8: 1c5a adds r2, r3, #1 803e6ea: 4b78 ldr r3, [pc, #480] ; (803e8cc ) 803e6ec: 681b ldr r3, [r3, #0] 803e6ee: 429a cmp r2, r3 803e6f0: d21a bcs.n 803e728 CursorIndex++; 803e6f2: 4b73 ldr r3, [pc, #460] ; (803e8c0 ) 803e6f4: 681b ldr r3, [r3, #0] 803e6f6: 3301 adds r3, #1 803e6f8: 4a71 ldr r2, [pc, #452] ; (803e8c0 ) 803e6fa: 6013 str r3, [r2, #0] 803e6fc: e014 b.n 803e728 } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesDGN) 803e6fe: 4b6e ldr r3, [pc, #440] ; (803e8b8 ) 803e700: 681b ldr r3, [r3, #0] 803e702: f103 020c add.w r2, r3, #12 803e706: 4b71 ldr r3, [pc, #452] ; (803e8cc ) 803e708: 681b ldr r3, [r3, #0] 803e70a: 429a cmp r2, r3 803e70c: d20c bcs.n 803e728 { FirstFileIndex++; 803e70e: 4b6a ldr r3, [pc, #424] ; (803e8b8 ) 803e710: 681b ldr r3, [r3, #0] 803e712: 3301 adds r3, #1 803e714: 4a68 ldr r2, [pc, #416] ; (803e8b8 ) 803e716: 6013 str r3, [r2, #0] result = ReadMyFilesDGN(FirstFileIndex); 803e718: 4b67 ldr r3, [pc, #412] ; (803e8b8 ) 803e71a: 681b ldr r3, [r3, #0] 803e71c: 4618 mov r0, r3 803e71e: f7ec f9f4 bl 802ab0a 803e722: 4603 mov r3, r0 803e724: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803e728: 4b63 ldr r3, [pc, #396] ; (803e8b8 ) 803e72a: 681a ldr r2, [r3, #0] 803e72c: 4b64 ldr r3, [pc, #400] ; (803e8c0 ) 803e72e: 681b ldr r3, [r3, #0] 803e730: 4413 add r3, r2 803e732: 4a64 ldr r2, [pc, #400] ; (803e8c4 ) 803e734: 6013 str r3, [r2, #0] } break; 803e736: f005 bd39 b.w 80441ac 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)) 803e73a: 4b63 ldr r3, [pc, #396] ; (803e8c8 ) 803e73c: 781b ldrb r3, [r3, #0] 803e73e: b2db uxtb r3, r3 803e740: 2b18 cmp r3, #24 803e742: d009 beq.n 803e758 803e744: 4b60 ldr r3, [pc, #384] ; (803e8c8 ) 803e746: 781b ldrb r3, [r3, #0] 803e748: b2db uxtb r3, r3 803e74a: 2b19 cmp r3, #25 803e74c: d004 beq.n 803e758 803e74e: 4b5e ldr r3, [pc, #376] ; (803e8c8 ) 803e750: 781b ldrb r3, [r3, #0] 803e752: b2db uxtb r3, r3 803e754: 2b1a cmp r3, #26 803e756: d103 bne.n 803e760 menupos = _SPACE; 803e758: 4b5b ldr r3, [pc, #364] ; (803e8c8 ) 803e75a: 2222 movs r2, #34 ; 0x22 803e75c: 701a strb r2, [r3, #0] 803e75e: e044 b.n 803e7ea else if(menupos == _CANCEL) 803e760: 4b59 ldr r3, [pc, #356] ; (803e8c8 ) 803e762: 781b ldrb r3, [r3, #0] 803e764: b2db uxtb r3, r3 803e766: 2b27 cmp r3, #39 ; 0x27 803e768: d104 bne.n 803e774 menupos = _ENTER; 803e76a: 4b57 ldr r3, [pc, #348] ; (803e8c8 ) 803e76c: 2226 movs r2, #38 ; 0x26 803e76e: 701a strb r2, [r3, #0] else if((menupos >= _SPACE) && (menupos <= _M)) menupos = _CANCEL; } } break; 803e770: f005 bd1f b.w 80441b2 if(menupos < _Z) 803e774: 4b54 ldr r3, [pc, #336] ; (803e8c8 ) 803e776: 781b ldrb r3, [r3, #0] 803e778: b2db uxtb r3, r3 803e77a: 2b1d cmp r3, #29 803e77c: d816 bhi.n 803e7ac if(menupos < _G) menupos += 10; 803e77e: 4b52 ldr r3, [pc, #328] ; (803e8c8 ) 803e780: 781b ldrb r3, [r3, #0] 803e782: b2db uxtb r3, r3 803e784: 2b17 cmp r3, #23 803e786: d808 bhi.n 803e79a 803e788: 4b4f ldr r3, [pc, #316] ; (803e8c8 ) 803e78a: 781b ldrb r3, [r3, #0] 803e78c: b2db uxtb r3, r3 803e78e: 330a adds r3, #10 803e790: b2da uxtb r2, r3 803e792: 4b4d ldr r3, [pc, #308] ; (803e8c8 ) 803e794: 701a strb r2, [r3, #0] break; 803e796: f005 bd0c b.w 80441b2 else menupos += 8; 803e79a: 4b4b ldr r3, [pc, #300] ; (803e8c8 ) 803e79c: 781b ldrb r3, [r3, #0] 803e79e: b2db uxtb r3, r3 803e7a0: 3308 adds r3, #8 803e7a2: b2da uxtb r2, r3 803e7a4: 4b48 ldr r3, [pc, #288] ; (803e8c8 ) 803e7a6: 701a strb r2, [r3, #0] break; 803e7a8: f005 bd03 b.w 80441b2 if((menupos >= _Z) && (menupos <= _V)) 803e7ac: 4b46 ldr r3, [pc, #280] ; (803e8c8 ) 803e7ae: 781b ldrb r3, [r3, #0] 803e7b0: b2db uxtb r3, r3 803e7b2: 2b1d cmp r3, #29 803e7b4: d908 bls.n 803e7c8 803e7b6: 4b44 ldr r3, [pc, #272] ; (803e8c8 ) 803e7b8: 781b ldrb r3, [r3, #0] 803e7ba: b2db uxtb r3, r3 803e7bc: 2b21 cmp r3, #33 ; 0x21 803e7be: d803 bhi.n 803e7c8 menupos = _ENTER; 803e7c0: 4b41 ldr r3, [pc, #260] ; (803e8c8 ) 803e7c2: 2226 movs r2, #38 ; 0x26 803e7c4: 701a strb r2, [r3, #0] 803e7c6: e010 b.n 803e7ea if((menupos >= _SPACE) && (menupos <= _M)) 803e7c8: 4b3f ldr r3, [pc, #252] ; (803e8c8 ) 803e7ca: 781b ldrb r3, [r3, #0] 803e7cc: b2db uxtb r3, r3 803e7ce: 2b21 cmp r3, #33 ; 0x21 803e7d0: f245 84ef bls.w 80441b2 803e7d4: 4b3c ldr r3, [pc, #240] ; (803e8c8 ) 803e7d6: 781b ldrb r3, [r3, #0] 803e7d8: b2db uxtb r3, r3 803e7da: 2b25 cmp r3, #37 ; 0x25 803e7dc: f205 84e9 bhi.w 80441b2 menupos = _CANCEL; 803e7e0: 4b39 ldr r3, [pc, #228] ; (803e8c8 ) 803e7e2: 2227 movs r2, #39 ; 0x27 803e7e4: 701a strb r2, [r3, #0] break; 803e7e6: f005 bce4 b.w 80441b2 803e7ea: f005 bce2 b.w 80441b2 case OPTIONS: if(menupos < AskFormatNo) 803e7ee: 4b36 ldr r3, [pc, #216] ; (803e8c8 ) 803e7f0: 781b ldrb r3, [r3, #0] 803e7f2: b2db uxtb r3, r3 803e7f4: 2b04 cmp r3, #4 803e7f6: f205 84df bhi.w 80441b8 { if(menupos < Route) menupos++; 803e7fa: 4b33 ldr r3, [pc, #204] ; (803e8c8 ) 803e7fc: 781b ldrb r3, [r3, #0] 803e7fe: b2db uxtb r3, r3 803e800: 2b03 cmp r3, #3 803e802: d808 bhi.n 803e816 803e804: 4b30 ldr r3, [pc, #192] ; (803e8c8 ) 803e806: 781b ldrb r3, [r3, #0] 803e808: b2db uxtb r3, r3 803e80a: 3301 adds r3, #1 803e80c: b2da uxtb r2, r3 803e80e: 4b2e ldr r3, [pc, #184] ; (803e8c8 ) 803e810: 701a strb r2, [r3, #0] else menupos = Mode; } break; 803e812: f005 bcd1 b.w 80441b8 else menupos = Mode; 803e816: 4b2c ldr r3, [pc, #176] ; (803e8c8 ) 803e818: 2201 movs r2, #1 803e81a: 701a strb r2, [r3, #0] break; 803e81c: f005 bccc b.w 80441b8 case MEAS_MODE: #ifdef USE_ROLL #ifdef USE_UDAR if(pardata.IIN != VOLTS) 803e820: 4b2b ldr r3, [pc, #172] ; (803e8d0 ) 803e822: 799b ldrb r3, [r3, #6] 803e824: b2db uxtb r3, r3 803e826: 2b02 cmp r3, #2 803e828: d012 beq.n 803e850 { if(menupos < Udar) menupos++; 803e82a: 4b27 ldr r3, [pc, #156] ; (803e8c8 ) 803e82c: 781b ldrb r3, [r3, #0] 803e82e: b2db uxtb r3, r3 803e830: 2b06 cmp r3, #6 803e832: d808 bhi.n 803e846 803e834: 4b24 ldr r3, [pc, #144] ; (803e8c8 ) 803e836: 781b ldrb r3, [r3, #0] 803e838: b2db uxtb r3, r3 803e83a: 3301 adds r3, #1 803e83c: b2da uxtb r2, r3 803e83e: 4b22 ldr r3, [pc, #136] ; (803e8c8 ) 803e840: 701a strb r2, [r3, #0] #else if(menupos < Wave) menupos++; else menupos = Vibrometer; #endif*/ break; 803e842: f005 bce1 b.w 8044208 else menupos = Vibrometer; 803e846: 4b20 ldr r3, [pc, #128] ; (803e8c8 ) 803e848: 2201 movs r2, #1 803e84a: 701a strb r2, [r3, #0] break; 803e84c: f005 bcdc b.w 8044208 if(menupos < FFT) menupos++; 803e850: 4b1d ldr r3, [pc, #116] ; (803e8c8 ) 803e852: 781b ldrb r3, [r3, #0] 803e854: b2db uxtb r3, r3 803e856: 2b02 cmp r3, #2 803e858: d808 bhi.n 803e86c 803e85a: 4b1b ldr r3, [pc, #108] ; (803e8c8 ) 803e85c: 781b ldrb r3, [r3, #0] 803e85e: b2db uxtb r3, r3 803e860: 3301 adds r3, #1 803e862: b2da uxtb r2, r3 803e864: 4b18 ldr r3, [pc, #96] ; (803e8c8 ) 803e866: 701a strb r2, [r3, #0] break; 803e868: f005 bcce b.w 8044208 else menupos = Vibrometer; 803e86c: 4b16 ldr r3, [pc, #88] ; (803e8c8 ) 803e86e: 2201 movs r2, #1 803e870: 701a strb r2, [r3, #0] break; 803e872: f005 bcc9 b.w 8044208 case PARAM_UDAR: focused = false; 803e876: 4b17 ldr r3, [pc, #92] ; (803e8d4 ) 803e878: 2200 movs r2, #0 803e87a: 701a strb r2, [r3, #0] if(menupos == Ok) 803e87c: 4b12 ldr r3, [pc, #72] ; (803e8c8 ) 803e87e: 781b ldrb r3, [r3, #0] 803e880: b2db uxtb r3, r3 803e882: 2b00 cmp r3, #0 803e884: d104 bne.n 803e890 menupos = UdarRate; 803e886: 4b10 ldr r3, [pc, #64] ; (803e8c8 ) 803e888: 2201 movs r2, #1 803e88a: 701a strb r2, [r3, #0] break; } if(k == 0) k = 1; pardata.D_RATE = k; } break; 803e88c: f005 bc97 b.w 80441be if(menupos == UdarRate) 803e890: 4b0d ldr r3, [pc, #52] ; (803e8c8 ) 803e892: 781b ldrb r3, [r3, #0] 803e894: b2db uxtb r3, r3 803e896: 2b01 cmp r3, #1 803e898: d104 bne.n 803e8a4 menupos = UdarInner; 803e89a: 4b0b ldr r3, [pc, #44] ; (803e8c8 ) 803e89c: 2202 movs r2, #2 803e89e: 701a strb r2, [r3, #0] break; 803e8a0: f005 bc8d b.w 80441be if(menupos == UdarInner) 803e8a4: 4b08 ldr r3, [pc, #32] ; (803e8c8 ) 803e8a6: 781b ldrb r3, [r3, #0] 803e8a8: b2db uxtb r3, r3 803e8aa: 2b02 cmp r3, #2 803e8ac: d114 bne.n 803e8d8 menupos = Ok; 803e8ae: 4b06 ldr r3, [pc, #24] ; (803e8c8 ) 803e8b0: 2200 movs r2, #0 803e8b2: 701a strb r2, [r3, #0] break; 803e8b4: f005 bc83 b.w 80441be 803e8b8: 20020e04 .word 0x20020e04 803e8bc: 20020e14 .word 0x20020e14 803e8c0: 20020e00 .word 0x20020e00 803e8c4: 20020e08 .word 0x20020e08 803e8c8: 20020070 .word 0x20020070 803e8cc: 20020e18 .word 0x20020e18 803e8d0: 20023ea8 .word 0x20023ea8 803e8d4: 20020fc8 .word 0x20020fc8 if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 803e8d8: 4bb3 ldr r3, [pc, #716] ; (803eba8 ) 803e8da: 781b ldrb r3, [r3, #0] 803e8dc: b2db uxtb r3, r3 803e8de: 2b06 cmp r3, #6 803e8e0: f240 817c bls.w 803ebdc 803e8e4: 4bb0 ldr r3, [pc, #704] ; (803eba8 ) 803e8e6: 781b ldrb r3, [r3, #0] 803e8e8: b2db uxtb r3, r3 803e8ea: 2b0c cmp r3, #12 803e8ec: f200 8176 bhi.w 803ebdc k = (uint32_t) (pardata.D_INNER * 1000.0f); 803e8f0: 4bae ldr r3, [pc, #696] ; (803ebac ) 803e8f2: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803e8f6: ed9f 7aae vldr s14, [pc, #696] ; 803ebb0 803e8fa: ee67 7a87 vmul.f32 s15, s15, s14 803e8fe: eefc 7ae7 vcvt.u32.f32 s15, s15 803e902: ee17 3a90 vmov r3, s15 803e906: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803e90a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e90e: 095b lsrs r3, r3, #5 803e910: 4aa8 ldr r2, [pc, #672] ; (803ebb4 ) 803e912: fba2 2303 umull r2, r3, r2, r3 803e916: 09db lsrs r3, r3, #7 803e918: b2db uxtb r3, r3 803e91a: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803e91e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e922: 0953 lsrs r3, r2, #5 803e924: 49a3 ldr r1, [pc, #652] ; (803ebb4 ) 803e926: fba1 1303 umull r1, r3, r1, r3 803e92a: 09db lsrs r3, r3, #7 803e92c: 49a2 ldr r1, [pc, #648] ; (803ebb8 ) 803e92e: fb01 f303 mul.w r3, r1, r3 803e932: 1ad3 subs r3, r2, r3 803e934: 4aa1 ldr r2, [pc, #644] ; (803ebbc ) 803e936: fba2 2303 umull r2, r3, r2, r3 803e93a: 0b5b lsrs r3, r3, #13 803e93c: b2db uxtb r3, r3 803e93e: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803e942: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e946: 0953 lsrs r3, r2, #5 803e948: 499a ldr r1, [pc, #616] ; (803ebb4 ) 803e94a: fba1 1303 umull r1, r3, r1, r3 803e94e: 09db lsrs r3, r3, #7 803e950: 4999 ldr r1, [pc, #612] ; (803ebb8 ) 803e952: fb01 f303 mul.w r3, r1, r3 803e956: 1ad3 subs r3, r2, r3 803e958: 4a98 ldr r2, [pc, #608] ; (803ebbc ) 803e95a: fba2 1203 umull r1, r2, r2, r3 803e95e: 0b52 lsrs r2, r2, #13 803e960: f242 7110 movw r1, #10000 ; 0x2710 803e964: fb01 f202 mul.w r2, r1, r2 803e968: 1a9a subs r2, r3, r2 803e96a: 4b95 ldr r3, [pc, #596] ; (803ebc0 ) 803e96c: fba3 2302 umull r2, r3, r3, r2 803e970: 099b lsrs r3, r3, #6 803e972: b2db uxtb r3, r3 803e974: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803e978: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e97c: 095a lsrs r2, r3, #5 803e97e: 498d ldr r1, [pc, #564] ; (803ebb4 ) 803e980: fba1 1202 umull r1, r2, r1, r2 803e984: 09d2 lsrs r2, r2, #7 803e986: 498c ldr r1, [pc, #560] ; (803ebb8 ) 803e988: fb01 f202 mul.w r2, r1, r2 803e98c: 1a9a subs r2, r3, r2 803e98e: 4b8b ldr r3, [pc, #556] ; (803ebbc ) 803e990: fba3 1302 umull r1, r3, r3, r2 803e994: 0b5b lsrs r3, r3, #13 803e996: f242 7110 movw r1, #10000 ; 0x2710 803e99a: fb01 f303 mul.w r3, r1, r3 803e99e: 1ad3 subs r3, r2, r3 803e9a0: 4a87 ldr r2, [pc, #540] ; (803ebc0 ) 803e9a2: fba2 1203 umull r1, r2, r2, r3 803e9a6: 0992 lsrs r2, r2, #6 803e9a8: f44f 717a mov.w r1, #1000 ; 0x3e8 803e9ac: fb01 f202 mul.w r2, r1, r2 803e9b0: 1a9a subs r2, r3, r2 803e9b2: 4b84 ldr r3, [pc, #528] ; (803ebc4 ) 803e9b4: fba3 2302 umull r2, r3, r3, r2 803e9b8: 095b lsrs r3, r3, #5 803e9ba: b2db uxtb r3, r3 803e9bc: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803e9c0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e9c4: 0953 lsrs r3, r2, #5 803e9c6: 497b ldr r1, [pc, #492] ; (803ebb4 ) 803e9c8: fba1 1303 umull r1, r3, r1, r3 803e9cc: 09db lsrs r3, r3, #7 803e9ce: 497a ldr r1, [pc, #488] ; (803ebb8 ) 803e9d0: fb01 f303 mul.w r3, r1, r3 803e9d4: 1ad3 subs r3, r2, r3 803e9d6: 4a79 ldr r2, [pc, #484] ; (803ebbc ) 803e9d8: fba2 1203 umull r1, r2, r2, r3 803e9dc: 0b52 lsrs r2, r2, #13 803e9de: f242 7110 movw r1, #10000 ; 0x2710 803e9e2: fb01 f202 mul.w r2, r1, r2 803e9e6: 1a9a subs r2, r3, r2 803e9e8: 4b75 ldr r3, [pc, #468] ; (803ebc0 ) 803e9ea: fba3 1302 umull r1, r3, r3, r2 803e9ee: 099b lsrs r3, r3, #6 803e9f0: f44f 717a mov.w r1, #1000 ; 0x3e8 803e9f4: fb01 f303 mul.w r3, r1, r3 803e9f8: 1ad3 subs r3, r2, r3 803e9fa: 4a72 ldr r2, [pc, #456] ; (803ebc4 ) 803e9fc: fba2 1203 umull r1, r2, r2, r3 803ea00: 0952 lsrs r2, r2, #5 803ea02: 2164 movs r1, #100 ; 0x64 803ea04: fb01 f202 mul.w r2, r1, r2 803ea08: 1a9a subs r2, r3, r2 803ea0a: 4b6f ldr r3, [pc, #444] ; (803ebc8 ) 803ea0c: fba3 2302 umull r2, r3, r3, r2 803ea10: 08db lsrs r3, r3, #3 803ea12: b2db uxtb r3, r3 803ea14: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803ea18: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ea1c: 0953 lsrs r3, r2, #5 803ea1e: 4965 ldr r1, [pc, #404] ; (803ebb4 ) 803ea20: fba1 1303 umull r1, r3, r1, r3 803ea24: 09db lsrs r3, r3, #7 803ea26: 4964 ldr r1, [pc, #400] ; (803ebb8 ) 803ea28: fb01 f303 mul.w r3, r1, r3 803ea2c: 1ad3 subs r3, r2, r3 803ea2e: 4a63 ldr r2, [pc, #396] ; (803ebbc ) 803ea30: fba2 1203 umull r1, r2, r2, r3 803ea34: 0b52 lsrs r2, r2, #13 803ea36: f242 7110 movw r1, #10000 ; 0x2710 803ea3a: fb01 f202 mul.w r2, r1, r2 803ea3e: 1a9a subs r2, r3, r2 803ea40: 4b5f ldr r3, [pc, #380] ; (803ebc0 ) 803ea42: fba3 1302 umull r1, r3, r3, r2 803ea46: 099b lsrs r3, r3, #6 803ea48: f44f 717a mov.w r1, #1000 ; 0x3e8 803ea4c: fb01 f303 mul.w r3, r1, r3 803ea50: 1ad3 subs r3, r2, r3 803ea52: 4a5c ldr r2, [pc, #368] ; (803ebc4 ) 803ea54: fba2 1203 umull r1, r2, r2, r3 803ea58: 0952 lsrs r2, r2, #5 803ea5a: 2164 movs r1, #100 ; 0x64 803ea5c: fb01 f202 mul.w r2, r1, r2 803ea60: 1a9a subs r2, r3, r2 803ea62: 4b59 ldr r3, [pc, #356] ; (803ebc8 ) 803ea64: fba3 1302 umull r1, r3, r3, r2 803ea68: 08d9 lsrs r1, r3, #3 803ea6a: 460b mov r3, r1 803ea6c: 009b lsls r3, r3, #2 803ea6e: 440b add r3, r1 803ea70: 005b lsls r3, r3, #1 803ea72: 1ad1 subs r1, r2, r3 803ea74: b2cb uxtb r3, r1 803ea76: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803ea7a: 4b4b ldr r3, [pc, #300] ; (803eba8 ) 803ea7c: 781b ldrb r3, [r3, #0] 803ea7e: b2db uxtb r3, r3 803ea80: 3b07 subs r3, #7 803ea82: 2b05 cmp r3, #5 803ea84: d869 bhi.n 803eb5a 803ea86: a201 add r2, pc, #4 ; (adr r2, 803ea8c ) 803ea88: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ea8c: 0803eaa5 .word 0x0803eaa5 803ea90: 0803eac5 .word 0x0803eac5 803ea94: 0803eae7 .word 0x0803eae7 803ea98: 0803eb07 .word 0x0803eb07 803ea9c: 0803eb23 .word 0x0803eb23 803eaa0: 0803eb3f .word 0x0803eb3f if(k > 100000) k -= 100000; 803eaa4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eaa8: 4a43 ldr r2, [pc, #268] ; (803ebb8 ) 803eaaa: 4293 cmp r3, r2 803eaac: d906 bls.n 803eabc 803eaae: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803eab2: 4b46 ldr r3, [pc, #280] ; (803ebcc ) 803eab4: 4413 add r3, r2 803eab6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eaba: e04e b.n 803eb5a else k = 0; 803eabc: 2300 movs r3, #0 803eabe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eac2: e04a b.n 803eb5a if(k > 10000) k -= 10000; 803eac4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eac8: f242 7210 movw r2, #10000 ; 0x2710 803eacc: 4293 cmp r3, r2 803eace: d906 bls.n 803eade 803ead0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ead4: 4b3e ldr r3, [pc, #248] ; (803ebd0 ) 803ead6: 4413 add r3, r2 803ead8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eadc: e03d b.n 803eb5a else k = 0; 803eade: 2300 movs r3, #0 803eae0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eae4: e039 b.n 803eb5a if(k > 1000) k -= 1000; 803eae6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eaea: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803eaee: d906 bls.n 803eafe 803eaf0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eaf4: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803eaf8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eafc: e02d b.n 803eb5a else k = 0; 803eafe: 2300 movs r3, #0 803eb00: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb04: e029 b.n 803eb5a if(k > 100) k -= 100; 803eb06: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eb0a: 2b64 cmp r3, #100 ; 0x64 803eb0c: d905 bls.n 803eb1a 803eb0e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eb12: 3b64 subs r3, #100 ; 0x64 803eb14: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb18: e01f b.n 803eb5a else k = 0; 803eb1a: 2300 movs r3, #0 803eb1c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb20: e01b b.n 803eb5a if(k > 10) k -= 10; 803eb22: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eb26: 2b0a cmp r3, #10 803eb28: d905 bls.n 803eb36 803eb2a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eb2e: 3b0a subs r3, #10 803eb30: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb34: e011 b.n 803eb5a else k = 0; 803eb36: 2300 movs r3, #0 803eb38: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb3c: e00d b.n 803eb5a if(k > 1) k -= 1; 803eb3e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eb42: 2b01 cmp r3, #1 803eb44: d905 bls.n 803eb52 803eb46: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eb4a: 3b01 subs r3, #1 803eb4c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb50: e002 b.n 803eb58 else k = 0; 803eb52: 2300 movs r3, #0 803eb54: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb58: bf00 nop if(k == 0) k = 1; 803eb5a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eb5e: 2b00 cmp r3, #0 803eb60: d102 bne.n 803eb68 803eb62: 2301 movs r3, #1 803eb64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 803eb68: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eb6c: ee07 3a90 vmov s15, r3 803eb70: eef8 7a67 vcvt.f32.u32 s15, s15 803eb74: 4b0d ldr r3, [pc, #52] ; (803ebac ) 803eb76: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 803eb7a: 4b0c ldr r3, [pc, #48] ; (803ebac ) 803eb7c: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803eb80: ed9f 7a14 vldr s14, [pc, #80] ; 803ebd4 803eb84: ee67 7a87 vmul.f32 s15, s15, s14 803eb88: 4b08 ldr r3, [pc, #32] ; (803ebac ) 803eb8a: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 803eb8e: 4b07 ldr r3, [pc, #28] ; (803ebac ) 803eb90: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803eb94: ed9f 7a10 vldr s14, [pc, #64] ; 803ebd8 803eb98: ee77 7a87 vadd.f32 s15, s15, s14 803eb9c: 4b03 ldr r3, [pc, #12] ; (803ebac ) 803eb9e: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 break; 803eba2: f005 bb0c b.w 80441be 803eba6: bf00 nop 803eba8: 20020070 .word 0x20020070 803ebac: 20023ea8 .word 0x20023ea8 803ebb0: 447a0000 .word 0x447a0000 803ebb4: 0a7c5ac5 .word 0x0a7c5ac5 803ebb8: 000186a0 .word 0x000186a0 803ebbc: d1b71759 .word 0xd1b71759 803ebc0: 10624dd3 .word 0x10624dd3 803ebc4: 51eb851f .word 0x51eb851f 803ebc8: cccccccd .word 0xcccccccd 803ebcc: fffe7960 .word 0xfffe7960 803ebd0: ffffd8f0 .word 0xffffd8f0 803ebd4: 3a83126f .word 0x3a83126f 803ebd8: 3a03126f .word 0x3a03126f if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 803ebdc: 4b98 ldr r3, [pc, #608] ; (803ee40 ) 803ebde: 781b ldrb r3, [r3, #0] 803ebe0: b2db uxtb r3, r3 803ebe2: 2b02 cmp r3, #2 803ebe4: f245 82eb bls.w 80441be 803ebe8: 4b95 ldr r3, [pc, #596] ; (803ee40 ) 803ebea: 781b ldrb r3, [r3, #0] 803ebec: b2db uxtb r3, r3 803ebee: 2b06 cmp r3, #6 803ebf0: f205 82e5 bhi.w 80441be k = pardata.D_RATE; 803ebf4: 4b93 ldr r3, [pc, #588] ; (803ee44 ) 803ebf6: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 803ebfa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 803ebfe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ec02: 4a91 ldr r2, [pc, #580] ; (803ee48 ) 803ec04: fba2 2303 umull r2, r3, r2, r3 803ec08: 099b lsrs r3, r3, #6 803ec0a: b2db uxtb r3, r3 803ec0c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 803ec10: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ec14: 4b8c ldr r3, [pc, #560] ; (803ee48 ) 803ec16: fba3 1302 umull r1, r3, r3, r2 803ec1a: 099b lsrs r3, r3, #6 803ec1c: f44f 717a mov.w r1, #1000 ; 0x3e8 803ec20: fb01 f303 mul.w r3, r1, r3 803ec24: 1ad3 subs r3, r2, r3 803ec26: 4a89 ldr r2, [pc, #548] ; (803ee4c ) 803ec28: fba2 2303 umull r2, r3, r2, r3 803ec2c: 095b lsrs r3, r3, #5 803ec2e: b2db uxtb r3, r3 803ec30: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 803ec34: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ec38: 4b83 ldr r3, [pc, #524] ; (803ee48 ) 803ec3a: fba3 1302 umull r1, r3, r3, r2 803ec3e: 099b lsrs r3, r3, #6 803ec40: f44f 717a mov.w r1, #1000 ; 0x3e8 803ec44: fb01 f303 mul.w r3, r1, r3 803ec48: 1ad3 subs r3, r2, r3 803ec4a: 4a80 ldr r2, [pc, #512] ; (803ee4c ) 803ec4c: fba2 1203 umull r1, r2, r2, r3 803ec50: 0952 lsrs r2, r2, #5 803ec52: 2164 movs r1, #100 ; 0x64 803ec54: fb01 f202 mul.w r2, r1, r2 803ec58: 1a9a subs r2, r3, r2 803ec5a: 4b7d ldr r3, [pc, #500] ; (803ee50 ) 803ec5c: fba3 2302 umull r2, r3, r3, r2 803ec60: 08db lsrs r3, r3, #3 803ec62: b2db uxtb r3, r3 803ec64: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 803ec68: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ec6c: 4b76 ldr r3, [pc, #472] ; (803ee48 ) 803ec6e: fba3 1302 umull r1, r3, r3, r2 803ec72: 099b lsrs r3, r3, #6 803ec74: f44f 717a mov.w r1, #1000 ; 0x3e8 803ec78: fb01 f303 mul.w r3, r1, r3 803ec7c: 1ad3 subs r3, r2, r3 803ec7e: 4a73 ldr r2, [pc, #460] ; (803ee4c ) 803ec80: fba2 1203 umull r1, r2, r2, r3 803ec84: 0952 lsrs r2, r2, #5 803ec86: 2164 movs r1, #100 ; 0x64 803ec88: fb01 f202 mul.w r2, r1, r2 803ec8c: 1a9a subs r2, r3, r2 803ec8e: 4b70 ldr r3, [pc, #448] ; (803ee50 ) 803ec90: fba3 1302 umull r1, r3, r3, r2 803ec94: 08d9 lsrs r1, r3, #3 803ec96: 460b mov r3, r1 803ec98: 009b lsls r3, r3, #2 803ec9a: 440b add r3, r1 803ec9c: 005b lsls r3, r3, #1 803ec9e: 1ad1 subs r1, r2, r3 803eca0: b2cb uxtb r3, r1 803eca2: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 803eca6: 4b66 ldr r3, [pc, #408] ; (803ee40 ) 803eca8: 781b ldrb r3, [r3, #0] 803ecaa: b2db uxtb r3, r3 803ecac: 3b03 subs r3, #3 803ecae: 2b03 cmp r3, #3 803ecb0: d844 bhi.n 803ed3c 803ecb2: a201 add r2, pc, #4 ; (adr r2, 803ecb8 ) 803ecb4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ecb8: 0803ecc9 .word 0x0803ecc9 803ecbc: 0803ece9 .word 0x0803ece9 803ecc0: 0803ed05 .word 0x0803ed05 803ecc4: 0803ed21 .word 0x0803ed21 if(k > 1000) k -= 1000; 803ecc8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eccc: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803ecd0: d906 bls.n 803ece0 803ecd2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ecd6: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803ecda: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ecde: e02d b.n 803ed3c else k = 0; 803ece0: 2300 movs r3, #0 803ece2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ece6: e029 b.n 803ed3c if(k > 100) k -= 100; 803ece8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ecec: 2b64 cmp r3, #100 ; 0x64 803ecee: d905 bls.n 803ecfc 803ecf0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ecf4: 3b64 subs r3, #100 ; 0x64 803ecf6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ecfa: e01f b.n 803ed3c else k = 0; 803ecfc: 2300 movs r3, #0 803ecfe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ed02: e01b b.n 803ed3c if(k > 10) k -= 10; 803ed04: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ed08: 2b0a cmp r3, #10 803ed0a: d905 bls.n 803ed18 803ed0c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ed10: 3b0a subs r3, #10 803ed12: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ed16: e011 b.n 803ed3c else k = 0; 803ed18: 2300 movs r3, #0 803ed1a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ed1e: e00d b.n 803ed3c if(k > 1) k -= 1; 803ed20: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ed24: 2b01 cmp r3, #1 803ed26: d905 bls.n 803ed34 803ed28: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ed2c: 3b01 subs r3, #1 803ed2e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ed32: e002 b.n 803ed3a else k = 0; 803ed34: 2300 movs r3, #0 803ed36: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ed3a: bf00 nop if(k == 0) k = 1; 803ed3c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ed40: 2b00 cmp r3, #0 803ed42: d102 bne.n 803ed4a 803ed44: 2301 movs r3, #1 803ed46: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 803ed4a: 4a3e ldr r2, [pc, #248] ; (803ee44 ) 803ed4c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ed50: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 803ed54: f005 ba33 b.w 80441be case PARAM_ROLL: focused = false; 803ed58: 4b3e ldr r3, [pc, #248] ; (803ee54 ) 803ed5a: 2200 movs r2, #0 803ed5c: 701a strb r2, [r3, #0] if(menupos == Ok) 803ed5e: 4b38 ldr r3, [pc, #224] ; (803ee40 ) 803ed60: 781b ldrb r3, [r3, #0] 803ed62: b2db uxtb r3, r3 803ed64: 2b00 cmp r3, #0 803ed66: d104 bne.n 803ed72 menupos = RollCount; 803ed68: 4b35 ldr r3, [pc, #212] ; (803ee40 ) 803ed6a: 2201 movs r2, #1 803ed6c: 701a strb r2, [r3, #0] break; } if(k == 0) k = 1; pardata.D_RATE = k; } break; 803ed6e: f005 ba29 b.w 80441c4 if(menupos == RollCount) 803ed72: 4b33 ldr r3, [pc, #204] ; (803ee40 ) 803ed74: 781b ldrb r3, [r3, #0] 803ed76: b2db uxtb r3, r3 803ed78: 2b01 cmp r3, #1 803ed7a: d104 bne.n 803ed86 menupos = D_Roll; 803ed7c: 4b30 ldr r3, [pc, #192] ; (803ee40 ) 803ed7e: 2202 movs r2, #2 803ed80: 701a strb r2, [r3, #0] break; 803ed82: f005 ba1f b.w 80441c4 if(menupos == D_Roll) 803ed86: 4b2e ldr r3, [pc, #184] ; (803ee40 ) 803ed88: 781b ldrb r3, [r3, #0] 803ed8a: b2db uxtb r3, r3 803ed8c: 2b02 cmp r3, #2 803ed8e: d104 bne.n 803ed9a menupos = D_Outer; 803ed90: 4b2b ldr r3, [pc, #172] ; (803ee40 ) 803ed92: 2203 movs r2, #3 803ed94: 701a strb r2, [r3, #0] break; 803ed96: f005 ba15 b.w 80441c4 if(menupos == D_Outer) 803ed9a: 4b29 ldr r3, [pc, #164] ; (803ee40 ) 803ed9c: 781b ldrb r3, [r3, #0] 803ed9e: b2db uxtb r3, r3 803eda0: 2b03 cmp r3, #3 803eda2: d104 bne.n 803edae menupos = D_Inner; 803eda4: 4b26 ldr r3, [pc, #152] ; (803ee40 ) 803eda6: 2204 movs r2, #4 803eda8: 701a strb r2, [r3, #0] break; 803edaa: f005 ba0b b.w 80441c4 if(menupos == D_Inner) 803edae: 4b24 ldr r3, [pc, #144] ; (803ee40 ) 803edb0: 781b ldrb r3, [r3, #0] 803edb2: b2db uxtb r3, r3 803edb4: 2b04 cmp r3, #4 803edb6: d104 bne.n 803edc2 menupos = D_Angle; 803edb8: 4b21 ldr r3, [pc, #132] ; (803ee40 ) 803edba: 2205 movs r2, #5 803edbc: 701a strb r2, [r3, #0] break; 803edbe: f005 ba01 b.w 80441c4 if(menupos == D_Angle) 803edc2: 4b1f ldr r3, [pc, #124] ; (803ee40 ) 803edc4: 781b ldrb r3, [r3, #0] 803edc6: b2db uxtb r3, r3 803edc8: 2b05 cmp r3, #5 803edca: d104 bne.n 803edd6 menupos = RollAverage; 803edcc: 4b1c ldr r3, [pc, #112] ; (803ee40 ) 803edce: 2206 movs r2, #6 803edd0: 701a strb r2, [r3, #0] break; 803edd2: f005 b9f7 b.w 80441c4 if(menupos == RollAverage) 803edd6: 4b1a ldr r3, [pc, #104] ; (803ee40 ) 803edd8: 781b ldrb r3, [r3, #0] 803edda: b2db uxtb r3, r3 803eddc: 2b06 cmp r3, #6 803edde: d104 bne.n 803edea menupos = RollAutoKu; 803ede0: 4b17 ldr r3, [pc, #92] ; (803ee40 ) 803ede2: 2207 movs r2, #7 803ede4: 701a strb r2, [r3, #0] break; 803ede6: f005 b9ed b.w 80441c4 if(menupos == RollAutoKu) 803edea: 4b15 ldr r3, [pc, #84] ; (803ee40 ) 803edec: 781b ldrb r3, [r3, #0] 803edee: b2db uxtb r3, r3 803edf0: 2b07 cmp r3, #7 803edf2: d110 bne.n 803ee16 if(pardata.OPTIONS & 0x4) 803edf4: 4b13 ldr r3, [pc, #76] ; (803ee44 ) 803edf6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803edfa: f003 0304 and.w r3, r3, #4 803edfe: 2b00 cmp r3, #0 803ee00: d004 beq.n 803ee0c menupos = D_Rate; 803ee02: 4b0f ldr r3, [pc, #60] ; (803ee40 ) 803ee04: 2209 movs r2, #9 803ee06: 701a strb r2, [r3, #0] break; 803ee08: f005 b9dc b.w 80441c4 else menupos = RollMax_ALL; 803ee0c: 4b0c ldr r3, [pc, #48] ; (803ee40 ) 803ee0e: 2208 movs r2, #8 803ee10: 701a strb r2, [r3, #0] break; 803ee12: f005 b9d7 b.w 80441c4 if(menupos == RollMax_ALL) 803ee16: 4b0a ldr r3, [pc, #40] ; (803ee40 ) 803ee18: 781b ldrb r3, [r3, #0] 803ee1a: b2db uxtb r3, r3 803ee1c: 2b08 cmp r3, #8 803ee1e: d104 bne.n 803ee2a menupos = D_Rate; 803ee20: 4b07 ldr r3, [pc, #28] ; (803ee40 ) 803ee22: 2209 movs r2, #9 803ee24: 701a strb r2, [r3, #0] break; 803ee26: f005 b9cd b.w 80441c4 if(menupos == D_Rate) 803ee2a: 4b05 ldr r3, [pc, #20] ; (803ee40 ) 803ee2c: 781b ldrb r3, [r3, #0] 803ee2e: b2db uxtb r3, r3 803ee30: 2b09 cmp r3, #9 803ee32: d111 bne.n 803ee58 menupos = Ok; 803ee34: 4b02 ldr r3, [pc, #8] ; (803ee40 ) 803ee36: 2200 movs r2, #0 803ee38: 701a strb r2, [r3, #0] break; 803ee3a: f005 b9c3 b.w 80441c4 803ee3e: bf00 nop 803ee40: 20020070 .word 0x20020070 803ee44: 20023ea8 .word 0x20023ea8 803ee48: 10624dd3 .word 0x10624dd3 803ee4c: 51eb851f .word 0x51eb851f 803ee50: cccccccd .word 0xcccccccd 803ee54: 20020fc8 .word 0x20020fc8 if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 803ee58: 4bb3 ldr r3, [pc, #716] ; (803f128 ) 803ee5a: 781b ldrb r3, [r3, #0] 803ee5c: b2db uxtb r3, r3 803ee5e: 2b25 cmp r3, #37 ; 0x25 803ee60: f240 817a bls.w 803f158 803ee64: 4bb0 ldr r3, [pc, #704] ; (803f128 ) 803ee66: 781b ldrb r3, [r3, #0] 803ee68: b2db uxtb r3, r3 803ee6a: 2b2b cmp r3, #43 ; 0x2b 803ee6c: f200 8174 bhi.w 803f158 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803ee70: 4bae ldr r3, [pc, #696] ; (803f12c ) 803ee72: edd3 7a06 vldr s15, [r3, #24] 803ee76: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803ee7a: ee67 7a87 vmul.f32 s15, s15, s14 803ee7e: eefc 7ae7 vcvt.u32.f32 s15, s15 803ee82: ee17 3a90 vmov r3, s15 803ee86: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803ee8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ee8e: 095b lsrs r3, r3, #5 803ee90: 4aa7 ldr r2, [pc, #668] ; (803f130 ) 803ee92: fba2 2303 umull r2, r3, r2, r3 803ee96: 09db lsrs r3, r3, #7 803ee98: b2db uxtb r3, r3 803ee9a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803ee9e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803eea2: 0953 lsrs r3, r2, #5 803eea4: 49a2 ldr r1, [pc, #648] ; (803f130 ) 803eea6: fba1 1303 umull r1, r3, r1, r3 803eeaa: 09db lsrs r3, r3, #7 803eeac: 49a1 ldr r1, [pc, #644] ; (803f134 ) 803eeae: fb01 f303 mul.w r3, r1, r3 803eeb2: 1ad3 subs r3, r2, r3 803eeb4: 4aa0 ldr r2, [pc, #640] ; (803f138 ) 803eeb6: fba2 2303 umull r2, r3, r2, r3 803eeba: 0b5b lsrs r3, r3, #13 803eebc: b2db uxtb r3, r3 803eebe: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803eec2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803eec6: 0953 lsrs r3, r2, #5 803eec8: 4999 ldr r1, [pc, #612] ; (803f130 ) 803eeca: fba1 1303 umull r1, r3, r1, r3 803eece: 09db lsrs r3, r3, #7 803eed0: 4998 ldr r1, [pc, #608] ; (803f134 ) 803eed2: fb01 f303 mul.w r3, r1, r3 803eed6: 1ad3 subs r3, r2, r3 803eed8: 4a97 ldr r2, [pc, #604] ; (803f138 ) 803eeda: fba2 1203 umull r1, r2, r2, r3 803eede: 0b52 lsrs r2, r2, #13 803eee0: f242 7110 movw r1, #10000 ; 0x2710 803eee4: fb01 f202 mul.w r2, r1, r2 803eee8: 1a9a subs r2, r3, r2 803eeea: 4b94 ldr r3, [pc, #592] ; (803f13c ) 803eeec: fba3 2302 umull r2, r3, r3, r2 803eef0: 099b lsrs r3, r3, #6 803eef2: b2db uxtb r3, r3 803eef4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803eef8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eefc: 095a lsrs r2, r3, #5 803eefe: 498c ldr r1, [pc, #560] ; (803f130 ) 803ef00: fba1 1202 umull r1, r2, r1, r2 803ef04: 09d2 lsrs r2, r2, #7 803ef06: 498b ldr r1, [pc, #556] ; (803f134 ) 803ef08: fb01 f202 mul.w r2, r1, r2 803ef0c: 1a9a subs r2, r3, r2 803ef0e: 4b8a ldr r3, [pc, #552] ; (803f138 ) 803ef10: fba3 1302 umull r1, r3, r3, r2 803ef14: 0b5b lsrs r3, r3, #13 803ef16: f242 7110 movw r1, #10000 ; 0x2710 803ef1a: fb01 f303 mul.w r3, r1, r3 803ef1e: 1ad3 subs r3, r2, r3 803ef20: 4a86 ldr r2, [pc, #536] ; (803f13c ) 803ef22: fba2 1203 umull r1, r2, r2, r3 803ef26: 0992 lsrs r2, r2, #6 803ef28: f44f 717a mov.w r1, #1000 ; 0x3e8 803ef2c: fb01 f202 mul.w r2, r1, r2 803ef30: 1a9a subs r2, r3, r2 803ef32: 4b83 ldr r3, [pc, #524] ; (803f140 ) 803ef34: fba3 2302 umull r2, r3, r3, r2 803ef38: 095b lsrs r3, r3, #5 803ef3a: b2db uxtb r3, r3 803ef3c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803ef40: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ef44: 0953 lsrs r3, r2, #5 803ef46: 497a ldr r1, [pc, #488] ; (803f130 ) 803ef48: fba1 1303 umull r1, r3, r1, r3 803ef4c: 09db lsrs r3, r3, #7 803ef4e: 4979 ldr r1, [pc, #484] ; (803f134 ) 803ef50: fb01 f303 mul.w r3, r1, r3 803ef54: 1ad3 subs r3, r2, r3 803ef56: 4a78 ldr r2, [pc, #480] ; (803f138 ) 803ef58: fba2 1203 umull r1, r2, r2, r3 803ef5c: 0b52 lsrs r2, r2, #13 803ef5e: f242 7110 movw r1, #10000 ; 0x2710 803ef62: fb01 f202 mul.w r2, r1, r2 803ef66: 1a9a subs r2, r3, r2 803ef68: 4b74 ldr r3, [pc, #464] ; (803f13c ) 803ef6a: fba3 1302 umull r1, r3, r3, r2 803ef6e: 099b lsrs r3, r3, #6 803ef70: f44f 717a mov.w r1, #1000 ; 0x3e8 803ef74: fb01 f303 mul.w r3, r1, r3 803ef78: 1ad3 subs r3, r2, r3 803ef7a: 4a71 ldr r2, [pc, #452] ; (803f140 ) 803ef7c: fba2 1203 umull r1, r2, r2, r3 803ef80: 0952 lsrs r2, r2, #5 803ef82: 2164 movs r1, #100 ; 0x64 803ef84: fb01 f202 mul.w r2, r1, r2 803ef88: 1a9a subs r2, r3, r2 803ef8a: 4b6e ldr r3, [pc, #440] ; (803f144 ) 803ef8c: fba3 2302 umull r2, r3, r3, r2 803ef90: 08db lsrs r3, r3, #3 803ef92: b2db uxtb r3, r3 803ef94: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803ef98: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ef9c: 0953 lsrs r3, r2, #5 803ef9e: 4964 ldr r1, [pc, #400] ; (803f130 ) 803efa0: fba1 1303 umull r1, r3, r1, r3 803efa4: 09db lsrs r3, r3, #7 803efa6: 4963 ldr r1, [pc, #396] ; (803f134 ) 803efa8: fb01 f303 mul.w r3, r1, r3 803efac: 1ad3 subs r3, r2, r3 803efae: 4a62 ldr r2, [pc, #392] ; (803f138 ) 803efb0: fba2 1203 umull r1, r2, r2, r3 803efb4: 0b52 lsrs r2, r2, #13 803efb6: f242 7110 movw r1, #10000 ; 0x2710 803efba: fb01 f202 mul.w r2, r1, r2 803efbe: 1a9a subs r2, r3, r2 803efc0: 4b5e ldr r3, [pc, #376] ; (803f13c ) 803efc2: fba3 1302 umull r1, r3, r3, r2 803efc6: 099b lsrs r3, r3, #6 803efc8: f44f 717a mov.w r1, #1000 ; 0x3e8 803efcc: fb01 f303 mul.w r3, r1, r3 803efd0: 1ad3 subs r3, r2, r3 803efd2: 4a5b ldr r2, [pc, #364] ; (803f140 ) 803efd4: fba2 1203 umull r1, r2, r2, r3 803efd8: 0952 lsrs r2, r2, #5 803efda: 2164 movs r1, #100 ; 0x64 803efdc: fb01 f202 mul.w r2, r1, r2 803efe0: 1a9a subs r2, r3, r2 803efe2: 4b58 ldr r3, [pc, #352] ; (803f144 ) 803efe4: fba3 1302 umull r1, r3, r3, r2 803efe8: 08d9 lsrs r1, r3, #3 803efea: 460b mov r3, r1 803efec: 009b lsls r3, r3, #2 803efee: 440b add r3, r1 803eff0: 005b lsls r3, r3, #1 803eff2: 1ad1 subs r1, r2, r3 803eff4: b2cb uxtb r3, r1 803eff6: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803effa: 4b4b ldr r3, [pc, #300] ; (803f128 ) 803effc: 781b ldrb r3, [r3, #0] 803effe: b2db uxtb r3, r3 803f000: 3b26 subs r3, #38 ; 0x26 803f002: 2b05 cmp r3, #5 803f004: d869 bhi.n 803f0da 803f006: a201 add r2, pc, #4 ; (adr r2, 803f00c ) 803f008: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f00c: 0803f025 .word 0x0803f025 803f010: 0803f045 .word 0x0803f045 803f014: 0803f067 .word 0x0803f067 803f018: 0803f087 .word 0x0803f087 803f01c: 0803f0a3 .word 0x0803f0a3 803f020: 0803f0bf .word 0x0803f0bf if(k > 100000) k -= 100000; 803f024: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f028: 4a42 ldr r2, [pc, #264] ; (803f134 ) 803f02a: 4293 cmp r3, r2 803f02c: d906 bls.n 803f03c 803f02e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f032: 4b45 ldr r3, [pc, #276] ; (803f148 ) 803f034: 4413 add r3, r2 803f036: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f03a: e04e b.n 803f0da else k = 0; 803f03c: 2300 movs r3, #0 803f03e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f042: e04a b.n 803f0da if(k > 10000) k -= 10000; 803f044: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f048: f242 7210 movw r2, #10000 ; 0x2710 803f04c: 4293 cmp r3, r2 803f04e: d906 bls.n 803f05e 803f050: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f054: 4b3d ldr r3, [pc, #244] ; (803f14c ) 803f056: 4413 add r3, r2 803f058: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f05c: e03d b.n 803f0da else k = 0; 803f05e: 2300 movs r3, #0 803f060: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f064: e039 b.n 803f0da if(k > 1000) k -= 1000; 803f066: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f06a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803f06e: d906 bls.n 803f07e 803f070: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f074: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803f078: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f07c: e02d b.n 803f0da else k = 0; 803f07e: 2300 movs r3, #0 803f080: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f084: e029 b.n 803f0da if(k > 100) k -= 100; 803f086: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f08a: 2b64 cmp r3, #100 ; 0x64 803f08c: d905 bls.n 803f09a 803f08e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f092: 3b64 subs r3, #100 ; 0x64 803f094: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f098: e01f b.n 803f0da else k = 0; 803f09a: 2300 movs r3, #0 803f09c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f0a0: e01b b.n 803f0da if(k > 10) k -= 10; 803f0a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f0a6: 2b0a cmp r3, #10 803f0a8: d905 bls.n 803f0b6 803f0aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f0ae: 3b0a subs r3, #10 803f0b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f0b4: e011 b.n 803f0da else k = 0; 803f0b6: 2300 movs r3, #0 803f0b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f0bc: e00d b.n 803f0da if(k > 1) k -= 1; 803f0be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f0c2: 2b01 cmp r3, #1 803f0c4: d905 bls.n 803f0d2 803f0c6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f0ca: 3b01 subs r3, #1 803f0cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f0d0: e002 b.n 803f0d8 else k = 0; 803f0d2: 2300 movs r3, #0 803f0d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f0d8: bf00 nop if(k == 0) k = 1; 803f0da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f0de: 2b00 cmp r3, #0 803f0e0: d102 bne.n 803f0e8 803f0e2: 2301 movs r3, #1 803f0e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803f0e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f0ec: ee07 3a90 vmov s15, r3 803f0f0: eef8 7a67 vcvt.f32.u32 s15, s15 803f0f4: 4b0d ldr r3, [pc, #52] ; (803f12c ) 803f0f6: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803f0fa: 4b0c ldr r3, [pc, #48] ; (803f12c ) 803f0fc: edd3 7a06 vldr s15, [r3, #24] 803f100: ed9f 7a13 vldr s14, [pc, #76] ; 803f150 803f104: ee67 7a87 vmul.f32 s15, s15, s14 803f108: 4b08 ldr r3, [pc, #32] ; (803f12c ) 803f10a: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803f10e: 4b07 ldr r3, [pc, #28] ; (803f12c ) 803f110: edd3 7a06 vldr s15, [r3, #24] 803f114: ed9f 7a0f vldr s14, [pc, #60] ; 803f154 803f118: ee77 7a87 vadd.f32 s15, s15, s14 803f11c: 4b03 ldr r3, [pc, #12] ; (803f12c ) 803f11e: edc3 7a06 vstr s15, [r3, #24] 803f122: f000 bed9 b.w 803fed8 803f126: bf00 nop 803f128: 20020070 .word 0x20020070 803f12c: 20023ea8 .word 0x20023ea8 803f130: 0a7c5ac5 .word 0x0a7c5ac5 803f134: 000186a0 .word 0x000186a0 803f138: d1b71759 .word 0xd1b71759 803f13c: 10624dd3 .word 0x10624dd3 803f140: 51eb851f .word 0x51eb851f 803f144: cccccccd .word 0xcccccccd 803f148: fffe7960 .word 0xfffe7960 803f14c: ffffd8f0 .word 0xffffd8f0 803f150: 3dcccccd .word 0x3dcccccd 803f154: 3d4ccccd .word 0x3d4ccccd if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 803f158: 4bb3 ldr r3, [pc, #716] ; (803f428 ) 803f15a: 781b ldrb r3, [r3, #0] 803f15c: b2db uxtb r3, r3 803f15e: 2b09 cmp r3, #9 803f160: f240 817c bls.w 803f45c 803f164: 4bb0 ldr r3, [pc, #704] ; (803f428 ) 803f166: 781b ldrb r3, [r3, #0] 803f168: b2db uxtb r3, r3 803f16a: 2b0f cmp r3, #15 803f16c: f200 8176 bhi.w 803f45c k = (uint32_t) (pardata.D_ROLL * 1000.0f); 803f170: 4bae ldr r3, [pc, #696] ; (803f42c ) 803f172: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803f176: ed9f 7aae vldr s14, [pc, #696] ; 803f430 803f17a: ee67 7a87 vmul.f32 s15, s15, s14 803f17e: eefc 7ae7 vcvt.u32.f32 s15, s15 803f182: ee17 3a90 vmov r3, s15 803f186: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803f18a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f18e: 095b lsrs r3, r3, #5 803f190: 4aa8 ldr r2, [pc, #672] ; (803f434 ) 803f192: fba2 2303 umull r2, r3, r2, r3 803f196: 09db lsrs r3, r3, #7 803f198: b2db uxtb r3, r3 803f19a: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803f19e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f1a2: 0953 lsrs r3, r2, #5 803f1a4: 49a3 ldr r1, [pc, #652] ; (803f434 ) 803f1a6: fba1 1303 umull r1, r3, r1, r3 803f1aa: 09db lsrs r3, r3, #7 803f1ac: 49a2 ldr r1, [pc, #648] ; (803f438 ) 803f1ae: fb01 f303 mul.w r3, r1, r3 803f1b2: 1ad3 subs r3, r2, r3 803f1b4: 4aa1 ldr r2, [pc, #644] ; (803f43c ) 803f1b6: fba2 2303 umull r2, r3, r2, r3 803f1ba: 0b5b lsrs r3, r3, #13 803f1bc: b2db uxtb r3, r3 803f1be: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803f1c2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f1c6: 0953 lsrs r3, r2, #5 803f1c8: 499a ldr r1, [pc, #616] ; (803f434 ) 803f1ca: fba1 1303 umull r1, r3, r1, r3 803f1ce: 09db lsrs r3, r3, #7 803f1d0: 4999 ldr r1, [pc, #612] ; (803f438 ) 803f1d2: fb01 f303 mul.w r3, r1, r3 803f1d6: 1ad3 subs r3, r2, r3 803f1d8: 4a98 ldr r2, [pc, #608] ; (803f43c ) 803f1da: fba2 1203 umull r1, r2, r2, r3 803f1de: 0b52 lsrs r2, r2, #13 803f1e0: f242 7110 movw r1, #10000 ; 0x2710 803f1e4: fb01 f202 mul.w r2, r1, r2 803f1e8: 1a9a subs r2, r3, r2 803f1ea: 4b95 ldr r3, [pc, #596] ; (803f440 ) 803f1ec: fba3 2302 umull r2, r3, r3, r2 803f1f0: 099b lsrs r3, r3, #6 803f1f2: b2db uxtb r3, r3 803f1f4: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803f1f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1fc: 095a lsrs r2, r3, #5 803f1fe: 498d ldr r1, [pc, #564] ; (803f434 ) 803f200: fba1 1202 umull r1, r2, r1, r2 803f204: 09d2 lsrs r2, r2, #7 803f206: 498c ldr r1, [pc, #560] ; (803f438 ) 803f208: fb01 f202 mul.w r2, r1, r2 803f20c: 1a9a subs r2, r3, r2 803f20e: 4b8b ldr r3, [pc, #556] ; (803f43c ) 803f210: fba3 1302 umull r1, r3, r3, r2 803f214: 0b5b lsrs r3, r3, #13 803f216: f242 7110 movw r1, #10000 ; 0x2710 803f21a: fb01 f303 mul.w r3, r1, r3 803f21e: 1ad3 subs r3, r2, r3 803f220: 4a87 ldr r2, [pc, #540] ; (803f440 ) 803f222: fba2 1203 umull r1, r2, r2, r3 803f226: 0992 lsrs r2, r2, #6 803f228: f44f 717a mov.w r1, #1000 ; 0x3e8 803f22c: fb01 f202 mul.w r2, r1, r2 803f230: 1a9a subs r2, r3, r2 803f232: 4b84 ldr r3, [pc, #528] ; (803f444 ) 803f234: fba3 2302 umull r2, r3, r3, r2 803f238: 095b lsrs r3, r3, #5 803f23a: b2db uxtb r3, r3 803f23c: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803f240: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f244: 0953 lsrs r3, r2, #5 803f246: 497b ldr r1, [pc, #492] ; (803f434 ) 803f248: fba1 1303 umull r1, r3, r1, r3 803f24c: 09db lsrs r3, r3, #7 803f24e: 497a ldr r1, [pc, #488] ; (803f438 ) 803f250: fb01 f303 mul.w r3, r1, r3 803f254: 1ad3 subs r3, r2, r3 803f256: 4a79 ldr r2, [pc, #484] ; (803f43c ) 803f258: fba2 1203 umull r1, r2, r2, r3 803f25c: 0b52 lsrs r2, r2, #13 803f25e: f242 7110 movw r1, #10000 ; 0x2710 803f262: fb01 f202 mul.w r2, r1, r2 803f266: 1a9a subs r2, r3, r2 803f268: 4b75 ldr r3, [pc, #468] ; (803f440 ) 803f26a: fba3 1302 umull r1, r3, r3, r2 803f26e: 099b lsrs r3, r3, #6 803f270: f44f 717a mov.w r1, #1000 ; 0x3e8 803f274: fb01 f303 mul.w r3, r1, r3 803f278: 1ad3 subs r3, r2, r3 803f27a: 4a72 ldr r2, [pc, #456] ; (803f444 ) 803f27c: fba2 1203 umull r1, r2, r2, r3 803f280: 0952 lsrs r2, r2, #5 803f282: 2164 movs r1, #100 ; 0x64 803f284: fb01 f202 mul.w r2, r1, r2 803f288: 1a9a subs r2, r3, r2 803f28a: 4b6f ldr r3, [pc, #444] ; (803f448 ) 803f28c: fba3 2302 umull r2, r3, r3, r2 803f290: 08db lsrs r3, r3, #3 803f292: b2db uxtb r3, r3 803f294: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803f298: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f29c: 0953 lsrs r3, r2, #5 803f29e: 4965 ldr r1, [pc, #404] ; (803f434 ) 803f2a0: fba1 1303 umull r1, r3, r1, r3 803f2a4: 09db lsrs r3, r3, #7 803f2a6: 4964 ldr r1, [pc, #400] ; (803f438 ) 803f2a8: fb01 f303 mul.w r3, r1, r3 803f2ac: 1ad3 subs r3, r2, r3 803f2ae: 4a63 ldr r2, [pc, #396] ; (803f43c ) 803f2b0: fba2 1203 umull r1, r2, r2, r3 803f2b4: 0b52 lsrs r2, r2, #13 803f2b6: f242 7110 movw r1, #10000 ; 0x2710 803f2ba: fb01 f202 mul.w r2, r1, r2 803f2be: 1a9a subs r2, r3, r2 803f2c0: 4b5f ldr r3, [pc, #380] ; (803f440 ) 803f2c2: fba3 1302 umull r1, r3, r3, r2 803f2c6: 099b lsrs r3, r3, #6 803f2c8: f44f 717a mov.w r1, #1000 ; 0x3e8 803f2cc: fb01 f303 mul.w r3, r1, r3 803f2d0: 1ad3 subs r3, r2, r3 803f2d2: 4a5c ldr r2, [pc, #368] ; (803f444 ) 803f2d4: fba2 1203 umull r1, r2, r2, r3 803f2d8: 0952 lsrs r2, r2, #5 803f2da: 2164 movs r1, #100 ; 0x64 803f2dc: fb01 f202 mul.w r2, r1, r2 803f2e0: 1a9a subs r2, r3, r2 803f2e2: 4b59 ldr r3, [pc, #356] ; (803f448 ) 803f2e4: fba3 1302 umull r1, r3, r3, r2 803f2e8: 08d9 lsrs r1, r3, #3 803f2ea: 460b mov r3, r1 803f2ec: 009b lsls r3, r3, #2 803f2ee: 440b add r3, r1 803f2f0: 005b lsls r3, r3, #1 803f2f2: 1ad1 subs r1, r2, r3 803f2f4: b2cb uxtb r3, r1 803f2f6: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803f2fa: 4b4b ldr r3, [pc, #300] ; (803f428 ) 803f2fc: 781b ldrb r3, [r3, #0] 803f2fe: b2db uxtb r3, r3 803f300: 3b0a subs r3, #10 803f302: 2b05 cmp r3, #5 803f304: d869 bhi.n 803f3da 803f306: a201 add r2, pc, #4 ; (adr r2, 803f30c ) 803f308: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f30c: 0803f325 .word 0x0803f325 803f310: 0803f345 .word 0x0803f345 803f314: 0803f367 .word 0x0803f367 803f318: 0803f387 .word 0x0803f387 803f31c: 0803f3a3 .word 0x0803f3a3 803f320: 0803f3bf .word 0x0803f3bf if(k > 100000) k -= 100000; 803f324: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f328: 4a43 ldr r2, [pc, #268] ; (803f438 ) 803f32a: 4293 cmp r3, r2 803f32c: d906 bls.n 803f33c 803f32e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f332: 4b46 ldr r3, [pc, #280] ; (803f44c ) 803f334: 4413 add r3, r2 803f336: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f33a: e04e b.n 803f3da else k = 0; 803f33c: 2300 movs r3, #0 803f33e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f342: e04a b.n 803f3da if(k > 10000) k -= 10000; 803f344: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f348: f242 7210 movw r2, #10000 ; 0x2710 803f34c: 4293 cmp r3, r2 803f34e: d906 bls.n 803f35e 803f350: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f354: 4b3e ldr r3, [pc, #248] ; (803f450 ) 803f356: 4413 add r3, r2 803f358: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f35c: e03d b.n 803f3da else k = 0; 803f35e: 2300 movs r3, #0 803f360: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f364: e039 b.n 803f3da if(k > 1000) k -= 1000; 803f366: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f36a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803f36e: d906 bls.n 803f37e 803f370: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f374: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803f378: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f37c: e02d b.n 803f3da else k = 0; 803f37e: 2300 movs r3, #0 803f380: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f384: e029 b.n 803f3da if(k > 100) k -= 100; 803f386: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f38a: 2b64 cmp r3, #100 ; 0x64 803f38c: d905 bls.n 803f39a 803f38e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f392: 3b64 subs r3, #100 ; 0x64 803f394: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f398: e01f b.n 803f3da else k = 0; 803f39a: 2300 movs r3, #0 803f39c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f3a0: e01b b.n 803f3da if(k > 10) k -= 10; 803f3a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f3a6: 2b0a cmp r3, #10 803f3a8: d905 bls.n 803f3b6 803f3aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f3ae: 3b0a subs r3, #10 803f3b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f3b4: e011 b.n 803f3da else k = 0; 803f3b6: 2300 movs r3, #0 803f3b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f3bc: e00d b.n 803f3da if(k > 1) k -= 1; 803f3be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f3c2: 2b01 cmp r3, #1 803f3c4: d905 bls.n 803f3d2 803f3c6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f3ca: 3b01 subs r3, #1 803f3cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f3d0: e002 b.n 803f3d8 else k = 0; 803f3d2: 2300 movs r3, #0 803f3d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f3d8: bf00 nop if(k == 0) k = 1; 803f3da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f3de: 2b00 cmp r3, #0 803f3e0: d102 bne.n 803f3e8 803f3e2: 2301 movs r3, #1 803f3e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ROLL = (float32_t) k; 803f3e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f3ec: ee07 3a90 vmov s15, r3 803f3f0: eef8 7a67 vcvt.f32.u32 s15, s15 803f3f4: 4b0d ldr r3, [pc, #52] ; (803f42c ) 803f3f6: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL *= 0.001f; 803f3fa: 4b0c ldr r3, [pc, #48] ; (803f42c ) 803f3fc: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803f400: ed9f 7a14 vldr s14, [pc, #80] ; 803f454 803f404: ee67 7a87 vmul.f32 s15, s15, s14 803f408: 4b08 ldr r3, [pc, #32] ; (803f42c ) 803f40a: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL += 0.0005f; 803f40e: 4b07 ldr r3, [pc, #28] ; (803f42c ) 803f410: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803f414: ed9f 7a10 vldr s14, [pc, #64] ; 803f458 803f418: ee77 7a87 vadd.f32 s15, s15, s14 803f41c: 4b03 ldr r3, [pc, #12] ; (803f42c ) 803f41e: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 803f422: f000 bd59 b.w 803fed8 803f426: bf00 nop 803f428: 20020070 .word 0x20020070 803f42c: 20023ea8 .word 0x20023ea8 803f430: 447a0000 .word 0x447a0000 803f434: 0a7c5ac5 .word 0x0a7c5ac5 803f438: 000186a0 .word 0x000186a0 803f43c: d1b71759 .word 0xd1b71759 803f440: 10624dd3 .word 0x10624dd3 803f444: 51eb851f .word 0x51eb851f 803f448: cccccccd .word 0xcccccccd 803f44c: fffe7960 .word 0xfffe7960 803f450: ffffd8f0 .word 0xffffd8f0 803f454: 3a83126f .word 0x3a83126f 803f458: 3a03126f .word 0x3a03126f if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 803f45c: 4bb2 ldr r3, [pc, #712] ; (803f728 ) 803f45e: 781b ldrb r3, [r3, #0] 803f460: b2db uxtb r3, r3 803f462: 2b0f cmp r3, #15 803f464: f240 817a bls.w 803f75c 803f468: 4baf ldr r3, [pc, #700] ; (803f728 ) 803f46a: 781b ldrb r3, [r3, #0] 803f46c: b2db uxtb r3, r3 803f46e: 2b15 cmp r3, #21 803f470: f200 8174 bhi.w 803f75c k = (uint32_t) (pardata.D_OUTER * 1000.0f); 803f474: 4bad ldr r3, [pc, #692] ; (803f72c ) 803f476: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 803f47a: ed9f 7aad vldr s14, [pc, #692] ; 803f730 803f47e: ee67 7a87 vmul.f32 s15, s15, s14 803f482: eefc 7ae7 vcvt.u32.f32 s15, s15 803f486: ee17 3a90 vmov r3, s15 803f48a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803f48e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f492: 095b lsrs r3, r3, #5 803f494: 4aa7 ldr r2, [pc, #668] ; (803f734 ) 803f496: fba2 2303 umull r2, r3, r2, r3 803f49a: 09db lsrs r3, r3, #7 803f49c: b2db uxtb r3, r3 803f49e: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803f4a2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f4a6: 0953 lsrs r3, r2, #5 803f4a8: 49a2 ldr r1, [pc, #648] ; (803f734 ) 803f4aa: fba1 1303 umull r1, r3, r1, r3 803f4ae: 09db lsrs r3, r3, #7 803f4b0: 49a1 ldr r1, [pc, #644] ; (803f738 ) 803f4b2: fb01 f303 mul.w r3, r1, r3 803f4b6: 1ad3 subs r3, r2, r3 803f4b8: 4aa0 ldr r2, [pc, #640] ; (803f73c ) 803f4ba: fba2 2303 umull r2, r3, r2, r3 803f4be: 0b5b lsrs r3, r3, #13 803f4c0: b2db uxtb r3, r3 803f4c2: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803f4c6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f4ca: 0953 lsrs r3, r2, #5 803f4cc: 4999 ldr r1, [pc, #612] ; (803f734 ) 803f4ce: fba1 1303 umull r1, r3, r1, r3 803f4d2: 09db lsrs r3, r3, #7 803f4d4: 4998 ldr r1, [pc, #608] ; (803f738 ) 803f4d6: fb01 f303 mul.w r3, r1, r3 803f4da: 1ad3 subs r3, r2, r3 803f4dc: 4a97 ldr r2, [pc, #604] ; (803f73c ) 803f4de: fba2 1203 umull r1, r2, r2, r3 803f4e2: 0b52 lsrs r2, r2, #13 803f4e4: f242 7110 movw r1, #10000 ; 0x2710 803f4e8: fb01 f202 mul.w r2, r1, r2 803f4ec: 1a9a subs r2, r3, r2 803f4ee: 4b94 ldr r3, [pc, #592] ; (803f740 ) 803f4f0: fba3 2302 umull r2, r3, r3, r2 803f4f4: 099b lsrs r3, r3, #6 803f4f6: b2db uxtb r3, r3 803f4f8: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803f4fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f500: 095a lsrs r2, r3, #5 803f502: 498c ldr r1, [pc, #560] ; (803f734 ) 803f504: fba1 1202 umull r1, r2, r1, r2 803f508: 09d2 lsrs r2, r2, #7 803f50a: 498b ldr r1, [pc, #556] ; (803f738 ) 803f50c: fb01 f202 mul.w r2, r1, r2 803f510: 1a9a subs r2, r3, r2 803f512: 4b8a ldr r3, [pc, #552] ; (803f73c ) 803f514: fba3 1302 umull r1, r3, r3, r2 803f518: 0b5b lsrs r3, r3, #13 803f51a: f242 7110 movw r1, #10000 ; 0x2710 803f51e: fb01 f303 mul.w r3, r1, r3 803f522: 1ad3 subs r3, r2, r3 803f524: 4a86 ldr r2, [pc, #536] ; (803f740 ) 803f526: fba2 1203 umull r1, r2, r2, r3 803f52a: 0992 lsrs r2, r2, #6 803f52c: f44f 717a mov.w r1, #1000 ; 0x3e8 803f530: fb01 f202 mul.w r2, r1, r2 803f534: 1a9a subs r2, r3, r2 803f536: 4b83 ldr r3, [pc, #524] ; (803f744 ) 803f538: fba3 2302 umull r2, r3, r3, r2 803f53c: 095b lsrs r3, r3, #5 803f53e: b2db uxtb r3, r3 803f540: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803f544: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f548: 0953 lsrs r3, r2, #5 803f54a: 497a ldr r1, [pc, #488] ; (803f734 ) 803f54c: fba1 1303 umull r1, r3, r1, r3 803f550: 09db lsrs r3, r3, #7 803f552: 4979 ldr r1, [pc, #484] ; (803f738 ) 803f554: fb01 f303 mul.w r3, r1, r3 803f558: 1ad3 subs r3, r2, r3 803f55a: 4a78 ldr r2, [pc, #480] ; (803f73c ) 803f55c: fba2 1203 umull r1, r2, r2, r3 803f560: 0b52 lsrs r2, r2, #13 803f562: f242 7110 movw r1, #10000 ; 0x2710 803f566: fb01 f202 mul.w r2, r1, r2 803f56a: 1a9a subs r2, r3, r2 803f56c: 4b74 ldr r3, [pc, #464] ; (803f740 ) 803f56e: fba3 1302 umull r1, r3, r3, r2 803f572: 099b lsrs r3, r3, #6 803f574: f44f 717a mov.w r1, #1000 ; 0x3e8 803f578: fb01 f303 mul.w r3, r1, r3 803f57c: 1ad3 subs r3, r2, r3 803f57e: 4a71 ldr r2, [pc, #452] ; (803f744 ) 803f580: fba2 1203 umull r1, r2, r2, r3 803f584: 0952 lsrs r2, r2, #5 803f586: 2164 movs r1, #100 ; 0x64 803f588: fb01 f202 mul.w r2, r1, r2 803f58c: 1a9a subs r2, r3, r2 803f58e: 4b6e ldr r3, [pc, #440] ; (803f748 ) 803f590: fba3 2302 umull r2, r3, r3, r2 803f594: 08db lsrs r3, r3, #3 803f596: b2db uxtb r3, r3 803f598: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803f59c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f5a0: 0953 lsrs r3, r2, #5 803f5a2: 4964 ldr r1, [pc, #400] ; (803f734 ) 803f5a4: fba1 1303 umull r1, r3, r1, r3 803f5a8: 09db lsrs r3, r3, #7 803f5aa: 4963 ldr r1, [pc, #396] ; (803f738 ) 803f5ac: fb01 f303 mul.w r3, r1, r3 803f5b0: 1ad3 subs r3, r2, r3 803f5b2: 4a62 ldr r2, [pc, #392] ; (803f73c ) 803f5b4: fba2 1203 umull r1, r2, r2, r3 803f5b8: 0b52 lsrs r2, r2, #13 803f5ba: f242 7110 movw r1, #10000 ; 0x2710 803f5be: fb01 f202 mul.w r2, r1, r2 803f5c2: 1a9a subs r2, r3, r2 803f5c4: 4b5e ldr r3, [pc, #376] ; (803f740 ) 803f5c6: fba3 1302 umull r1, r3, r3, r2 803f5ca: 099b lsrs r3, r3, #6 803f5cc: f44f 717a mov.w r1, #1000 ; 0x3e8 803f5d0: fb01 f303 mul.w r3, r1, r3 803f5d4: 1ad3 subs r3, r2, r3 803f5d6: 4a5b ldr r2, [pc, #364] ; (803f744 ) 803f5d8: fba2 1203 umull r1, r2, r2, r3 803f5dc: 0952 lsrs r2, r2, #5 803f5de: 2164 movs r1, #100 ; 0x64 803f5e0: fb01 f202 mul.w r2, r1, r2 803f5e4: 1a9a subs r2, r3, r2 803f5e6: 4b58 ldr r3, [pc, #352] ; (803f748 ) 803f5e8: fba3 1302 umull r1, r3, r3, r2 803f5ec: 08d9 lsrs r1, r3, #3 803f5ee: 460b mov r3, r1 803f5f0: 009b lsls r3, r3, #2 803f5f2: 440b add r3, r1 803f5f4: 005b lsls r3, r3, #1 803f5f6: 1ad1 subs r1, r2, r3 803f5f8: b2cb uxtb r3, r1 803f5fa: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803f5fe: 4b4a ldr r3, [pc, #296] ; (803f728 ) 803f600: 781b ldrb r3, [r3, #0] 803f602: b2db uxtb r3, r3 803f604: 3b10 subs r3, #16 803f606: 2b05 cmp r3, #5 803f608: d869 bhi.n 803f6de 803f60a: a201 add r2, pc, #4 ; (adr r2, 803f610 ) 803f60c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f610: 0803f629 .word 0x0803f629 803f614: 0803f649 .word 0x0803f649 803f618: 0803f66b .word 0x0803f66b 803f61c: 0803f68b .word 0x0803f68b 803f620: 0803f6a7 .word 0x0803f6a7 803f624: 0803f6c3 .word 0x0803f6c3 if(k > 100000) k -= 100000; 803f628: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f62c: 4a42 ldr r2, [pc, #264] ; (803f738 ) 803f62e: 4293 cmp r3, r2 803f630: d906 bls.n 803f640 803f632: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f636: 4b45 ldr r3, [pc, #276] ; (803f74c ) 803f638: 4413 add r3, r2 803f63a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f63e: e04e b.n 803f6de else k = 0; 803f640: 2300 movs r3, #0 803f642: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f646: e04a b.n 803f6de if(k > 10000) k -= 10000; 803f648: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f64c: f242 7210 movw r2, #10000 ; 0x2710 803f650: 4293 cmp r3, r2 803f652: d906 bls.n 803f662 803f654: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f658: 4b3d ldr r3, [pc, #244] ; (803f750 ) 803f65a: 4413 add r3, r2 803f65c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f660: e03d b.n 803f6de else k = 0; 803f662: 2300 movs r3, #0 803f664: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f668: e039 b.n 803f6de if(k > 1000) k -= 1000; 803f66a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f66e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803f672: d906 bls.n 803f682 803f674: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f678: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803f67c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f680: e02d b.n 803f6de else k = 0; 803f682: 2300 movs r3, #0 803f684: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f688: e029 b.n 803f6de if(k > 100) k -= 100; 803f68a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f68e: 2b64 cmp r3, #100 ; 0x64 803f690: d905 bls.n 803f69e 803f692: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f696: 3b64 subs r3, #100 ; 0x64 803f698: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f69c: e01f b.n 803f6de else k = 0; 803f69e: 2300 movs r3, #0 803f6a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6a4: e01b b.n 803f6de if(k > 10) k -= 10; 803f6a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6aa: 2b0a cmp r3, #10 803f6ac: d905 bls.n 803f6ba 803f6ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6b2: 3b0a subs r3, #10 803f6b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6b8: e011 b.n 803f6de else k = 0; 803f6ba: 2300 movs r3, #0 803f6bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6c0: e00d b.n 803f6de if(k > 1) k -= 1; 803f6c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6c6: 2b01 cmp r3, #1 803f6c8: d905 bls.n 803f6d6 803f6ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6ce: 3b01 subs r3, #1 803f6d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6d4: e002 b.n 803f6dc else k = 0; 803f6d6: 2300 movs r3, #0 803f6d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6dc: bf00 nop if(k == 0) k = 1; 803f6de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6e2: 2b00 cmp r3, #0 803f6e4: d102 bne.n 803f6ec 803f6e6: 2301 movs r3, #1 803f6e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_OUTER = (float32_t) k; 803f6ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6f0: ee07 3a90 vmov s15, r3 803f6f4: eef8 7a67 vcvt.f32.u32 s15, s15 803f6f8: 4b0c ldr r3, [pc, #48] ; (803f72c ) 803f6fa: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER *= 0.001f; 803f6fe: 4b0b ldr r3, [pc, #44] ; (803f72c ) 803f700: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 803f704: ed9f 7a13 vldr s14, [pc, #76] ; 803f754 803f708: ee67 7a87 vmul.f32 s15, s15, s14 803f70c: 4b07 ldr r3, [pc, #28] ; (803f72c ) 803f70e: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER += 0.0005f; 803f712: 4b06 ldr r3, [pc, #24] ; (803f72c ) 803f714: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 803f718: ed9f 7a0f vldr s14, [pc, #60] ; 803f758 803f71c: ee77 7a87 vadd.f32 s15, s15, s14 803f720: 4b02 ldr r3, [pc, #8] ; (803f72c ) 803f722: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 803f726: e3d7 b.n 803fed8 803f728: 20020070 .word 0x20020070 803f72c: 20023ea8 .word 0x20023ea8 803f730: 447a0000 .word 0x447a0000 803f734: 0a7c5ac5 .word 0x0a7c5ac5 803f738: 000186a0 .word 0x000186a0 803f73c: d1b71759 .word 0xd1b71759 803f740: 10624dd3 .word 0x10624dd3 803f744: 51eb851f .word 0x51eb851f 803f748: cccccccd .word 0xcccccccd 803f74c: fffe7960 .word 0xfffe7960 803f750: ffffd8f0 .word 0xffffd8f0 803f754: 3a83126f .word 0x3a83126f 803f758: 3a03126f .word 0x3a03126f if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 803f75c: 4bb2 ldr r3, [pc, #712] ; (803fa28 ) 803f75e: 781b ldrb r3, [r3, #0] 803f760: b2db uxtb r3, r3 803f762: 2b15 cmp r3, #21 803f764: f240 817a bls.w 803fa5c 803f768: 4baf ldr r3, [pc, #700] ; (803fa28 ) 803f76a: 781b ldrb r3, [r3, #0] 803f76c: b2db uxtb r3, r3 803f76e: 2b1b cmp r3, #27 803f770: f200 8174 bhi.w 803fa5c k = (uint32_t) (pardata.D_INNER * 1000.0f); 803f774: 4bad ldr r3, [pc, #692] ; (803fa2c ) 803f776: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803f77a: ed9f 7aad vldr s14, [pc, #692] ; 803fa30 803f77e: ee67 7a87 vmul.f32 s15, s15, s14 803f782: eefc 7ae7 vcvt.u32.f32 s15, s15 803f786: ee17 3a90 vmov r3, s15 803f78a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803f78e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f792: 095b lsrs r3, r3, #5 803f794: 4aa7 ldr r2, [pc, #668] ; (803fa34 ) 803f796: fba2 2303 umull r2, r3, r2, r3 803f79a: 09db lsrs r3, r3, #7 803f79c: b2db uxtb r3, r3 803f79e: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803f7a2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f7a6: 0953 lsrs r3, r2, #5 803f7a8: 49a2 ldr r1, [pc, #648] ; (803fa34 ) 803f7aa: fba1 1303 umull r1, r3, r1, r3 803f7ae: 09db lsrs r3, r3, #7 803f7b0: 49a1 ldr r1, [pc, #644] ; (803fa38 ) 803f7b2: fb01 f303 mul.w r3, r1, r3 803f7b6: 1ad3 subs r3, r2, r3 803f7b8: 4aa0 ldr r2, [pc, #640] ; (803fa3c ) 803f7ba: fba2 2303 umull r2, r3, r2, r3 803f7be: 0b5b lsrs r3, r3, #13 803f7c0: b2db uxtb r3, r3 803f7c2: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803f7c6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f7ca: 0953 lsrs r3, r2, #5 803f7cc: 4999 ldr r1, [pc, #612] ; (803fa34 ) 803f7ce: fba1 1303 umull r1, r3, r1, r3 803f7d2: 09db lsrs r3, r3, #7 803f7d4: 4998 ldr r1, [pc, #608] ; (803fa38 ) 803f7d6: fb01 f303 mul.w r3, r1, r3 803f7da: 1ad3 subs r3, r2, r3 803f7dc: 4a97 ldr r2, [pc, #604] ; (803fa3c ) 803f7de: fba2 1203 umull r1, r2, r2, r3 803f7e2: 0b52 lsrs r2, r2, #13 803f7e4: f242 7110 movw r1, #10000 ; 0x2710 803f7e8: fb01 f202 mul.w r2, r1, r2 803f7ec: 1a9a subs r2, r3, r2 803f7ee: 4b94 ldr r3, [pc, #592] ; (803fa40 ) 803f7f0: fba3 2302 umull r2, r3, r3, r2 803f7f4: 099b lsrs r3, r3, #6 803f7f6: b2db uxtb r3, r3 803f7f8: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803f7fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f800: 095a lsrs r2, r3, #5 803f802: 498c ldr r1, [pc, #560] ; (803fa34 ) 803f804: fba1 1202 umull r1, r2, r1, r2 803f808: 09d2 lsrs r2, r2, #7 803f80a: 498b ldr r1, [pc, #556] ; (803fa38 ) 803f80c: fb01 f202 mul.w r2, r1, r2 803f810: 1a9a subs r2, r3, r2 803f812: 4b8a ldr r3, [pc, #552] ; (803fa3c ) 803f814: fba3 1302 umull r1, r3, r3, r2 803f818: 0b5b lsrs r3, r3, #13 803f81a: f242 7110 movw r1, #10000 ; 0x2710 803f81e: fb01 f303 mul.w r3, r1, r3 803f822: 1ad3 subs r3, r2, r3 803f824: 4a86 ldr r2, [pc, #536] ; (803fa40 ) 803f826: fba2 1203 umull r1, r2, r2, r3 803f82a: 0992 lsrs r2, r2, #6 803f82c: f44f 717a mov.w r1, #1000 ; 0x3e8 803f830: fb01 f202 mul.w r2, r1, r2 803f834: 1a9a subs r2, r3, r2 803f836: 4b83 ldr r3, [pc, #524] ; (803fa44 ) 803f838: fba3 2302 umull r2, r3, r3, r2 803f83c: 095b lsrs r3, r3, #5 803f83e: b2db uxtb r3, r3 803f840: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803f844: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f848: 0953 lsrs r3, r2, #5 803f84a: 497a ldr r1, [pc, #488] ; (803fa34 ) 803f84c: fba1 1303 umull r1, r3, r1, r3 803f850: 09db lsrs r3, r3, #7 803f852: 4979 ldr r1, [pc, #484] ; (803fa38 ) 803f854: fb01 f303 mul.w r3, r1, r3 803f858: 1ad3 subs r3, r2, r3 803f85a: 4a78 ldr r2, [pc, #480] ; (803fa3c ) 803f85c: fba2 1203 umull r1, r2, r2, r3 803f860: 0b52 lsrs r2, r2, #13 803f862: f242 7110 movw r1, #10000 ; 0x2710 803f866: fb01 f202 mul.w r2, r1, r2 803f86a: 1a9a subs r2, r3, r2 803f86c: 4b74 ldr r3, [pc, #464] ; (803fa40 ) 803f86e: fba3 1302 umull r1, r3, r3, r2 803f872: 099b lsrs r3, r3, #6 803f874: f44f 717a mov.w r1, #1000 ; 0x3e8 803f878: fb01 f303 mul.w r3, r1, r3 803f87c: 1ad3 subs r3, r2, r3 803f87e: 4a71 ldr r2, [pc, #452] ; (803fa44 ) 803f880: fba2 1203 umull r1, r2, r2, r3 803f884: 0952 lsrs r2, r2, #5 803f886: 2164 movs r1, #100 ; 0x64 803f888: fb01 f202 mul.w r2, r1, r2 803f88c: 1a9a subs r2, r3, r2 803f88e: 4b6e ldr r3, [pc, #440] ; (803fa48 ) 803f890: fba3 2302 umull r2, r3, r3, r2 803f894: 08db lsrs r3, r3, #3 803f896: b2db uxtb r3, r3 803f898: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803f89c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f8a0: 0953 lsrs r3, r2, #5 803f8a2: 4964 ldr r1, [pc, #400] ; (803fa34 ) 803f8a4: fba1 1303 umull r1, r3, r1, r3 803f8a8: 09db lsrs r3, r3, #7 803f8aa: 4963 ldr r1, [pc, #396] ; (803fa38 ) 803f8ac: fb01 f303 mul.w r3, r1, r3 803f8b0: 1ad3 subs r3, r2, r3 803f8b2: 4a62 ldr r2, [pc, #392] ; (803fa3c ) 803f8b4: fba2 1203 umull r1, r2, r2, r3 803f8b8: 0b52 lsrs r2, r2, #13 803f8ba: f242 7110 movw r1, #10000 ; 0x2710 803f8be: fb01 f202 mul.w r2, r1, r2 803f8c2: 1a9a subs r2, r3, r2 803f8c4: 4b5e ldr r3, [pc, #376] ; (803fa40 ) 803f8c6: fba3 1302 umull r1, r3, r3, r2 803f8ca: 099b lsrs r3, r3, #6 803f8cc: f44f 717a mov.w r1, #1000 ; 0x3e8 803f8d0: fb01 f303 mul.w r3, r1, r3 803f8d4: 1ad3 subs r3, r2, r3 803f8d6: 4a5b ldr r2, [pc, #364] ; (803fa44 ) 803f8d8: fba2 1203 umull r1, r2, r2, r3 803f8dc: 0952 lsrs r2, r2, #5 803f8de: 2164 movs r1, #100 ; 0x64 803f8e0: fb01 f202 mul.w r2, r1, r2 803f8e4: 1a9a subs r2, r3, r2 803f8e6: 4b58 ldr r3, [pc, #352] ; (803fa48 ) 803f8e8: fba3 1302 umull r1, r3, r3, r2 803f8ec: 08d9 lsrs r1, r3, #3 803f8ee: 460b mov r3, r1 803f8f0: 009b lsls r3, r3, #2 803f8f2: 440b add r3, r1 803f8f4: 005b lsls r3, r3, #1 803f8f6: 1ad1 subs r1, r2, r3 803f8f8: b2cb uxtb r3, r1 803f8fa: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803f8fe: 4b4a ldr r3, [pc, #296] ; (803fa28 ) 803f900: 781b ldrb r3, [r3, #0] 803f902: b2db uxtb r3, r3 803f904: 3b16 subs r3, #22 803f906: 2b05 cmp r3, #5 803f908: d869 bhi.n 803f9de 803f90a: a201 add r2, pc, #4 ; (adr r2, 803f910 ) 803f90c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f910: 0803f929 .word 0x0803f929 803f914: 0803f949 .word 0x0803f949 803f918: 0803f96b .word 0x0803f96b 803f91c: 0803f98b .word 0x0803f98b 803f920: 0803f9a7 .word 0x0803f9a7 803f924: 0803f9c3 .word 0x0803f9c3 if(k > 100000) k -= 100000; 803f928: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f92c: 4a42 ldr r2, [pc, #264] ; (803fa38 ) 803f92e: 4293 cmp r3, r2 803f930: d906 bls.n 803f940 803f932: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f936: 4b45 ldr r3, [pc, #276] ; (803fa4c ) 803f938: 4413 add r3, r2 803f93a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f93e: e04e b.n 803f9de else k = 0; 803f940: 2300 movs r3, #0 803f942: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f946: e04a b.n 803f9de if(k > 10000) k -= 10000; 803f948: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f94c: f242 7210 movw r2, #10000 ; 0x2710 803f950: 4293 cmp r3, r2 803f952: d906 bls.n 803f962 803f954: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f958: 4b3d ldr r3, [pc, #244] ; (803fa50 ) 803f95a: 4413 add r3, r2 803f95c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f960: e03d b.n 803f9de else k = 0; 803f962: 2300 movs r3, #0 803f964: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f968: e039 b.n 803f9de if(k > 1000) k -= 1000; 803f96a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f96e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803f972: d906 bls.n 803f982 803f974: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f978: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803f97c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f980: e02d b.n 803f9de else k = 0; 803f982: 2300 movs r3, #0 803f984: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f988: e029 b.n 803f9de if(k > 100) k -= 100; 803f98a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f98e: 2b64 cmp r3, #100 ; 0x64 803f990: d905 bls.n 803f99e 803f992: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f996: 3b64 subs r3, #100 ; 0x64 803f998: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f99c: e01f b.n 803f9de else k = 0; 803f99e: 2300 movs r3, #0 803f9a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f9a4: e01b b.n 803f9de if(k > 10) k -= 10; 803f9a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f9aa: 2b0a cmp r3, #10 803f9ac: d905 bls.n 803f9ba 803f9ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f9b2: 3b0a subs r3, #10 803f9b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f9b8: e011 b.n 803f9de else k = 0; 803f9ba: 2300 movs r3, #0 803f9bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f9c0: e00d b.n 803f9de if(k > 1) k -= 1; 803f9c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f9c6: 2b01 cmp r3, #1 803f9c8: d905 bls.n 803f9d6 803f9ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f9ce: 3b01 subs r3, #1 803f9d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f9d4: e002 b.n 803f9dc else k = 0; 803f9d6: 2300 movs r3, #0 803f9d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f9dc: bf00 nop if(k == 0) k = 1; 803f9de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f9e2: 2b00 cmp r3, #0 803f9e4: d102 bne.n 803f9ec 803f9e6: 2301 movs r3, #1 803f9e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 803f9ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f9f0: ee07 3a90 vmov s15, r3 803f9f4: eef8 7a67 vcvt.f32.u32 s15, s15 803f9f8: 4b0c ldr r3, [pc, #48] ; (803fa2c ) 803f9fa: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 803f9fe: 4b0b ldr r3, [pc, #44] ; (803fa2c ) 803fa00: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803fa04: ed9f 7a13 vldr s14, [pc, #76] ; 803fa54 803fa08: ee67 7a87 vmul.f32 s15, s15, s14 803fa0c: 4b07 ldr r3, [pc, #28] ; (803fa2c ) 803fa0e: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 803fa12: 4b06 ldr r3, [pc, #24] ; (803fa2c ) 803fa14: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803fa18: ed9f 7a0f vldr s14, [pc, #60] ; 803fa58 803fa1c: ee77 7a87 vadd.f32 s15, s15, s14 803fa20: 4b02 ldr r3, [pc, #8] ; (803fa2c ) 803fa22: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 803fa26: e257 b.n 803fed8 803fa28: 20020070 .word 0x20020070 803fa2c: 20023ea8 .word 0x20023ea8 803fa30: 447a0000 .word 0x447a0000 803fa34: 0a7c5ac5 .word 0x0a7c5ac5 803fa38: 000186a0 .word 0x000186a0 803fa3c: d1b71759 .word 0xd1b71759 803fa40: 10624dd3 .word 0x10624dd3 803fa44: 51eb851f .word 0x51eb851f 803fa48: cccccccd .word 0xcccccccd 803fa4c: fffe7960 .word 0xfffe7960 803fa50: ffffd8f0 .word 0xffffd8f0 803fa54: 3a83126f .word 0x3a83126f 803fa58: 3a03126f .word 0x3a03126f if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 803fa5c: 4bb2 ldr r3, [pc, #712] ; (803fd28 ) 803fa5e: 781b ldrb r3, [r3, #0] 803fa60: b2db uxtb r3, r3 803fa62: 2b1b cmp r3, #27 803fa64: f240 817a bls.w 803fd5c 803fa68: 4baf ldr r3, [pc, #700] ; (803fd28 ) 803fa6a: 781b ldrb r3, [r3, #0] 803fa6c: b2db uxtb r3, r3 803fa6e: 2b21 cmp r3, #33 ; 0x21 803fa70: f200 8174 bhi.w 803fd5c k = (uint32_t) (pardata.D_ANGLE * 1000.0f); 803fa74: 4bad ldr r3, [pc, #692] ; (803fd2c ) 803fa76: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 803fa7a: ed9f 7aad vldr s14, [pc, #692] ; 803fd30 803fa7e: ee67 7a87 vmul.f32 s15, s15, s14 803fa82: eefc 7ae7 vcvt.u32.f32 s15, s15 803fa86: ee17 3a90 vmov r3, s15 803fa8a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803fa8e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa92: 095b lsrs r3, r3, #5 803fa94: 4aa7 ldr r2, [pc, #668] ; (803fd34 ) 803fa96: fba2 2303 umull r2, r3, r2, r3 803fa9a: 09db lsrs r3, r3, #7 803fa9c: b2db uxtb r3, r3 803fa9e: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803faa2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803faa6: 0953 lsrs r3, r2, #5 803faa8: 49a2 ldr r1, [pc, #648] ; (803fd34 ) 803faaa: fba1 1303 umull r1, r3, r1, r3 803faae: 09db lsrs r3, r3, #7 803fab0: 49a1 ldr r1, [pc, #644] ; (803fd38 ) 803fab2: fb01 f303 mul.w r3, r1, r3 803fab6: 1ad3 subs r3, r2, r3 803fab8: 4aa0 ldr r2, [pc, #640] ; (803fd3c ) 803faba: fba2 2303 umull r2, r3, r2, r3 803fabe: 0b5b lsrs r3, r3, #13 803fac0: b2db uxtb r3, r3 803fac2: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803fac6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803faca: 0953 lsrs r3, r2, #5 803facc: 4999 ldr r1, [pc, #612] ; (803fd34 ) 803face: fba1 1303 umull r1, r3, r1, r3 803fad2: 09db lsrs r3, r3, #7 803fad4: 4998 ldr r1, [pc, #608] ; (803fd38 ) 803fad6: fb01 f303 mul.w r3, r1, r3 803fada: 1ad3 subs r3, r2, r3 803fadc: 4a97 ldr r2, [pc, #604] ; (803fd3c ) 803fade: fba2 1203 umull r1, r2, r2, r3 803fae2: 0b52 lsrs r2, r2, #13 803fae4: f242 7110 movw r1, #10000 ; 0x2710 803fae8: fb01 f202 mul.w r2, r1, r2 803faec: 1a9a subs r2, r3, r2 803faee: 4b94 ldr r3, [pc, #592] ; (803fd40 ) 803faf0: fba3 2302 umull r2, r3, r3, r2 803faf4: 099b lsrs r3, r3, #6 803faf6: b2db uxtb r3, r3 803faf8: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803fafc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fb00: 095a lsrs r2, r3, #5 803fb02: 498c ldr r1, [pc, #560] ; (803fd34 ) 803fb04: fba1 1202 umull r1, r2, r1, r2 803fb08: 09d2 lsrs r2, r2, #7 803fb0a: 498b ldr r1, [pc, #556] ; (803fd38 ) 803fb0c: fb01 f202 mul.w r2, r1, r2 803fb10: 1a9a subs r2, r3, r2 803fb12: 4b8a ldr r3, [pc, #552] ; (803fd3c ) 803fb14: fba3 1302 umull r1, r3, r3, r2 803fb18: 0b5b lsrs r3, r3, #13 803fb1a: f242 7110 movw r1, #10000 ; 0x2710 803fb1e: fb01 f303 mul.w r3, r1, r3 803fb22: 1ad3 subs r3, r2, r3 803fb24: 4a86 ldr r2, [pc, #536] ; (803fd40 ) 803fb26: fba2 1203 umull r1, r2, r2, r3 803fb2a: 0992 lsrs r2, r2, #6 803fb2c: f44f 717a mov.w r1, #1000 ; 0x3e8 803fb30: fb01 f202 mul.w r2, r1, r2 803fb34: 1a9a subs r2, r3, r2 803fb36: 4b83 ldr r3, [pc, #524] ; (803fd44 ) 803fb38: fba3 2302 umull r2, r3, r3, r2 803fb3c: 095b lsrs r3, r3, #5 803fb3e: b2db uxtb r3, r3 803fb40: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803fb44: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fb48: 0953 lsrs r3, r2, #5 803fb4a: 497a ldr r1, [pc, #488] ; (803fd34 ) 803fb4c: fba1 1303 umull r1, r3, r1, r3 803fb50: 09db lsrs r3, r3, #7 803fb52: 4979 ldr r1, [pc, #484] ; (803fd38 ) 803fb54: fb01 f303 mul.w r3, r1, r3 803fb58: 1ad3 subs r3, r2, r3 803fb5a: 4a78 ldr r2, [pc, #480] ; (803fd3c ) 803fb5c: fba2 1203 umull r1, r2, r2, r3 803fb60: 0b52 lsrs r2, r2, #13 803fb62: f242 7110 movw r1, #10000 ; 0x2710 803fb66: fb01 f202 mul.w r2, r1, r2 803fb6a: 1a9a subs r2, r3, r2 803fb6c: 4b74 ldr r3, [pc, #464] ; (803fd40 ) 803fb6e: fba3 1302 umull r1, r3, r3, r2 803fb72: 099b lsrs r3, r3, #6 803fb74: f44f 717a mov.w r1, #1000 ; 0x3e8 803fb78: fb01 f303 mul.w r3, r1, r3 803fb7c: 1ad3 subs r3, r2, r3 803fb7e: 4a71 ldr r2, [pc, #452] ; (803fd44 ) 803fb80: fba2 1203 umull r1, r2, r2, r3 803fb84: 0952 lsrs r2, r2, #5 803fb86: 2164 movs r1, #100 ; 0x64 803fb88: fb01 f202 mul.w r2, r1, r2 803fb8c: 1a9a subs r2, r3, r2 803fb8e: 4b6e ldr r3, [pc, #440] ; (803fd48 ) 803fb90: fba3 2302 umull r2, r3, r3, r2 803fb94: 08db lsrs r3, r3, #3 803fb96: b2db uxtb r3, r3 803fb98: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803fb9c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fba0: 0953 lsrs r3, r2, #5 803fba2: 4964 ldr r1, [pc, #400] ; (803fd34 ) 803fba4: fba1 1303 umull r1, r3, r1, r3 803fba8: 09db lsrs r3, r3, #7 803fbaa: 4963 ldr r1, [pc, #396] ; (803fd38 ) 803fbac: fb01 f303 mul.w r3, r1, r3 803fbb0: 1ad3 subs r3, r2, r3 803fbb2: 4a62 ldr r2, [pc, #392] ; (803fd3c ) 803fbb4: fba2 1203 umull r1, r2, r2, r3 803fbb8: 0b52 lsrs r2, r2, #13 803fbba: f242 7110 movw r1, #10000 ; 0x2710 803fbbe: fb01 f202 mul.w r2, r1, r2 803fbc2: 1a9a subs r2, r3, r2 803fbc4: 4b5e ldr r3, [pc, #376] ; (803fd40 ) 803fbc6: fba3 1302 umull r1, r3, r3, r2 803fbca: 099b lsrs r3, r3, #6 803fbcc: f44f 717a mov.w r1, #1000 ; 0x3e8 803fbd0: fb01 f303 mul.w r3, r1, r3 803fbd4: 1ad3 subs r3, r2, r3 803fbd6: 4a5b ldr r2, [pc, #364] ; (803fd44 ) 803fbd8: fba2 1203 umull r1, r2, r2, r3 803fbdc: 0952 lsrs r2, r2, #5 803fbde: 2164 movs r1, #100 ; 0x64 803fbe0: fb01 f202 mul.w r2, r1, r2 803fbe4: 1a9a subs r2, r3, r2 803fbe6: 4b58 ldr r3, [pc, #352] ; (803fd48 ) 803fbe8: fba3 1302 umull r1, r3, r3, r2 803fbec: 08d9 lsrs r1, r3, #3 803fbee: 460b mov r3, r1 803fbf0: 009b lsls r3, r3, #2 803fbf2: 440b add r3, r1 803fbf4: 005b lsls r3, r3, #1 803fbf6: 1ad1 subs r1, r2, r3 803fbf8: b2cb uxtb r3, r1 803fbfa: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803fbfe: 4b4a ldr r3, [pc, #296] ; (803fd28 ) 803fc00: 781b ldrb r3, [r3, #0] 803fc02: b2db uxtb r3, r3 803fc04: 3b1c subs r3, #28 803fc06: 2b05 cmp r3, #5 803fc08: d869 bhi.n 803fcde 803fc0a: a201 add r2, pc, #4 ; (adr r2, 803fc10 ) 803fc0c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803fc10: 0803fc29 .word 0x0803fc29 803fc14: 0803fc49 .word 0x0803fc49 803fc18: 0803fc6b .word 0x0803fc6b 803fc1c: 0803fc8b .word 0x0803fc8b 803fc20: 0803fca7 .word 0x0803fca7 803fc24: 0803fcc3 .word 0x0803fcc3 if(k > 100000) k -= 100000; 803fc28: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc2c: 4a42 ldr r2, [pc, #264] ; (803fd38 ) 803fc2e: 4293 cmp r3, r2 803fc30: d906 bls.n 803fc40 803fc32: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fc36: 4b45 ldr r3, [pc, #276] ; (803fd4c ) 803fc38: 4413 add r3, r2 803fc3a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc3e: e04e b.n 803fcde else k = 0; 803fc40: 2300 movs r3, #0 803fc42: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc46: e04a b.n 803fcde if(k > 10000) k -= 10000; 803fc48: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc4c: f242 7210 movw r2, #10000 ; 0x2710 803fc50: 4293 cmp r3, r2 803fc52: d906 bls.n 803fc62 803fc54: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fc58: 4b3d ldr r3, [pc, #244] ; (803fd50 ) 803fc5a: 4413 add r3, r2 803fc5c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc60: e03d b.n 803fcde else k = 0; 803fc62: 2300 movs r3, #0 803fc64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc68: e039 b.n 803fcde if(k > 1000) k -= 1000; 803fc6a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc6e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803fc72: d906 bls.n 803fc82 803fc74: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc78: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803fc7c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc80: e02d b.n 803fcde else k = 0; 803fc82: 2300 movs r3, #0 803fc84: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc88: e029 b.n 803fcde if(k > 100) k -= 100; 803fc8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc8e: 2b64 cmp r3, #100 ; 0x64 803fc90: d905 bls.n 803fc9e 803fc92: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fc96: 3b64 subs r3, #100 ; 0x64 803fc98: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fc9c: e01f b.n 803fcde else k = 0; 803fc9e: 2300 movs r3, #0 803fca0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fca4: e01b b.n 803fcde if(k > 10) k -= 10; 803fca6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fcaa: 2b0a cmp r3, #10 803fcac: d905 bls.n 803fcba 803fcae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fcb2: 3b0a subs r3, #10 803fcb4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fcb8: e011 b.n 803fcde else k = 0; 803fcba: 2300 movs r3, #0 803fcbc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fcc0: e00d b.n 803fcde if(k > 1) k -= 1; 803fcc2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fcc6: 2b01 cmp r3, #1 803fcc8: d905 bls.n 803fcd6 803fcca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fcce: 3b01 subs r3, #1 803fcd0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fcd4: e002 b.n 803fcdc else k = 0; 803fcd6: 2300 movs r3, #0 803fcd8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fcdc: bf00 nop if(k == 0) k = 1; 803fcde: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fce2: 2b00 cmp r3, #0 803fce4: d102 bne.n 803fcec 803fce6: 2301 movs r3, #1 803fce8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ANGLE = (float32_t) k; 803fcec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fcf0: ee07 3a90 vmov s15, r3 803fcf4: eef8 7a67 vcvt.f32.u32 s15, s15 803fcf8: 4b0c ldr r3, [pc, #48] ; (803fd2c ) 803fcfa: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE *= 0.001f; 803fcfe: 4b0b ldr r3, [pc, #44] ; (803fd2c ) 803fd00: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 803fd04: ed9f 7a13 vldr s14, [pc, #76] ; 803fd54 803fd08: ee67 7a87 vmul.f32 s15, s15, s14 803fd0c: 4b07 ldr r3, [pc, #28] ; (803fd2c ) 803fd0e: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE += 0.0005f; 803fd12: 4b06 ldr r3, [pc, #24] ; (803fd2c ) 803fd14: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 803fd18: ed9f 7a0f vldr s14, [pc, #60] ; 803fd58 803fd1c: ee77 7a87 vadd.f32 s15, s15, s14 803fd20: 4b02 ldr r3, [pc, #8] ; (803fd2c ) 803fd22: edc3 7a33 vstr s15, [r3, #204] ; 0xcc 803fd26: e0d7 b.n 803fed8 803fd28: 20020070 .word 0x20020070 803fd2c: 20023ea8 .word 0x20023ea8 803fd30: 447a0000 .word 0x447a0000 803fd34: 0a7c5ac5 .word 0x0a7c5ac5 803fd38: 000186a0 .word 0x000186a0 803fd3c: d1b71759 .word 0xd1b71759 803fd40: 10624dd3 .word 0x10624dd3 803fd44: 51eb851f .word 0x51eb851f 803fd48: cccccccd .word 0xcccccccd 803fd4c: fffe7960 .word 0xfffe7960 803fd50: ffffd8f0 .word 0xffffd8f0 803fd54: 3a83126f .word 0x3a83126f 803fd58: 3a03126f .word 0x3a03126f if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 803fd5c: 4b9d ldr r3, [pc, #628] ; (803ffd4 ) 803fd5e: 781b ldrb r3, [r3, #0] 803fd60: b2db uxtb r3, r3 803fd62: 2b21 cmp r3, #33 ; 0x21 803fd64: f244 822e bls.w 80441c4 803fd68: 4b9a ldr r3, [pc, #616] ; (803ffd4 ) 803fd6a: 781b ldrb r3, [r3, #0] 803fd6c: b2db uxtb r3, r3 803fd6e: 2b25 cmp r3, #37 ; 0x25 803fd70: f204 8228 bhi.w 80441c4 k = pardata.D_RATE; 803fd74: 4b98 ldr r3, [pc, #608] ; (803ffd8 ) 803fd76: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 803fd7a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 803fd7e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd82: 4a96 ldr r2, [pc, #600] ; (803ffdc ) 803fd84: fba2 2303 umull r2, r3, r2, r3 803fd88: 099b lsrs r3, r3, #6 803fd8a: b2db uxtb r3, r3 803fd8c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 803fd90: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fd94: 4b91 ldr r3, [pc, #580] ; (803ffdc ) 803fd96: fba3 1302 umull r1, r3, r3, r2 803fd9a: 099b lsrs r3, r3, #6 803fd9c: f44f 717a mov.w r1, #1000 ; 0x3e8 803fda0: fb01 f303 mul.w r3, r1, r3 803fda4: 1ad3 subs r3, r2, r3 803fda6: 4a8e ldr r2, [pc, #568] ; (803ffe0 ) 803fda8: fba2 2303 umull r2, r3, r2, r3 803fdac: 095b lsrs r3, r3, #5 803fdae: b2db uxtb r3, r3 803fdb0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 803fdb4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fdb8: 4b88 ldr r3, [pc, #544] ; (803ffdc ) 803fdba: fba3 1302 umull r1, r3, r3, r2 803fdbe: 099b lsrs r3, r3, #6 803fdc0: f44f 717a mov.w r1, #1000 ; 0x3e8 803fdc4: fb01 f303 mul.w r3, r1, r3 803fdc8: 1ad3 subs r3, r2, r3 803fdca: 4a85 ldr r2, [pc, #532] ; (803ffe0 ) 803fdcc: fba2 1203 umull r1, r2, r2, r3 803fdd0: 0952 lsrs r2, r2, #5 803fdd2: 2164 movs r1, #100 ; 0x64 803fdd4: fb01 f202 mul.w r2, r1, r2 803fdd8: 1a9a subs r2, r3, r2 803fdda: 4b82 ldr r3, [pc, #520] ; (803ffe4 ) 803fddc: fba3 2302 umull r2, r3, r3, r2 803fde0: 08db lsrs r3, r3, #3 803fde2: b2db uxtb r3, r3 803fde4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 803fde8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fdec: 4b7b ldr r3, [pc, #492] ; (803ffdc ) 803fdee: fba3 1302 umull r1, r3, r3, r2 803fdf2: 099b lsrs r3, r3, #6 803fdf4: f44f 717a mov.w r1, #1000 ; 0x3e8 803fdf8: fb01 f303 mul.w r3, r1, r3 803fdfc: 1ad3 subs r3, r2, r3 803fdfe: 4a78 ldr r2, [pc, #480] ; (803ffe0 ) 803fe00: fba2 1203 umull r1, r2, r2, r3 803fe04: 0952 lsrs r2, r2, #5 803fe06: 2164 movs r1, #100 ; 0x64 803fe08: fb01 f202 mul.w r2, r1, r2 803fe0c: 1a9a subs r2, r3, r2 803fe0e: 4b75 ldr r3, [pc, #468] ; (803ffe4 ) 803fe10: fba3 1302 umull r1, r3, r3, r2 803fe14: 08d9 lsrs r1, r3, #3 803fe16: 460b mov r3, r1 803fe18: 009b lsls r3, r3, #2 803fe1a: 440b add r3, r1 803fe1c: 005b lsls r3, r3, #1 803fe1e: 1ad1 subs r1, r2, r3 803fe20: b2cb uxtb r3, r1 803fe22: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 803fe26: 4b6b ldr r3, [pc, #428] ; (803ffd4 ) 803fe28: 781b ldrb r3, [r3, #0] 803fe2a: b2db uxtb r3, r3 803fe2c: 3b22 subs r3, #34 ; 0x22 803fe2e: 2b03 cmp r3, #3 803fe30: d844 bhi.n 803febc 803fe32: a201 add r2, pc, #4 ; (adr r2, 803fe38 ) 803fe34: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803fe38: 0803fe49 .word 0x0803fe49 803fe3c: 0803fe69 .word 0x0803fe69 803fe40: 0803fe85 .word 0x0803fe85 803fe44: 0803fea1 .word 0x0803fea1 if(k > 1000) k -= 1000; 803fe48: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fe4c: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803fe50: d906 bls.n 803fe60 803fe52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fe56: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803fe5a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fe5e: e02d b.n 803febc else k = 0; 803fe60: 2300 movs r3, #0 803fe62: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fe66: e029 b.n 803febc if(k > 100) k -= 100; 803fe68: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fe6c: 2b64 cmp r3, #100 ; 0x64 803fe6e: d905 bls.n 803fe7c 803fe70: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fe74: 3b64 subs r3, #100 ; 0x64 803fe76: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fe7a: e01f b.n 803febc else k = 0; 803fe7c: 2300 movs r3, #0 803fe7e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fe82: e01b b.n 803febc if(k > 10) k -= 10; 803fe84: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fe88: 2b0a cmp r3, #10 803fe8a: d905 bls.n 803fe98 803fe8c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fe90: 3b0a subs r3, #10 803fe92: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fe96: e011 b.n 803febc else k = 0; 803fe98: 2300 movs r3, #0 803fe9a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fe9e: e00d b.n 803febc if(k > 1) k -= 1; 803fea0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fea4: 2b01 cmp r3, #1 803fea6: d905 bls.n 803feb4 803fea8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803feac: 3b01 subs r3, #1 803feae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803feb2: e002 b.n 803feba else k = 0; 803feb4: 2300 movs r3, #0 803feb6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803feba: bf00 nop if(k == 0) k = 1; 803febc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fec0: 2b00 cmp r3, #0 803fec2: d102 bne.n 803feca 803fec4: 2301 movs r3, #1 803fec6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 803feca: 4a43 ldr r2, [pc, #268] ; (803ffd8 ) 803fecc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fed0: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 803fed4: f004 b976 b.w 80441c4 803fed8: f004 b974 b.w 80441c4 case PARAM_VIB: focused = false; 803fedc: 4b42 ldr r3, [pc, #264] ; (803ffe8 ) 803fede: 2200 movs r2, #0 803fee0: 701a strb r2, [r3, #0] if(menupos == Ok) 803fee2: 4b3c ldr r3, [pc, #240] ; (803ffd4 ) 803fee4: 781b ldrb r3, [r3, #0] 803fee6: b2db uxtb r3, r3 803fee8: 2b00 cmp r3, #0 803feea: d104 bne.n 803fef6 menupos = FilterHP; 803feec: 4b39 ldr r3, [pc, #228] ; (803ffd4 ) 803feee: 2217 movs r2, #23 803fef0: 701a strb r2, [r3, #0] pardata.LP += 0.0001f; } } else menupos++; break; 803fef2: f004 b989 b.w 8044208 if(menupos == FilterHP) 803fef6: 4b37 ldr r3, [pc, #220] ; (803ffd4 ) 803fef8: 781b ldrb r3, [r3, #0] 803fefa: b2db uxtb r3, r3 803fefc: 2b17 cmp r3, #23 803fefe: d104 bne.n 803ff0a menupos = FilterLP; 803ff00: 4b34 ldr r3, [pc, #208] ; (803ffd4 ) 803ff02: 2218 movs r2, #24 803ff04: 701a strb r2, [r3, #0] break; 803ff06: f004 b97f b.w 8044208 if(menupos == FilterLP) 803ff0a: 4b32 ldr r3, [pc, #200] ; (803ffd4 ) 803ff0c: 781b ldrb r3, [r3, #0] 803ff0e: b2db uxtb r3, r3 803ff10: 2b18 cmp r3, #24 803ff12: d104 bne.n 803ff1e menupos = ValueA; 803ff14: 4b2f ldr r3, [pc, #188] ; (803ffd4 ) 803ff16: 2202 movs r2, #2 803ff18: 701a strb r2, [r3, #0] break; 803ff1a: f004 b975 b.w 8044208 if(menupos == ValueA) 803ff1e: 4b2d ldr r3, [pc, #180] ; (803ffd4 ) 803ff20: 781b ldrb r3, [r3, #0] 803ff22: b2db uxtb r3, r3 803ff24: 2b02 cmp r3, #2 803ff26: d117 bne.n 803ff58 if(pardata.HP >= 2.0f) 803ff28: 4b2b ldr r3, [pc, #172] ; (803ffd8 ) 803ff2a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803ff2e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803ff32: eef4 7ac7 vcmpe.f32 s15, s14 803ff36: eef1 fa10 vmrs APSR_nzcv, fpscr 803ff3a: db08 blt.n 803ff4e menupos++; 803ff3c: 4b25 ldr r3, [pc, #148] ; (803ffd4 ) 803ff3e: 781b ldrb r3, [r3, #0] 803ff40: b2db uxtb r3, r3 803ff42: 3301 adds r3, #1 803ff44: b2da uxtb r2, r3 803ff46: 4b23 ldr r3, [pc, #140] ; (803ffd4 ) 803ff48: 701a strb r2, [r3, #0] break; 803ff4a: f004 b95d b.w 8044208 else menupos = Average; 803ff4e: 4b21 ldr r3, [pc, #132] ; (803ffd4 ) 803ff50: 2205 movs r2, #5 803ff52: 701a strb r2, [r3, #0] break; 803ff54: f004 b958 b.w 8044208 if(menupos == SaveToFile) 803ff58: 4b1e ldr r3, [pc, #120] ; (803ffd4 ) 803ff5a: 781b ldrb r3, [r3, #0] 803ff5c: b2db uxtb r3, r3 803ff5e: 2b0a cmp r3, #10 803ff60: d104 bne.n 803ff6c menupos = Ok; 803ff62: 4b1c ldr r3, [pc, #112] ; (803ffd4 ) 803ff64: 2200 movs r2, #0 803ff66: 701a strb r2, [r3, #0] break; 803ff68: f004 b94e b.w 8044208 if(menupos == VibAutoKu) 803ff6c: 4b19 ldr r3, [pc, #100] ; (803ffd4 ) 803ff6e: 781b ldrb r3, [r3, #0] 803ff70: b2db uxtb r3, r3 803ff72: 2b08 cmp r3, #8 803ff74: d110 bne.n 803ff98 if(pardata.OPTIONS & 0x4) 803ff76: 4b18 ldr r3, [pc, #96] ; (803ffd8 ) 803ff78: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803ff7c: f003 0304 and.w r3, r3, #4 803ff80: 2b00 cmp r3, #0 803ff82: d004 beq.n 803ff8e menupos = SaveToFile; 803ff84: 4b13 ldr r3, [pc, #76] ; (803ffd4 ) 803ff86: 220a movs r2, #10 803ff88: 701a strb r2, [r3, #0] break; 803ff8a: f004 b93d b.w 8044208 else menupos = VibMax_ALL; 803ff8e: 4b11 ldr r3, [pc, #68] ; (803ffd4 ) 803ff90: 2209 movs r2, #9 803ff92: 701a strb r2, [r3, #0] break; 803ff94: f004 b938 b.w 8044208 if(menupos == Mediana) 803ff98: 4b0e ldr r3, [pc, #56] ; (803ffd4 ) 803ff9a: 781b ldrb r3, [r3, #0] 803ff9c: b2db uxtb r3, r3 803ff9e: 2b06 cmp r3, #6 803ffa0: d104 bne.n 803ffac menupos = ViewFreq; 803ffa2: 4b0c ldr r3, [pc, #48] ; (803ffd4 ) 803ffa4: 2207 movs r2, #7 803ffa6: 701a strb r2, [r3, #0] break; 803ffa8: f004 b92e b.w 8044208 if(menupos == ViewFreq) 803ffac: 4b09 ldr r3, [pc, #36] ; (803ffd4 ) 803ffae: 781b ldrb r3, [r3, #0] 803ffb0: b2db uxtb r3, r3 803ffb2: 2b07 cmp r3, #7 803ffb4: d104 bne.n 803ffc0 menupos = VibAutoKu; 803ffb6: 4b07 ldr r3, [pc, #28] ; (803ffd4 ) 803ffb8: 2208 movs r2, #8 803ffba: 701a strb r2, [r3, #0] break; 803ffbc: f004 b924 b.w 8044208 if(menupos == VibMax_ALL) 803ffc0: 4b04 ldr r3, [pc, #16] ; (803ffd4 ) 803ffc2: 781b ldrb r3, [r3, #0] 803ffc4: b2db uxtb r3, r3 803ffc6: 2b09 cmp r3, #9 803ffc8: d110 bne.n 803ffec menupos = SaveToFile; 803ffca: 4b02 ldr r3, [pc, #8] ; (803ffd4 ) 803ffcc: 220a movs r2, #10 803ffce: 701a strb r2, [r3, #0] break; 803ffd0: f004 b91a b.w 8044208 803ffd4: 20020070 .word 0x20020070 803ffd8: 20023ea8 .word 0x20023ea8 803ffdc: 10624dd3 .word 0x10624dd3 803ffe0: 51eb851f .word 0x51eb851f 803ffe4: cccccccd .word 0xcccccccd 803ffe8: 20020fc8 .word 0x20020fc8 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 803ffec: 4bb2 ldr r3, [pc, #712] ; (80402b8 ) 803ffee: 781b ldrb r3, [r3, #0] 803fff0: b2db uxtb r3, r3 803fff2: 2b0a cmp r3, #10 803fff4: f240 8178 bls.w 80402e8 803fff8: 4baf ldr r3, [pc, #700] ; (80402b8 ) 803fffa: 781b ldrb r3, [r3, #0] 803fffc: b2db uxtb r3, r3 803fffe: 2b10 cmp r3, #16 8040000: f200 8172 bhi.w 80402e8 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8040004: 4bad ldr r3, [pc, #692] ; (80402bc ) 8040006: edd3 7a06 vldr s15, [r3, #24] 804000a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804000e: ee67 7a87 vmul.f32 s15, s15, s14 8040012: eefc 7ae7 vcvt.u32.f32 s15, s15 8040016: ee17 3a90 vmov r3, s15 804001a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804001e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040022: 095b lsrs r3, r3, #5 8040024: 4aa6 ldr r2, [pc, #664] ; (80402c0 ) 8040026: fba2 2303 umull r2, r3, r2, r3 804002a: 09db lsrs r3, r3, #7 804002c: b2db uxtb r3, r3 804002e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8040032: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040036: 0953 lsrs r3, r2, #5 8040038: 49a1 ldr r1, [pc, #644] ; (80402c0 ) 804003a: fba1 1303 umull r1, r3, r1, r3 804003e: 09db lsrs r3, r3, #7 8040040: 49a0 ldr r1, [pc, #640] ; (80402c4 ) 8040042: fb01 f303 mul.w r3, r1, r3 8040046: 1ad3 subs r3, r2, r3 8040048: 4a9f ldr r2, [pc, #636] ; (80402c8 ) 804004a: fba2 2303 umull r2, r3, r2, r3 804004e: 0b5b lsrs r3, r3, #13 8040050: b2db uxtb r3, r3 8040052: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8040056: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804005a: 0953 lsrs r3, r2, #5 804005c: 4998 ldr r1, [pc, #608] ; (80402c0 ) 804005e: fba1 1303 umull r1, r3, r1, r3 8040062: 09db lsrs r3, r3, #7 8040064: 4997 ldr r1, [pc, #604] ; (80402c4 ) 8040066: fb01 f303 mul.w r3, r1, r3 804006a: 1ad3 subs r3, r2, r3 804006c: 4a96 ldr r2, [pc, #600] ; (80402c8 ) 804006e: fba2 1203 umull r1, r2, r2, r3 8040072: 0b52 lsrs r2, r2, #13 8040074: f242 7110 movw r1, #10000 ; 0x2710 8040078: fb01 f202 mul.w r2, r1, r2 804007c: 1a9a subs r2, r3, r2 804007e: 4b93 ldr r3, [pc, #588] ; (80402cc ) 8040080: fba3 2302 umull r2, r3, r3, r2 8040084: 099b lsrs r3, r3, #6 8040086: b2db uxtb r3, r3 8040088: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 804008c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040090: 095a lsrs r2, r3, #5 8040092: 498b ldr r1, [pc, #556] ; (80402c0 ) 8040094: fba1 1202 umull r1, r2, r1, r2 8040098: 09d2 lsrs r2, r2, #7 804009a: 498a ldr r1, [pc, #552] ; (80402c4 ) 804009c: fb01 f202 mul.w r2, r1, r2 80400a0: 1a9a subs r2, r3, r2 80400a2: 4b89 ldr r3, [pc, #548] ; (80402c8 ) 80400a4: fba3 1302 umull r1, r3, r3, r2 80400a8: 0b5b lsrs r3, r3, #13 80400aa: f242 7110 movw r1, #10000 ; 0x2710 80400ae: fb01 f303 mul.w r3, r1, r3 80400b2: 1ad3 subs r3, r2, r3 80400b4: 4a85 ldr r2, [pc, #532] ; (80402cc ) 80400b6: fba2 1203 umull r1, r2, r2, r3 80400ba: 0992 lsrs r2, r2, #6 80400bc: f44f 717a mov.w r1, #1000 ; 0x3e8 80400c0: fb01 f202 mul.w r2, r1, r2 80400c4: 1a9a subs r2, r3, r2 80400c6: 4b82 ldr r3, [pc, #520] ; (80402d0 ) 80400c8: fba3 2302 umull r2, r3, r3, r2 80400cc: 095b lsrs r3, r3, #5 80400ce: b2db uxtb r3, r3 80400d0: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80400d4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80400d8: 0953 lsrs r3, r2, #5 80400da: 4979 ldr r1, [pc, #484] ; (80402c0 ) 80400dc: fba1 1303 umull r1, r3, r1, r3 80400e0: 09db lsrs r3, r3, #7 80400e2: 4978 ldr r1, [pc, #480] ; (80402c4 ) 80400e4: fb01 f303 mul.w r3, r1, r3 80400e8: 1ad3 subs r3, r2, r3 80400ea: 4a77 ldr r2, [pc, #476] ; (80402c8 ) 80400ec: fba2 1203 umull r1, r2, r2, r3 80400f0: 0b52 lsrs r2, r2, #13 80400f2: f242 7110 movw r1, #10000 ; 0x2710 80400f6: fb01 f202 mul.w r2, r1, r2 80400fa: 1a9a subs r2, r3, r2 80400fc: 4b73 ldr r3, [pc, #460] ; (80402cc ) 80400fe: fba3 1302 umull r1, r3, r3, r2 8040102: 099b lsrs r3, r3, #6 8040104: f44f 717a mov.w r1, #1000 ; 0x3e8 8040108: fb01 f303 mul.w r3, r1, r3 804010c: 1ad3 subs r3, r2, r3 804010e: 4a70 ldr r2, [pc, #448] ; (80402d0 ) 8040110: fba2 1203 umull r1, r2, r2, r3 8040114: 0952 lsrs r2, r2, #5 8040116: 2164 movs r1, #100 ; 0x64 8040118: fb01 f202 mul.w r2, r1, r2 804011c: 1a9a subs r2, r3, r2 804011e: 4b6d ldr r3, [pc, #436] ; (80402d4 ) 8040120: fba3 2302 umull r2, r3, r3, r2 8040124: 08db lsrs r3, r3, #3 8040126: b2db uxtb r3, r3 8040128: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 804012c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040130: 0953 lsrs r3, r2, #5 8040132: 4963 ldr r1, [pc, #396] ; (80402c0 ) 8040134: fba1 1303 umull r1, r3, r1, r3 8040138: 09db lsrs r3, r3, #7 804013a: 4962 ldr r1, [pc, #392] ; (80402c4 ) 804013c: fb01 f303 mul.w r3, r1, r3 8040140: 1ad3 subs r3, r2, r3 8040142: 4a61 ldr r2, [pc, #388] ; (80402c8 ) 8040144: fba2 1203 umull r1, r2, r2, r3 8040148: 0b52 lsrs r2, r2, #13 804014a: f242 7110 movw r1, #10000 ; 0x2710 804014e: fb01 f202 mul.w r2, r1, r2 8040152: 1a9a subs r2, r3, r2 8040154: 4b5d ldr r3, [pc, #372] ; (80402cc ) 8040156: fba3 1302 umull r1, r3, r3, r2 804015a: 099b lsrs r3, r3, #6 804015c: f44f 717a mov.w r1, #1000 ; 0x3e8 8040160: fb01 f303 mul.w r3, r1, r3 8040164: 1ad3 subs r3, r2, r3 8040166: 4a5a ldr r2, [pc, #360] ; (80402d0 ) 8040168: fba2 1203 umull r1, r2, r2, r3 804016c: 0952 lsrs r2, r2, #5 804016e: 2164 movs r1, #100 ; 0x64 8040170: fb01 f202 mul.w r2, r1, r2 8040174: 1a9a subs r2, r3, r2 8040176: 4b57 ldr r3, [pc, #348] ; (80402d4 ) 8040178: fba3 1302 umull r1, r3, r3, r2 804017c: 08d9 lsrs r1, r3, #3 804017e: 460b mov r3, r1 8040180: 009b lsls r3, r3, #2 8040182: 440b add r3, r1 8040184: 005b lsls r3, r3, #1 8040186: 1ad1 subs r1, r2, r3 8040188: b2cb uxtb r3, r1 804018a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 804018e: 4b4a ldr r3, [pc, #296] ; (80402b8 ) 8040190: 781b ldrb r3, [r3, #0] 8040192: b2db uxtb r3, r3 8040194: 3b0b subs r3, #11 8040196: 2b05 cmp r3, #5 8040198: d869 bhi.n 804026e 804019a: a201 add r2, pc, #4 ; (adr r2, 80401a0 ) 804019c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80401a0: 080401b9 .word 0x080401b9 80401a4: 080401d9 .word 0x080401d9 80401a8: 080401fb .word 0x080401fb 80401ac: 0804021b .word 0x0804021b 80401b0: 08040237 .word 0x08040237 80401b4: 08040253 .word 0x08040253 if(k > 100000) k -= 100000; 80401b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80401bc: 4a41 ldr r2, [pc, #260] ; (80402c4 ) 80401be: 4293 cmp r3, r2 80401c0: d906 bls.n 80401d0 80401c2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80401c6: 4b44 ldr r3, [pc, #272] ; (80402d8 ) 80401c8: 4413 add r3, r2 80401ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80401ce: e04e b.n 804026e else k = 0; 80401d0: 2300 movs r3, #0 80401d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80401d6: e04a b.n 804026e if(k > 10000) k -= 10000; 80401d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80401dc: f242 7210 movw r2, #10000 ; 0x2710 80401e0: 4293 cmp r3, r2 80401e2: d906 bls.n 80401f2 80401e4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80401e8: 4b3c ldr r3, [pc, #240] ; (80402dc ) 80401ea: 4413 add r3, r2 80401ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80401f0: e03d b.n 804026e else k = 0; 80401f2: 2300 movs r3, #0 80401f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80401f8: e039 b.n 804026e if(k > 1000) k -= 1000; 80401fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80401fe: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040202: d906 bls.n 8040212 8040204: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040208: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804020c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040210: e02d b.n 804026e else k = 0; 8040212: 2300 movs r3, #0 8040214: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040218: e029 b.n 804026e if(k > 100) k -= 100; 804021a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804021e: 2b64 cmp r3, #100 ; 0x64 8040220: d905 bls.n 804022e 8040222: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040226: 3b64 subs r3, #100 ; 0x64 8040228: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804022c: e01f b.n 804026e else k = 0; 804022e: 2300 movs r3, #0 8040230: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040234: e01b b.n 804026e if(k > 10) k -= 10; 8040236: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804023a: 2b0a cmp r3, #10 804023c: d905 bls.n 804024a 804023e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040242: 3b0a subs r3, #10 8040244: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040248: e011 b.n 804026e else k = 0; 804024a: 2300 movs r3, #0 804024c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040250: e00d b.n 804026e if(k > 1) k -= 1; 8040252: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040256: 2b01 cmp r3, #1 8040258: d905 bls.n 8040266 804025a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804025e: 3b01 subs r3, #1 8040260: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040264: e002 b.n 804026c else k = 0; 8040266: 2300 movs r3, #0 8040268: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804026c: bf00 nop if(k == 0) k = 1; 804026e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040272: 2b00 cmp r3, #0 8040274: d102 bne.n 804027c 8040276: 2301 movs r3, #1 8040278: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 804027c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040280: ee07 3a90 vmov s15, r3 8040284: eef8 7a67 vcvt.f32.u32 s15, s15 8040288: 4b0c ldr r3, [pc, #48] ; (80402bc ) 804028a: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 804028e: 4b0b ldr r3, [pc, #44] ; (80402bc ) 8040290: edd3 7a06 vldr s15, [r3, #24] 8040294: ed9f 7a12 vldr s14, [pc, #72] ; 80402e0 8040298: ee67 7a87 vmul.f32 s15, s15, s14 804029c: 4b07 ldr r3, [pc, #28] ; (80402bc ) 804029e: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80402a2: 4b06 ldr r3, [pc, #24] ; (80402bc ) 80402a4: edd3 7a06 vldr s15, [r3, #24] 80402a8: ed9f 7a0e vldr s14, [pc, #56] ; 80402e4 80402ac: ee77 7a87 vadd.f32 s15, s15, s14 80402b0: 4b02 ldr r3, [pc, #8] ; (80402bc ) 80402b2: edc3 7a06 vstr s15, [r3, #24] 80402b6: e394 b.n 80409e2 80402b8: 20020070 .word 0x20020070 80402bc: 20023ea8 .word 0x20023ea8 80402c0: 0a7c5ac5 .word 0x0a7c5ac5 80402c4: 000186a0 .word 0x000186a0 80402c8: d1b71759 .word 0xd1b71759 80402cc: 10624dd3 .word 0x10624dd3 80402d0: 51eb851f .word 0x51eb851f 80402d4: cccccccd .word 0xcccccccd 80402d8: fffe7960 .word 0xfffe7960 80402dc: ffffd8f0 .word 0xffffd8f0 80402e0: 3dcccccd .word 0x3dcccccd 80402e4: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 80402e8: 4bcb ldr r3, [pc, #812] ; (8040618 ) 80402ea: 781b ldrb r3, [r3, #0] 80402ec: b2db uxtb r3, r3 80402ee: 2b18 cmp r3, #24 80402f0: f240 81aa bls.w 8040648 80402f4: 4bc8 ldr r3, [pc, #800] ; (8040618 ) 80402f6: 781b ldrb r3, [r3, #0] 80402f8: b2db uxtb r3, r3 80402fa: 2b1e cmp r3, #30 80402fc: f200 81a4 bhi.w 8040648 k = (uint32_t) (pardata.HP * 10.0f); 8040300: 4bc6 ldr r3, [pc, #792] ; (804061c ) 8040302: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040306: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804030a: ee67 7a87 vmul.f32 s15, s15, s14 804030e: eefc 7ae7 vcvt.u32.f32 s15, s15 8040312: ee17 3a90 vmov r3, s15 8040316: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804031a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804031e: 095b lsrs r3, r3, #5 8040320: 4abf ldr r2, [pc, #764] ; (8040620 ) 8040322: fba2 2303 umull r2, r3, r2, r3 8040326: 09db lsrs r3, r3, #7 8040328: b2db uxtb r3, r3 804032a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804032e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040332: 0953 lsrs r3, r2, #5 8040334: 49ba ldr r1, [pc, #744] ; (8040620 ) 8040336: fba1 1303 umull r1, r3, r1, r3 804033a: 09db lsrs r3, r3, #7 804033c: 49b9 ldr r1, [pc, #740] ; (8040624 ) 804033e: fb01 f303 mul.w r3, r1, r3 8040342: 1ad3 subs r3, r2, r3 8040344: 4ab8 ldr r2, [pc, #736] ; (8040628 ) 8040346: fba2 2303 umull r2, r3, r2, r3 804034a: 0b5b lsrs r3, r3, #13 804034c: b2db uxtb r3, r3 804034e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8040352: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040356: 0953 lsrs r3, r2, #5 8040358: 49b1 ldr r1, [pc, #708] ; (8040620 ) 804035a: fba1 1303 umull r1, r3, r1, r3 804035e: 09db lsrs r3, r3, #7 8040360: 49b0 ldr r1, [pc, #704] ; (8040624 ) 8040362: fb01 f303 mul.w r3, r1, r3 8040366: 1ad3 subs r3, r2, r3 8040368: 4aaf ldr r2, [pc, #700] ; (8040628 ) 804036a: fba2 1203 umull r1, r2, r2, r3 804036e: 0b52 lsrs r2, r2, #13 8040370: f242 7110 movw r1, #10000 ; 0x2710 8040374: fb01 f202 mul.w r2, r1, r2 8040378: 1a9a subs r2, r3, r2 804037a: 4bac ldr r3, [pc, #688] ; (804062c ) 804037c: fba3 2302 umull r2, r3, r3, r2 8040380: 099b lsrs r3, r3, #6 8040382: b2db uxtb r3, r3 8040384: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8040388: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804038c: 095a lsrs r2, r3, #5 804038e: 49a4 ldr r1, [pc, #656] ; (8040620 ) 8040390: fba1 1202 umull r1, r2, r1, r2 8040394: 09d2 lsrs r2, r2, #7 8040396: 49a3 ldr r1, [pc, #652] ; (8040624 ) 8040398: fb01 f202 mul.w r2, r1, r2 804039c: 1a9a subs r2, r3, r2 804039e: 4ba2 ldr r3, [pc, #648] ; (8040628 ) 80403a0: fba3 1302 umull r1, r3, r3, r2 80403a4: 0b5b lsrs r3, r3, #13 80403a6: f242 7110 movw r1, #10000 ; 0x2710 80403aa: fb01 f303 mul.w r3, r1, r3 80403ae: 1ad3 subs r3, r2, r3 80403b0: 4a9e ldr r2, [pc, #632] ; (804062c ) 80403b2: fba2 1203 umull r1, r2, r2, r3 80403b6: 0992 lsrs r2, r2, #6 80403b8: f44f 717a mov.w r1, #1000 ; 0x3e8 80403bc: fb01 f202 mul.w r2, r1, r2 80403c0: 1a9a subs r2, r3, r2 80403c2: 4b9b ldr r3, [pc, #620] ; (8040630 ) 80403c4: fba3 2302 umull r2, r3, r3, r2 80403c8: 095b lsrs r3, r3, #5 80403ca: b2db uxtb r3, r3 80403cc: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80403d0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80403d4: 0953 lsrs r3, r2, #5 80403d6: 4992 ldr r1, [pc, #584] ; (8040620 ) 80403d8: fba1 1303 umull r1, r3, r1, r3 80403dc: 09db lsrs r3, r3, #7 80403de: 4991 ldr r1, [pc, #580] ; (8040624 ) 80403e0: fb01 f303 mul.w r3, r1, r3 80403e4: 1ad3 subs r3, r2, r3 80403e6: 4a90 ldr r2, [pc, #576] ; (8040628 ) 80403e8: fba2 1203 umull r1, r2, r2, r3 80403ec: 0b52 lsrs r2, r2, #13 80403ee: f242 7110 movw r1, #10000 ; 0x2710 80403f2: fb01 f202 mul.w r2, r1, r2 80403f6: 1a9a subs r2, r3, r2 80403f8: 4b8c ldr r3, [pc, #560] ; (804062c ) 80403fa: fba3 1302 umull r1, r3, r3, r2 80403fe: 099b lsrs r3, r3, #6 8040400: f44f 717a mov.w r1, #1000 ; 0x3e8 8040404: fb01 f303 mul.w r3, r1, r3 8040408: 1ad3 subs r3, r2, r3 804040a: 4a89 ldr r2, [pc, #548] ; (8040630 ) 804040c: fba2 1203 umull r1, r2, r2, r3 8040410: 0952 lsrs r2, r2, #5 8040412: 2164 movs r1, #100 ; 0x64 8040414: fb01 f202 mul.w r2, r1, r2 8040418: 1a9a subs r2, r3, r2 804041a: 4b86 ldr r3, [pc, #536] ; (8040634 ) 804041c: fba3 2302 umull r2, r3, r3, r2 8040420: 08db lsrs r3, r3, #3 8040422: b2db uxtb r3, r3 8040424: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8040428: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804042c: 0953 lsrs r3, r2, #5 804042e: 497c ldr r1, [pc, #496] ; (8040620 ) 8040430: fba1 1303 umull r1, r3, r1, r3 8040434: 09db lsrs r3, r3, #7 8040436: 497b ldr r1, [pc, #492] ; (8040624 ) 8040438: fb01 f303 mul.w r3, r1, r3 804043c: 1ad3 subs r3, r2, r3 804043e: 4a7a ldr r2, [pc, #488] ; (8040628 ) 8040440: fba2 1203 umull r1, r2, r2, r3 8040444: 0b52 lsrs r2, r2, #13 8040446: f242 7110 movw r1, #10000 ; 0x2710 804044a: fb01 f202 mul.w r2, r1, r2 804044e: 1a9a subs r2, r3, r2 8040450: 4b76 ldr r3, [pc, #472] ; (804062c ) 8040452: fba3 1302 umull r1, r3, r3, r2 8040456: 099b lsrs r3, r3, #6 8040458: f44f 717a mov.w r1, #1000 ; 0x3e8 804045c: fb01 f303 mul.w r3, r1, r3 8040460: 1ad3 subs r3, r2, r3 8040462: 4a73 ldr r2, [pc, #460] ; (8040630 ) 8040464: fba2 1203 umull r1, r2, r2, r3 8040468: 0952 lsrs r2, r2, #5 804046a: 2164 movs r1, #100 ; 0x64 804046c: fb01 f202 mul.w r2, r1, r2 8040470: 1a9a subs r2, r3, r2 8040472: 4b70 ldr r3, [pc, #448] ; (8040634 ) 8040474: fba3 1302 umull r1, r3, r3, r2 8040478: 08d9 lsrs r1, r3, #3 804047a: 460b mov r3, r1 804047c: 009b lsls r3, r3, #2 804047e: 440b add r3, r1 8040480: 005b lsls r3, r3, #1 8040482: 1ad1 subs r1, r2, r3 8040484: b2cb uxtb r3, r1 8040486: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 804048a: 4b63 ldr r3, [pc, #396] ; (8040618 ) 804048c: 781b ldrb r3, [r3, #0] 804048e: b2db uxtb r3, r3 8040490: 3b19 subs r3, #25 8040492: 2b05 cmp r3, #5 8040494: d869 bhi.n 804056a 8040496: a201 add r2, pc, #4 ; (adr r2, 804049c ) 8040498: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804049c: 080404b5 .word 0x080404b5 80404a0: 080404d5 .word 0x080404d5 80404a4: 080404f7 .word 0x080404f7 80404a8: 08040517 .word 0x08040517 80404ac: 08040533 .word 0x08040533 80404b0: 0804054f .word 0x0804054f if(k > 100000) k -= 100000; 80404b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80404b8: 4a5a ldr r2, [pc, #360] ; (8040624 ) 80404ba: 4293 cmp r3, r2 80404bc: d906 bls.n 80404cc 80404be: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80404c2: 4b5d ldr r3, [pc, #372] ; (8040638 ) 80404c4: 4413 add r3, r2 80404c6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80404ca: e04e b.n 804056a else k = 0; 80404cc: 2300 movs r3, #0 80404ce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80404d2: e04a b.n 804056a if(k > 10000) k -= 10000; 80404d4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80404d8: f242 7210 movw r2, #10000 ; 0x2710 80404dc: 4293 cmp r3, r2 80404de: d906 bls.n 80404ee 80404e0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80404e4: 4b55 ldr r3, [pc, #340] ; (804063c ) 80404e6: 4413 add r3, r2 80404e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80404ec: e03d b.n 804056a else k = 0; 80404ee: 2300 movs r3, #0 80404f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80404f4: e039 b.n 804056a if(k > 1000) k -= 1000; 80404f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80404fa: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80404fe: d906 bls.n 804050e 8040500: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040504: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8040508: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804050c: e02d b.n 804056a else k = 0; 804050e: 2300 movs r3, #0 8040510: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040514: e029 b.n 804056a if(k > 100) k -= 100; 8040516: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804051a: 2b64 cmp r3, #100 ; 0x64 804051c: d905 bls.n 804052a 804051e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040522: 3b64 subs r3, #100 ; 0x64 8040524: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040528: e01f b.n 804056a else k = 0; 804052a: 2300 movs r3, #0 804052c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040530: e01b b.n 804056a if(k > 10) k -= 10; 8040532: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040536: 2b0a cmp r3, #10 8040538: d905 bls.n 8040546 804053a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804053e: 3b0a subs r3, #10 8040540: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040544: e011 b.n 804056a else k = 0; 8040546: 2300 movs r3, #0 8040548: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804054c: e00d b.n 804056a if(k > 1) k -= 1; 804054e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040552: 2b01 cmp r3, #1 8040554: d905 bls.n 8040562 8040556: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804055a: 3b01 subs r3, #1 804055c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040560: e002 b.n 8040568 else k = 0; 8040562: 2300 movs r3, #0 8040564: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040568: bf00 nop fl = (float32_t) k; 804056a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804056e: ee07 3a90 vmov s15, r3 8040572: eef8 7a67 vcvt.f32.u32 s15, s15 8040576: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 804057a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804057e: ed9f 7a30 vldr s14, [pc, #192] ; 8040640 8040582: ee67 7a87 vmul.f32 s15, s15, s14 8040586: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 804058a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804058e: ed9f 7a2d vldr s14, [pc, #180] ; 8040644 8040592: ee77 7a87 vadd.f32 s15, s15, s14 8040596: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 0.5f) 804059a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804059e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80405a2: eef4 7ac7 vcmpe.f32 s15, s14 80405a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80405aa: d505 bpl.n 80405b8 pardata.HP = 0.5f; 80405ac: 4b1b ldr r3, [pc, #108] ; (804061c ) 80405ae: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 80405b2: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(fl < 0.5f) 80405b6: e214 b.n 80409e2 if(fl > pardata.LP) 80405b8: 4b18 ldr r3, [pc, #96] ; (804061c ) 80405ba: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80405be: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80405c2: eeb4 7ae7 vcmpe.f32 s14, s15 80405c6: eef1 fa10 vmrs APSR_nzcv, fpscr 80405ca: d506 bpl.n 80405da pardata.HP = pardata.LP; 80405cc: 4b13 ldr r3, [pc, #76] ; (804061c ) 80405ce: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 80405d2: 4a12 ldr r2, [pc, #72] ; (804061c ) 80405d4: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(fl < 0.5f) 80405d8: e203 b.n 80409e2 pardata.HP = (float32_t) k; 80405da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80405de: ee07 3a90 vmov s15, r3 80405e2: eef8 7a67 vcvt.f32.u32 s15, s15 80405e6: 4b0d ldr r3, [pc, #52] ; (804061c ) 80405e8: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 80405ec: 4b0b ldr r3, [pc, #44] ; (804061c ) 80405ee: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80405f2: ed9f 7a13 vldr s14, [pc, #76] ; 8040640 80405f6: ee67 7a87 vmul.f32 s15, s15, s14 80405fa: 4b08 ldr r3, [pc, #32] ; (804061c ) 80405fc: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8040600: 4b06 ldr r3, [pc, #24] ; (804061c ) 8040602: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040606: ed9f 7a0f vldr s14, [pc, #60] ; 8040644 804060a: ee77 7a87 vadd.f32 s15, s15, s14 804060e: 4b03 ldr r3, [pc, #12] ; (804061c ) 8040610: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(fl < 0.5f) 8040614: e1e5 b.n 80409e2 8040616: bf00 nop 8040618: 20020070 .word 0x20020070 804061c: 20023ea8 .word 0x20023ea8 8040620: 0a7c5ac5 .word 0x0a7c5ac5 8040624: 000186a0 .word 0x000186a0 8040628: d1b71759 .word 0xd1b71759 804062c: 10624dd3 .word 0x10624dd3 8040630: 51eb851f .word 0x51eb851f 8040634: cccccccd .word 0xcccccccd 8040638: fffe7960 .word 0xfffe7960 804063c: ffffd8f0 .word 0xffffd8f0 8040640: 3dcccccd .word 0x3dcccccd 8040644: 38d1b717 .word 0x38d1b717 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8040648: 4bd2 ldr r3, [pc, #840] ; (8040994 ) 804064a: 781b ldrb r3, [r3, #0] 804064c: b2db uxtb r3, r3 804064e: 2b1e cmp r3, #30 8040650: f240 81be bls.w 80409d0 8040654: 4bcf ldr r3, [pc, #828] ; (8040994 ) 8040656: 781b ldrb r3, [r3, #0] 8040658: b2db uxtb r3, r3 804065a: 2b24 cmp r3, #36 ; 0x24 804065c: f200 81b8 bhi.w 80409d0 k = (uint32_t) (pardata.LP * 10.0f); 8040660: 4bcd ldr r3, [pc, #820] ; (8040998 ) 8040662: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8040666: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804066a: ee67 7a87 vmul.f32 s15, s15, s14 804066e: eefc 7ae7 vcvt.u32.f32 s15, s15 8040672: ee17 3a90 vmov r3, s15 8040676: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804067a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804067e: 095b lsrs r3, r3, #5 8040680: 4ac6 ldr r2, [pc, #792] ; (804099c ) 8040682: fba2 2303 umull r2, r3, r2, r3 8040686: 09db lsrs r3, r3, #7 8040688: b2db uxtb r3, r3 804068a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804068e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040692: 0953 lsrs r3, r2, #5 8040694: 49c1 ldr r1, [pc, #772] ; (804099c ) 8040696: fba1 1303 umull r1, r3, r1, r3 804069a: 09db lsrs r3, r3, #7 804069c: 49c0 ldr r1, [pc, #768] ; (80409a0 ) 804069e: fb01 f303 mul.w r3, r1, r3 80406a2: 1ad3 subs r3, r2, r3 80406a4: 4abf ldr r2, [pc, #764] ; (80409a4 ) 80406a6: fba2 2303 umull r2, r3, r2, r3 80406aa: 0b5b lsrs r3, r3, #13 80406ac: b2db uxtb r3, r3 80406ae: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80406b2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80406b6: 0953 lsrs r3, r2, #5 80406b8: 49b8 ldr r1, [pc, #736] ; (804099c ) 80406ba: fba1 1303 umull r1, r3, r1, r3 80406be: 09db lsrs r3, r3, #7 80406c0: 49b7 ldr r1, [pc, #732] ; (80409a0 ) 80406c2: fb01 f303 mul.w r3, r1, r3 80406c6: 1ad3 subs r3, r2, r3 80406c8: 4ab6 ldr r2, [pc, #728] ; (80409a4 ) 80406ca: fba2 1203 umull r1, r2, r2, r3 80406ce: 0b52 lsrs r2, r2, #13 80406d0: f242 7110 movw r1, #10000 ; 0x2710 80406d4: fb01 f202 mul.w r2, r1, r2 80406d8: 1a9a subs r2, r3, r2 80406da: 4bb3 ldr r3, [pc, #716] ; (80409a8 ) 80406dc: fba3 2302 umull r2, r3, r3, r2 80406e0: 099b lsrs r3, r3, #6 80406e2: b2db uxtb r3, r3 80406e4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80406e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80406ec: 095a lsrs r2, r3, #5 80406ee: 49ab ldr r1, [pc, #684] ; (804099c ) 80406f0: fba1 1202 umull r1, r2, r1, r2 80406f4: 09d2 lsrs r2, r2, #7 80406f6: 49aa ldr r1, [pc, #680] ; (80409a0 ) 80406f8: fb01 f202 mul.w r2, r1, r2 80406fc: 1a9a subs r2, r3, r2 80406fe: 4ba9 ldr r3, [pc, #676] ; (80409a4 ) 8040700: fba3 1302 umull r1, r3, r3, r2 8040704: 0b5b lsrs r3, r3, #13 8040706: f242 7110 movw r1, #10000 ; 0x2710 804070a: fb01 f303 mul.w r3, r1, r3 804070e: 1ad3 subs r3, r2, r3 8040710: 4aa5 ldr r2, [pc, #660] ; (80409a8 ) 8040712: fba2 1203 umull r1, r2, r2, r3 8040716: 0992 lsrs r2, r2, #6 8040718: f44f 717a mov.w r1, #1000 ; 0x3e8 804071c: fb01 f202 mul.w r2, r1, r2 8040720: 1a9a subs r2, r3, r2 8040722: 4ba2 ldr r3, [pc, #648] ; (80409ac ) 8040724: fba3 2302 umull r2, r3, r3, r2 8040728: 095b lsrs r3, r3, #5 804072a: b2db uxtb r3, r3 804072c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8040730: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040734: 0953 lsrs r3, r2, #5 8040736: 4999 ldr r1, [pc, #612] ; (804099c ) 8040738: fba1 1303 umull r1, r3, r1, r3 804073c: 09db lsrs r3, r3, #7 804073e: 4998 ldr r1, [pc, #608] ; (80409a0 ) 8040740: fb01 f303 mul.w r3, r1, r3 8040744: 1ad3 subs r3, r2, r3 8040746: 4a97 ldr r2, [pc, #604] ; (80409a4 ) 8040748: fba2 1203 umull r1, r2, r2, r3 804074c: 0b52 lsrs r2, r2, #13 804074e: f242 7110 movw r1, #10000 ; 0x2710 8040752: fb01 f202 mul.w r2, r1, r2 8040756: 1a9a subs r2, r3, r2 8040758: 4b93 ldr r3, [pc, #588] ; (80409a8 ) 804075a: fba3 1302 umull r1, r3, r3, r2 804075e: 099b lsrs r3, r3, #6 8040760: f44f 717a mov.w r1, #1000 ; 0x3e8 8040764: fb01 f303 mul.w r3, r1, r3 8040768: 1ad3 subs r3, r2, r3 804076a: 4a90 ldr r2, [pc, #576] ; (80409ac ) 804076c: fba2 1203 umull r1, r2, r2, r3 8040770: 0952 lsrs r2, r2, #5 8040772: 2164 movs r1, #100 ; 0x64 8040774: fb01 f202 mul.w r2, r1, r2 8040778: 1a9a subs r2, r3, r2 804077a: 4b8d ldr r3, [pc, #564] ; (80409b0 ) 804077c: fba3 2302 umull r2, r3, r3, r2 8040780: 08db lsrs r3, r3, #3 8040782: b2db uxtb r3, r3 8040784: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8040788: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804078c: 0953 lsrs r3, r2, #5 804078e: 4983 ldr r1, [pc, #524] ; (804099c ) 8040790: fba1 1303 umull r1, r3, r1, r3 8040794: 09db lsrs r3, r3, #7 8040796: 4982 ldr r1, [pc, #520] ; (80409a0 ) 8040798: fb01 f303 mul.w r3, r1, r3 804079c: 1ad3 subs r3, r2, r3 804079e: 4a81 ldr r2, [pc, #516] ; (80409a4 ) 80407a0: fba2 1203 umull r1, r2, r2, r3 80407a4: 0b52 lsrs r2, r2, #13 80407a6: f242 7110 movw r1, #10000 ; 0x2710 80407aa: fb01 f202 mul.w r2, r1, r2 80407ae: 1a9a subs r2, r3, r2 80407b0: 4b7d ldr r3, [pc, #500] ; (80409a8 ) 80407b2: fba3 1302 umull r1, r3, r3, r2 80407b6: 099b lsrs r3, r3, #6 80407b8: f44f 717a mov.w r1, #1000 ; 0x3e8 80407bc: fb01 f303 mul.w r3, r1, r3 80407c0: 1ad3 subs r3, r2, r3 80407c2: 4a7a ldr r2, [pc, #488] ; (80409ac ) 80407c4: fba2 1203 umull r1, r2, r2, r3 80407c8: 0952 lsrs r2, r2, #5 80407ca: 2164 movs r1, #100 ; 0x64 80407cc: fb01 f202 mul.w r2, r1, r2 80407d0: 1a9a subs r2, r3, r2 80407d2: 4b77 ldr r3, [pc, #476] ; (80409b0 ) 80407d4: fba3 1302 umull r1, r3, r3, r2 80407d8: 08d9 lsrs r1, r3, #3 80407da: 460b mov r3, r1 80407dc: 009b lsls r3, r3, #2 80407de: 440b add r3, r1 80407e0: 005b lsls r3, r3, #1 80407e2: 1ad1 subs r1, r2, r3 80407e4: b2cb uxtb r3, r1 80407e6: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80407ea: 4b6a ldr r3, [pc, #424] ; (8040994 ) 80407ec: 781b ldrb r3, [r3, #0] 80407ee: b2db uxtb r3, r3 80407f0: 3b1f subs r3, #31 80407f2: 2b05 cmp r3, #5 80407f4: d869 bhi.n 80408ca 80407f6: a201 add r2, pc, #4 ; (adr r2, 80407fc ) 80407f8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80407fc: 08040815 .word 0x08040815 8040800: 08040835 .word 0x08040835 8040804: 08040857 .word 0x08040857 8040808: 08040877 .word 0x08040877 804080c: 08040893 .word 0x08040893 8040810: 080408af .word 0x080408af if(k > 100000) k -= 100000; 8040814: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040818: 4a61 ldr r2, [pc, #388] ; (80409a0 ) 804081a: 4293 cmp r3, r2 804081c: d906 bls.n 804082c 804081e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040822: 4b64 ldr r3, [pc, #400] ; (80409b4 ) 8040824: 4413 add r3, r2 8040826: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804082a: e04e b.n 80408ca else k = 0; 804082c: 2300 movs r3, #0 804082e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040832: e04a b.n 80408ca if(k > 10000) k -= 10000; 8040834: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040838: f242 7210 movw r2, #10000 ; 0x2710 804083c: 4293 cmp r3, r2 804083e: d906 bls.n 804084e 8040840: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040844: 4b5c ldr r3, [pc, #368] ; (80409b8 ) 8040846: 4413 add r3, r2 8040848: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804084c: e03d b.n 80408ca else k = 0; 804084e: 2300 movs r3, #0 8040850: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040854: e039 b.n 80408ca if(k > 1000) k -= 1000; 8040856: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804085a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 804085e: d906 bls.n 804086e 8040860: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040864: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8040868: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804086c: e02d b.n 80408ca else k = 0; 804086e: 2300 movs r3, #0 8040870: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040874: e029 b.n 80408ca if(k > 100) k -= 100; 8040876: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804087a: 2b64 cmp r3, #100 ; 0x64 804087c: d905 bls.n 804088a 804087e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040882: 3b64 subs r3, #100 ; 0x64 8040884: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040888: e01f b.n 80408ca else k = 0; 804088a: 2300 movs r3, #0 804088c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040890: e01b b.n 80408ca if(k > 10) k -= 10; 8040892: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040896: 2b0a cmp r3, #10 8040898: d905 bls.n 80408a6 804089a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804089e: 3b0a subs r3, #10 80408a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80408a4: e011 b.n 80408ca else k = 0; 80408a6: 2300 movs r3, #0 80408a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80408ac: e00d b.n 80408ca if(k > 1) k -= 1; 80408ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80408b2: 2b01 cmp r3, #1 80408b4: d905 bls.n 80408c2 80408b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80408ba: 3b01 subs r3, #1 80408bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80408c0: e002 b.n 80408c8 else k = 0; 80408c2: 2300 movs r3, #0 80408c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80408c8: bf00 nop fl = (float32_t) k; 80408ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80408ce: ee07 3a90 vmov s15, r3 80408d2: eef8 7a67 vcvt.f32.u32 s15, s15 80408d6: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80408da: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80408de: ed9f 7a37 vldr s14, [pc, #220] ; 80409bc 80408e2: ee67 7a87 vmul.f32 s15, s15, s14 80408e6: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80408ea: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80408ee: ed9f 7a34 vldr s14, [pc, #208] ; 80409c0 80408f2: ee77 7a87 vadd.f32 s15, s15, s14 80408f6: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 80408fa: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80408fe: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8040902: eef4 7ac7 vcmpe.f32 s15, s14 8040906: eef1 fa10 vmrs APSR_nzcv, fpscr 804090a: d504 bpl.n 8040916 pardata.LP = 10.0f; 804090c: 4b22 ldr r3, [pc, #136] ; (8040998 ) 804090e: 4a2d ldr r2, [pc, #180] ; (80409c4 ) 8040910: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 8040914: e065 b.n 80409e2 if(pardata.LP < pardata.HP) 8040916: 4b20 ldr r3, [pc, #128] ; (8040998 ) 8040918: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 804091c: 4b1e ldr r3, [pc, #120] ; (8040998 ) 804091e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040922: eeb4 7ae7 vcmpe.f32 s14, s15 8040926: eef1 fa10 vmrs APSR_nzcv, fpscr 804092a: d506 bpl.n 804093a pardata.LP = pardata.HP; 804092c: 4b1a ldr r3, [pc, #104] ; (8040998 ) 804092e: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 8040932: 4a19 ldr r2, [pc, #100] ; (8040998 ) 8040934: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 if(fl < 10.0f) 8040938: e053 b.n 80409e2 if(fl > 12800.0f) 804093a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804093e: ed9f 7a22 vldr s14, [pc, #136] ; 80409c8 8040942: eef4 7ac7 vcmpe.f32 s15, s14 8040946: eef1 fa10 vmrs APSR_nzcv, fpscr 804094a: dd04 ble.n 8040956 pardata.LP = 12800.0f; 804094c: 4b12 ldr r3, [pc, #72] ; (8040998 ) 804094e: 4a1f ldr r2, [pc, #124] ; (80409cc ) 8040950: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 8040954: e045 b.n 80409e2 pardata.LP = (float32_t) k; 8040956: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804095a: ee07 3a90 vmov s15, r3 804095e: eef8 7a67 vcvt.f32.u32 s15, s15 8040962: 4b0d ldr r3, [pc, #52] ; (8040998 ) 8040964: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 8040968: 4b0b ldr r3, [pc, #44] ; (8040998 ) 804096a: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804096e: ed9f 7a13 vldr s14, [pc, #76] ; 80409bc 8040972: ee67 7a87 vmul.f32 s15, s15, s14 8040976: 4b08 ldr r3, [pc, #32] ; (8040998 ) 8040978: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 804097c: 4b06 ldr r3, [pc, #24] ; (8040998 ) 804097e: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8040982: ed9f 7a0f vldr s14, [pc, #60] ; 80409c0 8040986: ee77 7a87 vadd.f32 s15, s15, s14 804098a: 4b03 ldr r3, [pc, #12] ; (8040998 ) 804098c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 if(fl < 10.0f) 8040990: e027 b.n 80409e2 8040992: bf00 nop 8040994: 20020070 .word 0x20020070 8040998: 20023ea8 .word 0x20023ea8 804099c: 0a7c5ac5 .word 0x0a7c5ac5 80409a0: 000186a0 .word 0x000186a0 80409a4: d1b71759 .word 0xd1b71759 80409a8: 10624dd3 .word 0x10624dd3 80409ac: 51eb851f .word 0x51eb851f 80409b0: cccccccd .word 0xcccccccd 80409b4: fffe7960 .word 0xfffe7960 80409b8: ffffd8f0 .word 0xffffd8f0 80409bc: 3dcccccd .word 0x3dcccccd 80409c0: 38d1b717 .word 0x38d1b717 80409c4: 41200000 .word 0x41200000 80409c8: 46480000 .word 0x46480000 80409cc: 46480000 .word 0x46480000 menupos++; 80409d0: 4bc9 ldr r3, [pc, #804] ; (8040cf8 ) 80409d2: 781b ldrb r3, [r3, #0] 80409d4: b2db uxtb r3, r3 80409d6: 3301 adds r3, #1 80409d8: b2da uxtb r2, r3 80409da: 4bc7 ldr r3, [pc, #796] ; (8040cf8 ) 80409dc: 701a strb r2, [r3, #0] break; 80409de: f003 bc13 b.w 8044208 80409e2: f003 bc11 b.w 8044208 case PARAM_SPEC: focused = false; 80409e6: 4bc5 ldr r3, [pc, #788] ; (8040cfc ) 80409e8: 2200 movs r2, #0 80409ea: 701a strb r2, [r3, #0] switch(pardata.OPTIONS & maskFFT) 80409ec: 4bc4 ldr r3, [pc, #784] ; (8040d00 ) 80409ee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80409f2: f003 0330 and.w r3, r3, #48 ; 0x30 80409f6: 2b10 cmp r3, #16 80409f8: d00d beq.n 8040a16 80409fa: 2b10 cmp r3, #16 80409fc: d803 bhi.n 8040a06 80409fe: 2b00 cmp r3, #0 8040a00: d009 beq.n 8040a16 pardata.LP += 0.0001f; } } break; } break; 8040a02: f003 bc01 b.w 8044208 switch(pardata.OPTIONS & maskFFT) 8040a06: 2b20 cmp r3, #32 8040a08: f000 85f5 beq.w 80415f6 8040a0c: 2b30 cmp r3, #48 ; 0x30 8040a0e: f000 85f2 beq.w 80415f6 break; 8040a12: f003 bbf9 b.w 8044208 if(menupos == Ok) 8040a16: 4bb8 ldr r3, [pc, #736] ; (8040cf8 ) 8040a18: 781b ldrb r3, [r3, #0] 8040a1a: b2db uxtb r3, r3 8040a1c: 2b00 cmp r3, #0 8040a1e: d104 bne.n 8040a2a menupos = SpecType; 8040a20: 4bb5 ldr r3, [pc, #724] ; (8040cf8 ) 8040a22: 2201 movs r2, #1 8040a24: 701a strb r2, [r3, #0] break; 8040a26: f001 bb9c b.w 8042162 if(menupos == SpecType) 8040a2a: 4bb3 ldr r3, [pc, #716] ; (8040cf8 ) 8040a2c: 781b ldrb r3, [r3, #0] 8040a2e: b2db uxtb r3, r3 8040a30: 2b01 cmp r3, #1 8040a32: d104 bne.n 8040a3e menupos = SpecValue; 8040a34: 4bb0 ldr r3, [pc, #704] ; (8040cf8 ) 8040a36: 2202 movs r2, #2 8040a38: 701a strb r2, [r3, #0] break; 8040a3a: f001 bb92 b.w 8042162 if(menupos == SpecValue) 8040a3e: 4bae ldr r3, [pc, #696] ; (8040cf8 ) 8040a40: 781b ldrb r3, [r3, #0] 8040a42: b2db uxtb r3, r3 8040a44: 2b02 cmp r3, #2 8040a46: d104 bne.n 8040a52 menupos = FilterHP; 8040a48: 4bab ldr r3, [pc, #684] ; (8040cf8 ) 8040a4a: 2217 movs r2, #23 8040a4c: 701a strb r2, [r3, #0] break; 8040a4e: f001 bb88 b.w 8042162 if(menupos == FilterHP) 8040a52: 4ba9 ldr r3, [pc, #676] ; (8040cf8 ) 8040a54: 781b ldrb r3, [r3, #0] 8040a56: b2db uxtb r3, r3 8040a58: 2b17 cmp r3, #23 8040a5a: d104 bne.n 8040a66 menupos = FilterLP; 8040a5c: 4ba6 ldr r3, [pc, #664] ; (8040cf8 ) 8040a5e: 2218 movs r2, #24 8040a60: 701a strb r2, [r3, #0] break; 8040a62: f001 bb7e b.w 8042162 if(menupos == FilterLP) 8040a66: 4ba4 ldr r3, [pc, #656] ; (8040cf8 ) 8040a68: 781b ldrb r3, [r3, #0] 8040a6a: b2db uxtb r3, r3 8040a6c: 2b18 cmp r3, #24 8040a6e: d104 bne.n 8040a7a menupos = SpecLines; 8040a70: 4ba1 ldr r3, [pc, #644] ; (8040cf8 ) 8040a72: 2204 movs r2, #4 8040a74: 701a strb r2, [r3, #0] break; 8040a76: f001 bb74 b.w 8042162 if(menupos == SpecLines) 8040a7a: 4b9f ldr r3, [pc, #636] ; (8040cf8 ) 8040a7c: 781b ldrb r3, [r3, #0] 8040a7e: b2db uxtb r3, r3 8040a80: 2b04 cmp r3, #4 8040a82: d104 bne.n 8040a8e menupos = LinLog; 8040a84: 4b9c ldr r3, [pc, #624] ; (8040cf8 ) 8040a86: 2205 movs r2, #5 8040a88: 701a strb r2, [r3, #0] break; 8040a8a: f001 bb6a b.w 8042162 if(menupos == LinLog) 8040a8e: 4b9a ldr r3, [pc, #616] ; (8040cf8 ) 8040a90: 781b ldrb r3, [r3, #0] 8040a92: b2db uxtb r3, r3 8040a94: 2b05 cmp r3, #5 8040a96: d104 bne.n 8040aa2 menupos = SpecWin; 8040a98: 4b97 ldr r3, [pc, #604] ; (8040cf8 ) 8040a9a: 2206 movs r2, #6 8040a9c: 701a strb r2, [r3, #0] break; 8040a9e: f001 bb60 b.w 8042162 if(menupos == SpecWin) 8040aa2: 4b95 ldr r3, [pc, #596] ; (8040cf8 ) 8040aa4: 781b ldrb r3, [r3, #0] 8040aa6: b2db uxtb r3, r3 8040aa8: 2b06 cmp r3, #6 8040aaa: d104 bne.n 8040ab6 menupos = SAverage; 8040aac: 4b92 ldr r3, [pc, #584] ; (8040cf8 ) 8040aae: 2207 movs r2, #7 8040ab0: 701a strb r2, [r3, #0] break; 8040ab2: f001 bb56 b.w 8042162 if(menupos == SAverage) 8040ab6: 4b90 ldr r3, [pc, #576] ; (8040cf8 ) 8040ab8: 781b ldrb r3, [r3, #0] 8040aba: b2db uxtb r3, r3 8040abc: 2b07 cmp r3, #7 8040abe: d104 bne.n 8040aca menupos = VibAutoKu; 8040ac0: 4b8d ldr r3, [pc, #564] ; (8040cf8 ) 8040ac2: 2208 movs r2, #8 8040ac4: 701a strb r2, [r3, #0] break; 8040ac6: f001 bb4c b.w 8042162 if(menupos == VibAutoKu) 8040aca: 4b8b ldr r3, [pc, #556] ; (8040cf8 ) 8040acc: 781b ldrb r3, [r3, #0] 8040ace: b2db uxtb r3, r3 8040ad0: 2b08 cmp r3, #8 8040ad2: d110 bne.n 8040af6 if(pardata.OPTIONS & 0x4) 8040ad4: 4b8a ldr r3, [pc, #552] ; (8040d00 ) 8040ad6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8040ada: f003 0304 and.w r3, r3, #4 8040ade: 2b00 cmp r3, #0 8040ae0: d004 beq.n 8040aec menupos = Ok; 8040ae2: 4b85 ldr r3, [pc, #532] ; (8040cf8 ) 8040ae4: 2200 movs r2, #0 8040ae6: 701a strb r2, [r3, #0] break; 8040ae8: f001 bb3b b.w 8042162 else menupos = VibMax_ALL; 8040aec: 4b82 ldr r3, [pc, #520] ; (8040cf8 ) 8040aee: 2209 movs r2, #9 8040af0: 701a strb r2, [r3, #0] break; 8040af2: f001 bb36 b.w 8042162 if(menupos == VibMax_ALL) 8040af6: 4b80 ldr r3, [pc, #512] ; (8040cf8 ) 8040af8: 781b ldrb r3, [r3, #0] 8040afa: b2db uxtb r3, r3 8040afc: 2b09 cmp r3, #9 8040afe: d104 bne.n 8040b0a menupos = Ok; 8040b00: 4b7d ldr r3, [pc, #500] ; (8040cf8 ) 8040b02: 2200 movs r2, #0 8040b04: 701a strb r2, [r3, #0] break; 8040b06: f001 bb2c b.w 8042162 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8040b0a: 4b7b ldr r3, [pc, #492] ; (8040cf8 ) 8040b0c: 781b ldrb r3, [r3, #0] 8040b0e: b2db uxtb r3, r3 8040b10: 2b0a cmp r3, #10 8040b12: f240 8175 bls.w 8040e00 8040b16: 4b78 ldr r3, [pc, #480] ; (8040cf8 ) 8040b18: 781b ldrb r3, [r3, #0] 8040b1a: b2db uxtb r3, r3 8040b1c: 2b10 cmp r3, #16 8040b1e: f200 816f bhi.w 8040e00 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8040b22: 4b77 ldr r3, [pc, #476] ; (8040d00 ) 8040b24: edd3 7a06 vldr s15, [r3, #24] 8040b28: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8040b2c: ee67 7a87 vmul.f32 s15, s15, s14 8040b30: eefc 7ae7 vcvt.u32.f32 s15, s15 8040b34: ee17 3a90 vmov r3, s15 8040b38: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8040b3c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040b40: 095b lsrs r3, r3, #5 8040b42: 4a70 ldr r2, [pc, #448] ; (8040d04 ) 8040b44: fba2 2303 umull r2, r3, r2, r3 8040b48: 09db lsrs r3, r3, #7 8040b4a: b2db uxtb r3, r3 8040b4c: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8040b50: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040b54: 0953 lsrs r3, r2, #5 8040b56: 496b ldr r1, [pc, #428] ; (8040d04 ) 8040b58: fba1 1303 umull r1, r3, r1, r3 8040b5c: 09db lsrs r3, r3, #7 8040b5e: 496a ldr r1, [pc, #424] ; (8040d08 ) 8040b60: fb01 f303 mul.w r3, r1, r3 8040b64: 1ad3 subs r3, r2, r3 8040b66: 4a69 ldr r2, [pc, #420] ; (8040d0c ) 8040b68: fba2 2303 umull r2, r3, r2, r3 8040b6c: 0b5b lsrs r3, r3, #13 8040b6e: b2db uxtb r3, r3 8040b70: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8040b74: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040b78: 0953 lsrs r3, r2, #5 8040b7a: 4962 ldr r1, [pc, #392] ; (8040d04 ) 8040b7c: fba1 1303 umull r1, r3, r1, r3 8040b80: 09db lsrs r3, r3, #7 8040b82: 4961 ldr r1, [pc, #388] ; (8040d08 ) 8040b84: fb01 f303 mul.w r3, r1, r3 8040b88: 1ad3 subs r3, r2, r3 8040b8a: 4a60 ldr r2, [pc, #384] ; (8040d0c ) 8040b8c: fba2 1203 umull r1, r2, r2, r3 8040b90: 0b52 lsrs r2, r2, #13 8040b92: f242 7110 movw r1, #10000 ; 0x2710 8040b96: fb01 f202 mul.w r2, r1, r2 8040b9a: 1a9a subs r2, r3, r2 8040b9c: 4b5c ldr r3, [pc, #368] ; (8040d10 ) 8040b9e: fba3 2302 umull r2, r3, r3, r2 8040ba2: 099b lsrs r3, r3, #6 8040ba4: b2db uxtb r3, r3 8040ba6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8040baa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040bae: 095a lsrs r2, r3, #5 8040bb0: 4954 ldr r1, [pc, #336] ; (8040d04 ) 8040bb2: fba1 1202 umull r1, r2, r1, r2 8040bb6: 09d2 lsrs r2, r2, #7 8040bb8: 4953 ldr r1, [pc, #332] ; (8040d08 ) 8040bba: fb01 f202 mul.w r2, r1, r2 8040bbe: 1a9a subs r2, r3, r2 8040bc0: 4b52 ldr r3, [pc, #328] ; (8040d0c ) 8040bc2: fba3 1302 umull r1, r3, r3, r2 8040bc6: 0b5b lsrs r3, r3, #13 8040bc8: f242 7110 movw r1, #10000 ; 0x2710 8040bcc: fb01 f303 mul.w r3, r1, r3 8040bd0: 1ad3 subs r3, r2, r3 8040bd2: 4a4f ldr r2, [pc, #316] ; (8040d10 ) 8040bd4: fba2 1203 umull r1, r2, r2, r3 8040bd8: 0992 lsrs r2, r2, #6 8040bda: f44f 717a mov.w r1, #1000 ; 0x3e8 8040bde: fb01 f202 mul.w r2, r1, r2 8040be2: 1a9a subs r2, r3, r2 8040be4: 4b4b ldr r3, [pc, #300] ; (8040d14 ) 8040be6: fba3 2302 umull r2, r3, r3, r2 8040bea: 095b lsrs r3, r3, #5 8040bec: b2db uxtb r3, r3 8040bee: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8040bf2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040bf6: 0953 lsrs r3, r2, #5 8040bf8: 4942 ldr r1, [pc, #264] ; (8040d04 ) 8040bfa: fba1 1303 umull r1, r3, r1, r3 8040bfe: 09db lsrs r3, r3, #7 8040c00: 4941 ldr r1, [pc, #260] ; (8040d08 ) 8040c02: fb01 f303 mul.w r3, r1, r3 8040c06: 1ad3 subs r3, r2, r3 8040c08: 4a40 ldr r2, [pc, #256] ; (8040d0c ) 8040c0a: fba2 1203 umull r1, r2, r2, r3 8040c0e: 0b52 lsrs r2, r2, #13 8040c10: f242 7110 movw r1, #10000 ; 0x2710 8040c14: fb01 f202 mul.w r2, r1, r2 8040c18: 1a9a subs r2, r3, r2 8040c1a: 4b3d ldr r3, [pc, #244] ; (8040d10 ) 8040c1c: fba3 1302 umull r1, r3, r3, r2 8040c20: 099b lsrs r3, r3, #6 8040c22: f44f 717a mov.w r1, #1000 ; 0x3e8 8040c26: fb01 f303 mul.w r3, r1, r3 8040c2a: 1ad3 subs r3, r2, r3 8040c2c: 4a39 ldr r2, [pc, #228] ; (8040d14 ) 8040c2e: fba2 1203 umull r1, r2, r2, r3 8040c32: 0952 lsrs r2, r2, #5 8040c34: 2164 movs r1, #100 ; 0x64 8040c36: fb01 f202 mul.w r2, r1, r2 8040c3a: 1a9a subs r2, r3, r2 8040c3c: 4b36 ldr r3, [pc, #216] ; (8040d18 ) 8040c3e: fba3 2302 umull r2, r3, r3, r2 8040c42: 08db lsrs r3, r3, #3 8040c44: b2db uxtb r3, r3 8040c46: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8040c4a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040c4e: 0953 lsrs r3, r2, #5 8040c50: 492c ldr r1, [pc, #176] ; (8040d04 ) 8040c52: fba1 1303 umull r1, r3, r1, r3 8040c56: 09db lsrs r3, r3, #7 8040c58: 492b ldr r1, [pc, #172] ; (8040d08 ) 8040c5a: fb01 f303 mul.w r3, r1, r3 8040c5e: 1ad3 subs r3, r2, r3 8040c60: 4a2a ldr r2, [pc, #168] ; (8040d0c ) 8040c62: fba2 1203 umull r1, r2, r2, r3 8040c66: 0b52 lsrs r2, r2, #13 8040c68: f242 7110 movw r1, #10000 ; 0x2710 8040c6c: fb01 f202 mul.w r2, r1, r2 8040c70: 1a9a subs r2, r3, r2 8040c72: 4b27 ldr r3, [pc, #156] ; (8040d10 ) 8040c74: fba3 1302 umull r1, r3, r3, r2 8040c78: 099b lsrs r3, r3, #6 8040c7a: f44f 717a mov.w r1, #1000 ; 0x3e8 8040c7e: fb01 f303 mul.w r3, r1, r3 8040c82: 1ad3 subs r3, r2, r3 8040c84: 4a23 ldr r2, [pc, #140] ; (8040d14 ) 8040c86: fba2 1203 umull r1, r2, r2, r3 8040c8a: 0952 lsrs r2, r2, #5 8040c8c: 2164 movs r1, #100 ; 0x64 8040c8e: fb01 f202 mul.w r2, r1, r2 8040c92: 1a9a subs r2, r3, r2 8040c94: 4b20 ldr r3, [pc, #128] ; (8040d18 ) 8040c96: fba3 1302 umull r1, r3, r3, r2 8040c9a: 08d9 lsrs r1, r3, #3 8040c9c: 460b mov r3, r1 8040c9e: 009b lsls r3, r3, #2 8040ca0: 440b add r3, r1 8040ca2: 005b lsls r3, r3, #1 8040ca4: 1ad1 subs r1, r2, r3 8040ca6: b2cb uxtb r3, r1 8040ca8: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8040cac: 4b12 ldr r3, [pc, #72] ; (8040cf8 ) 8040cae: 781b ldrb r3, [r3, #0] 8040cb0: b2db uxtb r3, r3 8040cb2: 3b0b subs r3, #11 8040cb4: 2b05 cmp r3, #5 8040cb6: d87e bhi.n 8040db6 8040cb8: a201 add r2, pc, #4 ; (adr r2, 8040cc0 ) 8040cba: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8040cbe: bf00 nop 8040cc0: 08040cd9 .word 0x08040cd9 8040cc4: 08040d21 .word 0x08040d21 8040cc8: 08040d43 .word 0x08040d43 8040ccc: 08040d63 .word 0x08040d63 8040cd0: 08040d7f .word 0x08040d7f 8040cd4: 08040d9b .word 0x08040d9b if(k > 100000) k -= 100000; 8040cd8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040cdc: 4a0a ldr r2, [pc, #40] ; (8040d08 ) 8040cde: 4293 cmp r3, r2 8040ce0: d906 bls.n 8040cf0 8040ce2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040ce6: 4b0d ldr r3, [pc, #52] ; (8040d1c ) 8040ce8: 4413 add r3, r2 8040cea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040cee: e062 b.n 8040db6 else k = 0; 8040cf0: 2300 movs r3, #0 8040cf2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040cf6: e05e b.n 8040db6 8040cf8: 20020070 .word 0x20020070 8040cfc: 20020fc8 .word 0x20020fc8 8040d00: 20023ea8 .word 0x20023ea8 8040d04: 0a7c5ac5 .word 0x0a7c5ac5 8040d08: 000186a0 .word 0x000186a0 8040d0c: d1b71759 .word 0xd1b71759 8040d10: 10624dd3 .word 0x10624dd3 8040d14: 51eb851f .word 0x51eb851f 8040d18: cccccccd .word 0xcccccccd 8040d1c: fffe7960 .word 0xfffe7960 if(k > 10000) k -= 10000; 8040d20: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d24: f242 7210 movw r2, #10000 ; 0x2710 8040d28: 4293 cmp r3, r2 8040d2a: d906 bls.n 8040d3a 8040d2c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040d30: 4bd3 ldr r3, [pc, #844] ; (8041080 ) 8040d32: 4413 add r3, r2 8040d34: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040d38: e03d b.n 8040db6 else k = 0; 8040d3a: 2300 movs r3, #0 8040d3c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040d40: e039 b.n 8040db6 if(k > 1000) k -= 1000; 8040d42: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d46: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040d4a: d906 bls.n 8040d5a 8040d4c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d50: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8040d54: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040d58: e02d b.n 8040db6 else k = 0; 8040d5a: 2300 movs r3, #0 8040d5c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040d60: e029 b.n 8040db6 if(k > 100) k -= 100; 8040d62: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d66: 2b64 cmp r3, #100 ; 0x64 8040d68: d905 bls.n 8040d76 8040d6a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d6e: 3b64 subs r3, #100 ; 0x64 8040d70: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040d74: e01f b.n 8040db6 else k = 0; 8040d76: 2300 movs r3, #0 8040d78: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040d7c: e01b b.n 8040db6 if(k > 10) k -= 10; 8040d7e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d82: 2b0a cmp r3, #10 8040d84: d905 bls.n 8040d92 8040d86: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d8a: 3b0a subs r3, #10 8040d8c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040d90: e011 b.n 8040db6 else k = 0; 8040d92: 2300 movs r3, #0 8040d94: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040d98: e00d b.n 8040db6 if(k > 1) k -= 1; 8040d9a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d9e: 2b01 cmp r3, #1 8040da0: d905 bls.n 8040dae 8040da2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040da6: 3b01 subs r3, #1 8040da8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040dac: e002 b.n 8040db4 else k = 0; 8040dae: 2300 movs r3, #0 8040db0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040db4: bf00 nop if(k == 0) k = 1; 8040db6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040dba: 2b00 cmp r3, #0 8040dbc: d102 bne.n 8040dc4 8040dbe: 2301 movs r3, #1 8040dc0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8040dc4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040dc8: ee07 3a90 vmov s15, r3 8040dcc: eef8 7a67 vcvt.f32.u32 s15, s15 8040dd0: 4bac ldr r3, [pc, #688] ; (8041084 ) 8040dd2: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8040dd6: 4bab ldr r3, [pc, #684] ; (8041084 ) 8040dd8: edd3 7a06 vldr s15, [r3, #24] 8040ddc: ed9f 7ab3 vldr s14, [pc, #716] ; 80410ac 8040de0: ee67 7a87 vmul.f32 s15, s15, s14 8040de4: 4ba7 ldr r3, [pc, #668] ; (8041084 ) 8040de6: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8040dea: 4ba6 ldr r3, [pc, #664] ; (8041084 ) 8040dec: edd3 7a06 vldr s15, [r3, #24] 8040df0: ed9f 7aa5 vldr s14, [pc, #660] ; 8041088 8040df4: ee77 7a87 vadd.f32 s15, s15, s14 8040df8: 4ba2 ldr r3, [pc, #648] ; (8041084 ) 8040dfa: edc3 7a06 vstr s15, [r3, #24] 8040dfe: e3f8 b.n 80415f2 if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8040e00: 4ba2 ldr r3, [pc, #648] ; (804108c ) 8040e02: 781b ldrb r3, [r3, #0] 8040e04: b2db uxtb r3, r3 8040e06: 2b18 cmp r3, #24 8040e08: f240 81f1 bls.w 80411ee 8040e0c: 4b9f ldr r3, [pc, #636] ; (804108c ) 8040e0e: 781b ldrb r3, [r3, #0] 8040e10: b2db uxtb r3, r3 8040e12: 2b1e cmp r3, #30 8040e14: f200 81eb bhi.w 80411ee k = (uint32_t) (pardata.HP * 10.0f); 8040e18: 4b9a ldr r3, [pc, #616] ; (8041084 ) 8040e1a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040e1e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8040e22: ee67 7a87 vmul.f32 s15, s15, s14 8040e26: eefc 7ae7 vcvt.u32.f32 s15, s15 8040e2a: ee17 3a90 vmov r3, s15 8040e2e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8040e32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040e36: 095b lsrs r3, r3, #5 8040e38: 4a95 ldr r2, [pc, #596] ; (8041090 ) 8040e3a: fba2 2303 umull r2, r3, r2, r3 8040e3e: 09db lsrs r3, r3, #7 8040e40: b2db uxtb r3, r3 8040e42: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8040e46: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040e4a: 0953 lsrs r3, r2, #5 8040e4c: 4990 ldr r1, [pc, #576] ; (8041090 ) 8040e4e: fba1 1303 umull r1, r3, r1, r3 8040e52: 09db lsrs r3, r3, #7 8040e54: 498f ldr r1, [pc, #572] ; (8041094 ) 8040e56: fb01 f303 mul.w r3, r1, r3 8040e5a: 1ad3 subs r3, r2, r3 8040e5c: 4a8e ldr r2, [pc, #568] ; (8041098 ) 8040e5e: fba2 2303 umull r2, r3, r2, r3 8040e62: 0b5b lsrs r3, r3, #13 8040e64: b2db uxtb r3, r3 8040e66: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8040e6a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040e6e: 0953 lsrs r3, r2, #5 8040e70: 4987 ldr r1, [pc, #540] ; (8041090 ) 8040e72: fba1 1303 umull r1, r3, r1, r3 8040e76: 09db lsrs r3, r3, #7 8040e78: 4986 ldr r1, [pc, #536] ; (8041094 ) 8040e7a: fb01 f303 mul.w r3, r1, r3 8040e7e: 1ad3 subs r3, r2, r3 8040e80: 4a85 ldr r2, [pc, #532] ; (8041098 ) 8040e82: fba2 1203 umull r1, r2, r2, r3 8040e86: 0b52 lsrs r2, r2, #13 8040e88: f242 7110 movw r1, #10000 ; 0x2710 8040e8c: fb01 f202 mul.w r2, r1, r2 8040e90: 1a9a subs r2, r3, r2 8040e92: 4b82 ldr r3, [pc, #520] ; (804109c ) 8040e94: fba3 2302 umull r2, r3, r3, r2 8040e98: 099b lsrs r3, r3, #6 8040e9a: b2db uxtb r3, r3 8040e9c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8040ea0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040ea4: 095a lsrs r2, r3, #5 8040ea6: 497a ldr r1, [pc, #488] ; (8041090 ) 8040ea8: fba1 1202 umull r1, r2, r1, r2 8040eac: 09d2 lsrs r2, r2, #7 8040eae: 4979 ldr r1, [pc, #484] ; (8041094 ) 8040eb0: fb01 f202 mul.w r2, r1, r2 8040eb4: 1a9a subs r2, r3, r2 8040eb6: 4b78 ldr r3, [pc, #480] ; (8041098 ) 8040eb8: fba3 1302 umull r1, r3, r3, r2 8040ebc: 0b5b lsrs r3, r3, #13 8040ebe: f242 7110 movw r1, #10000 ; 0x2710 8040ec2: fb01 f303 mul.w r3, r1, r3 8040ec6: 1ad3 subs r3, r2, r3 8040ec8: 4a74 ldr r2, [pc, #464] ; (804109c ) 8040eca: fba2 1203 umull r1, r2, r2, r3 8040ece: 0992 lsrs r2, r2, #6 8040ed0: f44f 717a mov.w r1, #1000 ; 0x3e8 8040ed4: fb01 f202 mul.w r2, r1, r2 8040ed8: 1a9a subs r2, r3, r2 8040eda: 4b71 ldr r3, [pc, #452] ; (80410a0 ) 8040edc: fba3 2302 umull r2, r3, r3, r2 8040ee0: 095b lsrs r3, r3, #5 8040ee2: b2db uxtb r3, r3 8040ee4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8040ee8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040eec: 0953 lsrs r3, r2, #5 8040eee: 4968 ldr r1, [pc, #416] ; (8041090 ) 8040ef0: fba1 1303 umull r1, r3, r1, r3 8040ef4: 09db lsrs r3, r3, #7 8040ef6: 4967 ldr r1, [pc, #412] ; (8041094 ) 8040ef8: fb01 f303 mul.w r3, r1, r3 8040efc: 1ad3 subs r3, r2, r3 8040efe: 4a66 ldr r2, [pc, #408] ; (8041098 ) 8040f00: fba2 1203 umull r1, r2, r2, r3 8040f04: 0b52 lsrs r2, r2, #13 8040f06: f242 7110 movw r1, #10000 ; 0x2710 8040f0a: fb01 f202 mul.w r2, r1, r2 8040f0e: 1a9a subs r2, r3, r2 8040f10: 4b62 ldr r3, [pc, #392] ; (804109c ) 8040f12: fba3 1302 umull r1, r3, r3, r2 8040f16: 099b lsrs r3, r3, #6 8040f18: f44f 717a mov.w r1, #1000 ; 0x3e8 8040f1c: fb01 f303 mul.w r3, r1, r3 8040f20: 1ad3 subs r3, r2, r3 8040f22: 4a5f ldr r2, [pc, #380] ; (80410a0 ) 8040f24: fba2 1203 umull r1, r2, r2, r3 8040f28: 0952 lsrs r2, r2, #5 8040f2a: 2164 movs r1, #100 ; 0x64 8040f2c: fb01 f202 mul.w r2, r1, r2 8040f30: 1a9a subs r2, r3, r2 8040f32: 4b5c ldr r3, [pc, #368] ; (80410a4 ) 8040f34: fba3 2302 umull r2, r3, r3, r2 8040f38: 08db lsrs r3, r3, #3 8040f3a: b2db uxtb r3, r3 8040f3c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8040f40: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040f44: 0953 lsrs r3, r2, #5 8040f46: 4952 ldr r1, [pc, #328] ; (8041090 ) 8040f48: fba1 1303 umull r1, r3, r1, r3 8040f4c: 09db lsrs r3, r3, #7 8040f4e: 4951 ldr r1, [pc, #324] ; (8041094 ) 8040f50: fb01 f303 mul.w r3, r1, r3 8040f54: 1ad3 subs r3, r2, r3 8040f56: 4a50 ldr r2, [pc, #320] ; (8041098 ) 8040f58: fba2 1203 umull r1, r2, r2, r3 8040f5c: 0b52 lsrs r2, r2, #13 8040f5e: f242 7110 movw r1, #10000 ; 0x2710 8040f62: fb01 f202 mul.w r2, r1, r2 8040f66: 1a9a subs r2, r3, r2 8040f68: 4b4c ldr r3, [pc, #304] ; (804109c ) 8040f6a: fba3 1302 umull r1, r3, r3, r2 8040f6e: 099b lsrs r3, r3, #6 8040f70: f44f 717a mov.w r1, #1000 ; 0x3e8 8040f74: fb01 f303 mul.w r3, r1, r3 8040f78: 1ad3 subs r3, r2, r3 8040f7a: 4a49 ldr r2, [pc, #292] ; (80410a0 ) 8040f7c: fba2 1203 umull r1, r2, r2, r3 8040f80: 0952 lsrs r2, r2, #5 8040f82: 2164 movs r1, #100 ; 0x64 8040f84: fb01 f202 mul.w r2, r1, r2 8040f88: 1a9a subs r2, r3, r2 8040f8a: 4b46 ldr r3, [pc, #280] ; (80410a4 ) 8040f8c: fba3 1302 umull r1, r3, r3, r2 8040f90: 08d9 lsrs r1, r3, #3 8040f92: 460b mov r3, r1 8040f94: 009b lsls r3, r3, #2 8040f96: 440b add r3, r1 8040f98: 005b lsls r3, r3, #1 8040f9a: 1ad1 subs r1, r2, r3 8040f9c: b2cb uxtb r3, r1 8040f9e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8040fa2: 4b3a ldr r3, [pc, #232] ; (804108c ) 8040fa4: 781b ldrb r3, [r3, #0] 8040fa6: b2db uxtb r3, r3 8040fa8: 3b19 subs r3, #25 8040faa: 2b05 cmp r3, #5 8040fac: f200 8086 bhi.w 80410bc 8040fb0: a201 add r2, pc, #4 ; (adr r2, 8040fb8 ) 8040fb2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8040fb6: bf00 nop 8040fb8: 08040fd1 .word 0x08040fd1 8040fbc: 08040ff1 .word 0x08040ff1 8040fc0: 08041013 .word 0x08041013 8040fc4: 08041033 .word 0x08041033 8040fc8: 0804104f .word 0x0804104f 8040fcc: 0804106b .word 0x0804106b if(k > 100000) k -= 100000; 8040fd0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040fd4: 4a2f ldr r2, [pc, #188] ; (8041094 ) 8040fd6: 4293 cmp r3, r2 8040fd8: d906 bls.n 8040fe8 8040fda: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040fde: 4b32 ldr r3, [pc, #200] ; (80410a8 ) 8040fe0: 4413 add r3, r2 8040fe2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040fe6: e069 b.n 80410bc else k = 0; 8040fe8: 2300 movs r3, #0 8040fea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040fee: e065 b.n 80410bc if(k > 10000) k -= 10000; 8040ff0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040ff4: f242 7210 movw r2, #10000 ; 0x2710 8040ff8: 4293 cmp r3, r2 8040ffa: d906 bls.n 804100a 8040ffc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041000: 4b1f ldr r3, [pc, #124] ; (8041080 ) 8041002: 4413 add r3, r2 8041004: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041008: e058 b.n 80410bc else k = 0; 804100a: 2300 movs r3, #0 804100c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041010: e054 b.n 80410bc if(k > 1000) k -= 1000; 8041012: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041016: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 804101a: d906 bls.n 804102a 804101c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041020: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041024: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041028: e048 b.n 80410bc else k = 0; 804102a: 2300 movs r3, #0 804102c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041030: e044 b.n 80410bc if(k > 100) k -= 100; 8041032: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041036: 2b64 cmp r3, #100 ; 0x64 8041038: d905 bls.n 8041046 804103a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804103e: 3b64 subs r3, #100 ; 0x64 8041040: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041044: e03a b.n 80410bc else k = 0; 8041046: 2300 movs r3, #0 8041048: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804104c: e036 b.n 80410bc if(k > 10) k -= 10; 804104e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041052: 2b0a cmp r3, #10 8041054: d905 bls.n 8041062 8041056: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804105a: 3b0a subs r3, #10 804105c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041060: e02c b.n 80410bc else k = 0; 8041062: 2300 movs r3, #0 8041064: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041068: e028 b.n 80410bc if(k > 1) k -= 1; 804106a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804106e: 2b01 cmp r3, #1 8041070: d920 bls.n 80410b4 8041072: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041076: 3b01 subs r3, #1 8041078: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804107c: e01d b.n 80410ba 804107e: bf00 nop 8041080: ffffd8f0 .word 0xffffd8f0 8041084: 20023ea8 .word 0x20023ea8 8041088: 3d4ccccd .word 0x3d4ccccd 804108c: 20020070 .word 0x20020070 8041090: 0a7c5ac5 .word 0x0a7c5ac5 8041094: 000186a0 .word 0x000186a0 8041098: d1b71759 .word 0xd1b71759 804109c: 10624dd3 .word 0x10624dd3 80410a0: 51eb851f .word 0x51eb851f 80410a4: cccccccd .word 0xcccccccd 80410a8: fffe7960 .word 0xfffe7960 80410ac: 3dcccccd .word 0x3dcccccd 80410b0: 38d1b717 .word 0x38d1b717 else k = 0; 80410b4: 2300 movs r3, #0 80410b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80410ba: bf00 nop fl = (float32_t) k; 80410bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80410c0: ee07 3a90 vmov s15, r3 80410c4: eef8 7a67 vcvt.f32.u32 s15, s15 80410c8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80410cc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80410d0: ed1f 7a0a vldr s14, [pc, #-40] ; 80410ac 80410d4: ee67 7a87 vmul.f32 s15, s15, s14 80410d8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80410dc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80410e0: ed1f 7a0d vldr s14, [pc, #-52] ; 80410b0 80410e4: ee77 7a87 vadd.f32 s15, s15, s14 80410e8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 80410ec: 4bd1 ldr r3, [pc, #836] ; (8041434 ) 80410ee: 785b ldrb r3, [r3, #1] 80410f0: b2db uxtb r3, r3 80410f2: 2b00 cmp r3, #0 80410f4: d13d bne.n 8041172 if(fl < 0.5f) 80410f6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80410fa: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80410fe: eef4 7ac7 vcmpe.f32 s15, s14 8041102: eef1 fa10 vmrs APSR_nzcv, fpscr 8041106: d505 bpl.n 8041114 pardata.HP = 0.5f; 8041108: 4bca ldr r3, [pc, #808] ; (8041434 ) 804110a: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 804110e: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8041112: e26e b.n 80415f2 if(fl > pardata.LP) 8041114: 4bc7 ldr r3, [pc, #796] ; (8041434 ) 8041116: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 804111a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804111e: eeb4 7ae7 vcmpe.f32 s14, s15 8041122: eef1 fa10 vmrs APSR_nzcv, fpscr 8041126: d506 bpl.n 8041136 pardata.HP = pardata.LP; 8041128: 4bc2 ldr r3, [pc, #776] ; (8041434 ) 804112a: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 804112e: 4ac1 ldr r2, [pc, #772] ; (8041434 ) 8041130: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8041134: e25d b.n 80415f2 pardata.HP = (float32_t) k; 8041136: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804113a: ee07 3a90 vmov s15, r3 804113e: eef8 7a67 vcvt.f32.u32 s15, s15 8041142: 4bbc ldr r3, [pc, #752] ; (8041434 ) 8041144: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8041148: 4bba ldr r3, [pc, #744] ; (8041434 ) 804114a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804114e: ed9f 7ac3 vldr s14, [pc, #780] ; 804145c 8041152: ee67 7a87 vmul.f32 s15, s15, s14 8041156: 4bb7 ldr r3, [pc, #732] ; (8041434 ) 8041158: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 804115c: 4bb5 ldr r3, [pc, #724] ; (8041434 ) 804115e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041162: ed9f 7abf vldr s14, [pc, #764] ; 8041460 8041166: ee77 7a87 vadd.f32 s15, s15, s14 804116a: 4bb2 ldr r3, [pc, #712] ; (8041434 ) 804116c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8041170: e23f b.n 80415f2 if(fl < 2.0f) 8041172: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041176: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804117a: eef4 7ac7 vcmpe.f32 s15, s14 804117e: eef1 fa10 vmrs APSR_nzcv, fpscr 8041182: d505 bpl.n 8041190 pardata.HP = 2.0f; 8041184: 4bab ldr r3, [pc, #684] ; (8041434 ) 8041186: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 804118a: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 804118e: e230 b.n 80415f2 if(fl > pardata.LP) 8041190: 4ba8 ldr r3, [pc, #672] ; (8041434 ) 8041192: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8041196: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804119a: eeb4 7ae7 vcmpe.f32 s14, s15 804119e: eef1 fa10 vmrs APSR_nzcv, fpscr 80411a2: d506 bpl.n 80411b2 pardata.HP = pardata.LP; 80411a4: 4ba3 ldr r3, [pc, #652] ; (8041434 ) 80411a6: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 80411aa: 4aa2 ldr r2, [pc, #648] ; (8041434 ) 80411ac: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 80411b0: e21f b.n 80415f2 pardata.HP = (float32_t) k; 80411b2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80411b6: ee07 3a90 vmov s15, r3 80411ba: eef8 7a67 vcvt.f32.u32 s15, s15 80411be: 4b9d ldr r3, [pc, #628] ; (8041434 ) 80411c0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 80411c4: 4b9b ldr r3, [pc, #620] ; (8041434 ) 80411c6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80411ca: ed9f 7aa4 vldr s14, [pc, #656] ; 804145c 80411ce: ee67 7a87 vmul.f32 s15, s15, s14 80411d2: 4b98 ldr r3, [pc, #608] ; (8041434 ) 80411d4: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 80411d8: 4b96 ldr r3, [pc, #600] ; (8041434 ) 80411da: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80411de: ed9f 7aa0 vldr s14, [pc, #640] ; 8041460 80411e2: ee77 7a87 vadd.f32 s15, s15, s14 80411e6: 4b93 ldr r3, [pc, #588] ; (8041434 ) 80411e8: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80411ec: e201 b.n 80415f2 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 80411ee: 4b92 ldr r3, [pc, #584] ; (8041438 ) 80411f0: 781b ldrb r3, [r3, #0] 80411f2: b2db uxtb r3, r3 80411f4: 2b1e cmp r3, #30 80411f6: f240 87b4 bls.w 8042162 80411fa: 4b8f ldr r3, [pc, #572] ; (8041438 ) 80411fc: 781b ldrb r3, [r3, #0] 80411fe: b2db uxtb r3, r3 8041200: 2b24 cmp r3, #36 ; 0x24 8041202: f200 87ae bhi.w 8042162 k = (uint32_t) (pardata.LP * 10.0f); 8041206: 4b8b ldr r3, [pc, #556] ; (8041434 ) 8041208: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804120c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8041210: ee67 7a87 vmul.f32 s15, s15, s14 8041214: eefc 7ae7 vcvt.u32.f32 s15, s15 8041218: ee17 3a90 vmov r3, s15 804121c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8041220: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041224: 095b lsrs r3, r3, #5 8041226: 4a85 ldr r2, [pc, #532] ; (804143c ) 8041228: fba2 2303 umull r2, r3, r2, r3 804122c: 09db lsrs r3, r3, #7 804122e: b2db uxtb r3, r3 8041230: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8041234: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041238: 0953 lsrs r3, r2, #5 804123a: 4980 ldr r1, [pc, #512] ; (804143c ) 804123c: fba1 1303 umull r1, r3, r1, r3 8041240: 09db lsrs r3, r3, #7 8041242: 497f ldr r1, [pc, #508] ; (8041440 ) 8041244: fb01 f303 mul.w r3, r1, r3 8041248: 1ad3 subs r3, r2, r3 804124a: 4a7e ldr r2, [pc, #504] ; (8041444 ) 804124c: fba2 2303 umull r2, r3, r2, r3 8041250: 0b5b lsrs r3, r3, #13 8041252: b2db uxtb r3, r3 8041254: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041258: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804125c: 0953 lsrs r3, r2, #5 804125e: 4977 ldr r1, [pc, #476] ; (804143c ) 8041260: fba1 1303 umull r1, r3, r1, r3 8041264: 09db lsrs r3, r3, #7 8041266: 4976 ldr r1, [pc, #472] ; (8041440 ) 8041268: fb01 f303 mul.w r3, r1, r3 804126c: 1ad3 subs r3, r2, r3 804126e: 4a75 ldr r2, [pc, #468] ; (8041444 ) 8041270: fba2 1203 umull r1, r2, r2, r3 8041274: 0b52 lsrs r2, r2, #13 8041276: f242 7110 movw r1, #10000 ; 0x2710 804127a: fb01 f202 mul.w r2, r1, r2 804127e: 1a9a subs r2, r3, r2 8041280: 4b71 ldr r3, [pc, #452] ; (8041448 ) 8041282: fba3 2302 umull r2, r3, r3, r2 8041286: 099b lsrs r3, r3, #6 8041288: b2db uxtb r3, r3 804128a: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 804128e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041292: 095a lsrs r2, r3, #5 8041294: 4969 ldr r1, [pc, #420] ; (804143c ) 8041296: fba1 1202 umull r1, r2, r1, r2 804129a: 09d2 lsrs r2, r2, #7 804129c: 4968 ldr r1, [pc, #416] ; (8041440 ) 804129e: fb01 f202 mul.w r2, r1, r2 80412a2: 1a9a subs r2, r3, r2 80412a4: 4b67 ldr r3, [pc, #412] ; (8041444 ) 80412a6: fba3 1302 umull r1, r3, r3, r2 80412aa: 0b5b lsrs r3, r3, #13 80412ac: f242 7110 movw r1, #10000 ; 0x2710 80412b0: fb01 f303 mul.w r3, r1, r3 80412b4: 1ad3 subs r3, r2, r3 80412b6: 4a64 ldr r2, [pc, #400] ; (8041448 ) 80412b8: fba2 1203 umull r1, r2, r2, r3 80412bc: 0992 lsrs r2, r2, #6 80412be: f44f 717a mov.w r1, #1000 ; 0x3e8 80412c2: fb01 f202 mul.w r2, r1, r2 80412c6: 1a9a subs r2, r3, r2 80412c8: 4b60 ldr r3, [pc, #384] ; (804144c ) 80412ca: fba3 2302 umull r2, r3, r3, r2 80412ce: 095b lsrs r3, r3, #5 80412d0: b2db uxtb r3, r3 80412d2: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80412d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80412da: 0953 lsrs r3, r2, #5 80412dc: 4957 ldr r1, [pc, #348] ; (804143c ) 80412de: fba1 1303 umull r1, r3, r1, r3 80412e2: 09db lsrs r3, r3, #7 80412e4: 4956 ldr r1, [pc, #344] ; (8041440 ) 80412e6: fb01 f303 mul.w r3, r1, r3 80412ea: 1ad3 subs r3, r2, r3 80412ec: 4a55 ldr r2, [pc, #340] ; (8041444 ) 80412ee: fba2 1203 umull r1, r2, r2, r3 80412f2: 0b52 lsrs r2, r2, #13 80412f4: f242 7110 movw r1, #10000 ; 0x2710 80412f8: fb01 f202 mul.w r2, r1, r2 80412fc: 1a9a subs r2, r3, r2 80412fe: 4b52 ldr r3, [pc, #328] ; (8041448 ) 8041300: fba3 1302 umull r1, r3, r3, r2 8041304: 099b lsrs r3, r3, #6 8041306: f44f 717a mov.w r1, #1000 ; 0x3e8 804130a: fb01 f303 mul.w r3, r1, r3 804130e: 1ad3 subs r3, r2, r3 8041310: 4a4e ldr r2, [pc, #312] ; (804144c ) 8041312: fba2 1203 umull r1, r2, r2, r3 8041316: 0952 lsrs r2, r2, #5 8041318: 2164 movs r1, #100 ; 0x64 804131a: fb01 f202 mul.w r2, r1, r2 804131e: 1a9a subs r2, r3, r2 8041320: 4b4b ldr r3, [pc, #300] ; (8041450 ) 8041322: fba3 2302 umull r2, r3, r3, r2 8041326: 08db lsrs r3, r3, #3 8041328: b2db uxtb r3, r3 804132a: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 804132e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041332: 0953 lsrs r3, r2, #5 8041334: 4941 ldr r1, [pc, #260] ; (804143c ) 8041336: fba1 1303 umull r1, r3, r1, r3 804133a: 09db lsrs r3, r3, #7 804133c: 4940 ldr r1, [pc, #256] ; (8041440 ) 804133e: fb01 f303 mul.w r3, r1, r3 8041342: 1ad3 subs r3, r2, r3 8041344: 4a3f ldr r2, [pc, #252] ; (8041444 ) 8041346: fba2 1203 umull r1, r2, r2, r3 804134a: 0b52 lsrs r2, r2, #13 804134c: f242 7110 movw r1, #10000 ; 0x2710 8041350: fb01 f202 mul.w r2, r1, r2 8041354: 1a9a subs r2, r3, r2 8041356: 4b3c ldr r3, [pc, #240] ; (8041448 ) 8041358: fba3 1302 umull r1, r3, r3, r2 804135c: 099b lsrs r3, r3, #6 804135e: f44f 717a mov.w r1, #1000 ; 0x3e8 8041362: fb01 f303 mul.w r3, r1, r3 8041366: 1ad3 subs r3, r2, r3 8041368: 4a38 ldr r2, [pc, #224] ; (804144c ) 804136a: fba2 1203 umull r1, r2, r2, r3 804136e: 0952 lsrs r2, r2, #5 8041370: 2164 movs r1, #100 ; 0x64 8041372: fb01 f202 mul.w r2, r1, r2 8041376: 1a9a subs r2, r3, r2 8041378: 4b35 ldr r3, [pc, #212] ; (8041450 ) 804137a: fba3 1302 umull r1, r3, r3, r2 804137e: 08d9 lsrs r1, r3, #3 8041380: 460b mov r3, r1 8041382: 009b lsls r3, r3, #2 8041384: 440b add r3, r1 8041386: 005b lsls r3, r3, #1 8041388: 1ad1 subs r1, r2, r3 804138a: b2cb uxtb r3, r1 804138c: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8041390: 4b29 ldr r3, [pc, #164] ; (8041438 ) 8041392: 781b ldrb r3, [r3, #0] 8041394: b2db uxtb r3, r3 8041396: 3b1f subs r3, #31 8041398: 2b05 cmp r3, #5 804139a: f200 8083 bhi.w 80414a4 804139e: a201 add r2, pc, #4 ; (adr r2, 80413a4 ) 80413a0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80413a4: 080413bd .word 0x080413bd 80413a8: 080413dd .word 0x080413dd 80413ac: 080413ff .word 0x080413ff 80413b0: 0804141f .word 0x0804141f 80413b4: 0804146d .word 0x0804146d 80413b8: 08041489 .word 0x08041489 if(k > 100000) k -= 100000; 80413bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80413c0: 4a1f ldr r2, [pc, #124] ; (8041440 ) 80413c2: 4293 cmp r3, r2 80413c4: d906 bls.n 80413d4 80413c6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80413ca: 4b22 ldr r3, [pc, #136] ; (8041454 ) 80413cc: 4413 add r3, r2 80413ce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80413d2: e067 b.n 80414a4 else k = 0; 80413d4: 2300 movs r3, #0 80413d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80413da: e063 b.n 80414a4 if(k > 10000) k -= 10000; 80413dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80413e0: f242 7210 movw r2, #10000 ; 0x2710 80413e4: 4293 cmp r3, r2 80413e6: d906 bls.n 80413f6 80413e8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80413ec: 4b1a ldr r3, [pc, #104] ; (8041458 ) 80413ee: 4413 add r3, r2 80413f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80413f4: e056 b.n 80414a4 else k = 0; 80413f6: 2300 movs r3, #0 80413f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80413fc: e052 b.n 80414a4 if(k > 1000) k -= 1000; 80413fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041402: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8041406: d906 bls.n 8041416 8041408: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804140c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041410: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041414: e046 b.n 80414a4 else k = 0; 8041416: 2300 movs r3, #0 8041418: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804141c: e042 b.n 80414a4 if(k > 100) k -= 100; 804141e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041422: 2b64 cmp r3, #100 ; 0x64 8041424: d91e bls.n 8041464 8041426: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804142a: 3b64 subs r3, #100 ; 0x64 804142c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041430: e038 b.n 80414a4 8041432: bf00 nop 8041434: 20023ea8 .word 0x20023ea8 8041438: 20020070 .word 0x20020070 804143c: 0a7c5ac5 .word 0x0a7c5ac5 8041440: 000186a0 .word 0x000186a0 8041444: d1b71759 .word 0xd1b71759 8041448: 10624dd3 .word 0x10624dd3 804144c: 51eb851f .word 0x51eb851f 8041450: cccccccd .word 0xcccccccd 8041454: fffe7960 .word 0xfffe7960 8041458: ffffd8f0 .word 0xffffd8f0 804145c: 3dcccccd .word 0x3dcccccd 8041460: 38d1b717 .word 0x38d1b717 else k = 0; 8041464: 2300 movs r3, #0 8041466: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804146a: e01b b.n 80414a4 if(k > 10) k -= 10; 804146c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041470: 2b0a cmp r3, #10 8041472: d905 bls.n 8041480 8041474: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041478: 3b0a subs r3, #10 804147a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804147e: e011 b.n 80414a4 else k = 0; 8041480: 2300 movs r3, #0 8041482: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041486: e00d b.n 80414a4 if(k > 1) k -= 1; 8041488: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804148c: 2b01 cmp r3, #1 804148e: d905 bls.n 804149c 8041490: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041494: 3b01 subs r3, #1 8041496: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804149a: e002 b.n 80414a2 else k = 0; 804149c: 2300 movs r3, #0 804149e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80414a2: bf00 nop fl = (float32_t) k; 80414a4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80414a8: ee07 3a90 vmov s15, r3 80414ac: eef8 7a67 vcvt.f32.u32 s15, s15 80414b0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80414b4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80414b8: ed1f 7a18 vldr s14, [pc, #-96] ; 804145c 80414bc: ee67 7a87 vmul.f32 s15, s15, s14 80414c0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80414c4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80414c8: ed1f 7a1b vldr s14, [pc, #-108] ; 8041460 80414cc: ee77 7a87 vadd.f32 s15, s15, s14 80414d0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 80414d4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80414d8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80414dc: eef4 7ac7 vcmpe.f32 s15, s14 80414e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80414e4: d504 bpl.n 80414f0 pardata.LP = 10.0f; 80414e6: 4b77 ldr r3, [pc, #476] ; (80416c4 ) 80414e8: 4a77 ldr r2, [pc, #476] ; (80416c8 ) 80414ea: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 80414ee: e03c b.n 804156a if(pardata.LP < pardata.HP) 80414f0: 4b74 ldr r3, [pc, #464] ; (80416c4 ) 80414f2: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80414f6: 4b73 ldr r3, [pc, #460] ; (80416c4 ) 80414f8: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80414fc: eeb4 7ae7 vcmpe.f32 s14, s15 8041500: eef1 fa10 vmrs APSR_nzcv, fpscr 8041504: d506 bpl.n 8041514 pardata.LP = pardata.HP; 8041506: 4b6f ldr r3, [pc, #444] ; (80416c4 ) 8041508: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 804150c: 4a6d ldr r2, [pc, #436] ; (80416c4 ) 804150e: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 8041512: e02a b.n 804156a if(fl > 12800.0f) 8041514: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041518: ed9f 7a6c vldr s14, [pc, #432] ; 80416cc 804151c: eef4 7ac7 vcmpe.f32 s15, s14 8041520: eef1 fa10 vmrs APSR_nzcv, fpscr 8041524: dd04 ble.n 8041530 pardata.LP = 12800.0f; 8041526: 4b67 ldr r3, [pc, #412] ; (80416c4 ) 8041528: 4a69 ldr r2, [pc, #420] ; (80416d0 ) 804152a: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 804152e: e01c b.n 804156a pardata.LP = (float32_t) k; 8041530: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041534: ee07 3a90 vmov s15, r3 8041538: eef8 7a67 vcvt.f32.u32 s15, s15 804153c: 4b61 ldr r3, [pc, #388] ; (80416c4 ) 804153e: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 8041542: 4b60 ldr r3, [pc, #384] ; (80416c4 ) 8041544: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8041548: ed9f 7a62 vldr s14, [pc, #392] ; 80416d4 804154c: ee67 7a87 vmul.f32 s15, s15, s14 8041550: 4b5c ldr r3, [pc, #368] ; (80416c4 ) 8041552: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8041556: 4b5b ldr r3, [pc, #364] ; (80416c4 ) 8041558: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804155c: ed9f 7a5e vldr s14, [pc, #376] ; 80416d8 8041560: ee77 7a87 vadd.f32 s15, s15, s14 8041564: 4b57 ldr r3, [pc, #348] ; (80416c4 ) 8041566: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 k = _64000Hz; 804156a: 2309 movs r3, #9 804156c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8041570: e039 b.n 80415e6 f = (float32_t) FS[k] / pardata.LP; 8041572: 4a5a ldr r2, [pc, #360] ; (80416dc ) 8041574: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041578: f852 3023 ldr.w r3, [r2, r3, lsl #2] 804157c: ee07 3a90 vmov s15, r3 8041580: eef8 6a67 vcvt.f32.u32 s13, s15 8041584: 4b4f ldr r3, [pc, #316] ; (80416c4 ) 8041586: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 804158a: eec6 7a87 vdiv.f32 s15, s13, s14 804158e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8041592: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8041596: ed9f 7a50 vldr s14, [pc, #320] ; 80416d8 804159a: ee77 7a87 vadd.f32 s15, s15, s14 804159e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 80415a2: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80415a6: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 80415aa: eef4 7ac7 vcmpe.f32 s15, s14 80415ae: eef1 fa10 vmrs APSR_nzcv, fpscr 80415b2: d507 bpl.n 80415c4 pardata.FRQ = k + 1; 80415b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80415b8: b2db uxtb r3, r3 80415ba: 3301 adds r3, #1 80415bc: b2da uxtb r2, r3 80415be: 4b41 ldr r3, [pc, #260] ; (80416c4 ) 80415c0: 72da strb r2, [r3, #11] break; 80415c2: e016 b.n 80415f2 if(k > 0) 80415c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80415c8: 2b00 cmp r3, #0 80415ca: d004 beq.n 80415d6 k--; 80415cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80415d0: 3b01 subs r3, #1 80415d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 80415d6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80415da: 2b00 cmp r3, #0 80415dc: d103 bne.n 80415e6 pardata.FRQ = _125Hz; 80415de: 4b39 ldr r3, [pc, #228] ; (80416c4 ) 80415e0: 2200 movs r2, #0 80415e2: 72da strb r2, [r3, #11] break; 80415e4: e005 b.n 80415f2 while(k > _125Hz) 80415e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80415ea: 2b00 cmp r3, #0 80415ec: d1c1 bne.n 8041572 break; 80415ee: f000 bdb8 b.w 8042162 80415f2: f000 bdb6 b.w 8042162 if(menupos == Ok) 80415f6: 4b3a ldr r3, [pc, #232] ; (80416e0 ) 80415f8: 781b ldrb r3, [r3, #0] 80415fa: b2db uxtb r3, r3 80415fc: 2b00 cmp r3, #0 80415fe: d104 bne.n 804160a menupos = SpecType; 8041600: 4b37 ldr r3, [pc, #220] ; (80416e0 ) 8041602: 2201 movs r2, #1 8041604: 701a strb r2, [r3, #0] break; 8041606: f000 bdaf b.w 8042168 if(menupos == SpecType) 804160a: 4b35 ldr r3, [pc, #212] ; (80416e0 ) 804160c: 781b ldrb r3, [r3, #0] 804160e: b2db uxtb r3, r3 8041610: 2b01 cmp r3, #1 8041612: d104 bne.n 804161e menupos = SpecValue; 8041614: 4b32 ldr r3, [pc, #200] ; (80416e0 ) 8041616: 2202 movs r2, #2 8041618: 701a strb r2, [r3, #0] break; 804161a: f000 bda5 b.w 8042168 if(menupos == SpecValue) 804161e: 4b30 ldr r3, [pc, #192] ; (80416e0 ) 8041620: 781b ldrb r3, [r3, #0] 8041622: b2db uxtb r3, r3 8041624: 2b02 cmp r3, #2 8041626: d104 bne.n 8041632 menupos = FilterHP; 8041628: 4b2d ldr r3, [pc, #180] ; (80416e0 ) 804162a: 2217 movs r2, #23 804162c: 701a strb r2, [r3, #0] break; 804162e: f000 bd9b b.w 8042168 if(menupos == FilterHP) 8041632: 4b2b ldr r3, [pc, #172] ; (80416e0 ) 8041634: 781b ldrb r3, [r3, #0] 8041636: b2db uxtb r3, r3 8041638: 2b17 cmp r3, #23 804163a: d104 bne.n 8041646 menupos = FilterLP; 804163c: 4b28 ldr r3, [pc, #160] ; (80416e0 ) 804163e: 2218 movs r2, #24 8041640: 701a strb r2, [r3, #0] break; 8041642: f000 bd91 b.w 8042168 if(menupos == FilterLP) 8041646: 4b26 ldr r3, [pc, #152] ; (80416e0 ) 8041648: 781b ldrb r3, [r3, #0] 804164a: b2db uxtb r3, r3 804164c: 2b18 cmp r3, #24 804164e: d104 bne.n 804165a menupos = LinLog; 8041650: 4b23 ldr r3, [pc, #140] ; (80416e0 ) 8041652: 2205 movs r2, #5 8041654: 701a strb r2, [r3, #0] break; 8041656: f000 bd87 b.w 8042168 if(menupos == LinLog) 804165a: 4b21 ldr r3, [pc, #132] ; (80416e0 ) 804165c: 781b ldrb r3, [r3, #0] 804165e: b2db uxtb r3, r3 8041660: 2b05 cmp r3, #5 8041662: d104 bne.n 804166e menupos = SAverage; 8041664: 4b1e ldr r3, [pc, #120] ; (80416e0 ) 8041666: 2207 movs r2, #7 8041668: 701a strb r2, [r3, #0] break; 804166a: f000 bd7d b.w 8042168 if(menupos == SAverage) 804166e: 4b1c ldr r3, [pc, #112] ; (80416e0 ) 8041670: 781b ldrb r3, [r3, #0] 8041672: b2db uxtb r3, r3 8041674: 2b07 cmp r3, #7 8041676: d104 bne.n 8041682 menupos = VibAutoKu; 8041678: 4b19 ldr r3, [pc, #100] ; (80416e0 ) 804167a: 2208 movs r2, #8 804167c: 701a strb r2, [r3, #0] break; 804167e: f000 bd73 b.w 8042168 if(menupos == VibAutoKu) 8041682: 4b17 ldr r3, [pc, #92] ; (80416e0 ) 8041684: 781b ldrb r3, [r3, #0] 8041686: b2db uxtb r3, r3 8041688: 2b08 cmp r3, #8 804168a: d110 bne.n 80416ae if(pardata.OPTIONS & 0x4) 804168c: 4b0d ldr r3, [pc, #52] ; (80416c4 ) 804168e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8041692: f003 0304 and.w r3, r3, #4 8041696: 2b00 cmp r3, #0 8041698: d004 beq.n 80416a4 menupos = Ok; 804169a: 4b11 ldr r3, [pc, #68] ; (80416e0 ) 804169c: 2200 movs r2, #0 804169e: 701a strb r2, [r3, #0] break; 80416a0: f000 bd62 b.w 8042168 else menupos = VibMax_ALL; 80416a4: 4b0e ldr r3, [pc, #56] ; (80416e0 ) 80416a6: 2209 movs r2, #9 80416a8: 701a strb r2, [r3, #0] break; 80416aa: f000 bd5d b.w 8042168 if(menupos == VibMax_ALL) 80416ae: 4b0c ldr r3, [pc, #48] ; (80416e0 ) 80416b0: 781b ldrb r3, [r3, #0] 80416b2: b2db uxtb r3, r3 80416b4: 2b09 cmp r3, #9 80416b6: d115 bne.n 80416e4 menupos = Ok; 80416b8: 4b09 ldr r3, [pc, #36] ; (80416e0 ) 80416ba: 2200 movs r2, #0 80416bc: 701a strb r2, [r3, #0] break; 80416be: f000 bd53 b.w 8042168 80416c2: bf00 nop 80416c4: 20023ea8 .word 0x20023ea8 80416c8: 41200000 .word 0x41200000 80416cc: 46480000 .word 0x46480000 80416d0: 46480000 .word 0x46480000 80416d4: 3dcccccd .word 0x3dcccccd 80416d8: 38d1b717 .word 0x38d1b717 80416dc: 080f2c08 .word 0x080f2c08 80416e0: 20020070 .word 0x20020070 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 80416e4: 4bb2 ldr r3, [pc, #712] ; (80419b0 ) 80416e6: 781b ldrb r3, [r3, #0] 80416e8: b2db uxtb r3, r3 80416ea: 2b0a cmp r3, #10 80416ec: f240 8178 bls.w 80419e0 80416f0: 4baf ldr r3, [pc, #700] ; (80419b0 ) 80416f2: 781b ldrb r3, [r3, #0] 80416f4: b2db uxtb r3, r3 80416f6: 2b10 cmp r3, #16 80416f8: f200 8172 bhi.w 80419e0 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80416fc: 4bad ldr r3, [pc, #692] ; (80419b4 ) 80416fe: edd3 7a06 vldr s15, [r3, #24] 8041702: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8041706: ee67 7a87 vmul.f32 s15, s15, s14 804170a: eefc 7ae7 vcvt.u32.f32 s15, s15 804170e: ee17 3a90 vmov r3, s15 8041712: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8041716: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804171a: 095b lsrs r3, r3, #5 804171c: 4aa6 ldr r2, [pc, #664] ; (80419b8 ) 804171e: fba2 2303 umull r2, r3, r2, r3 8041722: 09db lsrs r3, r3, #7 8041724: b2db uxtb r3, r3 8041726: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804172a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804172e: 0953 lsrs r3, r2, #5 8041730: 49a1 ldr r1, [pc, #644] ; (80419b8 ) 8041732: fba1 1303 umull r1, r3, r1, r3 8041736: 09db lsrs r3, r3, #7 8041738: 49a0 ldr r1, [pc, #640] ; (80419bc ) 804173a: fb01 f303 mul.w r3, r1, r3 804173e: 1ad3 subs r3, r2, r3 8041740: 4a9f ldr r2, [pc, #636] ; (80419c0 ) 8041742: fba2 2303 umull r2, r3, r2, r3 8041746: 0b5b lsrs r3, r3, #13 8041748: b2db uxtb r3, r3 804174a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 804174e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041752: 0953 lsrs r3, r2, #5 8041754: 4998 ldr r1, [pc, #608] ; (80419b8 ) 8041756: fba1 1303 umull r1, r3, r1, r3 804175a: 09db lsrs r3, r3, #7 804175c: 4997 ldr r1, [pc, #604] ; (80419bc ) 804175e: fb01 f303 mul.w r3, r1, r3 8041762: 1ad3 subs r3, r2, r3 8041764: 4a96 ldr r2, [pc, #600] ; (80419c0 ) 8041766: fba2 1203 umull r1, r2, r2, r3 804176a: 0b52 lsrs r2, r2, #13 804176c: f242 7110 movw r1, #10000 ; 0x2710 8041770: fb01 f202 mul.w r2, r1, r2 8041774: 1a9a subs r2, r3, r2 8041776: 4b93 ldr r3, [pc, #588] ; (80419c4 ) 8041778: fba3 2302 umull r2, r3, r3, r2 804177c: 099b lsrs r3, r3, #6 804177e: b2db uxtb r3, r3 8041780: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8041784: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041788: 095a lsrs r2, r3, #5 804178a: 498b ldr r1, [pc, #556] ; (80419b8 ) 804178c: fba1 1202 umull r1, r2, r1, r2 8041790: 09d2 lsrs r2, r2, #7 8041792: 498a ldr r1, [pc, #552] ; (80419bc ) 8041794: fb01 f202 mul.w r2, r1, r2 8041798: 1a9a subs r2, r3, r2 804179a: 4b89 ldr r3, [pc, #548] ; (80419c0 ) 804179c: fba3 1302 umull r1, r3, r3, r2 80417a0: 0b5b lsrs r3, r3, #13 80417a2: f242 7110 movw r1, #10000 ; 0x2710 80417a6: fb01 f303 mul.w r3, r1, r3 80417aa: 1ad3 subs r3, r2, r3 80417ac: 4a85 ldr r2, [pc, #532] ; (80419c4 ) 80417ae: fba2 1203 umull r1, r2, r2, r3 80417b2: 0992 lsrs r2, r2, #6 80417b4: f44f 717a mov.w r1, #1000 ; 0x3e8 80417b8: fb01 f202 mul.w r2, r1, r2 80417bc: 1a9a subs r2, r3, r2 80417be: 4b82 ldr r3, [pc, #520] ; (80419c8 ) 80417c0: fba3 2302 umull r2, r3, r3, r2 80417c4: 095b lsrs r3, r3, #5 80417c6: b2db uxtb r3, r3 80417c8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80417cc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80417d0: 0953 lsrs r3, r2, #5 80417d2: 4979 ldr r1, [pc, #484] ; (80419b8 ) 80417d4: fba1 1303 umull r1, r3, r1, r3 80417d8: 09db lsrs r3, r3, #7 80417da: 4978 ldr r1, [pc, #480] ; (80419bc ) 80417dc: fb01 f303 mul.w r3, r1, r3 80417e0: 1ad3 subs r3, r2, r3 80417e2: 4a77 ldr r2, [pc, #476] ; (80419c0 ) 80417e4: fba2 1203 umull r1, r2, r2, r3 80417e8: 0b52 lsrs r2, r2, #13 80417ea: f242 7110 movw r1, #10000 ; 0x2710 80417ee: fb01 f202 mul.w r2, r1, r2 80417f2: 1a9a subs r2, r3, r2 80417f4: 4b73 ldr r3, [pc, #460] ; (80419c4 ) 80417f6: fba3 1302 umull r1, r3, r3, r2 80417fa: 099b lsrs r3, r3, #6 80417fc: f44f 717a mov.w r1, #1000 ; 0x3e8 8041800: fb01 f303 mul.w r3, r1, r3 8041804: 1ad3 subs r3, r2, r3 8041806: 4a70 ldr r2, [pc, #448] ; (80419c8 ) 8041808: fba2 1203 umull r1, r2, r2, r3 804180c: 0952 lsrs r2, r2, #5 804180e: 2164 movs r1, #100 ; 0x64 8041810: fb01 f202 mul.w r2, r1, r2 8041814: 1a9a subs r2, r3, r2 8041816: 4b6d ldr r3, [pc, #436] ; (80419cc ) 8041818: fba3 2302 umull r2, r3, r3, r2 804181c: 08db lsrs r3, r3, #3 804181e: b2db uxtb r3, r3 8041820: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8041824: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041828: 0953 lsrs r3, r2, #5 804182a: 4963 ldr r1, [pc, #396] ; (80419b8 ) 804182c: fba1 1303 umull r1, r3, r1, r3 8041830: 09db lsrs r3, r3, #7 8041832: 4962 ldr r1, [pc, #392] ; (80419bc ) 8041834: fb01 f303 mul.w r3, r1, r3 8041838: 1ad3 subs r3, r2, r3 804183a: 4a61 ldr r2, [pc, #388] ; (80419c0 ) 804183c: fba2 1203 umull r1, r2, r2, r3 8041840: 0b52 lsrs r2, r2, #13 8041842: f242 7110 movw r1, #10000 ; 0x2710 8041846: fb01 f202 mul.w r2, r1, r2 804184a: 1a9a subs r2, r3, r2 804184c: 4b5d ldr r3, [pc, #372] ; (80419c4 ) 804184e: fba3 1302 umull r1, r3, r3, r2 8041852: 099b lsrs r3, r3, #6 8041854: f44f 717a mov.w r1, #1000 ; 0x3e8 8041858: fb01 f303 mul.w r3, r1, r3 804185c: 1ad3 subs r3, r2, r3 804185e: 4a5a ldr r2, [pc, #360] ; (80419c8 ) 8041860: fba2 1203 umull r1, r2, r2, r3 8041864: 0952 lsrs r2, r2, #5 8041866: 2164 movs r1, #100 ; 0x64 8041868: fb01 f202 mul.w r2, r1, r2 804186c: 1a9a subs r2, r3, r2 804186e: 4b57 ldr r3, [pc, #348] ; (80419cc ) 8041870: fba3 1302 umull r1, r3, r3, r2 8041874: 08d9 lsrs r1, r3, #3 8041876: 460b mov r3, r1 8041878: 009b lsls r3, r3, #2 804187a: 440b add r3, r1 804187c: 005b lsls r3, r3, #1 804187e: 1ad1 subs r1, r2, r3 8041880: b2cb uxtb r3, r1 8041882: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8041886: 4b4a ldr r3, [pc, #296] ; (80419b0 ) 8041888: 781b ldrb r3, [r3, #0] 804188a: b2db uxtb r3, r3 804188c: 3b0b subs r3, #11 804188e: 2b05 cmp r3, #5 8041890: d869 bhi.n 8041966 8041892: a201 add r2, pc, #4 ; (adr r2, 8041898 ) 8041894: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8041898: 080418b1 .word 0x080418b1 804189c: 080418d1 .word 0x080418d1 80418a0: 080418f3 .word 0x080418f3 80418a4: 08041913 .word 0x08041913 80418a8: 0804192f .word 0x0804192f 80418ac: 0804194b .word 0x0804194b if(k > 100000) k -= 100000; 80418b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80418b4: 4a41 ldr r2, [pc, #260] ; (80419bc ) 80418b6: 4293 cmp r3, r2 80418b8: d906 bls.n 80418c8 80418ba: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80418be: 4b44 ldr r3, [pc, #272] ; (80419d0 ) 80418c0: 4413 add r3, r2 80418c2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80418c6: e04e b.n 8041966 else k = 0; 80418c8: 2300 movs r3, #0 80418ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80418ce: e04a b.n 8041966 if(k > 10000) k -= 10000; 80418d0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80418d4: f242 7210 movw r2, #10000 ; 0x2710 80418d8: 4293 cmp r3, r2 80418da: d906 bls.n 80418ea 80418dc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80418e0: 4b3c ldr r3, [pc, #240] ; (80419d4 ) 80418e2: 4413 add r3, r2 80418e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80418e8: e03d b.n 8041966 else k = 0; 80418ea: 2300 movs r3, #0 80418ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80418f0: e039 b.n 8041966 if(k > 1000) k -= 1000; 80418f2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80418f6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80418fa: d906 bls.n 804190a 80418fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041900: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041904: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041908: e02d b.n 8041966 else k = 0; 804190a: 2300 movs r3, #0 804190c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041910: e029 b.n 8041966 if(k > 100) k -= 100; 8041912: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041916: 2b64 cmp r3, #100 ; 0x64 8041918: d905 bls.n 8041926 804191a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804191e: 3b64 subs r3, #100 ; 0x64 8041920: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041924: e01f b.n 8041966 else k = 0; 8041926: 2300 movs r3, #0 8041928: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804192c: e01b b.n 8041966 if(k > 10) k -= 10; 804192e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041932: 2b0a cmp r3, #10 8041934: d905 bls.n 8041942 8041936: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804193a: 3b0a subs r3, #10 804193c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041940: e011 b.n 8041966 else k = 0; 8041942: 2300 movs r3, #0 8041944: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041948: e00d b.n 8041966 if(k > 1) k -= 1; 804194a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804194e: 2b01 cmp r3, #1 8041950: d905 bls.n 804195e 8041952: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041956: 3b01 subs r3, #1 8041958: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804195c: e002 b.n 8041964 else k = 0; 804195e: 2300 movs r3, #0 8041960: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041964: bf00 nop if(k == 0) k = 1; 8041966: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804196a: 2b00 cmp r3, #0 804196c: d102 bne.n 8041974 804196e: 2301 movs r3, #1 8041970: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8041974: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041978: ee07 3a90 vmov s15, r3 804197c: eef8 7a67 vcvt.f32.u32 s15, s15 8041980: 4b0c ldr r3, [pc, #48] ; (80419b4 ) 8041982: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8041986: 4b0b ldr r3, [pc, #44] ; (80419b4 ) 8041988: edd3 7a06 vldr s15, [r3, #24] 804198c: ed9f 7a12 vldr s14, [pc, #72] ; 80419d8 8041990: ee67 7a87 vmul.f32 s15, s15, s14 8041994: 4b07 ldr r3, [pc, #28] ; (80419b4 ) 8041996: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 804199a: 4b06 ldr r3, [pc, #24] ; (80419b4 ) 804199c: edd3 7a06 vldr s15, [r3, #24] 80419a0: ed9f 7a0e vldr s14, [pc, #56] ; 80419dc 80419a4: ee77 7a87 vadd.f32 s15, s15, s14 80419a8: 4b02 ldr r3, [pc, #8] ; (80419b4 ) 80419aa: edc3 7a06 vstr s15, [r3, #24] 80419ae: e3d7 b.n 8042160 80419b0: 20020070 .word 0x20020070 80419b4: 20023ea8 .word 0x20023ea8 80419b8: 0a7c5ac5 .word 0x0a7c5ac5 80419bc: 000186a0 .word 0x000186a0 80419c0: d1b71759 .word 0xd1b71759 80419c4: 10624dd3 .word 0x10624dd3 80419c8: 51eb851f .word 0x51eb851f 80419cc: cccccccd .word 0xcccccccd 80419d0: fffe7960 .word 0xfffe7960 80419d4: ffffd8f0 .word 0xffffd8f0 80419d8: 3dcccccd .word 0x3dcccccd 80419dc: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 80419e0: 4bcd ldr r3, [pc, #820] ; (8041d18 ) 80419e2: 781b ldrb r3, [r3, #0] 80419e4: b2db uxtb r3, r3 80419e6: 2b18 cmp r3, #24 80419e8: f240 81ec bls.w 8041dc4 80419ec: 4bca ldr r3, [pc, #808] ; (8041d18 ) 80419ee: 781b ldrb r3, [r3, #0] 80419f0: b2db uxtb r3, r3 80419f2: 2b1e cmp r3, #30 80419f4: f200 81e6 bhi.w 8041dc4 k = (uint32_t) (pardata.HP * 10.0f); 80419f8: 4bc8 ldr r3, [pc, #800] ; (8041d1c ) 80419fa: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80419fe: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8041a02: ee67 7a87 vmul.f32 s15, s15, s14 8041a06: eefc 7ae7 vcvt.u32.f32 s15, s15 8041a0a: ee17 3a90 vmov r3, s15 8041a0e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8041a12: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041a16: 095b lsrs r3, r3, #5 8041a18: 4ac1 ldr r2, [pc, #772] ; (8041d20 ) 8041a1a: fba2 2303 umull r2, r3, r2, r3 8041a1e: 09db lsrs r3, r3, #7 8041a20: b2db uxtb r3, r3 8041a22: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8041a26: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041a2a: 0953 lsrs r3, r2, #5 8041a2c: 49bc ldr r1, [pc, #752] ; (8041d20 ) 8041a2e: fba1 1303 umull r1, r3, r1, r3 8041a32: 09db lsrs r3, r3, #7 8041a34: 49bb ldr r1, [pc, #748] ; (8041d24 ) 8041a36: fb01 f303 mul.w r3, r1, r3 8041a3a: 1ad3 subs r3, r2, r3 8041a3c: 4aba ldr r2, [pc, #744] ; (8041d28 ) 8041a3e: fba2 2303 umull r2, r3, r2, r3 8041a42: 0b5b lsrs r3, r3, #13 8041a44: b2db uxtb r3, r3 8041a46: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041a4a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041a4e: 0953 lsrs r3, r2, #5 8041a50: 49b3 ldr r1, [pc, #716] ; (8041d20 ) 8041a52: fba1 1303 umull r1, r3, r1, r3 8041a56: 09db lsrs r3, r3, #7 8041a58: 49b2 ldr r1, [pc, #712] ; (8041d24 ) 8041a5a: fb01 f303 mul.w r3, r1, r3 8041a5e: 1ad3 subs r3, r2, r3 8041a60: 4ab1 ldr r2, [pc, #708] ; (8041d28 ) 8041a62: fba2 1203 umull r1, r2, r2, r3 8041a66: 0b52 lsrs r2, r2, #13 8041a68: f242 7110 movw r1, #10000 ; 0x2710 8041a6c: fb01 f202 mul.w r2, r1, r2 8041a70: 1a9a subs r2, r3, r2 8041a72: 4bae ldr r3, [pc, #696] ; (8041d2c ) 8041a74: fba3 2302 umull r2, r3, r3, r2 8041a78: 099b lsrs r3, r3, #6 8041a7a: b2db uxtb r3, r3 8041a7c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8041a80: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041a84: 095a lsrs r2, r3, #5 8041a86: 49a6 ldr r1, [pc, #664] ; (8041d20 ) 8041a88: fba1 1202 umull r1, r2, r1, r2 8041a8c: 09d2 lsrs r2, r2, #7 8041a8e: 49a5 ldr r1, [pc, #660] ; (8041d24 ) 8041a90: fb01 f202 mul.w r2, r1, r2 8041a94: 1a9a subs r2, r3, r2 8041a96: 4ba4 ldr r3, [pc, #656] ; (8041d28 ) 8041a98: fba3 1302 umull r1, r3, r3, r2 8041a9c: 0b5b lsrs r3, r3, #13 8041a9e: f242 7110 movw r1, #10000 ; 0x2710 8041aa2: fb01 f303 mul.w r3, r1, r3 8041aa6: 1ad3 subs r3, r2, r3 8041aa8: 4aa0 ldr r2, [pc, #640] ; (8041d2c ) 8041aaa: fba2 1203 umull r1, r2, r2, r3 8041aae: 0992 lsrs r2, r2, #6 8041ab0: f44f 717a mov.w r1, #1000 ; 0x3e8 8041ab4: fb01 f202 mul.w r2, r1, r2 8041ab8: 1a9a subs r2, r3, r2 8041aba: 4b9d ldr r3, [pc, #628] ; (8041d30 ) 8041abc: fba3 2302 umull r2, r3, r3, r2 8041ac0: 095b lsrs r3, r3, #5 8041ac2: b2db uxtb r3, r3 8041ac4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8041ac8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041acc: 0953 lsrs r3, r2, #5 8041ace: 4994 ldr r1, [pc, #592] ; (8041d20 ) 8041ad0: fba1 1303 umull r1, r3, r1, r3 8041ad4: 09db lsrs r3, r3, #7 8041ad6: 4993 ldr r1, [pc, #588] ; (8041d24 ) 8041ad8: fb01 f303 mul.w r3, r1, r3 8041adc: 1ad3 subs r3, r2, r3 8041ade: 4a92 ldr r2, [pc, #584] ; (8041d28 ) 8041ae0: fba2 1203 umull r1, r2, r2, r3 8041ae4: 0b52 lsrs r2, r2, #13 8041ae6: f242 7110 movw r1, #10000 ; 0x2710 8041aea: fb01 f202 mul.w r2, r1, r2 8041aee: 1a9a subs r2, r3, r2 8041af0: 4b8e ldr r3, [pc, #568] ; (8041d2c ) 8041af2: fba3 1302 umull r1, r3, r3, r2 8041af6: 099b lsrs r3, r3, #6 8041af8: f44f 717a mov.w r1, #1000 ; 0x3e8 8041afc: fb01 f303 mul.w r3, r1, r3 8041b00: 1ad3 subs r3, r2, r3 8041b02: 4a8b ldr r2, [pc, #556] ; (8041d30 ) 8041b04: fba2 1203 umull r1, r2, r2, r3 8041b08: 0952 lsrs r2, r2, #5 8041b0a: 2164 movs r1, #100 ; 0x64 8041b0c: fb01 f202 mul.w r2, r1, r2 8041b10: 1a9a subs r2, r3, r2 8041b12: 4b88 ldr r3, [pc, #544] ; (8041d34 ) 8041b14: fba3 2302 umull r2, r3, r3, r2 8041b18: 08db lsrs r3, r3, #3 8041b1a: b2db uxtb r3, r3 8041b1c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8041b20: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041b24: 0953 lsrs r3, r2, #5 8041b26: 497e ldr r1, [pc, #504] ; (8041d20 ) 8041b28: fba1 1303 umull r1, r3, r1, r3 8041b2c: 09db lsrs r3, r3, #7 8041b2e: 497d ldr r1, [pc, #500] ; (8041d24 ) 8041b30: fb01 f303 mul.w r3, r1, r3 8041b34: 1ad3 subs r3, r2, r3 8041b36: 4a7c ldr r2, [pc, #496] ; (8041d28 ) 8041b38: fba2 1203 umull r1, r2, r2, r3 8041b3c: 0b52 lsrs r2, r2, #13 8041b3e: f242 7110 movw r1, #10000 ; 0x2710 8041b42: fb01 f202 mul.w r2, r1, r2 8041b46: 1a9a subs r2, r3, r2 8041b48: 4b78 ldr r3, [pc, #480] ; (8041d2c ) 8041b4a: fba3 1302 umull r1, r3, r3, r2 8041b4e: 099b lsrs r3, r3, #6 8041b50: f44f 717a mov.w r1, #1000 ; 0x3e8 8041b54: fb01 f303 mul.w r3, r1, r3 8041b58: 1ad3 subs r3, r2, r3 8041b5a: 4a75 ldr r2, [pc, #468] ; (8041d30 ) 8041b5c: fba2 1203 umull r1, r2, r2, r3 8041b60: 0952 lsrs r2, r2, #5 8041b62: 2164 movs r1, #100 ; 0x64 8041b64: fb01 f202 mul.w r2, r1, r2 8041b68: 1a9a subs r2, r3, r2 8041b6a: 4b72 ldr r3, [pc, #456] ; (8041d34 ) 8041b6c: fba3 1302 umull r1, r3, r3, r2 8041b70: 08d9 lsrs r1, r3, #3 8041b72: 460b mov r3, r1 8041b74: 009b lsls r3, r3, #2 8041b76: 440b add r3, r1 8041b78: 005b lsls r3, r3, #1 8041b7a: 1ad1 subs r1, r2, r3 8041b7c: b2cb uxtb r3, r1 8041b7e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8041b82: 4b65 ldr r3, [pc, #404] ; (8041d18 ) 8041b84: 781b ldrb r3, [r3, #0] 8041b86: b2db uxtb r3, r3 8041b88: 3b19 subs r3, #25 8041b8a: 2b05 cmp r3, #5 8041b8c: d869 bhi.n 8041c62 8041b8e: a201 add r2, pc, #4 ; (adr r2, 8041b94 ) 8041b90: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8041b94: 08041bad .word 0x08041bad 8041b98: 08041bcd .word 0x08041bcd 8041b9c: 08041bef .word 0x08041bef 8041ba0: 08041c0f .word 0x08041c0f 8041ba4: 08041c2b .word 0x08041c2b 8041ba8: 08041c47 .word 0x08041c47 if(k > 100000) k -= 100000; 8041bac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041bb0: 4a5c ldr r2, [pc, #368] ; (8041d24 ) 8041bb2: 4293 cmp r3, r2 8041bb4: d906 bls.n 8041bc4 8041bb6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041bba: 4b5f ldr r3, [pc, #380] ; (8041d38 ) 8041bbc: 4413 add r3, r2 8041bbe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041bc2: e04e b.n 8041c62 else k = 0; 8041bc4: 2300 movs r3, #0 8041bc6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041bca: e04a b.n 8041c62 if(k > 10000) k -= 10000; 8041bcc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041bd0: f242 7210 movw r2, #10000 ; 0x2710 8041bd4: 4293 cmp r3, r2 8041bd6: d906 bls.n 8041be6 8041bd8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041bdc: 4b57 ldr r3, [pc, #348] ; (8041d3c ) 8041bde: 4413 add r3, r2 8041be0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041be4: e03d b.n 8041c62 else k = 0; 8041be6: 2300 movs r3, #0 8041be8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041bec: e039 b.n 8041c62 if(k > 1000) k -= 1000; 8041bee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041bf2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8041bf6: d906 bls.n 8041c06 8041bf8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041bfc: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041c00: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041c04: e02d b.n 8041c62 else k = 0; 8041c06: 2300 movs r3, #0 8041c08: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041c0c: e029 b.n 8041c62 if(k > 100) k -= 100; 8041c0e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041c12: 2b64 cmp r3, #100 ; 0x64 8041c14: d905 bls.n 8041c22 8041c16: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041c1a: 3b64 subs r3, #100 ; 0x64 8041c1c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041c20: e01f b.n 8041c62 else k = 0; 8041c22: 2300 movs r3, #0 8041c24: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041c28: e01b b.n 8041c62 if(k > 10) k -= 10; 8041c2a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041c2e: 2b0a cmp r3, #10 8041c30: d905 bls.n 8041c3e 8041c32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041c36: 3b0a subs r3, #10 8041c38: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041c3c: e011 b.n 8041c62 else k = 0; 8041c3e: 2300 movs r3, #0 8041c40: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041c44: e00d b.n 8041c62 if(k > 1) k -= 1; 8041c46: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041c4a: 2b01 cmp r3, #1 8041c4c: d905 bls.n 8041c5a 8041c4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041c52: 3b01 subs r3, #1 8041c54: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041c58: e002 b.n 8041c60 else k = 0; 8041c5a: 2300 movs r3, #0 8041c5c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041c60: bf00 nop fl = (float32_t) k; 8041c62: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041c66: ee07 3a90 vmov s15, r3 8041c6a: eef8 7a67 vcvt.f32.u32 s15, s15 8041c6e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8041c72: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041c76: ed9f 7a32 vldr s14, [pc, #200] ; 8041d40 8041c7a: ee67 7a87 vmul.f32 s15, s15, s14 8041c7e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8041c82: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041c86: ed9f 7a2f vldr s14, [pc, #188] ; 8041d44 8041c8a: ee77 7a87 vadd.f32 s15, s15, s14 8041c8e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 8041c92: 4b22 ldr r3, [pc, #136] ; (8041d1c ) 8041c94: 785b ldrb r3, [r3, #1] 8041c96: b2db uxtb r3, r3 8041c98: 2b00 cmp r3, #0 8041c9a: d155 bne.n 8041d48 if(fl < 0.5f) 8041c9c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041ca0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8041ca4: eef4 7ac7 vcmpe.f32 s15, s14 8041ca8: eef1 fa10 vmrs APSR_nzcv, fpscr 8041cac: d505 bpl.n 8041cba pardata.HP = 0.5f; 8041cae: 4b1b ldr r3, [pc, #108] ; (8041d1c ) 8041cb0: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8041cb4: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8041cb8: e252 b.n 8042160 if(fl > pardata.LP) 8041cba: 4b18 ldr r3, [pc, #96] ; (8041d1c ) 8041cbc: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8041cc0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041cc4: eeb4 7ae7 vcmpe.f32 s14, s15 8041cc8: eef1 fa10 vmrs APSR_nzcv, fpscr 8041ccc: d506 bpl.n 8041cdc pardata.HP = pardata.LP; 8041cce: 4b13 ldr r3, [pc, #76] ; (8041d1c ) 8041cd0: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8041cd4: 4a11 ldr r2, [pc, #68] ; (8041d1c ) 8041cd6: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8041cda: e241 b.n 8042160 pardata.HP = (float32_t) k; 8041cdc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041ce0: ee07 3a90 vmov s15, r3 8041ce4: eef8 7a67 vcvt.f32.u32 s15, s15 8041ce8: 4b0c ldr r3, [pc, #48] ; (8041d1c ) 8041cea: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8041cee: 4b0b ldr r3, [pc, #44] ; (8041d1c ) 8041cf0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041cf4: ed9f 7a12 vldr s14, [pc, #72] ; 8041d40 8041cf8: ee67 7a87 vmul.f32 s15, s15, s14 8041cfc: 4b07 ldr r3, [pc, #28] ; (8041d1c ) 8041cfe: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8041d02: 4b06 ldr r3, [pc, #24] ; (8041d1c ) 8041d04: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041d08: ed9f 7a0e vldr s14, [pc, #56] ; 8041d44 8041d0c: ee77 7a87 vadd.f32 s15, s15, s14 8041d10: 4b02 ldr r3, [pc, #8] ; (8041d1c ) 8041d12: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8041d16: e223 b.n 8042160 8041d18: 20020070 .word 0x20020070 8041d1c: 20023ea8 .word 0x20023ea8 8041d20: 0a7c5ac5 .word 0x0a7c5ac5 8041d24: 000186a0 .word 0x000186a0 8041d28: d1b71759 .word 0xd1b71759 8041d2c: 10624dd3 .word 0x10624dd3 8041d30: 51eb851f .word 0x51eb851f 8041d34: cccccccd .word 0xcccccccd 8041d38: fffe7960 .word 0xfffe7960 8041d3c: ffffd8f0 .word 0xffffd8f0 8041d40: 3dcccccd .word 0x3dcccccd 8041d44: 38d1b717 .word 0x38d1b717 if(fl < 2.0f) 8041d48: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041d4c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8041d50: eef4 7ac7 vcmpe.f32 s15, s14 8041d54: eef1 fa10 vmrs APSR_nzcv, fpscr 8041d58: d505 bpl.n 8041d66 pardata.HP = 2.0f; 8041d5a: 4bcc ldr r3, [pc, #816] ; (804208c ) 8041d5c: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8041d60: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8041d64: e1fc b.n 8042160 if(fl > pardata.LP) 8041d66: 4bc9 ldr r3, [pc, #804] ; (804208c ) 8041d68: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8041d6c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041d70: eeb4 7ae7 vcmpe.f32 s14, s15 8041d74: eef1 fa10 vmrs APSR_nzcv, fpscr 8041d78: d506 bpl.n 8041d88 pardata.HP = pardata.LP; 8041d7a: 4bc4 ldr r3, [pc, #784] ; (804208c ) 8041d7c: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8041d80: 4ac2 ldr r2, [pc, #776] ; (804208c ) 8041d82: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8041d86: e1eb b.n 8042160 pardata.HP = (float32_t) k; 8041d88: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d8c: ee07 3a90 vmov s15, r3 8041d90: eef8 7a67 vcvt.f32.u32 s15, s15 8041d94: 4bbd ldr r3, [pc, #756] ; (804208c ) 8041d96: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8041d9a: 4bbc ldr r3, [pc, #752] ; (804208c ) 8041d9c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041da0: ed9f 7abb vldr s14, [pc, #748] ; 8042090 8041da4: ee67 7a87 vmul.f32 s15, s15, s14 8041da8: 4bb8 ldr r3, [pc, #736] ; (804208c ) 8041daa: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8041dae: 4bb7 ldr r3, [pc, #732] ; (804208c ) 8041db0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041db4: ed9f 7ab7 vldr s14, [pc, #732] ; 8042094 8041db8: ee77 7a87 vadd.f32 s15, s15, s14 8041dbc: 4bb3 ldr r3, [pc, #716] ; (804208c ) 8041dbe: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8041dc2: e1cd b.n 8042160 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8041dc4: 4bb4 ldr r3, [pc, #720] ; (8042098 ) 8041dc6: 781b ldrb r3, [r3, #0] 8041dc8: b2db uxtb r3, r3 8041dca: 2b1e cmp r3, #30 8041dcc: f240 81cc bls.w 8042168 8041dd0: 4bb1 ldr r3, [pc, #708] ; (8042098 ) 8041dd2: 781b ldrb r3, [r3, #0] 8041dd4: b2db uxtb r3, r3 8041dd6: 2b24 cmp r3, #36 ; 0x24 8041dd8: f200 81c6 bhi.w 8042168 k = (uint32_t) (pardata.LP * 10.0f); 8041ddc: 4bab ldr r3, [pc, #684] ; (804208c ) 8041dde: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8041de2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8041de6: ee67 7a87 vmul.f32 s15, s15, s14 8041dea: eefc 7ae7 vcvt.u32.f32 s15, s15 8041dee: ee17 3a90 vmov r3, s15 8041df2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8041df6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041dfa: 095b lsrs r3, r3, #5 8041dfc: 4aa7 ldr r2, [pc, #668] ; (804209c ) 8041dfe: fba2 2303 umull r2, r3, r2, r3 8041e02: 09db lsrs r3, r3, #7 8041e04: b2db uxtb r3, r3 8041e06: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8041e0a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041e0e: 0953 lsrs r3, r2, #5 8041e10: 49a2 ldr r1, [pc, #648] ; (804209c ) 8041e12: fba1 1303 umull r1, r3, r1, r3 8041e16: 09db lsrs r3, r3, #7 8041e18: 49a1 ldr r1, [pc, #644] ; (80420a0 ) 8041e1a: fb01 f303 mul.w r3, r1, r3 8041e1e: 1ad3 subs r3, r2, r3 8041e20: 4aa0 ldr r2, [pc, #640] ; (80420a4 ) 8041e22: fba2 2303 umull r2, r3, r2, r3 8041e26: 0b5b lsrs r3, r3, #13 8041e28: b2db uxtb r3, r3 8041e2a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041e2e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041e32: 0953 lsrs r3, r2, #5 8041e34: 4999 ldr r1, [pc, #612] ; (804209c ) 8041e36: fba1 1303 umull r1, r3, r1, r3 8041e3a: 09db lsrs r3, r3, #7 8041e3c: 4998 ldr r1, [pc, #608] ; (80420a0 ) 8041e3e: fb01 f303 mul.w r3, r1, r3 8041e42: 1ad3 subs r3, r2, r3 8041e44: 4a97 ldr r2, [pc, #604] ; (80420a4 ) 8041e46: fba2 1203 umull r1, r2, r2, r3 8041e4a: 0b52 lsrs r2, r2, #13 8041e4c: f242 7110 movw r1, #10000 ; 0x2710 8041e50: fb01 f202 mul.w r2, r1, r2 8041e54: 1a9a subs r2, r3, r2 8041e56: 4b94 ldr r3, [pc, #592] ; (80420a8 ) 8041e58: fba3 2302 umull r2, r3, r3, r2 8041e5c: 099b lsrs r3, r3, #6 8041e5e: b2db uxtb r3, r3 8041e60: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8041e64: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041e68: 095a lsrs r2, r3, #5 8041e6a: 498c ldr r1, [pc, #560] ; (804209c ) 8041e6c: fba1 1202 umull r1, r2, r1, r2 8041e70: 09d2 lsrs r2, r2, #7 8041e72: 498b ldr r1, [pc, #556] ; (80420a0 ) 8041e74: fb01 f202 mul.w r2, r1, r2 8041e78: 1a9a subs r2, r3, r2 8041e7a: 4b8a ldr r3, [pc, #552] ; (80420a4 ) 8041e7c: fba3 1302 umull r1, r3, r3, r2 8041e80: 0b5b lsrs r3, r3, #13 8041e82: f242 7110 movw r1, #10000 ; 0x2710 8041e86: fb01 f303 mul.w r3, r1, r3 8041e8a: 1ad3 subs r3, r2, r3 8041e8c: 4a86 ldr r2, [pc, #536] ; (80420a8 ) 8041e8e: fba2 1203 umull r1, r2, r2, r3 8041e92: 0992 lsrs r2, r2, #6 8041e94: f44f 717a mov.w r1, #1000 ; 0x3e8 8041e98: fb01 f202 mul.w r2, r1, r2 8041e9c: 1a9a subs r2, r3, r2 8041e9e: 4b83 ldr r3, [pc, #524] ; (80420ac ) 8041ea0: fba3 2302 umull r2, r3, r3, r2 8041ea4: 095b lsrs r3, r3, #5 8041ea6: b2db uxtb r3, r3 8041ea8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8041eac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041eb0: 0953 lsrs r3, r2, #5 8041eb2: 497a ldr r1, [pc, #488] ; (804209c ) 8041eb4: fba1 1303 umull r1, r3, r1, r3 8041eb8: 09db lsrs r3, r3, #7 8041eba: 4979 ldr r1, [pc, #484] ; (80420a0 ) 8041ebc: fb01 f303 mul.w r3, r1, r3 8041ec0: 1ad3 subs r3, r2, r3 8041ec2: 4a78 ldr r2, [pc, #480] ; (80420a4 ) 8041ec4: fba2 1203 umull r1, r2, r2, r3 8041ec8: 0b52 lsrs r2, r2, #13 8041eca: f242 7110 movw r1, #10000 ; 0x2710 8041ece: fb01 f202 mul.w r2, r1, r2 8041ed2: 1a9a subs r2, r3, r2 8041ed4: 4b74 ldr r3, [pc, #464] ; (80420a8 ) 8041ed6: fba3 1302 umull r1, r3, r3, r2 8041eda: 099b lsrs r3, r3, #6 8041edc: f44f 717a mov.w r1, #1000 ; 0x3e8 8041ee0: fb01 f303 mul.w r3, r1, r3 8041ee4: 1ad3 subs r3, r2, r3 8041ee6: 4a71 ldr r2, [pc, #452] ; (80420ac ) 8041ee8: fba2 1203 umull r1, r2, r2, r3 8041eec: 0952 lsrs r2, r2, #5 8041eee: 2164 movs r1, #100 ; 0x64 8041ef0: fb01 f202 mul.w r2, r1, r2 8041ef4: 1a9a subs r2, r3, r2 8041ef6: 4b6e ldr r3, [pc, #440] ; (80420b0 ) 8041ef8: fba3 2302 umull r2, r3, r3, r2 8041efc: 08db lsrs r3, r3, #3 8041efe: b2db uxtb r3, r3 8041f00: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8041f04: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041f08: 0953 lsrs r3, r2, #5 8041f0a: 4964 ldr r1, [pc, #400] ; (804209c ) 8041f0c: fba1 1303 umull r1, r3, r1, r3 8041f10: 09db lsrs r3, r3, #7 8041f12: 4963 ldr r1, [pc, #396] ; (80420a0 ) 8041f14: fb01 f303 mul.w r3, r1, r3 8041f18: 1ad3 subs r3, r2, r3 8041f1a: 4a62 ldr r2, [pc, #392] ; (80420a4 ) 8041f1c: fba2 1203 umull r1, r2, r2, r3 8041f20: 0b52 lsrs r2, r2, #13 8041f22: f242 7110 movw r1, #10000 ; 0x2710 8041f26: fb01 f202 mul.w r2, r1, r2 8041f2a: 1a9a subs r2, r3, r2 8041f2c: 4b5e ldr r3, [pc, #376] ; (80420a8 ) 8041f2e: fba3 1302 umull r1, r3, r3, r2 8041f32: 099b lsrs r3, r3, #6 8041f34: f44f 717a mov.w r1, #1000 ; 0x3e8 8041f38: fb01 f303 mul.w r3, r1, r3 8041f3c: 1ad3 subs r3, r2, r3 8041f3e: 4a5b ldr r2, [pc, #364] ; (80420ac ) 8041f40: fba2 1203 umull r1, r2, r2, r3 8041f44: 0952 lsrs r2, r2, #5 8041f46: 2164 movs r1, #100 ; 0x64 8041f48: fb01 f202 mul.w r2, r1, r2 8041f4c: 1a9a subs r2, r3, r2 8041f4e: 4b58 ldr r3, [pc, #352] ; (80420b0 ) 8041f50: fba3 1302 umull r1, r3, r3, r2 8041f54: 08d9 lsrs r1, r3, #3 8041f56: 460b mov r3, r1 8041f58: 009b lsls r3, r3, #2 8041f5a: 440b add r3, r1 8041f5c: 005b lsls r3, r3, #1 8041f5e: 1ad1 subs r1, r2, r3 8041f60: b2cb uxtb r3, r1 8041f62: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8041f66: 4b4c ldr r3, [pc, #304] ; (8042098 ) 8041f68: 781b ldrb r3, [r3, #0] 8041f6a: b2db uxtb r3, r3 8041f6c: 3b1f subs r3, #31 8041f6e: 2b05 cmp r3, #5 8041f70: d869 bhi.n 8042046 8041f72: a201 add r2, pc, #4 ; (adr r2, 8041f78 ) 8041f74: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8041f78: 08041f91 .word 0x08041f91 8041f7c: 08041fb1 .word 0x08041fb1 8041f80: 08041fd3 .word 0x08041fd3 8041f84: 08041ff3 .word 0x08041ff3 8041f88: 0804200f .word 0x0804200f 8041f8c: 0804202b .word 0x0804202b if(k > 100000) k -= 100000; 8041f90: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041f94: 4a42 ldr r2, [pc, #264] ; (80420a0 ) 8041f96: 4293 cmp r3, r2 8041f98: d906 bls.n 8041fa8 8041f9a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041f9e: 4b45 ldr r3, [pc, #276] ; (80420b4 ) 8041fa0: 4413 add r3, r2 8041fa2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fa6: e04e b.n 8042046 else k = 0; 8041fa8: 2300 movs r3, #0 8041faa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fae: e04a b.n 8042046 if(k > 10000) k -= 10000; 8041fb0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041fb4: f242 7210 movw r2, #10000 ; 0x2710 8041fb8: 4293 cmp r3, r2 8041fba: d906 bls.n 8041fca 8041fbc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041fc0: 4b3d ldr r3, [pc, #244] ; (80420b8 ) 8041fc2: 4413 add r3, r2 8041fc4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fc8: e03d b.n 8042046 else k = 0; 8041fca: 2300 movs r3, #0 8041fcc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fd0: e039 b.n 8042046 if(k > 1000) k -= 1000; 8041fd2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041fd6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8041fda: d906 bls.n 8041fea 8041fdc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041fe0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041fe4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fe8: e02d b.n 8042046 else k = 0; 8041fea: 2300 movs r3, #0 8041fec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041ff0: e029 b.n 8042046 if(k > 100) k -= 100; 8041ff2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041ff6: 2b64 cmp r3, #100 ; 0x64 8041ff8: d905 bls.n 8042006 8041ffa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041ffe: 3b64 subs r3, #100 ; 0x64 8042000: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042004: e01f b.n 8042046 else k = 0; 8042006: 2300 movs r3, #0 8042008: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804200c: e01b b.n 8042046 if(k > 10) k -= 10; 804200e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042012: 2b0a cmp r3, #10 8042014: d905 bls.n 8042022 8042016: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804201a: 3b0a subs r3, #10 804201c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042020: e011 b.n 8042046 else k = 0; 8042022: 2300 movs r3, #0 8042024: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042028: e00d b.n 8042046 if(k > 1) k -= 1; 804202a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804202e: 2b01 cmp r3, #1 8042030: d905 bls.n 804203e 8042032: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042036: 3b01 subs r3, #1 8042038: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804203c: e002 b.n 8042044 else k = 0; 804203e: 2300 movs r3, #0 8042040: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042044: bf00 nop fl = (float32_t) k; 8042046: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804204a: ee07 3a90 vmov s15, r3 804204e: eef8 7a67 vcvt.f32.u32 s15, s15 8042052: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8042056: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804205a: ed9f 7a0d vldr s14, [pc, #52] ; 8042090 804205e: ee67 7a87 vmul.f32 s15, s15, s14 8042062: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8042066: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804206a: ed9f 7a0a vldr s14, [pc, #40] ; 8042094 804206e: ee77 7a87 vadd.f32 s15, s15, s14 8042072: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.OPTIONS & maskFFT) == okt) 8042076: 4b05 ldr r3, [pc, #20] ; (804208c ) 8042078: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804207c: f003 0330 and.w r3, r3, #48 ; 0x30 8042080: 2b20 cmp r3, #32 8042082: d11d bne.n 80420c0 f = 12800.0f; 8042084: 4b0d ldr r3, [pc, #52] ; (80420bc ) 8042086: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 804208a: e01c b.n 80420c6 804208c: 20023ea8 .word 0x20023ea8 8042090: 3dcccccd .word 0x3dcccccd 8042094: 38d1b717 .word 0x38d1b717 8042098: 20020070 .word 0x20020070 804209c: 0a7c5ac5 .word 0x0a7c5ac5 80420a0: 000186a0 .word 0x000186a0 80420a4: d1b71759 .word 0xd1b71759 80420a8: 10624dd3 .word 0x10624dd3 80420ac: 51eb851f .word 0x51eb851f 80420b0: cccccccd .word 0xcccccccd 80420b4: fffe7960 .word 0xfffe7960 80420b8: ffffd8f0 .word 0xffffd8f0 80420bc: 46480000 .word 0x46480000 else f = 6400.0f; 80420c0: 4b6f ldr r3, [pc, #444] ; (8042280 ) 80420c2: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 if(fl < 10.0f) 80420c6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80420ca: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80420ce: eef4 7ac7 vcmpe.f32 s15, s14 80420d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80420d6: d504 bpl.n 80420e2 pardata.LP = 10.0f; 80420d8: 4b6a ldr r3, [pc, #424] ; (8042284 ) 80420da: 4a6b ldr r2, [pc, #428] ; (8042288 ) 80420dc: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 80420e0: e042 b.n 8042168 if(pardata.LP < pardata.HP) 80420e2: 4b68 ldr r3, [pc, #416] ; (8042284 ) 80420e4: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80420e8: 4b66 ldr r3, [pc, #408] ; (8042284 ) 80420ea: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80420ee: eeb4 7ae7 vcmpe.f32 s14, s15 80420f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80420f6: d506 bpl.n 8042106 pardata.LP = pardata.HP; 80420f8: 4b62 ldr r3, [pc, #392] ; (8042284 ) 80420fa: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 80420fe: 4a61 ldr r2, [pc, #388] ; (8042284 ) 8042100: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 8042104: e030 b.n 8042168 if(fl > f) 8042106: ed97 7a2a vldr s14, [r7, #168] ; 0xa8 804210a: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 804210e: eeb4 7ae7 vcmpe.f32 s14, s15 8042112: eef1 fa10 vmrs APSR_nzcv, fpscr 8042116: dd05 ble.n 8042124 pardata.LP = f; 8042118: 4a5a ldr r2, [pc, #360] ; (8042284 ) 804211a: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 804211e: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 8042122: e021 b.n 8042168 pardata.LP = (float32_t) k; 8042124: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042128: ee07 3a90 vmov s15, r3 804212c: eef8 7a67 vcvt.f32.u32 s15, s15 8042130: 4b54 ldr r3, [pc, #336] ; (8042284 ) 8042132: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 8042136: 4b53 ldr r3, [pc, #332] ; (8042284 ) 8042138: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804213c: ed9f 7a53 vldr s14, [pc, #332] ; 804228c 8042140: ee67 7a87 vmul.f32 s15, s15, s14 8042144: 4b4f ldr r3, [pc, #316] ; (8042284 ) 8042146: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 804214a: 4b4e ldr r3, [pc, #312] ; (8042284 ) 804214c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8042150: ed9f 7a4f vldr s14, [pc, #316] ; 8042290 8042154: ee77 7a87 vadd.f32 s15, s15, s14 8042158: 4b4a ldr r3, [pc, #296] ; (8042284 ) 804215a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 804215e: e003 b.n 8042168 8042160: e002 b.n 8042168 break; 8042162: bf00 nop 8042164: f002 b850 b.w 8044208 break; 8042168: bf00 nop break; 804216a: f002 b84d b.w 8044208 case PARAM_OSC: focused = false; 804216e: 4b49 ldr r3, [pc, #292] ; (8042294 ) 8042170: 2200 movs r2, #0 8042172: 701a strb r2, [r3, #0] if(menupos == Ok) 8042174: 4b48 ldr r3, [pc, #288] ; (8042298 ) 8042176: 781b ldrb r3, [r3, #0] 8042178: b2db uxtb r3, r3 804217a: 2b00 cmp r3, #0 804217c: d104 bne.n 8042188 menupos = OscValue; 804217e: 4b46 ldr r3, [pc, #280] ; (8042298 ) 8042180: 2201 movs r2, #1 8042182: 701a strb r2, [r3, #0] pardata.LP = (float32_t) k; pardata.LP *= 0.1f; pardata.LP += 0.0001f; } } break; 8042184: f002 b821 b.w 80441ca if(menupos == OscValue) 8042188: 4b43 ldr r3, [pc, #268] ; (8042298 ) 804218a: 781b ldrb r3, [r3, #0] 804218c: b2db uxtb r3, r3 804218e: 2b01 cmp r3, #1 8042190: d104 bne.n 804219c menupos = FilterHP; 8042192: 4b41 ldr r3, [pc, #260] ; (8042298 ) 8042194: 2217 movs r2, #23 8042196: 701a strb r2, [r3, #0] break; 8042198: f002 b817 b.w 80441ca if(menupos == FilterHP) 804219c: 4b3e ldr r3, [pc, #248] ; (8042298 ) 804219e: 781b ldrb r3, [r3, #0] 80421a0: b2db uxtb r3, r3 80421a2: 2b17 cmp r3, #23 80421a4: d104 bne.n 80421b0 menupos = FilterLP; 80421a6: 4b3c ldr r3, [pc, #240] ; (8042298 ) 80421a8: 2218 movs r2, #24 80421aa: 701a strb r2, [r3, #0] break; 80421ac: f002 b80d b.w 80441ca if(menupos == FilterLP) 80421b0: 4b39 ldr r3, [pc, #228] ; (8042298 ) 80421b2: 781b ldrb r3, [r3, #0] 80421b4: b2db uxtb r3, r3 80421b6: 2b18 cmp r3, #24 80421b8: d104 bne.n 80421c4 menupos = OscRate; 80421ba: 4b37 ldr r3, [pc, #220] ; (8042298 ) 80421bc: 2203 movs r2, #3 80421be: 701a strb r2, [r3, #0] break; 80421c0: f002 b803 b.w 80441ca if(menupos == OscRate) 80421c4: 4b34 ldr r3, [pc, #208] ; (8042298 ) 80421c6: 781b ldrb r3, [r3, #0] 80421c8: b2db uxtb r3, r3 80421ca: 2b03 cmp r3, #3 80421cc: d104 bne.n 80421d8 menupos = OscLen; 80421ce: 4b32 ldr r3, [pc, #200] ; (8042298 ) 80421d0: 2204 movs r2, #4 80421d2: 701a strb r2, [r3, #0] break; 80421d4: f001 bff9 b.w 80441ca if(menupos == OscLen) 80421d8: 4b2f ldr r3, [pc, #188] ; (8042298 ) 80421da: 781b ldrb r3, [r3, #0] 80421dc: b2db uxtb r3, r3 80421de: 2b04 cmp r3, #4 80421e0: d104 bne.n 80421ec menupos = OscAutoKu; 80421e2: 4b2d ldr r3, [pc, #180] ; (8042298 ) 80421e4: 2205 movs r2, #5 80421e6: 701a strb r2, [r3, #0] break; 80421e8: f001 bfef b.w 80441ca if(menupos == OscAutoKu) 80421ec: 4b2a ldr r3, [pc, #168] ; (8042298 ) 80421ee: 781b ldrb r3, [r3, #0] 80421f0: b2db uxtb r3, r3 80421f2: 2b05 cmp r3, #5 80421f4: d110 bne.n 8042218 if(pardata.OPTIONS & 0x4) 80421f6: 4b23 ldr r3, [pc, #140] ; (8042284 ) 80421f8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80421fc: f003 0304 and.w r3, r3, #4 8042200: 2b00 cmp r3, #0 8042202: d004 beq.n 804220e menupos = Ok; 8042204: 4b24 ldr r3, [pc, #144] ; (8042298 ) 8042206: 2200 movs r2, #0 8042208: 701a strb r2, [r3, #0] break; 804220a: f001 bfde b.w 80441ca else menupos = OscMax_ALL; 804220e: 4b22 ldr r3, [pc, #136] ; (8042298 ) 8042210: 2206 movs r2, #6 8042212: 701a strb r2, [r3, #0] break; 8042214: f001 bfd9 b.w 80441ca if(menupos == OscMax_ALL) 8042218: 4b1f ldr r3, [pc, #124] ; (8042298 ) 804221a: 781b ldrb r3, [r3, #0] 804221c: b2db uxtb r3, r3 804221e: 2b06 cmp r3, #6 8042220: d10e bne.n 8042240 if(pardata.IPR > ACC) 8042222: 4b18 ldr r3, [pc, #96] ; (8042284 ) 8042224: 785b ldrb r3, [r3, #1] 8042226: b2db uxtb r3, r3 8042228: 2b00 cmp r3, #0 804222a: d004 beq.n 8042236 menupos = Ok; 804222c: 4b1a ldr r3, [pc, #104] ; (8042298 ) 804222e: 2200 movs r2, #0 8042230: 701a strb r2, [r3, #0] break; 8042232: f001 bfca b.w 80441ca else menupos = OscThr; 8042236: 4b18 ldr r3, [pc, #96] ; (8042298 ) 8042238: 2207 movs r2, #7 804223a: 701a strb r2, [r3, #0] break; 804223c: f001 bfc5 b.w 80441ca if(menupos == OscThr) 8042240: 4b15 ldr r3, [pc, #84] ; (8042298 ) 8042242: 781b ldrb r3, [r3, #0] 8042244: b2db uxtb r3, r3 8042246: 2b07 cmp r3, #7 8042248: d10f bne.n 804226a if(pardata.THR & 0x80) 804224a: 4b0e ldr r3, [pc, #56] ; (8042284 ) 804224c: 7bdb ldrb r3, [r3, #15] 804224e: b2db uxtb r3, r3 8042250: b25b sxtb r3, r3 8042252: 2b00 cmp r3, #0 8042254: da04 bge.n 8042260 menupos = OscThr_ALL; 8042256: 4b10 ldr r3, [pc, #64] ; (8042298 ) 8042258: 2208 movs r2, #8 804225a: 701a strb r2, [r3, #0] break; 804225c: f001 bfb5 b.w 80441ca else menupos = Ok; 8042260: 4b0d ldr r3, [pc, #52] ; (8042298 ) 8042262: 2200 movs r2, #0 8042264: 701a strb r2, [r3, #0] break; 8042266: f001 bfb0 b.w 80441ca if(menupos == OscThr_ALL) 804226a: 4b0b ldr r3, [pc, #44] ; (8042298 ) 804226c: 781b ldrb r3, [r3, #0] 804226e: b2db uxtb r3, r3 8042270: 2b08 cmp r3, #8 8042272: d113 bne.n 804229c menupos = Ok; 8042274: 4b08 ldr r3, [pc, #32] ; (8042298 ) 8042276: 2200 movs r2, #0 8042278: 701a strb r2, [r3, #0] break; 804227a: f001 bfa6 b.w 80441ca 804227e: bf00 nop 8042280: 45c80000 .word 0x45c80000 8042284: 20023ea8 .word 0x20023ea8 8042288: 41200000 .word 0x41200000 804228c: 3dcccccd .word 0x3dcccccd 8042290: 38d1b717 .word 0x38d1b717 8042294: 20020fc8 .word 0x20020fc8 8042298: 20020070 .word 0x20020070 if((menupos >= OscThr_IDT) && (menupos <= OscThr_IKD)) 804229c: 4bb3 ldr r3, [pc, #716] ; (804256c ) 804229e: 781b ldrb r3, [r3, #0] 80422a0: b2db uxtb r3, r3 80422a2: 2b08 cmp r3, #8 80422a4: f240 817a bls.w 804259c 80422a8: 4bb0 ldr r3, [pc, #704] ; (804256c ) 80422aa: 781b ldrb r3, [r3, #0] 80422ac: b2db uxtb r3, r3 80422ae: 2b0e cmp r3, #14 80422b0: f200 8174 bhi.w 804259c k = (uint32_t) (pardata.THR_VAL * 10.0f); 80422b4: 4bae ldr r3, [pc, #696] ; (8042570 ) 80422b6: edd3 7a05 vldr s15, [r3, #20] 80422ba: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80422be: ee67 7a87 vmul.f32 s15, s15, s14 80422c2: eefc 7ae7 vcvt.u32.f32 s15, s15 80422c6: ee17 3a90 vmov r3, s15 80422ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80422ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80422d2: 095b lsrs r3, r3, #5 80422d4: 4aa7 ldr r2, [pc, #668] ; (8042574 ) 80422d6: fba2 2303 umull r2, r3, r2, r3 80422da: 09db lsrs r3, r3, #7 80422dc: b2db uxtb r3, r3 80422de: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80422e2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80422e6: 0953 lsrs r3, r2, #5 80422e8: 49a2 ldr r1, [pc, #648] ; (8042574 ) 80422ea: fba1 1303 umull r1, r3, r1, r3 80422ee: 09db lsrs r3, r3, #7 80422f0: 49a1 ldr r1, [pc, #644] ; (8042578 ) 80422f2: fb01 f303 mul.w r3, r1, r3 80422f6: 1ad3 subs r3, r2, r3 80422f8: 4aa0 ldr r2, [pc, #640] ; (804257c ) 80422fa: fba2 2303 umull r2, r3, r2, r3 80422fe: 0b5b lsrs r3, r3, #13 8042300: b2db uxtb r3, r3 8042302: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8042306: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804230a: 0953 lsrs r3, r2, #5 804230c: 4999 ldr r1, [pc, #612] ; (8042574 ) 804230e: fba1 1303 umull r1, r3, r1, r3 8042312: 09db lsrs r3, r3, #7 8042314: 4998 ldr r1, [pc, #608] ; (8042578 ) 8042316: fb01 f303 mul.w r3, r1, r3 804231a: 1ad3 subs r3, r2, r3 804231c: 4a97 ldr r2, [pc, #604] ; (804257c ) 804231e: fba2 1203 umull r1, r2, r2, r3 8042322: 0b52 lsrs r2, r2, #13 8042324: f242 7110 movw r1, #10000 ; 0x2710 8042328: fb01 f202 mul.w r2, r1, r2 804232c: 1a9a subs r2, r3, r2 804232e: 4b94 ldr r3, [pc, #592] ; (8042580 ) 8042330: fba3 2302 umull r2, r3, r3, r2 8042334: 099b lsrs r3, r3, #6 8042336: b2db uxtb r3, r3 8042338: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 804233c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042340: 095a lsrs r2, r3, #5 8042342: 498c ldr r1, [pc, #560] ; (8042574 ) 8042344: fba1 1202 umull r1, r2, r1, r2 8042348: 09d2 lsrs r2, r2, #7 804234a: 498b ldr r1, [pc, #556] ; (8042578 ) 804234c: fb01 f202 mul.w r2, r1, r2 8042350: 1a9a subs r2, r3, r2 8042352: 4b8a ldr r3, [pc, #552] ; (804257c ) 8042354: fba3 1302 umull r1, r3, r3, r2 8042358: 0b5b lsrs r3, r3, #13 804235a: f242 7110 movw r1, #10000 ; 0x2710 804235e: fb01 f303 mul.w r3, r1, r3 8042362: 1ad3 subs r3, r2, r3 8042364: 4a86 ldr r2, [pc, #536] ; (8042580 ) 8042366: fba2 1203 umull r1, r2, r2, r3 804236a: 0992 lsrs r2, r2, #6 804236c: f44f 717a mov.w r1, #1000 ; 0x3e8 8042370: fb01 f202 mul.w r2, r1, r2 8042374: 1a9a subs r2, r3, r2 8042376: 4b83 ldr r3, [pc, #524] ; (8042584 ) 8042378: fba3 2302 umull r2, r3, r3, r2 804237c: 095b lsrs r3, r3, #5 804237e: b2db uxtb r3, r3 8042380: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8042384: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042388: 0953 lsrs r3, r2, #5 804238a: 497a ldr r1, [pc, #488] ; (8042574 ) 804238c: fba1 1303 umull r1, r3, r1, r3 8042390: 09db lsrs r3, r3, #7 8042392: 4979 ldr r1, [pc, #484] ; (8042578 ) 8042394: fb01 f303 mul.w r3, r1, r3 8042398: 1ad3 subs r3, r2, r3 804239a: 4a78 ldr r2, [pc, #480] ; (804257c ) 804239c: fba2 1203 umull r1, r2, r2, r3 80423a0: 0b52 lsrs r2, r2, #13 80423a2: f242 7110 movw r1, #10000 ; 0x2710 80423a6: fb01 f202 mul.w r2, r1, r2 80423aa: 1a9a subs r2, r3, r2 80423ac: 4b74 ldr r3, [pc, #464] ; (8042580 ) 80423ae: fba3 1302 umull r1, r3, r3, r2 80423b2: 099b lsrs r3, r3, #6 80423b4: f44f 717a mov.w r1, #1000 ; 0x3e8 80423b8: fb01 f303 mul.w r3, r1, r3 80423bc: 1ad3 subs r3, r2, r3 80423be: 4a71 ldr r2, [pc, #452] ; (8042584 ) 80423c0: fba2 1203 umull r1, r2, r2, r3 80423c4: 0952 lsrs r2, r2, #5 80423c6: 2164 movs r1, #100 ; 0x64 80423c8: fb01 f202 mul.w r2, r1, r2 80423cc: 1a9a subs r2, r3, r2 80423ce: 4b6e ldr r3, [pc, #440] ; (8042588 ) 80423d0: fba3 2302 umull r2, r3, r3, r2 80423d4: 08db lsrs r3, r3, #3 80423d6: b2db uxtb r3, r3 80423d8: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80423dc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80423e0: 0953 lsrs r3, r2, #5 80423e2: 4964 ldr r1, [pc, #400] ; (8042574 ) 80423e4: fba1 1303 umull r1, r3, r1, r3 80423e8: 09db lsrs r3, r3, #7 80423ea: 4963 ldr r1, [pc, #396] ; (8042578 ) 80423ec: fb01 f303 mul.w r3, r1, r3 80423f0: 1ad3 subs r3, r2, r3 80423f2: 4a62 ldr r2, [pc, #392] ; (804257c ) 80423f4: fba2 1203 umull r1, r2, r2, r3 80423f8: 0b52 lsrs r2, r2, #13 80423fa: f242 7110 movw r1, #10000 ; 0x2710 80423fe: fb01 f202 mul.w r2, r1, r2 8042402: 1a9a subs r2, r3, r2 8042404: 4b5e ldr r3, [pc, #376] ; (8042580 ) 8042406: fba3 1302 umull r1, r3, r3, r2 804240a: 099b lsrs r3, r3, #6 804240c: f44f 717a mov.w r1, #1000 ; 0x3e8 8042410: fb01 f303 mul.w r3, r1, r3 8042414: 1ad3 subs r3, r2, r3 8042416: 4a5b ldr r2, [pc, #364] ; (8042584 ) 8042418: fba2 1203 umull r1, r2, r2, r3 804241c: 0952 lsrs r2, r2, #5 804241e: 2164 movs r1, #100 ; 0x64 8042420: fb01 f202 mul.w r2, r1, r2 8042424: 1a9a subs r2, r3, r2 8042426: 4b58 ldr r3, [pc, #352] ; (8042588 ) 8042428: fba3 1302 umull r1, r3, r3, r2 804242c: 08d9 lsrs r1, r3, #3 804242e: 460b mov r3, r1 8042430: 009b lsls r3, r3, #2 8042432: 440b add r3, r1 8042434: 005b lsls r3, r3, #1 8042436: 1ad1 subs r1, r2, r3 8042438: b2cb uxtb r3, r1 804243a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 804243e: 4b4b ldr r3, [pc, #300] ; (804256c ) 8042440: 781b ldrb r3, [r3, #0] 8042442: b2db uxtb r3, r3 8042444: 3b09 subs r3, #9 8042446: 2b05 cmp r3, #5 8042448: d869 bhi.n 804251e 804244a: a201 add r2, pc, #4 ; (adr r2, 8042450 ) 804244c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042450: 08042469 .word 0x08042469 8042454: 08042489 .word 0x08042489 8042458: 080424ab .word 0x080424ab 804245c: 080424cb .word 0x080424cb 8042460: 080424e7 .word 0x080424e7 8042464: 08042503 .word 0x08042503 if(k > 100000) k -= 100000; 8042468: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804246c: 4a42 ldr r2, [pc, #264] ; (8042578 ) 804246e: 4293 cmp r3, r2 8042470: d906 bls.n 8042480 8042472: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042476: 4b45 ldr r3, [pc, #276] ; (804258c ) 8042478: 4413 add r3, r2 804247a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804247e: e04e b.n 804251e else k = 0; 8042480: 2300 movs r3, #0 8042482: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042486: e04a b.n 804251e if(k > 10000) k -= 10000; 8042488: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804248c: f242 7210 movw r2, #10000 ; 0x2710 8042490: 4293 cmp r3, r2 8042492: d906 bls.n 80424a2 8042494: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042498: 4b3d ldr r3, [pc, #244] ; (8042590 ) 804249a: 4413 add r3, r2 804249c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424a0: e03d b.n 804251e else k = 0; 80424a2: 2300 movs r3, #0 80424a4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424a8: e039 b.n 804251e if(k > 1000) k -= 1000; 80424aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424ae: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80424b2: d906 bls.n 80424c2 80424b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424b8: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 80424bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424c0: e02d b.n 804251e else k = 0; 80424c2: 2300 movs r3, #0 80424c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424c8: e029 b.n 804251e if(k > 100) k -= 100; 80424ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424ce: 2b64 cmp r3, #100 ; 0x64 80424d0: d905 bls.n 80424de 80424d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424d6: 3b64 subs r3, #100 ; 0x64 80424d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424dc: e01f b.n 804251e else k = 0; 80424de: 2300 movs r3, #0 80424e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424e4: e01b b.n 804251e if(k > 10) k -= 10; 80424e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424ea: 2b0a cmp r3, #10 80424ec: d905 bls.n 80424fa 80424ee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424f2: 3b0a subs r3, #10 80424f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80424f8: e011 b.n 804251e else k = 0; 80424fa: 2300 movs r3, #0 80424fc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042500: e00d b.n 804251e if(k > 1) k -= 1; 8042502: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042506: 2b01 cmp r3, #1 8042508: d905 bls.n 8042516 804250a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804250e: 3b01 subs r3, #1 8042510: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042514: e002 b.n 804251c else k = 0; 8042516: 2300 movs r3, #0 8042518: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804251c: bf00 nop if(k == 0) k = 1; 804251e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042522: 2b00 cmp r3, #0 8042524: d102 bne.n 804252c 8042526: 2301 movs r3, #1 8042528: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 804252c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042530: ee07 3a90 vmov s15, r3 8042534: eef8 7a67 vcvt.f32.u32 s15, s15 8042538: 4b0d ldr r3, [pc, #52] ; (8042570 ) 804253a: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 804253e: 4b0c ldr r3, [pc, #48] ; (8042570 ) 8042540: edd3 7a05 vldr s15, [r3, #20] 8042544: ed9f 7a13 vldr s14, [pc, #76] ; 8042594 8042548: ee67 7a87 vmul.f32 s15, s15, s14 804254c: 4b08 ldr r3, [pc, #32] ; (8042570 ) 804254e: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 8042552: 4b07 ldr r3, [pc, #28] ; (8042570 ) 8042554: edd3 7a05 vldr s15, [r3, #20] 8042558: ed9f 7a0f vldr s14, [pc, #60] ; 8042598 804255c: ee77 7a87 vadd.f32 s15, s15, s14 8042560: 4b03 ldr r3, [pc, #12] ; (8042570 ) 8042562: edc3 7a05 vstr s15, [r3, #20] 8042566: f000 bd6f b.w 8043048 804256a: bf00 nop 804256c: 20020070 .word 0x20020070 8042570: 20023ea8 .word 0x20023ea8 8042574: 0a7c5ac5 .word 0x0a7c5ac5 8042578: 000186a0 .word 0x000186a0 804257c: d1b71759 .word 0xd1b71759 8042580: 10624dd3 .word 0x10624dd3 8042584: 51eb851f .word 0x51eb851f 8042588: cccccccd .word 0xcccccccd 804258c: fffe7960 .word 0xfffe7960 8042590: ffffd8f0 .word 0xffffd8f0 8042594: 3dcccccd .word 0x3dcccccd 8042598: 3d4ccccd .word 0x3d4ccccd if((menupos >= OscMax_IDT) && (menupos <= OscMax_IKD)) 804259c: 4bb2 ldr r3, [pc, #712] ; (8042868 ) 804259e: 781b ldrb r3, [r3, #0] 80425a0: b2db uxtb r3, r3 80425a2: 2b0e cmp r3, #14 80425a4: f240 8178 bls.w 8042898 80425a8: 4baf ldr r3, [pc, #700] ; (8042868 ) 80425aa: 781b ldrb r3, [r3, #0] 80425ac: b2db uxtb r3, r3 80425ae: 2b14 cmp r3, #20 80425b0: f200 8172 bhi.w 8042898 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80425b4: 4bad ldr r3, [pc, #692] ; (804286c ) 80425b6: edd3 7a06 vldr s15, [r3, #24] 80425ba: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80425be: ee67 7a87 vmul.f32 s15, s15, s14 80425c2: eefc 7ae7 vcvt.u32.f32 s15, s15 80425c6: ee17 3a90 vmov r3, s15 80425ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80425ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80425d2: 095b lsrs r3, r3, #5 80425d4: 4aa6 ldr r2, [pc, #664] ; (8042870 ) 80425d6: fba2 2303 umull r2, r3, r2, r3 80425da: 09db lsrs r3, r3, #7 80425dc: b2db uxtb r3, r3 80425de: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80425e2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80425e6: 0953 lsrs r3, r2, #5 80425e8: 49a1 ldr r1, [pc, #644] ; (8042870 ) 80425ea: fba1 1303 umull r1, r3, r1, r3 80425ee: 09db lsrs r3, r3, #7 80425f0: 49a0 ldr r1, [pc, #640] ; (8042874 ) 80425f2: fb01 f303 mul.w r3, r1, r3 80425f6: 1ad3 subs r3, r2, r3 80425f8: 4a9f ldr r2, [pc, #636] ; (8042878 ) 80425fa: fba2 2303 umull r2, r3, r2, r3 80425fe: 0b5b lsrs r3, r3, #13 8042600: b2db uxtb r3, r3 8042602: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8042606: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804260a: 0953 lsrs r3, r2, #5 804260c: 4998 ldr r1, [pc, #608] ; (8042870 ) 804260e: fba1 1303 umull r1, r3, r1, r3 8042612: 09db lsrs r3, r3, #7 8042614: 4997 ldr r1, [pc, #604] ; (8042874 ) 8042616: fb01 f303 mul.w r3, r1, r3 804261a: 1ad3 subs r3, r2, r3 804261c: 4a96 ldr r2, [pc, #600] ; (8042878 ) 804261e: fba2 1203 umull r1, r2, r2, r3 8042622: 0b52 lsrs r2, r2, #13 8042624: f242 7110 movw r1, #10000 ; 0x2710 8042628: fb01 f202 mul.w r2, r1, r2 804262c: 1a9a subs r2, r3, r2 804262e: 4b93 ldr r3, [pc, #588] ; (804287c ) 8042630: fba3 2302 umull r2, r3, r3, r2 8042634: 099b lsrs r3, r3, #6 8042636: b2db uxtb r3, r3 8042638: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 804263c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042640: 095a lsrs r2, r3, #5 8042642: 498b ldr r1, [pc, #556] ; (8042870 ) 8042644: fba1 1202 umull r1, r2, r1, r2 8042648: 09d2 lsrs r2, r2, #7 804264a: 498a ldr r1, [pc, #552] ; (8042874 ) 804264c: fb01 f202 mul.w r2, r1, r2 8042650: 1a9a subs r2, r3, r2 8042652: 4b89 ldr r3, [pc, #548] ; (8042878 ) 8042654: fba3 1302 umull r1, r3, r3, r2 8042658: 0b5b lsrs r3, r3, #13 804265a: f242 7110 movw r1, #10000 ; 0x2710 804265e: fb01 f303 mul.w r3, r1, r3 8042662: 1ad3 subs r3, r2, r3 8042664: 4a85 ldr r2, [pc, #532] ; (804287c ) 8042666: fba2 1203 umull r1, r2, r2, r3 804266a: 0992 lsrs r2, r2, #6 804266c: f44f 717a mov.w r1, #1000 ; 0x3e8 8042670: fb01 f202 mul.w r2, r1, r2 8042674: 1a9a subs r2, r3, r2 8042676: 4b82 ldr r3, [pc, #520] ; (8042880 ) 8042678: fba3 2302 umull r2, r3, r3, r2 804267c: 095b lsrs r3, r3, #5 804267e: b2db uxtb r3, r3 8042680: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8042684: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042688: 0953 lsrs r3, r2, #5 804268a: 4979 ldr r1, [pc, #484] ; (8042870 ) 804268c: fba1 1303 umull r1, r3, r1, r3 8042690: 09db lsrs r3, r3, #7 8042692: 4978 ldr r1, [pc, #480] ; (8042874 ) 8042694: fb01 f303 mul.w r3, r1, r3 8042698: 1ad3 subs r3, r2, r3 804269a: 4a77 ldr r2, [pc, #476] ; (8042878 ) 804269c: fba2 1203 umull r1, r2, r2, r3 80426a0: 0b52 lsrs r2, r2, #13 80426a2: f242 7110 movw r1, #10000 ; 0x2710 80426a6: fb01 f202 mul.w r2, r1, r2 80426aa: 1a9a subs r2, r3, r2 80426ac: 4b73 ldr r3, [pc, #460] ; (804287c ) 80426ae: fba3 1302 umull r1, r3, r3, r2 80426b2: 099b lsrs r3, r3, #6 80426b4: f44f 717a mov.w r1, #1000 ; 0x3e8 80426b8: fb01 f303 mul.w r3, r1, r3 80426bc: 1ad3 subs r3, r2, r3 80426be: 4a70 ldr r2, [pc, #448] ; (8042880 ) 80426c0: fba2 1203 umull r1, r2, r2, r3 80426c4: 0952 lsrs r2, r2, #5 80426c6: 2164 movs r1, #100 ; 0x64 80426c8: fb01 f202 mul.w r2, r1, r2 80426cc: 1a9a subs r2, r3, r2 80426ce: 4b6d ldr r3, [pc, #436] ; (8042884 ) 80426d0: fba3 2302 umull r2, r3, r3, r2 80426d4: 08db lsrs r3, r3, #3 80426d6: b2db uxtb r3, r3 80426d8: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80426dc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80426e0: 0953 lsrs r3, r2, #5 80426e2: 4963 ldr r1, [pc, #396] ; (8042870 ) 80426e4: fba1 1303 umull r1, r3, r1, r3 80426e8: 09db lsrs r3, r3, #7 80426ea: 4962 ldr r1, [pc, #392] ; (8042874 ) 80426ec: fb01 f303 mul.w r3, r1, r3 80426f0: 1ad3 subs r3, r2, r3 80426f2: 4a61 ldr r2, [pc, #388] ; (8042878 ) 80426f4: fba2 1203 umull r1, r2, r2, r3 80426f8: 0b52 lsrs r2, r2, #13 80426fa: f242 7110 movw r1, #10000 ; 0x2710 80426fe: fb01 f202 mul.w r2, r1, r2 8042702: 1a9a subs r2, r3, r2 8042704: 4b5d ldr r3, [pc, #372] ; (804287c ) 8042706: fba3 1302 umull r1, r3, r3, r2 804270a: 099b lsrs r3, r3, #6 804270c: f44f 717a mov.w r1, #1000 ; 0x3e8 8042710: fb01 f303 mul.w r3, r1, r3 8042714: 1ad3 subs r3, r2, r3 8042716: 4a5a ldr r2, [pc, #360] ; (8042880 ) 8042718: fba2 1203 umull r1, r2, r2, r3 804271c: 0952 lsrs r2, r2, #5 804271e: 2164 movs r1, #100 ; 0x64 8042720: fb01 f202 mul.w r2, r1, r2 8042724: 1a9a subs r2, r3, r2 8042726: 4b57 ldr r3, [pc, #348] ; (8042884 ) 8042728: fba3 1302 umull r1, r3, r3, r2 804272c: 08d9 lsrs r1, r3, #3 804272e: 460b mov r3, r1 8042730: 009b lsls r3, r3, #2 8042732: 440b add r3, r1 8042734: 005b lsls r3, r3, #1 8042736: 1ad1 subs r1, r2, r3 8042738: b2cb uxtb r3, r1 804273a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 804273e: 4b4a ldr r3, [pc, #296] ; (8042868 ) 8042740: 781b ldrb r3, [r3, #0] 8042742: b2db uxtb r3, r3 8042744: 3b0f subs r3, #15 8042746: 2b05 cmp r3, #5 8042748: d869 bhi.n 804281e 804274a: a201 add r2, pc, #4 ; (adr r2, 8042750 ) 804274c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042750: 08042769 .word 0x08042769 8042754: 08042789 .word 0x08042789 8042758: 080427ab .word 0x080427ab 804275c: 080427cb .word 0x080427cb 8042760: 080427e7 .word 0x080427e7 8042764: 08042803 .word 0x08042803 if(k > 100000) k -= 100000; 8042768: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804276c: 4a41 ldr r2, [pc, #260] ; (8042874 ) 804276e: 4293 cmp r3, r2 8042770: d906 bls.n 8042780 8042772: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042776: 4b44 ldr r3, [pc, #272] ; (8042888 ) 8042778: 4413 add r3, r2 804277a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804277e: e04e b.n 804281e else k = 0; 8042780: 2300 movs r3, #0 8042782: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042786: e04a b.n 804281e if(k > 10000) k -= 10000; 8042788: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804278c: f242 7210 movw r2, #10000 ; 0x2710 8042790: 4293 cmp r3, r2 8042792: d906 bls.n 80427a2 8042794: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042798: 4b3c ldr r3, [pc, #240] ; (804288c ) 804279a: 4413 add r3, r2 804279c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80427a0: e03d b.n 804281e else k = 0; 80427a2: 2300 movs r3, #0 80427a4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80427a8: e039 b.n 804281e if(k > 1000) k -= 1000; 80427aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80427ae: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80427b2: d906 bls.n 80427c2 80427b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80427b8: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 80427bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80427c0: e02d b.n 804281e else k = 0; 80427c2: 2300 movs r3, #0 80427c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80427c8: e029 b.n 804281e if(k > 100) k -= 100; 80427ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80427ce: 2b64 cmp r3, #100 ; 0x64 80427d0: d905 bls.n 80427de 80427d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80427d6: 3b64 subs r3, #100 ; 0x64 80427d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80427dc: e01f b.n 804281e else k = 0; 80427de: 2300 movs r3, #0 80427e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80427e4: e01b b.n 804281e if(k > 10) k -= 10; 80427e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80427ea: 2b0a cmp r3, #10 80427ec: d905 bls.n 80427fa 80427ee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80427f2: 3b0a subs r3, #10 80427f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80427f8: e011 b.n 804281e else k = 0; 80427fa: 2300 movs r3, #0 80427fc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042800: e00d b.n 804281e if(k > 1) k -= 1; 8042802: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042806: 2b01 cmp r3, #1 8042808: d905 bls.n 8042816 804280a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804280e: 3b01 subs r3, #1 8042810: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042814: e002 b.n 804281c else k = 0; 8042816: 2300 movs r3, #0 8042818: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804281c: bf00 nop if(k == 0) k = 1; 804281e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042822: 2b00 cmp r3, #0 8042824: d102 bne.n 804282c 8042826: 2301 movs r3, #1 8042828: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 804282c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042830: ee07 3a90 vmov s15, r3 8042834: eef8 7a67 vcvt.f32.u32 s15, s15 8042838: 4b0c ldr r3, [pc, #48] ; (804286c ) 804283a: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 804283e: 4b0b ldr r3, [pc, #44] ; (804286c ) 8042840: edd3 7a06 vldr s15, [r3, #24] 8042844: ed9f 7a12 vldr s14, [pc, #72] ; 8042890 8042848: ee67 7a87 vmul.f32 s15, s15, s14 804284c: 4b07 ldr r3, [pc, #28] ; (804286c ) 804284e: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8042852: 4b06 ldr r3, [pc, #24] ; (804286c ) 8042854: edd3 7a06 vldr s15, [r3, #24] 8042858: ed9f 7a0e vldr s14, [pc, #56] ; 8042894 804285c: ee77 7a87 vadd.f32 s15, s15, s14 8042860: 4b02 ldr r3, [pc, #8] ; (804286c ) 8042862: edc3 7a06 vstr s15, [r3, #24] 8042866: e3ef b.n 8043048 8042868: 20020070 .word 0x20020070 804286c: 20023ea8 .word 0x20023ea8 8042870: 0a7c5ac5 .word 0x0a7c5ac5 8042874: 000186a0 .word 0x000186a0 8042878: d1b71759 .word 0xd1b71759 804287c: 10624dd3 .word 0x10624dd3 8042880: 51eb851f .word 0x51eb851f 8042884: cccccccd .word 0xcccccccd 8042888: fffe7960 .word 0xfffe7960 804288c: ffffd8f0 .word 0xffffd8f0 8042890: 3dcccccd .word 0x3dcccccd 8042894: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8042898: 4bcd ldr r3, [pc, #820] ; (8042bd0 ) 804289a: 781b ldrb r3, [r3, #0] 804289c: b2db uxtb r3, r3 804289e: 2b18 cmp r3, #24 80428a0: f240 81ec bls.w 8042c7c 80428a4: 4bca ldr r3, [pc, #808] ; (8042bd0 ) 80428a6: 781b ldrb r3, [r3, #0] 80428a8: b2db uxtb r3, r3 80428aa: 2b1e cmp r3, #30 80428ac: f200 81e6 bhi.w 8042c7c k = (uint32_t) (pardata.HP * 10.0f); 80428b0: 4bc8 ldr r3, [pc, #800] ; (8042bd4 ) 80428b2: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80428b6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80428ba: ee67 7a87 vmul.f32 s15, s15, s14 80428be: eefc 7ae7 vcvt.u32.f32 s15, s15 80428c2: ee17 3a90 vmov r3, s15 80428c6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80428ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80428ce: 095b lsrs r3, r3, #5 80428d0: 4ac1 ldr r2, [pc, #772] ; (8042bd8 ) 80428d2: fba2 2303 umull r2, r3, r2, r3 80428d6: 09db lsrs r3, r3, #7 80428d8: b2db uxtb r3, r3 80428da: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80428de: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80428e2: 0953 lsrs r3, r2, #5 80428e4: 49bc ldr r1, [pc, #752] ; (8042bd8 ) 80428e6: fba1 1303 umull r1, r3, r1, r3 80428ea: 09db lsrs r3, r3, #7 80428ec: 49bb ldr r1, [pc, #748] ; (8042bdc ) 80428ee: fb01 f303 mul.w r3, r1, r3 80428f2: 1ad3 subs r3, r2, r3 80428f4: 4aba ldr r2, [pc, #744] ; (8042be0 ) 80428f6: fba2 2303 umull r2, r3, r2, r3 80428fa: 0b5b lsrs r3, r3, #13 80428fc: b2db uxtb r3, r3 80428fe: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8042902: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042906: 0953 lsrs r3, r2, #5 8042908: 49b3 ldr r1, [pc, #716] ; (8042bd8 ) 804290a: fba1 1303 umull r1, r3, r1, r3 804290e: 09db lsrs r3, r3, #7 8042910: 49b2 ldr r1, [pc, #712] ; (8042bdc ) 8042912: fb01 f303 mul.w r3, r1, r3 8042916: 1ad3 subs r3, r2, r3 8042918: 4ab1 ldr r2, [pc, #708] ; (8042be0 ) 804291a: fba2 1203 umull r1, r2, r2, r3 804291e: 0b52 lsrs r2, r2, #13 8042920: f242 7110 movw r1, #10000 ; 0x2710 8042924: fb01 f202 mul.w r2, r1, r2 8042928: 1a9a subs r2, r3, r2 804292a: 4bae ldr r3, [pc, #696] ; (8042be4 ) 804292c: fba3 2302 umull r2, r3, r3, r2 8042930: 099b lsrs r3, r3, #6 8042932: b2db uxtb r3, r3 8042934: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8042938: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804293c: 095a lsrs r2, r3, #5 804293e: 49a6 ldr r1, [pc, #664] ; (8042bd8 ) 8042940: fba1 1202 umull r1, r2, r1, r2 8042944: 09d2 lsrs r2, r2, #7 8042946: 49a5 ldr r1, [pc, #660] ; (8042bdc ) 8042948: fb01 f202 mul.w r2, r1, r2 804294c: 1a9a subs r2, r3, r2 804294e: 4ba4 ldr r3, [pc, #656] ; (8042be0 ) 8042950: fba3 1302 umull r1, r3, r3, r2 8042954: 0b5b lsrs r3, r3, #13 8042956: f242 7110 movw r1, #10000 ; 0x2710 804295a: fb01 f303 mul.w r3, r1, r3 804295e: 1ad3 subs r3, r2, r3 8042960: 4aa0 ldr r2, [pc, #640] ; (8042be4 ) 8042962: fba2 1203 umull r1, r2, r2, r3 8042966: 0992 lsrs r2, r2, #6 8042968: f44f 717a mov.w r1, #1000 ; 0x3e8 804296c: fb01 f202 mul.w r2, r1, r2 8042970: 1a9a subs r2, r3, r2 8042972: 4b9d ldr r3, [pc, #628] ; (8042be8 ) 8042974: fba3 2302 umull r2, r3, r3, r2 8042978: 095b lsrs r3, r3, #5 804297a: b2db uxtb r3, r3 804297c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8042980: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042984: 0953 lsrs r3, r2, #5 8042986: 4994 ldr r1, [pc, #592] ; (8042bd8 ) 8042988: fba1 1303 umull r1, r3, r1, r3 804298c: 09db lsrs r3, r3, #7 804298e: 4993 ldr r1, [pc, #588] ; (8042bdc ) 8042990: fb01 f303 mul.w r3, r1, r3 8042994: 1ad3 subs r3, r2, r3 8042996: 4a92 ldr r2, [pc, #584] ; (8042be0 ) 8042998: fba2 1203 umull r1, r2, r2, r3 804299c: 0b52 lsrs r2, r2, #13 804299e: f242 7110 movw r1, #10000 ; 0x2710 80429a2: fb01 f202 mul.w r2, r1, r2 80429a6: 1a9a subs r2, r3, r2 80429a8: 4b8e ldr r3, [pc, #568] ; (8042be4 ) 80429aa: fba3 1302 umull r1, r3, r3, r2 80429ae: 099b lsrs r3, r3, #6 80429b0: f44f 717a mov.w r1, #1000 ; 0x3e8 80429b4: fb01 f303 mul.w r3, r1, r3 80429b8: 1ad3 subs r3, r2, r3 80429ba: 4a8b ldr r2, [pc, #556] ; (8042be8 ) 80429bc: fba2 1203 umull r1, r2, r2, r3 80429c0: 0952 lsrs r2, r2, #5 80429c2: 2164 movs r1, #100 ; 0x64 80429c4: fb01 f202 mul.w r2, r1, r2 80429c8: 1a9a subs r2, r3, r2 80429ca: 4b88 ldr r3, [pc, #544] ; (8042bec ) 80429cc: fba3 2302 umull r2, r3, r3, r2 80429d0: 08db lsrs r3, r3, #3 80429d2: b2db uxtb r3, r3 80429d4: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80429d8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80429dc: 0953 lsrs r3, r2, #5 80429de: 497e ldr r1, [pc, #504] ; (8042bd8 ) 80429e0: fba1 1303 umull r1, r3, r1, r3 80429e4: 09db lsrs r3, r3, #7 80429e6: 497d ldr r1, [pc, #500] ; (8042bdc ) 80429e8: fb01 f303 mul.w r3, r1, r3 80429ec: 1ad3 subs r3, r2, r3 80429ee: 4a7c ldr r2, [pc, #496] ; (8042be0 ) 80429f0: fba2 1203 umull r1, r2, r2, r3 80429f4: 0b52 lsrs r2, r2, #13 80429f6: f242 7110 movw r1, #10000 ; 0x2710 80429fa: fb01 f202 mul.w r2, r1, r2 80429fe: 1a9a subs r2, r3, r2 8042a00: 4b78 ldr r3, [pc, #480] ; (8042be4 ) 8042a02: fba3 1302 umull r1, r3, r3, r2 8042a06: 099b lsrs r3, r3, #6 8042a08: f44f 717a mov.w r1, #1000 ; 0x3e8 8042a0c: fb01 f303 mul.w r3, r1, r3 8042a10: 1ad3 subs r3, r2, r3 8042a12: 4a75 ldr r2, [pc, #468] ; (8042be8 ) 8042a14: fba2 1203 umull r1, r2, r2, r3 8042a18: 0952 lsrs r2, r2, #5 8042a1a: 2164 movs r1, #100 ; 0x64 8042a1c: fb01 f202 mul.w r2, r1, r2 8042a20: 1a9a subs r2, r3, r2 8042a22: 4b72 ldr r3, [pc, #456] ; (8042bec ) 8042a24: fba3 1302 umull r1, r3, r3, r2 8042a28: 08d9 lsrs r1, r3, #3 8042a2a: 460b mov r3, r1 8042a2c: 009b lsls r3, r3, #2 8042a2e: 440b add r3, r1 8042a30: 005b lsls r3, r3, #1 8042a32: 1ad1 subs r1, r2, r3 8042a34: b2cb uxtb r3, r1 8042a36: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042a3a: 4b65 ldr r3, [pc, #404] ; (8042bd0 ) 8042a3c: 781b ldrb r3, [r3, #0] 8042a3e: b2db uxtb r3, r3 8042a40: 3b19 subs r3, #25 8042a42: 2b05 cmp r3, #5 8042a44: d869 bhi.n 8042b1a 8042a46: a201 add r2, pc, #4 ; (adr r2, 8042a4c ) 8042a48: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042a4c: 08042a65 .word 0x08042a65 8042a50: 08042a85 .word 0x08042a85 8042a54: 08042aa7 .word 0x08042aa7 8042a58: 08042ac7 .word 0x08042ac7 8042a5c: 08042ae3 .word 0x08042ae3 8042a60: 08042aff .word 0x08042aff if(k > 100000) k -= 100000; 8042a64: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042a68: 4a5c ldr r2, [pc, #368] ; (8042bdc ) 8042a6a: 4293 cmp r3, r2 8042a6c: d906 bls.n 8042a7c 8042a6e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042a72: 4b5f ldr r3, [pc, #380] ; (8042bf0 ) 8042a74: 4413 add r3, r2 8042a76: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042a7a: e04e b.n 8042b1a else k = 0; 8042a7c: 2300 movs r3, #0 8042a7e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042a82: e04a b.n 8042b1a if(k > 10000) k -= 10000; 8042a84: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042a88: f242 7210 movw r2, #10000 ; 0x2710 8042a8c: 4293 cmp r3, r2 8042a8e: d906 bls.n 8042a9e 8042a90: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042a94: 4b57 ldr r3, [pc, #348] ; (8042bf4 ) 8042a96: 4413 add r3, r2 8042a98: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042a9c: e03d b.n 8042b1a else k = 0; 8042a9e: 2300 movs r3, #0 8042aa0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042aa4: e039 b.n 8042b1a if(k > 1000) k -= 1000; 8042aa6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042aaa: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8042aae: d906 bls.n 8042abe 8042ab0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042ab4: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8042ab8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042abc: e02d b.n 8042b1a else k = 0; 8042abe: 2300 movs r3, #0 8042ac0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ac4: e029 b.n 8042b1a if(k > 100) k -= 100; 8042ac6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042aca: 2b64 cmp r3, #100 ; 0x64 8042acc: d905 bls.n 8042ada 8042ace: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042ad2: 3b64 subs r3, #100 ; 0x64 8042ad4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ad8: e01f b.n 8042b1a else k = 0; 8042ada: 2300 movs r3, #0 8042adc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ae0: e01b b.n 8042b1a if(k > 10) k -= 10; 8042ae2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042ae6: 2b0a cmp r3, #10 8042ae8: d905 bls.n 8042af6 8042aea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042aee: 3b0a subs r3, #10 8042af0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042af4: e011 b.n 8042b1a else k = 0; 8042af6: 2300 movs r3, #0 8042af8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042afc: e00d b.n 8042b1a if(k > 1) k -= 1; 8042afe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b02: 2b01 cmp r3, #1 8042b04: d905 bls.n 8042b12 8042b06: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b0a: 3b01 subs r3, #1 8042b0c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b10: e002 b.n 8042b18 else k = 0; 8042b12: 2300 movs r3, #0 8042b14: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b18: bf00 nop fl = (float32_t) k; 8042b1a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b1e: ee07 3a90 vmov s15, r3 8042b22: eef8 7a67 vcvt.f32.u32 s15, s15 8042b26: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8042b2a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042b2e: ed9f 7a32 vldr s14, [pc, #200] ; 8042bf8 8042b32: ee67 7a87 vmul.f32 s15, s15, s14 8042b36: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8042b3a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042b3e: ed9f 7a2f vldr s14, [pc, #188] ; 8042bfc 8042b42: ee77 7a87 vadd.f32 s15, s15, s14 8042b46: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 8042b4a: 4b22 ldr r3, [pc, #136] ; (8042bd4 ) 8042b4c: 785b ldrb r3, [r3, #1] 8042b4e: b2db uxtb r3, r3 8042b50: 2b00 cmp r3, #0 8042b52: d155 bne.n 8042c00 if(fl < 0.5f) 8042b54: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042b58: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8042b5c: eef4 7ac7 vcmpe.f32 s15, s14 8042b60: eef1 fa10 vmrs APSR_nzcv, fpscr 8042b64: d505 bpl.n 8042b72 pardata.HP = 0.5f; 8042b66: 4b1b ldr r3, [pc, #108] ; (8042bd4 ) 8042b68: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8042b6c: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8042b70: e26a b.n 8043048 if(fl > pardata.LP) 8042b72: 4b18 ldr r3, [pc, #96] ; (8042bd4 ) 8042b74: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8042b78: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042b7c: eeb4 7ae7 vcmpe.f32 s14, s15 8042b80: eef1 fa10 vmrs APSR_nzcv, fpscr 8042b84: d506 bpl.n 8042b94 pardata.HP = pardata.LP; 8042b86: 4b13 ldr r3, [pc, #76] ; (8042bd4 ) 8042b88: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8042b8c: 4a11 ldr r2, [pc, #68] ; (8042bd4 ) 8042b8e: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8042b92: e259 b.n 8043048 pardata.HP = (float32_t) k; 8042b94: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b98: ee07 3a90 vmov s15, r3 8042b9c: eef8 7a67 vcvt.f32.u32 s15, s15 8042ba0: 4b0c ldr r3, [pc, #48] ; (8042bd4 ) 8042ba2: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8042ba6: 4b0b ldr r3, [pc, #44] ; (8042bd4 ) 8042ba8: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8042bac: ed9f 7a12 vldr s14, [pc, #72] ; 8042bf8 8042bb0: ee67 7a87 vmul.f32 s15, s15, s14 8042bb4: 4b07 ldr r3, [pc, #28] ; (8042bd4 ) 8042bb6: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8042bba: 4b06 ldr r3, [pc, #24] ; (8042bd4 ) 8042bbc: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8042bc0: ed9f 7a0e vldr s14, [pc, #56] ; 8042bfc 8042bc4: ee77 7a87 vadd.f32 s15, s15, s14 8042bc8: 4b02 ldr r3, [pc, #8] ; (8042bd4 ) 8042bca: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8042bce: e23b b.n 8043048 8042bd0: 20020070 .word 0x20020070 8042bd4: 20023ea8 .word 0x20023ea8 8042bd8: 0a7c5ac5 .word 0x0a7c5ac5 8042bdc: 000186a0 .word 0x000186a0 8042be0: d1b71759 .word 0xd1b71759 8042be4: 10624dd3 .word 0x10624dd3 8042be8: 51eb851f .word 0x51eb851f 8042bec: cccccccd .word 0xcccccccd 8042bf0: fffe7960 .word 0xfffe7960 8042bf4: ffffd8f0 .word 0xffffd8f0 8042bf8: 3dcccccd .word 0x3dcccccd 8042bfc: 38d1b717 .word 0x38d1b717 if(fl < 2.0f) 8042c00: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042c04: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8042c08: eef4 7ac7 vcmpe.f32 s15, s14 8042c0c: eef1 fa10 vmrs APSR_nzcv, fpscr 8042c10: d505 bpl.n 8042c1e pardata.HP = 2.0f; 8042c12: 4bce ldr r3, [pc, #824] ; (8042f4c ) 8042c14: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8042c18: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8042c1c: e214 b.n 8043048 if(fl > pardata.LP) 8042c1e: 4bcb ldr r3, [pc, #812] ; (8042f4c ) 8042c20: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8042c24: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042c28: eeb4 7ae7 vcmpe.f32 s14, s15 8042c2c: eef1 fa10 vmrs APSR_nzcv, fpscr 8042c30: d506 bpl.n 8042c40 pardata.HP = pardata.LP; 8042c32: 4bc6 ldr r3, [pc, #792] ; (8042f4c ) 8042c34: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8042c38: 4ac4 ldr r2, [pc, #784] ; (8042f4c ) 8042c3a: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8042c3e: e203 b.n 8043048 pardata.HP = (float32_t) k; 8042c40: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042c44: ee07 3a90 vmov s15, r3 8042c48: eef8 7a67 vcvt.f32.u32 s15, s15 8042c4c: 4bbf ldr r3, [pc, #764] ; (8042f4c ) 8042c4e: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8042c52: 4bbe ldr r3, [pc, #760] ; (8042f4c ) 8042c54: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8042c58: ed9f 7abd vldr s14, [pc, #756] ; 8042f50 8042c5c: ee67 7a87 vmul.f32 s15, s15, s14 8042c60: 4bba ldr r3, [pc, #744] ; (8042f4c ) 8042c62: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8042c66: 4bb9 ldr r3, [pc, #740] ; (8042f4c ) 8042c68: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8042c6c: ed9f 7ab9 vldr s14, [pc, #740] ; 8042f54 8042c70: ee77 7a87 vadd.f32 s15, s15, s14 8042c74: 4bb5 ldr r3, [pc, #724] ; (8042f4c ) 8042c76: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8042c7a: e1e5 b.n 8043048 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8042c7c: 4bb6 ldr r3, [pc, #728] ; (8042f58 ) 8042c7e: 781b ldrb r3, [r3, #0] 8042c80: b2db uxtb r3, r3 8042c82: 2b1e cmp r3, #30 8042c84: f241 82a1 bls.w 80441ca 8042c88: 4bb3 ldr r3, [pc, #716] ; (8042f58 ) 8042c8a: 781b ldrb r3, [r3, #0] 8042c8c: b2db uxtb r3, r3 8042c8e: 2b24 cmp r3, #36 ; 0x24 8042c90: f201 829b bhi.w 80441ca k = (uint32_t) (pardata.LP * 10.0f); 8042c94: 4bad ldr r3, [pc, #692] ; (8042f4c ) 8042c96: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8042c9a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8042c9e: ee67 7a87 vmul.f32 s15, s15, s14 8042ca2: eefc 7ae7 vcvt.u32.f32 s15, s15 8042ca6: ee17 3a90 vmov r3, s15 8042caa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8042cae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042cb2: 095b lsrs r3, r3, #5 8042cb4: 4aa9 ldr r2, [pc, #676] ; (8042f5c ) 8042cb6: fba2 2303 umull r2, r3, r2, r3 8042cba: 09db lsrs r3, r3, #7 8042cbc: b2db uxtb r3, r3 8042cbe: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8042cc2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042cc6: 0953 lsrs r3, r2, #5 8042cc8: 49a4 ldr r1, [pc, #656] ; (8042f5c ) 8042cca: fba1 1303 umull r1, r3, r1, r3 8042cce: 09db lsrs r3, r3, #7 8042cd0: 49a3 ldr r1, [pc, #652] ; (8042f60 ) 8042cd2: fb01 f303 mul.w r3, r1, r3 8042cd6: 1ad3 subs r3, r2, r3 8042cd8: 4aa2 ldr r2, [pc, #648] ; (8042f64 ) 8042cda: fba2 2303 umull r2, r3, r2, r3 8042cde: 0b5b lsrs r3, r3, #13 8042ce0: b2db uxtb r3, r3 8042ce2: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8042ce6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042cea: 0953 lsrs r3, r2, #5 8042cec: 499b ldr r1, [pc, #620] ; (8042f5c ) 8042cee: fba1 1303 umull r1, r3, r1, r3 8042cf2: 09db lsrs r3, r3, #7 8042cf4: 499a ldr r1, [pc, #616] ; (8042f60 ) 8042cf6: fb01 f303 mul.w r3, r1, r3 8042cfa: 1ad3 subs r3, r2, r3 8042cfc: 4a99 ldr r2, [pc, #612] ; (8042f64 ) 8042cfe: fba2 1203 umull r1, r2, r2, r3 8042d02: 0b52 lsrs r2, r2, #13 8042d04: f242 7110 movw r1, #10000 ; 0x2710 8042d08: fb01 f202 mul.w r2, r1, r2 8042d0c: 1a9a subs r2, r3, r2 8042d0e: 4b96 ldr r3, [pc, #600] ; (8042f68 ) 8042d10: fba3 2302 umull r2, r3, r3, r2 8042d14: 099b lsrs r3, r3, #6 8042d16: b2db uxtb r3, r3 8042d18: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8042d1c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042d20: 095a lsrs r2, r3, #5 8042d22: 498e ldr r1, [pc, #568] ; (8042f5c ) 8042d24: fba1 1202 umull r1, r2, r1, r2 8042d28: 09d2 lsrs r2, r2, #7 8042d2a: 498d ldr r1, [pc, #564] ; (8042f60 ) 8042d2c: fb01 f202 mul.w r2, r1, r2 8042d30: 1a9a subs r2, r3, r2 8042d32: 4b8c ldr r3, [pc, #560] ; (8042f64 ) 8042d34: fba3 1302 umull r1, r3, r3, r2 8042d38: 0b5b lsrs r3, r3, #13 8042d3a: f242 7110 movw r1, #10000 ; 0x2710 8042d3e: fb01 f303 mul.w r3, r1, r3 8042d42: 1ad3 subs r3, r2, r3 8042d44: 4a88 ldr r2, [pc, #544] ; (8042f68 ) 8042d46: fba2 1203 umull r1, r2, r2, r3 8042d4a: 0992 lsrs r2, r2, #6 8042d4c: f44f 717a mov.w r1, #1000 ; 0x3e8 8042d50: fb01 f202 mul.w r2, r1, r2 8042d54: 1a9a subs r2, r3, r2 8042d56: 4b85 ldr r3, [pc, #532] ; (8042f6c ) 8042d58: fba3 2302 umull r2, r3, r3, r2 8042d5c: 095b lsrs r3, r3, #5 8042d5e: b2db uxtb r3, r3 8042d60: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8042d64: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042d68: 0953 lsrs r3, r2, #5 8042d6a: 497c ldr r1, [pc, #496] ; (8042f5c ) 8042d6c: fba1 1303 umull r1, r3, r1, r3 8042d70: 09db lsrs r3, r3, #7 8042d72: 497b ldr r1, [pc, #492] ; (8042f60 ) 8042d74: fb01 f303 mul.w r3, r1, r3 8042d78: 1ad3 subs r3, r2, r3 8042d7a: 4a7a ldr r2, [pc, #488] ; (8042f64 ) 8042d7c: fba2 1203 umull r1, r2, r2, r3 8042d80: 0b52 lsrs r2, r2, #13 8042d82: f242 7110 movw r1, #10000 ; 0x2710 8042d86: fb01 f202 mul.w r2, r1, r2 8042d8a: 1a9a subs r2, r3, r2 8042d8c: 4b76 ldr r3, [pc, #472] ; (8042f68 ) 8042d8e: fba3 1302 umull r1, r3, r3, r2 8042d92: 099b lsrs r3, r3, #6 8042d94: f44f 717a mov.w r1, #1000 ; 0x3e8 8042d98: fb01 f303 mul.w r3, r1, r3 8042d9c: 1ad3 subs r3, r2, r3 8042d9e: 4a73 ldr r2, [pc, #460] ; (8042f6c ) 8042da0: fba2 1203 umull r1, r2, r2, r3 8042da4: 0952 lsrs r2, r2, #5 8042da6: 2164 movs r1, #100 ; 0x64 8042da8: fb01 f202 mul.w r2, r1, r2 8042dac: 1a9a subs r2, r3, r2 8042dae: 4b70 ldr r3, [pc, #448] ; (8042f70 ) 8042db0: fba3 2302 umull r2, r3, r3, r2 8042db4: 08db lsrs r3, r3, #3 8042db6: b2db uxtb r3, r3 8042db8: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8042dbc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042dc0: 0953 lsrs r3, r2, #5 8042dc2: 4966 ldr r1, [pc, #408] ; (8042f5c ) 8042dc4: fba1 1303 umull r1, r3, r1, r3 8042dc8: 09db lsrs r3, r3, #7 8042dca: 4965 ldr r1, [pc, #404] ; (8042f60 ) 8042dcc: fb01 f303 mul.w r3, r1, r3 8042dd0: 1ad3 subs r3, r2, r3 8042dd2: 4a64 ldr r2, [pc, #400] ; (8042f64 ) 8042dd4: fba2 1203 umull r1, r2, r2, r3 8042dd8: 0b52 lsrs r2, r2, #13 8042dda: f242 7110 movw r1, #10000 ; 0x2710 8042dde: fb01 f202 mul.w r2, r1, r2 8042de2: 1a9a subs r2, r3, r2 8042de4: 4b60 ldr r3, [pc, #384] ; (8042f68 ) 8042de6: fba3 1302 umull r1, r3, r3, r2 8042dea: 099b lsrs r3, r3, #6 8042dec: f44f 717a mov.w r1, #1000 ; 0x3e8 8042df0: fb01 f303 mul.w r3, r1, r3 8042df4: 1ad3 subs r3, r2, r3 8042df6: 4a5d ldr r2, [pc, #372] ; (8042f6c ) 8042df8: fba2 1203 umull r1, r2, r2, r3 8042dfc: 0952 lsrs r2, r2, #5 8042dfe: 2164 movs r1, #100 ; 0x64 8042e00: fb01 f202 mul.w r2, r1, r2 8042e04: 1a9a subs r2, r3, r2 8042e06: 4b5a ldr r3, [pc, #360] ; (8042f70 ) 8042e08: fba3 1302 umull r1, r3, r3, r2 8042e0c: 08d9 lsrs r1, r3, #3 8042e0e: 460b mov r3, r1 8042e10: 009b lsls r3, r3, #2 8042e12: 440b add r3, r1 8042e14: 005b lsls r3, r3, #1 8042e16: 1ad1 subs r1, r2, r3 8042e18: b2cb uxtb r3, r1 8042e1a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042e1e: 4b4e ldr r3, [pc, #312] ; (8042f58 ) 8042e20: 781b ldrb r3, [r3, #0] 8042e22: b2db uxtb r3, r3 8042e24: 3b1f subs r3, #31 8042e26: 2b05 cmp r3, #5 8042e28: d869 bhi.n 8042efe 8042e2a: a201 add r2, pc, #4 ; (adr r2, 8042e30 ) 8042e2c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042e30: 08042e49 .word 0x08042e49 8042e34: 08042e69 .word 0x08042e69 8042e38: 08042e8b .word 0x08042e8b 8042e3c: 08042eab .word 0x08042eab 8042e40: 08042ec7 .word 0x08042ec7 8042e44: 08042ee3 .word 0x08042ee3 if(k > 100000) k -= 100000; 8042e48: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042e4c: 4a44 ldr r2, [pc, #272] ; (8042f60 ) 8042e4e: 4293 cmp r3, r2 8042e50: d906 bls.n 8042e60 8042e52: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042e56: 4b47 ldr r3, [pc, #284] ; (8042f74 ) 8042e58: 4413 add r3, r2 8042e5a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042e5e: e04e b.n 8042efe else k = 0; 8042e60: 2300 movs r3, #0 8042e62: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042e66: e04a b.n 8042efe if(k > 10000) k -= 10000; 8042e68: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042e6c: f242 7210 movw r2, #10000 ; 0x2710 8042e70: 4293 cmp r3, r2 8042e72: d906 bls.n 8042e82 8042e74: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042e78: 4b3f ldr r3, [pc, #252] ; (8042f78 ) 8042e7a: 4413 add r3, r2 8042e7c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042e80: e03d b.n 8042efe else k = 0; 8042e82: 2300 movs r3, #0 8042e84: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042e88: e039 b.n 8042efe if(k > 1000) k -= 1000; 8042e8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042e8e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8042e92: d906 bls.n 8042ea2 8042e94: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042e98: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8042e9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ea0: e02d b.n 8042efe else k = 0; 8042ea2: 2300 movs r3, #0 8042ea4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ea8: e029 b.n 8042efe if(k > 100) k -= 100; 8042eaa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042eae: 2b64 cmp r3, #100 ; 0x64 8042eb0: d905 bls.n 8042ebe 8042eb2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042eb6: 3b64 subs r3, #100 ; 0x64 8042eb8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ebc: e01f b.n 8042efe else k = 0; 8042ebe: 2300 movs r3, #0 8042ec0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ec4: e01b b.n 8042efe if(k > 10) k -= 10; 8042ec6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042eca: 2b0a cmp r3, #10 8042ecc: d905 bls.n 8042eda 8042ece: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042ed2: 3b0a subs r3, #10 8042ed4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ed8: e011 b.n 8042efe else k = 0; 8042eda: 2300 movs r3, #0 8042edc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ee0: e00d b.n 8042efe if(k > 1) k -= 1; 8042ee2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042ee6: 2b01 cmp r3, #1 8042ee8: d905 bls.n 8042ef6 8042eea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042eee: 3b01 subs r3, #1 8042ef0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ef4: e002 b.n 8042efc else k = 0; 8042ef6: 2300 movs r3, #0 8042ef8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042efc: bf00 nop fl = (float32_t) k; 8042efe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f02: ee07 3a90 vmov s15, r3 8042f06: eef8 7a67 vcvt.f32.u32 s15, s15 8042f0a: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8042f0e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042f12: ed9f 7a0f vldr s14, [pc, #60] ; 8042f50 8042f16: ee67 7a87 vmul.f32 s15, s15, s14 8042f1a: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8042f1e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042f22: ed9f 7a0c vldr s14, [pc, #48] ; 8042f54 8042f26: ee77 7a87 vadd.f32 s15, s15, s14 8042f2a: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8042f2e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042f32: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8042f36: eef4 7ac7 vcmpe.f32 s15, s14 8042f3a: eef1 fa10 vmrs APSR_nzcv, fpscr 8042f3e: d51f bpl.n 8042f80 pardata.LP = 10.0f; 8042f40: 4b02 ldr r3, [pc, #8] ; (8042f4c ) 8042f42: 4a0e ldr r2, [pc, #56] ; (8042f7c ) 8042f44: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 8042f48: f001 b93f b.w 80441ca 8042f4c: 20023ea8 .word 0x20023ea8 8042f50: 3dcccccd .word 0x3dcccccd 8042f54: 38d1b717 .word 0x38d1b717 8042f58: 20020070 .word 0x20020070 8042f5c: 0a7c5ac5 .word 0x0a7c5ac5 8042f60: 000186a0 .word 0x000186a0 8042f64: d1b71759 .word 0xd1b71759 8042f68: 10624dd3 .word 0x10624dd3 8042f6c: 51eb851f .word 0x51eb851f 8042f70: cccccccd .word 0xcccccccd 8042f74: fffe7960 .word 0xfffe7960 8042f78: ffffd8f0 .word 0xffffd8f0 8042f7c: 41200000 .word 0x41200000 if(pardata.LP < pardata.HP) 8042f80: 4bcf ldr r3, [pc, #828] ; (80432c0 ) 8042f82: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8042f86: 4bce ldr r3, [pc, #824] ; (80432c0 ) 8042f88: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8042f8c: eeb4 7ae7 vcmpe.f32 s14, s15 8042f90: eef1 fa10 vmrs APSR_nzcv, fpscr 8042f94: d507 bpl.n 8042fa6 pardata.LP = pardata.HP; 8042f96: 4bca ldr r3, [pc, #808] ; (80432c0 ) 8042f98: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 8042f9c: 4ac8 ldr r2, [pc, #800] ; (80432c0 ) 8042f9e: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 8042fa2: f001 b912 b.w 80441ca if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8042fa6: 4bc6 ldr r3, [pc, #792] ; (80432c0 ) 8042fa8: 7adb ldrb r3, [r3, #11] 8042faa: b2db uxtb r3, r3 8042fac: 461a mov r2, r3 8042fae: 4bc5 ldr r3, [pc, #788] ; (80432c4 ) 8042fb0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8042fb4: ee07 3a90 vmov s15, r3 8042fb8: eeb8 7a67 vcvt.f32.u32 s14, s15 8042fbc: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 8042fc0: eec7 7a26 vdiv.f32 s15, s14, s13 8042fc4: ed9f 7ac0 vldr s14, [pc, #768] ; 80432c8 8042fc8: ee37 7a87 vadd.f32 s14, s15, s14 8042fcc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042fd0: eeb4 7ae7 vcmpe.f32 s14, s15 8042fd4: eef1 fa10 vmrs APSR_nzcv, fpscr 8042fd8: d517 bpl.n 804300a pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8042fda: 4bb9 ldr r3, [pc, #740] ; (80432c0 ) 8042fdc: 7adb ldrb r3, [r3, #11] 8042fde: b2db uxtb r3, r3 8042fe0: 461a mov r2, r3 8042fe2: 4bb8 ldr r3, [pc, #736] ; (80432c4 ) 8042fe4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8042fe8: 4ab8 ldr r2, [pc, #736] ; (80432cc ) 8042fea: fba2 2303 umull r2, r3, r2, r3 8042fee: 089b lsrs r3, r3, #2 8042ff0: ee07 3a90 vmov s15, r3 8042ff4: eef8 7a67 vcvt.f32.u32 s15, s15 8042ff8: ed9f 7ab5 vldr s14, [pc, #724] ; 80432d0 8042ffc: ee77 7a87 vadd.f32 s15, s15, s14 8043000: 4baf ldr r3, [pc, #700] ; (80432c0 ) 8043002: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8043006: f001 b8e0 b.w 80441ca pardata.LP = (float32_t) k; 804300a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804300e: ee07 3a90 vmov s15, r3 8043012: eef8 7a67 vcvt.f32.u32 s15, s15 8043016: 4baa ldr r3, [pc, #680] ; (80432c0 ) 8043018: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 804301c: 4ba8 ldr r3, [pc, #672] ; (80432c0 ) 804301e: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8043022: ed9f 7aac vldr s14, [pc, #688] ; 80432d4 8043026: ee67 7a87 vmul.f32 s15, s15, s14 804302a: 4ba5 ldr r3, [pc, #660] ; (80432c0 ) 804302c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8043030: 4ba3 ldr r3, [pc, #652] ; (80432c0 ) 8043032: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8043036: ed9f 7aa6 vldr s14, [pc, #664] ; 80432d0 804303a: ee77 7a87 vadd.f32 s15, s15, s14 804303e: 4ba0 ldr r3, [pc, #640] ; (80432c0 ) 8043040: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8043044: f001 b8c1 b.w 80441ca 8043048: f001 b8bf b.w 80441ca case ROUTE_MAP: // KEY_DN focused = false; 804304c: 4ba2 ldr r3, [pc, #648] ; (80432d8 ) 804304e: 2200 movs r2, #0 8043050: 701a strb r2, [r3, #0] if(menupos == RouteMax_ALL) 8043052: 4ba2 ldr r3, [pc, #648] ; (80432dc ) 8043054: 781b ldrb r3, [r3, #0] 8043056: b2db uxtb r3, r3 8043058: 2b06 cmp r3, #6 804305a: d104 bne.n 8043066 menupos = GoMeas; 804305c: 4b9f ldr r3, [pc, #636] ; (80432dc ) 804305e: 2201 movs r2, #1 8043060: 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; 8043062: f001 b8b5 b.w 80441d0 if((menupos >= PrevPoint) && (menupos <= NextPoint)) 8043066: 4b9d ldr r3, [pc, #628] ; (80432dc ) 8043068: 781b ldrb r3, [r3, #0] 804306a: 4b9c ldr r3, [pc, #624] ; (80432dc ) 804306c: 781b ldrb r3, [r3, #0] 804306e: b2db uxtb r3, r3 8043070: 2b02 cmp r3, #2 8043072: d804 bhi.n 804307e menupos = RouteTacho; 8043074: 4b99 ldr r3, [pc, #612] ; (80432dc ) 8043076: 2203 movs r2, #3 8043078: 701a strb r2, [r3, #0] break; 804307a: f001 b8a9 b.w 80441d0 if(menupos == RouteTacho) 804307e: 4b97 ldr r3, [pc, #604] ; (80432dc ) 8043080: 781b ldrb r3, [r3, #0] 8043082: b2db uxtb r3, r3 8043084: 2b03 cmp r3, #3 8043086: d104 bne.n 8043092 menupos = RouteTime; 8043088: 4b94 ldr r3, [pc, #592] ; (80432dc ) 804308a: 2204 movs r2, #4 804308c: 701a strb r2, [r3, #0] break; 804308e: f001 b89f b.w 80441d0 if(menupos == RouteTime) 8043092: 4b92 ldr r3, [pc, #584] ; (80432dc ) 8043094: 781b ldrb r3, [r3, #0] 8043096: b2db uxtb r3, r3 8043098: 2b04 cmp r3, #4 804309a: d104 bne.n 80430a6 menupos = RouteAutoKu; 804309c: 4b8f ldr r3, [pc, #572] ; (80432dc ) 804309e: 2205 movs r2, #5 80430a0: 701a strb r2, [r3, #0] break; 80430a2: f001 b895 b.w 80441d0 if(menupos == RouteAutoKu) 80430a6: 4b8d ldr r3, [pc, #564] ; (80432dc ) 80430a8: 781b ldrb r3, [r3, #0] 80430aa: b2db uxtb r3, r3 80430ac: 2b05 cmp r3, #5 80430ae: d110 bne.n 80430d2 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80430b0: 4b83 ldr r3, [pc, #524] ; (80432c0 ) 80430b2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80430b6: f003 0304 and.w r3, r3, #4 80430ba: 2b00 cmp r3, #0 80430bc: d104 bne.n 80430c8 menupos = RouteMax_ALL; 80430be: 4b87 ldr r3, [pc, #540] ; (80432dc ) 80430c0: 2206 movs r2, #6 80430c2: 701a strb r2, [r3, #0] break; 80430c4: f001 b884 b.w 80441d0 else menupos = GoMeas; 80430c8: 4b84 ldr r3, [pc, #528] ; (80432dc ) 80430ca: 2201 movs r2, #1 80430cc: 701a strb r2, [r3, #0] break; 80430ce: f001 b87f b.w 80441d0 if((menupos >= RouteMax_IDT) && (menupos <= RouteMax_IKD)) 80430d2: 4b82 ldr r3, [pc, #520] ; (80432dc ) 80430d4: 781b ldrb r3, [r3, #0] 80430d6: b2db uxtb r3, r3 80430d8: 2b06 cmp r3, #6 80430da: f241 8079 bls.w 80441d0 80430de: 4b7f ldr r3, [pc, #508] ; (80432dc ) 80430e0: 781b ldrb r3, [r3, #0] 80430e2: b2db uxtb r3, r3 80430e4: 2b0c cmp r3, #12 80430e6: f201 8073 bhi.w 80441d0 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80430ea: 4b75 ldr r3, [pc, #468] ; (80432c0 ) 80430ec: edd3 7a06 vldr s15, [r3, #24] 80430f0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80430f4: ee67 7a87 vmul.f32 s15, s15, s14 80430f8: eefc 7ae7 vcvt.u32.f32 s15, s15 80430fc: ee17 3a90 vmov r3, s15 8043100: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8043104: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043108: 095b lsrs r3, r3, #5 804310a: 4a75 ldr r2, [pc, #468] ; (80432e0 ) 804310c: fba2 2303 umull r2, r3, r2, r3 8043110: 09db lsrs r3, r3, #7 8043112: b2db uxtb r3, r3 8043114: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8043118: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804311c: 0953 lsrs r3, r2, #5 804311e: 4970 ldr r1, [pc, #448] ; (80432e0 ) 8043120: fba1 1303 umull r1, r3, r1, r3 8043124: 09db lsrs r3, r3, #7 8043126: 496f ldr r1, [pc, #444] ; (80432e4 ) 8043128: fb01 f303 mul.w r3, r1, r3 804312c: 1ad3 subs r3, r2, r3 804312e: 4a6e ldr r2, [pc, #440] ; (80432e8 ) 8043130: fba2 2303 umull r2, r3, r2, r3 8043134: 0b5b lsrs r3, r3, #13 8043136: b2db uxtb r3, r3 8043138: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 804313c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043140: 0953 lsrs r3, r2, #5 8043142: 4967 ldr r1, [pc, #412] ; (80432e0 ) 8043144: fba1 1303 umull r1, r3, r1, r3 8043148: 09db lsrs r3, r3, #7 804314a: 4966 ldr r1, [pc, #408] ; (80432e4 ) 804314c: fb01 f303 mul.w r3, r1, r3 8043150: 1ad3 subs r3, r2, r3 8043152: 4a65 ldr r2, [pc, #404] ; (80432e8 ) 8043154: fba2 1203 umull r1, r2, r2, r3 8043158: 0b52 lsrs r2, r2, #13 804315a: f242 7110 movw r1, #10000 ; 0x2710 804315e: fb01 f202 mul.w r2, r1, r2 8043162: 1a9a subs r2, r3, r2 8043164: 4b61 ldr r3, [pc, #388] ; (80432ec ) 8043166: fba3 2302 umull r2, r3, r3, r2 804316a: 099b lsrs r3, r3, #6 804316c: b2db uxtb r3, r3 804316e: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8043172: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043176: 095a lsrs r2, r3, #5 8043178: 4959 ldr r1, [pc, #356] ; (80432e0 ) 804317a: fba1 1202 umull r1, r2, r1, r2 804317e: 09d2 lsrs r2, r2, #7 8043180: 4958 ldr r1, [pc, #352] ; (80432e4 ) 8043182: fb01 f202 mul.w r2, r1, r2 8043186: 1a9a subs r2, r3, r2 8043188: 4b57 ldr r3, [pc, #348] ; (80432e8 ) 804318a: fba3 1302 umull r1, r3, r3, r2 804318e: 0b5b lsrs r3, r3, #13 8043190: f242 7110 movw r1, #10000 ; 0x2710 8043194: fb01 f303 mul.w r3, r1, r3 8043198: 1ad3 subs r3, r2, r3 804319a: 4a54 ldr r2, [pc, #336] ; (80432ec ) 804319c: fba2 1203 umull r1, r2, r2, r3 80431a0: 0992 lsrs r2, r2, #6 80431a2: f44f 717a mov.w r1, #1000 ; 0x3e8 80431a6: fb01 f202 mul.w r2, r1, r2 80431aa: 1a9a subs r2, r3, r2 80431ac: 4b50 ldr r3, [pc, #320] ; (80432f0 ) 80431ae: fba3 2302 umull r2, r3, r3, r2 80431b2: 095b lsrs r3, r3, #5 80431b4: b2db uxtb r3, r3 80431b6: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80431ba: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80431be: 0953 lsrs r3, r2, #5 80431c0: 4947 ldr r1, [pc, #284] ; (80432e0 ) 80431c2: fba1 1303 umull r1, r3, r1, r3 80431c6: 09db lsrs r3, r3, #7 80431c8: 4946 ldr r1, [pc, #280] ; (80432e4 ) 80431ca: fb01 f303 mul.w r3, r1, r3 80431ce: 1ad3 subs r3, r2, r3 80431d0: 4a45 ldr r2, [pc, #276] ; (80432e8 ) 80431d2: fba2 1203 umull r1, r2, r2, r3 80431d6: 0b52 lsrs r2, r2, #13 80431d8: f242 7110 movw r1, #10000 ; 0x2710 80431dc: fb01 f202 mul.w r2, r1, r2 80431e0: 1a9a subs r2, r3, r2 80431e2: 4b42 ldr r3, [pc, #264] ; (80432ec ) 80431e4: fba3 1302 umull r1, r3, r3, r2 80431e8: 099b lsrs r3, r3, #6 80431ea: f44f 717a mov.w r1, #1000 ; 0x3e8 80431ee: fb01 f303 mul.w r3, r1, r3 80431f2: 1ad3 subs r3, r2, r3 80431f4: 4a3e ldr r2, [pc, #248] ; (80432f0 ) 80431f6: fba2 1203 umull r1, r2, r2, r3 80431fa: 0952 lsrs r2, r2, #5 80431fc: 2164 movs r1, #100 ; 0x64 80431fe: fb01 f202 mul.w r2, r1, r2 8043202: 1a9a subs r2, r3, r2 8043204: 4b31 ldr r3, [pc, #196] ; (80432cc ) 8043206: fba3 2302 umull r2, r3, r3, r2 804320a: 08db lsrs r3, r3, #3 804320c: b2db uxtb r3, r3 804320e: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8043212: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043216: 0953 lsrs r3, r2, #5 8043218: 4931 ldr r1, [pc, #196] ; (80432e0 ) 804321a: fba1 1303 umull r1, r3, r1, r3 804321e: 09db lsrs r3, r3, #7 8043220: 4930 ldr r1, [pc, #192] ; (80432e4 ) 8043222: fb01 f303 mul.w r3, r1, r3 8043226: 1ad3 subs r3, r2, r3 8043228: 4a2f ldr r2, [pc, #188] ; (80432e8 ) 804322a: fba2 1203 umull r1, r2, r2, r3 804322e: 0b52 lsrs r2, r2, #13 8043230: f242 7110 movw r1, #10000 ; 0x2710 8043234: fb01 f202 mul.w r2, r1, r2 8043238: 1a9a subs r2, r3, r2 804323a: 4b2c ldr r3, [pc, #176] ; (80432ec ) 804323c: fba3 1302 umull r1, r3, r3, r2 8043240: 099b lsrs r3, r3, #6 8043242: f44f 717a mov.w r1, #1000 ; 0x3e8 8043246: fb01 f303 mul.w r3, r1, r3 804324a: 1ad3 subs r3, r2, r3 804324c: 4a28 ldr r2, [pc, #160] ; (80432f0 ) 804324e: fba2 1203 umull r1, r2, r2, r3 8043252: 0952 lsrs r2, r2, #5 8043254: 2164 movs r1, #100 ; 0x64 8043256: fb01 f202 mul.w r2, r1, r2 804325a: 1a9a subs r2, r3, r2 804325c: 4b1b ldr r3, [pc, #108] ; (80432cc ) 804325e: fba3 1302 umull r1, r3, r3, r2 8043262: 08d9 lsrs r1, r3, #3 8043264: 460b mov r3, r1 8043266: 009b lsls r3, r3, #2 8043268: 440b add r3, r1 804326a: 005b lsls r3, r3, #1 804326c: 1ad1 subs r1, r2, r3 804326e: b2cb uxtb r3, r1 8043270: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8043274: 4b19 ldr r3, [pc, #100] ; (80432dc ) 8043276: 781b ldrb r3, [r3, #0] 8043278: b2db uxtb r3, r3 804327a: 3b07 subs r3, #7 804327c: 2b05 cmp r3, #5 804327e: f200 8086 bhi.w 804338e 8043282: a201 add r2, pc, #4 ; (adr r2, 8043288 ) 8043284: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8043288: 080432a1 .word 0x080432a1 804328c: 080432f9 .word 0x080432f9 8043290: 0804331b .word 0x0804331b 8043294: 0804333b .word 0x0804333b 8043298: 08043357 .word 0x08043357 804329c: 08043373 .word 0x08043373 if(k > 100000) k -= 100000; 80432a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80432a4: 4a0f ldr r2, [pc, #60] ; (80432e4 ) 80432a6: 4293 cmp r3, r2 80432a8: d906 bls.n 80432b8 80432aa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80432ae: 4b11 ldr r3, [pc, #68] ; (80432f4 ) 80432b0: 4413 add r3, r2 80432b2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80432b6: e06a b.n 804338e else k = 0; 80432b8: 2300 movs r3, #0 80432ba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80432be: e066 b.n 804338e 80432c0: 20023ea8 .word 0x20023ea8 80432c4: 080f2c08 .word 0x080f2c08 80432c8: 3851b717 .word 0x3851b717 80432cc: cccccccd .word 0xcccccccd 80432d0: 38d1b717 .word 0x38d1b717 80432d4: 3dcccccd .word 0x3dcccccd 80432d8: 20020fc8 .word 0x20020fc8 80432dc: 20020070 .word 0x20020070 80432e0: 0a7c5ac5 .word 0x0a7c5ac5 80432e4: 000186a0 .word 0x000186a0 80432e8: d1b71759 .word 0xd1b71759 80432ec: 10624dd3 .word 0x10624dd3 80432f0: 51eb851f .word 0x51eb851f 80432f4: fffe7960 .word 0xfffe7960 if(k > 10000) k -= 10000; 80432f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80432fc: f242 7210 movw r2, #10000 ; 0x2710 8043300: 4293 cmp r3, r2 8043302: d906 bls.n 8043312 8043304: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043308: 4b69 ldr r3, [pc, #420] ; (80434b0 ) 804330a: 4413 add r3, r2 804330c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043310: e03d b.n 804338e else k = 0; 8043312: 2300 movs r3, #0 8043314: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043318: e039 b.n 804338e if(k > 1000) k -= 1000; 804331a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804331e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8043322: d906 bls.n 8043332 8043324: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043328: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804332c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043330: e02d b.n 804338e else k = 0; 8043332: 2300 movs r3, #0 8043334: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043338: e029 b.n 804338e if(k > 100) k -= 100; 804333a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804333e: 2b64 cmp r3, #100 ; 0x64 8043340: d905 bls.n 804334e 8043342: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043346: 3b64 subs r3, #100 ; 0x64 8043348: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804334c: e01f b.n 804338e else k = 0; 804334e: 2300 movs r3, #0 8043350: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043354: e01b b.n 804338e if(k > 10) k -= 10; 8043356: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804335a: 2b0a cmp r3, #10 804335c: d905 bls.n 804336a 804335e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043362: 3b0a subs r3, #10 8043364: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043368: e011 b.n 804338e else k = 0; 804336a: 2300 movs r3, #0 804336c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043370: e00d b.n 804338e if(k > 1) k -= 1; 8043372: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043376: 2b01 cmp r3, #1 8043378: d905 bls.n 8043386 804337a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804337e: 3b01 subs r3, #1 8043380: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043384: e002 b.n 804338c else k = 0; 8043386: 2300 movs r3, #0 8043388: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804338c: bf00 nop if(k == 0) k = 1; 804338e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043392: 2b00 cmp r3, #0 8043394: d102 bne.n 804339c 8043396: 2301 movs r3, #1 8043398: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 804339c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80433a0: ee07 3a90 vmov s15, r3 80433a4: eef8 7a67 vcvt.f32.u32 s15, s15 80433a8: 4b42 ldr r3, [pc, #264] ; (80434b4 ) 80433aa: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 80433ae: 4b41 ldr r3, [pc, #260] ; (80434b4 ) 80433b0: edd3 7a06 vldr s15, [r3, #24] 80433b4: ed9f 7a40 vldr s14, [pc, #256] ; 80434b8 80433b8: ee67 7a87 vmul.f32 s15, s15, s14 80433bc: 4b3d ldr r3, [pc, #244] ; (80434b4 ) 80433be: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80433c2: 4b3c ldr r3, [pc, #240] ; (80434b4 ) 80433c4: edd3 7a06 vldr s15, [r3, #24] 80433c8: ed9f 7a3c vldr s14, [pc, #240] ; 80434bc 80433cc: ee77 7a87 vadd.f32 s15, s15, s14 80433d0: 4b38 ldr r3, [pc, #224] ; (80434b4 ) 80433d2: edc3 7a06 vstr s15, [r3, #24] break; 80433d6: f000 befb b.w 80441d0 case PARAM_WAVE: // KEY_DN focused = false; 80433da: 4b39 ldr r3, [pc, #228] ; (80434c0 ) 80433dc: 2200 movs r2, #0 80433de: 701a strb r2, [r3, #0] if(menupos == Ok) 80433e0: 4b38 ldr r3, [pc, #224] ; (80434c4 ) 80433e2: 781b ldrb r3, [r3, #0] 80433e4: b2db uxtb r3, r3 80433e6: 2b00 cmp r3, #0 80433e8: d104 bne.n 80433f4 { #ifndef USE_D101 menupos = WaveTacho; 80433ea: 4b36 ldr r3, [pc, #216] ; (80434c4 ) 80433ec: 2203 movs r2, #3 80433ee: 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; 80433f0: f000 bef1 b.w 80441d6 if(menupos == WaveTacho) 80433f4: 4b33 ldr r3, [pc, #204] ; (80434c4 ) 80433f6: 781b ldrb r3, [r3, #0] 80433f8: b2db uxtb r3, r3 80433fa: 2b03 cmp r3, #3 80433fc: d104 bne.n 8043408 menupos = WaveName; 80433fe: 4b31 ldr r3, [pc, #196] ; (80434c4 ) 8043400: 2204 movs r2, #4 8043402: 701a strb r2, [r3, #0] break; 8043404: f000 bee7 b.w 80441d6 if(menupos == WaveName) 8043408: 4b2e ldr r3, [pc, #184] ; (80434c4 ) 804340a: 781b ldrb r3, [r3, #0] 804340c: b2db uxtb r3, r3 804340e: 2b04 cmp r3, #4 8043410: d104 bne.n 804341c menupos = WaveTime; 8043412: 4b2c ldr r3, [pc, #176] ; (80434c4 ) 8043414: 2205 movs r2, #5 8043416: 701a strb r2, [r3, #0] break; 8043418: f000 bedd b.w 80441d6 if(menupos == WaveTime) 804341c: 4b29 ldr r3, [pc, #164] ; (80434c4 ) 804341e: 781b ldrb r3, [r3, #0] 8043420: b2db uxtb r3, r3 8043422: 2b05 cmp r3, #5 8043424: d104 bne.n 8043430 menupos = WaveAutoKu; 8043426: 4b27 ldr r3, [pc, #156] ; (80434c4 ) 8043428: 2206 movs r2, #6 804342a: 701a strb r2, [r3, #0] break; 804342c: f000 bed3 b.w 80441d6 if(menupos == WaveAutoKu) 8043430: 4b24 ldr r3, [pc, #144] ; (80434c4 ) 8043432: 781b ldrb r3, [r3, #0] 8043434: b2db uxtb r3, r3 8043436: 2b06 cmp r3, #6 8043438: d110 bne.n 804345c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 804343a: 4b1e ldr r3, [pc, #120] ; (80434b4 ) 804343c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8043440: f003 0304 and.w r3, r3, #4 8043444: 2b00 cmp r3, #0 8043446: d104 bne.n 8043452 menupos = WaveMax_ALL; 8043448: 4b1e ldr r3, [pc, #120] ; (80434c4 ) 804344a: 2207 movs r2, #7 804344c: 701a strb r2, [r3, #0] break; 804344e: f000 bec2 b.w 80441d6 else menupos = WaveThr; 8043452: 4b1c ldr r3, [pc, #112] ; (80434c4 ) 8043454: 2208 movs r2, #8 8043456: 701a strb r2, [r3, #0] break; 8043458: f000 bebd b.w 80441d6 if(menupos == WaveMax_ALL) 804345c: 4b19 ldr r3, [pc, #100] ; (80434c4 ) 804345e: 781b ldrb r3, [r3, #0] 8043460: b2db uxtb r3, r3 8043462: 2b07 cmp r3, #7 8043464: d104 bne.n 8043470 menupos = WaveThr; 8043466: 4b17 ldr r3, [pc, #92] ; (80434c4 ) 8043468: 2208 movs r2, #8 804346a: 701a strb r2, [r3, #0] break; 804346c: f000 beb3 b.w 80441d6 if(menupos == WaveThr) 8043470: 4b14 ldr r3, [pc, #80] ; (80434c4 ) 8043472: 781b ldrb r3, [r3, #0] 8043474: b2db uxtb r3, r3 8043476: 2b08 cmp r3, #8 8043478: d10f bne.n 804349a if(pardata.THR & 0x80) 804347a: 4b0e ldr r3, [pc, #56] ; (80434b4 ) 804347c: 7bdb ldrb r3, [r3, #15] 804347e: b2db uxtb r3, r3 8043480: b25b sxtb r3, r3 8043482: 2b00 cmp r3, #0 8043484: da04 bge.n 8043490 menupos = WaveThr_ALL; 8043486: 4b0f ldr r3, [pc, #60] ; (80434c4 ) 8043488: 2209 movs r2, #9 804348a: 701a strb r2, [r3, #0] break; 804348c: f000 bea3 b.w 80441d6 else menupos = Ok; 8043490: 4b0c ldr r3, [pc, #48] ; (80434c4 ) 8043492: 2200 movs r2, #0 8043494: 701a strb r2, [r3, #0] break; 8043496: f000 be9e b.w 80441d6 if(menupos == WaveThr_ALL) 804349a: 4b0a ldr r3, [pc, #40] ; (80434c4 ) 804349c: 781b ldrb r3, [r3, #0] 804349e: b2db uxtb r3, r3 80434a0: 2b09 cmp r3, #9 80434a2: d111 bne.n 80434c8 menupos = Ok; 80434a4: 4b07 ldr r3, [pc, #28] ; (80434c4 ) 80434a6: 2200 movs r2, #0 80434a8: 701a strb r2, [r3, #0] break; 80434aa: f000 be94 b.w 80441d6 80434ae: bf00 nop 80434b0: ffffd8f0 .word 0xffffd8f0 80434b4: 20023ea8 .word 0x20023ea8 80434b8: 3dcccccd .word 0x3dcccccd 80434bc: 3d4ccccd .word 0x3d4ccccd 80434c0: 20020fc8 .word 0x20020fc8 80434c4: 20020070 .word 0x20020070 if((menupos >= WaveThr_IDT) && (menupos <= WaveThr_IKD)) 80434c8: 4bb3 ldr r3, [pc, #716] ; (8043798 ) 80434ca: 781b ldrb r3, [r3, #0] 80434cc: b2db uxtb r3, r3 80434ce: 2b0f cmp r3, #15 80434d0: f240 817a bls.w 80437c8 80434d4: 4bb0 ldr r3, [pc, #704] ; (8043798 ) 80434d6: 781b ldrb r3, [r3, #0] 80434d8: b2db uxtb r3, r3 80434da: 2b15 cmp r3, #21 80434dc: f200 8174 bhi.w 80437c8 k = (uint32_t) (pardata.THR_VAL * 10.0f); 80434e0: 4bae ldr r3, [pc, #696] ; (804379c ) 80434e2: edd3 7a05 vldr s15, [r3, #20] 80434e6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80434ea: ee67 7a87 vmul.f32 s15, s15, s14 80434ee: eefc 7ae7 vcvt.u32.f32 s15, s15 80434f2: ee17 3a90 vmov r3, s15 80434f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80434fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80434fe: 095b lsrs r3, r3, #5 8043500: 4aa7 ldr r2, [pc, #668] ; (80437a0 ) 8043502: fba2 2303 umull r2, r3, r2, r3 8043506: 09db lsrs r3, r3, #7 8043508: b2db uxtb r3, r3 804350a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804350e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043512: 0953 lsrs r3, r2, #5 8043514: 49a2 ldr r1, [pc, #648] ; (80437a0 ) 8043516: fba1 1303 umull r1, r3, r1, r3 804351a: 09db lsrs r3, r3, #7 804351c: 49a1 ldr r1, [pc, #644] ; (80437a4 ) 804351e: fb01 f303 mul.w r3, r1, r3 8043522: 1ad3 subs r3, r2, r3 8043524: 4aa0 ldr r2, [pc, #640] ; (80437a8 ) 8043526: fba2 2303 umull r2, r3, r2, r3 804352a: 0b5b lsrs r3, r3, #13 804352c: b2db uxtb r3, r3 804352e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8043532: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043536: 0953 lsrs r3, r2, #5 8043538: 4999 ldr r1, [pc, #612] ; (80437a0 ) 804353a: fba1 1303 umull r1, r3, r1, r3 804353e: 09db lsrs r3, r3, #7 8043540: 4998 ldr r1, [pc, #608] ; (80437a4 ) 8043542: fb01 f303 mul.w r3, r1, r3 8043546: 1ad3 subs r3, r2, r3 8043548: 4a97 ldr r2, [pc, #604] ; (80437a8 ) 804354a: fba2 1203 umull r1, r2, r2, r3 804354e: 0b52 lsrs r2, r2, #13 8043550: f242 7110 movw r1, #10000 ; 0x2710 8043554: fb01 f202 mul.w r2, r1, r2 8043558: 1a9a subs r2, r3, r2 804355a: 4b94 ldr r3, [pc, #592] ; (80437ac ) 804355c: fba3 2302 umull r2, r3, r3, r2 8043560: 099b lsrs r3, r3, #6 8043562: b2db uxtb r3, r3 8043564: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8043568: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804356c: 095a lsrs r2, r3, #5 804356e: 498c ldr r1, [pc, #560] ; (80437a0 ) 8043570: fba1 1202 umull r1, r2, r1, r2 8043574: 09d2 lsrs r2, r2, #7 8043576: 498b ldr r1, [pc, #556] ; (80437a4 ) 8043578: fb01 f202 mul.w r2, r1, r2 804357c: 1a9a subs r2, r3, r2 804357e: 4b8a ldr r3, [pc, #552] ; (80437a8 ) 8043580: fba3 1302 umull r1, r3, r3, r2 8043584: 0b5b lsrs r3, r3, #13 8043586: f242 7110 movw r1, #10000 ; 0x2710 804358a: fb01 f303 mul.w r3, r1, r3 804358e: 1ad3 subs r3, r2, r3 8043590: 4a86 ldr r2, [pc, #536] ; (80437ac ) 8043592: fba2 1203 umull r1, r2, r2, r3 8043596: 0992 lsrs r2, r2, #6 8043598: f44f 717a mov.w r1, #1000 ; 0x3e8 804359c: fb01 f202 mul.w r2, r1, r2 80435a0: 1a9a subs r2, r3, r2 80435a2: 4b83 ldr r3, [pc, #524] ; (80437b0 ) 80435a4: fba3 2302 umull r2, r3, r3, r2 80435a8: 095b lsrs r3, r3, #5 80435aa: b2db uxtb r3, r3 80435ac: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80435b0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80435b4: 0953 lsrs r3, r2, #5 80435b6: 497a ldr r1, [pc, #488] ; (80437a0 ) 80435b8: fba1 1303 umull r1, r3, r1, r3 80435bc: 09db lsrs r3, r3, #7 80435be: 4979 ldr r1, [pc, #484] ; (80437a4 ) 80435c0: fb01 f303 mul.w r3, r1, r3 80435c4: 1ad3 subs r3, r2, r3 80435c6: 4a78 ldr r2, [pc, #480] ; (80437a8 ) 80435c8: fba2 1203 umull r1, r2, r2, r3 80435cc: 0b52 lsrs r2, r2, #13 80435ce: f242 7110 movw r1, #10000 ; 0x2710 80435d2: fb01 f202 mul.w r2, r1, r2 80435d6: 1a9a subs r2, r3, r2 80435d8: 4b74 ldr r3, [pc, #464] ; (80437ac ) 80435da: fba3 1302 umull r1, r3, r3, r2 80435de: 099b lsrs r3, r3, #6 80435e0: f44f 717a mov.w r1, #1000 ; 0x3e8 80435e4: fb01 f303 mul.w r3, r1, r3 80435e8: 1ad3 subs r3, r2, r3 80435ea: 4a71 ldr r2, [pc, #452] ; (80437b0 ) 80435ec: fba2 1203 umull r1, r2, r2, r3 80435f0: 0952 lsrs r2, r2, #5 80435f2: 2164 movs r1, #100 ; 0x64 80435f4: fb01 f202 mul.w r2, r1, r2 80435f8: 1a9a subs r2, r3, r2 80435fa: 4b6e ldr r3, [pc, #440] ; (80437b4 ) 80435fc: fba3 2302 umull r2, r3, r3, r2 8043600: 08db lsrs r3, r3, #3 8043602: b2db uxtb r3, r3 8043604: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8043608: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804360c: 0953 lsrs r3, r2, #5 804360e: 4964 ldr r1, [pc, #400] ; (80437a0 ) 8043610: fba1 1303 umull r1, r3, r1, r3 8043614: 09db lsrs r3, r3, #7 8043616: 4963 ldr r1, [pc, #396] ; (80437a4 ) 8043618: fb01 f303 mul.w r3, r1, r3 804361c: 1ad3 subs r3, r2, r3 804361e: 4a62 ldr r2, [pc, #392] ; (80437a8 ) 8043620: fba2 1203 umull r1, r2, r2, r3 8043624: 0b52 lsrs r2, r2, #13 8043626: f242 7110 movw r1, #10000 ; 0x2710 804362a: fb01 f202 mul.w r2, r1, r2 804362e: 1a9a subs r2, r3, r2 8043630: 4b5e ldr r3, [pc, #376] ; (80437ac ) 8043632: fba3 1302 umull r1, r3, r3, r2 8043636: 099b lsrs r3, r3, #6 8043638: f44f 717a mov.w r1, #1000 ; 0x3e8 804363c: fb01 f303 mul.w r3, r1, r3 8043640: 1ad3 subs r3, r2, r3 8043642: 4a5b ldr r2, [pc, #364] ; (80437b0 ) 8043644: fba2 1203 umull r1, r2, r2, r3 8043648: 0952 lsrs r2, r2, #5 804364a: 2164 movs r1, #100 ; 0x64 804364c: fb01 f202 mul.w r2, r1, r2 8043650: 1a9a subs r2, r3, r2 8043652: 4b58 ldr r3, [pc, #352] ; (80437b4 ) 8043654: fba3 1302 umull r1, r3, r3, r2 8043658: 08d9 lsrs r1, r3, #3 804365a: 460b mov r3, r1 804365c: 009b lsls r3, r3, #2 804365e: 440b add r3, r1 8043660: 005b lsls r3, r3, #1 8043662: 1ad1 subs r1, r2, r3 8043664: b2cb uxtb r3, r1 8043666: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 804366a: 4b4b ldr r3, [pc, #300] ; (8043798 ) 804366c: 781b ldrb r3, [r3, #0] 804366e: b2db uxtb r3, r3 8043670: 3b10 subs r3, #16 8043672: 2b05 cmp r3, #5 8043674: d869 bhi.n 804374a 8043676: a201 add r2, pc, #4 ; (adr r2, 804367c ) 8043678: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804367c: 08043695 .word 0x08043695 8043680: 080436b5 .word 0x080436b5 8043684: 080436d7 .word 0x080436d7 8043688: 080436f7 .word 0x080436f7 804368c: 08043713 .word 0x08043713 8043690: 0804372f .word 0x0804372f if(k > 100000) k -= 100000; 8043694: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043698: 4a42 ldr r2, [pc, #264] ; (80437a4 ) 804369a: 4293 cmp r3, r2 804369c: d906 bls.n 80436ac 804369e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80436a2: 4b45 ldr r3, [pc, #276] ; (80437b8 ) 80436a4: 4413 add r3, r2 80436a6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80436aa: e04e b.n 804374a else k = 0; 80436ac: 2300 movs r3, #0 80436ae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80436b2: e04a b.n 804374a if(k > 10000) k -= 10000; 80436b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80436b8: f242 7210 movw r2, #10000 ; 0x2710 80436bc: 4293 cmp r3, r2 80436be: d906 bls.n 80436ce 80436c0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80436c4: 4b3d ldr r3, [pc, #244] ; (80437bc ) 80436c6: 4413 add r3, r2 80436c8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80436cc: e03d b.n 804374a else k = 0; 80436ce: 2300 movs r3, #0 80436d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80436d4: e039 b.n 804374a if(k > 1000) k -= 1000; 80436d6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80436da: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80436de: d906 bls.n 80436ee 80436e0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80436e4: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 80436e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80436ec: e02d b.n 804374a else k = 0; 80436ee: 2300 movs r3, #0 80436f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80436f4: e029 b.n 804374a if(k > 100) k -= 100; 80436f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80436fa: 2b64 cmp r3, #100 ; 0x64 80436fc: d905 bls.n 804370a 80436fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043702: 3b64 subs r3, #100 ; 0x64 8043704: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043708: e01f b.n 804374a else k = 0; 804370a: 2300 movs r3, #0 804370c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043710: e01b b.n 804374a if(k > 10) k -= 10; 8043712: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043716: 2b0a cmp r3, #10 8043718: d905 bls.n 8043726 804371a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804371e: 3b0a subs r3, #10 8043720: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043724: e011 b.n 804374a else k = 0; 8043726: 2300 movs r3, #0 8043728: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804372c: e00d b.n 804374a if(k > 1) k -= 1; 804372e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043732: 2b01 cmp r3, #1 8043734: d905 bls.n 8043742 8043736: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804373a: 3b01 subs r3, #1 804373c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043740: e002 b.n 8043748 else k = 0; 8043742: 2300 movs r3, #0 8043744: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043748: bf00 nop if(k == 0) k = 1; 804374a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804374e: 2b00 cmp r3, #0 8043750: d102 bne.n 8043758 8043752: 2301 movs r3, #1 8043754: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 8043758: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804375c: ee07 3a90 vmov s15, r3 8043760: eef8 7a67 vcvt.f32.u32 s15, s15 8043764: 4b0d ldr r3, [pc, #52] ; (804379c ) 8043766: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 804376a: 4b0c ldr r3, [pc, #48] ; (804379c ) 804376c: edd3 7a05 vldr s15, [r3, #20] 8043770: ed9f 7a13 vldr s14, [pc, #76] ; 80437c0 8043774: ee67 7a87 vmul.f32 s15, s15, s14 8043778: 4b08 ldr r3, [pc, #32] ; (804379c ) 804377a: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 804377e: 4b07 ldr r3, [pc, #28] ; (804379c ) 8043780: edd3 7a05 vldr s15, [r3, #20] 8043784: ed9f 7a0f vldr s14, [pc, #60] ; 80437c4 8043788: ee77 7a87 vadd.f32 s15, s15, s14 804378c: 4b03 ldr r3, [pc, #12] ; (804379c ) 804378e: edc3 7a05 vstr s15, [r3, #20] break; 8043792: f000 bd20 b.w 80441d6 8043796: bf00 nop 8043798: 20020070 .word 0x20020070 804379c: 20023ea8 .word 0x20023ea8 80437a0: 0a7c5ac5 .word 0x0a7c5ac5 80437a4: 000186a0 .word 0x000186a0 80437a8: d1b71759 .word 0xd1b71759 80437ac: 10624dd3 .word 0x10624dd3 80437b0: 51eb851f .word 0x51eb851f 80437b4: cccccccd .word 0xcccccccd 80437b8: fffe7960 .word 0xfffe7960 80437bc: ffffd8f0 .word 0xffffd8f0 80437c0: 3dcccccd .word 0x3dcccccd 80437c4: 3d4ccccd .word 0x3d4ccccd if((menupos >= WaveMax_IDT) && (menupos <= WaveMax_IKD)) 80437c8: 4bb2 ldr r3, [pc, #712] ; (8043a94 ) 80437ca: 781b ldrb r3, [r3, #0] 80437cc: b2db uxtb r3, r3 80437ce: 2b09 cmp r3, #9 80437d0: f240 8501 bls.w 80441d6 80437d4: 4baf ldr r3, [pc, #700] ; (8043a94 ) 80437d6: 781b ldrb r3, [r3, #0] 80437d8: b2db uxtb r3, r3 80437da: 2b0f cmp r3, #15 80437dc: f200 84fb bhi.w 80441d6 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80437e0: 4bad ldr r3, [pc, #692] ; (8043a98 ) 80437e2: edd3 7a06 vldr s15, [r3, #24] 80437e6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80437ea: ee67 7a87 vmul.f32 s15, s15, s14 80437ee: eefc 7ae7 vcvt.u32.f32 s15, s15 80437f2: ee17 3a90 vmov r3, s15 80437f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80437fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80437fe: 095b lsrs r3, r3, #5 8043800: 4aa6 ldr r2, [pc, #664] ; (8043a9c ) 8043802: fba2 2303 umull r2, r3, r2, r3 8043806: 09db lsrs r3, r3, #7 8043808: b2db uxtb r3, r3 804380a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804380e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043812: 0953 lsrs r3, r2, #5 8043814: 49a1 ldr r1, [pc, #644] ; (8043a9c ) 8043816: fba1 1303 umull r1, r3, r1, r3 804381a: 09db lsrs r3, r3, #7 804381c: 49a0 ldr r1, [pc, #640] ; (8043aa0 ) 804381e: fb01 f303 mul.w r3, r1, r3 8043822: 1ad3 subs r3, r2, r3 8043824: 4a9f ldr r2, [pc, #636] ; (8043aa4 ) 8043826: fba2 2303 umull r2, r3, r2, r3 804382a: 0b5b lsrs r3, r3, #13 804382c: b2db uxtb r3, r3 804382e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8043832: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043836: 0953 lsrs r3, r2, #5 8043838: 4998 ldr r1, [pc, #608] ; (8043a9c ) 804383a: fba1 1303 umull r1, r3, r1, r3 804383e: 09db lsrs r3, r3, #7 8043840: 4997 ldr r1, [pc, #604] ; (8043aa0 ) 8043842: fb01 f303 mul.w r3, r1, r3 8043846: 1ad3 subs r3, r2, r3 8043848: 4a96 ldr r2, [pc, #600] ; (8043aa4 ) 804384a: fba2 1203 umull r1, r2, r2, r3 804384e: 0b52 lsrs r2, r2, #13 8043850: f242 7110 movw r1, #10000 ; 0x2710 8043854: fb01 f202 mul.w r2, r1, r2 8043858: 1a9a subs r2, r3, r2 804385a: 4b93 ldr r3, [pc, #588] ; (8043aa8 ) 804385c: fba3 2302 umull r2, r3, r3, r2 8043860: 099b lsrs r3, r3, #6 8043862: b2db uxtb r3, r3 8043864: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8043868: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804386c: 095a lsrs r2, r3, #5 804386e: 498b ldr r1, [pc, #556] ; (8043a9c ) 8043870: fba1 1202 umull r1, r2, r1, r2 8043874: 09d2 lsrs r2, r2, #7 8043876: 498a ldr r1, [pc, #552] ; (8043aa0 ) 8043878: fb01 f202 mul.w r2, r1, r2 804387c: 1a9a subs r2, r3, r2 804387e: 4b89 ldr r3, [pc, #548] ; (8043aa4 ) 8043880: fba3 1302 umull r1, r3, r3, r2 8043884: 0b5b lsrs r3, r3, #13 8043886: f242 7110 movw r1, #10000 ; 0x2710 804388a: fb01 f303 mul.w r3, r1, r3 804388e: 1ad3 subs r3, r2, r3 8043890: 4a85 ldr r2, [pc, #532] ; (8043aa8 ) 8043892: fba2 1203 umull r1, r2, r2, r3 8043896: 0992 lsrs r2, r2, #6 8043898: f44f 717a mov.w r1, #1000 ; 0x3e8 804389c: fb01 f202 mul.w r2, r1, r2 80438a0: 1a9a subs r2, r3, r2 80438a2: 4b82 ldr r3, [pc, #520] ; (8043aac ) 80438a4: fba3 2302 umull r2, r3, r3, r2 80438a8: 095b lsrs r3, r3, #5 80438aa: b2db uxtb r3, r3 80438ac: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80438b0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80438b4: 0953 lsrs r3, r2, #5 80438b6: 4979 ldr r1, [pc, #484] ; (8043a9c ) 80438b8: fba1 1303 umull r1, r3, r1, r3 80438bc: 09db lsrs r3, r3, #7 80438be: 4978 ldr r1, [pc, #480] ; (8043aa0 ) 80438c0: fb01 f303 mul.w r3, r1, r3 80438c4: 1ad3 subs r3, r2, r3 80438c6: 4a77 ldr r2, [pc, #476] ; (8043aa4 ) 80438c8: fba2 1203 umull r1, r2, r2, r3 80438cc: 0b52 lsrs r2, r2, #13 80438ce: f242 7110 movw r1, #10000 ; 0x2710 80438d2: fb01 f202 mul.w r2, r1, r2 80438d6: 1a9a subs r2, r3, r2 80438d8: 4b73 ldr r3, [pc, #460] ; (8043aa8 ) 80438da: fba3 1302 umull r1, r3, r3, r2 80438de: 099b lsrs r3, r3, #6 80438e0: f44f 717a mov.w r1, #1000 ; 0x3e8 80438e4: fb01 f303 mul.w r3, r1, r3 80438e8: 1ad3 subs r3, r2, r3 80438ea: 4a70 ldr r2, [pc, #448] ; (8043aac ) 80438ec: fba2 1203 umull r1, r2, r2, r3 80438f0: 0952 lsrs r2, r2, #5 80438f2: 2164 movs r1, #100 ; 0x64 80438f4: fb01 f202 mul.w r2, r1, r2 80438f8: 1a9a subs r2, r3, r2 80438fa: 4b6d ldr r3, [pc, #436] ; (8043ab0 ) 80438fc: fba3 2302 umull r2, r3, r3, r2 8043900: 08db lsrs r3, r3, #3 8043902: b2db uxtb r3, r3 8043904: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8043908: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804390c: 0953 lsrs r3, r2, #5 804390e: 4963 ldr r1, [pc, #396] ; (8043a9c ) 8043910: fba1 1303 umull r1, r3, r1, r3 8043914: 09db lsrs r3, r3, #7 8043916: 4962 ldr r1, [pc, #392] ; (8043aa0 ) 8043918: fb01 f303 mul.w r3, r1, r3 804391c: 1ad3 subs r3, r2, r3 804391e: 4a61 ldr r2, [pc, #388] ; (8043aa4 ) 8043920: fba2 1203 umull r1, r2, r2, r3 8043924: 0b52 lsrs r2, r2, #13 8043926: f242 7110 movw r1, #10000 ; 0x2710 804392a: fb01 f202 mul.w r2, r1, r2 804392e: 1a9a subs r2, r3, r2 8043930: 4b5d ldr r3, [pc, #372] ; (8043aa8 ) 8043932: fba3 1302 umull r1, r3, r3, r2 8043936: 099b lsrs r3, r3, #6 8043938: f44f 717a mov.w r1, #1000 ; 0x3e8 804393c: fb01 f303 mul.w r3, r1, r3 8043940: 1ad3 subs r3, r2, r3 8043942: 4a5a ldr r2, [pc, #360] ; (8043aac ) 8043944: fba2 1203 umull r1, r2, r2, r3 8043948: 0952 lsrs r2, r2, #5 804394a: 2164 movs r1, #100 ; 0x64 804394c: fb01 f202 mul.w r2, r1, r2 8043950: 1a9a subs r2, r3, r2 8043952: 4b57 ldr r3, [pc, #348] ; (8043ab0 ) 8043954: fba3 1302 umull r1, r3, r3, r2 8043958: 08d9 lsrs r1, r3, #3 804395a: 460b mov r3, r1 804395c: 009b lsls r3, r3, #2 804395e: 440b add r3, r1 8043960: 005b lsls r3, r3, #1 8043962: 1ad1 subs r1, r2, r3 8043964: b2cb uxtb r3, r1 8043966: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 804396a: 4b4a ldr r3, [pc, #296] ; (8043a94 ) 804396c: 781b ldrb r3, [r3, #0] 804396e: b2db uxtb r3, r3 8043970: 3b0a subs r3, #10 8043972: 2b05 cmp r3, #5 8043974: d869 bhi.n 8043a4a 8043976: a201 add r2, pc, #4 ; (adr r2, 804397c ) 8043978: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804397c: 08043995 .word 0x08043995 8043980: 080439b5 .word 0x080439b5 8043984: 080439d7 .word 0x080439d7 8043988: 080439f7 .word 0x080439f7 804398c: 08043a13 .word 0x08043a13 8043990: 08043a2f .word 0x08043a2f if(k > 100000) k -= 100000; 8043994: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043998: 4a41 ldr r2, [pc, #260] ; (8043aa0 ) 804399a: 4293 cmp r3, r2 804399c: d906 bls.n 80439ac 804399e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80439a2: 4b44 ldr r3, [pc, #272] ; (8043ab4 ) 80439a4: 4413 add r3, r2 80439a6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80439aa: e04e b.n 8043a4a else k = 0; 80439ac: 2300 movs r3, #0 80439ae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80439b2: e04a b.n 8043a4a if(k > 10000) k -= 10000; 80439b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80439b8: f242 7210 movw r2, #10000 ; 0x2710 80439bc: 4293 cmp r3, r2 80439be: d906 bls.n 80439ce 80439c0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80439c4: 4b3c ldr r3, [pc, #240] ; (8043ab8 ) 80439c6: 4413 add r3, r2 80439c8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80439cc: e03d b.n 8043a4a else k = 0; 80439ce: 2300 movs r3, #0 80439d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80439d4: e039 b.n 8043a4a if(k > 1000) k -= 1000; 80439d6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80439da: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80439de: d906 bls.n 80439ee 80439e0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80439e4: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 80439e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80439ec: e02d b.n 8043a4a else k = 0; 80439ee: 2300 movs r3, #0 80439f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80439f4: e029 b.n 8043a4a if(k > 100) k -= 100; 80439f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80439fa: 2b64 cmp r3, #100 ; 0x64 80439fc: d905 bls.n 8043a0a 80439fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a02: 3b64 subs r3, #100 ; 0x64 8043a04: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a08: e01f b.n 8043a4a else k = 0; 8043a0a: 2300 movs r3, #0 8043a0c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a10: e01b b.n 8043a4a if(k > 10) k -= 10; 8043a12: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a16: 2b0a cmp r3, #10 8043a18: d905 bls.n 8043a26 8043a1a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a1e: 3b0a subs r3, #10 8043a20: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a24: e011 b.n 8043a4a else k = 0; 8043a26: 2300 movs r3, #0 8043a28: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a2c: e00d b.n 8043a4a if(k > 1) k -= 1; 8043a2e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a32: 2b01 cmp r3, #1 8043a34: d905 bls.n 8043a42 8043a36: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a3a: 3b01 subs r3, #1 8043a3c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a40: e002 b.n 8043a48 else k = 0; 8043a42: 2300 movs r3, #0 8043a44: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043a48: bf00 nop if(k == 0) k = 1; 8043a4a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a4e: 2b00 cmp r3, #0 8043a50: d102 bne.n 8043a58 8043a52: 2301 movs r3, #1 8043a54: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8043a58: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043a5c: ee07 3a90 vmov s15, r3 8043a60: eef8 7a67 vcvt.f32.u32 s15, s15 8043a64: 4b0c ldr r3, [pc, #48] ; (8043a98 ) 8043a66: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8043a6a: 4b0b ldr r3, [pc, #44] ; (8043a98 ) 8043a6c: edd3 7a06 vldr s15, [r3, #24] 8043a70: ed9f 7a12 vldr s14, [pc, #72] ; 8043abc 8043a74: ee67 7a87 vmul.f32 s15, s15, s14 8043a78: 4b07 ldr r3, [pc, #28] ; (8043a98 ) 8043a7a: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8043a7e: 4b06 ldr r3, [pc, #24] ; (8043a98 ) 8043a80: edd3 7a06 vldr s15, [r3, #24] 8043a84: ed9f 7a0e vldr s14, [pc, #56] ; 8043ac0 8043a88: ee77 7a87 vadd.f32 s15, s15, s14 8043a8c: 4b02 ldr r3, [pc, #8] ; (8043a98 ) 8043a8e: edc3 7a06 vstr s15, [r3, #24] break; 8043a92: e3a0 b.n 80441d6 8043a94: 20020070 .word 0x20020070 8043a98: 20023ea8 .word 0x20023ea8 8043a9c: 0a7c5ac5 .word 0x0a7c5ac5 8043aa0: 000186a0 .word 0x000186a0 8043aa4: d1b71759 .word 0xd1b71759 8043aa8: 10624dd3 .word 0x10624dd3 8043aac: 51eb851f .word 0x51eb851f 8043ab0: cccccccd .word 0xcccccccd 8043ab4: fffe7960 .word 0xfffe7960 8043ab8: ffffd8f0 .word 0xffffd8f0 8043abc: 3dcccccd .word 0x3dcccccd 8043ac0: 3d4ccccd .word 0x3d4ccccd case SETTINGS: if(menupos >= Ies) 8043ac4: 4bc7 ldr r3, [pc, #796] ; (8043de4 ) 8043ac6: 781b ldrb r3, [r3, #0] 8043ac8: b2db uxtb r3, r3 8043aca: 2b0c cmp r3, #12 8043acc: f240 815a bls.w 8043d84 { k = (uint32_t) (pardata.IKK * 1000.0f); 8043ad0: 4bc5 ldr r3, [pc, #788] ; (8043de8 ) 8043ad2: edd3 7a04 vldr s15, [r3, #16] 8043ad6: ed9f 7ac5 vldr s14, [pc, #788] ; 8043dec 8043ada: ee67 7a87 vmul.f32 s15, s15, s14 8043ade: eefc 7ae7 vcvt.u32.f32 s15, s15 8043ae2: ee17 3a90 vmov r3, s15 8043ae6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8043aea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043aee: 095b lsrs r3, r3, #5 8043af0: 4abf ldr r2, [pc, #764] ; (8043df0 ) 8043af2: fba2 2303 umull r2, r3, r2, r3 8043af6: 09db lsrs r3, r3, #7 8043af8: b2db uxtb r3, r3 8043afa: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8043afe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043b02: 0953 lsrs r3, r2, #5 8043b04: 49ba ldr r1, [pc, #744] ; (8043df0 ) 8043b06: fba1 1303 umull r1, r3, r1, r3 8043b0a: 09db lsrs r3, r3, #7 8043b0c: 49b9 ldr r1, [pc, #740] ; (8043df4 ) 8043b0e: fb01 f303 mul.w r3, r1, r3 8043b12: 1ad3 subs r3, r2, r3 8043b14: 4ab8 ldr r2, [pc, #736] ; (8043df8 ) 8043b16: fba2 2303 umull r2, r3, r2, r3 8043b1a: 0b5b lsrs r3, r3, #13 8043b1c: b2db uxtb r3, r3 8043b1e: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8043b22: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043b26: 0953 lsrs r3, r2, #5 8043b28: 49b1 ldr r1, [pc, #708] ; (8043df0 ) 8043b2a: fba1 1303 umull r1, r3, r1, r3 8043b2e: 09db lsrs r3, r3, #7 8043b30: 49b0 ldr r1, [pc, #704] ; (8043df4 ) 8043b32: fb01 f303 mul.w r3, r1, r3 8043b36: 1ad3 subs r3, r2, r3 8043b38: 4aaf ldr r2, [pc, #700] ; (8043df8 ) 8043b3a: fba2 1203 umull r1, r2, r2, r3 8043b3e: 0b52 lsrs r2, r2, #13 8043b40: f242 7110 movw r1, #10000 ; 0x2710 8043b44: fb01 f202 mul.w r2, r1, r2 8043b48: 1a9a subs r2, r3, r2 8043b4a: 4bac ldr r3, [pc, #688] ; (8043dfc ) 8043b4c: fba3 2302 umull r2, r3, r3, r2 8043b50: 099b lsrs r3, r3, #6 8043b52: b2db uxtb r3, r3 8043b54: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8043b58: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043b5c: 095a lsrs r2, r3, #5 8043b5e: 49a4 ldr r1, [pc, #656] ; (8043df0 ) 8043b60: fba1 1202 umull r1, r2, r1, r2 8043b64: 09d2 lsrs r2, r2, #7 8043b66: 49a3 ldr r1, [pc, #652] ; (8043df4 ) 8043b68: fb01 f202 mul.w r2, r1, r2 8043b6c: 1a9a subs r2, r3, r2 8043b6e: 4ba2 ldr r3, [pc, #648] ; (8043df8 ) 8043b70: fba3 1302 umull r1, r3, r3, r2 8043b74: 0b5b lsrs r3, r3, #13 8043b76: f242 7110 movw r1, #10000 ; 0x2710 8043b7a: fb01 f303 mul.w r3, r1, r3 8043b7e: 1ad3 subs r3, r2, r3 8043b80: 4a9e ldr r2, [pc, #632] ; (8043dfc ) 8043b82: fba2 1203 umull r1, r2, r2, r3 8043b86: 0992 lsrs r2, r2, #6 8043b88: f44f 717a mov.w r1, #1000 ; 0x3e8 8043b8c: fb01 f202 mul.w r2, r1, r2 8043b90: 1a9a subs r2, r3, r2 8043b92: 4b9b ldr r3, [pc, #620] ; (8043e00 ) 8043b94: fba3 2302 umull r2, r3, r3, r2 8043b98: 095b lsrs r3, r3, #5 8043b9a: b2db uxtb r3, r3 8043b9c: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8043ba0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043ba4: 0953 lsrs r3, r2, #5 8043ba6: 4992 ldr r1, [pc, #584] ; (8043df0 ) 8043ba8: fba1 1303 umull r1, r3, r1, r3 8043bac: 09db lsrs r3, r3, #7 8043bae: 4991 ldr r1, [pc, #580] ; (8043df4 ) 8043bb0: fb01 f303 mul.w r3, r1, r3 8043bb4: 1ad3 subs r3, r2, r3 8043bb6: 4a90 ldr r2, [pc, #576] ; (8043df8 ) 8043bb8: fba2 1203 umull r1, r2, r2, r3 8043bbc: 0b52 lsrs r2, r2, #13 8043bbe: f242 7110 movw r1, #10000 ; 0x2710 8043bc2: fb01 f202 mul.w r2, r1, r2 8043bc6: 1a9a subs r2, r3, r2 8043bc8: 4b8c ldr r3, [pc, #560] ; (8043dfc ) 8043bca: fba3 1302 umull r1, r3, r3, r2 8043bce: 099b lsrs r3, r3, #6 8043bd0: f44f 717a mov.w r1, #1000 ; 0x3e8 8043bd4: fb01 f303 mul.w r3, r1, r3 8043bd8: 1ad3 subs r3, r2, r3 8043bda: 4a89 ldr r2, [pc, #548] ; (8043e00 ) 8043bdc: fba2 1203 umull r1, r2, r2, r3 8043be0: 0952 lsrs r2, r2, #5 8043be2: 2164 movs r1, #100 ; 0x64 8043be4: fb01 f202 mul.w r2, r1, r2 8043be8: 1a9a subs r2, r3, r2 8043bea: 4b86 ldr r3, [pc, #536] ; (8043e04 ) 8043bec: fba3 2302 umull r2, r3, r3, r2 8043bf0: 08db lsrs r3, r3, #3 8043bf2: b2db uxtb r3, r3 8043bf4: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8043bf8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043bfc: 0953 lsrs r3, r2, #5 8043bfe: 497c ldr r1, [pc, #496] ; (8043df0 ) 8043c00: fba1 1303 umull r1, r3, r1, r3 8043c04: 09db lsrs r3, r3, #7 8043c06: 497b ldr r1, [pc, #492] ; (8043df4 ) 8043c08: fb01 f303 mul.w r3, r1, r3 8043c0c: 1ad3 subs r3, r2, r3 8043c0e: 4a7a ldr r2, [pc, #488] ; (8043df8 ) 8043c10: fba2 1203 umull r1, r2, r2, r3 8043c14: 0b52 lsrs r2, r2, #13 8043c16: f242 7110 movw r1, #10000 ; 0x2710 8043c1a: fb01 f202 mul.w r2, r1, r2 8043c1e: 1a9a subs r2, r3, r2 8043c20: 4b76 ldr r3, [pc, #472] ; (8043dfc ) 8043c22: fba3 1302 umull r1, r3, r3, r2 8043c26: 099b lsrs r3, r3, #6 8043c28: f44f 717a mov.w r1, #1000 ; 0x3e8 8043c2c: fb01 f303 mul.w r3, r1, r3 8043c30: 1ad3 subs r3, r2, r3 8043c32: 4a73 ldr r2, [pc, #460] ; (8043e00 ) 8043c34: fba2 1203 umull r1, r2, r2, r3 8043c38: 0952 lsrs r2, r2, #5 8043c3a: 2164 movs r1, #100 ; 0x64 8043c3c: fb01 f202 mul.w r2, r1, r2 8043c40: 1a9a subs r2, r3, r2 8043c42: 4b70 ldr r3, [pc, #448] ; (8043e04 ) 8043c44: fba3 1302 umull r1, r3, r3, r2 8043c48: 08d9 lsrs r1, r3, #3 8043c4a: 460b mov r3, r1 8043c4c: 009b lsls r3, r3, #2 8043c4e: 440b add r3, r1 8043c50: 005b lsls r3, r3, #1 8043c52: 1ad1 subs r1, r2, r3 8043c54: b2cb uxtb r3, r1 8043c56: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 8043c5a: 4b62 ldr r3, [pc, #392] ; (8043de4 ) 8043c5c: 781b ldrb r3, [r3, #0] 8043c5e: b2db uxtb r3, r3 8043c60: 3b0d subs r3, #13 8043c62: 2b05 cmp r3, #5 8043c64: d869 bhi.n 8043d3a 8043c66: a201 add r2, pc, #4 ; (adr r2, 8043c6c ) 8043c68: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8043c6c: 08043c85 .word 0x08043c85 8043c70: 08043ca5 .word 0x08043ca5 8043c74: 08043cc7 .word 0x08043cc7 8043c78: 08043ce7 .word 0x08043ce7 8043c7c: 08043d03 .word 0x08043d03 8043c80: 08043d1f .word 0x08043d1f { case Ies: if(k > 100000) k -= 100000; 8043c84: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043c88: 4a5a ldr r2, [pc, #360] ; (8043df4 ) 8043c8a: 4293 cmp r3, r2 8043c8c: d906 bls.n 8043c9c 8043c8e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043c92: 4b5d ldr r3, [pc, #372] ; (8043e08 ) 8043c94: 4413 add r3, r2 8043c96: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 8043c9a: e04e b.n 8043d3a else k = 0; 8043c9c: 2300 movs r3, #0 8043c9e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043ca2: e04a b.n 8043d3a case Ied: if(k > 10000) k -= 10000; 8043ca4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043ca8: f242 7210 movw r2, #10000 ; 0x2710 8043cac: 4293 cmp r3, r2 8043cae: d906 bls.n 8043cbe 8043cb0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043cb4: 4b55 ldr r3, [pc, #340] ; (8043e0c ) 8043cb6: 4413 add r3, r2 8043cb8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 8043cbc: e03d b.n 8043d3a else k = 0; 8043cbe: 2300 movs r3, #0 8043cc0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043cc4: e039 b.n 8043d3a case Iee: if(k > 1000) k -= 1000; 8043cc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043cca: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8043cce: d906 bls.n 8043cde 8043cd0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043cd4: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8043cd8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 8043cdc: e02d b.n 8043d3a else k = 0; 8043cde: 2300 movs r3, #0 8043ce0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043ce4: e029 b.n 8043d3a case Ikd: if(k > 100) k -= 100; 8043ce6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043cea: 2b64 cmp r3, #100 ; 0x64 8043cec: d905 bls.n 8043cfa 8043cee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043cf2: 3b64 subs r3, #100 ; 0x64 8043cf4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 8043cf8: e01f b.n 8043d3a else k = 0; 8043cfa: 2300 movs r3, #0 8043cfc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043d00: e01b b.n 8043d3a case Iks: if(k > 10) k -= 10; 8043d02: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043d06: 2b0a cmp r3, #10 8043d08: d905 bls.n 8043d16 8043d0a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043d0e: 3b0a subs r3, #10 8043d10: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 8043d14: e011 b.n 8043d3a else k = 0; 8043d16: 2300 movs r3, #0 8043d18: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043d1c: e00d b.n 8043d3a case Ikt: if(k > 1) k -= 1; 8043d1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043d22: 2b01 cmp r3, #1 8043d24: d905 bls.n 8043d32 8043d26: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043d2a: 3b01 subs r3, #1 8043d2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 8043d30: e002 b.n 8043d38 else k = 0; 8043d32: 2300 movs r3, #0 8043d34: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043d38: bf00 nop } if(k == 0) k = 1; 8043d3a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043d3e: 2b00 cmp r3, #0 8043d40: d102 bne.n 8043d48 8043d42: 2301 movs r3, #1 8043d44: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.IKK = (float32_t) k; 8043d48: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043d4c: ee07 3a90 vmov s15, r3 8043d50: eef8 7a67 vcvt.f32.u32 s15, s15 8043d54: 4b24 ldr r3, [pc, #144] ; (8043de8 ) 8043d56: edc3 7a04 vstr s15, [r3, #16] pardata.IKK *= 0.001f; 8043d5a: 4b23 ldr r3, [pc, #140] ; (8043de8 ) 8043d5c: edd3 7a04 vldr s15, [r3, #16] 8043d60: ed9f 7a2b vldr s14, [pc, #172] ; 8043e10 8043d64: ee67 7a87 vmul.f32 s15, s15, s14 8043d68: 4b1f ldr r3, [pc, #124] ; (8043de8 ) 8043d6a: edc3 7a04 vstr s15, [r3, #16] pardata.IKK += 0.0005f; 8043d6e: 4b1e ldr r3, [pc, #120] ; (8043de8 ) 8043d70: edd3 7a04 vldr s15, [r3, #16] 8043d74: ed9f 7a27 vldr s14, [pc, #156] ; 8043e14 8043d78: ee77 7a87 vadd.f32 s15, s15, s14 8043d7c: 4b1a ldr r3, [pc, #104] ; (8043de8 ) 8043d7e: edc3 7a04 vstr s15, [r3, #16] else menupos = Type; #endif #endif #endif } break; 8043d82: e22b b.n 80441dc focused = false; 8043d84: 4b24 ldr r3, [pc, #144] ; (8043e18 ) 8043d86: 2200 movs r2, #0 8043d88: 701a strb r2, [r3, #0] if(menupos == Temper) menupos = Type; 8043d8a: 4b16 ldr r3, [pc, #88] ; (8043de4 ) 8043d8c: 781b ldrb r3, [r3, #0] 8043d8e: b2db uxtb r3, r3 8043d90: 2b07 cmp r3, #7 8043d92: d103 bne.n 8043d9c 8043d94: 4b13 ldr r3, [pc, #76] ; (8043de4 ) 8043d96: 2201 movs r2, #1 8043d98: 701a strb r2, [r3, #0] break; 8043d9a: e21f b.n 80441dc else if(menupos == FormatDisk) menupos = Temper; 8043d9c: 4b11 ldr r3, [pc, #68] ; (8043de4 ) 8043d9e: 781b ldrb r3, [r3, #0] 8043da0: b2db uxtb r3, r3 8043da2: 2b05 cmp r3, #5 8043da4: d103 bne.n 8043dae 8043da6: 4b0f ldr r3, [pc, #60] ; (8043de4 ) 8043da8: 2207 movs r2, #7 8043daa: 701a strb r2, [r3, #0] break; 8043dac: e216 b.n 80441dc else if(menupos == DateTime) menupos = FormatDisk; 8043dae: 4b0d ldr r3, [pc, #52] ; (8043de4 ) 8043db0: 781b ldrb r3, [r3, #0] 8043db2: b2db uxtb r3, r3 8043db4: 2b04 cmp r3, #4 8043db6: d103 bne.n 8043dc0 8043db8: 4b0a ldr r3, [pc, #40] ; (8043de4 ) 8043dba: 2205 movs r2, #5 8043dbc: 701a strb r2, [r3, #0] break; 8043dbe: e20d b.n 80441dc else if(menupos == Lang) menupos = DateTime; 8043dc0: 4b08 ldr r3, [pc, #32] ; (8043de4 ) 8043dc2: 781b ldrb r3, [r3, #0] 8043dc4: b2db uxtb r3, r3 8043dc6: 2b03 cmp r3, #3 8043dc8: d103 bne.n 8043dd2 8043dca: 4b06 ldr r3, [pc, #24] ; (8043de4 ) 8043dcc: 2204 movs r2, #4 8043dce: 701a strb r2, [r3, #0] break; 8043dd0: e204 b.n 80441dc else if(menupos == Sens) menupos = Lang; 8043dd2: 4b04 ldr r3, [pc, #16] ; (8043de4 ) 8043dd4: 781b ldrb r3, [r3, #0] 8043dd6: b2db uxtb r3, r3 8043dd8: 2b02 cmp r3, #2 8043dda: d11f bne.n 8043e1c 8043ddc: 4b01 ldr r3, [pc, #4] ; (8043de4 ) 8043dde: 2203 movs r2, #3 8043de0: 701a strb r2, [r3, #0] break; 8043de2: e1fb b.n 80441dc 8043de4: 20020070 .word 0x20020070 8043de8: 20023ea8 .word 0x20023ea8 8043dec: 447a0000 .word 0x447a0000 8043df0: 0a7c5ac5 .word 0x0a7c5ac5 8043df4: 000186a0 .word 0x000186a0 8043df8: d1b71759 .word 0xd1b71759 8043dfc: 10624dd3 .word 0x10624dd3 8043e00: 51eb851f .word 0x51eb851f 8043e04: cccccccd .word 0xcccccccd 8043e08: fffe7960 .word 0xfffe7960 8043e0c: ffffd8f0 .word 0xffffd8f0 8043e10: 3a83126f .word 0x3a83126f 8043e14: 3a03126f .word 0x3a03126f 8043e18: 20020fc8 .word 0x20020fc8 else if(menupos == Type) menupos = Sens; 8043e1c: 4ba4 ldr r3, [pc, #656] ; (80440b0 ) 8043e1e: 781b ldrb r3, [r3, #0] 8043e20: b2db uxtb r3, r3 8043e22: 2b01 cmp r3, #1 8043e24: f040 81da bne.w 80441dc 8043e28: 4ba1 ldr r3, [pc, #644] ; (80440b0 ) 8043e2a: 2202 movs r2, #2 8043e2c: 701a strb r2, [r3, #0] break; 8043e2e: e1d5 b.n 80441dc case DATETIME: if(menupos > TimeAll) 8043e30: 4b9f ldr r3, [pc, #636] ; (80440b0 ) 8043e32: 781b ldrb r3, [r3, #0] 8043e34: b2db uxtb r3, r3 8043e36: 2b02 cmp r3, #2 8043e38: d936 bls.n 8043ea8 { switch(menupos) 8043e3a: 4b9d ldr r3, [pc, #628] ; (80440b0 ) 8043e3c: 781b ldrb r3, [r3, #0] 8043e3e: b2db uxtb r3, r3 8043e40: 3b03 subs r3, #3 8043e42: 2b04 cmp r3, #4 8043e44: f200 81cd bhi.w 80441e2 8043e48: a201 add r2, pc, #4 ; (adr r2, 8043e50 ) 8043e4a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8043e4e: bf00 nop 8043e50: 08043e65 .word 0x08043e65 8043e54: 08043e73 .word 0x08043e73 8043e58: 08043e81 .word 0x08043e81 8043e5c: 08043e8f .word 0x08043e8f 8043e60: 08043e9b .word 0x08043e9b { case DateD: ChangeDate(-1, 0, 0); break; 8043e64: 2200 movs r2, #0 8043e66: 2100 movs r1, #0 8043e68: f04f 30ff mov.w r0, #4294967295 8043e6c: f024 fb66 bl 806853c 8043e70: e02b b.n 8043eca case DateM: ChangeDate(0, -1, 0); break; 8043e72: 2200 movs r2, #0 8043e74: f04f 31ff mov.w r1, #4294967295 8043e78: 2000 movs r0, #0 8043e7a: f024 fb5f bl 806853c 8043e7e: e024 b.n 8043eca case DateY: ChangeDate(0, 0, -1); break; 8043e80: f04f 32ff mov.w r2, #4294967295 8043e84: 2100 movs r1, #0 8043e86: 2000 movs r0, #0 8043e88: f024 fb58 bl 806853c 8043e8c: e01d b.n 8043eca case TimeH: ChangeTime(-1, 0); break; 8043e8e: 2100 movs r1, #0 8043e90: f04f 30ff mov.w r0, #4294967295 8043e94: f024 fae8 bl 8068468 8043e98: e017 b.n 8043eca case TimeM: ChangeTime(0, -1); break; 8043e9a: f04f 31ff mov.w r1, #4294967295 8043e9e: 2000 movs r0, #0 8043ea0: f024 fae2 bl 8068468 8043ea4: bf00 nop 8043ea6: e010 b.n 8043eca } } else { if(menupos < TimeAll) menupos++; 8043ea8: 4b81 ldr r3, [pc, #516] ; (80440b0 ) 8043eaa: 781b ldrb r3, [r3, #0] 8043eac: b2db uxtb r3, r3 8043eae: 2b01 cmp r3, #1 8043eb0: d807 bhi.n 8043ec2 8043eb2: 4b7f ldr r3, [pc, #508] ; (80440b0 ) 8043eb4: 781b ldrb r3, [r3, #0] 8043eb6: b2db uxtb r3, r3 8043eb8: 3301 adds r3, #1 8043eba: b2da uxtb r2, r3 8043ebc: 4b7c ldr r3, [pc, #496] ; (80440b0 ) 8043ebe: 701a strb r2, [r3, #0] else menupos = DateAll; } break; 8043ec0: e18f b.n 80441e2 else menupos = DateAll; 8043ec2: 4b7b ldr r3, [pc, #492] ; (80440b0 ) 8043ec4: 2201 movs r2, #1 8043ec6: 701a strb r2, [r3, #0] break; 8043ec8: e18b b.n 80441e2 8043eca: e18a b.n 80441e2 case CLEAN_FILES: if(menupos == FilesPTM) 8043ecc: 4b78 ldr r3, [pc, #480] ; (80440b0 ) 8043ece: 781b ldrb r3, [r3, #0] 8043ed0: b2db uxtb r3, r3 8043ed2: 2b02 cmp r3, #2 8043ed4: f040 8188 bne.w 80441e8 { if((CursorIndex + 1) < VIEW_FILES) 8043ed8: 4b76 ldr r3, [pc, #472] ; (80440b4 ) 8043eda: 681b ldr r3, [r3, #0] 8043edc: 3301 adds r3, #1 8043ede: 2b0b cmp r3, #11 8043ee0: d80f bhi.n 8043f02 { if((FirstFileIndex + CursorIndex + 1) < NumFilesPTM) { 8043ee2: 4b75 ldr r3, [pc, #468] ; (80440b8 ) 8043ee4: 681a ldr r2, [r3, #0] 8043ee6: 4b73 ldr r3, [pc, #460] ; (80440b4 ) 8043ee8: 681b ldr r3, [r3, #0] 8043eea: 4413 add r3, r2 8043eec: 1c5a adds r2, r3, #1 8043eee: 4b73 ldr r3, [pc, #460] ; (80440bc ) 8043ef0: 681b ldr r3, [r3, #0] 8043ef2: 429a cmp r2, r3 8043ef4: d21a bcs.n 8043f2c CursorIndex++; 8043ef6: 4b6f ldr r3, [pc, #444] ; (80440b4 ) 8043ef8: 681b ldr r3, [r3, #0] 8043efa: 3301 adds r3, #1 8043efc: 4a6d ldr r2, [pc, #436] ; (80440b4 ) 8043efe: 6013 str r3, [r2, #0] 8043f00: e014 b.n 8043f2c } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesPTM) 8043f02: 4b6d ldr r3, [pc, #436] ; (80440b8 ) 8043f04: 681b ldr r3, [r3, #0] 8043f06: f103 020c add.w r2, r3, #12 8043f0a: 4b6c ldr r3, [pc, #432] ; (80440bc ) 8043f0c: 681b ldr r3, [r3, #0] 8043f0e: 429a cmp r2, r3 8043f10: d20c bcs.n 8043f2c { FirstFileIndex++; 8043f12: 4b69 ldr r3, [pc, #420] ; (80440b8 ) 8043f14: 681b ldr r3, [r3, #0] 8043f16: 3301 adds r3, #1 8043f18: 4a67 ldr r2, [pc, #412] ; (80440b8 ) 8043f1a: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 8043f1c: 4b66 ldr r3, [pc, #408] ; (80440b8 ) 8043f1e: 681b ldr r3, [r3, #0] 8043f20: 4618 mov r0, r3 8043f22: f7e6 fde5 bl 802aaf0 8043f26: 4603 mov r3, r0 8043f28: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 8043f2c: 4b62 ldr r3, [pc, #392] ; (80440b8 ) 8043f2e: 681a ldr r2, [r3, #0] 8043f30: 4b60 ldr r3, [pc, #384] ; (80440b4 ) 8043f32: 681b ldr r3, [r3, #0] 8043f34: 4413 add r3, r2 8043f36: 4a62 ldr r2, [pc, #392] ; (80440c0 ) 8043f38: 6013 str r3, [r2, #0] } break; 8043f3a: e155 b.n 80441e8 case ARCHIVE: if(menupos < ArchiveWave) menupos++; 8043f3c: 4b5c ldr r3, [pc, #368] ; (80440b0 ) 8043f3e: 781b ldrb r3, [r3, #0] 8043f40: b2db uxtb r3, r3 8043f42: 2b01 cmp r3, #1 8043f44: d807 bhi.n 8043f56 8043f46: 4b5a ldr r3, [pc, #360] ; (80440b0 ) 8043f48: 781b ldrb r3, [r3, #0] 8043f4a: b2db uxtb r3, r3 8043f4c: 3301 adds r3, #1 8043f4e: b2da uxtb r2, r3 8043f50: 4b57 ldr r3, [pc, #348] ; (80440b0 ) 8043f52: 701a strb r2, [r3, #0] else menupos = Ok; break; 8043f54: e158 b.n 8044208 else menupos = Ok; 8043f56: 4b56 ldr r3, [pc, #344] ; (80440b0 ) 8043f58: 2200 movs r2, #0 8043f5a: 701a strb r2, [r3, #0] break; 8043f5c: e154 b.n 8044208 case ARCHIVE_SPEC: if(menupos == FilesSPEC) 8043f5e: 4b54 ldr r3, [pc, #336] ; (80440b0 ) 8043f60: 781b ldrb r3, [r3, #0] 8043f62: b2db uxtb r3, r3 8043f64: 2b02 cmp r3, #2 8043f66: f040 8142 bne.w 80441ee { if((CursorIndex + 1) < VIEW_FILES) 8043f6a: 4b52 ldr r3, [pc, #328] ; (80440b4 ) 8043f6c: 681b ldr r3, [r3, #0] 8043f6e: 3301 adds r3, #1 8043f70: 2b0b cmp r3, #11 8043f72: d80f bhi.n 8043f94 { if((FirstFileIndex + CursorIndex + 1) < NumFilesSPEC) { 8043f74: 4b50 ldr r3, [pc, #320] ; (80440b8 ) 8043f76: 681a ldr r2, [r3, #0] 8043f78: 4b4e ldr r3, [pc, #312] ; (80440b4 ) 8043f7a: 681b ldr r3, [r3, #0] 8043f7c: 4413 add r3, r2 8043f7e: 1c5a adds r2, r3, #1 8043f80: 4b50 ldr r3, [pc, #320] ; (80440c4 ) 8043f82: 681b ldr r3, [r3, #0] 8043f84: 429a cmp r2, r3 8043f86: d21a bcs.n 8043fbe CursorIndex++; 8043f88: 4b4a ldr r3, [pc, #296] ; (80440b4 ) 8043f8a: 681b ldr r3, [r3, #0] 8043f8c: 3301 adds r3, #1 8043f8e: 4a49 ldr r2, [pc, #292] ; (80440b4 ) 8043f90: 6013 str r3, [r2, #0] 8043f92: e014 b.n 8043fbe } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesSPEC) 8043f94: 4b48 ldr r3, [pc, #288] ; (80440b8 ) 8043f96: 681b ldr r3, [r3, #0] 8043f98: f103 020c add.w r2, r3, #12 8043f9c: 4b49 ldr r3, [pc, #292] ; (80440c4 ) 8043f9e: 681b ldr r3, [r3, #0] 8043fa0: 429a cmp r2, r3 8043fa2: d20c bcs.n 8043fbe { FirstFileIndex++; 8043fa4: 4b44 ldr r3, [pc, #272] ; (80440b8 ) 8043fa6: 681b ldr r3, [r3, #0] 8043fa8: 3301 adds r3, #1 8043faa: 4a43 ldr r2, [pc, #268] ; (80440b8 ) 8043fac: 6013 str r3, [r2, #0] result = ReadMyFilesSPEC(FirstFileIndex); 8043fae: 4b42 ldr r3, [pc, #264] ; (80440b8 ) 8043fb0: 681b ldr r3, [r3, #0] 8043fb2: 4618 mov r0, r3 8043fb4: f7e6 fdb6 bl 802ab24 8043fb8: 4603 mov r3, r0 8043fba: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 8043fbe: 4b3e ldr r3, [pc, #248] ; (80440b8 ) 8043fc0: 681a ldr r2, [r3, #0] 8043fc2: 4b3c ldr r3, [pc, #240] ; (80440b4 ) 8043fc4: 681b ldr r3, [r3, #0] 8043fc6: 4413 add r3, r2 8043fc8: 4a3d ldr r2, [pc, #244] ; (80440c0 ) 8043fca: 6013 str r3, [r2, #0] } break; 8043fcc: e10f b.n 80441ee case ARCHIVE_FRAN: if(menupos == FilesFRAN) 8043fce: 4b38 ldr r3, [pc, #224] ; (80440b0 ) 8043fd0: 781b ldrb r3, [r3, #0] 8043fd2: b2db uxtb r3, r3 8043fd4: 2b02 cmp r3, #2 8043fd6: f040 810d bne.w 80441f4 { if((CursorIndex + 1) < VIEW_FILES) 8043fda: 4b36 ldr r3, [pc, #216] ; (80440b4 ) 8043fdc: 681b ldr r3, [r3, #0] 8043fde: 3301 adds r3, #1 8043fe0: 2b0b cmp r3, #11 8043fe2: d80f bhi.n 8044004 { if((FirstFileIndex + CursorIndex + 1) < NumFilesFRAN) { 8043fe4: 4b34 ldr r3, [pc, #208] ; (80440b8 ) 8043fe6: 681a ldr r2, [r3, #0] 8043fe8: 4b32 ldr r3, [pc, #200] ; (80440b4 ) 8043fea: 681b ldr r3, [r3, #0] 8043fec: 4413 add r3, r2 8043fee: 1c5a adds r2, r3, #1 8043ff0: 4b35 ldr r3, [pc, #212] ; (80440c8 ) 8043ff2: 681b ldr r3, [r3, #0] 8043ff4: 429a cmp r2, r3 8043ff6: d21a bcs.n 804402e CursorIndex++; 8043ff8: 4b2e ldr r3, [pc, #184] ; (80440b4 ) 8043ffa: 681b ldr r3, [r3, #0] 8043ffc: 3301 adds r3, #1 8043ffe: 4a2d ldr r2, [pc, #180] ; (80440b4 ) 8044000: 6013 str r3, [r2, #0] 8044002: e014 b.n 804402e } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesFRAN) 8044004: 4b2c ldr r3, [pc, #176] ; (80440b8 ) 8044006: 681b ldr r3, [r3, #0] 8044008: f103 020c add.w r2, r3, #12 804400c: 4b2e ldr r3, [pc, #184] ; (80440c8 ) 804400e: 681b ldr r3, [r3, #0] 8044010: 429a cmp r2, r3 8044012: d20c bcs.n 804402e { FirstFileIndex++; 8044014: 4b28 ldr r3, [pc, #160] ; (80440b8 ) 8044016: 681b ldr r3, [r3, #0] 8044018: 3301 adds r3, #1 804401a: 4a27 ldr r2, [pc, #156] ; (80440b8 ) 804401c: 6013 str r3, [r2, #0] result = ReadMyFilesFRAN(FirstFileIndex); 804401e: 4b26 ldr r3, [pc, #152] ; (80440b8 ) 8044020: 681b ldr r3, [r3, #0] 8044022: 4618 mov r0, r3 8044024: f7e6 fd8b bl 802ab3e 8044028: 4603 mov r3, r0 804402a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 804402e: 4b22 ldr r3, [pc, #136] ; (80440b8 ) 8044030: 681a ldr r2, [r3, #0] 8044032: 4b20 ldr r3, [pc, #128] ; (80440b4 ) 8044034: 681b ldr r3, [r3, #0] 8044036: 4413 add r3, r2 8044038: 4a21 ldr r2, [pc, #132] ; (80440c0 ) 804403a: 6013 str r3, [r2, #0] } break; 804403c: e0da b.n 80441f4 case ARCHIVE_WAVE: if(menupos == FilesGTR) 804403e: 4b1c ldr r3, [pc, #112] ; (80440b0 ) 8044040: 781b ldrb r3, [r3, #0] 8044042: b2db uxtb r3, r3 8044044: 2b02 cmp r3, #2 8044046: f040 80d8 bne.w 80441fa { if((CursorIndex + 1) < VIEW_FILES) 804404a: 4b1a ldr r3, [pc, #104] ; (80440b4 ) 804404c: 681b ldr r3, [r3, #0] 804404e: 3301 adds r3, #1 8044050: 2b0b cmp r3, #11 8044052: d80f bhi.n 8044074 { if((FirstFileIndex + CursorIndex + 1) < NumFilesGTR) { 8044054: 4b18 ldr r3, [pc, #96] ; (80440b8 ) 8044056: 681a ldr r2, [r3, #0] 8044058: 4b16 ldr r3, [pc, #88] ; (80440b4 ) 804405a: 681b ldr r3, [r3, #0] 804405c: 4413 add r3, r2 804405e: 1c5a adds r2, r3, #1 8044060: 4b1a ldr r3, [pc, #104] ; (80440cc ) 8044062: 681b ldr r3, [r3, #0] 8044064: 429a cmp r2, r3 8044066: d21a bcs.n 804409e CursorIndex++; 8044068: 4b12 ldr r3, [pc, #72] ; (80440b4 ) 804406a: 681b ldr r3, [r3, #0] 804406c: 3301 adds r3, #1 804406e: 4a11 ldr r2, [pc, #68] ; (80440b4 ) 8044070: 6013 str r3, [r2, #0] 8044072: e014 b.n 804409e } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesGTR) 8044074: 4b10 ldr r3, [pc, #64] ; (80440b8 ) 8044076: 681b ldr r3, [r3, #0] 8044078: f103 020c add.w r2, r3, #12 804407c: 4b13 ldr r3, [pc, #76] ; (80440cc ) 804407e: 681b ldr r3, [r3, #0] 8044080: 429a cmp r2, r3 8044082: d20c bcs.n 804409e { FirstFileIndex++; 8044084: 4b0c ldr r3, [pc, #48] ; (80440b8 ) 8044086: 681b ldr r3, [r3, #0] 8044088: 3301 adds r3, #1 804408a: 4a0b ldr r2, [pc, #44] ; (80440b8 ) 804408c: 6013 str r3, [r2, #0] result = ReadMyFilesGTR(FirstFileIndex); 804408e: 4b0a ldr r3, [pc, #40] ; (80440b8 ) 8044090: 681b ldr r3, [r3, #0] 8044092: 4618 mov r0, r3 8044094: f7e6 fd60 bl 802ab58 8044098: 4603 mov r3, r0 804409a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 804409e: 4b06 ldr r3, [pc, #24] ; (80440b8 ) 80440a0: 681a ldr r2, [r3, #0] 80440a2: 4b04 ldr r3, [pc, #16] ; (80440b4 ) 80440a4: 681b ldr r3, [r3, #0] 80440a6: 4413 add r3, r2 80440a8: 4a05 ldr r2, [pc, #20] ; (80440c0 ) 80440aa: 6013 str r3, [r2, #0] } break; 80440ac: e0a5 b.n 80441fa 80440ae: bf00 nop 80440b0: 20020070 .word 0x20020070 80440b4: 20020e00 .word 0x20020e00 80440b8: 20020e04 .word 0x20020e04 80440bc: 20020e14 .word 0x20020e14 80440c0: 20020e08 .word 0x20020e08 80440c4: 20020e1c .word 0x20020e1c 80440c8: 20020e20 .word 0x20020e20 80440cc: 20020e24 .word 0x20020e24 case ROUTE: if(menupos == FilesCSV) 80440d0: 4bc6 ldr r3, [pc, #792] ; (80443ec ) 80440d2: 781b ldrb r3, [r3, #0] 80440d4: b2db uxtb r3, r3 80440d6: 2b02 cmp r3, #2 80440d8: f040 8092 bne.w 8044200 { if((CursorIndex + 1) < VIEW_FILES) 80440dc: 4bc4 ldr r3, [pc, #784] ; (80443f0 ) 80440de: 681b ldr r3, [r3, #0] 80440e0: 3301 adds r3, #1 80440e2: 2b0b cmp r3, #11 80440e4: d80f bhi.n 8044106 { if((FirstFileIndex + CursorIndex + 1) < NumFilesCSV) { 80440e6: 4bc3 ldr r3, [pc, #780] ; (80443f4 ) 80440e8: 681a ldr r2, [r3, #0] 80440ea: 4bc1 ldr r3, [pc, #772] ; (80443f0 ) 80440ec: 681b ldr r3, [r3, #0] 80440ee: 4413 add r3, r2 80440f0: 1c5a adds r2, r3, #1 80440f2: 4bc1 ldr r3, [pc, #772] ; (80443f8 ) 80440f4: 681b ldr r3, [r3, #0] 80440f6: 429a cmp r2, r3 80440f8: d21a bcs.n 8044130 CursorIndex++; 80440fa: 4bbd ldr r3, [pc, #756] ; (80443f0 ) 80440fc: 681b ldr r3, [r3, #0] 80440fe: 3301 adds r3, #1 8044100: 4abb ldr r2, [pc, #748] ; (80443f0 ) 8044102: 6013 str r3, [r2, #0] 8044104: e014 b.n 8044130 } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesCSV) 8044106: 4bbb ldr r3, [pc, #748] ; (80443f4 ) 8044108: 681b ldr r3, [r3, #0] 804410a: f103 020c add.w r2, r3, #12 804410e: 4bba ldr r3, [pc, #744] ; (80443f8 ) 8044110: 681b ldr r3, [r3, #0] 8044112: 429a cmp r2, r3 8044114: d20c bcs.n 8044130 { FirstFileIndex++; 8044116: 4bb7 ldr r3, [pc, #732] ; (80443f4 ) 8044118: 681b ldr r3, [r3, #0] 804411a: 3301 adds r3, #1 804411c: 4ab5 ldr r2, [pc, #724] ; (80443f4 ) 804411e: 6013 str r3, [r2, #0] result = ReadMyFilesGTR(FirstFileIndex); 8044120: 4bb4 ldr r3, [pc, #720] ; (80443f4 ) 8044122: 681b ldr r3, [r3, #0] 8044124: 4618 mov r0, r3 8044126: f7e6 fd17 bl 802ab58 804412a: 4603 mov r3, r0 804412c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 8044130: 4bb0 ldr r3, [pc, #704] ; (80443f4 ) 8044132: 681a ldr r2, [r3, #0] 8044134: 4bae ldr r3, [pc, #696] ; (80443f0 ) 8044136: 681b ldr r3, [r3, #0] 8044138: 4413 add r3, r2 804413a: 4ab0 ldr r2, [pc, #704] ; (80443fc ) 804413c: 6013 str r3, [r2, #0] } break; 804413e: e05f b.n 8044200 case CALIBR_00: if(Serial[menupos] > 0x30) 8044140: 4baa ldr r3, [pc, #680] ; (80443ec ) 8044142: 781b ldrb r3, [r3, #0] 8044144: b2db uxtb r3, r3 8044146: 461a mov r2, r3 8044148: 4bad ldr r3, [pc, #692] ; (8044400 ) 804414a: 5c9b ldrb r3, [r3, r2] 804414c: 2b30 cmp r3, #48 ; 0x30 804414e: d95a bls.n 8044206 Serial[menupos]--; 8044150: 4ba6 ldr r3, [pc, #664] ; (80443ec ) 8044152: 781b ldrb r3, [r3, #0] 8044154: b2db uxtb r3, r3 8044156: 4aaa ldr r2, [pc, #680] ; (8044400 ) 8044158: 5cd2 ldrb r2, [r2, r3] 804415a: 3a01 subs r2, #1 804415c: b2d1 uxtb r1, r2 804415e: 4aa8 ldr r2, [pc, #672] ; (8044400 ) 8044160: 54d1 strb r1, [r2, r3] break; 8044162: e050 b.n 8044206 break; 8044164: bf00 nop 8044166: f00f bd06 b.w 8053b76 break; 804416a: bf00 nop 804416c: f00f bd03 b.w 8053b76 break; 8044170: bf00 nop 8044172: f00f bd00 b.w 8053b76 break; 8044176: bf00 nop 8044178: f00f bcfd b.w 8053b76 break; 804417c: bf00 nop 804417e: f00f bcfa b.w 8053b76 break; 8044182: bf00 nop 8044184: f00f bcf7 b.w 8053b76 break; 8044188: bf00 nop 804418a: f00f bcf4 b.w 8053b76 break; 804418e: bf00 nop 8044190: f00f bcf1 b.w 8053b76 break; 8044194: bf00 nop 8044196: f00f bcee b.w 8053b76 break; 804419a: bf00 nop 804419c: f00f bceb b.w 8053b76 break; 80441a0: bf00 nop 80441a2: f00f bce8 b.w 8053b76 break; 80441a6: bf00 nop 80441a8: f00f bce5 b.w 8053b76 break; 80441ac: bf00 nop 80441ae: f00f bce2 b.w 8053b76 break; 80441b2: bf00 nop 80441b4: f00f bcdf b.w 8053b76 break; 80441b8: bf00 nop 80441ba: f00f bcdc b.w 8053b76 break; 80441be: bf00 nop 80441c0: f00f bcd9 b.w 8053b76 break; 80441c4: bf00 nop 80441c6: f00f bcd6 b.w 8053b76 break; 80441ca: bf00 nop 80441cc: f00f bcd3 b.w 8053b76 break; 80441d0: bf00 nop 80441d2: f00f bcd0 b.w 8053b76 break; 80441d6: bf00 nop 80441d8: f00f bccd b.w 8053b76 break; 80441dc: bf00 nop 80441de: f00f bcca b.w 8053b76 break; 80441e2: bf00 nop 80441e4: f00f bcc7 b.w 8053b76 break; 80441e8: bf00 nop 80441ea: f00f bcc4 b.w 8053b76 break; 80441ee: bf00 nop 80441f0: f00f bcc1 b.w 8053b76 break; 80441f4: bf00 nop 80441f6: f00f bcbe b.w 8053b76 break; 80441fa: bf00 nop 80441fc: f00f bcbb b.w 8053b76 break; 8044200: bf00 nop 8044202: f00f bcb8 b.w 8053b76 break; 8044206: bf00 nop } break; 8044208: f00f bcb5 b.w 8053b76 case KEY_LT: //TODO KEY LEFT switch(menu) 804420c: 4b7d ldr r3, [pc, #500] ; (8044404 ) 804420e: 781b ldrb r3, [r3, #0] 8044210: b2db uxtb r3, r3 8044212: 2b47 cmp r3, #71 ; 0x47 8044214: f20f 84b1 bhi.w 8053b7a 8044218: a201 add r2, pc, #4 ; (adr r2, 8044220 ) 804421a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804421e: bf00 nop 8044220: 08044b39 .word 0x08044b39 8044224: 08044f9d .word 0x08044f9d 8044228: 0804696d .word 0x0804696d 804422c: 08045195 .word 0x08045195 8044230: 080464ed .word 0x080464ed 8044234: 08053b7b .word 0x08053b7b 8044238: 080454c3 .word 0x080454c3 804423c: 080456ed .word 0x080456ed 8044240: 080460f9 .word 0x080460f9 8044244: 08053b7b .word 0x08053b7b 8044248: 080465d3 .word 0x080465d3 804424c: 08053b7b .word 0x08053b7b 8044250: 08053b7b .word 0x08053b7b 8044254: 08045275 .word 0x08045275 8044258: 080451dd .word 0x080451dd 804425c: 08044341 .word 0x08044341 8044260: 0804696d .word 0x0804696d 8044264: 08044415 .word 0x08044415 8044268: 080466f7 .word 0x080466f7 804426c: 080468b1 .word 0x080468b1 8044270: 0804696d .word 0x0804696d 8044274: 080450b9 .word 0x080450b9 8044278: 080450e9 .word 0x080450e9 804427c: 0804512d .word 0x0804512d 8044280: 080467f5 .word 0x080467f5 8044284: 08046847 .word 0x08046847 8044288: 08053b7b .word 0x08053b7b 804428c: 08053b7b .word 0x08053b7b 8044290: 08044d29 .word 0x08044d29 8044294: 08044b95 .word 0x08044b95 8044298: 08044f23 .word 0x08044f23 804429c: 08044b39 .word 0x08044b39 80442a0: 08044f79 .word 0x08044f79 80442a4: 08044d29 .word 0x08044d29 80442a8: 08044ed7 .word 0x08044ed7 80442ac: 08044efd .word 0x08044efd 80442b0: 08044d29 .word 0x08044d29 80442b4: 0804696d .word 0x0804696d 80442b8: 08044aed .word 0x08044aed 80442bc: 08053b7b .word 0x08053b7b 80442c0: 08044d29 .word 0x08044d29 80442c4: 08044fef .word 0x08044fef 80442c8: 0804502d .word 0x0804502d 80442cc: 0804506b .word 0x0804506b 80442d0: 0804506b .word 0x0804506b 80442d4: 0804506b .word 0x0804506b 80442d8: 08053b7b .word 0x08053b7b 80442dc: 0804506b .word 0x0804506b 80442e0: 0804506b .word 0x0804506b 80442e4: 0804506b .word 0x0804506b 80442e8: 0804506b .word 0x0804506b 80442ec: 0804506b .word 0x0804506b 80442f0: 0804690f .word 0x0804690f 80442f4: 08046929 .word 0x08046929 80442f8: 08046929 .word 0x08046929 80442fc: 08046929 .word 0x08046929 8044300: 08046929 .word 0x08046929 8044304: 08046929 .word 0x08046929 8044308: 08046929 .word 0x08046929 804430c: 08046929 .word 0x08046929 8044310: 08046929 .word 0x08046929 8044314: 08046929 .word 0x08046929 8044318: 08046943 .word 0x08046943 804431c: 08046943 .word 0x08046943 8044320: 08046943 .word 0x08046943 8044324: 08053b7b .word 0x08053b7b 8044328: 08053b7b .word 0x08053b7b 804432c: 08053b7b .word 0x08053b7b 8044330: 08053b7b .word 0x08053b7b 8044334: 08044ac7 .word 0x08044ac7 8044338: 08044ac7 .word 0x08044ac7 804433c: 08044ac7 .word 0x08044ac7 { case PARAM_DIAGN: switch(menupos) 8044340: 4b2a ldr r3, [pc, #168] ; (80443ec ) 8044342: 781b ldrb r3, [r3, #0] 8044344: b2db uxtb r3, r3 8044346: 3b01 subs r3, #1 8044348: 2b09 cmp r3, #9 804434a: f202 8312 bhi.w 8046972 804434e: a201 add r2, pc, #4 ; (adr r2, 8044354 ) 8044350: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044354: 0804437d .word 0x0804437d 8044358: 08046973 .word 0x08046973 804435c: 08046973 .word 0x08046973 8044360: 080443d9 .word 0x080443d9 8044364: 080443a9 .word 0x080443a9 8044368: 080443d1 .word 0x080443d1 804436c: 080443c9 .word 0x080443c9 8044370: 080443c1 .word 0x080443c1 8044374: 080443b9 .word 0x080443b9 8044378: 080443b1 .word 0x080443b1 { case DiagAverage: if(focused) 804437c: 4b22 ldr r3, [pc, #136] ; (8044408 ) 804437e: 781b ldrb r3, [r3, #0] 8044380: b2db uxtb r3, r3 8044382: 2b00 cmp r3, #0 8044384: d02e beq.n 80443e4 { if(pardata.AVG > AVG1) pardata.AVG--; 8044386: 4b21 ldr r3, [pc, #132] ; (804440c ) 8044388: 7b5b ldrb r3, [r3, #13] 804438a: b2db uxtb r3, r3 804438c: 2b00 cmp r3, #0 804438e: d007 beq.n 80443a0 8044390: 4b1e ldr r3, [pc, #120] ; (804440c ) 8044392: 7b5b ldrb r3, [r3, #13] 8044394: b2db uxtb r3, r3 8044396: 3b01 subs r3, #1 8044398: b2da uxtb r2, r3 804439a: 4b1c ldr r3, [pc, #112] ; (804440c ) 804439c: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } break; 804439e: e021 b.n 80443e4 else pardata.AVG = AVG512; 80443a0: 4b1a ldr r3, [pc, #104] ; (804440c ) 80443a2: 2209 movs r2, #9 80443a4: 735a strb r2, [r3, #13] break; 80443a6: e01d b.n 80443e4 case DiagMax_IDT: menupos = DiagMax_IKD; break; 80443a8: 4b10 ldr r3, [pc, #64] ; (80443ec ) 80443aa: 220a movs r2, #10 80443ac: 701a strb r2, [r3, #0] 80443ae: e01a b.n 80443e6 case DiagMax_IKD: menupos = DiagMax_IEE; break; 80443b0: 4b0e ldr r3, [pc, #56] ; (80443ec ) 80443b2: 2209 movs r2, #9 80443b4: 701a strb r2, [r3, #0] 80443b6: e016 b.n 80443e6 case DiagMax_IEE: menupos = DiagMax_IED; break; 80443b8: 4b0c ldr r3, [pc, #48] ; (80443ec ) 80443ba: 2208 movs r2, #8 80443bc: 701a strb r2, [r3, #0] 80443be: e012 b.n 80443e6 case DiagMax_IED: menupos = DiagMax_IES; break; 80443c0: 4b0a ldr r3, [pc, #40] ; (80443ec ) 80443c2: 2207 movs r2, #7 80443c4: 701a strb r2, [r3, #0] 80443c6: e00e b.n 80443e6 case DiagMax_IES: menupos = DiagMax_IET; break; 80443c8: 4b08 ldr r3, [pc, #32] ; (80443ec ) 80443ca: 2206 movs r2, #6 80443cc: 701a strb r2, [r3, #0] 80443ce: e00a b.n 80443e6 case DiagMax_IET: menupos = DiagMax_IDT; break; 80443d0: 4b06 ldr r3, [pc, #24] ; (80443ec ) 80443d2: 2205 movs r2, #5 80443d4: 701a strb r2, [r3, #0] 80443d6: e006 b.n 80443e6 case DiagSaveToFile: memset(DiagFileName, 0, sizeof(DiagFileName)); 80443d8: 2221 movs r2, #33 ; 0x21 80443da: 2100 movs r1, #0 80443dc: 480c ldr r0, [pc, #48] ; (8044410 ) 80443de: f08c ffdf bl 80d13a0 break; 80443e2: e000 b.n 80443e6 break; 80443e4: bf00 nop } break; 80443e6: f002 bac4 b.w 8046972 80443ea: bf00 nop 80443ec: 20020070 .word 0x20020070 80443f0: 20020e00 .word 0x20020e00 80443f4: 20020e04 .word 0x20020e04 80443f8: 20020e28 .word 0x20020e28 80443fc: 20020e08 .word 0x20020e08 8044400: 20026d44 .word 0x20026d44 8044404: 20020fbd .word 0x20020fbd 8044408: 20020fc8 .word 0x20020fc8 804440c: 20023ea8 .word 0x20023ea8 8044410: 20020e9c .word 0x20020e9c case PARAM_DIAGN_1: //case ROUTE_MAP break; case PARAM_DIAGN_2: switch(menupos) 8044414: 4b6f ldr r3, [pc, #444] ; (80445d4 ) 8044416: 781b ldrb r3, [r3, #0] 8044418: b2db uxtb r3, r3 804441a: 3b01 subs r3, #1 804441c: 2b23 cmp r3, #35 ; 0x23 804441e: f202 82ab bhi.w 8046978 8044422: a201 add r2, pc, #4 ; (adr r2, 8044428 ) 8044424: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044428: 080444b9 .word 0x080444b9 804442c: 080444c7 .word 0x080444c7 8044430: 0804450f .word 0x0804450f 8044434: 0804451d .word 0x0804451d 8044438: 08044563 .word 0x08044563 804443c: 08046979 .word 0x08046979 8044440: 08044571 .word 0x08044571 8044444: 0804488d .word 0x0804488d 8044448: 080449fb .word 0x080449fb 804444c: 080449fb .word 0x080449fb 8044450: 080449fb .word 0x080449fb 8044454: 080449fb .word 0x080449fb 8044458: 08044a03 .word 0x08044a03 804445c: 08044a2b .word 0x08044a2b 8044460: 08044a23 .word 0x08044a23 8044464: 08044a1b .word 0x08044a1b 8044468: 08044a13 .word 0x08044a13 804446c: 08044a0b .word 0x08044a0b 8044470: 08044a33 .word 0x08044a33 8044474: 08044a5b .word 0x08044a5b 8044478: 08044a53 .word 0x08044a53 804447c: 08044a4b .word 0x08044a4b 8044480: 08044a43 .word 0x08044a43 8044484: 08044a3b .word 0x08044a3b 8044488: 08044a63 .word 0x08044a63 804448c: 08044a8b .word 0x08044a8b 8044490: 08044a83 .word 0x08044a83 8044494: 08044a7b .word 0x08044a7b 8044498: 08044a73 .word 0x08044a73 804449c: 08044a6b .word 0x08044a6b 80444a0: 08044a93 .word 0x08044a93 80444a4: 08044abb .word 0x08044abb 80444a8: 08044ab3 .word 0x08044ab3 80444ac: 08044aab .word 0x08044aab 80444b0: 08044aa3 .word 0x08044aa3 80444b4: 08044a9b .word 0x08044a9b { case DiagUs1: menupos = DiagUs3; 80444b8: 4b46 ldr r3, [pc, #280] ; (80445d4 ) 80444ba: 2205 movs r2, #5 80444bc: 701a strb r2, [r3, #0] CURR_USL = Us3; 80444be: 4b46 ldr r3, [pc, #280] ; (80445d8 ) 80444c0: 2202 movs r2, #2 80444c2: 701a strb r2, [r3, #0] break; 80444c4: e2fd b.n 8044ac2 case DiagOp1: if(!focused) 80444c6: 4b45 ldr r3, [pc, #276] ; (80445dc ) 80444c8: 781b ldrb r3, [r3, #0] 80444ca: b2db uxtb r3, r3 80444cc: f083 0301 eor.w r3, r3, #1 80444d0: b2db uxtb r3, r3 80444d2: 2b00 cmp r3, #0 80444d4: d006 beq.n 80444e4 { menupos = DiagUs1; 80444d6: 4b3f ldr r3, [pc, #252] ; (80445d4 ) 80444d8: 2201 movs r2, #1 80444da: 701a strb r2, [r3, #0] CURR_USL = Us1; 80444dc: 4b3e ldr r3, [pc, #248] ; (80445d8 ) 80444de: 2200 movs r2, #0 80444e0: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; } break; 80444e2: e2ee b.n 8044ac2 pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; 80444e4: 4b3e ldr r3, [pc, #248] ; (80445e0 ) 80444e6: 781b ldrb r3, [r3, #0] 80444e8: b2db uxtb r3, r3 80444ea: 4618 mov r0, r3 80444ec: 4a3d ldr r2, [pc, #244] ; (80445e4 ) 80444ee: 3386 adds r3, #134 ; 0x86 80444f0: 009b lsls r3, r3, #2 80444f2: 4413 add r3, r2 80444f4: 791b ldrb r3, [r3, #4] 80444f6: b2db uxtb r3, r3 80444f8: f083 0301 eor.w r3, r3, #1 80444fc: b2d9 uxtb r1, r3 80444fe: 4a39 ldr r2, [pc, #228] ; (80445e4 ) 8044500: f100 0386 add.w r3, r0, #134 ; 0x86 8044504: 009b lsls r3, r3, #2 8044506: 4413 add r3, r2 8044508: 460a mov r2, r1 804450a: 711a strb r2, [r3, #4] break; 804450c: e2d9 b.n 8044ac2 case DiagUs2: menupos = DiagOp1; 804450e: 4b31 ldr r3, [pc, #196] ; (80445d4 ) 8044510: 2202 movs r2, #2 8044512: 701a strb r2, [r3, #0] CURR_USL = Us2; 8044514: 4b30 ldr r3, [pc, #192] ; (80445d8 ) 8044516: 2201 movs r2, #1 8044518: 701a strb r2, [r3, #0] break; 804451a: e2d2 b.n 8044ac2 case DiagOp2: if(!focused) 804451c: 4b2f ldr r3, [pc, #188] ; (80445dc ) 804451e: 781b ldrb r3, [r3, #0] 8044520: b2db uxtb r3, r3 8044522: f083 0301 eor.w r3, r3, #1 8044526: b2db uxtb r3, r3 8044528: 2b00 cmp r3, #0 804452a: d006 beq.n 804453a { menupos = DiagUs2; 804452c: 4b29 ldr r3, [pc, #164] ; (80445d4 ) 804452e: 2203 movs r2, #3 8044530: 701a strb r2, [r3, #0] CURR_USL = Us2; 8044532: 4b29 ldr r3, [pc, #164] ; (80445d8 ) 8044534: 2201 movs r2, #1 8044536: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; } break; 8044538: e2c3 b.n 8044ac2 pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; 804453a: 4b29 ldr r3, [pc, #164] ; (80445e0 ) 804453c: 781b ldrb r3, [r3, #0] 804453e: b2db uxtb r3, r3 8044540: 4618 mov r0, r3 8044542: 4a28 ldr r2, [pc, #160] ; (80445e4 ) 8044544: 009b lsls r3, r3, #2 8044546: 4413 add r3, r2 8044548: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 804454c: b2db uxtb r3, r3 804454e: f083 0301 eor.w r3, r3, #1 8044552: b2d9 uxtb r1, r3 8044554: 4a23 ldr r2, [pc, #140] ; (80445e4 ) 8044556: 0083 lsls r3, r0, #2 8044558: 4413 add r3, r2 804455a: 460a mov r2, r1 804455c: f883 221d strb.w r2, [r3, #541] ; 0x21d break; 8044560: e2af b.n 8044ac2 case DiagUs3: menupos = DiagOp2; 8044562: 4b1c ldr r3, [pc, #112] ; (80445d4 ) 8044564: 2204 movs r2, #4 8044566: 701a strb r2, [r3, #0] CURR_USL = Us3; 8044568: 4b1b ldr r3, [pc, #108] ; (80445d8 ) 804456a: 2202 movs r2, #2 804456c: 701a strb r2, [r3, #0] break; 804456e: e2a8 b.n 8044ac2 case DiagAVS: if(focused) 8044570: 4b1a ldr r3, [pc, #104] ; (80445dc ) 8044572: 781b ldrb r3, [r3, #0] 8044574: b2db uxtb r3, r3 8044576: 2b00 cmp r3, #0 8044578: f000 8184 beq.w 8044884 { tmp8 = pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7; 804457c: 4b18 ldr r3, [pc, #96] ; (80445e0 ) 804457e: 781b ldrb r3, [r3, #0] 8044580: b2db uxtb r3, r3 8044582: 4618 mov r0, r3 8044584: 4b14 ldr r3, [pc, #80] ; (80445d8 ) 8044586: 781b ldrb r3, [r3, #0] 8044588: b2db uxtb r3, r3 804458a: 4619 mov r1, r3 804458c: 4a15 ldr r2, [pc, #84] ; (80445e4 ) 804458e: 0083 lsls r3, r0, #2 8044590: 4413 add r3, r2 8044592: 440b add r3, r1 8044594: f503 730f add.w r3, r3, #572 ; 0x23c 8044598: 781b ldrb r3, [r3, #0] 804459a: b2db uxtb r3, r3 804459c: f003 0307 and.w r3, r3, #7 80445a0: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_NO) tmp8 = DIAGN_DIS; 80445a4: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80445a8: 2b00 cmp r3, #0 80445aa: d103 bne.n 80445b4 80445ac: 2304 movs r3, #4 80445ae: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80445b2: e020 b.n 80445f6 else if(tmp8 == DIAGN_DIS) tmp8 = DIAGN_VEL; 80445b4: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80445b8: 2b04 cmp r3, #4 80445ba: d103 bne.n 80445c4 80445bc: 2302 movs r3, #2 80445be: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80445c2: e018 b.n 80445f6 else if(tmp8 == DIAGN_VEL) tmp8 = DIAGN_ACC; 80445c4: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80445c8: 2b02 cmp r3, #2 80445ca: d10d bne.n 80445e8 80445cc: 2301 movs r3, #1 80445ce: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80445d2: e010 b.n 80445f6 80445d4: 20020070 .word 0x20020070 80445d8: 20021057 .word 0x20021057 80445dc: 20020fc8 .word 0x20020fc8 80445e0: 20021055 .word 0x20021055 80445e4: 20023ea8 .word 0x20023ea8 else if(tmp8 == DIAGN_ACC) tmp8 = DIAGN_NO; 80445e8: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80445ec: 2b01 cmp r3, #1 80445ee: d102 bne.n 80445f6 80445f0: 2300 movs r3, #0 80445f2: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0xf8; 80445f6: 4bc6 ldr r3, [pc, #792] ; (8044910 ) 80445f8: 781b ldrb r3, [r3, #0] 80445fa: b2da uxtb r2, r3 80445fc: 4614 mov r4, r2 80445fe: 4bc5 ldr r3, [pc, #788] ; (8044914 ) 8044600: 781b ldrb r3, [r3, #0] 8044602: b2db uxtb r3, r3 8044604: 4618 mov r0, r3 8044606: 4615 mov r5, r2 8044608: 4619 mov r1, r3 804460a: 4ac3 ldr r2, [pc, #780] ; (8044918 ) 804460c: 00ab lsls r3, r5, #2 804460e: 4413 add r3, r2 8044610: 440b add r3, r1 8044612: f503 730f add.w r3, r3, #572 ; 0x23c 8044616: 781b ldrb r3, [r3, #0] 8044618: b2db uxtb r3, r3 804461a: f023 0307 bic.w r3, r3, #7 804461e: b2d9 uxtb r1, r3 8044620: 4abd ldr r2, [pc, #756] ; (8044918 ) 8044622: 00a3 lsls r3, r4, #2 8044624: 4413 add r3, r2 8044626: 4403 add r3, r0 8044628: f503 730f add.w r3, r3, #572 ; 0x23c 804462c: 460a mov r2, r1 804462e: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= tmp8; 8044630: 4bb7 ldr r3, [pc, #732] ; (8044910 ) 8044632: 781b ldrb r3, [r3, #0] 8044634: b2da uxtb r2, r3 8044636: 4614 mov r4, r2 8044638: 4bb6 ldr r3, [pc, #728] ; (8044914 ) 804463a: 781b ldrb r3, [r3, #0] 804463c: b2db uxtb r3, r3 804463e: 4618 mov r0, r3 8044640: 4615 mov r5, r2 8044642: 4619 mov r1, r3 8044644: 4ab4 ldr r2, [pc, #720] ; (8044918 ) 8044646: 00ab lsls r3, r5, #2 8044648: 4413 add r3, r2 804464a: 440b add r3, r1 804464c: f503 730f add.w r3, r3, #572 ; 0x23c 8044650: 781b ldrb r3, [r3, #0] 8044652: b2da uxtb r2, r3 8044654: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044658: 4313 orrs r3, r2 804465a: b2d9 uxtb r1, r3 804465c: 4aae ldr r2, [pc, #696] ; (8044918 ) 804465e: 00a3 lsls r3, r4, #2 8044660: 4413 add r3, r2 8044662: 4403 add r3, r0 8044664: f503 730f add.w r3, r3, #572 ; 0x23c 8044668: 460a mov r2, r1 804466a: 701a strb r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) > DIAGN_ACC) 804466c: 4ba8 ldr r3, [pc, #672] ; (8044910 ) 804466e: 781b ldrb r3, [r3, #0] 8044670: b2db uxtb r3, r3 8044672: 4618 mov r0, r3 8044674: 4ba7 ldr r3, [pc, #668] ; (8044914 ) 8044676: 781b ldrb r3, [r3, #0] 8044678: b2db uxtb r3, r3 804467a: 4619 mov r1, r3 804467c: 4aa6 ldr r2, [pc, #664] ; (8044918 ) 804467e: 0083 lsls r3, r0, #2 8044680: 4413 add r3, r2 8044682: 440b add r3, r1 8044684: f503 730f add.w r3, r3, #572 ; 0x23c 8044688: 781b ldrb r3, [r3, #0] 804468a: b2db uxtb r3, r3 804468c: f003 0307 and.w r3, r3, #7 8044690: 2b01 cmp r3, #1 8044692: f340 8086 ble.w 80447a2 { if(pardata.DIAGN_HP[CURR_POINT][CURR_USL] < 2.0f) 8044696: 4b9e ldr r3, [pc, #632] ; (8044910 ) 8044698: 781b ldrb r3, [r3, #0] 804469a: b2db uxtb r3, r3 804469c: 4618 mov r0, r3 804469e: 4b9d ldr r3, [pc, #628] ; (8044914 ) 80446a0: 781b ldrb r3, [r3, #0] 80446a2: b2db uxtb r3, r3 80446a4: 4619 mov r1, r3 80446a6: 4a9c ldr r2, [pc, #624] ; (8044918 ) 80446a8: 0083 lsls r3, r0, #2 80446aa: 440b add r3, r1 80446ac: 3396 adds r3, #150 ; 0x96 80446ae: 009b lsls r3, r3, #2 80446b0: 4413 add r3, r2 80446b2: 3304 adds r3, #4 80446b4: edd3 7a00 vldr s15, [r3] 80446b8: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80446bc: eef4 7ac7 vcmpe.f32 s15, s14 80446c0: eef1 fa10 vmrs APSR_nzcv, fpscr 80446c4: d511 bpl.n 80446ea pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 80446c6: 4b92 ldr r3, [pc, #584] ; (8044910 ) 80446c8: 781b ldrb r3, [r3, #0] 80446ca: b2db uxtb r3, r3 80446cc: 4618 mov r0, r3 80446ce: 4b91 ldr r3, [pc, #580] ; (8044914 ) 80446d0: 781b ldrb r3, [r3, #0] 80446d2: b2db uxtb r3, r3 80446d4: 4619 mov r1, r3 80446d6: 4a90 ldr r2, [pc, #576] ; (8044918 ) 80446d8: 0083 lsls r3, r0, #2 80446da: 440b add r3, r1 80446dc: 3396 adds r3, #150 ; 0x96 80446de: 009b lsls r3, r3, #2 80446e0: 4413 add r3, r2 80446e2: 3304 adds r3, #4 80446e4: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80446e8: 601a str r2, [r3, #0] tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 80446ea: 4b89 ldr r3, [pc, #548] ; (8044910 ) 80446ec: 781b ldrb r3, [r3, #0] 80446ee: b2db uxtb r3, r3 80446f0: 4618 mov r0, r3 80446f2: 4b88 ldr r3, [pc, #544] ; (8044914 ) 80446f4: 781b ldrb r3, [r3, #0] 80446f6: b2db uxtb r3, r3 80446f8: 4619 mov r1, r3 80446fa: 4a87 ldr r2, [pc, #540] ; (8044918 ) 80446fc: 0083 lsls r3, r0, #2 80446fe: 4413 add r3, r2 8044700: 440b add r3, r1 8044702: f503 730f add.w r3, r3, #572 ; 0x23c 8044706: 781b ldrb r3, [r3, #0] 8044708: b2db uxtb r3, r3 804470a: 08db lsrs r3, r3, #3 804470c: b2db uxtb r3, r3 804470e: f003 031f and.w r3, r3, #31 8044712: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_EXCESS) { 8044716: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 804471a: 2b10 cmp r3, #16 804471c: d102 bne.n 8044724 tmp8 = DIAGN_PEAK; 804471e: 2301 movs r3, #1 8044720: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 } pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 8044724: 4b7a ldr r3, [pc, #488] ; (8044910 ) 8044726: 781b ldrb r3, [r3, #0] 8044728: b2da uxtb r2, r3 804472a: 4614 mov r4, r2 804472c: 4b79 ldr r3, [pc, #484] ; (8044914 ) 804472e: 781b ldrb r3, [r3, #0] 8044730: b2db uxtb r3, r3 8044732: 4618 mov r0, r3 8044734: 4615 mov r5, r2 8044736: 4619 mov r1, r3 8044738: 4a77 ldr r2, [pc, #476] ; (8044918 ) 804473a: 00ab lsls r3, r5, #2 804473c: 4413 add r3, r2 804473e: 440b add r3, r1 8044740: f503 730f add.w r3, r3, #572 ; 0x23c 8044744: 781b ldrb r3, [r3, #0] 8044746: b2db uxtb r3, r3 8044748: f003 0307 and.w r3, r3, #7 804474c: b2d9 uxtb r1, r3 804474e: 4a72 ldr r2, [pc, #456] ; (8044918 ) 8044750: 00a3 lsls r3, r4, #2 8044752: 4413 add r3, r2 8044754: 4403 add r3, r0 8044756: f503 730f add.w r3, r3, #572 ; 0x23c 804475a: 460a mov r2, r1 804475c: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 804475e: 4b6c ldr r3, [pc, #432] ; (8044910 ) 8044760: 781b ldrb r3, [r3, #0] 8044762: b2da uxtb r2, r3 8044764: 4614 mov r4, r2 8044766: 4b6b ldr r3, [pc, #428] ; (8044914 ) 8044768: 781b ldrb r3, [r3, #0] 804476a: b2db uxtb r3, r3 804476c: 4618 mov r0, r3 804476e: 4615 mov r5, r2 8044770: 4619 mov r1, r3 8044772: 4a69 ldr r2, [pc, #420] ; (8044918 ) 8044774: 00ab lsls r3, r5, #2 8044776: 4413 add r3, r2 8044778: 440b add r3, r1 804477a: f503 730f add.w r3, r3, #572 ; 0x23c 804477e: 781b ldrb r3, [r3, #0] 8044780: b2db uxtb r3, r3 8044782: b25a sxtb r2, r3 8044784: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044788: 00db lsls r3, r3, #3 804478a: b25b sxtb r3, r3 804478c: 4313 orrs r3, r2 804478e: b25b sxtb r3, r3 8044790: b2d9 uxtb r1, r3 8044792: 4a61 ldr r2, [pc, #388] ; (8044918 ) 8044794: 00a3 lsls r3, r4, #2 8044796: 4413 add r3, r2 8044798: 4403 add r3, r0 804479a: f503 730f add.w r3, r3, #572 ; 0x23c 804479e: 460a mov r2, r1 80447a0: 701a strb r2, [r3, #0] } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.DIAGN_LP[CURR_POINT][CURR_USL]) + 0.00005f) < 5.0) 80447a2: 4b5d ldr r3, [pc, #372] ; (8044918 ) 80447a4: 7adb ldrb r3, [r3, #11] 80447a6: b2db uxtb r3, r3 80447a8: 461a mov r2, r3 80447aa: 4b5c ldr r3, [pc, #368] ; (804491c ) 80447ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80447b0: ee07 3a90 vmov s15, r3 80447b4: eeb8 5b67 vcvt.f64.u32 d5, s15 80447b8: 4b55 ldr r3, [pc, #340] ; (8044910 ) 80447ba: 781b ldrb r3, [r3, #0] 80447bc: b2db uxtb r3, r3 80447be: 4618 mov r0, r3 80447c0: 4b54 ldr r3, [pc, #336] ; (8044914 ) 80447c2: 781b ldrb r3, [r3, #0] 80447c4: b2db uxtb r3, r3 80447c6: 4619 mov r1, r3 80447c8: 4a53 ldr r2, [pc, #332] ; (8044918 ) 80447ca: 0083 lsls r3, r0, #2 80447cc: 440b add r3, r1 80447ce: 33b6 adds r3, #182 ; 0xb6 80447d0: 009b lsls r3, r3, #2 80447d2: 4413 add r3, r2 80447d4: 3304 adds r3, #4 80447d6: edd3 7a00 vldr s15, [r3] 80447da: eeb7 6ae7 vcvt.f64.f32 d6, s15 80447de: ee85 7b06 vdiv.f64 d7, d5, d6 80447e2: ed9f 6b47 vldr d6, [pc, #284] ; 8044900 80447e6: ee37 7b06 vadd.f64 d7, d7, d6 80447ea: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 80447ee: eeb4 7bc6 vcmpe.f64 d7, d6 80447f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80447f6: d400 bmi.n 80447fa pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; } } else menupos = Ok; break; 80447f8: e163 b.n 8044ac2 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5); 80447fa: 4b45 ldr r3, [pc, #276] ; (8044910 ) 80447fc: 781b ldrb r3, [r3, #0] 80447fe: b2db uxtb r3, r3 8044800: 4618 mov r0, r3 8044802: 4b44 ldr r3, [pc, #272] ; (8044914 ) 8044804: 781b ldrb r3, [r3, #0] 8044806: b2db uxtb r3, r3 8044808: 4619 mov r1, r3 804480a: 4b43 ldr r3, [pc, #268] ; (8044918 ) 804480c: 7adb ldrb r3, [r3, #11] 804480e: b2db uxtb r3, r3 8044810: 461a mov r2, r3 8044812: 4b42 ldr r3, [pc, #264] ; (804491c ) 8044814: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8044818: 4a41 ldr r2, [pc, #260] ; (8044920 ) 804481a: fba2 2303 umull r2, r3, r2, r3 804481e: 089b lsrs r3, r3, #2 8044820: ee07 3a90 vmov s15, r3 8044824: eef8 7a67 vcvt.f32.u32 s15, s15 8044828: 4a3b ldr r2, [pc, #236] ; (8044918 ) 804482a: 0083 lsls r3, r0, #2 804482c: 440b add r3, r1 804482e: 33b6 adds r3, #182 ; 0xb6 8044830: 009b lsls r3, r3, #2 8044832: 4413 add r3, r2 8044834: 3304 adds r3, #4 8044836: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; 804483a: 4b35 ldr r3, [pc, #212] ; (8044910 ) 804483c: 781b ldrb r3, [r3, #0] 804483e: b2da uxtb r2, r3 8044840: 4610 mov r0, r2 8044842: 4b34 ldr r3, [pc, #208] ; (8044914 ) 8044844: 781b ldrb r3, [r3, #0] 8044846: b2db uxtb r3, r3 8044848: 4619 mov r1, r3 804484a: 4615 mov r5, r2 804484c: 461c mov r4, r3 804484e: 4a32 ldr r2, [pc, #200] ; (8044918 ) 8044850: 00ab lsls r3, r5, #2 8044852: 4423 add r3, r4 8044854: 33b6 adds r3, #182 ; 0xb6 8044856: 009b lsls r3, r3, #2 8044858: 4413 add r3, r2 804485a: 3304 adds r3, #4 804485c: edd3 7a00 vldr s15, [r3] 8044860: eeb7 7ae7 vcvt.f64.f32 d7, s15 8044864: ed9f 6b28 vldr d6, [pc, #160] ; 8044908 8044868: ee37 7b06 vadd.f64 d7, d7, d6 804486c: eef7 7bc7 vcvt.f32.f64 s15, d7 8044870: 4a29 ldr r2, [pc, #164] ; (8044918 ) 8044872: 0083 lsls r3, r0, #2 8044874: 440b add r3, r1 8044876: 33b6 adds r3, #182 ; 0xb6 8044878: 009b lsls r3, r3, #2 804487a: 4413 add r3, r2 804487c: 3304 adds r3, #4 804487e: edc3 7a00 vstr s15, [r3] break; 8044882: e11e b.n 8044ac2 menupos = Ok; 8044884: 4b27 ldr r3, [pc, #156] ; (8044924 ) 8044886: 2200 movs r2, #0 8044888: 701a strb r2, [r3, #0] break; 804488a: e11a b.n 8044ac2 case DiagValue: if(focused) 804488c: 4b26 ldr r3, [pc, #152] ; (8044928 ) 804488e: 781b ldrb r3, [r3, #0] 8044890: b2db uxtb r3, r3 8044892: 2b00 cmp r3, #0 8044894: f000 80ad beq.w 80449f2 { tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 8044898: 4b1d ldr r3, [pc, #116] ; (8044910 ) 804489a: 781b ldrb r3, [r3, #0] 804489c: b2db uxtb r3, r3 804489e: 4618 mov r0, r3 80448a0: 4b1c ldr r3, [pc, #112] ; (8044914 ) 80448a2: 781b ldrb r3, [r3, #0] 80448a4: b2db uxtb r3, r3 80448a6: 4619 mov r1, r3 80448a8: 4a1b ldr r2, [pc, #108] ; (8044918 ) 80448aa: 0083 lsls r3, r0, #2 80448ac: 4413 add r3, r2 80448ae: 440b add r3, r1 80448b0: f503 730f add.w r3, r3, #572 ; 0x23c 80448b4: 781b ldrb r3, [r3, #0] 80448b6: b2db uxtb r3, r3 80448b8: 08db lsrs r3, r3, #3 80448ba: b2db uxtb r3, r3 80448bc: f003 031f and.w r3, r3, #31 80448c0: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_PEAK) 80448c4: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80448c8: 2b01 cmp r3, #1 80448ca: d133 bne.n 8044934 { if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 80448cc: 4b10 ldr r3, [pc, #64] ; (8044910 ) 80448ce: 781b ldrb r3, [r3, #0] 80448d0: b2db uxtb r3, r3 80448d2: 4618 mov r0, r3 80448d4: 4b0f ldr r3, [pc, #60] ; (8044914 ) 80448d6: 781b ldrb r3, [r3, #0] 80448d8: b2db uxtb r3, r3 80448da: 4619 mov r1, r3 80448dc: 4a0e ldr r2, [pc, #56] ; (8044918 ) 80448de: 0083 lsls r3, r0, #2 80448e0: 4413 add r3, r2 80448e2: 440b add r3, r1 80448e4: f503 730f add.w r3, r3, #572 ; 0x23c 80448e8: 781b ldrb r3, [r3, #0] 80448ea: b2db uxtb r3, r3 80448ec: f003 0307 and.w r3, r3, #7 80448f0: 2b01 cmp r3, #1 80448f2: d11b bne.n 804492c tmp8 = DIAGN_EXCESS; 80448f4: 2310 movs r3, #16 80448f6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80448fa: e03a b.n 8044972 80448fc: f3af 8000 nop.w 8044900: e0000000 .word 0xe0000000 8044904: 3f0a36e2 .word 0x3f0a36e2 8044908: eb1c432d .word 0xeb1c432d 804490c: 3f1a36e2 .word 0x3f1a36e2 8044910: 20021055 .word 0x20021055 8044914: 20021057 .word 0x20021057 8044918: 20023ea8 .word 0x20023ea8 804491c: 080f2c08 .word 0x080f2c08 8044920: cccccccd .word 0xcccccccd 8044924: 20020070 .word 0x20020070 8044928: 20020fc8 .word 0x20020fc8 else tmp8 = DIAGN_PEAK_FACTOR; 804492c: 2308 movs r3, #8 804492e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8044932: e01e b.n 8044972 } else if(tmp8 == DIAGN_EXCESS) tmp8 = DIAGN_PEAK_FACTOR; 8044934: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044938: 2b10 cmp r3, #16 804493a: d103 bne.n 8044944 804493c: 2308 movs r3, #8 804493e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8044942: e016 b.n 8044972 else if(tmp8 == DIAGN_PEAK_FACTOR) tmp8 = DIAGN_PEAK_TO_PEAK; 8044944: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044948: 2b08 cmp r3, #8 804494a: d103 bne.n 8044954 804494c: 2304 movs r3, #4 804494e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8044952: e00e b.n 8044972 else if(tmp8 == DIAGN_PEAK_TO_PEAK) tmp8 = DIAGN_RMS; 8044954: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044958: 2b04 cmp r3, #4 804495a: d103 bne.n 8044964 804495c: 2302 movs r3, #2 804495e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8044962: e006 b.n 8044972 else if(tmp8 == DIAGN_RMS) tmp8 = DIAGN_PEAK; 8044964: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044968: 2b02 cmp r3, #2 804496a: d102 bne.n 8044972 804496c: 2301 movs r3, #1 804496e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 8044972: 4b8c ldr r3, [pc, #560] ; (8044ba4 ) 8044974: 781b ldrb r3, [r3, #0] 8044976: b2da uxtb r2, r3 8044978: 4614 mov r4, r2 804497a: 4b8b ldr r3, [pc, #556] ; (8044ba8 ) 804497c: 781b ldrb r3, [r3, #0] 804497e: b2db uxtb r3, r3 8044980: 4618 mov r0, r3 8044982: 4615 mov r5, r2 8044984: 4619 mov r1, r3 8044986: 4a89 ldr r2, [pc, #548] ; (8044bac ) 8044988: 00ab lsls r3, r5, #2 804498a: 4413 add r3, r2 804498c: 440b add r3, r1 804498e: f503 730f add.w r3, r3, #572 ; 0x23c 8044992: 781b ldrb r3, [r3, #0] 8044994: b2db uxtb r3, r3 8044996: f003 0307 and.w r3, r3, #7 804499a: b2d9 uxtb r1, r3 804499c: 4a83 ldr r2, [pc, #524] ; (8044bac ) 804499e: 00a3 lsls r3, r4, #2 80449a0: 4413 add r3, r2 80449a2: 4403 add r3, r0 80449a4: f503 730f add.w r3, r3, #572 ; 0x23c 80449a8: 460a mov r2, r1 80449aa: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 80449ac: 4b7d ldr r3, [pc, #500] ; (8044ba4 ) 80449ae: 781b ldrb r3, [r3, #0] 80449b0: b2da uxtb r2, r3 80449b2: 4614 mov r4, r2 80449b4: 4b7c ldr r3, [pc, #496] ; (8044ba8 ) 80449b6: 781b ldrb r3, [r3, #0] 80449b8: b2db uxtb r3, r3 80449ba: 4618 mov r0, r3 80449bc: 4615 mov r5, r2 80449be: 4619 mov r1, r3 80449c0: 4a7a ldr r2, [pc, #488] ; (8044bac ) 80449c2: 00ab lsls r3, r5, #2 80449c4: 4413 add r3, r2 80449c6: 440b add r3, r1 80449c8: f503 730f add.w r3, r3, #572 ; 0x23c 80449cc: 781b ldrb r3, [r3, #0] 80449ce: b2db uxtb r3, r3 80449d0: b25a sxtb r2, r3 80449d2: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80449d6: 00db lsls r3, r3, #3 80449d8: b25b sxtb r3, r3 80449da: 4313 orrs r3, r2 80449dc: b25b sxtb r3, r3 80449de: b2d9 uxtb r1, r3 80449e0: 4a72 ldr r2, [pc, #456] ; (8044bac ) 80449e2: 00a3 lsls r3, r4, #2 80449e4: 4413 add r3, r2 80449e6: 4403 add r3, r0 80449e8: f503 730f add.w r3, r3, #572 ; 0x23c 80449ec: 460a mov r2, r1 80449ee: 701a strb r2, [r3, #0] } else menupos = Ok; break; 80449f0: e067 b.n 8044ac2 menupos = Ok; 80449f2: 4b6f ldr r3, [pc, #444] ; (8044bb0 ) 80449f4: 2200 movs r2, #0 80449f6: 701a strb r2, [r3, #0] break; 80449f8: e063 b.n 8044ac2 case DiagHP: case DiagLP: case Diag_W: case Diag_A: menupos = Ok; 80449fa: 4b6d ldr r3, [pc, #436] ; (8044bb0 ) 80449fc: 2200 movs r2, #0 80449fe: 701a strb r2, [r3, #0] break; 8044a00: e05f b.n 8044ac2 case DiagHP_IDT: menupos = DiagHP_IKD; break; 8044a02: 4b6b ldr r3, [pc, #428] ; (8044bb0 ) 8044a04: 2212 movs r2, #18 8044a06: 701a strb r2, [r3, #0] 8044a08: e05b b.n 8044ac2 case DiagHP_IKD: menupos = DiagHP_IEE; break; 8044a0a: 4b69 ldr r3, [pc, #420] ; (8044bb0 ) 8044a0c: 2211 movs r2, #17 8044a0e: 701a strb r2, [r3, #0] 8044a10: e057 b.n 8044ac2 case DiagHP_IEE: menupos = DiagHP_IED; break; 8044a12: 4b67 ldr r3, [pc, #412] ; (8044bb0 ) 8044a14: 2210 movs r2, #16 8044a16: 701a strb r2, [r3, #0] 8044a18: e053 b.n 8044ac2 case DiagHP_IED: menupos = DiagHP_IES; break; 8044a1a: 4b65 ldr r3, [pc, #404] ; (8044bb0 ) 8044a1c: 220f movs r2, #15 8044a1e: 701a strb r2, [r3, #0] 8044a20: e04f b.n 8044ac2 case DiagHP_IES: menupos = DiagHP_IET; break; 8044a22: 4b63 ldr r3, [pc, #396] ; (8044bb0 ) 8044a24: 220e movs r2, #14 8044a26: 701a strb r2, [r3, #0] 8044a28: e04b b.n 8044ac2 case DiagHP_IET: menupos = DiagHP_IDT; break; 8044a2a: 4b61 ldr r3, [pc, #388] ; (8044bb0 ) 8044a2c: 220d movs r2, #13 8044a2e: 701a strb r2, [r3, #0] 8044a30: e047 b.n 8044ac2 case DiagLP_IDT: menupos = DiagLP_IKD; break; 8044a32: 4b5f ldr r3, [pc, #380] ; (8044bb0 ) 8044a34: 2218 movs r2, #24 8044a36: 701a strb r2, [r3, #0] 8044a38: e043 b.n 8044ac2 case DiagLP_IKD: menupos = DiagLP_IEE; break; 8044a3a: 4b5d ldr r3, [pc, #372] ; (8044bb0 ) 8044a3c: 2217 movs r2, #23 8044a3e: 701a strb r2, [r3, #0] 8044a40: e03f b.n 8044ac2 case DiagLP_IEE: menupos = DiagLP_IED; break; 8044a42: 4b5b ldr r3, [pc, #364] ; (8044bb0 ) 8044a44: 2216 movs r2, #22 8044a46: 701a strb r2, [r3, #0] 8044a48: e03b b.n 8044ac2 case DiagLP_IED: menupos = DiagLP_IES; break; 8044a4a: 4b59 ldr r3, [pc, #356] ; (8044bb0 ) 8044a4c: 2215 movs r2, #21 8044a4e: 701a strb r2, [r3, #0] 8044a50: e037 b.n 8044ac2 case DiagLP_IES: menupos = DiagLP_IET; break; 8044a52: 4b57 ldr r3, [pc, #348] ; (8044bb0 ) 8044a54: 2214 movs r2, #20 8044a56: 701a strb r2, [r3, #0] 8044a58: e033 b.n 8044ac2 case DiagLP_IET: menupos = DiagLP_IDT; break; 8044a5a: 4b55 ldr r3, [pc, #340] ; (8044bb0 ) 8044a5c: 2213 movs r2, #19 8044a5e: 701a strb r2, [r3, #0] 8044a60: e02f b.n 8044ac2 case DiagW_IDT: menupos = DiagW_IKD; break; 8044a62: 4b53 ldr r3, [pc, #332] ; (8044bb0 ) 8044a64: 221e movs r2, #30 8044a66: 701a strb r2, [r3, #0] 8044a68: e02b b.n 8044ac2 case DiagW_IKD: menupos = DiagW_IEE; break; 8044a6a: 4b51 ldr r3, [pc, #324] ; (8044bb0 ) 8044a6c: 221d movs r2, #29 8044a6e: 701a strb r2, [r3, #0] 8044a70: e027 b.n 8044ac2 case DiagW_IEE: menupos = DiagW_IED; break; 8044a72: 4b4f ldr r3, [pc, #316] ; (8044bb0 ) 8044a74: 221c movs r2, #28 8044a76: 701a strb r2, [r3, #0] 8044a78: e023 b.n 8044ac2 case DiagW_IED: menupos = DiagW_IES; break; 8044a7a: 4b4d ldr r3, [pc, #308] ; (8044bb0 ) 8044a7c: 221b movs r2, #27 8044a7e: 701a strb r2, [r3, #0] 8044a80: e01f b.n 8044ac2 case DiagW_IES: menupos = DiagW_IET; break; 8044a82: 4b4b ldr r3, [pc, #300] ; (8044bb0 ) 8044a84: 221a movs r2, #26 8044a86: 701a strb r2, [r3, #0] 8044a88: e01b b.n 8044ac2 case DiagW_IET: menupos = DiagW_IDT; break; 8044a8a: 4b49 ldr r3, [pc, #292] ; (8044bb0 ) 8044a8c: 2219 movs r2, #25 8044a8e: 701a strb r2, [r3, #0] 8044a90: e017 b.n 8044ac2 case DiagA_IDT: menupos = DiagA_IKD; break; 8044a92: 4b47 ldr r3, [pc, #284] ; (8044bb0 ) 8044a94: 2224 movs r2, #36 ; 0x24 8044a96: 701a strb r2, [r3, #0] 8044a98: e013 b.n 8044ac2 case DiagA_IKD: menupos = DiagA_IEE; break; 8044a9a: 4b45 ldr r3, [pc, #276] ; (8044bb0 ) 8044a9c: 2223 movs r2, #35 ; 0x23 8044a9e: 701a strb r2, [r3, #0] 8044aa0: e00f b.n 8044ac2 case DiagA_IEE: menupos = DiagA_IED; break; 8044aa2: 4b43 ldr r3, [pc, #268] ; (8044bb0 ) 8044aa4: 2222 movs r2, #34 ; 0x22 8044aa6: 701a strb r2, [r3, #0] 8044aa8: e00b b.n 8044ac2 case DiagA_IED: menupos = DiagA_IES; break; 8044aaa: 4b41 ldr r3, [pc, #260] ; (8044bb0 ) 8044aac: 2221 movs r2, #33 ; 0x21 8044aae: 701a strb r2, [r3, #0] 8044ab0: e007 b.n 8044ac2 case DiagA_IES: menupos = DiagA_IET; break; 8044ab2: 4b3f ldr r3, [pc, #252] ; (8044bb0 ) 8044ab4: 2220 movs r2, #32 8044ab6: 701a strb r2, [r3, #0] 8044ab8: e003 b.n 8044ac2 case DiagA_IET: menupos = DiagA_IDT; break; 8044aba: 4b3d ldr r3, [pc, #244] ; (8044bb0 ) 8044abc: 221f movs r2, #31 8044abe: 701a strb r2, [r3, #0] 8044ac0: bf00 nop } break; 8044ac2: f001 bf59 b.w 8046978 case TREND_A: case TREND_V: case TREND_S: if(menupos > Trend_pk) menupos--; 8044ac6: 4b3a ldr r3, [pc, #232] ; (8044bb0 ) 8044ac8: 781b ldrb r3, [r3, #0] 8044aca: b2db uxtb r3, r3 8044acc: 2b00 cmp r3, #0 8044ace: d008 beq.n 8044ae2 8044ad0: 4b37 ldr r3, [pc, #220] ; (8044bb0 ) 8044ad2: 781b ldrb r3, [r3, #0] 8044ad4: b2db uxtb r3, r3 8044ad6: 3b01 subs r3, #1 8044ad8: b2da uxtb r2, r3 8044ada: 4b35 ldr r3, [pc, #212] ; (8044bb0 ) 8044adc: 701a strb r2, [r3, #0] else menupos = Trend_excess; break; 8044ade: f001 bf91 b.w 8046a04 else menupos = Trend_excess; 8044ae2: 4b33 ldr r3, [pc, #204] ; (8044bb0 ) 8044ae4: 2204 movs r2, #4 8044ae6: 701a strb r2, [r3, #0] break; 8044ae8: f001 bf8c b.w 8046a04 case MAIN_UDAR: break; case MAIN_DIAGN: switch(menupos) 8044aec: 4b30 ldr r3, [pc, #192] ; (8044bb0 ) 8044aee: 781b ldrb r3, [r3, #0] 8044af0: b2db uxtb r3, r3 8044af2: 2b04 cmp r3, #4 8044af4: f201 8743 bhi.w 804697e 8044af8: a201 add r2, pc, #4 ; (adr r2, 8044b00 ) 8044afa: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044afe: bf00 nop 8044b00: 08044b15 .word 0x08044b15 8044b04: 0804697f .word 0x0804697f 8044b08: 08044b1d .word 0x08044b1d 8044b0c: 08044b2d .word 0x08044b2d 8044b10: 08044b25 .word 0x08044b25 { case StartStop: menupos = Record; break; 8044b14: 4b26 ldr r3, [pc, #152] ; (8044bb0 ) 8044b16: 2202 movs r2, #2 8044b18: 701a strb r2, [r3, #0] 8044b1a: e00b b.n 8044b34 case Record: menupos = MyMeasure; break; 8044b1c: 4b24 ldr r3, [pc, #144] ; (8044bb0 ) 8044b1e: 2204 movs r2, #4 8044b20: 701a strb r2, [r3, #0] 8044b22: e007 b.n 8044b34 case MyMeasure: menupos = MyPoint; break; 8044b24: 4b22 ldr r3, [pc, #136] ; (8044bb0 ) 8044b26: 2203 movs r2, #3 8044b28: 701a strb r2, [r3, #0] 8044b2a: e003 b.n 8044b34 case MyPoint: menupos = StartStop; break; 8044b2c: 4b20 ldr r3, [pc, #128] ; (8044bb0 ) 8044b2e: 2200 movs r2, #0 8044b30: 701a strb r2, [r3, #0] 8044b32: bf00 nop } break; 8044b34: f001 bf23 b.w 804697e case MAIN: case MAIN_FRAN: switch(menupos) 8044b38: 4b1d ldr r3, [pc, #116] ; (8044bb0 ) 8044b3a: 781b ldrb r3, [r3, #0] 8044b3c: b2db uxtb r3, r3 8044b3e: 2b06 cmp r3, #6 8044b40: f201 8720 bhi.w 8046984 8044b44: a201 add r2, pc, #4 ; (adr r2, 8044b4c ) 8044b46: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044b4a: bf00 nop 8044b4c: 08044b69 .word 0x08044b69 8044b50: 08046985 .word 0x08046985 8044b54: 08044b71 .word 0x08044b71 8044b58: 08044b81 .word 0x08044b81 8044b5c: 08044b79 .word 0x08044b79 8044b60: 08046985 .word 0x08046985 8044b64: 08044b89 .word 0x08044b89 { case StartStop: menupos = Record; break; 8044b68: 4b11 ldr r3, [pc, #68] ; (8044bb0 ) 8044b6a: 2202 movs r2, #2 8044b6c: 701a strb r2, [r3, #0] 8044b6e: e00f b.n 8044b90 case Record: menupos = MyMeasure; break; 8044b70: 4b0f ldr r3, [pc, #60] ; (8044bb0 ) 8044b72: 2204 movs r2, #4 8044b74: 701a strb r2, [r3, #0] 8044b76: e00b b.n 8044b90 case MyMeasure: menupos = MyPoint; break; 8044b78: 4b0d ldr r3, [pc, #52] ; (8044bb0 ) 8044b7a: 2203 movs r2, #3 8044b7c: 701a strb r2, [r3, #0] 8044b7e: e007 b.n 8044b90 case MyPoint: menupos = MyLinLog; break; 8044b80: 4b0b ldr r3, [pc, #44] ; (8044bb0 ) 8044b82: 2206 movs r2, #6 8044b84: 701a strb r2, [r3, #0] 8044b86: e003 b.n 8044b90 case MyLinLog: menupos = StartStop; break; 8044b88: 4b09 ldr r3, [pc, #36] ; (8044bb0 ) 8044b8a: 2200 movs r2, #0 8044b8c: 701a strb r2, [r3, #0] 8044b8e: bf00 nop } break; 8044b90: f001 bef8 b.w 8046984 case MAIN_OSC: switch(menupos) 8044b94: 4b06 ldr r3, [pc, #24] ; (8044bb0 ) 8044b96: 781b ldrb r3, [r3, #0] 8044b98: b2db uxtb r3, r3 8044b9a: 2b06 cmp r3, #6 8044b9c: d00a beq.n 8044bb4 rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; } break; 8044b9e: f001 bf31 b.w 8046a04 8044ba2: bf00 nop 8044ba4: 20021055 .word 0x20021055 8044ba8: 20021057 .word 0x20021057 8044bac: 20023ea8 .word 0x20023ea8 8044bb0: 20020070 .word 0x20020070 lvl_0 = 0; 8044bb4: 2300 movs r3, #0 8044bb6: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 8044bba: 4ba9 ldr r3, [pc, #676] ; (8044e60 ) 8044bbc: 781b ldrb r3, [r3, #0] 8044bbe: b2db uxtb r3, r3 8044bc0: 461a mov r2, r3 8044bc2: 4613 mov r3, r2 8044bc4: 009b lsls r3, r3, #2 8044bc6: 4413 add r3, r2 8044bc8: 4aa6 ldr r2, [pc, #664] ; (8044e64 ) 8044bca: 79d2 ldrb r2, [r2, #7] 8044bcc: b2d2 uxtb r2, r2 8044bce: 4413 add r3, r2 8044bd0: 4aa5 ldr r2, [pc, #660] ; (8044e68 ) 8044bd2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8044bd6: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 8044bda: 2301 movs r3, #1 8044bdc: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 8044be0: f44f 7380 mov.w r3, #256 ; 0x100 8044be4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 192 * multA_u16; 8044be8: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044bec: 4613 mov r3, r2 8044bee: 005b lsls r3, r3, #1 8044bf0: 4413 add r3, r2 8044bf2: 019b lsls r3, r3, #6 8044bf4: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[0][5 * lvl_0 + pardata.LNE] - Avg[0][5 * ViewLevel + pardata.LNE]; 8044bf8: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8044bfc: 4613 mov r3, r2 8044bfe: 009b lsls r3, r3, #2 8044c00: 4413 add r3, r2 8044c02: 4a98 ldr r2, [pc, #608] ; (8044e64 ) 8044c04: 79d2 ldrb r2, [r2, #7] 8044c06: b2d2 uxtb r2, r2 8044c08: 4413 add r3, r2 8044c0a: 4a97 ldr r2, [pc, #604] ; (8044e68 ) 8044c0c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8044c10: 461a mov r2, r3 8044c12: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044c16: fb03 f202 mul.w r2, r3, r2 8044c1a: 4b91 ldr r3, [pc, #580] ; (8044e60 ) 8044c1c: 781b ldrb r3, [r3, #0] 8044c1e: b2db uxtb r3, r3 8044c20: 4619 mov r1, r3 8044c22: 460b mov r3, r1 8044c24: 009b lsls r3, r3, #2 8044c26: 440b add r3, r1 8044c28: 498e ldr r1, [pc, #568] ; (8044e64 ) 8044c2a: 79c9 ldrb r1, [r1, #7] 8044c2c: b2c9 uxtb r1, r1 8044c2e: 440b add r3, r1 8044c30: 498d ldr r1, [pc, #564] ; (8044e68 ) 8044c32: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 8044c36: 1ad3 subs r3, r2, r3 8044c38: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 8044c3c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8044c40: b29b uxth r3, r3 8044c42: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044c46: fb12 f303 smulbb r3, r2, r3 8044c4a: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(multB_u16 >= Mpos) 8044c4e: 4b87 ldr r3, [pc, #540] ; (8044e6c ) 8044c50: 881b ldrh r3, [r3, #0] 8044c52: b29b uxth r3, r3 8044c54: f8b7 2096 ldrh.w r2, [r7, #150] ; 0x96 8044c58: 429a cmp r2, r3 8044c5a: d318 bcc.n 8044c8e CURSOR = 0; 8044c5c: 4b84 ldr r3, [pc, #528] ; (8044e70 ) 8044c5e: 2200 movs r2, #0 8044c60: 601a str r2, [r3, #0] X0 = 0; 8044c62: 4b84 ldr r3, [pc, #528] ; (8044e74 ) 8044c64: 2200 movs r2, #0 8044c66: 801a strh r2, [r3, #0] lX = X0; 8044c68: 4b82 ldr r3, [pc, #520] ; (8044e74 ) 8044c6a: 881b ldrh r3, [r3, #0] 8044c6c: b29a uxth r2, r3 8044c6e: 4b82 ldr r3, [pc, #520] ; (8044e78 ) 8044c70: 801a strh r2, [r3, #0] rX = k * multA_u16; 8044c72: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044c76: b29b uxth r3, r3 8044c78: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044c7c: fb12 f303 smulbb r3, r2, r3 8044c80: b29a uxth r2, r3 8044c82: 4b7e ldr r3, [pc, #504] ; (8044e7c ) 8044c84: 801a strh r2, [r3, #0] Mpos = 0; 8044c86: 4b79 ldr r3, [pc, #484] ; (8044e6c ) 8044c88: 2200 movs r2, #0 8044c8a: 801a strh r2, [r3, #0] break; 8044c8c: e049 b.n 8044d22 Mpos -= multB_u16; 8044c8e: 4b77 ldr r3, [pc, #476] ; (8044e6c ) 8044c90: 881b ldrh r3, [r3, #0] 8044c92: b29a uxth r2, r3 8044c94: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8044c98: 1ad3 subs r3, r2, r3 8044c9a: b29a uxth r2, r3 8044c9c: 4b73 ldr r3, [pc, #460] ; (8044e6c ) 8044c9e: 801a strh r2, [r3, #0] if(X0 > Mpos) 8044ca0: 4b74 ldr r3, [pc, #464] ; (8044e74 ) 8044ca2: 881b ldrh r3, [r3, #0] 8044ca4: b29a uxth r2, r3 8044ca6: 4b71 ldr r3, [pc, #452] ; (8044e6c ) 8044ca8: 881b ldrh r3, [r3, #0] 8044caa: b29b uxth r3, r3 8044cac: 429a cmp r2, r3 8044cae: d915 bls.n 8044cdc if(Mpos >= d) 8044cb0: 4b6e ldr r3, [pc, #440] ; (8044e6c ) 8044cb2: 881b ldrh r3, [r3, #0] 8044cb4: b29b uxth r3, r3 8044cb6: 461a mov r2, r3 8044cb8: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8044cbc: 429a cmp r2, r3 8044cbe: d30a bcc.n 8044cd6 X0 -= d; 8044cc0: 4b6c ldr r3, [pc, #432] ; (8044e74 ) 8044cc2: 881b ldrh r3, [r3, #0] 8044cc4: b29a uxth r2, r3 8044cc6: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8044cca: b29b uxth r3, r3 8044ccc: 1ad3 subs r3, r2, r3 8044cce: b29a uxth r2, r3 8044cd0: 4b68 ldr r3, [pc, #416] ; (8044e74 ) 8044cd2: 801a strh r2, [r3, #0] 8044cd4: e002 b.n 8044cdc else X0 = 0; 8044cd6: 4b67 ldr r3, [pc, #412] ; (8044e74 ) 8044cd8: 2200 movs r2, #0 8044cda: 801a strh r2, [r3, #0] lX = X0; 8044cdc: 4b65 ldr r3, [pc, #404] ; (8044e74 ) 8044cde: 881b ldrh r3, [r3, #0] 8044ce0: b29a uxth r2, r3 8044ce2: 4b65 ldr r3, [pc, #404] ; (8044e78 ) 8044ce4: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 8044ce6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044cea: b29b uxth r3, r3 8044cec: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044cf0: fb12 f303 smulbb r3, r2, r3 8044cf4: b29a uxth r2, r3 8044cf6: 4b5f ldr r3, [pc, #380] ; (8044e74 ) 8044cf8: 881b ldrh r3, [r3, #0] 8044cfa: b29b uxth r3, r3 8044cfc: 4413 add r3, r2 8044cfe: b29a uxth r2, r3 8044d00: 4b5e ldr r3, [pc, #376] ; (8044e7c ) 8044d02: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 8044d04: 4b59 ldr r3, [pc, #356] ; (8044e6c ) 8044d06: 881b ldrh r3, [r3, #0] 8044d08: b29b uxth r3, r3 8044d0a: 461a mov r2, r3 8044d0c: 4b59 ldr r3, [pc, #356] ; (8044e74 ) 8044d0e: 881b ldrh r3, [r3, #0] 8044d10: b29b uxth r3, r3 8044d12: 1ad2 subs r2, r2, r3 8044d14: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8044d18: fb92 f3f3 sdiv r3, r2, r3 8044d1c: 461a mov r2, r3 8044d1e: 4b54 ldr r3, [pc, #336] ; (8044e70 ) 8044d20: 601a str r2, [r3, #0] break; 8044d22: bf00 nop break; 8044d24: f001 be6e b.w 8046a04 case MAIN_ROLL: case VIEW_PORTRET: case MAIN_SPEC: case MAIN_SPEC_OGIB: switch(menupos) 8044d28: 4b55 ldr r3, [pc, #340] ; (8044e80 ) 8044d2a: 781b ldrb r3, [r3, #0] 8044d2c: b2db uxtb r3, r3 8044d2e: 2b06 cmp r3, #6 8044d30: d001 beq.n 8044d36 rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; } break; 8044d32: f001 be67 b.w 8046a04 lvl_0 = 0; 8044d36: 2300 movs r3, #0 8044d38: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 8044d3c: 4b48 ldr r3, [pc, #288] ; (8044e60 ) 8044d3e: 781b ldrb r3, [r3, #0] 8044d40: b2db uxtb r3, r3 8044d42: 461a mov r2, r3 8044d44: 4613 mov r3, r2 8044d46: 009b lsls r3, r3, #2 8044d48: 4413 add r3, r2 8044d4a: 4a46 ldr r2, [pc, #280] ; (8044e64 ) 8044d4c: 79d2 ldrb r2, [r2, #7] 8044d4e: b2d2 uxtb r2, r2 8044d50: 4413 add r3, r2 8044d52: 4a45 ldr r2, [pc, #276] ; (8044e68 ) 8044d54: 3323 adds r3, #35 ; 0x23 8044d56: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8044d5a: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 8044d5e: 2301 movs r3, #1 8044d60: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 8044d64: f44f 7380 mov.w r3, #256 ; 0x100 8044d68: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 192 * multA_u16; 8044d6c: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044d70: 4613 mov r3, r2 8044d72: 005b lsls r3, r3, #1 8044d74: 4413 add r3, r2 8044d76: 019b lsls r3, r3, #6 8044d78: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[1][5 * lvl_0 + pardata.LNE] - Avg[1][5 * ViewLevel + pardata.LNE]; 8044d7c: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8044d80: 4613 mov r3, r2 8044d82: 009b lsls r3, r3, #2 8044d84: 4413 add r3, r2 8044d86: 4a37 ldr r2, [pc, #220] ; (8044e64 ) 8044d88: 79d2 ldrb r2, [r2, #7] 8044d8a: b2d2 uxtb r2, r2 8044d8c: 4413 add r3, r2 8044d8e: 4a36 ldr r2, [pc, #216] ; (8044e68 ) 8044d90: 3323 adds r3, #35 ; 0x23 8044d92: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8044d96: 461a mov r2, r3 8044d98: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044d9c: fb03 f202 mul.w r2, r3, r2 8044da0: 4b2f ldr r3, [pc, #188] ; (8044e60 ) 8044da2: 781b ldrb r3, [r3, #0] 8044da4: b2db uxtb r3, r3 8044da6: 4619 mov r1, r3 8044da8: 460b mov r3, r1 8044daa: 009b lsls r3, r3, #2 8044dac: 440b add r3, r1 8044dae: 492d ldr r1, [pc, #180] ; (8044e64 ) 8044db0: 79c9 ldrb r1, [r1, #7] 8044db2: b2c9 uxtb r1, r1 8044db4: 440b add r3, r1 8044db6: 492c ldr r1, [pc, #176] ; (8044e68 ) 8044db8: 3323 adds r3, #35 ; 0x23 8044dba: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 8044dbe: 1ad3 subs r3, r2, r3 8044dc0: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 8044dc4: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8044dc8: b29b uxth r3, r3 8044dca: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044dce: fb12 f303 smulbb r3, r2, r3 8044dd2: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(multB_u16 >= Mpos) 8044dd6: 4b25 ldr r3, [pc, #148] ; (8044e6c ) 8044dd8: 881b ldrh r3, [r3, #0] 8044dda: b29b uxth r3, r3 8044ddc: f8b7 2096 ldrh.w r2, [r7, #150] ; 0x96 8044de0: 429a cmp r2, r3 8044de2: d318 bcc.n 8044e16 CURSOR = 0; 8044de4: 4b22 ldr r3, [pc, #136] ; (8044e70 ) 8044de6: 2200 movs r2, #0 8044de8: 601a str r2, [r3, #0] X0 = 0; 8044dea: 4b22 ldr r3, [pc, #136] ; (8044e74 ) 8044dec: 2200 movs r2, #0 8044dee: 801a strh r2, [r3, #0] lX = X0; 8044df0: 4b20 ldr r3, [pc, #128] ; (8044e74 ) 8044df2: 881b ldrh r3, [r3, #0] 8044df4: b29a uxth r2, r3 8044df6: 4b20 ldr r3, [pc, #128] ; (8044e78 ) 8044df8: 801a strh r2, [r3, #0] rX = k * multA_u16; 8044dfa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044dfe: b29b uxth r3, r3 8044e00: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044e04: fb12 f303 smulbb r3, r2, r3 8044e08: b29a uxth r2, r3 8044e0a: 4b1c ldr r3, [pc, #112] ; (8044e7c ) 8044e0c: 801a strh r2, [r3, #0] Mpos = 0; 8044e0e: 4b17 ldr r3, [pc, #92] ; (8044e6c ) 8044e10: 2200 movs r2, #0 8044e12: 801a strh r2, [r3, #0] break; 8044e14: e05c b.n 8044ed0 Mpos -= multB_u16; 8044e16: 4b15 ldr r3, [pc, #84] ; (8044e6c ) 8044e18: 881b ldrh r3, [r3, #0] 8044e1a: b29a uxth r2, r3 8044e1c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8044e20: 1ad3 subs r3, r2, r3 8044e22: b29a uxth r2, r3 8044e24: 4b11 ldr r3, [pc, #68] ; (8044e6c ) 8044e26: 801a strh r2, [r3, #0] if(X0 > Mpos) 8044e28: 4b12 ldr r3, [pc, #72] ; (8044e74 ) 8044e2a: 881b ldrh r3, [r3, #0] 8044e2c: b29a uxth r2, r3 8044e2e: 4b0f ldr r3, [pc, #60] ; (8044e6c ) 8044e30: 881b ldrh r3, [r3, #0] 8044e32: b29b uxth r3, r3 8044e34: 429a cmp r2, r3 8044e36: d928 bls.n 8044e8a if(Mpos >= d) 8044e38: 4b0c ldr r3, [pc, #48] ; (8044e6c ) 8044e3a: 881b ldrh r3, [r3, #0] 8044e3c: b29b uxth r3, r3 8044e3e: 461a mov r2, r3 8044e40: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8044e44: 429a cmp r2, r3 8044e46: d31d bcc.n 8044e84 X0 -= d; 8044e48: 4b0a ldr r3, [pc, #40] ; (8044e74 ) 8044e4a: 881b ldrh r3, [r3, #0] 8044e4c: b29a uxth r2, r3 8044e4e: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8044e52: b29b uxth r3, r3 8044e54: 1ad3 subs r3, r2, r3 8044e56: b29a uxth r2, r3 8044e58: 4b06 ldr r3, [pc, #24] ; (8044e74 ) 8044e5a: 801a strh r2, [r3, #0] 8044e5c: e015 b.n 8044e8a 8044e5e: bf00 nop 8044e60: 20020fb8 .word 0x20020fb8 8044e64: 20023ea8 .word 0x20023ea8 8044e68: 080f2b68 .word 0x080f2b68 8044e6c: 20025d5e .word 0x20025d5e 8044e70: 2002006c .word 0x2002006c 8044e74: 20025d66 .word 0x20025d66 8044e78: 20025d62 .word 0x20025d62 8044e7c: 20025d68 .word 0x20025d68 8044e80: 20020070 .word 0x20020070 else X0 = 0; 8044e84: 4bae ldr r3, [pc, #696] ; (8045140 ) 8044e86: 2200 movs r2, #0 8044e88: 801a strh r2, [r3, #0] lX = X0; 8044e8a: 4bad ldr r3, [pc, #692] ; (8045140 ) 8044e8c: 881b ldrh r3, [r3, #0] 8044e8e: b29a uxth r2, r3 8044e90: 4bac ldr r3, [pc, #688] ; (8045144 ) 8044e92: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 8044e94: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044e98: b29b uxth r3, r3 8044e9a: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044e9e: fb12 f303 smulbb r3, r2, r3 8044ea2: b29a uxth r2, r3 8044ea4: 4ba6 ldr r3, [pc, #664] ; (8045140 ) 8044ea6: 881b ldrh r3, [r3, #0] 8044ea8: b29b uxth r3, r3 8044eaa: 4413 add r3, r2 8044eac: b29a uxth r2, r3 8044eae: 4ba6 ldr r3, [pc, #664] ; (8045148 ) 8044eb0: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 8044eb2: 4ba6 ldr r3, [pc, #664] ; (804514c ) 8044eb4: 881b ldrh r3, [r3, #0] 8044eb6: b29b uxth r3, r3 8044eb8: 461a mov r2, r3 8044eba: 4ba1 ldr r3, [pc, #644] ; (8045140 ) 8044ebc: 881b ldrh r3, [r3, #0] 8044ebe: b29b uxth r3, r3 8044ec0: 1ad2 subs r2, r2, r3 8044ec2: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8044ec6: fb92 f3f3 sdiv r3, r2, r3 8044eca: 461a mov r2, r3 8044ecc: 4ba0 ldr r3, [pc, #640] ; (8045150 ) 8044ece: 601a str r2, [r3, #0] break; 8044ed0: bf00 nop break; 8044ed2: f001 bd97 b.w 8046a04 case MAIN_SPEC_OKT: switch(menupos) 8044ed6: 4b9f ldr r3, [pc, #636] ; (8045154 ) 8044ed8: 781b ldrb r3, [r3, #0] 8044eda: b2db uxtb r3, r3 8044edc: 2b06 cmp r3, #6 8044ede: d001 beq.n 8044ee4 case Cursor: if(CURSOR > 0) CURSOR--; break; } break; 8044ee0: f001 bd90 b.w 8046a04 if(CURSOR > 0) 8044ee4: 4b9a ldr r3, [pc, #616] ; (8045150 ) 8044ee6: 681b ldr r3, [r3, #0] 8044ee8: 2b00 cmp r3, #0 8044eea: d004 beq.n 8044ef6 CURSOR--; 8044eec: 4b98 ldr r3, [pc, #608] ; (8045150 ) 8044eee: 681b ldr r3, [r3, #0] 8044ef0: 3b01 subs r3, #1 8044ef2: 4a97 ldr r2, [pc, #604] ; (8045150 ) 8044ef4: 6013 str r3, [r2, #0] break; 8044ef6: bf00 nop break; 8044ef8: f001 bd84 b.w 8046a04 case MAIN_SPEC_THIRD: switch(menupos) 8044efc: 4b95 ldr r3, [pc, #596] ; (8045154 ) 8044efe: 781b ldrb r3, [r3, #0] 8044f00: b2db uxtb r3, r3 8044f02: 2b06 cmp r3, #6 8044f04: d001 beq.n 8044f0a case Cursor: if(CURSOR > 0) CURSOR--; break; } break; 8044f06: f001 bd7d b.w 8046a04 if(CURSOR > 0) 8044f0a: 4b91 ldr r3, [pc, #580] ; (8045150 ) 8044f0c: 681b ldr r3, [r3, #0] 8044f0e: 2b00 cmp r3, #0 8044f10: d004 beq.n 8044f1c CURSOR--; 8044f12: 4b8f ldr r3, [pc, #572] ; (8045150 ) 8044f14: 681b ldr r3, [r3, #0] 8044f16: 3b01 subs r3, #1 8044f18: 4a8d ldr r2, [pc, #564] ; (8045150 ) 8044f1a: 6013 str r3, [r2, #0] break; 8044f1c: bf00 nop break; 8044f1e: f001 bd71 b.w 8046a04 case MAIN_WAVE: switch(menupos) 8044f22: 4b8c ldr r3, [pc, #560] ; (8045154 ) 8044f24: 781b ldrb r3, [r3, #0] 8044f26: b2db uxtb r3, r3 8044f28: 2b01 cmp r3, #1 8044f2a: d005 beq.n 8044f38 8044f2c: 2b03 cmp r3, #3 8044f2e: d01d beq.n 8044f6c 8044f30: 2b00 cmp r3, #0 8044f32: d00e beq.n 8044f52 break; case ReadyRec: oldmenupos = ReadyRec; break; } break; 8044f34: f001 bd66 b.w 8046a04 if(oldmenupos == StartStop) 8044f38: 4b87 ldr r3, [pc, #540] ; (8045158 ) 8044f3a: 781b ldrb r3, [r3, #0] 8044f3c: b2db uxtb r3, r3 8044f3e: 2b00 cmp r3, #0 8044f40: d103 bne.n 8044f4a oldmenupos = StartStop; 8044f42: 4b85 ldr r3, [pc, #532] ; (8045158 ) 8044f44: 2200 movs r2, #0 8044f46: 701a strb r2, [r3, #0] break; 8044f48: e014 b.n 8044f74 oldmenupos = ReadyRec; 8044f4a: 4b83 ldr r3, [pc, #524] ; (8045158 ) 8044f4c: 2203 movs r2, #3 8044f4e: 701a strb r2, [r3, #0] break; 8044f50: e010 b.n 8044f74 if(oldmenupos == StartStop) 8044f52: 4b81 ldr r3, [pc, #516] ; (8045158 ) 8044f54: 781b ldrb r3, [r3, #0] 8044f56: b2db uxtb r3, r3 8044f58: 2b00 cmp r3, #0 8044f5a: d103 bne.n 8044f64 oldmenupos = StartStop; 8044f5c: 4b7e ldr r3, [pc, #504] ; (8045158 ) 8044f5e: 2200 movs r2, #0 8044f60: 701a strb r2, [r3, #0] break; 8044f62: e007 b.n 8044f74 oldmenupos = ReadyRec; 8044f64: 4b7c ldr r3, [pc, #496] ; (8045158 ) 8044f66: 2203 movs r2, #3 8044f68: 701a strb r2, [r3, #0] break; 8044f6a: e003 b.n 8044f74 oldmenupos = ReadyRec; 8044f6c: 4b7a ldr r3, [pc, #488] ; (8045158 ) 8044f6e: 2203 movs r2, #3 8044f70: 701a strb r2, [r3, #0] break; 8044f72: bf00 nop break; 8044f74: f001 bd46 b.w 8046a04 case MAIN_SYGNAL: if(menupos == Cursor) 8044f78: 4b76 ldr r3, [pc, #472] ; (8045154 ) 8044f7a: 781b ldrb r3, [r3, #0] 8044f7c: b2db uxtb r3, r3 8044f7e: 2b06 cmp r3, #6 8044f80: f041 8503 bne.w 804698a { if(CURSOR > 0) 8044f84: 4b72 ldr r3, [pc, #456] ; (8045150 ) 8044f86: 681b ldr r3, [r3, #0] 8044f88: 2b00 cmp r3, #0 8044f8a: f001 84fe beq.w 804698a CURSOR--; 8044f8e: 4b70 ldr r3, [pc, #448] ; (8045150 ) 8044f90: 681b ldr r3, [r3, #0] 8044f92: 3b01 subs r3, #1 8044f94: 4a6e ldr r2, [pc, #440] ; (8045150 ) 8044f96: 6013 str r3, [r2, #0] } break; 8044f98: f001 bcf7 b.w 804698a case OPTIONS: if(menupos == AskFormatNo) 8044f9c: 4b6d ldr r3, [pc, #436] ; (8045154 ) 8044f9e: 781b ldrb r3, [r3, #0] 8044fa0: b2db uxtb r3, r3 8044fa2: 2b05 cmp r3, #5 8044fa4: d104 bne.n 8044fb0 menupos = AskFormatYes; 8044fa6: 4b6b ldr r3, [pc, #428] ; (8045154 ) 8044fa8: 2206 movs r2, #6 8044faa: 701a strb r2, [r3, #0] if(menupos == AskRouteNo) menupos = AskRouteYes; else if(menupos == AskRouteYes) menupos = AskRouteNo; break; 8044fac: f001 bcf0 b.w 8046990 if(menupos == AskFormatYes) 8044fb0: 4b68 ldr r3, [pc, #416] ; (8045154 ) 8044fb2: 781b ldrb r3, [r3, #0] 8044fb4: b2db uxtb r3, r3 8044fb6: 2b06 cmp r3, #6 8044fb8: d104 bne.n 8044fc4 menupos = AskFormatNo; 8044fba: 4b66 ldr r3, [pc, #408] ; (8045154 ) 8044fbc: 2205 movs r2, #5 8044fbe: 701a strb r2, [r3, #0] break; 8044fc0: f001 bce6 b.w 8046990 if(menupos == AskRouteNo) 8044fc4: 4b63 ldr r3, [pc, #396] ; (8045154 ) 8044fc6: 781b ldrb r3, [r3, #0] 8044fc8: b2db uxtb r3, r3 8044fca: 2b09 cmp r3, #9 8044fcc: d104 bne.n 8044fd8 menupos = AskRouteYes; 8044fce: 4b61 ldr r3, [pc, #388] ; (8045154 ) 8044fd0: 220a movs r2, #10 8044fd2: 701a strb r2, [r3, #0] break; 8044fd4: f001 bcdc b.w 8046990 if(menupos == AskRouteYes) 8044fd8: 4b5e ldr r3, [pc, #376] ; (8045154 ) 8044fda: 781b ldrb r3, [r3, #0] 8044fdc: b2db uxtb r3, r3 8044fde: 2b0a cmp r3, #10 8044fe0: f041 84d6 bne.w 8046990 menupos = AskRouteNo; 8044fe4: 4b5b ldr r3, [pc, #364] ; (8045154 ) 8044fe6: 2209 movs r2, #9 8044fe8: 701a strb r2, [r3, #0] break; 8044fea: f001 bcd1 b.w 8046990 case EXPLORER: if(menupos == UpNo) 8044fee: 4b59 ldr r3, [pc, #356] ; (8045154 ) 8044ff0: 781b ldrb r3, [r3, #0] 8044ff2: b2db uxtb r3, r3 8044ff4: 2b06 cmp r3, #6 8044ff6: d104 bne.n 8045002 menupos = UpYes; 8044ff8: 4b56 ldr r3, [pc, #344] ; (8045154 ) 8044ffa: 2207 movs r2, #7 8044ffc: 701a strb r2, [r3, #0] else if(menupos == FilesPTM) { menupos = UpNo; } break; 8044ffe: f001 bcca b.w 8046996 if(menupos == UpYes) 8045002: 4b54 ldr r3, [pc, #336] ; (8045154 ) 8045004: 781b ldrb r3, [r3, #0] 8045006: b2db uxtb r3, r3 8045008: 2b07 cmp r3, #7 804500a: d104 bne.n 8045016 menupos = UpNo; 804500c: 4b51 ldr r3, [pc, #324] ; (8045154 ) 804500e: 2206 movs r2, #6 8045010: 701a strb r2, [r3, #0] break; 8045012: f001 bcc0 b.w 8046996 if(menupos == FilesPTM) 8045016: 4b4f ldr r3, [pc, #316] ; (8045154 ) 8045018: 781b ldrb r3, [r3, #0] 804501a: b2db uxtb r3, r3 804501c: 2b02 cmp r3, #2 804501e: f041 84ba bne.w 8046996 menupos = UpNo; 8045022: 4b4c ldr r3, [pc, #304] ; (8045154 ) 8045024: 2206 movs r2, #6 8045026: 701a strb r2, [r3, #0] break; 8045028: f001 bcb5 b.w 8046996 case EXPLORER_DIAGN: if(menupos == UpNo) 804502c: 4b49 ldr r3, [pc, #292] ; (8045154 ) 804502e: 781b ldrb r3, [r3, #0] 8045030: b2db uxtb r3, r3 8045032: 2b06 cmp r3, #6 8045034: d104 bne.n 8045040 menupos = UpYes; 8045036: 4b47 ldr r3, [pc, #284] ; (8045154 ) 8045038: 2207 movs r2, #7 804503a: 701a strb r2, [r3, #0] else if(menupos == FilesDGN) { menupos = UpNo; } break; 804503c: f001 bcae b.w 804699c if(menupos == UpYes) 8045040: 4b44 ldr r3, [pc, #272] ; (8045154 ) 8045042: 781b ldrb r3, [r3, #0] 8045044: b2db uxtb r3, r3 8045046: 2b07 cmp r3, #7 8045048: d104 bne.n 8045054 menupos = UpNo; 804504a: 4b42 ldr r3, [pc, #264] ; (8045154 ) 804504c: 2206 movs r2, #6 804504e: 701a strb r2, [r3, #0] break; 8045050: f001 bca4 b.w 804699c if(menupos == FilesDGN) 8045054: 4b3f ldr r3, [pc, #252] ; (8045154 ) 8045056: 781b ldrb r3, [r3, #0] 8045058: b2db uxtb r3, r3 804505a: 2b02 cmp r3, #2 804505c: f041 849e bne.w 804699c menupos = UpNo; 8045060: 4b3c ldr r3, [pc, #240] ; (8045154 ) 8045062: 2206 movs r2, #6 8045064: 701a strb r2, [r3, #0] break; 8045066: f001 bc99 b.w 804699c 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)) 804506a: 4b3a ldr r3, [pc, #232] ; (8045154 ) 804506c: 781b ldrb r3, [r3, #0] 804506e: b2db uxtb r3, r3 8045070: 2b00 cmp r3, #0 8045072: f001 8496 beq.w 80469a2 8045076: 4b37 ldr r3, [pc, #220] ; (8045154 ) 8045078: 781b ldrb r3, [r3, #0] 804507a: b2db uxtb r3, r3 804507c: 2b0a cmp r3, #10 804507e: f001 8490 beq.w 80469a2 8045082: 4b34 ldr r3, [pc, #208] ; (8045154 ) 8045084: 781b ldrb r3, [r3, #0] 8045086: b2db uxtb r3, r3 8045088: 2b14 cmp r3, #20 804508a: f001 848a beq.w 80469a2 804508e: 4b31 ldr r3, [pc, #196] ; (8045154 ) 8045090: 781b ldrb r3, [r3, #0] 8045092: b2db uxtb r3, r3 8045094: 2b1e cmp r3, #30 8045096: f001 8484 beq.w 80469a2 804509a: 4b2e ldr r3, [pc, #184] ; (8045154 ) 804509c: 781b ldrb r3, [r3, #0] 804509e: b2db uxtb r3, r3 80450a0: 2b26 cmp r3, #38 ; 0x26 80450a2: f001 847e beq.w 80469a2 menupos--; 80450a6: 4b2b ldr r3, [pc, #172] ; (8045154 ) 80450a8: 781b ldrb r3, [r3, #0] 80450aa: b2db uxtb r3, r3 80450ac: 3b01 subs r3, #1 80450ae: b2da uxtb r2, r3 80450b0: 4b28 ldr r3, [pc, #160] ; (8045154 ) 80450b2: 701a strb r2, [r3, #0] break; 80450b4: f001 bc75 b.w 80469a2 case MEAS_MODE: //menupos = Ok; break; case ARCHIVE_SPEC: if(menupos == UpNo) 80450b8: 4b26 ldr r3, [pc, #152] ; (8045154 ) 80450ba: 781b ldrb r3, [r3, #0] 80450bc: b2db uxtb r3, r3 80450be: 2b06 cmp r3, #6 80450c0: d104 bne.n 80450cc menupos = UpYes; 80450c2: 4b24 ldr r3, [pc, #144] ; (8045154 ) 80450c4: 2207 movs r2, #7 80450c6: 701a strb r2, [r3, #0] else if(menupos == CleanUpResult) { } break; 80450c8: f001 bc9c b.w 8046a04 if(menupos == UpYes) 80450cc: 4b21 ldr r3, [pc, #132] ; (8045154 ) 80450ce: 781b ldrb r3, [r3, #0] 80450d0: b2db uxtb r3, r3 80450d2: 2b07 cmp r3, #7 80450d4: d104 bne.n 80450e0 menupos = UpNo; 80450d6: 4b1f ldr r3, [pc, #124] ; (8045154 ) 80450d8: 2206 movs r2, #6 80450da: 701a strb r2, [r3, #0] break; 80450dc: f001 bc92 b.w 8046a04 if(menupos == CleanUpResult) 80450e0: 4b1c ldr r3, [pc, #112] ; (8045154 ) 80450e2: 781b ldrb r3, [r3, #0] break; 80450e4: f001 bc8e b.w 8046a04 case ARCHIVE_FRAN: if(menupos == UpNo) 80450e8: 4b1a ldr r3, [pc, #104] ; (8045154 ) 80450ea: 781b ldrb r3, [r3, #0] 80450ec: b2db uxtb r3, r3 80450ee: 2b06 cmp r3, #6 80450f0: d104 bne.n 80450fc menupos = UpYes; 80450f2: 4b18 ldr r3, [pc, #96] ; (8045154 ) 80450f4: 2207 movs r2, #7 80450f6: 701a strb r2, [r3, #0] else { menu = ARCHIVE; menupos = ArchiveFran; } break; 80450f8: f001 bc56 b.w 80469a8 if(menupos == UpYes) 80450fc: 4b15 ldr r3, [pc, #84] ; (8045154 ) 80450fe: 781b ldrb r3, [r3, #0] 8045100: b2db uxtb r3, r3 8045102: 2b07 cmp r3, #7 8045104: d104 bne.n 8045110 menupos = UpNo; 8045106: 4b13 ldr r3, [pc, #76] ; (8045154 ) 8045108: 2206 movs r2, #6 804510a: 701a strb r2, [r3, #0] break; 804510c: f001 bc4c b.w 80469a8 if(menupos == CleanUpResult) 8045110: 4b10 ldr r3, [pc, #64] ; (8045154 ) 8045112: 781b ldrb r3, [r3, #0] 8045114: b2db uxtb r3, r3 8045116: 2b0a cmp r3, #10 8045118: f001 8446 beq.w 80469a8 menu = ARCHIVE; 804511c: 4b0f ldr r3, [pc, #60] ; (804515c ) 804511e: 2214 movs r2, #20 8045120: 701a strb r2, [r3, #0] menupos = ArchiveFran; 8045122: 4b0c ldr r3, [pc, #48] ; (8045154 ) 8045124: 2201 movs r2, #1 8045126: 701a strb r2, [r3, #0] break; 8045128: f001 bc3e b.w 80469a8 case ARCHIVE_WAVE: if(menupos == UpNo) 804512c: 4b09 ldr r3, [pc, #36] ; (8045154 ) 804512e: 781b ldrb r3, [r3, #0] 8045130: b2db uxtb r3, r3 8045132: 2b06 cmp r3, #6 8045134: d114 bne.n 8045160 menupos = UpYes; 8045136: 4b07 ldr r3, [pc, #28] ; (8045154 ) 8045138: 2207 movs r2, #7 804513a: 701a strb r2, [r3, #0] else { /*menu = ARCHIVE; menupos = ArchiveWave;*/ } break; 804513c: f001 bc37 b.w 80469ae 8045140: 20025d66 .word 0x20025d66 8045144: 20025d62 .word 0x20025d62 8045148: 20025d68 .word 0x20025d68 804514c: 20025d5e .word 0x20025d5e 8045150: 2002006c .word 0x2002006c 8045154: 20020070 .word 0x20020070 8045158: 20020fbf .word 0x20020fbf 804515c: 20020fbd .word 0x20020fbd if(menupos == UpYes) 8045160: 4bb8 ldr r3, [pc, #736] ; (8045444 ) 8045162: 781b ldrb r3, [r3, #0] 8045164: b2db uxtb r3, r3 8045166: 2b07 cmp r3, #7 8045168: d104 bne.n 8045174 menupos = UpNo; 804516a: 4bb6 ldr r3, [pc, #728] ; (8045444 ) 804516c: 2206 movs r2, #6 804516e: 701a strb r2, [r3, #0] break; 8045170: f001 bc1d b.w 80469ae if(menupos == FilesGTR) 8045174: 4bb3 ldr r3, [pc, #716] ; (8045444 ) 8045176: 781b ldrb r3, [r3, #0] 8045178: b2db uxtb r3, r3 804517a: 2b02 cmp r3, #2 804517c: f041 8417 bne.w 80469ae if(NumFilesDelete != 0) { 8045180: 4bb1 ldr r3, [pc, #708] ; (8045448 ) 8045182: 681b ldr r3, [r3, #0] 8045184: 2b00 cmp r3, #0 8045186: f001 8412 beq.w 80469ae menupos = UpNo; 804518a: 4bae ldr r3, [pc, #696] ; (8045444 ) 804518c: 2206 movs r2, #6 804518e: 701a strb r2, [r3, #0] break; 8045190: f001 bc0d b.w 80469ae case ROUTE: if(menupos == UpNo) 8045194: 4bab ldr r3, [pc, #684] ; (8045444 ) 8045196: 781b ldrb r3, [r3, #0] 8045198: b2db uxtb r3, r3 804519a: 2b06 cmp r3, #6 804519c: d104 bne.n 80451a8 menupos = UpYes; 804519e: 4ba9 ldr r3, [pc, #676] ; (8045444 ) 80451a0: 2207 movs r2, #7 80451a2: 701a strb r2, [r3, #0] } } else { } break; 80451a4: f001 bc06 b.w 80469b4 if(menupos == UpYes) 80451a8: 4ba6 ldr r3, [pc, #664] ; (8045444 ) 80451aa: 781b ldrb r3, [r3, #0] 80451ac: b2db uxtb r3, r3 80451ae: 2b07 cmp r3, #7 80451b0: d104 bne.n 80451bc menupos = UpNo; 80451b2: 4ba4 ldr r3, [pc, #656] ; (8045444 ) 80451b4: 2206 movs r2, #6 80451b6: 701a strb r2, [r3, #0] break; 80451b8: f001 bbfc b.w 80469b4 if(menupos == FilesCSV) 80451bc: 4ba1 ldr r3, [pc, #644] ; (8045444 ) 80451be: 781b ldrb r3, [r3, #0] 80451c0: b2db uxtb r3, r3 80451c2: 2b02 cmp r3, #2 80451c4: f041 83f6 bne.w 80469b4 if(NumFilesDelete != 0) { 80451c8: 4b9f ldr r3, [pc, #636] ; (8045448 ) 80451ca: 681b ldr r3, [r3, #0] 80451cc: 2b00 cmp r3, #0 80451ce: f001 83f1 beq.w 80469b4 menupos = UpNo; 80451d2: 4b9c ldr r3, [pc, #624] ; (8045444 ) 80451d4: 2206 movs r2, #6 80451d6: 701a strb r2, [r3, #0] break; 80451d8: f001 bbec b.w 80469b4 case PARAM_UDAR: switch(menupos) 80451dc: 4b99 ldr r3, [pc, #612] ; (8045444 ) 80451de: 781b ldrb r3, [r3, #0] 80451e0: b2db uxtb r3, r3 80451e2: 3b03 subs r3, #3 80451e4: 2b09 cmp r3, #9 80451e6: d83f bhi.n 8045268 80451e8: a201 add r2, pc, #4 ; (adr r2, 80451f0 ) 80451ea: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80451ee: bf00 nop 80451f0: 08045219 .word 0x08045219 80451f4: 08045221 .word 0x08045221 80451f8: 08045229 .word 0x08045229 80451fc: 08045231 .word 0x08045231 8045200: 08045239 .word 0x08045239 8045204: 08045241 .word 0x08045241 8045208: 08045249 .word 0x08045249 804520c: 08045251 .word 0x08045251 8045210: 08045259 .word 0x08045259 8045214: 08045261 .word 0x08045261 { case UdarRate_IET: menupos = UdarRate_IEE; break; 8045218: 4b8a ldr r3, [pc, #552] ; (8045444 ) 804521a: 2206 movs r2, #6 804521c: 701a strb r2, [r3, #0] 804521e: e027 b.n 8045270 case UdarRate_IES: menupos = UdarRate_IET; break; 8045220: 4b88 ldr r3, [pc, #544] ; (8045444 ) 8045222: 2203 movs r2, #3 8045224: 701a strb r2, [r3, #0] 8045226: e023 b.n 8045270 case UdarRate_IED: menupos = UdarRate_IES; break; 8045228: 4b86 ldr r3, [pc, #536] ; (8045444 ) 804522a: 2204 movs r2, #4 804522c: 701a strb r2, [r3, #0] 804522e: e01f b.n 8045270 case UdarRate_IEE: menupos = UdarRate_IED; break; 8045230: 4b84 ldr r3, [pc, #528] ; (8045444 ) 8045232: 2205 movs r2, #5 8045234: 701a strb r2, [r3, #0] 8045236: e01b b.n 8045270 case UdarInner_IES: menupos = UdarInner_IKT; break; 8045238: 4b82 ldr r3, [pc, #520] ; (8045444 ) 804523a: 220c movs r2, #12 804523c: 701a strb r2, [r3, #0] 804523e: e017 b.n 8045270 case UdarInner_IED: menupos = UdarInner_IES; break; 8045240: 4b80 ldr r3, [pc, #512] ; (8045444 ) 8045242: 2207 movs r2, #7 8045244: 701a strb r2, [r3, #0] 8045246: e013 b.n 8045270 case UdarInner_IEE: menupos = UdarInner_IED; break; 8045248: 4b7e ldr r3, [pc, #504] ; (8045444 ) 804524a: 2208 movs r2, #8 804524c: 701a strb r2, [r3, #0] 804524e: e00f b.n 8045270 case UdarInner_IKD: menupos = UdarInner_IEE; break; 8045250: 4b7c ldr r3, [pc, #496] ; (8045444 ) 8045252: 2209 movs r2, #9 8045254: 701a strb r2, [r3, #0] 8045256: e00b b.n 8045270 case UdarInner_IKS: menupos = UdarInner_IKD; break; 8045258: 4b7a ldr r3, [pc, #488] ; (8045444 ) 804525a: 220a movs r2, #10 804525c: 701a strb r2, [r3, #0] 804525e: e007 b.n 8045270 case UdarInner_IKT: menupos = UdarInner_IKS; break; 8045260: 4b78 ldr r3, [pc, #480] ; (8045444 ) 8045262: 220b movs r2, #11 8045264: 701a strb r2, [r3, #0] 8045266: e003 b.n 8045270 default: menupos = Ok; 8045268: 4b76 ldr r3, [pc, #472] ; (8045444 ) 804526a: 2200 movs r2, #0 804526c: 701a strb r2, [r3, #0] break; 804526e: bf00 nop } break; 8045270: f001 bbc8 b.w 8046a04 case PARAM_ROLL: switch(menupos) 8045274: 4b73 ldr r3, [pc, #460] ; (8045444 ) 8045276: 781b ldrb r3, [r3, #0] 8045278: b2db uxtb r3, r3 804527a: 3b01 subs r3, #1 804527c: 2b2a cmp r3, #42 ; 0x2a 804527e: f201 839c bhi.w 80469ba 8045282: a201 add r2, pc, #4 ; (adr r2, 8045288 ) 8045284: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8045288: 0804544d .word 0x0804544d 804528c: 080454b7 .word 0x080454b7 8045290: 080454b7 .word 0x080454b7 8045294: 080454b7 .word 0x080454b7 8045298: 080454b7 .word 0x080454b7 804529c: 08045483 .word 0x08045483 80452a0: 080454b7 .word 0x080454b7 80452a4: 080454b7 .word 0x080454b7 80452a8: 080454b7 .word 0x080454b7 80452ac: 08045355 .word 0x08045355 80452b0: 0804535d .word 0x0804535d 80452b4: 08045365 .word 0x08045365 80452b8: 0804536d .word 0x0804536d 80452bc: 08045375 .word 0x08045375 80452c0: 0804537d .word 0x0804537d 80452c4: 08045385 .word 0x08045385 80452c8: 0804538d .word 0x0804538d 80452cc: 08045395 .word 0x08045395 80452d0: 0804539d .word 0x0804539d 80452d4: 080453a5 .word 0x080453a5 80452d8: 080453ad .word 0x080453ad 80452dc: 080453b5 .word 0x080453b5 80452e0: 080453bd .word 0x080453bd 80452e4: 080453c5 .word 0x080453c5 80452e8: 080453cd .word 0x080453cd 80452ec: 080453d5 .word 0x080453d5 80452f0: 080453dd .word 0x080453dd 80452f4: 080453e5 .word 0x080453e5 80452f8: 080453ed .word 0x080453ed 80452fc: 080453f5 .word 0x080453f5 8045300: 080453fd .word 0x080453fd 8045304: 08045405 .word 0x08045405 8045308: 0804540d .word 0x0804540d 804530c: 08045335 .word 0x08045335 8045310: 0804533d .word 0x0804533d 8045314: 08045345 .word 0x08045345 8045318: 0804534d .word 0x0804534d 804531c: 08045415 .word 0x08045415 8045320: 0804543d .word 0x0804543d 8045324: 08045435 .word 0x08045435 8045328: 0804542d .word 0x0804542d 804532c: 08045425 .word 0x08045425 8045330: 0804541d .word 0x0804541d { case D_Rate_IET: menupos = D_Rate_IEE; break; 8045334: 4b43 ldr r3, [pc, #268] ; (8045444 ) 8045336: 2225 movs r2, #37 ; 0x25 8045338: 701a strb r2, [r3, #0] 804533a: e0c0 b.n 80454be case D_Rate_IES: menupos = D_Rate_IET; break; 804533c: 4b41 ldr r3, [pc, #260] ; (8045444 ) 804533e: 2222 movs r2, #34 ; 0x22 8045340: 701a strb r2, [r3, #0] 8045342: e0bc b.n 80454be case D_Rate_IED: menupos = D_Rate_IES; break; 8045344: 4b3f ldr r3, [pc, #252] ; (8045444 ) 8045346: 2223 movs r2, #35 ; 0x23 8045348: 701a strb r2, [r3, #0] 804534a: e0b8 b.n 80454be case D_Rate_IEE: menupos = D_Rate_IED; break; 804534c: 4b3d ldr r3, [pc, #244] ; (8045444 ) 804534e: 2224 movs r2, #36 ; 0x24 8045350: 701a strb r2, [r3, #0] 8045352: e0b4 b.n 80454be case D_Roll_IES: menupos = D_Roll_IKT; break; 8045354: 4b3b ldr r3, [pc, #236] ; (8045444 ) 8045356: 220f movs r2, #15 8045358: 701a strb r2, [r3, #0] 804535a: e0b0 b.n 80454be case D_Roll_IED: menupos = D_Roll_IES; break; 804535c: 4b39 ldr r3, [pc, #228] ; (8045444 ) 804535e: 220a movs r2, #10 8045360: 701a strb r2, [r3, #0] 8045362: e0ac b.n 80454be case D_Roll_IEE: menupos = D_Roll_IED; break; 8045364: 4b37 ldr r3, [pc, #220] ; (8045444 ) 8045366: 220b movs r2, #11 8045368: 701a strb r2, [r3, #0] 804536a: e0a8 b.n 80454be case D_Roll_IKD: menupos = D_Roll_IEE; break; 804536c: 4b35 ldr r3, [pc, #212] ; (8045444 ) 804536e: 220c movs r2, #12 8045370: 701a strb r2, [r3, #0] 8045372: e0a4 b.n 80454be case D_Roll_IKS: menupos = D_Roll_IKD; break; 8045374: 4b33 ldr r3, [pc, #204] ; (8045444 ) 8045376: 220d movs r2, #13 8045378: 701a strb r2, [r3, #0] 804537a: e0a0 b.n 80454be case D_Roll_IKT: menupos = D_Roll_IKS; break; 804537c: 4b31 ldr r3, [pc, #196] ; (8045444 ) 804537e: 220e movs r2, #14 8045380: 701a strb r2, [r3, #0] 8045382: e09c b.n 80454be case D_Outer_IES: menupos = D_Outer_IKT; break; 8045384: 4b2f ldr r3, [pc, #188] ; (8045444 ) 8045386: 2215 movs r2, #21 8045388: 701a strb r2, [r3, #0] 804538a: e098 b.n 80454be case D_Outer_IED: menupos = D_Outer_IES; break; 804538c: 4b2d ldr r3, [pc, #180] ; (8045444 ) 804538e: 2210 movs r2, #16 8045390: 701a strb r2, [r3, #0] 8045392: e094 b.n 80454be case D_Outer_IEE: menupos = D_Outer_IED; break; 8045394: 4b2b ldr r3, [pc, #172] ; (8045444 ) 8045396: 2211 movs r2, #17 8045398: 701a strb r2, [r3, #0] 804539a: e090 b.n 80454be case D_Outer_IKD: menupos = D_Outer_IEE; break; 804539c: 4b29 ldr r3, [pc, #164] ; (8045444 ) 804539e: 2212 movs r2, #18 80453a0: 701a strb r2, [r3, #0] 80453a2: e08c b.n 80454be case D_Outer_IKS: menupos = D_Outer_IKD; break; 80453a4: 4b27 ldr r3, [pc, #156] ; (8045444 ) 80453a6: 2213 movs r2, #19 80453a8: 701a strb r2, [r3, #0] 80453aa: e088 b.n 80454be case D_Outer_IKT: menupos = D_Outer_IKS; break; 80453ac: 4b25 ldr r3, [pc, #148] ; (8045444 ) 80453ae: 2214 movs r2, #20 80453b0: 701a strb r2, [r3, #0] 80453b2: e084 b.n 80454be case D_Inner_IES: menupos = D_Inner_IKT; break; 80453b4: 4b23 ldr r3, [pc, #140] ; (8045444 ) 80453b6: 221b movs r2, #27 80453b8: 701a strb r2, [r3, #0] 80453ba: e080 b.n 80454be case D_Inner_IED: menupos = D_Inner_IES; break; 80453bc: 4b21 ldr r3, [pc, #132] ; (8045444 ) 80453be: 2216 movs r2, #22 80453c0: 701a strb r2, [r3, #0] 80453c2: e07c b.n 80454be case D_Inner_IEE: menupos = D_Inner_IED; break; 80453c4: 4b1f ldr r3, [pc, #124] ; (8045444 ) 80453c6: 2217 movs r2, #23 80453c8: 701a strb r2, [r3, #0] 80453ca: e078 b.n 80454be case D_Inner_IKD: menupos = D_Inner_IEE; break; 80453cc: 4b1d ldr r3, [pc, #116] ; (8045444 ) 80453ce: 2218 movs r2, #24 80453d0: 701a strb r2, [r3, #0] 80453d2: e074 b.n 80454be case D_Inner_IKS: menupos = D_Inner_IKD; break; 80453d4: 4b1b ldr r3, [pc, #108] ; (8045444 ) 80453d6: 2219 movs r2, #25 80453d8: 701a strb r2, [r3, #0] 80453da: e070 b.n 80454be case D_Inner_IKT: menupos = D_Inner_IKS; break; 80453dc: 4b19 ldr r3, [pc, #100] ; (8045444 ) 80453de: 221a movs r2, #26 80453e0: 701a strb r2, [r3, #0] 80453e2: e06c b.n 80454be case D_Angle_IES: menupos = D_Angle_IKT; break; 80453e4: 4b17 ldr r3, [pc, #92] ; (8045444 ) 80453e6: 2221 movs r2, #33 ; 0x21 80453e8: 701a strb r2, [r3, #0] 80453ea: e068 b.n 80454be case D_Angle_IED: menupos = D_Angle_IES; break; 80453ec: 4b15 ldr r3, [pc, #84] ; (8045444 ) 80453ee: 221c movs r2, #28 80453f0: 701a strb r2, [r3, #0] 80453f2: e064 b.n 80454be case D_Angle_IEE: menupos = D_Angle_IED; break; 80453f4: 4b13 ldr r3, [pc, #76] ; (8045444 ) 80453f6: 221d movs r2, #29 80453f8: 701a strb r2, [r3, #0] 80453fa: e060 b.n 80454be case D_Angle_IKD: menupos = D_Angle_IEE; break; 80453fc: 4b11 ldr r3, [pc, #68] ; (8045444 ) 80453fe: 221e movs r2, #30 8045400: 701a strb r2, [r3, #0] 8045402: e05c b.n 80454be case D_Angle_IKS: menupos = D_Angle_IKD; break; 8045404: 4b0f ldr r3, [pc, #60] ; (8045444 ) 8045406: 221f movs r2, #31 8045408: 701a strb r2, [r3, #0] 804540a: e058 b.n 80454be case D_Angle_IKT: menupos = D_Angle_IKS; break; 804540c: 4b0d ldr r3, [pc, #52] ; (8045444 ) 804540e: 2220 movs r2, #32 8045410: 701a strb r2, [r3, #0] 8045412: e054 b.n 80454be case RollMax_IDT: menupos = RollMax_IKD; break; 8045414: 4b0b ldr r3, [pc, #44] ; (8045444 ) 8045416: 222b movs r2, #43 ; 0x2b 8045418: 701a strb r2, [r3, #0] 804541a: e050 b.n 80454be case RollMax_IKD: menupos = RollMax_IEE; break; 804541c: 4b09 ldr r3, [pc, #36] ; (8045444 ) 804541e: 222a movs r2, #42 ; 0x2a 8045420: 701a strb r2, [r3, #0] 8045422: e04c b.n 80454be case RollMax_IEE: menupos = RollMax_IED; break; 8045424: 4b07 ldr r3, [pc, #28] ; (8045444 ) 8045426: 2229 movs r2, #41 ; 0x29 8045428: 701a strb r2, [r3, #0] 804542a: e048 b.n 80454be case RollMax_IED: menupos = RollMax_IES; break; 804542c: 4b05 ldr r3, [pc, #20] ; (8045444 ) 804542e: 2228 movs r2, #40 ; 0x28 8045430: 701a strb r2, [r3, #0] 8045432: e044 b.n 80454be case RollMax_IES: menupos = RollMax_IET; break; 8045434: 4b03 ldr r3, [pc, #12] ; (8045444 ) 8045436: 2227 movs r2, #39 ; 0x27 8045438: 701a strb r2, [r3, #0] 804543a: e040 b.n 80454be case RollMax_IET: menupos = RollMax_IDT; break; 804543c: 4b01 ldr r3, [pc, #4] ; (8045444 ) 804543e: 2226 movs r2, #38 ; 0x26 8045440: 701a strb r2, [r3, #0] 8045442: e03c b.n 80454be 8045444: 20020070 .word 0x20020070 8045448: 20020e2c .word 0x20020e2c case RollCount: if(focused) 804544c: 4ba3 ldr r3, [pc, #652] ; (80456dc ) 804544e: 781b ldrb r3, [r3, #0] 8045450: b2db uxtb r3, r3 8045452: 2b00 cmp r3, #0 8045454: d011 beq.n 804547a { if(pardata.ROLL_COUNT > 5) pardata.ROLL_COUNT--; 8045456: 4ba2 ldr r3, [pc, #648] ; (80456e0 ) 8045458: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 804545c: 2b05 cmp r3, #5 804545e: d907 bls.n 8045470 8045460: 4b9f ldr r3, [pc, #636] ; (80456e0 ) 8045462: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8045466: 3b01 subs r3, #1 8045468: 4a9d ldr r2, [pc, #628] ; (80456e0 ) 804546a: f8c2 30bc str.w r3, [r2, #188] ; 0xbc else pardata.ROLL_COUNT = 99; } else menupos = Ok; break; 804546e: e026 b.n 80454be else pardata.ROLL_COUNT = 99; 8045470: 4b9b ldr r3, [pc, #620] ; (80456e0 ) 8045472: 2263 movs r2, #99 ; 0x63 8045474: f8c3 20bc str.w r2, [r3, #188] ; 0xbc break; 8045478: e021 b.n 80454be menupos = Ok; 804547a: 4b9a ldr r3, [pc, #616] ; (80456e4 ) 804547c: 2200 movs r2, #0 804547e: 701a strb r2, [r3, #0] break; 8045480: e01d b.n 80454be case RollAverage: if(focused) 8045482: 4b96 ldr r3, [pc, #600] ; (80456dc ) 8045484: 781b ldrb r3, [r3, #0] 8045486: b2db uxtb r3, r3 8045488: 2b00 cmp r3, #0 804548a: d010 beq.n 80454ae { if(pardata.AVG > AVG1) pardata.AVG--; 804548c: 4b94 ldr r3, [pc, #592] ; (80456e0 ) 804548e: 7b5b ldrb r3, [r3, #13] 8045490: b2db uxtb r3, r3 8045492: 2b00 cmp r3, #0 8045494: d007 beq.n 80454a6 8045496: 4b92 ldr r3, [pc, #584] ; (80456e0 ) 8045498: 7b5b ldrb r3, [r3, #13] 804549a: b2db uxtb r3, r3 804549c: 3b01 subs r3, #1 804549e: b2da uxtb r2, r3 80454a0: 4b8f ldr r3, [pc, #572] ; (80456e0 ) 80454a2: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } else menupos = Ok; break; 80454a4: e00b b.n 80454be else pardata.AVG = AVG512; 80454a6: 4b8e ldr r3, [pc, #568] ; (80456e0 ) 80454a8: 2209 movs r2, #9 80454aa: 735a strb r2, [r3, #13] break; 80454ac: e007 b.n 80454be menupos = Ok; 80454ae: 4b8d ldr r3, [pc, #564] ; (80456e4 ) 80454b0: 2200 movs r2, #0 80454b2: 701a strb r2, [r3, #0] break; 80454b4: e003 b.n 80454be case D_Inner: case D_Outer: case D_Angle: case RollAutoKu: case RollMax_ALL: menupos = Ok; 80454b6: 4b8b ldr r3, [pc, #556] ; (80456e4 ) 80454b8: 2200 movs r2, #0 80454ba: 701a strb r2, [r3, #0] break; 80454bc: bf00 nop } break; 80454be: f001 ba7c b.w 80469ba case PARAM_VIB: switch(menupos) 80454c2: 4b88 ldr r3, [pc, #544] ; (80456e4 ) 80454c4: 781b ldrb r3, [r3, #0] 80454c6: b2db uxtb r3, r3 80454c8: 3b02 subs r3, #2 80454ca: 2b22 cmp r3, #34 ; 0x22 80454cc: f201 8278 bhi.w 80469c0 80454d0: a201 add r2, pc, #4 ; (adr r2, 80454d8 ) 80454d2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80454d6: bf00 nop 80454d8: 080455f5 .word 0x080455f5 80454dc: 08045629 .word 0x08045629 80454e0: 0804565d .word 0x0804565d 80454e4: 08045691 .word 0x08045691 80454e8: 080456d1 .word 0x080456d1 80454ec: 080456d1 .word 0x080456d1 80454f0: 080456d1 .word 0x080456d1 80454f4: 080456d1 .word 0x080456d1 80454f8: 080456c5 .word 0x080456c5 80454fc: 08045565 .word 0x08045565 8045500: 0804558d .word 0x0804558d 8045504: 08045585 .word 0x08045585 8045508: 0804557d .word 0x0804557d 804550c: 08045575 .word 0x08045575 8045510: 0804556d .word 0x0804556d 8045514: 080469c1 .word 0x080469c1 8045518: 080469c1 .word 0x080469c1 804551c: 080469c1 .word 0x080469c1 8045520: 080469c1 .word 0x080469c1 8045524: 080469c1 .word 0x080469c1 8045528: 080469c1 .word 0x080469c1 804552c: 080456d1 .word 0x080456d1 8045530: 080456d1 .word 0x080456d1 8045534: 08045595 .word 0x08045595 8045538: 080455bd .word 0x080455bd 804553c: 080455b5 .word 0x080455b5 8045540: 080455ad .word 0x080455ad 8045544: 080455a5 .word 0x080455a5 8045548: 0804559d .word 0x0804559d 804554c: 080455c5 .word 0x080455c5 8045550: 080455ed .word 0x080455ed 8045554: 080455e5 .word 0x080455e5 8045558: 080455dd .word 0x080455dd 804555c: 080455d5 .word 0x080455d5 8045560: 080455cd .word 0x080455cd { case VibMax_IDT: menupos = VibMax_IKD; break; 8045564: 4b5f ldr r3, [pc, #380] ; (80456e4 ) 8045566: 2210 movs r2, #16 8045568: 701a strb r2, [r3, #0] 804556a: e0b5 b.n 80456d8 case VibMax_IKD: menupos = VibMax_IEE; break; 804556c: 4b5d ldr r3, [pc, #372] ; (80456e4 ) 804556e: 220f movs r2, #15 8045570: 701a strb r2, [r3, #0] 8045572: e0b1 b.n 80456d8 case VibMax_IEE: menupos = VibMax_IED; break; 8045574: 4b5b ldr r3, [pc, #364] ; (80456e4 ) 8045576: 220e movs r2, #14 8045578: 701a strb r2, [r3, #0] 804557a: e0ad b.n 80456d8 case VibMax_IED: menupos = VibMax_IES; break; 804557c: 4b59 ldr r3, [pc, #356] ; (80456e4 ) 804557e: 220d movs r2, #13 8045580: 701a strb r2, [r3, #0] 8045582: e0a9 b.n 80456d8 case VibMax_IES: menupos = VibMax_IET; break; 8045584: 4b57 ldr r3, [pc, #348] ; (80456e4 ) 8045586: 220c movs r2, #12 8045588: 701a strb r2, [r3, #0] 804558a: e0a5 b.n 80456d8 case VibMax_IET: menupos = VibMax_IDT; break; 804558c: 4b55 ldr r3, [pc, #340] ; (80456e4 ) 804558e: 220b movs r2, #11 8045590: 701a strb r2, [r3, #0] 8045592: e0a1 b.n 80456d8 case FilterHP_IDT: menupos = FilterHP_IKD; break; 8045594: 4b53 ldr r3, [pc, #332] ; (80456e4 ) 8045596: 221e movs r2, #30 8045598: 701a strb r2, [r3, #0] 804559a: e09d b.n 80456d8 case FilterHP_IKD: menupos = FilterHP_IEE; break; 804559c: 4b51 ldr r3, [pc, #324] ; (80456e4 ) 804559e: 221d movs r2, #29 80455a0: 701a strb r2, [r3, #0] 80455a2: e099 b.n 80456d8 case FilterHP_IEE: menupos = FilterHP_IED; break; 80455a4: 4b4f ldr r3, [pc, #316] ; (80456e4 ) 80455a6: 221c movs r2, #28 80455a8: 701a strb r2, [r3, #0] 80455aa: e095 b.n 80456d8 case FilterHP_IED: menupos = FilterHP_IES; break; 80455ac: 4b4d ldr r3, [pc, #308] ; (80456e4 ) 80455ae: 221b movs r2, #27 80455b0: 701a strb r2, [r3, #0] 80455b2: e091 b.n 80456d8 case FilterHP_IES: menupos = FilterHP_IET; break; 80455b4: 4b4b ldr r3, [pc, #300] ; (80456e4 ) 80455b6: 221a movs r2, #26 80455b8: 701a strb r2, [r3, #0] 80455ba: e08d b.n 80456d8 case FilterHP_IET: menupos = FilterHP_IDT; break; 80455bc: 4b49 ldr r3, [pc, #292] ; (80456e4 ) 80455be: 2219 movs r2, #25 80455c0: 701a strb r2, [r3, #0] 80455c2: e089 b.n 80456d8 case FilterLP_IDT: menupos = FilterLP_IKD; break; 80455c4: 4b47 ldr r3, [pc, #284] ; (80456e4 ) 80455c6: 2224 movs r2, #36 ; 0x24 80455c8: 701a strb r2, [r3, #0] 80455ca: e085 b.n 80456d8 case FilterLP_IKD: menupos = FilterLP_IEE; break; 80455cc: 4b45 ldr r3, [pc, #276] ; (80456e4 ) 80455ce: 2223 movs r2, #35 ; 0x23 80455d0: 701a strb r2, [r3, #0] 80455d2: e081 b.n 80456d8 case FilterLP_IEE: menupos = FilterLP_IED; break; 80455d4: 4b43 ldr r3, [pc, #268] ; (80456e4 ) 80455d6: 2222 movs r2, #34 ; 0x22 80455d8: 701a strb r2, [r3, #0] 80455da: e07d b.n 80456d8 case FilterLP_IED: menupos = FilterLP_IES; break; 80455dc: 4b41 ldr r3, [pc, #260] ; (80456e4 ) 80455de: 2221 movs r2, #33 ; 0x21 80455e0: 701a strb r2, [r3, #0] 80455e2: e079 b.n 80456d8 case FilterLP_IES: menupos = FilterLP_IET; break; 80455e4: 4b3f ldr r3, [pc, #252] ; (80456e4 ) 80455e6: 2220 movs r2, #32 80455e8: 701a strb r2, [r3, #0] 80455ea: e075 b.n 80456d8 case FilterLP_IET: menupos = FilterLP_IDT; break; 80455ec: 4b3d ldr r3, [pc, #244] ; (80456e4 ) 80455ee: 221f movs r2, #31 80455f0: 701a strb r2, [r3, #0] 80455f2: e071 b.n 80456d8 case ValueA: if(focused) 80455f4: 4b39 ldr r3, [pc, #228] ; (80456dc ) 80455f6: 781b ldrb r3, [r3, #0] 80455f8: b2db uxtb r3, r3 80455fa: 2b00 cmp r3, #0 80455fc: d010 beq.n 8045620 { if(pardata.IVS[ACC] > PEAK) pardata.IVS[ACC]--; 80455fe: 4b38 ldr r3, [pc, #224] ; (80456e0 ) 8045600: 789b ldrb r3, [r3, #2] 8045602: b2db uxtb r3, r3 8045604: 2b00 cmp r3, #0 8045606: d007 beq.n 8045618 8045608: 4b35 ldr r3, [pc, #212] ; (80456e0 ) 804560a: 789b ldrb r3, [r3, #2] 804560c: b2db uxtb r3, r3 804560e: 3b01 subs r3, #1 8045610: b2da uxtb r2, r3 8045612: 4b33 ldr r3, [pc, #204] ; (80456e0 ) 8045614: 709a strb r2, [r3, #2] else pardata.IVS[ACC] = EXCESS; } else menupos = Ok; break; 8045616: e05f b.n 80456d8 else pardata.IVS[ACC] = EXCESS; 8045618: 4b31 ldr r3, [pc, #196] ; (80456e0 ) 804561a: 2204 movs r2, #4 804561c: 709a strb r2, [r3, #2] break; 804561e: e05b b.n 80456d8 menupos = Ok; 8045620: 4b30 ldr r3, [pc, #192] ; (80456e4 ) 8045622: 2200 movs r2, #0 8045624: 701a strb r2, [r3, #0] break; 8045626: e057 b.n 80456d8 case ValueV: if(focused) 8045628: 4b2c ldr r3, [pc, #176] ; (80456dc ) 804562a: 781b ldrb r3, [r3, #0] 804562c: b2db uxtb r3, r3 804562e: 2b00 cmp r3, #0 8045630: d010 beq.n 8045654 { if(pardata.IVS[VEL] > PEAK) pardata.IVS[VEL]--; 8045632: 4b2b ldr r3, [pc, #172] ; (80456e0 ) 8045634: 78db ldrb r3, [r3, #3] 8045636: b2db uxtb r3, r3 8045638: 2b00 cmp r3, #0 804563a: d007 beq.n 804564c 804563c: 4b28 ldr r3, [pc, #160] ; (80456e0 ) 804563e: 78db ldrb r3, [r3, #3] 8045640: b2db uxtb r3, r3 8045642: 3b01 subs r3, #1 8045644: b2da uxtb r2, r3 8045646: 4b26 ldr r3, [pc, #152] ; (80456e0 ) 8045648: 70da strb r2, [r3, #3] else pardata.IVS[VEL] = EXCESS; } else menupos = Ok; break; 804564a: e045 b.n 80456d8 else pardata.IVS[VEL] = EXCESS; 804564c: 4b24 ldr r3, [pc, #144] ; (80456e0 ) 804564e: 2204 movs r2, #4 8045650: 70da strb r2, [r3, #3] break; 8045652: e041 b.n 80456d8 menupos = Ok; 8045654: 4b23 ldr r3, [pc, #140] ; (80456e4 ) 8045656: 2200 movs r2, #0 8045658: 701a strb r2, [r3, #0] break; 804565a: e03d b.n 80456d8 case ValueS: if(focused) 804565c: 4b1f ldr r3, [pc, #124] ; (80456dc ) 804565e: 781b ldrb r3, [r3, #0] 8045660: b2db uxtb r3, r3 8045662: 2b00 cmp r3, #0 8045664: d010 beq.n 8045688 { if(pardata.IVS[DIS] > PEAK) pardata.IVS[DIS]--; 8045666: 4b1e ldr r3, [pc, #120] ; (80456e0 ) 8045668: 791b ldrb r3, [r3, #4] 804566a: b2db uxtb r3, r3 804566c: 2b00 cmp r3, #0 804566e: d007 beq.n 8045680 8045670: 4b1b ldr r3, [pc, #108] ; (80456e0 ) 8045672: 791b ldrb r3, [r3, #4] 8045674: b2db uxtb r3, r3 8045676: 3b01 subs r3, #1 8045678: b2da uxtb r2, r3 804567a: 4b19 ldr r3, [pc, #100] ; (80456e0 ) 804567c: 711a strb r2, [r3, #4] else pardata.IVS[DIS] = EXCESS; } else menupos = Ok; break; 804567e: e02b b.n 80456d8 else pardata.IVS[DIS] = EXCESS; 8045680: 4b17 ldr r3, [pc, #92] ; (80456e0 ) 8045682: 2204 movs r2, #4 8045684: 711a strb r2, [r3, #4] break; 8045686: e027 b.n 80456d8 menupos = Ok; 8045688: 4b16 ldr r3, [pc, #88] ; (80456e4 ) 804568a: 2200 movs r2, #0 804568c: 701a strb r2, [r3, #0] break; 804568e: e023 b.n 80456d8 case Average: if(focused) 8045690: 4b12 ldr r3, [pc, #72] ; (80456dc ) 8045692: 781b ldrb r3, [r3, #0] 8045694: b2db uxtb r3, r3 8045696: 2b00 cmp r3, #0 8045698: d010 beq.n 80456bc { if(pardata.AVG > AVG1) pardata.AVG--; 804569a: 4b11 ldr r3, [pc, #68] ; (80456e0 ) 804569c: 7b5b ldrb r3, [r3, #13] 804569e: b2db uxtb r3, r3 80456a0: 2b00 cmp r3, #0 80456a2: d007 beq.n 80456b4 80456a4: 4b0e ldr r3, [pc, #56] ; (80456e0 ) 80456a6: 7b5b ldrb r3, [r3, #13] 80456a8: b2db uxtb r3, r3 80456aa: 3b01 subs r3, #1 80456ac: b2da uxtb r2, r3 80456ae: 4b0c ldr r3, [pc, #48] ; (80456e0 ) 80456b0: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } else menupos = Ok; break; 80456b2: e011 b.n 80456d8 else pardata.AVG = AVG512; 80456b4: 4b0a ldr r3, [pc, #40] ; (80456e0 ) 80456b6: 2209 movs r2, #9 80456b8: 735a strb r2, [r3, #13] break; 80456ba: e00d b.n 80456d8 menupos = Ok; 80456bc: 4b09 ldr r3, [pc, #36] ; (80456e4 ) 80456be: 2200 movs r2, #0 80456c0: 701a strb r2, [r3, #0] break; 80456c2: e009 b.n 80456d8 case SaveToFile: memset(MeasFileName, 0, sizeof(MeasFileName)); 80456c4: 2221 movs r2, #33 ; 0x21 80456c6: 2100 movs r1, #0 80456c8: 4807 ldr r0, [pc, #28] ; (80456e8 ) 80456ca: f08b fe69 bl 80d13a0 break; 80456ce: e003 b.n 80456d8 case ViewFreq: case VibAutoKu: case VibMax_ALL: case FilterHP: case FilterLP: menupos = Ok; 80456d0: 4b04 ldr r3, [pc, #16] ; (80456e4 ) 80456d2: 2200 movs r2, #0 80456d4: 701a strb r2, [r3, #0] break; 80456d6: bf00 nop } break; 80456d8: f001 b972 b.w 80469c0 80456dc: 20020fc8 .word 0x20020fc8 80456e0: 20023ea8 .word 0x20023ea8 80456e4: 20020070 .word 0x20020070 80456e8: 20020e78 .word 0x20020e78 case PARAM_SPEC: switch(menupos) 80456ec: 4bc5 ldr r3, [pc, #788] ; (8045a04 ) 80456ee: 781b ldrb r3, [r3, #0] 80456f0: b2db uxtb r3, r3 80456f2: 3b01 subs r3, #1 80456f4: 2b23 cmp r3, #35 ; 0x23 80456f6: f201 8166 bhi.w 80469c6 80456fa: a201 add r2, pc, #4 ; (adr r2, 8045700 ) 80456fc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8045700: 08045791 .word 0x08045791 8045704: 08045d05 .word 0x08045d05 8045708: 080469c7 .word 0x080469c7 804570c: 0804602b .word 0x0804602b 8045710: 08046093 .word 0x08046093 8045714: 0804605f .word 0x0804605f 8045718: 080460bf .word 0x080460bf 804571c: 08045c57 .word 0x08045c57 8045720: 08045c57 .word 0x08045c57 8045724: 080469c7 .word 0x080469c7 8045728: 08045c5f .word 0x08045c5f 804572c: 08045c87 .word 0x08045c87 8045730: 08045c7f .word 0x08045c7f 8045734: 08045c77 .word 0x08045c77 8045738: 08045c6f .word 0x08045c6f 804573c: 08045c67 .word 0x08045c67 8045740: 080469c7 .word 0x080469c7 8045744: 080469c7 .word 0x080469c7 8045748: 080469c7 .word 0x080469c7 804574c: 080469c7 .word 0x080469c7 8045750: 080469c7 .word 0x080469c7 8045754: 080469c7 .word 0x080469c7 8045758: 080469c7 .word 0x080469c7 804575c: 080469c7 .word 0x080469c7 8045760: 08045c8f .word 0x08045c8f 8045764: 08045cb7 .word 0x08045cb7 8045768: 08045caf .word 0x08045caf 804576c: 08045ca7 .word 0x08045ca7 8045770: 08045c9f .word 0x08045c9f 8045774: 08045c97 .word 0x08045c97 8045778: 08045cbf .word 0x08045cbf 804577c: 08045ce7 .word 0x08045ce7 8045780: 08045cdf .word 0x08045cdf 8045784: 08045cd7 .word 0x08045cd7 8045788: 08045ccf .word 0x08045ccf 804578c: 08045cc7 .word 0x08045cc7 { case SpecType: if(focused) 8045790: 4b9d ldr r3, [pc, #628] ; (8045a08 ) 8045792: 781b ldrb r3, [r3, #0] 8045794: b2db uxtb r3, r3 8045796: 2b00 cmp r3, #0 8045798: f000 8258 beq.w 8045c4c { if((pardata.OPTIONS & maskFFT) == fft) 804579c: 4b9b ldr r3, [pc, #620] ; (8045a0c ) 804579e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80457a2: f003 0330 and.w r3, r3, #48 ; 0x30 80457a6: 2b00 cmp r3, #0 80457a8: f040 809a bne.w 80458e0 { pardata.OPTIONS &= ~maskFFT; 80457ac: 4b97 ldr r3, [pc, #604] ; (8045a0c ) 80457ae: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80457b2: f023 0330 bic.w r3, r3, #48 ; 0x30 80457b6: 4a95 ldr r2, [pc, #596] ; (8045a0c ) 80457b8: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= third; 80457bc: 4b93 ldr r3, [pc, #588] ; (8045a0c ) 80457be: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80457c2: f043 0330 orr.w r3, r3, #48 ; 0x30 80457c6: 4a91 ldr r2, [pc, #580] ; (8045a0c ) 80457c8: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 80457cc: 4b8f ldr r3, [pc, #572] ; (8045a0c ) 80457ce: 785b ldrb r3, [r3, #1] 80457d0: b2db uxtb r3, r3 80457d2: 461a mov r2, r3 80457d4: 4b8d ldr r3, [pc, #564] ; (8045a0c ) 80457d6: 4413 add r3, r2 80457d8: 789b ldrb r3, [r3, #2] 80457da: b2db uxtb r3, r3 80457dc: 2b01 cmp r3, #1 80457de: d907 bls.n 80457f0 pardata.IVS[pardata.IPR] = PEAK; 80457e0: 4b8a ldr r3, [pc, #552] ; (8045a0c ) 80457e2: 785b ldrb r3, [r3, #1] 80457e4: b2db uxtb r3, r3 80457e6: 461a mov r2, r3 80457e8: 4b88 ldr r3, [pc, #544] ; (8045a0c ) 80457ea: 4413 add r3, r2 80457ec: 2200 movs r2, #0 80457ee: 709a strb r2, [r3, #2] pardata.LNE = N3200; 80457f0: 4b86 ldr r3, [pc, #536] ; (8045a0c ) 80457f2: 2203 movs r2, #3 80457f4: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 80457f6: 4b85 ldr r3, [pc, #532] ; (8045a0c ) 80457f8: 2209 movs r2, #9 80457fa: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 80457fc: 4b83 ldr r3, [pc, #524] ; (8045a0c ) 80457fe: 785b ldrb r3, [r3, #1] 8045800: b2db uxtb r3, r3 8045802: 2b00 cmp r3, #0 8045804: d00e beq.n 8045824 8045806: 4b81 ldr r3, [pc, #516] ; (8045a0c ) 8045808: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804580c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8045810: eef4 7ac7 vcmpe.f32 s15, s14 8045814: eef1 fa10 vmrs APSR_nzcv, fpscr 8045818: d504 bpl.n 8045824 pardata.HP = 2.0f; 804581a: 4b7c ldr r3, [pc, #496] ; (8045a0c ) 804581c: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8045820: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8045824: 4b79 ldr r3, [pc, #484] ; (8045a0c ) 8045826: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 804582a: 4b78 ldr r3, [pc, #480] ; (8045a0c ) 804582c: 7adb ldrb r3, [r3, #11] 804582e: b2db uxtb r3, r3 8045830: 461a mov r2, r3 8045832: 4b77 ldr r3, [pc, #476] ; (8045a10 ) 8045834: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045838: ee07 3a90 vmov s15, r3 804583c: eef8 6a67 vcvt.f32.u32 s13, s15 8045840: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8045844: eec6 7a86 vdiv.f32 s15, s13, s12 8045848: eeb4 7ae7 vcmpe.f32 s14, s15 804584c: eef1 fa10 vmrs APSR_nzcv, fpscr 8045850: dd15 ble.n 804587e pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8045852: 4b6e ldr r3, [pc, #440] ; (8045a0c ) 8045854: 7adb ldrb r3, [r3, #11] 8045856: b2db uxtb r3, r3 8045858: 461a mov r2, r3 804585a: 4b6d ldr r3, [pc, #436] ; (8045a10 ) 804585c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045860: ee07 3a90 vmov s15, r3 8045864: eeb8 7a67 vcvt.f32.u32 s14, s15 8045868: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 804586c: eec7 7a26 vdiv.f32 s15, s14, s13 8045870: ed9f 7a68 vldr s14, [pc, #416] ; 8045a14 8045874: ee77 7a87 vadd.f32 s15, s15, s14 8045878: 4b64 ldr r3, [pc, #400] ; (8045a0c ) 804587a: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 804587e: 4b63 ldr r3, [pc, #396] ; (8045a0c ) 8045880: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8045884: 4b61 ldr r3, [pc, #388] ; (8045a0c ) 8045886: 7adb ldrb r3, [r3, #11] 8045888: b2db uxtb r3, r3 804588a: 461a mov r2, r3 804588c: 4b60 ldr r3, [pc, #384] ; (8045a10 ) 804588e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045892: ee07 3a90 vmov s15, r3 8045896: eef8 6a67 vcvt.f32.u32 s13, s15 804589a: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 804589e: eec6 7a86 vdiv.f32 s15, s13, s12 80458a2: eeb4 7ae7 vcmpe.f32 s14, s15 80458a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80458aa: dc01 bgt.n 80458b0 } } } else menupos = Ok; break; 80458ac: f000 bc21 b.w 80460f2 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 80458b0: 4b56 ldr r3, [pc, #344] ; (8045a0c ) 80458b2: 7adb ldrb r3, [r3, #11] 80458b4: b2db uxtb r3, r3 80458b6: 461a mov r2, r3 80458b8: 4b55 ldr r3, [pc, #340] ; (8045a10 ) 80458ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80458be: ee07 3a90 vmov s15, r3 80458c2: eeb8 7a67 vcvt.f32.u32 s14, s15 80458c6: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80458ca: eec7 7a26 vdiv.f32 s15, s14, s13 80458ce: ed9f 7a51 vldr s14, [pc, #324] ; 8045a14 80458d2: ee77 7a87 vadd.f32 s15, s15, s14 80458d6: 4b4d ldr r3, [pc, #308] ; (8045a0c ) 80458d8: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 80458dc: f000 bc09 b.w 80460f2 if((pardata.OPTIONS & maskFFT) == third) 80458e0: 4b4a ldr r3, [pc, #296] ; (8045a0c ) 80458e2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80458e6: f003 0330 and.w r3, r3, #48 ; 0x30 80458ea: 2b30 cmp r3, #48 ; 0x30 80458ec: f040 80af bne.w 8045a4e pardata.OPTIONS &= ~maskFFT; 80458f0: 4b46 ldr r3, [pc, #280] ; (8045a0c ) 80458f2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80458f6: f023 0330 bic.w r3, r3, #48 ; 0x30 80458fa: 4a44 ldr r2, [pc, #272] ; (8045a0c ) 80458fc: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= okt; 8045900: 4b42 ldr r3, [pc, #264] ; (8045a0c ) 8045902: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8045906: f043 0320 orr.w r3, r3, #32 804590a: 4a40 ldr r2, [pc, #256] ; (8045a0c ) 804590c: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8045910: 4b3e ldr r3, [pc, #248] ; (8045a0c ) 8045912: 785b ldrb r3, [r3, #1] 8045914: b2db uxtb r3, r3 8045916: 461a mov r2, r3 8045918: 4b3c ldr r3, [pc, #240] ; (8045a0c ) 804591a: 4413 add r3, r2 804591c: 789b ldrb r3, [r3, #2] 804591e: b2db uxtb r3, r3 8045920: 2b01 cmp r3, #1 8045922: d907 bls.n 8045934 pardata.IVS[pardata.IPR] = PEAK; 8045924: 4b39 ldr r3, [pc, #228] ; (8045a0c ) 8045926: 785b ldrb r3, [r3, #1] 8045928: b2db uxtb r3, r3 804592a: 461a mov r2, r3 804592c: 4b37 ldr r3, [pc, #220] ; (8045a0c ) 804592e: 4413 add r3, r2 8045930: 2200 movs r2, #0 8045932: 709a strb r2, [r3, #2] pardata.LNE = N3200; 8045934: 4b35 ldr r3, [pc, #212] ; (8045a0c ) 8045936: 2203 movs r2, #3 8045938: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 804593a: 4b34 ldr r3, [pc, #208] ; (8045a0c ) 804593c: 2209 movs r2, #9 804593e: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8045940: 4b32 ldr r3, [pc, #200] ; (8045a0c ) 8045942: 785b ldrb r3, [r3, #1] 8045944: b2db uxtb r3, r3 8045946: 2b00 cmp r3, #0 8045948: d00e beq.n 8045968 804594a: 4b30 ldr r3, [pc, #192] ; (8045a0c ) 804594c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8045950: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8045954: eef4 7ac7 vcmpe.f32 s15, s14 8045958: eef1 fa10 vmrs APSR_nzcv, fpscr 804595c: d504 bpl.n 8045968 pardata.HP = 2.0f; 804595e: 4b2b ldr r3, [pc, #172] ; (8045a0c ) 8045960: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8045964: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8045968: 4b28 ldr r3, [pc, #160] ; (8045a0c ) 804596a: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 804596e: 4b27 ldr r3, [pc, #156] ; (8045a0c ) 8045970: 7adb ldrb r3, [r3, #11] 8045972: b2db uxtb r3, r3 8045974: 461a mov r2, r3 8045976: 4b26 ldr r3, [pc, #152] ; (8045a10 ) 8045978: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804597c: ee07 3a90 vmov s15, r3 8045980: eef8 6a67 vcvt.f32.u32 s13, s15 8045984: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8045988: eec6 7a86 vdiv.f32 s15, s13, s12 804598c: eddf 6a22 vldr s13, [pc, #136] ; 8045a18 8045990: ee77 7aa6 vadd.f32 s15, s15, s13 8045994: eeb4 7ae7 vcmpe.f32 s14, s15 8045998: eef1 fa10 vmrs APSR_nzcv, fpscr 804599c: dd15 ble.n 80459ca pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 804599e: 4b1b ldr r3, [pc, #108] ; (8045a0c ) 80459a0: 7adb ldrb r3, [r3, #11] 80459a2: b2db uxtb r3, r3 80459a4: 461a mov r2, r3 80459a6: 4b1a ldr r3, [pc, #104] ; (8045a10 ) 80459a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80459ac: 4a1b ldr r2, [pc, #108] ; (8045a1c ) 80459ae: fba2 2303 umull r2, r3, r2, r3 80459b2: 089b lsrs r3, r3, #2 80459b4: ee07 3a90 vmov s15, r3 80459b8: eef8 7a67 vcvt.f32.u32 s15, s15 80459bc: ed9f 7a15 vldr s14, [pc, #84] ; 8045a14 80459c0: ee77 7a87 vadd.f32 s15, s15, s14 80459c4: 4b11 ldr r3, [pc, #68] ; (8045a0c ) 80459c6: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80459ca: 4b10 ldr r3, [pc, #64] ; (8045a0c ) 80459cc: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80459d0: 4b0e ldr r3, [pc, #56] ; (8045a0c ) 80459d2: 7adb ldrb r3, [r3, #11] 80459d4: b2db uxtb r3, r3 80459d6: 461a mov r2, r3 80459d8: 4b0d ldr r3, [pc, #52] ; (8045a10 ) 80459da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80459de: ee07 3a90 vmov s15, r3 80459e2: eef8 6a67 vcvt.f32.u32 s13, s15 80459e6: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 80459ea: eec6 7a86 vdiv.f32 s15, s13, s12 80459ee: eddf 6a0a vldr s13, [pc, #40] ; 8045a18 80459f2: ee77 7aa6 vadd.f32 s15, s15, s13 80459f6: eeb4 7ae7 vcmpe.f32 s14, s15 80459fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80459fe: dc0f bgt.n 8045a20 break; 8045a00: e377 b.n 80460f2 8045a02: bf00 nop 8045a04: 20020070 .word 0x20020070 8045a08: 20020fc8 .word 0x20020fc8 8045a0c: 20023ea8 .word 0x20023ea8 8045a10: 080f2c08 .word 0x080f2c08 8045a14: 38d1b717 .word 0x38d1b717 8045a18: 3851b717 .word 0x3851b717 8045a1c: cccccccd .word 0xcccccccd pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8045a20: 4bb3 ldr r3, [pc, #716] ; (8045cf0 ) 8045a22: 7adb ldrb r3, [r3, #11] 8045a24: b2db uxtb r3, r3 8045a26: 461a mov r2, r3 8045a28: 4bb2 ldr r3, [pc, #712] ; (8045cf4 ) 8045a2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045a2e: 4ab2 ldr r2, [pc, #712] ; (8045cf8 ) 8045a30: fba2 2303 umull r2, r3, r2, r3 8045a34: 089b lsrs r3, r3, #2 8045a36: ee07 3a90 vmov s15, r3 8045a3a: eef8 7a67 vcvt.f32.u32 s15, s15 8045a3e: ed9f 7aaf vldr s14, [pc, #700] ; 8045cfc 8045a42: ee77 7a87 vadd.f32 s15, s15, s14 8045a46: 4baa ldr r3, [pc, #680] ; (8045cf0 ) 8045a48: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8045a4c: e351 b.n 80460f2 if((pardata.OPTIONS & maskFFT) == okt) 8045a4e: 4ba8 ldr r3, [pc, #672] ; (8045cf0 ) 8045a50: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8045a54: f003 0330 and.w r3, r3, #48 ; 0x30 8045a58: 2b20 cmp r3, #32 8045a5a: d178 bne.n 8045b4e pardata.OPTIONS &= ~maskFFT; 8045a5c: 4ba4 ldr r3, [pc, #656] ; (8045cf0 ) 8045a5e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8045a62: f023 0330 bic.w r3, r3, #48 ; 0x30 8045a66: 4aa2 ldr r2, [pc, #648] ; (8045cf0 ) 8045a68: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= env; 8045a6c: 4ba0 ldr r3, [pc, #640] ; (8045cf0 ) 8045a6e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8045a72: f043 0310 orr.w r3, r3, #16 8045a76: 4a9e ldr r2, [pc, #632] ; (8045cf0 ) 8045a78: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8045a7c: 4b9c ldr r3, [pc, #624] ; (8045cf0 ) 8045a7e: 785b ldrb r3, [r3, #1] 8045a80: b2db uxtb r3, r3 8045a82: 461a mov r2, r3 8045a84: 4b9a ldr r3, [pc, #616] ; (8045cf0 ) 8045a86: 4413 add r3, r2 8045a88: 789b ldrb r3, [r3, #2] 8045a8a: b2db uxtb r3, r3 8045a8c: 2b01 cmp r3, #1 8045a8e: d907 bls.n 8045aa0 pardata.IVS[pardata.IPR] = PEAK; 8045a90: 4b97 ldr r3, [pc, #604] ; (8045cf0 ) 8045a92: 785b ldrb r3, [r3, #1] 8045a94: b2db uxtb r3, r3 8045a96: 461a mov r2, r3 8045a98: 4b95 ldr r3, [pc, #596] ; (8045cf0 ) 8045a9a: 4413 add r3, r2 8045a9c: 2200 movs r2, #0 8045a9e: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8045aa0: 4b93 ldr r3, [pc, #588] ; (8045cf0 ) 8045aa2: 785b ldrb r3, [r3, #1] 8045aa4: b2db uxtb r3, r3 8045aa6: 2b00 cmp r3, #0 8045aa8: d00e beq.n 8045ac8 8045aaa: 4b91 ldr r3, [pc, #580] ; (8045cf0 ) 8045aac: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8045ab0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8045ab4: eef4 7ac7 vcmpe.f32 s15, s14 8045ab8: eef1 fa10 vmrs APSR_nzcv, fpscr 8045abc: d504 bpl.n 8045ac8 pardata.HP = 2.0f; 8045abe: 4b8c ldr r3, [pc, #560] ; (8045cf0 ) 8045ac0: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8045ac4: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 8045ac8: 2309 movs r3, #9 8045aca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8045ace: e039 b.n 8045b44 f = (float32_t) FS[k] / pardata.LP; 8045ad0: 4a88 ldr r2, [pc, #544] ; (8045cf4 ) 8045ad2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045ad6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8045ada: ee07 3a90 vmov s15, r3 8045ade: eef8 6a67 vcvt.f32.u32 s13, s15 8045ae2: 4b83 ldr r3, [pc, #524] ; (8045cf0 ) 8045ae4: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8045ae8: eec6 7a87 vdiv.f32 s15, s13, s14 8045aec: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8045af0: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8045af4: ed9f 7a81 vldr s14, [pc, #516] ; 8045cfc 8045af8: ee77 7a87 vadd.f32 s15, s15, s14 8045afc: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8045b00: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8045b04: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8045b08: eef4 7ac7 vcmpe.f32 s15, s14 8045b0c: eef1 fa10 vmrs APSR_nzcv, fpscr 8045b10: d507 bpl.n 8045b22 pardata.FRQ = k + 1; 8045b12: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045b16: b2db uxtb r3, r3 8045b18: 3301 adds r3, #1 8045b1a: b2da uxtb r2, r3 8045b1c: 4b74 ldr r3, [pc, #464] ; (8045cf0 ) 8045b1e: 72da strb r2, [r3, #11] break; 8045b20: e098 b.n 8045c54 if(k > 0) 8045b22: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045b26: 2b00 cmp r3, #0 8045b28: d004 beq.n 8045b34 k--; 8045b2a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045b2e: 3b01 subs r3, #1 8045b30: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8045b34: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045b38: 2b00 cmp r3, #0 8045b3a: d103 bne.n 8045b44 pardata.FRQ = _125Hz; 8045b3c: 4b6c ldr r3, [pc, #432] ; (8045cf0 ) 8045b3e: 2200 movs r2, #0 8045b40: 72da strb r2, [r3, #11] break; 8045b42: e087 b.n 8045c54 while(k > _125Hz) 8045b44: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045b48: 2b00 cmp r3, #0 8045b4a: d1c1 bne.n 8045ad0 break; 8045b4c: e2d1 b.n 80460f2 if((pardata.OPTIONS & maskFFT) == env) 8045b4e: 4b68 ldr r3, [pc, #416] ; (8045cf0 ) 8045b50: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8045b54: f003 0330 and.w r3, r3, #48 ; 0x30 8045b58: 2b10 cmp r3, #16 8045b5a: f040 82ca bne.w 80460f2 pardata.OPTIONS &= ~maskFFT; 8045b5e: 4b64 ldr r3, [pc, #400] ; (8045cf0 ) 8045b60: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8045b64: f023 0330 bic.w r3, r3, #48 ; 0x30 8045b68: 4a61 ldr r2, [pc, #388] ; (8045cf0 ) 8045b6a: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= fft; 8045b6e: 4b60 ldr r3, [pc, #384] ; (8045cf0 ) 8045b70: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8045b74: 4a5e ldr r2, [pc, #376] ; (8045cf0 ) 8045b76: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8045b7a: 4b5d ldr r3, [pc, #372] ; (8045cf0 ) 8045b7c: 785b ldrb r3, [r3, #1] 8045b7e: b2db uxtb r3, r3 8045b80: 461a mov r2, r3 8045b82: 4b5b ldr r3, [pc, #364] ; (8045cf0 ) 8045b84: 4413 add r3, r2 8045b86: 789b ldrb r3, [r3, #2] 8045b88: b2db uxtb r3, r3 8045b8a: 2b01 cmp r3, #1 8045b8c: d907 bls.n 8045b9e pardata.IVS[pardata.IPR] = PEAK; 8045b8e: 4b58 ldr r3, [pc, #352] ; (8045cf0 ) 8045b90: 785b ldrb r3, [r3, #1] 8045b92: b2db uxtb r3, r3 8045b94: 461a mov r2, r3 8045b96: 4b56 ldr r3, [pc, #344] ; (8045cf0 ) 8045b98: 4413 add r3, r2 8045b9a: 2200 movs r2, #0 8045b9c: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8045b9e: 4b54 ldr r3, [pc, #336] ; (8045cf0 ) 8045ba0: 785b ldrb r3, [r3, #1] 8045ba2: b2db uxtb r3, r3 8045ba4: 2b00 cmp r3, #0 8045ba6: d00e beq.n 8045bc6 8045ba8: 4b51 ldr r3, [pc, #324] ; (8045cf0 ) 8045baa: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8045bae: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8045bb2: eef4 7ac7 vcmpe.f32 s15, s14 8045bb6: eef1 fa10 vmrs APSR_nzcv, fpscr 8045bba: d504 bpl.n 8045bc6 pardata.HP = 2.0f; 8045bbc: 4b4c ldr r3, [pc, #304] ; (8045cf0 ) 8045bbe: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8045bc2: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 8045bc6: 2309 movs r3, #9 8045bc8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8045bcc: e039 b.n 8045c42 f = (float32_t) FS[k] / pardata.LP; 8045bce: 4a49 ldr r2, [pc, #292] ; (8045cf4 ) 8045bd0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045bd4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8045bd8: ee07 3a90 vmov s15, r3 8045bdc: eef8 6a67 vcvt.f32.u32 s13, s15 8045be0: 4b43 ldr r3, [pc, #268] ; (8045cf0 ) 8045be2: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8045be6: eec6 7a87 vdiv.f32 s15, s13, s14 8045bea: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8045bee: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8045bf2: ed9f 7a42 vldr s14, [pc, #264] ; 8045cfc 8045bf6: ee77 7a87 vadd.f32 s15, s15, s14 8045bfa: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8045bfe: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8045c02: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8045c06: eef4 7ac7 vcmpe.f32 s15, s14 8045c0a: eef1 fa10 vmrs APSR_nzcv, fpscr 8045c0e: d507 bpl.n 8045c20 pardata.FRQ = k + 1; 8045c10: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045c14: b2db uxtb r3, r3 8045c16: 3301 adds r3, #1 8045c18: b2da uxtb r2, r3 8045c1a: 4b35 ldr r3, [pc, #212] ; (8045cf0 ) 8045c1c: 72da strb r2, [r3, #11] break; 8045c1e: e019 b.n 8045c54 if(k > 0) 8045c20: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045c24: 2b00 cmp r3, #0 8045c26: d004 beq.n 8045c32 k--; 8045c28: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045c2c: 3b01 subs r3, #1 8045c2e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8045c32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045c36: 2b00 cmp r3, #0 8045c38: d103 bne.n 8045c42 pardata.FRQ = _125Hz; 8045c3a: 4b2d ldr r3, [pc, #180] ; (8045cf0 ) 8045c3c: 2200 movs r2, #0 8045c3e: 72da strb r2, [r3, #11] break; 8045c40: e008 b.n 8045c54 while(k > _125Hz) 8045c42: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045c46: 2b00 cmp r3, #0 8045c48: d1c1 bne.n 8045bce break; 8045c4a: e252 b.n 80460f2 menupos = Ok; 8045c4c: 4b2c ldr r3, [pc, #176] ; (8045d00 ) 8045c4e: 2200 movs r2, #0 8045c50: 701a strb r2, [r3, #0] break; 8045c52: e24e b.n 80460f2 8045c54: e24d b.n 80460f2 case VibMax_ALL: case VibAutoKu: menupos = Ok; 8045c56: 4b2a ldr r3, [pc, #168] ; (8045d00 ) 8045c58: 2200 movs r2, #0 8045c5a: 701a strb r2, [r3, #0] break; 8045c5c: e24a b.n 80460f4 case VibMax_IDT: menupos = VibMax_IKD; break; 8045c5e: 4b28 ldr r3, [pc, #160] ; (8045d00 ) 8045c60: 2210 movs r2, #16 8045c62: 701a strb r2, [r3, #0] 8045c64: e246 b.n 80460f4 case VibMax_IKD: menupos = VibMax_IEE; break; 8045c66: 4b26 ldr r3, [pc, #152] ; (8045d00 ) 8045c68: 220f movs r2, #15 8045c6a: 701a strb r2, [r3, #0] 8045c6c: e242 b.n 80460f4 case VibMax_IEE: menupos = VibMax_IED; break; 8045c6e: 4b24 ldr r3, [pc, #144] ; (8045d00 ) 8045c70: 220e movs r2, #14 8045c72: 701a strb r2, [r3, #0] 8045c74: e23e b.n 80460f4 case VibMax_IED: menupos = VibMax_IES; break; 8045c76: 4b22 ldr r3, [pc, #136] ; (8045d00 ) 8045c78: 220d movs r2, #13 8045c7a: 701a strb r2, [r3, #0] 8045c7c: e23a b.n 80460f4 case VibMax_IES: menupos = VibMax_IET; break; 8045c7e: 4b20 ldr r3, [pc, #128] ; (8045d00 ) 8045c80: 220c movs r2, #12 8045c82: 701a strb r2, [r3, #0] 8045c84: e236 b.n 80460f4 case VibMax_IET: menupos = VibMax_IDT; break; 8045c86: 4b1e ldr r3, [pc, #120] ; (8045d00 ) 8045c88: 220b movs r2, #11 8045c8a: 701a strb r2, [r3, #0] 8045c8c: e232 b.n 80460f4 case FilterHP_IDT: menupos = FilterHP_IKD; break; 8045c8e: 4b1c ldr r3, [pc, #112] ; (8045d00 ) 8045c90: 221e movs r2, #30 8045c92: 701a strb r2, [r3, #0] 8045c94: e22e b.n 80460f4 case FilterHP_IKD: menupos = FilterHP_IEE; break; 8045c96: 4b1a ldr r3, [pc, #104] ; (8045d00 ) 8045c98: 221d movs r2, #29 8045c9a: 701a strb r2, [r3, #0] 8045c9c: e22a b.n 80460f4 case FilterHP_IEE: menupos = FilterHP_IED; break; 8045c9e: 4b18 ldr r3, [pc, #96] ; (8045d00 ) 8045ca0: 221c movs r2, #28 8045ca2: 701a strb r2, [r3, #0] 8045ca4: e226 b.n 80460f4 case FilterHP_IED: menupos = FilterHP_IES; break; 8045ca6: 4b16 ldr r3, [pc, #88] ; (8045d00 ) 8045ca8: 221b movs r2, #27 8045caa: 701a strb r2, [r3, #0] 8045cac: e222 b.n 80460f4 case FilterHP_IES: menupos = FilterHP_IET; break; 8045cae: 4b14 ldr r3, [pc, #80] ; (8045d00 ) 8045cb0: 221a movs r2, #26 8045cb2: 701a strb r2, [r3, #0] 8045cb4: e21e b.n 80460f4 case FilterHP_IET: menupos = FilterHP_IDT; break; 8045cb6: 4b12 ldr r3, [pc, #72] ; (8045d00 ) 8045cb8: 2219 movs r2, #25 8045cba: 701a strb r2, [r3, #0] 8045cbc: e21a b.n 80460f4 case FilterLP_IDT: menupos = FilterLP_IKD; break; 8045cbe: 4b10 ldr r3, [pc, #64] ; (8045d00 ) 8045cc0: 2224 movs r2, #36 ; 0x24 8045cc2: 701a strb r2, [r3, #0] 8045cc4: e216 b.n 80460f4 case FilterLP_IKD: menupos = FilterLP_IEE; break; 8045cc6: 4b0e ldr r3, [pc, #56] ; (8045d00 ) 8045cc8: 2223 movs r2, #35 ; 0x23 8045cca: 701a strb r2, [r3, #0] 8045ccc: e212 b.n 80460f4 case FilterLP_IEE: menupos = FilterLP_IED; break; 8045cce: 4b0c ldr r3, [pc, #48] ; (8045d00 ) 8045cd0: 2222 movs r2, #34 ; 0x22 8045cd2: 701a strb r2, [r3, #0] 8045cd4: e20e b.n 80460f4 case FilterLP_IED: menupos = FilterLP_IES; break; 8045cd6: 4b0a ldr r3, [pc, #40] ; (8045d00 ) 8045cd8: 2221 movs r2, #33 ; 0x21 8045cda: 701a strb r2, [r3, #0] 8045cdc: e20a b.n 80460f4 case FilterLP_IES: menupos = FilterLP_IET; break; 8045cde: 4b08 ldr r3, [pc, #32] ; (8045d00 ) 8045ce0: 2220 movs r2, #32 8045ce2: 701a strb r2, [r3, #0] 8045ce4: e206 b.n 80460f4 case FilterLP_IET: menupos = FilterLP_IDT; break; 8045ce6: 4b06 ldr r3, [pc, #24] ; (8045d00 ) 8045ce8: 221f movs r2, #31 8045cea: 701a strb r2, [r3, #0] 8045cec: e202 b.n 80460f4 8045cee: bf00 nop 8045cf0: 20023ea8 .word 0x20023ea8 8045cf4: 080f2c08 .word 0x080f2c08 8045cf8: cccccccd .word 0xcccccccd 8045cfc: 38d1b717 .word 0x38d1b717 8045d00: 20020070 .word 0x20020070 case SpecValue: if(focused) 8045d04: 4bb5 ldr r3, [pc, #724] ; (8045fdc ) 8045d06: 781b ldrb r3, [r3, #0] 8045d08: b2db uxtb r3, r3 8045d0a: 2b00 cmp r3, #0 8045d0c: f000 8189 beq.w 8046022 { if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == PEAK)) 8045d10: 4bb3 ldr r3, [pc, #716] ; (8045fe0 ) 8045d12: 785b ldrb r3, [r3, #1] 8045d14: b2db uxtb r3, r3 8045d16: 2b00 cmp r3, #0 8045d18: d115 bne.n 8045d46 8045d1a: 4bb1 ldr r3, [pc, #708] ; (8045fe0 ) 8045d1c: 785b ldrb r3, [r3, #1] 8045d1e: b2db uxtb r3, r3 8045d20: 461a mov r2, r3 8045d22: 4baf ldr r3, [pc, #700] ; (8045fe0 ) 8045d24: 4413 add r3, r2 8045d26: 789b ldrb r3, [r3, #2] 8045d28: b2db uxtb r3, r3 8045d2a: 2b00 cmp r3, #0 8045d2c: d10b bne.n 8045d46 { pardata.IPR = DIS; 8045d2e: 4bac ldr r3, [pc, #688] ; (8045fe0 ) 8045d30: 2202 movs r2, #2 8045d32: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 8045d34: 4baa ldr r3, [pc, #680] ; (8045fe0 ) 8045d36: 785b ldrb r3, [r3, #1] 8045d38: b2db uxtb r3, r3 8045d3a: 461a mov r2, r3 8045d3c: 4ba8 ldr r3, [pc, #672] ; (8045fe0 ) 8045d3e: 4413 add r3, r2 8045d40: 2201 movs r2, #1 8045d42: 709a strb r2, [r3, #2] 8045d44: e085 b.n 8045e52 } else if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == RMS)) 8045d46: 4ba6 ldr r3, [pc, #664] ; (8045fe0 ) 8045d48: 785b ldrb r3, [r3, #1] 8045d4a: b2db uxtb r3, r3 8045d4c: 2b00 cmp r3, #0 8045d4e: d115 bne.n 8045d7c 8045d50: 4ba3 ldr r3, [pc, #652] ; (8045fe0 ) 8045d52: 785b ldrb r3, [r3, #1] 8045d54: b2db uxtb r3, r3 8045d56: 461a mov r2, r3 8045d58: 4ba1 ldr r3, [pc, #644] ; (8045fe0 ) 8045d5a: 4413 add r3, r2 8045d5c: 789b ldrb r3, [r3, #2] 8045d5e: b2db uxtb r3, r3 8045d60: 2b01 cmp r3, #1 8045d62: d10b bne.n 8045d7c { pardata.IPR = ACC; 8045d64: 4b9e ldr r3, [pc, #632] ; (8045fe0 ) 8045d66: 2200 movs r2, #0 8045d68: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 8045d6a: 4b9d ldr r3, [pc, #628] ; (8045fe0 ) 8045d6c: 785b ldrb r3, [r3, #1] 8045d6e: b2db uxtb r3, r3 8045d70: 461a mov r2, r3 8045d72: 4b9b ldr r3, [pc, #620] ; (8045fe0 ) 8045d74: 4413 add r3, r2 8045d76: 2200 movs r2, #0 8045d78: 709a strb r2, [r3, #2] 8045d7a: e06a b.n 8045e52 } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == PEAK)) 8045d7c: 4b98 ldr r3, [pc, #608] ; (8045fe0 ) 8045d7e: 785b ldrb r3, [r3, #1] 8045d80: b2db uxtb r3, r3 8045d82: 2b01 cmp r3, #1 8045d84: d115 bne.n 8045db2 8045d86: 4b96 ldr r3, [pc, #600] ; (8045fe0 ) 8045d88: 785b ldrb r3, [r3, #1] 8045d8a: b2db uxtb r3, r3 8045d8c: 461a mov r2, r3 8045d8e: 4b94 ldr r3, [pc, #592] ; (8045fe0 ) 8045d90: 4413 add r3, r2 8045d92: 789b ldrb r3, [r3, #2] 8045d94: b2db uxtb r3, r3 8045d96: 2b00 cmp r3, #0 8045d98: d10b bne.n 8045db2 { pardata.IPR = ACC; 8045d9a: 4b91 ldr r3, [pc, #580] ; (8045fe0 ) 8045d9c: 2200 movs r2, #0 8045d9e: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 8045da0: 4b8f ldr r3, [pc, #572] ; (8045fe0 ) 8045da2: 785b ldrb r3, [r3, #1] 8045da4: b2db uxtb r3, r3 8045da6: 461a mov r2, r3 8045da8: 4b8d ldr r3, [pc, #564] ; (8045fe0 ) 8045daa: 4413 add r3, r2 8045dac: 2201 movs r2, #1 8045dae: 709a strb r2, [r3, #2] 8045db0: e04f b.n 8045e52 } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == RMS)) 8045db2: 4b8b ldr r3, [pc, #556] ; (8045fe0 ) 8045db4: 785b ldrb r3, [r3, #1] 8045db6: b2db uxtb r3, r3 8045db8: 2b01 cmp r3, #1 8045dba: d115 bne.n 8045de8 8045dbc: 4b88 ldr r3, [pc, #544] ; (8045fe0 ) 8045dbe: 785b ldrb r3, [r3, #1] 8045dc0: b2db uxtb r3, r3 8045dc2: 461a mov r2, r3 8045dc4: 4b86 ldr r3, [pc, #536] ; (8045fe0 ) 8045dc6: 4413 add r3, r2 8045dc8: 789b ldrb r3, [r3, #2] 8045dca: b2db uxtb r3, r3 8045dcc: 2b01 cmp r3, #1 8045dce: d10b bne.n 8045de8 { pardata.IPR = VEL; 8045dd0: 4b83 ldr r3, [pc, #524] ; (8045fe0 ) 8045dd2: 2201 movs r2, #1 8045dd4: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 8045dd6: 4b82 ldr r3, [pc, #520] ; (8045fe0 ) 8045dd8: 785b ldrb r3, [r3, #1] 8045dda: b2db uxtb r3, r3 8045ddc: 461a mov r2, r3 8045dde: 4b80 ldr r3, [pc, #512] ; (8045fe0 ) 8045de0: 4413 add r3, r2 8045de2: 2200 movs r2, #0 8045de4: 709a strb r2, [r3, #2] 8045de6: e034 b.n 8045e52 } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == PEAK)) 8045de8: 4b7d ldr r3, [pc, #500] ; (8045fe0 ) 8045dea: 785b ldrb r3, [r3, #1] 8045dec: b2db uxtb r3, r3 8045dee: 2b02 cmp r3, #2 8045df0: d115 bne.n 8045e1e 8045df2: 4b7b ldr r3, [pc, #492] ; (8045fe0 ) 8045df4: 785b ldrb r3, [r3, #1] 8045df6: b2db uxtb r3, r3 8045df8: 461a mov r2, r3 8045dfa: 4b79 ldr r3, [pc, #484] ; (8045fe0 ) 8045dfc: 4413 add r3, r2 8045dfe: 789b ldrb r3, [r3, #2] 8045e00: b2db uxtb r3, r3 8045e02: 2b00 cmp r3, #0 8045e04: d10b bne.n 8045e1e { pardata.IPR = VEL; 8045e06: 4b76 ldr r3, [pc, #472] ; (8045fe0 ) 8045e08: 2201 movs r2, #1 8045e0a: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 8045e0c: 4b74 ldr r3, [pc, #464] ; (8045fe0 ) 8045e0e: 785b ldrb r3, [r3, #1] 8045e10: b2db uxtb r3, r3 8045e12: 461a mov r2, r3 8045e14: 4b72 ldr r3, [pc, #456] ; (8045fe0 ) 8045e16: 4413 add r3, r2 8045e18: 2201 movs r2, #1 8045e1a: 709a strb r2, [r3, #2] 8045e1c: e019 b.n 8045e52 } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == RMS)) 8045e1e: 4b70 ldr r3, [pc, #448] ; (8045fe0 ) 8045e20: 785b ldrb r3, [r3, #1] 8045e22: b2db uxtb r3, r3 8045e24: 2b02 cmp r3, #2 8045e26: d114 bne.n 8045e52 8045e28: 4b6d ldr r3, [pc, #436] ; (8045fe0 ) 8045e2a: 785b ldrb r3, [r3, #1] 8045e2c: b2db uxtb r3, r3 8045e2e: 461a mov r2, r3 8045e30: 4b6b ldr r3, [pc, #428] ; (8045fe0 ) 8045e32: 4413 add r3, r2 8045e34: 789b ldrb r3, [r3, #2] 8045e36: b2db uxtb r3, r3 8045e38: 2b01 cmp r3, #1 8045e3a: d10a bne.n 8045e52 { pardata.IPR = DIS; 8045e3c: 4b68 ldr r3, [pc, #416] ; (8045fe0 ) 8045e3e: 2202 movs r2, #2 8045e40: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 8045e42: 4b67 ldr r3, [pc, #412] ; (8045fe0 ) 8045e44: 785b ldrb r3, [r3, #1] 8045e46: b2db uxtb r3, r3 8045e48: 461a mov r2, r3 8045e4a: 4b65 ldr r3, [pc, #404] ; (8045fe0 ) 8045e4c: 4413 add r3, r2 8045e4e: 2200 movs r2, #0 8045e50: 709a strb r2, [r3, #2] } if(pardata.IPR > ACC) 8045e52: 4b63 ldr r3, [pc, #396] ; (8045fe0 ) 8045e54: 785b ldrb r3, [r3, #1] 8045e56: b2db uxtb r3, r3 8045e58: 2b00 cmp r3, #0 8045e5a: d00e beq.n 8045e7a { if(pardata.HP < 2.0f) 8045e5c: 4b60 ldr r3, [pc, #384] ; (8045fe0 ) 8045e5e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8045e62: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8045e66: eef4 7ac7 vcmpe.f32 s15, s14 8045e6a: eef1 fa10 vmrs APSR_nzcv, fpscr 8045e6e: d504 bpl.n 8045e7a pardata.HP = 2.0f; 8045e70: 4b5b ldr r3, [pc, #364] ; (8045fe0 ) 8045e72: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8045e76: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } if((pardata.OPTIONS & maskFFT) < third) 8045e7a: 4b59 ldr r3, [pc, #356] ; (8045fe0 ) 8045e7c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8045e80: f003 0330 and.w r3, r3, #48 ; 0x30 8045e84: 2b2f cmp r3, #47 ; 0x2f 8045e86: d863 bhi.n 8045f50 { if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8045e88: 4b55 ldr r3, [pc, #340] ; (8045fe0 ) 8045e8a: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8045e8e: 4b54 ldr r3, [pc, #336] ; (8045fe0 ) 8045e90: 7adb ldrb r3, [r3, #11] 8045e92: b2db uxtb r3, r3 8045e94: 461a mov r2, r3 8045e96: 4b53 ldr r3, [pc, #332] ; (8045fe4 ) 8045e98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045e9c: ee07 3a90 vmov s15, r3 8045ea0: eef8 6a67 vcvt.f32.u32 s13, s15 8045ea4: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8045ea8: eec6 7a86 vdiv.f32 s15, s13, s12 8045eac: eddf 6a4e vldr s13, [pc, #312] ; 8045fe8 8045eb0: ee77 7aa6 vadd.f32 s15, s15, s13 8045eb4: eeb4 7ae7 vcmpe.f32 s14, s15 8045eb8: eef1 fa10 vmrs APSR_nzcv, fpscr 8045ebc: dd15 ble.n 8045eea pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8045ebe: 4b48 ldr r3, [pc, #288] ; (8045fe0 ) 8045ec0: 7adb ldrb r3, [r3, #11] 8045ec2: b2db uxtb r3, r3 8045ec4: 461a mov r2, r3 8045ec6: 4b47 ldr r3, [pc, #284] ; (8045fe4 ) 8045ec8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045ecc: 4a47 ldr r2, [pc, #284] ; (8045fec ) 8045ece: fba2 2303 umull r2, r3, r2, r3 8045ed2: 089b lsrs r3, r3, #2 8045ed4: ee07 3a90 vmov s15, r3 8045ed8: eef8 7a67 vcvt.f32.u32 s15, s15 8045edc: ed9f 7a44 vldr s14, [pc, #272] ; 8045ff0 8045ee0: ee77 7a87 vadd.f32 s15, s15, s14 8045ee4: 4b3e ldr r3, [pc, #248] ; (8045fe0 ) 8045ee6: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8045eea: 4b3d ldr r3, [pc, #244] ; (8045fe0 ) 8045eec: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8045ef0: 4b3b ldr r3, [pc, #236] ; (8045fe0 ) 8045ef2: 7adb ldrb r3, [r3, #11] 8045ef4: b2db uxtb r3, r3 8045ef6: 461a mov r2, r3 8045ef8: 4b3a ldr r3, [pc, #232] ; (8045fe4 ) 8045efa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045efe: ee07 3a90 vmov s15, r3 8045f02: eef8 6a67 vcvt.f32.u32 s13, s15 8045f06: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8045f0a: eec6 7a86 vdiv.f32 s15, s13, s12 8045f0e: eddf 6a36 vldr s13, [pc, #216] ; 8045fe8 8045f12: ee77 7aa6 vadd.f32 s15, s15, s13 8045f16: eeb4 7ae7 vcmpe.f32 s14, s15 8045f1a: eef1 fa10 vmrs APSR_nzcv, fpscr 8045f1e: dc00 bgt.n 8045f22 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; } } else menupos = Ok; break; 8045f20: e0e8 b.n 80460f4 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8045f22: 4b2f ldr r3, [pc, #188] ; (8045fe0 ) 8045f24: 7adb ldrb r3, [r3, #11] 8045f26: b2db uxtb r3, r3 8045f28: 461a mov r2, r3 8045f2a: 4b2e ldr r3, [pc, #184] ; (8045fe4 ) 8045f2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045f30: 4a2e ldr r2, [pc, #184] ; (8045fec ) 8045f32: fba2 2303 umull r2, r3, r2, r3 8045f36: 089b lsrs r3, r3, #2 8045f38: ee07 3a90 vmov s15, r3 8045f3c: eef8 7a67 vcvt.f32.u32 s15, s15 8045f40: ed9f 7a2b vldr s14, [pc, #172] ; 8045ff0 8045f44: ee77 7a87 vadd.f32 s15, s15, s14 8045f48: 4b25 ldr r3, [pc, #148] ; (8045fe0 ) 8045f4a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8045f4e: e0d1 b.n 80460f4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8045f50: 4b23 ldr r3, [pc, #140] ; (8045fe0 ) 8045f52: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8045f56: 4b22 ldr r3, [pc, #136] ; (8045fe0 ) 8045f58: 7adb ldrb r3, [r3, #11] 8045f5a: b2db uxtb r3, r3 8045f5c: 461a mov r2, r3 8045f5e: 4b21 ldr r3, [pc, #132] ; (8045fe4 ) 8045f60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045f64: ee07 3a90 vmov s15, r3 8045f68: eef8 6a67 vcvt.f32.u32 s13, s15 8045f6c: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8045f70: eec6 7a86 vdiv.f32 s15, s13, s12 8045f74: eeb4 7ae7 vcmpe.f32 s14, s15 8045f78: eef1 fa10 vmrs APSR_nzcv, fpscr 8045f7c: dd15 ble.n 8045faa pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8045f7e: 4b18 ldr r3, [pc, #96] ; (8045fe0 ) 8045f80: 7adb ldrb r3, [r3, #11] 8045f82: b2db uxtb r3, r3 8045f84: 461a mov r2, r3 8045f86: 4b17 ldr r3, [pc, #92] ; (8045fe4 ) 8045f88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045f8c: ee07 3a90 vmov s15, r3 8045f90: eeb8 7a67 vcvt.f32.u32 s14, s15 8045f94: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8045f98: eec7 7a26 vdiv.f32 s15, s14, s13 8045f9c: ed9f 7a14 vldr s14, [pc, #80] ; 8045ff0 8045fa0: ee77 7a87 vadd.f32 s15, s15, s14 8045fa4: 4b0e ldr r3, [pc, #56] ; (8045fe0 ) 8045fa6: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8045faa: 4b0d ldr r3, [pc, #52] ; (8045fe0 ) 8045fac: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8045fb0: 4b0b ldr r3, [pc, #44] ; (8045fe0 ) 8045fb2: 7adb ldrb r3, [r3, #11] 8045fb4: b2db uxtb r3, r3 8045fb6: 461a mov r2, r3 8045fb8: 4b0a ldr r3, [pc, #40] ; (8045fe4 ) 8045fba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045fbe: ee07 3a90 vmov s15, r3 8045fc2: eef8 6a67 vcvt.f32.u32 s13, s15 8045fc6: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8045fca: eec6 7a86 vdiv.f32 s15, s13, s12 8045fce: eeb4 7ae7 vcmpe.f32 s14, s15 8045fd2: eef1 fa10 vmrs APSR_nzcv, fpscr 8045fd6: dc0d bgt.n 8045ff4 break; 8045fd8: e08c b.n 80460f4 8045fda: bf00 nop 8045fdc: 20020fc8 .word 0x20020fc8 8045fe0: 20023ea8 .word 0x20023ea8 8045fe4: 080f2c08 .word 0x080f2c08 8045fe8: 3851b717 .word 0x3851b717 8045fec: cccccccd .word 0xcccccccd 8045ff0: 38d1b717 .word 0x38d1b717 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8045ff4: 4b87 ldr r3, [pc, #540] ; (8046214 ) 8045ff6: 7adb ldrb r3, [r3, #11] 8045ff8: b2db uxtb r3, r3 8045ffa: 461a mov r2, r3 8045ffc: 4b86 ldr r3, [pc, #536] ; (8046218 ) 8045ffe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046002: ee07 3a90 vmov s15, r3 8046006: eeb8 7a67 vcvt.f32.u32 s14, s15 804600a: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 804600e: eec7 7a26 vdiv.f32 s15, s14, s13 8046012: ed9f 7a82 vldr s14, [pc, #520] ; 804621c 8046016: ee77 7a87 vadd.f32 s15, s15, s14 804601a: 4b7e ldr r3, [pc, #504] ; (8046214 ) 804601c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8046020: e068 b.n 80460f4 menupos = Ok; 8046022: 4b7f ldr r3, [pc, #508] ; (8046220 ) 8046024: 2200 movs r2, #0 8046026: 701a strb r2, [r3, #0] break; 8046028: e064 b.n 80460f4 case SpecLines: if(focused) 804602a: 4b7e ldr r3, [pc, #504] ; (8046224 ) 804602c: 781b ldrb r3, [r3, #0] 804602e: b2db uxtb r3, r3 8046030: 2b00 cmp r3, #0 8046032: d010 beq.n 8046056 { if(pardata.LNE < N3200) pardata.LNE++; 8046034: 4b77 ldr r3, [pc, #476] ; (8046214 ) 8046036: 79db ldrb r3, [r3, #7] 8046038: b2db uxtb r3, r3 804603a: 2b02 cmp r3, #2 804603c: d807 bhi.n 804604e 804603e: 4b75 ldr r3, [pc, #468] ; (8046214 ) 8046040: 79db ldrb r3, [r3, #7] 8046042: b2db uxtb r3, r3 8046044: 3301 adds r3, #1 8046046: b2da uxtb r2, r3 8046048: 4b72 ldr r3, [pc, #456] ; (8046214 ) 804604a: 71da strb r2, [r3, #7] else pardata.LNE = N400; } else menupos = Ok; break; 804604c: e052 b.n 80460f4 else pardata.LNE = N400; 804604e: 4b71 ldr r3, [pc, #452] ; (8046214 ) 8046050: 2200 movs r2, #0 8046052: 71da strb r2, [r3, #7] break; 8046054: e04e b.n 80460f4 menupos = Ok; 8046056: 4b72 ldr r3, [pc, #456] ; (8046220 ) 8046058: 2200 movs r2, #0 804605a: 701a strb r2, [r3, #0] break; 804605c: e04a b.n 80460f4 case SpecWin: if(focused) 804605e: 4b71 ldr r3, [pc, #452] ; (8046224 ) 8046060: 781b ldrb r3, [r3, #0] 8046062: b2db uxtb r3, r3 8046064: 2b00 cmp r3, #0 8046066: d010 beq.n 804608a { if(pardata.WIN > RECT) pardata.WIN--; 8046068: 4b6a ldr r3, [pc, #424] ; (8046214 ) 804606a: 7a5b ldrb r3, [r3, #9] 804606c: b2db uxtb r3, r3 804606e: 2b00 cmp r3, #0 8046070: d007 beq.n 8046082 8046072: 4b68 ldr r3, [pc, #416] ; (8046214 ) 8046074: 7a5b ldrb r3, [r3, #9] 8046076: b2db uxtb r3, r3 8046078: 3b01 subs r3, #1 804607a: b2da uxtb r2, r3 804607c: 4b65 ldr r3, [pc, #404] ; (8046214 ) 804607e: 725a strb r2, [r3, #9] else pardata.WIN = HANN; } else menupos = Ok; break; 8046080: e038 b.n 80460f4 else pardata.WIN = HANN; 8046082: 4b64 ldr r3, [pc, #400] ; (8046214 ) 8046084: 2201 movs r2, #1 8046086: 725a strb r2, [r3, #9] break; 8046088: e034 b.n 80460f4 menupos = Ok; 804608a: 4b65 ldr r3, [pc, #404] ; (8046220 ) 804608c: 2200 movs r2, #0 804608e: 701a strb r2, [r3, #0] break; 8046090: e030 b.n 80460f4 case LinLog: if(focused) 8046092: 4b64 ldr r3, [pc, #400] ; (8046224 ) 8046094: 781b ldrb r3, [r3, #0] 8046096: b2db uxtb r3, r3 8046098: 2b00 cmp r3, #0 804609a: d00c beq.n 80460b6 { if(pardata.MSH == LOG) pardata.MSH = LIN; 804609c: 4b5d ldr r3, [pc, #372] ; (8046214 ) 804609e: 7a9b ldrb r3, [r3, #10] 80460a0: b2db uxtb r3, r3 80460a2: 2b01 cmp r3, #1 80460a4: d103 bne.n 80460ae 80460a6: 4b5b ldr r3, [pc, #364] ; (8046214 ) 80460a8: 2200 movs r2, #0 80460aa: 729a strb r2, [r3, #10] else pardata.MSH = LOG; } else menupos = Ok; break; 80460ac: e022 b.n 80460f4 else pardata.MSH = LOG; 80460ae: 4b59 ldr r3, [pc, #356] ; (8046214 ) 80460b0: 2201 movs r2, #1 80460b2: 729a strb r2, [r3, #10] break; 80460b4: e01e b.n 80460f4 menupos = Ok; 80460b6: 4b5a ldr r3, [pc, #360] ; (8046220 ) 80460b8: 2200 movs r2, #0 80460ba: 701a strb r2, [r3, #0] break; 80460bc: e01a b.n 80460f4 case SAverage: if(focused) 80460be: 4b59 ldr r3, [pc, #356] ; (8046224 ) 80460c0: 781b ldrb r3, [r3, #0] 80460c2: b2db uxtb r3, r3 80460c4: 2b00 cmp r3, #0 80460c6: d010 beq.n 80460ea { if(pardata.AVG > AVG1) pardata.AVG--; 80460c8: 4b52 ldr r3, [pc, #328] ; (8046214 ) 80460ca: 7b5b ldrb r3, [r3, #13] 80460cc: b2db uxtb r3, r3 80460ce: 2b00 cmp r3, #0 80460d0: d007 beq.n 80460e2 80460d2: 4b50 ldr r3, [pc, #320] ; (8046214 ) 80460d4: 7b5b ldrb r3, [r3, #13] 80460d6: b2db uxtb r3, r3 80460d8: 3b01 subs r3, #1 80460da: b2da uxtb r2, r3 80460dc: 4b4d ldr r3, [pc, #308] ; (8046214 ) 80460de: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } else menupos = Ok; break; 80460e0: e008 b.n 80460f4 else pardata.AVG = AVG512; 80460e2: 4b4c ldr r3, [pc, #304] ; (8046214 ) 80460e4: 2209 movs r2, #9 80460e6: 735a strb r2, [r3, #13] break; 80460e8: e004 b.n 80460f4 menupos = Ok; 80460ea: 4b4d ldr r3, [pc, #308] ; (8046220 ) 80460ec: 2200 movs r2, #0 80460ee: 701a strb r2, [r3, #0] break; 80460f0: e000 b.n 80460f4 break; 80460f2: bf00 nop } break; 80460f4: f000 bc67 b.w 80469c6 case PARAM_OSC: switch(menupos) 80460f8: 4b49 ldr r3, [pc, #292] ; (8046220 ) 80460fa: 781b ldrb r3, [r3, #0] 80460fc: b2db uxtb r3, r3 80460fe: 3b01 subs r3, #1 8046100: 2b23 cmp r3, #35 ; 0x23 8046102: f200 8463 bhi.w 80469cc 8046106: a201 add r2, pc, #4 ; (adr r2, 804610c ) 8046108: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804610c: 0804619d .word 0x0804619d 8046110: 080469cd .word 0x080469cd 8046114: 08046371 .word 0x08046371 8046118: 08046421 .word 0x08046421 804611c: 080464b5 .word 0x080464b5 8046120: 080464b5 .word 0x080464b5 8046124: 080464b5 .word 0x080464b5 8046128: 080464b5 .word 0x080464b5 804612c: 08046455 .word 0x08046455 8046130: 0804645d .word 0x0804645d 8046134: 08046465 .word 0x08046465 8046138: 0804646d .word 0x0804646d 804613c: 08046475 .word 0x08046475 8046140: 0804647d .word 0x0804647d 8046144: 08046485 .word 0x08046485 8046148: 0804648d .word 0x0804648d 804614c: 08046495 .word 0x08046495 8046150: 0804649d .word 0x0804649d 8046154: 080464a5 .word 0x080464a5 8046158: 080464ad .word 0x080464ad 804615c: 080469cd .word 0x080469cd 8046160: 080469cd .word 0x080469cd 8046164: 080464b5 .word 0x080464b5 8046168: 080464b5 .word 0x080464b5 804616c: 08046311 .word 0x08046311 8046170: 08046339 .word 0x08046339 8046174: 08046331 .word 0x08046331 8046178: 08046329 .word 0x08046329 804617c: 08046321 .word 0x08046321 8046180: 08046319 .word 0x08046319 8046184: 08046341 .word 0x08046341 8046188: 08046369 .word 0x08046369 804618c: 08046361 .word 0x08046361 8046190: 08046359 .word 0x08046359 8046194: 08046351 .word 0x08046351 8046198: 08046349 .word 0x08046349 { case OscValue: if(focused) 804619c: 4b21 ldr r3, [pc, #132] ; (8046224 ) 804619e: 781b ldrb r3, [r3, #0] 80461a0: b2db uxtb r3, r3 80461a2: 2b00 cmp r3, #0 80461a4: f000 80b0 beq.w 8046308 { if(pardata.IPR > ACC) pardata.IPR--; 80461a8: 4b1a ldr r3, [pc, #104] ; (8046214 ) 80461aa: 785b ldrb r3, [r3, #1] 80461ac: b2db uxtb r3, r3 80461ae: 2b00 cmp r3, #0 80461b0: d007 beq.n 80461c2 80461b2: 4b18 ldr r3, [pc, #96] ; (8046214 ) 80461b4: 785b ldrb r3, [r3, #1] 80461b6: b2db uxtb r3, r3 80461b8: 3b01 subs r3, #1 80461ba: b2da uxtb r2, r3 80461bc: 4b15 ldr r3, [pc, #84] ; (8046214 ) 80461be: 705a strb r2, [r3, #1] 80461c0: e002 b.n 80461c8 else pardata.IPR = DIS; 80461c2: 4b14 ldr r3, [pc, #80] ; (8046214 ) 80461c4: 2202 movs r2, #2 80461c6: 705a strb r2, [r3, #1] if(pardata.IPR > ACC) 80461c8: 4b12 ldr r3, [pc, #72] ; (8046214 ) 80461ca: 785b ldrb r3, [r3, #1] 80461cc: b2db uxtb r3, r3 80461ce: 2b00 cmp r3, #0 80461d0: d02a beq.n 8046228 { if(pardata.HP < 2.0f) 80461d2: 4b10 ldr r3, [pc, #64] ; (8046214 ) 80461d4: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80461d8: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80461dc: eef4 7ac7 vcmpe.f32 s15, s14 80461e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80461e4: d504 bpl.n 80461f0 pardata.HP = 2.0f; 80461e6: 4b0b ldr r3, [pc, #44] ; (8046214 ) 80461e8: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80461ec: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.0005f) < 5.0) 80461f0: e01a b.n 8046228 { if(pardata.FRQ > _125Hz) 80461f2: 4b08 ldr r3, [pc, #32] ; (8046214 ) 80461f4: 7adb ldrb r3, [r3, #11] 80461f6: b2db uxtb r3, r3 80461f8: 2b00 cmp r3, #0 80461fa: d007 beq.n 804620c pardata.FRQ--; 80461fc: 4b05 ldr r3, [pc, #20] ; (8046214 ) 80461fe: 7adb ldrb r3, [r3, #11] 8046200: b2db uxtb r3, r3 8046202: 3b01 subs r3, #1 8046204: b2da uxtb r2, r3 8046206: 4b03 ldr r3, [pc, #12] ; (8046214 ) 8046208: 72da strb r2, [r3, #11] 804620a: e00d b.n 8046228 else { pardata.FRQ = _64000Hz; 804620c: 4b01 ldr r3, [pc, #4] ; (8046214 ) 804620e: 2209 movs r2, #9 8046210: 72da strb r2, [r3, #11] break; 8046212: e026 b.n 8046262 8046214: 20023ea8 .word 0x20023ea8 8046218: 080f2c08 .word 0x080f2c08 804621c: 38d1b717 .word 0x38d1b717 8046220: 20020070 .word 0x20020070 8046224: 20020fc8 .word 0x20020fc8 while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.0005f) < 5.0) 8046228: 4bab ldr r3, [pc, #684] ; (80464d8 ) 804622a: 7adb ldrb r3, [r3, #11] 804622c: b2db uxtb r3, r3 804622e: 461a mov r2, r3 8046230: 4baa ldr r3, [pc, #680] ; (80464dc ) 8046232: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046236: ee07 3a90 vmov s15, r3 804623a: eeb8 5b67 vcvt.f64.u32 d5, s15 804623e: 4ba6 ldr r3, [pc, #664] ; (80464d8 ) 8046240: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8046244: eeb7 6ae7 vcvt.f64.f32 d6, s15 8046248: ee85 7b06 vdiv.f64 d7, d5, d6 804624c: ed9f 6b9c vldr d6, [pc, #624] ; 80464c0 8046250: ee37 7b06 vadd.f64 d7, d7, d6 8046254: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8046258: eeb4 7bc6 vcmpe.f64 d7, d6 804625c: eef1 fa10 vmrs APSR_nzcv, fpscr 8046260: d4c7 bmi.n 80461f2 } } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8046262: 4b9d ldr r3, [pc, #628] ; (80464d8 ) 8046264: 7adb ldrb r3, [r3, #11] 8046266: b2db uxtb r3, r3 8046268: 461a mov r2, r3 804626a: 4b9c ldr r3, [pc, #624] ; (80464dc ) 804626c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046270: ee07 3a90 vmov s15, r3 8046274: eeb8 5b67 vcvt.f64.u32 d5, s15 8046278: 4b97 ldr r3, [pc, #604] ; (80464d8 ) 804627a: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804627e: eeb7 6ae7 vcvt.f64.f32 d6, s15 8046282: ee85 7b06 vdiv.f64 d7, d5, d6 8046286: ed9f 6b90 vldr d6, [pc, #576] ; 80464c8 804628a: ee37 7b06 vadd.f64 d7, d7, d6 804628e: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8046292: eeb4 7bc6 vcmpe.f64 d7, d6 8046296: eef1 fa10 vmrs APSR_nzcv, fpscr 804629a: d51f bpl.n 80462dc { pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 804629c: 4b8e ldr r3, [pc, #568] ; (80464d8 ) 804629e: 7adb ldrb r3, [r3, #11] 80462a0: b2db uxtb r3, r3 80462a2: 461a mov r2, r3 80462a4: 4b8d ldr r3, [pc, #564] ; (80464dc ) 80462a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80462aa: 4a8d ldr r2, [pc, #564] ; (80464e0 ) 80462ac: fba2 2303 umull r2, r3, r2, r3 80462b0: 089b lsrs r3, r3, #2 80462b2: ee07 3a90 vmov s15, r3 80462b6: eef8 7a67 vcvt.f32.u32 s15, s15 80462ba: 4b87 ldr r3, [pc, #540] ; (80464d8 ) 80462bc: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 80462c0: 4b85 ldr r3, [pc, #532] ; (80464d8 ) 80462c2: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80462c6: eeb7 7ae7 vcvt.f64.f32 d7, s15 80462ca: ed9f 6b81 vldr d6, [pc, #516] ; 80464d0 80462ce: ee37 7b06 vadd.f64 d7, d7, d6 80462d2: eef7 7bc7 vcvt.f32.f64 s15, d7 80462d6: 4b80 ldr r3, [pc, #512] ; (80464d8 ) 80462d8: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 } if((pardata.IPR > ACC) && (pardata.THR & 0x80)) 80462dc: 4b7e ldr r3, [pc, #504] ; (80464d8 ) 80462de: 785b ldrb r3, [r3, #1] 80462e0: b2db uxtb r3, r3 80462e2: 2b00 cmp r3, #0 80462e4: f000 80ea beq.w 80464bc 80462e8: 4b7b ldr r3, [pc, #492] ; (80464d8 ) 80462ea: 7bdb ldrb r3, [r3, #15] 80462ec: b2db uxtb r3, r3 80462ee: b25b sxtb r3, r3 80462f0: 2b00 cmp r3, #0 80462f2: f280 80e3 bge.w 80464bc pardata.THR &= 0x7f; 80462f6: 4b78 ldr r3, [pc, #480] ; (80464d8 ) 80462f8: 7bdb ldrb r3, [r3, #15] 80462fa: b2db uxtb r3, r3 80462fc: f003 037f and.w r3, r3, #127 ; 0x7f 8046300: b2da uxtb r2, r3 8046302: 4b75 ldr r3, [pc, #468] ; (80464d8 ) 8046304: 73da strb r2, [r3, #15] } else menupos = Ok; break; 8046306: e0d9 b.n 80464bc menupos = Ok; 8046308: 4b76 ldr r3, [pc, #472] ; (80464e4 ) 804630a: 2200 movs r2, #0 804630c: 701a strb r2, [r3, #0] break; 804630e: e0d5 b.n 80464bc case FilterHP_IDT: menupos = FilterHP_IKD; break; 8046310: 4b74 ldr r3, [pc, #464] ; (80464e4 ) 8046312: 221e movs r2, #30 8046314: 701a strb r2, [r3, #0] 8046316: e0d2 b.n 80464be case FilterHP_IKD: menupos = FilterHP_IEE; break; 8046318: 4b72 ldr r3, [pc, #456] ; (80464e4 ) 804631a: 221d movs r2, #29 804631c: 701a strb r2, [r3, #0] 804631e: e0ce b.n 80464be case FilterHP_IEE: menupos = FilterHP_IED; break; 8046320: 4b70 ldr r3, [pc, #448] ; (80464e4 ) 8046322: 221c movs r2, #28 8046324: 701a strb r2, [r3, #0] 8046326: e0ca b.n 80464be case FilterHP_IED: menupos = FilterHP_IES; break; 8046328: 4b6e ldr r3, [pc, #440] ; (80464e4 ) 804632a: 221b movs r2, #27 804632c: 701a strb r2, [r3, #0] 804632e: e0c6 b.n 80464be case FilterHP_IES: menupos = FilterHP_IET; break; 8046330: 4b6c ldr r3, [pc, #432] ; (80464e4 ) 8046332: 221a movs r2, #26 8046334: 701a strb r2, [r3, #0] 8046336: e0c2 b.n 80464be case FilterHP_IET: menupos = FilterHP_IDT; break; 8046338: 4b6a ldr r3, [pc, #424] ; (80464e4 ) 804633a: 2219 movs r2, #25 804633c: 701a strb r2, [r3, #0] 804633e: e0be b.n 80464be case FilterLP_IDT: menupos = FilterLP_IKD; break; 8046340: 4b68 ldr r3, [pc, #416] ; (80464e4 ) 8046342: 2224 movs r2, #36 ; 0x24 8046344: 701a strb r2, [r3, #0] 8046346: e0ba b.n 80464be case FilterLP_IKD: menupos = FilterLP_IEE; break; 8046348: 4b66 ldr r3, [pc, #408] ; (80464e4 ) 804634a: 2223 movs r2, #35 ; 0x23 804634c: 701a strb r2, [r3, #0] 804634e: e0b6 b.n 80464be case FilterLP_IEE: menupos = FilterLP_IED; break; 8046350: 4b64 ldr r3, [pc, #400] ; (80464e4 ) 8046352: 2222 movs r2, #34 ; 0x22 8046354: 701a strb r2, [r3, #0] 8046356: e0b2 b.n 80464be case FilterLP_IED: menupos = FilterLP_IES; break; 8046358: 4b62 ldr r3, [pc, #392] ; (80464e4 ) 804635a: 2221 movs r2, #33 ; 0x21 804635c: 701a strb r2, [r3, #0] 804635e: e0ae b.n 80464be case FilterLP_IES: menupos = FilterLP_IET; break; 8046360: 4b60 ldr r3, [pc, #384] ; (80464e4 ) 8046362: 2220 movs r2, #32 8046364: 701a strb r2, [r3, #0] 8046366: e0aa b.n 80464be case FilterLP_IET: menupos = FilterLP_IDT; break; 8046368: 4b5e ldr r3, [pc, #376] ; (80464e4 ) 804636a: 221f movs r2, #31 804636c: 701a strb r2, [r3, #0] 804636e: e0a6 b.n 80464be case OscRate: if(focused) 8046370: 4b5d ldr r3, [pc, #372] ; (80464e8 ) 8046372: 781b ldrb r3, [r3, #0] 8046374: b2db uxtb r3, r3 8046376: 2b00 cmp r3, #0 8046378: d04e beq.n 8046418 { if(pardata.FRQ > _125Hz) pardata.FRQ--; 804637a: 4b57 ldr r3, [pc, #348] ; (80464d8 ) 804637c: 7adb ldrb r3, [r3, #11] 804637e: b2db uxtb r3, r3 8046380: 2b00 cmp r3, #0 8046382: d007 beq.n 8046394 8046384: 4b54 ldr r3, [pc, #336] ; (80464d8 ) 8046386: 7adb ldrb r3, [r3, #11] 8046388: b2db uxtb r3, r3 804638a: 3b01 subs r3, #1 804638c: b2da uxtb r2, r3 804638e: 4b52 ldr r3, [pc, #328] ; (80464d8 ) 8046390: 72da strb r2, [r3, #11] 8046392: e002 b.n 804639a else pardata.FRQ = _64000Hz; 8046394: 4b50 ldr r3, [pc, #320] ; (80464d8 ) 8046396: 2209 movs r2, #9 8046398: 72da strb r2, [r3, #11] pardata.FRQ = _64000Hz; break; } }*/ if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 804639a: 4b4f ldr r3, [pc, #316] ; (80464d8 ) 804639c: 7adb ldrb r3, [r3, #11] 804639e: b2db uxtb r3, r3 80463a0: 461a mov r2, r3 80463a2: 4b4e ldr r3, [pc, #312] ; (80464dc ) 80463a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80463a8: ee07 3a90 vmov s15, r3 80463ac: eeb8 5b67 vcvt.f64.u32 d5, s15 80463b0: 4b49 ldr r3, [pc, #292] ; (80464d8 ) 80463b2: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80463b6: eeb7 6ae7 vcvt.f64.f32 d6, s15 80463ba: ee85 7b06 vdiv.f64 d7, d5, d6 80463be: ed9f 6b42 vldr d6, [pc, #264] ; 80464c8 80463c2: ee37 7b06 vadd.f64 d7, d7, d6 80463c6: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 80463ca: eeb4 7bc6 vcmpe.f64 d7, d6 80463ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80463d2: d400 bmi.n 80463d6 } } else menupos = Ok; break; 80463d4: e073 b.n 80464be pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 80463d6: 4b40 ldr r3, [pc, #256] ; (80464d8 ) 80463d8: 7adb ldrb r3, [r3, #11] 80463da: b2db uxtb r3, r3 80463dc: 461a mov r2, r3 80463de: 4b3f ldr r3, [pc, #252] ; (80464dc ) 80463e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80463e4: 4a3e ldr r2, [pc, #248] ; (80464e0 ) 80463e6: fba2 2303 umull r2, r3, r2, r3 80463ea: 089b lsrs r3, r3, #2 80463ec: ee07 3a90 vmov s15, r3 80463f0: eef8 7a67 vcvt.f32.u32 s15, s15 80463f4: 4b38 ldr r3, [pc, #224] ; (80464d8 ) 80463f6: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 80463fa: 4b37 ldr r3, [pc, #220] ; (80464d8 ) 80463fc: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8046400: eeb7 7ae7 vcvt.f64.f32 d7, s15 8046404: ed9f 6b32 vldr d6, [pc, #200] ; 80464d0 8046408: ee37 7b06 vadd.f64 d7, d7, d6 804640c: eef7 7bc7 vcvt.f32.f64 s15, d7 8046410: 4b31 ldr r3, [pc, #196] ; (80464d8 ) 8046412: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8046416: e052 b.n 80464be menupos = Ok; 8046418: 4b32 ldr r3, [pc, #200] ; (80464e4 ) 804641a: 2200 movs r2, #0 804641c: 701a strb r2, [r3, #0] break; 804641e: e04e b.n 80464be case OscLen: if(focused) 8046420: 4b31 ldr r3, [pc, #196] ; (80464e8 ) 8046422: 781b ldrb r3, [r3, #0] 8046424: b2db uxtb r3, r3 8046426: 2b00 cmp r3, #0 8046428: d010 beq.n 804644c { if(pardata.LNE > N400) pardata.LNE--; 804642a: 4b2b ldr r3, [pc, #172] ; (80464d8 ) 804642c: 79db ldrb r3, [r3, #7] 804642e: b2db uxtb r3, r3 8046430: 2b00 cmp r3, #0 8046432: d007 beq.n 8046444 8046434: 4b28 ldr r3, [pc, #160] ; (80464d8 ) 8046436: 79db ldrb r3, [r3, #7] 8046438: b2db uxtb r3, r3 804643a: 3b01 subs r3, #1 804643c: b2da uxtb r2, r3 804643e: 4b26 ldr r3, [pc, #152] ; (80464d8 ) 8046440: 71da strb r2, [r3, #7] else pardata.LNE = N6400; } else menupos = Ok; break; 8046442: e03c b.n 80464be else pardata.LNE = N6400; 8046444: 4b24 ldr r3, [pc, #144] ; (80464d8 ) 8046446: 2204 movs r2, #4 8046448: 71da strb r2, [r3, #7] break; 804644a: e038 b.n 80464be menupos = Ok; 804644c: 4b25 ldr r3, [pc, #148] ; (80464e4 ) 804644e: 2200 movs r2, #0 8046450: 701a strb r2, [r3, #0] break; 8046452: e034 b.n 80464be case OscThr_IDT: menupos = OscThr_IKD; 8046454: 4b23 ldr r3, [pc, #140] ; (80464e4 ) 8046456: 220e movs r2, #14 8046458: 701a strb r2, [r3, #0] break; 804645a: e030 b.n 80464be case OscThr_IET: menupos = OscThr_IDT; 804645c: 4b21 ldr r3, [pc, #132] ; (80464e4 ) 804645e: 2209 movs r2, #9 8046460: 701a strb r2, [r3, #0] break; 8046462: e02c b.n 80464be case OscThr_IES: menupos = OscThr_IET; 8046464: 4b1f ldr r3, [pc, #124] ; (80464e4 ) 8046466: 220a movs r2, #10 8046468: 701a strb r2, [r3, #0] break; 804646a: e028 b.n 80464be case OscThr_IED: menupos = OscThr_IES; 804646c: 4b1d ldr r3, [pc, #116] ; (80464e4 ) 804646e: 220b movs r2, #11 8046470: 701a strb r2, [r3, #0] break; 8046472: e024 b.n 80464be case OscThr_IEE: menupos = OscThr_IED; 8046474: 4b1b ldr r3, [pc, #108] ; (80464e4 ) 8046476: 220c movs r2, #12 8046478: 701a strb r2, [r3, #0] break; 804647a: e020 b.n 80464be case OscThr_IKD: menupos = OscThr_IEE; 804647c: 4b19 ldr r3, [pc, #100] ; (80464e4 ) 804647e: 220d movs r2, #13 8046480: 701a strb r2, [r3, #0] break; 8046482: e01c b.n 80464be case OscMax_IDT: menupos = OscMax_IKD; 8046484: 4b17 ldr r3, [pc, #92] ; (80464e4 ) 8046486: 2214 movs r2, #20 8046488: 701a strb r2, [r3, #0] break; 804648a: e018 b.n 80464be case OscMax_IET: menupos = OscMax_IDT; 804648c: 4b15 ldr r3, [pc, #84] ; (80464e4 ) 804648e: 220f movs r2, #15 8046490: 701a strb r2, [r3, #0] break; 8046492: e014 b.n 80464be case OscMax_IES: menupos = OscMax_IET; 8046494: 4b13 ldr r3, [pc, #76] ; (80464e4 ) 8046496: 2210 movs r2, #16 8046498: 701a strb r2, [r3, #0] break; 804649a: e010 b.n 80464be case OscMax_IED: menupos = OscMax_IES; 804649c: 4b11 ldr r3, [pc, #68] ; (80464e4 ) 804649e: 2211 movs r2, #17 80464a0: 701a strb r2, [r3, #0] break; 80464a2: e00c b.n 80464be case OscMax_IEE: menupos = OscMax_IED; 80464a4: 4b0f ldr r3, [pc, #60] ; (80464e4 ) 80464a6: 2212 movs r2, #18 80464a8: 701a strb r2, [r3, #0] break; 80464aa: e008 b.n 80464be case OscMax_IKD: menupos = OscMax_IEE; 80464ac: 4b0d ldr r3, [pc, #52] ; (80464e4 ) 80464ae: 2213 movs r2, #19 80464b0: 701a strb r2, [r3, #0] break; 80464b2: e004 b.n 80464be case OscThr: case OscThr_ALL: case OscMax_ALL: case FilterHP: case FilterLP: menupos = Ok; 80464b4: 4b0b ldr r3, [pc, #44] ; (80464e4 ) 80464b6: 2200 movs r2, #0 80464b8: 701a strb r2, [r3, #0] break; 80464ba: e000 b.n 80464be break; 80464bc: bf00 nop } break; 80464be: e285 b.n 80469cc 80464c0: e0000000 .word 0xe0000000 80464c4: 3f40624d .word 0x3f40624d 80464c8: e0000000 .word 0xe0000000 80464cc: 3f0a36e2 .word 0x3f0a36e2 80464d0: eb1c432d .word 0xeb1c432d 80464d4: 3f1a36e2 .word 0x3f1a36e2 80464d8: 20023ea8 .word 0x20023ea8 80464dc: 080f2c08 .word 0x080f2c08 80464e0: cccccccd .word 0xcccccccd 80464e4: 20020070 .word 0x20020070 80464e8: 20020fc8 .word 0x20020fc8 case ROUTE_MAP: //LT switch(menupos) 80464ec: 4bb9 ldr r3, [pc, #740] ; (80467d4 ) 80464ee: 781b ldrb r3, [r3, #0] 80464f0: b2db uxtb r3, r3 80464f2: 2b0e cmp r3, #14 80464f4: f200 826d bhi.w 80469d2 80464f8: a201 add r2, pc, #4 ; (adr r2, 8046500 ) 80464fa: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80464fe: bf00 nop 8046500: 080465b9 .word 0x080465b9 8046504: 080465c1 .word 0x080465c1 8046508: 080465c9 .word 0x080465c9 804650c: 080465b1 .word 0x080465b1 8046510: 0804653d .word 0x0804653d 8046514: 080465b1 .word 0x080465b1 8046518: 080465b1 .word 0x080465b1 804651c: 08046581 .word 0x08046581 8046520: 08046589 .word 0x08046589 8046524: 08046591 .word 0x08046591 8046528: 08046599 .word 0x08046599 804652c: 080465a1 .word 0x080465a1 8046530: 080465a9 .word 0x080465a9 8046534: 08046571 .word 0x08046571 8046538: 08046579 .word 0x08046579 { case RouteTime: if(focused) 804653c: 4ba6 ldr r3, [pc, #664] ; (80467d8 ) 804653e: 781b ldrb r3, [r3, #0] 8046540: b2db uxtb r3, r3 8046542: 2b00 cmp r3, #0 8046544: d010 beq.n 8046568 { if(pardata.TME > CONTINUOUS) pardata.TME--; 8046546: 4ba5 ldr r3, [pc, #660] ; (80467dc ) 8046548: 7b9b ldrb r3, [r3, #14] 804654a: b2db uxtb r3, r3 804654c: 2b00 cmp r3, #0 804654e: d007 beq.n 8046560 8046550: 4ba2 ldr r3, [pc, #648] ; (80467dc ) 8046552: 7b9b ldrb r3, [r3, #14] 8046554: b2db uxtb r3, r3 8046556: 3b01 subs r3, #1 8046558: b2da uxtb r2, r3 804655a: 4ba0 ldr r3, [pc, #640] ; (80467dc ) 804655c: 739a strb r2, [r3, #14] else pardata.TME = HOUR2; } else menupos = GoMeas; break; 804655e: e037 b.n 80465d0 else pardata.TME = HOUR2; 8046560: 4b9e ldr r3, [pc, #632] ; (80467dc ) 8046562: 2209 movs r2, #9 8046564: 739a strb r2, [r3, #14] break; 8046566: e033 b.n 80465d0 menupos = GoMeas; 8046568: 4b9a ldr r3, [pc, #616] ; (80467d4 ) 804656a: 2201 movs r2, #1 804656c: 701a strb r2, [r3, #0] break; 804656e: e02f b.n 80465d0 case RouteNullYes: menupos = RouteNullNo; 8046570: 4b98 ldr r3, [pc, #608] ; (80467d4 ) 8046572: 220e movs r2, #14 8046574: 701a strb r2, [r3, #0] break; 8046576: e02b b.n 80465d0 case RouteNullNo: menupos = RouteNullYes; 8046578: 4b96 ldr r3, [pc, #600] ; (80467d4 ) 804657a: 220d movs r2, #13 804657c: 701a strb r2, [r3, #0] break; 804657e: e027 b.n 80465d0 case RouteMax_IDT: menupos = RouteMax_IKD; 8046580: 4b94 ldr r3, [pc, #592] ; (80467d4 ) 8046582: 220c movs r2, #12 8046584: 701a strb r2, [r3, #0] break; 8046586: e023 b.n 80465d0 case RouteMax_IET: menupos = RouteMax_IDT; 8046588: 4b92 ldr r3, [pc, #584] ; (80467d4 ) 804658a: 2207 movs r2, #7 804658c: 701a strb r2, [r3, #0] break; 804658e: e01f b.n 80465d0 case RouteMax_IES: menupos = RouteMax_IET; 8046590: 4b90 ldr r3, [pc, #576] ; (80467d4 ) 8046592: 2208 movs r2, #8 8046594: 701a strb r2, [r3, #0] break; 8046596: e01b b.n 80465d0 case RouteMax_IED: menupos = RouteMax_IES; 8046598: 4b8e ldr r3, [pc, #568] ; (80467d4 ) 804659a: 2209 movs r2, #9 804659c: 701a strb r2, [r3, #0] break; 804659e: e017 b.n 80465d0 case RouteMax_IEE: menupos = RouteMax_IED; 80465a0: 4b8c ldr r3, [pc, #560] ; (80467d4 ) 80465a2: 220a movs r2, #10 80465a4: 701a strb r2, [r3, #0] break; 80465a6: e013 b.n 80465d0 case RouteMax_IKD: menupos = RouteMax_IEE; 80465a8: 4b8a ldr r3, [pc, #552] ; (80467d4 ) 80465aa: 220b movs r2, #11 80465ac: 701a strb r2, [r3, #0] break; 80465ae: e00f b.n 80465d0 case RouteTacho: case RouteAutoKu: case RouteMax_ALL: menupos = GoMeas; 80465b0: 4b88 ldr r3, [pc, #544] ; (80467d4 ) 80465b2: 2201 movs r2, #1 80465b4: 701a strb r2, [r3, #0] break; 80465b6: e00b b.n 80465d0 case PrevPoint: menupos = NextPoint; 80465b8: 4b86 ldr r3, [pc, #536] ; (80467d4 ) 80465ba: 2202 movs r2, #2 80465bc: 701a strb r2, [r3, #0] break; 80465be: e007 b.n 80465d0 case GoMeas: menupos = PrevPoint; 80465c0: 4b84 ldr r3, [pc, #528] ; (80467d4 ) 80465c2: 2200 movs r2, #0 80465c4: 701a strb r2, [r3, #0] break; 80465c6: e003 b.n 80465d0 case NextPoint: menupos = GoMeas; 80465c8: 4b82 ldr r3, [pc, #520] ; (80467d4 ) 80465ca: 2201 movs r2, #1 80465cc: 701a strb r2, [r3, #0] break; 80465ce: bf00 nop } break; 80465d0: e1ff b.n 80469d2 case PARAM_WAVE: //LT switch(menupos) 80465d2: 4b80 ldr r3, [pc, #512] ; (80467d4 ) 80465d4: 781b ldrb r3, [r3, #0] 80465d6: b2db uxtb r3, r3 80465d8: 3b01 subs r3, #1 80465da: 2b14 cmp r3, #20 80465dc: f200 81fc bhi.w 80469d8 80465e0: a201 add r2, pc, #4 ; (adr r2, 80465e8 ) 80465e2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80465e6: bf00 nop 80465e8: 0804663d .word 0x0804663d 80465ec: 08046645 .word 0x08046645 80465f0: 080466e1 .word 0x080466e1 80465f4: 080466e9 .word 0x080466e9 80465f8: 0804664d .word 0x0804664d 80465fc: 080466e1 .word 0x080466e1 8046600: 080466e1 .word 0x080466e1 8046604: 080466e1 .word 0x080466e1 8046608: 080466e1 .word 0x080466e1 804660c: 080466b1 .word 0x080466b1 8046610: 080466b9 .word 0x080466b9 8046614: 080466c1 .word 0x080466c1 8046618: 080466c9 .word 0x080466c9 804661c: 080466d1 .word 0x080466d1 8046620: 080466d9 .word 0x080466d9 8046624: 08046681 .word 0x08046681 8046628: 08046689 .word 0x08046689 804662c: 08046691 .word 0x08046691 8046630: 08046699 .word 0x08046699 8046634: 080466a1 .word 0x080466a1 8046638: 080466a9 .word 0x080466a9 { case WaveBand: pardata.FRQ = _64000Hz; 804663c: 4b67 ldr r3, [pc, #412] ; (80467dc ) 804663e: 2209 movs r2, #9 8046640: 72da strb r2, [r3, #11] break; 8046642: e057 b.n 80466f4 case WaveFreq: pardata.FRQ = _64000Hz; 8046644: 4b65 ldr r3, [pc, #404] ; (80467dc ) 8046646: 2209 movs r2, #9 8046648: 72da strb r2, [r3, #11] break; 804664a: e053 b.n 80466f4 case WaveTime: if(focused) 804664c: 4b62 ldr r3, [pc, #392] ; (80467d8 ) 804664e: 781b ldrb r3, [r3, #0] 8046650: b2db uxtb r3, r3 8046652: 2b00 cmp r3, #0 8046654: d010 beq.n 8046678 { if(pardata.TME > CONTINUOUS) pardata.TME--; 8046656: 4b61 ldr r3, [pc, #388] ; (80467dc ) 8046658: 7b9b ldrb r3, [r3, #14] 804665a: b2db uxtb r3, r3 804665c: 2b00 cmp r3, #0 804665e: d007 beq.n 8046670 8046660: 4b5e ldr r3, [pc, #376] ; (80467dc ) 8046662: 7b9b ldrb r3, [r3, #14] 8046664: b2db uxtb r3, r3 8046666: 3b01 subs r3, #1 8046668: b2da uxtb r2, r3 804666a: 4b5c ldr r3, [pc, #368] ; (80467dc ) 804666c: 739a strb r2, [r3, #14] else pardata.TME = HOUR2; } else menupos = Ok; break; 804666e: e041 b.n 80466f4 else pardata.TME = HOUR2; 8046670: 4b5a ldr r3, [pc, #360] ; (80467dc ) 8046672: 2209 movs r2, #9 8046674: 739a strb r2, [r3, #14] break; 8046676: e03d b.n 80466f4 menupos = Ok; 8046678: 4b56 ldr r3, [pc, #344] ; (80467d4 ) 804667a: 2200 movs r2, #0 804667c: 701a strb r2, [r3, #0] break; 804667e: e039 b.n 80466f4 case WaveThr_IDT: menupos = WaveThr_IKD; 8046680: 4b54 ldr r3, [pc, #336] ; (80467d4 ) 8046682: 2215 movs r2, #21 8046684: 701a strb r2, [r3, #0] break; 8046686: e035 b.n 80466f4 case WaveThr_IET: menupos = WaveThr_IDT; 8046688: 4b52 ldr r3, [pc, #328] ; (80467d4 ) 804668a: 2210 movs r2, #16 804668c: 701a strb r2, [r3, #0] break; 804668e: e031 b.n 80466f4 case WaveThr_IES: menupos = WaveThr_IET; 8046690: 4b50 ldr r3, [pc, #320] ; (80467d4 ) 8046692: 2211 movs r2, #17 8046694: 701a strb r2, [r3, #0] break; 8046696: e02d b.n 80466f4 case WaveThr_IED: menupos = WaveThr_IES; 8046698: 4b4e ldr r3, [pc, #312] ; (80467d4 ) 804669a: 2212 movs r2, #18 804669c: 701a strb r2, [r3, #0] break; 804669e: e029 b.n 80466f4 case WaveThr_IEE: menupos = WaveThr_IED; 80466a0: 4b4c ldr r3, [pc, #304] ; (80467d4 ) 80466a2: 2213 movs r2, #19 80466a4: 701a strb r2, [r3, #0] break; 80466a6: e025 b.n 80466f4 case WaveThr_IKD: menupos = WaveThr_IEE; 80466a8: 4b4a ldr r3, [pc, #296] ; (80467d4 ) 80466aa: 2214 movs r2, #20 80466ac: 701a strb r2, [r3, #0] break; 80466ae: e021 b.n 80466f4 case WaveMax_IDT: menupos = WaveMax_IKD; 80466b0: 4b48 ldr r3, [pc, #288] ; (80467d4 ) 80466b2: 220f movs r2, #15 80466b4: 701a strb r2, [r3, #0] break; 80466b6: e01d b.n 80466f4 case WaveMax_IET: menupos = WaveMax_IDT; 80466b8: 4b46 ldr r3, [pc, #280] ; (80467d4 ) 80466ba: 220a movs r2, #10 80466bc: 701a strb r2, [r3, #0] break; 80466be: e019 b.n 80466f4 case WaveMax_IES: menupos = WaveMax_IET; 80466c0: 4b44 ldr r3, [pc, #272] ; (80467d4 ) 80466c2: 220b movs r2, #11 80466c4: 701a strb r2, [r3, #0] break; 80466c6: e015 b.n 80466f4 case WaveMax_IED: menupos = WaveMax_IES; 80466c8: 4b42 ldr r3, [pc, #264] ; (80467d4 ) 80466ca: 220c movs r2, #12 80466cc: 701a strb r2, [r3, #0] break; 80466ce: e011 b.n 80466f4 case WaveMax_IEE: menupos = WaveMax_IED; 80466d0: 4b40 ldr r3, [pc, #256] ; (80467d4 ) 80466d2: 220d movs r2, #13 80466d4: 701a strb r2, [r3, #0] break; 80466d6: e00d b.n 80466f4 case WaveMax_IKD: menupos = WaveMax_IEE; 80466d8: 4b3e ldr r3, [pc, #248] ; (80467d4 ) 80466da: 220e movs r2, #14 80466dc: 701a strb r2, [r3, #0] break; 80466de: e009 b.n 80466f4 case WaveThr: case WaveTacho: case WaveAutoKu: case WaveMax_ALL: case WaveThr_ALL: menupos = Ok; 80466e0: 4b3c ldr r3, [pc, #240] ; (80467d4 ) 80466e2: 2200 movs r2, #0 80466e4: 701a strb r2, [r3, #0] break; 80466e6: e005 b.n 80466f4 case WaveName: memset(WavFileName, 0, sizeof(WavFileName)); 80466e8: 2221 movs r2, #33 ; 0x21 80466ea: 2100 movs r1, #0 80466ec: 483c ldr r0, [pc, #240] ; (80467e0 ) 80466ee: f08a fe57 bl 80d13a0 break; 80466f2: bf00 nop } break; 80466f4: e170 b.n 80469d8 case SETTINGS: switch(menupos) 80466f6: 4b37 ldr r3, [pc, #220] ; (80467d4 ) 80466f8: 781b ldrb r3, [r3, #0] 80466fa: b2db uxtb r3, r3 80466fc: 3b01 subs r3, #1 80466fe: 2b11 cmp r3, #17 8046700: f200 816d bhi.w 80469de 8046704: a201 add r2, pc, #4 ; (adr r2, 804670c ) 8046706: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804670a: bf00 nop 804670c: 080467a9 .word 0x080467a9 8046710: 080469df .word 0x080469df 8046714: 08046785 .word 0x08046785 8046718: 080469df .word 0x080469df 804671c: 080469df .word 0x080469df 8046720: 080469df .word 0x080469df 8046724: 080469df .word 0x080469df 8046728: 080469df .word 0x080469df 804672c: 080467e5 .word 0x080467e5 8046730: 080469df .word 0x080469df 8046734: 080469df .word 0x080469df 8046738: 080469df .word 0x080469df 804673c: 08046755 .word 0x08046755 8046740: 0804675d .word 0x0804675d 8046744: 08046765 .word 0x08046765 8046748: 0804676d .word 0x0804676d 804674c: 08046775 .word 0x08046775 8046750: 0804677d .word 0x0804677d { case Ies: menupos = Ikt; break; 8046754: 4b1f ldr r3, [pc, #124] ; (80467d4 ) 8046756: 2212 movs r2, #18 8046758: 701a strb r2, [r3, #0] 804675a: e04a b.n 80467f2 case Ied: menupos = Ies; break; 804675c: 4b1d ldr r3, [pc, #116] ; (80467d4 ) 804675e: 220d movs r2, #13 8046760: 701a strb r2, [r3, #0] 8046762: e046 b.n 80467f2 case Iee: menupos = Ied; break; 8046764: 4b1b ldr r3, [pc, #108] ; (80467d4 ) 8046766: 220e movs r2, #14 8046768: 701a strb r2, [r3, #0] 804676a: e042 b.n 80467f2 case Ikd: menupos = Iee; break; 804676c: 4b19 ldr r3, [pc, #100] ; (80467d4 ) 804676e: 220f movs r2, #15 8046770: 701a strb r2, [r3, #0] 8046772: e03e b.n 80467f2 case Iks: menupos = Ikd; break; 8046774: 4b17 ldr r3, [pc, #92] ; (80467d4 ) 8046776: 2210 movs r2, #16 8046778: 701a strb r2, [r3, #0] 804677a: e03a b.n 80467f2 case Ikt: menupos = Iks; break; 804677c: 4b15 ldr r3, [pc, #84] ; (80467d4 ) 804677e: 2211 movs r2, #17 8046780: 701a strb r2, [r3, #0] 8046782: e036 b.n 80467f2 case Lang: if(focused) 8046784: 4b14 ldr r3, [pc, #80] ; (80467d8 ) 8046786: 781b ldrb r3, [r3, #0] 8046788: b2db uxtb r3, r3 804678a: 2b00 cmp r3, #0 804678c: d02e beq.n 80467ec { if(pardata.LANG == ENG) 804678e: 4b13 ldr r3, [pc, #76] ; (80467dc ) 8046790: 7b1b ldrb r3, [r3, #12] 8046792: b2db uxtb r3, r3 8046794: 2b01 cmp r3, #1 8046796: d103 bne.n 80467a0 pardata.LANG = RUS; 8046798: 4b10 ldr r3, [pc, #64] ; (80467dc ) 804679a: 2200 movs r2, #0 804679c: 731a strb r2, [r3, #12] else pardata.LANG = ENG; } break; 804679e: e025 b.n 80467ec else pardata.LANG = ENG; 80467a0: 4b0e ldr r3, [pc, #56] ; (80467dc ) 80467a2: 2201 movs r2, #1 80467a4: 731a strb r2, [r3, #12] break; 80467a6: e021 b.n 80467ec case Type: #if (!defined(USE_D101) && !defined(USE_D102)) if(focused) 80467a8: 4b0b ldr r3, [pc, #44] ; (80467d8 ) 80467aa: 781b ldrb r3, [r3, #0] 80467ac: b2db uxtb r3, r3 80467ae: 2b00 cmp r3, #0 80467b0: d01e beq.n 80467f0 { if(pardata.IIN > CHARGE) pardata.IIN--; 80467b2: 4b0a ldr r3, [pc, #40] ; (80467dc ) 80467b4: 799b ldrb r3, [r3, #6] 80467b6: b2db uxtb r3, r3 80467b8: 2b00 cmp r3, #0 80467ba: d007 beq.n 80467cc 80467bc: 4b07 ldr r3, [pc, #28] ; (80467dc ) 80467be: 799b ldrb r3, [r3, #6] 80467c0: b2db uxtb r3, r3 80467c2: 3b01 subs r3, #1 80467c4: b2da uxtb r2, r3 80467c6: 4b05 ldr r3, [pc, #20] ; (80467dc ) 80467c8: 719a strb r2, [r3, #6] { if(pardata.IIN == VOLTS) pardata.IIN = ICP; else pardata.IIN = VOLTS; } #endif break; 80467ca: e011 b.n 80467f0 else pardata.IIN = VOLTS; 80467cc: 4b03 ldr r3, [pc, #12] ; (80467dc ) 80467ce: 2202 movs r2, #2 80467d0: 719a strb r2, [r3, #6] break; 80467d2: e00d b.n 80467f0 80467d4: 20020070 .word 0x20020070 80467d8: 20020fc8 .word 0x20020fc8 80467dc: 20023ea8 .word 0x20023ea8 80467e0: 20020e54 .word 0x20020e54 case FormatDiskYes: menupos = FormatDiskNo; 80467e4: 4b88 ldr r3, [pc, #544] ; (8046a08 ) 80467e6: 2208 movs r2, #8 80467e8: 701a strb r2, [r3, #0] break; 80467ea: e002 b.n 80467f2 break; 80467ec: bf00 nop 80467ee: e0f6 b.n 80469de break; 80467f0: bf00 nop } break; 80467f2: e0f4 b.n 80469de case DATETIME: switch(menupos) 80467f4: 4b84 ldr r3, [pc, #528] ; (8046a08 ) 80467f6: 781b ldrb r3, [r3, #0] 80467f8: b2db uxtb r3, r3 80467fa: 3b03 subs r3, #3 80467fc: 2b04 cmp r3, #4 80467fe: f200 80f1 bhi.w 80469e4 8046802: a201 add r2, pc, #4 ; (adr r2, 8046808 ) 8046804: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046808: 0804681d .word 0x0804681d 804680c: 08046825 .word 0x08046825 8046810: 0804682d .word 0x0804682d 8046814: 08046835 .word 0x08046835 8046818: 0804683d .word 0x0804683d { case DateD: menupos = DateY; break; 804681c: 4b7a ldr r3, [pc, #488] ; (8046a08 ) 804681e: 2205 movs r2, #5 8046820: 701a strb r2, [r3, #0] 8046822: e00f b.n 8046844 case DateM: menupos = DateD; break; 8046824: 4b78 ldr r3, [pc, #480] ; (8046a08 ) 8046826: 2203 movs r2, #3 8046828: 701a strb r2, [r3, #0] 804682a: e00b b.n 8046844 case DateY: menupos = DateM; break; 804682c: 4b76 ldr r3, [pc, #472] ; (8046a08 ) 804682e: 2204 movs r2, #4 8046830: 701a strb r2, [r3, #0] 8046832: e007 b.n 8046844 case TimeH: menupos = TimeM; break; 8046834: 4b74 ldr r3, [pc, #464] ; (8046a08 ) 8046836: 2207 movs r2, #7 8046838: 701a strb r2, [r3, #0] 804683a: e003 b.n 8046844 case TimeM: menupos = TimeH; break; 804683c: 4b72 ldr r3, [pc, #456] ; (8046a08 ) 804683e: 2206 movs r2, #6 8046840: 701a strb r2, [r3, #0] 8046842: bf00 nop } break; 8046844: e0ce b.n 80469e4 case CLEAN_FILES: switch(menupos) 8046846: 4b70 ldr r3, [pc, #448] ; (8046a08 ) 8046848: 781b ldrb r3, [r3, #0] 804684a: b2db uxtb r3, r3 804684c: 3b01 subs r3, #1 804684e: 2b08 cmp r3, #8 8046850: f200 80cb bhi.w 80469ea 8046854: a201 add r2, pc, #4 ; (adr r2, 804685c ) 8046856: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804685a: bf00 nop 804685c: 08046881 .word 0x08046881 8046860: 08046881 .word 0x08046881 8046864: 080469eb .word 0x080469eb 8046868: 080469eb .word 0x080469eb 804686c: 080469eb .word 0x080469eb 8046870: 0804688f .word 0x0804688f 8046874: 08046897 .word 0x08046897 8046878: 0804689f .word 0x0804689f 804687c: 080468a7 .word 0x080468a7 { case NoFilesPTM: case FilesPTM: menu = SETTINGS; 8046880: 4b62 ldr r3, [pc, #392] ; (8046a0c ) 8046882: 2212 movs r2, #18 8046884: 701a strb r2, [r3, #0] menupos = CleanFiles; 8046886: 4b60 ldr r3, [pc, #384] ; (8046a08 ) 8046888: 220c movs r2, #12 804688a: 701a strb r2, [r3, #0] break; 804688c: e00f b.n 80468ae case UpNo: menupos = UpYes; 804688e: 4b5e ldr r3, [pc, #376] ; (8046a08 ) 8046890: 2207 movs r2, #7 8046892: 701a strb r2, [r3, #0] break; 8046894: e00b b.n 80468ae case UpYes: menupos = UpNo; 8046896: 4b5c ldr r3, [pc, #368] ; (8046a08 ) 8046898: 2206 movs r2, #6 804689a: 701a strb r2, [r3, #0] break; 804689c: e007 b.n 80468ae case AllNo: menupos = AllYes; 804689e: 4b5a ldr r3, [pc, #360] ; (8046a08 ) 80468a0: 2209 movs r2, #9 80468a2: 701a strb r2, [r3, #0] break; 80468a4: e003 b.n 80468ae case AllYes: menupos = AllNo; 80468a6: 4b58 ldr r3, [pc, #352] ; (8046a08 ) 80468a8: 2208 movs r2, #8 80468aa: 701a strb r2, [r3, #0] break; 80468ac: bf00 nop } break; 80468ae: e09c b.n 80469ea case ACCELEROMETER: switch(menupos) 80468b0: 4b55 ldr r3, [pc, #340] ; (8046a08 ) 80468b2: 781b ldrb r3, [r3, #0] 80468b4: b2db uxtb r3, r3 80468b6: 3b0d subs r3, #13 80468b8: 2b05 cmp r3, #5 80468ba: f200 8099 bhi.w 80469f0 80468be: a201 add r2, pc, #4 ; (adr r2, 80468c4 ) 80468c0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80468c4: 080468dd .word 0x080468dd 80468c8: 080468e5 .word 0x080468e5 80468cc: 080468ed .word 0x080468ed 80468d0: 080468f5 .word 0x080468f5 80468d4: 080468fd .word 0x080468fd 80468d8: 08046905 .word 0x08046905 { case Ies: menupos = Ikt; break; 80468dc: 4b4a ldr r3, [pc, #296] ; (8046a08 ) 80468de: 2212 movs r2, #18 80468e0: 701a strb r2, [r3, #0] 80468e2: e013 b.n 804690c case Ied: menupos = Ies; break; 80468e4: 4b48 ldr r3, [pc, #288] ; (8046a08 ) 80468e6: 220d movs r2, #13 80468e8: 701a strb r2, [r3, #0] 80468ea: e00f b.n 804690c case Iee: menupos = Ied; break; 80468ec: 4b46 ldr r3, [pc, #280] ; (8046a08 ) 80468ee: 220e movs r2, #14 80468f0: 701a strb r2, [r3, #0] 80468f2: e00b b.n 804690c case Ikd: menupos = Iee; break; 80468f4: 4b44 ldr r3, [pc, #272] ; (8046a08 ) 80468f6: 220f movs r2, #15 80468f8: 701a strb r2, [r3, #0] 80468fa: e007 b.n 804690c case Iks: menupos = Ikd; break; 80468fc: 4b42 ldr r3, [pc, #264] ; (8046a08 ) 80468fe: 2210 movs r2, #16 8046900: 701a strb r2, [r3, #0] 8046902: e003 b.n 804690c case Ikt: menupos = Iks; break; 8046904: 4b40 ldr r3, [pc, #256] ; (8046a08 ) 8046906: 2211 movs r2, #17 8046908: 701a strb r2, [r3, #0] 804690a: bf00 nop } break; 804690c: e070 b.n 80469f0 case CALIBR_00: if(menupos > 0) 804690e: 4b3e ldr r3, [pc, #248] ; (8046a08 ) 8046910: 781b ldrb r3, [r3, #0] 8046912: b2db uxtb r3, r3 8046914: 2b00 cmp r3, #0 8046916: d06e beq.n 80469f6 menupos--; 8046918: 4b3b ldr r3, [pc, #236] ; (8046a08 ) 804691a: 781b ldrb r3, [r3, #0] 804691c: b2db uxtb r3, r3 804691e: 3b01 subs r3, #1 8046920: b2da uxtb r2, r3 8046922: 4b39 ldr r3, [pc, #228] ; (8046a08 ) 8046924: 701a strb r2, [r3, #0] break; 8046926: e066 b.n 80469f6 case CALIBR_4: case CALIBR_5: case CALIBR_6: case CALIBR_7: case CALIBR_8: if(menupos > 0) 8046928: 4b37 ldr r3, [pc, #220] ; (8046a08 ) 804692a: 781b ldrb r3, [r3, #0] 804692c: b2db uxtb r3, r3 804692e: 2b00 cmp r3, #0 8046930: d064 beq.n 80469fc menupos--; 8046932: 4b35 ldr r3, [pc, #212] ; (8046a08 ) 8046934: 781b ldrb r3, [r3, #0] 8046936: b2db uxtb r3, r3 8046938: 3b01 subs r3, #1 804693a: b2da uxtb r2, r3 804693c: 4b32 ldr r3, [pc, #200] ; (8046a08 ) 804693e: 701a strb r2, [r3, #0] break; 8046940: e05c b.n 80469fc case CALIBR_9: case CALIBR_10: case CALIBR_11: if(menupos > 1) 8046942: 4b31 ldr r3, [pc, #196] ; (8046a08 ) 8046944: 781b ldrb r3, [r3, #0] 8046946: b2db uxtb r3, r3 8046948: 2b01 cmp r3, #1 804694a: d902 bls.n 8046952 menupos = 1; 804694c: 4b2e ldr r3, [pc, #184] ; (8046a08 ) 804694e: 2201 movs r2, #1 8046950: 701a strb r2, [r3, #0] if(menupos > 0) 8046952: 4b2d ldr r3, [pc, #180] ; (8046a08 ) 8046954: 781b ldrb r3, [r3, #0] 8046956: b2db uxtb r3, r3 8046958: 2b00 cmp r3, #0 804695a: d052 beq.n 8046a02 menupos--; 804695c: 4b2a ldr r3, [pc, #168] ; (8046a08 ) 804695e: 781b ldrb r3, [r3, #0] 8046960: b2db uxtb r3, r3 8046962: 3b01 subs r3, #1 8046964: b2da uxtb r2, r3 8046966: 4b28 ldr r3, [pc, #160] ; (8046a08 ) 8046968: 701a strb r2, [r3, #0] break; 804696a: e04a b.n 8046a02 break; 804696c: bf00 nop 804696e: f00d b904 b.w 8053b7a break; 8046972: bf00 nop 8046974: f00d b901 b.w 8053b7a break; 8046978: bf00 nop 804697a: f00d b8fe b.w 8053b7a break; 804697e: bf00 nop 8046980: f00d b8fb b.w 8053b7a break; 8046984: bf00 nop 8046986: f00d b8f8 b.w 8053b7a break; 804698a: bf00 nop 804698c: f00d b8f5 b.w 8053b7a break; 8046990: bf00 nop 8046992: f00d b8f2 b.w 8053b7a break; 8046996: bf00 nop 8046998: f00d b8ef b.w 8053b7a break; 804699c: bf00 nop 804699e: f00d b8ec b.w 8053b7a break; 80469a2: bf00 nop 80469a4: f00d b8e9 b.w 8053b7a break; 80469a8: bf00 nop 80469aa: f00d b8e6 b.w 8053b7a break; 80469ae: bf00 nop 80469b0: f00d b8e3 b.w 8053b7a break; 80469b4: bf00 nop 80469b6: f00d b8e0 b.w 8053b7a break; 80469ba: bf00 nop 80469bc: f00d b8dd b.w 8053b7a break; 80469c0: bf00 nop 80469c2: f00d b8da b.w 8053b7a break; 80469c6: bf00 nop 80469c8: f00d b8d7 b.w 8053b7a break; 80469cc: bf00 nop 80469ce: f00d b8d4 b.w 8053b7a break; 80469d2: bf00 nop 80469d4: f00d b8d1 b.w 8053b7a break; 80469d8: bf00 nop 80469da: f00d b8ce b.w 8053b7a break; 80469de: bf00 nop 80469e0: f00d b8cb b.w 8053b7a break; 80469e4: bf00 nop 80469e6: f00d b8c8 b.w 8053b7a break; 80469ea: bf00 nop 80469ec: f00d b8c5 b.w 8053b7a break; 80469f0: bf00 nop 80469f2: f00d b8c2 b.w 8053b7a break; 80469f6: bf00 nop 80469f8: f00d b8bf b.w 8053b7a break; 80469fc: bf00 nop 80469fe: f00d b8bc b.w 8053b7a break; 8046a02: bf00 nop } break; 8046a04: f00d b8b9 b.w 8053b7a 8046a08: 20020070 .word 0x20020070 8046a0c: 20020fbd .word 0x20020fbd case KEY_RT:// TODO KEY RT switch(menu) 8046a10: 4bce ldr r3, [pc, #824] ; (8046d4c ) 8046a12: 781b ldrb r3, [r3, #0] 8046a14: b2db uxtb r3, r3 8046a16: 2b47 cmp r3, #71 ; 0x47 8046a18: f20d 80b1 bhi.w 8053b7e 8046a1c: a201 add r2, pc, #4 ; (adr r2, 8046a24 ) 8046a1e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046a22: bf00 nop 8046a24: 08047319 .word 0x08047319 8046a28: 080479e5 .word 0x080479e5 8046a2c: 08053b7f .word 0x08053b7f 8046a30: 08047d67 .word 0x08047d67 8046a34: 080491d9 .word 0x080491d9 8046a38: 08053b7f .word 0x08053b7f 8046a3c: 080481bf .word 0x080481bf 8046a40: 080483e5 .word 0x080483e5 8046a44: 08048e05 .word 0x08048e05 8046a48: 08053b7f .word 0x08053b7f 8046a4c: 080492bf .word 0x080492bf 8046a50: 08053b7f .word 0x08053b7f 8046a54: 08053b7f .word 0x08053b7f 8046a58: 08047f79 .word 0x08047f79 8046a5c: 08047ecd .word 0x08047ecd 8046a60: 08046b45 .word 0x08046b45 8046a64: 08049667 .word 0x08049667 8046a68: 08046bef .word 0x08046bef 8046a6c: 080493f5 .word 0x080493f5 8046a70: 080495a7 .word 0x080495a7 8046a74: 08053b7f .word 0x08053b7f 8046a78: 08047b55 .word 0x08047b55 8046a7c: 08047b93 .word 0x08047b93 8046a80: 08047bd1 .word 0x08047bd1 8046a84: 080494d9 .word 0x080494d9 8046a88: 0804952b .word 0x0804952b 8046a8c: 08053b7f .word 0x08053b7f 8046a90: 08053b7f .word 0x08053b7f 8046a94: 080475bb .word 0x080475bb 8046a98: 08047389 .word 0x08047389 8046a9c: 08047959 .word 0x08047959 8046aa0: 08047319 .word 0x08047319 8046aa4: 080479af .word 0x080479af 8046aa8: 080475bb .word 0x080475bb 8046aac: 0804784d .word 0x0804784d 8046ab0: 080478b9 .word 0x080478b9 8046ab4: 080475bb .word 0x080475bb 8046ab8: 08049667 .word 0x08049667 8046abc: 080472cd .word 0x080472cd 8046ac0: 08053b7f .word 0x08053b7f 8046ac4: 080475bb .word 0x080475bb 8046ac8: 08047a37 .word 0x08047a37 8046acc: 08047a9f .word 0x08047a9f 8046ad0: 08047b07 .word 0x08047b07 8046ad4: 08047b07 .word 0x08047b07 8046ad8: 08047b07 .word 0x08047b07 8046adc: 08053b7f .word 0x08053b7f 8046ae0: 08047b07 .word 0x08047b07 8046ae4: 08047b07 .word 0x08047b07 8046ae8: 08047b07 .word 0x08047b07 8046aec: 08047b07 .word 0x08047b07 8046af0: 08047b07 .word 0x08047b07 8046af4: 08049607 .word 0x08049607 8046af8: 08049623 .word 0x08049623 8046afc: 08049623 .word 0x08049623 8046b00: 08049623 .word 0x08049623 8046b04: 08049623 .word 0x08049623 8046b08: 08049623 .word 0x08049623 8046b0c: 08049623 .word 0x08049623 8046b10: 08049623 .word 0x08049623 8046b14: 08049623 .word 0x08049623 8046b18: 08049623 .word 0x08049623 8046b1c: 0804963d .word 0x0804963d 8046b20: 0804963d .word 0x0804963d 8046b24: 0804963d .word 0x0804963d 8046b28: 08053b7f .word 0x08053b7f 8046b2c: 08053b7f .word 0x08053b7f 8046b30: 08053b7f .word 0x08053b7f 8046b34: 08053b7f .word 0x08053b7f 8046b38: 080472a7 .word 0x080472a7 8046b3c: 080472a7 .word 0x080472a7 8046b40: 080472a7 .word 0x080472a7 { case PARAM_DIAGN: switch(menupos) 8046b44: 4b82 ldr r3, [pc, #520] ; (8046d50 ) 8046b46: 781b ldrb r3, [r3, #0] 8046b48: b2db uxtb r3, r3 8046b4a: 3b01 subs r3, #1 8046b4c: 2b09 cmp r3, #9 8046b4e: f202 858d bhi.w 804966c 8046b52: a201 add r2, pc, #4 ; (adr r2, 8046b58 ) 8046b54: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046b58: 08046b81 .word 0x08046b81 8046b5c: 0804966d .word 0x0804966d 8046b60: 0804966d .word 0x0804966d 8046b64: 08046bdd .word 0x08046bdd 8046b68: 08046bd5 .word 0x08046bd5 8046b6c: 08046bcd .word 0x08046bcd 8046b70: 08046bc5 .word 0x08046bc5 8046b74: 08046bbd .word 0x08046bbd 8046b78: 08046bb5 .word 0x08046bb5 8046b7c: 08046bad .word 0x08046bad { case DiagAverage: if(focused) 8046b80: 4b74 ldr r3, [pc, #464] ; (8046d54 ) 8046b82: 781b ldrb r3, [r3, #0] 8046b84: b2db uxtb r3, r3 8046b86: 2b00 cmp r3, #0 8046b88: d02e beq.n 8046be8 { if(pardata.AVG < AVG512) pardata.AVG++; 8046b8a: 4b73 ldr r3, [pc, #460] ; (8046d58 ) 8046b8c: 7b5b ldrb r3, [r3, #13] 8046b8e: b2db uxtb r3, r3 8046b90: 2b08 cmp r3, #8 8046b92: d807 bhi.n 8046ba4 8046b94: 4b70 ldr r3, [pc, #448] ; (8046d58 ) 8046b96: 7b5b ldrb r3, [r3, #13] 8046b98: b2db uxtb r3, r3 8046b9a: 3301 adds r3, #1 8046b9c: b2da uxtb r2, r3 8046b9e: 4b6e ldr r3, [pc, #440] ; (8046d58 ) 8046ba0: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } break; 8046ba2: e021 b.n 8046be8 else pardata.AVG = AVG1; 8046ba4: 4b6c ldr r3, [pc, #432] ; (8046d58 ) 8046ba6: 2200 movs r2, #0 8046ba8: 735a strb r2, [r3, #13] break; 8046baa: e01d b.n 8046be8 case DiagMax_IKD: menupos = DiagMax_IDT; break; 8046bac: 4b68 ldr r3, [pc, #416] ; (8046d50 ) 8046bae: 2205 movs r2, #5 8046bb0: 701a strb r2, [r3, #0] 8046bb2: e01a b.n 8046bea case DiagMax_IEE: menupos = DiagMax_IKD; break; 8046bb4: 4b66 ldr r3, [pc, #408] ; (8046d50 ) 8046bb6: 220a movs r2, #10 8046bb8: 701a strb r2, [r3, #0] 8046bba: e016 b.n 8046bea case DiagMax_IED: menupos = DiagMax_IEE; break; 8046bbc: 4b64 ldr r3, [pc, #400] ; (8046d50 ) 8046bbe: 2209 movs r2, #9 8046bc0: 701a strb r2, [r3, #0] 8046bc2: e012 b.n 8046bea case DiagMax_IES: menupos = DiagMax_IED; break; 8046bc4: 4b62 ldr r3, [pc, #392] ; (8046d50 ) 8046bc6: 2208 movs r2, #8 8046bc8: 701a strb r2, [r3, #0] 8046bca: e00e b.n 8046bea case DiagMax_IET: menupos = DiagMax_IES; break; 8046bcc: 4b60 ldr r3, [pc, #384] ; (8046d50 ) 8046bce: 2207 movs r2, #7 8046bd0: 701a strb r2, [r3, #0] 8046bd2: e00a b.n 8046bea case DiagMax_IDT: menupos = DiagMax_IET; break; 8046bd4: 4b5e ldr r3, [pc, #376] ; (8046d50 ) 8046bd6: 2206 movs r2, #6 8046bd8: 701a strb r2, [r3, #0] 8046bda: e006 b.n 8046bea case DiagSaveToFile: memset(DiagFileName, 0, sizeof(DiagFileName)); 8046bdc: 2221 movs r2, #33 ; 0x21 8046bde: 2100 movs r1, #0 8046be0: 485e ldr r0, [pc, #376] ; (8046d5c ) 8046be2: f08a fbdd bl 80d13a0 break; 8046be6: e000 b.n 8046bea break; 8046be8: bf00 nop } break; 8046bea: f002 bd3f b.w 804966c case PARAM_DIAGN_1: break; case PARAM_DIAGN_2: switch(menupos) 8046bee: 4b58 ldr r3, [pc, #352] ; (8046d50 ) 8046bf0: 781b ldrb r3, [r3, #0] 8046bf2: b2db uxtb r3, r3 8046bf4: 3b01 subs r3, #1 8046bf6: 2b23 cmp r3, #35 ; 0x23 8046bf8: f202 853b bhi.w 8049672 8046bfc: a201 add r2, pc, #4 ; (adr r2, 8046c04 ) 8046bfe: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046c02: bf00 nop 8046c04: 08046c95 .word 0x08046c95 8046c08: 08046ca3 .word 0x08046ca3 8046c0c: 08046ceb .word 0x08046ceb 8046c10: 08046cf9 .word 0x08046cf9 8046c14: 08046d3f .word 0x08046d3f 8046c18: 08049673 .word 0x08049673 8046c1c: 08046d69 .word 0x08046d69 8046c20: 0804709d .word 0x0804709d 8046c24: 080471db .word 0x080471db 8046c28: 080471db .word 0x080471db 8046c2c: 080471db .word 0x080471db 8046c30: 080471db .word 0x080471db 8046c34: 0804720b .word 0x0804720b 8046c38: 08047203 .word 0x08047203 8046c3c: 080471fb .word 0x080471fb 8046c40: 080471f3 .word 0x080471f3 8046c44: 080471eb .word 0x080471eb 8046c48: 080471e3 .word 0x080471e3 8046c4c: 0804723b .word 0x0804723b 8046c50: 08047233 .word 0x08047233 8046c54: 0804722b .word 0x0804722b 8046c58: 08047223 .word 0x08047223 8046c5c: 0804721b .word 0x0804721b 8046c60: 08047213 .word 0x08047213 8046c64: 0804726b .word 0x0804726b 8046c68: 08047263 .word 0x08047263 8046c6c: 0804725b .word 0x0804725b 8046c70: 08047253 .word 0x08047253 8046c74: 0804724b .word 0x0804724b 8046c78: 08047243 .word 0x08047243 8046c7c: 0804729b .word 0x0804729b 8046c80: 08047293 .word 0x08047293 8046c84: 0804728b .word 0x0804728b 8046c88: 08047283 .word 0x08047283 8046c8c: 0804727b .word 0x0804727b 8046c90: 08047273 .word 0x08047273 { case DiagUs1: menupos = DiagOp1; 8046c94: 4b2e ldr r3, [pc, #184] ; (8046d50 ) 8046c96: 2202 movs r2, #2 8046c98: 701a strb r2, [r3, #0] CURR_USL = Us1; 8046c9a: 4b31 ldr r3, [pc, #196] ; (8046d60 ) 8046c9c: 2200 movs r2, #0 8046c9e: 701a strb r2, [r3, #0] break; 8046ca0: e2ff b.n 80472a2 case DiagOp1: if(!focused) 8046ca2: 4b2c ldr r3, [pc, #176] ; (8046d54 ) 8046ca4: 781b ldrb r3, [r3, #0] 8046ca6: b2db uxtb r3, r3 8046ca8: f083 0301 eor.w r3, r3, #1 8046cac: b2db uxtb r3, r3 8046cae: 2b00 cmp r3, #0 8046cb0: d006 beq.n 8046cc0 { menupos = DiagUs2; 8046cb2: 4b27 ldr r3, [pc, #156] ; (8046d50 ) 8046cb4: 2203 movs r2, #3 8046cb6: 701a strb r2, [r3, #0] CURR_USL = Us2; 8046cb8: 4b29 ldr r3, [pc, #164] ; (8046d60 ) 8046cba: 2201 movs r2, #1 8046cbc: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; } break; 8046cbe: e2f0 b.n 80472a2 pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; 8046cc0: 4b28 ldr r3, [pc, #160] ; (8046d64 ) 8046cc2: 781b ldrb r3, [r3, #0] 8046cc4: b2db uxtb r3, r3 8046cc6: 4618 mov r0, r3 8046cc8: 4a23 ldr r2, [pc, #140] ; (8046d58 ) 8046cca: 3386 adds r3, #134 ; 0x86 8046ccc: 009b lsls r3, r3, #2 8046cce: 4413 add r3, r2 8046cd0: 791b ldrb r3, [r3, #4] 8046cd2: b2db uxtb r3, r3 8046cd4: f083 0301 eor.w r3, r3, #1 8046cd8: b2d9 uxtb r1, r3 8046cda: 4a1f ldr r2, [pc, #124] ; (8046d58 ) 8046cdc: f100 0386 add.w r3, r0, #134 ; 0x86 8046ce0: 009b lsls r3, r3, #2 8046ce2: 4413 add r3, r2 8046ce4: 460a mov r2, r1 8046ce6: 711a strb r2, [r3, #4] break; 8046ce8: e2db b.n 80472a2 case DiagUs2: menupos = DiagOp2; 8046cea: 4b19 ldr r3, [pc, #100] ; (8046d50 ) 8046cec: 2204 movs r2, #4 8046cee: 701a strb r2, [r3, #0] CURR_USL = Us2; 8046cf0: 4b1b ldr r3, [pc, #108] ; (8046d60 ) 8046cf2: 2201 movs r2, #1 8046cf4: 701a strb r2, [r3, #0] break; 8046cf6: e2d4 b.n 80472a2 case DiagOp2: if(!focused) 8046cf8: 4b16 ldr r3, [pc, #88] ; (8046d54 ) 8046cfa: 781b ldrb r3, [r3, #0] 8046cfc: b2db uxtb r3, r3 8046cfe: f083 0301 eor.w r3, r3, #1 8046d02: b2db uxtb r3, r3 8046d04: 2b00 cmp r3, #0 8046d06: d006 beq.n 8046d16 { menupos = DiagUs3; 8046d08: 4b11 ldr r3, [pc, #68] ; (8046d50 ) 8046d0a: 2205 movs r2, #5 8046d0c: 701a strb r2, [r3, #0] CURR_USL = Us3; 8046d0e: 4b14 ldr r3, [pc, #80] ; (8046d60 ) 8046d10: 2202 movs r2, #2 8046d12: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; } break; 8046d14: e2c5 b.n 80472a2 pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; 8046d16: 4b13 ldr r3, [pc, #76] ; (8046d64 ) 8046d18: 781b ldrb r3, [r3, #0] 8046d1a: b2db uxtb r3, r3 8046d1c: 4618 mov r0, r3 8046d1e: 4a0e ldr r2, [pc, #56] ; (8046d58 ) 8046d20: 009b lsls r3, r3, #2 8046d22: 4413 add r3, r2 8046d24: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 8046d28: b2db uxtb r3, r3 8046d2a: f083 0301 eor.w r3, r3, #1 8046d2e: b2d9 uxtb r1, r3 8046d30: 4a09 ldr r2, [pc, #36] ; (8046d58 ) 8046d32: 0083 lsls r3, r0, #2 8046d34: 4413 add r3, r2 8046d36: 460a mov r2, r1 8046d38: f883 221d strb.w r2, [r3, #541] ; 0x21d break; 8046d3c: e2b1 b.n 80472a2 case DiagUs3: menupos = DiagUs1; 8046d3e: 4b04 ldr r3, [pc, #16] ; (8046d50 ) 8046d40: 2201 movs r2, #1 8046d42: 701a strb r2, [r3, #0] CURR_USL = Us1; 8046d44: 4b06 ldr r3, [pc, #24] ; (8046d60 ) 8046d46: 2200 movs r2, #0 8046d48: 701a strb r2, [r3, #0] break; 8046d4a: e2aa b.n 80472a2 8046d4c: 20020fbd .word 0x20020fbd 8046d50: 20020070 .word 0x20020070 8046d54: 20020fc8 .word 0x20020fc8 8046d58: 20023ea8 .word 0x20023ea8 8046d5c: 20020e9c .word 0x20020e9c 8046d60: 20021057 .word 0x20021057 8046d64: 20021055 .word 0x20021055 case DiagAVS: if(focused) 8046d68: 4bc5 ldr r3, [pc, #788] ; (8047080 ) 8046d6a: 781b ldrb r3, [r3, #0] 8046d6c: b2db uxtb r3, r3 8046d6e: 2b00 cmp r3, #0 8046d70: f000 817a beq.w 8047068 { tmp8 = pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7; 8046d74: 4bc3 ldr r3, [pc, #780] ; (8047084 ) 8046d76: 781b ldrb r3, [r3, #0] 8046d78: b2db uxtb r3, r3 8046d7a: 4618 mov r0, r3 8046d7c: 4bc2 ldr r3, [pc, #776] ; (8047088 ) 8046d7e: 781b ldrb r3, [r3, #0] 8046d80: b2db uxtb r3, r3 8046d82: 4619 mov r1, r3 8046d84: 4ac1 ldr r2, [pc, #772] ; (804708c ) 8046d86: 0083 lsls r3, r0, #2 8046d88: 4413 add r3, r2 8046d8a: 440b add r3, r1 8046d8c: f503 730f add.w r3, r3, #572 ; 0x23c 8046d90: 781b ldrb r3, [r3, #0] 8046d92: b2db uxtb r3, r3 8046d94: f003 0307 and.w r3, r3, #7 8046d98: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_NO) tmp8 = DIAGN_ACC; 8046d9c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046da0: 2b00 cmp r3, #0 8046da2: d103 bne.n 8046dac 8046da4: 2301 movs r3, #1 8046da6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8046daa: e016 b.n 8046dda else if(tmp8 == DIAGN_ACC) tmp8 = DIAGN_VEL; 8046dac: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046db0: 2b01 cmp r3, #1 8046db2: d103 bne.n 8046dbc 8046db4: 2302 movs r3, #2 8046db6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8046dba: e00e b.n 8046dda else if(tmp8 == DIAGN_VEL) tmp8 = DIAGN_DIS; 8046dbc: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046dc0: 2b02 cmp r3, #2 8046dc2: d103 bne.n 8046dcc 8046dc4: 2304 movs r3, #4 8046dc6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8046dca: e006 b.n 8046dda else if(tmp8 == DIAGN_DIS) tmp8 = DIAGN_NO; 8046dcc: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046dd0: 2b04 cmp r3, #4 8046dd2: d102 bne.n 8046dda 8046dd4: 2300 movs r3, #0 8046dd6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0xf8; 8046dda: 4baa ldr r3, [pc, #680] ; (8047084 ) 8046ddc: 781b ldrb r3, [r3, #0] 8046dde: b2da uxtb r2, r3 8046de0: 4614 mov r4, r2 8046de2: 4ba9 ldr r3, [pc, #676] ; (8047088 ) 8046de4: 781b ldrb r3, [r3, #0] 8046de6: b2db uxtb r3, r3 8046de8: 4618 mov r0, r3 8046dea: 4615 mov r5, r2 8046dec: 4619 mov r1, r3 8046dee: 4aa7 ldr r2, [pc, #668] ; (804708c ) 8046df0: 00ab lsls r3, r5, #2 8046df2: 4413 add r3, r2 8046df4: 440b add r3, r1 8046df6: f503 730f add.w r3, r3, #572 ; 0x23c 8046dfa: 781b ldrb r3, [r3, #0] 8046dfc: b2db uxtb r3, r3 8046dfe: f023 0307 bic.w r3, r3, #7 8046e02: b2d9 uxtb r1, r3 8046e04: 4aa1 ldr r2, [pc, #644] ; (804708c ) 8046e06: 00a3 lsls r3, r4, #2 8046e08: 4413 add r3, r2 8046e0a: 4403 add r3, r0 8046e0c: f503 730f add.w r3, r3, #572 ; 0x23c 8046e10: 460a mov r2, r1 8046e12: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= tmp8; 8046e14: 4b9b ldr r3, [pc, #620] ; (8047084 ) 8046e16: 781b ldrb r3, [r3, #0] 8046e18: b2da uxtb r2, r3 8046e1a: 4614 mov r4, r2 8046e1c: 4b9a ldr r3, [pc, #616] ; (8047088 ) 8046e1e: 781b ldrb r3, [r3, #0] 8046e20: b2db uxtb r3, r3 8046e22: 4618 mov r0, r3 8046e24: 4615 mov r5, r2 8046e26: 4619 mov r1, r3 8046e28: 4a98 ldr r2, [pc, #608] ; (804708c ) 8046e2a: 00ab lsls r3, r5, #2 8046e2c: 4413 add r3, r2 8046e2e: 440b add r3, r1 8046e30: f503 730f add.w r3, r3, #572 ; 0x23c 8046e34: 781b ldrb r3, [r3, #0] 8046e36: b2da uxtb r2, r3 8046e38: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046e3c: 4313 orrs r3, r2 8046e3e: b2d9 uxtb r1, r3 8046e40: 4a92 ldr r2, [pc, #584] ; (804708c ) 8046e42: 00a3 lsls r3, r4, #2 8046e44: 4413 add r3, r2 8046e46: 4403 add r3, r0 8046e48: f503 730f add.w r3, r3, #572 ; 0x23c 8046e4c: 460a mov r2, r1 8046e4e: 701a strb r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) > DIAGN_ACC) 8046e50: 4b8c ldr r3, [pc, #560] ; (8047084 ) 8046e52: 781b ldrb r3, [r3, #0] 8046e54: b2db uxtb r3, r3 8046e56: 4618 mov r0, r3 8046e58: 4b8b ldr r3, [pc, #556] ; (8047088 ) 8046e5a: 781b ldrb r3, [r3, #0] 8046e5c: b2db uxtb r3, r3 8046e5e: 4619 mov r1, r3 8046e60: 4a8a ldr r2, [pc, #552] ; (804708c ) 8046e62: 0083 lsls r3, r0, #2 8046e64: 4413 add r3, r2 8046e66: 440b add r3, r1 8046e68: f503 730f add.w r3, r3, #572 ; 0x23c 8046e6c: 781b ldrb r3, [r3, #0] 8046e6e: b2db uxtb r3, r3 8046e70: f003 0307 and.w r3, r3, #7 8046e74: 2b01 cmp r3, #1 8046e76: f340 8086 ble.w 8046f86 { if(pardata.DIAGN_HP[CURR_POINT][CURR_USL] < 2.0f) 8046e7a: 4b82 ldr r3, [pc, #520] ; (8047084 ) 8046e7c: 781b ldrb r3, [r3, #0] 8046e7e: b2db uxtb r3, r3 8046e80: 4618 mov r0, r3 8046e82: 4b81 ldr r3, [pc, #516] ; (8047088 ) 8046e84: 781b ldrb r3, [r3, #0] 8046e86: b2db uxtb r3, r3 8046e88: 4619 mov r1, r3 8046e8a: 4a80 ldr r2, [pc, #512] ; (804708c ) 8046e8c: 0083 lsls r3, r0, #2 8046e8e: 440b add r3, r1 8046e90: 3396 adds r3, #150 ; 0x96 8046e92: 009b lsls r3, r3, #2 8046e94: 4413 add r3, r2 8046e96: 3304 adds r3, #4 8046e98: edd3 7a00 vldr s15, [r3] 8046e9c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8046ea0: eef4 7ac7 vcmpe.f32 s15, s14 8046ea4: eef1 fa10 vmrs APSR_nzcv, fpscr 8046ea8: d511 bpl.n 8046ece pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 8046eaa: 4b76 ldr r3, [pc, #472] ; (8047084 ) 8046eac: 781b ldrb r3, [r3, #0] 8046eae: b2db uxtb r3, r3 8046eb0: 4618 mov r0, r3 8046eb2: 4b75 ldr r3, [pc, #468] ; (8047088 ) 8046eb4: 781b ldrb r3, [r3, #0] 8046eb6: b2db uxtb r3, r3 8046eb8: 4619 mov r1, r3 8046eba: 4a74 ldr r2, [pc, #464] ; (804708c ) 8046ebc: 0083 lsls r3, r0, #2 8046ebe: 440b add r3, r1 8046ec0: 3396 adds r3, #150 ; 0x96 8046ec2: 009b lsls r3, r3, #2 8046ec4: 4413 add r3, r2 8046ec6: 3304 adds r3, #4 8046ec8: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8046ecc: 601a str r2, [r3, #0] tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 8046ece: 4b6d ldr r3, [pc, #436] ; (8047084 ) 8046ed0: 781b ldrb r3, [r3, #0] 8046ed2: b2db uxtb r3, r3 8046ed4: 4618 mov r0, r3 8046ed6: 4b6c ldr r3, [pc, #432] ; (8047088 ) 8046ed8: 781b ldrb r3, [r3, #0] 8046eda: b2db uxtb r3, r3 8046edc: 4619 mov r1, r3 8046ede: 4a6b ldr r2, [pc, #428] ; (804708c ) 8046ee0: 0083 lsls r3, r0, #2 8046ee2: 4413 add r3, r2 8046ee4: 440b add r3, r1 8046ee6: f503 730f add.w r3, r3, #572 ; 0x23c 8046eea: 781b ldrb r3, [r3, #0] 8046eec: b2db uxtb r3, r3 8046eee: 08db lsrs r3, r3, #3 8046ef0: b2db uxtb r3, r3 8046ef2: f003 031f and.w r3, r3, #31 8046ef6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_EXCESS) { 8046efa: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046efe: 2b10 cmp r3, #16 8046f00: d102 bne.n 8046f08 tmp8 = DIAGN_PEAK; 8046f02: 2301 movs r3, #1 8046f04: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 } pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 8046f08: 4b5e ldr r3, [pc, #376] ; (8047084 ) 8046f0a: 781b ldrb r3, [r3, #0] 8046f0c: b2da uxtb r2, r3 8046f0e: 4614 mov r4, r2 8046f10: 4b5d ldr r3, [pc, #372] ; (8047088 ) 8046f12: 781b ldrb r3, [r3, #0] 8046f14: b2db uxtb r3, r3 8046f16: 4618 mov r0, r3 8046f18: 4615 mov r5, r2 8046f1a: 4619 mov r1, r3 8046f1c: 4a5b ldr r2, [pc, #364] ; (804708c ) 8046f1e: 00ab lsls r3, r5, #2 8046f20: 4413 add r3, r2 8046f22: 440b add r3, r1 8046f24: f503 730f add.w r3, r3, #572 ; 0x23c 8046f28: 781b ldrb r3, [r3, #0] 8046f2a: b2db uxtb r3, r3 8046f2c: f003 0307 and.w r3, r3, #7 8046f30: b2d9 uxtb r1, r3 8046f32: 4a56 ldr r2, [pc, #344] ; (804708c ) 8046f34: 00a3 lsls r3, r4, #2 8046f36: 4413 add r3, r2 8046f38: 4403 add r3, r0 8046f3a: f503 730f add.w r3, r3, #572 ; 0x23c 8046f3e: 460a mov r2, r1 8046f40: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 8046f42: 4b50 ldr r3, [pc, #320] ; (8047084 ) 8046f44: 781b ldrb r3, [r3, #0] 8046f46: b2da uxtb r2, r3 8046f48: 4614 mov r4, r2 8046f4a: 4b4f ldr r3, [pc, #316] ; (8047088 ) 8046f4c: 781b ldrb r3, [r3, #0] 8046f4e: b2db uxtb r3, r3 8046f50: 4618 mov r0, r3 8046f52: 4615 mov r5, r2 8046f54: 4619 mov r1, r3 8046f56: 4a4d ldr r2, [pc, #308] ; (804708c ) 8046f58: 00ab lsls r3, r5, #2 8046f5a: 4413 add r3, r2 8046f5c: 440b add r3, r1 8046f5e: f503 730f add.w r3, r3, #572 ; 0x23c 8046f62: 781b ldrb r3, [r3, #0] 8046f64: b2db uxtb r3, r3 8046f66: b25a sxtb r2, r3 8046f68: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046f6c: 00db lsls r3, r3, #3 8046f6e: b25b sxtb r3, r3 8046f70: 4313 orrs r3, r2 8046f72: b25b sxtb r3, r3 8046f74: b2d9 uxtb r1, r3 8046f76: 4a45 ldr r2, [pc, #276] ; (804708c ) 8046f78: 00a3 lsls r3, r4, #2 8046f7a: 4413 add r3, r2 8046f7c: 4403 add r3, r0 8046f7e: f503 730f add.w r3, r3, #572 ; 0x23c 8046f82: 460a mov r2, r1 8046f84: 701a strb r2, [r3, #0] } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.DIAGN_LP[CURR_POINT][CURR_USL]) + 0.00005f) < 5.0) 8046f86: 4b41 ldr r3, [pc, #260] ; (804708c ) 8046f88: 7adb ldrb r3, [r3, #11] 8046f8a: b2db uxtb r3, r3 8046f8c: 461a mov r2, r3 8046f8e: 4b40 ldr r3, [pc, #256] ; (8047090 ) 8046f90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046f94: ee07 3a90 vmov s15, r3 8046f98: eeb8 5b67 vcvt.f64.u32 d5, s15 8046f9c: 4b39 ldr r3, [pc, #228] ; (8047084 ) 8046f9e: 781b ldrb r3, [r3, #0] 8046fa0: b2db uxtb r3, r3 8046fa2: 4618 mov r0, r3 8046fa4: 4b38 ldr r3, [pc, #224] ; (8047088 ) 8046fa6: 781b ldrb r3, [r3, #0] 8046fa8: b2db uxtb r3, r3 8046faa: 4619 mov r1, r3 8046fac: 4a37 ldr r2, [pc, #220] ; (804708c ) 8046fae: 0083 lsls r3, r0, #2 8046fb0: 440b add r3, r1 8046fb2: 33b6 adds r3, #182 ; 0xb6 8046fb4: 009b lsls r3, r3, #2 8046fb6: 4413 add r3, r2 8046fb8: 3304 adds r3, #4 8046fba: edd3 7a00 vldr s15, [r3] 8046fbe: eeb7 6ae7 vcvt.f64.f32 d6, s15 8046fc2: ee85 7b06 vdiv.f64 d7, d5, d6 8046fc6: ed9f 6b2a vldr d6, [pc, #168] ; 8047070 8046fca: ee37 7b06 vadd.f64 d7, d7, d6 8046fce: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8046fd2: eeb4 7bc6 vcmpe.f64 d7, d6 8046fd6: eef1 fa10 vmrs APSR_nzcv, fpscr 8046fda: d400 bmi.n 8046fde pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; } } else menupos = Ok; break; 8046fdc: e161 b.n 80472a2 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5); 8046fde: 4b29 ldr r3, [pc, #164] ; (8047084 ) 8046fe0: 781b ldrb r3, [r3, #0] 8046fe2: b2db uxtb r3, r3 8046fe4: 4618 mov r0, r3 8046fe6: 4b28 ldr r3, [pc, #160] ; (8047088 ) 8046fe8: 781b ldrb r3, [r3, #0] 8046fea: b2db uxtb r3, r3 8046fec: 4619 mov r1, r3 8046fee: 4b27 ldr r3, [pc, #156] ; (804708c ) 8046ff0: 7adb ldrb r3, [r3, #11] 8046ff2: b2db uxtb r3, r3 8046ff4: 461a mov r2, r3 8046ff6: 4b26 ldr r3, [pc, #152] ; (8047090 ) 8046ff8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046ffc: 4a25 ldr r2, [pc, #148] ; (8047094 ) 8046ffe: fba2 2303 umull r2, r3, r2, r3 8047002: 089b lsrs r3, r3, #2 8047004: ee07 3a90 vmov s15, r3 8047008: eef8 7a67 vcvt.f32.u32 s15, s15 804700c: 4a1f ldr r2, [pc, #124] ; (804708c ) 804700e: 0083 lsls r3, r0, #2 8047010: 440b add r3, r1 8047012: 33b6 adds r3, #182 ; 0xb6 8047014: 009b lsls r3, r3, #2 8047016: 4413 add r3, r2 8047018: 3304 adds r3, #4 804701a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; 804701e: 4b19 ldr r3, [pc, #100] ; (8047084 ) 8047020: 781b ldrb r3, [r3, #0] 8047022: b2da uxtb r2, r3 8047024: 4610 mov r0, r2 8047026: 4b18 ldr r3, [pc, #96] ; (8047088 ) 8047028: 781b ldrb r3, [r3, #0] 804702a: b2db uxtb r3, r3 804702c: 4619 mov r1, r3 804702e: 4615 mov r5, r2 8047030: 461c mov r4, r3 8047032: 4a16 ldr r2, [pc, #88] ; (804708c ) 8047034: 00ab lsls r3, r5, #2 8047036: 4423 add r3, r4 8047038: 33b6 adds r3, #182 ; 0xb6 804703a: 009b lsls r3, r3, #2 804703c: 4413 add r3, r2 804703e: 3304 adds r3, #4 8047040: edd3 7a00 vldr s15, [r3] 8047044: eeb7 7ae7 vcvt.f64.f32 d7, s15 8047048: ed9f 6b0b vldr d6, [pc, #44] ; 8047078 804704c: ee37 7b06 vadd.f64 d7, d7, d6 8047050: eef7 7bc7 vcvt.f32.f64 s15, d7 8047054: 4a0d ldr r2, [pc, #52] ; (804708c ) 8047056: 0083 lsls r3, r0, #2 8047058: 440b add r3, r1 804705a: 33b6 adds r3, #182 ; 0xb6 804705c: 009b lsls r3, r3, #2 804705e: 4413 add r3, r2 8047060: 3304 adds r3, #4 8047062: edc3 7a00 vstr s15, [r3] break; 8047066: e11c b.n 80472a2 menupos = Ok; 8047068: 4b0b ldr r3, [pc, #44] ; (8047098 ) 804706a: 2200 movs r2, #0 804706c: 701a strb r2, [r3, #0] break; 804706e: e118 b.n 80472a2 8047070: e0000000 .word 0xe0000000 8047074: 3f0a36e2 .word 0x3f0a36e2 8047078: eb1c432d .word 0xeb1c432d 804707c: 3f1a36e2 .word 0x3f1a36e2 8047080: 20020fc8 .word 0x20020fc8 8047084: 20021055 .word 0x20021055 8047088: 20021057 .word 0x20021057 804708c: 20023ea8 .word 0x20023ea8 8047090: 080f2c08 .word 0x080f2c08 8047094: cccccccd .word 0xcccccccd 8047098: 20020070 .word 0x20020070 case DiagValue: if(focused) 804709c: 4bb5 ldr r3, [pc, #724] ; (8047374 ) 804709e: 781b ldrb r3, [r3, #0] 80470a0: b2db uxtb r3, r3 80470a2: 2b00 cmp r3, #0 80470a4: f000 8095 beq.w 80471d2 { tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 80470a8: 4bb3 ldr r3, [pc, #716] ; (8047378 ) 80470aa: 781b ldrb r3, [r3, #0] 80470ac: b2db uxtb r3, r3 80470ae: 4618 mov r0, r3 80470b0: 4bb2 ldr r3, [pc, #712] ; (804737c ) 80470b2: 781b ldrb r3, [r3, #0] 80470b4: b2db uxtb r3, r3 80470b6: 4619 mov r1, r3 80470b8: 4ab1 ldr r2, [pc, #708] ; (8047380 ) 80470ba: 0083 lsls r3, r0, #2 80470bc: 4413 add r3, r2 80470be: 440b add r3, r1 80470c0: f503 730f add.w r3, r3, #572 ; 0x23c 80470c4: 781b ldrb r3, [r3, #0] 80470c6: b2db uxtb r3, r3 80470c8: 08db lsrs r3, r3, #3 80470ca: b2db uxtb r3, r3 80470cc: f003 031f and.w r3, r3, #31 80470d0: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_PEAK) tmp8 = DIAGN_RMS; 80470d4: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80470d8: 2b01 cmp r3, #1 80470da: d103 bne.n 80470e4 80470dc: 2302 movs r3, #2 80470de: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80470e2: e036 b.n 8047152 else if(tmp8 == DIAGN_RMS) tmp8 = DIAGN_PEAK_TO_PEAK; 80470e4: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80470e8: 2b02 cmp r3, #2 80470ea: d103 bne.n 80470f4 80470ec: 2304 movs r3, #4 80470ee: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80470f2: e02e b.n 8047152 else if(tmp8 == DIAGN_PEAK_TO_PEAK) tmp8 = DIAGN_PEAK_FACTOR; 80470f4: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80470f8: 2b04 cmp r3, #4 80470fa: d103 bne.n 8047104 80470fc: 2308 movs r3, #8 80470fe: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8047102: e026 b.n 8047152 else if(tmp8 == DIAGN_PEAK_FACTOR) 8047104: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047108: 2b08 cmp r3, #8 804710a: d11b bne.n 8047144 { if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 804710c: 4b9a ldr r3, [pc, #616] ; (8047378 ) 804710e: 781b ldrb r3, [r3, #0] 8047110: b2db uxtb r3, r3 8047112: 4618 mov r0, r3 8047114: 4b99 ldr r3, [pc, #612] ; (804737c ) 8047116: 781b ldrb r3, [r3, #0] 8047118: b2db uxtb r3, r3 804711a: 4619 mov r1, r3 804711c: 4a98 ldr r2, [pc, #608] ; (8047380 ) 804711e: 0083 lsls r3, r0, #2 8047120: 4413 add r3, r2 8047122: 440b add r3, r1 8047124: f503 730f add.w r3, r3, #572 ; 0x23c 8047128: 781b ldrb r3, [r3, #0] 804712a: b2db uxtb r3, r3 804712c: f003 0307 and.w r3, r3, #7 8047130: 2b01 cmp r3, #1 8047132: d103 bne.n 804713c tmp8 = DIAGN_EXCESS; 8047134: 2310 movs r3, #16 8047136: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804713a: e00a b.n 8047152 else tmp8 = DIAGN_PEAK; 804713c: 2301 movs r3, #1 804713e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8047142: e006 b.n 8047152 } else if(tmp8 == DIAGN_EXCESS) tmp8 = DIAGN_PEAK; 8047144: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8047148: 2b10 cmp r3, #16 804714a: d102 bne.n 8047152 804714c: 2301 movs r3, #1 804714e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 8047152: 4b89 ldr r3, [pc, #548] ; (8047378 ) 8047154: 781b ldrb r3, [r3, #0] 8047156: b2da uxtb r2, r3 8047158: 4614 mov r4, r2 804715a: 4b88 ldr r3, [pc, #544] ; (804737c ) 804715c: 781b ldrb r3, [r3, #0] 804715e: b2db uxtb r3, r3 8047160: 4618 mov r0, r3 8047162: 4615 mov r5, r2 8047164: 4619 mov r1, r3 8047166: 4a86 ldr r2, [pc, #536] ; (8047380 ) 8047168: 00ab lsls r3, r5, #2 804716a: 4413 add r3, r2 804716c: 440b add r3, r1 804716e: f503 730f add.w r3, r3, #572 ; 0x23c 8047172: 781b ldrb r3, [r3, #0] 8047174: b2db uxtb r3, r3 8047176: f003 0307 and.w r3, r3, #7 804717a: b2d9 uxtb r1, r3 804717c: 4a80 ldr r2, [pc, #512] ; (8047380 ) 804717e: 00a3 lsls r3, r4, #2 8047180: 4413 add r3, r2 8047182: 4403 add r3, r0 8047184: f503 730f add.w r3, r3, #572 ; 0x23c 8047188: 460a mov r2, r1 804718a: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 804718c: 4b7a ldr r3, [pc, #488] ; (8047378 ) 804718e: 781b ldrb r3, [r3, #0] 8047190: b2da uxtb r2, r3 8047192: 4614 mov r4, r2 8047194: 4b79 ldr r3, [pc, #484] ; (804737c ) 8047196: 781b ldrb r3, [r3, #0] 8047198: b2db uxtb r3, r3 804719a: 4618 mov r0, r3 804719c: 4615 mov r5, r2 804719e: 4619 mov r1, r3 80471a0: 4a77 ldr r2, [pc, #476] ; (8047380 ) 80471a2: 00ab lsls r3, r5, #2 80471a4: 4413 add r3, r2 80471a6: 440b add r3, r1 80471a8: f503 730f add.w r3, r3, #572 ; 0x23c 80471ac: 781b ldrb r3, [r3, #0] 80471ae: b2db uxtb r3, r3 80471b0: b25a sxtb r2, r3 80471b2: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80471b6: 00db lsls r3, r3, #3 80471b8: b25b sxtb r3, r3 80471ba: 4313 orrs r3, r2 80471bc: b25b sxtb r3, r3 80471be: b2d9 uxtb r1, r3 80471c0: 4a6f ldr r2, [pc, #444] ; (8047380 ) 80471c2: 00a3 lsls r3, r4, #2 80471c4: 4413 add r3, r2 80471c6: 4403 add r3, r0 80471c8: f503 730f add.w r3, r3, #572 ; 0x23c 80471cc: 460a mov r2, r1 80471ce: 701a strb r2, [r3, #0] } else menupos = Ok; break; 80471d0: e067 b.n 80472a2 menupos = Ok; 80471d2: 4b6c ldr r3, [pc, #432] ; (8047384 ) 80471d4: 2200 movs r2, #0 80471d6: 701a strb r2, [r3, #0] break; 80471d8: e063 b.n 80472a2 case DiagHP: case DiagLP: case Diag_W: case Diag_A: menupos = Ok; 80471da: 4b6a ldr r3, [pc, #424] ; (8047384 ) 80471dc: 2200 movs r2, #0 80471de: 701a strb r2, [r3, #0] break; 80471e0: e05f b.n 80472a2 case DiagHP_IKD: menupos = DiagHP_IDT; break; 80471e2: 4b68 ldr r3, [pc, #416] ; (8047384 ) 80471e4: 220d movs r2, #13 80471e6: 701a strb r2, [r3, #0] 80471e8: e05b b.n 80472a2 case DiagHP_IEE: menupos = DiagHP_IKD; break; 80471ea: 4b66 ldr r3, [pc, #408] ; (8047384 ) 80471ec: 2212 movs r2, #18 80471ee: 701a strb r2, [r3, #0] 80471f0: e057 b.n 80472a2 case DiagHP_IED: menupos = DiagHP_IEE; break; 80471f2: 4b64 ldr r3, [pc, #400] ; (8047384 ) 80471f4: 2211 movs r2, #17 80471f6: 701a strb r2, [r3, #0] 80471f8: e053 b.n 80472a2 case DiagHP_IES: menupos = DiagHP_IED; break; 80471fa: 4b62 ldr r3, [pc, #392] ; (8047384 ) 80471fc: 2210 movs r2, #16 80471fe: 701a strb r2, [r3, #0] 8047200: e04f b.n 80472a2 case DiagHP_IET: menupos = DiagHP_IES; break; 8047202: 4b60 ldr r3, [pc, #384] ; (8047384 ) 8047204: 220f movs r2, #15 8047206: 701a strb r2, [r3, #0] 8047208: e04b b.n 80472a2 case DiagHP_IDT: menupos = DiagHP_IET; break; 804720a: 4b5e ldr r3, [pc, #376] ; (8047384 ) 804720c: 220e movs r2, #14 804720e: 701a strb r2, [r3, #0] 8047210: e047 b.n 80472a2 case DiagLP_IKD: menupos = DiagLP_IDT; break; 8047212: 4b5c ldr r3, [pc, #368] ; (8047384 ) 8047214: 2213 movs r2, #19 8047216: 701a strb r2, [r3, #0] 8047218: e043 b.n 80472a2 case DiagLP_IEE: menupos = DiagLP_IKD; break; 804721a: 4b5a ldr r3, [pc, #360] ; (8047384 ) 804721c: 2218 movs r2, #24 804721e: 701a strb r2, [r3, #0] 8047220: e03f b.n 80472a2 case DiagLP_IED: menupos = DiagLP_IEE; break; 8047222: 4b58 ldr r3, [pc, #352] ; (8047384 ) 8047224: 2217 movs r2, #23 8047226: 701a strb r2, [r3, #0] 8047228: e03b b.n 80472a2 case DiagLP_IES: menupos = DiagLP_IED; break; 804722a: 4b56 ldr r3, [pc, #344] ; (8047384 ) 804722c: 2216 movs r2, #22 804722e: 701a strb r2, [r3, #0] 8047230: e037 b.n 80472a2 case DiagLP_IET: menupos = DiagLP_IES; break; 8047232: 4b54 ldr r3, [pc, #336] ; (8047384 ) 8047234: 2215 movs r2, #21 8047236: 701a strb r2, [r3, #0] 8047238: e033 b.n 80472a2 case DiagLP_IDT: menupos = DiagLP_IET; break; 804723a: 4b52 ldr r3, [pc, #328] ; (8047384 ) 804723c: 2214 movs r2, #20 804723e: 701a strb r2, [r3, #0] 8047240: e02f b.n 80472a2 case DiagW_IKD: menupos = DiagW_IDT; break; 8047242: 4b50 ldr r3, [pc, #320] ; (8047384 ) 8047244: 2219 movs r2, #25 8047246: 701a strb r2, [r3, #0] 8047248: e02b b.n 80472a2 case DiagW_IEE: menupos = DiagW_IKD; break; 804724a: 4b4e ldr r3, [pc, #312] ; (8047384 ) 804724c: 221e movs r2, #30 804724e: 701a strb r2, [r3, #0] 8047250: e027 b.n 80472a2 case DiagW_IED: menupos = DiagW_IEE; break; 8047252: 4b4c ldr r3, [pc, #304] ; (8047384 ) 8047254: 221d movs r2, #29 8047256: 701a strb r2, [r3, #0] 8047258: e023 b.n 80472a2 case DiagW_IES: menupos = DiagW_IED; break; 804725a: 4b4a ldr r3, [pc, #296] ; (8047384 ) 804725c: 221c movs r2, #28 804725e: 701a strb r2, [r3, #0] 8047260: e01f b.n 80472a2 case DiagW_IET: menupos = DiagW_IES; break; 8047262: 4b48 ldr r3, [pc, #288] ; (8047384 ) 8047264: 221b movs r2, #27 8047266: 701a strb r2, [r3, #0] 8047268: e01b b.n 80472a2 case DiagW_IDT: menupos = DiagW_IET; break; 804726a: 4b46 ldr r3, [pc, #280] ; (8047384 ) 804726c: 221a movs r2, #26 804726e: 701a strb r2, [r3, #0] 8047270: e017 b.n 80472a2 case DiagA_IKD: menupos = DiagA_IDT; break; 8047272: 4b44 ldr r3, [pc, #272] ; (8047384 ) 8047274: 221f movs r2, #31 8047276: 701a strb r2, [r3, #0] 8047278: e013 b.n 80472a2 case DiagA_IEE: menupos = DiagA_IKD; break; 804727a: 4b42 ldr r3, [pc, #264] ; (8047384 ) 804727c: 2224 movs r2, #36 ; 0x24 804727e: 701a strb r2, [r3, #0] 8047280: e00f b.n 80472a2 case DiagA_IED: menupos = DiagA_IEE; break; 8047282: 4b40 ldr r3, [pc, #256] ; (8047384 ) 8047284: 2223 movs r2, #35 ; 0x23 8047286: 701a strb r2, [r3, #0] 8047288: e00b b.n 80472a2 case DiagA_IES: menupos = DiagA_IED; break; 804728a: 4b3e ldr r3, [pc, #248] ; (8047384 ) 804728c: 2222 movs r2, #34 ; 0x22 804728e: 701a strb r2, [r3, #0] 8047290: e007 b.n 80472a2 case DiagA_IET: menupos = DiagA_IES; break; 8047292: 4b3c ldr r3, [pc, #240] ; (8047384 ) 8047294: 2221 movs r2, #33 ; 0x21 8047296: 701a strb r2, [r3, #0] 8047298: e003 b.n 80472a2 case DiagA_IDT: menupos = DiagA_IET; break; 804729a: 4b3a ldr r3, [pc, #232] ; (8047384 ) 804729c: 2220 movs r2, #32 804729e: 701a strb r2, [r3, #0] 80472a0: bf00 nop } break; 80472a2: f002 b9e6 b.w 8049672 case TREND_A: case TREND_V: case TREND_S: if(menupos < Trend_excess) menupos++; 80472a6: 4b37 ldr r3, [pc, #220] ; (8047384 ) 80472a8: 781b ldrb r3, [r3, #0] 80472aa: b2db uxtb r3, r3 80472ac: 2b03 cmp r3, #3 80472ae: d808 bhi.n 80472c2 80472b0: 4b34 ldr r3, [pc, #208] ; (8047384 ) 80472b2: 781b ldrb r3, [r3, #0] 80472b4: b2db uxtb r3, r3 80472b6: 3301 adds r3, #1 80472b8: b2da uxtb r2, r3 80472ba: 4b32 ldr r3, [pc, #200] ; (8047384 ) 80472bc: 701a strb r2, [r3, #0] else menupos = Trend_pk; break; 80472be: f002 ba38 b.w 8049732 else menupos = Trend_pk; 80472c2: 4b30 ldr r3, [pc, #192] ; (8047384 ) 80472c4: 2200 movs r2, #0 80472c6: 701a strb r2, [r3, #0] break; 80472c8: f002 ba33 b.w 8049732 case MAIN_UDAR: break; case MAIN_DIAGN: switch(menupos) 80472cc: 4b2d ldr r3, [pc, #180] ; (8047384 ) 80472ce: 781b ldrb r3, [r3, #0] 80472d0: b2db uxtb r3, r3 80472d2: 2b04 cmp r3, #4 80472d4: f202 81d0 bhi.w 8049678 80472d8: a201 add r2, pc, #4 ; (adr r2, 80472e0 ) 80472da: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80472de: bf00 nop 80472e0: 080472f5 .word 0x080472f5 80472e4: 08049679 .word 0x08049679 80472e8: 0804730d .word 0x0804730d 80472ec: 080472fd .word 0x080472fd 80472f0: 08047305 .word 0x08047305 { case StartStop: menupos = MyPoint; break; 80472f4: 4b23 ldr r3, [pc, #140] ; (8047384 ) 80472f6: 2203 movs r2, #3 80472f8: 701a strb r2, [r3, #0] 80472fa: e00b b.n 8047314 case MyPoint: menupos = MyMeasure; break; 80472fc: 4b21 ldr r3, [pc, #132] ; (8047384 ) 80472fe: 2204 movs r2, #4 8047300: 701a strb r2, [r3, #0] 8047302: e007 b.n 8047314 case MyMeasure: menupos = Record; break; 8047304: 4b1f ldr r3, [pc, #124] ; (8047384 ) 8047306: 2202 movs r2, #2 8047308: 701a strb r2, [r3, #0] 804730a: e003 b.n 8047314 case Record: menupos = StartStop; break; 804730c: 4b1d ldr r3, [pc, #116] ; (8047384 ) 804730e: 2200 movs r2, #0 8047310: 701a strb r2, [r3, #0] 8047312: bf00 nop } break; 8047314: f002 b9b0 b.w 8049678 case MAIN: case MAIN_FRAN: switch(menupos) 8047318: 4b1a ldr r3, [pc, #104] ; (8047384 ) 804731a: 781b ldrb r3, [r3, #0] 804731c: b2db uxtb r3, r3 804731e: 2b06 cmp r3, #6 8047320: f202 81ad bhi.w 804967e 8047324: a201 add r2, pc, #4 ; (adr r2, 804732c ) 8047326: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804732a: bf00 nop 804732c: 08047349 .word 0x08047349 8047330: 0804967f .word 0x0804967f 8047334: 08047369 .word 0x08047369 8047338: 08047359 .word 0x08047359 804733c: 08047361 .word 0x08047361 8047340: 0804967f .word 0x0804967f 8047344: 08047351 .word 0x08047351 { case StartStop: menupos = MyLinLog; break; 8047348: 4b0e ldr r3, [pc, #56] ; (8047384 ) 804734a: 2206 movs r2, #6 804734c: 701a strb r2, [r3, #0] 804734e: e00f b.n 8047370 case MyLinLog: menupos = MyPoint; break; 8047350: 4b0c ldr r3, [pc, #48] ; (8047384 ) 8047352: 2203 movs r2, #3 8047354: 701a strb r2, [r3, #0] 8047356: e00b b.n 8047370 case MyPoint: menupos = MyMeasure; break; 8047358: 4b0a ldr r3, [pc, #40] ; (8047384 ) 804735a: 2204 movs r2, #4 804735c: 701a strb r2, [r3, #0] 804735e: e007 b.n 8047370 case MyMeasure: menupos = Record; break; 8047360: 4b08 ldr r3, [pc, #32] ; (8047384 ) 8047362: 2202 movs r2, #2 8047364: 701a strb r2, [r3, #0] 8047366: e003 b.n 8047370 case Record: menupos = StartStop; break; 8047368: 4b06 ldr r3, [pc, #24] ; (8047384 ) 804736a: 2200 movs r2, #0 804736c: 701a strb r2, [r3, #0] 804736e: bf00 nop } break; 8047370: f002 b985 b.w 804967e 8047374: 20020fc8 .word 0x20020fc8 8047378: 20021055 .word 0x20021055 804737c: 20021057 .word 0x20021057 8047380: 20023ea8 .word 0x20023ea8 8047384: 20020070 .word 0x20020070 case MAIN_OSC: switch(menupos) 8047388: 4ba8 ldr r3, [pc, #672] ; (804762c ) 804738a: 781b ldrb r3, [r3, #0] 804738c: b2db uxtb r3, r3 804738e: 2b00 cmp r3, #0 8047390: f2c2 8178 blt.w 8049684 8047394: 2b05 cmp r3, #5 8047396: dd03 ble.n 80473a0 8047398: 2b06 cmp r3, #6 804739a: d01d beq.n 80473d8 rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; } break; 804739c: f002 b972 b.w 8049684 if((!FIRST) && (Stability > (Nr * 4))) 80473a0: 4ba3 ldr r3, [pc, #652] ; (8047630 ) 80473a2: 781b ldrb r3, [r3, #0] 80473a4: b2db uxtb r3, r3 80473a6: f083 0301 eor.w r3, r3, #1 80473aa: b2db uxtb r3, r3 80473ac: 2b00 cmp r3, #0 80473ae: f000 8101 beq.w 80475b4 80473b2: 4ba0 ldr r3, [pc, #640] ; (8047634 ) 80473b4: 881b ldrh r3, [r3, #0] 80473b6: b29b uxth r3, r3 80473b8: 009b lsls r3, r3, #2 80473ba: 461a mov r2, r3 80473bc: 4b9e ldr r3, [pc, #632] ; (8047638 ) 80473be: 681b ldr r3, [r3, #0] 80473c0: 429a cmp r2, r3 80473c2: f080 80f7 bcs.w 80475b4 lastmenupos = menupos; 80473c6: 4b99 ldr r3, [pc, #612] ; (804762c ) 80473c8: 781b ldrb r3, [r3, #0] 80473ca: b2da uxtb r2, r3 80473cc: 4b9b ldr r3, [pc, #620] ; (804763c ) 80473ce: 701a strb r2, [r3, #0] menupos = Cursor; 80473d0: 4b96 ldr r3, [pc, #600] ; (804762c ) 80473d2: 2206 movs r2, #6 80473d4: 701a strb r2, [r3, #0] break; 80473d6: e0ed b.n 80475b4 lvl_0 = 0; 80473d8: 2300 movs r3, #0 80473da: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 80473de: 4b98 ldr r3, [pc, #608] ; (8047640 ) 80473e0: 781b ldrb r3, [r3, #0] 80473e2: b2db uxtb r3, r3 80473e4: 461a mov r2, r3 80473e6: 4613 mov r3, r2 80473e8: 009b lsls r3, r3, #2 80473ea: 4413 add r3, r2 80473ec: 4a95 ldr r2, [pc, #596] ; (8047644 ) 80473ee: 79d2 ldrb r2, [r2, #7] 80473f0: b2d2 uxtb r2, r2 80473f2: 4413 add r3, r2 80473f4: 4a94 ldr r2, [pc, #592] ; (8047648 ) 80473f6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80473fa: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 80473fe: 2301 movs r3, #1 8047400: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 8047404: f44f 7380 mov.w r3, #256 ; 0x100 8047408: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 224 * multA_u16; 804740c: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8047410: 4613 mov r3, r2 8047412: 00db lsls r3, r3, #3 8047414: 1a9b subs r3, r3, r2 8047416: 015b lsls r3, r3, #5 8047418: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[0][5 * lvl_0 + pardata.LNE] - Avg[0][5 * ViewLevel + pardata.LNE]; 804741c: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8047420: 4613 mov r3, r2 8047422: 009b lsls r3, r3, #2 8047424: 4413 add r3, r2 8047426: 4a87 ldr r2, [pc, #540] ; (8047644 ) 8047428: 79d2 ldrb r2, [r2, #7] 804742a: b2d2 uxtb r2, r2 804742c: 4413 add r3, r2 804742e: 4a86 ldr r2, [pc, #536] ; (8047648 ) 8047430: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8047434: 461a mov r2, r3 8047436: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804743a: fb03 f202 mul.w r2, r3, r2 804743e: 4b80 ldr r3, [pc, #512] ; (8047640 ) 8047440: 781b ldrb r3, [r3, #0] 8047442: b2db uxtb r3, r3 8047444: 4619 mov r1, r3 8047446: 460b mov r3, r1 8047448: 009b lsls r3, r3, #2 804744a: 440b add r3, r1 804744c: 497d ldr r1, [pc, #500] ; (8047644 ) 804744e: 79c9 ldrb r1, [r1, #7] 8047450: b2c9 uxtb r1, r1 8047452: 440b add r3, r1 8047454: 497c ldr r1, [pc, #496] ; (8047648 ) 8047456: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 804745a: 1ad3 subs r3, r2, r3 804745c: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 8047460: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047464: b29b uxth r3, r3 8047466: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804746a: fb12 f303 smulbb r3, r2, r3 804746e: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if((multB_u16 + Mpos) >= j) 8047472: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8047476: 4a75 ldr r2, [pc, #468] ; (804764c ) 8047478: 8812 ldrh r2, [r2, #0] 804747a: b292 uxth r2, r2 804747c: 4413 add r3, r2 804747e: 461a mov r2, r3 8047480: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8047484: 429a cmp r2, r3 8047486: d332 bcc.n 80474ee rX = k * Avg[0][5 * lvl_0 + pardata.LNE]; 8047488: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804748c: 4613 mov r3, r2 804748e: 009b lsls r3, r3, #2 8047490: 4413 add r3, r2 8047492: 4a6c ldr r2, [pc, #432] ; (8047644 ) 8047494: 79d2 ldrb r2, [r2, #7] 8047496: b2d2 uxtb r2, r2 8047498: 4413 add r3, r2 804749a: 4a6b ldr r2, [pc, #428] ; (8047648 ) 804749c: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 80474a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80474a4: b29b uxth r3, r3 80474a6: fb12 f303 smulbb r3, r2, r3 80474aa: b29a uxth r2, r3 80474ac: 4b68 ldr r3, [pc, #416] ; (8047650 ) 80474ae: 801a strh r2, [r3, #0] X0 = rX - k * multA_u16; 80474b0: 4b67 ldr r3, [pc, #412] ; (8047650 ) 80474b2: 881b ldrh r3, [r3, #0] 80474b4: b29a uxth r2, r3 80474b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80474ba: b29b uxth r3, r3 80474bc: f8b7 109e ldrh.w r1, [r7, #158] ; 0x9e 80474c0: fb11 f303 smulbb r3, r1, r3 80474c4: b29b uxth r3, r3 80474c6: 1ad3 subs r3, r2, r3 80474c8: b29a uxth r2, r3 80474ca: 4b62 ldr r3, [pc, #392] ; (8047654 ) 80474cc: 801a strh r2, [r3, #0] lX = X0; 80474ce: 4b61 ldr r3, [pc, #388] ; (8047654 ) 80474d0: 881b ldrh r3, [r3, #0] 80474d2: b29a uxth r2, r3 80474d4: 4b60 ldr r3, [pc, #384] ; (8047658 ) 80474d6: 801a strh r2, [r3, #0] CURSOR = k - 1; 80474d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80474dc: 3b01 subs r3, #1 80474de: 4a5f ldr r2, [pc, #380] ; (804765c ) 80474e0: 6013 str r3, [r2, #0] Mpos = j; 80474e2: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80474e6: b29a uxth r2, r3 80474e8: 4b58 ldr r3, [pc, #352] ; (804764c ) 80474ea: 801a strh r2, [r3, #0] break; 80474ec: e063 b.n 80475b6 Mpos += multB_u16; 80474ee: 4b57 ldr r3, [pc, #348] ; (804764c ) 80474f0: 881b ldrh r3, [r3, #0] 80474f2: b29a uxth r2, r3 80474f4: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 80474f8: 4413 add r3, r2 80474fa: b29a uxth r2, r3 80474fc: 4b53 ldr r3, [pc, #332] ; (804764c ) 80474fe: 801a strh r2, [r3, #0] if(Mpos >= rX) 8047500: 4b52 ldr r3, [pc, #328] ; (804764c ) 8047502: 881b ldrh r3, [r3, #0] 8047504: b29a uxth r2, r3 8047506: 4b52 ldr r3, [pc, #328] ; (8047650 ) 8047508: 881b ldrh r3, [r3, #0] 804750a: b29b uxth r3, r3 804750c: 429a cmp r2, r3 804750e: d32d bcc.n 804756c if((Mpos + d) <= j) 8047510: 4b4e ldr r3, [pc, #312] ; (804764c ) 8047512: 881b ldrh r3, [r3, #0] 8047514: b29b uxth r3, r3 8047516: 461a mov r2, r3 8047518: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 804751c: 441a add r2, r3 804751e: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8047522: 429a cmp r2, r3 8047524: d80a bhi.n 804753c X0 += d; 8047526: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 804752a: b29a uxth r2, r3 804752c: 4b49 ldr r3, [pc, #292] ; (8047654 ) 804752e: 881b ldrh r3, [r3, #0] 8047530: b29b uxth r3, r3 8047532: 4413 add r3, r2 8047534: b29a uxth r2, r3 8047536: 4b47 ldr r3, [pc, #284] ; (8047654 ) 8047538: 801a strh r2, [r3, #0] 804753a: e017 b.n 804756c X0 = k * (Avg[0][5 * lvl_0 + pardata.LNE] - multA_u16); 804753c: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8047540: 4613 mov r3, r2 8047542: 009b lsls r3, r3, #2 8047544: 4413 add r3, r2 8047546: 4a3f ldr r2, [pc, #252] ; (8047644 ) 8047548: 79d2 ldrb r2, [r2, #7] 804754a: b2d2 uxtb r2, r2 804754c: 4413 add r3, r2 804754e: 4a3e ldr r2, [pc, #248] ; (8047648 ) 8047550: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 8047554: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8047558: 1ad3 subs r3, r2, r3 804755a: b29a uxth r2, r3 804755c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047560: b29b uxth r3, r3 8047562: fb12 f303 smulbb r3, r2, r3 8047566: b29a uxth r2, r3 8047568: 4b3a ldr r3, [pc, #232] ; (8047654 ) 804756a: 801a strh r2, [r3, #0] lX = X0; 804756c: 4b39 ldr r3, [pc, #228] ; (8047654 ) 804756e: 881b ldrh r3, [r3, #0] 8047570: b29a uxth r2, r3 8047572: 4b39 ldr r3, [pc, #228] ; (8047658 ) 8047574: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 8047576: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804757a: b29b uxth r3, r3 804757c: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8047580: fb12 f303 smulbb r3, r2, r3 8047584: b29a uxth r2, r3 8047586: 4b33 ldr r3, [pc, #204] ; (8047654 ) 8047588: 881b ldrh r3, [r3, #0] 804758a: b29b uxth r3, r3 804758c: 4413 add r3, r2 804758e: b29a uxth r2, r3 8047590: 4b2f ldr r3, [pc, #188] ; (8047650 ) 8047592: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 8047594: 4b2d ldr r3, [pc, #180] ; (804764c ) 8047596: 881b ldrh r3, [r3, #0] 8047598: b29b uxth r3, r3 804759a: 461a mov r2, r3 804759c: 4b2d ldr r3, [pc, #180] ; (8047654 ) 804759e: 881b ldrh r3, [r3, #0] 80475a0: b29b uxth r3, r3 80475a2: 1ad2 subs r2, r2, r3 80475a4: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 80475a8: fb92 f3f3 sdiv r3, r2, r3 80475ac: 461a mov r2, r3 80475ae: 4b2b ldr r3, [pc, #172] ; (804765c ) 80475b0: 601a str r2, [r3, #0] break; 80475b2: e000 b.n 80475b6 break; 80475b4: bf00 nop break; 80475b6: f002 b865 b.w 8049684 case VIEW_PORTRET: case MAIN_ROLL: case MAIN_SPEC: case MAIN_SPEC_OGIB: switch(menupos) 80475ba: 4b1c ldr r3, [pc, #112] ; (804762c ) 80475bc: 781b ldrb r3, [r3, #0] 80475be: b2db uxtb r3, r3 80475c0: 2b09 cmp r3, #9 80475c2: f202 8062 bhi.w 804968a 80475c6: a201 add r2, pc, #4 ; (adr r2, 80475cc ) 80475c8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80475cc: 080475f5 .word 0x080475f5 80475d0: 080475f5 .word 0x080475f5 80475d4: 080475f5 .word 0x080475f5 80475d8: 080475f5 .word 0x080475f5 80475dc: 080475f5 .word 0x080475f5 80475e0: 080475f5 .word 0x080475f5 80475e4: 08047661 .word 0x08047661 80475e8: 0804968b .word 0x0804968b 80475ec: 080475f5 .word 0x080475f5 80475f0: 080475f5 .word 0x080475f5 case ZoomOut: case ImageRight: case StartStop: case Results: case SaveSpec: if((!FIRST) && (Stability > (Nr * 4))) 80475f4: 4b0e ldr r3, [pc, #56] ; (8047630 ) 80475f6: 781b ldrb r3, [r3, #0] 80475f8: b2db uxtb r3, r3 80475fa: f083 0301 eor.w r3, r3, #1 80475fe: b2db uxtb r3, r3 8047600: 2b00 cmp r3, #0 8047602: f000 8120 beq.w 8047846 8047606: 4b0b ldr r3, [pc, #44] ; (8047634 ) 8047608: 881b ldrh r3, [r3, #0] 804760a: b29b uxth r3, r3 804760c: 009b lsls r3, r3, #2 804760e: 461a mov r2, r3 8047610: 4b09 ldr r3, [pc, #36] ; (8047638 ) 8047612: 681b ldr r3, [r3, #0] 8047614: 429a cmp r2, r3 8047616: f080 8116 bcs.w 8047846 { lastmenupos = menupos; 804761a: 4b04 ldr r3, [pc, #16] ; (804762c ) 804761c: 781b ldrb r3, [r3, #0] 804761e: b2da uxtb r2, r3 8047620: 4b06 ldr r3, [pc, #24] ; (804763c ) 8047622: 701a strb r2, [r3, #0] menupos = Cursor; 8047624: 4b01 ldr r3, [pc, #4] ; (804762c ) 8047626: 2206 movs r2, #6 8047628: 701a strb r2, [r3, #0] } break; 804762a: e10c b.n 8047846 804762c: 20020070 .word 0x20020070 8047630: 20020dd2 .word 0x20020dd2 8047634: 20021d68 .word 0x20021d68 8047638: 20020dc8 .word 0x20020dc8 804763c: 20020071 .word 0x20020071 8047640: 20020fb8 .word 0x20020fb8 8047644: 20023ea8 .word 0x20023ea8 8047648: 080f2b68 .word 0x080f2b68 804764c: 20025d5e .word 0x20025d5e 8047650: 20025d68 .word 0x20025d68 8047654: 20025d66 .word 0x20025d66 8047658: 20025d62 .word 0x20025d62 804765c: 2002006c .word 0x2002006c case Cursor: lvl_0 = 0; 8047660: 2300 movs r3, #0 8047662: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 8047666: 4baf ldr r3, [pc, #700] ; (8047924 ) 8047668: 781b ldrb r3, [r3, #0] 804766a: b2db uxtb r3, r3 804766c: 461a mov r2, r3 804766e: 4613 mov r3, r2 8047670: 009b lsls r3, r3, #2 8047672: 4413 add r3, r2 8047674: 4aac ldr r2, [pc, #688] ; (8047928 ) 8047676: 79d2 ldrb r2, [r2, #7] 8047678: b2d2 uxtb r2, r2 804767a: 4413 add r3, r2 804767c: 4aab ldr r2, [pc, #684] ; (804792c ) 804767e: 3323 adds r3, #35 ; 0x23 8047680: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8047684: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 8047688: 2301 movs r3, #1 804768a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 804768e: f44f 7380 mov.w r3, #256 ; 0x100 8047692: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 224 * multA_u16; 8047696: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804769a: 4613 mov r3, r2 804769c: 00db lsls r3, r3, #3 804769e: 1a9b subs r3, r3, r2 80476a0: 015b lsls r3, r3, #5 80476a2: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[1][5 * lvl_0 + pardata.LNE] - Avg[1][5 * ViewLevel + pardata.LNE]; 80476a6: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80476aa: 4613 mov r3, r2 80476ac: 009b lsls r3, r3, #2 80476ae: 4413 add r3, r2 80476b0: 4a9d ldr r2, [pc, #628] ; (8047928 ) 80476b2: 79d2 ldrb r2, [r2, #7] 80476b4: b2d2 uxtb r2, r2 80476b6: 4413 add r3, r2 80476b8: 4a9c ldr r2, [pc, #624] ; (804792c ) 80476ba: 3323 adds r3, #35 ; 0x23 80476bc: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80476c0: 461a mov r2, r3 80476c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80476c6: fb03 f202 mul.w r2, r3, r2 80476ca: 4b96 ldr r3, [pc, #600] ; (8047924 ) 80476cc: 781b ldrb r3, [r3, #0] 80476ce: b2db uxtb r3, r3 80476d0: 4619 mov r1, r3 80476d2: 460b mov r3, r1 80476d4: 009b lsls r3, r3, #2 80476d6: 440b add r3, r1 80476d8: 4993 ldr r1, [pc, #588] ; (8047928 ) 80476da: 79c9 ldrb r1, [r1, #7] 80476dc: b2c9 uxtb r1, r1 80476de: 440b add r3, r1 80476e0: 4992 ldr r1, [pc, #584] ; (804792c ) 80476e2: 3323 adds r3, #35 ; 0x23 80476e4: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 80476e8: 1ad3 subs r3, r2, r3 80476ea: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 80476ee: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80476f2: b29b uxth r3, r3 80476f4: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 80476f8: fb12 f303 smulbb r3, r2, r3 80476fc: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if((multB_u16 + Mpos) >= j) 8047700: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8047704: 4a8a ldr r2, [pc, #552] ; (8047930 ) 8047706: 8812 ldrh r2, [r2, #0] 8047708: b292 uxth r2, r2 804770a: 4413 add r3, r2 804770c: 461a mov r2, r3 804770e: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8047712: 429a cmp r2, r3 8047714: d333 bcc.n 804777e { rX = k * Avg[1][5 * lvl_0 + pardata.LNE]; 8047716: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804771a: 4613 mov r3, r2 804771c: 009b lsls r3, r3, #2 804771e: 4413 add r3, r2 8047720: 4a81 ldr r2, [pc, #516] ; (8047928 ) 8047722: 79d2 ldrb r2, [r2, #7] 8047724: b2d2 uxtb r2, r2 8047726: 4413 add r3, r2 8047728: 4a80 ldr r2, [pc, #512] ; (804792c ) 804772a: 3323 adds r3, #35 ; 0x23 804772c: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 8047730: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047734: b29b uxth r3, r3 8047736: fb12 f303 smulbb r3, r2, r3 804773a: b29a uxth r2, r3 804773c: 4b7d ldr r3, [pc, #500] ; (8047934 ) 804773e: 801a strh r2, [r3, #0] X0 = rX - k * multA_u16; 8047740: 4b7c ldr r3, [pc, #496] ; (8047934 ) 8047742: 881b ldrh r3, [r3, #0] 8047744: b29a uxth r2, r3 8047746: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804774a: b29b uxth r3, r3 804774c: f8b7 109e ldrh.w r1, [r7, #158] ; 0x9e 8047750: fb11 f303 smulbb r3, r1, r3 8047754: b29b uxth r3, r3 8047756: 1ad3 subs r3, r2, r3 8047758: b29a uxth r2, r3 804775a: 4b77 ldr r3, [pc, #476] ; (8047938 ) 804775c: 801a strh r2, [r3, #0] lX = X0; 804775e: 4b76 ldr r3, [pc, #472] ; (8047938 ) 8047760: 881b ldrh r3, [r3, #0] 8047762: b29a uxth r2, r3 8047764: 4b75 ldr r3, [pc, #468] ; (804793c ) 8047766: 801a strh r2, [r3, #0] CURSOR = k - 1; 8047768: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804776c: 3b01 subs r3, #1 804776e: 4a74 ldr r2, [pc, #464] ; (8047940 ) 8047770: 6013 str r3, [r2, #0] Mpos = j; 8047772: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8047776: b29a uxth r2, r3 8047778: 4b6d ldr r3, [pc, #436] ; (8047930 ) 804777a: 801a strh r2, [r3, #0] } lX = X0; rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; 804777c: e064 b.n 8047848 Mpos += multB_u16; 804777e: 4b6c ldr r3, [pc, #432] ; (8047930 ) 8047780: 881b ldrh r3, [r3, #0] 8047782: b29a uxth r2, r3 8047784: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8047788: 4413 add r3, r2 804778a: b29a uxth r2, r3 804778c: 4b68 ldr r3, [pc, #416] ; (8047930 ) 804778e: 801a strh r2, [r3, #0] if(Mpos >= rX) 8047790: 4b67 ldr r3, [pc, #412] ; (8047930 ) 8047792: 881b ldrh r3, [r3, #0] 8047794: b29a uxth r2, r3 8047796: 4b67 ldr r3, [pc, #412] ; (8047934 ) 8047798: 881b ldrh r3, [r3, #0] 804779a: b29b uxth r3, r3 804779c: 429a cmp r2, r3 804779e: d32e bcc.n 80477fe if((Mpos + d) <= j) 80477a0: 4b63 ldr r3, [pc, #396] ; (8047930 ) 80477a2: 881b ldrh r3, [r3, #0] 80477a4: b29b uxth r3, r3 80477a6: 461a mov r2, r3 80477a8: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80477ac: 441a add r2, r3 80477ae: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80477b2: 429a cmp r2, r3 80477b4: d80a bhi.n 80477cc X0 += d; 80477b6: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80477ba: b29a uxth r2, r3 80477bc: 4b5e ldr r3, [pc, #376] ; (8047938 ) 80477be: 881b ldrh r3, [r3, #0] 80477c0: b29b uxth r3, r3 80477c2: 4413 add r3, r2 80477c4: b29a uxth r2, r3 80477c6: 4b5c ldr r3, [pc, #368] ; (8047938 ) 80477c8: 801a strh r2, [r3, #0] 80477ca: e018 b.n 80477fe else X0 = k * (Avg[1][5 * lvl_0 + pardata.LNE] - multA_u16); 80477cc: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80477d0: 4613 mov r3, r2 80477d2: 009b lsls r3, r3, #2 80477d4: 4413 add r3, r2 80477d6: 4a54 ldr r2, [pc, #336] ; (8047928 ) 80477d8: 79d2 ldrb r2, [r2, #7] 80477da: b2d2 uxtb r2, r2 80477dc: 4413 add r3, r2 80477de: 4a53 ldr r2, [pc, #332] ; (804792c ) 80477e0: 3323 adds r3, #35 ; 0x23 80477e2: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 80477e6: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 80477ea: 1ad3 subs r3, r2, r3 80477ec: b29a uxth r2, r3 80477ee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80477f2: b29b uxth r3, r3 80477f4: fb12 f303 smulbb r3, r2, r3 80477f8: b29a uxth r2, r3 80477fa: 4b4f ldr r3, [pc, #316] ; (8047938 ) 80477fc: 801a strh r2, [r3, #0] lX = X0; 80477fe: 4b4e ldr r3, [pc, #312] ; (8047938 ) 8047800: 881b ldrh r3, [r3, #0] 8047802: b29a uxth r2, r3 8047804: 4b4d ldr r3, [pc, #308] ; (804793c ) 8047806: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 8047808: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804780c: b29b uxth r3, r3 804780e: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8047812: fb12 f303 smulbb r3, r2, r3 8047816: b29a uxth r2, r3 8047818: 4b47 ldr r3, [pc, #284] ; (8047938 ) 804781a: 881b ldrh r3, [r3, #0] 804781c: b29b uxth r3, r3 804781e: 4413 add r3, r2 8047820: b29a uxth r2, r3 8047822: 4b44 ldr r3, [pc, #272] ; (8047934 ) 8047824: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 8047826: 4b42 ldr r3, [pc, #264] ; (8047930 ) 8047828: 881b ldrh r3, [r3, #0] 804782a: b29b uxth r3, r3 804782c: 461a mov r2, r3 804782e: 4b42 ldr r3, [pc, #264] ; (8047938 ) 8047830: 881b ldrh r3, [r3, #0] 8047832: b29b uxth r3, r3 8047834: 1ad2 subs r2, r2, r3 8047836: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804783a: fb92 f3f3 sdiv r3, r2, r3 804783e: 461a mov r2, r3 8047840: 4b3f ldr r3, [pc, #252] ; (8047940 ) 8047842: 601a str r2, [r3, #0] break; 8047844: e000 b.n 8047848 break; 8047846: bf00 nop } break; 8047848: f001 bf1f b.w 804968a case MAIN_SPEC_OKT: switch(menupos) 804784c: 4b3d ldr r3, [pc, #244] ; (8047944 ) 804784e: 781b ldrb r3, [r3, #0] 8047850: b2db uxtb r3, r3 8047852: 2b00 cmp r3, #0 8047854: f2c1 871c blt.w 8049690 8047858: 2b05 cmp r3, #5 804785a: dd03 ble.n 8047864 804785c: 2b06 cmp r3, #6 804785e: d01b beq.n 8047898 case Cursor: if(CURSOR < 13) CURSOR++; break; } break; 8047860: f001 bf16 b.w 8049690 if((!FIRST) && (Stability > (Nr * 4))) 8047864: 4b38 ldr r3, [pc, #224] ; (8047948 ) 8047866: 781b ldrb r3, [r3, #0] 8047868: b2db uxtb r3, r3 804786a: f083 0301 eor.w r3, r3, #1 804786e: b2db uxtb r3, r3 8047870: 2b00 cmp r3, #0 8047872: d01b beq.n 80478ac 8047874: 4b35 ldr r3, [pc, #212] ; (804794c ) 8047876: 881b ldrh r3, [r3, #0] 8047878: b29b uxth r3, r3 804787a: 009b lsls r3, r3, #2 804787c: 461a mov r2, r3 804787e: 4b34 ldr r3, [pc, #208] ; (8047950 ) 8047880: 681b ldr r3, [r3, #0] 8047882: 429a cmp r2, r3 8047884: d212 bcs.n 80478ac lastmenupos = menupos; 8047886: 4b2f ldr r3, [pc, #188] ; (8047944 ) 8047888: 781b ldrb r3, [r3, #0] 804788a: b2da uxtb r2, r3 804788c: 4b31 ldr r3, [pc, #196] ; (8047954 ) 804788e: 701a strb r2, [r3, #0] menupos = Cursor; 8047890: 4b2c ldr r3, [pc, #176] ; (8047944 ) 8047892: 2206 movs r2, #6 8047894: 701a strb r2, [r3, #0] break; 8047896: e009 b.n 80478ac if(CURSOR < 13) 8047898: 4b29 ldr r3, [pc, #164] ; (8047940 ) 804789a: 681b ldr r3, [r3, #0] 804789c: 2b0c cmp r3, #12 804789e: d808 bhi.n 80478b2 CURSOR++; 80478a0: 4b27 ldr r3, [pc, #156] ; (8047940 ) 80478a2: 681b ldr r3, [r3, #0] 80478a4: 3301 adds r3, #1 80478a6: 4a26 ldr r2, [pc, #152] ; (8047940 ) 80478a8: 6013 str r3, [r2, #0] break; 80478aa: e002 b.n 80478b2 break; 80478ac: bf00 nop 80478ae: f001 beef b.w 8049690 break; 80478b2: bf00 nop break; 80478b4: f001 beec b.w 8049690 case MAIN_SPEC_THIRD: switch(menupos) 80478b8: 4b22 ldr r3, [pc, #136] ; (8047944 ) 80478ba: 781b ldrb r3, [r3, #0] 80478bc: b2db uxtb r3, r3 80478be: 2b00 cmp r3, #0 80478c0: f2c1 86e9 blt.w 8049696 80478c4: 2b05 cmp r3, #5 80478c6: dd03 ble.n 80478d0 80478c8: 2b06 cmp r3, #6 80478ca: d01b beq.n 8047904 case Cursor: if(CURSOR < 38) CURSOR++; break; } break; 80478cc: f001 bee3 b.w 8049696 if((!FIRST) && (Stability > (Nr * 4))) 80478d0: 4b1d ldr r3, [pc, #116] ; (8047948 ) 80478d2: 781b ldrb r3, [r3, #0] 80478d4: b2db uxtb r3, r3 80478d6: f083 0301 eor.w r3, r3, #1 80478da: b2db uxtb r3, r3 80478dc: 2b00 cmp r3, #0 80478de: d01b beq.n 8047918 80478e0: 4b1a ldr r3, [pc, #104] ; (804794c ) 80478e2: 881b ldrh r3, [r3, #0] 80478e4: b29b uxth r3, r3 80478e6: 009b lsls r3, r3, #2 80478e8: 461a mov r2, r3 80478ea: 4b19 ldr r3, [pc, #100] ; (8047950 ) 80478ec: 681b ldr r3, [r3, #0] 80478ee: 429a cmp r2, r3 80478f0: d212 bcs.n 8047918 lastmenupos = menupos; 80478f2: 4b14 ldr r3, [pc, #80] ; (8047944 ) 80478f4: 781b ldrb r3, [r3, #0] 80478f6: b2da uxtb r2, r3 80478f8: 4b16 ldr r3, [pc, #88] ; (8047954 ) 80478fa: 701a strb r2, [r3, #0] menupos = Cursor; 80478fc: 4b11 ldr r3, [pc, #68] ; (8047944 ) 80478fe: 2206 movs r2, #6 8047900: 701a strb r2, [r3, #0] break; 8047902: e009 b.n 8047918 if(CURSOR < 38) 8047904: 4b0e ldr r3, [pc, #56] ; (8047940 ) 8047906: 681b ldr r3, [r3, #0] 8047908: 2b25 cmp r3, #37 ; 0x25 804790a: d808 bhi.n 804791e CURSOR++; 804790c: 4b0c ldr r3, [pc, #48] ; (8047940 ) 804790e: 681b ldr r3, [r3, #0] 8047910: 3301 adds r3, #1 8047912: 4a0b ldr r2, [pc, #44] ; (8047940 ) 8047914: 6013 str r3, [r2, #0] break; 8047916: e002 b.n 804791e break; 8047918: bf00 nop 804791a: f001 bebc b.w 8049696 break; 804791e: bf00 nop break; 8047920: f001 beb9 b.w 8049696 8047924: 20020fb8 .word 0x20020fb8 8047928: 20023ea8 .word 0x20023ea8 804792c: 080f2b68 .word 0x080f2b68 8047930: 20025d5e .word 0x20025d5e 8047934: 20025d68 .word 0x20025d68 8047938: 20025d66 .word 0x20025d66 804793c: 20025d62 .word 0x20025d62 8047940: 2002006c .word 0x2002006c 8047944: 20020070 .word 0x20020070 8047948: 20020dd2 .word 0x20020dd2 804794c: 20021d68 .word 0x20021d68 8047950: 20020dc8 .word 0x20020dc8 8047954: 20020071 .word 0x20020071 case MAIN_WAVE: switch(menupos) 8047958: 4bac ldr r3, [pc, #688] ; (8047c0c ) 804795a: 781b ldrb r3, [r3, #0] 804795c: b2db uxtb r3, r3 804795e: 2b01 cmp r3, #1 8047960: d005 beq.n 804796e 8047962: 2b03 cmp r3, #3 8047964: d01d beq.n 80479a2 8047966: 2b00 cmp r3, #0 8047968: d00e beq.n 8047988 break; case ReadyRec: oldmenupos = ReadyRec; break; } break; 804796a: f001 bee2 b.w 8049732 if(oldmenupos == StartStop) 804796e: 4ba8 ldr r3, [pc, #672] ; (8047c10 ) 8047970: 781b ldrb r3, [r3, #0] 8047972: b2db uxtb r3, r3 8047974: 2b00 cmp r3, #0 8047976: d103 bne.n 8047980 oldmenupos = StartStop; 8047978: 4ba5 ldr r3, [pc, #660] ; (8047c10 ) 804797a: 2200 movs r2, #0 804797c: 701a strb r2, [r3, #0] break; 804797e: e014 b.n 80479aa else oldmenupos = ReadyRec; 8047980: 4ba3 ldr r3, [pc, #652] ; (8047c10 ) 8047982: 2203 movs r2, #3 8047984: 701a strb r2, [r3, #0] break; 8047986: e010 b.n 80479aa if(oldmenupos == StartStop) 8047988: 4ba1 ldr r3, [pc, #644] ; (8047c10 ) 804798a: 781b ldrb r3, [r3, #0] 804798c: b2db uxtb r3, r3 804798e: 2b00 cmp r3, #0 8047990: d103 bne.n 804799a oldmenupos = StartStop; 8047992: 4b9f ldr r3, [pc, #636] ; (8047c10 ) 8047994: 2200 movs r2, #0 8047996: 701a strb r2, [r3, #0] break; 8047998: e007 b.n 80479aa else oldmenupos = ReadyRec; 804799a: 4b9d ldr r3, [pc, #628] ; (8047c10 ) 804799c: 2203 movs r2, #3 804799e: 701a strb r2, [r3, #0] break; 80479a0: e003 b.n 80479aa oldmenupos = ReadyRec; 80479a2: 4b9b ldr r3, [pc, #620] ; (8047c10 ) 80479a4: 2203 movs r2, #3 80479a6: 701a strb r2, [r3, #0] break; 80479a8: bf00 nop break; 80479aa: f001 bec2 b.w 8049732 case MAIN_SYGNAL: if(menupos == Cursor) 80479ae: 4b97 ldr r3, [pc, #604] ; (8047c0c ) 80479b0: 781b ldrb r3, [r3, #0] 80479b2: b2db uxtb r3, r3 80479b4: 2b06 cmp r3, #6 80479b6: d10b bne.n 80479d0 { if(CURSOR < 255) 80479b8: 4b96 ldr r3, [pc, #600] ; (8047c14 ) 80479ba: 681b ldr r3, [r3, #0] 80479bc: 2bfe cmp r3, #254 ; 0xfe 80479be: f201 866d bhi.w 804969c CURSOR++; 80479c2: 4b94 ldr r3, [pc, #592] ; (8047c14 ) 80479c4: 681b ldr r3, [r3, #0] 80479c6: 3301 adds r3, #1 80479c8: 4a92 ldr r2, [pc, #584] ; (8047c14 ) 80479ca: 6013 str r3, [r2, #0] else { lastmenupos = menupos; menupos = Cursor; } break; 80479cc: f001 be66 b.w 804969c lastmenupos = menupos; 80479d0: 4b8e ldr r3, [pc, #568] ; (8047c0c ) 80479d2: 781b ldrb r3, [r3, #0] 80479d4: b2da uxtb r2, r3 80479d6: 4b90 ldr r3, [pc, #576] ; (8047c18 ) 80479d8: 701a strb r2, [r3, #0] menupos = Cursor; 80479da: 4b8c ldr r3, [pc, #560] ; (8047c0c ) 80479dc: 2206 movs r2, #6 80479de: 701a strb r2, [r3, #0] break; 80479e0: f001 be5c b.w 804969c case OPTIONS: if(menupos == AskFormatNo) 80479e4: 4b89 ldr r3, [pc, #548] ; (8047c0c ) 80479e6: 781b ldrb r3, [r3, #0] 80479e8: b2db uxtb r3, r3 80479ea: 2b05 cmp r3, #5 80479ec: d104 bne.n 80479f8 menupos = AskFormatYes; 80479ee: 4b87 ldr r3, [pc, #540] ; (8047c0c ) 80479f0: 2206 movs r2, #6 80479f2: 701a strb r2, [r3, #0] if(menupos == AskRouteNo) menupos = AskRouteYes; else if(menupos == AskRouteYes) menupos = AskRouteNo; break; 80479f4: f001 be55 b.w 80496a2 if(menupos == AskFormatYes) 80479f8: 4b84 ldr r3, [pc, #528] ; (8047c0c ) 80479fa: 781b ldrb r3, [r3, #0] 80479fc: b2db uxtb r3, r3 80479fe: 2b06 cmp r3, #6 8047a00: d104 bne.n 8047a0c menupos = AskFormatNo; 8047a02: 4b82 ldr r3, [pc, #520] ; (8047c0c ) 8047a04: 2205 movs r2, #5 8047a06: 701a strb r2, [r3, #0] break; 8047a08: f001 be4b b.w 80496a2 if(menupos == AskRouteNo) 8047a0c: 4b7f ldr r3, [pc, #508] ; (8047c0c ) 8047a0e: 781b ldrb r3, [r3, #0] 8047a10: b2db uxtb r3, r3 8047a12: 2b09 cmp r3, #9 8047a14: d104 bne.n 8047a20 menupos = AskRouteYes; 8047a16: 4b7d ldr r3, [pc, #500] ; (8047c0c ) 8047a18: 220a movs r2, #10 8047a1a: 701a strb r2, [r3, #0] break; 8047a1c: f001 be41 b.w 80496a2 if(menupos == AskRouteYes) 8047a20: 4b7a ldr r3, [pc, #488] ; (8047c0c ) 8047a22: 781b ldrb r3, [r3, #0] 8047a24: b2db uxtb r3, r3 8047a26: 2b0a cmp r3, #10 8047a28: f041 863b bne.w 80496a2 menupos = AskRouteNo; 8047a2c: 4b77 ldr r3, [pc, #476] ; (8047c0c ) 8047a2e: 2209 movs r2, #9 8047a30: 701a strb r2, [r3, #0] break; 8047a32: f001 be36 b.w 80496a2 case EXPLORER: if((menupos == FilesPTM) || (menupos == NoFilesPTM)) 8047a36: 4b75 ldr r3, [pc, #468] ; (8047c0c ) 8047a38: 781b ldrb r3, [r3, #0] 8047a3a: b2db uxtb r3, r3 8047a3c: 2b02 cmp r3, #2 8047a3e: d004 beq.n 8047a4a 8047a40: 4b72 ldr r3, [pc, #456] ; (8047c0c ) 8047a42: 781b ldrb r3, [r3, #0] 8047a44: b2db uxtb r3, r3 8047a46: 2b01 cmp r3, #1 8047a48: d114 bne.n 8047a74 { memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 8047a4a: 2221 movs r2, #33 ; 0x21 8047a4c: 2100 movs r1, #0 8047a4e: 4873 ldr r0, [pc, #460] ; (8047c1c ) 8047a50: f089 fca6 bl 80d13a0 MeasFileNameLen = 0; 8047a54: 4b72 ldr r3, [pc, #456] ; (8047c20 ) 8047a56: 2200 movs r2, #0 8047a58: 601a str r2, [r3, #0] lastmenupos = menupos; 8047a5a: 4b6c ldr r3, [pc, #432] ; (8047c0c ) 8047a5c: 781b ldrb r3, [r3, #0] 8047a5e: b2da uxtb r2, r3 8047a60: 4b6d ldr r3, [pc, #436] ; (8047c18 ) 8047a62: 701a strb r2, [r3, #0] menu = INPUT_NAME_PTM; 8047a64: 4b6f ldr r3, [pc, #444] ; (8047c24 ) 8047a66: 222b movs r2, #43 ; 0x2b 8047a68: 701a strb r2, [r3, #0] menupos = _CANCEL; 8047a6a: 4b68 ldr r3, [pc, #416] ; (8047c0c ) 8047a6c: 2227 movs r2, #39 ; 0x27 8047a6e: 701a strb r2, [r3, #0] if(menupos == UpYes) menupos = UpNo; else if(menupos == UpNo) menupos = UpYes; break; 8047a70: f001 be1a b.w 80496a8 if(menupos == UpYes) 8047a74: 4b65 ldr r3, [pc, #404] ; (8047c0c ) 8047a76: 781b ldrb r3, [r3, #0] 8047a78: b2db uxtb r3, r3 8047a7a: 2b07 cmp r3, #7 8047a7c: d104 bne.n 8047a88 menupos = UpNo; 8047a7e: 4b63 ldr r3, [pc, #396] ; (8047c0c ) 8047a80: 2206 movs r2, #6 8047a82: 701a strb r2, [r3, #0] break; 8047a84: f001 be10 b.w 80496a8 if(menupos == UpNo) 8047a88: 4b60 ldr r3, [pc, #384] ; (8047c0c ) 8047a8a: 781b ldrb r3, [r3, #0] 8047a8c: b2db uxtb r3, r3 8047a8e: 2b06 cmp r3, #6 8047a90: f041 860a bne.w 80496a8 menupos = UpYes; 8047a94: 4b5d ldr r3, [pc, #372] ; (8047c0c ) 8047a96: 2207 movs r2, #7 8047a98: 701a strb r2, [r3, #0] break; 8047a9a: f001 be05 b.w 80496a8 case EXPLORER_DIAGN: if((menupos == FilesDGN) || (menupos == NoFilesDGN)) 8047a9e: 4b5b ldr r3, [pc, #364] ; (8047c0c ) 8047aa0: 781b ldrb r3, [r3, #0] 8047aa2: b2db uxtb r3, r3 8047aa4: 2b02 cmp r3, #2 8047aa6: d004 beq.n 8047ab2 8047aa8: 4b58 ldr r3, [pc, #352] ; (8047c0c ) 8047aaa: 781b ldrb r3, [r3, #0] 8047aac: b2db uxtb r3, r3 8047aae: 2b01 cmp r3, #1 8047ab0: d114 bne.n 8047adc { memset(TEMP_DiagFileName, 0, sizeof(TEMP_DiagFileName)); 8047ab2: 2221 movs r2, #33 ; 0x21 8047ab4: 2100 movs r1, #0 8047ab6: 485c ldr r0, [pc, #368] ; (8047c28 ) 8047ab8: f089 fc72 bl 80d13a0 DiagFileNameLen = 0; 8047abc: 4b5b ldr r3, [pc, #364] ; (8047c2c ) 8047abe: 2200 movs r2, #0 8047ac0: 601a str r2, [r3, #0] lastmenupos = menupos; 8047ac2: 4b52 ldr r3, [pc, #328] ; (8047c0c ) 8047ac4: 781b ldrb r3, [r3, #0] 8047ac6: b2da uxtb r2, r3 8047ac8: 4b53 ldr r3, [pc, #332] ; (8047c18 ) 8047aca: 701a strb r2, [r3, #0] menu = INPUT_NAME_DGN; 8047acc: 4b55 ldr r3, [pc, #340] ; (8047c24 ) 8047ace: 222c movs r2, #44 ; 0x2c 8047ad0: 701a strb r2, [r3, #0] menupos = _CANCEL; 8047ad2: 4b4e ldr r3, [pc, #312] ; (8047c0c ) 8047ad4: 2227 movs r2, #39 ; 0x27 8047ad6: 701a strb r2, [r3, #0] if(menupos == UpYes) menupos = UpNo; else if(menupos == UpNo) menupos = UpYes; break; 8047ad8: f001 bde9 b.w 80496ae if(menupos == UpYes) 8047adc: 4b4b ldr r3, [pc, #300] ; (8047c0c ) 8047ade: 781b ldrb r3, [r3, #0] 8047ae0: b2db uxtb r3, r3 8047ae2: 2b07 cmp r3, #7 8047ae4: d104 bne.n 8047af0 menupos = UpNo; 8047ae6: 4b49 ldr r3, [pc, #292] ; (8047c0c ) 8047ae8: 2206 movs r2, #6 8047aea: 701a strb r2, [r3, #0] break; 8047aec: f001 bddf b.w 80496ae if(menupos == UpNo) 8047af0: 4b46 ldr r3, [pc, #280] ; (8047c0c ) 8047af2: 781b ldrb r3, [r3, #0] 8047af4: b2db uxtb r3, r3 8047af6: 2b06 cmp r3, #6 8047af8: f041 85d9 bne.w 80496ae menupos = UpYes; 8047afc: 4b43 ldr r3, [pc, #268] ; (8047c0c ) 8047afe: 2207 movs r2, #7 8047b00: 701a strb r2, [r3, #0] break; 8047b02: f001 bdd4 b.w 80496ae 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)) 8047b06: 4b41 ldr r3, [pc, #260] ; (8047c0c ) 8047b08: 781b ldrb r3, [r3, #0] 8047b0a: b2db uxtb r3, r3 8047b0c: 2b09 cmp r3, #9 8047b0e: f001 85d1 beq.w 80496b4 8047b12: 4b3e ldr r3, [pc, #248] ; (8047c0c ) 8047b14: 781b ldrb r3, [r3, #0] 8047b16: b2db uxtb r3, r3 8047b18: 2b13 cmp r3, #19 8047b1a: f001 85cb beq.w 80496b4 8047b1e: 4b3b ldr r3, [pc, #236] ; (8047c0c ) 8047b20: 781b ldrb r3, [r3, #0] 8047b22: b2db uxtb r3, r3 8047b24: 2b1d cmp r3, #29 8047b26: f001 85c5 beq.w 80496b4 8047b2a: 4b38 ldr r3, [pc, #224] ; (8047c0c ) 8047b2c: 781b ldrb r3, [r3, #0] 8047b2e: b2db uxtb r3, r3 8047b30: 2b25 cmp r3, #37 ; 0x25 8047b32: f001 85bf beq.w 80496b4 8047b36: 4b35 ldr r3, [pc, #212] ; (8047c0c ) 8047b38: 781b ldrb r3, [r3, #0] 8047b3a: b2db uxtb r3, r3 8047b3c: 2b27 cmp r3, #39 ; 0x27 8047b3e: f001 85b9 beq.w 80496b4 menupos++; 8047b42: 4b32 ldr r3, [pc, #200] ; (8047c0c ) 8047b44: 781b ldrb r3, [r3, #0] 8047b46: b2db uxtb r3, r3 8047b48: 3301 adds r3, #1 8047b4a: b2da uxtb r2, r3 8047b4c: 4b2f ldr r3, [pc, #188] ; (8047c0c ) 8047b4e: 701a strb r2, [r3, #0] break; 8047b50: f001 bdb0 b.w 80496b4 case ARCHIVE_SPEC: if(menupos == FilesSPEC) 8047b54: 4b2d ldr r3, [pc, #180] ; (8047c0c ) 8047b56: 781b ldrb r3, [r3, #0] 8047b58: b2db uxtb r3, r3 8047b5a: 2b02 cmp r3, #2 8047b5c: d104 bne.n 8047b68 menupos = UpNo; 8047b5e: 4b2b ldr r3, [pc, #172] ; (8047c0c ) 8047b60: 2206 movs r2, #6 8047b62: 701a strb r2, [r3, #0] if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 8047b64: f001 bda9 b.w 80496ba if(menupos == UpNo) 8047b68: 4b28 ldr r3, [pc, #160] ; (8047c0c ) 8047b6a: 781b ldrb r3, [r3, #0] 8047b6c: b2db uxtb r3, r3 8047b6e: 2b06 cmp r3, #6 8047b70: d104 bne.n 8047b7c menupos = UpYes; 8047b72: 4b26 ldr r3, [pc, #152] ; (8047c0c ) 8047b74: 2207 movs r2, #7 8047b76: 701a strb r2, [r3, #0] break; 8047b78: f001 bd9f b.w 80496ba if(menupos == UpYes) 8047b7c: 4b23 ldr r3, [pc, #140] ; (8047c0c ) 8047b7e: 781b ldrb r3, [r3, #0] 8047b80: b2db uxtb r3, r3 8047b82: 2b07 cmp r3, #7 8047b84: f041 8599 bne.w 80496ba menupos = UpNo; 8047b88: 4b20 ldr r3, [pc, #128] ; (8047c0c ) 8047b8a: 2206 movs r2, #6 8047b8c: 701a strb r2, [r3, #0] break; 8047b8e: f001 bd94 b.w 80496ba case ARCHIVE_FRAN: if(menupos == FilesFRAN) 8047b92: 4b1e ldr r3, [pc, #120] ; (8047c0c ) 8047b94: 781b ldrb r3, [r3, #0] 8047b96: b2db uxtb r3, r3 8047b98: 2b02 cmp r3, #2 8047b9a: d104 bne.n 8047ba6 menupos = UpNo; 8047b9c: 4b1b ldr r3, [pc, #108] ; (8047c0c ) 8047b9e: 2206 movs r2, #6 8047ba0: 701a strb r2, [r3, #0] if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 8047ba2: f001 bd8d b.w 80496c0 if(menupos == UpNo) 8047ba6: 4b19 ldr r3, [pc, #100] ; (8047c0c ) 8047ba8: 781b ldrb r3, [r3, #0] 8047baa: b2db uxtb r3, r3 8047bac: 2b06 cmp r3, #6 8047bae: d104 bne.n 8047bba menupos = UpYes; 8047bb0: 4b16 ldr r3, [pc, #88] ; (8047c0c ) 8047bb2: 2207 movs r2, #7 8047bb4: 701a strb r2, [r3, #0] break; 8047bb6: f001 bd83 b.w 80496c0 if(menupos == UpYes) 8047bba: 4b14 ldr r3, [pc, #80] ; (8047c0c ) 8047bbc: 781b ldrb r3, [r3, #0] 8047bbe: b2db uxtb r3, r3 8047bc0: 2b07 cmp r3, #7 8047bc2: f041 857d bne.w 80496c0 menupos = UpNo; 8047bc6: 4b11 ldr r3, [pc, #68] ; (8047c0c ) 8047bc8: 2206 movs r2, #6 8047bca: 701a strb r2, [r3, #0] break; 8047bcc: f001 bd78 b.w 80496c0 case ARCHIVE_WAVE: if(menupos == FilesGTR) 8047bd0: 4b0e ldr r3, [pc, #56] ; (8047c0c ) 8047bd2: 781b ldrb r3, [r3, #0] 8047bd4: b2db uxtb r3, r3 8047bd6: 2b02 cmp r3, #2 8047bd8: f040 80b0 bne.w 8047d3c { if(ExplorerFiles[CursorIndex].fname[0] != 0) 8047bdc: 4b14 ldr r3, [pc, #80] ; (8047c30 ) 8047bde: 681a ldr r2, [r3, #0] 8047be0: 4914 ldr r1, [pc, #80] ; (8047c34 ) 8047be2: 4613 mov r3, r2 8047be4: 00db lsls r3, r3, #3 8047be6: 1a9b subs r3, r3, r2 8047be8: 00db lsls r3, r3, #3 8047bea: 440b add r3, r1 8047bec: 330c adds r3, #12 8047bee: 781b ldrb r3, [r3, #0] 8047bf0: 2b00 cmp r3, #0 8047bf2: f001 8568 beq.w 80496c6 { d = cbChecked; 8047bf6: 2301 movs r3, #1 8047bf8: f8c7 30bc str.w r3, [r7, #188] ; 0xbc if(NumFilesDelete != 0) 8047bfc: 4b0e ldr r3, [pc, #56] ; (8047c38 ) 8047bfe: 681b ldr r3, [r3, #0] 8047c00: 2b00 cmp r3, #0 8047c02: d055 beq.n 8047cb0 { for(i = 0; i < MAX_CHECKED_FILES; i++) 8047c04: 2300 movs r3, #0 8047c06: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8047c0a: e04c b.n 8047ca6 8047c0c: 20020070 .word 0x20020070 8047c10: 20020fbf .word 0x20020fbf 8047c14: 2002006c .word 0x2002006c 8047c18: 20020071 .word 0x20020071 8047c1c: 20025cc8 .word 0x20025cc8 8047c20: 20020f0c .word 0x20020f0c 8047c24: 20020fbd .word 0x20020fbd 8047c28: 20025d10 .word 0x20025d10 8047c2c: 20020f10 .word 0x20020f10 8047c30: 20020e00 .word 0x20020e00 8047c34: 20022398 .word 0x20022398 8047c38: 20020e2c .word 0x20020e2c { if(strcmp(ExplorerFiles[CursorIndex].fname, &StrRAM(i, 0)) == 0) 8047c3c: 4bc6 ldr r3, [pc, #792] ; (8047f58 ) 8047c3e: 681a ldr r2, [r3, #0] 8047c40: 4613 mov r3, r2 8047c42: 00db lsls r3, r3, #3 8047c44: 1a9b subs r3, r3, r2 8047c46: 00db lsls r3, r3, #3 8047c48: 3308 adds r3, #8 8047c4a: 4ac4 ldr r2, [pc, #784] ; (8047f5c ) 8047c4c: 4413 add r3, r2 8047c4e: 1d18 adds r0, r3, #4 8047c50: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8047c54: 4613 mov r3, r2 8047c56: 009b lsls r3, r3, #2 8047c58: 4413 add r3, r2 8047c5a: 00db lsls r3, r3, #3 8047c5c: 461a mov r2, r3 8047c5e: 4bc0 ldr r3, [pc, #768] ; (8047f60 ) 8047c60: 4413 add r3, r2 8047c62: 4619 mov r1, r3 8047c64: f7d8 fb4c bl 8020300 8047c68: 4603 mov r3, r0 8047c6a: 2b00 cmp r3, #0 8047c6c: d116 bne.n 8047c9c { memset(&StrRAM(i, 0), 0, 40); 8047c6e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8047c72: 4613 mov r3, r2 8047c74: 009b lsls r3, r3, #2 8047c76: 4413 add r3, r2 8047c78: 00db lsls r3, r3, #3 8047c7a: 461a mov r2, r3 8047c7c: 4bb8 ldr r3, [pc, #736] ; (8047f60 ) 8047c7e: 4413 add r3, r2 8047c80: 2228 movs r2, #40 ; 0x28 8047c82: 2100 movs r1, #0 8047c84: 4618 mov r0, r3 8047c86: f089 fb8b bl 80d13a0 d = cbUnchecked; // Èìÿ ôàéëà èñêëþ÷èëè èç ñïèñêà óäàëÿåìûõ ôàéëîâ 8047c8a: 2300 movs r3, #0 8047c8c: f8c7 30bc str.w r3, [r7, #188] ; 0xbc NumFilesDelete--; 8047c90: 4bb4 ldr r3, [pc, #720] ; (8047f64 ) 8047c92: 681b ldr r3, [r3, #0] 8047c94: 3b01 subs r3, #1 8047c96: 4ab3 ldr r2, [pc, #716] ; (8047f64 ) 8047c98: 6013 str r3, [r2, #0] break; 8047c9a: e009 b.n 8047cb0 for(i = 0; i < MAX_CHECKED_FILES; i++) 8047c9c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047ca0: 3301 adds r3, #1 8047ca2: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8047ca6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047caa: f5b3 7f00 cmp.w r3, #512 ; 0x200 8047cae: d3c5 bcc.n 8047c3c } } } if(d == cbChecked) // Åñëè èìÿ ôàéëà âêëþ÷èëè â ñïèñîê óäàëÿåìûõ ôàéëîâ 8047cb0: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8047cb4: 2b01 cmp r3, #1 8047cb6: f041 8506 bne.w 80496c6 { // Èùåì ïåðâóþ ñâîáîäíóþ ÿ÷åéêó â áóôåðå if(NumFilesDelete < MAX_CHECKED_FILES) 8047cba: 4baa ldr r3, [pc, #680] ; (8047f64 ) 8047cbc: 681b ldr r3, [r3, #0] 8047cbe: f5b3 7f00 cmp.w r3, #512 ; 0x200 8047cc2: f081 8500 bcs.w 80496c6 { for(i = 0; i < MAX_CHECKED_FILES; i++) 8047cc6: 2300 movs r3, #0 8047cc8: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8047ccc: e02f b.n 8047d2e { if(StrRAM(i, 0) == 0) 8047cce: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8047cd2: 4613 mov r3, r2 8047cd4: 009b lsls r3, r3, #2 8047cd6: 4413 add r3, r2 8047cd8: 00db lsls r3, r3, #3 8047cda: 461a mov r2, r3 8047cdc: 4ba0 ldr r3, [pc, #640] ; (8047f60 ) 8047cde: 4413 add r3, r2 8047ce0: 781b ldrb r3, [r3, #0] 8047ce2: 2b00 cmp r3, #0 8047ce4: d11e bne.n 8047d24 { strcpy(&StrRAM(i, 0), ExplorerFiles[CursorIndex].fname); 8047ce6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8047cea: 4613 mov r3, r2 8047cec: 009b lsls r3, r3, #2 8047cee: 4413 add r3, r2 8047cf0: 00db lsls r3, r3, #3 8047cf2: 461a mov r2, r3 8047cf4: 4b9a ldr r3, [pc, #616] ; (8047f60 ) 8047cf6: 4413 add r3, r2 8047cf8: 4618 mov r0, r3 8047cfa: 4b97 ldr r3, [pc, #604] ; (8047f58 ) 8047cfc: 681a ldr r2, [r3, #0] 8047cfe: 4613 mov r3, r2 8047d00: 00db lsls r3, r3, #3 8047d02: 1a9b subs r3, r3, r2 8047d04: 00db lsls r3, r3, #3 8047d06: 3308 adds r3, #8 8047d08: 4a94 ldr r2, [pc, #592] ; (8047f5c ) 8047d0a: 4413 add r3, r2 8047d0c: 3304 adds r3, #4 8047d0e: 4619 mov r1, r3 8047d10: f089 fc63 bl 80d15da NumFilesDelete++; 8047d14: 4b93 ldr r3, [pc, #588] ; (8047f64 ) 8047d16: 681b ldr r3, [r3, #0] 8047d18: 3301 adds r3, #1 8047d1a: 4a92 ldr r2, [pc, #584] ; (8047f64 ) 8047d1c: 6013 str r3, [r2, #0] break; 8047d1e: bf00 nop if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 8047d20: f001 bcd1 b.w 80496c6 for(i = 0; i < MAX_CHECKED_FILES; i++) 8047d24: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047d28: 3301 adds r3, #1 8047d2a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8047d2e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047d32: f5b3 7f00 cmp.w r3, #512 ; 0x200 8047d36: d3ca bcc.n 8047cce break; 8047d38: f001 bcc5 b.w 80496c6 if(menupos == UpNo) 8047d3c: 4b8a ldr r3, [pc, #552] ; (8047f68 ) 8047d3e: 781b ldrb r3, [r3, #0] 8047d40: b2db uxtb r3, r3 8047d42: 2b06 cmp r3, #6 8047d44: d104 bne.n 8047d50 menupos = UpYes; 8047d46: 4b88 ldr r3, [pc, #544] ; (8047f68 ) 8047d48: 2207 movs r2, #7 8047d4a: 701a strb r2, [r3, #0] break; 8047d4c: f001 bcbb b.w 80496c6 if(menupos == UpYes) 8047d50: 4b85 ldr r3, [pc, #532] ; (8047f68 ) 8047d52: 781b ldrb r3, [r3, #0] 8047d54: b2db uxtb r3, r3 8047d56: 2b07 cmp r3, #7 8047d58: f041 84b5 bne.w 80496c6 menupos = UpNo; 8047d5c: 4b82 ldr r3, [pc, #520] ; (8047f68 ) 8047d5e: 2206 movs r2, #6 8047d60: 701a strb r2, [r3, #0] break; 8047d62: f001 bcb0 b.w 80496c6 case ROUTE: if(menupos == FilesCSV) 8047d66: 4b80 ldr r3, [pc, #512] ; (8047f68 ) 8047d68: 781b ldrb r3, [r3, #0] 8047d6a: b2db uxtb r3, r3 8047d6c: 2b02 cmp r3, #2 8047d6e: f040 8098 bne.w 8047ea2 { if(ExplorerFiles[CursorIndex].fname[0] != 0) 8047d72: 4b79 ldr r3, [pc, #484] ; (8047f58 ) 8047d74: 681a ldr r2, [r3, #0] 8047d76: 4979 ldr r1, [pc, #484] ; (8047f5c ) 8047d78: 4613 mov r3, r2 8047d7a: 00db lsls r3, r3, #3 8047d7c: 1a9b subs r3, r3, r2 8047d7e: 00db lsls r3, r3, #3 8047d80: 440b add r3, r1 8047d82: 330c adds r3, #12 8047d84: 781b ldrb r3, [r3, #0] 8047d86: 2b00 cmp r3, #0 8047d88: f001 84a0 beq.w 80496cc { d = cbChecked; 8047d8c: 2301 movs r3, #1 8047d8e: f8c7 30bc str.w r3, [r7, #188] ; 0xbc if(NumFilesDelete != 0) 8047d92: 4b74 ldr r3, [pc, #464] ; (8047f64 ) 8047d94: 681b ldr r3, [r3, #0] 8047d96: 2b00 cmp r3, #0 8047d98: d03d beq.n 8047e16 { for(i = 0; i < MAX_CHECKED_FILES; i++) 8047d9a: 2300 movs r3, #0 8047d9c: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8047da0: e034 b.n 8047e0c { if(strcmp(ExplorerFiles[CursorIndex].fname, &StrRAM(i, 0)) == 0) 8047da2: 4b6d ldr r3, [pc, #436] ; (8047f58 ) 8047da4: 681a ldr r2, [r3, #0] 8047da6: 4613 mov r3, r2 8047da8: 00db lsls r3, r3, #3 8047daa: 1a9b subs r3, r3, r2 8047dac: 00db lsls r3, r3, #3 8047dae: 3308 adds r3, #8 8047db0: 4a6a ldr r2, [pc, #424] ; (8047f5c ) 8047db2: 4413 add r3, r2 8047db4: 1d18 adds r0, r3, #4 8047db6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8047dba: 4613 mov r3, r2 8047dbc: 009b lsls r3, r3, #2 8047dbe: 4413 add r3, r2 8047dc0: 00db lsls r3, r3, #3 8047dc2: 461a mov r2, r3 8047dc4: 4b66 ldr r3, [pc, #408] ; (8047f60 ) 8047dc6: 4413 add r3, r2 8047dc8: 4619 mov r1, r3 8047dca: f7d8 fa99 bl 8020300 8047dce: 4603 mov r3, r0 8047dd0: 2b00 cmp r3, #0 8047dd2: d116 bne.n 8047e02 { memset(&StrRAM(i, 0), 0, 40); 8047dd4: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8047dd8: 4613 mov r3, r2 8047dda: 009b lsls r3, r3, #2 8047ddc: 4413 add r3, r2 8047dde: 00db lsls r3, r3, #3 8047de0: 461a mov r2, r3 8047de2: 4b5f ldr r3, [pc, #380] ; (8047f60 ) 8047de4: 4413 add r3, r2 8047de6: 2228 movs r2, #40 ; 0x28 8047de8: 2100 movs r1, #0 8047dea: 4618 mov r0, r3 8047dec: f089 fad8 bl 80d13a0 d = cbUnchecked; // Èìÿ ôàéëà èñêëþ÷èëè èç ñïèñêà óäàëÿåìûõ ôàéëîâ 8047df0: 2300 movs r3, #0 8047df2: f8c7 30bc str.w r3, [r7, #188] ; 0xbc NumFilesDelete--; 8047df6: 4b5b ldr r3, [pc, #364] ; (8047f64 ) 8047df8: 681b ldr r3, [r3, #0] 8047dfa: 3b01 subs r3, #1 8047dfc: 4a59 ldr r2, [pc, #356] ; (8047f64 ) 8047dfe: 6013 str r3, [r2, #0] break; 8047e00: e009 b.n 8047e16 for(i = 0; i < MAX_CHECKED_FILES; i++) 8047e02: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047e06: 3301 adds r3, #1 8047e08: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8047e0c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047e10: f5b3 7f00 cmp.w r3, #512 ; 0x200 8047e14: d3c5 bcc.n 8047da2 } } } if(d == cbChecked) // Åñëè èìÿ ôàéëà âêëþ÷èëè â ñïèñîê óäàëÿåìûõ ôàéëîâ 8047e16: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8047e1a: 2b01 cmp r3, #1 8047e1c: f041 8456 bne.w 80496cc { // Èùåì ïåðâóþ ñâîáîäíóþ ÿ÷åéêó â áóôåðå if(NumFilesDelete < MAX_CHECKED_FILES) 8047e20: 4b50 ldr r3, [pc, #320] ; (8047f64 ) 8047e22: 681b ldr r3, [r3, #0] 8047e24: f5b3 7f00 cmp.w r3, #512 ; 0x200 8047e28: f081 8450 bcs.w 80496cc { for(i = 0; i < MAX_CHECKED_FILES; i++) 8047e2c: 2300 movs r3, #0 8047e2e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8047e32: e02f b.n 8047e94 { if(StrRAM(i, 0) == 0) 8047e34: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8047e38: 4613 mov r3, r2 8047e3a: 009b lsls r3, r3, #2 8047e3c: 4413 add r3, r2 8047e3e: 00db lsls r3, r3, #3 8047e40: 461a mov r2, r3 8047e42: 4b47 ldr r3, [pc, #284] ; (8047f60 ) 8047e44: 4413 add r3, r2 8047e46: 781b ldrb r3, [r3, #0] 8047e48: 2b00 cmp r3, #0 8047e4a: d11e bne.n 8047e8a { strcpy(&StrRAM(i, 0), ExplorerFiles[CursorIndex].fname); 8047e4c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8047e50: 4613 mov r3, r2 8047e52: 009b lsls r3, r3, #2 8047e54: 4413 add r3, r2 8047e56: 00db lsls r3, r3, #3 8047e58: 461a mov r2, r3 8047e5a: 4b41 ldr r3, [pc, #260] ; (8047f60 ) 8047e5c: 4413 add r3, r2 8047e5e: 4618 mov r0, r3 8047e60: 4b3d ldr r3, [pc, #244] ; (8047f58 ) 8047e62: 681a ldr r2, [r3, #0] 8047e64: 4613 mov r3, r2 8047e66: 00db lsls r3, r3, #3 8047e68: 1a9b subs r3, r3, r2 8047e6a: 00db lsls r3, r3, #3 8047e6c: 3308 adds r3, #8 8047e6e: 4a3b ldr r2, [pc, #236] ; (8047f5c ) 8047e70: 4413 add r3, r2 8047e72: 3304 adds r3, #4 8047e74: 4619 mov r1, r3 8047e76: f089 fbb0 bl 80d15da NumFilesDelete++; 8047e7a: 4b3a ldr r3, [pc, #232] ; (8047f64 ) 8047e7c: 681b ldr r3, [r3, #0] 8047e7e: 3301 adds r3, #1 8047e80: 4a38 ldr r2, [pc, #224] ; (8047f64 ) 8047e82: 6013 str r3, [r2, #0] break; 8047e84: bf00 nop if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 8047e86: f001 bc21 b.w 80496cc for(i = 0; i < MAX_CHECKED_FILES; i++) 8047e8a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047e8e: 3301 adds r3, #1 8047e90: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8047e94: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047e98: f5b3 7f00 cmp.w r3, #512 ; 0x200 8047e9c: d3ca bcc.n 8047e34 break; 8047e9e: f001 bc15 b.w 80496cc if(menupos == UpNo) 8047ea2: 4b31 ldr r3, [pc, #196] ; (8047f68 ) 8047ea4: 781b ldrb r3, [r3, #0] 8047ea6: b2db uxtb r3, r3 8047ea8: 2b06 cmp r3, #6 8047eaa: d104 bne.n 8047eb6 menupos = UpYes; 8047eac: 4b2e ldr r3, [pc, #184] ; (8047f68 ) 8047eae: 2207 movs r2, #7 8047eb0: 701a strb r2, [r3, #0] break; 8047eb2: f001 bc0b b.w 80496cc if(menupos == UpYes) 8047eb6: 4b2c ldr r3, [pc, #176] ; (8047f68 ) 8047eb8: 781b ldrb r3, [r3, #0] 8047eba: b2db uxtb r3, r3 8047ebc: 2b07 cmp r3, #7 8047ebe: f041 8405 bne.w 80496cc menupos = UpNo; 8047ec2: 4b29 ldr r3, [pc, #164] ; (8047f68 ) 8047ec4: 2206 movs r2, #6 8047ec6: 701a strb r2, [r3, #0] break; 8047ec8: f001 bc00 b.w 80496cc case PARAM_UDAR: switch(menupos) 8047ecc: 4b26 ldr r3, [pc, #152] ; (8047f68 ) 8047ece: 781b ldrb r3, [r3, #0] 8047ed0: b2db uxtb r3, r3 8047ed2: 3b03 subs r3, #3 8047ed4: 2b09 cmp r3, #9 8047ed6: d849 bhi.n 8047f6c 8047ed8: a201 add r2, pc, #4 ; (adr r2, 8047ee0 ) 8047eda: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8047ede: bf00 nop 8047ee0: 08047f09 .word 0x08047f09 8047ee4: 08047f11 .word 0x08047f11 8047ee8: 08047f19 .word 0x08047f19 8047eec: 08047f21 .word 0x08047f21 8047ef0: 08047f29 .word 0x08047f29 8047ef4: 08047f31 .word 0x08047f31 8047ef8: 08047f39 .word 0x08047f39 8047efc: 08047f41 .word 0x08047f41 8047f00: 08047f49 .word 0x08047f49 8047f04: 08047f51 .word 0x08047f51 { case UdarRate_IET: menupos = UdarRate_IES; break; 8047f08: 4b17 ldr r3, [pc, #92] ; (8047f68 ) 8047f0a: 2204 movs r2, #4 8047f0c: 701a strb r2, [r3, #0] 8047f0e: e031 b.n 8047f74 case UdarRate_IES: menupos = UdarRate_IED; break; 8047f10: 4b15 ldr r3, [pc, #84] ; (8047f68 ) 8047f12: 2205 movs r2, #5 8047f14: 701a strb r2, [r3, #0] 8047f16: e02d b.n 8047f74 case UdarRate_IED: menupos = UdarRate_IEE; break; 8047f18: 4b13 ldr r3, [pc, #76] ; (8047f68 ) 8047f1a: 2206 movs r2, #6 8047f1c: 701a strb r2, [r3, #0] 8047f1e: e029 b.n 8047f74 case UdarRate_IEE: menupos = UdarRate_IET; break; 8047f20: 4b11 ldr r3, [pc, #68] ; (8047f68 ) 8047f22: 2203 movs r2, #3 8047f24: 701a strb r2, [r3, #0] 8047f26: e025 b.n 8047f74 case UdarInner_IES: menupos = UdarInner_IED; break; 8047f28: 4b0f ldr r3, [pc, #60] ; (8047f68 ) 8047f2a: 2208 movs r2, #8 8047f2c: 701a strb r2, [r3, #0] 8047f2e: e021 b.n 8047f74 case UdarInner_IED: menupos = UdarInner_IEE; break; 8047f30: 4b0d ldr r3, [pc, #52] ; (8047f68 ) 8047f32: 2209 movs r2, #9 8047f34: 701a strb r2, [r3, #0] 8047f36: e01d b.n 8047f74 case UdarInner_IEE: menupos = UdarInner_IKD; break; 8047f38: 4b0b ldr r3, [pc, #44] ; (8047f68 ) 8047f3a: 220a movs r2, #10 8047f3c: 701a strb r2, [r3, #0] 8047f3e: e019 b.n 8047f74 case UdarInner_IKD: menupos = UdarInner_IKS; break; 8047f40: 4b09 ldr r3, [pc, #36] ; (8047f68 ) 8047f42: 220b movs r2, #11 8047f44: 701a strb r2, [r3, #0] 8047f46: e015 b.n 8047f74 case UdarInner_IKS: menupos = UdarInner_IKT; break; 8047f48: 4b07 ldr r3, [pc, #28] ; (8047f68 ) 8047f4a: 220c movs r2, #12 8047f4c: 701a strb r2, [r3, #0] 8047f4e: e011 b.n 8047f74 case UdarInner_IKT: menupos = UdarInner_IES; break; 8047f50: 4b05 ldr r3, [pc, #20] ; (8047f68 ) 8047f52: 2207 movs r2, #7 8047f54: 701a strb r2, [r3, #0] 8047f56: e00d b.n 8047f74 8047f58: 20020e00 .word 0x20020e00 8047f5c: 20022398 .word 0x20022398 8047f60: 6404b000 .word 0x6404b000 8047f64: 20020e2c .word 0x20020e2c 8047f68: 20020070 .word 0x20020070 default: menupos = Ok; 8047f6c: 4bc2 ldr r3, [pc, #776] ; (8048278 ) 8047f6e: 2200 movs r2, #0 8047f70: 701a strb r2, [r3, #0] break; 8047f72: bf00 nop } break; 8047f74: f001 bbdd b.w 8049732 case PARAM_ROLL: switch(menupos) 8047f78: 4bbf ldr r3, [pc, #764] ; (8048278 ) 8047f7a: 781b ldrb r3, [r3, #0] 8047f7c: b2db uxtb r3, r3 8047f7e: 3b01 subs r3, #1 8047f80: 2b2a cmp r3, #42 ; 0x2a 8047f82: f201 83a6 bhi.w 80496d2 8047f86: a201 add r2, pc, #4 ; (adr r2, 8047f8c ) 8047f88: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8047f8c: 08048149 .word 0x08048149 8047f90: 080481b3 .word 0x080481b3 8047f94: 080481b3 .word 0x080481b3 8047f98: 080481b3 .word 0x080481b3 8047f9c: 080481b3 .word 0x080481b3 8047fa0: 0804817f .word 0x0804817f 8047fa4: 080481b3 .word 0x080481b3 8047fa8: 080481b3 .word 0x080481b3 8047fac: 080481b3 .word 0x080481b3 8047fb0: 08048059 .word 0x08048059 8047fb4: 08048061 .word 0x08048061 8047fb8: 08048069 .word 0x08048069 8047fbc: 08048071 .word 0x08048071 8047fc0: 08048079 .word 0x08048079 8047fc4: 08048081 .word 0x08048081 8047fc8: 08048089 .word 0x08048089 8047fcc: 08048091 .word 0x08048091 8047fd0: 08048099 .word 0x08048099 8047fd4: 080480a1 .word 0x080480a1 8047fd8: 080480a9 .word 0x080480a9 8047fdc: 080480b1 .word 0x080480b1 8047fe0: 080480b9 .word 0x080480b9 8047fe4: 080480c1 .word 0x080480c1 8047fe8: 080480c9 .word 0x080480c9 8047fec: 080480d1 .word 0x080480d1 8047ff0: 080480d9 .word 0x080480d9 8047ff4: 080480e1 .word 0x080480e1 8047ff8: 080480e9 .word 0x080480e9 8047ffc: 080480f1 .word 0x080480f1 8048000: 080480f9 .word 0x080480f9 8048004: 08048101 .word 0x08048101 8048008: 08048109 .word 0x08048109 804800c: 08048111 .word 0x08048111 8048010: 08048039 .word 0x08048039 8048014: 08048041 .word 0x08048041 8048018: 08048049 .word 0x08048049 804801c: 08048051 .word 0x08048051 8048020: 08048119 .word 0x08048119 8048024: 08048121 .word 0x08048121 8048028: 08048129 .word 0x08048129 804802c: 08048131 .word 0x08048131 8048030: 08048139 .word 0x08048139 8048034: 08048141 .word 0x08048141 { case D_Rate_IET: menupos = D_Rate_IES; break; 8048038: 4b8f ldr r3, [pc, #572] ; (8048278 ) 804803a: 2223 movs r2, #35 ; 0x23 804803c: 701a strb r2, [r3, #0] 804803e: e0bc b.n 80481ba case D_Rate_IES: menupos = D_Rate_IED; break; 8048040: 4b8d ldr r3, [pc, #564] ; (8048278 ) 8048042: 2224 movs r2, #36 ; 0x24 8048044: 701a strb r2, [r3, #0] 8048046: e0b8 b.n 80481ba case D_Rate_IED: menupos = D_Rate_IEE; break; 8048048: 4b8b ldr r3, [pc, #556] ; (8048278 ) 804804a: 2225 movs r2, #37 ; 0x25 804804c: 701a strb r2, [r3, #0] 804804e: e0b4 b.n 80481ba case D_Rate_IEE: menupos = D_Rate_IET; break; 8048050: 4b89 ldr r3, [pc, #548] ; (8048278 ) 8048052: 2222 movs r2, #34 ; 0x22 8048054: 701a strb r2, [r3, #0] 8048056: e0b0 b.n 80481ba case D_Roll_IES: menupos = D_Roll_IED; break; 8048058: 4b87 ldr r3, [pc, #540] ; (8048278 ) 804805a: 220b movs r2, #11 804805c: 701a strb r2, [r3, #0] 804805e: e0ac b.n 80481ba case D_Roll_IED: menupos = D_Roll_IEE; break; 8048060: 4b85 ldr r3, [pc, #532] ; (8048278 ) 8048062: 220c movs r2, #12 8048064: 701a strb r2, [r3, #0] 8048066: e0a8 b.n 80481ba case D_Roll_IEE: menupos = D_Roll_IKD; break; 8048068: 4b83 ldr r3, [pc, #524] ; (8048278 ) 804806a: 220d movs r2, #13 804806c: 701a strb r2, [r3, #0] 804806e: e0a4 b.n 80481ba case D_Roll_IKD: menupos = D_Roll_IKS; break; 8048070: 4b81 ldr r3, [pc, #516] ; (8048278 ) 8048072: 220e movs r2, #14 8048074: 701a strb r2, [r3, #0] 8048076: e0a0 b.n 80481ba case D_Roll_IKS: menupos = D_Roll_IKT; break; 8048078: 4b7f ldr r3, [pc, #508] ; (8048278 ) 804807a: 220f movs r2, #15 804807c: 701a strb r2, [r3, #0] 804807e: e09c b.n 80481ba case D_Roll_IKT: menupos = D_Roll_IES; break; 8048080: 4b7d ldr r3, [pc, #500] ; (8048278 ) 8048082: 220a movs r2, #10 8048084: 701a strb r2, [r3, #0] 8048086: e098 b.n 80481ba case D_Outer_IES: menupos = D_Outer_IED; break; 8048088: 4b7b ldr r3, [pc, #492] ; (8048278 ) 804808a: 2211 movs r2, #17 804808c: 701a strb r2, [r3, #0] 804808e: e094 b.n 80481ba case D_Outer_IED: menupos = D_Outer_IEE; break; 8048090: 4b79 ldr r3, [pc, #484] ; (8048278 ) 8048092: 2212 movs r2, #18 8048094: 701a strb r2, [r3, #0] 8048096: e090 b.n 80481ba case D_Outer_IEE: menupos = D_Outer_IKD; break; 8048098: 4b77 ldr r3, [pc, #476] ; (8048278 ) 804809a: 2213 movs r2, #19 804809c: 701a strb r2, [r3, #0] 804809e: e08c b.n 80481ba case D_Outer_IKD: menupos = D_Outer_IKS; break; 80480a0: 4b75 ldr r3, [pc, #468] ; (8048278 ) 80480a2: 2214 movs r2, #20 80480a4: 701a strb r2, [r3, #0] 80480a6: e088 b.n 80481ba case D_Outer_IKS: menupos = D_Outer_IKT; break; 80480a8: 4b73 ldr r3, [pc, #460] ; (8048278 ) 80480aa: 2215 movs r2, #21 80480ac: 701a strb r2, [r3, #0] 80480ae: e084 b.n 80481ba case D_Outer_IKT: menupos = D_Outer_IES; break; 80480b0: 4b71 ldr r3, [pc, #452] ; (8048278 ) 80480b2: 2210 movs r2, #16 80480b4: 701a strb r2, [r3, #0] 80480b6: e080 b.n 80481ba case D_Inner_IES: menupos = D_Inner_IED; break; 80480b8: 4b6f ldr r3, [pc, #444] ; (8048278 ) 80480ba: 2217 movs r2, #23 80480bc: 701a strb r2, [r3, #0] 80480be: e07c b.n 80481ba case D_Inner_IED: menupos = D_Inner_IEE; break; 80480c0: 4b6d ldr r3, [pc, #436] ; (8048278 ) 80480c2: 2218 movs r2, #24 80480c4: 701a strb r2, [r3, #0] 80480c6: e078 b.n 80481ba case D_Inner_IEE: menupos = D_Inner_IKD; break; 80480c8: 4b6b ldr r3, [pc, #428] ; (8048278 ) 80480ca: 2219 movs r2, #25 80480cc: 701a strb r2, [r3, #0] 80480ce: e074 b.n 80481ba case D_Inner_IKD: menupos = D_Inner_IKS; break; 80480d0: 4b69 ldr r3, [pc, #420] ; (8048278 ) 80480d2: 221a movs r2, #26 80480d4: 701a strb r2, [r3, #0] 80480d6: e070 b.n 80481ba case D_Inner_IKS: menupos = D_Inner_IKT; break; 80480d8: 4b67 ldr r3, [pc, #412] ; (8048278 ) 80480da: 221b movs r2, #27 80480dc: 701a strb r2, [r3, #0] 80480de: e06c b.n 80481ba case D_Inner_IKT: menupos = D_Inner_IES; break; 80480e0: 4b65 ldr r3, [pc, #404] ; (8048278 ) 80480e2: 2216 movs r2, #22 80480e4: 701a strb r2, [r3, #0] 80480e6: e068 b.n 80481ba case D_Angle_IES: menupos = D_Angle_IED; break; 80480e8: 4b63 ldr r3, [pc, #396] ; (8048278 ) 80480ea: 221d movs r2, #29 80480ec: 701a strb r2, [r3, #0] 80480ee: e064 b.n 80481ba case D_Angle_IED: menupos = D_Angle_IEE; break; 80480f0: 4b61 ldr r3, [pc, #388] ; (8048278 ) 80480f2: 221e movs r2, #30 80480f4: 701a strb r2, [r3, #0] 80480f6: e060 b.n 80481ba case D_Angle_IEE: menupos = D_Angle_IKD; break; 80480f8: 4b5f ldr r3, [pc, #380] ; (8048278 ) 80480fa: 221f movs r2, #31 80480fc: 701a strb r2, [r3, #0] 80480fe: e05c b.n 80481ba case D_Angle_IKD: menupos = D_Angle_IKS; break; 8048100: 4b5d ldr r3, [pc, #372] ; (8048278 ) 8048102: 2220 movs r2, #32 8048104: 701a strb r2, [r3, #0] 8048106: e058 b.n 80481ba case D_Angle_IKS: menupos = D_Angle_IKT; break; 8048108: 4b5b ldr r3, [pc, #364] ; (8048278 ) 804810a: 2221 movs r2, #33 ; 0x21 804810c: 701a strb r2, [r3, #0] 804810e: e054 b.n 80481ba case D_Angle_IKT: menupos = D_Angle_IES; break; 8048110: 4b59 ldr r3, [pc, #356] ; (8048278 ) 8048112: 221c movs r2, #28 8048114: 701a strb r2, [r3, #0] 8048116: e050 b.n 80481ba case RollMax_IDT: menupos = RollMax_IET; break; 8048118: 4b57 ldr r3, [pc, #348] ; (8048278 ) 804811a: 2227 movs r2, #39 ; 0x27 804811c: 701a strb r2, [r3, #0] 804811e: e04c b.n 80481ba case RollMax_IET: menupos = RollMax_IES; break; 8048120: 4b55 ldr r3, [pc, #340] ; (8048278 ) 8048122: 2228 movs r2, #40 ; 0x28 8048124: 701a strb r2, [r3, #0] 8048126: e048 b.n 80481ba case RollMax_IES: menupos = RollMax_IED; break; 8048128: 4b53 ldr r3, [pc, #332] ; (8048278 ) 804812a: 2229 movs r2, #41 ; 0x29 804812c: 701a strb r2, [r3, #0] 804812e: e044 b.n 80481ba case RollMax_IED: menupos = RollMax_IEE; break; 8048130: 4b51 ldr r3, [pc, #324] ; (8048278 ) 8048132: 222a movs r2, #42 ; 0x2a 8048134: 701a strb r2, [r3, #0] 8048136: e040 b.n 80481ba case RollMax_IEE: menupos = RollMax_IKD; break; 8048138: 4b4f ldr r3, [pc, #316] ; (8048278 ) 804813a: 222b movs r2, #43 ; 0x2b 804813c: 701a strb r2, [r3, #0] 804813e: e03c b.n 80481ba case RollMax_IKD: menupos = RollMax_IDT; break; 8048140: 4b4d ldr r3, [pc, #308] ; (8048278 ) 8048142: 2226 movs r2, #38 ; 0x26 8048144: 701a strb r2, [r3, #0] 8048146: e038 b.n 80481ba case RollCount: if(focused) 8048148: 4b4c ldr r3, [pc, #304] ; (804827c ) 804814a: 781b ldrb r3, [r3, #0] 804814c: b2db uxtb r3, r3 804814e: 2b00 cmp r3, #0 8048150: d011 beq.n 8048176 { if(pardata.ROLL_COUNT < 99) pardata.ROLL_COUNT++; 8048152: 4b4b ldr r3, [pc, #300] ; (8048280 ) 8048154: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8048158: 2b62 cmp r3, #98 ; 0x62 804815a: d807 bhi.n 804816c 804815c: 4b48 ldr r3, [pc, #288] ; (8048280 ) 804815e: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8048162: 3301 adds r3, #1 8048164: 4a46 ldr r2, [pc, #280] ; (8048280 ) 8048166: f8c2 30bc str.w r3, [r2, #188] ; 0xbc else pardata.ROLL_COUNT = 5; } else menupos = Ok; break; 804816a: e026 b.n 80481ba else pardata.ROLL_COUNT = 5; 804816c: 4b44 ldr r3, [pc, #272] ; (8048280 ) 804816e: 2205 movs r2, #5 8048170: f8c3 20bc str.w r2, [r3, #188] ; 0xbc break; 8048174: e021 b.n 80481ba menupos = Ok; 8048176: 4b40 ldr r3, [pc, #256] ; (8048278 ) 8048178: 2200 movs r2, #0 804817a: 701a strb r2, [r3, #0] break; 804817c: e01d b.n 80481ba case RollAverage: if(focused) 804817e: 4b3f ldr r3, [pc, #252] ; (804827c ) 8048180: 781b ldrb r3, [r3, #0] 8048182: b2db uxtb r3, r3 8048184: 2b00 cmp r3, #0 8048186: d010 beq.n 80481aa { if(pardata.AVG < AVG512) pardata.AVG++; 8048188: 4b3d ldr r3, [pc, #244] ; (8048280 ) 804818a: 7b5b ldrb r3, [r3, #13] 804818c: b2db uxtb r3, r3 804818e: 2b08 cmp r3, #8 8048190: d807 bhi.n 80481a2 8048192: 4b3b ldr r3, [pc, #236] ; (8048280 ) 8048194: 7b5b ldrb r3, [r3, #13] 8048196: b2db uxtb r3, r3 8048198: 3301 adds r3, #1 804819a: b2da uxtb r2, r3 804819c: 4b38 ldr r3, [pc, #224] ; (8048280 ) 804819e: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } else menupos = Ok; break; 80481a0: e00b b.n 80481ba else pardata.AVG = AVG1; 80481a2: 4b37 ldr r3, [pc, #220] ; (8048280 ) 80481a4: 2200 movs r2, #0 80481a6: 735a strb r2, [r3, #13] break; 80481a8: e007 b.n 80481ba menupos = Ok; 80481aa: 4b33 ldr r3, [pc, #204] ; (8048278 ) 80481ac: 2200 movs r2, #0 80481ae: 701a strb r2, [r3, #0] break; 80481b0: e003 b.n 80481ba case D_Inner: case D_Outer: case D_Angle: case RollAutoKu: case RollMax_ALL: menupos = Ok; 80481b2: 4b31 ldr r3, [pc, #196] ; (8048278 ) 80481b4: 2200 movs r2, #0 80481b6: 701a strb r2, [r3, #0] break; 80481b8: bf00 nop } break; 80481ba: f001 ba8a b.w 80496d2 case PARAM_VIB: switch(menupos) 80481be: 4b2e ldr r3, [pc, #184] ; (8048278 ) 80481c0: 781b ldrb r3, [r3, #0] 80481c2: b2db uxtb r3, r3 80481c4: 3b02 subs r3, #2 80481c6: 2b22 cmp r3, #34 ; 0x22 80481c8: f201 8286 bhi.w 80496d8 80481cc: a201 add r2, pc, #4 ; (adr r2, 80481d4 ) 80481ce: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80481d2: bf00 nop 80481d4: 080482fd .word 0x080482fd 80481d8: 08048331 .word 0x08048331 80481dc: 08048365 .word 0x08048365 80481e0: 080483a5 .word 0x080483a5 80481e4: 080483d9 .word 0x080483d9 80481e8: 080483d9 .word 0x080483d9 80481ec: 080483d9 .word 0x080483d9 80481f0: 080483d9 .word 0x080483d9 80481f4: 08048399 .word 0x08048399 80481f8: 08048261 .word 0x08048261 80481fc: 08048269 .word 0x08048269 8048200: 08048271 .word 0x08048271 8048204: 08048285 .word 0x08048285 8048208: 0804828d .word 0x0804828d 804820c: 08048295 .word 0x08048295 8048210: 080496d9 .word 0x080496d9 8048214: 080496d9 .word 0x080496d9 8048218: 080496d9 .word 0x080496d9 804821c: 080496d9 .word 0x080496d9 8048220: 080496d9 .word 0x080496d9 8048224: 080496d9 .word 0x080496d9 8048228: 080483d9 .word 0x080483d9 804822c: 080483d9 .word 0x080483d9 8048230: 0804829d .word 0x0804829d 8048234: 080482a5 .word 0x080482a5 8048238: 080482ad .word 0x080482ad 804823c: 080482b5 .word 0x080482b5 8048240: 080482bd .word 0x080482bd 8048244: 080482c5 .word 0x080482c5 8048248: 080482cd .word 0x080482cd 804824c: 080482d5 .word 0x080482d5 8048250: 080482dd .word 0x080482dd 8048254: 080482e5 .word 0x080482e5 8048258: 080482ed .word 0x080482ed 804825c: 080482f5 .word 0x080482f5 { case VibMax_IDT: menupos = VibMax_IET; break; 8048260: 4b05 ldr r3, [pc, #20] ; (8048278 ) 8048262: 220c movs r2, #12 8048264: 701a strb r2, [r3, #0] 8048266: e0bb b.n 80483e0 case VibMax_IET: menupos = VibMax_IES; break; 8048268: 4b03 ldr r3, [pc, #12] ; (8048278 ) 804826a: 220d movs r2, #13 804826c: 701a strb r2, [r3, #0] 804826e: e0b7 b.n 80483e0 case VibMax_IES: menupos = VibMax_IED; break; 8048270: 4b01 ldr r3, [pc, #4] ; (8048278 ) 8048272: 220e movs r2, #14 8048274: 701a strb r2, [r3, #0] 8048276: e0b3 b.n 80483e0 8048278: 20020070 .word 0x20020070 804827c: 20020fc8 .word 0x20020fc8 8048280: 20023ea8 .word 0x20023ea8 case VibMax_IED: menupos = VibMax_IEE; break; 8048284: 4bbb ldr r3, [pc, #748] ; (8048574 ) 8048286: 220f movs r2, #15 8048288: 701a strb r2, [r3, #0] 804828a: e0a9 b.n 80483e0 case VibMax_IEE: menupos = VibMax_IKD; break; 804828c: 4bb9 ldr r3, [pc, #740] ; (8048574 ) 804828e: 2210 movs r2, #16 8048290: 701a strb r2, [r3, #0] 8048292: e0a5 b.n 80483e0 case VibMax_IKD: menupos = VibMax_IDT; break; 8048294: 4bb7 ldr r3, [pc, #732] ; (8048574 ) 8048296: 220b movs r2, #11 8048298: 701a strb r2, [r3, #0] 804829a: e0a1 b.n 80483e0 case FilterHP_IDT: menupos = FilterHP_IET; break; 804829c: 4bb5 ldr r3, [pc, #724] ; (8048574 ) 804829e: 221a movs r2, #26 80482a0: 701a strb r2, [r3, #0] 80482a2: e09d b.n 80483e0 case FilterHP_IET: menupos = FilterHP_IES; break; 80482a4: 4bb3 ldr r3, [pc, #716] ; (8048574 ) 80482a6: 221b movs r2, #27 80482a8: 701a strb r2, [r3, #0] 80482aa: e099 b.n 80483e0 case FilterHP_IES: menupos = FilterHP_IED; break; 80482ac: 4bb1 ldr r3, [pc, #708] ; (8048574 ) 80482ae: 221c movs r2, #28 80482b0: 701a strb r2, [r3, #0] 80482b2: e095 b.n 80483e0 case FilterHP_IED: menupos = FilterHP_IEE; break; 80482b4: 4baf ldr r3, [pc, #700] ; (8048574 ) 80482b6: 221d movs r2, #29 80482b8: 701a strb r2, [r3, #0] 80482ba: e091 b.n 80483e0 case FilterHP_IEE: menupos = FilterHP_IKD; break; 80482bc: 4bad ldr r3, [pc, #692] ; (8048574 ) 80482be: 221e movs r2, #30 80482c0: 701a strb r2, [r3, #0] 80482c2: e08d b.n 80483e0 case FilterHP_IKD: menupos = FilterHP_IDT; break; 80482c4: 4bab ldr r3, [pc, #684] ; (8048574 ) 80482c6: 2219 movs r2, #25 80482c8: 701a strb r2, [r3, #0] 80482ca: e089 b.n 80483e0 case FilterLP_IDT: menupos = FilterLP_IET; break; 80482cc: 4ba9 ldr r3, [pc, #676] ; (8048574 ) 80482ce: 2220 movs r2, #32 80482d0: 701a strb r2, [r3, #0] 80482d2: e085 b.n 80483e0 case FilterLP_IET: menupos = FilterLP_IES; break; 80482d4: 4ba7 ldr r3, [pc, #668] ; (8048574 ) 80482d6: 2221 movs r2, #33 ; 0x21 80482d8: 701a strb r2, [r3, #0] 80482da: e081 b.n 80483e0 case FilterLP_IES: menupos = FilterLP_IED; break; 80482dc: 4ba5 ldr r3, [pc, #660] ; (8048574 ) 80482de: 2222 movs r2, #34 ; 0x22 80482e0: 701a strb r2, [r3, #0] 80482e2: e07d b.n 80483e0 case FilterLP_IED: menupos = FilterLP_IEE; break; 80482e4: 4ba3 ldr r3, [pc, #652] ; (8048574 ) 80482e6: 2223 movs r2, #35 ; 0x23 80482e8: 701a strb r2, [r3, #0] 80482ea: e079 b.n 80483e0 case FilterLP_IEE: menupos = FilterLP_IKD; break; 80482ec: 4ba1 ldr r3, [pc, #644] ; (8048574 ) 80482ee: 2224 movs r2, #36 ; 0x24 80482f0: 701a strb r2, [r3, #0] 80482f2: e075 b.n 80483e0 case FilterLP_IKD: menupos = FilterLP_IDT; break; 80482f4: 4b9f ldr r3, [pc, #636] ; (8048574 ) 80482f6: 221f movs r2, #31 80482f8: 701a strb r2, [r3, #0] 80482fa: e071 b.n 80483e0 case ValueA: if(focused) 80482fc: 4b9e ldr r3, [pc, #632] ; (8048578 ) 80482fe: 781b ldrb r3, [r3, #0] 8048300: b2db uxtb r3, r3 8048302: 2b00 cmp r3, #0 8048304: d010 beq.n 8048328 { if(pardata.IVS[ACC] < EXCESS) pardata.IVS[ACC]++; 8048306: 4b9d ldr r3, [pc, #628] ; (804857c ) 8048308: 789b ldrb r3, [r3, #2] 804830a: b2db uxtb r3, r3 804830c: 2b03 cmp r3, #3 804830e: d807 bhi.n 8048320 8048310: 4b9a ldr r3, [pc, #616] ; (804857c ) 8048312: 789b ldrb r3, [r3, #2] 8048314: b2db uxtb r3, r3 8048316: 3301 adds r3, #1 8048318: b2da uxtb r2, r3 804831a: 4b98 ldr r3, [pc, #608] ; (804857c ) 804831c: 709a strb r2, [r3, #2] else pardata.IVS[ACC] = PEAK; } else menupos = Ok; break; 804831e: e05f b.n 80483e0 else pardata.IVS[ACC] = PEAK; 8048320: 4b96 ldr r3, [pc, #600] ; (804857c ) 8048322: 2200 movs r2, #0 8048324: 709a strb r2, [r3, #2] break; 8048326: e05b b.n 80483e0 menupos = Ok; 8048328: 4b92 ldr r3, [pc, #584] ; (8048574 ) 804832a: 2200 movs r2, #0 804832c: 701a strb r2, [r3, #0] break; 804832e: e057 b.n 80483e0 case ValueV: if(focused) 8048330: 4b91 ldr r3, [pc, #580] ; (8048578 ) 8048332: 781b ldrb r3, [r3, #0] 8048334: b2db uxtb r3, r3 8048336: 2b00 cmp r3, #0 8048338: d010 beq.n 804835c { if(pardata.IVS[VEL] < EXCESS) pardata.IVS[VEL]++; 804833a: 4b90 ldr r3, [pc, #576] ; (804857c ) 804833c: 78db ldrb r3, [r3, #3] 804833e: b2db uxtb r3, r3 8048340: 2b03 cmp r3, #3 8048342: d807 bhi.n 8048354 8048344: 4b8d ldr r3, [pc, #564] ; (804857c ) 8048346: 78db ldrb r3, [r3, #3] 8048348: b2db uxtb r3, r3 804834a: 3301 adds r3, #1 804834c: b2da uxtb r2, r3 804834e: 4b8b ldr r3, [pc, #556] ; (804857c ) 8048350: 70da strb r2, [r3, #3] else pardata.IVS[VEL] = PEAK; } else menupos = Ok; break; 8048352: e045 b.n 80483e0 else pardata.IVS[VEL] = PEAK; 8048354: 4b89 ldr r3, [pc, #548] ; (804857c ) 8048356: 2200 movs r2, #0 8048358: 70da strb r2, [r3, #3] break; 804835a: e041 b.n 80483e0 menupos = Ok; 804835c: 4b85 ldr r3, [pc, #532] ; (8048574 ) 804835e: 2200 movs r2, #0 8048360: 701a strb r2, [r3, #0] break; 8048362: e03d b.n 80483e0 case ValueS: if(focused) 8048364: 4b84 ldr r3, [pc, #528] ; (8048578 ) 8048366: 781b ldrb r3, [r3, #0] 8048368: b2db uxtb r3, r3 804836a: 2b00 cmp r3, #0 804836c: d010 beq.n 8048390 { if(pardata.IVS[DIS] < EXCESS) pardata.IVS[DIS]++; 804836e: 4b83 ldr r3, [pc, #524] ; (804857c ) 8048370: 791b ldrb r3, [r3, #4] 8048372: b2db uxtb r3, r3 8048374: 2b03 cmp r3, #3 8048376: d807 bhi.n 8048388 8048378: 4b80 ldr r3, [pc, #512] ; (804857c ) 804837a: 791b ldrb r3, [r3, #4] 804837c: b2db uxtb r3, r3 804837e: 3301 adds r3, #1 8048380: b2da uxtb r2, r3 8048382: 4b7e ldr r3, [pc, #504] ; (804857c ) 8048384: 711a strb r2, [r3, #4] else pardata.IVS[DIS] = PEAK; } else menupos = Ok; break; 8048386: e02b b.n 80483e0 else pardata.IVS[DIS] = PEAK; 8048388: 4b7c ldr r3, [pc, #496] ; (804857c ) 804838a: 2200 movs r2, #0 804838c: 711a strb r2, [r3, #4] break; 804838e: e027 b.n 80483e0 menupos = Ok; 8048390: 4b78 ldr r3, [pc, #480] ; (8048574 ) 8048392: 2200 movs r2, #0 8048394: 701a strb r2, [r3, #0] break; 8048396: e023 b.n 80483e0 case SaveToFile: memset(MeasFileName, 0, sizeof(MeasFileName)); 8048398: 2221 movs r2, #33 ; 0x21 804839a: 2100 movs r1, #0 804839c: 4878 ldr r0, [pc, #480] ; (8048580 ) 804839e: f088 ffff bl 80d13a0 break; 80483a2: e01d b.n 80483e0 case Average: if(focused) 80483a4: 4b74 ldr r3, [pc, #464] ; (8048578 ) 80483a6: 781b ldrb r3, [r3, #0] 80483a8: b2db uxtb r3, r3 80483aa: 2b00 cmp r3, #0 80483ac: d010 beq.n 80483d0 { if(pardata.AVG < AVG512) pardata.AVG++; 80483ae: 4b73 ldr r3, [pc, #460] ; (804857c ) 80483b0: 7b5b ldrb r3, [r3, #13] 80483b2: b2db uxtb r3, r3 80483b4: 2b08 cmp r3, #8 80483b6: d807 bhi.n 80483c8 80483b8: 4b70 ldr r3, [pc, #448] ; (804857c ) 80483ba: 7b5b ldrb r3, [r3, #13] 80483bc: b2db uxtb r3, r3 80483be: 3301 adds r3, #1 80483c0: b2da uxtb r2, r3 80483c2: 4b6e ldr r3, [pc, #440] ; (804857c ) 80483c4: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } else menupos = Ok; break; 80483c6: e00b b.n 80483e0 else pardata.AVG = AVG1; 80483c8: 4b6c ldr r3, [pc, #432] ; (804857c ) 80483ca: 2200 movs r2, #0 80483cc: 735a strb r2, [r3, #13] break; 80483ce: e007 b.n 80483e0 menupos = Ok; 80483d0: 4b68 ldr r3, [pc, #416] ; (8048574 ) 80483d2: 2200 movs r2, #0 80483d4: 701a strb r2, [r3, #0] break; 80483d6: e003 b.n 80483e0 case FilterLP: case ViewFreq: case VibAutoKu: case Mediana: case VibMax_ALL: menupos = Ok; 80483d8: 4b66 ldr r3, [pc, #408] ; (8048574 ) 80483da: 2200 movs r2, #0 80483dc: 701a strb r2, [r3, #0] break; 80483de: bf00 nop } break; 80483e0: f001 b97a b.w 80496d8 case PARAM_SPEC: switch(menupos) 80483e4: 4b63 ldr r3, [pc, #396] ; (8048574 ) 80483e6: 781b ldrb r3, [r3, #0] 80483e8: b2db uxtb r3, r3 80483ea: 3b01 subs r3, #1 80483ec: 2b23 cmp r3, #35 ; 0x23 80483ee: f201 8176 bhi.w 80496de 80483f2: a201 add r2, pc, #4 ; (adr r2, 80483f8 ) 80483f4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80483f8: 08048493 .word 0x08048493 80483fc: 080489f9 .word 0x080489f9 8048400: 080496df .word 0x080496df 8048404: 08048d1b .word 0x08048d1b 8048408: 08048d83 .word 0x08048d83 804840c: 08048d4f .word 0x08048d4f 8048410: 08048daf .word 0x08048daf 8048414: 08048489 .word 0x08048489 8048418: 08048489 .word 0x08048489 804841c: 080496df .word 0x080496df 8048420: 08048969 .word 0x08048969 8048424: 08048971 .word 0x08048971 8048428: 08048979 .word 0x08048979 804842c: 08048981 .word 0x08048981 8048430: 08048989 .word 0x08048989 8048434: 08048991 .word 0x08048991 8048438: 080496df .word 0x080496df 804843c: 080496df .word 0x080496df 8048440: 080496df .word 0x080496df 8048444: 080496df .word 0x080496df 8048448: 080496df .word 0x080496df 804844c: 080496df .word 0x080496df 8048450: 08048489 .word 0x08048489 8048454: 08048489 .word 0x08048489 8048458: 08048999 .word 0x08048999 804845c: 080489a1 .word 0x080489a1 8048460: 080489a9 .word 0x080489a9 8048464: 080489b1 .word 0x080489b1 8048468: 080489b9 .word 0x080489b9 804846c: 080489c1 .word 0x080489c1 8048470: 080489c9 .word 0x080489c9 8048474: 080489d1 .word 0x080489d1 8048478: 080489d9 .word 0x080489d9 804847c: 080489e1 .word 0x080489e1 8048480: 080489e9 .word 0x080489e9 8048484: 080489f1 .word 0x080489f1 { case VibMax_ALL: case VibAutoKu: case FilterHP: case FilterLP: menupos = Ok; 8048488: 4b3a ldr r3, [pc, #232] ; (8048574 ) 804848a: 2200 movs r2, #0 804848c: 701a strb r2, [r3, #0] break; 804848e: f000 bca9 b.w 8048de4 case SpecType: if(focused) 8048492: 4b39 ldr r3, [pc, #228] ; (8048578 ) 8048494: 781b ldrb r3, [r3, #0] 8048496: b2db uxtb r3, r3 8048498: 2b00 cmp r3, #0 804849a: f000 8260 beq.w 804895e { if((pardata.OPTIONS & maskFFT) == fft) 804849e: 4b37 ldr r3, [pc, #220] ; (804857c ) 80484a0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80484a4: f003 0330 and.w r3, r3, #48 ; 0x30 80484a8: 2b00 cmp r3, #0 80484aa: f040 8086 bne.w 80485ba { pardata.OPTIONS &= ~maskFFT; 80484ae: 4b33 ldr r3, [pc, #204] ; (804857c ) 80484b0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80484b4: f023 0330 bic.w r3, r3, #48 ; 0x30 80484b8: 4a30 ldr r2, [pc, #192] ; (804857c ) 80484ba: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= env; 80484be: 4b2f ldr r3, [pc, #188] ; (804857c ) 80484c0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80484c4: f043 0310 orr.w r3, r3, #16 80484c8: 4a2c ldr r2, [pc, #176] ; (804857c ) 80484ca: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 80484ce: 4b2b ldr r3, [pc, #172] ; (804857c ) 80484d0: 785b ldrb r3, [r3, #1] 80484d2: b2db uxtb r3, r3 80484d4: 461a mov r2, r3 80484d6: 4b29 ldr r3, [pc, #164] ; (804857c ) 80484d8: 4413 add r3, r2 80484da: 789b ldrb r3, [r3, #2] 80484dc: b2db uxtb r3, r3 80484de: 2b01 cmp r3, #1 80484e0: d907 bls.n 80484f2 pardata.IVS[pardata.IPR] = PEAK; 80484e2: 4b26 ldr r3, [pc, #152] ; (804857c ) 80484e4: 785b ldrb r3, [r3, #1] 80484e6: b2db uxtb r3, r3 80484e8: 461a mov r2, r3 80484ea: 4b24 ldr r3, [pc, #144] ; (804857c ) 80484ec: 4413 add r3, r2 80484ee: 2200 movs r2, #0 80484f0: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 80484f2: 4b22 ldr r3, [pc, #136] ; (804857c ) 80484f4: 785b ldrb r3, [r3, #1] 80484f6: b2db uxtb r3, r3 80484f8: 2b00 cmp r3, #0 80484fa: d00e beq.n 804851a 80484fc: 4b1f ldr r3, [pc, #124] ; (804857c ) 80484fe: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8048502: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8048506: eef4 7ac7 vcmpe.f32 s15, s14 804850a: eef1 fa10 vmrs APSR_nzcv, fpscr 804850e: d504 bpl.n 804851a pardata.HP = 2.0f; 8048510: 4b1a ldr r3, [pc, #104] ; (804857c ) 8048512: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8048516: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 804851a: 2309 movs r3, #9 804851c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8048520: e045 b.n 80485ae { f = (float32_t) FS[k] / pardata.LP; 8048522: 4a18 ldr r2, [pc, #96] ; (8048584 ) 8048524: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048528: f852 3023 ldr.w r3, [r2, r3, lsl #2] 804852c: ee07 3a90 vmov s15, r3 8048530: eef8 6a67 vcvt.f32.u32 s13, s15 8048534: 4b11 ldr r3, [pc, #68] ; (804857c ) 8048536: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 804853a: eec6 7a87 vdiv.f32 s15, s13, s14 804853e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8048542: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8048546: ed9f 7a10 vldr s14, [pc, #64] ; 8048588 804854a: ee77 7a87 vadd.f32 s15, s15, s14 804854e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8048552: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8048556: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 804855a: eef4 7ac7 vcmpe.f32 s15, s14 804855e: eef1 fa10 vmrs APSR_nzcv, fpscr 8048562: d513 bpl.n 804858c { pardata.FRQ = k + 1; 8048564: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048568: b2db uxtb r3, r3 804856a: 3301 adds r3, #1 804856c: b2da uxtb r2, r3 804856e: 4b03 ldr r3, [pc, #12] ; (804857c ) 8048570: 72da strb r2, [r3, #11] break; 8048572: e1f8 b.n 8048966 8048574: 20020070 .word 0x20020070 8048578: 20020fc8 .word 0x20020fc8 804857c: 20023ea8 .word 0x20023ea8 8048580: 20020e78 .word 0x20020e78 8048584: 080f2c08 .word 0x080f2c08 8048588: 38d1b717 .word 0x38d1b717 } else { if(k > 0) 804858c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048590: 2b00 cmp r3, #0 8048592: d004 beq.n 804859e k--; 8048594: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048598: 3b01 subs r3, #1 804859a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 804859e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80485a2: 2b00 cmp r3, #0 80485a4: d103 bne.n 80485ae { pardata.FRQ = _125Hz; 80485a6: 4ba9 ldr r3, [pc, #676] ; (804884c ) 80485a8: 2200 movs r2, #0 80485aa: 72da strb r2, [r3, #11] break; 80485ac: e1db b.n 8048966 while(k > _125Hz) 80485ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80485b2: 2b00 cmp r3, #0 80485b4: d1b5 bne.n 8048522 } } } else menupos = Ok; break; 80485b6: f000 bc14 b.w 8048de2 if((pardata.OPTIONS & maskFFT) == env) 80485ba: 4ba4 ldr r3, [pc, #656] ; (804884c ) 80485bc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80485c0: f003 0330 and.w r3, r3, #48 ; 0x30 80485c4: 2b10 cmp r3, #16 80485c6: f040 80a0 bne.w 804870a pardata.OPTIONS &= ~maskFFT; 80485ca: 4ba0 ldr r3, [pc, #640] ; (804884c ) 80485cc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80485d0: f023 0330 bic.w r3, r3, #48 ; 0x30 80485d4: 4a9d ldr r2, [pc, #628] ; (804884c ) 80485d6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= okt; 80485da: 4b9c ldr r3, [pc, #624] ; (804884c ) 80485dc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80485e0: f043 0320 orr.w r3, r3, #32 80485e4: 4a99 ldr r2, [pc, #612] ; (804884c ) 80485e6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 80485ea: 4b98 ldr r3, [pc, #608] ; (804884c ) 80485ec: 785b ldrb r3, [r3, #1] 80485ee: b2db uxtb r3, r3 80485f0: 461a mov r2, r3 80485f2: 4b96 ldr r3, [pc, #600] ; (804884c ) 80485f4: 4413 add r3, r2 80485f6: 789b ldrb r3, [r3, #2] 80485f8: b2db uxtb r3, r3 80485fa: 2b01 cmp r3, #1 80485fc: d907 bls.n 804860e pardata.IVS[pardata.IPR] = PEAK; 80485fe: 4b93 ldr r3, [pc, #588] ; (804884c ) 8048600: 785b ldrb r3, [r3, #1] 8048602: b2db uxtb r3, r3 8048604: 461a mov r2, r3 8048606: 4b91 ldr r3, [pc, #580] ; (804884c ) 8048608: 4413 add r3, r2 804860a: 2200 movs r2, #0 804860c: 709a strb r2, [r3, #2] pardata.LNE = N3200; 804860e: 4b8f ldr r3, [pc, #572] ; (804884c ) 8048610: 2203 movs r2, #3 8048612: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8048614: 4b8d ldr r3, [pc, #564] ; (804884c ) 8048616: 2209 movs r2, #9 8048618: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 804861a: 4b8c ldr r3, [pc, #560] ; (804884c ) 804861c: 785b ldrb r3, [r3, #1] 804861e: b2db uxtb r3, r3 8048620: 2b00 cmp r3, #0 8048622: d00e beq.n 8048642 8048624: 4b89 ldr r3, [pc, #548] ; (804884c ) 8048626: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804862a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804862e: eef4 7ac7 vcmpe.f32 s15, s14 8048632: eef1 fa10 vmrs APSR_nzcv, fpscr 8048636: d504 bpl.n 8048642 pardata.HP = 2.0f; 8048638: 4b84 ldr r3, [pc, #528] ; (804884c ) 804863a: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 804863e: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8048642: 4b82 ldr r3, [pc, #520] ; (804884c ) 8048644: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8048648: 4b80 ldr r3, [pc, #512] ; (804884c ) 804864a: 7adb ldrb r3, [r3, #11] 804864c: b2db uxtb r3, r3 804864e: 461a mov r2, r3 8048650: 4b7f ldr r3, [pc, #508] ; (8048850 ) 8048652: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048656: ee07 3a90 vmov s15, r3 804865a: eef8 6a67 vcvt.f32.u32 s13, s15 804865e: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8048662: eec6 7a86 vdiv.f32 s15, s13, s12 8048666: eddf 6a7b vldr s13, [pc, #492] ; 8048854 804866a: ee77 7aa6 vadd.f32 s15, s15, s13 804866e: eeb4 7ae7 vcmpe.f32 s14, s15 8048672: eef1 fa10 vmrs APSR_nzcv, fpscr 8048676: dd15 ble.n 80486a4 pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8048678: 4b74 ldr r3, [pc, #464] ; (804884c ) 804867a: 7adb ldrb r3, [r3, #11] 804867c: b2db uxtb r3, r3 804867e: 461a mov r2, r3 8048680: 4b73 ldr r3, [pc, #460] ; (8048850 ) 8048682: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048686: 4a74 ldr r2, [pc, #464] ; (8048858 ) 8048688: fba2 2303 umull r2, r3, r2, r3 804868c: 089b lsrs r3, r3, #2 804868e: ee07 3a90 vmov s15, r3 8048692: eef8 7a67 vcvt.f32.u32 s15, s15 8048696: ed9f 7a71 vldr s14, [pc, #452] ; 804885c 804869a: ee77 7a87 vadd.f32 s15, s15, s14 804869e: 4b6b ldr r3, [pc, #428] ; (804884c ) 80486a0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80486a4: 4b69 ldr r3, [pc, #420] ; (804884c ) 80486a6: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80486aa: 4b68 ldr r3, [pc, #416] ; (804884c ) 80486ac: 7adb ldrb r3, [r3, #11] 80486ae: b2db uxtb r3, r3 80486b0: 461a mov r2, r3 80486b2: 4b67 ldr r3, [pc, #412] ; (8048850 ) 80486b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80486b8: ee07 3a90 vmov s15, r3 80486bc: eef8 6a67 vcvt.f32.u32 s13, s15 80486c0: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 80486c4: eec6 7a86 vdiv.f32 s15, s13, s12 80486c8: eddf 6a62 vldr s13, [pc, #392] ; 8048854 80486cc: ee77 7aa6 vadd.f32 s15, s15, s13 80486d0: eeb4 7ae7 vcmpe.f32 s14, s15 80486d4: eef1 fa10 vmrs APSR_nzcv, fpscr 80486d8: dc00 bgt.n 80486dc break; 80486da: e382 b.n 8048de2 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 80486dc: 4b5b ldr r3, [pc, #364] ; (804884c ) 80486de: 7adb ldrb r3, [r3, #11] 80486e0: b2db uxtb r3, r3 80486e2: 461a mov r2, r3 80486e4: 4b5a ldr r3, [pc, #360] ; (8048850 ) 80486e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80486ea: 4a5b ldr r2, [pc, #364] ; (8048858 ) 80486ec: fba2 2303 umull r2, r3, r2, r3 80486f0: 089b lsrs r3, r3, #2 80486f2: ee07 3a90 vmov s15, r3 80486f6: eef8 7a67 vcvt.f32.u32 s15, s15 80486fa: ed9f 7a58 vldr s14, [pc, #352] ; 804885c 80486fe: ee77 7a87 vadd.f32 s15, s15, s14 8048702: 4b52 ldr r3, [pc, #328] ; (804884c ) 8048704: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8048708: e36b b.n 8048de2 if((pardata.OPTIONS & maskFFT) == okt) 804870a: 4b50 ldr r3, [pc, #320] ; (804884c ) 804870c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8048710: f003 0330 and.w r3, r3, #48 ; 0x30 8048714: 2b20 cmp r3, #32 8048716: f040 80a3 bne.w 8048860 pardata.OPTIONS &= ~maskFFT; 804871a: 4b4c ldr r3, [pc, #304] ; (804884c ) 804871c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8048720: f023 0330 bic.w r3, r3, #48 ; 0x30 8048724: 4a49 ldr r2, [pc, #292] ; (804884c ) 8048726: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= third; 804872a: 4b48 ldr r3, [pc, #288] ; (804884c ) 804872c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8048730: f043 0330 orr.w r3, r3, #48 ; 0x30 8048734: 4a45 ldr r2, [pc, #276] ; (804884c ) 8048736: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 804873a: 4b44 ldr r3, [pc, #272] ; (804884c ) 804873c: 785b ldrb r3, [r3, #1] 804873e: b2db uxtb r3, r3 8048740: 461a mov r2, r3 8048742: 4b42 ldr r3, [pc, #264] ; (804884c ) 8048744: 4413 add r3, r2 8048746: 789b ldrb r3, [r3, #2] 8048748: b2db uxtb r3, r3 804874a: 2b01 cmp r3, #1 804874c: d907 bls.n 804875e pardata.IVS[pardata.IPR] = PEAK; 804874e: 4b3f ldr r3, [pc, #252] ; (804884c ) 8048750: 785b ldrb r3, [r3, #1] 8048752: b2db uxtb r3, r3 8048754: 461a mov r2, r3 8048756: 4b3d ldr r3, [pc, #244] ; (804884c ) 8048758: 4413 add r3, r2 804875a: 2200 movs r2, #0 804875c: 709a strb r2, [r3, #2] pardata.LNE = N3200; 804875e: 4b3b ldr r3, [pc, #236] ; (804884c ) 8048760: 2203 movs r2, #3 8048762: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8048764: 4b39 ldr r3, [pc, #228] ; (804884c ) 8048766: 2209 movs r2, #9 8048768: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 804876a: 4b38 ldr r3, [pc, #224] ; (804884c ) 804876c: 785b ldrb r3, [r3, #1] 804876e: b2db uxtb r3, r3 8048770: 2b00 cmp r3, #0 8048772: d00e beq.n 8048792 8048774: 4b35 ldr r3, [pc, #212] ; (804884c ) 8048776: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804877a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804877e: eef4 7ac7 vcmpe.f32 s15, s14 8048782: eef1 fa10 vmrs APSR_nzcv, fpscr 8048786: d504 bpl.n 8048792 pardata.HP = 2.0f; 8048788: 4b30 ldr r3, [pc, #192] ; (804884c ) 804878a: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 804878e: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8048792: 4b2e ldr r3, [pc, #184] ; (804884c ) 8048794: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8048798: 4b2c ldr r3, [pc, #176] ; (804884c ) 804879a: 7adb ldrb r3, [r3, #11] 804879c: b2db uxtb r3, r3 804879e: 461a mov r2, r3 80487a0: 4b2b ldr r3, [pc, #172] ; (8048850 ) 80487a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80487a6: ee07 3a90 vmov s15, r3 80487aa: eef8 6a67 vcvt.f32.u32 s13, s15 80487ae: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 80487b2: eec6 7a86 vdiv.f32 s15, s13, s12 80487b6: eeb4 7ae7 vcmpe.f32 s14, s15 80487ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80487be: dd15 ble.n 80487ec pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 80487c0: 4b22 ldr r3, [pc, #136] ; (804884c ) 80487c2: 7adb ldrb r3, [r3, #11] 80487c4: b2db uxtb r3, r3 80487c6: 461a mov r2, r3 80487c8: 4b21 ldr r3, [pc, #132] ; (8048850 ) 80487ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80487ce: ee07 3a90 vmov s15, r3 80487d2: eeb8 7a67 vcvt.f32.u32 s14, s15 80487d6: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80487da: eec7 7a26 vdiv.f32 s15, s14, s13 80487de: ed9f 7a1f vldr s14, [pc, #124] ; 804885c 80487e2: ee77 7a87 vadd.f32 s15, s15, s14 80487e6: 4b19 ldr r3, [pc, #100] ; (804884c ) 80487e8: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 80487ec: 4b17 ldr r3, [pc, #92] ; (804884c ) 80487ee: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80487f2: 4b16 ldr r3, [pc, #88] ; (804884c ) 80487f4: 7adb ldrb r3, [r3, #11] 80487f6: b2db uxtb r3, r3 80487f8: 461a mov r2, r3 80487fa: 4b15 ldr r3, [pc, #84] ; (8048850 ) 80487fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048800: ee07 3a90 vmov s15, r3 8048804: eef8 6a67 vcvt.f32.u32 s13, s15 8048808: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 804880c: eec6 7a86 vdiv.f32 s15, s13, s12 8048810: eeb4 7ae7 vcmpe.f32 s14, s15 8048814: eef1 fa10 vmrs APSR_nzcv, fpscr 8048818: dc00 bgt.n 804881c break; 804881a: e2e2 b.n 8048de2 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 804881c: 4b0b ldr r3, [pc, #44] ; (804884c ) 804881e: 7adb ldrb r3, [r3, #11] 8048820: b2db uxtb r3, r3 8048822: 461a mov r2, r3 8048824: 4b0a ldr r3, [pc, #40] ; (8048850 ) 8048826: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804882a: ee07 3a90 vmov s15, r3 804882e: eeb8 7a67 vcvt.f32.u32 s14, s15 8048832: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8048836: eec7 7a26 vdiv.f32 s15, s14, s13 804883a: ed9f 7a08 vldr s14, [pc, #32] ; 804885c 804883e: ee77 7a87 vadd.f32 s15, s15, s14 8048842: 4b02 ldr r3, [pc, #8] ; (804884c ) 8048844: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8048848: e2cb b.n 8048de2 804884a: bf00 nop 804884c: 20023ea8 .word 0x20023ea8 8048850: 080f2c08 .word 0x080f2c08 8048854: 3851b717 .word 0x3851b717 8048858: cccccccd .word 0xcccccccd 804885c: 38d1b717 .word 0x38d1b717 if((pardata.OPTIONS & maskFFT) == third) 8048860: 4bac ldr r3, [pc, #688] ; (8048b14 ) 8048862: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8048866: f003 0330 and.w r3, r3, #48 ; 0x30 804886a: 2b30 cmp r3, #48 ; 0x30 804886c: f040 82b9 bne.w 8048de2 pardata.OPTIONS &= ~maskFFT; 8048870: 4ba8 ldr r3, [pc, #672] ; (8048b14 ) 8048872: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8048876: f023 0330 bic.w r3, r3, #48 ; 0x30 804887a: 4aa6 ldr r2, [pc, #664] ; (8048b14 ) 804887c: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= fft; 8048880: 4ba4 ldr r3, [pc, #656] ; (8048b14 ) 8048882: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8048886: 4aa3 ldr r2, [pc, #652] ; (8048b14 ) 8048888: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 804888c: 4ba1 ldr r3, [pc, #644] ; (8048b14 ) 804888e: 785b ldrb r3, [r3, #1] 8048890: b2db uxtb r3, r3 8048892: 461a mov r2, r3 8048894: 4b9f ldr r3, [pc, #636] ; (8048b14 ) 8048896: 4413 add r3, r2 8048898: 789b ldrb r3, [r3, #2] 804889a: b2db uxtb r3, r3 804889c: 2b01 cmp r3, #1 804889e: d907 bls.n 80488b0 pardata.IVS[pardata.IPR] = PEAK; 80488a0: 4b9c ldr r3, [pc, #624] ; (8048b14 ) 80488a2: 785b ldrb r3, [r3, #1] 80488a4: b2db uxtb r3, r3 80488a6: 461a mov r2, r3 80488a8: 4b9a ldr r3, [pc, #616] ; (8048b14 ) 80488aa: 4413 add r3, r2 80488ac: 2200 movs r2, #0 80488ae: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 80488b0: 4b98 ldr r3, [pc, #608] ; (8048b14 ) 80488b2: 785b ldrb r3, [r3, #1] 80488b4: b2db uxtb r3, r3 80488b6: 2b00 cmp r3, #0 80488b8: d00e beq.n 80488d8 80488ba: 4b96 ldr r3, [pc, #600] ; (8048b14 ) 80488bc: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80488c0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80488c4: eef4 7ac7 vcmpe.f32 s15, s14 80488c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80488cc: d504 bpl.n 80488d8 pardata.HP = 2.0f; 80488ce: 4b91 ldr r3, [pc, #580] ; (8048b14 ) 80488d0: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80488d4: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 80488d8: 2309 movs r3, #9 80488da: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 80488de: e039 b.n 8048954 f = (float32_t) FS[k] / pardata.LP; 80488e0: 4a8d ldr r2, [pc, #564] ; (8048b18 ) 80488e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80488e6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80488ea: ee07 3a90 vmov s15, r3 80488ee: eef8 6a67 vcvt.f32.u32 s13, s15 80488f2: 4b88 ldr r3, [pc, #544] ; (8048b14 ) 80488f4: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80488f8: eec6 7a87 vdiv.f32 s15, s13, s14 80488fc: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8048900: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8048904: ed9f 7a85 vldr s14, [pc, #532] ; 8048b1c 8048908: ee77 7a87 vadd.f32 s15, s15, s14 804890c: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8048910: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8048914: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8048918: eef4 7ac7 vcmpe.f32 s15, s14 804891c: eef1 fa10 vmrs APSR_nzcv, fpscr 8048920: d507 bpl.n 8048932 pardata.FRQ = k + 1; 8048922: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048926: b2db uxtb r3, r3 8048928: 3301 adds r3, #1 804892a: b2da uxtb r2, r3 804892c: 4b79 ldr r3, [pc, #484] ; (8048b14 ) 804892e: 72da strb r2, [r3, #11] break; 8048930: e019 b.n 8048966 if(k > 0) 8048932: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048936: 2b00 cmp r3, #0 8048938: d004 beq.n 8048944 k--; 804893a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804893e: 3b01 subs r3, #1 8048940: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8048944: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048948: 2b00 cmp r3, #0 804894a: d103 bne.n 8048954 pardata.FRQ = _125Hz; 804894c: 4b71 ldr r3, [pc, #452] ; (8048b14 ) 804894e: 2200 movs r2, #0 8048950: 72da strb r2, [r3, #11] break; 8048952: e008 b.n 8048966 while(k > _125Hz) 8048954: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048958: 2b00 cmp r3, #0 804895a: d1c1 bne.n 80488e0 break; 804895c: e241 b.n 8048de2 menupos = Ok; 804895e: 4b70 ldr r3, [pc, #448] ; (8048b20 ) 8048960: 2200 movs r2, #0 8048962: 701a strb r2, [r3, #0] break; 8048964: e23d b.n 8048de2 8048966: e23c b.n 8048de2 case VibMax_IDT: menupos = VibMax_IET; break; 8048968: 4b6d ldr r3, [pc, #436] ; (8048b20 ) 804896a: 220c movs r2, #12 804896c: 701a strb r2, [r3, #0] 804896e: e239 b.n 8048de4 case VibMax_IET: menupos = VibMax_IES; break; 8048970: 4b6b ldr r3, [pc, #428] ; (8048b20 ) 8048972: 220d movs r2, #13 8048974: 701a strb r2, [r3, #0] 8048976: e235 b.n 8048de4 case VibMax_IES: menupos = VibMax_IED; break; 8048978: 4b69 ldr r3, [pc, #420] ; (8048b20 ) 804897a: 220e movs r2, #14 804897c: 701a strb r2, [r3, #0] 804897e: e231 b.n 8048de4 case VibMax_IED: menupos = VibMax_IEE; break; 8048980: 4b67 ldr r3, [pc, #412] ; (8048b20 ) 8048982: 220f movs r2, #15 8048984: 701a strb r2, [r3, #0] 8048986: e22d b.n 8048de4 case VibMax_IEE: menupos = VibMax_IKD; break; 8048988: 4b65 ldr r3, [pc, #404] ; (8048b20 ) 804898a: 2210 movs r2, #16 804898c: 701a strb r2, [r3, #0] 804898e: e229 b.n 8048de4 case VibMax_IKD: menupos = VibMax_IDT; break; 8048990: 4b63 ldr r3, [pc, #396] ; (8048b20 ) 8048992: 220b movs r2, #11 8048994: 701a strb r2, [r3, #0] 8048996: e225 b.n 8048de4 case FilterHP_IDT: menupos = FilterHP_IET; break; 8048998: 4b61 ldr r3, [pc, #388] ; (8048b20 ) 804899a: 221a movs r2, #26 804899c: 701a strb r2, [r3, #0] 804899e: e221 b.n 8048de4 case FilterHP_IET: menupos = FilterHP_IES; break; 80489a0: 4b5f ldr r3, [pc, #380] ; (8048b20 ) 80489a2: 221b movs r2, #27 80489a4: 701a strb r2, [r3, #0] 80489a6: e21d b.n 8048de4 case FilterHP_IES: menupos = FilterHP_IED; break; 80489a8: 4b5d ldr r3, [pc, #372] ; (8048b20 ) 80489aa: 221c movs r2, #28 80489ac: 701a strb r2, [r3, #0] 80489ae: e219 b.n 8048de4 case FilterHP_IED: menupos = FilterHP_IEE; break; 80489b0: 4b5b ldr r3, [pc, #364] ; (8048b20 ) 80489b2: 221d movs r2, #29 80489b4: 701a strb r2, [r3, #0] 80489b6: e215 b.n 8048de4 case FilterHP_IEE: menupos = FilterHP_IKD; break; 80489b8: 4b59 ldr r3, [pc, #356] ; (8048b20 ) 80489ba: 221e movs r2, #30 80489bc: 701a strb r2, [r3, #0] 80489be: e211 b.n 8048de4 case FilterHP_IKD: menupos = FilterHP_IDT; break; 80489c0: 4b57 ldr r3, [pc, #348] ; (8048b20 ) 80489c2: 2219 movs r2, #25 80489c4: 701a strb r2, [r3, #0] 80489c6: e20d b.n 8048de4 case FilterLP_IDT: menupos = FilterLP_IET; break; 80489c8: 4b55 ldr r3, [pc, #340] ; (8048b20 ) 80489ca: 2220 movs r2, #32 80489cc: 701a strb r2, [r3, #0] 80489ce: e209 b.n 8048de4 case FilterLP_IET: menupos = FilterLP_IES; break; 80489d0: 4b53 ldr r3, [pc, #332] ; (8048b20 ) 80489d2: 2221 movs r2, #33 ; 0x21 80489d4: 701a strb r2, [r3, #0] 80489d6: e205 b.n 8048de4 case FilterLP_IES: menupos = FilterLP_IED; break; 80489d8: 4b51 ldr r3, [pc, #324] ; (8048b20 ) 80489da: 2222 movs r2, #34 ; 0x22 80489dc: 701a strb r2, [r3, #0] 80489de: e201 b.n 8048de4 case FilterLP_IED: menupos = FilterLP_IEE; break; 80489e0: 4b4f ldr r3, [pc, #316] ; (8048b20 ) 80489e2: 2223 movs r2, #35 ; 0x23 80489e4: 701a strb r2, [r3, #0] 80489e6: e1fd b.n 8048de4 case FilterLP_IEE: menupos = FilterLP_IKD; break; 80489e8: 4b4d ldr r3, [pc, #308] ; (8048b20 ) 80489ea: 2224 movs r2, #36 ; 0x24 80489ec: 701a strb r2, [r3, #0] 80489ee: e1f9 b.n 8048de4 case FilterLP_IKD: menupos = FilterLP_IDT; break; 80489f0: 4b4b ldr r3, [pc, #300] ; (8048b20 ) 80489f2: 221f movs r2, #31 80489f4: 701a strb r2, [r3, #0] 80489f6: e1f5 b.n 8048de4 case SpecValue: if(focused) 80489f8: 4b4a ldr r3, [pc, #296] ; (8048b24 ) 80489fa: 781b ldrb r3, [r3, #0] 80489fc: b2db uxtb r3, r3 80489fe: 2b00 cmp r3, #0 8048a00: f000 8187 beq.w 8048d12 { if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == PEAK)) 8048a04: 4b43 ldr r3, [pc, #268] ; (8048b14 ) 8048a06: 785b ldrb r3, [r3, #1] 8048a08: b2db uxtb r3, r3 8048a0a: 2b00 cmp r3, #0 8048a0c: d115 bne.n 8048a3a 8048a0e: 4b41 ldr r3, [pc, #260] ; (8048b14 ) 8048a10: 785b ldrb r3, [r3, #1] 8048a12: b2db uxtb r3, r3 8048a14: 461a mov r2, r3 8048a16: 4b3f ldr r3, [pc, #252] ; (8048b14 ) 8048a18: 4413 add r3, r2 8048a1a: 789b ldrb r3, [r3, #2] 8048a1c: b2db uxtb r3, r3 8048a1e: 2b00 cmp r3, #0 8048a20: d10b bne.n 8048a3a { pardata.IPR = ACC; 8048a22: 4b3c ldr r3, [pc, #240] ; (8048b14 ) 8048a24: 2200 movs r2, #0 8048a26: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 8048a28: 4b3a ldr r3, [pc, #232] ; (8048b14 ) 8048a2a: 785b ldrb r3, [r3, #1] 8048a2c: b2db uxtb r3, r3 8048a2e: 461a mov r2, r3 8048a30: 4b38 ldr r3, [pc, #224] ; (8048b14 ) 8048a32: 4413 add r3, r2 8048a34: 2201 movs r2, #1 8048a36: 709a strb r2, [r3, #2] 8048a38: e090 b.n 8048b5c } else if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == RMS)) 8048a3a: 4b36 ldr r3, [pc, #216] ; (8048b14 ) 8048a3c: 785b ldrb r3, [r3, #1] 8048a3e: b2db uxtb r3, r3 8048a40: 2b00 cmp r3, #0 8048a42: d115 bne.n 8048a70 8048a44: 4b33 ldr r3, [pc, #204] ; (8048b14 ) 8048a46: 785b ldrb r3, [r3, #1] 8048a48: b2db uxtb r3, r3 8048a4a: 461a mov r2, r3 8048a4c: 4b31 ldr r3, [pc, #196] ; (8048b14 ) 8048a4e: 4413 add r3, r2 8048a50: 789b ldrb r3, [r3, #2] 8048a52: b2db uxtb r3, r3 8048a54: 2b01 cmp r3, #1 8048a56: d10b bne.n 8048a70 { pardata.IPR = VEL; 8048a58: 4b2e ldr r3, [pc, #184] ; (8048b14 ) 8048a5a: 2201 movs r2, #1 8048a5c: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 8048a5e: 4b2d ldr r3, [pc, #180] ; (8048b14 ) 8048a60: 785b ldrb r3, [r3, #1] 8048a62: b2db uxtb r3, r3 8048a64: 461a mov r2, r3 8048a66: 4b2b ldr r3, [pc, #172] ; (8048b14 ) 8048a68: 4413 add r3, r2 8048a6a: 2200 movs r2, #0 8048a6c: 709a strb r2, [r3, #2] 8048a6e: e075 b.n 8048b5c } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == PEAK)) 8048a70: 4b28 ldr r3, [pc, #160] ; (8048b14 ) 8048a72: 785b ldrb r3, [r3, #1] 8048a74: b2db uxtb r3, r3 8048a76: 2b01 cmp r3, #1 8048a78: d115 bne.n 8048aa6 8048a7a: 4b26 ldr r3, [pc, #152] ; (8048b14 ) 8048a7c: 785b ldrb r3, [r3, #1] 8048a7e: b2db uxtb r3, r3 8048a80: 461a mov r2, r3 8048a82: 4b24 ldr r3, [pc, #144] ; (8048b14 ) 8048a84: 4413 add r3, r2 8048a86: 789b ldrb r3, [r3, #2] 8048a88: b2db uxtb r3, r3 8048a8a: 2b00 cmp r3, #0 8048a8c: d10b bne.n 8048aa6 { pardata.IPR = VEL; 8048a8e: 4b21 ldr r3, [pc, #132] ; (8048b14 ) 8048a90: 2201 movs r2, #1 8048a92: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 8048a94: 4b1f ldr r3, [pc, #124] ; (8048b14 ) 8048a96: 785b ldrb r3, [r3, #1] 8048a98: b2db uxtb r3, r3 8048a9a: 461a mov r2, r3 8048a9c: 4b1d ldr r3, [pc, #116] ; (8048b14 ) 8048a9e: 4413 add r3, r2 8048aa0: 2201 movs r2, #1 8048aa2: 709a strb r2, [r3, #2] 8048aa4: e05a b.n 8048b5c } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == RMS)) 8048aa6: 4b1b ldr r3, [pc, #108] ; (8048b14 ) 8048aa8: 785b ldrb r3, [r3, #1] 8048aaa: b2db uxtb r3, r3 8048aac: 2b01 cmp r3, #1 8048aae: d115 bne.n 8048adc 8048ab0: 4b18 ldr r3, [pc, #96] ; (8048b14 ) 8048ab2: 785b ldrb r3, [r3, #1] 8048ab4: b2db uxtb r3, r3 8048ab6: 461a mov r2, r3 8048ab8: 4b16 ldr r3, [pc, #88] ; (8048b14 ) 8048aba: 4413 add r3, r2 8048abc: 789b ldrb r3, [r3, #2] 8048abe: b2db uxtb r3, r3 8048ac0: 2b01 cmp r3, #1 8048ac2: d10b bne.n 8048adc { pardata.IPR = DIS; 8048ac4: 4b13 ldr r3, [pc, #76] ; (8048b14 ) 8048ac6: 2202 movs r2, #2 8048ac8: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 8048aca: 4b12 ldr r3, [pc, #72] ; (8048b14 ) 8048acc: 785b ldrb r3, [r3, #1] 8048ace: b2db uxtb r3, r3 8048ad0: 461a mov r2, r3 8048ad2: 4b10 ldr r3, [pc, #64] ; (8048b14 ) 8048ad4: 4413 add r3, r2 8048ad6: 2200 movs r2, #0 8048ad8: 709a strb r2, [r3, #2] 8048ada: e03f b.n 8048b5c } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == PEAK)) 8048adc: 4b0d ldr r3, [pc, #52] ; (8048b14 ) 8048ade: 785b ldrb r3, [r3, #1] 8048ae0: b2db uxtb r3, r3 8048ae2: 2b02 cmp r3, #2 8048ae4: d120 bne.n 8048b28 8048ae6: 4b0b ldr r3, [pc, #44] ; (8048b14 ) 8048ae8: 785b ldrb r3, [r3, #1] 8048aea: b2db uxtb r3, r3 8048aec: 461a mov r2, r3 8048aee: 4b09 ldr r3, [pc, #36] ; (8048b14 ) 8048af0: 4413 add r3, r2 8048af2: 789b ldrb r3, [r3, #2] 8048af4: b2db uxtb r3, r3 8048af6: 2b00 cmp r3, #0 8048af8: d116 bne.n 8048b28 { pardata.IPR = DIS; 8048afa: 4b06 ldr r3, [pc, #24] ; (8048b14 ) 8048afc: 2202 movs r2, #2 8048afe: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 8048b00: 4b04 ldr r3, [pc, #16] ; (8048b14 ) 8048b02: 785b ldrb r3, [r3, #1] 8048b04: b2db uxtb r3, r3 8048b06: 461a mov r2, r3 8048b08: 4b02 ldr r3, [pc, #8] ; (8048b14 ) 8048b0a: 4413 add r3, r2 8048b0c: 2201 movs r2, #1 8048b0e: 709a strb r2, [r3, #2] 8048b10: e024 b.n 8048b5c 8048b12: bf00 nop 8048b14: 20023ea8 .word 0x20023ea8 8048b18: 080f2c08 .word 0x080f2c08 8048b1c: 38d1b717 .word 0x38d1b717 8048b20: 20020070 .word 0x20020070 8048b24: 20020fc8 .word 0x20020fc8 } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == RMS)) 8048b28: 4baf ldr r3, [pc, #700] ; (8048de8 ) 8048b2a: 785b ldrb r3, [r3, #1] 8048b2c: b2db uxtb r3, r3 8048b2e: 2b02 cmp r3, #2 8048b30: d114 bne.n 8048b5c 8048b32: 4bad ldr r3, [pc, #692] ; (8048de8 ) 8048b34: 785b ldrb r3, [r3, #1] 8048b36: b2db uxtb r3, r3 8048b38: 461a mov r2, r3 8048b3a: 4bab ldr r3, [pc, #684] ; (8048de8 ) 8048b3c: 4413 add r3, r2 8048b3e: 789b ldrb r3, [r3, #2] 8048b40: b2db uxtb r3, r3 8048b42: 2b01 cmp r3, #1 8048b44: d10a bne.n 8048b5c { pardata.IPR = ACC; 8048b46: 4ba8 ldr r3, [pc, #672] ; (8048de8 ) 8048b48: 2200 movs r2, #0 8048b4a: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 8048b4c: 4ba6 ldr r3, [pc, #664] ; (8048de8 ) 8048b4e: 785b ldrb r3, [r3, #1] 8048b50: b2db uxtb r3, r3 8048b52: 461a mov r2, r3 8048b54: 4ba4 ldr r3, [pc, #656] ; (8048de8 ) 8048b56: 4413 add r3, r2 8048b58: 2200 movs r2, #0 8048b5a: 709a strb r2, [r3, #2] } if(pardata.IPR > ACC) 8048b5c: 4ba2 ldr r3, [pc, #648] ; (8048de8 ) 8048b5e: 785b ldrb r3, [r3, #1] 8048b60: b2db uxtb r3, r3 8048b62: 2b00 cmp r3, #0 8048b64: d00e beq.n 8048b84 { if(pardata.HP < 2.0f) 8048b66: 4ba0 ldr r3, [pc, #640] ; (8048de8 ) 8048b68: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8048b6c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8048b70: eef4 7ac7 vcmpe.f32 s15, s14 8048b74: eef1 fa10 vmrs APSR_nzcv, fpscr 8048b78: d504 bpl.n 8048b84 pardata.HP = 2.0f; 8048b7a: 4b9b ldr r3, [pc, #620] ; (8048de8 ) 8048b7c: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8048b80: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } if((pardata.OPTIONS & maskFFT) < third) 8048b84: 4b98 ldr r3, [pc, #608] ; (8048de8 ) 8048b86: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8048b8a: f003 0330 and.w r3, r3, #48 ; 0x30 8048b8e: 2b2f cmp r3, #47 ; 0x2f 8048b90: d863 bhi.n 8048c5a { if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8048b92: 4b95 ldr r3, [pc, #596] ; (8048de8 ) 8048b94: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8048b98: 4b93 ldr r3, [pc, #588] ; (8048de8 ) 8048b9a: 7adb ldrb r3, [r3, #11] 8048b9c: b2db uxtb r3, r3 8048b9e: 461a mov r2, r3 8048ba0: 4b92 ldr r3, [pc, #584] ; (8048dec ) 8048ba2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048ba6: ee07 3a90 vmov s15, r3 8048baa: eef8 6a67 vcvt.f32.u32 s13, s15 8048bae: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8048bb2: eec6 7a86 vdiv.f32 s15, s13, s12 8048bb6: eddf 6a8e vldr s13, [pc, #568] ; 8048df0 8048bba: ee77 7aa6 vadd.f32 s15, s15, s13 8048bbe: eeb4 7ae7 vcmpe.f32 s14, s15 8048bc2: eef1 fa10 vmrs APSR_nzcv, fpscr 8048bc6: dd15 ble.n 8048bf4 pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8048bc8: 4b87 ldr r3, [pc, #540] ; (8048de8 ) 8048bca: 7adb ldrb r3, [r3, #11] 8048bcc: b2db uxtb r3, r3 8048bce: 461a mov r2, r3 8048bd0: 4b86 ldr r3, [pc, #536] ; (8048dec ) 8048bd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048bd6: 4a87 ldr r2, [pc, #540] ; (8048df4 ) 8048bd8: fba2 2303 umull r2, r3, r2, r3 8048bdc: 089b lsrs r3, r3, #2 8048bde: ee07 3a90 vmov s15, r3 8048be2: eef8 7a67 vcvt.f32.u32 s15, s15 8048be6: ed9f 7a84 vldr s14, [pc, #528] ; 8048df8 8048bea: ee77 7a87 vadd.f32 s15, s15, s14 8048bee: 4b7e ldr r3, [pc, #504] ; (8048de8 ) 8048bf0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8048bf4: 4b7c ldr r3, [pc, #496] ; (8048de8 ) 8048bf6: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8048bfa: 4b7b ldr r3, [pc, #492] ; (8048de8 ) 8048bfc: 7adb ldrb r3, [r3, #11] 8048bfe: b2db uxtb r3, r3 8048c00: 461a mov r2, r3 8048c02: 4b7a ldr r3, [pc, #488] ; (8048dec ) 8048c04: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048c08: ee07 3a90 vmov s15, r3 8048c0c: eef8 6a67 vcvt.f32.u32 s13, s15 8048c10: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8048c14: eec6 7a86 vdiv.f32 s15, s13, s12 8048c18: eddf 6a75 vldr s13, [pc, #468] ; 8048df0 8048c1c: ee77 7aa6 vadd.f32 s15, s15, s13 8048c20: eeb4 7ae7 vcmpe.f32 s14, s15 8048c24: eef1 fa10 vmrs APSR_nzcv, fpscr 8048c28: dc00 bgt.n 8048c2c pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; } } else menupos = Ok; break; 8048c2a: e0db b.n 8048de4 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8048c2c: 4b6e ldr r3, [pc, #440] ; (8048de8 ) 8048c2e: 7adb ldrb r3, [r3, #11] 8048c30: b2db uxtb r3, r3 8048c32: 461a mov r2, r3 8048c34: 4b6d ldr r3, [pc, #436] ; (8048dec ) 8048c36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048c3a: 4a6e ldr r2, [pc, #440] ; (8048df4 ) 8048c3c: fba2 2303 umull r2, r3, r2, r3 8048c40: 089b lsrs r3, r3, #2 8048c42: ee07 3a90 vmov s15, r3 8048c46: eef8 7a67 vcvt.f32.u32 s15, s15 8048c4a: ed9f 7a6b vldr s14, [pc, #428] ; 8048df8 8048c4e: ee77 7a87 vadd.f32 s15, s15, s14 8048c52: 4b65 ldr r3, [pc, #404] ; (8048de8 ) 8048c54: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8048c58: e0c4 b.n 8048de4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8048c5a: 4b63 ldr r3, [pc, #396] ; (8048de8 ) 8048c5c: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8048c60: 4b61 ldr r3, [pc, #388] ; (8048de8 ) 8048c62: 7adb ldrb r3, [r3, #11] 8048c64: b2db uxtb r3, r3 8048c66: 461a mov r2, r3 8048c68: 4b60 ldr r3, [pc, #384] ; (8048dec ) 8048c6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048c6e: ee07 3a90 vmov s15, r3 8048c72: eef8 6a67 vcvt.f32.u32 s13, s15 8048c76: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8048c7a: eec6 7a86 vdiv.f32 s15, s13, s12 8048c7e: eeb4 7ae7 vcmpe.f32 s14, s15 8048c82: eef1 fa10 vmrs APSR_nzcv, fpscr 8048c86: dd15 ble.n 8048cb4 pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8048c88: 4b57 ldr r3, [pc, #348] ; (8048de8 ) 8048c8a: 7adb ldrb r3, [r3, #11] 8048c8c: b2db uxtb r3, r3 8048c8e: 461a mov r2, r3 8048c90: 4b56 ldr r3, [pc, #344] ; (8048dec ) 8048c92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048c96: ee07 3a90 vmov s15, r3 8048c9a: eeb8 7a67 vcvt.f32.u32 s14, s15 8048c9e: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8048ca2: eec7 7a26 vdiv.f32 s15, s14, s13 8048ca6: ed9f 7a54 vldr s14, [pc, #336] ; 8048df8 8048caa: ee77 7a87 vadd.f32 s15, s15, s14 8048cae: 4b4e ldr r3, [pc, #312] ; (8048de8 ) 8048cb0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8048cb4: 4b4c ldr r3, [pc, #304] ; (8048de8 ) 8048cb6: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8048cba: 4b4b ldr r3, [pc, #300] ; (8048de8 ) 8048cbc: 7adb ldrb r3, [r3, #11] 8048cbe: b2db uxtb r3, r3 8048cc0: 461a mov r2, r3 8048cc2: 4b4a ldr r3, [pc, #296] ; (8048dec ) 8048cc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048cc8: ee07 3a90 vmov s15, r3 8048ccc: eef8 6a67 vcvt.f32.u32 s13, s15 8048cd0: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8048cd4: eec6 7a86 vdiv.f32 s15, s13, s12 8048cd8: eeb4 7ae7 vcmpe.f32 s14, s15 8048cdc: eef1 fa10 vmrs APSR_nzcv, fpscr 8048ce0: dc00 bgt.n 8048ce4 break; 8048ce2: e07f b.n 8048de4 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8048ce4: 4b40 ldr r3, [pc, #256] ; (8048de8 ) 8048ce6: 7adb ldrb r3, [r3, #11] 8048ce8: b2db uxtb r3, r3 8048cea: 461a mov r2, r3 8048cec: 4b3f ldr r3, [pc, #252] ; (8048dec ) 8048cee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048cf2: ee07 3a90 vmov s15, r3 8048cf6: eeb8 7a67 vcvt.f32.u32 s14, s15 8048cfa: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8048cfe: eec7 7a26 vdiv.f32 s15, s14, s13 8048d02: ed9f 7a3d vldr s14, [pc, #244] ; 8048df8 8048d06: ee77 7a87 vadd.f32 s15, s15, s14 8048d0a: 4b37 ldr r3, [pc, #220] ; (8048de8 ) 8048d0c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8048d10: e068 b.n 8048de4 menupos = Ok; 8048d12: 4b3a ldr r3, [pc, #232] ; (8048dfc ) 8048d14: 2200 movs r2, #0 8048d16: 701a strb r2, [r3, #0] break; 8048d18: e064 b.n 8048de4 case SpecLines: if(focused) 8048d1a: 4b39 ldr r3, [pc, #228] ; (8048e00 ) 8048d1c: 781b ldrb r3, [r3, #0] 8048d1e: b2db uxtb r3, r3 8048d20: 2b00 cmp r3, #0 8048d22: d010 beq.n 8048d46 { if(pardata.LNE > N400) pardata.LNE--; 8048d24: 4b30 ldr r3, [pc, #192] ; (8048de8 ) 8048d26: 79db ldrb r3, [r3, #7] 8048d28: b2db uxtb r3, r3 8048d2a: 2b00 cmp r3, #0 8048d2c: d007 beq.n 8048d3e 8048d2e: 4b2e ldr r3, [pc, #184] ; (8048de8 ) 8048d30: 79db ldrb r3, [r3, #7] 8048d32: b2db uxtb r3, r3 8048d34: 3b01 subs r3, #1 8048d36: b2da uxtb r2, r3 8048d38: 4b2b ldr r3, [pc, #172] ; (8048de8 ) 8048d3a: 71da strb r2, [r3, #7] else pardata.LNE = N3200; } else menupos = Ok; break; 8048d3c: e052 b.n 8048de4 else pardata.LNE = N3200; 8048d3e: 4b2a ldr r3, [pc, #168] ; (8048de8 ) 8048d40: 2203 movs r2, #3 8048d42: 71da strb r2, [r3, #7] break; 8048d44: e04e b.n 8048de4 menupos = Ok; 8048d46: 4b2d ldr r3, [pc, #180] ; (8048dfc ) 8048d48: 2200 movs r2, #0 8048d4a: 701a strb r2, [r3, #0] break; 8048d4c: e04a b.n 8048de4 case SpecWin: if(focused) 8048d4e: 4b2c ldr r3, [pc, #176] ; (8048e00 ) 8048d50: 781b ldrb r3, [r3, #0] 8048d52: b2db uxtb r3, r3 8048d54: 2b00 cmp r3, #0 8048d56: d010 beq.n 8048d7a { if(pardata.WIN < HANN) pardata.WIN++; 8048d58: 4b23 ldr r3, [pc, #140] ; (8048de8 ) 8048d5a: 7a5b ldrb r3, [r3, #9] 8048d5c: b2db uxtb r3, r3 8048d5e: 2b00 cmp r3, #0 8048d60: d107 bne.n 8048d72 8048d62: 4b21 ldr r3, [pc, #132] ; (8048de8 ) 8048d64: 7a5b ldrb r3, [r3, #9] 8048d66: b2db uxtb r3, r3 8048d68: 3301 adds r3, #1 8048d6a: b2da uxtb r2, r3 8048d6c: 4b1e ldr r3, [pc, #120] ; (8048de8 ) 8048d6e: 725a strb r2, [r3, #9] else pardata.WIN = RECT; } else menupos = Ok; break; 8048d70: e038 b.n 8048de4 else pardata.WIN = RECT; 8048d72: 4b1d ldr r3, [pc, #116] ; (8048de8 ) 8048d74: 2200 movs r2, #0 8048d76: 725a strb r2, [r3, #9] break; 8048d78: e034 b.n 8048de4 menupos = Ok; 8048d7a: 4b20 ldr r3, [pc, #128] ; (8048dfc ) 8048d7c: 2200 movs r2, #0 8048d7e: 701a strb r2, [r3, #0] break; 8048d80: e030 b.n 8048de4 case LinLog: if(focused) 8048d82: 4b1f ldr r3, [pc, #124] ; (8048e00 ) 8048d84: 781b ldrb r3, [r3, #0] 8048d86: b2db uxtb r3, r3 8048d88: 2b00 cmp r3, #0 8048d8a: d00c beq.n 8048da6 { if(pardata.MSH == LOG) pardata.MSH = LIN; 8048d8c: 4b16 ldr r3, [pc, #88] ; (8048de8 ) 8048d8e: 7a9b ldrb r3, [r3, #10] 8048d90: b2db uxtb r3, r3 8048d92: 2b01 cmp r3, #1 8048d94: d103 bne.n 8048d9e 8048d96: 4b14 ldr r3, [pc, #80] ; (8048de8 ) 8048d98: 2200 movs r2, #0 8048d9a: 729a strb r2, [r3, #10] else pardata.MSH = LOG; } else menupos = Ok; break; 8048d9c: e022 b.n 8048de4 else pardata.MSH = LOG; 8048d9e: 4b12 ldr r3, [pc, #72] ; (8048de8 ) 8048da0: 2201 movs r2, #1 8048da2: 729a strb r2, [r3, #10] break; 8048da4: e01e b.n 8048de4 menupos = Ok; 8048da6: 4b15 ldr r3, [pc, #84] ; (8048dfc ) 8048da8: 2200 movs r2, #0 8048daa: 701a strb r2, [r3, #0] break; 8048dac: e01a b.n 8048de4 case SAverage: if(focused) 8048dae: 4b14 ldr r3, [pc, #80] ; (8048e00 ) 8048db0: 781b ldrb r3, [r3, #0] 8048db2: b2db uxtb r3, r3 8048db4: 2b00 cmp r3, #0 8048db6: d010 beq.n 8048dda { if(pardata.AVG < AVG512) pardata.AVG++; 8048db8: 4b0b ldr r3, [pc, #44] ; (8048de8 ) 8048dba: 7b5b ldrb r3, [r3, #13] 8048dbc: b2db uxtb r3, r3 8048dbe: 2b08 cmp r3, #8 8048dc0: d807 bhi.n 8048dd2 8048dc2: 4b09 ldr r3, [pc, #36] ; (8048de8 ) 8048dc4: 7b5b ldrb r3, [r3, #13] 8048dc6: b2db uxtb r3, r3 8048dc8: 3301 adds r3, #1 8048dca: b2da uxtb r2, r3 8048dcc: 4b06 ldr r3, [pc, #24] ; (8048de8 ) 8048dce: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } else menupos = Ok; break; 8048dd0: e008 b.n 8048de4 else pardata.AVG = AVG1; 8048dd2: 4b05 ldr r3, [pc, #20] ; (8048de8 ) 8048dd4: 2200 movs r2, #0 8048dd6: 735a strb r2, [r3, #13] break; 8048dd8: e004 b.n 8048de4 menupos = Ok; 8048dda: 4b08 ldr r3, [pc, #32] ; (8048dfc ) 8048ddc: 2200 movs r2, #0 8048dde: 701a strb r2, [r3, #0] break; 8048de0: e000 b.n 8048de4 break; 8048de2: bf00 nop } break; 8048de4: f000 bc7b b.w 80496de 8048de8: 20023ea8 .word 0x20023ea8 8048dec: 080f2c08 .word 0x080f2c08 8048df0: 3851b717 .word 0x3851b717 8048df4: cccccccd .word 0xcccccccd 8048df8: 38d1b717 .word 0x38d1b717 8048dfc: 20020070 .word 0x20020070 8048e00: 20020fc8 .word 0x20020fc8 case PARAM_OSC: switch(menupos) 8048e04: 4bc4 ldr r3, [pc, #784] ; (8049118 ) 8048e06: 781b ldrb r3, [r3, #0] 8048e08: b2db uxtb r3, r3 8048e0a: 3b01 subs r3, #1 8048e0c: 2b23 cmp r3, #35 ; 0x23 8048e0e: f200 8469 bhi.w 80496e4 8048e12: a201 add r2, pc, #4 ; (adr r2, 8048e18 ) 8048e14: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048e18: 08048ea9 .word 0x08048ea9 8048e1c: 080496e5 .word 0x080496e5 8048e20: 08049003 .word 0x08049003 8048e24: 080490b3 .word 0x080490b3 8048e28: 080491cd .word 0x080491cd 8048e2c: 080491cd .word 0x080491cd 8048e30: 080491cd .word 0x080491cd 8048e34: 080491cd .word 0x080491cd 8048e38: 0804916d .word 0x0804916d 8048e3c: 08049175 .word 0x08049175 8048e40: 0804917d .word 0x0804917d 8048e44: 08049185 .word 0x08049185 8048e48: 0804918d .word 0x0804918d 8048e4c: 08049195 .word 0x08049195 8048e50: 0804919d .word 0x0804919d 8048e54: 080491a5 .word 0x080491a5 8048e58: 080491ad .word 0x080491ad 8048e5c: 080491b5 .word 0x080491b5 8048e60: 080491bd .word 0x080491bd 8048e64: 080491c5 .word 0x080491c5 8048e68: 080496e5 .word 0x080496e5 8048e6c: 080496e5 .word 0x080496e5 8048e70: 080491cd .word 0x080491cd 8048e74: 080491cd .word 0x080491cd 8048e78: 080490e7 .word 0x080490e7 8048e7c: 080490ef .word 0x080490ef 8048e80: 080490f7 .word 0x080490f7 8048e84: 080490ff .word 0x080490ff 8048e88: 0804912d .word 0x0804912d 8048e8c: 08049135 .word 0x08049135 8048e90: 0804913d .word 0x0804913d 8048e94: 08049145 .word 0x08049145 8048e98: 0804914d .word 0x0804914d 8048e9c: 08049155 .word 0x08049155 8048ea0: 0804915d .word 0x0804915d 8048ea4: 08049165 .word 0x08049165 { case OscValue: if(focused) 8048ea8: 4b9c ldr r3, [pc, #624] ; (804911c ) 8048eaa: 781b ldrb r3, [r3, #0] 8048eac: b2db uxtb r3, r3 8048eae: 2b00 cmp r3, #0 8048eb0: f000 80a3 beq.w 8048ffa { if(pardata.IPR < DIS) pardata.IPR++; 8048eb4: 4b9a ldr r3, [pc, #616] ; (8049120 ) 8048eb6: 785b ldrb r3, [r3, #1] 8048eb8: b2db uxtb r3, r3 8048eba: 2b01 cmp r3, #1 8048ebc: d807 bhi.n 8048ece 8048ebe: 4b98 ldr r3, [pc, #608] ; (8049120 ) 8048ec0: 785b ldrb r3, [r3, #1] 8048ec2: b2db uxtb r3, r3 8048ec4: 3301 adds r3, #1 8048ec6: b2da uxtb r2, r3 8048ec8: 4b95 ldr r3, [pc, #596] ; (8049120 ) 8048eca: 705a strb r2, [r3, #1] 8048ecc: e002 b.n 8048ed4 else pardata.IPR = ACC; 8048ece: 4b94 ldr r3, [pc, #592] ; (8049120 ) 8048ed0: 2200 movs r2, #0 8048ed2: 705a strb r2, [r3, #1] if(pardata.IPR > ACC) 8048ed4: 4b92 ldr r3, [pc, #584] ; (8049120 ) 8048ed6: 785b ldrb r3, [r3, #1] 8048ed8: b2db uxtb r3, r3 8048eda: 2b00 cmp r3, #0 8048edc: d01b beq.n 8048f16 { if(pardata.HP < 2.0f) 8048ede: 4b90 ldr r3, [pc, #576] ; (8049120 ) 8048ee0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8048ee4: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8048ee8: eef4 7ac7 vcmpe.f32 s15, s14 8048eec: eef1 fa10 vmrs APSR_nzcv, fpscr 8048ef0: d504 bpl.n 8048efc pardata.HP = 2.0f; 8048ef2: 4b8b ldr r3, [pc, #556] ; (8049120 ) 8048ef4: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8048ef8: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8048efc: e00b b.n 8048f16 { if(pardata.FRQ < _64000Hz) 8048efe: 4b88 ldr r3, [pc, #544] ; (8049120 ) 8048f00: 7adb ldrb r3, [r3, #11] 8048f02: b2db uxtb r3, r3 8048f04: 2b08 cmp r3, #8 8048f06: d824 bhi.n 8048f52 pardata.FRQ++; 8048f08: 4b85 ldr r3, [pc, #532] ; (8049120 ) 8048f0a: 7adb ldrb r3, [r3, #11] 8048f0c: b2db uxtb r3, r3 8048f0e: 3301 adds r3, #1 8048f10: b2da uxtb r2, r3 8048f12: 4b83 ldr r3, [pc, #524] ; (8049120 ) 8048f14: 72da strb r2, [r3, #11] while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8048f16: 4b82 ldr r3, [pc, #520] ; (8049120 ) 8048f18: 7adb ldrb r3, [r3, #11] 8048f1a: b2db uxtb r3, r3 8048f1c: 461a mov r2, r3 8048f1e: 4b81 ldr r3, [pc, #516] ; (8049124 ) 8048f20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048f24: ee07 3a90 vmov s15, r3 8048f28: eeb8 5b67 vcvt.f64.u32 d5, s15 8048f2c: 4b7c ldr r3, [pc, #496] ; (8049120 ) 8048f2e: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8048f32: eeb7 6ae7 vcvt.f64.f32 d6, s15 8048f36: ee85 7b06 vdiv.f64 d7, d5, d6 8048f3a: ed9f 6b73 vldr d6, [pc, #460] ; 8049108 8048f3e: ee37 7b06 vadd.f64 d7, d7, d6 8048f42: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8048f46: eeb4 7bc6 vcmpe.f64 d7, d6 8048f4a: eef1 fa10 vmrs APSR_nzcv, fpscr 8048f4e: d4d6 bmi.n 8048efe 8048f50: e000 b.n 8048f54 else break; 8048f52: bf00 nop } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8048f54: 4b72 ldr r3, [pc, #456] ; (8049120 ) 8048f56: 7adb ldrb r3, [r3, #11] 8048f58: b2db uxtb r3, r3 8048f5a: 461a mov r2, r3 8048f5c: 4b71 ldr r3, [pc, #452] ; (8049124 ) 8048f5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048f62: ee07 3a90 vmov s15, r3 8048f66: eeb8 5b67 vcvt.f64.u32 d5, s15 8048f6a: 4b6d ldr r3, [pc, #436] ; (8049120 ) 8048f6c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8048f70: eeb7 6ae7 vcvt.f64.f32 d6, s15 8048f74: ee85 7b06 vdiv.f64 d7, d5, d6 8048f78: ed9f 6b63 vldr d6, [pc, #396] ; 8049108 8048f7c: ee37 7b06 vadd.f64 d7, d7, d6 8048f80: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8048f84: eeb4 7bc6 vcmpe.f64 d7, d6 8048f88: eef1 fa10 vmrs APSR_nzcv, fpscr 8048f8c: d51f bpl.n 8048fce { pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8048f8e: 4b64 ldr r3, [pc, #400] ; (8049120 ) 8048f90: 7adb ldrb r3, [r3, #11] 8048f92: b2db uxtb r3, r3 8048f94: 461a mov r2, r3 8048f96: 4b63 ldr r3, [pc, #396] ; (8049124 ) 8048f98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048f9c: 4a62 ldr r2, [pc, #392] ; (8049128 ) 8048f9e: fba2 2303 umull r2, r3, r2, r3 8048fa2: 089b lsrs r3, r3, #2 8048fa4: ee07 3a90 vmov s15, r3 8048fa8: eef8 7a67 vcvt.f32.u32 s15, s15 8048fac: 4b5c ldr r3, [pc, #368] ; (8049120 ) 8048fae: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8048fb2: 4b5b ldr r3, [pc, #364] ; (8049120 ) 8048fb4: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8048fb8: eeb7 7ae7 vcvt.f64.f32 d7, s15 8048fbc: ed9f 6b54 vldr d6, [pc, #336] ; 8049110 8048fc0: ee37 7b06 vadd.f64 d7, d7, d6 8048fc4: eef7 7bc7 vcvt.f32.f64 s15, d7 8048fc8: 4b55 ldr r3, [pc, #340] ; (8049120 ) 8048fca: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 } if((pardata.IPR > ACC) && (pardata.THR & 0x80)) 8048fce: 4b54 ldr r3, [pc, #336] ; (8049120 ) 8048fd0: 785b ldrb r3, [r3, #1] 8048fd2: b2db uxtb r3, r3 8048fd4: 2b00 cmp r3, #0 8048fd6: f000 80fd beq.w 80491d4 8048fda: 4b51 ldr r3, [pc, #324] ; (8049120 ) 8048fdc: 7bdb ldrb r3, [r3, #15] 8048fde: b2db uxtb r3, r3 8048fe0: b25b sxtb r3, r3 8048fe2: 2b00 cmp r3, #0 8048fe4: f280 80f6 bge.w 80491d4 pardata.THR &= 0x7f; 8048fe8: 4b4d ldr r3, [pc, #308] ; (8049120 ) 8048fea: 7bdb ldrb r3, [r3, #15] 8048fec: b2db uxtb r3, r3 8048fee: f003 037f and.w r3, r3, #127 ; 0x7f 8048ff2: b2da uxtb r2, r3 8048ff4: 4b4a ldr r3, [pc, #296] ; (8049120 ) 8048ff6: 73da strb r2, [r3, #15] } else menupos = Ok; break; 8048ff8: e0ec b.n 80491d4 menupos = Ok; 8048ffa: 4b47 ldr r3, [pc, #284] ; (8049118 ) 8048ffc: 2200 movs r2, #0 8048ffe: 701a strb r2, [r3, #0] break; 8049000: e0e8 b.n 80491d4 case OscRate: if(focused) 8049002: 4b46 ldr r3, [pc, #280] ; (804911c ) 8049004: 781b ldrb r3, [r3, #0] 8049006: b2db uxtb r3, r3 8049008: 2b00 cmp r3, #0 804900a: d04e beq.n 80490aa { if(pardata.FRQ < _64000Hz) pardata.FRQ++; 804900c: 4b44 ldr r3, [pc, #272] ; (8049120 ) 804900e: 7adb ldrb r3, [r3, #11] 8049010: b2db uxtb r3, r3 8049012: 2b08 cmp r3, #8 8049014: d807 bhi.n 8049026 8049016: 4b42 ldr r3, [pc, #264] ; (8049120 ) 8049018: 7adb ldrb r3, [r3, #11] 804901a: b2db uxtb r3, r3 804901c: 3301 adds r3, #1 804901e: b2da uxtb r2, r3 8049020: 4b3f ldr r3, [pc, #252] ; (8049120 ) 8049022: 72da strb r2, [r3, #11] 8049024: e002 b.n 804902c else pardata.FRQ = _125Hz; 8049026: 4b3e ldr r3, [pc, #248] ; (8049120 ) 8049028: 2200 movs r2, #0 804902a: 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) 804902c: 4b3c ldr r3, [pc, #240] ; (8049120 ) 804902e: 7adb ldrb r3, [r3, #11] 8049030: b2db uxtb r3, r3 8049032: 461a mov r2, r3 8049034: 4b3b ldr r3, [pc, #236] ; (8049124 ) 8049036: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804903a: ee07 3a90 vmov s15, r3 804903e: eeb8 5b67 vcvt.f64.u32 d5, s15 8049042: 4b37 ldr r3, [pc, #220] ; (8049120 ) 8049044: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8049048: eeb7 6ae7 vcvt.f64.f32 d6, s15 804904c: ee85 7b06 vdiv.f64 d7, d5, d6 8049050: ed9f 6b2d vldr d6, [pc, #180] ; 8049108 8049054: ee37 7b06 vadd.f64 d7, d7, d6 8049058: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 804905c: eeb4 7bc6 vcmpe.f64 d7, d6 8049060: eef1 fa10 vmrs APSR_nzcv, fpscr 8049064: d400 bmi.n 8049068 } } else menupos = Ok; break; 8049066: e0b6 b.n 80491d6 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8049068: 4b2d ldr r3, [pc, #180] ; (8049120 ) 804906a: 7adb ldrb r3, [r3, #11] 804906c: b2db uxtb r3, r3 804906e: 461a mov r2, r3 8049070: 4b2c ldr r3, [pc, #176] ; (8049124 ) 8049072: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049076: 4a2c ldr r2, [pc, #176] ; (8049128 ) 8049078: fba2 2303 umull r2, r3, r2, r3 804907c: 089b lsrs r3, r3, #2 804907e: ee07 3a90 vmov s15, r3 8049082: eef8 7a67 vcvt.f32.u32 s15, s15 8049086: 4b26 ldr r3, [pc, #152] ; (8049120 ) 8049088: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 804908c: 4b24 ldr r3, [pc, #144] ; (8049120 ) 804908e: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8049092: eeb7 7ae7 vcvt.f64.f32 d7, s15 8049096: ed9f 6b1e vldr d6, [pc, #120] ; 8049110 804909a: ee37 7b06 vadd.f64 d7, d7, d6 804909e: eef7 7bc7 vcvt.f32.f64 s15, d7 80490a2: 4b1f ldr r3, [pc, #124] ; (8049120 ) 80490a4: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 80490a8: e095 b.n 80491d6 menupos = Ok; 80490aa: 4b1b ldr r3, [pc, #108] ; (8049118 ) 80490ac: 2200 movs r2, #0 80490ae: 701a strb r2, [r3, #0] break; 80490b0: e091 b.n 80491d6 case OscLen: if(focused) 80490b2: 4b1a ldr r3, [pc, #104] ; (804911c ) 80490b4: 781b ldrb r3, [r3, #0] 80490b6: b2db uxtb r3, r3 80490b8: 2b00 cmp r3, #0 80490ba: d010 beq.n 80490de { if(pardata.LNE < N6400) pardata.LNE++; 80490bc: 4b18 ldr r3, [pc, #96] ; (8049120 ) 80490be: 79db ldrb r3, [r3, #7] 80490c0: b2db uxtb r3, r3 80490c2: 2b03 cmp r3, #3 80490c4: d807 bhi.n 80490d6 80490c6: 4b16 ldr r3, [pc, #88] ; (8049120 ) 80490c8: 79db ldrb r3, [r3, #7] 80490ca: b2db uxtb r3, r3 80490cc: 3301 adds r3, #1 80490ce: b2da uxtb r2, r3 80490d0: 4b13 ldr r3, [pc, #76] ; (8049120 ) 80490d2: 71da strb r2, [r3, #7] else pardata.LNE = N400; } else menupos = Ok; break; 80490d4: e07f b.n 80491d6 else pardata.LNE = N400; 80490d6: 4b12 ldr r3, [pc, #72] ; (8049120 ) 80490d8: 2200 movs r2, #0 80490da: 71da strb r2, [r3, #7] break; 80490dc: e07b b.n 80491d6 menupos = Ok; 80490de: 4b0e ldr r3, [pc, #56] ; (8049118 ) 80490e0: 2200 movs r2, #0 80490e2: 701a strb r2, [r3, #0] break; 80490e4: e077 b.n 80491d6 case FilterHP_IDT: menupos = FilterHP_IET; break; 80490e6: 4b0c ldr r3, [pc, #48] ; (8049118 ) 80490e8: 221a movs r2, #26 80490ea: 701a strb r2, [r3, #0] 80490ec: e073 b.n 80491d6 case FilterHP_IET: menupos = FilterHP_IES; break; 80490ee: 4b0a ldr r3, [pc, #40] ; (8049118 ) 80490f0: 221b movs r2, #27 80490f2: 701a strb r2, [r3, #0] 80490f4: e06f b.n 80491d6 case FilterHP_IES: menupos = FilterHP_IED; break; 80490f6: 4b08 ldr r3, [pc, #32] ; (8049118 ) 80490f8: 221c movs r2, #28 80490fa: 701a strb r2, [r3, #0] 80490fc: e06b b.n 80491d6 case FilterHP_IED: menupos = FilterHP_IEE; break; 80490fe: 4b06 ldr r3, [pc, #24] ; (8049118 ) 8049100: 221d movs r2, #29 8049102: 701a strb r2, [r3, #0] 8049104: e067 b.n 80491d6 8049106: bf00 nop 8049108: e0000000 .word 0xe0000000 804910c: 3f0a36e2 .word 0x3f0a36e2 8049110: eb1c432d .word 0xeb1c432d 8049114: 3f1a36e2 .word 0x3f1a36e2 8049118: 20020070 .word 0x20020070 804911c: 20020fc8 .word 0x20020fc8 8049120: 20023ea8 .word 0x20023ea8 8049124: 080f2c08 .word 0x080f2c08 8049128: cccccccd .word 0xcccccccd case FilterHP_IEE: menupos = FilterHP_IKD; break; 804912c: 4bad ldr r3, [pc, #692] ; (80493e4 ) 804912e: 221e movs r2, #30 8049130: 701a strb r2, [r3, #0] 8049132: e050 b.n 80491d6 case FilterHP_IKD: menupos = FilterHP_IDT; break; 8049134: 4bab ldr r3, [pc, #684] ; (80493e4 ) 8049136: 2219 movs r2, #25 8049138: 701a strb r2, [r3, #0] 804913a: e04c b.n 80491d6 case FilterLP_IDT: menupos = FilterLP_IET; break; 804913c: 4ba9 ldr r3, [pc, #676] ; (80493e4 ) 804913e: 2220 movs r2, #32 8049140: 701a strb r2, [r3, #0] 8049142: e048 b.n 80491d6 case FilterLP_IET: menupos = FilterLP_IES; break; 8049144: 4ba7 ldr r3, [pc, #668] ; (80493e4 ) 8049146: 2221 movs r2, #33 ; 0x21 8049148: 701a strb r2, [r3, #0] 804914a: e044 b.n 80491d6 case FilterLP_IES: menupos = FilterLP_IED; break; 804914c: 4ba5 ldr r3, [pc, #660] ; (80493e4 ) 804914e: 2222 movs r2, #34 ; 0x22 8049150: 701a strb r2, [r3, #0] 8049152: e040 b.n 80491d6 case FilterLP_IED: menupos = FilterLP_IEE; break; 8049154: 4ba3 ldr r3, [pc, #652] ; (80493e4 ) 8049156: 2223 movs r2, #35 ; 0x23 8049158: 701a strb r2, [r3, #0] 804915a: e03c b.n 80491d6 case FilterLP_IEE: menupos = FilterLP_IKD; break; 804915c: 4ba1 ldr r3, [pc, #644] ; (80493e4 ) 804915e: 2224 movs r2, #36 ; 0x24 8049160: 701a strb r2, [r3, #0] 8049162: e038 b.n 80491d6 case FilterLP_IKD: menupos = FilterLP_IDT; break; 8049164: 4b9f ldr r3, [pc, #636] ; (80493e4 ) 8049166: 221f movs r2, #31 8049168: 701a strb r2, [r3, #0] 804916a: e034 b.n 80491d6 case OscThr_IDT: menupos = OscThr_IET; 804916c: 4b9d ldr r3, [pc, #628] ; (80493e4 ) 804916e: 220a movs r2, #10 8049170: 701a strb r2, [r3, #0] break; 8049172: e030 b.n 80491d6 case OscThr_IET: menupos = OscThr_IES; 8049174: 4b9b ldr r3, [pc, #620] ; (80493e4 ) 8049176: 220b movs r2, #11 8049178: 701a strb r2, [r3, #0] break; 804917a: e02c b.n 80491d6 case OscThr_IES: menupos = OscThr_IED; 804917c: 4b99 ldr r3, [pc, #612] ; (80493e4 ) 804917e: 220c movs r2, #12 8049180: 701a strb r2, [r3, #0] break; 8049182: e028 b.n 80491d6 case OscThr_IED: menupos = OscThr_IEE; 8049184: 4b97 ldr r3, [pc, #604] ; (80493e4 ) 8049186: 220d movs r2, #13 8049188: 701a strb r2, [r3, #0] break; 804918a: e024 b.n 80491d6 case OscThr_IEE: menupos = OscThr_IKD; 804918c: 4b95 ldr r3, [pc, #596] ; (80493e4 ) 804918e: 220e movs r2, #14 8049190: 701a strb r2, [r3, #0] break; 8049192: e020 b.n 80491d6 case OscThr_IKD: menupos = OscThr_IDT; 8049194: 4b93 ldr r3, [pc, #588] ; (80493e4 ) 8049196: 2209 movs r2, #9 8049198: 701a strb r2, [r3, #0] break; 804919a: e01c b.n 80491d6 case OscMax_IDT: menupos = OscMax_IET; 804919c: 4b91 ldr r3, [pc, #580] ; (80493e4 ) 804919e: 2210 movs r2, #16 80491a0: 701a strb r2, [r3, #0] break; 80491a2: e018 b.n 80491d6 case OscMax_IET: menupos = OscMax_IES; 80491a4: 4b8f ldr r3, [pc, #572] ; (80493e4 ) 80491a6: 2211 movs r2, #17 80491a8: 701a strb r2, [r3, #0] break; 80491aa: e014 b.n 80491d6 case OscMax_IES: menupos = OscMax_IED; 80491ac: 4b8d ldr r3, [pc, #564] ; (80493e4 ) 80491ae: 2212 movs r2, #18 80491b0: 701a strb r2, [r3, #0] break; 80491b2: e010 b.n 80491d6 case OscMax_IED: menupos = OscMax_IEE; 80491b4: 4b8b ldr r3, [pc, #556] ; (80493e4 ) 80491b6: 2213 movs r2, #19 80491b8: 701a strb r2, [r3, #0] break; 80491ba: e00c b.n 80491d6 case OscMax_IEE: menupos = OscMax_IKD; 80491bc: 4b89 ldr r3, [pc, #548] ; (80493e4 ) 80491be: 2214 movs r2, #20 80491c0: 701a strb r2, [r3, #0] break; 80491c2: e008 b.n 80491d6 case OscMax_IKD: menupos = OscMax_IDT; 80491c4: 4b87 ldr r3, [pc, #540] ; (80493e4 ) 80491c6: 220f movs r2, #15 80491c8: 701a strb r2, [r3, #0] break; 80491ca: e004 b.n 80491d6 case OscThr: case OscMax_ALL: case OscThr_ALL: case FilterHP: case FilterLP: menupos = Ok; 80491cc: 4b85 ldr r3, [pc, #532] ; (80493e4 ) 80491ce: 2200 movs r2, #0 80491d0: 701a strb r2, [r3, #0] break; 80491d2: e000 b.n 80491d6 break; 80491d4: bf00 nop } break; 80491d6: e285 b.n 80496e4 case ROUTE_MAP: //RT switch(menupos) 80491d8: 4b82 ldr r3, [pc, #520] ; (80493e4 ) 80491da: 781b ldrb r3, [r3, #0] 80491dc: b2db uxtb r3, r3 80491de: 2b0e cmp r3, #14 80491e0: f200 8283 bhi.w 80496ea 80491e4: a201 add r2, pc, #4 ; (adr r2, 80491ec ) 80491e6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80491ea: bf00 nop 80491ec: 080492a5 .word 0x080492a5 80491f0: 080492ad .word 0x080492ad 80491f4: 080492b5 .word 0x080492b5 80491f8: 0804929d .word 0x0804929d 80491fc: 08049229 .word 0x08049229 8049200: 0804929d .word 0x0804929d 8049204: 0804929d .word 0x0804929d 8049208: 0804926d .word 0x0804926d 804920c: 08049275 .word 0x08049275 8049210: 0804927d .word 0x0804927d 8049214: 08049285 .word 0x08049285 8049218: 0804928d .word 0x0804928d 804921c: 08049295 .word 0x08049295 8049220: 0804925d .word 0x0804925d 8049224: 08049265 .word 0x08049265 { case RouteTime: if(focused) 8049228: 4b6f ldr r3, [pc, #444] ; (80493e8 ) 804922a: 781b ldrb r3, [r3, #0] 804922c: b2db uxtb r3, r3 804922e: 2b00 cmp r3, #0 8049230: d010 beq.n 8049254 { if(pardata.TME < HOUR2) pardata.TME++; 8049232: 4b6e ldr r3, [pc, #440] ; (80493ec ) 8049234: 7b9b ldrb r3, [r3, #14] 8049236: b2db uxtb r3, r3 8049238: 2b08 cmp r3, #8 804923a: d807 bhi.n 804924c 804923c: 4b6b ldr r3, [pc, #428] ; (80493ec ) 804923e: 7b9b ldrb r3, [r3, #14] 8049240: b2db uxtb r3, r3 8049242: 3301 adds r3, #1 8049244: b2da uxtb r2, r3 8049246: 4b69 ldr r3, [pc, #420] ; (80493ec ) 8049248: 739a strb r2, [r3, #14] else pardata.TME = CONTINUOUS; } else menupos = GoMeas; break; 804924a: e037 b.n 80492bc else pardata.TME = CONTINUOUS; 804924c: 4b67 ldr r3, [pc, #412] ; (80493ec ) 804924e: 2200 movs r2, #0 8049250: 739a strb r2, [r3, #14] break; 8049252: e033 b.n 80492bc menupos = GoMeas; 8049254: 4b63 ldr r3, [pc, #396] ; (80493e4 ) 8049256: 2201 movs r2, #1 8049258: 701a strb r2, [r3, #0] break; 804925a: e02f b.n 80492bc case RouteNullYes: menupos = RouteNullNo; 804925c: 4b61 ldr r3, [pc, #388] ; (80493e4 ) 804925e: 220e movs r2, #14 8049260: 701a strb r2, [r3, #0] break; 8049262: e02b b.n 80492bc case RouteNullNo: menupos = RouteNullYes; 8049264: 4b5f ldr r3, [pc, #380] ; (80493e4 ) 8049266: 220d movs r2, #13 8049268: 701a strb r2, [r3, #0] break; 804926a: e027 b.n 80492bc case RouteMax_IDT: menupos = RouteMax_IET; 804926c: 4b5d ldr r3, [pc, #372] ; (80493e4 ) 804926e: 2208 movs r2, #8 8049270: 701a strb r2, [r3, #0] break; 8049272: e023 b.n 80492bc case RouteMax_IET: menupos = RouteMax_IES; 8049274: 4b5b ldr r3, [pc, #364] ; (80493e4 ) 8049276: 2209 movs r2, #9 8049278: 701a strb r2, [r3, #0] break; 804927a: e01f b.n 80492bc case RouteMax_IES: menupos = RouteMax_IED; 804927c: 4b59 ldr r3, [pc, #356] ; (80493e4 ) 804927e: 220a movs r2, #10 8049280: 701a strb r2, [r3, #0] break; 8049282: e01b b.n 80492bc case RouteMax_IED: menupos = RouteMax_IEE; 8049284: 4b57 ldr r3, [pc, #348] ; (80493e4 ) 8049286: 220b movs r2, #11 8049288: 701a strb r2, [r3, #0] break; 804928a: e017 b.n 80492bc case RouteMax_IEE: menupos = RouteMax_IKD; 804928c: 4b55 ldr r3, [pc, #340] ; (80493e4 ) 804928e: 220c movs r2, #12 8049290: 701a strb r2, [r3, #0] break; 8049292: e013 b.n 80492bc case RouteMax_IKD: menupos = RouteMax_IDT; 8049294: 4b53 ldr r3, [pc, #332] ; (80493e4 ) 8049296: 2207 movs r2, #7 8049298: 701a strb r2, [r3, #0] break; 804929a: e00f b.n 80492bc case RouteAutoKu: case RouteMax_ALL: case RouteTacho: menupos = GoMeas; 804929c: 4b51 ldr r3, [pc, #324] ; (80493e4 ) 804929e: 2201 movs r2, #1 80492a0: 701a strb r2, [r3, #0] break; 80492a2: e00b b.n 80492bc case PrevPoint: menupos = GoMeas; 80492a4: 4b4f ldr r3, [pc, #316] ; (80493e4 ) 80492a6: 2201 movs r2, #1 80492a8: 701a strb r2, [r3, #0] break; 80492aa: e007 b.n 80492bc case GoMeas: menupos = NextPoint; 80492ac: 4b4d ldr r3, [pc, #308] ; (80493e4 ) 80492ae: 2202 movs r2, #2 80492b0: 701a strb r2, [r3, #0] break; 80492b2: e003 b.n 80492bc case NextPoint: menupos = PrevPoint; 80492b4: 4b4b ldr r3, [pc, #300] ; (80493e4 ) 80492b6: 2200 movs r2, #0 80492b8: 701a strb r2, [r3, #0] break; 80492ba: bf00 nop } break; 80492bc: e215 b.n 80496ea case PARAM_WAVE: //RT switch(menupos) 80492be: 4b49 ldr r3, [pc, #292] ; (80493e4 ) 80492c0: 781b ldrb r3, [r3, #0] 80492c2: b2db uxtb r3, r3 80492c4: 3b01 subs r3, #1 80492c6: 2b14 cmp r3, #20 80492c8: f200 8212 bhi.w 80496f0 80492cc: a201 add r2, pc, #4 ; (adr r2, 80492d4 ) 80492ce: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80492d2: bf00 nop 80492d4: 08049329 .word 0x08049329 80492d8: 08049331 .word 0x08049331 80492dc: 080493cd .word 0x080493cd 80492e0: 080493d5 .word 0x080493d5 80492e4: 08049339 .word 0x08049339 80492e8: 080493cd .word 0x080493cd 80492ec: 080493cd .word 0x080493cd 80492f0: 080493cd .word 0x080493cd 80492f4: 080493cd .word 0x080493cd 80492f8: 0804939d .word 0x0804939d 80492fc: 080493a5 .word 0x080493a5 8049300: 080493ad .word 0x080493ad 8049304: 080493b5 .word 0x080493b5 8049308: 080493bd .word 0x080493bd 804930c: 080493c5 .word 0x080493c5 8049310: 0804936d .word 0x0804936d 8049314: 08049375 .word 0x08049375 8049318: 0804937d .word 0x0804937d 804931c: 08049385 .word 0x08049385 8049320: 0804938d .word 0x0804938d 8049324: 08049395 .word 0x08049395 { case WaveBand: pardata.FRQ = _64000Hz; 8049328: 4b30 ldr r3, [pc, #192] ; (80493ec ) 804932a: 2209 movs r2, #9 804932c: 72da strb r2, [r3, #11] break; 804932e: e057 b.n 80493e0 case WaveFreq: pardata.FRQ = _64000Hz; 8049330: 4b2e ldr r3, [pc, #184] ; (80493ec ) 8049332: 2209 movs r2, #9 8049334: 72da strb r2, [r3, #11] break; 8049336: e053 b.n 80493e0 case WaveTime: if(focused) 8049338: 4b2b ldr r3, [pc, #172] ; (80493e8 ) 804933a: 781b ldrb r3, [r3, #0] 804933c: b2db uxtb r3, r3 804933e: 2b00 cmp r3, #0 8049340: d010 beq.n 8049364 { if(pardata.TME < HOUR2) pardata.TME++; 8049342: 4b2a ldr r3, [pc, #168] ; (80493ec ) 8049344: 7b9b ldrb r3, [r3, #14] 8049346: b2db uxtb r3, r3 8049348: 2b08 cmp r3, #8 804934a: d807 bhi.n 804935c 804934c: 4b27 ldr r3, [pc, #156] ; (80493ec ) 804934e: 7b9b ldrb r3, [r3, #14] 8049350: b2db uxtb r3, r3 8049352: 3301 adds r3, #1 8049354: b2da uxtb r2, r3 8049356: 4b25 ldr r3, [pc, #148] ; (80493ec ) 8049358: 739a strb r2, [r3, #14] else pardata.TME = CONTINUOUS; } else menupos = Ok; break; 804935a: e041 b.n 80493e0 else pardata.TME = CONTINUOUS; 804935c: 4b23 ldr r3, [pc, #140] ; (80493ec ) 804935e: 2200 movs r2, #0 8049360: 739a strb r2, [r3, #14] break; 8049362: e03d b.n 80493e0 menupos = Ok; 8049364: 4b1f ldr r3, [pc, #124] ; (80493e4 ) 8049366: 2200 movs r2, #0 8049368: 701a strb r2, [r3, #0] break; 804936a: e039 b.n 80493e0 case WaveThr_IDT: menupos = WaveThr_IET; 804936c: 4b1d ldr r3, [pc, #116] ; (80493e4 ) 804936e: 2211 movs r2, #17 8049370: 701a strb r2, [r3, #0] break; 8049372: e035 b.n 80493e0 case WaveThr_IET: menupos = WaveThr_IES; 8049374: 4b1b ldr r3, [pc, #108] ; (80493e4 ) 8049376: 2212 movs r2, #18 8049378: 701a strb r2, [r3, #0] break; 804937a: e031 b.n 80493e0 case WaveThr_IES: menupos = WaveThr_IED; 804937c: 4b19 ldr r3, [pc, #100] ; (80493e4 ) 804937e: 2213 movs r2, #19 8049380: 701a strb r2, [r3, #0] break; 8049382: e02d b.n 80493e0 case WaveThr_IED: menupos = WaveThr_IEE; 8049384: 4b17 ldr r3, [pc, #92] ; (80493e4 ) 8049386: 2214 movs r2, #20 8049388: 701a strb r2, [r3, #0] break; 804938a: e029 b.n 80493e0 case WaveThr_IEE: menupos = WaveThr_IKD; 804938c: 4b15 ldr r3, [pc, #84] ; (80493e4 ) 804938e: 2215 movs r2, #21 8049390: 701a strb r2, [r3, #0] break; 8049392: e025 b.n 80493e0 case WaveThr_IKD: menupos = WaveThr_IDT; 8049394: 4b13 ldr r3, [pc, #76] ; (80493e4 ) 8049396: 2210 movs r2, #16 8049398: 701a strb r2, [r3, #0] break; 804939a: e021 b.n 80493e0 case WaveMax_IDT: menupos = WaveMax_IET; 804939c: 4b11 ldr r3, [pc, #68] ; (80493e4 ) 804939e: 220b movs r2, #11 80493a0: 701a strb r2, [r3, #0] break; 80493a2: e01d b.n 80493e0 case WaveMax_IET: menupos = WaveMax_IES; 80493a4: 4b0f ldr r3, [pc, #60] ; (80493e4 ) 80493a6: 220c movs r2, #12 80493a8: 701a strb r2, [r3, #0] break; 80493aa: e019 b.n 80493e0 case WaveMax_IES: menupos = WaveMax_IED; 80493ac: 4b0d ldr r3, [pc, #52] ; (80493e4 ) 80493ae: 220d movs r2, #13 80493b0: 701a strb r2, [r3, #0] break; 80493b2: e015 b.n 80493e0 case WaveMax_IED: menupos = WaveMax_IEE; 80493b4: 4b0b ldr r3, [pc, #44] ; (80493e4 ) 80493b6: 220e movs r2, #14 80493b8: 701a strb r2, [r3, #0] break; 80493ba: e011 b.n 80493e0 case WaveMax_IEE: menupos = WaveMax_IKD; 80493bc: 4b09 ldr r3, [pc, #36] ; (80493e4 ) 80493be: 220f movs r2, #15 80493c0: 701a strb r2, [r3, #0] break; 80493c2: e00d b.n 80493e0 case WaveMax_IKD: menupos = WaveMax_IDT; 80493c4: 4b07 ldr r3, [pc, #28] ; (80493e4 ) 80493c6: 220a movs r2, #10 80493c8: 701a strb r2, [r3, #0] break; 80493ca: e009 b.n 80493e0 case WaveThr: case WaveThr_ALL: case WaveAutoKu: case WaveMax_ALL: case WaveTacho: menupos = Ok; 80493cc: 4b05 ldr r3, [pc, #20] ; (80493e4 ) 80493ce: 2200 movs r2, #0 80493d0: 701a strb r2, [r3, #0] break; 80493d2: e005 b.n 80493e0 case WaveName: memset(WavFileName, 0, sizeof(WavFileName)); 80493d4: 2221 movs r2, #33 ; 0x21 80493d6: 2100 movs r1, #0 80493d8: 4805 ldr r0, [pc, #20] ; (80493f0 ) 80493da: f087 ffe1 bl 80d13a0 break; 80493de: bf00 nop } break; 80493e0: e186 b.n 80496f0 80493e2: bf00 nop 80493e4: 20020070 .word 0x20020070 80493e8: 20020fc8 .word 0x20020fc8 80493ec: 20023ea8 .word 0x20023ea8 80493f0: 20020e54 .word 0x20020e54 case SETTINGS: switch(menupos) 80493f4: 4bc0 ldr r3, [pc, #768] ; (80496f8 ) 80493f6: 781b ldrb r3, [r3, #0] 80493f8: b2db uxtb r3, r3 80493fa: 3b01 subs r3, #1 80493fc: 2b11 cmp r3, #17 80493fe: f200 8185 bhi.w 804970c 8049402: a201 add r2, pc, #4 ; (adr r2, 8049408 ) 8049404: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8049408: 0804949d .word 0x0804949d 804940c: 0804970d .word 0x0804970d 8049410: 08049481 .word 0x08049481 8049414: 0804970d .word 0x0804970d 8049418: 0804970d .word 0x0804970d 804941c: 0804970d .word 0x0804970d 8049420: 0804970d .word 0x0804970d 8049424: 080494c9 .word 0x080494c9 8049428: 0804970d .word 0x0804970d 804942c: 0804970d .word 0x0804970d 8049430: 0804970d .word 0x0804970d 8049434: 0804970d .word 0x0804970d 8049438: 08049451 .word 0x08049451 804943c: 08049459 .word 0x08049459 8049440: 08049461 .word 0x08049461 8049444: 08049469 .word 0x08049469 8049448: 08049471 .word 0x08049471 804944c: 08049479 .word 0x08049479 { case Ies: menupos = Ied; break; 8049450: 4ba9 ldr r3, [pc, #676] ; (80496f8 ) 8049452: 220e movs r2, #14 8049454: 701a strb r2, [r3, #0] 8049456: e03e b.n 80494d6 case Ied: menupos = Iee; break; 8049458: 4ba7 ldr r3, [pc, #668] ; (80496f8 ) 804945a: 220f movs r2, #15 804945c: 701a strb r2, [r3, #0] 804945e: e03a b.n 80494d6 case Iee: menupos = Ikd; break; 8049460: 4ba5 ldr r3, [pc, #660] ; (80496f8 ) 8049462: 2210 movs r2, #16 8049464: 701a strb r2, [r3, #0] 8049466: e036 b.n 80494d6 case Ikd: menupos = Iks; break; 8049468: 4ba3 ldr r3, [pc, #652] ; (80496f8 ) 804946a: 2211 movs r2, #17 804946c: 701a strb r2, [r3, #0] 804946e: e032 b.n 80494d6 case Iks: menupos = Ikt; break; 8049470: 4ba1 ldr r3, [pc, #644] ; (80496f8 ) 8049472: 2212 movs r2, #18 8049474: 701a strb r2, [r3, #0] 8049476: e02e b.n 80494d6 case Ikt: menupos = Ies; break; 8049478: 4b9f ldr r3, [pc, #636] ; (80496f8 ) 804947a: 220d movs r2, #13 804947c: 701a strb r2, [r3, #0] 804947e: e02a b.n 80494d6 case Lang: if(focused) 8049480: 4b9e ldr r3, [pc, #632] ; (80496fc ) 8049482: 781b ldrb r3, [r3, #0] 8049484: b2db uxtb r3, r3 8049486: 2b00 cmp r3, #0 8049488: d022 beq.n 80494d0 { pardata.LANG ^= 1; 804948a: 4b9d ldr r3, [pc, #628] ; (8049700 ) 804948c: 7b1b ldrb r3, [r3, #12] 804948e: b2db uxtb r3, r3 8049490: f083 0301 eor.w r3, r3, #1 8049494: b2da uxtb r2, r3 8049496: 4b9a ldr r3, [pc, #616] ; (8049700 ) 8049498: 731a strb r2, [r3, #12] } break; 804949a: e019 b.n 80494d0 case Type: #if (!defined(USE_D101) && !defined(USE_D102)) if(focused) 804949c: 4b97 ldr r3, [pc, #604] ; (80496fc ) 804949e: 781b ldrb r3, [r3, #0] 80494a0: b2db uxtb r3, r3 80494a2: 2b00 cmp r3, #0 80494a4: d016 beq.n 80494d4 { if(pardata.IIN < VOLTS) pardata.IIN++; 80494a6: 4b96 ldr r3, [pc, #600] ; (8049700 ) 80494a8: 799b ldrb r3, [r3, #6] 80494aa: b2db uxtb r3, r3 80494ac: 2b01 cmp r3, #1 80494ae: d807 bhi.n 80494c0 80494b0: 4b93 ldr r3, [pc, #588] ; (8049700 ) 80494b2: 799b ldrb r3, [r3, #6] 80494b4: b2db uxtb r3, r3 80494b6: 3301 adds r3, #1 80494b8: b2da uxtb r2, r3 80494ba: 4b91 ldr r3, [pc, #580] ; (8049700 ) 80494bc: 719a strb r2, [r3, #6] { if(pardata.IIN == VOLTS) pardata.IIN = ICP; else pardata.IIN = VOLTS; } #endif break; 80494be: e009 b.n 80494d4 else pardata.IIN = CHARGE; 80494c0: 4b8f ldr r3, [pc, #572] ; (8049700 ) 80494c2: 2200 movs r2, #0 80494c4: 719a strb r2, [r3, #6] break; 80494c6: e005 b.n 80494d4 case FormatDiskNo: menupos = FormatDiskYes; 80494c8: 4b8b ldr r3, [pc, #556] ; (80496f8 ) 80494ca: 2209 movs r2, #9 80494cc: 701a strb r2, [r3, #0] break; 80494ce: e002 b.n 80494d6 break; 80494d0: bf00 nop 80494d2: e11b b.n 804970c break; 80494d4: bf00 nop } break; 80494d6: e119 b.n 804970c case DATETIME: switch(menupos) 80494d8: 4b87 ldr r3, [pc, #540] ; (80496f8 ) 80494da: 781b ldrb r3, [r3, #0] 80494dc: b2db uxtb r3, r3 80494de: 3b03 subs r3, #3 80494e0: 2b04 cmp r3, #4 80494e2: f200 8116 bhi.w 8049712 80494e6: a201 add r2, pc, #4 ; (adr r2, 80494ec ) 80494e8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80494ec: 08049501 .word 0x08049501 80494f0: 08049509 .word 0x08049509 80494f4: 08049511 .word 0x08049511 80494f8: 08049519 .word 0x08049519 80494fc: 08049521 .word 0x08049521 { case DateD: menupos = DateM; break; 8049500: 4b7d ldr r3, [pc, #500] ; (80496f8 ) 8049502: 2204 movs r2, #4 8049504: 701a strb r2, [r3, #0] 8049506: e00f b.n 8049528 case DateM: menupos = DateY; break; 8049508: 4b7b ldr r3, [pc, #492] ; (80496f8 ) 804950a: 2205 movs r2, #5 804950c: 701a strb r2, [r3, #0] 804950e: e00b b.n 8049528 case DateY: menupos = DateD; break; 8049510: 4b79 ldr r3, [pc, #484] ; (80496f8 ) 8049512: 2203 movs r2, #3 8049514: 701a strb r2, [r3, #0] 8049516: e007 b.n 8049528 case TimeH: menupos = TimeM; break; 8049518: 4b77 ldr r3, [pc, #476] ; (80496f8 ) 804951a: 2207 movs r2, #7 804951c: 701a strb r2, [r3, #0] 804951e: e003 b.n 8049528 case TimeM: menupos = TimeH; break; 8049520: 4b75 ldr r3, [pc, #468] ; (80496f8 ) 8049522: 2206 movs r2, #6 8049524: 701a strb r2, [r3, #0] 8049526: bf00 nop } break; 8049528: e0f3 b.n 8049712 case CLEAN_FILES: switch(menupos) 804952a: 4b73 ldr r3, [pc, #460] ; (80496f8 ) 804952c: 781b ldrb r3, [r3, #0] 804952e: b2db uxtb r3, r3 8049530: 3b01 subs r3, #1 8049532: 2b08 cmp r3, #8 8049534: f200 80f0 bhi.w 8049718 8049538: a201 add r2, pc, #4 ; (adr r2, 8049540 ) 804953a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804953e: bf00 nop 8049540: 08049565 .word 0x08049565 8049544: 08049573 .word 0x08049573 8049548: 08049719 .word 0x08049719 804954c: 08049719 .word 0x08049719 8049550: 08049719 .word 0x08049719 8049554: 08049583 .word 0x08049583 8049558: 08049593 .word 0x08049593 804955c: 0804958b .word 0x0804958b 8049560: 0804959b .word 0x0804959b { case NoFilesPTM: menu = SETTINGS; 8049564: 4b67 ldr r3, [pc, #412] ; (8049704 ) 8049566: 2212 movs r2, #18 8049568: 701a strb r2, [r3, #0] menupos = CleanFiles; 804956a: 4b63 ldr r3, [pc, #396] ; (80496f8 ) 804956c: 220c movs r2, #12 804956e: 701a strb r2, [r3, #0] break; 8049570: e018 b.n 80495a4 case FilesPTM: /*Óäàëÿåì ñïèñîê ôàéëîâ â îñíîâíîì öèêëå ïðîãðàììû, åñëè îí åñòü */ if(NumFilesDelete != 0) { 8049572: 4b65 ldr r3, [pc, #404] ; (8049708 ) 8049574: 681b ldr r3, [r3, #0] 8049576: 2b00 cmp r3, #0 8049578: d013 beq.n 80495a2 menupos = UpNo; 804957a: 4b5f ldr r3, [pc, #380] ; (80496f8 ) 804957c: 2206 movs r2, #6 804957e: 701a strb r2, [r3, #0] } break; 8049580: e00f b.n 80495a2 case UpNo: menupos = UpYes; 8049582: 4b5d ldr r3, [pc, #372] ; (80496f8 ) 8049584: 2207 movs r2, #7 8049586: 701a strb r2, [r3, #0] break; 8049588: e00c b.n 80495a4 case AllNo: menupos = AllYes; 804958a: 4b5b ldr r3, [pc, #364] ; (80496f8 ) 804958c: 2209 movs r2, #9 804958e: 701a strb r2, [r3, #0] break; 8049590: e008 b.n 80495a4 case UpYes: menupos = UpNo; 8049592: 4b59 ldr r3, [pc, #356] ; (80496f8 ) 8049594: 2206 movs r2, #6 8049596: 701a strb r2, [r3, #0] break; 8049598: e004 b.n 80495a4 case AllYes: menupos = AllNo; 804959a: 4b57 ldr r3, [pc, #348] ; (80496f8 ) 804959c: 2208 movs r2, #8 804959e: 701a strb r2, [r3, #0] break; 80495a0: e000 b.n 80495a4 break; 80495a2: bf00 nop } break; 80495a4: e0b8 b.n 8049718 case ACCELEROMETER: switch(menupos) 80495a6: 4b54 ldr r3, [pc, #336] ; (80496f8 ) 80495a8: 781b ldrb r3, [r3, #0] 80495aa: b2db uxtb r3, r3 80495ac: 3b0d subs r3, #13 80495ae: 2b05 cmp r3, #5 80495b0: f200 80b5 bhi.w 804971e 80495b4: a201 add r2, pc, #4 ; (adr r2, 80495bc ) 80495b6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80495ba: bf00 nop 80495bc: 080495d5 .word 0x080495d5 80495c0: 080495dd .word 0x080495dd 80495c4: 080495e5 .word 0x080495e5 80495c8: 080495ed .word 0x080495ed 80495cc: 080495f5 .word 0x080495f5 80495d0: 080495fd .word 0x080495fd { case Ies: menupos = Ied; break; 80495d4: 4b48 ldr r3, [pc, #288] ; (80496f8 ) 80495d6: 220e movs r2, #14 80495d8: 701a strb r2, [r3, #0] 80495da: e013 b.n 8049604 case Ied: menupos = Iee; break; 80495dc: 4b46 ldr r3, [pc, #280] ; (80496f8 ) 80495de: 220f movs r2, #15 80495e0: 701a strb r2, [r3, #0] 80495e2: e00f b.n 8049604 case Iee: menupos = Ikd; break; 80495e4: 4b44 ldr r3, [pc, #272] ; (80496f8 ) 80495e6: 2210 movs r2, #16 80495e8: 701a strb r2, [r3, #0] 80495ea: e00b b.n 8049604 case Ikd: menupos = Iks; break; 80495ec: 4b42 ldr r3, [pc, #264] ; (80496f8 ) 80495ee: 2211 movs r2, #17 80495f0: 701a strb r2, [r3, #0] 80495f2: e007 b.n 8049604 case Iks: menupos = Ikt; break; 80495f4: 4b40 ldr r3, [pc, #256] ; (80496f8 ) 80495f6: 2212 movs r2, #18 80495f8: 701a strb r2, [r3, #0] 80495fa: e003 b.n 8049604 case Ikt: menupos = Ies; break; 80495fc: 4b3e ldr r3, [pc, #248] ; (80496f8 ) 80495fe: 220d movs r2, #13 8049600: 701a strb r2, [r3, #0] 8049602: bf00 nop } break; 8049604: e08b b.n 804971e case CALIBR_00: if(menupos < 4) 8049606: 4b3c ldr r3, [pc, #240] ; (80496f8 ) 8049608: 781b ldrb r3, [r3, #0] 804960a: b2db uxtb r3, r3 804960c: 2b03 cmp r3, #3 804960e: f200 8089 bhi.w 8049724 menupos++; 8049612: 4b39 ldr r3, [pc, #228] ; (80496f8 ) 8049614: 781b ldrb r3, [r3, #0] 8049616: b2db uxtb r3, r3 8049618: 3301 adds r3, #1 804961a: b2da uxtb r2, r3 804961c: 4b36 ldr r3, [pc, #216] ; (80496f8 ) 804961e: 701a strb r2, [r3, #0] break; 8049620: e080 b.n 8049724 case CALIBR_4: case CALIBR_5: case CALIBR_6: case CALIBR_7: case CALIBR_8: if(menupos < 2) 8049622: 4b35 ldr r3, [pc, #212] ; (80496f8 ) 8049624: 781b ldrb r3, [r3, #0] 8049626: b2db uxtb r3, r3 8049628: 2b01 cmp r3, #1 804962a: d87e bhi.n 804972a menupos++; 804962c: 4b32 ldr r3, [pc, #200] ; (80496f8 ) 804962e: 781b ldrb r3, [r3, #0] 8049630: b2db uxtb r3, r3 8049632: 3301 adds r3, #1 8049634: b2da uxtb r2, r3 8049636: 4b30 ldr r3, [pc, #192] ; (80496f8 ) 8049638: 701a strb r2, [r3, #0] break; 804963a: e076 b.n 804972a case CALIBR_9: case CALIBR_10: case CALIBR_11: if(menupos > 1) 804963c: 4b2e ldr r3, [pc, #184] ; (80496f8 ) 804963e: 781b ldrb r3, [r3, #0] 8049640: b2db uxtb r3, r3 8049642: 2b01 cmp r3, #1 8049644: d902 bls.n 804964c menupos = 1; 8049646: 4b2c ldr r3, [pc, #176] ; (80496f8 ) 8049648: 2201 movs r2, #1 804964a: 701a strb r2, [r3, #0] if(menupos == 0) 804964c: 4b2a ldr r3, [pc, #168] ; (80496f8 ) 804964e: 781b ldrb r3, [r3, #0] 8049650: b2db uxtb r3, r3 8049652: 2b00 cmp r3, #0 8049654: d16c bne.n 8049730 menupos++; 8049656: 4b28 ldr r3, [pc, #160] ; (80496f8 ) 8049658: 781b ldrb r3, [r3, #0] 804965a: b2db uxtb r3, r3 804965c: 3301 adds r3, #1 804965e: b2da uxtb r2, r3 8049660: 4b25 ldr r3, [pc, #148] ; (80496f8 ) 8049662: 701a strb r2, [r3, #0] break; 8049664: e064 b.n 8049730 break; 8049666: bf00 nop 8049668: f00a ba89 b.w 8053b7e break; 804966c: bf00 nop 804966e: f00a ba86 b.w 8053b7e break; 8049672: bf00 nop 8049674: f00a ba83 b.w 8053b7e break; 8049678: bf00 nop 804967a: f00a ba80 b.w 8053b7e break; 804967e: bf00 nop 8049680: f00a ba7d b.w 8053b7e break; 8049684: bf00 nop 8049686: f00a ba7a b.w 8053b7e break; 804968a: bf00 nop 804968c: f00a ba77 b.w 8053b7e break; 8049690: bf00 nop 8049692: f00a ba74 b.w 8053b7e break; 8049696: bf00 nop 8049698: f00a ba71 b.w 8053b7e break; 804969c: bf00 nop 804969e: f00a ba6e b.w 8053b7e break; 80496a2: bf00 nop 80496a4: f00a ba6b b.w 8053b7e break; 80496a8: bf00 nop 80496aa: f00a ba68 b.w 8053b7e break; 80496ae: bf00 nop 80496b0: f00a ba65 b.w 8053b7e break; 80496b4: bf00 nop 80496b6: f00a ba62 b.w 8053b7e break; 80496ba: bf00 nop 80496bc: f00a ba5f b.w 8053b7e break; 80496c0: bf00 nop 80496c2: f00a ba5c b.w 8053b7e break; 80496c6: bf00 nop 80496c8: f00a ba59 b.w 8053b7e break; 80496cc: bf00 nop 80496ce: f00a ba56 b.w 8053b7e break; 80496d2: bf00 nop 80496d4: f00a ba53 b.w 8053b7e break; 80496d8: bf00 nop 80496da: f00a ba50 b.w 8053b7e break; 80496de: bf00 nop 80496e0: f00a ba4d b.w 8053b7e break; 80496e4: bf00 nop 80496e6: f00a ba4a b.w 8053b7e break; 80496ea: bf00 nop 80496ec: f00a ba47 b.w 8053b7e break; 80496f0: bf00 nop 80496f2: f00a ba44 b.w 8053b7e 80496f6: bf00 nop 80496f8: 20020070 .word 0x20020070 80496fc: 20020fc8 .word 0x20020fc8 8049700: 20023ea8 .word 0x20023ea8 8049704: 20020fbd .word 0x20020fbd 8049708: 20020e2c .word 0x20020e2c break; 804970c: bf00 nop 804970e: f00a ba36 b.w 8053b7e break; 8049712: bf00 nop 8049714: f00a ba33 b.w 8053b7e break; 8049718: bf00 nop 804971a: f00a ba30 b.w 8053b7e break; 804971e: bf00 nop 8049720: f00a ba2d b.w 8053b7e break; 8049724: bf00 nop 8049726: f00a ba2a b.w 8053b7e break; 804972a: bf00 nop 804972c: f00a ba27 b.w 8053b7e break; 8049730: bf00 nop } break; 8049732: f00a ba24 b.w 8053b7e case KEY_TMP: // TODO KEY TMP switch(menu) 8049736: 4bc1 ldr r3, [pc, #772] ; (8049a3c ) 8049738: 781b ldrb r3, [r3, #0] 804973a: b2db uxtb r3, r3 804973c: 2b47 cmp r3, #71 ; 0x47 804973e: f20a 8220 bhi.w 8053b82 8049742: a201 add r2, pc, #4 ; (adr r2, 8049748 ) 8049744: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8049748: 080498c1 .word 0x080498c1 804974c: 08053b83 .word 0x08053b83 8049750: 08049c11 .word 0x08049c11 8049754: 08049c45 .word 0x08049c45 8049758: 08049c7b .word 0x08049c7b 804975c: 08053b83 .word 0x08053b83 8049760: 08049b85 .word 0x08049b85 8049764: 08049bad .word 0x08049bad 8049768: 08049b99 .word 0x08049b99 804976c: 08053b83 .word 0x08053b83 8049770: 08049bc1 .word 0x08049bc1 8049774: 08053b83 .word 0x08053b83 8049778: 08053b83 .word 0x08053b83 804977c: 08049bd5 .word 0x08049bd5 8049780: 08049be9 .word 0x08049be9 8049784: 08049bfd .word 0x08049bfd 8049788: 08049b71 .word 0x08049b71 804978c: 08049b59 .word 0x08049b59 8049790: 08049de3 .word 0x08049de3 8049794: 08053b83 .word 0x08053b83 8049798: 08053b83 .word 0x08053b83 804979c: 08053b83 .word 0x08053b83 80497a0: 08053b83 .word 0x08053b83 80497a4: 08049c25 .word 0x08049c25 80497a8: 08049df7 .word 0x08049df7 80497ac: 08053b83 .word 0x08053b83 80497b0: 08053b83 .word 0x08053b83 80497b4: 08053b83 .word 0x08053b83 80497b8: 0804990d .word 0x0804990d 80497bc: 080498d9 .word 0x080498d9 80497c0: 08049aad .word 0x08049aad 80497c4: 080498c1 .word 0x080498c1 80497c8: 08049975 .word 0x08049975 80497cc: 0804999f .word 0x0804999f 80497d0: 080499d3 .word 0x080499d3 80497d4: 08049a79 .word 0x08049a79 80497d8: 08049941 .word 0x08049941 80497dc: 08049a07 .word 0x08049a07 80497e0: 08049a61 .word 0x08049a61 80497e4: 08049891 .word 0x08049891 80497e8: 08049869 .word 0x08049869 80497ec: 08049b05 .word 0x08049b05 80497f0: 08049b2f .word 0x08049b2f 80497f4: 08049e41 .word 0x08049e41 80497f8: 08049e8b .word 0x08049e8b 80497fc: 08053b83 .word 0x08053b83 8049800: 08053b83 .word 0x08053b83 8049804: 08049e2f .word 0x08049e2f 8049808: 08049e65 .word 0x08049e65 804980c: 08053b83 .word 0x08053b83 8049810: 08053b83 .word 0x08053b83 8049814: 08049e0b .word 0x08049e0b 8049818: 08053b83 .word 0x08053b83 804981c: 08053b83 .word 0x08053b83 8049820: 08053b83 .word 0x08053b83 8049824: 08053b83 .word 0x08053b83 8049828: 08053b83 .word 0x08053b83 804982c: 08053b83 .word 0x08053b83 8049830: 08053b83 .word 0x08053b83 8049834: 08053b83 .word 0x08053b83 8049838: 08053b83 .word 0x08053b83 804983c: 08053b83 .word 0x08053b83 8049840: 08053b83 .word 0x08053b83 8049844: 08053b83 .word 0x08053b83 8049848: 08053b83 .word 0x08053b83 804984c: 08053b83 .word 0x08053b83 8049850: 08053b83 .word 0x08053b83 8049854: 08053b83 .word 0x08053b83 8049858: 08053b83 .word 0x08053b83 804985c: 0804989f .word 0x0804989f 8049860: 0804989f .word 0x0804989f 8049864: 0804989f .word 0x0804989f { case VIEW_PORTRET: if(menupos == Cursor) 8049868: 4b75 ldr r3, [pc, #468] ; (8049a40 ) 804986a: 781b ldrb r3, [r3, #0] 804986c: b2db uxtb r3, r3 804986e: 2b06 cmp r3, #6 8049870: d105 bne.n 804987e menupos = lastmenupos; 8049872: 4b74 ldr r3, [pc, #464] ; (8049a44 ) 8049874: 781b ldrb r3, [r3, #0] 8049876: b2da uxtb r2, r3 8049878: 4b71 ldr r3, [pc, #452] ; (8049a40 ) 804987a: 701a strb r2, [r3, #0] else { menu = ROLL_RESULTS; menupos = DefectType; } break; 804987c: e321 b.n 8049ec2 menu = ROLL_RESULTS; 804987e: 4b6f ldr r3, [pc, #444] ; (8049a3c ) 8049880: 2227 movs r2, #39 ; 0x27 8049882: 701a strb r2, [r3, #0] menupos = DefectType; 8049884: 4b70 ldr r3, [pc, #448] ; (8049a48 ) 8049886: 781b ldrb r3, [r3, #0] 8049888: b2da uxtb r2, r3 804988a: 4b6d ldr r3, [pc, #436] ; (8049a40 ) 804988c: 701a strb r2, [r3, #0] break; 804988e: e318 b.n 8049ec2 case ROLL_RESULTS: menu = MAIN_ROLL; 8049890: 4b6a ldr r3, [pc, #424] ; (8049a3c ) 8049892: 2224 movs r2, #36 ; 0x24 8049894: 701a strb r2, [r3, #0] menupos = Results; 8049896: 4b6a ldr r3, [pc, #424] ; (8049a40 ) 8049898: 2208 movs r2, #8 804989a: 701a strb r2, [r3, #0] break; 804989c: e311 b.n 8049ec2 case TREND_A: case TREND_V: case TREND_S: menu = lastmenu; 804989e: 4b6b ldr r3, [pc, #428] ; (8049a4c ) 80498a0: 781b ldrb r3, [r3, #0] 80498a2: b2da uxtb r2, r3 80498a4: 4b65 ldr r3, [pc, #404] ; (8049a3c ) 80498a6: 701a strb r2, [r3, #0] menupos = lastmenupos; 80498a8: 4b66 ldr r3, [pc, #408] ; (8049a44 ) 80498aa: 781b ldrb r3, [r3, #0] 80498ac: b2da uxtb r2, r3 80498ae: 4b64 ldr r3, [pc, #400] ; (8049a40 ) 80498b0: 701a strb r2, [r3, #0] Threshold = false; 80498b2: 4b67 ldr r3, [pc, #412] ; (8049a50 ) 80498b4: 2200 movs r2, #0 80498b6: 701a strb r2, [r3, #0] FIRST = true; 80498b8: 4b66 ldr r3, [pc, #408] ; (8049a54 ) 80498ba: 2201 movs r2, #1 80498bc: 701a strb r2, [r3, #0] break; 80498be: e300 b.n 8049ec2 case MAIN: case MAIN_FRAN: focused = false; 80498c0: 4b65 ldr r3, [pc, #404] ; (8049a58 ) 80498c2: 2200 movs r2, #0 80498c4: 701a strb r2, [r3, #0] StopMeas(); 80498c6: f7d9 ff69 bl 802379c menu = PARAM_VIB; 80498ca: 4b5c ldr r3, [pc, #368] ; (8049a3c ) 80498cc: 2206 movs r2, #6 80498ce: 701a strb r2, [r3, #0] menupos = Ok; 80498d0: 4b5b ldr r3, [pc, #364] ; (8049a40 ) 80498d2: 2200 movs r2, #0 80498d4: 701a strb r2, [r3, #0] break; 80498d6: e2f4 b.n 8049ec2 case MAIN_OSC: focused = false; 80498d8: 4b5f ldr r3, [pc, #380] ; (8049a58 ) 80498da: 2200 movs r2, #0 80498dc: 701a strb r2, [r3, #0] if(menupos == Cursor) 80498de: 4b58 ldr r3, [pc, #352] ; (8049a40 ) 80498e0: 781b ldrb r3, [r3, #0] 80498e2: b2db uxtb r3, r3 80498e4: 2b06 cmp r3, #6 80498e6: d105 bne.n 80498f4 menupos = lastmenupos; 80498e8: 4b56 ldr r3, [pc, #344] ; (8049a44 ) 80498ea: 781b ldrb r3, [r3, #0] 80498ec: b2da uxtb r2, r3 80498ee: 4b54 ldr r3, [pc, #336] ; (8049a40 ) 80498f0: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_OSC; menupos = Ok; READY_TO_SEE = false; } break; 80498f2: e2e6 b.n 8049ec2 StopMeas(); 80498f4: f7d9 ff52 bl 802379c menu = PARAM_OSC; 80498f8: 4b50 ldr r3, [pc, #320] ; (8049a3c ) 80498fa: 2208 movs r2, #8 80498fc: 701a strb r2, [r3, #0] menupos = Ok; 80498fe: 4b50 ldr r3, [pc, #320] ; (8049a40 ) 8049900: 2200 movs r2, #0 8049902: 701a strb r2, [r3, #0] READY_TO_SEE = false; 8049904: 4b55 ldr r3, [pc, #340] ; (8049a5c ) 8049906: 2200 movs r2, #0 8049908: 701a strb r2, [r3, #0] break; 804990a: e2da b.n 8049ec2 case MAIN_SPEC: focused = false; 804990c: 4b52 ldr r3, [pc, #328] ; (8049a58 ) 804990e: 2200 movs r2, #0 8049910: 701a strb r2, [r3, #0] if(menupos == Cursor) 8049912: 4b4b ldr r3, [pc, #300] ; (8049a40 ) 8049914: 781b ldrb r3, [r3, #0] 8049916: b2db uxtb r3, r3 8049918: 2b06 cmp r3, #6 804991a: d105 bne.n 8049928 menupos = lastmenupos; 804991c: 4b49 ldr r3, [pc, #292] ; (8049a44 ) 804991e: 781b ldrb r3, [r3, #0] 8049920: b2da uxtb r2, r3 8049922: 4b47 ldr r3, [pc, #284] ; (8049a40 ) 8049924: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 8049926: e2cc b.n 8049ec2 StopMeas(); 8049928: f7d9 ff38 bl 802379c menu = PARAM_SPEC; 804992c: 4b43 ldr r3, [pc, #268] ; (8049a3c ) 804992e: 2207 movs r2, #7 8049930: 701a strb r2, [r3, #0] menupos = Ok; 8049932: 4b43 ldr r3, [pc, #268] ; (8049a40 ) 8049934: 2200 movs r2, #0 8049936: 701a strb r2, [r3, #0] READY_TO_SEE = false; 8049938: 4b48 ldr r3, [pc, #288] ; (8049a5c ) 804993a: 2200 movs r2, #0 804993c: 701a strb r2, [r3, #0] break; 804993e: e2c0 b.n 8049ec2 case MAIN_ROLL: focused = false; 8049940: 4b45 ldr r3, [pc, #276] ; (8049a58 ) 8049942: 2200 movs r2, #0 8049944: 701a strb r2, [r3, #0] if(menupos == Cursor) 8049946: 4b3e ldr r3, [pc, #248] ; (8049a40 ) 8049948: 781b ldrb r3, [r3, #0] 804994a: b2db uxtb r3, r3 804994c: 2b06 cmp r3, #6 804994e: d105 bne.n 804995c menupos = lastmenupos; 8049950: 4b3c ldr r3, [pc, #240] ; (8049a44 ) 8049952: 781b ldrb r3, [r3, #0] 8049954: b2da uxtb r2, r3 8049956: 4b3a ldr r3, [pc, #232] ; (8049a40 ) 8049958: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_ROLL; menupos = Ok; READY_TO_SEE = false; } break; 804995a: e2b2 b.n 8049ec2 StopMeas(); 804995c: f7d9 ff1e bl 802379c menu = PARAM_ROLL; 8049960: 4b36 ldr r3, [pc, #216] ; (8049a3c ) 8049962: 220d movs r2, #13 8049964: 701a strb r2, [r3, #0] menupos = Ok; 8049966: 4b36 ldr r3, [pc, #216] ; (8049a40 ) 8049968: 2200 movs r2, #0 804996a: 701a strb r2, [r3, #0] READY_TO_SEE = false; 804996c: 4b3b ldr r3, [pc, #236] ; (8049a5c ) 804996e: 2200 movs r2, #0 8049970: 701a strb r2, [r3, #0] break; 8049972: e2a6 b.n 8049ec2 case MAIN_SYGNAL: focused = false; 8049974: 4b38 ldr r3, [pc, #224] ; (8049a58 ) 8049976: 2200 movs r2, #0 8049978: 701a strb r2, [r3, #0] if(menupos == Cursor) 804997a: 4b31 ldr r3, [pc, #196] ; (8049a40 ) 804997c: 781b ldrb r3, [r3, #0] 804997e: b2db uxtb r3, r3 8049980: 2b06 cmp r3, #6 8049982: d105 bne.n 8049990 menupos = lastmenupos; 8049984: 4b2f ldr r3, [pc, #188] ; (8049a44 ) 8049986: 781b ldrb r3, [r3, #0] 8049988: b2da uxtb r2, r3 804998a: 4b2d ldr r3, [pc, #180] ; (8049a40 ) 804998c: 701a strb r2, [r3, #0] else { menu = ARCHIVE_WAVE; menupos = FilesGTR; } break; 804998e: e298 b.n 8049ec2 menu = ARCHIVE_WAVE; 8049990: 4b2a ldr r3, [pc, #168] ; (8049a3c ) 8049992: 2217 movs r2, #23 8049994: 701a strb r2, [r3, #0] menupos = FilesGTR; 8049996: 4b2a ldr r3, [pc, #168] ; (8049a40 ) 8049998: 2202 movs r2, #2 804999a: 701a strb r2, [r3, #0] break; 804999c: e291 b.n 8049ec2 case MAIN_SPEC_OGIB: focused = false; 804999e: 4b2e ldr r3, [pc, #184] ; (8049a58 ) 80499a0: 2200 movs r2, #0 80499a2: 701a strb r2, [r3, #0] if(menupos == Cursor) 80499a4: 4b26 ldr r3, [pc, #152] ; (8049a40 ) 80499a6: 781b ldrb r3, [r3, #0] 80499a8: b2db uxtb r3, r3 80499aa: 2b06 cmp r3, #6 80499ac: d105 bne.n 80499ba menupos = lastmenupos; 80499ae: 4b25 ldr r3, [pc, #148] ; (8049a44 ) 80499b0: 781b ldrb r3, [r3, #0] 80499b2: b2da uxtb r2, r3 80499b4: 4b22 ldr r3, [pc, #136] ; (8049a40 ) 80499b6: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 80499b8: e283 b.n 8049ec2 StopMeas(); 80499ba: f7d9 feef bl 802379c menu = PARAM_SPEC; 80499be: 4b1f ldr r3, [pc, #124] ; (8049a3c ) 80499c0: 2207 movs r2, #7 80499c2: 701a strb r2, [r3, #0] menupos = Ok; 80499c4: 4b1e ldr r3, [pc, #120] ; (8049a40 ) 80499c6: 2200 movs r2, #0 80499c8: 701a strb r2, [r3, #0] READY_TO_SEE = false; 80499ca: 4b24 ldr r3, [pc, #144] ; (8049a5c ) 80499cc: 2200 movs r2, #0 80499ce: 701a strb r2, [r3, #0] break; 80499d0: e277 b.n 8049ec2 case MAIN_SPEC_OKT: focused = false; 80499d2: 4b21 ldr r3, [pc, #132] ; (8049a58 ) 80499d4: 2200 movs r2, #0 80499d6: 701a strb r2, [r3, #0] if(menupos == Cursor) 80499d8: 4b19 ldr r3, [pc, #100] ; (8049a40 ) 80499da: 781b ldrb r3, [r3, #0] 80499dc: b2db uxtb r3, r3 80499de: 2b06 cmp r3, #6 80499e0: d105 bne.n 80499ee menupos = lastmenupos; 80499e2: 4b18 ldr r3, [pc, #96] ; (8049a44 ) 80499e4: 781b ldrb r3, [r3, #0] 80499e6: b2da uxtb r2, r3 80499e8: 4b15 ldr r3, [pc, #84] ; (8049a40 ) 80499ea: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 80499ec: e269 b.n 8049ec2 StopMeas(); 80499ee: f7d9 fed5 bl 802379c menu = PARAM_SPEC; 80499f2: 4b12 ldr r3, [pc, #72] ; (8049a3c ) 80499f4: 2207 movs r2, #7 80499f6: 701a strb r2, [r3, #0] menupos = Ok; 80499f8: 4b11 ldr r3, [pc, #68] ; (8049a40 ) 80499fa: 2200 movs r2, #0 80499fc: 701a strb r2, [r3, #0] READY_TO_SEE = false; 80499fe: 4b17 ldr r3, [pc, #92] ; (8049a5c ) 8049a00: 2200 movs r2, #0 8049a02: 701a strb r2, [r3, #0] break; 8049a04: e25d b.n 8049ec2 case MAIN_UDAR: focused = false; 8049a06: 4b14 ldr r3, [pc, #80] ; (8049a58 ) 8049a08: 2200 movs r2, #0 8049a0a: 701a strb r2, [r3, #0] if(menupos == Cursor) 8049a0c: 4b0c ldr r3, [pc, #48] ; (8049a40 ) 8049a0e: 781b ldrb r3, [r3, #0] 8049a10: b2db uxtb r3, r3 8049a12: 2b06 cmp r3, #6 8049a14: d105 bne.n 8049a22 menupos = lastmenupos; 8049a16: 4b0b ldr r3, [pc, #44] ; (8049a44 ) 8049a18: 781b ldrb r3, [r3, #0] 8049a1a: b2da uxtb r2, r3 8049a1c: 4b08 ldr r3, [pc, #32] ; (8049a40 ) 8049a1e: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_UDAR; menupos = Ok; READY_TO_SEE = false; } break; 8049a20: e24f b.n 8049ec2 StopMeas(); 8049a22: f7d9 febb bl 802379c menu = PARAM_UDAR; 8049a26: 4b05 ldr r3, [pc, #20] ; (8049a3c ) 8049a28: 220e movs r2, #14 8049a2a: 701a strb r2, [r3, #0] menupos = Ok; 8049a2c: 4b04 ldr r3, [pc, #16] ; (8049a40 ) 8049a2e: 2200 movs r2, #0 8049a30: 701a strb r2, [r3, #0] READY_TO_SEE = false; 8049a32: 4b0a ldr r3, [pc, #40] ; (8049a5c ) 8049a34: 2200 movs r2, #0 8049a36: 701a strb r2, [r3, #0] break; 8049a38: e243 b.n 8049ec2 8049a3a: bf00 nop 8049a3c: 20020fbd .word 0x20020fbd 8049a40: 20020070 .word 0x20020070 8049a44: 20020071 .word 0x20020071 8049a48: 20021568 .word 0x20021568 8049a4c: 20020fbe .word 0x20020fbe 8049a50: 20020dd1 .word 0x20020dd1 8049a54: 20020dd2 .word 0x20020dd2 8049a58: 20020fc8 .word 0x20020fc8 8049a5c: 20020dae .word 0x20020dae case MAIN_DIAGN: focused = false; 8049a60: 4bad ldr r3, [pc, #692] ; (8049d18 ) 8049a62: 2200 movs r2, #0 8049a64: 701a strb r2, [r3, #0] StopMeas(); 8049a66: f7d9 fe99 bl 802379c menu = PARAM_DIAGN_2; 8049a6a: 4bac ldr r3, [pc, #688] ; (8049d1c ) 8049a6c: 2211 movs r2, #17 8049a6e: 701a strb r2, [r3, #0] menupos = Ok; 8049a70: 4bab ldr r3, [pc, #684] ; (8049d20 ) 8049a72: 2200 movs r2, #0 8049a74: 701a strb r2, [r3, #0] break; 8049a76: e224 b.n 8049ec2 case MAIN_SPEC_THIRD: focused = false; 8049a78: 4ba7 ldr r3, [pc, #668] ; (8049d18 ) 8049a7a: 2200 movs r2, #0 8049a7c: 701a strb r2, [r3, #0] if(menupos == Cursor) 8049a7e: 4ba8 ldr r3, [pc, #672] ; (8049d20 ) 8049a80: 781b ldrb r3, [r3, #0] 8049a82: b2db uxtb r3, r3 8049a84: 2b06 cmp r3, #6 8049a86: d105 bne.n 8049a94 menupos = lastmenupos; 8049a88: 4ba6 ldr r3, [pc, #664] ; (8049d24 ) 8049a8a: 781b ldrb r3, [r3, #0] 8049a8c: b2da uxtb r2, r3 8049a8e: 4ba4 ldr r3, [pc, #656] ; (8049d20 ) 8049a90: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 8049a92: e216 b.n 8049ec2 StopMeas(); 8049a94: f7d9 fe82 bl 802379c menu = PARAM_SPEC; 8049a98: 4ba0 ldr r3, [pc, #640] ; (8049d1c ) 8049a9a: 2207 movs r2, #7 8049a9c: 701a strb r2, [r3, #0] menupos = Ok; 8049a9e: 4ba0 ldr r3, [pc, #640] ; (8049d20 ) 8049aa0: 2200 movs r2, #0 8049aa2: 701a strb r2, [r3, #0] READY_TO_SEE = false; 8049aa4: 4ba0 ldr r3, [pc, #640] ; (8049d28 ) 8049aa6: 2200 movs r2, #0 8049aa8: 701a strb r2, [r3, #0] break; 8049aaa: e20a b.n 8049ec2 case MAIN_WAVE: focused = false; 8049aac: 4b9a ldr r3, [pc, #616] ; (8049d18 ) 8049aae: 2200 movs r2, #0 8049ab0: 701a strb r2, [r3, #0] StopMeas(); 8049ab2: f7d9 fe73 bl 802379c if(IS_ROUTE == false) 8049ab6: 4b9d ldr r3, [pc, #628] ; (8049d2c ) 8049ab8: 781b ldrb r3, [r3, #0] 8049aba: b2db uxtb r3, r3 8049abc: f083 0301 eor.w r3, r3, #1 8049ac0: b2db uxtb r3, r3 8049ac2: 2b00 cmp r3, #0 8049ac4: d009 beq.n 8049ada { menu = PARAM_WAVE; 8049ac6: 4b95 ldr r3, [pc, #596] ; (8049d1c ) 8049ac8: 220a movs r2, #10 8049aca: 701a strb r2, [r3, #0] menupos = Ok; 8049acc: 4b94 ldr r3, [pc, #592] ; (8049d20 ) 8049ace: 2200 movs r2, #0 8049ad0: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8049ad2: 4b97 ldr r3, [pc, #604] ; (8049d30 ) 8049ad4: 2200 movs r2, #0 8049ad6: 709a strb r2, [r3, #2] }*/ if(RouteMeas(RouteIndex) == 0) menupos = GoMeas; else menupos = NextPoint; } break; 8049ad8: e1f3 b.n 8049ec2 IS_ROUTE = false; 8049ada: 4b94 ldr r3, [pc, #592] ; (8049d2c ) 8049adc: 2200 movs r2, #0 8049ade: 701a strb r2, [r3, #0] menu = ROUTE_MAP; 8049ae0: 4b8e ldr r3, [pc, #568] ; (8049d1c ) 8049ae2: 2204 movs r2, #4 8049ae4: 701a strb r2, [r3, #0] if(RouteMeas(RouteIndex) == 0) 8049ae6: 4b93 ldr r3, [pc, #588] ; (8049d34 ) 8049ae8: 681a ldr r2, [r3, #0] 8049aea: 4b93 ldr r3, [pc, #588] ; (8049d38 ) 8049aec: 4413 add r3, r2 8049aee: 781b ldrb r3, [r3, #0] 8049af0: 2b00 cmp r3, #0 8049af2: d103 bne.n 8049afc menupos = GoMeas; 8049af4: 4b8a ldr r3, [pc, #552] ; (8049d20 ) 8049af6: 2201 movs r2, #1 8049af8: 701a strb r2, [r3, #0] break; 8049afa: e1e2 b.n 8049ec2 else menupos = NextPoint; 8049afc: 4b88 ldr r3, [pc, #544] ; (8049d20 ) 8049afe: 2202 movs r2, #2 8049b00: 701a strb r2, [r3, #0] break; 8049b02: e1de b.n 8049ec2 case EXPLORER: focused = false; 8049b04: 4b84 ldr r3, [pc, #528] ; (8049d18 ) 8049b06: 2200 movs r2, #0 8049b08: 701a strb r2, [r3, #0] if(NeedClean == 0) 8049b0a: 4b8c ldr r3, [pc, #560] ; (8049d3c ) 8049b0c: 781b ldrb r3, [r3, #0] 8049b0e: b2db uxtb r3, r3 8049b10: 2b00 cmp r3, #0 8049b12: f040 81cc bne.w 8049eae { memset(MeasFileName, 0, sizeof(MeasFileName));//TODO 8049b16: 2221 movs r2, #33 ; 0x21 8049b18: 2100 movs r1, #0 8049b1a: 4889 ldr r0, [pc, #548] ; (8049d40 ) 8049b1c: f087 fc40 bl 80d13a0 menu = PARAM_VIB; 8049b20: 4b7e ldr r3, [pc, #504] ; (8049d1c ) 8049b22: 2206 movs r2, #6 8049b24: 701a strb r2, [r3, #0] menupos = SaveToFile; 8049b26: 4b7e ldr r3, [pc, #504] ; (8049d20 ) 8049b28: 220a movs r2, #10 8049b2a: 701a strb r2, [r3, #0] } break; 8049b2c: e1bf b.n 8049eae case EXPLORER_DIAGN: focused = false; 8049b2e: 4b7a ldr r3, [pc, #488] ; (8049d18 ) 8049b30: 2200 movs r2, #0 8049b32: 701a strb r2, [r3, #0] if(NeedClean == 0) 8049b34: 4b81 ldr r3, [pc, #516] ; (8049d3c ) 8049b36: 781b ldrb r3, [r3, #0] 8049b38: b2db uxtb r3, r3 8049b3a: 2b00 cmp r3, #0 8049b3c: f040 81ba bne.w 8049eb4 { memset(DiagFileName, 0, sizeof(DiagFileName));//TODO 8049b40: 2221 movs r2, #33 ; 0x21 8049b42: 2100 movs r1, #0 8049b44: 487f ldr r0, [pc, #508] ; (8049d44 ) 8049b46: f087 fc2b bl 80d13a0 menu = PARAM_DIAGN; 8049b4a: 4b74 ldr r3, [pc, #464] ; (8049d1c ) 8049b4c: 220f movs r2, #15 8049b4e: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 8049b50: 4b73 ldr r3, [pc, #460] ; (8049d20 ) 8049b52: 2204 movs r2, #4 8049b54: 701a strb r2, [r3, #0] } break; 8049b56: e1ad b.n 8049eb4 focused = false; menu = SETTINGS; menupos = Accel; break;*/ case PARAM_DIAGN_2: focused = false; 8049b58: 4b6f ldr r3, [pc, #444] ; (8049d18 ) 8049b5a: 2200 movs r2, #0 8049b5c: 701a strb r2, [r3, #0] menu = PARAM_DIAGN_1; 8049b5e: 4b6f ldr r3, [pc, #444] ; (8049d1c ) 8049b60: 2210 movs r2, #16 8049b62: 701a strb r2, [r3, #0] menupos = CURR_POINT; 8049b64: 4b78 ldr r3, [pc, #480] ; (8049d48 ) 8049b66: 781b ldrb r3, [r3, #0] 8049b68: b2da uxtb r2, r3 8049b6a: 4b6d ldr r3, [pc, #436] ; (8049d20 ) 8049b6c: 701a strb r2, [r3, #0] break; 8049b6e: e1a8 b.n 8049ec2 case PARAM_DIAGN_1: focused = false; 8049b70: 4b69 ldr r3, [pc, #420] ; (8049d18 ) 8049b72: 2200 movs r2, #0 8049b74: 701a strb r2, [r3, #0] menu = PARAM_DIAGN; 8049b76: 4b69 ldr r3, [pc, #420] ; (8049d1c ) 8049b78: 220f movs r2, #15 8049b7a: 701a strb r2, [r3, #0] menupos = DiagUs; 8049b7c: 4b68 ldr r3, [pc, #416] ; (8049d20 ) 8049b7e: 2200 movs r2, #0 8049b80: 701a strb r2, [r3, #0] break; 8049b82: e19e b.n 8049ec2 case PARAM_VIB: focused = false; 8049b84: 4b64 ldr r3, [pc, #400] ; (8049d18 ) 8049b86: 2200 movs r2, #0 8049b88: 701a strb r2, [r3, #0] menu = MEAS_MODE; 8049b8a: 4b64 ldr r3, [pc, #400] ; (8049d1c ) 8049b8c: 2202 movs r2, #2 8049b8e: 701a strb r2, [r3, #0] menupos = Vibrometer; 8049b90: 4b63 ldr r3, [pc, #396] ; (8049d20 ) 8049b92: 2201 movs r2, #1 8049b94: 701a strb r2, [r3, #0] break; 8049b96: e194 b.n 8049ec2 case PARAM_OSC: focused = false; 8049b98: 4b5f ldr r3, [pc, #380] ; (8049d18 ) 8049b9a: 2200 movs r2, #0 8049b9c: 701a strb r2, [r3, #0] menu = MEAS_MODE; 8049b9e: 4b5f ldr r3, [pc, #380] ; (8049d1c ) 8049ba0: 2202 movs r2, #2 8049ba2: 701a strb r2, [r3, #0] menupos = Osc; 8049ba4: 4b5e ldr r3, [pc, #376] ; (8049d20 ) 8049ba6: 2202 movs r2, #2 8049ba8: 701a strb r2, [r3, #0] break; 8049baa: e18a b.n 8049ec2 case PARAM_SPEC: focused = false; 8049bac: 4b5a ldr r3, [pc, #360] ; (8049d18 ) 8049bae: 2200 movs r2, #0 8049bb0: 701a strb r2, [r3, #0] menu = MEAS_MODE; 8049bb2: 4b5a ldr r3, [pc, #360] ; (8049d1c ) 8049bb4: 2202 movs r2, #2 8049bb6: 701a strb r2, [r3, #0] menupos = FFT; 8049bb8: 4b59 ldr r3, [pc, #356] ; (8049d20 ) 8049bba: 2203 movs r2, #3 8049bbc: 701a strb r2, [r3, #0] break; 8049bbe: e180 b.n 8049ec2 case PARAM_WAVE: focused = false; 8049bc0: 4b55 ldr r3, [pc, #340] ; (8049d18 ) 8049bc2: 2200 movs r2, #0 8049bc4: 701a strb r2, [r3, #0] menu = MEAS_MODE; 8049bc6: 4b55 ldr r3, [pc, #340] ; (8049d1c ) 8049bc8: 2202 movs r2, #2 8049bca: 701a strb r2, [r3, #0] menupos = Wave; 8049bcc: 4b54 ldr r3, [pc, #336] ; (8049d20 ) 8049bce: 2204 movs r2, #4 8049bd0: 701a strb r2, [r3, #0] break; 8049bd2: e176 b.n 8049ec2 case PARAM_ROLL: focused = false; 8049bd4: 4b50 ldr r3, [pc, #320] ; (8049d18 ) 8049bd6: 2200 movs r2, #0 8049bd8: 701a strb r2, [r3, #0] menu = MEAS_MODE; 8049bda: 4b50 ldr r3, [pc, #320] ; (8049d1c ) 8049bdc: 2202 movs r2, #2 8049bde: 701a strb r2, [r3, #0] menupos = Roll; 8049be0: 4b4f ldr r3, [pc, #316] ; (8049d20 ) 8049be2: 2206 movs r2, #6 8049be4: 701a strb r2, [r3, #0] break; 8049be6: e16c b.n 8049ec2 case PARAM_UDAR: focused = false; 8049be8: 4b4b ldr r3, [pc, #300] ; (8049d18 ) 8049bea: 2200 movs r2, #0 8049bec: 701a strb r2, [r3, #0] menu = MEAS_MODE; 8049bee: 4b4b ldr r3, [pc, #300] ; (8049d1c ) 8049bf0: 2202 movs r2, #2 8049bf2: 701a strb r2, [r3, #0] menupos = Udar; 8049bf4: 4b4a ldr r3, [pc, #296] ; (8049d20 ) 8049bf6: 2207 movs r2, #7 8049bf8: 701a strb r2, [r3, #0] break; 8049bfa: e162 b.n 8049ec2 case PARAM_DIAGN: focused = false; 8049bfc: 4b46 ldr r3, [pc, #280] ; (8049d18 ) 8049bfe: 2200 movs r2, #0 8049c00: 701a strb r2, [r3, #0] menu = MEAS_MODE; 8049c02: 4b46 ldr r3, [pc, #280] ; (8049d1c ) 8049c04: 2202 movs r2, #2 8049c06: 701a strb r2, [r3, #0] menupos = Diagn; 8049c08: 4b45 ldr r3, [pc, #276] ; (8049d20 ) 8049c0a: 2205 movs r2, #5 8049c0c: 701a strb r2, [r3, #0] break; 8049c0e: e158 b.n 8049ec2 case MEAS_MODE: focused = false; 8049c10: 4b41 ldr r3, [pc, #260] ; (8049d18 ) 8049c12: 2200 movs r2, #0 8049c14: 701a strb r2, [r3, #0] menu = OPTIONS; 8049c16: 4b41 ldr r3, [pc, #260] ; (8049d1c ) 8049c18: 2201 movs r2, #1 8049c1a: 701a strb r2, [r3, #0] menupos = Mode; 8049c1c: 4b40 ldr r3, [pc, #256] ; (8049d20 ) 8049c1e: 2201 movs r2, #1 8049c20: 701a strb r2, [r3, #0] break; 8049c22: e14e b.n 8049ec2 case ARCHIVE_WAVE: focused = false; 8049c24: 4b3c ldr r3, [pc, #240] ; (8049d18 ) 8049c26: 2200 movs r2, #0 8049c28: 701a strb r2, [r3, #0] if(NeedClean == 0) 8049c2a: 4b44 ldr r3, [pc, #272] ; (8049d3c ) 8049c2c: 781b ldrb r3, [r3, #0] 8049c2e: b2db uxtb r3, r3 8049c30: 2b00 cmp r3, #0 8049c32: f040 8142 bne.w 8049eba { menu = OPTIONS; 8049c36: 4b39 ldr r3, [pc, #228] ; (8049d1c ) 8049c38: 2201 movs r2, #1 8049c3a: 701a strb r2, [r3, #0] menupos = PlayFiles; 8049c3c: 4b38 ldr r3, [pc, #224] ; (8049d20 ) 8049c3e: 2203 movs r2, #3 8049c40: 701a strb r2, [r3, #0] } break; 8049c42: e13a b.n 8049eba case ROUTE: focused = false; 8049c44: 4b34 ldr r3, [pc, #208] ; (8049d18 ) 8049c46: 2200 movs r2, #0 8049c48: 701a strb r2, [r3, #0] if(NeedClean == 0) 8049c4a: 4b3c ldr r3, [pc, #240] ; (8049d3c ) 8049c4c: 781b ldrb r3, [r3, #0] 8049c4e: b2db uxtb r3, r3 8049c50: 2b00 cmp r3, #0 8049c52: f040 8135 bne.w 8049ec0 { RouteIndex = MaxRouteIndex = 0; 8049c56: 2300 movs r3, #0 8049c58: 4a3c ldr r2, [pc, #240] ; (8049d4c ) 8049c5a: 6013 str r3, [r2, #0] 8049c5c: 4a35 ldr r2, [pc, #212] ; (8049d34 ) 8049c5e: 6013 str r3, [r2, #0] memset((void *) &RouteMeas(0), 0, 65536u); 8049c60: f44f 3280 mov.w r2, #65536 ; 0x10000 8049c64: 2100 movs r1, #0 8049c66: 4834 ldr r0, [pc, #208] ; (8049d38 ) 8049c68: f087 fb9a bl 80d13a0 menu = OPTIONS; 8049c6c: 4b2b ldr r3, [pc, #172] ; (8049d1c ) 8049c6e: 2201 movs r2, #1 8049c70: 701a strb r2, [r3, #0] menupos = Route; 8049c72: 4b2b ldr r3, [pc, #172] ; (8049d20 ) 8049c74: 2204 movs r2, #4 8049c76: 701a strb r2, [r3, #0] } break; 8049c78: e122 b.n 8049ec0 case ROUTE_MAP: focused = false; 8049c7a: 4b27 ldr r3, [pc, #156] ; (8049d18 ) 8049c7c: 2200 movs r2, #0 8049c7e: 701a strb r2, [r3, #0] menu = ROUTE; 8049c80: 4b26 ldr r3, [pc, #152] ; (8049d1c ) 8049c82: 2203 movs r2, #3 8049c84: 701a strb r2, [r3, #0] menupos = FilesCSV; 8049c86: 4b26 ldr r3, [pc, #152] ; (8049d20 ) 8049c88: 2202 movs r2, #2 8049c8a: 701a strb r2, [r3, #0] memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8049c8c: 4a28 ldr r2, [pc, #160] ; (8049d30 ) 8049c8e: 4b30 ldr r3, [pc, #192] ; (8049d50 ) 8049c90: 4610 mov r0, r2 8049c92: 4619 mov r1, r3 8049c94: f44f 6396 mov.w r3, #1200 ; 0x4b0 8049c98: 461a mov r2, r3 8049c9a: f087 fb76 bl 80d138a RouteIndex = 0; 8049c9e: 4b25 ldr r3, [pc, #148] ; (8049d34 ) 8049ca0: 2200 movs r2, #0 8049ca2: 601a str r2, [r3, #0] for(i = 0; i < MaxRouteIndex; i++) 8049ca4: 2300 movs r3, #0 8049ca6: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8049caa: e058 b.n 8049d5e { if(RouteMeas(i) != 0) 8049cac: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8049cb0: 4b21 ldr r3, [pc, #132] ; (8049d38 ) 8049cb2: 4413 add r3, r2 8049cb4: 781b ldrb r3, [r3, #0] 8049cb6: 2b00 cmp r3, #0 8049cb8: d04c beq.n 8049d54 { RouteIndex = i + 1; 8049cba: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8049cbe: 3301 adds r3, #1 8049cc0: 4a1c ldr r2, [pc, #112] ; (8049d34 ) 8049cc2: 6013 str r3, [r2, #0] if(RouteIndex == MaxRouteIndex) 8049cc4: 4b1b ldr r3, [pc, #108] ; (8049d34 ) 8049cc6: 681a ldr r2, [r3, #0] 8049cc8: 4b20 ldr r3, [pc, #128] ; (8049d4c ) 8049cca: 681b ldr r3, [r3, #0] 8049ccc: 429a cmp r2, r3 8049cce: d141 bne.n 8049d54 { for(l = 0; l < MaxRouteIndex; l++) 8049cd0: 2300 movs r3, #0 8049cd2: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 8049cd6: e00f b.n 8049cf8 { if(RouteMeas(l) == 0) { 8049cd8: f8d7 20b8 ldr.w r2, [r7, #184] ; 0xb8 8049cdc: 4b16 ldr r3, [pc, #88] ; (8049d38 ) 8049cde: 4413 add r3, r2 8049ce0: 781b ldrb r3, [r3, #0] 8049ce2: 2b00 cmp r3, #0 8049ce4: d103 bne.n 8049cee RouteIndex = l; 8049ce6: 4a13 ldr r2, [pc, #76] ; (8049d34 ) 8049ce8: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 8049cec: 6013 str r3, [r2, #0] for(l = 0; l < MaxRouteIndex; l++) 8049cee: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 8049cf2: 3301 adds r3, #1 8049cf4: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 8049cf8: 4b14 ldr r3, [pc, #80] ; (8049d4c ) 8049cfa: 681b ldr r3, [r3, #0] 8049cfc: f8d7 20b8 ldr.w r2, [r7, #184] ; 0xb8 8049d00: 429a cmp r2, r3 8049d02: d3e9 bcc.n 8049cd8 } } if(RouteIndex == MaxRouteIndex) 8049d04: 4b0b ldr r3, [pc, #44] ; (8049d34 ) 8049d06: 681a ldr r2, [r3, #0] 8049d08: 4b10 ldr r3, [pc, #64] ; (8049d4c ) 8049d0a: 681b ldr r3, [r3, #0] 8049d0c: 429a cmp r2, r3 8049d0e: d121 bne.n 8049d54 { RouteIndex = 0; 8049d10: 4b08 ldr r3, [pc, #32] ; (8049d34 ) 8049d12: 2200 movs r2, #0 8049d14: 601a str r2, [r3, #0] break; 8049d16: e028 b.n 8049d6a 8049d18: 20020fc8 .word 0x20020fc8 8049d1c: 20020fbd .word 0x20020fbd 8049d20: 20020070 .word 0x20020070 8049d24: 20020071 .word 0x20020071 8049d28: 20020dae .word 0x20020dae 8049d2c: 20020dd3 .word 0x20020dd3 8049d30: 20023ea8 .word 0x20023ea8 8049d34: 20020fb0 .word 0x20020fb0 8049d38: 64100000 .word 0x64100000 8049d3c: 20020dfc .word 0x20020dfc 8049d40: 20020e78 .word 0x20020e78 8049d44: 20020e9c .word 0x20020e9c 8049d48: 20021055 .word 0x20021055 8049d4c: 20020fb4 .word 0x20020fb4 8049d50: 200243c4 .word 0x200243c4 for(i = 0; i < MaxRouteIndex; i++) 8049d54: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8049d58: 3301 adds r3, #1 8049d5a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8049d5e: 4bc2 ldr r3, [pc, #776] ; (804a068 ) 8049d60: 681b ldr r3, [r3, #0] 8049d62: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8049d66: 429a cmp r2, r3 8049d68: d3a0 bcc.n 8049cac } } } } pardata.ROUTE_POINT = RouteIndex; 8049d6a: 4bc0 ldr r3, [pc, #768] ; (804a06c ) 8049d6c: 681b ldr r3, [r3, #0] 8049d6e: 4ac0 ldr r2, [pc, #768] ; (804a070 ) 8049d70: f8c2 34ac str.w r3, [r2, #1196] ; 0x4ac if(pardata.ROUTE_POINT >= MaxRouteIndex) { 8049d74: 4bbe ldr r3, [pc, #760] ; (804a070 ) 8049d76: f8d3 24ac ldr.w r2, [r3, #1196] ; 0x4ac 8049d7a: 4bbb ldr r3, [pc, #748] ; (804a068 ) 8049d7c: 681b ldr r3, [r3, #0] 8049d7e: 429a cmp r2, r3 8049d80: d303 bcc.n 8049d8a pardata.ROUTE_POINT = 0; 8049d82: 4bbb ldr r3, [pc, #748] ; (804a070 ) 8049d84: 2200 movs r2, #0 8049d86: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac } memcpy(RouteFileName, RouteName, 40); 8049d8a: 4aba ldr r2, [pc, #744] ; (804a074 ) 8049d8c: 4bba ldr r3, [pc, #744] ; (804a078 ) 8049d8e: 4610 mov r0, r2 8049d90: f103 0420 add.w r4, r3, #32 8049d94: 4602 mov r2, r0 8049d96: 4619 mov r1, r3 8049d98: f8d1 e000 ldr.w lr, [r1] 8049d9c: 684e ldr r6, [r1, #4] 8049d9e: 688d ldr r5, [r1, #8] 8049da0: 68c9 ldr r1, [r1, #12] 8049da2: f8c2 e000 str.w lr, [r2] 8049da6: 6056 str r6, [r2, #4] 8049da8: 6095 str r5, [r2, #8] 8049daa: 60d1 str r1, [r2, #12] 8049dac: 3310 adds r3, #16 8049dae: 3010 adds r0, #16 8049db0: 42a3 cmp r3, r4 8049db2: d1ef bne.n 8049d94 8049db4: 4602 mov r2, r0 8049db6: 6819 ldr r1, [r3, #0] 8049db8: 685b ldr r3, [r3, #4] 8049dba: 6011 str r1, [r2, #0] 8049dbc: 6053 str r3, [r2, #4] wrPar(); 8049dbe: f7e4 fa63 bl 802e288 RoutePointID = 0xffffffff; 8049dc2: 4bae ldr r3, [pc, #696] ; (804a07c ) 8049dc4: f04f 32ff mov.w r2, #4294967295 8049dc8: 601a str r2, [r3, #0] RouteIndex = MaxRouteIndex = 0; 8049dca: 2300 movs r3, #0 8049dcc: 4aa6 ldr r2, [pc, #664] ; (804a068 ) 8049dce: 6013 str r3, [r2, #0] 8049dd0: 4aa6 ldr r2, [pc, #664] ; (804a06c ) 8049dd2: 6013 str r3, [r2, #0] memset((void *) &RouteMeas(0), 0, 65536u); 8049dd4: f44f 3280 mov.w r2, #65536 ; 0x10000 8049dd8: 2100 movs r1, #0 8049dda: 48a9 ldr r0, [pc, #676] ; (804a080 ) 8049ddc: f087 fae0 bl 80d13a0 break; 8049de0: e06f b.n 8049ec2 case SETTINGS: focused = false; 8049de2: 4ba8 ldr r3, [pc, #672] ; (804a084 ) 8049de4: 2200 movs r2, #0 8049de6: 701a strb r2, [r3, #0] menu = OPTIONS; 8049de8: 4ba7 ldr r3, [pc, #668] ; (804a088 ) 8049dea: 2201 movs r2, #1 8049dec: 701a strb r2, [r3, #0] menupos = Settings; 8049dee: 4ba7 ldr r3, [pc, #668] ; (804a08c ) 8049df0: 2202 movs r2, #2 8049df2: 701a strb r2, [r3, #0] break; 8049df4: e065 b.n 8049ec2 case DATETIME: focused = false; 8049df6: 4ba3 ldr r3, [pc, #652] ; (804a084 ) 8049df8: 2200 movs r2, #0 8049dfa: 701a strb r2, [r3, #0] menu = SETTINGS; 8049dfc: 4ba2 ldr r3, [pc, #648] ; (804a088 ) 8049dfe: 2212 movs r2, #18 8049e00: 701a strb r2, [r3, #0] menupos = DateTime; 8049e02: 4ba2 ldr r3, [pc, #648] ; (804a08c ) 8049e04: 2204 movs r2, #4 8049e06: 701a strb r2, [r3, #0] break; 8049e08: e05b b.n 8049ec2 case INPUT_NAME: focused = false; 8049e0a: 4b9e ldr r3, [pc, #632] ; (804a084 ) 8049e0c: 2200 movs r2, #0 8049e0e: 701a strb r2, [r3, #0] NameLen = strlen(Name); 8049e10: 489f ldr r0, [pc, #636] ; (804a090 ) 8049e12: f7d6 fa7f bl 8020314 8049e16: 4602 mov r2, r0 8049e18: 4b9e ldr r3, [pc, #632] ; (804a094 ) 8049e1a: 601a str r2, [r3, #0] menu = PARAM_DIAGN_2; 8049e1c: 4b9a ldr r3, [pc, #616] ; (804a088 ) 8049e1e: 2211 movs r2, #17 8049e20: 701a strb r2, [r3, #0] menupos = lastmenupos; 8049e22: 4b9d ldr r3, [pc, #628] ; (804a098 ) 8049e24: 781b ldrb r3, [r3, #0] 8049e26: b2da uxtb r2, r3 8049e28: 4b98 ldr r3, [pc, #608] ; (804a08c ) 8049e2a: 701a strb r2, [r3, #0] break; 8049e2c: e049 b.n 8049ec2 case INPUT_NAME_SPEC: menu = lastmenu; 8049e2e: 4b9b ldr r3, [pc, #620] ; (804a09c ) 8049e30: 781b ldrb r3, [r3, #0] 8049e32: b2da uxtb r2, r3 8049e34: 4b94 ldr r3, [pc, #592] ; (804a088 ) 8049e36: 701a strb r2, [r3, #0] menupos = SaveSpec; 8049e38: 4b94 ldr r3, [pc, #592] ; (804a08c ) 8049e3a: 2209 movs r2, #9 8049e3c: 701a strb r2, [r3, #0] break; 8049e3e: e040 b.n 8049ec2 case INPUT_NAME_PTM: focused = false; 8049e40: 4b90 ldr r3, [pc, #576] ; (804a084 ) 8049e42: 2200 movs r2, #0 8049e44: 701a strb r2, [r3, #0] MeasFileNameLen = strlen(MeasFileName); 8049e46: 4896 ldr r0, [pc, #600] ; (804a0a0 ) 8049e48: f7d6 fa64 bl 8020314 8049e4c: 4602 mov r2, r0 8049e4e: 4b95 ldr r3, [pc, #596] ; (804a0a4 ) 8049e50: 601a str r2, [r3, #0] menu = EXPLORER; 8049e52: 4b8d ldr r3, [pc, #564] ; (804a088 ) 8049e54: 2229 movs r2, #41 ; 0x29 8049e56: 701a strb r2, [r3, #0] menupos = lastmenupos; 8049e58: 4b8f ldr r3, [pc, #572] ; (804a098 ) 8049e5a: 781b ldrb r3, [r3, #0] 8049e5c: b2da uxtb r2, r3 8049e5e: 4b8b ldr r3, [pc, #556] ; (804a08c ) 8049e60: 701a strb r2, [r3, #0] break; 8049e62: e02e b.n 8049ec2 case INPUT_NAME_GTR: focused = false; 8049e64: 4b87 ldr r3, [pc, #540] ; (804a084 ) 8049e66: 2200 movs r2, #0 8049e68: 701a strb r2, [r3, #0] WavFileNameLen = strlen(WavFileName); 8049e6a: 488f ldr r0, [pc, #572] ; (804a0a8 ) 8049e6c: f7d6 fa52 bl 8020314 8049e70: 4602 mov r2, r0 8049e72: 4b8e ldr r3, [pc, #568] ; (804a0ac ) 8049e74: 601a str r2, [r3, #0] menu = PARAM_WAVE; 8049e76: 4b84 ldr r3, [pc, #528] ; (804a088 ) 8049e78: 220a movs r2, #10 8049e7a: 701a strb r2, [r3, #0] menupos = WaveName; 8049e7c: 4b83 ldr r3, [pc, #524] ; (804a08c ) 8049e7e: 2204 movs r2, #4 8049e80: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8049e82: 4b7b ldr r3, [pc, #492] ; (804a070 ) 8049e84: 2200 movs r2, #0 8049e86: 709a strb r2, [r3, #2] break; 8049e88: e01b b.n 8049ec2 case INPUT_NAME_DGN: focused = false; 8049e8a: 4b7e ldr r3, [pc, #504] ; (804a084 ) 8049e8c: 2200 movs r2, #0 8049e8e: 701a strb r2, [r3, #0] DiagFileNameLen = strlen(DiagFileName); 8049e90: 4887 ldr r0, [pc, #540] ; (804a0b0 ) 8049e92: f7d6 fa3f bl 8020314 8049e96: 4602 mov r2, r0 8049e98: 4b86 ldr r3, [pc, #536] ; (804a0b4 ) 8049e9a: 601a str r2, [r3, #0] menu = EXPLORER_DIAGN; 8049e9c: 4b7a ldr r3, [pc, #488] ; (804a088 ) 8049e9e: 222a movs r2, #42 ; 0x2a 8049ea0: 701a strb r2, [r3, #0] menupos = lastmenupos; 8049ea2: 4b7d ldr r3, [pc, #500] ; (804a098 ) 8049ea4: 781b ldrb r3, [r3, #0] 8049ea6: b2da uxtb r2, r3 8049ea8: 4b78 ldr r3, [pc, #480] ; (804a08c ) 8049eaa: 701a strb r2, [r3, #0] break; 8049eac: e009 b.n 8049ec2 break; 8049eae: bf00 nop 8049eb0: f009 be67 b.w 8053b82 break; 8049eb4: bf00 nop 8049eb6: f009 be64 b.w 8053b82 break; 8049eba: bf00 nop 8049ebc: f009 be61 b.w 8053b82 break; 8049ec0: bf00 nop } break; 8049ec2: f009 be5e b.w 8053b82 case KEY_OK: // TODO KEY OK switch(menu) 8049ec6: 4b70 ldr r3, [pc, #448] ; (804a088 ) 8049ec8: 781b ldrb r3, [r3, #0] 8049eca: b2db uxtb r3, r3 8049ecc: 2b47 cmp r3, #71 ; 0x47 8049ece: f209 865a bhi.w 8053b86 8049ed2: a201 add r2, pc, #4 ; (adr r2, 8049ed8 ) 8049ed4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8049ed8: 0804ac99 .word 0x0804ac99 8049edc: 0805096d .word 0x0805096d 8049ee0: 08051661 .word 0x08051661 8049ee4: 08050f45 .word 0x08050f45 8049ee8: 08051193 .word 0x08051193 8049eec: 08053b87 .word 0x08053b87 8049ef0: 08052361 .word 0x08052361 8049ef4: 08052669 .word 0x08052669 8049ef8: 080528f5 .word 0x080528f5 8049efc: 08053b87 .word 0x08053b87 8049f00: 08052b27 .word 0x08052b27 8049f04: 08053b87 .word 0x08053b87 8049f08: 08053b87 .word 0x08053b87 8049f0c: 08052115 .word 0x08052115 8049f10: 08052069 .word 0x08052069 8049f14: 08051d27 .word 0x08051d27 8049f18: 08051edd .word 0x08051edd 8049f1c: 08051efd .word 0x08051efd 8049f20: 08052da1 .word 0x08052da1 8049f24: 08053b87 .word 0x08053b87 8049f28: 08053591 .word 0x08053591 8049f2c: 08053787 .word 0x08053787 8049f30: 08053acf .word 0x08053acf 8049f34: 0805390f .word 0x0805390f 8049f38: 080531ed .word 0x080531ed 8049f3c: 08052f53 .word 0x08052f53 8049f40: 08053b87 .word 0x08053b87 8049f44: 08053b87 .word 0x08053b87 8049f48: 0804c7d3 .word 0x0804c7d3 8049f4c: 0804b09d .word 0x0804b09d 8049f50: 0804eaa5 .word 0x0804eaa5 8049f54: 0804ac99 .word 0x0804ac99 8049f58: 0804ef2f .word 0x0804ef2f 8049f5c: 0804d42f .word 0x0804d42f 8049f60: 0804e07f .word 0x0804e07f 8049f64: 0804e591 .word 0x0804e591 8049f68: 0804bff7 .word 0x0804bff7 8049f6c: 0804a5d1 .word 0x0804a5d1 8049f70: 08049ff9 .word 0x08049ff9 8049f74: 0804b871 .word 0x0804b871 8049f78: 0804b895 .word 0x0804b895 8049f7c: 0804f2f5 .word 0x0804f2f5 8049f80: 0804f46b .word 0x0804f46b 8049f84: 0804fead .word 0x0804fead 8049f88: 0805023b .word 0x0805023b 8049f8c: 080507b9 .word 0x080507b9 8049f90: 08053b87 .word 0x08053b87 8049f94: 08050461 .word 0x08050461 8049f98: 08050635 .word 0x08050635 8049f9c: 0804fb45 .word 0x0804fb45 8049fa0: 0804f61d .word 0x0804f61d 8049fa4: 08050099 .word 0x08050099 8049fa8: 080532b7 .word 0x080532b7 8049fac: 08053241 .word 0x08053241 8049fb0: 080532d3 .word 0x080532d3 8049fb4: 080532d3 .word 0x080532d3 8049fb8: 080532d3 .word 0x080532d3 8049fbc: 080532d3 .word 0x080532d3 8049fc0: 080532d3 .word 0x080532d3 8049fc4: 080532d3 .word 0x080532d3 8049fc8: 080532d3 .word 0x080532d3 8049fcc: 080532d3 .word 0x080532d3 8049fd0: 0805334f .word 0x0805334f 8049fd4: 080533d3 .word 0x080533d3 8049fd8: 08053411 .word 0x08053411 8049fdc: 0805356d .word 0x0805356d 8049fe0: 08053b87 .word 0x08053b87 8049fe4: 08053b87 .word 0x08053b87 8049fe8: 08053b87 .word 0x08053b87 8049fec: 0804ac75 .word 0x0804ac75 8049ff0: 0804ac75 .word 0x0804ac75 8049ff4: 0804ac75 .word 0x0804ac75 { case MAIN_DIAGN: switch(menupos) 8049ff8: 4b24 ldr r3, [pc, #144] ; (804a08c ) 8049ffa: 781b ldrb r3, [r3, #0] 8049ffc: b2db uxtb r3, r3 8049ffe: 2b04 cmp r3, #4 804a000: f209 8567 bhi.w 8053ad2 804a004: a201 add r2, pc, #4 ; (adr r2, 804a00c ) 804a006: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804a00a: bf00 nop 804a00c: 0804a033 .word 0x0804a033 804a010: 0804a021 .word 0x0804a021 804a014: 0804a0c9 .word 0x0804a0c9 804a018: 0804a5c5 .word 0x0804a5c5 804a01c: 0804a5c5 .word 0x0804a5c5 { case BackMenu: StopMeas(); 804a020: f7d9 fbbc bl 802379c menu = PARAM_DIAGN_2; 804a024: 4b18 ldr r3, [pc, #96] ; (804a088 ) 804a026: 2211 movs r2, #17 804a028: 701a strb r2, [r3, #0] menupos = Ok; 804a02a: 4b18 ldr r3, [pc, #96] ; (804a08c ) 804a02c: 2200 movs r2, #0 804a02e: 701a strb r2, [r3, #0] break; 804a030: e2cc b.n 804a5cc case StartStop: if(!measuring) 804a032: 4b21 ldr r3, [pc, #132] ; (804a0b8 ) 804a034: 781b ldrb r3, [r3, #0] 804a036: b2db uxtb r3, r3 804a038: f083 0301 eor.w r3, r3, #1 804a03c: b2db uxtb r3, r3 804a03e: 2b00 cmp r3, #0 804a040: d00a beq.n 804a058 { initAmplif(); 804a042: f7d7 fd27 bl 8021a94 StartMeas(); 804a046: f7d8 fff9 bl 802303c FIRST = true; 804a04a: 4b1c ldr r3, [pc, #112] ; (804a0bc ) 804a04c: 2201 movs r2, #1 804a04e: 701a strb r2, [r3, #0] DrawSavedData = false; 804a050: 4b1b ldr r3, [pc, #108] ; (804a0c0 ) 804a052: 2200 movs r2, #0 804a054: 701a strb r2, [r3, #0] else { StopMeas(); oldmenupos = menupos; } break; 804a056: e2b9 b.n 804a5cc StopMeas(); 804a058: f7d9 fba0 bl 802379c oldmenupos = menupos; 804a05c: 4b0b ldr r3, [pc, #44] ; (804a08c ) 804a05e: 781b ldrb r3, [r3, #0] 804a060: b2da uxtb r2, r3 804a062: 4b18 ldr r3, [pc, #96] ; (804a0c4 ) 804a064: 701a strb r2, [r3, #0] break; 804a066: e2b1 b.n 804a5cc 804a068: 20020fb4 .word 0x20020fb4 804a06c: 20020fb0 .word 0x20020fb0 804a070: 20023ea8 .word 0x20023ea8 804a074: 20020ec0 .word 0x20020ec0 804a078: 20022670 .word 0x20022670 804a07c: 20020034 .word 0x20020034 804a080: 64100000 .word 0x64100000 804a084: 20020fc8 .word 0x20020fc8 804a088: 20020fbd .word 0x20020fbd 804a08c: 20020070 .word 0x20020070 804a090: 20020ee4 .word 0x20020ee4 804a094: 20020f14 .word 0x20020f14 804a098: 20020071 .word 0x20020071 804a09c: 20020fbe .word 0x20020fbe 804a0a0: 20020e78 .word 0x20020e78 804a0a4: 20020f0c .word 0x20020f0c 804a0a8: 20020e54 .word 0x20020e54 804a0ac: 20020f08 .word 0x20020f08 804a0b0: 20020e9c .word 0x20020e9c 804a0b4: 20020f10 .word 0x20020f10 804a0b8: 20020dcf .word 0x20020dcf 804a0bc: 20020dd2 .word 0x20020dd2 804a0c0: 20020dea .word 0x20020dea 804a0c4: 20020fbf .word 0x20020fbf case Record: if(CardState == MSD_READY) 804a0c8: 4bae ldr r3, [pc, #696] ; (804a384 ) 804a0ca: 781b ldrb r3, [r3, #0] 804a0cc: b2db uxtb r3, r3 804a0ce: 2b03 cmp r3, #3 804a0d0: f040 826d bne.w 804a5ae { if((!measuring) && (!AddToFile) && (!FIRST)) 804a0d4: 4bac ldr r3, [pc, #688] ; (804a388 ) 804a0d6: 781b ldrb r3, [r3, #0] 804a0d8: b2db uxtb r3, r3 804a0da: f083 0301 eor.w r3, r3, #1 804a0de: b2db uxtb r3, r3 804a0e0: 2b00 cmp r3, #0 804a0e2: f000 8272 beq.w 804a5ca 804a0e6: 4ba9 ldr r3, [pc, #676] ; (804a38c ) 804a0e8: 781b ldrb r3, [r3, #0] 804a0ea: b2db uxtb r3, r3 804a0ec: f083 0301 eor.w r3, r3, #1 804a0f0: b2db uxtb r3, r3 804a0f2: 2b00 cmp r3, #0 804a0f4: f000 8269 beq.w 804a5ca 804a0f8: 4ba5 ldr r3, [pc, #660] ; (804a390 ) 804a0fa: 781b ldrb r3, [r3, #0] 804a0fc: b2db uxtb r3, r3 804a0fe: f083 0301 eor.w r3, r3, #1 804a102: b2db uxtb r3, r3 804a104: 2b00 cmp r3, #0 804a106: f000 8260 beq.w 804a5ca { if(NEWFILE) 804a10a: 4ba2 ldr r3, [pc, #648] ; (804a394 ) 804a10c: 781b ldrb r3, [r3, #0] 804a10e: b2db uxtb r3, r3 804a110: 2b00 cmp r3, #0 804a112: d02b beq.n 804a16c { memcpy(TEMP_Comment, Comment, sizeof(Comment)); 804a114: 4aa0 ldr r2, [pc, #640] ; (804a398 ) 804a116: 4ba1 ldr r3, [pc, #644] ; (804a39c ) 804a118: 4610 mov r0, r2 804a11a: f103 0420 add.w r4, r3, #32 804a11e: 4602 mov r2, r0 804a120: 4619 mov r1, r3 804a122: f8d1 e000 ldr.w lr, [r1] 804a126: 684e ldr r6, [r1, #4] 804a128: 688d ldr r5, [r1, #8] 804a12a: 68c9 ldr r1, [r1, #12] 804a12c: f8c2 e000 str.w lr, [r2] 804a130: 6056 str r6, [r2, #4] 804a132: 6095 str r5, [r2, #8] 804a134: 60d1 str r1, [r2, #12] 804a136: 3310 adds r3, #16 804a138: 3010 adds r0, #16 804a13a: 42a3 cmp r3, r4 804a13c: d1ef bne.n 804a11e 804a13e: 4602 mov r2, r0 804a140: 6819 ldr r1, [r3, #0] 804a142: 685b ldr r3, [r3, #4] 804a144: 6011 str r1, [r2, #0] 804a146: 6053 str r3, [r2, #4] CommentLen = strlen(TEMP_Comment); 804a148: 4893 ldr r0, [pc, #588] ; (804a398 ) 804a14a: f7d6 f8e3 bl 8020314 804a14e: 4602 mov r2, r0 804a150: 4b93 ldr r3, [pc, #588] ; (804a3a0 ) 804a152: 601a str r2, [r3, #0] lastmenu = menu; 804a154: 4b93 ldr r3, [pc, #588] ; (804a3a4 ) 804a156: 781b ldrb r3, [r3, #0] 804a158: b2da uxtb r2, r3 804a15a: 4b93 ldr r3, [pc, #588] ; (804a3a8 ) 804a15c: 701a strb r2, [r3, #0] menu = INPUT_COMMENT_DIAGN; 804a15e: 4b91 ldr r3, [pc, #580] ; (804a3a4 ) 804a160: 2232 movs r2, #50 ; 0x32 804a162: 701a strb r2, [r3, #0] menupos = _ENTER; 804a164: 4b91 ldr r3, [pc, #580] ; (804a3ac ) 804a166: 2226 movs r2, #38 ; 0x26 804a168: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804a16a: e22e b.n 804a5ca DiagnFileData.d_Op1_ipr = pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7; 804a16c: 4b90 ldr r3, [pc, #576] ; (804a3b0 ) 804a16e: 781b ldrb r3, [r3, #0] 804a170: b2db uxtb r3, r3 804a172: 4a90 ldr r2, [pc, #576] ; (804a3b4 ) 804a174: 338e adds r3, #142 ; 0x8e 804a176: 009b lsls r3, r3, #2 804a178: 4413 add r3, r2 804a17a: 791b ldrb r3, [r3, #4] 804a17c: b2db uxtb r3, r3 804a17e: f003 0307 and.w r3, r3, #7 804a182: b2da uxtb r2, r3 804a184: 4b8c ldr r3, [pc, #560] ; (804a3b8 ) 804a186: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7; 804a18a: 4b89 ldr r3, [pc, #548] ; (804a3b0 ) 804a18c: 781b ldrb r3, [r3, #0] 804a18e: b2db uxtb r3, r3 804a190: 4a88 ldr r2, [pc, #544] ; (804a3b4 ) 804a192: 009b lsls r3, r3, #2 804a194: 4413 add r3, r2 804a196: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 804a19a: b2db uxtb r3, r3 804a19c: f003 0307 and.w r3, r3, #7 804a1a0: b2da uxtb r2, r3 804a1a2: 4b85 ldr r3, [pc, #532] ; (804a3b8 ) 804a1a4: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7; 804a1a8: 4b81 ldr r3, [pc, #516] ; (804a3b0 ) 804a1aa: 781b ldrb r3, [r3, #0] 804a1ac: b2db uxtb r3, r3 804a1ae: 4a81 ldr r2, [pc, #516] ; (804a3b4 ) 804a1b0: 009b lsls r3, r3, #2 804a1b2: 4413 add r3, r2 804a1b4: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 804a1b8: b2db uxtb r3, r3 804a1ba: f003 0307 and.w r3, r3, #7 804a1be: b2da uxtb r2, r3 804a1c0: 4b7d ldr r3, [pc, #500] ; (804a3b8 ) 804a1c2: f883 202a strb.w r2, [r3, #42] ; 0x2a switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 804a1c6: 4b7a ldr r3, [pc, #488] ; (804a3b0 ) 804a1c8: 781b ldrb r3, [r3, #0] 804a1ca: b2db uxtb r3, r3 804a1cc: 4a79 ldr r2, [pc, #484] ; (804a3b4 ) 804a1ce: 338e adds r3, #142 ; 0x8e 804a1d0: 009b lsls r3, r3, #2 804a1d2: 4413 add r3, r2 804a1d4: 791b ldrb r3, [r3, #4] 804a1d6: b2db uxtb r3, r3 804a1d8: 08db lsrs r3, r3, #3 804a1da: b2db uxtb r3, r3 804a1dc: f003 031f and.w r3, r3, #31 804a1e0: 3b01 subs r3, #1 804a1e2: 2b0f cmp r3, #15 804a1e4: d83b bhi.n 804a25e 804a1e6: a201 add r2, pc, #4 ; (adr r2, 804a1ec ) 804a1e8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804a1ec: 0804a22d .word 0x0804a22d 804a1f0: 0804a237 .word 0x0804a237 804a1f4: 0804a25f .word 0x0804a25f 804a1f8: 0804a241 .word 0x0804a241 804a1fc: 0804a25f .word 0x0804a25f 804a200: 0804a25f .word 0x0804a25f 804a204: 0804a25f .word 0x0804a25f 804a208: 0804a24b .word 0x0804a24b 804a20c: 0804a25f .word 0x0804a25f 804a210: 0804a25f .word 0x0804a25f 804a214: 0804a25f .word 0x0804a25f 804a218: 0804a25f .word 0x0804a25f 804a21c: 0804a25f .word 0x0804a25f 804a220: 0804a25f .word 0x0804a25f 804a224: 0804a25f .word 0x0804a25f 804a228: 0804a255 .word 0x0804a255 case DIAGN_PEAK: DiagnFileData.d_Op1_ivs = 'P'; break; 804a22c: 4b62 ldr r3, [pc, #392] ; (804a3b8 ) 804a22e: 2250 movs r2, #80 ; 0x50 804a230: f883 202b strb.w r2, [r3, #43] ; 0x2b 804a234: e013 b.n 804a25e case DIAGN_RMS: DiagnFileData.d_Op1_ivs = 'S'; break; 804a236: 4b60 ldr r3, [pc, #384] ; (804a3b8 ) 804a238: 2253 movs r2, #83 ; 0x53 804a23a: f883 202b strb.w r2, [r3, #43] ; 0x2b 804a23e: e00e b.n 804a25e case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op1_ivs = 'R'; break; 804a240: 4b5d ldr r3, [pc, #372] ; (804a3b8 ) 804a242: 2252 movs r2, #82 ; 0x52 804a244: f883 202b strb.w r2, [r3, #43] ; 0x2b 804a248: e009 b.n 804a25e case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op1_ivs = 'F'; break; 804a24a: 4b5b ldr r3, [pc, #364] ; (804a3b8 ) 804a24c: 2246 movs r2, #70 ; 0x46 804a24e: f883 202b strb.w r2, [r3, #43] ; 0x2b 804a252: e004 b.n 804a25e case DIAGN_EXCESS: DiagnFileData.d_Op1_ivs = 'E'; break; 804a254: 4b58 ldr r3, [pc, #352] ; (804a3b8 ) 804a256: 2245 movs r2, #69 ; 0x45 804a258: f883 202b strb.w r2, [r3, #43] ; 0x2b 804a25c: bf00 nop switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 804a25e: 4b54 ldr r3, [pc, #336] ; (804a3b0 ) 804a260: 781b ldrb r3, [r3, #0] 804a262: b2db uxtb r3, r3 804a264: 4a53 ldr r2, [pc, #332] ; (804a3b4 ) 804a266: 009b lsls r3, r3, #2 804a268: 4413 add r3, r2 804a26a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 804a26e: b2db uxtb r3, r3 804a270: 08db lsrs r3, r3, #3 804a272: b2db uxtb r3, r3 804a274: f003 031f and.w r3, r3, #31 804a278: 3b01 subs r3, #1 804a27a: 2b0f cmp r3, #15 804a27c: d83b bhi.n 804a2f6 804a27e: a201 add r2, pc, #4 ; (adr r2, 804a284 ) 804a280: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804a284: 0804a2c5 .word 0x0804a2c5 804a288: 0804a2cf .word 0x0804a2cf 804a28c: 0804a2f7 .word 0x0804a2f7 804a290: 0804a2d9 .word 0x0804a2d9 804a294: 0804a2f7 .word 0x0804a2f7 804a298: 0804a2f7 .word 0x0804a2f7 804a29c: 0804a2f7 .word 0x0804a2f7 804a2a0: 0804a2e3 .word 0x0804a2e3 804a2a4: 0804a2f7 .word 0x0804a2f7 804a2a8: 0804a2f7 .word 0x0804a2f7 804a2ac: 0804a2f7 .word 0x0804a2f7 804a2b0: 0804a2f7 .word 0x0804a2f7 804a2b4: 0804a2f7 .word 0x0804a2f7 804a2b8: 0804a2f7 .word 0x0804a2f7 804a2bc: 0804a2f7 .word 0x0804a2f7 804a2c0: 0804a2ed .word 0x0804a2ed case DIAGN_PEAK: DiagnFileData.d_Op2_ivs = 'P'; break; 804a2c4: 4b3c ldr r3, [pc, #240] ; (804a3b8 ) 804a2c6: 2250 movs r2, #80 ; 0x50 804a2c8: f883 202c strb.w r2, [r3, #44] ; 0x2c 804a2cc: e013 b.n 804a2f6 case DIAGN_RMS: DiagnFileData.d_Op2_ivs = 'S'; break; 804a2ce: 4b3a ldr r3, [pc, #232] ; (804a3b8 ) 804a2d0: 2253 movs r2, #83 ; 0x53 804a2d2: f883 202c strb.w r2, [r3, #44] ; 0x2c 804a2d6: e00e b.n 804a2f6 case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op2_ivs = 'R'; break; 804a2d8: 4b37 ldr r3, [pc, #220] ; (804a3b8 ) 804a2da: 2252 movs r2, #82 ; 0x52 804a2dc: f883 202c strb.w r2, [r3, #44] ; 0x2c 804a2e0: e009 b.n 804a2f6 case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op2_ivs = 'F'; break; 804a2e2: 4b35 ldr r3, [pc, #212] ; (804a3b8 ) 804a2e4: 2246 movs r2, #70 ; 0x46 804a2e6: f883 202c strb.w r2, [r3, #44] ; 0x2c 804a2ea: e004 b.n 804a2f6 case DIAGN_EXCESS: DiagnFileData.d_Op2_ivs = 'E'; break; 804a2ec: 4b32 ldr r3, [pc, #200] ; (804a3b8 ) 804a2ee: 2245 movs r2, #69 ; 0x45 804a2f0: f883 202c strb.w r2, [r3, #44] ; 0x2c 804a2f4: bf00 nop switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 804a2f6: 4b2e ldr r3, [pc, #184] ; (804a3b0 ) 804a2f8: 781b ldrb r3, [r3, #0] 804a2fa: b2db uxtb r3, r3 804a2fc: 4a2d ldr r2, [pc, #180] ; (804a3b4 ) 804a2fe: 009b lsls r3, r3, #2 804a300: 4413 add r3, r2 804a302: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 804a306: b2db uxtb r3, r3 804a308: 08db lsrs r3, r3, #3 804a30a: b2db uxtb r3, r3 804a30c: f003 031f and.w r3, r3, #31 804a310: 3b01 subs r3, #1 804a312: 2b0f cmp r3, #15 804a314: d857 bhi.n 804a3c6 804a316: a201 add r2, pc, #4 ; (adr r2, 804a31c ) 804a318: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804a31c: 0804a35d .word 0x0804a35d 804a320: 0804a367 .word 0x0804a367 804a324: 0804a3c7 .word 0x0804a3c7 804a328: 0804a371 .word 0x0804a371 804a32c: 0804a3c7 .word 0x0804a3c7 804a330: 0804a3c7 .word 0x0804a3c7 804a334: 0804a3c7 .word 0x0804a3c7 804a338: 0804a37b .word 0x0804a37b 804a33c: 0804a3c7 .word 0x0804a3c7 804a340: 0804a3c7 .word 0x0804a3c7 804a344: 0804a3c7 .word 0x0804a3c7 804a348: 0804a3c7 .word 0x0804a3c7 804a34c: 0804a3c7 .word 0x0804a3c7 804a350: 0804a3c7 .word 0x0804a3c7 804a354: 0804a3c7 .word 0x0804a3c7 804a358: 0804a3bd .word 0x0804a3bd case DIAGN_PEAK: DiagnFileData.d_Op3_ivs = 'P'; break; 804a35c: 4b16 ldr r3, [pc, #88] ; (804a3b8 ) 804a35e: 2250 movs r2, #80 ; 0x50 804a360: f883 202d strb.w r2, [r3, #45] ; 0x2d 804a364: e02f b.n 804a3c6 case DIAGN_RMS: DiagnFileData.d_Op3_ivs = 'S'; break; 804a366: 4b14 ldr r3, [pc, #80] ; (804a3b8 ) 804a368: 2253 movs r2, #83 ; 0x53 804a36a: f883 202d strb.w r2, [r3, #45] ; 0x2d 804a36e: e02a b.n 804a3c6 case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op3_ivs = 'R'; break; 804a370: 4b11 ldr r3, [pc, #68] ; (804a3b8 ) 804a372: 2252 movs r2, #82 ; 0x52 804a374: f883 202d strb.w r2, [r3, #45] ; 0x2d 804a378: e025 b.n 804a3c6 case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op3_ivs = 'F'; break; 804a37a: 4b0f ldr r3, [pc, #60] ; (804a3b8 ) 804a37c: 2246 movs r2, #70 ; 0x46 804a37e: f883 202d strb.w r2, [r3, #45] ; 0x2d 804a382: e020 b.n 804a3c6 804a384: 20021694 .word 0x20021694 804a388: 20020dcf .word 0x20020dcf 804a38c: 20020de8 .word 0x20020de8 804a390: 20020dd2 .word 0x20020dd2 804a394: 20020e34 .word 0x20020e34 804a398: 20025c88 .word 0x20025c88 804a39c: 20022698 .word 0x20022698 804a3a0: 20020e38 .word 0x20020e38 804a3a4: 20020fbd .word 0x20020fbd 804a3a8: 20020fbe .word 0x20020fbe 804a3ac: 20020070 .word 0x20020070 804a3b0: 20021055 .word 0x20021055 804a3b4: 20023ea8 .word 0x20023ea8 804a3b8: 2002263c .word 0x2002263c case DIAGN_EXCESS: DiagnFileData.d_Op3_ivs = 'E'; break; 804a3bc: 4ba9 ldr r3, [pc, #676] ; (804a664 ) 804a3be: 2245 movs r2, #69 ; 0x45 804a3c0: f883 202d strb.w r2, [r3, #45] ; 0x2d 804a3c4: bf00 nop DiagnFileData.Op_1.fl = operand[Us1]; 804a3c6: 4ba8 ldr r3, [pc, #672] ; (804a668 ) 804a3c8: 681b ldr r3, [r3, #0] 804a3ca: 4aa6 ldr r2, [pc, #664] ; (804a664 ) 804a3cc: 6013 str r3, [r2, #0] DiagnFileData.Op_2.fl = operand[Us2]; 804a3ce: 4ba6 ldr r3, [pc, #664] ; (804a668 ) 804a3d0: 685b ldr r3, [r3, #4] 804a3d2: 4aa4 ldr r2, [pc, #656] ; (804a664 ) 804a3d4: 6053 str r3, [r2, #4] DiagnFileData.Op_3.fl = operand[Us3]; 804a3d6: 4ba4 ldr r3, [pc, #656] ; (804a668 ) 804a3d8: 689b ldr r3, [r3, #8] 804a3da: 4aa2 ldr r2, [pc, #648] ; (804a664 ) 804a3dc: 6093 str r3, [r2, #8] DiagnFileData.d_Time = RTC_TimeStruct; 804a3de: 4ba1 ldr r3, [pc, #644] ; (804a664 ) 804a3e0: 4aa2 ldr r2, [pc, #648] ; (804a66c ) 804a3e2: f103 040c add.w r4, r3, #12 804a3e6: 4615 mov r5, r2 804a3e8: cd0f ldmia r5!, {r0, r1, r2, r3} 804a3ea: c40f stmia r4!, {r0, r1, r2, r3} 804a3ec: e895 0003 ldmia.w r5, {r0, r1} 804a3f0: e884 0003 stmia.w r4, {r0, r1} DiagnFileData.d_Date = RTC_DateStruct; 804a3f4: 4b9b ldr r3, [pc, #620] ; (804a664 ) 804a3f6: 4a9e ldr r2, [pc, #632] ; (804a670 ) 804a3f8: 3324 adds r3, #36 ; 0x24 804a3fa: 6810 ldr r0, [r2, #0] 804a3fc: 6018 str r0, [r3, #0] if(ALARM) DiagnFileData.d_Alarm = 1; 804a3fe: 4b9d ldr r3, [pc, #628] ; (804a674 ) 804a400: 781b ldrb r3, [r3, #0] 804a402: b2db uxtb r3, r3 804a404: 2b00 cmp r3, #0 804a406: d004 beq.n 804a412 804a408: 4b96 ldr r3, [pc, #600] ; (804a664 ) 804a40a: 2201 movs r2, #1 804a40c: f883 2032 strb.w r2, [r3, #50] ; 0x32 804a410: e003 b.n 804a41a else DiagnFileData.d_Alarm = 0; 804a412: 4b94 ldr r3, [pc, #592] ; (804a664 ) 804a414: 2200 movs r2, #0 804a416: f883 2032 strb.w r2, [r3, #50] ; 0x32 if(WARNING) DiagnFileData.d_Warning = 1; 804a41a: 4b97 ldr r3, [pc, #604] ; (804a678 ) 804a41c: 781b ldrb r3, [r3, #0] 804a41e: b2db uxtb r3, r3 804a420: 2b00 cmp r3, #0 804a422: d004 beq.n 804a42e 804a424: 4b8f ldr r3, [pc, #572] ; (804a664 ) 804a426: 2201 movs r2, #1 804a428: f883 2031 strb.w r2, [r3, #49] ; 0x31 804a42c: e003 b.n 804a436 else DiagnFileData.d_Warning = 0; 804a42e: 4b8d ldr r3, [pc, #564] ; (804a664 ) 804a430: 2200 movs r2, #0 804a432: f883 2031 strb.w r2, [r3, #49] ; 0x31 if(operand[Us1] < pardata.DIAGN_A[CURR_POINT][Us1]) 804a436: 4b8c ldr r3, [pc, #560] ; (804a668 ) 804a438: ed93 7a00 vldr s14, [r3] 804a43c: 4b8f ldr r3, [pc, #572] ; (804a67c ) 804a43e: 781b ldrb r3, [r3, #0] 804a440: b2db uxtb r3, r3 804a442: 4a8f ldr r2, [pc, #572] ; (804a680 ) 804a444: 011b lsls r3, r3, #4 804a446: 4413 add r3, r2 804a448: f503 7377 add.w r3, r3, #988 ; 0x3dc 804a44c: edd3 7a00 vldr s15, [r3] 804a450: eeb4 7ae7 vcmpe.f32 s14, s15 804a454: eef1 fa10 vmrs APSR_nzcv, fpscr 804a458: d51b bpl.n 804a492 if(operand[Us1] < pardata.DIAGN_W[CURR_POINT][Us1]) 804a45a: 4b83 ldr r3, [pc, #524] ; (804a668 ) 804a45c: ed93 7a00 vldr s14, [r3] 804a460: 4b86 ldr r3, [pc, #536] ; (804a67c ) 804a462: 781b ldrb r3, [r3, #0] 804a464: b2db uxtb r3, r3 804a466: 4a86 ldr r2, [pc, #536] ; (804a680 ) 804a468: 011b lsls r3, r3, #4 804a46a: 4413 add r3, r2 804a46c: f503 7357 add.w r3, r3, #860 ; 0x35c 804a470: edd3 7a00 vldr s15, [r3] 804a474: eeb4 7ae7 vcmpe.f32 s14, s15 804a478: eef1 fa10 vmrs APSR_nzcv, fpscr 804a47c: d504 bpl.n 804a488 DiagnFileData.d_Op1_Color = 0; 804a47e: 4b79 ldr r3, [pc, #484] ; (804a664 ) 804a480: 2200 movs r2, #0 804a482: f883 202e strb.w r2, [r3, #46] ; 0x2e 804a486: e008 b.n 804a49a else DiagnFileData.d_Op1_Color = 1; 804a488: 4b76 ldr r3, [pc, #472] ; (804a664 ) 804a48a: 2201 movs r2, #1 804a48c: f883 202e strb.w r2, [r3, #46] ; 0x2e 804a490: e003 b.n 804a49a DiagnFileData.d_Op1_Color = 2; 804a492: 4b74 ldr r3, [pc, #464] ; (804a664 ) 804a494: 2202 movs r2, #2 804a496: f883 202e strb.w r2, [r3, #46] ; 0x2e if(operand[Us2] < pardata.DIAGN_A[CURR_POINT][Us2]) 804a49a: 4b73 ldr r3, [pc, #460] ; (804a668 ) 804a49c: ed93 7a01 vldr s14, [r3, #4] 804a4a0: 4b76 ldr r3, [pc, #472] ; (804a67c ) 804a4a2: 781b ldrb r3, [r3, #0] 804a4a4: b2db uxtb r3, r3 804a4a6: 4a76 ldr r2, [pc, #472] ; (804a680 ) 804a4a8: 011b lsls r3, r3, #4 804a4aa: 4413 add r3, r2 804a4ac: f503 7378 add.w r3, r3, #992 ; 0x3e0 804a4b0: edd3 7a00 vldr s15, [r3] 804a4b4: eeb4 7ae7 vcmpe.f32 s14, s15 804a4b8: eef1 fa10 vmrs APSR_nzcv, fpscr 804a4bc: d51b bpl.n 804a4f6 if(operand[Us2] < pardata.DIAGN_W[CURR_POINT][Us2]) 804a4be: 4b6a ldr r3, [pc, #424] ; (804a668 ) 804a4c0: ed93 7a01 vldr s14, [r3, #4] 804a4c4: 4b6d ldr r3, [pc, #436] ; (804a67c ) 804a4c6: 781b ldrb r3, [r3, #0] 804a4c8: b2db uxtb r3, r3 804a4ca: 4a6d ldr r2, [pc, #436] ; (804a680 ) 804a4cc: 011b lsls r3, r3, #4 804a4ce: 4413 add r3, r2 804a4d0: f503 7358 add.w r3, r3, #864 ; 0x360 804a4d4: edd3 7a00 vldr s15, [r3] 804a4d8: eeb4 7ae7 vcmpe.f32 s14, s15 804a4dc: eef1 fa10 vmrs APSR_nzcv, fpscr 804a4e0: d504 bpl.n 804a4ec DiagnFileData.d_Op2_Color = 0; 804a4e2: 4b60 ldr r3, [pc, #384] ; (804a664 ) 804a4e4: 2200 movs r2, #0 804a4e6: f883 202f strb.w r2, [r3, #47] ; 0x2f 804a4ea: e008 b.n 804a4fe else DiagnFileData.d_Op2_Color = 1; 804a4ec: 4b5d ldr r3, [pc, #372] ; (804a664 ) 804a4ee: 2201 movs r2, #1 804a4f0: f883 202f strb.w r2, [r3, #47] ; 0x2f 804a4f4: e003 b.n 804a4fe DiagnFileData.d_Op2_Color = 2; 804a4f6: 4b5b ldr r3, [pc, #364] ; (804a664 ) 804a4f8: 2202 movs r2, #2 804a4fa: f883 202f strb.w r2, [r3, #47] ; 0x2f if(operand[Us3] < pardata.DIAGN_A[CURR_POINT][Us3]) 804a4fe: 4b5a ldr r3, [pc, #360] ; (804a668 ) 804a500: ed93 7a02 vldr s14, [r3, #8] 804a504: 4b5d ldr r3, [pc, #372] ; (804a67c ) 804a506: 781b ldrb r3, [r3, #0] 804a508: b2db uxtb r3, r3 804a50a: 4a5d ldr r2, [pc, #372] ; (804a680 ) 804a50c: 333e adds r3, #62 ; 0x3e 804a50e: 011b lsls r3, r3, #4 804a510: 4413 add r3, r2 804a512: 3304 adds r3, #4 804a514: edd3 7a00 vldr s15, [r3] 804a518: eeb4 7ae7 vcmpe.f32 s14, s15 804a51c: eef1 fa10 vmrs APSR_nzcv, fpscr 804a520: d51b bpl.n 804a55a if(operand[Us3] < pardata.DIAGN_W[CURR_POINT][Us3]) 804a522: 4b51 ldr r3, [pc, #324] ; (804a668 ) 804a524: ed93 7a02 vldr s14, [r3, #8] 804a528: 4b54 ldr r3, [pc, #336] ; (804a67c ) 804a52a: 781b ldrb r3, [r3, #0] 804a52c: b2db uxtb r3, r3 804a52e: 4a54 ldr r2, [pc, #336] ; (804a680 ) 804a530: 3336 adds r3, #54 ; 0x36 804a532: 011b lsls r3, r3, #4 804a534: 4413 add r3, r2 804a536: 3304 adds r3, #4 804a538: edd3 7a00 vldr s15, [r3] 804a53c: eeb4 7ae7 vcmpe.f32 s14, s15 804a540: eef1 fa10 vmrs APSR_nzcv, fpscr 804a544: d504 bpl.n 804a550 DiagnFileData.d_Op3_Color = 0; 804a546: 4b47 ldr r3, [pc, #284] ; (804a664 ) 804a548: 2200 movs r2, #0 804a54a: f883 2030 strb.w r2, [r3, #48] ; 0x30 804a54e: e008 b.n 804a562 else DiagnFileData.d_Op3_Color = 1; 804a550: 4b44 ldr r3, [pc, #272] ; (804a664 ) 804a552: 2201 movs r2, #1 804a554: f883 2030 strb.w r2, [r3, #48] ; 0x30 804a558: e003 b.n 804a562 DiagnFileData.d_Op3_Color = 2; 804a55a: 4b42 ldr r3, [pc, #264] ; (804a664 ) 804a55c: 2202 movs r2, #2 804a55e: f883 2030 strb.w r2, [r3, #48] ; 0x30 AddToFile = true; 804a562: 4b48 ldr r3, [pc, #288] ; (804a684 ) 804a564: 2201 movs r2, #1 804a566: 701a strb r2, [r3, #0] result = WriteFileDGN(DiagFileName); 804a568: 4847 ldr r0, [pc, #284] ; (804a688 ) 804a56a: f7df fb93 bl 8029c94 804a56e: 4603 mov r3, r0 804a570: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804a574: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804a578: 2b00 cmp r3, #0 804a57a: d10a bne.n 804a592 STATUS = AP_SAVING_SUCCESS; 804a57c: 4b43 ldr r3, [pc, #268] ; (804a68c ) 804a57e: 2207 movs r2, #7 804a580: 601a str r2, [r3, #0] timerStatus = sec2; 804a582: 4b43 ldr r3, [pc, #268] ; (804a690 ) 804a584: f44f 5280 mov.w r2, #4096 ; 0x1000 804a588: 801a strh r2, [r3, #0] DrawStatus = true; 804a58a: 4b42 ldr r3, [pc, #264] ; (804a694 ) 804a58c: 2201 movs r2, #1 804a58e: 701a strb r2, [r3, #0] 804a590: e009 b.n 804a5a6 STATUS = AP_SAVING_ERROR; 804a592: 4b3e ldr r3, [pc, #248] ; (804a68c ) 804a594: 2208 movs r2, #8 804a596: 601a str r2, [r3, #0] timerStatus = sec2; 804a598: 4b3d ldr r3, [pc, #244] ; (804a690 ) 804a59a: f44f 5280 mov.w r2, #4096 ; 0x1000 804a59e: 801a strh r2, [r3, #0] DrawStatus = true; 804a5a0: 4b3c ldr r3, [pc, #240] ; (804a694 ) 804a5a2: 2201 movs r2, #1 804a5a4: 701a strb r2, [r3, #0] AddToFile = false; 804a5a6: 4b37 ldr r3, [pc, #220] ; (804a684 ) 804a5a8: 2200 movs r2, #0 804a5aa: 701a strb r2, [r3, #0] break; 804a5ac: e00d b.n 804a5ca STATUS = AP_NO_CARD; 804a5ae: 4b37 ldr r3, [pc, #220] ; (804a68c ) 804a5b0: 2211 movs r2, #17 804a5b2: 601a str r2, [r3, #0] timerStatus = sec2; 804a5b4: 4b36 ldr r3, [pc, #216] ; (804a690 ) 804a5b6: f44f 5280 mov.w r2, #4096 ; 0x1000 804a5ba: 801a strh r2, [r3, #0] DrawStatus = true; 804a5bc: 4b35 ldr r3, [pc, #212] ; (804a694 ) 804a5be: 2201 movs r2, #1 804a5c0: 701a strb r2, [r3, #0] break; 804a5c2: e002 b.n 804a5ca timerStatus = sec2; DrawStatus = true; } } }*/ break; 804a5c4: bf00 nop 804a5c6: f009 ba84 b.w 8053ad2 break; 804a5ca: bf00 nop } break; 804a5cc: f009 ba81 b.w 8053ad2 case MAIN_UDAR: switch(menupos) 804a5d0: 4b31 ldr r3, [pc, #196] ; (804a698 ) 804a5d2: 781b ldrb r3, [r3, #0] 804a5d4: b2db uxtb r3, r3 804a5d6: 2b06 cmp r3, #6 804a5d8: f209 827d bhi.w 8053ad6 804a5dc: a201 add r2, pc, #4 ; (adr r2, 804a5e4 ) 804a5de: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804a5e2: bf00 nop 804a5e4: 0804ac25 .word 0x0804ac25 804a5e8: 08053ad7 .word 0x08053ad7 804a5ec: 0804a601 .word 0x0804a601 804a5f0: 0804a7c3 .word 0x0804a7c3 804a5f4: 0804a9fd .word 0x0804a9fd 804a5f8: 0804a6f5 .word 0x0804a6f5 804a5fc: 0804ac5b .word 0x0804ac5b { case ImageLeft: if(lX) 804a600: 4b26 ldr r3, [pc, #152] ; (804a69c ) 804a602: 881b ldrh r3, [r3, #0] 804a604: b29b uxth r3, r3 804a606: 2b00 cmp r3, #0 804a608: f000 832b beq.w 804ac62 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804a60c: 4b24 ldr r3, [pc, #144] ; (804a6a0 ) 804a60e: 781b ldrb r3, [r3, #0] 804a610: b2db uxtb r3, r3 804a612: 461a mov r2, r3 804a614: 4613 mov r3, r2 804a616: 009b lsls r3, r3, #2 804a618: 4413 add r3, r2 804a61a: 4a19 ldr r2, [pc, #100] ; (804a680 ) 804a61c: 79d2 ldrb r2, [r2, #7] 804a61e: b2d2 uxtb r2, r2 804a620: 4413 add r3, r2 804a622: 4a20 ldr r2, [pc, #128] ; (804a6a4 ) 804a624: 3323 adds r3, #35 ; 0x23 804a626: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a62a: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804a62e: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804a632: 021b lsls r3, r3, #8 804a634: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804a638: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804a63c: 085b lsrs r3, r3, #1 804a63e: b29a uxth r2, r3 804a640: 4b16 ldr r3, [pc, #88] ; (804a69c ) 804a642: 881b ldrh r3, [r3, #0] 804a644: b29b uxth r3, r3 804a646: 429a cmp r2, r3 804a648: d830 bhi.n 804a6ac X0 -= (multB_u16 >> 1); 804a64a: 4b17 ldr r3, [pc, #92] ; (804a6a8 ) 804a64c: 881b ldrh r3, [r3, #0] 804a64e: b29a uxth r2, r3 804a650: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804a654: 085b lsrs r3, r3, #1 804a656: b29b uxth r3, r3 804a658: 1ad3 subs r3, r2, r3 804a65a: b29a uxth r2, r3 804a65c: 4b12 ldr r3, [pc, #72] ; (804a6a8 ) 804a65e: 801a strh r2, [r3, #0] 804a660: e027 b.n 804a6b2 804a662: bf00 nop 804a664: 2002263c .word 0x2002263c 804a668: 20026918 .word 0x20026918 804a66c: 20025cb0 .word 0x20025cb0 804a670: 20025d34 .word 0x20025d34 804a674: 20021059 .word 0x20021059 804a678: 20021058 .word 0x20021058 804a67c: 20021055 .word 0x20021055 804a680: 20023ea8 .word 0x20023ea8 804a684: 20020de8 .word 0x20020de8 804a688: 20020e9c .word 0x20020e9c 804a68c: 20020dec .word 0x20020dec 804a690: 200216d4 .word 0x200216d4 804a694: 20020df2 .word 0x20020df2 804a698: 20020070 .word 0x20020070 804a69c: 20025d62 .word 0x20025d62 804a6a0: 20020fb8 .word 0x20020fb8 804a6a4: 080f2b68 .word 0x080f2b68 804a6a8: 20025d66 .word 0x20025d66 else X0 = 0; 804a6ac: 4ba2 ldr r3, [pc, #648] ; (804a938 ) 804a6ae: 2200 movs r2, #0 804a6b0: 801a strh r2, [r3, #0] lX = X0; 804a6b2: 4ba1 ldr r3, [pc, #644] ; (804a938 ) 804a6b4: 881b ldrh r3, [r3, #0] 804a6b6: b29a uxth r2, r3 804a6b8: 4ba0 ldr r3, [pc, #640] ; (804a93c ) 804a6ba: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804a6bc: 4b9f ldr r3, [pc, #636] ; (804a93c ) 804a6be: 881b ldrh r3, [r3, #0] 804a6c0: b29a uxth r2, r3 804a6c2: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804a6c6: 4413 add r3, r2 804a6c8: b29a uxth r2, r3 804a6ca: 4b9d ldr r3, [pc, #628] ; (804a940 ) 804a6cc: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804a6ce: 4b9d ldr r3, [pc, #628] ; (804a944 ) 804a6d0: 681b ldr r3, [r3, #0] 804a6d2: b29b uxth r3, r3 804a6d4: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804a6d8: fb12 f303 smulbb r3, r2, r3 804a6dc: b29a uxth r2, r3 804a6de: 4b96 ldr r3, [pc, #600] ; (804a938 ) 804a6e0: 881b ldrh r3, [r3, #0] 804a6e2: b29b uxth r3, r3 804a6e4: 4413 add r3, r2 804a6e6: b29a uxth r2, r3 804a6e8: 4b97 ldr r3, [pc, #604] ; (804a948 ) 804a6ea: 801a strh r2, [r3, #0] AUTOZOOM = true; 804a6ec: 4b97 ldr r3, [pc, #604] ; (804a94c ) 804a6ee: 2201 movs r2, #1 804a6f0: 701a strb r2, [r3, #0] } break; 804a6f2: e2b6 b.n 804ac62 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804a6f4: 4b96 ldr r3, [pc, #600] ; (804a950 ) 804a6f6: 781b ldrb r3, [r3, #0] 804a6f8: b2db uxtb r3, r3 804a6fa: 461a mov r2, r3 804a6fc: 4613 mov r3, r2 804a6fe: 009b lsls r3, r3, #2 804a700: 4413 add r3, r2 804a702: 4a94 ldr r2, [pc, #592] ; (804a954 ) 804a704: 79d2 ldrb r2, [r2, #7] 804a706: b2d2 uxtb r2, r2 804a708: 4413 add r3, r2 804a70a: 4a93 ldr r2, [pc, #588] ; (804a958 ) 804a70c: 3323 adds r3, #35 ; 0x23 804a70e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a712: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804a716: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804a71a: 021b lsls r3, r3, #8 804a71c: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804a720: 4b8c ldr r3, [pc, #560] ; (804a954 ) 804a722: 79db ldrb r3, [r3, #7] 804a724: b2db uxtb r3, r3 804a726: 461a mov r2, r3 804a728: 4b8c ldr r3, [pc, #560] ; (804a95c ) 804a72a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804a72e: 085b lsrs r3, r3, #1 804a730: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804a734: 4b82 ldr r3, [pc, #520] ; (804a940 ) 804a736: 881b ldrh r3, [r3, #0] 804a738: b29b uxth r3, r3 804a73a: 461a mov r2, r3 804a73c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804a740: 085b lsrs r3, r3, #1 804a742: b29b uxth r3, r3 804a744: 4413 add r3, r2 804a746: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804a74a: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804a74e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804a752: 429a cmp r2, r3 804a754: d80b bhi.n 804a76e X0 += (multB_u16 >> 1); 804a756: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804a75a: 085b lsrs r3, r3, #1 804a75c: b29a uxth r2, r3 804a75e: 4b76 ldr r3, [pc, #472] ; (804a938 ) 804a760: 881b ldrh r3, [r3, #0] 804a762: b29b uxth r3, r3 804a764: 4413 add r3, r2 804a766: b29a uxth r2, r3 804a768: 4b73 ldr r3, [pc, #460] ; (804a938 ) 804a76a: 801a strh r2, [r3, #0] 804a76c: e008 b.n 804a780 else X0 = (uint16_t) (k - multB_u16); 804a76e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804a772: b29a uxth r2, r3 804a774: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804a778: 1ad3 subs r3, r2, r3 804a77a: b29a uxth r2, r3 804a77c: 4b6e ldr r3, [pc, #440] ; (804a938 ) 804a77e: 801a strh r2, [r3, #0] lX = X0; 804a780: 4b6d ldr r3, [pc, #436] ; (804a938 ) 804a782: 881b ldrh r3, [r3, #0] 804a784: b29a uxth r2, r3 804a786: 4b6d ldr r3, [pc, #436] ; (804a93c ) 804a788: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804a78a: 4b6c ldr r3, [pc, #432] ; (804a93c ) 804a78c: 881b ldrh r3, [r3, #0] 804a78e: b29a uxth r2, r3 804a790: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804a794: 4413 add r3, r2 804a796: b29a uxth r2, r3 804a798: 4b69 ldr r3, [pc, #420] ; (804a940 ) 804a79a: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804a79c: 4b69 ldr r3, [pc, #420] ; (804a944 ) 804a79e: 681b ldr r3, [r3, #0] 804a7a0: b29b uxth r3, r3 804a7a2: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804a7a6: fb12 f303 smulbb r3, r2, r3 804a7aa: b29a uxth r2, r3 804a7ac: 4b62 ldr r3, [pc, #392] ; (804a938 ) 804a7ae: 881b ldrh r3, [r3, #0] 804a7b0: b29b uxth r3, r3 804a7b2: 4413 add r3, r2 804a7b4: b29a uxth r2, r3 804a7b6: 4b64 ldr r3, [pc, #400] ; (804a948 ) 804a7b8: 801a strh r2, [r3, #0] AUTOZOOM = true; 804a7ba: 4b64 ldr r3, [pc, #400] ; (804a94c ) 804a7bc: 2201 movs r2, #1 804a7be: 701a strb r2, [r3, #0] break; 804a7c0: e256 b.n 804ac70 case ZoomIn: lvl_0 = 0; 804a7c2: 2300 movs r3, #0 804a7c4: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804a7c8: 4b61 ldr r3, [pc, #388] ; (804a950 ) 804a7ca: 781b ldrb r3, [r3, #0] 804a7cc: b2db uxtb r3, r3 804a7ce: 461a mov r2, r3 804a7d0: 4613 mov r3, r2 804a7d2: 009b lsls r3, r3, #2 804a7d4: 4413 add r3, r2 804a7d6: 4a5f ldr r2, [pc, #380] ; (804a954 ) 804a7d8: 79d2 ldrb r2, [r2, #7] 804a7da: b2d2 uxtb r2, r2 804a7dc: 4413 add r3, r2 804a7de: 4a5e ldr r2, [pc, #376] ; (804a958 ) 804a7e0: 3323 adds r3, #35 ; 0x23 804a7e2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a7e6: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804a7ea: 2304 movs r3, #4 804a7ec: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804a7f0: 4b57 ldr r3, [pc, #348] ; (804a950 ) 804a7f2: 781b ldrb r3, [r3, #0] 804a7f4: b2db uxtb r3, r3 804a7f6: b29b uxth r3, r3 804a7f8: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804a7fc: 429a cmp r2, r3 804a7fe: f240 8233 bls.w 804ac68 804a802: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a806: 2b01 cmp r3, #1 804a808: f240 822e bls.w 804ac68 { ViewLevel++; 804a80c: 4b50 ldr r3, [pc, #320] ; (804a950 ) 804a80e: 781b ldrb r3, [r3, #0] 804a810: b2db uxtb r3, r3 804a812: 3301 adds r3, #1 804a814: b2da uxtb r2, r3 804a816: 4b4e ldr r3, [pc, #312] ; (804a950 ) 804a818: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804a81a: 4b4d ldr r3, [pc, #308] ; (804a950 ) 804a81c: 781b ldrb r3, [r3, #0] 804a81e: b2db uxtb r3, r3 804a820: 461a mov r2, r3 804a822: 4613 mov r3, r2 804a824: 009b lsls r3, r3, #2 804a826: 4413 add r3, r2 804a828: 4a4a ldr r2, [pc, #296] ; (804a954 ) 804a82a: 79d2 ldrb r2, [r2, #7] 804a82c: b2d2 uxtb r2, r2 804a82e: 4413 add r3, r2 804a830: 4a49 ldr r2, [pc, #292] ; (804a958 ) 804a832: 3323 adds r3, #35 ; 0x23 804a834: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a838: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804a83c: 4b42 ldr r3, [pc, #264] ; (804a948 ) 804a83e: 881b ldrh r3, [r3, #0] 804a840: b29a uxth r2, r3 804a842: 4b40 ldr r3, [pc, #256] ; (804a944 ) 804a844: 681b ldr r3, [r3, #0] 804a846: b29b uxth r3, r3 804a848: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804a84c: fb11 f303 smulbb r3, r1, r3 804a850: b29b uxth r3, r3 804a852: 1ad3 subs r3, r2, r3 804a854: b29a uxth r2, r3 804a856: 4b38 ldr r3, [pc, #224] ; (804a938 ) 804a858: 801a strh r2, [r3, #0] lX = X0; 804a85a: 4b37 ldr r3, [pc, #220] ; (804a938 ) 804a85c: 881b ldrh r3, [r3, #0] 804a85e: b29a uxth r2, r3 804a860: 4b36 ldr r3, [pc, #216] ; (804a93c ) 804a862: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804a864: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a868: 021b lsls r3, r3, #8 804a86a: b29a uxth r2, r3 804a86c: 4b33 ldr r3, [pc, #204] ; (804a93c ) 804a86e: 881b ldrh r3, [r3, #0] 804a870: b29b uxth r3, r3 804a872: 4413 add r3, r2 804a874: b29a uxth r2, r3 804a876: 4b32 ldr r3, [pc, #200] ; (804a940 ) 804a878: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804a87a: 4b39 ldr r3, [pc, #228] ; (804a960 ) 804a87c: 881b ldrh r3, [r3, #0] 804a87e: b29b uxth r3, r3 804a880: 461a mov r2, r3 804a882: 4b2e ldr r3, [pc, #184] ; (804a93c ) 804a884: 881b ldrh r3, [r3, #0] 804a886: b29b uxth r3, r3 804a888: 1ad2 subs r2, r2, r3 804a88a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a88e: fb92 f3f3 sdiv r3, r2, r3 804a892: 461a mov r2, r3 804a894: 4b2b ldr r3, [pc, #172] ; (804a944 ) 804a896: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804a898: 4b2a ldr r3, [pc, #168] ; (804a944 ) 804a89a: 681b ldr r3, [r3, #0] 804a89c: b29b uxth r3, r3 804a89e: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a8a2: fb12 f303 smulbb r3, r2, r3 804a8a6: b29a uxth r2, r3 804a8a8: 4b24 ldr r3, [pc, #144] ; (804a93c ) 804a8aa: 881b ldrh r3, [r3, #0] 804a8ac: b29b uxth r3, r3 804a8ae: 4413 add r3, r2 804a8b0: b29a uxth r2, r3 804a8b2: 4b25 ldr r3, [pc, #148] ; (804a948 ) 804a8b4: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804a8b6: 4b23 ldr r3, [pc, #140] ; (804a944 ) 804a8b8: 681b ldr r3, [r3, #0] 804a8ba: 2b7f cmp r3, #127 ; 0x7f 804a8bc: d852 bhi.n 804a964 804a8be: 4b1e ldr r3, [pc, #120] ; (804a938 ) 804a8c0: 881b ldrh r3, [r3, #0] 804a8c2: b29b uxth r3, r3 804a8c4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a8c8: 429a cmp r2, r3 804a8ca: d84b bhi.n 804a964 { if(lX >= dX) 804a8cc: 4b1b ldr r3, [pc, #108] ; (804a93c ) 804a8ce: 881b ldrh r3, [r3, #0] 804a8d0: b29b uxth r3, r3 804a8d2: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a8d6: 429a cmp r2, r3 804a8d8: f200 808c bhi.w 804a9f4 { CURSOR++; 804a8dc: 4b19 ldr r3, [pc, #100] ; (804a944 ) 804a8de: 681b ldr r3, [r3, #0] 804a8e0: 3301 adds r3, #1 804a8e2: 4a18 ldr r2, [pc, #96] ; (804a944 ) 804a8e4: 6013 str r3, [r2, #0] X0 -= dX; 804a8e6: 4b14 ldr r3, [pc, #80] ; (804a938 ) 804a8e8: 881b ldrh r3, [r3, #0] 804a8ea: b29a uxth r2, r3 804a8ec: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a8f0: 1ad3 subs r3, r2, r3 804a8f2: b29a uxth r2, r3 804a8f4: 4b10 ldr r3, [pc, #64] ; (804a938 ) 804a8f6: 801a strh r2, [r3, #0] lX = X0; 804a8f8: 4b0f ldr r3, [pc, #60] ; (804a938 ) 804a8fa: 881b ldrh r3, [r3, #0] 804a8fc: b29a uxth r2, r3 804a8fe: 4b0f ldr r3, [pc, #60] ; (804a93c ) 804a900: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804a902: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a906: 021b lsls r3, r3, #8 804a908: b29a uxth r2, r3 804a90a: 4b0c ldr r3, [pc, #48] ; (804a93c ) 804a90c: 881b ldrh r3, [r3, #0] 804a90e: b29b uxth r3, r3 804a910: 4413 add r3, r2 804a912: b29a uxth r2, r3 804a914: 4b0a ldr r3, [pc, #40] ; (804a940 ) 804a916: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804a918: 4b11 ldr r3, [pc, #68] ; (804a960 ) 804a91a: 881b ldrh r3, [r3, #0] 804a91c: b29b uxth r3, r3 804a91e: 461a mov r2, r3 804a920: 4b06 ldr r3, [pc, #24] ; (804a93c ) 804a922: 881b ldrh r3, [r3, #0] 804a924: b29b uxth r3, r3 804a926: 1ad2 subs r2, r2, r3 804a928: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a92c: fb92 f3f3 sdiv r3, r2, r3 804a930: 461a mov r2, r3 804a932: 4b04 ldr r3, [pc, #16] ; (804a944 ) 804a934: 601a str r2, [r3, #0] if(lX >= dX) 804a936: e05d b.n 804a9f4 804a938: 20025d66 .word 0x20025d66 804a93c: 20025d62 .word 0x20025d62 804a940: 20025d68 .word 0x20025d68 804a944: 2002006c .word 0x2002006c 804a948: 20025d5e .word 0x20025d5e 804a94c: 20020994 .word 0x20020994 804a950: 20020fb8 .word 0x20020fb8 804a954: 20023ea8 .word 0x20023ea8 804a958: 080f2b68 .word 0x080f2b68 804a95c: 080f2bf4 .word 0x080f2bf4 804a960: 20025d64 .word 0x20025d64 } } else if(CURSOR > (256 >> 1)) 804a964: 4ba5 ldr r3, [pc, #660] ; (804abfc ) 804a966: 681b ldr r3, [r3, #0] 804a968: 2b80 cmp r3, #128 ; 0x80 804a96a: d943 bls.n 804a9f4 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804a96c: 4ba4 ldr r3, [pc, #656] ; (804ac00 ) 804a96e: 881b ldrh r3, [r3, #0] 804a970: b29b uxth r3, r3 804a972: 461a mov r2, r3 804a974: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a978: 18d1 adds r1, r2, r3 804a97a: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804a97e: 4613 mov r3, r2 804a980: 009b lsls r3, r3, #2 804a982: 4413 add r3, r2 804a984: 4a9f ldr r2, [pc, #636] ; (804ac04 ) 804a986: 79d2 ldrb r2, [r2, #7] 804a988: b2d2 uxtb r2, r2 804a98a: 4413 add r3, r2 804a98c: 4a9e ldr r2, [pc, #632] ; (804ac08 ) 804a98e: 3323 adds r3, #35 ; 0x23 804a990: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a994: 021b lsls r3, r3, #8 804a996: 4299 cmp r1, r3 804a998: dc2c bgt.n 804a9f4 { CURSOR--; 804a99a: 4b98 ldr r3, [pc, #608] ; (804abfc ) 804a99c: 681b ldr r3, [r3, #0] 804a99e: 3b01 subs r3, #1 804a9a0: 4a96 ldr r2, [pc, #600] ; (804abfc ) 804a9a2: 6013 str r3, [r2, #0] X0 += dX; 804a9a4: 4b99 ldr r3, [pc, #612] ; (804ac0c ) 804a9a6: 881b ldrh r3, [r3, #0] 804a9a8: b29a uxth r2, r3 804a9aa: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a9ae: 4413 add r3, r2 804a9b0: b29a uxth r2, r3 804a9b2: 4b96 ldr r3, [pc, #600] ; (804ac0c ) 804a9b4: 801a strh r2, [r3, #0] lX = X0; 804a9b6: 4b95 ldr r3, [pc, #596] ; (804ac0c ) 804a9b8: 881b ldrh r3, [r3, #0] 804a9ba: b29a uxth r2, r3 804a9bc: 4b94 ldr r3, [pc, #592] ; (804ac10 ) 804a9be: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804a9c0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a9c4: 021b lsls r3, r3, #8 804a9c6: b29a uxth r2, r3 804a9c8: 4b91 ldr r3, [pc, #580] ; (804ac10 ) 804a9ca: 881b ldrh r3, [r3, #0] 804a9cc: b29b uxth r3, r3 804a9ce: 4413 add r3, r2 804a9d0: b29a uxth r2, r3 804a9d2: 4b8b ldr r3, [pc, #556] ; (804ac00 ) 804a9d4: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804a9d6: 4b8f ldr r3, [pc, #572] ; (804ac14 ) 804a9d8: 881b ldrh r3, [r3, #0] 804a9da: b29b uxth r3, r3 804a9dc: 461a mov r2, r3 804a9de: 4b8c ldr r3, [pc, #560] ; (804ac10 ) 804a9e0: 881b ldrh r3, [r3, #0] 804a9e2: b29b uxth r3, r3 804a9e4: 1ad2 subs r2, r2, r3 804a9e6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a9ea: fb92 f3f3 sdiv r3, r2, r3 804a9ee: 461a mov r2, r3 804a9f0: 4b82 ldr r3, [pc, #520] ; (804abfc ) 804a9f2: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804a9f4: 4b88 ldr r3, [pc, #544] ; (804ac18 ) 804a9f6: 2201 movs r2, #1 804a9f8: 701a strb r2, [r3, #0] } break; 804a9fa: e135 b.n 804ac68 case ZoomOut: lvl_0 = 0; 804a9fc: 2300 movs r3, #0 804a9fe: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804aa02: 2304 movs r3, #4 804aa04: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804aa08: 4b84 ldr r3, [pc, #528] ; (804ac1c ) 804aa0a: 781b ldrb r3, [r3, #0] 804aa0c: b2db uxtb r3, r3 804aa0e: 461a mov r2, r3 804aa10: 4613 mov r3, r2 804aa12: 009b lsls r3, r3, #2 804aa14: 4413 add r3, r2 804aa16: 4a7b ldr r2, [pc, #492] ; (804ac04 ) 804aa18: 79d2 ldrb r2, [r2, #7] 804aa1a: b2d2 uxtb r2, r2 804aa1c: 4413 add r3, r2 804aa1e: 4a7a ldr r2, [pc, #488] ; (804ac08 ) 804aa20: 3323 adds r3, #35 ; 0x23 804aa22: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804aa26: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804aa2a: 4b7c ldr r3, [pc, #496] ; (804ac1c ) 804aa2c: 781b ldrb r3, [r3, #0] 804aa2e: b2db uxtb r3, r3 804aa30: 2b00 cmp r3, #0 804aa32: f000 811c beq.w 804ac6e { ViewLevel--; 804aa36: 4b79 ldr r3, [pc, #484] ; (804ac1c ) 804aa38: 781b ldrb r3, [r3, #0] 804aa3a: b2db uxtb r3, r3 804aa3c: 3b01 subs r3, #1 804aa3e: b2da uxtb r2, r3 804aa40: 4b76 ldr r3, [pc, #472] ; (804ac1c ) 804aa42: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804aa44: 4b75 ldr r3, [pc, #468] ; (804ac1c ) 804aa46: 781b ldrb r3, [r3, #0] 804aa48: b2db uxtb r3, r3 804aa4a: 461a mov r2, r3 804aa4c: 4613 mov r3, r2 804aa4e: 009b lsls r3, r3, #2 804aa50: 4413 add r3, r2 804aa52: 4a6c ldr r2, [pc, #432] ; (804ac04 ) 804aa54: 79d2 ldrb r2, [r2, #7] 804aa56: b2d2 uxtb r2, r2 804aa58: 4413 add r3, r2 804aa5a: 4a6b ldr r2, [pc, #428] ; (804ac08 ) 804aa5c: 3323 adds r3, #35 ; 0x23 804aa5e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804aa62: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804aa66: 4b6d ldr r3, [pc, #436] ; (804ac1c ) 804aa68: 781b ldrb r3, [r3, #0] 804aa6a: b2db uxtb r3, r3 804aa6c: 2b00 cmp r3, #0 804aa6e: d130 bne.n 804aad2 { X0 = lX = 0; 804aa70: 2100 movs r1, #0 804aa72: 4b67 ldr r3, [pc, #412] ; (804ac10 ) 804aa74: 460a mov r2, r1 804aa76: 801a strh r2, [r3, #0] 804aa78: 4b64 ldr r3, [pc, #400] ; (804ac0c ) 804aa7a: 460a mov r2, r1 804aa7c: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804aa7e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804aa82: 021b lsls r3, r3, #8 804aa84: b29a uxth r2, r3 804aa86: 4b62 ldr r3, [pc, #392] ; (804ac10 ) 804aa88: 881b ldrh r3, [r3, #0] 804aa8a: b29b uxth r3, r3 804aa8c: 4413 add r3, r2 804aa8e: b29a uxth r2, r3 804aa90: 4b5b ldr r3, [pc, #364] ; (804ac00 ) 804aa92: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804aa94: 4b5f ldr r3, [pc, #380] ; (804ac14 ) 804aa96: 881b ldrh r3, [r3, #0] 804aa98: b29b uxth r3, r3 804aa9a: 461a mov r2, r3 804aa9c: 4b5c ldr r3, [pc, #368] ; (804ac10 ) 804aa9e: 881b ldrh r3, [r3, #0] 804aaa0: b29b uxth r3, r3 804aaa2: 1ad2 subs r2, r2, r3 804aaa4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804aaa8: fb92 f3f3 sdiv r3, r2, r3 804aaac: 461a mov r2, r3 804aaae: 4b53 ldr r3, [pc, #332] ; (804abfc ) 804aab0: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804aab2: 4b52 ldr r3, [pc, #328] ; (804abfc ) 804aab4: 681b ldr r3, [r3, #0] 804aab6: b29b uxth r3, r3 804aab8: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804aabc: fb12 f303 smulbb r3, r2, r3 804aac0: b29a uxth r2, r3 804aac2: 4b52 ldr r3, [pc, #328] ; (804ac0c ) 804aac4: 881b ldrh r3, [r3, #0] 804aac6: b29b uxth r3, r3 804aac8: 4413 add r3, r2 804aaca: b29a uxth r2, r3 804aacc: 4b54 ldr r3, [pc, #336] ; (804ac20 ) 804aace: 801a strh r2, [r3, #0] 804aad0: e090 b.n 804abf4 } else { if(CURSOR * dX > Mpos) 804aad2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804aad6: 4a49 ldr r2, [pc, #292] ; (804abfc ) 804aad8: 6812 ldr r2, [r2, #0] 804aada: fb02 f303 mul.w r3, r2, r3 804aade: 4a50 ldr r2, [pc, #320] ; (804ac20 ) 804aae0: 8812 ldrh r2, [r2, #0] 804aae2: b292 uxth r2, r2 804aae4: 4293 cmp r3, r2 804aae6: d91f bls.n 804ab28 { while(CURSOR * dX > Mpos) 804aae8: e004 b.n 804aaf4 CURSOR--; 804aaea: 4b44 ldr r3, [pc, #272] ; (804abfc ) 804aaec: 681b ldr r3, [r3, #0] 804aaee: 3b01 subs r3, #1 804aaf0: 4a42 ldr r2, [pc, #264] ; (804abfc ) 804aaf2: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804aaf4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804aaf8: 4a40 ldr r2, [pc, #256] ; (804abfc ) 804aafa: 6812 ldr r2, [r2, #0] 804aafc: fb02 f303 mul.w r3, r2, r3 804ab00: 4a47 ldr r2, [pc, #284] ; (804ac20 ) 804ab02: 8812 ldrh r2, [r2, #0] 804ab04: b292 uxth r2, r2 804ab06: 4293 cmp r3, r2 804ab08: d8ef bhi.n 804aaea Mpos = X0 + CURSOR * dX; 804ab0a: 4b3c ldr r3, [pc, #240] ; (804abfc ) 804ab0c: 681b ldr r3, [r3, #0] 804ab0e: b29b uxth r3, r3 804ab10: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804ab14: fb12 f303 smulbb r3, r2, r3 804ab18: b29a uxth r2, r3 804ab1a: 4b3c ldr r3, [pc, #240] ; (804ac0c ) 804ab1c: 881b ldrh r3, [r3, #0] 804ab1e: b29b uxth r3, r3 804ab20: 4413 add r3, r2 804ab22: b29a uxth r2, r3 804ab24: 4b3e ldr r3, [pc, #248] ; (804ac20 ) 804ab26: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804ab28: 4b3d ldr r3, [pc, #244] ; (804ac20 ) 804ab2a: 881b ldrh r3, [r3, #0] 804ab2c: b29b uxth r3, r3 804ab2e: 4619 mov r1, r3 804ab30: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ab34: 4a31 ldr r2, [pc, #196] ; (804abfc ) 804ab36: 6812 ldr r2, [r2, #0] 804ab38: fb02 f303 mul.w r3, r2, r3 804ab3c: 1acb subs r3, r1, r3 804ab3e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804ab42: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ab46: 021b lsls r3, r3, #8 804ab48: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804ab4c: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804ab50: 4613 mov r3, r2 804ab52: 009b lsls r3, r3, #2 804ab54: 4413 add r3, r2 804ab56: 4a2b ldr r2, [pc, #172] ; (804ac04 ) 804ab58: 79d2 ldrb r2, [r2, #7] 804ab5a: b2d2 uxtb r2, r2 804ab5c: 4413 add r3, r2 804ab5e: 4a2a ldr r2, [pc, #168] ; (804ac08 ) 804ab60: 3323 adds r3, #35 ; 0x23 804ab62: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ab66: 021b lsls r3, r3, #8 804ab68: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804ab6c: e006 b.n 804ab7c i -= dXold; 804ab6e: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804ab72: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804ab76: 1ad3 subs r3, r2, r3 804ab78: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804ab7c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804ab80: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804ab84: 441a add r2, r3 804ab86: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804ab8a: 429a cmp r2, r3 804ab8c: d8ef bhi.n 804ab6e } X0 = (uint16_t) i; 804ab8e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804ab92: b29a uxth r2, r3 804ab94: 4b1d ldr r3, [pc, #116] ; (804ac0c ) 804ab96: 801a strh r2, [r3, #0] lX = X0; 804ab98: 4b1c ldr r3, [pc, #112] ; (804ac0c ) 804ab9a: 881b ldrh r3, [r3, #0] 804ab9c: b29a uxth r2, r3 804ab9e: 4b1c ldr r3, [pc, #112] ; (804ac10 ) 804aba0: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804aba2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804aba6: 021b lsls r3, r3, #8 804aba8: b29a uxth r2, r3 804abaa: 4b19 ldr r3, [pc, #100] ; (804ac10 ) 804abac: 881b ldrh r3, [r3, #0] 804abae: b29b uxth r3, r3 804abb0: 4413 add r3, r2 804abb2: b29a uxth r2, r3 804abb4: 4b12 ldr r3, [pc, #72] ; (804ac00 ) 804abb6: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804abb8: 4b16 ldr r3, [pc, #88] ; (804ac14 ) 804abba: 881b ldrh r3, [r3, #0] 804abbc: b29b uxth r3, r3 804abbe: 461a mov r2, r3 804abc0: 4b13 ldr r3, [pc, #76] ; (804ac10 ) 804abc2: 881b ldrh r3, [r3, #0] 804abc4: b29b uxth r3, r3 804abc6: 1ad2 subs r2, r2, r3 804abc8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804abcc: fb92 f3f3 sdiv r3, r2, r3 804abd0: 461a mov r2, r3 804abd2: 4b0a ldr r3, [pc, #40] ; (804abfc ) 804abd4: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804abd6: 4b09 ldr r3, [pc, #36] ; (804abfc ) 804abd8: 681b ldr r3, [r3, #0] 804abda: b29b uxth r3, r3 804abdc: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804abe0: fb12 f303 smulbb r3, r2, r3 804abe4: b29a uxth r2, r3 804abe6: 4b09 ldr r3, [pc, #36] ; (804ac0c ) 804abe8: 881b ldrh r3, [r3, #0] 804abea: b29b uxth r3, r3 804abec: 4413 add r3, r2 804abee: b29a uxth r2, r3 804abf0: 4b0b ldr r3, [pc, #44] ; (804ac20 ) 804abf2: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804abf4: 4b08 ldr r3, [pc, #32] ; (804ac18 ) 804abf6: 2201 movs r2, #1 804abf8: 701a strb r2, [r3, #0] } break; 804abfa: e038 b.n 804ac6e 804abfc: 2002006c .word 0x2002006c 804ac00: 20025d68 .word 0x20025d68 804ac04: 20023ea8 .word 0x20023ea8 804ac08: 080f2b68 .word 0x080f2b68 804ac0c: 20025d66 .word 0x20025d66 804ac10: 20025d62 .word 0x20025d62 804ac14: 20025d64 .word 0x20025d64 804ac18: 20020994 .word 0x20020994 804ac1c: 20020fb8 .word 0x20020fb8 804ac20: 20025d5e .word 0x20025d5e case StartStop: if(!measuring) 804ac24: 4ba8 ldr r3, [pc, #672] ; (804aec8 ) 804ac26: 781b ldrb r3, [r3, #0] 804ac28: b2db uxtb r3, r3 804ac2a: f083 0301 eor.w r3, r3, #1 804ac2e: b2db uxtb r3, r3 804ac30: 2b00 cmp r3, #0 804ac32: d00a beq.n 804ac4a { initAmplif(); 804ac34: f7d6 ff2e bl 8021a94 StartMeas(); 804ac38: f7d8 fa00 bl 802303c FIRST = true; 804ac3c: 4ba3 ldr r3, [pc, #652] ; (804aecc ) 804ac3e: 2201 movs r2, #1 804ac40: 701a strb r2, [r3, #0] DrawSavedData = false; 804ac42: 4ba3 ldr r3, [pc, #652] ; (804aed0 ) 804ac44: 2200 movs r2, #0 804ac46: 701a strb r2, [r3, #0] else { StopMeas(); oldmenupos = menupos; } break; 804ac48: e012 b.n 804ac70 StopMeas(); 804ac4a: f7d8 fda7 bl 802379c oldmenupos = menupos; 804ac4e: 4ba1 ldr r3, [pc, #644] ; (804aed4 ) 804ac50: 781b ldrb r3, [r3, #0] 804ac52: b2da uxtb r2, r3 804ac54: 4ba0 ldr r3, [pc, #640] ; (804aed8 ) 804ac56: 701a strb r2, [r3, #0] break; 804ac58: e00a b.n 804ac70 case Cursor: AUTOZOOM = true; 804ac5a: 4ba0 ldr r3, [pc, #640] ; (804aedc ) 804ac5c: 2201 movs r2, #1 804ac5e: 701a strb r2, [r3, #0] break; 804ac60: e006 b.n 804ac70 break; 804ac62: bf00 nop 804ac64: f008 bf37 b.w 8053ad6 break; 804ac68: bf00 nop 804ac6a: f008 bf34 b.w 8053ad6 break; 804ac6e: bf00 nop } break; 804ac70: f008 bf31 b.w 8053ad6 case TREND_A: case TREND_V: case TREND_S: menu = lastmenu; 804ac74: 4b9a ldr r3, [pc, #616] ; (804aee0 ) 804ac76: 781b ldrb r3, [r3, #0] 804ac78: b2da uxtb r2, r3 804ac7a: 4b9a ldr r3, [pc, #616] ; (804aee4 ) 804ac7c: 701a strb r2, [r3, #0] menupos = lastmenupos; 804ac7e: 4b9a ldr r3, [pc, #616] ; (804aee8 ) 804ac80: 781b ldrb r3, [r3, #0] 804ac82: b2da uxtb r2, r3 804ac84: 4b93 ldr r3, [pc, #588] ; (804aed4 ) 804ac86: 701a strb r2, [r3, #0] Threshold = false; 804ac88: 4b98 ldr r3, [pc, #608] ; (804aeec ) 804ac8a: 2200 movs r2, #0 804ac8c: 701a strb r2, [r3, #0] FIRST = true; 804ac8e: 4b8f ldr r3, [pc, #572] ; (804aecc ) 804ac90: 2201 movs r2, #1 804ac92: 701a strb r2, [r3, #0] break; 804ac94: f008 bf6a b.w 8053b6c case MAIN: case MAIN_FRAN: switch(menupos) 804ac98: 4b8e ldr r3, [pc, #568] ; (804aed4 ) 804ac9a: 781b ldrb r3, [r3, #0] 804ac9c: b2db uxtb r3, r3 804ac9e: 2b06 cmp r3, #6 804aca0: f208 871b bhi.w 8053ada 804aca4: a201 add r2, pc, #4 ; (adr r2, 804acac ) 804aca6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804acaa: bf00 nop 804acac: 0804acdb .word 0x0804acdb 804acb0: 0804acc9 .word 0x0804acc9 804acb4: 0804ad11 .word 0x0804ad11 804acb8: 0804b011 .word 0x0804b011 804acbc: 0804b011 .word 0x0804b011 804acc0: 08053adb .word 0x08053adb 804acc4: 0804aff7 .word 0x0804aff7 { case BackMenu: StopMeas(); 804acc8: f7d8 fd68 bl 802379c menu = PARAM_VIB; 804accc: 4b85 ldr r3, [pc, #532] ; (804aee4 ) 804acce: 2206 movs r2, #6 804acd0: 701a strb r2, [r3, #0] menupos = Ok; 804acd2: 4b80 ldr r3, [pc, #512] ; (804aed4 ) 804acd4: 2200 movs r2, #0 804acd6: 701a strb r2, [r3, #0] break; 804acd8: e1de b.n 804b098 case StartStop: if(!measuring) 804acda: 4b7b ldr r3, [pc, #492] ; (804aec8 ) 804acdc: 781b ldrb r3, [r3, #0] 804acde: b2db uxtb r3, r3 804ace0: f083 0301 eor.w r3, r3, #1 804ace4: b2db uxtb r3, r3 804ace6: 2b00 cmp r3, #0 804ace8: d00a beq.n 804ad00 { initAmplif(); 804acea: f7d6 fed3 bl 8021a94 StartMeas(); 804acee: f7d8 f9a5 bl 802303c FIRST = true; 804acf2: 4b76 ldr r3, [pc, #472] ; (804aecc ) 804acf4: 2201 movs r2, #1 804acf6: 701a strb r2, [r3, #0] DrawSavedData = false; 804acf8: 4b75 ldr r3, [pc, #468] ; (804aed0 ) 804acfa: 2200 movs r2, #0 804acfc: 701a strb r2, [r3, #0] else { StopMeas(); oldmenupos = menupos; } break; 804acfe: e1cb b.n 804b098 StopMeas(); 804ad00: f7d8 fd4c bl 802379c oldmenupos = menupos; 804ad04: 4b73 ldr r3, [pc, #460] ; (804aed4 ) 804ad06: 781b ldrb r3, [r3, #0] 804ad08: b2da uxtb r2, r3 804ad0a: 4b73 ldr r3, [pc, #460] ; (804aed8 ) 804ad0c: 701a strb r2, [r3, #0] break; 804ad0e: e1c3 b.n 804b098 case Record: if(CardState == MSD_READY) 804ad10: 4b77 ldr r3, [pc, #476] ; (804aef0 ) 804ad12: 781b ldrb r3, [r3, #0] 804ad14: b2db uxtb r3, r3 804ad16: 2b03 cmp r3, #3 804ad18: f040 8162 bne.w 804afe0 { if((!measuring) && (!AddToFile) && (!FIRST)) 804ad1c: 4b6a ldr r3, [pc, #424] ; (804aec8 ) 804ad1e: 781b ldrb r3, [r3, #0] 804ad20: b2db uxtb r3, r3 804ad22: f083 0301 eor.w r3, r3, #1 804ad26: b2db uxtb r3, r3 804ad28: 2b00 cmp r3, #0 804ad2a: f000 81b1 beq.w 804b090 804ad2e: 4b71 ldr r3, [pc, #452] ; (804aef4 ) 804ad30: 781b ldrb r3, [r3, #0] 804ad32: b2db uxtb r3, r3 804ad34: f083 0301 eor.w r3, r3, #1 804ad38: b2db uxtb r3, r3 804ad3a: 2b00 cmp r3, #0 804ad3c: f000 81a8 beq.w 804b090 804ad40: 4b62 ldr r3, [pc, #392] ; (804aecc ) 804ad42: 781b ldrb r3, [r3, #0] 804ad44: b2db uxtb r3, r3 804ad46: f083 0301 eor.w r3, r3, #1 804ad4a: b2db uxtb r3, r3 804ad4c: 2b00 cmp r3, #0 804ad4e: f000 819f beq.w 804b090 { if(NEWFILE) 804ad52: 4b69 ldr r3, [pc, #420] ; (804aef8 ) 804ad54: 781b ldrb r3, [r3, #0] 804ad56: b2db uxtb r3, r3 804ad58: 2b00 cmp r3, #0 804ad5a: d02b beq.n 804adb4 { memcpy(TEMP_Comment, Comment, sizeof(Comment)); 804ad5c: 4a67 ldr r2, [pc, #412] ; (804aefc ) 804ad5e: 4b68 ldr r3, [pc, #416] ; (804af00 ) 804ad60: 4610 mov r0, r2 804ad62: f103 0420 add.w r4, r3, #32 804ad66: 4602 mov r2, r0 804ad68: 4619 mov r1, r3 804ad6a: f8d1 e000 ldr.w lr, [r1] 804ad6e: 684e ldr r6, [r1, #4] 804ad70: 688d ldr r5, [r1, #8] 804ad72: 68c9 ldr r1, [r1, #12] 804ad74: f8c2 e000 str.w lr, [r2] 804ad78: 6056 str r6, [r2, #4] 804ad7a: 6095 str r5, [r2, #8] 804ad7c: 60d1 str r1, [r2, #12] 804ad7e: 3310 adds r3, #16 804ad80: 3010 adds r0, #16 804ad82: 42a3 cmp r3, r4 804ad84: d1ef bne.n 804ad66 804ad86: 4602 mov r2, r0 804ad88: 6819 ldr r1, [r3, #0] 804ad8a: 685b ldr r3, [r3, #4] 804ad8c: 6011 str r1, [r2, #0] 804ad8e: 6053 str r3, [r2, #4] CommentLen = strlen(TEMP_Comment); 804ad90: 485a ldr r0, [pc, #360] ; (804aefc ) 804ad92: f7d5 fabf bl 8020314 804ad96: 4602 mov r2, r0 804ad98: 4b5a ldr r3, [pc, #360] ; (804af04 ) 804ad9a: 601a str r2, [r3, #0] lastmenu = menu; 804ad9c: 4b51 ldr r3, [pc, #324] ; (804aee4 ) 804ad9e: 781b ldrb r3, [r3, #0] 804ada0: b2da uxtb r2, r3 804ada2: 4b4f ldr r3, [pc, #316] ; (804aee0 ) 804ada4: 701a strb r2, [r3, #0] menu = INPUT_COMMENT; 804ada6: 4b4f ldr r3, [pc, #316] ; (804aee4 ) 804ada8: 2231 movs r2, #49 ; 0x31 804adaa: 701a strb r2, [r3, #0] menupos = _ENTER; 804adac: 4b49 ldr r3, [pc, #292] ; (804aed4 ) 804adae: 2226 movs r2, #38 ; 0x26 804adb0: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804adb2: e16d b.n 804b090 if(pardata.IVS[ACC] == PEAK) 804adb4: 4b54 ldr r3, [pc, #336] ; (804af08 ) 804adb6: 789b ldrb r3, [r3, #2] 804adb8: b2db uxtb r3, r3 804adba: 2b00 cmp r3, #0 804adbc: d104 bne.n 804adc8 FileData.Aivs = 'P'; 804adbe: 4b53 ldr r3, [pc, #332] ; (804af0c ) 804adc0: 2250 movs r2, #80 ; 0x50 804adc2: f883 202c strb.w r2, [r3, #44] ; 0x2c 804adc6: e026 b.n 804ae16 else if(pardata.IVS[ACC] == RMS) 804adc8: 4b4f ldr r3, [pc, #316] ; (804af08 ) 804adca: 789b ldrb r3, [r3, #2] 804adcc: b2db uxtb r3, r3 804adce: 2b01 cmp r3, #1 804add0: d104 bne.n 804addc FileData.Aivs = 'S'; 804add2: 4b4e ldr r3, [pc, #312] ; (804af0c ) 804add4: 2253 movs r2, #83 ; 0x53 804add6: f883 202c strb.w r2, [r3, #44] ; 0x2c 804adda: e01c b.n 804ae16 else if(pardata.IVS[ACC] == PEAK_TO_PEAK) 804addc: 4b4a ldr r3, [pc, #296] ; (804af08 ) 804adde: 789b ldrb r3, [r3, #2] 804ade0: b2db uxtb r3, r3 804ade2: 2b02 cmp r3, #2 804ade4: d104 bne.n 804adf0 FileData.Aivs = 'R'; 804ade6: 4b49 ldr r3, [pc, #292] ; (804af0c ) 804ade8: 2252 movs r2, #82 ; 0x52 804adea: f883 202c strb.w r2, [r3, #44] ; 0x2c 804adee: e012 b.n 804ae16 else if(pardata.IVS[ACC] == PEAK_FACTOR) 804adf0: 4b45 ldr r3, [pc, #276] ; (804af08 ) 804adf2: 789b ldrb r3, [r3, #2] 804adf4: b2db uxtb r3, r3 804adf6: 2b03 cmp r3, #3 804adf8: d104 bne.n 804ae04 FileData.Aivs = 'F'; 804adfa: 4b44 ldr r3, [pc, #272] ; (804af0c ) 804adfc: 2246 movs r2, #70 ; 0x46 804adfe: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ae02: e008 b.n 804ae16 else if(pardata.IVS[ACC] == EXCESS) 804ae04: 4b40 ldr r3, [pc, #256] ; (804af08 ) 804ae06: 789b ldrb r3, [r3, #2] 804ae08: b2db uxtb r3, r3 804ae0a: 2b04 cmp r3, #4 804ae0c: d103 bne.n 804ae16 FileData.Aivs = 'E'; 804ae0e: 4b3f ldr r3, [pc, #252] ; (804af0c ) 804ae10: 2245 movs r2, #69 ; 0x45 804ae12: f883 202c strb.w r2, [r3, #44] ; 0x2c if(pardata.IVS[VEL] == PEAK) 804ae16: 4b3c ldr r3, [pc, #240] ; (804af08 ) 804ae18: 78db ldrb r3, [r3, #3] 804ae1a: b2db uxtb r3, r3 804ae1c: 2b00 cmp r3, #0 804ae1e: d104 bne.n 804ae2a FileData.Vivs = 'P'; 804ae20: 4b3a ldr r3, [pc, #232] ; (804af0c ) 804ae22: 2250 movs r2, #80 ; 0x50 804ae24: f883 202d strb.w r2, [r3, #45] ; 0x2d 804ae28: e026 b.n 804ae78 else if(pardata.IVS[VEL] == RMS) 804ae2a: 4b37 ldr r3, [pc, #220] ; (804af08 ) 804ae2c: 78db ldrb r3, [r3, #3] 804ae2e: b2db uxtb r3, r3 804ae30: 2b01 cmp r3, #1 804ae32: d104 bne.n 804ae3e FileData.Vivs = 'S'; 804ae34: 4b35 ldr r3, [pc, #212] ; (804af0c ) 804ae36: 2253 movs r2, #83 ; 0x53 804ae38: f883 202d strb.w r2, [r3, #45] ; 0x2d 804ae3c: e01c b.n 804ae78 else if(pardata.IVS[VEL] == PEAK_TO_PEAK) 804ae3e: 4b32 ldr r3, [pc, #200] ; (804af08 ) 804ae40: 78db ldrb r3, [r3, #3] 804ae42: b2db uxtb r3, r3 804ae44: 2b02 cmp r3, #2 804ae46: d104 bne.n 804ae52 FileData.Vivs = 'R'; 804ae48: 4b30 ldr r3, [pc, #192] ; (804af0c ) 804ae4a: 2252 movs r2, #82 ; 0x52 804ae4c: f883 202d strb.w r2, [r3, #45] ; 0x2d 804ae50: e012 b.n 804ae78 else if(pardata.IVS[VEL] == PEAK_FACTOR) 804ae52: 4b2d ldr r3, [pc, #180] ; (804af08 ) 804ae54: 78db ldrb r3, [r3, #3] 804ae56: b2db uxtb r3, r3 804ae58: 2b03 cmp r3, #3 804ae5a: d104 bne.n 804ae66 FileData.Vivs = 'F'; 804ae5c: 4b2b ldr r3, [pc, #172] ; (804af0c ) 804ae5e: 2246 movs r2, #70 ; 0x46 804ae60: f883 202d strb.w r2, [r3, #45] ; 0x2d 804ae64: e008 b.n 804ae78 else if(pardata.IVS[VEL] == EXCESS) 804ae66: 4b28 ldr r3, [pc, #160] ; (804af08 ) 804ae68: 78db ldrb r3, [r3, #3] 804ae6a: b2db uxtb r3, r3 804ae6c: 2b04 cmp r3, #4 804ae6e: d103 bne.n 804ae78 FileData.Vivs = 'E'; 804ae70: 4b26 ldr r3, [pc, #152] ; (804af0c ) 804ae72: 2245 movs r2, #69 ; 0x45 804ae74: f883 202d strb.w r2, [r3, #45] ; 0x2d if(pardata.IVS[DIS] == PEAK) 804ae78: 4b23 ldr r3, [pc, #140] ; (804af08 ) 804ae7a: 791b ldrb r3, [r3, #4] 804ae7c: b2db uxtb r3, r3 804ae7e: 2b00 cmp r3, #0 804ae80: d104 bne.n 804ae8c FileData.Sivs = 'P'; 804ae82: 4b22 ldr r3, [pc, #136] ; (804af0c ) 804ae84: 2250 movs r2, #80 ; 0x50 804ae86: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ae8a: e04a b.n 804af22 else if(pardata.IVS[DIS] == RMS) 804ae8c: 4b1e ldr r3, [pc, #120] ; (804af08 ) 804ae8e: 791b ldrb r3, [r3, #4] 804ae90: b2db uxtb r3, r3 804ae92: 2b01 cmp r3, #1 804ae94: d104 bne.n 804aea0 FileData.Sivs = 'S'; 804ae96: 4b1d ldr r3, [pc, #116] ; (804af0c ) 804ae98: 2253 movs r2, #83 ; 0x53 804ae9a: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ae9e: e040 b.n 804af22 else if(pardata.IVS[DIS] == PEAK_TO_PEAK) 804aea0: 4b19 ldr r3, [pc, #100] ; (804af08 ) 804aea2: 791b ldrb r3, [r3, #4] 804aea4: b2db uxtb r3, r3 804aea6: 2b02 cmp r3, #2 804aea8: d104 bne.n 804aeb4 FileData.Sivs = 'R'; 804aeaa: 4b18 ldr r3, [pc, #96] ; (804af0c ) 804aeac: 2252 movs r2, #82 ; 0x52 804aeae: f883 202e strb.w r2, [r3, #46] ; 0x2e 804aeb2: e036 b.n 804af22 else if(pardata.IVS[DIS] == PEAK_FACTOR) 804aeb4: 4b14 ldr r3, [pc, #80] ; (804af08 ) 804aeb6: 791b ldrb r3, [r3, #4] 804aeb8: b2db uxtb r3, r3 804aeba: 2b03 cmp r3, #3 804aebc: d128 bne.n 804af10 FileData.Sivs = 'F'; 804aebe: 4b13 ldr r3, [pc, #76] ; (804af0c ) 804aec0: 2246 movs r2, #70 ; 0x46 804aec2: f883 202e strb.w r2, [r3, #46] ; 0x2e 804aec6: e02c b.n 804af22 804aec8: 20020dcf .word 0x20020dcf 804aecc: 20020dd2 .word 0x20020dd2 804aed0: 20020dea .word 0x20020dea 804aed4: 20020070 .word 0x20020070 804aed8: 20020fbf .word 0x20020fbf 804aedc: 20020994 .word 0x20020994 804aee0: 20020fbe .word 0x20020fbe 804aee4: 20020fbd .word 0x20020fbd 804aee8: 20020071 .word 0x20020071 804aeec: 20020dd1 .word 0x20020dd1 804aef0: 20021694 .word 0x20021694 804aef4: 20020de8 .word 0x20020de8 804aef8: 20020e34 .word 0x20020e34 804aefc: 20025c88 .word 0x20025c88 804af00: 20022698 .word 0x20022698 804af04: 20020e38 .word 0x20020e38 804af08: 20023ea8 .word 0x20023ea8 804af0c: 200229cc .word 0x200229cc else if(pardata.IVS[DIS] == EXCESS) 804af10: 4b9a ldr r3, [pc, #616] ; (804b17c ) 804af12: 791b ldrb r3, [r3, #4] 804af14: b2db uxtb r3, r3 804af16: 2b04 cmp r3, #4 804af18: d103 bne.n 804af22 FileData.Sivs = 'E'; 804af1a: 4b99 ldr r3, [pc, #612] ; (804b180 ) 804af1c: 2245 movs r2, #69 ; 0x45 804af1e: f883 202e strb.w r2, [r3, #46] ; 0x2e FileData.Aval.fl = skz[ACC]; 804af22: 4b98 ldr r3, [pc, #608] ; (804b184 ) 804af24: 681b ldr r3, [r3, #0] 804af26: 4a96 ldr r2, [pc, #600] ; (804b180 ) 804af28: 6013 str r3, [r2, #0] if(pardata.HP < 2.0f) 804af2a: 4b94 ldr r3, [pc, #592] ; (804b17c ) 804af2c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804af30: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804af34: eef4 7ac7 vcmpe.f32 s15, s14 804af38: eef1 fa10 vmrs APSR_nzcv, fpscr 804af3c: d505 bpl.n 804af4a skz[VEL] = -1.0f; 804af3e: 4b91 ldr r3, [pc, #580] ; (804b184 ) 804af40: 4a91 ldr r2, [pc, #580] ; (804b188 ) 804af42: 605a str r2, [r3, #4] skz[DIS] = -1.0f; 804af44: 4b8f ldr r3, [pc, #572] ; (804b184 ) 804af46: 4a90 ldr r2, [pc, #576] ; (804b188 ) 804af48: 609a str r2, [r3, #8] FileData.Vval.fl = skz[VEL]; 804af4a: 4b8e ldr r3, [pc, #568] ; (804b184 ) 804af4c: 685b ldr r3, [r3, #4] 804af4e: 4a8c ldr r2, [pc, #560] ; (804b180 ) 804af50: 6053 str r3, [r2, #4] FileData.Sval.fl = skz[DIS]; 804af52: 4b8c ldr r3, [pc, #560] ; (804b184 ) 804af54: 689b ldr r3, [r3, #8] 804af56: 4a8a ldr r2, [pc, #552] ; (804b180 ) 804af58: 6093 str r3, [r2, #8] if(menu == MAIN) 804af5a: 4b8c ldr r3, [pc, #560] ; (804b18c ) 804af5c: 781b ldrb r3, [r3, #0] 804af5e: b2db uxtb r3, r3 804af60: 2b00 cmp r3, #0 804af62: d103 bne.n 804af6c FileData.Fval.fl = -1.0f; 804af64: 4b86 ldr r3, [pc, #536] ; (804b180 ) 804af66: 4a88 ldr r2, [pc, #544] ; (804b188 ) 804af68: 60da str r2, [r3, #12] 804af6a: e003 b.n 804af74 else FileData.Fval.fl = FreqFran; 804af6c: 4b88 ldr r3, [pc, #544] ; (804b190 ) 804af6e: 681b ldr r3, [r3, #0] 804af70: 4a83 ldr r2, [pc, #524] ; (804b180 ) 804af72: 60d3 str r3, [r2, #12] FileData.Time = RTC_TimeStruct; 804af74: 4b82 ldr r3, [pc, #520] ; (804b180 ) 804af76: 4a87 ldr r2, [pc, #540] ; (804b194 ) 804af78: f103 0410 add.w r4, r3, #16 804af7c: 4615 mov r5, r2 804af7e: cd0f ldmia r5!, {r0, r1, r2, r3} 804af80: c40f stmia r4!, {r0, r1, r2, r3} 804af82: e895 0003 ldmia.w r5, {r0, r1} 804af86: e884 0003 stmia.w r4, {r0, r1} FileData.Date = RTC_DateStruct; 804af8a: 4b7d ldr r3, [pc, #500] ; (804b180 ) 804af8c: 4a82 ldr r2, [pc, #520] ; (804b198 ) 804af8e: 3328 adds r3, #40 ; 0x28 804af90: 6810 ldr r0, [r2, #0] 804af92: 6018 str r0, [r3, #0] AddToFile = true; 804af94: 4b81 ldr r3, [pc, #516] ; (804b19c ) 804af96: 2201 movs r2, #1 804af98: 701a strb r2, [r3, #0] result = WriteFilePTM(MeasFileName); 804af9a: 4881 ldr r0, [pc, #516] ; (804b1a0 ) 804af9c: f7de f920 bl 80291e0 804afa0: 4603 mov r3, r0 804afa2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804afa6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804afaa: 2b00 cmp r3, #0 804afac: d10a bne.n 804afc4 STATUS = AP_SAVING_SUCCESS; 804afae: 4b7d ldr r3, [pc, #500] ; (804b1a4 ) 804afb0: 2207 movs r2, #7 804afb2: 601a str r2, [r3, #0] timerStatus = sec2; 804afb4: 4b7c ldr r3, [pc, #496] ; (804b1a8 ) 804afb6: f44f 5280 mov.w r2, #4096 ; 0x1000 804afba: 801a strh r2, [r3, #0] DrawStatus = true; 804afbc: 4b7b ldr r3, [pc, #492] ; (804b1ac ) 804afbe: 2201 movs r2, #1 804afc0: 701a strb r2, [r3, #0] 804afc2: e009 b.n 804afd8 STATUS = AP_SAVING_ERROR; 804afc4: 4b77 ldr r3, [pc, #476] ; (804b1a4 ) 804afc6: 2208 movs r2, #8 804afc8: 601a str r2, [r3, #0] timerStatus = sec2; 804afca: 4b77 ldr r3, [pc, #476] ; (804b1a8 ) 804afcc: f44f 5280 mov.w r2, #4096 ; 0x1000 804afd0: 801a strh r2, [r3, #0] DrawStatus = true; 804afd2: 4b76 ldr r3, [pc, #472] ; (804b1ac ) 804afd4: 2201 movs r2, #1 804afd6: 701a strb r2, [r3, #0] AddToFile = false; 804afd8: 4b70 ldr r3, [pc, #448] ; (804b19c ) 804afda: 2200 movs r2, #0 804afdc: 701a strb r2, [r3, #0] break; 804afde: e057 b.n 804b090 STATUS = AP_NO_CARD; 804afe0: 4b70 ldr r3, [pc, #448] ; (804b1a4 ) 804afe2: 2211 movs r2, #17 804afe4: 601a str r2, [r3, #0] timerStatus = sec2; 804afe6: 4b70 ldr r3, [pc, #448] ; (804b1a8 ) 804afe8: f44f 5280 mov.w r2, #4096 ; 0x1000 804afec: 801a strh r2, [r3, #0] DrawStatus = true; 804afee: 4b6f ldr r3, [pc, #444] ; (804b1ac ) 804aff0: 2201 movs r2, #1 804aff2: 701a strb r2, [r3, #0] break; 804aff4: e04c b.n 804b090 case MyLinLog: if(SeeLog) 804aff6: 4b6e ldr r3, [pc, #440] ; (804b1b0 ) 804aff8: 781b ldrb r3, [r3, #0] 804affa: b2db uxtb r3, r3 804affc: 2b00 cmp r3, #0 804affe: d003 beq.n 804b008 SeeLog = false; 804b000: 4b6b ldr r3, [pc, #428] ; (804b1b0 ) 804b002: 2200 movs r2, #0 804b004: 701a strb r2, [r3, #0] else SeeLog = true; break; 804b006: e047 b.n 804b098 else SeeLog = true; 804b008: 4b69 ldr r3, [pc, #420] ; (804b1b0 ) 804b00a: 2201 movs r2, #1 804b00c: 701a strb r2, [r3, #0] break; 804b00e: e043 b.n 804b098 case MyPoint: case MyMeasure: if(!ReadFromFile) 804b010: 4b68 ldr r3, [pc, #416] ; (804b1b4 ) 804b012: 781b ldrb r3, [r3, #0] 804b014: b2db uxtb r3, r3 804b016: f083 0301 eor.w r3, r3, #1 804b01a: b2db uxtb r3, r3 804b01c: 2b00 cmp r3, #0 804b01e: d03a beq.n 804b096 { if((CardState == MSD_READY) && (strlen(MeasFileName))) 804b020: 4b65 ldr r3, [pc, #404] ; (804b1b8 ) 804b022: 781b ldrb r3, [r3, #0] 804b024: b2db uxtb r3, r3 804b026: 2b03 cmp r3, #3 804b028: d135 bne.n 804b096 804b02a: 4b5d ldr r3, [pc, #372] ; (804b1a0 ) 804b02c: 781b ldrb r3, [r3, #0] 804b02e: 2b00 cmp r3, #0 804b030: d031 beq.n 804b096 { if(measuring) 804b032: 4b62 ldr r3, [pc, #392] ; (804b1bc ) 804b034: 781b ldrb r3, [r3, #0] 804b036: b2db uxtb r3, r3 804b038: 2b00 cmp r3, #0 804b03a: d001 beq.n 804b040 StopMeas(); 804b03c: f7d8 fbae bl 802379c result = ReadTrendPTM(MeasFileName); 804b040: 4857 ldr r0, [pc, #348] ; (804b1a0 ) 804b042: f7db fd81 bl 8026b48 804b046: 4603 mov r3, r0 804b048: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804b04c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804b050: 2b00 cmp r3, #0 804b052: d112 bne.n 804b07a { lastmenu = menu; 804b054: 4b4d ldr r3, [pc, #308] ; (804b18c ) 804b056: 781b ldrb r3, [r3, #0] 804b058: b2da uxtb r2, r3 804b05a: 4b59 ldr r3, [pc, #356] ; (804b1c0 ) 804b05c: 701a strb r2, [r3, #0] menu = TREND_A; 804b05e: 4b4b ldr r3, [pc, #300] ; (804b18c ) 804b060: 2245 movs r2, #69 ; 0x45 804b062: 701a strb r2, [r3, #0] lastmenupos = menupos; 804b064: 4b57 ldr r3, [pc, #348] ; (804b1c4 ) 804b066: 781b ldrb r3, [r3, #0] 804b068: b2da uxtb r2, r3 804b06a: 4b57 ldr r3, [pc, #348] ; (804b1c8 ) 804b06c: 701a strb r2, [r3, #0] menupos = pardata.IVS[ACC]; 804b06e: 4b43 ldr r3, [pc, #268] ; (804b17c ) 804b070: 789b ldrb r3, [r3, #2] 804b072: b2da uxtb r2, r3 804b074: 4b53 ldr r3, [pc, #332] ; (804b1c4 ) 804b076: 701a strb r2, [r3, #0] timerStatus = sec2; DrawStatus = true; } } } break; 804b078: e00d b.n 804b096 STATUS = AP_INVALID_FILE; 804b07a: 4b4a ldr r3, [pc, #296] ; (804b1a4 ) 804b07c: 2202 movs r2, #2 804b07e: 601a str r2, [r3, #0] timerStatus = sec2; 804b080: 4b49 ldr r3, [pc, #292] ; (804b1a8 ) 804b082: f44f 5280 mov.w r2, #4096 ; 0x1000 804b086: 801a strh r2, [r3, #0] DrawStatus = true; 804b088: 4b48 ldr r3, [pc, #288] ; (804b1ac ) 804b08a: 2201 movs r2, #1 804b08c: 701a strb r2, [r3, #0] break; 804b08e: e002 b.n 804b096 break; 804b090: bf00 nop 804b092: f008 bd22 b.w 8053ada break; 804b096: bf00 nop } break; 804b098: f008 bd1f b.w 8053ada case MAIN_OSC: switch(menupos) 804b09c: 4b49 ldr r3, [pc, #292] ; (804b1c4 ) 804b09e: 781b ldrb r3, [r3, #0] 804b0a0: b2db uxtb r3, r3 804b0a2: 2b06 cmp r3, #6 804b0a4: f208 851b bhi.w 8053ade 804b0a8: a201 add r2, pc, #4 ; (adr r2, 804b0b0 ) 804b0aa: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804b0ae: bf00 nop 804b0b0: 0804b0df .word 0x0804b0df 804b0b4: 0804b0cd .word 0x0804b0cd 804b0b8: 0804b11b .word 0x0804b11b 804b0bc: 0804b2fb .word 0x0804b2fb 804b0c0: 0804b52f .word 0x0804b52f 804b0c4: 0804b231 .word 0x0804b231 804b0c8: 0804b751 .word 0x0804b751 { case BackMenu: StopMeas(); 804b0cc: f7d8 fb66 bl 802379c menu = PARAM_OSC; 804b0d0: 4b2e ldr r3, [pc, #184] ; (804b18c ) 804b0d2: 2208 movs r2, #8 804b0d4: 701a strb r2, [r3, #0] menupos = Ok; 804b0d6: 4b3b ldr r3, [pc, #236] ; (804b1c4 ) 804b0d8: 2200 movs r2, #0 804b0da: 701a strb r2, [r3, #0] break; 804b0dc: e3c6 b.n 804b86c case StartStop: if(!measuring) 804b0de: 4b37 ldr r3, [pc, #220] ; (804b1bc ) 804b0e0: 781b ldrb r3, [r3, #0] 804b0e2: b2db uxtb r3, r3 804b0e4: f083 0301 eor.w r3, r3, #1 804b0e8: b2db uxtb r3, r3 804b0ea: 2b00 cmp r3, #0 804b0ec: d00a beq.n 804b104 { AUTOZOOM = true; 804b0ee: 4b37 ldr r3, [pc, #220] ; (804b1cc ) 804b0f0: 2201 movs r2, #1 804b0f2: 701a strb r2, [r3, #0] FIRST = true; 804b0f4: 4b36 ldr r3, [pc, #216] ; (804b1d0 ) 804b0f6: 2201 movs r2, #1 804b0f8: 701a strb r2, [r3, #0] initAmplif(); 804b0fa: f7d6 fccb bl 8021a94 StartMeas(); 804b0fe: f7d7 ff9d bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804b102: e3b3 b.n 804b86c StopMeas(); 804b104: f7d8 fb4a bl 802379c AUTOZOOM = true; 804b108: 4b30 ldr r3, [pc, #192] ; (804b1cc ) 804b10a: 2201 movs r2, #1 804b10c: 701a strb r2, [r3, #0] oldmenupos = menupos; 804b10e: 4b2d ldr r3, [pc, #180] ; (804b1c4 ) 804b110: 781b ldrb r3, [r3, #0] 804b112: b2da uxtb r2, r3 804b114: 4b2f ldr r3, [pc, #188] ; (804b1d4 ) 804b116: 701a strb r2, [r3, #0] break; 804b118: e3a8 b.n 804b86c case ImageLeft: if(lX) 804b11a: 4b2f ldr r3, [pc, #188] ; (804b1d8 ) 804b11c: 881b ldrh r3, [r3, #0] 804b11e: b29b uxth r3, r3 804b120: 2b00 cmp r3, #0 804b122: f000 8399 beq.w 804b858 { multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 804b126: 4b2d ldr r3, [pc, #180] ; (804b1dc ) 804b128: 781b ldrb r3, [r3, #0] 804b12a: b2db uxtb r3, r3 804b12c: 461a mov r2, r3 804b12e: 4613 mov r3, r2 804b130: 009b lsls r3, r3, #2 804b132: 4413 add r3, r2 804b134: 4a11 ldr r2, [pc, #68] ; (804b17c ) 804b136: 79d2 ldrb r2, [r2, #7] 804b138: b2d2 uxtb r2, r2 804b13a: 4413 add r3, r2 804b13c: 4a28 ldr r2, [pc, #160] ; (804b1e0 ) 804b13e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b142: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804b146: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804b14a: 021b lsls r3, r3, #8 804b14c: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804b150: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b154: 085b lsrs r3, r3, #1 804b156: b29a uxth r2, r3 804b158: 4b1f ldr r3, [pc, #124] ; (804b1d8 ) 804b15a: 881b ldrh r3, [r3, #0] 804b15c: b29b uxth r3, r3 804b15e: 429a cmp r2, r3 804b160: d842 bhi.n 804b1e8 X0 -= (multB_u16 >> 1); 804b162: 4b20 ldr r3, [pc, #128] ; (804b1e4 ) 804b164: 881b ldrh r3, [r3, #0] 804b166: b29a uxth r2, r3 804b168: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b16c: 085b lsrs r3, r3, #1 804b16e: b29b uxth r3, r3 804b170: 1ad3 subs r3, r2, r3 804b172: b29a uxth r2, r3 804b174: 4b1b ldr r3, [pc, #108] ; (804b1e4 ) 804b176: 801a strh r2, [r3, #0] 804b178: e039 b.n 804b1ee 804b17a: bf00 nop 804b17c: 20023ea8 .word 0x20023ea8 804b180: 200229cc .word 0x200229cc 804b184: 20021588 .word 0x20021588 804b188: bf800000 .word 0xbf800000 804b18c: 20020fbd .word 0x20020fbd 804b190: 200215ac .word 0x200215ac 804b194: 20025cb0 .word 0x20025cb0 804b198: 20025d34 .word 0x20025d34 804b19c: 20020de8 .word 0x20020de8 804b1a0: 20020e78 .word 0x20020e78 804b1a4: 20020dec .word 0x20020dec 804b1a8: 200216d4 .word 0x200216d4 804b1ac: 20020df2 .word 0x20020df2 804b1b0: 20020fbc .word 0x20020fbc 804b1b4: 20020de9 .word 0x20020de9 804b1b8: 20021694 .word 0x20021694 804b1bc: 20020dcf .word 0x20020dcf 804b1c0: 20020fbe .word 0x20020fbe 804b1c4: 20020070 .word 0x20020070 804b1c8: 20020071 .word 0x20020071 804b1cc: 20020994 .word 0x20020994 804b1d0: 20020dd2 .word 0x20020dd2 804b1d4: 20020fbf .word 0x20020fbf 804b1d8: 20025d62 .word 0x20025d62 804b1dc: 20020fb8 .word 0x20020fb8 804b1e0: 080f2b68 .word 0x080f2b68 804b1e4: 20025d66 .word 0x20025d66 else X0 = 0; 804b1e8: 4ba0 ldr r3, [pc, #640] ; (804b46c ) 804b1ea: 2200 movs r2, #0 804b1ec: 801a strh r2, [r3, #0] lX = X0; 804b1ee: 4b9f ldr r3, [pc, #636] ; (804b46c ) 804b1f0: 881b ldrh r3, [r3, #0] 804b1f2: b29a uxth r2, r3 804b1f4: 4b9e ldr r3, [pc, #632] ; (804b470 ) 804b1f6: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804b1f8: 4b9d ldr r3, [pc, #628] ; (804b470 ) 804b1fa: 881b ldrh r3, [r3, #0] 804b1fc: b29a uxth r2, r3 804b1fe: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b202: 4413 add r3, r2 804b204: b29a uxth r2, r3 804b206: 4b9b ldr r3, [pc, #620] ; (804b474 ) 804b208: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804b20a: 4b9b ldr r3, [pc, #620] ; (804b478 ) 804b20c: 681b ldr r3, [r3, #0] 804b20e: b29b uxth r3, r3 804b210: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804b214: fb12 f303 smulbb r3, r2, r3 804b218: b29a uxth r2, r3 804b21a: 4b94 ldr r3, [pc, #592] ; (804b46c ) 804b21c: 881b ldrh r3, [r3, #0] 804b21e: b29b uxth r3, r3 804b220: 4413 add r3, r2 804b222: b29a uxth r2, r3 804b224: 4b95 ldr r3, [pc, #596] ; (804b47c ) 804b226: 801a strh r2, [r3, #0] AUTOZOOM = true; 804b228: 4b95 ldr r3, [pc, #596] ; (804b480 ) 804b22a: 2201 movs r2, #1 804b22c: 701a strb r2, [r3, #0] } break; 804b22e: e313 b.n 804b858 case ImageRight: multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 804b230: 4b94 ldr r3, [pc, #592] ; (804b484 ) 804b232: 781b ldrb r3, [r3, #0] 804b234: b2db uxtb r3, r3 804b236: 461a mov r2, r3 804b238: 4613 mov r3, r2 804b23a: 009b lsls r3, r3, #2 804b23c: 4413 add r3, r2 804b23e: 4a92 ldr r2, [pc, #584] ; (804b488 ) 804b240: 79d2 ldrb r2, [r2, #7] 804b242: b2d2 uxtb r2, r2 804b244: 4413 add r3, r2 804b246: 4a91 ldr r2, [pc, #580] ; (804b48c ) 804b248: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b24c: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804b250: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804b254: 021b lsls r3, r3, #8 804b256: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = NS[pardata.LNE]; 804b25a: 4b8b ldr r3, [pc, #556] ; (804b488 ) 804b25c: 79db ldrb r3, [r3, #7] 804b25e: b2db uxtb r3, r3 804b260: 461a mov r2, r3 804b262: 4b8b ldr r3, [pc, #556] ; (804b490 ) 804b264: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804b268: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804b26c: 4b81 ldr r3, [pc, #516] ; (804b474 ) 804b26e: 881b ldrh r3, [r3, #0] 804b270: b29b uxth r3, r3 804b272: 461a mov r2, r3 804b274: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b278: 085b lsrs r3, r3, #1 804b27a: b29b uxth r3, r3 804b27c: 4413 add r3, r2 804b27e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804b282: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b286: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b28a: 429a cmp r2, r3 804b28c: d80b bhi.n 804b2a6 X0 += (multB_u16 >> 1); 804b28e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b292: 085b lsrs r3, r3, #1 804b294: b29a uxth r2, r3 804b296: 4b75 ldr r3, [pc, #468] ; (804b46c ) 804b298: 881b ldrh r3, [r3, #0] 804b29a: b29b uxth r3, r3 804b29c: 4413 add r3, r2 804b29e: b29a uxth r2, r3 804b2a0: 4b72 ldr r3, [pc, #456] ; (804b46c ) 804b2a2: 801a strh r2, [r3, #0] 804b2a4: e008 b.n 804b2b8 else X0 = (uint16_t) (k - multB_u16); 804b2a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b2aa: b29a uxth r2, r3 804b2ac: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b2b0: 1ad3 subs r3, r2, r3 804b2b2: b29a uxth r2, r3 804b2b4: 4b6d ldr r3, [pc, #436] ; (804b46c ) 804b2b6: 801a strh r2, [r3, #0] lX = X0; 804b2b8: 4b6c ldr r3, [pc, #432] ; (804b46c ) 804b2ba: 881b ldrh r3, [r3, #0] 804b2bc: b29a uxth r2, r3 804b2be: 4b6c ldr r3, [pc, #432] ; (804b470 ) 804b2c0: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804b2c2: 4b6b ldr r3, [pc, #428] ; (804b470 ) 804b2c4: 881b ldrh r3, [r3, #0] 804b2c6: b29a uxth r2, r3 804b2c8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b2cc: 4413 add r3, r2 804b2ce: b29a uxth r2, r3 804b2d0: 4b68 ldr r3, [pc, #416] ; (804b474 ) 804b2d2: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804b2d4: 4b68 ldr r3, [pc, #416] ; (804b478 ) 804b2d6: 681b ldr r3, [r3, #0] 804b2d8: b29b uxth r3, r3 804b2da: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804b2de: fb12 f303 smulbb r3, r2, r3 804b2e2: b29a uxth r2, r3 804b2e4: 4b61 ldr r3, [pc, #388] ; (804b46c ) 804b2e6: 881b ldrh r3, [r3, #0] 804b2e8: b29b uxth r3, r3 804b2ea: 4413 add r3, r2 804b2ec: b29a uxth r2, r3 804b2ee: 4b63 ldr r3, [pc, #396] ; (804b47c ) 804b2f0: 801a strh r2, [r3, #0] AUTOZOOM = true; 804b2f2: 4b63 ldr r3, [pc, #396] ; (804b480 ) 804b2f4: 2201 movs r2, #1 804b2f6: 701a strb r2, [r3, #0] break; 804b2f8: e2b8 b.n 804b86c case ZoomIn: lvl_0 = 0; 804b2fa: 2300 movs r3, #0 804b2fc: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[0][5 * ViewLevel + pardata.LNE]; 804b300: 4b60 ldr r3, [pc, #384] ; (804b484 ) 804b302: 781b ldrb r3, [r3, #0] 804b304: b2db uxtb r3, r3 804b306: 461a mov r2, r3 804b308: 4613 mov r3, r2 804b30a: 009b lsls r3, r3, #2 804b30c: 4413 add r3, r2 804b30e: 4a5e ldr r2, [pc, #376] ; (804b488 ) 804b310: 79d2 ldrb r2, [r2, #7] 804b312: b2d2 uxtb r2, r2 804b314: 4413 add r3, r2 804b316: 4a5d ldr r2, [pc, #372] ; (804b48c ) 804b318: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b31c: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 6; 804b320: 2306 movs r3, #6 804b322: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804b326: 4b57 ldr r3, [pc, #348] ; (804b484 ) 804b328: 781b ldrb r3, [r3, #0] 804b32a: b2db uxtb r3, r3 804b32c: b29b uxth r3, r3 804b32e: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804b332: 429a cmp r2, r3 804b334: f240 8293 bls.w 804b85e 804b338: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b33c: 2b01 cmp r3, #1 804b33e: f240 828e bls.w 804b85e { ViewLevel++; 804b342: 4b50 ldr r3, [pc, #320] ; (804b484 ) 804b344: 781b ldrb r3, [r3, #0] 804b346: b2db uxtb r3, r3 804b348: 3301 adds r3, #1 804b34a: b2da uxtb r2, r3 804b34c: 4b4d ldr r3, [pc, #308] ; (804b484 ) 804b34e: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 804b350: 4b4c ldr r3, [pc, #304] ; (804b484 ) 804b352: 781b ldrb r3, [r3, #0] 804b354: b2db uxtb r3, r3 804b356: 461a mov r2, r3 804b358: 4613 mov r3, r2 804b35a: 009b lsls r3, r3, #2 804b35c: 4413 add r3, r2 804b35e: 4a4a ldr r2, [pc, #296] ; (804b488 ) 804b360: 79d2 ldrb r2, [r2, #7] 804b362: b2d2 uxtb r2, r2 804b364: 4413 add r3, r2 804b366: 4a49 ldr r2, [pc, #292] ; (804b48c ) 804b368: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b36c: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804b370: 4b42 ldr r3, [pc, #264] ; (804b47c ) 804b372: 881b ldrh r3, [r3, #0] 804b374: b29a uxth r2, r3 804b376: 4b40 ldr r3, [pc, #256] ; (804b478 ) 804b378: 681b ldr r3, [r3, #0] 804b37a: b29b uxth r3, r3 804b37c: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804b380: fb11 f303 smulbb r3, r1, r3 804b384: b29b uxth r3, r3 804b386: 1ad3 subs r3, r2, r3 804b388: b29a uxth r2, r3 804b38a: 4b38 ldr r3, [pc, #224] ; (804b46c ) 804b38c: 801a strh r2, [r3, #0] lX = X0; 804b38e: 4b37 ldr r3, [pc, #220] ; (804b46c ) 804b390: 881b ldrh r3, [r3, #0] 804b392: b29a uxth r2, r3 804b394: 4b36 ldr r3, [pc, #216] ; (804b470 ) 804b396: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b398: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b39c: 021b lsls r3, r3, #8 804b39e: b29a uxth r2, r3 804b3a0: 4b33 ldr r3, [pc, #204] ; (804b470 ) 804b3a2: 881b ldrh r3, [r3, #0] 804b3a4: b29b uxth r3, r3 804b3a6: 4413 add r3, r2 804b3a8: b29a uxth r2, r3 804b3aa: 4b32 ldr r3, [pc, #200] ; (804b474 ) 804b3ac: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b3ae: 4b39 ldr r3, [pc, #228] ; (804b494 ) 804b3b0: 881b ldrh r3, [r3, #0] 804b3b2: b29b uxth r3, r3 804b3b4: 461a mov r2, r3 804b3b6: 4b2e ldr r3, [pc, #184] ; (804b470 ) 804b3b8: 881b ldrh r3, [r3, #0] 804b3ba: b29b uxth r3, r3 804b3bc: 1ad2 subs r2, r2, r3 804b3be: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b3c2: fb92 f3f3 sdiv r3, r2, r3 804b3c6: 461a mov r2, r3 804b3c8: 4b2b ldr r3, [pc, #172] ; (804b478 ) 804b3ca: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804b3cc: 4b2a ldr r3, [pc, #168] ; (804b478 ) 804b3ce: 681b ldr r3, [r3, #0] 804b3d0: b29b uxth r3, r3 804b3d2: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b3d6: fb12 f303 smulbb r3, r2, r3 804b3da: b29a uxth r2, r3 804b3dc: 4b24 ldr r3, [pc, #144] ; (804b470 ) 804b3de: 881b ldrh r3, [r3, #0] 804b3e0: b29b uxth r3, r3 804b3e2: 4413 add r3, r2 804b3e4: b29a uxth r2, r3 804b3e6: 4b25 ldr r3, [pc, #148] ; (804b47c ) 804b3e8: 801a strh r2, [r3, #0] if((CURSOR < 128) && (X0 >= dX)) 804b3ea: 4b23 ldr r3, [pc, #140] ; (804b478 ) 804b3ec: 681b ldr r3, [r3, #0] 804b3ee: 2b7f cmp r3, #127 ; 0x7f 804b3f0: d852 bhi.n 804b498 804b3f2: 4b1e ldr r3, [pc, #120] ; (804b46c ) 804b3f4: 881b ldrh r3, [r3, #0] 804b3f6: b29b uxth r3, r3 804b3f8: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b3fc: 429a cmp r2, r3 804b3fe: d84b bhi.n 804b498 { if(lX >= dX) 804b400: 4b1b ldr r3, [pc, #108] ; (804b470 ) 804b402: 881b ldrh r3, [r3, #0] 804b404: b29b uxth r3, r3 804b406: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b40a: 429a cmp r2, r3 804b40c: f200 808b bhi.w 804b526 { CURSOR++; 804b410: 4b19 ldr r3, [pc, #100] ; (804b478 ) 804b412: 681b ldr r3, [r3, #0] 804b414: 3301 adds r3, #1 804b416: 4a18 ldr r2, [pc, #96] ; (804b478 ) 804b418: 6013 str r3, [r2, #0] X0 -= dX; 804b41a: 4b14 ldr r3, [pc, #80] ; (804b46c ) 804b41c: 881b ldrh r3, [r3, #0] 804b41e: b29a uxth r2, r3 804b420: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b424: 1ad3 subs r3, r2, r3 804b426: b29a uxth r2, r3 804b428: 4b10 ldr r3, [pc, #64] ; (804b46c ) 804b42a: 801a strh r2, [r3, #0] lX = X0; 804b42c: 4b0f ldr r3, [pc, #60] ; (804b46c ) 804b42e: 881b ldrh r3, [r3, #0] 804b430: b29a uxth r2, r3 804b432: 4b0f ldr r3, [pc, #60] ; (804b470 ) 804b434: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b436: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b43a: 021b lsls r3, r3, #8 804b43c: b29a uxth r2, r3 804b43e: 4b0c ldr r3, [pc, #48] ; (804b470 ) 804b440: 881b ldrh r3, [r3, #0] 804b442: b29b uxth r3, r3 804b444: 4413 add r3, r2 804b446: b29a uxth r2, r3 804b448: 4b0a ldr r3, [pc, #40] ; (804b474 ) 804b44a: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b44c: 4b11 ldr r3, [pc, #68] ; (804b494 ) 804b44e: 881b ldrh r3, [r3, #0] 804b450: b29b uxth r3, r3 804b452: 461a mov r2, r3 804b454: 4b06 ldr r3, [pc, #24] ; (804b470 ) 804b456: 881b ldrh r3, [r3, #0] 804b458: b29b uxth r3, r3 804b45a: 1ad2 subs r2, r2, r3 804b45c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b460: fb92 f3f3 sdiv r3, r2, r3 804b464: 461a mov r2, r3 804b466: 4b04 ldr r3, [pc, #16] ; (804b478 ) 804b468: 601a str r2, [r3, #0] if(lX >= dX) 804b46a: e05c b.n 804b526 804b46c: 20025d66 .word 0x20025d66 804b470: 20025d62 .word 0x20025d62 804b474: 20025d68 .word 0x20025d68 804b478: 2002006c .word 0x2002006c 804b47c: 20025d5e .word 0x20025d5e 804b480: 20020994 .word 0x20020994 804b484: 20020fb8 .word 0x20020fb8 804b488: 20023ea8 .word 0x20023ea8 804b48c: 080f2b68 .word 0x080f2b68 804b490: 080f2bf4 .word 0x080f2bf4 804b494: 20025d64 .word 0x20025d64 } } else if(CURSOR > 128) 804b498: 4ba3 ldr r3, [pc, #652] ; (804b728 ) 804b49a: 681b ldr r3, [r3, #0] 804b49c: 2b80 cmp r3, #128 ; 0x80 804b49e: d942 bls.n 804b526 { if((rX + dX) <= (256 * Avg[0][5 * lvl_0 + pardata.LNE])) 804b4a0: 4ba2 ldr r3, [pc, #648] ; (804b72c ) 804b4a2: 881b ldrh r3, [r3, #0] 804b4a4: b29b uxth r3, r3 804b4a6: 461a mov r2, r3 804b4a8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b4ac: 18d1 adds r1, r2, r3 804b4ae: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804b4b2: 4613 mov r3, r2 804b4b4: 009b lsls r3, r3, #2 804b4b6: 4413 add r3, r2 804b4b8: 4a9d ldr r2, [pc, #628] ; (804b730 ) 804b4ba: 79d2 ldrb r2, [r2, #7] 804b4bc: b2d2 uxtb r2, r2 804b4be: 4413 add r3, r2 804b4c0: 4a9c ldr r2, [pc, #624] ; (804b734 ) 804b4c2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b4c6: 021b lsls r3, r3, #8 804b4c8: 4299 cmp r1, r3 804b4ca: dc2c bgt.n 804b526 { CURSOR--; 804b4cc: 4b96 ldr r3, [pc, #600] ; (804b728 ) 804b4ce: 681b ldr r3, [r3, #0] 804b4d0: 3b01 subs r3, #1 804b4d2: 4a95 ldr r2, [pc, #596] ; (804b728 ) 804b4d4: 6013 str r3, [r2, #0] X0 += dX; 804b4d6: 4b98 ldr r3, [pc, #608] ; (804b738 ) 804b4d8: 881b ldrh r3, [r3, #0] 804b4da: b29a uxth r2, r3 804b4dc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b4e0: 4413 add r3, r2 804b4e2: b29a uxth r2, r3 804b4e4: 4b94 ldr r3, [pc, #592] ; (804b738 ) 804b4e6: 801a strh r2, [r3, #0] lX = X0; 804b4e8: 4b93 ldr r3, [pc, #588] ; (804b738 ) 804b4ea: 881b ldrh r3, [r3, #0] 804b4ec: b29a uxth r2, r3 804b4ee: 4b93 ldr r3, [pc, #588] ; (804b73c ) 804b4f0: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b4f2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b4f6: 021b lsls r3, r3, #8 804b4f8: b29a uxth r2, r3 804b4fa: 4b90 ldr r3, [pc, #576] ; (804b73c ) 804b4fc: 881b ldrh r3, [r3, #0] 804b4fe: b29b uxth r3, r3 804b500: 4413 add r3, r2 804b502: b29a uxth r2, r3 804b504: 4b89 ldr r3, [pc, #548] ; (804b72c ) 804b506: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b508: 4b8d ldr r3, [pc, #564] ; (804b740 ) 804b50a: 881b ldrh r3, [r3, #0] 804b50c: b29b uxth r3, r3 804b50e: 461a mov r2, r3 804b510: 4b8a ldr r3, [pc, #552] ; (804b73c ) 804b512: 881b ldrh r3, [r3, #0] 804b514: b29b uxth r3, r3 804b516: 1ad2 subs r2, r2, r3 804b518: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b51c: fb92 f3f3 sdiv r3, r2, r3 804b520: 461a mov r2, r3 804b522: 4b81 ldr r3, [pc, #516] ; (804b728 ) 804b524: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804b526: 4b87 ldr r3, [pc, #540] ; (804b744 ) 804b528: 2201 movs r2, #1 804b52a: 701a strb r2, [r3, #0] } break; 804b52c: e197 b.n 804b85e case ZoomOut: lvl_0 = 0; 804b52e: 2300 movs r3, #0 804b530: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 6; 804b534: 2306 movs r3, #6 804b536: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[0][5 * ViewLevel + pardata.LNE]; 804b53a: 4b83 ldr r3, [pc, #524] ; (804b748 ) 804b53c: 781b ldrb r3, [r3, #0] 804b53e: b2db uxtb r3, r3 804b540: 461a mov r2, r3 804b542: 4613 mov r3, r2 804b544: 009b lsls r3, r3, #2 804b546: 4413 add r3, r2 804b548: 4a79 ldr r2, [pc, #484] ; (804b730 ) 804b54a: 79d2 ldrb r2, [r2, #7] 804b54c: b2d2 uxtb r2, r2 804b54e: 4413 add r3, r2 804b550: 4a78 ldr r2, [pc, #480] ; (804b734 ) 804b552: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b556: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804b55a: 4b7b ldr r3, [pc, #492] ; (804b748 ) 804b55c: 781b ldrb r3, [r3, #0] 804b55e: b2db uxtb r3, r3 804b560: 2b00 cmp r3, #0 804b562: f000 817f beq.w 804b864 { ViewLevel--; 804b566: 4b78 ldr r3, [pc, #480] ; (804b748 ) 804b568: 781b ldrb r3, [r3, #0] 804b56a: b2db uxtb r3, r3 804b56c: 3b01 subs r3, #1 804b56e: b2da uxtb r2, r3 804b570: 4b75 ldr r3, [pc, #468] ; (804b748 ) 804b572: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 804b574: 4b74 ldr r3, [pc, #464] ; (804b748 ) 804b576: 781b ldrb r3, [r3, #0] 804b578: b2db uxtb r3, r3 804b57a: 461a mov r2, r3 804b57c: 4613 mov r3, r2 804b57e: 009b lsls r3, r3, #2 804b580: 4413 add r3, r2 804b582: 4a6b ldr r2, [pc, #428] ; (804b730 ) 804b584: 79d2 ldrb r2, [r2, #7] 804b586: b2d2 uxtb r2, r2 804b588: 4413 add r3, r2 804b58a: 4a6a ldr r2, [pc, #424] ; (804b734 ) 804b58c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b590: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804b594: 4b6c ldr r3, [pc, #432] ; (804b748 ) 804b596: 781b ldrb r3, [r3, #0] 804b598: b2db uxtb r3, r3 804b59a: 2b00 cmp r3, #0 804b59c: d130 bne.n 804b600 { X0 = lX = 0; 804b59e: 2100 movs r1, #0 804b5a0: 4b66 ldr r3, [pc, #408] ; (804b73c ) 804b5a2: 460a mov r2, r1 804b5a4: 801a strh r2, [r3, #0] 804b5a6: 4b64 ldr r3, [pc, #400] ; (804b738 ) 804b5a8: 460a mov r2, r1 804b5aa: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b5ac: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b5b0: 021b lsls r3, r3, #8 804b5b2: b29a uxth r2, r3 804b5b4: 4b61 ldr r3, [pc, #388] ; (804b73c ) 804b5b6: 881b ldrh r3, [r3, #0] 804b5b8: b29b uxth r3, r3 804b5ba: 4413 add r3, r2 804b5bc: b29a uxth r2, r3 804b5be: 4b5b ldr r3, [pc, #364] ; (804b72c ) 804b5c0: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b5c2: 4b5f ldr r3, [pc, #380] ; (804b740 ) 804b5c4: 881b ldrh r3, [r3, #0] 804b5c6: b29b uxth r3, r3 804b5c8: 461a mov r2, r3 804b5ca: 4b5c ldr r3, [pc, #368] ; (804b73c ) 804b5cc: 881b ldrh r3, [r3, #0] 804b5ce: b29b uxth r3, r3 804b5d0: 1ad2 subs r2, r2, r3 804b5d2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b5d6: fb92 f3f3 sdiv r3, r2, r3 804b5da: 461a mov r2, r3 804b5dc: 4b52 ldr r3, [pc, #328] ; (804b728 ) 804b5de: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804b5e0: 4b51 ldr r3, [pc, #324] ; (804b728 ) 804b5e2: 681b ldr r3, [r3, #0] 804b5e4: b29b uxth r3, r3 804b5e6: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b5ea: fb12 f303 smulbb r3, r2, r3 804b5ee: b29a uxth r2, r3 804b5f0: 4b51 ldr r3, [pc, #324] ; (804b738 ) 804b5f2: 881b ldrh r3, [r3, #0] 804b5f4: b29b uxth r3, r3 804b5f6: 4413 add r3, r2 804b5f8: b29a uxth r2, r3 804b5fa: 4b54 ldr r3, [pc, #336] ; (804b74c ) 804b5fc: 801a strh r2, [r3, #0] 804b5fe: e08f b.n 804b720 } else { if(CURSOR * dX > Mpos) 804b600: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b604: 4a48 ldr r2, [pc, #288] ; (804b728 ) 804b606: 6812 ldr r2, [r2, #0] 804b608: fb02 f303 mul.w r3, r2, r3 804b60c: 4a4f ldr r2, [pc, #316] ; (804b74c ) 804b60e: 8812 ldrh r2, [r2, #0] 804b610: b292 uxth r2, r2 804b612: 4293 cmp r3, r2 804b614: d91f bls.n 804b656 { while(CURSOR * dX > Mpos) 804b616: e004 b.n 804b622 CURSOR--; 804b618: 4b43 ldr r3, [pc, #268] ; (804b728 ) 804b61a: 681b ldr r3, [r3, #0] 804b61c: 3b01 subs r3, #1 804b61e: 4a42 ldr r2, [pc, #264] ; (804b728 ) 804b620: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804b622: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b626: 4a40 ldr r2, [pc, #256] ; (804b728 ) 804b628: 6812 ldr r2, [r2, #0] 804b62a: fb02 f303 mul.w r3, r2, r3 804b62e: 4a47 ldr r2, [pc, #284] ; (804b74c ) 804b630: 8812 ldrh r2, [r2, #0] 804b632: b292 uxth r2, r2 804b634: 4293 cmp r3, r2 804b636: d8ef bhi.n 804b618 Mpos = X0 + CURSOR * dX; 804b638: 4b3b ldr r3, [pc, #236] ; (804b728 ) 804b63a: 681b ldr r3, [r3, #0] 804b63c: b29b uxth r3, r3 804b63e: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b642: fb12 f303 smulbb r3, r2, r3 804b646: b29a uxth r2, r3 804b648: 4b3b ldr r3, [pc, #236] ; (804b738 ) 804b64a: 881b ldrh r3, [r3, #0] 804b64c: b29b uxth r3, r3 804b64e: 4413 add r3, r2 804b650: b29a uxth r2, r3 804b652: 4b3e ldr r3, [pc, #248] ; (804b74c ) 804b654: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804b656: 4b3d ldr r3, [pc, #244] ; (804b74c ) 804b658: 881b ldrh r3, [r3, #0] 804b65a: b29b uxth r3, r3 804b65c: 4619 mov r1, r3 804b65e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b662: 4a31 ldr r2, [pc, #196] ; (804b728 ) 804b664: 6812 ldr r2, [r2, #0] 804b666: fb02 f303 mul.w r3, r2, r3 804b66a: 1acb subs r3, r1, r3 804b66c: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804b670: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b674: 021b lsls r3, r3, #8 804b676: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[0][5 * lvl_0 + pardata.LNE]; // 3200 804b67a: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804b67e: 4613 mov r3, r2 804b680: 009b lsls r3, r3, #2 804b682: 4413 add r3, r2 804b684: 4a2a ldr r2, [pc, #168] ; (804b730 ) 804b686: 79d2 ldrb r2, [r2, #7] 804b688: b2d2 uxtb r2, r2 804b68a: 4413 add r3, r2 804b68c: 4a29 ldr r2, [pc, #164] ; (804b734 ) 804b68e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b692: 021b lsls r3, r3, #8 804b694: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804b698: e006 b.n 804b6a8 i -= dXold; 804b69a: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804b69e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b6a2: 1ad3 subs r3, r2, r3 804b6a4: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804b6a8: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b6ac: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804b6b0: 441a add r2, r3 804b6b2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b6b6: 429a cmp r2, r3 804b6b8: d8ef bhi.n 804b69a } X0 = (uint16_t) i; 804b6ba: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804b6be: b29a uxth r2, r3 804b6c0: 4b1d ldr r3, [pc, #116] ; (804b738 ) 804b6c2: 801a strh r2, [r3, #0] lX = X0; 804b6c4: 4b1c ldr r3, [pc, #112] ; (804b738 ) 804b6c6: 881b ldrh r3, [r3, #0] 804b6c8: b29a uxth r2, r3 804b6ca: 4b1c ldr r3, [pc, #112] ; (804b73c ) 804b6cc: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b6ce: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b6d2: 021b lsls r3, r3, #8 804b6d4: b29a uxth r2, r3 804b6d6: 4b19 ldr r3, [pc, #100] ; (804b73c ) 804b6d8: 881b ldrh r3, [r3, #0] 804b6da: b29b uxth r3, r3 804b6dc: 4413 add r3, r2 804b6de: b29a uxth r2, r3 804b6e0: 4b12 ldr r3, [pc, #72] ; (804b72c ) 804b6e2: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b6e4: 4b16 ldr r3, [pc, #88] ; (804b740 ) 804b6e6: 881b ldrh r3, [r3, #0] 804b6e8: b29b uxth r3, r3 804b6ea: 461a mov r2, r3 804b6ec: 4b13 ldr r3, [pc, #76] ; (804b73c ) 804b6ee: 881b ldrh r3, [r3, #0] 804b6f0: b29b uxth r3, r3 804b6f2: 1ad2 subs r2, r2, r3 804b6f4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b6f8: fb92 f3f3 sdiv r3, r2, r3 804b6fc: 461a mov r2, r3 804b6fe: 4b0a ldr r3, [pc, #40] ; (804b728 ) 804b700: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804b702: 4b09 ldr r3, [pc, #36] ; (804b728 ) 804b704: 681b ldr r3, [r3, #0] 804b706: b29b uxth r3, r3 804b708: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b70c: fb12 f303 smulbb r3, r2, r3 804b710: b29a uxth r2, r3 804b712: 4b09 ldr r3, [pc, #36] ; (804b738 ) 804b714: 881b ldrh r3, [r3, #0] 804b716: b29b uxth r3, r3 804b718: 4413 add r3, r2 804b71a: b29a uxth r2, r3 804b71c: 4b0b ldr r3, [pc, #44] ; (804b74c ) 804b71e: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804b720: 4b08 ldr r3, [pc, #32] ; (804b744 ) 804b722: 2201 movs r2, #1 804b724: 701a strb r2, [r3, #0] } break; 804b726: e09d b.n 804b864 804b728: 2002006c .word 0x2002006c 804b72c: 20025d68 .word 0x20025d68 804b730: 20023ea8 .word 0x20023ea8 804b734: 080f2b68 .word 0x080f2b68 804b738: 20025d66 .word 0x20025d66 804b73c: 20025d62 .word 0x20025d62 804b740: 20025d64 .word 0x20025d64 804b744: 20020994 .word 0x20020994 804b748: 20020fb8 .word 0x20020fb8 804b74c: 20025d5e .word 0x20025d5e case Cursor: AUTOZOOM = true; 804b750: 4ba3 ldr r3, [pc, #652] ; (804b9e0 ) 804b752: 2201 movs r2, #1 804b754: 701a strb r2, [r3, #0] if((DynamicCursor[0].Mpos >= Mpos) && (DynamicCursor[0].Mpos < (Mpos + Avg[0][5 * ViewLevel + pardata.LNE]))) 804b756: 4ba3 ldr r3, [pc, #652] ; (804b9e4 ) 804b758: 889a ldrh r2, [r3, #4] 804b75a: 4ba3 ldr r3, [pc, #652] ; (804b9e8 ) 804b75c: 881b ldrh r3, [r3, #0] 804b75e: b29b uxth r3, r3 804b760: 429a cmp r2, r3 804b762: d323 bcc.n 804b7ac 804b764: 4b9f ldr r3, [pc, #636] ; (804b9e4 ) 804b766: 889b ldrh r3, [r3, #4] 804b768: 4619 mov r1, r3 804b76a: 4b9f ldr r3, [pc, #636] ; (804b9e8 ) 804b76c: 881b ldrh r3, [r3, #0] 804b76e: b29b uxth r3, r3 804b770: 4618 mov r0, r3 804b772: 4b9e ldr r3, [pc, #632] ; (804b9ec ) 804b774: 781b ldrb r3, [r3, #0] 804b776: b2db uxtb r3, r3 804b778: 461a mov r2, r3 804b77a: 4613 mov r3, r2 804b77c: 009b lsls r3, r3, #2 804b77e: 4413 add r3, r2 804b780: 4a9b ldr r2, [pc, #620] ; (804b9f0 ) 804b782: 79d2 ldrb r2, [r2, #7] 804b784: b2d2 uxtb r2, r2 804b786: 4413 add r3, r2 804b788: 4a9a ldr r2, [pc, #616] ; (804b9f4 ) 804b78a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b78e: 4403 add r3, r0 804b790: 4299 cmp r1, r3 804b792: da0b bge.n 804b7ac { if(DynamicCursor[0].Enabled) 804b794: 4b93 ldr r3, [pc, #588] ; (804b9e4 ) 804b796: 781b ldrb r3, [r3, #0] 804b798: 2b00 cmp r3, #0 804b79a: d05c beq.n 804b856 { DynamicCursor[0].Enabled = false; 804b79c: 4b91 ldr r3, [pc, #580] ; (804b9e4 ) 804b79e: 2200 movs r2, #0 804b7a0: 701a strb r2, [r3, #0] DynamicCursor[0].Mpos = 0xffff; 804b7a2: 4b90 ldr r3, [pc, #576] ; (804b9e4 ) 804b7a4: f64f 72ff movw r2, #65535 ; 0xffff 804b7a8: 809a strh r2, [r3, #4] if(DynamicCursor[0].Enabled) 804b7aa: e054 b.n 804b856 } } else if((DynamicCursor[1].Mpos >= Mpos) && (DynamicCursor[1].Mpos < (Mpos + Avg[0][5 * ViewLevel + pardata.LNE]))) 804b7ac: 4b8d ldr r3, [pc, #564] ; (804b9e4 ) 804b7ae: 8a9a ldrh r2, [r3, #20] 804b7b0: 4b8d ldr r3, [pc, #564] ; (804b9e8 ) 804b7b2: 881b ldrh r3, [r3, #0] 804b7b4: b29b uxth r3, r3 804b7b6: 429a cmp r2, r3 804b7b8: d323 bcc.n 804b802 804b7ba: 4b8a ldr r3, [pc, #552] ; (804b9e4 ) 804b7bc: 8a9b ldrh r3, [r3, #20] 804b7be: 4619 mov r1, r3 804b7c0: 4b89 ldr r3, [pc, #548] ; (804b9e8 ) 804b7c2: 881b ldrh r3, [r3, #0] 804b7c4: b29b uxth r3, r3 804b7c6: 4618 mov r0, r3 804b7c8: 4b88 ldr r3, [pc, #544] ; (804b9ec ) 804b7ca: 781b ldrb r3, [r3, #0] 804b7cc: b2db uxtb r3, r3 804b7ce: 461a mov r2, r3 804b7d0: 4613 mov r3, r2 804b7d2: 009b lsls r3, r3, #2 804b7d4: 4413 add r3, r2 804b7d6: 4a86 ldr r2, [pc, #536] ; (804b9f0 ) 804b7d8: 79d2 ldrb r2, [r2, #7] 804b7da: b2d2 uxtb r2, r2 804b7dc: 4413 add r3, r2 804b7de: 4a85 ldr r2, [pc, #532] ; (804b9f4 ) 804b7e0: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b7e4: 4403 add r3, r0 804b7e6: 4299 cmp r1, r3 804b7e8: da0b bge.n 804b802 { if(DynamicCursor[1].Enabled) 804b7ea: 4b7e ldr r3, [pc, #504] ; (804b9e4 ) 804b7ec: 7c1b ldrb r3, [r3, #16] 804b7ee: 2b00 cmp r3, #0 804b7f0: d031 beq.n 804b856 { DynamicCursor[1].Enabled = false; 804b7f2: 4b7c ldr r3, [pc, #496] ; (804b9e4 ) 804b7f4: 2200 movs r2, #0 804b7f6: 741a strb r2, [r3, #16] DynamicCursor[1].Mpos = 0xffff; 804b7f8: 4b7a ldr r3, [pc, #488] ; (804b9e4 ) 804b7fa: f64f 72ff movw r2, #65535 ; 0xffff 804b7fe: 829a strh r2, [r3, #20] if(DynamicCursor[1].Enabled) 804b800: e029 b.n 804b856 } } else { if(!DynamicCursor[0].Enabled) 804b802: 4b78 ldr r3, [pc, #480] ; (804b9e4 ) 804b804: 781b ldrb r3, [r3, #0] 804b806: f083 0301 eor.w r3, r3, #1 804b80a: b2db uxtb r3, r3 804b80c: 2b00 cmp r3, #0 804b80e: d00d beq.n 804b82c { DynamicCursor[0].Mpos = Mpos; 804b810: 4b75 ldr r3, [pc, #468] ; (804b9e8 ) 804b812: 881b ldrh r3, [r3, #0] 804b814: b29a uxth r2, r3 804b816: 4b73 ldr r3, [pc, #460] ; (804b9e4 ) 804b818: 809a strh r2, [r3, #4] DynamicCursor[0].fineMpos = Mpos; 804b81a: 4b73 ldr r3, [pc, #460] ; (804b9e8 ) 804b81c: 881b ldrh r3, [r3, #0] 804b81e: b29a uxth r2, r3 804b820: 4b70 ldr r3, [pc, #448] ; (804b9e4 ) 804b822: 80da strh r2, [r3, #6] DynamicCursor[0].Enabled = true; 804b824: 4b6f ldr r3, [pc, #444] ; (804b9e4 ) 804b826: 2201 movs r2, #1 804b828: 701a strb r2, [r3, #0] DynamicCursor[1].Mpos = Mpos; DynamicCursor[1].fineMpos = Mpos; DynamicCursor[1].Enabled = true; } } break; 804b82a: e01e b.n 804b86a if(!DynamicCursor[1].Enabled) 804b82c: 4b6d ldr r3, [pc, #436] ; (804b9e4 ) 804b82e: 7c1b ldrb r3, [r3, #16] 804b830: f083 0301 eor.w r3, r3, #1 804b834: b2db uxtb r3, r3 804b836: 2b00 cmp r3, #0 804b838: d017 beq.n 804b86a DynamicCursor[1].Mpos = Mpos; 804b83a: 4b6b ldr r3, [pc, #428] ; (804b9e8 ) 804b83c: 881b ldrh r3, [r3, #0] 804b83e: b29a uxth r2, r3 804b840: 4b68 ldr r3, [pc, #416] ; (804b9e4 ) 804b842: 829a strh r2, [r3, #20] DynamicCursor[1].fineMpos = Mpos; 804b844: 4b68 ldr r3, [pc, #416] ; (804b9e8 ) 804b846: 881b ldrh r3, [r3, #0] 804b848: b29a uxth r2, r3 804b84a: 4b66 ldr r3, [pc, #408] ; (804b9e4 ) 804b84c: 82da strh r2, [r3, #22] DynamicCursor[1].Enabled = true; 804b84e: 4b65 ldr r3, [pc, #404] ; (804b9e4 ) 804b850: 2201 movs r2, #1 804b852: 741a strb r2, [r3, #16] break; 804b854: e009 b.n 804b86a 804b856: e008 b.n 804b86a break; 804b858: bf00 nop 804b85a: f008 b940 b.w 8053ade break; 804b85e: bf00 nop 804b860: f008 b93d b.w 8053ade break; 804b864: bf00 nop 804b866: f008 b93a b.w 8053ade break; 804b86a: bf00 nop } break; 804b86c: f008 b937 b.w 8053ade case ROLL_RESULTS: DefectType = menupos; 804b870: 4b61 ldr r3, [pc, #388] ; (804b9f8 ) 804b872: 781b ldrb r3, [r3, #0] 804b874: b2da uxtb r2, r3 804b876: 4b61 ldr r3, [pc, #388] ; (804b9fc ) 804b878: 701a strb r2, [r3, #0] RefreshGraf(); 804b87a: f008 f9a1 bl 8053bc0 menu = VIEW_PORTRET; 804b87e: 4b60 ldr r3, [pc, #384] ; (804ba00 ) 804b880: 2228 movs r2, #40 ; 0x28 804b882: 701a strb r2, [r3, #0] menupos = Cursor; 804b884: 4b5c ldr r3, [pc, #368] ; (804b9f8 ) 804b886: 2206 movs r2, #6 804b888: 701a strb r2, [r3, #0] lastmenupos = ZoomIn; 804b88a: 4b5e ldr r3, [pc, #376] ; (804ba04 ) 804b88c: 2203 movs r2, #3 804b88e: 701a strb r2, [r3, #0] break; 804b890: f008 b96c b.w 8053b6c case VIEW_PORTRET: switch(menupos) 804b894: 4b58 ldr r3, [pc, #352] ; (804b9f8 ) 804b896: 781b ldrb r3, [r3, #0] 804b898: b2db uxtb r3, r3 804b89a: 3b02 subs r3, #2 804b89c: 2b04 cmp r3, #4 804b89e: f208 8120 bhi.w 8053ae2 804b8a2: a201 add r2, pc, #4 ; (adr r2, 804b8a8 ) 804b8a4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804b8a8: 0804b8bd .word 0x0804b8bd 804b8ac: 0804ba71 .word 0x0804ba71 804b8b0: 0804bca5 .word 0x0804bca5 804b8b4: 0804b967 .word 0x0804b967 804b8b8: 0804bea5 .word 0x0804bea5 { case ImageLeft: if(lX) 804b8bc: 4b52 ldr r3, [pc, #328] ; (804ba08 ) 804b8be: 881b ldrh r3, [r3, #0] 804b8c0: b29b uxth r3, r3 804b8c2: 2b00 cmp r3, #0 804b8c4: f000 838b beq.w 804bfde { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804b8c8: 4b48 ldr r3, [pc, #288] ; (804b9ec ) 804b8ca: 781b ldrb r3, [r3, #0] 804b8cc: b2db uxtb r3, r3 804b8ce: 461a mov r2, r3 804b8d0: 4613 mov r3, r2 804b8d2: 009b lsls r3, r3, #2 804b8d4: 4413 add r3, r2 804b8d6: 4a46 ldr r2, [pc, #280] ; (804b9f0 ) 804b8d8: 79d2 ldrb r2, [r2, #7] 804b8da: b2d2 uxtb r2, r2 804b8dc: 4413 add r3, r2 804b8de: 4a45 ldr r2, [pc, #276] ; (804b9f4 ) 804b8e0: 3323 adds r3, #35 ; 0x23 804b8e2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b8e6: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804b8ea: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804b8ee: 021b lsls r3, r3, #8 804b8f0: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804b8f4: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b8f8: 085b lsrs r3, r3, #1 804b8fa: b29a uxth r2, r3 804b8fc: 4b42 ldr r3, [pc, #264] ; (804ba08 ) 804b8fe: 881b ldrh r3, [r3, #0] 804b900: b29b uxth r3, r3 804b902: 429a cmp r2, r3 804b904: d80b bhi.n 804b91e X0 -= (multB_u16 >> 1); 804b906: 4b41 ldr r3, [pc, #260] ; (804ba0c ) 804b908: 881b ldrh r3, [r3, #0] 804b90a: b29a uxth r2, r3 804b90c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b910: 085b lsrs r3, r3, #1 804b912: b29b uxth r3, r3 804b914: 1ad3 subs r3, r2, r3 804b916: b29a uxth r2, r3 804b918: 4b3c ldr r3, [pc, #240] ; (804ba0c ) 804b91a: 801a strh r2, [r3, #0] 804b91c: e002 b.n 804b924 else X0 = 0; 804b91e: 4b3b ldr r3, [pc, #236] ; (804ba0c ) 804b920: 2200 movs r2, #0 804b922: 801a strh r2, [r3, #0] lX = X0; 804b924: 4b39 ldr r3, [pc, #228] ; (804ba0c ) 804b926: 881b ldrh r3, [r3, #0] 804b928: b29a uxth r2, r3 804b92a: 4b37 ldr r3, [pc, #220] ; (804ba08 ) 804b92c: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804b92e: 4b36 ldr r3, [pc, #216] ; (804ba08 ) 804b930: 881b ldrh r3, [r3, #0] 804b932: b29a uxth r2, r3 804b934: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b938: 4413 add r3, r2 804b93a: b29a uxth r2, r3 804b93c: 4b34 ldr r3, [pc, #208] ; (804ba10 ) 804b93e: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804b940: 4b34 ldr r3, [pc, #208] ; (804ba14 ) 804b942: 681b ldr r3, [r3, #0] 804b944: b29b uxth r3, r3 804b946: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804b94a: fb12 f303 smulbb r3, r2, r3 804b94e: b29a uxth r2, r3 804b950: 4b2e ldr r3, [pc, #184] ; (804ba0c ) 804b952: 881b ldrh r3, [r3, #0] 804b954: b29b uxth r3, r3 804b956: 4413 add r3, r2 804b958: b29a uxth r2, r3 804b95a: 4b23 ldr r3, [pc, #140] ; (804b9e8 ) 804b95c: 801a strh r2, [r3, #0] AUTOZOOM = true; 804b95e: 4b20 ldr r3, [pc, #128] ; (804b9e0 ) 804b960: 2201 movs r2, #1 804b962: 701a strb r2, [r3, #0] } break; 804b964: e33b b.n 804bfde case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804b966: 4b21 ldr r3, [pc, #132] ; (804b9ec ) 804b968: 781b ldrb r3, [r3, #0] 804b96a: b2db uxtb r3, r3 804b96c: 461a mov r2, r3 804b96e: 4613 mov r3, r2 804b970: 009b lsls r3, r3, #2 804b972: 4413 add r3, r2 804b974: 4a1e ldr r2, [pc, #120] ; (804b9f0 ) 804b976: 79d2 ldrb r2, [r2, #7] 804b978: b2d2 uxtb r2, r2 804b97a: 4413 add r3, r2 804b97c: 4a1d ldr r2, [pc, #116] ; (804b9f4 ) 804b97e: 3323 adds r3, #35 ; 0x23 804b980: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b984: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804b988: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804b98c: 021b lsls r3, r3, #8 804b98e: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804b992: 4b17 ldr r3, [pc, #92] ; (804b9f0 ) 804b994: 79db ldrb r3, [r3, #7] 804b996: b2db uxtb r3, r3 804b998: 461a mov r2, r3 804b99a: 4b1f ldr r3, [pc, #124] ; (804ba18 ) 804b99c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804b9a0: 085b lsrs r3, r3, #1 804b9a2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804b9a6: 4b1a ldr r3, [pc, #104] ; (804ba10 ) 804b9a8: 881b ldrh r3, [r3, #0] 804b9aa: b29b uxth r3, r3 804b9ac: 461a mov r2, r3 804b9ae: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b9b2: 085b lsrs r3, r3, #1 804b9b4: b29b uxth r3, r3 804b9b6: 4413 add r3, r2 804b9b8: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804b9bc: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b9c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b9c4: 429a cmp r2, r3 804b9c6: d829 bhi.n 804ba1c X0 += (multB_u16 >> 1); 804b9c8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b9cc: 085b lsrs r3, r3, #1 804b9ce: b29a uxth r2, r3 804b9d0: 4b0e ldr r3, [pc, #56] ; (804ba0c ) 804b9d2: 881b ldrh r3, [r3, #0] 804b9d4: b29b uxth r3, r3 804b9d6: 4413 add r3, r2 804b9d8: b29a uxth r2, r3 804b9da: 4b0c ldr r3, [pc, #48] ; (804ba0c ) 804b9dc: 801a strh r2, [r3, #0] 804b9de: e026 b.n 804ba2e 804b9e0: 20020994 .word 0x20020994 804b9e4: 20020f8c .word 0x20020f8c 804b9e8: 20025d5e .word 0x20025d5e 804b9ec: 20020fb8 .word 0x20020fb8 804b9f0: 20023ea8 .word 0x20023ea8 804b9f4: 080f2b68 .word 0x080f2b68 804b9f8: 20020070 .word 0x20020070 804b9fc: 20021568 .word 0x20021568 804ba00: 20020fbd .word 0x20020fbd 804ba04: 20020071 .word 0x20020071 804ba08: 20025d62 .word 0x20025d62 804ba0c: 20025d66 .word 0x20025d66 804ba10: 20025d68 .word 0x20025d68 804ba14: 2002006c .word 0x2002006c 804ba18: 080f2bf4 .word 0x080f2bf4 else X0 = (uint16_t) (k - multB_u16); 804ba1c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804ba20: b29a uxth r2, r3 804ba22: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804ba26: 1ad3 subs r3, r2, r3 804ba28: b29a uxth r2, r3 804ba2a: 4b94 ldr r3, [pc, #592] ; (804bc7c ) 804ba2c: 801a strh r2, [r3, #0] lX = X0; 804ba2e: 4b93 ldr r3, [pc, #588] ; (804bc7c ) 804ba30: 881b ldrh r3, [r3, #0] 804ba32: b29a uxth r2, r3 804ba34: 4b92 ldr r3, [pc, #584] ; (804bc80 ) 804ba36: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804ba38: 4b91 ldr r3, [pc, #580] ; (804bc80 ) 804ba3a: 881b ldrh r3, [r3, #0] 804ba3c: b29a uxth r2, r3 804ba3e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804ba42: 4413 add r3, r2 804ba44: b29a uxth r2, r3 804ba46: 4b8f ldr r3, [pc, #572] ; (804bc84 ) 804ba48: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804ba4a: 4b8f ldr r3, [pc, #572] ; (804bc88 ) 804ba4c: 681b ldr r3, [r3, #0] 804ba4e: b29b uxth r3, r3 804ba50: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804ba54: fb12 f303 smulbb r3, r2, r3 804ba58: b29a uxth r2, r3 804ba5a: 4b88 ldr r3, [pc, #544] ; (804bc7c ) 804ba5c: 881b ldrh r3, [r3, #0] 804ba5e: b29b uxth r3, r3 804ba60: 4413 add r3, r2 804ba62: b29a uxth r2, r3 804ba64: 4b89 ldr r3, [pc, #548] ; (804bc8c ) 804ba66: 801a strh r2, [r3, #0] AUTOZOOM = true; 804ba68: 4b89 ldr r3, [pc, #548] ; (804bc90 ) 804ba6a: 2201 movs r2, #1 804ba6c: 701a strb r2, [r3, #0] break; 804ba6e: e2c0 b.n 804bff2 case ZoomIn: lvl_0 = 0; 804ba70: 2300 movs r3, #0 804ba72: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804ba76: 4b87 ldr r3, [pc, #540] ; (804bc94 ) 804ba78: 781b ldrb r3, [r3, #0] 804ba7a: b2db uxtb r3, r3 804ba7c: 461a mov r2, r3 804ba7e: 4613 mov r3, r2 804ba80: 009b lsls r3, r3, #2 804ba82: 4413 add r3, r2 804ba84: 4a84 ldr r2, [pc, #528] ; (804bc98 ) 804ba86: 79d2 ldrb r2, [r2, #7] 804ba88: b2d2 uxtb r2, r2 804ba8a: 4413 add r3, r2 804ba8c: 4a83 ldr r2, [pc, #524] ; (804bc9c ) 804ba8e: 3323 adds r3, #35 ; 0x23 804ba90: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ba94: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804ba98: 2304 movs r3, #4 804ba9a: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804ba9e: 4b7d ldr r3, [pc, #500] ; (804bc94 ) 804baa0: 781b ldrb r3, [r3, #0] 804baa2: b2db uxtb r3, r3 804baa4: b29b uxth r3, r3 804baa6: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804baaa: 429a cmp r2, r3 804baac: f240 829a bls.w 804bfe4 804bab0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bab4: 2b01 cmp r3, #1 804bab6: f240 8295 bls.w 804bfe4 { ViewLevel++; 804baba: 4b76 ldr r3, [pc, #472] ; (804bc94 ) 804babc: 781b ldrb r3, [r3, #0] 804babe: b2db uxtb r3, r3 804bac0: 3301 adds r3, #1 804bac2: b2da uxtb r2, r3 804bac4: 4b73 ldr r3, [pc, #460] ; (804bc94 ) 804bac6: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804bac8: 4b72 ldr r3, [pc, #456] ; (804bc94 ) 804baca: 781b ldrb r3, [r3, #0] 804bacc: b2db uxtb r3, r3 804bace: 461a mov r2, r3 804bad0: 4613 mov r3, r2 804bad2: 009b lsls r3, r3, #2 804bad4: 4413 add r3, r2 804bad6: 4a70 ldr r2, [pc, #448] ; (804bc98 ) 804bad8: 79d2 ldrb r2, [r2, #7] 804bada: b2d2 uxtb r2, r2 804badc: 4413 add r3, r2 804bade: 4a6f ldr r2, [pc, #444] ; (804bc9c ) 804bae0: 3323 adds r3, #35 ; 0x23 804bae2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bae6: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804baea: 4b68 ldr r3, [pc, #416] ; (804bc8c ) 804baec: 881b ldrh r3, [r3, #0] 804baee: b29a uxth r2, r3 804baf0: 4b65 ldr r3, [pc, #404] ; (804bc88 ) 804baf2: 681b ldr r3, [r3, #0] 804baf4: b29b uxth r3, r3 804baf6: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804bafa: fb11 f303 smulbb r3, r1, r3 804bafe: b29b uxth r3, r3 804bb00: 1ad3 subs r3, r2, r3 804bb02: b29a uxth r2, r3 804bb04: 4b5d ldr r3, [pc, #372] ; (804bc7c ) 804bb06: 801a strh r2, [r3, #0] lX = X0; 804bb08: 4b5c ldr r3, [pc, #368] ; (804bc7c ) 804bb0a: 881b ldrh r3, [r3, #0] 804bb0c: b29a uxth r2, r3 804bb0e: 4b5c ldr r3, [pc, #368] ; (804bc80 ) 804bb10: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804bb12: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bb16: 021b lsls r3, r3, #8 804bb18: b29a uxth r2, r3 804bb1a: 4b59 ldr r3, [pc, #356] ; (804bc80 ) 804bb1c: 881b ldrh r3, [r3, #0] 804bb1e: b29b uxth r3, r3 804bb20: 4413 add r3, r2 804bb22: b29a uxth r2, r3 804bb24: 4b57 ldr r3, [pc, #348] ; (804bc84 ) 804bb26: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804bb28: 4b5d ldr r3, [pc, #372] ; (804bca0 ) 804bb2a: 881b ldrh r3, [r3, #0] 804bb2c: b29b uxth r3, r3 804bb2e: 461a mov r2, r3 804bb30: 4b53 ldr r3, [pc, #332] ; (804bc80 ) 804bb32: 881b ldrh r3, [r3, #0] 804bb34: b29b uxth r3, r3 804bb36: 1ad2 subs r2, r2, r3 804bb38: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bb3c: fb92 f3f3 sdiv r3, r2, r3 804bb40: 461a mov r2, r3 804bb42: 4b51 ldr r3, [pc, #324] ; (804bc88 ) 804bb44: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804bb46: 4b50 ldr r3, [pc, #320] ; (804bc88 ) 804bb48: 681b ldr r3, [r3, #0] 804bb4a: b29b uxth r3, r3 804bb4c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bb50: fb12 f303 smulbb r3, r2, r3 804bb54: b29a uxth r2, r3 804bb56: 4b4a ldr r3, [pc, #296] ; (804bc80 ) 804bb58: 881b ldrh r3, [r3, #0] 804bb5a: b29b uxth r3, r3 804bb5c: 4413 add r3, r2 804bb5e: b29a uxth r2, r3 804bb60: 4b4a ldr r3, [pc, #296] ; (804bc8c ) 804bb62: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804bb64: 4b48 ldr r3, [pc, #288] ; (804bc88 ) 804bb66: 681b ldr r3, [r3, #0] 804bb68: 2b7f cmp r3, #127 ; 0x7f 804bb6a: d83b bhi.n 804bbe4 804bb6c: 4b43 ldr r3, [pc, #268] ; (804bc7c ) 804bb6e: 881b ldrh r3, [r3, #0] 804bb70: b29b uxth r3, r3 804bb72: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bb76: 429a cmp r2, r3 804bb78: d834 bhi.n 804bbe4 { if(lX >= dX) 804bb7a: 4b41 ldr r3, [pc, #260] ; (804bc80 ) 804bb7c: 881b ldrh r3, [r3, #0] 804bb7e: b29b uxth r3, r3 804bb80: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bb84: 429a cmp r2, r3 804bb86: d875 bhi.n 804bc74 { CURSOR++; 804bb88: 4b3f ldr r3, [pc, #252] ; (804bc88 ) 804bb8a: 681b ldr r3, [r3, #0] 804bb8c: 3301 adds r3, #1 804bb8e: 4a3e ldr r2, [pc, #248] ; (804bc88 ) 804bb90: 6013 str r3, [r2, #0] X0 -= dX; 804bb92: 4b3a ldr r3, [pc, #232] ; (804bc7c ) 804bb94: 881b ldrh r3, [r3, #0] 804bb96: b29a uxth r2, r3 804bb98: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bb9c: 1ad3 subs r3, r2, r3 804bb9e: b29a uxth r2, r3 804bba0: 4b36 ldr r3, [pc, #216] ; (804bc7c ) 804bba2: 801a strh r2, [r3, #0] lX = X0; 804bba4: 4b35 ldr r3, [pc, #212] ; (804bc7c ) 804bba6: 881b ldrh r3, [r3, #0] 804bba8: b29a uxth r2, r3 804bbaa: 4b35 ldr r3, [pc, #212] ; (804bc80 ) 804bbac: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804bbae: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bbb2: 021b lsls r3, r3, #8 804bbb4: b29a uxth r2, r3 804bbb6: 4b32 ldr r3, [pc, #200] ; (804bc80 ) 804bbb8: 881b ldrh r3, [r3, #0] 804bbba: b29b uxth r3, r3 804bbbc: 4413 add r3, r2 804bbbe: b29a uxth r2, r3 804bbc0: 4b30 ldr r3, [pc, #192] ; (804bc84 ) 804bbc2: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804bbc4: 4b36 ldr r3, [pc, #216] ; (804bca0 ) 804bbc6: 881b ldrh r3, [r3, #0] 804bbc8: b29b uxth r3, r3 804bbca: 461a mov r2, r3 804bbcc: 4b2c ldr r3, [pc, #176] ; (804bc80 ) 804bbce: 881b ldrh r3, [r3, #0] 804bbd0: b29b uxth r3, r3 804bbd2: 1ad2 subs r2, r2, r3 804bbd4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bbd8: fb92 f3f3 sdiv r3, r2, r3 804bbdc: 461a mov r2, r3 804bbde: 4b2a ldr r3, [pc, #168] ; (804bc88 ) 804bbe0: 601a str r2, [r3, #0] if(lX >= dX) 804bbe2: e047 b.n 804bc74 } } else if(CURSOR > (256 >> 1)) 804bbe4: 4b28 ldr r3, [pc, #160] ; (804bc88 ) 804bbe6: 681b ldr r3, [r3, #0] 804bbe8: 2b80 cmp r3, #128 ; 0x80 804bbea: d943 bls.n 804bc74 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804bbec: 4b25 ldr r3, [pc, #148] ; (804bc84 ) 804bbee: 881b ldrh r3, [r3, #0] 804bbf0: b29b uxth r3, r3 804bbf2: 461a mov r2, r3 804bbf4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bbf8: 18d1 adds r1, r2, r3 804bbfa: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804bbfe: 4613 mov r3, r2 804bc00: 009b lsls r3, r3, #2 804bc02: 4413 add r3, r2 804bc04: 4a24 ldr r2, [pc, #144] ; (804bc98 ) 804bc06: 79d2 ldrb r2, [r2, #7] 804bc08: b2d2 uxtb r2, r2 804bc0a: 4413 add r3, r2 804bc0c: 4a23 ldr r2, [pc, #140] ; (804bc9c ) 804bc0e: 3323 adds r3, #35 ; 0x23 804bc10: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bc14: 021b lsls r3, r3, #8 804bc16: 4299 cmp r1, r3 804bc18: dc2c bgt.n 804bc74 { CURSOR--; 804bc1a: 4b1b ldr r3, [pc, #108] ; (804bc88 ) 804bc1c: 681b ldr r3, [r3, #0] 804bc1e: 3b01 subs r3, #1 804bc20: 4a19 ldr r2, [pc, #100] ; (804bc88 ) 804bc22: 6013 str r3, [r2, #0] X0 += dX; 804bc24: 4b15 ldr r3, [pc, #84] ; (804bc7c ) 804bc26: 881b ldrh r3, [r3, #0] 804bc28: b29a uxth r2, r3 804bc2a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bc2e: 4413 add r3, r2 804bc30: b29a uxth r2, r3 804bc32: 4b12 ldr r3, [pc, #72] ; (804bc7c ) 804bc34: 801a strh r2, [r3, #0] lX = X0; 804bc36: 4b11 ldr r3, [pc, #68] ; (804bc7c ) 804bc38: 881b ldrh r3, [r3, #0] 804bc3a: b29a uxth r2, r3 804bc3c: 4b10 ldr r3, [pc, #64] ; (804bc80 ) 804bc3e: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804bc40: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bc44: 021b lsls r3, r3, #8 804bc46: b29a uxth r2, r3 804bc48: 4b0d ldr r3, [pc, #52] ; (804bc80 ) 804bc4a: 881b ldrh r3, [r3, #0] 804bc4c: b29b uxth r3, r3 804bc4e: 4413 add r3, r2 804bc50: b29a uxth r2, r3 804bc52: 4b0c ldr r3, [pc, #48] ; (804bc84 ) 804bc54: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804bc56: 4b12 ldr r3, [pc, #72] ; (804bca0 ) 804bc58: 881b ldrh r3, [r3, #0] 804bc5a: b29b uxth r3, r3 804bc5c: 461a mov r2, r3 804bc5e: 4b08 ldr r3, [pc, #32] ; (804bc80 ) 804bc60: 881b ldrh r3, [r3, #0] 804bc62: b29b uxth r3, r3 804bc64: 1ad2 subs r2, r2, r3 804bc66: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bc6a: fb92 f3f3 sdiv r3, r2, r3 804bc6e: 461a mov r2, r3 804bc70: 4b05 ldr r3, [pc, #20] ; (804bc88 ) 804bc72: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804bc74: 4b06 ldr r3, [pc, #24] ; (804bc90 ) 804bc76: 2201 movs r2, #1 804bc78: 701a strb r2, [r3, #0] } break; 804bc7a: e1b3 b.n 804bfe4 804bc7c: 20025d66 .word 0x20025d66 804bc80: 20025d62 .word 0x20025d62 804bc84: 20025d68 .word 0x20025d68 804bc88: 2002006c .word 0x2002006c 804bc8c: 20025d5e .word 0x20025d5e 804bc90: 20020994 .word 0x20020994 804bc94: 20020fb8 .word 0x20020fb8 804bc98: 20023ea8 .word 0x20023ea8 804bc9c: 080f2b68 .word 0x080f2b68 804bca0: 20025d64 .word 0x20025d64 case ZoomOut: lvl_0 = 0; 804bca4: 2300 movs r3, #0 804bca6: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804bcaa: 2304 movs r3, #4 804bcac: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804bcb0: 4b94 ldr r3, [pc, #592] ; (804bf04 ) 804bcb2: 781b ldrb r3, [r3, #0] 804bcb4: b2db uxtb r3, r3 804bcb6: 461a mov r2, r3 804bcb8: 4613 mov r3, r2 804bcba: 009b lsls r3, r3, #2 804bcbc: 4413 add r3, r2 804bcbe: 4a92 ldr r2, [pc, #584] ; (804bf08 ) 804bcc0: 79d2 ldrb r2, [r2, #7] 804bcc2: b2d2 uxtb r2, r2 804bcc4: 4413 add r3, r2 804bcc6: 4a91 ldr r2, [pc, #580] ; (804bf0c ) 804bcc8: 3323 adds r3, #35 ; 0x23 804bcca: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bcce: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804bcd2: 4b8c ldr r3, [pc, #560] ; (804bf04 ) 804bcd4: 781b ldrb r3, [r3, #0] 804bcd6: b2db uxtb r3, r3 804bcd8: 2b00 cmp r3, #0 804bcda: f000 8186 beq.w 804bfea { ViewLevel--; 804bcde: 4b89 ldr r3, [pc, #548] ; (804bf04 ) 804bce0: 781b ldrb r3, [r3, #0] 804bce2: b2db uxtb r3, r3 804bce4: 3b01 subs r3, #1 804bce6: b2da uxtb r2, r3 804bce8: 4b86 ldr r3, [pc, #536] ; (804bf04 ) 804bcea: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804bcec: 4b85 ldr r3, [pc, #532] ; (804bf04 ) 804bcee: 781b ldrb r3, [r3, #0] 804bcf0: b2db uxtb r3, r3 804bcf2: 461a mov r2, r3 804bcf4: 4613 mov r3, r2 804bcf6: 009b lsls r3, r3, #2 804bcf8: 4413 add r3, r2 804bcfa: 4a83 ldr r2, [pc, #524] ; (804bf08 ) 804bcfc: 79d2 ldrb r2, [r2, #7] 804bcfe: b2d2 uxtb r2, r2 804bd00: 4413 add r3, r2 804bd02: 4a82 ldr r2, [pc, #520] ; (804bf0c ) 804bd04: 3323 adds r3, #35 ; 0x23 804bd06: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bd0a: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804bd0e: 4b7d ldr r3, [pc, #500] ; (804bf04 ) 804bd10: 781b ldrb r3, [r3, #0] 804bd12: b2db uxtb r3, r3 804bd14: 2b00 cmp r3, #0 804bd16: d130 bne.n 804bd7a { X0 = lX = 0; 804bd18: 2100 movs r1, #0 804bd1a: 4b7d ldr r3, [pc, #500] ; (804bf10 ) 804bd1c: 460a mov r2, r1 804bd1e: 801a strh r2, [r3, #0] 804bd20: 4b7c ldr r3, [pc, #496] ; (804bf14 ) 804bd22: 460a mov r2, r1 804bd24: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804bd26: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bd2a: 021b lsls r3, r3, #8 804bd2c: b29a uxth r2, r3 804bd2e: 4b78 ldr r3, [pc, #480] ; (804bf10 ) 804bd30: 881b ldrh r3, [r3, #0] 804bd32: b29b uxth r3, r3 804bd34: 4413 add r3, r2 804bd36: b29a uxth r2, r3 804bd38: 4b77 ldr r3, [pc, #476] ; (804bf18 ) 804bd3a: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804bd3c: 4b77 ldr r3, [pc, #476] ; (804bf1c ) 804bd3e: 881b ldrh r3, [r3, #0] 804bd40: b29b uxth r3, r3 804bd42: 461a mov r2, r3 804bd44: 4b72 ldr r3, [pc, #456] ; (804bf10 ) 804bd46: 881b ldrh r3, [r3, #0] 804bd48: b29b uxth r3, r3 804bd4a: 1ad2 subs r2, r2, r3 804bd4c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bd50: fb92 f3f3 sdiv r3, r2, r3 804bd54: 461a mov r2, r3 804bd56: 4b72 ldr r3, [pc, #456] ; (804bf20 ) 804bd58: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804bd5a: 4b71 ldr r3, [pc, #452] ; (804bf20 ) 804bd5c: 681b ldr r3, [r3, #0] 804bd5e: b29b uxth r3, r3 804bd60: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bd64: fb12 f303 smulbb r3, r2, r3 804bd68: b29a uxth r2, r3 804bd6a: 4b6a ldr r3, [pc, #424] ; (804bf14 ) 804bd6c: 881b ldrh r3, [r3, #0] 804bd6e: b29b uxth r3, r3 804bd70: 4413 add r3, r2 804bd72: b29a uxth r2, r3 804bd74: 4b6b ldr r3, [pc, #428] ; (804bf24 ) 804bd76: 801a strh r2, [r3, #0] 804bd78: e090 b.n 804be9c } else { if(CURSOR * dX > Mpos) 804bd7a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bd7e: 4a68 ldr r2, [pc, #416] ; (804bf20 ) 804bd80: 6812 ldr r2, [r2, #0] 804bd82: fb02 f303 mul.w r3, r2, r3 804bd86: 4a67 ldr r2, [pc, #412] ; (804bf24 ) 804bd88: 8812 ldrh r2, [r2, #0] 804bd8a: b292 uxth r2, r2 804bd8c: 4293 cmp r3, r2 804bd8e: d91f bls.n 804bdd0 { while(CURSOR * dX > Mpos) 804bd90: e004 b.n 804bd9c CURSOR--; 804bd92: 4b63 ldr r3, [pc, #396] ; (804bf20 ) 804bd94: 681b ldr r3, [r3, #0] 804bd96: 3b01 subs r3, #1 804bd98: 4a61 ldr r2, [pc, #388] ; (804bf20 ) 804bd9a: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804bd9c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bda0: 4a5f ldr r2, [pc, #380] ; (804bf20 ) 804bda2: 6812 ldr r2, [r2, #0] 804bda4: fb02 f303 mul.w r3, r2, r3 804bda8: 4a5e ldr r2, [pc, #376] ; (804bf24 ) 804bdaa: 8812 ldrh r2, [r2, #0] 804bdac: b292 uxth r2, r2 804bdae: 4293 cmp r3, r2 804bdb0: d8ef bhi.n 804bd92 Mpos = X0 + CURSOR * dX; 804bdb2: 4b5b ldr r3, [pc, #364] ; (804bf20 ) 804bdb4: 681b ldr r3, [r3, #0] 804bdb6: b29b uxth r3, r3 804bdb8: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bdbc: fb12 f303 smulbb r3, r2, r3 804bdc0: b29a uxth r2, r3 804bdc2: 4b54 ldr r3, [pc, #336] ; (804bf14 ) 804bdc4: 881b ldrh r3, [r3, #0] 804bdc6: b29b uxth r3, r3 804bdc8: 4413 add r3, r2 804bdca: b29a uxth r2, r3 804bdcc: 4b55 ldr r3, [pc, #340] ; (804bf24 ) 804bdce: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804bdd0: 4b54 ldr r3, [pc, #336] ; (804bf24 ) 804bdd2: 881b ldrh r3, [r3, #0] 804bdd4: b29b uxth r3, r3 804bdd6: 4619 mov r1, r3 804bdd8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bddc: 4a50 ldr r2, [pc, #320] ; (804bf20 ) 804bdde: 6812 ldr r2, [r2, #0] 804bde0: fb02 f303 mul.w r3, r2, r3 804bde4: 1acb subs r3, r1, r3 804bde6: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804bdea: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bdee: 021b lsls r3, r3, #8 804bdf0: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804bdf4: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804bdf8: 4613 mov r3, r2 804bdfa: 009b lsls r3, r3, #2 804bdfc: 4413 add r3, r2 804bdfe: 4a42 ldr r2, [pc, #264] ; (804bf08 ) 804be00: 79d2 ldrb r2, [r2, #7] 804be02: b2d2 uxtb r2, r2 804be04: 4413 add r3, r2 804be06: 4a41 ldr r2, [pc, #260] ; (804bf0c ) 804be08: 3323 adds r3, #35 ; 0x23 804be0a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804be0e: 021b lsls r3, r3, #8 804be10: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804be14: e006 b.n 804be24 i -= dXold; 804be16: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804be1a: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804be1e: 1ad3 subs r3, r2, r3 804be20: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804be24: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804be28: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804be2c: 441a add r2, r3 804be2e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804be32: 429a cmp r2, r3 804be34: d8ef bhi.n 804be16 } X0 = (uint16_t) i; 804be36: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804be3a: b29a uxth r2, r3 804be3c: 4b35 ldr r3, [pc, #212] ; (804bf14 ) 804be3e: 801a strh r2, [r3, #0] lX = X0; 804be40: 4b34 ldr r3, [pc, #208] ; (804bf14 ) 804be42: 881b ldrh r3, [r3, #0] 804be44: b29a uxth r2, r3 804be46: 4b32 ldr r3, [pc, #200] ; (804bf10 ) 804be48: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804be4a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804be4e: 021b lsls r3, r3, #8 804be50: b29a uxth r2, r3 804be52: 4b2f ldr r3, [pc, #188] ; (804bf10 ) 804be54: 881b ldrh r3, [r3, #0] 804be56: b29b uxth r3, r3 804be58: 4413 add r3, r2 804be5a: b29a uxth r2, r3 804be5c: 4b2e ldr r3, [pc, #184] ; (804bf18 ) 804be5e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804be60: 4b2e ldr r3, [pc, #184] ; (804bf1c ) 804be62: 881b ldrh r3, [r3, #0] 804be64: b29b uxth r3, r3 804be66: 461a mov r2, r3 804be68: 4b29 ldr r3, [pc, #164] ; (804bf10 ) 804be6a: 881b ldrh r3, [r3, #0] 804be6c: b29b uxth r3, r3 804be6e: 1ad2 subs r2, r2, r3 804be70: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804be74: fb92 f3f3 sdiv r3, r2, r3 804be78: 461a mov r2, r3 804be7a: 4b29 ldr r3, [pc, #164] ; (804bf20 ) 804be7c: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804be7e: 4b28 ldr r3, [pc, #160] ; (804bf20 ) 804be80: 681b ldr r3, [r3, #0] 804be82: b29b uxth r3, r3 804be84: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804be88: fb12 f303 smulbb r3, r2, r3 804be8c: b29a uxth r2, r3 804be8e: 4b21 ldr r3, [pc, #132] ; (804bf14 ) 804be90: 881b ldrh r3, [r3, #0] 804be92: b29b uxth r3, r3 804be94: 4413 add r3, r2 804be96: b29a uxth r2, r3 804be98: 4b22 ldr r3, [pc, #136] ; (804bf24 ) 804be9a: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804be9c: 4b22 ldr r3, [pc, #136] ; (804bf28 ) 804be9e: 2201 movs r2, #1 804bea0: 701a strb r2, [r3, #0] } break; 804bea2: e0a2 b.n 804bfea case Cursor: AUTOZOOM = true; 804bea4: 4b20 ldr r3, [pc, #128] ; (804bf28 ) 804bea6: 2201 movs r2, #1 804bea8: 701a strb r2, [r3, #0] if((DynamicCursor[0].Mpos >= Mpos) && (DynamicCursor[0].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804beaa: 4b20 ldr r3, [pc, #128] ; (804bf2c ) 804beac: 889a ldrh r2, [r3, #4] 804beae: 4b1d ldr r3, [pc, #116] ; (804bf24 ) 804beb0: 881b ldrh r3, [r3, #0] 804beb2: b29b uxth r3, r3 804beb4: 429a cmp r2, r3 804beb6: d33b bcc.n 804bf30 804beb8: 4b1c ldr r3, [pc, #112] ; (804bf2c ) 804beba: 889b ldrh r3, [r3, #4] 804bebc: 4619 mov r1, r3 804bebe: 4b19 ldr r3, [pc, #100] ; (804bf24 ) 804bec0: 881b ldrh r3, [r3, #0] 804bec2: b29b uxth r3, r3 804bec4: 4618 mov r0, r3 804bec6: 4b0f ldr r3, [pc, #60] ; (804bf04 ) 804bec8: 781b ldrb r3, [r3, #0] 804beca: b2db uxtb r3, r3 804becc: 461a mov r2, r3 804bece: 4613 mov r3, r2 804bed0: 009b lsls r3, r3, #2 804bed2: 4413 add r3, r2 804bed4: 4a0c ldr r2, [pc, #48] ; (804bf08 ) 804bed6: 79d2 ldrb r2, [r2, #7] 804bed8: b2d2 uxtb r2, r2 804beda: 4413 add r3, r2 804bedc: 4a0b ldr r2, [pc, #44] ; (804bf0c ) 804bede: 3323 adds r3, #35 ; 0x23 804bee0: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bee4: 4403 add r3, r0 804bee6: 4299 cmp r1, r3 804bee8: da22 bge.n 804bf30 { if(DynamicCursor[0].Enabled) 804beea: 4b10 ldr r3, [pc, #64] ; (804bf2c ) 804beec: 781b ldrb r3, [r3, #0] 804beee: 2b00 cmp r3, #0 804bef0: d074 beq.n 804bfdc { DynamicCursor[0].Enabled = false; 804bef2: 4b0e ldr r3, [pc, #56] ; (804bf2c ) 804bef4: 2200 movs r2, #0 804bef6: 701a strb r2, [r3, #0] DynamicCursor[0].Mpos = 0xffff; 804bef8: 4b0c ldr r3, [pc, #48] ; (804bf2c ) 804befa: f64f 72ff movw r2, #65535 ; 0xffff 804befe: 809a strh r2, [r3, #4] if(DynamicCursor[0].Enabled) 804bf00: e06c b.n 804bfdc 804bf02: bf00 nop 804bf04: 20020fb8 .word 0x20020fb8 804bf08: 20023ea8 .word 0x20023ea8 804bf0c: 080f2b68 .word 0x080f2b68 804bf10: 20025d62 .word 0x20025d62 804bf14: 20025d66 .word 0x20025d66 804bf18: 20025d68 .word 0x20025d68 804bf1c: 20025d64 .word 0x20025d64 804bf20: 2002006c .word 0x2002006c 804bf24: 20025d5e .word 0x20025d5e 804bf28: 20020994 .word 0x20020994 804bf2c: 20020f8c .word 0x20020f8c } } else if((DynamicCursor[1].Mpos >= Mpos) && (DynamicCursor[1].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804bf30: 4b9b ldr r3, [pc, #620] ; (804c1a0 ) 804bf32: 8a9a ldrh r2, [r3, #20] 804bf34: 4b9b ldr r3, [pc, #620] ; (804c1a4 ) 804bf36: 881b ldrh r3, [r3, #0] 804bf38: b29b uxth r3, r3 804bf3a: 429a cmp r2, r3 804bf3c: d324 bcc.n 804bf88 804bf3e: 4b98 ldr r3, [pc, #608] ; (804c1a0 ) 804bf40: 8a9b ldrh r3, [r3, #20] 804bf42: 4619 mov r1, r3 804bf44: 4b97 ldr r3, [pc, #604] ; (804c1a4 ) 804bf46: 881b ldrh r3, [r3, #0] 804bf48: b29b uxth r3, r3 804bf4a: 4618 mov r0, r3 804bf4c: 4b96 ldr r3, [pc, #600] ; (804c1a8 ) 804bf4e: 781b ldrb r3, [r3, #0] 804bf50: b2db uxtb r3, r3 804bf52: 461a mov r2, r3 804bf54: 4613 mov r3, r2 804bf56: 009b lsls r3, r3, #2 804bf58: 4413 add r3, r2 804bf5a: 4a94 ldr r2, [pc, #592] ; (804c1ac ) 804bf5c: 79d2 ldrb r2, [r2, #7] 804bf5e: b2d2 uxtb r2, r2 804bf60: 4413 add r3, r2 804bf62: 4a93 ldr r2, [pc, #588] ; (804c1b0 ) 804bf64: 3323 adds r3, #35 ; 0x23 804bf66: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bf6a: 4403 add r3, r0 804bf6c: 4299 cmp r1, r3 804bf6e: da0b bge.n 804bf88 { if(DynamicCursor[1].Enabled) 804bf70: 4b8b ldr r3, [pc, #556] ; (804c1a0 ) 804bf72: 7c1b ldrb r3, [r3, #16] 804bf74: 2b00 cmp r3, #0 804bf76: d031 beq.n 804bfdc { DynamicCursor[1].Enabled = false; 804bf78: 4b89 ldr r3, [pc, #548] ; (804c1a0 ) 804bf7a: 2200 movs r2, #0 804bf7c: 741a strb r2, [r3, #16] DynamicCursor[1].Mpos = 0xffff; 804bf7e: 4b88 ldr r3, [pc, #544] ; (804c1a0 ) 804bf80: f64f 72ff movw r2, #65535 ; 0xffff 804bf84: 829a strh r2, [r3, #20] if(DynamicCursor[1].Enabled) 804bf86: e029 b.n 804bfdc } } else { if(!DynamicCursor[0].Enabled) 804bf88: 4b85 ldr r3, [pc, #532] ; (804c1a0 ) 804bf8a: 781b ldrb r3, [r3, #0] 804bf8c: f083 0301 eor.w r3, r3, #1 804bf90: b2db uxtb r3, r3 804bf92: 2b00 cmp r3, #0 804bf94: d00d beq.n 804bfb2 { DynamicCursor[0].Mpos = Mpos; 804bf96: 4b83 ldr r3, [pc, #524] ; (804c1a4 ) 804bf98: 881b ldrh r3, [r3, #0] 804bf9a: b29a uxth r2, r3 804bf9c: 4b80 ldr r3, [pc, #512] ; (804c1a0 ) 804bf9e: 809a strh r2, [r3, #4] DynamicCursor[0].fineMpos = Mpos; 804bfa0: 4b80 ldr r3, [pc, #512] ; (804c1a4 ) 804bfa2: 881b ldrh r3, [r3, #0] 804bfa4: b29a uxth r2, r3 804bfa6: 4b7e ldr r3, [pc, #504] ; (804c1a0 ) 804bfa8: 80da strh r2, [r3, #6] DynamicCursor[0].Enabled = true; 804bfaa: 4b7d ldr r3, [pc, #500] ; (804c1a0 ) 804bfac: 2201 movs r2, #1 804bfae: 701a strb r2, [r3, #0] DynamicCursor[1].Mpos = Mpos; DynamicCursor[1].fineMpos = Mpos; DynamicCursor[1].Enabled = true; } } break; 804bfb0: e01e b.n 804bff0 if(!DynamicCursor[1].Enabled) 804bfb2: 4b7b ldr r3, [pc, #492] ; (804c1a0 ) 804bfb4: 7c1b ldrb r3, [r3, #16] 804bfb6: f083 0301 eor.w r3, r3, #1 804bfba: b2db uxtb r3, r3 804bfbc: 2b00 cmp r3, #0 804bfbe: d017 beq.n 804bff0 DynamicCursor[1].Mpos = Mpos; 804bfc0: 4b78 ldr r3, [pc, #480] ; (804c1a4 ) 804bfc2: 881b ldrh r3, [r3, #0] 804bfc4: b29a uxth r2, r3 804bfc6: 4b76 ldr r3, [pc, #472] ; (804c1a0 ) 804bfc8: 829a strh r2, [r3, #20] DynamicCursor[1].fineMpos = Mpos; 804bfca: 4b76 ldr r3, [pc, #472] ; (804c1a4 ) 804bfcc: 881b ldrh r3, [r3, #0] 804bfce: b29a uxth r2, r3 804bfd0: 4b73 ldr r3, [pc, #460] ; (804c1a0 ) 804bfd2: 82da strh r2, [r3, #22] DynamicCursor[1].Enabled = true; 804bfd4: 4b72 ldr r3, [pc, #456] ; (804c1a0 ) 804bfd6: 2201 movs r2, #1 804bfd8: 741a strb r2, [r3, #16] break; 804bfda: e009 b.n 804bff0 804bfdc: e008 b.n 804bff0 break; 804bfde: bf00 nop 804bfe0: f007 bd7f b.w 8053ae2 break; 804bfe4: bf00 nop 804bfe6: f007 bd7c b.w 8053ae2 break; 804bfea: bf00 nop 804bfec: f007 bd79 b.w 8053ae2 break; 804bff0: bf00 nop } break; 804bff2: f007 bd76 b.w 8053ae2 case MAIN_ROLL: switch(menupos) 804bff6: 4b6f ldr r3, [pc, #444] ; (804c1b4 ) 804bff8: 781b ldrb r3, [r3, #0] 804bffa: b2db uxtb r3, r3 804bffc: 2b08 cmp r3, #8 804bffe: f207 8572 bhi.w 8053ae6 804c002: a201 add r2, pc, #4 ; (adr r2, 804c008 ) 804c004: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804c008: 0804c02d .word 0x0804c02d 804c00c: 08053ae7 .word 0x08053ae7 804c010: 0804c07d .word 0x0804c07d 804c014: 0804c235 .word 0x0804c235 804c018: 0804c469 .word 0x0804c469 804c01c: 0804c127 .word 0x0804c127 804c020: 0804c669 .word 0x0804c669 804c024: 08053ae7 .word 0x08053ae7 804c028: 0804c7a3 .word 0x0804c7a3 { case StartStop: if(!measuring) 804c02c: 4b62 ldr r3, [pc, #392] ; (804c1b8 ) 804c02e: 781b ldrb r3, [r3, #0] 804c030: b2db uxtb r3, r3 804c032: f083 0301 eor.w r3, r3, #1 804c036: b2db uxtb r3, r3 804c038: 2b00 cmp r3, #0 804c03a: d014 beq.n 804c066 { AUTOZOOM = true; 804c03c: 4b5f ldr r3, [pc, #380] ; (804c1bc ) 804c03e: 2201 movs r2, #1 804c040: 701a strb r2, [r3, #0] FIRST = true; 804c042: 4b5f ldr r3, [pc, #380] ; (804c1c0 ) 804c044: 2201 movs r2, #1 804c046: 701a strb r2, [r3, #0] if(FirstStart) 804c048: 4b5e ldr r3, [pc, #376] ; (804c1c4 ) 804c04a: 781b ldrb r3, [r3, #0] 804c04c: b2db uxtb r3, r3 804c04e: 2b00 cmp r3, #0 804c050: d004 beq.n 804c05c { FirstStart = false; 804c052: 4b5c ldr r3, [pc, #368] ; (804c1c4 ) 804c054: 2200 movs r2, #0 804c056: 701a strb r2, [r3, #0] initAmplif(); 804c058: f7d5 fd1c bl 8021a94 } RefreshGraf(); 804c05c: f007 fdb0 bl 8053bc0 StartMeas(); 804c060: f7d6 ffec bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804c064: e3b3 b.n 804c7ce StopMeas(); 804c066: f7d7 fb99 bl 802379c AUTOZOOM = true; 804c06a: 4b54 ldr r3, [pc, #336] ; (804c1bc ) 804c06c: 2201 movs r2, #1 804c06e: 701a strb r2, [r3, #0] oldmenupos = menupos; 804c070: 4b50 ldr r3, [pc, #320] ; (804c1b4 ) 804c072: 781b ldrb r3, [r3, #0] 804c074: b2da uxtb r2, r3 804c076: 4b54 ldr r3, [pc, #336] ; (804c1c8 ) 804c078: 701a strb r2, [r3, #0] break; 804c07a: e3a8 b.n 804c7ce case ImageLeft: if(lX) 804c07c: 4b53 ldr r3, [pc, #332] ; (804c1cc ) 804c07e: 881b ldrh r3, [r3, #0] 804c080: b29b uxth r3, r3 804c082: 2b00 cmp r3, #0 804c084: f000 8399 beq.w 804c7ba { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804c088: 4b47 ldr r3, [pc, #284] ; (804c1a8 ) 804c08a: 781b ldrb r3, [r3, #0] 804c08c: b2db uxtb r3, r3 804c08e: 461a mov r2, r3 804c090: 4613 mov r3, r2 804c092: 009b lsls r3, r3, #2 804c094: 4413 add r3, r2 804c096: 4a45 ldr r2, [pc, #276] ; (804c1ac ) 804c098: 79d2 ldrb r2, [r2, #7] 804c09a: b2d2 uxtb r2, r2 804c09c: 4413 add r3, r2 804c09e: 4a44 ldr r2, [pc, #272] ; (804c1b0 ) 804c0a0: 3323 adds r3, #35 ; 0x23 804c0a2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c0a6: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804c0aa: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804c0ae: 021b lsls r3, r3, #8 804c0b0: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804c0b4: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c0b8: 085b lsrs r3, r3, #1 804c0ba: b29a uxth r2, r3 804c0bc: 4b43 ldr r3, [pc, #268] ; (804c1cc ) 804c0be: 881b ldrh r3, [r3, #0] 804c0c0: b29b uxth r3, r3 804c0c2: 429a cmp r2, r3 804c0c4: d80b bhi.n 804c0de X0 -= (multB_u16 >> 1); 804c0c6: 4b42 ldr r3, [pc, #264] ; (804c1d0 ) 804c0c8: 881b ldrh r3, [r3, #0] 804c0ca: b29a uxth r2, r3 804c0cc: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c0d0: 085b lsrs r3, r3, #1 804c0d2: b29b uxth r3, r3 804c0d4: 1ad3 subs r3, r2, r3 804c0d6: b29a uxth r2, r3 804c0d8: 4b3d ldr r3, [pc, #244] ; (804c1d0 ) 804c0da: 801a strh r2, [r3, #0] 804c0dc: e002 b.n 804c0e4 else X0 = 0; 804c0de: 4b3c ldr r3, [pc, #240] ; (804c1d0 ) 804c0e0: 2200 movs r2, #0 804c0e2: 801a strh r2, [r3, #0] lX = X0; 804c0e4: 4b3a ldr r3, [pc, #232] ; (804c1d0 ) 804c0e6: 881b ldrh r3, [r3, #0] 804c0e8: b29a uxth r2, r3 804c0ea: 4b38 ldr r3, [pc, #224] ; (804c1cc ) 804c0ec: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804c0ee: 4b37 ldr r3, [pc, #220] ; (804c1cc ) 804c0f0: 881b ldrh r3, [r3, #0] 804c0f2: b29a uxth r2, r3 804c0f4: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c0f8: 4413 add r3, r2 804c0fa: b29a uxth r2, r3 804c0fc: 4b35 ldr r3, [pc, #212] ; (804c1d4 ) 804c0fe: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804c100: 4b35 ldr r3, [pc, #212] ; (804c1d8 ) 804c102: 681b ldr r3, [r3, #0] 804c104: b29b uxth r3, r3 804c106: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804c10a: fb12 f303 smulbb r3, r2, r3 804c10e: b29a uxth r2, r3 804c110: 4b2f ldr r3, [pc, #188] ; (804c1d0 ) 804c112: 881b ldrh r3, [r3, #0] 804c114: b29b uxth r3, r3 804c116: 4413 add r3, r2 804c118: b29a uxth r2, r3 804c11a: 4b22 ldr r3, [pc, #136] ; (804c1a4 ) 804c11c: 801a strh r2, [r3, #0] AUTOZOOM = true; 804c11e: 4b27 ldr r3, [pc, #156] ; (804c1bc ) 804c120: 2201 movs r2, #1 804c122: 701a strb r2, [r3, #0] } break; 804c124: e349 b.n 804c7ba case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804c126: 4b20 ldr r3, [pc, #128] ; (804c1a8 ) 804c128: 781b ldrb r3, [r3, #0] 804c12a: b2db uxtb r3, r3 804c12c: 461a mov r2, r3 804c12e: 4613 mov r3, r2 804c130: 009b lsls r3, r3, #2 804c132: 4413 add r3, r2 804c134: 4a1d ldr r2, [pc, #116] ; (804c1ac ) 804c136: 79d2 ldrb r2, [r2, #7] 804c138: b2d2 uxtb r2, r2 804c13a: 4413 add r3, r2 804c13c: 4a1c ldr r2, [pc, #112] ; (804c1b0 ) 804c13e: 3323 adds r3, #35 ; 0x23 804c140: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c144: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804c148: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804c14c: 021b lsls r3, r3, #8 804c14e: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804c152: 4b16 ldr r3, [pc, #88] ; (804c1ac ) 804c154: 79db ldrb r3, [r3, #7] 804c156: b2db uxtb r3, r3 804c158: 461a mov r2, r3 804c15a: 4b20 ldr r3, [pc, #128] ; (804c1dc ) 804c15c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804c160: 085b lsrs r3, r3, #1 804c162: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804c166: 4b1b ldr r3, [pc, #108] ; (804c1d4 ) 804c168: 881b ldrh r3, [r3, #0] 804c16a: b29b uxth r3, r3 804c16c: 461a mov r2, r3 804c16e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c172: 085b lsrs r3, r3, #1 804c174: b29b uxth r3, r3 804c176: 4413 add r3, r2 804c178: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804c17c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c180: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c184: 429a cmp r2, r3 804c186: d82b bhi.n 804c1e0 X0 += (multB_u16 >> 1); 804c188: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c18c: 085b lsrs r3, r3, #1 804c18e: b29a uxth r2, r3 804c190: 4b0f ldr r3, [pc, #60] ; (804c1d0 ) 804c192: 881b ldrh r3, [r3, #0] 804c194: b29b uxth r3, r3 804c196: 4413 add r3, r2 804c198: b29a uxth r2, r3 804c19a: 4b0d ldr r3, [pc, #52] ; (804c1d0 ) 804c19c: 801a strh r2, [r3, #0] 804c19e: e028 b.n 804c1f2 804c1a0: 20020f8c .word 0x20020f8c 804c1a4: 20025d5e .word 0x20025d5e 804c1a8: 20020fb8 .word 0x20020fb8 804c1ac: 20023ea8 .word 0x20023ea8 804c1b0: 080f2b68 .word 0x080f2b68 804c1b4: 20020070 .word 0x20020070 804c1b8: 20020dcf .word 0x20020dcf 804c1bc: 20020994 .word 0x20020994 804c1c0: 20020dd2 .word 0x20020dd2 804c1c4: 20020068 .word 0x20020068 804c1c8: 20020fbf .word 0x20020fbf 804c1cc: 20025d62 .word 0x20025d62 804c1d0: 20025d66 .word 0x20025d66 804c1d4: 20025d68 .word 0x20025d68 804c1d8: 2002006c .word 0x2002006c 804c1dc: 080f2bf4 .word 0x080f2bf4 else X0 = (uint16_t) (k - multB_u16); 804c1e0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c1e4: b29a uxth r2, r3 804c1e6: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c1ea: 1ad3 subs r3, r2, r3 804c1ec: b29a uxth r2, r3 804c1ee: 4b94 ldr r3, [pc, #592] ; (804c440 ) 804c1f0: 801a strh r2, [r3, #0] lX = X0; 804c1f2: 4b93 ldr r3, [pc, #588] ; (804c440 ) 804c1f4: 881b ldrh r3, [r3, #0] 804c1f6: b29a uxth r2, r3 804c1f8: 4b92 ldr r3, [pc, #584] ; (804c444 ) 804c1fa: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804c1fc: 4b91 ldr r3, [pc, #580] ; (804c444 ) 804c1fe: 881b ldrh r3, [r3, #0] 804c200: b29a uxth r2, r3 804c202: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c206: 4413 add r3, r2 804c208: b29a uxth r2, r3 804c20a: 4b8f ldr r3, [pc, #572] ; (804c448 ) 804c20c: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804c20e: 4b8f ldr r3, [pc, #572] ; (804c44c ) 804c210: 681b ldr r3, [r3, #0] 804c212: b29b uxth r3, r3 804c214: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804c218: fb12 f303 smulbb r3, r2, r3 804c21c: b29a uxth r2, r3 804c21e: 4b88 ldr r3, [pc, #544] ; (804c440 ) 804c220: 881b ldrh r3, [r3, #0] 804c222: b29b uxth r3, r3 804c224: 4413 add r3, r2 804c226: b29a uxth r2, r3 804c228: 4b89 ldr r3, [pc, #548] ; (804c450 ) 804c22a: 801a strh r2, [r3, #0] AUTOZOOM = true; 804c22c: 4b89 ldr r3, [pc, #548] ; (804c454 ) 804c22e: 2201 movs r2, #1 804c230: 701a strb r2, [r3, #0] break; 804c232: e2cc b.n 804c7ce case ZoomIn: lvl_0 = 0; 804c234: 2300 movs r3, #0 804c236: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804c23a: 4b87 ldr r3, [pc, #540] ; (804c458 ) 804c23c: 781b ldrb r3, [r3, #0] 804c23e: b2db uxtb r3, r3 804c240: 461a mov r2, r3 804c242: 4613 mov r3, r2 804c244: 009b lsls r3, r3, #2 804c246: 4413 add r3, r2 804c248: 4a84 ldr r2, [pc, #528] ; (804c45c ) 804c24a: 79d2 ldrb r2, [r2, #7] 804c24c: b2d2 uxtb r2, r2 804c24e: 4413 add r3, r2 804c250: 4a83 ldr r2, [pc, #524] ; (804c460 ) 804c252: 3323 adds r3, #35 ; 0x23 804c254: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c258: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804c25c: 2304 movs r3, #4 804c25e: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804c262: 4b7d ldr r3, [pc, #500] ; (804c458 ) 804c264: 781b ldrb r3, [r3, #0] 804c266: b2db uxtb r3, r3 804c268: b29b uxth r3, r3 804c26a: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804c26e: 429a cmp r2, r3 804c270: f240 82a6 bls.w 804c7c0 804c274: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c278: 2b01 cmp r3, #1 804c27a: f240 82a1 bls.w 804c7c0 { ViewLevel++; 804c27e: 4b76 ldr r3, [pc, #472] ; (804c458 ) 804c280: 781b ldrb r3, [r3, #0] 804c282: b2db uxtb r3, r3 804c284: 3301 adds r3, #1 804c286: b2da uxtb r2, r3 804c288: 4b73 ldr r3, [pc, #460] ; (804c458 ) 804c28a: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804c28c: 4b72 ldr r3, [pc, #456] ; (804c458 ) 804c28e: 781b ldrb r3, [r3, #0] 804c290: b2db uxtb r3, r3 804c292: 461a mov r2, r3 804c294: 4613 mov r3, r2 804c296: 009b lsls r3, r3, #2 804c298: 4413 add r3, r2 804c29a: 4a70 ldr r2, [pc, #448] ; (804c45c ) 804c29c: 79d2 ldrb r2, [r2, #7] 804c29e: b2d2 uxtb r2, r2 804c2a0: 4413 add r3, r2 804c2a2: 4a6f ldr r2, [pc, #444] ; (804c460 ) 804c2a4: 3323 adds r3, #35 ; 0x23 804c2a6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c2aa: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804c2ae: 4b68 ldr r3, [pc, #416] ; (804c450 ) 804c2b0: 881b ldrh r3, [r3, #0] 804c2b2: b29a uxth r2, r3 804c2b4: 4b65 ldr r3, [pc, #404] ; (804c44c ) 804c2b6: 681b ldr r3, [r3, #0] 804c2b8: b29b uxth r3, r3 804c2ba: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804c2be: fb11 f303 smulbb r3, r1, r3 804c2c2: b29b uxth r3, r3 804c2c4: 1ad3 subs r3, r2, r3 804c2c6: b29a uxth r2, r3 804c2c8: 4b5d ldr r3, [pc, #372] ; (804c440 ) 804c2ca: 801a strh r2, [r3, #0] lX = X0; 804c2cc: 4b5c ldr r3, [pc, #368] ; (804c440 ) 804c2ce: 881b ldrh r3, [r3, #0] 804c2d0: b29a uxth r2, r3 804c2d2: 4b5c ldr r3, [pc, #368] ; (804c444 ) 804c2d4: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c2d6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c2da: 021b lsls r3, r3, #8 804c2dc: b29a uxth r2, r3 804c2de: 4b59 ldr r3, [pc, #356] ; (804c444 ) 804c2e0: 881b ldrh r3, [r3, #0] 804c2e2: b29b uxth r3, r3 804c2e4: 4413 add r3, r2 804c2e6: b29a uxth r2, r3 804c2e8: 4b57 ldr r3, [pc, #348] ; (804c448 ) 804c2ea: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c2ec: 4b5d ldr r3, [pc, #372] ; (804c464 ) 804c2ee: 881b ldrh r3, [r3, #0] 804c2f0: b29b uxth r3, r3 804c2f2: 461a mov r2, r3 804c2f4: 4b53 ldr r3, [pc, #332] ; (804c444 ) 804c2f6: 881b ldrh r3, [r3, #0] 804c2f8: b29b uxth r3, r3 804c2fa: 1ad2 subs r2, r2, r3 804c2fc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c300: fb92 f3f3 sdiv r3, r2, r3 804c304: 461a mov r2, r3 804c306: 4b51 ldr r3, [pc, #324] ; (804c44c ) 804c308: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804c30a: 4b50 ldr r3, [pc, #320] ; (804c44c ) 804c30c: 681b ldr r3, [r3, #0] 804c30e: b29b uxth r3, r3 804c310: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c314: fb12 f303 smulbb r3, r2, r3 804c318: b29a uxth r2, r3 804c31a: 4b4a ldr r3, [pc, #296] ; (804c444 ) 804c31c: 881b ldrh r3, [r3, #0] 804c31e: b29b uxth r3, r3 804c320: 4413 add r3, r2 804c322: b29a uxth r2, r3 804c324: 4b4a ldr r3, [pc, #296] ; (804c450 ) 804c326: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804c328: 4b48 ldr r3, [pc, #288] ; (804c44c ) 804c32a: 681b ldr r3, [r3, #0] 804c32c: 2b7f cmp r3, #127 ; 0x7f 804c32e: d83b bhi.n 804c3a8 804c330: 4b43 ldr r3, [pc, #268] ; (804c440 ) 804c332: 881b ldrh r3, [r3, #0] 804c334: b29b uxth r3, r3 804c336: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c33a: 429a cmp r2, r3 804c33c: d834 bhi.n 804c3a8 { if(lX >= dX) 804c33e: 4b41 ldr r3, [pc, #260] ; (804c444 ) 804c340: 881b ldrh r3, [r3, #0] 804c342: b29b uxth r3, r3 804c344: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c348: 429a cmp r2, r3 804c34a: d875 bhi.n 804c438 { CURSOR++; 804c34c: 4b3f ldr r3, [pc, #252] ; (804c44c ) 804c34e: 681b ldr r3, [r3, #0] 804c350: 3301 adds r3, #1 804c352: 4a3e ldr r2, [pc, #248] ; (804c44c ) 804c354: 6013 str r3, [r2, #0] X0 -= dX; 804c356: 4b3a ldr r3, [pc, #232] ; (804c440 ) 804c358: 881b ldrh r3, [r3, #0] 804c35a: b29a uxth r2, r3 804c35c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c360: 1ad3 subs r3, r2, r3 804c362: b29a uxth r2, r3 804c364: 4b36 ldr r3, [pc, #216] ; (804c440 ) 804c366: 801a strh r2, [r3, #0] lX = X0; 804c368: 4b35 ldr r3, [pc, #212] ; (804c440 ) 804c36a: 881b ldrh r3, [r3, #0] 804c36c: b29a uxth r2, r3 804c36e: 4b35 ldr r3, [pc, #212] ; (804c444 ) 804c370: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c372: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c376: 021b lsls r3, r3, #8 804c378: b29a uxth r2, r3 804c37a: 4b32 ldr r3, [pc, #200] ; (804c444 ) 804c37c: 881b ldrh r3, [r3, #0] 804c37e: b29b uxth r3, r3 804c380: 4413 add r3, r2 804c382: b29a uxth r2, r3 804c384: 4b30 ldr r3, [pc, #192] ; (804c448 ) 804c386: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c388: 4b36 ldr r3, [pc, #216] ; (804c464 ) 804c38a: 881b ldrh r3, [r3, #0] 804c38c: b29b uxth r3, r3 804c38e: 461a mov r2, r3 804c390: 4b2c ldr r3, [pc, #176] ; (804c444 ) 804c392: 881b ldrh r3, [r3, #0] 804c394: b29b uxth r3, r3 804c396: 1ad2 subs r2, r2, r3 804c398: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c39c: fb92 f3f3 sdiv r3, r2, r3 804c3a0: 461a mov r2, r3 804c3a2: 4b2a ldr r3, [pc, #168] ; (804c44c ) 804c3a4: 601a str r2, [r3, #0] if(lX >= dX) 804c3a6: e047 b.n 804c438 } } else if(CURSOR > (256 >> 1)) 804c3a8: 4b28 ldr r3, [pc, #160] ; (804c44c ) 804c3aa: 681b ldr r3, [r3, #0] 804c3ac: 2b80 cmp r3, #128 ; 0x80 804c3ae: d943 bls.n 804c438 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804c3b0: 4b25 ldr r3, [pc, #148] ; (804c448 ) 804c3b2: 881b ldrh r3, [r3, #0] 804c3b4: b29b uxth r3, r3 804c3b6: 461a mov r2, r3 804c3b8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c3bc: 18d1 adds r1, r2, r3 804c3be: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804c3c2: 4613 mov r3, r2 804c3c4: 009b lsls r3, r3, #2 804c3c6: 4413 add r3, r2 804c3c8: 4a24 ldr r2, [pc, #144] ; (804c45c ) 804c3ca: 79d2 ldrb r2, [r2, #7] 804c3cc: b2d2 uxtb r2, r2 804c3ce: 4413 add r3, r2 804c3d0: 4a23 ldr r2, [pc, #140] ; (804c460 ) 804c3d2: 3323 adds r3, #35 ; 0x23 804c3d4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c3d8: 021b lsls r3, r3, #8 804c3da: 4299 cmp r1, r3 804c3dc: dc2c bgt.n 804c438 { CURSOR--; 804c3de: 4b1b ldr r3, [pc, #108] ; (804c44c ) 804c3e0: 681b ldr r3, [r3, #0] 804c3e2: 3b01 subs r3, #1 804c3e4: 4a19 ldr r2, [pc, #100] ; (804c44c ) 804c3e6: 6013 str r3, [r2, #0] X0 += dX; 804c3e8: 4b15 ldr r3, [pc, #84] ; (804c440 ) 804c3ea: 881b ldrh r3, [r3, #0] 804c3ec: b29a uxth r2, r3 804c3ee: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c3f2: 4413 add r3, r2 804c3f4: b29a uxth r2, r3 804c3f6: 4b12 ldr r3, [pc, #72] ; (804c440 ) 804c3f8: 801a strh r2, [r3, #0] lX = X0; 804c3fa: 4b11 ldr r3, [pc, #68] ; (804c440 ) 804c3fc: 881b ldrh r3, [r3, #0] 804c3fe: b29a uxth r2, r3 804c400: 4b10 ldr r3, [pc, #64] ; (804c444 ) 804c402: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c404: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c408: 021b lsls r3, r3, #8 804c40a: b29a uxth r2, r3 804c40c: 4b0d ldr r3, [pc, #52] ; (804c444 ) 804c40e: 881b ldrh r3, [r3, #0] 804c410: b29b uxth r3, r3 804c412: 4413 add r3, r2 804c414: b29a uxth r2, r3 804c416: 4b0c ldr r3, [pc, #48] ; (804c448 ) 804c418: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c41a: 4b12 ldr r3, [pc, #72] ; (804c464 ) 804c41c: 881b ldrh r3, [r3, #0] 804c41e: b29b uxth r3, r3 804c420: 461a mov r2, r3 804c422: 4b08 ldr r3, [pc, #32] ; (804c444 ) 804c424: 881b ldrh r3, [r3, #0] 804c426: b29b uxth r3, r3 804c428: 1ad2 subs r2, r2, r3 804c42a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c42e: fb92 f3f3 sdiv r3, r2, r3 804c432: 461a mov r2, r3 804c434: 4b05 ldr r3, [pc, #20] ; (804c44c ) 804c436: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804c438: 4b06 ldr r3, [pc, #24] ; (804c454 ) 804c43a: 2201 movs r2, #1 804c43c: 701a strb r2, [r3, #0] } break; 804c43e: e1bf b.n 804c7c0 804c440: 20025d66 .word 0x20025d66 804c444: 20025d62 .word 0x20025d62 804c448: 20025d68 .word 0x20025d68 804c44c: 2002006c .word 0x2002006c 804c450: 20025d5e .word 0x20025d5e 804c454: 20020994 .word 0x20020994 804c458: 20020fb8 .word 0x20020fb8 804c45c: 20023ea8 .word 0x20023ea8 804c460: 080f2b68 .word 0x080f2b68 804c464: 20025d64 .word 0x20025d64 case ZoomOut: lvl_0 = 0; 804c468: 2300 movs r3, #0 804c46a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804c46e: 2304 movs r3, #4 804c470: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804c474: 4b94 ldr r3, [pc, #592] ; (804c6c8 ) 804c476: 781b ldrb r3, [r3, #0] 804c478: b2db uxtb r3, r3 804c47a: 461a mov r2, r3 804c47c: 4613 mov r3, r2 804c47e: 009b lsls r3, r3, #2 804c480: 4413 add r3, r2 804c482: 4a92 ldr r2, [pc, #584] ; (804c6cc ) 804c484: 79d2 ldrb r2, [r2, #7] 804c486: b2d2 uxtb r2, r2 804c488: 4413 add r3, r2 804c48a: 4a91 ldr r2, [pc, #580] ; (804c6d0 ) 804c48c: 3323 adds r3, #35 ; 0x23 804c48e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c492: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804c496: 4b8c ldr r3, [pc, #560] ; (804c6c8 ) 804c498: 781b ldrb r3, [r3, #0] 804c49a: b2db uxtb r3, r3 804c49c: 2b00 cmp r3, #0 804c49e: f000 8192 beq.w 804c7c6 { ViewLevel--; 804c4a2: 4b89 ldr r3, [pc, #548] ; (804c6c8 ) 804c4a4: 781b ldrb r3, [r3, #0] 804c4a6: b2db uxtb r3, r3 804c4a8: 3b01 subs r3, #1 804c4aa: b2da uxtb r2, r3 804c4ac: 4b86 ldr r3, [pc, #536] ; (804c6c8 ) 804c4ae: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804c4b0: 4b85 ldr r3, [pc, #532] ; (804c6c8 ) 804c4b2: 781b ldrb r3, [r3, #0] 804c4b4: b2db uxtb r3, r3 804c4b6: 461a mov r2, r3 804c4b8: 4613 mov r3, r2 804c4ba: 009b lsls r3, r3, #2 804c4bc: 4413 add r3, r2 804c4be: 4a83 ldr r2, [pc, #524] ; (804c6cc ) 804c4c0: 79d2 ldrb r2, [r2, #7] 804c4c2: b2d2 uxtb r2, r2 804c4c4: 4413 add r3, r2 804c4c6: 4a82 ldr r2, [pc, #520] ; (804c6d0 ) 804c4c8: 3323 adds r3, #35 ; 0x23 804c4ca: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c4ce: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804c4d2: 4b7d ldr r3, [pc, #500] ; (804c6c8 ) 804c4d4: 781b ldrb r3, [r3, #0] 804c4d6: b2db uxtb r3, r3 804c4d8: 2b00 cmp r3, #0 804c4da: d130 bne.n 804c53e { X0 = lX = 0; 804c4dc: 2100 movs r1, #0 804c4de: 4b7d ldr r3, [pc, #500] ; (804c6d4 ) 804c4e0: 460a mov r2, r1 804c4e2: 801a strh r2, [r3, #0] 804c4e4: 4b7c ldr r3, [pc, #496] ; (804c6d8 ) 804c4e6: 460a mov r2, r1 804c4e8: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c4ea: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c4ee: 021b lsls r3, r3, #8 804c4f0: b29a uxth r2, r3 804c4f2: 4b78 ldr r3, [pc, #480] ; (804c6d4 ) 804c4f4: 881b ldrh r3, [r3, #0] 804c4f6: b29b uxth r3, r3 804c4f8: 4413 add r3, r2 804c4fa: b29a uxth r2, r3 804c4fc: 4b77 ldr r3, [pc, #476] ; (804c6dc ) 804c4fe: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c500: 4b77 ldr r3, [pc, #476] ; (804c6e0 ) 804c502: 881b ldrh r3, [r3, #0] 804c504: b29b uxth r3, r3 804c506: 461a mov r2, r3 804c508: 4b72 ldr r3, [pc, #456] ; (804c6d4 ) 804c50a: 881b ldrh r3, [r3, #0] 804c50c: b29b uxth r3, r3 804c50e: 1ad2 subs r2, r2, r3 804c510: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c514: fb92 f3f3 sdiv r3, r2, r3 804c518: 461a mov r2, r3 804c51a: 4b72 ldr r3, [pc, #456] ; (804c6e4 ) 804c51c: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804c51e: 4b71 ldr r3, [pc, #452] ; (804c6e4 ) 804c520: 681b ldr r3, [r3, #0] 804c522: b29b uxth r3, r3 804c524: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c528: fb12 f303 smulbb r3, r2, r3 804c52c: b29a uxth r2, r3 804c52e: 4b6a ldr r3, [pc, #424] ; (804c6d8 ) 804c530: 881b ldrh r3, [r3, #0] 804c532: b29b uxth r3, r3 804c534: 4413 add r3, r2 804c536: b29a uxth r2, r3 804c538: 4b6b ldr r3, [pc, #428] ; (804c6e8 ) 804c53a: 801a strh r2, [r3, #0] 804c53c: e090 b.n 804c660 } else { if(CURSOR * dX > Mpos) 804c53e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c542: 4a68 ldr r2, [pc, #416] ; (804c6e4 ) 804c544: 6812 ldr r2, [r2, #0] 804c546: fb02 f303 mul.w r3, r2, r3 804c54a: 4a67 ldr r2, [pc, #412] ; (804c6e8 ) 804c54c: 8812 ldrh r2, [r2, #0] 804c54e: b292 uxth r2, r2 804c550: 4293 cmp r3, r2 804c552: d91f bls.n 804c594 { while(CURSOR * dX > Mpos) 804c554: e004 b.n 804c560 CURSOR--; 804c556: 4b63 ldr r3, [pc, #396] ; (804c6e4 ) 804c558: 681b ldr r3, [r3, #0] 804c55a: 3b01 subs r3, #1 804c55c: 4a61 ldr r2, [pc, #388] ; (804c6e4 ) 804c55e: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804c560: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c564: 4a5f ldr r2, [pc, #380] ; (804c6e4 ) 804c566: 6812 ldr r2, [r2, #0] 804c568: fb02 f303 mul.w r3, r2, r3 804c56c: 4a5e ldr r2, [pc, #376] ; (804c6e8 ) 804c56e: 8812 ldrh r2, [r2, #0] 804c570: b292 uxth r2, r2 804c572: 4293 cmp r3, r2 804c574: d8ef bhi.n 804c556 Mpos = X0 + CURSOR * dX; 804c576: 4b5b ldr r3, [pc, #364] ; (804c6e4 ) 804c578: 681b ldr r3, [r3, #0] 804c57a: b29b uxth r3, r3 804c57c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c580: fb12 f303 smulbb r3, r2, r3 804c584: b29a uxth r2, r3 804c586: 4b54 ldr r3, [pc, #336] ; (804c6d8 ) 804c588: 881b ldrh r3, [r3, #0] 804c58a: b29b uxth r3, r3 804c58c: 4413 add r3, r2 804c58e: b29a uxth r2, r3 804c590: 4b55 ldr r3, [pc, #340] ; (804c6e8 ) 804c592: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804c594: 4b54 ldr r3, [pc, #336] ; (804c6e8 ) 804c596: 881b ldrh r3, [r3, #0] 804c598: b29b uxth r3, r3 804c59a: 4619 mov r1, r3 804c59c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c5a0: 4a50 ldr r2, [pc, #320] ; (804c6e4 ) 804c5a2: 6812 ldr r2, [r2, #0] 804c5a4: fb02 f303 mul.w r3, r2, r3 804c5a8: 1acb subs r3, r1, r3 804c5aa: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804c5ae: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c5b2: 021b lsls r3, r3, #8 804c5b4: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804c5b8: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804c5bc: 4613 mov r3, r2 804c5be: 009b lsls r3, r3, #2 804c5c0: 4413 add r3, r2 804c5c2: 4a42 ldr r2, [pc, #264] ; (804c6cc ) 804c5c4: 79d2 ldrb r2, [r2, #7] 804c5c6: b2d2 uxtb r2, r2 804c5c8: 4413 add r3, r2 804c5ca: 4a41 ldr r2, [pc, #260] ; (804c6d0 ) 804c5cc: 3323 adds r3, #35 ; 0x23 804c5ce: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c5d2: 021b lsls r3, r3, #8 804c5d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804c5d8: e006 b.n 804c5e8 i -= dXold; 804c5da: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804c5de: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c5e2: 1ad3 subs r3, r2, r3 804c5e4: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804c5e8: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c5ec: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804c5f0: 441a add r2, r3 804c5f2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c5f6: 429a cmp r2, r3 804c5f8: d8ef bhi.n 804c5da } X0 = (uint16_t) i; 804c5fa: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804c5fe: b29a uxth r2, r3 804c600: 4b35 ldr r3, [pc, #212] ; (804c6d8 ) 804c602: 801a strh r2, [r3, #0] lX = X0; 804c604: 4b34 ldr r3, [pc, #208] ; (804c6d8 ) 804c606: 881b ldrh r3, [r3, #0] 804c608: b29a uxth r2, r3 804c60a: 4b32 ldr r3, [pc, #200] ; (804c6d4 ) 804c60c: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c60e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c612: 021b lsls r3, r3, #8 804c614: b29a uxth r2, r3 804c616: 4b2f ldr r3, [pc, #188] ; (804c6d4 ) 804c618: 881b ldrh r3, [r3, #0] 804c61a: b29b uxth r3, r3 804c61c: 4413 add r3, r2 804c61e: b29a uxth r2, r3 804c620: 4b2e ldr r3, [pc, #184] ; (804c6dc ) 804c622: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c624: 4b2e ldr r3, [pc, #184] ; (804c6e0 ) 804c626: 881b ldrh r3, [r3, #0] 804c628: b29b uxth r3, r3 804c62a: 461a mov r2, r3 804c62c: 4b29 ldr r3, [pc, #164] ; (804c6d4 ) 804c62e: 881b ldrh r3, [r3, #0] 804c630: b29b uxth r3, r3 804c632: 1ad2 subs r2, r2, r3 804c634: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c638: fb92 f3f3 sdiv r3, r2, r3 804c63c: 461a mov r2, r3 804c63e: 4b29 ldr r3, [pc, #164] ; (804c6e4 ) 804c640: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804c642: 4b28 ldr r3, [pc, #160] ; (804c6e4 ) 804c644: 681b ldr r3, [r3, #0] 804c646: b29b uxth r3, r3 804c648: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c64c: fb12 f303 smulbb r3, r2, r3 804c650: b29a uxth r2, r3 804c652: 4b21 ldr r3, [pc, #132] ; (804c6d8 ) 804c654: 881b ldrh r3, [r3, #0] 804c656: b29b uxth r3, r3 804c658: 4413 add r3, r2 804c65a: b29a uxth r2, r3 804c65c: 4b22 ldr r3, [pc, #136] ; (804c6e8 ) 804c65e: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804c660: 4b22 ldr r3, [pc, #136] ; (804c6ec ) 804c662: 2201 movs r2, #1 804c664: 701a strb r2, [r3, #0] } break; 804c666: e0ae b.n 804c7c6 case Cursor: AUTOZOOM = true; 804c668: 4b20 ldr r3, [pc, #128] ; (804c6ec ) 804c66a: 2201 movs r2, #1 804c66c: 701a strb r2, [r3, #0] if((DynamicCursor[0].Mpos >= Mpos) && (DynamicCursor[0].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804c66e: 4b20 ldr r3, [pc, #128] ; (804c6f0 ) 804c670: 889a ldrh r2, [r3, #4] 804c672: 4b1d ldr r3, [pc, #116] ; (804c6e8 ) 804c674: 881b ldrh r3, [r3, #0] 804c676: b29b uxth r3, r3 804c678: 429a cmp r2, r3 804c67a: d33b bcc.n 804c6f4 804c67c: 4b1c ldr r3, [pc, #112] ; (804c6f0 ) 804c67e: 889b ldrh r3, [r3, #4] 804c680: 4619 mov r1, r3 804c682: 4b19 ldr r3, [pc, #100] ; (804c6e8 ) 804c684: 881b ldrh r3, [r3, #0] 804c686: b29b uxth r3, r3 804c688: 4618 mov r0, r3 804c68a: 4b0f ldr r3, [pc, #60] ; (804c6c8 ) 804c68c: 781b ldrb r3, [r3, #0] 804c68e: b2db uxtb r3, r3 804c690: 461a mov r2, r3 804c692: 4613 mov r3, r2 804c694: 009b lsls r3, r3, #2 804c696: 4413 add r3, r2 804c698: 4a0c ldr r2, [pc, #48] ; (804c6cc ) 804c69a: 79d2 ldrb r2, [r2, #7] 804c69c: b2d2 uxtb r2, r2 804c69e: 4413 add r3, r2 804c6a0: 4a0b ldr r2, [pc, #44] ; (804c6d0 ) 804c6a2: 3323 adds r3, #35 ; 0x23 804c6a4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c6a8: 4403 add r3, r0 804c6aa: 4299 cmp r1, r3 804c6ac: da22 bge.n 804c6f4 { if(DynamicCursor[0].Enabled) 804c6ae: 4b10 ldr r3, [pc, #64] ; (804c6f0 ) 804c6b0: 781b ldrb r3, [r3, #0] 804c6b2: 2b00 cmp r3, #0 804c6b4: d074 beq.n 804c7a0 { DynamicCursor[0].Enabled = false; 804c6b6: 4b0e ldr r3, [pc, #56] ; (804c6f0 ) 804c6b8: 2200 movs r2, #0 804c6ba: 701a strb r2, [r3, #0] DynamicCursor[0].Mpos = 0xffff; 804c6bc: 4b0c ldr r3, [pc, #48] ; (804c6f0 ) 804c6be: f64f 72ff movw r2, #65535 ; 0xffff 804c6c2: 809a strh r2, [r3, #4] if(DynamicCursor[0].Enabled) 804c6c4: e06c b.n 804c7a0 804c6c6: bf00 nop 804c6c8: 20020fb8 .word 0x20020fb8 804c6cc: 20023ea8 .word 0x20023ea8 804c6d0: 080f2b68 .word 0x080f2b68 804c6d4: 20025d62 .word 0x20025d62 804c6d8: 20025d66 .word 0x20025d66 804c6dc: 20025d68 .word 0x20025d68 804c6e0: 20025d64 .word 0x20025d64 804c6e4: 2002006c .word 0x2002006c 804c6e8: 20025d5e .word 0x20025d5e 804c6ec: 20020994 .word 0x20020994 804c6f0: 20020f8c .word 0x20020f8c } } else if((DynamicCursor[1].Mpos >= Mpos) && (DynamicCursor[1].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804c6f4: 4ba4 ldr r3, [pc, #656] ; (804c988 ) 804c6f6: 8a9a ldrh r2, [r3, #20] 804c6f8: 4ba4 ldr r3, [pc, #656] ; (804c98c ) 804c6fa: 881b ldrh r3, [r3, #0] 804c6fc: b29b uxth r3, r3 804c6fe: 429a cmp r2, r3 804c700: d324 bcc.n 804c74c 804c702: 4ba1 ldr r3, [pc, #644] ; (804c988 ) 804c704: 8a9b ldrh r3, [r3, #20] 804c706: 4619 mov r1, r3 804c708: 4ba0 ldr r3, [pc, #640] ; (804c98c ) 804c70a: 881b ldrh r3, [r3, #0] 804c70c: b29b uxth r3, r3 804c70e: 4618 mov r0, r3 804c710: 4b9f ldr r3, [pc, #636] ; (804c990 ) 804c712: 781b ldrb r3, [r3, #0] 804c714: b2db uxtb r3, r3 804c716: 461a mov r2, r3 804c718: 4613 mov r3, r2 804c71a: 009b lsls r3, r3, #2 804c71c: 4413 add r3, r2 804c71e: 4a9d ldr r2, [pc, #628] ; (804c994 ) 804c720: 79d2 ldrb r2, [r2, #7] 804c722: b2d2 uxtb r2, r2 804c724: 4413 add r3, r2 804c726: 4a9c ldr r2, [pc, #624] ; (804c998 ) 804c728: 3323 adds r3, #35 ; 0x23 804c72a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c72e: 4403 add r3, r0 804c730: 4299 cmp r1, r3 804c732: da0b bge.n 804c74c { if(DynamicCursor[1].Enabled) 804c734: 4b94 ldr r3, [pc, #592] ; (804c988 ) 804c736: 7c1b ldrb r3, [r3, #16] 804c738: 2b00 cmp r3, #0 804c73a: d031 beq.n 804c7a0 { DynamicCursor[1].Enabled = false; 804c73c: 4b92 ldr r3, [pc, #584] ; (804c988 ) 804c73e: 2200 movs r2, #0 804c740: 741a strb r2, [r3, #16] DynamicCursor[1].Mpos = 0xffff; 804c742: 4b91 ldr r3, [pc, #580] ; (804c988 ) 804c744: f64f 72ff movw r2, #65535 ; 0xffff 804c748: 829a strh r2, [r3, #20] if(DynamicCursor[1].Enabled) 804c74a: e029 b.n 804c7a0 } } else { if(!DynamicCursor[0].Enabled) 804c74c: 4b8e ldr r3, [pc, #568] ; (804c988 ) 804c74e: 781b ldrb r3, [r3, #0] 804c750: f083 0301 eor.w r3, r3, #1 804c754: b2db uxtb r3, r3 804c756: 2b00 cmp r3, #0 804c758: d00d beq.n 804c776 { DynamicCursor[0].Mpos = Mpos; 804c75a: 4b8c ldr r3, [pc, #560] ; (804c98c ) 804c75c: 881b ldrh r3, [r3, #0] 804c75e: b29a uxth r2, r3 804c760: 4b89 ldr r3, [pc, #548] ; (804c988 ) 804c762: 809a strh r2, [r3, #4] DynamicCursor[0].fineMpos = Mpos; 804c764: 4b89 ldr r3, [pc, #548] ; (804c98c ) 804c766: 881b ldrh r3, [r3, #0] 804c768: b29a uxth r2, r3 804c76a: 4b87 ldr r3, [pc, #540] ; (804c988 ) 804c76c: 80da strh r2, [r3, #6] DynamicCursor[0].Enabled = true; 804c76e: 4b86 ldr r3, [pc, #536] ; (804c988 ) 804c770: 2201 movs r2, #1 804c772: 701a strb r2, [r3, #0] DynamicCursor[1].Mpos = Mpos; DynamicCursor[1].fineMpos = Mpos; DynamicCursor[1].Enabled = true; } } break; 804c774: e02a b.n 804c7cc if(!DynamicCursor[1].Enabled) 804c776: 4b84 ldr r3, [pc, #528] ; (804c988 ) 804c778: 7c1b ldrb r3, [r3, #16] 804c77a: f083 0301 eor.w r3, r3, #1 804c77e: b2db uxtb r3, r3 804c780: 2b00 cmp r3, #0 804c782: d023 beq.n 804c7cc DynamicCursor[1].Mpos = Mpos; 804c784: 4b81 ldr r3, [pc, #516] ; (804c98c ) 804c786: 881b ldrh r3, [r3, #0] 804c788: b29a uxth r2, r3 804c78a: 4b7f ldr r3, [pc, #508] ; (804c988 ) 804c78c: 829a strh r2, [r3, #20] DynamicCursor[1].fineMpos = Mpos; 804c78e: 4b7f ldr r3, [pc, #508] ; (804c98c ) 804c790: 881b ldrh r3, [r3, #0] 804c792: b29a uxth r2, r3 804c794: 4b7c ldr r3, [pc, #496] ; (804c988 ) 804c796: 82da strh r2, [r3, #22] DynamicCursor[1].Enabled = true; 804c798: 4b7b ldr r3, [pc, #492] ; (804c988 ) 804c79a: 2201 movs r2, #1 804c79c: 741a strb r2, [r3, #16] break; 804c79e: e015 b.n 804c7cc 804c7a0: e014 b.n 804c7cc case Results: menu = ROLL_RESULTS; 804c7a2: 4b7e ldr r3, [pc, #504] ; (804c99c ) 804c7a4: 2227 movs r2, #39 ; 0x27 804c7a6: 701a strb r2, [r3, #0] lastmenupos = menupos; 804c7a8: 4b7d ldr r3, [pc, #500] ; (804c9a0 ) 804c7aa: 781b ldrb r3, [r3, #0] 804c7ac: b2da uxtb r2, r3 804c7ae: 4b7d ldr r3, [pc, #500] ; (804c9a4 ) 804c7b0: 701a strb r2, [r3, #0] menupos = 0; 804c7b2: 4b7b ldr r3, [pc, #492] ; (804c9a0 ) 804c7b4: 2200 movs r2, #0 804c7b6: 701a strb r2, [r3, #0] break; 804c7b8: e009 b.n 804c7ce break; 804c7ba: bf00 nop 804c7bc: f007 b993 b.w 8053ae6 break; 804c7c0: bf00 nop 804c7c2: f007 b990 b.w 8053ae6 break; 804c7c6: bf00 nop 804c7c8: f007 b98d b.w 8053ae6 break; 804c7cc: bf00 nop } break; 804c7ce: f007 b98a b.w 8053ae6 case MAIN_SPEC: switch(menupos) 804c7d2: 4b73 ldr r3, [pc, #460] ; (804c9a0 ) 804c7d4: 781b ldrb r3, [r3, #0] 804c7d6: b2db uxtb r3, r3 804c7d8: 2b09 cmp r3, #9 804c7da: f207 8186 bhi.w 8053aea 804c7de: a201 add r2, pc, #4 ; (adr r2, 804c7e4 ) 804c7e0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804c7e4: 0804c821 .word 0x0804c821 804c7e8: 0804c80d .word 0x0804c80d 804c7ec: 0804c861 .word 0x0804c861 804c7f0: 0804ca23 .word 0x0804ca23 804c7f4: 0804cc59 .word 0x0804cc59 804c7f8: 0804c90d .word 0x0804c90d 804c7fc: 0804ce59 .word 0x0804ce59 804c800: 08053aeb .word 0x08053aeb 804c804: 08053aeb .word 0x08053aeb 804c808: 0804cf95 .word 0x0804cf95 { case BackMenu: StopMeas(); 804c80c: f7d6 ffc6 bl 802379c menu = PARAM_SPEC; 804c810: 4b62 ldr r3, [pc, #392] ; (804c99c ) 804c812: 2207 movs r2, #7 804c814: 701a strb r2, [r3, #0] menupos = Ok; 804c816: 4b62 ldr r3, [pc, #392] ; (804c9a0 ) 804c818: 2200 movs r2, #0 804c81a: 701a strb r2, [r3, #0] break; 804c81c: f000 be05 b.w 804d42a case StartStop: if(!measuring) 804c820: 4b61 ldr r3, [pc, #388] ; (804c9a8 ) 804c822: 781b ldrb r3, [r3, #0] 804c824: b2db uxtb r3, r3 804c826: f083 0301 eor.w r3, r3, #1 804c82a: b2db uxtb r3, r3 804c82c: 2b00 cmp r3, #0 804c82e: d00b beq.n 804c848 { AUTOZOOM = true; 804c830: 4b5e ldr r3, [pc, #376] ; (804c9ac ) 804c832: 2201 movs r2, #1 804c834: 701a strb r2, [r3, #0] FIRST = true; 804c836: 4b5e ldr r3, [pc, #376] ; (804c9b0 ) 804c838: 2201 movs r2, #1 804c83a: 701a strb r2, [r3, #0] initAmplif(); 804c83c: f7d5 f92a bl 8021a94 StartMeas(); 804c840: f7d6 fbfc bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804c844: f000 bdf1 b.w 804d42a StopMeas(); 804c848: f7d6 ffa8 bl 802379c AUTOZOOM = true; 804c84c: 4b57 ldr r3, [pc, #348] ; (804c9ac ) 804c84e: 2201 movs r2, #1 804c850: 701a strb r2, [r3, #0] oldmenupos = menupos; 804c852: 4b53 ldr r3, [pc, #332] ; (804c9a0 ) 804c854: 781b ldrb r3, [r3, #0] 804c856: b2da uxtb r2, r3 804c858: 4b56 ldr r3, [pc, #344] ; (804c9b4 ) 804c85a: 701a strb r2, [r3, #0] break; 804c85c: f000 bde5 b.w 804d42a case ImageLeft: if(lX) 804c860: 4b55 ldr r3, [pc, #340] ; (804c9b8 ) 804c862: 881b ldrh r3, [r3, #0] 804c864: b29b uxth r3, r3 804c866: 2b00 cmp r3, #0 804c868: f000 85d2 beq.w 804d410 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804c86c: 4b48 ldr r3, [pc, #288] ; (804c990 ) 804c86e: 781b ldrb r3, [r3, #0] 804c870: b2db uxtb r3, r3 804c872: 461a mov r2, r3 804c874: 4613 mov r3, r2 804c876: 009b lsls r3, r3, #2 804c878: 4413 add r3, r2 804c87a: 4a46 ldr r2, [pc, #280] ; (804c994 ) 804c87c: 79d2 ldrb r2, [r2, #7] 804c87e: b2d2 uxtb r2, r2 804c880: 4413 add r3, r2 804c882: 4a45 ldr r2, [pc, #276] ; (804c998 ) 804c884: 3323 adds r3, #35 ; 0x23 804c886: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c88a: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804c88e: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804c892: 021b lsls r3, r3, #8 804c894: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804c898: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c89c: 085b lsrs r3, r3, #1 804c89e: b29a uxth r2, r3 804c8a0: 4b45 ldr r3, [pc, #276] ; (804c9b8 ) 804c8a2: 881b ldrh r3, [r3, #0] 804c8a4: b29b uxth r3, r3 804c8a6: 429a cmp r2, r3 804c8a8: d80b bhi.n 804c8c2 X0 -= (multB_u16 >> 1); 804c8aa: 4b44 ldr r3, [pc, #272] ; (804c9bc ) 804c8ac: 881b ldrh r3, [r3, #0] 804c8ae: b29a uxth r2, r3 804c8b0: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c8b4: 085b lsrs r3, r3, #1 804c8b6: b29b uxth r3, r3 804c8b8: 1ad3 subs r3, r2, r3 804c8ba: b29a uxth r2, r3 804c8bc: 4b3f ldr r3, [pc, #252] ; (804c9bc ) 804c8be: 801a strh r2, [r3, #0] 804c8c0: e002 b.n 804c8c8 else X0 = 0; 804c8c2: 4b3e ldr r3, [pc, #248] ; (804c9bc ) 804c8c4: 2200 movs r2, #0 804c8c6: 801a strh r2, [r3, #0] lX = X0; 804c8c8: 4b3c ldr r3, [pc, #240] ; (804c9bc ) 804c8ca: 881b ldrh r3, [r3, #0] 804c8cc: b29a uxth r2, r3 804c8ce: 4b3a ldr r3, [pc, #232] ; (804c9b8 ) 804c8d0: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804c8d2: 4b39 ldr r3, [pc, #228] ; (804c9b8 ) 804c8d4: 881b ldrh r3, [r3, #0] 804c8d6: b29a uxth r2, r3 804c8d8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c8dc: 4413 add r3, r2 804c8de: b29a uxth r2, r3 804c8e0: 4b37 ldr r3, [pc, #220] ; (804c9c0 ) 804c8e2: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804c8e4: 4b37 ldr r3, [pc, #220] ; (804c9c4 ) 804c8e6: 681b ldr r3, [r3, #0] 804c8e8: b29b uxth r3, r3 804c8ea: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804c8ee: fb12 f303 smulbb r3, r2, r3 804c8f2: b29a uxth r2, r3 804c8f4: 4b31 ldr r3, [pc, #196] ; (804c9bc ) 804c8f6: 881b ldrh r3, [r3, #0] 804c8f8: b29b uxth r3, r3 804c8fa: 4413 add r3, r2 804c8fc: b29a uxth r2, r3 804c8fe: 4b23 ldr r3, [pc, #140] ; (804c98c ) 804c900: 801a strh r2, [r3, #0] AUTOZOOM = true; 804c902: 4b2a ldr r3, [pc, #168] ; (804c9ac ) 804c904: 2201 movs r2, #1 804c906: 701a strb r2, [r3, #0] } break; 804c908: f000 bd82 b.w 804d410 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804c90c: 4b20 ldr r3, [pc, #128] ; (804c990 ) 804c90e: 781b ldrb r3, [r3, #0] 804c910: b2db uxtb r3, r3 804c912: 461a mov r2, r3 804c914: 4613 mov r3, r2 804c916: 009b lsls r3, r3, #2 804c918: 4413 add r3, r2 804c91a: 4a1e ldr r2, [pc, #120] ; (804c994 ) 804c91c: 79d2 ldrb r2, [r2, #7] 804c91e: b2d2 uxtb r2, r2 804c920: 4413 add r3, r2 804c922: 4a1d ldr r2, [pc, #116] ; (804c998 ) 804c924: 3323 adds r3, #35 ; 0x23 804c926: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c92a: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804c92e: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804c932: 021b lsls r3, r3, #8 804c934: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804c938: 4b16 ldr r3, [pc, #88] ; (804c994 ) 804c93a: 79db ldrb r3, [r3, #7] 804c93c: b2db uxtb r3, r3 804c93e: 461a mov r2, r3 804c940: 4b21 ldr r3, [pc, #132] ; (804c9c8 ) 804c942: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804c946: 085b lsrs r3, r3, #1 804c948: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804c94c: 4b1c ldr r3, [pc, #112] ; (804c9c0 ) 804c94e: 881b ldrh r3, [r3, #0] 804c950: b29b uxth r3, r3 804c952: 461a mov r2, r3 804c954: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c958: 085b lsrs r3, r3, #1 804c95a: b29b uxth r3, r3 804c95c: 4413 add r3, r2 804c95e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804c962: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c966: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c96a: 429a cmp r2, r3 804c96c: d82e bhi.n 804c9cc X0 += (multB_u16 >> 1); 804c96e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c972: 085b lsrs r3, r3, #1 804c974: b29a uxth r2, r3 804c976: 4b11 ldr r3, [pc, #68] ; (804c9bc ) 804c978: 881b ldrh r3, [r3, #0] 804c97a: b29b uxth r3, r3 804c97c: 4413 add r3, r2 804c97e: b29a uxth r2, r3 804c980: 4b0e ldr r3, [pc, #56] ; (804c9bc ) 804c982: 801a strh r2, [r3, #0] 804c984: e02b b.n 804c9de 804c986: bf00 nop 804c988: 20020f8c .word 0x20020f8c 804c98c: 20025d5e .word 0x20025d5e 804c990: 20020fb8 .word 0x20020fb8 804c994: 20023ea8 .word 0x20023ea8 804c998: 080f2b68 .word 0x080f2b68 804c99c: 20020fbd .word 0x20020fbd 804c9a0: 20020070 .word 0x20020070 804c9a4: 20020071 .word 0x20020071 804c9a8: 20020dcf .word 0x20020dcf 804c9ac: 20020994 .word 0x20020994 804c9b0: 20020dd2 .word 0x20020dd2 804c9b4: 20020fbf .word 0x20020fbf 804c9b8: 20025d62 .word 0x20025d62 804c9bc: 20025d66 .word 0x20025d66 804c9c0: 20025d68 .word 0x20025d68 804c9c4: 2002006c .word 0x2002006c 804c9c8: 080f2bf4 .word 0x080f2bf4 else X0 = (uint16_t) (k - multB_u16); 804c9cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c9d0: b29a uxth r2, r3 804c9d2: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c9d6: 1ad3 subs r3, r2, r3 804c9d8: b29a uxth r2, r3 804c9da: 4b95 ldr r3, [pc, #596] ; (804cc30 ) 804c9dc: 801a strh r2, [r3, #0] lX = X0; 804c9de: 4b94 ldr r3, [pc, #592] ; (804cc30 ) 804c9e0: 881b ldrh r3, [r3, #0] 804c9e2: b29a uxth r2, r3 804c9e4: 4b93 ldr r3, [pc, #588] ; (804cc34 ) 804c9e6: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804c9e8: 4b92 ldr r3, [pc, #584] ; (804cc34 ) 804c9ea: 881b ldrh r3, [r3, #0] 804c9ec: b29a uxth r2, r3 804c9ee: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c9f2: 4413 add r3, r2 804c9f4: b29a uxth r2, r3 804c9f6: 4b90 ldr r3, [pc, #576] ; (804cc38 ) 804c9f8: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804c9fa: 4b90 ldr r3, [pc, #576] ; (804cc3c ) 804c9fc: 681b ldr r3, [r3, #0] 804c9fe: b29b uxth r3, r3 804ca00: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804ca04: fb12 f303 smulbb r3, r2, r3 804ca08: b29a uxth r2, r3 804ca0a: 4b89 ldr r3, [pc, #548] ; (804cc30 ) 804ca0c: 881b ldrh r3, [r3, #0] 804ca0e: b29b uxth r3, r3 804ca10: 4413 add r3, r2 804ca12: b29a uxth r2, r3 804ca14: 4b8a ldr r3, [pc, #552] ; (804cc40 ) 804ca16: 801a strh r2, [r3, #0] AUTOZOOM = true; 804ca18: 4b8a ldr r3, [pc, #552] ; (804cc44 ) 804ca1a: 2201 movs r2, #1 804ca1c: 701a strb r2, [r3, #0] break; 804ca1e: f000 bd04 b.w 804d42a case ZoomIn: lvl_0 = 0; 804ca22: 2300 movs r3, #0 804ca24: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804ca28: 4b87 ldr r3, [pc, #540] ; (804cc48 ) 804ca2a: 781b ldrb r3, [r3, #0] 804ca2c: b2db uxtb r3, r3 804ca2e: 461a mov r2, r3 804ca30: 4613 mov r3, r2 804ca32: 009b lsls r3, r3, #2 804ca34: 4413 add r3, r2 804ca36: 4a85 ldr r2, [pc, #532] ; (804cc4c ) 804ca38: 79d2 ldrb r2, [r2, #7] 804ca3a: b2d2 uxtb r2, r2 804ca3c: 4413 add r3, r2 804ca3e: 4a84 ldr r2, [pc, #528] ; (804cc50 ) 804ca40: 3323 adds r3, #35 ; 0x23 804ca42: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ca46: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804ca4a: 2304 movs r3, #4 804ca4c: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804ca50: 4b7d ldr r3, [pc, #500] ; (804cc48 ) 804ca52: 781b ldrb r3, [r3, #0] 804ca54: b2db uxtb r3, r3 804ca56: b29b uxth r3, r3 804ca58: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804ca5c: 429a cmp r2, r3 804ca5e: f240 84da bls.w 804d416 804ca62: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ca66: 2b01 cmp r3, #1 804ca68: f240 84d5 bls.w 804d416 { ViewLevel++; 804ca6c: 4b76 ldr r3, [pc, #472] ; (804cc48 ) 804ca6e: 781b ldrb r3, [r3, #0] 804ca70: b2db uxtb r3, r3 804ca72: 3301 adds r3, #1 804ca74: b2da uxtb r2, r3 804ca76: 4b74 ldr r3, [pc, #464] ; (804cc48 ) 804ca78: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804ca7a: 4b73 ldr r3, [pc, #460] ; (804cc48 ) 804ca7c: 781b ldrb r3, [r3, #0] 804ca7e: b2db uxtb r3, r3 804ca80: 461a mov r2, r3 804ca82: 4613 mov r3, r2 804ca84: 009b lsls r3, r3, #2 804ca86: 4413 add r3, r2 804ca88: 4a70 ldr r2, [pc, #448] ; (804cc4c ) 804ca8a: 79d2 ldrb r2, [r2, #7] 804ca8c: b2d2 uxtb r2, r2 804ca8e: 4413 add r3, r2 804ca90: 4a6f ldr r2, [pc, #444] ; (804cc50 ) 804ca92: 3323 adds r3, #35 ; 0x23 804ca94: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ca98: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804ca9c: 4b68 ldr r3, [pc, #416] ; (804cc40 ) 804ca9e: 881b ldrh r3, [r3, #0] 804caa0: b29a uxth r2, r3 804caa2: 4b66 ldr r3, [pc, #408] ; (804cc3c ) 804caa4: 681b ldr r3, [r3, #0] 804caa6: b29b uxth r3, r3 804caa8: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804caac: fb11 f303 smulbb r3, r1, r3 804cab0: b29b uxth r3, r3 804cab2: 1ad3 subs r3, r2, r3 804cab4: b29a uxth r2, r3 804cab6: 4b5e ldr r3, [pc, #376] ; (804cc30 ) 804cab8: 801a strh r2, [r3, #0] lX = X0; 804caba: 4b5d ldr r3, [pc, #372] ; (804cc30 ) 804cabc: 881b ldrh r3, [r3, #0] 804cabe: b29a uxth r2, r3 804cac0: 4b5c ldr r3, [pc, #368] ; (804cc34 ) 804cac2: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804cac4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cac8: 021b lsls r3, r3, #8 804caca: b29a uxth r2, r3 804cacc: 4b59 ldr r3, [pc, #356] ; (804cc34 ) 804cace: 881b ldrh r3, [r3, #0] 804cad0: b29b uxth r3, r3 804cad2: 4413 add r3, r2 804cad4: b29a uxth r2, r3 804cad6: 4b58 ldr r3, [pc, #352] ; (804cc38 ) 804cad8: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804cada: 4b5e ldr r3, [pc, #376] ; (804cc54 ) 804cadc: 881b ldrh r3, [r3, #0] 804cade: b29b uxth r3, r3 804cae0: 461a mov r2, r3 804cae2: 4b54 ldr r3, [pc, #336] ; (804cc34 ) 804cae4: 881b ldrh r3, [r3, #0] 804cae6: b29b uxth r3, r3 804cae8: 1ad2 subs r2, r2, r3 804caea: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804caee: fb92 f3f3 sdiv r3, r2, r3 804caf2: 461a mov r2, r3 804caf4: 4b51 ldr r3, [pc, #324] ; (804cc3c ) 804caf6: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804caf8: 4b50 ldr r3, [pc, #320] ; (804cc3c ) 804cafa: 681b ldr r3, [r3, #0] 804cafc: b29b uxth r3, r3 804cafe: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cb02: fb12 f303 smulbb r3, r2, r3 804cb06: b29a uxth r2, r3 804cb08: 4b4a ldr r3, [pc, #296] ; (804cc34 ) 804cb0a: 881b ldrh r3, [r3, #0] 804cb0c: b29b uxth r3, r3 804cb0e: 4413 add r3, r2 804cb10: b29a uxth r2, r3 804cb12: 4b4b ldr r3, [pc, #300] ; (804cc40 ) 804cb14: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804cb16: 4b49 ldr r3, [pc, #292] ; (804cc3c ) 804cb18: 681b ldr r3, [r3, #0] 804cb1a: 2b7f cmp r3, #127 ; 0x7f 804cb1c: d83b bhi.n 804cb96 804cb1e: 4b44 ldr r3, [pc, #272] ; (804cc30 ) 804cb20: 881b ldrh r3, [r3, #0] 804cb22: b29b uxth r3, r3 804cb24: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cb28: 429a cmp r2, r3 804cb2a: d834 bhi.n 804cb96 { if(lX >= dX) 804cb2c: 4b41 ldr r3, [pc, #260] ; (804cc34 ) 804cb2e: 881b ldrh r3, [r3, #0] 804cb30: b29b uxth r3, r3 804cb32: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cb36: 429a cmp r2, r3 804cb38: d875 bhi.n 804cc26 { CURSOR++; 804cb3a: 4b40 ldr r3, [pc, #256] ; (804cc3c ) 804cb3c: 681b ldr r3, [r3, #0] 804cb3e: 3301 adds r3, #1 804cb40: 4a3e ldr r2, [pc, #248] ; (804cc3c ) 804cb42: 6013 str r3, [r2, #0] X0 -= dX; 804cb44: 4b3a ldr r3, [pc, #232] ; (804cc30 ) 804cb46: 881b ldrh r3, [r3, #0] 804cb48: b29a uxth r2, r3 804cb4a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cb4e: 1ad3 subs r3, r2, r3 804cb50: b29a uxth r2, r3 804cb52: 4b37 ldr r3, [pc, #220] ; (804cc30 ) 804cb54: 801a strh r2, [r3, #0] lX = X0; 804cb56: 4b36 ldr r3, [pc, #216] ; (804cc30 ) 804cb58: 881b ldrh r3, [r3, #0] 804cb5a: b29a uxth r2, r3 804cb5c: 4b35 ldr r3, [pc, #212] ; (804cc34 ) 804cb5e: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804cb60: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cb64: 021b lsls r3, r3, #8 804cb66: b29a uxth r2, r3 804cb68: 4b32 ldr r3, [pc, #200] ; (804cc34 ) 804cb6a: 881b ldrh r3, [r3, #0] 804cb6c: b29b uxth r3, r3 804cb6e: 4413 add r3, r2 804cb70: b29a uxth r2, r3 804cb72: 4b31 ldr r3, [pc, #196] ; (804cc38 ) 804cb74: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804cb76: 4b37 ldr r3, [pc, #220] ; (804cc54 ) 804cb78: 881b ldrh r3, [r3, #0] 804cb7a: b29b uxth r3, r3 804cb7c: 461a mov r2, r3 804cb7e: 4b2d ldr r3, [pc, #180] ; (804cc34 ) 804cb80: 881b ldrh r3, [r3, #0] 804cb82: b29b uxth r3, r3 804cb84: 1ad2 subs r2, r2, r3 804cb86: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cb8a: fb92 f3f3 sdiv r3, r2, r3 804cb8e: 461a mov r2, r3 804cb90: 4b2a ldr r3, [pc, #168] ; (804cc3c ) 804cb92: 601a str r2, [r3, #0] if(lX >= dX) 804cb94: e047 b.n 804cc26 } } else if(CURSOR > (256 >> 1)) 804cb96: 4b29 ldr r3, [pc, #164] ; (804cc3c ) 804cb98: 681b ldr r3, [r3, #0] 804cb9a: 2b80 cmp r3, #128 ; 0x80 804cb9c: d943 bls.n 804cc26 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804cb9e: 4b26 ldr r3, [pc, #152] ; (804cc38 ) 804cba0: 881b ldrh r3, [r3, #0] 804cba2: b29b uxth r3, r3 804cba4: 461a mov r2, r3 804cba6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cbaa: 18d1 adds r1, r2, r3 804cbac: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804cbb0: 4613 mov r3, r2 804cbb2: 009b lsls r3, r3, #2 804cbb4: 4413 add r3, r2 804cbb6: 4a25 ldr r2, [pc, #148] ; (804cc4c ) 804cbb8: 79d2 ldrb r2, [r2, #7] 804cbba: b2d2 uxtb r2, r2 804cbbc: 4413 add r3, r2 804cbbe: 4a24 ldr r2, [pc, #144] ; (804cc50 ) 804cbc0: 3323 adds r3, #35 ; 0x23 804cbc2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cbc6: 021b lsls r3, r3, #8 804cbc8: 4299 cmp r1, r3 804cbca: dc2c bgt.n 804cc26 { CURSOR--; 804cbcc: 4b1b ldr r3, [pc, #108] ; (804cc3c ) 804cbce: 681b ldr r3, [r3, #0] 804cbd0: 3b01 subs r3, #1 804cbd2: 4a1a ldr r2, [pc, #104] ; (804cc3c ) 804cbd4: 6013 str r3, [r2, #0] X0 += dX; 804cbd6: 4b16 ldr r3, [pc, #88] ; (804cc30 ) 804cbd8: 881b ldrh r3, [r3, #0] 804cbda: b29a uxth r2, r3 804cbdc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cbe0: 4413 add r3, r2 804cbe2: b29a uxth r2, r3 804cbe4: 4b12 ldr r3, [pc, #72] ; (804cc30 ) 804cbe6: 801a strh r2, [r3, #0] lX = X0; 804cbe8: 4b11 ldr r3, [pc, #68] ; (804cc30 ) 804cbea: 881b ldrh r3, [r3, #0] 804cbec: b29a uxth r2, r3 804cbee: 4b11 ldr r3, [pc, #68] ; (804cc34 ) 804cbf0: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804cbf2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cbf6: 021b lsls r3, r3, #8 804cbf8: b29a uxth r2, r3 804cbfa: 4b0e ldr r3, [pc, #56] ; (804cc34 ) 804cbfc: 881b ldrh r3, [r3, #0] 804cbfe: b29b uxth r3, r3 804cc00: 4413 add r3, r2 804cc02: b29a uxth r2, r3 804cc04: 4b0c ldr r3, [pc, #48] ; (804cc38 ) 804cc06: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804cc08: 4b12 ldr r3, [pc, #72] ; (804cc54 ) 804cc0a: 881b ldrh r3, [r3, #0] 804cc0c: b29b uxth r3, r3 804cc0e: 461a mov r2, r3 804cc10: 4b08 ldr r3, [pc, #32] ; (804cc34 ) 804cc12: 881b ldrh r3, [r3, #0] 804cc14: b29b uxth r3, r3 804cc16: 1ad2 subs r2, r2, r3 804cc18: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cc1c: fb92 f3f3 sdiv r3, r2, r3 804cc20: 461a mov r2, r3 804cc22: 4b06 ldr r3, [pc, #24] ; (804cc3c ) 804cc24: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804cc26: 4b07 ldr r3, [pc, #28] ; (804cc44 ) 804cc28: 2201 movs r2, #1 804cc2a: 701a strb r2, [r3, #0] } break; 804cc2c: e3f3 b.n 804d416 804cc2e: bf00 nop 804cc30: 20025d66 .word 0x20025d66 804cc34: 20025d62 .word 0x20025d62 804cc38: 20025d68 .word 0x20025d68 804cc3c: 2002006c .word 0x2002006c 804cc40: 20025d5e .word 0x20025d5e 804cc44: 20020994 .word 0x20020994 804cc48: 20020fb8 .word 0x20020fb8 804cc4c: 20023ea8 .word 0x20023ea8 804cc50: 080f2b68 .word 0x080f2b68 804cc54: 20025d64 .word 0x20025d64 case ZoomOut: lvl_0 = 0; 804cc58: 2300 movs r3, #0 804cc5a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804cc5e: 2304 movs r3, #4 804cc60: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804cc64: 4b94 ldr r3, [pc, #592] ; (804ceb8 ) 804cc66: 781b ldrb r3, [r3, #0] 804cc68: b2db uxtb r3, r3 804cc6a: 461a mov r2, r3 804cc6c: 4613 mov r3, r2 804cc6e: 009b lsls r3, r3, #2 804cc70: 4413 add r3, r2 804cc72: 4a92 ldr r2, [pc, #584] ; (804cebc ) 804cc74: 79d2 ldrb r2, [r2, #7] 804cc76: b2d2 uxtb r2, r2 804cc78: 4413 add r3, r2 804cc7a: 4a91 ldr r2, [pc, #580] ; (804cec0 ) 804cc7c: 3323 adds r3, #35 ; 0x23 804cc7e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cc82: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804cc86: 4b8c ldr r3, [pc, #560] ; (804ceb8 ) 804cc88: 781b ldrb r3, [r3, #0] 804cc8a: b2db uxtb r3, r3 804cc8c: 2b00 cmp r3, #0 804cc8e: f000 83c5 beq.w 804d41c { ViewLevel--; 804cc92: 4b89 ldr r3, [pc, #548] ; (804ceb8 ) 804cc94: 781b ldrb r3, [r3, #0] 804cc96: b2db uxtb r3, r3 804cc98: 3b01 subs r3, #1 804cc9a: b2da uxtb r2, r3 804cc9c: 4b86 ldr r3, [pc, #536] ; (804ceb8 ) 804cc9e: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804cca0: 4b85 ldr r3, [pc, #532] ; (804ceb8 ) 804cca2: 781b ldrb r3, [r3, #0] 804cca4: b2db uxtb r3, r3 804cca6: 461a mov r2, r3 804cca8: 4613 mov r3, r2 804ccaa: 009b lsls r3, r3, #2 804ccac: 4413 add r3, r2 804ccae: 4a83 ldr r2, [pc, #524] ; (804cebc ) 804ccb0: 79d2 ldrb r2, [r2, #7] 804ccb2: b2d2 uxtb r2, r2 804ccb4: 4413 add r3, r2 804ccb6: 4a82 ldr r2, [pc, #520] ; (804cec0 ) 804ccb8: 3323 adds r3, #35 ; 0x23 804ccba: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ccbe: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804ccc2: 4b7d ldr r3, [pc, #500] ; (804ceb8 ) 804ccc4: 781b ldrb r3, [r3, #0] 804ccc6: b2db uxtb r3, r3 804ccc8: 2b00 cmp r3, #0 804ccca: d130 bne.n 804cd2e { X0 = lX = 0; 804cccc: 2100 movs r1, #0 804ccce: 4b7d ldr r3, [pc, #500] ; (804cec4 ) 804ccd0: 460a mov r2, r1 804ccd2: 801a strh r2, [r3, #0] 804ccd4: 4b7c ldr r3, [pc, #496] ; (804cec8 ) 804ccd6: 460a mov r2, r1 804ccd8: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804ccda: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ccde: 021b lsls r3, r3, #8 804cce0: b29a uxth r2, r3 804cce2: 4b78 ldr r3, [pc, #480] ; (804cec4 ) 804cce4: 881b ldrh r3, [r3, #0] 804cce6: b29b uxth r3, r3 804cce8: 4413 add r3, r2 804ccea: b29a uxth r2, r3 804ccec: 4b77 ldr r3, [pc, #476] ; (804cecc ) 804ccee: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804ccf0: 4b77 ldr r3, [pc, #476] ; (804ced0 ) 804ccf2: 881b ldrh r3, [r3, #0] 804ccf4: b29b uxth r3, r3 804ccf6: 461a mov r2, r3 804ccf8: 4b72 ldr r3, [pc, #456] ; (804cec4 ) 804ccfa: 881b ldrh r3, [r3, #0] 804ccfc: b29b uxth r3, r3 804ccfe: 1ad2 subs r2, r2, r3 804cd00: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cd04: fb92 f3f3 sdiv r3, r2, r3 804cd08: 461a mov r2, r3 804cd0a: 4b72 ldr r3, [pc, #456] ; (804ced4 ) 804cd0c: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804cd0e: 4b71 ldr r3, [pc, #452] ; (804ced4 ) 804cd10: 681b ldr r3, [r3, #0] 804cd12: b29b uxth r3, r3 804cd14: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cd18: fb12 f303 smulbb r3, r2, r3 804cd1c: b29a uxth r2, r3 804cd1e: 4b6a ldr r3, [pc, #424] ; (804cec8 ) 804cd20: 881b ldrh r3, [r3, #0] 804cd22: b29b uxth r3, r3 804cd24: 4413 add r3, r2 804cd26: b29a uxth r2, r3 804cd28: 4b6b ldr r3, [pc, #428] ; (804ced8 ) 804cd2a: 801a strh r2, [r3, #0] 804cd2c: e090 b.n 804ce50 } else { if(CURSOR * dX > Mpos) 804cd2e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cd32: 4a68 ldr r2, [pc, #416] ; (804ced4 ) 804cd34: 6812 ldr r2, [r2, #0] 804cd36: fb02 f303 mul.w r3, r2, r3 804cd3a: 4a67 ldr r2, [pc, #412] ; (804ced8 ) 804cd3c: 8812 ldrh r2, [r2, #0] 804cd3e: b292 uxth r2, r2 804cd40: 4293 cmp r3, r2 804cd42: d91f bls.n 804cd84 { while(CURSOR * dX > Mpos) 804cd44: e004 b.n 804cd50 CURSOR--; 804cd46: 4b63 ldr r3, [pc, #396] ; (804ced4 ) 804cd48: 681b ldr r3, [r3, #0] 804cd4a: 3b01 subs r3, #1 804cd4c: 4a61 ldr r2, [pc, #388] ; (804ced4 ) 804cd4e: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804cd50: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cd54: 4a5f ldr r2, [pc, #380] ; (804ced4 ) 804cd56: 6812 ldr r2, [r2, #0] 804cd58: fb02 f303 mul.w r3, r2, r3 804cd5c: 4a5e ldr r2, [pc, #376] ; (804ced8 ) 804cd5e: 8812 ldrh r2, [r2, #0] 804cd60: b292 uxth r2, r2 804cd62: 4293 cmp r3, r2 804cd64: d8ef bhi.n 804cd46 Mpos = X0 + CURSOR * dX; 804cd66: 4b5b ldr r3, [pc, #364] ; (804ced4 ) 804cd68: 681b ldr r3, [r3, #0] 804cd6a: b29b uxth r3, r3 804cd6c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cd70: fb12 f303 smulbb r3, r2, r3 804cd74: b29a uxth r2, r3 804cd76: 4b54 ldr r3, [pc, #336] ; (804cec8 ) 804cd78: 881b ldrh r3, [r3, #0] 804cd7a: b29b uxth r3, r3 804cd7c: 4413 add r3, r2 804cd7e: b29a uxth r2, r3 804cd80: 4b55 ldr r3, [pc, #340] ; (804ced8 ) 804cd82: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804cd84: 4b54 ldr r3, [pc, #336] ; (804ced8 ) 804cd86: 881b ldrh r3, [r3, #0] 804cd88: b29b uxth r3, r3 804cd8a: 4619 mov r1, r3 804cd8c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cd90: 4a50 ldr r2, [pc, #320] ; (804ced4 ) 804cd92: 6812 ldr r2, [r2, #0] 804cd94: fb02 f303 mul.w r3, r2, r3 804cd98: 1acb subs r3, r1, r3 804cd9a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804cd9e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cda2: 021b lsls r3, r3, #8 804cda4: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804cda8: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804cdac: 4613 mov r3, r2 804cdae: 009b lsls r3, r3, #2 804cdb0: 4413 add r3, r2 804cdb2: 4a42 ldr r2, [pc, #264] ; (804cebc ) 804cdb4: 79d2 ldrb r2, [r2, #7] 804cdb6: b2d2 uxtb r2, r2 804cdb8: 4413 add r3, r2 804cdba: 4a41 ldr r2, [pc, #260] ; (804cec0 ) 804cdbc: 3323 adds r3, #35 ; 0x23 804cdbe: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cdc2: 021b lsls r3, r3, #8 804cdc4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804cdc8: e006 b.n 804cdd8 i -= dXold; 804cdca: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804cdce: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804cdd2: 1ad3 subs r3, r2, r3 804cdd4: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804cdd8: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804cddc: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804cde0: 441a add r2, r3 804cde2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804cde6: 429a cmp r2, r3 804cde8: d8ef bhi.n 804cdca } X0 = (uint16_t) i; 804cdea: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804cdee: b29a uxth r2, r3 804cdf0: 4b35 ldr r3, [pc, #212] ; (804cec8 ) 804cdf2: 801a strh r2, [r3, #0] lX = X0; 804cdf4: 4b34 ldr r3, [pc, #208] ; (804cec8 ) 804cdf6: 881b ldrh r3, [r3, #0] 804cdf8: b29a uxth r2, r3 804cdfa: 4b32 ldr r3, [pc, #200] ; (804cec4 ) 804cdfc: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804cdfe: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ce02: 021b lsls r3, r3, #8 804ce04: b29a uxth r2, r3 804ce06: 4b2f ldr r3, [pc, #188] ; (804cec4 ) 804ce08: 881b ldrh r3, [r3, #0] 804ce0a: b29b uxth r3, r3 804ce0c: 4413 add r3, r2 804ce0e: b29a uxth r2, r3 804ce10: 4b2e ldr r3, [pc, #184] ; (804cecc ) 804ce12: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804ce14: 4b2e ldr r3, [pc, #184] ; (804ced0 ) 804ce16: 881b ldrh r3, [r3, #0] 804ce18: b29b uxth r3, r3 804ce1a: 461a mov r2, r3 804ce1c: 4b29 ldr r3, [pc, #164] ; (804cec4 ) 804ce1e: 881b ldrh r3, [r3, #0] 804ce20: b29b uxth r3, r3 804ce22: 1ad2 subs r2, r2, r3 804ce24: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ce28: fb92 f3f3 sdiv r3, r2, r3 804ce2c: 461a mov r2, r3 804ce2e: 4b29 ldr r3, [pc, #164] ; (804ced4 ) 804ce30: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804ce32: 4b28 ldr r3, [pc, #160] ; (804ced4 ) 804ce34: 681b ldr r3, [r3, #0] 804ce36: b29b uxth r3, r3 804ce38: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804ce3c: fb12 f303 smulbb r3, r2, r3 804ce40: b29a uxth r2, r3 804ce42: 4b21 ldr r3, [pc, #132] ; (804cec8 ) 804ce44: 881b ldrh r3, [r3, #0] 804ce46: b29b uxth r3, r3 804ce48: 4413 add r3, r2 804ce4a: b29a uxth r2, r3 804ce4c: 4b22 ldr r3, [pc, #136] ; (804ced8 ) 804ce4e: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804ce50: 4b22 ldr r3, [pc, #136] ; (804cedc ) 804ce52: 2201 movs r2, #1 804ce54: 701a strb r2, [r3, #0] } break; 804ce56: e2e1 b.n 804d41c case Cursor: AUTOZOOM = true; 804ce58: 4b20 ldr r3, [pc, #128] ; (804cedc ) 804ce5a: 2201 movs r2, #1 804ce5c: 701a strb r2, [r3, #0] if((DynamicCursor[0].Mpos >= Mpos) && (DynamicCursor[0].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804ce5e: 4b20 ldr r3, [pc, #128] ; (804cee0 ) 804ce60: 889a ldrh r2, [r3, #4] 804ce62: 4b1d ldr r3, [pc, #116] ; (804ced8 ) 804ce64: 881b ldrh r3, [r3, #0] 804ce66: b29b uxth r3, r3 804ce68: 429a cmp r2, r3 804ce6a: d33b bcc.n 804cee4 804ce6c: 4b1c ldr r3, [pc, #112] ; (804cee0 ) 804ce6e: 889b ldrh r3, [r3, #4] 804ce70: 4619 mov r1, r3 804ce72: 4b19 ldr r3, [pc, #100] ; (804ced8 ) 804ce74: 881b ldrh r3, [r3, #0] 804ce76: b29b uxth r3, r3 804ce78: 4618 mov r0, r3 804ce7a: 4b0f ldr r3, [pc, #60] ; (804ceb8 ) 804ce7c: 781b ldrb r3, [r3, #0] 804ce7e: b2db uxtb r3, r3 804ce80: 461a mov r2, r3 804ce82: 4613 mov r3, r2 804ce84: 009b lsls r3, r3, #2 804ce86: 4413 add r3, r2 804ce88: 4a0c ldr r2, [pc, #48] ; (804cebc ) 804ce8a: 79d2 ldrb r2, [r2, #7] 804ce8c: b2d2 uxtb r2, r2 804ce8e: 4413 add r3, r2 804ce90: 4a0b ldr r2, [pc, #44] ; (804cec0 ) 804ce92: 3323 adds r3, #35 ; 0x23 804ce94: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ce98: 4403 add r3, r0 804ce9a: 4299 cmp r1, r3 804ce9c: da22 bge.n 804cee4 { if(DynamicCursor[0].Enabled) 804ce9e: 4b10 ldr r3, [pc, #64] ; (804cee0 ) 804cea0: 781b ldrb r3, [r3, #0] 804cea2: 2b00 cmp r3, #0 804cea4: d075 beq.n 804cf92 { DynamicCursor[0].Enabled = false; 804cea6: 4b0e ldr r3, [pc, #56] ; (804cee0 ) 804cea8: 2200 movs r2, #0 804ceaa: 701a strb r2, [r3, #0] DynamicCursor[0].Mpos = 0xffff; 804ceac: 4b0c ldr r3, [pc, #48] ; (804cee0 ) 804ceae: f64f 72ff movw r2, #65535 ; 0xffff 804ceb2: 809a strh r2, [r3, #4] if(DynamicCursor[0].Enabled) 804ceb4: e06d b.n 804cf92 804ceb6: bf00 nop 804ceb8: 20020fb8 .word 0x20020fb8 804cebc: 20023ea8 .word 0x20023ea8 804cec0: 080f2b68 .word 0x080f2b68 804cec4: 20025d62 .word 0x20025d62 804cec8: 20025d66 .word 0x20025d66 804cecc: 20025d68 .word 0x20025d68 804ced0: 20025d64 .word 0x20025d64 804ced4: 2002006c .word 0x2002006c 804ced8: 20025d5e .word 0x20025d5e 804cedc: 20020994 .word 0x20020994 804cee0: 20020f8c .word 0x20020f8c } } else if((DynamicCursor[1].Mpos >= Mpos) && (DynamicCursor[1].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804cee4: 4b7b ldr r3, [pc, #492] ; (804d0d4 ) 804cee6: 8a9a ldrh r2, [r3, #20] 804cee8: 4b7b ldr r3, [pc, #492] ; (804d0d8 ) 804ceea: 881b ldrh r3, [r3, #0] 804ceec: b29b uxth r3, r3 804ceee: 429a cmp r2, r3 804cef0: d324 bcc.n 804cf3c 804cef2: 4b78 ldr r3, [pc, #480] ; (804d0d4 ) 804cef4: 8a9b ldrh r3, [r3, #20] 804cef6: 4619 mov r1, r3 804cef8: 4b77 ldr r3, [pc, #476] ; (804d0d8 ) 804cefa: 881b ldrh r3, [r3, #0] 804cefc: b29b uxth r3, r3 804cefe: 4618 mov r0, r3 804cf00: 4b76 ldr r3, [pc, #472] ; (804d0dc ) 804cf02: 781b ldrb r3, [r3, #0] 804cf04: b2db uxtb r3, r3 804cf06: 461a mov r2, r3 804cf08: 4613 mov r3, r2 804cf0a: 009b lsls r3, r3, #2 804cf0c: 4413 add r3, r2 804cf0e: 4a74 ldr r2, [pc, #464] ; (804d0e0 ) 804cf10: 79d2 ldrb r2, [r2, #7] 804cf12: b2d2 uxtb r2, r2 804cf14: 4413 add r3, r2 804cf16: 4a73 ldr r2, [pc, #460] ; (804d0e4 ) 804cf18: 3323 adds r3, #35 ; 0x23 804cf1a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cf1e: 4403 add r3, r0 804cf20: 4299 cmp r1, r3 804cf22: da0b bge.n 804cf3c { if(DynamicCursor[1].Enabled) 804cf24: 4b6b ldr r3, [pc, #428] ; (804d0d4 ) 804cf26: 7c1b ldrb r3, [r3, #16] 804cf28: 2b00 cmp r3, #0 804cf2a: d032 beq.n 804cf92 { DynamicCursor[1].Enabled = false; 804cf2c: 4b69 ldr r3, [pc, #420] ; (804d0d4 ) 804cf2e: 2200 movs r2, #0 804cf30: 741a strb r2, [r3, #16] DynamicCursor[1].Mpos = 0xffff; 804cf32: 4b68 ldr r3, [pc, #416] ; (804d0d4 ) 804cf34: f64f 72ff movw r2, #65535 ; 0xffff 804cf38: 829a strh r2, [r3, #20] if(DynamicCursor[1].Enabled) 804cf3a: e02a b.n 804cf92 } } else { if(!DynamicCursor[0].Enabled) 804cf3c: 4b65 ldr r3, [pc, #404] ; (804d0d4 ) 804cf3e: 781b ldrb r3, [r3, #0] 804cf40: f083 0301 eor.w r3, r3, #1 804cf44: b2db uxtb r3, r3 804cf46: 2b00 cmp r3, #0 804cf48: d00d beq.n 804cf66 { DynamicCursor[0].Mpos = Mpos; 804cf4a: 4b63 ldr r3, [pc, #396] ; (804d0d8 ) 804cf4c: 881b ldrh r3, [r3, #0] 804cf4e: b29a uxth r2, r3 804cf50: 4b60 ldr r3, [pc, #384] ; (804d0d4 ) 804cf52: 809a strh r2, [r3, #4] DynamicCursor[0].fineMpos = Mpos; 804cf54: 4b60 ldr r3, [pc, #384] ; (804d0d8 ) 804cf56: 881b ldrh r3, [r3, #0] 804cf58: b29a uxth r2, r3 804cf5a: 4b5e ldr r3, [pc, #376] ; (804d0d4 ) 804cf5c: 80da strh r2, [r3, #6] DynamicCursor[0].Enabled = true; 804cf5e: 4b5d ldr r3, [pc, #372] ; (804d0d4 ) 804cf60: 2201 movs r2, #1 804cf62: 701a strb r2, [r3, #0] DynamicCursor[1].Mpos = Mpos; DynamicCursor[1].fineMpos = Mpos; DynamicCursor[1].Enabled = true; } } break; 804cf64: e25d b.n 804d422 if(!DynamicCursor[1].Enabled) 804cf66: 4b5b ldr r3, [pc, #364] ; (804d0d4 ) 804cf68: 7c1b ldrb r3, [r3, #16] 804cf6a: f083 0301 eor.w r3, r3, #1 804cf6e: b2db uxtb r3, r3 804cf70: 2b00 cmp r3, #0 804cf72: f000 8256 beq.w 804d422 DynamicCursor[1].Mpos = Mpos; 804cf76: 4b58 ldr r3, [pc, #352] ; (804d0d8 ) 804cf78: 881b ldrh r3, [r3, #0] 804cf7a: b29a uxth r2, r3 804cf7c: 4b55 ldr r3, [pc, #340] ; (804d0d4 ) 804cf7e: 829a strh r2, [r3, #20] DynamicCursor[1].fineMpos = Mpos; 804cf80: 4b55 ldr r3, [pc, #340] ; (804d0d8 ) 804cf82: 881b ldrh r3, [r3, #0] 804cf84: b29a uxth r2, r3 804cf86: 4b53 ldr r3, [pc, #332] ; (804d0d4 ) 804cf88: 82da strh r2, [r3, #22] DynamicCursor[1].Enabled = true; 804cf8a: 4b52 ldr r3, [pc, #328] ; (804d0d4 ) 804cf8c: 2201 movs r2, #1 804cf8e: 741a strb r2, [r3, #16] break; 804cf90: e247 b.n 804d422 804cf92: e246 b.n 804d422 case SaveSpec: if(CardState == MSD_READY) 804cf94: 4b54 ldr r3, [pc, #336] ; (804d0e8 ) 804cf96: 781b ldrb r3, [r3, #0] 804cf98: b2db uxtb r3, r3 804cf9a: 2b03 cmp r3, #3 804cf9c: f040 8213 bne.w 804d3c6 { if(!measuring) 804cfa0: 4b52 ldr r3, [pc, #328] ; (804d0ec ) 804cfa2: 781b ldrb r3, [r3, #0] 804cfa4: b2db uxtb r3, r3 804cfa6: f083 0301 eor.w r3, r3, #1 804cfaa: b2db uxtb r3, r3 804cfac: 2b00 cmp r3, #0 804cfae: f000 823b beq.w 804d428 { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804cfb2: 2200 movs r2, #0 804cfb4: 494e ldr r1, [pc, #312] ; (804d0f0 ) 804cfb6: 484f ldr r0, [pc, #316] ; (804d0f4 ) 804cfb8: f06f fc0c bl 80bc7d4 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804cfbc: 2200 movs r2, #0 804cfbe: 494e ldr r1, [pc, #312] ; (804d0f8 ) 804cfc0: 484c ldr r0, [pc, #304] ; (804d0f4 ) 804cfc2: f06f fd0d bl 80bc9e0 Day = RTC_DateStruct.Date; 804cfc6: 4b4c ldr r3, [pc, #304] ; (804d0f8 ) 804cfc8: 789b ldrb r3, [r3, #2] 804cfca: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804cfce: 4b4a ldr r3, [pc, #296] ; (804d0f8 ) 804cfd0: 785b ldrb r3, [r3, #1] 804cfd2: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804cfd6: 4b48 ldr r3, [pc, #288] ; (804d0f8 ) 804cfd8: 78db ldrb r3, [r3, #3] 804cfda: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804cfde: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804cfe2: 4b43 ldr r3, [pc, #268] ; (804d0f0 ) 804cfe4: 781b ldrb r3, [r3, #0] 804cfe6: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804cfea: 4b41 ldr r3, [pc, #260] ; (804d0f0 ) 804cfec: 785b ldrb r3, [r3, #1] 804cfee: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804cff0: 4b3f ldr r3, [pc, #252] ; (804d0f0 ) 804cff2: 789b ldrb r3, [r3, #2] 804cff4: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804cff6: 2221 movs r2, #33 ; 0x21 804cff8: 2100 movs r1, #0 804cffa: 4840 ldr r0, [pc, #256] ; (804d0fc ) 804cffc: f084 f9d0 bl 80d13a0 strcpy(TEMP_MeasFileName,"FFT_"); 804d000: 4b3e ldr r3, [pc, #248] ; (804d0fc ) 804d002: 4a3f ldr r2, [pc, #252] ; (804d100 ) 804d004: 6810 ldr r0, [r2, #0] 804d006: 6018 str r0, [r3, #0] 804d008: 7912 ldrb r2, [r2, #4] 804d00a: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804d00c: 4b34 ldr r3, [pc, #208] ; (804d0e0 ) 804d00e: 785b ldrb r3, [r3, #1] 804d010: b2db uxtb r3, r3 804d012: 2b00 cmp r3, #0 804d014: d10c bne.n 804d030 804d016: 4839 ldr r0, [pc, #228] ; (804d0fc ) 804d018: f7d3 f97c bl 8020314 804d01c: 4603 mov r3, r0 804d01e: 461a mov r2, r3 804d020: 4b36 ldr r3, [pc, #216] ; (804d0fc ) 804d022: 4413 add r3, r2 804d024: 4937 ldr r1, [pc, #220] ; (804d104 ) 804d026: 461a mov r2, r3 804d028: 460b mov r3, r1 804d02a: 881b ldrh r3, [r3, #0] 804d02c: 8013 strh r3, [r2, #0] 804d02e: e022 b.n 804d076 else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804d030: 4b2b ldr r3, [pc, #172] ; (804d0e0 ) 804d032: 785b ldrb r3, [r3, #1] 804d034: b2db uxtb r3, r3 804d036: 2b01 cmp r3, #1 804d038: d10c bne.n 804d054 804d03a: 4830 ldr r0, [pc, #192] ; (804d0fc ) 804d03c: f7d3 f96a bl 8020314 804d040: 4603 mov r3, r0 804d042: 461a mov r2, r3 804d044: 4b2d ldr r3, [pc, #180] ; (804d0fc ) 804d046: 4413 add r3, r2 804d048: 492f ldr r1, [pc, #188] ; (804d108 ) 804d04a: 461a mov r2, r3 804d04c: 460b mov r3, r1 804d04e: 881b ldrh r3, [r3, #0] 804d050: 8013 strh r3, [r2, #0] 804d052: e010 b.n 804d076 else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804d054: 4b22 ldr r3, [pc, #136] ; (804d0e0 ) 804d056: 785b ldrb r3, [r3, #1] 804d058: b2db uxtb r3, r3 804d05a: 2b02 cmp r3, #2 804d05c: d10b bne.n 804d076 804d05e: 4827 ldr r0, [pc, #156] ; (804d0fc ) 804d060: f7d3 f958 bl 8020314 804d064: 4603 mov r3, r0 804d066: 461a mov r2, r3 804d068: 4b24 ldr r3, [pc, #144] ; (804d0fc ) 804d06a: 4413 add r3, r2 804d06c: 4927 ldr r1, [pc, #156] ; (804d10c ) 804d06e: 461a mov r2, r3 804d070: 460b mov r3, r1 804d072: 881b ldrh r3, [r3, #0] 804d074: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804d076: 4b1a ldr r3, [pc, #104] ; (804d0e0 ) 804d078: 785b ldrb r3, [r3, #1] 804d07a: b2db uxtb r3, r3 804d07c: 461a mov r2, r3 804d07e: 4b18 ldr r3, [pc, #96] ; (804d0e0 ) 804d080: 4413 add r3, r2 804d082: 789b ldrb r3, [r3, #2] 804d084: b2db uxtb r3, r3 804d086: 2b00 cmp r3, #0 804d088: d10c bne.n 804d0a4 804d08a: 481c ldr r0, [pc, #112] ; (804d0fc ) 804d08c: f7d3 f942 bl 8020314 804d090: 4603 mov r3, r0 804d092: 461a mov r2, r3 804d094: 4b19 ldr r3, [pc, #100] ; (804d0fc ) 804d096: 4413 add r3, r2 804d098: 4a1d ldr r2, [pc, #116] ; (804d110 ) 804d09a: 6810 ldr r0, [r2, #0] 804d09c: 6018 str r0, [r3, #0] 804d09e: 7912 ldrb r2, [r2, #4] 804d0a0: 711a strb r2, [r3, #4] 804d0a2: e051 b.n 804d148 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804d0a4: 4b0e ldr r3, [pc, #56] ; (804d0e0 ) 804d0a6: 785b ldrb r3, [r3, #1] 804d0a8: b2db uxtb r3, r3 804d0aa: 461a mov r2, r3 804d0ac: 4b0c ldr r3, [pc, #48] ; (804d0e0 ) 804d0ae: 4413 add r3, r2 804d0b0: 789b ldrb r3, [r3, #2] 804d0b2: b2db uxtb r3, r3 804d0b4: 2b01 cmp r3, #1 804d0b6: d12f bne.n 804d118 804d0b8: 4810 ldr r0, [pc, #64] ; (804d0fc ) 804d0ba: f7d3 f92b bl 8020314 804d0be: 4603 mov r3, r0 804d0c0: 461a mov r2, r3 804d0c2: 4b0e ldr r3, [pc, #56] ; (804d0fc ) 804d0c4: 4413 add r3, r2 804d0c6: 4a13 ldr r2, [pc, #76] ; (804d114 ) 804d0c8: 6810 ldr r0, [r2, #0] 804d0ca: 6018 str r0, [r3, #0] 804d0cc: 8892 ldrh r2, [r2, #4] 804d0ce: 809a strh r2, [r3, #4] 804d0d0: e03a b.n 804d148 804d0d2: bf00 nop 804d0d4: 20020f8c .word 0x20020f8c 804d0d8: 20025d5e .word 0x20025d5e 804d0dc: 20020fb8 .word 0x20020fb8 804d0e0: 20023ea8 .word 0x20023ea8 804d0e4: 080f2b68 .word 0x080f2b68 804d0e8: 20021694 .word 0x20021694 804d0ec: 20020dcf .word 0x20020dcf 804d0f0: 20025cb0 .word 0x20025cb0 804d0f4: 200685d8 .word 0x200685d8 804d0f8: 20025d34 .word 0x20025d34 804d0fc: 20025cc8 .word 0x20025cc8 804d100: 080d2984 .word 0x080d2984 804d104: 080d298c .word 0x080d298c 804d108: 080d2990 .word 0x080d2990 804d10c: 080d2994 .word 0x080d2994 804d110: 080d2998 .word 0x080d2998 804d114: 080d29a0 .word 0x080d29a0 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804d118: 4bb0 ldr r3, [pc, #704] ; (804d3dc ) 804d11a: 785b ldrb r3, [r3, #1] 804d11c: b2db uxtb r3, r3 804d11e: 461a mov r2, r3 804d120: 4bae ldr r3, [pc, #696] ; (804d3dc ) 804d122: 4413 add r3, r2 804d124: 789b ldrb r3, [r3, #2] 804d126: b2db uxtb r3, r3 804d128: 2b02 cmp r3, #2 804d12a: d10d bne.n 804d148 804d12c: 48ac ldr r0, [pc, #688] ; (804d3e0 ) 804d12e: f7d3 f8f1 bl 8020314 804d132: 4603 mov r3, r0 804d134: 461a mov r2, r3 804d136: 4baa ldr r3, [pc, #680] ; (804d3e0 ) 804d138: 4413 add r3, r2 804d13a: 4aaa ldr r2, [pc, #680] ; (804d3e4 ) 804d13c: 6810 ldr r0, [r2, #0] 804d13e: 6018 str r0, [r3, #0] 804d140: 8891 ldrh r1, [r2, #4] 804d142: 7992 ldrb r2, [r2, #6] 804d144: 8099 strh r1, [r3, #4] 804d146: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804d148: 48a5 ldr r0, [pc, #660] ; (804d3e0 ) 804d14a: f7d3 f8e3 bl 8020314 804d14e: 4602 mov r2, r0 804d150: 4ba5 ldr r3, [pc, #660] ; (804d3e8 ) 804d152: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804d154: 4ba4 ldr r3, [pc, #656] ; (804d3e8 ) 804d156: 681b ldr r3, [r3, #0] 804d158: 1c5a adds r2, r3, #1 804d15a: 49a3 ldr r1, [pc, #652] ; (804d3e8 ) 804d15c: 600a str r2, [r1, #0] 804d15e: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d162: 49a2 ldr r1, [pc, #648] ; (804d3ec ) 804d164: fba1 1202 umull r1, r2, r1, r2 804d168: 0992 lsrs r2, r2, #6 804d16a: b2d2 uxtb r2, r2 804d16c: 3230 adds r2, #48 ; 0x30 804d16e: b2d1 uxtb r1, r2 804d170: 4a9b ldr r2, [pc, #620] ; (804d3e0 ) 804d172: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804d174: 4b9c ldr r3, [pc, #624] ; (804d3e8 ) 804d176: 681a ldr r2, [r3, #0] 804d178: 1c53 adds r3, r2, #1 804d17a: 499b ldr r1, [pc, #620] ; (804d3e8 ) 804d17c: 600b str r3, [r1, #0] 804d17e: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804d182: 4b9a ldr r3, [pc, #616] ; (804d3ec ) 804d184: fba3 0301 umull r0, r3, r3, r1 804d188: 099b lsrs r3, r3, #6 804d18a: f44f 707a mov.w r0, #1000 ; 0x3e8 804d18e: fb00 f303 mul.w r3, r0, r3 804d192: 1acb subs r3, r1, r3 804d194: 4996 ldr r1, [pc, #600] ; (804d3f0 ) 804d196: fba1 1303 umull r1, r3, r1, r3 804d19a: 095b lsrs r3, r3, #5 804d19c: b2db uxtb r3, r3 804d19e: 3330 adds r3, #48 ; 0x30 804d1a0: b2d9 uxtb r1, r3 804d1a2: 4b8f ldr r3, [pc, #572] ; (804d3e0 ) 804d1a4: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804d1a6: 4b90 ldr r3, [pc, #576] ; (804d3e8 ) 804d1a8: 6819 ldr r1, [r3, #0] 804d1aa: 1c4b adds r3, r1, #1 804d1ac: 4a8e ldr r2, [pc, #568] ; (804d3e8 ) 804d1ae: 6013 str r3, [r2, #0] 804d1b0: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d1b4: 4b8d ldr r3, [pc, #564] ; (804d3ec ) 804d1b6: fba3 0302 umull r0, r3, r3, r2 804d1ba: 099b lsrs r3, r3, #6 804d1bc: f44f 707a mov.w r0, #1000 ; 0x3e8 804d1c0: fb00 f303 mul.w r3, r0, r3 804d1c4: 1ad3 subs r3, r2, r3 804d1c6: 4a8a ldr r2, [pc, #552] ; (804d3f0 ) 804d1c8: fba2 0203 umull r0, r2, r2, r3 804d1cc: 0952 lsrs r2, r2, #5 804d1ce: 2064 movs r0, #100 ; 0x64 804d1d0: fb00 f202 mul.w r2, r0, r2 804d1d4: 1a9a subs r2, r3, r2 804d1d6: 4b87 ldr r3, [pc, #540] ; (804d3f4 ) 804d1d8: fba3 2302 umull r2, r3, r3, r2 804d1dc: 08db lsrs r3, r3, #3 804d1de: b2db uxtb r3, r3 804d1e0: 3330 adds r3, #48 ; 0x30 804d1e2: b2da uxtb r2, r3 804d1e4: 4b7e ldr r3, [pc, #504] ; (804d3e0 ) 804d1e6: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804d1e8: 4b7f ldr r3, [pc, #508] ; (804d3e8 ) 804d1ea: 6818 ldr r0, [r3, #0] 804d1ec: 1c43 adds r3, r0, #1 804d1ee: 4a7e ldr r2, [pc, #504] ; (804d3e8 ) 804d1f0: 6013 str r3, [r2, #0] 804d1f2: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d1f6: 4b7d ldr r3, [pc, #500] ; (804d3ec ) 804d1f8: fba3 1302 umull r1, r3, r3, r2 804d1fc: 099b lsrs r3, r3, #6 804d1fe: f44f 717a mov.w r1, #1000 ; 0x3e8 804d202: fb01 f303 mul.w r3, r1, r3 804d206: 1ad3 subs r3, r2, r3 804d208: 4a79 ldr r2, [pc, #484] ; (804d3f0 ) 804d20a: fba2 1203 umull r1, r2, r2, r3 804d20e: 0952 lsrs r2, r2, #5 804d210: 2164 movs r1, #100 ; 0x64 804d212: fb01 f202 mul.w r2, r1, r2 804d216: 1a9a subs r2, r3, r2 804d218: 4b76 ldr r3, [pc, #472] ; (804d3f4 ) 804d21a: fba3 1302 umull r1, r3, r3, r2 804d21e: 08d9 lsrs r1, r3, #3 804d220: 460b mov r3, r1 804d222: 009b lsls r3, r3, #2 804d224: 440b add r3, r1 804d226: 005b lsls r3, r3, #1 804d228: 1ad1 subs r1, r2, r3 804d22a: b2cb uxtb r3, r1 804d22c: 3330 adds r3, #48 ; 0x30 804d22e: b2da uxtb r2, r3 804d230: 4b6b ldr r3, [pc, #428] ; (804d3e0 ) 804d232: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804d234: 4b6c ldr r3, [pc, #432] ; (804d3e8 ) 804d236: 681b ldr r3, [r3, #0] 804d238: 1c5a adds r2, r3, #1 804d23a: 496b ldr r1, [pc, #428] ; (804d3e8 ) 804d23c: 600a str r2, [r1, #0] 804d23e: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804d242: 496c ldr r1, [pc, #432] ; (804d3f4 ) 804d244: fba1 1202 umull r1, r2, r1, r2 804d248: 08d2 lsrs r2, r2, #3 804d24a: b2d2 uxtb r2, r2 804d24c: 3230 adds r2, #48 ; 0x30 804d24e: b2d1 uxtb r1, r2 804d250: 4a63 ldr r2, [pc, #396] ; (804d3e0 ) 804d252: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804d254: 4b64 ldr r3, [pc, #400] ; (804d3e8 ) 804d256: 6819 ldr r1, [r3, #0] 804d258: 1c4b adds r3, r1, #1 804d25a: 4a63 ldr r2, [pc, #396] ; (804d3e8 ) 804d25c: 6013 str r3, [r2, #0] 804d25e: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804d262: 4b64 ldr r3, [pc, #400] ; (804d3f4 ) 804d264: fba3 2300 umull r2, r3, r3, r0 804d268: 08da lsrs r2, r3, #3 804d26a: 4613 mov r3, r2 804d26c: 009b lsls r3, r3, #2 804d26e: 4413 add r3, r2 804d270: 005b lsls r3, r3, #1 804d272: 1ac2 subs r2, r0, r3 804d274: b2d3 uxtb r3, r2 804d276: 3330 adds r3, #48 ; 0x30 804d278: b2da uxtb r2, r3 804d27a: 4b59 ldr r3, [pc, #356] ; (804d3e0 ) 804d27c: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804d27e: 4b5a ldr r3, [pc, #360] ; (804d3e8 ) 804d280: 681b ldr r3, [r3, #0] 804d282: 1c5a adds r2, r3, #1 804d284: 4958 ldr r1, [pc, #352] ; (804d3e8 ) 804d286: 600a str r2, [r1, #0] 804d288: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804d28c: 4959 ldr r1, [pc, #356] ; (804d3f4 ) 804d28e: fba1 1202 umull r1, r2, r1, r2 804d292: 08d2 lsrs r2, r2, #3 804d294: b2d2 uxtb r2, r2 804d296: 3230 adds r2, #48 ; 0x30 804d298: b2d1 uxtb r1, r2 804d29a: 4a51 ldr r2, [pc, #324] ; (804d3e0 ) 804d29c: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804d29e: 4b52 ldr r3, [pc, #328] ; (804d3e8 ) 804d2a0: 6819 ldr r1, [r3, #0] 804d2a2: 1c4b adds r3, r1, #1 804d2a4: 4a50 ldr r2, [pc, #320] ; (804d3e8 ) 804d2a6: 6013 str r3, [r2, #0] 804d2a8: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804d2ac: 4b51 ldr r3, [pc, #324] ; (804d3f4 ) 804d2ae: fba3 2300 umull r2, r3, r3, r0 804d2b2: 08da lsrs r2, r3, #3 804d2b4: 4613 mov r3, r2 804d2b6: 009b lsls r3, r3, #2 804d2b8: 4413 add r3, r2 804d2ba: 005b lsls r3, r3, #1 804d2bc: 1ac2 subs r2, r0, r3 804d2be: b2d3 uxtb r3, r2 804d2c0: 3330 adds r3, #48 ; 0x30 804d2c2: b2da uxtb r2, r3 804d2c4: 4b46 ldr r3, [pc, #280] ; (804d3e0 ) 804d2c6: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804d2c8: 4b47 ldr r3, [pc, #284] ; (804d3e8 ) 804d2ca: 681b ldr r3, [r3, #0] 804d2cc: 1c5a adds r2, r3, #1 804d2ce: 4946 ldr r1, [pc, #280] ; (804d3e8 ) 804d2d0: 600a str r2, [r1, #0] 804d2d2: 4a43 ldr r2, [pc, #268] ; (804d3e0 ) 804d2d4: 215f movs r1, #95 ; 0x5f 804d2d6: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804d2d8: 4b43 ldr r3, [pc, #268] ; (804d3e8 ) 804d2da: 681b ldr r3, [r3, #0] 804d2dc: 1c5a adds r2, r3, #1 804d2de: 4942 ldr r1, [pc, #264] ; (804d3e8 ) 804d2e0: 600a str r2, [r1, #0] 804d2e2: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804d2e6: 4943 ldr r1, [pc, #268] ; (804d3f4 ) 804d2e8: fba1 1202 umull r1, r2, r1, r2 804d2ec: 08d2 lsrs r2, r2, #3 804d2ee: b2d2 uxtb r2, r2 804d2f0: 3230 adds r2, #48 ; 0x30 804d2f2: b2d1 uxtb r1, r2 804d2f4: 4a3a ldr r2, [pc, #232] ; (804d3e0 ) 804d2f6: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804d2f8: 4b3b ldr r3, [pc, #236] ; (804d3e8 ) 804d2fa: 6819 ldr r1, [r3, #0] 804d2fc: 1c4b adds r3, r1, #1 804d2fe: 4a3a ldr r2, [pc, #232] ; (804d3e8 ) 804d300: 6013 str r3, [r2, #0] 804d302: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804d306: 4b3b ldr r3, [pc, #236] ; (804d3f4 ) 804d308: fba3 2300 umull r2, r3, r3, r0 804d30c: 08da lsrs r2, r3, #3 804d30e: 4613 mov r3, r2 804d310: 009b lsls r3, r3, #2 804d312: 4413 add r3, r2 804d314: 005b lsls r3, r3, #1 804d316: 1ac2 subs r2, r0, r3 804d318: b2d3 uxtb r3, r2 804d31a: 3330 adds r3, #48 ; 0x30 804d31c: b2da uxtb r2, r3 804d31e: 4b30 ldr r3, [pc, #192] ; (804d3e0 ) 804d320: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804d322: 4b31 ldr r3, [pc, #196] ; (804d3e8 ) 804d324: 681b ldr r3, [r3, #0] 804d326: 1c5a adds r2, r3, #1 804d328: 492f ldr r1, [pc, #188] ; (804d3e8 ) 804d32a: 600a str r2, [r1, #0] 804d32c: 6ffa ldr r2, [r7, #124] ; 0x7c 804d32e: 4931 ldr r1, [pc, #196] ; (804d3f4 ) 804d330: fba1 1202 umull r1, r2, r1, r2 804d334: 08d2 lsrs r2, r2, #3 804d336: b2d2 uxtb r2, r2 804d338: 3230 adds r2, #48 ; 0x30 804d33a: b2d1 uxtb r1, r2 804d33c: 4a28 ldr r2, [pc, #160] ; (804d3e0 ) 804d33e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804d340: 4b29 ldr r3, [pc, #164] ; (804d3e8 ) 804d342: 6819 ldr r1, [r3, #0] 804d344: 1c4b adds r3, r1, #1 804d346: 4a28 ldr r2, [pc, #160] ; (804d3e8 ) 804d348: 6013 str r3, [r2, #0] 804d34a: 6ff8 ldr r0, [r7, #124] ; 0x7c 804d34c: 4b29 ldr r3, [pc, #164] ; (804d3f4 ) 804d34e: fba3 2300 umull r2, r3, r3, r0 804d352: 08da lsrs r2, r3, #3 804d354: 4613 mov r3, r2 804d356: 009b lsls r3, r3, #2 804d358: 4413 add r3, r2 804d35a: 005b lsls r3, r3, #1 804d35c: 1ac2 subs r2, r0, r3 804d35e: b2d3 uxtb r3, r2 804d360: 3330 adds r3, #48 ; 0x30 804d362: b2da uxtb r2, r3 804d364: 4b1e ldr r3, [pc, #120] ; (804d3e0 ) 804d366: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804d368: 4b1f ldr r3, [pc, #124] ; (804d3e8 ) 804d36a: 681b ldr r3, [r3, #0] 804d36c: 1c5a adds r2, r3, #1 804d36e: 491e ldr r1, [pc, #120] ; (804d3e8 ) 804d370: 600a str r2, [r1, #0] 804d372: 6fba ldr r2, [r7, #120] ; 0x78 804d374: 491f ldr r1, [pc, #124] ; (804d3f4 ) 804d376: fba1 1202 umull r1, r2, r1, r2 804d37a: 08d2 lsrs r2, r2, #3 804d37c: b2d2 uxtb r2, r2 804d37e: 3230 adds r2, #48 ; 0x30 804d380: b2d1 uxtb r1, r2 804d382: 4a17 ldr r2, [pc, #92] ; (804d3e0 ) 804d384: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804d386: 4b18 ldr r3, [pc, #96] ; (804d3e8 ) 804d388: 6819 ldr r1, [r3, #0] 804d38a: 1c4b adds r3, r1, #1 804d38c: 4a16 ldr r2, [pc, #88] ; (804d3e8 ) 804d38e: 6013 str r3, [r2, #0] 804d390: 6fb8 ldr r0, [r7, #120] ; 0x78 804d392: 4b18 ldr r3, [pc, #96] ; (804d3f4 ) 804d394: fba3 2300 umull r2, r3, r3, r0 804d398: 08da lsrs r2, r3, #3 804d39a: 4613 mov r3, r2 804d39c: 009b lsls r3, r3, #2 804d39e: 4413 add r3, r2 804d3a0: 005b lsls r3, r3, #1 804d3a2: 1ac2 subs r2, r0, r3 804d3a4: b2d3 uxtb r3, r2 804d3a6: 3330 adds r3, #48 ; 0x30 804d3a8: b2da uxtb r2, r3 804d3aa: 4b0d ldr r3, [pc, #52] ; (804d3e0 ) 804d3ac: 545a strb r2, [r3, r1] lastmenu = menu; 804d3ae: 4b12 ldr r3, [pc, #72] ; (804d3f8 ) 804d3b0: 781b ldrb r3, [r3, #0] 804d3b2: b2da uxtb r2, r3 804d3b4: 4b11 ldr r3, [pc, #68] ; (804d3fc ) 804d3b6: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804d3b8: 4b0f ldr r3, [pc, #60] ; (804d3f8 ) 804d3ba: 222f movs r2, #47 ; 0x2f 804d3bc: 701a strb r2, [r3, #0] menupos = _ENTER; 804d3be: 4b10 ldr r3, [pc, #64] ; (804d400 ) 804d3c0: 2226 movs r2, #38 ; 0x26 804d3c2: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804d3c4: e030 b.n 804d428 STATUS = AP_NO_CARD; 804d3c6: 4b0f ldr r3, [pc, #60] ; (804d404 ) 804d3c8: 2211 movs r2, #17 804d3ca: 601a str r2, [r3, #0] timerStatus = sec2; 804d3cc: 4b0e ldr r3, [pc, #56] ; (804d408 ) 804d3ce: f44f 5280 mov.w r2, #4096 ; 0x1000 804d3d2: 801a strh r2, [r3, #0] DrawStatus = true; 804d3d4: 4b0d ldr r3, [pc, #52] ; (804d40c ) 804d3d6: 2201 movs r2, #1 804d3d8: 701a strb r2, [r3, #0] break; 804d3da: e025 b.n 804d428 804d3dc: 20023ea8 .word 0x20023ea8 804d3e0: 20025cc8 .word 0x20025cc8 804d3e4: 080d29a8 .word 0x080d29a8 804d3e8: 20020f0c .word 0x20020f0c 804d3ec: 10624dd3 .word 0x10624dd3 804d3f0: 51eb851f .word 0x51eb851f 804d3f4: cccccccd .word 0xcccccccd 804d3f8: 20020fbd .word 0x20020fbd 804d3fc: 20020fbe .word 0x20020fbe 804d400: 20020070 .word 0x20020070 804d404: 20020dec .word 0x20020dec 804d408: 200216d4 .word 0x200216d4 804d40c: 20020df2 .word 0x20020df2 break; 804d410: bf00 nop 804d412: f006 bb6a b.w 8053aea break; 804d416: bf00 nop 804d418: f006 bb67 b.w 8053aea break; 804d41c: bf00 nop 804d41e: f006 bb64 b.w 8053aea break; 804d422: bf00 nop 804d424: f006 bb61 b.w 8053aea break; 804d428: bf00 nop } break; 804d42a: f006 bb5e b.w 8053aea case MAIN_SPEC_OGIB: switch(menupos) 804d42e: 4b82 ldr r3, [pc, #520] ; (804d638 ) 804d430: 781b ldrb r3, [r3, #0] 804d432: b2db uxtb r3, r3 804d434: 2b09 cmp r3, #9 804d436: f206 835a bhi.w 8053aee 804d43a: a201 add r2, pc, #4 ; (adr r2, 804d440 ) 804d43c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804d440: 0804d47d .word 0x0804d47d 804d444: 0804d469 .word 0x0804d469 804d448: 0804d4bd .word 0x0804d4bd 804d44c: 0804d675 .word 0x0804d675 804d450: 0804d8a9 .word 0x0804d8a9 804d454: 0804d569 .word 0x0804d569 804d458: 0804daa9 .word 0x0804daa9 804d45c: 08053aef .word 0x08053aef 804d460: 08053aef .word 0x08053aef 804d464: 0804dbe5 .word 0x0804dbe5 { case BackMenu: StopMeas(); 804d468: f7d6 f998 bl 802379c menu = PARAM_SPEC; 804d46c: 4b73 ldr r3, [pc, #460] ; (804d63c ) 804d46e: 2207 movs r2, #7 804d470: 701a strb r2, [r3, #0] menupos = Ok; 804d472: 4b71 ldr r3, [pc, #452] ; (804d638 ) 804d474: 2200 movs r2, #0 804d476: 701a strb r2, [r3, #0] break; 804d478: f000 bdff b.w 804e07a case StartStop: if(!measuring) 804d47c: 4b70 ldr r3, [pc, #448] ; (804d640 ) 804d47e: 781b ldrb r3, [r3, #0] 804d480: b2db uxtb r3, r3 804d482: f083 0301 eor.w r3, r3, #1 804d486: b2db uxtb r3, r3 804d488: 2b00 cmp r3, #0 804d48a: d00b beq.n 804d4a4 { AUTOZOOM = true; 804d48c: 4b6d ldr r3, [pc, #436] ; (804d644 ) 804d48e: 2201 movs r2, #1 804d490: 701a strb r2, [r3, #0] FIRST = true; 804d492: 4b6d ldr r3, [pc, #436] ; (804d648 ) 804d494: 2201 movs r2, #1 804d496: 701a strb r2, [r3, #0] initAmplif(); 804d498: f7d4 fafc bl 8021a94 StartMeas(); 804d49c: f7d5 fdce bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804d4a0: f000 bdeb b.w 804e07a StopMeas(); 804d4a4: f7d6 f97a bl 802379c AUTOZOOM = true; 804d4a8: 4b66 ldr r3, [pc, #408] ; (804d644 ) 804d4aa: 2201 movs r2, #1 804d4ac: 701a strb r2, [r3, #0] oldmenupos = menupos; 804d4ae: 4b62 ldr r3, [pc, #392] ; (804d638 ) 804d4b0: 781b ldrb r3, [r3, #0] 804d4b2: b2da uxtb r2, r3 804d4b4: 4b65 ldr r3, [pc, #404] ; (804d64c ) 804d4b6: 701a strb r2, [r3, #0] break; 804d4b8: f000 bddf b.w 804e07a case ImageLeft: if(lX) 804d4bc: 4b64 ldr r3, [pc, #400] ; (804d650 ) 804d4be: 881b ldrh r3, [r3, #0] 804d4c0: b29b uxth r3, r3 804d4c2: 2b00 cmp r3, #0 804d4c4: f000 85cc beq.w 804e060 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804d4c8: 4b62 ldr r3, [pc, #392] ; (804d654 ) 804d4ca: 781b ldrb r3, [r3, #0] 804d4cc: b2db uxtb r3, r3 804d4ce: 461a mov r2, r3 804d4d0: 4613 mov r3, r2 804d4d2: 009b lsls r3, r3, #2 804d4d4: 4413 add r3, r2 804d4d6: 4a60 ldr r2, [pc, #384] ; (804d658 ) 804d4d8: 79d2 ldrb r2, [r2, #7] 804d4da: b2d2 uxtb r2, r2 804d4dc: 4413 add r3, r2 804d4de: 4a5f ldr r2, [pc, #380] ; (804d65c ) 804d4e0: 3323 adds r3, #35 ; 0x23 804d4e2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d4e6: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804d4ea: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804d4ee: 021b lsls r3, r3, #8 804d4f0: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804d4f4: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d4f8: 085b lsrs r3, r3, #1 804d4fa: b29a uxth r2, r3 804d4fc: 4b54 ldr r3, [pc, #336] ; (804d650 ) 804d4fe: 881b ldrh r3, [r3, #0] 804d500: b29b uxth r3, r3 804d502: 429a cmp r2, r3 804d504: d80b bhi.n 804d51e X0 -= (multB_u16 >> 1); 804d506: 4b56 ldr r3, [pc, #344] ; (804d660 ) 804d508: 881b ldrh r3, [r3, #0] 804d50a: b29a uxth r2, r3 804d50c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d510: 085b lsrs r3, r3, #1 804d512: b29b uxth r3, r3 804d514: 1ad3 subs r3, r2, r3 804d516: b29a uxth r2, r3 804d518: 4b51 ldr r3, [pc, #324] ; (804d660 ) 804d51a: 801a strh r2, [r3, #0] 804d51c: e002 b.n 804d524 else X0 = 0; 804d51e: 4b50 ldr r3, [pc, #320] ; (804d660 ) 804d520: 2200 movs r2, #0 804d522: 801a strh r2, [r3, #0] lX = X0; 804d524: 4b4e ldr r3, [pc, #312] ; (804d660 ) 804d526: 881b ldrh r3, [r3, #0] 804d528: b29a uxth r2, r3 804d52a: 4b49 ldr r3, [pc, #292] ; (804d650 ) 804d52c: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804d52e: 4b48 ldr r3, [pc, #288] ; (804d650 ) 804d530: 881b ldrh r3, [r3, #0] 804d532: b29a uxth r2, r3 804d534: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d538: 4413 add r3, r2 804d53a: b29a uxth r2, r3 804d53c: 4b49 ldr r3, [pc, #292] ; (804d664 ) 804d53e: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804d540: 4b49 ldr r3, [pc, #292] ; (804d668 ) 804d542: 681b ldr r3, [r3, #0] 804d544: b29b uxth r3, r3 804d546: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804d54a: fb12 f303 smulbb r3, r2, r3 804d54e: b29a uxth r2, r3 804d550: 4b43 ldr r3, [pc, #268] ; (804d660 ) 804d552: 881b ldrh r3, [r3, #0] 804d554: b29b uxth r3, r3 804d556: 4413 add r3, r2 804d558: b29a uxth r2, r3 804d55a: 4b44 ldr r3, [pc, #272] ; (804d66c ) 804d55c: 801a strh r2, [r3, #0] AUTOZOOM = true; 804d55e: 4b39 ldr r3, [pc, #228] ; (804d644 ) 804d560: 2201 movs r2, #1 804d562: 701a strb r2, [r3, #0] } break; 804d564: f000 bd7c b.w 804e060 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804d568: 4b3a ldr r3, [pc, #232] ; (804d654 ) 804d56a: 781b ldrb r3, [r3, #0] 804d56c: b2db uxtb r3, r3 804d56e: 461a mov r2, r3 804d570: 4613 mov r3, r2 804d572: 009b lsls r3, r3, #2 804d574: 4413 add r3, r2 804d576: 4a38 ldr r2, [pc, #224] ; (804d658 ) 804d578: 79d2 ldrb r2, [r2, #7] 804d57a: b2d2 uxtb r2, r2 804d57c: 4413 add r3, r2 804d57e: 4a37 ldr r2, [pc, #220] ; (804d65c ) 804d580: 3323 adds r3, #35 ; 0x23 804d582: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d586: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804d58a: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804d58e: 021b lsls r3, r3, #8 804d590: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804d594: 4b30 ldr r3, [pc, #192] ; (804d658 ) 804d596: 79db ldrb r3, [r3, #7] 804d598: b2db uxtb r3, r3 804d59a: 461a mov r2, r3 804d59c: 4b34 ldr r3, [pc, #208] ; (804d670 ) 804d59e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804d5a2: 085b lsrs r3, r3, #1 804d5a4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804d5a8: 4b2e ldr r3, [pc, #184] ; (804d664 ) 804d5aa: 881b ldrh r3, [r3, #0] 804d5ac: b29b uxth r3, r3 804d5ae: 461a mov r2, r3 804d5b0: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d5b4: 085b lsrs r3, r3, #1 804d5b6: b29b uxth r3, r3 804d5b8: 4413 add r3, r2 804d5ba: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804d5be: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804d5c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804d5c6: 429a cmp r2, r3 804d5c8: d80b bhi.n 804d5e2 X0 += (multB_u16 >> 1); 804d5ca: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d5ce: 085b lsrs r3, r3, #1 804d5d0: b29a uxth r2, r3 804d5d2: 4b23 ldr r3, [pc, #140] ; (804d660 ) 804d5d4: 881b ldrh r3, [r3, #0] 804d5d6: b29b uxth r3, r3 804d5d8: 4413 add r3, r2 804d5da: b29a uxth r2, r3 804d5dc: 4b20 ldr r3, [pc, #128] ; (804d660 ) 804d5de: 801a strh r2, [r3, #0] 804d5e0: e008 b.n 804d5f4 else X0 = (uint16_t) (k - multB_u16); 804d5e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804d5e6: b29a uxth r2, r3 804d5e8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d5ec: 1ad3 subs r3, r2, r3 804d5ee: b29a uxth r2, r3 804d5f0: 4b1b ldr r3, [pc, #108] ; (804d660 ) 804d5f2: 801a strh r2, [r3, #0] lX = X0; 804d5f4: 4b1a ldr r3, [pc, #104] ; (804d660 ) 804d5f6: 881b ldrh r3, [r3, #0] 804d5f8: b29a uxth r2, r3 804d5fa: 4b15 ldr r3, [pc, #84] ; (804d650 ) 804d5fc: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804d5fe: 4b14 ldr r3, [pc, #80] ; (804d650 ) 804d600: 881b ldrh r3, [r3, #0] 804d602: b29a uxth r2, r3 804d604: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804d608: 4413 add r3, r2 804d60a: b29a uxth r2, r3 804d60c: 4b15 ldr r3, [pc, #84] ; (804d664 ) 804d60e: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804d610: 4b15 ldr r3, [pc, #84] ; (804d668 ) 804d612: 681b ldr r3, [r3, #0] 804d614: b29b uxth r3, r3 804d616: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804d61a: fb12 f303 smulbb r3, r2, r3 804d61e: b29a uxth r2, r3 804d620: 4b0f ldr r3, [pc, #60] ; (804d660 ) 804d622: 881b ldrh r3, [r3, #0] 804d624: b29b uxth r3, r3 804d626: 4413 add r3, r2 804d628: b29a uxth r2, r3 804d62a: 4b10 ldr r3, [pc, #64] ; (804d66c ) 804d62c: 801a strh r2, [r3, #0] AUTOZOOM = true; 804d62e: 4b05 ldr r3, [pc, #20] ; (804d644 ) 804d630: 2201 movs r2, #1 804d632: 701a strb r2, [r3, #0] break; 804d634: f000 bd21 b.w 804e07a 804d638: 20020070 .word 0x20020070 804d63c: 20020fbd .word 0x20020fbd 804d640: 20020dcf .word 0x20020dcf 804d644: 20020994 .word 0x20020994 804d648: 20020dd2 .word 0x20020dd2 804d64c: 20020fbf .word 0x20020fbf 804d650: 20025d62 .word 0x20025d62 804d654: 20020fb8 .word 0x20020fb8 804d658: 20023ea8 .word 0x20023ea8 804d65c: 080f2b68 .word 0x080f2b68 804d660: 20025d66 .word 0x20025d66 804d664: 20025d68 .word 0x20025d68 804d668: 2002006c .word 0x2002006c 804d66c: 20025d5e .word 0x20025d5e 804d670: 080f2bf4 .word 0x080f2bf4 case ZoomIn: lvl_0 = 0; 804d674: 2300 movs r3, #0 804d676: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804d67a: 4b81 ldr r3, [pc, #516] ; (804d880 ) 804d67c: 781b ldrb r3, [r3, #0] 804d67e: b2db uxtb r3, r3 804d680: 461a mov r2, r3 804d682: 4613 mov r3, r2 804d684: 009b lsls r3, r3, #2 804d686: 4413 add r3, r2 804d688: 4a7e ldr r2, [pc, #504] ; (804d884 ) 804d68a: 79d2 ldrb r2, [r2, #7] 804d68c: b2d2 uxtb r2, r2 804d68e: 4413 add r3, r2 804d690: 4a7d ldr r2, [pc, #500] ; (804d888 ) 804d692: 3323 adds r3, #35 ; 0x23 804d694: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d698: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804d69c: 2304 movs r3, #4 804d69e: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804d6a2: 4b77 ldr r3, [pc, #476] ; (804d880 ) 804d6a4: 781b ldrb r3, [r3, #0] 804d6a6: b2db uxtb r3, r3 804d6a8: b29b uxth r3, r3 804d6aa: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804d6ae: 429a cmp r2, r3 804d6b0: f240 84d9 bls.w 804e066 804d6b4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d6b8: 2b01 cmp r3, #1 804d6ba: f240 84d4 bls.w 804e066 { ViewLevel++; 804d6be: 4b70 ldr r3, [pc, #448] ; (804d880 ) 804d6c0: 781b ldrb r3, [r3, #0] 804d6c2: b2db uxtb r3, r3 804d6c4: 3301 adds r3, #1 804d6c6: b2da uxtb r2, r3 804d6c8: 4b6d ldr r3, [pc, #436] ; (804d880 ) 804d6ca: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804d6cc: 4b6c ldr r3, [pc, #432] ; (804d880 ) 804d6ce: 781b ldrb r3, [r3, #0] 804d6d0: b2db uxtb r3, r3 804d6d2: 461a mov r2, r3 804d6d4: 4613 mov r3, r2 804d6d6: 009b lsls r3, r3, #2 804d6d8: 4413 add r3, r2 804d6da: 4a6a ldr r2, [pc, #424] ; (804d884 ) 804d6dc: 79d2 ldrb r2, [r2, #7] 804d6de: b2d2 uxtb r2, r2 804d6e0: 4413 add r3, r2 804d6e2: 4a69 ldr r2, [pc, #420] ; (804d888 ) 804d6e4: 3323 adds r3, #35 ; 0x23 804d6e6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d6ea: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804d6ee: 4b67 ldr r3, [pc, #412] ; (804d88c ) 804d6f0: 881b ldrh r3, [r3, #0] 804d6f2: b29a uxth r2, r3 804d6f4: 4b66 ldr r3, [pc, #408] ; (804d890 ) 804d6f6: 681b ldr r3, [r3, #0] 804d6f8: b29b uxth r3, r3 804d6fa: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804d6fe: fb11 f303 smulbb r3, r1, r3 804d702: b29b uxth r3, r3 804d704: 1ad3 subs r3, r2, r3 804d706: b29a uxth r2, r3 804d708: 4b62 ldr r3, [pc, #392] ; (804d894 ) 804d70a: 801a strh r2, [r3, #0] lX = X0; 804d70c: 4b61 ldr r3, [pc, #388] ; (804d894 ) 804d70e: 881b ldrh r3, [r3, #0] 804d710: b29a uxth r2, r3 804d712: 4b61 ldr r3, [pc, #388] ; (804d898 ) 804d714: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804d716: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d71a: 021b lsls r3, r3, #8 804d71c: b29a uxth r2, r3 804d71e: 4b5e ldr r3, [pc, #376] ; (804d898 ) 804d720: 881b ldrh r3, [r3, #0] 804d722: b29b uxth r3, r3 804d724: 4413 add r3, r2 804d726: b29a uxth r2, r3 804d728: 4b5c ldr r3, [pc, #368] ; (804d89c ) 804d72a: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804d72c: 4b5c ldr r3, [pc, #368] ; (804d8a0 ) 804d72e: 881b ldrh r3, [r3, #0] 804d730: b29b uxth r3, r3 804d732: 461a mov r2, r3 804d734: 4b58 ldr r3, [pc, #352] ; (804d898 ) 804d736: 881b ldrh r3, [r3, #0] 804d738: b29b uxth r3, r3 804d73a: 1ad2 subs r2, r2, r3 804d73c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d740: fb92 f3f3 sdiv r3, r2, r3 804d744: 461a mov r2, r3 804d746: 4b52 ldr r3, [pc, #328] ; (804d890 ) 804d748: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804d74a: 4b51 ldr r3, [pc, #324] ; (804d890 ) 804d74c: 681b ldr r3, [r3, #0] 804d74e: b29b uxth r3, r3 804d750: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d754: fb12 f303 smulbb r3, r2, r3 804d758: b29a uxth r2, r3 804d75a: 4b4f ldr r3, [pc, #316] ; (804d898 ) 804d75c: 881b ldrh r3, [r3, #0] 804d75e: b29b uxth r3, r3 804d760: 4413 add r3, r2 804d762: b29a uxth r2, r3 804d764: 4b49 ldr r3, [pc, #292] ; (804d88c ) 804d766: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804d768: 4b49 ldr r3, [pc, #292] ; (804d890 ) 804d76a: 681b ldr r3, [r3, #0] 804d76c: 2b7f cmp r3, #127 ; 0x7f 804d76e: d83b bhi.n 804d7e8 804d770: 4b48 ldr r3, [pc, #288] ; (804d894 ) 804d772: 881b ldrh r3, [r3, #0] 804d774: b29b uxth r3, r3 804d776: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d77a: 429a cmp r2, r3 804d77c: d834 bhi.n 804d7e8 { if(lX >= dX) 804d77e: 4b46 ldr r3, [pc, #280] ; (804d898 ) 804d780: 881b ldrh r3, [r3, #0] 804d782: b29b uxth r3, r3 804d784: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d788: 429a cmp r2, r3 804d78a: d875 bhi.n 804d878 { CURSOR++; 804d78c: 4b40 ldr r3, [pc, #256] ; (804d890 ) 804d78e: 681b ldr r3, [r3, #0] 804d790: 3301 adds r3, #1 804d792: 4a3f ldr r2, [pc, #252] ; (804d890 ) 804d794: 6013 str r3, [r2, #0] X0 -= dX; 804d796: 4b3f ldr r3, [pc, #252] ; (804d894 ) 804d798: 881b ldrh r3, [r3, #0] 804d79a: b29a uxth r2, r3 804d79c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d7a0: 1ad3 subs r3, r2, r3 804d7a2: b29a uxth r2, r3 804d7a4: 4b3b ldr r3, [pc, #236] ; (804d894 ) 804d7a6: 801a strh r2, [r3, #0] lX = X0; 804d7a8: 4b3a ldr r3, [pc, #232] ; (804d894 ) 804d7aa: 881b ldrh r3, [r3, #0] 804d7ac: b29a uxth r2, r3 804d7ae: 4b3a ldr r3, [pc, #232] ; (804d898 ) 804d7b0: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804d7b2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d7b6: 021b lsls r3, r3, #8 804d7b8: b29a uxth r2, r3 804d7ba: 4b37 ldr r3, [pc, #220] ; (804d898 ) 804d7bc: 881b ldrh r3, [r3, #0] 804d7be: b29b uxth r3, r3 804d7c0: 4413 add r3, r2 804d7c2: b29a uxth r2, r3 804d7c4: 4b35 ldr r3, [pc, #212] ; (804d89c ) 804d7c6: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804d7c8: 4b35 ldr r3, [pc, #212] ; (804d8a0 ) 804d7ca: 881b ldrh r3, [r3, #0] 804d7cc: b29b uxth r3, r3 804d7ce: 461a mov r2, r3 804d7d0: 4b31 ldr r3, [pc, #196] ; (804d898 ) 804d7d2: 881b ldrh r3, [r3, #0] 804d7d4: b29b uxth r3, r3 804d7d6: 1ad2 subs r2, r2, r3 804d7d8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d7dc: fb92 f3f3 sdiv r3, r2, r3 804d7e0: 461a mov r2, r3 804d7e2: 4b2b ldr r3, [pc, #172] ; (804d890 ) 804d7e4: 601a str r2, [r3, #0] if(lX >= dX) 804d7e6: e047 b.n 804d878 } } else if(CURSOR > (256 >> 1)) 804d7e8: 4b29 ldr r3, [pc, #164] ; (804d890 ) 804d7ea: 681b ldr r3, [r3, #0] 804d7ec: 2b80 cmp r3, #128 ; 0x80 804d7ee: d943 bls.n 804d878 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804d7f0: 4b2a ldr r3, [pc, #168] ; (804d89c ) 804d7f2: 881b ldrh r3, [r3, #0] 804d7f4: b29b uxth r3, r3 804d7f6: 461a mov r2, r3 804d7f8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d7fc: 18d1 adds r1, r2, r3 804d7fe: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804d802: 4613 mov r3, r2 804d804: 009b lsls r3, r3, #2 804d806: 4413 add r3, r2 804d808: 4a1e ldr r2, [pc, #120] ; (804d884 ) 804d80a: 79d2 ldrb r2, [r2, #7] 804d80c: b2d2 uxtb r2, r2 804d80e: 4413 add r3, r2 804d810: 4a1d ldr r2, [pc, #116] ; (804d888 ) 804d812: 3323 adds r3, #35 ; 0x23 804d814: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d818: 021b lsls r3, r3, #8 804d81a: 4299 cmp r1, r3 804d81c: dc2c bgt.n 804d878 { CURSOR--; 804d81e: 4b1c ldr r3, [pc, #112] ; (804d890 ) 804d820: 681b ldr r3, [r3, #0] 804d822: 3b01 subs r3, #1 804d824: 4a1a ldr r2, [pc, #104] ; (804d890 ) 804d826: 6013 str r3, [r2, #0] X0 += dX; 804d828: 4b1a ldr r3, [pc, #104] ; (804d894 ) 804d82a: 881b ldrh r3, [r3, #0] 804d82c: b29a uxth r2, r3 804d82e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d832: 4413 add r3, r2 804d834: b29a uxth r2, r3 804d836: 4b17 ldr r3, [pc, #92] ; (804d894 ) 804d838: 801a strh r2, [r3, #0] lX = X0; 804d83a: 4b16 ldr r3, [pc, #88] ; (804d894 ) 804d83c: 881b ldrh r3, [r3, #0] 804d83e: b29a uxth r2, r3 804d840: 4b15 ldr r3, [pc, #84] ; (804d898 ) 804d842: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804d844: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d848: 021b lsls r3, r3, #8 804d84a: b29a uxth r2, r3 804d84c: 4b12 ldr r3, [pc, #72] ; (804d898 ) 804d84e: 881b ldrh r3, [r3, #0] 804d850: b29b uxth r3, r3 804d852: 4413 add r3, r2 804d854: b29a uxth r2, r3 804d856: 4b11 ldr r3, [pc, #68] ; (804d89c ) 804d858: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804d85a: 4b11 ldr r3, [pc, #68] ; (804d8a0 ) 804d85c: 881b ldrh r3, [r3, #0] 804d85e: b29b uxth r3, r3 804d860: 461a mov r2, r3 804d862: 4b0d ldr r3, [pc, #52] ; (804d898 ) 804d864: 881b ldrh r3, [r3, #0] 804d866: b29b uxth r3, r3 804d868: 1ad2 subs r2, r2, r3 804d86a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d86e: fb92 f3f3 sdiv r3, r2, r3 804d872: 461a mov r2, r3 804d874: 4b06 ldr r3, [pc, #24] ; (804d890 ) 804d876: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804d878: 4b0a ldr r3, [pc, #40] ; (804d8a4 ) 804d87a: 2201 movs r2, #1 804d87c: 701a strb r2, [r3, #0] } break; 804d87e: e3f2 b.n 804e066 804d880: 20020fb8 .word 0x20020fb8 804d884: 20023ea8 .word 0x20023ea8 804d888: 080f2b68 .word 0x080f2b68 804d88c: 20025d5e .word 0x20025d5e 804d890: 2002006c .word 0x2002006c 804d894: 20025d66 .word 0x20025d66 804d898: 20025d62 .word 0x20025d62 804d89c: 20025d68 .word 0x20025d68 804d8a0: 20025d64 .word 0x20025d64 804d8a4: 20020994 .word 0x20020994 case ZoomOut: lvl_0 = 0; 804d8a8: 2300 movs r3, #0 804d8aa: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804d8ae: 2304 movs r3, #4 804d8b0: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804d8b4: 4b94 ldr r3, [pc, #592] ; (804db08 ) 804d8b6: 781b ldrb r3, [r3, #0] 804d8b8: b2db uxtb r3, r3 804d8ba: 461a mov r2, r3 804d8bc: 4613 mov r3, r2 804d8be: 009b lsls r3, r3, #2 804d8c0: 4413 add r3, r2 804d8c2: 4a92 ldr r2, [pc, #584] ; (804db0c ) 804d8c4: 79d2 ldrb r2, [r2, #7] 804d8c6: b2d2 uxtb r2, r2 804d8c8: 4413 add r3, r2 804d8ca: 4a91 ldr r2, [pc, #580] ; (804db10 ) 804d8cc: 3323 adds r3, #35 ; 0x23 804d8ce: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d8d2: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804d8d6: 4b8c ldr r3, [pc, #560] ; (804db08 ) 804d8d8: 781b ldrb r3, [r3, #0] 804d8da: b2db uxtb r3, r3 804d8dc: 2b00 cmp r3, #0 804d8de: f000 83c5 beq.w 804e06c { ViewLevel--; 804d8e2: 4b89 ldr r3, [pc, #548] ; (804db08 ) 804d8e4: 781b ldrb r3, [r3, #0] 804d8e6: b2db uxtb r3, r3 804d8e8: 3b01 subs r3, #1 804d8ea: b2da uxtb r2, r3 804d8ec: 4b86 ldr r3, [pc, #536] ; (804db08 ) 804d8ee: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804d8f0: 4b85 ldr r3, [pc, #532] ; (804db08 ) 804d8f2: 781b ldrb r3, [r3, #0] 804d8f4: b2db uxtb r3, r3 804d8f6: 461a mov r2, r3 804d8f8: 4613 mov r3, r2 804d8fa: 009b lsls r3, r3, #2 804d8fc: 4413 add r3, r2 804d8fe: 4a83 ldr r2, [pc, #524] ; (804db0c ) 804d900: 79d2 ldrb r2, [r2, #7] 804d902: b2d2 uxtb r2, r2 804d904: 4413 add r3, r2 804d906: 4a82 ldr r2, [pc, #520] ; (804db10 ) 804d908: 3323 adds r3, #35 ; 0x23 804d90a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804d90e: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804d912: 4b7d ldr r3, [pc, #500] ; (804db08 ) 804d914: 781b ldrb r3, [r3, #0] 804d916: b2db uxtb r3, r3 804d918: 2b00 cmp r3, #0 804d91a: d130 bne.n 804d97e { X0 = lX = 0; 804d91c: 2100 movs r1, #0 804d91e: 4b7d ldr r3, [pc, #500] ; (804db14 ) 804d920: 460a mov r2, r1 804d922: 801a strh r2, [r3, #0] 804d924: 4b7c ldr r3, [pc, #496] ; (804db18 ) 804d926: 460a mov r2, r1 804d928: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804d92a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d92e: 021b lsls r3, r3, #8 804d930: b29a uxth r2, r3 804d932: 4b78 ldr r3, [pc, #480] ; (804db14 ) 804d934: 881b ldrh r3, [r3, #0] 804d936: b29b uxth r3, r3 804d938: 4413 add r3, r2 804d93a: b29a uxth r2, r3 804d93c: 4b77 ldr r3, [pc, #476] ; (804db1c ) 804d93e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804d940: 4b77 ldr r3, [pc, #476] ; (804db20 ) 804d942: 881b ldrh r3, [r3, #0] 804d944: b29b uxth r3, r3 804d946: 461a mov r2, r3 804d948: 4b72 ldr r3, [pc, #456] ; (804db14 ) 804d94a: 881b ldrh r3, [r3, #0] 804d94c: b29b uxth r3, r3 804d94e: 1ad2 subs r2, r2, r3 804d950: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d954: fb92 f3f3 sdiv r3, r2, r3 804d958: 461a mov r2, r3 804d95a: 4b72 ldr r3, [pc, #456] ; (804db24 ) 804d95c: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804d95e: 4b71 ldr r3, [pc, #452] ; (804db24 ) 804d960: 681b ldr r3, [r3, #0] 804d962: b29b uxth r3, r3 804d964: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d968: fb12 f303 smulbb r3, r2, r3 804d96c: b29a uxth r2, r3 804d96e: 4b6a ldr r3, [pc, #424] ; (804db18 ) 804d970: 881b ldrh r3, [r3, #0] 804d972: b29b uxth r3, r3 804d974: 4413 add r3, r2 804d976: b29a uxth r2, r3 804d978: 4b6b ldr r3, [pc, #428] ; (804db28 ) 804d97a: 801a strh r2, [r3, #0] 804d97c: e090 b.n 804daa0 } else { if(CURSOR * dX > Mpos) 804d97e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d982: 4a68 ldr r2, [pc, #416] ; (804db24 ) 804d984: 6812 ldr r2, [r2, #0] 804d986: fb02 f303 mul.w r3, r2, r3 804d98a: 4a67 ldr r2, [pc, #412] ; (804db28 ) 804d98c: 8812 ldrh r2, [r2, #0] 804d98e: b292 uxth r2, r2 804d990: 4293 cmp r3, r2 804d992: d91f bls.n 804d9d4 { while(CURSOR * dX > Mpos) 804d994: e004 b.n 804d9a0 CURSOR--; 804d996: 4b63 ldr r3, [pc, #396] ; (804db24 ) 804d998: 681b ldr r3, [r3, #0] 804d99a: 3b01 subs r3, #1 804d99c: 4a61 ldr r2, [pc, #388] ; (804db24 ) 804d99e: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804d9a0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d9a4: 4a5f ldr r2, [pc, #380] ; (804db24 ) 804d9a6: 6812 ldr r2, [r2, #0] 804d9a8: fb02 f303 mul.w r3, r2, r3 804d9ac: 4a5e ldr r2, [pc, #376] ; (804db28 ) 804d9ae: 8812 ldrh r2, [r2, #0] 804d9b0: b292 uxth r2, r2 804d9b2: 4293 cmp r3, r2 804d9b4: d8ef bhi.n 804d996 Mpos = X0 + CURSOR * dX; 804d9b6: 4b5b ldr r3, [pc, #364] ; (804db24 ) 804d9b8: 681b ldr r3, [r3, #0] 804d9ba: b29b uxth r3, r3 804d9bc: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804d9c0: fb12 f303 smulbb r3, r2, r3 804d9c4: b29a uxth r2, r3 804d9c6: 4b54 ldr r3, [pc, #336] ; (804db18 ) 804d9c8: 881b ldrh r3, [r3, #0] 804d9ca: b29b uxth r3, r3 804d9cc: 4413 add r3, r2 804d9ce: b29a uxth r2, r3 804d9d0: 4b55 ldr r3, [pc, #340] ; (804db28 ) 804d9d2: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804d9d4: 4b54 ldr r3, [pc, #336] ; (804db28 ) 804d9d6: 881b ldrh r3, [r3, #0] 804d9d8: b29b uxth r3, r3 804d9da: 4619 mov r1, r3 804d9dc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d9e0: 4a50 ldr r2, [pc, #320] ; (804db24 ) 804d9e2: 6812 ldr r2, [r2, #0] 804d9e4: fb02 f303 mul.w r3, r2, r3 804d9e8: 1acb subs r3, r1, r3 804d9ea: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804d9ee: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804d9f2: 021b lsls r3, r3, #8 804d9f4: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804d9f8: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804d9fc: 4613 mov r3, r2 804d9fe: 009b lsls r3, r3, #2 804da00: 4413 add r3, r2 804da02: 4a42 ldr r2, [pc, #264] ; (804db0c ) 804da04: 79d2 ldrb r2, [r2, #7] 804da06: b2d2 uxtb r2, r2 804da08: 4413 add r3, r2 804da0a: 4a41 ldr r2, [pc, #260] ; (804db10 ) 804da0c: 3323 adds r3, #35 ; 0x23 804da0e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804da12: 021b lsls r3, r3, #8 804da14: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804da18: e006 b.n 804da28 i -= dXold; 804da1a: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804da1e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804da22: 1ad3 subs r3, r2, r3 804da24: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804da28: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804da2c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804da30: 441a add r2, r3 804da32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804da36: 429a cmp r2, r3 804da38: d8ef bhi.n 804da1a } X0 = (uint16_t) i; 804da3a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804da3e: b29a uxth r2, r3 804da40: 4b35 ldr r3, [pc, #212] ; (804db18 ) 804da42: 801a strh r2, [r3, #0] lX = X0; 804da44: 4b34 ldr r3, [pc, #208] ; (804db18 ) 804da46: 881b ldrh r3, [r3, #0] 804da48: b29a uxth r2, r3 804da4a: 4b32 ldr r3, [pc, #200] ; (804db14 ) 804da4c: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804da4e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804da52: 021b lsls r3, r3, #8 804da54: b29a uxth r2, r3 804da56: 4b2f ldr r3, [pc, #188] ; (804db14 ) 804da58: 881b ldrh r3, [r3, #0] 804da5a: b29b uxth r3, r3 804da5c: 4413 add r3, r2 804da5e: b29a uxth r2, r3 804da60: 4b2e ldr r3, [pc, #184] ; (804db1c ) 804da62: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804da64: 4b2e ldr r3, [pc, #184] ; (804db20 ) 804da66: 881b ldrh r3, [r3, #0] 804da68: b29b uxth r3, r3 804da6a: 461a mov r2, r3 804da6c: 4b29 ldr r3, [pc, #164] ; (804db14 ) 804da6e: 881b ldrh r3, [r3, #0] 804da70: b29b uxth r3, r3 804da72: 1ad2 subs r2, r2, r3 804da74: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804da78: fb92 f3f3 sdiv r3, r2, r3 804da7c: 461a mov r2, r3 804da7e: 4b29 ldr r3, [pc, #164] ; (804db24 ) 804da80: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804da82: 4b28 ldr r3, [pc, #160] ; (804db24 ) 804da84: 681b ldr r3, [r3, #0] 804da86: b29b uxth r3, r3 804da88: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804da8c: fb12 f303 smulbb r3, r2, r3 804da90: b29a uxth r2, r3 804da92: 4b21 ldr r3, [pc, #132] ; (804db18 ) 804da94: 881b ldrh r3, [r3, #0] 804da96: b29b uxth r3, r3 804da98: 4413 add r3, r2 804da9a: b29a uxth r2, r3 804da9c: 4b22 ldr r3, [pc, #136] ; (804db28 ) 804da9e: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804daa0: 4b22 ldr r3, [pc, #136] ; (804db2c ) 804daa2: 2201 movs r2, #1 804daa4: 701a strb r2, [r3, #0] } break; 804daa6: e2e1 b.n 804e06c case Cursor: AUTOZOOM = true; 804daa8: 4b20 ldr r3, [pc, #128] ; (804db2c ) 804daaa: 2201 movs r2, #1 804daac: 701a strb r2, [r3, #0] if((DynamicCursor[0].Mpos >= Mpos) && (DynamicCursor[0].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804daae: 4b20 ldr r3, [pc, #128] ; (804db30 ) 804dab0: 889a ldrh r2, [r3, #4] 804dab2: 4b1d ldr r3, [pc, #116] ; (804db28 ) 804dab4: 881b ldrh r3, [r3, #0] 804dab6: b29b uxth r3, r3 804dab8: 429a cmp r2, r3 804daba: d33b bcc.n 804db34 804dabc: 4b1c ldr r3, [pc, #112] ; (804db30 ) 804dabe: 889b ldrh r3, [r3, #4] 804dac0: 4619 mov r1, r3 804dac2: 4b19 ldr r3, [pc, #100] ; (804db28 ) 804dac4: 881b ldrh r3, [r3, #0] 804dac6: b29b uxth r3, r3 804dac8: 4618 mov r0, r3 804daca: 4b0f ldr r3, [pc, #60] ; (804db08 ) 804dacc: 781b ldrb r3, [r3, #0] 804dace: b2db uxtb r3, r3 804dad0: 461a mov r2, r3 804dad2: 4613 mov r3, r2 804dad4: 009b lsls r3, r3, #2 804dad6: 4413 add r3, r2 804dad8: 4a0c ldr r2, [pc, #48] ; (804db0c ) 804dada: 79d2 ldrb r2, [r2, #7] 804dadc: b2d2 uxtb r2, r2 804dade: 4413 add r3, r2 804dae0: 4a0b ldr r2, [pc, #44] ; (804db10 ) 804dae2: 3323 adds r3, #35 ; 0x23 804dae4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804dae8: 4403 add r3, r0 804daea: 4299 cmp r1, r3 804daec: da22 bge.n 804db34 { if(DynamicCursor[0].Enabled) 804daee: 4b10 ldr r3, [pc, #64] ; (804db30 ) 804daf0: 781b ldrb r3, [r3, #0] 804daf2: 2b00 cmp r3, #0 804daf4: d075 beq.n 804dbe2 { DynamicCursor[0].Enabled = false; 804daf6: 4b0e ldr r3, [pc, #56] ; (804db30 ) 804daf8: 2200 movs r2, #0 804dafa: 701a strb r2, [r3, #0] DynamicCursor[0].Mpos = 0xffff; 804dafc: 4b0c ldr r3, [pc, #48] ; (804db30 ) 804dafe: f64f 72ff movw r2, #65535 ; 0xffff 804db02: 809a strh r2, [r3, #4] if(DynamicCursor[0].Enabled) 804db04: e06d b.n 804dbe2 804db06: bf00 nop 804db08: 20020fb8 .word 0x20020fb8 804db0c: 20023ea8 .word 0x20023ea8 804db10: 080f2b68 .word 0x080f2b68 804db14: 20025d62 .word 0x20025d62 804db18: 20025d66 .word 0x20025d66 804db1c: 20025d68 .word 0x20025d68 804db20: 20025d64 .word 0x20025d64 804db24: 2002006c .word 0x2002006c 804db28: 20025d5e .word 0x20025d5e 804db2c: 20020994 .word 0x20020994 804db30: 20020f8c .word 0x20020f8c } } else if((DynamicCursor[1].Mpos >= Mpos) && (DynamicCursor[1].Mpos < (Mpos + Avg[1][5 * ViewLevel + pardata.LNE]))) 804db34: 4b7b ldr r3, [pc, #492] ; (804dd24 ) 804db36: 8a9a ldrh r2, [r3, #20] 804db38: 4b7b ldr r3, [pc, #492] ; (804dd28 ) 804db3a: 881b ldrh r3, [r3, #0] 804db3c: b29b uxth r3, r3 804db3e: 429a cmp r2, r3 804db40: d324 bcc.n 804db8c 804db42: 4b78 ldr r3, [pc, #480] ; (804dd24 ) 804db44: 8a9b ldrh r3, [r3, #20] 804db46: 4619 mov r1, r3 804db48: 4b77 ldr r3, [pc, #476] ; (804dd28 ) 804db4a: 881b ldrh r3, [r3, #0] 804db4c: b29b uxth r3, r3 804db4e: 4618 mov r0, r3 804db50: 4b76 ldr r3, [pc, #472] ; (804dd2c ) 804db52: 781b ldrb r3, [r3, #0] 804db54: b2db uxtb r3, r3 804db56: 461a mov r2, r3 804db58: 4613 mov r3, r2 804db5a: 009b lsls r3, r3, #2 804db5c: 4413 add r3, r2 804db5e: 4a74 ldr r2, [pc, #464] ; (804dd30 ) 804db60: 79d2 ldrb r2, [r2, #7] 804db62: b2d2 uxtb r2, r2 804db64: 4413 add r3, r2 804db66: 4a73 ldr r2, [pc, #460] ; (804dd34 ) 804db68: 3323 adds r3, #35 ; 0x23 804db6a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804db6e: 4403 add r3, r0 804db70: 4299 cmp r1, r3 804db72: da0b bge.n 804db8c { if(DynamicCursor[1].Enabled) 804db74: 4b6b ldr r3, [pc, #428] ; (804dd24 ) 804db76: 7c1b ldrb r3, [r3, #16] 804db78: 2b00 cmp r3, #0 804db7a: d032 beq.n 804dbe2 { DynamicCursor[1].Enabled = false; 804db7c: 4b69 ldr r3, [pc, #420] ; (804dd24 ) 804db7e: 2200 movs r2, #0 804db80: 741a strb r2, [r3, #16] DynamicCursor[1].Mpos = 0xffff; 804db82: 4b68 ldr r3, [pc, #416] ; (804dd24 ) 804db84: f64f 72ff movw r2, #65535 ; 0xffff 804db88: 829a strh r2, [r3, #20] if(DynamicCursor[1].Enabled) 804db8a: e02a b.n 804dbe2 } } else { if(!DynamicCursor[0].Enabled) 804db8c: 4b65 ldr r3, [pc, #404] ; (804dd24 ) 804db8e: 781b ldrb r3, [r3, #0] 804db90: f083 0301 eor.w r3, r3, #1 804db94: b2db uxtb r3, r3 804db96: 2b00 cmp r3, #0 804db98: d00d beq.n 804dbb6 { DynamicCursor[0].Mpos = Mpos; 804db9a: 4b63 ldr r3, [pc, #396] ; (804dd28 ) 804db9c: 881b ldrh r3, [r3, #0] 804db9e: b29a uxth r2, r3 804dba0: 4b60 ldr r3, [pc, #384] ; (804dd24 ) 804dba2: 809a strh r2, [r3, #4] DynamicCursor[0].fineMpos = Mpos; 804dba4: 4b60 ldr r3, [pc, #384] ; (804dd28 ) 804dba6: 881b ldrh r3, [r3, #0] 804dba8: b29a uxth r2, r3 804dbaa: 4b5e ldr r3, [pc, #376] ; (804dd24 ) 804dbac: 80da strh r2, [r3, #6] DynamicCursor[0].Enabled = true; 804dbae: 4b5d ldr r3, [pc, #372] ; (804dd24 ) 804dbb0: 2201 movs r2, #1 804dbb2: 701a strb r2, [r3, #0] DynamicCursor[1].Mpos = Mpos; DynamicCursor[1].fineMpos = Mpos; DynamicCursor[1].Enabled = true; } } break; 804dbb4: e25d b.n 804e072 if(!DynamicCursor[1].Enabled) 804dbb6: 4b5b ldr r3, [pc, #364] ; (804dd24 ) 804dbb8: 7c1b ldrb r3, [r3, #16] 804dbba: f083 0301 eor.w r3, r3, #1 804dbbe: b2db uxtb r3, r3 804dbc0: 2b00 cmp r3, #0 804dbc2: f000 8256 beq.w 804e072 DynamicCursor[1].Mpos = Mpos; 804dbc6: 4b58 ldr r3, [pc, #352] ; (804dd28 ) 804dbc8: 881b ldrh r3, [r3, #0] 804dbca: b29a uxth r2, r3 804dbcc: 4b55 ldr r3, [pc, #340] ; (804dd24 ) 804dbce: 829a strh r2, [r3, #20] DynamicCursor[1].fineMpos = Mpos; 804dbd0: 4b55 ldr r3, [pc, #340] ; (804dd28 ) 804dbd2: 881b ldrh r3, [r3, #0] 804dbd4: b29a uxth r2, r3 804dbd6: 4b53 ldr r3, [pc, #332] ; (804dd24 ) 804dbd8: 82da strh r2, [r3, #22] DynamicCursor[1].Enabled = true; 804dbda: 4b52 ldr r3, [pc, #328] ; (804dd24 ) 804dbdc: 2201 movs r2, #1 804dbde: 741a strb r2, [r3, #16] break; 804dbe0: e247 b.n 804e072 804dbe2: e246 b.n 804e072 case SaveSpec: if(CardState == MSD_READY) 804dbe4: 4b54 ldr r3, [pc, #336] ; (804dd38 ) 804dbe6: 781b ldrb r3, [r3, #0] 804dbe8: b2db uxtb r3, r3 804dbea: 2b03 cmp r3, #3 804dbec: f040 8213 bne.w 804e016 { if(!measuring) 804dbf0: 4b52 ldr r3, [pc, #328] ; (804dd3c ) 804dbf2: 781b ldrb r3, [r3, #0] 804dbf4: b2db uxtb r3, r3 804dbf6: f083 0301 eor.w r3, r3, #1 804dbfa: b2db uxtb r3, r3 804dbfc: 2b00 cmp r3, #0 804dbfe: f000 823b beq.w 804e078 { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804dc02: 2200 movs r2, #0 804dc04: 494e ldr r1, [pc, #312] ; (804dd40 ) 804dc06: 484f ldr r0, [pc, #316] ; (804dd44 ) 804dc08: f06e fde4 bl 80bc7d4 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804dc0c: 2200 movs r2, #0 804dc0e: 494e ldr r1, [pc, #312] ; (804dd48 ) 804dc10: 484c ldr r0, [pc, #304] ; (804dd44 ) 804dc12: f06e fee5 bl 80bc9e0 Day = RTC_DateStruct.Date; 804dc16: 4b4c ldr r3, [pc, #304] ; (804dd48 ) 804dc18: 789b ldrb r3, [r3, #2] 804dc1a: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804dc1e: 4b4a ldr r3, [pc, #296] ; (804dd48 ) 804dc20: 785b ldrb r3, [r3, #1] 804dc22: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804dc26: 4b48 ldr r3, [pc, #288] ; (804dd48 ) 804dc28: 78db ldrb r3, [r3, #3] 804dc2a: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804dc2e: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804dc32: 4b43 ldr r3, [pc, #268] ; (804dd40 ) 804dc34: 781b ldrb r3, [r3, #0] 804dc36: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804dc3a: 4b41 ldr r3, [pc, #260] ; (804dd40 ) 804dc3c: 785b ldrb r3, [r3, #1] 804dc3e: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804dc40: 4b3f ldr r3, [pc, #252] ; (804dd40 ) 804dc42: 789b ldrb r3, [r3, #2] 804dc44: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804dc46: 2221 movs r2, #33 ; 0x21 804dc48: 2100 movs r1, #0 804dc4a: 4840 ldr r0, [pc, #256] ; (804dd4c ) 804dc4c: f083 fba8 bl 80d13a0 strcpy(TEMP_MeasFileName,"ENV_"); 804dc50: 4b3e ldr r3, [pc, #248] ; (804dd4c ) 804dc52: 4a3f ldr r2, [pc, #252] ; (804dd50 ) 804dc54: 6810 ldr r0, [r2, #0] 804dc56: 6018 str r0, [r3, #0] 804dc58: 7912 ldrb r2, [r2, #4] 804dc5a: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804dc5c: 4b34 ldr r3, [pc, #208] ; (804dd30 ) 804dc5e: 785b ldrb r3, [r3, #1] 804dc60: b2db uxtb r3, r3 804dc62: 2b00 cmp r3, #0 804dc64: d10c bne.n 804dc80 804dc66: 4839 ldr r0, [pc, #228] ; (804dd4c ) 804dc68: f7d2 fb54 bl 8020314 804dc6c: 4603 mov r3, r0 804dc6e: 461a mov r2, r3 804dc70: 4b36 ldr r3, [pc, #216] ; (804dd4c ) 804dc72: 4413 add r3, r2 804dc74: 4937 ldr r1, [pc, #220] ; (804dd54 ) 804dc76: 461a mov r2, r3 804dc78: 460b mov r3, r1 804dc7a: 881b ldrh r3, [r3, #0] 804dc7c: 8013 strh r3, [r2, #0] 804dc7e: e022 b.n 804dcc6 else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804dc80: 4b2b ldr r3, [pc, #172] ; (804dd30 ) 804dc82: 785b ldrb r3, [r3, #1] 804dc84: b2db uxtb r3, r3 804dc86: 2b01 cmp r3, #1 804dc88: d10c bne.n 804dca4 804dc8a: 4830 ldr r0, [pc, #192] ; (804dd4c ) 804dc8c: f7d2 fb42 bl 8020314 804dc90: 4603 mov r3, r0 804dc92: 461a mov r2, r3 804dc94: 4b2d ldr r3, [pc, #180] ; (804dd4c ) 804dc96: 4413 add r3, r2 804dc98: 492f ldr r1, [pc, #188] ; (804dd58 ) 804dc9a: 461a mov r2, r3 804dc9c: 460b mov r3, r1 804dc9e: 881b ldrh r3, [r3, #0] 804dca0: 8013 strh r3, [r2, #0] 804dca2: e010 b.n 804dcc6 else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804dca4: 4b22 ldr r3, [pc, #136] ; (804dd30 ) 804dca6: 785b ldrb r3, [r3, #1] 804dca8: b2db uxtb r3, r3 804dcaa: 2b02 cmp r3, #2 804dcac: d10b bne.n 804dcc6 804dcae: 4827 ldr r0, [pc, #156] ; (804dd4c ) 804dcb0: f7d2 fb30 bl 8020314 804dcb4: 4603 mov r3, r0 804dcb6: 461a mov r2, r3 804dcb8: 4b24 ldr r3, [pc, #144] ; (804dd4c ) 804dcba: 4413 add r3, r2 804dcbc: 4927 ldr r1, [pc, #156] ; (804dd5c ) 804dcbe: 461a mov r2, r3 804dcc0: 460b mov r3, r1 804dcc2: 881b ldrh r3, [r3, #0] 804dcc4: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804dcc6: 4b1a ldr r3, [pc, #104] ; (804dd30 ) 804dcc8: 785b ldrb r3, [r3, #1] 804dcca: b2db uxtb r3, r3 804dccc: 461a mov r2, r3 804dcce: 4b18 ldr r3, [pc, #96] ; (804dd30 ) 804dcd0: 4413 add r3, r2 804dcd2: 789b ldrb r3, [r3, #2] 804dcd4: b2db uxtb r3, r3 804dcd6: 2b00 cmp r3, #0 804dcd8: d10c bne.n 804dcf4 804dcda: 481c ldr r0, [pc, #112] ; (804dd4c ) 804dcdc: f7d2 fb1a bl 8020314 804dce0: 4603 mov r3, r0 804dce2: 461a mov r2, r3 804dce4: 4b19 ldr r3, [pc, #100] ; (804dd4c ) 804dce6: 4413 add r3, r2 804dce8: 4a1d ldr r2, [pc, #116] ; (804dd60 ) 804dcea: 6810 ldr r0, [r2, #0] 804dcec: 6018 str r0, [r3, #0] 804dcee: 7912 ldrb r2, [r2, #4] 804dcf0: 711a strb r2, [r3, #4] 804dcf2: e051 b.n 804dd98 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804dcf4: 4b0e ldr r3, [pc, #56] ; (804dd30 ) 804dcf6: 785b ldrb r3, [r3, #1] 804dcf8: b2db uxtb r3, r3 804dcfa: 461a mov r2, r3 804dcfc: 4b0c ldr r3, [pc, #48] ; (804dd30 ) 804dcfe: 4413 add r3, r2 804dd00: 789b ldrb r3, [r3, #2] 804dd02: b2db uxtb r3, r3 804dd04: 2b01 cmp r3, #1 804dd06: d12f bne.n 804dd68 804dd08: 4810 ldr r0, [pc, #64] ; (804dd4c ) 804dd0a: f7d2 fb03 bl 8020314 804dd0e: 4603 mov r3, r0 804dd10: 461a mov r2, r3 804dd12: 4b0e ldr r3, [pc, #56] ; (804dd4c ) 804dd14: 4413 add r3, r2 804dd16: 4a13 ldr r2, [pc, #76] ; (804dd64 ) 804dd18: 6810 ldr r0, [r2, #0] 804dd1a: 6018 str r0, [r3, #0] 804dd1c: 8892 ldrh r2, [r2, #4] 804dd1e: 809a strh r2, [r3, #4] 804dd20: e03a b.n 804dd98 804dd22: bf00 nop 804dd24: 20020f8c .word 0x20020f8c 804dd28: 20025d5e .word 0x20025d5e 804dd2c: 20020fb8 .word 0x20020fb8 804dd30: 20023ea8 .word 0x20023ea8 804dd34: 080f2b68 .word 0x080f2b68 804dd38: 20021694 .word 0x20021694 804dd3c: 20020dcf .word 0x20020dcf 804dd40: 20025cb0 .word 0x20025cb0 804dd44: 200685d8 .word 0x200685d8 804dd48: 20025d34 .word 0x20025d34 804dd4c: 20025cc8 .word 0x20025cc8 804dd50: 080d29b0 .word 0x080d29b0 804dd54: 080d298c .word 0x080d298c 804dd58: 080d2990 .word 0x080d2990 804dd5c: 080d2994 .word 0x080d2994 804dd60: 080d2998 .word 0x080d2998 804dd64: 080d29a0 .word 0x080d29a0 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804dd68: 4bb0 ldr r3, [pc, #704] ; (804e02c ) 804dd6a: 785b ldrb r3, [r3, #1] 804dd6c: b2db uxtb r3, r3 804dd6e: 461a mov r2, r3 804dd70: 4bae ldr r3, [pc, #696] ; (804e02c ) 804dd72: 4413 add r3, r2 804dd74: 789b ldrb r3, [r3, #2] 804dd76: b2db uxtb r3, r3 804dd78: 2b02 cmp r3, #2 804dd7a: d10d bne.n 804dd98 804dd7c: 48ac ldr r0, [pc, #688] ; (804e030 ) 804dd7e: f7d2 fac9 bl 8020314 804dd82: 4603 mov r3, r0 804dd84: 461a mov r2, r3 804dd86: 4baa ldr r3, [pc, #680] ; (804e030 ) 804dd88: 4413 add r3, r2 804dd8a: 4aaa ldr r2, [pc, #680] ; (804e034 ) 804dd8c: 6810 ldr r0, [r2, #0] 804dd8e: 6018 str r0, [r3, #0] 804dd90: 8891 ldrh r1, [r2, #4] 804dd92: 7992 ldrb r2, [r2, #6] 804dd94: 8099 strh r1, [r3, #4] 804dd96: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804dd98: 48a5 ldr r0, [pc, #660] ; (804e030 ) 804dd9a: f7d2 fabb bl 8020314 804dd9e: 4602 mov r2, r0 804dda0: 4ba5 ldr r3, [pc, #660] ; (804e038 ) 804dda2: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804dda4: 4ba4 ldr r3, [pc, #656] ; (804e038 ) 804dda6: 681b ldr r3, [r3, #0] 804dda8: 1c5a adds r2, r3, #1 804ddaa: 49a3 ldr r1, [pc, #652] ; (804e038 ) 804ddac: 600a str r2, [r1, #0] 804ddae: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804ddb2: 49a2 ldr r1, [pc, #648] ; (804e03c ) 804ddb4: fba1 1202 umull r1, r2, r1, r2 804ddb8: 0992 lsrs r2, r2, #6 804ddba: b2d2 uxtb r2, r2 804ddbc: 3230 adds r2, #48 ; 0x30 804ddbe: b2d1 uxtb r1, r2 804ddc0: 4a9b ldr r2, [pc, #620] ; (804e030 ) 804ddc2: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804ddc4: 4b9c ldr r3, [pc, #624] ; (804e038 ) 804ddc6: 681a ldr r2, [r3, #0] 804ddc8: 1c53 adds r3, r2, #1 804ddca: 499b ldr r1, [pc, #620] ; (804e038 ) 804ddcc: 600b str r3, [r1, #0] 804ddce: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804ddd2: 4b9a ldr r3, [pc, #616] ; (804e03c ) 804ddd4: fba3 0301 umull r0, r3, r3, r1 804ddd8: 099b lsrs r3, r3, #6 804ddda: f44f 707a mov.w r0, #1000 ; 0x3e8 804ddde: fb00 f303 mul.w r3, r0, r3 804dde2: 1acb subs r3, r1, r3 804dde4: 4996 ldr r1, [pc, #600] ; (804e040 ) 804dde6: fba1 1303 umull r1, r3, r1, r3 804ddea: 095b lsrs r3, r3, #5 804ddec: b2db uxtb r3, r3 804ddee: 3330 adds r3, #48 ; 0x30 804ddf0: b2d9 uxtb r1, r3 804ddf2: 4b8f ldr r3, [pc, #572] ; (804e030 ) 804ddf4: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804ddf6: 4b90 ldr r3, [pc, #576] ; (804e038 ) 804ddf8: 6819 ldr r1, [r3, #0] 804ddfa: 1c4b adds r3, r1, #1 804ddfc: 4a8e ldr r2, [pc, #568] ; (804e038 ) 804ddfe: 6013 str r3, [r2, #0] 804de00: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804de04: 4b8d ldr r3, [pc, #564] ; (804e03c ) 804de06: fba3 0302 umull r0, r3, r3, r2 804de0a: 099b lsrs r3, r3, #6 804de0c: f44f 707a mov.w r0, #1000 ; 0x3e8 804de10: fb00 f303 mul.w r3, r0, r3 804de14: 1ad3 subs r3, r2, r3 804de16: 4a8a ldr r2, [pc, #552] ; (804e040 ) 804de18: fba2 0203 umull r0, r2, r2, r3 804de1c: 0952 lsrs r2, r2, #5 804de1e: 2064 movs r0, #100 ; 0x64 804de20: fb00 f202 mul.w r2, r0, r2 804de24: 1a9a subs r2, r3, r2 804de26: 4b87 ldr r3, [pc, #540] ; (804e044 ) 804de28: fba3 2302 umull r2, r3, r3, r2 804de2c: 08db lsrs r3, r3, #3 804de2e: b2db uxtb r3, r3 804de30: 3330 adds r3, #48 ; 0x30 804de32: b2da uxtb r2, r3 804de34: 4b7e ldr r3, [pc, #504] ; (804e030 ) 804de36: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804de38: 4b7f ldr r3, [pc, #508] ; (804e038 ) 804de3a: 6818 ldr r0, [r3, #0] 804de3c: 1c43 adds r3, r0, #1 804de3e: 4a7e ldr r2, [pc, #504] ; (804e038 ) 804de40: 6013 str r3, [r2, #0] 804de42: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804de46: 4b7d ldr r3, [pc, #500] ; (804e03c ) 804de48: fba3 1302 umull r1, r3, r3, r2 804de4c: 099b lsrs r3, r3, #6 804de4e: f44f 717a mov.w r1, #1000 ; 0x3e8 804de52: fb01 f303 mul.w r3, r1, r3 804de56: 1ad3 subs r3, r2, r3 804de58: 4a79 ldr r2, [pc, #484] ; (804e040 ) 804de5a: fba2 1203 umull r1, r2, r2, r3 804de5e: 0952 lsrs r2, r2, #5 804de60: 2164 movs r1, #100 ; 0x64 804de62: fb01 f202 mul.w r2, r1, r2 804de66: 1a9a subs r2, r3, r2 804de68: 4b76 ldr r3, [pc, #472] ; (804e044 ) 804de6a: fba3 1302 umull r1, r3, r3, r2 804de6e: 08d9 lsrs r1, r3, #3 804de70: 460b mov r3, r1 804de72: 009b lsls r3, r3, #2 804de74: 440b add r3, r1 804de76: 005b lsls r3, r3, #1 804de78: 1ad1 subs r1, r2, r3 804de7a: b2cb uxtb r3, r1 804de7c: 3330 adds r3, #48 ; 0x30 804de7e: b2da uxtb r2, r3 804de80: 4b6b ldr r3, [pc, #428] ; (804e030 ) 804de82: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804de84: 4b6c ldr r3, [pc, #432] ; (804e038 ) 804de86: 681b ldr r3, [r3, #0] 804de88: 1c5a adds r2, r3, #1 804de8a: 496b ldr r1, [pc, #428] ; (804e038 ) 804de8c: 600a str r2, [r1, #0] 804de8e: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804de92: 496c ldr r1, [pc, #432] ; (804e044 ) 804de94: fba1 1202 umull r1, r2, r1, r2 804de98: 08d2 lsrs r2, r2, #3 804de9a: b2d2 uxtb r2, r2 804de9c: 3230 adds r2, #48 ; 0x30 804de9e: b2d1 uxtb r1, r2 804dea0: 4a63 ldr r2, [pc, #396] ; (804e030 ) 804dea2: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804dea4: 4b64 ldr r3, [pc, #400] ; (804e038 ) 804dea6: 6819 ldr r1, [r3, #0] 804dea8: 1c4b adds r3, r1, #1 804deaa: 4a63 ldr r2, [pc, #396] ; (804e038 ) 804deac: 6013 str r3, [r2, #0] 804deae: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804deb2: 4b64 ldr r3, [pc, #400] ; (804e044 ) 804deb4: fba3 2300 umull r2, r3, r3, r0 804deb8: 08da lsrs r2, r3, #3 804deba: 4613 mov r3, r2 804debc: 009b lsls r3, r3, #2 804debe: 4413 add r3, r2 804dec0: 005b lsls r3, r3, #1 804dec2: 1ac2 subs r2, r0, r3 804dec4: b2d3 uxtb r3, r2 804dec6: 3330 adds r3, #48 ; 0x30 804dec8: b2da uxtb r2, r3 804deca: 4b59 ldr r3, [pc, #356] ; (804e030 ) 804decc: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804dece: 4b5a ldr r3, [pc, #360] ; (804e038 ) 804ded0: 681b ldr r3, [r3, #0] 804ded2: 1c5a adds r2, r3, #1 804ded4: 4958 ldr r1, [pc, #352] ; (804e038 ) 804ded6: 600a str r2, [r1, #0] 804ded8: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804dedc: 4959 ldr r1, [pc, #356] ; (804e044 ) 804dede: fba1 1202 umull r1, r2, r1, r2 804dee2: 08d2 lsrs r2, r2, #3 804dee4: b2d2 uxtb r2, r2 804dee6: 3230 adds r2, #48 ; 0x30 804dee8: b2d1 uxtb r1, r2 804deea: 4a51 ldr r2, [pc, #324] ; (804e030 ) 804deec: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804deee: 4b52 ldr r3, [pc, #328] ; (804e038 ) 804def0: 6819 ldr r1, [r3, #0] 804def2: 1c4b adds r3, r1, #1 804def4: 4a50 ldr r2, [pc, #320] ; (804e038 ) 804def6: 6013 str r3, [r2, #0] 804def8: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804defc: 4b51 ldr r3, [pc, #324] ; (804e044 ) 804defe: fba3 2300 umull r2, r3, r3, r0 804df02: 08da lsrs r2, r3, #3 804df04: 4613 mov r3, r2 804df06: 009b lsls r3, r3, #2 804df08: 4413 add r3, r2 804df0a: 005b lsls r3, r3, #1 804df0c: 1ac2 subs r2, r0, r3 804df0e: b2d3 uxtb r3, r2 804df10: 3330 adds r3, #48 ; 0x30 804df12: b2da uxtb r2, r3 804df14: 4b46 ldr r3, [pc, #280] ; (804e030 ) 804df16: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804df18: 4b47 ldr r3, [pc, #284] ; (804e038 ) 804df1a: 681b ldr r3, [r3, #0] 804df1c: 1c5a adds r2, r3, #1 804df1e: 4946 ldr r1, [pc, #280] ; (804e038 ) 804df20: 600a str r2, [r1, #0] 804df22: 4a43 ldr r2, [pc, #268] ; (804e030 ) 804df24: 215f movs r1, #95 ; 0x5f 804df26: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804df28: 4b43 ldr r3, [pc, #268] ; (804e038 ) 804df2a: 681b ldr r3, [r3, #0] 804df2c: 1c5a adds r2, r3, #1 804df2e: 4942 ldr r1, [pc, #264] ; (804e038 ) 804df30: 600a str r2, [r1, #0] 804df32: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804df36: 4943 ldr r1, [pc, #268] ; (804e044 ) 804df38: fba1 1202 umull r1, r2, r1, r2 804df3c: 08d2 lsrs r2, r2, #3 804df3e: b2d2 uxtb r2, r2 804df40: 3230 adds r2, #48 ; 0x30 804df42: b2d1 uxtb r1, r2 804df44: 4a3a ldr r2, [pc, #232] ; (804e030 ) 804df46: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804df48: 4b3b ldr r3, [pc, #236] ; (804e038 ) 804df4a: 6819 ldr r1, [r3, #0] 804df4c: 1c4b adds r3, r1, #1 804df4e: 4a3a ldr r2, [pc, #232] ; (804e038 ) 804df50: 6013 str r3, [r2, #0] 804df52: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804df56: 4b3b ldr r3, [pc, #236] ; (804e044 ) 804df58: fba3 2300 umull r2, r3, r3, r0 804df5c: 08da lsrs r2, r3, #3 804df5e: 4613 mov r3, r2 804df60: 009b lsls r3, r3, #2 804df62: 4413 add r3, r2 804df64: 005b lsls r3, r3, #1 804df66: 1ac2 subs r2, r0, r3 804df68: b2d3 uxtb r3, r2 804df6a: 3330 adds r3, #48 ; 0x30 804df6c: b2da uxtb r2, r3 804df6e: 4b30 ldr r3, [pc, #192] ; (804e030 ) 804df70: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804df72: 4b31 ldr r3, [pc, #196] ; (804e038 ) 804df74: 681b ldr r3, [r3, #0] 804df76: 1c5a adds r2, r3, #1 804df78: 492f ldr r1, [pc, #188] ; (804e038 ) 804df7a: 600a str r2, [r1, #0] 804df7c: 6ffa ldr r2, [r7, #124] ; 0x7c 804df7e: 4931 ldr r1, [pc, #196] ; (804e044 ) 804df80: fba1 1202 umull r1, r2, r1, r2 804df84: 08d2 lsrs r2, r2, #3 804df86: b2d2 uxtb r2, r2 804df88: 3230 adds r2, #48 ; 0x30 804df8a: b2d1 uxtb r1, r2 804df8c: 4a28 ldr r2, [pc, #160] ; (804e030 ) 804df8e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804df90: 4b29 ldr r3, [pc, #164] ; (804e038 ) 804df92: 6819 ldr r1, [r3, #0] 804df94: 1c4b adds r3, r1, #1 804df96: 4a28 ldr r2, [pc, #160] ; (804e038 ) 804df98: 6013 str r3, [r2, #0] 804df9a: 6ff8 ldr r0, [r7, #124] ; 0x7c 804df9c: 4b29 ldr r3, [pc, #164] ; (804e044 ) 804df9e: fba3 2300 umull r2, r3, r3, r0 804dfa2: 08da lsrs r2, r3, #3 804dfa4: 4613 mov r3, r2 804dfa6: 009b lsls r3, r3, #2 804dfa8: 4413 add r3, r2 804dfaa: 005b lsls r3, r3, #1 804dfac: 1ac2 subs r2, r0, r3 804dfae: b2d3 uxtb r3, r2 804dfb0: 3330 adds r3, #48 ; 0x30 804dfb2: b2da uxtb r2, r3 804dfb4: 4b1e ldr r3, [pc, #120] ; (804e030 ) 804dfb6: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804dfb8: 4b1f ldr r3, [pc, #124] ; (804e038 ) 804dfba: 681b ldr r3, [r3, #0] 804dfbc: 1c5a adds r2, r3, #1 804dfbe: 491e ldr r1, [pc, #120] ; (804e038 ) 804dfc0: 600a str r2, [r1, #0] 804dfc2: 6fba ldr r2, [r7, #120] ; 0x78 804dfc4: 491f ldr r1, [pc, #124] ; (804e044 ) 804dfc6: fba1 1202 umull r1, r2, r1, r2 804dfca: 08d2 lsrs r2, r2, #3 804dfcc: b2d2 uxtb r2, r2 804dfce: 3230 adds r2, #48 ; 0x30 804dfd0: b2d1 uxtb r1, r2 804dfd2: 4a17 ldr r2, [pc, #92] ; (804e030 ) 804dfd4: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804dfd6: 4b18 ldr r3, [pc, #96] ; (804e038 ) 804dfd8: 6819 ldr r1, [r3, #0] 804dfda: 1c4b adds r3, r1, #1 804dfdc: 4a16 ldr r2, [pc, #88] ; (804e038 ) 804dfde: 6013 str r3, [r2, #0] 804dfe0: 6fb8 ldr r0, [r7, #120] ; 0x78 804dfe2: 4b18 ldr r3, [pc, #96] ; (804e044 ) 804dfe4: fba3 2300 umull r2, r3, r3, r0 804dfe8: 08da lsrs r2, r3, #3 804dfea: 4613 mov r3, r2 804dfec: 009b lsls r3, r3, #2 804dfee: 4413 add r3, r2 804dff0: 005b lsls r3, r3, #1 804dff2: 1ac2 subs r2, r0, r3 804dff4: b2d3 uxtb r3, r2 804dff6: 3330 adds r3, #48 ; 0x30 804dff8: b2da uxtb r2, r3 804dffa: 4b0d ldr r3, [pc, #52] ; (804e030 ) 804dffc: 545a strb r2, [r3, r1] lastmenu = menu; 804dffe: 4b12 ldr r3, [pc, #72] ; (804e048 ) 804e000: 781b ldrb r3, [r3, #0] 804e002: b2da uxtb r2, r3 804e004: 4b11 ldr r3, [pc, #68] ; (804e04c ) 804e006: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804e008: 4b0f ldr r3, [pc, #60] ; (804e048 ) 804e00a: 222f movs r2, #47 ; 0x2f 804e00c: 701a strb r2, [r3, #0] menupos = _ENTER; 804e00e: 4b10 ldr r3, [pc, #64] ; (804e050 ) 804e010: 2226 movs r2, #38 ; 0x26 804e012: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804e014: e030 b.n 804e078 STATUS = AP_NO_CARD; 804e016: 4b0f ldr r3, [pc, #60] ; (804e054 ) 804e018: 2211 movs r2, #17 804e01a: 601a str r2, [r3, #0] timerStatus = sec2; 804e01c: 4b0e ldr r3, [pc, #56] ; (804e058 ) 804e01e: f44f 5280 mov.w r2, #4096 ; 0x1000 804e022: 801a strh r2, [r3, #0] DrawStatus = true; 804e024: 4b0d ldr r3, [pc, #52] ; (804e05c ) 804e026: 2201 movs r2, #1 804e028: 701a strb r2, [r3, #0] break; 804e02a: e025 b.n 804e078 804e02c: 20023ea8 .word 0x20023ea8 804e030: 20025cc8 .word 0x20025cc8 804e034: 080d29a8 .word 0x080d29a8 804e038: 20020f0c .word 0x20020f0c 804e03c: 10624dd3 .word 0x10624dd3 804e040: 51eb851f .word 0x51eb851f 804e044: cccccccd .word 0xcccccccd 804e048: 20020fbd .word 0x20020fbd 804e04c: 20020fbe .word 0x20020fbe 804e050: 20020070 .word 0x20020070 804e054: 20020dec .word 0x20020dec 804e058: 200216d4 .word 0x200216d4 804e05c: 20020df2 .word 0x20020df2 break; 804e060: bf00 nop 804e062: f005 bd44 b.w 8053aee break; 804e066: bf00 nop 804e068: f005 bd41 b.w 8053aee break; 804e06c: bf00 nop 804e06e: f005 bd3e b.w 8053aee break; 804e072: bf00 nop 804e074: f005 bd3b b.w 8053aee break; 804e078: bf00 nop } break; 804e07a: f005 bd38 b.w 8053aee case MAIN_SPEC_OKT: switch(menupos) 804e07e: 4b73 ldr r3, [pc, #460] ; (804e24c ) 804e080: 781b ldrb r3, [r3, #0] 804e082: b2db uxtb r3, r3 804e084: 2b09 cmp r3, #9 804e086: f205 8534 bhi.w 8053af2 804e08a: a201 add r2, pc, #4 ; (adr r2, 804e090 ) 804e08c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804e090: 0804e0cb .word 0x0804e0cb 804e094: 0804e0b9 .word 0x0804e0b9 804e098: 0804e107 .word 0x0804e107 804e09c: 0804e107 .word 0x0804e107 804e0a0: 0804e107 .word 0x0804e107 804e0a4: 0804e107 .word 0x0804e107 804e0a8: 0804e107 .word 0x0804e107 804e0ac: 08053af3 .word 0x08053af3 804e0b0: 08053af3 .word 0x08053af3 804e0b4: 0804e10f .word 0x0804e10f { case BackMenu: StopMeas(); 804e0b8: f7d5 fb70 bl 802379c menu = PARAM_SPEC; 804e0bc: 4b64 ldr r3, [pc, #400] ; (804e250 ) 804e0be: 2207 movs r2, #7 804e0c0: 701a strb r2, [r3, #0] menupos = Ok; 804e0c2: 4b62 ldr r3, [pc, #392] ; (804e24c ) 804e0c4: 2200 movs r2, #0 804e0c6: 701a strb r2, [r3, #0] break; 804e0c8: e246 b.n 804e558 case StartStop: if(!measuring) 804e0ca: 4b62 ldr r3, [pc, #392] ; (804e254 ) 804e0cc: 781b ldrb r3, [r3, #0] 804e0ce: b2db uxtb r3, r3 804e0d0: f083 0301 eor.w r3, r3, #1 804e0d4: b2db uxtb r3, r3 804e0d6: 2b00 cmp r3, #0 804e0d8: d00a beq.n 804e0f0 { AUTOZOOM = true; 804e0da: 4b5f ldr r3, [pc, #380] ; (804e258 ) 804e0dc: 2201 movs r2, #1 804e0de: 701a strb r2, [r3, #0] FIRST = true; 804e0e0: 4b5e ldr r3, [pc, #376] ; (804e25c ) 804e0e2: 2201 movs r2, #1 804e0e4: 701a strb r2, [r3, #0] initAmplif(); 804e0e6: f7d3 fcd5 bl 8021a94 StartMeas(); 804e0ea: f7d4 ffa7 bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804e0ee: e233 b.n 804e558 StopMeas(); 804e0f0: f7d5 fb54 bl 802379c AUTOZOOM = true; 804e0f4: 4b58 ldr r3, [pc, #352] ; (804e258 ) 804e0f6: 2201 movs r2, #1 804e0f8: 701a strb r2, [r3, #0] oldmenupos = menupos; 804e0fa: 4b54 ldr r3, [pc, #336] ; (804e24c ) 804e0fc: 781b ldrb r3, [r3, #0] 804e0fe: b2da uxtb r2, r3 804e100: 4b57 ldr r3, [pc, #348] ; (804e260 ) 804e102: 701a strb r2, [r3, #0] break; 804e104: e228 b.n 804e558 case ImageLeft: case ImageRight: case ZoomIn: case ZoomOut: case Cursor: AUTOZOOM = true; 804e106: 4b54 ldr r3, [pc, #336] ; (804e258 ) 804e108: 2201 movs r2, #1 804e10a: 701a strb r2, [r3, #0] break; 804e10c: e224 b.n 804e558 case SaveSpec: if(CardState == MSD_READY) 804e10e: 4b55 ldr r3, [pc, #340] ; (804e264 ) 804e110: 781b ldrb r3, [r3, #0] 804e112: b2db uxtb r3, r3 804e114: 2b03 cmp r3, #3 804e116: f040 8214 bne.w 804e542 { if(!measuring) 804e11a: 4b4e ldr r3, [pc, #312] ; (804e254 ) 804e11c: 781b ldrb r3, [r3, #0] 804e11e: b2db uxtb r3, r3 804e120: f083 0301 eor.w r3, r3, #1 804e124: b2db uxtb r3, r3 804e126: 2b00 cmp r3, #0 804e128: f000 8215 beq.w 804e556 { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804e12c: 2200 movs r2, #0 804e12e: 494e ldr r1, [pc, #312] ; (804e268 ) 804e130: 484e ldr r0, [pc, #312] ; (804e26c ) 804e132: f06e fb4f bl 80bc7d4 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804e136: 2200 movs r2, #0 804e138: 494d ldr r1, [pc, #308] ; (804e270 ) 804e13a: 484c ldr r0, [pc, #304] ; (804e26c ) 804e13c: f06e fc50 bl 80bc9e0 Day = RTC_DateStruct.Date; 804e140: 4b4b ldr r3, [pc, #300] ; (804e270 ) 804e142: 789b ldrb r3, [r3, #2] 804e144: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804e148: 4b49 ldr r3, [pc, #292] ; (804e270 ) 804e14a: 785b ldrb r3, [r3, #1] 804e14c: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804e150: 4b47 ldr r3, [pc, #284] ; (804e270 ) 804e152: 78db ldrb r3, [r3, #3] 804e154: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804e158: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804e15c: 4b42 ldr r3, [pc, #264] ; (804e268 ) 804e15e: 781b ldrb r3, [r3, #0] 804e160: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804e164: 4b40 ldr r3, [pc, #256] ; (804e268 ) 804e166: 785b ldrb r3, [r3, #1] 804e168: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804e16a: 4b3f ldr r3, [pc, #252] ; (804e268 ) 804e16c: 789b ldrb r3, [r3, #2] 804e16e: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804e170: 2221 movs r2, #33 ; 0x21 804e172: 2100 movs r1, #0 804e174: 483f ldr r0, [pc, #252] ; (804e274 ) 804e176: f083 f913 bl 80d13a0 strcpy(TEMP_MeasFileName,"1_1_"); 804e17a: 4b3e ldr r3, [pc, #248] ; (804e274 ) 804e17c: 4a3e ldr r2, [pc, #248] ; (804e278 ) 804e17e: 6810 ldr r0, [r2, #0] 804e180: 6018 str r0, [r3, #0] 804e182: 7912 ldrb r2, [r2, #4] 804e184: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804e186: 4b3d ldr r3, [pc, #244] ; (804e27c ) 804e188: 785b ldrb r3, [r3, #1] 804e18a: b2db uxtb r3, r3 804e18c: 2b00 cmp r3, #0 804e18e: d10c bne.n 804e1aa 804e190: 4838 ldr r0, [pc, #224] ; (804e274 ) 804e192: f7d2 f8bf bl 8020314 804e196: 4603 mov r3, r0 804e198: 461a mov r2, r3 804e19a: 4b36 ldr r3, [pc, #216] ; (804e274 ) 804e19c: 4413 add r3, r2 804e19e: 4938 ldr r1, [pc, #224] ; (804e280 ) 804e1a0: 461a mov r2, r3 804e1a2: 460b mov r3, r1 804e1a4: 881b ldrh r3, [r3, #0] 804e1a6: 8013 strh r3, [r2, #0] 804e1a8: e022 b.n 804e1f0 else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804e1aa: 4b34 ldr r3, [pc, #208] ; (804e27c ) 804e1ac: 785b ldrb r3, [r3, #1] 804e1ae: b2db uxtb r3, r3 804e1b0: 2b01 cmp r3, #1 804e1b2: d10c bne.n 804e1ce 804e1b4: 482f ldr r0, [pc, #188] ; (804e274 ) 804e1b6: f7d2 f8ad bl 8020314 804e1ba: 4603 mov r3, r0 804e1bc: 461a mov r2, r3 804e1be: 4b2d ldr r3, [pc, #180] ; (804e274 ) 804e1c0: 4413 add r3, r2 804e1c2: 4930 ldr r1, [pc, #192] ; (804e284 ) 804e1c4: 461a mov r2, r3 804e1c6: 460b mov r3, r1 804e1c8: 881b ldrh r3, [r3, #0] 804e1ca: 8013 strh r3, [r2, #0] 804e1cc: e010 b.n 804e1f0 else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804e1ce: 4b2b ldr r3, [pc, #172] ; (804e27c ) 804e1d0: 785b ldrb r3, [r3, #1] 804e1d2: b2db uxtb r3, r3 804e1d4: 2b02 cmp r3, #2 804e1d6: d10b bne.n 804e1f0 804e1d8: 4826 ldr r0, [pc, #152] ; (804e274 ) 804e1da: f7d2 f89b bl 8020314 804e1de: 4603 mov r3, r0 804e1e0: 461a mov r2, r3 804e1e2: 4b24 ldr r3, [pc, #144] ; (804e274 ) 804e1e4: 4413 add r3, r2 804e1e6: 4928 ldr r1, [pc, #160] ; (804e288 ) 804e1e8: 461a mov r2, r3 804e1ea: 460b mov r3, r1 804e1ec: 881b ldrh r3, [r3, #0] 804e1ee: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804e1f0: 4b22 ldr r3, [pc, #136] ; (804e27c ) 804e1f2: 785b ldrb r3, [r3, #1] 804e1f4: b2db uxtb r3, r3 804e1f6: 461a mov r2, r3 804e1f8: 4b20 ldr r3, [pc, #128] ; (804e27c ) 804e1fa: 4413 add r3, r2 804e1fc: 789b ldrb r3, [r3, #2] 804e1fe: b2db uxtb r3, r3 804e200: 2b00 cmp r3, #0 804e202: d10c bne.n 804e21e 804e204: 481b ldr r0, [pc, #108] ; (804e274 ) 804e206: f7d2 f885 bl 8020314 804e20a: 4603 mov r3, r0 804e20c: 461a mov r2, r3 804e20e: 4b19 ldr r3, [pc, #100] ; (804e274 ) 804e210: 4413 add r3, r2 804e212: 4a1e ldr r2, [pc, #120] ; (804e28c ) 804e214: 6810 ldr r0, [r2, #0] 804e216: 6018 str r0, [r3, #0] 804e218: 7912 ldrb r2, [r2, #4] 804e21a: 711a strb r2, [r3, #4] 804e21c: e052 b.n 804e2c4 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804e21e: 4b17 ldr r3, [pc, #92] ; (804e27c ) 804e220: 785b ldrb r3, [r3, #1] 804e222: b2db uxtb r3, r3 804e224: 461a mov r2, r3 804e226: 4b15 ldr r3, [pc, #84] ; (804e27c ) 804e228: 4413 add r3, r2 804e22a: 789b ldrb r3, [r3, #2] 804e22c: b2db uxtb r3, r3 804e22e: 2b01 cmp r3, #1 804e230: d130 bne.n 804e294 804e232: 4810 ldr r0, [pc, #64] ; (804e274 ) 804e234: f7d2 f86e bl 8020314 804e238: 4603 mov r3, r0 804e23a: 461a mov r2, r3 804e23c: 4b0d ldr r3, [pc, #52] ; (804e274 ) 804e23e: 4413 add r3, r2 804e240: 4a13 ldr r2, [pc, #76] ; (804e290 ) 804e242: 6810 ldr r0, [r2, #0] 804e244: 6018 str r0, [r3, #0] 804e246: 8892 ldrh r2, [r2, #4] 804e248: 809a strh r2, [r3, #4] 804e24a: e03b b.n 804e2c4 804e24c: 20020070 .word 0x20020070 804e250: 20020fbd .word 0x20020fbd 804e254: 20020dcf .word 0x20020dcf 804e258: 20020994 .word 0x20020994 804e25c: 20020dd2 .word 0x20020dd2 804e260: 20020fbf .word 0x20020fbf 804e264: 20021694 .word 0x20021694 804e268: 20025cb0 .word 0x20025cb0 804e26c: 200685d8 .word 0x200685d8 804e270: 20025d34 .word 0x20025d34 804e274: 20025cc8 .word 0x20025cc8 804e278: 080d29b8 .word 0x080d29b8 804e27c: 20023ea8 .word 0x20023ea8 804e280: 080d298c .word 0x080d298c 804e284: 080d2990 .word 0x080d2990 804e288: 080d2994 .word 0x080d2994 804e28c: 080d2998 .word 0x080d2998 804e290: 080d29a0 .word 0x080d29a0 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804e294: 4bb1 ldr r3, [pc, #708] ; (804e55c ) 804e296: 785b ldrb r3, [r3, #1] 804e298: b2db uxtb r3, r3 804e29a: 461a mov r2, r3 804e29c: 4baf ldr r3, [pc, #700] ; (804e55c ) 804e29e: 4413 add r3, r2 804e2a0: 789b ldrb r3, [r3, #2] 804e2a2: b2db uxtb r3, r3 804e2a4: 2b02 cmp r3, #2 804e2a6: d10d bne.n 804e2c4 804e2a8: 48ad ldr r0, [pc, #692] ; (804e560 ) 804e2aa: f7d2 f833 bl 8020314 804e2ae: 4603 mov r3, r0 804e2b0: 461a mov r2, r3 804e2b2: 4bab ldr r3, [pc, #684] ; (804e560 ) 804e2b4: 4413 add r3, r2 804e2b6: 4aab ldr r2, [pc, #684] ; (804e564 ) 804e2b8: 6810 ldr r0, [r2, #0] 804e2ba: 6018 str r0, [r3, #0] 804e2bc: 8891 ldrh r1, [r2, #4] 804e2be: 7992 ldrb r2, [r2, #6] 804e2c0: 8099 strh r1, [r3, #4] 804e2c2: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804e2c4: 48a6 ldr r0, [pc, #664] ; (804e560 ) 804e2c6: f7d2 f825 bl 8020314 804e2ca: 4602 mov r2, r0 804e2cc: 4ba6 ldr r3, [pc, #664] ; (804e568 ) 804e2ce: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804e2d0: 4ba5 ldr r3, [pc, #660] ; (804e568 ) 804e2d2: 681b ldr r3, [r3, #0] 804e2d4: 1c5a adds r2, r3, #1 804e2d6: 49a4 ldr r1, [pc, #656] ; (804e568 ) 804e2d8: 600a str r2, [r1, #0] 804e2da: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804e2de: 49a3 ldr r1, [pc, #652] ; (804e56c ) 804e2e0: fba1 1202 umull r1, r2, r1, r2 804e2e4: 0992 lsrs r2, r2, #6 804e2e6: b2d2 uxtb r2, r2 804e2e8: 3230 adds r2, #48 ; 0x30 804e2ea: b2d1 uxtb r1, r2 804e2ec: 4a9c ldr r2, [pc, #624] ; (804e560 ) 804e2ee: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804e2f0: 4b9d ldr r3, [pc, #628] ; (804e568 ) 804e2f2: 681a ldr r2, [r3, #0] 804e2f4: 1c53 adds r3, r2, #1 804e2f6: 499c ldr r1, [pc, #624] ; (804e568 ) 804e2f8: 600b str r3, [r1, #0] 804e2fa: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804e2fe: 4b9b ldr r3, [pc, #620] ; (804e56c ) 804e300: fba3 0301 umull r0, r3, r3, r1 804e304: 099b lsrs r3, r3, #6 804e306: f44f 707a mov.w r0, #1000 ; 0x3e8 804e30a: fb00 f303 mul.w r3, r0, r3 804e30e: 1acb subs r3, r1, r3 804e310: 4997 ldr r1, [pc, #604] ; (804e570 ) 804e312: fba1 1303 umull r1, r3, r1, r3 804e316: 095b lsrs r3, r3, #5 804e318: b2db uxtb r3, r3 804e31a: 3330 adds r3, #48 ; 0x30 804e31c: b2d9 uxtb r1, r3 804e31e: 4b90 ldr r3, [pc, #576] ; (804e560 ) 804e320: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804e322: 4b91 ldr r3, [pc, #580] ; (804e568 ) 804e324: 6819 ldr r1, [r3, #0] 804e326: 1c4b adds r3, r1, #1 804e328: 4a8f ldr r2, [pc, #572] ; (804e568 ) 804e32a: 6013 str r3, [r2, #0] 804e32c: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804e330: 4b8e ldr r3, [pc, #568] ; (804e56c ) 804e332: fba3 0302 umull r0, r3, r3, r2 804e336: 099b lsrs r3, r3, #6 804e338: f44f 707a mov.w r0, #1000 ; 0x3e8 804e33c: fb00 f303 mul.w r3, r0, r3 804e340: 1ad3 subs r3, r2, r3 804e342: 4a8b ldr r2, [pc, #556] ; (804e570 ) 804e344: fba2 0203 umull r0, r2, r2, r3 804e348: 0952 lsrs r2, r2, #5 804e34a: 2064 movs r0, #100 ; 0x64 804e34c: fb00 f202 mul.w r2, r0, r2 804e350: 1a9a subs r2, r3, r2 804e352: 4b88 ldr r3, [pc, #544] ; (804e574 ) 804e354: fba3 2302 umull r2, r3, r3, r2 804e358: 08db lsrs r3, r3, #3 804e35a: b2db uxtb r3, r3 804e35c: 3330 adds r3, #48 ; 0x30 804e35e: b2da uxtb r2, r3 804e360: 4b7f ldr r3, [pc, #508] ; (804e560 ) 804e362: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804e364: 4b80 ldr r3, [pc, #512] ; (804e568 ) 804e366: 6818 ldr r0, [r3, #0] 804e368: 1c43 adds r3, r0, #1 804e36a: 4a7f ldr r2, [pc, #508] ; (804e568 ) 804e36c: 6013 str r3, [r2, #0] 804e36e: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804e372: 4b7e ldr r3, [pc, #504] ; (804e56c ) 804e374: fba3 1302 umull r1, r3, r3, r2 804e378: 099b lsrs r3, r3, #6 804e37a: f44f 717a mov.w r1, #1000 ; 0x3e8 804e37e: fb01 f303 mul.w r3, r1, r3 804e382: 1ad3 subs r3, r2, r3 804e384: 4a7a ldr r2, [pc, #488] ; (804e570 ) 804e386: fba2 1203 umull r1, r2, r2, r3 804e38a: 0952 lsrs r2, r2, #5 804e38c: 2164 movs r1, #100 ; 0x64 804e38e: fb01 f202 mul.w r2, r1, r2 804e392: 1a9a subs r2, r3, r2 804e394: 4b77 ldr r3, [pc, #476] ; (804e574 ) 804e396: fba3 1302 umull r1, r3, r3, r2 804e39a: 08d9 lsrs r1, r3, #3 804e39c: 460b mov r3, r1 804e39e: 009b lsls r3, r3, #2 804e3a0: 440b add r3, r1 804e3a2: 005b lsls r3, r3, #1 804e3a4: 1ad1 subs r1, r2, r3 804e3a6: b2cb uxtb r3, r1 804e3a8: 3330 adds r3, #48 ; 0x30 804e3aa: b2da uxtb r2, r3 804e3ac: 4b6c ldr r3, [pc, #432] ; (804e560 ) 804e3ae: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804e3b0: 4b6d ldr r3, [pc, #436] ; (804e568 ) 804e3b2: 681b ldr r3, [r3, #0] 804e3b4: 1c5a adds r2, r3, #1 804e3b6: 496c ldr r1, [pc, #432] ; (804e568 ) 804e3b8: 600a str r2, [r1, #0] 804e3ba: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804e3be: 496d ldr r1, [pc, #436] ; (804e574 ) 804e3c0: fba1 1202 umull r1, r2, r1, r2 804e3c4: 08d2 lsrs r2, r2, #3 804e3c6: b2d2 uxtb r2, r2 804e3c8: 3230 adds r2, #48 ; 0x30 804e3ca: b2d1 uxtb r1, r2 804e3cc: 4a64 ldr r2, [pc, #400] ; (804e560 ) 804e3ce: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804e3d0: 4b65 ldr r3, [pc, #404] ; (804e568 ) 804e3d2: 6819 ldr r1, [r3, #0] 804e3d4: 1c4b adds r3, r1, #1 804e3d6: 4a64 ldr r2, [pc, #400] ; (804e568 ) 804e3d8: 6013 str r3, [r2, #0] 804e3da: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804e3de: 4b65 ldr r3, [pc, #404] ; (804e574 ) 804e3e0: fba3 2300 umull r2, r3, r3, r0 804e3e4: 08da lsrs r2, r3, #3 804e3e6: 4613 mov r3, r2 804e3e8: 009b lsls r3, r3, #2 804e3ea: 4413 add r3, r2 804e3ec: 005b lsls r3, r3, #1 804e3ee: 1ac2 subs r2, r0, r3 804e3f0: b2d3 uxtb r3, r2 804e3f2: 3330 adds r3, #48 ; 0x30 804e3f4: b2da uxtb r2, r3 804e3f6: 4b5a ldr r3, [pc, #360] ; (804e560 ) 804e3f8: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804e3fa: 4b5b ldr r3, [pc, #364] ; (804e568 ) 804e3fc: 681b ldr r3, [r3, #0] 804e3fe: 1c5a adds r2, r3, #1 804e400: 4959 ldr r1, [pc, #356] ; (804e568 ) 804e402: 600a str r2, [r1, #0] 804e404: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804e408: 495a ldr r1, [pc, #360] ; (804e574 ) 804e40a: fba1 1202 umull r1, r2, r1, r2 804e40e: 08d2 lsrs r2, r2, #3 804e410: b2d2 uxtb r2, r2 804e412: 3230 adds r2, #48 ; 0x30 804e414: b2d1 uxtb r1, r2 804e416: 4a52 ldr r2, [pc, #328] ; (804e560 ) 804e418: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804e41a: 4b53 ldr r3, [pc, #332] ; (804e568 ) 804e41c: 6819 ldr r1, [r3, #0] 804e41e: 1c4b adds r3, r1, #1 804e420: 4a51 ldr r2, [pc, #324] ; (804e568 ) 804e422: 6013 str r3, [r2, #0] 804e424: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804e428: 4b52 ldr r3, [pc, #328] ; (804e574 ) 804e42a: fba3 2300 umull r2, r3, r3, r0 804e42e: 08da lsrs r2, r3, #3 804e430: 4613 mov r3, r2 804e432: 009b lsls r3, r3, #2 804e434: 4413 add r3, r2 804e436: 005b lsls r3, r3, #1 804e438: 1ac2 subs r2, r0, r3 804e43a: b2d3 uxtb r3, r2 804e43c: 3330 adds r3, #48 ; 0x30 804e43e: b2da uxtb r2, r3 804e440: 4b47 ldr r3, [pc, #284] ; (804e560 ) 804e442: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804e444: 4b48 ldr r3, [pc, #288] ; (804e568 ) 804e446: 681b ldr r3, [r3, #0] 804e448: 1c5a adds r2, r3, #1 804e44a: 4947 ldr r1, [pc, #284] ; (804e568 ) 804e44c: 600a str r2, [r1, #0] 804e44e: 4a44 ldr r2, [pc, #272] ; (804e560 ) 804e450: 215f movs r1, #95 ; 0x5f 804e452: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804e454: 4b44 ldr r3, [pc, #272] ; (804e568 ) 804e456: 681b ldr r3, [r3, #0] 804e458: 1c5a adds r2, r3, #1 804e45a: 4943 ldr r1, [pc, #268] ; (804e568 ) 804e45c: 600a str r2, [r1, #0] 804e45e: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804e462: 4944 ldr r1, [pc, #272] ; (804e574 ) 804e464: fba1 1202 umull r1, r2, r1, r2 804e468: 08d2 lsrs r2, r2, #3 804e46a: b2d2 uxtb r2, r2 804e46c: 3230 adds r2, #48 ; 0x30 804e46e: b2d1 uxtb r1, r2 804e470: 4a3b ldr r2, [pc, #236] ; (804e560 ) 804e472: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804e474: 4b3c ldr r3, [pc, #240] ; (804e568 ) 804e476: 6819 ldr r1, [r3, #0] 804e478: 1c4b adds r3, r1, #1 804e47a: 4a3b ldr r2, [pc, #236] ; (804e568 ) 804e47c: 6013 str r3, [r2, #0] 804e47e: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804e482: 4b3c ldr r3, [pc, #240] ; (804e574 ) 804e484: fba3 2300 umull r2, r3, r3, r0 804e488: 08da lsrs r2, r3, #3 804e48a: 4613 mov r3, r2 804e48c: 009b lsls r3, r3, #2 804e48e: 4413 add r3, r2 804e490: 005b lsls r3, r3, #1 804e492: 1ac2 subs r2, r0, r3 804e494: b2d3 uxtb r3, r2 804e496: 3330 adds r3, #48 ; 0x30 804e498: b2da uxtb r2, r3 804e49a: 4b31 ldr r3, [pc, #196] ; (804e560 ) 804e49c: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804e49e: 4b32 ldr r3, [pc, #200] ; (804e568 ) 804e4a0: 681b ldr r3, [r3, #0] 804e4a2: 1c5a adds r2, r3, #1 804e4a4: 4930 ldr r1, [pc, #192] ; (804e568 ) 804e4a6: 600a str r2, [r1, #0] 804e4a8: 6ffa ldr r2, [r7, #124] ; 0x7c 804e4aa: 4932 ldr r1, [pc, #200] ; (804e574 ) 804e4ac: fba1 1202 umull r1, r2, r1, r2 804e4b0: 08d2 lsrs r2, r2, #3 804e4b2: b2d2 uxtb r2, r2 804e4b4: 3230 adds r2, #48 ; 0x30 804e4b6: b2d1 uxtb r1, r2 804e4b8: 4a29 ldr r2, [pc, #164] ; (804e560 ) 804e4ba: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804e4bc: 4b2a ldr r3, [pc, #168] ; (804e568 ) 804e4be: 6819 ldr r1, [r3, #0] 804e4c0: 1c4b adds r3, r1, #1 804e4c2: 4a29 ldr r2, [pc, #164] ; (804e568 ) 804e4c4: 6013 str r3, [r2, #0] 804e4c6: 6ff8 ldr r0, [r7, #124] ; 0x7c 804e4c8: 4b2a ldr r3, [pc, #168] ; (804e574 ) 804e4ca: fba3 2300 umull r2, r3, r3, r0 804e4ce: 08da lsrs r2, r3, #3 804e4d0: 4613 mov r3, r2 804e4d2: 009b lsls r3, r3, #2 804e4d4: 4413 add r3, r2 804e4d6: 005b lsls r3, r3, #1 804e4d8: 1ac2 subs r2, r0, r3 804e4da: b2d3 uxtb r3, r2 804e4dc: 3330 adds r3, #48 ; 0x30 804e4de: b2da uxtb r2, r3 804e4e0: 4b1f ldr r3, [pc, #124] ; (804e560 ) 804e4e2: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804e4e4: 4b20 ldr r3, [pc, #128] ; (804e568 ) 804e4e6: 681b ldr r3, [r3, #0] 804e4e8: 1c5a adds r2, r3, #1 804e4ea: 491f ldr r1, [pc, #124] ; (804e568 ) 804e4ec: 600a str r2, [r1, #0] 804e4ee: 6fba ldr r2, [r7, #120] ; 0x78 804e4f0: 4920 ldr r1, [pc, #128] ; (804e574 ) 804e4f2: fba1 1202 umull r1, r2, r1, r2 804e4f6: 08d2 lsrs r2, r2, #3 804e4f8: b2d2 uxtb r2, r2 804e4fa: 3230 adds r2, #48 ; 0x30 804e4fc: b2d1 uxtb r1, r2 804e4fe: 4a18 ldr r2, [pc, #96] ; (804e560 ) 804e500: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804e502: 4b19 ldr r3, [pc, #100] ; (804e568 ) 804e504: 6819 ldr r1, [r3, #0] 804e506: 1c4b adds r3, r1, #1 804e508: 4a17 ldr r2, [pc, #92] ; (804e568 ) 804e50a: 6013 str r3, [r2, #0] 804e50c: 6fb8 ldr r0, [r7, #120] ; 0x78 804e50e: 4b19 ldr r3, [pc, #100] ; (804e574 ) 804e510: fba3 2300 umull r2, r3, r3, r0 804e514: 08da lsrs r2, r3, #3 804e516: 4613 mov r3, r2 804e518: 009b lsls r3, r3, #2 804e51a: 4413 add r3, r2 804e51c: 005b lsls r3, r3, #1 804e51e: 1ac2 subs r2, r0, r3 804e520: b2d3 uxtb r3, r2 804e522: 3330 adds r3, #48 ; 0x30 804e524: b2da uxtb r2, r3 804e526: 4b0e ldr r3, [pc, #56] ; (804e560 ) 804e528: 545a strb r2, [r3, r1] lastmenu = menu; 804e52a: 4b13 ldr r3, [pc, #76] ; (804e578 ) 804e52c: 781b ldrb r3, [r3, #0] 804e52e: b2da uxtb r2, r3 804e530: 4b12 ldr r3, [pc, #72] ; (804e57c ) 804e532: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804e534: 4b10 ldr r3, [pc, #64] ; (804e578 ) 804e536: 222f movs r2, #47 ; 0x2f 804e538: 701a strb r2, [r3, #0] menupos = _ENTER; 804e53a: 4b11 ldr r3, [pc, #68] ; (804e580 ) 804e53c: 2226 movs r2, #38 ; 0x26 804e53e: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804e540: e009 b.n 804e556 STATUS = AP_NO_CARD; 804e542: 4b10 ldr r3, [pc, #64] ; (804e584 ) 804e544: 2211 movs r2, #17 804e546: 601a str r2, [r3, #0] timerStatus = sec2; 804e548: 4b0f ldr r3, [pc, #60] ; (804e588 ) 804e54a: f44f 5280 mov.w r2, #4096 ; 0x1000 804e54e: 801a strh r2, [r3, #0] DrawStatus = true; 804e550: 4b0e ldr r3, [pc, #56] ; (804e58c ) 804e552: 2201 movs r2, #1 804e554: 701a strb r2, [r3, #0] break; 804e556: bf00 nop } break; 804e558: f005 bacb b.w 8053af2 804e55c: 20023ea8 .word 0x20023ea8 804e560: 20025cc8 .word 0x20025cc8 804e564: 080d29a8 .word 0x080d29a8 804e568: 20020f0c .word 0x20020f0c 804e56c: 10624dd3 .word 0x10624dd3 804e570: 51eb851f .word 0x51eb851f 804e574: cccccccd .word 0xcccccccd 804e578: 20020fbd .word 0x20020fbd 804e57c: 20020fbe .word 0x20020fbe 804e580: 20020070 .word 0x20020070 804e584: 20020dec .word 0x20020dec 804e588: 200216d4 .word 0x200216d4 804e58c: 20020df2 .word 0x20020df2 case MAIN_SPEC_THIRD: switch(menupos) 804e590: 4b73 ldr r3, [pc, #460] ; (804e760 ) 804e592: 781b ldrb r3, [r3, #0] 804e594: b2db uxtb r3, r3 804e596: 2b09 cmp r3, #9 804e598: f205 82ad bhi.w 8053af6 804e59c: a201 add r2, pc, #4 ; (adr r2, 804e5a4 ) 804e59e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804e5a2: bf00 nop 804e5a4: 0804e5df .word 0x0804e5df 804e5a8: 0804e5cd .word 0x0804e5cd 804e5ac: 0804e61b .word 0x0804e61b 804e5b0: 0804e61b .word 0x0804e61b 804e5b4: 0804e61b .word 0x0804e61b 804e5b8: 0804e61b .word 0x0804e61b 804e5bc: 0804e61b .word 0x0804e61b 804e5c0: 08053af7 .word 0x08053af7 804e5c4: 08053af7 .word 0x08053af7 804e5c8: 0804e623 .word 0x0804e623 { case BackMenu: StopMeas(); 804e5cc: f7d5 f8e6 bl 802379c menu = PARAM_SPEC; 804e5d0: 4b64 ldr r3, [pc, #400] ; (804e764 ) 804e5d2: 2207 movs r2, #7 804e5d4: 701a strb r2, [r3, #0] menupos = Ok; 804e5d6: 4b62 ldr r3, [pc, #392] ; (804e760 ) 804e5d8: 2200 movs r2, #0 804e5da: 701a strb r2, [r3, #0] break; 804e5dc: e246 b.n 804ea6c case StartStop: if(!measuring) 804e5de: 4b62 ldr r3, [pc, #392] ; (804e768 ) 804e5e0: 781b ldrb r3, [r3, #0] 804e5e2: b2db uxtb r3, r3 804e5e4: f083 0301 eor.w r3, r3, #1 804e5e8: b2db uxtb r3, r3 804e5ea: 2b00 cmp r3, #0 804e5ec: d00a beq.n 804e604 { AUTOZOOM = true; 804e5ee: 4b5f ldr r3, [pc, #380] ; (804e76c ) 804e5f0: 2201 movs r2, #1 804e5f2: 701a strb r2, [r3, #0] FIRST = true; 804e5f4: 4b5e ldr r3, [pc, #376] ; (804e770 ) 804e5f6: 2201 movs r2, #1 804e5f8: 701a strb r2, [r3, #0] initAmplif(); 804e5fa: f7d3 fa4b bl 8021a94 StartMeas(); 804e5fe: f7d4 fd1d bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804e602: e233 b.n 804ea6c StopMeas(); 804e604: f7d5 f8ca bl 802379c AUTOZOOM = true; 804e608: 4b58 ldr r3, [pc, #352] ; (804e76c ) 804e60a: 2201 movs r2, #1 804e60c: 701a strb r2, [r3, #0] oldmenupos = menupos; 804e60e: 4b54 ldr r3, [pc, #336] ; (804e760 ) 804e610: 781b ldrb r3, [r3, #0] 804e612: b2da uxtb r2, r3 804e614: 4b57 ldr r3, [pc, #348] ; (804e774 ) 804e616: 701a strb r2, [r3, #0] break; 804e618: e228 b.n 804ea6c case ImageLeft: case ImageRight: case ZoomIn: case ZoomOut: case Cursor: AUTOZOOM = true; 804e61a: 4b54 ldr r3, [pc, #336] ; (804e76c ) 804e61c: 2201 movs r2, #1 804e61e: 701a strb r2, [r3, #0] break; 804e620: e224 b.n 804ea6c case SaveSpec: if(CardState == MSD_READY) 804e622: 4b55 ldr r3, [pc, #340] ; (804e778 ) 804e624: 781b ldrb r3, [r3, #0] 804e626: b2db uxtb r3, r3 804e628: 2b03 cmp r3, #3 804e62a: f040 8214 bne.w 804ea56 { if(!measuring) 804e62e: 4b4e ldr r3, [pc, #312] ; (804e768 ) 804e630: 781b ldrb r3, [r3, #0] 804e632: b2db uxtb r3, r3 804e634: f083 0301 eor.w r3, r3, #1 804e638: b2db uxtb r3, r3 804e63a: 2b00 cmp r3, #0 804e63c: f000 8215 beq.w 804ea6a { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804e640: 2200 movs r2, #0 804e642: 494e ldr r1, [pc, #312] ; (804e77c ) 804e644: 484e ldr r0, [pc, #312] ; (804e780 ) 804e646: f06e f8c5 bl 80bc7d4 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804e64a: 2200 movs r2, #0 804e64c: 494d ldr r1, [pc, #308] ; (804e784 ) 804e64e: 484c ldr r0, [pc, #304] ; (804e780 ) 804e650: f06e f9c6 bl 80bc9e0 Day = RTC_DateStruct.Date; 804e654: 4b4b ldr r3, [pc, #300] ; (804e784 ) 804e656: 789b ldrb r3, [r3, #2] 804e658: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804e65c: 4b49 ldr r3, [pc, #292] ; (804e784 ) 804e65e: 785b ldrb r3, [r3, #1] 804e660: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804e664: 4b47 ldr r3, [pc, #284] ; (804e784 ) 804e666: 78db ldrb r3, [r3, #3] 804e668: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804e66c: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804e670: 4b42 ldr r3, [pc, #264] ; (804e77c ) 804e672: 781b ldrb r3, [r3, #0] 804e674: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804e678: 4b40 ldr r3, [pc, #256] ; (804e77c ) 804e67a: 785b ldrb r3, [r3, #1] 804e67c: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804e67e: 4b3f ldr r3, [pc, #252] ; (804e77c ) 804e680: 789b ldrb r3, [r3, #2] 804e682: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804e684: 2221 movs r2, #33 ; 0x21 804e686: 2100 movs r1, #0 804e688: 483f ldr r0, [pc, #252] ; (804e788 ) 804e68a: f082 fe89 bl 80d13a0 strcpy(TEMP_MeasFileName,"1_3_"); 804e68e: 4b3e ldr r3, [pc, #248] ; (804e788 ) 804e690: 4a3e ldr r2, [pc, #248] ; (804e78c ) 804e692: 6810 ldr r0, [r2, #0] 804e694: 6018 str r0, [r3, #0] 804e696: 7912 ldrb r2, [r2, #4] 804e698: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804e69a: 4b3d ldr r3, [pc, #244] ; (804e790 ) 804e69c: 785b ldrb r3, [r3, #1] 804e69e: b2db uxtb r3, r3 804e6a0: 2b00 cmp r3, #0 804e6a2: d10c bne.n 804e6be 804e6a4: 4838 ldr r0, [pc, #224] ; (804e788 ) 804e6a6: f7d1 fe35 bl 8020314 804e6aa: 4603 mov r3, r0 804e6ac: 461a mov r2, r3 804e6ae: 4b36 ldr r3, [pc, #216] ; (804e788 ) 804e6b0: 4413 add r3, r2 804e6b2: 4938 ldr r1, [pc, #224] ; (804e794 ) 804e6b4: 461a mov r2, r3 804e6b6: 460b mov r3, r1 804e6b8: 881b ldrh r3, [r3, #0] 804e6ba: 8013 strh r3, [r2, #0] 804e6bc: e022 b.n 804e704 else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804e6be: 4b34 ldr r3, [pc, #208] ; (804e790 ) 804e6c0: 785b ldrb r3, [r3, #1] 804e6c2: b2db uxtb r3, r3 804e6c4: 2b01 cmp r3, #1 804e6c6: d10c bne.n 804e6e2 804e6c8: 482f ldr r0, [pc, #188] ; (804e788 ) 804e6ca: f7d1 fe23 bl 8020314 804e6ce: 4603 mov r3, r0 804e6d0: 461a mov r2, r3 804e6d2: 4b2d ldr r3, [pc, #180] ; (804e788 ) 804e6d4: 4413 add r3, r2 804e6d6: 4930 ldr r1, [pc, #192] ; (804e798 ) 804e6d8: 461a mov r2, r3 804e6da: 460b mov r3, r1 804e6dc: 881b ldrh r3, [r3, #0] 804e6de: 8013 strh r3, [r2, #0] 804e6e0: e010 b.n 804e704 else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804e6e2: 4b2b ldr r3, [pc, #172] ; (804e790 ) 804e6e4: 785b ldrb r3, [r3, #1] 804e6e6: b2db uxtb r3, r3 804e6e8: 2b02 cmp r3, #2 804e6ea: d10b bne.n 804e704 804e6ec: 4826 ldr r0, [pc, #152] ; (804e788 ) 804e6ee: f7d1 fe11 bl 8020314 804e6f2: 4603 mov r3, r0 804e6f4: 461a mov r2, r3 804e6f6: 4b24 ldr r3, [pc, #144] ; (804e788 ) 804e6f8: 4413 add r3, r2 804e6fa: 4928 ldr r1, [pc, #160] ; (804e79c ) 804e6fc: 461a mov r2, r3 804e6fe: 460b mov r3, r1 804e700: 881b ldrh r3, [r3, #0] 804e702: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804e704: 4b22 ldr r3, [pc, #136] ; (804e790 ) 804e706: 785b ldrb r3, [r3, #1] 804e708: b2db uxtb r3, r3 804e70a: 461a mov r2, r3 804e70c: 4b20 ldr r3, [pc, #128] ; (804e790 ) 804e70e: 4413 add r3, r2 804e710: 789b ldrb r3, [r3, #2] 804e712: b2db uxtb r3, r3 804e714: 2b00 cmp r3, #0 804e716: d10c bne.n 804e732 804e718: 481b ldr r0, [pc, #108] ; (804e788 ) 804e71a: f7d1 fdfb bl 8020314 804e71e: 4603 mov r3, r0 804e720: 461a mov r2, r3 804e722: 4b19 ldr r3, [pc, #100] ; (804e788 ) 804e724: 4413 add r3, r2 804e726: 4a1e ldr r2, [pc, #120] ; (804e7a0 ) 804e728: 6810 ldr r0, [r2, #0] 804e72a: 6018 str r0, [r3, #0] 804e72c: 7912 ldrb r2, [r2, #4] 804e72e: 711a strb r2, [r3, #4] 804e730: e052 b.n 804e7d8 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804e732: 4b17 ldr r3, [pc, #92] ; (804e790 ) 804e734: 785b ldrb r3, [r3, #1] 804e736: b2db uxtb r3, r3 804e738: 461a mov r2, r3 804e73a: 4b15 ldr r3, [pc, #84] ; (804e790 ) 804e73c: 4413 add r3, r2 804e73e: 789b ldrb r3, [r3, #2] 804e740: b2db uxtb r3, r3 804e742: 2b01 cmp r3, #1 804e744: d130 bne.n 804e7a8 804e746: 4810 ldr r0, [pc, #64] ; (804e788 ) 804e748: f7d1 fde4 bl 8020314 804e74c: 4603 mov r3, r0 804e74e: 461a mov r2, r3 804e750: 4b0d ldr r3, [pc, #52] ; (804e788 ) 804e752: 4413 add r3, r2 804e754: 4a13 ldr r2, [pc, #76] ; (804e7a4 ) 804e756: 6810 ldr r0, [r2, #0] 804e758: 6018 str r0, [r3, #0] 804e75a: 8892 ldrh r2, [r2, #4] 804e75c: 809a strh r2, [r3, #4] 804e75e: e03b b.n 804e7d8 804e760: 20020070 .word 0x20020070 804e764: 20020fbd .word 0x20020fbd 804e768: 20020dcf .word 0x20020dcf 804e76c: 20020994 .word 0x20020994 804e770: 20020dd2 .word 0x20020dd2 804e774: 20020fbf .word 0x20020fbf 804e778: 20021694 .word 0x20021694 804e77c: 20025cb0 .word 0x20025cb0 804e780: 200685d8 .word 0x200685d8 804e784: 20025d34 .word 0x20025d34 804e788: 20025cc8 .word 0x20025cc8 804e78c: 080d29c0 .word 0x080d29c0 804e790: 20023ea8 .word 0x20023ea8 804e794: 080d298c .word 0x080d298c 804e798: 080d2990 .word 0x080d2990 804e79c: 080d2994 .word 0x080d2994 804e7a0: 080d2998 .word 0x080d2998 804e7a4: 080d29a0 .word 0x080d29a0 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804e7a8: 4bb1 ldr r3, [pc, #708] ; (804ea70 ) 804e7aa: 785b ldrb r3, [r3, #1] 804e7ac: b2db uxtb r3, r3 804e7ae: 461a mov r2, r3 804e7b0: 4baf ldr r3, [pc, #700] ; (804ea70 ) 804e7b2: 4413 add r3, r2 804e7b4: 789b ldrb r3, [r3, #2] 804e7b6: b2db uxtb r3, r3 804e7b8: 2b02 cmp r3, #2 804e7ba: d10d bne.n 804e7d8 804e7bc: 48ad ldr r0, [pc, #692] ; (804ea74 ) 804e7be: f7d1 fda9 bl 8020314 804e7c2: 4603 mov r3, r0 804e7c4: 461a mov r2, r3 804e7c6: 4bab ldr r3, [pc, #684] ; (804ea74 ) 804e7c8: 4413 add r3, r2 804e7ca: 4aab ldr r2, [pc, #684] ; (804ea78 ) 804e7cc: 6810 ldr r0, [r2, #0] 804e7ce: 6018 str r0, [r3, #0] 804e7d0: 8891 ldrh r1, [r2, #4] 804e7d2: 7992 ldrb r2, [r2, #6] 804e7d4: 8099 strh r1, [r3, #4] 804e7d6: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804e7d8: 48a6 ldr r0, [pc, #664] ; (804ea74 ) 804e7da: f7d1 fd9b bl 8020314 804e7de: 4602 mov r2, r0 804e7e0: 4ba6 ldr r3, [pc, #664] ; (804ea7c ) 804e7e2: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804e7e4: 4ba5 ldr r3, [pc, #660] ; (804ea7c ) 804e7e6: 681b ldr r3, [r3, #0] 804e7e8: 1c5a adds r2, r3, #1 804e7ea: 49a4 ldr r1, [pc, #656] ; (804ea7c ) 804e7ec: 600a str r2, [r1, #0] 804e7ee: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804e7f2: 49a3 ldr r1, [pc, #652] ; (804ea80 ) 804e7f4: fba1 1202 umull r1, r2, r1, r2 804e7f8: 0992 lsrs r2, r2, #6 804e7fa: b2d2 uxtb r2, r2 804e7fc: 3230 adds r2, #48 ; 0x30 804e7fe: b2d1 uxtb r1, r2 804e800: 4a9c ldr r2, [pc, #624] ; (804ea74 ) 804e802: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804e804: 4b9d ldr r3, [pc, #628] ; (804ea7c ) 804e806: 681a ldr r2, [r3, #0] 804e808: 1c53 adds r3, r2, #1 804e80a: 499c ldr r1, [pc, #624] ; (804ea7c ) 804e80c: 600b str r3, [r1, #0] 804e80e: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804e812: 4b9b ldr r3, [pc, #620] ; (804ea80 ) 804e814: fba3 0301 umull r0, r3, r3, r1 804e818: 099b lsrs r3, r3, #6 804e81a: f44f 707a mov.w r0, #1000 ; 0x3e8 804e81e: fb00 f303 mul.w r3, r0, r3 804e822: 1acb subs r3, r1, r3 804e824: 4997 ldr r1, [pc, #604] ; (804ea84 ) 804e826: fba1 1303 umull r1, r3, r1, r3 804e82a: 095b lsrs r3, r3, #5 804e82c: b2db uxtb r3, r3 804e82e: 3330 adds r3, #48 ; 0x30 804e830: b2d9 uxtb r1, r3 804e832: 4b90 ldr r3, [pc, #576] ; (804ea74 ) 804e834: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804e836: 4b91 ldr r3, [pc, #580] ; (804ea7c ) 804e838: 6819 ldr r1, [r3, #0] 804e83a: 1c4b adds r3, r1, #1 804e83c: 4a8f ldr r2, [pc, #572] ; (804ea7c ) 804e83e: 6013 str r3, [r2, #0] 804e840: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804e844: 4b8e ldr r3, [pc, #568] ; (804ea80 ) 804e846: fba3 0302 umull r0, r3, r3, r2 804e84a: 099b lsrs r3, r3, #6 804e84c: f44f 707a mov.w r0, #1000 ; 0x3e8 804e850: fb00 f303 mul.w r3, r0, r3 804e854: 1ad3 subs r3, r2, r3 804e856: 4a8b ldr r2, [pc, #556] ; (804ea84 ) 804e858: fba2 0203 umull r0, r2, r2, r3 804e85c: 0952 lsrs r2, r2, #5 804e85e: 2064 movs r0, #100 ; 0x64 804e860: fb00 f202 mul.w r2, r0, r2 804e864: 1a9a subs r2, r3, r2 804e866: 4b88 ldr r3, [pc, #544] ; (804ea88 ) 804e868: fba3 2302 umull r2, r3, r3, r2 804e86c: 08db lsrs r3, r3, #3 804e86e: b2db uxtb r3, r3 804e870: 3330 adds r3, #48 ; 0x30 804e872: b2da uxtb r2, r3 804e874: 4b7f ldr r3, [pc, #508] ; (804ea74 ) 804e876: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804e878: 4b80 ldr r3, [pc, #512] ; (804ea7c ) 804e87a: 6818 ldr r0, [r3, #0] 804e87c: 1c43 adds r3, r0, #1 804e87e: 4a7f ldr r2, [pc, #508] ; (804ea7c ) 804e880: 6013 str r3, [r2, #0] 804e882: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804e886: 4b7e ldr r3, [pc, #504] ; (804ea80 ) 804e888: fba3 1302 umull r1, r3, r3, r2 804e88c: 099b lsrs r3, r3, #6 804e88e: f44f 717a mov.w r1, #1000 ; 0x3e8 804e892: fb01 f303 mul.w r3, r1, r3 804e896: 1ad3 subs r3, r2, r3 804e898: 4a7a ldr r2, [pc, #488] ; (804ea84 ) 804e89a: fba2 1203 umull r1, r2, r2, r3 804e89e: 0952 lsrs r2, r2, #5 804e8a0: 2164 movs r1, #100 ; 0x64 804e8a2: fb01 f202 mul.w r2, r1, r2 804e8a6: 1a9a subs r2, r3, r2 804e8a8: 4b77 ldr r3, [pc, #476] ; (804ea88 ) 804e8aa: fba3 1302 umull r1, r3, r3, r2 804e8ae: 08d9 lsrs r1, r3, #3 804e8b0: 460b mov r3, r1 804e8b2: 009b lsls r3, r3, #2 804e8b4: 440b add r3, r1 804e8b6: 005b lsls r3, r3, #1 804e8b8: 1ad1 subs r1, r2, r3 804e8ba: b2cb uxtb r3, r1 804e8bc: 3330 adds r3, #48 ; 0x30 804e8be: b2da uxtb r2, r3 804e8c0: 4b6c ldr r3, [pc, #432] ; (804ea74 ) 804e8c2: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804e8c4: 4b6d ldr r3, [pc, #436] ; (804ea7c ) 804e8c6: 681b ldr r3, [r3, #0] 804e8c8: 1c5a adds r2, r3, #1 804e8ca: 496c ldr r1, [pc, #432] ; (804ea7c ) 804e8cc: 600a str r2, [r1, #0] 804e8ce: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804e8d2: 496d ldr r1, [pc, #436] ; (804ea88 ) 804e8d4: fba1 1202 umull r1, r2, r1, r2 804e8d8: 08d2 lsrs r2, r2, #3 804e8da: b2d2 uxtb r2, r2 804e8dc: 3230 adds r2, #48 ; 0x30 804e8de: b2d1 uxtb r1, r2 804e8e0: 4a64 ldr r2, [pc, #400] ; (804ea74 ) 804e8e2: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804e8e4: 4b65 ldr r3, [pc, #404] ; (804ea7c ) 804e8e6: 6819 ldr r1, [r3, #0] 804e8e8: 1c4b adds r3, r1, #1 804e8ea: 4a64 ldr r2, [pc, #400] ; (804ea7c ) 804e8ec: 6013 str r3, [r2, #0] 804e8ee: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804e8f2: 4b65 ldr r3, [pc, #404] ; (804ea88 ) 804e8f4: fba3 2300 umull r2, r3, r3, r0 804e8f8: 08da lsrs r2, r3, #3 804e8fa: 4613 mov r3, r2 804e8fc: 009b lsls r3, r3, #2 804e8fe: 4413 add r3, r2 804e900: 005b lsls r3, r3, #1 804e902: 1ac2 subs r2, r0, r3 804e904: b2d3 uxtb r3, r2 804e906: 3330 adds r3, #48 ; 0x30 804e908: b2da uxtb r2, r3 804e90a: 4b5a ldr r3, [pc, #360] ; (804ea74 ) 804e90c: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804e90e: 4b5b ldr r3, [pc, #364] ; (804ea7c ) 804e910: 681b ldr r3, [r3, #0] 804e912: 1c5a adds r2, r3, #1 804e914: 4959 ldr r1, [pc, #356] ; (804ea7c ) 804e916: 600a str r2, [r1, #0] 804e918: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804e91c: 495a ldr r1, [pc, #360] ; (804ea88 ) 804e91e: fba1 1202 umull r1, r2, r1, r2 804e922: 08d2 lsrs r2, r2, #3 804e924: b2d2 uxtb r2, r2 804e926: 3230 adds r2, #48 ; 0x30 804e928: b2d1 uxtb r1, r2 804e92a: 4a52 ldr r2, [pc, #328] ; (804ea74 ) 804e92c: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804e92e: 4b53 ldr r3, [pc, #332] ; (804ea7c ) 804e930: 6819 ldr r1, [r3, #0] 804e932: 1c4b adds r3, r1, #1 804e934: 4a51 ldr r2, [pc, #324] ; (804ea7c ) 804e936: 6013 str r3, [r2, #0] 804e938: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804e93c: 4b52 ldr r3, [pc, #328] ; (804ea88 ) 804e93e: fba3 2300 umull r2, r3, r3, r0 804e942: 08da lsrs r2, r3, #3 804e944: 4613 mov r3, r2 804e946: 009b lsls r3, r3, #2 804e948: 4413 add r3, r2 804e94a: 005b lsls r3, r3, #1 804e94c: 1ac2 subs r2, r0, r3 804e94e: b2d3 uxtb r3, r2 804e950: 3330 adds r3, #48 ; 0x30 804e952: b2da uxtb r2, r3 804e954: 4b47 ldr r3, [pc, #284] ; (804ea74 ) 804e956: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804e958: 4b48 ldr r3, [pc, #288] ; (804ea7c ) 804e95a: 681b ldr r3, [r3, #0] 804e95c: 1c5a adds r2, r3, #1 804e95e: 4947 ldr r1, [pc, #284] ; (804ea7c ) 804e960: 600a str r2, [r1, #0] 804e962: 4a44 ldr r2, [pc, #272] ; (804ea74 ) 804e964: 215f movs r1, #95 ; 0x5f 804e966: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804e968: 4b44 ldr r3, [pc, #272] ; (804ea7c ) 804e96a: 681b ldr r3, [r3, #0] 804e96c: 1c5a adds r2, r3, #1 804e96e: 4943 ldr r1, [pc, #268] ; (804ea7c ) 804e970: 600a str r2, [r1, #0] 804e972: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804e976: 4944 ldr r1, [pc, #272] ; (804ea88 ) 804e978: fba1 1202 umull r1, r2, r1, r2 804e97c: 08d2 lsrs r2, r2, #3 804e97e: b2d2 uxtb r2, r2 804e980: 3230 adds r2, #48 ; 0x30 804e982: b2d1 uxtb r1, r2 804e984: 4a3b ldr r2, [pc, #236] ; (804ea74 ) 804e986: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804e988: 4b3c ldr r3, [pc, #240] ; (804ea7c ) 804e98a: 6819 ldr r1, [r3, #0] 804e98c: 1c4b adds r3, r1, #1 804e98e: 4a3b ldr r2, [pc, #236] ; (804ea7c ) 804e990: 6013 str r3, [r2, #0] 804e992: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804e996: 4b3c ldr r3, [pc, #240] ; (804ea88 ) 804e998: fba3 2300 umull r2, r3, r3, r0 804e99c: 08da lsrs r2, r3, #3 804e99e: 4613 mov r3, r2 804e9a0: 009b lsls r3, r3, #2 804e9a2: 4413 add r3, r2 804e9a4: 005b lsls r3, r3, #1 804e9a6: 1ac2 subs r2, r0, r3 804e9a8: b2d3 uxtb r3, r2 804e9aa: 3330 adds r3, #48 ; 0x30 804e9ac: b2da uxtb r2, r3 804e9ae: 4b31 ldr r3, [pc, #196] ; (804ea74 ) 804e9b0: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804e9b2: 4b32 ldr r3, [pc, #200] ; (804ea7c ) 804e9b4: 681b ldr r3, [r3, #0] 804e9b6: 1c5a adds r2, r3, #1 804e9b8: 4930 ldr r1, [pc, #192] ; (804ea7c ) 804e9ba: 600a str r2, [r1, #0] 804e9bc: 6ffa ldr r2, [r7, #124] ; 0x7c 804e9be: 4932 ldr r1, [pc, #200] ; (804ea88 ) 804e9c0: fba1 1202 umull r1, r2, r1, r2 804e9c4: 08d2 lsrs r2, r2, #3 804e9c6: b2d2 uxtb r2, r2 804e9c8: 3230 adds r2, #48 ; 0x30 804e9ca: b2d1 uxtb r1, r2 804e9cc: 4a29 ldr r2, [pc, #164] ; (804ea74 ) 804e9ce: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804e9d0: 4b2a ldr r3, [pc, #168] ; (804ea7c ) 804e9d2: 6819 ldr r1, [r3, #0] 804e9d4: 1c4b adds r3, r1, #1 804e9d6: 4a29 ldr r2, [pc, #164] ; (804ea7c ) 804e9d8: 6013 str r3, [r2, #0] 804e9da: 6ff8 ldr r0, [r7, #124] ; 0x7c 804e9dc: 4b2a ldr r3, [pc, #168] ; (804ea88 ) 804e9de: fba3 2300 umull r2, r3, r3, r0 804e9e2: 08da lsrs r2, r3, #3 804e9e4: 4613 mov r3, r2 804e9e6: 009b lsls r3, r3, #2 804e9e8: 4413 add r3, r2 804e9ea: 005b lsls r3, r3, #1 804e9ec: 1ac2 subs r2, r0, r3 804e9ee: b2d3 uxtb r3, r2 804e9f0: 3330 adds r3, #48 ; 0x30 804e9f2: b2da uxtb r2, r3 804e9f4: 4b1f ldr r3, [pc, #124] ; (804ea74 ) 804e9f6: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804e9f8: 4b20 ldr r3, [pc, #128] ; (804ea7c ) 804e9fa: 681b ldr r3, [r3, #0] 804e9fc: 1c5a adds r2, r3, #1 804e9fe: 491f ldr r1, [pc, #124] ; (804ea7c ) 804ea00: 600a str r2, [r1, #0] 804ea02: 6fba ldr r2, [r7, #120] ; 0x78 804ea04: 4920 ldr r1, [pc, #128] ; (804ea88 ) 804ea06: fba1 1202 umull r1, r2, r1, r2 804ea0a: 08d2 lsrs r2, r2, #3 804ea0c: b2d2 uxtb r2, r2 804ea0e: 3230 adds r2, #48 ; 0x30 804ea10: b2d1 uxtb r1, r2 804ea12: 4a18 ldr r2, [pc, #96] ; (804ea74 ) 804ea14: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804ea16: 4b19 ldr r3, [pc, #100] ; (804ea7c ) 804ea18: 6819 ldr r1, [r3, #0] 804ea1a: 1c4b adds r3, r1, #1 804ea1c: 4a17 ldr r2, [pc, #92] ; (804ea7c ) 804ea1e: 6013 str r3, [r2, #0] 804ea20: 6fb8 ldr r0, [r7, #120] ; 0x78 804ea22: 4b19 ldr r3, [pc, #100] ; (804ea88 ) 804ea24: fba3 2300 umull r2, r3, r3, r0 804ea28: 08da lsrs r2, r3, #3 804ea2a: 4613 mov r3, r2 804ea2c: 009b lsls r3, r3, #2 804ea2e: 4413 add r3, r2 804ea30: 005b lsls r3, r3, #1 804ea32: 1ac2 subs r2, r0, r3 804ea34: b2d3 uxtb r3, r2 804ea36: 3330 adds r3, #48 ; 0x30 804ea38: b2da uxtb r2, r3 804ea3a: 4b0e ldr r3, [pc, #56] ; (804ea74 ) 804ea3c: 545a strb r2, [r3, r1] lastmenu = menu; 804ea3e: 4b13 ldr r3, [pc, #76] ; (804ea8c ) 804ea40: 781b ldrb r3, [r3, #0] 804ea42: b2da uxtb r2, r3 804ea44: 4b12 ldr r3, [pc, #72] ; (804ea90 ) 804ea46: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804ea48: 4b10 ldr r3, [pc, #64] ; (804ea8c ) 804ea4a: 222f movs r2, #47 ; 0x2f 804ea4c: 701a strb r2, [r3, #0] menupos = _ENTER; 804ea4e: 4b11 ldr r3, [pc, #68] ; (804ea94 ) 804ea50: 2226 movs r2, #38 ; 0x26 804ea52: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804ea54: e009 b.n 804ea6a STATUS = AP_NO_CARD; 804ea56: 4b10 ldr r3, [pc, #64] ; (804ea98 ) 804ea58: 2211 movs r2, #17 804ea5a: 601a str r2, [r3, #0] timerStatus = sec2; 804ea5c: 4b0f ldr r3, [pc, #60] ; (804ea9c ) 804ea5e: f44f 5280 mov.w r2, #4096 ; 0x1000 804ea62: 801a strh r2, [r3, #0] DrawStatus = true; 804ea64: 4b0e ldr r3, [pc, #56] ; (804eaa0 ) 804ea66: 2201 movs r2, #1 804ea68: 701a strb r2, [r3, #0] break; 804ea6a: bf00 nop } break; 804ea6c: f005 b843 b.w 8053af6 804ea70: 20023ea8 .word 0x20023ea8 804ea74: 20025cc8 .word 0x20025cc8 804ea78: 080d29a8 .word 0x080d29a8 804ea7c: 20020f0c .word 0x20020f0c 804ea80: 10624dd3 .word 0x10624dd3 804ea84: 51eb851f .word 0x51eb851f 804ea88: cccccccd .word 0xcccccccd 804ea8c: 20020fbd .word 0x20020fbd 804ea90: 20020fbe .word 0x20020fbe 804ea94: 20020070 .word 0x20020070 804ea98: 20020dec .word 0x20020dec 804ea9c: 200216d4 .word 0x200216d4 804eaa0: 20020df2 .word 0x20020df2 case MAIN_WAVE: // KEY_OK switch(menupos) 804eaa4: 4baf ldr r3, [pc, #700] ; (804ed64 ) 804eaa6: 781b ldrb r3, [r3, #0] 804eaa8: b2db uxtb r3, r3 804eaaa: 2b03 cmp r3, #3 804eaac: f205 8025 bhi.w 8053afa 804eab0: a201 add r2, pc, #4 ; (adr r2, 804eab8 ) 804eab2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804eab6: bf00 nop 804eab8: 0804eae1 .word 0x0804eae1 804eabc: 0804eac9 .word 0x0804eac9 804eac0: 0804edfd .word 0x0804edfd 804eac4: 0804ee09 .word 0x0804ee09 { case BackMenu: StopMeas(); 804eac8: f7d4 fe68 bl 802379c menu = PARAM_WAVE; 804eacc: 4ba6 ldr r3, [pc, #664] ; (804ed68 ) 804eace: 220a movs r2, #10 804ead0: 701a strb r2, [r3, #0] menupos = Ok; 804ead2: 4ba4 ldr r3, [pc, #656] ; (804ed64 ) 804ead4: 2200 movs r2, #0 804ead6: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 804ead8: 4ba4 ldr r3, [pc, #656] ; (804ed6c ) 804eada: 2200 movs r2, #0 804eadc: 709a strb r2, [r3, #2] break; 804eade: e224 b.n 804ef2a case StartStop: if(CardState == MSD_READY) 804eae0: 4ba3 ldr r3, [pc, #652] ; (804ed70 ) 804eae2: 781b ldrb r3, [r3, #0] 804eae4: b2db uxtb r3, r3 804eae6: 2b03 cmp r3, #3 804eae8: f040 817d bne.w 804ede6 { if(Threshold == false) 804eaec: 4ba1 ldr r3, [pc, #644] ; (804ed74 ) 804eaee: 781b ldrb r3, [r3, #0] 804eaf0: b2db uxtb r3, r3 804eaf2: f083 0301 eor.w r3, r3, #1 804eaf6: b2db uxtb r3, r3 804eaf8: 2b00 cmp r3, #0 804eafa: f000 80b7 beq.w 804ec6c { initAmplif(); 804eafe: f7d2 ffc9 bl 8021a94 StartMeas(); 804eb02: f7d4 fa9b bl 802303c if(pardata.OPTIONS & BIT7) 804eb06: 4b99 ldr r3, [pc, #612] ; (804ed6c ) 804eb08: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804eb0c: f003 0380 and.w r3, r3, #128 ; 0x80 804eb10: 2b00 cmp r3, #0 804eb12: d006 beq.n 804eb22 { menupos = CalculatingFreq; 804eb14: 4b93 ldr r3, [pc, #588] ; (804ed64 ) 804eb16: 2204 movs r2, #4 804eb18: 701a strb r2, [r3, #0] CALC_FREQ = 1; 804eb1a: 4b97 ldr r3, [pc, #604] ; (804ed78 ) 804eb1c: 2201 movs r2, #1 804eb1e: 701a strb r2, [r3, #0] { timerStatus = sec2; DrawStatus = true; STATUS = AP_NO_CARD; } break; 804eb20: e203 b.n 804ef2a if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 804eb22: 4b92 ldr r3, [pc, #584] ; (804ed6c ) 804eb24: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804eb28: f003 0304 and.w r3, r3, #4 804eb2c: 2b00 cmp r3, #0 804eb2e: f040 8099 bne.w 804ec64 MultRec = _b24V * CorrKk[ACC] * 2; 804eb32: 4b92 ldr r3, [pc, #584] ; (804ed7c ) 804eb34: edd3 7a00 vldr s15, [r3] 804eb38: ed9f 7a91 vldr s14, [pc, #580] ; 804ed80 804eb3c: ee67 7a87 vmul.f32 s15, s15, s14 804eb40: ee77 7aa7 vadd.f32 s15, s15, s15 804eb44: 4b8f ldr r3, [pc, #572] ; (804ed84 ) 804eb46: edc3 7a00 vstr s15, [r3] menupos = ReadyRec; 804eb4a: 4b86 ldr r3, [pc, #536] ; (804ed64 ) 804eb4c: 2203 movs r2, #3 804eb4e: 701a strb r2, [r3, #0] Recording = false; 804eb50: 4b8d ldr r3, [pc, #564] ; (804ed88 ) 804eb52: 2200 movs r2, #0 804eb54: 701a strb r2, [r3, #0] RepeatKm = false; 804eb56: 4b8d ldr r3, [pc, #564] ; (804ed8c ) 804eb58: 2200 movs r2, #0 804eb5a: 701a strb r2, [r3, #0] FirstTime = false; 804eb5c: 4b8c ldr r3, [pc, #560] ; (804ed90 ) 804eb5e: 2200 movs r2, #0 804eb60: 701a strb r2, [r3, #0] if(CardState == MSD_READY) 804eb62: 4b83 ldr r3, [pc, #524] ; (804ed70 ) 804eb64: 781b ldrb r3, [r3, #0] 804eb66: b2db uxtb r3, r3 804eb68: 2b03 cmp r3, #3 804eb6a: d16d bne.n 804ec48 WavFileNameLen = strlen(WavFileName); 804eb6c: 4889 ldr r0, [pc, #548] ; (804ed94 ) 804eb6e: f7d1 fbd1 bl 8020314 804eb72: 4602 mov r2, r0 804eb74: 4b88 ldr r3, [pc, #544] ; (804ed98 ) 804eb76: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 804eb78: 4b87 ldr r3, [pc, #540] ; (804ed98 ) 804eb7a: 681b ldr r3, [r3, #0] 804eb7c: 3b04 subs r3, #4 804eb7e: 4a85 ldr r2, [pc, #532] ; (804ed94 ) 804eb80: 5cd3 ldrb r3, [r2, r3] 804eb82: 2b2e cmp r3, #46 ; 0x2e 804eb84: d01a beq.n 804ebbc 804eb86: 4b84 ldr r3, [pc, #528] ; (804ed98 ) 804eb88: 681b ldr r3, [r3, #0] 804eb8a: 2b03 cmp r3, #3 804eb8c: d916 bls.n 804ebbc WavFileName[WavFileNameLen - 3] = 'G'; 804eb8e: 4b82 ldr r3, [pc, #520] ; (804ed98 ) 804eb90: 681b ldr r3, [r3, #0] 804eb92: 3b03 subs r3, #3 804eb94: 4a7f ldr r2, [pc, #508] ; (804ed94 ) 804eb96: 2147 movs r1, #71 ; 0x47 804eb98: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'T'; 804eb9a: 4b7f ldr r3, [pc, #508] ; (804ed98 ) 804eb9c: 681b ldr r3, [r3, #0] 804eb9e: 3b02 subs r3, #2 804eba0: 4a7c ldr r2, [pc, #496] ; (804ed94 ) 804eba2: 2154 movs r1, #84 ; 0x54 804eba4: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'R'; 804eba6: 4b7c ldr r3, [pc, #496] ; (804ed98 ) 804eba8: 681b ldr r3, [r3, #0] 804ebaa: 3b01 subs r3, #1 804ebac: 4a79 ldr r2, [pc, #484] ; (804ed94 ) 804ebae: 2152 movs r1, #82 ; 0x52 804ebb0: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 804ebb2: 4b79 ldr r3, [pc, #484] ; (804ed98 ) 804ebb4: 681b ldr r3, [r3, #0] 804ebb6: 4a77 ldr r2, [pc, #476] ; (804ed94 ) 804ebb8: 2100 movs r1, #0 804ebba: 54d1 strb r1, [r2, r3] result = CreateFileGTR(WavFileName); 804ebbc: 4875 ldr r0, [pc, #468] ; (804ed94 ) 804ebbe: f7d5 fadf bl 8024180 804ebc2: 4603 mov r3, r0 804ebc4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ebc8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ebcc: 2b00 cmp r3, #0 804ebce: d105 bne.n 804ebdc STATUS = AP_OK; 804ebd0: 4b72 ldr r3, [pc, #456] ; (804ed9c ) 804ebd2: 2200 movs r2, #0 804ebd4: 601a str r2, [r3, #0] StartRecording(); 804ebd6: f7d4 fd51 bl 802367c break; 804ebda: e1a6 b.n 804ef2a Recording = false; 804ebdc: 4b6a ldr r3, [pc, #424] ; (804ed88 ) 804ebde: 2200 movs r2, #0 804ebe0: 701a strb r2, [r3, #0] StopMeas(); //// ADDED 804ebe2: f7d4 fddb bl 802379c menupos = StartStop; //// ADDED 804ebe6: 4b5f ldr r3, [pc, #380] ; (804ed64 ) 804ebe8: 2200 movs r2, #0 804ebea: 701a strb r2, [r3, #0] switch(result) 804ebec: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ebf0: 3b03 subs r3, #3 804ebf2: 2b06 cmp r3, #6 804ebf4: d81c bhi.n 804ec30 804ebf6: a201 add r2, pc, #4 ; (adr r2, 804ebfc ) 804ebf8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804ebfc: 0804ec19 .word 0x0804ec19 804ec00: 0804ec21 .word 0x0804ec21 804ec04: 0804ec31 .word 0x0804ec31 804ec08: 0804ec31 .word 0x0804ec31 804ec0c: 0804ec31 .word 0x0804ec31 804ec10: 0804ec29 .word 0x0804ec29 804ec14: 0804ec21 .word 0x0804ec21 STATUS = AP_NO_CARD; 804ec18: 4b60 ldr r3, [pc, #384] ; (804ed9c ) 804ec1a: 2211 movs r2, #17 804ec1c: 601a str r2, [r3, #0] break; 804ec1e: e00b b.n 804ec38 STATUS = AP_INVALID_FILE; 804ec20: 4b5e ldr r3, [pc, #376] ; (804ed9c ) 804ec22: 2202 movs r2, #2 804ec24: 601a str r2, [r3, #0] break; 804ec26: e007 b.n 804ec38 STATUS = AP_FILE_EXIST; 804ec28: 4b5c ldr r3, [pc, #368] ; (804ed9c ) 804ec2a: 2206 movs r2, #6 804ec2c: 601a str r2, [r3, #0] break; 804ec2e: e003 b.n 804ec38 STATUS = AP_DISK_ERROR; 804ec30: 4b5a ldr r3, [pc, #360] ; (804ed9c ) 804ec32: 220b movs r2, #11 804ec34: 601a str r2, [r3, #0] break; 804ec36: bf00 nop timerStatus = sec2; 804ec38: 4b59 ldr r3, [pc, #356] ; (804eda0 ) 804ec3a: f44f 5280 mov.w r2, #4096 ; 0x1000 804ec3e: 801a strh r2, [r3, #0] DrawStatus = true; 804ec40: 4b58 ldr r3, [pc, #352] ; (804eda4 ) 804ec42: 2201 movs r2, #1 804ec44: 701a strb r2, [r3, #0] break; 804ec46: e170 b.n 804ef2a Recording = false; 804ec48: 4b4f ldr r3, [pc, #316] ; (804ed88 ) 804ec4a: 2200 movs r2, #0 804ec4c: 701a strb r2, [r3, #0] timerStatus = sec2; 804ec4e: 4b54 ldr r3, [pc, #336] ; (804eda0 ) 804ec50: f44f 5280 mov.w r2, #4096 ; 0x1000 804ec54: 801a strh r2, [r3, #0] DrawStatus = true; 804ec56: 4b53 ldr r3, [pc, #332] ; (804eda4 ) 804ec58: 2201 movs r2, #1 804ec5a: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804ec5c: 4b4f ldr r3, [pc, #316] ; (804ed9c ) 804ec5e: 2211 movs r2, #17 804ec60: 601a str r2, [r3, #0] break; 804ec62: e162 b.n 804ef2a menupos = GainSelecting; 804ec64: 4b3f ldr r3, [pc, #252] ; (804ed64 ) 804ec66: 2202 movs r2, #2 804ec68: 701a strb r2, [r3, #0] break; 804ec6a: e15e b.n 804ef2a if(measuring == false) 804ec6c: 4b4e ldr r3, [pc, #312] ; (804eda8 ) 804ec6e: 781b ldrb r3, [r3, #0] 804ec70: b2db uxtb r3, r3 804ec72: f083 0301 eor.w r3, r3, #1 804ec76: b2db uxtb r3, r3 804ec78: 2b00 cmp r3, #0 804ec7a: f000 80a5 beq.w 804edc8 menupos = StartStop; 804ec7e: 4b39 ldr r3, [pc, #228] ; (804ed64 ) 804ec80: 2200 movs r2, #0 804ec82: 701a strb r2, [r3, #0] if(CardState == MSD_READY) 804ec84: 4b3a ldr r3, [pc, #232] ; (804ed70 ) 804ec86: 781b ldrb r3, [r3, #0] 804ec88: b2db uxtb r3, r3 804ec8a: 2b03 cmp r3, #3 804ec8c: f040 808e bne.w 804edac WavFileNameLen = strlen(WavFileName); 804ec90: 4840 ldr r0, [pc, #256] ; (804ed94 ) 804ec92: f7d1 fb3f bl 8020314 804ec96: 4602 mov r2, r0 804ec98: 4b3f ldr r3, [pc, #252] ; (804ed98 ) 804ec9a: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 804ec9c: 4b3e ldr r3, [pc, #248] ; (804ed98 ) 804ec9e: 681b ldr r3, [r3, #0] 804eca0: 3b04 subs r3, #4 804eca2: 4a3c ldr r2, [pc, #240] ; (804ed94 ) 804eca4: 5cd3 ldrb r3, [r2, r3] 804eca6: 2b2e cmp r3, #46 ; 0x2e 804eca8: d01a beq.n 804ece0 804ecaa: 4b3b ldr r3, [pc, #236] ; (804ed98 ) 804ecac: 681b ldr r3, [r3, #0] 804ecae: 2b03 cmp r3, #3 804ecb0: d916 bls.n 804ece0 WavFileName[WavFileNameLen - 3] = 'G'; 804ecb2: 4b39 ldr r3, [pc, #228] ; (804ed98 ) 804ecb4: 681b ldr r3, [r3, #0] 804ecb6: 3b03 subs r3, #3 804ecb8: 4a36 ldr r2, [pc, #216] ; (804ed94 ) 804ecba: 2147 movs r1, #71 ; 0x47 804ecbc: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'T'; 804ecbe: 4b36 ldr r3, [pc, #216] ; (804ed98 ) 804ecc0: 681b ldr r3, [r3, #0] 804ecc2: 3b02 subs r3, #2 804ecc4: 4a33 ldr r2, [pc, #204] ; (804ed94 ) 804ecc6: 2154 movs r1, #84 ; 0x54 804ecc8: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'R'; 804ecca: 4b33 ldr r3, [pc, #204] ; (804ed98 ) 804eccc: 681b ldr r3, [r3, #0] 804ecce: 3b01 subs r3, #1 804ecd0: 4a30 ldr r2, [pc, #192] ; (804ed94 ) 804ecd2: 2152 movs r1, #82 ; 0x52 804ecd4: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 804ecd6: 4b30 ldr r3, [pc, #192] ; (804ed98 ) 804ecd8: 681b ldr r3, [r3, #0] 804ecda: 4a2e ldr r2, [pc, #184] ; (804ed94 ) 804ecdc: 2100 movs r1, #0 804ecde: 54d1 strb r1, [r2, r3] result = CreateFileGTR(WavFileName); 804ece0: 482c ldr r0, [pc, #176] ; (804ed94 ) 804ece2: f7d5 fa4d bl 8024180 804ece6: 4603 mov r3, r0 804ece8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ecec: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ecf0: 2b00 cmp r3, #0 804ecf2: d105 bne.n 804ed00 STATUS = AP_OK; 804ecf4: 4b29 ldr r3, [pc, #164] ; (804ed9c ) 804ecf6: 2200 movs r2, #0 804ecf8: 601a str r2, [r3, #0] StartMeas(); 804ecfa: f7d4 f99f bl 802303c break; 804ecfe: e114 b.n 804ef2a Recording = false; 804ed00: 4b21 ldr r3, [pc, #132] ; (804ed88 ) 804ed02: 2200 movs r2, #0 804ed04: 701a strb r2, [r3, #0] switch(result) 804ed06: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ed0a: 3b03 subs r3, #3 804ed0c: 2b06 cmp r3, #6 804ed0e: d81d bhi.n 804ed4c 804ed10: a201 add r2, pc, #4 ; (adr r2, 804ed18 ) 804ed12: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804ed16: bf00 nop 804ed18: 0804ed35 .word 0x0804ed35 804ed1c: 0804ed3d .word 0x0804ed3d 804ed20: 0804ed4d .word 0x0804ed4d 804ed24: 0804ed4d .word 0x0804ed4d 804ed28: 0804ed4d .word 0x0804ed4d 804ed2c: 0804ed45 .word 0x0804ed45 804ed30: 0804ed3d .word 0x0804ed3d STATUS = AP_NO_CARD; 804ed34: 4b19 ldr r3, [pc, #100] ; (804ed9c ) 804ed36: 2211 movs r2, #17 804ed38: 601a str r2, [r3, #0] break; 804ed3a: e00b b.n 804ed54 STATUS = AP_INVALID_FILE; 804ed3c: 4b17 ldr r3, [pc, #92] ; (804ed9c ) 804ed3e: 2202 movs r2, #2 804ed40: 601a str r2, [r3, #0] break; 804ed42: e007 b.n 804ed54 STATUS = AP_FILE_EXIST; 804ed44: 4b15 ldr r3, [pc, #84] ; (804ed9c ) 804ed46: 2206 movs r2, #6 804ed48: 601a str r2, [r3, #0] break; 804ed4a: e003 b.n 804ed54 STATUS = AP_DISK_ERROR; 804ed4c: 4b13 ldr r3, [pc, #76] ; (804ed9c ) 804ed4e: 220b movs r2, #11 804ed50: 601a str r2, [r3, #0] break; 804ed52: bf00 nop timerStatus = sec2; 804ed54: 4b12 ldr r3, [pc, #72] ; (804eda0 ) 804ed56: f44f 5280 mov.w r2, #4096 ; 0x1000 804ed5a: 801a strh r2, [r3, #0] DrawStatus = true; 804ed5c: 4b11 ldr r3, [pc, #68] ; (804eda4 ) 804ed5e: 2201 movs r2, #1 804ed60: 701a strb r2, [r3, #0] break; 804ed62: e0e2 b.n 804ef2a 804ed64: 20020070 .word 0x20020070 804ed68: 20020fbd .word 0x20020fbd 804ed6c: 20023ea8 .word 0x20023ea8 804ed70: 20021694 .word 0x20021694 804ed74: 20020dd1 .word 0x20020dd1 804ed78: 20021054 .word 0x20021054 804ed7c: 20020080 .word 0x20020080 804ed80: 2f449ba8 .word 0x2f449ba8 804ed84: 20026208 .word 0x20026208 804ed88: 20020dd0 .word 0x20020dd0 804ed8c: 20020dcc .word 0x20020dcc 804ed90: 20020dce .word 0x20020dce 804ed94: 20020e54 .word 0x20020e54 804ed98: 20020f08 .word 0x20020f08 804ed9c: 20020dec .word 0x20020dec 804eda0: 200216d4 .word 0x200216d4 804eda4: 20020df2 .word 0x20020df2 804eda8: 20020dcf .word 0x20020dcf Recording = false; 804edac: 4b95 ldr r3, [pc, #596] ; (804f004 ) 804edae: 2200 movs r2, #0 804edb0: 701a strb r2, [r3, #0] timerStatus = sec2; 804edb2: 4b95 ldr r3, [pc, #596] ; (804f008 ) 804edb4: f44f 5280 mov.w r2, #4096 ; 0x1000 804edb8: 801a strh r2, [r3, #0] DrawStatus = true; 804edba: 4b94 ldr r3, [pc, #592] ; (804f00c ) 804edbc: 2201 movs r2, #1 804edbe: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804edc0: 4b93 ldr r3, [pc, #588] ; (804f010 ) 804edc2: 2211 movs r2, #17 804edc4: 601a str r2, [r3, #0] break; 804edc6: e0b0 b.n 804ef2a if(Recording == true) 804edc8: 4b8e ldr r3, [pc, #568] ; (804f004 ) 804edca: 781b ldrb r3, [r3, #0] 804edcc: b2db uxtb r3, r3 804edce: 2b00 cmp r3, #0 804edd0: d006 beq.n 804ede0 NeedSTOP = true; 804edd2: 4b90 ldr r3, [pc, #576] ; (804f014 ) 804edd4: 2201 movs r2, #1 804edd6: 701a strb r2, [r3, #0] menupos = StartStop; 804edd8: 4b8f ldr r3, [pc, #572] ; (804f018 ) 804edda: 2200 movs r2, #0 804eddc: 701a strb r2, [r3, #0] break; 804edde: e0a4 b.n 804ef2a StopMeas(); 804ede0: f7d4 fcdc bl 802379c break; 804ede4: e0a1 b.n 804ef2a timerStatus = sec2; 804ede6: 4b88 ldr r3, [pc, #544] ; (804f008 ) 804ede8: f44f 5280 mov.w r2, #4096 ; 0x1000 804edec: 801a strh r2, [r3, #0] DrawStatus = true; 804edee: 4b87 ldr r3, [pc, #540] ; (804f00c ) 804edf0: 2201 movs r2, #1 804edf2: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804edf4: 4b86 ldr r3, [pc, #536] ; (804f010 ) 804edf6: 2211 movs r2, #17 804edf8: 601a str r2, [r3, #0] break; 804edfa: e096 b.n 804ef2a case GainSelecting: StopMeas(); 804edfc: f7d4 fcce bl 802379c menupos = StartStop; 804ee00: 4b85 ldr r3, [pc, #532] ; (804f018 ) 804ee02: 2200 movs r2, #0 804ee04: 701a strb r2, [r3, #0] break; 804ee06: e090 b.n 804ef2a case ReadyRec: if(!Recording) 804ee08: 4b7e ldr r3, [pc, #504] ; (804f004 ) 804ee0a: 781b ldrb r3, [r3, #0] 804ee0c: b2db uxtb r3, r3 804ee0e: f083 0301 eor.w r3, r3, #1 804ee12: b2db uxtb r3, r3 804ee14: 2b00 cmp r3, #0 804ee16: f000 8081 beq.w 804ef1c { if(CardState == MSD_READY) 804ee1a: 4b80 ldr r3, [pc, #512] ; (804f01c ) 804ee1c: 781b ldrb r3, [r3, #0] 804ee1e: b2db uxtb r3, r3 804ee20: 2b03 cmp r3, #3 804ee22: d16d bne.n 804ef00 { WavFileNameLen = strlen(WavFileName); 804ee24: 487e ldr r0, [pc, #504] ; (804f020 ) 804ee26: f7d1 fa75 bl 8020314 804ee2a: 4602 mov r2, r0 804ee2c: 4b7d ldr r3, [pc, #500] ; (804f024 ) 804ee2e: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 804ee30: 4b7c ldr r3, [pc, #496] ; (804f024 ) 804ee32: 681b ldr r3, [r3, #0] 804ee34: 3b04 subs r3, #4 804ee36: 4a7a ldr r2, [pc, #488] ; (804f020 ) 804ee38: 5cd3 ldrb r3, [r2, r3] 804ee3a: 2b2e cmp r3, #46 ; 0x2e 804ee3c: d01a beq.n 804ee74 804ee3e: 4b79 ldr r3, [pc, #484] ; (804f024 ) 804ee40: 681b ldr r3, [r3, #0] 804ee42: 2b03 cmp r3, #3 804ee44: d916 bls.n 804ee74 { WavFileName[WavFileNameLen - 3] = 'G'; 804ee46: 4b77 ldr r3, [pc, #476] ; (804f024 ) 804ee48: 681b ldr r3, [r3, #0] 804ee4a: 3b03 subs r3, #3 804ee4c: 4a74 ldr r2, [pc, #464] ; (804f020 ) 804ee4e: 2147 movs r1, #71 ; 0x47 804ee50: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'T'; 804ee52: 4b74 ldr r3, [pc, #464] ; (804f024 ) 804ee54: 681b ldr r3, [r3, #0] 804ee56: 3b02 subs r3, #2 804ee58: 4a71 ldr r2, [pc, #452] ; (804f020 ) 804ee5a: 2154 movs r1, #84 ; 0x54 804ee5c: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'R'; 804ee5e: 4b71 ldr r3, [pc, #452] ; (804f024 ) 804ee60: 681b ldr r3, [r3, #0] 804ee62: 3b01 subs r3, #1 804ee64: 4a6e ldr r2, [pc, #440] ; (804f020 ) 804ee66: 2152 movs r1, #82 ; 0x52 804ee68: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 804ee6a: 4b6e ldr r3, [pc, #440] ; (804f024 ) 804ee6c: 681b ldr r3, [r3, #0] 804ee6e: 4a6c ldr r2, [pc, #432] ; (804f020 ) 804ee70: 2100 movs r1, #0 804ee72: 54d1 strb r1, [r2, r3] } result = CreateFileGTR(WavFileName); 804ee74: 486a ldr r0, [pc, #424] ; (804f020 ) 804ee76: f7d5 f983 bl 8024180 804ee7a: 4603 mov r3, r0 804ee7c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ee80: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ee84: 2b00 cmp r3, #0 804ee86: d105 bne.n 804ee94 { STATUS = AP_OK; 804ee88: 4b61 ldr r3, [pc, #388] ; (804f010 ) 804ee8a: 2200 movs r2, #0 804ee8c: 601a str r2, [r3, #0] StartRecording(); 804ee8e: f7d4 fbf5 bl 802367c else { NeedSTOP = true; menupos = StartStop; } break; 804ee92: e049 b.n 804ef28 Recording = false; 804ee94: 4b5b ldr r3, [pc, #364] ; (804f004 ) 804ee96: 2200 movs r2, #0 804ee98: 701a strb r2, [r3, #0] StopMeas(); //// ADDED 804ee9a: f7d4 fc7f bl 802379c menupos = StartStop; //// ADDED 804ee9e: 4b5e ldr r3, [pc, #376] ; (804f018 ) 804eea0: 2200 movs r2, #0 804eea2: 701a strb r2, [r3, #0] switch(result) 804eea4: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804eea8: 3b03 subs r3, #3 804eeaa: 2b06 cmp r3, #6 804eeac: d81c bhi.n 804eee8 804eeae: a201 add r2, pc, #4 ; (adr r2, 804eeb4 ) 804eeb0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804eeb4: 0804eed1 .word 0x0804eed1 804eeb8: 0804eed9 .word 0x0804eed9 804eebc: 0804eee9 .word 0x0804eee9 804eec0: 0804eee9 .word 0x0804eee9 804eec4: 0804eee9 .word 0x0804eee9 804eec8: 0804eee1 .word 0x0804eee1 804eecc: 0804eed9 .word 0x0804eed9 STATUS = AP_NO_CARD; 804eed0: 4b4f ldr r3, [pc, #316] ; (804f010 ) 804eed2: 2211 movs r2, #17 804eed4: 601a str r2, [r3, #0] break; 804eed6: e00b b.n 804eef0 STATUS = AP_INVALID_FILE; 804eed8: 4b4d ldr r3, [pc, #308] ; (804f010 ) 804eeda: 2202 movs r2, #2 804eedc: 601a str r2, [r3, #0] break; 804eede: e007 b.n 804eef0 STATUS = AP_FILE_EXIST; 804eee0: 4b4b ldr r3, [pc, #300] ; (804f010 ) 804eee2: 2206 movs r2, #6 804eee4: 601a str r2, [r3, #0] break; 804eee6: e003 b.n 804eef0 STATUS = AP_DISK_ERROR; 804eee8: 4b49 ldr r3, [pc, #292] ; (804f010 ) 804eeea: 220b movs r2, #11 804eeec: 601a str r2, [r3, #0] break; 804eeee: bf00 nop timerStatus = sec2; 804eef0: 4b45 ldr r3, [pc, #276] ; (804f008 ) 804eef2: f44f 5280 mov.w r2, #4096 ; 0x1000 804eef6: 801a strh r2, [r3, #0] DrawStatus = true; 804eef8: 4b44 ldr r3, [pc, #272] ; (804f00c ) 804eefa: 2201 movs r2, #1 804eefc: 701a strb r2, [r3, #0] break; 804eefe: e013 b.n 804ef28 Recording = false; 804ef00: 4b40 ldr r3, [pc, #256] ; (804f004 ) 804ef02: 2200 movs r2, #0 804ef04: 701a strb r2, [r3, #0] timerStatus = sec2; 804ef06: 4b40 ldr r3, [pc, #256] ; (804f008 ) 804ef08: f44f 5280 mov.w r2, #4096 ; 0x1000 804ef0c: 801a strh r2, [r3, #0] DrawStatus = true; 804ef0e: 4b3f ldr r3, [pc, #252] ; (804f00c ) 804ef10: 2201 movs r2, #1 804ef12: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804ef14: 4b3e ldr r3, [pc, #248] ; (804f010 ) 804ef16: 2211 movs r2, #17 804ef18: 601a str r2, [r3, #0] break; 804ef1a: e005 b.n 804ef28 NeedSTOP = true; 804ef1c: 4b3d ldr r3, [pc, #244] ; (804f014 ) 804ef1e: 2201 movs r2, #1 804ef20: 701a strb r2, [r3, #0] menupos = StartStop; 804ef22: 4b3d ldr r3, [pc, #244] ; (804f018 ) 804ef24: 2200 movs r2, #0 804ef26: 701a strb r2, [r3, #0] break; 804ef28: bf00 nop } break; 804ef2a: f004 bde6 b.w 8053afa case MAIN_SYGNAL: //TODO switch(menupos) 804ef2e: 4b3a ldr r3, [pc, #232] ; (804f018 ) 804ef30: 781b ldrb r3, [r3, #0] 804ef32: b2db uxtb r3, r3 804ef34: 2b07 cmp r3, #7 804ef36: f204 85e2 bhi.w 8053afe 804ef3a: a201 add r2, pc, #4 ; (adr r2, 804ef40 ) 804ef3c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804ef40: 0804f1a7 .word 0x0804f1a7 804ef44: 0804ef61 .word 0x0804ef61 804ef48: 0804ef6f .word 0x0804ef6f 804ef4c: 0804f039 .word 0x0804f039 804ef50: 0804f0f9 .word 0x0804f0f9 804ef54: 0804efc3 .word 0x0804efc3 804ef58: 0804f29b .word 0x0804f29b 804ef5c: 0804f1ed .word 0x0804f1ed { case BackMenu: menu = ARCHIVE_WAVE; 804ef60: 4b31 ldr r3, [pc, #196] ; (804f028 ) 804ef62: 2217 movs r2, #23 804ef64: 701a strb r2, [r3, #0] menupos = FilesGTR; 804ef66: 4b2c ldr r3, [pc, #176] ; (804f018 ) 804ef68: 2202 movs r2, #2 804ef6a: 701a strb r2, [r3, #0] break; 804ef6c: e1a6 b.n 804f2bc case ImageLeft: if((!FIRST) && (PlayingState.State != PLAYING)) 804ef6e: 4b2f ldr r3, [pc, #188] ; (804f02c ) 804ef70: 781b ldrb r3, [r3, #0] 804ef72: b2db uxtb r3, r3 804ef74: f083 0301 eor.w r3, r3, #1 804ef78: b2db uxtb r3, r3 804ef7a: 2b00 cmp r3, #0 804ef7c: f000 8191 beq.w 804f2a2 804ef80: 4b2b ldr r3, [pc, #172] ; (804f030 ) 804ef82: 6a5b ldr r3, [r3, #36] ; 0x24 804ef84: 2b01 cmp r3, #1 804ef86: f000 818c beq.w 804f2a2 { if(PlayingState.CurrentFrame > 0) 804ef8a: 4b29 ldr r3, [pc, #164] ; (804f030 ) 804ef8c: 681b ldr r3, [r3, #0] 804ef8e: 2b00 cmp r3, #0 804ef90: f000 8187 beq.w 804f2a2 { if(PlayingState.CurrentFrame == PlayingState.NumFrames) PlayingState.CurrentFrame -= 2; 804ef94: 4b26 ldr r3, [pc, #152] ; (804f030 ) 804ef96: 681a ldr r2, [r3, #0] 804ef98: 4b25 ldr r3, [pc, #148] ; (804f030 ) 804ef9a: 685b ldr r3, [r3, #4] 804ef9c: 429a cmp r2, r3 804ef9e: d105 bne.n 804efac 804efa0: 4b23 ldr r3, [pc, #140] ; (804f030 ) 804efa2: 681b ldr r3, [r3, #0] 804efa4: 3b02 subs r3, #2 804efa6: 4a22 ldr r2, [pc, #136] ; (804f030 ) 804efa8: 6013 str r3, [r2, #0] 804efaa: e004 b.n 804efb6 else PlayingState.CurrentFrame--; 804efac: 4b20 ldr r3, [pc, #128] ; (804f030 ) 804efae: 681b ldr r3, [r3, #0] 804efb0: 3b01 subs r3, #1 804efb2: 4a1f ldr r2, [pc, #124] ; (804f030 ) 804efb4: 6013 str r3, [r2, #0] if(FR_OK == RewindFileGTR()) 804efb6: f7d9 fe51 bl 8028c5c { //PlayingState.State = PLAYING; //FIRST = false; } AUTOZOOM = true; 804efba: 4b1e ldr r3, [pc, #120] ; (804f034 ) 804efbc: 2201 movs r2, #1 804efbe: 701a strb r2, [r3, #0] } } break; 804efc0: e16f b.n 804f2a2 case ImageRight: if((!FIRST) && (PlayingState.State != PLAYING)) 804efc2: 4b1a ldr r3, [pc, #104] ; (804f02c ) 804efc4: 781b ldrb r3, [r3, #0] 804efc6: b2db uxtb r3, r3 804efc8: f083 0301 eor.w r3, r3, #1 804efcc: b2db uxtb r3, r3 804efce: 2b00 cmp r3, #0 804efd0: f000 816a beq.w 804f2a8 804efd4: 4b16 ldr r3, [pc, #88] ; (804f030 ) 804efd6: 6a5b ldr r3, [r3, #36] ; 0x24 804efd8: 2b01 cmp r3, #1 804efda: f000 8165 beq.w 804f2a8 { if((PlayingState.CurrentFrame + 1) < PlayingState.NumFrames) 804efde: 4b14 ldr r3, [pc, #80] ; (804f030 ) 804efe0: 681b ldr r3, [r3, #0] 804efe2: 1c5a adds r2, r3, #1 804efe4: 4b12 ldr r3, [pc, #72] ; (804f030 ) 804efe6: 685b ldr r3, [r3, #4] 804efe8: 429a cmp r2, r3 804efea: f080 815d bcs.w 804f2a8 { PlayingState.CurrentFrame++; 804efee: 4b10 ldr r3, [pc, #64] ; (804f030 ) 804eff0: 681b ldr r3, [r3, #0] 804eff2: 3301 adds r3, #1 804eff4: 4a0e ldr r2, [pc, #56] ; (804f030 ) 804eff6: 6013 str r3, [r2, #0] if(FR_OK == RewindFileGTR()) 804eff8: f7d9 fe30 bl 8028c5c { //PlayingState.State = PLAYING; //FIRST = false; } AUTOZOOM = true; 804effc: 4b0d ldr r3, [pc, #52] ; (804f034 ) 804effe: 2201 movs r2, #1 804f000: 701a strb r2, [r3, #0] } } break; 804f002: e151 b.n 804f2a8 804f004: 20020dd0 .word 0x20020dd0 804f008: 200216d4 .word 0x200216d4 804f00c: 20020df2 .word 0x20020df2 804f010: 20020dec .word 0x20020dec 804f014: 20020fc2 .word 0x20020fc2 804f018: 20020070 .word 0x20020070 804f01c: 20021694 .word 0x20021694 804f020: 20020e54 .word 0x20020e54 804f024: 20020f08 .word 0x20020f08 804f028: 20020fbd .word 0x20020fbd 804f02c: 20020dd2 .word 0x20020dd2 804f030: 20022920 .word 0x20022920 804f034: 20020994 .word 0x20020994 case ZoomIn: if(!FIRST) 804f038: 4ba1 ldr r3, [pc, #644] ; (804f2c0 ) 804f03a: 781b ldrb r3, [r3, #0] 804f03c: b2db uxtb r3, r3 804f03e: f083 0301 eor.w r3, r3, #1 804f042: b2db uxtb r3, r3 804f044: 2b00 cmp r3, #0 804f046: f000 8132 beq.w 804f2ae { if((ViewLevel < 4) && (PlayingState.FrameSize > 256)) 804f04a: 4b9e ldr r3, [pc, #632] ; (804f2c4 ) 804f04c: 781b ldrb r3, [r3, #0] 804f04e: b2db uxtb r3, r3 804f050: 2b03 cmp r3, #3 804f052: f200 812c bhi.w 804f2ae 804f056: 4b9c ldr r3, [pc, #624] ; (804f2c8 ) 804f058: 689b ldr r3, [r3, #8] 804f05a: f5b3 7f80 cmp.w r3, #256 ; 0x100 804f05e: f240 8126 bls.w 804f2ae { ViewLevel++; 804f062: 4b98 ldr r3, [pc, #608] ; (804f2c4 ) 804f064: 781b ldrb r3, [r3, #0] 804f066: b2db uxtb r3, r3 804f068: 3301 adds r3, #1 804f06a: b2da uxtb r2, r3 804f06c: 4b95 ldr r3, [pc, #596] ; (804f2c4 ) 804f06e: 701a strb r2, [r3, #0] PlayingState.FrameSize >>= 1; 804f070: 4b95 ldr r3, [pc, #596] ; (804f2c8 ) 804f072: 689b ldr r3, [r3, #8] 804f074: 085b lsrs r3, r3, #1 804f076: 4a94 ldr r2, [pc, #592] ; (804f2c8 ) 804f078: 6093 str r3, [r2, #8] PlayingState.NumFrames = (PlayingState.CountBytes >> 2) / PlayingState.FrameSize; 804f07a: 4b93 ldr r3, [pc, #588] ; (804f2c8 ) 804f07c: e9d3 3404 ldrd r3, r4, [r3, #16] 804f080: ea4f 0a93 mov.w sl, r3, lsr #2 804f084: ea4a 7a84 orr.w sl, sl, r4, lsl #30 804f088: ea4f 0b94 mov.w fp, r4, lsr #2 804f08c: 4b8e ldr r3, [pc, #568] ; (804f2c8 ) 804f08e: 689b ldr r3, [r3, #8] 804f090: f04f 0400 mov.w r4, #0 804f094: 461a mov r2, r3 804f096: 4623 mov r3, r4 804f098: 4650 mov r0, sl 804f09a: 4659 mov r1, fp 804f09c: f7d1 faa6 bl 80205ec <__aeabi_uldivmod> 804f0a0: 4603 mov r3, r0 804f0a2: 460c mov r4, r1 804f0a4: 461a mov r2, r3 804f0a6: 4b88 ldr r3, [pc, #544] ; (804f2c8 ) 804f0a8: 605a str r2, [r3, #4] if((PlayingState.CountBytes >> 2) % PlayingState.FrameSize) 804f0aa: 4b87 ldr r3, [pc, #540] ; (804f2c8 ) 804f0ac: e9d3 3404 ldrd r3, r4, [r3, #16] 804f0b0: ea4f 0893 mov.w r8, r3, lsr #2 804f0b4: ea48 7884 orr.w r8, r8, r4, lsl #30 804f0b8: ea4f 0994 mov.w r9, r4, lsr #2 804f0bc: 4b82 ldr r3, [pc, #520] ; (804f2c8 ) 804f0be: 689b ldr r3, [r3, #8] 804f0c0: f04f 0400 mov.w r4, #0 804f0c4: 461a mov r2, r3 804f0c6: 4623 mov r3, r4 804f0c8: 4640 mov r0, r8 804f0ca: 4649 mov r1, r9 804f0cc: f7d1 fa8e bl 80205ec <__aeabi_uldivmod> 804f0d0: 461c mov r4, r3 804f0d2: 4613 mov r3, r2 804f0d4: 4323 orrs r3, r4 804f0d6: d004 beq.n 804f0e2 PlayingState.NumFrames += 1; 804f0d8: 4b7b ldr r3, [pc, #492] ; (804f2c8 ) 804f0da: 685b ldr r3, [r3, #4] 804f0dc: 3301 adds r3, #1 804f0de: 4a7a ldr r2, [pc, #488] ; (804f2c8 ) 804f0e0: 6053 str r3, [r2, #4] PlayingState.CurrentFrame <<= 1; 804f0e2: 4b79 ldr r3, [pc, #484] ; (804f2c8 ) 804f0e4: 681b ldr r3, [r3, #0] 804f0e6: 005b lsls r3, r3, #1 804f0e8: 4a77 ldr r2, [pc, #476] ; (804f2c8 ) 804f0ea: 6013 str r3, [r2, #0] if(FR_OK == RewindFileGTR()) 804f0ec: f7d9 fdb6 bl 8028c5c { } AUTOZOOM = true; 804f0f0: 4b76 ldr r3, [pc, #472] ; (804f2cc ) 804f0f2: 2201 movs r2, #1 804f0f4: 701a strb r2, [r3, #0] } } break; 804f0f6: e0da b.n 804f2ae case ZoomOut: if(!FIRST) 804f0f8: 4b71 ldr r3, [pc, #452] ; (804f2c0 ) 804f0fa: 781b ldrb r3, [r3, #0] 804f0fc: b2db uxtb r3, r3 804f0fe: f083 0301 eor.w r3, r3, #1 804f102: b2db uxtb r3, r3 804f104: 2b00 cmp r3, #0 804f106: f000 80d5 beq.w 804f2b4 { if((ViewLevel > 0) && (PlayingState.FrameSize < 4096)) 804f10a: 4b6e ldr r3, [pc, #440] ; (804f2c4 ) 804f10c: 781b ldrb r3, [r3, #0] 804f10e: b2db uxtb r3, r3 804f110: 2b00 cmp r3, #0 804f112: f000 80cf beq.w 804f2b4 804f116: 4b6c ldr r3, [pc, #432] ; (804f2c8 ) 804f118: 689b ldr r3, [r3, #8] 804f11a: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 804f11e: f080 80c9 bcs.w 804f2b4 { ViewLevel--; 804f122: 4b68 ldr r3, [pc, #416] ; (804f2c4 ) 804f124: 781b ldrb r3, [r3, #0] 804f126: b2db uxtb r3, r3 804f128: 3b01 subs r3, #1 804f12a: b2da uxtb r2, r3 804f12c: 4b65 ldr r3, [pc, #404] ; (804f2c4 ) 804f12e: 701a strb r2, [r3, #0] PlayingState.FrameSize <<= 1; 804f130: 4b65 ldr r3, [pc, #404] ; (804f2c8 ) 804f132: 689b ldr r3, [r3, #8] 804f134: 005b lsls r3, r3, #1 804f136: 4a64 ldr r2, [pc, #400] ; (804f2c8 ) 804f138: 6093 str r3, [r2, #8] PlayingState.NumFrames = (PlayingState.CountBytes >> 2) / PlayingState.FrameSize; 804f13a: 4b63 ldr r3, [pc, #396] ; (804f2c8 ) 804f13c: e9d3 2304 ldrd r2, r3, [r3, #16] 804f140: 0890 lsrs r0, r2, #2 804f142: ea40 7083 orr.w r0, r0, r3, lsl #30 804f146: 0899 lsrs r1, r3, #2 804f148: 4b5f ldr r3, [pc, #380] ; (804f2c8 ) 804f14a: 689b ldr r3, [r3, #8] 804f14c: 461a mov r2, r3 804f14e: f04f 0300 mov.w r3, #0 804f152: f7d1 fa4b bl 80205ec <__aeabi_uldivmod> 804f156: 4602 mov r2, r0 804f158: 460b mov r3, r1 804f15a: 4b5b ldr r3, [pc, #364] ; (804f2c8 ) 804f15c: 605a str r2, [r3, #4] if((PlayingState.CountBytes >> 2) % PlayingState.FrameSize) 804f15e: 4b5a ldr r3, [pc, #360] ; (804f2c8 ) 804f160: e9d3 2304 ldrd r2, r3, [r3, #16] 804f164: 0894 lsrs r4, r2, #2 804f166: ea44 7483 orr.w r4, r4, r3, lsl #30 804f16a: 089d lsrs r5, r3, #2 804f16c: 4b56 ldr r3, [pc, #344] ; (804f2c8 ) 804f16e: 689b ldr r3, [r3, #8] 804f170: 461a mov r2, r3 804f172: f04f 0300 mov.w r3, #0 804f176: 4620 mov r0, r4 804f178: 4629 mov r1, r5 804f17a: f7d1 fa37 bl 80205ec <__aeabi_uldivmod> 804f17e: 461c mov r4, r3 804f180: 4613 mov r3, r2 804f182: 4323 orrs r3, r4 804f184: d004 beq.n 804f190 PlayingState.NumFrames += 1; 804f186: 4b50 ldr r3, [pc, #320] ; (804f2c8 ) 804f188: 685b ldr r3, [r3, #4] 804f18a: 3301 adds r3, #1 804f18c: 4a4e ldr r2, [pc, #312] ; (804f2c8 ) 804f18e: 6053 str r3, [r2, #4] PlayingState.CurrentFrame >>= 1; 804f190: 4b4d ldr r3, [pc, #308] ; (804f2c8 ) 804f192: 681b ldr r3, [r3, #0] 804f194: 085b lsrs r3, r3, #1 804f196: 4a4c ldr r2, [pc, #304] ; (804f2c8 ) 804f198: 6013 str r3, [r2, #0] if(FR_OK == RewindFileGTR()) 804f19a: f7d9 fd5f bl 8028c5c { } AUTOZOOM = true; 804f19e: 4b4b ldr r3, [pc, #300] ; (804f2cc ) 804f1a0: 2201 movs r2, #1 804f1a2: 701a strb r2, [r3, #0] } } break; 804f1a4: e086 b.n 804f2b4 case StartStop: if(PlayingState.State == STOPPED) 804f1a6: 4b48 ldr r3, [pc, #288] ; (804f2c8 ) 804f1a8: 6a5b ldr r3, [r3, #36] ; 0x24 804f1aa: 2b00 cmp r3, #0 804f1ac: d10e bne.n 804f1cc { PlayingState.CurrentFrame = 0; 804f1ae: 4b46 ldr r3, [pc, #280] ; (804f2c8 ) 804f1b0: 2200 movs r2, #0 804f1b2: 601a str r2, [r3, #0] if(FR_OK == RewindFileGTR()) 804f1b4: f7d9 fd52 bl 8028c5c 804f1b8: 4603 mov r3, r0 804f1ba: 2b00 cmp r3, #0 804f1bc: d17d bne.n 804f2ba { PlayingState.State = PLAYING; 804f1be: 4b42 ldr r3, [pc, #264] ; (804f2c8 ) 804f1c0: 2201 movs r2, #1 804f1c2: 625a str r2, [r3, #36] ; 0x24 FIRST = false; 804f1c4: 4b3e ldr r3, [pc, #248] ; (804f2c0 ) 804f1c6: 2200 movs r2, #0 804f1c8: 701a strb r2, [r3, #0] if(PlayingState.State == PLAYING) PlayingState.State = PAUSED; else if(PlayingState.State == PAUSED) PlayingState.State = PLAYING; break; 804f1ca: e076 b.n 804f2ba if(PlayingState.State == PLAYING) 804f1cc: 4b3e ldr r3, [pc, #248] ; (804f2c8 ) 804f1ce: 6a5b ldr r3, [r3, #36] ; 0x24 804f1d0: 2b01 cmp r3, #1 804f1d2: d103 bne.n 804f1dc PlayingState.State = PAUSED; 804f1d4: 4b3c ldr r3, [pc, #240] ; (804f2c8 ) 804f1d6: 2202 movs r2, #2 804f1d8: 625a str r2, [r3, #36] ; 0x24 break; 804f1da: e06e b.n 804f2ba if(PlayingState.State == PAUSED) 804f1dc: 4b3a ldr r3, [pc, #232] ; (804f2c8 ) 804f1de: 6a5b ldr r3, [r3, #36] ; 0x24 804f1e0: 2b02 cmp r3, #2 804f1e2: d16a bne.n 804f2ba PlayingState.State = PLAYING; 804f1e4: 4b38 ldr r3, [pc, #224] ; (804f2c8 ) 804f1e6: 2201 movs r2, #1 804f1e8: 625a str r2, [r3, #36] ; 0x24 break; 804f1ea: e066 b.n 804f2ba case Stop: if((PlayingState.State == PLAYING) || (PlayingState.State == PAUSED)) { 804f1ec: 4b36 ldr r3, [pc, #216] ; (804f2c8 ) 804f1ee: 6a5b ldr r3, [r3, #36] ; 0x24 804f1f0: 2b01 cmp r3, #1 804f1f2: d003 beq.n 804f1fc 804f1f4: 4b34 ldr r3, [pc, #208] ; (804f2c8 ) 804f1f6: 6a5b ldr r3, [r3, #36] ; 0x24 804f1f8: 2b02 cmp r3, #2 804f1fa: d102 bne.n 804f202 PlayingState.State = STOPPED; 804f1fc: 4b32 ldr r3, [pc, #200] ; (804f2c8 ) 804f1fe: 2200 movs r2, #0 804f200: 625a str r2, [r3, #36] ; 0x24 } memset(FileName, 0, sizeof(FileName)); 804f202: 2228 movs r2, #40 ; 0x28 804f204: 2100 movs r1, #0 804f206: 4832 ldr r0, [pc, #200] ; (804f2d0 ) 804f208: f082 f8ca bl 80d13a0 strcpy(FileName, (char *) ExplorerFiles[CursorIndex].fname); 804f20c: 4b31 ldr r3, [pc, #196] ; (804f2d4 ) 804f20e: 681a ldr r2, [r3, #0] 804f210: 4613 mov r3, r2 804f212: 00db lsls r3, r3, #3 804f214: 1a9b subs r3, r3, r2 804f216: 00db lsls r3, r3, #3 804f218: 3308 adds r3, #8 804f21a: 4a2f ldr r2, [pc, #188] ; (804f2d8 ) 804f21c: 4413 add r3, r2 804f21e: 3304 adds r3, #4 804f220: 4619 mov r1, r3 804f222: 482b ldr r0, [pc, #172] ; (804f2d0 ) 804f224: f082 f9d9 bl 80d15da result = OpenFileGTR(FileName); 804f228: 4829 ldr r0, [pc, #164] ; (804f2d0 ) 804f22a: f7d8 fc4b bl 8027ac4 804f22e: 4603 mov r3, r0 804f230: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f234: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f238: 2b00 cmp r3, #0 804f23a: d114 bne.n 804f266 { SeekFileGTR(); 804f23c: f7d9 fe70 bl 8028f20 ViewLevel = 0; 804f240: 4b20 ldr r3, [pc, #128] ; (804f2c4 ) 804f242: 2200 movs r2, #0 804f244: 701a strb r2, [r3, #0] AUTOZOOM = true; 804f246: 4b21 ldr r3, [pc, #132] ; (804f2cc ) 804f248: 2201 movs r2, #1 804f24a: 701a strb r2, [r3, #0] menu = MAIN_SYGNAL; 804f24c: 4b23 ldr r3, [pc, #140] ; (804f2dc ) 804f24e: 2220 movs r2, #32 804f250: 701a strb r2, [r3, #0] menupos = StartStop; 804f252: 4b23 ldr r3, [pc, #140] ; (804f2e0 ) 804f254: 2200 movs r2, #0 804f256: 701a strb r2, [r3, #0] HISTORY = true; 804f258: 4b22 ldr r3, [pc, #136] ; (804f2e4 ) 804f25a: 2201 movs r2, #1 804f25c: 701a strb r2, [r3, #0] FIRST = false; 804f25e: 4b18 ldr r3, [pc, #96] ; (804f2c0 ) 804f260: 2200 movs r2, #0 804f262: 701a strb r2, [r3, #0] { STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 804f264: e02a b.n 804f2bc if(result == FR_NOT_READY) 804f266: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f26a: 2b03 cmp r3, #3 804f26c: d10a bne.n 804f284 STATUS = AP_NO_CARD; 804f26e: 4b1e ldr r3, [pc, #120] ; (804f2e8 ) 804f270: 2211 movs r2, #17 804f272: 601a str r2, [r3, #0] timerStatus = sec2; 804f274: 4b1d ldr r3, [pc, #116] ; (804f2ec ) 804f276: f44f 5280 mov.w r2, #4096 ; 0x1000 804f27a: 801a strh r2, [r3, #0] DrawStatus = true; 804f27c: 4b1c ldr r3, [pc, #112] ; (804f2f0 ) 804f27e: 2201 movs r2, #1 804f280: 701a strb r2, [r3, #0] break; 804f282: e01b b.n 804f2bc STATUS = AP_INVALID_FILE; 804f284: 4b18 ldr r3, [pc, #96] ; (804f2e8 ) 804f286: 2202 movs r2, #2 804f288: 601a str r2, [r3, #0] timerStatus = sec2; 804f28a: 4b18 ldr r3, [pc, #96] ; (804f2ec ) 804f28c: f44f 5280 mov.w r2, #4096 ; 0x1000 804f290: 801a strh r2, [r3, #0] DrawStatus = true; 804f292: 4b17 ldr r3, [pc, #92] ; (804f2f0 ) 804f294: 2201 movs r2, #1 804f296: 701a strb r2, [r3, #0] break; 804f298: e010 b.n 804f2bc case Cursor: AUTOZOOM = true; 804f29a: 4b0c ldr r3, [pc, #48] ; (804f2cc ) 804f29c: 2201 movs r2, #1 804f29e: 701a strb r2, [r3, #0] DynamicCursor[1].Mpos = Mpos; DynamicCursor[1].fineMpos = Mpos; DynamicCursor[1].Enabled = true; } }*/ break; 804f2a0: e00c b.n 804f2bc break; 804f2a2: bf00 nop 804f2a4: f004 bc2b b.w 8053afe break; 804f2a8: bf00 nop 804f2aa: f004 bc28 b.w 8053afe break; 804f2ae: bf00 nop 804f2b0: f004 bc25 b.w 8053afe break; 804f2b4: bf00 nop 804f2b6: f004 bc22 b.w 8053afe break; 804f2ba: bf00 nop } break; 804f2bc: f004 bc1f b.w 8053afe 804f2c0: 20020dd2 .word 0x20020dd2 804f2c4: 20020fb8 .word 0x20020fb8 804f2c8: 20022920 .word 0x20022920 804f2cc: 20020994 .word 0x20020994 804f2d0: 20022c00 .word 0x20022c00 804f2d4: 20020e00 .word 0x20020e00 804f2d8: 20022398 .word 0x20022398 804f2dc: 20020fbd .word 0x20020fbd 804f2e0: 20020070 .word 0x20020070 804f2e4: 20020fba .word 0x20020fba 804f2e8: 20020dec .word 0x20020dec 804f2ec: 200216d4 .word 0x200216d4 804f2f0: 20020df2 .word 0x20020df2 case EXPLORER: //TODO if(menupos == FilesPTM) 804f2f4: 4bba ldr r3, [pc, #744] ; (804f5e0 ) 804f2f6: 781b ldrb r3, [r3, #0] 804f2f8: b2db uxtb r3, r3 804f2fa: 2b02 cmp r3, #2 804f2fc: d12e bne.n 804f35c { if(strcmp(MeasFileName, (char *) ExplorerFiles[CursorIndex].fname) != 0) 804f2fe: 4bb9 ldr r3, [pc, #740] ; (804f5e4 ) 804f300: 681a ldr r2, [r3, #0] 804f302: 4613 mov r3, r2 804f304: 00db lsls r3, r3, #3 804f306: 1a9b subs r3, r3, r2 804f308: 00db lsls r3, r3, #3 804f30a: 3308 adds r3, #8 804f30c: 4ab6 ldr r2, [pc, #728] ; (804f5e8 ) 804f30e: 4413 add r3, r2 804f310: 3304 adds r3, #4 804f312: 4619 mov r1, r3 804f314: 48b5 ldr r0, [pc, #724] ; (804f5ec ) 804f316: f7d0 fff3 bl 8020300 804f31a: 4603 mov r3, r0 804f31c: 2b00 cmp r3, #0 804f31e: d002 beq.n 804f326 DrawSavedData = false; 804f320: 4bb3 ldr r3, [pc, #716] ; (804f5f0 ) 804f322: 2200 movs r2, #0 804f324: 701a strb r2, [r3, #0] memset(MeasFileName, 0, sizeof(MeasFileName)); 804f326: 2221 movs r2, #33 ; 0x21 804f328: 2100 movs r1, #0 804f32a: 48b0 ldr r0, [pc, #704] ; (804f5ec ) 804f32c: f082 f838 bl 80d13a0 strcpy(MeasFileName, (char *) ExplorerFiles[CursorIndex].fname); 804f330: 4bac ldr r3, [pc, #688] ; (804f5e4 ) 804f332: 681a ldr r2, [r3, #0] 804f334: 4613 mov r3, r2 804f336: 00db lsls r3, r3, #3 804f338: 1a9b subs r3, r3, r2 804f33a: 00db lsls r3, r3, #3 804f33c: 3308 adds r3, #8 804f33e: 4aaa ldr r2, [pc, #680] ; (804f5e8 ) 804f340: 4413 add r3, r2 804f342: 3304 adds r3, #4 804f344: 4619 mov r1, r3 804f346: 48a9 ldr r0, [pc, #676] ; (804f5ec ) 804f348: f082 f947 bl 80d15da menu = PARAM_VIB; 804f34c: 4ba9 ldr r3, [pc, #676] ; (804f5f4 ) 804f34e: 2206 movs r2, #6 804f350: 701a strb r2, [r3, #0] menupos = SaveToFile; 804f352: 4ba3 ldr r3, [pc, #652] ; (804f5e0 ) 804f354: 220a movs r2, #10 804f356: 701a strb r2, [r3, #0] MeasFileName[0] = '\0'; } else MeasFileName[0] = '\0'; } break; 804f358: f004 bbd3 b.w 8053b02 if(menupos == UpNo) 804f35c: 4ba0 ldr r3, [pc, #640] ; (804f5e0 ) 804f35e: 781b ldrb r3, [r3, #0] 804f360: b2db uxtb r3, r3 804f362: 2b06 cmp r3, #6 804f364: d104 bne.n 804f370 menupos = FilesPTM; 804f366: 4b9e ldr r3, [pc, #632] ; (804f5e0 ) 804f368: 2202 movs r2, #2 804f36a: 701a strb r2, [r3, #0] break; 804f36c: f004 bbc9 b.w 8053b02 if(menupos == UpYes) 804f370: 4b9b ldr r3, [pc, #620] ; (804f5e0 ) 804f372: 781b ldrb r3, [r3, #0] 804f374: b2db uxtb r3, r3 804f376: 2b07 cmp r3, #7 804f378: d125 bne.n 804f3c6 STATUS = AP_OK; 804f37a: 4b9f ldr r3, [pc, #636] ; (804f5f8 ) 804f37c: 2200 movs r2, #0 804f37e: 601a str r2, [r3, #0] CleanStatus = AP_OK; 804f380: 4b9e ldr r3, [pc, #632] ; (804f5fc ) 804f382: 2200 movs r2, #0 804f384: 701a strb r2, [r3, #0] result = DeleteFilePTM((char *) ExplorerFiles[CursorIndex].fname); 804f386: 4b97 ldr r3, [pc, #604] ; (804f5e4 ) 804f388: 681a ldr r2, [r3, #0] 804f38a: 4613 mov r3, r2 804f38c: 00db lsls r3, r3, #3 804f38e: 1a9b subs r3, r3, r2 804f390: 00db lsls r3, r3, #3 804f392: 3308 adds r3, #8 804f394: 4a94 ldr r2, [pc, #592] ; (804f5e8 ) 804f396: 4413 add r3, r2 804f398: 3304 adds r3, #4 804f39a: 4618 mov r0, r3 804f39c: f7db fcec bl 802ad78 804f3a0: 4603 mov r3, r0 804f3a2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f3a6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f3aa: 2b00 cmp r3, #0 804f3ac: d103 bne.n 804f3b6 CleanStatus = AP_OK; 804f3ae: 4b93 ldr r3, [pc, #588] ; (804f5fc ) 804f3b0: 2200 movs r2, #0 804f3b2: 701a strb r2, [r3, #0] 804f3b4: e002 b.n 804f3bc else CleanStatus = AP_FAIL; 804f3b6: 4b91 ldr r3, [pc, #580] ; (804f5fc ) 804f3b8: 2201 movs r2, #1 804f3ba: 701a strb r2, [r3, #0] menupos = CleanUpResult; 804f3bc: 4b88 ldr r3, [pc, #544] ; (804f5e0 ) 804f3be: 220a movs r2, #10 804f3c0: 701a strb r2, [r3, #0] break; 804f3c2: f004 bb9e b.w 8053b02 if(menupos == CleanUpResult) 804f3c6: 4b86 ldr r3, [pc, #536] ; (804f5e0 ) 804f3c8: 781b ldrb r3, [r3, #0] 804f3ca: b2db uxtb r3, r3 804f3cc: 2b0a cmp r3, #10 804f3ce: f044 8398 bne.w 8053b02 result = FR_NOT_READY; 804f3d2: 2303 movs r3, #3 804f3d4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 804f3d8: 4b89 ldr r3, [pc, #548] ; (804f600 ) 804f3da: 781b ldrb r3, [r3, #0] 804f3dc: b2db uxtb r3, r3 804f3de: 2b03 cmp r3, #3 804f3e0: d13e bne.n 804f460 CursorIndex = 0; 804f3e2: 4b80 ldr r3, [pc, #512] ; (804f5e4 ) 804f3e4: 2200 movs r2, #0 804f3e6: 601a str r2, [r3, #0] FirstFileIndex = 0; 804f3e8: 4b86 ldr r3, [pc, #536] ; (804f604 ) 804f3ea: 2200 movs r2, #0 804f3ec: 601a str r2, [r3, #0] RealFileIndex = 0; 804f3ee: 4b86 ldr r3, [pc, #536] ; (804f608 ) 804f3f0: 2200 movs r2, #0 804f3f2: 601a str r2, [r3, #0] result = ReadNumFilesPTM((uint32_t *) &NumFilesPTM); 804f3f4: 4885 ldr r0, [pc, #532] ; (804f60c ) 804f3f6: f7db faaf bl 802a958 804f3fa: 4603 mov r3, r0 804f3fc: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f400: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f404: 2b00 cmp r3, #0 804f406: d126 bne.n 804f456 result = ReadMyFilesPTM(FirstFileIndex); 804f408: 4b7e ldr r3, [pc, #504] ; (804f604 ) 804f40a: 681b ldr r3, [r3, #0] 804f40c: 4618 mov r0, r3 804f40e: f7db fb6f bl 802aaf0 804f412: 4603 mov r3, r0 804f414: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f418: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f41c: 2b00 cmp r3, #0 804f41e: d115 bne.n 804f44c menu = EXPLORER; 804f420: 4b74 ldr r3, [pc, #464] ; (804f5f4 ) 804f422: 2229 movs r2, #41 ; 0x29 804f424: 701a strb r2, [r3, #0] lastmenupos = menupos; 804f426: 4b6e ldr r3, [pc, #440] ; (804f5e0 ) 804f428: 781b ldrb r3, [r3, #0] 804f42a: b2da uxtb r2, r3 804f42c: 4b78 ldr r3, [pc, #480] ; (804f610 ) 804f42e: 701a strb r2, [r3, #0] if(NumFilesPTM) 804f430: 4b76 ldr r3, [pc, #472] ; (804f60c ) 804f432: 681b ldr r3, [r3, #0] 804f434: 2b00 cmp r3, #0 804f436: d004 beq.n 804f442 menupos = FilesPTM; 804f438: 4b69 ldr r3, [pc, #420] ; (804f5e0 ) 804f43a: 2202 movs r2, #2 804f43c: 701a strb r2, [r3, #0] break; 804f43e: f004 bb60 b.w 8053b02 else menupos = NoFilesPTM; 804f442: 4b67 ldr r3, [pc, #412] ; (804f5e0 ) 804f444: 2201 movs r2, #1 804f446: 701a strb r2, [r3, #0] break; 804f448: f004 bb5b b.w 8053b02 MeasFileName[0] = '\0'; 804f44c: 4b67 ldr r3, [pc, #412] ; (804f5ec ) 804f44e: 2200 movs r2, #0 804f450: 701a strb r2, [r3, #0] break; 804f452: f004 bb56 b.w 8053b02 MeasFileName[0] = '\0'; 804f456: 4b65 ldr r3, [pc, #404] ; (804f5ec ) 804f458: 2200 movs r2, #0 804f45a: 701a strb r2, [r3, #0] break; 804f45c: f004 bb51 b.w 8053b02 MeasFileName[0] = '\0'; 804f460: 4b62 ldr r3, [pc, #392] ; (804f5ec ) 804f462: 2200 movs r2, #0 804f464: 701a strb r2, [r3, #0] break; 804f466: f004 bb4c b.w 8053b02 case EXPLORER_DIAGN: //TODO if(menupos == FilesDGN) 804f46a: 4b5d ldr r3, [pc, #372] ; (804f5e0 ) 804f46c: 781b ldrb r3, [r3, #0] 804f46e: b2db uxtb r3, r3 804f470: 2b02 cmp r3, #2 804f472: d12e bne.n 804f4d2 { if(strcmp(DiagFileName, (char *) ExplorerFiles[CursorIndex].fname) != 0) 804f474: 4b5b ldr r3, [pc, #364] ; (804f5e4 ) 804f476: 681a ldr r2, [r3, #0] 804f478: 4613 mov r3, r2 804f47a: 00db lsls r3, r3, #3 804f47c: 1a9b subs r3, r3, r2 804f47e: 00db lsls r3, r3, #3 804f480: 3308 adds r3, #8 804f482: 4a59 ldr r2, [pc, #356] ; (804f5e8 ) 804f484: 4413 add r3, r2 804f486: 3304 adds r3, #4 804f488: 4619 mov r1, r3 804f48a: 4862 ldr r0, [pc, #392] ; (804f614 ) 804f48c: f7d0 ff38 bl 8020300 804f490: 4603 mov r3, r0 804f492: 2b00 cmp r3, #0 804f494: d002 beq.n 804f49c DrawSavedData = false; 804f496: 4b56 ldr r3, [pc, #344] ; (804f5f0 ) 804f498: 2200 movs r2, #0 804f49a: 701a strb r2, [r3, #0] memset(DiagFileName, 0, sizeof(DiagFileName)); 804f49c: 2221 movs r2, #33 ; 0x21 804f49e: 2100 movs r1, #0 804f4a0: 485c ldr r0, [pc, #368] ; (804f614 ) 804f4a2: f081 ff7d bl 80d13a0 strcpy(DiagFileName, (char *) ExplorerFiles[CursorIndex].fname); 804f4a6: 4b4f ldr r3, [pc, #316] ; (804f5e4 ) 804f4a8: 681a ldr r2, [r3, #0] 804f4aa: 4613 mov r3, r2 804f4ac: 00db lsls r3, r3, #3 804f4ae: 1a9b subs r3, r3, r2 804f4b0: 00db lsls r3, r3, #3 804f4b2: 3308 adds r3, #8 804f4b4: 4a4c ldr r2, [pc, #304] ; (804f5e8 ) 804f4b6: 4413 add r3, r2 804f4b8: 3304 adds r3, #4 804f4ba: 4619 mov r1, r3 804f4bc: 4855 ldr r0, [pc, #340] ; (804f614 ) 804f4be: f082 f88c bl 80d15da menu = PARAM_DIAGN; 804f4c2: 4b4c ldr r3, [pc, #304] ; (804f5f4 ) 804f4c4: 220f movs r2, #15 804f4c6: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 804f4c8: 4b45 ldr r3, [pc, #276] ; (804f5e0 ) 804f4ca: 2204 movs r2, #4 804f4cc: 701a strb r2, [r3, #0] DiagFileName[0] = '\0'; } else DiagFileName[0] = '\0'; } break; 804f4ce: f004 bb1a b.w 8053b06 if(menupos == UpNo) 804f4d2: 4b43 ldr r3, [pc, #268] ; (804f5e0 ) 804f4d4: 781b ldrb r3, [r3, #0] 804f4d6: b2db uxtb r3, r3 804f4d8: 2b06 cmp r3, #6 804f4da: d104 bne.n 804f4e6 menupos = FilesDGN; 804f4dc: 4b40 ldr r3, [pc, #256] ; (804f5e0 ) 804f4de: 2202 movs r2, #2 804f4e0: 701a strb r2, [r3, #0] break; 804f4e2: f004 bb10 b.w 8053b06 if(menupos == UpYes) 804f4e6: 4b3e ldr r3, [pc, #248] ; (804f5e0 ) 804f4e8: 781b ldrb r3, [r3, #0] 804f4ea: b2db uxtb r3, r3 804f4ec: 2b07 cmp r3, #7 804f4ee: d125 bne.n 804f53c STATUS = AP_OK; 804f4f0: 4b41 ldr r3, [pc, #260] ; (804f5f8 ) 804f4f2: 2200 movs r2, #0 804f4f4: 601a str r2, [r3, #0] CleanStatus = AP_OK; 804f4f6: 4b41 ldr r3, [pc, #260] ; (804f5fc ) 804f4f8: 2200 movs r2, #0 804f4fa: 701a strb r2, [r3, #0] result = DeleteFileDGN((char *) ExplorerFiles[CursorIndex].fname); 804f4fc: 4b39 ldr r3, [pc, #228] ; (804f5e4 ) 804f4fe: 681a ldr r2, [r3, #0] 804f500: 4613 mov r3, r2 804f502: 00db lsls r3, r3, #3 804f504: 1a9b subs r3, r3, r2 804f506: 00db lsls r3, r3, #3 804f508: 3308 adds r3, #8 804f50a: 4a37 ldr r2, [pc, #220] ; (804f5e8 ) 804f50c: 4413 add r3, r2 804f50e: 3304 adds r3, #4 804f510: 4618 mov r0, r3 804f512: f7db fc99 bl 802ae48 804f516: 4603 mov r3, r0 804f518: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f51c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f520: 2b00 cmp r3, #0 804f522: d103 bne.n 804f52c CleanStatus = AP_OK; 804f524: 4b35 ldr r3, [pc, #212] ; (804f5fc ) 804f526: 2200 movs r2, #0 804f528: 701a strb r2, [r3, #0] 804f52a: e002 b.n 804f532 else CleanStatus = AP_FAIL; 804f52c: 4b33 ldr r3, [pc, #204] ; (804f5fc ) 804f52e: 2201 movs r2, #1 804f530: 701a strb r2, [r3, #0] menupos = CleanUpResult; 804f532: 4b2b ldr r3, [pc, #172] ; (804f5e0 ) 804f534: 220a movs r2, #10 804f536: 701a strb r2, [r3, #0] break; 804f538: f004 bae5 b.w 8053b06 if(menupos == CleanUpResult) 804f53c: 4b28 ldr r3, [pc, #160] ; (804f5e0 ) 804f53e: 781b ldrb r3, [r3, #0] 804f540: b2db uxtb r3, r3 804f542: 2b0a cmp r3, #10 804f544: f044 82df bne.w 8053b06 result = FR_NOT_READY; 804f548: 2303 movs r3, #3 804f54a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 804f54e: 4b2c ldr r3, [pc, #176] ; (804f600 ) 804f550: 781b ldrb r3, [r3, #0] 804f552: b2db uxtb r3, r3 804f554: 2b03 cmp r3, #3 804f556: d13e bne.n 804f5d6 CursorIndex = 0; 804f558: 4b22 ldr r3, [pc, #136] ; (804f5e4 ) 804f55a: 2200 movs r2, #0 804f55c: 601a str r2, [r3, #0] FirstFileIndex = 0; 804f55e: 4b29 ldr r3, [pc, #164] ; (804f604 ) 804f560: 2200 movs r2, #0 804f562: 601a str r2, [r3, #0] RealFileIndex = 0; 804f564: 4b28 ldr r3, [pc, #160] ; (804f608 ) 804f566: 2200 movs r2, #0 804f568: 601a str r2, [r3, #0] result = ReadNumFilesDGN((uint32_t *) &NumFilesDGN); 804f56a: 482b ldr r0, [pc, #172] ; (804f618 ) 804f56c: f7db fa0a bl 802a984 804f570: 4603 mov r3, r0 804f572: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f576: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f57a: 2b00 cmp r3, #0 804f57c: d126 bne.n 804f5cc result = ReadMyFilesDGN(FirstFileIndex); 804f57e: 4b21 ldr r3, [pc, #132] ; (804f604 ) 804f580: 681b ldr r3, [r3, #0] 804f582: 4618 mov r0, r3 804f584: f7db fac1 bl 802ab0a 804f588: 4603 mov r3, r0 804f58a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f58e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f592: 2b00 cmp r3, #0 804f594: d115 bne.n 804f5c2 menu = EXPLORER_DIAGN; 804f596: 4b17 ldr r3, [pc, #92] ; (804f5f4 ) 804f598: 222a movs r2, #42 ; 0x2a 804f59a: 701a strb r2, [r3, #0] lastmenupos = menupos; 804f59c: 4b10 ldr r3, [pc, #64] ; (804f5e0 ) 804f59e: 781b ldrb r3, [r3, #0] 804f5a0: b2da uxtb r2, r3 804f5a2: 4b1b ldr r3, [pc, #108] ; (804f610 ) 804f5a4: 701a strb r2, [r3, #0] if(NumFilesDGN) 804f5a6: 4b1c ldr r3, [pc, #112] ; (804f618 ) 804f5a8: 681b ldr r3, [r3, #0] 804f5aa: 2b00 cmp r3, #0 804f5ac: d004 beq.n 804f5b8 menupos = FilesDGN; 804f5ae: 4b0c ldr r3, [pc, #48] ; (804f5e0 ) 804f5b0: 2202 movs r2, #2 804f5b2: 701a strb r2, [r3, #0] break; 804f5b4: f004 baa7 b.w 8053b06 else menupos = NoFilesDGN; 804f5b8: 4b09 ldr r3, [pc, #36] ; (804f5e0 ) 804f5ba: 2201 movs r2, #1 804f5bc: 701a strb r2, [r3, #0] break; 804f5be: f004 baa2 b.w 8053b06 DiagFileName[0] = '\0'; 804f5c2: 4b14 ldr r3, [pc, #80] ; (804f614 ) 804f5c4: 2200 movs r2, #0 804f5c6: 701a strb r2, [r3, #0] break; 804f5c8: f004 ba9d b.w 8053b06 DiagFileName[0] = '\0'; 804f5cc: 4b11 ldr r3, [pc, #68] ; (804f614 ) 804f5ce: 2200 movs r2, #0 804f5d0: 701a strb r2, [r3, #0] break; 804f5d2: f004 ba98 b.w 8053b06 DiagFileName[0] = '\0'; 804f5d6: 4b0f ldr r3, [pc, #60] ; (804f614 ) 804f5d8: 2200 movs r2, #0 804f5da: 701a strb r2, [r3, #0] break; 804f5dc: f004 ba93 b.w 8053b06 804f5e0: 20020070 .word 0x20020070 804f5e4: 20020e00 .word 0x20020e00 804f5e8: 20022398 .word 0x20022398 804f5ec: 20020e78 .word 0x20020e78 804f5f0: 20020dea .word 0x20020dea 804f5f4: 20020fbd .word 0x20020fbd 804f5f8: 20020dec .word 0x20020dec 804f5fc: 20020df0 .word 0x20020df0 804f600: 20021694 .word 0x20021694 804f604: 20020e04 .word 0x20020e04 804f608: 20020e08 .word 0x20020e08 804f60c: 20020e14 .word 0x20020e14 804f610: 20020071 .word 0x20020071 804f614: 20020e9c .word 0x20020e9c 804f618: 20020e18 .word 0x20020e18 case INPUT_COMMENT_DIAGN: //TODO if(menupos == _ENTER) 804f61c: 4bb6 ldr r3, [pc, #728] ; (804f8f8 ) 804f61e: 781b ldrb r3, [r3, #0] 804f620: b2db uxtb r3, r3 804f622: 2b26 cmp r3, #38 ; 0x26 804f624: f040 8249 bne.w 804faba { menu = lastmenu; 804f628: 4bb4 ldr r3, [pc, #720] ; (804f8fc ) 804f62a: 781b ldrb r3, [r3, #0] 804f62c: b2da uxtb r2, r3 804f62e: 4bb4 ldr r3, [pc, #720] ; (804f900 ) 804f630: 701a strb r2, [r3, #0] menupos = Record; 804f632: 4bb1 ldr r3, [pc, #708] ; (804f8f8 ) 804f634: 2202 movs r2, #2 804f636: 701a strb r2, [r3, #0] memcpy(Comment, TEMP_Comment, sizeof(Comment)); 804f638: 4ab2 ldr r2, [pc, #712] ; (804f904 ) 804f63a: 4bb3 ldr r3, [pc, #716] ; (804f908 ) 804f63c: 4610 mov r0, r2 804f63e: f103 0420 add.w r4, r3, #32 804f642: 4602 mov r2, r0 804f644: 4619 mov r1, r3 804f646: f8d1 e000 ldr.w lr, [r1] 804f64a: 684e ldr r6, [r1, #4] 804f64c: 688d ldr r5, [r1, #8] 804f64e: 68c9 ldr r1, [r1, #12] 804f650: f8c2 e000 str.w lr, [r2] 804f654: 6056 str r6, [r2, #4] 804f656: 6095 str r5, [r2, #8] 804f658: 60d1 str r1, [r2, #12] 804f65a: 3310 adds r3, #16 804f65c: 3010 adds r0, #16 804f65e: 42a3 cmp r3, r4 804f660: d1ef bne.n 804f642 804f662: 4602 mov r2, r0 804f664: 6819 ldr r1, [r3, #0] 804f666: 685b ldr r3, [r3, #4] 804f668: 6011 str r1, [r2, #0] 804f66a: 6053 str r3, [r2, #4] DiagnFileData.d_Op1_ipr = pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7; 804f66c: 4ba7 ldr r3, [pc, #668] ; (804f90c ) 804f66e: 781b ldrb r3, [r3, #0] 804f670: b2db uxtb r3, r3 804f672: 4aa7 ldr r2, [pc, #668] ; (804f910 ) 804f674: 338e adds r3, #142 ; 0x8e 804f676: 009b lsls r3, r3, #2 804f678: 4413 add r3, r2 804f67a: 791b ldrb r3, [r3, #4] 804f67c: b2db uxtb r3, r3 804f67e: f003 0307 and.w r3, r3, #7 804f682: b2da uxtb r2, r3 804f684: 4ba3 ldr r3, [pc, #652] ; (804f914 ) 804f686: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7; 804f68a: 4ba0 ldr r3, [pc, #640] ; (804f90c ) 804f68c: 781b ldrb r3, [r3, #0] 804f68e: b2db uxtb r3, r3 804f690: 4a9f ldr r2, [pc, #636] ; (804f910 ) 804f692: 009b lsls r3, r3, #2 804f694: 4413 add r3, r2 804f696: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 804f69a: b2db uxtb r3, r3 804f69c: f003 0307 and.w r3, r3, #7 804f6a0: b2da uxtb r2, r3 804f6a2: 4b9c ldr r3, [pc, #624] ; (804f914 ) 804f6a4: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7; 804f6a8: 4b98 ldr r3, [pc, #608] ; (804f90c ) 804f6aa: 781b ldrb r3, [r3, #0] 804f6ac: b2db uxtb r3, r3 804f6ae: 4a98 ldr r2, [pc, #608] ; (804f910 ) 804f6b0: 009b lsls r3, r3, #2 804f6b2: 4413 add r3, r2 804f6b4: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 804f6b8: b2db uxtb r3, r3 804f6ba: f003 0307 and.w r3, r3, #7 804f6be: b2da uxtb r2, r3 804f6c0: 4b94 ldr r3, [pc, #592] ; (804f914 ) 804f6c2: f883 202a strb.w r2, [r3, #42] ; 0x2a switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 804f6c6: 4b91 ldr r3, [pc, #580] ; (804f90c ) 804f6c8: 781b ldrb r3, [r3, #0] 804f6ca: b2db uxtb r3, r3 804f6cc: 4a90 ldr r2, [pc, #576] ; (804f910 ) 804f6ce: 338e adds r3, #142 ; 0x8e 804f6d0: 009b lsls r3, r3, #2 804f6d2: 4413 add r3, r2 804f6d4: 791b ldrb r3, [r3, #4] 804f6d6: b2db uxtb r3, r3 804f6d8: 08db lsrs r3, r3, #3 804f6da: b2db uxtb r3, r3 804f6dc: f003 031f and.w r3, r3, #31 804f6e0: 3b01 subs r3, #1 804f6e2: 2b0f cmp r3, #15 804f6e4: d83b bhi.n 804f75e 804f6e6: a201 add r2, pc, #4 ; (adr r2, 804f6ec ) 804f6e8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804f6ec: 0804f72d .word 0x0804f72d 804f6f0: 0804f737 .word 0x0804f737 804f6f4: 0804f75f .word 0x0804f75f 804f6f8: 0804f741 .word 0x0804f741 804f6fc: 0804f75f .word 0x0804f75f 804f700: 0804f75f .word 0x0804f75f 804f704: 0804f75f .word 0x0804f75f 804f708: 0804f74b .word 0x0804f74b 804f70c: 0804f75f .word 0x0804f75f 804f710: 0804f75f .word 0x0804f75f 804f714: 0804f75f .word 0x0804f75f 804f718: 0804f75f .word 0x0804f75f 804f71c: 0804f75f .word 0x0804f75f 804f720: 0804f75f .word 0x0804f75f 804f724: 0804f75f .word 0x0804f75f 804f728: 0804f755 .word 0x0804f755 { case DIAGN_PEAK: DiagnFileData.d_Op1_ivs = 'P'; break; 804f72c: 4b79 ldr r3, [pc, #484] ; (804f914 ) 804f72e: 2250 movs r2, #80 ; 0x50 804f730: f883 202b strb.w r2, [r3, #43] ; 0x2b 804f734: e013 b.n 804f75e case DIAGN_RMS: DiagnFileData.d_Op1_ivs = 'S'; break; 804f736: 4b77 ldr r3, [pc, #476] ; (804f914 ) 804f738: 2253 movs r2, #83 ; 0x53 804f73a: f883 202b strb.w r2, [r3, #43] ; 0x2b 804f73e: e00e b.n 804f75e case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op1_ivs = 'R'; break; 804f740: 4b74 ldr r3, [pc, #464] ; (804f914 ) 804f742: 2252 movs r2, #82 ; 0x52 804f744: f883 202b strb.w r2, [r3, #43] ; 0x2b 804f748: e009 b.n 804f75e case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op1_ivs = 'F'; break; 804f74a: 4b72 ldr r3, [pc, #456] ; (804f914 ) 804f74c: 2246 movs r2, #70 ; 0x46 804f74e: f883 202b strb.w r2, [r3, #43] ; 0x2b 804f752: e004 b.n 804f75e case DIAGN_EXCESS: DiagnFileData.d_Op1_ivs = 'E'; break; 804f754: 4b6f ldr r3, [pc, #444] ; (804f914 ) 804f756: 2245 movs r2, #69 ; 0x45 804f758: f883 202b strb.w r2, [r3, #43] ; 0x2b 804f75c: bf00 nop } switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 804f75e: 4b6b ldr r3, [pc, #428] ; (804f90c ) 804f760: 781b ldrb r3, [r3, #0] 804f762: b2db uxtb r3, r3 804f764: 4a6a ldr r2, [pc, #424] ; (804f910 ) 804f766: 009b lsls r3, r3, #2 804f768: 4413 add r3, r2 804f76a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 804f76e: b2db uxtb r3, r3 804f770: 08db lsrs r3, r3, #3 804f772: b2db uxtb r3, r3 804f774: f003 031f and.w r3, r3, #31 804f778: 3b01 subs r3, #1 804f77a: 2b0f cmp r3, #15 804f77c: d83b bhi.n 804f7f6 804f77e: a201 add r2, pc, #4 ; (adr r2, 804f784 ) 804f780: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804f784: 0804f7c5 .word 0x0804f7c5 804f788: 0804f7cf .word 0x0804f7cf 804f78c: 0804f7f7 .word 0x0804f7f7 804f790: 0804f7d9 .word 0x0804f7d9 804f794: 0804f7f7 .word 0x0804f7f7 804f798: 0804f7f7 .word 0x0804f7f7 804f79c: 0804f7f7 .word 0x0804f7f7 804f7a0: 0804f7e3 .word 0x0804f7e3 804f7a4: 0804f7f7 .word 0x0804f7f7 804f7a8: 0804f7f7 .word 0x0804f7f7 804f7ac: 0804f7f7 .word 0x0804f7f7 804f7b0: 0804f7f7 .word 0x0804f7f7 804f7b4: 0804f7f7 .word 0x0804f7f7 804f7b8: 0804f7f7 .word 0x0804f7f7 804f7bc: 0804f7f7 .word 0x0804f7f7 804f7c0: 0804f7ed .word 0x0804f7ed { case DIAGN_PEAK: DiagnFileData.d_Op2_ivs = 'P'; break; 804f7c4: 4b53 ldr r3, [pc, #332] ; (804f914 ) 804f7c6: 2250 movs r2, #80 ; 0x50 804f7c8: f883 202c strb.w r2, [r3, #44] ; 0x2c 804f7cc: e013 b.n 804f7f6 case DIAGN_RMS: DiagnFileData.d_Op2_ivs = 'S'; break; 804f7ce: 4b51 ldr r3, [pc, #324] ; (804f914 ) 804f7d0: 2253 movs r2, #83 ; 0x53 804f7d2: f883 202c strb.w r2, [r3, #44] ; 0x2c 804f7d6: e00e b.n 804f7f6 case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op2_ivs = 'R'; break; 804f7d8: 4b4e ldr r3, [pc, #312] ; (804f914 ) 804f7da: 2252 movs r2, #82 ; 0x52 804f7dc: f883 202c strb.w r2, [r3, #44] ; 0x2c 804f7e0: e009 b.n 804f7f6 case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op2_ivs = 'F'; break; 804f7e2: 4b4c ldr r3, [pc, #304] ; (804f914 ) 804f7e4: 2246 movs r2, #70 ; 0x46 804f7e6: f883 202c strb.w r2, [r3, #44] ; 0x2c 804f7ea: e004 b.n 804f7f6 case DIAGN_EXCESS: DiagnFileData.d_Op2_ivs = 'E'; break; 804f7ec: 4b49 ldr r3, [pc, #292] ; (804f914 ) 804f7ee: 2245 movs r2, #69 ; 0x45 804f7f0: f883 202c strb.w r2, [r3, #44] ; 0x2c 804f7f4: bf00 nop } switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 804f7f6: 4b45 ldr r3, [pc, #276] ; (804f90c ) 804f7f8: 781b ldrb r3, [r3, #0] 804f7fa: b2db uxtb r3, r3 804f7fc: 4a44 ldr r2, [pc, #272] ; (804f910 ) 804f7fe: 009b lsls r3, r3, #2 804f800: 4413 add r3, r2 804f802: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 804f806: b2db uxtb r3, r3 804f808: 08db lsrs r3, r3, #3 804f80a: b2db uxtb r3, r3 804f80c: f003 031f and.w r3, r3, #31 804f810: 3b01 subs r3, #1 804f812: 2b0f cmp r3, #15 804f814: d83b bhi.n 804f88e 804f816: a201 add r2, pc, #4 ; (adr r2, 804f81c ) 804f818: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804f81c: 0804f85d .word 0x0804f85d 804f820: 0804f867 .word 0x0804f867 804f824: 0804f88f .word 0x0804f88f 804f828: 0804f871 .word 0x0804f871 804f82c: 0804f88f .word 0x0804f88f 804f830: 0804f88f .word 0x0804f88f 804f834: 0804f88f .word 0x0804f88f 804f838: 0804f87b .word 0x0804f87b 804f83c: 0804f88f .word 0x0804f88f 804f840: 0804f88f .word 0x0804f88f 804f844: 0804f88f .word 0x0804f88f 804f848: 0804f88f .word 0x0804f88f 804f84c: 0804f88f .word 0x0804f88f 804f850: 0804f88f .word 0x0804f88f 804f854: 0804f88f .word 0x0804f88f 804f858: 0804f885 .word 0x0804f885 { case DIAGN_PEAK: DiagnFileData.d_Op3_ivs = 'P'; break; 804f85c: 4b2d ldr r3, [pc, #180] ; (804f914 ) 804f85e: 2250 movs r2, #80 ; 0x50 804f860: f883 202d strb.w r2, [r3, #45] ; 0x2d 804f864: e013 b.n 804f88e case DIAGN_RMS: DiagnFileData.d_Op3_ivs = 'S'; break; 804f866: 4b2b ldr r3, [pc, #172] ; (804f914 ) 804f868: 2253 movs r2, #83 ; 0x53 804f86a: f883 202d strb.w r2, [r3, #45] ; 0x2d 804f86e: e00e b.n 804f88e case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op3_ivs = 'R'; break; 804f870: 4b28 ldr r3, [pc, #160] ; (804f914 ) 804f872: 2252 movs r2, #82 ; 0x52 804f874: f883 202d strb.w r2, [r3, #45] ; 0x2d 804f878: e009 b.n 804f88e case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op3_ivs = 'F'; break; 804f87a: 4b26 ldr r3, [pc, #152] ; (804f914 ) 804f87c: 2246 movs r2, #70 ; 0x46 804f87e: f883 202d strb.w r2, [r3, #45] ; 0x2d 804f882: e004 b.n 804f88e case DIAGN_EXCESS: DiagnFileData.d_Op3_ivs = 'E'; break; 804f884: 4b23 ldr r3, [pc, #140] ; (804f914 ) 804f886: 2245 movs r2, #69 ; 0x45 804f888: f883 202d strb.w r2, [r3, #45] ; 0x2d 804f88c: bf00 nop } DiagnFileData.Op_1.fl = operand[Us1]; 804f88e: 4b22 ldr r3, [pc, #136] ; (804f918 ) 804f890: 681b ldr r3, [r3, #0] 804f892: 4a20 ldr r2, [pc, #128] ; (804f914 ) 804f894: 6013 str r3, [r2, #0] DiagnFileData.Op_2.fl = operand[Us2]; 804f896: 4b20 ldr r3, [pc, #128] ; (804f918 ) 804f898: 685b ldr r3, [r3, #4] 804f89a: 4a1e ldr r2, [pc, #120] ; (804f914 ) 804f89c: 6053 str r3, [r2, #4] DiagnFileData.Op_3.fl = operand[Us3]; 804f89e: 4b1e ldr r3, [pc, #120] ; (804f918 ) 804f8a0: 689b ldr r3, [r3, #8] 804f8a2: 4a1c ldr r2, [pc, #112] ; (804f914 ) 804f8a4: 6093 str r3, [r2, #8] DiagnFileData.d_Time = RTC_TimeStruct; 804f8a6: 4b1b ldr r3, [pc, #108] ; (804f914 ) 804f8a8: 4a1c ldr r2, [pc, #112] ; (804f91c ) 804f8aa: f103 040c add.w r4, r3, #12 804f8ae: 4615 mov r5, r2 804f8b0: cd0f ldmia r5!, {r0, r1, r2, r3} 804f8b2: c40f stmia r4!, {r0, r1, r2, r3} 804f8b4: e895 0003 ldmia.w r5, {r0, r1} 804f8b8: e884 0003 stmia.w r4, {r0, r1} DiagnFileData.d_Date = RTC_DateStruct; 804f8bc: 4b15 ldr r3, [pc, #84] ; (804f914 ) 804f8be: 4a18 ldr r2, [pc, #96] ; (804f920 ) 804f8c0: 3324 adds r3, #36 ; 0x24 804f8c2: 6810 ldr r0, [r2, #0] 804f8c4: 6018 str r0, [r3, #0] if(ALARM) DiagnFileData.d_Alarm = 1; 804f8c6: 4b17 ldr r3, [pc, #92] ; (804f924 ) 804f8c8: 781b ldrb r3, [r3, #0] 804f8ca: b2db uxtb r3, r3 804f8cc: 2b00 cmp r3, #0 804f8ce: d004 beq.n 804f8da 804f8d0: 4b10 ldr r3, [pc, #64] ; (804f914 ) 804f8d2: 2201 movs r2, #1 804f8d4: f883 2032 strb.w r2, [r3, #50] ; 0x32 804f8d8: e003 b.n 804f8e2 else DiagnFileData.d_Alarm = 0; 804f8da: 4b0e ldr r3, [pc, #56] ; (804f914 ) 804f8dc: 2200 movs r2, #0 804f8de: f883 2032 strb.w r2, [r3, #50] ; 0x32 if(WARNING) DiagnFileData.d_Warning = 1; 804f8e2: 4b11 ldr r3, [pc, #68] ; (804f928 ) 804f8e4: 781b ldrb r3, [r3, #0] 804f8e6: b2db uxtb r3, r3 804f8e8: 2b00 cmp r3, #0 804f8ea: d01f beq.n 804f92c 804f8ec: 4b09 ldr r3, [pc, #36] ; (804f914 ) 804f8ee: 2201 movs r2, #1 804f8f0: f883 2031 strb.w r2, [r3, #49] ; 0x31 804f8f4: e01e b.n 804f934 804f8f6: bf00 nop 804f8f8: 20020070 .word 0x20020070 804f8fc: 20020fbe .word 0x20020fbe 804f900: 20020fbd .word 0x20020fbd 804f904: 20022698 .word 0x20022698 804f908: 20025c88 .word 0x20025c88 804f90c: 20021055 .word 0x20021055 804f910: 20023ea8 .word 0x20023ea8 804f914: 2002263c .word 0x2002263c 804f918: 20026918 .word 0x20026918 804f91c: 20025cb0 .word 0x20025cb0 804f920: 20025d34 .word 0x20025d34 804f924: 20021059 .word 0x20021059 804f928: 20021058 .word 0x20021058 else DiagnFileData.d_Warning = 0; 804f92c: 4bb7 ldr r3, [pc, #732] ; (804fc0c ) 804f92e: 2200 movs r2, #0 804f930: f883 2031 strb.w r2, [r3, #49] ; 0x31 // if(operand[Us1] < pardata.DIAGN_A[CURR_POINT][Us1]) 804f934: 4bb6 ldr r3, [pc, #728] ; (804fc10 ) 804f936: ed93 7a00 vldr s14, [r3] 804f93a: 4bb6 ldr r3, [pc, #728] ; (804fc14 ) 804f93c: 781b ldrb r3, [r3, #0] 804f93e: b2db uxtb r3, r3 804f940: 4ab5 ldr r2, [pc, #724] ; (804fc18 ) 804f942: 011b lsls r3, r3, #4 804f944: 4413 add r3, r2 804f946: f503 7377 add.w r3, r3, #988 ; 0x3dc 804f94a: edd3 7a00 vldr s15, [r3] 804f94e: eeb4 7ae7 vcmpe.f32 s14, s15 804f952: eef1 fa10 vmrs APSR_nzcv, fpscr 804f956: d51b bpl.n 804f990 { if(operand[Us1] < pardata.DIAGN_W[CURR_POINT][Us1]) 804f958: 4bad ldr r3, [pc, #692] ; (804fc10 ) 804f95a: ed93 7a00 vldr s14, [r3] 804f95e: 4bad ldr r3, [pc, #692] ; (804fc14 ) 804f960: 781b ldrb r3, [r3, #0] 804f962: b2db uxtb r3, r3 804f964: 4aac ldr r2, [pc, #688] ; (804fc18 ) 804f966: 011b lsls r3, r3, #4 804f968: 4413 add r3, r2 804f96a: f503 7357 add.w r3, r3, #860 ; 0x35c 804f96e: edd3 7a00 vldr s15, [r3] 804f972: eeb4 7ae7 vcmpe.f32 s14, s15 804f976: eef1 fa10 vmrs APSR_nzcv, fpscr 804f97a: d504 bpl.n 804f986 DiagnFileData.d_Op1_Color = 0; 804f97c: 4ba3 ldr r3, [pc, #652] ; (804fc0c ) 804f97e: 2200 movs r2, #0 804f980: f883 202e strb.w r2, [r3, #46] ; 0x2e 804f984: e008 b.n 804f998 else DiagnFileData.d_Op1_Color = 1; 804f986: 4ba1 ldr r3, [pc, #644] ; (804fc0c ) 804f988: 2201 movs r2, #1 804f98a: f883 202e strb.w r2, [r3, #46] ; 0x2e 804f98e: e003 b.n 804f998 } else DiagnFileData.d_Op1_Color = 2; 804f990: 4b9e ldr r3, [pc, #632] ; (804fc0c ) 804f992: 2202 movs r2, #2 804f994: f883 202e strb.w r2, [r3, #46] ; 0x2e // if(operand[Us2] < pardata.DIAGN_A[CURR_POINT][Us2]) 804f998: 4b9d ldr r3, [pc, #628] ; (804fc10 ) 804f99a: ed93 7a01 vldr s14, [r3, #4] 804f99e: 4b9d ldr r3, [pc, #628] ; (804fc14 ) 804f9a0: 781b ldrb r3, [r3, #0] 804f9a2: b2db uxtb r3, r3 804f9a4: 4a9c ldr r2, [pc, #624] ; (804fc18 ) 804f9a6: 011b lsls r3, r3, #4 804f9a8: 4413 add r3, r2 804f9aa: f503 7378 add.w r3, r3, #992 ; 0x3e0 804f9ae: edd3 7a00 vldr s15, [r3] 804f9b2: eeb4 7ae7 vcmpe.f32 s14, s15 804f9b6: eef1 fa10 vmrs APSR_nzcv, fpscr 804f9ba: d51b bpl.n 804f9f4 { if(operand[Us2] < pardata.DIAGN_W[CURR_POINT][Us2]) 804f9bc: 4b94 ldr r3, [pc, #592] ; (804fc10 ) 804f9be: ed93 7a01 vldr s14, [r3, #4] 804f9c2: 4b94 ldr r3, [pc, #592] ; (804fc14 ) 804f9c4: 781b ldrb r3, [r3, #0] 804f9c6: b2db uxtb r3, r3 804f9c8: 4a93 ldr r2, [pc, #588] ; (804fc18 ) 804f9ca: 011b lsls r3, r3, #4 804f9cc: 4413 add r3, r2 804f9ce: f503 7358 add.w r3, r3, #864 ; 0x360 804f9d2: edd3 7a00 vldr s15, [r3] 804f9d6: eeb4 7ae7 vcmpe.f32 s14, s15 804f9da: eef1 fa10 vmrs APSR_nzcv, fpscr 804f9de: d504 bpl.n 804f9ea DiagnFileData.d_Op2_Color = 0; 804f9e0: 4b8a ldr r3, [pc, #552] ; (804fc0c ) 804f9e2: 2200 movs r2, #0 804f9e4: f883 202f strb.w r2, [r3, #47] ; 0x2f 804f9e8: e008 b.n 804f9fc else DiagnFileData.d_Op2_Color = 1; 804f9ea: 4b88 ldr r3, [pc, #544] ; (804fc0c ) 804f9ec: 2201 movs r2, #1 804f9ee: f883 202f strb.w r2, [r3, #47] ; 0x2f 804f9f2: e003 b.n 804f9fc } else DiagnFileData.d_Op2_Color = 2; 804f9f4: 4b85 ldr r3, [pc, #532] ; (804fc0c ) 804f9f6: 2202 movs r2, #2 804f9f8: f883 202f strb.w r2, [r3, #47] ; 0x2f // if(operand[Us3] < pardata.DIAGN_A[CURR_POINT][Us3]) 804f9fc: 4b84 ldr r3, [pc, #528] ; (804fc10 ) 804f9fe: ed93 7a02 vldr s14, [r3, #8] 804fa02: 4b84 ldr r3, [pc, #528] ; (804fc14 ) 804fa04: 781b ldrb r3, [r3, #0] 804fa06: b2db uxtb r3, r3 804fa08: 4a83 ldr r2, [pc, #524] ; (804fc18 ) 804fa0a: 333e adds r3, #62 ; 0x3e 804fa0c: 011b lsls r3, r3, #4 804fa0e: 4413 add r3, r2 804fa10: 3304 adds r3, #4 804fa12: edd3 7a00 vldr s15, [r3] 804fa16: eeb4 7ae7 vcmpe.f32 s14, s15 804fa1a: eef1 fa10 vmrs APSR_nzcv, fpscr 804fa1e: d51b bpl.n 804fa58 { if(operand[Us3] < pardata.DIAGN_W[CURR_POINT][Us3]) 804fa20: 4b7b ldr r3, [pc, #492] ; (804fc10 ) 804fa22: ed93 7a02 vldr s14, [r3, #8] 804fa26: 4b7b ldr r3, [pc, #492] ; (804fc14 ) 804fa28: 781b ldrb r3, [r3, #0] 804fa2a: b2db uxtb r3, r3 804fa2c: 4a7a ldr r2, [pc, #488] ; (804fc18 ) 804fa2e: 3336 adds r3, #54 ; 0x36 804fa30: 011b lsls r3, r3, #4 804fa32: 4413 add r3, r2 804fa34: 3304 adds r3, #4 804fa36: edd3 7a00 vldr s15, [r3] 804fa3a: eeb4 7ae7 vcmpe.f32 s14, s15 804fa3e: eef1 fa10 vmrs APSR_nzcv, fpscr 804fa42: d504 bpl.n 804fa4e DiagnFileData.d_Op3_Color = 0; 804fa44: 4b71 ldr r3, [pc, #452] ; (804fc0c ) 804fa46: 2200 movs r2, #0 804fa48: f883 2030 strb.w r2, [r3, #48] ; 0x30 804fa4c: e008 b.n 804fa60 else DiagnFileData.d_Op3_Color = 1; 804fa4e: 4b6f ldr r3, [pc, #444] ; (804fc0c ) 804fa50: 2201 movs r2, #1 804fa52: f883 2030 strb.w r2, [r3, #48] ; 0x30 804fa56: e003 b.n 804fa60 } else DiagnFileData.d_Op3_Color = 2; 804fa58: 4b6c ldr r3, [pc, #432] ; (804fc0c ) 804fa5a: 2202 movs r2, #2 804fa5c: f883 2030 strb.w r2, [r3, #48] ; 0x30 AddToFile = true; 804fa60: 4b6e ldr r3, [pc, #440] ; (804fc1c ) 804fa62: 2201 movs r2, #1 804fa64: 701a strb r2, [r3, #0] //************************************************************************************ result = WriteFileDGN(DiagFileName); 804fa66: 486e ldr r0, [pc, #440] ; (804fc20 ) 804fa68: f7da f914 bl 8029c94 804fa6c: 4603 mov r3, r0 804fa6e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fa72: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fa76: 2b00 cmp r3, #0 804fa78: d110 bne.n 804fa9c { STATUS = AP_SAVING_SUCCESS; 804fa7a: 4b6a ldr r3, [pc, #424] ; (804fc24 ) 804fa7c: 2207 movs r2, #7 804fa7e: 601a str r2, [r3, #0] timerStatus = sec2; 804fa80: 4b69 ldr r3, [pc, #420] ; (804fc28 ) 804fa82: f44f 5280 mov.w r2, #4096 ; 0x1000 804fa86: 801a strh r2, [r3, #0] DrawStatus = true; 804fa88: 4b68 ldr r3, [pc, #416] ; (804fc2c ) 804fa8a: 2201 movs r2, #1 804fa8c: 701a strb r2, [r3, #0] Threshold = false; 804fa8e: 4b68 ldr r3, [pc, #416] ; (804fc30 ) 804fa90: 2200 movs r2, #0 804fa92: 701a strb r2, [r3, #0] FIRST = true; 804fa94: 4b67 ldr r3, [pc, #412] ; (804fc34 ) 804fa96: 2201 movs r2, #1 804fa98: 701a strb r2, [r3, #0] 804fa9a: e009 b.n 804fab0 } else { STATUS = AP_SAVING_ERROR; 804fa9c: 4b61 ldr r3, [pc, #388] ; (804fc24 ) 804fa9e: 2208 movs r2, #8 804faa0: 601a str r2, [r3, #0] timerStatus = sec2; 804faa2: 4b61 ldr r3, [pc, #388] ; (804fc28 ) 804faa4: f44f 5280 mov.w r2, #4096 ; 0x1000 804faa8: 801a strh r2, [r3, #0] DrawStatus = true; 804faaa: 4b60 ldr r3, [pc, #384] ; (804fc2c ) 804faac: 2201 movs r2, #1 804faae: 701a strb r2, [r3, #0] } AddToFile = false; 804fab0: 4b5a ldr r3, [pc, #360] ; (804fc1c ) 804fab2: 2200 movs r2, #0 804fab4: 701a strb r2, [r3, #0] { TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; CommentLen++; } } break; 804fab6: f004 b828 b.w 8053b0a if(menupos == _BCKSPC) 804faba: 4b5f ldr r3, [pc, #380] ; (804fc38 ) 804fabc: 781b ldrb r3, [r3, #0] 804fabe: b2db uxtb r3, r3 804fac0: 2b1d cmp r3, #29 804fac2: d116 bne.n 804faf2 CommentLen = strlen(TEMP_Comment); 804fac4: 485d ldr r0, [pc, #372] ; (804fc3c ) 804fac6: f7d0 fc25 bl 8020314 804faca: 4602 mov r2, r0 804facc: 4b5c ldr r3, [pc, #368] ; (804fc40 ) 804face: 601a str r2, [r3, #0] if(CommentLen) 804fad0: 4b5b ldr r3, [pc, #364] ; (804fc40 ) 804fad2: 681b ldr r3, [r3, #0] 804fad4: 2b00 cmp r3, #0 804fad6: f004 8018 beq.w 8053b0a CommentLen--; 804fada: 4b59 ldr r3, [pc, #356] ; (804fc40 ) 804fadc: 681b ldr r3, [r3, #0] 804fade: 3b01 subs r3, #1 804fae0: 4a57 ldr r2, [pc, #348] ; (804fc40 ) 804fae2: 6013 str r3, [r2, #0] TEMP_Comment[CommentLen] = 0; 804fae4: 4b56 ldr r3, [pc, #344] ; (804fc40 ) 804fae6: 681b ldr r3, [r3, #0] 804fae8: 4a54 ldr r2, [pc, #336] ; (804fc3c ) 804faea: 2100 movs r1, #0 804faec: 54d1 strb r1, [r2, r3] break; 804faee: f004 b80c b.w 8053b0a if(menupos == _CANCEL) 804faf2: 4b51 ldr r3, [pc, #324] ; (804fc38 ) 804faf4: 781b ldrb r3, [r3, #0] 804faf6: b2db uxtb r3, r3 804faf8: 2b27 cmp r3, #39 ; 0x27 804fafa: d107 bne.n 804fb0c menu = MAIN; 804fafc: 4b51 ldr r3, [pc, #324] ; (804fc44 ) 804fafe: 2200 movs r2, #0 804fb00: 701a strb r2, [r3, #0] menupos = Record; 804fb02: 4b4d ldr r3, [pc, #308] ; (804fc38 ) 804fb04: 2202 movs r2, #2 804fb06: 701a strb r2, [r3, #0] break; 804fb08: f003 bfff b.w 8053b0a CommentLen = strlen(TEMP_Comment); 804fb0c: 484b ldr r0, [pc, #300] ; (804fc3c ) 804fb0e: f7d0 fc01 bl 8020314 804fb12: 4602 mov r2, r0 804fb14: 4b4a ldr r3, [pc, #296] ; (804fc40 ) 804fb16: 601a str r2, [r3, #0] if(CommentLen < 25) 804fb18: 4b49 ldr r3, [pc, #292] ; (804fc40 ) 804fb1a: 681b ldr r3, [r3, #0] 804fb1c: 2b18 cmp r3, #24 804fb1e: f203 87f4 bhi.w 8053b0a TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; 804fb22: 4b47 ldr r3, [pc, #284] ; (804fc40 ) 804fb24: 681b ldr r3, [r3, #0] 804fb26: 4a44 ldr r2, [pc, #272] ; (804fc38 ) 804fb28: 7812 ldrb r2, [r2, #0] 804fb2a: b2d2 uxtb r2, r2 804fb2c: 4611 mov r1, r2 804fb2e: 4a46 ldr r2, [pc, #280] ; (804fc48 ) 804fb30: 5c51 ldrb r1, [r2, r1] 804fb32: 4a42 ldr r2, [pc, #264] ; (804fc3c ) 804fb34: 54d1 strb r1, [r2, r3] CommentLen++; 804fb36: 4b42 ldr r3, [pc, #264] ; (804fc40 ) 804fb38: 681b ldr r3, [r3, #0] 804fb3a: 3301 adds r3, #1 804fb3c: 4a40 ldr r2, [pc, #256] ; (804fc40 ) 804fb3e: 6013 str r3, [r2, #0] break; 804fb40: f003 bfe3 b.w 8053b0a case INPUT_COMMENT: //TODO if(menupos == _ENTER) 804fb44: 4b3c ldr r3, [pc, #240] ; (804fc38 ) 804fb46: 781b ldrb r3, [r3, #0] 804fb48: b2db uxtb r3, r3 804fb4a: 2b26 cmp r3, #38 ; 0x26 804fb4c: f040 8142 bne.w 804fdd4 { menu = lastmenu; 804fb50: 4b3e ldr r3, [pc, #248] ; (804fc4c ) 804fb52: 781b ldrb r3, [r3, #0] 804fb54: b2da uxtb r2, r3 804fb56: 4b3b ldr r3, [pc, #236] ; (804fc44 ) 804fb58: 701a strb r2, [r3, #0] menupos = Record; 804fb5a: 4b37 ldr r3, [pc, #220] ; (804fc38 ) 804fb5c: 2202 movs r2, #2 804fb5e: 701a strb r2, [r3, #0] memcpy(Comment, TEMP_Comment, sizeof(Comment)); 804fb60: 4a3b ldr r2, [pc, #236] ; (804fc50 ) 804fb62: 4b36 ldr r3, [pc, #216] ; (804fc3c ) 804fb64: 4610 mov r0, r2 804fb66: f103 0420 add.w r4, r3, #32 804fb6a: 4602 mov r2, r0 804fb6c: 4619 mov r1, r3 804fb6e: f8d1 e000 ldr.w lr, [r1] 804fb72: 684e ldr r6, [r1, #4] 804fb74: 688d ldr r5, [r1, #8] 804fb76: 68c9 ldr r1, [r1, #12] 804fb78: f8c2 e000 str.w lr, [r2] 804fb7c: 6056 str r6, [r2, #4] 804fb7e: 6095 str r5, [r2, #8] 804fb80: 60d1 str r1, [r2, #12] 804fb82: 3310 adds r3, #16 804fb84: 3010 adds r0, #16 804fb86: 42a3 cmp r3, r4 804fb88: d1ef bne.n 804fb6a 804fb8a: 4602 mov r2, r0 804fb8c: 6819 ldr r1, [r3, #0] 804fb8e: 685b ldr r3, [r3, #4] 804fb90: 6011 str r1, [r2, #0] 804fb92: 6053 str r3, [r2, #4] if(pardata.IVS[ACC] == PEAK) 804fb94: 4b20 ldr r3, [pc, #128] ; (804fc18 ) 804fb96: 789b ldrb r3, [r3, #2] 804fb98: b2db uxtb r3, r3 804fb9a: 2b00 cmp r3, #0 804fb9c: d104 bne.n 804fba8 FileData.Aivs = 'P'; 804fb9e: 4b2d ldr r3, [pc, #180] ; (804fc54 ) 804fba0: 2250 movs r2, #80 ; 0x50 804fba2: f883 202c strb.w r2, [r3, #44] ; 0x2c 804fba6: e026 b.n 804fbf6 else if(pardata.IVS[ACC] == RMS) 804fba8: 4b1b ldr r3, [pc, #108] ; (804fc18 ) 804fbaa: 789b ldrb r3, [r3, #2] 804fbac: b2db uxtb r3, r3 804fbae: 2b01 cmp r3, #1 804fbb0: d104 bne.n 804fbbc FileData.Aivs = 'S'; 804fbb2: 4b28 ldr r3, [pc, #160] ; (804fc54 ) 804fbb4: 2253 movs r2, #83 ; 0x53 804fbb6: f883 202c strb.w r2, [r3, #44] ; 0x2c 804fbba: e01c b.n 804fbf6 else if(pardata.IVS[ACC] == PEAK_TO_PEAK) 804fbbc: 4b16 ldr r3, [pc, #88] ; (804fc18 ) 804fbbe: 789b ldrb r3, [r3, #2] 804fbc0: b2db uxtb r3, r3 804fbc2: 2b02 cmp r3, #2 804fbc4: d104 bne.n 804fbd0 FileData.Aivs = 'R'; 804fbc6: 4b23 ldr r3, [pc, #140] ; (804fc54 ) 804fbc8: 2252 movs r2, #82 ; 0x52 804fbca: f883 202c strb.w r2, [r3, #44] ; 0x2c 804fbce: e012 b.n 804fbf6 else if(pardata.IVS[ACC] == PEAK_FACTOR) 804fbd0: 4b11 ldr r3, [pc, #68] ; (804fc18 ) 804fbd2: 789b ldrb r3, [r3, #2] 804fbd4: b2db uxtb r3, r3 804fbd6: 2b03 cmp r3, #3 804fbd8: d104 bne.n 804fbe4 FileData.Aivs = 'F'; 804fbda: 4b1e ldr r3, [pc, #120] ; (804fc54 ) 804fbdc: 2246 movs r2, #70 ; 0x46 804fbde: f883 202c strb.w r2, [r3, #44] ; 0x2c 804fbe2: e008 b.n 804fbf6 else if(pardata.IVS[ACC] == EXCESS) 804fbe4: 4b0c ldr r3, [pc, #48] ; (804fc18 ) 804fbe6: 789b ldrb r3, [r3, #2] 804fbe8: b2db uxtb r3, r3 804fbea: 2b04 cmp r3, #4 804fbec: d103 bne.n 804fbf6 FileData.Aivs = 'E'; 804fbee: 4b19 ldr r3, [pc, #100] ; (804fc54 ) 804fbf0: 2245 movs r2, #69 ; 0x45 804fbf2: f883 202c strb.w r2, [r3, #44] ; 0x2c if(pardata.IVS[VEL] == PEAK) 804fbf6: 4b08 ldr r3, [pc, #32] ; (804fc18 ) 804fbf8: 78db ldrb r3, [r3, #3] 804fbfa: b2db uxtb r3, r3 804fbfc: 2b00 cmp r3, #0 804fbfe: d12b bne.n 804fc58 FileData.Vivs = 'P'; 804fc00: 4b14 ldr r3, [pc, #80] ; (804fc54 ) 804fc02: 2250 movs r2, #80 ; 0x50 804fc04: f883 202d strb.w r2, [r3, #45] ; 0x2d 804fc08: e04d b.n 804fca6 804fc0a: bf00 nop 804fc0c: 2002263c .word 0x2002263c 804fc10: 20026918 .word 0x20026918 804fc14: 20021055 .word 0x20021055 804fc18: 20023ea8 .word 0x20023ea8 804fc1c: 20020de8 .word 0x20020de8 804fc20: 20020e9c .word 0x20020e9c 804fc24: 20020dec .word 0x20020dec 804fc28: 200216d4 .word 0x200216d4 804fc2c: 20020df2 .word 0x20020df2 804fc30: 20020dd1 .word 0x20020dd1 804fc34: 20020dd2 .word 0x20020dd2 804fc38: 20020070 .word 0x20020070 804fc3c: 20025c88 .word 0x20025c88 804fc40: 20020e38 .word 0x20020e38 804fc44: 20020fbd .word 0x20020fbd 804fc48: 080f2b08 .word 0x080f2b08 804fc4c: 20020fbe .word 0x20020fbe 804fc50: 20022698 .word 0x20022698 804fc54: 200229cc .word 0x200229cc else if(pardata.IVS[VEL] == RMS) 804fc58: 4b81 ldr r3, [pc, #516] ; (804fe60 ) 804fc5a: 78db ldrb r3, [r3, #3] 804fc5c: b2db uxtb r3, r3 804fc5e: 2b01 cmp r3, #1 804fc60: d104 bne.n 804fc6c FileData.Vivs = 'S'; 804fc62: 4b80 ldr r3, [pc, #512] ; (804fe64 ) 804fc64: 2253 movs r2, #83 ; 0x53 804fc66: f883 202d strb.w r2, [r3, #45] ; 0x2d 804fc6a: e01c b.n 804fca6 else if(pardata.IVS[VEL] == PEAK_TO_PEAK) 804fc6c: 4b7c ldr r3, [pc, #496] ; (804fe60 ) 804fc6e: 78db ldrb r3, [r3, #3] 804fc70: b2db uxtb r3, r3 804fc72: 2b02 cmp r3, #2 804fc74: d104 bne.n 804fc80 FileData.Vivs = 'R'; 804fc76: 4b7b ldr r3, [pc, #492] ; (804fe64 ) 804fc78: 2252 movs r2, #82 ; 0x52 804fc7a: f883 202d strb.w r2, [r3, #45] ; 0x2d 804fc7e: e012 b.n 804fca6 else if(pardata.IVS[VEL] == PEAK_FACTOR) 804fc80: 4b77 ldr r3, [pc, #476] ; (804fe60 ) 804fc82: 78db ldrb r3, [r3, #3] 804fc84: b2db uxtb r3, r3 804fc86: 2b03 cmp r3, #3 804fc88: d104 bne.n 804fc94 FileData.Vivs = 'F'; 804fc8a: 4b76 ldr r3, [pc, #472] ; (804fe64 ) 804fc8c: 2246 movs r2, #70 ; 0x46 804fc8e: f883 202d strb.w r2, [r3, #45] ; 0x2d 804fc92: e008 b.n 804fca6 else if(pardata.IVS[VEL] == EXCESS) 804fc94: 4b72 ldr r3, [pc, #456] ; (804fe60 ) 804fc96: 78db ldrb r3, [r3, #3] 804fc98: b2db uxtb r3, r3 804fc9a: 2b04 cmp r3, #4 804fc9c: d103 bne.n 804fca6 FileData.Vivs = 'E'; 804fc9e: 4b71 ldr r3, [pc, #452] ; (804fe64 ) 804fca0: 2245 movs r2, #69 ; 0x45 804fca2: f883 202d strb.w r2, [r3, #45] ; 0x2d if(pardata.IVS[DIS] == PEAK) 804fca6: 4b6e ldr r3, [pc, #440] ; (804fe60 ) 804fca8: 791b ldrb r3, [r3, #4] 804fcaa: b2db uxtb r3, r3 804fcac: 2b00 cmp r3, #0 804fcae: d104 bne.n 804fcba FileData.Sivs = 'P'; 804fcb0: 4b6c ldr r3, [pc, #432] ; (804fe64 ) 804fcb2: 2250 movs r2, #80 ; 0x50 804fcb4: f883 202e strb.w r2, [r3, #46] ; 0x2e 804fcb8: e026 b.n 804fd08 else if(pardata.IVS[DIS] == RMS) 804fcba: 4b69 ldr r3, [pc, #420] ; (804fe60 ) 804fcbc: 791b ldrb r3, [r3, #4] 804fcbe: b2db uxtb r3, r3 804fcc0: 2b01 cmp r3, #1 804fcc2: d104 bne.n 804fcce FileData.Sivs = 'S'; 804fcc4: 4b67 ldr r3, [pc, #412] ; (804fe64 ) 804fcc6: 2253 movs r2, #83 ; 0x53 804fcc8: f883 202e strb.w r2, [r3, #46] ; 0x2e 804fccc: e01c b.n 804fd08 else if(pardata.IVS[DIS] == PEAK_TO_PEAK) 804fcce: 4b64 ldr r3, [pc, #400] ; (804fe60 ) 804fcd0: 791b ldrb r3, [r3, #4] 804fcd2: b2db uxtb r3, r3 804fcd4: 2b02 cmp r3, #2 804fcd6: d104 bne.n 804fce2 FileData.Sivs = 'R'; 804fcd8: 4b62 ldr r3, [pc, #392] ; (804fe64 ) 804fcda: 2252 movs r2, #82 ; 0x52 804fcdc: f883 202e strb.w r2, [r3, #46] ; 0x2e 804fce0: e012 b.n 804fd08 else if(pardata.IVS[DIS] == PEAK_FACTOR) 804fce2: 4b5f ldr r3, [pc, #380] ; (804fe60 ) 804fce4: 791b ldrb r3, [r3, #4] 804fce6: b2db uxtb r3, r3 804fce8: 2b03 cmp r3, #3 804fcea: d104 bne.n 804fcf6 FileData.Sivs = 'F'; 804fcec: 4b5d ldr r3, [pc, #372] ; (804fe64 ) 804fcee: 2246 movs r2, #70 ; 0x46 804fcf0: f883 202e strb.w r2, [r3, #46] ; 0x2e 804fcf4: e008 b.n 804fd08 else if(pardata.IVS[DIS] == EXCESS) 804fcf6: 4b5a ldr r3, [pc, #360] ; (804fe60 ) 804fcf8: 791b ldrb r3, [r3, #4] 804fcfa: b2db uxtb r3, r3 804fcfc: 2b04 cmp r3, #4 804fcfe: d103 bne.n 804fd08 FileData.Sivs = 'E'; 804fd00: 4b58 ldr r3, [pc, #352] ; (804fe64 ) 804fd02: 2245 movs r2, #69 ; 0x45 804fd04: f883 202e strb.w r2, [r3, #46] ; 0x2e FileData.Aval.fl = skz[ACC]; 804fd08: 4b57 ldr r3, [pc, #348] ; (804fe68 ) 804fd0a: 681b ldr r3, [r3, #0] 804fd0c: 4a55 ldr r2, [pc, #340] ; (804fe64 ) 804fd0e: 6013 str r3, [r2, #0] if(pardata.HP < 2.0f) 804fd10: 4b53 ldr r3, [pc, #332] ; (804fe60 ) 804fd12: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804fd16: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804fd1a: eef4 7ac7 vcmpe.f32 s15, s14 804fd1e: eef1 fa10 vmrs APSR_nzcv, fpscr 804fd22: d505 bpl.n 804fd30 { skz[VEL] = -1.0f; 804fd24: 4b50 ldr r3, [pc, #320] ; (804fe68 ) 804fd26: 4a51 ldr r2, [pc, #324] ; (804fe6c ) 804fd28: 605a str r2, [r3, #4] skz[DIS] = -1.0f; 804fd2a: 4b4f ldr r3, [pc, #316] ; (804fe68 ) 804fd2c: 4a4f ldr r2, [pc, #316] ; (804fe6c ) 804fd2e: 609a str r2, [r3, #8] } FileData.Vval.fl = skz[VEL]; 804fd30: 4b4d ldr r3, [pc, #308] ; (804fe68 ) 804fd32: 685b ldr r3, [r3, #4] 804fd34: 4a4b ldr r2, [pc, #300] ; (804fe64 ) 804fd36: 6053 str r3, [r2, #4] FileData.Sval.fl = skz[DIS]; 804fd38: 4b4b ldr r3, [pc, #300] ; (804fe68 ) 804fd3a: 689b ldr r3, [r3, #8] 804fd3c: 4a49 ldr r2, [pc, #292] ; (804fe64 ) 804fd3e: 6093 str r3, [r2, #8] if(menu == MAIN) 804fd40: 4b4b ldr r3, [pc, #300] ; (804fe70 ) 804fd42: 781b ldrb r3, [r3, #0] 804fd44: b2db uxtb r3, r3 804fd46: 2b00 cmp r3, #0 804fd48: d103 bne.n 804fd52 FileData.Fval.fl = -1.0f; 804fd4a: 4b46 ldr r3, [pc, #280] ; (804fe64 ) 804fd4c: 4a47 ldr r2, [pc, #284] ; (804fe6c ) 804fd4e: 60da str r2, [r3, #12] 804fd50: e003 b.n 804fd5a else FileData.Fval.fl = FreqFran; 804fd52: 4b48 ldr r3, [pc, #288] ; (804fe74 ) 804fd54: 681b ldr r3, [r3, #0] 804fd56: 4a43 ldr r2, [pc, #268] ; (804fe64 ) 804fd58: 60d3 str r3, [r2, #12] FileData.Time = RTC_TimeStruct; 804fd5a: 4b42 ldr r3, [pc, #264] ; (804fe64 ) 804fd5c: 4a46 ldr r2, [pc, #280] ; (804fe78 ) 804fd5e: f103 0410 add.w r4, r3, #16 804fd62: 4615 mov r5, r2 804fd64: cd0f ldmia r5!, {r0, r1, r2, r3} 804fd66: c40f stmia r4!, {r0, r1, r2, r3} 804fd68: e895 0003 ldmia.w r5, {r0, r1} 804fd6c: e884 0003 stmia.w r4, {r0, r1} FileData.Date = RTC_DateStruct; 804fd70: 4b3c ldr r3, [pc, #240] ; (804fe64 ) 804fd72: 4a42 ldr r2, [pc, #264] ; (804fe7c ) 804fd74: 3328 adds r3, #40 ; 0x28 804fd76: 6810 ldr r0, [r2, #0] 804fd78: 6018 str r0, [r3, #0] AddToFile = true; 804fd7a: 4b41 ldr r3, [pc, #260] ; (804fe80 ) 804fd7c: 2201 movs r2, #1 804fd7e: 701a strb r2, [r3, #0] //************************************************************************************ result = WriteFilePTM(MeasFileName); 804fd80: 4840 ldr r0, [pc, #256] ; (804fe84 ) 804fd82: f7d9 fa2d bl 80291e0 804fd86: 4603 mov r3, r0 804fd88: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fd8c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fd90: 2b00 cmp r3, #0 804fd92: d110 bne.n 804fdb6 { STATUS = AP_SAVING_SUCCESS; 804fd94: 4b3c ldr r3, [pc, #240] ; (804fe88 ) 804fd96: 2207 movs r2, #7 804fd98: 601a str r2, [r3, #0] timerStatus = sec2; 804fd9a: 4b3c ldr r3, [pc, #240] ; (804fe8c ) 804fd9c: f44f 5280 mov.w r2, #4096 ; 0x1000 804fda0: 801a strh r2, [r3, #0] DrawStatus = true; 804fda2: 4b3b ldr r3, [pc, #236] ; (804fe90 ) 804fda4: 2201 movs r2, #1 804fda6: 701a strb r2, [r3, #0] Threshold = false; 804fda8: 4b3a ldr r3, [pc, #232] ; (804fe94 ) 804fdaa: 2200 movs r2, #0 804fdac: 701a strb r2, [r3, #0] FIRST = true; 804fdae: 4b3a ldr r3, [pc, #232] ; (804fe98 ) 804fdb0: 2201 movs r2, #1 804fdb2: 701a strb r2, [r3, #0] 804fdb4: e009 b.n 804fdca } else { STATUS = AP_SAVING_ERROR; 804fdb6: 4b34 ldr r3, [pc, #208] ; (804fe88 ) 804fdb8: 2208 movs r2, #8 804fdba: 601a str r2, [r3, #0] timerStatus = sec2; 804fdbc: 4b33 ldr r3, [pc, #204] ; (804fe8c ) 804fdbe: f44f 5280 mov.w r2, #4096 ; 0x1000 804fdc2: 801a strh r2, [r3, #0] DrawStatus = true; 804fdc4: 4b32 ldr r3, [pc, #200] ; (804fe90 ) 804fdc6: 2201 movs r2, #1 804fdc8: 701a strb r2, [r3, #0] } AddToFile = false; 804fdca: 4b2d ldr r3, [pc, #180] ; (804fe80 ) 804fdcc: 2200 movs r2, #0 804fdce: 701a strb r2, [r3, #0] { TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; CommentLen++; } } break; 804fdd0: f003 be9d b.w 8053b0e if(menupos == _BCKSPC) 804fdd4: 4b31 ldr r3, [pc, #196] ; (804fe9c ) 804fdd6: 781b ldrb r3, [r3, #0] 804fdd8: b2db uxtb r3, r3 804fdda: 2b1d cmp r3, #29 804fddc: d116 bne.n 804fe0c CommentLen = strlen(TEMP_Comment); 804fdde: 4830 ldr r0, [pc, #192] ; (804fea0 ) 804fde0: f7d0 fa98 bl 8020314 804fde4: 4602 mov r2, r0 804fde6: 4b2f ldr r3, [pc, #188] ; (804fea4 ) 804fde8: 601a str r2, [r3, #0] if(CommentLen) 804fdea: 4b2e ldr r3, [pc, #184] ; (804fea4 ) 804fdec: 681b ldr r3, [r3, #0] 804fdee: 2b00 cmp r3, #0 804fdf0: f003 868d beq.w 8053b0e CommentLen--; 804fdf4: 4b2b ldr r3, [pc, #172] ; (804fea4 ) 804fdf6: 681b ldr r3, [r3, #0] 804fdf8: 3b01 subs r3, #1 804fdfa: 4a2a ldr r2, [pc, #168] ; (804fea4 ) 804fdfc: 6013 str r3, [r2, #0] TEMP_Comment[CommentLen] = 0; 804fdfe: 4b29 ldr r3, [pc, #164] ; (804fea4 ) 804fe00: 681b ldr r3, [r3, #0] 804fe02: 4a27 ldr r2, [pc, #156] ; (804fea0 ) 804fe04: 2100 movs r1, #0 804fe06: 54d1 strb r1, [r2, r3] break; 804fe08: f003 be81 b.w 8053b0e if(menupos == _CANCEL) 804fe0c: 4b23 ldr r3, [pc, #140] ; (804fe9c ) 804fe0e: 781b ldrb r3, [r3, #0] 804fe10: b2db uxtb r3, r3 804fe12: 2b27 cmp r3, #39 ; 0x27 804fe14: d107 bne.n 804fe26 menu = MAIN; 804fe16: 4b16 ldr r3, [pc, #88] ; (804fe70 ) 804fe18: 2200 movs r2, #0 804fe1a: 701a strb r2, [r3, #0] menupos = Record; 804fe1c: 4b1f ldr r3, [pc, #124] ; (804fe9c ) 804fe1e: 2202 movs r2, #2 804fe20: 701a strb r2, [r3, #0] break; 804fe22: f003 be74 b.w 8053b0e CommentLen = strlen(TEMP_Comment); 804fe26: 481e ldr r0, [pc, #120] ; (804fea0 ) 804fe28: f7d0 fa74 bl 8020314 804fe2c: 4602 mov r2, r0 804fe2e: 4b1d ldr r3, [pc, #116] ; (804fea4 ) 804fe30: 601a str r2, [r3, #0] if(CommentLen < 25) 804fe32: 4b1c ldr r3, [pc, #112] ; (804fea4 ) 804fe34: 681b ldr r3, [r3, #0] 804fe36: 2b18 cmp r3, #24 804fe38: f203 8669 bhi.w 8053b0e TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; 804fe3c: 4b19 ldr r3, [pc, #100] ; (804fea4 ) 804fe3e: 681b ldr r3, [r3, #0] 804fe40: 4a16 ldr r2, [pc, #88] ; (804fe9c ) 804fe42: 7812 ldrb r2, [r2, #0] 804fe44: b2d2 uxtb r2, r2 804fe46: 4611 mov r1, r2 804fe48: 4a17 ldr r2, [pc, #92] ; (804fea8 ) 804fe4a: 5c51 ldrb r1, [r2, r1] 804fe4c: 4a14 ldr r2, [pc, #80] ; (804fea0 ) 804fe4e: 54d1 strb r1, [r2, r3] CommentLen++; 804fe50: 4b14 ldr r3, [pc, #80] ; (804fea4 ) 804fe52: 681b ldr r3, [r3, #0] 804fe54: 3301 adds r3, #1 804fe56: 4a13 ldr r2, [pc, #76] ; (804fea4 ) 804fe58: 6013 str r3, [r2, #0] break; 804fe5a: f003 be58 b.w 8053b0e 804fe5e: bf00 nop 804fe60: 20023ea8 .word 0x20023ea8 804fe64: 200229cc .word 0x200229cc 804fe68: 20021588 .word 0x20021588 804fe6c: bf800000 .word 0xbf800000 804fe70: 20020fbd .word 0x20020fbd 804fe74: 200215ac .word 0x200215ac 804fe78: 20025cb0 .word 0x20025cb0 804fe7c: 20025d34 .word 0x20025d34 804fe80: 20020de8 .word 0x20020de8 804fe84: 20020e78 .word 0x20020e78 804fe88: 20020dec .word 0x20020dec 804fe8c: 200216d4 .word 0x200216d4 804fe90: 20020df2 .word 0x20020df2 804fe94: 20020dd1 .word 0x20020dd1 804fe98: 20020dd2 .word 0x20020dd2 804fe9c: 20020070 .word 0x20020070 804fea0: 20025c88 .word 0x20025c88 804fea4: 20020e38 .word 0x20020e38 804fea8: 080f2b08 .word 0x080f2b08 case INPUT_NAME_PTM: if(menupos == _ENTER) 804feac: 4bbb ldr r3, [pc, #748] ; (805019c ) 804feae: 781b ldrb r3, [r3, #0] 804feb0: b2db uxtb r3, r3 804feb2: 2b26 cmp r3, #38 ; 0x26 804feb4: f040 80a3 bne.w 804fffe { MeasFileNameLen = strlen(TEMP_MeasFileName); 804feb8: 48b9 ldr r0, [pc, #740] ; (80501a0 ) 804feba: f7d0 fa2b bl 8020314 804febe: 4602 mov r2, r0 804fec0: 4bb8 ldr r3, [pc, #736] ; (80501a4 ) 804fec2: 601a str r2, [r3, #0] if(MeasFileNameLen > 0) 804fec4: 4bb7 ldr r3, [pc, #732] ; (80501a4 ) 804fec6: 681b ldr r3, [r3, #0] 804fec8: 2b00 cmp r3, #0 804feca: f003 8622 beq.w 8053b12 { strcpy(string, TEMP_MeasFileName); 804fece: f107 0344 add.w r3, r7, #68 ; 0x44 804fed2: 49b3 ldr r1, [pc, #716] ; (80501a0 ) 804fed4: 4618 mov r0, r3 804fed6: f081 fb80 bl 80d15da string[MeasFileNameLen] = '.'; 804feda: 4bb2 ldr r3, [pc, #712] ; (80501a4 ) 804fedc: 681b ldr r3, [r3, #0] 804fede: f107 02c8 add.w r2, r7, #200 ; 0xc8 804fee2: 4413 add r3, r2 804fee4: 222e movs r2, #46 ; 0x2e 804fee6: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 1] = 'P'; 804feea: 4bae ldr r3, [pc, #696] ; (80501a4 ) 804feec: 681b ldr r3, [r3, #0] 804feee: 3301 adds r3, #1 804fef0: f107 02c8 add.w r2, r7, #200 ; 0xc8 804fef4: 4413 add r3, r2 804fef6: 2250 movs r2, #80 ; 0x50 804fef8: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 2] = 'T'; 804fefc: 4ba9 ldr r3, [pc, #676] ; (80501a4 ) 804fefe: 681b ldr r3, [r3, #0] 804ff00: 3302 adds r3, #2 804ff02: f107 02c8 add.w r2, r7, #200 ; 0xc8 804ff06: 4413 add r3, r2 804ff08: 2254 movs r2, #84 ; 0x54 804ff0a: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 3] = 'M'; 804ff0e: 4ba5 ldr r3, [pc, #660] ; (80501a4 ) 804ff10: 681b ldr r3, [r3, #0] 804ff12: 3303 adds r3, #3 804ff14: f107 02c8 add.w r2, r7, #200 ; 0xc8 804ff18: 4413 add r3, r2 804ff1a: 224d movs r2, #77 ; 0x4d 804ff1c: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 4] = '\0'; 804ff20: 4ba0 ldr r3, [pc, #640] ; (80501a4 ) 804ff22: 681b ldr r3, [r3, #0] 804ff24: 3304 adds r3, #4 804ff26: f107 02c8 add.w r2, r7, #200 ; 0xc8 804ff2a: 4413 add r3, r2 804ff2c: 2200 movs r2, #0 804ff2e: f803 2c84 strb.w r2, [r3, #-132] result = CheckExistPTM(string); 804ff32: f107 0344 add.w r3, r7, #68 ; 0x44 804ff36: 4618 mov r0, r3 804ff38: f7da fe28 bl 802ab8c 804ff3c: 4603 mov r3, r0 804ff3e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_NO_FILE) 804ff42: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ff46: 2b04 cmp r3, #4 804ff48: d137 bne.n 804ffba { result = CreateFilePTM(string); 804ff4a: f107 0344 add.w r3, r7, #68 ; 0x44 804ff4e: 4618 mov r0, r3 804ff50: f7d5 f898 bl 8025084 804ff54: 4603 mov r3, r0 804ff56: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ff5a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ff5e: 2b00 cmp r3, #0 804ff60: d119 bne.n 804ff96 { if(strcmp(MeasFileName, string) != 0) 804ff62: f107 0344 add.w r3, r7, #68 ; 0x44 804ff66: 4619 mov r1, r3 804ff68: 488f ldr r0, [pc, #572] ; (80501a8 ) 804ff6a: f7d0 f9c9 bl 8020300 804ff6e: 4603 mov r3, r0 804ff70: 2b00 cmp r3, #0 804ff72: d002 beq.n 804ff7a DrawSavedData = false; 804ff74: 4b8d ldr r3, [pc, #564] ; (80501ac ) 804ff76: 2200 movs r2, #0 804ff78: 701a strb r2, [r3, #0] strcpy(MeasFileName, string); 804ff7a: f107 0344 add.w r3, r7, #68 ; 0x44 804ff7e: 4619 mov r1, r3 804ff80: 4889 ldr r0, [pc, #548] ; (80501a8 ) 804ff82: f081 fb2a bl 80d15da menu = PARAM_VIB; 804ff86: 4b8a ldr r3, [pc, #552] ; (80501b0 ) 804ff88: 2206 movs r2, #6 804ff8a: 701a strb r2, [r3, #0] menupos = SaveToFile; 804ff8c: 4b83 ldr r3, [pc, #524] ; (805019c ) 804ff8e: 220a movs r2, #10 804ff90: 701a strb r2, [r3, #0] { TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; MeasFileNameLen++; } } break; 804ff92: f003 bdbe b.w 8053b12 timerStatus = sec2; 804ff96: 4b87 ldr r3, [pc, #540] ; (80501b4 ) 804ff98: f44f 5280 mov.w r2, #4096 ; 0x1000 804ff9c: 801a strh r2, [r3, #0] DrawStatus = true; 804ff9e: 4b86 ldr r3, [pc, #536] ; (80501b8 ) 804ffa0: 2201 movs r2, #1 804ffa2: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804ffa4: 4b85 ldr r3, [pc, #532] ; (80501bc ) 804ffa6: 220b movs r2, #11 804ffa8: 601a str r2, [r3, #0] menu = PARAM_VIB; 804ffaa: 4b81 ldr r3, [pc, #516] ; (80501b0 ) 804ffac: 2206 movs r2, #6 804ffae: 701a strb r2, [r3, #0] menupos = SaveToFile; 804ffb0: 4b7a ldr r3, [pc, #488] ; (805019c ) 804ffb2: 220a movs r2, #10 804ffb4: 701a strb r2, [r3, #0] break; 804ffb6: f003 bdac b.w 8053b12 if(result == FR_EXIST) 804ffba: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ffbe: 2b08 cmp r3, #8 804ffc0: d10b bne.n 804ffda timerStatus = sec2; 804ffc2: 4b7c ldr r3, [pc, #496] ; (80501b4 ) 804ffc4: f44f 5280 mov.w r2, #4096 ; 0x1000 804ffc8: 801a strh r2, [r3, #0] DrawStatus = true; 804ffca: 4b7b ldr r3, [pc, #492] ; (80501b8 ) 804ffcc: 2201 movs r2, #1 804ffce: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 804ffd0: 4b7a ldr r3, [pc, #488] ; (80501bc ) 804ffd2: 2206 movs r2, #6 804ffd4: 601a str r2, [r3, #0] break; 804ffd6: f003 bd9c b.w 8053b12 timerStatus = sec2; 804ffda: 4b76 ldr r3, [pc, #472] ; (80501b4 ) 804ffdc: f44f 5280 mov.w r2, #4096 ; 0x1000 804ffe0: 801a strh r2, [r3, #0] DrawStatus = true; 804ffe2: 4b75 ldr r3, [pc, #468] ; (80501b8 ) 804ffe4: 2201 movs r2, #1 804ffe6: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804ffe8: 4b74 ldr r3, [pc, #464] ; (80501bc ) 804ffea: 220b movs r2, #11 804ffec: 601a str r2, [r3, #0] menu = PARAM_VIB; 804ffee: 4b70 ldr r3, [pc, #448] ; (80501b0 ) 804fff0: 2206 movs r2, #6 804fff2: 701a strb r2, [r3, #0] menupos = SaveToFile; 804fff4: 4b69 ldr r3, [pc, #420] ; (805019c ) 804fff6: 220a movs r2, #10 804fff8: 701a strb r2, [r3, #0] break; 804fffa: f003 bd8a b.w 8053b12 if(menupos == _BCKSPC) 804fffe: 4b67 ldr r3, [pc, #412] ; (805019c ) 8050000: 781b ldrb r3, [r3, #0] 8050002: b2db uxtb r3, r3 8050004: 2b1d cmp r3, #29 8050006: d116 bne.n 8050036 MeasFileNameLen = strlen(TEMP_MeasFileName); 8050008: 4865 ldr r0, [pc, #404] ; (80501a0 ) 805000a: f7d0 f983 bl 8020314 805000e: 4602 mov r2, r0 8050010: 4b64 ldr r3, [pc, #400] ; (80501a4 ) 8050012: 601a str r2, [r3, #0] if(MeasFileNameLen) 8050014: 4b63 ldr r3, [pc, #396] ; (80501a4 ) 8050016: 681b ldr r3, [r3, #0] 8050018: 2b00 cmp r3, #0 805001a: f003 857a beq.w 8053b12 MeasFileNameLen--; 805001e: 4b61 ldr r3, [pc, #388] ; (80501a4 ) 8050020: 681b ldr r3, [r3, #0] 8050022: 3b01 subs r3, #1 8050024: 4a5f ldr r2, [pc, #380] ; (80501a4 ) 8050026: 6013 str r3, [r2, #0] TEMP_MeasFileName[MeasFileNameLen] = 0; 8050028: 4b5e ldr r3, [pc, #376] ; (80501a4 ) 805002a: 681b ldr r3, [r3, #0] 805002c: 4a5c ldr r2, [pc, #368] ; (80501a0 ) 805002e: 2100 movs r1, #0 8050030: 54d1 strb r1, [r2, r3] break; 8050032: f003 bd6e b.w 8053b12 if(menupos == _CANCEL) 8050036: 4b59 ldr r3, [pc, #356] ; (805019c ) 8050038: 781b ldrb r3, [r3, #0] 805003a: b2db uxtb r3, r3 805003c: 2b27 cmp r3, #39 ; 0x27 805003e: d10f bne.n 8050060 MeasFileNameLen = strlen(MeasFileName); 8050040: 4859 ldr r0, [pc, #356] ; (80501a8 ) 8050042: f7d0 f967 bl 8020314 8050046: 4602 mov r2, r0 8050048: 4b56 ldr r3, [pc, #344] ; (80501a4 ) 805004a: 601a str r2, [r3, #0] menu = EXPLORER; 805004c: 4b58 ldr r3, [pc, #352] ; (80501b0 ) 805004e: 2229 movs r2, #41 ; 0x29 8050050: 701a strb r2, [r3, #0] menupos = lastmenupos; 8050052: 4b5b ldr r3, [pc, #364] ; (80501c0 ) 8050054: 781b ldrb r3, [r3, #0] 8050056: b2da uxtb r2, r3 8050058: 4b50 ldr r3, [pc, #320] ; (805019c ) 805005a: 701a strb r2, [r3, #0] break; 805005c: f003 bd59 b.w 8053b12 MeasFileNameLen = strlen(TEMP_MeasFileName); 8050060: 484f ldr r0, [pc, #316] ; (80501a0 ) 8050062: f7d0 f957 bl 8020314 8050066: 4602 mov r2, r0 8050068: 4b4e ldr r3, [pc, #312] ; (80501a4 ) 805006a: 601a str r2, [r3, #0] if(MeasFileNameLen < MAX_NAME) 805006c: 4b4d ldr r3, [pc, #308] ; (80501a4 ) 805006e: 681b ldr r3, [r3, #0] 8050070: 2b18 cmp r3, #24 8050072: f203 854e bhi.w 8053b12 TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; 8050076: 4b4b ldr r3, [pc, #300] ; (80501a4 ) 8050078: 681b ldr r3, [r3, #0] 805007a: 4a48 ldr r2, [pc, #288] ; (805019c ) 805007c: 7812 ldrb r2, [r2, #0] 805007e: b2d2 uxtb r2, r2 8050080: 4611 mov r1, r2 8050082: 4a50 ldr r2, [pc, #320] ; (80501c4 ) 8050084: 5c51 ldrb r1, [r2, r1] 8050086: 4a46 ldr r2, [pc, #280] ; (80501a0 ) 8050088: 54d1 strb r1, [r2, r3] MeasFileNameLen++; 805008a: 4b46 ldr r3, [pc, #280] ; (80501a4 ) 805008c: 681b ldr r3, [r3, #0] 805008e: 3301 adds r3, #1 8050090: 4a44 ldr r2, [pc, #272] ; (80501a4 ) 8050092: 6013 str r3, [r2, #0] break; 8050094: f003 bd3d b.w 8053b12 case INPUT_NAME: if(menupos == _ENTER) 8050098: 4b40 ldr r3, [pc, #256] ; (805019c ) 805009a: 781b ldrb r3, [r3, #0] 805009c: b2db uxtb r3, r3 805009e: 2b26 cmp r3, #38 ; 0x26 80500a0: d160 bne.n 8050164 { NameLen = strlen(TEMP_Name); 80500a2: 4849 ldr r0, [pc, #292] ; (80501c8 ) 80500a4: f7d0 f936 bl 8020314 80500a8: 4602 mov r2, r0 80500aa: 4b48 ldr r3, [pc, #288] ; (80501cc ) 80500ac: 601a str r2, [r3, #0] if(NameLen > 0) 80500ae: 4b47 ldr r3, [pc, #284] ; (80501cc ) 80500b0: 681b ldr r3, [r3, #0] 80500b2: 2b00 cmp r3, #0 80500b4: f003 852f beq.w 8053b16 { strcpy(string, TEMP_Name); 80500b8: f107 0344 add.w r3, r7, #68 ; 0x44 80500bc: 4942 ldr r1, [pc, #264] ; (80501c8 ) 80500be: 4618 mov r0, r3 80500c0: f081 fa8b bl 80d15da for(i = 0; i < 8; i++) 80500c4: 2300 movs r3, #0 80500c6: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80500ca: e01b b.n 8050104 { k = strcmp(string, (void *) &pardata.DIAGN_NAME[i][0]); 80500cc: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80500d0: 4613 mov r3, r2 80500d2: 009b lsls r3, r3, #2 80500d4: 4413 add r3, r2 80500d6: 00db lsls r3, r3, #3 80500d8: 33d8 adds r3, #216 ; 0xd8 80500da: 4a3d ldr r2, [pc, #244] ; (80501d0 ) 80500dc: 4413 add r3, r2 80500de: 1d1a adds r2, r3, #4 80500e0: f107 0344 add.w r3, r7, #68 ; 0x44 80500e4: 4611 mov r1, r2 80500e6: 4618 mov r0, r3 80500e8: f7d0 f90a bl 8020300 80500ec: 4603 mov r3, r0 80500ee: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(!k) 80500f2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80500f6: 2b00 cmp r3, #0 80500f8: d009 beq.n 805010e for(i = 0; i < 8; i++) 80500fa: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80500fe: 3301 adds r3, #1 8050100: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8050104: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8050108: 2b07 cmp r3, #7 805010a: d9df bls.n 80500cc 805010c: e000 b.n 8050110 break; 805010e: bf00 nop } if(k) 8050110: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050114: 2b00 cmp r3, #0 8050116: d019 beq.n 805014c { strcpy((void *) &pardata.DIAGN_NAME[CURR_POINT][0], string); 8050118: 4b2e ldr r3, [pc, #184] ; (80501d4 ) 805011a: 781b ldrb r3, [r3, #0] 805011c: b2db uxtb r3, r3 805011e: 461a mov r2, r3 8050120: 4613 mov r3, r2 8050122: 009b lsls r3, r3, #2 8050124: 4413 add r3, r2 8050126: 00db lsls r3, r3, #3 8050128: 33d8 adds r3, #216 ; 0xd8 805012a: 4a29 ldr r2, [pc, #164] ; (80501d0 ) 805012c: 4413 add r3, r2 805012e: 3304 adds r3, #4 8050130: f107 0244 add.w r2, r7, #68 ; 0x44 8050134: 4611 mov r1, r2 8050136: 4618 mov r0, r3 8050138: f081 fa4f bl 80d15da menu = PARAM_DIAGN_2; 805013c: 4b1c ldr r3, [pc, #112] ; (80501b0 ) 805013e: 2211 movs r2, #17 8050140: 701a strb r2, [r3, #0] menupos = DiagName; 8050142: 4b16 ldr r3, [pc, #88] ; (805019c ) 8050144: 2206 movs r2, #6 8050146: 701a strb r2, [r3, #0] { TEMP_Name[NameLen] = CHARS_ENG[menupos]; NameLen++; } } break; 8050148: f003 bce5 b.w 8053b16 timerStatus = sec2; 805014c: 4b19 ldr r3, [pc, #100] ; (80501b4 ) 805014e: f44f 5280 mov.w r2, #4096 ; 0x1000 8050152: 801a strh r2, [r3, #0] DrawStatus = true; 8050154: 4b18 ldr r3, [pc, #96] ; (80501b8 ) 8050156: 2201 movs r2, #1 8050158: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 805015a: 4b18 ldr r3, [pc, #96] ; (80501bc ) 805015c: 2206 movs r2, #6 805015e: 601a str r2, [r3, #0] break; 8050160: f003 bcd9 b.w 8053b16 if(menupos == _BCKSPC) 8050164: 4b0d ldr r3, [pc, #52] ; (805019c ) 8050166: 781b ldrb r3, [r3, #0] 8050168: b2db uxtb r3, r3 805016a: 2b1d cmp r3, #29 805016c: d134 bne.n 80501d8 NameLen = strlen(TEMP_Name); 805016e: 4816 ldr r0, [pc, #88] ; (80501c8 ) 8050170: f7d0 f8d0 bl 8020314 8050174: 4602 mov r2, r0 8050176: 4b15 ldr r3, [pc, #84] ; (80501cc ) 8050178: 601a str r2, [r3, #0] if(NameLen) 805017a: 4b14 ldr r3, [pc, #80] ; (80501cc ) 805017c: 681b ldr r3, [r3, #0] 805017e: 2b00 cmp r3, #0 8050180: f003 84c9 beq.w 8053b16 NameLen--; 8050184: 4b11 ldr r3, [pc, #68] ; (80501cc ) 8050186: 681b ldr r3, [r3, #0] 8050188: 3b01 subs r3, #1 805018a: 4a10 ldr r2, [pc, #64] ; (80501cc ) 805018c: 6013 str r3, [r2, #0] TEMP_Name[NameLen] = 0; 805018e: 4b0f ldr r3, [pc, #60] ; (80501cc ) 8050190: 681b ldr r3, [r3, #0] 8050192: 4a0d ldr r2, [pc, #52] ; (80501c8 ) 8050194: 2100 movs r1, #0 8050196: 54d1 strb r1, [r2, r3] break; 8050198: f003 bcbd b.w 8053b16 805019c: 20020070 .word 0x20020070 80501a0: 20025cc8 .word 0x20025cc8 80501a4: 20020f0c .word 0x20020f0c 80501a8: 20020e78 .word 0x20020e78 80501ac: 20020dea .word 0x20020dea 80501b0: 20020fbd .word 0x20020fbd 80501b4: 200216d4 .word 0x200216d4 80501b8: 20020df2 .word 0x20020df2 80501bc: 20020dec .word 0x20020dec 80501c0: 20020071 .word 0x20020071 80501c4: 080f2b08 .word 0x080f2b08 80501c8: 20025d3c .word 0x20025d3c 80501cc: 20020f14 .word 0x20020f14 80501d0: 20023ea8 .word 0x20023ea8 80501d4: 20021055 .word 0x20021055 if(menupos == _CANCEL) 80501d8: 4b93 ldr r3, [pc, #588] ; (8050428 ) 80501da: 781b ldrb r3, [r3, #0] 80501dc: b2db uxtb r3, r3 80501de: 2b27 cmp r3, #39 ; 0x27 80501e0: d10f bne.n 8050202 NameLen = strlen(Name); 80501e2: 4892 ldr r0, [pc, #584] ; (805042c ) 80501e4: f7d0 f896 bl 8020314 80501e8: 4602 mov r2, r0 80501ea: 4b91 ldr r3, [pc, #580] ; (8050430 ) 80501ec: 601a str r2, [r3, #0] menu = PARAM_DIAGN_2; 80501ee: 4b91 ldr r3, [pc, #580] ; (8050434 ) 80501f0: 2211 movs r2, #17 80501f2: 701a strb r2, [r3, #0] menupos = lastmenupos; 80501f4: 4b90 ldr r3, [pc, #576] ; (8050438 ) 80501f6: 781b ldrb r3, [r3, #0] 80501f8: b2da uxtb r2, r3 80501fa: 4b8b ldr r3, [pc, #556] ; (8050428 ) 80501fc: 701a strb r2, [r3, #0] break; 80501fe: f003 bc8a b.w 8053b16 NameLen = strlen(TEMP_Name); 8050202: 488e ldr r0, [pc, #568] ; (805043c ) 8050204: f7d0 f886 bl 8020314 8050208: 4602 mov r2, r0 805020a: 4b89 ldr r3, [pc, #548] ; (8050430 ) 805020c: 601a str r2, [r3, #0] if(NameLen < MAX_NAME) 805020e: 4b88 ldr r3, [pc, #544] ; (8050430 ) 8050210: 681b ldr r3, [r3, #0] 8050212: 2b18 cmp r3, #24 8050214: f203 847f bhi.w 8053b16 TEMP_Name[NameLen] = CHARS_ENG[menupos]; 8050218: 4b85 ldr r3, [pc, #532] ; (8050430 ) 805021a: 681b ldr r3, [r3, #0] 805021c: 4a82 ldr r2, [pc, #520] ; (8050428 ) 805021e: 7812 ldrb r2, [r2, #0] 8050220: b2d2 uxtb r2, r2 8050222: 4611 mov r1, r2 8050224: 4a86 ldr r2, [pc, #536] ; (8050440 ) 8050226: 5c51 ldrb r1, [r2, r1] 8050228: 4a84 ldr r2, [pc, #528] ; (805043c ) 805022a: 54d1 strb r1, [r2, r3] NameLen++; 805022c: 4b80 ldr r3, [pc, #512] ; (8050430 ) 805022e: 681b ldr r3, [r3, #0] 8050230: 3301 adds r3, #1 8050232: 4a7f ldr r2, [pc, #508] ; (8050430 ) 8050234: 6013 str r3, [r2, #0] break; 8050236: f003 bc6e b.w 8053b16 case INPUT_NAME_DGN: if(menupos == _ENTER) 805023a: 4b7b ldr r3, [pc, #492] ; (8050428 ) 805023c: 781b ldrb r3, [r3, #0] 805023e: b2db uxtb r3, r3 8050240: 2b26 cmp r3, #38 ; 0x26 8050242: f040 80a3 bne.w 805038c { DiagFileNameLen = strlen(TEMP_DiagFileName); 8050246: 487f ldr r0, [pc, #508] ; (8050444 ) 8050248: f7d0 f864 bl 8020314 805024c: 4602 mov r2, r0 805024e: 4b7e ldr r3, [pc, #504] ; (8050448 ) 8050250: 601a str r2, [r3, #0] if(DiagFileNameLen > 0) 8050252: 4b7d ldr r3, [pc, #500] ; (8050448 ) 8050254: 681b ldr r3, [r3, #0] 8050256: 2b00 cmp r3, #0 8050258: f003 845f beq.w 8053b1a { strcpy(string, TEMP_DiagFileName); 805025c: f107 0344 add.w r3, r7, #68 ; 0x44 8050260: 4978 ldr r1, [pc, #480] ; (8050444 ) 8050262: 4618 mov r0, r3 8050264: f081 f9b9 bl 80d15da string[DiagFileNameLen] = '.'; 8050268: 4b77 ldr r3, [pc, #476] ; (8050448 ) 805026a: 681b ldr r3, [r3, #0] 805026c: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050270: 4413 add r3, r2 8050272: 222e movs r2, #46 ; 0x2e 8050274: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 1] = 'D'; 8050278: 4b73 ldr r3, [pc, #460] ; (8050448 ) 805027a: 681b ldr r3, [r3, #0] 805027c: 3301 adds r3, #1 805027e: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050282: 4413 add r3, r2 8050284: 2244 movs r2, #68 ; 0x44 8050286: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 2] = 'G'; 805028a: 4b6f ldr r3, [pc, #444] ; (8050448 ) 805028c: 681b ldr r3, [r3, #0] 805028e: 3302 adds r3, #2 8050290: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050294: 4413 add r3, r2 8050296: 2247 movs r2, #71 ; 0x47 8050298: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 3] = 'N'; 805029c: 4b6a ldr r3, [pc, #424] ; (8050448 ) 805029e: 681b ldr r3, [r3, #0] 80502a0: 3303 adds r3, #3 80502a2: f107 02c8 add.w r2, r7, #200 ; 0xc8 80502a6: 4413 add r3, r2 80502a8: 224e movs r2, #78 ; 0x4e 80502aa: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 4] = '\0'; 80502ae: 4b66 ldr r3, [pc, #408] ; (8050448 ) 80502b0: 681b ldr r3, [r3, #0] 80502b2: 3304 adds r3, #4 80502b4: f107 02c8 add.w r2, r7, #200 ; 0xc8 80502b8: 4413 add r3, r2 80502ba: 2200 movs r2, #0 80502bc: f803 2c84 strb.w r2, [r3, #-132] result = CheckExistDGN(string); 80502c0: f107 0344 add.w r3, r7, #68 ; 0x44 80502c4: 4618 mov r0, r3 80502c6: f7da fcb1 bl 802ac2c 80502ca: 4603 mov r3, r0 80502cc: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_NO_FILE) 80502d0: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80502d4: 2b04 cmp r3, #4 80502d6: d137 bne.n 8050348 { result = CreateFileDGN(string); 80502d8: f107 0344 add.w r3, r7, #68 ; 0x44 80502dc: 4618 mov r0, r3 80502de: f7d4 ff6d bl 80251bc 80502e2: 4603 mov r3, r0 80502e4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80502e8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80502ec: 2b00 cmp r3, #0 80502ee: d119 bne.n 8050324 { if(strcmp(DiagFileName, string) != 0) 80502f0: f107 0344 add.w r3, r7, #68 ; 0x44 80502f4: 4619 mov r1, r3 80502f6: 4855 ldr r0, [pc, #340] ; (805044c ) 80502f8: f7d0 f802 bl 8020300 80502fc: 4603 mov r3, r0 80502fe: 2b00 cmp r3, #0 8050300: d002 beq.n 8050308 DrawSavedData = false; 8050302: 4b53 ldr r3, [pc, #332] ; (8050450 ) 8050304: 2200 movs r2, #0 8050306: 701a strb r2, [r3, #0] strcpy(DiagFileName, string); 8050308: f107 0344 add.w r3, r7, #68 ; 0x44 805030c: 4619 mov r1, r3 805030e: 484f ldr r0, [pc, #316] ; (805044c ) 8050310: f081 f963 bl 80d15da menu = PARAM_DIAGN; 8050314: 4b47 ldr r3, [pc, #284] ; (8050434 ) 8050316: 220f movs r2, #15 8050318: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 805031a: 4b43 ldr r3, [pc, #268] ; (8050428 ) 805031c: 2204 movs r2, #4 805031e: 701a strb r2, [r3, #0] { TEMP_DiagFileName[DiagFileNameLen] = CHARS_ENG[menupos]; DiagFileNameLen++; } } break; 8050320: f003 bbfb b.w 8053b1a timerStatus = sec2; 8050324: 4b4b ldr r3, [pc, #300] ; (8050454 ) 8050326: f44f 5280 mov.w r2, #4096 ; 0x1000 805032a: 801a strh r2, [r3, #0] DrawStatus = true; 805032c: 4b4a ldr r3, [pc, #296] ; (8050458 ) 805032e: 2201 movs r2, #1 8050330: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 8050332: 4b4a ldr r3, [pc, #296] ; (805045c ) 8050334: 220b movs r2, #11 8050336: 601a str r2, [r3, #0] menu = PARAM_DIAGN; 8050338: 4b3e ldr r3, [pc, #248] ; (8050434 ) 805033a: 220f movs r2, #15 805033c: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 805033e: 4b3a ldr r3, [pc, #232] ; (8050428 ) 8050340: 2204 movs r2, #4 8050342: 701a strb r2, [r3, #0] break; 8050344: f003 bbe9 b.w 8053b1a if(result == FR_EXIST) 8050348: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805034c: 2b08 cmp r3, #8 805034e: d10b bne.n 8050368 timerStatus = sec2; 8050350: 4b40 ldr r3, [pc, #256] ; (8050454 ) 8050352: f44f 5280 mov.w r2, #4096 ; 0x1000 8050356: 801a strh r2, [r3, #0] DrawStatus = true; 8050358: 4b3f ldr r3, [pc, #252] ; (8050458 ) 805035a: 2201 movs r2, #1 805035c: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 805035e: 4b3f ldr r3, [pc, #252] ; (805045c ) 8050360: 2206 movs r2, #6 8050362: 601a str r2, [r3, #0] break; 8050364: f003 bbd9 b.w 8053b1a timerStatus = sec2; 8050368: 4b3a ldr r3, [pc, #232] ; (8050454 ) 805036a: f44f 5280 mov.w r2, #4096 ; 0x1000 805036e: 801a strh r2, [r3, #0] DrawStatus = true; 8050370: 4b39 ldr r3, [pc, #228] ; (8050458 ) 8050372: 2201 movs r2, #1 8050374: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 8050376: 4b39 ldr r3, [pc, #228] ; (805045c ) 8050378: 220b movs r2, #11 805037a: 601a str r2, [r3, #0] menu = PARAM_DIAGN; 805037c: 4b2d ldr r3, [pc, #180] ; (8050434 ) 805037e: 220f movs r2, #15 8050380: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 8050382: 4b29 ldr r3, [pc, #164] ; (8050428 ) 8050384: 2204 movs r2, #4 8050386: 701a strb r2, [r3, #0] break; 8050388: f003 bbc7 b.w 8053b1a if(menupos == _BCKSPC) 805038c: 4b26 ldr r3, [pc, #152] ; (8050428 ) 805038e: 781b ldrb r3, [r3, #0] 8050390: b2db uxtb r3, r3 8050392: 2b1d cmp r3, #29 8050394: d116 bne.n 80503c4 DiagFileNameLen = strlen(TEMP_DiagFileName); 8050396: 482b ldr r0, [pc, #172] ; (8050444 ) 8050398: f7cf ffbc bl 8020314 805039c: 4602 mov r2, r0 805039e: 4b2a ldr r3, [pc, #168] ; (8050448 ) 80503a0: 601a str r2, [r3, #0] if(DiagFileNameLen) 80503a2: 4b29 ldr r3, [pc, #164] ; (8050448 ) 80503a4: 681b ldr r3, [r3, #0] 80503a6: 2b00 cmp r3, #0 80503a8: f003 83b7 beq.w 8053b1a DiagFileNameLen--; 80503ac: 4b26 ldr r3, [pc, #152] ; (8050448 ) 80503ae: 681b ldr r3, [r3, #0] 80503b0: 3b01 subs r3, #1 80503b2: 4a25 ldr r2, [pc, #148] ; (8050448 ) 80503b4: 6013 str r3, [r2, #0] TEMP_DiagFileName[DiagFileNameLen] = 0; 80503b6: 4b24 ldr r3, [pc, #144] ; (8050448 ) 80503b8: 681b ldr r3, [r3, #0] 80503ba: 4a22 ldr r2, [pc, #136] ; (8050444 ) 80503bc: 2100 movs r1, #0 80503be: 54d1 strb r1, [r2, r3] break; 80503c0: f003 bbab b.w 8053b1a if(menupos == _CANCEL) 80503c4: 4b18 ldr r3, [pc, #96] ; (8050428 ) 80503c6: 781b ldrb r3, [r3, #0] 80503c8: b2db uxtb r3, r3 80503ca: 2b27 cmp r3, #39 ; 0x27 80503cc: d10f bne.n 80503ee DiagFileNameLen = strlen(DiagFileName); 80503ce: 481f ldr r0, [pc, #124] ; (805044c ) 80503d0: f7cf ffa0 bl 8020314 80503d4: 4602 mov r2, r0 80503d6: 4b1c ldr r3, [pc, #112] ; (8050448 ) 80503d8: 601a str r2, [r3, #0] menu = EXPLORER_DIAGN; 80503da: 4b16 ldr r3, [pc, #88] ; (8050434 ) 80503dc: 222a movs r2, #42 ; 0x2a 80503de: 701a strb r2, [r3, #0] menupos = lastmenupos; 80503e0: 4b15 ldr r3, [pc, #84] ; (8050438 ) 80503e2: 781b ldrb r3, [r3, #0] 80503e4: b2da uxtb r2, r3 80503e6: 4b10 ldr r3, [pc, #64] ; (8050428 ) 80503e8: 701a strb r2, [r3, #0] break; 80503ea: f003 bb96 b.w 8053b1a DiagFileNameLen = strlen(TEMP_DiagFileName); 80503ee: 4815 ldr r0, [pc, #84] ; (8050444 ) 80503f0: f7cf ff90 bl 8020314 80503f4: 4602 mov r2, r0 80503f6: 4b14 ldr r3, [pc, #80] ; (8050448 ) 80503f8: 601a str r2, [r3, #0] if(DiagFileNameLen < MAX_NAME) 80503fa: 4b13 ldr r3, [pc, #76] ; (8050448 ) 80503fc: 681b ldr r3, [r3, #0] 80503fe: 2b18 cmp r3, #24 8050400: f203 838b bhi.w 8053b1a TEMP_DiagFileName[DiagFileNameLen] = CHARS_ENG[menupos]; 8050404: 4b10 ldr r3, [pc, #64] ; (8050448 ) 8050406: 681b ldr r3, [r3, #0] 8050408: 4a07 ldr r2, [pc, #28] ; (8050428 ) 805040a: 7812 ldrb r2, [r2, #0] 805040c: b2d2 uxtb r2, r2 805040e: 4611 mov r1, r2 8050410: 4a0b ldr r2, [pc, #44] ; (8050440 ) 8050412: 5c51 ldrb r1, [r2, r1] 8050414: 4a0b ldr r2, [pc, #44] ; (8050444 ) 8050416: 54d1 strb r1, [r2, r3] DiagFileNameLen++; 8050418: 4b0b ldr r3, [pc, #44] ; (8050448 ) 805041a: 681b ldr r3, [r3, #0] 805041c: 3301 adds r3, #1 805041e: 4a0a ldr r2, [pc, #40] ; (8050448 ) 8050420: 6013 str r3, [r2, #0] break; 8050422: f003 bb7a b.w 8053b1a 8050426: bf00 nop 8050428: 20020070 .word 0x20020070 805042c: 20020ee4 .word 0x20020ee4 8050430: 20020f14 .word 0x20020f14 8050434: 20020fbd .word 0x20020fbd 8050438: 20020071 .word 0x20020071 805043c: 20025d3c .word 0x20025d3c 8050440: 080f2b08 .word 0x080f2b08 8050444: 20025d10 .word 0x20025d10 8050448: 20020f10 .word 0x20020f10 805044c: 20020e9c .word 0x20020e9c 8050450: 20020dea .word 0x20020dea 8050454: 200216d4 .word 0x200216d4 8050458: 20020df2 .word 0x20020df2 805045c: 20020dec .word 0x20020dec case INPUT_NAME_SPEC: if(menupos == _ENTER) 8050460: 4bae ldr r3, [pc, #696] ; (805071c ) 8050462: 781b ldrb r3, [r3, #0] 8050464: b2db uxtb r3, r3 8050466: 2b26 cmp r3, #38 ; 0x26 8050468: f040 8097 bne.w 805059a { MeasFileNameLen = strlen(TEMP_MeasFileName); 805046c: 48ac ldr r0, [pc, #688] ; (8050720 ) 805046e: f7cf ff51 bl 8020314 8050472: 4602 mov r2, r0 8050474: 4bab ldr r3, [pc, #684] ; (8050724 ) 8050476: 601a str r2, [r3, #0] if(MeasFileNameLen > 0) 8050478: 4baa ldr r3, [pc, #680] ; (8050724 ) 805047a: 681b ldr r3, [r3, #0] 805047c: 2b00 cmp r3, #0 805047e: f003 834e beq.w 8053b1e { strcpy(string, TEMP_MeasFileName); 8050482: f107 0344 add.w r3, r7, #68 ; 0x44 8050486: 49a6 ldr r1, [pc, #664] ; (8050720 ) 8050488: 4618 mov r0, r3 805048a: f081 f8a6 bl 80d15da string[MeasFileNameLen] = '.'; 805048e: 4ba5 ldr r3, [pc, #660] ; (8050724 ) 8050490: 681b ldr r3, [r3, #0] 8050492: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050496: 4413 add r3, r2 8050498: 222e movs r2, #46 ; 0x2e 805049a: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 1] = 'C'; 805049e: 4ba1 ldr r3, [pc, #644] ; (8050724 ) 80504a0: 681b ldr r3, [r3, #0] 80504a2: 3301 adds r3, #1 80504a4: f107 02c8 add.w r2, r7, #200 ; 0xc8 80504a8: 4413 add r3, r2 80504aa: 2243 movs r2, #67 ; 0x43 80504ac: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 2] = 'S'; 80504b0: 4b9c ldr r3, [pc, #624] ; (8050724 ) 80504b2: 681b ldr r3, [r3, #0] 80504b4: 3302 adds r3, #2 80504b6: f107 02c8 add.w r2, r7, #200 ; 0xc8 80504ba: 4413 add r3, r2 80504bc: 2253 movs r2, #83 ; 0x53 80504be: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 3] = 'V'; 80504c2: 4b98 ldr r3, [pc, #608] ; (8050724 ) 80504c4: 681b ldr r3, [r3, #0] 80504c6: 3303 adds r3, #3 80504c8: f107 02c8 add.w r2, r7, #200 ; 0xc8 80504cc: 4413 add r3, r2 80504ce: 2256 movs r2, #86 ; 0x56 80504d0: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 4] = '\0'; 80504d4: 4b93 ldr r3, [pc, #588] ; (8050724 ) 80504d6: 681b ldr r3, [r3, #0] 80504d8: 3304 adds r3, #4 80504da: f107 02c8 add.w r2, r7, #200 ; 0xc8 80504de: 4413 add r3, r2 80504e0: 2200 movs r2, #0 80504e2: f803 2c84 strb.w r2, [r3, #-132] result = CheckExistSPEC(string); 80504e6: f107 0344 add.w r3, r7, #68 ; 0x44 80504ea: 4618 mov r0, r3 80504ec: f7da fbee bl 802accc 80504f0: 4603 mov r3, r0 80504f2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_NO_FILE) 80504f6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80504fa: 2b04 cmp r3, #4 80504fc: d129 bne.n 8050552 { result = CreateFileSPEC(string); 80504fe: f107 0344 add.w r3, r7, #68 ; 0x44 8050502: 4618 mov r0, r3 8050504: f7d4 fef6 bl 80252f4 8050508: 4603 mov r3, r0 805050a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805050e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050512: 2b00 cmp r3, #0 8050514: d109 bne.n 805052a { menu = lastmenu; 8050516: 4b84 ldr r3, [pc, #528] ; (8050728 ) 8050518: 781b ldrb r3, [r3, #0] 805051a: b2da uxtb r2, r3 805051c: 4b83 ldr r3, [pc, #524] ; (805072c ) 805051e: 701a strb r2, [r3, #0] menupos = SaveSpec; 8050520: 4b7e ldr r3, [pc, #504] ; (805071c ) 8050522: 2209 movs r2, #9 8050524: 701a strb r2, [r3, #0] { TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; MeasFileNameLen++; } } break; 8050526: f003 bafa b.w 8053b1e timerStatus = sec2; 805052a: 4b81 ldr r3, [pc, #516] ; (8050730 ) 805052c: f44f 5280 mov.w r2, #4096 ; 0x1000 8050530: 801a strh r2, [r3, #0] DrawStatus = true; 8050532: 4b80 ldr r3, [pc, #512] ; (8050734 ) 8050534: 2201 movs r2, #1 8050536: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 8050538: 4b7f ldr r3, [pc, #508] ; (8050738 ) 805053a: 220b movs r2, #11 805053c: 601a str r2, [r3, #0] menu = lastmenu; 805053e: 4b7a ldr r3, [pc, #488] ; (8050728 ) 8050540: 781b ldrb r3, [r3, #0] 8050542: b2da uxtb r2, r3 8050544: 4b79 ldr r3, [pc, #484] ; (805072c ) 8050546: 701a strb r2, [r3, #0] menupos = SaveSpec; 8050548: 4b74 ldr r3, [pc, #464] ; (805071c ) 805054a: 2209 movs r2, #9 805054c: 701a strb r2, [r3, #0] break; 805054e: f003 bae6 b.w 8053b1e if(result == FR_EXIST) 8050552: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050556: 2b08 cmp r3, #8 8050558: d10b bne.n 8050572 timerStatus = sec2; 805055a: 4b75 ldr r3, [pc, #468] ; (8050730 ) 805055c: f44f 5280 mov.w r2, #4096 ; 0x1000 8050560: 801a strh r2, [r3, #0] DrawStatus = true; 8050562: 4b74 ldr r3, [pc, #464] ; (8050734 ) 8050564: 2201 movs r2, #1 8050566: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 8050568: 4b73 ldr r3, [pc, #460] ; (8050738 ) 805056a: 2206 movs r2, #6 805056c: 601a str r2, [r3, #0] break; 805056e: f003 bad6 b.w 8053b1e timerStatus = sec2; 8050572: 4b6f ldr r3, [pc, #444] ; (8050730 ) 8050574: f44f 5280 mov.w r2, #4096 ; 0x1000 8050578: 801a strh r2, [r3, #0] DrawStatus = true; 805057a: 4b6e ldr r3, [pc, #440] ; (8050734 ) 805057c: 2201 movs r2, #1 805057e: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 8050580: 4b6d ldr r3, [pc, #436] ; (8050738 ) 8050582: 220b movs r2, #11 8050584: 601a str r2, [r3, #0] menu = lastmenu; 8050586: 4b68 ldr r3, [pc, #416] ; (8050728 ) 8050588: 781b ldrb r3, [r3, #0] 805058a: b2da uxtb r2, r3 805058c: 4b67 ldr r3, [pc, #412] ; (805072c ) 805058e: 701a strb r2, [r3, #0] menupos = SaveSpec; 8050590: 4b62 ldr r3, [pc, #392] ; (805071c ) 8050592: 2209 movs r2, #9 8050594: 701a strb r2, [r3, #0] break; 8050596: f003 bac2 b.w 8053b1e if(menupos == _BCKSPC) 805059a: 4b60 ldr r3, [pc, #384] ; (805071c ) 805059c: 781b ldrb r3, [r3, #0] 805059e: b2db uxtb r3, r3 80505a0: 2b1d cmp r3, #29 80505a2: d116 bne.n 80505d2 MeasFileNameLen = strlen(TEMP_MeasFileName); 80505a4: 485e ldr r0, [pc, #376] ; (8050720 ) 80505a6: f7cf feb5 bl 8020314 80505aa: 4602 mov r2, r0 80505ac: 4b5d ldr r3, [pc, #372] ; (8050724 ) 80505ae: 601a str r2, [r3, #0] if(MeasFileNameLen) 80505b0: 4b5c ldr r3, [pc, #368] ; (8050724 ) 80505b2: 681b ldr r3, [r3, #0] 80505b4: 2b00 cmp r3, #0 80505b6: f003 82b2 beq.w 8053b1e MeasFileNameLen--; 80505ba: 4b5a ldr r3, [pc, #360] ; (8050724 ) 80505bc: 681b ldr r3, [r3, #0] 80505be: 3b01 subs r3, #1 80505c0: 4a58 ldr r2, [pc, #352] ; (8050724 ) 80505c2: 6013 str r3, [r2, #0] TEMP_MeasFileName[MeasFileNameLen] = 0; 80505c4: 4b57 ldr r3, [pc, #348] ; (8050724 ) 80505c6: 681b ldr r3, [r3, #0] 80505c8: 4a55 ldr r2, [pc, #340] ; (8050720 ) 80505ca: 2100 movs r1, #0 80505cc: 54d1 strb r1, [r2, r3] break; 80505ce: f003 baa6 b.w 8053b1e if(menupos == _CANCEL) 80505d2: 4b52 ldr r3, [pc, #328] ; (805071c ) 80505d4: 781b ldrb r3, [r3, #0] 80505d6: b2db uxtb r3, r3 80505d8: 2b27 cmp r3, #39 ; 0x27 80505da: d10f bne.n 80505fc MeasFileNameLen = strlen(MeasFileName); 80505dc: 4857 ldr r0, [pc, #348] ; (805073c ) 80505de: f7cf fe99 bl 8020314 80505e2: 4602 mov r2, r0 80505e4: 4b4f ldr r3, [pc, #316] ; (8050724 ) 80505e6: 601a str r2, [r3, #0] menu = lastmenu; 80505e8: 4b4f ldr r3, [pc, #316] ; (8050728 ) 80505ea: 781b ldrb r3, [r3, #0] 80505ec: b2da uxtb r2, r3 80505ee: 4b4f ldr r3, [pc, #316] ; (805072c ) 80505f0: 701a strb r2, [r3, #0] menupos = SaveSpec; 80505f2: 4b4a ldr r3, [pc, #296] ; (805071c ) 80505f4: 2209 movs r2, #9 80505f6: 701a strb r2, [r3, #0] break; 80505f8: f003 ba91 b.w 8053b1e MeasFileNameLen = strlen(TEMP_MeasFileName); 80505fc: 4848 ldr r0, [pc, #288] ; (8050720 ) 80505fe: f7cf fe89 bl 8020314 8050602: 4602 mov r2, r0 8050604: 4b47 ldr r3, [pc, #284] ; (8050724 ) 8050606: 601a str r2, [r3, #0] if(MeasFileNameLen < MAX_NAME) 8050608: 4b46 ldr r3, [pc, #280] ; (8050724 ) 805060a: 681b ldr r3, [r3, #0] 805060c: 2b18 cmp r3, #24 805060e: f203 8286 bhi.w 8053b1e TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; 8050612: 4b44 ldr r3, [pc, #272] ; (8050724 ) 8050614: 681b ldr r3, [r3, #0] 8050616: 4a41 ldr r2, [pc, #260] ; (805071c ) 8050618: 7812 ldrb r2, [r2, #0] 805061a: b2d2 uxtb r2, r2 805061c: 4611 mov r1, r2 805061e: 4a48 ldr r2, [pc, #288] ; (8050740 ) 8050620: 5c51 ldrb r1, [r2, r1] 8050622: 4a3f ldr r2, [pc, #252] ; (8050720 ) 8050624: 54d1 strb r1, [r2, r3] MeasFileNameLen++; 8050626: 4b3f ldr r3, [pc, #252] ; (8050724 ) 8050628: 681b ldr r3, [r3, #0] 805062a: 3301 adds r3, #1 805062c: 4a3d ldr r2, [pc, #244] ; (8050724 ) 805062e: 6013 str r3, [r2, #0] break; 8050630: f003 ba75 b.w 8053b1e case INPUT_NAME_GTR: if(menupos == _ENTER) 8050634: 4b39 ldr r3, [pc, #228] ; (805071c ) 8050636: 781b ldrb r3, [r3, #0] 8050638: b2db uxtb r3, r3 805063a: 2b26 cmp r3, #38 ; 0x26 805063c: d152 bne.n 80506e4 { WavFileNameLen = strlen(TEMP_WavFileName); 805063e: 4841 ldr r0, [pc, #260] ; (8050744 ) 8050640: f7cf fe68 bl 8020314 8050644: 4602 mov r2, r0 8050646: 4b40 ldr r3, [pc, #256] ; (8050748 ) 8050648: 601a str r2, [r3, #0] if(WavFileNameLen > 0) 805064a: 4b3f ldr r3, [pc, #252] ; (8050748 ) 805064c: 681b ldr r3, [r3, #0] 805064e: 2b00 cmp r3, #0 8050650: f003 8267 beq.w 8053b22 { strcpy(string, TEMP_WavFileName); 8050654: f107 0344 add.w r3, r7, #68 ; 0x44 8050658: 493a ldr r1, [pc, #232] ; (8050744 ) 805065a: 4618 mov r0, r3 805065c: f080 ffbd bl 80d15da string[WavFileNameLen] = '.'; 8050660: 4b39 ldr r3, [pc, #228] ; (8050748 ) 8050662: 681b ldr r3, [r3, #0] 8050664: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050668: 4413 add r3, r2 805066a: 222e movs r2, #46 ; 0x2e 805066c: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 1] = 'G'; 8050670: 4b35 ldr r3, [pc, #212] ; (8050748 ) 8050672: 681b ldr r3, [r3, #0] 8050674: 3301 adds r3, #1 8050676: f107 02c8 add.w r2, r7, #200 ; 0xc8 805067a: 4413 add r3, r2 805067c: 2247 movs r2, #71 ; 0x47 805067e: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 2] = 'T'; 8050682: 4b31 ldr r3, [pc, #196] ; (8050748 ) 8050684: 681b ldr r3, [r3, #0] 8050686: 3302 adds r3, #2 8050688: f107 02c8 add.w r2, r7, #200 ; 0xc8 805068c: 4413 add r3, r2 805068e: 2254 movs r2, #84 ; 0x54 8050690: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 3] = 'R'; 8050694: 4b2c ldr r3, [pc, #176] ; (8050748 ) 8050696: 681b ldr r3, [r3, #0] 8050698: 3303 adds r3, #3 805069a: f107 02c8 add.w r2, r7, #200 ; 0xc8 805069e: 4413 add r3, r2 80506a0: 2252 movs r2, #82 ; 0x52 80506a2: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 4] = '\0'; 80506a6: 4b28 ldr r3, [pc, #160] ; (8050748 ) 80506a8: 681b ldr r3, [r3, #0] 80506aa: 3304 adds r3, #4 80506ac: f107 02c8 add.w r2, r7, #200 ; 0xc8 80506b0: 4413 add r3, r2 80506b2: 2200 movs r2, #0 80506b4: f803 2c84 strb.w r2, [r3, #-132] memset(WavFileName, 0, sizeof(WavFileName)); 80506b8: 2221 movs r2, #33 ; 0x21 80506ba: 2100 movs r1, #0 80506bc: 4823 ldr r0, [pc, #140] ; (805074c ) 80506be: f080 fe6f bl 80d13a0 strcpy(WavFileName, string); 80506c2: f107 0344 add.w r3, r7, #68 ; 0x44 80506c6: 4619 mov r1, r3 80506c8: 4820 ldr r0, [pc, #128] ; (805074c ) 80506ca: f080 ff86 bl 80d15da menu = PARAM_WAVE; 80506ce: 4b17 ldr r3, [pc, #92] ; (805072c ) 80506d0: 220a movs r2, #10 80506d2: 701a strb r2, [r3, #0] menupos = WaveName; 80506d4: 4b11 ldr r3, [pc, #68] ; (805071c ) 80506d6: 2204 movs r2, #4 80506d8: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 80506da: 4b1d ldr r3, [pc, #116] ; (8050750 ) 80506dc: 2200 movs r2, #0 80506de: 709a strb r2, [r3, #2] { TEMP_WavFileName[WavFileNameLen] = CHARS_ENG[menupos]; WavFileNameLen++; } } break; 80506e0: f003 ba1f b.w 8053b22 if(menupos == _BCKSPC) 80506e4: 4b0d ldr r3, [pc, #52] ; (805071c ) 80506e6: 781b ldrb r3, [r3, #0] 80506e8: b2db uxtb r3, r3 80506ea: 2b1d cmp r3, #29 80506ec: d132 bne.n 8050754 WavFileNameLen = strlen(TEMP_WavFileName); 80506ee: 4815 ldr r0, [pc, #84] ; (8050744 ) 80506f0: f7cf fe10 bl 8020314 80506f4: 4602 mov r2, r0 80506f6: 4b14 ldr r3, [pc, #80] ; (8050748 ) 80506f8: 601a str r2, [r3, #0] if(WavFileNameLen) 80506fa: 4b13 ldr r3, [pc, #76] ; (8050748 ) 80506fc: 681b ldr r3, [r3, #0] 80506fe: 2b00 cmp r3, #0 8050700: f003 820f beq.w 8053b22 WavFileNameLen--; 8050704: 4b10 ldr r3, [pc, #64] ; (8050748 ) 8050706: 681b ldr r3, [r3, #0] 8050708: 3b01 subs r3, #1 805070a: 4a0f ldr r2, [pc, #60] ; (8050748 ) 805070c: 6013 str r3, [r2, #0] TEMP_WavFileName[WavFileNameLen] = 0; 805070e: 4b0e ldr r3, [pc, #56] ; (8050748 ) 8050710: 681b ldr r3, [r3, #0] 8050712: 4a0c ldr r2, [pc, #48] ; (8050744 ) 8050714: 2100 movs r1, #0 8050716: 54d1 strb r1, [r2, r3] break; 8050718: f003 ba03 b.w 8053b22 805071c: 20020070 .word 0x20020070 8050720: 20025cc8 .word 0x20025cc8 8050724: 20020f0c .word 0x20020f0c 8050728: 20020fbe .word 0x20020fbe 805072c: 20020fbd .word 0x20020fbd 8050730: 200216d4 .word 0x200216d4 8050734: 20020df2 .word 0x20020df2 8050738: 20020dec .word 0x20020dec 805073c: 20020e78 .word 0x20020e78 8050740: 080f2b08 .word 0x080f2b08 8050744: 20025cec .word 0x20025cec 8050748: 20020f08 .word 0x20020f08 805074c: 20020e54 .word 0x20020e54 8050750: 20023ea8 .word 0x20023ea8 if(menupos == _CANCEL) 8050754: 4bb1 ldr r3, [pc, #708] ; (8050a1c ) 8050756: 781b ldrb r3, [r3, #0] 8050758: b2db uxtb r3, r3 805075a: 2b27 cmp r3, #39 ; 0x27 805075c: d110 bne.n 8050780 WavFileNameLen = strlen(WavFileName); 805075e: 48b0 ldr r0, [pc, #704] ; (8050a20 ) 8050760: f7cf fdd8 bl 8020314 8050764: 4602 mov r2, r0 8050766: 4baf ldr r3, [pc, #700] ; (8050a24 ) 8050768: 601a str r2, [r3, #0] menu = PARAM_WAVE; 805076a: 4baf ldr r3, [pc, #700] ; (8050a28 ) 805076c: 220a movs r2, #10 805076e: 701a strb r2, [r3, #0] menupos = WaveName; 8050770: 4baa ldr r3, [pc, #680] ; (8050a1c ) 8050772: 2204 movs r2, #4 8050774: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8050776: 4bad ldr r3, [pc, #692] ; (8050a2c ) 8050778: 2200 movs r2, #0 805077a: 709a strb r2, [r3, #2] break; 805077c: f003 b9d1 b.w 8053b22 WavFileNameLen = strlen(TEMP_WavFileName); 8050780: 48ab ldr r0, [pc, #684] ; (8050a30 ) 8050782: f7cf fdc7 bl 8020314 8050786: 4602 mov r2, r0 8050788: 4ba6 ldr r3, [pc, #664] ; (8050a24 ) 805078a: 601a str r2, [r3, #0] if(WavFileNameLen < MAX_NAME) 805078c: 4ba5 ldr r3, [pc, #660] ; (8050a24 ) 805078e: 681b ldr r3, [r3, #0] 8050790: 2b18 cmp r3, #24 8050792: f203 81c6 bhi.w 8053b22 TEMP_WavFileName[WavFileNameLen] = CHARS_ENG[menupos]; 8050796: 4ba3 ldr r3, [pc, #652] ; (8050a24 ) 8050798: 681b ldr r3, [r3, #0] 805079a: 4aa0 ldr r2, [pc, #640] ; (8050a1c ) 805079c: 7812 ldrb r2, [r2, #0] 805079e: b2d2 uxtb r2, r2 80507a0: 4611 mov r1, r2 80507a2: 4aa4 ldr r2, [pc, #656] ; (8050a34 ) 80507a4: 5c51 ldrb r1, [r2, r1] 80507a6: 4aa2 ldr r2, [pc, #648] ; (8050a30 ) 80507a8: 54d1 strb r1, [r2, r3] WavFileNameLen++; 80507aa: 4b9e ldr r3, [pc, #632] ; (8050a24 ) 80507ac: 681b ldr r3, [r3, #0] 80507ae: 3301 adds r3, #1 80507b0: 4a9c ldr r2, [pc, #624] ; (8050a24 ) 80507b2: 6013 str r3, [r2, #0] break; 80507b4: f003 b9b5 b.w 8053b22 case INPUT_NAME_FRN: if(menupos == _ENTER) 80507b8: 4b98 ldr r3, [pc, #608] ; (8050a1c ) 80507ba: 781b ldrb r3, [r3, #0] 80507bc: b2db uxtb r3, r3 80507be: 2b26 cmp r3, #38 ; 0x26 80507c0: f040 8085 bne.w 80508ce { MeasFileNameLen = strlen(TEMP_MeasFileName); 80507c4: 489c ldr r0, [pc, #624] ; (8050a38 ) 80507c6: f7cf fda5 bl 8020314 80507ca: 4602 mov r2, r0 80507cc: 4b9b ldr r3, [pc, #620] ; (8050a3c ) 80507ce: 601a str r2, [r3, #0] if(MeasFileNameLen > 0) 80507d0: 4b9a ldr r3, [pc, #616] ; (8050a3c ) 80507d2: 681b ldr r3, [r3, #0] 80507d4: 2b00 cmp r3, #0 80507d6: f003 81a6 beq.w 8053b26 { strcpy(string, TEMP_MeasFileName); 80507da: f107 0344 add.w r3, r7, #68 ; 0x44 80507de: 4996 ldr r1, [pc, #600] ; (8050a38 ) 80507e0: 4618 mov r0, r3 80507e2: f080 fefa bl 80d15da string[MeasFileNameLen] = '.'; 80507e6: 4b95 ldr r3, [pc, #596] ; (8050a3c ) 80507e8: 681b ldr r3, [r3, #0] 80507ea: f107 02c8 add.w r2, r7, #200 ; 0xc8 80507ee: 4413 add r3, r2 80507f0: 222e movs r2, #46 ; 0x2e 80507f2: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 1] = 'F'; 80507f6: 4b91 ldr r3, [pc, #580] ; (8050a3c ) 80507f8: 681b ldr r3, [r3, #0] 80507fa: 3301 adds r3, #1 80507fc: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050800: 4413 add r3, r2 8050802: 2246 movs r2, #70 ; 0x46 8050804: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 2] = 'R'; 8050808: 4b8c ldr r3, [pc, #560] ; (8050a3c ) 805080a: 681b ldr r3, [r3, #0] 805080c: 3302 adds r3, #2 805080e: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050812: 4413 add r3, r2 8050814: 2252 movs r2, #82 ; 0x52 8050816: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 3] = 'N'; 805081a: 4b88 ldr r3, [pc, #544] ; (8050a3c ) 805081c: 681b ldr r3, [r3, #0] 805081e: 3303 adds r3, #3 8050820: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050824: 4413 add r3, r2 8050826: 224e movs r2, #78 ; 0x4e 8050828: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 4] = '\0'; 805082c: 4b83 ldr r3, [pc, #524] ; (8050a3c ) 805082e: 681b ldr r3, [r3, #0] 8050830: 3304 adds r3, #4 8050832: f107 02c8 add.w r2, r7, #200 ; 0xc8 8050836: 4413 add r3, r2 8050838: 2200 movs r2, #0 805083a: f803 2c84 strb.w r2, [r3, #-132] result = CreateFileFRN(string); 805083e: f107 0344 add.w r3, r7, #68 ; 0x44 8050842: 4618 mov r0, r3 8050844: f7d5 f894 bl 8025970 8050848: 4603 mov r3, r0 805084a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805084e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050852: 2b00 cmp r3, #0 8050854: d115 bne.n 8050882 { STATUS = AP_SAVING_SUCCESS; 8050856: 4b7a ldr r3, [pc, #488] ; (8050a40 ) 8050858: 2207 movs r2, #7 805085a: 601a str r2, [r3, #0] timerStatus = sec2; 805085c: 4b79 ldr r3, [pc, #484] ; (8050a44 ) 805085e: f44f 5280 mov.w r2, #4096 ; 0x1000 8050862: 801a strh r2, [r3, #0] DrawStatus = true; 8050864: 4b78 ldr r3, [pc, #480] ; (8050a48 ) 8050866: 2201 movs r2, #1 8050868: 701a strb r2, [r3, #0] menu = lastmenu; 805086a: 4b78 ldr r3, [pc, #480] ; (8050a4c ) 805086c: 781b ldrb r3, [r3, #0] 805086e: b2da uxtb r2, r3 8050870: 4b6d ldr r3, [pc, #436] ; (8050a28 ) 8050872: 701a strb r2, [r3, #0] menupos = lastmenupos; 8050874: 4b76 ldr r3, [pc, #472] ; (8050a50 ) 8050876: 781b ldrb r3, [r3, #0] 8050878: b2da uxtb r2, r3 805087a: 4b68 ldr r3, [pc, #416] ; (8050a1c ) 805087c: 701a strb r2, [r3, #0] { TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; MeasFileNameLen++; } } break; 805087e: f003 b952 b.w 8053b26 if(result == FR_EXIST) 8050882: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050886: 2b08 cmp r3, #8 8050888: d10b bne.n 80508a2 timerStatus = sec2; 805088a: 4b6e ldr r3, [pc, #440] ; (8050a44 ) 805088c: f44f 5280 mov.w r2, #4096 ; 0x1000 8050890: 801a strh r2, [r3, #0] DrawStatus = true; 8050892: 4b6d ldr r3, [pc, #436] ; (8050a48 ) 8050894: 2201 movs r2, #1 8050896: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 8050898: 4b69 ldr r3, [pc, #420] ; (8050a40 ) 805089a: 2206 movs r2, #6 805089c: 601a str r2, [r3, #0] break; 805089e: f003 b942 b.w 8053b26 timerStatus = sec2; 80508a2: 4b68 ldr r3, [pc, #416] ; (8050a44 ) 80508a4: f44f 5280 mov.w r2, #4096 ; 0x1000 80508a8: 801a strh r2, [r3, #0] DrawStatus = true; 80508aa: 4b67 ldr r3, [pc, #412] ; (8050a48 ) 80508ac: 2201 movs r2, #1 80508ae: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 80508b0: 4b63 ldr r3, [pc, #396] ; (8050a40 ) 80508b2: 220b movs r2, #11 80508b4: 601a str r2, [r3, #0] menu = lastmenu; 80508b6: 4b65 ldr r3, [pc, #404] ; (8050a4c ) 80508b8: 781b ldrb r3, [r3, #0] 80508ba: b2da uxtb r2, r3 80508bc: 4b5a ldr r3, [pc, #360] ; (8050a28 ) 80508be: 701a strb r2, [r3, #0] menupos = lastmenupos; 80508c0: 4b63 ldr r3, [pc, #396] ; (8050a50 ) 80508c2: 781b ldrb r3, [r3, #0] 80508c4: b2da uxtb r2, r3 80508c6: 4b55 ldr r3, [pc, #340] ; (8050a1c ) 80508c8: 701a strb r2, [r3, #0] break; 80508ca: f003 b92c b.w 8053b26 if(menupos == _BCKSPC) 80508ce: 4b53 ldr r3, [pc, #332] ; (8050a1c ) 80508d0: 781b ldrb r3, [r3, #0] 80508d2: b2db uxtb r3, r3 80508d4: 2b1d cmp r3, #29 80508d6: d116 bne.n 8050906 MeasFileNameLen = strlen(TEMP_MeasFileName); 80508d8: 4857 ldr r0, [pc, #348] ; (8050a38 ) 80508da: f7cf fd1b bl 8020314 80508de: 4602 mov r2, r0 80508e0: 4b56 ldr r3, [pc, #344] ; (8050a3c ) 80508e2: 601a str r2, [r3, #0] if(MeasFileNameLen) 80508e4: 4b55 ldr r3, [pc, #340] ; (8050a3c ) 80508e6: 681b ldr r3, [r3, #0] 80508e8: 2b00 cmp r3, #0 80508ea: f003 811c beq.w 8053b26 MeasFileNameLen--; 80508ee: 4b53 ldr r3, [pc, #332] ; (8050a3c ) 80508f0: 681b ldr r3, [r3, #0] 80508f2: 3b01 subs r3, #1 80508f4: 4a51 ldr r2, [pc, #324] ; (8050a3c ) 80508f6: 6013 str r3, [r2, #0] TEMP_MeasFileName[MeasFileNameLen] = 0; 80508f8: 4b50 ldr r3, [pc, #320] ; (8050a3c ) 80508fa: 681b ldr r3, [r3, #0] 80508fc: 4a4e ldr r2, [pc, #312] ; (8050a38 ) 80508fe: 2100 movs r1, #0 8050900: 54d1 strb r1, [r2, r3] break; 8050902: f003 b910 b.w 8053b26 if(menupos == _CANCEL) 8050906: 4b45 ldr r3, [pc, #276] ; (8050a1c ) 8050908: 781b ldrb r3, [r3, #0] 805090a: b2db uxtb r3, r3 805090c: 2b27 cmp r3, #39 ; 0x27 805090e: d111 bne.n 8050934 MeasFileNameLen = strlen(MeasFileName); 8050910: 4850 ldr r0, [pc, #320] ; (8050a54 ) 8050912: f7cf fcff bl 8020314 8050916: 4602 mov r2, r0 8050918: 4b48 ldr r3, [pc, #288] ; (8050a3c ) 805091a: 601a str r2, [r3, #0] menu = lastmenu; 805091c: 4b4b ldr r3, [pc, #300] ; (8050a4c ) 805091e: 781b ldrb r3, [r3, #0] 8050920: b2da uxtb r2, r3 8050922: 4b41 ldr r3, [pc, #260] ; (8050a28 ) 8050924: 701a strb r2, [r3, #0] menupos = lastmenupos; 8050926: 4b4a ldr r3, [pc, #296] ; (8050a50 ) 8050928: 781b ldrb r3, [r3, #0] 805092a: b2da uxtb r2, r3 805092c: 4b3b ldr r3, [pc, #236] ; (8050a1c ) 805092e: 701a strb r2, [r3, #0] break; 8050930: f003 b8f9 b.w 8053b26 MeasFileNameLen = strlen(TEMP_MeasFileName); 8050934: 4840 ldr r0, [pc, #256] ; (8050a38 ) 8050936: f7cf fced bl 8020314 805093a: 4602 mov r2, r0 805093c: 4b3f ldr r3, [pc, #252] ; (8050a3c ) 805093e: 601a str r2, [r3, #0] if(MeasFileNameLen < MAX_NAME) 8050940: 4b3e ldr r3, [pc, #248] ; (8050a3c ) 8050942: 681b ldr r3, [r3, #0] 8050944: 2b18 cmp r3, #24 8050946: f203 80ee bhi.w 8053b26 TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; 805094a: 4b3c ldr r3, [pc, #240] ; (8050a3c ) 805094c: 681b ldr r3, [r3, #0] 805094e: 4a33 ldr r2, [pc, #204] ; (8050a1c ) 8050950: 7812 ldrb r2, [r2, #0] 8050952: b2d2 uxtb r2, r2 8050954: 4611 mov r1, r2 8050956: 4a37 ldr r2, [pc, #220] ; (8050a34 ) 8050958: 5c51 ldrb r1, [r2, r1] 805095a: 4a37 ldr r2, [pc, #220] ; (8050a38 ) 805095c: 54d1 strb r1, [r2, r3] MeasFileNameLen++; 805095e: 4b37 ldr r3, [pc, #220] ; (8050a3c ) 8050960: 681b ldr r3, [r3, #0] 8050962: 3301 adds r3, #1 8050964: 4a35 ldr r2, [pc, #212] ; (8050a3c ) 8050966: 6013 str r3, [r2, #0] break; 8050968: f003 b8dd b.w 8053b26 case OPTIONS: focused = false; 805096c: 4b3a ldr r3, [pc, #232] ; (8050a58 ) 805096e: 2200 movs r2, #0 8050970: 701a strb r2, [r3, #0] switch(menupos) 8050972: 4b2a ldr r3, [pc, #168] ; (8050a1c ) 8050974: 781b ldrb r3, [r3, #0] 8050976: b2db uxtb r3, r3 8050978: 3b01 subs r3, #1 805097a: 2b09 cmp r3, #9 805097c: f203 80d5 bhi.w 8053b2a 8050980: a201 add r2, pc, #4 ; (adr r2, 8050988 ) 8050982: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8050986: bf00 nop 8050988: 080509b1 .word 0x080509b1 805098c: 08050af9 .word 0x08050af9 8050990: 08050b11 .word 0x08050b11 8050994: 08050bdf .word 0x08050bdf 8050998: 08050f03 .word 0x08050f03 805099c: 08050f0b .word 0x08050f0b 80509a0: 08053b2b .word 0x08053b2b 80509a4: 08050f25 .word 0x08050f25 80509a8: 08050cc9 .word 0x08050cc9 80509ac: 08050d29 .word 0x08050d29 { case Mode: menu = MEAS_MODE; 80509b0: 4b1d ldr r3, [pc, #116] ; (8050a28 ) 80509b2: 2202 movs r2, #2 80509b4: 701a strb r2, [r3, #0] lastmenupos = menupos; 80509b6: 4b19 ldr r3, [pc, #100] ; (8050a1c ) 80509b8: 781b ldrb r3, [r3, #0] 80509ba: b2da uxtb r2, r3 80509bc: 4b24 ldr r3, [pc, #144] ; (8050a50 ) 80509be: 701a strb r2, [r3, #0] if(pardata.SYG == VIB) 80509c0: 4b1a ldr r3, [pc, #104] ; (8050a2c ) 80509c2: 781b ldrb r3, [r3, #0] 80509c4: b2db uxtb r3, r3 80509c6: 2b00 cmp r3, #0 80509c8: d103 bne.n 80509d2 menupos = Vibrometer; 80509ca: 4b14 ldr r3, [pc, #80] ; (8050a1c ) 80509cc: 2201 movs r2, #1 80509ce: 701a strb r2, [r3, #0] 80509d0: e073 b.n 8050aba else if(pardata.SYG == SPEC) 80509d2: 4b16 ldr r3, [pc, #88] ; (8050a2c ) 80509d4: 781b ldrb r3, [r3, #0] 80509d6: b2db uxtb r3, r3 80509d8: 2b01 cmp r3, #1 80509da: d103 bne.n 80509e4 menupos = FFT; 80509dc: 4b0f ldr r3, [pc, #60] ; (8050a1c ) 80509de: 2203 movs r2, #3 80509e0: 701a strb r2, [r3, #0] 80509e2: e06a b.n 8050aba else if(pardata.SYG == OSC) 80509e4: 4b11 ldr r3, [pc, #68] ; (8050a2c ) 80509e6: 781b ldrb r3, [r3, #0] 80509e8: b2db uxtb r3, r3 80509ea: 2b02 cmp r3, #2 80509ec: d103 bne.n 80509f6 menupos = Osc; 80509ee: 4b0b ldr r3, [pc, #44] ; (8050a1c ) 80509f0: 2202 movs r2, #2 80509f2: 701a strb r2, [r3, #0] 80509f4: e061 b.n 8050aba else if(pardata.SYG == WAVE) 80509f6: 4b0d ldr r3, [pc, #52] ; (8050a2c ) 80509f8: 781b ldrb r3, [r3, #0] 80509fa: b2db uxtb r3, r3 80509fc: 2b04 cmp r3, #4 80509fe: d103 bne.n 8050a08 menupos = Wave; 8050a00: 4b06 ldr r3, [pc, #24] ; (8050a1c ) 8050a02: 2204 movs r2, #4 8050a04: 701a strb r2, [r3, #0] 8050a06: e058 b.n 8050aba else if(pardata.SYG == SPEC_OGIB) 8050a08: 4b08 ldr r3, [pc, #32] ; (8050a2c ) 8050a0a: 781b ldrb r3, [r3, #0] 8050a0c: b2db uxtb r3, r3 8050a0e: 2b05 cmp r3, #5 8050a10: d124 bne.n 8050a5c menupos = FFT; 8050a12: 4b02 ldr r3, [pc, #8] ; (8050a1c ) 8050a14: 2203 movs r2, #3 8050a16: 701a strb r2, [r3, #0] 8050a18: e04f b.n 8050aba 8050a1a: bf00 nop 8050a1c: 20020070 .word 0x20020070 8050a20: 20020e54 .word 0x20020e54 8050a24: 20020f08 .word 0x20020f08 8050a28: 20020fbd .word 0x20020fbd 8050a2c: 20023ea8 .word 0x20023ea8 8050a30: 20025cec .word 0x20025cec 8050a34: 080f2b08 .word 0x080f2b08 8050a38: 20025cc8 .word 0x20025cc8 8050a3c: 20020f0c .word 0x20020f0c 8050a40: 20020dec .word 0x20020dec 8050a44: 200216d4 .word 0x200216d4 8050a48: 20020df2 .word 0x20020df2 8050a4c: 20020fbe .word 0x20020fbe 8050a50: 20020071 .word 0x20020071 8050a54: 20020e78 .word 0x20020e78 8050a58: 20020fc8 .word 0x20020fc8 else if(pardata.SYG == SPEC_OKT) 8050a5c: 4ba2 ldr r3, [pc, #648] ; (8050ce8 ) 8050a5e: 781b ldrb r3, [r3, #0] 8050a60: b2db uxtb r3, r3 8050a62: 2b06 cmp r3, #6 8050a64: d103 bne.n 8050a6e menupos = FFT; 8050a66: 4ba1 ldr r3, [pc, #644] ; (8050cec ) 8050a68: 2203 movs r2, #3 8050a6a: 701a strb r2, [r3, #0] 8050a6c: e025 b.n 8050aba else if(pardata.SYG == SPEC_THIRD) 8050a6e: 4b9e ldr r3, [pc, #632] ; (8050ce8 ) 8050a70: 781b ldrb r3, [r3, #0] 8050a72: b2db uxtb r3, r3 8050a74: 2b07 cmp r3, #7 8050a76: d103 bne.n 8050a80 menupos = FFT; 8050a78: 4b9c ldr r3, [pc, #624] ; (8050cec ) 8050a7a: 2203 movs r2, #3 8050a7c: 701a strb r2, [r3, #0] 8050a7e: e01c b.n 8050aba else if(pardata.SYG == ROLL) 8050a80: 4b99 ldr r3, [pc, #612] ; (8050ce8 ) 8050a82: 781b ldrb r3, [r3, #0] 8050a84: b2db uxtb r3, r3 8050a86: 2b08 cmp r3, #8 8050a88: d103 bne.n 8050a92 { #ifdef USE_ROLL menupos = Roll; 8050a8a: 4b98 ldr r3, [pc, #608] ; (8050cec ) 8050a8c: 2206 movs r2, #6 8050a8e: 701a strb r2, [r3, #0] 8050a90: e013 b.n 8050aba pardata.SYG = VIB; menupos = Vibrometer; #endif } else if(pardata.SYG == UDAR) 8050a92: 4b95 ldr r3, [pc, #596] ; (8050ce8 ) 8050a94: 781b ldrb r3, [r3, #0] 8050a96: b2db uxtb r3, r3 8050a98: 2b09 cmp r3, #9 8050a9a: d103 bne.n 8050aa4 { #ifdef USE_UDAR menupos = Udar; 8050a9c: 4b93 ldr r3, [pc, #588] ; (8050cec ) 8050a9e: 2207 movs r2, #7 8050aa0: 701a strb r2, [r3, #0] 8050aa2: e00a b.n 8050aba pardata.SYG = VIB; menupos = Vibrometer; #endif } else if(pardata.SYG == DIAGN) 8050aa4: 4b90 ldr r3, [pc, #576] ; (8050ce8 ) 8050aa6: 781b ldrb r3, [r3, #0] 8050aa8: b2db uxtb r3, r3 8050aaa: 2b0a cmp r3, #10 8050aac: d105 bne.n 8050aba { #ifdef USE_DIAGN menupos = Diagn; #else pardata.SYG = VIB; 8050aae: 4b8e ldr r3, [pc, #568] ; (8050ce8 ) 8050ab0: 2200 movs r2, #0 8050ab2: 701a strb r2, [r3, #0] menupos = Vibrometer; 8050ab4: 4b8d ldr r3, [pc, #564] ; (8050cec ) 8050ab6: 2201 movs r2, #1 8050ab8: 701a strb r2, [r3, #0] #endif } /////////////////////////////// if((pardata.IIN == VOLTS) && (pardata.SYG != SPEC) && (pardata.SYG != VIB) && (pardata.SYG != OSC)) 8050aba: 4b8b ldr r3, [pc, #556] ; (8050ce8 ) 8050abc: 799b ldrb r3, [r3, #6] 8050abe: b2db uxtb r3, r3 8050ac0: 2b02 cmp r3, #2 8050ac2: f040 8233 bne.w 8050f2c 8050ac6: 4b88 ldr r3, [pc, #544] ; (8050ce8 ) 8050ac8: 781b ldrb r3, [r3, #0] 8050aca: b2db uxtb r3, r3 8050acc: 2b01 cmp r3, #1 8050ace: f000 822d beq.w 8050f2c 8050ad2: 4b85 ldr r3, [pc, #532] ; (8050ce8 ) 8050ad4: 781b ldrb r3, [r3, #0] 8050ad6: b2db uxtb r3, r3 8050ad8: 2b00 cmp r3, #0 8050ada: f000 8227 beq.w 8050f2c 8050ade: 4b82 ldr r3, [pc, #520] ; (8050ce8 ) 8050ae0: 781b ldrb r3, [r3, #0] 8050ae2: b2db uxtb r3, r3 8050ae4: 2b02 cmp r3, #2 8050ae6: f000 8221 beq.w 8050f2c { pardata.SYG = VIB; 8050aea: 4b7f ldr r3, [pc, #508] ; (8050ce8 ) 8050aec: 2200 movs r2, #0 8050aee: 701a strb r2, [r3, #0] menupos = Vibrometer; 8050af0: 4b7e ldr r3, [pc, #504] ; (8050cec ) 8050af2: 2201 movs r2, #1 8050af4: 701a strb r2, [r3, #0] } break; 8050af6: e219 b.n 8050f2c case Settings: menu = SETTINGS; 8050af8: 4b7d ldr r3, [pc, #500] ; (8050cf0 ) 8050afa: 2212 movs r2, #18 8050afc: 701a strb r2, [r3, #0] lastmenupos = menupos; 8050afe: 4b7b ldr r3, [pc, #492] ; (8050cec ) 8050b00: 781b ldrb r3, [r3, #0] 8050b02: b2da uxtb r2, r3 8050b04: 4b7b ldr r3, [pc, #492] ; (8050cf4 ) 8050b06: 701a strb r2, [r3, #0] #if (!defined(USE_D101) && !defined(USE_D102)) menupos = Type; 8050b08: 4b78 ldr r3, [pc, #480] ; (8050cec ) 8050b0a: 2201 movs r2, #1 8050b0c: 701a strb r2, [r3, #0] #else menupos = Sens; #endif break; 8050b0e: e217 b.n 8050f40 case PlayFiles: result = FR_NOT_READY; 8050b10: 2303 movs r3, #3 8050b12: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8050b16: 4b78 ldr r3, [pc, #480] ; (8050cf8 ) 8050b18: 781b ldrb r3, [r3, #0] 8050b1a: b2db uxtb r3, r3 8050b1c: 2b03 cmp r3, #3 8050b1e: d13d bne.n 8050b9c { CursorIndex = 0; 8050b20: 4b76 ldr r3, [pc, #472] ; (8050cfc ) 8050b22: 2200 movs r2, #0 8050b24: 601a str r2, [r3, #0] FirstFileIndex = 0; 8050b26: 4b76 ldr r3, [pc, #472] ; (8050d00 ) 8050b28: 2200 movs r2, #0 8050b2a: 601a str r2, [r3, #0] RealFileIndex = 0; 8050b2c: 4b75 ldr r3, [pc, #468] ; (8050d04 ) 8050b2e: 2200 movs r2, #0 8050b30: 601a str r2, [r3, #0] result = ReadNumFilesGTR((uint32_t *) &NumFilesGTR); 8050b32: 4875 ldr r0, [pc, #468] ; (8050d08 ) 8050b34: f7d9 ff68 bl 802aa08 8050b38: 4603 mov r3, r0 8050b3a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050b3e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050b42: 2b00 cmp r3, #0 8050b44: f040 81f5 bne.w 8050f32 { result = ReadMyFilesGTR(FirstFileIndex); 8050b48: 4b6d ldr r3, [pc, #436] ; (8050d00 ) 8050b4a: 681b ldr r3, [r3, #0] 8050b4c: 4618 mov r0, r3 8050b4e: f7da f803 bl 802ab58 8050b52: 4603 mov r3, r0 8050b54: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050b58: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050b5c: 2b00 cmp r3, #0 8050b5e: f040 81e8 bne.w 8050f32 { NumFilesDelete = 0; 8050b62: 4b6a ldr r3, [pc, #424] ; (8050d0c ) 8050b64: 2200 movs r2, #0 8050b66: 601a str r2, [r3, #0] memset(pStrRAM, 0, 40u * MAX_CHECKED_FILES); 8050b68: f44f 42a0 mov.w r2, #20480 ; 0x5000 8050b6c: 2100 movs r1, #0 8050b6e: 4868 ldr r0, [pc, #416] ; (8050d10 ) 8050b70: f080 fc16 bl 80d13a0 menu = ARCHIVE_WAVE; 8050b74: 4b5e ldr r3, [pc, #376] ; (8050cf0 ) 8050b76: 2217 movs r2, #23 8050b78: 701a strb r2, [r3, #0] lastmenupos = menupos; 8050b7a: 4b5c ldr r3, [pc, #368] ; (8050cec ) 8050b7c: 781b ldrb r3, [r3, #0] 8050b7e: b2da uxtb r2, r3 8050b80: 4b5c ldr r3, [pc, #368] ; (8050cf4 ) 8050b82: 701a strb r2, [r3, #0] if(NumFilesGTR) menupos = FilesGTR; 8050b84: 4b60 ldr r3, [pc, #384] ; (8050d08 ) 8050b86: 681b ldr r3, [r3, #0] 8050b88: 2b00 cmp r3, #0 8050b8a: d003 beq.n 8050b94 8050b8c: 4b57 ldr r3, [pc, #348] ; (8050cec ) 8050b8e: 2202 movs r2, #2 8050b90: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 8050b92: e1ce b.n 8050f32 else menupos = NoFilesGTR; 8050b94: 4b55 ldr r3, [pc, #340] ; (8050cec ) 8050b96: 2201 movs r2, #1 8050b98: 701a strb r2, [r3, #0] break; 8050b9a: e1ca b.n 8050f32 if(CardState == MSD_PRESENT) 8050b9c: 4b56 ldr r3, [pc, #344] ; (8050cf8 ) 8050b9e: 781b ldrb r3, [r3, #0] 8050ba0: b2db uxtb r3, r3 8050ba2: 2b01 cmp r3, #1 8050ba4: d10a bne.n 8050bbc STATUS = AP_DISK_ERROR; 8050ba6: 4b5b ldr r3, [pc, #364] ; (8050d14 ) 8050ba8: 220b movs r2, #11 8050baa: 601a str r2, [r3, #0] timerStatus = sec2; 8050bac: 4b5a ldr r3, [pc, #360] ; (8050d18 ) 8050bae: f44f 5280 mov.w r2, #4096 ; 0x1000 8050bb2: 801a strh r2, [r3, #0] DrawStatus = true; 8050bb4: 4b59 ldr r3, [pc, #356] ; (8050d1c ) 8050bb6: 2201 movs r2, #1 8050bb8: 701a strb r2, [r3, #0] break; 8050bba: e1ba b.n 8050f32 if(CardState == MSD_NOCARD) 8050bbc: 4b4e ldr r3, [pc, #312] ; (8050cf8 ) 8050bbe: 781b ldrb r3, [r3, #0] 8050bc0: b2db uxtb r3, r3 8050bc2: 2b00 cmp r3, #0 8050bc4: f040 81b5 bne.w 8050f32 STATUS = AP_NO_CARD; 8050bc8: 4b52 ldr r3, [pc, #328] ; (8050d14 ) 8050bca: 2211 movs r2, #17 8050bcc: 601a str r2, [r3, #0] timerStatus = sec2; 8050bce: 4b52 ldr r3, [pc, #328] ; (8050d18 ) 8050bd0: f44f 5280 mov.w r2, #4096 ; 0x1000 8050bd4: 801a strh r2, [r3, #0] DrawStatus = true; 8050bd6: 4b51 ldr r3, [pc, #324] ; (8050d1c ) 8050bd8: 2201 movs r2, #1 8050bda: 701a strb r2, [r3, #0] break; 8050bdc: e1a9 b.n 8050f32 case Route: result = FR_NOT_READY; 8050bde: 2303 movs r3, #3 8050be0: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8050be4: 4b44 ldr r3, [pc, #272] ; (8050cf8 ) 8050be6: 781b ldrb r3, [r3, #0] 8050be8: b2db uxtb r3, r3 8050bea: 2b03 cmp r3, #3 8050bec: d14b bne.n 8050c86 { CursorIndex = 0; 8050bee: 4b43 ldr r3, [pc, #268] ; (8050cfc ) 8050bf0: 2200 movs r2, #0 8050bf2: 601a str r2, [r3, #0] FirstFileIndex = 0; 8050bf4: 4b42 ldr r3, [pc, #264] ; (8050d00 ) 8050bf6: 2200 movs r2, #0 8050bf8: 601a str r2, [r3, #0] RealFileIndex = 0; 8050bfa: 4b42 ldr r3, [pc, #264] ; (8050d04 ) 8050bfc: 2200 movs r2, #0 8050bfe: 601a str r2, [r3, #0] result = ReadNumFilesCSV((uint32_t *) &NumFilesCSV); 8050c00: 4847 ldr r0, [pc, #284] ; (8050d20 ) 8050c02: f7d9 ff17 bl 802aa34 8050c06: 4603 mov r3, r0 8050c08: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050c0c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050c10: 2b00 cmp r3, #0 8050c12: f040 8191 bne.w 8050f38 { result = ReadMyFilesCSV(FirstFileIndex); 8050c16: 4b3a ldr r3, [pc, #232] ; (8050d00 ) 8050c18: 681b ldr r3, [r3, #0] 8050c1a: 4618 mov r0, r3 8050c1c: f7d9 ffa9 bl 802ab72 8050c20: 4603 mov r3, r0 8050c22: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050c26: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050c2a: 2b00 cmp r3, #0 8050c2c: f040 8184 bne.w 8050f38 { NumFilesDelete = 0; 8050c30: 4b36 ldr r3, [pc, #216] ; (8050d0c ) 8050c32: 2200 movs r2, #0 8050c34: 601a str r2, [r3, #0] memset(pStrRAM, 0, 40u * MAX_CHECKED_FILES); 8050c36: f44f 42a0 mov.w r2, #20480 ; 0x5000 8050c3a: 2100 movs r1, #0 8050c3c: 4834 ldr r0, [pc, #208] ; (8050d10 ) 8050c3e: f080 fbaf bl 80d13a0 lastmenupos = menupos; 8050c42: 4b2a ldr r3, [pc, #168] ; (8050cec ) 8050c44: 781b ldrb r3, [r3, #0] 8050c46: b2da uxtb r2, r3 8050c48: 4b2a ldr r3, [pc, #168] ; (8050cf4 ) 8050c4a: 701a strb r2, [r3, #0] if((RouteFileName[0]) && (pardata.ROUTE_POINT != 0xffffffff)) 8050c4c: 4b35 ldr r3, [pc, #212] ; (8050d24 ) 8050c4e: 781b ldrb r3, [r3, #0] 8050c50: 2b00 cmp r3, #0 8050c52: d009 beq.n 8050c68 8050c54: 4b24 ldr r3, [pc, #144] ; (8050ce8 ) 8050c56: f8d3 34ac ldr.w r3, [r3, #1196] ; 0x4ac 8050c5a: f1b3 3fff cmp.w r3, #4294967295 8050c5e: d003 beq.n 8050c68 { menupos = AskRouteYes; 8050c60: 4b22 ldr r3, [pc, #136] ; (8050cec ) 8050c62: 220a movs r2, #10 8050c64: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 8050c66: e167 b.n 8050f38 menu = ROUTE; 8050c68: 4b21 ldr r3, [pc, #132] ; (8050cf0 ) 8050c6a: 2203 movs r2, #3 8050c6c: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8050c6e: 4b2c ldr r3, [pc, #176] ; (8050d20 ) 8050c70: 681b ldr r3, [r3, #0] 8050c72: 2b00 cmp r3, #0 8050c74: d003 beq.n 8050c7e 8050c76: 4b1d ldr r3, [pc, #116] ; (8050cec ) 8050c78: 2202 movs r2, #2 8050c7a: 701a strb r2, [r3, #0] break; 8050c7c: e15c b.n 8050f38 else menupos = NoFilesCSV; 8050c7e: 4b1b ldr r3, [pc, #108] ; (8050cec ) 8050c80: 2201 movs r2, #1 8050c82: 701a strb r2, [r3, #0] break; 8050c84: e158 b.n 8050f38 if(CardState == MSD_PRESENT) 8050c86: 4b1c ldr r3, [pc, #112] ; (8050cf8 ) 8050c88: 781b ldrb r3, [r3, #0] 8050c8a: b2db uxtb r3, r3 8050c8c: 2b01 cmp r3, #1 8050c8e: d10a bne.n 8050ca6 STATUS = AP_DISK_ERROR; 8050c90: 4b20 ldr r3, [pc, #128] ; (8050d14 ) 8050c92: 220b movs r2, #11 8050c94: 601a str r2, [r3, #0] timerStatus = sec2; 8050c96: 4b20 ldr r3, [pc, #128] ; (8050d18 ) 8050c98: f44f 5280 mov.w r2, #4096 ; 0x1000 8050c9c: 801a strh r2, [r3, #0] DrawStatus = true; 8050c9e: 4b1f ldr r3, [pc, #124] ; (8050d1c ) 8050ca0: 2201 movs r2, #1 8050ca2: 701a strb r2, [r3, #0] break; 8050ca4: e148 b.n 8050f38 if(CardState == MSD_NOCARD) 8050ca6: 4b14 ldr r3, [pc, #80] ; (8050cf8 ) 8050ca8: 781b ldrb r3, [r3, #0] 8050caa: b2db uxtb r3, r3 8050cac: 2b00 cmp r3, #0 8050cae: f040 8143 bne.w 8050f38 STATUS = AP_NO_CARD; 8050cb2: 4b18 ldr r3, [pc, #96] ; (8050d14 ) 8050cb4: 2211 movs r2, #17 8050cb6: 601a str r2, [r3, #0] timerStatus = sec2; 8050cb8: 4b17 ldr r3, [pc, #92] ; (8050d18 ) 8050cba: f44f 5280 mov.w r2, #4096 ; 0x1000 8050cbe: 801a strh r2, [r3, #0] DrawStatus = true; 8050cc0: 4b16 ldr r3, [pc, #88] ; (8050d1c ) 8050cc2: 2201 movs r2, #1 8050cc4: 701a strb r2, [r3, #0] break; 8050cc6: e137 b.n 8050f38 case AskRouteNo: menu = ROUTE; 8050cc8: 4b09 ldr r3, [pc, #36] ; (8050cf0 ) 8050cca: 2203 movs r2, #3 8050ccc: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8050cce: 4b14 ldr r3, [pc, #80] ; (8050d20 ) 8050cd0: 681b ldr r3, [r3, #0] 8050cd2: 2b00 cmp r3, #0 8050cd4: d003 beq.n 8050cde 8050cd6: 4b05 ldr r3, [pc, #20] ; (8050cec ) 8050cd8: 2202 movs r2, #2 8050cda: 701a strb r2, [r3, #0] else menupos = NoFilesCSV; break; 8050cdc: e130 b.n 8050f40 else menupos = NoFilesCSV; 8050cde: 4b03 ldr r3, [pc, #12] ; (8050cec ) 8050ce0: 2201 movs r2, #1 8050ce2: 701a strb r2, [r3, #0] break; 8050ce4: e12c b.n 8050f40 8050ce6: bf00 nop 8050ce8: 20023ea8 .word 0x20023ea8 8050cec: 20020070 .word 0x20020070 8050cf0: 20020fbd .word 0x20020fbd 8050cf4: 20020071 .word 0x20020071 8050cf8: 20021694 .word 0x20021694 8050cfc: 20020e00 .word 0x20020e00 8050d00: 20020e04 .word 0x20020e04 8050d04: 20020e08 .word 0x20020e08 8050d08: 20020e24 .word 0x20020e24 8050d0c: 20020e2c .word 0x20020e2c 8050d10: 6404b000 .word 0x6404b000 8050d14: 20020dec .word 0x20020dec 8050d18: 200216d4 .word 0x200216d4 8050d1c: 20020df2 .word 0x20020df2 8050d20: 20020e28 .word 0x20020e28 8050d24: 20020ec0 .word 0x20020ec0 case AskRouteYes: memset(RouteName, 0, sizeof(RouteName)); 8050d28: 2228 movs r2, #40 ; 0x28 8050d2a: 2100 movs r1, #0 8050d2c: 4895 ldr r0, [pc, #596] ; (8050f84 ) 8050d2e: f080 fb37 bl 80d13a0 strcpy(RouteName, RouteFileName); 8050d32: 4995 ldr r1, [pc, #596] ; (8050f88 ) 8050d34: 4893 ldr r0, [pc, #588] ; (8050f84 ) 8050d36: f080 fc50 bl 80d15da memset((void *) &RouteMeas(0), 0, 65536); 8050d3a: f44f 3280 mov.w r2, #65536 ; 0x10000 8050d3e: 2100 movs r1, #0 8050d40: 4892 ldr r0, [pc, #584] ; (8050f8c ) 8050d42: f080 fb2d bl 80d13a0 RoutePointID = 0xffffffff; 8050d46: 4b92 ldr r3, [pc, #584] ; (8050f90 ) 8050d48: f04f 32ff mov.w r2, #4294967295 8050d4c: 601a str r2, [r3, #0] // ÷èòàåì êîë-âî èçìåðåíèé â ìàðøðóòå result = OpenFileCSV(RouteName); //êîë-âî òî÷åê â ìàðøðóòå 8050d4e: 488d ldr r0, [pc, #564] ; (8050f84 ) 8050d50: f7d7 f9c8 bl 80280e4 8050d54: 4603 mov r3, r0 8050d56: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050d5a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050d5e: 2b00 cmp r3, #0 8050d60: f040 8085 bne.w 8050e6e { result = ReadFileCSV_TMP(RouteName); //ôàéë ñ òàáëèöåé èçìåðåííûõ òî÷åê òåêóùåãî ìàðøðóòà è òåêóùåé òî÷êè 8050d64: 4887 ldr r0, [pc, #540] ; (8050f84 ) 8050d66: f7d7 fb1b bl 80283a0 8050d6a: 4603 mov r3, r0 8050d6c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050d70: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050d74: 2b00 cmp r3, #0 8050d76: d157 bne.n 8050e28 { RouteIndex = pardata.ROUTE_POINT; ///////////////////////////////// 8050d78: 4b86 ldr r3, [pc, #536] ; (8050f94 ) 8050d7a: f8d3 34ac ldr.w r3, [r3, #1196] ; 0x4ac 8050d7e: 4a86 ldr r2, [pc, #536] ; (8050f98 ) 8050d80: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 8050d82: 4b85 ldr r3, [pc, #532] ; (8050f98 ) 8050d84: 681b ldr r3, [r3, #0] 8050d86: 497f ldr r1, [pc, #508] ; (8050f84 ) 8050d88: 4618 mov r0, r3 8050d8a: f7d7 fde1 bl 8028950 8050d8e: 4603 mov r3, r0 8050d90: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050d94: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050d98: 2b00 cmp r3, #0 8050d9a: d122 bne.n 8050de2 { if(RoutePath[0]) 8050d9c: 4b7f ldr r3, [pc, #508] ; (8050f9c ) 8050d9e: 781b ldrb r3, [r3, #0] 8050da0: 2b00 cmp r3, #0 8050da2: f000 80cc beq.w 8050f3e { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 8050da6: 4a7e ldr r2, [pc, #504] ; (8050fa0 ) 8050da8: 4b7a ldr r3, [pc, #488] ; (8050f94 ) 8050daa: 4610 mov r0, r2 8050dac: 4619 mov r1, r3 8050dae: f44f 6396 mov.w r3, #1200 ; 0x4b0 8050db2: 461a mov r2, r3 8050db4: f080 fae9 bl 80d138a pardata.SYG = WAVE; 8050db8: 4b76 ldr r3, [pc, #472] ; (8050f94 ) 8050dba: 2204 movs r2, #4 8050dbc: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8050dbe: 4b75 ldr r3, [pc, #468] ; (8050f94 ) 8050dc0: 2200 movs r2, #0 8050dc2: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8050dc4: 4b73 ldr r3, [pc, #460] ; (8050f94 ) 8050dc6: 7bdb ldrb r3, [r3, #15] 8050dc8: b2db uxtb r3, r3 8050dca: f003 037f and.w r3, r3, #127 ; 0x7f 8050dce: b2da uxtb r2, r3 8050dd0: 4b70 ldr r3, [pc, #448] ; (8050f94 ) 8050dd2: 73da strb r2, [r3, #15] menu = ROUTE_MAP; 8050dd4: 4b73 ldr r3, [pc, #460] ; (8050fa4 ) 8050dd6: 2204 movs r2, #4 8050dd8: 701a strb r2, [r3, #0] menupos = GoMeas; 8050dda: 4b73 ldr r3, [pc, #460] ; (8050fa8 ) 8050ddc: 2201 movs r2, #1 8050dde: 701a strb r2, [r3, #0] menu = ROUTE; if(NumFilesCSV) menupos = FilesCSV; else menupos = NoFilesCSV; } break; 8050de0: e0ad b.n 8050f3e STATUS = AP_INVALID_FILE; 8050de2: 4b72 ldr r3, [pc, #456] ; (8050fac ) 8050de4: 2202 movs r2, #2 8050de6: 601a str r2, [r3, #0] timerStatus = sec2; 8050de8: 4b71 ldr r3, [pc, #452] ; (8050fb0 ) 8050dea: f44f 5280 mov.w r2, #4096 ; 0x1000 8050dee: 801a strh r2, [r3, #0] DrawStatus = true; 8050df0: 4b70 ldr r3, [pc, #448] ; (8050fb4 ) 8050df2: 2201 movs r2, #1 8050df4: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 8050df6: 2228 movs r2, #40 ; 0x28 8050df8: 2100 movs r1, #0 8050dfa: 486f ldr r0, [pc, #444] ; (8050fb8 ) 8050dfc: f080 fad0 bl 80d13a0 pardata.ROUTE_POINT = 0xffffffff; 8050e00: 4b64 ldr r3, [pc, #400] ; (8050f94 ) 8050e02: f04f 32ff mov.w r2, #4294967295 8050e06: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 8050e0a: 4b66 ldr r3, [pc, #408] ; (8050fa4 ) 8050e0c: 2203 movs r2, #3 8050e0e: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8050e10: 4b6a ldr r3, [pc, #424] ; (8050fbc ) 8050e12: 681b ldr r3, [r3, #0] 8050e14: 2b00 cmp r3, #0 8050e16: d003 beq.n 8050e20 8050e18: 4b63 ldr r3, [pc, #396] ; (8050fa8 ) 8050e1a: 2202 movs r2, #2 8050e1c: 701a strb r2, [r3, #0] break; 8050e1e: e08e b.n 8050f3e else menupos = NoFilesCSV; 8050e20: 4b61 ldr r3, [pc, #388] ; (8050fa8 ) 8050e22: 2201 movs r2, #1 8050e24: 701a strb r2, [r3, #0] break; 8050e26: e08a b.n 8050f3e STATUS = AP_INVALID_FILE; 8050e28: 4b60 ldr r3, [pc, #384] ; (8050fac ) 8050e2a: 2202 movs r2, #2 8050e2c: 601a str r2, [r3, #0] timerStatus = sec2; 8050e2e: 4b60 ldr r3, [pc, #384] ; (8050fb0 ) 8050e30: f44f 5280 mov.w r2, #4096 ; 0x1000 8050e34: 801a strh r2, [r3, #0] DrawStatus = true; 8050e36: 4b5f ldr r3, [pc, #380] ; (8050fb4 ) 8050e38: 2201 movs r2, #1 8050e3a: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 8050e3c: 2228 movs r2, #40 ; 0x28 8050e3e: 2100 movs r1, #0 8050e40: 485d ldr r0, [pc, #372] ; (8050fb8 ) 8050e42: f080 faad bl 80d13a0 pardata.ROUTE_POINT = 0xffffffff; 8050e46: 4b53 ldr r3, [pc, #332] ; (8050f94 ) 8050e48: f04f 32ff mov.w r2, #4294967295 8050e4c: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 8050e50: 4b54 ldr r3, [pc, #336] ; (8050fa4 ) 8050e52: 2203 movs r2, #3 8050e54: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8050e56: 4b59 ldr r3, [pc, #356] ; (8050fbc ) 8050e58: 681b ldr r3, [r3, #0] 8050e5a: 2b00 cmp r3, #0 8050e5c: d003 beq.n 8050e66 8050e5e: 4b52 ldr r3, [pc, #328] ; (8050fa8 ) 8050e60: 2202 movs r2, #2 8050e62: 701a strb r2, [r3, #0] break; 8050e64: e06b b.n 8050f3e else menupos = NoFilesCSV; 8050e66: 4b50 ldr r3, [pc, #320] ; (8050fa8 ) 8050e68: 2201 movs r2, #1 8050e6a: 701a strb r2, [r3, #0] break; 8050e6c: e067 b.n 8050f3e if(result == FR_NOT_READY) 8050e6e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050e72: 2b03 cmp r3, #3 8050e74: d122 bne.n 8050ebc STATUS = AP_NO_CARD; 8050e76: 4b4d ldr r3, [pc, #308] ; (8050fac ) 8050e78: 2211 movs r2, #17 8050e7a: 601a str r2, [r3, #0] timerStatus = sec2; 8050e7c: 4b4c ldr r3, [pc, #304] ; (8050fb0 ) 8050e7e: f44f 5280 mov.w r2, #4096 ; 0x1000 8050e82: 801a strh r2, [r3, #0] DrawStatus = true; 8050e84: 4b4b ldr r3, [pc, #300] ; (8050fb4 ) 8050e86: 2201 movs r2, #1 8050e88: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 8050e8a: 2228 movs r2, #40 ; 0x28 8050e8c: 2100 movs r1, #0 8050e8e: 484a ldr r0, [pc, #296] ; (8050fb8 ) 8050e90: f080 fa86 bl 80d13a0 pardata.ROUTE_POINT = 0xffffffff; 8050e94: 4b3f ldr r3, [pc, #252] ; (8050f94 ) 8050e96: f04f 32ff mov.w r2, #4294967295 8050e9a: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 8050e9e: 4b41 ldr r3, [pc, #260] ; (8050fa4 ) 8050ea0: 2203 movs r2, #3 8050ea2: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8050ea4: 4b45 ldr r3, [pc, #276] ; (8050fbc ) 8050ea6: 681b ldr r3, [r3, #0] 8050ea8: 2b00 cmp r3, #0 8050eaa: d003 beq.n 8050eb4 8050eac: 4b3e ldr r3, [pc, #248] ; (8050fa8 ) 8050eae: 2202 movs r2, #2 8050eb0: 701a strb r2, [r3, #0] break; 8050eb2: e044 b.n 8050f3e else menupos = NoFilesCSV; 8050eb4: 4b3c ldr r3, [pc, #240] ; (8050fa8 ) 8050eb6: 2201 movs r2, #1 8050eb8: 701a strb r2, [r3, #0] break; 8050eba: e040 b.n 8050f3e STATUS = AP_INVALID_FILE; 8050ebc: 4b3b ldr r3, [pc, #236] ; (8050fac ) 8050ebe: 2202 movs r2, #2 8050ec0: 601a str r2, [r3, #0] timerStatus = sec2; 8050ec2: 4b3b ldr r3, [pc, #236] ; (8050fb0 ) 8050ec4: f44f 5280 mov.w r2, #4096 ; 0x1000 8050ec8: 801a strh r2, [r3, #0] DrawStatus = true; 8050eca: 4b3a ldr r3, [pc, #232] ; (8050fb4 ) 8050ecc: 2201 movs r2, #1 8050ece: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 8050ed0: 2228 movs r2, #40 ; 0x28 8050ed2: 2100 movs r1, #0 8050ed4: 4838 ldr r0, [pc, #224] ; (8050fb8 ) 8050ed6: f080 fa63 bl 80d13a0 pardata.ROUTE_POINT = 0xffffffff; 8050eda: 4b2e ldr r3, [pc, #184] ; (8050f94 ) 8050edc: f04f 32ff mov.w r2, #4294967295 8050ee0: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 8050ee4: 4b2f ldr r3, [pc, #188] ; (8050fa4 ) 8050ee6: 2203 movs r2, #3 8050ee8: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8050eea: 4b34 ldr r3, [pc, #208] ; (8050fbc ) 8050eec: 681b ldr r3, [r3, #0] 8050eee: 2b00 cmp r3, #0 8050ef0: d003 beq.n 8050efa 8050ef2: 4b2d ldr r3, [pc, #180] ; (8050fa8 ) 8050ef4: 2202 movs r2, #2 8050ef6: 701a strb r2, [r3, #0] break; 8050ef8: e021 b.n 8050f3e else menupos = NoFilesCSV; 8050efa: 4b2b ldr r3, [pc, #172] ; (8050fa8 ) 8050efc: 2201 movs r2, #1 8050efe: 701a strb r2, [r3, #0] break; 8050f00: e01d b.n 8050f3e case AskFormatNo: menupos = Mode; 8050f02: 4b29 ldr r3, [pc, #164] ; (8050fa8 ) 8050f04: 2201 movs r2, #1 8050f06: 701a strb r2, [r3, #0] break; 8050f08: e01a b.n 8050f40 case AskFormatYes: STATUS = AP_OK; 8050f0a: 4b28 ldr r3, [pc, #160] ; (8050fac ) 8050f0c: 2200 movs r2, #0 8050f0e: 601a str r2, [r3, #0] NeedFormat = 1; 8050f10: 4b2b ldr r3, [pc, #172] ; (8050fc0 ) 8050f12: 2201 movs r2, #1 8050f14: 701a strb r2, [r3, #0] FormatStatus = AP_OK; 8050f16: 4b2b ldr r3, [pc, #172] ; (8050fc4 ) 8050f18: 2200 movs r2, #0 8050f1a: 701a strb r2, [r3, #0] menupos = AskFormatResult; 8050f1c: 4b22 ldr r3, [pc, #136] ; (8050fa8 ) 8050f1e: 2208 movs r2, #8 8050f20: 701a strb r2, [r3, #0] break; 8050f22: e00d b.n 8050f40 case AskFormatResult: menupos = Mode; 8050f24: 4b20 ldr r3, [pc, #128] ; (8050fa8 ) 8050f26: 2201 movs r2, #1 8050f28: 701a strb r2, [r3, #0] break; 8050f2a: e009 b.n 8050f40 break; 8050f2c: bf00 nop 8050f2e: f002 bdfc b.w 8053b2a break; 8050f32: bf00 nop 8050f34: f002 bdf9 b.w 8053b2a break; 8050f38: bf00 nop 8050f3a: f002 bdf6 b.w 8053b2a break; 8050f3e: bf00 nop } break; 8050f40: f002 bdf3 b.w 8053b2a case ROUTE: //ok HISTORY = false; 8050f44: 4b20 ldr r3, [pc, #128] ; (8050fc8 ) 8050f46: 2200 movs r2, #0 8050f48: 701a strb r2, [r3, #0] switch(menupos) 8050f4a: 4b17 ldr r3, [pc, #92] ; (8050fa8 ) 8050f4c: 781b ldrb r3, [r3, #0] 8050f4e: b2db uxtb r3, r3 8050f50: 3b02 subs r3, #2 8050f52: 2b08 cmp r3, #8 8050f54: f202 85eb bhi.w 8053b2e 8050f58: a201 add r2, pc, #4 ; (adr r2, 8050f60 ) 8050f5a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8050f5e: bf00 nop 8050f60: 08050fcd .word 0x08050fcd 8050f64: 08053b2f .word 0x08053b2f 8050f68: 08053b2f .word 0x08053b2f 8050f6c: 08053b2f .word 0x08053b2f 8050f70: 080510ef .word 0x080510ef 8050f74: 080510f7 .word 0x080510f7 8050f78: 08053b2f .word 0x08053b2f 8050f7c: 08053b2f .word 0x08053b2f 8050f80: 08051111 .word 0x08051111 8050f84: 20022670 .word 0x20022670 8050f88: 20020ec0 .word 0x20020ec0 8050f8c: 64100000 .word 0x64100000 8050f90: 20020034 .word 0x20020034 8050f94: 20023ea8 .word 0x20023ea8 8050f98: 20020fb0 .word 0x20020fb0 8050f9c: 20022c28 .word 0x20022c28 8050fa0: 200243c4 .word 0x200243c4 8050fa4: 20020fbd .word 0x20020fbd 8050fa8: 20020070 .word 0x20020070 8050fac: 20020dec .word 0x20020dec 8050fb0: 200216d4 .word 0x200216d4 8050fb4: 20020df2 .word 0x20020df2 8050fb8: 2002432c .word 0x2002432c 8050fbc: 20020e28 .word 0x20020e28 8050fc0: 20020dfd .word 0x20020dfd 8050fc4: 20020df1 .word 0x20020df1 8050fc8: 20020fba .word 0x20020fba { case FilesCSV: memset(RouteName, 0, sizeof(RouteName)); 8050fcc: 2228 movs r2, #40 ; 0x28 8050fce: 2100 movs r1, #0 8050fd0: 48a1 ldr r0, [pc, #644] ; (8051258 ) 8050fd2: f080 f9e5 bl 80d13a0 strcpy(RouteName, (char *) ExplorerFiles[CursorIndex].fname); 8050fd6: 4ba1 ldr r3, [pc, #644] ; (805125c ) 8050fd8: 681a ldr r2, [r3, #0] 8050fda: 4613 mov r3, r2 8050fdc: 00db lsls r3, r3, #3 8050fde: 1a9b subs r3, r3, r2 8050fe0: 00db lsls r3, r3, #3 8050fe2: 3308 adds r3, #8 8050fe4: 4a9e ldr r2, [pc, #632] ; (8051260 ) 8050fe6: 4413 add r3, r2 8050fe8: 3304 adds r3, #4 8050fea: 4619 mov r1, r3 8050fec: 489a ldr r0, [pc, #616] ; (8051258 ) 8050fee: f080 faf4 bl 80d15da memset((void *) &RouteMeas(0), 0, 65536); 8050ff2: f44f 3280 mov.w r2, #65536 ; 0x10000 8050ff6: 2100 movs r1, #0 8050ff8: 489a ldr r0, [pc, #616] ; (8051264 ) 8050ffa: f080 f9d1 bl 80d13a0 RoutePointID = 0xffffffff; 8050ffe: 4b9a ldr r3, [pc, #616] ; (8051268 ) 8051000: f04f 32ff mov.w r2, #4294967295 8051004: 601a str r2, [r3, #0] // ÷èòàåì êîë-âî èçìåðåíèé â ìàðøðóòå result = OpenFileCSV(RouteName); //êîë-âî òî÷åê â ìàðøðóòå 8051006: 4894 ldr r0, [pc, #592] ; (8051258 ) 8051008: f7d7 f86c bl 80280e4 805100c: 4603 mov r3, r0 805100e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051012: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051016: 2b00 cmp r3, #0 8051018: d14f bne.n 80510ba { result = ReadFileCSV_TMP(RouteName); //ôàéë ñ òàáëèöåé èçìåðåííûõ òî÷åê òåêóùåãî ìàðøðóòà è òåêóùåé òî÷êè 805101a: 488f ldr r0, [pc, #572] ; (8051258 ) 805101c: f7d7 f9c0 bl 80283a0 8051020: 4603 mov r3, r0 8051022: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051026: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805102a: 2b00 cmp r3, #0 805102c: d13a bne.n 80510a4 { result = GetRoutePath(RouteIndex, RouteName); 805102e: 4b8f ldr r3, [pc, #572] ; (805126c ) 8051030: 681b ldr r3, [r3, #0] 8051032: 4989 ldr r1, [pc, #548] ; (8051258 ) 8051034: 4618 mov r0, r3 8051036: f7d7 fc8b bl 8028950 805103a: 4603 mov r3, r0 805103c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051040: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051044: 2b00 cmp r3, #0 8051046: d122 bne.n 805108e { if(RoutePath[0]) 8051048: 4b89 ldr r3, [pc, #548] ; (8051270 ) 805104a: 781b ldrb r3, [r3, #0] 805104c: 2b00 cmp r3, #0 805104e: f000 809a beq.w 8051186 { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 8051052: 4a88 ldr r2, [pc, #544] ; (8051274 ) 8051054: 4b88 ldr r3, [pc, #544] ; (8051278 ) 8051056: 4610 mov r0, r2 8051058: 4619 mov r1, r3 805105a: f44f 6396 mov.w r3, #1200 ; 0x4b0 805105e: 461a mov r2, r3 8051060: f080 f993 bl 80d138a pardata.SYG = WAVE; 8051064: 4b84 ldr r3, [pc, #528] ; (8051278 ) 8051066: 2204 movs r2, #4 8051068: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 805106a: 4b83 ldr r3, [pc, #524] ; (8051278 ) 805106c: 2200 movs r2, #0 805106e: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8051070: 4b81 ldr r3, [pc, #516] ; (8051278 ) 8051072: 7bdb ldrb r3, [r3, #15] 8051074: b2db uxtb r3, r3 8051076: f003 037f and.w r3, r3, #127 ; 0x7f 805107a: b2da uxtb r2, r3 805107c: 4b7e ldr r3, [pc, #504] ; (8051278 ) 805107e: 73da strb r2, [r3, #15] menu = ROUTE_MAP; 8051080: 4b7e ldr r3, [pc, #504] ; (805127c ) 8051082: 2204 movs r2, #4 8051084: 701a strb r2, [r3, #0] menupos = GoMeas; 8051086: 4b7e ldr r3, [pc, #504] ; (8051280 ) 8051088: 2201 movs r2, #1 805108a: 701a strb r2, [r3, #0] { STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 805108c: e07b b.n 8051186 STATUS = AP_INVALID_FILE; 805108e: 4b7d ldr r3, [pc, #500] ; (8051284 ) 8051090: 2202 movs r2, #2 8051092: 601a str r2, [r3, #0] timerStatus = sec2; 8051094: 4b7c ldr r3, [pc, #496] ; (8051288 ) 8051096: f44f 5280 mov.w r2, #4096 ; 0x1000 805109a: 801a strh r2, [r3, #0] DrawStatus = true; 805109c: 4b7b ldr r3, [pc, #492] ; (805128c ) 805109e: 2201 movs r2, #1 80510a0: 701a strb r2, [r3, #0] break; 80510a2: e070 b.n 8051186 STATUS = AP_INVALID_FILE; 80510a4: 4b77 ldr r3, [pc, #476] ; (8051284 ) 80510a6: 2202 movs r2, #2 80510a8: 601a str r2, [r3, #0] timerStatus = sec2; 80510aa: 4b77 ldr r3, [pc, #476] ; (8051288 ) 80510ac: f44f 5280 mov.w r2, #4096 ; 0x1000 80510b0: 801a strh r2, [r3, #0] DrawStatus = true; 80510b2: 4b76 ldr r3, [pc, #472] ; (805128c ) 80510b4: 2201 movs r2, #1 80510b6: 701a strb r2, [r3, #0] break; 80510b8: e065 b.n 8051186 if(result == FR_NOT_READY) 80510ba: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80510be: 2b03 cmp r3, #3 80510c0: d10a bne.n 80510d8 STATUS = AP_NO_CARD; 80510c2: 4b70 ldr r3, [pc, #448] ; (8051284 ) 80510c4: 2211 movs r2, #17 80510c6: 601a str r2, [r3, #0] timerStatus = sec2; 80510c8: 4b6f ldr r3, [pc, #444] ; (8051288 ) 80510ca: f44f 5280 mov.w r2, #4096 ; 0x1000 80510ce: 801a strh r2, [r3, #0] DrawStatus = true; 80510d0: 4b6e ldr r3, [pc, #440] ; (805128c ) 80510d2: 2201 movs r2, #1 80510d4: 701a strb r2, [r3, #0] break; 80510d6: e056 b.n 8051186 STATUS = AP_INVALID_FILE; 80510d8: 4b6a ldr r3, [pc, #424] ; (8051284 ) 80510da: 2202 movs r2, #2 80510dc: 601a str r2, [r3, #0] timerStatus = sec2; 80510de: 4b6a ldr r3, [pc, #424] ; (8051288 ) 80510e0: f44f 5280 mov.w r2, #4096 ; 0x1000 80510e4: 801a strh r2, [r3, #0] DrawStatus = true; 80510e6: 4b69 ldr r3, [pc, #420] ; (805128c ) 80510e8: 2201 movs r2, #1 80510ea: 701a strb r2, [r3, #0] break; 80510ec: e04b b.n 8051186 case UpNo: menupos = FilesCSV; 80510ee: 4b64 ldr r3, [pc, #400] ; (8051280 ) 80510f0: 2202 movs r2, #2 80510f2: 701a strb r2, [r3, #0] break; 80510f4: e04b b.n 805118e case UpYes: STATUS = AP_OK; 80510f6: 4b63 ldr r3, [pc, #396] ; (8051284 ) 80510f8: 2200 movs r2, #0 80510fa: 601a str r2, [r3, #0] CleanStatus = AP_OK; 80510fc: 4b64 ldr r3, [pc, #400] ; (8051290 ) 80510fe: 2200 movs r2, #0 8051100: 701a strb r2, [r3, #0] NeedClean = 3; 8051102: 4b64 ldr r3, [pc, #400] ; (8051294 ) 8051104: 2203 movs r2, #3 8051106: 701a strb r2, [r3, #0] menupos = CleanUpResult; 8051108: 4b5d ldr r3, [pc, #372] ; (8051280 ) 805110a: 220a movs r2, #10 805110c: 701a strb r2, [r3, #0] break; 805110e: e03e b.n 805118e case CleanUpResult: if(NeedClean == 0) 8051110: 4b60 ldr r3, [pc, #384] ; (8051294 ) 8051112: 781b ldrb r3, [r3, #0] 8051114: b2db uxtb r3, r3 8051116: 2b00 cmp r3, #0 8051118: d138 bne.n 805118c { result = FR_NOT_READY; 805111a: 2303 movs r3, #3 805111c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8051120: 4b5d ldr r3, [pc, #372] ; (8051298 ) 8051122: 781b ldrb r3, [r3, #0] 8051124: b2db uxtb r3, r3 8051126: 2b03 cmp r3, #3 8051128: d130 bne.n 805118c { CursorIndex = 0; 805112a: 4b4c ldr r3, [pc, #304] ; (805125c ) 805112c: 2200 movs r2, #0 805112e: 601a str r2, [r3, #0] FirstFileIndex = 0; 8051130: 4b5a ldr r3, [pc, #360] ; (805129c ) 8051132: 2200 movs r2, #0 8051134: 601a str r2, [r3, #0] RealFileIndex = 0; 8051136: 4b5a ldr r3, [pc, #360] ; (80512a0 ) 8051138: 2200 movs r2, #0 805113a: 601a str r2, [r3, #0] result = ReadNumFilesCSV((uint32_t *) &NumFilesCSV); 805113c: 4859 ldr r0, [pc, #356] ; (80512a4 ) 805113e: f7d9 fc79 bl 802aa34 8051142: 4603 mov r3, r0 8051144: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051148: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805114c: 2b00 cmp r3, #0 805114e: d11d bne.n 805118c { result = ReadMyFilesCSV(FirstFileIndex); 8051150: 4b52 ldr r3, [pc, #328] ; (805129c ) 8051152: 681b ldr r3, [r3, #0] 8051154: 4618 mov r0, r3 8051156: f7d9 fd0c bl 802ab72 805115a: 4603 mov r3, r0 805115c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051160: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051164: 2b00 cmp r3, #0 8051166: d111 bne.n 805118c { menu = ROUTE; 8051168: 4b44 ldr r3, [pc, #272] ; (805127c ) 805116a: 2203 movs r2, #3 805116c: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 805116e: 4b4d ldr r3, [pc, #308] ; (80512a4 ) 8051170: 681b ldr r3, [r3, #0] 8051172: 2b00 cmp r3, #0 8051174: d003 beq.n 805117e 8051176: 4b42 ldr r3, [pc, #264] ; (8051280 ) 8051178: 2202 movs r2, #2 805117a: 701a strb r2, [r3, #0] else menupos = NoFilesCSV; } } } } break; 805117c: e006 b.n 805118c else menupos = NoFilesCSV; 805117e: 4b40 ldr r3, [pc, #256] ; (8051280 ) 8051180: 2201 movs r2, #1 8051182: 701a strb r2, [r3, #0] break; 8051184: e002 b.n 805118c break; 8051186: bf00 nop 8051188: f002 bcd1 b.w 8053b2e break; 805118c: bf00 nop } break; 805118e: f002 bcce b.w 8053b2e case ROUTE_MAP: //OK switch(menupos) 8051192: 4b3b ldr r3, [pc, #236] ; (8051280 ) 8051194: 781b ldrb r3, [r3, #0] 8051196: b2db uxtb r3, r3 8051198: 2b0e cmp r3, #14 805119a: f202 84ca bhi.w 8053b32 805119e: a201 add r2, pc, #4 ; (adr r2, 80511a4 ) 80511a0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80511a4: 080511e1 .word 0x080511e1 80511a8: 08051625 .word 0x08051625 80511ac: 08051317 .word 0x08051317 80511b0: 08051581 .word 0x08051581 80511b4: 080515b3 .word 0x080515b3 80511b8: 080515d3 .word 0x080515d3 80511bc: 08051615 .word 0x08051615 80511c0: 0805161d .word 0x0805161d 80511c4: 0805161d .word 0x0805161d 80511c8: 0805161d .word 0x0805161d 80511cc: 0805161d .word 0x0805161d 80511d0: 0805161d .word 0x0805161d 80511d4: 0805161d .word 0x0805161d 80511d8: 08051411 .word 0x08051411 80511dc: 0805139b .word 0x0805139b { case PrevPoint: if(RouteIndex > 0) 80511e0: 4b22 ldr r3, [pc, #136] ; (805126c ) 80511e2: 681b ldr r3, [r3, #0] 80511e4: 2b00 cmp r3, #0 80511e6: d05f beq.n 80512a8 { oldIndex = RouteIndex; 80511e8: 4b20 ldr r3, [pc, #128] ; (805126c ) 80511ea: 681b ldr r3, [r3, #0] 80511ec: 677b str r3, [r7, #116] ; 0x74 RouteIndex--; 80511ee: 4b1f ldr r3, [pc, #124] ; (805126c ) 80511f0: 681b ldr r3, [r3, #0] 80511f2: 3b01 subs r3, #1 80511f4: 4a1d ldr r2, [pc, #116] ; (805126c ) 80511f6: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 80511f8: 4b1c ldr r3, [pc, #112] ; (805126c ) 80511fa: 681b ldr r3, [r3, #0] 80511fc: 4916 ldr r1, [pc, #88] ; (8051258 ) 80511fe: 4618 mov r0, r3 8051200: f7d7 fba6 bl 8028950 8051204: 4603 mov r3, r0 8051206: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805120a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805120e: 2b00 cmp r3, #0 8051210: d113 bne.n 805123a { if(RoutePath[0]) 8051212: 4b17 ldr r3, [pc, #92] ; (8051270 ) 8051214: 781b ldrb r3, [r3, #0] 8051216: 2b00 cmp r3, #0 8051218: f000 8216 beq.w 8051648 { pardata.SYG = WAVE; 805121c: 4b16 ldr r3, [pc, #88] ; (8051278 ) 805121e: 2204 movs r2, #4 8051220: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8051222: 4b15 ldr r3, [pc, #84] ; (8051278 ) 8051224: 2200 movs r2, #0 8051226: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8051228: 4b13 ldr r3, [pc, #76] ; (8051278 ) 805122a: 7bdb ldrb r3, [r3, #15] 805122c: b2db uxtb r3, r3 805122e: f003 037f and.w r3, r3, #127 ; 0x7f 8051232: b2da uxtb r2, r3 8051234: 4b10 ldr r3, [pc, #64] ; (8051278 ) 8051236: 73da strb r2, [r3, #15] STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } } break; 8051238: e206 b.n 8051648 RouteIndex = oldIndex; 805123a: 4a0c ldr r2, [pc, #48] ; (805126c ) 805123c: 6f7b ldr r3, [r7, #116] ; 0x74 805123e: 6013 str r3, [r2, #0] STATUS = AP_INVALID_FILE; 8051240: 4b10 ldr r3, [pc, #64] ; (8051284 ) 8051242: 2202 movs r2, #2 8051244: 601a str r2, [r3, #0] timerStatus = sec2; 8051246: 4b10 ldr r3, [pc, #64] ; (8051288 ) 8051248: f44f 5280 mov.w r2, #4096 ; 0x1000 805124c: 801a strh r2, [r3, #0] DrawStatus = true; 805124e: 4b0f ldr r3, [pc, #60] ; (805128c ) 8051250: 2201 movs r2, #1 8051252: 701a strb r2, [r3, #0] break; 8051254: e1f8 b.n 8051648 8051256: bf00 nop 8051258: 20022670 .word 0x20022670 805125c: 20020e00 .word 0x20020e00 8051260: 20022398 .word 0x20022398 8051264: 64100000 .word 0x64100000 8051268: 20020034 .word 0x20020034 805126c: 20020fb0 .word 0x20020fb0 8051270: 20022c28 .word 0x20022c28 8051274: 200243c4 .word 0x200243c4 8051278: 20023ea8 .word 0x20023ea8 805127c: 20020fbd .word 0x20020fbd 8051280: 20020070 .word 0x20020070 8051284: 20020dec .word 0x20020dec 8051288: 200216d4 .word 0x200216d4 805128c: 20020df2 .word 0x20020df2 8051290: 20020df0 .word 0x20020df0 8051294: 20020dfc .word 0x20020dfc 8051298: 20021694 .word 0x20021694 805129c: 20020e04 .word 0x20020e04 80512a0: 20020e08 .word 0x20020e08 80512a4: 20020e28 .word 0x20020e28 oldIndex = RouteIndex; 80512a8: 4ba9 ldr r3, [pc, #676] ; (8051550 ) 80512aa: 681b ldr r3, [r3, #0] 80512ac: 677b str r3, [r7, #116] ; 0x74 RouteIndex = MaxRouteIndex - 1; 80512ae: 4ba9 ldr r3, [pc, #676] ; (8051554 ) 80512b0: 681b ldr r3, [r3, #0] 80512b2: 3b01 subs r3, #1 80512b4: 4aa6 ldr r2, [pc, #664] ; (8051550 ) 80512b6: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 80512b8: 4ba5 ldr r3, [pc, #660] ; (8051550 ) 80512ba: 681b ldr r3, [r3, #0] 80512bc: 49a6 ldr r1, [pc, #664] ; (8051558 ) 80512be: 4618 mov r0, r3 80512c0: f7d7 fb46 bl 8028950 80512c4: 4603 mov r3, r0 80512c6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80512ca: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80512ce: 2b00 cmp r3, #0 80512d0: d113 bne.n 80512fa if(RoutePath[0]) 80512d2: 4ba2 ldr r3, [pc, #648] ; (805155c ) 80512d4: 781b ldrb r3, [r3, #0] 80512d6: 2b00 cmp r3, #0 80512d8: f000 81b6 beq.w 8051648 pardata.SYG = WAVE; 80512dc: 4ba0 ldr r3, [pc, #640] ; (8051560 ) 80512de: 2204 movs r2, #4 80512e0: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 80512e2: 4b9f ldr r3, [pc, #636] ; (8051560 ) 80512e4: 2200 movs r2, #0 80512e6: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 80512e8: 4b9d ldr r3, [pc, #628] ; (8051560 ) 80512ea: 7bdb ldrb r3, [r3, #15] 80512ec: b2db uxtb r3, r3 80512ee: f003 037f and.w r3, r3, #127 ; 0x7f 80512f2: b2da uxtb r2, r3 80512f4: 4b9a ldr r3, [pc, #616] ; (8051560 ) 80512f6: 73da strb r2, [r3, #15] break; 80512f8: e1a6 b.n 8051648 RouteIndex = oldIndex; 80512fa: 4a95 ldr r2, [pc, #596] ; (8051550 ) 80512fc: 6f7b ldr r3, [r7, #116] ; 0x74 80512fe: 6013 str r3, [r2, #0] STATUS = AP_INVALID_FILE; 8051300: 4b98 ldr r3, [pc, #608] ; (8051564 ) 8051302: 2202 movs r2, #2 8051304: 601a str r2, [r3, #0] timerStatus = sec2; 8051306: 4b98 ldr r3, [pc, #608] ; (8051568 ) 8051308: f44f 5280 mov.w r2, #4096 ; 0x1000 805130c: 801a strh r2, [r3, #0] DrawStatus = true; 805130e: 4b97 ldr r3, [pc, #604] ; (805156c ) 8051310: 2201 movs r2, #1 8051312: 701a strb r2, [r3, #0] break; 8051314: e198 b.n 8051648 case NextPoint: if((RouteIndex + 1) < MaxRouteIndex) 8051316: 4b8e ldr r3, [pc, #568] ; (8051550 ) 8051318: 681b ldr r3, [r3, #0] 805131a: 1c5a adds r2, r3, #1 805131c: 4b8d ldr r3, [pc, #564] ; (8051554 ) 805131e: 681b ldr r3, [r3, #0] 8051320: 429a cmp r2, r3 8051322: d236 bcs.n 8051392 { oldIndex = RouteIndex; 8051324: 4b8a ldr r3, [pc, #552] ; (8051550 ) 8051326: 681b ldr r3, [r3, #0] 8051328: 677b str r3, [r7, #116] ; 0x74 RouteIndex++; 805132a: 4b89 ldr r3, [pc, #548] ; (8051550 ) 805132c: 681b ldr r3, [r3, #0] 805132e: 3301 adds r3, #1 8051330: 4a87 ldr r2, [pc, #540] ; (8051550 ) 8051332: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 8051334: 4b86 ldr r3, [pc, #536] ; (8051550 ) 8051336: 681b ldr r3, [r3, #0] 8051338: 4987 ldr r1, [pc, #540] ; (8051558 ) 805133a: 4618 mov r0, r3 805133c: f7d7 fb08 bl 8028950 8051340: 4603 mov r3, r0 8051342: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051346: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805134a: 2b00 cmp r3, #0 805134c: d113 bne.n 8051376 { if(RoutePath[0]) 805134e: 4b83 ldr r3, [pc, #524] ; (805155c ) 8051350: 781b ldrb r3, [r3, #0] 8051352: 2b00 cmp r3, #0 8051354: f000 817b beq.w 805164e { pardata.SYG = WAVE; 8051358: 4b81 ldr r3, [pc, #516] ; (8051560 ) 805135a: 2204 movs r2, #4 805135c: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 805135e: 4b80 ldr r3, [pc, #512] ; (8051560 ) 8051360: 2200 movs r2, #0 8051362: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8051364: 4b7e ldr r3, [pc, #504] ; (8051560 ) 8051366: 7bdb ldrb r3, [r3, #15] 8051368: b2db uxtb r3, r3 805136a: f003 037f and.w r3, r3, #127 ; 0x7f 805136e: b2da uxtb r2, r3 8051370: 4b7b ldr r3, [pc, #492] ; (8051560 ) 8051372: 73da strb r2, [r3, #15] STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; }*/ } break; 8051374: e16b b.n 805164e RouteIndex = oldIndex; 8051376: 4a76 ldr r2, [pc, #472] ; (8051550 ) 8051378: 6f7b ldr r3, [r7, #116] ; 0x74 805137a: 6013 str r3, [r2, #0] STATUS = AP_INVALID_FILE; 805137c: 4b79 ldr r3, [pc, #484] ; (8051564 ) 805137e: 2202 movs r2, #2 8051380: 601a str r2, [r3, #0] timerStatus = sec2; 8051382: 4b79 ldr r3, [pc, #484] ; (8051568 ) 8051384: f44f 5280 mov.w r2, #4096 ; 0x1000 8051388: 801a strh r2, [r3, #0] DrawStatus = true; 805138a: 4b78 ldr r3, [pc, #480] ; (805156c ) 805138c: 2201 movs r2, #1 805138e: 701a strb r2, [r3, #0] break; 8051390: e15d b.n 805164e menupos = RouteNullNo; 8051392: 4b77 ldr r3, [pc, #476] ; (8051570 ) 8051394: 220e movs r2, #14 8051396: 701a strb r2, [r3, #0] break; 8051398: e159 b.n 805164e case RouteNullNo: menupos = NextPoint; 805139a: 4b75 ldr r3, [pc, #468] ; (8051570 ) 805139c: 2202 movs r2, #2 805139e: 701a strb r2, [r3, #0] oldIndex = RouteIndex; 80513a0: 4b6b ldr r3, [pc, #428] ; (8051550 ) 80513a2: 681b ldr r3, [r3, #0] 80513a4: 677b str r3, [r7, #116] ; 0x74 RouteIndex = 0; 80513a6: 4b6a ldr r3, [pc, #424] ; (8051550 ) 80513a8: 2200 movs r2, #0 80513aa: 601a str r2, [r3, #0] result = GetRoutePath(RouteIndex, RouteName); 80513ac: 4b68 ldr r3, [pc, #416] ; (8051550 ) 80513ae: 681b ldr r3, [r3, #0] 80513b0: 4969 ldr r1, [pc, #420] ; (8051558 ) 80513b2: 4618 mov r0, r3 80513b4: f7d7 facc bl 8028950 80513b8: 4603 mov r3, r0 80513ba: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80513be: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80513c2: 2b00 cmp r3, #0 80513c4: d113 bne.n 80513ee { if(RoutePath[0]) 80513c6: 4b65 ldr r3, [pc, #404] ; (805155c ) 80513c8: 781b ldrb r3, [r3, #0] 80513ca: 2b00 cmp r3, #0 80513cc: f000 8142 beq.w 8051654 { pardata.SYG = WAVE; 80513d0: 4b63 ldr r3, [pc, #396] ; (8051560 ) 80513d2: 2204 movs r2, #4 80513d4: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 80513d6: 4b62 ldr r3, [pc, #392] ; (8051560 ) 80513d8: 2200 movs r2, #0 80513da: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 80513dc: 4b60 ldr r3, [pc, #384] ; (8051560 ) 80513de: 7bdb ldrb r3, [r3, #15] 80513e0: b2db uxtb r3, r3 80513e2: f003 037f and.w r3, r3, #127 ; 0x7f 80513e6: b2da uxtb r2, r3 80513e8: 4b5d ldr r3, [pc, #372] ; (8051560 ) 80513ea: 73da strb r2, [r3, #15] STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 80513ec: e132 b.n 8051654 RouteIndex = oldIndex; 80513ee: 4a58 ldr r2, [pc, #352] ; (8051550 ) 80513f0: 6f7b ldr r3, [r7, #116] ; 0x74 80513f2: 6013 str r3, [r2, #0] menupos = NextPoint; 80513f4: 4b5e ldr r3, [pc, #376] ; (8051570 ) 80513f6: 2202 movs r2, #2 80513f8: 701a strb r2, [r3, #0] STATUS = AP_INVALID_FILE; 80513fa: 4b5a ldr r3, [pc, #360] ; (8051564 ) 80513fc: 2202 movs r2, #2 80513fe: 601a str r2, [r3, #0] timerStatus = sec2; 8051400: 4b59 ldr r3, [pc, #356] ; (8051568 ) 8051402: f44f 5280 mov.w r2, #4096 ; 0x1000 8051406: 801a strh r2, [r3, #0] DrawStatus = true; 8051408: 4b58 ldr r3, [pc, #352] ; (805156c ) 805140a: 2201 movs r2, #1 805140c: 701a strb r2, [r3, #0] break; 805140e: e121 b.n 8051654 case RouteNullYes: result = ReadFileCSV_TMP(RouteName); 8051410: 4851 ldr r0, [pc, #324] ; (8051558 ) 8051412: f7d6 ffc5 bl 80283a0 8051416: 4603 mov r3, r0 8051418: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805141c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051420: 2b00 cmp r3, #0 8051422: f040 808a bne.w 805153a { memset((void *) &RouteMeas(0), 0, 65536); 8051426: f44f 3280 mov.w r2, #65536 ; 0x10000 805142a: 2100 movs r1, #0 805142c: 4851 ldr r0, [pc, #324] ; (8051574 ) 805142e: f07f ffb7 bl 80d13a0 result = WriteFileCSV_TMP(RouteName); 8051432: 4849 ldr r0, [pc, #292] ; (8051558 ) 8051434: f7d7 f97c bl 8028730 8051438: 4603 mov r3, r0 805143a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805143e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051442: 2b00 cmp r3, #0 8051444: d16e bne.n 8051524 { RoutePointID = 0xffffffff; 8051446: 4b4c ldr r3, [pc, #304] ; (8051578 ) 8051448: f04f 32ff mov.w r2, #4294967295 805144c: 601a str r2, [r3, #0] // ÷èòàåì êîë-âî èçìåðåíèé â ìàðøðóòå result = OpenFileCSV(RouteName); //êîë-âî òî÷åê â ìàðøðóòå 805144e: 4842 ldr r0, [pc, #264] ; (8051558 ) 8051450: f7d6 fe48 bl 80280e4 8051454: 4603 mov r3, r0 8051456: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805145a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805145e: 2b00 cmp r3, #0 8051460: d146 bne.n 80514f0 { result = ReadFileCSV_TMP(RouteName); //ôàéë ñ òàáëèöåé èçìåðåííûõ òî÷åê òåêóùåãî ìàðøðóòà è òåêóùåé òî÷êè 8051462: 483d ldr r0, [pc, #244] ; (8051558 ) 8051464: f7d6 ff9c bl 80283a0 8051468: 4603 mov r3, r0 805146a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805146e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051472: 2b00 cmp r3, #0 8051474: d131 bne.n 80514da { result = GetRoutePath(RouteIndex, RouteName); 8051476: 4b36 ldr r3, [pc, #216] ; (8051550 ) 8051478: 681b ldr r3, [r3, #0] 805147a: 4937 ldr r1, [pc, #220] ; (8051558 ) 805147c: 4618 mov r0, r3 805147e: f7d7 fa67 bl 8028950 8051482: 4603 mov r3, r0 8051484: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051488: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805148c: 2b00 cmp r3, #0 805148e: d119 bne.n 80514c4 { if(RoutePath[0]) 8051490: 4b32 ldr r3, [pc, #200] ; (805155c ) 8051492: 781b ldrb r3, [r3, #0] 8051494: 2b00 cmp r3, #0 8051496: f000 80e0 beq.w 805165a { pardata.SYG = WAVE; 805149a: 4b31 ldr r3, [pc, #196] ; (8051560 ) 805149c: 2204 movs r2, #4 805149e: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 80514a0: 4b2f ldr r3, [pc, #188] ; (8051560 ) 80514a2: 2200 movs r2, #0 80514a4: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 80514a6: 4b2e ldr r3, [pc, #184] ; (8051560 ) 80514a8: 7bdb ldrb r3, [r3, #15] 80514aa: b2db uxtb r3, r3 80514ac: f003 037f and.w r3, r3, #127 ; 0x7f 80514b0: b2da uxtb r2, r3 80514b2: 4b2b ldr r3, [pc, #172] ; (8051560 ) 80514b4: 73da strb r2, [r3, #15] menu = ROUTE_MAP; 80514b6: 4b31 ldr r3, [pc, #196] ; (805157c ) 80514b8: 2204 movs r2, #4 80514ba: 701a strb r2, [r3, #0] menupos = GoMeas; 80514bc: 4b2c ldr r3, [pc, #176] ; (8051570 ) 80514be: 2201 movs r2, #1 80514c0: 701a strb r2, [r3, #0] } break; 80514c2: e0ca b.n 805165a STATUS = AP_INVALID_FILE; 80514c4: 4b27 ldr r3, [pc, #156] ; (8051564 ) 80514c6: 2202 movs r2, #2 80514c8: 601a str r2, [r3, #0] timerStatus = sec2; 80514ca: 4b27 ldr r3, [pc, #156] ; (8051568 ) 80514cc: f44f 5280 mov.w r2, #4096 ; 0x1000 80514d0: 801a strh r2, [r3, #0] DrawStatus = true; 80514d2: 4b26 ldr r3, [pc, #152] ; (805156c ) 80514d4: 2201 movs r2, #1 80514d6: 701a strb r2, [r3, #0] break; 80514d8: e0bf b.n 805165a STATUS = AP_INVALID_FILE; 80514da: 4b22 ldr r3, [pc, #136] ; (8051564 ) 80514dc: 2202 movs r2, #2 80514de: 601a str r2, [r3, #0] timerStatus = sec2; 80514e0: 4b21 ldr r3, [pc, #132] ; (8051568 ) 80514e2: f44f 5280 mov.w r2, #4096 ; 0x1000 80514e6: 801a strh r2, [r3, #0] DrawStatus = true; 80514e8: 4b20 ldr r3, [pc, #128] ; (805156c ) 80514ea: 2201 movs r2, #1 80514ec: 701a strb r2, [r3, #0] break; 80514ee: e0b4 b.n 805165a if(result == FR_NOT_READY) 80514f0: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80514f4: 2b03 cmp r3, #3 80514f6: d10a bne.n 805150e STATUS = AP_NO_CARD; 80514f8: 4b1a ldr r3, [pc, #104] ; (8051564 ) 80514fa: 2211 movs r2, #17 80514fc: 601a str r2, [r3, #0] timerStatus = sec2; 80514fe: 4b1a ldr r3, [pc, #104] ; (8051568 ) 8051500: f44f 5280 mov.w r2, #4096 ; 0x1000 8051504: 801a strh r2, [r3, #0] DrawStatus = true; 8051506: 4b19 ldr r3, [pc, #100] ; (805156c ) 8051508: 2201 movs r2, #1 805150a: 701a strb r2, [r3, #0] break; 805150c: e0a5 b.n 805165a STATUS = AP_INVALID_FILE; 805150e: 4b15 ldr r3, [pc, #84] ; (8051564 ) 8051510: 2202 movs r2, #2 8051512: 601a str r2, [r3, #0] timerStatus = sec2; 8051514: 4b14 ldr r3, [pc, #80] ; (8051568 ) 8051516: f44f 5280 mov.w r2, #4096 ; 0x1000 805151a: 801a strh r2, [r3, #0] DrawStatus = true; 805151c: 4b13 ldr r3, [pc, #76] ; (805156c ) 805151e: 2201 movs r2, #1 8051520: 701a strb r2, [r3, #0] break; 8051522: e09a b.n 805165a STATUS = AP_INVALID_FILE; 8051524: 4b0f ldr r3, [pc, #60] ; (8051564 ) 8051526: 2202 movs r2, #2 8051528: 601a str r2, [r3, #0] timerStatus = sec2; 805152a: 4b0f ldr r3, [pc, #60] ; (8051568 ) 805152c: f44f 5280 mov.w r2, #4096 ; 0x1000 8051530: 801a strh r2, [r3, #0] DrawStatus = true; 8051532: 4b0e ldr r3, [pc, #56] ; (805156c ) 8051534: 2201 movs r2, #1 8051536: 701a strb r2, [r3, #0] break; 8051538: e08f b.n 805165a STATUS = AP_INVALID_FILE; 805153a: 4b0a ldr r3, [pc, #40] ; (8051564 ) 805153c: 2202 movs r2, #2 805153e: 601a str r2, [r3, #0] timerStatus = sec2; 8051540: 4b09 ldr r3, [pc, #36] ; (8051568 ) 8051542: f44f 5280 mov.w r2, #4096 ; 0x1000 8051546: 801a strh r2, [r3, #0] DrawStatus = true; 8051548: 4b08 ldr r3, [pc, #32] ; (805156c ) 805154a: 2201 movs r2, #1 805154c: 701a strb r2, [r3, #0] break; 805154e: e084 b.n 805165a 8051550: 20020fb0 .word 0x20020fb0 8051554: 20020fb4 .word 0x20020fb4 8051558: 20022670 .word 0x20022670 805155c: 20022c28 .word 0x20022c28 8051560: 20023ea8 .word 0x20023ea8 8051564: 20020dec .word 0x20020dec 8051568: 200216d4 .word 0x200216d4 805156c: 20020df2 .word 0x20020df2 8051570: 20020070 .word 0x20020070 8051574: 64100000 .word 0x64100000 8051578: 20020034 .word 0x20020034 805157c: 20020fbd .word 0x20020fbd case RouteTacho: if(pardata.OPTIONS & BIT7) 8051580: 4bb1 ldr r3, [pc, #708] ; (8051848 ) 8051582: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051586: f003 0380 and.w r3, r3, #128 ; 0x80 805158a: 2b00 cmp r3, #0 805158c: d008 beq.n 80515a0 pardata.OPTIONS &= ~BIT7; 805158e: 4bae ldr r3, [pc, #696] ; (8051848 ) 8051590: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051594: f023 0380 bic.w r3, r3, #128 ; 0x80 8051598: 4aab ldr r2, [pc, #684] ; (8051848 ) 805159a: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= BIT7; break; 805159e: e05d b.n 805165c else pardata.OPTIONS |= BIT7; 80515a0: 4ba9 ldr r3, [pc, #676] ; (8051848 ) 80515a2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80515a6: f043 0380 orr.w r3, r3, #128 ; 0x80 80515aa: 4aa7 ldr r2, [pc, #668] ; (8051848 ) 80515ac: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 80515b0: e054 b.n 805165c case RouteTime: if(!focused) 80515b2: 4ba6 ldr r3, [pc, #664] ; (805184c ) 80515b4: 781b ldrb r3, [r3, #0] 80515b6: b2db uxtb r3, r3 80515b8: f083 0301 eor.w r3, r3, #1 80515bc: b2db uxtb r3, r3 80515be: 2b00 cmp r3, #0 80515c0: d003 beq.n 80515ca focused = true; 80515c2: 4ba2 ldr r3, [pc, #648] ; (805184c ) 80515c4: 2201 movs r2, #1 80515c6: 701a strb r2, [r3, #0] else focused = false; break; 80515c8: e048 b.n 805165c else focused = false; 80515ca: 4ba0 ldr r3, [pc, #640] ; (805184c ) 80515cc: 2200 movs r2, #0 80515ce: 701a strb r2, [r3, #0] break; 80515d0: e044 b.n 805165c case RouteAutoKu: if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80515d2: 4b9d ldr r3, [pc, #628] ; (8051848 ) 80515d4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80515d8: f003 0304 and.w r3, r3, #4 80515dc: 2b00 cmp r3, #0 80515de: d110 bne.n 8051602 { pardata.OPTIONS |= 0x4; 80515e0: 4b99 ldr r3, [pc, #612] ; (8051848 ) 80515e2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80515e6: f043 0304 orr.w r3, r3, #4 80515ea: 4a97 ldr r2, [pc, #604] ; (8051848 ) 80515ec: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.THR &= 0x7f; 80515f0: 4b95 ldr r3, [pc, #596] ; (8051848 ) 80515f2: 7bdb ldrb r3, [r3, #15] 80515f4: b2db uxtb r3, r3 80515f6: f003 037f and.w r3, r3, #127 ; 0x7f 80515fa: b2da uxtb r2, r3 80515fc: 4b92 ldr r3, [pc, #584] ; (8051848 ) 80515fe: 73da strb r2, [r3, #15] } else pardata.OPTIONS &= ~0x4; break; 8051600: e02c b.n 805165c pardata.OPTIONS &= ~0x4; 8051602: 4b91 ldr r3, [pc, #580] ; (8051848 ) 8051604: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051608: f023 0304 bic.w r3, r3, #4 805160c: 4a8e ldr r2, [pc, #568] ; (8051848 ) 805160e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051612: e023 b.n 805165c case RouteMax_ALL: menupos = RouteMax_IET; 8051614: 4b8e ldr r3, [pc, #568] ; (8051850 ) 8051616: 2208 movs r2, #8 8051618: 701a strb r2, [r3, #0] break; 805161a: e01f b.n 805165c case RouteMax_IET: case RouteMax_IES: case RouteMax_IED: case RouteMax_IEE: case RouteMax_IKD: menupos = RouteMax_ALL; 805161c: 4b8c ldr r3, [pc, #560] ; (8051850 ) 805161e: 2206 movs r2, #6 8051620: 701a strb r2, [r3, #0] break; 8051622: e01b b.n 805165c case GoMeas: menu = MAIN_WAVE; 8051624: 4b8b ldr r3, [pc, #556] ; (8051854 ) 8051626: 221e movs r2, #30 8051628: 701a strb r2, [r3, #0] menupos = StartStop; 805162a: 4b89 ldr r3, [pc, #548] ; (8051850 ) 805162c: 2200 movs r2, #0 805162e: 701a strb r2, [r3, #0] //MEASURED = false; Threshold = false; 8051630: 4b89 ldr r3, [pc, #548] ; (8051858 ) 8051632: 2200 movs r2, #0 8051634: 701a strb r2, [r3, #0] IS_ROUTE = true; 8051636: 4b89 ldr r3, [pc, #548] ; (805185c ) 8051638: 2201 movs r2, #1 805163a: 701a strb r2, [r3, #0] initAmplif(); 805163c: f7d0 fa2a bl 8021a94 FIRST = true; 8051640: 4b87 ldr r3, [pc, #540] ; (8051860 ) 8051642: 2201 movs r2, #1 8051644: 701a strb r2, [r3, #0] break; 8051646: e009 b.n 805165c break; 8051648: bf00 nop 805164a: f002 ba72 b.w 8053b32 break; 805164e: bf00 nop 8051650: f002 ba6f b.w 8053b32 break; 8051654: bf00 nop 8051656: f002 ba6c b.w 8053b32 break; 805165a: bf00 nop } break; 805165c: f002 ba69 b.w 8053b32 case MEAS_MODE: //OK focused = false; 8051660: 4b7a ldr r3, [pc, #488] ; (805184c ) 8051662: 2200 movs r2, #0 8051664: 701a strb r2, [r3, #0] switch(menupos) 8051666: 4b7a ldr r3, [pc, #488] ; (8051850 ) 8051668: 781b ldrb r3, [r3, #0] 805166a: b2db uxtb r3, r3 805166c: 3b01 subs r3, #1 805166e: 2b09 cmp r3, #9 8051670: f202 8261 bhi.w 8053b36 8051674: a201 add r2, pc, #4 ; (adr r2, 805167c ) 8051676: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805167a: bf00 nop 805167c: 080516bf .word 0x080516bf 8051680: 08051b79 .word 0x08051b79 8051684: 080516d9 .word 0x080516d9 8051688: 08051c9f .word 0x08051c9f 805168c: 080516a5 .word 0x080516a5 8051690: 08051ccf .word 0x08051ccf 8051694: 08051d07 .word 0x08051d07 8051698: 08053b37 .word 0x08053b37 805169c: 08053b37 .word 0x08053b37 80516a0: 08051c8b .word 0x08051c8b { case Diagn: focused = false; 80516a4: 4b69 ldr r3, [pc, #420] ; (805184c ) 80516a6: 2200 movs r2, #0 80516a8: 701a strb r2, [r3, #0] pardata.SYG = DIAGN; 80516aa: 4b67 ldr r3, [pc, #412] ; (8051848 ) 80516ac: 220a movs r2, #10 80516ae: 701a strb r2, [r3, #0] menu = PARAM_DIAGN; 80516b0: 4b68 ldr r3, [pc, #416] ; (8051854 ) 80516b2: 220f movs r2, #15 80516b4: 701a strb r2, [r3, #0] menupos = DiagUs; 80516b6: 4b66 ldr r3, [pc, #408] ; (8051850 ) 80516b8: 2200 movs r2, #0 80516ba: 701a strb r2, [r3, #0] break; 80516bc: e331 b.n 8051d22 case Vibrometer: focused = false; 80516be: 4b63 ldr r3, [pc, #396] ; (805184c ) 80516c0: 2200 movs r2, #0 80516c2: 701a strb r2, [r3, #0] pardata.SYG = VIB; 80516c4: 4b60 ldr r3, [pc, #384] ; (8051848 ) 80516c6: 2200 movs r2, #0 80516c8: 701a strb r2, [r3, #0] menu = PARAM_VIB; 80516ca: 4b62 ldr r3, [pc, #392] ; (8051854 ) 80516cc: 2206 movs r2, #6 80516ce: 701a strb r2, [r3, #0] menupos = Ok; 80516d0: 4b5f ldr r3, [pc, #380] ; (8051850 ) 80516d2: 2200 movs r2, #0 80516d4: 701a strb r2, [r3, #0] break; 80516d6: e324 b.n 8051d22 case FFT: focused = false; 80516d8: 4b5c ldr r3, [pc, #368] ; (805184c ) 80516da: 2200 movs r2, #0 80516dc: 701a strb r2, [r3, #0] if(pardata.LNE > N3200) 80516de: 4b5a ldr r3, [pc, #360] ; (8051848 ) 80516e0: 79db ldrb r3, [r3, #7] 80516e2: b2db uxtb r3, r3 80516e4: 2b03 cmp r3, #3 80516e6: d902 bls.n 80516ee pardata.LNE = N3200; 80516e8: 4b57 ldr r3, [pc, #348] ; (8051848 ) 80516ea: 2203 movs r2, #3 80516ec: 71da strb r2, [r3, #7] if(pardata.IVS[pardata.IPR] > RMS) 80516ee: 4b56 ldr r3, [pc, #344] ; (8051848 ) 80516f0: 785b ldrb r3, [r3, #1] 80516f2: b2db uxtb r3, r3 80516f4: 461a mov r2, r3 80516f6: 4b54 ldr r3, [pc, #336] ; (8051848 ) 80516f8: 4413 add r3, r2 80516fa: 789b ldrb r3, [r3, #2] 80516fc: b2db uxtb r3, r3 80516fe: 2b01 cmp r3, #1 8051700: d907 bls.n 8051712 pardata.IVS[pardata.IPR] = PEAK; 8051702: 4b51 ldr r3, [pc, #324] ; (8051848 ) 8051704: 785b ldrb r3, [r3, #1] 8051706: b2db uxtb r3, r3 8051708: 461a mov r2, r3 805170a: 4b4f ldr r3, [pc, #316] ; (8051848 ) 805170c: 4413 add r3, r2 805170e: 2200 movs r2, #0 8051710: 709a strb r2, [r3, #2] if((pardata.OPTIONS & maskFFT) == okt) 8051712: 4b4d ldr r3, [pc, #308] ; (8051848 ) 8051714: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051718: f003 0330 and.w r3, r3, #48 ; 0x30 805171c: 2b20 cmp r3, #32 805171e: f040 80a9 bne.w 8051874 { pardata.SYG = SPEC_OKT; 8051722: 4b49 ldr r3, [pc, #292] ; (8051848 ) 8051724: 2206 movs r2, #6 8051726: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 8051728: 4b47 ldr r3, [pc, #284] ; (8051848 ) 805172a: 785b ldrb r3, [r3, #1] 805172c: b2db uxtb r3, r3 805172e: 461a mov r2, r3 8051730: 4b45 ldr r3, [pc, #276] ; (8051848 ) 8051732: 4413 add r3, r2 8051734: 789b ldrb r3, [r3, #2] 8051736: b2db uxtb r3, r3 8051738: 2b01 cmp r3, #1 805173a: d907 bls.n 805174c pardata.IVS[pardata.IPR] = PEAK; 805173c: 4b42 ldr r3, [pc, #264] ; (8051848 ) 805173e: 785b ldrb r3, [r3, #1] 8051740: b2db uxtb r3, r3 8051742: 461a mov r2, r3 8051744: 4b40 ldr r3, [pc, #256] ; (8051848 ) 8051746: 4413 add r3, r2 8051748: 2200 movs r2, #0 805174a: 709a strb r2, [r3, #2] pardata.LNE = N3200; 805174c: 4b3e ldr r3, [pc, #248] ; (8051848 ) 805174e: 2203 movs r2, #3 8051750: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8051752: 4b3d ldr r3, [pc, #244] ; (8051848 ) 8051754: 2209 movs r2, #9 8051756: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8051758: 4b3b ldr r3, [pc, #236] ; (8051848 ) 805175a: 785b ldrb r3, [r3, #1] 805175c: b2db uxtb r3, r3 805175e: 2b00 cmp r3, #0 8051760: d00e beq.n 8051780 8051762: 4b39 ldr r3, [pc, #228] ; (8051848 ) 8051764: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8051768: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 805176c: eef4 7ac7 vcmpe.f32 s15, s14 8051770: eef1 fa10 vmrs APSR_nzcv, fpscr 8051774: d504 bpl.n 8051780 pardata.HP = 2.0f; 8051776: 4b34 ldr r3, [pc, #208] ; (8051848 ) 8051778: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 805177c: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8051780: 4b31 ldr r3, [pc, #196] ; (8051848 ) 8051782: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8051786: 4b30 ldr r3, [pc, #192] ; (8051848 ) 8051788: 7adb ldrb r3, [r3, #11] 805178a: b2db uxtb r3, r3 805178c: 461a mov r2, r3 805178e: 4b35 ldr r3, [pc, #212] ; (8051864 ) 8051790: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8051794: ee07 3a90 vmov s15, r3 8051798: eef8 6a67 vcvt.f32.u32 s13, s15 805179c: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 80517a0: eec6 7a86 vdiv.f32 s15, s13, s12 80517a4: eddf 6a30 vldr s13, [pc, #192] ; 8051868 80517a8: ee77 7aa6 vadd.f32 s15, s15, s13 80517ac: eeb4 7ae7 vcmpe.f32 s14, s15 80517b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80517b4: dd15 ble.n 80517e2 pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 80517b6: 4b24 ldr r3, [pc, #144] ; (8051848 ) 80517b8: 7adb ldrb r3, [r3, #11] 80517ba: b2db uxtb r3, r3 80517bc: 461a mov r2, r3 80517be: 4b29 ldr r3, [pc, #164] ; (8051864 ) 80517c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80517c4: 4a29 ldr r2, [pc, #164] ; (805186c ) 80517c6: fba2 2303 umull r2, r3, r2, r3 80517ca: 089b lsrs r3, r3, #2 80517cc: ee07 3a90 vmov s15, r3 80517d0: eef8 7a67 vcvt.f32.u32 s15, s15 80517d4: ed9f 7a26 vldr s14, [pc, #152] ; 8051870 80517d8: ee77 7a87 vadd.f32 s15, s15, s14 80517dc: 4b1a ldr r3, [pc, #104] ; (8051848 ) 80517de: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80517e2: 4b19 ldr r3, [pc, #100] ; (8051848 ) 80517e4: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80517e8: 4b17 ldr r3, [pc, #92] ; (8051848 ) 80517ea: 7adb ldrb r3, [r3, #11] 80517ec: b2db uxtb r3, r3 80517ee: 461a mov r2, r3 80517f0: 4b1c ldr r3, [pc, #112] ; (8051864 ) 80517f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80517f6: ee07 3a90 vmov s15, r3 80517fa: eef8 6a67 vcvt.f32.u32 s13, s15 80517fe: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8051802: eec6 7a86 vdiv.f32 s15, s13, s12 8051806: eddf 6a18 vldr s13, [pc, #96] ; 8051868 805180a: ee77 7aa6 vadd.f32 s15, s15, s13 805180e: eeb4 7ae7 vcmpe.f32 s14, s15 8051812: eef1 fa10 vmrs APSR_nzcv, fpscr 8051816: f340 819e ble.w 8051b56 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 805181a: 4b0b ldr r3, [pc, #44] ; (8051848 ) 805181c: 7adb ldrb r3, [r3, #11] 805181e: b2db uxtb r3, r3 8051820: 461a mov r2, r3 8051822: 4b10 ldr r3, [pc, #64] ; (8051864 ) 8051824: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8051828: 4a10 ldr r2, [pc, #64] ; (805186c ) 805182a: fba2 2303 umull r2, r3, r2, r3 805182e: 089b lsrs r3, r3, #2 8051830: ee07 3a90 vmov s15, r3 8051834: eef8 7a67 vcvt.f32.u32 s15, s15 8051838: ed9f 7a0d vldr s14, [pc, #52] ; 8051870 805183c: ee77 7a87 vadd.f32 s15, s15, s14 8051840: 4b01 ldr r3, [pc, #4] ; (8051848 ) 8051842: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 8051846: e186 b.n 8051b56 8051848: 20023ea8 .word 0x20023ea8 805184c: 20020fc8 .word 0x20020fc8 8051850: 20020070 .word 0x20020070 8051854: 20020fbd .word 0x20020fbd 8051858: 20020dd1 .word 0x20020dd1 805185c: 20020dd3 .word 0x20020dd3 8051860: 20020dd2 .word 0x20020dd2 8051864: 080f2c08 .word 0x080f2c08 8051868: 3851b717 .word 0x3851b717 805186c: cccccccd .word 0xcccccccd 8051870: 38d1b717 .word 0x38d1b717 } else if((pardata.OPTIONS & maskFFT) == third) 8051874: 4bbb ldr r3, [pc, #748] ; (8051b64 ) 8051876: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805187a: f003 0330 and.w r3, r3, #48 ; 0x30 805187e: 2b30 cmp r3, #48 ; 0x30 8051880: f040 808b bne.w 805199a { pardata.SYG = SPEC_THIRD; 8051884: 4bb7 ldr r3, [pc, #732] ; (8051b64 ) 8051886: 2207 movs r2, #7 8051888: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 805188a: 4bb6 ldr r3, [pc, #728] ; (8051b64 ) 805188c: 785b ldrb r3, [r3, #1] 805188e: b2db uxtb r3, r3 8051890: 461a mov r2, r3 8051892: 4bb4 ldr r3, [pc, #720] ; (8051b64 ) 8051894: 4413 add r3, r2 8051896: 789b ldrb r3, [r3, #2] 8051898: b2db uxtb r3, r3 805189a: 2b01 cmp r3, #1 805189c: d907 bls.n 80518ae pardata.IVS[pardata.IPR] = PEAK; 805189e: 4bb1 ldr r3, [pc, #708] ; (8051b64 ) 80518a0: 785b ldrb r3, [r3, #1] 80518a2: b2db uxtb r3, r3 80518a4: 461a mov r2, r3 80518a6: 4baf ldr r3, [pc, #700] ; (8051b64 ) 80518a8: 4413 add r3, r2 80518aa: 2200 movs r2, #0 80518ac: 709a strb r2, [r3, #2] pardata.LNE = N3200; 80518ae: 4bad ldr r3, [pc, #692] ; (8051b64 ) 80518b0: 2203 movs r2, #3 80518b2: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 80518b4: 4bab ldr r3, [pc, #684] ; (8051b64 ) 80518b6: 2209 movs r2, #9 80518b8: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 80518ba: 4baa ldr r3, [pc, #680] ; (8051b64 ) 80518bc: 785b ldrb r3, [r3, #1] 80518be: b2db uxtb r3, r3 80518c0: 2b00 cmp r3, #0 80518c2: d00e beq.n 80518e2 80518c4: 4ba7 ldr r3, [pc, #668] ; (8051b64 ) 80518c6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80518ca: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80518ce: eef4 7ac7 vcmpe.f32 s15, s14 80518d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80518d6: d504 bpl.n 80518e2 pardata.HP = 2.0f; 80518d8: 4ba2 ldr r3, [pc, #648] ; (8051b64 ) 80518da: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80518de: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 80518e2: 4ba0 ldr r3, [pc, #640] ; (8051b64 ) 80518e4: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 80518e8: 4b9e ldr r3, [pc, #632] ; (8051b64 ) 80518ea: 7adb ldrb r3, [r3, #11] 80518ec: b2db uxtb r3, r3 80518ee: 461a mov r2, r3 80518f0: 4b9d ldr r3, [pc, #628] ; (8051b68 ) 80518f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80518f6: ee07 3a90 vmov s15, r3 80518fa: eef8 6a67 vcvt.f32.u32 s13, s15 80518fe: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8051902: eec6 7a86 vdiv.f32 s15, s13, s12 8051906: eeb4 7ae7 vcmpe.f32 s14, s15 805190a: eef1 fa10 vmrs APSR_nzcv, fpscr 805190e: dd15 ble.n 805193c pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8051910: 4b94 ldr r3, [pc, #592] ; (8051b64 ) 8051912: 7adb ldrb r3, [r3, #11] 8051914: b2db uxtb r3, r3 8051916: 461a mov r2, r3 8051918: 4b93 ldr r3, [pc, #588] ; (8051b68 ) 805191a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 805191e: ee07 3a90 vmov s15, r3 8051922: eeb8 7a67 vcvt.f32.u32 s14, s15 8051926: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 805192a: eec7 7a26 vdiv.f32 s15, s14, s13 805192e: ed9f 7a8f vldr s14, [pc, #572] ; 8051b6c 8051932: ee77 7a87 vadd.f32 s15, s15, s14 8051936: 4b8b ldr r3, [pc, #556] ; (8051b64 ) 8051938: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 805193c: 4b89 ldr r3, [pc, #548] ; (8051b64 ) 805193e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8051942: 4b88 ldr r3, [pc, #544] ; (8051b64 ) 8051944: 7adb ldrb r3, [r3, #11] 8051946: b2db uxtb r3, r3 8051948: 461a mov r2, r3 805194a: 4b87 ldr r3, [pc, #540] ; (8051b68 ) 805194c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8051950: ee07 3a90 vmov s15, r3 8051954: eef8 6a67 vcvt.f32.u32 s13, s15 8051958: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 805195c: eec6 7a86 vdiv.f32 s15, s13, s12 8051960: eeb4 7ae7 vcmpe.f32 s14, s15 8051964: eef1 fa10 vmrs APSR_nzcv, fpscr 8051968: f340 80f5 ble.w 8051b56 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 805196c: 4b7d ldr r3, [pc, #500] ; (8051b64 ) 805196e: 7adb ldrb r3, [r3, #11] 8051970: b2db uxtb r3, r3 8051972: 461a mov r2, r3 8051974: 4b7c ldr r3, [pc, #496] ; (8051b68 ) 8051976: f853 3022 ldr.w r3, [r3, r2, lsl #2] 805197a: ee07 3a90 vmov s15, r3 805197e: eeb8 7a67 vcvt.f32.u32 s14, s15 8051982: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8051986: eec7 7a26 vdiv.f32 s15, s14, s13 805198a: ed9f 7a78 vldr s14, [pc, #480] ; 8051b6c 805198e: ee77 7a87 vadd.f32 s15, s15, s14 8051992: 4b74 ldr r3, [pc, #464] ; (8051b64 ) 8051994: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 8051998: e0dd b.n 8051b56 } else if((pardata.OPTIONS & maskFFT) == env) 805199a: 4b72 ldr r3, [pc, #456] ; (8051b64 ) 805199c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80519a0: f003 0330 and.w r3, r3, #48 ; 0x30 80519a4: 2b10 cmp r3, #16 80519a6: d16b bne.n 8051a80 { pardata.SYG = SPEC_OGIB; 80519a8: 4b6e ldr r3, [pc, #440] ; (8051b64 ) 80519aa: 2205 movs r2, #5 80519ac: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 80519ae: 4b6d ldr r3, [pc, #436] ; (8051b64 ) 80519b0: 785b ldrb r3, [r3, #1] 80519b2: b2db uxtb r3, r3 80519b4: 461a mov r2, r3 80519b6: 4b6b ldr r3, [pc, #428] ; (8051b64 ) 80519b8: 4413 add r3, r2 80519ba: 789b ldrb r3, [r3, #2] 80519bc: b2db uxtb r3, r3 80519be: 2b01 cmp r3, #1 80519c0: d907 bls.n 80519d2 pardata.IVS[pardata.IPR] = PEAK; 80519c2: 4b68 ldr r3, [pc, #416] ; (8051b64 ) 80519c4: 785b ldrb r3, [r3, #1] 80519c6: b2db uxtb r3, r3 80519c8: 461a mov r2, r3 80519ca: 4b66 ldr r3, [pc, #408] ; (8051b64 ) 80519cc: 4413 add r3, r2 80519ce: 2200 movs r2, #0 80519d0: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 80519d2: 4b64 ldr r3, [pc, #400] ; (8051b64 ) 80519d4: 785b ldrb r3, [r3, #1] 80519d6: b2db uxtb r3, r3 80519d8: 2b00 cmp r3, #0 80519da: d00e beq.n 80519fa 80519dc: 4b61 ldr r3, [pc, #388] ; (8051b64 ) 80519de: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80519e2: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80519e6: eef4 7ac7 vcmpe.f32 s15, s14 80519ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80519ee: d504 bpl.n 80519fa pardata.HP = 2.0f; 80519f0: 4b5c ldr r3, [pc, #368] ; (8051b64 ) 80519f2: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80519f6: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 80519fa: 2309 movs r3, #9 80519fc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8051a00: e039 b.n 8051a76 { f = (float32_t) FS[k] / pardata.LP; 8051a02: 4a59 ldr r2, [pc, #356] ; (8051b68 ) 8051a04: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051a08: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8051a0c: ee07 3a90 vmov s15, r3 8051a10: eef8 6a67 vcvt.f32.u32 s13, s15 8051a14: 4b53 ldr r3, [pc, #332] ; (8051b64 ) 8051a16: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8051a1a: eec6 7a87 vdiv.f32 s15, s13, s14 8051a1e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8051a22: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8051a26: ed9f 7a51 vldr s14, [pc, #324] ; 8051b6c 8051a2a: ee77 7a87 vadd.f32 s15, s15, s14 8051a2e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8051a32: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8051a36: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8051a3a: eef4 7ac7 vcmpe.f32 s15, s14 8051a3e: eef1 fa10 vmrs APSR_nzcv, fpscr 8051a42: d507 bpl.n 8051a54 { pardata.FRQ = k + 1; 8051a44: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051a48: b2db uxtb r3, r3 8051a4a: 3301 adds r3, #1 8051a4c: b2da uxtb r2, r3 8051a4e: 4b45 ldr r3, [pc, #276] ; (8051b64 ) 8051a50: 72da strb r2, [r3, #11] break; 8051a52: e080 b.n 8051b56 } else { if(k > 0) 8051a54: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051a58: 2b00 cmp r3, #0 8051a5a: d004 beq.n 8051a66 k--; 8051a5c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051a60: 3b01 subs r3, #1 8051a62: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8051a66: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051a6a: 2b00 cmp r3, #0 8051a6c: d103 bne.n 8051a76 { pardata.FRQ = _125Hz; 8051a6e: 4b3d ldr r3, [pc, #244] ; (8051b64 ) 8051a70: 2200 movs r2, #0 8051a72: 72da strb r2, [r3, #11] break; 8051a74: e06f b.n 8051b56 while(k > _125Hz) 8051a76: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051a7a: 2b00 cmp r3, #0 8051a7c: d1c1 bne.n 8051a02 8051a7e: e06a b.n 8051b56 } } } else { pardata.SYG = SPEC; 8051a80: 4b38 ldr r3, [pc, #224] ; (8051b64 ) 8051a82: 2201 movs r2, #1 8051a84: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 8051a86: 4b37 ldr r3, [pc, #220] ; (8051b64 ) 8051a88: 785b ldrb r3, [r3, #1] 8051a8a: b2db uxtb r3, r3 8051a8c: 461a mov r2, r3 8051a8e: 4b35 ldr r3, [pc, #212] ; (8051b64 ) 8051a90: 4413 add r3, r2 8051a92: 789b ldrb r3, [r3, #2] 8051a94: b2db uxtb r3, r3 8051a96: 2b01 cmp r3, #1 8051a98: d907 bls.n 8051aaa pardata.IVS[pardata.IPR] = PEAK; 8051a9a: 4b32 ldr r3, [pc, #200] ; (8051b64 ) 8051a9c: 785b ldrb r3, [r3, #1] 8051a9e: b2db uxtb r3, r3 8051aa0: 461a mov r2, r3 8051aa2: 4b30 ldr r3, [pc, #192] ; (8051b64 ) 8051aa4: 4413 add r3, r2 8051aa6: 2200 movs r2, #0 8051aa8: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8051aaa: 4b2e ldr r3, [pc, #184] ; (8051b64 ) 8051aac: 785b ldrb r3, [r3, #1] 8051aae: b2db uxtb r3, r3 8051ab0: 2b00 cmp r3, #0 8051ab2: d00e beq.n 8051ad2 8051ab4: 4b2b ldr r3, [pc, #172] ; (8051b64 ) 8051ab6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8051aba: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8051abe: eef4 7ac7 vcmpe.f32 s15, s14 8051ac2: eef1 fa10 vmrs APSR_nzcv, fpscr 8051ac6: d504 bpl.n 8051ad2 pardata.HP = 2.0f; 8051ac8: 4b26 ldr r3, [pc, #152] ; (8051b64 ) 8051aca: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8051ace: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 8051ad2: 2309 movs r3, #9 8051ad4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8051ad8: e039 b.n 8051b4e { f = (float32_t) FS[k] / pardata.LP; 8051ada: 4a23 ldr r2, [pc, #140] ; (8051b68 ) 8051adc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051ae0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8051ae4: ee07 3a90 vmov s15, r3 8051ae8: eef8 6a67 vcvt.f32.u32 s13, s15 8051aec: 4b1d ldr r3, [pc, #116] ; (8051b64 ) 8051aee: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8051af2: eec6 7a87 vdiv.f32 s15, s13, s14 8051af6: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8051afa: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8051afe: ed9f 7a1b vldr s14, [pc, #108] ; 8051b6c 8051b02: ee77 7a87 vadd.f32 s15, s15, s14 8051b06: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8051b0a: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8051b0e: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8051b12: eef4 7ac7 vcmpe.f32 s15, s14 8051b16: eef1 fa10 vmrs APSR_nzcv, fpscr 8051b1a: d507 bpl.n 8051b2c { pardata.FRQ = k + 1; 8051b1c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051b20: b2db uxtb r3, r3 8051b22: 3301 adds r3, #1 8051b24: b2da uxtb r2, r3 8051b26: 4b0f ldr r3, [pc, #60] ; (8051b64 ) 8051b28: 72da strb r2, [r3, #11] break; 8051b2a: e014 b.n 8051b56 } else { if(k > 0) 8051b2c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051b30: 2b00 cmp r3, #0 8051b32: d004 beq.n 8051b3e k--; 8051b34: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051b38: 3b01 subs r3, #1 8051b3a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8051b3e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051b42: 2b00 cmp r3, #0 8051b44: d103 bne.n 8051b4e { pardata.FRQ = _125Hz; 8051b46: 4b07 ldr r3, [pc, #28] ; (8051b64 ) 8051b48: 2200 movs r2, #0 8051b4a: 72da strb r2, [r3, #11] break; 8051b4c: e003 b.n 8051b56 while(k > _125Hz) 8051b4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051b52: 2b00 cmp r3, #0 8051b54: d1c1 bne.n 8051ada } } } menu = PARAM_SPEC; 8051b56: 4b06 ldr r3, [pc, #24] ; (8051b70 ) 8051b58: 2207 movs r2, #7 8051b5a: 701a strb r2, [r3, #0] menupos = Ok; 8051b5c: 4b05 ldr r3, [pc, #20] ; (8051b74 ) 8051b5e: 2200 movs r2, #0 8051b60: 701a strb r2, [r3, #0] break; 8051b62: e0de b.n 8051d22 8051b64: 20023ea8 .word 0x20023ea8 8051b68: 080f2c08 .word 0x080f2c08 8051b6c: 38d1b717 .word 0x38d1b717 8051b70: 20020fbd .word 0x20020fbd 8051b74: 20020070 .word 0x20020070 case Osc: focused = false; 8051b78: 4bbd ldr r3, [pc, #756] ; (8051e70 ) 8051b7a: 2200 movs r2, #0 8051b7c: 701a strb r2, [r3, #0] pardata.SYG = OSC; 8051b7e: 4bbd ldr r3, [pc, #756] ; (8051e74 ) 8051b80: 2202 movs r2, #2 8051b82: 701a strb r2, [r3, #0] menu = PARAM_OSC; 8051b84: 4bbc ldr r3, [pc, #752] ; (8051e78 ) 8051b86: 2208 movs r2, #8 8051b88: 701a strb r2, [r3, #0] menupos = Ok; 8051b8a: 4bbc ldr r3, [pc, #752] ; (8051e7c ) 8051b8c: 2200 movs r2, #0 8051b8e: 701a strb r2, [r3, #0] if(pardata.IPR > ACC) 8051b90: 4bb8 ldr r3, [pc, #736] ; (8051e74 ) 8051b92: 785b ldrb r3, [r3, #1] 8051b94: b2db uxtb r3, r3 8051b96: 2b00 cmp r3, #0 8051b98: d00e beq.n 8051bb8 { if(pardata.HP < 2.0f) 8051b9a: 4bb6 ldr r3, [pc, #728] ; (8051e74 ) 8051b9c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8051ba0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8051ba4: eef4 7ac7 vcmpe.f32 s15, s14 8051ba8: eef1 fa10 vmrs APSR_nzcv, fpscr 8051bac: d504 bpl.n 8051bb8 pardata.HP = 2.0f; 8051bae: 4bb1 ldr r3, [pc, #708] ; (8051e74 ) 8051bb0: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8051bb4: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8051bb8: 4bae ldr r3, [pc, #696] ; (8051e74 ) 8051bba: 7adb ldrb r3, [r3, #11] 8051bbc: b2db uxtb r3, r3 8051bbe: 461a mov r2, r3 8051bc0: 4baf ldr r3, [pc, #700] ; (8051e80 ) 8051bc2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8051bc6: ee07 3a90 vmov s15, r3 8051bca: eeb8 5b67 vcvt.f64.u32 d5, s15 8051bce: 4ba9 ldr r3, [pc, #676] ; (8051e74 ) 8051bd0: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8051bd4: eeb7 6ae7 vcvt.f64.f32 d6, s15 8051bd8: ee85 7b06 vdiv.f64 d7, d5, d6 8051bdc: ed9f 6ba0 vldr d6, [pc, #640] ; 8051e60 8051be0: ee37 7b06 vadd.f64 d7, d7, d6 8051be4: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8051be8: eeb4 7bc6 vcmpe.f64 d7, d6 8051bec: eef1 fa10 vmrs APSR_nzcv, fpscr 8051bf0: d50c bpl.n 8051c0c { while(pardata.FRQ < _64000Hz) 8051bf2: e006 b.n 8051c02 pardata.FRQ++; 8051bf4: 4b9f ldr r3, [pc, #636] ; (8051e74 ) 8051bf6: 7adb ldrb r3, [r3, #11] 8051bf8: b2db uxtb r3, r3 8051bfa: 3301 adds r3, #1 8051bfc: b2da uxtb r2, r3 8051bfe: 4b9d ldr r3, [pc, #628] ; (8051e74 ) 8051c00: 72da strb r2, [r3, #11] while(pardata.FRQ < _64000Hz) 8051c02: 4b9c ldr r3, [pc, #624] ; (8051e74 ) 8051c04: 7adb ldrb r3, [r3, #11] 8051c06: b2db uxtb r3, r3 8051c08: 2b08 cmp r3, #8 8051c0a: d9f3 bls.n 8051bf4 } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8051c0c: 4b99 ldr r3, [pc, #612] ; (8051e74 ) 8051c0e: 7adb ldrb r3, [r3, #11] 8051c10: b2db uxtb r3, r3 8051c12: 461a mov r2, r3 8051c14: 4b9a ldr r3, [pc, #616] ; (8051e80 ) 8051c16: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8051c1a: ee07 3a90 vmov s15, r3 8051c1e: eeb8 5b67 vcvt.f64.u32 d5, s15 8051c22: 4b94 ldr r3, [pc, #592] ; (8051e74 ) 8051c24: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8051c28: eeb7 6ae7 vcvt.f64.f32 d6, s15 8051c2c: ee85 7b06 vdiv.f64 d7, d5, d6 8051c30: ed9f 6b8b vldr d6, [pc, #556] ; 8051e60 8051c34: ee37 7b06 vadd.f64 d7, d7, d6 8051c38: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8051c3c: eeb4 7bc6 vcmpe.f64 d7, d6 8051c40: eef1 fa10 vmrs APSR_nzcv, fpscr 8051c44: d400 bmi.n 8051c48 { pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); pardata.LP += 0.0001; } break; 8051c46: e06c b.n 8051d22 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8051c48: 4b8a ldr r3, [pc, #552] ; (8051e74 ) 8051c4a: 7adb ldrb r3, [r3, #11] 8051c4c: b2db uxtb r3, r3 8051c4e: 461a mov r2, r3 8051c50: 4b8b ldr r3, [pc, #556] ; (8051e80 ) 8051c52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8051c56: 4a8b ldr r2, [pc, #556] ; (8051e84 ) 8051c58: fba2 2303 umull r2, r3, r2, r3 8051c5c: 089b lsrs r3, r3, #2 8051c5e: ee07 3a90 vmov s15, r3 8051c62: eef8 7a67 vcvt.f32.u32 s15, s15 8051c66: 4b83 ldr r3, [pc, #524] ; (8051e74 ) 8051c68: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8051c6c: 4b81 ldr r3, [pc, #516] ; (8051e74 ) 8051c6e: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8051c72: eeb7 7ae7 vcvt.f64.f32 d7, s15 8051c76: ed9f 6b7c vldr d6, [pc, #496] ; 8051e68 8051c7a: ee37 7b06 vadd.f64 d7, d7, d6 8051c7e: eef7 7bc7 vcvt.f32.f64 s15, d7 8051c82: 4b7c ldr r3, [pc, #496] ; (8051e74 ) 8051c84: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8051c88: e04b b.n 8051d22 case Fran: pardata.SYG = FRAN; 8051c8a: 4b7a ldr r3, [pc, #488] ; (8051e74 ) 8051c8c: 2203 movs r2, #3 8051c8e: 701a strb r2, [r3, #0] menu = PARAM_FRAN; 8051c90: 4b79 ldr r3, [pc, #484] ; (8051e78 ) 8051c92: 2209 movs r2, #9 8051c94: 701a strb r2, [r3, #0] menupos = Ok; 8051c96: 4b79 ldr r3, [pc, #484] ; (8051e7c ) 8051c98: 2200 movs r2, #0 8051c9a: 701a strb r2, [r3, #0] break; 8051c9c: e041 b.n 8051d22 case Wave: focused = false; 8051c9e: 4b74 ldr r3, [pc, #464] ; (8051e70 ) 8051ca0: 2200 movs r2, #0 8051ca2: 701a strb r2, [r3, #0] pardata.FRQ = _64000Hz; 8051ca4: 4b73 ldr r3, [pc, #460] ; (8051e74 ) 8051ca6: 2209 movs r2, #9 8051ca8: 72da strb r2, [r3, #11] pardata.SYG = WAVE; 8051caa: 4b72 ldr r3, [pc, #456] ; (8051e74 ) 8051cac: 2204 movs r2, #4 8051cae: 701a strb r2, [r3, #0] menu = PARAM_WAVE; 8051cb0: 4b71 ldr r3, [pc, #452] ; (8051e78 ) 8051cb2: 220a movs r2, #10 8051cb4: 701a strb r2, [r3, #0] menupos = Ok; 8051cb6: 4b71 ldr r3, [pc, #452] ; (8051e7c ) 8051cb8: 2200 movs r2, #0 8051cba: 701a strb r2, [r3, #0] if(pardata.IVS[ACC] >= PEAK_TO_PEAK) 8051cbc: 4b6d ldr r3, [pc, #436] ; (8051e74 ) 8051cbe: 789b ldrb r3, [r3, #2] 8051cc0: b2db uxtb r3, r3 8051cc2: 2b01 cmp r3, #1 8051cc4: d92c bls.n 8051d20 pardata.IVS[ACC] = PEAK; 8051cc6: 4b6b ldr r3, [pc, #428] ; (8051e74 ) 8051cc8: 2200 movs r2, #0 8051cca: 709a strb r2, [r3, #2] break; 8051ccc: e028 b.n 8051d20 case Roll: focused = false; 8051cce: 4b68 ldr r3, [pc, #416] ; (8051e70 ) 8051cd0: 2200 movs r2, #0 8051cd2: 701a strb r2, [r3, #0] pardata.FRQ = _4000Hz; 8051cd4: 4b67 ldr r3, [pc, #412] ; (8051e74 ) 8051cd6: 2205 movs r2, #5 8051cd8: 72da strb r2, [r3, #11] pardata.SYG = ROLL; 8051cda: 4b66 ldr r3, [pc, #408] ; (8051e74 ) 8051cdc: 2208 movs r2, #8 8051cde: 701a strb r2, [r3, #0] pardata.HP = 0.5f; 8051ce0: 4b64 ldr r3, [pc, #400] ; (8051e74 ) 8051ce2: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8051ce6: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 pardata.LP = 800.0f; 8051cea: 4b62 ldr r3, [pc, #392] ; (8051e74 ) 8051cec: 4a66 ldr r2, [pc, #408] ; (8051e88 ) 8051cee: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 menu = PARAM_ROLL; 8051cf2: 4b61 ldr r3, [pc, #388] ; (8051e78 ) 8051cf4: 220d movs r2, #13 8051cf6: 701a strb r2, [r3, #0] menupos = Ok; 8051cf8: 4b60 ldr r3, [pc, #384] ; (8051e7c ) 8051cfa: 2200 movs r2, #0 8051cfc: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8051cfe: 4b5d ldr r3, [pc, #372] ; (8051e74 ) 8051d00: 2200 movs r2, #0 8051d02: 709a strb r2, [r3, #2] break; 8051d04: e00d b.n 8051d22 case Udar: focused = false; 8051d06: 4b5a ldr r3, [pc, #360] ; (8051e70 ) 8051d08: 2200 movs r2, #0 8051d0a: 701a strb r2, [r3, #0] pardata.SYG = UDAR; 8051d0c: 4b59 ldr r3, [pc, #356] ; (8051e74 ) 8051d0e: 2209 movs r2, #9 8051d10: 701a strb r2, [r3, #0] menu = PARAM_UDAR; 8051d12: 4b59 ldr r3, [pc, #356] ; (8051e78 ) 8051d14: 220e movs r2, #14 8051d16: 701a strb r2, [r3, #0] menupos = Ok; 8051d18: 4b58 ldr r3, [pc, #352] ; (8051e7c ) 8051d1a: 2200 movs r2, #0 8051d1c: 701a strb r2, [r3, #0] break; 8051d1e: e000 b.n 8051d22 break; 8051d20: bf00 nop } break; 8051d22: f001 bf08 b.w 8053b36 case PARAM_DIAGN: if(menupos == DiagAverage) 8051d26: 4b55 ldr r3, [pc, #340] ; (8051e7c ) 8051d28: 781b ldrb r3, [r3, #0] 8051d2a: b2db uxtb r3, r3 8051d2c: 2b01 cmp r3, #1 8051d2e: d111 bne.n 8051d54 { if(!focused) 8051d30: 4b4f ldr r3, [pc, #316] ; (8051e70 ) 8051d32: 781b ldrb r3, [r3, #0] 8051d34: b2db uxtb r3, r3 8051d36: f083 0301 eor.w r3, r3, #1 8051d3a: b2db uxtb r3, r3 8051d3c: 2b00 cmp r3, #0 8051d3e: d004 beq.n 8051d4a focused = true; 8051d40: 4b4b ldr r3, [pc, #300] ; (8051e70 ) 8051d42: 2201 movs r2, #1 8051d44: 701a strb r2, [r3, #0] { menu = PARAM_DIAGN_1; lastmenupos = menupos; menupos = CURR_POINT; } break; 8051d46: f001 bef8 b.w 8053b3a else focused = false; 8051d4a: 4b49 ldr r3, [pc, #292] ; (8051e70 ) 8051d4c: 2200 movs r2, #0 8051d4e: 701a strb r2, [r3, #0] break; 8051d50: f001 bef3 b.w 8053b3a if(menupos == DiagMax_ALL) 8051d54: 4b49 ldr r3, [pc, #292] ; (8051e7c ) 8051d56: 781b ldrb r3, [r3, #0] 8051d58: b2db uxtb r3, r3 8051d5a: 2b03 cmp r3, #3 8051d5c: d104 bne.n 8051d68 menupos = DiagMax_IET; 8051d5e: 4b47 ldr r3, [pc, #284] ; (8051e7c ) 8051d60: 2206 movs r2, #6 8051d62: 701a strb r2, [r3, #0] break; 8051d64: f001 bee9 b.w 8053b3a if((menupos >= DiagMax_IDT) && (menupos <= DiagMax_IKD)) 8051d68: 4b44 ldr r3, [pc, #272] ; (8051e7c ) 8051d6a: 781b ldrb r3, [r3, #0] 8051d6c: b2db uxtb r3, r3 8051d6e: 2b04 cmp r3, #4 8051d70: d909 bls.n 8051d86 8051d72: 4b42 ldr r3, [pc, #264] ; (8051e7c ) 8051d74: 781b ldrb r3, [r3, #0] 8051d76: b2db uxtb r3, r3 8051d78: 2b0a cmp r3, #10 8051d7a: d804 bhi.n 8051d86 menupos = DiagMax_ALL; 8051d7c: 4b3f ldr r3, [pc, #252] ; (8051e7c ) 8051d7e: 2203 movs r2, #3 8051d80: 701a strb r2, [r3, #0] break; 8051d82: f001 beda b.w 8053b3a if(menupos == DiagAutoKu) 8051d86: 4b3d ldr r3, [pc, #244] ; (8051e7c ) 8051d88: 781b ldrb r3, [r3, #0] 8051d8a: b2db uxtb r3, r3 8051d8c: 2b02 cmp r3, #2 8051d8e: d11a bne.n 8051dc6 if(pardata.OPTIONS & 0x4) 8051d90: 4b38 ldr r3, [pc, #224] ; (8051e74 ) 8051d92: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051d96: f003 0304 and.w r3, r3, #4 8051d9a: 2b00 cmp r3, #0 8051d9c: d009 beq.n 8051db2 pardata.OPTIONS &= ~0x4; 8051d9e: 4b35 ldr r3, [pc, #212] ; (8051e74 ) 8051da0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051da4: f023 0304 bic.w r3, r3, #4 8051da8: 4a32 ldr r2, [pc, #200] ; (8051e74 ) 8051daa: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051dae: f001 bec4 b.w 8053b3a else pardata.OPTIONS |= 0x4; 8051db2: 4b30 ldr r3, [pc, #192] ; (8051e74 ) 8051db4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051db8: f043 0304 orr.w r3, r3, #4 8051dbc: 4a2d ldr r2, [pc, #180] ; (8051e74 ) 8051dbe: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051dc2: f001 beba b.w 8053b3a if(menupos == DiagSaveToFile) //TODO 8051dc6: 4b2d ldr r3, [pc, #180] ; (8051e7c ) 8051dc8: 781b ldrb r3, [r3, #0] 8051dca: b2db uxtb r3, r3 8051dcc: 2b04 cmp r3, #4 8051dce: d170 bne.n 8051eb2 result = FR_NOT_READY; 8051dd0: 2303 movs r3, #3 8051dd2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8051dd6: 4b2d ldr r3, [pc, #180] ; (8051e8c ) 8051dd8: 781b ldrb r3, [r3, #0] 8051dda: b2db uxtb r3, r3 8051ddc: 2b03 cmp r3, #3 8051dde: d163 bne.n 8051ea8 CursorIndex = 0; 8051de0: 4b2b ldr r3, [pc, #172] ; (8051e90 ) 8051de2: 2200 movs r2, #0 8051de4: 601a str r2, [r3, #0] FirstFileIndex = 0; 8051de6: 4b2b ldr r3, [pc, #172] ; (8051e94 ) 8051de8: 2200 movs r2, #0 8051dea: 601a str r2, [r3, #0] RealFileIndex = 0; 8051dec: 4b2a ldr r3, [pc, #168] ; (8051e98 ) 8051dee: 2200 movs r2, #0 8051df0: 601a str r2, [r3, #0] result = ReadNumFilesDGN((uint32_t *) &NumFilesDGN); 8051df2: 482a ldr r0, [pc, #168] ; (8051e9c ) 8051df4: f7d8 fdc6 bl 802a984 8051df8: 4603 mov r3, r0 8051dfa: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051dfe: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051e02: 2b00 cmp r3, #0 8051e04: d126 bne.n 8051e54 result = ReadMyFilesDGN(FirstFileIndex); 8051e06: 4b23 ldr r3, [pc, #140] ; (8051e94 ) 8051e08: 681b ldr r3, [r3, #0] 8051e0a: 4618 mov r0, r3 8051e0c: f7d8 fe7d bl 802ab0a 8051e10: 4603 mov r3, r0 8051e12: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051e16: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051e1a: 2b00 cmp r3, #0 8051e1c: d115 bne.n 8051e4a menu = EXPLORER_DIAGN; 8051e1e: 4b16 ldr r3, [pc, #88] ; (8051e78 ) 8051e20: 222a movs r2, #42 ; 0x2a 8051e22: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051e24: 4b15 ldr r3, [pc, #84] ; (8051e7c ) 8051e26: 781b ldrb r3, [r3, #0] 8051e28: b2da uxtb r2, r3 8051e2a: 4b1d ldr r3, [pc, #116] ; (8051ea0 ) 8051e2c: 701a strb r2, [r3, #0] if(NumFilesDGN) 8051e2e: 4b1b ldr r3, [pc, #108] ; (8051e9c ) 8051e30: 681b ldr r3, [r3, #0] 8051e32: 2b00 cmp r3, #0 8051e34: d004 beq.n 8051e40 menupos = FilesDGN; 8051e36: 4b11 ldr r3, [pc, #68] ; (8051e7c ) 8051e38: 2202 movs r2, #2 8051e3a: 701a strb r2, [r3, #0] break; 8051e3c: f001 be7d b.w 8053b3a else menupos = NoFilesDGN; 8051e40: 4b0e ldr r3, [pc, #56] ; (8051e7c ) 8051e42: 2201 movs r2, #1 8051e44: 701a strb r2, [r3, #0] break; 8051e46: f001 be78 b.w 8053b3a DiagFileName[0] = '\0'; 8051e4a: 4b16 ldr r3, [pc, #88] ; (8051ea4 ) 8051e4c: 2200 movs r2, #0 8051e4e: 701a strb r2, [r3, #0] break; 8051e50: f001 be73 b.w 8053b3a DiagFileName[0] = '\0'; 8051e54: 4b13 ldr r3, [pc, #76] ; (8051ea4 ) 8051e56: 2200 movs r2, #0 8051e58: 701a strb r2, [r3, #0] break; 8051e5a: f001 be6e b.w 8053b3a 8051e5e: bf00 nop 8051e60: e0000000 .word 0xe0000000 8051e64: 3f0a36e2 .word 0x3f0a36e2 8051e68: eb1c432d .word 0xeb1c432d 8051e6c: 3f1a36e2 .word 0x3f1a36e2 8051e70: 20020fc8 .word 0x20020fc8 8051e74: 20023ea8 .word 0x20023ea8 8051e78: 20020fbd .word 0x20020fbd 8051e7c: 20020070 .word 0x20020070 8051e80: 080f2c08 .word 0x080f2c08 8051e84: cccccccd .word 0xcccccccd 8051e88: 44480000 .word 0x44480000 8051e8c: 20021694 .word 0x20021694 8051e90: 20020e00 .word 0x20020e00 8051e94: 20020e04 .word 0x20020e04 8051e98: 20020e08 .word 0x20020e08 8051e9c: 20020e18 .word 0x20020e18 8051ea0: 20020071 .word 0x20020071 8051ea4: 20020e9c .word 0x20020e9c DiagFileName[0] = '\0'; 8051ea8: 4bb1 ldr r3, [pc, #708] ; (8052170 ) 8051eaa: 2200 movs r2, #0 8051eac: 701a strb r2, [r3, #0] break; 8051eae: f001 be44 b.w 8053b3a if(menupos == DiagUs) 8051eb2: 4bb0 ldr r3, [pc, #704] ; (8052174 ) 8051eb4: 781b ldrb r3, [r3, #0] 8051eb6: b2db uxtb r3, r3 8051eb8: 2b00 cmp r3, #0 8051eba: f041 863e bne.w 8053b3a menu = PARAM_DIAGN_1; 8051ebe: 4bae ldr r3, [pc, #696] ; (8052178 ) 8051ec0: 2210 movs r2, #16 8051ec2: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051ec4: 4bab ldr r3, [pc, #684] ; (8052174 ) 8051ec6: 781b ldrb r3, [r3, #0] 8051ec8: b2da uxtb r2, r3 8051eca: 4bac ldr r3, [pc, #688] ; (805217c ) 8051ecc: 701a strb r2, [r3, #0] menupos = CURR_POINT; 8051ece: 4bac ldr r3, [pc, #688] ; (8052180 ) 8051ed0: 781b ldrb r3, [r3, #0] 8051ed2: b2da uxtb r2, r3 8051ed4: 4ba7 ldr r3, [pc, #668] ; (8052174 ) 8051ed6: 701a strb r2, [r3, #0] break; 8051ed8: f001 be2f b.w 8053b3a case PARAM_DIAGN_1: menu = PARAM_DIAGN_2; 8051edc: 4ba6 ldr r3, [pc, #664] ; (8052178 ) 8051ede: 2211 movs r2, #17 8051ee0: 701a strb r2, [r3, #0] CURR_POINT = menupos; 8051ee2: 4ba4 ldr r3, [pc, #656] ; (8052174 ) 8051ee4: 781b ldrb r3, [r3, #0] 8051ee6: b2da uxtb r2, r3 8051ee8: 4ba5 ldr r3, [pc, #660] ; (8052180 ) 8051eea: 701a strb r2, [r3, #0] CURR_USL = Us1; 8051eec: 4ba5 ldr r3, [pc, #660] ; (8052184 ) 8051eee: 2200 movs r2, #0 8051ef0: 701a strb r2, [r3, #0] menupos = Ok; 8051ef2: 4ba0 ldr r3, [pc, #640] ; (8052174 ) 8051ef4: 2200 movs r2, #0 8051ef6: 701a strb r2, [r3, #0] break; 8051ef8: f001 be38 b.w 8053b6c case PARAM_DIAGN_2: if((menupos >= DiagHP_IDT) && (menupos <= DiagHP_IKD)) { 8051efc: 4b9d ldr r3, [pc, #628] ; (8052174 ) 8051efe: 781b ldrb r3, [r3, #0] 8051f00: b2db uxtb r3, r3 8051f02: 2b0c cmp r3, #12 8051f04: d908 bls.n 8051f18 8051f06: 4b9b ldr r3, [pc, #620] ; (8052174 ) 8051f08: 781b ldrb r3, [r3, #0] 8051f0a: b2db uxtb r3, r3 8051f0c: 2b12 cmp r3, #18 8051f0e: d803 bhi.n 8051f18 menupos = DiagHP; 8051f10: 4b98 ldr r3, [pc, #608] ; (8052174 ) 8051f12: 2209 movs r2, #9 8051f14: 701a strb r2, [r3, #0] 8051f16: e0a5 b.n 8052064 } else if((menupos >= DiagLP_IDT) && (menupos <= DiagLP_IKD)) { 8051f18: 4b96 ldr r3, [pc, #600] ; (8052174 ) 8051f1a: 781b ldrb r3, [r3, #0] 8051f1c: b2db uxtb r3, r3 8051f1e: 2b12 cmp r3, #18 8051f20: d908 bls.n 8051f34 8051f22: 4b94 ldr r3, [pc, #592] ; (8052174 ) 8051f24: 781b ldrb r3, [r3, #0] 8051f26: b2db uxtb r3, r3 8051f28: 2b18 cmp r3, #24 8051f2a: d803 bhi.n 8051f34 menupos = DiagLP; 8051f2c: 4b91 ldr r3, [pc, #580] ; (8052174 ) 8051f2e: 220a movs r2, #10 8051f30: 701a strb r2, [r3, #0] 8051f32: e097 b.n 8052064 } else if((menupos >= DiagW_IDT) && (menupos <= DiagW_IKD)) { 8051f34: 4b8f ldr r3, [pc, #572] ; (8052174 ) 8051f36: 781b ldrb r3, [r3, #0] 8051f38: b2db uxtb r3, r3 8051f3a: 2b18 cmp r3, #24 8051f3c: d908 bls.n 8051f50 8051f3e: 4b8d ldr r3, [pc, #564] ; (8052174 ) 8051f40: 781b ldrb r3, [r3, #0] 8051f42: b2db uxtb r3, r3 8051f44: 2b1e cmp r3, #30 8051f46: d803 bhi.n 8051f50 menupos = Diag_W; 8051f48: 4b8a ldr r3, [pc, #552] ; (8052174 ) 8051f4a: 220b movs r2, #11 8051f4c: 701a strb r2, [r3, #0] 8051f4e: e089 b.n 8052064 } else if((menupos >= DiagA_IDT) && (menupos <= DiagA_IKD)) { 8051f50: 4b88 ldr r3, [pc, #544] ; (8052174 ) 8051f52: 781b ldrb r3, [r3, #0] 8051f54: b2db uxtb r3, r3 8051f56: 2b1e cmp r3, #30 8051f58: d908 bls.n 8051f6c 8051f5a: 4b86 ldr r3, [pc, #536] ; (8052174 ) 8051f5c: 781b ldrb r3, [r3, #0] 8051f5e: b2db uxtb r3, r3 8051f60: 2b24 cmp r3, #36 ; 0x24 8051f62: d803 bhi.n 8051f6c menupos = Diag_A; 8051f64: 4b83 ldr r3, [pc, #524] ; (8052174 ) 8051f66: 220c movs r2, #12 8051f68: 701a strb r2, [r3, #0] 8051f6a: e07b b.n 8052064 } else { switch(menupos) 8051f6c: 4b81 ldr r3, [pc, #516] ; (8052174 ) 8051f6e: 781b ldrb r3, [r3, #0] 8051f70: b2db uxtb r3, r3 8051f72: 2b0c cmp r3, #12 8051f74: f201 85e3 bhi.w 8053b3e 8051f78: a201 add r2, pc, #4 ; (adr r2, 8051f80 ) 8051f7a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8051f7e: bf00 nop 8051f80: 0805201d .word 0x0805201d 8051f84: 08053b3f .word 0x08053b3f 8051f88: 08051ffd .word 0x08051ffd 8051f8c: 08053b3f .word 0x08053b3f 8051f90: 08051ffd .word 0x08051ffd 8051f94: 08053b3f .word 0x08053b3f 8051f98: 08051fd5 .word 0x08051fd5 8051f9c: 08051ffd .word 0x08051ffd 8051fa0: 08051ffd .word 0x08051ffd 8051fa4: 08051fb5 .word 0x08051fb5 8051fa8: 08051fbd .word 0x08051fbd 8051fac: 08051fc5 .word 0x08051fc5 8051fb0: 08051fcd .word 0x08051fcd { case DiagHP: menupos = DiagHP_IET; 8051fb4: 4b6f ldr r3, [pc, #444] ; (8052174 ) 8051fb6: 220e movs r2, #14 8051fb8: 701a strb r2, [r3, #0] break; 8051fba: e053 b.n 8052064 case DiagLP: menupos = DiagLP_IET; 8051fbc: 4b6d ldr r3, [pc, #436] ; (8052174 ) 8051fbe: 2214 movs r2, #20 8051fc0: 701a strb r2, [r3, #0] break; 8051fc2: e04f b.n 8052064 case Diag_W: menupos = DiagW_IET; 8051fc4: 4b6b ldr r3, [pc, #428] ; (8052174 ) 8051fc6: 221a movs r2, #26 8051fc8: 701a strb r2, [r3, #0] break; 8051fca: e04b b.n 8052064 case Diag_A: menupos = DiagA_IET; 8051fcc: 4b69 ldr r3, [pc, #420] ; (8052174 ) 8051fce: 2220 movs r2, #32 8051fd0: 701a strb r2, [r3, #0] break; 8051fd2: e047 b.n 8052064 case DiagName: //todo memset(TEMP_Name, 0, sizeof(TEMP_Name)); 8051fd4: 2221 movs r2, #33 ; 0x21 8051fd6: 2100 movs r1, #0 8051fd8: 486b ldr r0, [pc, #428] ; (8052188 ) 8051fda: f07f f9e1 bl 80d13a0 NameLen = 0; 8051fde: 4b6b ldr r3, [pc, #428] ; (805218c ) 8051fe0: 2200 movs r2, #0 8051fe2: 601a str r2, [r3, #0] lastmenupos = menupos; 8051fe4: 4b63 ldr r3, [pc, #396] ; (8052174 ) 8051fe6: 781b ldrb r3, [r3, #0] 8051fe8: b2da uxtb r2, r3 8051fea: 4b64 ldr r3, [pc, #400] ; (805217c ) 8051fec: 701a strb r2, [r3, #0] menu = INPUT_NAME; 8051fee: 4b62 ldr r3, [pc, #392] ; (8052178 ) 8051ff0: 2233 movs r2, #51 ; 0x33 8051ff2: 701a strb r2, [r3, #0] menupos = _CANCEL; 8051ff4: 4b5f ldr r3, [pc, #380] ; (8052174 ) 8051ff6: 2227 movs r2, #39 ; 0x27 8051ff8: 701a strb r2, [r3, #0] break; 8051ffa: e033 b.n 8052064 case DiagOp1: case DiagOp2: case DiagAVS: case DiagValue: if(!focused) 8051ffc: 4b64 ldr r3, [pc, #400] ; (8052190 ) 8051ffe: 781b ldrb r3, [r3, #0] 8052000: b2db uxtb r3, r3 8052002: f083 0301 eor.w r3, r3, #1 8052006: b2db uxtb r3, r3 8052008: 2b00 cmp r3, #0 805200a: d003 beq.n 8052014 focused = true; 805200c: 4b60 ldr r3, [pc, #384] ; (8052190 ) 805200e: 2201 movs r2, #1 8052010: 701a strb r2, [r3, #0] else focused = false; break; 8052012: e027 b.n 8052064 else focused = false; 8052014: 4b5e ldr r3, [pc, #376] ; (8052190 ) 8052016: 2200 movs r2, #0 8052018: 701a strb r2, [r3, #0] break; 805201a: e023 b.n 8052064 case Ok: arm_fill_f32(0.0f, operand, 4); 805201c: 2104 movs r1, #4 805201e: 485d ldr r0, [pc, #372] ; (8052194 ) 8052020: ed9f 0a5d vldr s0, [pc, #372] ; 8052198 8052024: f07c f81a bl 80ce05c result = GetPointAndIndexDGN(DiagFileName); 8052028: 4851 ldr r0, [pc, #324] ; (8052170 ) 805202a: f7d3 fe77 bl 8025d1c 805202e: 4603 mov r3, r0 8052030: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result != FR_OK) { 8052034: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052038: 2b00 cmp r3, #0 805203a: d002 beq.n 8052042 MeasFileName[0] = '\0'; 805203c: 4b57 ldr r3, [pc, #348] ; (805219c ) 805203e: 2200 movs r2, #0 8052040: 701a strb r2, [r3, #0] } menu = MAIN_DIAGN; 8052042: 4b4d ldr r3, [pc, #308] ; (8052178 ) 8052044: 2226 movs r2, #38 ; 0x26 8052046: 701a strb r2, [r3, #0] lastmenupos = menupos; 8052048: 4b4a ldr r3, [pc, #296] ; (8052174 ) 805204a: 781b ldrb r3, [r3, #0] 805204c: b2da uxtb r2, r3 805204e: 4b4b ldr r3, [pc, #300] ; (805217c ) 8052050: 701a strb r2, [r3, #0] menupos = StartStop; 8052052: 4b48 ldr r3, [pc, #288] ; (8052174 ) 8052054: 2200 movs r2, #0 8052056: 701a strb r2, [r3, #0] initAmplif(); 8052058: f7cf fd1c bl 8021a94 FIRST = true; 805205c: 4b50 ldr r3, [pc, #320] ; (80521a0 ) 805205e: 2201 movs r2, #1 8052060: 701a strb r2, [r3, #0] break; 8052062: bf00 nop } } break; 8052064: f001 bd6b b.w 8053b3e case PARAM_UDAR: if(menupos == UdarInner) 8052068: 4b42 ldr r3, [pc, #264] ; (8052174 ) 805206a: 781b ldrb r3, [r3, #0] 805206c: b2db uxtb r3, r3 805206e: 2b02 cmp r3, #2 8052070: d104 bne.n 805207c menupos = UdarInner_IES; 8052072: 4b40 ldr r3, [pc, #256] ; (8052174 ) 8052074: 2207 movs r2, #7 8052076: 701a strb r2, [r3, #0] FIRST = true; FirstStart = true; SeeResults = false; } break; 8052078: f001 bd63 b.w 8053b42 if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 805207c: 4b3d ldr r3, [pc, #244] ; (8052174 ) 805207e: 781b ldrb r3, [r3, #0] 8052080: b2db uxtb r3, r3 8052082: 2b06 cmp r3, #6 8052084: d908 bls.n 8052098 8052086: 4b3b ldr r3, [pc, #236] ; (8052174 ) 8052088: 781b ldrb r3, [r3, #0] 805208a: b2db uxtb r3, r3 805208c: 2b0c cmp r3, #12 805208e: d803 bhi.n 8052098 menupos = UdarInner; 8052090: 4b38 ldr r3, [pc, #224] ; (8052174 ) 8052092: 2202 movs r2, #2 8052094: 701a strb r2, [r3, #0] 8052096: e03b b.n 8052110 if(menupos == UdarRate) 8052098: 4b36 ldr r3, [pc, #216] ; (8052174 ) 805209a: 781b ldrb r3, [r3, #0] 805209c: b2db uxtb r3, r3 805209e: 2b01 cmp r3, #1 80520a0: d104 bne.n 80520ac menupos = UdarRate_IEE; 80520a2: 4b34 ldr r3, [pc, #208] ; (8052174 ) 80520a4: 2206 movs r2, #6 80520a6: 701a strb r2, [r3, #0] break; 80520a8: f001 bd4b b.w 8053b42 if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 80520ac: 4b31 ldr r3, [pc, #196] ; (8052174 ) 80520ae: 781b ldrb r3, [r3, #0] 80520b0: b2db uxtb r3, r3 80520b2: 2b02 cmp r3, #2 80520b4: d908 bls.n 80520c8 80520b6: 4b2f ldr r3, [pc, #188] ; (8052174 ) 80520b8: 781b ldrb r3, [r3, #0] 80520ba: b2db uxtb r3, r3 80520bc: 2b06 cmp r3, #6 80520be: d803 bhi.n 80520c8 menupos = UdarRate; 80520c0: 4b2c ldr r3, [pc, #176] ; (8052174 ) 80520c2: 2201 movs r2, #1 80520c4: 701a strb r2, [r3, #0] 80520c6: e023 b.n 8052110 if(menupos == Ok) 80520c8: 4b2a ldr r3, [pc, #168] ; (8052174 ) 80520ca: 781b ldrb r3, [r3, #0] 80520cc: b2db uxtb r3, r3 80520ce: 2b00 cmp r3, #0 80520d0: f041 8537 bne.w 8053b42 menu = MAIN_UDAR; 80520d4: 4b28 ldr r3, [pc, #160] ; (8052178 ) 80520d6: 2225 movs r2, #37 ; 0x25 80520d8: 701a strb r2, [r3, #0] lastmenupos = menupos; 80520da: 4b26 ldr r3, [pc, #152] ; (8052174 ) 80520dc: 781b ldrb r3, [r3, #0] 80520de: b2da uxtb r2, r3 80520e0: 4b26 ldr r3, [pc, #152] ; (805217c ) 80520e2: 701a strb r2, [r3, #0] menupos = StartStop; 80520e4: 4b23 ldr r3, [pc, #140] ; (8052174 ) 80520e6: 2200 movs r2, #0 80520e8: 701a strb r2, [r3, #0] pardata.SYG = UDAR; 80520ea: 4b2e ldr r3, [pc, #184] ; (80521a4 ) 80520ec: 2209 movs r2, #9 80520ee: 701a strb r2, [r3, #0] Threshold = false; 80520f0: 4b2d ldr r3, [pc, #180] ; (80521a8 ) 80520f2: 2200 movs r2, #0 80520f4: 701a strb r2, [r3, #0] initAmplif(); 80520f6: f7cf fccd bl 8021a94 FIRST = true; 80520fa: 4b29 ldr r3, [pc, #164] ; (80521a0 ) 80520fc: 2201 movs r2, #1 80520fe: 701a strb r2, [r3, #0] FirstStart = true; 8052100: 4b2a ldr r3, [pc, #168] ; (80521ac ) 8052102: 2201 movs r2, #1 8052104: 701a strb r2, [r3, #0] SeeResults = false; 8052106: 4b2a ldr r3, [pc, #168] ; (80521b0 ) 8052108: 2200 movs r2, #0 805210a: 701a strb r2, [r3, #0] break; 805210c: f001 bd19 b.w 8053b42 8052110: f001 bd17 b.w 8053b42 case PARAM_ROLL: if(menupos == RollCount) 8052114: 4b17 ldr r3, [pc, #92] ; (8052174 ) 8052116: 781b ldrb r3, [r3, #0] 8052118: b2db uxtb r3, r3 805211a: 2b01 cmp r3, #1 805211c: d111 bne.n 8052142 { if(!focused) 805211e: 4b1c ldr r3, [pc, #112] ; (8052190 ) 8052120: 781b ldrb r3, [r3, #0] 8052122: b2db uxtb r3, r3 8052124: f083 0301 eor.w r3, r3, #1 8052128: b2db uxtb r3, r3 805212a: 2b00 cmp r3, #0 805212c: d004 beq.n 8052138 focused = true; 805212e: 4b18 ldr r3, [pc, #96] ; (8052190 ) 8052130: 2201 movs r2, #1 8052132: 701a strb r2, [r3, #0] FIRST = true; FirstStart = true; SeeResults = false; } break; 8052134: f001 bd07 b.w 8053b46 else focused = false; 8052138: 4b15 ldr r3, [pc, #84] ; (8052190 ) 805213a: 2200 movs r2, #0 805213c: 701a strb r2, [r3, #0] break; 805213e: f001 bd02 b.w 8053b46 if(menupos == RollAverage) 8052142: 4b0c ldr r3, [pc, #48] ; (8052174 ) 8052144: 781b ldrb r3, [r3, #0] 8052146: b2db uxtb r3, r3 8052148: 2b06 cmp r3, #6 805214a: d133 bne.n 80521b4 if(!focused) 805214c: 4b10 ldr r3, [pc, #64] ; (8052190 ) 805214e: 781b ldrb r3, [r3, #0] 8052150: b2db uxtb r3, r3 8052152: f083 0301 eor.w r3, r3, #1 8052156: b2db uxtb r3, r3 8052158: 2b00 cmp r3, #0 805215a: d004 beq.n 8052166 focused = true; 805215c: 4b0c ldr r3, [pc, #48] ; (8052190 ) 805215e: 2201 movs r2, #1 8052160: 701a strb r2, [r3, #0] break; 8052162: f001 bcf0 b.w 8053b46 else focused = false; 8052166: 4b0a ldr r3, [pc, #40] ; (8052190 ) 8052168: 2200 movs r2, #0 805216a: 701a strb r2, [r3, #0] break; 805216c: f001 bceb b.w 8053b46 8052170: 20020e9c .word 0x20020e9c 8052174: 20020070 .word 0x20020070 8052178: 20020fbd .word 0x20020fbd 805217c: 20020071 .word 0x20020071 8052180: 20021055 .word 0x20021055 8052184: 20021057 .word 0x20021057 8052188: 20025d3c .word 0x20025d3c 805218c: 20020f14 .word 0x20020f14 8052190: 20020fc8 .word 0x20020fc8 8052194: 20026918 .word 0x20026918 8052198: 00000000 .word 0x00000000 805219c: 20020e78 .word 0x20020e78 80521a0: 20020dd2 .word 0x20020dd2 80521a4: 20023ea8 .word 0x20023ea8 80521a8: 20020dd1 .word 0x20020dd1 80521ac: 20020068 .word 0x20020068 80521b0: 20020d88 .word 0x20020d88 if(menupos == RollMax_ALL) 80521b4: 4bb3 ldr r3, [pc, #716] ; (8052484 ) 80521b6: 781b ldrb r3, [r3, #0] 80521b8: b2db uxtb r3, r3 80521ba: 2b08 cmp r3, #8 80521bc: d104 bne.n 80521c8 menupos = RollMax_IET; 80521be: 4bb1 ldr r3, [pc, #708] ; (8052484 ) 80521c0: 2227 movs r2, #39 ; 0x27 80521c2: 701a strb r2, [r3, #0] break; 80521c4: f001 bcbf b.w 8053b46 if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 80521c8: 4bae ldr r3, [pc, #696] ; (8052484 ) 80521ca: 781b ldrb r3, [r3, #0] 80521cc: b2db uxtb r3, r3 80521ce: 2b25 cmp r3, #37 ; 0x25 80521d0: d908 bls.n 80521e4 80521d2: 4bac ldr r3, [pc, #688] ; (8052484 ) 80521d4: 781b ldrb r3, [r3, #0] 80521d6: b2db uxtb r3, r3 80521d8: 2b2b cmp r3, #43 ; 0x2b 80521da: d803 bhi.n 80521e4 menupos = RollMax_ALL; 80521dc: 4ba9 ldr r3, [pc, #676] ; (8052484 ) 80521de: 2208 movs r2, #8 80521e0: 701a strb r2, [r3, #0] 80521e2: e0bb b.n 805235c if(menupos == D_Roll) 80521e4: 4ba7 ldr r3, [pc, #668] ; (8052484 ) 80521e6: 781b ldrb r3, [r3, #0] 80521e8: b2db uxtb r3, r3 80521ea: 2b02 cmp r3, #2 80521ec: d104 bne.n 80521f8 menupos = D_Roll_IEE; 80521ee: 4ba5 ldr r3, [pc, #660] ; (8052484 ) 80521f0: 220c movs r2, #12 80521f2: 701a strb r2, [r3, #0] break; 80521f4: f001 bca7 b.w 8053b46 if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 80521f8: 4ba2 ldr r3, [pc, #648] ; (8052484 ) 80521fa: 781b ldrb r3, [r3, #0] 80521fc: b2db uxtb r3, r3 80521fe: 2b09 cmp r3, #9 8052200: d908 bls.n 8052214 8052202: 4ba0 ldr r3, [pc, #640] ; (8052484 ) 8052204: 781b ldrb r3, [r3, #0] 8052206: b2db uxtb r3, r3 8052208: 2b0f cmp r3, #15 805220a: d803 bhi.n 8052214 menupos = D_Roll; 805220c: 4b9d ldr r3, [pc, #628] ; (8052484 ) 805220e: 2202 movs r2, #2 8052210: 701a strb r2, [r3, #0] 8052212: e0a3 b.n 805235c if(menupos == D_Outer) 8052214: 4b9b ldr r3, [pc, #620] ; (8052484 ) 8052216: 781b ldrb r3, [r3, #0] 8052218: b2db uxtb r3, r3 805221a: 2b03 cmp r3, #3 805221c: d104 bne.n 8052228 menupos = D_Outer_IEE; 805221e: 4b99 ldr r3, [pc, #612] ; (8052484 ) 8052220: 2212 movs r2, #18 8052222: 701a strb r2, [r3, #0] break; 8052224: f001 bc8f b.w 8053b46 if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 8052228: 4b96 ldr r3, [pc, #600] ; (8052484 ) 805222a: 781b ldrb r3, [r3, #0] 805222c: b2db uxtb r3, r3 805222e: 2b0f cmp r3, #15 8052230: d908 bls.n 8052244 8052232: 4b94 ldr r3, [pc, #592] ; (8052484 ) 8052234: 781b ldrb r3, [r3, #0] 8052236: b2db uxtb r3, r3 8052238: 2b15 cmp r3, #21 805223a: d803 bhi.n 8052244 menupos = D_Outer; 805223c: 4b91 ldr r3, [pc, #580] ; (8052484 ) 805223e: 2203 movs r2, #3 8052240: 701a strb r2, [r3, #0] 8052242: e08b b.n 805235c if(menupos == D_Inner) 8052244: 4b8f ldr r3, [pc, #572] ; (8052484 ) 8052246: 781b ldrb r3, [r3, #0] 8052248: b2db uxtb r3, r3 805224a: 2b04 cmp r3, #4 805224c: d104 bne.n 8052258 menupos = D_Inner_IEE; 805224e: 4b8d ldr r3, [pc, #564] ; (8052484 ) 8052250: 2218 movs r2, #24 8052252: 701a strb r2, [r3, #0] break; 8052254: f001 bc77 b.w 8053b46 if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 8052258: 4b8a ldr r3, [pc, #552] ; (8052484 ) 805225a: 781b ldrb r3, [r3, #0] 805225c: b2db uxtb r3, r3 805225e: 2b15 cmp r3, #21 8052260: d908 bls.n 8052274 8052262: 4b88 ldr r3, [pc, #544] ; (8052484 ) 8052264: 781b ldrb r3, [r3, #0] 8052266: b2db uxtb r3, r3 8052268: 2b1b cmp r3, #27 805226a: d803 bhi.n 8052274 menupos = D_Inner; 805226c: 4b85 ldr r3, [pc, #532] ; (8052484 ) 805226e: 2204 movs r2, #4 8052270: 701a strb r2, [r3, #0] 8052272: e073 b.n 805235c if(menupos == D_Angle) 8052274: 4b83 ldr r3, [pc, #524] ; (8052484 ) 8052276: 781b ldrb r3, [r3, #0] 8052278: b2db uxtb r3, r3 805227a: 2b05 cmp r3, #5 805227c: d104 bne.n 8052288 menupos = D_Angle_IEE; 805227e: 4b81 ldr r3, [pc, #516] ; (8052484 ) 8052280: 221e movs r2, #30 8052282: 701a strb r2, [r3, #0] break; 8052284: f001 bc5f b.w 8053b46 if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 8052288: 4b7e ldr r3, [pc, #504] ; (8052484 ) 805228a: 781b ldrb r3, [r3, #0] 805228c: b2db uxtb r3, r3 805228e: 2b1b cmp r3, #27 8052290: d908 bls.n 80522a4 8052292: 4b7c ldr r3, [pc, #496] ; (8052484 ) 8052294: 781b ldrb r3, [r3, #0] 8052296: b2db uxtb r3, r3 8052298: 2b21 cmp r3, #33 ; 0x21 805229a: d803 bhi.n 80522a4 menupos = D_Angle; 805229c: 4b79 ldr r3, [pc, #484] ; (8052484 ) 805229e: 2205 movs r2, #5 80522a0: 701a strb r2, [r3, #0] 80522a2: e05b b.n 805235c if(menupos == D_Rate) 80522a4: 4b77 ldr r3, [pc, #476] ; (8052484 ) 80522a6: 781b ldrb r3, [r3, #0] 80522a8: b2db uxtb r3, r3 80522aa: 2b09 cmp r3, #9 80522ac: d104 bne.n 80522b8 menupos = D_Rate_IEE; 80522ae: 4b75 ldr r3, [pc, #468] ; (8052484 ) 80522b0: 2225 movs r2, #37 ; 0x25 80522b2: 701a strb r2, [r3, #0] break; 80522b4: f001 bc47 b.w 8053b46 if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 80522b8: 4b72 ldr r3, [pc, #456] ; (8052484 ) 80522ba: 781b ldrb r3, [r3, #0] 80522bc: b2db uxtb r3, r3 80522be: 2b21 cmp r3, #33 ; 0x21 80522c0: d908 bls.n 80522d4 80522c2: 4b70 ldr r3, [pc, #448] ; (8052484 ) 80522c4: 781b ldrb r3, [r3, #0] 80522c6: b2db uxtb r3, r3 80522c8: 2b25 cmp r3, #37 ; 0x25 80522ca: d803 bhi.n 80522d4 menupos = D_Rate; 80522cc: 4b6d ldr r3, [pc, #436] ; (8052484 ) 80522ce: 2209 movs r2, #9 80522d0: 701a strb r2, [r3, #0] 80522d2: e043 b.n 805235c if(menupos == RollAutoKu) 80522d4: 4b6b ldr r3, [pc, #428] ; (8052484 ) 80522d6: 781b ldrb r3, [r3, #0] 80522d8: b2db uxtb r3, r3 80522da: 2b07 cmp r3, #7 80522dc: d11a bne.n 8052314 if(pardata.OPTIONS & 0x4) 80522de: 4b6a ldr r3, [pc, #424] ; (8052488 ) 80522e0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80522e4: f003 0304 and.w r3, r3, #4 80522e8: 2b00 cmp r3, #0 80522ea: d009 beq.n 8052300 pardata.OPTIONS &= ~0x4; 80522ec: 4b66 ldr r3, [pc, #408] ; (8052488 ) 80522ee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80522f2: f023 0304 bic.w r3, r3, #4 80522f6: 4a64 ldr r2, [pc, #400] ; (8052488 ) 80522f8: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 80522fc: f001 bc23 b.w 8053b46 else pardata.OPTIONS |= 0x4; 8052300: 4b61 ldr r3, [pc, #388] ; (8052488 ) 8052302: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052306: f043 0304 orr.w r3, r3, #4 805230a: 4a5f ldr r2, [pc, #380] ; (8052488 ) 805230c: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8052310: f001 bc19 b.w 8053b46 if(menupos == Ok) 8052314: 4b5b ldr r3, [pc, #364] ; (8052484 ) 8052316: 781b ldrb r3, [r3, #0] 8052318: b2db uxtb r3, r3 805231a: 2b00 cmp r3, #0 805231c: f041 8413 bne.w 8053b46 menu = MAIN_ROLL; 8052320: 4b5a ldr r3, [pc, #360] ; (805248c ) 8052322: 2224 movs r2, #36 ; 0x24 8052324: 701a strb r2, [r3, #0] lastmenupos = menupos; 8052326: 4b57 ldr r3, [pc, #348] ; (8052484 ) 8052328: 781b ldrb r3, [r3, #0] 805232a: b2da uxtb r2, r3 805232c: 4b58 ldr r3, [pc, #352] ; (8052490 ) 805232e: 701a strb r2, [r3, #0] menupos = StartStop; 8052330: 4b54 ldr r3, [pc, #336] ; (8052484 ) 8052332: 2200 movs r2, #0 8052334: 701a strb r2, [r3, #0] pardata.SYG = ROLL; 8052336: 4b54 ldr r3, [pc, #336] ; (8052488 ) 8052338: 2208 movs r2, #8 805233a: 701a strb r2, [r3, #0] Threshold = false; 805233c: 4b55 ldr r3, [pc, #340] ; (8052494 ) 805233e: 2200 movs r2, #0 8052340: 701a strb r2, [r3, #0] initAmplif(); 8052342: f7cf fba7 bl 8021a94 FIRST = true; 8052346: 4b54 ldr r3, [pc, #336] ; (8052498 ) 8052348: 2201 movs r2, #1 805234a: 701a strb r2, [r3, #0] FirstStart = true; 805234c: 4b53 ldr r3, [pc, #332] ; (805249c ) 805234e: 2201 movs r2, #1 8052350: 701a strb r2, [r3, #0] SeeResults = false; 8052352: 4b53 ldr r3, [pc, #332] ; (80524a0 ) 8052354: 2200 movs r2, #0 8052356: 701a strb r2, [r3, #0] break; 8052358: f001 bbf5 b.w 8053b46 805235c: f001 bbf3 b.w 8053b46 case PARAM_VIB: if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) { 8052360: 4b48 ldr r3, [pc, #288] ; (8052484 ) 8052362: 781b ldrb r3, [r3, #0] 8052364: b2db uxtb r3, r3 8052366: 2b0a cmp r3, #10 8052368: d908 bls.n 805237c 805236a: 4b46 ldr r3, [pc, #280] ; (8052484 ) 805236c: 781b ldrb r3, [r3, #0] 805236e: b2db uxtb r3, r3 8052370: 2b10 cmp r3, #16 8052372: d803 bhi.n 805237c menupos = VibMax_ALL; 8052374: 4b43 ldr r3, [pc, #268] ; (8052484 ) 8052376: 2209 movs r2, #9 8052378: 701a strb r2, [r3, #0] 805237a: e173 b.n 8052664 } else if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) { 805237c: 4b41 ldr r3, [pc, #260] ; (8052484 ) 805237e: 781b ldrb r3, [r3, #0] 8052380: b2db uxtb r3, r3 8052382: 2b18 cmp r3, #24 8052384: d908 bls.n 8052398 8052386: 4b3f ldr r3, [pc, #252] ; (8052484 ) 8052388: 781b ldrb r3, [r3, #0] 805238a: b2db uxtb r3, r3 805238c: 2b1e cmp r3, #30 805238e: d803 bhi.n 8052398 menupos = FilterHP; 8052390: 4b3c ldr r3, [pc, #240] ; (8052484 ) 8052392: 2217 movs r2, #23 8052394: 701a strb r2, [r3, #0] 8052396: e165 b.n 8052664 } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) { 8052398: 4b3a ldr r3, [pc, #232] ; (8052484 ) 805239a: 781b ldrb r3, [r3, #0] 805239c: b2db uxtb r3, r3 805239e: 2b1e cmp r3, #30 80523a0: d908 bls.n 80523b4 80523a2: 4b38 ldr r3, [pc, #224] ; (8052484 ) 80523a4: 781b ldrb r3, [r3, #0] 80523a6: b2db uxtb r3, r3 80523a8: 2b24 cmp r3, #36 ; 0x24 80523aa: d803 bhi.n 80523b4 menupos = FilterLP; 80523ac: 4b35 ldr r3, [pc, #212] ; (8052484 ) 80523ae: 2218 movs r2, #24 80523b0: 701a strb r2, [r3, #0] 80523b2: e157 b.n 8052664 } else { switch(menupos) 80523b4: 4b33 ldr r3, [pc, #204] ; (8052484 ) 80523b6: 781b ldrb r3, [r3, #0] 80523b8: b2db uxtb r3, r3 80523ba: 2b18 cmp r3, #24 80523bc: f201 83c5 bhi.w 8053b4a 80523c0: a201 add r2, pc, #4 ; (adr r2, 80523c8 ) 80523c2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80523c6: bf00 nop 80523c8: 080525ad .word 0x080525ad 80523cc: 08053b4b .word 0x08053b4b 80523d0: 0805242d .word 0x0805242d 80523d4: 0805242d .word 0x0805242d 80523d8: 0805242d .word 0x0805242d 80523dc: 0805242d .word 0x0805242d 80523e0: 08052465 .word 0x08052465 80523e4: 080524ed .word 0x080524ed 80523e8: 080524bb .word 0x080524bb 80523ec: 0805245d .word 0x0805245d 80523f0: 0805251f .word 0x0805251f 80523f4: 08053b4b .word 0x08053b4b 80523f8: 08053b4b .word 0x08053b4b 80523fc: 08053b4b .word 0x08053b4b 8052400: 08053b4b .word 0x08053b4b 8052404: 08053b4b .word 0x08053b4b 8052408: 08053b4b .word 0x08053b4b 805240c: 08053b4b .word 0x08053b4b 8052410: 08053b4b .word 0x08053b4b 8052414: 08053b4b .word 0x08053b4b 8052418: 08053b4b .word 0x08053b4b 805241c: 08053b4b .word 0x08053b4b 8052420: 08053b4b .word 0x08053b4b 8052424: 0805244d .word 0x0805244d 8052428: 08052455 .word 0x08052455 { case ValueA: case ValueV: case ValueS: case Average: if(!focused) 805242c: 4b1d ldr r3, [pc, #116] ; (80524a4 ) 805242e: 781b ldrb r3, [r3, #0] 8052430: b2db uxtb r3, r3 8052432: f083 0301 eor.w r3, r3, #1 8052436: b2db uxtb r3, r3 8052438: 2b00 cmp r3, #0 805243a: d003 beq.n 8052444 focused = true; 805243c: 4b19 ldr r3, [pc, #100] ; (80524a4 ) 805243e: 2201 movs r2, #1 8052440: 701a strb r2, [r3, #0] else focused = false; break; 8052442: e10f b.n 8052664 else focused = false; 8052444: 4b17 ldr r3, [pc, #92] ; (80524a4 ) 8052446: 2200 movs r2, #0 8052448: 701a strb r2, [r3, #0] break; 805244a: e10b b.n 8052664 case FilterHP: menupos = FilterHP_IET; 805244c: 4b0d ldr r3, [pc, #52] ; (8052484 ) 805244e: 221a movs r2, #26 8052450: 701a strb r2, [r3, #0] break; 8052452: e107 b.n 8052664 case FilterLP: menupos = FilterLP_IET; 8052454: 4b0b ldr r3, [pc, #44] ; (8052484 ) 8052456: 2220 movs r2, #32 8052458: 701a strb r2, [r3, #0] break; 805245a: e103 b.n 8052664 case VibMax_ALL: menupos = VibMax_IET; 805245c: 4b09 ldr r3, [pc, #36] ; (8052484 ) 805245e: 220c movs r2, #12 8052460: 701a strb r2, [r3, #0] break; 8052462: e0ff b.n 8052664 case Mediana: if(pardata.OPTIONS & 0x1) 8052464: 4b08 ldr r3, [pc, #32] ; (8052488 ) 8052466: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805246a: f003 0301 and.w r3, r3, #1 805246e: 2b00 cmp r3, #0 8052470: d01a beq.n 80524a8 pardata.OPTIONS &= ~0x1; 8052472: 4b05 ldr r3, [pc, #20] ; (8052488 ) 8052474: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052478: f023 0301 bic.w r3, r3, #1 805247c: 4a02 ldr r2, [pc, #8] ; (8052488 ) 805247e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= 0x1; break; 8052482: e0ef b.n 8052664 8052484: 20020070 .word 0x20020070 8052488: 20023ea8 .word 0x20023ea8 805248c: 20020fbd .word 0x20020fbd 8052490: 20020071 .word 0x20020071 8052494: 20020dd1 .word 0x20020dd1 8052498: 20020dd2 .word 0x20020dd2 805249c: 20020068 .word 0x20020068 80524a0: 20020d88 .word 0x20020d88 80524a4: 20020fc8 .word 0x20020fc8 else pardata.OPTIONS |= 0x1; 80524a8: 4bbc ldr r3, [pc, #752] ; (805279c ) 80524aa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80524ae: f043 0301 orr.w r3, r3, #1 80524b2: 4aba ldr r2, [pc, #744] ; (805279c ) 80524b4: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 80524b8: e0d4 b.n 8052664 case VibAutoKu: if(pardata.OPTIONS & 0x4) 80524ba: 4bb8 ldr r3, [pc, #736] ; (805279c ) 80524bc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80524c0: f003 0304 and.w r3, r3, #4 80524c4: 2b00 cmp r3, #0 80524c6: d008 beq.n 80524da pardata.OPTIONS &= ~0x4; 80524c8: 4bb4 ldr r3, [pc, #720] ; (805279c ) 80524ca: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80524ce: f023 0304 bic.w r3, r3, #4 80524d2: 4ab2 ldr r2, [pc, #712] ; (805279c ) 80524d4: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= 0x4; break; 80524d8: e0c4 b.n 8052664 else pardata.OPTIONS |= 0x4; 80524da: 4bb0 ldr r3, [pc, #704] ; (805279c ) 80524dc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80524e0: f043 0304 orr.w r3, r3, #4 80524e4: 4aad ldr r2, [pc, #692] ; (805279c ) 80524e6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 80524ea: e0bb b.n 8052664 case ViewFreq: if(pardata.OPTIONS & 0x8) 80524ec: 4bab ldr r3, [pc, #684] ; (805279c ) 80524ee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80524f2: f003 0308 and.w r3, r3, #8 80524f6: 2b00 cmp r3, #0 80524f8: d008 beq.n 805250c pardata.OPTIONS &= ~0x8; 80524fa: 4ba8 ldr r3, [pc, #672] ; (805279c ) 80524fc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052500: f023 0308 bic.w r3, r3, #8 8052504: 4aa5 ldr r2, [pc, #660] ; (805279c ) 8052506: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= 0x8; break; 805250a: e0ab b.n 8052664 else pardata.OPTIONS |= 0x8; 805250c: 4ba3 ldr r3, [pc, #652] ; (805279c ) 805250e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052512: f043 0308 orr.w r3, r3, #8 8052516: 4aa1 ldr r2, [pc, #644] ; (805279c ) 8052518: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 805251c: e0a2 b.n 8052664 case SaveToFile: result = FR_NOT_READY; 805251e: 2303 movs r3, #3 8052520: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8052524: 4b9e ldr r3, [pc, #632] ; (80527a0 ) 8052526: 781b ldrb r3, [r3, #0] 8052528: b2db uxtb r3, r3 805252a: 2b03 cmp r3, #3 805252c: d13a bne.n 80525a4 { CursorIndex = 0; 805252e: 4b9d ldr r3, [pc, #628] ; (80527a4 ) 8052530: 2200 movs r2, #0 8052532: 601a str r2, [r3, #0] FirstFileIndex = 0; 8052534: 4b9c ldr r3, [pc, #624] ; (80527a8 ) 8052536: 2200 movs r2, #0 8052538: 601a str r2, [r3, #0] RealFileIndex = 0; 805253a: 4b9c ldr r3, [pc, #624] ; (80527ac ) 805253c: 2200 movs r2, #0 805253e: 601a str r2, [r3, #0] result = ReadNumFilesPTM((uint32_t *) &NumFilesPTM); 8052540: 489b ldr r0, [pc, #620] ; (80527b0 ) 8052542: f7d8 fa09 bl 802a958 8052546: 4603 mov r3, r0 8052548: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805254c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052550: 2b00 cmp r3, #0 8052552: d123 bne.n 805259c { result = ReadMyFilesPTM(FirstFileIndex); 8052554: 4b94 ldr r3, [pc, #592] ; (80527a8 ) 8052556: 681b ldr r3, [r3, #0] 8052558: 4618 mov r0, r3 805255a: f7d8 fac9 bl 802aaf0 805255e: 4603 mov r3, r0 8052560: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052564: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052568: 2b00 cmp r3, #0 805256a: d113 bne.n 8052594 { menu = EXPLORER; 805256c: 4b91 ldr r3, [pc, #580] ; (80527b4 ) 805256e: 2229 movs r2, #41 ; 0x29 8052570: 701a strb r2, [r3, #0] lastmenupos = menupos; 8052572: 4b91 ldr r3, [pc, #580] ; (80527b8 ) 8052574: 781b ldrb r3, [r3, #0] 8052576: b2da uxtb r2, r3 8052578: 4b90 ldr r3, [pc, #576] ; (80527bc ) 805257a: 701a strb r2, [r3, #0] if(NumFilesPTM) 805257c: 4b8c ldr r3, [pc, #560] ; (80527b0 ) 805257e: 681b ldr r3, [r3, #0] 8052580: 2b00 cmp r3, #0 8052582: d003 beq.n 805258c menupos = FilesPTM; 8052584: 4b8c ldr r3, [pc, #560] ; (80527b8 ) 8052586: 2202 movs r2, #2 8052588: 701a strb r2, [r3, #0] else MeasFileName[0] = '\0'; } else MeasFileName[0] = '\0'; break; 805258a: e06b b.n 8052664 else menupos = NoFilesPTM; 805258c: 4b8a ldr r3, [pc, #552] ; (80527b8 ) 805258e: 2201 movs r2, #1 8052590: 701a strb r2, [r3, #0] break; 8052592: e067 b.n 8052664 MeasFileName[0] = '\0'; 8052594: 4b8a ldr r3, [pc, #552] ; (80527c0 ) 8052596: 2200 movs r2, #0 8052598: 701a strb r2, [r3, #0] break; 805259a: e063 b.n 8052664 MeasFileName[0] = '\0'; 805259c: 4b88 ldr r3, [pc, #544] ; (80527c0 ) 805259e: 2200 movs r2, #0 80525a0: 701a strb r2, [r3, #0] break; 80525a2: e05f b.n 8052664 MeasFileName[0] = '\0'; 80525a4: 4b86 ldr r3, [pc, #536] ; (80527c0 ) 80525a6: 2200 movs r2, #0 80525a8: 701a strb r2, [r3, #0] break; 80525aa: e05b b.n 8052664 case Ok: if(pardata.OPTIONS & 0x8) // Åñëè îòîáðàæàòü ÷àñòîòó, òî ïåðåõîäèì â FRAN 80525ac: 4b7b ldr r3, [pc, #492] ; (805279c ) 80525ae: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80525b2: f003 0308 and.w r3, r3, #8 80525b6: 2b00 cmp r3, #0 80525b8: d02a beq.n 8052610 { pardata.OPTIONS &= ~0x2; 80525ba: 4b78 ldr r3, [pc, #480] ; (805279c ) 80525bc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80525c0: f023 0302 bic.w r3, r3, #2 80525c4: 4a75 ldr r2, [pc, #468] ; (805279c ) 80525c6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 menu = MAIN_FRAN; 80525ca: 4b7a ldr r3, [pc, #488] ; (80527b4 ) 80525cc: 221f movs r2, #31 80525ce: 701a strb r2, [r3, #0] lastmenupos = menupos; 80525d0: 4b79 ldr r3, [pc, #484] ; (80527b8 ) 80525d2: 781b ldrb r3, [r3, #0] 80525d4: b2da uxtb r2, r3 80525d6: 4b79 ldr r3, [pc, #484] ; (80527bc ) 80525d8: 701a strb r2, [r3, #0] menupos = StartStop; 80525da: 4b77 ldr r3, [pc, #476] ; (80527b8 ) 80525dc: 2200 movs r2, #0 80525de: 701a strb r2, [r3, #0] DrawSavedData = false; 80525e0: 4b78 ldr r3, [pc, #480] ; (80527c4 ) 80525e2: 2200 movs r2, #0 80525e4: 701a strb r2, [r3, #0] pardata.SYG = FRAN; 80525e6: 4b6d ldr r3, [pc, #436] ; (805279c ) 80525e8: 2203 movs r2, #3 80525ea: 701a strb r2, [r3, #0] result = GetPointAndIndexPTM(MeasFileName); 80525ec: 4874 ldr r0, [pc, #464] ; (80527c0 ) 80525ee: f7d3 ff21 bl 8026434 80525f2: 4603 mov r3, r0 80525f4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 Threshold = false; 80525f8: 4b73 ldr r3, [pc, #460] ; (80527c8 ) 80525fa: 2200 movs r2, #0 80525fc: 701a strb r2, [r3, #0] initAmplif(); 80525fe: f7cf fa49 bl 8021a94 FIRST = true; 8052602: 4b72 ldr r3, [pc, #456] ; (80527cc ) 8052604: 2201 movs r2, #1 8052606: 701a strb r2, [r3, #0] SeeLog = false; 8052608: 4b71 ldr r3, [pc, #452] ; (80527d0 ) 805260a: 2200 movs r2, #0 805260c: 701a strb r2, [r3, #0] initAmplif(); FIRST = true; SeeLog = false; } break; 805260e: e028 b.n 8052662 menu = MAIN; 8052610: 4b68 ldr r3, [pc, #416] ; (80527b4 ) 8052612: 2200 movs r2, #0 8052614: 701a strb r2, [r3, #0] lastmenupos = menupos; 8052616: 4b68 ldr r3, [pc, #416] ; (80527b8 ) 8052618: 781b ldrb r3, [r3, #0] 805261a: b2da uxtb r2, r3 805261c: 4b67 ldr r3, [pc, #412] ; (80527bc ) 805261e: 701a strb r2, [r3, #0] menupos = StartStop; 8052620: 4b65 ldr r3, [pc, #404] ; (80527b8 ) 8052622: 2200 movs r2, #0 8052624: 701a strb r2, [r3, #0] DrawSavedData = false; 8052626: 4b67 ldr r3, [pc, #412] ; (80527c4 ) 8052628: 2200 movs r2, #0 805262a: 701a strb r2, [r3, #0] result = GetPointAndIndexPTM(MeasFileName); 805262c: 4864 ldr r0, [pc, #400] ; (80527c0 ) 805262e: f7d3 ff01 bl 8026434 8052632: 4603 mov r3, r0 8052634: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result != FR_OK) { 8052638: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805263c: 2b00 cmp r3, #0 805263e: d002 beq.n 8052646 MeasFileName[0] = '\0'; 8052640: 4b5f ldr r3, [pc, #380] ; (80527c0 ) 8052642: 2200 movs r2, #0 8052644: 701a strb r2, [r3, #0] pardata.SYG = VIB; 8052646: 4b55 ldr r3, [pc, #340] ; (805279c ) 8052648: 2200 movs r2, #0 805264a: 701a strb r2, [r3, #0] Threshold = false; 805264c: 4b5e ldr r3, [pc, #376] ; (80527c8 ) 805264e: 2200 movs r2, #0 8052650: 701a strb r2, [r3, #0] initAmplif(); 8052652: f7cf fa1f bl 8021a94 FIRST = true; 8052656: 4b5d ldr r3, [pc, #372] ; (80527cc ) 8052658: 2201 movs r2, #1 805265a: 701a strb r2, [r3, #0] SeeLog = false; 805265c: 4b5c ldr r3, [pc, #368] ; (80527d0 ) 805265e: 2200 movs r2, #0 8052660: 701a strb r2, [r3, #0] break; 8052662: bf00 nop } } break; 8052664: f001 ba71 b.w 8053b4a case PARAM_SPEC: if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) { 8052668: 4b53 ldr r3, [pc, #332] ; (80527b8 ) 805266a: 781b ldrb r3, [r3, #0] 805266c: b2db uxtb r3, r3 805266e: 2b18 cmp r3, #24 8052670: d908 bls.n 8052684 8052672: 4b51 ldr r3, [pc, #324] ; (80527b8 ) 8052674: 781b ldrb r3, [r3, #0] 8052676: b2db uxtb r3, r3 8052678: 2b1e cmp r3, #30 805267a: d803 bhi.n 8052684 menupos = FilterHP; 805267c: 4b4e ldr r3, [pc, #312] ; (80527b8 ) 805267e: 2217 movs r2, #23 8052680: 701a strb r2, [r3, #0] 8052682: e135 b.n 80528f0 } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) { 8052684: 4b4c ldr r3, [pc, #304] ; (80527b8 ) 8052686: 781b ldrb r3, [r3, #0] 8052688: b2db uxtb r3, r3 805268a: 2b1e cmp r3, #30 805268c: d908 bls.n 80526a0 805268e: 4b4a ldr r3, [pc, #296] ; (80527b8 ) 8052690: 781b ldrb r3, [r3, #0] 8052692: b2db uxtb r3, r3 8052694: 2b24 cmp r3, #36 ; 0x24 8052696: d803 bhi.n 80526a0 menupos = FilterLP; 8052698: 4b47 ldr r3, [pc, #284] ; (80527b8 ) 805269a: 2218 movs r2, #24 805269c: 701a strb r2, [r3, #0] 805269e: e127 b.n 80528f0 } else if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) { 80526a0: 4b45 ldr r3, [pc, #276] ; (80527b8 ) 80526a2: 781b ldrb r3, [r3, #0] 80526a4: b2db uxtb r3, r3 80526a6: 2b0a cmp r3, #10 80526a8: d908 bls.n 80526bc 80526aa: 4b43 ldr r3, [pc, #268] ; (80527b8 ) 80526ac: 781b ldrb r3, [r3, #0] 80526ae: b2db uxtb r3, r3 80526b0: 2b10 cmp r3, #16 80526b2: d803 bhi.n 80526bc menupos = VibMax_ALL; 80526b4: 4b40 ldr r3, [pc, #256] ; (80527b8 ) 80526b6: 2209 movs r2, #9 80526b8: 701a strb r2, [r3, #0] 80526ba: e119 b.n 80528f0 } else { switch(menupos) 80526bc: 4b3e ldr r3, [pc, #248] ; (80527b8 ) 80526be: 781b ldrb r3, [r3, #0] 80526c0: b2db uxtb r3, r3 80526c2: 2b18 cmp r3, #24 80526c4: f201 8243 bhi.w 8053b4e 80526c8: a201 add r2, pc, #4 ; (adr r2, 80526d0 ) 80526ca: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80526ce: bf00 nop 80526d0: 080527d9 .word 0x080527d9 80526d4: 08052743 .word 0x08052743 80526d8: 08052743 .word 0x08052743 80526dc: 08053b4f .word 0x08053b4f 80526e0: 08052743 .word 0x08052743 80526e4: 08052743 .word 0x08052743 80526e8: 08052743 .word 0x08052743 80526ec: 08052743 .word 0x08052743 80526f0: 08052763 .word 0x08052763 80526f4: 08052795 .word 0x08052795 80526f8: 08053b4f .word 0x08053b4f 80526fc: 08053b4f .word 0x08053b4f 8052700: 08053b4f .word 0x08053b4f 8052704: 08053b4f .word 0x08053b4f 8052708: 08053b4f .word 0x08053b4f 805270c: 08053b4f .word 0x08053b4f 8052710: 08053b4f .word 0x08053b4f 8052714: 08053b4f .word 0x08053b4f 8052718: 08053b4f .word 0x08053b4f 805271c: 08053b4f .word 0x08053b4f 8052720: 08053b4f .word 0x08053b4f 8052724: 08053b4f .word 0x08053b4f 8052728: 08053b4f .word 0x08053b4f 805272c: 08052735 .word 0x08052735 8052730: 0805273d .word 0x0805273d { case FilterHP: menupos = FilterHP_IET; 8052734: 4b20 ldr r3, [pc, #128] ; (80527b8 ) 8052736: 221a movs r2, #26 8052738: 701a strb r2, [r3, #0] break; 805273a: e0d9 b.n 80528f0 case FilterLP: menupos = FilterLP_IET; 805273c: 4b1e ldr r3, [pc, #120] ; (80527b8 ) 805273e: 2220 movs r2, #32 8052740: 701a strb r2, [r3, #0] case SpecValue: case SpecLines: case SpecWin: case LinLog: case SAverage: if(!focused) 8052742: 4b24 ldr r3, [pc, #144] ; (80527d4 ) 8052744: 781b ldrb r3, [r3, #0] 8052746: b2db uxtb r3, r3 8052748: f083 0301 eor.w r3, r3, #1 805274c: b2db uxtb r3, r3 805274e: 2b00 cmp r3, #0 8052750: d003 beq.n 805275a focused = true; 8052752: 4b20 ldr r3, [pc, #128] ; (80527d4 ) 8052754: 2201 movs r2, #1 8052756: 701a strb r2, [r3, #0] else focused = false; break; 8052758: e0ca b.n 80528f0 else focused = false; 805275a: 4b1e ldr r3, [pc, #120] ; (80527d4 ) 805275c: 2200 movs r2, #0 805275e: 701a strb r2, [r3, #0] break; 8052760: e0c6 b.n 80528f0 case VibAutoKu: if(pardata.OPTIONS & BIT2) 8052762: 4b0e ldr r3, [pc, #56] ; (805279c ) 8052764: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052768: f003 0304 and.w r3, r3, #4 805276c: 2b00 cmp r3, #0 805276e: d008 beq.n 8052782 pardata.OPTIONS &= ~BIT2; 8052770: 4b0a ldr r3, [pc, #40] ; (805279c ) 8052772: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052776: f023 0304 bic.w r3, r3, #4 805277a: 4a08 ldr r2, [pc, #32] ; (805279c ) 805277c: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= BIT2; break; 8052780: e0b6 b.n 80528f0 else pardata.OPTIONS |= BIT2; 8052782: 4b06 ldr r3, [pc, #24] ; (805279c ) 8052784: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052788: f043 0304 orr.w r3, r3, #4 805278c: 4a03 ldr r2, [pc, #12] ; (805279c ) 805278e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8052792: e0ad b.n 80528f0 case VibMax_ALL: menupos = VibMax_IET; 8052794: 4b08 ldr r3, [pc, #32] ; (80527b8 ) 8052796: 220c movs r2, #12 8052798: 701a strb r2, [r3, #0] break; 805279a: e0a9 b.n 80528f0 805279c: 20023ea8 .word 0x20023ea8 80527a0: 20021694 .word 0x20021694 80527a4: 20020e00 .word 0x20020e00 80527a8: 20020e04 .word 0x20020e04 80527ac: 20020e08 .word 0x20020e08 80527b0: 20020e14 .word 0x20020e14 80527b4: 20020fbd .word 0x20020fbd 80527b8: 20020070 .word 0x20020070 80527bc: 20020071 .word 0x20020071 80527c0: 20020e78 .word 0x20020e78 80527c4: 20020dea .word 0x20020dea 80527c8: 20020dd1 .word 0x20020dd1 80527cc: 20020dd2 .word 0x20020dd2 80527d0: 20020fbc .word 0x20020fbc 80527d4: 20020fc8 .word 0x20020fc8 case Ok: arm_fill_f32(0.0f, skz, 3); 80527d8: 2103 movs r1, #3 80527da: 48b0 ldr r0, [pc, #704] ; (8052a9c ) 80527dc: ed9f 0ab0 vldr s0, [pc, #704] ; 8052aa0 80527e0: f07b fc3c bl 80ce05c arm_fill_f32(0.0f, skzDB, 3); 80527e4: 2103 movs r1, #3 80527e6: 48af ldr r0, [pc, #700] ; (8052aa4 ) 80527e8: ed9f 0aad vldr s0, [pc, #692] ; 8052aa0 80527ec: f07b fc36 bl 80ce05c if((pardata.OPTIONS & maskFFT) == fft) 80527f0: 4bad ldr r3, [pc, #692] ; (8052aa8 ) 80527f2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80527f6: f003 0330 and.w r3, r3, #48 ; 0x30 80527fa: 2b00 cmp r3, #0 80527fc: d116 bne.n 805282c { menu = MAIN_SPEC; 80527fe: 4bab ldr r3, [pc, #684] ; (8052aac ) 8052800: 221c movs r2, #28 8052802: 701a strb r2, [r3, #0] lastmenupos = menupos; 8052804: 4baa ldr r3, [pc, #680] ; (8052ab0 ) 8052806: 781b ldrb r3, [r3, #0] 8052808: b2da uxtb r2, r3 805280a: 4baa ldr r3, [pc, #680] ; (8052ab4 ) 805280c: 701a strb r2, [r3, #0] menupos = StartStop; 805280e: 4ba8 ldr r3, [pc, #672] ; (8052ab0 ) 8052810: 2200 movs r2, #0 8052812: 701a strb r2, [r3, #0] pardata.SYG = SPEC; 8052814: 4ba4 ldr r3, [pc, #656] ; (8052aa8 ) 8052816: 2201 movs r2, #1 8052818: 701a strb r2, [r3, #0] Threshold = false; 805281a: 4ba7 ldr r3, [pc, #668] ; (8052ab8 ) 805281c: 2200 movs r2, #0 805281e: 701a strb r2, [r3, #0] initAmplif(); 8052820: f7cf f938 bl 8021a94 FIRST = true; 8052824: 4ba5 ldr r3, [pc, #660] ; (8052abc ) 8052826: 2201 movs r2, #1 8052828: 701a strb r2, [r3, #0] Threshold = false; initAmplif(); FIRST = true; } break; 805282a: e060 b.n 80528ee if((pardata.OPTIONS & maskFFT) == env) 805282c: 4b9e ldr r3, [pc, #632] ; (8052aa8 ) 805282e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052832: f003 0330 and.w r3, r3, #48 ; 0x30 8052836: 2b10 cmp r3, #16 8052838: d116 bne.n 8052868 menu = MAIN_SPEC_OGIB; 805283a: 4b9c ldr r3, [pc, #624] ; (8052aac ) 805283c: 2221 movs r2, #33 ; 0x21 805283e: 701a strb r2, [r3, #0] lastmenupos = menupos; 8052840: 4b9b ldr r3, [pc, #620] ; (8052ab0 ) 8052842: 781b ldrb r3, [r3, #0] 8052844: b2da uxtb r2, r3 8052846: 4b9b ldr r3, [pc, #620] ; (8052ab4 ) 8052848: 701a strb r2, [r3, #0] menupos = StartStop; 805284a: 4b99 ldr r3, [pc, #612] ; (8052ab0 ) 805284c: 2200 movs r2, #0 805284e: 701a strb r2, [r3, #0] pardata.SYG = SPEC_OGIB; 8052850: 4b95 ldr r3, [pc, #596] ; (8052aa8 ) 8052852: 2205 movs r2, #5 8052854: 701a strb r2, [r3, #0] Threshold = false; 8052856: 4b98 ldr r3, [pc, #608] ; (8052ab8 ) 8052858: 2200 movs r2, #0 805285a: 701a strb r2, [r3, #0] initAmplif(); 805285c: f7cf f91a bl 8021a94 FIRST = true; 8052860: 4b96 ldr r3, [pc, #600] ; (8052abc ) 8052862: 2201 movs r2, #1 8052864: 701a strb r2, [r3, #0] break; 8052866: e042 b.n 80528ee if((pardata.OPTIONS & maskFFT) == okt) 8052868: 4b8f ldr r3, [pc, #572] ; (8052aa8 ) 805286a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805286e: f003 0330 and.w r3, r3, #48 ; 0x30 8052872: 2b20 cmp r3, #32 8052874: d11e bne.n 80528b4 menu = MAIN_SPEC_OKT; 8052876: 4b8d ldr r3, [pc, #564] ; (8052aac ) 8052878: 2222 movs r2, #34 ; 0x22 805287a: 701a strb r2, [r3, #0] lastmenupos = menupos; 805287c: 4b8c ldr r3, [pc, #560] ; (8052ab0 ) 805287e: 781b ldrb r3, [r3, #0] 8052880: b2da uxtb r2, r3 8052882: 4b8c ldr r3, [pc, #560] ; (8052ab4 ) 8052884: 701a strb r2, [r3, #0] menupos = StartStop; 8052886: 4b8a ldr r3, [pc, #552] ; (8052ab0 ) 8052888: 2200 movs r2, #0 805288a: 701a strb r2, [r3, #0] pardata.SYG = SPEC_OKT; 805288c: 4b86 ldr r3, [pc, #536] ; (8052aa8 ) 805288e: 2206 movs r2, #6 8052890: 701a strb r2, [r3, #0] if(pardata.LNE > N3200) 8052892: 4b85 ldr r3, [pc, #532] ; (8052aa8 ) 8052894: 79db ldrb r3, [r3, #7] 8052896: b2db uxtb r3, r3 8052898: 2b03 cmp r3, #3 805289a: d902 bls.n 80528a2 pardata.LNE = N3200; 805289c: 4b82 ldr r3, [pc, #520] ; (8052aa8 ) 805289e: 2203 movs r2, #3 80528a0: 71da strb r2, [r3, #7] Threshold = false; 80528a2: 4b85 ldr r3, [pc, #532] ; (8052ab8 ) 80528a4: 2200 movs r2, #0 80528a6: 701a strb r2, [r3, #0] initAmplif(); 80528a8: f7cf f8f4 bl 8021a94 FIRST = true; 80528ac: 4b83 ldr r3, [pc, #524] ; (8052abc ) 80528ae: 2201 movs r2, #1 80528b0: 701a strb r2, [r3, #0] break; 80528b2: e01c b.n 80528ee if((pardata.OPTIONS & maskFFT) == third) 80528b4: 4b7c ldr r3, [pc, #496] ; (8052aa8 ) 80528b6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80528ba: f003 0330 and.w r3, r3, #48 ; 0x30 80528be: 2b30 cmp r3, #48 ; 0x30 80528c0: d115 bne.n 80528ee menu = MAIN_SPEC_THIRD; 80528c2: 4b7a ldr r3, [pc, #488] ; (8052aac ) 80528c4: 2223 movs r2, #35 ; 0x23 80528c6: 701a strb r2, [r3, #0] lastmenupos = menupos; 80528c8: 4b79 ldr r3, [pc, #484] ; (8052ab0 ) 80528ca: 781b ldrb r3, [r3, #0] 80528cc: b2da uxtb r2, r3 80528ce: 4b79 ldr r3, [pc, #484] ; (8052ab4 ) 80528d0: 701a strb r2, [r3, #0] menupos = StartStop; 80528d2: 4b77 ldr r3, [pc, #476] ; (8052ab0 ) 80528d4: 2200 movs r2, #0 80528d6: 701a strb r2, [r3, #0] pardata.SYG = SPEC_THIRD; 80528d8: 4b73 ldr r3, [pc, #460] ; (8052aa8 ) 80528da: 2207 movs r2, #7 80528dc: 701a strb r2, [r3, #0] Threshold = false; 80528de: 4b76 ldr r3, [pc, #472] ; (8052ab8 ) 80528e0: 2200 movs r2, #0 80528e2: 701a strb r2, [r3, #0] initAmplif(); 80528e4: f7cf f8d6 bl 8021a94 FIRST = true; 80528e8: 4b74 ldr r3, [pc, #464] ; (8052abc ) 80528ea: 2201 movs r2, #1 80528ec: 701a strb r2, [r3, #0] break; 80528ee: bf00 nop } } break; 80528f0: f001 b92d b.w 8053b4e case PARAM_OSC: if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) { 80528f4: 4b6e ldr r3, [pc, #440] ; (8052ab0 ) 80528f6: 781b ldrb r3, [r3, #0] 80528f8: b2db uxtb r3, r3 80528fa: 2b18 cmp r3, #24 80528fc: d908 bls.n 8052910 80528fe: 4b6c ldr r3, [pc, #432] ; (8052ab0 ) 8052900: 781b ldrb r3, [r3, #0] 8052902: b2db uxtb r3, r3 8052904: 2b1e cmp r3, #30 8052906: d803 bhi.n 8052910 menupos = FilterHP; 8052908: 4b69 ldr r3, [pc, #420] ; (8052ab0 ) 805290a: 2217 movs r2, #23 805290c: 701a strb r2, [r3, #0] 805290e: e108 b.n 8052b22 } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) { 8052910: 4b67 ldr r3, [pc, #412] ; (8052ab0 ) 8052912: 781b ldrb r3, [r3, #0] 8052914: b2db uxtb r3, r3 8052916: 2b1e cmp r3, #30 8052918: d908 bls.n 805292c 805291a: 4b65 ldr r3, [pc, #404] ; (8052ab0 ) 805291c: 781b ldrb r3, [r3, #0] 805291e: b2db uxtb r3, r3 8052920: 2b24 cmp r3, #36 ; 0x24 8052922: d803 bhi.n 805292c menupos = FilterLP; 8052924: 4b62 ldr r3, [pc, #392] ; (8052ab0 ) 8052926: 2218 movs r2, #24 8052928: 701a strb r2, [r3, #0] 805292a: e0fa b.n 8052b22 } else if((menupos >= OscThr_IDT) && (menupos <= OscThr_IKD)) { 805292c: 4b60 ldr r3, [pc, #384] ; (8052ab0 ) 805292e: 781b ldrb r3, [r3, #0] 8052930: b2db uxtb r3, r3 8052932: 2b08 cmp r3, #8 8052934: d908 bls.n 8052948 8052936: 4b5e ldr r3, [pc, #376] ; (8052ab0 ) 8052938: 781b ldrb r3, [r3, #0] 805293a: b2db uxtb r3, r3 805293c: 2b0e cmp r3, #14 805293e: d803 bhi.n 8052948 menupos = OscThr_ALL; 8052940: 4b5b ldr r3, [pc, #364] ; (8052ab0 ) 8052942: 2208 movs r2, #8 8052944: 701a strb r2, [r3, #0] 8052946: e0ec b.n 8052b22 } else if((menupos >= OscMax_IDT) && (menupos <= OscMax_IKD)) { 8052948: 4b59 ldr r3, [pc, #356] ; (8052ab0 ) 805294a: 781b ldrb r3, [r3, #0] 805294c: b2db uxtb r3, r3 805294e: 2b0e cmp r3, #14 8052950: d908 bls.n 8052964 8052952: 4b57 ldr r3, [pc, #348] ; (8052ab0 ) 8052954: 781b ldrb r3, [r3, #0] 8052956: b2db uxtb r3, r3 8052958: 2b14 cmp r3, #20 805295a: d803 bhi.n 8052964 menupos = OscMax_ALL; 805295c: 4b54 ldr r3, [pc, #336] ; (8052ab0 ) 805295e: 2206 movs r2, #6 8052960: 701a strb r2, [r3, #0] 8052962: e0de b.n 8052b22 } else { switch(menupos) 8052964: 4b52 ldr r3, [pc, #328] ; (8052ab0 ) 8052966: 781b ldrb r3, [r3, #0] 8052968: b2db uxtb r3, r3 805296a: 2b18 cmp r3, #24 805296c: f201 80f1 bhi.w 8053b52 8052970: a201 add r2, pc, #4 ; (adr r2, 8052978 ) 8052972: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8052976: bf00 nop 8052978: 08052ac5 .word 0x08052ac5 805297c: 080529eb .word 0x080529eb 8052980: 08053b53 .word 0x08053b53 8052984: 080529eb .word 0x080529eb 8052988: 080529eb .word 0x080529eb 805298c: 08052a4b .word 0x08052a4b 8052990: 08052a95 .word 0x08052a95 8052994: 08052a0b .word 0x08052a0b 8052998: 08052a8d .word 0x08052a8d 805299c: 08053b53 .word 0x08053b53 80529a0: 08053b53 .word 0x08053b53 80529a4: 08053b53 .word 0x08053b53 80529a8: 08053b53 .word 0x08053b53 80529ac: 08053b53 .word 0x08053b53 80529b0: 08053b53 .word 0x08053b53 80529b4: 08053b53 .word 0x08053b53 80529b8: 08053b53 .word 0x08053b53 80529bc: 08053b53 .word 0x08053b53 80529c0: 08053b53 .word 0x08053b53 80529c4: 08053b53 .word 0x08053b53 80529c8: 08053b53 .word 0x08053b53 80529cc: 08053b53 .word 0x08053b53 80529d0: 08053b53 .word 0x08053b53 80529d4: 080529dd .word 0x080529dd 80529d8: 080529e5 .word 0x080529e5 { case FilterHP: menupos = FilterHP_IET; 80529dc: 4b34 ldr r3, [pc, #208] ; (8052ab0 ) 80529de: 221a movs r2, #26 80529e0: 701a strb r2, [r3, #0] break; 80529e2: e09e b.n 8052b22 case FilterLP: menupos = FilterLP_IET; 80529e4: 4b32 ldr r3, [pc, #200] ; (8052ab0 ) 80529e6: 2220 movs r2, #32 80529e8: 701a strb r2, [r3, #0] case OscValue: case OscRate: case OscLen: if(!focused) 80529ea: 4b35 ldr r3, [pc, #212] ; (8052ac0 ) 80529ec: 781b ldrb r3, [r3, #0] 80529ee: b2db uxtb r3, r3 80529f0: f083 0301 eor.w r3, r3, #1 80529f4: b2db uxtb r3, r3 80529f6: 2b00 cmp r3, #0 80529f8: d003 beq.n 8052a02 focused = true; 80529fa: 4b31 ldr r3, [pc, #196] ; (8052ac0 ) 80529fc: 2201 movs r2, #1 80529fe: 701a strb r2, [r3, #0] else focused = false; break; 8052a00: e08f b.n 8052b22 else focused = false; 8052a02: 4b2f ldr r3, [pc, #188] ; (8052ac0 ) 8052a04: 2200 movs r2, #0 8052a06: 701a strb r2, [r3, #0] break; 8052a08: e08b b.n 8052b22 case OscThr: if(pardata.THR & 0x80) 8052a0a: 4b27 ldr r3, [pc, #156] ; (8052aa8 ) 8052a0c: 7bdb ldrb r3, [r3, #15] 8052a0e: b2db uxtb r3, r3 8052a10: b25b sxtb r3, r3 8052a12: 2b00 cmp r3, #0 8052a14: da08 bge.n 8052a28 pardata.THR &= 0x7f; 8052a16: 4b24 ldr r3, [pc, #144] ; (8052aa8 ) 8052a18: 7bdb ldrb r3, [r3, #15] 8052a1a: b2db uxtb r3, r3 8052a1c: f003 037f and.w r3, r3, #127 ; 0x7f 8052a20: b2da uxtb r2, r3 8052a22: 4b21 ldr r3, [pc, #132] ; (8052aa8 ) 8052a24: 73da strb r2, [r3, #15] else { pardata.THR |= 0x80; pardata.OPTIONS &= ~0x4; } break; 8052a26: e07c b.n 8052b22 pardata.THR |= 0x80; 8052a28: 4b1f ldr r3, [pc, #124] ; (8052aa8 ) 8052a2a: 7bdb ldrb r3, [r3, #15] 8052a2c: b2db uxtb r3, r3 8052a2e: f063 037f orn r3, r3, #127 ; 0x7f 8052a32: b2da uxtb r2, r3 8052a34: 4b1c ldr r3, [pc, #112] ; (8052aa8 ) 8052a36: 73da strb r2, [r3, #15] pardata.OPTIONS &= ~0x4; 8052a38: 4b1b ldr r3, [pc, #108] ; (8052aa8 ) 8052a3a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052a3e: f023 0304 bic.w r3, r3, #4 8052a42: 4a19 ldr r2, [pc, #100] ; (8052aa8 ) 8052a44: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8052a48: e06b b.n 8052b22 case OscAutoKu: if(pardata.OPTIONS & 0x4) 8052a4a: 4b17 ldr r3, [pc, #92] ; (8052aa8 ) 8052a4c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052a50: f003 0304 and.w r3, r3, #4 8052a54: 2b00 cmp r3, #0 8052a56: d008 beq.n 8052a6a pardata.OPTIONS &= ~0x4; 8052a58: 4b13 ldr r3, [pc, #76] ; (8052aa8 ) 8052a5a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052a5e: f023 0304 bic.w r3, r3, #4 8052a62: 4a11 ldr r2, [pc, #68] ; (8052aa8 ) 8052a64: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else { pardata.OPTIONS |= 0x4; pardata.THR &= 0x7f; } break; 8052a68: e05b b.n 8052b22 pardata.OPTIONS |= 0x4; 8052a6a: 4b0f ldr r3, [pc, #60] ; (8052aa8 ) 8052a6c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052a70: f043 0304 orr.w r3, r3, #4 8052a74: 4a0c ldr r2, [pc, #48] ; (8052aa8 ) 8052a76: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.THR &= 0x7f; 8052a7a: 4b0b ldr r3, [pc, #44] ; (8052aa8 ) 8052a7c: 7bdb ldrb r3, [r3, #15] 8052a7e: b2db uxtb r3, r3 8052a80: f003 037f and.w r3, r3, #127 ; 0x7f 8052a84: b2da uxtb r2, r3 8052a86: 4b08 ldr r3, [pc, #32] ; (8052aa8 ) 8052a88: 73da strb r2, [r3, #15] break; 8052a8a: e04a b.n 8052b22 case OscThr_ALL: menupos = OscThr_IET; 8052a8c: 4b08 ldr r3, [pc, #32] ; (8052ab0 ) 8052a8e: 220a movs r2, #10 8052a90: 701a strb r2, [r3, #0] break; 8052a92: e046 b.n 8052b22 case OscMax_ALL: menupos = OscMax_IET; 8052a94: 4b06 ldr r3, [pc, #24] ; (8052ab0 ) 8052a96: 2210 movs r2, #16 8052a98: 701a strb r2, [r3, #0] break; 8052a9a: e042 b.n 8052b22 8052a9c: 20021588 .word 0x20021588 8052aa0: 00000000 .word 0x00000000 8052aa4: 20021594 .word 0x20021594 8052aa8: 20023ea8 .word 0x20023ea8 8052aac: 20020fbd .word 0x20020fbd 8052ab0: 20020070 .word 0x20020070 8052ab4: 20020071 .word 0x20020071 8052ab8: 20020dd1 .word 0x20020dd1 8052abc: 20020dd2 .word 0x20020dd2 8052ac0: 20020fc8 .word 0x20020fc8 case Ok: arm_fill_f32(0.0f, skz, 3); 8052ac4: 2103 movs r1, #3 8052ac6: 48a7 ldr r0, [pc, #668] ; (8052d64 ) 8052ac8: ed9f 0aa7 vldr s0, [pc, #668] ; 8052d68 8052acc: f07b fac6 bl 80ce05c arm_fill_f32(0.0f, skzDB, 3); 8052ad0: 2103 movs r1, #3 8052ad2: 48a6 ldr r0, [pc, #664] ; (8052d6c ) 8052ad4: ed9f 0aa4 vldr s0, [pc, #656] ; 8052d68 8052ad8: f07b fac0 bl 80ce05c menu = MAIN_OSC; 8052adc: 4ba4 ldr r3, [pc, #656] ; (8052d70 ) 8052ade: 221d movs r2, #29 8052ae0: 701a strb r2, [r3, #0] lastmenupos = menupos; 8052ae2: 4ba4 ldr r3, [pc, #656] ; (8052d74 ) 8052ae4: 781b ldrb r3, [r3, #0] 8052ae6: b2da uxtb r2, r3 8052ae8: 4ba3 ldr r3, [pc, #652] ; (8052d78 ) 8052aea: 701a strb r2, [r3, #0] menupos = StartStop; 8052aec: 4ba1 ldr r3, [pc, #644] ; (8052d74 ) 8052aee: 2200 movs r2, #0 8052af0: 701a strb r2, [r3, #0] if((pardata.IPR == ACC) && (pardata.THR & 0x80)) 8052af2: 4ba2 ldr r3, [pc, #648] ; (8052d7c ) 8052af4: 785b ldrb r3, [r3, #1] 8052af6: b2db uxtb r3, r3 8052af8: 2b00 cmp r3, #0 8052afa: d109 bne.n 8052b10 8052afc: 4b9f ldr r3, [pc, #636] ; (8052d7c ) 8052afe: 7bdb ldrb r3, [r3, #15] 8052b00: b2db uxtb r3, r3 8052b02: b25b sxtb r3, r3 8052b04: 2b00 cmp r3, #0 8052b06: da03 bge.n 8052b10 Threshold = true; 8052b08: 4b9d ldr r3, [pc, #628] ; (8052d80 ) 8052b0a: 2201 movs r2, #1 8052b0c: 701a strb r2, [r3, #0] 8052b0e: e002 b.n 8052b16 else Threshold = false; 8052b10: 4b9b ldr r3, [pc, #620] ; (8052d80 ) 8052b12: 2200 movs r2, #0 8052b14: 701a strb r2, [r3, #0] initAmplif(); 8052b16: f7ce ffbd bl 8021a94 FIRST = true; 8052b1a: 4b9a ldr r3, [pc, #616] ; (8052d84 ) 8052b1c: 2201 movs r2, #1 8052b1e: 701a strb r2, [r3, #0] break; 8052b20: bf00 nop } } break; 8052b22: f001 b816 b.w 8053b52 case PARAM_WAVE: if((menupos >= WaveThr_IDT) && (menupos <= WaveThr_IKD)) { 8052b26: 4b93 ldr r3, [pc, #588] ; (8052d74 ) 8052b28: 781b ldrb r3, [r3, #0] 8052b2a: b2db uxtb r3, r3 8052b2c: 2b0f cmp r3, #15 8052b2e: d908 bls.n 8052b42 8052b30: 4b90 ldr r3, [pc, #576] ; (8052d74 ) 8052b32: 781b ldrb r3, [r3, #0] 8052b34: b2db uxtb r3, r3 8052b36: 2b15 cmp r3, #21 8052b38: d803 bhi.n 8052b42 menupos = WaveThr_ALL; 8052b3a: 4b8e ldr r3, [pc, #568] ; (8052d74 ) 8052b3c: 2209 movs r2, #9 8052b3e: 701a strb r2, [r3, #0] 8052b40: e10e b.n 8052d60 } else if((menupos >= WaveMax_IDT) && (menupos <= WaveMax_IKD)) { 8052b42: 4b8c ldr r3, [pc, #560] ; (8052d74 ) 8052b44: 781b ldrb r3, [r3, #0] 8052b46: b2db uxtb r3, r3 8052b48: 2b09 cmp r3, #9 8052b4a: d908 bls.n 8052b5e 8052b4c: 4b89 ldr r3, [pc, #548] ; (8052d74 ) 8052b4e: 781b ldrb r3, [r3, #0] 8052b50: b2db uxtb r3, r3 8052b52: 2b0f cmp r3, #15 8052b54: d803 bhi.n 8052b5e menupos = WaveMax_ALL; 8052b56: 4b87 ldr r3, [pc, #540] ; (8052d74 ) 8052b58: 2207 movs r2, #7 8052b5a: 701a strb r2, [r3, #0] 8052b5c: e100 b.n 8052d60 } else { switch(menupos) 8052b5e: 4b85 ldr r3, [pc, #532] ; (8052d74 ) 8052b60: 781b ldrb r3, [r3, #0] 8052b62: b2db uxtb r3, r3 8052b64: 2b09 cmp r3, #9 8052b66: f200 87f6 bhi.w 8053b56 8052b6a: a201 add r2, pc, #4 ; (adr r2, 8052b70 ) 8052b6c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8052b70: 08052d21 .word 0x08052d21 8052b74: 08053b57 .word 0x08053b57 8052b78: 08053b57 .word 0x08053b57 8052b7c: 08052c91 .word 0x08052c91 8052b80: 08052bb9 .word 0x08052bb9 8052b84: 08052b99 .word 0x08052b99 8052b88: 08052ccf .word 0x08052ccf 8052b8c: 08052d19 .word 0x08052d19 8052b90: 08052c41 .word 0x08052c41 8052b94: 08052d11 .word 0x08052d11 { case WaveTime: if(!focused) 8052b98: 4b7b ldr r3, [pc, #492] ; (8052d88 ) 8052b9a: 781b ldrb r3, [r3, #0] 8052b9c: b2db uxtb r3, r3 8052b9e: f083 0301 eor.w r3, r3, #1 8052ba2: b2db uxtb r3, r3 8052ba4: 2b00 cmp r3, #0 8052ba6: d003 beq.n 8052bb0 focused = true; 8052ba8: 4b77 ldr r3, [pc, #476] ; (8052d88 ) 8052baa: 2201 movs r2, #1 8052bac: 701a strb r2, [r3, #0] else focused = false; break; 8052bae: e0d7 b.n 8052d60 else focused = false; 8052bb0: 4b75 ldr r3, [pc, #468] ; (8052d88 ) 8052bb2: 2200 movs r2, #0 8052bb4: 701a strb r2, [r3, #0] break; 8052bb6: e0d3 b.n 8052d60 case WaveName: if(CardState == MSD_READY) 8052bb8: 4b74 ldr r3, [pc, #464] ; (8052d8c ) 8052bba: 781b ldrb r3, [r3, #0] 8052bbc: b2db uxtb r3, r3 8052bbe: 2b03 cmp r3, #3 8052bc0: f040 80ca bne.w 8052d58 { memset(TEMP_WavFileName, 0, sizeof(TEMP_WavFileName)); 8052bc4: 2221 movs r2, #33 ; 0x21 8052bc6: 2100 movs r1, #0 8052bc8: 4871 ldr r0, [pc, #452] ; (8052d90 ) 8052bca: f07e fbe9 bl 80d13a0 if(strcmp(WavFileName, "") != 0) 8052bce: 4b71 ldr r3, [pc, #452] ; (8052d94 ) 8052bd0: 781b ldrb r3, [r3, #0] 8052bd2: 2b00 cmp r3, #0 8052bd4: d027 beq.n 8052c26 { strcpy(TEMP_WavFileName, WavFileName); 8052bd6: 496f ldr r1, [pc, #444] ; (8052d94 ) 8052bd8: 486d ldr r0, [pc, #436] ; (8052d90 ) 8052bda: f07e fcfe bl 80d15da k = strlen(TEMP_WavFileName); 8052bde: 486c ldr r0, [pc, #432] ; (8052d90 ) 8052be0: f7cd fb98 bl 8020314 8052be4: f8c7 00c4 str.w r0, [r7, #196] ; 0xc4 if(TEMP_WavFileName[k - 4] == '.') 8052be8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8052bec: 3b04 subs r3, #4 8052bee: 4a68 ldr r2, [pc, #416] ; (8052d90 ) 8052bf0: 5cd3 ldrb r3, [r2, r3] 8052bf2: 2b2e cmp r3, #46 ; 0x2e 8052bf4: d117 bne.n 8052c26 { TEMP_WavFileName[k - 4] = 0; 8052bf6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8052bfa: 3b04 subs r3, #4 8052bfc: 4a64 ldr r2, [pc, #400] ; (8052d90 ) 8052bfe: 2100 movs r1, #0 8052c00: 54d1 strb r1, [r2, r3] TEMP_WavFileName[k - 3] = 0; 8052c02: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8052c06: 3b03 subs r3, #3 8052c08: 4a61 ldr r2, [pc, #388] ; (8052d90 ) 8052c0a: 2100 movs r1, #0 8052c0c: 54d1 strb r1, [r2, r3] TEMP_WavFileName[k - 2] = 0; 8052c0e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8052c12: 3b02 subs r3, #2 8052c14: 4a5e ldr r2, [pc, #376] ; (8052d90 ) 8052c16: 2100 movs r1, #0 8052c18: 54d1 strb r1, [r2, r3] TEMP_WavFileName[k - 1] = 0; 8052c1a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8052c1e: 3b01 subs r3, #1 8052c20: 4a5b ldr r2, [pc, #364] ; (8052d90 ) 8052c22: 2100 movs r1, #0 8052c24: 54d1 strb r1, [r2, r3] } } WavFileNameLen = strlen(TEMP_WavFileName); 8052c26: 485a ldr r0, [pc, #360] ; (8052d90 ) 8052c28: f7cd fb74 bl 8020314 8052c2c: 4602 mov r2, r0 8052c2e: 4b5a ldr r3, [pc, #360] ; (8052d98 ) 8052c30: 601a str r2, [r3, #0] menu = INPUT_NAME_GTR; 8052c32: 4b4f ldr r3, [pc, #316] ; (8052d70 ) 8052c34: 2230 movs r2, #48 ; 0x30 8052c36: 701a strb r2, [r3, #0] menupos = _CANCEL; 8052c38: 4b4e ldr r3, [pc, #312] ; (8052d74 ) 8052c3a: 2227 movs r2, #39 ; 0x27 8052c3c: 701a strb r2, [r3, #0] } break; 8052c3e: e08b b.n 8052d58 case WaveThr: if(pardata.THR & 0x80) 8052c40: 4b4e ldr r3, [pc, #312] ; (8052d7c ) 8052c42: 7bdb ldrb r3, [r3, #15] 8052c44: b2db uxtb r3, r3 8052c46: b25b sxtb r3, r3 8052c48: 2b00 cmp r3, #0 8052c4a: da08 bge.n 8052c5e pardata.THR &= 0x7f; 8052c4c: 4b4b ldr r3, [pc, #300] ; (8052d7c ) 8052c4e: 7bdb ldrb r3, [r3, #15] 8052c50: b2db uxtb r3, r3 8052c52: f003 037f and.w r3, r3, #127 ; 0x7f 8052c56: b2da uxtb r2, r3 8052c58: 4b48 ldr r3, [pc, #288] ; (8052d7c ) 8052c5a: 73da strb r2, [r3, #15] { pardata.THR |= 0x80; pardata.OPTIONS &= ~0x4; pardata.OPTIONS &= ~BIT7; } break; 8052c5c: e080 b.n 8052d60 pardata.THR |= 0x80; 8052c5e: 4b47 ldr r3, [pc, #284] ; (8052d7c ) 8052c60: 7bdb ldrb r3, [r3, #15] 8052c62: b2db uxtb r3, r3 8052c64: f063 037f orn r3, r3, #127 ; 0x7f 8052c68: b2da uxtb r2, r3 8052c6a: 4b44 ldr r3, [pc, #272] ; (8052d7c ) 8052c6c: 73da strb r2, [r3, #15] pardata.OPTIONS &= ~0x4; 8052c6e: 4b43 ldr r3, [pc, #268] ; (8052d7c ) 8052c70: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052c74: f023 0304 bic.w r3, r3, #4 8052c78: 4a40 ldr r2, [pc, #256] ; (8052d7c ) 8052c7a: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS &= ~BIT7; 8052c7e: 4b3f ldr r3, [pc, #252] ; (8052d7c ) 8052c80: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052c84: f023 0380 bic.w r3, r3, #128 ; 0x80 8052c88: 4a3c ldr r2, [pc, #240] ; (8052d7c ) 8052c8a: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8052c8e: e067 b.n 8052d60 case WaveTacho: if((pardata.THR & 0x80) == 0) 8052c90: 4b3a ldr r3, [pc, #232] ; (8052d7c ) 8052c92: 7bdb ldrb r3, [r3, #15] 8052c94: b2db uxtb r3, r3 8052c96: b25b sxtb r3, r3 8052c98: 2b00 cmp r3, #0 8052c9a: db60 blt.n 8052d5e { if(pardata.OPTIONS & BIT7) 8052c9c: 4b37 ldr r3, [pc, #220] ; (8052d7c ) 8052c9e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052ca2: f003 0380 and.w r3, r3, #128 ; 0x80 8052ca6: 2b00 cmp r3, #0 8052ca8: d008 beq.n 8052cbc { pardata.OPTIONS &= ~BIT7; 8052caa: 4b34 ldr r3, [pc, #208] ; (8052d7c ) 8052cac: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052cb0: f023 0380 bic.w r3, r3, #128 ; 0x80 8052cb4: 4a31 ldr r2, [pc, #196] ; (8052d7c ) 8052cb6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 } else pardata.OPTIONS |= BIT7; } break; 8052cba: e050 b.n 8052d5e pardata.OPTIONS |= BIT7; 8052cbc: 4b2f ldr r3, [pc, #188] ; (8052d7c ) 8052cbe: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052cc2: f043 0380 orr.w r3, r3, #128 ; 0x80 8052cc6: 4a2d ldr r2, [pc, #180] ; (8052d7c ) 8052cc8: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8052ccc: e047 b.n 8052d5e case WaveAutoKu: if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8052cce: 4b2b ldr r3, [pc, #172] ; (8052d7c ) 8052cd0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052cd4: f003 0304 and.w r3, r3, #4 8052cd8: 2b00 cmp r3, #0 8052cda: d110 bne.n 8052cfe { pardata.OPTIONS |= 0x4; 8052cdc: 4b27 ldr r3, [pc, #156] ; (8052d7c ) 8052cde: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052ce2: f043 0304 orr.w r3, r3, #4 8052ce6: 4a25 ldr r2, [pc, #148] ; (8052d7c ) 8052ce8: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.THR &= 0x7f; 8052cec: 4b23 ldr r3, [pc, #140] ; (8052d7c ) 8052cee: 7bdb ldrb r3, [r3, #15] 8052cf0: b2db uxtb r3, r3 8052cf2: f003 037f and.w r3, r3, #127 ; 0x7f 8052cf6: b2da uxtb r2, r3 8052cf8: 4b20 ldr r3, [pc, #128] ; (8052d7c ) 8052cfa: 73da strb r2, [r3, #15] } else pardata.OPTIONS &= ~0x4; break; 8052cfc: e030 b.n 8052d60 pardata.OPTIONS &= ~0x4; 8052cfe: 4b1f ldr r3, [pc, #124] ; (8052d7c ) 8052d00: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052d04: f023 0304 bic.w r3, r3, #4 8052d08: 4a1c ldr r2, [pc, #112] ; (8052d7c ) 8052d0a: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8052d0e: e027 b.n 8052d60 case WaveThr_ALL: menupos = WaveThr_IET; 8052d10: 4b18 ldr r3, [pc, #96] ; (8052d74 ) 8052d12: 2211 movs r2, #17 8052d14: 701a strb r2, [r3, #0] break; 8052d16: e023 b.n 8052d60 case WaveMax_ALL: menupos = WaveMax_IET; 8052d18: 4b16 ldr r3, [pc, #88] ; (8052d74 ) 8052d1a: 220b movs r2, #11 8052d1c: 701a strb r2, [r3, #0] break; 8052d1e: e01f b.n 8052d60 case Ok: menu = MAIN_WAVE; 8052d20: 4b13 ldr r3, [pc, #76] ; (8052d70 ) 8052d22: 221e movs r2, #30 8052d24: 701a strb r2, [r3, #0] menupos = StartStop; 8052d26: 4b13 ldr r3, [pc, #76] ; (8052d74 ) 8052d28: 2200 movs r2, #0 8052d2a: 701a strb r2, [r3, #0] oldmenupos = StartStop; 8052d2c: 4b1b ldr r3, [pc, #108] ; (8052d9c ) 8052d2e: 2200 movs r2, #0 8052d30: 701a strb r2, [r3, #0] if(pardata.THR & 0x80) Threshold = true; 8052d32: 4b12 ldr r3, [pc, #72] ; (8052d7c ) 8052d34: 7bdb ldrb r3, [r3, #15] 8052d36: b2db uxtb r3, r3 8052d38: b25b sxtb r3, r3 8052d3a: 2b00 cmp r3, #0 8052d3c: da03 bge.n 8052d46 8052d3e: 4b10 ldr r3, [pc, #64] ; (8052d80 ) 8052d40: 2201 movs r2, #1 8052d42: 701a strb r2, [r3, #0] 8052d44: e002 b.n 8052d4c else Threshold = false; 8052d46: 4b0e ldr r3, [pc, #56] ; (8052d80 ) 8052d48: 2200 movs r2, #0 8052d4a: 701a strb r2, [r3, #0] initAmplif(); 8052d4c: f7ce fea2 bl 8021a94 FIRST = true; 8052d50: 4b0c ldr r3, [pc, #48] ; (8052d84 ) 8052d52: 2201 movs r2, #1 8052d54: 701a strb r2, [r3, #0] break; 8052d56: e003 b.n 8052d60 break; 8052d58: bf00 nop 8052d5a: f000 befc b.w 8053b56 break; 8052d5e: bf00 nop } } break; 8052d60: f000 bef9 b.w 8053b56 8052d64: 20021588 .word 0x20021588 8052d68: 00000000 .word 0x00000000 8052d6c: 20021594 .word 0x20021594 8052d70: 20020fbd .word 0x20020fbd 8052d74: 20020070 .word 0x20020070 8052d78: 20020071 .word 0x20020071 8052d7c: 20023ea8 .word 0x20023ea8 8052d80: 20020dd1 .word 0x20020dd1 8052d84: 20020dd2 .word 0x20020dd2 8052d88: 20020fc8 .word 0x20020fc8 8052d8c: 20021694 .word 0x20021694 8052d90: 20025cec .word 0x20025cec 8052d94: 20020e54 .word 0x20020e54 8052d98: 20020f08 .word 0x20020f08 8052d9c: 20020fbf .word 0x20020fbf if((menupos >= Ies) && (menupos <= Ikt)) { menupos = Sens; } break;*/ case SETTINGS: switch(menupos) 8052da0: 4bb0 ldr r3, [pc, #704] ; (8053064 ) 8052da2: 781b ldrb r3, [r3, #0] 8052da4: b2db uxtb r3, r3 8052da6: 3b01 subs r3, #1 8052da8: 2b11 cmp r3, #17 8052daa: f200 86d6 bhi.w 8053b5a 8052dae: a201 add r2, pc, #4 ; (adr r2, 8052db4 ) 8052db0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8052db4: 08052dfd .word 0x08052dfd 8052db8: 08052e3d .word 0x08052e3d 8052dbc: 08052e1d .word 0x08052e1d 8052dc0: 08052f31 .word 0x08052f31 8052dc4: 08052ed1 .word 0x08052ed1 8052dc8: 08052e45 .word 0x08052e45 8052dcc: 08052e7b .word 0x08052e7b 8052dd0: 08052efd .word 0x08052efd 8052dd4: 08052f05 .word 0x08052f05 8052dd8: 08052f1f .word 0x08052f1f 8052ddc: 08053b5b .word 0x08053b5b 8052de0: 08053b5b .word 0x08053b5b 8052de4: 08052f45 .word 0x08052f45 8052de8: 08052f45 .word 0x08052f45 8052dec: 08052f45 .word 0x08052f45 8052df0: 08052f45 .word 0x08052f45 8052df4: 08052f45 .word 0x08052f45 8052df8: 08052f45 .word 0x08052f45 { case Type: #if (!defined(USE_D101) && !defined(USE_D102)) if(!focused) 8052dfc: 4b9a ldr r3, [pc, #616] ; (8053068 ) 8052dfe: 781b ldrb r3, [r3, #0] 8052e00: b2db uxtb r3, r3 8052e02: f083 0301 eor.w r3, r3, #1 8052e06: b2db uxtb r3, r3 8052e08: 2b00 cmp r3, #0 8052e0a: d003 beq.n 8052e14 focused = true; 8052e0c: 4b96 ldr r3, [pc, #600] ; (8053068 ) 8052e0e: 2201 movs r2, #1 8052e10: 701a strb r2, [r3, #0] else focused = false; #endif break; 8052e12: e09c b.n 8052f4e else focused = false; 8052e14: 4b94 ldr r3, [pc, #592] ; (8053068 ) 8052e16: 2200 movs r2, #0 8052e18: 701a strb r2, [r3, #0] break; 8052e1a: e098 b.n 8052f4e case Lang: if(!focused) 8052e1c: 4b92 ldr r3, [pc, #584] ; (8053068 ) 8052e1e: 781b ldrb r3, [r3, #0] 8052e20: b2db uxtb r3, r3 8052e22: f083 0301 eor.w r3, r3, #1 8052e26: b2db uxtb r3, r3 8052e28: 2b00 cmp r3, #0 8052e2a: d003 beq.n 8052e34 focused = true; 8052e2c: 4b8e ldr r3, [pc, #568] ; (8053068 ) 8052e2e: 2201 movs r2, #1 8052e30: 701a strb r2, [r3, #0] else focused = false; break; 8052e32: e08c b.n 8052f4e else focused = false; 8052e34: 4b8c ldr r3, [pc, #560] ; (8053068 ) 8052e36: 2200 movs r2, #0 8052e38: 701a strb r2, [r3, #0] break; 8052e3a: e088 b.n 8052f4e case Sens: menupos = Iee; 8052e3c: 4b89 ldr r3, [pc, #548] ; (8053064 ) 8052e3e: 220f movs r2, #15 8052e40: 701a strb r2, [r3, #0] break; 8052e42: e084 b.n 8052f4e case Bluetooth: if(pardata.OPTIONS & BIT6) 8052e44: 4b89 ldr r3, [pc, #548] ; (805306c ) 8052e46: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052e4a: f003 0340 and.w r3, r3, #64 ; 0x40 8052e4e: 2b00 cmp r3, #0 8052e50: d00a beq.n 8052e68 { pardata.OPTIONS &= ~BIT6; 8052e52: 4b86 ldr r3, [pc, #536] ; (805306c ) 8052e54: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052e58: f023 0340 bic.w r3, r3, #64 ; 0x40 8052e5c: 4a83 ldr r2, [pc, #524] ; (805306c ) 8052e5e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 MX_HC05_DeInit(); 8052e62: f7dc fc37 bl 802f6d4 } else pardata.OPTIONS |= BIT6; break; 8052e66: e072 b.n 8052f4e pardata.OPTIONS |= BIT6; 8052e68: 4b80 ldr r3, [pc, #512] ; (805306c ) 8052e6a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052e6e: f043 0340 orr.w r3, r3, #64 ; 0x40 8052e72: 4a7e ldr r2, [pc, #504] ; (805306c ) 8052e74: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8052e78: e069 b.n 8052f4e case Temper: if(pardata.OPTIONS & BIT8) 8052e7a: 4b7c ldr r3, [pc, #496] ; (805306c ) 8052e7c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052e80: f403 7380 and.w r3, r3, #256 ; 0x100 8052e84: 2b00 cmp r3, #0 8052e86: d011 beq.n 8052eac { pardata.OPTIONS &= ~BIT8; 8052e88: 4b78 ldr r3, [pc, #480] ; (805306c ) 8052e8a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052e8e: f423 7380 bic.w r3, r3, #256 ; 0x100 8052e92: 4a76 ldr r2, [pc, #472] ; (805306c ) 8052e94: f8c2 3098 str.w r3, [r2, #152] ; 0x98 HAL_GPIO_WritePin(TMPR_GPIO_Port, TMPR_Pin, GPIO_PIN_SET); 8052e98: 2201 movs r2, #1 8052e9a: f44f 5100 mov.w r1, #8192 ; 0x2000 8052e9e: 4874 ldr r0, [pc, #464] ; (8053070 ) 8052ea0: f066 fc7c bl 80b979c SeeTemperature = false; 8052ea4: 4b73 ldr r3, [pc, #460] ; (8053074 ) 8052ea6: 2200 movs r2, #0 8052ea8: 701a strb r2, [r3, #0] { pardata.OPTIONS |= BIT8; HAL_GPIO_WritePin(TMPR_GPIO_Port, TMPR_Pin, GPIO_PIN_RESET); SeeTemperature = true; } break; 8052eaa: e050 b.n 8052f4e pardata.OPTIONS |= BIT8; 8052eac: 4b6f ldr r3, [pc, #444] ; (805306c ) 8052eae: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8052eb2: f443 7380 orr.w r3, r3, #256 ; 0x100 8052eb6: 4a6d ldr r2, [pc, #436] ; (805306c ) 8052eb8: f8c2 3098 str.w r3, [r2, #152] ; 0x98 HAL_GPIO_WritePin(TMPR_GPIO_Port, TMPR_Pin, GPIO_PIN_RESET); 8052ebc: 2200 movs r2, #0 8052ebe: f44f 5100 mov.w r1, #8192 ; 0x2000 8052ec2: 486b ldr r0, [pc, #428] ; (8053070 ) 8052ec4: f066 fc6a bl 80b979c SeeTemperature = true; 8052ec8: 4b6a ldr r3, [pc, #424] ; (8053074 ) 8052eca: 2201 movs r2, #1 8052ecc: 701a strb r2, [r3, #0] break; 8052ece: e03e b.n 8052f4e case FormatDisk: if(CardState & MSD_PRESENT) 8052ed0: 4b69 ldr r3, [pc, #420] ; (8053078 ) 8052ed2: 781b ldrb r3, [r3, #0] 8052ed4: b2db uxtb r3, r3 8052ed6: f003 0301 and.w r3, r3, #1 8052eda: 2b00 cmp r3, #0 8052edc: d003 beq.n 8052ee6 menupos = FormatDiskNo; 8052ede: 4b61 ldr r3, [pc, #388] ; (8053064 ) 8052ee0: 2208 movs r2, #8 8052ee2: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 8052ee4: e033 b.n 8052f4e STATUS = AP_NO_CARD; 8052ee6: 4b65 ldr r3, [pc, #404] ; (805307c ) 8052ee8: 2211 movs r2, #17 8052eea: 601a str r2, [r3, #0] timerStatus = sec2; 8052eec: 4b64 ldr r3, [pc, #400] ; (8053080 ) 8052eee: f44f 5280 mov.w r2, #4096 ; 0x1000 8052ef2: 801a strh r2, [r3, #0] DrawStatus = true; 8052ef4: 4b63 ldr r3, [pc, #396] ; (8053084 ) 8052ef6: 2201 movs r2, #1 8052ef8: 701a strb r2, [r3, #0] break; 8052efa: e028 b.n 8052f4e case FormatDiskNo: menupos = FormatDisk; 8052efc: 4b59 ldr r3, [pc, #356] ; (8053064 ) 8052efe: 2205 movs r2, #5 8052f00: 701a strb r2, [r3, #0] break; 8052f02: e024 b.n 8052f4e case FormatDiskYes: STATUS = AP_OK; 8052f04: 4b5d ldr r3, [pc, #372] ; (805307c ) 8052f06: 2200 movs r2, #0 8052f08: 601a str r2, [r3, #0] NeedFormat = 1; 8052f0a: 4b5f ldr r3, [pc, #380] ; (8053088 ) 8052f0c: 2201 movs r2, #1 8052f0e: 701a strb r2, [r3, #0] FormatStatus = AP_OK; 8052f10: 4b5e ldr r3, [pc, #376] ; (805308c ) 8052f12: 2200 movs r2, #0 8052f14: 701a strb r2, [r3, #0] menupos = FormatDiskResult; 8052f16: 4b53 ldr r3, [pc, #332] ; (8053064 ) 8052f18: 220a movs r2, #10 8052f1a: 701a strb r2, [r3, #0] break; 8052f1c: e017 b.n 8052f4e case FormatDiskResult: if(NeedFormat == 0) 8052f1e: 4b5a ldr r3, [pc, #360] ; (8053088 ) 8052f20: 781b ldrb r3, [r3, #0] 8052f22: b2db uxtb r3, r3 8052f24: 2b00 cmp r3, #0 8052f26: d111 bne.n 8052f4c menupos = FormatDisk; 8052f28: 4b4e ldr r3, [pc, #312] ; (8053064 ) 8052f2a: 2205 movs r2, #5 8052f2c: 701a strb r2, [r3, #0] break; 8052f2e: e00d b.n 8052f4c case DateTime: focused = false; 8052f30: 4b4d ldr r3, [pc, #308] ; (8053068 ) 8052f32: 2200 movs r2, #0 8052f34: 701a strb r2, [r3, #0] menu = DATETIME; 8052f36: 4b56 ldr r3, [pc, #344] ; (8053090 ) 8052f38: 2218 movs r2, #24 8052f3a: 701a strb r2, [r3, #0] menupos = DateAll; 8052f3c: 4b49 ldr r3, [pc, #292] ; (8053064 ) 8052f3e: 2201 movs r2, #1 8052f40: 701a strb r2, [r3, #0] break; 8052f42: e004 b.n 8052f4e case Ied: case Iee: case Ikd: case Iks: case Ikt: menupos = Sens; 8052f44: 4b47 ldr r3, [pc, #284] ; (8053064 ) 8052f46: 2202 movs r2, #2 8052f48: 701a strb r2, [r3, #0] break; 8052f4a: e000 b.n 8052f4e break; 8052f4c: bf00 nop } break; 8052f4e: f000 be04 b.w 8053b5a case CLEAN_FILES: // TODO switch(menupos) 8052f52: 4b44 ldr r3, [pc, #272] ; (8053064 ) 8052f54: 781b ldrb r3, [r3, #0] 8052f56: b2db uxtb r3, r3 8052f58: 3b01 subs r3, #1 8052f5a: 2b0a cmp r3, #10 8052f5c: f200 85ff bhi.w 8053b5e 8052f60: a201 add r2, pc, #4 ; (adr r2, 8052f68 ) 8052f62: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8052f66: bf00 nop 8052f68: 08052f95 .word 0x08052f95 8052f6c: 08052fa3 .word 0x08052fa3 8052f70: 08053b5f .word 0x08053b5f 8052f74: 0805310f .word 0x0805310f 8052f78: 08053139 .word 0x08053139 8052f7c: 08053117 .word 0x08053117 8052f80: 0805311f .word 0x0805311f 8052f84: 08053141 .word 0x08053141 8052f88: 08053149 .word 0x08053149 8052f8c: 08053163 .word 0x08053163 8052f90: 080531d9 .word 0x080531d9 { case NoFilesPTM: menu = SETTINGS; 8052f94: 4b3e ldr r3, [pc, #248] ; (8053090 ) 8052f96: 2212 movs r2, #18 8052f98: 701a strb r2, [r3, #0] menupos = CleanFiles; 8052f9a: 4b32 ldr r3, [pc, #200] ; (8053064 ) 8052f9c: 220c movs r2, #12 8052f9e: 701a strb r2, [r3, #0] break; 8052fa0: e122 b.n 80531e8 case FilesPTM: if(ExplorerFiles[CursorIndex].fname[0] != 0) 8052fa2: 4b3c ldr r3, [pc, #240] ; (8053094 ) 8052fa4: 681a ldr r2, [r3, #0] 8052fa6: 493c ldr r1, [pc, #240] ; (8053098 ) 8052fa8: 4613 mov r3, r2 8052faa: 00db lsls r3, r3, #3 8052fac: 1a9b subs r3, r3, r2 8052fae: 00db lsls r3, r3, #3 8052fb0: 440b add r3, r1 8052fb2: 330c adds r3, #12 8052fb4: 781b ldrb r3, [r3, #0] 8052fb6: 2b00 cmp r3, #0 8052fb8: f000 8112 beq.w 80531e0 { d = cbChecked; 8052fbc: 2301 movs r3, #1 8052fbe: f8c7 30bc str.w r3, [r7, #188] ; 0xbc if(NumFilesDelete != 0) 8052fc2: 4b36 ldr r3, [pc, #216] ; (805309c ) 8052fc4: 681b ldr r3, [r3, #0] 8052fc6: 2b00 cmp r3, #0 8052fc8: d03d beq.n 8053046 { for(i = 0; i < MAX_CHECKED_FILES; i++) 8052fca: 2300 movs r3, #0 8052fcc: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8052fd0: e034 b.n 805303c { if(strcmp(ExplorerFiles[CursorIndex].fname, &StrRAM(i, 0)) == 0) 8052fd2: 4b30 ldr r3, [pc, #192] ; (8053094 ) 8052fd4: 681a ldr r2, [r3, #0] 8052fd6: 4613 mov r3, r2 8052fd8: 00db lsls r3, r3, #3 8052fda: 1a9b subs r3, r3, r2 8052fdc: 00db lsls r3, r3, #3 8052fde: 3308 adds r3, #8 8052fe0: 4a2d ldr r2, [pc, #180] ; (8053098 ) 8052fe2: 4413 add r3, r2 8052fe4: 1d18 adds r0, r3, #4 8052fe6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8052fea: 4613 mov r3, r2 8052fec: 009b lsls r3, r3, #2 8052fee: 4413 add r3, r2 8052ff0: 00db lsls r3, r3, #3 8052ff2: 461a mov r2, r3 8052ff4: 4b2a ldr r3, [pc, #168] ; (80530a0 ) 8052ff6: 4413 add r3, r2 8052ff8: 4619 mov r1, r3 8052ffa: f7cd f981 bl 8020300 8052ffe: 4603 mov r3, r0 8053000: 2b00 cmp r3, #0 8053002: d116 bne.n 8053032 { memset(&StrRAM(i, 0), 0, 40); 8053004: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8053008: 4613 mov r3, r2 805300a: 009b lsls r3, r3, #2 805300c: 4413 add r3, r2 805300e: 00db lsls r3, r3, #3 8053010: 461a mov r2, r3 8053012: 4b23 ldr r3, [pc, #140] ; (80530a0 ) 8053014: 4413 add r3, r2 8053016: 2228 movs r2, #40 ; 0x28 8053018: 2100 movs r1, #0 805301a: 4618 mov r0, r3 805301c: f07e f9c0 bl 80d13a0 d = cbUnchecked; // Èìÿ ôàéëà èñêëþ÷èëè èç ñïèñêà óäàëÿåìûõ ôàéëîâ 8053020: 2300 movs r3, #0 8053022: f8c7 30bc str.w r3, [r7, #188] ; 0xbc NumFilesDelete--; 8053026: 4b1d ldr r3, [pc, #116] ; (805309c ) 8053028: 681b ldr r3, [r3, #0] 805302a: 3b01 subs r3, #1 805302c: 4a1b ldr r2, [pc, #108] ; (805309c ) 805302e: 6013 str r3, [r2, #0] break; 8053030: e009 b.n 8053046 for(i = 0; i < MAX_CHECKED_FILES; i++) 8053032: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8053036: 3301 adds r3, #1 8053038: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 805303c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8053040: f5b3 7f00 cmp.w r3, #512 ; 0x200 8053044: d3c5 bcc.n 8052fd2 } } } if(d == cbChecked) // Åñëè èìÿ ôàéëà âêëþ÷èëè â ñïèñîê óäàëÿåìûõ ôàéëîâ 8053046: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 805304a: 2b01 cmp r3, #1 805304c: f040 80c8 bne.w 80531e0 { // Èùåì ïåðâóþ ñâîáîäíóþ ÿ÷åéêó â áóôåðå if(NumFilesDelete < MAX_CHECKED_FILES) 8053050: 4b12 ldr r3, [pc, #72] ; (805309c ) 8053052: 681b ldr r3, [r3, #0] 8053054: f5b3 7f00 cmp.w r3, #512 ; 0x200 8053058: f080 80c2 bcs.w 80531e0 { for(i = 0; i < MAX_CHECKED_FILES; i++) 805305c: 2300 movs r3, #0 805305e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8053062: e04e b.n 8053102 8053064: 20020070 .word 0x20020070 8053068: 20020fc8 .word 0x20020fc8 805306c: 20023ea8 .word 0x20023ea8 8053070: 40020800 .word 0x40020800 8053074: 20020fbb .word 0x20020fbb 8053078: 20021694 .word 0x20021694 805307c: 20020dec .word 0x20020dec 8053080: 200216d4 .word 0x200216d4 8053084: 20020df2 .word 0x20020df2 8053088: 20020dfd .word 0x20020dfd 805308c: 20020df1 .word 0x20020df1 8053090: 20020fbd .word 0x20020fbd 8053094: 20020e00 .word 0x20020e00 8053098: 20022398 .word 0x20022398 805309c: 20020e2c .word 0x20020e2c 80530a0: 6404b000 .word 0x6404b000 { if(StrRAM(i, 0) == 0) 80530a4: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80530a8: 4613 mov r3, r2 80530aa: 009b lsls r3, r3, #2 80530ac: 4413 add r3, r2 80530ae: 00db lsls r3, r3, #3 80530b0: 461a mov r2, r3 80530b2: 4bb0 ldr r3, [pc, #704] ; (8053374 ) 80530b4: 4413 add r3, r2 80530b6: 781b ldrb r3, [r3, #0] 80530b8: 2b00 cmp r3, #0 80530ba: d11d bne.n 80530f8 { strcpy(&StrRAM(i, 0), ExplorerFiles[CursorIndex].fname); 80530bc: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80530c0: 4613 mov r3, r2 80530c2: 009b lsls r3, r3, #2 80530c4: 4413 add r3, r2 80530c6: 00db lsls r3, r3, #3 80530c8: 461a mov r2, r3 80530ca: 4baa ldr r3, [pc, #680] ; (8053374 ) 80530cc: 4413 add r3, r2 80530ce: 4618 mov r0, r3 80530d0: 4ba9 ldr r3, [pc, #676] ; (8053378 ) 80530d2: 681a ldr r2, [r3, #0] 80530d4: 4613 mov r3, r2 80530d6: 00db lsls r3, r3, #3 80530d8: 1a9b subs r3, r3, r2 80530da: 00db lsls r3, r3, #3 80530dc: 3308 adds r3, #8 80530de: 4aa7 ldr r2, [pc, #668] ; (805337c ) 80530e0: 4413 add r3, r2 80530e2: 3304 adds r3, #4 80530e4: 4619 mov r1, r3 80530e6: f07e fa78 bl 80d15da NumFilesDelete++; 80530ea: 4ba5 ldr r3, [pc, #660] ; (8053380 ) 80530ec: 681b ldr r3, [r3, #0] 80530ee: 3301 adds r3, #1 80530f0: 4aa3 ldr r2, [pc, #652] ; (8053380 ) 80530f2: 6013 str r3, [r2, #0] break; 80530f4: bf00 nop } } } } } break; 80530f6: e073 b.n 80531e0 for(i = 0; i < MAX_CHECKED_FILES; i++) 80530f8: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80530fc: 3301 adds r3, #1 80530fe: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8053102: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8053106: f5b3 7f00 cmp.w r3, #512 ; 0x200 805310a: d3cb bcc.n 80530a4 break; 805310c: e068 b.n 80531e0 case CleanUp: menupos = UpNo; break; 805310e: 4b9d ldr r3, [pc, #628] ; (8053384 ) 8053110: 2206 movs r2, #6 8053112: 701a strb r2, [r3, #0] 8053114: e068 b.n 80531e8 case UpNo: menupos = FilesPTM; break; 8053116: 4b9b ldr r3, [pc, #620] ; (8053384 ) 8053118: 2202 movs r2, #2 805311a: 701a strb r2, [r3, #0] 805311c: e064 b.n 80531e8 case UpYes: STATUS = AP_OK; 805311e: 4b9a ldr r3, [pc, #616] ; (8053388 ) 8053120: 2200 movs r2, #0 8053122: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8053124: 4b99 ldr r3, [pc, #612] ; (805338c ) 8053126: 2200 movs r2, #0 8053128: 701a strb r2, [r3, #0] NeedClean = 1; 805312a: 4b99 ldr r3, [pc, #612] ; (8053390 ) 805312c: 2201 movs r2, #1 805312e: 701a strb r2, [r3, #0] menupos = CleanUpResult; 8053130: 4b94 ldr r3, [pc, #592] ; (8053384 ) 8053132: 220a movs r2, #10 8053134: 701a strb r2, [r3, #0] break; 8053136: e057 b.n 80531e8 case CleanAll: menupos = AllNo; break; 8053138: 4b92 ldr r3, [pc, #584] ; (8053384 ) 805313a: 2208 movs r2, #8 805313c: 701a strb r2, [r3, #0] 805313e: e053 b.n 80531e8 case AllNo: menupos = CleanAll; break; 8053140: 4b90 ldr r3, [pc, #576] ; (8053384 ) 8053142: 2205 movs r2, #5 8053144: 701a strb r2, [r3, #0] 8053146: e04f b.n 80531e8 case AllYes: STATUS = AP_OK; 8053148: 4b8f ldr r3, [pc, #572] ; (8053388 ) 805314a: 2200 movs r2, #0 805314c: 601a str r2, [r3, #0] CleanStatus = AP_OK; 805314e: 4b8f ldr r3, [pc, #572] ; (805338c ) 8053150: 2200 movs r2, #0 8053152: 701a strb r2, [r3, #0] NeedClean = 255; 8053154: 4b8e ldr r3, [pc, #568] ; (8053390 ) 8053156: 22ff movs r2, #255 ; 0xff 8053158: 701a strb r2, [r3, #0] menupos = CleanAllResult; 805315a: 4b8a ldr r3, [pc, #552] ; (8053384 ) 805315c: 220b movs r2, #11 805315e: 701a strb r2, [r3, #0] break; 8053160: e042 b.n 80531e8 case CleanUpResult: if(NeedClean == 0) 8053162: 4b8b ldr r3, [pc, #556] ; (8053390 ) 8053164: 781b ldrb r3, [r3, #0] 8053166: b2db uxtb r3, r3 8053168: 2b00 cmp r3, #0 805316a: d13c bne.n 80531e6 { result = FR_NOT_READY; 805316c: 2303 movs r3, #3 805316e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8053172: 4b88 ldr r3, [pc, #544] ; (8053394 ) 8053174: 781b ldrb r3, [r3, #0] 8053176: b2db uxtb r3, r3 8053178: 2b03 cmp r3, #3 805317a: d134 bne.n 80531e6 { CursorIndex = 0; 805317c: 4b7e ldr r3, [pc, #504] ; (8053378 ) 805317e: 2200 movs r2, #0 8053180: 601a str r2, [r3, #0] FirstFileIndex = 0; 8053182: 4b85 ldr r3, [pc, #532] ; (8053398 ) 8053184: 2200 movs r2, #0 8053186: 601a str r2, [r3, #0] RealFileIndex = 0; 8053188: 4b84 ldr r3, [pc, #528] ; (805339c ) 805318a: 2200 movs r2, #0 805318c: 601a str r2, [r3, #0] result = ReadNumFilesPTM((uint32_t *) &NumFilesPTM); 805318e: 4884 ldr r0, [pc, #528] ; (80533a0 ) 8053190: f7d7 fbe2 bl 802a958 8053194: 4603 mov r3, r0 8053196: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805319a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805319e: 2b00 cmp r3, #0 80531a0: d121 bne.n 80531e6 { result = ReadMyFilesPTM(FirstFileIndex); 80531a2: 4b7d ldr r3, [pc, #500] ; (8053398 ) 80531a4: 681b ldr r3, [r3, #0] 80531a6: 4618 mov r0, r3 80531a8: f7d7 fca2 bl 802aaf0 80531ac: 4603 mov r3, r0 80531ae: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80531b2: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80531b6: 2b00 cmp r3, #0 80531b8: d115 bne.n 80531e6 { menu = CLEAN_FILES; 80531ba: 4b7a ldr r3, [pc, #488] ; (80533a4 ) 80531bc: 2219 movs r2, #25 80531be: 701a strb r2, [r3, #0] if(NumFilesPTM) menupos = FilesPTM; 80531c0: 4b77 ldr r3, [pc, #476] ; (80533a0 ) 80531c2: 681b ldr r3, [r3, #0] 80531c4: 2b00 cmp r3, #0 80531c6: d003 beq.n 80531d0 80531c8: 4b6e ldr r3, [pc, #440] ; (8053384 ) 80531ca: 2202 movs r2, #2 80531cc: 701a strb r2, [r3, #0] else menupos = NoFilesPTM; } } } } break; 80531ce: e00a b.n 80531e6 else menupos = NoFilesPTM; 80531d0: 4b6c ldr r3, [pc, #432] ; (8053384 ) 80531d2: 2201 movs r2, #1 80531d4: 701a strb r2, [r3, #0] break; 80531d6: e006 b.n 80531e6 case CleanAllResult: menupos = CleanAll; 80531d8: 4b6a ldr r3, [pc, #424] ; (8053384 ) 80531da: 2205 movs r2, #5 80531dc: 701a strb r2, [r3, #0] break; 80531de: e003 b.n 80531e8 break; 80531e0: bf00 nop 80531e2: f000 bcbc b.w 8053b5e break; 80531e6: bf00 nop } break; 80531e8: f000 bcb9 b.w 8053b5e case DATETIME: switch(menupos) 80531ec: 4b65 ldr r3, [pc, #404] ; (8053384 ) 80531ee: 781b ldrb r3, [r3, #0] 80531f0: b2db uxtb r3, r3 80531f2: 3b01 subs r3, #1 80531f4: 2b06 cmp r3, #6 80531f6: f200 84b4 bhi.w 8053b62 80531fa: a201 add r2, pc, #4 ; (adr r2, 8053200 ) 80531fc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8053200: 0805321d .word 0x0805321d 8053204: 08053225 .word 0x08053225 8053208: 0805322d .word 0x0805322d 805320c: 0805322d .word 0x0805322d 8053210: 0805322d .word 0x0805322d 8053214: 08053235 .word 0x08053235 8053218: 08053235 .word 0x08053235 { case DateAll: menupos = DateD; 805321c: 4b59 ldr r3, [pc, #356] ; (8053384 ) 805321e: 2203 movs r2, #3 8053220: 701a strb r2, [r3, #0] break; 8053222: e00b b.n 805323c case TimeAll: menupos = TimeH; 8053224: 4b57 ldr r3, [pc, #348] ; (8053384 ) 8053226: 2206 movs r2, #6 8053228: 701a strb r2, [r3, #0] break; 805322a: e007 b.n 805323c case DateD: case DateM: case DateY: menupos = DateAll; 805322c: 4b55 ldr r3, [pc, #340] ; (8053384 ) 805322e: 2201 movs r2, #1 8053230: 701a strb r2, [r3, #0] break; 8053232: e003 b.n 805323c case TimeH: case TimeM: menupos = TimeAll; 8053234: 4b53 ldr r3, [pc, #332] ; (8053384 ) 8053236: 2202 movs r2, #2 8053238: 701a strb r2, [r3, #0] break; 805323a: bf00 nop } break; 805323c: f000 bc91 b.w 8053b62 case CALIBR_0: if(menupos == 1) 8053240: 4b50 ldr r3, [pc, #320] ; (8053384 ) 8053242: 781b ldrb r3, [r3, #0] 8053244: b2db uxtb r3, r3 8053246: 2b01 cmp r3, #1 8053248: d10c bne.n 8053264 { if(measuring) 805324a: 4b57 ldr r3, [pc, #348] ; (80533a8 ) 805324c: 781b ldrb r3, [r3, #0] 805324e: b2db uxtb r3, r3 8053250: 2b00 cmp r3, #0 8053252: d003 beq.n 805325c StopMeas(); 8053254: f7d0 faa2 bl 802379c clbr = false; menu = OPTIONS; menupos = Mode; } } break; 8053258: f000 bc88 b.w 8053b6c else StartMeas(); 805325c: f7cf feee bl 802303c break; 8053260: f000 bc84 b.w 8053b6c if(measuring) 8053264: 4b50 ldr r3, [pc, #320] ; (80533a8 ) 8053266: 781b ldrb r3, [r3, #0] 8053268: b2db uxtb r3, r3 805326a: 2b00 cmp r3, #0 805326c: d001 beq.n 8053272 StopMeas(); 805326e: f7d0 fa95 bl 802379c if(menupos == 2) 8053272: 4b44 ldr r3, [pc, #272] ; (8053384 ) 8053274: 781b ldrb r3, [r3, #0] 8053276: b2db uxtb r3, r3 8053278: 2b02 cmp r3, #2 805327a: d111 bne.n 80532a0 menu++; 805327c: 4b49 ldr r3, [pc, #292] ; (80533a4 ) 805327e: 781b ldrb r3, [r3, #0] 8053280: b2db uxtb r3, r3 8053282: 3301 adds r3, #1 8053284: b2da uxtb r2, r3 8053286: 4b47 ldr r3, [pc, #284] ; (80533a4 ) 8053288: 701a strb r2, [r3, #0] menupos = 1; 805328a: 4b3e ldr r3, [pc, #248] ; (8053384 ) 805328c: 2201 movs r2, #1 805328e: 701a strb r2, [r3, #0] initAmplif(); 8053290: f7ce fc00 bl 8021a94 skz[ACC] = 0.0f; 8053294: 4b45 ldr r3, [pc, #276] ; (80533ac ) 8053296: f04f 0200 mov.w r2, #0 805329a: 601a str r2, [r3, #0] break; 805329c: f000 bc66 b.w 8053b6c clbr = false; 80532a0: 4b43 ldr r3, [pc, #268] ; (80533b0 ) 80532a2: 2200 movs r2, #0 80532a4: 701a strb r2, [r3, #0] menu = OPTIONS; 80532a6: 4b3f ldr r3, [pc, #252] ; (80533a4 ) 80532a8: 2201 movs r2, #1 80532aa: 701a strb r2, [r3, #0] menupos = Mode; 80532ac: 4b35 ldr r3, [pc, #212] ; (8053384 ) 80532ae: 2201 movs r2, #1 80532b0: 701a strb r2, [r3, #0] break; 80532b2: f000 bc5b b.w 8053b6c case CALIBR_00: menupos = 1; 80532b6: 4b33 ldr r3, [pc, #204] ; (8053384 ) 80532b8: 2201 movs r2, #1 80532ba: 701a strb r2, [r3, #0] menu++; 80532bc: 4b39 ldr r3, [pc, #228] ; (80533a4 ) 80532be: 781b ldrb r3, [r3, #0] 80532c0: b2db uxtb r3, r3 80532c2: 3301 adds r3, #1 80532c4: b2da uxtb r2, r3 80532c6: 4b37 ldr r3, [pc, #220] ; (80533a4 ) 80532c8: 701a strb r2, [r3, #0] initAmplif(); 80532ca: f7ce fbe3 bl 8021a94 break; 80532ce: f000 bc4d b.w 8053b6c case CALIBR_4: case CALIBR_5: case CALIBR_6: case CALIBR_7: case CALIBR_8: if(menupos == 1) 80532d2: 4b2c ldr r3, [pc, #176] ; (8053384 ) 80532d4: 781b ldrb r3, [r3, #0] 80532d6: b2db uxtb r3, r3 80532d8: 2b01 cmp r3, #1 80532da: d10c bne.n 80532f6 { if(measuring) 80532dc: 4b32 ldr r3, [pc, #200] ; (80533a8 ) 80532de: 781b ldrb r3, [r3, #0] 80532e0: b2db uxtb r3, r3 80532e2: 2b00 cmp r3, #0 80532e4: d003 beq.n 80532ee StopMeas(); 80532e6: f7d0 fa59 bl 802379c initAmplif(); skz[ACC] = 0.0f; } } break; 80532ea: f000 bc3f b.w 8053b6c else StartMeas(); 80532ee: f7cf fea5 bl 802303c break; 80532f2: f000 bc3b b.w 8053b6c if(measuring) 80532f6: 4b2c ldr r3, [pc, #176] ; (80533a8 ) 80532f8: 781b ldrb r3, [r3, #0] 80532fa: b2db uxtb r3, r3 80532fc: 2b00 cmp r3, #0 80532fe: d001 beq.n 8053304 StopMeas(); 8053300: f7d0 fa4c bl 802379c if(menupos == 0) 8053304: 4b1f ldr r3, [pc, #124] ; (8053384 ) 8053306: 781b ldrb r3, [r3, #0] 8053308: b2db uxtb r3, r3 805330a: 2b00 cmp r3, #0 805330c: d10d bne.n 805332a menu--; 805330e: 4b25 ldr r3, [pc, #148] ; (80533a4 ) 8053310: 781b ldrb r3, [r3, #0] 8053312: b2db uxtb r3, r3 8053314: 3b01 subs r3, #1 8053316: b2da uxtb r2, r3 8053318: 4b22 ldr r3, [pc, #136] ; (80533a4 ) 805331a: 701a strb r2, [r3, #0] menupos = 1; 805331c: 4b19 ldr r3, [pc, #100] ; (8053384 ) 805331e: 2201 movs r2, #1 8053320: 701a strb r2, [r3, #0] initAmplif(); 8053322: f7ce fbb7 bl 8021a94 break; 8053326: f000 bc21 b.w 8053b6c menu++; 805332a: 4b1e ldr r3, [pc, #120] ; (80533a4 ) 805332c: 781b ldrb r3, [r3, #0] 805332e: b2db uxtb r3, r3 8053330: 3301 adds r3, #1 8053332: b2da uxtb r2, r3 8053334: 4b1b ldr r3, [pc, #108] ; (80533a4 ) 8053336: 701a strb r2, [r3, #0] menupos = 1; 8053338: 4b12 ldr r3, [pc, #72] ; (8053384 ) 805333a: 2201 movs r2, #1 805333c: 701a strb r2, [r3, #0] initAmplif(); 805333e: f7ce fba9 bl 8021a94 skz[ACC] = 0.0f; 8053342: 4b1a ldr r3, [pc, #104] ; (80533ac ) 8053344: f04f 0200 mov.w r2, #0 8053348: 601a str r2, [r3, #0] break; 805334a: f000 bc0f b.w 8053b6c case CALIBR_9: if(menupos == 0) 805334e: 4b0d ldr r3, [pc, #52] ; (8053384 ) 8053350: 781b ldrb r3, [r3, #0] 8053352: b2db uxtb r3, r3 8053354: 2b00 cmp r3, #0 8053356: d12d bne.n 80533b4 { menu--; 8053358: 4b12 ldr r3, [pc, #72] ; (80533a4 ) 805335a: 781b ldrb r3, [r3, #0] 805335c: b2db uxtb r3, r3 805335e: 3b01 subs r3, #1 8053360: b2da uxtb r2, r3 8053362: 4b10 ldr r3, [pc, #64] ; (80533a4 ) 8053364: 701a strb r2, [r3, #0] menupos = 1; 8053366: 4b07 ldr r3, [pc, #28] ; (8053384 ) 8053368: 2201 movs r2, #1 805336a: 701a strb r2, [r3, #0] initAmplif(); 805336c: f7ce fb92 bl 8021a94 { menu++; menupos = 1; Acorr[0] = Vbat; } break; 8053370: e3fc b.n 8053b6c 8053372: bf00 nop 8053374: 6404b000 .word 0x6404b000 8053378: 20020e00 .word 0x20020e00 805337c: 20022398 .word 0x20022398 8053380: 20020e2c .word 0x20020e2c 8053384: 20020070 .word 0x20020070 8053388: 20020dec .word 0x20020dec 805338c: 20020df0 .word 0x20020df0 8053390: 20020dfc .word 0x20020dfc 8053394: 20021694 .word 0x20021694 8053398: 20020e04 .word 0x20020e04 805339c: 20020e08 .word 0x20020e08 80533a0: 20020e14 .word 0x20020e14 80533a4: 20020fbd .word 0x20020fbd 80533a8: 20020dcf .word 0x20020dcf 80533ac: 20021588 .word 0x20021588 80533b0: 20020f88 .word 0x20020f88 menu++; 80533b4: 4baa ldr r3, [pc, #680] ; (8053660 ) 80533b6: 781b ldrb r3, [r3, #0] 80533b8: b2db uxtb r3, r3 80533ba: 3301 adds r3, #1 80533bc: b2da uxtb r2, r3 80533be: 4ba8 ldr r3, [pc, #672] ; (8053660 ) 80533c0: 701a strb r2, [r3, #0] menupos = 1; 80533c2: 4ba8 ldr r3, [pc, #672] ; (8053664 ) 80533c4: 2201 movs r2, #1 80533c6: 701a strb r2, [r3, #0] Acorr[0] = Vbat; 80533c8: 4ba7 ldr r3, [pc, #668] ; (8053668 ) 80533ca: 681b ldr r3, [r3, #0] 80533cc: 4aa7 ldr r2, [pc, #668] ; (805366c ) 80533ce: 6013 str r3, [r2, #0] break; 80533d0: e3cc b.n 8053b6c case CALIBR_10: if(menupos == 0) 80533d2: 4ba4 ldr r3, [pc, #656] ; (8053664 ) 80533d4: 781b ldrb r3, [r3, #0] 80533d6: b2db uxtb r3, r3 80533d8: 2b00 cmp r3, #0 80533da: d10a bne.n 80533f2 { menu--; 80533dc: 4ba0 ldr r3, [pc, #640] ; (8053660 ) 80533de: 781b ldrb r3, [r3, #0] 80533e0: b2db uxtb r3, r3 80533e2: 3b01 subs r3, #1 80533e4: b2da uxtb r2, r3 80533e6: 4b9e ldr r3, [pc, #632] ; (8053660 ) 80533e8: 701a strb r2, [r3, #0] menupos = 0; 80533ea: 4b9e ldr r3, [pc, #632] ; (8053664 ) 80533ec: 2200 movs r2, #0 80533ee: 701a strb r2, [r3, #0] { menu++; menupos = 1; Acorr[1] = Vbat; } break; 80533f0: e3bc b.n 8053b6c menu++; 80533f2: 4b9b ldr r3, [pc, #620] ; (8053660 ) 80533f4: 781b ldrb r3, [r3, #0] 80533f6: b2db uxtb r3, r3 80533f8: 3301 adds r3, #1 80533fa: b2da uxtb r2, r3 80533fc: 4b98 ldr r3, [pc, #608] ; (8053660 ) 80533fe: 701a strb r2, [r3, #0] menupos = 1; 8053400: 4b98 ldr r3, [pc, #608] ; (8053664 ) 8053402: 2201 movs r2, #1 8053404: 701a strb r2, [r3, #0] Acorr[1] = Vbat; 8053406: 4b98 ldr r3, [pc, #608] ; (8053668 ) 8053408: 681b ldr r3, [r3, #0] 805340a: 4a98 ldr r2, [pc, #608] ; (805366c ) 805340c: 6053 str r3, [r2, #4] break; 805340e: e3ad b.n 8053b6c case CALIBR_11: if(menupos == 0) 8053410: 4b94 ldr r3, [pc, #592] ; (8053664 ) 8053412: 781b ldrb r3, [r3, #0] 8053414: b2db uxtb r3, r3 8053416: 2b00 cmp r3, #0 8053418: d10a bne.n 8053430 { menu--; 805341a: 4b91 ldr r3, [pc, #580] ; (8053660 ) 805341c: 781b ldrb r3, [r3, #0] 805341e: b2db uxtb r3, r3 8053420: 3b01 subs r3, #1 8053422: b2da uxtb r2, r3 8053424: 4b8e ldr r3, [pc, #568] ; (8053660 ) 8053426: 701a strb r2, [r3, #0] menupos = 0; 8053428: 4b8e ldr r3, [pc, #568] ; (8053664 ) 805342a: 2200 movs r2, #0 805342c: 701a strb r2, [r3, #0] clbr = false; menu = OPTIONS; menupos = Mode; } break; 805342e: e39d b.n 8053b6c for(i = 0; i < 9; i++) 8053430: 2300 movs r3, #0 8053432: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8053436: e05b b.n 80534f0 if((Kcorr[i] <= 0.0f) || (Kcorr[i] > 2.0f)) { 8053438: 4a8d ldr r2, [pc, #564] ; (8053670 ) 805343a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805343e: 009b lsls r3, r3, #2 8053440: 4413 add r3, r2 8053442: edd3 7a00 vldr s15, [r3] 8053446: eef5 7ac0 vcmpe.f32 s15, #0.0 805344a: eef1 fa10 vmrs APSR_nzcv, fpscr 805344e: d90d bls.n 805346c 8053450: 4a87 ldr r2, [pc, #540] ; (8053670 ) 8053452: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8053456: 009b lsls r3, r3, #2 8053458: 4413 add r3, r2 805345a: edd3 7a00 vldr s15, [r3] 805345e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8053462: eef4 7ac7 vcmpe.f32 s15, s14 8053466: eef1 fa10 vmrs APSR_nzcv, fpscr 805346a: dd07 ble.n 805347c Kcorr[i] = 1.0f; 805346c: 4a80 ldr r2, [pc, #512] ; (8053670 ) 805346e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8053472: 009b lsls r3, r3, #2 8053474: 4413 add r3, r2 8053476: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 805347a: 601a str r2, [r3, #0] pardata.CORR_KU[i] = Kcorr[i]; 805347c: 4a7c ldr r2, [pc, #496] ; (8053670 ) 805347e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8053482: 009b lsls r3, r3, #2 8053484: 4413 add r3, r2 8053486: 681a ldr r2, [r3, #0] 8053488: 497a ldr r1, [pc, #488] ; (8053674 ) 805348a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805348e: 3306 adds r3, #6 8053490: 009b lsls r3, r3, #2 8053492: 440b add r3, r1 8053494: 3304 adds r3, #4 8053496: 601a str r2, [r3, #0] corrdata.CORR_ACC[i] = Kcorr[i]; 8053498: 4a75 ldr r2, [pc, #468] ; (8053670 ) 805349a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805349e: 009b lsls r3, r3, #2 80534a0: 4413 add r3, r2 80534a2: 681a ldr r2, [r3, #0] 80534a4: 4974 ldr r1, [pc, #464] ; (8053678 ) 80534a6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80534aa: 009b lsls r3, r3, #2 80534ac: 440b add r3, r1 80534ae: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = Kcorr[i]; 80534b0: 4a6f ldr r2, [pc, #444] ; (8053670 ) 80534b2: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80534b6: 009b lsls r3, r3, #2 80534b8: 4413 add r3, r2 80534ba: 681a ldr r2, [r3, #0] 80534bc: 496e ldr r1, [pc, #440] ; (8053678 ) 80534be: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80534c2: 3308 adds r3, #8 80534c4: 009b lsls r3, r3, #2 80534c6: 440b add r3, r1 80534c8: 3304 adds r3, #4 80534ca: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = Kcorr[i]; 80534cc: 4a68 ldr r2, [pc, #416] ; (8053670 ) 80534ce: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80534d2: 009b lsls r3, r3, #2 80534d4: 4413 add r3, r2 80534d6: 681a ldr r2, [r3, #0] 80534d8: 4967 ldr r1, [pc, #412] ; (8053678 ) 80534da: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80534de: 3312 adds r3, #18 80534e0: 009b lsls r3, r3, #2 80534e2: 440b add r3, r1 80534e4: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 80534e6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80534ea: 3301 adds r3, #1 80534ec: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80534f0: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80534f4: 2b08 cmp r3, #8 80534f6: d99f bls.n 8053438 Acorr[0] = (4.20f - 3.50f) / (Acorr[1] - Acorr[0]); 80534f8: 4b5c ldr r3, [pc, #368] ; (805366c ) 80534fa: ed93 7a01 vldr s14, [r3, #4] 80534fe: 4b5b ldr r3, [pc, #364] ; (805366c ) 8053500: edd3 7a00 vldr s15, [r3] 8053504: ee37 7a67 vsub.f32 s14, s14, s15 8053508: eddf 6a5c vldr s13, [pc, #368] ; 805367c 805350c: eec6 7a87 vdiv.f32 s15, s13, s14 8053510: 4b56 ldr r3, [pc, #344] ; (805366c ) 8053512: edc3 7a00 vstr s15, [r3] Acorr[1] = 4.20f - (Acorr[1] * Acorr[0]); 8053516: 4b55 ldr r3, [pc, #340] ; (805366c ) 8053518: ed93 7a01 vldr s14, [r3, #4] 805351c: 4b53 ldr r3, [pc, #332] ; (805366c ) 805351e: edd3 7a00 vldr s15, [r3] 8053522: ee67 7a27 vmul.f32 s15, s14, s15 8053526: ed9f 7a56 vldr s14, [pc, #344] ; 8053680 805352a: ee77 7a67 vsub.f32 s15, s14, s15 805352e: 4b4f ldr r3, [pc, #316] ; (805366c ) 8053530: edc3 7a01 vstr s15, [r3, #4] aa1 = Acorr[0]; 8053534: 4b4d ldr r3, [pc, #308] ; (805366c ) 8053536: 681b ldr r3, [r3, #0] 8053538: 4a52 ldr r2, [pc, #328] ; (8053684 ) 805353a: 6013 str r3, [r2, #0] aa0 = Acorr[1]; 805353c: 4b4b ldr r3, [pc, #300] ; (805366c ) 805353e: 685b ldr r3, [r3, #4] 8053540: 4a51 ldr r2, [pc, #324] ; (8053688 ) 8053542: 6013 str r3, [r2, #0] memcpy((void *) _SERIAL, (void *) Serial, sizeof(Serial)); 8053544: 4b51 ldr r3, [pc, #324] ; (805368c ) 8053546: 4a52 ldr r2, [pc, #328] ; (8053690 ) 8053548: 6811 ldr r1, [r2, #0] 805354a: 6852 ldr r2, [r2, #4] 805354c: 6019 str r1, [r3, #0] 805354e: 605a str r2, [r3, #4] wrCorr(); 8053550: f7db fa42 bl 802e9d8 wrPar(); 8053554: f7da fe98 bl 802e288 clbr = false; 8053558: 4b4e ldr r3, [pc, #312] ; (8053694 ) 805355a: 2200 movs r2, #0 805355c: 701a strb r2, [r3, #0] menu = OPTIONS; 805355e: 4b40 ldr r3, [pc, #256] ; (8053660 ) 8053560: 2201 movs r2, #1 8053562: 701a strb r2, [r3, #0] menupos = Mode; 8053564: 4b3f ldr r3, [pc, #252] ; (8053664 ) 8053566: 2201 movs r2, #1 8053568: 701a strb r2, [r3, #0] break; 805356a: e2ff b.n 8053b6c case CALIBR_OFFSET: FLAG_CALC_MEAN = false; 805356c: 4b4a ldr r3, [pc, #296] ; (8053698 ) 805356e: 2200 movs r2, #0 8053570: 701a strb r2, [r3, #0] MAX11270_StopMeas(); 8053572: f002 fc97 bl 8055ea4 MEAN = MEAN_TEMP; 8053576: 4b49 ldr r3, [pc, #292] ; (805369c ) 8053578: 681b ldr r3, [r3, #0] 805357a: 4a49 ldr r2, [pc, #292] ; (80536a0 ) 805357c: 6013 str r3, [r2, #0] wrCorr(); 805357e: f7db fa2b bl 802e9d8 menu = OPTIONS; 8053582: 4b37 ldr r3, [pc, #220] ; (8053660 ) 8053584: 2201 movs r2, #1 8053586: 701a strb r2, [r3, #0] menupos = Mode; 8053588: 4b36 ldr r3, [pc, #216] ; (8053664 ) 805358a: 2201 movs r2, #1 805358c: 701a strb r2, [r3, #0] break; 805358e: e2ed b.n 8053b6c case ARCHIVE: switch(menupos) 8053590: 4b34 ldr r3, [pc, #208] ; (8053664 ) 8053592: 781b ldrb r3, [r3, #0] 8053594: b2db uxtb r3, r3 8053596: 2b01 cmp r3, #1 8053598: d003 beq.n 80535a2 805359a: 2b02 cmp r3, #2 805359c: f000 8094 beq.w 80536c8 timerStatus = sec2; DrawStatus = true; } break; } break; 80535a0: e2e4 b.n 8053b6c result = FR_NOT_READY; 80535a2: 2303 movs r3, #3 80535a4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 80535a8: 4b3e ldr r3, [pc, #248] ; (80536a4 ) 80535aa: 781b ldrb r3, [r3, #0] 80535ac: b2db uxtb r3, r3 80535ae: 2b03 cmp r3, #3 80535b0: d134 bne.n 805361c CursorIndex = 0; 80535b2: 4b3d ldr r3, [pc, #244] ; (80536a8 ) 80535b4: 2200 movs r2, #0 80535b6: 601a str r2, [r3, #0] FirstFileIndex = 0; 80535b8: 4b3c ldr r3, [pc, #240] ; (80536ac ) 80535ba: 2200 movs r2, #0 80535bc: 601a str r2, [r3, #0] RealFileIndex = 0; 80535be: 4b3c ldr r3, [pc, #240] ; (80536b0 ) 80535c0: 2200 movs r2, #0 80535c2: 601a str r2, [r3, #0] result = ReadNumFilesFRAN((uint32_t *) &NumFilesFRAN); 80535c4: 483b ldr r0, [pc, #236] ; (80536b4 ) 80535c6: f7d7 fa09 bl 802a9dc 80535ca: 4603 mov r3, r0 80535cc: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80535d0: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80535d4: 2b00 cmp r3, #0 80535d6: f040 80d2 bne.w 805377e result = ReadMyFilesFRAN(FirstFileIndex); 80535da: 4b34 ldr r3, [pc, #208] ; (80536ac ) 80535dc: 681b ldr r3, [r3, #0] 80535de: 4618 mov r0, r3 80535e0: f7d7 faad bl 802ab3e 80535e4: 4603 mov r3, r0 80535e6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80535ea: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80535ee: 2b00 cmp r3, #0 80535f0: f040 80c5 bne.w 805377e menu = ARCHIVE_FRAN; 80535f4: 4b1a ldr r3, [pc, #104] ; (8053660 ) 80535f6: 2216 movs r2, #22 80535f8: 701a strb r2, [r3, #0] lastmenupos = menupos; 80535fa: 4b1a ldr r3, [pc, #104] ; (8053664 ) 80535fc: 781b ldrb r3, [r3, #0] 80535fe: b2da uxtb r2, r3 8053600: 4b2d ldr r3, [pc, #180] ; (80536b8 ) 8053602: 701a strb r2, [r3, #0] if(NumFilesFRAN) menupos = FilesFRAN; 8053604: 4b2b ldr r3, [pc, #172] ; (80536b4 ) 8053606: 681b ldr r3, [r3, #0] 8053608: 2b00 cmp r3, #0 805360a: d003 beq.n 8053614 805360c: 4b15 ldr r3, [pc, #84] ; (8053664 ) 805360e: 2202 movs r2, #2 8053610: 701a strb r2, [r3, #0] break; 8053612: e0b4 b.n 805377e else menupos = NoFilesFRAN; 8053614: 4b13 ldr r3, [pc, #76] ; (8053664 ) 8053616: 2201 movs r2, #1 8053618: 701a strb r2, [r3, #0] break; 805361a: e0b0 b.n 805377e if(CardState == MSD_PRESENT) 805361c: 4b21 ldr r3, [pc, #132] ; (80536a4 ) 805361e: 781b ldrb r3, [r3, #0] 8053620: b2db uxtb r3, r3 8053622: 2b01 cmp r3, #1 8053624: d10a bne.n 805363c STATUS = AP_DISK_ERROR; 8053626: 4b25 ldr r3, [pc, #148] ; (80536bc ) 8053628: 220b movs r2, #11 805362a: 601a str r2, [r3, #0] timerStatus = sec2; 805362c: 4b24 ldr r3, [pc, #144] ; (80536c0 ) 805362e: f44f 5280 mov.w r2, #4096 ; 0x1000 8053632: 801a strh r2, [r3, #0] DrawStatus = true; 8053634: 4b23 ldr r3, [pc, #140] ; (80536c4 ) 8053636: 2201 movs r2, #1 8053638: 701a strb r2, [r3, #0] break; 805363a: e0a0 b.n 805377e if(CardState == MSD_NOCARD) 805363c: 4b19 ldr r3, [pc, #100] ; (80536a4 ) 805363e: 781b ldrb r3, [r3, #0] 8053640: b2db uxtb r3, r3 8053642: 2b00 cmp r3, #0 8053644: f040 809b bne.w 805377e STATUS = AP_NO_CARD; 8053648: 4b1c ldr r3, [pc, #112] ; (80536bc ) 805364a: 2211 movs r2, #17 805364c: 601a str r2, [r3, #0] timerStatus = sec2; 805364e: 4b1c ldr r3, [pc, #112] ; (80536c0 ) 8053650: f44f 5280 mov.w r2, #4096 ; 0x1000 8053654: 801a strh r2, [r3, #0] DrawStatus = true; 8053656: 4b1b ldr r3, [pc, #108] ; (80536c4 ) 8053658: 2201 movs r2, #1 805365a: 701a strb r2, [r3, #0] break; 805365c: e08f b.n 805377e 805365e: bf00 nop 8053660: 20020fbd .word 0x20020fbd 8053664: 20020070 .word 0x20020070 8053668: 20020000 .word 0x20020000 805366c: 2006853c .word 0x2006853c 8053670: 200261d4 .word 0x200261d4 8053674: 20023ea8 .word 0x20023ea8 8053678: 20024358 .word 0x20024358 805367c: 3f333330 .word 0x3f333330 8053680: 40866666 .word 0x40866666 8053684: 20020024 .word 0x20020024 8053688: 20020d6c .word 0x20020d6c 805368c: 20020f34 .word 0x20020f34 8053690: 20026d44 .word 0x20026d44 8053694: 20020f88 .word 0x20020f88 8053698: 200216d6 .word 0x200216d6 805369c: 200209dc .word 0x200209dc 80536a0: 200209d8 .word 0x200209d8 80536a4: 20021694 .word 0x20021694 80536a8: 20020e00 .word 0x20020e00 80536ac: 20020e04 .word 0x20020e04 80536b0: 20020e08 .word 0x20020e08 80536b4: 20020e20 .word 0x20020e20 80536b8: 20020071 .word 0x20020071 80536bc: 20020dec .word 0x20020dec 80536c0: 200216d4 .word 0x200216d4 80536c4: 20020df2 .word 0x20020df2 result = FR_NOT_READY; 80536c8: 2303 movs r3, #3 80536ca: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 80536ce: 4bb8 ldr r3, [pc, #736] ; (80539b0 ) 80536d0: 781b ldrb r3, [r3, #0] 80536d2: b2db uxtb r3, r3 80536d4: 2b03 cmp r3, #3 80536d6: d132 bne.n 805373e CursorIndex = 0; 80536d8: 4bb6 ldr r3, [pc, #728] ; (80539b4 ) 80536da: 2200 movs r2, #0 80536dc: 601a str r2, [r3, #0] FirstFileIndex = 0; 80536de: 4bb6 ldr r3, [pc, #728] ; (80539b8 ) 80536e0: 2200 movs r2, #0 80536e2: 601a str r2, [r3, #0] RealFileIndex = 0; 80536e4: 4bb5 ldr r3, [pc, #724] ; (80539bc ) 80536e6: 2200 movs r2, #0 80536e8: 601a str r2, [r3, #0] result = ReadNumFilesGTR((uint32_t *) &NumFilesGTR); 80536ea: 48b5 ldr r0, [pc, #724] ; (80539c0 ) 80536ec: f7d7 f98c bl 802aa08 80536f0: 4603 mov r3, r0 80536f2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80536f6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80536fa: 2b00 cmp r3, #0 80536fc: d141 bne.n 8053782 result = ReadMyFilesGTR(FirstFileIndex); 80536fe: 4bae ldr r3, [pc, #696] ; (80539b8 ) 8053700: 681b ldr r3, [r3, #0] 8053702: 4618 mov r0, r3 8053704: f7d7 fa28 bl 802ab58 8053708: 4603 mov r3, r0 805370a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805370e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8053712: 2b00 cmp r3, #0 8053714: d135 bne.n 8053782 menu = ARCHIVE_WAVE; 8053716: 4bab ldr r3, [pc, #684] ; (80539c4 ) 8053718: 2217 movs r2, #23 805371a: 701a strb r2, [r3, #0] lastmenupos = menupos; 805371c: 4baa ldr r3, [pc, #680] ; (80539c8 ) 805371e: 781b ldrb r3, [r3, #0] 8053720: b2da uxtb r2, r3 8053722: 4baa ldr r3, [pc, #680] ; (80539cc ) 8053724: 701a strb r2, [r3, #0] if(NumFilesGTR) menupos = FilesGTR; 8053726: 4ba6 ldr r3, [pc, #664] ; (80539c0 ) 8053728: 681b ldr r3, [r3, #0] 805372a: 2b00 cmp r3, #0 805372c: d003 beq.n 8053736 805372e: 4ba6 ldr r3, [pc, #664] ; (80539c8 ) 8053730: 2202 movs r2, #2 8053732: 701a strb r2, [r3, #0] break; 8053734: e025 b.n 8053782 else menupos = NoFilesGTR; 8053736: 4ba4 ldr r3, [pc, #656] ; (80539c8 ) 8053738: 2201 movs r2, #1 805373a: 701a strb r2, [r3, #0] break; 805373c: e021 b.n 8053782 if(CardState == MSD_PRESENT) 805373e: 4b9c ldr r3, [pc, #624] ; (80539b0 ) 8053740: 781b ldrb r3, [r3, #0] 8053742: b2db uxtb r3, r3 8053744: 2b01 cmp r3, #1 8053746: d10a bne.n 805375e STATUS = AP_DISK_ERROR; 8053748: 4ba1 ldr r3, [pc, #644] ; (80539d0 ) 805374a: 220b movs r2, #11 805374c: 601a str r2, [r3, #0] timerStatus = sec2; 805374e: 4ba1 ldr r3, [pc, #644] ; (80539d4 ) 8053750: f44f 5280 mov.w r2, #4096 ; 0x1000 8053754: 801a strh r2, [r3, #0] DrawStatus = true; 8053756: 4ba0 ldr r3, [pc, #640] ; (80539d8 ) 8053758: 2201 movs r2, #1 805375a: 701a strb r2, [r3, #0] break; 805375c: e011 b.n 8053782 if(CardState == MSD_NOCARD) 805375e: 4b94 ldr r3, [pc, #592] ; (80539b0 ) 8053760: 781b ldrb r3, [r3, #0] 8053762: b2db uxtb r3, r3 8053764: 2b00 cmp r3, #0 8053766: d10c bne.n 8053782 STATUS = AP_NO_CARD; 8053768: 4b99 ldr r3, [pc, #612] ; (80539d0 ) 805376a: 2211 movs r2, #17 805376c: 601a str r2, [r3, #0] timerStatus = sec2; 805376e: 4b99 ldr r3, [pc, #612] ; (80539d4 ) 8053770: f44f 5280 mov.w r2, #4096 ; 0x1000 8053774: 801a strh r2, [r3, #0] DrawStatus = true; 8053776: 4b98 ldr r3, [pc, #608] ; (80539d8 ) 8053778: 2201 movs r2, #1 805377a: 701a strb r2, [r3, #0] break; 805377c: e001 b.n 8053782 break; 805377e: bf00 nop 8053780: e1f4 b.n 8053b6c break; 8053782: bf00 nop break; 8053784: e1f2 b.n 8053b6c case ARCHIVE_SPEC: HISTORY = false; 8053786: 4b95 ldr r3, [pc, #596] ; (80539dc ) 8053788: 2200 movs r2, #0 805378a: 701a strb r2, [r3, #0] if(menupos == FilesSPEC) 805378c: 4b8e ldr r3, [pc, #568] ; (80539c8 ) 805378e: 781b ldrb r3, [r3, #0] 8053790: b2db uxtb r3, r3 8053792: 2b02 cmp r3, #2 8053794: d143 bne.n 805381e { memset(FileName, 0, sizeof(FileName)); 8053796: 2228 movs r2, #40 ; 0x28 8053798: 2100 movs r1, #0 805379a: 4891 ldr r0, [pc, #580] ; (80539e0 ) 805379c: f07d fe00 bl 80d13a0 strcpy(FileName, (char *) ExplorerFiles[CursorIndex].fname); 80537a0: 4b84 ldr r3, [pc, #528] ; (80539b4 ) 80537a2: 681a ldr r2, [r3, #0] 80537a4: 4613 mov r3, r2 80537a6: 00db lsls r3, r3, #3 80537a8: 1a9b subs r3, r3, r2 80537aa: 00db lsls r3, r3, #3 80537ac: 3308 adds r3, #8 80537ae: 4a8d ldr r2, [pc, #564] ; (80539e4 ) 80537b0: 4413 add r3, r2 80537b2: 3304 adds r3, #4 80537b4: 4619 mov r1, r3 80537b6: 488a ldr r0, [pc, #552] ; (80539e0 ) 80537b8: f07d ff0f bl 80d15da result = ReadFileSPEC(FileName); 80537bc: 4888 ldr r0, [pc, #544] ; (80539e0 ) 80537be: f7d4 f8c1 bl 8027944 80537c2: 4603 mov r3, r0 80537c4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80537c8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80537cc: 2b00 cmp r3, #0 80537ce: d10c bne.n 80537ea { menu = MAIN_SPEC; 80537d0: 4b7c ldr r3, [pc, #496] ; (80539c4 ) 80537d2: 221c movs r2, #28 80537d4: 701a strb r2, [r3, #0] menupos = BackMenu; 80537d6: 4b7c ldr r3, [pc, #496] ; (80539c8 ) 80537d8: 2201 movs r2, #1 80537da: 701a strb r2, [r3, #0] HISTORY = true; 80537dc: 4b7f ldr r3, [pc, #508] ; (80539dc ) 80537de: 2201 movs r2, #1 80537e0: 701a strb r2, [r3, #0] FIRST = false; 80537e2: 4b81 ldr r3, [pc, #516] ; (80539e8 ) 80537e4: 2200 movs r2, #0 80537e6: 701a strb r2, [r3, #0] } } } } } break; 80537e8: e1bd b.n 8053b66 if(result == FR_NOT_READY) 80537ea: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80537ee: 2b03 cmp r3, #3 80537f0: d10a bne.n 8053808 STATUS = AP_NO_CARD; 80537f2: 4b77 ldr r3, [pc, #476] ; (80539d0 ) 80537f4: 2211 movs r2, #17 80537f6: 601a str r2, [r3, #0] timerStatus = sec2; 80537f8: 4b76 ldr r3, [pc, #472] ; (80539d4 ) 80537fa: f44f 5280 mov.w r2, #4096 ; 0x1000 80537fe: 801a strh r2, [r3, #0] DrawStatus = true; 8053800: 4b75 ldr r3, [pc, #468] ; (80539d8 ) 8053802: 2201 movs r2, #1 8053804: 701a strb r2, [r3, #0] break; 8053806: e1ae b.n 8053b66 STATUS = AP_INVALID_FILE; 8053808: 4b71 ldr r3, [pc, #452] ; (80539d0 ) 805380a: 2202 movs r2, #2 805380c: 601a str r2, [r3, #0] timerStatus = sec2; 805380e: 4b71 ldr r3, [pc, #452] ; (80539d4 ) 8053810: f44f 5280 mov.w r2, #4096 ; 0x1000 8053814: 801a strh r2, [r3, #0] DrawStatus = true; 8053816: 4b70 ldr r3, [pc, #448] ; (80539d8 ) 8053818: 2201 movs r2, #1 805381a: 701a strb r2, [r3, #0] break; 805381c: e1a3 b.n 8053b66 if(menupos == UpNo) 805381e: 4b6a ldr r3, [pc, #424] ; (80539c8 ) 8053820: 781b ldrb r3, [r3, #0] 8053822: b2db uxtb r3, r3 8053824: 2b06 cmp r3, #6 8053826: d103 bne.n 8053830 menupos = FilesSPEC; 8053828: 4b67 ldr r3, [pc, #412] ; (80539c8 ) 805382a: 2202 movs r2, #2 805382c: 701a strb r2, [r3, #0] break; 805382e: e19a b.n 8053b66 if(menupos == UpYes) 8053830: 4b65 ldr r3, [pc, #404] ; (80539c8 ) 8053832: 781b ldrb r3, [r3, #0] 8053834: b2db uxtb r3, r3 8053836: 2b07 cmp r3, #7 8053838: d124 bne.n 8053884 STATUS = AP_OK; 805383a: 4b65 ldr r3, [pc, #404] ; (80539d0 ) 805383c: 2200 movs r2, #0 805383e: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8053840: 4b6a ldr r3, [pc, #424] ; (80539ec ) 8053842: 2200 movs r2, #0 8053844: 701a strb r2, [r3, #0] result = DeleteFileSPEC((char *) ExplorerFiles[CursorIndex].fname); 8053846: 4b5b ldr r3, [pc, #364] ; (80539b4 ) 8053848: 681a ldr r2, [r3, #0] 805384a: 4613 mov r3, r2 805384c: 00db lsls r3, r3, #3 805384e: 1a9b subs r3, r3, r2 8053850: 00db lsls r3, r3, #3 8053852: 3308 adds r3, #8 8053854: 4a63 ldr r2, [pc, #396] ; (80539e4 ) 8053856: 4413 add r3, r2 8053858: 3304 adds r3, #4 805385a: 4618 mov r0, r3 805385c: f7d7 fc2c bl 802b0b8 8053860: 4603 mov r3, r0 8053862: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8053866: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805386a: 2b00 cmp r3, #0 805386c: d103 bne.n 8053876 CleanStatus = AP_OK; 805386e: 4b5f ldr r3, [pc, #380] ; (80539ec ) 8053870: 2200 movs r2, #0 8053872: 701a strb r2, [r3, #0] 8053874: e002 b.n 805387c else CleanStatus = AP_FAIL; 8053876: 4b5d ldr r3, [pc, #372] ; (80539ec ) 8053878: 2201 movs r2, #1 805387a: 701a strb r2, [r3, #0] menupos = CleanUpResult; 805387c: 4b52 ldr r3, [pc, #328] ; (80539c8 ) 805387e: 220a movs r2, #10 8053880: 701a strb r2, [r3, #0] break; 8053882: e170 b.n 8053b66 if(menupos == CleanUpResult) 8053884: 4b50 ldr r3, [pc, #320] ; (80539c8 ) 8053886: 781b ldrb r3, [r3, #0] 8053888: b2db uxtb r3, r3 805388a: 2b0a cmp r3, #10 805388c: f040 816b bne.w 8053b66 if(NeedClean == 0) 8053890: 4b57 ldr r3, [pc, #348] ; (80539f0 ) 8053892: 781b ldrb r3, [r3, #0] 8053894: b2db uxtb r3, r3 8053896: 2b00 cmp r3, #0 8053898: f040 8165 bne.w 8053b66 result = FR_NOT_READY; 805389c: 2303 movs r3, #3 805389e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 80538a2: 4b43 ldr r3, [pc, #268] ; (80539b0 ) 80538a4: 781b ldrb r3, [r3, #0] 80538a6: b2db uxtb r3, r3 80538a8: 2b03 cmp r3, #3 80538aa: f040 815c bne.w 8053b66 CursorIndex = 0; 80538ae: 4b41 ldr r3, [pc, #260] ; (80539b4 ) 80538b0: 2200 movs r2, #0 80538b2: 601a str r2, [r3, #0] FirstFileIndex = 0; 80538b4: 4b40 ldr r3, [pc, #256] ; (80539b8 ) 80538b6: 2200 movs r2, #0 80538b8: 601a str r2, [r3, #0] RealFileIndex = 0; 80538ba: 4b40 ldr r3, [pc, #256] ; (80539bc ) 80538bc: 2200 movs r2, #0 80538be: 601a str r2, [r3, #0] result = ReadNumFilesSPEC((uint32_t *) &NumFilesSPEC); 80538c0: 484c ldr r0, [pc, #304] ; (80539f4 ) 80538c2: f7d7 f875 bl 802a9b0 80538c6: 4603 mov r3, r0 80538c8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80538cc: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80538d0: 2b00 cmp r3, #0 80538d2: f040 8148 bne.w 8053b66 result = ReadMyFilesSPEC(FirstFileIndex); 80538d6: 4b38 ldr r3, [pc, #224] ; (80539b8 ) 80538d8: 681b ldr r3, [r3, #0] 80538da: 4618 mov r0, r3 80538dc: f7d7 f922 bl 802ab24 80538e0: 4603 mov r3, r0 80538e2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80538e6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80538ea: 2b00 cmp r3, #0 80538ec: f040 813b bne.w 8053b66 menu = ARCHIVE_SPEC; 80538f0: 4b34 ldr r3, [pc, #208] ; (80539c4 ) 80538f2: 2215 movs r2, #21 80538f4: 701a strb r2, [r3, #0] if(NumFilesSPEC) menupos = FilesSPEC; 80538f6: 4b3f ldr r3, [pc, #252] ; (80539f4 ) 80538f8: 681b ldr r3, [r3, #0] 80538fa: 2b00 cmp r3, #0 80538fc: d003 beq.n 8053906 80538fe: 4b32 ldr r3, [pc, #200] ; (80539c8 ) 8053900: 2202 movs r2, #2 8053902: 701a strb r2, [r3, #0] break; 8053904: e12f b.n 8053b66 else menupos = NoFilesSPEC; 8053906: 4b30 ldr r3, [pc, #192] ; (80539c8 ) 8053908: 2201 movs r2, #1 805390a: 701a strb r2, [r3, #0] break; 805390c: e12b b.n 8053b66 case ARCHIVE_FRAN: break; case ARCHIVE_WAVE://TODO HISTORY = false; 805390e: 4b33 ldr r3, [pc, #204] ; (80539dc ) 8053910: 2200 movs r2, #0 8053912: 701a strb r2, [r3, #0] switch(menupos) 8053914: 4b2c ldr r3, [pc, #176] ; (80539c8 ) 8053916: 781b ldrb r3, [r3, #0] 8053918: b2db uxtb r3, r3 805391a: 3b02 subs r3, #2 805391c: 2b08 cmp r3, #8 805391e: f200 8124 bhi.w 8053b6a 8053922: a201 add r2, pc, #4 ; (adr r2, 8053928 ) 8053924: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8053928: 0805394d .word 0x0805394d 805392c: 08053b6b .word 0x08053b6b 8053930: 08053b6b .word 0x08053b6b 8053934: 08053b6b .word 0x08053b6b 8053938: 08053a35 .word 0x08053a35 805393c: 08053a3d .word 0x08053a3d 8053940: 08053b6b .word 0x08053b6b 8053944: 08053b6b .word 0x08053b6b 8053948: 08053a57 .word 0x08053a57 { case FilesGTR: memset(FileName, 0, sizeof(FileName)); 805394c: 2228 movs r2, #40 ; 0x28 805394e: 2100 movs r1, #0 8053950: 4823 ldr r0, [pc, #140] ; (80539e0 ) 8053952: f07d fd25 bl 80d13a0 strcpy(FileName, (char *) ExplorerFiles[CursorIndex].fname); 8053956: 4b17 ldr r3, [pc, #92] ; (80539b4 ) 8053958: 681a ldr r2, [r3, #0] 805395a: 4613 mov r3, r2 805395c: 00db lsls r3, r3, #3 805395e: 1a9b subs r3, r3, r2 8053960: 00db lsls r3, r3, #3 8053962: 3308 adds r3, #8 8053964: 4a1f ldr r2, [pc, #124] ; (80539e4 ) 8053966: 4413 add r3, r2 8053968: 3304 adds r3, #4 805396a: 4619 mov r1, r3 805396c: 481c ldr r0, [pc, #112] ; (80539e0 ) 805396e: f07d fe34 bl 80d15da result = OpenFileGTR(FileName); 8053972: 481b ldr r0, [pc, #108] ; (80539e0 ) 8053974: f7d4 f8a6 bl 8027ac4 8053978: 4603 mov r3, r0 805397a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805397e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8053982: 2b00 cmp r3, #0 8053984: d13c bne.n 8053a00 { SeekFileGTR(); 8053986: f7d5 facb bl 8028f20 ViewLevel = 0; 805398a: 4b1b ldr r3, [pc, #108] ; (80539f8 ) 805398c: 2200 movs r2, #0 805398e: 701a strb r2, [r3, #0] AUTOZOOM = true; 8053990: 4b1a ldr r3, [pc, #104] ; (80539fc ) 8053992: 2201 movs r2, #1 8053994: 701a strb r2, [r3, #0] menu = MAIN_SYGNAL; 8053996: 4b0b ldr r3, [pc, #44] ; (80539c4 ) 8053998: 2220 movs r2, #32 805399a: 701a strb r2, [r3, #0] menupos = StartStop; 805399c: 4b0a ldr r3, [pc, #40] ; (80539c8 ) 805399e: 2200 movs r2, #0 80539a0: 701a strb r2, [r3, #0] HISTORY = true; 80539a2: 4b0e ldr r3, [pc, #56] ; (80539dc ) 80539a4: 2201 movs r2, #1 80539a6: 701a strb r2, [r3, #0] FIRST = false; 80539a8: 4b0f ldr r3, [pc, #60] ; (80539e8 ) 80539aa: 2200 movs r2, #0 80539ac: 701a strb r2, [r3, #0] { STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 80539ae: e08d b.n 8053acc 80539b0: 20021694 .word 0x20021694 80539b4: 20020e00 .word 0x20020e00 80539b8: 20020e04 .word 0x20020e04 80539bc: 20020e08 .word 0x20020e08 80539c0: 20020e24 .word 0x20020e24 80539c4: 20020fbd .word 0x20020fbd 80539c8: 20020070 .word 0x20020070 80539cc: 20020071 .word 0x20020071 80539d0: 20020dec .word 0x20020dec 80539d4: 200216d4 .word 0x200216d4 80539d8: 20020df2 .word 0x20020df2 80539dc: 20020fba .word 0x20020fba 80539e0: 20022c00 .word 0x20022c00 80539e4: 20022398 .word 0x20022398 80539e8: 20020dd2 .word 0x20020dd2 80539ec: 20020df0 .word 0x20020df0 80539f0: 20020dfc .word 0x20020dfc 80539f4: 20020e1c .word 0x20020e1c 80539f8: 20020fb8 .word 0x20020fb8 80539fc: 20020994 .word 0x20020994 if(result == FR_NOT_READY) 8053a00: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8053a04: 2b03 cmp r3, #3 8053a06: d10a bne.n 8053a1e STATUS = AP_NO_CARD; 8053a08: 4b61 ldr r3, [pc, #388] ; (8053b90 ) 8053a0a: 2211 movs r2, #17 8053a0c: 601a str r2, [r3, #0] timerStatus = sec2; 8053a0e: 4b61 ldr r3, [pc, #388] ; (8053b94 ) 8053a10: f44f 5280 mov.w r2, #4096 ; 0x1000 8053a14: 801a strh r2, [r3, #0] DrawStatus = true; 8053a16: 4b60 ldr r3, [pc, #384] ; (8053b98 ) 8053a18: 2201 movs r2, #1 8053a1a: 701a strb r2, [r3, #0] break; 8053a1c: e056 b.n 8053acc STATUS = AP_INVALID_FILE; 8053a1e: 4b5c ldr r3, [pc, #368] ; (8053b90 ) 8053a20: 2202 movs r2, #2 8053a22: 601a str r2, [r3, #0] timerStatus = sec2; 8053a24: 4b5b ldr r3, [pc, #364] ; (8053b94 ) 8053a26: f44f 5280 mov.w r2, #4096 ; 0x1000 8053a2a: 801a strh r2, [r3, #0] DrawStatus = true; 8053a2c: 4b5a ldr r3, [pc, #360] ; (8053b98 ) 8053a2e: 2201 movs r2, #1 8053a30: 701a strb r2, [r3, #0] break; 8053a32: e04b b.n 8053acc case UpNo: menupos = FilesGTR; 8053a34: 4b59 ldr r3, [pc, #356] ; (8053b9c ) 8053a36: 2202 movs r2, #2 8053a38: 701a strb r2, [r3, #0] break; 8053a3a: e047 b.n 8053acc case UpYes: STATUS = AP_OK; 8053a3c: 4b54 ldr r3, [pc, #336] ; (8053b90 ) 8053a3e: 2200 movs r2, #0 8053a40: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8053a42: 4b57 ldr r3, [pc, #348] ; (8053ba0 ) 8053a44: 2200 movs r2, #0 8053a46: 701a strb r2, [r3, #0] NeedClean = 2; 8053a48: 4b56 ldr r3, [pc, #344] ; (8053ba4 ) 8053a4a: 2202 movs r2, #2 8053a4c: 701a strb r2, [r3, #0] menupos = CleanUpResult; 8053a4e: 4b53 ldr r3, [pc, #332] ; (8053b9c ) 8053a50: 220a movs r2, #10 8053a52: 701a strb r2, [r3, #0] break; 8053a54: e03a b.n 8053acc case CleanUpResult: if(NeedClean == 0) 8053a56: 4b53 ldr r3, [pc, #332] ; (8053ba4 ) 8053a58: 781b ldrb r3, [r3, #0] 8053a5a: b2db uxtb r3, r3 8053a5c: 2b00 cmp r3, #0 8053a5e: d134 bne.n 8053aca { result = FR_NOT_READY; 8053a60: 2303 movs r3, #3 8053a62: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8053a66: 4b50 ldr r3, [pc, #320] ; (8053ba8 ) 8053a68: 781b ldrb r3, [r3, #0] 8053a6a: b2db uxtb r3, r3 8053a6c: 2b03 cmp r3, #3 8053a6e: d12c bne.n 8053aca { CursorIndex = 0; 8053a70: 4b4e ldr r3, [pc, #312] ; (8053bac ) 8053a72: 2200 movs r2, #0 8053a74: 601a str r2, [r3, #0] FirstFileIndex = 0; 8053a76: 4b4e ldr r3, [pc, #312] ; (8053bb0 ) 8053a78: 2200 movs r2, #0 8053a7a: 601a str r2, [r3, #0] RealFileIndex = 0; 8053a7c: 4b4d ldr r3, [pc, #308] ; (8053bb4 ) 8053a7e: 2200 movs r2, #0 8053a80: 601a str r2, [r3, #0] result = ReadNumFilesGTR((uint32_t *) &NumFilesGTR); 8053a82: 484d ldr r0, [pc, #308] ; (8053bb8 ) 8053a84: f7d6 ffc0 bl 802aa08 8053a88: 4603 mov r3, r0 8053a8a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8053a8e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8053a92: 2b00 cmp r3, #0 8053a94: d119 bne.n 8053aca { result = ReadMyFilesGTR(FirstFileIndex); 8053a96: 4b46 ldr r3, [pc, #280] ; (8053bb0 ) 8053a98: 681b ldr r3, [r3, #0] 8053a9a: 4618 mov r0, r3 8053a9c: f7d7 f85c bl 802ab58 8053aa0: 4603 mov r3, r0 8053aa2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8053aa6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8053aaa: 2b00 cmp r3, #0 8053aac: d10d bne.n 8053aca { menu = ARCHIVE_WAVE; 8053aae: 4b43 ldr r3, [pc, #268] ; (8053bbc ) 8053ab0: 2217 movs r2, #23 8053ab2: 701a strb r2, [r3, #0] if(NumFilesGTR) menupos = FilesGTR; 8053ab4: 4b40 ldr r3, [pc, #256] ; (8053bb8 ) 8053ab6: 681b ldr r3, [r3, #0] 8053ab8: 2b00 cmp r3, #0 8053aba: d003 beq.n 8053ac4 8053abc: 4b37 ldr r3, [pc, #220] ; (8053b9c ) 8053abe: 2202 movs r2, #2 8053ac0: 701a strb r2, [r3, #0] else menupos = NoFilesGTR; } } } } break; 8053ac2: e002 b.n 8053aca else menupos = NoFilesGTR; 8053ac4: 4b35 ldr r3, [pc, #212] ; (8053b9c ) 8053ac6: 2201 movs r2, #1 8053ac8: 701a strb r2, [r3, #0] break; 8053aca: bf00 nop } break; 8053acc: e04d b.n 8053b6a break; 8053ace: bf00 nop 8053ad0: e059 b.n 8053b86 break; 8053ad2: bf00 nop 8053ad4: e057 b.n 8053b86 break; 8053ad6: bf00 nop 8053ad8: e055 b.n 8053b86 break; 8053ada: bf00 nop 8053adc: e053 b.n 8053b86 break; 8053ade: bf00 nop 8053ae0: e051 b.n 8053b86 break; 8053ae2: bf00 nop 8053ae4: e04f b.n 8053b86 break; 8053ae6: bf00 nop 8053ae8: e04d b.n 8053b86 break; 8053aea: bf00 nop 8053aec: e04b b.n 8053b86 break; 8053aee: bf00 nop 8053af0: e049 b.n 8053b86 break; 8053af2: bf00 nop 8053af4: e047 b.n 8053b86 break; 8053af6: bf00 nop 8053af8: e045 b.n 8053b86 break; 8053afa: bf00 nop 8053afc: e043 b.n 8053b86 break; 8053afe: bf00 nop 8053b00: e041 b.n 8053b86 break; 8053b02: bf00 nop 8053b04: e03f b.n 8053b86 break; 8053b06: bf00 nop 8053b08: e03d b.n 8053b86 break; 8053b0a: bf00 nop 8053b0c: e03b b.n 8053b86 break; 8053b0e: bf00 nop 8053b10: e039 b.n 8053b86 break; 8053b12: bf00 nop 8053b14: e037 b.n 8053b86 break; 8053b16: bf00 nop 8053b18: e035 b.n 8053b86 break; 8053b1a: bf00 nop 8053b1c: e033 b.n 8053b86 break; 8053b1e: bf00 nop 8053b20: e031 b.n 8053b86 break; 8053b22: bf00 nop 8053b24: e02f b.n 8053b86 break; 8053b26: bf00 nop 8053b28: e02d b.n 8053b86 break; 8053b2a: bf00 nop 8053b2c: e02b b.n 8053b86 break; 8053b2e: bf00 nop 8053b30: e029 b.n 8053b86 break; 8053b32: bf00 nop 8053b34: e027 b.n 8053b86 break; 8053b36: bf00 nop 8053b38: e025 b.n 8053b86 break; 8053b3a: bf00 nop 8053b3c: e023 b.n 8053b86 break; 8053b3e: bf00 nop 8053b40: e021 b.n 8053b86 break; 8053b42: bf00 nop 8053b44: e01f b.n 8053b86 break; 8053b46: bf00 nop 8053b48: e01d b.n 8053b86 break; 8053b4a: bf00 nop 8053b4c: e01b b.n 8053b86 break; 8053b4e: bf00 nop 8053b50: e019 b.n 8053b86 break; 8053b52: bf00 nop 8053b54: e017 b.n 8053b86 break; 8053b56: bf00 nop 8053b58: e015 b.n 8053b86 break; 8053b5a: bf00 nop 8053b5c: e013 b.n 8053b86 break; 8053b5e: bf00 nop 8053b60: e011 b.n 8053b86 break; 8053b62: bf00 nop 8053b64: e00f b.n 8053b86 break; 8053b66: bf00 nop 8053b68: e00d b.n 8053b86 break; 8053b6a: bf00 nop } break; 8053b6c: e00b b.n 8053b86 return; 8053b6e: bf00 nop 8053b70: e00a b.n 8053b88 break; 8053b72: bf00 nop 8053b74: e008 b.n 8053b88 break; 8053b76: bf00 nop 8053b78: e006 b.n 8053b88 break; 8053b7a: bf00 nop 8053b7c: e004 b.n 8053b88 break; 8053b7e: bf00 nop 8053b80: e002 b.n 8053b88 break; 8053b82: bf00 nop 8053b84: e000 b.n 8053b88 break; 8053b86: bf00 nop case KEY_PW: break; } } } 8053b88: 37cc adds r7, #204 ; 0xcc 8053b8a: 46bd mov sp, r7 8053b8c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 8053b90: 20020dec .word 0x20020dec 8053b94: 200216d4 .word 0x200216d4 8053b98: 20020df2 .word 0x20020df2 8053b9c: 20020070 .word 0x20020070 8053ba0: 20020df0 .word 0x20020df0 8053ba4: 20020dfc .word 0x20020dfc 8053ba8: 20021694 .word 0x20021694 8053bac: 20020e00 .word 0x20020e00 8053bb0: 20020e04 .word 0x20020e04 8053bb4: 20020e08 .word 0x20020e08 8053bb8: 20020e24 .word 0x20020e24 8053bbc: 20020fbd .word 0x20020fbd 08053bc0 : void RefreshGraf(void) { 8053bc0: b480 push {r7} 8053bc2: af00 add r7, sp, #0 ViewLevel = 0; 8053bc4: 4b98 ldr r3, [pc, #608] ; (8053e28 ) 8053bc6: 2200 movs r2, #0 8053bc8: 701a strb r2, [r3, #0] X0 = 0; 8053bca: 4b98 ldr r3, [pc, #608] ; (8053e2c ) 8053bcc: 2200 movs r2, #0 8053bce: 801a strh r2, [r3, #0] lX = X0; 8053bd0: 4b96 ldr r3, [pc, #600] ; (8053e2c ) 8053bd2: 881b ldrh r3, [r3, #0] 8053bd4: b29a uxth r2, r3 8053bd6: 4b96 ldr r3, [pc, #600] ; (8053e30 ) 8053bd8: 801a strh r2, [r3, #0] if(pardata.SYG == OSC) 8053bda: 4b96 ldr r3, [pc, #600] ; (8053e34 ) 8053bdc: 781b ldrb r3, [r3, #0] 8053bde: b2db uxtb r3, r3 8053be0: 2b02 cmp r3, #2 8053be2: d13b bne.n 8053c5c { Mpos = X0 + CURSOR * avgOSC[ViewLevel][pardata.LNE]; 8053be4: 4b90 ldr r3, [pc, #576] ; (8053e28 ) 8053be6: 781b ldrb r3, [r3, #0] 8053be8: b2db uxtb r3, r3 8053bea: 4619 mov r1, r3 8053bec: 4b91 ldr r3, [pc, #580] ; (8053e34 ) 8053bee: 79db ldrb r3, [r3, #7] 8053bf0: b2db uxtb r3, r3 8053bf2: 4618 mov r0, r3 8053bf4: 4a90 ldr r2, [pc, #576] ; (8053e38 ) 8053bf6: 460b mov r3, r1 8053bf8: 009b lsls r3, r3, #2 8053bfa: 440b add r3, r1 8053bfc: 4413 add r3, r2 8053bfe: 4403 add r3, r0 8053c00: 781b ldrb r3, [r3, #0] 8053c02: b29a uxth r2, r3 8053c04: 4b8d ldr r3, [pc, #564] ; (8053e3c ) 8053c06: 681b ldr r3, [r3, #0] 8053c08: b29b uxth r3, r3 8053c0a: fb12 f303 smulbb r3, r2, r3 8053c0e: b29a uxth r2, r3 8053c10: 4b86 ldr r3, [pc, #536] ; (8053e2c ) 8053c12: 881b ldrh r3, [r3, #0] 8053c14: b29b uxth r3, r3 8053c16: 4413 add r3, r2 8053c18: b29a uxth r2, r3 8053c1a: 4b89 ldr r3, [pc, #548] ; (8053e40 ) 8053c1c: 801a strh r2, [r3, #0] fineMpos = Mpos; 8053c1e: 4b88 ldr r3, [pc, #544] ; (8053e40 ) 8053c20: 881b ldrh r3, [r3, #0] 8053c22: b29a uxth r2, r3 8053c24: 4b87 ldr r3, [pc, #540] ; (8053e44 ) 8053c26: 801a strh r2, [r3, #0] rX = 256 * avgOSC[ViewLevel][pardata.LNE] + lX; 8053c28: 4b7f ldr r3, [pc, #508] ; (8053e28 ) 8053c2a: 781b ldrb r3, [r3, #0] 8053c2c: b2db uxtb r3, r3 8053c2e: 4619 mov r1, r3 8053c30: 4b80 ldr r3, [pc, #512] ; (8053e34 ) 8053c32: 79db ldrb r3, [r3, #7] 8053c34: b2db uxtb r3, r3 8053c36: 4618 mov r0, r3 8053c38: 4a7f ldr r2, [pc, #508] ; (8053e38 ) 8053c3a: 460b mov r3, r1 8053c3c: 009b lsls r3, r3, #2 8053c3e: 440b add r3, r1 8053c40: 4413 add r3, r2 8053c42: 4403 add r3, r0 8053c44: 781b ldrb r3, [r3, #0] 8053c46: b29b uxth r3, r3 8053c48: 021b lsls r3, r3, #8 8053c4a: b29a uxth r2, r3 8053c4c: 4b78 ldr r3, [pc, #480] ; (8053e30 ) 8053c4e: 881b ldrh r3, [r3, #0] 8053c50: b29b uxth r3, r3 8053c52: 4413 add r3, r2 8053c54: b29a uxth r2, r3 8053c56: 4b7c ldr r3, [pc, #496] ; (8053e48 ) 8053c58: 801a strh r2, [r3, #0] 8053c5a: e0ca b.n 8053df2 } else if(pardata.SYG == ROLL) 8053c5c: 4b75 ldr r3, [pc, #468] ; (8053e34 ) 8053c5e: 781b ldrb r3, [r3, #0] 8053c60: b2db uxtb r3, r3 8053c62: 2b08 cmp r3, #8 8053c64: d13a bne.n 8053cdc { ViewLevel = 1; 8053c66: 4b70 ldr r3, [pc, #448] ; (8053e28 ) 8053c68: 2201 movs r2, #1 8053c6a: 701a strb r2, [r3, #0] Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; 8053c6c: 4b6e ldr r3, [pc, #440] ; (8053e28 ) 8053c6e: 781b ldrb r3, [r3, #0] 8053c70: b2db uxtb r3, r3 8053c72: 4618 mov r0, r3 8053c74: 4b6f ldr r3, [pc, #444] ; (8053e34 ) 8053c76: 79db ldrb r3, [r3, #7] 8053c78: b2db uxtb r3, r3 8053c7a: 4619 mov r1, r3 8053c7c: 4a73 ldr r2, [pc, #460] ; (8053e4c ) 8053c7e: 0083 lsls r3, r0, #2 8053c80: 4413 add r3, r2 8053c82: 440b add r3, r1 8053c84: 781b ldrb r3, [r3, #0] 8053c86: b29a uxth r2, r3 8053c88: 4b6c ldr r3, [pc, #432] ; (8053e3c ) 8053c8a: 681b ldr r3, [r3, #0] 8053c8c: b29b uxth r3, r3 8053c8e: fb12 f303 smulbb r3, r2, r3 8053c92: b29a uxth r2, r3 8053c94: 4b65 ldr r3, [pc, #404] ; (8053e2c ) 8053c96: 881b ldrh r3, [r3, #0] 8053c98: b29b uxth r3, r3 8053c9a: 4413 add r3, r2 8053c9c: b29a uxth r2, r3 8053c9e: 4b68 ldr r3, [pc, #416] ; (8053e40 ) 8053ca0: 801a strh r2, [r3, #0] fineMpos = Mpos; 8053ca2: 4b67 ldr r3, [pc, #412] ; (8053e40 ) 8053ca4: 881b ldrh r3, [r3, #0] 8053ca6: b29a uxth r2, r3 8053ca8: 4b66 ldr r3, [pc, #408] ; (8053e44 ) 8053caa: 801a strh r2, [r3, #0] rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; 8053cac: 4b5e ldr r3, [pc, #376] ; (8053e28 ) 8053cae: 781b ldrb r3, [r3, #0] 8053cb0: b2db uxtb r3, r3 8053cb2: 4618 mov r0, r3 8053cb4: 4b5f ldr r3, [pc, #380] ; (8053e34 ) 8053cb6: 79db ldrb r3, [r3, #7] 8053cb8: b2db uxtb r3, r3 8053cba: 4619 mov r1, r3 8053cbc: 4a63 ldr r2, [pc, #396] ; (8053e4c ) 8053cbe: 0083 lsls r3, r0, #2 8053cc0: 4413 add r3, r2 8053cc2: 440b add r3, r1 8053cc4: 781b ldrb r3, [r3, #0] 8053cc6: b29b uxth r3, r3 8053cc8: 021b lsls r3, r3, #8 8053cca: b29a uxth r2, r3 8053ccc: 4b58 ldr r3, [pc, #352] ; (8053e30 ) 8053cce: 881b ldrh r3, [r3, #0] 8053cd0: b29b uxth r3, r3 8053cd2: 4413 add r3, r2 8053cd4: b29a uxth r2, r3 8053cd6: 4b5c ldr r3, [pc, #368] ; (8053e48 ) 8053cd8: 801a strh r2, [r3, #0] 8053cda: e08a b.n 8053df2 } else if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == UDAR)) 8053cdc: 4b55 ldr r3, [pc, #340] ; (8053e34 ) 8053cde: 781b ldrb r3, [r3, #0] 8053ce0: b2db uxtb r3, r3 8053ce2: 2b01 cmp r3, #1 8053ce4: d009 beq.n 8053cfa 8053ce6: 4b53 ldr r3, [pc, #332] ; (8053e34 ) 8053ce8: 781b ldrb r3, [r3, #0] 8053cea: b2db uxtb r3, r3 8053cec: 2b05 cmp r3, #5 8053cee: d004 beq.n 8053cfa 8053cf0: 4b50 ldr r3, [pc, #320] ; (8053e34 ) 8053cf2: 781b ldrb r3, [r3, #0] 8053cf4: b2db uxtb r3, r3 8053cf6: 2b09 cmp r3, #9 8053cf8: d137 bne.n 8053d6a { Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; 8053cfa: 4b4b ldr r3, [pc, #300] ; (8053e28 ) 8053cfc: 781b ldrb r3, [r3, #0] 8053cfe: b2db uxtb r3, r3 8053d00: 4618 mov r0, r3 8053d02: 4b4c ldr r3, [pc, #304] ; (8053e34 ) 8053d04: 79db ldrb r3, [r3, #7] 8053d06: b2db uxtb r3, r3 8053d08: 4619 mov r1, r3 8053d0a: 4a50 ldr r2, [pc, #320] ; (8053e4c ) 8053d0c: 0083 lsls r3, r0, #2 8053d0e: 4413 add r3, r2 8053d10: 440b add r3, r1 8053d12: 781b ldrb r3, [r3, #0] 8053d14: b29a uxth r2, r3 8053d16: 4b49 ldr r3, [pc, #292] ; (8053e3c ) 8053d18: 681b ldr r3, [r3, #0] 8053d1a: b29b uxth r3, r3 8053d1c: fb12 f303 smulbb r3, r2, r3 8053d20: b29a uxth r2, r3 8053d22: 4b42 ldr r3, [pc, #264] ; (8053e2c ) 8053d24: 881b ldrh r3, [r3, #0] 8053d26: b29b uxth r3, r3 8053d28: 4413 add r3, r2 8053d2a: b29a uxth r2, r3 8053d2c: 4b44 ldr r3, [pc, #272] ; (8053e40 ) 8053d2e: 801a strh r2, [r3, #0] fineMpos = Mpos; 8053d30: 4b43 ldr r3, [pc, #268] ; (8053e40 ) 8053d32: 881b ldrh r3, [r3, #0] 8053d34: b29a uxth r2, r3 8053d36: 4b43 ldr r3, [pc, #268] ; (8053e44 ) 8053d38: 801a strh r2, [r3, #0] rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; 8053d3a: 4b3b ldr r3, [pc, #236] ; (8053e28 ) 8053d3c: 781b ldrb r3, [r3, #0] 8053d3e: b2db uxtb r3, r3 8053d40: 4618 mov r0, r3 8053d42: 4b3c ldr r3, [pc, #240] ; (8053e34 ) 8053d44: 79db ldrb r3, [r3, #7] 8053d46: b2db uxtb r3, r3 8053d48: 4619 mov r1, r3 8053d4a: 4a40 ldr r2, [pc, #256] ; (8053e4c ) 8053d4c: 0083 lsls r3, r0, #2 8053d4e: 4413 add r3, r2 8053d50: 440b add r3, r1 8053d52: 781b ldrb r3, [r3, #0] 8053d54: b29b uxth r3, r3 8053d56: 021b lsls r3, r3, #8 8053d58: b29a uxth r2, r3 8053d5a: 4b35 ldr r3, [pc, #212] ; (8053e30 ) 8053d5c: 881b ldrh r3, [r3, #0] 8053d5e: b29b uxth r3, r3 8053d60: 4413 add r3, r2 8053d62: b29a uxth r2, r3 8053d64: 4b38 ldr r3, [pc, #224] ; (8053e48 ) 8053d66: 801a strh r2, [r3, #0] 8053d68: e043 b.n 8053df2 } else if((pardata.SYG == SPEC_OKT) || (pardata.SYG == SPEC_THIRD)) 8053d6a: 4b32 ldr r3, [pc, #200] ; (8053e34 ) 8053d6c: 781b ldrb r3, [r3, #0] 8053d6e: b2db uxtb r3, r3 8053d70: 2b06 cmp r3, #6 8053d72: d004 beq.n 8053d7e 8053d74: 4b2f ldr r3, [pc, #188] ; (8053e34 ) 8053d76: 781b ldrb r3, [r3, #0] 8053d78: b2db uxtb r3, r3 8053d7a: 2b07 cmp r3, #7 8053d7c: d139 bne.n 8053df2 { CURSOR = 5; 8053d7e: 4b2f ldr r3, [pc, #188] ; (8053e3c ) 8053d80: 2205 movs r2, #5 8053d82: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; 8053d84: 4b28 ldr r3, [pc, #160] ; (8053e28 ) 8053d86: 781b ldrb r3, [r3, #0] 8053d88: b2db uxtb r3, r3 8053d8a: 4618 mov r0, r3 8053d8c: 4b29 ldr r3, [pc, #164] ; (8053e34 ) 8053d8e: 79db ldrb r3, [r3, #7] 8053d90: b2db uxtb r3, r3 8053d92: 4619 mov r1, r3 8053d94: 4a2d ldr r2, [pc, #180] ; (8053e4c ) 8053d96: 0083 lsls r3, r0, #2 8053d98: 4413 add r3, r2 8053d9a: 440b add r3, r1 8053d9c: 781b ldrb r3, [r3, #0] 8053d9e: b29a uxth r2, r3 8053da0: 4b26 ldr r3, [pc, #152] ; (8053e3c ) 8053da2: 681b ldr r3, [r3, #0] 8053da4: b29b uxth r3, r3 8053da6: fb12 f303 smulbb r3, r2, r3 8053daa: b29a uxth r2, r3 8053dac: 4b1f ldr r3, [pc, #124] ; (8053e2c ) 8053dae: 881b ldrh r3, [r3, #0] 8053db0: b29b uxth r3, r3 8053db2: 4413 add r3, r2 8053db4: b29a uxth r2, r3 8053db6: 4b22 ldr r3, [pc, #136] ; (8053e40 ) 8053db8: 801a strh r2, [r3, #0] fineMpos = Mpos; 8053dba: 4b21 ldr r3, [pc, #132] ; (8053e40 ) 8053dbc: 881b ldrh r3, [r3, #0] 8053dbe: b29a uxth r2, r3 8053dc0: 4b20 ldr r3, [pc, #128] ; (8053e44 ) 8053dc2: 801a strh r2, [r3, #0] rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; 8053dc4: 4b18 ldr r3, [pc, #96] ; (8053e28 ) 8053dc6: 781b ldrb r3, [r3, #0] 8053dc8: b2db uxtb r3, r3 8053dca: 4618 mov r0, r3 8053dcc: 4b19 ldr r3, [pc, #100] ; (8053e34 ) 8053dce: 79db ldrb r3, [r3, #7] 8053dd0: b2db uxtb r3, r3 8053dd2: 4619 mov r1, r3 8053dd4: 4a1d ldr r2, [pc, #116] ; (8053e4c ) 8053dd6: 0083 lsls r3, r0, #2 8053dd8: 4413 add r3, r2 8053dda: 440b add r3, r1 8053ddc: 781b ldrb r3, [r3, #0] 8053dde: b29b uxth r3, r3 8053de0: 021b lsls r3, r3, #8 8053de2: b29a uxth r2, r3 8053de4: 4b12 ldr r3, [pc, #72] ; (8053e30 ) 8053de6: 881b ldrh r3, [r3, #0] 8053de8: b29b uxth r3, r3 8053dea: 4413 add r3, r2 8053dec: b29a uxth r2, r3 8053dee: 4b16 ldr r3, [pc, #88] ; (8053e48 ) 8053df0: 801a strh r2, [r3, #0] } DynamicCursor[0].Enabled = false; 8053df2: 4b17 ldr r3, [pc, #92] ; (8053e50 ) 8053df4: 2200 movs r2, #0 8053df6: 701a strb r2, [r3, #0] DynamicCursor[0].Mpos = 0xffff; 8053df8: 4b15 ldr r3, [pc, #84] ; (8053e50 ) 8053dfa: f64f 72ff movw r2, #65535 ; 0xffff 8053dfe: 809a strh r2, [r3, #4] DynamicCursor[0].fineMpos = DynamicCursor[0].Mpos; 8053e00: 4b13 ldr r3, [pc, #76] ; (8053e50 ) 8053e02: 889a ldrh r2, [r3, #4] 8053e04: 4b12 ldr r3, [pc, #72] ; (8053e50 ) 8053e06: 80da strh r2, [r3, #6] DynamicCursor[1].Enabled = false; 8053e08: 4b11 ldr r3, [pc, #68] ; (8053e50 ) 8053e0a: 2200 movs r2, #0 8053e0c: 741a strb r2, [r3, #16] DynamicCursor[1].Mpos = 0xffff; 8053e0e: 4b10 ldr r3, [pc, #64] ; (8053e50 ) 8053e10: f64f 72ff movw r2, #65535 ; 0xffff 8053e14: 829a strh r2, [r3, #20] DynamicCursor[1].fineMpos = DynamicCursor[1].Mpos; 8053e16: 4b0e ldr r3, [pc, #56] ; (8053e50 ) 8053e18: 8a9a ldrh r2, [r3, #20] 8053e1a: 4b0d ldr r3, [pc, #52] ; (8053e50 ) 8053e1c: 82da strh r2, [r3, #22] } 8053e1e: bf00 nop 8053e20: 46bd mov sp, r7 8053e22: f85d 7b04 ldr.w r7, [sp], #4 8053e26: 4770 bx lr 8053e28: 20020fb8 .word 0x20020fb8 8053e2c: 20025d66 .word 0x20025d66 8053e30: 20025d62 .word 0x20025d62 8053e34: 20023ea8 .word 0x20023ea8 8053e38: 080f2b30 .word 0x080f2b30 8053e3c: 2002006c .word 0x2002006c 8053e40: 20025d5e .word 0x20025d5e 8053e44: 20025d64 .word 0x20025d64 8053e48: 20025d68 .word 0x20025d68 8053e4c: 080f2b54 .word 0x080f2b54 8053e50: 20020f8c .word 0x20020f8c 08053e54 : } void AfterTacho(void) { 8053e54: b580 push {r7, lr} 8053e56: b082 sub sp, #8 8053e58: af00 add r7, sp, #0 FRESULT result; if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8053e5a: 4b57 ldr r3, [pc, #348] ; (8053fb8 ) 8053e5c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053e60: f003 0304 and.w r3, r3, #4 8053e64: 2b00 cmp r3, #0 8053e66: f040 809f bne.w 8053fa8 { MultRec = _b24V * CorrKk[ACC] * 2; 8053e6a: 4b54 ldr r3, [pc, #336] ; (8053fbc ) 8053e6c: edd3 7a00 vldr s15, [r3] 8053e70: ed9f 7a53 vldr s14, [pc, #332] ; 8053fc0 8053e74: ee67 7a87 vmul.f32 s15, s15, s14 8053e78: ee77 7aa7 vadd.f32 s15, s15, s15 8053e7c: 4b51 ldr r3, [pc, #324] ; (8053fc4 ) 8053e7e: edc3 7a00 vstr s15, [r3] menupos = ReadyRec; 8053e82: 4b51 ldr r3, [pc, #324] ; (8053fc8 ) 8053e84: 2203 movs r2, #3 8053e86: 701a strb r2, [r3, #0] Recording = false; 8053e88: 4b50 ldr r3, [pc, #320] ; (8053fcc ) 8053e8a: 2200 movs r2, #0 8053e8c: 701a strb r2, [r3, #0] RepeatKm = false; 8053e8e: 4b50 ldr r3, [pc, #320] ; (8053fd0 ) 8053e90: 2200 movs r2, #0 8053e92: 701a strb r2, [r3, #0] FirstTime = false; 8053e94: 4b4f ldr r3, [pc, #316] ; (8053fd4 ) 8053e96: 2200 movs r2, #0 8053e98: 701a strb r2, [r3, #0] READY = DATA_FREE; 8053e9a: 4b4f ldr r3, [pc, #316] ; (8053fd8 ) 8053e9c: 2200 movs r2, #0 8053e9e: 701a strb r2, [r3, #0] cntmeas = 0; 8053ea0: 4b4e ldr r3, [pc, #312] ; (8053fdc ) 8053ea2: 2200 movs r2, #0 8053ea4: 801a strh r2, [r3, #0] cntADC = 0; 8053ea6: 4b4e ldr r3, [pc, #312] ; (8053fe0 ) 8053ea8: 2200 movs r2, #0 8053eaa: 801a strh r2, [r3, #0] if(CardState == MSD_READY) 8053eac: 4b4d ldr r3, [pc, #308] ; (8053fe4 ) 8053eae: 781b ldrb r3, [r3, #0] 8053eb0: b2db uxtb r3, r3 8053eb2: 2b03 cmp r3, #3 8053eb4: d16a bne.n 8053f8c { WavFileNameLen = strlen(WavFileName); 8053eb6: 484c ldr r0, [pc, #304] ; (8053fe8 ) 8053eb8: f7cc fa2c bl 8020314 8053ebc: 4602 mov r2, r0 8053ebe: 4b4b ldr r3, [pc, #300] ; (8053fec ) 8053ec0: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 8053ec2: 4b4a ldr r3, [pc, #296] ; (8053fec ) 8053ec4: 681b ldr r3, [r3, #0] 8053ec6: 3b04 subs r3, #4 8053ec8: 4a47 ldr r2, [pc, #284] ; (8053fe8 ) 8053eca: 5cd3 ldrb r3, [r2, r3] 8053ecc: 2b2e cmp r3, #46 ; 0x2e 8053ece: d01a beq.n 8053f06 8053ed0: 4b46 ldr r3, [pc, #280] ; (8053fec ) 8053ed2: 681b ldr r3, [r3, #0] 8053ed4: 2b03 cmp r3, #3 8053ed6: d916 bls.n 8053f06 { WavFileName[WavFileNameLen - 3] = 'G'; 8053ed8: 4b44 ldr r3, [pc, #272] ; (8053fec ) 8053eda: 681b ldr r3, [r3, #0] 8053edc: 3b03 subs r3, #3 8053ede: 4a42 ldr r2, [pc, #264] ; (8053fe8 ) 8053ee0: 2147 movs r1, #71 ; 0x47 8053ee2: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'T'; 8053ee4: 4b41 ldr r3, [pc, #260] ; (8053fec ) 8053ee6: 681b ldr r3, [r3, #0] 8053ee8: 3b02 subs r3, #2 8053eea: 4a3f ldr r2, [pc, #252] ; (8053fe8 ) 8053eec: 2154 movs r1, #84 ; 0x54 8053eee: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'R'; 8053ef0: 4b3e ldr r3, [pc, #248] ; (8053fec ) 8053ef2: 681b ldr r3, [r3, #0] 8053ef4: 3b01 subs r3, #1 8053ef6: 4a3c ldr r2, [pc, #240] ; (8053fe8 ) 8053ef8: 2152 movs r1, #82 ; 0x52 8053efa: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 8053efc: 4b3b ldr r3, [pc, #236] ; (8053fec ) 8053efe: 681b ldr r3, [r3, #0] 8053f00: 4a39 ldr r2, [pc, #228] ; (8053fe8 ) 8053f02: 2100 movs r1, #0 8053f04: 54d1 strb r1, [r2, r3] } result = CreateFileGTR(WavFileName); 8053f06: 4838 ldr r0, [pc, #224] ; (8053fe8 ) 8053f08: f7d0 f93a bl 8024180 8053f0c: 4603 mov r3, r0 8053f0e: 71fb strb r3, [r7, #7] if(result == FR_OK) 8053f10: 79fb ldrb r3, [r7, #7] 8053f12: 2b00 cmp r3, #0 8053f14: d105 bne.n 8053f22 { STATUS = AP_OK; 8053f16: 4b36 ldr r3, [pc, #216] ; (8053ff0 ) 8053f18: 2200 movs r2, #0 8053f1a: 601a str r2, [r3, #0] StartRecording(); 8053f1c: f7cf fbae bl 802367c STATUS = AP_NO_CARD; } } else menupos = GainSelecting; } 8053f20: e045 b.n 8053fae Recording = false; 8053f22: 4b2a ldr r3, [pc, #168] ; (8053fcc ) 8053f24: 2200 movs r2, #0 8053f26: 701a strb r2, [r3, #0] StopMeas(); //// ADDED 8053f28: f7cf fc38 bl 802379c menupos = StartStop; //// ADDED 8053f2c: 4b26 ldr r3, [pc, #152] ; (8053fc8 ) 8053f2e: 2200 movs r2, #0 8053f30: 701a strb r2, [r3, #0] switch(result) 8053f32: 79fb ldrb r3, [r7, #7] 8053f34: 3b03 subs r3, #3 8053f36: 2b06 cmp r3, #6 8053f38: d81c bhi.n 8053f74 8053f3a: a201 add r2, pc, #4 ; (adr r2, 8053f40 ) 8053f3c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8053f40: 08053f5d .word 0x08053f5d 8053f44: 08053f65 .word 0x08053f65 8053f48: 08053f75 .word 0x08053f75 8053f4c: 08053f75 .word 0x08053f75 8053f50: 08053f75 .word 0x08053f75 8053f54: 08053f6d .word 0x08053f6d 8053f58: 08053f65 .word 0x08053f65 STATUS = AP_NO_CARD; 8053f5c: 4b24 ldr r3, [pc, #144] ; (8053ff0 ) 8053f5e: 2211 movs r2, #17 8053f60: 601a str r2, [r3, #0] break; 8053f62: e00b b.n 8053f7c STATUS = AP_INVALID_FILE; 8053f64: 4b22 ldr r3, [pc, #136] ; (8053ff0 ) 8053f66: 2202 movs r2, #2 8053f68: 601a str r2, [r3, #0] break; 8053f6a: e007 b.n 8053f7c STATUS = AP_FILE_EXIST; 8053f6c: 4b20 ldr r3, [pc, #128] ; (8053ff0 ) 8053f6e: 2206 movs r2, #6 8053f70: 601a str r2, [r3, #0] break; 8053f72: e003 b.n 8053f7c STATUS = AP_DISK_ERROR; 8053f74: 4b1e ldr r3, [pc, #120] ; (8053ff0 ) 8053f76: 220b movs r2, #11 8053f78: 601a str r2, [r3, #0] break; 8053f7a: bf00 nop timerStatus = sec2; 8053f7c: 4b1d ldr r3, [pc, #116] ; (8053ff4 ) 8053f7e: f44f 5280 mov.w r2, #4096 ; 0x1000 8053f82: 801a strh r2, [r3, #0] DrawStatus = true; 8053f84: 4b1c ldr r3, [pc, #112] ; (8053ff8 ) 8053f86: 2201 movs r2, #1 8053f88: 701a strb r2, [r3, #0] } 8053f8a: e010 b.n 8053fae Recording = false; 8053f8c: 4b0f ldr r3, [pc, #60] ; (8053fcc ) 8053f8e: 2200 movs r2, #0 8053f90: 701a strb r2, [r3, #0] timerStatus = sec2; 8053f92: 4b18 ldr r3, [pc, #96] ; (8053ff4 ) 8053f94: f44f 5280 mov.w r2, #4096 ; 0x1000 8053f98: 801a strh r2, [r3, #0] DrawStatus = true; 8053f9a: 4b17 ldr r3, [pc, #92] ; (8053ff8 ) 8053f9c: 2201 movs r2, #1 8053f9e: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 8053fa0: 4b13 ldr r3, [pc, #76] ; (8053ff0 ) 8053fa2: 2211 movs r2, #17 8053fa4: 601a str r2, [r3, #0] } 8053fa6: e002 b.n 8053fae menupos = GainSelecting; 8053fa8: 4b07 ldr r3, [pc, #28] ; (8053fc8 ) 8053faa: 2202 movs r2, #2 8053fac: 701a strb r2, [r3, #0] } 8053fae: bf00 nop 8053fb0: 3708 adds r7, #8 8053fb2: 46bd mov sp, r7 8053fb4: bd80 pop {r7, pc} 8053fb6: bf00 nop 8053fb8: 20023ea8 .word 0x20023ea8 8053fbc: 20020080 .word 0x20020080 8053fc0: 2f449ba8 .word 0x2f449ba8 8053fc4: 20026208 .word 0x20026208 8053fc8: 20020070 .word 0x20020070 8053fcc: 20020dd0 .word 0x20020dd0 8053fd0: 20020dcc .word 0x20020dcc 8053fd4: 20020dce .word 0x20020dce 8053fd8: 20020d9f .word 0x20020d9f 8053fdc: 20020da0 .word 0x20020da0 8053fe0: 20020d9c .word 0x20020d9c 8053fe4: 20021694 .word 0x20021694 8053fe8: 20020e54 .word 0x20020e54 8053fec: 20020f08 .word 0x20020f08 8053ff0: 20020dec .word 0x20020dec 8053ff4: 200216d4 .word 0x200216d4 8053ff8: 20020df2 .word 0x20020df2 08053ffc : { 8053ffc: b480 push {r7} 8053ffe: b085 sub sp, #20 8054000: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 8054002: 4b19 ldr r3, [pc, #100] ; (8054068 ) 8054004: 2200 movs r2, #0 8054006: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 805400a: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 805400e: 4b16 ldr r3, [pc, #88] ; (8054068 ) 8054010: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 8054014: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 8054016: 687b ldr r3, [r7, #4] 8054018: 0b5b lsrs r3, r3, #13 805401a: f3c3 030e ubfx r3, r3, #0, #15 805401e: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 8054020: 687b ldr r3, [r7, #4] 8054022: 08db lsrs r3, r3, #3 8054024: f3c3 0309 ubfx r3, r3, #0, #10 8054028: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 805402a: 490f ldr r1, [pc, #60] ; (8054068 ) 805402c: 68fb ldr r3, [r7, #12] 805402e: 015a lsls r2, r3, #5 8054030: f643 73e0 movw r3, #16352 ; 0x3fe0 8054034: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 8054036: 68ba ldr r2, [r7, #8] 8054038: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 805403a: 4313 orrs r3, r2 805403c: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 8054040: 68bb ldr r3, [r7, #8] 8054042: 1e5a subs r2, r3, #1 8054044: 60ba str r2, [r7, #8] 8054046: 2b00 cmp r3, #0 8054048: d1ef bne.n 805402a } while(sets-- != 0U); 805404a: 68fb ldr r3, [r7, #12] 805404c: 1e5a subs r2, r3, #1 805404e: 60fa str r2, [r7, #12] 8054050: 2b00 cmp r3, #0 8054052: d1e5 bne.n 8054020 8054054: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8054058: f3bf 8f6f isb sy } 805405c: bf00 nop 805405e: 3714 adds r7, #20 8054060: 46bd mov sp, r7 8054062: f85d 7b04 ldr.w r7, [sp], #4 8054066: 4770 bx lr 8054068: e000ed00 .word 0xe000ed00 0805406c : } void LTDC_Reset(void) { 805406c: b580 push {r7, lr} 805406e: af00 add r7, sp, #0 HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET); HAL_Delay(100); 8054070: 2201 movs r2, #1 8054072: 2140 movs r1, #64 ; 0x40 8054074: 480b ldr r0, [pc, #44] ; (80540a4 ) 8054076: f065 fb91 bl 80b979c 805407a: 2064 movs r0, #100 ; 0x64 805407c: f062 fede bl 80b6e3c HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_RESET); HAL_Delay(100); 8054080: 2200 movs r2, #0 8054082: 2140 movs r1, #64 ; 0x40 8054084: 4807 ldr r0, [pc, #28] ; (80540a4 ) 8054086: f065 fb89 bl 80b979c 805408a: 2064 movs r0, #100 ; 0x64 805408c: f062 fed6 bl 80b6e3c HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET); HAL_Delay(100); 8054090: 2201 movs r2, #1 8054092: 2140 movs r1, #64 ; 0x40 8054094: 4803 ldr r0, [pc, #12] ; (80540a4 ) 8054096: f065 fb81 bl 80b979c 805409a: 2064 movs r0, #100 ; 0x64 805409c: f062 fece bl 80b6e3c } 80540a0: bf00 nop 80540a2: bd80 pop {r7, pc} 80540a4: 40020c00 .word 0x40020c00 080540a8 : /* LTDC init function */ void MX_LTDC_Init(void) { 80540a8: b580 push {r7, lr} 80540aa: b09c sub sp, #112 ; 0x70 80540ac: af00 add r7, sp, #0 __IO uint32_t tickstart; // SET_BIT(RCC->CR, RCC_CR_PLLSAION); // HAL_Delay(100); LTDC_Reset(); 80540ae: f7ff ffdd bl 805406c __HAL_RCC_PLLSAI_ENABLE(); 80540b2: 4a8c ldr r2, [pc, #560] ; (80542e4 ) 80540b4: 4b8b ldr r3, [pc, #556] ; (80542e4 ) 80540b6: 681b ldr r3, [r3, #0] 80540b8: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80540bc: 6013 str r3, [r2, #0] tickstart = HAL_GetTick(); 80540be: f062 feb1 bl 80b6e24 80540c2: 4603 mov r3, r0 80540c4: 607b str r3, [r7, #4] while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 80540c6: e008 b.n 80540da { if((HAL_GetTick() - tickstart) >= PLLSAI_TIMEOUT_VALUE) { 80540c8: f062 feac bl 80b6e24 80540cc: 4602 mov r2, r0 80540ce: 687b ldr r3, [r7, #4] 80540d0: 1ad3 subs r3, r2, r3 80540d2: 2b63 cmp r3, #99 ; 0x63 80540d4: d901 bls.n 80540da Error_Handler(); 80540d6: f001 fdeb bl 8055cb0 while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 80540da: 4b82 ldr r3, [pc, #520] ; (80542e4 ) 80540dc: 681b ldr r3, [r3, #0] 80540de: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80540e2: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 80540e6: d1ef bne.n 80540c8 } } hLtdcHandler.Instance = LTDC; 80540e8: 4b7f ldr r3, [pc, #508] ; (80542e8 ) 80540ea: 4a80 ldr r2, [pc, #512] ; (80542ec ) 80540ec: 601a str r2, [r3, #0] hLtdcHandler.Init.HSPolarity = LTDC_HSPOLARITY_AL; 80540ee: 4b7e ldr r3, [pc, #504] ; (80542e8 ) 80540f0: 2200 movs r2, #0 80540f2: 605a str r2, [r3, #4] hLtdcHandler.Init.VSPolarity = LTDC_VSPOLARITY_AL; 80540f4: 4b7c ldr r3, [pc, #496] ; (80542e8 ) 80540f6: 2200 movs r2, #0 80540f8: 609a str r2, [r3, #8] hLtdcHandler.Init.DEPolarity = LTDC_DEPOLARITY_AH; 80540fa: 4b7b ldr r3, [pc, #492] ; (80542e8 ) 80540fc: f04f 5200 mov.w r2, #536870912 ; 0x20000000 8054100: 60da str r2, [r3, #12] hLtdcHandler.Init.PCPolarity = LTDC_PCPOLARITY_IPC; 8054102: 4b79 ldr r3, [pc, #484] ; (80542e8 ) 8054104: 2200 movs r2, #0 8054106: 611a str r2, [r3, #16] hLtdcHandler.Init.HorizontalSync = 38; 8054108: 4b77 ldr r3, [pc, #476] ; (80542e8 ) 805410a: 2226 movs r2, #38 ; 0x26 805410c: 615a str r2, [r3, #20] hLtdcHandler.Init.VerticalSync = 4; 805410e: 4b76 ldr r3, [pc, #472] ; (80542e8 ) 8054110: 2204 movs r2, #4 8054112: 619a str r2, [r3, #24] hLtdcHandler.Init.AccumulatedHBP = 68; 8054114: 4b74 ldr r3, [pc, #464] ; (80542e8 ) 8054116: 2244 movs r2, #68 ; 0x44 8054118: 61da str r2, [r3, #28] hLtdcHandler.Init.AccumulatedVBP = 18; 805411a: 4b73 ldr r3, [pc, #460] ; (80542e8 ) 805411c: 2212 movs r2, #18 805411e: 621a str r2, [r3, #32] hLtdcHandler.Init.AccumulatedActiveW = 388; 8054120: 4b71 ldr r3, [pc, #452] ; (80542e8 ) 8054122: f44f 72c2 mov.w r2, #388 ; 0x184 8054126: 625a str r2, [r3, #36] ; 0x24 hLtdcHandler.Init.AccumulatedActiveH = 262; 8054128: 4b6f ldr r3, [pc, #444] ; (80542e8 ) 805412a: f44f 7283 mov.w r2, #262 ; 0x106 805412e: 629a str r2, [r3, #40] ; 0x28 hLtdcHandler.Init.TotalWidth = 408; 8054130: 4b6d ldr r3, [pc, #436] ; (80542e8 ) 8054132: f44f 72cc mov.w r2, #408 ; 0x198 8054136: 62da str r2, [r3, #44] ; 0x2c hLtdcHandler.Init.TotalHeigh = 263; 8054138: 4b6b ldr r3, [pc, #428] ; (80542e8 ) 805413a: f240 1207 movw r2, #263 ; 0x107 805413e: 631a str r2, [r3, #48] ; 0x30 hLtdcHandler.Init.Backcolor.Blue = 0; 8054140: 4b69 ldr r3, [pc, #420] ; (80542e8 ) 8054142: 2200 movs r2, #0 8054144: f883 2034 strb.w r2, [r3, #52] ; 0x34 hLtdcHandler.Init.Backcolor.Green = 0; 8054148: 4b67 ldr r3, [pc, #412] ; (80542e8 ) 805414a: 2200 movs r2, #0 805414c: f883 2035 strb.w r2, [r3, #53] ; 0x35 hLtdcHandler.Init.Backcolor.Red = 0; 8054150: 4b65 ldr r3, [pc, #404] ; (80542e8 ) 8054152: 2200 movs r2, #0 8054154: f883 2036 strb.w r2, [r3, #54] ; 0x36 if (HAL_LTDC_Init(&hLtdcHandler) != HAL_OK) { 8054158: 4863 ldr r0, [pc, #396] ; (80542e8 ) 805415a: f065 fb51 bl 80b9800 805415e: 4603 mov r3, r0 8054160: 2b00 cmp r3, #0 8054162: d001 beq.n 8054168 Error_Handler(); 8054164: f001 fda4 bl 8055cb0 } pLayerCfg.WindowX0 = 0; 8054168: 2300 movs r3, #0 805416a: 63fb str r3, [r7, #60] ; 0x3c pLayerCfg.WindowX1 = 320; 805416c: f44f 73a0 mov.w r3, #320 ; 0x140 8054170: 643b str r3, [r7, #64] ; 0x40 pLayerCfg.WindowY0 = 0; 8054172: 2300 movs r3, #0 8054174: 647b str r3, [r7, #68] ; 0x44 pLayerCfg.WindowY1 = 240; 8054176: 23f0 movs r3, #240 ; 0xf0 8054178: 64bb str r3, [r7, #72] ; 0x48 pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; 805417a: 2302 movs r3, #2 805417c: 64fb str r3, [r7, #76] ; 0x4c pLayerCfg.Alpha = 255; 805417e: 23ff movs r3, #255 ; 0xff 8054180: 653b str r3, [r7, #80] ; 0x50 pLayerCfg.Alpha0 = 0; 8054182: 2300 movs r3, #0 8054184: 657b str r3, [r7, #84] ; 0x54 pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; 8054186: f44f 63c0 mov.w r3, #1536 ; 0x600 805418a: 65bb str r3, [r7, #88] ; 0x58 pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; 805418c: 2307 movs r3, #7 805418e: 65fb str r3, [r7, #92] ; 0x5c pLayerCfg.FBStartAdress = SCR1_ADDR_OFFSET; 8054190: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 8054194: 663b str r3, [r7, #96] ; 0x60 pLayerCfg.ImageWidth = 320; 8054196: f44f 73a0 mov.w r3, #320 ; 0x140 805419a: 667b str r3, [r7, #100] ; 0x64 pLayerCfg.ImageHeight = 240; 805419c: 23f0 movs r3, #240 ; 0xf0 805419e: 66bb str r3, [r7, #104] ; 0x68 pLayerCfg.Backcolor.Blue = 0; 80541a0: 2300 movs r3, #0 80541a2: f887 306c strb.w r3, [r7, #108] ; 0x6c pLayerCfg.Backcolor.Green = 0; 80541a6: 2300 movs r3, #0 80541a8: f887 306d strb.w r3, [r7, #109] ; 0x6d pLayerCfg.Backcolor.Red = 0; 80541ac: 2300 movs r3, #0 80541ae: f887 306e strb.w r3, [r7, #110] ; 0x6e if(HAL_LTDC_ConfigLayer(&hLtdcHandler, &pLayerCfg, 0) != HAL_OK) { 80541b2: f107 033c add.w r3, r7, #60 ; 0x3c 80541b6: 2200 movs r2, #0 80541b8: 4619 mov r1, r3 80541ba: 484b ldr r0, [pc, #300] ; (80542e8 ) 80541bc: f065 fca8 bl 80b9b10 80541c0: 4603 mov r3, r0 80541c2: 2b00 cmp r3, #0 80541c4: d001 beq.n 80541ca Error_Handler(); 80541c6: f001 fd73 bl 8055cb0 } pLayerCfg1.WindowX0 = 0; 80541ca: 2300 movs r3, #0 80541cc: 60bb str r3, [r7, #8] pLayerCfg1.WindowX1 = 320; 80541ce: f44f 73a0 mov.w r3, #320 ; 0x140 80541d2: 60fb str r3, [r7, #12] pLayerCfg1.WindowY0 = 0; 80541d4: 2300 movs r3, #0 80541d6: 613b str r3, [r7, #16] pLayerCfg1.WindowY1 = 240; 80541d8: 23f0 movs r3, #240 ; 0xf0 80541da: 617b str r3, [r7, #20] pLayerCfg1.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; 80541dc: 2302 movs r3, #2 80541de: 61bb str r3, [r7, #24] pLayerCfg1.Alpha = 255; 80541e0: 23ff movs r3, #255 ; 0xff 80541e2: 61fb str r3, [r7, #28] pLayerCfg1.Alpha0 = 0; 80541e4: 2300 movs r3, #0 80541e6: 623b str r3, [r7, #32] pLayerCfg1.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; 80541e8: f44f 63c0 mov.w r3, #1536 ; 0x600 80541ec: 627b str r3, [r7, #36] ; 0x24 pLayerCfg1.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; 80541ee: 2307 movs r3, #7 80541f0: 62bb str r3, [r7, #40] ; 0x28 pLayerCfg1.FBStartAdress = SCR2_ADDR_OFFSET; 80541f2: 4b3f ldr r3, [pc, #252] ; (80542f0 ) 80541f4: 62fb str r3, [r7, #44] ; 0x2c pLayerCfg1.ImageWidth = 320; 80541f6: f44f 73a0 mov.w r3, #320 ; 0x140 80541fa: 633b str r3, [r7, #48] ; 0x30 pLayerCfg1.ImageHeight = 240; 80541fc: 23f0 movs r3, #240 ; 0xf0 80541fe: 637b str r3, [r7, #52] ; 0x34 pLayerCfg1.Backcolor.Blue = 0; 8054200: 2300 movs r3, #0 8054202: f887 3038 strb.w r3, [r7, #56] ; 0x38 pLayerCfg1.Backcolor.Green = 0; 8054206: 2300 movs r3, #0 8054208: f887 3039 strb.w r3, [r7, #57] ; 0x39 pLayerCfg1.Backcolor.Red = 0; 805420c: 2300 movs r3, #0 805420e: f887 303a strb.w r3, [r7, #58] ; 0x3a if(HAL_LTDC_ConfigLayer(&hLtdcHandler, &pLayerCfg1, 1) != HAL_OK) { 8054212: f107 0308 add.w r3, r7, #8 8054216: 2201 movs r2, #1 8054218: 4619 mov r1, r3 805421a: 4833 ldr r0, [pc, #204] ; (80542e8 ) 805421c: f065 fc78 bl 80b9b10 8054220: 4603 mov r3, r0 8054222: 2b00 cmp r3, #0 8054224: d001 beq.n 805422a Error_Handler(); 8054226: f001 fd43 bl 8055cb0 } //HAL_LTDC_EnableCLUT(&hLtdcHandler, 0); //HAL_LTDC_EnableCLUT(&hLtdcHandler, 1); ActiveLayer = 1; 805422a: 4b32 ldr r3, [pc, #200] ; (80542f4 ) 805422c: 2201 movs r2, #1 805422e: 601a str r2, [r3, #0] RenderingLayer = 0; 8054230: 4b31 ldr r3, [pc, #196] ; (80542f8 ) 8054232: 2200 movs r2, #0 8054234: 601a str r2, [r3, #0] BSP_LCD_DisplayOff(); 8054236: f000 f879 bl 805432c BSP_LCD_SelectLayer(0); 805423a: 2000 movs r0, #0 805423c: f000 f960 bl 8054500 BSP_LCD_Clear(0xFF000000); 8054240: f04f 407f mov.w r0, #4278190080 ; 0xff000000 8054244: f000 fa3e bl 80546c4 BSP_LCD_SelectLayer(1); 8054248: 2001 movs r0, #1 805424a: f000 f959 bl 8054500 BSP_LCD_Clear(0xFF000000); 805424e: f04f 407f mov.w r0, #4278190080 ; 0xff000000 8054252: f000 fa37 bl 80546c4 BSP_LCD_SetLayerVisible(RenderingLayer, DISABLE); 8054256: 4b28 ldr r3, [pc, #160] ; (80542f8 ) 8054258: 681b ldr r3, [r3, #0] 805425a: 2100 movs r1, #0 805425c: 4618 mov r0, r3 805425e: f000 f95f bl 8054520 BSP_LCD_SetLayerVisible(ActiveLayer, DISABLE); 8054262: 4b24 ldr r3, [pc, #144] ; (80542f4 ) 8054264: 681b ldr r3, [r3, #0] 8054266: 2100 movs r1, #0 8054268: 4618 mov r0, r3 805426a: f000 f959 bl 8054520 HAL_LTDC_Reload(&hLtdcHandler, LTDC_RELOAD_IMMEDIATE); 805426e: 2101 movs r1, #1 8054270: 481d ldr r0, [pc, #116] ; (80542e8 ) 8054272: f065 fcc3 bl 80b9bfc DrawProp[0].BackColor = LCD_COLOR_BLACK; 8054276: 4b21 ldr r3, [pc, #132] ; (80542fc ) 8054278: 4a21 ldr r2, [pc, #132] ; (8054300 ) 805427a: 605a str r2, [r3, #4] DrawProp[0].pFont = &Font17; 805427c: 4b1f ldr r3, [pc, #124] ; (80542fc ) 805427e: 4a21 ldr r2, [pc, #132] ; (8054304 ) 8054280: 609a str r2, [r3, #8] DrawProp[0].TextColor = LCD_COLOR_WHITE; 8054282: 4b1e ldr r3, [pc, #120] ; (80542fc ) 8054284: f04f 32ff mov.w r2, #4294967295 8054288: 601a str r2, [r3, #0] DrawProp[1].BackColor = LCD_COLOR_BLACK; 805428a: 4b1c ldr r3, [pc, #112] ; (80542fc ) 805428c: 4a1c ldr r2, [pc, #112] ; (8054300 ) 805428e: 611a str r2, [r3, #16] DrawProp[1].pFont = &Font17; 8054290: 4b1a ldr r3, [pc, #104] ; (80542fc ) 8054292: 4a1c ldr r2, [pc, #112] ; (8054304 ) 8054294: 615a str r2, [r3, #20] DrawProp[1].TextColor = LCD_COLOR_WHITE; 8054296: 4b19 ldr r3, [pc, #100] ; (80542fc ) 8054298: f04f 32ff mov.w r2, #4294967295 805429c: 60da str r2, [r3, #12] CurrentFont = &Font17; 805429e: 4b1a ldr r3, [pc, #104] ; (8054308 ) 80542a0: 4a18 ldr r2, [pc, #96] ; (8054304 ) 80542a2: 601a str r2, [r3, #0] BSP_LCD_DisplayOn(); 80542a4: f000 f836 bl 8054314 HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); // BACKLIGHT IS OFF 80542a8: 2201 movs r2, #1 80542aa: f44f 7180 mov.w r1, #256 ; 0x100 80542ae: 4817 ldr r0, [pc, #92] ; (805430c ) 80542b0: f065 fa74 bl 80b979c RefreshScreen = true; 80542b4: 4b16 ldr r3, [pc, #88] ; (8054310 ) 80542b6: 2201 movs r2, #1 80542b8: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 255); 80542ba: 21ff movs r1, #255 ; 0xff 80542bc: 480a ldr r0, [pc, #40] ; (80542e8 ) 80542be: f065 fc65 bl 80b9b8c while(RefreshScreen); 80542c2: bf00 nop 80542c4: 4b12 ldr r3, [pc, #72] ; (8054310 ) 80542c6: 781b ldrb r3, [r3, #0] 80542c8: b2db uxtb r3, r3 80542ca: 2b00 cmp r3, #0 80542cc: d1fa bne.n 80542c4 BSP_LCD_SetLayerVisible(RenderingLayer, ENABLE); 80542ce: 4b0a ldr r3, [pc, #40] ; (80542f8 ) 80542d0: 681b ldr r3, [r3, #0] 80542d2: 2101 movs r1, #1 80542d4: 4618 mov r0, r3 80542d6: f000 f923 bl 8054520 } 80542da: bf00 nop 80542dc: 3770 adds r7, #112 ; 0x70 80542de: 46bd mov sp, r7 80542e0: bd80 pop {r7, pc} 80542e2: bf00 nop 80542e4: 40023800 .word 0x40023800 80542e8: 20025d70 .word 0x20025d70 80542ec: 40016800 .word 0x40016800 80542f0: 64025800 .word 0x64025800 80542f4: 20020078 .word 0x20020078 80542f8: 20021040 .word 0x20021040 80542fc: 20021028 .word 0x20021028 8054300: ff0a0f1f .word 0xff0a0f1f 8054304: 20020048 .word 0x20020048 8054308: 20025d6c .word 0x20025d6c 805430c: 40020000 .word 0x40020000 8054310: 20021044 .word 0x20021044 08054314 : void BSP_LCD_DisplayOn(void) { 8054314: b580 push {r7, lr} 8054316: af00 add r7, sp, #0 //__HAL_LTDC_ENABLE(&hLtdcHandler); HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_SET); // DISPLAY_ON 8054318: 2201 movs r2, #1 805431a: f44f 6180 mov.w r1, #1024 ; 0x400 805431e: 4802 ldr r0, [pc, #8] ; (8054328 ) 8054320: f065 fa3c bl 80b979c } 8054324: bf00 nop 8054326: bd80 pop {r7, pc} 8054328: 40021400 .word 0x40021400 0805432c : /** * @brief Disables the display. * @retval None */ void BSP_LCD_DisplayOff(void) { 805432c: b580 push {r7, lr} 805432e: af00 add r7, sp, #0 //__HAL_LTDC_DISABLE(&hLtdcHandler); HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_RESET); // DISPLAY_OFF 8054330: 2200 movs r2, #0 8054332: f44f 6180 mov.w r1, #1024 ; 0x400 8054336: 4802 ldr r0, [pc, #8] ; (8054340 ) 8054338: f065 fa30 bl 80b979c } 805433c: bf00 nop 805433e: bd80 pop {r7, pc} 8054340: 40021400 .word 0x40021400 08054344 : void HAL_LTDC_MspInit(LTDC_HandleTypeDef* ltdcHandle) { 8054344: b580 push {r7, lr} 8054346: b088 sub sp, #32 8054348: af00 add r7, sp, #0 805434a: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(ltdcHandle->Instance == LTDC) 805434c: 687b ldr r3, [r7, #4] 805434e: 681b ldr r3, [r3, #0] 8054350: 4a4f ldr r2, [pc, #316] ; (8054490 ) 8054352: 4293 cmp r3, r2 8054354: f040 8097 bne.w 8054486 { __HAL_RCC_LTDC_CLK_ENABLE(); 8054358: 4a4e ldr r2, [pc, #312] ; (8054494 ) 805435a: 4b4e ldr r3, [pc, #312] ; (8054494 ) 805435c: 6c5b ldr r3, [r3, #68] ; 0x44 805435e: f043 6380 orr.w r3, r3, #67108864 ; 0x4000000 8054362: 6453 str r3, [r2, #68] ; 0x44 8054364: 4b4b ldr r3, [pc, #300] ; (8054494 ) 8054366: 6c5b ldr r3, [r3, #68] ; 0x44 8054368: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 805436c: 60bb str r3, [r7, #8] 805436e: 68bb ldr r3, [r7, #8] PG7 ------> LTDC_CLK PG10 ------> LTDC_G3 PG11 ------> LTDC_B3 PG12 ------> LTDC_B4 */ GPIO_InitStruct.Pin = GPIO_PIN_10; 8054370: f44f 6380 mov.w r3, #1024 ; 0x400 8054374: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 8054376: 2301 movs r3, #1 8054378: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 805437a: 2300 movs r3, #0 805437c: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 805437e: 2303 movs r3, #3 8054380: 61bb str r3, [r7, #24] HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 8054382: f107 030c add.w r3, r7, #12 8054386: 4619 mov r1, r3 8054388: 4843 ldr r0, [pc, #268] ; (8054498 ) 805438a: f064 ff39 bl 80b9200 GPIO_InitStruct.Pin = GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_6 | GPIO_PIN_11 |GPIO_PIN_12; 805438e: f641 0358 movw r3, #6232 ; 0x1858 8054392: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8054394: 2302 movs r3, #2 8054396: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8054398: 2300 movs r3, #0 805439a: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 805439c: 2303 movs r3, #3 805439e: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 80543a0: 230e movs r3, #14 80543a2: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 80543a4: f107 030c add.w r3, r7, #12 80543a8: 4619 mov r1, r3 80543aa: 483c ldr r0, [pc, #240] ; (805449c ) 80543ac: f064 ff28 bl 80b9200 GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1; 80543b0: 2303 movs r3, #3 80543b2: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80543b4: 2302 movs r3, #2 80543b6: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80543b8: 2300 movs r3, #0 80543ba: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80543bc: 2303 movs r3, #3 80543be: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF9_LTDC; 80543c0: 2309 movs r3, #9 80543c2: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80543c4: f107 030c add.w r3, r7, #12 80543c8: 4619 mov r1, r3 80543ca: 4835 ldr r0, [pc, #212] ; (80544a0 ) 80543cc: f064 ff18 bl 80b9200 GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_8 | GPIO_PIN_9; 80543d0: f44f 6370 mov.w r3, #3840 ; 0xf00 80543d4: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80543d6: 2302 movs r3, #2 80543d8: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80543da: 2300 movs r3, #0 80543dc: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80543de: 2303 movs r3, #3 80543e0: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 80543e2: 230e movs r3, #14 80543e4: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80543e6: f107 030c add.w r3, r7, #12 80543ea: 4619 mov r1, r3 80543ec: 482c ldr r0, [pc, #176] ; (80544a0 ) 80543ee: f064 ff07 bl 80b9200 GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_11; 80543f2: f44f 630c mov.w r3, #2240 ; 0x8c0 80543f6: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80543f8: 2302 movs r3, #2 80543fa: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80543fc: 2300 movs r3, #0 80543fe: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8054400: 2303 movs r3, #3 8054402: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 8054404: 230e movs r3, #14 8054406: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 8054408: f107 030c add.w r3, r7, #12 805440c: 4619 mov r1, r3 805440e: 4825 ldr r0, [pc, #148] ; (80544a4 ) 8054410: f064 fef6 bl 80b9200 GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7; 8054414: 23c0 movs r3, #192 ; 0xc0 8054416: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8054418: 2302 movs r3, #2 805441a: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 805441c: 2300 movs r3, #0 805441e: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8054420: 2303 movs r3, #3 8054422: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 8054424: 230e movs r3, #14 8054426: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 8054428: f107 030c add.w r3, r7, #12 805442c: 4619 mov r1, r3 805442e: 481e ldr r0, [pc, #120] ; (80544a8 ) 8054430: f064 fee6 bl 80b9200 GPIO_InitStruct.Pin = GPIO_PIN_3; 8054434: 2308 movs r3, #8 8054436: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8054438: 2302 movs r3, #2 805443a: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 805443c: 2300 movs r3, #0 805443e: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8054440: 2303 movs r3, #3 8054442: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 8054444: 230e movs r3, #14 8054446: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); 8054448: f107 030c add.w r3, r7, #12 805444c: 4619 mov r1, r3 805444e: 4817 ldr r0, [pc, #92] ; (80544ac ) 8054450: f064 fed6 bl 80b9200 GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_12; 8054454: f44f 53a0 mov.w r3, #5120 ; 0x1400 8054458: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 805445a: 2302 movs r3, #2 805445c: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 805445e: 2300 movs r3, #0 8054460: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8054462: 2303 movs r3, #3 8054464: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF9_LTDC; 8054466: 2309 movs r3, #9 8054468: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 805446a: f107 030c add.w r3, r7, #12 805446e: 4619 mov r1, r3 8054470: 480c ldr r0, [pc, #48] ; (80544a4 ) 8054472: f064 fec5 bl 80b9200 HAL_NVIC_SetPriority(LTDC_IRQn, 6, 0); 8054476: 2200 movs r2, #0 8054478: 2106 movs r1, #6 805447a: 2058 movs r0, #88 ; 0x58 805447c: f063 fc29 bl 80b7cd2 HAL_NVIC_EnableIRQ(LTDC_IRQn); 8054480: 2058 movs r0, #88 ; 0x58 8054482: f063 fc42 bl 80b7d0a } } 8054486: bf00 nop 8054488: 3720 adds r7, #32 805448a: 46bd mov sp, r7 805448c: bd80 pop {r7, pc} 805448e: bf00 nop 8054490: 40016800 .word 0x40016800 8054494: 40023800 .word 0x40023800 8054498: 40021400 .word 0x40021400 805449c: 40020000 .word 0x40020000 80544a0: 40020400 .word 0x40020400 80544a4: 40021800 .word 0x40021800 80544a8: 40020800 .word 0x40020800 80544ac: 40020c00 .word 0x40020c00 080544b0 : HAL_NVIC_DisableIRQ(LTDC_IRQn); } } uint32_t BSP_LCD_GetXSize(void) { 80544b0: b480 push {r7} 80544b2: af00 add r7, sp, #0 return hLtdcHandler.LayerCfg[ActiveLayer].ImageWidth; 80544b4: 4b06 ldr r3, [pc, #24] ; (80544d0 ) 80544b6: 681b ldr r3, [r3, #0] 80544b8: 4a06 ldr r2, [pc, #24] ; (80544d4 ) 80544ba: 2134 movs r1, #52 ; 0x34 80544bc: fb01 f303 mul.w r3, r1, r3 80544c0: 4413 add r3, r2 80544c2: 3360 adds r3, #96 ; 0x60 80544c4: 681b ldr r3, [r3, #0] } 80544c6: 4618 mov r0, r3 80544c8: 46bd mov sp, r7 80544ca: f85d 7b04 ldr.w r7, [sp], #4 80544ce: 4770 bx lr 80544d0: 20020078 .word 0x20020078 80544d4: 20025d70 .word 0x20025d70 080544d8 : /** * @brief Gets the LCD Y size. * @retval Used LCD Y size */ uint32_t BSP_LCD_GetYSize(void) { 80544d8: b480 push {r7} 80544da: af00 add r7, sp, #0 return hLtdcHandler.LayerCfg[ActiveLayer].ImageHeight; 80544dc: 4b06 ldr r3, [pc, #24] ; (80544f8 ) 80544de: 681b ldr r3, [r3, #0] 80544e0: 4a06 ldr r2, [pc, #24] ; (80544fc ) 80544e2: 2134 movs r1, #52 ; 0x34 80544e4: fb01 f303 mul.w r3, r1, r3 80544e8: 4413 add r3, r2 80544ea: 3364 adds r3, #100 ; 0x64 80544ec: 681b ldr r3, [r3, #0] } 80544ee: 4618 mov r0, r3 80544f0: 46bd mov sp, r7 80544f2: f85d 7b04 ldr.w r7, [sp], #4 80544f6: 4770 bx lr 80544f8: 20020078 .word 0x20020078 80544fc: 20025d70 .word 0x20025d70 08054500 : { hLtdcHandler.LayerCfg[ActiveLayer].ImageHeight = imageHeightPixels; } void BSP_LCD_SelectLayer(uint32_t LayerIndex) { 8054500: b480 push {r7} 8054502: b083 sub sp, #12 8054504: af00 add r7, sp, #0 8054506: 6078 str r0, [r7, #4] ActiveLayer = LayerIndex; 8054508: 4a04 ldr r2, [pc, #16] ; (805451c ) 805450a: 687b ldr r3, [r7, #4] 805450c: 6013 str r3, [r2, #0] } 805450e: bf00 nop 8054510: 370c adds r7, #12 8054512: 46bd mov sp, r7 8054514: f85d 7b04 ldr.w r7, [sp], #4 8054518: 4770 bx lr 805451a: bf00 nop 805451c: 20020078 .word 0x20020078 08054520 : * @arg ENABLE * @arg DISABLE * @retval None */ void BSP_LCD_SetLayerVisible(uint32_t LayerIndex, FunctionalState State) { 8054520: b480 push {r7} 8054522: b083 sub sp, #12 8054524: af00 add r7, sp, #0 8054526: 6078 str r0, [r7, #4] 8054528: 460b mov r3, r1 805452a: 70fb strb r3, [r7, #3] if(State == ENABLE) 805452c: 78fb ldrb r3, [r7, #3] 805452e: 2b01 cmp r3, #1 8054530: d113 bne.n 805455a __HAL_LTDC_LAYER_ENABLE(&hLtdcHandler, LayerIndex); 8054532: 4b1a ldr r3, [pc, #104] ; (805459c ) 8054534: 681b ldr r3, [r3, #0] 8054536: 461a mov r2, r3 8054538: 687b ldr r3, [r7, #4] 805453a: 01db lsls r3, r3, #7 805453c: 4413 add r3, r2 805453e: 3384 adds r3, #132 ; 0x84 8054540: 461a mov r2, r3 8054542: 4b16 ldr r3, [pc, #88] ; (805459c ) 8054544: 681b ldr r3, [r3, #0] 8054546: 4619 mov r1, r3 8054548: 687b ldr r3, [r7, #4] 805454a: 01db lsls r3, r3, #7 805454c: 440b add r3, r1 805454e: 3384 adds r3, #132 ; 0x84 8054550: 681b ldr r3, [r3, #0] 8054552: f043 0301 orr.w r3, r3, #1 8054556: 6013 str r3, [r2, #0] 8054558: e012 b.n 8054580 else __HAL_LTDC_LAYER_DISABLE(&hLtdcHandler, LayerIndex); 805455a: 4b10 ldr r3, [pc, #64] ; (805459c ) 805455c: 681b ldr r3, [r3, #0] 805455e: 461a mov r2, r3 8054560: 687b ldr r3, [r7, #4] 8054562: 01db lsls r3, r3, #7 8054564: 4413 add r3, r2 8054566: 3384 adds r3, #132 ; 0x84 8054568: 461a mov r2, r3 805456a: 4b0c ldr r3, [pc, #48] ; (805459c ) 805456c: 681b ldr r3, [r3, #0] 805456e: 4619 mov r1, r3 8054570: 687b ldr r3, [r7, #4] 8054572: 01db lsls r3, r3, #7 8054574: 440b add r3, r1 8054576: 3384 adds r3, #132 ; 0x84 8054578: 681b ldr r3, [r3, #0] 805457a: f023 0301 bic.w r3, r3, #1 805457e: 6013 str r3, [r2, #0] __HAL_LTDC_RELOAD_CONFIG(&hLtdcHandler); 8054580: 4b06 ldr r3, [pc, #24] ; (805459c ) 8054582: 681b ldr r3, [r3, #0] 8054584: 4a05 ldr r2, [pc, #20] ; (805459c ) 8054586: 6812 ldr r2, [r2, #0] 8054588: 6a52 ldr r2, [r2, #36] ; 0x24 805458a: f042 0201 orr.w r2, r2, #1 805458e: 625a str r2, [r3, #36] ; 0x24 } 8054590: bf00 nop 8054592: 370c adds r7, #12 8054594: 46bd mov sp, r7 8054596: f85d 7b04 ldr.w r7, [sp], #4 805459a: 4770 bx lr 805459c: 20025d70 .word 0x20025d70 080545a0 : * @arg ENABLE * @arg DISABLE * @retval None */ void BSP_LCD_SetLayerVisible_NoReload(uint32_t LayerIndex, FunctionalState State) { 80545a0: b480 push {r7} 80545a2: b083 sub sp, #12 80545a4: af00 add r7, sp, #0 80545a6: 6078 str r0, [r7, #4] 80545a8: 460b mov r3, r1 80545aa: 70fb strb r3, [r7, #3] if(State == ENABLE) 80545ac: 78fb ldrb r3, [r7, #3] 80545ae: 2b01 cmp r3, #1 80545b0: d113 bne.n 80545da __HAL_LTDC_LAYER_ENABLE(&hLtdcHandler, LayerIndex); 80545b2: 4b16 ldr r3, [pc, #88] ; (805460c ) 80545b4: 681b ldr r3, [r3, #0] 80545b6: 461a mov r2, r3 80545b8: 687b ldr r3, [r7, #4] 80545ba: 01db lsls r3, r3, #7 80545bc: 4413 add r3, r2 80545be: 3384 adds r3, #132 ; 0x84 80545c0: 461a mov r2, r3 80545c2: 4b12 ldr r3, [pc, #72] ; (805460c ) 80545c4: 681b ldr r3, [r3, #0] 80545c6: 4619 mov r1, r3 80545c8: 687b ldr r3, [r7, #4] 80545ca: 01db lsls r3, r3, #7 80545cc: 440b add r3, r1 80545ce: 3384 adds r3, #132 ; 0x84 80545d0: 681b ldr r3, [r3, #0] 80545d2: f043 0301 orr.w r3, r3, #1 80545d6: 6013 str r3, [r2, #0] else __HAL_LTDC_LAYER_DISABLE(&hLtdcHandler, LayerIndex); } 80545d8: e012 b.n 8054600 else __HAL_LTDC_LAYER_DISABLE(&hLtdcHandler, LayerIndex); 80545da: 4b0c ldr r3, [pc, #48] ; (805460c ) 80545dc: 681b ldr r3, [r3, #0] 80545de: 461a mov r2, r3 80545e0: 687b ldr r3, [r7, #4] 80545e2: 01db lsls r3, r3, #7 80545e4: 4413 add r3, r2 80545e6: 3384 adds r3, #132 ; 0x84 80545e8: 461a mov r2, r3 80545ea: 4b08 ldr r3, [pc, #32] ; (805460c ) 80545ec: 681b ldr r3, [r3, #0] 80545ee: 4619 mov r1, r3 80545f0: 687b ldr r3, [r7, #4] 80545f2: 01db lsls r3, r3, #7 80545f4: 440b add r3, r1 80545f6: 3384 adds r3, #132 ; 0x84 80545f8: 681b ldr r3, [r3, #0] 80545fa: f023 0301 bic.w r3, r3, #1 80545fe: 6013 str r3, [r2, #0] } 8054600: bf00 nop 8054602: 370c adds r7, #12 8054604: 46bd mov sp, r7 8054606: f85d 7b04 ldr.w r7, [sp], #4 805460a: 4770 bx lr 805460c: 20025d70 .word 0x20025d70 08054610 : * @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) { 8054610: b480 push {r7} 8054612: b083 sub sp, #12 8054614: af00 add r7, sp, #0 8054616: 6078 str r0, [r7, #4] 8054618: 6039 str r1, [r7, #0] DrawProp[ActiveLayer].TextColor = ColorUp; 805461a: 4b0d ldr r3, [pc, #52] ; (8054650 ) 805461c: 681a ldr r2, [r3, #0] 805461e: 490d ldr r1, [pc, #52] ; (8054654 ) 8054620: 4613 mov r3, r2 8054622: 005b lsls r3, r3, #1 8054624: 4413 add r3, r2 8054626: 009b lsls r3, r3, #2 8054628: 440b add r3, r1 805462a: 687a ldr r2, [r7, #4] 805462c: 601a str r2, [r3, #0] DrawProp[ActiveLayer].BackColor = ColorDn; 805462e: 4b08 ldr r3, [pc, #32] ; (8054650 ) 8054630: 681a ldr r2, [r3, #0] 8054632: 4908 ldr r1, [pc, #32] ; (8054654 ) 8054634: 4613 mov r3, r2 8054636: 005b lsls r3, r3, #1 8054638: 4413 add r3, r2 805463a: 009b lsls r3, r3, #2 805463c: 440b add r3, r1 805463e: 3304 adds r3, #4 8054640: 683a ldr r2, [r7, #0] 8054642: 601a str r2, [r3, #0] } 8054644: bf00 nop 8054646: 370c adds r7, #12 8054648: 46bd mov sp, r7 805464a: f85d 7b04 ldr.w r7, [sp], #4 805464e: 4770 bx lr 8054650: 20020078 .word 0x20020078 8054654: 20021028 .word 0x20021028 08054658 : void BSP_LCD_SetTextColor(uint32_t Color) { 8054658: b480 push {r7} 805465a: b083 sub sp, #12 805465c: af00 add r7, sp, #0 805465e: 6078 str r0, [r7, #4] DrawProp[ActiveLayer].TextColor = Color; 8054660: 4b07 ldr r3, [pc, #28] ; (8054680 ) 8054662: 681a ldr r2, [r3, #0] 8054664: 4907 ldr r1, [pc, #28] ; (8054684 ) 8054666: 4613 mov r3, r2 8054668: 005b lsls r3, r3, #1 805466a: 4413 add r3, r2 805466c: 009b lsls r3, r3, #2 805466e: 440b add r3, r1 8054670: 687a ldr r2, [r7, #4] 8054672: 601a str r2, [r3, #0] } 8054674: bf00 nop 8054676: 370c adds r7, #12 8054678: 46bd mov sp, r7 805467a: f85d 7b04 ldr.w r7, [sp], #4 805467e: 4770 bx lr 8054680: 20020078 .word 0x20020078 8054684: 20021028 .word 0x20021028 08054688 : * @brief Sets the LCD text font. * @param fonts: Layer font to be used * @retval None */ void BSP_LCD_SetFont(sFONT *fonts) { 8054688: b480 push {r7} 805468a: b083 sub sp, #12 805468c: af00 add r7, sp, #0 805468e: 6078 str r0, [r7, #4] DrawProp[ActiveLayer].pFont = fonts; 8054690: 4b09 ldr r3, [pc, #36] ; (80546b8 ) 8054692: 681a ldr r2, [r3, #0] 8054694: 4909 ldr r1, [pc, #36] ; (80546bc ) 8054696: 4613 mov r3, r2 8054698: 005b lsls r3, r3, #1 805469a: 4413 add r3, r2 805469c: 009b lsls r3, r3, #2 805469e: 440b add r3, r1 80546a0: 3308 adds r3, #8 80546a2: 687a ldr r2, [r7, #4] 80546a4: 601a str r2, [r3, #0] CurrentFont = fonts; 80546a6: 4a06 ldr r2, [pc, #24] ; (80546c0 ) 80546a8: 687b ldr r3, [r7, #4] 80546aa: 6013 str r3, [r2, #0] } 80546ac: bf00 nop 80546ae: 370c adds r7, #12 80546b0: 46bd mov sp, r7 80546b2: f85d 7b04 ldr.w r7, [sp], #4 80546b6: 4770 bx lr 80546b8: 20020078 .word 0x20020078 80546bc: 20021028 .word 0x20021028 80546c0: 20025d6c .word 0x20025d6c 080546c4 : * @brief Clears the hole LCD. * @param Color: Color of the background * @retval None */ void BSP_LCD_Clear(uint32_t Color) { 80546c4: b5f0 push {r4, r5, r6, r7, lr} 80546c6: b085 sub sp, #20 80546c8: af02 add r7, sp, #8 80546ca: 6078 str r0, [r7, #4] LL_FillBuffer(ActiveLayer, (uint32_t *)(hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress), BSP_LCD_GetXSize(), BSP_LCD_GetYSize(), 0, Color); 80546cc: 4b0f ldr r3, [pc, #60] ; (805470c ) 80546ce: 681c ldr r4, [r3, #0] 80546d0: 4b0e ldr r3, [pc, #56] ; (805470c ) 80546d2: 681b ldr r3, [r3, #0] 80546d4: 4a0e ldr r2, [pc, #56] ; (8054710 ) 80546d6: 2134 movs r1, #52 ; 0x34 80546d8: fb01 f303 mul.w r3, r1, r3 80546dc: 4413 add r3, r2 80546de: 335c adds r3, #92 ; 0x5c 80546e0: 681b ldr r3, [r3, #0] 80546e2: 461d mov r5, r3 80546e4: f7ff fee4 bl 80544b0 80546e8: 4606 mov r6, r0 80546ea: f7ff fef5 bl 80544d8 80546ee: 4602 mov r2, r0 80546f0: 687b ldr r3, [r7, #4] 80546f2: 9301 str r3, [sp, #4] 80546f4: 2300 movs r3, #0 80546f6: 9300 str r3, [sp, #0] 80546f8: 4613 mov r3, r2 80546fa: 4632 mov r2, r6 80546fc: 4629 mov r1, r5 80546fe: 4620 mov r0, r4 8054700: f000 fe2e bl 8055360 } 8054704: bf00 nop 8054706: 370c adds r7, #12 8054708: 46bd mov sp, r7 805470a: bdf0 pop {r4, r5, r6, r7, pc} 805470c: 20020078 .word 0x20020078 8054710: 20025d70 .word 0x20025d70 08054714 : * @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) { 8054714: b590 push {r4, r7, lr} 8054716: b083 sub sp, #12 8054718: af00 add r7, sp, #0 805471a: 4603 mov r3, r0 805471c: 80fb strh r3, [r7, #6] 805471e: 460b mov r3, r1 8054720: 80bb strh r3, [r7, #4] 8054722: 4613 mov r3, r2 8054724: 70fb strb r3, [r7, #3] DrawChar( Xpos, Ypos, &DrawProp[ActiveLayer].pFont->table[(Ascii - ' ') * DrawProp[ActiveLayer].pFont->Height * ((DrawProp[ActiveLayer].pFont->Width + 7) / 8)] ); 8054726: 4b1b ldr r3, [pc, #108] ; (8054794 ) 8054728: 681a ldr r2, [r3, #0] 805472a: 491b ldr r1, [pc, #108] ; (8054798 ) 805472c: 4613 mov r3, r2 805472e: 005b lsls r3, r3, #1 8054730: 4413 add r3, r2 8054732: 009b lsls r3, r3, #2 8054734: 440b add r3, r1 8054736: 3308 adds r3, #8 8054738: 681b ldr r3, [r3, #0] 805473a: 6819 ldr r1, [r3, #0] 805473c: 78fb ldrb r3, [r7, #3] 805473e: f1a3 0020 sub.w r0, r3, #32 8054742: 4b14 ldr r3, [pc, #80] ; (8054794 ) 8054744: 681a ldr r2, [r3, #0] 8054746: 4c14 ldr r4, [pc, #80] ; (8054798 ) 8054748: 4613 mov r3, r2 805474a: 005b lsls r3, r3, #1 805474c: 4413 add r3, r2 805474e: 009b lsls r3, r3, #2 8054750: 4423 add r3, r4 8054752: 3308 adds r3, #8 8054754: 681b ldr r3, [r3, #0] 8054756: 88db ldrh r3, [r3, #6] 8054758: fb03 f000 mul.w r0, r3, r0 805475c: 4b0d ldr r3, [pc, #52] ; (8054794 ) 805475e: 681a ldr r2, [r3, #0] 8054760: 4c0d ldr r4, [pc, #52] ; (8054798 ) 8054762: 4613 mov r3, r2 8054764: 005b lsls r3, r3, #1 8054766: 4413 add r3, r2 8054768: 009b lsls r3, r3, #2 805476a: 4423 add r3, r4 805476c: 3308 adds r3, #8 805476e: 681b ldr r3, [r3, #0] 8054770: 889b ldrh r3, [r3, #4] 8054772: 3307 adds r3, #7 8054774: 2b00 cmp r3, #0 8054776: da00 bge.n 805477a 8054778: 3307 adds r3, #7 805477a: 10db asrs r3, r3, #3 805477c: fb03 f300 mul.w r3, r3, r0 8054780: 18ca adds r2, r1, r3 8054782: 88b9 ldrh r1, [r7, #4] 8054784: 88fb ldrh r3, [r7, #6] 8054786: 4618 mov r0, r3 8054788: f000 fd32 bl 80551f0 } 805478c: bf00 nop 805478e: 370c adds r7, #12 8054790: 46bd mov sp, r7 8054792: bd90 pop {r4, r7, pc} 8054794: 20020078 .word 0x20020078 8054798: 20021028 .word 0x20021028 0805479c : * @arg RIGHT_MODE * @arg LEFT_MODE * @retval None */ void BSP_LCD_DisplayStringAt(uint16_t Xpos, uint16_t Ypos, char *Text, Text_AlignModeTypdef Mode) { 805479c: b5b0 push {r4, r5, r7, lr} 805479e: b088 sub sp, #32 80547a0: af00 add r7, sp, #0 80547a2: 60ba str r2, [r7, #8] 80547a4: 461a mov r2, r3 80547a6: 4603 mov r3, r0 80547a8: 81fb strh r3, [r7, #14] 80547aa: 460b mov r3, r1 80547ac: 81bb strh r3, [r7, #12] 80547ae: 4613 mov r3, r2 80547b0: 71fb strb r3, [r7, #7] uint16_t ref_column = 1, i = 0, ll = 0; 80547b2: 2301 movs r3, #1 80547b4: 83fb strh r3, [r7, #30] 80547b6: 2300 movs r3, #0 80547b8: 83bb strh r3, [r7, #28] 80547ba: 2300 movs r3, #0 80547bc: 827b strh r3, [r7, #18] uint32_t size = 0; 80547be: 2300 movs r3, #0 80547c0: 61bb str r3, [r7, #24] uint8_t *ptr; ptr = (uint8_t *) Text; 80547c2: 68bb ldr r3, [r7, #8] 80547c4: 617b str r3, [r7, #20] /* Get the text size */ while (*ptr++) size++ ; 80547c6: e002 b.n 80547ce 80547c8: 69bb ldr r3, [r7, #24] 80547ca: 3301 adds r3, #1 80547cc: 61bb str r3, [r7, #24] 80547ce: 697b ldr r3, [r7, #20] 80547d0: 1c5a adds r2, r3, #1 80547d2: 617a str r2, [r7, #20] 80547d4: 781b ldrb r3, [r3, #0] 80547d6: 2b00 cmp r3, #0 80547d8: d1f6 bne.n 80547c8 /* Characters number per line */ // xsize = (BSP_LCD_GetXSize() / DrawProp[ActiveLayer].pFont->Width); switch (Mode) 80547da: 79fb ldrb r3, [r7, #7] 80547dc: 2b02 cmp r3, #2 80547de: d01d beq.n 805481c 80547e0: 2b03 cmp r3, #3 80547e2: d018 beq.n 8054816 80547e4: 2b01 cmp r3, #1 80547e6: d12e bne.n 8054846 { case CENTER_MODE: { ll = DrawProp[ActiveLayer].pFont->Width * size; 80547e8: 4b44 ldr r3, [pc, #272] ; (80548fc ) 80547ea: 681a ldr r2, [r3, #0] 80547ec: 4944 ldr r1, [pc, #272] ; (8054900 ) 80547ee: 4613 mov r3, r2 80547f0: 005b lsls r3, r3, #1 80547f2: 4413 add r3, r2 80547f4: 009b lsls r3, r3, #2 80547f6: 440b add r3, r1 80547f8: 3308 adds r3, #8 80547fa: 681b ldr r3, [r3, #0] 80547fc: 889a ldrh r2, [r3, #4] 80547fe: 69bb ldr r3, [r7, #24] 8054800: b29b uxth r3, r3 8054802: fb12 f303 smulbb r3, r2, r3 8054806: 827b strh r3, [r7, #18] ref_column = Xpos - (ll >> 1); 8054808: 8a7b ldrh r3, [r7, #18] 805480a: 085b lsrs r3, r3, #1 805480c: b29b uxth r3, r3 805480e: 89fa ldrh r2, [r7, #14] 8054810: 1ad3 subs r3, r2, r3 8054812: 83fb strh r3, [r7, #30] //if((ref_column + ll > 319) || (ref_column > 319)) // ref_column = Xpos + ((xsize - size)* DrawProp[ActiveLayer].pFont->Width) / 2; break; 8054814: e01a b.n 805484c } case LEFT_MODE: { ref_column = Xpos; 8054816: 89fb ldrh r3, [r7, #14] 8054818: 83fb strh r3, [r7, #30] break; 805481a: e017 b.n 805484c } case RIGHT_MODE: { ll = DrawProp[ActiveLayer].pFont->Width * size; 805481c: 4b37 ldr r3, [pc, #220] ; (80548fc ) 805481e: 681a ldr r2, [r3, #0] 8054820: 4937 ldr r1, [pc, #220] ; (8054900 ) 8054822: 4613 mov r3, r2 8054824: 005b lsls r3, r3, #1 8054826: 4413 add r3, r2 8054828: 009b lsls r3, r3, #2 805482a: 440b add r3, r1 805482c: 3308 adds r3, #8 805482e: 681b ldr r3, [r3, #0] 8054830: 889a ldrh r2, [r3, #4] 8054832: 69bb ldr r3, [r7, #24] 8054834: b29b uxth r3, r3 8054836: fb12 f303 smulbb r3, r2, r3 805483a: 827b strh r3, [r7, #18] ref_column = Xpos - ll; 805483c: 89fa ldrh r2, [r7, #14] 805483e: 8a7b ldrh r3, [r7, #18] 8054840: 1ad3 subs r3, r2, r3 8054842: 83fb strh r3, [r7, #30] // ref_column = - Xpos + ((xsize - size)*DrawProp[ActiveLayer].pFont->Width); break; 8054844: e002 b.n 805484c } default: { ref_column = Xpos; 8054846: 89fb ldrh r3, [r7, #14] 8054848: 83fb strh r3, [r7, #30] break; 805484a: bf00 nop } } /* Check that the Start column is located in the screen */ if ((ref_column < 1) || (ref_column >= 0x8000)) 805484c: 8bfb ldrh r3, [r7, #30] 805484e: 2b00 cmp r3, #0 8054850: d003 beq.n 805485a 8054852: f9b7 301e ldrsh.w r3, [r7, #30] 8054856: 2b00 cmp r3, #0 8054858: da1d bge.n 8054896 { ref_column = 1; 805485a: 2301 movs r3, #1 805485c: 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)) 805485e: e01a b.n 8054896 { /* Display one character on LCD */ BSP_LCD_DisplayChar(ref_column, Ypos, *Text); 8054860: 68bb ldr r3, [r7, #8] 8054862: 781a ldrb r2, [r3, #0] 8054864: 89b9 ldrh r1, [r7, #12] 8054866: 8bfb ldrh r3, [r7, #30] 8054868: 4618 mov r0, r3 805486a: f7ff ff53 bl 8054714 /* Decrement the column position by 16 */ ref_column += DrawProp[ActiveLayer].pFont->Width; 805486e: 4b23 ldr r3, [pc, #140] ; (80548fc ) 8054870: 681a ldr r2, [r3, #0] 8054872: 4923 ldr r1, [pc, #140] ; (8054900 ) 8054874: 4613 mov r3, r2 8054876: 005b lsls r3, r3, #1 8054878: 4413 add r3, r2 805487a: 009b lsls r3, r3, #2 805487c: 440b add r3, r1 805487e: 3308 adds r3, #8 8054880: 681b ldr r3, [r3, #0] 8054882: 889a ldrh r2, [r3, #4] 8054884: 8bfb ldrh r3, [r7, #30] 8054886: 4413 add r3, r2 8054888: 83fb strh r3, [r7, #30] /* Point on the next character */ Text++; 805488a: 68bb ldr r3, [r7, #8] 805488c: 3301 adds r3, #1 805488e: 60bb str r3, [r7, #8] i++; 8054890: 8bbb ldrh r3, [r7, #28] 8054892: 3301 adds r3, #1 8054894: 83bb strh r3, [r7, #28] while ((*Text != 0) & (((BSP_LCD_GetXSize() - (i*DrawProp[ActiveLayer].pFont->Width)) & 0xFFFF) >= DrawProp[ActiveLayer].pFont->Width)) 8054896: 68bb ldr r3, [r7, #8] 8054898: 781b ldrb r3, [r3, #0] 805489a: 2b00 cmp r3, #0 805489c: bf14 ite ne 805489e: 2301 movne r3, #1 80548a0: 2300 moveq r3, #0 80548a2: b2dc uxtb r4, r3 80548a4: f7ff fe04 bl 80544b0 80548a8: 4605 mov r5, r0 80548aa: 8bb9 ldrh r1, [r7, #28] 80548ac: 4b13 ldr r3, [pc, #76] ; (80548fc ) 80548ae: 681a ldr r2, [r3, #0] 80548b0: 4813 ldr r0, [pc, #76] ; (8054900 ) 80548b2: 4613 mov r3, r2 80548b4: 005b lsls r3, r3, #1 80548b6: 4413 add r3, r2 80548b8: 009b lsls r3, r3, #2 80548ba: 4403 add r3, r0 80548bc: 3308 adds r3, #8 80548be: 681b ldr r3, [r3, #0] 80548c0: 889b ldrh r3, [r3, #4] 80548c2: fb03 f301 mul.w r3, r3, r1 80548c6: 1aeb subs r3, r5, r3 80548c8: b299 uxth r1, r3 80548ca: 4b0c ldr r3, [pc, #48] ; (80548fc ) 80548cc: 681a ldr r2, [r3, #0] 80548ce: 480c ldr r0, [pc, #48] ; (8054900 ) 80548d0: 4613 mov r3, r2 80548d2: 005b lsls r3, r3, #1 80548d4: 4413 add r3, r2 80548d6: 009b lsls r3, r3, #2 80548d8: 4403 add r3, r0 80548da: 3308 adds r3, #8 80548dc: 681b ldr r3, [r3, #0] 80548de: 889b ldrh r3, [r3, #4] 80548e0: 4299 cmp r1, r3 80548e2: bf2c ite cs 80548e4: 2301 movcs r3, #1 80548e6: 2300 movcc r3, #0 80548e8: b2db uxtb r3, r3 80548ea: 4023 ands r3, r4 80548ec: b2db uxtb r3, r3 80548ee: 2b00 cmp r3, #0 80548f0: d1b6 bne.n 8054860 } } 80548f2: bf00 nop 80548f4: 3720 adds r7, #32 80548f6: 46bd mov sp, r7 80548f8: bdb0 pop {r4, r5, r7, pc} 80548fa: bf00 nop 80548fc: 20020078 .word 0x20020078 8054900: 20021028 .word 0x20021028 08054904 : * @param Ypos: Y position * @param Length: Line length * @retval None */ void BSP_LCD_DrawHLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length) { 8054904: b5b0 push {r4, r5, r7, lr} 8054906: b086 sub sp, #24 8054908: af02 add r7, sp, #8 805490a: 4603 mov r3, r0 805490c: 80fb strh r3, [r7, #6] 805490e: 460b mov r3, r1 8054910: 80bb strh r3, [r7, #4] 8054912: 4613 mov r3, r2 8054914: 807b strh r3, [r7, #2] uint32_t Xaddress = 0; 8054916: 2300 movs r3, #0 8054918: 60fb str r3, [r7, #12] /* Get the line address */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 805491a: 4b26 ldr r3, [pc, #152] ; (80549b4 ) 805491c: 681b ldr r3, [r3, #0] 805491e: 4a26 ldr r2, [pc, #152] ; (80549b8 ) 8054920: 2134 movs r1, #52 ; 0x34 8054922: fb01 f303 mul.w r3, r1, r3 8054926: 4413 add r3, r2 8054928: 3348 adds r3, #72 ; 0x48 805492a: 681b ldr r3, [r3, #0] 805492c: 2b02 cmp r3, #2 805492e: d114 bne.n 805495a { /* RGB565 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 2*(BSP_LCD_GetXSize()*Ypos + Xpos); 8054930: 4b20 ldr r3, [pc, #128] ; (80549b4 ) 8054932: 681b ldr r3, [r3, #0] 8054934: 4a20 ldr r2, [pc, #128] ; (80549b8 ) 8054936: 2134 movs r1, #52 ; 0x34 8054938: fb01 f303 mul.w r3, r1, r3 805493c: 4413 add r3, r2 805493e: 335c adds r3, #92 ; 0x5c 8054940: 681c ldr r4, [r3, #0] 8054942: f7ff fdb5 bl 80544b0 8054946: 4602 mov r2, r0 8054948: 88bb ldrh r3, [r7, #4] 805494a: fb03 f202 mul.w r2, r3, r2 805494e: 88fb ldrh r3, [r7, #6] 8054950: 4413 add r3, r2 8054952: 005b lsls r3, r3, #1 8054954: 4423 add r3, r4 8054956: 60fb str r3, [r7, #12] 8054958: e013 b.n 8054982 } else { /* ARGB8888 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 4*(BSP_LCD_GetXSize()*Ypos + Xpos); 805495a: 4b16 ldr r3, [pc, #88] ; (80549b4 ) 805495c: 681b ldr r3, [r3, #0] 805495e: 4a16 ldr r2, [pc, #88] ; (80549b8 ) 8054960: 2134 movs r1, #52 ; 0x34 8054962: fb01 f303 mul.w r3, r1, r3 8054966: 4413 add r3, r2 8054968: 335c adds r3, #92 ; 0x5c 805496a: 681c ldr r4, [r3, #0] 805496c: f7ff fda0 bl 80544b0 8054970: 4602 mov r2, r0 8054972: 88bb ldrh r3, [r7, #4] 8054974: fb03 f202 mul.w r2, r3, r2 8054978: 88fb ldrh r3, [r7, #6] 805497a: 4413 add r3, r2 805497c: 009b lsls r3, r3, #2 805497e: 4423 add r3, r4 8054980: 60fb str r3, [r7, #12] } /* Write line */ LL_FillBuffer(ActiveLayer, (uint32_t *)Xaddress, Length, 1, 0, DrawProp[ActiveLayer].TextColor); 8054982: 4b0c ldr r3, [pc, #48] ; (80549b4 ) 8054984: 6818 ldr r0, [r3, #0] 8054986: 68fc ldr r4, [r7, #12] 8054988: 887d ldrh r5, [r7, #2] 805498a: 4b0a ldr r3, [pc, #40] ; (80549b4 ) 805498c: 681a ldr r2, [r3, #0] 805498e: 490b ldr r1, [pc, #44] ; (80549bc ) 8054990: 4613 mov r3, r2 8054992: 005b lsls r3, r3, #1 8054994: 4413 add r3, r2 8054996: 009b lsls r3, r3, #2 8054998: 440b add r3, r1 805499a: 681b ldr r3, [r3, #0] 805499c: 9301 str r3, [sp, #4] 805499e: 2300 movs r3, #0 80549a0: 9300 str r3, [sp, #0] 80549a2: 2301 movs r3, #1 80549a4: 462a mov r2, r5 80549a6: 4621 mov r1, r4 80549a8: f000 fcda bl 8055360 } 80549ac: bf00 nop 80549ae: 3710 adds r7, #16 80549b0: 46bd mov sp, r7 80549b2: bdb0 pop {r4, r5, r7, pc} 80549b4: 20020078 .word 0x20020078 80549b8: 20025d70 .word 0x20025d70 80549bc: 20021028 .word 0x20021028 080549c0 : * @param Ypos: Y position * @param Length: Line length * @retval None */ void BSP_LCD_DrawVLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length) { 80549c0: b5f0 push {r4, r5, r6, r7, lr} 80549c2: b087 sub sp, #28 80549c4: af02 add r7, sp, #8 80549c6: 4603 mov r3, r0 80549c8: 80fb strh r3, [r7, #6] 80549ca: 460b mov r3, r1 80549cc: 80bb strh r3, [r7, #4] 80549ce: 4613 mov r3, r2 80549d0: 807b strh r3, [r7, #2] uint32_t Xaddress = 0; 80549d2: 2300 movs r3, #0 80549d4: 60fb str r3, [r7, #12] /* Get the line address */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 80549d6: 4b28 ldr r3, [pc, #160] ; (8054a78 ) 80549d8: 681b ldr r3, [r3, #0] 80549da: 4a28 ldr r2, [pc, #160] ; (8054a7c ) 80549dc: 2134 movs r1, #52 ; 0x34 80549de: fb01 f303 mul.w r3, r1, r3 80549e2: 4413 add r3, r2 80549e4: 3348 adds r3, #72 ; 0x48 80549e6: 681b ldr r3, [r3, #0] 80549e8: 2b02 cmp r3, #2 80549ea: d114 bne.n 8054a16 { /* RGB565 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 2*(BSP_LCD_GetXSize()*Ypos + Xpos); 80549ec: 4b22 ldr r3, [pc, #136] ; (8054a78 ) 80549ee: 681b ldr r3, [r3, #0] 80549f0: 4a22 ldr r2, [pc, #136] ; (8054a7c ) 80549f2: 2134 movs r1, #52 ; 0x34 80549f4: fb01 f303 mul.w r3, r1, r3 80549f8: 4413 add r3, r2 80549fa: 335c adds r3, #92 ; 0x5c 80549fc: 681c ldr r4, [r3, #0] 80549fe: f7ff fd57 bl 80544b0 8054a02: 4602 mov r2, r0 8054a04: 88bb ldrh r3, [r7, #4] 8054a06: fb03 f202 mul.w r2, r3, r2 8054a0a: 88fb ldrh r3, [r7, #6] 8054a0c: 4413 add r3, r2 8054a0e: 005b lsls r3, r3, #1 8054a10: 4423 add r3, r4 8054a12: 60fb str r3, [r7, #12] 8054a14: e013 b.n 8054a3e } else { /* ARGB8888 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 4*(BSP_LCD_GetXSize()*Ypos + Xpos); 8054a16: 4b18 ldr r3, [pc, #96] ; (8054a78 ) 8054a18: 681b ldr r3, [r3, #0] 8054a1a: 4a18 ldr r2, [pc, #96] ; (8054a7c ) 8054a1c: 2134 movs r1, #52 ; 0x34 8054a1e: fb01 f303 mul.w r3, r1, r3 8054a22: 4413 add r3, r2 8054a24: 335c adds r3, #92 ; 0x5c 8054a26: 681c ldr r4, [r3, #0] 8054a28: f7ff fd42 bl 80544b0 8054a2c: 4602 mov r2, r0 8054a2e: 88bb ldrh r3, [r7, #4] 8054a30: fb03 f202 mul.w r2, r3, r2 8054a34: 88fb ldrh r3, [r7, #6] 8054a36: 4413 add r3, r2 8054a38: 009b lsls r3, r3, #2 8054a3a: 4423 add r3, r4 8054a3c: 60fb str r3, [r7, #12] } /* Write line */ LL_FillBuffer(ActiveLayer, (uint32_t *)Xaddress, 1, Length, (BSP_LCD_GetXSize() - 1), DrawProp[ActiveLayer].TextColor); 8054a3e: 4b0e ldr r3, [pc, #56] ; (8054a78 ) 8054a40: 681c ldr r4, [r3, #0] 8054a42: 68fd ldr r5, [r7, #12] 8054a44: 887e ldrh r6, [r7, #2] 8054a46: f7ff fd33 bl 80544b0 8054a4a: 4603 mov r3, r0 8054a4c: 1e59 subs r1, r3, #1 8054a4e: 4b0a ldr r3, [pc, #40] ; (8054a78 ) 8054a50: 681a ldr r2, [r3, #0] 8054a52: 480b ldr r0, [pc, #44] ; (8054a80 ) 8054a54: 4613 mov r3, r2 8054a56: 005b lsls r3, r3, #1 8054a58: 4413 add r3, r2 8054a5a: 009b lsls r3, r3, #2 8054a5c: 4403 add r3, r0 8054a5e: 681b ldr r3, [r3, #0] 8054a60: 9301 str r3, [sp, #4] 8054a62: 9100 str r1, [sp, #0] 8054a64: 4633 mov r3, r6 8054a66: 2201 movs r2, #1 8054a68: 4629 mov r1, r5 8054a6a: 4620 mov r0, r4 8054a6c: f000 fc78 bl 8055360 } 8054a70: bf00 nop 8054a72: 3714 adds r7, #20 8054a74: 46bd mov sp, r7 8054a76: bdf0 pop {r4, r5, r6, r7, pc} 8054a78: 20020078 .word 0x20020078 8054a7c: 20025d70 .word 0x20025d70 8054a80: 20021028 .word 0x20021028 08054a84 : * @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) { 8054a84: b590 push {r4, r7, lr} 8054a86: b08b sub sp, #44 ; 0x2c 8054a88: af00 add r7, sp, #0 8054a8a: 4604 mov r4, r0 8054a8c: 4608 mov r0, r1 8054a8e: 4611 mov r1, r2 8054a90: 461a mov r2, r3 8054a92: 4623 mov r3, r4 8054a94: 80fb strh r3, [r7, #6] 8054a96: 4603 mov r3, r0 8054a98: 80bb strh r3, [r7, #4] 8054a9a: 460b mov r3, r1 8054a9c: 807b strh r3, [r7, #2] 8054a9e: 4613 mov r3, r2 8054aa0: 803b strh r3, [r7, #0] int16_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0, 8054aa2: 2300 movs r3, #0 8054aa4: 823b strh r3, [r7, #16] 8054aa6: 2300 movs r3, #0 8054aa8: 81fb strh r3, [r7, #14] 8054aaa: 2300 movs r3, #0 8054aac: 84fb strh r3, [r7, #38] ; 0x26 8054aae: 2300 movs r3, #0 8054ab0: 84bb strh r3, [r7, #36] ; 0x24 8054ab2: 2300 movs r3, #0 8054ab4: 847b strh r3, [r7, #34] ; 0x22 8054ab6: 2300 movs r3, #0 8054ab8: 843b strh r3, [r7, #32] yinc1 = 0, yinc2 = 0, den = 0, num = 0, num_add = 0, num_pixels = 0, 8054aba: 2300 movs r3, #0 8054abc: 83fb strh r3, [r7, #30] 8054abe: 2300 movs r3, #0 8054ac0: 83bb strh r3, [r7, #28] 8054ac2: 2300 movs r3, #0 8054ac4: 837b strh r3, [r7, #26] 8054ac6: 2300 movs r3, #0 8054ac8: 833b strh r3, [r7, #24] 8054aca: 2300 movs r3, #0 8054acc: 82fb strh r3, [r7, #22] 8054ace: 2300 movs r3, #0 8054ad0: 82bb strh r3, [r7, #20] curpixel = 0; 8054ad2: 2300 movs r3, #0 8054ad4: 827b strh r3, [r7, #18] deltax = ABS(x2 - x1); /* The difference between the x's */ 8054ad6: 887a ldrh r2, [r7, #2] 8054ad8: 88fb ldrh r3, [r7, #6] 8054ada: 1ad3 subs r3, r2, r3 8054adc: 2b00 cmp r3, #0 8054ade: bfb8 it lt 8054ae0: 425b neglt r3, r3 8054ae2: 823b strh r3, [r7, #16] deltay = ABS(y2 - y1); /* The difference between the y's */ 8054ae4: 883a ldrh r2, [r7, #0] 8054ae6: 88bb ldrh r3, [r7, #4] 8054ae8: 1ad3 subs r3, r2, r3 8054aea: 2b00 cmp r3, #0 8054aec: bfb8 it lt 8054aee: 425b neglt r3, r3 8054af0: 81fb strh r3, [r7, #14] x = x1; /* Start x off at the first pixel */ 8054af2: 88fb ldrh r3, [r7, #6] 8054af4: 84fb strh r3, [r7, #38] ; 0x26 y = y1; /* Start y off at the first pixel */ 8054af6: 88bb ldrh r3, [r7, #4] 8054af8: 84bb strh r3, [r7, #36] ; 0x24 if (x2 >= x1) /* The x-values are increasing */ 8054afa: 887a ldrh r2, [r7, #2] 8054afc: 88fb ldrh r3, [r7, #6] 8054afe: 429a cmp r2, r3 8054b00: d304 bcc.n 8054b0c { xinc1 = 1; 8054b02: 2301 movs r3, #1 8054b04: 847b strh r3, [r7, #34] ; 0x22 xinc2 = 1; 8054b06: 2301 movs r3, #1 8054b08: 843b strh r3, [r7, #32] 8054b0a: e005 b.n 8054b18 } else /* The x-values are decreasing */ { xinc1 = -1; 8054b0c: f64f 73ff movw r3, #65535 ; 0xffff 8054b10: 847b strh r3, [r7, #34] ; 0x22 xinc2 = -1; 8054b12: f64f 73ff movw r3, #65535 ; 0xffff 8054b16: 843b strh r3, [r7, #32] } if (y2 >= y1) /* The y-values are increasing */ 8054b18: 883a ldrh r2, [r7, #0] 8054b1a: 88bb ldrh r3, [r7, #4] 8054b1c: 429a cmp r2, r3 8054b1e: d304 bcc.n 8054b2a { yinc1 = 1; 8054b20: 2301 movs r3, #1 8054b22: 83fb strh r3, [r7, #30] yinc2 = 1; 8054b24: 2301 movs r3, #1 8054b26: 83bb strh r3, [r7, #28] 8054b28: e005 b.n 8054b36 } else /* The y-values are decreasing */ { yinc1 = -1; 8054b2a: f64f 73ff movw r3, #65535 ; 0xffff 8054b2e: 83fb strh r3, [r7, #30] yinc2 = -1; 8054b30: f64f 73ff movw r3, #65535 ; 0xffff 8054b34: 83bb strh r3, [r7, #28] } if (deltax >= deltay) /* There is at least one x-value for every y-value */ 8054b36: f9b7 2010 ldrsh.w r2, [r7, #16] 8054b3a: f9b7 300e ldrsh.w r3, [r7, #14] 8054b3e: 429a cmp r2, r3 8054b40: db11 blt.n 8054b66 { xinc1 = 0; /* Don't change the x when numerator >= denominator */ 8054b42: 2300 movs r3, #0 8054b44: 847b strh r3, [r7, #34] ; 0x22 yinc2 = 0; /* Don't change the y for every iteration */ 8054b46: 2300 movs r3, #0 8054b48: 83bb strh r3, [r7, #28] den = deltax; 8054b4a: 8a3b ldrh r3, [r7, #16] 8054b4c: 837b strh r3, [r7, #26] num = deltax / 2; 8054b4e: f9b7 3010 ldrsh.w r3, [r7, #16] 8054b52: 2b00 cmp r3, #0 8054b54: da00 bge.n 8054b58 8054b56: 3301 adds r3, #1 8054b58: 105b asrs r3, r3, #1 8054b5a: 833b strh r3, [r7, #24] num_add = deltay; 8054b5c: 89fb ldrh r3, [r7, #14] 8054b5e: 82fb strh r3, [r7, #22] num_pixels = deltax; /* There are more x-values than y-values */ 8054b60: 8a3b ldrh r3, [r7, #16] 8054b62: 82bb strh r3, [r7, #20] 8054b64: e010 b.n 8054b88 } else /* There is at least one y-value for every x-value */ { xinc2 = 0; /* Don't change the x for every iteration */ 8054b66: 2300 movs r3, #0 8054b68: 843b strh r3, [r7, #32] yinc1 = 0; /* Don't change the y when numerator >= denominator */ 8054b6a: 2300 movs r3, #0 8054b6c: 83fb strh r3, [r7, #30] den = deltay; 8054b6e: 89fb ldrh r3, [r7, #14] 8054b70: 837b strh r3, [r7, #26] num = deltay / 2; 8054b72: f9b7 300e ldrsh.w r3, [r7, #14] 8054b76: 2b00 cmp r3, #0 8054b78: da00 bge.n 8054b7c 8054b7a: 3301 adds r3, #1 8054b7c: 105b asrs r3, r3, #1 8054b7e: 833b strh r3, [r7, #24] num_add = deltax; 8054b80: 8a3b ldrh r3, [r7, #16] 8054b82: 82fb strh r3, [r7, #22] num_pixels = deltay; /* There are more y-values than x-values */ 8054b84: 89fb ldrh r3, [r7, #14] 8054b86: 82bb strh r3, [r7, #20] } for (curpixel = 0; curpixel <= num_pixels; curpixel++) 8054b88: 2300 movs r3, #0 8054b8a: 827b strh r3, [r7, #18] 8054b8c: e038 b.n 8054c00 { BSP_LCD_DrawPixel(x, y, DrawProp[ActiveLayer].TextColor); /* Draw the current pixel */ 8054b8e: 8cf8 ldrh r0, [r7, #38] ; 0x26 8054b90: 8cbc ldrh r4, [r7, #36] ; 0x24 8054b92: 4b20 ldr r3, [pc, #128] ; (8054c14 ) 8054b94: 681a ldr r2, [r3, #0] 8054b96: 4920 ldr r1, [pc, #128] ; (8054c18 ) 8054b98: 4613 mov r3, r2 8054b9a: 005b lsls r3, r3, #1 8054b9c: 4413 add r3, r2 8054b9e: 009b lsls r3, r3, #2 8054ba0: 440b add r3, r1 8054ba2: 681b ldr r3, [r3, #0] 8054ba4: 461a mov r2, r3 8054ba6: 4621 mov r1, r4 8054ba8: f000 f95c bl 8054e64 num += num_add; /* Increase the numerator by the top of the fraction */ 8054bac: 8b3a ldrh r2, [r7, #24] 8054bae: 8afb ldrh r3, [r7, #22] 8054bb0: 4413 add r3, r2 8054bb2: b29b uxth r3, r3 8054bb4: 833b strh r3, [r7, #24] if (num >= den) /* Check if numerator >= denominator */ 8054bb6: f9b7 2018 ldrsh.w r2, [r7, #24] 8054bba: f9b7 301a ldrsh.w r3, [r7, #26] 8054bbe: 429a cmp r2, r3 8054bc0: db0e blt.n 8054be0 { num -= den; /* Calculate the new numerator value */ 8054bc2: 8b3a ldrh r2, [r7, #24] 8054bc4: 8b7b ldrh r3, [r7, #26] 8054bc6: 1ad3 subs r3, r2, r3 8054bc8: b29b uxth r3, r3 8054bca: 833b strh r3, [r7, #24] x += xinc1; /* Change the x as appropriate */ 8054bcc: 8cfa ldrh r2, [r7, #38] ; 0x26 8054bce: 8c7b ldrh r3, [r7, #34] ; 0x22 8054bd0: 4413 add r3, r2 8054bd2: b29b uxth r3, r3 8054bd4: 84fb strh r3, [r7, #38] ; 0x26 y += yinc1; /* Change the y as appropriate */ 8054bd6: 8cba ldrh r2, [r7, #36] ; 0x24 8054bd8: 8bfb ldrh r3, [r7, #30] 8054bda: 4413 add r3, r2 8054bdc: b29b uxth r3, r3 8054bde: 84bb strh r3, [r7, #36] ; 0x24 } x += xinc2; /* Change the x as appropriate */ 8054be0: 8cfa ldrh r2, [r7, #38] ; 0x26 8054be2: 8c3b ldrh r3, [r7, #32] 8054be4: 4413 add r3, r2 8054be6: b29b uxth r3, r3 8054be8: 84fb strh r3, [r7, #38] ; 0x26 y += yinc2; /* Change the y as appropriate */ 8054bea: 8cba ldrh r2, [r7, #36] ; 0x24 8054bec: 8bbb ldrh r3, [r7, #28] 8054bee: 4413 add r3, r2 8054bf0: b29b uxth r3, r3 8054bf2: 84bb strh r3, [r7, #36] ; 0x24 for (curpixel = 0; curpixel <= num_pixels; curpixel++) 8054bf4: f9b7 3012 ldrsh.w r3, [r7, #18] 8054bf8: b29b uxth r3, r3 8054bfa: 3301 adds r3, #1 8054bfc: b29b uxth r3, r3 8054bfe: 827b strh r3, [r7, #18] 8054c00: f9b7 2012 ldrsh.w r2, [r7, #18] 8054c04: f9b7 3014 ldrsh.w r3, [r7, #20] 8054c08: 429a cmp r2, r3 8054c0a: ddc0 ble.n 8054b8e } } 8054c0c: bf00 nop 8054c0e: 372c adds r7, #44 ; 0x2c 8054c10: 46bd mov sp, r7 8054c12: bd90 pop {r4, r7, pc} 8054c14: 20020078 .word 0x20020078 8054c18: 20021028 .word 0x20021028 08054c1c : * @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) { 8054c1c: b590 push {r4, r7, lr} 8054c1e: b083 sub sp, #12 8054c20: af00 add r7, sp, #0 8054c22: 4604 mov r4, r0 8054c24: 4608 mov r0, r1 8054c26: 4611 mov r1, r2 8054c28: 461a mov r2, r3 8054c2a: 4623 mov r3, r4 8054c2c: 80fb strh r3, [r7, #6] 8054c2e: 4603 mov r3, r0 8054c30: 80bb strh r3, [r7, #4] 8054c32: 460b mov r3, r1 8054c34: 807b strh r3, [r7, #2] 8054c36: 4613 mov r3, r2 8054c38: 803b strh r3, [r7, #0] BSP_LCD_DrawHLine(Xpos, Ypos, Width); 8054c3a: 887a ldrh r2, [r7, #2] 8054c3c: 88b9 ldrh r1, [r7, #4] 8054c3e: 88fb ldrh r3, [r7, #6] 8054c40: 4618 mov r0, r3 8054c42: f7ff fe5f bl 8054904 BSP_LCD_DrawVLine(Xpos, Ypos, Height); 8054c46: 883a ldrh r2, [r7, #0] 8054c48: 88b9 ldrh r1, [r7, #4] 8054c4a: 88fb ldrh r3, [r7, #6] 8054c4c: 4618 mov r0, r3 8054c4e: f7ff feb7 bl 80549c0 BSP_LCD_DrawHLine(Xpos, (Ypos + Height), Width); 8054c52: 88ba ldrh r2, [r7, #4] 8054c54: 883b ldrh r3, [r7, #0] 8054c56: 4413 add r3, r2 8054c58: b299 uxth r1, r3 8054c5a: 887a ldrh r2, [r7, #2] 8054c5c: 88fb ldrh r3, [r7, #6] 8054c5e: 4618 mov r0, r3 8054c60: f7ff fe50 bl 8054904 BSP_LCD_DrawVLine((Xpos + Width), Ypos, Height + 1); 8054c64: 88fa ldrh r2, [r7, #6] 8054c66: 887b ldrh r3, [r7, #2] 8054c68: 4413 add r3, r2 8054c6a: b298 uxth r0, r3 8054c6c: 883b ldrh r3, [r7, #0] 8054c6e: 3301 adds r3, #1 8054c70: b29a uxth r2, r3 8054c72: 88bb ldrh r3, [r7, #4] 8054c74: 4619 mov r1, r3 8054c76: f7ff fea3 bl 80549c0 } 8054c7a: bf00 nop 8054c7c: 370c adds r7, #12 8054c7e: 46bd mov sp, r7 8054c80: bd90 pop {r4, r7, pc} ... 08054c84 : * @param Ypos: Y position * @param Radius: Circle radius * @retval None */ void BSP_LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) { 8054c84: b590 push {r4, r7, lr} 8054c86: b087 sub sp, #28 8054c88: af00 add r7, sp, #0 8054c8a: 4603 mov r3, r0 8054c8c: 80fb strh r3, [r7, #6] 8054c8e: 460b mov r3, r1 8054c90: 80bb strh r3, [r7, #4] 8054c92: 4613 mov r3, r2 8054c94: 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); 8054c96: 887b ldrh r3, [r7, #2] 8054c98: 005b lsls r3, r3, #1 8054c9a: f1c3 0303 rsb r3, r3, #3 8054c9e: 617b str r3, [r7, #20] current_x = 0; 8054ca0: 2300 movs r3, #0 8054ca2: 613b str r3, [r7, #16] current_y = Radius; 8054ca4: 887b ldrh r3, [r7, #2] 8054ca6: 60fb str r3, [r7, #12] while (current_x <= current_y) 8054ca8: e0cf b.n 8054e4a { BSP_LCD_DrawPixel((Xpos + current_x), (Ypos - current_y), DrawProp[ActiveLayer].TextColor); 8054caa: 693b ldr r3, [r7, #16] 8054cac: b29a uxth r2, r3 8054cae: 88fb ldrh r3, [r7, #6] 8054cb0: 4413 add r3, r2 8054cb2: b298 uxth r0, r3 8054cb4: 68fb ldr r3, [r7, #12] 8054cb6: b29b uxth r3, r3 8054cb8: 88ba ldrh r2, [r7, #4] 8054cba: 1ad3 subs r3, r2, r3 8054cbc: b29c uxth r4, r3 8054cbe: 4b67 ldr r3, [pc, #412] ; (8054e5c ) 8054cc0: 681a ldr r2, [r3, #0] 8054cc2: 4967 ldr r1, [pc, #412] ; (8054e60 ) 8054cc4: 4613 mov r3, r2 8054cc6: 005b lsls r3, r3, #1 8054cc8: 4413 add r3, r2 8054cca: 009b lsls r3, r3, #2 8054ccc: 440b add r3, r1 8054cce: 681b ldr r3, [r3, #0] 8054cd0: 461a mov r2, r3 8054cd2: 4621 mov r1, r4 8054cd4: f000 f8c6 bl 8054e64 BSP_LCD_DrawPixel((Xpos - current_x), (Ypos - current_y), DrawProp[ActiveLayer].TextColor); 8054cd8: 693b ldr r3, [r7, #16] 8054cda: b29b uxth r3, r3 8054cdc: 88fa ldrh r2, [r7, #6] 8054cde: 1ad3 subs r3, r2, r3 8054ce0: b298 uxth r0, r3 8054ce2: 68fb ldr r3, [r7, #12] 8054ce4: b29b uxth r3, r3 8054ce6: 88ba ldrh r2, [r7, #4] 8054ce8: 1ad3 subs r3, r2, r3 8054cea: b29c uxth r4, r3 8054cec: 4b5b ldr r3, [pc, #364] ; (8054e5c ) 8054cee: 681a ldr r2, [r3, #0] 8054cf0: 495b ldr r1, [pc, #364] ; (8054e60 ) 8054cf2: 4613 mov r3, r2 8054cf4: 005b lsls r3, r3, #1 8054cf6: 4413 add r3, r2 8054cf8: 009b lsls r3, r3, #2 8054cfa: 440b add r3, r1 8054cfc: 681b ldr r3, [r3, #0] 8054cfe: 461a mov r2, r3 8054d00: 4621 mov r1, r4 8054d02: f000 f8af bl 8054e64 BSP_LCD_DrawPixel((Xpos + current_y), (Ypos - current_x), DrawProp[ActiveLayer].TextColor); 8054d06: 68fb ldr r3, [r7, #12] 8054d08: b29a uxth r2, r3 8054d0a: 88fb ldrh r3, [r7, #6] 8054d0c: 4413 add r3, r2 8054d0e: b298 uxth r0, r3 8054d10: 693b ldr r3, [r7, #16] 8054d12: b29b uxth r3, r3 8054d14: 88ba ldrh r2, [r7, #4] 8054d16: 1ad3 subs r3, r2, r3 8054d18: b29c uxth r4, r3 8054d1a: 4b50 ldr r3, [pc, #320] ; (8054e5c ) 8054d1c: 681a ldr r2, [r3, #0] 8054d1e: 4950 ldr r1, [pc, #320] ; (8054e60 ) 8054d20: 4613 mov r3, r2 8054d22: 005b lsls r3, r3, #1 8054d24: 4413 add r3, r2 8054d26: 009b lsls r3, r3, #2 8054d28: 440b add r3, r1 8054d2a: 681b ldr r3, [r3, #0] 8054d2c: 461a mov r2, r3 8054d2e: 4621 mov r1, r4 8054d30: f000 f898 bl 8054e64 BSP_LCD_DrawPixel((Xpos - current_y), (Ypos - current_x), DrawProp[ActiveLayer].TextColor); 8054d34: 68fb ldr r3, [r7, #12] 8054d36: b29b uxth r3, r3 8054d38: 88fa ldrh r2, [r7, #6] 8054d3a: 1ad3 subs r3, r2, r3 8054d3c: b298 uxth r0, r3 8054d3e: 693b ldr r3, [r7, #16] 8054d40: b29b uxth r3, r3 8054d42: 88ba ldrh r2, [r7, #4] 8054d44: 1ad3 subs r3, r2, r3 8054d46: b29c uxth r4, r3 8054d48: 4b44 ldr r3, [pc, #272] ; (8054e5c ) 8054d4a: 681a ldr r2, [r3, #0] 8054d4c: 4944 ldr r1, [pc, #272] ; (8054e60 ) 8054d4e: 4613 mov r3, r2 8054d50: 005b lsls r3, r3, #1 8054d52: 4413 add r3, r2 8054d54: 009b lsls r3, r3, #2 8054d56: 440b add r3, r1 8054d58: 681b ldr r3, [r3, #0] 8054d5a: 461a mov r2, r3 8054d5c: 4621 mov r1, r4 8054d5e: f000 f881 bl 8054e64 BSP_LCD_DrawPixel((Xpos + current_x), (Ypos + current_y), DrawProp[ActiveLayer].TextColor); 8054d62: 693b ldr r3, [r7, #16] 8054d64: b29a uxth r2, r3 8054d66: 88fb ldrh r3, [r7, #6] 8054d68: 4413 add r3, r2 8054d6a: b298 uxth r0, r3 8054d6c: 68fb ldr r3, [r7, #12] 8054d6e: b29a uxth r2, r3 8054d70: 88bb ldrh r3, [r7, #4] 8054d72: 4413 add r3, r2 8054d74: b29c uxth r4, r3 8054d76: 4b39 ldr r3, [pc, #228] ; (8054e5c ) 8054d78: 681a ldr r2, [r3, #0] 8054d7a: 4939 ldr r1, [pc, #228] ; (8054e60 ) 8054d7c: 4613 mov r3, r2 8054d7e: 005b lsls r3, r3, #1 8054d80: 4413 add r3, r2 8054d82: 009b lsls r3, r3, #2 8054d84: 440b add r3, r1 8054d86: 681b ldr r3, [r3, #0] 8054d88: 461a mov r2, r3 8054d8a: 4621 mov r1, r4 8054d8c: f000 f86a bl 8054e64 BSP_LCD_DrawPixel((Xpos - current_x), (Ypos + current_y), DrawProp[ActiveLayer].TextColor); 8054d90: 693b ldr r3, [r7, #16] 8054d92: b29b uxth r3, r3 8054d94: 88fa ldrh r2, [r7, #6] 8054d96: 1ad3 subs r3, r2, r3 8054d98: b298 uxth r0, r3 8054d9a: 68fb ldr r3, [r7, #12] 8054d9c: b29a uxth r2, r3 8054d9e: 88bb ldrh r3, [r7, #4] 8054da0: 4413 add r3, r2 8054da2: b29c uxth r4, r3 8054da4: 4b2d ldr r3, [pc, #180] ; (8054e5c ) 8054da6: 681a ldr r2, [r3, #0] 8054da8: 492d ldr r1, [pc, #180] ; (8054e60 ) 8054daa: 4613 mov r3, r2 8054dac: 005b lsls r3, r3, #1 8054dae: 4413 add r3, r2 8054db0: 009b lsls r3, r3, #2 8054db2: 440b add r3, r1 8054db4: 681b ldr r3, [r3, #0] 8054db6: 461a mov r2, r3 8054db8: 4621 mov r1, r4 8054dba: f000 f853 bl 8054e64 BSP_LCD_DrawPixel((Xpos + current_y), (Ypos + current_x), DrawProp[ActiveLayer].TextColor); 8054dbe: 68fb ldr r3, [r7, #12] 8054dc0: b29a uxth r2, r3 8054dc2: 88fb ldrh r3, [r7, #6] 8054dc4: 4413 add r3, r2 8054dc6: b298 uxth r0, r3 8054dc8: 693b ldr r3, [r7, #16] 8054dca: b29a uxth r2, r3 8054dcc: 88bb ldrh r3, [r7, #4] 8054dce: 4413 add r3, r2 8054dd0: b29c uxth r4, r3 8054dd2: 4b22 ldr r3, [pc, #136] ; (8054e5c ) 8054dd4: 681a ldr r2, [r3, #0] 8054dd6: 4922 ldr r1, [pc, #136] ; (8054e60 ) 8054dd8: 4613 mov r3, r2 8054dda: 005b lsls r3, r3, #1 8054ddc: 4413 add r3, r2 8054dde: 009b lsls r3, r3, #2 8054de0: 440b add r3, r1 8054de2: 681b ldr r3, [r3, #0] 8054de4: 461a mov r2, r3 8054de6: 4621 mov r1, r4 8054de8: f000 f83c bl 8054e64 BSP_LCD_DrawPixel((Xpos - current_y), (Ypos + current_x), DrawProp[ActiveLayer].TextColor); 8054dec: 68fb ldr r3, [r7, #12] 8054dee: b29b uxth r3, r3 8054df0: 88fa ldrh r2, [r7, #6] 8054df2: 1ad3 subs r3, r2, r3 8054df4: b298 uxth r0, r3 8054df6: 693b ldr r3, [r7, #16] 8054df8: b29a uxth r2, r3 8054dfa: 88bb ldrh r3, [r7, #4] 8054dfc: 4413 add r3, r2 8054dfe: b29c uxth r4, r3 8054e00: 4b16 ldr r3, [pc, #88] ; (8054e5c ) 8054e02: 681a ldr r2, [r3, #0] 8054e04: 4916 ldr r1, [pc, #88] ; (8054e60 ) 8054e06: 4613 mov r3, r2 8054e08: 005b lsls r3, r3, #1 8054e0a: 4413 add r3, r2 8054e0c: 009b lsls r3, r3, #2 8054e0e: 440b add r3, r1 8054e10: 681b ldr r3, [r3, #0] 8054e12: 461a mov r2, r3 8054e14: 4621 mov r1, r4 8054e16: f000 f825 bl 8054e64 if (decision < 0) 8054e1a: 697b ldr r3, [r7, #20] 8054e1c: 2b00 cmp r3, #0 8054e1e: da06 bge.n 8054e2e { decision += (current_x << 2) + 6; 8054e20: 693b ldr r3, [r7, #16] 8054e22: 009a lsls r2, r3, #2 8054e24: 697b ldr r3, [r7, #20] 8054e26: 4413 add r3, r2 8054e28: 3306 adds r3, #6 8054e2a: 617b str r3, [r7, #20] 8054e2c: e00a b.n 8054e44 } else { decision += ((current_x - current_y) << 2) + 10; 8054e2e: 693a ldr r2, [r7, #16] 8054e30: 68fb ldr r3, [r7, #12] 8054e32: 1ad3 subs r3, r2, r3 8054e34: 009a lsls r2, r3, #2 8054e36: 697b ldr r3, [r7, #20] 8054e38: 4413 add r3, r2 8054e3a: 330a adds r3, #10 8054e3c: 617b str r3, [r7, #20] current_y--; 8054e3e: 68fb ldr r3, [r7, #12] 8054e40: 3b01 subs r3, #1 8054e42: 60fb str r3, [r7, #12] } current_x++; 8054e44: 693b ldr r3, [r7, #16] 8054e46: 3301 adds r3, #1 8054e48: 613b str r3, [r7, #16] while (current_x <= current_y) 8054e4a: 693a ldr r2, [r7, #16] 8054e4c: 68fb ldr r3, [r7, #12] 8054e4e: 429a cmp r2, r3 8054e50: f67f af2b bls.w 8054caa } } 8054e54: bf00 nop 8054e56: 371c adds r7, #28 8054e58: 46bd mov sp, r7 8054e5a: bd90 pop {r4, r7, pc} 8054e5c: 20020078 .word 0x20020078 8054e60: 20021028 .word 0x20021028 08054e64 : * @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) { 8054e64: b5b0 push {r4, r5, r7, lr} 8054e66: b082 sub sp, #8 8054e68: af00 add r7, sp, #0 8054e6a: 4603 mov r3, r0 8054e6c: 603a str r2, [r7, #0] 8054e6e: 80fb strh r3, [r7, #6] 8054e70: 460b mov r3, r1 8054e72: 80bb strh r3, [r7, #4] /* Write data value to all SDRAM memory */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8054e74: 4b2a ldr r3, [pc, #168] ; (8054f20 ) 8054e76: 681b ldr r3, [r3, #0] 8054e78: 4a2a ldr r2, [pc, #168] ; (8054f24 ) 8054e7a: 2134 movs r1, #52 ; 0x34 8054e7c: fb01 f303 mul.w r3, r1, r3 8054e80: 4413 add r3, r2 8054e82: 3348 adds r3, #72 ; 0x48 8054e84: 681b ldr r3, [r3, #0] 8054e86: 2b02 cmp r3, #2 8054e88: d12f bne.n 8054eea { /* RGB565 format */ *(__IO uint16_t*) (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + (2*(Ypos*BSP_LCD_GetXSize() + Xpos))) = COLOR24TO16(RGB_Code); 8054e8a: 4b25 ldr r3, [pc, #148] ; (8054f20 ) 8054e8c: 681b ldr r3, [r3, #0] 8054e8e: 4a25 ldr r2, [pc, #148] ; (8054f24 ) 8054e90: 2134 movs r1, #52 ; 0x34 8054e92: fb01 f303 mul.w r3, r1, r3 8054e96: 4413 add r3, r2 8054e98: 335c adds r3, #92 ; 0x5c 8054e9a: 681c ldr r4, [r3, #0] 8054e9c: 88bd ldrh r5, [r7, #4] 8054e9e: f7ff fb07 bl 80544b0 8054ea2: 4603 mov r3, r0 8054ea4: fb03 f205 mul.w r2, r3, r5 8054ea8: 88fb ldrh r3, [r7, #6] 8054eaa: 4413 add r3, r2 8054eac: 005b lsls r3, r3, #1 8054eae: 4423 add r3, r4 8054eb0: 4619 mov r1, r3 8054eb2: 683b ldr r3, [r7, #0] 8054eb4: 0c1b lsrs r3, r3, #16 8054eb6: b29b uxth r3, r3 8054eb8: 021b lsls r3, r3, #8 8054eba: b29a uxth r2, r3 8054ebc: 4b1a ldr r3, [pc, #104] ; (8054f28 ) 8054ebe: 4013 ands r3, r2 8054ec0: b29a uxth r2, r3 8054ec2: 683b ldr r3, [r7, #0] 8054ec4: 0a1b lsrs r3, r3, #8 8054ec6: b29b uxth r3, r3 8054ec8: 00db lsls r3, r3, #3 8054eca: b29b uxth r3, r3 8054ecc: f403 63fc and.w r3, r3, #2016 ; 0x7e0 8054ed0: b29b uxth r3, r3 8054ed2: 4313 orrs r3, r2 8054ed4: b29a uxth r2, r3 8054ed6: 683b ldr r3, [r7, #0] 8054ed8: 08db lsrs r3, r3, #3 8054eda: b29b uxth r3, r3 8054edc: f003 031f and.w r3, r3, #31 8054ee0: b29b uxth r3, r3 8054ee2: 4313 orrs r3, r2 8054ee4: b29b uxth r3, r3 8054ee6: 800b strh r3, [r1, #0] } else { /* ARGB8888 format */ *(__IO uint32_t*) (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + (4*(Ypos*BSP_LCD_GetXSize() + Xpos))) = RGB_Code; } } 8054ee8: e015 b.n 8054f16 *(__IO uint32_t*) (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + (4*(Ypos*BSP_LCD_GetXSize() + Xpos))) = RGB_Code; 8054eea: 4b0d ldr r3, [pc, #52] ; (8054f20 ) 8054eec: 681b ldr r3, [r3, #0] 8054eee: 4a0d ldr r2, [pc, #52] ; (8054f24 ) 8054ef0: 2134 movs r1, #52 ; 0x34 8054ef2: fb01 f303 mul.w r3, r1, r3 8054ef6: 4413 add r3, r2 8054ef8: 335c adds r3, #92 ; 0x5c 8054efa: 681c ldr r4, [r3, #0] 8054efc: 88bd ldrh r5, [r7, #4] 8054efe: f7ff fad7 bl 80544b0 8054f02: 4603 mov r3, r0 8054f04: fb03 f205 mul.w r2, r3, r5 8054f08: 88fb ldrh r3, [r7, #6] 8054f0a: 4413 add r3, r2 8054f0c: 009b lsls r3, r3, #2 8054f0e: 4423 add r3, r4 8054f10: 461a mov r2, r3 8054f12: 683b ldr r3, [r7, #0] 8054f14: 6013 str r3, [r2, #0] } 8054f16: bf00 nop 8054f18: 3708 adds r7, #8 8054f1a: 46bd mov sp, r7 8054f1c: bdb0 pop {r4, r5, r7, pc} 8054f1e: bf00 nop 8054f20: 20020078 .word 0x20020078 8054f24: 20025d70 .word 0x20025d70 8054f28: fffff800 .word 0xfffff800 08054f2c : * @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) { 8054f2c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 8054f30: b086 sub sp, #24 8054f32: af02 add r7, sp, #8 8054f34: 4604 mov r4, r0 8054f36: 4608 mov r0, r1 8054f38: 4611 mov r1, r2 8054f3a: 461a mov r2, r3 8054f3c: 4623 mov r3, r4 8054f3e: 80fb strh r3, [r7, #6] 8054f40: 4603 mov r3, r0 8054f42: 80bb strh r3, [r7, #4] 8054f44: 460b mov r3, r1 8054f46: 807b strh r3, [r7, #2] 8054f48: 4613 mov r3, r2 8054f4a: 803b strh r3, [r7, #0] uint32_t x_address = 0; 8054f4c: 2300 movs r3, #0 8054f4e: 60fb str r3, [r7, #12] /* Set the text color */ BSP_LCD_SetTextColor(DrawProp[ActiveLayer].TextColor); 8054f50: 4b30 ldr r3, [pc, #192] ; (8055014 ) 8054f52: 681a ldr r2, [r3, #0] 8054f54: 4930 ldr r1, [pc, #192] ; (8055018 ) 8054f56: 4613 mov r3, r2 8054f58: 005b lsls r3, r3, #1 8054f5a: 4413 add r3, r2 8054f5c: 009b lsls r3, r3, #2 8054f5e: 440b add r3, r1 8054f60: 681b ldr r3, [r3, #0] 8054f62: 4618 mov r0, r3 8054f64: f7ff fb78 bl 8054658 /* Get the rectangle start address */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8054f68: 4b2a ldr r3, [pc, #168] ; (8055014 ) 8054f6a: 681b ldr r3, [r3, #0] 8054f6c: 4a2b ldr r2, [pc, #172] ; (805501c ) 8054f6e: 2134 movs r1, #52 ; 0x34 8054f70: fb01 f303 mul.w r3, r1, r3 8054f74: 4413 add r3, r2 8054f76: 3348 adds r3, #72 ; 0x48 8054f78: 681b ldr r3, [r3, #0] 8054f7a: 2b02 cmp r3, #2 8054f7c: d114 bne.n 8054fa8 { /* RGB565 format */ x_address = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 2*(BSP_LCD_GetXSize()*Ypos + Xpos); 8054f7e: 4b25 ldr r3, [pc, #148] ; (8055014 ) 8054f80: 681b ldr r3, [r3, #0] 8054f82: 4a26 ldr r2, [pc, #152] ; (805501c ) 8054f84: 2134 movs r1, #52 ; 0x34 8054f86: fb01 f303 mul.w r3, r1, r3 8054f8a: 4413 add r3, r2 8054f8c: 335c adds r3, #92 ; 0x5c 8054f8e: 681c ldr r4, [r3, #0] 8054f90: f7ff fa8e bl 80544b0 8054f94: 4602 mov r2, r0 8054f96: 88bb ldrh r3, [r7, #4] 8054f98: fb03 f202 mul.w r2, r3, r2 8054f9c: 88fb ldrh r3, [r7, #6] 8054f9e: 4413 add r3, r2 8054fa0: 005b lsls r3, r3, #1 8054fa2: 4423 add r3, r4 8054fa4: 60fb str r3, [r7, #12] 8054fa6: e013 b.n 8054fd0 } else { /* ARGB8888 format */ x_address = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 4*(BSP_LCD_GetXSize()*Ypos + Xpos); 8054fa8: 4b1a ldr r3, [pc, #104] ; (8055014 ) 8054faa: 681b ldr r3, [r3, #0] 8054fac: 4a1b ldr r2, [pc, #108] ; (805501c ) 8054fae: 2134 movs r1, #52 ; 0x34 8054fb0: fb01 f303 mul.w r3, r1, r3 8054fb4: 4413 add r3, r2 8054fb6: 335c adds r3, #92 ; 0x5c 8054fb8: 681c ldr r4, [r3, #0] 8054fba: f7ff fa79 bl 80544b0 8054fbe: 4602 mov r2, r0 8054fc0: 88bb ldrh r3, [r7, #4] 8054fc2: fb03 f202 mul.w r2, r3, r2 8054fc6: 88fb ldrh r3, [r7, #6] 8054fc8: 4413 add r3, r2 8054fca: 009b lsls r3, r3, #2 8054fcc: 4423 add r3, r4 8054fce: 60fb str r3, [r7, #12] } /* Fill the rectangle */ LL_FillBuffer(ActiveLayer, (uint32_t *)x_address, Width, Height, (BSP_LCD_GetXSize() - Width), DrawProp[ActiveLayer].TextColor); 8054fd0: 4b10 ldr r3, [pc, #64] ; (8055014 ) 8054fd2: 681c ldr r4, [r3, #0] 8054fd4: 68fd ldr r5, [r7, #12] 8054fd6: 887e ldrh r6, [r7, #2] 8054fd8: f8b7 8000 ldrh.w r8, [r7] 8054fdc: f7ff fa68 bl 80544b0 8054fe0: 4602 mov r2, r0 8054fe2: 887b ldrh r3, [r7, #2] 8054fe4: 1ad1 subs r1, r2, r3 8054fe6: 4b0b ldr r3, [pc, #44] ; (8055014 ) 8054fe8: 681a ldr r2, [r3, #0] 8054fea: 480b ldr r0, [pc, #44] ; (8055018 ) 8054fec: 4613 mov r3, r2 8054fee: 005b lsls r3, r3, #1 8054ff0: 4413 add r3, r2 8054ff2: 009b lsls r3, r3, #2 8054ff4: 4403 add r3, r0 8054ff6: 681b ldr r3, [r3, #0] 8054ff8: 9301 str r3, [sp, #4] 8054ffa: 9100 str r1, [sp, #0] 8054ffc: 4643 mov r3, r8 8054ffe: 4632 mov r2, r6 8055000: 4629 mov r1, r5 8055002: 4620 mov r0, r4 8055004: f000 f9ac bl 8055360 } 8055008: bf00 nop 805500a: 3710 adds r7, #16 805500c: 46bd mov sp, r7 805500e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 8055012: bf00 nop 8055014: 20020078 .word 0x20020078 8055018: 20021028 .word 0x20021028 805501c: 20025d70 .word 0x20025d70 08055020 : * @param Ypos: Y position * @param Radius: Circle radius * @retval None */ void BSP_LCD_FillCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) { 8055020: b580 push {r7, lr} 8055022: b086 sub sp, #24 8055024: af00 add r7, sp, #0 8055026: 4603 mov r3, r0 8055028: 80fb strh r3, [r7, #6] 805502a: 460b mov r3, r1 805502c: 80bb strh r3, [r7, #4] 805502e: 4613 mov r3, r2 8055030: 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); 8055032: 887b ldrh r3, [r7, #2] 8055034: 005b lsls r3, r3, #1 8055036: f1c3 0303 rsb r3, r3, #3 805503a: 617b str r3, [r7, #20] current_x = 0; 805503c: 2300 movs r3, #0 805503e: 613b str r3, [r7, #16] current_y = Radius; 8055040: 887b ldrh r3, [r7, #2] 8055042: 60fb str r3, [r7, #12] BSP_LCD_SetTextColor(DrawProp[ActiveLayer].TextColor); 8055044: 4b44 ldr r3, [pc, #272] ; (8055158 ) 8055046: 681a ldr r2, [r3, #0] 8055048: 4944 ldr r1, [pc, #272] ; (805515c ) 805504a: 4613 mov r3, r2 805504c: 005b lsls r3, r3, #1 805504e: 4413 add r3, r2 8055050: 009b lsls r3, r3, #2 8055052: 440b add r3, r1 8055054: 681b ldr r3, [r3, #0] 8055056: 4618 mov r0, r3 8055058: f7ff fafe bl 8054658 while (current_x <= current_y) 805505c: e061 b.n 8055122 { if(current_y > 0) 805505e: 68fb ldr r3, [r7, #12] 8055060: 2b00 cmp r3, #0 8055062: d021 beq.n 80550a8 { BSP_LCD_DrawHLine(Xpos - current_y, Ypos + current_x, 2*current_y); 8055064: 68fb ldr r3, [r7, #12] 8055066: b29b uxth r3, r3 8055068: 88fa ldrh r2, [r7, #6] 805506a: 1ad3 subs r3, r2, r3 805506c: b298 uxth r0, r3 805506e: 693b ldr r3, [r7, #16] 8055070: b29a uxth r2, r3 8055072: 88bb ldrh r3, [r7, #4] 8055074: 4413 add r3, r2 8055076: b299 uxth r1, r3 8055078: 68fb ldr r3, [r7, #12] 805507a: b29b uxth r3, r3 805507c: 005b lsls r3, r3, #1 805507e: b29b uxth r3, r3 8055080: 461a mov r2, r3 8055082: f7ff fc3f bl 8054904 BSP_LCD_DrawHLine(Xpos - current_y, Ypos - current_x, 2*current_y); 8055086: 68fb ldr r3, [r7, #12] 8055088: b29b uxth r3, r3 805508a: 88fa ldrh r2, [r7, #6] 805508c: 1ad3 subs r3, r2, r3 805508e: b298 uxth r0, r3 8055090: 693b ldr r3, [r7, #16] 8055092: b29b uxth r3, r3 8055094: 88ba ldrh r2, [r7, #4] 8055096: 1ad3 subs r3, r2, r3 8055098: b299 uxth r1, r3 805509a: 68fb ldr r3, [r7, #12] 805509c: b29b uxth r3, r3 805509e: 005b lsls r3, r3, #1 80550a0: b29b uxth r3, r3 80550a2: 461a mov r2, r3 80550a4: f7ff fc2e bl 8054904 } if(current_x > 0) 80550a8: 693b ldr r3, [r7, #16] 80550aa: 2b00 cmp r3, #0 80550ac: d021 beq.n 80550f2 { BSP_LCD_DrawHLine(Xpos - current_x, Ypos - current_y, 2*current_x); 80550ae: 693b ldr r3, [r7, #16] 80550b0: b29b uxth r3, r3 80550b2: 88fa ldrh r2, [r7, #6] 80550b4: 1ad3 subs r3, r2, r3 80550b6: b298 uxth r0, r3 80550b8: 68fb ldr r3, [r7, #12] 80550ba: b29b uxth r3, r3 80550bc: 88ba ldrh r2, [r7, #4] 80550be: 1ad3 subs r3, r2, r3 80550c0: b299 uxth r1, r3 80550c2: 693b ldr r3, [r7, #16] 80550c4: b29b uxth r3, r3 80550c6: 005b lsls r3, r3, #1 80550c8: b29b uxth r3, r3 80550ca: 461a mov r2, r3 80550cc: f7ff fc1a bl 8054904 BSP_LCD_DrawHLine(Xpos - current_x, Ypos + current_y, 2*current_x); 80550d0: 693b ldr r3, [r7, #16] 80550d2: b29b uxth r3, r3 80550d4: 88fa ldrh r2, [r7, #6] 80550d6: 1ad3 subs r3, r2, r3 80550d8: b298 uxth r0, r3 80550da: 68fb ldr r3, [r7, #12] 80550dc: b29a uxth r2, r3 80550de: 88bb ldrh r3, [r7, #4] 80550e0: 4413 add r3, r2 80550e2: b299 uxth r1, r3 80550e4: 693b ldr r3, [r7, #16] 80550e6: b29b uxth r3, r3 80550e8: 005b lsls r3, r3, #1 80550ea: b29b uxth r3, r3 80550ec: 461a mov r2, r3 80550ee: f7ff fc09 bl 8054904 } if (decision < 0) 80550f2: 697b ldr r3, [r7, #20] 80550f4: 2b00 cmp r3, #0 80550f6: da06 bge.n 8055106 { decision += (current_x << 2) + 6; 80550f8: 693b ldr r3, [r7, #16] 80550fa: 009a lsls r2, r3, #2 80550fc: 697b ldr r3, [r7, #20] 80550fe: 4413 add r3, r2 8055100: 3306 adds r3, #6 8055102: 617b str r3, [r7, #20] 8055104: e00a b.n 805511c } else { decision += ((current_x - current_y) << 2) + 10; 8055106: 693a ldr r2, [r7, #16] 8055108: 68fb ldr r3, [r7, #12] 805510a: 1ad3 subs r3, r2, r3 805510c: 009a lsls r2, r3, #2 805510e: 697b ldr r3, [r7, #20] 8055110: 4413 add r3, r2 8055112: 330a adds r3, #10 8055114: 617b str r3, [r7, #20] current_y--; 8055116: 68fb ldr r3, [r7, #12] 8055118: 3b01 subs r3, #1 805511a: 60fb str r3, [r7, #12] } current_x++; 805511c: 693b ldr r3, [r7, #16] 805511e: 3301 adds r3, #1 8055120: 613b str r3, [r7, #16] while (current_x <= current_y) 8055122: 693a ldr r2, [r7, #16] 8055124: 68fb ldr r3, [r7, #12] 8055126: 429a cmp r2, r3 8055128: d999 bls.n 805505e } BSP_LCD_SetTextColor(DrawProp[ActiveLayer].TextColor); 805512a: 4b0b ldr r3, [pc, #44] ; (8055158 ) 805512c: 681a ldr r2, [r3, #0] 805512e: 490b ldr r1, [pc, #44] ; (805515c ) 8055130: 4613 mov r3, r2 8055132: 005b lsls r3, r3, #1 8055134: 4413 add r3, r2 8055136: 009b lsls r3, r3, #2 8055138: 440b add r3, r1 805513a: 681b ldr r3, [r3, #0] 805513c: 4618 mov r0, r3 805513e: f7ff fa8b bl 8054658 BSP_LCD_DrawCircle(Xpos, Ypos, Radius); 8055142: 887a ldrh r2, [r7, #2] 8055144: 88b9 ldrh r1, [r7, #4] 8055146: 88fb ldrh r3, [r7, #6] 8055148: 4618 mov r0, r3 805514a: f7ff fd9b bl 8054c84 } 805514e: bf00 nop 8055150: 3718 adds r7, #24 8055152: 46bd mov sp, r7 8055154: bd80 pop {r7, pc} 8055156: bf00 nop 8055158: 20020078 .word 0x20020078 805515c: 20021028 .word 0x20021028 08055160 : while (y <= 0); } void LCD_DisplayString(uint16_t X, uint16_t Line, char *ptr) { 8055160: b580 push {r7, lr} 8055162: b082 sub sp, #8 8055164: af00 add r7, sp, #0 8055166: 4603 mov r3, r0 8055168: 603a str r2, [r7, #0] 805516a: 80fb strh r3, [r7, #6] 805516c: 460b mov r3, r1 805516e: 80bb strh r3, [r7, #4] BSP_LCD_SetFont(&Font15); 8055170: 4806 ldr r0, [pc, #24] ; (805518c ) 8055172: f7ff fa89 bl 8054688 BSP_LCD_DisplayStringAt(X, Line, ptr, LEFT_MODE); 8055176: 88b9 ldrh r1, [r7, #4] 8055178: 88f8 ldrh r0, [r7, #6] 805517a: 2303 movs r3, #3 805517c: 683a ldr r2, [r7, #0] 805517e: f7ff fb0d bl 805479c { LCD_DisplayChar(Line, refcolumn, *ptr); refcolumn -= 12; ptr++; }*/ } 8055182: bf00 nop 8055184: 3708 adds r7, #8 8055186: 46bd mov sp, r7 8055188: bd80 pop {r7, pc} 805518a: bf00 nop 805518c: 20020040 .word 0x20020040 08055190 : void LCD_DisplayStringC(uint16_t X, uint16_t Y, char *ptr) { 8055190: b580 push {r7, lr} 8055192: b082 sub sp, #8 8055194: af00 add r7, sp, #0 8055196: 4603 mov r3, r0 8055198: 603a str r2, [r7, #0] 805519a: 80fb strh r3, [r7, #6] 805519c: 460b mov r3, r1 805519e: 80bb strh r3, [r7, #4] BSP_LCD_SetFont(&Font15); 80551a0: 4806 ldr r0, [pc, #24] ; (80551bc ) 80551a2: f7ff fa71 bl 8054688 BSP_LCD_DisplayStringAt(X, Y, ptr, CENTER_MODE); 80551a6: 88b9 ldrh r1, [r7, #4] 80551a8: 88f8 ldrh r0, [r7, #6] 80551aa: 2301 movs r3, #1 80551ac: 683a ldr r2, [r7, #0] 80551ae: f7ff faf5 bl 805479c { LCD_DisplayChar(Y, refcolumn, *ptr); refcolumn -= 12; ptr++; }*/ } 80551b2: bf00 nop 80551b4: 3708 adds r7, #8 80551b6: 46bd mov sp, r7 80551b8: bd80 pop {r7, pc} 80551ba: bf00 nop 80551bc: 20020040 .word 0x20020040 080551c0 : void LCD_DisplayStringR(uint16_t X, uint16_t Y, char *ptr) { 80551c0: b580 push {r7, lr} 80551c2: b082 sub sp, #8 80551c4: af00 add r7, sp, #0 80551c6: 4603 mov r3, r0 80551c8: 603a str r2, [r7, #0] 80551ca: 80fb strh r3, [r7, #6] 80551cc: 460b mov r3, r1 80551ce: 80bb strh r3, [r7, #4] BSP_LCD_SetFont(&Font15); 80551d0: 4806 ldr r0, [pc, #24] ; (80551ec ) 80551d2: f7ff fa59 bl 8054688 BSP_LCD_DisplayStringAt(X, Y, ptr, RIGHT_MODE); 80551d6: 88b9 ldrh r1, [r7, #4] 80551d8: 88f8 ldrh r0, [r7, #6] 80551da: 2302 movs r3, #2 80551dc: 683a ldr r2, [r7, #0] 80551de: f7ff fadd bl 805479c { LCD_DisplayChar(Y, refcolumn, *ptr); refcolumn -= 12; ptr++; }*/ } 80551e2: bf00 nop 80551e4: 3708 adds r7, #8 80551e6: 46bd mov sp, r7 80551e8: bd80 pop {r7, pc} 80551ea: bf00 nop 80551ec: 20020040 .word 0x20020040 080551f0 : * @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) { 80551f0: b580 push {r7, lr} 80551f2: b088 sub sp, #32 80551f4: af00 add r7, sp, #0 80551f6: 4603 mov r3, r0 80551f8: 603a str r2, [r7, #0] 80551fa: 80fb strh r3, [r7, #6] 80551fc: 460b mov r3, r1 80551fe: 80bb strh r3, [r7, #4] uint32_t i = 0, j = 0; 8055200: 2300 movs r3, #0 8055202: 61fb str r3, [r7, #28] 8055204: 2300 movs r3, #0 8055206: 61bb str r3, [r7, #24] uint8_t offset; uint8_t *pchar; uint32_t line; //uint16_t b; height = DrawProp[ActiveLayer].pFont->Height; 8055208: 4b53 ldr r3, [pc, #332] ; (8055358 ) 805520a: 681a ldr r2, [r3, #0] 805520c: 4953 ldr r1, [pc, #332] ; (805535c ) 805520e: 4613 mov r3, r2 8055210: 005b lsls r3, r3, #1 8055212: 4413 add r3, r2 8055214: 009b lsls r3, r3, #2 8055216: 440b add r3, r1 8055218: 3308 adds r3, #8 805521a: 681b ldr r3, [r3, #0] 805521c: 88db ldrh r3, [r3, #6] 805521e: 827b strh r3, [r7, #18] width = DrawProp[ActiveLayer].pFont->Width; 8055220: 4b4d ldr r3, [pc, #308] ; (8055358 ) 8055222: 681a ldr r2, [r3, #0] 8055224: 494d ldr r1, [pc, #308] ; (805535c ) 8055226: 4613 mov r3, r2 8055228: 005b lsls r3, r3, #1 805522a: 4413 add r3, r2 805522c: 009b lsls r3, r3, #2 805522e: 440b add r3, r1 8055230: 3308 adds r3, #8 8055232: 681b ldr r3, [r3, #0] 8055234: 889b ldrh r3, [r3, #4] 8055236: 823b strh r3, [r7, #16] offset = 8 *((width + 7)/8) - width ; 8055238: 8a3b ldrh r3, [r7, #16] 805523a: 3307 adds r3, #7 805523c: 2b00 cmp r3, #0 805523e: da00 bge.n 8055242 8055240: 3307 adds r3, #7 8055242: 10db asrs r3, r3, #3 8055244: b2db uxtb r3, r3 8055246: 00db lsls r3, r3, #3 8055248: b2da uxtb r2, r3 805524a: 8a3b ldrh r3, [r7, #16] 805524c: b2db uxtb r3, r3 805524e: 1ad3 subs r3, r2, r3 8055250: 73fb strb r3, [r7, #15] for(i = 0; i < height; i++) 8055252: 2300 movs r3, #0 8055254: 61fb str r3, [r7, #28] 8055256: e076 b.n 8055346 { pchar = ((uint8_t *)c + (width + 7)/8 * i); 8055258: 8a3b ldrh r3, [r7, #16] 805525a: 3307 adds r3, #7 805525c: 2b00 cmp r3, #0 805525e: da00 bge.n 8055262 8055260: 3307 adds r3, #7 8055262: 10db asrs r3, r3, #3 8055264: 461a mov r2, r3 8055266: 69fb ldr r3, [r7, #28] 8055268: fb03 f302 mul.w r3, r3, r2 805526c: 683a ldr r2, [r7, #0] 805526e: 4413 add r3, r2 8055270: 60bb str r3, [r7, #8] switch(((width + 7)/8)) 8055272: 8a3b ldrh r3, [r7, #16] 8055274: 3307 adds r3, #7 8055276: 2b00 cmp r3, #0 8055278: da00 bge.n 805527c 805527a: 3307 adds r3, #7 805527c: 10db asrs r3, r3, #3 805527e: 2b01 cmp r3, #1 8055280: d002 beq.n 8055288 8055282: 2b02 cmp r3, #2 8055284: d004 beq.n 8055290 8055286: e00c b.n 80552a2 { case 1: line = pchar[0]; 8055288: 68bb ldr r3, [r7, #8] 805528a: 781b ldrb r3, [r3, #0] 805528c: 617b str r3, [r7, #20] break; 805528e: e016 b.n 80552be case 2: line = (pchar[0]<< 8) | pchar[1]; 8055290: 68bb ldr r3, [r7, #8] 8055292: 781b ldrb r3, [r3, #0] 8055294: 021b lsls r3, r3, #8 8055296: 68ba ldr r2, [r7, #8] 8055298: 3201 adds r2, #1 805529a: 7812 ldrb r2, [r2, #0] 805529c: 4313 orrs r3, r2 805529e: 617b str r3, [r7, #20] break; 80552a0: e00d b.n 80552be case 3: default: line = (pchar[0]<< 16) | (pchar[1]<< 8) | pchar[2]; 80552a2: 68bb ldr r3, [r7, #8] 80552a4: 781b ldrb r3, [r3, #0] 80552a6: 041a lsls r2, r3, #16 80552a8: 68bb ldr r3, [r7, #8] 80552aa: 3301 adds r3, #1 80552ac: 781b ldrb r3, [r3, #0] 80552ae: 021b lsls r3, r3, #8 80552b0: 4313 orrs r3, r2 80552b2: 68ba ldr r2, [r7, #8] 80552b4: 3202 adds r2, #2 80552b6: 7812 ldrb r2, [r2, #0] 80552b8: 4313 orrs r3, r2 80552ba: 617b str r3, [r7, #20] break; 80552bc: bf00 nop } for (j = 0; j < width; j++) 80552be: 2300 movs r3, #0 80552c0: 61bb str r3, [r7, #24] 80552c2: e036 b.n 8055332 { if(line & (1 << (width- j + offset- 1))) 80552c4: 8a3a ldrh r2, [r7, #16] 80552c6: 69bb ldr r3, [r7, #24] 80552c8: 1ad2 subs r2, r2, r3 80552ca: 7bfb ldrb r3, [r7, #15] 80552cc: 4413 add r3, r2 80552ce: 3b01 subs r3, #1 80552d0: 2201 movs r2, #1 80552d2: fa02 f303 lsl.w r3, r2, r3 80552d6: 461a mov r2, r3 80552d8: 697b ldr r3, [r7, #20] 80552da: 4013 ands r3, r2 80552dc: 2b00 cmp r3, #0 80552de: d012 beq.n 8055306 { BSP_LCD_DrawPixel((Xpos + j), Ypos, DrawProp[ActiveLayer].TextColor); 80552e0: 69bb ldr r3, [r7, #24] 80552e2: b29a uxth r2, r3 80552e4: 88fb ldrh r3, [r7, #6] 80552e6: 4413 add r3, r2 80552e8: b298 uxth r0, r3 80552ea: 4b1b ldr r3, [pc, #108] ; (8055358 ) 80552ec: 681a ldr r2, [r3, #0] 80552ee: 491b ldr r1, [pc, #108] ; (805535c ) 80552f0: 4613 mov r3, r2 80552f2: 005b lsls r3, r3, #1 80552f4: 4413 add r3, r2 80552f6: 009b lsls r3, r3, #2 80552f8: 440b add r3, r1 80552fa: 681a ldr r2, [r3, #0] 80552fc: 88bb ldrh r3, [r7, #4] 80552fe: 4619 mov r1, r3 8055300: f7ff fdb0 bl 8054e64 8055304: e012 b.n 805532c } else { BSP_LCD_DrawPixel((Xpos + j), Ypos, DrawProp[ActiveLayer].BackColor); 8055306: 69bb ldr r3, [r7, #24] 8055308: b29a uxth r2, r3 805530a: 88fb ldrh r3, [r7, #6] 805530c: 4413 add r3, r2 805530e: b298 uxth r0, r3 8055310: 4b11 ldr r3, [pc, #68] ; (8055358 ) 8055312: 681a ldr r2, [r3, #0] 8055314: 4911 ldr r1, [pc, #68] ; (805535c ) 8055316: 4613 mov r3, r2 8055318: 005b lsls r3, r3, #1 805531a: 4413 add r3, r2 805531c: 009b lsls r3, r3, #2 805531e: 440b add r3, r1 8055320: 3304 adds r3, #4 8055322: 681a ldr r2, [r3, #0] 8055324: 88bb ldrh r3, [r7, #4] 8055326: 4619 mov r1, r3 8055328: f7ff fd9c bl 8054e64 for (j = 0; j < width; j++) 805532c: 69bb ldr r3, [r7, #24] 805532e: 3301 adds r3, #1 8055330: 61bb str r3, [r7, #24] 8055332: 8a3a ldrh r2, [r7, #16] 8055334: 69bb ldr r3, [r7, #24] 8055336: 429a cmp r2, r3 8055338: d8c4 bhi.n 80552c4 } } Ypos++; 805533a: 88bb ldrh r3, [r7, #4] 805533c: 3301 adds r3, #1 805533e: 80bb strh r3, [r7, #4] for(i = 0; i < height; i++) 8055340: 69fb ldr r3, [r7, #28] 8055342: 3301 adds r3, #1 8055344: 61fb str r3, [r7, #28] 8055346: 8a7a ldrh r2, [r7, #18] 8055348: 69fb ldr r3, [r7, #28] 805534a: 429a cmp r2, r3 805534c: d884 bhi.n 8055258 } } 805534e: bf00 nop 8055350: 3720 adds r7, #32 8055352: 46bd mov sp, r7 8055354: bd80 pop {r7, pc} 8055356: bf00 nop 8055358: 20020078 .word 0x20020078 805535c: 20021028 .word 0x20021028 08055360 : * @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) { 8055360: b580 push {r7, lr} 8055362: b086 sub sp, #24 8055364: af02 add r7, sp, #8 8055366: 60f8 str r0, [r7, #12] 8055368: 60b9 str r1, [r7, #8] 805536a: 607a str r2, [r7, #4] 805536c: 603b str r3, [r7, #0] /* Register to memory mode with ARGB8888 as color Mode */ hDma2dHandler.Init.Mode = DMA2D_R2M; 805536e: 4b1e ldr r3, [pc, #120] ; (80553e8 ) 8055370: f44f 3240 mov.w r2, #196608 ; 0x30000 8055374: 605a str r2, [r3, #4] if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8055376: 4b1d ldr r3, [pc, #116] ; (80553ec ) 8055378: 681b ldr r3, [r3, #0] 805537a: 4a1d ldr r2, [pc, #116] ; (80553f0 ) 805537c: 2134 movs r1, #52 ; 0x34 805537e: fb01 f303 mul.w r3, r1, r3 8055382: 4413 add r3, r2 8055384: 3348 adds r3, #72 ; 0x48 8055386: 681b ldr r3, [r3, #0] 8055388: 2b02 cmp r3, #2 805538a: d103 bne.n 8055394 hDma2dHandler.Init.ColorMode = DMA2D_RGB565; 805538c: 4b16 ldr r3, [pc, #88] ; (80553e8 ) 805538e: 2202 movs r2, #2 8055390: 609a str r2, [r3, #8] 8055392: e002 b.n 805539a else hDma2dHandler.Init.ColorMode = DMA2D_ARGB8888; 8055394: 4b14 ldr r3, [pc, #80] ; (80553e8 ) 8055396: 2200 movs r2, #0 8055398: 609a str r2, [r3, #8] hDma2dHandler.Init.OutputOffset = OffLine; 805539a: 4a13 ldr r2, [pc, #76] ; (80553e8 ) 805539c: 69bb ldr r3, [r7, #24] 805539e: 60d3 str r3, [r2, #12] hDma2dHandler.Instance = DMA2D; 80553a0: 4b11 ldr r3, [pc, #68] ; (80553e8 ) 80553a2: 4a14 ldr r2, [pc, #80] ; (80553f4 ) 80553a4: 601a str r2, [r3, #0] if(HAL_DMA2D_Init(&hDma2dHandler) == HAL_OK) 80553a6: 4810 ldr r0, [pc, #64] ; (80553e8 ) 80553a8: f063 f9d4 bl 80b8754 80553ac: 4603 mov r3, r0 80553ae: 2b00 cmp r3, #0 80553b0: d115 bne.n 80553de { if(HAL_DMA2D_ConfigLayer(&hDma2dHandler, LayerIndex) == HAL_OK) 80553b2: 68f9 ldr r1, [r7, #12] 80553b4: 480c ldr r0, [pc, #48] ; (80553e8 ) 80553b6: f063 fb3b bl 80b8a30 80553ba: 4603 mov r3, r0 80553bc: 2b00 cmp r3, #0 80553be: d10e bne.n 80553de { if (HAL_DMA2D_Start(&hDma2dHandler, ColorIndex, (uint32_t)pDst, xSize, ySize) == HAL_OK) 80553c0: 68ba ldr r2, [r7, #8] 80553c2: 683b ldr r3, [r7, #0] 80553c4: 9300 str r3, [sp, #0] 80553c6: 687b ldr r3, [r7, #4] 80553c8: 69f9 ldr r1, [r7, #28] 80553ca: 4807 ldr r0, [pc, #28] ; (80553e8 ) 80553cc: f063 fa1c bl 80b8808 80553d0: 4603 mov r3, r0 80553d2: 2b00 cmp r3, #0 80553d4: d103 bne.n 80553de { HAL_DMA2D_PollForTransfer(&hDma2dHandler, 30); 80553d6: 211e movs r1, #30 80553d8: 4803 ldr r0, [pc, #12] ; (80553e8 ) 80553da: f063 fa40 bl 80b885e } } } } 80553de: bf00 nop 80553e0: 3710 adds r7, #16 80553e2: 46bd mov sp, r7 80553e4: bd80 pop {r7, pc} 80553e6: bf00 nop 80553e8: 20020fd0 .word 0x20020fd0 80553ec: 20020078 .word 0x20020078 80553f0: 20025d70 .word 0x20025d70 80553f4: 4002b000 .word 0x4002b000 080553f8 : } } void DrawImage(const GUI_BITMAP * pBM, uint16_t x0, uint16_t y0) { 80553f8: b580 push {r7, lr} 80553fa: b088 sub sp, #32 80553fc: af02 add r7, sp, #8 80553fe: 6078 str r0, [r7, #4] 8055400: 460b mov r3, r1 8055402: 807b strh r3, [r7, #2] 8055404: 4613 mov r3, r2 8055406: 803b strh r3, [r7, #0] //HAL_StatusTypeDef hal_status = HAL_OK; uint32_t Xaddress = 0; 8055408: 2300 movs r3, #0 805540a: 617b str r3, [r7, #20] uint8_t * p; uint16_t xSize = pBM->XSize; 805540c: 687b ldr r3, [r7, #4] 805540e: 881b ldrh r3, [r3, #0] 8055410: 827b strh r3, [r7, #18] uint16_t ySize = pBM->YSize; 8055412: 687b ldr r3, [r7, #4] 8055414: 885b ldrh r3, [r3, #2] 8055416: 823b strh r3, [r7, #16] //uint16_t BytesPerLine = pBM->BytesPerLine; p = (uint8_t *) pBM->pData; 8055418: 687b ldr r3, [r7, #4] 805541a: 689b ldr r3, [r3, #8] 805541c: 60fb str r3, [r7, #12] Xaddress = hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + ((320 * y0 + x0) << 1); 805541e: 4b3a ldr r3, [pc, #232] ; (8055508 ) 8055420: 681b ldr r3, [r3, #0] 8055422: 4a3a ldr r2, [pc, #232] ; (805550c ) 8055424: 2134 movs r1, #52 ; 0x34 8055426: fb01 f303 mul.w r3, r1, r3 805542a: 4413 add r3, r2 805542c: 335c adds r3, #92 ; 0x5c 805542e: 6819 ldr r1, [r3, #0] 8055430: 883a ldrh r2, [r7, #0] 8055432: 4613 mov r3, r2 8055434: 009b lsls r3, r3, #2 8055436: 4413 add r3, r2 8055438: 019b lsls r3, r3, #6 805543a: 461a mov r2, r3 805543c: 887b ldrh r3, [r7, #2] 805543e: 4413 add r3, r2 8055440: 005b lsls r3, r3, #1 8055442: 440b add r3, r1 8055444: 617b str r3, [r7, #20] hDma2dHandler.Init.Mode = DMA2D_M2M; 8055446: 4b32 ldr r3, [pc, #200] ; (8055510 ) 8055448: 2200 movs r2, #0 805544a: 605a str r2, [r3, #4] hDma2dHandler.Init.ColorMode = DMA2D_RGB565; 805544c: 4b30 ldr r3, [pc, #192] ; (8055510 ) 805544e: 2202 movs r2, #2 8055450: 609a str r2, [r3, #8] hDma2dHandler.Init.OutputOffset = 320 - xSize; 8055452: 8a7b ldrh r3, [r7, #18] 8055454: f5c3 73a0 rsb r3, r3, #320 ; 0x140 8055458: 461a mov r2, r3 805545a: 4b2d ldr r3, [pc, #180] ; (8055510 ) 805545c: 60da str r2, [r3, #12] /* DMA2D Callbacks Configuration */ hDma2dHandler.XferCpltCallback = TransferComplete; 805545e: 4b2c ldr r3, [pc, #176] ; (8055510 ) 8055460: 4a2c ldr r2, [pc, #176] ; (8055514 ) 8055462: 619a str r2, [r3, #24] hDma2dHandler.XferErrorCallback = TransferError; 8055464: 4b2a ldr r3, [pc, #168] ; (8055510 ) 8055466: 4a2c ldr r2, [pc, #176] ; (8055518 ) 8055468: 61da str r2, [r3, #28] /* Foreground layer Configuration : layer 1 */ hDma2dHandler.LayerCfg[ActiveLayer].AlphaMode = DMA2D_NO_MODIF_ALPHA; 805546a: 4b27 ldr r3, [pc, #156] ; (8055508 ) 805546c: 681a ldr r2, [r3, #0] 805546e: 4928 ldr r1, [pc, #160] ; (8055510 ) 8055470: 4613 mov r3, r2 8055472: 005b lsls r3, r3, #1 8055474: 4413 add r3, r2 8055476: 00db lsls r3, r3, #3 8055478: 440b add r3, r1 805547a: 3328 adds r3, #40 ; 0x28 805547c: 2200 movs r2, #0 805547e: 601a str r2, [r3, #0] hDma2dHandler.LayerCfg[ActiveLayer].InputAlpha = 255; /* Alpha fully opaque */ 8055480: 4b21 ldr r3, [pc, #132] ; (8055508 ) 8055482: 681a ldr r2, [r3, #0] 8055484: 4922 ldr r1, [pc, #136] ; (8055510 ) 8055486: 4613 mov r3, r2 8055488: 005b lsls r3, r3, #1 805548a: 4413 add r3, r2 805548c: 00db lsls r3, r3, #3 805548e: 440b add r3, r1 8055490: 332c adds r3, #44 ; 0x2c 8055492: 22ff movs r2, #255 ; 0xff 8055494: 601a str r2, [r3, #0] hDma2dHandler.LayerCfg[ActiveLayer].InputColorMode = DMA2D_INPUT_RGB565; /* Layer 1 input format is ARGB8888 (32 bpp) */ 8055496: 4b1c ldr r3, [pc, #112] ; (8055508 ) 8055498: 681a ldr r2, [r3, #0] 805549a: 491d ldr r1, [pc, #116] ; (8055510 ) 805549c: 4613 mov r3, r2 805549e: 005b lsls r3, r3, #1 80554a0: 4413 add r3, r2 80554a2: 00db lsls r3, r3, #3 80554a4: 440b add r3, r1 80554a6: 3324 adds r3, #36 ; 0x24 80554a8: 2202 movs r2, #2 80554aa: 601a str r2, [r3, #0] hDma2dHandler.LayerCfg[ActiveLayer].InputOffset = 0; /* No offset in input */ 80554ac: 4b16 ldr r3, [pc, #88] ; (8055508 ) 80554ae: 681a ldr r2, [r3, #0] 80554b0: 4917 ldr r1, [pc, #92] ; (8055510 ) 80554b2: 4613 mov r3, r2 80554b4: 005b lsls r3, r3, #1 80554b6: 4413 add r3, r2 80554b8: 00db lsls r3, r3, #3 80554ba: 440b add r3, r1 80554bc: 3320 adds r3, #32 80554be: 2200 movs r2, #0 80554c0: 601a str r2, [r3, #0] hDma2dHandler.Instance = DMA2D; 80554c2: 4b13 ldr r3, [pc, #76] ; (8055510 ) 80554c4: 4a15 ldr r2, [pc, #84] ; (805551c ) 80554c6: 601a str r2, [r3, #0] /* DMA2D Initialization */ HAL_DMA2D_Init(&hDma2dHandler); 80554c8: 4811 ldr r0, [pc, #68] ; (8055510 ) 80554ca: f063 f943 bl 80b8754 HAL_DMA2D_ConfigLayer(&hDma2dHandler, ActiveLayer); 80554ce: 4b0e ldr r3, [pc, #56] ; (8055508 ) 80554d0: 681b ldr r3, [r3, #0] 80554d2: 4619 mov r1, r3 80554d4: 480e ldr r0, [pc, #56] ; (8055510 ) 80554d6: f063 faab bl 80b8a30 DMA2D_TransferOk = 0; 80554da: 4b11 ldr r3, [pc, #68] ; (8055520 ) 80554dc: 2200 movs r2, #0 80554de: 601a str r2, [r3, #0] HAL_DMA2D_Start(&hDma2dHandler, (uint32_t) p, Xaddress, xSize, ySize); 80554e0: 68f9 ldr r1, [r7, #12] 80554e2: 8a7a ldrh r2, [r7, #18] 80554e4: 8a3b ldrh r3, [r7, #16] 80554e6: 9300 str r3, [sp, #0] 80554e8: 4613 mov r3, r2 80554ea: 697a ldr r2, [r7, #20] 80554ec: 4808 ldr r0, [pc, #32] ; (8055510 ) 80554ee: f063 f98b bl 80b8808 HAL_DMA2D_PollForTransfer(&hDma2dHandler, 30); 80554f2: 211e movs r1, #30 80554f4: 4806 ldr r0, [pc, #24] ; (8055510 ) 80554f6: f063 f9b2 bl 80b885e SCB_CleanInvalidateDCache(); 80554fa: f7fe fd7f bl 8053ffc } 80554fe: bf00 nop 8055500: 3718 adds r7, #24 8055502: 46bd mov sp, r7 8055504: bd80 pop {r7, pc} 8055506: bf00 nop 8055508: 20020078 .word 0x20020078 805550c: 20025d70 .word 0x20025d70 8055510: 20020fd0 .word 0x20020fd0 8055514: 08055525 .word 0x08055525 8055518: 08055545 .word 0x08055545 805551c: 4002b000 .word 0x4002b000 8055520: 2002007c .word 0x2002007c 08055524 : static void TransferComplete(DMA2D_HandleTypeDef *hdma2d) { 8055524: b480 push {r7} 8055526: b083 sub sp, #12 8055528: af00 add r7, sp, #0 805552a: 6078 str r0, [r7, #4] DMA2D_TransferOk = 1; 805552c: 4b04 ldr r3, [pc, #16] ; (8055540 ) 805552e: 2201 movs r2, #1 8055530: 601a str r2, [r3, #0] } 8055532: bf00 nop 8055534: 370c adds r7, #12 8055536: 46bd mov sp, r7 8055538: f85d 7b04 ldr.w r7, [sp], #4 805553c: 4770 bx lr 805553e: bf00 nop 8055540: 2002007c .word 0x2002007c 08055544 : static void TransferError(DMA2D_HandleTypeDef *hdma2d) { 8055544: b480 push {r7} 8055546: b083 sub sp, #12 8055548: af00 add r7, sp, #0 805554a: 6078 str r0, [r7, #4] } 805554c: bf00 nop 805554e: 370c adds r7, #12 8055550: 46bd mov sp, r7 8055552: f85d 7b04 ldr.w r7, [sp], #4 8055556: 4770 bx lr 08055558 : void LCD_Refresh(void) { 8055558: b580 push {r7, lr} 805555a: af00 add r7, sp, #0 ActiveLayer ^= 1; 805555c: 4b0e ldr r3, [pc, #56] ; (8055598 ) 805555e: 681b ldr r3, [r3, #0] 8055560: f083 0301 eor.w r3, r3, #1 8055564: 4a0c ldr r2, [pc, #48] ; (8055598 ) 8055566: 6013 str r3, [r2, #0] RenderingLayer ^= 1; 8055568: 4b0c ldr r3, [pc, #48] ; (805559c ) 805556a: 681b ldr r3, [r3, #0] 805556c: f083 0301 eor.w r3, r3, #1 8055570: 4a0a ldr r2, [pc, #40] ; (805559c ) 8055572: 6013 str r3, [r2, #0] BSP_LCD_SetLayerVisible_NoReload(ActiveLayer, DISABLE); 8055574: 4b08 ldr r3, [pc, #32] ; (8055598 ) 8055576: 681b ldr r3, [r3, #0] 8055578: 2100 movs r1, #0 805557a: 4618 mov r0, r3 805557c: f7ff f810 bl 80545a0 BSP_LCD_SetLayerVisible_NoReload(RenderingLayer, ENABLE); 8055580: 4b06 ldr r3, [pc, #24] ; (805559c ) 8055582: 681b ldr r3, [r3, #0] 8055584: 2101 movs r1, #1 8055586: 4618 mov r0, r3 8055588: f7ff f80a bl 80545a0 HAL_LTDC_Reload(&hLtdcHandler, LTDC_RELOAD_IMMEDIATE); 805558c: 2101 movs r1, #1 805558e: 4804 ldr r0, [pc, #16] ; (80555a0 ) 8055590: f064 fb34 bl 80b9bfc //BSP_LCD_Reload(LCD_RELOAD_VERTICAL_BLANKING); } 8055594: bf00 nop 8055596: bd80 pop {r7, pc} 8055598: 20020078 .word 0x20020078 805559c: 20021040 .word 0x20021040 80555a0: 20025d70 .word 0x20025d70 080555a4 : void HAL_LTDC_LineEventCallback(LTDC_HandleTypeDef *hltdc) { 80555a4: b580 push {r7, lr} 80555a6: b082 sub sp, #8 80555a8: af00 add r7, sp, #0 80555aa: 6078 str r0, [r7, #4] if(RefreshScreen) 80555ac: 4b06 ldr r3, [pc, #24] ; (80555c8 ) 80555ae: 781b ldrb r3, [r3, #0] 80555b0: b2db uxtb r3, r3 80555b2: 2b00 cmp r3, #0 80555b4: d004 beq.n 80555c0 { LCD_Refresh(); 80555b6: f7ff ffcf bl 8055558 RefreshScreen = false; 80555ba: 4b03 ldr r3, [pc, #12] ; (80555c8 ) 80555bc: 2200 movs r2, #0 80555be: 701a strb r2, [r3, #0] } } 80555c0: bf00 nop 80555c2: 3708 adds r7, #8 80555c4: 46bd mov sp, r7 80555c6: bd80 pop {r7, pc} 80555c8: 20021044 .word 0x20021044 080555cc : { 80555cc: b480 push {r7} 80555ce: af00 add r7, sp, #0 __ASM volatile ("dsb 0xF":::"memory"); 80555d0: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80555d4: f3bf 8f6f isb sy SCB->ICIALLU = 0UL; /* invalidate I-Cache */ 80555d8: 4b0b ldr r3, [pc, #44] ; (8055608 ) 80555da: 2200 movs r2, #0 80555dc: f8c3 2250 str.w r2, [r3, #592] ; 0x250 __ASM volatile ("dsb 0xF":::"memory"); 80555e0: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80555e4: f3bf 8f6f isb sy SCB->CCR |= (uint32_t)SCB_CCR_IC_Msk; /* enable I-Cache */ 80555e8: 4a07 ldr r2, [pc, #28] ; (8055608 ) 80555ea: 4b07 ldr r3, [pc, #28] ; (8055608 ) 80555ec: 695b ldr r3, [r3, #20] 80555ee: f443 3300 orr.w r3, r3, #131072 ; 0x20000 80555f2: 6153 str r3, [r2, #20] __ASM volatile ("dsb 0xF":::"memory"); 80555f4: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80555f8: f3bf 8f6f isb sy } 80555fc: bf00 nop 80555fe: 46bd mov sp, r7 8055600: f85d 7b04 ldr.w r7, [sp], #4 8055604: 4770 bx lr 8055606: bf00 nop 8055608: e000ed00 .word 0xe000ed00 0805560c : { 805560c: b480 push {r7} 805560e: b085 sub sp, #20 8055610: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 8055612: 4b1d ldr r3, [pc, #116] ; (8055688 ) 8055614: 2200 movs r2, #0 8055616: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 805561a: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 805561e: 4b1a ldr r3, [pc, #104] ; (8055688 ) 8055620: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 8055624: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 8055626: 687b ldr r3, [r7, #4] 8055628: 0b5b lsrs r3, r3, #13 805562a: f3c3 030e ubfx r3, r3, #0, #15 805562e: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 8055630: 687b ldr r3, [r7, #4] 8055632: 08db lsrs r3, r3, #3 8055634: f3c3 0309 ubfx r3, r3, #0, #10 8055638: 60bb str r3, [r7, #8] SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | 805563a: 4913 ldr r1, [pc, #76] ; (8055688 ) 805563c: 68fb ldr r3, [r7, #12] 805563e: 015a lsls r2, r3, #5 8055640: f643 73e0 movw r3, #16352 ; 0x3fe0 8055644: 4013 ands r3, r2 ((ways << SCB_DCISW_WAY_Pos) & SCB_DCISW_WAY_Msk) ); 8055646: 68ba ldr r2, [r7, #8] 8055648: 0792 lsls r2, r2, #30 SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | 805564a: 4313 orrs r3, r2 805564c: f8c1 3260 str.w r3, [r1, #608] ; 0x260 } while (ways-- != 0U); 8055650: 68bb ldr r3, [r7, #8] 8055652: 1e5a subs r2, r3, #1 8055654: 60ba str r2, [r7, #8] 8055656: 2b00 cmp r3, #0 8055658: d1ef bne.n 805563a } while(sets-- != 0U); 805565a: 68fb ldr r3, [r7, #12] 805565c: 1e5a subs r2, r3, #1 805565e: 60fa str r2, [r7, #12] 8055660: 2b00 cmp r3, #0 8055662: d1e5 bne.n 8055630 8055664: f3bf 8f4f dsb sy SCB->CCR |= (uint32_t)SCB_CCR_DC_Msk; /* enable D-Cache */ 8055668: 4a07 ldr r2, [pc, #28] ; (8055688 ) 805566a: 4b07 ldr r3, [pc, #28] ; (8055688 ) 805566c: 695b ldr r3, [r3, #20] 805566e: f443 3380 orr.w r3, r3, #65536 ; 0x10000 8055672: 6153 str r3, [r2, #20] 8055674: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8055678: f3bf 8f6f isb sy } 805567c: bf00 nop 805567e: 3714 adds r7, #20 8055680: 46bd mov sp, r7 8055682: f85d 7b04 ldr.w r7, [sp], #4 8055686: 4770 bx lr 8055688: e000ed00 .word 0xe000ed00 0805568c : { 805568c: b480 push {r7} 805568e: b085 sub sp, #20 8055690: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 8055692: 4b19 ldr r3, [pc, #100] ; (80556f8 ) 8055694: 2200 movs r2, #0 8055696: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 805569a: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 805569e: 4b16 ldr r3, [pc, #88] ; (80556f8 ) 80556a0: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80556a4: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 80556a6: 687b ldr r3, [r7, #4] 80556a8: 0b5b lsrs r3, r3, #13 80556aa: f3c3 030e ubfx r3, r3, #0, #15 80556ae: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 80556b0: 687b ldr r3, [r7, #4] 80556b2: 08db lsrs r3, r3, #3 80556b4: f3c3 0309 ubfx r3, r3, #0, #10 80556b8: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80556ba: 490f ldr r1, [pc, #60] ; (80556f8 ) 80556bc: 68fb ldr r3, [r7, #12] 80556be: 015a lsls r2, r3, #5 80556c0: f643 73e0 movw r3, #16352 ; 0x3fe0 80556c4: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 80556c6: 68ba ldr r2, [r7, #8] 80556c8: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80556ca: 4313 orrs r3, r2 80556cc: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 80556d0: 68bb ldr r3, [r7, #8] 80556d2: 1e5a subs r2, r3, #1 80556d4: 60ba str r2, [r7, #8] 80556d6: 2b00 cmp r3, #0 80556d8: d1ef bne.n 80556ba } while(sets-- != 0U); 80556da: 68fb ldr r3, [r7, #12] 80556dc: 1e5a subs r2, r3, #1 80556de: 60fa str r2, [r7, #12] 80556e0: 2b00 cmp r3, #0 80556e2: d1e5 bne.n 80556b0 80556e4: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80556e8: f3bf 8f6f isb sy } 80556ec: bf00 nop 80556ee: 3714 adds r7, #20 80556f0: 46bd mov sp, r7 80556f2: f85d 7b04 ldr.w r7, [sp], #4 80556f6: 4770 bx lr 80556f8: e000ed00 .word 0xe000ed00 080556fc : #define CLOCK_LSE (1) //#define CLOCK_LSI (1) static void MPU_Config(void) { 80556fc: b580 push {r7, lr} 80556fe: b084 sub sp, #16 8055700: af00 add r7, sp, #0 MPU_Region_InitTypeDef MPU_InitStruct; HAL_MPU_Disable(); 8055702: f062 fb2f bl 80b7d64 //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER0; 8055706: 2300 movs r3, #0 8055708: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x20000000; 805570a: f04f 5300 mov.w r3, #536870912 ; 0x20000000 805570e: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_512KB; 8055710: 2312 movs r3, #18 8055712: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 8055714: 2303 movs r3, #3 8055716: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE; 8055718: 2301 movs r3, #1 805571a: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 805571c: 2301 movs r3, #1 805571e: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; 8055720: 2300 movs r3, #0 8055722: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 8055724: 2300 movs r3, #0 8055726: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 8055728: 2300 movs r3, #0 805572a: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 805572c: 2301 movs r3, #1 805572e: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 8055730: 2300 movs r3, #0 8055732: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 8055734: 463b mov r3, r7 8055736: 4618 mov r0, r3 8055738: f062 fb48 bl 80b7dcc //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER1; 805573c: 2301 movs r3, #1 805573e: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x20000000; 8055740: f04f 5300 mov.w r3, #536870912 ; 0x20000000 8055744: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_128KB; 8055746: 2310 movs r3, #16 8055748: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 805574a: 2303 movs r3, #3 805574c: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; 805574e: 2300 movs r3, #0 8055750: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 8055752: 2301 movs r3, #1 8055754: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE; 8055756: 2301 movs r3, #1 8055758: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 805575a: 2300 movs r3, #0 805575c: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 805575e: 2300 movs r3, #0 8055760: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 8055762: 2301 movs r3, #1 8055764: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 8055766: 2300 movs r3, #0 8055768: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 805576a: 463b mov r3, r7 805576c: 4618 mov r0, r3 805576e: f062 fb2d bl 80b7dcc //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER2; 8055772: 2302 movs r3, #2 8055774: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x2007C000; 8055776: 4b1d ldr r3, [pc, #116] ; (80557ec ) 8055778: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_16KB; 805577a: 230d movs r3, #13 805577c: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 805577e: 2303 movs r3, #3 8055780: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; 8055782: 2300 movs r3, #0 8055784: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 8055786: 2301 movs r3, #1 8055788: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; 805578a: 2300 movs r3, #0 805578c: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 805578e: 2300 movs r3, #0 8055790: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 8055792: 2300 movs r3, #0 8055794: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 8055796: 2301 movs r3, #1 8055798: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 805579a: 2300 movs r3, #0 805579c: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 805579e: 463b mov r3, r7 80557a0: 4618 mov r0, r3 80557a2: f062 fb13 bl 80b7dcc //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER3; 80557a6: 2303 movs r3, #3 80557a8: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x64000000; 80557aa: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 80557ae: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_2MB; 80557b0: 2314 movs r3, #20 80557b2: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 80557b4: 2303 movs r3, #3 80557b6: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; 80557b8: 2300 movs r3, #0 80557ba: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 80557bc: 2301 movs r3, #1 80557be: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; 80557c0: 2300 movs r3, #0 80557c2: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 80557c4: 2300 movs r3, #0 80557c6: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 80557c8: 2300 movs r3, #0 80557ca: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 80557cc: 2301 movs r3, #1 80557ce: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 80557d0: 2300 movs r3, #0 80557d2: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 80557d4: 463b mov r3, r7 80557d6: 4618 mov r0, r3 80557d8: f062 faf8 bl 80b7dcc //***************************************************************** HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT); 80557dc: 2004 movs r0, #4 80557de: f062 fad7 bl 80b7d90 } 80557e2: bf00 nop 80557e4: 3710 adds r7, #16 80557e6: 46bd mov sp, r7 80557e8: bd80 pop {r7, pc} 80557ea: bf00 nop 80557ec: 2007c000 .word 0x2007c000 080557f0
: int main(void) { 80557f0: b580 push {r7, lr} 80557f2: b082 sub sp, #8 80557f4: af00 add r7, sp, #0 uint32_t cnt = 0, i, j, k, l; 80557f6: 2300 movs r3, #0 80557f8: 607b str r3, [r7, #4] MPU_Config(); 80557fa: f7ff ff7f bl 80556fc SCB_EnableICache(); 80557fe: f7ff fee5 bl 80555cc SCB_EnableDCache(); 8055802: f7ff ff03 bl 805560c SCB->VTOR = (uint32_t) 0x08020000; 8055806: 4b99 ldr r3, [pc, #612] ; (8055a6c ) 8055808: 4a99 ldr r2, [pc, #612] ; (8055a70 ) 805580a: 609a str r2, [r3, #8] __ASM volatile ("cpsie i" : : : "memory"); 805580c: b662 cpsie i __enable_irq(); HAL_Init(); 805580e: f061 faa9 bl 80b6d64 8055812: b662 cpsie i __enable_irq(); //HAL_Delay(250); SystemClock_Config(); 8055814: f000 f9a0 bl 8055b58 MX_GPIO_Init(); 8055818: f7d9 fd40 bl 802f29c MX_DMA_Init(); 805581c: f7ce f940 bl 8023aa0 MX_DMA2D_Init(); 8055820: f7ce f97c bl 8023b1c MX_FMC_Init(); 8055824: f7d9 fc5c bl 802f0e0 RAMTest(); 8055828: f012 fca4 bl 8068174 memset(pLCD_u8, 0, 0x4B000); 805582c: f44f 2296 mov.w r2, #307200 ; 0x4b000 8055830: 2100 movs r1, #0 8055832: f04f 40c8 mov.w r0, #1677721600 ; 0x64000000 8055836: f07b fdb3 bl 80d13a0 SCB_CleanInvalidateDCache(); 805583a: f7ff ff27 bl 805568c MX_RTC_Init(); 805583e: f012 fd31 bl 80682a4 MX_FATFS_Init(); 8055842: f06e f8e9 bl 80c3a18 initKeys(); 8055846: f7df fc19 bl 803507c MX_TIM7_Init(); 805584a: f05c fcbd bl 80b21c8 MX_LTDC_Init(); 805584e: f7fe fc2b bl 80540a8 initMemCopy(); 8055852: f011 fdef bl 8067434 MX_SPI1_Init(); 8055856: f05c fa25 bl 80b1ca4 rdFlash();//todo 805585a: f7d9 fc39 bl 802f0d0 EXTI_Config(); 805585e: f013 f9ab bl 8068bb8 MX_SDMMC1_SD_Init(); 8055862: f05c f901 bl 80b1a68 MAX11270_Init(); 8055866: f000 fa27 bl 8055cb8 initDevice(); 805586a: f7df fb45 bl 8034ef8 Logo(); 805586e: f013 fa23 bl 8068cb8 MX_ADC2_Init(); //Bat 8055872: f7cb f8c7 bl 8020a04 MX_ADC1_Init(); 8055876: f7cb f879 bl 802096c MX_TIM5_Init(); 805587a: f05c fc5f bl 80b213c CreateFileJSON(); 805587e: f7d5 fd69 bl 802b354 initAmplif(); 8055882: f7cc f907 bl 8021a94 MX_USB_DEVICE_Init(); 8055886: f077 fd07 bl 80cd298 CheckRoutesFolder(); 805588a: f7d5 fc7d bl 802b188 CheckRecordsFolder(); 805588e: f7d5 fca9 bl 802b1e4 CheckFilesForWrite(); 8055892: f7d9 f85b bl 802e94c StartBatMeas(); 8055896: f7cb fa57 bl 8020d48 while(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET) { //todo 805589a: e001 b.n 80558a0 RedrawScreen(); 805589c: f013 f9fc bl 8068c98 while(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET) { //todo 80558a0: 2101 movs r1, #1 80558a2: 4874 ldr r0, [pc, #464] ; (8055a74 ) 80558a4: f063 ff62 bl 80b976c 80558a8: 4603 mov r3, r0 80558aa: 2b01 cmp r3, #1 80558ac: d0f6 beq.n 805589c } MX_ADC3_Init(); //Tacho 80558ae: f7cb f90f bl 8020ad0 MX_TIM1_Init(); 80558b2: f05c fbfd bl 80b20b0 KeysIsReady = true; 80558b6: 4b70 ldr r3, [pc, #448] ; (8055a78 ) 80558b8: 2201 movs r2, #1 80558ba: 701a strb r2, [r3, #0] NeedCalibrate(); 80558bc: f7df fb4a bl 8034f54 //pardata.OPTIONS |= BIT6; //todo #ifdef USE_D142 MX_I2C1_SMBUS_Init(); 80558c0: f7da f8dc bl 802fa7c #endif if(pardata.OPTIONS & BIT8) 80558c4: 4b6d ldr r3, [pc, #436] ; (8055a7c ) 80558c6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80558ca: f403 7380 and.w r3, r3, #256 ; 0x100 80558ce: 2b00 cmp r3, #0 80558d0: d008 beq.n 80558e4 { HAL_GPIO_WritePin(TMPR_GPIO_Port, TMPR_Pin, GPIO_PIN_RESET); 80558d2: 2200 movs r2, #0 80558d4: f44f 5100 mov.w r1, #8192 ; 0x2000 80558d8: 4869 ldr r0, [pc, #420] ; (8055a80 ) 80558da: f063 ff5f bl 80b979c SeeTemperature = true; 80558de: 4b69 ldr r3, [pc, #420] ; (8055a84 ) 80558e0: 2201 movs r2, #1 80558e2: 701a strb r2, [r3, #0] } while(1) { if(GoLinkPC) 80558e4: 4b68 ldr r3, [pc, #416] ; (8055a88 ) 80558e6: 781b ldrb r3, [r3, #0] 80558e8: b2db uxtb r3, r3 80558ea: 2b00 cmp r3, #0 80558ec: d012 beq.n 8055914 { GoLinkPC = false; 80558ee: 4b66 ldr r3, [pc, #408] ; (8055a88 ) 80558f0: 2200 movs r2, #0 80558f2: 701a strb r2, [r3, #0] if(LinkPC == 1) 80558f4: 4b65 ldr r3, [pc, #404] ; (8055a8c ) 80558f6: 781b ldrb r3, [r3, #0] 80558f8: b2db uxtb r3, r3 80558fa: 2b01 cmp r3, #1 80558fc: d10a bne.n 8055914 { menu = LINK_PC; 80558fe: 4b64 ldr r3, [pc, #400] ; (8055a90 ) 8055900: 2242 movs r2, #66 ; 0x42 8055902: 701a strb r2, [r3, #0] ChargerIsConnect = false; 8055904: 4b63 ldr r3, [pc, #396] ; (8055a94 ) 8055906: 2200 movs r2, #0 8055908: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 805590a: 2200 movs r2, #0 805590c: 2108 movs r1, #8 805590e: 485c ldr r0, [pc, #368] ; (8055a80 ) 8055910: f063 ff44 bl 80b979c } } #ifdef USE_D142 if(FlagGetTemperature) { 8055914: 4b60 ldr r3, [pc, #384] ; (8055a98 ) 8055916: 781b ldrb r3, [r3, #0] 8055918: b2db uxtb r3, r3 805591a: 2b00 cmp r3, #0 805591c: d001 beq.n 8055922 GetTemperature(); 805591e: f7da f92d bl 802fb7c } #endif if(LinkPC == 0) 8055922: 4b5a ldr r3, [pc, #360] ; (8055a8c ) 8055924: 781b ldrb r3, [r3, #0] 8055926: b2db uxtb r3, r3 8055928: 2b00 cmp r3, #0 805592a: f040 809b bne.w 8055a64 if((pardata.OPTIONS & BIT6) && (!Initialized)) { MX_HC05_Init(); } #endif if(NeedOff) { 805592e: 4b5b ldr r3, [pc, #364] ; (8055a9c ) 8055930: 781b ldrb r3, [r3, #0] 8055932: b2db uxtb r3, r3 8055934: 2b00 cmp r3, #0 8055936: d001 beq.n 805593c Off(); 8055938: f7cd ffb4 bl 80238a4 } meas(); 805593c: f001 fe44 bl 80575c8 if(!GoSend) 8055940: 4b57 ldr r3, [pc, #348] ; (8055aa0 ) 8055942: 781b ldrb r3, [r3, #0] 8055944: b2db uxtb r3, r3 8055946: f083 0301 eor.w r3, r3, #1 805594a: b2db uxtb r3, r3 805594c: 2b00 cmp r3, #0 805594e: d001 beq.n 8055954 RedrawScreen(); 8055950: f013 f9a2 bl 8068c98 //if(READY == DATA_FREE) // { keyIns(); 8055954: f7df fcfc bl 8035350 FileSystem(); 8055958: f7ce f9fa bl 8023d50 // } if(NeedFreq) 805595c: 4b51 ldr r3, [pc, #324] ; (8055aa4 ) 805595e: 781b ldrb r3, [r3, #0] 8055960: b2db uxtb r3, r3 8055962: 2b00 cmp r3, #0 8055964: d004 beq.n 8055970 { NeedFreq = false; 8055966: 4b4f ldr r3, [pc, #316] ; (8055aa4 ) 8055968: 2200 movs r2, #0 805596a: 701a strb r2, [r3, #0] CalcFreq(); 805596c: f001 fc20 bl 80571b0 } if(NeedFreqTacho) 8055970: 4b4d ldr r3, [pc, #308] ; (8055aa8 ) 8055972: 781b ldrb r3, [r3, #0] 8055974: b2db uxtb r3, r3 8055976: 2b00 cmp r3, #0 8055978: d02f beq.n 80559da { NeedFreqTacho = false; 805597a: 4b4b ldr r3, [pc, #300] ; (8055aa8 ) 805597c: 2200 movs r2, #0 805597e: 701a strb r2, [r3, #0] CalcFreqTacho(); 8055980: f001 fd1a bl 80573b8 if(FreqFran) 8055984: 4b49 ldr r3, [pc, #292] ; (8055aac ) 8055986: edd3 7a00 vldr s15, [r3] 805598a: eef5 7a40 vcmp.f32 s15, #0.0 805598e: eef1 fa10 vmrs APSR_nzcv, fpscr 8055992: d022 beq.n 80559da { CALC_FREQ = 0; 8055994: 4b46 ldr r3, [pc, #280] ; (8055ab0 ) 8055996: 2200 movs r2, #0 8055998: 701a strb r2, [r3, #0] StopTacho(); 805599a: f7cb fa25 bl 8020de8 READY = DATA_FREE; 805599e: 4b45 ldr r3, [pc, #276] ; (8055ab4 ) 80559a0: 2200 movs r2, #0 80559a2: 701a strb r2, [r3, #0] //SetupADC(); RedrawScreen(); 80559a4: f013 f978 bl 8068c98 HAL_Delay(100); 80559a8: 2064 movs r0, #100 ; 0x64 80559aa: f061 fa47 bl 80b6e3c RedrawScreen(); 80559ae: f013 f973 bl 8068c98 HAL_Delay(100); 80559b2: 2064 movs r0, #100 ; 0x64 80559b4: f061 fa42 bl 80b6e3c RedrawScreen(); 80559b8: f013 f96e bl 8068c98 HAL_Delay(100); 80559bc: 2064 movs r0, #100 ; 0x64 80559be: f061 fa3d bl 80b6e3c RedrawScreen(); 80559c2: f013 f969 bl 8068c98 HAL_Delay(200); 80559c6: 20c8 movs r0, #200 ; 0xc8 80559c8: f061 fa38 bl 80b6e3c SetupADC(); 80559cc: f7cd f9bc bl 8022d48 HAL_Delay(100); 80559d0: 2064 movs r0, #100 ; 0x64 80559d2: f061 fa33 bl 80b6e3c AfterTacho(); 80559d6: f7fe fa3d bl 8053e54 } } if(NeedMeas) 80559da: 4b37 ldr r3, [pc, #220] ; (8055ab8 ) 80559dc: 781b ldrb r3, [r3, #0] 80559de: b2db uxtb r3, r3 80559e0: 2b00 cmp r3, #0 80559e2: d020 beq.n 8055a26 { NeedMeas = false; 80559e4: 4b34 ldr r3, [pc, #208] ; (8055ab8 ) 80559e6: 2200 movs r2, #0 80559e8: 701a strb r2, [r3, #0] initFilters(); 80559ea: f010 fba9 bl 8066140 measuring = true; 80559ee: 4b33 ldr r3, [pc, #204] ; (8055abc ) 80559f0: 2201 movs r2, #1 80559f2: 701a strb r2, [r3, #0] if((pardata.SYG == WAVE) && (pardata.OPTIONS & BIT7)) 80559f4: 4b21 ldr r3, [pc, #132] ; (8055a7c ) 80559f6: 781b ldrb r3, [r3, #0] 80559f8: b2db uxtb r3, r3 80559fa: 2b04 cmp r3, #4 80559fc: d109 bne.n 8055a12 80559fe: 4b1f ldr r3, [pc, #124] ; (8055a7c ) 8055a00: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8055a04: f003 0380 and.w r3, r3, #128 ; 0x80 8055a08: 2b00 cmp r3, #0 8055a0a: d002 beq.n 8055a12 StartTacho(); 8055a0c: f7cb f9d4 bl 8020db8 8055a10: e009 b.n 8055a26 else if(pardata.SYG == UDAR) 8055a12: 4b1a ldr r3, [pc, #104] ; (8055a7c ) 8055a14: 781b ldrb r3, [r3, #0] 8055a16: b2db uxtb r3, r3 8055a18: 2b09 cmp r3, #9 8055a1a: d102 bne.n 8055a22 StartADC12(); 8055a1c: f7cb f9a6 bl 8020d6c 8055a20: e001 b.n 8055a26 else SetupADC(); 8055a22: f7cd f991 bl 8022d48 if(needDispOn) 8055a26: 4b26 ldr r3, [pc, #152] ; (8055ac0 ) 8055a28: 781b ldrb r3, [r3, #0] 8055a2a: b2db uxtb r3, r3 8055a2c: 2b00 cmp r3, #0 8055a2e: f43f af59 beq.w 80558e4 { needDispOn = false; 8055a32: 4b23 ldr r3, [pc, #140] ; (8055ac0 ) 8055a34: 2200 movs r2, #0 8055a36: 701a strb r2, [r3, #0] RedrawScreen(); 8055a38: f013 f92e bl 8068c98 HAL_Delay(100); 8055a3c: 2064 movs r0, #100 ; 0x64 8055a3e: f061 f9fd bl 80b6e3c RedrawScreen(); 8055a42: f013 f929 bl 8068c98 HAL_Delay(100); 8055a46: 2064 movs r0, #100 ; 0x64 8055a48: f061 f9f8 bl 80b6e3c RedrawScreen(); 8055a4c: f013 f924 bl 8068c98 HAL_Delay(100); 8055a50: 2064 movs r0, #100 ; 0x64 8055a52: f061 f9f3 bl 80b6e3c HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT IS ON 8055a56: 2200 movs r2, #0 8055a58: f44f 7180 mov.w r1, #256 ; 0x100 8055a5c: 4805 ldr r0, [pc, #20] ; (8055a74 ) 8055a5e: f063 fe9d bl 80b979c 8055a62: e73f b.n 80558e4 } } else { RedrawScreen(); 8055a64: f013 f918 bl 8068c98 if(GoLinkPC) 8055a68: e73c b.n 80558e4 8055a6a: bf00 nop 8055a6c: e000ed00 .word 0xe000ed00 8055a70: 08020000 .word 0x08020000 8055a74: 40020000 .word 0x40020000 8055a78: 20020fc3 .word 0x20020fc3 8055a7c: 20023ea8 .word 0x20023ea8 8055a80: 40020800 .word 0x40020800 8055a84: 20020fbb .word 0x20020fbb 8055a88: 20021b6d .word 0x20021b6d 8055a8c: 20021b6b .word 0x20021b6b 8055a90: 20020fbd .word 0x20020fbd 8055a94: 20021b6a .word 0x20021b6a 8055a98: 20020f7d .word 0x20020f7d 8055a9c: 20020fb9 .word 0x20020fb9 8055aa0: 20020f7c .word 0x20020f7c 8055aa4: 20020d95 .word 0x20020d95 8055aa8: 20020d96 .word 0x20020d96 8055aac: 200215ac .word 0x200215ac 8055ab0: 20021054 .word 0x20021054 8055ab4: 20020d9f .word 0x20020d9f 8055ab8: 20020daf .word 0x20020daf 8055abc: 20020dcf .word 0x20020dcf 8055ac0: 20021b6c .word 0x20021b6c 08055ac4 : } } void CALC_OFFSET(void) { 8055ac4: b598 push {r3, r4, r7, lr} 8055ac6: af00 add r7, sp, #0 if((!clbr) && (!USBConnected) && (!measuring)) 8055ac8: 4b1a ldr r3, [pc, #104] ; (8055b34 ) 8055aca: 781b ldrb r3, [r3, #0] 8055acc: b2db uxtb r3, r3 8055ace: f083 0301 eor.w r3, r3, #1 8055ad2: b2db uxtb r3, r3 8055ad4: 2b00 cmp r3, #0 8055ad6: d02a beq.n 8055b2e 8055ad8: 4b17 ldr r3, [pc, #92] ; (8055b38 ) 8055ada: 781b ldrb r3, [r3, #0] 8055adc: b2db uxtb r3, r3 8055ade: f083 0301 eor.w r3, r3, #1 8055ae2: b2db uxtb r3, r3 8055ae4: 2b00 cmp r3, #0 8055ae6: d022 beq.n 8055b2e 8055ae8: 4b14 ldr r3, [pc, #80] ; (8055b3c ) 8055aea: 781b ldrb r3, [r3, #0] 8055aec: b2db uxtb r3, r3 8055aee: f083 0301 eor.w r3, r3, #1 8055af2: b2db uxtb r3, r3 8055af4: 2b00 cmp r3, #0 8055af6: d01a beq.n 8055b2e { CNT_MEAN = 0; 8055af8: 4b11 ldr r3, [pc, #68] ; (8055b40 ) 8055afa: 2200 movs r2, #0 8055afc: 601a str r2, [r3, #0] REC_MEAN = 0; 8055afe: 4a11 ldr r2, [pc, #68] ; (8055b44 ) 8055b00: f04f 0300 mov.w r3, #0 8055b04: f04f 0400 mov.w r4, #0 8055b08: e882 0018 stmia.w r2, {r3, r4} pardata.FRQ = _64000Hz; 8055b0c: 4b0e ldr r3, [pc, #56] ; (8055b48 ) 8055b0e: 2209 movs r2, #9 8055b10: 72da strb r2, [r3, #11] Fs = FS[pardata.FRQ]; 8055b12: 4b0d ldr r3, [pc, #52] ; (8055b48 ) 8055b14: 7adb ldrb r3, [r3, #11] 8055b16: b2db uxtb r3, r3 8055b18: 461a mov r2, r3 8055b1a: 4b0c ldr r3, [pc, #48] ; (8055b4c ) 8055b1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8055b20: 4a0b ldr r2, [pc, #44] ; (8055b50 ) 8055b22: 6013 str r3, [r2, #0] SetupADC(); 8055b24: f7cd f910 bl 8022d48 FLAG_CALC_MEAN = true; 8055b28: 4b0a ldr r3, [pc, #40] ; (8055b54 ) 8055b2a: 2201 movs r2, #1 8055b2c: 701a strb r2, [r3, #0] } } 8055b2e: bf00 nop 8055b30: bd98 pop {r3, r4, r7, pc} 8055b32: bf00 nop 8055b34: 20020f88 .word 0x20020f88 8055b38: 20021b69 .word 0x20021b69 8055b3c: 20020dcf .word 0x20020dcf 8055b40: 200216e0 .word 0x200216e0 8055b44: 200216d8 .word 0x200216d8 8055b48: 20023ea8 .word 0x20023ea8 8055b4c: 080f2c30 .word 0x080f2c30 8055b50: 20021d64 .word 0x20021d64 8055b54: 200216d6 .word 0x200216d6 08055b58 : /** * @brief System Clock Configuration * @retval None */ void SystemClock_Config(void) { 8055b58: b580 push {r7, lr} 8055b5a: b0b8 sub sp, #224 ; 0xe0 8055b5c: af00 add r7, sp, #0 RCC_OscInitTypeDef RCC_OscInitStruct = {0}; 8055b5e: f107 03ac add.w r3, r7, #172 ; 0xac 8055b62: 2234 movs r2, #52 ; 0x34 8055b64: 2100 movs r1, #0 8055b66: 4618 mov r0, r3 8055b68: f07b fc1a bl 80d13a0 RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; 8055b6c: f107 0398 add.w r3, r7, #152 ; 0x98 8055b70: 2200 movs r2, #0 8055b72: 601a str r2, [r3, #0] 8055b74: 605a str r2, [r3, #4] 8055b76: 609a str r2, [r3, #8] 8055b78: 60da str r2, [r3, #12] 8055b7a: 611a str r2, [r3, #16] RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; 8055b7c: f107 0308 add.w r3, r7, #8 8055b80: 2290 movs r2, #144 ; 0x90 8055b82: 2100 movs r1, #0 8055b84: 4618 mov r0, r3 8055b86: f07b fc0b bl 80d13a0 __HAL_RCC_PWR_CLK_ENABLE(); 8055b8a: 4a46 ldr r2, [pc, #280] ; (8055ca4 ) 8055b8c: 4b45 ldr r3, [pc, #276] ; (8055ca4 ) 8055b8e: 6c1b ldr r3, [r3, #64] ; 0x40 8055b90: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 8055b94: 6413 str r3, [r2, #64] ; 0x40 8055b96: 4b43 ldr r3, [pc, #268] ; (8055ca4 ) 8055b98: 6c1b ldr r3, [r3, #64] ; 0x40 8055b9a: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 8055b9e: 607b str r3, [r7, #4] 8055ba0: 687b ldr r3, [r7, #4] __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); 8055ba2: 4a41 ldr r2, [pc, #260] ; (8055ca8 ) 8055ba4: 4b40 ldr r3, [pc, #256] ; (8055ca8 ) 8055ba6: 681b ldr r3, [r3, #0] 8055ba8: f443 4340 orr.w r3, r3, #49152 ; 0xc000 8055bac: 6013 str r3, [r2, #0] 8055bae: 4b3e ldr r3, [pc, #248] ; (8055ca8 ) 8055bb0: 681b ldr r3, [r3, #0] 8055bb2: f403 4340 and.w r3, r3, #49152 ; 0xc000 8055bb6: 603b str r3, [r7, #0] 8055bb8: 683b ldr r3, [r7, #0] /////// 216 MHZ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE; 8055bba: 2305 movs r3, #5 8055bbc: f8c7 30ac str.w r3, [r7, #172] ; 0xac RCC_OscInitStruct.HSEState = RCC_HSE_ON; 8055bc0: f44f 3380 mov.w r3, #65536 ; 0x10000 8055bc4: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 RCC_OscInitStruct.LSEState = RCC_LSE_ON; 8055bc8: 2301 movs r3, #1 8055bca: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; 8055bce: 2302 movs r3, #2 8055bd0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; 8055bd4: f44f 0380 mov.w r3, #4194304 ; 0x400000 8055bd8: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 RCC_OscInitStruct.PLL.PLLM = 25; 8055bdc: 2319 movs r3, #25 8055bde: f8c7 30cc str.w r3, [r7, #204] ; 0xcc RCC_OscInitStruct.PLL.PLLN = 432; 8055be2: f44f 73d8 mov.w r3, #432 ; 0x1b0 8055be6: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; 8055bea: 2302 movs r3, #2 8055bec: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 RCC_OscInitStruct.PLL.PLLQ = 9; 8055bf0: 2309 movs r3, #9 8055bf2: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { 8055bf6: f107 03ac add.w r3, r7, #172 ; 0xac 8055bfa: 4618 mov r0, r3 8055bfc: f065 fc18 bl 80bb430 8055c00: 4603 mov r3, r0 8055c02: 2b00 cmp r3, #0 8055c04: d001 beq.n 8055c0a Error_Handler(); 8055c06: f000 f853 bl 8055cb0 } if(HAL_PWREx_EnableOverDrive() != HAL_OK) { 8055c0a: f065 fbc1 bl 80bb390 8055c0e: 4603 mov r3, r0 8055c10: 2b00 cmp r3, #0 8055c12: d001 beq.n 8055c18 Error_Handler(); 8055c14: f000 f84c bl 8055cb0 } RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; 8055c18: 230f movs r3, #15 8055c1a: f8c7 3098 str.w r3, [r7, #152] ; 0x98 RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; 8055c1e: 2302 movs r3, #2 8055c20: f8c7 309c str.w r3, [r7, #156] ; 0x9c RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; 8055c24: 2300 movs r3, #0 8055c26: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; 8055c2a: f44f 53a0 mov.w r3, #5120 ; 0x1400 8055c2e: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; 8055c32: f44f 5380 mov.w r3, #4096 ; 0x1000 8055c36: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_6) != HAL_OK) { 8055c3a: f107 0398 add.w r3, r7, #152 ; 0x98 8055c3e: 2106 movs r1, #6 8055c40: 4618 mov r0, r3 8055c42: f065 fea3 bl 80bb98c 8055c46: 4603 mov r3, r0 8055c48: 2b00 cmp r3, #0 8055c4a: d001 beq.n 8055c50 Error_Handler(); 8055c4c: f000 f830 bl 8055cb0 } PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC|RCC_PERIPHCLK_RTC 8055c50: 4b16 ldr r3, [pc, #88] ; (8055cac ) 8055c52: 60bb str r3, [r7, #8] |RCC_PERIPHCLK_UART7|RCC_PERIPHCLK_I2C1 |RCC_PERIPHCLK_SDMMC1|RCC_PERIPHCLK_CLK48; PeriphClkInitStruct.PLLSAI.PLLSAIN = 192; 8055c54: 23c0 movs r3, #192 ; 0xc0 8055c56: 61fb str r3, [r7, #28] PeriphClkInitStruct.PLLSAI.PLLSAIR = 4; 8055c58: 2304 movs r3, #4 8055c5a: 627b str r3, [r7, #36] ; 0x24 PeriphClkInitStruct.PLLSAI.PLLSAIQ = 2; 8055c5c: 2302 movs r3, #2 8055c5e: 623b str r3, [r7, #32] PeriphClkInitStruct.PLLSAI.PLLSAIP = RCC_PLLSAIP_DIV4; 8055c60: 2301 movs r3, #1 8055c62: 62bb str r3, [r7, #40] ; 0x28 PeriphClkInitStruct.PLLSAIDivQ = 1; 8055c64: 2301 movs r3, #1 8055c66: 633b str r3, [r7, #48] ; 0x30 PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_2; 8055c68: 2300 movs r3, #0 8055c6a: 637b str r3, [r7, #52] ; 0x34 PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE; 8055c6c: f44f 7380 mov.w r3, #256 ; 0x100 8055c70: 63bb str r3, [r7, #56] ; 0x38 PeriphClkInitStruct.Uart7ClockSelection = RCC_UART7CLKSOURCE_PCLK1; 8055c72: 2300 movs r3, #0 8055c74: 667b str r3, [r7, #100] ; 0x64 PeriphClkInitStruct.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1; 8055c76: 2300 movs r3, #0 8055c78: 66fb str r3, [r7, #108] ; 0x6c PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48SOURCE_PLL; 8055c7a: 2300 movs r3, #0 8055c7c: f8c7 3084 str.w r3, [r7, #132] ; 0x84 PeriphClkInitStruct.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_CLK48; 8055c80: 2300 movs r3, #0 8055c82: f8c7 3088 str.w r3, [r7, #136] ; 0x88 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) 8055c86: f107 0308 add.w r3, r7, #8 8055c8a: 4618 mov r0, r3 8055c8c: f066 f82c bl 80bbce8 8055c90: 4603 mov r3, r0 8055c92: 2b00 cmp r3, #0 8055c94: d001 beq.n 8055c9a { Error_Handler(); 8055c96: f000 f80b bl 8055cb0 PeriphClkInitStruct.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_CLK48; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { Error_Handler(); }*/ } 8055c9a: bf00 nop 8055c9c: 37e0 adds r7, #224 ; 0xe0 8055c9e: 46bd mov sp, r7 8055ca0: bd80 pop {r7, pc} 8055ca2: bf00 nop 8055ca4: 40023800 .word 0x40023800 8055ca8: 40007000 .word 0x40007000 8055cac: 00a05028 .word 0x00a05028 08055cb0 : /** * @brief This function is executed in case of error occurrence. * @retval None */ void Error_Handler(void) { 8055cb0: b480 push {r7} 8055cb2: af00 add r7, sp, #0 __ASM volatile ("cpsid i" : : : "memory"); 8055cb4: 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) 8055cb6: e7fe b.n 8055cb6 08055cb8 : void MAX11270_Init(void) { 8055cb8: b580 push {r7, lr} 8055cba: b084 sub sp, #16 8055cbc: af02 add r7, sp, #8 __IO uint32_t dly; __IO uint32_t tick; memset(aTxBuffer, 0, sizeof(aTxBuffer)); 8055cbe: 2204 movs r2, #4 8055cc0: 2100 movs r1, #0 8055cc2: 483e ldr r0, [pc, #248] ; (8055dbc ) 8055cc4: f07b fb6c bl 80d13a0 HAL_GPIO_WritePin(RSTB_GPIO_Port, RSTB_Pin, GPIO_PIN_RESET); 8055cc8: 2200 movs r2, #0 8055cca: 2104 movs r1, #4 8055ccc: 483c ldr r0, [pc, #240] ; (8055dc0 ) 8055cce: f063 fd65 bl 80b979c HAL_Delay(200); 8055cd2: 20c8 movs r0, #200 ; 0xc8 8055cd4: f061 f8b2 bl 80b6e3c HAL_GPIO_WritePin(RSTB_GPIO_Port, RSTB_Pin, GPIO_PIN_SET); 8055cd8: 2201 movs r2, #1 8055cda: 2104 movs r1, #4 8055cdc: 4838 ldr r0, [pc, #224] ; (8055dc0 ) 8055cde: f063 fd5d bl 80b979c HAL_Delay(200); 8055ce2: 20c8 movs r0, #200 ; 0xc8 8055ce4: f061 f8aa bl 80b6e3c aTxBuffer[0] = WRITE | CTRL1_REG; 8055ce8: 4b34 ldr r3, [pc, #208] ; (8055dbc ) 8055cea: 22c2 movs r2, #194 ; 0xc2 8055cec: 701a strb r2, [r3, #0] aTxBuffer[1] = SYNC_BIT | /*UB_BIT |*/ FORMAT_BIT | CONTSC_BIT; 8055cee: 4b33 ldr r3, [pc, #204] ; (8055dbc ) 8055cf0: 2245 movs r2, #69 ; 0x45 8055cf2: 705a strb r2, [r3, #1] HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 8055cf4: 2200 movs r2, #0 8055cf6: f44f 4100 mov.w r1, #32768 ; 0x8000 8055cfa: 4832 ldr r0, [pc, #200] ; (8055dc4 ) 8055cfc: f063 fd4e bl 80b979c for(dly = 3; dly > 0; dly--); 8055d00: 2303 movs r3, #3 8055d02: 607b str r3, [r7, #4] 8055d04: e002 b.n 8055d0c 8055d06: 687b ldr r3, [r7, #4] 8055d08: 3b01 subs r3, #1 8055d0a: 607b str r3, [r7, #4] 8055d0c: 687b ldr r3, [r7, #4] 8055d0e: 2b00 cmp r3, #0 8055d10: d1f9 bne.n 8055d06 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 2, 100); 8055d12: 2364 movs r3, #100 ; 0x64 8055d14: 9300 str r3, [sp, #0] 8055d16: 2302 movs r3, #2 8055d18: 4a2b ldr r2, [pc, #172] ; (8055dc8 ) 8055d1a: 4928 ldr r1, [pc, #160] ; (8055dbc ) 8055d1c: 482b ldr r0, [pc, #172] ; (8055dcc ) 8055d1e: f069 fd3f bl 80bf7a0 for(dly = 3; dly > 0; dly--); 8055d22: 2303 movs r3, #3 8055d24: 607b str r3, [r7, #4] 8055d26: e002 b.n 8055d2e 8055d28: 687b ldr r3, [r7, #4] 8055d2a: 3b01 subs r3, #1 8055d2c: 607b str r3, [r7, #4] 8055d2e: 687b ldr r3, [r7, #4] 8055d30: 2b00 cmp r3, #0 8055d32: d1f9 bne.n 8055d28 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8055d34: 2201 movs r2, #1 8055d36: f44f 4100 mov.w r1, #32768 ; 0x8000 8055d3a: 4822 ldr r0, [pc, #136] ; (8055dc4 ) 8055d3c: f063 fd2e bl 80b979c aTxBuffer[0] = WRITE | GAIN_REG; 8055d40: 4b1e ldr r3, [pc, #120] ; (8055dbc ) 8055d42: 22c4 movs r2, #196 ; 0xc4 8055d44: 701a strb r2, [r3, #0] aTxBuffer[1] = LPMODE_BIT | PGAEN_BIT | SGAIN[Ku1]; 8055d46: 2300 movs r3, #0 8055d48: f043 0318 orr.w r3, r3, #24 8055d4c: b2da uxtb r2, r3 8055d4e: 4b1b ldr r3, [pc, #108] ; (8055dbc ) 8055d50: 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); 8055d52: 2200 movs r2, #0 8055d54: f44f 4100 mov.w r1, #32768 ; 0x8000 8055d58: 481a ldr r0, [pc, #104] ; (8055dc4 ) 8055d5a: f063 fd1f bl 80b979c for(dly = 3; dly > 0; dly--); 8055d5e: 2303 movs r3, #3 8055d60: 607b str r3, [r7, #4] 8055d62: e002 b.n 8055d6a 8055d64: 687b ldr r3, [r7, #4] 8055d66: 3b01 subs r3, #1 8055d68: 607b str r3, [r7, #4] 8055d6a: 687b ldr r3, [r7, #4] 8055d6c: 2b00 cmp r3, #0 8055d6e: d1f9 bne.n 8055d64 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 2, 100); 8055d70: 2364 movs r3, #100 ; 0x64 8055d72: 9300 str r3, [sp, #0] 8055d74: 2302 movs r3, #2 8055d76: 4a14 ldr r2, [pc, #80] ; (8055dc8 ) 8055d78: 4910 ldr r1, [pc, #64] ; (8055dbc ) 8055d7a: 4814 ldr r0, [pc, #80] ; (8055dcc ) 8055d7c: f069 fd10 bl 80bf7a0 for(dly = 3; dly > 0; dly--); 8055d80: 2303 movs r3, #3 8055d82: 607b str r3, [r7, #4] 8055d84: e002 b.n 8055d8c 8055d86: 687b ldr r3, [r7, #4] 8055d88: 3b01 subs r3, #1 8055d8a: 607b str r3, [r7, #4] 8055d8c: 687b ldr r3, [r7, #4] 8055d8e: 2b00 cmp r3, #0 8055d90: d1f9 bne.n 8055d86 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8055d92: 2201 movs r2, #1 8055d94: f44f 4100 mov.w r1, #32768 ; 0x8000 8055d98: 480a ldr r0, [pc, #40] ; (8055dc4 ) 8055d9a: f063 fcff bl 80b979c HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); } while(!(aRxBuffer.ch[0] & PDSTAT1_BIT));*/ tick = HAL_GetTick() - tick; 8055d9e: f061 f841 bl 80b6e24 8055da2: 4602 mov r2, r0 8055da4: 683b ldr r3, [r7, #0] 8055da6: 1ad3 subs r3, r2, r3 8055da8: 603b str r3, [r7, #0] tick = 0; 8055daa: 2300 movs r3, #0 8055dac: 603b str r3, [r7, #0] MAX11270_StopMeas(); 8055dae: f000 f879 bl 8055ea4 } 8055db2: bf00 nop 8055db4: 3708 adds r7, #8 8055db6: 46bd mov sp, r7 8055db8: bd80 pop {r7, pc} 8055dba: bf00 nop 8055dbc: 200216c4 .word 0x200216c4 8055dc0: 40020400 .word 0x40020400 8055dc4: 40020000 .word 0x40020000 8055dc8: 20068770 .word 0x20068770 8055dcc: 20068774 .word 0x20068774 08055dd0 : void MAX11270_StartMeas(void) { 8055dd0: b580 push {r7, lr} 8055dd2: b084 sub sp, #16 8055dd4: af02 add r7, sp, #8 __IO uint32_t dly; __IO uint32_t timeout; ADC_Started = false; 8055dd6: 4b2b ldr r3, [pc, #172] ; (8055e84 ) 8055dd8: 2200 movs r2, #0 8055dda: 701a strb r2, [r3, #0] memset(aTxBuffer, 0, sizeof(aTxBuffer)); 8055ddc: 2204 movs r2, #4 8055dde: 2100 movs r1, #0 8055de0: 4829 ldr r0, [pc, #164] ; (8055e88 ) 8055de2: f07b fadd bl 80d13a0 aTxBuffer[0] = COMMAND | SRATE[pardata.FRQ]; 8055de6: 4b29 ldr r3, [pc, #164] ; (8055e8c ) 8055de8: 7adb ldrb r3, [r3, #11] 8055dea: b2db uxtb r3, r3 8055dec: 461a mov r2, r3 8055dee: 4b28 ldr r3, [pc, #160] ; (8055e90 ) 8055df0: 5c9b ldrb r3, [r3, r2] 8055df2: f063 037f orn r3, r3, #127 ; 0x7f 8055df6: b2da uxtb r2, r3 8055df8: 4b23 ldr r3, [pc, #140] ; (8055e88 ) 8055dfa: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 8055dfc: 2200 movs r2, #0 8055dfe: f44f 4100 mov.w r1, #32768 ; 0x8000 8055e02: 4824 ldr r0, [pc, #144] ; (8055e94 ) 8055e04: f063 fcca bl 80b979c for(dly = 3; dly > 0; dly--); 8055e08: 2303 movs r3, #3 8055e0a: 607b str r3, [r7, #4] 8055e0c: e002 b.n 8055e14 8055e0e: 687b ldr r3, [r7, #4] 8055e10: 3b01 subs r3, #1 8055e12: 607b str r3, [r7, #4] 8055e14: 687b ldr r3, [r7, #4] 8055e16: 2b00 cmp r3, #0 8055e18: d1f9 bne.n 8055e0e HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 1, 100); 8055e1a: 2364 movs r3, #100 ; 0x64 8055e1c: 9300 str r3, [sp, #0] 8055e1e: 2301 movs r3, #1 8055e20: 4a1d ldr r2, [pc, #116] ; (8055e98 ) 8055e22: 4919 ldr r1, [pc, #100] ; (8055e88 ) 8055e24: 481d ldr r0, [pc, #116] ; (8055e9c ) 8055e26: f069 fcbb bl 80bf7a0 for(dly = 3; dly > 0; dly--); 8055e2a: 2303 movs r3, #3 8055e2c: 607b str r3, [r7, #4] 8055e2e: e002 b.n 8055e36 8055e30: 687b ldr r3, [r7, #4] 8055e32: 3b01 subs r3, #1 8055e34: 607b str r3, [r7, #4] 8055e36: 687b ldr r3, [r7, #4] 8055e38: 2b00 cmp r3, #0 8055e3a: d1f9 bne.n 8055e30 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8055e3c: 2201 movs r2, #1 8055e3e: f44f 4100 mov.w r1, #32768 ; 0x8000 8055e42: 4814 ldr r0, [pc, #80] ; (8055e94 ) 8055e44: f063 fcaa bl 80b979c __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); 8055e48: 4b15 ldr r3, [pc, #84] ; (8055ea0 ) 8055e4a: 2208 movs r2, #8 8055e4c: 615a str r2, [r3, #20] HAL_NVIC_EnableIRQ(EXTI3_IRQn); 8055e4e: 2009 movs r0, #9 8055e50: f061 ff5b bl 80b7d0a timeout = HAL_GetTick(); 8055e54: f060 ffe6 bl 80b6e24 8055e58: 4603 mov r3, r0 8055e5a: 603b str r3, [r7, #0] while((!ADC_Started) && ((HAL_GetTick() - timeout) < 100)); 8055e5c: bf00 nop 8055e5e: 4b09 ldr r3, [pc, #36] ; (8055e84 ) 8055e60: 781b ldrb r3, [r3, #0] 8055e62: b2db uxtb r3, r3 8055e64: f083 0301 eor.w r3, r3, #1 8055e68: b2db uxtb r3, r3 8055e6a: 2b00 cmp r3, #0 8055e6c: d006 beq.n 8055e7c 8055e6e: f060 ffd9 bl 80b6e24 8055e72: 4602 mov r2, r0 8055e74: 683b ldr r3, [r7, #0] 8055e76: 1ad3 subs r3, r2, r3 8055e78: 2b63 cmp r3, #99 ; 0x63 8055e7a: d9f0 bls.n 8055e5e } 8055e7c: bf00 nop 8055e7e: 3708 adds r7, #8 8055e80: 46bd mov sp, r7 8055e82: bd80 pop {r7, pc} 8055e84: 20020d94 .word 0x20020d94 8055e88: 200216c4 .word 0x200216c4 8055e8c: 20023ea8 .word 0x20023ea8 8055e90: 080f2c64 .word 0x080f2c64 8055e94: 40020000 .word 0x40020000 8055e98: 20068770 .word 0x20068770 8055e9c: 20068774 .word 0x20068774 8055ea0: 40013c00 .word 0x40013c00 08055ea4 : void MAX11270_StopMeas(void) { 8055ea4: b580 push {r7, lr} 8055ea6: b082 sub sp, #8 8055ea8: af00 add r7, sp, #0 __IO uint32_t dly; ADC_Started = false; 8055eaa: 4b09 ldr r3, [pc, #36] ; (8055ed0 ) 8055eac: 2200 movs r2, #0 8055eae: 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); 8055eb0: 4b08 ldr r3, [pc, #32] ; (8055ed4 ) 8055eb2: 2208 movs r2, #8 8055eb4: 615a str r2, [r3, #20] HAL_NVIC_DisableIRQ(EXTI3_IRQn); 8055eb6: 2009 movs r0, #9 8055eb8: f061 ff35 bl 80b7d26 __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); 8055ebc: 4b05 ldr r3, [pc, #20] ; (8055ed4 ) 8055ebe: 2208 movs r2, #8 8055ec0: 615a str r2, [r3, #20] ADC_Started = false; 8055ec2: 4b03 ldr r3, [pc, #12] ; (8055ed0 ) 8055ec4: 2200 movs r2, #0 8055ec6: 701a strb r2, [r3, #0] } 8055ec8: bf00 nop 8055eca: 3708 adds r7, #8 8055ecc: 46bd mov sp, r7 8055ece: bd80 pop {r7, pc} 8055ed0: 20020d94 .word 0x20020d94 8055ed4: 40013c00 .word 0x40013c00 08055ed8 : void MAX11270_SetGain(uint8_t ku) { 8055ed8: b580 push {r7, lr} 8055eda: b086 sub sp, #24 8055edc: af02 add r7, sp, #8 8055ede: 4603 mov r3, r0 8055ee0: 71fb strb r3, [r7, #7] __IO uint32_t dly, i; for(i = 0; i < 3; i++) 8055ee2: 2300 movs r3, #0 8055ee4: 60bb str r3, [r7, #8] 8055ee6: e04a b.n 8055f7e { HAL_Delay(20); 8055ee8: 2014 movs r0, #20 8055eea: f060 ffa7 bl 80b6e3c memset(aTxBuffer, 0, sizeof(aTxBuffer)); 8055eee: 2204 movs r2, #4 8055ef0: 2100 movs r1, #0 8055ef2: 4826 ldr r0, [pc, #152] ; (8055f8c ) 8055ef4: f07b fa54 bl 80d13a0 aTxBuffer[0] = WRITE | GAIN_REG; 8055ef8: 4b24 ldr r3, [pc, #144] ; (8055f8c ) 8055efa: 22c4 movs r2, #196 ; 0xc4 8055efc: 701a strb r2, [r3, #0] aTxBuffer[1] = PGAEN_BIT | SGAIN[ku]; 8055efe: 79fb ldrb r3, [r7, #7] 8055f00: 4a23 ldr r2, [pc, #140] ; (8055f90 ) 8055f02: 5cd3 ldrb r3, [r2, r3] 8055f04: f043 0308 orr.w r3, r3, #8 8055f08: b2da uxtb r2, r3 8055f0a: 4b20 ldr r3, [pc, #128] ; (8055f8c ) 8055f0c: 705a strb r2, [r3, #1] if(pardata.IKU < Ku16) 8055f0e: 4b21 ldr r3, [pc, #132] ; (8055f94 ) 8055f10: 7a1b ldrb r3, [r3, #8] 8055f12: b2db uxtb r3, r3 8055f14: 2b03 cmp r3, #3 8055f16: d806 bhi.n 8055f26 aTxBuffer[1] |= LPMODE_BIT; 8055f18: 4b1c ldr r3, [pc, #112] ; (8055f8c ) 8055f1a: 785b ldrb r3, [r3, #1] 8055f1c: f043 0310 orr.w r3, r3, #16 8055f20: b2da uxtb r2, r3 8055f22: 4b1a ldr r3, [pc, #104] ; (8055f8c ) 8055f24: 705a strb r2, [r3, #1] //aTxBuffer[1] |= DGAIN0_BIT | DGAIN1_BIT; HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 8055f26: 2200 movs r2, #0 8055f28: f44f 4100 mov.w r1, #32768 ; 0x8000 8055f2c: 481a ldr r0, [pc, #104] ; (8055f98 ) 8055f2e: f063 fc35 bl 80b979c for(dly = 3; dly > 0; dly--); 8055f32: 2303 movs r3, #3 8055f34: 60fb str r3, [r7, #12] 8055f36: e002 b.n 8055f3e 8055f38: 68fb ldr r3, [r7, #12] 8055f3a: 3b01 subs r3, #1 8055f3c: 60fb str r3, [r7, #12] 8055f3e: 68fb ldr r3, [r7, #12] 8055f40: 2b00 cmp r3, #0 8055f42: d1f9 bne.n 8055f38 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 2, 100); 8055f44: 2364 movs r3, #100 ; 0x64 8055f46: 9300 str r3, [sp, #0] 8055f48: 2302 movs r3, #2 8055f4a: 4a14 ldr r2, [pc, #80] ; (8055f9c ) 8055f4c: 490f ldr r1, [pc, #60] ; (8055f8c ) 8055f4e: 4814 ldr r0, [pc, #80] ; (8055fa0 ) 8055f50: f069 fc26 bl 80bf7a0 for(dly = 3; dly > 0; dly--); 8055f54: 2303 movs r3, #3 8055f56: 60fb str r3, [r7, #12] 8055f58: e002 b.n 8055f60 8055f5a: 68fb ldr r3, [r7, #12] 8055f5c: 3b01 subs r3, #1 8055f5e: 60fb str r3, [r7, #12] 8055f60: 68fb ldr r3, [r7, #12] 8055f62: 2b00 cmp r3, #0 8055f64: d1f9 bne.n 8055f5a HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8055f66: 2201 movs r2, #1 8055f68: f44f 4100 mov.w r1, #32768 ; 0x8000 8055f6c: 480a ldr r0, [pc, #40] ; (8055f98 ) 8055f6e: f063 fc15 bl 80b979c HAL_Delay(20); 8055f72: 2014 movs r0, #20 8055f74: f060 ff62 bl 80b6e3c for(i = 0; i < 3; i++) 8055f78: 68bb ldr r3, [r7, #8] 8055f7a: 3301 adds r3, #1 8055f7c: 60bb str r3, [r7, #8] 8055f7e: 68bb ldr r3, [r7, #8] 8055f80: 2b02 cmp r3, #2 8055f82: d9b1 bls.n 8055ee8 } } 8055f84: bf00 nop 8055f86: 3710 adds r7, #16 8055f88: 46bd mov sp, r7 8055f8a: bd80 pop {r7, pc} 8055f8c: 200216c4 .word 0x200216c4 8055f90: 080f2c70 .word 0x080f2c70 8055f94: 20023ea8 .word 0x20023ea8 8055f98: 40020000 .word 0x40020000 8055f9c: 20068770 .word 0x20068770 8055fa0: 20068774 .word 0x20068774 08055fa4 : uint32_t MAX11270_GetData(void) { 8055fa4: b580 push {r7, lr} 8055fa6: b084 sub sp, #16 8055fa8: af02 add r7, sp, #8 int32_t low; uint32_t DataOut; static uint8_t faseCal = 0; aTxBuffer[0] = READ | DATA_REG; 8055faa: 4b1c ldr r3, [pc, #112] ; (805601c ) 8055fac: 22cd movs r2, #205 ; 0xcd 8055fae: 701a strb r2, [r3, #0] aTxBuffer[1] = 0x00; 8055fb0: 4b1a ldr r3, [pc, #104] ; (805601c ) 8055fb2: 2200 movs r2, #0 8055fb4: 705a strb r2, [r3, #1] HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 8055fb6: 2200 movs r2, #0 8055fb8: f44f 4100 mov.w r1, #32768 ; 0x8000 8055fbc: 4818 ldr r0, [pc, #96] ; (8056020 ) 8055fbe: f063 fbed bl 80b979c for(dly = 3; dly > 0; dly--); 8055fc2: 2303 movs r3, #3 8055fc4: 603b str r3, [r7, #0] 8055fc6: e002 b.n 8055fce 8055fc8: 683b ldr r3, [r7, #0] 8055fca: 3b01 subs r3, #1 8055fcc: 603b str r3, [r7, #0] 8055fce: 683b ldr r3, [r7, #0] 8055fd0: 2b00 cmp r3, #0 8055fd2: d1f9 bne.n 8055fc8 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 4, 100); 8055fd4: 2364 movs r3, #100 ; 0x64 8055fd6: 9300 str r3, [sp, #0] 8055fd8: 2304 movs r3, #4 8055fda: 4a12 ldr r2, [pc, #72] ; (8056024 ) 8055fdc: 490f ldr r1, [pc, #60] ; (805601c ) 8055fde: 4812 ldr r0, [pc, #72] ; (8056028 ) 8055fe0: f069 fbde bl 80bf7a0 for(dly = 3; dly > 0; dly--); 8055fe4: 2303 movs r3, #3 8055fe6: 603b str r3, [r7, #0] 8055fe8: e002 b.n 8055ff0 8055fea: 683b ldr r3, [r7, #0] 8055fec: 3b01 subs r3, #1 8055fee: 603b str r3, [r7, #0] 8055ff0: 683b ldr r3, [r7, #0] 8055ff2: 2b00 cmp r3, #0 8055ff4: d1f9 bne.n 8055fea HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8055ff6: 2201 movs r2, #1 8055ff8: f44f 4100 mov.w r1, #32768 ; 0x8000 8055ffc: 4808 ldr r0, [pc, #32] ; (8056020 ) 8055ffe: f063 fbcd bl 80b979c DataOut = ((uint32_t) (aRxBuffer.sh[0] << 8) | aRxBuffer.sh[1]); 8056002: 4b08 ldr r3, [pc, #32] ; (8056024 ) 8056004: 881b ldrh r3, [r3, #0] 8056006: 021b lsls r3, r3, #8 8056008: 461a mov r2, r3 805600a: 4b06 ldr r3, [pc, #24] ; (8056024 ) 805600c: 885b ldrh r3, [r3, #2] 805600e: 4313 orrs r3, r2 8056010: 607b str r3, [r7, #4] return DataOut; 8056012: 687b ldr r3, [r7, #4] } 8056014: 4618 mov r0, r3 8056016: 3708 adds r7, #8 8056018: 46bd mov sp, r7 805601a: bd80 pop {r7, pc} 805601c: 200216c4 .word 0x200216c4 8056020: 40020000 .word 0x40020000 8056024: 20068770 .word 0x20068770 8056028: 20068774 .word 0x20068774 0805602c : void MAX11270_IRQ(void) { 805602c: b580 push {r7, lr} 805602e: b082 sub sp, #8 8056030: af00 add r7, sp, #0 __IO uint32_t Data32; //__IO uint16_t Tacho; Data32 = MAX11270_GetData() & 0xfffffe; 8056032: f7ff ffb7 bl 8055fa4 8056036: 4602 mov r2, r0 8056038: 4b9e ldr r3, [pc, #632] ; (80562b4 ) 805603a: 4013 ands r3, r2 805603c: 607b str r3, [r7, #4] ADC_Started = true; 805603e: 4b9e ldr r3, [pc, #632] ; (80562b8 ) 8056040: 2201 movs r2, #1 8056042: 701a strb r2, [r3, #0] /*#if (defined(USE_D102) || defined(USE_D141) || defined(USE_D142)) Tacho = TACHO_SAMPLE; #endif*/ if(FLAG_CALC_MEAN) 8056044: 4b9d ldr r3, [pc, #628] ; (80562bc ) 8056046: 781b ldrb r3, [r3, #0] 8056048: b2db uxtb r3, r3 805604a: 2b00 cmp r3, #0 805604c: d031 beq.n 80560b2 { REC_MEAN += (float64_t) Data32; 805604e: 687b ldr r3, [r7, #4] 8056050: ee07 3a90 vmov s15, r3 8056054: eeb8 6b67 vcvt.f64.u32 d6, s15 8056058: 4b99 ldr r3, [pc, #612] ; (80562c0 ) 805605a: ed93 7b00 vldr d7, [r3] 805605e: ee36 7b07 vadd.f64 d7, d6, d7 8056062: 4b97 ldr r3, [pc, #604] ; (80562c0 ) 8056064: ed83 7b00 vstr d7, [r3] CNT_MEAN++; 8056068: 4b96 ldr r3, [pc, #600] ; (80562c4 ) 805606a: 681b ldr r3, [r3, #0] 805606c: 3301 adds r3, #1 805606e: 4a95 ldr r2, [pc, #596] ; (80562c4 ) 8056070: 6013 str r3, [r2, #0] if(CNT_MEAN == 102400UL) 8056072: 4b94 ldr r3, [pc, #592] ; (80562c4 ) 8056074: 681b ldr r3, [r3, #0] 8056076: f5b3 3fc8 cmp.w r3, #102400 ; 0x19000 805607a: f040 832b bne.w 80566d4 { REC_MEAN /= (float64_t) CNT_MEAN; 805607e: 4b91 ldr r3, [pc, #580] ; (80562c4 ) 8056080: 681b ldr r3, [r3, #0] 8056082: ee07 3a90 vmov s15, r3 8056086: eeb8 6b67 vcvt.f64.u32 d6, s15 805608a: 4b8d ldr r3, [pc, #564] ; (80562c0 ) 805608c: ed93 5b00 vldr d5, [r3] 8056090: ee85 7b06 vdiv.f64 d7, d5, d6 8056094: 4b8a ldr r3, [pc, #552] ; (80562c0 ) 8056096: ed83 7b00 vstr d7, [r3] MEAN_TEMP = (float32_t) REC_MEAN; 805609a: 4b89 ldr r3, [pc, #548] ; (80562c0 ) 805609c: ed93 7b00 vldr d7, [r3] 80560a0: eef7 7bc7 vcvt.f32.f64 s15, d7 80560a4: 4b88 ldr r3, [pc, #544] ; (80562c8 ) 80560a6: edc3 7a00 vstr s15, [r3] CNT_MEAN = 0; 80560aa: 4b86 ldr r3, [pc, #536] ; (80562c4 ) 80560ac: 2200 movs r2, #0 80560ae: 601a str r2, [r3, #0] } } } } } } 80560b0: e310 b.n 80566d4 if(measuring) 80560b2: 4b86 ldr r3, [pc, #536] ; (80562cc ) 80560b4: 781b ldrb r3, [r3, #0] 80560b6: b2db uxtb r3, r3 80560b8: 2b00 cmp r3, #0 80560ba: f000 830b beq.w 80566d4 AdcBuff(cntADC++) = Data32; 80560be: 4b84 ldr r3, [pc, #528] ; (80562d0 ) 80560c0: 881b ldrh r3, [r3, #0] 80560c2: b29b uxth r3, r3 80560c4: 1c5a adds r2, r3, #1 80560c6: b291 uxth r1, r2 80560c8: 4a81 ldr r2, [pc, #516] ; (80562d0 ) 80560ca: 8011 strh r1, [r2, #0] 80560cc: 009b lsls r3, r3, #2 80560ce: 461a mov r2, r3 80560d0: 4b80 ldr r3, [pc, #512] ; (80562d4 ) 80560d2: 4413 add r3, r2 80560d4: 687a ldr r2, [r7, #4] 80560d6: 601a str r2, [r3, #0] if(cntADC == SIZE_ADC_BUFF) { 80560d8: 4b7d ldr r3, [pc, #500] ; (80562d0 ) 80560da: 881b ldrh r3, [r3, #0] 80560dc: b29b uxth r3, r3 80560de: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80560e2: d102 bne.n 80560ea cntADC = 0; 80560e4: 4b7a ldr r3, [pc, #488] ; (80562d0 ) 80560e6: 2200 movs r2, #0 80560e8: 801a strh r2, [r3, #0] if(pardata.SYG != WAVE) 80560ea: 4b7b ldr r3, [pc, #492] ; (80562d8 ) 80560ec: 781b ldrb r3, [r3, #0] 80560ee: b2db uxtb r3, r3 80560f0: 2b04 cmp r3, #4 80560f2: f000 811e beq.w 8056332 if(FirstTime) 80560f6: 4b79 ldr r3, [pc, #484] ; (80562dc ) 80560f8: 781b ldrb r3, [r3, #0] 80560fa: b2db uxtb r3, r3 80560fc: 2b00 cmp r3, #0 80560fe: d017 beq.n 8056130 if(cntADC >= Ns) 8056100: 4b73 ldr r3, [pc, #460] ; (80562d0 ) 8056102: 881b ldrh r3, [r3, #0] 8056104: b29b uxth r3, r3 8056106: 461a mov r2, r3 8056108: 4b75 ldr r3, [pc, #468] ; (80562e0 ) 805610a: 681b ldr r3, [r3, #0] 805610c: 429a cmp r2, r3 805610e: f0c0 82e1 bcc.w 80566d4 cntmeas = 0; 8056112: 4b74 ldr r3, [pc, #464] ; (80562e4 ) 8056114: 2200 movs r2, #0 8056116: 801a strh r2, [r3, #0] lastcntmeas = cntADC; 8056118: 4b6d ldr r3, [pc, #436] ; (80562d0 ) 805611a: 881b ldrh r3, [r3, #0] 805611c: b29a uxth r2, r3 805611e: 4b72 ldr r3, [pc, #456] ; (80562e8 ) 8056120: 801a strh r2, [r3, #0] FirstTime = false; 8056122: 4b6e ldr r3, [pc, #440] ; (80562dc ) 8056124: 2200 movs r2, #0 8056126: 701a strb r2, [r3, #0] READY = DATA_CAPTURED; 8056128: 4b70 ldr r3, [pc, #448] ; (80562ec ) 805612a: 2207 movs r2, #7 805612c: 701a strb r2, [r3, #0] } 805612e: e2d1 b.n 80566d4 if(Flag_Set_KU == 0) 8056130: 4b6f ldr r3, [pc, #444] ; (80562f0 ) 8056132: 781b ldrb r3, [r3, #0] 8056134: b2db uxtb r3, r3 8056136: 2b00 cmp r3, #0 8056138: d107 bne.n 805614a cntmeas++; 805613a: 4b6a ldr r3, [pc, #424] ; (80562e4 ) 805613c: 881b ldrh r3, [r3, #0] 805613e: b29b uxth r3, r3 8056140: 3301 adds r3, #1 8056142: b29a uxth r2, r3 8056144: 4b67 ldr r3, [pc, #412] ; (80562e4 ) 8056146: 801a strh r2, [r3, #0] 8056148: e00a b.n 8056160 cntmeas = 0; 805614a: 4b66 ldr r3, [pc, #408] ; (80562e4 ) 805614c: 2200 movs r2, #0 805614e: 801a strh r2, [r3, #0] if(READY == DATA_CAPTURED) { 8056150: 4b66 ldr r3, [pc, #408] ; (80562ec ) 8056152: 781b ldrb r3, [r3, #0] 8056154: b2db uxtb r3, r3 8056156: 2b07 cmp r3, #7 8056158: d102 bne.n 8056160 READY = DATA_FREE; 805615a: 4b64 ldr r3, [pc, #400] ; (80562ec ) 805615c: 2200 movs r2, #0 805615e: 701a strb r2, [r3, #0] switch(pardata.SYG) 8056160: 4b5d ldr r3, [pc, #372] ; (80562d8 ) 8056162: 781b ldrb r3, [r3, #0] 8056164: b2db uxtb r3, r3 8056166: 2b0a cmp r3, #10 8056168: f200 82b4 bhi.w 80566d4 805616c: a201 add r2, pc, #4 ; (adr r2, 8056174 ) 805616e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8056172: bf00 nop 8056174: 080561a1 .word 0x080561a1 8056178: 080562f9 .word 0x080562f9 805617c: 080561fd .word 0x080561fd 8056180: 080561a1 .word 0x080561a1 8056184: 080566d5 .word 0x080566d5 8056188: 080562f9 .word 0x080562f9 805618c: 08056259 .word 0x08056259 8056190: 08056259 .word 0x08056259 8056194: 080562f9 .word 0x080562f9 8056198: 080561fd .word 0x080561fd 805619c: 080561a1 .word 0x080561a1 if(cntmeas >= Ns) 80561a0: 4b50 ldr r3, [pc, #320] ; (80562e4 ) 80561a2: 881b ldrh r3, [r3, #0] 80561a4: b29b uxth r3, r3 80561a6: 461a mov r2, r3 80561a8: 4b4d ldr r3, [pc, #308] ; (80562e0 ) 80561aa: 681b ldr r3, [r3, #0] 80561ac: 429a cmp r2, r3 80561ae: f0c0 828a bcc.w 80566c6 if(cntmeas == Ns) { 80561b2: 4b4c ldr r3, [pc, #304] ; (80562e4 ) 80561b4: 881b ldrh r3, [r3, #0] 80561b6: b29b uxth r3, r3 80561b8: 461a mov r2, r3 80561ba: 4b49 ldr r3, [pc, #292] ; (80562e0 ) 80561bc: 681b ldr r3, [r3, #0] 80561be: 429a cmp r2, r3 80561c0: d104 bne.n 80561cc lastcntmeas = cntADC; 80561c2: 4b43 ldr r3, [pc, #268] ; (80562d0 ) 80561c4: 881b ldrh r3, [r3, #0] 80561c6: b29a uxth r2, r3 80561c8: 4b47 ldr r3, [pc, #284] ; (80562e8 ) 80561ca: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 80561cc: 4b47 ldr r3, [pc, #284] ; (80562ec ) 80561ce: 781b ldrb r3, [r3, #0] 80561d0: b2db uxtb r3, r3 80561d2: 2b00 cmp r3, #0 80561d4: f040 8277 bne.w 80566c6 READY = DATA_CAPTURED; 80561d8: 4b44 ldr r3, [pc, #272] ; (80562ec ) 80561da: 2207 movs r2, #7 80561dc: 701a strb r2, [r3, #0] if(cntmeas > Ns) 80561de: 4b41 ldr r3, [pc, #260] ; (80562e4 ) 80561e0: 881b ldrh r3, [r3, #0] 80561e2: b29b uxth r3, r3 80561e4: 461a mov r2, r3 80561e6: 4b3e ldr r3, [pc, #248] ; (80562e0 ) 80561e8: 681b ldr r3, [r3, #0] 80561ea: 429a cmp r2, r3 80561ec: d902 bls.n 80561f4 DataCopied = false; 80561ee: 4b41 ldr r3, [pc, #260] ; (80562f4 ) 80561f0: 2200 movs r2, #0 80561f2: 701a strb r2, [r3, #0] cntmeas = 0; 80561f4: 4b3b ldr r3, [pc, #236] ; (80562e4 ) 80561f6: 2200 movs r2, #0 80561f8: 801a strh r2, [r3, #0] break; 80561fa: e264 b.n 80566c6 if(cntmeas >= Ns) 80561fc: 4b39 ldr r3, [pc, #228] ; (80562e4 ) 80561fe: 881b ldrh r3, [r3, #0] 8056200: b29b uxth r3, r3 8056202: 461a mov r2, r3 8056204: 4b36 ldr r3, [pc, #216] ; (80562e0 ) 8056206: 681b ldr r3, [r3, #0] 8056208: 429a cmp r2, r3 805620a: f0c0 825e bcc.w 80566ca if(cntmeas == Ns) { 805620e: 4b35 ldr r3, [pc, #212] ; (80562e4 ) 8056210: 881b ldrh r3, [r3, #0] 8056212: b29b uxth r3, r3 8056214: 461a mov r2, r3 8056216: 4b32 ldr r3, [pc, #200] ; (80562e0 ) 8056218: 681b ldr r3, [r3, #0] 805621a: 429a cmp r2, r3 805621c: d104 bne.n 8056228 lastcntmeas = cntADC; 805621e: 4b2c ldr r3, [pc, #176] ; (80562d0 ) 8056220: 881b ldrh r3, [r3, #0] 8056222: b29a uxth r2, r3 8056224: 4b30 ldr r3, [pc, #192] ; (80562e8 ) 8056226: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 8056228: 4b30 ldr r3, [pc, #192] ; (80562ec ) 805622a: 781b ldrb r3, [r3, #0] 805622c: b2db uxtb r3, r3 805622e: 2b00 cmp r3, #0 8056230: f040 824b bne.w 80566ca READY = DATA_CAPTURED; 8056234: 4b2d ldr r3, [pc, #180] ; (80562ec ) 8056236: 2207 movs r2, #7 8056238: 701a strb r2, [r3, #0] if(cntmeas > Ns) 805623a: 4b2a ldr r3, [pc, #168] ; (80562e4 ) 805623c: 881b ldrh r3, [r3, #0] 805623e: b29b uxth r3, r3 8056240: 461a mov r2, r3 8056242: 4b27 ldr r3, [pc, #156] ; (80562e0 ) 8056244: 681b ldr r3, [r3, #0] 8056246: 429a cmp r2, r3 8056248: d902 bls.n 8056250 DataCopied = false; 805624a: 4b2a ldr r3, [pc, #168] ; (80562f4 ) 805624c: 2200 movs r2, #0 805624e: 701a strb r2, [r3, #0] cntmeas = 0; 8056250: 4b24 ldr r3, [pc, #144] ; (80562e4 ) 8056252: 2200 movs r2, #0 8056254: 801a strh r2, [r3, #0] break; 8056256: e238 b.n 80566ca if(cntmeas >= Ns) 8056258: 4b22 ldr r3, [pc, #136] ; (80562e4 ) 805625a: 881b ldrh r3, [r3, #0] 805625c: b29b uxth r3, r3 805625e: 461a mov r2, r3 8056260: 4b1f ldr r3, [pc, #124] ; (80562e0 ) 8056262: 681b ldr r3, [r3, #0] 8056264: 429a cmp r2, r3 8056266: f0c0 8232 bcc.w 80566ce if(cntmeas == Ns) { 805626a: 4b1e ldr r3, [pc, #120] ; (80562e4 ) 805626c: 881b ldrh r3, [r3, #0] 805626e: b29b uxth r3, r3 8056270: 461a mov r2, r3 8056272: 4b1b ldr r3, [pc, #108] ; (80562e0 ) 8056274: 681b ldr r3, [r3, #0] 8056276: 429a cmp r2, r3 8056278: d104 bne.n 8056284 lastcntmeas = cntADC; 805627a: 4b15 ldr r3, [pc, #84] ; (80562d0 ) 805627c: 881b ldrh r3, [r3, #0] 805627e: b29a uxth r2, r3 8056280: 4b19 ldr r3, [pc, #100] ; (80562e8 ) 8056282: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 8056284: 4b19 ldr r3, [pc, #100] ; (80562ec ) 8056286: 781b ldrb r3, [r3, #0] 8056288: b2db uxtb r3, r3 805628a: 2b00 cmp r3, #0 805628c: f040 821f bne.w 80566ce READY = DATA_CAPTURED; 8056290: 4b16 ldr r3, [pc, #88] ; (80562ec ) 8056292: 2207 movs r2, #7 8056294: 701a strb r2, [r3, #0] if(cntmeas > Ns) 8056296: 4b13 ldr r3, [pc, #76] ; (80562e4 ) 8056298: 881b ldrh r3, [r3, #0] 805629a: b29b uxth r3, r3 805629c: 461a mov r2, r3 805629e: 4b10 ldr r3, [pc, #64] ; (80562e0 ) 80562a0: 681b ldr r3, [r3, #0] 80562a2: 429a cmp r2, r3 80562a4: d902 bls.n 80562ac DataCopied = false; 80562a6: 4b13 ldr r3, [pc, #76] ; (80562f4 ) 80562a8: 2200 movs r2, #0 80562aa: 701a strb r2, [r3, #0] cntmeas = 0; 80562ac: 4b0d ldr r3, [pc, #52] ; (80562e4 ) 80562ae: 2200 movs r2, #0 80562b0: 801a strh r2, [r3, #0] break; 80562b2: e20c b.n 80566ce 80562b4: 00fffffe .word 0x00fffffe 80562b8: 20020d94 .word 0x20020d94 80562bc: 200216d6 .word 0x200216d6 80562c0: 200216d8 .word 0x200216d8 80562c4: 200216e0 .word 0x200216e0 80562c8: 200209dc .word 0x200209dc 80562cc: 20020dcf .word 0x20020dcf 80562d0: 20020d9c .word 0x20020d9c 80562d4: 64060000 .word 0x64060000 80562d8: 20023ea8 .word 0x20023ea8 80562dc: 20020dce .word 0x20020dce 80562e0: 20021d24 .word 0x20021d24 80562e4: 20020da0 .word 0x20020da0 80562e8: 20020da4 .word 0x20020da4 80562ec: 20020d9f .word 0x20020d9f 80562f0: 20020d9e .word 0x20020d9e 80562f4: 200216d0 .word 0x200216d0 if(cntmeas >= (Ns >> 2)) 80562f8: 4b86 ldr r3, [pc, #536] ; (8056514 ) 80562fa: 881b ldrh r3, [r3, #0] 80562fc: b29b uxth r3, r3 80562fe: 461a mov r2, r3 8056300: 4b85 ldr r3, [pc, #532] ; (8056518 ) 8056302: 681b ldr r3, [r3, #0] 8056304: 089b lsrs r3, r3, #2 8056306: 429a cmp r2, r3 8056308: f0c0 81e3 bcc.w 80566d2 if(READY == DATA_FREE) 805630c: 4b83 ldr r3, [pc, #524] ; (805651c ) 805630e: 781b ldrb r3, [r3, #0] 8056310: b2db uxtb r3, r3 8056312: 2b00 cmp r3, #0 8056314: f040 81dd bne.w 80566d2 lastcntmeas = cntADC; 8056318: 4b81 ldr r3, [pc, #516] ; (8056520 ) 805631a: 881b ldrh r3, [r3, #0] 805631c: b29a uxth r2, r3 805631e: 4b81 ldr r3, [pc, #516] ; (8056524 ) 8056320: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 8056322: 4b7e ldr r3, [pc, #504] ; (805651c ) 8056324: 2207 movs r2, #7 8056326: 701a strb r2, [r3, #0] cntmeas = 0; 8056328: 4b7a ldr r3, [pc, #488] ; (8056514 ) 805632a: 2200 movs r2, #0 805632c: 801a strh r2, [r3, #0] break; 805632e: bf00 nop 8056330: e1cf b.n 80566d2 if(Threshold) 8056332: 4b7d ldr r3, [pc, #500] ; (8056528 ) 8056334: 781b ldrb r3, [r3, #0] 8056336: b2db uxtb r3, r3 8056338: 2b00 cmp r3, #0 805633a: f000 8157 beq.w 80565ec if(FirstTime) 805633e: 4b7b ldr r3, [pc, #492] ; (805652c ) 8056340: 781b ldrb r3, [r3, #0] 8056342: b2db uxtb r3, r3 8056344: 2b00 cmp r3, #0 8056346: d01c beq.n 8056382 if(cntADC >= (Ns >> 2)) 8056348: 4b75 ldr r3, [pc, #468] ; (8056520 ) 805634a: 881b ldrh r3, [r3, #0] 805634c: b29b uxth r3, r3 805634e: 461a mov r2, r3 8056350: 4b71 ldr r3, [pc, #452] ; (8056518 ) 8056352: 681b ldr r3, [r3, #0] 8056354: 089b lsrs r3, r3, #2 8056356: 429a cmp r2, r3 8056358: f0c0 81bc bcc.w 80566d4 cntmeas = cntmeas1 = 0; 805635c: 2100 movs r1, #0 805635e: 4b74 ldr r3, [pc, #464] ; (8056530 ) 8056360: 460a mov r2, r1 8056362: 801a strh r2, [r3, #0] 8056364: 4b6b ldr r3, [pc, #428] ; (8056514 ) 8056366: 460a mov r2, r1 8056368: 801a strh r2, [r3, #0] lastcntmeas = cntADC; 805636a: 4b6d ldr r3, [pc, #436] ; (8056520 ) 805636c: 881b ldrh r3, [r3, #0] 805636e: b29a uxth r2, r3 8056370: 4b6c ldr r3, [pc, #432] ; (8056524 ) 8056372: 801a strh r2, [r3, #0] FirstTime = false; 8056374: 4b6d ldr r3, [pc, #436] ; (805652c ) 8056376: 2200 movs r2, #0 8056378: 701a strb r2, [r3, #0] RepeatKm = false; 805637a: 4b6e ldr r3, [pc, #440] ; (8056534 ) 805637c: 2200 movs r2, #0 805637e: 701a strb r2, [r3, #0] } 8056380: e1a8 b.n 80566d4 if(Recording == false) 8056382: 4b6d ldr r3, [pc, #436] ; (8056538 ) 8056384: 781b ldrb r3, [r3, #0] 8056386: b2db uxtb r3, r3 8056388: f083 0301 eor.w r3, r3, #1 805638c: b2db uxtb r3, r3 805638e: 2b00 cmp r3, #0 8056390: f000 80e2 beq.w 8056558 if((pardata.IVS[ACC] & 0x3) != RMS) 8056394: 4b69 ldr r3, [pc, #420] ; (805653c ) 8056396: 789b ldrb r3, [r3, #2] 8056398: b2db uxtb r3, r3 805639a: f003 0303 and.w r3, r3, #3 805639e: 2b01 cmp r3, #1 80563a0: d06d beq.n 805647e if(StateThr == 0xffffffff) 80563a2: 4b67 ldr r3, [pc, #412] ; (8056540 ) 80563a4: 681b ldr r3, [r3, #0] 80563a6: f1b3 3fff cmp.w r3, #4294967295 80563aa: d128 bne.n 80563fe if(Data32 >= adcThr) 80563ac: 687a ldr r2, [r7, #4] 80563ae: 4b65 ldr r3, [pc, #404] ; (8056544 ) 80563b0: 681b ldr r3, [r3, #0] 80563b2: 429a cmp r2, r3 80563b4: d30e bcc.n 80563d4 cntmeas = 2049; 80563b6: 4b57 ldr r3, [pc, #348] ; (8056514 ) 80563b8: f640 0201 movw r2, #2049 ; 0x801 80563bc: 801a strh r2, [r3, #0] StateThr = 0xfffffffe; 80563be: 4b60 ldr r3, [pc, #384] ; (8056540 ) 80563c0: f06f 0201 mvn.w r2, #1 80563c4: 601a str r2, [r3, #0] ZeroThr = cntADC; 80563c6: 4b56 ldr r3, [pc, #344] ; (8056520 ) 80563c8: 881b ldrh r3, [r3, #0] 80563ca: b29b uxth r3, r3 80563cc: 461a mov r2, r3 80563ce: 4b5e ldr r3, [pc, #376] ; (8056548 ) 80563d0: 601a str r2, [r3, #0] } 80563d2: e17f b.n 80566d4 if(Data32 <= _adcThr) 80563d4: 687a ldr r2, [r7, #4] 80563d6: 4b5d ldr r3, [pc, #372] ; (805654c ) 80563d8: 681b ldr r3, [r3, #0] 80563da: 429a cmp r2, r3 80563dc: f200 817a bhi.w 80566d4 cntmeas = 2049; 80563e0: 4b4c ldr r3, [pc, #304] ; (8056514 ) 80563e2: f640 0201 movw r2, #2049 ; 0x801 80563e6: 801a strh r2, [r3, #0] StateThr = 0xefffffff; 80563e8: 4b55 ldr r3, [pc, #340] ; (8056540 ) 80563ea: f06f 5280 mvn.w r2, #268435456 ; 0x10000000 80563ee: 601a str r2, [r3, #0] ZeroThr = cntADC; 80563f0: 4b4b ldr r3, [pc, #300] ; (8056520 ) 80563f2: 881b ldrh r3, [r3, #0] 80563f4: b29b uxth r3, r3 80563f6: 461a mov r2, r3 80563f8: 4b53 ldr r3, [pc, #332] ; (8056548 ) 80563fa: 601a str r2, [r3, #0] } 80563fc: e16a b.n 80566d4 if(StateThr == 0xfffffffe) 80563fe: 4b50 ldr r3, [pc, #320] ; (8056540 ) 8056400: 681b ldr r3, [r3, #0] 8056402: f113 0f02 cmn.w r3, #2 8056406: d119 bne.n 805643c if(Data32 >= adcThr) 8056408: 687a ldr r2, [r7, #4] 805640a: 4b4e ldr r3, [pc, #312] ; (8056544 ) 805640c: 681b ldr r3, [r3, #0] 805640e: 429a cmp r2, r3 8056410: d30f bcc.n 8056432 StateThr = 0xffffffff; 8056412: 4b4b ldr r3, [pc, #300] ; (8056540 ) 8056414: f04f 32ff mov.w r2, #4294967295 8056418: 601a str r2, [r3, #0] cntmeas = 2050; 805641a: 4b3e ldr r3, [pc, #248] ; (8056514 ) 805641c: f640 0202 movw r2, #2050 ; 0x802 8056420: 801a strh r2, [r3, #0] TimeRec = 2050; 8056422: 4b4b ldr r3, [pc, #300] ; (8056550 ) 8056424: f640 0202 movw r2, #2050 ; 0x802 8056428: 601a str r2, [r3, #0] Recording = true; 805642a: 4b43 ldr r3, [pc, #268] ; (8056538 ) 805642c: 2201 movs r2, #1 805642e: 701a strb r2, [r3, #0] } 8056430: e150 b.n 80566d4 StateThr = 0xffffffff; 8056432: 4b43 ldr r3, [pc, #268] ; (8056540 ) 8056434: f04f 32ff mov.w r2, #4294967295 8056438: 601a str r2, [r3, #0] } 805643a: e14b b.n 80566d4 if(StateThr == 0xefffffff) 805643c: 4b40 ldr r3, [pc, #256] ; (8056540 ) 805643e: 681b ldr r3, [r3, #0] 8056440: f06f 5280 mvn.w r2, #268435456 ; 0x10000000 8056444: 4293 cmp r3, r2 8056446: f040 8145 bne.w 80566d4 if(Data32 <= _adcThr) 805644a: 687a ldr r2, [r7, #4] 805644c: 4b3f ldr r3, [pc, #252] ; (805654c ) 805644e: 681b ldr r3, [r3, #0] 8056450: 429a cmp r2, r3 8056452: d80f bhi.n 8056474 StateThr = 0xffffffff; 8056454: 4b3a ldr r3, [pc, #232] ; (8056540 ) 8056456: f04f 32ff mov.w r2, #4294967295 805645a: 601a str r2, [r3, #0] cntmeas = 2050; 805645c: 4b2d ldr r3, [pc, #180] ; (8056514 ) 805645e: f640 0202 movw r2, #2050 ; 0x802 8056462: 801a strh r2, [r3, #0] TimeRec = 2050; 8056464: 4b3a ldr r3, [pc, #232] ; (8056550 ) 8056466: f640 0202 movw r2, #2050 ; 0x802 805646a: 601a str r2, [r3, #0] Recording = true; 805646c: 4b32 ldr r3, [pc, #200] ; (8056538 ) 805646e: 2201 movs r2, #1 8056470: 701a strb r2, [r3, #0] } 8056472: e12f b.n 80566d4 StateThr = 0xffffffff; 8056474: 4b32 ldr r3, [pc, #200] ; (8056540 ) 8056476: f04f 32ff mov.w r2, #4294967295 805647a: 601a str r2, [r3, #0] } 805647c: e12a b.n 80566d4 cntmeas++; 805647e: 4b25 ldr r3, [pc, #148] ; (8056514 ) 8056480: 881b ldrh r3, [r3, #0] 8056482: b29b uxth r3, r3 8056484: 3301 adds r3, #1 8056486: b29a uxth r2, r3 8056488: 4b22 ldr r3, [pc, #136] ; (8056514 ) 805648a: 801a strh r2, [r3, #0] if(cntmeas >= Ns) 805648c: 4b21 ldr r3, [pc, #132] ; (8056514 ) 805648e: 881b ldrh r3, [r3, #0] 8056490: b29b uxth r3, r3 8056492: 461a mov r2, r3 8056494: 4b20 ldr r3, [pc, #128] ; (8056518 ) 8056496: 681b ldr r3, [r3, #0] 8056498: 429a cmp r2, r3 805649a: f0c0 811b bcc.w 80566d4 if(cntmeas == Ns) 805649e: 4b1d ldr r3, [pc, #116] ; (8056514 ) 80564a0: 881b ldrh r3, [r3, #0] 80564a2: b29b uxth r3, r3 80564a4: 461a mov r2, r3 80564a6: 4b1c ldr r3, [pc, #112] ; (8056518 ) 80564a8: 681b ldr r3, [r3, #0] 80564aa: 429a cmp r2, r3 80564ac: d10e bne.n 80564cc lastcntmeas = cntADC; 80564ae: 4b1c ldr r3, [pc, #112] ; (8056520 ) 80564b0: 881b ldrh r3, [r3, #0] 80564b2: b29a uxth r2, r3 80564b4: 4b1b ldr r3, [pc, #108] ; (8056524 ) 80564b6: 801a strh r2, [r3, #0] measlen = Ns; 80564b8: 4b17 ldr r3, [pc, #92] ; (8056518 ) 80564ba: 681b ldr r3, [r3, #0] 80564bc: b29a uxth r2, r3 80564be: 4b25 ldr r3, [pc, #148] ; (8056554 ) 80564c0: 801a strh r2, [r3, #0] cntmeas1 = cntmeas; 80564c2: 4b14 ldr r3, [pc, #80] ; (8056514 ) 80564c4: 881b ldrh r3, [r3, #0] 80564c6: b29a uxth r2, r3 80564c8: 4b19 ldr r3, [pc, #100] ; (8056530 ) 80564ca: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 80564cc: 4b13 ldr r3, [pc, #76] ; (805651c ) 80564ce: 781b ldrb r3, [r3, #0] 80564d0: b2db uxtb r3, r3 80564d2: 2b00 cmp r3, #0 80564d4: f040 80fe bne.w 80566d4 if(cntmeas > cntmeas1) 80564d8: 4b0e ldr r3, [pc, #56] ; (8056514 ) 80564da: 881b ldrh r3, [r3, #0] 80564dc: b29a uxth r2, r3 80564de: 4b14 ldr r3, [pc, #80] ; (8056530 ) 80564e0: 881b ldrh r3, [r3, #0] 80564e2: b29b uxth r3, r3 80564e4: 429a cmp r2, r3 80564e6: d90a bls.n 80564fe cntmeas -= cntmeas1; 80564e8: 4b11 ldr r3, [pc, #68] ; (8056530 ) 80564ea: 881b ldrh r3, [r3, #0] 80564ec: b29b uxth r3, r3 80564ee: 4a09 ldr r2, [pc, #36] ; (8056514 ) 80564f0: 8812 ldrh r2, [r2, #0] 80564f2: b292 uxth r2, r2 80564f4: 1ad3 subs r3, r2, r3 80564f6: b29a uxth r2, r3 80564f8: 4b06 ldr r3, [pc, #24] ; (8056514 ) 80564fa: 801a strh r2, [r3, #0] 80564fc: e002 b.n 8056504 else cntmeas = 0; 80564fe: 4b05 ldr r3, [pc, #20] ; (8056514 ) 8056500: 2200 movs r2, #0 8056502: 801a strh r2, [r3, #0] cntmeas1 = 0; 8056504: 4b0a ldr r3, [pc, #40] ; (8056530 ) 8056506: 2200 movs r2, #0 8056508: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 805650a: 4b04 ldr r3, [pc, #16] ; (805651c ) 805650c: 2207 movs r2, #7 805650e: 701a strb r2, [r3, #0] } 8056510: e0e0 b.n 80566d4 8056512: bf00 nop 8056514: 20020da0 .word 0x20020da0 8056518: 20021d24 .word 0x20021d24 805651c: 20020d9f .word 0x20020d9f 8056520: 20020d9c .word 0x20020d9c 8056524: 20020da4 .word 0x20020da4 8056528: 20020dd1 .word 0x20020dd1 805652c: 20020dce .word 0x20020dce 8056530: 20020da2 .word 0x20020da2 8056534: 20020dcc .word 0x20020dcc 8056538: 20020dd0 .word 0x20020dd0 805653c: 20023ea8 .word 0x20023ea8 8056540: 2002002c .word 0x2002002c 8056544: 20020ddc .word 0x20020ddc 8056548: 20020de4 .word 0x20020de4 805654c: 20020de0 .word 0x20020de0 8056550: 200216cc .word 0x200216cc 8056554: 20020dac .word 0x20020dac cntmeas++; 8056558: 4b60 ldr r3, [pc, #384] ; (80566dc ) 805655a: 881b ldrh r3, [r3, #0] 805655c: b29b uxth r3, r3 805655e: 3301 adds r3, #1 8056560: b29a uxth r2, r3 8056562: 4b5e ldr r3, [pc, #376] ; (80566dc ) 8056564: 801a strh r2, [r3, #0] if(cntmeas >= Ns) 8056566: 4b5d ldr r3, [pc, #372] ; (80566dc ) 8056568: 881b ldrh r3, [r3, #0] 805656a: b29b uxth r3, r3 805656c: 461a mov r2, r3 805656e: 4b5c ldr r3, [pc, #368] ; (80566e0 ) 8056570: 681b ldr r3, [r3, #0] 8056572: 429a cmp r2, r3 8056574: f0c0 80ae bcc.w 80566d4 if(cntmeas == Ns) 8056578: 4b58 ldr r3, [pc, #352] ; (80566dc ) 805657a: 881b ldrh r3, [r3, #0] 805657c: b29b uxth r3, r3 805657e: 461a mov r2, r3 8056580: 4b57 ldr r3, [pc, #348] ; (80566e0 ) 8056582: 681b ldr r3, [r3, #0] 8056584: 429a cmp r2, r3 8056586: d10e bne.n 80565a6 lastcntmeas = cntADC; 8056588: 4b56 ldr r3, [pc, #344] ; (80566e4 ) 805658a: 881b ldrh r3, [r3, #0] 805658c: b29a uxth r2, r3 805658e: 4b56 ldr r3, [pc, #344] ; (80566e8 ) 8056590: 801a strh r2, [r3, #0] measlen = Ns; 8056592: 4b53 ldr r3, [pc, #332] ; (80566e0 ) 8056594: 681b ldr r3, [r3, #0] 8056596: b29a uxth r2, r3 8056598: 4b54 ldr r3, [pc, #336] ; (80566ec ) 805659a: 801a strh r2, [r3, #0] cntmeas1 = cntmeas; 805659c: 4b4f ldr r3, [pc, #316] ; (80566dc ) 805659e: 881b ldrh r3, [r3, #0] 80565a0: b29a uxth r2, r3 80565a2: 4b53 ldr r3, [pc, #332] ; (80566f0 ) 80565a4: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 80565a6: 4b53 ldr r3, [pc, #332] ; (80566f4 ) 80565a8: 781b ldrb r3, [r3, #0] 80565aa: b2db uxtb r3, r3 80565ac: 2b00 cmp r3, #0 80565ae: f040 8091 bne.w 80566d4 if(cntmeas > cntmeas1) 80565b2: 4b4a ldr r3, [pc, #296] ; (80566dc ) 80565b4: 881b ldrh r3, [r3, #0] 80565b6: b29a uxth r2, r3 80565b8: 4b4d ldr r3, [pc, #308] ; (80566f0 ) 80565ba: 881b ldrh r3, [r3, #0] 80565bc: b29b uxth r3, r3 80565be: 429a cmp r2, r3 80565c0: d90a bls.n 80565d8 cntmeas -= cntmeas1; 80565c2: 4b4b ldr r3, [pc, #300] ; (80566f0 ) 80565c4: 881b ldrh r3, [r3, #0] 80565c6: b29b uxth r3, r3 80565c8: 4a44 ldr r2, [pc, #272] ; (80566dc ) 80565ca: 8812 ldrh r2, [r2, #0] 80565cc: b292 uxth r2, r2 80565ce: 1ad3 subs r3, r2, r3 80565d0: b29a uxth r2, r3 80565d2: 4b42 ldr r3, [pc, #264] ; (80566dc ) 80565d4: 801a strh r2, [r3, #0] 80565d6: e002 b.n 80565de else cntmeas = 0; 80565d8: 4b40 ldr r3, [pc, #256] ; (80566dc ) 80565da: 2200 movs r2, #0 80565dc: 801a strh r2, [r3, #0] cntmeas1 = 0; 80565de: 4b44 ldr r3, [pc, #272] ; (80566f0 ) 80565e0: 2200 movs r2, #0 80565e2: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 80565e4: 4b43 ldr r3, [pc, #268] ; (80566f4 ) 80565e6: 2207 movs r2, #7 80565e8: 701a strb r2, [r3, #0] } 80565ea: e073 b.n 80566d4 if(FirstTime) 80565ec: 4b42 ldr r3, [pc, #264] ; (80566f8 ) 80565ee: 781b ldrb r3, [r3, #0] 80565f0: b2db uxtb r3, r3 80565f2: 2b00 cmp r3, #0 80565f4: d01f beq.n 8056636 if(cntADC >= Ns) 80565f6: 4b3b ldr r3, [pc, #236] ; (80566e4 ) 80565f8: 881b ldrh r3, [r3, #0] 80565fa: b29b uxth r3, r3 80565fc: 461a mov r2, r3 80565fe: 4b38 ldr r3, [pc, #224] ; (80566e0 ) 8056600: 681b ldr r3, [r3, #0] 8056602: 429a cmp r2, r3 8056604: d366 bcc.n 80566d4 measlen = cntADC; 8056606: 4b37 ldr r3, [pc, #220] ; (80566e4 ) 8056608: 881b ldrh r3, [r3, #0] 805660a: b29a uxth r2, r3 805660c: 4b37 ldr r3, [pc, #220] ; (80566ec ) 805660e: 801a strh r2, [r3, #0] lastcntmeas = cntADC; 8056610: 4b34 ldr r3, [pc, #208] ; (80566e4 ) 8056612: 881b ldrh r3, [r3, #0] 8056614: b29a uxth r2, r3 8056616: 4b34 ldr r3, [pc, #208] ; (80566e8 ) 8056618: 801a strh r2, [r3, #0] FirstTime = false; 805661a: 4b37 ldr r3, [pc, #220] ; (80566f8 ) 805661c: 2200 movs r2, #0 805661e: 701a strb r2, [r3, #0] cntmeas = cntmeas1 = 0; 8056620: 2100 movs r1, #0 8056622: 4b33 ldr r3, [pc, #204] ; (80566f0 ) 8056624: 460a mov r2, r1 8056626: 801a strh r2, [r3, #0] 8056628: 4b2c ldr r3, [pc, #176] ; (80566dc ) 805662a: 460a mov r2, r1 805662c: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 805662e: 4b31 ldr r3, [pc, #196] ; (80566f4 ) 8056630: 2207 movs r2, #7 8056632: 701a strb r2, [r3, #0] } 8056634: e04e b.n 80566d4 cntmeas++; 8056636: 4b29 ldr r3, [pc, #164] ; (80566dc ) 8056638: 881b ldrh r3, [r3, #0] 805663a: b29b uxth r3, r3 805663c: 3301 adds r3, #1 805663e: b29a uxth r2, r3 8056640: 4b26 ldr r3, [pc, #152] ; (80566dc ) 8056642: 801a strh r2, [r3, #0] if(cntmeas >= Ns) 8056644: 4b25 ldr r3, [pc, #148] ; (80566dc ) 8056646: 881b ldrh r3, [r3, #0] 8056648: b29b uxth r3, r3 805664a: 461a mov r2, r3 805664c: 4b24 ldr r3, [pc, #144] ; (80566e0 ) 805664e: 681b ldr r3, [r3, #0] 8056650: 429a cmp r2, r3 8056652: d33f bcc.n 80566d4 if(cntmeas == Ns) 8056654: 4b21 ldr r3, [pc, #132] ; (80566dc ) 8056656: 881b ldrh r3, [r3, #0] 8056658: b29b uxth r3, r3 805665a: 461a mov r2, r3 805665c: 4b20 ldr r3, [pc, #128] ; (80566e0 ) 805665e: 681b ldr r3, [r3, #0] 8056660: 429a cmp r2, r3 8056662: d10e bne.n 8056682 lastcntmeas = cntADC; 8056664: 4b1f ldr r3, [pc, #124] ; (80566e4 ) 8056666: 881b ldrh r3, [r3, #0] 8056668: b29a uxth r2, r3 805666a: 4b1f ldr r3, [pc, #124] ; (80566e8 ) 805666c: 801a strh r2, [r3, #0] measlen = Ns; 805666e: 4b1c ldr r3, [pc, #112] ; (80566e0 ) 8056670: 681b ldr r3, [r3, #0] 8056672: b29a uxth r2, r3 8056674: 4b1d ldr r3, [pc, #116] ; (80566ec ) 8056676: 801a strh r2, [r3, #0] cntmeas1 = cntmeas; 8056678: 4b18 ldr r3, [pc, #96] ; (80566dc ) 805667a: 881b ldrh r3, [r3, #0] 805667c: b29a uxth r2, r3 805667e: 4b1c ldr r3, [pc, #112] ; (80566f0 ) 8056680: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 8056682: 4b1c ldr r3, [pc, #112] ; (80566f4 ) 8056684: 781b ldrb r3, [r3, #0] 8056686: b2db uxtb r3, r3 8056688: 2b00 cmp r3, #0 805668a: d123 bne.n 80566d4 if(cntmeas > cntmeas1) 805668c: 4b13 ldr r3, [pc, #76] ; (80566dc ) 805668e: 881b ldrh r3, [r3, #0] 8056690: b29a uxth r2, r3 8056692: 4b17 ldr r3, [pc, #92] ; (80566f0 ) 8056694: 881b ldrh r3, [r3, #0] 8056696: b29b uxth r3, r3 8056698: 429a cmp r2, r3 805669a: d90a bls.n 80566b2 cntmeas -= cntmeas1; 805669c: 4b14 ldr r3, [pc, #80] ; (80566f0 ) 805669e: 881b ldrh r3, [r3, #0] 80566a0: b29b uxth r3, r3 80566a2: 4a0e ldr r2, [pc, #56] ; (80566dc ) 80566a4: 8812 ldrh r2, [r2, #0] 80566a6: b292 uxth r2, r2 80566a8: 1ad3 subs r3, r2, r3 80566aa: b29a uxth r2, r3 80566ac: 4b0b ldr r3, [pc, #44] ; (80566dc ) 80566ae: 801a strh r2, [r3, #0] 80566b0: e002 b.n 80566b8 else cntmeas = 0; 80566b2: 4b0a ldr r3, [pc, #40] ; (80566dc ) 80566b4: 2200 movs r2, #0 80566b6: 801a strh r2, [r3, #0] cntmeas1 = 0; 80566b8: 4b0d ldr r3, [pc, #52] ; (80566f0 ) 80566ba: 2200 movs r2, #0 80566bc: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 80566be: 4b0d ldr r3, [pc, #52] ; (80566f4 ) 80566c0: 2207 movs r2, #7 80566c2: 701a strb r2, [r3, #0] } 80566c4: e006 b.n 80566d4 break; 80566c6: bf00 nop 80566c8: e004 b.n 80566d4 break; 80566ca: bf00 nop 80566cc: e002 b.n 80566d4 break; 80566ce: bf00 nop 80566d0: e000 b.n 80566d4 break; 80566d2: bf00 nop } 80566d4: bf00 nop 80566d6: 3708 adds r7, #8 80566d8: 46bd mov sp, r7 80566da: bd80 pop {r7, pc} 80566dc: 20020da0 .word 0x20020da0 80566e0: 20021d24 .word 0x20021d24 80566e4: 20020d9c .word 0x20020d9c 80566e8: 20020da4 .word 0x20020da4 80566ec: 20020dac .word 0x20020dac 80566f0: 20020da2 .word 0x20020da2 80566f4: 20020d9f .word 0x20020d9f 80566f8: 20020dce .word 0x20020dce 080566fc : __IO uint32_t tick1 = 0; __IO uint32_t tick2 = 0; __IO uint32_t MW = 0; void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) //todo { 80566fc: b580 push {r7, lr} 80566fe: b082 sub sp, #8 8056700: af00 add r7, sp, #0 8056702: 6078 str r0, [r7, #4] static uint8_t oldState = 0xf; int32_t V32, i; uint32_t adc; if(hadc->Instance == ADC3) 8056704: 687b ldr r3, [r7, #4] 8056706: 681b ldr r3, [r3, #0] 8056708: 4a48 ldr r2, [pc, #288] ; (805682c ) 805670a: 4293 cmp r3, r2 805670c: d141 bne.n 8056792 { //TACHO memcpy((void *) &AdcBuff_16(cntADC), (void *) &DMA_Udar_u16(0), 32768u); 805670e: 4b48 ldr r3, [pc, #288] ; (8056830 ) 8056710: 881b ldrh r3, [r3, #0] 8056712: b29b uxth r3, r3 8056714: 005b lsls r3, r3, #1 8056716: 461a mov r2, r3 8056718: 4b46 ldr r3, [pc, #280] ; (8056834 ) 805671a: 4413 add r3, r2 805671c: f44f 4200 mov.w r2, #32768 ; 0x8000 8056720: 4945 ldr r1, [pc, #276] ; (8056838 ) 8056722: 4618 mov r0, r3 8056724: f07a fe31 bl 80d138a if(measuring) 8056728: 4b44 ldr r3, [pc, #272] ; (805683c ) 805672a: 781b ldrb r3, [r3, #0] 805672c: b2db uxtb r3, r3 805672e: 2b00 cmp r3, #0 8056730: d077 beq.n 8056822 { cntADC += HALF_UDAR_BUFF; 8056732: 4b3f ldr r3, [pc, #252] ; (8056830 ) 8056734: 881b ldrh r3, [r3, #0] 8056736: b29b uxth r3, r3 8056738: f503 4380 add.w r3, r3, #16384 ; 0x4000 805673c: b29a uxth r2, r3 805673e: 4b3c ldr r3, [pc, #240] ; (8056830 ) 8056740: 801a strh r2, [r3, #0] if(cntADC == HALF_UDAR_BUFF) 8056742: 4b3b ldr r3, [pc, #236] ; (8056830 ) 8056744: 881b ldrh r3, [r3, #0] 8056746: b29b uxth r3, r3 8056748: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 805674c: d108 bne.n 8056760 { READY = 1; 805674e: 4b3c ldr r3, [pc, #240] ; (8056840 ) 8056750: 2201 movs r2, #1 8056752: 701a strb r2, [r3, #0] tick1 = HAL_GetTick(); 8056754: f060 fb66 bl 80b6e24 8056758: 4602 mov r2, r0 805675a: 4b3a ldr r3, [pc, #232] ; (8056844 ) 805675c: 601a str r2, [r3, #0] } } } } /*}*/ } 805675e: e060 b.n 8056822 if(cntADC == SIZE_UDAR_BUFF) 8056760: 4b33 ldr r3, [pc, #204] ; (8056830 ) 8056762: 881b ldrh r3, [r3, #0] 8056764: b29b uxth r3, r3 8056766: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 805676a: d15a bne.n 8056822 READY = 2; 805676c: 4b34 ldr r3, [pc, #208] ; (8056840 ) 805676e: 2202 movs r2, #2 8056770: 701a strb r2, [r3, #0] cntADC = 0; 8056772: 4b2f ldr r3, [pc, #188] ; (8056830 ) 8056774: 2200 movs r2, #0 8056776: 801a strh r2, [r3, #0] tick2 = HAL_GetTick(); 8056778: f060 fb54 bl 80b6e24 805677c: 4602 mov r2, r0 805677e: 4b32 ldr r3, [pc, #200] ; (8056848 ) 8056780: 601a str r2, [r3, #0] MW = tick2 - tick1; 8056782: 4b31 ldr r3, [pc, #196] ; (8056848 ) 8056784: 681a ldr r2, [r3, #0] 8056786: 4b2f ldr r3, [pc, #188] ; (8056844 ) 8056788: 681b ldr r3, [r3, #0] 805678a: 1ad3 subs r3, r2, r3 805678c: 4a2f ldr r2, [pc, #188] ; (805684c ) 805678e: 6013 str r3, [r2, #0] } 8056790: e047 b.n 8056822 memcpy((void *) &AdcBuff_16(cntADC), (void *) &DMA_Udar_u16(0), 32768u); 8056792: 4b27 ldr r3, [pc, #156] ; (8056830 ) 8056794: 881b ldrh r3, [r3, #0] 8056796: b29b uxth r3, r3 8056798: 005b lsls r3, r3, #1 805679a: 461a mov r2, r3 805679c: 4b25 ldr r3, [pc, #148] ; (8056834 ) 805679e: 4413 add r3, r2 80567a0: f44f 4200 mov.w r2, #32768 ; 0x8000 80567a4: 4924 ldr r1, [pc, #144] ; (8056838 ) 80567a6: 4618 mov r0, r3 80567a8: f07a fdef bl 80d138a if(measuring) 80567ac: 4b23 ldr r3, [pc, #140] ; (805683c ) 80567ae: 781b ldrb r3, [r3, #0] 80567b0: b2db uxtb r3, r3 80567b2: 2b00 cmp r3, #0 80567b4: d035 beq.n 8056822 cntADC += HALF_UDAR_BUFF; 80567b6: 4b1e ldr r3, [pc, #120] ; (8056830 ) 80567b8: 881b ldrh r3, [r3, #0] 80567ba: b29b uxth r3, r3 80567bc: f503 4380 add.w r3, r3, #16384 ; 0x4000 80567c0: b29a uxth r2, r3 80567c2: 4b1b ldr r3, [pc, #108] ; (8056830 ) 80567c4: 801a strh r2, [r3, #0] if(cntADC == HALF_UDAR_BUFF) 80567c6: 4b1a ldr r3, [pc, #104] ; (8056830 ) 80567c8: 881b ldrh r3, [r3, #0] 80567ca: b29b uxth r3, r3 80567cc: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 80567d0: d108 bne.n 80567e4 READY = 1; 80567d2: 4b1b ldr r3, [pc, #108] ; (8056840 ) 80567d4: 2201 movs r2, #1 80567d6: 701a strb r2, [r3, #0] tick1 = HAL_GetTick(); 80567d8: f060 fb24 bl 80b6e24 80567dc: 4602 mov r2, r0 80567de: 4b19 ldr r3, [pc, #100] ; (8056844 ) 80567e0: 601a str r2, [r3, #0] } 80567e2: e01e b.n 8056822 if(cntADC == SIZE_UDAR_BUFF) 80567e4: 4b12 ldr r3, [pc, #72] ; (8056830 ) 80567e6: 881b ldrh r3, [r3, #0] 80567e8: b29b uxth r3, r3 80567ea: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80567ee: d118 bne.n 8056822 READY = 2; 80567f0: 4b13 ldr r3, [pc, #76] ; (8056840 ) 80567f2: 2202 movs r2, #2 80567f4: 701a strb r2, [r3, #0] cntADC = 0; 80567f6: 4b0e ldr r3, [pc, #56] ; (8056830 ) 80567f8: 2200 movs r2, #0 80567fa: 801a strh r2, [r3, #0] tick2 = HAL_GetTick(); 80567fc: f060 fb12 bl 80b6e24 8056800: 4602 mov r2, r0 8056802: 4b11 ldr r3, [pc, #68] ; (8056848 ) 8056804: 601a str r2, [r3, #0] MW = tick2 - tick1; 8056806: 4b10 ldr r3, [pc, #64] ; (8056848 ) 8056808: 681a ldr r2, [r3, #0] 805680a: 4b0e ldr r3, [pc, #56] ; (8056844 ) 805680c: 681b ldr r3, [r3, #0] 805680e: 1ad3 subs r3, r2, r3 8056810: 4a0e ldr r2, [pc, #56] ; (805684c ) 8056812: 6013 str r3, [r2, #0] if(MW < 80) 8056814: 4b0d ldr r3, [pc, #52] ; (805684c ) 8056816: 681b ldr r3, [r3, #0] 8056818: 2b4f cmp r3, #79 ; 0x4f 805681a: d802 bhi.n 8056822 cntADC = 0; 805681c: 4b04 ldr r3, [pc, #16] ; (8056830 ) 805681e: 2200 movs r2, #0 8056820: 801a strh r2, [r3, #0] } 8056822: bf00 nop 8056824: 3708 adds r7, #8 8056826: 46bd mov sp, r7 8056828: bd80 pop {r7, pc} 805682a: bf00 nop 805682c: 40012200 .word 0x40012200 8056830: 20020d9c .word 0x20020d9c 8056834: 64060000 .word 0x64060000 8056838: 64090000 .word 0x64090000 805683c: 20020dcf .word 0x20020dcf 8056840: 20020d9f .word 0x20020d9f 8056844: 20021048 .word 0x20021048 8056848: 2002104c .word 0x2002104c 805684c: 20021050 .word 0x20021050 08056850 : * in is negative value and returns zero output for negative values. */ static __INLINE arm_status arm_sqrt_f32( float32_t in, float32_t * pOut) { 8056850: b580 push {r7, lr} 8056852: b082 sub sp, #8 8056854: af00 add r7, sp, #0 8056856: ed87 0a01 vstr s0, [r7, #4] 805685a: 6038 str r0, [r7, #0] if(in >= 0.0f) 805685c: edd7 7a01 vldr s15, [r7, #4] 8056860: eef5 7ac0 vcmpe.f32 s15, #0.0 8056864: eef1 fa10 vmrs APSR_nzcv, fpscr 8056868: db0a blt.n 8056880 #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); 805686a: ed97 0a01 vldr s0, [r7, #4] 805686e: f078 fe97 bl 80cf5a0 8056872: eef0 7a40 vmov.f32 s15, s0 8056876: 683b ldr r3, [r7, #0] 8056878: edc3 7a00 vstr s15, [r3] __ASM("VSQRT.F32 %0,%1" : "=t"(*pOut) : "t"(in)); #else *pOut = sqrtf(in); #endif return (ARM_MATH_SUCCESS); 805687c: 2300 movs r3, #0 805687e: e005 b.n 805688c } else { *pOut = 0.0f; 8056880: 683b ldr r3, [r7, #0] 8056882: f04f 0200 mov.w r2, #0 8056886: 601a str r2, [r3, #0] return (ARM_MATH_ARGUMENT_ERROR); 8056888: f04f 33ff mov.w r3, #4294967295 } } 805688c: 4618 mov r0, r3 805688e: 3708 adds r7, #8 8056890: 46bd mov sp, r7 8056892: bd80 pop {r7, pc} 08056894 : __IO float32_t dBm_MAX = 0; int8_t CalculateGain(uint32_t SygPoints) { 8056894: b480 push {r7} 8056896: b08b sub sp, #44 ; 0x2c 8056898: af00 add r7, sp, #0 805689a: 6078 str r0, [r7, #4] __IO uint8_t dB_s = 0; 805689c: 2300 movs r3, #0 805689e: 74fb strb r3, [r7, #19] __IO uint32_t i; __IO uint32_t Ym; float32_t Yf, fmax; uint32_t mean = (uint32_t) MEAN; 80568a0: 4b86 ldr r3, [pc, #536] ; (8056abc ) 80568a2: edd3 7a00 vldr s15, [r3] 80568a6: eefc 7ae7 vcvt.u32.f32 s15, s15 80568aa: ee17 3a90 vmov r3, s15 80568ae: 627b str r3, [r7, #36] ; 0x24 uint32_t UMAX = mean + 0x3FD380; // MeanPoint + 1,25V 80568b0: 6a7a ldr r2, [r7, #36] ; 0x24 80568b2: 4b83 ldr r3, [pc, #524] ; (8056ac0 ) 80568b4: 4413 add r3, r2 80568b6: 623b str r3, [r7, #32] uint32_t UMIN = mean + 0x154680; // MeanPoint + 1,25V 80568b8: 6a7a ldr r2, [r7, #36] ; 0x24 80568ba: 4b82 ldr r3, [pc, #520] ; (8056ac4 ) 80568bc: 4413 add r3, r2 80568be: 61fb str r3, [r7, #28] if(pardata.SYG == UDAR) //TODO 80568c0: 4b81 ldr r3, [pc, #516] ; (8056ac8 ) 80568c2: 781b ldrb r3, [r3, #0] 80568c4: b2db uxtb r3, r3 80568c6: 2b09 cmp r3, #9 80568c8: f040 81b8 bne.w 8056c3c { for(i = 0; i < SygPoints >> 1; i++) 80568cc: 2300 movs r3, #0 80568ce: 60fb str r3, [r7, #12] 80568d0: e061 b.n 8056996 { if(Vup < In16[i].sh[0]) Vup = In16[i].sh[0]; 80568d2: 68fb ldr r3, [r7, #12] 80568d4: 4a7d ldr r2, [pc, #500] ; (8056acc ) 80568d6: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 80568da: 461a mov r2, r3 80568dc: 4b7c ldr r3, [pc, #496] ; (8056ad0 ) 80568de: 681b ldr r3, [r3, #0] 80568e0: 429a cmp r2, r3 80568e2: d906 bls.n 80568f2 80568e4: 68fb ldr r3, [r7, #12] 80568e6: 4a79 ldr r2, [pc, #484] ; (8056acc ) 80568e8: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 80568ec: 461a mov r2, r3 80568ee: 4b78 ldr r3, [pc, #480] ; (8056ad0 ) 80568f0: 601a str r2, [r3, #0] if(Vdn > In16[i].sh[0]) Vdn = In16[i].sh[0]; 80568f2: 68fb ldr r3, [r7, #12] 80568f4: 4a75 ldr r2, [pc, #468] ; (8056acc ) 80568f6: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 80568fa: 461a mov r2, r3 80568fc: 4b75 ldr r3, [pc, #468] ; (8056ad4 ) 80568fe: 681b ldr r3, [r3, #0] 8056900: 429a cmp r2, r3 8056902: d206 bcs.n 8056912 8056904: 68fb ldr r3, [r7, #12] 8056906: 4a71 ldr r2, [pc, #452] ; (8056acc ) 8056908: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 805690c: 461a mov r2, r3 805690e: 4b71 ldr r3, [pc, #452] ; (8056ad4 ) 8056910: 601a str r2, [r3, #0] if(In16[i].sh[0] > 3900) NUMPOINTS++; 8056912: 68fb ldr r3, [r7, #12] 8056914: 4a6d ldr r2, [pc, #436] ; (8056acc ) 8056916: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 805691a: f640 723c movw r2, #3900 ; 0xf3c 805691e: 4293 cmp r3, r2 8056920: d904 bls.n 805692c 8056922: 4b6d ldr r3, [pc, #436] ; (8056ad8 ) 8056924: 681b ldr r3, [r3, #0] 8056926: 3301 adds r3, #1 8056928: 4a6b ldr r2, [pc, #428] ; (8056ad8 ) 805692a: 6013 str r3, [r2, #0] if(Vup < In16[i].sh[1]) Vup = In16[i].sh[1]; 805692c: 68fb ldr r3, [r7, #12] 805692e: 4a67 ldr r2, [pc, #412] ; (8056acc ) 8056930: 009b lsls r3, r3, #2 8056932: 4413 add r3, r2 8056934: 885b ldrh r3, [r3, #2] 8056936: 461a mov r2, r3 8056938: 4b65 ldr r3, [pc, #404] ; (8056ad0 ) 805693a: 681b ldr r3, [r3, #0] 805693c: 429a cmp r2, r3 805693e: d907 bls.n 8056950 8056940: 68fb ldr r3, [r7, #12] 8056942: 4a62 ldr r2, [pc, #392] ; (8056acc ) 8056944: 009b lsls r3, r3, #2 8056946: 4413 add r3, r2 8056948: 885b ldrh r3, [r3, #2] 805694a: 461a mov r2, r3 805694c: 4b60 ldr r3, [pc, #384] ; (8056ad0 ) 805694e: 601a str r2, [r3, #0] if(Vdn > In16[i].sh[1]) Vdn = In16[i].sh[1]; 8056950: 68fb ldr r3, [r7, #12] 8056952: 4a5e ldr r2, [pc, #376] ; (8056acc ) 8056954: 009b lsls r3, r3, #2 8056956: 4413 add r3, r2 8056958: 885b ldrh r3, [r3, #2] 805695a: 461a mov r2, r3 805695c: 4b5d ldr r3, [pc, #372] ; (8056ad4 ) 805695e: 681b ldr r3, [r3, #0] 8056960: 429a cmp r2, r3 8056962: d207 bcs.n 8056974 8056964: 68fb ldr r3, [r7, #12] 8056966: 4a59 ldr r2, [pc, #356] ; (8056acc ) 8056968: 009b lsls r3, r3, #2 805696a: 4413 add r3, r2 805696c: 885b ldrh r3, [r3, #2] 805696e: 461a mov r2, r3 8056970: 4b58 ldr r3, [pc, #352] ; (8056ad4 ) 8056972: 601a str r2, [r3, #0] if(In16[i].sh[1] > 3900) NUMPOINTS++; 8056974: 68fb ldr r3, [r7, #12] 8056976: 4a55 ldr r2, [pc, #340] ; (8056acc ) 8056978: 009b lsls r3, r3, #2 805697a: 4413 add r3, r2 805697c: 885b ldrh r3, [r3, #2] 805697e: f640 723c movw r2, #3900 ; 0xf3c 8056982: 4293 cmp r3, r2 8056984: d904 bls.n 8056990 8056986: 4b54 ldr r3, [pc, #336] ; (8056ad8 ) 8056988: 681b ldr r3, [r3, #0] 805698a: 3301 adds r3, #1 805698c: 4a52 ldr r2, [pc, #328] ; (8056ad8 ) 805698e: 6013 str r3, [r2, #0] for(i = 0; i < SygPoints >> 1; i++) 8056990: 68fb ldr r3, [r7, #12] 8056992: 3301 adds r3, #1 8056994: 60fb str r3, [r7, #12] 8056996: 687b ldr r3, [r7, #4] 8056998: 085a lsrs r2, r3, #1 805699a: 68fb ldr r3, [r7, #12] 805699c: 429a cmp r2, r3 805699e: d898 bhi.n 80568d2 } NR++; 80569a0: 4b4e ldr r3, [pc, #312] ; (8056adc ) 80569a2: 681b ldr r3, [r3, #0] 80569a4: 3301 adds r3, #1 80569a6: 4a4d ldr r2, [pc, #308] ; (8056adc ) 80569a8: 6013 str r3, [r2, #0] if(NR >= Nr) 80569aa: 4b4d ldr r3, [pc, #308] ; (8056ae0 ) 80569ac: 881b ldrh r3, [r3, #0] 80569ae: b29b uxth r3, r3 80569b0: 461a mov r2, r3 80569b2: 4b4a ldr r3, [pc, #296] ; (8056adc ) 80569b4: 681b ldr r3, [r3, #0] 80569b6: 429a cmp r2, r3 80569b8: f200 82c8 bhi.w 8056f4c { NR = 0; 80569bc: 4b47 ldr r3, [pc, #284] ; (8056adc ) 80569be: 2200 movs r2, #0 80569c0: 601a str r2, [r3, #0] Ym = Vup; 80569c2: 4b43 ldr r3, [pc, #268] ; (8056ad0 ) 80569c4: 681b ldr r3, [r3, #0] 80569c6: 60bb str r3, [r7, #8] if(Vup < 2200) 80569c8: 4b41 ldr r3, [pc, #260] ; (8056ad0 ) 80569ca: 681b ldr r3, [r3, #0] 80569cc: f640 0297 movw r2, #2199 ; 0x897 80569d0: 4293 cmp r3, r2 80569d2: d807 bhi.n 80569e4 Vup = 2200 - Vup; 80569d4: 4b3e ldr r3, [pc, #248] ; (8056ad0 ) 80569d6: 681a ldr r2, [r3, #0] 80569d8: f640 0398 movw r3, #2200 ; 0x898 80569dc: 1a9b subs r3, r3, r2 80569de: 4a3c ldr r2, [pc, #240] ; (8056ad0 ) 80569e0: 6013 str r3, [r2, #0] 80569e2: e005 b.n 80569f0 else Vup = Vup - 2200; 80569e4: 4b3a ldr r3, [pc, #232] ; (8056ad0 ) 80569e6: 681b ldr r3, [r3, #0] 80569e8: f6a3 0398 subw r3, r3, #2200 ; 0x898 80569ec: 4a38 ldr r2, [pc, #224] ; (8056ad0 ) 80569ee: 6013 str r3, [r2, #0] if(Vdn > 2200) 80569f0: 4b38 ldr r3, [pc, #224] ; (8056ad4 ) 80569f2: 681b ldr r3, [r3, #0] 80569f4: f640 0298 movw r2, #2200 ; 0x898 80569f8: 4293 cmp r3, r2 80569fa: d906 bls.n 8056a0a Vdn = Vdn - 2200; 80569fc: 4b35 ldr r3, [pc, #212] ; (8056ad4 ) 80569fe: 681b ldr r3, [r3, #0] 8056a00: f6a3 0398 subw r3, r3, #2200 ; 0x898 8056a04: 4a33 ldr r2, [pc, #204] ; (8056ad4 ) 8056a06: 6013 str r3, [r2, #0] 8056a08: e006 b.n 8056a18 else Vdn = 2200 - Vdn; 8056a0a: 4b32 ldr r3, [pc, #200] ; (8056ad4 ) 8056a0c: 681a ldr r2, [r3, #0] 8056a0e: f640 0398 movw r3, #2200 ; 0x898 8056a12: 1a9b subs r3, r3, r2 8056a14: 4a2f ldr r2, [pc, #188] ; (8056ad4 ) 8056a16: 6013 str r3, [r2, #0] if(Vup > Vdn) 8056a18: 4b2d ldr r3, [pc, #180] ; (8056ad0 ) 8056a1a: 681a ldr r2, [r3, #0] 8056a1c: 4b2d ldr r3, [pc, #180] ; (8056ad4 ) 8056a1e: 681b ldr r3, [r3, #0] 8056a20: 429a cmp r2, r3 8056a22: d905 bls.n 8056a30 Ym = Vup + 2200; 8056a24: 4b2a ldr r3, [pc, #168] ; (8056ad0 ) 8056a26: 681b ldr r3, [r3, #0] 8056a28: f603 0398 addw r3, r3, #2200 ; 0x898 8056a2c: 60bb str r3, [r7, #8] 8056a2e: e008 b.n 8056a42 else { Vup = Vdn; 8056a30: 4b28 ldr r3, [pc, #160] ; (8056ad4 ) 8056a32: 681b ldr r3, [r3, #0] 8056a34: 4a26 ldr r2, [pc, #152] ; (8056ad0 ) 8056a36: 6013 str r3, [r2, #0] Ym = Vdn + 2200; 8056a38: 4b26 ldr r3, [pc, #152] ; (8056ad4 ) 8056a3a: 681b ldr r3, [r3, #0] 8056a3c: f603 0398 addw r3, r3, #2200 ; 0x898 8056a40: 60bb str r3, [r7, #8] Vdn = 0xffffff; return 0; }*/ if(NUMPOINTS) 8056a42: 4b25 ldr r3, [pc, #148] ; (8056ad8 ) 8056a44: 681b ldr r3, [r3, #0] 8056a46: 2b00 cmp r3, #0 8056a48: d054 beq.n 8056af4 { NeedKmUp = 0; 8056a4a: 4b26 ldr r3, [pc, #152] ; (8056ae4 ) 8056a4c: 2200 movs r2, #0 8056a4e: 701a strb r2, [r3, #0] NeedKmDown++; 8056a50: 4b25 ldr r3, [pc, #148] ; (8056ae8 ) 8056a52: 781b ldrb r3, [r3, #0] 8056a54: b2db uxtb r3, r3 8056a56: 3301 adds r3, #1 8056a58: b2da uxtb r2, r3 8056a5a: 4b23 ldr r3, [pc, #140] ; (8056ae8 ) 8056a5c: 701a strb r2, [r3, #0] if((NeedKmDown >= TimeKmDown) || (FirstGain == true)) 8056a5e: 4b22 ldr r3, [pc, #136] ; (8056ae8 ) 8056a60: 781b ldrb r3, [r3, #0] 8056a62: b2db uxtb r3, r3 8056a64: 461a mov r2, r3 8056a66: 4b21 ldr r3, [pc, #132] ; (8056aec ) 8056a68: 681b ldr r3, [r3, #0] 8056a6a: 429a cmp r2, r3 8056a6c: d204 bcs.n 8056a78 8056a6e: 4b20 ldr r3, [pc, #128] ; (8056af0 ) 8056a70: 781b ldrb r3, [r3, #0] 8056a72: b2db uxtb r3, r3 8056a74: 2b00 cmp r3, #0 8056a76: d01d beq.n 8056ab4 { FirstGain = false; 8056a78: 4b1d ldr r3, [pc, #116] ; (8056af0 ) 8056a7a: 2200 movs r2, #0 8056a7c: 701a strb r2, [r3, #0] if(NUMPOINTS >= VALUE_MAX) 8056a7e: 4b16 ldr r3, [pc, #88] ; (8056ad8 ) 8056a80: 681b ldr r3, [r3, #0] 8056a82: 2bff cmp r3, #255 ; 0xff 8056a84: d903 bls.n 8056a8e { pardata.IKU = Ku1; 8056a86: 4b10 ldr r3, [pc, #64] ; (8056ac8 ) 8056a88: 2200 movs r2, #0 8056a8a: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8056a8c: e0b5 b.n 8056bfa } else if(NUMPOINTS >= VALUE_MIN) 8056a8e: 4b12 ldr r3, [pc, #72] ; (8056ad8 ) 8056a90: 681b ldr r3, [r3, #0] 8056a92: 2b01 cmp r3, #1 8056a94: f240 80b1 bls.w 8056bfa { if(pardata.IKU > Ku1) 8056a98: 4b0b ldr r3, [pc, #44] ; (8056ac8 ) 8056a9a: 7a1b ldrb r3, [r3, #8] 8056a9c: b2db uxtb r3, r3 8056a9e: 2b00 cmp r3, #0 8056aa0: f000 80ab beq.w 8056bfa pardata.IKU --; 8056aa4: 4b08 ldr r3, [pc, #32] ; (8056ac8 ) 8056aa6: 7a1b ldrb r3, [r3, #8] 8056aa8: b2db uxtb r3, r3 8056aaa: 3b01 subs r3, #1 8056aac: b2da uxtb r2, r3 8056aae: 4b06 ldr r3, [pc, #24] ; (8056ac8 ) 8056ab0: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8056ab2: e0a2 b.n 8056bfa } } else { NUMPOINTS = 0; 8056ab4: 4b08 ldr r3, [pc, #32] ; (8056ad8 ) 8056ab6: 2200 movs r2, #0 8056ab8: 601a str r2, [r3, #0] 8056aba: e0a1 b.n 8056c00 8056abc: 200209d8 .word 0x200209d8 8056ac0: 003fd380 .word 0x003fd380 8056ac4: 00154680 .word 0x00154680 8056ac8: 20023ea8 .word 0x20023ea8 8056acc: 20058060 .word 0x20058060 8056ad0: 20021660 .word 0x20021660 8056ad4: 20020090 .word 0x20020090 8056ad8: 2002164c .word 0x2002164c 8056adc: 2002165c .word 0x2002165c 8056ae0: 20021d68 .word 0x20021d68 8056ae4: 20020d71 .word 0x20020d71 8056ae8: 20020d70 .word 0x20020d70 8056aec: 20020d74 .word 0x20020d74 8056af0: 20020d7c .word 0x20020d7c } } else { NeedKmDown = 0; 8056af4: 4b8b ldr r3, [pc, #556] ; (8056d24 ) 8056af6: 2200 movs r2, #0 8056af8: 701a strb r2, [r3, #0] if(Ym <= 3450) 8056afa: 68bb ldr r3, [r7, #8] 8056afc: f640 527a movw r2, #3450 ; 0xd7a 8056b00: 4293 cmp r3, r2 8056b02: d87d bhi.n 8056c00 { NeedKmUp++; 8056b04: 4b88 ldr r3, [pc, #544] ; (8056d28 ) 8056b06: 781b ldrb r3, [r3, #0] 8056b08: b2db uxtb r3, r3 8056b0a: 3301 adds r3, #1 8056b0c: b2da uxtb r2, r3 8056b0e: 4b86 ldr r3, [pc, #536] ; (8056d28 ) 8056b10: 701a strb r2, [r3, #0] if((NeedKmUp >= TimeKmUp) || (FirstGain == true)) 8056b12: 4b85 ldr r3, [pc, #532] ; (8056d28 ) 8056b14: 781b ldrb r3, [r3, #0] 8056b16: b2db uxtb r3, r3 8056b18: 461a mov r2, r3 8056b1a: 4b84 ldr r3, [pc, #528] ; (8056d2c ) 8056b1c: 681b ldr r3, [r3, #0] 8056b1e: 429a cmp r2, r3 8056b20: d204 bcs.n 8056b2c 8056b22: 4b83 ldr r3, [pc, #524] ; (8056d30 ) 8056b24: 781b ldrb r3, [r3, #0] 8056b26: b2db uxtb r3, r3 8056b28: 2b00 cmp r3, #0 8056b2a: d069 beq.n 8056c00 { FirstGain = false; 8056b2c: 4b80 ldr r3, [pc, #512] ; (8056d30 ) 8056b2e: 2200 movs r2, #0 8056b30: 701a strb r2, [r3, #0] if(pardata.IKU < Ku8) 8056b32: 4b80 ldr r3, [pc, #512] ; (8056d34 ) 8056b34: 7a1b ldrb r3, [r3, #8] 8056b36: b2db uxtb r3, r3 8056b38: 2b02 cmp r3, #2 8056b3a: d861 bhi.n 8056c00 { fmax = (float32_t) Vup; 8056b3c: 4b7e ldr r3, [pc, #504] ; (8056d38 ) 8056b3e: 681b ldr r3, [r3, #0] 8056b40: ee07 3a90 vmov s15, r3 8056b44: eef8 7a67 vcvt.f32.u32 s15, s15 8056b48: edc7 7a06 vstr s15, [r7, #24] fmax /= KM_UDAR[pardata.IKU]; 8056b4c: 4b79 ldr r3, [pc, #484] ; (8056d34 ) 8056b4e: 7a1b ldrb r3, [r3, #8] 8056b50: b2db uxtb r3, r3 8056b52: 4a7a ldr r2, [pc, #488] ; (8056d3c ) 8056b54: 009b lsls r3, r3, #2 8056b56: 4413 add r3, r2 8056b58: ed93 7a00 vldr s14, [r3] 8056b5c: edd7 6a06 vldr s13, [r7, #24] 8056b60: eec6 7a87 vdiv.f32 s15, s13, s14 8056b64: edc7 7a06 vstr s15, [r7, #24] dB_s = 0; 8056b68: 2300 movs r3, #0 8056b6a: 74fb strb r3, [r7, #19] while(Ym < 3450) 8056b6c: e03f b.n 8056bee { Yf = fmax * KM_UDAR[dB_s] + 0.50f; 8056b6e: 7cfb ldrb r3, [r7, #19] 8056b70: b2db uxtb r3, r3 8056b72: 4a72 ldr r2, [pc, #456] ; (8056d3c ) 8056b74: 009b lsls r3, r3, #2 8056b76: 4413 add r3, r2 8056b78: ed93 7a00 vldr s14, [r3] 8056b7c: edd7 7a06 vldr s15, [r7, #24] 8056b80: ee67 7a27 vmul.f32 s15, s14, s15 8056b84: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8056b88: ee77 7a87 vadd.f32 s15, s15, s14 8056b8c: edc7 7a05 vstr s15, [r7, #20] Ym = (uint32_t) Yf; 8056b90: edd7 7a05 vldr s15, [r7, #20] 8056b94: eefc 7ae7 vcvt.u32.f32 s15, s15 8056b98: ee17 3a90 vmov r3, s15 8056b9c: 60bb str r3, [r7, #8] Ym += 2200; 8056b9e: 68bb ldr r3, [r7, #8] 8056ba0: f603 0398 addw r3, r3, #2200 ; 0x898 8056ba4: 60bb str r3, [r7, #8] if(Ym > 3450) 8056ba6: 68bb ldr r3, [r7, #8] 8056ba8: f640 527a movw r2, #3450 ; 0xd7a 8056bac: 4293 cmp r3, r2 8056bae: d911 bls.n 8056bd4 { if(Ym > 8192/*4000*/) //todo 8056bb0: 68bb ldr r3, [r7, #8] 8056bb2: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8056bb6: d908 bls.n 8056bca { if(dB_s) 8056bb8: 7cfb ldrb r3, [r7, #19] 8056bba: b2db uxtb r3, r3 8056bbc: 2b00 cmp r3, #0 8056bbe: d004 beq.n 8056bca dB_s--; 8056bc0: 7cfb ldrb r3, [r7, #19] 8056bc2: b2db uxtb r3, r3 8056bc4: 3b01 subs r3, #1 8056bc6: b2db uxtb r3, r3 8056bc8: 74fb strb r3, [r7, #19] } pardata.IKU = dB_s; 8056bca: 7cfb ldrb r3, [r7, #19] 8056bcc: b2da uxtb r2, r3 8056bce: 4b59 ldr r3, [pc, #356] ; (8056d34 ) 8056bd0: 721a strb r2, [r3, #8] break; 8056bd2: e015 b.n 8056c00 } else { if(dB_s < Ku8) 8056bd4: 7cfb ldrb r3, [r7, #19] 8056bd6: b2db uxtb r3, r3 8056bd8: 2b02 cmp r3, #2 8056bda: d810 bhi.n 8056bfe { dB_s++; 8056bdc: 7cfb ldrb r3, [r7, #19] 8056bde: b2db uxtb r3, r3 8056be0: 3301 adds r3, #1 8056be2: b2db uxtb r3, r3 8056be4: 74fb strb r3, [r7, #19] pardata.IKU = dB_s; 8056be6: 7cfb ldrb r3, [r7, #19] 8056be8: b2da uxtb r2, r3 8056bea: 4b52 ldr r3, [pc, #328] ; (8056d34 ) 8056bec: 721a strb r2, [r3, #8] while(Ym < 3450) 8056bee: 68bb ldr r3, [r7, #8] 8056bf0: f640 5279 movw r2, #3449 ; 0xd79 8056bf4: 4293 cmp r3, r2 8056bf6: d9ba bls.n 8056b6e 8056bf8: e002 b.n 8056c00 if(NUMPOINTS >= VALUE_MAX) 8056bfa: bf00 nop 8056bfc: e000 b.n 8056c00 } else break; 8056bfe: bf00 nop } } } if(LAST_KU != pardata.IKU) 8056c00: 4b4c ldr r3, [pc, #304] ; (8056d34 ) 8056c02: 7a1b ldrb r3, [r3, #8] 8056c04: b2da uxtb r2, r3 8056c06: 4b4e ldr r3, [pc, #312] ; (8056d40 ) 8056c08: 781b ldrb r3, [r3, #0] 8056c0a: b2db uxtb r3, r3 8056c0c: 429a cmp r2, r3 8056c0e: d009 beq.n 8056c24 { Flag_Set_KU = 1; 8056c10: 4b4c ldr r3, [pc, #304] ; (8056d44 ) 8056c12: 2201 movs r2, #1 8056c14: 701a strb r2, [r3, #0] AUTOZOOM = true; 8056c16: 4b4c ldr r3, [pc, #304] ; (8056d48 ) 8056c18: 2201 movs r2, #1 8056c1a: 701a strb r2, [r3, #0] IndexFran = -1; 8056c1c: 4b4b ldr r3, [pc, #300] ; (8056d4c ) 8056c1e: f04f 32ff mov.w r2, #4294967295 8056c22: 601a str r2, [r3, #0] } NUMPOINTS = 0; 8056c24: 4b4a ldr r3, [pc, #296] ; (8056d50 ) 8056c26: 2200 movs r2, #0 8056c28: 601a str r2, [r3, #0] Vup = 0; 8056c2a: 4b43 ldr r3, [pc, #268] ; (8056d38 ) 8056c2c: 2200 movs r2, #0 8056c2e: 601a str r2, [r3, #0] Vdn = 0xffffff; 8056c30: 4b48 ldr r3, [pc, #288] ; (8056d54 ) 8056c32: f06f 427f mvn.w r2, #4278190080 ; 0xff000000 8056c36: 601a str r2, [r3, #0] return 0; 8056c38: 2300 movs r3, #0 8056c3a: e189 b.n 8056f50 } } else { for(i = 0; i < SygPoints; i++) 8056c3c: 2300 movs r3, #0 8056c3e: 60fb str r3, [r7, #12] 8056c40: e02a b.n 8056c98 { if(Vup < In16[i].lg) Vup = In16[i].lg; 8056c42: 68fb ldr r3, [r7, #12] 8056c44: 4a44 ldr r2, [pc, #272] ; (8056d58 ) 8056c46: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8056c4a: 4b3b ldr r3, [pc, #236] ; (8056d38 ) 8056c4c: 681b ldr r3, [r3, #0] 8056c4e: 429a cmp r2, r3 8056c50: d905 bls.n 8056c5e 8056c52: 68fb ldr r3, [r7, #12] 8056c54: 4a40 ldr r2, [pc, #256] ; (8056d58 ) 8056c56: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8056c5a: 4a37 ldr r2, [pc, #220] ; (8056d38 ) 8056c5c: 6013 str r3, [r2, #0] if(Vdn > In16[i].lg) Vdn = In16[i].lg; 8056c5e: 68fb ldr r3, [r7, #12] 8056c60: 4a3d ldr r2, [pc, #244] ; (8056d58 ) 8056c62: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8056c66: 4b3b ldr r3, [pc, #236] ; (8056d54 ) 8056c68: 681b ldr r3, [r3, #0] 8056c6a: 429a cmp r2, r3 8056c6c: d205 bcs.n 8056c7a 8056c6e: 68fb ldr r3, [r7, #12] 8056c70: 4a39 ldr r2, [pc, #228] ; (8056d58 ) 8056c72: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8056c76: 4a37 ldr r2, [pc, #220] ; (8056d54 ) 8056c78: 6013 str r3, [r2, #0] if(In16[i].lg > UMAX) NUMPOINTS++; 8056c7a: 68fb ldr r3, [r7, #12] 8056c7c: 4a36 ldr r2, [pc, #216] ; (8056d58 ) 8056c7e: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8056c82: 6a3b ldr r3, [r7, #32] 8056c84: 429a cmp r2, r3 8056c86: d904 bls.n 8056c92 8056c88: 4b31 ldr r3, [pc, #196] ; (8056d50 ) 8056c8a: 681b ldr r3, [r3, #0] 8056c8c: 3301 adds r3, #1 8056c8e: 4a30 ldr r2, [pc, #192] ; (8056d50 ) 8056c90: 6013 str r3, [r2, #0] for(i = 0; i < SygPoints; i++) 8056c92: 68fb ldr r3, [r7, #12] 8056c94: 3301 adds r3, #1 8056c96: 60fb str r3, [r7, #12] 8056c98: 68fa ldr r2, [r7, #12] 8056c9a: 687b ldr r3, [r7, #4] 8056c9c: 429a cmp r2, r3 8056c9e: d3d0 bcc.n 8056c42 } NR++; 8056ca0: 4b2e ldr r3, [pc, #184] ; (8056d5c ) 8056ca2: 681b ldr r3, [r3, #0] 8056ca4: 3301 adds r3, #1 8056ca6: 4a2d ldr r2, [pc, #180] ; (8056d5c ) 8056ca8: 6013 str r3, [r2, #0] if(NR >= Nr) 8056caa: 4b2d ldr r3, [pc, #180] ; (8056d60 ) 8056cac: 881b ldrh r3, [r3, #0] 8056cae: b29b uxth r3, r3 8056cb0: 461a mov r2, r3 8056cb2: 4b2a ldr r3, [pc, #168] ; (8056d5c ) 8056cb4: 681b ldr r3, [r3, #0] 8056cb6: 429a cmp r2, r3 8056cb8: f200 8148 bhi.w 8056f4c { NR = 0; 8056cbc: 4b27 ldr r3, [pc, #156] ; (8056d5c ) 8056cbe: 2200 movs r2, #0 8056cc0: 601a str r2, [r3, #0] if(Vup < mean) 8056cc2: 4b1d ldr r3, [pc, #116] ; (8056d38 ) 8056cc4: 681a ldr r2, [r3, #0] 8056cc6: 6a7b ldr r3, [r7, #36] ; 0x24 8056cc8: 429a cmp r2, r3 8056cca: d206 bcs.n 8056cda Vup = mean - Vup; 8056ccc: 4b1a ldr r3, [pc, #104] ; (8056d38 ) 8056cce: 681b ldr r3, [r3, #0] 8056cd0: 6a7a ldr r2, [r7, #36] ; 0x24 8056cd2: 1ad3 subs r3, r2, r3 8056cd4: 4a18 ldr r2, [pc, #96] ; (8056d38 ) 8056cd6: 6013 str r3, [r2, #0] 8056cd8: e005 b.n 8056ce6 else Vup = Vup - mean; 8056cda: 4b17 ldr r3, [pc, #92] ; (8056d38 ) 8056cdc: 681a ldr r2, [r3, #0] 8056cde: 6a7b ldr r3, [r7, #36] ; 0x24 8056ce0: 1ad3 subs r3, r2, r3 8056ce2: 4a15 ldr r2, [pc, #84] ; (8056d38 ) 8056ce4: 6013 str r3, [r2, #0] if(Vdn > mean) 8056ce6: 4b1b ldr r3, [pc, #108] ; (8056d54 ) 8056ce8: 681a ldr r2, [r3, #0] 8056cea: 6a7b ldr r3, [r7, #36] ; 0x24 8056cec: 429a cmp r2, r3 8056cee: d906 bls.n 8056cfe Vdn = Vdn - mean; 8056cf0: 4b18 ldr r3, [pc, #96] ; (8056d54 ) 8056cf2: 681a ldr r2, [r3, #0] 8056cf4: 6a7b ldr r3, [r7, #36] ; 0x24 8056cf6: 1ad3 subs r3, r2, r3 8056cf8: 4a16 ldr r2, [pc, #88] ; (8056d54 ) 8056cfa: 6013 str r3, [r2, #0] 8056cfc: e005 b.n 8056d0a else Vdn = mean - Vdn; 8056cfe: 4b15 ldr r3, [pc, #84] ; (8056d54 ) 8056d00: 681b ldr r3, [r3, #0] 8056d02: 6a7a ldr r2, [r7, #36] ; 0x24 8056d04: 1ad3 subs r3, r2, r3 8056d06: 4a13 ldr r2, [pc, #76] ; (8056d54 ) 8056d08: 6013 str r3, [r2, #0] if(Vup > Vdn) 8056d0a: 4b0b ldr r3, [pc, #44] ; (8056d38 ) 8056d0c: 681a ldr r2, [r3, #0] 8056d0e: 4b11 ldr r3, [pc, #68] ; (8056d54 ) 8056d10: 681b ldr r3, [r3, #0] 8056d12: 429a cmp r2, r3 8056d14: d926 bls.n 8056d64 Ym = Vup + mean; 8056d16: 4b08 ldr r3, [pc, #32] ; (8056d38 ) 8056d18: 681a ldr r2, [r3, #0] 8056d1a: 6a7b ldr r3, [r7, #36] ; 0x24 8056d1c: 4413 add r3, r2 8056d1e: 60bb str r3, [r7, #8] 8056d20: e029 b.n 8056d76 8056d22: bf00 nop 8056d24: 20020d70 .word 0x20020d70 8056d28: 20020d71 .word 0x20020d71 8056d2c: 20020d78 .word 0x20020d78 8056d30: 20020d7c .word 0x20020d7c 8056d34: 20023ea8 .word 0x20023ea8 8056d38: 20021660 .word 0x20021660 8056d3c: 080f2ca8 .word 0x080f2ca8 8056d40: 20021578 .word 0x20021578 8056d44: 20020d9e .word 0x20020d9e 8056d48: 20020994 .word 0x20020994 8056d4c: 2002008c .word 0x2002008c 8056d50: 2002164c .word 0x2002164c 8056d54: 20020090 .word 0x20020090 8056d58: 20058060 .word 0x20058060 8056d5c: 2002165c .word 0x2002165c 8056d60: 20021d68 .word 0x20021d68 else { Vup = Vdn; 8056d64: 4b7d ldr r3, [pc, #500] ; (8056f5c ) 8056d66: 681b ldr r3, [r3, #0] 8056d68: 4a7d ldr r2, [pc, #500] ; (8056f60 ) 8056d6a: 6013 str r3, [r2, #0] Ym = Vdn + mean; 8056d6c: 4b7b ldr r3, [pc, #492] ; (8056f5c ) 8056d6e: 681a ldr r2, [r3, #0] 8056d70: 6a7b ldr r3, [r7, #36] ; 0x24 8056d72: 4413 add r3, r2 8056d74: 60bb str r3, [r7, #8] } if(NUMPOINTS) 8056d76: 4b7b ldr r3, [pc, #492] ; (8056f64 ) 8056d78: 681b ldr r3, [r3, #0] 8056d7a: 2b00 cmp r3, #0 8056d7c: d045 beq.n 8056e0a { NeedKmUp = 0; 8056d7e: 4b7a ldr r3, [pc, #488] ; (8056f68 ) 8056d80: 2200 movs r2, #0 8056d82: 701a strb r2, [r3, #0] NeedKmDown++; 8056d84: 4b79 ldr r3, [pc, #484] ; (8056f6c ) 8056d86: 781b ldrb r3, [r3, #0] 8056d88: b2db uxtb r3, r3 8056d8a: 3301 adds r3, #1 8056d8c: b2da uxtb r2, r3 8056d8e: 4b77 ldr r3, [pc, #476] ; (8056f6c ) 8056d90: 701a strb r2, [r3, #0] if((NeedKmDown >= TimeKmDown) || (FirstGain == true)) 8056d92: 4b76 ldr r3, [pc, #472] ; (8056f6c ) 8056d94: 781b ldrb r3, [r3, #0] 8056d96: b2db uxtb r3, r3 8056d98: 461a mov r2, r3 8056d9a: 4b75 ldr r3, [pc, #468] ; (8056f70 ) 8056d9c: 681b ldr r3, [r3, #0] 8056d9e: 429a cmp r2, r3 8056da0: d204 bcs.n 8056dac 8056da2: 4b74 ldr r3, [pc, #464] ; (8056f74 ) 8056da4: 781b ldrb r3, [r3, #0] 8056da6: b2db uxtb r3, r3 8056da8: 2b00 cmp r3, #0 8056daa: d02a beq.n 8056e02 { FirstGain = false; 8056dac: 4b71 ldr r3, [pc, #452] ; (8056f74 ) 8056dae: 2200 movs r2, #0 8056db0: 701a strb r2, [r3, #0] if(NUMPOINTS >= VALUE_MAX) 8056db2: 4b6c ldr r3, [pc, #432] ; (8056f64 ) 8056db4: 681b ldr r3, [r3, #0] 8056db6: 2bff cmp r3, #255 ; 0xff 8056db8: d910 bls.n 8056ddc { if(pardata.IKU > Ku8) pardata.IKU -= Ku8; 8056dba: 4b6f ldr r3, [pc, #444] ; (8056f78 ) 8056dbc: 7a1b ldrb r3, [r3, #8] 8056dbe: b2db uxtb r3, r3 8056dc0: 2b03 cmp r3, #3 8056dc2: d907 bls.n 8056dd4 8056dc4: 4b6c ldr r3, [pc, #432] ; (8056f78 ) 8056dc6: 7a1b ldrb r3, [r3, #8] 8056dc8: b2db uxtb r3, r3 8056dca: 3b03 subs r3, #3 8056dcc: b2da uxtb r2, r3 8056dce: 4b6a ldr r3, [pc, #424] ; (8056f78 ) 8056dd0: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8056dd2: e09a b.n 8056f0a else pardata.IKU = Ku1; 8056dd4: 4b68 ldr r3, [pc, #416] ; (8056f78 ) 8056dd6: 2200 movs r2, #0 8056dd8: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8056dda: e096 b.n 8056f0a } else if(NUMPOINTS >= VALUE_MIN) 8056ddc: 4b61 ldr r3, [pc, #388] ; (8056f64 ) 8056dde: 681b ldr r3, [r3, #0] 8056de0: 2b01 cmp r3, #1 8056de2: f240 8092 bls.w 8056f0a { if(pardata.IKU > Ku1) 8056de6: 4b64 ldr r3, [pc, #400] ; (8056f78 ) 8056de8: 7a1b ldrb r3, [r3, #8] 8056dea: b2db uxtb r3, r3 8056dec: 2b00 cmp r3, #0 8056dee: f000 808c beq.w 8056f0a pardata.IKU --; 8056df2: 4b61 ldr r3, [pc, #388] ; (8056f78 ) 8056df4: 7a1b ldrb r3, [r3, #8] 8056df6: b2db uxtb r3, r3 8056df8: 3b01 subs r3, #1 8056dfa: b2da uxtb r2, r3 8056dfc: 4b5e ldr r3, [pc, #376] ; (8056f78 ) 8056dfe: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8056e00: e083 b.n 8056f0a } } else { NUMPOINTS = 0; 8056e02: 4b58 ldr r3, [pc, #352] ; (8056f64 ) 8056e04: 2200 movs r2, #0 8056e06: 601a str r2, [r3, #0] 8056e08: e082 b.n 8056f10 } } else { NeedKmDown = 0; 8056e0a: 4b58 ldr r3, [pc, #352] ; (8056f6c ) 8056e0c: 2200 movs r2, #0 8056e0e: 701a strb r2, [r3, #0] if(Ym <= UMIN) 8056e10: 68ba ldr r2, [r7, #8] 8056e12: 69fb ldr r3, [r7, #28] 8056e14: 429a cmp r2, r3 8056e16: d87b bhi.n 8056f10 { NeedKmUp++; 8056e18: 4b53 ldr r3, [pc, #332] ; (8056f68 ) 8056e1a: 781b ldrb r3, [r3, #0] 8056e1c: b2db uxtb r3, r3 8056e1e: 3301 adds r3, #1 8056e20: b2da uxtb r2, r3 8056e22: 4b51 ldr r3, [pc, #324] ; (8056f68 ) 8056e24: 701a strb r2, [r3, #0] if((NeedKmUp >= TimeKmUp) || (FirstGain == true)) 8056e26: 4b50 ldr r3, [pc, #320] ; (8056f68 ) 8056e28: 781b ldrb r3, [r3, #0] 8056e2a: b2db uxtb r3, r3 8056e2c: 461a mov r2, r3 8056e2e: 4b53 ldr r3, [pc, #332] ; (8056f7c ) 8056e30: 681b ldr r3, [r3, #0] 8056e32: 429a cmp r2, r3 8056e34: d204 bcs.n 8056e40 8056e36: 4b4f ldr r3, [pc, #316] ; (8056f74 ) 8056e38: 781b ldrb r3, [r3, #0] 8056e3a: b2db uxtb r3, r3 8056e3c: 2b00 cmp r3, #0 8056e3e: d067 beq.n 8056f10 { FirstGain = false; 8056e40: 4b4c ldr r3, [pc, #304] ; (8056f74 ) 8056e42: 2200 movs r2, #0 8056e44: 701a strb r2, [r3, #0] if(pardata.IKU < Ku640) 8056e46: 4b4c ldr r3, [pc, #304] ; (8056f78 ) 8056e48: 7a1b ldrb r3, [r3, #8] 8056e4a: b2db uxtb r3, r3 8056e4c: 2b09 cmp r3, #9 8056e4e: d85f bhi.n 8056f10 { fmax = (float32_t) Vup; 8056e50: 4b43 ldr r3, [pc, #268] ; (8056f60 ) 8056e52: 681b ldr r3, [r3, #0] 8056e54: ee07 3a90 vmov s15, r3 8056e58: eef8 7a67 vcvt.f32.u32 s15, s15 8056e5c: edc7 7a06 vstr s15, [r7, #24] fmax /= KM[pardata.IKU]; 8056e60: 4b45 ldr r3, [pc, #276] ; (8056f78 ) 8056e62: 7a1b ldrb r3, [r3, #8] 8056e64: b2db uxtb r3, r3 8056e66: 4a46 ldr r2, [pc, #280] ; (8056f80 ) 8056e68: 009b lsls r3, r3, #2 8056e6a: 4413 add r3, r2 8056e6c: ed93 7a00 vldr s14, [r3] 8056e70: edd7 6a06 vldr s13, [r7, #24] 8056e74: eec6 7a87 vdiv.f32 s15, s13, s14 8056e78: edc7 7a06 vstr s15, [r7, #24] dB_s = 0; 8056e7c: 2300 movs r3, #0 8056e7e: 74fb strb r3, [r7, #19] while(Ym < UMIN) 8056e80: e03e b.n 8056f00 { Yf = fmax * KM[dB_s] + 0.50f; 8056e82: 7cfb ldrb r3, [r7, #19] 8056e84: b2db uxtb r3, r3 8056e86: 4a3e ldr r2, [pc, #248] ; (8056f80 ) 8056e88: 009b lsls r3, r3, #2 8056e8a: 4413 add r3, r2 8056e8c: ed93 7a00 vldr s14, [r3] 8056e90: edd7 7a06 vldr s15, [r7, #24] 8056e94: ee67 7a27 vmul.f32 s15, s14, s15 8056e98: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8056e9c: ee77 7a87 vadd.f32 s15, s15, s14 8056ea0: edc7 7a05 vstr s15, [r7, #20] Ym = (uint32_t) Yf; 8056ea4: edd7 7a05 vldr s15, [r7, #20] 8056ea8: eefc 7ae7 vcvt.u32.f32 s15, s15 8056eac: ee17 3a90 vmov r3, s15 8056eb0: 60bb str r3, [r7, #8] Ym += mean; 8056eb2: 68ba ldr r2, [r7, #8] 8056eb4: 6a7b ldr r3, [r7, #36] ; 0x24 8056eb6: 4413 add r3, r2 8056eb8: 60bb str r3, [r7, #8] if(Ym > UMIN) 8056eba: 68ba ldr r2, [r7, #8] 8056ebc: 69fb ldr r3, [r7, #28] 8056ebe: 429a cmp r2, r3 8056ec0: d911 bls.n 8056ee6 { if(Ym > UMAX) 8056ec2: 68ba ldr r2, [r7, #8] 8056ec4: 6a3b ldr r3, [r7, #32] 8056ec6: 429a cmp r2, r3 8056ec8: d908 bls.n 8056edc { if(dB_s) 8056eca: 7cfb ldrb r3, [r7, #19] 8056ecc: b2db uxtb r3, r3 8056ece: 2b00 cmp r3, #0 8056ed0: d004 beq.n 8056edc dB_s--; 8056ed2: 7cfb ldrb r3, [r7, #19] 8056ed4: b2db uxtb r3, r3 8056ed6: 3b01 subs r3, #1 8056ed8: b2db uxtb r3, r3 8056eda: 74fb strb r3, [r7, #19] } pardata.IKU = dB_s; 8056edc: 7cfb ldrb r3, [r7, #19] 8056ede: b2da uxtb r2, r3 8056ee0: 4b25 ldr r3, [pc, #148] ; (8056f78 ) 8056ee2: 721a strb r2, [r3, #8] break; 8056ee4: e014 b.n 8056f10 } else { if(dB_s < Ku640) 8056ee6: 7cfb ldrb r3, [r7, #19] 8056ee8: b2db uxtb r3, r3 8056eea: 2b09 cmp r3, #9 8056eec: d80f bhi.n 8056f0e { dB_s++; 8056eee: 7cfb ldrb r3, [r7, #19] 8056ef0: b2db uxtb r3, r3 8056ef2: 3301 adds r3, #1 8056ef4: b2db uxtb r3, r3 8056ef6: 74fb strb r3, [r7, #19] pardata.IKU = dB_s; 8056ef8: 7cfb ldrb r3, [r7, #19] 8056efa: b2da uxtb r2, r3 8056efc: 4b1e ldr r3, [pc, #120] ; (8056f78 ) 8056efe: 721a strb r2, [r3, #8] while(Ym < UMIN) 8056f00: 68ba ldr r2, [r7, #8] 8056f02: 69fb ldr r3, [r7, #28] 8056f04: 429a cmp r2, r3 8056f06: d3bc bcc.n 8056e82 8056f08: e002 b.n 8056f10 if(NUMPOINTS >= VALUE_MAX) 8056f0a: bf00 nop 8056f0c: e000 b.n 8056f10 } else break; 8056f0e: bf00 nop } } } if(LAST_KU != pardata.IKU) 8056f10: 4b19 ldr r3, [pc, #100] ; (8056f78 ) 8056f12: 7a1b ldrb r3, [r3, #8] 8056f14: b2da uxtb r2, r3 8056f16: 4b1b ldr r3, [pc, #108] ; (8056f84 ) 8056f18: 781b ldrb r3, [r3, #0] 8056f1a: b2db uxtb r3, r3 8056f1c: 429a cmp r2, r3 8056f1e: d009 beq.n 8056f34 { Flag_Set_KU = 1; 8056f20: 4b19 ldr r3, [pc, #100] ; (8056f88 ) 8056f22: 2201 movs r2, #1 8056f24: 701a strb r2, [r3, #0] AUTOZOOM = true; 8056f26: 4b19 ldr r3, [pc, #100] ; (8056f8c ) 8056f28: 2201 movs r2, #1 8056f2a: 701a strb r2, [r3, #0] IndexFran = -1; 8056f2c: 4b18 ldr r3, [pc, #96] ; (8056f90 ) 8056f2e: f04f 32ff mov.w r2, #4294967295 8056f32: 601a str r2, [r3, #0] } NUMPOINTS = 0; 8056f34: 4b0b ldr r3, [pc, #44] ; (8056f64 ) 8056f36: 2200 movs r2, #0 8056f38: 601a str r2, [r3, #0] Vup = 0; 8056f3a: 4b09 ldr r3, [pc, #36] ; (8056f60 ) 8056f3c: 2200 movs r2, #0 8056f3e: 601a str r2, [r3, #0] Vdn = 0xffffff; 8056f40: 4b06 ldr r3, [pc, #24] ; (8056f5c ) 8056f42: f06f 427f mvn.w r2, #4278190080 ; 0xff000000 8056f46: 601a str r2, [r3, #0] return 0; 8056f48: 2300 movs r3, #0 8056f4a: e001 b.n 8056f50 } } return -1; 8056f4c: f04f 33ff mov.w r3, #4294967295 } 8056f50: 4618 mov r0, r3 8056f52: 372c adds r7, #44 ; 0x2c 8056f54: 46bd mov sp, r7 8056f56: f85d 7b04 ldr.w r7, [sp], #4 8056f5a: 4770 bx lr 8056f5c: 20020090 .word 0x20020090 8056f60: 20021660 .word 0x20021660 8056f64: 2002164c .word 0x2002164c 8056f68: 20020d71 .word 0x20020d71 8056f6c: 20020d70 .word 0x20020d70 8056f70: 20020d74 .word 0x20020d74 8056f74: 20020d7c .word 0x20020d7c 8056f78: 20023ea8 .word 0x20023ea8 8056f7c: 20020d78 .word 0x20020d78 8056f80: 080f2cb8 .word 0x080f2cb8 8056f84: 20021578 .word 0x20021578 8056f88: 20020d9e .word 0x20020d9e 8056f8c: 20020994 .word 0x20020994 8056f90: 2002008c .word 0x2002008c 08056f94 : { } void initFFT(float32_t *pSrc, float32_t *pDst, uint8_t flag) { 8056f94: b580 push {r7, lr} 8056f96: b088 sub sp, #32 8056f98: af02 add r7, sp, #8 8056f9a: 60f8 str r0, [r7, #12] 8056f9c: 60b9 str r1, [r7, #8] 8056f9e: 4613 mov r3, r2 8056fa0: 71fb strb r3, [r7, #7] arm_status status; if((pardata.SYG == OSC) && (pardata.IPR > ACC)) 8056fa2: 4b4f ldr r3, [pc, #316] ; (80570e0 ) 8056fa4: 781b ldrb r3, [r3, #0] 8056fa6: b2db uxtb r3, r3 8056fa8: 2b02 cmp r3, #2 8056faa: d11b bne.n 8056fe4 8056fac: 4b4c ldr r3, [pc, #304] ; (80570e0 ) 8056fae: 785b ldrb r3, [r3, #1] 8056fb0: b2db uxtb r3, r3 8056fb2: 2b00 cmp r3, #0 8056fb4: d016 beq.n 8056fe4 { status = arm_rfft_init_f32( &rfft_instance, &radix4, 8192, flag, 1); 8056fb6: 79fa ldrb r2, [r7, #7] 8056fb8: 2301 movs r3, #1 8056fba: 9300 str r3, [sp, #0] 8056fbc: 4613 mov r3, r2 8056fbe: f44f 5200 mov.w r2, #8192 ; 0x2000 8056fc2: 4948 ldr r1, [pc, #288] ; (80570e4 ) 8056fc4: 4848 ldr r0, [pc, #288] ; (80570e8 ) 8056fc6: f05f fded bl 80b6ba4 8056fca: 4603 mov r3, r0 8056fcc: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8056fce: f997 3017 ldrsb.w r3, [r7, #23] 8056fd2: 2b00 cmp r3, #0 8056fd4: d000 beq.n 8056fd8 8056fd6: e7fe b.n 8056fd6 arm_rfft_f32(&rfft_instance, pSrc, pDst); 8056fd8: 68ba ldr r2, [r7, #8] 8056fda: 68f9 ldr r1, [r7, #12] 8056fdc: 4842 ldr r0, [pc, #264] ; (80570e8 ) 8056fde: f05f f93f bl 80b6260 8056fe2: e078 b.n 80570d6 } else { switch(Ns) 8056fe4: 4b41 ldr r3, [pc, #260] ; (80570ec ) 8056fe6: 681b ldr r3, [r3, #0] 8056fe8: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8056fec: d036 beq.n 805705c 8056fee: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8056ff2: d806 bhi.n 8057002 8056ff4: f5b3 7f00 cmp.w r3, #512 ; 0x200 8056ff8: d00a beq.n 8057010 8056ffa: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8056ffe: d01a beq.n 8057036 if (status != ARM_MATH_SUCCESS) while (1); arm_rfft_f32(&rfft_instance, pSrc, pDst); break; } } } 8057000: e069 b.n 80570d6 switch(Ns) 8057002: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8057006: d03c beq.n 8057082 8057008: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 805700c: d04c beq.n 80570a8 } 805700e: e062 b.n 80570d6 status = arm_rfft_fast_init_f32( &rfft_fast_instance512, 512); 8057010: f44f 7100 mov.w r1, #512 ; 0x200 8057014: 4836 ldr r0, [pc, #216] ; (80570f0 ) 8057016: f05f fcef bl 80b69f8 805701a: 4603 mov r3, r0 805701c: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 805701e: f997 3017 ldrsb.w r3, [r7, #23] 8057022: 2b00 cmp r3, #0 8057024: d000 beq.n 8057028 8057026: e7fe b.n 8057026 arm_rfft_fast_f32(&rfft_fast_instance512, pSrc, pDst, flag); 8057028: 79fb ldrb r3, [r7, #7] 805702a: 68ba ldr r2, [r7, #8] 805702c: 68f9 ldr r1, [r7, #12] 805702e: 4830 ldr r0, [pc, #192] ; (80570f0 ) 8057030: f05f fcb5 bl 80b699e break; 8057034: e04f b.n 80570d6 status = arm_rfft_fast_init_f32( &rfft_fast_instance1024, 1024); 8057036: f44f 6180 mov.w r1, #1024 ; 0x400 805703a: 482e ldr r0, [pc, #184] ; (80570f4 ) 805703c: f05f fcdc bl 80b69f8 8057040: 4603 mov r3, r0 8057042: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8057044: f997 3017 ldrsb.w r3, [r7, #23] 8057048: 2b00 cmp r3, #0 805704a: d000 beq.n 805704e 805704c: e7fe b.n 805704c arm_rfft_fast_f32(&rfft_fast_instance1024, pSrc, pDst, flag); 805704e: 79fb ldrb r3, [r7, #7] 8057050: 68ba ldr r2, [r7, #8] 8057052: 68f9 ldr r1, [r7, #12] 8057054: 4827 ldr r0, [pc, #156] ; (80570f4 ) 8057056: f05f fca2 bl 80b699e break; 805705a: e03c b.n 80570d6 status = arm_rfft_fast_init_f32( &rfft_fast_instance2048, 2048); 805705c: f44f 6100 mov.w r1, #2048 ; 0x800 8057060: 4825 ldr r0, [pc, #148] ; (80570f8 ) 8057062: f05f fcc9 bl 80b69f8 8057066: 4603 mov r3, r0 8057068: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 805706a: f997 3017 ldrsb.w r3, [r7, #23] 805706e: 2b00 cmp r3, #0 8057070: d000 beq.n 8057074 8057072: e7fe b.n 8057072 arm_rfft_fast_f32(&rfft_fast_instance2048, pSrc, pDst, flag); 8057074: 79fb ldrb r3, [r7, #7] 8057076: 68ba ldr r2, [r7, #8] 8057078: 68f9 ldr r1, [r7, #12] 805707a: 481f ldr r0, [pc, #124] ; (80570f8 ) 805707c: f05f fc8f bl 80b699e break; 8057080: e029 b.n 80570d6 status = arm_rfft_fast_init_f32( &rfft_fast_instance4096, 4096); 8057082: f44f 5180 mov.w r1, #4096 ; 0x1000 8057086: 481d ldr r0, [pc, #116] ; (80570fc ) 8057088: f05f fcb6 bl 80b69f8 805708c: 4603 mov r3, r0 805708e: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8057090: f997 3017 ldrsb.w r3, [r7, #23] 8057094: 2b00 cmp r3, #0 8057096: d000 beq.n 805709a 8057098: e7fe b.n 8057098 arm_rfft_fast_f32(&rfft_fast_instance4096, pSrc, pDst, flag); 805709a: 79fb ldrb r3, [r7, #7] 805709c: 68ba ldr r2, [r7, #8] 805709e: 68f9 ldr r1, [r7, #12] 80570a0: 4816 ldr r0, [pc, #88] ; (80570fc ) 80570a2: f05f fc7c bl 80b699e break; 80570a6: e016 b.n 80570d6 status = arm_rfft_init_f32( &rfft_instance, &radix4, 8192, flag, 1); 80570a8: 79fa ldrb r2, [r7, #7] 80570aa: 2301 movs r3, #1 80570ac: 9300 str r3, [sp, #0] 80570ae: 4613 mov r3, r2 80570b0: f44f 5200 mov.w r2, #8192 ; 0x2000 80570b4: 490b ldr r1, [pc, #44] ; (80570e4 ) 80570b6: 480c ldr r0, [pc, #48] ; (80570e8 ) 80570b8: f05f fd74 bl 80b6ba4 80570bc: 4603 mov r3, r0 80570be: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 80570c0: f997 3017 ldrsb.w r3, [r7, #23] 80570c4: 2b00 cmp r3, #0 80570c6: d000 beq.n 80570ca 80570c8: e7fe b.n 80570c8 arm_rfft_f32(&rfft_instance, pSrc, pDst); 80570ca: 68ba ldr r2, [r7, #8] 80570cc: 68f9 ldr r1, [r7, #12] 80570ce: 4806 ldr r0, [pc, #24] ; (80570e8 ) 80570d0: f05f f8c6 bl 80b6260 break; 80570d4: bf00 nop } 80570d6: bf00 nop 80570d8: 3718 adds r7, #24 80570da: 46bd mov sp, r7 80570dc: bd80 pop {r7, pc} 80570de: bf00 nop 80570e0: 20023ea8 .word 0x20023ea8 80570e4: 200215bc .word 0x200215bc 80570e8: 200215d0 .word 0x200215d0 80570ec: 20021d24 .word 0x20021d24 80570f0: 20021630 .word 0x20021630 80570f4: 20021618 .word 0x20021618 80570f8: 20021600 .word 0x20021600 80570fc: 200215e8 .word 0x200215e8 08057100 : //****************************************************************************** // Ìåäèàíà çíà÷åíèé ïåðèîäîâ ñèãíàëà //****************************************************************************** void MedyF() { 8057100: b480 push {r7} 8057102: b085 sub sp, #20 8057104: af00 add r7, sp, #0 uint32_t i,j; uint32_t tmp; uint32_t len; if(pardata.SYG == WAVE) 8057106: 4b27 ldr r3, [pc, #156] ; (80571a4 ) 8057108: 781b ldrb r3, [r3, #0] 805710a: b2db uxtb r3, r3 805710c: 2b04 cmp r3, #4 805710e: d102 bne.n 8057116 len = LEN_M_BUF_TACHO; 8057110: 2305 movs r3, #5 8057112: 607b str r3, [r7, #4] 8057114: e001 b.n 805711a else len = LEN_M_BUF; 8057116: 2309 movs r3, #9 8057118: 607b str r3, [r7, #4] for(i = 0; i < len / 2 + 1; i++) 805711a: 2300 movs r3, #0 805711c: 60fb str r3, [r7, #12] 805711e: e029 b.n 8057174 for(j = i + 1; j < len; j++) 8057120: 68fb ldr r3, [r7, #12] 8057122: 3301 adds r3, #1 8057124: 60bb str r3, [r7, #8] 8057126: e01e b.n 8057166 if(frq[j] < frq[i]) 8057128: 4a1f ldr r2, [pc, #124] ; (80571a8 ) 805712a: 68bb ldr r3, [r7, #8] 805712c: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8057130: 491d ldr r1, [pc, #116] ; (80571a8 ) 8057132: 68fb ldr r3, [r7, #12] 8057134: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8057138: 429a cmp r2, r3 805713a: d211 bcs.n 8057160 { tmp = frq[i]; 805713c: 4a1a ldr r2, [pc, #104] ; (80571a8 ) 805713e: 68fb ldr r3, [r7, #12] 8057140: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8057144: 603b str r3, [r7, #0] frq[i] = frq[j]; 8057146: 4a18 ldr r2, [pc, #96] ; (80571a8 ) 8057148: 68bb ldr r3, [r7, #8] 805714a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 805714e: 4916 ldr r1, [pc, #88] ; (80571a8 ) 8057150: 68fb ldr r3, [r7, #12] 8057152: f841 2023 str.w r2, [r1, r3, lsl #2] frq[j] = tmp; 8057156: 4914 ldr r1, [pc, #80] ; (80571a8 ) 8057158: 68bb ldr r3, [r7, #8] 805715a: 683a ldr r2, [r7, #0] 805715c: f841 2023 str.w r2, [r1, r3, lsl #2] for(j = i + 1; j < len; j++) 8057160: 68bb ldr r3, [r7, #8] 8057162: 3301 adds r3, #1 8057164: 60bb str r3, [r7, #8] 8057166: 68ba ldr r2, [r7, #8] 8057168: 687b ldr r3, [r7, #4] 805716a: 429a cmp r2, r3 805716c: d3dc bcc.n 8057128 for(i = 0; i < len / 2 + 1; i++) 805716e: 68fb ldr r3, [r7, #12] 8057170: 3301 adds r3, #1 8057172: 60fb str r3, [r7, #12] 8057174: 687b ldr r3, [r7, #4] 8057176: 085b lsrs r3, r3, #1 8057178: 1c5a adds r2, r3, #1 805717a: 68fb ldr r3, [r7, #12] 805717c: 429a cmp r2, r3 805717e: d8cf bhi.n 8057120 } axF = (float32_t) (frq[len / 2]); 8057180: 687b ldr r3, [r7, #4] 8057182: 085b lsrs r3, r3, #1 8057184: 4a08 ldr r2, [pc, #32] ; (80571a8 ) 8057186: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805718a: ee07 3a90 vmov s15, r3 805718e: eef8 7a67 vcvt.f32.u32 s15, s15 8057192: 4b06 ldr r3, [pc, #24] ; (80571ac ) 8057194: edc3 7a00 vstr s15, [r3] } 8057198: bf00 nop 805719a: 3714 adds r7, #20 805719c: 46bd mov sp, r7 805719e: f85d 7b04 ldr.w r7, [sp], #4 80571a2: 4770 bx lr 80571a4: 20023ea8 .word 0x20023ea8 80571a8: 20026ed4 .word 0x20026ed4 80571ac: 20027910 .word 0x20027910 080571b0 : return (Out[Ns / 2]); } void CalcFreq(void) { 80571b0: b580 push {r7, lr} 80571b2: b082 sub sp, #8 80571b4: af00 add r7, sp, #0 uint32_t i, cnt = NUM_SAMPLES * 8192u; 80571b6: f44f 3300 mov.w r3, #131072 ; 0x20000 80571ba: 603b str r3, [r7, #0] for(i = 0; i < cnt; i++) 80571bc: 2300 movs r3, #0 80571be: 607b str r3, [r7, #4] 80571c0: e0de b.n 8057380 { switch(faseF) 80571c2: 4b74 ldr r3, [pc, #464] ; (8057394 ) 80571c4: 681b ldr r3, [r3, #0] 80571c6: 2b03 cmp r3, #3 80571c8: f200 80d7 bhi.w 805737a 80571cc: a201 add r2, pc, #4 ; (adr r2, 80571d4 ) 80571ce: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80571d2: bf00 nop 80571d4: 080571e5 .word 0x080571e5 80571d8: 08057227 .word 0x08057227 80571dc: 08057275 .word 0x08057275 80571e0: 080572cd .word 0x080572cd { case 0: if(Freq_f32(i) < -DF) 80571e4: 687b ldr r3, [r7, #4] 80571e6: 009a lsls r2, r3, #2 80571e8: 4b6b ldr r3, [pc, #428] ; (8057398 ) 80571ea: 4413 add r3, r2 80571ec: edd3 7a00 vldr s15, [r3] 80571f0: eebe 7a00 vmov.f32 s14, #224 ; 0xbf000000 -0.5 80571f4: eef4 7ac7 vcmpe.f32 s15, s14 80571f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80571fc: d50f bpl.n 805721e { if(okf) 80571fe: 4b67 ldr r3, [pc, #412] ; (805739c ) 8057200: 681b ldr r3, [r3, #0] 8057202: 2b00 cmp r3, #0 8057204: d005 beq.n 8057212 okf--; 8057206: 4b65 ldr r3, [pc, #404] ; (805739c ) 8057208: 681b ldr r3, [r3, #0] 805720a: 3b01 subs r3, #1 805720c: 4a63 ldr r2, [pc, #396] ; (805739c ) 805720e: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 8057210: e0b3 b.n 805737a else faseF++; 8057212: 4b60 ldr r3, [pc, #384] ; (8057394 ) 8057214: 681b ldr r3, [r3, #0] 8057216: 3301 adds r3, #1 8057218: 4a5e ldr r2, [pc, #376] ; (8057394 ) 805721a: 6013 str r3, [r2, #0] break; 805721c: e0ad b.n 805737a okf = CF; 805721e: 4b5f ldr r3, [pc, #380] ; (805739c ) 8057220: 2204 movs r2, #4 8057222: 601a str r2, [r3, #0] break; 8057224: e0a9 b.n 805737a case 1: frq[kf] = 0; 8057226: 4b5e ldr r3, [pc, #376] ; (80573a0 ) 8057228: 681b ldr r3, [r3, #0] 805722a: 4a5e ldr r2, [pc, #376] ; (80573a4 ) 805722c: 2100 movs r1, #0 805722e: f842 1023 str.w r1, [r2, r3, lsl #2] if(Freq_f32(i) > DF) 8057232: 687b ldr r3, [r7, #4] 8057234: 009a lsls r2, r3, #2 8057236: 4b58 ldr r3, [pc, #352] ; (8057398 ) 8057238: 4413 add r3, r2 805723a: edd3 7a00 vldr s15, [r3] 805723e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8057242: eef4 7ac7 vcmpe.f32 s15, s14 8057246: eef1 fa10 vmrs APSR_nzcv, fpscr 805724a: dd0f ble.n 805726c { if(okf < CF) 805724c: 4b53 ldr r3, [pc, #332] ; (805739c ) 805724e: 681b ldr r3, [r3, #0] 8057250: 2b03 cmp r3, #3 8057252: d805 bhi.n 8057260 okf++; 8057254: 4b51 ldr r3, [pc, #324] ; (805739c ) 8057256: 681b ldr r3, [r3, #0] 8057258: 3301 adds r3, #1 805725a: 4a50 ldr r2, [pc, #320] ; (805739c ) 805725c: 6013 str r3, [r2, #0] else faseF++; } else okf = 0; break; 805725e: e08c b.n 805737a else faseF++; 8057260: 4b4c ldr r3, [pc, #304] ; (8057394 ) 8057262: 681b ldr r3, [r3, #0] 8057264: 3301 adds r3, #1 8057266: 4a4b ldr r2, [pc, #300] ; (8057394 ) 8057268: 6013 str r3, [r2, #0] break; 805726a: e086 b.n 805737a okf = 0; 805726c: 4b4b ldr r3, [pc, #300] ; (805739c ) 805726e: 2200 movs r2, #0 8057270: 601a str r2, [r3, #0] break; 8057272: e082 b.n 805737a case 2: frq[kf] = frq[kf] + 1; 8057274: 4b4a ldr r3, [pc, #296] ; (80573a0 ) 8057276: 681b ldr r3, [r3, #0] 8057278: 4a49 ldr r2, [pc, #292] ; (80573a0 ) 805727a: 6812 ldr r2, [r2, #0] 805727c: 4949 ldr r1, [pc, #292] ; (80573a4 ) 805727e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8057282: 3201 adds r2, #1 8057284: 4947 ldr r1, [pc, #284] ; (80573a4 ) 8057286: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) < -DF) 805728a: 687b ldr r3, [r7, #4] 805728c: 009a lsls r2, r3, #2 805728e: 4b42 ldr r3, [pc, #264] ; (8057398 ) 8057290: 4413 add r3, r2 8057292: edd3 7a00 vldr s15, [r3] 8057296: eebe 7a00 vmov.f32 s14, #224 ; 0xbf000000 -0.5 805729a: eef4 7ac7 vcmpe.f32 s15, s14 805729e: eef1 fa10 vmrs APSR_nzcv, fpscr 80572a2: d50f bpl.n 80572c4 { if(okf) 80572a4: 4b3d ldr r3, [pc, #244] ; (805739c ) 80572a6: 681b ldr r3, [r3, #0] 80572a8: 2b00 cmp r3, #0 80572aa: d005 beq.n 80572b8 okf--; 80572ac: 4b3b ldr r3, [pc, #236] ; (805739c ) 80572ae: 681b ldr r3, [r3, #0] 80572b0: 3b01 subs r3, #1 80572b2: 4a3a ldr r2, [pc, #232] ; (805739c ) 80572b4: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 80572b6: e060 b.n 805737a else faseF++; 80572b8: 4b36 ldr r3, [pc, #216] ; (8057394 ) 80572ba: 681b ldr r3, [r3, #0] 80572bc: 3301 adds r3, #1 80572be: 4a35 ldr r2, [pc, #212] ; (8057394 ) 80572c0: 6013 str r3, [r2, #0] break; 80572c2: e05a b.n 805737a okf = CF; 80572c4: 4b35 ldr r3, [pc, #212] ; (805739c ) 80572c6: 2204 movs r2, #4 80572c8: 601a str r2, [r3, #0] break; 80572ca: e056 b.n 805737a case 3: frq[kf] = frq[kf] + 1; 80572cc: 4b34 ldr r3, [pc, #208] ; (80573a0 ) 80572ce: 681b ldr r3, [r3, #0] 80572d0: 4a33 ldr r2, [pc, #204] ; (80573a0 ) 80572d2: 6812 ldr r2, [r2, #0] 80572d4: 4933 ldr r1, [pc, #204] ; (80573a4 ) 80572d6: f851 2022 ldr.w r2, [r1, r2, lsl #2] 80572da: 3201 adds r2, #1 80572dc: 4931 ldr r1, [pc, #196] ; (80573a4 ) 80572de: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) > DF) 80572e2: 687b ldr r3, [r7, #4] 80572e4: 009a lsls r2, r3, #2 80572e6: 4b2c ldr r3, [pc, #176] ; (8057398 ) 80572e8: 4413 add r3, r2 80572ea: edd3 7a00 vldr s15, [r3] 80572ee: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80572f2: eef4 7ac7 vcmpe.f32 s15, s14 80572f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80572fa: dd3a ble.n 8057372 { if(okf < CF) 80572fc: 4b27 ldr r3, [pc, #156] ; (805739c ) 80572fe: 681b ldr r3, [r3, #0] 8057300: 2b03 cmp r3, #3 8057302: d805 bhi.n 8057310 okf++; 8057304: 4b25 ldr r3, [pc, #148] ; (805739c ) 8057306: 681b ldr r3, [r3, #0] 8057308: 3301 adds r3, #1 805730a: 4a24 ldr r2, [pc, #144] ; (805739c ) 805730c: 6013 str r3, [r2, #0] faseF = 0; } } else okf = 0; break; 805730e: e033 b.n 8057378 kf = (kf + 1) % LEN_M_BUF; 8057310: 4b23 ldr r3, [pc, #140] ; (80573a0 ) 8057312: 681b ldr r3, [r3, #0] 8057314: 1c59 adds r1, r3, #1 8057316: 4b24 ldr r3, [pc, #144] ; (80573a8 ) 8057318: fba3 2301 umull r2, r3, r3, r1 805731c: 085a lsrs r2, r3, #1 805731e: 4613 mov r3, r2 8057320: 00db lsls r3, r3, #3 8057322: 4413 add r3, r2 8057324: 1aca subs r2, r1, r3 8057326: 4b1e ldr r3, [pc, #120] ; (80573a0 ) 8057328: 601a str r2, [r3, #0] if(!kf) 805732a: 4b1d ldr r3, [pc, #116] ; (80573a0 ) 805732c: 681b ldr r3, [r3, #0] 805732e: 2b00 cmp r3, #0 8057330: d11b bne.n 805736a kf = 0; 8057332: 4b1b ldr r3, [pc, #108] ; (80573a0 ) 8057334: 2200 movs r2, #0 8057336: 601a str r2, [r3, #0] MedyF(); 8057338: f7ff fee2 bl 8057100 if(axF) 805733c: 4b1b ldr r3, [pc, #108] ; (80573ac ) 805733e: edd3 7a00 vldr s15, [r3] 8057342: eef5 7a40 vcmp.f32 s15, #0.0 8057346: eef1 fa10 vmrs APSR_nzcv, fpscr 805734a: d00a beq.n 8057362 FreqFran = 64000.0f / axF; 805734c: 4b17 ldr r3, [pc, #92] ; (80573ac ) 805734e: ed93 7a00 vldr s14, [r3] 8057352: eddf 6a17 vldr s13, [pc, #92] ; 80573b0 8057356: eec6 7a87 vdiv.f32 s15, s13, s14 805735a: 4b16 ldr r3, [pc, #88] ; (80573b4 ) 805735c: edc3 7a00 vstr s15, [r3] 8057360: e003 b.n 805736a else FreqFran = 0; 8057362: 4b14 ldr r3, [pc, #80] ; (80573b4 ) 8057364: f04f 0200 mov.w r2, #0 8057368: 601a str r2, [r3, #0] faseF = 0; 805736a: 4b0a ldr r3, [pc, #40] ; (8057394 ) 805736c: 2200 movs r2, #0 805736e: 601a str r2, [r3, #0] break; 8057370: e002 b.n 8057378 okf = 0; 8057372: 4b0a ldr r3, [pc, #40] ; (805739c ) 8057374: 2200 movs r2, #0 8057376: 601a str r2, [r3, #0] break; 8057378: bf00 nop for(i = 0; i < cnt; i++) 805737a: 687b ldr r3, [r7, #4] 805737c: 3301 adds r3, #1 805737e: 607b str r3, [r7, #4] 8057380: 687a ldr r2, [r7, #4] 8057382: 683b ldr r3, [r7, #0] 8057384: 429a cmp r2, r3 8057386: f4ff af1c bcc.w 80571c2 } } } 805738a: bf00 nop 805738c: 3708 adds r7, #8 805738e: 46bd mov sp, r7 8057390: bd80 pop {r7, pc} 8057392: bf00 nop 8057394: 20021674 .word 0x20021674 8057398: 64080000 .word 0x64080000 805739c: 20020094 .word 0x20020094 80573a0: 20021670 .word 0x20021670 80573a4: 20026ed4 .word 0x20026ed4 80573a8: 38e38e39 .word 0x38e38e39 80573ac: 20027910 .word 0x20027910 80573b0: 477a0000 .word 0x477a0000 80573b4: 200215ac .word 0x200215ac 080573b8 : void CalcFreqTacho(void) { 80573b8: b580 push {r7, lr} 80573ba: b082 sub sp, #8 80573bc: af00 add r7, sp, #0 uint32_t i, cnt = 8 * 16384u; 80573be: f44f 3300 mov.w r3, #131072 ; 0x20000 80573c2: 603b str r3, [r7, #0] for(i = 0; i < cnt; i++) 80573c4: 2300 movs r3, #0 80573c6: 607b str r3, [r7, #4] 80573c8: e0de b.n 8057588 { switch(faseF) 80573ca: 4b74 ldr r3, [pc, #464] ; (805759c ) 80573cc: 681b ldr r3, [r3, #0] 80573ce: 2b03 cmp r3, #3 80573d0: f200 80d7 bhi.w 8057582 80573d4: a201 add r2, pc, #4 ; (adr r2, 80573dc ) 80573d6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80573da: bf00 nop 80573dc: 080573ed .word 0x080573ed 80573e0: 0805742f .word 0x0805742f 80573e4: 0805747d .word 0x0805747d 80573e8: 080574d5 .word 0x080574d5 { case 0: if(Freq_f32(i) < -DF_TACHO) 80573ec: 687b ldr r3, [r7, #4] 80573ee: 009a lsls r2, r3, #2 80573f0: 4b6b ldr r3, [pc, #428] ; (80575a0 ) 80573f2: 4413 add r3, r2 80573f4: edd3 7a00 vldr s15, [r3] 80573f8: ed9f 7a6a vldr s14, [pc, #424] ; 80575a4 80573fc: eef4 7ac7 vcmpe.f32 s15, s14 8057400: eef1 fa10 vmrs APSR_nzcv, fpscr 8057404: d50f bpl.n 8057426 { if(okf) 8057406: 4b68 ldr r3, [pc, #416] ; (80575a8 ) 8057408: 681b ldr r3, [r3, #0] 805740a: 2b00 cmp r3, #0 805740c: d005 beq.n 805741a okf--; 805740e: 4b66 ldr r3, [pc, #408] ; (80575a8 ) 8057410: 681b ldr r3, [r3, #0] 8057412: 3b01 subs r3, #1 8057414: 4a64 ldr r2, [pc, #400] ; (80575a8 ) 8057416: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 8057418: e0b3 b.n 8057582 else faseF++; 805741a: 4b60 ldr r3, [pc, #384] ; (805759c ) 805741c: 681b ldr r3, [r3, #0] 805741e: 3301 adds r3, #1 8057420: 4a5e ldr r2, [pc, #376] ; (805759c ) 8057422: 6013 str r3, [r2, #0] break; 8057424: e0ad b.n 8057582 okf = CF; 8057426: 4b60 ldr r3, [pc, #384] ; (80575a8 ) 8057428: 2204 movs r2, #4 805742a: 601a str r2, [r3, #0] break; 805742c: e0a9 b.n 8057582 case 1: frq[kf] = 0; 805742e: 4b5f ldr r3, [pc, #380] ; (80575ac ) 8057430: 681b ldr r3, [r3, #0] 8057432: 4a5f ldr r2, [pc, #380] ; (80575b0 ) 8057434: 2100 movs r1, #0 8057436: f842 1023 str.w r1, [r2, r3, lsl #2] if(Freq_f32(i) > DF_TACHO) 805743a: 687b ldr r3, [r7, #4] 805743c: 009a lsls r2, r3, #2 805743e: 4b58 ldr r3, [pc, #352] ; (80575a0 ) 8057440: 4413 add r3, r2 8057442: edd3 7a00 vldr s15, [r3] 8057446: ed9f 7a5b vldr s14, [pc, #364] ; 80575b4 805744a: eef4 7ac7 vcmpe.f32 s15, s14 805744e: eef1 fa10 vmrs APSR_nzcv, fpscr 8057452: dd0f ble.n 8057474 { if(okf < CF) 8057454: 4b54 ldr r3, [pc, #336] ; (80575a8 ) 8057456: 681b ldr r3, [r3, #0] 8057458: 2b03 cmp r3, #3 805745a: d805 bhi.n 8057468 okf++; 805745c: 4b52 ldr r3, [pc, #328] ; (80575a8 ) 805745e: 681b ldr r3, [r3, #0] 8057460: 3301 adds r3, #1 8057462: 4a51 ldr r2, [pc, #324] ; (80575a8 ) 8057464: 6013 str r3, [r2, #0] else faseF++; } else okf = 0; break; 8057466: e08c b.n 8057582 else faseF++; 8057468: 4b4c ldr r3, [pc, #304] ; (805759c ) 805746a: 681b ldr r3, [r3, #0] 805746c: 3301 adds r3, #1 805746e: 4a4b ldr r2, [pc, #300] ; (805759c ) 8057470: 6013 str r3, [r2, #0] break; 8057472: e086 b.n 8057582 okf = 0; 8057474: 4b4c ldr r3, [pc, #304] ; (80575a8 ) 8057476: 2200 movs r2, #0 8057478: 601a str r2, [r3, #0] break; 805747a: e082 b.n 8057582 case 2: frq[kf] = frq[kf] + 1; 805747c: 4b4b ldr r3, [pc, #300] ; (80575ac ) 805747e: 681b ldr r3, [r3, #0] 8057480: 4a4a ldr r2, [pc, #296] ; (80575ac ) 8057482: 6812 ldr r2, [r2, #0] 8057484: 494a ldr r1, [pc, #296] ; (80575b0 ) 8057486: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805748a: 3201 adds r2, #1 805748c: 4948 ldr r1, [pc, #288] ; (80575b0 ) 805748e: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) < -DF_TACHO) 8057492: 687b ldr r3, [r7, #4] 8057494: 009a lsls r2, r3, #2 8057496: 4b42 ldr r3, [pc, #264] ; (80575a0 ) 8057498: 4413 add r3, r2 805749a: edd3 7a00 vldr s15, [r3] 805749e: ed9f 7a41 vldr s14, [pc, #260] ; 80575a4 80574a2: eef4 7ac7 vcmpe.f32 s15, s14 80574a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80574aa: d50f bpl.n 80574cc { if(okf) 80574ac: 4b3e ldr r3, [pc, #248] ; (80575a8 ) 80574ae: 681b ldr r3, [r3, #0] 80574b0: 2b00 cmp r3, #0 80574b2: d005 beq.n 80574c0 okf--; 80574b4: 4b3c ldr r3, [pc, #240] ; (80575a8 ) 80574b6: 681b ldr r3, [r3, #0] 80574b8: 3b01 subs r3, #1 80574ba: 4a3b ldr r2, [pc, #236] ; (80575a8 ) 80574bc: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 80574be: e060 b.n 8057582 else faseF++; 80574c0: 4b36 ldr r3, [pc, #216] ; (805759c ) 80574c2: 681b ldr r3, [r3, #0] 80574c4: 3301 adds r3, #1 80574c6: 4a35 ldr r2, [pc, #212] ; (805759c ) 80574c8: 6013 str r3, [r2, #0] break; 80574ca: e05a b.n 8057582 okf = CF; 80574cc: 4b36 ldr r3, [pc, #216] ; (80575a8 ) 80574ce: 2204 movs r2, #4 80574d0: 601a str r2, [r3, #0] break; 80574d2: e056 b.n 8057582 case 3: frq[kf] = frq[kf] + 1; 80574d4: 4b35 ldr r3, [pc, #212] ; (80575ac ) 80574d6: 681b ldr r3, [r3, #0] 80574d8: 4a34 ldr r2, [pc, #208] ; (80575ac ) 80574da: 6812 ldr r2, [r2, #0] 80574dc: 4934 ldr r1, [pc, #208] ; (80575b0 ) 80574de: f851 2022 ldr.w r2, [r1, r2, lsl #2] 80574e2: 3201 adds r2, #1 80574e4: 4932 ldr r1, [pc, #200] ; (80575b0 ) 80574e6: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) > DF_TACHO) 80574ea: 687b ldr r3, [r7, #4] 80574ec: 009a lsls r2, r3, #2 80574ee: 4b2c ldr r3, [pc, #176] ; (80575a0 ) 80574f0: 4413 add r3, r2 80574f2: edd3 7a00 vldr s15, [r3] 80574f6: ed9f 7a2f vldr s14, [pc, #188] ; 80575b4 80574fa: eef4 7ac7 vcmpe.f32 s15, s14 80574fe: eef1 fa10 vmrs APSR_nzcv, fpscr 8057502: dd3a ble.n 805757a { if(okf < CF) 8057504: 4b28 ldr r3, [pc, #160] ; (80575a8 ) 8057506: 681b ldr r3, [r3, #0] 8057508: 2b03 cmp r3, #3 805750a: d805 bhi.n 8057518 okf++; 805750c: 4b26 ldr r3, [pc, #152] ; (80575a8 ) 805750e: 681b ldr r3, [r3, #0] 8057510: 3301 adds r3, #1 8057512: 4a25 ldr r2, [pc, #148] ; (80575a8 ) 8057514: 6013 str r3, [r2, #0] faseF = 0; } } else okf = 0; break; 8057516: e033 b.n 8057580 kf = (kf + 1) % LEN_M_BUF_TACHO; 8057518: 4b24 ldr r3, [pc, #144] ; (80575ac ) 805751a: 681b ldr r3, [r3, #0] 805751c: 1c59 adds r1, r3, #1 805751e: 4b26 ldr r3, [pc, #152] ; (80575b8 ) 8057520: fba3 2301 umull r2, r3, r3, r1 8057524: 089a lsrs r2, r3, #2 8057526: 4613 mov r3, r2 8057528: 009b lsls r3, r3, #2 805752a: 4413 add r3, r2 805752c: 1aca subs r2, r1, r3 805752e: 4b1f ldr r3, [pc, #124] ; (80575ac ) 8057530: 601a str r2, [r3, #0] if(!kf) 8057532: 4b1e ldr r3, [pc, #120] ; (80575ac ) 8057534: 681b ldr r3, [r3, #0] 8057536: 2b00 cmp r3, #0 8057538: d11b bne.n 8057572 kf = 0; 805753a: 4b1c ldr r3, [pc, #112] ; (80575ac ) 805753c: 2200 movs r2, #0 805753e: 601a str r2, [r3, #0] MedyF(); 8057540: f7ff fdde bl 8057100 if(axF) 8057544: 4b1d ldr r3, [pc, #116] ; (80575bc ) 8057546: edd3 7a00 vldr s15, [r3] 805754a: eef5 7a40 vcmp.f32 s15, #0.0 805754e: eef1 fa10 vmrs APSR_nzcv, fpscr 8057552: d00a beq.n 805756a FreqFran = 20000.0f / axF; 8057554: 4b19 ldr r3, [pc, #100] ; (80575bc ) 8057556: ed93 7a00 vldr s14, [r3] 805755a: eddf 6a19 vldr s13, [pc, #100] ; 80575c0 805755e: eec6 7a87 vdiv.f32 s15, s13, s14 8057562: 4b18 ldr r3, [pc, #96] ; (80575c4 ) 8057564: edc3 7a00 vstr s15, [r3] 8057568: e003 b.n 8057572 else FreqFran = 0; 805756a: 4b16 ldr r3, [pc, #88] ; (80575c4 ) 805756c: f04f 0200 mov.w r2, #0 8057570: 601a str r2, [r3, #0] faseF = 0; 8057572: 4b0a ldr r3, [pc, #40] ; (805759c ) 8057574: 2200 movs r2, #0 8057576: 601a str r2, [r3, #0] break; 8057578: e002 b.n 8057580 okf = 0; 805757a: 4b0b ldr r3, [pc, #44] ; (80575a8 ) 805757c: 2200 movs r2, #0 805757e: 601a str r2, [r3, #0] break; 8057580: bf00 nop for(i = 0; i < cnt; i++) 8057582: 687b ldr r3, [r7, #4] 8057584: 3301 adds r3, #1 8057586: 607b str r3, [r7, #4] 8057588: 687a ldr r2, [r7, #4] 805758a: 683b ldr r3, [r7, #0] 805758c: 429a cmp r2, r3 805758e: f4ff af1c bcc.w 80573ca } } } 8057592: bf00 nop 8057594: 3708 adds r7, #8 8057596: 46bd mov sp, r7 8057598: bd80 pop {r7, pc} 805759a: bf00 nop 805759c: 20021674 .word 0x20021674 80575a0: 64080000 .word 0x64080000 80575a4: c1a40000 .word 0xc1a40000 80575a8: 20020094 .word 0x20020094 80575ac: 20021670 .word 0x20021670 80575b0: 20026ed4 .word 0x20026ed4 80575b4: 41a40000 .word 0x41a40000 80575b8: cccccccd .word 0xcccccccd 80575bc: 20027910 .word 0x20027910 80575c0: 469c4000 .word 0x469c4000 80575c4: 200215ac .word 0x200215ac 080575c8 : void meas(void) { 80575c8: b590 push {r4, r7, lr} 80575ca: ed2d 8b04 vpush {d8-d9} 80575ce: f5ad 7d0b sub.w sp, sp, #556 ; 0x22c 80575d2: 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; 80575d4: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 80575d8: f8c7 3218 str.w r3, [r7, #536] ; 0x218 if(READY /*== DATA_CAPTURED*/) 80575dc: 4bba ldr r3, [pc, #744] ; (80578c8 ) 80575de: 781b ldrb r3, [r3, #0] 80575e0: b2db uxtb r3, r3 80575e2: 2b00 cmp r3, #0 80575e4: f00d 84c3 beq.w 8064f6e { if(clbr) 80575e8: 4bb8 ldr r3, [pc, #736] ; (80578cc ) 80575ea: 781b ldrb r3, [r3, #0] 80575ec: b2db uxtb r3, r3 80575ee: 2b00 cmp r3, #0 80575f0: f000 8122 beq.w 8057838 { if((menu != CALIBR_00) && (menu < CALIBR_9)) 80575f4: 4bb6 ldr r3, [pc, #728] ; (80578d0 ) 80575f6: 781b ldrb r3, [r3, #0] 80575f8: b2db uxtb r3, r3 80575fa: 2b34 cmp r3, #52 ; 0x34 80575fc: f00d 84b2 beq.w 8064f64 8057600: 4bb3 ldr r3, [pc, #716] ; (80578d0 ) 8057602: 781b ldrb r3, [r3, #0] 8057604: b2db uxtb r3, r3 8057606: 2b3d cmp r3, #61 ; 0x3d 8057608: f20d 84ac bhi.w 8064f64 { if(measuring) 805760c: 4bb1 ldr r3, [pc, #708] ; (80578d4 ) 805760e: 781b ldrb r3, [r3, #0] 8057610: b2db uxtb r3, r3 8057612: 2b00 cmp r3, #0 8057614: f00d 84a6 beq.w 8064f64 { GetData(); 8057618: f00d ff58 bl 80654cc for(i = 0; i < Ns; i++) { 805761c: 2300 movs r3, #0 805761e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057622: e014 b.n 805764e In[i] = (float32_t) In16[i].lg; 8057624: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057628: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805762c: 49aa ldr r1, [pc, #680] ; (80578d8 ) 805762e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8057632: ee07 2a90 vmov s15, r2 8057636: eef8 7a67 vcvt.f32.u32 s15, s15 805763a: 4aa8 ldr r2, [pc, #672] ; (80578dc ) 805763c: 009b lsls r3, r3, #2 805763e: 4413 add r3, r2 8057640: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 8057644: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057648: 3301 adds r3, #1 805764a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805764e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057652: 4ba3 ldr r3, [pc, #652] ; (80578e0 ) 8057654: 681b ldr r3, [r3, #0] 8057656: 429a cmp r2, r3 8057658: d3e4 bcc.n 8057624 } arm_scale_f32(In, _b24 * 2, In, Ns); 805765a: 4ba1 ldr r3, [pc, #644] ; (80578e0 ) 805765c: 681b ldr r3, [r3, #0] 805765e: 461a mov r2, r3 8057660: 499e ldr r1, [pc, #632] ; (80578dc ) 8057662: ed9f 0aa0 vldr s0, [pc, #640] ; 80578e4 8057666: 489d ldr r0, [pc, #628] ; (80578dc ) 8057668: f077 f9fe bl 80cea68 arm_mean_f32(In, Ns, &fl); 805766c: 4b9c ldr r3, [pc, #624] ; (80578e0 ) 805766e: 681b ldr r3, [r3, #0] 8057670: f507 72de add.w r2, r7, #444 ; 0x1bc 8057674: 4619 mov r1, r3 8057676: 4899 ldr r0, [pc, #612] ; (80578dc ) 8057678: f076 fe96 bl 80ce3a8 arm_offset_f32(In, -fl, Out, Ns); 805767c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8057680: eef1 7a67 vneg.f32 s15, s15 8057684: 4b96 ldr r3, [pc, #600] ; (80578e0 ) 8057686: 681b ldr r3, [r3, #0] 8057688: 461a mov r2, r3 805768a: 4997 ldr r1, [pc, #604] ; (80578e8 ) 805768c: eeb0 0a67 vmov.f32 s0, s15 8057690: 4892 ldr r0, [pc, #584] ; (80578dc ) 8057692: f077 fa1f bl 80cead4 arm_rms_f32(Out, Ns, &skz[ACC]); 8057696: 4b92 ldr r3, [pc, #584] ; (80578e0 ) 8057698: 681b ldr r3, [r3, #0] 805769a: 4a94 ldr r2, [pc, #592] ; (80578ec ) 805769c: 4619 mov r1, r3 805769e: 4892 ldr r0, [pc, #584] ; (80578e8 ) 80576a0: f076 fd8a bl 80ce1b8 switch(menu) 80576a4: 4b8a ldr r3, [pc, #552] ; (80578d0 ) 80576a6: 781b ldrb r3, [r3, #0] 80576a8: b2db uxtb r3, r3 80576aa: 3b35 subs r3, #53 ; 0x35 80576ac: 2b08 cmp r3, #8 80576ae: d869 bhi.n 8057784 80576b0: a201 add r2, pc, #4 ; (adr r2, 80576b8 ) 80576b2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80576b6: bf00 nop 80576b8: 080576dd .word 0x080576dd 80576bc: 080576e5 .word 0x080576e5 80576c0: 080576f7 .word 0x080576f7 80576c4: 08057709 .word 0x08057709 80576c8: 0805771b .word 0x0805771b 80576cc: 0805772d .word 0x0805772d 80576d0: 0805773f .word 0x0805773f 80576d4: 08057751 .word 0x08057751 80576d8: 0805776b .word 0x0805776b { case CALIBR_0: // ICP 1 fl = 4000.0f / 1.6f; 80576dc: 4b84 ldr r3, [pc, #528] ; (80578f0 ) 80576de: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc break; 80576e2: e04f b.n 8057784 case CALIBR_1: // ICP 2 fl = 4000.0f / 1.6f / KM[Ku2]; 80576e4: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80576e8: eddf 6a82 vldr s13, [pc, #520] ; 80578f4 80576ec: eec6 7a87 vdiv.f32 s15, s13, s14 80576f0: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 80576f4: e046 b.n 8057784 case CALIBR_2: // ICP 4 fl = 4000.0f / 1.6f / KM[Ku4]; 80576f6: eeb1 7a00 vmov.f32 s14, #16 ; 0x40800000 4.0 80576fa: eddf 6a7e vldr s13, [pc, #504] ; 80578f4 80576fe: eec6 7a87 vdiv.f32 s15, s13, s14 8057702: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 8057706: e03d b.n 8057784 case CALIBR_3: // ICP 8 fl = 4000.0f / 1.6f / KM[Ku8]; 8057708: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 805770c: eddf 6a79 vldr s13, [pc, #484] ; 80578f4 8057710: eec6 7a87 vdiv.f32 s15, s13, s14 8057714: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 8057718: e034 b.n 8057784 case CALIBR_4: // ICP 16 fl = 4000.0f / 1.6f/ KM[Ku16]; 805771a: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 805771e: eddf 6a75 vldr s13, [pc, #468] ; 80578f4 8057722: eec6 7a87 vdiv.f32 s15, s13, s14 8057726: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 805772a: e02b b.n 8057784 case CALIBR_5: // ICP 32 fl = 4000.0f / 1.6f / KM[Ku32]; 805772c: ed9f 7a72 vldr s14, [pc, #456] ; 80578f8 8057730: eddf 6a70 vldr s13, [pc, #448] ; 80578f4 8057734: eec6 7a87 vdiv.f32 s15, s13, s14 8057738: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 805773c: e022 b.n 8057784 case CALIBR_6: // ICP 64 fl = 4000.0f / 1.6f / KM[Ku64]; 805773e: ed9f 7a6f vldr s14, [pc, #444] ; 80578fc 8057742: eddf 6a6c vldr s13, [pc, #432] ; 80578f4 8057746: eec6 7a87 vdiv.f32 s15, s13, s14 805774a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 805774e: e019 b.n 8057784 case CALIBR_7: // Kux10 fl = 4000.0f / 1.6f / 10.0f; 8057750: 4b6b ldr r3, [pc, #428] ; (8057900 ) 8057752: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc fl *= Kcorr[ICPx1]; 8057756: 4b6b ldr r3, [pc, #428] ; (8057904 ) 8057758: ed93 7a00 vldr s14, [r3] 805775c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8057760: ee67 7a27 vmul.f32 s15, s14, s15 8057764: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 8057768: e00c b.n 8057784 case CALIBR_8: // ZAR 1 fl = 4000.0f / 1.6f; 805776a: 4b61 ldr r3, [pc, #388] ; (80578f0 ) 805776c: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc fl *= Kcorr[ICPx1]; 8057770: 4b64 ldr r3, [pc, #400] ; (8057904 ) 8057772: ed93 7a00 vldr s14, [r3] 8057776: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805777a: ee67 7a27 vmul.f32 s15, s14, s15 805777e: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 8057782: bf00 nop } skz[ACC] *= fl; 8057784: 4b59 ldr r3, [pc, #356] ; (80578ec ) 8057786: ed93 7a00 vldr s14, [r3] 805778a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805778e: ee67 7a27 vmul.f32 s15, s14, s15 8057792: 4b56 ldr r3, [pc, #344] ; (80578ec ) 8057794: edc3 7a00 vstr s15, [r3] if(skz[ACC] != 0.0f) 8057798: 4b54 ldr r3, [pc, #336] ; (80578ec ) 805779a: edd3 7a00 vldr s15, [r3] 805779e: eef5 7a40 vcmp.f32 s15, #0.0 80577a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80577a6: f00d 83dd beq.w 8064f64 { if(MeanClbr == 0) 80577aa: 4b57 ldr r3, [pc, #348] ; (8057908 ) 80577ac: 681b ldr r3, [r3, #0] 80577ae: 2b00 cmp r3, #0 80577b0: d111 bne.n 80577d6 MeanKcorr = Ucorr[menu - CALIBR_0] / skz[ACC]; 80577b2: 4b47 ldr r3, [pc, #284] ; (80578d0 ) 80577b4: 781b ldrb r3, [r3, #0] 80577b6: b2db uxtb r3, r3 80577b8: 3b35 subs r3, #53 ; 0x35 80577ba: 4a54 ldr r2, [pc, #336] ; (805790c ) 80577bc: 009b lsls r3, r3, #2 80577be: 4413 add r3, r2 80577c0: edd3 6a00 vldr s13, [r3] 80577c4: 4b49 ldr r3, [pc, #292] ; (80578ec ) 80577c6: ed93 7a00 vldr s14, [r3] 80577ca: eec6 7a87 vdiv.f32 s15, s13, s14 80577ce: 4b50 ldr r3, [pc, #320] ; (8057910 ) 80577d0: edc3 7a00 vstr s15, [r3] 80577d4: e015 b.n 8057802 else MeanKcorr += (Ucorr[menu - CALIBR_0] / skz[ACC]); 80577d6: 4b3e ldr r3, [pc, #248] ; (80578d0 ) 80577d8: 781b ldrb r3, [r3, #0] 80577da: b2db uxtb r3, r3 80577dc: 3b35 subs r3, #53 ; 0x35 80577de: 4a4b ldr r2, [pc, #300] ; (805790c ) 80577e0: 009b lsls r3, r3, #2 80577e2: 4413 add r3, r2 80577e4: edd3 6a00 vldr s13, [r3] 80577e8: 4b40 ldr r3, [pc, #256] ; (80578ec ) 80577ea: edd3 7a00 vldr s15, [r3] 80577ee: ee86 7aa7 vdiv.f32 s14, s13, s15 80577f2: 4b47 ldr r3, [pc, #284] ; (8057910 ) 80577f4: edd3 7a00 vldr s15, [r3] 80577f8: ee77 7a27 vadd.f32 s15, s14, s15 80577fc: 4b44 ldr r3, [pc, #272] ; (8057910 ) 80577fe: edc3 7a00 vstr s15, [r3] MeanClbr++; 8057802: 4b41 ldr r3, [pc, #260] ; (8057908 ) 8057804: 681b ldr r3, [r3, #0] 8057806: 3301 adds r3, #1 8057808: 4a3f ldr r2, [pc, #252] ; (8057908 ) 805780a: 6013 str r3, [r2, #0] Kcorr[menu - CALIBR_0] = MeanKcorr / ((float32_t) MeanClbr); 805780c: 4b30 ldr r3, [pc, #192] ; (80578d0 ) 805780e: 781b ldrb r3, [r3, #0] 8057810: b2db uxtb r3, r3 8057812: 3b35 subs r3, #53 ; 0x35 8057814: 4a3e ldr r2, [pc, #248] ; (8057910 ) 8057816: edd2 6a00 vldr s13, [r2] 805781a: 4a3b ldr r2, [pc, #236] ; (8057908 ) 805781c: 6812 ldr r2, [r2, #0] 805781e: ee07 2a90 vmov s15, r2 8057822: eeb8 7a67 vcvt.f32.u32 s14, s15 8057826: eec6 7a87 vdiv.f32 s15, s13, s14 805782a: 4a36 ldr r2, [pc, #216] ; (8057904 ) 805782c: 009b lsls r3, r3, #2 805782e: 4413 add r3, r2 8057830: edc3 7a00 vstr s15, [r3] 8057834: f00d bb96 b.w 8064f64 } } } else { switch(pardata.SYG) 8057838: 4b36 ldr r3, [pc, #216] ; (8057914 ) 805783a: 781b ldrb r3, [r3, #0] 805783c: b2db uxtb r3, r3 805783e: 2b0a cmp r3, #10 8057840: f20d 8390 bhi.w 8064f64 8057844: a201 add r2, pc, #4 ; (adr r2, 805784c ) 8057846: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805784a: bf00 nop 805784c: 08059c31 .word 0x08059c31 8057850: 0805dced .word 0x0805dced 8057854: 0806367d .word 0x0806367d 8057858: 08059c31 .word 0x08059c31 805785c: 0806486d .word 0x0806486d 8057860: 0805e123 .word 0x0805e123 8057864: 0805e723 .word 0x0805e723 8057868: 0805feb9 .word 0x0805feb9 805786c: 0805b463 .word 0x0805b463 8057870: 0805d56b .word 0x0805d56b 8057874: 08057879 .word 0x08057879 { case DIAGN: if(measuring) 8057878: 4b16 ldr r3, [pc, #88] ; (80578d4 ) 805787a: 781b ldrb r3, [r3, #0] 805787c: b2db uxtb r3, r3 805787e: 2b00 cmp r3, #0 8057880: f00d 835d beq.w 8064f3e { tick = HAL_GetTick(); 8057884: f05f face bl 80b6e24 8057888: f8c7 021c str.w r0, [r7, #540] ; 0x21c GetData(); 805788c: f00d fe1e bl 80654cc j = 0; 8057890: 2300 movs r3, #0 8057892: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 8057896: 4b1f ldr r3, [pc, #124] ; (8057914 ) 8057898: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805789c: f003 0304 and.w r3, r3, #4 80578a0: 2b00 cmp r3, #0 80578a2: d005 beq.n 80578b0 CalculateGain(Ns); 80578a4: 4b0e ldr r3, [pc, #56] ; (80578e0 ) 80578a6: 681b ldr r3, [r3, #0] 80578a8: 4618 mov r0, r3 80578aa: f7fe fff3 bl 8056894 80578ae: e05a b.n 8057966 else { Stability = (Nr * 4) + 1; 80578b0: 4b19 ldr r3, [pc, #100] ; (8057918 ) 80578b2: 881b ldrh r3, [r3, #0] 80578b4: b29b uxth r3, r3 80578b6: 009b lsls r3, r3, #2 80578b8: 3301 adds r3, #1 80578ba: 461a mov r2, r3 80578bc: 4b17 ldr r3, [pc, #92] ; (805791c ) 80578be: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 80578c0: 2300 movs r3, #0 80578c2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80578c6: e03d b.n 8057944 80578c8: 20020d9f .word 0x20020d9f 80578cc: 20020f88 .word 0x20020f88 80578d0: 20020fbd .word 0x20020fbd 80578d4: 20020dcf .word 0x20020dcf 80578d8: 20058060 .word 0x20058060 80578dc: 20027a00 .word 0x20027a00 80578e0: 20021d24 .word 0x20021d24 80578e4: 34c00000 .word 0x34c00000 80578e8: 20008000 .word 0x20008000 80578ec: 20021588 .word 0x20021588 80578f0: 451c4000 .word 0x451c4000 80578f4: 451c4000 .word 0x451c4000 80578f8: 42000000 .word 0x42000000 80578fc: 42800000 .word 0x42800000 8057900: 437a0000 .word 0x437a0000 8057904: 200261d4 .word 0x200261d4 8057908: 20021654 .word 0x20021654 805790c: 080f2c78 .word 0x080f2c78 8057910: 20021658 .word 0x20021658 8057914: 20023ea8 .word 0x20023ea8 8057918: 20021d68 .word 0x20021d68 805791c: 20020dc8 .word 0x20020dc8 { if(In16[i].lg > 0xE00000) 8057920: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057924: 4ab8 ldr r2, [pc, #736] ; (8057c08 ) 8057926: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805792a: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805792e: d904 bls.n 805793a j++; 8057930: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057934: 3301 adds r3, #1 8057936: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805793a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805793e: 3301 adds r3, #1 8057940: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057944: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057948: 4bb0 ldr r3, [pc, #704] ; (8057c0c ) 805794a: 681b ldr r3, [r3, #0] 805794c: 429a cmp r2, r3 805794e: d3e7 bcc.n 8057920 } if(j >= 2) 8057950: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057954: 2b01 cmp r3, #1 8057956: d903 bls.n 8057960 OVERDRIVE = true; 8057958: 4bad ldr r3, [pc, #692] ; (8057c10 ) 805795a: 2201 movs r2, #1 805795c: 701a strb r2, [r3, #0] 805795e: e002 b.n 8057966 else OVERDRIVE = false; 8057960: 4bab ldr r3, [pc, #684] ; (8057c10 ) 8057962: 2200 movs r2, #0 8057964: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 8057966: 4bab ldr r3, [pc, #684] ; (8057c14 ) 8057968: 781b ldrb r3, [r3, #0] 805796a: b2db uxtb r3, r3 805796c: 2b00 cmp r3, #0 805796e: d02d beq.n 80579cc { Stability = 0; 8057970: 4ba9 ldr r3, [pc, #676] ; (8057c18 ) 8057972: 2200 movs r2, #0 8057974: 601a str r2, [r3, #0] NeedFreq = false; 8057976: 4ba9 ldr r3, [pc, #676] ; (8057c1c ) 8057978: 2200 movs r2, #0 805797a: 701a strb r2, [r3, #0] AvgCnt = 0; 805797c: 4ba8 ldr r3, [pc, #672] ; (8057c20 ) 805797e: 2200 movs r2, #0 8057980: 601a str r2, [r3, #0] MeanCnt = 0; 8057982: 4ba8 ldr r3, [pc, #672] ; (8057c24 ) 8057984: 2200 movs r2, #0 8057986: 601a str r2, [r3, #0] CNT_MEAN_FREQ = 0; 8057988: 4ba7 ldr r3, [pc, #668] ; (8057c28 ) 805798a: 2200 movs r2, #0 805798c: 601a str r2, [r3, #0] MEAN_FREQ = 0.0f; 805798e: 4ba7 ldr r3, [pc, #668] ; (8057c2c ) 8057990: f04f 0200 mov.w r2, #0 8057994: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 4); 8057996: 2104 movs r1, #4 8057998: 48a5 ldr r0, [pc, #660] ; (8057c30 ) 805799a: ed9f 0aa6 vldr s0, [pc, #664] ; 8057c34 805799e: f076 fb5d bl 80ce05c arm_fill_f32(0.0f, peakAVS, 4); 80579a2: 2104 movs r1, #4 80579a4: 48a4 ldr r0, [pc, #656] ; (8057c38 ) 80579a6: ed9f 0aa3 vldr s0, [pc, #652] ; 8057c34 80579aa: f076 fb57 bl 80ce05c arm_fill_f32(0.0f, &ACC_PEAK_WR(0), 512 * 8u); 80579ae: f44f 5180 mov.w r1, #4096 ; 0x1000 80579b2: 48a2 ldr r0, [pc, #648] ; (8057c3c ) 80579b4: ed9f 0a9f vldr s0, [pc, #636] ; 8057c34 80579b8: f076 fb50 bl 80ce05c NSamples = 0xffffffff; 80579bc: 4ba0 ldr r3, [pc, #640] ; (8057c40 ) 80579be: f04f 32ff mov.w r2, #4294967295 80579c2: 601a str r2, [r3, #0] timeRelax = 48; 80579c4: 4b9f ldr r3, [pc, #636] ; (8057c44 ) 80579c6: 2230 movs r2, #48 ; 0x30 80579c8: 601a str r2, [r3, #0] 80579ca: e00d b.n 80579e8 } else { if(Stability <= (Nr * 4)) 80579cc: 4b9e ldr r3, [pc, #632] ; (8057c48 ) 80579ce: 881b ldrh r3, [r3, #0] 80579d0: b29b uxth r3, r3 80579d2: 009b lsls r3, r3, #2 80579d4: 461a mov r2, r3 80579d6: 4b90 ldr r3, [pc, #576] ; (8057c18 ) 80579d8: 681b ldr r3, [r3, #0] 80579da: 429a cmp r2, r3 80579dc: d304 bcc.n 80579e8 Stability++; 80579de: 4b8e ldr r3, [pc, #568] ; (8057c18 ) 80579e0: 681b ldr r3, [r3, #0] 80579e2: 3301 adds r3, #1 80579e4: 4a8c ldr r2, [pc, #560] ; (8057c18 ) 80579e6: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 80579e8: 4b8a ldr r3, [pc, #552] ; (8057c14 ) 80579ea: 781b ldrb r3, [r3, #0] 80579ec: b2db uxtb r3, r3 80579ee: 2b00 cmp r3, #0 80579f0: f042 80fa bne.w 8059be8 80579f4: 4b94 ldr r3, [pc, #592] ; (8057c48 ) 80579f6: 881b ldrh r3, [r3, #0] 80579f8: b29b uxth r3, r3 80579fa: 009b lsls r3, r3, #2 80579fc: 461a mov r2, r3 80579fe: 4b86 ldr r3, [pc, #536] ; (8057c18 ) 8057a00: 681b ldr r3, [r3, #0] 8057a02: 429a cmp r2, r3 8057a04: f082 80f0 bcs.w 8059be8 { fNrm = 1.0f / (float32_t) (Ns >> 1); 8057a08: 4b80 ldr r3, [pc, #512] ; (8057c0c ) 8057a0a: 681b ldr r3, [r3, #0] 8057a0c: 085b lsrs r3, r3, #1 8057a0e: ee07 3a90 vmov s15, r3 8057a12: eeb8 7a67 vcvt.f32.u32 s14, s15 8057a16: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8057a1a: eec6 7a87 vdiv.f32 s15, s13, s14 8057a1e: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8057a22: 4b8a ldr r3, [pc, #552] ; (8057c4c ) 8057a24: edd3 7a00 vldr s15, [r3] 8057a28: eeb7 7ae7 vcvt.f64.f32 d7, s15 8057a2c: ed9f 6b74 vldr d6, [pc, #464] ; 8057c00 8057a30: ee27 7b06 vmul.f64 d7, d7, d6 8057a34: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 8057a38: 2300 movs r3, #0 8057a3a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057a3e: e026 b.n 8057a8e { Buff64[i] = (float64_t) In16[i].lg; 8057a40: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a44: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057a48: 496f ldr r1, [pc, #444] ; (8057c08 ) 8057a4a: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8057a4e: ee07 2a90 vmov s15, r2 8057a52: eeb8 7b67 vcvt.f64.u32 d7, s15 8057a56: 4a7e ldr r2, [pc, #504] ; (8057c50 ) 8057a58: 00db lsls r3, r3, #3 8057a5a: 4413 add r3, r2 8057a5c: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 8057a60: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a64: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057a68: 4979 ldr r1, [pc, #484] ; (8057c50 ) 8057a6a: 00d2 lsls r2, r2, #3 8057a6c: 440a add r2, r1 8057a6e: ed92 6b00 vldr d6, [r2] 8057a72: ed97 7b82 vldr d7, [r7, #520] ; 0x208 8057a76: ee26 7b07 vmul.f64 d7, d6, d7 8057a7a: 4a75 ldr r2, [pc, #468] ; (8057c50 ) 8057a7c: 00db lsls r3, r3, #3 8057a7e: 4413 add r3, r2 8057a80: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 8057a84: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a88: 3301 adds r3, #1 8057a8a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057a8e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057a92: 4b5e ldr r3, [pc, #376] ; (8057c0c ) 8057a94: 681b ldr r3, [r3, #0] 8057a96: 429a cmp r2, r3 8057a98: d3d2 bcc.n 8057a40 } ///////// CALC OPERANDS /////////////////// for(k = 0; k < NUM_OPERANDS; k++) 8057a9a: 2300 movs r3, #0 8057a9c: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8057aa0: e260 b.n 8057f64 { arm_biquad_cascade_df2T_f64(&D_LP[k], Buff64, &Buff64[Ns], Ns); 8057aa2: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8057aa6: 4613 mov r3, r2 8057aa8: 005b lsls r3, r3, #1 8057aaa: 4413 add r3, r2 8057aac: 009b lsls r3, r3, #2 8057aae: 4a69 ldr r2, [pc, #420] ; (8057c54 ) 8057ab0: 1898 adds r0, r3, r2 8057ab2: 4b56 ldr r3, [pc, #344] ; (8057c0c ) 8057ab4: 681b ldr r3, [r3, #0] 8057ab6: 00db lsls r3, r3, #3 8057ab8: 4a65 ldr r2, [pc, #404] ; (8057c50 ) 8057aba: 441a add r2, r3 8057abc: 4b53 ldr r3, [pc, #332] ; (8057c0c ) 8057abe: 681b ldr r3, [r3, #0] 8057ac0: 4963 ldr r1, [pc, #396] ; (8057c50 ) 8057ac2: f076 fd1b bl 80ce4fc switch(pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) 8057ac6: 4b64 ldr r3, [pc, #400] ; (8057c58 ) 8057ac8: 781b ldrb r3, [r3, #0] 8057aca: b2db uxtb r3, r3 8057acc: 461a mov r2, r3 8057ace: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057ad2: 4962 ldr r1, [pc, #392] ; (8057c5c ) 8057ad4: 0092 lsls r2, r2, #2 8057ad6: 440a add r2, r1 8057ad8: 4413 add r3, r2 8057ada: f503 730f add.w r3, r3, #572 ; 0x23c 8057ade: 781b ldrb r3, [r3, #0] 8057ae0: b2db uxtb r3, r3 8057ae2: f003 0307 and.w r3, r3, #7 8057ae6: 2b02 cmp r3, #2 8057ae8: d002 beq.n 8057af0 8057aea: 2b04 cmp r3, #4 8057aec: d017 beq.n 8057b1e 8057aee: e02d b.n 8057b4c { case DIAGN_VEL: //VEL arm_biquad_cascade_df2T_f64(&D_INT1[k], &Buff64[Ns], &Buff64[Ns], Ns); 8057af0: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8057af4: 4613 mov r3, r2 8057af6: 005b lsls r3, r3, #1 8057af8: 4413 add r3, r2 8057afa: 009b lsls r3, r3, #2 8057afc: 4a58 ldr r2, [pc, #352] ; (8057c60 ) 8057afe: 1898 adds r0, r3, r2 8057b00: 4b42 ldr r3, [pc, #264] ; (8057c0c ) 8057b02: 681b ldr r3, [r3, #0] 8057b04: 00db lsls r3, r3, #3 8057b06: 4a52 ldr r2, [pc, #328] ; (8057c50 ) 8057b08: 1899 adds r1, r3, r2 8057b0a: 4b40 ldr r3, [pc, #256] ; (8057c0c ) 8057b0c: 681b ldr r3, [r3, #0] 8057b0e: 00db lsls r3, r3, #3 8057b10: 4a4f ldr r2, [pc, #316] ; (8057c50 ) 8057b12: 441a add r2, r3 8057b14: 4b3d ldr r3, [pc, #244] ; (8057c0c ) 8057b16: 681b ldr r3, [r3, #0] 8057b18: f076 fcf0 bl 80ce4fc break; 8057b1c: e016 b.n 8057b4c case DIAGN_DIS: //DIS arm_biquad_cascade_df2T_f64(&D_INT2[k], &Buff64[Ns], &Buff64[Ns], Ns); 8057b1e: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8057b22: 4613 mov r3, r2 8057b24: 005b lsls r3, r3, #1 8057b26: 4413 add r3, r2 8057b28: 009b lsls r3, r3, #2 8057b2a: 4a4e ldr r2, [pc, #312] ; (8057c64 ) 8057b2c: 1898 adds r0, r3, r2 8057b2e: 4b37 ldr r3, [pc, #220] ; (8057c0c ) 8057b30: 681b ldr r3, [r3, #0] 8057b32: 00db lsls r3, r3, #3 8057b34: 4a46 ldr r2, [pc, #280] ; (8057c50 ) 8057b36: 1899 adds r1, r3, r2 8057b38: 4b34 ldr r3, [pc, #208] ; (8057c0c ) 8057b3a: 681b ldr r3, [r3, #0] 8057b3c: 00db lsls r3, r3, #3 8057b3e: 4a44 ldr r2, [pc, #272] ; (8057c50 ) 8057b40: 441a add r2, r3 8057b42: 4b32 ldr r3, [pc, #200] ; (8057c0c ) 8057b44: 681b ldr r3, [r3, #0] 8057b46: f076 fcd9 bl 80ce4fc break; 8057b4a: bf00 nop } arm_biquad_cascade_df2T_f64(&D_HP[k], &Buff64[Ns], &Buff64[Ns], Ns); 8057b4c: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8057b50: 4613 mov r3, r2 8057b52: 005b lsls r3, r3, #1 8057b54: 4413 add r3, r2 8057b56: 009b lsls r3, r3, #2 8057b58: 4a43 ldr r2, [pc, #268] ; (8057c68 ) 8057b5a: 1898 adds r0, r3, r2 8057b5c: 4b2b ldr r3, [pc, #172] ; (8057c0c ) 8057b5e: 681b ldr r3, [r3, #0] 8057b60: 00db lsls r3, r3, #3 8057b62: 4a3b ldr r2, [pc, #236] ; (8057c50 ) 8057b64: 1899 adds r1, r3, r2 8057b66: 4b29 ldr r3, [pc, #164] ; (8057c0c ) 8057b68: 681b ldr r3, [r3, #0] 8057b6a: 00db lsls r3, r3, #3 8057b6c: 4a38 ldr r2, [pc, #224] ; (8057c50 ) 8057b6e: 441a add r2, r3 8057b70: 4b26 ldr r3, [pc, #152] ; (8057c0c ) 8057b72: 681b ldr r3, [r3, #0] 8057b74: f076 fcc2 bl 80ce4fc for(i = 0; i < Ns; i++) { 8057b78: 2300 movs r3, #0 8057b7a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057b7e: e016 b.n 8057bae Out[i] = (float32_t) Buff64[i + 8192]; 8057b80: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057b84: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057b88: f502 5200 add.w r2, r2, #8192 ; 0x2000 8057b8c: 4930 ldr r1, [pc, #192] ; (8057c50 ) 8057b8e: 00d2 lsls r2, r2, #3 8057b90: 440a add r2, r1 8057b92: ed92 7b00 vldr d7, [r2] 8057b96: eef7 7bc7 vcvt.f32.f64 s15, d7 8057b9a: 4a34 ldr r2, [pc, #208] ; (8057c6c ) 8057b9c: 009b lsls r3, r3, #2 8057b9e: 4413 add r3, r2 8057ba0: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 8057ba4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057ba8: 3301 adds r3, #1 8057baa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057bae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057bb2: 4b16 ldr r3, [pc, #88] ; (8057c0c ) 8057bb4: 681b ldr r3, [r3, #0] 8057bb6: 429a cmp r2, r3 8057bb8: d3e2 bcc.n 8057b80 } if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_VEL) 8057bba: 4b27 ldr r3, [pc, #156] ; (8057c58 ) 8057bbc: 781b ldrb r3, [r3, #0] 8057bbe: b2db uxtb r3, r3 8057bc0: 461a mov r2, r3 8057bc2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057bc6: 4925 ldr r1, [pc, #148] ; (8057c5c ) 8057bc8: 0092 lsls r2, r2, #2 8057bca: 440a add r2, r1 8057bcc: 4413 add r3, r2 8057bce: f503 730f add.w r3, r3, #572 ; 0x23c 8057bd2: 781b ldrb r3, [r3, #0] 8057bd4: b2db uxtb r3, r3 8057bd6: f003 0307 and.w r3, r3, #7 8057bda: 2b02 cmp r3, #2 8057bdc: d14a bne.n 8057c74 { fs = 249.135f; 8057bde: 4b24 ldr r3, [pc, #144] ; (8057c70 ) 8057be0: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 8057be4: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8057be8: 4b08 ldr r3, [pc, #32] ; (8057c0c ) 8057bea: 681b ldr r3, [r3, #0] 8057bec: 461a mov r2, r3 8057bee: 491f ldr r1, [pc, #124] ; (8057c6c ) 8057bf0: eeb0 0a67 vmov.f32 s0, s15 8057bf4: 481d ldr r0, [pc, #116] ; (8057c6c ) 8057bf6: f076 ff37 bl 80cea68 8057bfa: e05b b.n 8057cb4 8057bfc: f3af 8000 nop.w 8057c00: 18000018 .word 0x18000018 8057c04: 3e980000 .word 0x3e980000 8057c08: 20058060 .word 0x20058060 8057c0c: 20021d24 .word 0x20021d24 8057c10: 20021579 .word 0x20021579 8057c14: 20020d9e .word 0x20020d9e 8057c18: 20020dc8 .word 0x20020dc8 8057c1c: 20020d95 .word 0x20020d95 8057c20: 20020d80 .word 0x20020d80 8057c24: 20020dd8 .word 0x20020dd8 8057c28: 20021668 .word 0x20021668 8057c2c: 20021664 .word 0x20021664 8057c30: 20021d30 .word 0x20021d30 8057c34: 00000000 .word 0x00000000 8057c38: 20021d44 .word 0x20021d44 8057c3c: 64050000 .word 0x64050000 8057c40: 20020da8 .word 0x20020da8 8057c44: 20020d8c .word 0x20020d8c 8057c48: 20021d68 .word 0x20021d68 8057c4c: 20020080 .word 0x20020080 8057c50: 20037b20 .word 0x20037b20 8057c54: 200262dc .word 0x200262dc 8057c58: 20021055 .word 0x20021055 8057c5c: 20023ea8 .word 0x20023ea8 8057c60: 20026934 .word 0x20026934 8057c64: 20057dd0 .word 0x20057dd0 8057c68: 200683a8 .word 0x200683a8 8057c6c: 20008000 .word 0x20008000 8057c70: 4379228f .word 0x4379228f } else if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_DIS) 8057c74: 4bd1 ldr r3, [pc, #836] ; (8057fbc ) 8057c76: 781b ldrb r3, [r3, #0] 8057c78: b2db uxtb r3, r3 8057c7a: 461a mov r2, r3 8057c7c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057c80: 49cf ldr r1, [pc, #828] ; (8057fc0 ) 8057c82: 0092 lsls r2, r2, #2 8057c84: 440a add r2, r1 8057c86: 4413 add r3, r2 8057c88: f503 730f add.w r3, r3, #572 ; 0x23c 8057c8c: 781b ldrb r3, [r3, #0] 8057c8e: b2db uxtb r3, r3 8057c90: f003 0307 and.w r3, r3, #7 8057c94: 2b04 cmp r3, #4 8057c96: d10d bne.n 8057cb4 { fs = 61400.171f; 8057c98: 4bca ldr r3, [pc, #808] ; (8057fc4 ) 8057c9a: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 8057c9e: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8057ca2: 4bc9 ldr r3, [pc, #804] ; (8057fc8 ) 8057ca4: 681b ldr r3, [r3, #0] 8057ca6: 461a mov r2, r3 8057ca8: 49c8 ldr r1, [pc, #800] ; (8057fcc ) 8057caa: eeb0 0a67 vmov.f32 s0, s15 8057cae: 48c7 ldr r0, [pc, #796] ; (8057fcc ) 8057cb0: f076 feda bl 80cea68 switch((pardata.DIAGN_MASK[CURR_POINT][k] >> 3) & 0x1f) 8057cb4: 4bc1 ldr r3, [pc, #772] ; (8057fbc ) 8057cb6: 781b ldrb r3, [r3, #0] 8057cb8: b2db uxtb r3, r3 8057cba: 461a mov r2, r3 8057cbc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057cc0: 49bf ldr r1, [pc, #764] ; (8057fc0 ) 8057cc2: 0092 lsls r2, r2, #2 8057cc4: 440a add r2, r1 8057cc6: 4413 add r3, r2 8057cc8: f503 730f add.w r3, r3, #572 ; 0x23c 8057ccc: 781b ldrb r3, [r3, #0] 8057cce: b2db uxtb r3, r3 8057cd0: 08db lsrs r3, r3, #3 8057cd2: b2db uxtb r3, r3 8057cd4: f003 031f and.w r3, r3, #31 8057cd8: 3b01 subs r3, #1 8057cda: 2b0f cmp r3, #15 8057cdc: f200 813d bhi.w 8057f5a 8057ce0: a201 add r2, pc, #4 ; (adr r2, 8057ce8 ) 8057ce2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8057ce6: bf00 nop 8057ce8: 08057d29 .word 0x08057d29 8057cec: 08057dad .word 0x08057dad 8057cf0: 08057f5b .word 0x08057f5b 8057cf4: 08057dd7 .word 0x08057dd7 8057cf8: 08057f5b .word 0x08057f5b 8057cfc: 08057f5b .word 0x08057f5b 8057d00: 08057f5b .word 0x08057f5b 8057d04: 08057e8d .word 0x08057e8d 8057d08: 08057f5b .word 0x08057f5b 8057d0c: 08057f5b .word 0x08057f5b 8057d10: 08057f5b .word 0x08057f5b 8057d14: 08057f5b .word 0x08057f5b 8057d18: 08057f5b .word 0x08057f5b 8057d1c: 08057f5b .word 0x08057f5b 8057d20: 08057f5b .word 0x08057f5b 8057d24: 08057f39 .word 0x08057f39 { case DIAGN_PEAK: // peak arm_min_f32(Out, Ns, &fn[0], &i); 8057d28: 4ba7 ldr r3, [pc, #668] ; (8057fc8 ) 8057d2a: 6819 ldr r1, [r3, #0] 8057d2c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8057d30: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8057d34: 48a5 ldr r0, [pc, #660] ; (8057fcc ) 8057d36: f076 fad1 bl 80ce2dc arm_max_f32(Out, Ns, &fn[1], &j); 8057d3a: 4ba3 ldr r3, [pc, #652] ; (8057fc8 ) 8057d3c: 6819 ldr r1, [r3, #0] 8057d3e: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8057d42: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8057d46: 1d1a adds r2, r3, #4 8057d48: 4603 mov r3, r0 8057d4a: 48a0 ldr r0, [pc, #640] ; (8057fcc ) 8057d4c: f076 fb62 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8057d50: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057d54: eef5 7ac0 vcmpe.f32 s15, #0.0 8057d58: eef1 fa10 vmrs APSR_nzcv, fpscr 8057d5c: dd02 ble.n 8057d64 8057d5e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057d62: e003 b.n 8057d6c 8057d64: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057d68: eef1 7a67 vneg.f32 s15, s15 8057d6c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8057d70: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057d74: eef5 7ac0 vcmpe.f32 s15, #0.0 8057d78: eef1 fa10 vmrs APSR_nzcv, fpscr 8057d7c: dd02 ble.n 8057d84 8057d7e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057d82: e003 b.n 8057d8c 8057d84: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057d88: eef1 7a67 vneg.f32 s15, s15 8057d8c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fval[k], &i); 8057d90: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057d94: f107 02fc add.w r2, r7, #252 ; 0xfc 8057d98: 009b lsls r3, r3, #2 8057d9a: 441a add r2, r3 8057d9c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8057da0: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8057da4: 2102 movs r1, #2 8057da6: f076 fb35 bl 80ce414 break; 8057daa: e0d6 b.n 8057f5a case DIAGN_RMS: // rms arm_power_f32(Out, Ns, &fval[k]); 8057dac: 4b86 ldr r3, [pc, #536] ; (8057fc8 ) 8057dae: 6819 ldr r1, [r3, #0] 8057db0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057db4: f107 02fc add.w r2, r7, #252 ; 0xfc 8057db8: 009b lsls r3, r3, #2 8057dba: 4413 add r3, r2 8057dbc: 461a mov r2, r3 8057dbe: 4883 ldr r0, [pc, #524] ; (8057fcc ) 8057dc0: f076 fa52 bl 80ce268 arm_rms_f32(Out, Ns, &rms); 8057dc4: 4b80 ldr r3, [pc, #512] ; (8057fc8 ) 8057dc6: 681b ldr r3, [r3, #0] 8057dc8: f507 7286 add.w r2, r7, #268 ; 0x10c 8057dcc: 4619 mov r1, r3 8057dce: 487f ldr r0, [pc, #508] ; (8057fcc ) 8057dd0: f076 f9f2 bl 80ce1b8 break; 8057dd4: e0c1 b.n 8057f5a case DIAGN_PEAK_TO_PEAK: // pk-pk arm_min_f32(Out, Ns, &fn[0], &i); 8057dd6: 4b7c ldr r3, [pc, #496] ; (8057fc8 ) 8057dd8: 6819 ldr r1, [r3, #0] 8057dda: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8057dde: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8057de2: 487a ldr r0, [pc, #488] ; (8057fcc ) 8057de4: f076 fa7a bl 80ce2dc arm_max_f32(Out, Ns, &fn[1], &j); 8057de8: 4b77 ldr r3, [pc, #476] ; (8057fc8 ) 8057dea: 6819 ldr r1, [r3, #0] 8057dec: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8057df0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8057df4: 1d1a adds r2, r3, #4 8057df6: 4603 mov r3, r0 8057df8: 4874 ldr r0, [pc, #464] ; (8057fcc ) 8057dfa: f076 fb0b bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8057dfe: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057e02: eef5 7ac0 vcmpe.f32 s15, #0.0 8057e06: eef1 fa10 vmrs APSR_nzcv, fpscr 8057e0a: dd02 ble.n 8057e12 8057e0c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057e10: e003 b.n 8057e1a 8057e12: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057e16: eef1 7a67 vneg.f32 s15, s15 8057e1a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8057e1e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057e22: eef5 7ac0 vcmpe.f32 s15, #0.0 8057e26: eef1 fa10 vmrs APSR_nzcv, fpscr 8057e2a: dd02 ble.n 8057e32 8057e2c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057e30: e003 b.n 8057e3a 8057e32: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057e36: eef1 7a67 vneg.f32 s15, s15 8057e3a: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 fval[k] = ABS(fn[0]) + ABS(fn[1]); 8057e3e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057e42: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057e46: eef5 7ac0 vcmpe.f32 s15, #0.0 8057e4a: eef1 fa10 vmrs APSR_nzcv, fpscr 8057e4e: dd02 ble.n 8057e56 8057e50: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8057e54: e003 b.n 8057e5e 8057e56: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057e5a: eeb1 7a67 vneg.f32 s14, s15 8057e5e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057e62: eef5 7ac0 vcmpe.f32 s15, #0.0 8057e66: eef1 fa10 vmrs APSR_nzcv, fpscr 8057e6a: dd02 ble.n 8057e72 8057e6c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057e70: e003 b.n 8057e7a 8057e72: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057e76: eef1 7a67 vneg.f32 s15, s15 8057e7a: ee77 7a27 vadd.f32 s15, s14, s15 8057e7e: f107 02fc add.w r2, r7, #252 ; 0xfc 8057e82: 009b lsls r3, r3, #2 8057e84: 4413 add r3, r2 8057e86: edc3 7a00 vstr s15, [r3] break; 8057e8a: e066 b.n 8057f5a case DIAGN_PEAK_FACTOR: // peak-factor arm_min_f32(Out, Ns, &fn[0], &i); 8057e8c: 4b4e ldr r3, [pc, #312] ; (8057fc8 ) 8057e8e: 6819 ldr r1, [r3, #0] 8057e90: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8057e94: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8057e98: 484c ldr r0, [pc, #304] ; (8057fcc ) 8057e9a: f076 fa1f bl 80ce2dc arm_max_f32(Out, Ns, &fn[1], &j); 8057e9e: 4b4a ldr r3, [pc, #296] ; (8057fc8 ) 8057ea0: 6819 ldr r1, [r3, #0] 8057ea2: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8057ea6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8057eaa: 1d1a adds r2, r3, #4 8057eac: 4603 mov r3, r0 8057eae: 4847 ldr r0, [pc, #284] ; (8057fcc ) 8057eb0: f076 fab0 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8057eb4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057eb8: eef5 7ac0 vcmpe.f32 s15, #0.0 8057ebc: eef1 fa10 vmrs APSR_nzcv, fpscr 8057ec0: dd02 ble.n 8057ec8 8057ec2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057ec6: e003 b.n 8057ed0 8057ec8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057ecc: eef1 7a67 vneg.f32 s15, s15 8057ed0: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8057ed4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057ed8: eef5 7ac0 vcmpe.f32 s15, #0.0 8057edc: eef1 fa10 vmrs APSR_nzcv, fpscr 8057ee0: dd02 ble.n 8057ee8 8057ee2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057ee6: e003 b.n 8057ef0 8057ee8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057eec: eef1 7a67 vneg.f32 s15, s15 8057ef0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[k], &i); 8057ef4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057ef8: f107 02ec add.w r2, r7, #236 ; 0xec 8057efc: 009b lsls r3, r3, #2 8057efe: 441a add r2, r3 8057f00: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8057f04: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8057f08: 2102 movs r1, #2 8057f0a: f076 fa83 bl 80ce414 arm_power_f32(Out, Ns, &fval[k]); 8057f0e: 4b2e ldr r3, [pc, #184] ; (8057fc8 ) 8057f10: 6819 ldr r1, [r3, #0] 8057f12: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057f16: f107 02fc add.w r2, r7, #252 ; 0xfc 8057f1a: 009b lsls r3, r3, #2 8057f1c: 4413 add r3, r2 8057f1e: 461a mov r2, r3 8057f20: 482a ldr r0, [pc, #168] ; (8057fcc ) 8057f22: f076 f9a1 bl 80ce268 arm_rms_f32(Out, Ns, &rms); 8057f26: 4b28 ldr r3, [pc, #160] ; (8057fc8 ) 8057f28: 681b ldr r3, [r3, #0] 8057f2a: f507 7286 add.w r2, r7, #268 ; 0x10c 8057f2e: 4619 mov r1, r3 8057f30: 4826 ldr r0, [pc, #152] ; (8057fcc ) 8057f32: f076 f941 bl 80ce1b8 break; 8057f36: e010 b.n 8057f5a case DIAGN_EXCESS: // excess fval[k] = CalcExcess(Out, Ns); 8057f38: f8d7 41c8 ldr.w r4, [r7, #456] ; 0x1c8 8057f3c: 4b22 ldr r3, [pc, #136] ; (8057fc8 ) 8057f3e: 681b ldr r3, [r3, #0] 8057f40: 4619 mov r1, r3 8057f42: 4822 ldr r0, [pc, #136] ; (8057fcc ) 8057f44: f00f fff0 bl 8067f28 8057f48: eef0 7a40 vmov.f32 s15, s0 8057f4c: f107 02fc add.w r2, r7, #252 ; 0xfc 8057f50: 00a3 lsls r3, r4, #2 8057f52: 4413 add r3, r2 8057f54: edc3 7a00 vstr s15, [r3] break; 8057f58: bf00 nop for(k = 0; k < NUM_OPERANDS; k++) 8057f5a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057f5e: 3301 adds r3, #1 8057f60: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8057f64: 4b1a ldr r3, [pc, #104] ; (8057fd0 ) 8057f66: 781b ldrb r3, [r3, #0] 8057f68: b2db uxtb r3, r3 8057f6a: 461a mov r2, r3 8057f6c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057f70: 429a cmp r2, r3 8057f72: f63f ad96 bhi.w 8057aa2 } } ////////////////////////////////////////// if(timeRelax) 8057f76: 4b17 ldr r3, [pc, #92] ; (8057fd4 ) 8057f78: 681b ldr r3, [r3, #0] 8057f7a: 2b00 cmp r3, #0 8057f7c: d01a beq.n 8057fb4 { timeRelax--; 8057f7e: 4b15 ldr r3, [pc, #84] ; (8057fd4 ) 8057f80: 681b ldr r3, [r3, #0] 8057f82: 3b01 subs r3, #1 8057f84: 4a13 ldr r2, [pc, #76] ; (8057fd4 ) 8057f86: 6013 str r3, [r2, #0] for(i = 0; i < 4; i++) { 8057f88: 2300 movs r3, #0 8057f8a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057f8e: e00b b.n 8057fa8 operand[i] = -1.0f; 8057f90: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057f94: 4a10 ldr r2, [pc, #64] ; (8057fd8 ) 8057f96: 009b lsls r3, r3, #2 8057f98: 4413 add r3, r2 8057f9a: 4a10 ldr r2, [pc, #64] ; (8057fdc ) 8057f9c: 601a str r2, [r3, #0] for(i = 0; i < 4; i++) { 8057f9e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057fa2: 3301 adds r3, #1 8057fa4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057fa8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057fac: 2b03 cmp r3, #3 8057fae: d9ef bls.n 8057f90 8057fb0: f001 bdd9 b.w 8059b66 } } else { for(i = 0; i < NUM_OPERANDS; i++) 8057fb4: 2300 movs r3, #0 8057fb6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057fba: e117 b.n 80581ec 8057fbc: 20021055 .word 0x20021055 8057fc0: 20023ea8 .word 0x20023ea8 8057fc4: 476fd82c .word 0x476fd82c 8057fc8: 20021d24 .word 0x20021d24 8057fcc: 20008000 .word 0x20008000 8057fd0: 20021056 .word 0x20021056 8057fd4: 20020d8c .word 0x20020d8c 8057fd8: 20026918 .word 0x20026918 8057fdc: bf800000 .word 0xbf800000 { switch((pardata.DIAGN_MASK[CURR_POINT][i] >> 3) & 0x1f) 8057fe0: 4b92 ldr r3, [pc, #584] ; (805822c ) 8057fe2: 781b ldrb r3, [r3, #0] 8057fe4: b2db uxtb r3, r3 8057fe6: 461a mov r2, r3 8057fe8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057fec: 4990 ldr r1, [pc, #576] ; (8058230 ) 8057fee: 0092 lsls r2, r2, #2 8057ff0: 440a add r2, r1 8057ff2: 4413 add r3, r2 8057ff4: f503 730f add.w r3, r3, #572 ; 0x23c 8057ff8: 781b ldrb r3, [r3, #0] 8057ffa: b2db uxtb r3, r3 8057ffc: 08db lsrs r3, r3, #3 8057ffe: b2db uxtb r3, r3 8058000: f003 031f and.w r3, r3, #31 8058004: 3b01 subs r3, #1 8058006: 2b0f cmp r3, #15 8058008: f200 80eb bhi.w 80581e2 805800c: a201 add r2, pc, #4 ; (adr r2, 8058014 ) 805800e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8058012: bf00 nop 8058014: 08058055 .word 0x08058055 8058018: 0805810f .word 0x0805810f 805801c: 080581e3 .word 0x080581e3 8058020: 08058055 .word 0x08058055 8058024: 080581e3 .word 0x080581e3 8058028: 080581e3 .word 0x080581e3 805802c: 080581e3 .word 0x080581e3 8058030: 0805809b .word 0x0805809b 8058034: 080581e3 .word 0x080581e3 8058038: 080581e3 .word 0x080581e3 805803c: 080581e3 .word 0x080581e3 8058040: 080581e3 .word 0x080581e3 8058044: 080581e3 .word 0x080581e3 8058048: 080581e3 .word 0x080581e3 805804c: 080581e3 .word 0x080581e3 8058050: 08058141 .word 0x08058141 { case DIAGN_PEAK: //peak case DIAGN_PEAK_TO_PEAK: //pk-pk if(peakAVS[i] < fval[i]) { 8058054: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058058: 4a76 ldr r2, [pc, #472] ; (8058234 ) 805805a: 009b lsls r3, r3, #2 805805c: 4413 add r3, r2 805805e: ed93 7a00 vldr s14, [r3] 8058062: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058066: f107 02fc add.w r2, r7, #252 ; 0xfc 805806a: 009b lsls r3, r3, #2 805806c: 4413 add r3, r2 805806e: edd3 7a00 vldr s15, [r3] 8058072: eeb4 7ae7 vcmpe.f32 s14, s15 8058076: eef1 fa10 vmrs APSR_nzcv, fpscr 805807a: d400 bmi.n 805807e peakAVS[i] = fval[i]; } break; 805807c: e0b1 b.n 80581e2 peakAVS[i] = fval[i]; 805807e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058082: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058086: f107 01fc add.w r1, r7, #252 ; 0xfc 805808a: 0092 lsls r2, r2, #2 805808c: 440a add r2, r1 805808e: 6812 ldr r2, [r2, #0] 8058090: 4968 ldr r1, [pc, #416] ; (8058234 ) 8058092: 009b lsls r3, r3, #2 8058094: 440b add r3, r1 8058096: 601a str r2, [r3, #0] break; 8058098: e0a3 b.n 80581e2 case DIAGN_PEAK_FACTOR: //peak-factor if(peakAVS[i] < fpeak[i]) { 805809a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805809e: 4a65 ldr r2, [pc, #404] ; (8058234 ) 80580a0: 009b lsls r3, r3, #2 80580a2: 4413 add r3, r2 80580a4: ed93 7a00 vldr s14, [r3] 80580a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80580ac: f107 02ec add.w r2, r7, #236 ; 0xec 80580b0: 009b lsls r3, r3, #2 80580b2: 4413 add r3, r2 80580b4: edd3 7a00 vldr s15, [r3] 80580b8: eeb4 7ae7 vcmpe.f32 s14, s15 80580bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80580c0: d50c bpl.n 80580dc peakAVS[i] = fpeak[i]; 80580c2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80580c6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80580ca: f107 01ec add.w r1, r7, #236 ; 0xec 80580ce: 0092 lsls r2, r2, #2 80580d0: 440a add r2, r1 80580d2: 6812 ldr r2, [r2, #0] 80580d4: 4957 ldr r1, [pc, #348] ; (8058234 ) 80580d6: 009b lsls r3, r3, #2 80580d8: 440b add r3, r1 80580da: 601a str r2, [r3, #0] } rmsAVS[i] += fval[i]; 80580dc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80580e0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80580e4: 4954 ldr r1, [pc, #336] ; (8058238 ) 80580e6: 0092 lsls r2, r2, #2 80580e8: 440a add r2, r1 80580ea: ed92 7a00 vldr s14, [r2] 80580ee: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80580f2: f107 01fc add.w r1, r7, #252 ; 0xfc 80580f6: 0092 lsls r2, r2, #2 80580f8: 440a add r2, r1 80580fa: edd2 7a00 vldr s15, [r2] 80580fe: ee77 7a27 vadd.f32 s15, s14, s15 8058102: 4a4d ldr r2, [pc, #308] ; (8058238 ) 8058104: 009b lsls r3, r3, #2 8058106: 4413 add r3, r2 8058108: edc3 7a00 vstr s15, [r3] break; 805810c: e069 b.n 80581e2 case DIAGN_RMS: //rms rmsAVS[i] += fval[i]; 805810e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058112: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058116: 4948 ldr r1, [pc, #288] ; (8058238 ) 8058118: 0092 lsls r2, r2, #2 805811a: 440a add r2, r1 805811c: ed92 7a00 vldr s14, [r2] 8058120: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058124: f107 01fc add.w r1, r7, #252 ; 0xfc 8058128: 0092 lsls r2, r2, #2 805812a: 440a add r2, r1 805812c: edd2 7a00 vldr s15, [r2] 8058130: ee77 7a27 vadd.f32 s15, s14, s15 8058134: 4a40 ldr r2, [pc, #256] ; (8058238 ) 8058136: 009b lsls r3, r3, #2 8058138: 4413 add r3, r2 805813a: edc3 7a00 vstr s15, [r3] break; 805813e: e050 b.n 80581e2 case DIAGN_EXCESS: if(ABS(peakAVS[i]) < ABS(fval[i])) { 8058140: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058144: 4a3b ldr r2, [pc, #236] ; (8058234 ) 8058146: 009b lsls r3, r3, #2 8058148: 4413 add r3, r2 805814a: edd3 7a00 vldr s15, [r3] 805814e: eef5 7ac0 vcmpe.f32 s15, #0.0 8058152: eef1 fa10 vmrs APSR_nzcv, fpscr 8058156: dd07 ble.n 8058168 8058158: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805815c: 4a35 ldr r2, [pc, #212] ; (8058234 ) 805815e: 009b lsls r3, r3, #2 8058160: 4413 add r3, r2 8058162: ed93 7a00 vldr s14, [r3] 8058166: e008 b.n 805817a 8058168: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805816c: 4a31 ldr r2, [pc, #196] ; (8058234 ) 805816e: 009b lsls r3, r3, #2 8058170: 4413 add r3, r2 8058172: edd3 7a00 vldr s15, [r3] 8058176: eeb1 7a67 vneg.f32 s14, s15 805817a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805817e: f107 02fc add.w r2, r7, #252 ; 0xfc 8058182: 009b lsls r3, r3, #2 8058184: 4413 add r3, r2 8058186: edd3 7a00 vldr s15, [r3] 805818a: eef5 7ac0 vcmpe.f32 s15, #0.0 805818e: eef1 fa10 vmrs APSR_nzcv, fpscr 8058192: dd08 ble.n 80581a6 8058194: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058198: f107 02fc add.w r2, r7, #252 ; 0xfc 805819c: 009b lsls r3, r3, #2 805819e: 4413 add r3, r2 80581a0: edd3 7a00 vldr s15, [r3] 80581a4: e009 b.n 80581ba 80581a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80581aa: f107 02fc add.w r2, r7, #252 ; 0xfc 80581ae: 009b lsls r3, r3, #2 80581b0: 4413 add r3, r2 80581b2: edd3 7a00 vldr s15, [r3] 80581b6: eef1 7a67 vneg.f32 s15, s15 80581ba: eeb4 7ae7 vcmpe.f32 s14, s15 80581be: eef1 fa10 vmrs APSR_nzcv, fpscr 80581c2: d400 bmi.n 80581c6 peakAVS[i] = fval[i]; } break; 80581c4: e00c b.n 80581e0 peakAVS[i] = fval[i]; 80581c6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80581ca: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80581ce: f107 01fc add.w r1, r7, #252 ; 0xfc 80581d2: 0092 lsls r2, r2, #2 80581d4: 440a add r2, r1 80581d6: 6812 ldr r2, [r2, #0] 80581d8: 4916 ldr r1, [pc, #88] ; (8058234 ) 80581da: 009b lsls r3, r3, #2 80581dc: 440b add r3, r1 80581de: 601a str r2, [r3, #0] break; 80581e0: bf00 nop for(i = 0; i < NUM_OPERANDS; i++) 80581e2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80581e6: 3301 adds r3, #1 80581e8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80581ec: 4b13 ldr r3, [pc, #76] ; (805823c ) 80581ee: 781b ldrb r3, [r3, #0] 80581f0: b2db uxtb r3, r3 80581f2: 461a mov r2, r3 80581f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80581f8: 429a cmp r2, r3 80581fa: f63f aef1 bhi.w 8057fe0 /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////// BI-TECHNO ////////////////////////// MeanCnt++; 80581fe: 4b10 ldr r3, [pc, #64] ; (8058240 ) 8058200: 681b ldr r3, [r3, #0] 8058202: 3301 adds r3, #1 8058204: 4a0e ldr r2, [pc, #56] ; (8058240 ) 8058206: 6013 str r3, [r2, #0] if(!(MeanCnt % 8)) 8058208: 4b0d ldr r3, [pc, #52] ; (8058240 ) 805820a: 681b ldr r3, [r3, #0] 805820c: f003 0307 and.w r3, r3, #7 8058210: 2b00 cmp r3, #0 8058212: f040 8621 bne.w 8058e58 { for(j = AVG[pardata.AVG] - 1; j > 0; j--) 8058216: 4b06 ldr r3, [pc, #24] ; (8058230 ) 8058218: 7b5b ldrb r3, [r3, #13] 805821a: b2db uxtb r3, r3 805821c: 461a mov r2, r3 805821e: 4b09 ldr r3, [pc, #36] ; (8058244 ) 8058220: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058224: 3b01 subs r3, #1 8058226: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 805822a: e0a2 b.n 8058372 805822c: 20021055 .word 0x20021055 8058230: 20023ea8 .word 0x20023ea8 8058234: 20021d44 .word 0x20021d44 8058238: 20021d30 .word 0x20021d30 805823c: 20021056 .word 0x20021056 8058240: 20020dd8 .word 0x20020dd8 8058244: 080f2e78 .word 0x080f2e78 { fl = OP1_PEAK_RD(j - 1); 8058248: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805824c: 3b01 subs r3, #1 805824e: 009a lsls r2, r3, #2 8058250: 4bbb ldr r3, [pc, #748] ; (8058540 ) 8058252: 4413 add r3, r2 8058254: 681b ldr r3, [r3, #0] 8058256: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP1_PEAK_WR(j) = fl; 805825a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805825e: 009a lsls r2, r3, #2 8058260: 4bb7 ldr r3, [pc, #732] ; (8058540 ) 8058262: 4413 add r3, r2 8058264: 461a mov r2, r3 8058266: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805826a: 6013 str r3, [r2, #0] fl = OP1_RMS_RD(j - 1); 805826c: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058270: 3b01 subs r3, #1 8058272: 009a lsls r2, r3, #2 8058274: 4bb3 ldr r3, [pc, #716] ; (8058544 ) 8058276: 4413 add r3, r2 8058278: 681b ldr r3, [r3, #0] 805827a: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP1_RMS_WR(j) = fl; 805827e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058282: 009a lsls r2, r3, #2 8058284: 4baf ldr r3, [pc, #700] ; (8058544 ) 8058286: 4413 add r3, r2 8058288: 461a mov r2, r3 805828a: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805828e: 6013 str r3, [r2, #0] fl = OP2_PEAK_RD(j - 1); 8058290: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058294: 3b01 subs r3, #1 8058296: 009a lsls r2, r3, #2 8058298: 4bab ldr r3, [pc, #684] ; (8058548 ) 805829a: 4413 add r3, r2 805829c: 681b ldr r3, [r3, #0] 805829e: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP2_PEAK_WR(j) = fl; 80582a2: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80582a6: 009a lsls r2, r3, #2 80582a8: 4ba7 ldr r3, [pc, #668] ; (8058548 ) 80582aa: 4413 add r3, r2 80582ac: 461a mov r2, r3 80582ae: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80582b2: 6013 str r3, [r2, #0] fl = OP2_RMS_RD(j - 1); 80582b4: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80582b8: 3b01 subs r3, #1 80582ba: 009a lsls r2, r3, #2 80582bc: 4ba3 ldr r3, [pc, #652] ; (805854c ) 80582be: 4413 add r3, r2 80582c0: 681b ldr r3, [r3, #0] 80582c2: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP2_RMS_WR(j) = fl; 80582c6: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80582ca: 009a lsls r2, r3, #2 80582cc: 4b9f ldr r3, [pc, #636] ; (805854c ) 80582ce: 4413 add r3, r2 80582d0: 461a mov r2, r3 80582d2: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80582d6: 6013 str r3, [r2, #0] fl = OP3_PEAK_RD(j - 1); 80582d8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80582dc: 3b01 subs r3, #1 80582de: 009a lsls r2, r3, #2 80582e0: 4b9b ldr r3, [pc, #620] ; (8058550 ) 80582e2: 4413 add r3, r2 80582e4: 681b ldr r3, [r3, #0] 80582e6: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP3_PEAK_WR(j) = fl; 80582ea: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80582ee: 009a lsls r2, r3, #2 80582f0: 4b97 ldr r3, [pc, #604] ; (8058550 ) 80582f2: 4413 add r3, r2 80582f4: 461a mov r2, r3 80582f6: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80582fa: 6013 str r3, [r2, #0] fl = OP3_RMS_RD(j - 1); 80582fc: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058300: 3b01 subs r3, #1 8058302: 009a lsls r2, r3, #2 8058304: 4b93 ldr r3, [pc, #588] ; (8058554 ) 8058306: 4413 add r3, r2 8058308: 681b ldr r3, [r3, #0] 805830a: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP3_RMS_WR(j) = fl; 805830e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058312: 009a lsls r2, r3, #2 8058314: 4b8f ldr r3, [pc, #572] ; (8058554 ) 8058316: 4413 add r3, r2 8058318: 461a mov r2, r3 805831a: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805831e: 6013 str r3, [r2, #0] fl = OP4_PEAK_RD(j - 1); 8058320: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058324: 3b01 subs r3, #1 8058326: 009a lsls r2, r3, #2 8058328: 4b8b ldr r3, [pc, #556] ; (8058558 ) 805832a: 4413 add r3, r2 805832c: 681b ldr r3, [r3, #0] 805832e: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP4_PEAK_WR(j) = fl; 8058332: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058336: 009a lsls r2, r3, #2 8058338: 4b87 ldr r3, [pc, #540] ; (8058558 ) 805833a: 4413 add r3, r2 805833c: 461a mov r2, r3 805833e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8058342: 6013 str r3, [r2, #0] fl = OP4_RMS_RD(j - 1); 8058344: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058348: 3b01 subs r3, #1 805834a: 009a lsls r2, r3, #2 805834c: 4b83 ldr r3, [pc, #524] ; (805855c ) 805834e: 4413 add r3, r2 8058350: 681b ldr r3, [r3, #0] 8058352: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP4_RMS_WR(j) = fl; 8058356: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805835a: 009a lsls r2, r3, #2 805835c: 4b7f ldr r3, [pc, #508] ; (805855c ) 805835e: 4413 add r3, r2 8058360: 461a mov r2, r3 8058362: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8058366: 6013 str r3, [r2, #0] for(j = AVG[pardata.AVG] - 1; j > 0; j--) 8058368: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805836c: 3b01 subs r3, #1 805836e: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 8058372: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058376: 2b00 cmp r3, #0 8058378: f47f af66 bne.w 8058248 } fl = (float32_t) (AVG[pardata.AVG] * 8u) * 8192.0f; 805837c: 4b78 ldr r3, [pc, #480] ; (8058560 ) 805837e: 7b5b ldrb r3, [r3, #13] 8058380: b2db uxtb r3, r3 8058382: 461a mov r2, r3 8058384: 4b77 ldr r3, [pc, #476] ; (8058564 ) 8058386: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805838a: 00db lsls r3, r3, #3 805838c: ee07 3a90 vmov s15, r3 8058390: eef8 7a67 vcvt.f32.u32 s15, s15 8058394: ed9f 7a74 vldr s14, [pc, #464] ; 8058568 8058398: ee67 7a87 vmul.f32 s15, s15, s14 805839c: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc for(i = 0; i < NUM_OPERANDS; i++) 80583a0: 2300 movs r3, #0 80583a2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80583a6: f000 bd2b b.w 8058e00 { switch((pardata.DIAGN_MASK[CURR_POINT][i] >> 3) & 0x1f) 80583aa: 4b70 ldr r3, [pc, #448] ; (805856c ) 80583ac: 781b ldrb r3, [r3, #0] 80583ae: b2db uxtb r3, r3 80583b0: 461a mov r2, r3 80583b2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80583b6: 496a ldr r1, [pc, #424] ; (8058560 ) 80583b8: 0092 lsls r2, r2, #2 80583ba: 440a add r2, r1 80583bc: 4413 add r3, r2 80583be: f503 730f add.w r3, r3, #572 ; 0x23c 80583c2: 781b ldrb r3, [r3, #0] 80583c4: b2db uxtb r3, r3 80583c6: 08db lsrs r3, r3, #3 80583c8: b2db uxtb r3, r3 80583ca: f003 031f and.w r3, r3, #31 80583ce: 3b01 subs r3, #1 80583d0: 2b0f cmp r3, #15 80583d2: f200 8510 bhi.w 8058df6 80583d6: a201 add r2, pc, #4 ; (adr r2, 80583dc ) 80583d8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80583dc: 0805841d .word 0x0805841d 80583e0: 080588fb .word 0x080588fb 80583e4: 08058df7 .word 0x08058df7 80583e8: 0805841d .word 0x0805841d 80583ec: 08058df7 .word 0x08058df7 80583f0: 08058df7 .word 0x08058df7 80583f4: 08058df7 .word 0x08058df7 80583f8: 080585e3 .word 0x080585e3 80583fc: 08058df7 .word 0x08058df7 8058400: 08058df7 .word 0x08058df7 8058404: 08058df7 .word 0x08058df7 8058408: 08058df7 .word 0x08058df7 805840c: 08058df7 .word 0x08058df7 8058410: 08058df7 .word 0x08058df7 8058414: 08058df7 .word 0x08058df7 8058418: 08058a8d .word 0x08058a8d { case DIAGN_PEAK: //peak case DIAGN_PEAK_TO_PEAK: //pk-pk if(i == 0) 805841c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058420: 2b00 cmp r3, #0 8058422: d11a bne.n 805845a { OP1_PEAK_WR(0) = peakAVS[i]; 8058424: 4a46 ldr r2, [pc, #280] ; (8058540 ) 8058426: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805842a: 4951 ldr r1, [pc, #324] ; (8058570 ) 805842c: 009b lsls r3, r3, #2 805842e: 440b add r3, r1 8058430: 681b ldr r3, [r3, #0] 8058432: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8058434: 4b4a ldr r3, [pc, #296] ; (8058560 ) 8058436: 7b5b ldrb r3, [r3, #13] 8058438: b2db uxtb r3, r3 805843a: 461a mov r2, r3 805843c: 4b49 ldr r3, [pc, #292] ; (8058564 ) 805843e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058442: 4619 mov r1, r3 8058444: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058448: 009b lsls r3, r3, #2 805844a: 4a49 ldr r2, [pc, #292] ; (8058570 ) 805844c: 441a add r2, r3 805844e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8058452: 483b ldr r0, [pc, #236] ; (8058540 ) 8058454: f075 ffde bl 80ce414 8058458: e05b b.n 8058512 } else if(i == 1) 805845a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805845e: 2b01 cmp r3, #1 8058460: d11a bne.n 8058498 { OP2_PEAK_WR(0) = peakAVS[i]; 8058462: 4a39 ldr r2, [pc, #228] ; (8058548 ) 8058464: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058468: 4941 ldr r1, [pc, #260] ; (8058570 ) 805846a: 009b lsls r3, r3, #2 805846c: 440b add r3, r1 805846e: 681b ldr r3, [r3, #0] 8058470: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8058472: 4b3b ldr r3, [pc, #236] ; (8058560 ) 8058474: 7b5b ldrb r3, [r3, #13] 8058476: b2db uxtb r3, r3 8058478: 461a mov r2, r3 805847a: 4b3a ldr r3, [pc, #232] ; (8058564 ) 805847c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058480: 4619 mov r1, r3 8058482: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058486: 009b lsls r3, r3, #2 8058488: 4a39 ldr r2, [pc, #228] ; (8058570 ) 805848a: 441a add r2, r3 805848c: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8058490: 482d ldr r0, [pc, #180] ; (8058548 ) 8058492: f075 ffbf bl 80ce414 8058496: e03c b.n 8058512 } else if(i == 2) 8058498: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805849c: 2b02 cmp r3, #2 805849e: d11a bne.n 80584d6 { OP3_PEAK_WR(0) = peakAVS[i]; 80584a0: 4a2b ldr r2, [pc, #172] ; (8058550 ) 80584a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80584a6: 4932 ldr r1, [pc, #200] ; (8058570 ) 80584a8: 009b lsls r3, r3, #2 80584aa: 440b add r3, r1 80584ac: 681b ldr r3, [r3, #0] 80584ae: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 80584b0: 4b2b ldr r3, [pc, #172] ; (8058560 ) 80584b2: 7b5b ldrb r3, [r3, #13] 80584b4: b2db uxtb r3, r3 80584b6: 461a mov r2, r3 80584b8: 4b2a ldr r3, [pc, #168] ; (8058564 ) 80584ba: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80584be: 4619 mov r1, r3 80584c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80584c4: 009b lsls r3, r3, #2 80584c6: 4a2a ldr r2, [pc, #168] ; (8058570 ) 80584c8: 441a add r2, r3 80584ca: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80584ce: 4820 ldr r0, [pc, #128] ; (8058550 ) 80584d0: f075 ffa0 bl 80ce414 80584d4: e01d b.n 8058512 } else if(i == 3) 80584d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80584da: 2b03 cmp r3, #3 80584dc: d119 bne.n 8058512 { OP4_PEAK_WR(0) = peakAVS[i]; 80584de: 4a1e ldr r2, [pc, #120] ; (8058558 ) 80584e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80584e4: 4922 ldr r1, [pc, #136] ; (8058570 ) 80584e6: 009b lsls r3, r3, #2 80584e8: 440b add r3, r1 80584ea: 681b ldr r3, [r3, #0] 80584ec: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 80584ee: 4b1c ldr r3, [pc, #112] ; (8058560 ) 80584f0: 7b5b ldrb r3, [r3, #13] 80584f2: b2db uxtb r3, r3 80584f4: 461a mov r2, r3 80584f6: 4b1b ldr r3, [pc, #108] ; (8058564 ) 80584f8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80584fc: 4619 mov r1, r3 80584fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058502: 009b lsls r3, r3, #2 8058504: 4a1a ldr r2, [pc, #104] ; (8058570 ) 8058506: 441a add r2, r3 8058508: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805850c: 4812 ldr r0, [pc, #72] ; (8058558 ) 805850e: f075 ff81 bl 80ce414 } peakAVS[i] = ABS(peakAVS[i]); 8058512: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058516: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805851a: 4915 ldr r1, [pc, #84] ; (8058570 ) 805851c: 0092 lsls r2, r2, #2 805851e: 440a add r2, r1 8058520: edd2 7a00 vldr s15, [r2] 8058524: eef5 7ac0 vcmpe.f32 s15, #0.0 8058528: eef1 fa10 vmrs APSR_nzcv, fpscr 805852c: dd22 ble.n 8058574 805852e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058532: 490f ldr r1, [pc, #60] ; (8058570 ) 8058534: 0092 lsls r2, r2, #2 8058536: 440a add r2, r1 8058538: edd2 7a00 vldr s15, [r2] 805853c: e023 b.n 8058586 805853e: bf00 nop 8058540: 64050000 .word 0x64050000 8058544: 64050800 .word 0x64050800 8058548: 64051000 .word 0x64051000 805854c: 64051800 .word 0x64051800 8058550: 64052000 .word 0x64052000 8058554: 64052800 .word 0x64052800 8058558: 64053000 .word 0x64053000 805855c: 64053800 .word 0x64053800 8058560: 20023ea8 .word 0x20023ea8 8058564: 080f2e78 .word 0x080f2e78 8058568: 46000000 .word 0x46000000 805856c: 20021055 .word 0x20021055 8058570: 20021d44 .word 0x20021d44 8058574: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058578: 4996 ldr r1, [pc, #600] ; (80587d4 ) 805857a: 0092 lsls r2, r2, #2 805857c: 440a add r2, r1 805857e: edd2 7a00 vldr s15, [r2] 8058582: eef1 7a67 vneg.f32 s15, s15 8058586: 4a93 ldr r2, [pc, #588] ; (80587d4 ) 8058588: 009b lsls r3, r3, #2 805858a: 4413 add r3, r2 805858c: edc3 7a00 vstr s15, [r3] operand[i] = peakAVS[i]; 8058590: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058594: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058598: 498e ldr r1, [pc, #568] ; (80587d4 ) 805859a: 0092 lsls r2, r2, #2 805859c: 440a add r2, r1 805859e: 6812 ldr r2, [r2, #0] 80585a0: 498d ldr r1, [pc, #564] ; (80587d8 ) 80585a2: 009b lsls r3, r3, #2 80585a4: 440b add r3, r1 80585a6: 601a str r2, [r3, #0] //operand[i] = MedMeas(i, operand[i]); operand[i] /= pardata.IKK; 80585a8: 4b8c ldr r3, [pc, #560] ; (80587dc ) 80585aa: ed93 7a04 vldr s14, [r3, #16] 80585ae: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80585b2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80585b6: 4988 ldr r1, [pc, #544] ; (80587d8 ) 80585b8: 0092 lsls r2, r2, #2 80585ba: 440a add r2, r1 80585bc: edd2 6a00 vldr s13, [r2] 80585c0: eec6 7a87 vdiv.f32 s15, s13, s14 80585c4: 4a84 ldr r2, [pc, #528] ; (80587d8 ) 80585c6: 009b lsls r3, r3, #2 80585c8: 4413 add r3, r2 80585ca: edc3 7a00 vstr s15, [r3] peakAVS[i] = 0.0f; 80585ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80585d2: 4a80 ldr r2, [pc, #512] ; (80587d4 ) 80585d4: 009b lsls r3, r3, #2 80585d6: 4413 add r3, r2 80585d8: f04f 0200 mov.w r2, #0 80585dc: 601a str r2, [r3, #0] break; 80585de: f000 bc0a b.w 8058df6 case DIAGN_PEAK_FACTOR: //peak-factor if(i == 0) 80585e2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80585e6: 2b00 cmp r3, #0 80585e8: d11a bne.n 8058620 { OP1_PEAK_WR(0) = peakAVS[i]; 80585ea: 4a7d ldr r2, [pc, #500] ; (80587e0 ) 80585ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80585f0: 4978 ldr r1, [pc, #480] ; (80587d4 ) 80585f2: 009b lsls r3, r3, #2 80585f4: 440b add r3, r1 80585f6: 681b ldr r3, [r3, #0] 80585f8: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 80585fa: 4b78 ldr r3, [pc, #480] ; (80587dc ) 80585fc: 7b5b ldrb r3, [r3, #13] 80585fe: b2db uxtb r3, r3 8058600: 461a mov r2, r3 8058602: 4b78 ldr r3, [pc, #480] ; (80587e4 ) 8058604: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058608: 4619 mov r1, r3 805860a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805860e: 009b lsls r3, r3, #2 8058610: 4a70 ldr r2, [pc, #448] ; (80587d4 ) 8058612: 441a add r2, r3 8058614: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8058618: 4871 ldr r0, [pc, #452] ; (80587e0 ) 805861a: f075 fefb bl 80ce414 805861e: e05b b.n 80586d8 } else if(i == 1) 8058620: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058624: 2b01 cmp r3, #1 8058626: d11a bne.n 805865e { OP2_PEAK_WR(0) = peakAVS[i]; 8058628: 4a6f ldr r2, [pc, #444] ; (80587e8 ) 805862a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805862e: 4969 ldr r1, [pc, #420] ; (80587d4 ) 8058630: 009b lsls r3, r3, #2 8058632: 440b add r3, r1 8058634: 681b ldr r3, [r3, #0] 8058636: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8058638: 4b68 ldr r3, [pc, #416] ; (80587dc ) 805863a: 7b5b ldrb r3, [r3, #13] 805863c: b2db uxtb r3, r3 805863e: 461a mov r2, r3 8058640: 4b68 ldr r3, [pc, #416] ; (80587e4 ) 8058642: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058646: 4619 mov r1, r3 8058648: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805864c: 009b lsls r3, r3, #2 805864e: 4a61 ldr r2, [pc, #388] ; (80587d4 ) 8058650: 441a add r2, r3 8058652: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8058656: 4864 ldr r0, [pc, #400] ; (80587e8 ) 8058658: f075 fedc bl 80ce414 805865c: e03c b.n 80586d8 } else if(i == 2) 805865e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058662: 2b02 cmp r3, #2 8058664: d11a bne.n 805869c { OP3_PEAK_WR(0) = peakAVS[i]; 8058666: 4a61 ldr r2, [pc, #388] ; (80587ec ) 8058668: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805866c: 4959 ldr r1, [pc, #356] ; (80587d4 ) 805866e: 009b lsls r3, r3, #2 8058670: 440b add r3, r1 8058672: 681b ldr r3, [r3, #0] 8058674: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8058676: 4b59 ldr r3, [pc, #356] ; (80587dc ) 8058678: 7b5b ldrb r3, [r3, #13] 805867a: b2db uxtb r3, r3 805867c: 461a mov r2, r3 805867e: 4b59 ldr r3, [pc, #356] ; (80587e4 ) 8058680: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058684: 4619 mov r1, r3 8058686: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805868a: 009b lsls r3, r3, #2 805868c: 4a51 ldr r2, [pc, #324] ; (80587d4 ) 805868e: 441a add r2, r3 8058690: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8058694: 4855 ldr r0, [pc, #340] ; (80587ec ) 8058696: f075 febd bl 80ce414 805869a: e01d b.n 80586d8 } else if(i == 3) 805869c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80586a0: 2b03 cmp r3, #3 80586a2: d119 bne.n 80586d8 { OP4_PEAK_WR(0) = peakAVS[i]; 80586a4: 4a52 ldr r2, [pc, #328] ; (80587f0 ) 80586a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80586aa: 494a ldr r1, [pc, #296] ; (80587d4 ) 80586ac: 009b lsls r3, r3, #2 80586ae: 440b add r3, r1 80586b0: 681b ldr r3, [r3, #0] 80586b2: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 80586b4: 4b49 ldr r3, [pc, #292] ; (80587dc ) 80586b6: 7b5b ldrb r3, [r3, #13] 80586b8: b2db uxtb r3, r3 80586ba: 461a mov r2, r3 80586bc: 4b49 ldr r3, [pc, #292] ; (80587e4 ) 80586be: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80586c2: 4619 mov r1, r3 80586c4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80586c8: 009b lsls r3, r3, #2 80586ca: 4a42 ldr r2, [pc, #264] ; (80587d4 ) 80586cc: 441a add r2, r3 80586ce: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80586d2: 4847 ldr r0, [pc, #284] ; (80587f0 ) 80586d4: f075 fe9e bl 80ce414 } peakAVS[i] = ABS(peakAVS[i]); 80586d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80586dc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80586e0: 493c ldr r1, [pc, #240] ; (80587d4 ) 80586e2: 0092 lsls r2, r2, #2 80586e4: 440a add r2, r1 80586e6: edd2 7a00 vldr s15, [r2] 80586ea: eef5 7ac0 vcmpe.f32 s15, #0.0 80586ee: eef1 fa10 vmrs APSR_nzcv, fpscr 80586f2: dd07 ble.n 8058704 80586f4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80586f8: 4936 ldr r1, [pc, #216] ; (80587d4 ) 80586fa: 0092 lsls r2, r2, #2 80586fc: 440a add r2, r1 80586fe: edd2 7a00 vldr s15, [r2] 8058702: e008 b.n 8058716 8058704: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058708: 4932 ldr r1, [pc, #200] ; (80587d4 ) 805870a: 0092 lsls r2, r2, #2 805870c: 440a add r2, r1 805870e: edd2 7a00 vldr s15, [r2] 8058712: eef1 7a67 vneg.f32 s15, s15 8058716: 4a2f ldr r2, [pc, #188] ; (80587d4 ) 8058718: 009b lsls r3, r3, #2 805871a: 4413 add r3, r2 805871c: edc3 7a00 vstr s15, [r3] if(i == 0) 8058720: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058724: 2b00 cmp r3, #0 8058726: d119 bne.n 805875c { OP1_RMS_WR(0) = rmsAVS[i]; 8058728: 4a32 ldr r2, [pc, #200] ; (80587f4 ) 805872a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805872e: 4932 ldr r1, [pc, #200] ; (80587f8 ) 8058730: 009b lsls r3, r3, #2 8058732: 440b add r3, r1 8058734: 681b ldr r3, [r3, #0] 8058736: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP1_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8058738: 4b28 ldr r3, [pc, #160] ; (80587dc ) 805873a: 7b5b ldrb r3, [r3, #13] 805873c: b2db uxtb r3, r3 805873e: 461a mov r2, r3 8058740: 4b28 ldr r3, [pc, #160] ; (80587e4 ) 8058742: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058746: 4619 mov r1, r3 8058748: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805874c: 009b lsls r3, r3, #2 805874e: 4a2a ldr r2, [pc, #168] ; (80587f8 ) 8058750: 4413 add r3, r2 8058752: 461a mov r2, r3 8058754: 4827 ldr r0, [pc, #156] ; (80587f4 ) 8058756: f075 fe27 bl 80ce3a8 805875a: e070 b.n 805883e } else if(i == 1) 805875c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058760: 2b01 cmp r3, #1 8058762: d119 bne.n 8058798 { OP2_RMS_WR(0) = rmsAVS[i]; 8058764: 4a25 ldr r2, [pc, #148] ; (80587fc ) 8058766: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805876a: 4923 ldr r1, [pc, #140] ; (80587f8 ) 805876c: 009b lsls r3, r3, #2 805876e: 440b add r3, r1 8058770: 681b ldr r3, [r3, #0] 8058772: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP2_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8058774: 4b19 ldr r3, [pc, #100] ; (80587dc ) 8058776: 7b5b ldrb r3, [r3, #13] 8058778: b2db uxtb r3, r3 805877a: 461a mov r2, r3 805877c: 4b19 ldr r3, [pc, #100] ; (80587e4 ) 805877e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058782: 4619 mov r1, r3 8058784: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058788: 009b lsls r3, r3, #2 805878a: 4a1b ldr r2, [pc, #108] ; (80587f8 ) 805878c: 4413 add r3, r2 805878e: 461a mov r2, r3 8058790: 481a ldr r0, [pc, #104] ; (80587fc ) 8058792: f075 fe09 bl 80ce3a8 8058796: e052 b.n 805883e } else if(i == 2) 8058798: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805879c: 2b02 cmp r3, #2 805879e: d131 bne.n 8058804 { OP3_RMS_WR(0) = rmsAVS[i]; 80587a0: 4a17 ldr r2, [pc, #92] ; (8058800 ) 80587a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80587a6: 4914 ldr r1, [pc, #80] ; (80587f8 ) 80587a8: 009b lsls r3, r3, #2 80587aa: 440b add r3, r1 80587ac: 681b ldr r3, [r3, #0] 80587ae: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP3_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 80587b0: 4b0a ldr r3, [pc, #40] ; (80587dc ) 80587b2: 7b5b ldrb r3, [r3, #13] 80587b4: b2db uxtb r3, r3 80587b6: 461a mov r2, r3 80587b8: 4b0a ldr r3, [pc, #40] ; (80587e4 ) 80587ba: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80587be: 4619 mov r1, r3 80587c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80587c4: 009b lsls r3, r3, #2 80587c6: 4a0c ldr r2, [pc, #48] ; (80587f8 ) 80587c8: 4413 add r3, r2 80587ca: 461a mov r2, r3 80587cc: 480c ldr r0, [pc, #48] ; (8058800 ) 80587ce: f075 fdeb bl 80ce3a8 80587d2: e034 b.n 805883e 80587d4: 20021d44 .word 0x20021d44 80587d8: 20026918 .word 0x20026918 80587dc: 20023ea8 .word 0x20023ea8 80587e0: 64050000 .word 0x64050000 80587e4: 080f2e78 .word 0x080f2e78 80587e8: 64051000 .word 0x64051000 80587ec: 64052000 .word 0x64052000 80587f0: 64053000 .word 0x64053000 80587f4: 64050800 .word 0x64050800 80587f8: 20021d30 .word 0x20021d30 80587fc: 64051800 .word 0x64051800 8058800: 64052800 .word 0x64052800 } else if(i == 3) 8058804: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058808: 2b03 cmp r3, #3 805880a: d118 bne.n 805883e { OP4_RMS_WR(0) = rmsAVS[i]; 805880c: 4ac2 ldr r2, [pc, #776] ; (8058b18 ) 805880e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058812: 49c2 ldr r1, [pc, #776] ; (8058b1c ) 8058814: 009b lsls r3, r3, #2 8058816: 440b add r3, r1 8058818: 681b ldr r3, [r3, #0] 805881a: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP4_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805881c: 4bc0 ldr r3, [pc, #768] ; (8058b20 ) 805881e: 7b5b ldrb r3, [r3, #13] 8058820: b2db uxtb r3, r3 8058822: 461a mov r2, r3 8058824: 4bbf ldr r3, [pc, #764] ; (8058b24 ) 8058826: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805882a: 4619 mov r1, r3 805882c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058830: 009b lsls r3, r3, #2 8058832: 4aba ldr r2, [pc, #744] ; (8058b1c ) 8058834: 4413 add r3, r2 8058836: 461a mov r2, r3 8058838: 48b7 ldr r0, [pc, #732] ; (8058b18 ) 805883a: f075 fdb5 bl 80ce3a8 } rmsAVS[i] *= AVG[pardata.AVG]; 805883e: 4bb8 ldr r3, [pc, #736] ; (8058b20 ) 8058840: 7b5b ldrb r3, [r3, #13] 8058842: b2db uxtb r3, r3 8058844: 461a mov r2, r3 8058846: 4bb7 ldr r3, [pc, #732] ; (8058b24 ) 8058848: f833 0012 ldrh.w r0, [r3, r2, lsl #1] 805884c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058850: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058854: 49b1 ldr r1, [pc, #708] ; (8058b1c ) 8058856: 0092 lsls r2, r2, #2 8058858: 440a add r2, r1 805885a: ed92 7a00 vldr s14, [r2] 805885e: ee07 0a90 vmov s15, r0 8058862: eef8 7ae7 vcvt.f32.s32 s15, s15 8058866: ee67 7a27 vmul.f32 s15, s14, s15 805886a: 4aac ldr r2, [pc, #688] ; (8058b1c ) 805886c: 009b lsls r3, r3, #2 805886e: 4413 add r3, r2 8058870: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 8058874: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058878: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805887c: 49a7 ldr r1, [pc, #668] ; (8058b1c ) 805887e: 0092 lsls r2, r2, #2 8058880: 440a add r2, r1 8058882: edd2 6a00 vldr s13, [r2] 8058886: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805888a: eec6 7a87 vdiv.f32 s15, s13, s14 805888e: 4aa3 ldr r2, [pc, #652] ; (8058b1c ) 8058890: 009b lsls r3, r3, #2 8058892: 4413 add r3, r2 8058894: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &rmsAVS[i]); 8058898: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805889c: 4a9f ldr r2, [pc, #636] ; (8058b1c ) 805889e: 009b lsls r3, r3, #2 80588a0: 4413 add r3, r2 80588a2: edd3 7a00 vldr s15, [r3] 80588a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80588aa: 009b lsls r3, r3, #2 80588ac: 4a9b ldr r2, [pc, #620] ; (8058b1c ) 80588ae: 4413 add r3, r2 80588b0: 4618 mov r0, r3 80588b2: eeb0 0a67 vmov.f32 s0, s15 80588b6: f7fd ffcb bl 8056850 operand[i] = peakAVS[i] / rmsAVS[i]; 80588ba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80588be: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80588c2: 4999 ldr r1, [pc, #612] ; (8058b28 ) 80588c4: 0092 lsls r2, r2, #2 80588c6: 440a add r2, r1 80588c8: edd2 6a00 vldr s13, [r2] 80588cc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80588d0: 4992 ldr r1, [pc, #584] ; (8058b1c ) 80588d2: 0092 lsls r2, r2, #2 80588d4: 440a add r2, r1 80588d6: ed92 7a00 vldr s14, [r2] 80588da: eec6 7a87 vdiv.f32 s15, s13, s14 80588de: 4a93 ldr r2, [pc, #588] ; (8058b2c ) 80588e0: 009b lsls r3, r3, #2 80588e2: 4413 add r3, r2 80588e4: edc3 7a00 vstr s15, [r3] //operand[i] = MedMeas(i, operand[i]); //skzDB[i] = 0.0f; peakAVS[i] = 0.0f; 80588e8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80588ec: 4a8e ldr r2, [pc, #568] ; (8058b28 ) 80588ee: 009b lsls r3, r3, #2 80588f0: 4413 add r3, r2 80588f2: f04f 0200 mov.w r2, #0 80588f6: 601a str r2, [r3, #0] break; 80588f8: e27d b.n 8058df6 case DIAGN_RMS: //rms if(i == 0) 80588fa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80588fe: 2b00 cmp r3, #0 8058900: d119 bne.n 8058936 { OP1_RMS_WR(0) = rmsAVS[i]; 8058902: 4a8b ldr r2, [pc, #556] ; (8058b30 ) 8058904: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058908: 4984 ldr r1, [pc, #528] ; (8058b1c ) 805890a: 009b lsls r3, r3, #2 805890c: 440b add r3, r1 805890e: 681b ldr r3, [r3, #0] 8058910: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP1_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8058912: 4b83 ldr r3, [pc, #524] ; (8058b20 ) 8058914: 7b5b ldrb r3, [r3, #13] 8058916: b2db uxtb r3, r3 8058918: 461a mov r2, r3 805891a: 4b82 ldr r3, [pc, #520] ; (8058b24 ) 805891c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058920: 4619 mov r1, r3 8058922: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058926: 009b lsls r3, r3, #2 8058928: 4a7c ldr r2, [pc, #496] ; (8058b1c ) 805892a: 4413 add r3, r2 805892c: 461a mov r2, r3 805892e: 4880 ldr r0, [pc, #512] ; (8058b30 ) 8058930: f075 fd3a bl 80ce3a8 8058934: e058 b.n 80589e8 } else if(i == 1) 8058936: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805893a: 2b01 cmp r3, #1 805893c: d119 bne.n 8058972 { OP2_RMS_WR(0) = rmsAVS[i]; 805893e: 4a7d ldr r2, [pc, #500] ; (8058b34 ) 8058940: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058944: 4975 ldr r1, [pc, #468] ; (8058b1c ) 8058946: 009b lsls r3, r3, #2 8058948: 440b add r3, r1 805894a: 681b ldr r3, [r3, #0] 805894c: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP2_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805894e: 4b74 ldr r3, [pc, #464] ; (8058b20 ) 8058950: 7b5b ldrb r3, [r3, #13] 8058952: b2db uxtb r3, r3 8058954: 461a mov r2, r3 8058956: 4b73 ldr r3, [pc, #460] ; (8058b24 ) 8058958: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805895c: 4619 mov r1, r3 805895e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058962: 009b lsls r3, r3, #2 8058964: 4a6d ldr r2, [pc, #436] ; (8058b1c ) 8058966: 4413 add r3, r2 8058968: 461a mov r2, r3 805896a: 4872 ldr r0, [pc, #456] ; (8058b34 ) 805896c: f075 fd1c bl 80ce3a8 8058970: e03a b.n 80589e8 } else if(i == 2) 8058972: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058976: 2b02 cmp r3, #2 8058978: d119 bne.n 80589ae { OP3_RMS_WR(0) = rmsAVS[i]; 805897a: 4a6f ldr r2, [pc, #444] ; (8058b38 ) 805897c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058980: 4966 ldr r1, [pc, #408] ; (8058b1c ) 8058982: 009b lsls r3, r3, #2 8058984: 440b add r3, r1 8058986: 681b ldr r3, [r3, #0] 8058988: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP3_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805898a: 4b65 ldr r3, [pc, #404] ; (8058b20 ) 805898c: 7b5b ldrb r3, [r3, #13] 805898e: b2db uxtb r3, r3 8058990: 461a mov r2, r3 8058992: 4b64 ldr r3, [pc, #400] ; (8058b24 ) 8058994: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058998: 4619 mov r1, r3 805899a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805899e: 009b lsls r3, r3, #2 80589a0: 4a5e ldr r2, [pc, #376] ; (8058b1c ) 80589a2: 4413 add r3, r2 80589a4: 461a mov r2, r3 80589a6: 4864 ldr r0, [pc, #400] ; (8058b38 ) 80589a8: f075 fcfe bl 80ce3a8 80589ac: e01c b.n 80589e8 } else if(i == 3) 80589ae: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80589b2: 2b03 cmp r3, #3 80589b4: d118 bne.n 80589e8 { OP4_RMS_WR(0) = rmsAVS[i]; 80589b6: 4a58 ldr r2, [pc, #352] ; (8058b18 ) 80589b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80589bc: 4957 ldr r1, [pc, #348] ; (8058b1c ) 80589be: 009b lsls r3, r3, #2 80589c0: 440b add r3, r1 80589c2: 681b ldr r3, [r3, #0] 80589c4: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP4_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 80589c6: 4b56 ldr r3, [pc, #344] ; (8058b20 ) 80589c8: 7b5b ldrb r3, [r3, #13] 80589ca: b2db uxtb r3, r3 80589cc: 461a mov r2, r3 80589ce: 4b55 ldr r3, [pc, #340] ; (8058b24 ) 80589d0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80589d4: 4619 mov r1, r3 80589d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80589da: 009b lsls r3, r3, #2 80589dc: 4a4f ldr r2, [pc, #316] ; (8058b1c ) 80589de: 4413 add r3, r2 80589e0: 461a mov r2, r3 80589e2: 484d ldr r0, [pc, #308] ; (8058b18 ) 80589e4: f075 fce0 bl 80ce3a8 } rmsAVS[i] *= (float32_t) AVG[pardata.AVG]; 80589e8: 4b4d ldr r3, [pc, #308] ; (8058b20 ) 80589ea: 7b5b ldrb r3, [r3, #13] 80589ec: b2db uxtb r3, r3 80589ee: 461a mov r2, r3 80589f0: 4b4c ldr r3, [pc, #304] ; (8058b24 ) 80589f2: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80589f6: ee07 3a90 vmov s15, r3 80589fa: eef8 7a67 vcvt.f32.u32 s15, s15 80589fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058a02: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058a06: 4945 ldr r1, [pc, #276] ; (8058b1c ) 8058a08: 0092 lsls r2, r2, #2 8058a0a: 440a add r2, r1 8058a0c: ed92 7a00 vldr s14, [r2] 8058a10: ee67 7a27 vmul.f32 s15, s14, s15 8058a14: 4a41 ldr r2, [pc, #260] ; (8058b1c ) 8058a16: 009b lsls r3, r3, #2 8058a18: 4413 add r3, r2 8058a1a: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 8058a1e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058a22: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058a26: 493d ldr r1, [pc, #244] ; (8058b1c ) 8058a28: 0092 lsls r2, r2, #2 8058a2a: 440a add r2, r1 8058a2c: edd2 6a00 vldr s13, [r2] 8058a30: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8058a34: eec6 7a87 vdiv.f32 s15, s13, s14 8058a38: 4a38 ldr r2, [pc, #224] ; (8058b1c ) 8058a3a: 009b lsls r3, r3, #2 8058a3c: 4413 add r3, r2 8058a3e: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &operand[i]); 8058a42: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058a46: 4a35 ldr r2, [pc, #212] ; (8058b1c ) 8058a48: 009b lsls r3, r3, #2 8058a4a: 4413 add r3, r2 8058a4c: edd3 7a00 vldr s15, [r3] 8058a50: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058a54: 009b lsls r3, r3, #2 8058a56: 4a35 ldr r2, [pc, #212] ; (8058b2c ) 8058a58: 4413 add r3, r2 8058a5a: 4618 mov r0, r3 8058a5c: eeb0 0a67 vmov.f32 s0, s15 8058a60: f7fd fef6 bl 8056850 //operand[i] = MedMeas(i, operand[i]); operand[i] /= pardata.IKK; 8058a64: 4b2e ldr r3, [pc, #184] ; (8058b20 ) 8058a66: ed93 7a04 vldr s14, [r3, #16] 8058a6a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058a6e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058a72: 492e ldr r1, [pc, #184] ; (8058b2c ) 8058a74: 0092 lsls r2, r2, #2 8058a76: 440a add r2, r1 8058a78: edd2 6a00 vldr s13, [r2] 8058a7c: eec6 7a87 vdiv.f32 s15, s13, s14 8058a80: 4a2a ldr r2, [pc, #168] ; (8058b2c ) 8058a82: 009b lsls r3, r3, #2 8058a84: 4413 add r3, r2 8058a86: edc3 7a00 vstr s15, [r3] //LinToLog(&skz[i], &skzDB[i]); break; 8058a8a: e1b4 b.n 8058df6 case DIAGN_EXCESS: //excess if(i == 0) 8058a8c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058a90: 2b00 cmp r3, #0 8058a92: d170 bne.n 8058b76 { OP1_PEAK_WR(0) = peakAVS[i]; 8058a94: 4a29 ldr r2, [pc, #164] ; (8058b3c ) 8058a96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058a9a: 4923 ldr r1, [pc, #140] ; (8058b28 ) 8058a9c: 009b lsls r3, r3, #2 8058a9e: 440b add r3, r1 8058aa0: 681b ldr r3, [r3, #0] 8058aa2: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8058aa4: 4b1e ldr r3, [pc, #120] ; (8058b20 ) 8058aa6: 7b5b ldrb r3, [r3, #13] 8058aa8: b2db uxtb r3, r3 8058aaa: 461a mov r2, r3 8058aac: 4b1d ldr r3, [pc, #116] ; (8058b24 ) 8058aae: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058ab2: 4619 mov r1, r3 8058ab4: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8058ab8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8058abc: 481f ldr r0, [pc, #124] ; (8058b3c ) 8058abe: f075 fc0d bl 80ce2dc arm_max_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8058ac2: 4b17 ldr r3, [pc, #92] ; (8058b20 ) 8058ac4: 7b5b ldrb r3, [r3, #13] 8058ac6: b2db uxtb r3, r3 8058ac8: 461a mov r2, r3 8058aca: 4b16 ldr r3, [pc, #88] ; (8058b24 ) 8058acc: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058ad0: 4618 mov r0, r3 8058ad2: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8058ad6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8058ada: 1d1a adds r2, r3, #4 8058adc: 460b mov r3, r1 8058ade: 4601 mov r1, r0 8058ae0: 4816 ldr r0, [pc, #88] ; (8058b3c ) 8058ae2: f075 fc97 bl 80ce414 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8058ae6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058aea: eef5 7ac0 vcmpe.f32 s15, #0.0 8058aee: eef1 fa10 vmrs APSR_nzcv, fpscr 8058af2: dd02 ble.n 8058afa 8058af4: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8058af8: e003 b.n 8058b02 8058afa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058afe: eeb1 7a67 vneg.f32 s14, s15 8058b02: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058b06: eef5 7ac0 vcmpe.f32 s15, #0.0 8058b0a: eef1 fa10 vmrs APSR_nzcv, fpscr 8058b0e: dd17 ble.n 8058b40 8058b10: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058b14: e018 b.n 8058b48 8058b16: bf00 nop 8058b18: 64053800 .word 0x64053800 8058b1c: 20021d30 .word 0x20021d30 8058b20: 20023ea8 .word 0x20023ea8 8058b24: 080f2e78 .word 0x080f2e78 8058b28: 20021d44 .word 0x20021d44 8058b2c: 20026918 .word 0x20026918 8058b30: 64050800 .word 0x64050800 8058b34: 64051800 .word 0x64051800 8058b38: 64052800 .word 0x64052800 8058b3c: 64050000 .word 0x64050000 8058b40: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058b44: eef1 7a67 vneg.f32 s15, s15 8058b48: eeb4 7ae7 vcmpe.f32 s14, s15 8058b4c: eef1 fa10 vmrs APSR_nzcv, fpscr 8058b50: dd08 ble.n 8058b64 8058b52: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058b56: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8058b5a: 4992 ldr r1, [pc, #584] ; (8058da4 ) 8058b5c: 009b lsls r3, r3, #2 8058b5e: 440b add r3, r1 8058b60: 601a str r2, [r3, #0] 8058b62: e133 b.n 8058dcc else peakAVS[i] = fn[1]; 8058b64: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058b68: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8058b6c: 498d ldr r1, [pc, #564] ; (8058da4 ) 8058b6e: 009b lsls r3, r3, #2 8058b70: 440b add r3, r1 8058b72: 601a str r2, [r3, #0] 8058b74: e12a b.n 8058dcc } else if(i == 1) 8058b76: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058b7a: 2b01 cmp r3, #1 8058b7c: d15b bne.n 8058c36 { OP2_PEAK_WR(0) = peakAVS[i]; 8058b7e: 4a8a ldr r2, [pc, #552] ; (8058da8 ) 8058b80: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058b84: 4987 ldr r1, [pc, #540] ; (8058da4 ) 8058b86: 009b lsls r3, r3, #2 8058b88: 440b add r3, r1 8058b8a: 681b ldr r3, [r3, #0] 8058b8c: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8058b8e: 4b87 ldr r3, [pc, #540] ; (8058dac ) 8058b90: 7b5b ldrb r3, [r3, #13] 8058b92: b2db uxtb r3, r3 8058b94: 461a mov r2, r3 8058b96: 4b86 ldr r3, [pc, #536] ; (8058db0 ) 8058b98: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058b9c: 4619 mov r1, r3 8058b9e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8058ba2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8058ba6: 4880 ldr r0, [pc, #512] ; (8058da8 ) 8058ba8: f075 fb98 bl 80ce2dc arm_max_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8058bac: 4b7f ldr r3, [pc, #508] ; (8058dac ) 8058bae: 7b5b ldrb r3, [r3, #13] 8058bb0: b2db uxtb r3, r3 8058bb2: 461a mov r2, r3 8058bb4: 4b7e ldr r3, [pc, #504] ; (8058db0 ) 8058bb6: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058bba: 4618 mov r0, r3 8058bbc: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8058bc0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8058bc4: 1d1a adds r2, r3, #4 8058bc6: 460b mov r3, r1 8058bc8: 4601 mov r1, r0 8058bca: 4877 ldr r0, [pc, #476] ; (8058da8 ) 8058bcc: f075 fc22 bl 80ce414 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8058bd0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058bd4: eef5 7ac0 vcmpe.f32 s15, #0.0 8058bd8: eef1 fa10 vmrs APSR_nzcv, fpscr 8058bdc: dd02 ble.n 8058be4 8058bde: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8058be2: e003 b.n 8058bec 8058be4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058be8: eeb1 7a67 vneg.f32 s14, s15 8058bec: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058bf0: eef5 7ac0 vcmpe.f32 s15, #0.0 8058bf4: eef1 fa10 vmrs APSR_nzcv, fpscr 8058bf8: dd02 ble.n 8058c00 8058bfa: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058bfe: e003 b.n 8058c08 8058c00: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058c04: eef1 7a67 vneg.f32 s15, s15 8058c08: eeb4 7ae7 vcmpe.f32 s14, s15 8058c0c: eef1 fa10 vmrs APSR_nzcv, fpscr 8058c10: dd08 ble.n 8058c24 8058c12: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058c16: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8058c1a: 4962 ldr r1, [pc, #392] ; (8058da4 ) 8058c1c: 009b lsls r3, r3, #2 8058c1e: 440b add r3, r1 8058c20: 601a str r2, [r3, #0] 8058c22: e0d3 b.n 8058dcc else peakAVS[i] = fn[1]; 8058c24: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058c28: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8058c2c: 495d ldr r1, [pc, #372] ; (8058da4 ) 8058c2e: 009b lsls r3, r3, #2 8058c30: 440b add r3, r1 8058c32: 601a str r2, [r3, #0] 8058c34: e0ca b.n 8058dcc } else if(i == 2) 8058c36: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058c3a: 2b02 cmp r3, #2 8058c3c: d15b bne.n 8058cf6 { OP3_PEAK_WR(0) = peakAVS[i]; 8058c3e: 4a5d ldr r2, [pc, #372] ; (8058db4 ) 8058c40: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058c44: 4957 ldr r1, [pc, #348] ; (8058da4 ) 8058c46: 009b lsls r3, r3, #2 8058c48: 440b add r3, r1 8058c4a: 681b ldr r3, [r3, #0] 8058c4c: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8058c4e: 4b57 ldr r3, [pc, #348] ; (8058dac ) 8058c50: 7b5b ldrb r3, [r3, #13] 8058c52: b2db uxtb r3, r3 8058c54: 461a mov r2, r3 8058c56: 4b56 ldr r3, [pc, #344] ; (8058db0 ) 8058c58: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058c5c: 4619 mov r1, r3 8058c5e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8058c62: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8058c66: 4853 ldr r0, [pc, #332] ; (8058db4 ) 8058c68: f075 fb38 bl 80ce2dc arm_max_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8058c6c: 4b4f ldr r3, [pc, #316] ; (8058dac ) 8058c6e: 7b5b ldrb r3, [r3, #13] 8058c70: b2db uxtb r3, r3 8058c72: 461a mov r2, r3 8058c74: 4b4e ldr r3, [pc, #312] ; (8058db0 ) 8058c76: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058c7a: 4618 mov r0, r3 8058c7c: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8058c80: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8058c84: 1d1a adds r2, r3, #4 8058c86: 460b mov r3, r1 8058c88: 4601 mov r1, r0 8058c8a: 484a ldr r0, [pc, #296] ; (8058db4 ) 8058c8c: f075 fbc2 bl 80ce414 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8058c90: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058c94: eef5 7ac0 vcmpe.f32 s15, #0.0 8058c98: eef1 fa10 vmrs APSR_nzcv, fpscr 8058c9c: dd02 ble.n 8058ca4 8058c9e: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8058ca2: e003 b.n 8058cac 8058ca4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058ca8: eeb1 7a67 vneg.f32 s14, s15 8058cac: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058cb0: eef5 7ac0 vcmpe.f32 s15, #0.0 8058cb4: eef1 fa10 vmrs APSR_nzcv, fpscr 8058cb8: dd02 ble.n 8058cc0 8058cba: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058cbe: e003 b.n 8058cc8 8058cc0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058cc4: eef1 7a67 vneg.f32 s15, s15 8058cc8: eeb4 7ae7 vcmpe.f32 s14, s15 8058ccc: eef1 fa10 vmrs APSR_nzcv, fpscr 8058cd0: dd08 ble.n 8058ce4 8058cd2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058cd6: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8058cda: 4932 ldr r1, [pc, #200] ; (8058da4 ) 8058cdc: 009b lsls r3, r3, #2 8058cde: 440b add r3, r1 8058ce0: 601a str r2, [r3, #0] 8058ce2: e073 b.n 8058dcc else peakAVS[i] = fn[1]; 8058ce4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058ce8: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8058cec: 492d ldr r1, [pc, #180] ; (8058da4 ) 8058cee: 009b lsls r3, r3, #2 8058cf0: 440b add r3, r1 8058cf2: 601a str r2, [r3, #0] 8058cf4: e06a b.n 8058dcc } else if(i == 3) 8058cf6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058cfa: 2b03 cmp r3, #3 8058cfc: d166 bne.n 8058dcc { OP4_PEAK_WR(0) = peakAVS[i]; 8058cfe: 4a2e ldr r2, [pc, #184] ; (8058db8 ) 8058d00: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058d04: 4927 ldr r1, [pc, #156] ; (8058da4 ) 8058d06: 009b lsls r3, r3, #2 8058d08: 440b add r3, r1 8058d0a: 681b ldr r3, [r3, #0] 8058d0c: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8058d0e: 4b27 ldr r3, [pc, #156] ; (8058dac ) 8058d10: 7b5b ldrb r3, [r3, #13] 8058d12: b2db uxtb r3, r3 8058d14: 461a mov r2, r3 8058d16: 4b26 ldr r3, [pc, #152] ; (8058db0 ) 8058d18: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058d1c: 4619 mov r1, r3 8058d1e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8058d22: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8058d26: 4824 ldr r0, [pc, #144] ; (8058db8 ) 8058d28: f075 fad8 bl 80ce2dc arm_max_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8058d2c: 4b1f ldr r3, [pc, #124] ; (8058dac ) 8058d2e: 7b5b ldrb r3, [r3, #13] 8058d30: b2db uxtb r3, r3 8058d32: 461a mov r2, r3 8058d34: 4b1e ldr r3, [pc, #120] ; (8058db0 ) 8058d36: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058d3a: 4618 mov r0, r3 8058d3c: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8058d40: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8058d44: 1d1a adds r2, r3, #4 8058d46: 460b mov r3, r1 8058d48: 4601 mov r1, r0 8058d4a: 481b ldr r0, [pc, #108] ; (8058db8 ) 8058d4c: f075 fb62 bl 80ce414 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8058d50: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058d54: eef5 7ac0 vcmpe.f32 s15, #0.0 8058d58: eef1 fa10 vmrs APSR_nzcv, fpscr 8058d5c: dd02 ble.n 8058d64 8058d5e: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8058d62: e003 b.n 8058d6c 8058d64: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8058d68: eeb1 7a67 vneg.f32 s14, s15 8058d6c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058d70: eef5 7ac0 vcmpe.f32 s15, #0.0 8058d74: eef1 fa10 vmrs APSR_nzcv, fpscr 8058d78: dd02 ble.n 8058d80 8058d7a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058d7e: e003 b.n 8058d88 8058d80: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8058d84: eef1 7a67 vneg.f32 s15, s15 8058d88: eeb4 7ae7 vcmpe.f32 s14, s15 8058d8c: eef1 fa10 vmrs APSR_nzcv, fpscr 8058d90: dd14 ble.n 8058dbc 8058d92: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058d96: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8058d9a: 4902 ldr r1, [pc, #8] ; (8058da4 ) 8058d9c: 009b lsls r3, r3, #2 8058d9e: 440b add r3, r1 8058da0: 601a str r2, [r3, #0] 8058da2: e013 b.n 8058dcc 8058da4: 20021d44 .word 0x20021d44 8058da8: 64051000 .word 0x64051000 8058dac: 20023ea8 .word 0x20023ea8 8058db0: 080f2e78 .word 0x080f2e78 8058db4: 64052000 .word 0x64052000 8058db8: 64053000 .word 0x64053000 else peakAVS[i] = fn[1]; 8058dbc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058dc0: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8058dc4: 49bc ldr r1, [pc, #752] ; (80590b8 ) 8058dc6: 009b lsls r3, r3, #2 8058dc8: 440b add r3, r1 8058dca: 601a str r2, [r3, #0] } operand[i] = peakAVS[i]; 8058dcc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058dd0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058dd4: 49b8 ldr r1, [pc, #736] ; (80590b8 ) 8058dd6: 0092 lsls r2, r2, #2 8058dd8: 440a add r2, r1 8058dda: 6812 ldr r2, [r2, #0] 8058ddc: 49b7 ldr r1, [pc, #732] ; (80590bc ) 8058dde: 009b lsls r3, r3, #2 8058de0: 440b add r3, r1 8058de2: 601a str r2, [r3, #0] peakAVS[i] = 0.0f; 8058de4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058de8: 4ab3 ldr r2, [pc, #716] ; (80590b8 ) 8058dea: 009b lsls r3, r3, #2 8058dec: 4413 add r3, r2 8058dee: f04f 0200 mov.w r2, #0 8058df2: 601a str r2, [r3, #0] break; 8058df4: bf00 nop for(i = 0; i < NUM_OPERANDS; i++) 8058df6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058dfa: 3301 adds r3, #1 8058dfc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058e00: 4baf ldr r3, [pc, #700] ; (80590c0 ) 8058e02: 781b ldrb r3, [r3, #0] 8058e04: b2db uxtb r3, r3 8058e06: 461a mov r2, r3 8058e08: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058e0c: 429a cmp r2, r3 8058e0e: f63f aacc bhi.w 80583aa } } if(MeanCnt >= (uint32_t) (AVG[pardata.AVG] * 8u)) 8058e12: 4bac ldr r3, [pc, #688] ; (80590c4 ) 8058e14: 7b5b ldrb r3, [r3, #13] 8058e16: b2db uxtb r3, r3 8058e18: 461a mov r2, r3 8058e1a: 4bab ldr r3, [pc, #684] ; (80590c8 ) 8058e1c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8058e20: 00da lsls r2, r3, #3 8058e22: 4baa ldr r3, [pc, #680] ; (80590cc ) 8058e24: 681b ldr r3, [r3, #0] 8058e26: 429a cmp r2, r3 8058e28: d816 bhi.n 8058e58 { MeanCnt = 0; 8058e2a: 4ba8 ldr r3, [pc, #672] ; (80590cc ) 8058e2c: 2200 movs r2, #0 8058e2e: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 4); 8058e30: 2104 movs r1, #4 8058e32: 48a7 ldr r0, [pc, #668] ; (80590d0 ) 8058e34: ed9f 0aa7 vldr s0, [pc, #668] ; 80590d4 8058e38: f075 f910 bl 80ce05c arm_fill_f32(0.0f, peakAVS, 4); 8058e3c: 2104 movs r1, #4 8058e3e: 489e ldr r0, [pc, #632] ; (80590b8 ) 8058e40: ed9f 0aa4 vldr s0, [pc, #656] ; 80590d4 8058e44: f075 f90a bl 80ce05c arm_fill_f32(0.0f, fval, 4); 8058e48: f107 03fc add.w r3, r7, #252 ; 0xfc 8058e4c: 2104 movs r1, #4 8058e4e: 4618 mov r0, r3 8058e50: ed9f 0aa0 vldr s0, [pc, #640] ; 80590d4 8058e54: f075 f902 bl 80ce05c } ///////////////////////////////////////////////////////////////////////////////////// //** (op1 |& op2) |& (op3 |& op4) TODO DIAGN CALC memset(t, 0, sizeof(t)); 8058e58: f507 73ee add.w r3, r7, #476 ; 0x1dc 8058e5c: 2204 movs r2, #4 8058e5e: 2100 movs r1, #0 8058e60: 4618 mov r0, r3 8058e62: f078 fa9d bl 80d13a0 memset(rez, 0, sizeof(rez)); 8058e66: f507 73ea add.w r3, r7, #468 ; 0x1d4 8058e6a: 2204 movs r2, #4 8058e6c: 2100 movs r1, #0 8058e6e: 4618 mov r0, r3 8058e70: f078 fa96 bl 80d13a0 zn[0] = pardata.DIAGN_OPER[CURR_POINT][0]; 8058e74: 4b98 ldr r3, [pc, #608] ; (80590d8 ) 8058e76: 781b ldrb r3, [r3, #0] 8058e78: b2db uxtb r3, r3 8058e7a: 4a92 ldr r2, [pc, #584] ; (80590c4 ) 8058e7c: 3386 adds r3, #134 ; 0x86 8058e7e: 009b lsls r3, r3, #2 8058e80: 4413 add r3, r2 8058e82: 791b ldrb r3, [r3, #4] 8058e84: b2db uxtb r3, r3 8058e86: f887 31d8 strb.w r3, [r7, #472] ; 0x1d8 zn[1] = pardata.DIAGN_OPER[CURR_POINT][1]; 8058e8a: 4b93 ldr r3, [pc, #588] ; (80590d8 ) 8058e8c: 781b ldrb r3, [r3, #0] 8058e8e: b2db uxtb r3, r3 8058e90: 4a8c ldr r2, [pc, #560] ; (80590c4 ) 8058e92: 009b lsls r3, r3, #2 8058e94: 4413 add r3, r2 8058e96: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 8058e9a: b2db uxtb r3, r3 8058e9c: f887 31d9 strb.w r3, [r7, #473] ; 0x1d9 //zn[2] = pardata.DIAGN_OPER[CURR_POINT][1]; if(pardata.IIN == VOLTS) 8058ea0: 4b88 ldr r3, [pc, #544] ; (80590c4 ) 8058ea2: 799b ldrb r3, [r3, #6] 8058ea4: b2db uxtb r3, r3 8058ea6: 2b02 cmp r3, #2 8058ea8: d159 bne.n 8058f5e { // ïåðåâîäèì âñå âåëè÷èíû â ì for(k = 0; k < NUM_OPERANDS; k++) 8058eaa: 2300 movs r3, #0 8058eac: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8058eb0: e04d b.n 8058f4e { if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_VEL) { 8058eb2: 4b89 ldr r3, [pc, #548] ; (80590d8 ) 8058eb4: 781b ldrb r3, [r3, #0] 8058eb6: b2db uxtb r3, r3 8058eb8: 461a mov r2, r3 8058eba: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058ebe: 4981 ldr r1, [pc, #516] ; (80590c4 ) 8058ec0: 0092 lsls r2, r2, #2 8058ec2: 440a add r2, r1 8058ec4: 4413 add r3, r2 8058ec6: f503 730f add.w r3, r3, #572 ; 0x23c 8058eca: 781b ldrb r3, [r3, #0] 8058ecc: b2db uxtb r3, r3 8058ece: f003 0307 and.w r3, r3, #7 8058ed2: 2b02 cmp r3, #2 8058ed4: d112 bne.n 8058efc operand[k] *= 0.001f; 8058ed6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058eda: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8058ede: 4977 ldr r1, [pc, #476] ; (80590bc ) 8058ee0: 0092 lsls r2, r2, #2 8058ee2: 440a add r2, r1 8058ee4: edd2 7a00 vldr s15, [r2] 8058ee8: ed9f 7a7c vldr s14, [pc, #496] ; 80590dc 8058eec: ee67 7a87 vmul.f32 s15, s15, s14 8058ef0: 4a72 ldr r2, [pc, #456] ; (80590bc ) 8058ef2: 009b lsls r3, r3, #2 8058ef4: 4413 add r3, r2 8058ef6: edc3 7a00 vstr s15, [r3] 8058efa: e023 b.n 8058f44 } else if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_DIS) { 8058efc: 4b76 ldr r3, [pc, #472] ; (80590d8 ) 8058efe: 781b ldrb r3, [r3, #0] 8058f00: b2db uxtb r3, r3 8058f02: 461a mov r2, r3 8058f04: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058f08: 496e ldr r1, [pc, #440] ; (80590c4 ) 8058f0a: 0092 lsls r2, r2, #2 8058f0c: 440a add r2, r1 8058f0e: 4413 add r3, r2 8058f10: f503 730f add.w r3, r3, #572 ; 0x23c 8058f14: 781b ldrb r3, [r3, #0] 8058f16: b2db uxtb r3, r3 8058f18: f003 0307 and.w r3, r3, #7 8058f1c: 2b04 cmp r3, #4 8058f1e: d111 bne.n 8058f44 operand[k] *= 0.000001f; 8058f20: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058f24: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8058f28: 4964 ldr r1, [pc, #400] ; (80590bc ) 8058f2a: 0092 lsls r2, r2, #2 8058f2c: 440a add r2, r1 8058f2e: edd2 7a00 vldr s15, [r2] 8058f32: ed9f 7a6b vldr s14, [pc, #428] ; 80590e0 8058f36: ee67 7a87 vmul.f32 s15, s15, s14 8058f3a: 4a60 ldr r2, [pc, #384] ; (80590bc ) 8058f3c: 009b lsls r3, r3, #2 8058f3e: 4413 add r3, r2 8058f40: edc3 7a00 vstr s15, [r3] for(k = 0; k < NUM_OPERANDS; k++) 8058f44: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058f48: 3301 adds r3, #1 8058f4a: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8058f4e: 4b5c ldr r3, [pc, #368] ; (80590c0 ) 8058f50: 781b ldrb r3, [r3, #0] 8058f52: b2db uxtb r3, r3 8058f54: 461a mov r2, r3 8058f56: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058f5a: 429a cmp r2, r3 8058f5c: d8a9 bhi.n 8058eb2 //======================================================== //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)) 8058f5e: 4b5e ldr r3, [pc, #376] ; (80590d8 ) 8058f60: 781b ldrb r3, [r3, #0] 8058f62: b2db uxtb r3, r3 8058f64: 4a57 ldr r2, [pc, #348] ; (80590c4 ) 8058f66: 338e adds r3, #142 ; 0x8e 8058f68: 009b lsls r3, r3, #2 8058f6a: 4413 add r3, r2 8058f6c: 791b ldrb r3, [r3, #4] 8058f6e: b2db uxtb r3, r3 8058f70: f003 0307 and.w r3, r3, #7 8058f74: 2b00 cmp r3, #0 8058f76: d11d bne.n 8058fb4 8058f78: 4b57 ldr r3, [pc, #348] ; (80590d8 ) 8058f7a: 781b ldrb r3, [r3, #0] 8058f7c: b2db uxtb r3, r3 8058f7e: 4a51 ldr r2, [pc, #324] ; (80590c4 ) 8058f80: 009b lsls r3, r3, #2 8058f82: 4413 add r3, r2 8058f84: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058f88: b2db uxtb r3, r3 8058f8a: f003 0307 and.w r3, r3, #7 8058f8e: 2b00 cmp r3, #0 8058f90: d110 bne.n 8058fb4 8058f92: 4b51 ldr r3, [pc, #324] ; (80590d8 ) 8058f94: 781b ldrb r3, [r3, #0] 8058f96: b2db uxtb r3, r3 8058f98: 4a4a ldr r2, [pc, #296] ; (80590c4 ) 8058f9a: 009b lsls r3, r3, #2 8058f9c: 4413 add r3, r2 8058f9e: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058fa2: b2db uxtb r3, r3 8058fa4: f003 0307 and.w r3, r3, #7 8058fa8: 2b00 cmp r3, #0 8058faa: d103 bne.n 8058fb4 { WARNING = false; 8058fac: 4b4d ldr r3, [pc, #308] ; (80590e4 ) 8058fae: 2200 movs r2, #0 8058fb0: 701a strb r2, [r3, #0] 8058fb2: e2d1 b.n 8059558 } 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)) 8058fb4: 4b48 ldr r3, [pc, #288] ; (80590d8 ) 8058fb6: 781b ldrb r3, [r3, #0] 8058fb8: b2db uxtb r3, r3 8058fba: 4a42 ldr r2, [pc, #264] ; (80590c4 ) 8058fbc: 338e adds r3, #142 ; 0x8e 8058fbe: 009b lsls r3, r3, #2 8058fc0: 4413 add r3, r2 8058fc2: 791b ldrb r3, [r3, #4] 8058fc4: b2db uxtb r3, r3 8058fc6: f003 0307 and.w r3, r3, #7 8058fca: 2b00 cmp r3, #0 8058fcc: d033 beq.n 8059036 8058fce: 4b42 ldr r3, [pc, #264] ; (80590d8 ) 8058fd0: 781b ldrb r3, [r3, #0] 8058fd2: b2db uxtb r3, r3 8058fd4: 4a3b ldr r2, [pc, #236] ; (80590c4 ) 8058fd6: 009b lsls r3, r3, #2 8058fd8: 4413 add r3, r2 8058fda: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058fde: b2db uxtb r3, r3 8058fe0: f003 0307 and.w r3, r3, #7 8058fe4: 2b00 cmp r3, #0 8058fe6: d126 bne.n 8059036 8058fe8: 4b3b ldr r3, [pc, #236] ; (80590d8 ) 8058fea: 781b ldrb r3, [r3, #0] 8058fec: b2db uxtb r3, r3 8058fee: 4a35 ldr r2, [pc, #212] ; (80590c4 ) 8058ff0: 009b lsls r3, r3, #2 8058ff2: 4413 add r3, r2 8058ff4: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058ff8: b2db uxtb r3, r3 8058ffa: f003 0307 and.w r3, r3, #7 8058ffe: 2b00 cmp r3, #0 8059000: d119 bne.n 8059036 { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 8059002: 4b2e ldr r3, [pc, #184] ; (80590bc ) 8059004: ed93 7a00 vldr s14, [r3] 8059008: 4b33 ldr r3, [pc, #204] ; (80590d8 ) 805900a: 781b ldrb r3, [r3, #0] 805900c: b2db uxtb r3, r3 805900e: 4a2d ldr r2, [pc, #180] ; (80590c4 ) 8059010: 011b lsls r3, r3, #4 8059012: 4413 add r3, r2 8059014: f503 7357 add.w r3, r3, #860 ; 0x35c 8059018: edd3 7a00 vldr s15, [r3] 805901c: eeb4 7ae7 vcmpe.f32 s14, s15 8059020: eef1 fa10 vmrs APSR_nzcv, fpscr 8059024: db03 blt.n 805902e WARNING = true; 8059026: 4b2f ldr r3, [pc, #188] ; (80590e4 ) 8059028: 2201 movs r2, #1 805902a: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 805902c: e294 b.n 8059558 } else WARNING = false; 805902e: 4b2d ldr r3, [pc, #180] ; (80590e4 ) 8059030: 2200 movs r2, #0 8059032: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 8059034: e290 b.n 8059558 } 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)) 8059036: 4b28 ldr r3, [pc, #160] ; (80590d8 ) 8059038: 781b ldrb r3, [r3, #0] 805903a: b2db uxtb r3, r3 805903c: 4a21 ldr r2, [pc, #132] ; (80590c4 ) 805903e: 338e adds r3, #142 ; 0x8e 8059040: 009b lsls r3, r3, #2 8059042: 4413 add r3, r2 8059044: 791b ldrb r3, [r3, #4] 8059046: b2db uxtb r3, r3 8059048: f003 0307 and.w r3, r3, #7 805904c: 2b00 cmp r3, #0 805904e: d14b bne.n 80590e8 8059050: 4b21 ldr r3, [pc, #132] ; (80590d8 ) 8059052: 781b ldrb r3, [r3, #0] 8059054: b2db uxtb r3, r3 8059056: 4a1b ldr r2, [pc, #108] ; (80590c4 ) 8059058: 009b lsls r3, r3, #2 805905a: 4413 add r3, r2 805905c: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8059060: b2db uxtb r3, r3 8059062: f003 0307 and.w r3, r3, #7 8059066: 2b00 cmp r3, #0 8059068: d03e beq.n 80590e8 805906a: 4b1b ldr r3, [pc, #108] ; (80590d8 ) 805906c: 781b ldrb r3, [r3, #0] 805906e: b2db uxtb r3, r3 8059070: 4a14 ldr r2, [pc, #80] ; (80590c4 ) 8059072: 009b lsls r3, r3, #2 8059074: 4413 add r3, r2 8059076: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805907a: b2db uxtb r3, r3 805907c: f003 0307 and.w r3, r3, #7 8059080: 2b00 cmp r3, #0 8059082: d131 bne.n 80590e8 { if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 8059084: 4b0d ldr r3, [pc, #52] ; (80590bc ) 8059086: ed93 7a01 vldr s14, [r3, #4] 805908a: 4b13 ldr r3, [pc, #76] ; (80590d8 ) 805908c: 781b ldrb r3, [r3, #0] 805908e: b2db uxtb r3, r3 8059090: 4a0c ldr r2, [pc, #48] ; (80590c4 ) 8059092: 011b lsls r3, r3, #4 8059094: 4413 add r3, r2 8059096: f503 7358 add.w r3, r3, #864 ; 0x360 805909a: edd3 7a00 vldr s15, [r3] 805909e: eeb4 7ae7 vcmpe.f32 s14, s15 80590a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80590a6: db03 blt.n 80590b0 WARNING = true; 80590a8: 4b0e ldr r3, [pc, #56] ; (80590e4 ) 80590aa: 2201 movs r2, #1 80590ac: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 80590ae: e253 b.n 8059558 } else WARNING = false; 80590b0: 4b0c ldr r3, [pc, #48] ; (80590e4 ) 80590b2: 2200 movs r2, #0 80590b4: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 80590b6: e24f b.n 8059558 80590b8: 20021d44 .word 0x20021d44 80590bc: 20026918 .word 0x20026918 80590c0: 20021056 .word 0x20021056 80590c4: 20023ea8 .word 0x20023ea8 80590c8: 080f2e78 .word 0x080f2e78 80590cc: 20020dd8 .word 0x20020dd8 80590d0: 20021d30 .word 0x20021d30 80590d4: 00000000 .word 0x00000000 80590d8: 20021055 .word 0x20021055 80590dc: 3a83126f .word 0x3a83126f 80590e0: 358637bd .word 0x358637bd 80590e4: 20021058 .word 0x20021058 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 80590e8: 4b91 ldr r3, [pc, #580] ; (8059330 ) 80590ea: 781b ldrb r3, [r3, #0] 80590ec: b2db uxtb r3, r3 80590ee: 4a91 ldr r2, [pc, #580] ; (8059334 ) 80590f0: 338e adds r3, #142 ; 0x8e 80590f2: 009b lsls r3, r3, #2 80590f4: 4413 add r3, r2 80590f6: 791b ldrb r3, [r3, #4] 80590f8: b2db uxtb r3, r3 80590fa: f003 0307 and.w r3, r3, #7 80590fe: 2b00 cmp r3, #0 8059100: d063 beq.n 80591ca 8059102: 4b8b ldr r3, [pc, #556] ; (8059330 ) 8059104: 781b ldrb r3, [r3, #0] 8059106: b2db uxtb r3, r3 8059108: 4a8a ldr r2, [pc, #552] ; (8059334 ) 805910a: 009b lsls r3, r3, #2 805910c: 4413 add r3, r2 805910e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8059112: b2db uxtb r3, r3 8059114: f003 0307 and.w r3, r3, #7 8059118: 2b00 cmp r3, #0 805911a: d056 beq.n 80591ca 805911c: 4b84 ldr r3, [pc, #528] ; (8059330 ) 805911e: 781b ldrb r3, [r3, #0] 8059120: b2db uxtb r3, r3 8059122: 4a84 ldr r2, [pc, #528] ; (8059334 ) 8059124: 009b lsls r3, r3, #2 8059126: 4413 add r3, r2 8059128: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805912c: b2db uxtb r3, r3 805912e: f003 0307 and.w r3, r3, #7 8059132: 2b00 cmp r3, #0 8059134: d149 bne.n 80591ca { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 8059136: 4b80 ldr r3, [pc, #512] ; (8059338 ) 8059138: ed93 7a00 vldr s14, [r3] 805913c: 4b7c ldr r3, [pc, #496] ; (8059330 ) 805913e: 781b ldrb r3, [r3, #0] 8059140: b2db uxtb r3, r3 8059142: 4a7c ldr r2, [pc, #496] ; (8059334 ) 8059144: 011b lsls r3, r3, #4 8059146: 4413 add r3, r2 8059148: f503 7357 add.w r3, r3, #860 ; 0x35c 805914c: edd3 7a00 vldr s15, [r3] 8059150: eeb4 7ae7 vcmpe.f32 s14, s15 8059154: eef1 fa10 vmrs APSR_nzcv, fpscr 8059158: db02 blt.n 8059160 t[Us1] = 1; 805915a: 2301 movs r3, #1 805915c: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 8059160: 4b75 ldr r3, [pc, #468] ; (8059338 ) 8059162: ed93 7a01 vldr s14, [r3, #4] 8059166: 4b72 ldr r3, [pc, #456] ; (8059330 ) 8059168: 781b ldrb r3, [r3, #0] 805916a: b2db uxtb r3, r3 805916c: 4a71 ldr r2, [pc, #452] ; (8059334 ) 805916e: 011b lsls r3, r3, #4 8059170: 4413 add r3, r2 8059172: f503 7358 add.w r3, r3, #864 ; 0x360 8059176: edd3 7a00 vldr s15, [r3] 805917a: eeb4 7ae7 vcmpe.f32 s14, s15 805917e: eef1 fa10 vmrs APSR_nzcv, fpscr 8059182: db02 blt.n 805918a t[Us2] = 1; 8059184: 2301 movs r3, #1 8059186: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(zn[0]) 805918a: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 805918e: 2b00 cmp r3, #0 8059190: d00d beq.n 80591ae WARNING = t[Us1] & t[Us2]; //and 8059192: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8059196: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 805919a: 4013 ands r3, r2 805919c: b2db uxtb r3, r3 805919e: 2b00 cmp r3, #0 80591a0: bf14 ite ne 80591a2: 2301 movne r3, #1 80591a4: 2300 moveq r3, #0 80591a6: b2da uxtb r2, r3 80591a8: 4b64 ldr r3, [pc, #400] ; (805933c ) 80591aa: 701a strb r2, [r3, #0] if(zn[0]) 80591ac: e1d4 b.n 8059558 else WARNING = t[Us1] | t[Us2]; //or 80591ae: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 80591b2: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 80591b6: 4313 orrs r3, r2 80591b8: b2db uxtb r3, r3 80591ba: 2b00 cmp r3, #0 80591bc: bf14 ite ne 80591be: 2301 movne r3, #1 80591c0: 2300 moveq r3, #0 80591c2: b2da uxtb r2, r3 80591c4: 4b5d ldr r3, [pc, #372] ; (805933c ) 80591c6: 701a strb r2, [r3, #0] if(zn[0]) 80591c8: e1c6 b.n 8059558 } 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))) 80591ca: 4b59 ldr r3, [pc, #356] ; (8059330 ) 80591cc: 781b ldrb r3, [r3, #0] 80591ce: b2db uxtb r3, r3 80591d0: 4a58 ldr r2, [pc, #352] ; (8059334 ) 80591d2: 338e adds r3, #142 ; 0x8e 80591d4: 009b lsls r3, r3, #2 80591d6: 4413 add r3, r2 80591d8: 791b ldrb r3, [r3, #4] 80591da: b2db uxtb r3, r3 80591dc: f003 0307 and.w r3, r3, #7 80591e0: 2b00 cmp r3, #0 80591e2: d133 bne.n 805924c 80591e4: 4b52 ldr r3, [pc, #328] ; (8059330 ) 80591e6: 781b ldrb r3, [r3, #0] 80591e8: b2db uxtb r3, r3 80591ea: 4a52 ldr r2, [pc, #328] ; (8059334 ) 80591ec: 009b lsls r3, r3, #2 80591ee: 4413 add r3, r2 80591f0: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80591f4: b2db uxtb r3, r3 80591f6: f003 0307 and.w r3, r3, #7 80591fa: 2b00 cmp r3, #0 80591fc: d126 bne.n 805924c 80591fe: 4b4c ldr r3, [pc, #304] ; (8059330 ) 8059200: 781b ldrb r3, [r3, #0] 8059202: b2db uxtb r3, r3 8059204: 4a4b ldr r2, [pc, #300] ; (8059334 ) 8059206: 009b lsls r3, r3, #2 8059208: 4413 add r3, r2 805920a: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805920e: b2db uxtb r3, r3 8059210: f003 0307 and.w r3, r3, #7 8059214: 2b00 cmp r3, #0 8059216: d019 beq.n 805924c { if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 8059218: 4b47 ldr r3, [pc, #284] ; (8059338 ) 805921a: ed93 7a02 vldr s14, [r3, #8] 805921e: 4b44 ldr r3, [pc, #272] ; (8059330 ) 8059220: 781b ldrb r3, [r3, #0] 8059222: b2db uxtb r3, r3 8059224: 4a43 ldr r2, [pc, #268] ; (8059334 ) 8059226: 3336 adds r3, #54 ; 0x36 8059228: 011b lsls r3, r3, #4 805922a: 4413 add r3, r2 805922c: 3304 adds r3, #4 805922e: edd3 7a00 vldr s15, [r3] 8059232: eeb4 7ae7 vcmpe.f32 s14, s15 8059236: eef1 fa10 vmrs APSR_nzcv, fpscr 805923a: db03 blt.n 8059244 WARNING = true; 805923c: 4b3f ldr r3, [pc, #252] ; (805933c ) 805923e: 2201 movs r2, #1 8059240: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 8059242: e189 b.n 8059558 } else WARNING = false; 8059244: 4b3d ldr r3, [pc, #244] ; (805933c ) 8059246: 2200 movs r2, #0 8059248: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 805924a: e185 b.n 8059558 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 805924c: 4b38 ldr r3, [pc, #224] ; (8059330 ) 805924e: 781b ldrb r3, [r3, #0] 8059250: b2db uxtb r3, r3 8059252: 4a38 ldr r2, [pc, #224] ; (8059334 ) 8059254: 338e adds r3, #142 ; 0x8e 8059256: 009b lsls r3, r3, #2 8059258: 4413 add r3, r2 805925a: 791b ldrb r3, [r3, #4] 805925c: b2db uxtb r3, r3 805925e: f003 0307 and.w r3, r3, #7 8059262: 2b00 cmp r3, #0 8059264: d06c beq.n 8059340 8059266: 4b32 ldr r3, [pc, #200] ; (8059330 ) 8059268: 781b ldrb r3, [r3, #0] 805926a: b2db uxtb r3, r3 805926c: 4a31 ldr r2, [pc, #196] ; (8059334 ) 805926e: 009b lsls r3, r3, #2 8059270: 4413 add r3, r2 8059272: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8059276: b2db uxtb r3, r3 8059278: f003 0307 and.w r3, r3, #7 805927c: 2b00 cmp r3, #0 805927e: d15f bne.n 8059340 8059280: 4b2b ldr r3, [pc, #172] ; (8059330 ) 8059282: 781b ldrb r3, [r3, #0] 8059284: b2db uxtb r3, r3 8059286: 4a2b ldr r2, [pc, #172] ; (8059334 ) 8059288: 009b lsls r3, r3, #2 805928a: 4413 add r3, r2 805928c: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8059290: b2db uxtb r3, r3 8059292: f003 0307 and.w r3, r3, #7 8059296: 2b00 cmp r3, #0 8059298: d052 beq.n 8059340 { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 805929a: 4b27 ldr r3, [pc, #156] ; (8059338 ) 805929c: ed93 7a00 vldr s14, [r3] 80592a0: 4b23 ldr r3, [pc, #140] ; (8059330 ) 80592a2: 781b ldrb r3, [r3, #0] 80592a4: b2db uxtb r3, r3 80592a6: 4a23 ldr r2, [pc, #140] ; (8059334 ) 80592a8: 011b lsls r3, r3, #4 80592aa: 4413 add r3, r2 80592ac: f503 7357 add.w r3, r3, #860 ; 0x35c 80592b0: edd3 7a00 vldr s15, [r3] 80592b4: eeb4 7ae7 vcmpe.f32 s14, s15 80592b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80592bc: db02 blt.n 80592c4 t[Us1] = 1; 80592be: 2301 movs r3, #1 80592c0: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 80592c4: 4b1c ldr r3, [pc, #112] ; (8059338 ) 80592c6: ed93 7a02 vldr s14, [r3, #8] 80592ca: 4b19 ldr r3, [pc, #100] ; (8059330 ) 80592cc: 781b ldrb r3, [r3, #0] 80592ce: b2db uxtb r3, r3 80592d0: 4a18 ldr r2, [pc, #96] ; (8059334 ) 80592d2: 3336 adds r3, #54 ; 0x36 80592d4: 011b lsls r3, r3, #4 80592d6: 4413 add r3, r2 80592d8: 3304 adds r3, #4 80592da: edd3 7a00 vldr s15, [r3] 80592de: eeb4 7ae7 vcmpe.f32 s14, s15 80592e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80592e6: db02 blt.n 80592ee t[Us3] = 1; 80592e8: 2301 movs r3, #1 80592ea: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 80592ee: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 80592f2: 2b00 cmp r3, #0 80592f4: d00d beq.n 8059312 WARNING = t[Us1] & t[Us3]; //and 80592f6: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 80592fa: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 80592fe: 4013 ands r3, r2 8059300: b2db uxtb r3, r3 8059302: 2b00 cmp r3, #0 8059304: bf14 ite ne 8059306: 2301 movne r3, #1 8059308: 2300 moveq r3, #0 805930a: b2da uxtb r2, r3 805930c: 4b0b ldr r3, [pc, #44] ; (805933c ) 805930e: 701a strb r2, [r3, #0] if(zn[1]) 8059310: e122 b.n 8059558 else WARNING = t[Us1] | t[Us3]; //or 8059312: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8059316: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805931a: 4313 orrs r3, r2 805931c: b2db uxtb r3, r3 805931e: 2b00 cmp r3, #0 8059320: bf14 ite ne 8059322: 2301 movne r3, #1 8059324: 2300 moveq r3, #0 8059326: b2da uxtb r2, r3 8059328: 4b04 ldr r3, [pc, #16] ; (805933c ) 805932a: 701a strb r2, [r3, #0] if(zn[1]) 805932c: e114 b.n 8059558 805932e: bf00 nop 8059330: 20021055 .word 0x20021055 8059334: 20023ea8 .word 0x20023ea8 8059338: 20026918 .word 0x20026918 805933c: 20021058 .word 0x20021058 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 8059340: 4ba2 ldr r3, [pc, #648] ; (80595cc ) 8059342: 781b ldrb r3, [r3, #0] 8059344: b2db uxtb r3, r3 8059346: 4aa2 ldr r2, [pc, #648] ; (80595d0 ) 8059348: 338e adds r3, #142 ; 0x8e 805934a: 009b lsls r3, r3, #2 805934c: 4413 add r3, r2 805934e: 791b ldrb r3, [r3, #4] 8059350: b2db uxtb r3, r3 8059352: f003 0307 and.w r3, r3, #7 8059356: 2b00 cmp r3, #0 8059358: d163 bne.n 8059422 805935a: 4b9c ldr r3, [pc, #624] ; (80595cc ) 805935c: 781b ldrb r3, [r3, #0] 805935e: b2db uxtb r3, r3 8059360: 4a9b ldr r2, [pc, #620] ; (80595d0 ) 8059362: 009b lsls r3, r3, #2 8059364: 4413 add r3, r2 8059366: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805936a: b2db uxtb r3, r3 805936c: f003 0307 and.w r3, r3, #7 8059370: 2b00 cmp r3, #0 8059372: d056 beq.n 8059422 8059374: 4b95 ldr r3, [pc, #596] ; (80595cc ) 8059376: 781b ldrb r3, [r3, #0] 8059378: b2db uxtb r3, r3 805937a: 4a95 ldr r2, [pc, #596] ; (80595d0 ) 805937c: 009b lsls r3, r3, #2 805937e: 4413 add r3, r2 8059380: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8059384: b2db uxtb r3, r3 8059386: f003 0307 and.w r3, r3, #7 805938a: 2b00 cmp r3, #0 805938c: d049 beq.n 8059422 { if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 805938e: 4b91 ldr r3, [pc, #580] ; (80595d4 ) 8059390: ed93 7a01 vldr s14, [r3, #4] 8059394: 4b8d ldr r3, [pc, #564] ; (80595cc ) 8059396: 781b ldrb r3, [r3, #0] 8059398: b2db uxtb r3, r3 805939a: 4a8d ldr r2, [pc, #564] ; (80595d0 ) 805939c: 011b lsls r3, r3, #4 805939e: 4413 add r3, r2 80593a0: f503 7358 add.w r3, r3, #864 ; 0x360 80593a4: edd3 7a00 vldr s15, [r3] 80593a8: eeb4 7ae7 vcmpe.f32 s14, s15 80593ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80593b0: db02 blt.n 80593b8 t[Us2] = 1; 80593b2: 2301 movs r3, #1 80593b4: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 80593b8: 4b86 ldr r3, [pc, #536] ; (80595d4 ) 80593ba: ed93 7a02 vldr s14, [r3, #8] 80593be: 4b83 ldr r3, [pc, #524] ; (80595cc ) 80593c0: 781b ldrb r3, [r3, #0] 80593c2: b2db uxtb r3, r3 80593c4: 4a82 ldr r2, [pc, #520] ; (80595d0 ) 80593c6: 3336 adds r3, #54 ; 0x36 80593c8: 011b lsls r3, r3, #4 80593ca: 4413 add r3, r2 80593cc: 3304 adds r3, #4 80593ce: edd3 7a00 vldr s15, [r3] 80593d2: eeb4 7ae7 vcmpe.f32 s14, s15 80593d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80593da: db02 blt.n 80593e2 t[Us3] = 1; 80593dc: 2301 movs r3, #1 80593de: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 80593e2: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 80593e6: 2b00 cmp r3, #0 80593e8: d00d beq.n 8059406 WARNING = t[Us2] & t[Us3]; //and 80593ea: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 80593ee: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 80593f2: 4013 ands r3, r2 80593f4: b2db uxtb r3, r3 80593f6: 2b00 cmp r3, #0 80593f8: bf14 ite ne 80593fa: 2301 movne r3, #1 80593fc: 2300 moveq r3, #0 80593fe: b2da uxtb r2, r3 8059400: 4b75 ldr r3, [pc, #468] ; (80595d8 ) 8059402: 701a strb r2, [r3, #0] if(zn[1]) 8059404: e0a8 b.n 8059558 else WARNING = t[Us2] | t[Us3]; //or 8059406: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 805940a: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805940e: 4313 orrs r3, r2 8059410: b2db uxtb r3, r3 8059412: 2b00 cmp r3, #0 8059414: bf14 ite ne 8059416: 2301 movne r3, #1 8059418: 2300 moveq r3, #0 805941a: b2da uxtb r2, r3 805941c: 4b6e ldr r3, [pc, #440] ; (80595d8 ) 805941e: 701a strb r2, [r3, #0] if(zn[1]) 8059420: e09a b.n 8059558 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 8059422: 4b6a ldr r3, [pc, #424] ; (80595cc ) 8059424: 781b ldrb r3, [r3, #0] 8059426: b2db uxtb r3, r3 8059428: 4a69 ldr r2, [pc, #420] ; (80595d0 ) 805942a: 338e adds r3, #142 ; 0x8e 805942c: 009b lsls r3, r3, #2 805942e: 4413 add r3, r2 8059430: 791b ldrb r3, [r3, #4] 8059432: b2db uxtb r3, r3 8059434: f003 0307 and.w r3, r3, #7 8059438: 2b00 cmp r3, #0 805943a: f000 808d beq.w 8059558 805943e: 4b63 ldr r3, [pc, #396] ; (80595cc ) 8059440: 781b ldrb r3, [r3, #0] 8059442: b2db uxtb r3, r3 8059444: 4a62 ldr r2, [pc, #392] ; (80595d0 ) 8059446: 009b lsls r3, r3, #2 8059448: 4413 add r3, r2 805944a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805944e: b2db uxtb r3, r3 8059450: f003 0307 and.w r3, r3, #7 8059454: 2b00 cmp r3, #0 8059456: d07f beq.n 8059558 8059458: 4b5c ldr r3, [pc, #368] ; (80595cc ) 805945a: 781b ldrb r3, [r3, #0] 805945c: b2db uxtb r3, r3 805945e: 4a5c ldr r2, [pc, #368] ; (80595d0 ) 8059460: 009b lsls r3, r3, #2 8059462: 4413 add r3, r2 8059464: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8059468: b2db uxtb r3, r3 805946a: f003 0307 and.w r3, r3, #7 805946e: 2b00 cmp r3, #0 8059470: d072 beq.n 8059558 { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 8059472: 4b58 ldr r3, [pc, #352] ; (80595d4 ) 8059474: ed93 7a00 vldr s14, [r3] 8059478: 4b54 ldr r3, [pc, #336] ; (80595cc ) 805947a: 781b ldrb r3, [r3, #0] 805947c: b2db uxtb r3, r3 805947e: 4a54 ldr r2, [pc, #336] ; (80595d0 ) 8059480: 011b lsls r3, r3, #4 8059482: 4413 add r3, r2 8059484: f503 7357 add.w r3, r3, #860 ; 0x35c 8059488: edd3 7a00 vldr s15, [r3] 805948c: eeb4 7ae7 vcmpe.f32 s14, s15 8059490: eef1 fa10 vmrs APSR_nzcv, fpscr 8059494: db02 blt.n 805949c t[Us1] = 1; 8059496: 2301 movs r3, #1 8059498: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 805949c: 4b4d ldr r3, [pc, #308] ; (80595d4 ) 805949e: ed93 7a01 vldr s14, [r3, #4] 80594a2: 4b4a ldr r3, [pc, #296] ; (80595cc ) 80594a4: 781b ldrb r3, [r3, #0] 80594a6: b2db uxtb r3, r3 80594a8: 4a49 ldr r2, [pc, #292] ; (80595d0 ) 80594aa: 011b lsls r3, r3, #4 80594ac: 4413 add r3, r2 80594ae: f503 7358 add.w r3, r3, #864 ; 0x360 80594b2: edd3 7a00 vldr s15, [r3] 80594b6: eeb4 7ae7 vcmpe.f32 s14, s15 80594ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80594be: db02 blt.n 80594c6 t[Us2] = 1; 80594c0: 2301 movs r3, #1 80594c2: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 80594c6: 4b43 ldr r3, [pc, #268] ; (80595d4 ) 80594c8: ed93 7a02 vldr s14, [r3, #8] 80594cc: 4b3f ldr r3, [pc, #252] ; (80595cc ) 80594ce: 781b ldrb r3, [r3, #0] 80594d0: b2db uxtb r3, r3 80594d2: 4a3f ldr r2, [pc, #252] ; (80595d0 ) 80594d4: 3336 adds r3, #54 ; 0x36 80594d6: 011b lsls r3, r3, #4 80594d8: 4413 add r3, r2 80594da: 3304 adds r3, #4 80594dc: edd3 7a00 vldr s15, [r3] 80594e0: eeb4 7ae7 vcmpe.f32 s14, s15 80594e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80594e8: db02 blt.n 80594f0 t[Us3] = 1; 80594ea: 2301 movs r3, #1 80594ec: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[0]) 80594f0: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 80594f4: 2b00 cmp r3, #0 80594f6: d008 beq.n 805950a rez[0] = t[Us1] & t[Us2]; //and 80594f8: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 80594fc: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8059500: 4013 ands r3, r2 8059502: b2db uxtb r3, r3 8059504: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 8059508: e007 b.n 805951a else rez[0] = t[Us1] | t[Us2]; //or 805950a: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805950e: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8059512: 4313 orrs r3, r2 8059514: b2db uxtb r3, r3 8059516: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 if(zn[1]) 805951a: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 805951e: 2b00 cmp r3, #0 8059520: d00d beq.n 805953e WARNING = rez[0] & t[Us3]; //and 8059522: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 8059526: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805952a: 4013 ands r3, r2 805952c: b2db uxtb r3, r3 805952e: 2b00 cmp r3, #0 8059530: bf14 ite ne 8059532: 2301 movne r3, #1 8059534: 2300 moveq r3, #0 8059536: b2da uxtb r2, r3 8059538: 4b27 ldr r3, [pc, #156] ; (80595d8 ) 805953a: 701a strb r2, [r3, #0] 805953c: e00c b.n 8059558 else WARNING = rez[0] | t[Us3]; //or 805953e: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 8059542: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8059546: 4313 orrs r3, r2 8059548: b2db uxtb r3, r3 805954a: 2b00 cmp r3, #0 805954c: bf14 ite ne 805954e: 2301 movne r3, #1 8059550: 2300 moveq r3, #0 8059552: b2da uxtb r2, r3 8059554: 4b20 ldr r3, [pc, #128] ; (80595d8 ) 8059556: 701a strb r2, [r3, #0] //*************************************************************************** //*************************************************************************** //======================================================== //CRASH memset(t, 0, sizeof(t)); 8059558: f507 73ee add.w r3, r7, #476 ; 0x1dc 805955c: 2204 movs r2, #4 805955e: 2100 movs r1, #0 8059560: 4618 mov r0, r3 8059562: f077 ff1d bl 80d13a0 memset(rez, 0, sizeof(rez)); 8059566: f507 73ea add.w r3, r7, #468 ; 0x1d4 805956a: 2204 movs r2, #4 805956c: 2100 movs r1, #0 805956e: 4618 mov r0, r3 8059570: f077 ff16 bl 80d13a0 ///////////////// 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)) 8059574: 4b15 ldr r3, [pc, #84] ; (80595cc ) 8059576: 781b ldrb r3, [r3, #0] 8059578: b2db uxtb r3, r3 805957a: 4a15 ldr r2, [pc, #84] ; (80595d0 ) 805957c: 338e adds r3, #142 ; 0x8e 805957e: 009b lsls r3, r3, #2 8059580: 4413 add r3, r2 8059582: 791b ldrb r3, [r3, #4] 8059584: b2db uxtb r3, r3 8059586: f003 0307 and.w r3, r3, #7 805958a: 2b00 cmp r3, #0 805958c: d128 bne.n 80595e0 805958e: 4b0f ldr r3, [pc, #60] ; (80595cc ) 8059590: 781b ldrb r3, [r3, #0] 8059592: b2db uxtb r3, r3 8059594: 4a0e ldr r2, [pc, #56] ; (80595d0 ) 8059596: 009b lsls r3, r3, #2 8059598: 4413 add r3, r2 805959a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805959e: b2db uxtb r3, r3 80595a0: f003 0307 and.w r3, r3, #7 80595a4: 2b00 cmp r3, #0 80595a6: d11b bne.n 80595e0 80595a8: 4b08 ldr r3, [pc, #32] ; (80595cc ) 80595aa: 781b ldrb r3, [r3, #0] 80595ac: b2db uxtb r3, r3 80595ae: 4a08 ldr r2, [pc, #32] ; (80595d0 ) 80595b0: 009b lsls r3, r3, #2 80595b2: 4413 add r3, r2 80595b4: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 80595b8: b2db uxtb r3, r3 80595ba: f003 0307 and.w r3, r3, #7 80595be: 2b00 cmp r3, #0 80595c0: d10e bne.n 80595e0 { ALARM = false; 80595c2: 4b06 ldr r3, [pc, #24] ; (80595dc ) 80595c4: 2200 movs r2, #0 80595c6: 701a strb r2, [r3, #0] 80595c8: e2cd b.n 8059b66 80595ca: bf00 nop 80595cc: 20021055 .word 0x20021055 80595d0: 20023ea8 .word 0x20023ea8 80595d4: 20026918 .word 0x20026918 80595d8: 20021058 .word 0x20021058 80595dc: 20021059 .word 0x20021059 } 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)) 80595e0: 4b99 ldr r3, [pc, #612] ; (8059848 ) 80595e2: 781b ldrb r3, [r3, #0] 80595e4: b2db uxtb r3, r3 80595e6: 4a99 ldr r2, [pc, #612] ; (805984c ) 80595e8: 338e adds r3, #142 ; 0x8e 80595ea: 009b lsls r3, r3, #2 80595ec: 4413 add r3, r2 80595ee: 791b ldrb r3, [r3, #4] 80595f0: b2db uxtb r3, r3 80595f2: f003 0307 and.w r3, r3, #7 80595f6: 2b00 cmp r3, #0 80595f8: d033 beq.n 8059662 80595fa: 4b93 ldr r3, [pc, #588] ; (8059848 ) 80595fc: 781b ldrb r3, [r3, #0] 80595fe: b2db uxtb r3, r3 8059600: 4a92 ldr r2, [pc, #584] ; (805984c ) 8059602: 009b lsls r3, r3, #2 8059604: 4413 add r3, r2 8059606: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805960a: b2db uxtb r3, r3 805960c: f003 0307 and.w r3, r3, #7 8059610: 2b00 cmp r3, #0 8059612: d126 bne.n 8059662 8059614: 4b8c ldr r3, [pc, #560] ; (8059848 ) 8059616: 781b ldrb r3, [r3, #0] 8059618: b2db uxtb r3, r3 805961a: 4a8c ldr r2, [pc, #560] ; (805984c ) 805961c: 009b lsls r3, r3, #2 805961e: 4413 add r3, r2 8059620: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8059624: b2db uxtb r3, r3 8059626: f003 0307 and.w r3, r3, #7 805962a: 2b00 cmp r3, #0 805962c: d119 bne.n 8059662 { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 805962e: 4b88 ldr r3, [pc, #544] ; (8059850 ) 8059630: ed93 7a00 vldr s14, [r3] 8059634: 4b84 ldr r3, [pc, #528] ; (8059848 ) 8059636: 781b ldrb r3, [r3, #0] 8059638: b2db uxtb r3, r3 805963a: 4a84 ldr r2, [pc, #528] ; (805984c ) 805963c: 011b lsls r3, r3, #4 805963e: 4413 add r3, r2 8059640: f503 7377 add.w r3, r3, #988 ; 0x3dc 8059644: edd3 7a00 vldr s15, [r3] 8059648: eeb4 7ae7 vcmpe.f32 s14, s15 805964c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059650: db03 blt.n 805965a ALARM = true; 8059652: 4b80 ldr r3, [pc, #512] ; (8059854 ) 8059654: 2201 movs r2, #1 8059656: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 8059658: e285 b.n 8059b66 } else ALARM = false; 805965a: 4b7e ldr r3, [pc, #504] ; (8059854 ) 805965c: 2200 movs r2, #0 805965e: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 8059660: e281 b.n 8059b66 } 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)) 8059662: 4b79 ldr r3, [pc, #484] ; (8059848 ) 8059664: 781b ldrb r3, [r3, #0] 8059666: b2db uxtb r3, r3 8059668: 4a78 ldr r2, [pc, #480] ; (805984c ) 805966a: 338e adds r3, #142 ; 0x8e 805966c: 009b lsls r3, r3, #2 805966e: 4413 add r3, r2 8059670: 791b ldrb r3, [r3, #4] 8059672: b2db uxtb r3, r3 8059674: f003 0307 and.w r3, r3, #7 8059678: 2b00 cmp r3, #0 805967a: d133 bne.n 80596e4 805967c: 4b72 ldr r3, [pc, #456] ; (8059848 ) 805967e: 781b ldrb r3, [r3, #0] 8059680: b2db uxtb r3, r3 8059682: 4a72 ldr r2, [pc, #456] ; (805984c ) 8059684: 009b lsls r3, r3, #2 8059686: 4413 add r3, r2 8059688: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805968c: b2db uxtb r3, r3 805968e: f003 0307 and.w r3, r3, #7 8059692: 2b00 cmp r3, #0 8059694: d026 beq.n 80596e4 8059696: 4b6c ldr r3, [pc, #432] ; (8059848 ) 8059698: 781b ldrb r3, [r3, #0] 805969a: b2db uxtb r3, r3 805969c: 4a6b ldr r2, [pc, #428] ; (805984c ) 805969e: 009b lsls r3, r3, #2 80596a0: 4413 add r3, r2 80596a2: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 80596a6: b2db uxtb r3, r3 80596a8: f003 0307 and.w r3, r3, #7 80596ac: 2b00 cmp r3, #0 80596ae: d119 bne.n 80596e4 { if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 80596b0: 4b67 ldr r3, [pc, #412] ; (8059850 ) 80596b2: ed93 7a01 vldr s14, [r3, #4] 80596b6: 4b64 ldr r3, [pc, #400] ; (8059848 ) 80596b8: 781b ldrb r3, [r3, #0] 80596ba: b2db uxtb r3, r3 80596bc: 4a63 ldr r2, [pc, #396] ; (805984c ) 80596be: 011b lsls r3, r3, #4 80596c0: 4413 add r3, r2 80596c2: f503 7378 add.w r3, r3, #992 ; 0x3e0 80596c6: edd3 7a00 vldr s15, [r3] 80596ca: eeb4 7ae7 vcmpe.f32 s14, s15 80596ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80596d2: db03 blt.n 80596dc ALARM = true; 80596d4: 4b5f ldr r3, [pc, #380] ; (8059854 ) 80596d6: 2201 movs r2, #1 80596d8: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 80596da: e244 b.n 8059b66 } else ALARM = false; 80596dc: 4b5d ldr r3, [pc, #372] ; (8059854 ) 80596de: 2200 movs r2, #0 80596e0: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 80596e2: e240 b.n 8059b66 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 80596e4: 4b58 ldr r3, [pc, #352] ; (8059848 ) 80596e6: 781b ldrb r3, [r3, #0] 80596e8: b2db uxtb r3, r3 80596ea: 4a58 ldr r2, [pc, #352] ; (805984c ) 80596ec: 338e adds r3, #142 ; 0x8e 80596ee: 009b lsls r3, r3, #2 80596f0: 4413 add r3, r2 80596f2: 791b ldrb r3, [r3, #4] 80596f4: b2db uxtb r3, r3 80596f6: f003 0307 and.w r3, r3, #7 80596fa: 2b00 cmp r3, #0 80596fc: d063 beq.n 80597c6 80596fe: 4b52 ldr r3, [pc, #328] ; (8059848 ) 8059700: 781b ldrb r3, [r3, #0] 8059702: b2db uxtb r3, r3 8059704: 4a51 ldr r2, [pc, #324] ; (805984c ) 8059706: 009b lsls r3, r3, #2 8059708: 4413 add r3, r2 805970a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805970e: b2db uxtb r3, r3 8059710: f003 0307 and.w r3, r3, #7 8059714: 2b00 cmp r3, #0 8059716: d056 beq.n 80597c6 8059718: 4b4b ldr r3, [pc, #300] ; (8059848 ) 805971a: 781b ldrb r3, [r3, #0] 805971c: b2db uxtb r3, r3 805971e: 4a4b ldr r2, [pc, #300] ; (805984c ) 8059720: 009b lsls r3, r3, #2 8059722: 4413 add r3, r2 8059724: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8059728: b2db uxtb r3, r3 805972a: f003 0307 and.w r3, r3, #7 805972e: 2b00 cmp r3, #0 8059730: d149 bne.n 80597c6 { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 8059732: 4b47 ldr r3, [pc, #284] ; (8059850 ) 8059734: ed93 7a00 vldr s14, [r3] 8059738: 4b43 ldr r3, [pc, #268] ; (8059848 ) 805973a: 781b ldrb r3, [r3, #0] 805973c: b2db uxtb r3, r3 805973e: 4a43 ldr r2, [pc, #268] ; (805984c ) 8059740: 011b lsls r3, r3, #4 8059742: 4413 add r3, r2 8059744: f503 7377 add.w r3, r3, #988 ; 0x3dc 8059748: edd3 7a00 vldr s15, [r3] 805974c: eeb4 7ae7 vcmpe.f32 s14, s15 8059750: eef1 fa10 vmrs APSR_nzcv, fpscr 8059754: db02 blt.n 805975c t[Us1] = 1; 8059756: 2301 movs r3, #1 8059758: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 805975c: 4b3c ldr r3, [pc, #240] ; (8059850 ) 805975e: ed93 7a01 vldr s14, [r3, #4] 8059762: 4b39 ldr r3, [pc, #228] ; (8059848 ) 8059764: 781b ldrb r3, [r3, #0] 8059766: b2db uxtb r3, r3 8059768: 4a38 ldr r2, [pc, #224] ; (805984c ) 805976a: 011b lsls r3, r3, #4 805976c: 4413 add r3, r2 805976e: f503 7378 add.w r3, r3, #992 ; 0x3e0 8059772: edd3 7a00 vldr s15, [r3] 8059776: eeb4 7ae7 vcmpe.f32 s14, s15 805977a: eef1 fa10 vmrs APSR_nzcv, fpscr 805977e: db02 blt.n 8059786 t[Us2] = 1; 8059780: 2301 movs r3, #1 8059782: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(zn[0]) 8059786: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 805978a: 2b00 cmp r3, #0 805978c: d00d beq.n 80597aa ALARM = t[Us1] & t[Us2]; //and 805978e: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8059792: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8059796: 4013 ands r3, r2 8059798: b2db uxtb r3, r3 805979a: 2b00 cmp r3, #0 805979c: bf14 ite ne 805979e: 2301 movne r3, #1 80597a0: 2300 moveq r3, #0 80597a2: b2da uxtb r2, r3 80597a4: 4b2b ldr r3, [pc, #172] ; (8059854 ) 80597a6: 701a strb r2, [r3, #0] if(zn[0]) 80597a8: e1dd b.n 8059b66 else ALARM = t[Us1] | t[Us2]; //or 80597aa: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 80597ae: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 80597b2: 4313 orrs r3, r2 80597b4: b2db uxtb r3, r3 80597b6: 2b00 cmp r3, #0 80597b8: bf14 ite ne 80597ba: 2301 movne r3, #1 80597bc: 2300 moveq r3, #0 80597be: b2da uxtb r2, r3 80597c0: 4b24 ldr r3, [pc, #144] ; (8059854 ) 80597c2: 701a strb r2, [r3, #0] if(zn[0]) 80597c4: e1cf b.n 8059b66 } 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))) 80597c6: 4b20 ldr r3, [pc, #128] ; (8059848 ) 80597c8: 781b ldrb r3, [r3, #0] 80597ca: b2db uxtb r3, r3 80597cc: 4a1f ldr r2, [pc, #124] ; (805984c ) 80597ce: 338e adds r3, #142 ; 0x8e 80597d0: 009b lsls r3, r3, #2 80597d2: 4413 add r3, r2 80597d4: 791b ldrb r3, [r3, #4] 80597d6: b2db uxtb r3, r3 80597d8: f003 0307 and.w r3, r3, #7 80597dc: 2b00 cmp r3, #0 80597de: d13b bne.n 8059858 80597e0: 4b19 ldr r3, [pc, #100] ; (8059848 ) 80597e2: 781b ldrb r3, [r3, #0] 80597e4: b2db uxtb r3, r3 80597e6: 4a19 ldr r2, [pc, #100] ; (805984c ) 80597e8: 009b lsls r3, r3, #2 80597ea: 4413 add r3, r2 80597ec: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80597f0: b2db uxtb r3, r3 80597f2: f003 0307 and.w r3, r3, #7 80597f6: 2b00 cmp r3, #0 80597f8: d12e bne.n 8059858 80597fa: 4b13 ldr r3, [pc, #76] ; (8059848 ) 80597fc: 781b ldrb r3, [r3, #0] 80597fe: b2db uxtb r3, r3 8059800: 4a12 ldr r2, [pc, #72] ; (805984c ) 8059802: 009b lsls r3, r3, #2 8059804: 4413 add r3, r2 8059806: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805980a: b2db uxtb r3, r3 805980c: f003 0307 and.w r3, r3, #7 8059810: 2b00 cmp r3, #0 8059812: d021 beq.n 8059858 { if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 8059814: 4b0e ldr r3, [pc, #56] ; (8059850 ) 8059816: ed93 7a02 vldr s14, [r3, #8] 805981a: 4b0b ldr r3, [pc, #44] ; (8059848 ) 805981c: 781b ldrb r3, [r3, #0] 805981e: b2db uxtb r3, r3 8059820: 4a0a ldr r2, [pc, #40] ; (805984c ) 8059822: 333e adds r3, #62 ; 0x3e 8059824: 011b lsls r3, r3, #4 8059826: 4413 add r3, r2 8059828: 3304 adds r3, #4 805982a: edd3 7a00 vldr s15, [r3] 805982e: eeb4 7ae7 vcmpe.f32 s14, s15 8059832: eef1 fa10 vmrs APSR_nzcv, fpscr 8059836: db03 blt.n 8059840 ALARM = true; 8059838: 4b06 ldr r3, [pc, #24] ; (8059854 ) 805983a: 2201 movs r2, #1 805983c: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 805983e: e192 b.n 8059b66 } else ALARM = false; 8059840: 4b04 ldr r3, [pc, #16] ; (8059854 ) 8059842: 2200 movs r2, #0 8059844: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 8059846: e18e b.n 8059b66 8059848: 20021055 .word 0x20021055 805984c: 20023ea8 .word 0x20023ea8 8059850: 20026918 .word 0x20026918 8059854: 20021059 .word 0x20021059 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 8059858: 4bb8 ldr r3, [pc, #736] ; (8059b3c ) 805985a: 781b ldrb r3, [r3, #0] 805985c: b2db uxtb r3, r3 805985e: 4ab8 ldr r2, [pc, #736] ; (8059b40 ) 8059860: 338e adds r3, #142 ; 0x8e 8059862: 009b lsls r3, r3, #2 8059864: 4413 add r3, r2 8059866: 791b ldrb r3, [r3, #4] 8059868: b2db uxtb r3, r3 805986a: f003 0307 and.w r3, r3, #7 805986e: 2b00 cmp r3, #0 8059870: d063 beq.n 805993a 8059872: 4bb2 ldr r3, [pc, #712] ; (8059b3c ) 8059874: 781b ldrb r3, [r3, #0] 8059876: b2db uxtb r3, r3 8059878: 4ab1 ldr r2, [pc, #708] ; (8059b40 ) 805987a: 009b lsls r3, r3, #2 805987c: 4413 add r3, r2 805987e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8059882: b2db uxtb r3, r3 8059884: f003 0307 and.w r3, r3, #7 8059888: 2b00 cmp r3, #0 805988a: d156 bne.n 805993a 805988c: 4bab ldr r3, [pc, #684] ; (8059b3c ) 805988e: 781b ldrb r3, [r3, #0] 8059890: b2db uxtb r3, r3 8059892: 4aab ldr r2, [pc, #684] ; (8059b40 ) 8059894: 009b lsls r3, r3, #2 8059896: 4413 add r3, r2 8059898: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805989c: b2db uxtb r3, r3 805989e: f003 0307 and.w r3, r3, #7 80598a2: 2b00 cmp r3, #0 80598a4: d049 beq.n 805993a { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 80598a6: 4ba7 ldr r3, [pc, #668] ; (8059b44 ) 80598a8: ed93 7a00 vldr s14, [r3] 80598ac: 4ba3 ldr r3, [pc, #652] ; (8059b3c ) 80598ae: 781b ldrb r3, [r3, #0] 80598b0: b2db uxtb r3, r3 80598b2: 4aa3 ldr r2, [pc, #652] ; (8059b40 ) 80598b4: 011b lsls r3, r3, #4 80598b6: 4413 add r3, r2 80598b8: f503 7377 add.w r3, r3, #988 ; 0x3dc 80598bc: edd3 7a00 vldr s15, [r3] 80598c0: eeb4 7ae7 vcmpe.f32 s14, s15 80598c4: eef1 fa10 vmrs APSR_nzcv, fpscr 80598c8: db02 blt.n 80598d0 t[Us1] = 1; 80598ca: 2301 movs r3, #1 80598cc: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 80598d0: 4b9c ldr r3, [pc, #624] ; (8059b44 ) 80598d2: ed93 7a02 vldr s14, [r3, #8] 80598d6: 4b99 ldr r3, [pc, #612] ; (8059b3c ) 80598d8: 781b ldrb r3, [r3, #0] 80598da: b2db uxtb r3, r3 80598dc: 4a98 ldr r2, [pc, #608] ; (8059b40 ) 80598de: 333e adds r3, #62 ; 0x3e 80598e0: 011b lsls r3, r3, #4 80598e2: 4413 add r3, r2 80598e4: 3304 adds r3, #4 80598e6: edd3 7a00 vldr s15, [r3] 80598ea: eeb4 7ae7 vcmpe.f32 s14, s15 80598ee: eef1 fa10 vmrs APSR_nzcv, fpscr 80598f2: db02 blt.n 80598fa t[Us3] = 1; 80598f4: 2301 movs r3, #1 80598f6: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 80598fa: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 80598fe: 2b00 cmp r3, #0 8059900: d00d beq.n 805991e ALARM = t[Us1] & t[Us3]; //and 8059902: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8059906: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805990a: 4013 ands r3, r2 805990c: b2db uxtb r3, r3 805990e: 2b00 cmp r3, #0 8059910: bf14 ite ne 8059912: 2301 movne r3, #1 8059914: 2300 moveq r3, #0 8059916: b2da uxtb r2, r3 8059918: 4b8b ldr r3, [pc, #556] ; (8059b48 ) 805991a: 701a strb r2, [r3, #0] if(zn[1]) 805991c: e123 b.n 8059b66 else ALARM = t[Us1] | t[Us3]; //or 805991e: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8059922: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8059926: 4313 orrs r3, r2 8059928: b2db uxtb r3, r3 805992a: 2b00 cmp r3, #0 805992c: bf14 ite ne 805992e: 2301 movne r3, #1 8059930: 2300 moveq r3, #0 8059932: b2da uxtb r2, r3 8059934: 4b84 ldr r3, [pc, #528] ; (8059b48 ) 8059936: 701a strb r2, [r3, #0] if(zn[1]) 8059938: e115 b.n 8059b66 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 805993a: 4b80 ldr r3, [pc, #512] ; (8059b3c ) 805993c: 781b ldrb r3, [r3, #0] 805993e: b2db uxtb r3, r3 8059940: 4a7f ldr r2, [pc, #508] ; (8059b40 ) 8059942: 338e adds r3, #142 ; 0x8e 8059944: 009b lsls r3, r3, #2 8059946: 4413 add r3, r2 8059948: 791b ldrb r3, [r3, #4] 805994a: b2db uxtb r3, r3 805994c: f003 0307 and.w r3, r3, #7 8059950: 2b00 cmp r3, #0 8059952: d163 bne.n 8059a1c 8059954: 4b79 ldr r3, [pc, #484] ; (8059b3c ) 8059956: 781b ldrb r3, [r3, #0] 8059958: b2db uxtb r3, r3 805995a: 4a79 ldr r2, [pc, #484] ; (8059b40 ) 805995c: 009b lsls r3, r3, #2 805995e: 4413 add r3, r2 8059960: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8059964: b2db uxtb r3, r3 8059966: f003 0307 and.w r3, r3, #7 805996a: 2b00 cmp r3, #0 805996c: d056 beq.n 8059a1c 805996e: 4b73 ldr r3, [pc, #460] ; (8059b3c ) 8059970: 781b ldrb r3, [r3, #0] 8059972: b2db uxtb r3, r3 8059974: 4a72 ldr r2, [pc, #456] ; (8059b40 ) 8059976: 009b lsls r3, r3, #2 8059978: 4413 add r3, r2 805997a: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805997e: b2db uxtb r3, r3 8059980: f003 0307 and.w r3, r3, #7 8059984: 2b00 cmp r3, #0 8059986: d049 beq.n 8059a1c { if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 8059988: 4b6e ldr r3, [pc, #440] ; (8059b44 ) 805998a: ed93 7a01 vldr s14, [r3, #4] 805998e: 4b6b ldr r3, [pc, #428] ; (8059b3c ) 8059990: 781b ldrb r3, [r3, #0] 8059992: b2db uxtb r3, r3 8059994: 4a6a ldr r2, [pc, #424] ; (8059b40 ) 8059996: 011b lsls r3, r3, #4 8059998: 4413 add r3, r2 805999a: f503 7378 add.w r3, r3, #992 ; 0x3e0 805999e: edd3 7a00 vldr s15, [r3] 80599a2: eeb4 7ae7 vcmpe.f32 s14, s15 80599a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80599aa: db02 blt.n 80599b2 t[Us2] = 1; 80599ac: 2301 movs r3, #1 80599ae: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 80599b2: 4b64 ldr r3, [pc, #400] ; (8059b44 ) 80599b4: ed93 7a02 vldr s14, [r3, #8] 80599b8: 4b60 ldr r3, [pc, #384] ; (8059b3c ) 80599ba: 781b ldrb r3, [r3, #0] 80599bc: b2db uxtb r3, r3 80599be: 4a60 ldr r2, [pc, #384] ; (8059b40 ) 80599c0: 333e adds r3, #62 ; 0x3e 80599c2: 011b lsls r3, r3, #4 80599c4: 4413 add r3, r2 80599c6: 3304 adds r3, #4 80599c8: edd3 7a00 vldr s15, [r3] 80599cc: eeb4 7ae7 vcmpe.f32 s14, s15 80599d0: eef1 fa10 vmrs APSR_nzcv, fpscr 80599d4: db02 blt.n 80599dc t[Us3] = 1; 80599d6: 2301 movs r3, #1 80599d8: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 80599dc: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 80599e0: 2b00 cmp r3, #0 80599e2: d00d beq.n 8059a00 ALARM = t[Us2] & t[Us3]; //and 80599e4: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 80599e8: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 80599ec: 4013 ands r3, r2 80599ee: b2db uxtb r3, r3 80599f0: 2b00 cmp r3, #0 80599f2: bf14 ite ne 80599f4: 2301 movne r3, #1 80599f6: 2300 moveq r3, #0 80599f8: b2da uxtb r2, r3 80599fa: 4b53 ldr r3, [pc, #332] ; (8059b48 ) 80599fc: 701a strb r2, [r3, #0] if(zn[1]) 80599fe: e0b2 b.n 8059b66 else ALARM = t[Us2] | t[Us3]; //or 8059a00: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 8059a04: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8059a08: 4313 orrs r3, r2 8059a0a: b2db uxtb r3, r3 8059a0c: 2b00 cmp r3, #0 8059a0e: bf14 ite ne 8059a10: 2301 movne r3, #1 8059a12: 2300 moveq r3, #0 8059a14: b2da uxtb r2, r3 8059a16: 4b4c ldr r3, [pc, #304] ; (8059b48 ) 8059a18: 701a strb r2, [r3, #0] if(zn[1]) 8059a1a: e0a4 b.n 8059b66 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 8059a1c: 4b47 ldr r3, [pc, #284] ; (8059b3c ) 8059a1e: 781b ldrb r3, [r3, #0] 8059a20: b2db uxtb r3, r3 8059a22: 4a47 ldr r2, [pc, #284] ; (8059b40 ) 8059a24: 338e adds r3, #142 ; 0x8e 8059a26: 009b lsls r3, r3, #2 8059a28: 4413 add r3, r2 8059a2a: 791b ldrb r3, [r3, #4] 8059a2c: b2db uxtb r3, r3 8059a2e: f003 0307 and.w r3, r3, #7 8059a32: 2b00 cmp r3, #0 8059a34: f000 8097 beq.w 8059b66 8059a38: 4b40 ldr r3, [pc, #256] ; (8059b3c ) 8059a3a: 781b ldrb r3, [r3, #0] 8059a3c: b2db uxtb r3, r3 8059a3e: 4a40 ldr r2, [pc, #256] ; (8059b40 ) 8059a40: 009b lsls r3, r3, #2 8059a42: 4413 add r3, r2 8059a44: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8059a48: b2db uxtb r3, r3 8059a4a: f003 0307 and.w r3, r3, #7 8059a4e: 2b00 cmp r3, #0 8059a50: f000 8089 beq.w 8059b66 8059a54: 4b39 ldr r3, [pc, #228] ; (8059b3c ) 8059a56: 781b ldrb r3, [r3, #0] 8059a58: b2db uxtb r3, r3 8059a5a: 4a39 ldr r2, [pc, #228] ; (8059b40 ) 8059a5c: 009b lsls r3, r3, #2 8059a5e: 4413 add r3, r2 8059a60: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8059a64: b2db uxtb r3, r3 8059a66: f003 0307 and.w r3, r3, #7 8059a6a: 2b00 cmp r3, #0 8059a6c: d07b beq.n 8059b66 { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 8059a6e: 4b35 ldr r3, [pc, #212] ; (8059b44 ) 8059a70: ed93 7a00 vldr s14, [r3] 8059a74: 4b31 ldr r3, [pc, #196] ; (8059b3c ) 8059a76: 781b ldrb r3, [r3, #0] 8059a78: b2db uxtb r3, r3 8059a7a: 4a31 ldr r2, [pc, #196] ; (8059b40 ) 8059a7c: 011b lsls r3, r3, #4 8059a7e: 4413 add r3, r2 8059a80: f503 7377 add.w r3, r3, #988 ; 0x3dc 8059a84: edd3 7a00 vldr s15, [r3] 8059a88: eeb4 7ae7 vcmpe.f32 s14, s15 8059a8c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059a90: db02 blt.n 8059a98 t[Us1] = 1; 8059a92: 2301 movs r3, #1 8059a94: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 8059a98: 4b2a ldr r3, [pc, #168] ; (8059b44 ) 8059a9a: ed93 7a01 vldr s14, [r3, #4] 8059a9e: 4b27 ldr r3, [pc, #156] ; (8059b3c ) 8059aa0: 781b ldrb r3, [r3, #0] 8059aa2: b2db uxtb r3, r3 8059aa4: 4a26 ldr r2, [pc, #152] ; (8059b40 ) 8059aa6: 011b lsls r3, r3, #4 8059aa8: 4413 add r3, r2 8059aaa: f503 7378 add.w r3, r3, #992 ; 0x3e0 8059aae: edd3 7a00 vldr s15, [r3] 8059ab2: eeb4 7ae7 vcmpe.f32 s14, s15 8059ab6: eef1 fa10 vmrs APSR_nzcv, fpscr 8059aba: db02 blt.n 8059ac2 t[Us2] = 1; 8059abc: 2301 movs r3, #1 8059abe: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 8059ac2: 4b20 ldr r3, [pc, #128] ; (8059b44 ) 8059ac4: ed93 7a02 vldr s14, [r3, #8] 8059ac8: 4b1c ldr r3, [pc, #112] ; (8059b3c ) 8059aca: 781b ldrb r3, [r3, #0] 8059acc: b2db uxtb r3, r3 8059ace: 4a1c ldr r2, [pc, #112] ; (8059b40 ) 8059ad0: 333e adds r3, #62 ; 0x3e 8059ad2: 011b lsls r3, r3, #4 8059ad4: 4413 add r3, r2 8059ad6: 3304 adds r3, #4 8059ad8: edd3 7a00 vldr s15, [r3] 8059adc: eeb4 7ae7 vcmpe.f32 s14, s15 8059ae0: eef1 fa10 vmrs APSR_nzcv, fpscr 8059ae4: db02 blt.n 8059aec t[Us3] = 1; 8059ae6: 2301 movs r3, #1 8059ae8: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[0]) 8059aec: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 8059af0: 2b00 cmp r3, #0 8059af2: d008 beq.n 8059b06 rez[0] = t[Us1] & t[Us2]; //and 8059af4: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8059af8: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8059afc: 4013 ands r3, r2 8059afe: b2db uxtb r3, r3 8059b00: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 8059b04: e007 b.n 8059b16 else rez[0] = t[Us1] | t[Us2]; //or 8059b06: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8059b0a: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8059b0e: 4313 orrs r3, r2 8059b10: b2db uxtb r3, r3 8059b12: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 if(zn[1]) 8059b16: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 8059b1a: 2b00 cmp r3, #0 8059b1c: d016 beq.n 8059b4c ALARM = rez[0] & t[Us3]; //and 8059b1e: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 8059b22: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8059b26: 4013 ands r3, r2 8059b28: b2db uxtb r3, r3 8059b2a: 2b00 cmp r3, #0 8059b2c: bf14 ite ne 8059b2e: 2301 movne r3, #1 8059b30: 2300 moveq r3, #0 8059b32: b2da uxtb r2, r3 8059b34: 4b04 ldr r3, [pc, #16] ; (8059b48 ) 8059b36: 701a strb r2, [r3, #0] 8059b38: e015 b.n 8059b66 8059b3a: bf00 nop 8059b3c: 20021055 .word 0x20021055 8059b40: 20023ea8 .word 0x20023ea8 8059b44: 20026918 .word 0x20026918 8059b48: 20021059 .word 0x20021059 else ALARM = rez[0] | t[Us3]; //or 8059b4c: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 8059b50: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8059b54: 4313 orrs r3, r2 8059b56: b2db uxtb r3, r3 8059b58: 2b00 cmp r3, #0 8059b5a: bf14 ite ne 8059b5c: 2301 movne r3, #1 8059b5e: 2300 moveq r3, #0 8059b60: b2da uxtb r2, r3 8059b62: 4bb1 ldr r3, [pc, #708] ; (8059e28 ) 8059b64: 701a strb r2, [r3, #0] } for(k = 0; k < NUM_OPERANDS; k++) 8059b66: 2300 movs r3, #0 8059b68: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8059b6c: e033 b.n 8059bd6 { if((pardata.DIAGN_HP[CURR_POINT][k] < 2.0f) && ((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) > DIAGN_ACC)) 8059b6e: 4baf ldr r3, [pc, #700] ; (8059e2c ) 8059b70: 781b ldrb r3, [r3, #0] 8059b72: b2db uxtb r3, r3 8059b74: 461a mov r2, r3 8059b76: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8059b7a: 49ad ldr r1, [pc, #692] ; (8059e30 ) 8059b7c: 0092 lsls r2, r2, #2 8059b7e: 4413 add r3, r2 8059b80: 3396 adds r3, #150 ; 0x96 8059b82: 009b lsls r3, r3, #2 8059b84: 440b add r3, r1 8059b86: 3304 adds r3, #4 8059b88: edd3 7a00 vldr s15, [r3] 8059b8c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8059b90: eef4 7ac7 vcmpe.f32 s15, s14 8059b94: eef1 fa10 vmrs APSR_nzcv, fpscr 8059b98: d518 bpl.n 8059bcc 8059b9a: 4ba4 ldr r3, [pc, #656] ; (8059e2c ) 8059b9c: 781b ldrb r3, [r3, #0] 8059b9e: b2db uxtb r3, r3 8059ba0: 461a mov r2, r3 8059ba2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8059ba6: 49a2 ldr r1, [pc, #648] ; (8059e30 ) 8059ba8: 0092 lsls r2, r2, #2 8059baa: 440a add r2, r1 8059bac: 4413 add r3, r2 8059bae: f503 730f add.w r3, r3, #572 ; 0x23c 8059bb2: 781b ldrb r3, [r3, #0] 8059bb4: b2db uxtb r3, r3 8059bb6: f003 0307 and.w r3, r3, #7 8059bba: 2b01 cmp r3, #1 8059bbc: dd06 ble.n 8059bcc { operand[k] = -1.0f; 8059bbe: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8059bc2: 4a9c ldr r2, [pc, #624] ; (8059e34 ) 8059bc4: 009b lsls r3, r3, #2 8059bc6: 4413 add r3, r2 8059bc8: 4a9b ldr r2, [pc, #620] ; (8059e38 ) 8059bca: 601a str r2, [r3, #0] for(k = 0; k < NUM_OPERANDS; k++) 8059bcc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8059bd0: 3301 adds r3, #1 8059bd2: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8059bd6: 4b99 ldr r3, [pc, #612] ; (8059e3c ) 8059bd8: 781b ldrb r3, [r3, #0] 8059bda: b2db uxtb r3, r3 8059bdc: 461a mov r2, r3 8059bde: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8059be2: 429a cmp r2, r3 8059be4: d8c3 bhi.n 8059b6e if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8059be6: e005 b.n 8059bf4 } } } else { RepeatKm = true; 8059be8: 4b95 ldr r3, [pc, #596] ; (8059e40 ) 8059bea: 2201 movs r2, #1 8059bec: 701a strb r2, [r3, #0] timeRelax = 48; 8059bee: 4b95 ldr r3, [pc, #596] ; (8059e44 ) 8059bf0: 2230 movs r2, #48 ; 0x30 8059bf2: 601a str r2, [r3, #0] } tick = HAL_GetTick() - tick; 8059bf4: f05d f916 bl 80b6e24 8059bf8: 4602 mov r2, r0 8059bfa: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 8059bfe: 1ad3 subs r3, r2, r3 8059c00: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 8059c04: 4b90 ldr r3, [pc, #576] ; (8059e48 ) 8059c06: 681b ldr r3, [r3, #0] 8059c08: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 8059c0c: 429a cmp r2, r3 8059c0e: f24b 8196 bls.w 8064f3e { maxtick = tick; 8059c12: 4a8d ldr r2, [pc, #564] ; (8059e48 ) 8059c14: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 8059c18: 6013 str r3, [r2, #0] if(maxtick > 24384000) 8059c1a: 4b8b ldr r3, [pc, #556] ; (8059e48 ) 8059c1c: 681b ldr r3, [r3, #0] 8059c1e: 4a8b ldr r2, [pc, #556] ; (8059e4c ) 8059c20: 4293 cmp r3, r2 8059c22: f24b 818c bls.w 8064f3e { tick = 0; 8059c26: 2300 movs r3, #0 8059c28: f8c7 321c str.w r3, [r7, #540] ; 0x21c } } } break; 8059c2c: f00b b987 b.w 8064f3e case VIB: case FRAN: if(measuring) 8059c30: 4b87 ldr r3, [pc, #540] ; (8059e50 ) 8059c32: 781b ldrb r3, [r3, #0] 8059c34: b2db uxtb r3, r3 8059c36: 2b00 cmp r3, #0 8059c38: f00b 8183 beq.w 8064f42 { tick = DWT->CYCCNT; 8059c3c: 4b85 ldr r3, [pc, #532] ; (8059e54 ) 8059c3e: 685b ldr r3, [r3, #4] 8059c40: f8c7 321c str.w r3, [r7, #540] ; 0x21c GetData(); 8059c44: f00b fc42 bl 80654cc j = 0; 8059c48: 2300 movs r3, #0 8059c4a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 8059c4e: 4b78 ldr r3, [pc, #480] ; (8059e30 ) 8059c50: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8059c54: f003 0304 and.w r3, r3, #4 8059c58: 2b00 cmp r3, #0 8059c5a: d005 beq.n 8059c68 CalculateGain(Ns); 8059c5c: 4b7e ldr r3, [pc, #504] ; (8059e58 ) 8059c5e: 681b ldr r3, [r3, #0] 8059c60: 4618 mov r0, r3 8059c62: f7fc fe17 bl 8056894 8059c66: e02e b.n 8059cc6 else { Stability = (Nr * 4) + 1; 8059c68: 4b7c ldr r3, [pc, #496] ; (8059e5c ) 8059c6a: 881b ldrh r3, [r3, #0] 8059c6c: b29b uxth r3, r3 8059c6e: 009b lsls r3, r3, #2 8059c70: 3301 adds r3, #1 8059c72: 461a mov r2, r3 8059c74: 4b7a ldr r3, [pc, #488] ; (8059e60 ) 8059c76: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 8059c78: 2300 movs r3, #0 8059c7a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059c7e: e011 b.n 8059ca4 { if(In16[i].lg > 0xE00000) 8059c80: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c84: 4a77 ldr r2, [pc, #476] ; (8059e64 ) 8059c86: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8059c8a: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8059c8e: d904 bls.n 8059c9a j++; 8059c90: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059c94: 3301 adds r3, #1 8059c96: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 8059c9a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c9e: 3301 adds r3, #1 8059ca0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059ca4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059ca8: 4b6b ldr r3, [pc, #428] ; (8059e58 ) 8059caa: 681b ldr r3, [r3, #0] 8059cac: 429a cmp r2, r3 8059cae: d3e7 bcc.n 8059c80 } if(j >= 2) 8059cb0: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059cb4: 2b01 cmp r3, #1 8059cb6: d903 bls.n 8059cc0 OVERDRIVE = true; 8059cb8: 4b6b ldr r3, [pc, #428] ; (8059e68 ) 8059cba: 2201 movs r2, #1 8059cbc: 701a strb r2, [r3, #0] 8059cbe: e002 b.n 8059cc6 else OVERDRIVE = false; 8059cc0: 4b69 ldr r3, [pc, #420] ; (8059e68 ) 8059cc2: 2200 movs r2, #0 8059cc4: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 8059cc6: 4b69 ldr r3, [pc, #420] ; (8059e6c ) 8059cc8: 781b ldrb r3, [r3, #0] 8059cca: b2db uxtb r3, r3 8059ccc: 2b00 cmp r3, #0 8059cce: d02d beq.n 8059d2c { Stability = 0; 8059cd0: 4b63 ldr r3, [pc, #396] ; (8059e60 ) 8059cd2: 2200 movs r2, #0 8059cd4: 601a str r2, [r3, #0] NeedFreq = false; 8059cd6: 4b66 ldr r3, [pc, #408] ; (8059e70 ) 8059cd8: 2200 movs r2, #0 8059cda: 701a strb r2, [r3, #0] AvgCnt = 0; 8059cdc: 4b65 ldr r3, [pc, #404] ; (8059e74 ) 8059cde: 2200 movs r2, #0 8059ce0: 601a str r2, [r3, #0] MeanCnt = 0; 8059ce2: 4b65 ldr r3, [pc, #404] ; (8059e78 ) 8059ce4: 2200 movs r2, #0 8059ce6: 601a str r2, [r3, #0] CNT_MEAN_FREQ = 0; 8059ce8: 4b64 ldr r3, [pc, #400] ; (8059e7c ) 8059cea: 2200 movs r2, #0 8059cec: 601a str r2, [r3, #0] MEAN_FREQ = 0.0f; 8059cee: 4b64 ldr r3, [pc, #400] ; (8059e80 ) 8059cf0: f04f 0200 mov.w r2, #0 8059cf4: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 3); 8059cf6: 2103 movs r1, #3 8059cf8: 4862 ldr r0, [pc, #392] ; (8059e84 ) 8059cfa: ed9f 0a63 vldr s0, [pc, #396] ; 8059e88 8059cfe: f074 f9ad bl 80ce05c arm_fill_f32(0.0f, peakAVS, 3); 8059d02: 2103 movs r1, #3 8059d04: 4861 ldr r0, [pc, #388] ; (8059e8c ) 8059d06: ed9f 0a60 vldr s0, [pc, #384] ; 8059e88 8059d0a: f074 f9a7 bl 80ce05c arm_fill_f32(0.0f, &ACC_PEAK_WR(0), 512 * 6u); 8059d0e: f44f 6140 mov.w r1, #3072 ; 0xc00 8059d12: 485f ldr r0, [pc, #380] ; (8059e90 ) 8059d14: ed9f 0a5c vldr s0, [pc, #368] ; 8059e88 8059d18: f074 f9a0 bl 80ce05c NSamples = 0xffffffff; 8059d1c: 4b5d ldr r3, [pc, #372] ; (8059e94 ) 8059d1e: f04f 32ff mov.w r2, #4294967295 8059d22: 601a str r2, [r3, #0] timeRelax = 48; 8059d24: 4b47 ldr r3, [pc, #284] ; (8059e44 ) 8059d26: 2230 movs r2, #48 ; 0x30 8059d28: 601a str r2, [r3, #0] 8059d2a: e00d b.n 8059d48 } else { if(Stability <= (Nr * 4)) 8059d2c: 4b4b ldr r3, [pc, #300] ; (8059e5c ) 8059d2e: 881b ldrh r3, [r3, #0] 8059d30: b29b uxth r3, r3 8059d32: 009b lsls r3, r3, #2 8059d34: 461a mov r2, r3 8059d36: 4b4a ldr r3, [pc, #296] ; (8059e60 ) 8059d38: 681b ldr r3, [r3, #0] 8059d3a: 429a cmp r2, r3 8059d3c: d304 bcc.n 8059d48 Stability++; 8059d3e: 4b48 ldr r3, [pc, #288] ; (8059e60 ) 8059d40: 681b ldr r3, [r3, #0] 8059d42: 3301 adds r3, #1 8059d44: 4a46 ldr r2, [pc, #280] ; (8059e60 ) 8059d46: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) // åñëè àâòîóñèëåíèå íîðì 8059d48: 4b48 ldr r3, [pc, #288] ; (8059e6c ) 8059d4a: 781b ldrb r3, [r3, #0] 8059d4c: b2db uxtb r3, r3 8059d4e: 2b00 cmp r3, #0 8059d50: f041 8364 bne.w 805b41c 8059d54: 4b41 ldr r3, [pc, #260] ; (8059e5c ) 8059d56: 881b ldrh r3, [r3, #0] 8059d58: b29b uxth r3, r3 8059d5a: 009b lsls r3, r3, #2 8059d5c: 461a mov r2, r3 8059d5e: 4b40 ldr r3, [pc, #256] ; (8059e60 ) 8059d60: 681b ldr r3, [r3, #0] 8059d62: 429a cmp r2, r3 8059d64: f081 835a bcs.w 805b41c { fNrm = 1.0f / (float32_t) (Ns >> 1); 8059d68: 4b3b ldr r3, [pc, #236] ; (8059e58 ) 8059d6a: 681b ldr r3, [r3, #0] 8059d6c: 085b lsrs r3, r3, #1 8059d6e: ee07 3a90 vmov s15, r3 8059d72: eeb8 7a67 vcvt.f32.u32 s14, s15 8059d76: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8059d7a: eec6 7a87 vdiv.f32 s15, s13, s14 8059d7e: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8059d82: 4b45 ldr r3, [pc, #276] ; (8059e98 ) 8059d84: edd3 7a00 vldr s15, [r3] 8059d88: eeb7 7ae7 vcvt.f64.f32 d7, s15 8059d8c: ed9f 6b24 vldr d6, [pc, #144] ; 8059e20 8059d90: ee27 7b06 vmul.f64 d7, d7, d6 8059d94: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 8059d98: 2300 movs r3, #0 8059d9a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059d9e: e026 b.n 8059dee { Buff64[i] = (float64_t) In16[i].lg; 8059da0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059da4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059da8: 492e ldr r1, [pc, #184] ; (8059e64 ) 8059daa: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8059dae: ee07 2a90 vmov s15, r2 8059db2: eeb8 7b67 vcvt.f64.u32 d7, s15 8059db6: 4a39 ldr r2, [pc, #228] ; (8059e9c ) 8059db8: 00db lsls r3, r3, #3 8059dba: 4413 add r3, r2 8059dbc: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 8059dc0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059dc4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059dc8: 4934 ldr r1, [pc, #208] ; (8059e9c ) 8059dca: 00d2 lsls r2, r2, #3 8059dcc: 440a add r2, r1 8059dce: ed92 6b00 vldr d6, [r2] 8059dd2: ed97 7b82 vldr d7, [r7, #520] ; 0x208 8059dd6: ee26 7b07 vmul.f64 d7, d6, d7 8059dda: 4a30 ldr r2, [pc, #192] ; (8059e9c ) 8059ddc: 00db lsls r3, r3, #3 8059dde: 4413 add r3, r2 8059de0: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 8059de4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059de8: 3301 adds r3, #1 8059dea: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059dee: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059df2: 4b19 ldr r3, [pc, #100] ; (8059e58 ) 8059df4: 681b ldr r3, [r3, #0] 8059df6: 429a cmp r2, r3 8059df8: d3d2 bcc.n 8059da0 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 8059dfa: 4b17 ldr r3, [pc, #92] ; (8059e58 ) 8059dfc: 681b ldr r3, [r3, #0] 8059dfe: 4a27 ldr r2, [pc, #156] ; (8059e9c ) 8059e00: 4926 ldr r1, [pc, #152] ; (8059e9c ) 8059e02: 4827 ldr r0, [pc, #156] ; (8059ea0 ) 8059e04: f074 fb7a bl 80ce4fc /*******************************************************************************************************************************************/ /****************************************************** ACCELERATION *********************************************************************/ /*******************************************************************************************************************************************/ arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, &Buff64[8192], Ns); 8059e08: 4b13 ldr r3, [pc, #76] ; (8059e58 ) 8059e0a: 681b ldr r3, [r3, #0] 8059e0c: 4a25 ldr r2, [pc, #148] ; (8059ea4 ) 8059e0e: 4923 ldr r1, [pc, #140] ; (8059e9c ) 8059e10: 4825 ldr r0, [pc, #148] ; (8059ea8 ) 8059e12: f074 fb73 bl 80ce4fc for(i = 0; i < Ns; i++) { 8059e16: 2300 movs r3, #0 8059e18: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059e1c: e05d b.n 8059eda 8059e1e: bf00 nop 8059e20: 18000018 .word 0x18000018 8059e24: 3e980000 .word 0x3e980000 8059e28: 20021059 .word 0x20021059 8059e2c: 20021055 .word 0x20021055 8059e30: 20023ea8 .word 0x20023ea8 8059e34: 20026918 .word 0x20026918 8059e38: bf800000 .word 0xbf800000 8059e3c: 20021056 .word 0x20021056 8059e40: 20020dcc .word 0x20020dcc 8059e44: 20020d8c .word 0x20020d8c 8059e48: 20021678 .word 0x20021678 8059e4c: 01741200 .word 0x01741200 8059e50: 20020dcf .word 0x20020dcf 8059e54: e0001000 .word 0xe0001000 8059e58: 20021d24 .word 0x20021d24 8059e5c: 20021d68 .word 0x20021d68 8059e60: 20020dc8 .word 0x20020dc8 8059e64: 20058060 .word 0x20058060 8059e68: 20021579 .word 0x20021579 8059e6c: 20020d9e .word 0x20020d9e 8059e70: 20020d95 .word 0x20020d95 8059e74: 20020d80 .word 0x20020d80 8059e78: 20020dd8 .word 0x20020dd8 8059e7c: 20021668 .word 0x20021668 8059e80: 20021664 .word 0x20021664 8059e84: 20021d30 .word 0x20021d30 8059e88: 00000000 .word 0x00000000 8059e8c: 20021d44 .word 0x20021d44 8059e90: 64050000 .word 0x64050000 8059e94: 20020da8 .word 0x20020da8 8059e98: 20020080 .word 0x20020080 8059e9c: 20037b20 .word 0x20037b20 8059ea0: 200265a4 .word 0x200265a4 8059ea4: 20047b20 .word 0x20047b20 8059ea8: 20025f40 .word 0x20025f40 Out[i] = (float32_t) Buff64[i + 8192]; 8059eac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059eb0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059eb4: f502 5200 add.w r2, r2, #8192 ; 0x2000 8059eb8: 49b9 ldr r1, [pc, #740] ; (805a1a0 ) 8059eba: 00d2 lsls r2, r2, #3 8059ebc: 440a add r2, r1 8059ebe: ed92 7b00 vldr d7, [r2] 8059ec2: eef7 7bc7 vcvt.f32.f64 s15, d7 8059ec6: 4ab7 ldr r2, [pc, #732] ; (805a1a4 ) 8059ec8: 009b lsls r3, r3, #2 8059eca: 4413 add r3, r2 8059ecc: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 8059ed0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059ed4: 3301 adds r3, #1 8059ed6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059eda: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059ede: 4bb2 ldr r3, [pc, #712] ; (805a1a8 ) 8059ee0: 681b ldr r3, [r3, #0] 8059ee2: 429a cmp r2, r3 8059ee4: d3e2 bcc.n 8059eac } if(pardata.SYG == FRAN) 8059ee6: 4bb1 ldr r3, [pc, #708] ; (805a1ac ) 8059ee8: 781b ldrb r3, [r3, #0] 8059eea: b2db uxtb r3, r3 8059eec: 2b03 cmp r3, #3 8059eee: d11a bne.n 8059f26 { memcpy((void *) &Freq_f32(AvgCnt * 8192u), (void *) Out, 32768); 8059ef0: 4baf ldr r3, [pc, #700] ; (805a1b0 ) 8059ef2: 681b ldr r3, [r3, #0] 8059ef4: 035b lsls r3, r3, #13 8059ef6: 009a lsls r2, r3, #2 8059ef8: 4bae ldr r3, [pc, #696] ; (805a1b4 ) 8059efa: 4413 add r3, r2 8059efc: f44f 4200 mov.w r2, #32768 ; 0x8000 8059f00: 49a8 ldr r1, [pc, #672] ; (805a1a4 ) 8059f02: 4618 mov r0, r3 8059f04: f077 fa41 bl 80d138a AvgCnt++; 8059f08: 4ba9 ldr r3, [pc, #676] ; (805a1b0 ) 8059f0a: 681b ldr r3, [r3, #0] 8059f0c: 3301 adds r3, #1 8059f0e: 4aa8 ldr r2, [pc, #672] ; (805a1b0 ) 8059f10: 6013 str r3, [r2, #0] if(AvgCnt >= NUM_SAMPLES) 8059f12: 4ba7 ldr r3, [pc, #668] ; (805a1b0 ) 8059f14: 681b ldr r3, [r3, #0] 8059f16: 2b0f cmp r3, #15 8059f18: d905 bls.n 8059f26 { AvgCnt = 0; 8059f1a: 4ba5 ldr r3, [pc, #660] ; (805a1b0 ) 8059f1c: 2200 movs r2, #0 8059f1e: 601a str r2, [r3, #0] NeedFreq = true; 8059f20: 4ba5 ldr r3, [pc, #660] ; (805a1b8 ) 8059f22: 2201 movs r2, #1 8059f24: 701a strb r2, [r3, #0] } } switch(pardata.IVS[ACC]) 8059f26: 4ba1 ldr r3, [pc, #644] ; (805a1ac ) 8059f28: 789b ldrb r3, [r3, #2] 8059f2a: b2db uxtb r3, r3 8059f2c: 2b04 cmp r3, #4 8059f2e: f200 80e7 bhi.w 805a100 8059f32: a201 add r2, pc, #4 ; (adr r2, 8059f38 ) 8059f34: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8059f38: 08059f4d .word 0x08059f4d 8059f3c: 0805a0c5 .word 0x0805a0c5 8059f40: 08059f4d .word 0x08059f4d 8059f44: 0805a029 .word 0x0805a029 8059f48: 0805a0e7 .word 0x0805a0e7 { case PEAK: case PEAK_TO_PEAK: arm_min_f32(Out, Ns, &fn[0], &i); 8059f4c: 4b96 ldr r3, [pc, #600] ; (805a1a8 ) 8059f4e: 6819 ldr r1, [r3, #0] 8059f50: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8059f54: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059f58: 4892 ldr r0, [pc, #584] ; (805a1a4 ) 8059f5a: f074 f9bf bl 80ce2dc arm_max_f32(Out, Ns, &fn[1], &j); 8059f5e: 4b92 ldr r3, [pc, #584] ; (805a1a8 ) 8059f60: 6819 ldr r1, [r3, #0] 8059f62: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8059f66: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8059f6a: 1d1a adds r2, r3, #4 8059f6c: 4603 mov r3, r0 8059f6e: 488d ldr r0, [pc, #564] ; (805a1a4 ) 8059f70: f074 fa50 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8059f74: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059f78: eef5 7ac0 vcmpe.f32 s15, #0.0 8059f7c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059f80: dd02 ble.n 8059f88 8059f82: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059f86: e003 b.n 8059f90 8059f88: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059f8c: eef1 7a67 vneg.f32 s15, s15 8059f90: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8059f94: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059f98: eef5 7ac0 vcmpe.f32 s15, #0.0 8059f9c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059fa0: dd02 ble.n 8059fa8 8059fa2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059fa6: e003 b.n 8059fb0 8059fa8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059fac: eef1 7a67 vneg.f32 s15, s15 8059fb0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 if(pardata.IVS[ACC] == PEAK) 8059fb4: 4b7d ldr r3, [pc, #500] ; (805a1ac ) 8059fb6: 789b ldrb r3, [r3, #2] 8059fb8: b2db uxtb r3, r3 8059fba: 2b00 cmp r3, #0 8059fbc: d109 bne.n 8059fd2 arm_max_f32(fn, 2, &fval[ACC], &i); 8059fbe: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8059fc2: f107 02fc add.w r2, r7, #252 ; 0xfc 8059fc6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8059fca: 2102 movs r1, #2 8059fcc: f074 fa22 bl 80ce414 8059fd0: e021 b.n 805a016 else fval[ACC] = ABS(fn[0]) + ABS(fn[1]); 8059fd2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059fd6: eef5 7ac0 vcmpe.f32 s15, #0.0 8059fda: eef1 fa10 vmrs APSR_nzcv, fpscr 8059fde: dd02 ble.n 8059fe6 8059fe0: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8059fe4: e003 b.n 8059fee 8059fe6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059fea: eeb1 7a67 vneg.f32 s14, s15 8059fee: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059ff2: eef5 7ac0 vcmpe.f32 s15, #0.0 8059ff6: eef1 fa10 vmrs APSR_nzcv, fpscr 8059ffa: dd02 ble.n 805a002 8059ffc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a000: e003 b.n 805a00a 805a002: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a006: eef1 7a67 vneg.f32 s15, s15 805a00a: ee77 7a27 vadd.f32 s15, s14, s15 805a00e: f107 03fc add.w r3, r7, #252 ; 0xfc 805a012: edc3 7a00 vstr s15, [r3] arm_rms_f32(Out, Ns, &rms); 805a016: 4b64 ldr r3, [pc, #400] ; (805a1a8 ) 805a018: 681b ldr r3, [r3, #0] 805a01a: f507 7286 add.w r2, r7, #268 ; 0x10c 805a01e: 4619 mov r1, r3 805a020: 4860 ldr r0, [pc, #384] ; (805a1a4 ) 805a022: f074 f8c9 bl 80ce1b8 break; 805a026: e06b b.n 805a100 case PEAK_FACTOR: arm_min_f32(Out, Ns, &fn[0], &i); 805a028: 4b5f ldr r3, [pc, #380] ; (805a1a8 ) 805a02a: 6819 ldr r1, [r3, #0] 805a02c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805a030: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805a034: 485b ldr r0, [pc, #364] ; (805a1a4 ) 805a036: f074 f951 bl 80ce2dc arm_max_f32(Out, Ns, &fn[1], &j); 805a03a: 4b5b ldr r3, [pc, #364] ; (805a1a8 ) 805a03c: 6819 ldr r1, [r3, #0] 805a03e: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805a042: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805a046: 1d1a adds r2, r3, #4 805a048: 4603 mov r3, r0 805a04a: 4856 ldr r0, [pc, #344] ; (805a1a4 ) 805a04c: f074 f9e2 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805a050: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a054: eef5 7ac0 vcmpe.f32 s15, #0.0 805a058: eef1 fa10 vmrs APSR_nzcv, fpscr 805a05c: dd02 ble.n 805a064 805a05e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a062: e003 b.n 805a06c 805a064: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a068: eef1 7a67 vneg.f32 s15, s15 805a06c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805a070: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a074: eef5 7ac0 vcmpe.f32 s15, #0.0 805a078: eef1 fa10 vmrs APSR_nzcv, fpscr 805a07c: dd02 ble.n 805a084 805a07e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a082: e003 b.n 805a08c 805a084: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a088: eef1 7a67 vneg.f32 s15, s15 805a08c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[ACC], &i); 805a090: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805a094: f107 02ec add.w r2, r7, #236 ; 0xec 805a098: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805a09c: 2102 movs r1, #2 805a09e: f074 f9b9 bl 80ce414 //fpeak[ACC] /= pardata.IKK; arm_power_f32(Out, Ns, &fval[ACC]); 805a0a2: 4b41 ldr r3, [pc, #260] ; (805a1a8 ) 805a0a4: 681b ldr r3, [r3, #0] 805a0a6: f107 02fc add.w r2, r7, #252 ; 0xfc 805a0aa: 4619 mov r1, r3 805a0ac: 483d ldr r0, [pc, #244] ; (805a1a4 ) 805a0ae: f074 f8db bl 80ce268 arm_rms_f32(Out, Ns, &rms); 805a0b2: 4b3d ldr r3, [pc, #244] ; (805a1a8 ) 805a0b4: 681b ldr r3, [r3, #0] 805a0b6: f507 7286 add.w r2, r7, #268 ; 0x10c 805a0ba: 4619 mov r1, r3 805a0bc: 4839 ldr r0, [pc, #228] ; (805a1a4 ) 805a0be: f074 f87b bl 80ce1b8 break; 805a0c2: e01d b.n 805a100 case RMS: arm_power_f32(Out, Ns, &fval[ACC]); 805a0c4: 4b38 ldr r3, [pc, #224] ; (805a1a8 ) 805a0c6: 681b ldr r3, [r3, #0] 805a0c8: f107 02fc add.w r2, r7, #252 ; 0xfc 805a0cc: 4619 mov r1, r3 805a0ce: 4835 ldr r0, [pc, #212] ; (805a1a4 ) 805a0d0: f074 f8ca bl 80ce268 arm_rms_f32(Out, Ns, &rms); 805a0d4: 4b34 ldr r3, [pc, #208] ; (805a1a8 ) 805a0d6: 681b ldr r3, [r3, #0] 805a0d8: f507 7286 add.w r2, r7, #268 ; 0x10c 805a0dc: 4619 mov r1, r3 805a0de: 4831 ldr r0, [pc, #196] ; (805a1a4 ) 805a0e0: f074 f86a bl 80ce1b8 break; 805a0e4: e00c b.n 805a100 case EXCESS: fval[ACC] = CalcExcess(Out, Ns); 805a0e6: 4b30 ldr r3, [pc, #192] ; (805a1a8 ) 805a0e8: 681b ldr r3, [r3, #0] 805a0ea: 4619 mov r1, r3 805a0ec: 482d ldr r0, [pc, #180] ; (805a1a4 ) 805a0ee: f00d ff1b bl 8067f28 805a0f2: eef0 7a40 vmov.f32 s15, s0 805a0f6: f107 03fc add.w r3, r7, #252 ; 0xfc 805a0fa: edc3 7a00 vstr s15, [r3] break; 805a0fe: bf00 nop } /*******************************************************************************************************************************************/ /****************************************************** VELOCITY *************************************************************************/ /*******************************************************************************************************************************************/ arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, &Buff64[8192], Ns); 805a100: 4b29 ldr r3, [pc, #164] ; (805a1a8 ) 805a102: 681b ldr r3, [r3, #0] 805a104: 4a2d ldr r2, [pc, #180] ; (805a1bc ) 805a106: 4926 ldr r1, [pc, #152] ; (805a1a0 ) 805a108: 482d ldr r0, [pc, #180] ; (805a1c0 ) 805a10a: f074 f9f7 bl 80ce4fc arm_biquad_cascade_df2T_f64(&S_HP_VEL, &Buff64[8192], &Buff64[8192], Ns); 805a10e: 4b26 ldr r3, [pc, #152] ; (805a1a8 ) 805a110: 681b ldr r3, [r3, #0] 805a112: 4a2a ldr r2, [pc, #168] ; (805a1bc ) 805a114: 4929 ldr r1, [pc, #164] ; (805a1bc ) 805a116: 482b ldr r0, [pc, #172] ; (805a1c4 ) 805a118: f074 f9f0 bl 80ce4fc for(i = 0; i < Ns; i++) 805a11c: 2300 movs r3, #0 805a11e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a122: e016 b.n 805a152 Out[i] = (float32_t) Buff64[i + 8192]; 805a124: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a128: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a12c: f502 5200 add.w r2, r2, #8192 ; 0x2000 805a130: 491b ldr r1, [pc, #108] ; (805a1a0 ) 805a132: 00d2 lsls r2, r2, #3 805a134: 440a add r2, r1 805a136: ed92 7b00 vldr d7, [r2] 805a13a: eef7 7bc7 vcvt.f32.f64 s15, d7 805a13e: 4a19 ldr r2, [pc, #100] ; (805a1a4 ) 805a140: 009b lsls r3, r3, #2 805a142: 4413 add r3, r2 805a144: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 805a148: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a14c: 3301 adds r3, #1 805a14e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a152: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a156: 4b14 ldr r3, [pc, #80] ; (805a1a8 ) 805a158: 681b ldr r3, [r3, #0] 805a15a: 429a cmp r2, r3 805a15c: d3e2 bcc.n 805a124 fs = 249.135f; //311.0f; 805a15e: 4b1a ldr r3, [pc, #104] ; (805a1c8 ) 805a160: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 805a164: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805a168: 4b0f ldr r3, [pc, #60] ; (805a1a8 ) 805a16a: 681b ldr r3, [r3, #0] 805a16c: 461a mov r2, r3 805a16e: 490d ldr r1, [pc, #52] ; (805a1a4 ) 805a170: eeb0 0a67 vmov.f32 s0, s15 805a174: 480b ldr r0, [pc, #44] ; (805a1a4 ) 805a176: f074 fc77 bl 80cea68 switch(pardata.IVS[VEL]) 805a17a: 4b0c ldr r3, [pc, #48] ; (805a1ac ) 805a17c: 78db ldrb r3, [r3, #3] 805a17e: b2db uxtb r3, r3 805a180: 2b04 cmp r3, #4 805a182: f200 80eb bhi.w 805a35c 805a186: a201 add r2, pc, #4 ; (adr r2, 805a18c ) 805a188: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805a18c: 0805a1cd .word 0x0805a1cd 805a190: 0805a32f .word 0x0805a32f 805a194: 0805a1cd .word 0x0805a1cd 805a198: 0805a29d .word 0x0805a29d 805a19c: 0805a343 .word 0x0805a343 805a1a0: 20037b20 .word 0x20037b20 805a1a4: 20008000 .word 0x20008000 805a1a8: 20021d24 .word 0x20021d24 805a1ac: 20023ea8 .word 0x20023ea8 805a1b0: 20020d80 .word 0x20020d80 805a1b4: 64080000 .word 0x64080000 805a1b8: 20020d95 .word 0x20020d95 805a1bc: 20047b20 .word 0x20047b20 805a1c0: 200261b0 .word 0x200261b0 805a1c4: 20025eb8 .word 0x20025eb8 805a1c8: 4379228f .word 0x4379228f { case PEAK: case PEAK_TO_PEAK: arm_min_f32(Out, Ns, &fn[0], &i); 805a1cc: 4bc0 ldr r3, [pc, #768] ; (805a4d0 ) 805a1ce: 6819 ldr r1, [r3, #0] 805a1d0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805a1d4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805a1d8: 48be ldr r0, [pc, #760] ; (805a4d4 ) 805a1da: f074 f87f bl 80ce2dc arm_max_f32(Out, Ns, &fn[1], &j); 805a1de: 4bbc ldr r3, [pc, #752] ; (805a4d0 ) 805a1e0: 6819 ldr r1, [r3, #0] 805a1e2: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805a1e6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805a1ea: 1d1a adds r2, r3, #4 805a1ec: 4603 mov r3, r0 805a1ee: 48b9 ldr r0, [pc, #740] ; (805a4d4 ) 805a1f0: f074 f910 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805a1f4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a1f8: eef5 7ac0 vcmpe.f32 s15, #0.0 805a1fc: eef1 fa10 vmrs APSR_nzcv, fpscr 805a200: dd02 ble.n 805a208 805a202: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a206: e003 b.n 805a210 805a208: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a20c: eef1 7a67 vneg.f32 s15, s15 805a210: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805a214: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a218: eef5 7ac0 vcmpe.f32 s15, #0.0 805a21c: eef1 fa10 vmrs APSR_nzcv, fpscr 805a220: dd02 ble.n 805a228 805a222: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a226: e003 b.n 805a230 805a228: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a22c: eef1 7a67 vneg.f32 s15, s15 805a230: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 if(pardata.IVS[VEL] == PEAK) 805a234: 4ba8 ldr r3, [pc, #672] ; (805a4d8 ) 805a236: 78db ldrb r3, [r3, #3] 805a238: b2db uxtb r3, r3 805a23a: 2b00 cmp r3, #0 805a23c: d10b bne.n 805a256 arm_max_f32(fn, 2, &fval[VEL], &i); 805a23e: f507 71e8 add.w r1, r7, #464 ; 0x1d0 805a242: f107 03fc add.w r3, r7, #252 ; 0xfc 805a246: 1d1a adds r2, r3, #4 805a248: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805a24c: 460b mov r3, r1 805a24e: 2102 movs r1, #2 805a250: f074 f8e0 bl 80ce414 else fval[VEL] = ABS(fn[0]) + ABS(fn[1]); break; 805a254: e082 b.n 805a35c else fval[VEL] = ABS(fn[0]) + ABS(fn[1]); 805a256: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a25a: eef5 7ac0 vcmpe.f32 s15, #0.0 805a25e: eef1 fa10 vmrs APSR_nzcv, fpscr 805a262: dd02 ble.n 805a26a 805a264: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 805a268: e003 b.n 805a272 805a26a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a26e: eeb1 7a67 vneg.f32 s14, s15 805a272: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a276: eef5 7ac0 vcmpe.f32 s15, #0.0 805a27a: eef1 fa10 vmrs APSR_nzcv, fpscr 805a27e: dd02 ble.n 805a286 805a280: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a284: e003 b.n 805a28e 805a286: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a28a: eef1 7a67 vneg.f32 s15, s15 805a28e: ee77 7a27 vadd.f32 s15, s14, s15 805a292: f107 03fc add.w r3, r7, #252 ; 0xfc 805a296: edc3 7a01 vstr s15, [r3, #4] break; 805a29a: e05f b.n 805a35c case PEAK_FACTOR: arm_min_f32(Out, Ns, &fn[0], &i); 805a29c: 4b8c ldr r3, [pc, #560] ; (805a4d0 ) 805a29e: 6819 ldr r1, [r3, #0] 805a2a0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805a2a4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805a2a8: 488a ldr r0, [pc, #552] ; (805a4d4 ) 805a2aa: f074 f817 bl 80ce2dc arm_max_f32(Out, Ns, &fn[1], &j); 805a2ae: 4b88 ldr r3, [pc, #544] ; (805a4d0 ) 805a2b0: 6819 ldr r1, [r3, #0] 805a2b2: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805a2b6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805a2ba: 1d1a adds r2, r3, #4 805a2bc: 4603 mov r3, r0 805a2be: 4885 ldr r0, [pc, #532] ; (805a4d4 ) 805a2c0: f074 f8a8 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805a2c4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a2c8: eef5 7ac0 vcmpe.f32 s15, #0.0 805a2cc: eef1 fa10 vmrs APSR_nzcv, fpscr 805a2d0: dd02 ble.n 805a2d8 805a2d2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a2d6: e003 b.n 805a2e0 805a2d8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a2dc: eef1 7a67 vneg.f32 s15, s15 805a2e0: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805a2e4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a2e8: eef5 7ac0 vcmpe.f32 s15, #0.0 805a2ec: eef1 fa10 vmrs APSR_nzcv, fpscr 805a2f0: dd02 ble.n 805a2f8 805a2f2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a2f6: e003 b.n 805a300 805a2f8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a2fc: eef1 7a67 vneg.f32 s15, s15 805a300: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[VEL], &i); 805a304: f507 71e8 add.w r1, r7, #464 ; 0x1d0 805a308: f107 03ec add.w r3, r7, #236 ; 0xec 805a30c: 1d1a adds r2, r3, #4 805a30e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805a312: 460b mov r3, r1 805a314: 2102 movs r1, #2 805a316: f074 f87d bl 80ce414 arm_power_f32(Out, Ns, &fval[VEL]); 805a31a: 4b6d ldr r3, [pc, #436] ; (805a4d0 ) 805a31c: 6819 ldr r1, [r3, #0] 805a31e: f107 03fc add.w r3, r7, #252 ; 0xfc 805a322: 3304 adds r3, #4 805a324: 461a mov r2, r3 805a326: 486b ldr r0, [pc, #428] ; (805a4d4 ) 805a328: f073 ff9e bl 80ce268 break; 805a32c: e016 b.n 805a35c case RMS: arm_power_f32(Out, Ns, &fval[VEL]); 805a32e: 4b68 ldr r3, [pc, #416] ; (805a4d0 ) 805a330: 6819 ldr r1, [r3, #0] 805a332: f107 03fc add.w r3, r7, #252 ; 0xfc 805a336: 3304 adds r3, #4 805a338: 461a mov r2, r3 805a33a: 4866 ldr r0, [pc, #408] ; (805a4d4 ) 805a33c: f073 ff94 bl 80ce268 break; 805a340: e00c b.n 805a35c case EXCESS: fval[VEL] = CalcExcess(Out, Ns); 805a342: 4b63 ldr r3, [pc, #396] ; (805a4d0 ) 805a344: 681b ldr r3, [r3, #0] 805a346: 4619 mov r1, r3 805a348: 4862 ldr r0, [pc, #392] ; (805a4d4 ) 805a34a: f00d fded bl 8067f28 805a34e: eef0 7a40 vmov.f32 s15, s0 805a352: f107 03fc add.w r3, r7, #252 ; 0xfc 805a356: edc3 7a01 vstr s15, [r3, #4] break; 805a35a: bf00 nop } /*******************************************************************************************************************************************/ /****************************************************** DISPLACEMENT *********************************************************************/ /*******************************************************************************************************************************************/ arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, &Buff64[8192], Ns); 805a35c: 4b5c ldr r3, [pc, #368] ; (805a4d0 ) 805a35e: 681b ldr r3, [r3, #0] 805a360: 4a5e ldr r2, [pc, #376] ; (805a4dc ) 805a362: 495f ldr r1, [pc, #380] ; (805a4e0 ) 805a364: 485f ldr r0, [pc, #380] ; (805a4e4 ) 805a366: f074 f8c9 bl 80ce4fc arm_biquad_cascade_df2T_f64(&S_HP_DIS, &Buff64[8192], &Buff64[8192], Ns); 805a36a: 4b59 ldr r3, [pc, #356] ; (805a4d0 ) 805a36c: 681b ldr r3, [r3, #0] 805a36e: 4a5b ldr r2, [pc, #364] ; (805a4dc ) 805a370: 495a ldr r1, [pc, #360] ; (805a4dc ) 805a372: 485d ldr r0, [pc, #372] ; (805a4e8 ) 805a374: f074 f8c2 bl 80ce4fc for(i = 0; i < Ns; i++) 805a378: 2300 movs r3, #0 805a37a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a37e: e016 b.n 805a3ae Out[i] = (float32_t) Buff64[i + 8192]; 805a380: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a384: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a388: f502 5200 add.w r2, r2, #8192 ; 0x2000 805a38c: 4954 ldr r1, [pc, #336] ; (805a4e0 ) 805a38e: 00d2 lsls r2, r2, #3 805a390: 440a add r2, r1 805a392: ed92 7b00 vldr d7, [r2] 805a396: eef7 7bc7 vcvt.f32.f64 s15, d7 805a39a: 4a4e ldr r2, [pc, #312] ; (805a4d4 ) 805a39c: 009b lsls r3, r3, #2 805a39e: 4413 add r3, r2 805a3a0: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 805a3a4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a3a8: 3301 adds r3, #1 805a3aa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a3ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a3b2: 4b47 ldr r3, [pc, #284] ; (805a4d0 ) 805a3b4: 681b ldr r3, [r3, #0] 805a3b6: 429a cmp r2, r3 805a3b8: d3e2 bcc.n 805a380 fs = 61400.171f; //96600.0f 805a3ba: 4b4c ldr r3, [pc, #304] ; (805a4ec ) 805a3bc: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 805a3c0: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805a3c4: 4b42 ldr r3, [pc, #264] ; (805a4d0 ) 805a3c6: 681b ldr r3, [r3, #0] 805a3c8: 461a mov r2, r3 805a3ca: 4942 ldr r1, [pc, #264] ; (805a4d4 ) 805a3cc: eeb0 0a67 vmov.f32 s0, s15 805a3d0: 4840 ldr r0, [pc, #256] ; (805a4d4 ) 805a3d2: f074 fb49 bl 80cea68 switch(pardata.IVS[DIS]) 805a3d6: 4b40 ldr r3, [pc, #256] ; (805a4d8 ) 805a3d8: 791b ldrb r3, [r3, #4] 805a3da: b2db uxtb r3, r3 805a3dc: 2b04 cmp r3, #4 805a3de: f200 80e8 bhi.w 805a5b2 805a3e2: a201 add r2, pc, #4 ; (adr r2, 805a3e8 ) 805a3e4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805a3e8: 0805a3fd .word 0x0805a3fd 805a3ec: 0805a585 .word 0x0805a585 805a3f0: 0805a3fd .word 0x0805a3fd 805a3f4: 0805a4f1 .word 0x0805a4f1 805a3f8: 0805a599 .word 0x0805a599 { case PEAK: case PEAK_TO_PEAK: arm_min_f32(Out, Ns, &fn[0], &i); 805a3fc: 4b34 ldr r3, [pc, #208] ; (805a4d0 ) 805a3fe: 6819 ldr r1, [r3, #0] 805a400: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805a404: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805a408: 4832 ldr r0, [pc, #200] ; (805a4d4 ) 805a40a: f073 ff67 bl 80ce2dc arm_max_f32(Out, Ns, &fn[1], &j); 805a40e: 4b30 ldr r3, [pc, #192] ; (805a4d0 ) 805a410: 6819 ldr r1, [r3, #0] 805a412: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805a416: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805a41a: 1d1a adds r2, r3, #4 805a41c: 4603 mov r3, r0 805a41e: 482d ldr r0, [pc, #180] ; (805a4d4 ) 805a420: f073 fff8 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805a424: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a428: eef5 7ac0 vcmpe.f32 s15, #0.0 805a42c: eef1 fa10 vmrs APSR_nzcv, fpscr 805a430: dd02 ble.n 805a438 805a432: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a436: e003 b.n 805a440 805a438: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a43c: eef1 7a67 vneg.f32 s15, s15 805a440: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805a444: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a448: eef5 7ac0 vcmpe.f32 s15, #0.0 805a44c: eef1 fa10 vmrs APSR_nzcv, fpscr 805a450: dd02 ble.n 805a458 805a452: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a456: e003 b.n 805a460 805a458: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a45c: eef1 7a67 vneg.f32 s15, s15 805a460: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 if(pardata.IVS[DIS] == PEAK) 805a464: 4b1c ldr r3, [pc, #112] ; (805a4d8 ) 805a466: 791b ldrb r3, [r3, #4] 805a468: b2db uxtb r3, r3 805a46a: 2b00 cmp r3, #0 805a46c: d10c bne.n 805a488 arm_max_f32(fn, 2, &fval[DIS], &i); 805a46e: f507 71e8 add.w r1, r7, #464 ; 0x1d0 805a472: f107 03fc add.w r3, r7, #252 ; 0xfc 805a476: f103 0208 add.w r2, r3, #8 805a47a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805a47e: 460b mov r3, r1 805a480: 2102 movs r1, #2 805a482: f073 ffc7 bl 80ce414 else fval[DIS] = ABS(fn[0]) + ABS(fn[1]); break; 805a486: e094 b.n 805a5b2 else fval[DIS] = ABS(fn[0]) + ABS(fn[1]); 805a488: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a48c: eef5 7ac0 vcmpe.f32 s15, #0.0 805a490: eef1 fa10 vmrs APSR_nzcv, fpscr 805a494: dd02 ble.n 805a49c 805a496: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 805a49a: e003 b.n 805a4a4 805a49c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a4a0: eeb1 7a67 vneg.f32 s14, s15 805a4a4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a4a8: eef5 7ac0 vcmpe.f32 s15, #0.0 805a4ac: eef1 fa10 vmrs APSR_nzcv, fpscr 805a4b0: dd02 ble.n 805a4b8 805a4b2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a4b6: e003 b.n 805a4c0 805a4b8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a4bc: eef1 7a67 vneg.f32 s15, s15 805a4c0: ee77 7a27 vadd.f32 s15, s14, s15 805a4c4: f107 03fc add.w r3, r7, #252 ; 0xfc 805a4c8: edc3 7a02 vstr s15, [r3, #8] break; 805a4cc: e071 b.n 805a5b2 805a4ce: bf00 nop 805a4d0: 20021d24 .word 0x20021d24 805a4d4: 20008000 .word 0x20008000 805a4d8: 20023ea8 .word 0x20023ea8 805a4dc: 20047b20 .word 0x20047b20 805a4e0: 20037b20 .word 0x20037b20 805a4e4: 20027904 .word 0x20027904 805a4e8: 20027990 .word 0x20027990 805a4ec: 476fd82c .word 0x476fd82c case PEAK_FACTOR: arm_min_f32(Out, Ns, &fn[0], &i); 805a4f0: 4bc7 ldr r3, [pc, #796] ; (805a810 ) 805a4f2: 6819 ldr r1, [r3, #0] 805a4f4: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805a4f8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805a4fc: 48c5 ldr r0, [pc, #788] ; (805a814 ) 805a4fe: f073 feed bl 80ce2dc arm_max_f32(Out, Ns, &fn[1], &j); 805a502: 4bc3 ldr r3, [pc, #780] ; (805a810 ) 805a504: 6819 ldr r1, [r3, #0] 805a506: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805a50a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805a50e: 1d1a adds r2, r3, #4 805a510: 4603 mov r3, r0 805a512: 48c0 ldr r0, [pc, #768] ; (805a814 ) 805a514: f073 ff7e bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805a518: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a51c: eef5 7ac0 vcmpe.f32 s15, #0.0 805a520: eef1 fa10 vmrs APSR_nzcv, fpscr 805a524: dd02 ble.n 805a52c 805a526: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a52a: e003 b.n 805a534 805a52c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805a530: eef1 7a67 vneg.f32 s15, s15 805a534: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805a538: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a53c: eef5 7ac0 vcmpe.f32 s15, #0.0 805a540: eef1 fa10 vmrs APSR_nzcv, fpscr 805a544: dd02 ble.n 805a54c 805a546: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a54a: e003 b.n 805a554 805a54c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805a550: eef1 7a67 vneg.f32 s15, s15 805a554: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[DIS], &i); 805a558: f507 71e8 add.w r1, r7, #464 ; 0x1d0 805a55c: f107 03ec add.w r3, r7, #236 ; 0xec 805a560: f103 0208 add.w r2, r3, #8 805a564: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805a568: 460b mov r3, r1 805a56a: 2102 movs r1, #2 805a56c: f073 ff52 bl 80ce414 arm_power_f32(Out, Ns, &fval[DIS]); 805a570: 4ba7 ldr r3, [pc, #668] ; (805a810 ) 805a572: 6819 ldr r1, [r3, #0] 805a574: f107 03fc add.w r3, r7, #252 ; 0xfc 805a578: 3308 adds r3, #8 805a57a: 461a mov r2, r3 805a57c: 48a5 ldr r0, [pc, #660] ; (805a814 ) 805a57e: f073 fe73 bl 80ce268 break; 805a582: e016 b.n 805a5b2 case RMS: arm_power_f32(Out, Ns, &fval[DIS]); 805a584: 4ba2 ldr r3, [pc, #648] ; (805a810 ) 805a586: 6819 ldr r1, [r3, #0] 805a588: f107 03fc add.w r3, r7, #252 ; 0xfc 805a58c: 3308 adds r3, #8 805a58e: 461a mov r2, r3 805a590: 48a0 ldr r0, [pc, #640] ; (805a814 ) 805a592: f073 fe69 bl 80ce268 break; 805a596: e00c b.n 805a5b2 case EXCESS: fval[DIS] = CalcExcess(Out, Ns); 805a598: 4b9d ldr r3, [pc, #628] ; (805a810 ) 805a59a: 681b ldr r3, [r3, #0] 805a59c: 4619 mov r1, r3 805a59e: 489d ldr r0, [pc, #628] ; (805a814 ) 805a5a0: f00d fcc2 bl 8067f28 805a5a4: eef0 7a40 vmov.f32 s15, s0 805a5a8: f107 03fc add.w r3, r7, #252 ; 0xfc 805a5ac: edc3 7a02 vstr s15, [r3, #8] break; 805a5b0: bf00 nop } //***************************************************************************************************************************************** //***************************************************************************************************************************************** if(timeRelax) 805a5b2: 4b99 ldr r3, [pc, #612] ; (805a818 ) 805a5b4: 681b ldr r3, [r3, #0] 805a5b6: 2b00 cmp r3, #0 805a5b8: d027 beq.n 805a60a { timeRelax--; 805a5ba: 4b97 ldr r3, [pc, #604] ; (805a818 ) 805a5bc: 681b ldr r3, [r3, #0] 805a5be: 3b01 subs r3, #1 805a5c0: 4a95 ldr r2, [pc, #596] ; (805a818 ) 805a5c2: 6013 str r3, [r2, #0] for(i = 0; i < 3; i++) 805a5c4: 2300 movs r3, #0 805a5c6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a5ca: e018 b.n 805a5fe { skz[i] = -1.0f; 805a5cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a5d0: 4a92 ldr r2, [pc, #584] ; (805a81c ) 805a5d2: 009b lsls r3, r3, #2 805a5d4: 4413 add r3, r2 805a5d6: 4a92 ldr r2, [pc, #584] ; (805a820 ) 805a5d8: 601a str r2, [r3, #0] LinToLog(&skz[i], &skzDB[i]); 805a5da: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a5de: 009b lsls r3, r3, #2 805a5e0: 4a8e ldr r2, [pc, #568] ; (805a81c ) 805a5e2: 1898 adds r0, r3, r2 805a5e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a5e8: 009b lsls r3, r3, #2 805a5ea: 4a8e ldr r2, [pc, #568] ; (805a824 ) 805a5ec: 4413 add r3, r2 805a5ee: 4619 mov r1, r3 805a5f0: f00b fbaa bl 8065d48 for(i = 0; i < 3; i++) 805a5f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a5f8: 3301 adds r3, #1 805a5fa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a5fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a602: 2b02 cmp r3, #2 805a604: d9e2 bls.n 805a5cc 805a606: f000 bef0 b.w 805b3ea } } else { for(i = 0; i < 3; i++) 805a60a: 2300 movs r3, #0 805a60c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a610: e0e2 b.n 805a7d8 { switch(pardata.IVS[i]) 805a612: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a616: 4a84 ldr r2, [pc, #528] ; (805a828 ) 805a618: 4413 add r3, r2 805a61a: 789b ldrb r3, [r3, #2] 805a61c: b2db uxtb r3, r3 805a61e: 2b04 cmp r3, #4 805a620: f200 80d5 bhi.w 805a7ce 805a624: a201 add r2, pc, #4 ; (adr r2, 805a62c ) 805a626: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805a62a: bf00 nop 805a62c: 0805a641 .word 0x0805a641 805a630: 0805a79d .word 0x0805a79d 805a634: 0805a641 .word 0x0805a641 805a638: 0805a729 .word 0x0805a729 805a63c: 0805a687 .word 0x0805a687 { case PEAK: case PEAK_TO_PEAK: if(peakAVS[i] < fval[i]) { 805a640: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a644: 4a79 ldr r2, [pc, #484] ; (805a82c ) 805a646: 009b lsls r3, r3, #2 805a648: 4413 add r3, r2 805a64a: ed93 7a00 vldr s14, [r3] 805a64e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a652: f107 02fc add.w r2, r7, #252 ; 0xfc 805a656: 009b lsls r3, r3, #2 805a658: 4413 add r3, r2 805a65a: edd3 7a00 vldr s15, [r3] 805a65e: eeb4 7ae7 vcmpe.f32 s14, s15 805a662: eef1 fa10 vmrs APSR_nzcv, fpscr 805a666: d400 bmi.n 805a66a peakAVS[i] = fval[i]; } break; 805a668: e0b1 b.n 805a7ce peakAVS[i] = fval[i]; 805a66a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a66e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a672: f107 01fc add.w r1, r7, #252 ; 0xfc 805a676: 0092 lsls r2, r2, #2 805a678: 440a add r2, r1 805a67a: 6812 ldr r2, [r2, #0] 805a67c: 496b ldr r1, [pc, #428] ; (805a82c ) 805a67e: 009b lsls r3, r3, #2 805a680: 440b add r3, r1 805a682: 601a str r2, [r3, #0] break; 805a684: e0a3 b.n 805a7ce case EXCESS: if(ABS(peakAVS[i]) < ABS(fval[i])) { 805a686: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a68a: 4a68 ldr r2, [pc, #416] ; (805a82c ) 805a68c: 009b lsls r3, r3, #2 805a68e: 4413 add r3, r2 805a690: edd3 7a00 vldr s15, [r3] 805a694: eef5 7ac0 vcmpe.f32 s15, #0.0 805a698: eef1 fa10 vmrs APSR_nzcv, fpscr 805a69c: dd07 ble.n 805a6ae 805a69e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a6a2: 4a62 ldr r2, [pc, #392] ; (805a82c ) 805a6a4: 009b lsls r3, r3, #2 805a6a6: 4413 add r3, r2 805a6a8: ed93 7a00 vldr s14, [r3] 805a6ac: e008 b.n 805a6c0 805a6ae: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a6b2: 4a5e ldr r2, [pc, #376] ; (805a82c ) 805a6b4: 009b lsls r3, r3, #2 805a6b6: 4413 add r3, r2 805a6b8: edd3 7a00 vldr s15, [r3] 805a6bc: eeb1 7a67 vneg.f32 s14, s15 805a6c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a6c4: f107 02fc add.w r2, r7, #252 ; 0xfc 805a6c8: 009b lsls r3, r3, #2 805a6ca: 4413 add r3, r2 805a6cc: edd3 7a00 vldr s15, [r3] 805a6d0: eef5 7ac0 vcmpe.f32 s15, #0.0 805a6d4: eef1 fa10 vmrs APSR_nzcv, fpscr 805a6d8: dd08 ble.n 805a6ec 805a6da: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a6de: f107 02fc add.w r2, r7, #252 ; 0xfc 805a6e2: 009b lsls r3, r3, #2 805a6e4: 4413 add r3, r2 805a6e6: edd3 7a00 vldr s15, [r3] 805a6ea: e009 b.n 805a700 805a6ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a6f0: f107 02fc add.w r2, r7, #252 ; 0xfc 805a6f4: 009b lsls r3, r3, #2 805a6f6: 4413 add r3, r2 805a6f8: edd3 7a00 vldr s15, [r3] 805a6fc: eef1 7a67 vneg.f32 s15, s15 805a700: eeb4 7ae7 vcmpe.f32 s14, s15 805a704: eef1 fa10 vmrs APSR_nzcv, fpscr 805a708: d400 bmi.n 805a70c peakAVS[i] = fval[i]; } break; 805a70a: e060 b.n 805a7ce peakAVS[i] = fval[i]; 805a70c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a710: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a714: f107 01fc add.w r1, r7, #252 ; 0xfc 805a718: 0092 lsls r2, r2, #2 805a71a: 440a add r2, r1 805a71c: 6812 ldr r2, [r2, #0] 805a71e: 4943 ldr r1, [pc, #268] ; (805a82c ) 805a720: 009b lsls r3, r3, #2 805a722: 440b add r3, r1 805a724: 601a str r2, [r3, #0] break; 805a726: e052 b.n 805a7ce case PEAK_FACTOR: if(peakAVS[i] < fpeak[i]) { 805a728: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a72c: 4a3f ldr r2, [pc, #252] ; (805a82c ) 805a72e: 009b lsls r3, r3, #2 805a730: 4413 add r3, r2 805a732: ed93 7a00 vldr s14, [r3] 805a736: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a73a: f107 02ec add.w r2, r7, #236 ; 0xec 805a73e: 009b lsls r3, r3, #2 805a740: 4413 add r3, r2 805a742: edd3 7a00 vldr s15, [r3] 805a746: eeb4 7ae7 vcmpe.f32 s14, s15 805a74a: eef1 fa10 vmrs APSR_nzcv, fpscr 805a74e: d50c bpl.n 805a76a peakAVS[i] = fpeak[i]; 805a750: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a754: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a758: f107 01ec add.w r1, r7, #236 ; 0xec 805a75c: 0092 lsls r2, r2, #2 805a75e: 440a add r2, r1 805a760: 6812 ldr r2, [r2, #0] 805a762: 4932 ldr r1, [pc, #200] ; (805a82c ) 805a764: 009b lsls r3, r3, #2 805a766: 440b add r3, r1 805a768: 601a str r2, [r3, #0] } rmsAVS[i] += fval[i]; 805a76a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a76e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a772: 492f ldr r1, [pc, #188] ; (805a830 ) 805a774: 0092 lsls r2, r2, #2 805a776: 440a add r2, r1 805a778: ed92 7a00 vldr s14, [r2] 805a77c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a780: f107 01fc add.w r1, r7, #252 ; 0xfc 805a784: 0092 lsls r2, r2, #2 805a786: 440a add r2, r1 805a788: edd2 7a00 vldr s15, [r2] 805a78c: ee77 7a27 vadd.f32 s15, s14, s15 805a790: 4a27 ldr r2, [pc, #156] ; (805a830 ) 805a792: 009b lsls r3, r3, #2 805a794: 4413 add r3, r2 805a796: edc3 7a00 vstr s15, [r3] break; 805a79a: e018 b.n 805a7ce case RMS: rmsAVS[i] += fval[i]; 805a79c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a7a0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a7a4: 4922 ldr r1, [pc, #136] ; (805a830 ) 805a7a6: 0092 lsls r2, r2, #2 805a7a8: 440a add r2, r1 805a7aa: ed92 7a00 vldr s14, [r2] 805a7ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a7b2: f107 01fc add.w r1, r7, #252 ; 0xfc 805a7b6: 0092 lsls r2, r2, #2 805a7b8: 440a add r2, r1 805a7ba: edd2 7a00 vldr s15, [r2] 805a7be: ee77 7a27 vadd.f32 s15, s14, s15 805a7c2: 4a1b ldr r2, [pc, #108] ; (805a830 ) 805a7c4: 009b lsls r3, r3, #2 805a7c6: 4413 add r3, r2 805a7c8: edc3 7a00 vstr s15, [r3] break; 805a7cc: bf00 nop for(i = 0; i < 3; i++) 805a7ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a7d2: 3301 adds r3, #1 805a7d4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a7d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a7dc: 2b02 cmp r3, #2 805a7de: f67f af18 bls.w 805a612 } } MeanCnt++; 805a7e2: 4b14 ldr r3, [pc, #80] ; (805a834 ) 805a7e4: 681b ldr r3, [r3, #0] 805a7e6: 3301 adds r3, #1 805a7e8: 4a12 ldr r2, [pc, #72] ; (805a834 ) 805a7ea: 6013 str r3, [r2, #0] /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////// BI-TECHNO ////////////////////////// if(!(MeanCnt % 8)) 805a7ec: 4b11 ldr r3, [pc, #68] ; (805a834 ) 805a7ee: 681b ldr r3, [r3, #0] 805a7f0: f003 0307 and.w r3, r3, #7 805a7f4: 2b00 cmp r3, #0 805a7f6: f040 85f8 bne.w 805b3ea { for(j = AVG[pardata.AVG] - 1; j > 0; j--) 805a7fa: 4b0b ldr r3, [pc, #44] ; (805a828 ) 805a7fc: 7b5b ldrb r3, [r3, #13] 805a7fe: b2db uxtb r3, r3 805a800: 461a mov r2, r3 805a802: 4b0d ldr r3, [pc, #52] ; (805a838 ) 805a804: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a808: 3b01 subs r3, #1 805a80a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 805a80e: e086 b.n 805a91e 805a810: 20021d24 .word 0x20021d24 805a814: 20008000 .word 0x20008000 805a818: 20020d8c .word 0x20020d8c 805a81c: 20021588 .word 0x20021588 805a820: bf800000 .word 0xbf800000 805a824: 20021594 .word 0x20021594 805a828: 20023ea8 .word 0x20023ea8 805a82c: 20021d44 .word 0x20021d44 805a830: 20021d30 .word 0x20021d30 805a834: 20020dd8 .word 0x20020dd8 805a838: 080f2e78 .word 0x080f2e78 { fl = ACC_PEAK_RD(j - 1); 805a83c: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a840: 3b01 subs r3, #1 805a842: 009a lsls r2, r3, #2 805a844: 4bb9 ldr r3, [pc, #740] ; (805ab2c ) 805a846: 4413 add r3, r2 805a848: 681b ldr r3, [r3, #0] 805a84a: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc ACC_PEAK_WR(j) = fl; 805a84e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a852: 009a lsls r2, r3, #2 805a854: 4bb5 ldr r3, [pc, #724] ; (805ab2c ) 805a856: 4413 add r3, r2 805a858: 461a mov r2, r3 805a85a: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805a85e: 6013 str r3, [r2, #0] fl = ACC_RMS_RD(j - 1); 805a860: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a864: 3b01 subs r3, #1 805a866: 009a lsls r2, r3, #2 805a868: 4bb1 ldr r3, [pc, #708] ; (805ab30 ) 805a86a: 4413 add r3, r2 805a86c: 681b ldr r3, [r3, #0] 805a86e: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc ACC_RMS_WR(j) = fl; 805a872: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a876: 009a lsls r2, r3, #2 805a878: 4bad ldr r3, [pc, #692] ; (805ab30 ) 805a87a: 4413 add r3, r2 805a87c: 461a mov r2, r3 805a87e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805a882: 6013 str r3, [r2, #0] fl = VEL_PEAK_RD(j - 1); 805a884: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a888: 3b01 subs r3, #1 805a88a: 009a lsls r2, r3, #2 805a88c: 4ba9 ldr r3, [pc, #676] ; (805ab34 ) 805a88e: 4413 add r3, r2 805a890: 681b ldr r3, [r3, #0] 805a892: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc VEL_PEAK_WR(j) = fl; 805a896: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a89a: 009a lsls r2, r3, #2 805a89c: 4ba5 ldr r3, [pc, #660] ; (805ab34 ) 805a89e: 4413 add r3, r2 805a8a0: 461a mov r2, r3 805a8a2: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805a8a6: 6013 str r3, [r2, #0] fl = VEL_RMS_RD(j - 1); 805a8a8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a8ac: 3b01 subs r3, #1 805a8ae: 009a lsls r2, r3, #2 805a8b0: 4ba1 ldr r3, [pc, #644] ; (805ab38 ) 805a8b2: 4413 add r3, r2 805a8b4: 681b ldr r3, [r3, #0] 805a8b6: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc VEL_RMS_WR(j) = fl; 805a8ba: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a8be: 009a lsls r2, r3, #2 805a8c0: 4b9d ldr r3, [pc, #628] ; (805ab38 ) 805a8c2: 4413 add r3, r2 805a8c4: 461a mov r2, r3 805a8c6: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805a8ca: 6013 str r3, [r2, #0] fl = DIS_PEAK_RD(j - 1); 805a8cc: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a8d0: 3b01 subs r3, #1 805a8d2: 009a lsls r2, r3, #2 805a8d4: 4b99 ldr r3, [pc, #612] ; (805ab3c ) 805a8d6: 4413 add r3, r2 805a8d8: 681b ldr r3, [r3, #0] 805a8da: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc DIS_PEAK_WR(j) = fl; 805a8de: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a8e2: 009a lsls r2, r3, #2 805a8e4: 4b95 ldr r3, [pc, #596] ; (805ab3c ) 805a8e6: 4413 add r3, r2 805a8e8: 461a mov r2, r3 805a8ea: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805a8ee: 6013 str r3, [r2, #0] fl = DIS_RMS_RD(j - 1); 805a8f0: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a8f4: 3b01 subs r3, #1 805a8f6: 009a lsls r2, r3, #2 805a8f8: 4b91 ldr r3, [pc, #580] ; (805ab40 ) 805a8fa: 4413 add r3, r2 805a8fc: 681b ldr r3, [r3, #0] 805a8fe: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc DIS_RMS_WR(j) = fl; 805a902: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a906: 009a lsls r2, r3, #2 805a908: 4b8d ldr r3, [pc, #564] ; (805ab40 ) 805a90a: 4413 add r3, r2 805a90c: 461a mov r2, r3 805a90e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805a912: 6013 str r3, [r2, #0] for(j = AVG[pardata.AVG] - 1; j > 0; j--) 805a914: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a918: 3b01 subs r3, #1 805a91a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 805a91e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a922: 2b00 cmp r3, #0 805a924: d18a bne.n 805a83c } fl = (float32_t) (AVG[pardata.AVG] * 8u) * 8192.0f; 805a926: 4b87 ldr r3, [pc, #540] ; (805ab44 ) 805a928: 7b5b ldrb r3, [r3, #13] 805a92a: b2db uxtb r3, r3 805a92c: 461a mov r2, r3 805a92e: 4b86 ldr r3, [pc, #536] ; (805ab48 ) 805a930: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a934: 00db lsls r3, r3, #3 805a936: ee07 3a90 vmov s15, r3 805a93a: eef8 7a67 vcvt.f32.u32 s15, s15 805a93e: ed9f 7a83 vldr s14, [pc, #524] ; 805ab4c 805a942: ee67 7a87 vmul.f32 s15, s15, s14 805a946: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc for(i = 0; i < 3; i++) 805a94a: 2300 movs r3, #0 805a94c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a950: f000 bcaf b.w 805b2b2 { switch(pardata.IVS[i]) 805a954: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a958: 4a7a ldr r2, [pc, #488] ; (805ab44 ) 805a95a: 4413 add r3, r2 805a95c: 789b ldrb r3, [r3, #2] 805a95e: b2db uxtb r3, r3 805a960: 2b04 cmp r3, #4 805a962: f200 84a1 bhi.w 805b2a8 805a966: a201 add r2, pc, #4 ; (adr r2, 805a96c ) 805a968: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805a96c: 0805a981 .word 0x0805a981 805a970: 0805b0dd .word 0x0805b0dd 805a974: 0805a981 .word 0x0805a981 805a978: 0805ae0f .word 0x0805ae0f 805a97c: 0805ab5d .word 0x0805ab5d { case PEAK: case PEAK_TO_PEAK: if(i == ACC) 805a980: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a984: 2b00 cmp r3, #0 805a986: d11a bne.n 805a9be { ACC_PEAK_WR(0) = peakAVS[i]; 805a988: 4a68 ldr r2, [pc, #416] ; (805ab2c ) 805a98a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a98e: 4970 ldr r1, [pc, #448] ; (805ab50 ) 805a990: 009b lsls r3, r3, #2 805a992: 440b add r3, r1 805a994: 681b ldr r3, [r3, #0] 805a996: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG],&peakAVS[i], &k); 805a998: 4b6a ldr r3, [pc, #424] ; (805ab44 ) 805a99a: 7b5b ldrb r3, [r3, #13] 805a99c: b2db uxtb r3, r3 805a99e: 461a mov r2, r3 805a9a0: 4b69 ldr r3, [pc, #420] ; (805ab48 ) 805a9a2: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a9a6: 4619 mov r1, r3 805a9a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9ac: 009b lsls r3, r3, #2 805a9ae: 4a68 ldr r2, [pc, #416] ; (805ab50 ) 805a9b0: 441a add r2, r3 805a9b2: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805a9b6: 485d ldr r0, [pc, #372] ; (805ab2c ) 805a9b8: f073 fd2c bl 80ce414 805a9bc: e03c b.n 805aa38 } else if(i == VEL) 805a9be: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9c2: 2b01 cmp r3, #1 805a9c4: d11a bne.n 805a9fc { VEL_PEAK_WR(0) = peakAVS[i]; 805a9c6: 4a5b ldr r2, [pc, #364] ; (805ab34 ) 805a9c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9cc: 4960 ldr r1, [pc, #384] ; (805ab50 ) 805a9ce: 009b lsls r3, r3, #2 805a9d0: 440b add r3, r1 805a9d2: 681b ldr r3, [r3, #0] 805a9d4: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805a9d6: 4b5b ldr r3, [pc, #364] ; (805ab44 ) 805a9d8: 7b5b ldrb r3, [r3, #13] 805a9da: b2db uxtb r3, r3 805a9dc: 461a mov r2, r3 805a9de: 4b5a ldr r3, [pc, #360] ; (805ab48 ) 805a9e0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a9e4: 4619 mov r1, r3 805a9e6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9ea: 009b lsls r3, r3, #2 805a9ec: 4a58 ldr r2, [pc, #352] ; (805ab50 ) 805a9ee: 441a add r2, r3 805a9f0: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805a9f4: 484f ldr r0, [pc, #316] ; (805ab34 ) 805a9f6: f073 fd0d bl 80ce414 805a9fa: e01d b.n 805aa38 } else if(i == DIS) 805a9fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aa00: 2b02 cmp r3, #2 805aa02: d119 bne.n 805aa38 { DIS_PEAK_WR(0) = peakAVS[i]; 805aa04: 4a4d ldr r2, [pc, #308] ; (805ab3c ) 805aa06: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aa0a: 4951 ldr r1, [pc, #324] ; (805ab50 ) 805aa0c: 009b lsls r3, r3, #2 805aa0e: 440b add r3, r1 805aa10: 681b ldr r3, [r3, #0] 805aa12: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805aa14: 4b4b ldr r3, [pc, #300] ; (805ab44 ) 805aa16: 7b5b ldrb r3, [r3, #13] 805aa18: b2db uxtb r3, r3 805aa1a: 461a mov r2, r3 805aa1c: 4b4a ldr r3, [pc, #296] ; (805ab48 ) 805aa1e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805aa22: 4619 mov r1, r3 805aa24: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aa28: 009b lsls r3, r3, #2 805aa2a: 4a49 ldr r2, [pc, #292] ; (805ab50 ) 805aa2c: 441a add r2, r3 805aa2e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805aa32: 4842 ldr r0, [pc, #264] ; (805ab3c ) 805aa34: f073 fcee bl 80ce414 } peakAVS[i] = ABS(peakAVS[i]); 805aa38: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aa3c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805aa40: 4943 ldr r1, [pc, #268] ; (805ab50 ) 805aa42: 0092 lsls r2, r2, #2 805aa44: 440a add r2, r1 805aa46: edd2 7a00 vldr s15, [r2] 805aa4a: eef5 7ac0 vcmpe.f32 s15, #0.0 805aa4e: eef1 fa10 vmrs APSR_nzcv, fpscr 805aa52: dd07 ble.n 805aa64 805aa54: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805aa58: 493d ldr r1, [pc, #244] ; (805ab50 ) 805aa5a: 0092 lsls r2, r2, #2 805aa5c: 440a add r2, r1 805aa5e: edd2 7a00 vldr s15, [r2] 805aa62: e008 b.n 805aa76 805aa64: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805aa68: 4939 ldr r1, [pc, #228] ; (805ab50 ) 805aa6a: 0092 lsls r2, r2, #2 805aa6c: 440a add r2, r1 805aa6e: edd2 7a00 vldr s15, [r2] 805aa72: eef1 7a67 vneg.f32 s15, s15 805aa76: 4a36 ldr r2, [pc, #216] ; (805ab50 ) 805aa78: 009b lsls r3, r3, #2 805aa7a: 4413 add r3, r2 805aa7c: edc3 7a00 vstr s15, [r3] skz[i] = peakAVS[i]; 805aa80: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aa84: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805aa88: 4931 ldr r1, [pc, #196] ; (805ab50 ) 805aa8a: 0092 lsls r2, r2, #2 805aa8c: 440a add r2, r1 805aa8e: 6812 ldr r2, [r2, #0] 805aa90: 4930 ldr r1, [pc, #192] ; (805ab54 ) 805aa92: 009b lsls r3, r3, #2 805aa94: 440b add r3, r1 805aa96: 601a str r2, [r3, #0] skz[i] = MedMeas(i, skz[i]); 805aa98: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 805aa9c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aaa0: b2d9 uxtb r1, r3 805aaa2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aaa6: 4a2b ldr r2, [pc, #172] ; (805ab54 ) 805aaa8: 009b lsls r3, r3, #2 805aaaa: 4413 add r3, r2 805aaac: edd3 7a00 vldr s15, [r3] 805aab0: eeb0 0a67 vmov.f32 s0, s15 805aab4: 4608 mov r0, r1 805aab6: f00b f9d7 bl 8065e68 805aaba: eef0 7a40 vmov.f32 s15, s0 805aabe: 4a25 ldr r2, [pc, #148] ; (805ab54 ) 805aac0: 00a3 lsls r3, r4, #2 805aac2: 4413 add r3, r2 805aac4: edc3 7a00 vstr s15, [r3] if(pardata.IVS[i] != EXCESS) 805aac8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aacc: 4a1d ldr r2, [pc, #116] ; (805ab44 ) 805aace: 4413 add r3, r2 805aad0: 789b ldrb r3, [r3, #2] 805aad2: b2db uxtb r3, r3 805aad4: 2b04 cmp r3, #4 805aad6: d012 beq.n 805aafe skz[i] /= pardata.IKK; 805aad8: 4b1a ldr r3, [pc, #104] ; (805ab44 ) 805aada: ed93 7a04 vldr s14, [r3, #16] 805aade: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aae2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805aae6: 491b ldr r1, [pc, #108] ; (805ab54 ) 805aae8: 0092 lsls r2, r2, #2 805aaea: 440a add r2, r1 805aaec: edd2 6a00 vldr s13, [r2] 805aaf0: eec6 7a87 vdiv.f32 s15, s13, s14 805aaf4: 4a17 ldr r2, [pc, #92] ; (805ab54 ) 805aaf6: 009b lsls r3, r3, #2 805aaf8: 4413 add r3, r2 805aafa: edc3 7a00 vstr s15, [r3] LinToLog(&skz[i], &skzDB[i]); 805aafe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab02: 009b lsls r3, r3, #2 805ab04: 4a13 ldr r2, [pc, #76] ; (805ab54 ) 805ab06: 1898 adds r0, r3, r2 805ab08: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab0c: 009b lsls r3, r3, #2 805ab0e: 4a12 ldr r2, [pc, #72] ; (805ab58 ) 805ab10: 4413 add r3, r2 805ab12: 4619 mov r1, r3 805ab14: f00b f918 bl 8065d48 peakAVS[i] = 0.0f; 805ab18: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab1c: 4a0c ldr r2, [pc, #48] ; (805ab50 ) 805ab1e: 009b lsls r3, r3, #2 805ab20: 4413 add r3, r2 805ab22: f04f 0200 mov.w r2, #0 805ab26: 601a str r2, [r3, #0] break; 805ab28: e3be b.n 805b2a8 805ab2a: bf00 nop 805ab2c: 64050000 .word 0x64050000 805ab30: 64050800 .word 0x64050800 805ab34: 64051000 .word 0x64051000 805ab38: 64051800 .word 0x64051800 805ab3c: 64052000 .word 0x64052000 805ab40: 64052800 .word 0x64052800 805ab44: 20023ea8 .word 0x20023ea8 805ab48: 080f2e78 .word 0x080f2e78 805ab4c: 46000000 .word 0x46000000 805ab50: 20021d44 .word 0x20021d44 805ab54: 20021588 .word 0x20021588 805ab58: 20021594 .word 0x20021594 case EXCESS: if(i == ACC) 805ab5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab60: 2b00 cmp r3, #0 805ab62: d15b bne.n 805ac1c { ACC_PEAK_WR(0) = peakAVS[i]; 805ab64: 4ab9 ldr r2, [pc, #740] ; (805ae4c ) 805ab66: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab6a: 49b9 ldr r1, [pc, #740] ; (805ae50 ) 805ab6c: 009b lsls r3, r3, #2 805ab6e: 440b add r3, r1 805ab70: 681b ldr r3, [r3, #0] 805ab72: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 805ab74: 4bb7 ldr r3, [pc, #732] ; (805ae54 ) 805ab76: 7b5b ldrb r3, [r3, #13] 805ab78: b2db uxtb r3, r3 805ab7a: 461a mov r2, r3 805ab7c: 4bb6 ldr r3, [pc, #728] ; (805ae58 ) 805ab7e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805ab82: 4619 mov r1, r3 805ab84: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805ab88: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ab8c: 48af ldr r0, [pc, #700] ; (805ae4c ) 805ab8e: f073 fba5 bl 80ce2dc arm_max_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 805ab92: 4bb0 ldr r3, [pc, #704] ; (805ae54 ) 805ab94: 7b5b ldrb r3, [r3, #13] 805ab96: b2db uxtb r3, r3 805ab98: 461a mov r2, r3 805ab9a: 4baf ldr r3, [pc, #700] ; (805ae58 ) 805ab9c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805aba0: 4618 mov r0, r3 805aba2: f507 71e4 add.w r1, r7, #456 ; 0x1c8 805aba6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805abaa: 1d1a adds r2, r3, #4 805abac: 460b mov r3, r1 805abae: 4601 mov r1, r0 805abb0: 48a6 ldr r0, [pc, #664] ; (805ae4c ) 805abb2: f073 fc2f bl 80ce414 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 805abb6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805abba: eef5 7ac0 vcmpe.f32 s15, #0.0 805abbe: eef1 fa10 vmrs APSR_nzcv, fpscr 805abc2: dd02 ble.n 805abca 805abc4: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 805abc8: e003 b.n 805abd2 805abca: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805abce: eeb1 7a67 vneg.f32 s14, s15 805abd2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805abd6: eef5 7ac0 vcmpe.f32 s15, #0.0 805abda: eef1 fa10 vmrs APSR_nzcv, fpscr 805abde: dd02 ble.n 805abe6 805abe0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805abe4: e003 b.n 805abee 805abe6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805abea: eef1 7a67 vneg.f32 s15, s15 805abee: eeb4 7ae7 vcmpe.f32 s14, s15 805abf2: eef1 fa10 vmrs APSR_nzcv, fpscr 805abf6: dd08 ble.n 805ac0a 805abf8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805abfc: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 805ac00: 4993 ldr r1, [pc, #588] ; (805ae50 ) 805ac02: 009b lsls r3, r3, #2 805ac04: 440b add r3, r1 805ac06: 601a str r2, [r3, #0] 805ac08: e0c7 b.n 805ad9a else peakAVS[i] = fn[1]; 805ac0a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ac0e: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 805ac12: 498f ldr r1, [pc, #572] ; (805ae50 ) 805ac14: 009b lsls r3, r3, #2 805ac16: 440b add r3, r1 805ac18: 601a str r2, [r3, #0] 805ac1a: e0be b.n 805ad9a } else if(i == VEL) 805ac1c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ac20: 2b01 cmp r3, #1 805ac22: d15b bne.n 805acdc { VEL_PEAK_WR(0) = peakAVS[i]; 805ac24: 4a8d ldr r2, [pc, #564] ; (805ae5c ) 805ac26: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ac2a: 4989 ldr r1, [pc, #548] ; (805ae50 ) 805ac2c: 009b lsls r3, r3, #2 805ac2e: 440b add r3, r1 805ac30: 681b ldr r3, [r3, #0] 805ac32: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 805ac34: 4b87 ldr r3, [pc, #540] ; (805ae54 ) 805ac36: 7b5b ldrb r3, [r3, #13] 805ac38: b2db uxtb r3, r3 805ac3a: 461a mov r2, r3 805ac3c: 4b86 ldr r3, [pc, #536] ; (805ae58 ) 805ac3e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805ac42: 4619 mov r1, r3 805ac44: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805ac48: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ac4c: 4883 ldr r0, [pc, #524] ; (805ae5c ) 805ac4e: f073 fb45 bl 80ce2dc arm_max_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 805ac52: 4b80 ldr r3, [pc, #512] ; (805ae54 ) 805ac54: 7b5b ldrb r3, [r3, #13] 805ac56: b2db uxtb r3, r3 805ac58: 461a mov r2, r3 805ac5a: 4b7f ldr r3, [pc, #508] ; (805ae58 ) 805ac5c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805ac60: 4618 mov r0, r3 805ac62: f507 71e4 add.w r1, r7, #456 ; 0x1c8 805ac66: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ac6a: 1d1a adds r2, r3, #4 805ac6c: 460b mov r3, r1 805ac6e: 4601 mov r1, r0 805ac70: 487a ldr r0, [pc, #488] ; (805ae5c ) 805ac72: f073 fbcf bl 80ce414 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 805ac76: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ac7a: eef5 7ac0 vcmpe.f32 s15, #0.0 805ac7e: eef1 fa10 vmrs APSR_nzcv, fpscr 805ac82: dd02 ble.n 805ac8a 805ac84: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 805ac88: e003 b.n 805ac92 805ac8a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ac8e: eeb1 7a67 vneg.f32 s14, s15 805ac92: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ac96: eef5 7ac0 vcmpe.f32 s15, #0.0 805ac9a: eef1 fa10 vmrs APSR_nzcv, fpscr 805ac9e: dd02 ble.n 805aca6 805aca0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805aca4: e003 b.n 805acae 805aca6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805acaa: eef1 7a67 vneg.f32 s15, s15 805acae: eeb4 7ae7 vcmpe.f32 s14, s15 805acb2: eef1 fa10 vmrs APSR_nzcv, fpscr 805acb6: dd08 ble.n 805acca 805acb8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805acbc: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 805acc0: 4963 ldr r1, [pc, #396] ; (805ae50 ) 805acc2: 009b lsls r3, r3, #2 805acc4: 440b add r3, r1 805acc6: 601a str r2, [r3, #0] 805acc8: e067 b.n 805ad9a else peakAVS[i] = fn[1]; 805acca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805acce: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 805acd2: 495f ldr r1, [pc, #380] ; (805ae50 ) 805acd4: 009b lsls r3, r3, #2 805acd6: 440b add r3, r1 805acd8: 601a str r2, [r3, #0] 805acda: e05e b.n 805ad9a } else if(i == DIS) 805acdc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ace0: 2b02 cmp r3, #2 805ace2: d15a bne.n 805ad9a { DIS_PEAK_WR(0) = peakAVS[i]; 805ace4: 4a5e ldr r2, [pc, #376] ; (805ae60 ) 805ace6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805acea: 4959 ldr r1, [pc, #356] ; (805ae50 ) 805acec: 009b lsls r3, r3, #2 805acee: 440b add r3, r1 805acf0: 681b ldr r3, [r3, #0] 805acf2: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 805acf4: 4b57 ldr r3, [pc, #348] ; (805ae54 ) 805acf6: 7b5b ldrb r3, [r3, #13] 805acf8: b2db uxtb r3, r3 805acfa: 461a mov r2, r3 805acfc: 4b56 ldr r3, [pc, #344] ; (805ae58 ) 805acfe: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805ad02: 4619 mov r1, r3 805ad04: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805ad08: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ad0c: 4854 ldr r0, [pc, #336] ; (805ae60 ) 805ad0e: f073 fae5 bl 80ce2dc arm_max_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 805ad12: 4b50 ldr r3, [pc, #320] ; (805ae54 ) 805ad14: 7b5b ldrb r3, [r3, #13] 805ad16: b2db uxtb r3, r3 805ad18: 461a mov r2, r3 805ad1a: 4b4f ldr r3, [pc, #316] ; (805ae58 ) 805ad1c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805ad20: 4618 mov r0, r3 805ad22: f507 71e4 add.w r1, r7, #456 ; 0x1c8 805ad26: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ad2a: 1d1a adds r2, r3, #4 805ad2c: 460b mov r3, r1 805ad2e: 4601 mov r1, r0 805ad30: 484b ldr r0, [pc, #300] ; (805ae60 ) 805ad32: f073 fb6f bl 80ce414 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 805ad36: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ad3a: eef5 7ac0 vcmpe.f32 s15, #0.0 805ad3e: eef1 fa10 vmrs APSR_nzcv, fpscr 805ad42: dd02 ble.n 805ad4a 805ad44: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 805ad48: e003 b.n 805ad52 805ad4a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ad4e: eeb1 7a67 vneg.f32 s14, s15 805ad52: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ad56: eef5 7ac0 vcmpe.f32 s15, #0.0 805ad5a: eef1 fa10 vmrs APSR_nzcv, fpscr 805ad5e: dd02 ble.n 805ad66 805ad60: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ad64: e003 b.n 805ad6e 805ad66: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ad6a: eef1 7a67 vneg.f32 s15, s15 805ad6e: eeb4 7ae7 vcmpe.f32 s14, s15 805ad72: eef1 fa10 vmrs APSR_nzcv, fpscr 805ad76: dd08 ble.n 805ad8a 805ad78: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ad7c: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 805ad80: 4933 ldr r1, [pc, #204] ; (805ae50 ) 805ad82: 009b lsls r3, r3, #2 805ad84: 440b add r3, r1 805ad86: 601a str r2, [r3, #0] 805ad88: e007 b.n 805ad9a else peakAVS[i] = fn[1]; 805ad8a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ad8e: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 805ad92: 492f ldr r1, [pc, #188] ; (805ae50 ) 805ad94: 009b lsls r3, r3, #2 805ad96: 440b add r3, r1 805ad98: 601a str r2, [r3, #0] } skz[i] = peakAVS[i]; 805ad9a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ad9e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ada2: 492b ldr r1, [pc, #172] ; (805ae50 ) 805ada4: 0092 lsls r2, r2, #2 805ada6: 440a add r2, r1 805ada8: 6812 ldr r2, [r2, #0] 805adaa: 492e ldr r1, [pc, #184] ; (805ae64 ) 805adac: 009b lsls r3, r3, #2 805adae: 440b add r3, r1 805adb0: 601a str r2, [r3, #0] skz[i] = MedMeas(i, skz[i]); 805adb2: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 805adb6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805adba: b2d9 uxtb r1, r3 805adbc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805adc0: 4a28 ldr r2, [pc, #160] ; (805ae64 ) 805adc2: 009b lsls r3, r3, #2 805adc4: 4413 add r3, r2 805adc6: edd3 7a00 vldr s15, [r3] 805adca: eeb0 0a67 vmov.f32 s0, s15 805adce: 4608 mov r0, r1 805add0: f00b f84a bl 8065e68 805add4: eef0 7a40 vmov.f32 s15, s0 805add8: 4a22 ldr r2, [pc, #136] ; (805ae64 ) 805adda: 00a3 lsls r3, r4, #2 805addc: 4413 add r3, r2 805adde: edc3 7a00 vstr s15, [r3] LinToLog(&skz[i], &skzDB[i]); 805ade2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ade6: 009b lsls r3, r3, #2 805ade8: 4a1e ldr r2, [pc, #120] ; (805ae64 ) 805adea: 1898 adds r0, r3, r2 805adec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805adf0: 009b lsls r3, r3, #2 805adf2: 4a1d ldr r2, [pc, #116] ; (805ae68 ) 805adf4: 4413 add r3, r2 805adf6: 4619 mov r1, r3 805adf8: f00a ffa6 bl 8065d48 peakAVS[i] = 0.0f; 805adfc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ae00: 4a13 ldr r2, [pc, #76] ; (805ae50 ) 805ae02: 009b lsls r3, r3, #2 805ae04: 4413 add r3, r2 805ae06: f04f 0200 mov.w r2, #0 805ae0a: 601a str r2, [r3, #0] break; 805ae0c: e24c b.n 805b2a8 case PEAK_FACTOR: if(i == ACC) 805ae0e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ae12: 2b00 cmp r3, #0 805ae14: d12a bne.n 805ae6c { ACC_PEAK_WR(0) = peakAVS[i]; 805ae16: 4a0d ldr r2, [pc, #52] ; (805ae4c ) 805ae18: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ae1c: 490c ldr r1, [pc, #48] ; (805ae50 ) 805ae1e: 009b lsls r3, r3, #2 805ae20: 440b add r3, r1 805ae22: 681b ldr r3, [r3, #0] 805ae24: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG],&peakAVS[i], &k); 805ae26: 4b0b ldr r3, [pc, #44] ; (805ae54 ) 805ae28: 7b5b ldrb r3, [r3, #13] 805ae2a: b2db uxtb r3, r3 805ae2c: 461a mov r2, r3 805ae2e: 4b0a ldr r3, [pc, #40] ; (805ae58 ) 805ae30: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805ae34: 4619 mov r1, r3 805ae36: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ae3a: 009b lsls r3, r3, #2 805ae3c: 4a04 ldr r2, [pc, #16] ; (805ae50 ) 805ae3e: 441a add r2, r3 805ae40: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805ae44: 4801 ldr r0, [pc, #4] ; (805ae4c ) 805ae46: f073 fae5 bl 80ce414 805ae4a: e04c b.n 805aee6 805ae4c: 64050000 .word 0x64050000 805ae50: 20021d44 .word 0x20021d44 805ae54: 20023ea8 .word 0x20023ea8 805ae58: 080f2e78 .word 0x080f2e78 805ae5c: 64051000 .word 0x64051000 805ae60: 64052000 .word 0x64052000 805ae64: 20021588 .word 0x20021588 805ae68: 20021594 .word 0x20021594 } else if(i == VEL) 805ae6c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ae70: 2b01 cmp r3, #1 805ae72: d11a bne.n 805aeaa { VEL_PEAK_WR(0) = peakAVS[i]; 805ae74: 4ab7 ldr r2, [pc, #732] ; (805b154 ) 805ae76: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ae7a: 49b7 ldr r1, [pc, #732] ; (805b158 ) 805ae7c: 009b lsls r3, r3, #2 805ae7e: 440b add r3, r1 805ae80: 681b ldr r3, [r3, #0] 805ae82: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805ae84: 4bb5 ldr r3, [pc, #724] ; (805b15c ) 805ae86: 7b5b ldrb r3, [r3, #13] 805ae88: b2db uxtb r3, r3 805ae8a: 461a mov r2, r3 805ae8c: 4bb4 ldr r3, [pc, #720] ; (805b160 ) 805ae8e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805ae92: 4619 mov r1, r3 805ae94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ae98: 009b lsls r3, r3, #2 805ae9a: 4aaf ldr r2, [pc, #700] ; (805b158 ) 805ae9c: 441a add r2, r3 805ae9e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805aea2: 48ac ldr r0, [pc, #688] ; (805b154 ) 805aea4: f073 fab6 bl 80ce414 805aea8: e01d b.n 805aee6 } else if(i == DIS) 805aeaa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aeae: 2b02 cmp r3, #2 805aeb0: d119 bne.n 805aee6 { DIS_PEAK_WR(0) = peakAVS[i]; 805aeb2: 4aac ldr r2, [pc, #688] ; (805b164 ) 805aeb4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aeb8: 49a7 ldr r1, [pc, #668] ; (805b158 ) 805aeba: 009b lsls r3, r3, #2 805aebc: 440b add r3, r1 805aebe: 681b ldr r3, [r3, #0] 805aec0: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805aec2: 4ba6 ldr r3, [pc, #664] ; (805b15c ) 805aec4: 7b5b ldrb r3, [r3, #13] 805aec6: b2db uxtb r3, r3 805aec8: 461a mov r2, r3 805aeca: 4ba5 ldr r3, [pc, #660] ; (805b160 ) 805aecc: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805aed0: 4619 mov r1, r3 805aed2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aed6: 009b lsls r3, r3, #2 805aed8: 4a9f ldr r2, [pc, #636] ; (805b158 ) 805aeda: 441a add r2, r3 805aedc: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805aee0: 48a0 ldr r0, [pc, #640] ; (805b164 ) 805aee2: f073 fa97 bl 80ce414 } peakAVS[i] = ABS(peakAVS[i]); 805aee6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aeea: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805aeee: 499a ldr r1, [pc, #616] ; (805b158 ) 805aef0: 0092 lsls r2, r2, #2 805aef2: 440a add r2, r1 805aef4: edd2 7a00 vldr s15, [r2] 805aef8: eef5 7ac0 vcmpe.f32 s15, #0.0 805aefc: eef1 fa10 vmrs APSR_nzcv, fpscr 805af00: dd07 ble.n 805af12 805af02: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805af06: 4994 ldr r1, [pc, #592] ; (805b158 ) 805af08: 0092 lsls r2, r2, #2 805af0a: 440a add r2, r1 805af0c: edd2 7a00 vldr s15, [r2] 805af10: e008 b.n 805af24 805af12: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805af16: 4990 ldr r1, [pc, #576] ; (805b158 ) 805af18: 0092 lsls r2, r2, #2 805af1a: 440a add r2, r1 805af1c: edd2 7a00 vldr s15, [r2] 805af20: eef1 7a67 vneg.f32 s15, s15 805af24: 4a8c ldr r2, [pc, #560] ; (805b158 ) 805af26: 009b lsls r3, r3, #2 805af28: 4413 add r3, r2 805af2a: edc3 7a00 vstr s15, [r3] if(i == ACC) 805af2e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805af32: 2b00 cmp r3, #0 805af34: d119 bne.n 805af6a { ACC_RMS_WR(0) = rmsAVS[i]; 805af36: 4a8c ldr r2, [pc, #560] ; (805b168 ) 805af38: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805af3c: 498b ldr r1, [pc, #556] ; (805b16c ) 805af3e: 009b lsls r3, r3, #2 805af40: 440b add r3, r1 805af42: 681b ldr r3, [r3, #0] 805af44: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &ACC_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805af46: 4b85 ldr r3, [pc, #532] ; (805b15c ) 805af48: 7b5b ldrb r3, [r3, #13] 805af4a: b2db uxtb r3, r3 805af4c: 461a mov r2, r3 805af4e: 4b84 ldr r3, [pc, #528] ; (805b160 ) 805af50: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805af54: 4619 mov r1, r3 805af56: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805af5a: 009b lsls r3, r3, #2 805af5c: 4a83 ldr r2, [pc, #524] ; (805b16c ) 805af5e: 4413 add r3, r2 805af60: 461a mov r2, r3 805af62: 4881 ldr r0, [pc, #516] ; (805b168 ) 805af64: f073 fa20 bl 80ce3a8 805af68: e03a b.n 805afe0 } else if(i == VEL) 805af6a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805af6e: 2b01 cmp r3, #1 805af70: d119 bne.n 805afa6 { VEL_RMS_WR(0) = rmsAVS[i]; 805af72: 4a7f ldr r2, [pc, #508] ; (805b170 ) 805af74: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805af78: 497c ldr r1, [pc, #496] ; (805b16c ) 805af7a: 009b lsls r3, r3, #2 805af7c: 440b add r3, r1 805af7e: 681b ldr r3, [r3, #0] 805af80: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &VEL_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805af82: 4b76 ldr r3, [pc, #472] ; (805b15c ) 805af84: 7b5b ldrb r3, [r3, #13] 805af86: b2db uxtb r3, r3 805af88: 461a mov r2, r3 805af8a: 4b75 ldr r3, [pc, #468] ; (805b160 ) 805af8c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805af90: 4619 mov r1, r3 805af92: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805af96: 009b lsls r3, r3, #2 805af98: 4a74 ldr r2, [pc, #464] ; (805b16c ) 805af9a: 4413 add r3, r2 805af9c: 461a mov r2, r3 805af9e: 4874 ldr r0, [pc, #464] ; (805b170 ) 805afa0: f073 fa02 bl 80ce3a8 805afa4: e01c b.n 805afe0 } else if(i == DIS) 805afa6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805afaa: 2b02 cmp r3, #2 805afac: d118 bne.n 805afe0 { DIS_RMS_WR(0) = rmsAVS[i]; 805afae: 4a71 ldr r2, [pc, #452] ; (805b174 ) 805afb0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805afb4: 496d ldr r1, [pc, #436] ; (805b16c ) 805afb6: 009b lsls r3, r3, #2 805afb8: 440b add r3, r1 805afba: 681b ldr r3, [r3, #0] 805afbc: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &DIS_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805afbe: 4b67 ldr r3, [pc, #412] ; (805b15c ) 805afc0: 7b5b ldrb r3, [r3, #13] 805afc2: b2db uxtb r3, r3 805afc4: 461a mov r2, r3 805afc6: 4b66 ldr r3, [pc, #408] ; (805b160 ) 805afc8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805afcc: 4619 mov r1, r3 805afce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805afd2: 009b lsls r3, r3, #2 805afd4: 4a65 ldr r2, [pc, #404] ; (805b16c ) 805afd6: 4413 add r3, r2 805afd8: 461a mov r2, r3 805afda: 4866 ldr r0, [pc, #408] ; (805b174 ) 805afdc: f073 f9e4 bl 80ce3a8 } rmsAVS[i] *= AVG[pardata.AVG]; 805afe0: 4b5e ldr r3, [pc, #376] ; (805b15c ) 805afe2: 7b5b ldrb r3, [r3, #13] 805afe4: b2db uxtb r3, r3 805afe6: 461a mov r2, r3 805afe8: 4b5d ldr r3, [pc, #372] ; (805b160 ) 805afea: f833 0012 ldrh.w r0, [r3, r2, lsl #1] 805afee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aff2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805aff6: 495d ldr r1, [pc, #372] ; (805b16c ) 805aff8: 0092 lsls r2, r2, #2 805affa: 440a add r2, r1 805affc: ed92 7a00 vldr s14, [r2] 805b000: ee07 0a90 vmov s15, r0 805b004: eef8 7ae7 vcvt.f32.s32 s15, s15 805b008: ee67 7a27 vmul.f32 s15, s14, s15 805b00c: 4a57 ldr r2, [pc, #348] ; (805b16c ) 805b00e: 009b lsls r3, r3, #2 805b010: 4413 add r3, r2 805b012: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 805b016: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b01a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b01e: 4953 ldr r1, [pc, #332] ; (805b16c ) 805b020: 0092 lsls r2, r2, #2 805b022: 440a add r2, r1 805b024: edd2 6a00 vldr s13, [r2] 805b028: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805b02c: eec6 7a87 vdiv.f32 s15, s13, s14 805b030: 4a4e ldr r2, [pc, #312] ; (805b16c ) 805b032: 009b lsls r3, r3, #2 805b034: 4413 add r3, r2 805b036: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &rmsAVS[i]); 805b03a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b03e: 4a4b ldr r2, [pc, #300] ; (805b16c ) 805b040: 009b lsls r3, r3, #2 805b042: 4413 add r3, r2 805b044: edd3 7a00 vldr s15, [r3] 805b048: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b04c: 009b lsls r3, r3, #2 805b04e: 4a47 ldr r2, [pc, #284] ; (805b16c ) 805b050: 4413 add r3, r2 805b052: 4618 mov r0, r3 805b054: eeb0 0a67 vmov.f32 s0, s15 805b058: f7fb fbfa bl 8056850 skz[i] = peakAVS[i] / rmsAVS[i]; 805b05c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b060: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b064: 493c ldr r1, [pc, #240] ; (805b158 ) 805b066: 0092 lsls r2, r2, #2 805b068: 440a add r2, r1 805b06a: edd2 6a00 vldr s13, [r2] 805b06e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b072: 493e ldr r1, [pc, #248] ; (805b16c ) 805b074: 0092 lsls r2, r2, #2 805b076: 440a add r2, r1 805b078: ed92 7a00 vldr s14, [r2] 805b07c: eec6 7a87 vdiv.f32 s15, s13, s14 805b080: 4a3d ldr r2, [pc, #244] ; (805b178 ) 805b082: 009b lsls r3, r3, #2 805b084: 4413 add r3, r2 805b086: edc3 7a00 vstr s15, [r3] skz[i] = MedMeas(i, skz[i]); 805b08a: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 805b08e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b092: b2d9 uxtb r1, r3 805b094: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b098: 4a37 ldr r2, [pc, #220] ; (805b178 ) 805b09a: 009b lsls r3, r3, #2 805b09c: 4413 add r3, r2 805b09e: edd3 7a00 vldr s15, [r3] 805b0a2: eeb0 0a67 vmov.f32 s0, s15 805b0a6: 4608 mov r0, r1 805b0a8: f00a fede bl 8065e68 805b0ac: eef0 7a40 vmov.f32 s15, s0 805b0b0: 4a31 ldr r2, [pc, #196] ; (805b178 ) 805b0b2: 00a3 lsls r3, r4, #2 805b0b4: 4413 add r3, r2 805b0b6: edc3 7a00 vstr s15, [r3] skzDB[i] = 0.0f; 805b0ba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b0be: 4a2f ldr r2, [pc, #188] ; (805b17c ) 805b0c0: 009b lsls r3, r3, #2 805b0c2: 4413 add r3, r2 805b0c4: f04f 0200 mov.w r2, #0 805b0c8: 601a str r2, [r3, #0] peakAVS[i] = 0.0f; 805b0ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b0ce: 4a22 ldr r2, [pc, #136] ; (805b158 ) 805b0d0: 009b lsls r3, r3, #2 805b0d2: 4413 add r3, r2 805b0d4: f04f 0200 mov.w r2, #0 805b0d8: 601a str r2, [r3, #0] break; 805b0da: e0e5 b.n 805b2a8 case RMS: if(i == ACC) 805b0dc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b0e0: 2b00 cmp r3, #0 805b0e2: d119 bne.n 805b118 { ACC_RMS_WR(0) = rmsAVS[i]; 805b0e4: 4a20 ldr r2, [pc, #128] ; (805b168 ) 805b0e6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b0ea: 4920 ldr r1, [pc, #128] ; (805b16c ) 805b0ec: 009b lsls r3, r3, #2 805b0ee: 440b add r3, r1 805b0f0: 681b ldr r3, [r3, #0] 805b0f2: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &ACC_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805b0f4: 4b19 ldr r3, [pc, #100] ; (805b15c ) 805b0f6: 7b5b ldrb r3, [r3, #13] 805b0f8: b2db uxtb r3, r3 805b0fa: 461a mov r2, r3 805b0fc: 4b18 ldr r3, [pc, #96] ; (805b160 ) 805b0fe: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b102: 4619 mov r1, r3 805b104: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b108: 009b lsls r3, r3, #2 805b10a: 4a18 ldr r2, [pc, #96] ; (805b16c ) 805b10c: 4413 add r3, r2 805b10e: 461a mov r2, r3 805b110: 4815 ldr r0, [pc, #84] ; (805b168 ) 805b112: f073 f949 bl 80ce3a8 805b116: e050 b.n 805b1ba } else if(i == VEL) 805b118: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b11c: 2b01 cmp r3, #1 805b11e: d12f bne.n 805b180 { VEL_RMS_WR(0) = rmsAVS[i]; 805b120: 4a13 ldr r2, [pc, #76] ; (805b170 ) 805b122: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b126: 4911 ldr r1, [pc, #68] ; (805b16c ) 805b128: 009b lsls r3, r3, #2 805b12a: 440b add r3, r1 805b12c: 681b ldr r3, [r3, #0] 805b12e: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &VEL_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805b130: 4b0a ldr r3, [pc, #40] ; (805b15c ) 805b132: 7b5b ldrb r3, [r3, #13] 805b134: b2db uxtb r3, r3 805b136: 461a mov r2, r3 805b138: 4b09 ldr r3, [pc, #36] ; (805b160 ) 805b13a: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b13e: 4619 mov r1, r3 805b140: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b144: 009b lsls r3, r3, #2 805b146: 4a09 ldr r2, [pc, #36] ; (805b16c ) 805b148: 4413 add r3, r2 805b14a: 461a mov r2, r3 805b14c: 4808 ldr r0, [pc, #32] ; (805b170 ) 805b14e: f073 f92b bl 80ce3a8 805b152: e032 b.n 805b1ba 805b154: 64051000 .word 0x64051000 805b158: 20021d44 .word 0x20021d44 805b15c: 20023ea8 .word 0x20023ea8 805b160: 080f2e78 .word 0x080f2e78 805b164: 64052000 .word 0x64052000 805b168: 64050800 .word 0x64050800 805b16c: 20021d30 .word 0x20021d30 805b170: 64051800 .word 0x64051800 805b174: 64052800 .word 0x64052800 805b178: 20021588 .word 0x20021588 805b17c: 20021594 .word 0x20021594 } else if(i == DIS) 805b180: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b184: 2b02 cmp r3, #2 805b186: d118 bne.n 805b1ba { DIS_RMS_WR(0) = rmsAVS[i]; 805b188: 4ac8 ldr r2, [pc, #800] ; (805b4ac ) 805b18a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b18e: 49c8 ldr r1, [pc, #800] ; (805b4b0 ) 805b190: 009b lsls r3, r3, #2 805b192: 440b add r3, r1 805b194: 681b ldr r3, [r3, #0] 805b196: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &DIS_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805b198: 4bc6 ldr r3, [pc, #792] ; (805b4b4 ) 805b19a: 7b5b ldrb r3, [r3, #13] 805b19c: b2db uxtb r3, r3 805b19e: 461a mov r2, r3 805b1a0: 4bc5 ldr r3, [pc, #788] ; (805b4b8 ) 805b1a2: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b1a6: 4619 mov r1, r3 805b1a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b1ac: 009b lsls r3, r3, #2 805b1ae: 4ac0 ldr r2, [pc, #768] ; (805b4b0 ) 805b1b0: 4413 add r3, r2 805b1b2: 461a mov r2, r3 805b1b4: 48bd ldr r0, [pc, #756] ; (805b4ac ) 805b1b6: f073 f8f7 bl 80ce3a8 } rmsAVS[i] *= (float32_t) AVG[pardata.AVG]; 805b1ba: 4bbe ldr r3, [pc, #760] ; (805b4b4 ) 805b1bc: 7b5b ldrb r3, [r3, #13] 805b1be: b2db uxtb r3, r3 805b1c0: 461a mov r2, r3 805b1c2: 4bbd ldr r3, [pc, #756] ; (805b4b8 ) 805b1c4: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b1c8: ee07 3a90 vmov s15, r3 805b1cc: eef8 7a67 vcvt.f32.u32 s15, s15 805b1d0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b1d4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b1d8: 49b5 ldr r1, [pc, #724] ; (805b4b0 ) 805b1da: 0092 lsls r2, r2, #2 805b1dc: 440a add r2, r1 805b1de: ed92 7a00 vldr s14, [r2] 805b1e2: ee67 7a27 vmul.f32 s15, s14, s15 805b1e6: 4ab2 ldr r2, [pc, #712] ; (805b4b0 ) 805b1e8: 009b lsls r3, r3, #2 805b1ea: 4413 add r3, r2 805b1ec: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 805b1f0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b1f4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b1f8: 49ad ldr r1, [pc, #692] ; (805b4b0 ) 805b1fa: 0092 lsls r2, r2, #2 805b1fc: 440a add r2, r1 805b1fe: edd2 6a00 vldr s13, [r2] 805b202: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805b206: eec6 7a87 vdiv.f32 s15, s13, s14 805b20a: 4aa9 ldr r2, [pc, #676] ; (805b4b0 ) 805b20c: 009b lsls r3, r3, #2 805b20e: 4413 add r3, r2 805b210: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &skz[i]); 805b214: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b218: 4aa5 ldr r2, [pc, #660] ; (805b4b0 ) 805b21a: 009b lsls r3, r3, #2 805b21c: 4413 add r3, r2 805b21e: edd3 7a00 vldr s15, [r3] 805b222: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b226: 009b lsls r3, r3, #2 805b228: 4aa4 ldr r2, [pc, #656] ; (805b4bc ) 805b22a: 4413 add r3, r2 805b22c: 4618 mov r0, r3 805b22e: eeb0 0a67 vmov.f32 s0, s15 805b232: f7fb fb0d bl 8056850 skz[i] = MedMeas(i, skz[i]); 805b236: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 805b23a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b23e: b2d9 uxtb r1, r3 805b240: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b244: 4a9d ldr r2, [pc, #628] ; (805b4bc ) 805b246: 009b lsls r3, r3, #2 805b248: 4413 add r3, r2 805b24a: edd3 7a00 vldr s15, [r3] 805b24e: eeb0 0a67 vmov.f32 s0, s15 805b252: 4608 mov r0, r1 805b254: f00a fe08 bl 8065e68 805b258: eef0 7a40 vmov.f32 s15, s0 805b25c: 4a97 ldr r2, [pc, #604] ; (805b4bc ) 805b25e: 00a3 lsls r3, r4, #2 805b260: 4413 add r3, r2 805b262: edc3 7a00 vstr s15, [r3] skz[i] /= pardata.IKK; 805b266: 4b93 ldr r3, [pc, #588] ; (805b4b4 ) 805b268: ed93 7a04 vldr s14, [r3, #16] 805b26c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b270: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b274: 4991 ldr r1, [pc, #580] ; (805b4bc ) 805b276: 0092 lsls r2, r2, #2 805b278: 440a add r2, r1 805b27a: edd2 6a00 vldr s13, [r2] 805b27e: eec6 7a87 vdiv.f32 s15, s13, s14 805b282: 4a8e ldr r2, [pc, #568] ; (805b4bc ) 805b284: 009b lsls r3, r3, #2 805b286: 4413 add r3, r2 805b288: edc3 7a00 vstr s15, [r3] LinToLog(&skz[i], &skzDB[i]); 805b28c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b290: 009b lsls r3, r3, #2 805b292: 4a8a ldr r2, [pc, #552] ; (805b4bc ) 805b294: 1898 adds r0, r3, r2 805b296: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b29a: 009b lsls r3, r3, #2 805b29c: 4a88 ldr r2, [pc, #544] ; (805b4c0 ) 805b29e: 4413 add r3, r2 805b2a0: 4619 mov r1, r3 805b2a2: f00a fd51 bl 8065d48 break; 805b2a6: bf00 nop for(i = 0; i < 3; i++) 805b2a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b2ac: 3301 adds r3, #1 805b2ae: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b2b2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b2b6: 2b02 cmp r3, #2 805b2b8: f67f ab4c bls.w 805a954 } } if(MeanCnt >= (uint32_t) (AVG[pardata.AVG] * 8u)) 805b2bc: 4b7d ldr r3, [pc, #500] ; (805b4b4 ) 805b2be: 7b5b ldrb r3, [r3, #13] 805b2c0: b2db uxtb r3, r3 805b2c2: 461a mov r2, r3 805b2c4: 4b7c ldr r3, [pc, #496] ; (805b4b8 ) 805b2c6: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b2ca: 00da lsls r2, r3, #3 805b2cc: 4b7d ldr r3, [pc, #500] ; (805b4c4 ) 805b2ce: 681b ldr r3, [r3, #0] 805b2d0: 429a cmp r2, r3 805b2d2: d816 bhi.n 805b302 { MeanCnt = 0; 805b2d4: 4b7b ldr r3, [pc, #492] ; (805b4c4 ) 805b2d6: 2200 movs r2, #0 805b2d8: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 3); 805b2da: 2103 movs r1, #3 805b2dc: 4874 ldr r0, [pc, #464] ; (805b4b0 ) 805b2de: ed9f 0a7a vldr s0, [pc, #488] ; 805b4c8 805b2e2: f072 febb bl 80ce05c arm_fill_f32(0.0f, peakAVS, 3); 805b2e6: 2103 movs r1, #3 805b2e8: 4878 ldr r0, [pc, #480] ; (805b4cc ) 805b2ea: ed9f 0a77 vldr s0, [pc, #476] ; 805b4c8 805b2ee: f072 feb5 bl 80ce05c arm_fill_f32(0.0f, fval, 3); 805b2f2: f107 03fc add.w r3, r7, #252 ; 0xfc 805b2f6: 2103 movs r1, #3 805b2f8: 4618 mov r0, r3 805b2fa: ed9f 0a73 vldr s0, [pc, #460] ; 805b4c8 805b2fe: f072 fead bl 80ce05c } /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// if(pardata.IIN == VOLTS) 805b302: 4b6c ldr r3, [pc, #432] ; (805b4b4 ) 805b304: 799b ldrb r3, [r3, #6] 805b306: b2db uxtb r3, r3 805b308: 2b02 cmp r3, #2 805b30a: d16e bne.n 805b3ea { // ïåðåâîäèì âñå âåëè÷èíû â ì for(k = 0; k <= DIS; k++) 805b30c: 2300 movs r3, #0 805b30e: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 805b312: e066 b.n 805b3e2 { if(k == ACC) 805b314: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b318: 2b00 cmp r3, #0 805b31a: d110 bne.n 805b33e { LinToLog_mV(&skz[k], &skzDB[k], k); 805b31c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b320: 009b lsls r3, r3, #2 805b322: 4a66 ldr r2, [pc, #408] ; (805b4bc ) 805b324: 1898 adds r0, r3, r2 805b326: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b32a: 009b lsls r3, r3, #2 805b32c: 4a64 ldr r2, [pc, #400] ; (805b4c0 ) 805b32e: 4413 add r3, r2 805b330: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805b334: b2d2 uxtb r2, r2 805b336: 4619 mov r1, r3 805b338: f00a fd36 bl 8065da8 805b33c: e04c b.n 805b3d8 } else if(k == VEL) 805b33e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b342: 2b01 cmp r3, #1 805b344: d122 bne.n 805b38c { skz[k] *= 0.001f; 805b346: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b34a: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805b34e: 495b ldr r1, [pc, #364] ; (805b4bc ) 805b350: 0092 lsls r2, r2, #2 805b352: 440a add r2, r1 805b354: edd2 7a00 vldr s15, [r2] 805b358: ed9f 7a5d vldr s14, [pc, #372] ; 805b4d0 805b35c: ee67 7a87 vmul.f32 s15, s15, s14 805b360: 4a56 ldr r2, [pc, #344] ; (805b4bc ) 805b362: 009b lsls r3, r3, #2 805b364: 4413 add r3, r2 805b366: edc3 7a00 vstr s15, [r3] LinToLog_mV(&skz[k], &skzDB[k], k); 805b36a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b36e: 009b lsls r3, r3, #2 805b370: 4a52 ldr r2, [pc, #328] ; (805b4bc ) 805b372: 1898 adds r0, r3, r2 805b374: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b378: 009b lsls r3, r3, #2 805b37a: 4a51 ldr r2, [pc, #324] ; (805b4c0 ) 805b37c: 4413 add r3, r2 805b37e: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805b382: b2d2 uxtb r2, r2 805b384: 4619 mov r1, r3 805b386: f00a fd0f bl 8065da8 805b38a: e025 b.n 805b3d8 } else if(k == DIS) 805b38c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b390: 2b02 cmp r3, #2 805b392: d121 bne.n 805b3d8 { skz[k] *= 0.000001f; 805b394: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b398: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805b39c: 4947 ldr r1, [pc, #284] ; (805b4bc ) 805b39e: 0092 lsls r2, r2, #2 805b3a0: 440a add r2, r1 805b3a2: edd2 7a00 vldr s15, [r2] 805b3a6: ed9f 7a4b vldr s14, [pc, #300] ; 805b4d4 805b3aa: ee67 7a87 vmul.f32 s15, s15, s14 805b3ae: 4a43 ldr r2, [pc, #268] ; (805b4bc ) 805b3b0: 009b lsls r3, r3, #2 805b3b2: 4413 add r3, r2 805b3b4: edc3 7a00 vstr s15, [r3] LinToLog_mV(&skz[k], &skzDB[k], k); 805b3b8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b3bc: 009b lsls r3, r3, #2 805b3be: 4a3f ldr r2, [pc, #252] ; (805b4bc ) 805b3c0: 1898 adds r0, r3, r2 805b3c2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b3c6: 009b lsls r3, r3, #2 805b3c8: 4a3d ldr r2, [pc, #244] ; (805b4c0 ) 805b3ca: 4413 add r3, r2 805b3cc: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805b3d0: b2d2 uxtb r2, r2 805b3d2: 4619 mov r1, r3 805b3d4: f00a fce8 bl 8065da8 for(k = 0; k <= DIS; k++) 805b3d8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b3dc: 3301 adds r3, #1 805b3de: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 805b3e2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b3e6: 2b02 cmp r3, #2 805b3e8: d994 bls.n 805b314 /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// } ///////////////////////////////////////////////////////////////////////////////////// } if(pardata.HP < 2.0f) 805b3ea: 4b32 ldr r3, [pc, #200] ; (805b4b4 ) 805b3ec: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 805b3f0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 805b3f4: eef4 7ac7 vcmpe.f32 s15, s14 805b3f8: eef1 fa10 vmrs APSR_nzcv, fpscr 805b3fc: d514 bpl.n 805b428 { skz[VEL] = skzDB[VEL] = -1.0f; 805b3fe: 4b30 ldr r3, [pc, #192] ; (805b4c0 ) 805b400: 4a35 ldr r2, [pc, #212] ; (805b4d8 ) 805b402: 605a str r2, [r3, #4] 805b404: 4b2e ldr r3, [pc, #184] ; (805b4c0 ) 805b406: 685b ldr r3, [r3, #4] 805b408: 4a2c ldr r2, [pc, #176] ; (805b4bc ) 805b40a: 6053 str r3, [r2, #4] skz[DIS] = skzDB[DIS] = -1.0f; 805b40c: 4b2c ldr r3, [pc, #176] ; (805b4c0 ) 805b40e: 4a32 ldr r2, [pc, #200] ; (805b4d8 ) 805b410: 609a str r2, [r3, #8] 805b412: 4b2b ldr r3, [pc, #172] ; (805b4c0 ) 805b414: 689b ldr r3, [r3, #8] 805b416: 4a29 ldr r2, [pc, #164] ; (805b4bc ) 805b418: 6093 str r3, [r2, #8] if(pardata.HP < 2.0f) 805b41a: e005 b.n 805b428 } } else { RepeatKm = true; 805b41c: 4b2f ldr r3, [pc, #188] ; (805b4dc ) 805b41e: 2201 movs r2, #1 805b420: 701a strb r2, [r3, #0] timeRelax = 48; 805b422: 4b2f ldr r3, [pc, #188] ; (805b4e0 ) 805b424: 2230 movs r2, #48 ; 0x30 805b426: 601a str r2, [r3, #0] } tick = DWT->CYCCNT - tick; 805b428: 4b2e ldr r3, [pc, #184] ; (805b4e4 ) 805b42a: 685a ldr r2, [r3, #4] 805b42c: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805b430: 1ad3 subs r3, r2, r3 805b432: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 805b436: 4b2c ldr r3, [pc, #176] ; (805b4e8 ) 805b438: 681b ldr r3, [r3, #0] 805b43a: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 805b43e: 429a cmp r2, r3 805b440: f249 857f bls.w 8064f42 { maxtick = tick; 805b444: 4a28 ldr r2, [pc, #160] ; (805b4e8 ) 805b446: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805b44a: 6013 str r3, [r2, #0] if(maxtick > 24384000) 805b44c: 4b26 ldr r3, [pc, #152] ; (805b4e8 ) 805b44e: 681b ldr r3, [r3, #0] 805b450: 4a26 ldr r2, [pc, #152] ; (805b4ec ) 805b452: 4293 cmp r3, r2 805b454: f249 8575 bls.w 8064f42 { tick = 0; 805b458: 2300 movs r3, #0 805b45a: f8c7 321c str.w r3, [r7, #540] ; 0x21c } } } break; 805b45e: f009 bd70 b.w 8064f42 case ROLL: //TODO if(measuring) 805b462: 4b23 ldr r3, [pc, #140] ; (805b4f0 ) 805b464: 781b ldrb r3, [r3, #0] 805b466: b2db uxtb r3, r3 805b468: 2b00 cmp r3, #0 805b46a: f009 856c beq.w 8064f46 { GetData(); 805b46e: f00a f82d bl 80654cc j = 0; 805b472: 2300 movs r3, #0 805b474: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805b478: 4b0e ldr r3, [pc, #56] ; (805b4b4 ) 805b47a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805b47e: f003 0304 and.w r3, r3, #4 805b482: 2b00 cmp r3, #0 805b484: d005 beq.n 805b492 CalculateGain(Ns); 805b486: 4b1b ldr r3, [pc, #108] ; (805b4f4 ) 805b488: 681b ldr r3, [r3, #0] 805b48a: 4618 mov r0, r3 805b48c: f7fb fa02 bl 8056894 805b490: e059 b.n 805b546 else { Stability = (Nr * 4) + 1; 805b492: 4b19 ldr r3, [pc, #100] ; (805b4f8 ) 805b494: 881b ldrh r3, [r3, #0] 805b496: b29b uxth r3, r3 805b498: 009b lsls r3, r3, #2 805b49a: 3301 adds r3, #1 805b49c: 461a mov r2, r3 805b49e: 4b17 ldr r3, [pc, #92] ; (805b4fc ) 805b4a0: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805b4a2: 2300 movs r3, #0 805b4a4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b4a8: e03c b.n 805b524 805b4aa: bf00 nop 805b4ac: 64052800 .word 0x64052800 805b4b0: 20021d30 .word 0x20021d30 805b4b4: 20023ea8 .word 0x20023ea8 805b4b8: 080f2e78 .word 0x080f2e78 805b4bc: 20021588 .word 0x20021588 805b4c0: 20021594 .word 0x20021594 805b4c4: 20020dd8 .word 0x20020dd8 805b4c8: 00000000 .word 0x00000000 805b4cc: 20021d44 .word 0x20021d44 805b4d0: 3a83126f .word 0x3a83126f 805b4d4: 358637bd .word 0x358637bd 805b4d8: bf800000 .word 0xbf800000 805b4dc: 20020dcc .word 0x20020dcc 805b4e0: 20020d8c .word 0x20020d8c 805b4e4: e0001000 .word 0xe0001000 805b4e8: 20021678 .word 0x20021678 805b4ec: 01741200 .word 0x01741200 805b4f0: 20020dcf .word 0x20020dcf 805b4f4: 20021d24 .word 0x20021d24 805b4f8: 20021d68 .word 0x20021d68 805b4fc: 20020dc8 .word 0x20020dc8 { if(In16[i].lg > 0xE00000) 805b500: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b504: 4aa6 ldr r2, [pc, #664] ; (805b7a0 ) 805b506: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805b50a: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805b50e: d904 bls.n 805b51a j++; 805b510: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b514: 3301 adds r3, #1 805b516: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805b51a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b51e: 3301 adds r3, #1 805b520: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b524: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b528: 4b9e ldr r3, [pc, #632] ; (805b7a4 ) 805b52a: 681b ldr r3, [r3, #0] 805b52c: 429a cmp r2, r3 805b52e: d3e7 bcc.n 805b500 } if(j >= 2) 805b530: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805b534: 2b01 cmp r3, #1 805b536: d903 bls.n 805b540 OVERDRIVE = true; 805b538: 4b9b ldr r3, [pc, #620] ; (805b7a8 ) 805b53a: 2201 movs r2, #1 805b53c: 701a strb r2, [r3, #0] 805b53e: e002 b.n 805b546 else OVERDRIVE = false; 805b540: 4b99 ldr r3, [pc, #612] ; (805b7a8 ) 805b542: 2200 movs r2, #0 805b544: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805b546: 4b99 ldr r3, [pc, #612] ; (805b7ac ) 805b548: 781b ldrb r3, [r3, #0] 805b54a: b2db uxtb r3, r3 805b54c: 2b00 cmp r3, #0 805b54e: d009 beq.n 805b564 { Stability = 0; 805b550: 4b97 ldr r3, [pc, #604] ; (805b7b0 ) 805b552: 2200 movs r2, #0 805b554: 601a str r2, [r3, #0] MeanCnt = 0; 805b556: 4b97 ldr r3, [pc, #604] ; (805b7b4 ) 805b558: 2200 movs r2, #0 805b55a: 601a str r2, [r3, #0] NSamples = 0; 805b55c: 4b96 ldr r3, [pc, #600] ; (805b7b8 ) 805b55e: 2200 movs r2, #0 805b560: 601a str r2, [r3, #0] 805b562: e00d b.n 805b580 } else { if(Stability <= (Nr * 4)) 805b564: 4b95 ldr r3, [pc, #596] ; (805b7bc ) 805b566: 881b ldrh r3, [r3, #0] 805b568: b29b uxth r3, r3 805b56a: 009b lsls r3, r3, #2 805b56c: 461a mov r2, r3 805b56e: 4b90 ldr r3, [pc, #576] ; (805b7b0 ) 805b570: 681b ldr r3, [r3, #0] 805b572: 429a cmp r2, r3 805b574: d304 bcc.n 805b580 Stability++; 805b576: 4b8e ldr r3, [pc, #568] ; (805b7b0 ) 805b578: 681b ldr r3, [r3, #0] 805b57a: 3301 adds r3, #1 805b57c: 4a8c ldr r2, [pc, #560] ; (805b7b0 ) 805b57e: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805b580: 4b8a ldr r3, [pc, #552] ; (805b7ac ) 805b582: 781b ldrb r3, [r3, #0] 805b584: b2db uxtb r3, r3 805b586: 2b00 cmp r3, #0 805b588: f041 87e7 bne.w 805d55a 805b58c: 4b8b ldr r3, [pc, #556] ; (805b7bc ) 805b58e: 881b ldrh r3, [r3, #0] 805b590: b29b uxth r3, r3 805b592: 009b lsls r3, r3, #2 805b594: 461a mov r2, r3 805b596: 4b86 ldr r3, [pc, #536] ; (805b7b0 ) 805b598: 681b ldr r3, [r3, #0] 805b59a: 429a cmp r2, r3 805b59c: f081 87dd bcs.w 805d55a { if(NSamples < 20) 805b5a0: 4b85 ldr r3, [pc, #532] ; (805b7b8 ) 805b5a2: 681b ldr r3, [r3, #0] 805b5a4: 2b13 cmp r3, #19 805b5a6: d804 bhi.n 805b5b2 { HAL_Delay(10); 805b5a8: 200a movs r0, #10 805b5aa: f05b fc47 bl 80b6e3c if(NSamples < 20) 805b5ae: f001 bfd9 b.w 805d564 } else { MeanCnt++; 805b5b2: 4b80 ldr r3, [pc, #512] ; (805b7b4 ) 805b5b4: 681b ldr r3, [r3, #0] 805b5b6: 3301 adds r3, #1 805b5b8: 4a7e ldr r2, [pc, #504] ; (805b7b4 ) 805b5ba: 6013 str r3, [r2, #0] //************************************************************************************************************** fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805b5bc: 4b79 ldr r3, [pc, #484] ; (805b7a4 ) 805b5be: 681b ldr r3, [r3, #0] 805b5c0: 085b lsrs r3, r3, #1 805b5c2: ee07 3a90 vmov s15, r3 805b5c6: eeb8 7a67 vcvt.f32.u32 s14, s15 805b5ca: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805b5ce: eec6 7a87 vdiv.f32 s15, s13, s14 805b5d2: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805b5d6: 4b7a ldr r3, [pc, #488] ; (805b7c0 ) 805b5d8: edd3 7a00 vldr s15, [r3] 805b5dc: eeb7 7ae7 vcvt.f64.f32 d7, s15 805b5e0: ed9f 6b6d vldr d6, [pc, #436] ; 805b798 805b5e4: ee27 7b06 vmul.f64 d7, d7, d6 805b5e8: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805b5ec: 4b75 ldr r3, [pc, #468] ; (805b7c4 ) 805b5ee: edd3 7a04 vldr s15, [r3, #16] 805b5f2: eeb7 6ae7 vcvt.f64.f32 d6, s15 805b5f6: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805b5fa: ee85 7b06 vdiv.f64 d7, d5, d6 805b5fe: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805b602: 2300 movs r3, #0 805b604: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b608: e026 b.n 805b658 { Buff64[i] = (float64_t) In16[i].lg; 805b60a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b60e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b612: 4963 ldr r1, [pc, #396] ; (805b7a0 ) 805b614: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805b618: ee07 2a90 vmov s15, r2 805b61c: eeb8 7b67 vcvt.f64.u32 d7, s15 805b620: 4a69 ldr r2, [pc, #420] ; (805b7c8 ) 805b622: 00db lsls r3, r3, #3 805b624: 4413 add r3, r2 805b626: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805b62a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b62e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b632: 4965 ldr r1, [pc, #404] ; (805b7c8 ) 805b634: 00d2 lsls r2, r2, #3 805b636: 440a add r2, r1 805b638: ed92 6b00 vldr d6, [r2] 805b63c: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805b640: ee26 7b07 vmul.f64 d7, d6, d7 805b644: 4a60 ldr r2, [pc, #384] ; (805b7c8 ) 805b646: 00db lsls r3, r3, #3 805b648: 4413 add r3, r2 805b64a: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805b64e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b652: 3301 adds r3, #1 805b654: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b658: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b65c: 4b51 ldr r3, [pc, #324] ; (805b7a4 ) 805b65e: 681b ldr r3, [r3, #0] 805b660: 429a cmp r2, r3 805b662: d3d2 bcc.n 805b60a } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805b664: 4b4f ldr r3, [pc, #316] ; (805b7a4 ) 805b666: 681b ldr r3, [r3, #0] 805b668: 4a57 ldr r2, [pc, #348] ; (805b7c8 ) 805b66a: 4957 ldr r1, [pc, #348] ; (805b7c8 ) 805b66c: 4857 ldr r0, [pc, #348] ; (805b7cc ) 805b66e: f072 ff45 bl 80ce4fc arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805b672: 4b4c ldr r3, [pc, #304] ; (805b7a4 ) 805b674: 681b ldr r3, [r3, #0] 805b676: 4a54 ldr r2, [pc, #336] ; (805b7c8 ) 805b678: 4953 ldr r1, [pc, #332] ; (805b7c8 ) 805b67a: 4855 ldr r0, [pc, #340] ; (805b7d0 ) 805b67c: f072 ff3e bl 80ce4fc for(i = 0; i < Ns; i++) { 805b680: 2300 movs r3, #0 805b682: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b686: e014 b.n 805b6b2 Out[i] = (float32_t) Buff64[i]; 805b688: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b68c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b690: 494d ldr r1, [pc, #308] ; (805b7c8 ) 805b692: 00d2 lsls r2, r2, #3 805b694: 440a add r2, r1 805b696: ed92 7b00 vldr d7, [r2] 805b69a: eef7 7bc7 vcvt.f32.f64 s15, d7 805b69e: 4a4d ldr r2, [pc, #308] ; (805b7d4 ) 805b6a0: 009b lsls r3, r3, #2 805b6a2: 4413 add r3, r2 805b6a4: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 805b6a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b6ac: 3301 adds r3, #1 805b6ae: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b6b2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b6b6: 4b3b ldr r3, [pc, #236] ; (805b7a4 ) 805b6b8: 681b ldr r3, [r3, #0] 805b6ba: 429a cmp r2, r3 805b6bc: d3e4 bcc.n 805b688 } WindowFunc(HANN, Ns); 805b6be: 4b39 ldr r3, [pc, #228] ; (805b7a4 ) 805b6c0: 681b ldr r3, [r3, #0] 805b6c2: b29b uxth r3, r3 805b6c4: 4619 mov r1, r3 805b6c6: 2001 movs r0, #1 805b6c8: f009 ff90 bl 80655ec initFFT(Out, In, Forward); 805b6cc: 2200 movs r2, #0 805b6ce: 4942 ldr r1, [pc, #264] ; (805b7d8 ) 805b6d0: 4840 ldr r0, [pc, #256] ; (805b7d4 ) 805b6d2: f7fb fc5f bl 8056f94 In[0] = In[1] = 0.0f; 805b6d6: 4b40 ldr r3, [pc, #256] ; (805b7d8 ) 805b6d8: f04f 0200 mov.w r2, #0 805b6dc: 605a str r2, [r3, #4] 805b6de: 4b3e ldr r3, [pc, #248] ; (805b7d8 ) 805b6e0: 685b ldr r3, [r3, #4] 805b6e2: 4a3d ldr r2, [pc, #244] ; (805b7d8 ) 805b6e4: 6013 str r3, [r2, #0] arm_cmplx_mag_f32(In, Out, Ns); 805b6e6: 4b2f ldr r3, [pc, #188] ; (805b7a4 ) 805b6e8: 681b ldr r3, [r3, #0] 805b6ea: 461a mov r2, r3 805b6ec: 4939 ldr r1, [pc, #228] ; (805b7d4 ) 805b6ee: 483a ldr r0, [pc, #232] ; (805b7d8 ) 805b6f0: f073 f88c bl 80ce80c arm_scale_f32(Out, fNrm, In, (Ns >> 1)); 805b6f4: 4b2b ldr r3, [pc, #172] ; (805b7a4 ) 805b6f6: 681b ldr r3, [r3, #0] 805b6f8: 085b lsrs r3, r3, #1 805b6fa: 461a mov r2, r3 805b6fc: 4936 ldr r1, [pc, #216] ; (805b7d8 ) 805b6fe: ed97 0a85 vldr s0, [r7, #532] ; 0x214 805b702: 4834 ldr r0, [pc, #208] ; (805b7d4 ) 805b704: f073 f9b0 bl 80cea68 //************************************************************************************************************** if(AVG[pardata.AVG] > 1) 805b708: 4b2e ldr r3, [pc, #184] ; (805b7c4 ) 805b70a: 7b5b ldrb r3, [r3, #13] 805b70c: b2db uxtb r3, r3 805b70e: 461a mov r2, r3 805b710: 4b32 ldr r3, [pc, #200] ; (805b7dc ) 805b712: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b716: 2b01 cmp r3, #1 805b718: d92a bls.n 805b770 { if(MeanCnt == 1) 805b71a: 4b26 ldr r3, [pc, #152] ; (805b7b4 ) 805b71c: 681b ldr r3, [r3, #0] 805b71e: 2b01 cmp r3, #1 805b720: d108 bne.n 805b734 FastCopy16(IN_Reg, MEAN_Reg, _2Ns); 805b722: 4b20 ldr r3, [pc, #128] ; (805b7a4 ) 805b724: 681b ldr r3, [r3, #0] 805b726: 005b lsls r3, r3, #1 805b728: 461a mov r2, r3 805b72a: 2103 movs r1, #3 805b72c: 2001 movs r0, #1 805b72e: f009 fd57 bl 80651e0 805b732: e01d b.n 805b770 else { scale = 1.0f / ((float32_t) MeanCnt); 805b734: 4b1f ldr r3, [pc, #124] ; (805b7b4 ) 805b736: 681b ldr r3, [r3, #0] 805b738: ee07 3a90 vmov s15, r3 805b73c: eeb8 7a67 vcvt.f32.u32 s14, s15 805b740: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805b744: eec6 7a87 vdiv.f32 s15, s13, s14 805b748: edc7 7a86 vstr s15, [r7, #536] ; 0x218 ARM_ADD_F32(IN_Reg, MEAN_Reg, MEAN_Reg, _2Ns); 805b74c: 4b15 ldr r3, [pc, #84] ; (805b7a4 ) 805b74e: 681b ldr r3, [r3, #0] 805b750: 005b lsls r3, r3, #1 805b752: 2203 movs r2, #3 805b754: 2103 movs r1, #3 805b756: 2001 movs r0, #1 805b758: f009 fdce bl 80652f8 ARM_SCALE_F32(MEAN_Reg, scale, IN_Reg, _2Ns); 805b75c: 4b11 ldr r3, [pc, #68] ; (805b7a4 ) 805b75e: 681b ldr r3, [r3, #0] 805b760: 005b lsls r3, r3, #1 805b762: 461a mov r2, r3 805b764: 2101 movs r1, #1 805b766: ed97 0a86 vldr s0, [r7, #536] ; 0x218 805b76a: 2003 movs r0, #3 805b76c: f009 fe4a bl 8065404 } } if(MeanCnt == AVG[pardata.AVG]) 805b770: 4b14 ldr r3, [pc, #80] ; (805b7c4 ) 805b772: 7b5b ldrb r3, [r3, #13] 805b774: b2db uxtb r3, r3 805b776: 461a mov r2, r3 805b778: 4b18 ldr r3, [pc, #96] ; (805b7dc ) 805b77a: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b77e: 461a mov r2, r3 805b780: 4b0c ldr r3, [pc, #48] ; (805b7b4 ) 805b782: 681b ldr r3, [r3, #0] 805b784: 429a cmp r2, r3 805b786: f041 86ed bne.w 805d564 { for(i = 0; i < (Ns >> 1); i++) 805b78a: 2300 movs r3, #0 805b78c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b790: e05a b.n 805b848 805b792: bf00 nop 805b794: f3af 8000 nop.w 805b798: 18000018 .word 0x18000018 805b79c: 3e980000 .word 0x3e980000 805b7a0: 20058060 .word 0x20058060 805b7a4: 20021d24 .word 0x20021d24 805b7a8: 20021579 .word 0x20021579 805b7ac: 20020d9e .word 0x20020d9e 805b7b0: 20020dc8 .word 0x20020dc8 805b7b4: 20020dd8 .word 0x20020dd8 805b7b8: 20020da8 .word 0x20020da8 805b7bc: 20021d68 .word 0x20021d68 805b7c0: 20020080 .word 0x20020080 805b7c4: 20023ea8 .word 0x20023ea8 805b7c8: 20037b20 .word 0x20037b20 805b7cc: 200265a4 .word 0x200265a4 805b7d0: 20025f40 .word 0x20025f40 805b7d4: 20008000 .word 0x20008000 805b7d8: 20027a00 .word 0x20027a00 805b7dc: 080f2e78 .word 0x080f2e78 { In[i] *= 0.70710678f; 805b7e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b7e4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b7e8: 49b5 ldr r1, [pc, #724] ; (805bac0 ) 805b7ea: 0092 lsls r2, r2, #2 805b7ec: 440a add r2, r1 805b7ee: edd2 7a00 vldr s15, [r2] 805b7f2: ed9f 7ab4 vldr s14, [pc, #720] ; 805bac4 805b7f6: ee67 7a87 vmul.f32 s15, s15, s14 805b7fa: 4ab1 ldr r2, [pc, #708] ; (805bac0 ) 805b7fc: 009b lsls r3, r3, #2 805b7fe: 4413 add r3, r2 805b800: edc3 7a00 vstr s15, [r3] In[i] *= 2.0f; 805b804: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b808: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b80c: 49ac ldr r1, [pc, #688] ; (805bac0 ) 805b80e: 0092 lsls r2, r2, #2 805b810: 440a add r2, r1 805b812: edd2 7a00 vldr s15, [r2] 805b816: ee77 7aa7 vadd.f32 s15, s15, s15 805b81a: 4aa9 ldr r2, [pc, #676] ; (805bac0 ) 805b81c: 009b lsls r3, r3, #2 805b81e: 4413 add r3, r2 805b820: edc3 7a00 vstr s15, [r3] LinToLog(&In[i], &In[i]); 805b824: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b828: 009b lsls r3, r3, #2 805b82a: 4aa5 ldr r2, [pc, #660] ; (805bac0 ) 805b82c: 1898 adds r0, r3, r2 805b82e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b832: 009b lsls r3, r3, #2 805b834: 4aa2 ldr r2, [pc, #648] ; (805bac0 ) 805b836: 4413 add r3, r2 805b838: 4619 mov r1, r3 805b83a: f00a fa85 bl 8065d48 for(i = 0; i < (Ns >> 1); i++) 805b83e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b842: 3301 adds r3, #1 805b844: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b848: 4b9f ldr r3, [pc, #636] ; (805bac8 ) 805b84a: 681b ldr r3, [r3, #0] 805b84c: 085a lsrs r2, r3, #1 805b84e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b852: 429a cmp r2, r3 805b854: d8c4 bhi.n 805b7e0 } FastCopy16(IN_Reg, SCR_Reg, Ns); 805b856: 4b9c ldr r3, [pc, #624] ; (805bac8 ) 805b858: 681b ldr r3, [r3, #0] 805b85a: 461a mov r2, r3 805b85c: 2104 movs r1, #4 805b85e: 2001 movs r0, #1 805b860: f009 fcbe bl 80651e0 READY_TO_SEE = true; 805b864: 4b99 ldr r3, [pc, #612] ; (805bacc ) 805b866: 2201 movs r2, #1 805b868: 701a strb r2, [r3, #0] //uint32_t smooth = 38; CALC_MEAN(38); 805b86a: 2026 movs r0, #38 ; 0x26 805b86c: f00c fa42 bl 8067cf4 /////////////////////////////////////////////////////////////////////////////////////// ds = (pardata.D_OUTER + pardata.D_INNER) / 2.0f; 805b870: 4b97 ldr r3, [pc, #604] ; (805bad0 ) 805b872: ed93 7a31 vldr s14, [r3, #196] ; 0xc4 805b876: 4b96 ldr r3, [pc, #600] ; (805bad0 ) 805b878: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 805b87c: ee37 7a27 vadd.f32 s14, s14, s15 805b880: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 805b884: eec7 7a26 vdiv.f32 s15, s14, s13 805b888: edc7 7a81 vstr s15, [r7, #516] ; 0x204 fs = pardata.D_ANGLE; 805b88c: 4b90 ldr r3, [pc, #576] ; (805bad0 ) 805b88e: f8d3 30cc ldr.w r3, [r3, #204] ; 0xcc 805b892: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 fs *= 0.01745329251994329576923690768489f; // ïåðåâîä â ðàäèàíû 805b896: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805b89a: ed9f 7a8e vldr s14, [pc, #568] ; 805bad4 805b89e: ee67 7a87 vmul.f32 s15, s15, s14 805b8a2: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 Fvr = pardata.D_RATE / 60.0f; 805b8a6: 4b8a ldr r3, [pc, #552] ; (805bad0 ) 805b8a8: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 805b8ac: ee07 3a90 vmov s15, r3 805b8b0: eeb8 7a67 vcvt.f32.u32 s14, s15 805b8b4: eddf 6a88 vldr s13, [pc, #544] ; 805bad8 805b8b8: eec7 7a26 vdiv.f32 s15, s14, s13 805b8bc: 4b87 ldr r3, [pc, #540] ; (805badc ) 805b8be: edc3 7a00 vstr s15, [r3] Fc = 0.5f * Fvr * (1 - ((pardata.D_ROLL / ds) * arm_cos_f32(fs))); 805b8c2: 4b86 ldr r3, [pc, #536] ; (805badc ) 805b8c4: edd3 7a00 vldr s15, [r3] 805b8c8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805b8cc: ee27 8a87 vmul.f32 s16, s15, s14 805b8d0: 4b7f ldr r3, [pc, #508] ; (805bad0 ) 805b8d2: ed93 7a30 vldr s14, [r3, #192] ; 0xc0 805b8d6: edd7 7a81 vldr s15, [r7, #516] ; 0x204 805b8da: eec7 8a27 vdiv.f32 s17, s14, s15 805b8de: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805b8e2: eeb0 0a67 vmov.f32 s0, s15 805b8e6: f05a fc3f bl 80b6168 805b8ea: eef0 7a40 vmov.f32 s15, s0 805b8ee: ee68 7aa7 vmul.f32 s15, s17, s15 805b8f2: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 805b8f6: ee77 7a67 vsub.f32 s15, s14, s15 805b8fa: ee68 7a27 vmul.f32 s15, s16, s15 805b8fe: 4b78 ldr r3, [pc, #480] ; (805bae0 ) 805b900: edc3 7a00 vstr s15, [r3] Fn = Fc * (float32_t) pardata.ROLL_COUNT; 805b904: 4b72 ldr r3, [pc, #456] ; (805bad0 ) 805b906: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 805b90a: ee07 3a90 vmov s15, r3 805b90e: eeb8 7a67 vcvt.f32.u32 s14, s15 805b912: 4b73 ldr r3, [pc, #460] ; (805bae0 ) 805b914: edd3 7a00 vldr s15, [r3] 805b918: ee67 7a27 vmul.f32 s15, s14, s15 805b91c: 4b71 ldr r3, [pc, #452] ; (805bae4 ) 805b91e: edc3 7a00 vstr s15, [r3] Fv = (Fvr - Fc) * (float32_t) pardata.ROLL_COUNT; 805b922: 4b6e ldr r3, [pc, #440] ; (805badc ) 805b924: ed93 7a00 vldr s14, [r3] 805b928: 4b6d ldr r3, [pc, #436] ; (805bae0 ) 805b92a: edd3 7a00 vldr s15, [r3] 805b92e: ee37 7a67 vsub.f32 s14, s14, s15 805b932: 4b67 ldr r3, [pc, #412] ; (805bad0 ) 805b934: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 805b938: ee07 3a90 vmov s15, r3 805b93c: eef8 7a67 vcvt.f32.u32 s15, s15 805b940: ee67 7a27 vmul.f32 s15, s14, s15 805b944: 4b68 ldr r3, [pc, #416] ; (805bae8 ) 805b946: 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)))); 805b94a: 4b64 ldr r3, [pc, #400] ; (805badc ) 805b94c: edd3 7a00 vldr s15, [r3] 805b950: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805b954: ee27 7a87 vmul.f32 s14, s15, s14 805b958: 4b5d ldr r3, [pc, #372] ; (805bad0 ) 805b95a: edd3 6a30 vldr s13, [r3, #192] ; 0xc0 805b95e: ed97 6a81 vldr s12, [r7, #516] ; 0x204 805b962: eec6 7a26 vdiv.f32 s15, s12, s13 805b966: ee27 8a27 vmul.f32 s16, s14, s15 805b96a: 4b59 ldr r3, [pc, #356] ; (805bad0 ) 805b96c: ed93 7a30 vldr s14, [r3, #192] ; 0xc0 805b970: 4b57 ldr r3, [pc, #348] ; (805bad0 ) 805b972: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 805b976: ee27 7a27 vmul.f32 s14, s14, s15 805b97a: edd7 6a81 vldr s13, [r7, #516] ; 0x204 805b97e: edd7 7a81 vldr s15, [r7, #516] ; 0x204 805b982: ee66 7aa7 vmul.f32 s15, s13, s15 805b986: eec7 8a27 vdiv.f32 s17, s14, s15 805b98a: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805b98e: eeb0 0a67 vmov.f32 s0, s15 805b992: f05a fbe9 bl 80b6168 805b996: eeb0 9a40 vmov.f32 s18, s0 805b99a: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805b99e: eeb0 0a67 vmov.f32 s0, s15 805b9a2: f05a fbe1 bl 80b6168 805b9a6: eef0 7a40 vmov.f32 s15, s0 805b9aa: ee69 7a27 vmul.f32 s15, s18, s15 805b9ae: ee68 7aa7 vmul.f32 s15, s17, s15 805b9b2: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 805b9b6: ee77 7a67 vsub.f32 s15, s14, s15 805b9ba: ee68 7a27 vmul.f32 s15, s16, s15 805b9be: 4b4b ldr r3, [pc, #300] ; (805baec ) 805b9c0: edc3 7a00 vstr s15, [r3] /////////////////////////////////////////////////////////////////////////////////////// memset((void *) Freq, false, sizeof(Freq)); 805b9c4: f44f 5280 mov.w r2, #4096 ; 0x1000 805b9c8: 2100 movs r1, #0 805b9ca: 4849 ldr r0, [pc, #292] ; (805baf0 ) 805b9cc: f075 fce8 bl 80d13a0 for(i = 0; i < NUM_DEFECTS; i++) 805b9d0: 2300 movs r3, #0 805b9d2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b9d6: e009 b.n 805b9ec DEFECTS[i] = false; 805b9d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b9dc: 4a45 ldr r2, [pc, #276] ; (805baf4 ) 805b9de: 2100 movs r1, #0 805b9e0: 54d1 strb r1, [r2, r3] for(i = 0; i < NUM_DEFECTS; i++) 805b9e2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b9e6: 3301 adds r3, #1 805b9e8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b9ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b9f0: 2b0b cmp r3, #11 805b9f2: d9f1 bls.n 805b9d8 for(i = 1; i < 4096; i++) 805b9f4: 2301 movs r3, #1 805b9f6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b9fa: e033 b.n 805ba64 { //if(Freq[i] == false) //{ //if((i == 1) || (i == 4095)) //{ df = (ScrA_f32(i) - CmplxA_f32(i)); 805b9fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba00: 009a lsls r2, r3, #2 805ba02: 4b3d ldr r3, [pc, #244] ; (805baf8 ) 805ba04: 4413 add r3, r2 805ba06: ed93 7a00 vldr s14, [r3] 805ba0a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba0e: 009a lsls r2, r3, #2 805ba10: 4b3a ldr r3, [pc, #232] ; (805bafc ) 805ba12: 4413 add r3, r2 805ba14: edd3 7a00 vldr s15, [r3] 805ba18: ee77 7a67 vsub.f32 s15, s14, s15 805ba1c: edc7 7a80 vstr s15, [r7, #512] ; 0x200 if(df > 0.0f) 805ba20: edd7 7a80 vldr s15, [r7, #512] ; 0x200 805ba24: eef5 7ac0 vcmpe.f32 s15, #0.0 805ba28: eef1 fa10 vmrs APSR_nzcv, fpscr 805ba2c: dd15 ble.n 805ba5a { df += 0.5f; 805ba2e: edd7 7a80 vldr s15, [r7, #512] ; 0x200 805ba32: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805ba36: ee77 7a87 vadd.f32 s15, s15, s14 805ba3a: edc7 7a80 vstr s15, [r7, #512] ; 0x200 if((df >= ROLL_LEVEL)) { 805ba3e: edd7 7a80 vldr s15, [r7, #512] ; 0x200 805ba42: eeb1 7a08 vmov.f32 s14, #24 ; 0x40c00000 6.0 805ba46: eef4 7ac7 vcmpe.f32 s15, s14 805ba4a: eef1 fa10 vmrs APSR_nzcv, fpscr 805ba4e: db04 blt.n 805ba5a Freq[i] = true; 805ba50: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba54: 4a26 ldr r2, [pc, #152] ; (805baf0 ) 805ba56: 2101 movs r1, #1 805ba58: 54d1 strb r1, [r2, r3] for(i = 1; i < 4096; i++) 805ba5a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba5e: 3301 adds r3, #1 805ba60: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ba64: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba68: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 805ba6c: d3c6 bcc.n 805b9fc uint32_t jj[3]; ///////////////////////////////////////////////////////////////////// //////////////////// Ãèåíèå âàëà //////////////////////////////////// memset((void *) limit, false, sizeof(limit)); 805ba6e: f507 7394 add.w r3, r7, #296 ; 0x128 805ba72: 220f movs r2, #15 805ba74: 2100 movs r1, #0 805ba76: 4618 mov r0, r3 805ba78: f075 fc92 bl 80d13a0 memset((void *) limit_1, false, sizeof(limit_1)); 805ba7c: f507 738c add.w r3, r7, #280 ; 0x118 805ba80: 220f movs r2, #15 805ba82: 2100 movs r1, #0 805ba84: 4618 mov r0, r3 805ba86: f075 fc8b bl 80d13a0 arm_fill_f32(0.0f, frq, 15); 805ba8a: f507 73ba add.w r3, r7, #372 ; 0x174 805ba8e: 210f movs r1, #15 805ba90: 4618 mov r0, r3 805ba92: ed9f 0a1b vldr s0, [pc, #108] ; 805bb00 805ba96: f072 fae1 bl 80ce05c arm_fill_f32(0.0f, frq_1, 15); 805ba9a: f507 739c add.w r3, r7, #312 ; 0x138 805ba9e: 210f movs r1, #15 805baa0: 4618 mov r0, r3 805baa2: ed9f 0a17 vldr s0, [pc, #92] ; 805bb00 805baa6: f072 fad9 bl 80ce05c k = 0; 805baaa: 2300 movs r3, #0 805baac: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805bab0: 2300 movs r3, #0 805bab2: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 7; i++) 805bab6: 2300 movs r3, #0 805bab8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805babc: e0a2 b.n 805bc04 805babe: bf00 nop 805bac0: 20027a00 .word 0x20027a00 805bac4: 3f3504f3 .word 0x3f3504f3 805bac8: 20021d24 .word 0x20021d24 805bacc: 20020dae .word 0x20020dae 805bad0: 20023ea8 .word 0x20023ea8 805bad4: 3c8efa35 .word 0x3c8efa35 805bad8: 42700000 .word 0x42700000 805badc: 20026d40 .word 0x20026d40 805bae0: 20068360 .word 0x20068360 805bae4: 200267e8 .word 0x200267e8 805bae8: 20026204 .word 0x20026204 805baec: 20037a80 .word 0x20037a80 805baf0: 20018000 .word 0x20018000 805baf4: 20026f50 .word 0x20026f50 805baf8: 64080000 .word 0x64080000 805bafc: 64090000 .word 0x64090000 805bb00: 00000000 .word 0x00000000 { frq[i] = Fvr * (float32_t)(i + 1); 805bb04: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb08: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bb0c: 3201 adds r2, #1 805bb0e: ee07 2a90 vmov s15, r2 805bb12: eeb8 7a67 vcvt.f32.u32 s14, s15 805bb16: 4ab3 ldr r2, [pc, #716] ; (805bde4 ) 805bb18: edd2 7a00 vldr s15, [r2] 805bb1c: ee67 7a27 vmul.f32 s15, s14, s15 805bb20: 009b lsls r3, r3, #2 805bb22: f507 720a add.w r2, r7, #552 ; 0x228 805bb26: 4413 add r3, r2 805bb28: 3bb4 subs r3, #180 ; 0xb4 805bb2a: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805bb2e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb32: 009b lsls r3, r3, #2 805bb34: f507 720a add.w r2, r7, #552 ; 0x228 805bb38: 4413 add r3, r2 805bb3a: 3bb4 subs r3, #180 ; 0xb4 805bb3c: ed93 7a00 vldr s14, [r3] 805bb40: eddf 6aa9 vldr s13, [pc, #676] ; 805bde8 805bb44: eec7 7a26 vdiv.f32 s15, s14, s13 805bb48: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805bb4c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bb50: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805bb54: ee77 7a87 vadd.f32 s15, s15, s14 805bb58: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805bb5c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bb60: eefc 7ae7 vcvt.u32.f32 s15, s15 805bb64: ee17 2a90 vmov r2, s15 805bb68: f107 03bc add.w r3, r7, #188 ; 0xbc 805bb6c: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805bb6e: f107 03bc add.w r3, r7, #188 ; 0xbc 805bb72: 685b ldr r3, [r3, #4] 805bb74: 1e5a subs r2, r3, #1 805bb76: f107 03bc add.w r3, r7, #188 ; 0xbc 805bb7a: 601a str r2, [r3, #0] 805bb7c: f107 03bc add.w r3, r7, #188 ; 0xbc 805bb80: 685b ldr r3, [r3, #4] 805bb82: 2b01 cmp r3, #1 805bb84: d805 bhi.n 805bb92 805bb86: f107 03bc add.w r3, r7, #188 ; 0xbc 805bb8a: 685a ldr r2, [r3, #4] 805bb8c: f107 03bc add.w r3, r7, #188 ; 0xbc 805bb90: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805bb92: f107 03bc add.w r3, r7, #188 ; 0xbc 805bb96: 685b ldr r3, [r3, #4] 805bb98: 1c5a adds r2, r3, #1 805bb9a: f107 03bc add.w r3, r7, #188 ; 0xbc 805bb9e: 609a str r2, [r3, #8] 805bba0: f107 03bc add.w r3, r7, #188 ; 0xbc 805bba4: 685b ldr r3, [r3, #4] 805bba6: f640 72fe movw r2, #4094 ; 0xffe 805bbaa: 4293 cmp r3, r2 805bbac: d905 bls.n 805bbba 805bbae: f107 03bc add.w r3, r7, #188 ; 0xbc 805bbb2: 685a ldr r2, [r3, #4] 805bbb4: f107 03bc add.w r3, r7, #188 ; 0xbc 805bbb8: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805bbba: f107 03bc add.w r3, r7, #188 ; 0xbc 805bbbe: 685b ldr r3, [r3, #4] 805bbc0: 4a8a ldr r2, [pc, #552] ; (805bdec ) 805bbc2: 5cd3 ldrb r3, [r2, r3] 805bbc4: 2b00 cmp r3, #0 805bbc6: d10d bne.n 805bbe4 805bbc8: f107 03bc add.w r3, r7, #188 ; 0xbc 805bbcc: 681b ldr r3, [r3, #0] 805bbce: 4a87 ldr r2, [pc, #540] ; (805bdec ) 805bbd0: 5cd3 ldrb r3, [r2, r3] 805bbd2: 2b00 cmp r3, #0 805bbd4: d106 bne.n 805bbe4 805bbd6: f107 03bc add.w r3, r7, #188 ; 0xbc 805bbda: 689b ldr r3, [r3, #8] 805bbdc: 4a83 ldr r2, [pc, #524] ; (805bdec ) 805bbde: 5cd3 ldrb r3, [r2, r3] 805bbe0: 2b00 cmp r3, #0 805bbe2: d00a beq.n 805bbfa { limit[i] = true; 805bbe4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bbe8: f507 7294 add.w r2, r7, #296 ; 0x128 805bbec: 2101 movs r1, #1 805bbee: 54d1 strb r1, [r2, r3] k++; 805bbf0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bbf4: 3301 adds r3, #1 805bbf6: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 7; i++) 805bbfa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bbfe: 3301 adds r3, #1 805bc00: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bc04: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bc08: 2b06 cmp r3, #6 805bc0a: f67f af7b bls.w 805bb04 } } if((k >= 2) && (limit[0])) 805bc0e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bc12: 2b01 cmp r3, #1 805bc14: d916 bls.n 805bc44 805bc16: f507 7394 add.w r3, r7, #296 ; 0x128 805bc1a: 781b ldrb r3, [r3, #0] 805bc1c: 2b00 cmp r3, #0 805bc1e: d011 beq.n 805bc44 { if((limit[1]) || (limit[2]) || (limit[3])) 805bc20: f507 7394 add.w r3, r7, #296 ; 0x128 805bc24: 785b ldrb r3, [r3, #1] 805bc26: 2b00 cmp r3, #0 805bc28: d109 bne.n 805bc3e 805bc2a: f507 7394 add.w r3, r7, #296 ; 0x128 805bc2e: 789b ldrb r3, [r3, #2] 805bc30: 2b00 cmp r3, #0 805bc32: d104 bne.n 805bc3e 805bc34: f507 7394 add.w r3, r7, #296 ; 0x128 805bc38: 78db ldrb r3, [r3, #3] 805bc3a: 2b00 cmp r3, #0 805bc3c: d002 beq.n 805bc44 { DEFECTS[BIENIE_VALA] = true; 805bc3e: 4b6c ldr r3, [pc, #432] ; (805bdf0 ) 805bc40: 2201 movs r2, #1 805bc42: 701a strb r2, [r3, #0] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãåîäíîðîäíûé ðàäèàëüíûé íàòÿã (ïåðåêîñ âíóòðåííåãî êîëüöà) //////////////////////////////////// memset((void *) limit, false, sizeof(limit)); 805bc44: f507 7394 add.w r3, r7, #296 ; 0x128 805bc48: 220f movs r2, #15 805bc4a: 2100 movs r1, #0 805bc4c: 4618 mov r0, r3 805bc4e: f075 fba7 bl 80d13a0 memset((void *) limit_1, false, sizeof(limit_1)); 805bc52: f507 738c add.w r3, r7, #280 ; 0x118 805bc56: 220f movs r2, #15 805bc58: 2100 movs r1, #0 805bc5a: 4618 mov r0, r3 805bc5c: f075 fba0 bl 80d13a0 arm_fill_f32(0.0f, frq, 15); 805bc60: f507 73ba add.w r3, r7, #372 ; 0x174 805bc64: 210f movs r1, #15 805bc66: 4618 mov r0, r3 805bc68: ed9f 0a62 vldr s0, [pc, #392] ; 805bdf4 805bc6c: f072 f9f6 bl 80ce05c arm_fill_f32(0.0f, frq_1, 15); 805bc70: f507 739c add.w r3, r7, #312 ; 0x138 805bc74: 210f movs r1, #15 805bc76: 4618 mov r0, r3 805bc78: ed9f 0a5e vldr s0, [pc, #376] ; 805bdf4 805bc7c: f072 f9ee bl 80ce05c k = 0; 805bc80: 2300 movs r3, #0 805bc82: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 11; i++) 805bc86: 2300 movs r3, #0 805bc88: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bc8c: e07f b.n 805bd8e { frq[i] = Fvr * (float32_t)(i + 1); 805bc8e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bc92: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bc96: 3201 adds r2, #1 805bc98: ee07 2a90 vmov s15, r2 805bc9c: eeb8 7a67 vcvt.f32.u32 s14, s15 805bca0: 4a50 ldr r2, [pc, #320] ; (805bde4 ) 805bca2: edd2 7a00 vldr s15, [r2] 805bca6: ee67 7a27 vmul.f32 s15, s14, s15 805bcaa: 009b lsls r3, r3, #2 805bcac: f507 720a add.w r2, r7, #552 ; 0x228 805bcb0: 4413 add r3, r2 805bcb2: 3bb4 subs r3, #180 ; 0xb4 805bcb4: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805bcb8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bcbc: 009b lsls r3, r3, #2 805bcbe: f507 720a add.w r2, r7, #552 ; 0x228 805bcc2: 4413 add r3, r2 805bcc4: 3bb4 subs r3, #180 ; 0xb4 805bcc6: ed93 7a00 vldr s14, [r3] 805bcca: eddf 6a47 vldr s13, [pc, #284] ; 805bde8 805bcce: eec7 7a26 vdiv.f32 s15, s14, s13 805bcd2: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805bcd6: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bcda: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805bcde: ee77 7a87 vadd.f32 s15, s15, s14 805bce2: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805bce6: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bcea: eefc 7ae7 vcvt.u32.f32 s15, s15 805bcee: ee17 2a90 vmov r2, s15 805bcf2: f107 03bc add.w r3, r7, #188 ; 0xbc 805bcf6: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805bcf8: f107 03bc add.w r3, r7, #188 ; 0xbc 805bcfc: 685b ldr r3, [r3, #4] 805bcfe: 1e5a subs r2, r3, #1 805bd00: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd04: 601a str r2, [r3, #0] 805bd06: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd0a: 685b ldr r3, [r3, #4] 805bd0c: 2b01 cmp r3, #1 805bd0e: d805 bhi.n 805bd1c 805bd10: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd14: 685a ldr r2, [r3, #4] 805bd16: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd1a: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805bd1c: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd20: 685b ldr r3, [r3, #4] 805bd22: 1c5a adds r2, r3, #1 805bd24: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd28: 609a str r2, [r3, #8] 805bd2a: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd2e: 685b ldr r3, [r3, #4] 805bd30: f640 72fe movw r2, #4094 ; 0xffe 805bd34: 4293 cmp r3, r2 805bd36: d905 bls.n 805bd44 805bd38: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd3c: 685a ldr r2, [r3, #4] 805bd3e: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd42: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805bd44: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd48: 685b ldr r3, [r3, #4] 805bd4a: 4a28 ldr r2, [pc, #160] ; (805bdec ) 805bd4c: 5cd3 ldrb r3, [r2, r3] 805bd4e: 2b00 cmp r3, #0 805bd50: d10d bne.n 805bd6e 805bd52: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd56: 681b ldr r3, [r3, #0] 805bd58: 4a24 ldr r2, [pc, #144] ; (805bdec ) 805bd5a: 5cd3 ldrb r3, [r2, r3] 805bd5c: 2b00 cmp r3, #0 805bd5e: d106 bne.n 805bd6e 805bd60: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd64: 689b ldr r3, [r3, #8] 805bd66: 4a21 ldr r2, [pc, #132] ; (805bdec ) 805bd68: 5cd3 ldrb r3, [r2, r3] 805bd6a: 2b00 cmp r3, #0 805bd6c: d00a beq.n 805bd84 { limit[i] = true; 805bd6e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bd72: f507 7294 add.w r2, r7, #296 ; 0x128 805bd76: 2101 movs r1, #1 805bd78: 54d1 strb r1, [r2, r3] k++; 805bd7a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bd7e: 3301 adds r3, #1 805bd80: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 11; i++) 805bd84: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bd88: 3301 adds r3, #1 805bd8a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bd8e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bd92: 2b0a cmp r3, #10 805bd94: f67f af7b bls.w 805bc8e } } if((!limit[0]) && (limit[1])) 805bd98: f507 7394 add.w r3, r7, #296 ; 0x128 805bd9c: 781b ldrb r3, [r3, #0] 805bd9e: f083 0301 eor.w r3, r3, #1 805bda2: b2db uxtb r3, r3 805bda4: 2b00 cmp r3, #0 805bda6: d007 beq.n 805bdb8 805bda8: f507 7394 add.w r3, r7, #296 ; 0x128 805bdac: 785b ldrb r3, [r3, #1] 805bdae: 2b00 cmp r3, #0 805bdb0: d002 beq.n 805bdb8 { DEFECTS[PEREKOS_VNUTRENNEGO_KOLCA] = true; 805bdb2: 4b0f ldr r3, [pc, #60] ; (805bdf0 ) 805bdb4: 2201 movs r2, #1 805bdb6: 705a strb r2, [r3, #1] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãåðåêîñ íàðóæíîãî êîëüöà ///////////////////// memset((void *) limit, false, sizeof(limit)); 805bdb8: f507 7394 add.w r3, r7, #296 ; 0x128 805bdbc: 220f movs r2, #15 805bdbe: 2100 movs r1, #0 805bdc0: 4618 mov r0, r3 805bdc2: f075 faed bl 80d13a0 arm_fill_f32(0.0f, frq, 15); 805bdc6: f507 73ba add.w r3, r7, #372 ; 0x174 805bdca: 210f movs r1, #15 805bdcc: 4618 mov r0, r3 805bdce: ed9f 0a09 vldr s0, [pc, #36] ; 805bdf4 805bdd2: f072 f943 bl 80ce05c k = 0; 805bdd6: 2300 movs r3, #0 805bdd8: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805bddc: 2300 movs r3, #0 805bdde: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bde2: e089 b.n 805bef8 805bde4: 20026d40 .word 0x20026d40 805bde8: 3efa0000 .word 0x3efa0000 805bdec: 20018000 .word 0x20018000 805bdf0: 20026f50 .word 0x20026f50 805bdf4: 00000000 .word 0x00000000 { frq[i] = Fn * (float32_t)(i + 1); 805bdf8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bdfc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805be00: 3201 adds r2, #1 805be02: ee07 2a90 vmov s15, r2 805be06: eeb8 7a67 vcvt.f32.u32 s14, s15 805be0a: 4a55 ldr r2, [pc, #340] ; (805bf60 ) 805be0c: edd2 7a00 vldr s15, [r2] 805be10: ee67 7a27 vmul.f32 s15, s14, s15 805be14: 009b lsls r3, r3, #2 805be16: f507 720a add.w r2, r7, #552 ; 0x228 805be1a: 4413 add r3, r2 805be1c: 3bb4 subs r3, #180 ; 0xb4 805be1e: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805be22: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805be26: 009b lsls r3, r3, #2 805be28: f507 720a add.w r2, r7, #552 ; 0x228 805be2c: 4413 add r3, r2 805be2e: 3bb4 subs r3, #180 ; 0xb4 805be30: ed93 7a00 vldr s14, [r3] 805be34: eddf 6a4b vldr s13, [pc, #300] ; 805bf64 805be38: eec7 7a26 vdiv.f32 s15, s14, s13 805be3c: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805be40: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805be44: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805be48: ee77 7a87 vadd.f32 s15, s15, s14 805be4c: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805be50: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805be54: eefc 7ae7 vcvt.u32.f32 s15, s15 805be58: ee17 2a90 vmov r2, s15 805be5c: f107 03bc add.w r3, r7, #188 ; 0xbc 805be60: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805be62: f107 03bc add.w r3, r7, #188 ; 0xbc 805be66: 685b ldr r3, [r3, #4] 805be68: 1e5a subs r2, r3, #1 805be6a: f107 03bc add.w r3, r7, #188 ; 0xbc 805be6e: 601a str r2, [r3, #0] 805be70: f107 03bc add.w r3, r7, #188 ; 0xbc 805be74: 685b ldr r3, [r3, #4] 805be76: 2b01 cmp r3, #1 805be78: d805 bhi.n 805be86 805be7a: f107 03bc add.w r3, r7, #188 ; 0xbc 805be7e: 685a ldr r2, [r3, #4] 805be80: f107 03bc add.w r3, r7, #188 ; 0xbc 805be84: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805be86: f107 03bc add.w r3, r7, #188 ; 0xbc 805be8a: 685b ldr r3, [r3, #4] 805be8c: 1c5a adds r2, r3, #1 805be8e: f107 03bc add.w r3, r7, #188 ; 0xbc 805be92: 609a str r2, [r3, #8] 805be94: f107 03bc add.w r3, r7, #188 ; 0xbc 805be98: 685b ldr r3, [r3, #4] 805be9a: f640 72fe movw r2, #4094 ; 0xffe 805be9e: 4293 cmp r3, r2 805bea0: d905 bls.n 805beae 805bea2: f107 03bc add.w r3, r7, #188 ; 0xbc 805bea6: 685a ldr r2, [r3, #4] 805bea8: f107 03bc add.w r3, r7, #188 ; 0xbc 805beac: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805beae: f107 03bc add.w r3, r7, #188 ; 0xbc 805beb2: 685b ldr r3, [r3, #4] 805beb4: 4a2c ldr r2, [pc, #176] ; (805bf68 ) 805beb6: 5cd3 ldrb r3, [r2, r3] 805beb8: 2b00 cmp r3, #0 805beba: d10d bne.n 805bed8 805bebc: f107 03bc add.w r3, r7, #188 ; 0xbc 805bec0: 681b ldr r3, [r3, #0] 805bec2: 4a29 ldr r2, [pc, #164] ; (805bf68 ) 805bec4: 5cd3 ldrb r3, [r2, r3] 805bec6: 2b00 cmp r3, #0 805bec8: d106 bne.n 805bed8 805beca: f107 03bc add.w r3, r7, #188 ; 0xbc 805bece: 689b ldr r3, [r3, #8] 805bed0: 4a25 ldr r2, [pc, #148] ; (805bf68 ) 805bed2: 5cd3 ldrb r3, [r2, r3] 805bed4: 2b00 cmp r3, #0 805bed6: d00a beq.n 805beee { limit[i] = true; 805bed8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bedc: f507 7294 add.w r2, r7, #296 ; 0x128 805bee0: 2101 movs r1, #1 805bee2: 54d1 strb r1, [r2, r3] k++; 805bee4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bee8: 3301 adds r3, #1 805beea: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805beee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bef2: 3301 adds r3, #1 805bef4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bef8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805befc: 2b03 cmp r3, #3 805befe: f67f af7b bls.w 805bdf8 } } if((!limit[0]) && (limit[1])) 805bf02: f507 7394 add.w r3, r7, #296 ; 0x128 805bf06: 781b ldrb r3, [r3, #0] 805bf08: f083 0301 eor.w r3, r3, #1 805bf0c: b2db uxtb r3, r3 805bf0e: 2b00 cmp r3, #0 805bf10: d007 beq.n 805bf22 805bf12: f507 7394 add.w r3, r7, #296 ; 0x128 805bf16: 785b ldrb r3, [r3, #1] 805bf18: 2b00 cmp r3, #0 805bf1a: d002 beq.n 805bf22 { DEFECTS[PEREKOS_NARUZHNOGO_KOLCA] = true; 805bf1c: 4b13 ldr r3, [pc, #76] ; (805bf6c ) 805bf1e: 2201 movs r2, #1 805bf20: 709a strb r2, [r3, #2] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Èçíîñ áåãîâîé äîðîæêè íàðóæíîãî êîëüöà ///////// memset((void *) limit, false, sizeof(limit)); 805bf22: f507 7394 add.w r3, r7, #296 ; 0x128 805bf26: 220f movs r2, #15 805bf28: 2100 movs r1, #0 805bf2a: 4618 mov r0, r3 805bf2c: f075 fa38 bl 80d13a0 arm_fill_f32(0.0f, frq, 15); 805bf30: f507 73ba add.w r3, r7, #372 ; 0x174 805bf34: 210f movs r1, #15 805bf36: 4618 mov r0, r3 805bf38: ed9f 0a0d vldr s0, [pc, #52] ; 805bf70 805bf3c: f072 f88e bl 80ce05c k = 0; 805bf40: 2300 movs r3, #0 805bf42: 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}; 805bf46: f107 039c add.w r3, r7, #156 ; 0x9c 805bf4a: 4618 mov r0, r3 805bf4c: 231e movs r3, #30 805bf4e: 461a mov r2, r3 805bf50: 2100 movs r1, #0 805bf52: f075 fa25 bl 80d13a0 for(i = 0; i < 4; i++) 805bf56: 2300 movs r3, #0 805bf58: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bf5c: e0da b.n 805c114 805bf5e: bf00 nop 805bf60: 200267e8 .word 0x200267e8 805bf64: 3efa0000 .word 0x3efa0000 805bf68: 20018000 .word 0x20018000 805bf6c: 20026f50 .word 0x20026f50 805bf70: 00000000 .word 0x00000000 { frq[i] = Fn * (float32_t)(i + 1); 805bf74: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bf78: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bf7c: 3201 adds r2, #1 805bf7e: ee07 2a90 vmov s15, r2 805bf82: eeb8 7a67 vcvt.f32.u32 s14, s15 805bf86: 4aad ldr r2, [pc, #692] ; (805c23c ) 805bf88: edd2 7a00 vldr s15, [r2] 805bf8c: ee67 7a27 vmul.f32 s15, s14, s15 805bf90: 009b lsls r3, r3, #2 805bf92: f507 720a add.w r2, r7, #552 ; 0x228 805bf96: 4413 add r3, r2 805bf98: 3bb4 subs r3, #180 ; 0xb4 805bf9a: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805bf9e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bfa2: 009b lsls r3, r3, #2 805bfa4: f507 720a add.w r2, r7, #552 ; 0x228 805bfa8: 4413 add r3, r2 805bfaa: 3bb4 subs r3, #180 ; 0xb4 805bfac: ed93 7a00 vldr s14, [r3] 805bfb0: eddf 6aa3 vldr s13, [pc, #652] ; 805c240 805bfb4: eec7 7a26 vdiv.f32 s15, s14, s13 805bfb8: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805bfbc: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bfc0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805bfc4: ee77 7a87 vadd.f32 s15, s15, s14 805bfc8: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805bfcc: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bfd0: eefc 7ae7 vcvt.u32.f32 s15, s15 805bfd4: ee17 2a90 vmov r2, s15 805bfd8: f107 03bc add.w r3, r7, #188 ; 0xbc 805bfdc: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805bfde: f107 03bc add.w r3, r7, #188 ; 0xbc 805bfe2: 685b ldr r3, [r3, #4] 805bfe4: 1e5a subs r2, r3, #1 805bfe6: f107 03bc add.w r3, r7, #188 ; 0xbc 805bfea: 601a str r2, [r3, #0] 805bfec: f107 03bc add.w r3, r7, #188 ; 0xbc 805bff0: 685b ldr r3, [r3, #4] 805bff2: 2b01 cmp r3, #1 805bff4: d805 bhi.n 805c002 805bff6: f107 03bc add.w r3, r7, #188 ; 0xbc 805bffa: 685a ldr r2, [r3, #4] 805bffc: f107 03bc add.w r3, r7, #188 ; 0xbc 805c000: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805c002: f107 03bc add.w r3, r7, #188 ; 0xbc 805c006: 685b ldr r3, [r3, #4] 805c008: 1c5a adds r2, r3, #1 805c00a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c00e: 609a str r2, [r3, #8] 805c010: f107 03bc add.w r3, r7, #188 ; 0xbc 805c014: 685b ldr r3, [r3, #4] 805c016: f640 72fe movw r2, #4094 ; 0xffe 805c01a: 4293 cmp r3, r2 805c01c: d905 bls.n 805c02a 805c01e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c022: 685a ldr r2, [r3, #4] 805c024: f107 03bc add.w r3, r7, #188 ; 0xbc 805c028: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805c02a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c02e: 685b ldr r3, [r3, #4] 805c030: 4a84 ldr r2, [pc, #528] ; (805c244 ) 805c032: 5cd3 ldrb r3, [r2, r3] 805c034: 2b00 cmp r3, #0 805c036: d10d bne.n 805c054 805c038: f107 03bc add.w r3, r7, #188 ; 0xbc 805c03c: 681b ldr r3, [r3, #0] 805c03e: 4a81 ldr r2, [pc, #516] ; (805c244 ) 805c040: 5cd3 ldrb r3, [r2, r3] 805c042: 2b00 cmp r3, #0 805c044: d106 bne.n 805c054 805c046: f107 03bc add.w r3, r7, #188 ; 0xbc 805c04a: 689b ldr r3, [r3, #8] 805c04c: 4a7d ldr r2, [pc, #500] ; (805c244 ) 805c04e: 5cd3 ldrb r3, [r2, r3] 805c050: 2b00 cmp r3, #0 805c052: d05a beq.n 805c10a { ix[i] = jj[1]; 805c054: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c058: f107 03bc add.w r3, r7, #188 ; 0xbc 805c05c: 685b ldr r3, [r3, #4] 805c05e: b299 uxth r1, r3 805c060: f107 039c add.w r3, r7, #156 ; 0x9c 805c064: f823 1012 strh.w r1, [r3, r2, lsl #1] if(ScrA_f32(ix[i]) < ScrA_f32(jj[0])) 805c068: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c06c: f107 039c add.w r3, r7, #156 ; 0x9c 805c070: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805c074: 009b lsls r3, r3, #2 805c076: 461a mov r2, r3 805c078: 4b73 ldr r3, [pc, #460] ; (805c248 ) 805c07a: 4413 add r3, r2 805c07c: ed93 7a00 vldr s14, [r3] 805c080: f107 03bc add.w r3, r7, #188 ; 0xbc 805c084: 681b ldr r3, [r3, #0] 805c086: 009a lsls r2, r3, #2 805c088: 4b6f ldr r3, [pc, #444] ; (805c248 ) 805c08a: 4413 add r3, r2 805c08c: edd3 7a00 vldr s15, [r3] 805c090: eeb4 7ae7 vcmpe.f32 s14, s15 805c094: eef1 fa10 vmrs APSR_nzcv, fpscr 805c098: d509 bpl.n 805c0ae ix[i] = jj[0]; 805c09a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c09e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0a2: 681b ldr r3, [r3, #0] 805c0a4: b299 uxth r1, r3 805c0a6: f107 039c add.w r3, r7, #156 ; 0x9c 805c0aa: f823 1012 strh.w r1, [r3, r2, lsl #1] if(ScrA_f32(ix[i]) < ScrA_f32(jj[2])) 805c0ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c0b2: f107 039c add.w r3, r7, #156 ; 0x9c 805c0b6: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805c0ba: 009b lsls r3, r3, #2 805c0bc: 461a mov r2, r3 805c0be: 4b62 ldr r3, [pc, #392] ; (805c248 ) 805c0c0: 4413 add r3, r2 805c0c2: ed93 7a00 vldr s14, [r3] 805c0c6: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0ca: 689b ldr r3, [r3, #8] 805c0cc: 009a lsls r2, r3, #2 805c0ce: 4b5e ldr r3, [pc, #376] ; (805c248 ) 805c0d0: 4413 add r3, r2 805c0d2: edd3 7a00 vldr s15, [r3] 805c0d6: eeb4 7ae7 vcmpe.f32 s14, s15 805c0da: eef1 fa10 vmrs APSR_nzcv, fpscr 805c0de: d509 bpl.n 805c0f4 ix[i] = jj[2]; 805c0e0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c0e4: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0e8: 689b ldr r3, [r3, #8] 805c0ea: b299 uxth r1, r3 805c0ec: f107 039c add.w r3, r7, #156 ; 0x9c 805c0f0: f823 1012 strh.w r1, [r3, r2, lsl #1] limit[i] = true; 805c0f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c0f8: f507 7294 add.w r2, r7, #296 ; 0x128 805c0fc: 2101 movs r1, #1 805c0fe: 54d1 strb r1, [r2, r3] k++; 805c100: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c104: 3301 adds r3, #1 805c106: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805c10a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c10e: 3301 adds r3, #1 805c110: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c114: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c118: 2b03 cmp r3, #3 805c11a: f67f af2b bls.w 805bf74 } } if((limit[0]) && (k >= 3)) 805c11e: f507 7394 add.w r3, r7, #296 ; 0x128 805c122: 781b ldrb r3, [r3, #0] 805c124: 2b00 cmp r3, #0 805c126: f000 80d6 beq.w 805c2d6 805c12a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c12e: 2b02 cmp r3, #2 805c130: f240 80d1 bls.w 805c2d6 { if((limit[1]) && (limit[2])) 805c134: f507 7394 add.w r3, r7, #296 ; 0x128 805c138: 785b ldrb r3, [r3, #1] 805c13a: 2b00 cmp r3, #0 805c13c: d038 beq.n 805c1b0 805c13e: f507 7394 add.w r3, r7, #296 ; 0x128 805c142: 789b ldrb r3, [r3, #2] 805c144: 2b00 cmp r3, #0 805c146: d033 beq.n 805c1b0 { if((ScrA_f32(ix[0]) > ScrA_f32(ix[1])) && (ScrA_f32(ix[1]) > ScrA_f32(ix[2]))) 805c148: f107 039c add.w r3, r7, #156 ; 0x9c 805c14c: 881b ldrh r3, [r3, #0] 805c14e: 009b lsls r3, r3, #2 805c150: 461a mov r2, r3 805c152: 4b3d ldr r3, [pc, #244] ; (805c248 ) 805c154: 4413 add r3, r2 805c156: ed93 7a00 vldr s14, [r3] 805c15a: f107 039c add.w r3, r7, #156 ; 0x9c 805c15e: 885b ldrh r3, [r3, #2] 805c160: 009b lsls r3, r3, #2 805c162: 461a mov r2, r3 805c164: 4b38 ldr r3, [pc, #224] ; (805c248 ) 805c166: 4413 add r3, r2 805c168: edd3 7a00 vldr s15, [r3] 805c16c: eeb4 7ae7 vcmpe.f32 s14, s15 805c170: eef1 fa10 vmrs APSR_nzcv, fpscr 805c174: f340 80af ble.w 805c2d6 805c178: f107 039c add.w r3, r7, #156 ; 0x9c 805c17c: 885b ldrh r3, [r3, #2] 805c17e: 009b lsls r3, r3, #2 805c180: 461a mov r2, r3 805c182: 4b31 ldr r3, [pc, #196] ; (805c248 ) 805c184: 4413 add r3, r2 805c186: ed93 7a00 vldr s14, [r3] 805c18a: f107 039c add.w r3, r7, #156 ; 0x9c 805c18e: 889b ldrh r3, [r3, #4] 805c190: 009b lsls r3, r3, #2 805c192: 461a mov r2, r3 805c194: 4b2c ldr r3, [pc, #176] ; (805c248 ) 805c196: 4413 add r3, r2 805c198: edd3 7a00 vldr s15, [r3] 805c19c: eeb4 7ae7 vcmpe.f32 s14, s15 805c1a0: eef1 fa10 vmrs APSR_nzcv, fpscr 805c1a4: dc00 bgt.n 805c1a8 805c1a6: e096 b.n 805c2d6 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_NARUZHNOGO_KOLCA] = true; 805c1a8: 4b28 ldr r3, [pc, #160] ; (805c24c ) 805c1aa: 2201 movs r2, #1 805c1ac: 70da strb r2, [r3, #3] if((ScrA_f32(ix[0]) > ScrA_f32(ix[1])) && (ScrA_f32(ix[1]) > ScrA_f32(ix[2]))) 805c1ae: e092 b.n 805c2d6 } } else if((!limit[1]) && (limit[2]) && (limit[3])) 805c1b0: f507 7394 add.w r3, r7, #296 ; 0x128 805c1b4: 785b ldrb r3, [r3, #1] 805c1b6: f083 0301 eor.w r3, r3, #1 805c1ba: b2db uxtb r3, r3 805c1bc: 2b00 cmp r3, #0 805c1be: d047 beq.n 805c250 805c1c0: f507 7394 add.w r3, r7, #296 ; 0x128 805c1c4: 789b ldrb r3, [r3, #2] 805c1c6: 2b00 cmp r3, #0 805c1c8: d042 beq.n 805c250 805c1ca: f507 7394 add.w r3, r7, #296 ; 0x128 805c1ce: 78db ldrb r3, [r3, #3] 805c1d0: 2b00 cmp r3, #0 805c1d2: d03d beq.n 805c250 { if((ScrA_f32(ix[0]) > ScrA_f32(ix[2])) && (ScrA_f32(ix[2]) > ScrA_f32(ix[3]))) 805c1d4: f107 039c add.w r3, r7, #156 ; 0x9c 805c1d8: 881b ldrh r3, [r3, #0] 805c1da: 009b lsls r3, r3, #2 805c1dc: 461a mov r2, r3 805c1de: 4b1a ldr r3, [pc, #104] ; (805c248 ) 805c1e0: 4413 add r3, r2 805c1e2: ed93 7a00 vldr s14, [r3] 805c1e6: f107 039c add.w r3, r7, #156 ; 0x9c 805c1ea: 889b ldrh r3, [r3, #4] 805c1ec: 009b lsls r3, r3, #2 805c1ee: 461a mov r2, r3 805c1f0: 4b15 ldr r3, [pc, #84] ; (805c248 ) 805c1f2: 4413 add r3, r2 805c1f4: edd3 7a00 vldr s15, [r3] 805c1f8: eeb4 7ae7 vcmpe.f32 s14, s15 805c1fc: eef1 fa10 vmrs APSR_nzcv, fpscr 805c200: dd69 ble.n 805c2d6 805c202: f107 039c add.w r3, r7, #156 ; 0x9c 805c206: 889b ldrh r3, [r3, #4] 805c208: 009b lsls r3, r3, #2 805c20a: 461a mov r2, r3 805c20c: 4b0e ldr r3, [pc, #56] ; (805c248 ) 805c20e: 4413 add r3, r2 805c210: ed93 7a00 vldr s14, [r3] 805c214: f107 039c add.w r3, r7, #156 ; 0x9c 805c218: 88db ldrh r3, [r3, #6] 805c21a: 009b lsls r3, r3, #2 805c21c: 461a mov r2, r3 805c21e: 4b0a ldr r3, [pc, #40] ; (805c248 ) 805c220: 4413 add r3, r2 805c222: edd3 7a00 vldr s15, [r3] 805c226: eeb4 7ae7 vcmpe.f32 s14, s15 805c22a: eef1 fa10 vmrs APSR_nzcv, fpscr 805c22e: dc00 bgt.n 805c232 805c230: e051 b.n 805c2d6 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_NARUZHNOGO_KOLCA] = true; 805c232: 4b06 ldr r3, [pc, #24] ; (805c24c ) 805c234: 2201 movs r2, #1 805c236: 70da strb r2, [r3, #3] if((ScrA_f32(ix[0]) > ScrA_f32(ix[2])) && (ScrA_f32(ix[2]) > ScrA_f32(ix[3]))) 805c238: e04d b.n 805c2d6 805c23a: bf00 nop 805c23c: 200267e8 .word 0x200267e8 805c240: 3efa0000 .word 0x3efa0000 805c244: 20018000 .word 0x20018000 805c248: 64080000 .word 0x64080000 805c24c: 20026f50 .word 0x20026f50 } } else if((limit[1]) && (!limit[2]) && (limit[3])) 805c250: f507 7394 add.w r3, r7, #296 ; 0x128 805c254: 785b ldrb r3, [r3, #1] 805c256: 2b00 cmp r3, #0 805c258: d03d beq.n 805c2d6 805c25a: f507 7394 add.w r3, r7, #296 ; 0x128 805c25e: 789b ldrb r3, [r3, #2] 805c260: f083 0301 eor.w r3, r3, #1 805c264: b2db uxtb r3, r3 805c266: 2b00 cmp r3, #0 805c268: d035 beq.n 805c2d6 805c26a: f507 7394 add.w r3, r7, #296 ; 0x128 805c26e: 78db ldrb r3, [r3, #3] 805c270: 2b00 cmp r3, #0 805c272: d030 beq.n 805c2d6 { if((ScrA_f32(ix[0]) > ScrA_f32(ix[1])) && (ScrA_f32(ix[1]) > ScrA_f32(ix[3]))) 805c274: f107 039c add.w r3, r7, #156 ; 0x9c 805c278: 881b ldrh r3, [r3, #0] 805c27a: 009b lsls r3, r3, #2 805c27c: 461a mov r2, r3 805c27e: 4bc4 ldr r3, [pc, #784] ; (805c590 ) 805c280: 4413 add r3, r2 805c282: ed93 7a00 vldr s14, [r3] 805c286: f107 039c add.w r3, r7, #156 ; 0x9c 805c28a: 885b ldrh r3, [r3, #2] 805c28c: 009b lsls r3, r3, #2 805c28e: 461a mov r2, r3 805c290: 4bbf ldr r3, [pc, #764] ; (805c590 ) 805c292: 4413 add r3, r2 805c294: edd3 7a00 vldr s15, [r3] 805c298: eeb4 7ae7 vcmpe.f32 s14, s15 805c29c: eef1 fa10 vmrs APSR_nzcv, fpscr 805c2a0: dd19 ble.n 805c2d6 805c2a2: f107 039c add.w r3, r7, #156 ; 0x9c 805c2a6: 885b ldrh r3, [r3, #2] 805c2a8: 009b lsls r3, r3, #2 805c2aa: 461a mov r2, r3 805c2ac: 4bb8 ldr r3, [pc, #736] ; (805c590 ) 805c2ae: 4413 add r3, r2 805c2b0: ed93 7a00 vldr s14, [r3] 805c2b4: f107 039c add.w r3, r7, #156 ; 0x9c 805c2b8: 88db ldrh r3, [r3, #6] 805c2ba: 009b lsls r3, r3, #2 805c2bc: 461a mov r2, r3 805c2be: 4bb4 ldr r3, [pc, #720] ; (805c590 ) 805c2c0: 4413 add r3, r2 805c2c2: edd3 7a00 vldr s15, [r3] 805c2c6: eeb4 7ae7 vcmpe.f32 s14, s15 805c2ca: eef1 fa10 vmrs APSR_nzcv, fpscr 805c2ce: dd02 ble.n 805c2d6 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_NARUZHNOGO_KOLCA] = true; 805c2d0: 4bb0 ldr r3, [pc, #704] ; (805c594 ) 805c2d2: 2201 movs r2, #1 805c2d4: 70da strb r2, [r3, #3] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Çàäèðû, òðåùèíû íà íàðóæíîì êîëüöå ///////////// memset((void *) limit, false, sizeof(limit)); 805c2d6: f507 7394 add.w r3, r7, #296 ; 0x128 805c2da: 220f movs r2, #15 805c2dc: 2100 movs r1, #0 805c2de: 4618 mov r0, r3 805c2e0: f075 f85e bl 80d13a0 arm_fill_f32(0.0f, frq, 15); 805c2e4: f507 73ba add.w r3, r7, #372 ; 0x174 805c2e8: 210f movs r1, #15 805c2ea: 4618 mov r0, r3 805c2ec: ed9f 0aaa vldr s0, [pc, #680] ; 805c598 805c2f0: f071 feb4 bl 80ce05c k = 0; 805c2f4: 2300 movs r3, #0 805c2f6: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805c2fa: 2300 movs r3, #0 805c2fc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c300: e07f b.n 805c402 { frq[i] = Fn * (float32_t)(i + 1); 805c302: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c306: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c30a: 3201 adds r2, #1 805c30c: ee07 2a90 vmov s15, r2 805c310: eeb8 7a67 vcvt.f32.u32 s14, s15 805c314: 4aa1 ldr r2, [pc, #644] ; (805c59c ) 805c316: edd2 7a00 vldr s15, [r2] 805c31a: ee67 7a27 vmul.f32 s15, s14, s15 805c31e: 009b lsls r3, r3, #2 805c320: f507 720a add.w r2, r7, #552 ; 0x228 805c324: 4413 add r3, r2 805c326: 3bb4 subs r3, #180 ; 0xb4 805c328: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805c32c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c330: 009b lsls r3, r3, #2 805c332: f507 720a add.w r2, r7, #552 ; 0x228 805c336: 4413 add r3, r2 805c338: 3bb4 subs r3, #180 ; 0xb4 805c33a: ed93 7a00 vldr s14, [r3] 805c33e: eddf 6a98 vldr s13, [pc, #608] ; 805c5a0 805c342: eec7 7a26 vdiv.f32 s15, s14, s13 805c346: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805c34a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c34e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c352: ee77 7a87 vadd.f32 s15, s15, s14 805c356: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805c35a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c35e: eefc 7ae7 vcvt.u32.f32 s15, s15 805c362: ee17 2a90 vmov r2, s15 805c366: f107 03bc add.w r3, r7, #188 ; 0xbc 805c36a: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805c36c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c370: 685b ldr r3, [r3, #4] 805c372: 1e5a subs r2, r3, #1 805c374: f107 03bc add.w r3, r7, #188 ; 0xbc 805c378: 601a str r2, [r3, #0] 805c37a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c37e: 685b ldr r3, [r3, #4] 805c380: 2b01 cmp r3, #1 805c382: d805 bhi.n 805c390 805c384: f107 03bc add.w r3, r7, #188 ; 0xbc 805c388: 685a ldr r2, [r3, #4] 805c38a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c38e: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805c390: f107 03bc add.w r3, r7, #188 ; 0xbc 805c394: 685b ldr r3, [r3, #4] 805c396: 1c5a adds r2, r3, #1 805c398: f107 03bc add.w r3, r7, #188 ; 0xbc 805c39c: 609a str r2, [r3, #8] 805c39e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c3a2: 685b ldr r3, [r3, #4] 805c3a4: f640 72fe movw r2, #4094 ; 0xffe 805c3a8: 4293 cmp r3, r2 805c3aa: d905 bls.n 805c3b8 805c3ac: f107 03bc add.w r3, r7, #188 ; 0xbc 805c3b0: 685a ldr r2, [r3, #4] 805c3b2: f107 03bc add.w r3, r7, #188 ; 0xbc 805c3b6: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805c3b8: f107 03bc add.w r3, r7, #188 ; 0xbc 805c3bc: 685b ldr r3, [r3, #4] 805c3be: 4a79 ldr r2, [pc, #484] ; (805c5a4 ) 805c3c0: 5cd3 ldrb r3, [r2, r3] 805c3c2: 2b00 cmp r3, #0 805c3c4: d10d bne.n 805c3e2 805c3c6: f107 03bc add.w r3, r7, #188 ; 0xbc 805c3ca: 681b ldr r3, [r3, #0] 805c3cc: 4a75 ldr r2, [pc, #468] ; (805c5a4 ) 805c3ce: 5cd3 ldrb r3, [r2, r3] 805c3d0: 2b00 cmp r3, #0 805c3d2: d106 bne.n 805c3e2 805c3d4: f107 03bc add.w r3, r7, #188 ; 0xbc 805c3d8: 689b ldr r3, [r3, #8] 805c3da: 4a72 ldr r2, [pc, #456] ; (805c5a4 ) 805c3dc: 5cd3 ldrb r3, [r2, r3] 805c3de: 2b00 cmp r3, #0 805c3e0: d00a beq.n 805c3f8 { limit[i] = true; 805c3e2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c3e6: f507 7294 add.w r2, r7, #296 ; 0x128 805c3ea: 2101 movs r1, #1 805c3ec: 54d1 strb r1, [r2, r3] k++; 805c3ee: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c3f2: 3301 adds r3, #1 805c3f4: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805c3f8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c3fc: 3301 adds r3, #1 805c3fe: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c402: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c406: 2b03 cmp r3, #3 805c408: f67f af7b bls.w 805c302 } } if((k >= 2) && (limit[0]) && (limit[1])) 805c40c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c410: 2b01 cmp r3, #1 805c412: d90c bls.n 805c42e 805c414: f507 7394 add.w r3, r7, #296 ; 0x128 805c418: 781b ldrb r3, [r3, #0] 805c41a: 2b00 cmp r3, #0 805c41c: d007 beq.n 805c42e 805c41e: f507 7394 add.w r3, r7, #296 ; 0x128 805c422: 785b ldrb r3, [r3, #1] 805c424: 2b00 cmp r3, #0 805c426: d002 beq.n 805c42e { DEFECTS[ZADIRI_TRESCHINI_NA_NARUZHNOM_KOLCE] = true; 805c428: 4b5a ldr r3, [pc, #360] ; (805c594 ) 805c42a: 2201 movs r2, #1 805c42c: 711a strb r2, [r3, #4] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Èçíîñ áåãîâîé äîðîæêè âíóòðåííåãî êîëüöà ////////// memset((void *) limit, false, sizeof(limit)); 805c42e: f507 7394 add.w r3, r7, #296 ; 0x128 805c432: 220f movs r2, #15 805c434: 2100 movs r1, #0 805c436: 4618 mov r0, r3 805c438: f074 ffb2 bl 80d13a0 memset((void *) limit_1, false, sizeof(limit_1)); 805c43c: f507 738c add.w r3, r7, #280 ; 0x118 805c440: 220f movs r2, #15 805c442: 2100 movs r1, #0 805c444: 4618 mov r0, r3 805c446: f074 ffab bl 80d13a0 arm_fill_f32(0.0f, frq, 15); 805c44a: f507 73ba add.w r3, r7, #372 ; 0x174 805c44e: 210f movs r1, #15 805c450: 4618 mov r0, r3 805c452: ed9f 0a51 vldr s0, [pc, #324] ; 805c598 805c456: f071 fe01 bl 80ce05c arm_fill_f32(0.0f, frq_1, 15); 805c45a: f507 739c add.w r3, r7, #312 ; 0x138 805c45e: 210f movs r1, #15 805c460: 4618 mov r0, r3 805c462: ed9f 0a4d vldr s0, [pc, #308] ; 805c598 805c466: f071 fdf9 bl 80ce05c k = 0; 805c46a: 2300 movs r3, #0 805c46c: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c470: 2300 movs r3, #0 805c472: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 7; i++) 805c476: 2300 movs r3, #0 805c478: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c47c: e07f b.n 805c57e { frq[i] = Fvr * (float32_t)(i + 1); 805c47e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c482: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c486: 3201 adds r2, #1 805c488: ee07 2a90 vmov s15, r2 805c48c: eeb8 7a67 vcvt.f32.u32 s14, s15 805c490: 4a45 ldr r2, [pc, #276] ; (805c5a8 ) 805c492: edd2 7a00 vldr s15, [r2] 805c496: ee67 7a27 vmul.f32 s15, s14, s15 805c49a: 009b lsls r3, r3, #2 805c49c: f507 720a add.w r2, r7, #552 ; 0x228 805c4a0: 4413 add r3, r2 805c4a2: 3bb4 subs r3, #180 ; 0xb4 805c4a4: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805c4a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c4ac: 009b lsls r3, r3, #2 805c4ae: f507 720a add.w r2, r7, #552 ; 0x228 805c4b2: 4413 add r3, r2 805c4b4: 3bb4 subs r3, #180 ; 0xb4 805c4b6: ed93 7a00 vldr s14, [r3] 805c4ba: eddf 6a39 vldr s13, [pc, #228] ; 805c5a0 805c4be: eec7 7a26 vdiv.f32 s15, s14, s13 805c4c2: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805c4c6: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c4ca: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c4ce: ee77 7a87 vadd.f32 s15, s15, s14 805c4d2: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805c4d6: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c4da: eefc 7ae7 vcvt.u32.f32 s15, s15 805c4de: ee17 2a90 vmov r2, s15 805c4e2: f107 03bc add.w r3, r7, #188 ; 0xbc 805c4e6: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805c4e8: f107 03bc add.w r3, r7, #188 ; 0xbc 805c4ec: 685b ldr r3, [r3, #4] 805c4ee: 1e5a subs r2, r3, #1 805c4f0: f107 03bc add.w r3, r7, #188 ; 0xbc 805c4f4: 601a str r2, [r3, #0] 805c4f6: f107 03bc add.w r3, r7, #188 ; 0xbc 805c4fa: 685b ldr r3, [r3, #4] 805c4fc: 2b01 cmp r3, #1 805c4fe: d805 bhi.n 805c50c 805c500: f107 03bc add.w r3, r7, #188 ; 0xbc 805c504: 685a ldr r2, [r3, #4] 805c506: f107 03bc add.w r3, r7, #188 ; 0xbc 805c50a: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805c50c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c510: 685b ldr r3, [r3, #4] 805c512: 1c5a adds r2, r3, #1 805c514: f107 03bc add.w r3, r7, #188 ; 0xbc 805c518: 609a str r2, [r3, #8] 805c51a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c51e: 685b ldr r3, [r3, #4] 805c520: f640 72fe movw r2, #4094 ; 0xffe 805c524: 4293 cmp r3, r2 805c526: d905 bls.n 805c534 805c528: f107 03bc add.w r3, r7, #188 ; 0xbc 805c52c: 685a ldr r2, [r3, #4] 805c52e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c532: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805c534: f107 03bc add.w r3, r7, #188 ; 0xbc 805c538: 685b ldr r3, [r3, #4] 805c53a: 4a1a ldr r2, [pc, #104] ; (805c5a4 ) 805c53c: 5cd3 ldrb r3, [r2, r3] 805c53e: 2b00 cmp r3, #0 805c540: d10d bne.n 805c55e 805c542: f107 03bc add.w r3, r7, #188 ; 0xbc 805c546: 681b ldr r3, [r3, #0] 805c548: 4a16 ldr r2, [pc, #88] ; (805c5a4 ) 805c54a: 5cd3 ldrb r3, [r2, r3] 805c54c: 2b00 cmp r3, #0 805c54e: d106 bne.n 805c55e 805c550: f107 03bc add.w r3, r7, #188 ; 0xbc 805c554: 689b ldr r3, [r3, #8] 805c556: 4a13 ldr r2, [pc, #76] ; (805c5a4 ) 805c558: 5cd3 ldrb r3, [r2, r3] 805c55a: 2b00 cmp r3, #0 805c55c: d00a beq.n 805c574 { limit[i] = true; 805c55e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c562: f507 7294 add.w r2, r7, #296 ; 0x128 805c566: 2101 movs r1, #1 805c568: 54d1 strb r1, [r2, r3] k++; 805c56a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c56e: 3301 adds r3, #1 805c570: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 7; i++) 805c574: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c578: 3301 adds r3, #1 805c57a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c57e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c582: 2b06 cmp r3, #6 805c584: f67f af7b bls.w 805c47e } } for(i = 0; i < 3; i++) 805c588: 2300 movs r3, #0 805c58a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c58e: e08d b.n 805c6ac 805c590: 64080000 .word 0x64080000 805c594: 20026f50 .word 0x20026f50 805c598: 00000000 .word 0x00000000 805c59c: 200267e8 .word 0x200267e8 805c5a0: 3efa0000 .word 0x3efa0000 805c5a4: 20018000 .word 0x20018000 805c5a8: 20026d40 .word 0x20026d40 { frq_1[i] = Fv * (float32_t)(i + 1); 805c5ac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c5b0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c5b4: 3201 adds r2, #1 805c5b6: ee07 2a90 vmov s15, r2 805c5ba: eeb8 7a67 vcvt.f32.u32 s14, s15 805c5be: 4aba ldr r2, [pc, #744] ; (805c8a8 ) 805c5c0: edd2 7a00 vldr s15, [r2] 805c5c4: ee67 7a27 vmul.f32 s15, s14, s15 805c5c8: 009b lsls r3, r3, #2 805c5ca: f507 720a add.w r2, r7, #552 ; 0x228 805c5ce: 4413 add r3, r2 805c5d0: 3bf0 subs r3, #240 ; 0xf0 805c5d2: edc3 7a00 vstr s15, [r3] fl = frq_1[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805c5d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c5da: 009b lsls r3, r3, #2 805c5dc: f507 720a add.w r2, r7, #552 ; 0x228 805c5e0: 4413 add r3, r2 805c5e2: 3bf0 subs r3, #240 ; 0xf0 805c5e4: ed93 7a00 vldr s14, [r3] 805c5e8: eddf 6ab0 vldr s13, [pc, #704] ; 805c8ac 805c5ec: eec7 7a26 vdiv.f32 s15, s14, s13 805c5f0: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805c5f4: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c5f8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c5fc: ee77 7a87 vadd.f32 s15, s15, s14 805c600: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805c604: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c608: eefc 7ae7 vcvt.u32.f32 s15, s15 805c60c: ee17 2a90 vmov r2, s15 805c610: f107 03bc add.w r3, r7, #188 ; 0xbc 805c614: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805c616: f107 03bc add.w r3, r7, #188 ; 0xbc 805c61a: 685b ldr r3, [r3, #4] 805c61c: 1e5a subs r2, r3, #1 805c61e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c622: 601a str r2, [r3, #0] 805c624: f107 03bc add.w r3, r7, #188 ; 0xbc 805c628: 685b ldr r3, [r3, #4] 805c62a: 2b01 cmp r3, #1 805c62c: d805 bhi.n 805c63a 805c62e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c632: 685a ldr r2, [r3, #4] 805c634: f107 03bc add.w r3, r7, #188 ; 0xbc 805c638: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805c63a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c63e: 685b ldr r3, [r3, #4] 805c640: 1c5a adds r2, r3, #1 805c642: f107 03bc add.w r3, r7, #188 ; 0xbc 805c646: 609a str r2, [r3, #8] 805c648: f107 03bc add.w r3, r7, #188 ; 0xbc 805c64c: 685b ldr r3, [r3, #4] 805c64e: f640 72fe movw r2, #4094 ; 0xffe 805c652: 4293 cmp r3, r2 805c654: d905 bls.n 805c662 805c656: f107 03bc add.w r3, r7, #188 ; 0xbc 805c65a: 685a ldr r2, [r3, #4] 805c65c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c660: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805c662: f107 03bc add.w r3, r7, #188 ; 0xbc 805c666: 685b ldr r3, [r3, #4] 805c668: 4a91 ldr r2, [pc, #580] ; (805c8b0 ) 805c66a: 5cd3 ldrb r3, [r2, r3] 805c66c: 2b00 cmp r3, #0 805c66e: d10d bne.n 805c68c 805c670: f107 03bc add.w r3, r7, #188 ; 0xbc 805c674: 681b ldr r3, [r3, #0] 805c676: 4a8e ldr r2, [pc, #568] ; (805c8b0 ) 805c678: 5cd3 ldrb r3, [r2, r3] 805c67a: 2b00 cmp r3, #0 805c67c: d106 bne.n 805c68c 805c67e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c682: 689b ldr r3, [r3, #8] 805c684: 4a8a ldr r2, [pc, #552] ; (805c8b0 ) 805c686: 5cd3 ldrb r3, [r2, r3] 805c688: 2b00 cmp r3, #0 805c68a: d00a beq.n 805c6a2 { limit_1[i] = true; 805c68c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c690: f507 728c add.w r2, r7, #280 ; 0x118 805c694: 2101 movs r1, #1 805c696: 54d1 strb r1, [r2, r3] l++; 805c698: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805c69c: 3301 adds r3, #1 805c69e: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 3; i++) 805c6a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c6a6: 3301 adds r3, #1 805c6a8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c6ac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c6b0: 2b02 cmp r3, #2 805c6b2: f67f af7b bls.w 805c5ac } } if((k >= 3) && (limit[0])) 805c6b6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c6ba: 2b02 cmp r3, #2 805c6bc: d943 bls.n 805c746 805c6be: f507 7394 add.w r3, r7, #296 ; 0x128 805c6c2: 781b ldrb r3, [r3, #0] 805c6c4: 2b00 cmp r3, #0 805c6c6: d03e beq.n 805c746 { if((k >= 1) && (limit_1[0])) 805c6c8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c6cc: 2b00 cmp r3, #0 805c6ce: d03a beq.n 805c746 805c6d0: f507 738c add.w r3, r7, #280 ; 0x118 805c6d4: 781b ldrb r3, [r3, #0] 805c6d6: 2b00 cmp r3, #0 805c6d8: d035 beq.n 805c746 { if((limit[1]) && (limit[2])) 805c6da: f507 7394 add.w r3, r7, #296 ; 0x128 805c6de: 785b ldrb r3, [r3, #1] 805c6e0: 2b00 cmp r3, #0 805c6e2: d007 beq.n 805c6f4 805c6e4: f507 7394 add.w r3, r7, #296 ; 0x128 805c6e8: 789b ldrb r3, [r3, #2] 805c6ea: 2b00 cmp r3, #0 805c6ec: d002 beq.n 805c6f4 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_VNUTRENNEGO_KOLCA]; 805c6ee: 4b71 ldr r3, [pc, #452] ; (805c8b4 ) 805c6f0: 795b ldrb r3, [r3, #5] 805c6f2: e028 b.n 805c746 } else if((!limit[1]) && (limit[2]) && (limit[3])) 805c6f4: f507 7394 add.w r3, r7, #296 ; 0x128 805c6f8: 785b ldrb r3, [r3, #1] 805c6fa: f083 0301 eor.w r3, r3, #1 805c6fe: b2db uxtb r3, r3 805c700: 2b00 cmp r3, #0 805c702: d00c beq.n 805c71e 805c704: f507 7394 add.w r3, r7, #296 ; 0x128 805c708: 789b ldrb r3, [r3, #2] 805c70a: 2b00 cmp r3, #0 805c70c: d007 beq.n 805c71e 805c70e: f507 7394 add.w r3, r7, #296 ; 0x128 805c712: 78db ldrb r3, [r3, #3] 805c714: 2b00 cmp r3, #0 805c716: d002 beq.n 805c71e { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_VNUTRENNEGO_KOLCA]; 805c718: 4b66 ldr r3, [pc, #408] ; (805c8b4 ) 805c71a: 795b ldrb r3, [r3, #5] 805c71c: e013 b.n 805c746 } else if((limit[1]) && (!limit[2]) && (limit[3])) 805c71e: f507 7394 add.w r3, r7, #296 ; 0x128 805c722: 785b ldrb r3, [r3, #1] 805c724: 2b00 cmp r3, #0 805c726: d00e beq.n 805c746 805c728: f507 7394 add.w r3, r7, #296 ; 0x128 805c72c: 789b ldrb r3, [r3, #2] 805c72e: f083 0301 eor.w r3, r3, #1 805c732: b2db uxtb r3, r3 805c734: 2b00 cmp r3, #0 805c736: d006 beq.n 805c746 805c738: f507 7394 add.w r3, r7, #296 ; 0x128 805c73c: 78db ldrb r3, [r3, #3] 805c73e: 2b00 cmp r3, #0 805c740: d001 beq.n 805c746 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_VNUTRENNEGO_KOLCA]; 805c742: 4b5c ldr r3, [pc, #368] ; (805c8b4 ) 805c744: 795b ldrb r3, [r3, #5] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Çàäèðû (òðåùèíû) íà âíóòðåííåì êîëüöå ////////// memset((void *) limit, false, sizeof(limit)); 805c746: f507 7394 add.w r3, r7, #296 ; 0x128 805c74a: 220f movs r2, #15 805c74c: 2100 movs r1, #0 805c74e: 4618 mov r0, r3 805c750: f074 fe26 bl 80d13a0 memset((void *) limit_1, false, sizeof(limit_1)); 805c754: f507 738c add.w r3, r7, #280 ; 0x118 805c758: 220f movs r2, #15 805c75a: 2100 movs r1, #0 805c75c: 4618 mov r0, r3 805c75e: f074 fe1f bl 80d13a0 arm_fill_f32(0.0f, frq, 15); 805c762: f507 73ba add.w r3, r7, #372 ; 0x174 805c766: 210f movs r1, #15 805c768: 4618 mov r0, r3 805c76a: ed9f 0a53 vldr s0, [pc, #332] ; 805c8b8 805c76e: f071 fc75 bl 80ce05c arm_fill_f32(0.0f, frq_1, 15); 805c772: f507 739c add.w r3, r7, #312 ; 0x138 805c776: 210f movs r1, #15 805c778: 4618 mov r0, r3 805c77a: ed9f 0a4f vldr s0, [pc, #316] ; 805c8b8 805c77e: f071 fc6d bl 80ce05c k = 0; 805c782: 2300 movs r3, #0 805c784: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c788: 2300 movs r3, #0 805c78a: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 7; i++) 805c78e: 2300 movs r3, #0 805c790: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c794: e07f b.n 805c896 { frq[i] = Fvr * (float32_t)(i + 1); 805c796: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c79a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c79e: 3201 adds r2, #1 805c7a0: ee07 2a90 vmov s15, r2 805c7a4: eeb8 7a67 vcvt.f32.u32 s14, s15 805c7a8: 4a44 ldr r2, [pc, #272] ; (805c8bc ) 805c7aa: edd2 7a00 vldr s15, [r2] 805c7ae: ee67 7a27 vmul.f32 s15, s14, s15 805c7b2: 009b lsls r3, r3, #2 805c7b4: f507 720a add.w r2, r7, #552 ; 0x228 805c7b8: 4413 add r3, r2 805c7ba: 3bb4 subs r3, #180 ; 0xb4 805c7bc: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805c7c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c7c4: 009b lsls r3, r3, #2 805c7c6: f507 720a add.w r2, r7, #552 ; 0x228 805c7ca: 4413 add r3, r2 805c7cc: 3bb4 subs r3, #180 ; 0xb4 805c7ce: ed93 7a00 vldr s14, [r3] 805c7d2: eddf 6a36 vldr s13, [pc, #216] ; 805c8ac 805c7d6: eec7 7a26 vdiv.f32 s15, s14, s13 805c7da: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805c7de: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c7e2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c7e6: ee77 7a87 vadd.f32 s15, s15, s14 805c7ea: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805c7ee: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c7f2: eefc 7ae7 vcvt.u32.f32 s15, s15 805c7f6: ee17 2a90 vmov r2, s15 805c7fa: f107 03bc add.w r3, r7, #188 ; 0xbc 805c7fe: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805c800: f107 03bc add.w r3, r7, #188 ; 0xbc 805c804: 685b ldr r3, [r3, #4] 805c806: 1e5a subs r2, r3, #1 805c808: f107 03bc add.w r3, r7, #188 ; 0xbc 805c80c: 601a str r2, [r3, #0] 805c80e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c812: 685b ldr r3, [r3, #4] 805c814: 2b01 cmp r3, #1 805c816: d805 bhi.n 805c824 805c818: f107 03bc add.w r3, r7, #188 ; 0xbc 805c81c: 685a ldr r2, [r3, #4] 805c81e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c822: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805c824: f107 03bc add.w r3, r7, #188 ; 0xbc 805c828: 685b ldr r3, [r3, #4] 805c82a: 1c5a adds r2, r3, #1 805c82c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c830: 609a str r2, [r3, #8] 805c832: f107 03bc add.w r3, r7, #188 ; 0xbc 805c836: 685b ldr r3, [r3, #4] 805c838: f640 72fe movw r2, #4094 ; 0xffe 805c83c: 4293 cmp r3, r2 805c83e: d905 bls.n 805c84c 805c840: f107 03bc add.w r3, r7, #188 ; 0xbc 805c844: 685a ldr r2, [r3, #4] 805c846: f107 03bc add.w r3, r7, #188 ; 0xbc 805c84a: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805c84c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c850: 685b ldr r3, [r3, #4] 805c852: 4a17 ldr r2, [pc, #92] ; (805c8b0 ) 805c854: 5cd3 ldrb r3, [r2, r3] 805c856: 2b00 cmp r3, #0 805c858: d10d bne.n 805c876 805c85a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c85e: 681b ldr r3, [r3, #0] 805c860: 4a13 ldr r2, [pc, #76] ; (805c8b0 ) 805c862: 5cd3 ldrb r3, [r2, r3] 805c864: 2b00 cmp r3, #0 805c866: d106 bne.n 805c876 805c868: f107 03bc add.w r3, r7, #188 ; 0xbc 805c86c: 689b ldr r3, [r3, #8] 805c86e: 4a10 ldr r2, [pc, #64] ; (805c8b0 ) 805c870: 5cd3 ldrb r3, [r2, r3] 805c872: 2b00 cmp r3, #0 805c874: d00a beq.n 805c88c { limit[i] = true; 805c876: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c87a: f507 7294 add.w r2, r7, #296 ; 0x128 805c87e: 2101 movs r1, #1 805c880: 54d1 strb r1, [r2, r3] k++; 805c882: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c886: 3301 adds r3, #1 805c888: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 7; i++) 805c88c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c890: 3301 adds r3, #1 805c892: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c896: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c89a: 2b06 cmp r3, #6 805c89c: f67f af7b bls.w 805c796 } } for(i = 0; i < 3; i++) 805c8a0: 2300 movs r3, #0 805c8a2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c8a6: e08b b.n 805c9c0 805c8a8: 20026204 .word 0x20026204 805c8ac: 3efa0000 .word 0x3efa0000 805c8b0: 20018000 .word 0x20018000 805c8b4: 20026f50 .word 0x20026f50 805c8b8: 00000000 .word 0x00000000 805c8bc: 20026d40 .word 0x20026d40 { frq_1[i] = Fv * (float32_t)(i + 1); 805c8c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c8c4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c8c8: 3201 adds r2, #1 805c8ca: ee07 2a90 vmov s15, r2 805c8ce: eeb8 7a67 vcvt.f32.u32 s14, s15 805c8d2: 4a9c ldr r2, [pc, #624] ; (805cb44 ) 805c8d4: edd2 7a00 vldr s15, [r2] 805c8d8: ee67 7a27 vmul.f32 s15, s14, s15 805c8dc: 009b lsls r3, r3, #2 805c8de: f507 720a add.w r2, r7, #552 ; 0x228 805c8e2: 4413 add r3, r2 805c8e4: 3bf0 subs r3, #240 ; 0xf0 805c8e6: edc3 7a00 vstr s15, [r3] fl = frq_1[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805c8ea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c8ee: 009b lsls r3, r3, #2 805c8f0: f507 720a add.w r2, r7, #552 ; 0x228 805c8f4: 4413 add r3, r2 805c8f6: 3bf0 subs r3, #240 ; 0xf0 805c8f8: ed93 7a00 vldr s14, [r3] 805c8fc: eddf 6a92 vldr s13, [pc, #584] ; 805cb48 805c900: eec7 7a26 vdiv.f32 s15, s14, s13 805c904: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805c908: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c90c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c910: ee77 7a87 vadd.f32 s15, s15, s14 805c914: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805c918: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c91c: eefc 7ae7 vcvt.u32.f32 s15, s15 805c920: ee17 2a90 vmov r2, s15 805c924: f107 03bc add.w r3, r7, #188 ; 0xbc 805c928: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805c92a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c92e: 685b ldr r3, [r3, #4] 805c930: 1e5a subs r2, r3, #1 805c932: f107 03bc add.w r3, r7, #188 ; 0xbc 805c936: 601a str r2, [r3, #0] 805c938: f107 03bc add.w r3, r7, #188 ; 0xbc 805c93c: 685b ldr r3, [r3, #4] 805c93e: 2b01 cmp r3, #1 805c940: d805 bhi.n 805c94e 805c942: f107 03bc add.w r3, r7, #188 ; 0xbc 805c946: 685a ldr r2, [r3, #4] 805c948: f107 03bc add.w r3, r7, #188 ; 0xbc 805c94c: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805c94e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c952: 685b ldr r3, [r3, #4] 805c954: 1c5a adds r2, r3, #1 805c956: f107 03bc add.w r3, r7, #188 ; 0xbc 805c95a: 609a str r2, [r3, #8] 805c95c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c960: 685b ldr r3, [r3, #4] 805c962: f640 72fe movw r2, #4094 ; 0xffe 805c966: 4293 cmp r3, r2 805c968: d905 bls.n 805c976 805c96a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c96e: 685a ldr r2, [r3, #4] 805c970: f107 03bc add.w r3, r7, #188 ; 0xbc 805c974: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805c976: f107 03bc add.w r3, r7, #188 ; 0xbc 805c97a: 685b ldr r3, [r3, #4] 805c97c: 4a73 ldr r2, [pc, #460] ; (805cb4c ) 805c97e: 5cd3 ldrb r3, [r2, r3] 805c980: 2b00 cmp r3, #0 805c982: d10d bne.n 805c9a0 805c984: f107 03bc add.w r3, r7, #188 ; 0xbc 805c988: 681b ldr r3, [r3, #0] 805c98a: 4a70 ldr r2, [pc, #448] ; (805cb4c ) 805c98c: 5cd3 ldrb r3, [r2, r3] 805c98e: 2b00 cmp r3, #0 805c990: d106 bne.n 805c9a0 805c992: f107 03bc add.w r3, r7, #188 ; 0xbc 805c996: 689b ldr r3, [r3, #8] 805c998: 4a6c ldr r2, [pc, #432] ; (805cb4c ) 805c99a: 5cd3 ldrb r3, [r2, r3] 805c99c: 2b00 cmp r3, #0 805c99e: d00a beq.n 805c9b6 { limit_1[i] = true; 805c9a0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c9a4: f507 728c add.w r2, r7, #280 ; 0x118 805c9a8: 2101 movs r1, #1 805c9aa: 54d1 strb r1, [r2, r3] l++; 805c9ac: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805c9b0: 3301 adds r3, #1 805c9b2: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 3; i++) 805c9b6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c9ba: 3301 adds r3, #1 805c9bc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c9c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c9c4: 2b02 cmp r3, #2 805c9c6: f67f af7b bls.w 805c8c0 } } if((l >= 1) && (limit_1[0])) 805c9ca: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805c9ce: 2b00 cmp r3, #0 805c9d0: d007 beq.n 805c9e2 805c9d2: f507 738c add.w r3, r7, #280 ; 0x118 805c9d6: 781b ldrb r3, [r3, #0] 805c9d8: 2b00 cmp r3, #0 805c9da: d002 beq.n 805c9e2 { DEFECTS[ZADIRI_TRESCHINI_NA_VNUTRENNEM_KOLCE] = true; 805c9dc: 4b5c ldr r3, [pc, #368] ; (805cb50 ) 805c9de: 2201 movs r2, #1 805c9e0: 719a strb r2, [r3, #6] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Èçíîñ òåë êà÷åíèÿ è ñåïàðàòîðà ///////////////// memset((void *) limit, false, sizeof(limit)); 805c9e2: f507 7394 add.w r3, r7, #296 ; 0x128 805c9e6: 220f movs r2, #15 805c9e8: 2100 movs r1, #0 805c9ea: 4618 mov r0, r3 805c9ec: f074 fcd8 bl 80d13a0 memset((void *) limit_1, false, sizeof(limit_1)); 805c9f0: f507 738c add.w r3, r7, #280 ; 0x118 805c9f4: 220f movs r2, #15 805c9f6: 2100 movs r1, #0 805c9f8: 4618 mov r0, r3 805c9fa: f074 fcd1 bl 80d13a0 arm_fill_f32(0.0f, frq, 15); 805c9fe: f507 73ba add.w r3, r7, #372 ; 0x174 805ca02: 210f movs r1, #15 805ca04: 4618 mov r0, r3 805ca06: ed9f 0a53 vldr s0, [pc, #332] ; 805cb54 805ca0a: f071 fb27 bl 80ce05c arm_fill_f32(0.0f, frq_1, 15); 805ca0e: f507 739c add.w r3, r7, #312 ; 0x138 805ca12: 210f movs r1, #15 805ca14: 4618 mov r0, r3 805ca16: ed9f 0a4f vldr s0, [pc, #316] ; 805cb54 805ca1a: f071 fb1f bl 80ce05c k = 0; 805ca1e: 2300 movs r3, #0 805ca20: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805ca24: 2300 movs r3, #0 805ca26: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 8; i++) 805ca2a: 2300 movs r3, #0 805ca2c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ca30: e07f b.n 805cb32 { frq[i] = Fc * (float32_t)(i + 1); 805ca32: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ca36: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ca3a: 3201 adds r2, #1 805ca3c: ee07 2a90 vmov s15, r2 805ca40: eeb8 7a67 vcvt.f32.u32 s14, s15 805ca44: 4a44 ldr r2, [pc, #272] ; (805cb58 ) 805ca46: edd2 7a00 vldr s15, [r2] 805ca4a: ee67 7a27 vmul.f32 s15, s14, s15 805ca4e: 009b lsls r3, r3, #2 805ca50: f507 720a add.w r2, r7, #552 ; 0x228 805ca54: 4413 add r3, r2 805ca56: 3bb4 subs r3, #180 ; 0xb4 805ca58: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805ca5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ca60: 009b lsls r3, r3, #2 805ca62: f507 720a add.w r2, r7, #552 ; 0x228 805ca66: 4413 add r3, r2 805ca68: 3bb4 subs r3, #180 ; 0xb4 805ca6a: ed93 7a00 vldr s14, [r3] 805ca6e: eddf 6a36 vldr s13, [pc, #216] ; 805cb48 805ca72: eec7 7a26 vdiv.f32 s15, s14, s13 805ca76: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805ca7a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ca7e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805ca82: ee77 7a87 vadd.f32 s15, s15, s14 805ca86: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805ca8a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ca8e: eefc 7ae7 vcvt.u32.f32 s15, s15 805ca92: ee17 2a90 vmov r2, s15 805ca96: f107 03bc add.w r3, r7, #188 ; 0xbc 805ca9a: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805ca9c: f107 03bc add.w r3, r7, #188 ; 0xbc 805caa0: 685b ldr r3, [r3, #4] 805caa2: 1e5a subs r2, r3, #1 805caa4: f107 03bc add.w r3, r7, #188 ; 0xbc 805caa8: 601a str r2, [r3, #0] 805caaa: f107 03bc add.w r3, r7, #188 ; 0xbc 805caae: 685b ldr r3, [r3, #4] 805cab0: 2b01 cmp r3, #1 805cab2: d805 bhi.n 805cac0 805cab4: f107 03bc add.w r3, r7, #188 ; 0xbc 805cab8: 685a ldr r2, [r3, #4] 805caba: f107 03bc add.w r3, r7, #188 ; 0xbc 805cabe: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805cac0: f107 03bc add.w r3, r7, #188 ; 0xbc 805cac4: 685b ldr r3, [r3, #4] 805cac6: 1c5a adds r2, r3, #1 805cac8: f107 03bc add.w r3, r7, #188 ; 0xbc 805cacc: 609a str r2, [r3, #8] 805cace: f107 03bc add.w r3, r7, #188 ; 0xbc 805cad2: 685b ldr r3, [r3, #4] 805cad4: f640 72fe movw r2, #4094 ; 0xffe 805cad8: 4293 cmp r3, r2 805cada: d905 bls.n 805cae8 805cadc: f107 03bc add.w r3, r7, #188 ; 0xbc 805cae0: 685a ldr r2, [r3, #4] 805cae2: f107 03bc add.w r3, r7, #188 ; 0xbc 805cae6: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805cae8: f107 03bc add.w r3, r7, #188 ; 0xbc 805caec: 685b ldr r3, [r3, #4] 805caee: 4a17 ldr r2, [pc, #92] ; (805cb4c ) 805caf0: 5cd3 ldrb r3, [r2, r3] 805caf2: 2b00 cmp r3, #0 805caf4: d10d bne.n 805cb12 805caf6: f107 03bc add.w r3, r7, #188 ; 0xbc 805cafa: 681b ldr r3, [r3, #0] 805cafc: 4a13 ldr r2, [pc, #76] ; (805cb4c ) 805cafe: 5cd3 ldrb r3, [r2, r3] 805cb00: 2b00 cmp r3, #0 805cb02: d106 bne.n 805cb12 805cb04: f107 03bc add.w r3, r7, #188 ; 0xbc 805cb08: 689b ldr r3, [r3, #8] 805cb0a: 4a10 ldr r2, [pc, #64] ; (805cb4c ) 805cb0c: 5cd3 ldrb r3, [r2, r3] 805cb0e: 2b00 cmp r3, #0 805cb10: d00a beq.n 805cb28 { limit[i] = true; 805cb12: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cb16: f507 7294 add.w r2, r7, #296 ; 0x128 805cb1a: 2101 movs r1, #1 805cb1c: 54d1 strb r1, [r2, r3] k++; 805cb1e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805cb22: 3301 adds r3, #1 805cb24: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 8; i++) 805cb28: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cb2c: 3301 adds r3, #1 805cb2e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cb32: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cb36: 2b07 cmp r3, #7 805cb38: f67f af7b bls.w 805ca32 } } for(i = 0; i < 8; i++) 805cb3c: 2300 movs r3, #0 805cb3e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cb42: e090 b.n 805cc66 805cb44: 20026204 .word 0x20026204 805cb48: 3efa0000 .word 0x3efa0000 805cb4c: 20018000 .word 0x20018000 805cb50: 20026f50 .word 0x20026f50 805cb54: 00000000 .word 0x00000000 805cb58: 20068360 .word 0x20068360 { frq_1[i] = (Fvr * (float32_t)(i + 1)) - Fc; 805cb5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cb60: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cb64: 3201 adds r2, #1 805cb66: ee07 2a90 vmov s15, r2 805cb6a: eeb8 7a67 vcvt.f32.u32 s14, s15 805cb6e: 4ac5 ldr r2, [pc, #788] ; (805ce84 ) 805cb70: edd2 7a00 vldr s15, [r2] 805cb74: ee27 7a27 vmul.f32 s14, s14, s15 805cb78: 4ac3 ldr r2, [pc, #780] ; (805ce88 ) 805cb7a: edd2 7a00 vldr s15, [r2] 805cb7e: ee77 7a67 vsub.f32 s15, s14, s15 805cb82: 009b lsls r3, r3, #2 805cb84: f507 720a add.w r2, r7, #552 ; 0x228 805cb88: 4413 add r3, r2 805cb8a: 3bf0 subs r3, #240 ; 0xf0 805cb8c: edc3 7a00 vstr s15, [r3] fl = frq_1[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805cb90: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cb94: 009b lsls r3, r3, #2 805cb96: f507 720a add.w r2, r7, #552 ; 0x228 805cb9a: 4413 add r3, r2 805cb9c: 3bf0 subs r3, #240 ; 0xf0 805cb9e: ed93 7a00 vldr s14, [r3] 805cba2: eddf 6aba vldr s13, [pc, #744] ; 805ce8c 805cba6: eec7 7a26 vdiv.f32 s15, s14, s13 805cbaa: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805cbae: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805cbb2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805cbb6: ee77 7a87 vadd.f32 s15, s15, s14 805cbba: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805cbbe: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805cbc2: eefc 7ae7 vcvt.u32.f32 s15, s15 805cbc6: ee17 2a90 vmov r2, s15 805cbca: f107 03bc add.w r3, r7, #188 ; 0xbc 805cbce: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805cbd0: f107 03bc add.w r3, r7, #188 ; 0xbc 805cbd4: 685b ldr r3, [r3, #4] 805cbd6: 1e5a subs r2, r3, #1 805cbd8: f107 03bc add.w r3, r7, #188 ; 0xbc 805cbdc: 601a str r2, [r3, #0] 805cbde: f107 03bc add.w r3, r7, #188 ; 0xbc 805cbe2: 685b ldr r3, [r3, #4] 805cbe4: 2b01 cmp r3, #1 805cbe6: d805 bhi.n 805cbf4 805cbe8: f107 03bc add.w r3, r7, #188 ; 0xbc 805cbec: 685a ldr r2, [r3, #4] 805cbee: f107 03bc add.w r3, r7, #188 ; 0xbc 805cbf2: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805cbf4: f107 03bc add.w r3, r7, #188 ; 0xbc 805cbf8: 685b ldr r3, [r3, #4] 805cbfa: 1c5a adds r2, r3, #1 805cbfc: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc00: 609a str r2, [r3, #8] 805cc02: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc06: 685b ldr r3, [r3, #4] 805cc08: f640 72fe movw r2, #4094 ; 0xffe 805cc0c: 4293 cmp r3, r2 805cc0e: d905 bls.n 805cc1c 805cc10: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc14: 685a ldr r2, [r3, #4] 805cc16: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc1a: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805cc1c: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc20: 685b ldr r3, [r3, #4] 805cc22: 4a9b ldr r2, [pc, #620] ; (805ce90 ) 805cc24: 5cd3 ldrb r3, [r2, r3] 805cc26: 2b00 cmp r3, #0 805cc28: d10d bne.n 805cc46 805cc2a: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc2e: 681b ldr r3, [r3, #0] 805cc30: 4a97 ldr r2, [pc, #604] ; (805ce90 ) 805cc32: 5cd3 ldrb r3, [r2, r3] 805cc34: 2b00 cmp r3, #0 805cc36: d106 bne.n 805cc46 805cc38: f107 03bc add.w r3, r7, #188 ; 0xbc 805cc3c: 689b ldr r3, [r3, #8] 805cc3e: 4a94 ldr r2, [pc, #592] ; (805ce90 ) 805cc40: 5cd3 ldrb r3, [r2, r3] 805cc42: 2b00 cmp r3, #0 805cc44: d00a beq.n 805cc5c { limit_1[i] = true; 805cc46: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cc4a: f507 728c add.w r2, r7, #280 ; 0x118 805cc4e: 2101 movs r1, #1 805cc50: 54d1 strb r1, [r2, r3] l++; 805cc52: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805cc56: 3301 adds r3, #1 805cc58: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 8; i++) 805cc5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cc60: 3301 adds r3, #1 805cc62: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cc66: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cc6a: 2b07 cmp r3, #7 805cc6c: f67f af76 bls.w 805cb5c } } if((k >= 1) && ((limit[0]) || (limit[1]))) 805cc70: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805cc74: 2b00 cmp r3, #0 805cc76: d00d beq.n 805cc94 805cc78: f507 7394 add.w r3, r7, #296 ; 0x128 805cc7c: 781b ldrb r3, [r3, #0] 805cc7e: 2b00 cmp r3, #0 805cc80: d104 bne.n 805cc8c 805cc82: f507 7394 add.w r3, r7, #296 ; 0x128 805cc86: 785b ldrb r3, [r3, #1] 805cc88: 2b00 cmp r3, #0 805cc8a: d003 beq.n 805cc94 { DEFECTS[IZNOS_TEL_KACHENIYA_I_SEPARATORA] = true; 805cc8c: 4b81 ldr r3, [pc, #516] ; (805ce94 ) 805cc8e: 2201 movs r2, #1 805cc90: 71da strb r2, [r3, #7] 805cc92: e010 b.n 805ccb6 } else if((l >= 1) && ((limit_1[0]) || (limit_1[1]))) 805cc94: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805cc98: 2b00 cmp r3, #0 805cc9a: d00c beq.n 805ccb6 805cc9c: f507 738c add.w r3, r7, #280 ; 0x118 805cca0: 781b ldrb r3, [r3, #0] 805cca2: 2b00 cmp r3, #0 805cca4: d104 bne.n 805ccb0 805cca6: f507 738c add.w r3, r7, #280 ; 0x118 805ccaa: 785b ldrb r3, [r3, #1] 805ccac: 2b00 cmp r3, #0 805ccae: d002 beq.n 805ccb6 { DEFECTS[IZNOS_TEL_KACHENIYA_I_SEPARATORA] = true; 805ccb0: 4b78 ldr r3, [pc, #480] ; (805ce94 ) 805ccb2: 2201 movs r2, #1 805ccb4: 71da strb r2, [r3, #7] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãàêîâèíû, ñêîëû íà òåëàõ êà÷åíèÿ /////////////// memset((void *) limit, false, sizeof(limit)); 805ccb6: f507 7394 add.w r3, r7, #296 ; 0x128 805ccba: 220f movs r2, #15 805ccbc: 2100 movs r1, #0 805ccbe: 4618 mov r0, r3 805ccc0: f074 fb6e bl 80d13a0 memset((void *) limit_1, false, sizeof(limit_1)); 805ccc4: f507 738c add.w r3, r7, #280 ; 0x118 805ccc8: 220f movs r2, #15 805ccca: 2100 movs r1, #0 805cccc: 4618 mov r0, r3 805ccce: f074 fb67 bl 80d13a0 arm_fill_f32(0.0f, frq, 15); 805ccd2: f507 73ba add.w r3, r7, #372 ; 0x174 805ccd6: 210f movs r1, #15 805ccd8: 4618 mov r0, r3 805ccda: ed9f 0a6f vldr s0, [pc, #444] ; 805ce98 805ccde: f071 f9bd bl 80ce05c arm_fill_f32(0.0f, frq_1, 15); 805cce2: f507 739c add.w r3, r7, #312 ; 0x138 805cce6: 210f movs r1, #15 805cce8: 4618 mov r0, r3 805ccea: ed9f 0a6b vldr s0, [pc, #428] ; 805ce98 805ccee: f071 f9b5 bl 80ce05c k = 0; 805ccf2: 2300 movs r3, #0 805ccf4: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805ccf8: 2300 movs r3, #0 805ccfa: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 6; i++) 805ccfe: 2300 movs r3, #0 805cd00: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cd04: e07f b.n 805ce06 { frq[i] = Ftk * (float32_t)(i + 1); 805cd06: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd0a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cd0e: 3201 adds r2, #1 805cd10: ee07 2a90 vmov s15, r2 805cd14: eeb8 7a67 vcvt.f32.u32 s14, s15 805cd18: 4a60 ldr r2, [pc, #384] ; (805ce9c ) 805cd1a: edd2 7a00 vldr s15, [r2] 805cd1e: ee67 7a27 vmul.f32 s15, s14, s15 805cd22: 009b lsls r3, r3, #2 805cd24: f507 720a add.w r2, r7, #552 ; 0x228 805cd28: 4413 add r3, r2 805cd2a: 3bb4 subs r3, #180 ; 0xb4 805cd2c: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805cd30: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd34: 009b lsls r3, r3, #2 805cd36: f507 720a add.w r2, r7, #552 ; 0x228 805cd3a: 4413 add r3, r2 805cd3c: 3bb4 subs r3, #180 ; 0xb4 805cd3e: ed93 7a00 vldr s14, [r3] 805cd42: eddf 6a52 vldr s13, [pc, #328] ; 805ce8c 805cd46: eec7 7a26 vdiv.f32 s15, s14, s13 805cd4a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805cd4e: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805cd52: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805cd56: ee77 7a87 vadd.f32 s15, s15, s14 805cd5a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805cd5e: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805cd62: eefc 7ae7 vcvt.u32.f32 s15, s15 805cd66: ee17 2a90 vmov r2, s15 805cd6a: f107 03bc add.w r3, r7, #188 ; 0xbc 805cd6e: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805cd70: f107 03bc add.w r3, r7, #188 ; 0xbc 805cd74: 685b ldr r3, [r3, #4] 805cd76: 1e5a subs r2, r3, #1 805cd78: f107 03bc add.w r3, r7, #188 ; 0xbc 805cd7c: 601a str r2, [r3, #0] 805cd7e: f107 03bc add.w r3, r7, #188 ; 0xbc 805cd82: 685b ldr r3, [r3, #4] 805cd84: 2b01 cmp r3, #1 805cd86: d805 bhi.n 805cd94 805cd88: f107 03bc add.w r3, r7, #188 ; 0xbc 805cd8c: 685a ldr r2, [r3, #4] 805cd8e: f107 03bc add.w r3, r7, #188 ; 0xbc 805cd92: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805cd94: f107 03bc add.w r3, r7, #188 ; 0xbc 805cd98: 685b ldr r3, [r3, #4] 805cd9a: 1c5a adds r2, r3, #1 805cd9c: f107 03bc add.w r3, r7, #188 ; 0xbc 805cda0: 609a str r2, [r3, #8] 805cda2: f107 03bc add.w r3, r7, #188 ; 0xbc 805cda6: 685b ldr r3, [r3, #4] 805cda8: f640 72fe movw r2, #4094 ; 0xffe 805cdac: 4293 cmp r3, r2 805cdae: d905 bls.n 805cdbc 805cdb0: f107 03bc add.w r3, r7, #188 ; 0xbc 805cdb4: 685a ldr r2, [r3, #4] 805cdb6: f107 03bc add.w r3, r7, #188 ; 0xbc 805cdba: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805cdbc: f107 03bc add.w r3, r7, #188 ; 0xbc 805cdc0: 685b ldr r3, [r3, #4] 805cdc2: 4a33 ldr r2, [pc, #204] ; (805ce90 ) 805cdc4: 5cd3 ldrb r3, [r2, r3] 805cdc6: 2b00 cmp r3, #0 805cdc8: d10d bne.n 805cde6 805cdca: f107 03bc add.w r3, r7, #188 ; 0xbc 805cdce: 681b ldr r3, [r3, #0] 805cdd0: 4a2f ldr r2, [pc, #188] ; (805ce90 ) 805cdd2: 5cd3 ldrb r3, [r2, r3] 805cdd4: 2b00 cmp r3, #0 805cdd6: d106 bne.n 805cde6 805cdd8: f107 03bc add.w r3, r7, #188 ; 0xbc 805cddc: 689b ldr r3, [r3, #8] 805cdde: 4a2c ldr r2, [pc, #176] ; (805ce90 ) 805cde0: 5cd3 ldrb r3, [r2, r3] 805cde2: 2b00 cmp r3, #0 805cde4: d00a beq.n 805cdfc { limit[i] = true; 805cde6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cdea: f507 7294 add.w r2, r7, #296 ; 0x128 805cdee: 2101 movs r1, #1 805cdf0: 54d1 strb r1, [r2, r3] k++; 805cdf2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805cdf6: 3301 adds r3, #1 805cdf8: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 6; i++) 805cdfc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ce00: 3301 adds r3, #1 805ce02: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ce06: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ce0a: 2b05 cmp r3, #5 805ce0c: f67f af7b bls.w 805cd06 } } if((k >= 1) && ((limit[0]) || (limit[1]))) 805ce10: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805ce14: 2b00 cmp r3, #0 805ce16: d00c beq.n 805ce32 805ce18: f507 7394 add.w r3, r7, #296 ; 0x128 805ce1c: 781b ldrb r3, [r3, #0] 805ce1e: 2b00 cmp r3, #0 805ce20: d104 bne.n 805ce2c 805ce22: f507 7394 add.w r3, r7, #296 ; 0x128 805ce26: 785b ldrb r3, [r3, #1] 805ce28: 2b00 cmp r3, #0 805ce2a: d002 beq.n 805ce32 { DEFECTS[RAKOVINI_SKOLI_NA_TELAH_KACHENIYA] = true; 805ce2c: 4b19 ldr r3, [pc, #100] ; (805ce94 ) 805ce2e: 2201 movs r2, #1 805ce30: 721a strb r2, [r3, #8] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãåóðàâíîâåøåííîñòü ðîòîðà ////////////////////// memset((void *) limit, false, sizeof(limit)); 805ce32: f507 7394 add.w r3, r7, #296 ; 0x128 805ce36: 220f movs r2, #15 805ce38: 2100 movs r1, #0 805ce3a: 4618 mov r0, r3 805ce3c: f074 fab0 bl 80d13a0 memset((void *) limit_1, false, sizeof(limit_1)); 805ce40: f507 738c add.w r3, r7, #280 ; 0x118 805ce44: 220f movs r2, #15 805ce46: 2100 movs r1, #0 805ce48: 4618 mov r0, r3 805ce4a: f074 faa9 bl 80d13a0 arm_fill_f32(0.0f, frq, 15); 805ce4e: f507 73ba add.w r3, r7, #372 ; 0x174 805ce52: 210f movs r1, #15 805ce54: 4618 mov r0, r3 805ce56: ed9f 0a10 vldr s0, [pc, #64] ; 805ce98 805ce5a: f071 f8ff bl 80ce05c arm_fill_f32(0.0f, frq_1, 15); 805ce5e: f507 739c add.w r3, r7, #312 ; 0x138 805ce62: 210f movs r1, #15 805ce64: 4618 mov r0, r3 805ce66: ed9f 0a0c vldr s0, [pc, #48] ; 805ce98 805ce6a: f071 f8f7 bl 80ce05c k = 0; 805ce6e: 2300 movs r3, #0 805ce70: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805ce74: 2300 movs r3, #0 805ce76: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 15; i++) 805ce7a: 2300 movs r3, #0 805ce7c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ce80: e08e b.n 805cfa0 805ce82: bf00 nop 805ce84: 20026d40 .word 0x20026d40 805ce88: 20068360 .word 0x20068360 805ce8c: 3efa0000 .word 0x3efa0000 805ce90: 20018000 .word 0x20018000 805ce94: 20026f50 .word 0x20026f50 805ce98: 00000000 .word 0x00000000 805ce9c: 20037a80 .word 0x20037a80 { frq[i] = Fvr * (float32_t)(i + 1); 805cea0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cea4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cea8: 3201 adds r2, #1 805ceaa: ee07 2a90 vmov s15, r2 805ceae: eeb8 7a67 vcvt.f32.u32 s14, s15 805ceb2: 4a9c ldr r2, [pc, #624] ; (805d124 ) 805ceb4: edd2 7a00 vldr s15, [r2] 805ceb8: ee67 7a27 vmul.f32 s15, s14, s15 805cebc: 009b lsls r3, r3, #2 805cebe: f507 720a add.w r2, r7, #552 ; 0x228 805cec2: 4413 add r3, r2 805cec4: 3bb4 subs r3, #180 ; 0xb4 805cec6: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805ceca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cece: 009b lsls r3, r3, #2 805ced0: f507 720a add.w r2, r7, #552 ; 0x228 805ced4: 4413 add r3, r2 805ced6: 3bb4 subs r3, #180 ; 0xb4 805ced8: ed93 7a00 vldr s14, [r3] 805cedc: eddf 6a92 vldr s13, [pc, #584] ; 805d128 805cee0: eec7 7a26 vdiv.f32 s15, s14, s13 805cee4: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805cee8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ceec: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805cef0: ee77 7a87 vadd.f32 s15, s15, s14 805cef4: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805cef8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805cefc: eefc 7ae7 vcvt.u32.f32 s15, s15 805cf00: ee17 2a90 vmov r2, s15 805cf04: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf08: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805cf0a: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf0e: 685b ldr r3, [r3, #4] 805cf10: 1e5a subs r2, r3, #1 805cf12: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf16: 601a str r2, [r3, #0] 805cf18: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf1c: 685b ldr r3, [r3, #4] 805cf1e: 2b01 cmp r3, #1 805cf20: d805 bhi.n 805cf2e 805cf22: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf26: 685a ldr r2, [r3, #4] 805cf28: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf2c: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805cf2e: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf32: 685b ldr r3, [r3, #4] 805cf34: 1c5a adds r2, r3, #1 805cf36: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf3a: 609a str r2, [r3, #8] 805cf3c: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf40: 685b ldr r3, [r3, #4] 805cf42: f640 72fe movw r2, #4094 ; 0xffe 805cf46: 4293 cmp r3, r2 805cf48: d905 bls.n 805cf56 805cf4a: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf4e: 685a ldr r2, [r3, #4] 805cf50: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf54: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805cf56: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf5a: 685b ldr r3, [r3, #4] 805cf5c: 4a73 ldr r2, [pc, #460] ; (805d12c ) 805cf5e: 5cd3 ldrb r3, [r2, r3] 805cf60: 2b00 cmp r3, #0 805cf62: d10d bne.n 805cf80 805cf64: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf68: 681b ldr r3, [r3, #0] 805cf6a: 4a70 ldr r2, [pc, #448] ; (805d12c ) 805cf6c: 5cd3 ldrb r3, [r2, r3] 805cf6e: 2b00 cmp r3, #0 805cf70: d106 bne.n 805cf80 805cf72: f107 03bc add.w r3, r7, #188 ; 0xbc 805cf76: 689b ldr r3, [r3, #8] 805cf78: 4a6c ldr r2, [pc, #432] ; (805d12c ) 805cf7a: 5cd3 ldrb r3, [r2, r3] 805cf7c: 2b00 cmp r3, #0 805cf7e: d00a beq.n 805cf96 { limit[i] = true; 805cf80: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cf84: f507 7294 add.w r2, r7, #296 ; 0x128 805cf88: 2101 movs r1, #1 805cf8a: 54d1 strb r1, [r2, r3] k++; 805cf8c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805cf90: 3301 adds r3, #1 805cf92: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 15; i++) 805cf96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cf9a: 3301 adds r3, #1 805cf9c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cfa0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cfa4: 2b0e cmp r3, #14 805cfa6: f67f af7b bls.w 805cea0 } } if((k == 1) && ((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]]))) 805cfaa: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805cfae: 2b01 cmp r3, #1 805cfb0: d117 bne.n 805cfe2 805cfb2: f107 03bc add.w r3, r7, #188 ; 0xbc 805cfb6: 685b ldr r3, [r3, #4] 805cfb8: 4a5c ldr r2, [pc, #368] ; (805d12c ) 805cfba: 5cd3 ldrb r3, [r2, r3] 805cfbc: 2b00 cmp r3, #0 805cfbe: d10d bne.n 805cfdc 805cfc0: f107 03bc add.w r3, r7, #188 ; 0xbc 805cfc4: 681b ldr r3, [r3, #0] 805cfc6: 4a59 ldr r2, [pc, #356] ; (805d12c ) 805cfc8: 5cd3 ldrb r3, [r2, r3] 805cfca: 2b00 cmp r3, #0 805cfcc: d106 bne.n 805cfdc 805cfce: f107 03bc add.w r3, r7, #188 ; 0xbc 805cfd2: 689b ldr r3, [r3, #8] 805cfd4: 4a55 ldr r2, [pc, #340] ; (805d12c ) 805cfd6: 5cd3 ldrb r3, [r2, r3] 805cfd8: 2b00 cmp r3, #0 805cfda: d002 beq.n 805cfe2 { DEFECTS[NEURAVNOVESHENNOST_ROTORA] = true; 805cfdc: 4b54 ldr r3, [pc, #336] ; (805d130 ) 805cfde: 2201 movs r2, #1 805cfe0: 725a strb r2, [r3, #9] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Äåôåêòû óçëîâ êðåïëåíèÿ //////////////////////// memset((void *) limit, false, sizeof(limit)); 805cfe2: f507 7394 add.w r3, r7, #296 ; 0x128 805cfe6: 220f movs r2, #15 805cfe8: 2100 movs r1, #0 805cfea: 4618 mov r0, r3 805cfec: f074 f9d8 bl 80d13a0 memset((void *) limit_1, false, sizeof(limit_1)); 805cff0: f507 738c add.w r3, r7, #280 ; 0x118 805cff4: 220f movs r2, #15 805cff6: 2100 movs r1, #0 805cff8: 4618 mov r0, r3 805cffa: f074 f9d1 bl 80d13a0 arm_fill_f32(0.0f, frq, 15); 805cffe: f507 73ba add.w r3, r7, #372 ; 0x174 805d002: 210f movs r1, #15 805d004: 4618 mov r0, r3 805d006: ed9f 0a4b vldr s0, [pc, #300] ; 805d134 805d00a: f071 f827 bl 80ce05c arm_fill_f32(0.0f, frq_1, 15); 805d00e: f507 739c add.w r3, r7, #312 ; 0x138 805d012: 210f movs r1, #15 805d014: 4618 mov r0, r3 805d016: ed9f 0a47 vldr s0, [pc, #284] ; 805d134 805d01a: f071 f81f bl 80ce05c k = 0; 805d01e: 2300 movs r3, #0 805d020: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805d024: 2300 movs r3, #0 805d026: f8c7 3224 str.w r3, [r7, #548] ; 0x224 frq[0] = Fvr / 2; 805d02a: 4b3e ldr r3, [pc, #248] ; (805d124 ) 805d02c: ed93 7a00 vldr s14, [r3] 805d030: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 805d034: eec7 7a26 vdiv.f32 s15, s14, s13 805d038: edc7 7a5d vstr s15, [r7, #372] ; 0x174 fl = frq[0] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805d03c: ed97 7a5d vldr s14, [r7, #372] ; 0x174 805d040: eddf 6a39 vldr s13, [pc, #228] ; 805d128 805d044: eec7 7a26 vdiv.f32 s15, s14, s13 805d048: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805d04c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d050: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805d054: ee77 7a87 vadd.f32 s15, s15, s14 805d058: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc j = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805d05c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d060: eefc 7ae7 vcvt.u32.f32 s15, s15 805d064: ee17 3a90 vmov r3, s15 805d068: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc k = 1; 805d06c: 2301 movs r3, #1 805d06e: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 fs = ScrA_f32(1) - ScrA_f32(j); 805d072: 4b31 ldr r3, [pc, #196] ; (805d138 ) 805d074: ed93 7a00 vldr s14, [r3] 805d078: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805d07c: 009a lsls r2, r3, #2 805d07e: 4b2f ldr r3, [pc, #188] ; (805d13c ) 805d080: 4413 add r3, r2 805d082: edd3 7a00 vldr s15, [r3] 805d086: ee77 7a67 vsub.f32 s15, s14, s15 805d08a: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(fs > 0) 805d08e: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805d092: eef5 7ac0 vcmpe.f32 s15, #0.0 805d096: eef1 fa10 vmrs APSR_nzcv, fpscr 805d09a: dd1b ble.n 805d0d4 { fs = fs / ((float32_t) j * 0.48828125f); 805d09c: edd7 6a6e vldr s13, [r7, #440] ; 0x1b8 805d0a0: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805d0a4: ee07 3a90 vmov s15, r3 805d0a8: eef8 7a67 vcvt.f32.u32 s15, s15 805d0ac: ed9f 7a1e vldr s14, [pc, #120] ; 805d128 805d0b0: ee27 7a87 vmul.f32 s14, s15, s14 805d0b4: eec6 7a87 vdiv.f32 s15, s13, s14 805d0b8: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(fs > 2.0f) { 805d0bc: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805d0c0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 805d0c4: eef4 7ac7 vcmpe.f32 s15, s14 805d0c8: eef1 fa10 vmrs APSR_nzcv, fpscr 805d0cc: dd02 ble.n 805d0d4 DEFECTS[DEFECTI_UZLOV_KREPLENIYA] = true; 805d0ce: 4b18 ldr r3, [pc, #96] ; (805d130 ) 805d0d0: 2201 movs r2, #1 805d0d2: 729a strb r2, [r3, #10] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// ////////////////////////// Ãåñîîñíîñòü ////////////////////////////// memset((void *) limit, false, sizeof(limit)); 805d0d4: f507 7394 add.w r3, r7, #296 ; 0x128 805d0d8: 220f movs r2, #15 805d0da: 2100 movs r1, #0 805d0dc: 4618 mov r0, r3 805d0de: f074 f95f bl 80d13a0 memset((void *) limit_1, false, sizeof(limit_1)); 805d0e2: f507 738c add.w r3, r7, #280 ; 0x118 805d0e6: 220f movs r2, #15 805d0e8: 2100 movs r1, #0 805d0ea: 4618 mov r0, r3 805d0ec: f074 f958 bl 80d13a0 arm_fill_f32(0.0f, frq, 15); 805d0f0: f507 73ba add.w r3, r7, #372 ; 0x174 805d0f4: 210f movs r1, #15 805d0f6: 4618 mov r0, r3 805d0f8: ed9f 0a0e vldr s0, [pc, #56] ; 805d134 805d0fc: f070 ffae bl 80ce05c arm_fill_f32(0.0f, frq_1, 15); 805d100: f507 739c add.w r3, r7, #312 ; 0x138 805d104: 210f movs r1, #15 805d106: 4618 mov r0, r3 805d108: ed9f 0a0a vldr s0, [pc, #40] ; 805d134 805d10c: f070 ffa6 bl 80ce05c k = 0; 805d110: 2300 movs r3, #0 805d112: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805d116: 2300 movs r3, #0 805d118: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 15; i++) 805d11c: 2300 movs r3, #0 805d11e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d122: e08d b.n 805d240 805d124: 20026d40 .word 0x20026d40 805d128: 3efa0000 .word 0x3efa0000 805d12c: 20018000 .word 0x20018000 805d130: 20026f50 .word 0x20026f50 805d134: 00000000 .word 0x00000000 805d138: 64080004 .word 0x64080004 805d13c: 64080000 .word 0x64080000 { frq[i] = Fvr * (float32_t)(i + 1); 805d140: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d144: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d148: 3201 adds r2, #1 805d14a: ee07 2a90 vmov s15, r2 805d14e: eeb8 7a67 vcvt.f32.u32 s14, s15 805d152: 4a75 ldr r2, [pc, #468] ; (805d328 ) 805d154: edd2 7a00 vldr s15, [r2] 805d158: ee67 7a27 vmul.f32 s15, s14, s15 805d15c: 009b lsls r3, r3, #2 805d15e: f507 720a add.w r2, r7, #552 ; 0x228 805d162: 4413 add r3, r2 805d164: 3bb4 subs r3, #180 ; 0xb4 805d166: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805d16a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d16e: 009b lsls r3, r3, #2 805d170: f507 720a add.w r2, r7, #552 ; 0x228 805d174: 4413 add r3, r2 805d176: 3bb4 subs r3, #180 ; 0xb4 805d178: ed93 7a00 vldr s14, [r3] 805d17c: eddf 6a6b vldr s13, [pc, #428] ; 805d32c 805d180: eec7 7a26 vdiv.f32 s15, s14, s13 805d184: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805d188: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d18c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805d190: ee77 7a87 vadd.f32 s15, s15, s14 805d194: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805d198: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d19c: eefc 7ae7 vcvt.u32.f32 s15, s15 805d1a0: ee17 2a90 vmov r2, s15 805d1a4: f107 03bc add.w r3, r7, #188 ; 0xbc 805d1a8: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805d1aa: f107 03bc add.w r3, r7, #188 ; 0xbc 805d1ae: 685b ldr r3, [r3, #4] 805d1b0: 1e5a subs r2, r3, #1 805d1b2: f107 03bc add.w r3, r7, #188 ; 0xbc 805d1b6: 601a str r2, [r3, #0] 805d1b8: f107 03bc add.w r3, r7, #188 ; 0xbc 805d1bc: 685b ldr r3, [r3, #4] 805d1be: 2b01 cmp r3, #1 805d1c0: d805 bhi.n 805d1ce 805d1c2: f107 03bc add.w r3, r7, #188 ; 0xbc 805d1c6: 685a ldr r2, [r3, #4] 805d1c8: f107 03bc add.w r3, r7, #188 ; 0xbc 805d1cc: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805d1ce: f107 03bc add.w r3, r7, #188 ; 0xbc 805d1d2: 685b ldr r3, [r3, #4] 805d1d4: 1c5a adds r2, r3, #1 805d1d6: f107 03bc add.w r3, r7, #188 ; 0xbc 805d1da: 609a str r2, [r3, #8] 805d1dc: f107 03bc add.w r3, r7, #188 ; 0xbc 805d1e0: 685b ldr r3, [r3, #4] 805d1e2: f640 72fe movw r2, #4094 ; 0xffe 805d1e6: 4293 cmp r3, r2 805d1e8: d905 bls.n 805d1f6 805d1ea: f107 03bc add.w r3, r7, #188 ; 0xbc 805d1ee: 685a ldr r2, [r3, #4] 805d1f0: f107 03bc add.w r3, r7, #188 ; 0xbc 805d1f4: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805d1f6: f107 03bc add.w r3, r7, #188 ; 0xbc 805d1fa: 685b ldr r3, [r3, #4] 805d1fc: 4a4c ldr r2, [pc, #304] ; (805d330 ) 805d1fe: 5cd3 ldrb r3, [r2, r3] 805d200: 2b00 cmp r3, #0 805d202: d10d bne.n 805d220 805d204: f107 03bc add.w r3, r7, #188 ; 0xbc 805d208: 681b ldr r3, [r3, #0] 805d20a: 4a49 ldr r2, [pc, #292] ; (805d330 ) 805d20c: 5cd3 ldrb r3, [r2, r3] 805d20e: 2b00 cmp r3, #0 805d210: d106 bne.n 805d220 805d212: f107 03bc add.w r3, r7, #188 ; 0xbc 805d216: 689b ldr r3, [r3, #8] 805d218: 4a45 ldr r2, [pc, #276] ; (805d330 ) 805d21a: 5cd3 ldrb r3, [r2, r3] 805d21c: 2b00 cmp r3, #0 805d21e: d00a beq.n 805d236 { limit[i] = true; 805d220: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d224: f507 7294 add.w r2, r7, #296 ; 0x128 805d228: 2101 movs r1, #1 805d22a: 54d1 strb r1, [r2, r3] k++; 805d22c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805d230: 3301 adds r3, #1 805d232: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 15; i++) 805d236: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d23a: 3301 adds r3, #1 805d23c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d240: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d244: 2b0e cmp r3, #14 805d246: f67f af7b bls.w 805d140 } } if((k >= 8) && ((limit[0]) || (limit[1]))) 805d24a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805d24e: 2b07 cmp r3, #7 805d250: d971 bls.n 805d336 805d252: f507 7394 add.w r3, r7, #296 ; 0x128 805d256: 781b ldrb r3, [r3, #0] 805d258: 2b00 cmp r3, #0 805d25a: d104 bne.n 805d266 805d25c: f507 7394 add.w r3, r7, #296 ; 0x128 805d260: 785b ldrb r3, [r3, #1] 805d262: 2b00 cmp r3, #0 805d264: d067 beq.n 805d336 { k = 0; 805d266: 2300 movs r3, #0 805d268: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805d26c: 2300 movs r3, #0 805d26e: f8c7 3224 str.w r3, [r7, #548] ; 0x224 if(limit[0]) 805d272: f507 7394 add.w r3, r7, #296 ; 0x128 805d276: 781b ldrb r3, [r3, #0] 805d278: 2b00 cmp r3, #0 805d27a: d026 beq.n 805d2ca { for(i = 0; i < 15; i++) 805d27c: 2300 movs r3, #0 805d27e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d282: e01d b.n 805d2c0 { if(limit[i]) 805d284: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d288: f507 7294 add.w r2, r7, #296 ; 0x128 805d28c: 5cd3 ldrb r3, [r2, r3] 805d28e: 2b00 cmp r3, #0 805d290: d008 beq.n 805d2a4 { k++; 805d292: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805d296: 3301 adds r3, #1 805d298: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805d29c: 2300 movs r3, #0 805d29e: f8c7 3224 str.w r3, [r7, #548] ; 0x224 805d2a2: e004 b.n 805d2ae } else l++; 805d2a4: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805d2a8: 3301 adds r3, #1 805d2aa: f8c7 3224 str.w r3, [r7, #548] ; 0x224 if(l >= 2) 805d2ae: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805d2b2: 2b01 cmp r3, #1 805d2b4: d835 bhi.n 805d322 for(i = 0; i < 15; i++) 805d2b6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d2ba: 3301 adds r3, #1 805d2bc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d2c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d2c4: 2b0e cmp r3, #14 805d2c6: d9dd bls.n 805d284 805d2c8: e035 b.n 805d336 break; } } else if(limit[1]) 805d2ca: f507 7394 add.w r3, r7, #296 ; 0x128 805d2ce: 785b ldrb r3, [r3, #1] 805d2d0: 2b00 cmp r3, #0 805d2d2: d030 beq.n 805d336 { for(i = 1; i < 15; i++) 805d2d4: 2301 movs r3, #1 805d2d6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d2da: e01d b.n 805d318 { if(limit[i]) 805d2dc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d2e0: f507 7294 add.w r2, r7, #296 ; 0x128 805d2e4: 5cd3 ldrb r3, [r2, r3] 805d2e6: 2b00 cmp r3, #0 805d2e8: d008 beq.n 805d2fc { k++; 805d2ea: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805d2ee: 3301 adds r3, #1 805d2f0: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805d2f4: 2300 movs r3, #0 805d2f6: f8c7 3224 str.w r3, [r7, #548] ; 0x224 805d2fa: e004 b.n 805d306 } else l++; 805d2fc: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805d300: 3301 adds r3, #1 805d302: f8c7 3224 str.w r3, [r7, #548] ; 0x224 if(l >= 2) 805d306: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805d30a: 2b01 cmp r3, #1 805d30c: d812 bhi.n 805d334 for(i = 1; i < 15; i++) 805d30e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d312: 3301 adds r3, #1 805d314: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d318: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d31c: 2b0e cmp r3, #14 805d31e: d9dd bls.n 805d2dc 805d320: e009 b.n 805d336 break; 805d322: bf00 nop 805d324: e007 b.n 805d336 805d326: bf00 nop 805d328: 20026d40 .word 0x20026d40 805d32c: 3efa0000 .word 0x3efa0000 805d330: 20018000 .word 0x20018000 break; 805d334: bf00 nop } } } if(k >= 8) 805d336: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805d33a: 2b07 cmp r3, #7 805d33c: d902 bls.n 805d344 { DEFECTS[NESOOSNOST] = true; 805d33e: 4b9f ldr r3, [pc, #636] ; (805d5bc ) 805d340: 2201 movs r2, #1 805d342: 72da strb r2, [r3, #11] } ///////////////////////////////////////////////////////////////////// MeanCnt = 0; 805d344: 4b9e ldr r3, [pc, #632] ; (805d5c0 ) 805d346: 2200 movs r2, #0 805d348: 601a str r2, [r3, #0] NeedSTOP = true; 805d34a: 4b9e ldr r3, [pc, #632] ; (805d5c4 ) 805d34c: 2201 movs r2, #1 805d34e: 701a strb r2, [r3, #0] SeeResults = true; 805d350: 4b9d ldr r3, [pc, #628] ; (805d5c8 ) 805d352: 2201 movs r2, #1 805d354: 701a strb r2, [r3, #0] //ViewLevel = 1; //*************************************************************// lvl_0 = 0; 805d356: 2300 movs r3, #0 805d358: f8c7 31fc str.w r3, [r7, #508] ; 0x1fc dX = Avg[1][5 * ViewLevel + pardata.LNE]; 805d35c: 4b9b ldr r3, [pc, #620] ; (805d5cc ) 805d35e: 781b ldrb r3, [r3, #0] 805d360: b2db uxtb r3, r3 805d362: 461a mov r2, r3 805d364: 4613 mov r3, r2 805d366: 009b lsls r3, r3, #2 805d368: 4413 add r3, r2 805d36a: 4a99 ldr r2, [pc, #612] ; (805d5d0 ) 805d36c: 79d2 ldrb r2, [r2, #7] 805d36e: b2d2 uxtb r2, r2 805d370: 4413 add r3, r2 805d372: 4a98 ldr r2, [pc, #608] ; (805d5d4 ) 805d374: 3323 adds r3, #35 ; 0x23 805d376: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 805d37a: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa MaxLevel = 4; 805d37e: 2304 movs r3, #4 805d380: f8a7 31f8 strh.w r3, [r7, #504] ; 0x1f8 if((ViewLevel < MaxLevel) && (dX > 1)) 805d384: 4b91 ldr r3, [pc, #580] ; (805d5cc ) 805d386: 781b ldrb r3, [r3, #0] 805d388: b2db uxtb r3, r3 805d38a: b29b uxth r3, r3 805d38c: f8b7 21f8 ldrh.w r2, [r7, #504] ; 0x1f8 805d390: 429a cmp r2, r3 805d392: f240 80de bls.w 805d552 805d396: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805d39a: 2b01 cmp r3, #1 805d39c: f240 80d9 bls.w 805d552 { ViewLevel = 1; 805d3a0: 4b8a ldr r3, [pc, #552] ; (805d5cc ) 805d3a2: 2201 movs r2, #1 805d3a4: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 805d3a6: 4b89 ldr r3, [pc, #548] ; (805d5cc ) 805d3a8: 781b ldrb r3, [r3, #0] 805d3aa: b2db uxtb r3, r3 805d3ac: 461a mov r2, r3 805d3ae: 4613 mov r3, r2 805d3b0: 009b lsls r3, r3, #2 805d3b2: 4413 add r3, r2 805d3b4: 4a86 ldr r2, [pc, #536] ; (805d5d0 ) 805d3b6: 79d2 ldrb r2, [r2, #7] 805d3b8: b2d2 uxtb r2, r2 805d3ba: 4413 add r3, r2 805d3bc: 4a85 ldr r2, [pc, #532] ; (805d5d4 ) 805d3be: 3323 adds r3, #35 ; 0x23 805d3c0: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 805d3c4: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa X0 = Mpos - CURSOR * dX; 805d3c8: 4b83 ldr r3, [pc, #524] ; (805d5d8 ) 805d3ca: 881b ldrh r3, [r3, #0] 805d3cc: b29a uxth r2, r3 805d3ce: 4b83 ldr r3, [pc, #524] ; (805d5dc ) 805d3d0: 681b ldr r3, [r3, #0] 805d3d2: b29b uxth r3, r3 805d3d4: f8b7 11fa ldrh.w r1, [r7, #506] ; 0x1fa 805d3d8: fb11 f303 smulbb r3, r1, r3 805d3dc: b29b uxth r3, r3 805d3de: 1ad3 subs r3, r2, r3 805d3e0: b29a uxth r2, r3 805d3e2: 4b7f ldr r3, [pc, #508] ; (805d5e0 ) 805d3e4: 801a strh r2, [r3, #0] lX = X0; 805d3e6: 4b7e ldr r3, [pc, #504] ; (805d5e0 ) 805d3e8: 881b ldrh r3, [r3, #0] 805d3ea: b29a uxth r2, r3 805d3ec: 4b7d ldr r3, [pc, #500] ; (805d5e4 ) 805d3ee: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 805d3f0: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805d3f4: 021b lsls r3, r3, #8 805d3f6: b29a uxth r2, r3 805d3f8: 4b7a ldr r3, [pc, #488] ; (805d5e4 ) 805d3fa: 881b ldrh r3, [r3, #0] 805d3fc: b29b uxth r3, r3 805d3fe: 4413 add r3, r2 805d400: b29a uxth r2, r3 805d402: 4b79 ldr r3, [pc, #484] ; (805d5e8 ) 805d404: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 805d406: 4b79 ldr r3, [pc, #484] ; (805d5ec ) 805d408: 881b ldrh r3, [r3, #0] 805d40a: b29b uxth r3, r3 805d40c: 461a mov r2, r3 805d40e: 4b75 ldr r3, [pc, #468] ; (805d5e4 ) 805d410: 881b ldrh r3, [r3, #0] 805d412: b29b uxth r3, r3 805d414: 1ad2 subs r2, r2, r3 805d416: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805d41a: fb92 f3f3 sdiv r3, r2, r3 805d41e: 461a mov r2, r3 805d420: 4b6e ldr r3, [pc, #440] ; (805d5dc ) 805d422: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 805d424: 4b6d ldr r3, [pc, #436] ; (805d5dc ) 805d426: 681b ldr r3, [r3, #0] 805d428: b29b uxth r3, r3 805d42a: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 805d42e: fb12 f303 smulbb r3, r2, r3 805d432: b29a uxth r2, r3 805d434: 4b6b ldr r3, [pc, #428] ; (805d5e4 ) 805d436: 881b ldrh r3, [r3, #0] 805d438: b29b uxth r3, r3 805d43a: 4413 add r3, r2 805d43c: b29a uxth r2, r3 805d43e: 4b66 ldr r3, [pc, #408] ; (805d5d8 ) 805d440: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 805d442: 4b66 ldr r3, [pc, #408] ; (805d5dc ) 805d444: 681b ldr r3, [r3, #0] 805d446: 2b7f cmp r3, #127 ; 0x7f 805d448: d83b bhi.n 805d4c2 805d44a: 4b65 ldr r3, [pc, #404] ; (805d5e0 ) 805d44c: 881b ldrh r3, [r3, #0] 805d44e: b29b uxth r3, r3 805d450: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 805d454: 429a cmp r2, r3 805d456: d834 bhi.n 805d4c2 { if(lX >= dX) 805d458: 4b62 ldr r3, [pc, #392] ; (805d5e4 ) 805d45a: 881b ldrh r3, [r3, #0] 805d45c: b29b uxth r3, r3 805d45e: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 805d462: 429a cmp r2, r3 805d464: d875 bhi.n 805d552 { CURSOR++; 805d466: 4b5d ldr r3, [pc, #372] ; (805d5dc ) 805d468: 681b ldr r3, [r3, #0] 805d46a: 3301 adds r3, #1 805d46c: 4a5b ldr r2, [pc, #364] ; (805d5dc ) 805d46e: 6013 str r3, [r2, #0] X0 -= dX; 805d470: 4b5b ldr r3, [pc, #364] ; (805d5e0 ) 805d472: 881b ldrh r3, [r3, #0] 805d474: b29a uxth r2, r3 805d476: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805d47a: 1ad3 subs r3, r2, r3 805d47c: b29a uxth r2, r3 805d47e: 4b58 ldr r3, [pc, #352] ; (805d5e0 ) 805d480: 801a strh r2, [r3, #0] lX = X0; 805d482: 4b57 ldr r3, [pc, #348] ; (805d5e0 ) 805d484: 881b ldrh r3, [r3, #0] 805d486: b29a uxth r2, r3 805d488: 4b56 ldr r3, [pc, #344] ; (805d5e4 ) 805d48a: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 805d48c: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805d490: 021b lsls r3, r3, #8 805d492: b29a uxth r2, r3 805d494: 4b53 ldr r3, [pc, #332] ; (805d5e4 ) 805d496: 881b ldrh r3, [r3, #0] 805d498: b29b uxth r3, r3 805d49a: 4413 add r3, r2 805d49c: b29a uxth r2, r3 805d49e: 4b52 ldr r3, [pc, #328] ; (805d5e8 ) 805d4a0: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 805d4a2: 4b52 ldr r3, [pc, #328] ; (805d5ec ) 805d4a4: 881b ldrh r3, [r3, #0] 805d4a6: b29b uxth r3, r3 805d4a8: 461a mov r2, r3 805d4aa: 4b4e ldr r3, [pc, #312] ; (805d5e4 ) 805d4ac: 881b ldrh r3, [r3, #0] 805d4ae: b29b uxth r3, r3 805d4b0: 1ad2 subs r2, r2, r3 805d4b2: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805d4b6: fb92 f3f3 sdiv r3, r2, r3 805d4ba: 461a mov r2, r3 805d4bc: 4b47 ldr r3, [pc, #284] ; (805d5dc ) 805d4be: 601a str r2, [r3, #0] if(lX >= dX) 805d4c0: e047 b.n 805d552 } } else if(CURSOR > (256 >> 1)) 805d4c2: 4b46 ldr r3, [pc, #280] ; (805d5dc ) 805d4c4: 681b ldr r3, [r3, #0] 805d4c6: 2b80 cmp r3, #128 ; 0x80 805d4c8: d943 bls.n 805d552 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 805d4ca: 4b47 ldr r3, [pc, #284] ; (805d5e8 ) 805d4cc: 881b ldrh r3, [r3, #0] 805d4ce: b29b uxth r3, r3 805d4d0: 461a mov r2, r3 805d4d2: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805d4d6: 18d1 adds r1, r2, r3 805d4d8: f8d7 21fc ldr.w r2, [r7, #508] ; 0x1fc 805d4dc: 4613 mov r3, r2 805d4de: 009b lsls r3, r3, #2 805d4e0: 4413 add r3, r2 805d4e2: 4a3b ldr r2, [pc, #236] ; (805d5d0 ) 805d4e4: 79d2 ldrb r2, [r2, #7] 805d4e6: b2d2 uxtb r2, r2 805d4e8: 4413 add r3, r2 805d4ea: 4a3a ldr r2, [pc, #232] ; (805d5d4 ) 805d4ec: 3323 adds r3, #35 ; 0x23 805d4ee: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 805d4f2: 021b lsls r3, r3, #8 805d4f4: 4299 cmp r1, r3 805d4f6: dc2c bgt.n 805d552 { CURSOR--; 805d4f8: 4b38 ldr r3, [pc, #224] ; (805d5dc ) 805d4fa: 681b ldr r3, [r3, #0] 805d4fc: 3b01 subs r3, #1 805d4fe: 4a37 ldr r2, [pc, #220] ; (805d5dc ) 805d500: 6013 str r3, [r2, #0] X0 += dX; 805d502: 4b37 ldr r3, [pc, #220] ; (805d5e0 ) 805d504: 881b ldrh r3, [r3, #0] 805d506: b29a uxth r2, r3 805d508: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805d50c: 4413 add r3, r2 805d50e: b29a uxth r2, r3 805d510: 4b33 ldr r3, [pc, #204] ; (805d5e0 ) 805d512: 801a strh r2, [r3, #0] lX = X0; 805d514: 4b32 ldr r3, [pc, #200] ; (805d5e0 ) 805d516: 881b ldrh r3, [r3, #0] 805d518: b29a uxth r2, r3 805d51a: 4b32 ldr r3, [pc, #200] ; (805d5e4 ) 805d51c: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 805d51e: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805d522: 021b lsls r3, r3, #8 805d524: b29a uxth r2, r3 805d526: 4b2f ldr r3, [pc, #188] ; (805d5e4 ) 805d528: 881b ldrh r3, [r3, #0] 805d52a: b29b uxth r3, r3 805d52c: 4413 add r3, r2 805d52e: b29a uxth r2, r3 805d530: 4b2d ldr r3, [pc, #180] ; (805d5e8 ) 805d532: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 805d534: 4b2d ldr r3, [pc, #180] ; (805d5ec ) 805d536: 881b ldrh r3, [r3, #0] 805d538: b29b uxth r3, r3 805d53a: 461a mov r2, r3 805d53c: 4b29 ldr r3, [pc, #164] ; (805d5e4 ) 805d53e: 881b ldrh r3, [r3, #0] 805d540: b29b uxth r3, r3 805d542: 1ad2 subs r2, r2, r3 805d544: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805d548: fb92 f3f3 sdiv r3, r2, r3 805d54c: 461a mov r2, r3 805d54e: 4b23 ldr r3, [pc, #140] ; (805d5dc ) 805d550: 601a str r2, [r3, #0] } } } AUTOZOOM = true; 805d552: 4b27 ldr r3, [pc, #156] ; (805d5f0 ) 805d554: 2201 movs r2, #1 805d556: 701a strb r2, [r3, #0] if(NSamples < 20) 805d558: e004 b.n 805d564 } } } else { RepeatKm = true; 805d55a: 4b26 ldr r3, [pc, #152] ; (805d5f4 ) 805d55c: 2201 movs r2, #1 805d55e: 701a strb r2, [r3, #0] } } break; 805d560: f007 bcf1 b.w 8064f46 if(NSamples < 20) 805d564: bf00 nop break; 805d566: f007 bcee b.w 8064f46 case UDAR: // if(measuring) 805d56a: 4b23 ldr r3, [pc, #140] ; (805d5f8 ) 805d56c: 781b ldrb r3, [r3, #0] 805d56e: b2db uxtb r3, r3 805d570: 2b00 cmp r3, #0 805d572: f007 84ea beq.w 8064f4a { tick = HAL_GetTick(); 805d576: f059 fc55 bl 80b6e24 805d57a: f8c7 021c str.w r0, [r7, #540] ; 0x21c GetData(); 805d57e: f007 ffa5 bl 80654cc READY = 0; 805d582: 4b1e ldr r3, [pc, #120] ; (805d5fc ) 805d584: 2200 movs r2, #0 805d586: 701a strb r2, [r3, #0] //tick = HAL_GetTick() - tick; //CalculateGain(Ns); if(AUTOKU) 805d588: 4b1d ldr r3, [pc, #116] ; (805d600 ) 805d58a: 781b ldrb r3, [r3, #0] 805d58c: b2db uxtb r3, r3 805d58e: 2b00 cmp r3, #0 805d590: d005 beq.n 805d59e CalculateGain(Ns); 805d592: 4b1c ldr r3, [pc, #112] ; (805d604 ) 805d594: 681b ldr r3, [r3, #0] 805d596: 4618 mov r0, r3 805d598: f7f9 f97c bl 8056894 805d59c: e06e b.n 805d67c else { Stability = (Nr * 4) + 1; 805d59e: 4b1a ldr r3, [pc, #104] ; (805d608 ) 805d5a0: 881b ldrh r3, [r3, #0] 805d5a2: b29b uxth r3, r3 805d5a4: 009b lsls r3, r3, #2 805d5a6: 3301 adds r3, #1 805d5a8: 461a mov r2, r3 805d5aa: 4b18 ldr r3, [pc, #96] ; (805d60c ) 805d5ac: 601a str r2, [r3, #0] j = 0; 805d5ae: 2300 movs r3, #0 805d5b0: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < 8192; i++) 805d5b4: 2300 movs r3, #0 805d5b6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d5ba: e04f b.n 805d65c 805d5bc: 20026f50 .word 0x20026f50 805d5c0: 20020dd8 .word 0x20020dd8 805d5c4: 20020fc2 .word 0x20020fc2 805d5c8: 20020d88 .word 0x20020d88 805d5cc: 20020fb8 .word 0x20020fb8 805d5d0: 20023ea8 .word 0x20023ea8 805d5d4: 080f2dec .word 0x080f2dec 805d5d8: 20025d5e .word 0x20025d5e 805d5dc: 2002006c .word 0x2002006c 805d5e0: 20025d66 .word 0x20025d66 805d5e4: 20025d62 .word 0x20025d62 805d5e8: 20025d68 .word 0x20025d68 805d5ec: 20025d64 .word 0x20025d64 805d5f0: 20020994 .word 0x20020994 805d5f4: 20020dcc .word 0x20020dcc 805d5f8: 20020dcf .word 0x20020dcf 805d5fc: 20020d9f .word 0x20020d9f 805d600: 20020029 .word 0x20020029 805d604: 20021d24 .word 0x20021d24 805d608: 20021d68 .word 0x20021d68 805d60c: 20020dc8 .word 0x20020dc8 { if((In16[i].sh[0] & 0xfff) > 4050) { 805d610: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d614: 4ab6 ldr r2, [pc, #728] ; (805d8f0 ) 805d616: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 805d61a: f3c3 030b ubfx r3, r3, #0, #12 805d61e: f640 72d2 movw r2, #4050 ; 0xfd2 805d622: 4293 cmp r3, r2 805d624: dd04 ble.n 805d630 j++; 805d626: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805d62a: 3301 adds r3, #1 805d62c: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc } if((In16[i].sh[1] & 0xfff) > 4050) { 805d630: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d634: 4aae ldr r2, [pc, #696] ; (805d8f0 ) 805d636: 009b lsls r3, r3, #2 805d638: 4413 add r3, r2 805d63a: 885b ldrh r3, [r3, #2] 805d63c: f3c3 030b ubfx r3, r3, #0, #12 805d640: f640 72d2 movw r2, #4050 ; 0xfd2 805d644: 4293 cmp r3, r2 805d646: dd04 ble.n 805d652 j++; 805d648: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805d64c: 3301 adds r3, #1 805d64e: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < 8192; i++) 805d652: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d656: 3301 adds r3, #1 805d658: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d65c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d660: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 805d664: d3d4 bcc.n 805d610 } } if(j >= 2) 805d666: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805d66a: 2b01 cmp r3, #1 805d66c: d903 bls.n 805d676 OVERDRIVE = true; 805d66e: 4ba1 ldr r3, [pc, #644] ; (805d8f4 ) 805d670: 2201 movs r2, #1 805d672: 701a strb r2, [r3, #0] 805d674: e002 b.n 805d67c else OVERDRIVE = false; 805d676: 4b9f ldr r3, [pc, #636] ; (805d8f4 ) 805d678: 2200 movs r2, #0 805d67a: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805d67c: 4b9e ldr r3, [pc, #632] ; (805d8f8 ) 805d67e: 781b ldrb r3, [r3, #0] 805d680: b2db uxtb r3, r3 805d682: 2b00 cmp r3, #0 805d684: d040 beq.n 805d708 { if((!NSamples) || (NSamples == 0xffffffff)) 805d686: 4b9d ldr r3, [pc, #628] ; (805d8fc ) 805d688: 681b ldr r3, [r3, #0] 805d68a: 2b00 cmp r3, #0 805d68c: d004 beq.n 805d698 805d68e: 4b9b ldr r3, [pc, #620] ; (805d8fc ) 805d690: 681b ldr r3, [r3, #0] 805d692: f1b3 3fff cmp.w r3, #4294967295 805d696: d103 bne.n 805d6a0 Stability = 0; 805d698: 4b99 ldr r3, [pc, #612] ; (805d900 ) 805d69a: 2200 movs r2, #0 805d69c: 601a str r2, [r3, #0] 805d69e: e007 b.n 805d6b0 else Stability = (Nr * 4) + 1; 805d6a0: 4b98 ldr r3, [pc, #608] ; (805d904 ) 805d6a2: 881b ldrh r3, [r3, #0] 805d6a4: b29b uxth r3, r3 805d6a6: 009b lsls r3, r3, #2 805d6a8: 3301 adds r3, #1 805d6aa: 461a mov r2, r3 805d6ac: 4b94 ldr r3, [pc, #592] ; (805d900 ) 805d6ae: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805d6b0: 4b92 ldr r3, [pc, #584] ; (805d8fc ) 805d6b2: f04f 32ff mov.w r2, #4294967295 805d6b6: 601a str r2, [r3, #0] MeanCnt = 0; 805d6b8: 4b93 ldr r3, [pc, #588] ; (805d908 ) 805d6ba: 2200 movs r2, #0 805d6bc: 601a str r2, [r3, #0] skz[1] = 1231298379172381; 805d6be: 4b93 ldr r3, [pc, #588] ; (805d90c ) 805d6c0: 4a93 ldr r2, [pc, #588] ; (805d910 ) 805d6c2: 605a str r2, [r3, #4] skz[0] = 0; 805d6c4: 4b91 ldr r3, [pc, #580] ; (805d90c ) 805d6c6: f04f 0200 mov.w r2, #0 805d6ca: 601a str r2, [r3, #0] MAXIMUM = 0; 805d6cc: 4b91 ldr r3, [pc, #580] ; (805d914 ) 805d6ce: f04f 0200 mov.w r2, #0 805d6d2: 601a str r2, [r3, #0] MINIMUM = 999999; 805d6d4: 4b90 ldr r3, [pc, #576] ; (805d918 ) 805d6d6: 4a91 ldr r2, [pc, #580] ; (805d91c ) 805d6d8: 601a str r2, [r3, #0] dBc = -100.0f; 805d6da: 4b91 ldr r3, [pc, #580] ; (805d920 ) 805d6dc: 4a91 ldr r2, [pc, #580] ; (805d924 ) 805d6de: 601a str r2, [r3, #0] dBm = -100.0f; 805d6e0: 4b91 ldr r3, [pc, #580] ; (805d928 ) 805d6e2: 4a90 ldr r2, [pc, #576] ; (805d924 ) 805d6e4: 601a str r2, [r3, #0] NSamples++; 805d6e6: 4b85 ldr r3, [pc, #532] ; (805d8fc ) 805d6e8: 681b ldr r3, [r3, #0] 805d6ea: 3301 adds r3, #1 805d6ec: 4a83 ldr r2, [pc, #524] ; (805d8fc ) 805d6ee: 6013 str r3, [r2, #0] timeRelax = RELAX + 1; 805d6f0: 4b8e ldr r3, [pc, #568] ; (805d92c ) 805d6f2: 681b ldr r3, [r3, #0] 805d6f4: 3301 adds r3, #1 805d6f6: 4a8e ldr r2, [pc, #568] ; (805d930 ) 805d6f8: 6013 str r3, [r2, #0] stage = 0; 805d6fa: 4b8e ldr r3, [pc, #568] ; (805d934 ) 805d6fc: 2200 movs r2, #0 805d6fe: 701a strb r2, [r3, #0] faseUdar = 0; 805d700: 4b8d ldr r3, [pc, #564] ; (805d938 ) 805d702: 2200 movs r2, #0 805d704: 701a strb r2, [r3, #0] 805d706: e00d b.n 805d724 } else { if(Stability <= (Nr * 4)) 805d708: 4b7e ldr r3, [pc, #504] ; (805d904 ) 805d70a: 881b ldrh r3, [r3, #0] 805d70c: b29b uxth r3, r3 805d70e: 009b lsls r3, r3, #2 805d710: 461a mov r2, r3 805d712: 4b7b ldr r3, [pc, #492] ; (805d900 ) 805d714: 681b ldr r3, [r3, #0] 805d716: 429a cmp r2, r3 805d718: d304 bcc.n 805d724 Stability++; 805d71a: 4b79 ldr r3, [pc, #484] ; (805d900 ) 805d71c: 681b ldr r3, [r3, #0] 805d71e: 3301 adds r3, #1 805d720: 4a77 ldr r2, [pc, #476] ; (805d900 ) 805d722: 6013 str r3, [r2, #0] if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 805d724: 4b74 ldr r3, [pc, #464] ; (805d8f8 ) 805d726: 781b ldrb r3, [r3, #0] 805d728: b2db uxtb r3, r3 805d72a: 2b00 cmp r3, #0 805d72c: f040 82b4 bne.w 805dc98 805d730: 4b74 ldr r3, [pc, #464] ; (805d904 ) 805d732: 881b ldrh r3, [r3, #0] 805d734: b29b uxth r3, r3 805d736: 009b lsls r3, r3, #2 805d738: 461a mov r2, r3 805d73a: 4b71 ldr r3, [pc, #452] ; (805d900 ) 805d73c: 681b ldr r3, [r3, #0] 805d73e: 429a cmp r2, r3 805d740: f080 82aa bcs.w 805dc98 { sc = (2.85 / 4095.0) * (float64_t) CorrKk[ACC]; 805d744: 4b7d ldr r3, [pc, #500] ; (805d93c ) 805d746: edd3 7a00 vldr s15, [r3] 805d74a: eeb7 7ae7 vcvt.f64.f32 d7, s15 805d74e: ed9f 6b64 vldr d6, [pc, #400] ; 805d8e0 805d752: ee27 7b06 vmul.f64 d7, d7, d6 805d756: ed87 7b82 vstr d7, [r7, #520] ; 0x208 i = 8192; 805d75a: f44f 5300 mov.w r3, #8192 ; 0x2000 805d75e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i > 0) 805d762: e038 b.n 805d7d6 { i--; 805d764: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d768: 3b01 subs r3, #1 805d76a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 Buff64[(i << 1)] = (float64_t) (In16[i].sh[0] & 0xffc) * sc; 805d76e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d772: 005a lsls r2, r3, #1 805d774: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d778: 495d ldr r1, [pc, #372] ; (805d8f0 ) 805d77a: f831 3023 ldrh.w r3, [r1, r3, lsl #2] 805d77e: 4619 mov r1, r3 805d780: f640 73fc movw r3, #4092 ; 0xffc 805d784: 400b ands r3, r1 805d786: ee07 3a90 vmov s15, r3 805d78a: eeb8 6be7 vcvt.f64.s32 d6, s15 805d78e: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805d792: ee26 7b07 vmul.f64 d7, d6, d7 805d796: 496a ldr r1, [pc, #424] ; (805d940 ) 805d798: 00d3 lsls r3, r2, #3 805d79a: 440b add r3, r1 805d79c: ed83 7b00 vstr d7, [r3] Buff64[(i << 1) + 1] = (float64_t) (In16[i].sh[1] & 0xffc) * sc; 805d7a0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d7a4: 005b lsls r3, r3, #1 805d7a6: 1c5a adds r2, r3, #1 805d7a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d7ac: 4950 ldr r1, [pc, #320] ; (805d8f0 ) 805d7ae: 009b lsls r3, r3, #2 805d7b0: 440b add r3, r1 805d7b2: 885b ldrh r3, [r3, #2] 805d7b4: 4619 mov r1, r3 805d7b6: f640 73fc movw r3, #4092 ; 0xffc 805d7ba: 400b ands r3, r1 805d7bc: ee07 3a90 vmov s15, r3 805d7c0: eeb8 6be7 vcvt.f64.s32 d6, s15 805d7c4: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805d7c8: ee26 7b07 vmul.f64 d7, d6, d7 805d7cc: 495c ldr r1, [pc, #368] ; (805d940 ) 805d7ce: 00d3 lsls r3, r2, #3 805d7d0: 440b add r3, r1 805d7d2: ed83 7b00 vstr d7, [r3] while(i > 0) 805d7d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d7da: 2b00 cmp r3, #0 805d7dc: d1c2 bne.n 805d764 } arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805d7de: 4b59 ldr r3, [pc, #356] ; (805d944 ) 805d7e0: 681b ldr r3, [r3, #0] 805d7e2: 4a57 ldr r2, [pc, #348] ; (805d940 ) 805d7e4: 4956 ldr r1, [pc, #344] ; (805d940 ) 805d7e6: 4858 ldr r0, [pc, #352] ; (805d948 ) 805d7e8: f070 fe88 bl 80ce4fc for(i = 0; i < Ns; i++) 805d7ec: 2300 movs r3, #0 805d7ee: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d7f2: e02d b.n 805d850 { Out[i] = (float32_t) (Buff64[i] - 0.12); 805d7f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d7f8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d7fc: 4950 ldr r1, [pc, #320] ; (805d940 ) 805d7fe: 00d2 lsls r2, r2, #3 805d800: 440a add r2, r1 805d802: ed92 7b00 vldr d7, [r2] 805d806: ed9f 6b38 vldr d6, [pc, #224] ; 805d8e8 805d80a: ee37 7b46 vsub.f64 d7, d7, d6 805d80e: eef7 7bc7 vcvt.f32.f64 s15, d7 805d812: 4a4e ldr r2, [pc, #312] ; (805d94c ) 805d814: 009b lsls r3, r3, #2 805d816: 4413 add r3, r2 805d818: edc3 7a00 vstr s15, [r3] if(Out[i] < 0.1f) 805d81c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d820: 4a4a ldr r2, [pc, #296] ; (805d94c ) 805d822: 009b lsls r3, r3, #2 805d824: 4413 add r3, r2 805d826: edd3 7a00 vldr s15, [r3] 805d82a: ed9f 7a49 vldr s14, [pc, #292] ; 805d950 805d82e: eef4 7ac7 vcmpe.f32 s15, s14 805d832: eef1 fa10 vmrs APSR_nzcv, fpscr 805d836: d506 bpl.n 805d846 Out[i] = 0.1f; 805d838: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d83c: 4a43 ldr r2, [pc, #268] ; (805d94c ) 805d83e: 009b lsls r3, r3, #2 805d840: 4413 add r3, r2 805d842: 4a44 ldr r2, [pc, #272] ; (805d954 ) 805d844: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805d846: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d84a: 3301 adds r3, #1 805d84c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d850: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d854: 4b3b ldr r3, [pc, #236] ; (805d944 ) 805d856: 681b ldr r3, [r3, #0] 805d858: 429a cmp r2, r3 805d85a: d3cb bcc.n 805d7f4 if(timeRelax > 1) 805d85c: 4b34 ldr r3, [pc, #208] ; (805d930 ) 805d85e: 681b ldr r3, [r3, #0] 805d860: 2b01 cmp r3, #1 805d862: d904 bls.n 805d86e timeRelax--; 805d864: 4b32 ldr r3, [pc, #200] ; (805d930 ) 805d866: 681b ldr r3, [r3, #0] 805d868: 3b01 subs r3, #1 805d86a: 4a31 ldr r2, [pc, #196] ; (805d930 ) 805d86c: 6013 str r3, [r2, #0] switch(stage) 805d86e: 4b31 ldr r3, [pc, #196] ; (805d934 ) 805d870: 781b ldrb r3, [r3, #0] 805d872: b2db uxtb r3, r3 805d874: 2b07 cmp r3, #7 805d876: f200 80ee bhi.w 805da56 805d87a: a201 add r2, pc, #4 ; (adr r2, 805d880 ) 805d87c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805d880: 0805d8a1 .word 0x0805d8a1 805d884: 0805d8b9 .word 0x0805d8b9 805d888: 0805d95d .word 0x0805d95d 805d88c: 0805d981 .word 0x0805d981 805d890: 0805d9a9 .word 0x0805d9a9 805d894: 0805d9cd .word 0x0805d9cd 805d898: 0805d9f5 .word 0x0805d9f5 805d89c: 0805da1f .word 0x0805da1f { case 0: memcpy((void *) &Udar_f32(0), (void *) &Out[0], Ns * 4u); 805d8a0: 4b28 ldr r3, [pc, #160] ; (805d944 ) 805d8a2: 681b ldr r3, [r3, #0] 805d8a4: 009b lsls r3, r3, #2 805d8a6: 461a mov r2, r3 805d8a8: 4928 ldr r1, [pc, #160] ; (805d94c ) 805d8aa: 482b ldr r0, [pc, #172] ; (805d958 ) 805d8ac: f073 fd6d bl 80d138a stage = 1; 805d8b0: 4b20 ldr r3, [pc, #128] ; (805d934 ) 805d8b2: 2201 movs r2, #1 805d8b4: 701a strb r2, [r3, #0] break; 805d8b6: e0ce b.n 805da56 case 1: memcpy((void *) &Udar_f32(Ns), (void *) &Out[0], Ns * 4u); 805d8b8: 4b22 ldr r3, [pc, #136] ; (805d944 ) 805d8ba: 681b ldr r3, [r3, #0] 805d8bc: 009a lsls r2, r3, #2 805d8be: 4b26 ldr r3, [pc, #152] ; (805d958 ) 805d8c0: 4413 add r3, r2 805d8c2: 4618 mov r0, r3 805d8c4: 4b1f ldr r3, [pc, #124] ; (805d944 ) 805d8c6: 681b ldr r3, [r3, #0] 805d8c8: 009b lsls r3, r3, #2 805d8ca: 461a mov r2, r3 805d8cc: 491f ldr r1, [pc, #124] ; (805d94c ) 805d8ce: f073 fd5c bl 80d138a stage = 2; 805d8d2: 4b18 ldr r3, [pc, #96] ; (805d934 ) 805d8d4: 2202 movs r2, #2 805d8d6: 701a strb r2, [r3, #0] break; 805d8d8: e0bd b.n 805da56 805d8da: bf00 nop 805d8dc: f3af 8000 nop.w 805d8e0: b067d34a .word 0xb067d34a 805d8e4: 3f46ce39 .word 0x3f46ce39 805d8e8: eb851eb8 .word 0xeb851eb8 805d8ec: 3fbeb851 .word 0x3fbeb851 805d8f0: 20058060 .word 0x20058060 805d8f4: 20021579 .word 0x20021579 805d8f8: 20020d9e .word 0x20020d9e 805d8fc: 20020da8 .word 0x20020da8 805d900: 20020dc8 .word 0x20020dc8 805d904: 20021d68 .word 0x20021d68 805d908: 20020dd8 .word 0x20020dd8 805d90c: 20021588 .word 0x20021588 805d910: 588bfb80 .word 0x588bfb80 805d914: 20021580 .word 0x20021580 805d918: 20021584 .word 0x20021584 805d91c: 497423f0 .word 0x497423f0 805d920: 20020dbc .word 0x20020dbc 805d924: c2c80000 .word 0xc2c80000 805d928: 20020dc0 .word 0x20020dc0 805d92c: 20020d90 .word 0x20020d90 805d930: 20020d8c .word 0x20020d8c 805d934: 20021560 .word 0x20021560 805d938: 2002166c .word 0x2002166c 805d93c: 20020080 .word 0x20020080 805d940: 20037b20 .word 0x20037b20 805d944: 20021d24 .word 0x20021d24 805d948: 20025f40 .word 0x20025f40 805d94c: 20008000 .word 0x20008000 805d950: 3dcccccd .word 0x3dcccccd 805d954: 3dcccccd .word 0x3dcccccd 805d958: 640a0000 .word 0x640a0000 case 2: memcpy((void *) &Udar_f32(2u * Ns), (void *) &Out[0], Ns * 4u); 805d95c: 4bbe ldr r3, [pc, #760] ; (805dc58 ) 805d95e: 681b ldr r3, [r3, #0] 805d960: 005b lsls r3, r3, #1 805d962: 009a lsls r2, r3, #2 805d964: 4bbd ldr r3, [pc, #756] ; (805dc5c ) 805d966: 4413 add r3, r2 805d968: 4618 mov r0, r3 805d96a: 4bbb ldr r3, [pc, #748] ; (805dc58 ) 805d96c: 681b ldr r3, [r3, #0] 805d96e: 009b lsls r3, r3, #2 805d970: 461a mov r2, r3 805d972: 49bb ldr r1, [pc, #748] ; (805dc60 ) 805d974: f073 fd09 bl 80d138a stage = 3; 805d978: 4bba ldr r3, [pc, #744] ; (805dc64 ) 805d97a: 2203 movs r2, #3 805d97c: 701a strb r2, [r3, #0] break; 805d97e: e06a b.n 805da56 case 3: memcpy((void *) &Udar_f32(3u * Ns), (void *) &Out[0], Ns * 4u); 805d980: 4bb5 ldr r3, [pc, #724] ; (805dc58 ) 805d982: 681a ldr r2, [r3, #0] 805d984: 4613 mov r3, r2 805d986: 005b lsls r3, r3, #1 805d988: 4413 add r3, r2 805d98a: 009a lsls r2, r3, #2 805d98c: 4bb3 ldr r3, [pc, #716] ; (805dc5c ) 805d98e: 4413 add r3, r2 805d990: 4618 mov r0, r3 805d992: 4bb1 ldr r3, [pc, #708] ; (805dc58 ) 805d994: 681b ldr r3, [r3, #0] 805d996: 009b lsls r3, r3, #2 805d998: 461a mov r2, r3 805d99a: 49b1 ldr r1, [pc, #708] ; (805dc60 ) 805d99c: f073 fcf5 bl 80d138a stage = 4; 805d9a0: 4bb0 ldr r3, [pc, #704] ; (805dc64 ) 805d9a2: 2204 movs r2, #4 805d9a4: 701a strb r2, [r3, #0] break; 805d9a6: e056 b.n 805da56 case 4: memcpy((void *) &Udar_f32(4u * Ns), (void *) &Out[0], Ns * 4u); 805d9a8: 4bab ldr r3, [pc, #684] ; (805dc58 ) 805d9aa: 681b ldr r3, [r3, #0] 805d9ac: 009b lsls r3, r3, #2 805d9ae: 009a lsls r2, r3, #2 805d9b0: 4baa ldr r3, [pc, #680] ; (805dc5c ) 805d9b2: 4413 add r3, r2 805d9b4: 4618 mov r0, r3 805d9b6: 4ba8 ldr r3, [pc, #672] ; (805dc58 ) 805d9b8: 681b ldr r3, [r3, #0] 805d9ba: 009b lsls r3, r3, #2 805d9bc: 461a mov r2, r3 805d9be: 49a8 ldr r1, [pc, #672] ; (805dc60 ) 805d9c0: f073 fce3 bl 80d138a stage = 5; 805d9c4: 4ba7 ldr r3, [pc, #668] ; (805dc64 ) 805d9c6: 2205 movs r2, #5 805d9c8: 701a strb r2, [r3, #0] break; 805d9ca: e044 b.n 805da56 case 5: memcpy((void *) &Udar_f32(5u * Ns), (void *) &Out[0], Ns * 4u); 805d9cc: 4ba2 ldr r3, [pc, #648] ; (805dc58 ) 805d9ce: 681a ldr r2, [r3, #0] 805d9d0: 4613 mov r3, r2 805d9d2: 009b lsls r3, r3, #2 805d9d4: 4413 add r3, r2 805d9d6: 009a lsls r2, r3, #2 805d9d8: 4ba0 ldr r3, [pc, #640] ; (805dc5c ) 805d9da: 4413 add r3, r2 805d9dc: 4618 mov r0, r3 805d9de: 4b9e ldr r3, [pc, #632] ; (805dc58 ) 805d9e0: 681b ldr r3, [r3, #0] 805d9e2: 009b lsls r3, r3, #2 805d9e4: 461a mov r2, r3 805d9e6: 499e ldr r1, [pc, #632] ; (805dc60 ) 805d9e8: f073 fccf bl 80d138a stage = 6; 805d9ec: 4b9d ldr r3, [pc, #628] ; (805dc64 ) 805d9ee: 2206 movs r2, #6 805d9f0: 701a strb r2, [r3, #0] break; 805d9f2: e030 b.n 805da56 case 6: memcpy((void *) &Udar_f32(6u * Ns), (void *) &Out[0], Ns * 4u); 805d9f4: 4b98 ldr r3, [pc, #608] ; (805dc58 ) 805d9f6: 681a ldr r2, [r3, #0] 805d9f8: 4613 mov r3, r2 805d9fa: 005b lsls r3, r3, #1 805d9fc: 4413 add r3, r2 805d9fe: 005b lsls r3, r3, #1 805da00: 009a lsls r2, r3, #2 805da02: 4b96 ldr r3, [pc, #600] ; (805dc5c ) 805da04: 4413 add r3, r2 805da06: 4618 mov r0, r3 805da08: 4b93 ldr r3, [pc, #588] ; (805dc58 ) 805da0a: 681b ldr r3, [r3, #0] 805da0c: 009b lsls r3, r3, #2 805da0e: 461a mov r2, r3 805da10: 4993 ldr r1, [pc, #588] ; (805dc60 ) 805da12: f073 fcba bl 80d138a stage = 7; 805da16: 4b93 ldr r3, [pc, #588] ; (805dc64 ) 805da18: 2207 movs r2, #7 805da1a: 701a strb r2, [r3, #0] break; 805da1c: e01b b.n 805da56 case 7: memcpy((void *) &Udar_f32(7u * Ns), (void *) &Out[0], Ns * 4u); 805da1e: 4b8e ldr r3, [pc, #568] ; (805dc58 ) 805da20: 681a ldr r2, [r3, #0] 805da22: 4613 mov r3, r2 805da24: 00db lsls r3, r3, #3 805da26: 1a9b subs r3, r3, r2 805da28: 009a lsls r2, r3, #2 805da2a: 4b8c ldr r3, [pc, #560] ; (805dc5c ) 805da2c: 4413 add r3, r2 805da2e: 4618 mov r0, r3 805da30: 4b89 ldr r3, [pc, #548] ; (805dc58 ) 805da32: 681b ldr r3, [r3, #0] 805da34: 009b lsls r3, r3, #2 805da36: 461a mov r2, r3 805da38: 4989 ldr r1, [pc, #548] ; (805dc60 ) 805da3a: f073 fca6 bl 80d138a stage = 0; 805da3e: 4b89 ldr r3, [pc, #548] ; (805dc64 ) 805da40: 2200 movs r2, #0 805da42: 701a strb r2, [r3, #0] READY = 0; 805da44: 4b88 ldr r3, [pc, #544] ; (805dc68 ) 805da46: 2200 movs r2, #0 805da48: 701a strb r2, [r3, #0] blockSize = Ns * 8u; 805da4a: 4b83 ldr r3, [pc, #524] ; (805dc58 ) 805da4c: 681b ldr r3, [r3, #0] 805da4e: 00db lsls r3, r3, #3 805da50: f8c7 3220 str.w r3, [r7, #544] ; 0x220 break; 805da54: bf00 nop } if(READY) 805da56: 4b84 ldr r3, [pc, #528] ; (805dc68 ) 805da58: 781b ldrb r3, [r3, #0] 805da5a: b2db uxtb r3, r3 805da5c: 2b00 cmp r3, #0 805da5e: d002 beq.n 805da66 { tick = 0; 805da60: 2300 movs r3, #0 805da62: f8c7 321c str.w r3, [r7, #540] ; 0x21c } if(stage) 805da66: 4b7f ldr r3, [pc, #508] ; (805dc64 ) 805da68: 781b ldrb r3, [r3, #0] 805da6a: b2db uxtb r3, r3 805da6c: 2b00 cmp r3, #0 805da6e: d006 beq.n 805da7e { Processing(); 805da70: f007 fab4 bl 8064fdc READY = 0; 805da74: 4b7c ldr r3, [pc, #496] ; (805dc68 ) 805da76: 2200 movs r2, #0 805da78: 701a strb r2, [r3, #0] 805da7a: f007 ba78 b.w 8064f6e } //dBm arm_max_f32(&Udar_f32(0), blockSize, (float32_t *) &fs, &k); 805da7e: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805da82: f507 72dc add.w r2, r7, #440 ; 0x1b8 805da86: f8d7 1220 ldr.w r1, [r7, #544] ; 0x220 805da8a: 4874 ldr r0, [pc, #464] ; (805dc5c ) 805da8c: f070 fcc2 bl 80ce414 LinToLog_UDAR(&fs, (float32_t *) &fl); 805da90: f507 72de add.w r2, r7, #444 ; 0x1bc 805da94: f507 73dc add.w r3, r7, #440 ; 0x1b8 805da98: 4611 mov r1, r2 805da9a: 4618 mov r0, r3 805da9c: f008 f9b8 bl 8065e10 if(fl > maxdBm) { 805daa0: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805daa4: 4b71 ldr r3, [pc, #452] ; (805dc6c ) 805daa6: edd3 7a00 vldr s15, [r3] 805daaa: eeb4 7ae7 vcmpe.f32 s14, s15 805daae: eef1 fa10 vmrs APSR_nzcv, fpscr 805dab2: dd03 ble.n 805dabc maxdBm = fl; 805dab4: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805dab8: 4a6c ldr r2, [pc, #432] ; (805dc6c ) 805daba: 6013 str r3, [r2, #0] } //dBc arm_power_f32(&Udar_f32(0), blockSize, &fs); 805dabc: f507 73dc add.w r3, r7, #440 ; 0x1b8 805dac0: 461a mov r2, r3 805dac2: f8d7 1220 ldr.w r1, [r7, #544] ; 0x220 805dac6: 4865 ldr r0, [pc, #404] ; (805dc5c ) 805dac8: f070 fbce bl 80ce268 maxdBc += fs; 805dacc: 4b68 ldr r3, [pc, #416] ; (805dc70 ) 805dace: ed93 7a00 vldr s14, [r3] 805dad2: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805dad6: ee77 7a27 vadd.f32 s15, s14, s15 805dada: 4b65 ldr r3, [pc, #404] ; (805dc70 ) 805dadc: edc3 7a00 vstr s15, [r3] faseUdar++; 805dae0: 4b64 ldr r3, [pc, #400] ; (805dc74 ) 805dae2: 781b ldrb r3, [r3, #0] 805dae4: b2db uxtb r3, r3 805dae6: 3301 adds r3, #1 805dae8: b2da uxtb r2, r3 805daea: 4b62 ldr r3, [pc, #392] ; (805dc74 ) 805daec: 701a strb r2, [r3, #0] if(faseUdar >= 4) // ðàç â 2 ñåêóíäû 805daee: 4b61 ldr r3, [pc, #388] ; (805dc74 ) 805daf0: 781b ldrb r3, [r3, #0] 805daf2: b2db uxtb r3, r3 805daf4: 2b03 cmp r3, #3 805daf6: d92d bls.n 805db54 { faseUdar = 0; 805daf8: 4b5e ldr r3, [pc, #376] ; (805dc74 ) 805dafa: 2200 movs r2, #0 805dafc: 701a strb r2, [r3, #0] dBm = maxdBm; 805dafe: 4b5b ldr r3, [pc, #364] ; (805dc6c ) 805db00: 681b ldr r3, [r3, #0] 805db02: 4a5d ldr r2, [pc, #372] ; (805dc78 ) 805db04: 6013 str r3, [r2, #0] maxdBc /= 524288.0f; 805db06: 4b5a ldr r3, [pc, #360] ; (805dc70 ) 805db08: ed93 7a00 vldr s14, [r3] 805db0c: eddf 6a5b vldr s13, [pc, #364] ; 805dc7c 805db10: eec7 7a26 vdiv.f32 s15, s14, s13 805db14: 4b56 ldr r3, [pc, #344] ; (805dc70 ) 805db16: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(maxdBc, & maxdBc); 805db1a: 4b55 ldr r3, [pc, #340] ; (805dc70 ) 805db1c: edd3 7a00 vldr s15, [r3] 805db20: 4853 ldr r0, [pc, #332] ; (805dc70 ) 805db22: eeb0 0a67 vmov.f32 s0, s15 805db26: f7f8 fe93 bl 8056850 maxdBc *= 1.414213562373f; 805db2a: 4b51 ldr r3, [pc, #324] ; (805dc70 ) 805db2c: edd3 7a00 vldr s15, [r3] 805db30: ed9f 7a53 vldr s14, [pc, #332] ; 805dc80 805db34: ee67 7a87 vmul.f32 s15, s15, s14 805db38: 4b4d ldr r3, [pc, #308] ; (805dc70 ) 805db3a: edc3 7a00 vstr s15, [r3] LinToLog_UDAR(&maxdBc, (float32_t *) &dBc); 805db3e: 4951 ldr r1, [pc, #324] ; (805dc84 ) 805db40: 484b ldr r0, [pc, #300] ; (805dc70 ) 805db42: f008 f965 bl 8065e10 maxdBm = -100.0f; 805db46: 4b49 ldr r3, [pc, #292] ; (805dc6c ) 805db48: 4a4f ldr r2, [pc, #316] ; (805dc88 ) 805db4a: 601a str r2, [r3, #0] maxdBc = 0.0f; 805db4c: 4b48 ldr r3, [pc, #288] ; (805dc70 ) 805db4e: f04f 0200 mov.w r2, #0 805db52: 601a str r2, [r3, #0] } if(timeRelax == 1) 805db54: 4b4d ldr r3, [pc, #308] ; (805dc8c ) 805db56: 681b ldr r3, [r3, #0] 805db58: 2b01 cmp r3, #1 805db5a: d13d bne.n 805dbd8 { NSamples++; 805db5c: 4b4c ldr r3, [pc, #304] ; (805dc90 ) 805db5e: 681b ldr r3, [r3, #0] 805db60: 3301 adds r3, #1 805db62: 4a4b ldr r2, [pc, #300] ; (805dc90 ) 805db64: 6013 str r3, [r2, #0] timeRelax = 0; 805db66: 4b49 ldr r3, [pc, #292] ; (805dc8c ) 805db68: 2200 movs r2, #0 805db6a: 601a str r2, [r3, #0] k = blockSize / 256u; 805db6c: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 805db70: 0a1b lsrs r3, r3, #8 805db72: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 256; i++) 805db76: 2300 movs r3, #0 805db78: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805db7c: e027 b.n 805dbce { arm_max_f32(&Udar_f32(i * k), k, &fl, &j); 805db7e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805db82: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805db86: fb02 f303 mul.w r3, r2, r3 805db8a: 009a lsls r2, r3, #2 805db8c: 4b33 ldr r3, [pc, #204] ; (805dc5c ) 805db8e: 4413 add r3, r2 805db90: 4618 mov r0, r3 805db92: f8d7 11c8 ldr.w r1, [r7, #456] ; 0x1c8 805db96: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805db9a: f507 72de add.w r2, r7, #444 ; 0x1bc 805db9e: f070 fc39 bl 80ce414 LinToLog_UDAR(&fl, &fl); 805dba2: f507 72de add.w r2, r7, #444 ; 0x1bc 805dba6: f507 73de add.w r3, r7, #444 ; 0x1bc 805dbaa: 4611 mov r1, r2 805dbac: 4618 mov r0, r3 805dbae: f008 f92f bl 8065e10 ScrA_f32(i) = fl; 805dbb2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dbb6: 009a lsls r2, r3, #2 805dbb8: 4b36 ldr r3, [pc, #216] ; (805dc94 ) 805dbba: 4413 add r3, r2 805dbbc: 461a mov r2, r3 805dbbe: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805dbc2: 6013 str r3, [r2, #0] for(i = 0; i < 256; i++) 805dbc4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dbc8: 3301 adds r3, #1 805dbca: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dbce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dbd2: 2bff cmp r3, #255 ; 0xff 805dbd4: d9d3 bls.n 805db7e if(timeRelax == 1) 805dbd6: e06b b.n 805dcb0 } } else if(timeRelax == 0) 805dbd8: 4b2c ldr r3, [pc, #176] ; (805dc8c ) 805dbda: 681b ldr r3, [r3, #0] 805dbdc: 2b00 cmp r3, #0 805dbde: d167 bne.n 805dcb0 { NSamples++; 805dbe0: 4b2b ldr r3, [pc, #172] ; (805dc90 ) 805dbe2: 681b ldr r3, [r3, #0] 805dbe4: 3301 adds r3, #1 805dbe6: 4a2a ldr r2, [pc, #168] ; (805dc90 ) 805dbe8: 6013 str r3, [r2, #0] k = blockSize / 256u; 805dbea: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 805dbee: 0a1b lsrs r3, r3, #8 805dbf0: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 256; i++) 805dbf4: 2300 movs r3, #0 805dbf6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dbfa: e027 b.n 805dc4c { arm_max_f32(&Udar_f32(i * k), k, &fl, &j); 805dbfc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc00: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805dc04: fb02 f303 mul.w r3, r2, r3 805dc08: 009a lsls r2, r3, #2 805dc0a: 4b14 ldr r3, [pc, #80] ; (805dc5c ) 805dc0c: 4413 add r3, r2 805dc0e: 4618 mov r0, r3 805dc10: f8d7 11c8 ldr.w r1, [r7, #456] ; 0x1c8 805dc14: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805dc18: f507 72de add.w r2, r7, #444 ; 0x1bc 805dc1c: f070 fbfa bl 80ce414 LinToLog_UDAR(&fl, &fl); 805dc20: f507 72de add.w r2, r7, #444 ; 0x1bc 805dc24: f507 73de add.w r3, r7, #444 ; 0x1bc 805dc28: 4611 mov r1, r2 805dc2a: 4618 mov r0, r3 805dc2c: f008 f8f0 bl 8065e10 ScrA_f32(i) = fl; 805dc30: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc34: 009a lsls r2, r3, #2 805dc36: 4b17 ldr r3, [pc, #92] ; (805dc94 ) 805dc38: 4413 add r3, r2 805dc3a: 461a mov r2, r3 805dc3c: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805dc40: 6013 str r3, [r2, #0] for(i = 0; i < 256; i++) 805dc42: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc46: 3301 adds r3, #1 805dc48: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dc4c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc50: 2bff cmp r3, #255 ; 0xff 805dc52: d9d3 bls.n 805dbfc if(timeRelax == 1) 805dc54: e02c b.n 805dcb0 805dc56: bf00 nop 805dc58: 20021d24 .word 0x20021d24 805dc5c: 640a0000 .word 0x640a0000 805dc60: 20008000 .word 0x20008000 805dc64: 20021560 .word 0x20021560 805dc68: 20020d9f .word 0x20020d9f 805dc6c: 20057f00 .word 0x20057f00 805dc70: 200685a0 .word 0x200685a0 805dc74: 2002166c .word 0x2002166c 805dc78: 20020dc0 .word 0x20020dc0 805dc7c: 49000000 .word 0x49000000 805dc80: 3fb504f3 .word 0x3fb504f3 805dc84: 20020dbc .word 0x20020dbc 805dc88: c2c80000 .word 0xc2c80000 805dc8c: 20020d8c .word 0x20020d8c 805dc90: 20020da8 .word 0x20020da8 805dc94: 64080000 .word 0x64080000 } } } else { RepeatKm = true; 805dc98: 4baf ldr r3, [pc, #700] ; (805df58 ) 805dc9a: 2201 movs r2, #1 805dc9c: 701a strb r2, [r3, #0] timeRelax = RELAX + 1; 805dc9e: 4baf ldr r3, [pc, #700] ; (805df5c ) 805dca0: 681b ldr r3, [r3, #0] 805dca2: 3301 adds r3, #1 805dca4: 4aae ldr r2, [pc, #696] ; (805df60 ) 805dca6: 6013 str r3, [r2, #0] faseUdar = 0; 805dca8: 4bae ldr r3, [pc, #696] ; (805df64 ) 805dcaa: 2200 movs r2, #0 805dcac: 701a strb r2, [r3, #0] 805dcae: e000 b.n 805dcb2 if(timeRelax == 1) 805dcb0: bf00 nop } tick = HAL_GetTick() - tick; 805dcb2: f059 f8b7 bl 80b6e24 805dcb6: 4602 mov r2, r0 805dcb8: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805dcbc: 1ad3 subs r3, r2, r3 805dcbe: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 805dcc2: 4ba9 ldr r3, [pc, #676] ; (805df68 ) 805dcc4: 681b ldr r3, [r3, #0] 805dcc6: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 805dcca: 429a cmp r2, r3 805dccc: d903 bls.n 805dcd6 maxtick = tick; 805dcce: 4aa6 ldr r2, [pc, #664] ; (805df68 ) 805dcd0: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805dcd4: 6013 str r3, [r2, #0] if(READY) 805dcd6: 4ba5 ldr r3, [pc, #660] ; (805df6c ) 805dcd8: 781b ldrb r3, [r3, #0] 805dcda: b2db uxtb r3, r3 805dcdc: 2b00 cmp r3, #0 805dcde: f007 8134 beq.w 8064f4a { tick = 0; 805dce2: 2300 movs r3, #0 805dce4: f8c7 321c str.w r3, [r7, #540] ; 0x21c //*========================================================================================================================= //*========================================================================================================================= //*========================================================================================================================= } break; 805dce8: f007 b92f b.w 8064f4a case SPEC: if(measuring) 805dcec: 4ba0 ldr r3, [pc, #640] ; (805df70 ) 805dcee: 781b ldrb r3, [r3, #0] 805dcf0: b2db uxtb r3, r3 805dcf2: 2b00 cmp r3, #0 805dcf4: f007 812b beq.w 8064f4e { GetData(); 805dcf8: f007 fbe8 bl 80654cc j = 0; 805dcfc: 2300 movs r3, #0 805dcfe: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805dd02: 4b9c ldr r3, [pc, #624] ; (805df74 ) 805dd04: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805dd08: f003 0304 and.w r3, r3, #4 805dd0c: 2b00 cmp r3, #0 805dd0e: d005 beq.n 805dd1c CalculateGain(Ns); 805dd10: 4b99 ldr r3, [pc, #612] ; (805df78 ) 805dd12: 681b ldr r3, [r3, #0] 805dd14: 4618 mov r0, r3 805dd16: f7f8 fdbd bl 8056894 805dd1a: e02e b.n 805dd7a else { Stability = (Nr * 4) + 1; 805dd1c: 4b97 ldr r3, [pc, #604] ; (805df7c ) 805dd1e: 881b ldrh r3, [r3, #0] 805dd20: b29b uxth r3, r3 805dd22: 009b lsls r3, r3, #2 805dd24: 3301 adds r3, #1 805dd26: 461a mov r2, r3 805dd28: 4b95 ldr r3, [pc, #596] ; (805df80 ) 805dd2a: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805dd2c: 2300 movs r3, #0 805dd2e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dd32: e011 b.n 805dd58 { if(In16[i].lg > 0xE00000) 805dd34: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dd38: 4a92 ldr r2, [pc, #584] ; (805df84 ) 805dd3a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805dd3e: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805dd42: d904 bls.n 805dd4e j++; 805dd44: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805dd48: 3301 adds r3, #1 805dd4a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805dd4e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dd52: 3301 adds r3, #1 805dd54: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dd58: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805dd5c: 4b86 ldr r3, [pc, #536] ; (805df78 ) 805dd5e: 681b ldr r3, [r3, #0] 805dd60: 429a cmp r2, r3 805dd62: d3e7 bcc.n 805dd34 } if(j >= 2) 805dd64: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805dd68: 2b01 cmp r3, #1 805dd6a: d903 bls.n 805dd74 OVERDRIVE = true; 805dd6c: 4b86 ldr r3, [pc, #536] ; (805df88 ) 805dd6e: 2201 movs r2, #1 805dd70: 701a strb r2, [r3, #0] 805dd72: e002 b.n 805dd7a else OVERDRIVE = false; 805dd74: 4b84 ldr r3, [pc, #528] ; (805df88 ) 805dd76: 2200 movs r2, #0 805dd78: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805dd7a: 4b84 ldr r3, [pc, #528] ; (805df8c ) 805dd7c: 781b ldrb r3, [r3, #0] 805dd7e: b2db uxtb r3, r3 805dd80: 2b00 cmp r3, #0 805dd82: d00a beq.n 805dd9a { Stability = 0; 805dd84: 4b7e ldr r3, [pc, #504] ; (805df80 ) 805dd86: 2200 movs r2, #0 805dd88: 601a str r2, [r3, #0] MeanCnt = 0; 805dd8a: 4b81 ldr r3, [pc, #516] ; (805df90 ) 805dd8c: 2200 movs r2, #0 805dd8e: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805dd90: 4b80 ldr r3, [pc, #512] ; (805df94 ) 805dd92: f04f 32ff mov.w r2, #4294967295 805dd96: 601a str r2, [r3, #0] 805dd98: e00d b.n 805ddb6 } else { if(Stability <= (Nr * 4)) 805dd9a: 4b78 ldr r3, [pc, #480] ; (805df7c ) 805dd9c: 881b ldrh r3, [r3, #0] 805dd9e: b29b uxth r3, r3 805dda0: 009b lsls r3, r3, #2 805dda2: 461a mov r2, r3 805dda4: 4b76 ldr r3, [pc, #472] ; (805df80 ) 805dda6: 681b ldr r3, [r3, #0] 805dda8: 429a cmp r2, r3 805ddaa: d304 bcc.n 805ddb6 Stability++; 805ddac: 4b74 ldr r3, [pc, #464] ; (805df80 ) 805ddae: 681b ldr r3, [r3, #0] 805ddb0: 3301 adds r3, #1 805ddb2: 4a73 ldr r2, [pc, #460] ; (805df80 ) 805ddb4: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805ddb6: 4b75 ldr r3, [pc, #468] ; (805df8c ) 805ddb8: 781b ldrb r3, [r3, #0] 805ddba: b2db uxtb r3, r3 805ddbc: 2b00 cmp r3, #0 805ddbe: f040 81a9 bne.w 805e114 805ddc2: 4b6e ldr r3, [pc, #440] ; (805df7c ) 805ddc4: 881b ldrh r3, [r3, #0] 805ddc6: b29b uxth r3, r3 805ddc8: 009b lsls r3, r3, #2 805ddca: 461a mov r2, r3 805ddcc: 4b6c ldr r3, [pc, #432] ; (805df80 ) 805ddce: 681b ldr r3, [r3, #0] 805ddd0: 429a cmp r2, r3 805ddd2: f080 819f bcs.w 805e114 { MeanCnt++; 805ddd6: 4b6e ldr r3, [pc, #440] ; (805df90 ) 805ddd8: 681b ldr r3, [r3, #0] 805ddda: 3301 adds r3, #1 805dddc: 4a6c ldr r2, [pc, #432] ; (805df90 ) 805ddde: 6013 str r3, [r2, #0] //************************************************************************************************************** fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805dde0: 4b65 ldr r3, [pc, #404] ; (805df78 ) 805dde2: 681b ldr r3, [r3, #0] 805dde4: 085b lsrs r3, r3, #1 805dde6: ee07 3a90 vmov s15, r3 805ddea: eeb8 7a67 vcvt.f32.u32 s14, s15 805ddee: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805ddf2: eec6 7a87 vdiv.f32 s15, s13, s14 805ddf6: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805ddfa: 4b67 ldr r3, [pc, #412] ; (805df98 ) 805ddfc: edd3 7a00 vldr s15, [r3] 805de00: eeb7 7ae7 vcvt.f64.f32 d7, s15 805de04: ed9f 6b52 vldr d6, [pc, #328] ; 805df50 805de08: ee27 7b06 vmul.f64 d7, d7, d6 805de0c: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805de10: 4b58 ldr r3, [pc, #352] ; (805df74 ) 805de12: edd3 7a04 vldr s15, [r3, #16] 805de16: eeb7 6ae7 vcvt.f64.f32 d6, s15 805de1a: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805de1e: ee85 7b06 vdiv.f64 d7, d5, d6 805de22: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805de26: 2300 movs r3, #0 805de28: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805de2c: e026 b.n 805de7c { Buff64[i] = (float64_t) In16[i].lg; 805de2e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805de32: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805de36: 4953 ldr r1, [pc, #332] ; (805df84 ) 805de38: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805de3c: ee07 2a90 vmov s15, r2 805de40: eeb8 7b67 vcvt.f64.u32 d7, s15 805de44: 4a55 ldr r2, [pc, #340] ; (805df9c ) 805de46: 00db lsls r3, r3, #3 805de48: 4413 add r3, r2 805de4a: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805de4e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805de52: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805de56: 4951 ldr r1, [pc, #324] ; (805df9c ) 805de58: 00d2 lsls r2, r2, #3 805de5a: 440a add r2, r1 805de5c: ed92 6b00 vldr d6, [r2] 805de60: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805de64: ee26 7b07 vmul.f64 d7, d6, d7 805de68: 4a4c ldr r2, [pc, #304] ; (805df9c ) 805de6a: 00db lsls r3, r3, #3 805de6c: 4413 add r3, r2 805de6e: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805de72: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805de76: 3301 adds r3, #1 805de78: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805de7c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805de80: 4b3d ldr r3, [pc, #244] ; (805df78 ) 805de82: 681b ldr r3, [r3, #0] 805de84: 429a cmp r2, r3 805de86: d3d2 bcc.n 805de2e } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805de88: 4b3b ldr r3, [pc, #236] ; (805df78 ) 805de8a: 681b ldr r3, [r3, #0] 805de8c: 4a43 ldr r2, [pc, #268] ; (805df9c ) 805de8e: 4943 ldr r1, [pc, #268] ; (805df9c ) 805de90: 4843 ldr r0, [pc, #268] ; (805dfa0 ) 805de92: f070 fb33 bl 80ce4fc arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805de96: 4b38 ldr r3, [pc, #224] ; (805df78 ) 805de98: 681b ldr r3, [r3, #0] 805de9a: 4a40 ldr r2, [pc, #256] ; (805df9c ) 805de9c: 493f ldr r1, [pc, #252] ; (805df9c ) 805de9e: 4841 ldr r0, [pc, #260] ; (805dfa4 ) 805dea0: f070 fb2c bl 80ce4fc for(i = 0; i < Ns; i++) { 805dea4: 2300 movs r3, #0 805dea6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805deaa: e014 b.n 805ded6 Out[i] = (float32_t) Buff64[i]; 805deac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805deb0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805deb4: 4939 ldr r1, [pc, #228] ; (805df9c ) 805deb6: 00d2 lsls r2, r2, #3 805deb8: 440a add r2, r1 805deba: ed92 7b00 vldr d7, [r2] 805debe: eef7 7bc7 vcvt.f32.f64 s15, d7 805dec2: 4a39 ldr r2, [pc, #228] ; (805dfa8 ) 805dec4: 009b lsls r3, r3, #2 805dec6: 4413 add r3, r2 805dec8: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 805decc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ded0: 3301 adds r3, #1 805ded2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ded6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805deda: 4b27 ldr r3, [pc, #156] ; (805df78 ) 805dedc: 681b ldr r3, [r3, #0] 805dede: 429a cmp r2, r3 805dee0: d3e4 bcc.n 805deac WindowFunc(pardata.WIN, Ns); 805dee2: 4b24 ldr r3, [pc, #144] ; (805df74 ) 805dee4: 7a5b ldrb r3, [r3, #9] 805dee6: b2da uxtb r2, r3 805dee8: 4b23 ldr r3, [pc, #140] ; (805df78 ) 805deea: 681b ldr r3, [r3, #0] 805deec: b29b uxth r3, r3 805deee: 4619 mov r1, r3 805def0: 4610 mov r0, r2 805def2: f007 fb7b bl 80655ec initFFT(Out, In, Forward); 805def6: 2200 movs r2, #0 805def8: 492c ldr r1, [pc, #176] ; (805dfac ) 805defa: 482b ldr r0, [pc, #172] ; (805dfa8 ) 805defc: f7f9 f84a bl 8056f94 arm_cmplx_mag_f32(In, Out, Ns); 805df00: 4b1d ldr r3, [pc, #116] ; (805df78 ) 805df02: 681b ldr r3, [r3, #0] 805df04: 461a mov r2, r3 805df06: 4928 ldr r1, [pc, #160] ; (805dfa8 ) 805df08: 4828 ldr r0, [pc, #160] ; (805dfac ) 805df0a: f070 fc7f bl 80ce80c arm_scale_f32(Out, fNrm, In, (Ns >> 1)); 805df0e: 4b1a ldr r3, [pc, #104] ; (805df78 ) 805df10: 681b ldr r3, [r3, #0] 805df12: 085b lsrs r3, r3, #1 805df14: 461a mov r2, r3 805df16: 4925 ldr r1, [pc, #148] ; (805dfac ) 805df18: ed97 0a85 vldr s0, [r7, #532] ; 0x214 805df1c: 4822 ldr r0, [pc, #136] ; (805dfa8 ) 805df1e: f070 fda3 bl 80cea68 //************************************************************************************************************** if(AVG[pardata.AVG] > 1) 805df22: 4b14 ldr r3, [pc, #80] ; (805df74 ) 805df24: 7b5b ldrb r3, [r3, #13] 805df26: b2db uxtb r3, r3 805df28: 461a mov r2, r3 805df2a: 4b21 ldr r3, [pc, #132] ; (805dfb0 ) 805df2c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805df30: 2b01 cmp r3, #1 805df32: d95d bls.n 805dff0 { if(MeanCnt == 1) 805df34: 4b16 ldr r3, [pc, #88] ; (805df90 ) 805df36: 681b ldr r3, [r3, #0] 805df38: 2b01 cmp r3, #1 805df3a: d13b bne.n 805dfb4 FastCopy16(IN_Reg, MEAN_Reg, _2Ns); 805df3c: 4b0e ldr r3, [pc, #56] ; (805df78 ) 805df3e: 681b ldr r3, [r3, #0] 805df40: 005b lsls r3, r3, #1 805df42: 461a mov r2, r3 805df44: 2103 movs r1, #3 805df46: 2001 movs r0, #1 805df48: f007 f94a bl 80651e0 805df4c: e050 b.n 805dff0 805df4e: bf00 nop 805df50: 18000018 .word 0x18000018 805df54: 3e980000 .word 0x3e980000 805df58: 20020dcc .word 0x20020dcc 805df5c: 20020d90 .word 0x20020d90 805df60: 20020d8c .word 0x20020d8c 805df64: 2002166c .word 0x2002166c 805df68: 20021678 .word 0x20021678 805df6c: 20020d9f .word 0x20020d9f 805df70: 20020dcf .word 0x20020dcf 805df74: 20023ea8 .word 0x20023ea8 805df78: 20021d24 .word 0x20021d24 805df7c: 20021d68 .word 0x20021d68 805df80: 20020dc8 .word 0x20020dc8 805df84: 20058060 .word 0x20058060 805df88: 20021579 .word 0x20021579 805df8c: 20020d9e .word 0x20020d9e 805df90: 20020dd8 .word 0x20020dd8 805df94: 20020da8 .word 0x20020da8 805df98: 20020080 .word 0x20020080 805df9c: 20037b20 .word 0x20037b20 805dfa0: 200265a4 .word 0x200265a4 805dfa4: 20025f40 .word 0x20025f40 805dfa8: 20008000 .word 0x20008000 805dfac: 20027a00 .word 0x20027a00 805dfb0: 080f2e78 .word 0x080f2e78 else { scale = 1.0f / ((float32_t) MeanCnt); 805dfb4: 4bae ldr r3, [pc, #696] ; (805e270 ) 805dfb6: 681b ldr r3, [r3, #0] 805dfb8: ee07 3a90 vmov s15, r3 805dfbc: eeb8 7a67 vcvt.f32.u32 s14, s15 805dfc0: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805dfc4: eec6 7a87 vdiv.f32 s15, s13, s14 805dfc8: edc7 7a86 vstr s15, [r7, #536] ; 0x218 ARM_ADD_F32(IN_Reg, MEAN_Reg, MEAN_Reg, _2Ns); 805dfcc: 4ba9 ldr r3, [pc, #676] ; (805e274 ) 805dfce: 681b ldr r3, [r3, #0] 805dfd0: 005b lsls r3, r3, #1 805dfd2: 2203 movs r2, #3 805dfd4: 2103 movs r1, #3 805dfd6: 2001 movs r0, #1 805dfd8: f007 f98e bl 80652f8 ARM_SCALE_F32(MEAN_Reg, scale, IN_Reg, _2Ns); 805dfdc: 4ba5 ldr r3, [pc, #660] ; (805e274 ) 805dfde: 681b ldr r3, [r3, #0] 805dfe0: 005b lsls r3, r3, #1 805dfe2: 461a mov r2, r3 805dfe4: 2101 movs r1, #1 805dfe6: ed97 0a86 vldr s0, [r7, #536] ; 0x218 805dfea: 2003 movs r0, #3 805dfec: f007 fa0a bl 8065404 } } if(pardata.IPR > ACC) { 805dff0: 4ba1 ldr r3, [pc, #644] ; (805e278 ) 805dff2: 785b ldrb r3, [r3, #1] 805dff4: b2db uxtb r3, r3 805dff6: 2b00 cmp r3, #0 805dff8: d001 beq.n 805dffe INTEGR_NEW(); 805dffa: f007 fdff bl 8065bfc } if(MeanCnt == AVG[pardata.AVG]) 805dffe: 4b9e ldr r3, [pc, #632] ; (805e278 ) 805e000: 7b5b ldrb r3, [r3, #13] 805e002: b2db uxtb r3, r3 805e004: 461a mov r2, r3 805e006: 4b9d ldr r3, [pc, #628] ; (805e27c ) 805e008: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805e00c: 461a mov r2, r3 805e00e: 4b98 ldr r3, [pc, #608] ; (805e270 ) 805e010: 681b ldr r3, [r3, #0] 805e012: 429a cmp r2, r3 805e014: f040 8083 bne.w 805e11e { arm_power_f32(In, (Ns >> 1), &skz[pardata.IPR]); 805e018: 4b96 ldr r3, [pc, #600] ; (805e274 ) 805e01a: 681b ldr r3, [r3, #0] 805e01c: 0859 lsrs r1, r3, #1 805e01e: 4b96 ldr r3, [pc, #600] ; (805e278 ) 805e020: 785b ldrb r3, [r3, #1] 805e022: b2db uxtb r3, r3 805e024: 009b lsls r3, r3, #2 805e026: 4a96 ldr r2, [pc, #600] ; (805e280 ) 805e028: 4413 add r3, r2 805e02a: 461a mov r2, r3 805e02c: 4895 ldr r0, [pc, #596] ; (805e284 ) 805e02e: f070 f91b bl 80ce268 skz[pardata.IPR] *= 0.5f; 805e032: 4b91 ldr r3, [pc, #580] ; (805e278 ) 805e034: 785b ldrb r3, [r3, #1] 805e036: b2db uxtb r3, r3 805e038: 4619 mov r1, r3 805e03a: 4a91 ldr r2, [pc, #580] ; (805e280 ) 805e03c: 009b lsls r3, r3, #2 805e03e: 4413 add r3, r2 805e040: edd3 7a00 vldr s15, [r3] 805e044: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805e048: ee67 7a87 vmul.f32 s15, s15, s14 805e04c: 4a8c ldr r2, [pc, #560] ; (805e280 ) 805e04e: 008b lsls r3, r1, #2 805e050: 4413 add r3, r2 805e052: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(skz[pardata.IPR], &skz[pardata.IPR]); 805e056: 4b88 ldr r3, [pc, #544] ; (805e278 ) 805e058: 785b ldrb r3, [r3, #1] 805e05a: b2db uxtb r3, r3 805e05c: 4a88 ldr r2, [pc, #544] ; (805e280 ) 805e05e: 009b lsls r3, r3, #2 805e060: 4413 add r3, r2 805e062: edd3 7a00 vldr s15, [r3] 805e066: 4b84 ldr r3, [pc, #528] ; (805e278 ) 805e068: 785b ldrb r3, [r3, #1] 805e06a: b2db uxtb r3, r3 805e06c: 009b lsls r3, r3, #2 805e06e: 4a84 ldr r2, [pc, #528] ; (805e280 ) 805e070: 4413 add r3, r2 805e072: 4618 mov r0, r3 805e074: eeb0 0a67 vmov.f32 s0, s15 805e078: f7f8 fbea bl 8056850 if(pardata.WIN == HANN) { 805e07c: 4b7e ldr r3, [pc, #504] ; (805e278 ) 805e07e: 7a5b ldrb r3, [r3, #9] 805e080: b2db uxtb r3, r3 805e082: 2b01 cmp r3, #1 805e084: d111 bne.n 805e0aa skz[pardata.IPR] *= 1.64f; 805e086: 4b7c ldr r3, [pc, #496] ; (805e278 ) 805e088: 785b ldrb r3, [r3, #1] 805e08a: b2db uxtb r3, r3 805e08c: 4619 mov r1, r3 805e08e: 4a7c ldr r2, [pc, #496] ; (805e280 ) 805e090: 009b lsls r3, r3, #2 805e092: 4413 add r3, r2 805e094: edd3 7a00 vldr s15, [r3] 805e098: ed9f 7a7b vldr s14, [pc, #492] ; 805e288 805e09c: ee67 7a87 vmul.f32 s15, s15, s14 805e0a0: 4a77 ldr r2, [pc, #476] ; (805e280 ) 805e0a2: 008b lsls r3, r1, #2 805e0a4: 4413 add r3, r2 805e0a6: edc3 7a00 vstr s15, [r3] } FastCopy16(IN_Reg, SCR_Reg, Ns); 805e0aa: 4b72 ldr r3, [pc, #456] ; (805e274 ) 805e0ac: 681b ldr r3, [r3, #0] 805e0ae: 461a mov r2, r3 805e0b0: 2104 movs r1, #4 805e0b2: 2001 movs r0, #1 805e0b4: f007 f894 bl 80651e0 if(pardata.IIN != VOLTS) 805e0b8: 4b6f ldr r3, [pc, #444] ; (805e278 ) 805e0ba: 799b ldrb r3, [r3, #6] 805e0bc: b2db uxtb r3, r3 805e0be: 2b02 cmp r3, #2 805e0c0: d00f beq.n 805e0e2 LinToLog(&skz[pardata.IPR], &skzDB[pardata.IPR]); 805e0c2: 4b6d ldr r3, [pc, #436] ; (805e278 ) 805e0c4: 785b ldrb r3, [r3, #1] 805e0c6: b2db uxtb r3, r3 805e0c8: 009b lsls r3, r3, #2 805e0ca: 4a6d ldr r2, [pc, #436] ; (805e280 ) 805e0cc: 1898 adds r0, r3, r2 805e0ce: 4b6a ldr r3, [pc, #424] ; (805e278 ) 805e0d0: 785b ldrb r3, [r3, #1] 805e0d2: b2db uxtb r3, r3 805e0d4: 009b lsls r3, r3, #2 805e0d6: 4a6d ldr r2, [pc, #436] ; (805e28c ) 805e0d8: 4413 add r3, r2 805e0da: 4619 mov r1, r3 805e0dc: f007 fe34 bl 8065d48 805e0e0: e011 b.n 805e106 else LinToLog_mV(&skz[pardata.IPR], &skzDB[pardata.IPR], pardata.IPR); 805e0e2: 4b65 ldr r3, [pc, #404] ; (805e278 ) 805e0e4: 785b ldrb r3, [r3, #1] 805e0e6: b2db uxtb r3, r3 805e0e8: 009b lsls r3, r3, #2 805e0ea: 4a65 ldr r2, [pc, #404] ; (805e280 ) 805e0ec: 1898 adds r0, r3, r2 805e0ee: 4b62 ldr r3, [pc, #392] ; (805e278 ) 805e0f0: 785b ldrb r3, [r3, #1] 805e0f2: b2db uxtb r3, r3 805e0f4: 009b lsls r3, r3, #2 805e0f6: 4a65 ldr r2, [pc, #404] ; (805e28c ) 805e0f8: 1899 adds r1, r3, r2 805e0fa: 4b5f ldr r3, [pc, #380] ; (805e278 ) 805e0fc: 785b ldrb r3, [r3, #1] 805e0fe: b2db uxtb r3, r3 805e100: 461a mov r2, r3 805e102: f007 fe51 bl 8065da8 MeanCnt = 0; 805e106: 4b5a ldr r3, [pc, #360] ; (805e270 ) 805e108: 2200 movs r2, #0 805e10a: 601a str r2, [r3, #0] READY_TO_SEE = true; 805e10c: 4b60 ldr r3, [pc, #384] ; (805e290 ) 805e10e: 2201 movs r2, #1 805e110: 701a strb r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 805e112: e004 b.n 805e11e } } else { RepeatKm = true; 805e114: 4b5f ldr r3, [pc, #380] ; (805e294 ) 805e116: 2201 movs r2, #1 805e118: 701a strb r2, [r3, #0] } } break; 805e11a: f006 bf18 b.w 8064f4e 805e11e: f006 bf16 b.w 8064f4e case SPEC_OGIB: if(measuring) 805e122: 4b5d ldr r3, [pc, #372] ; (805e298 ) 805e124: 781b ldrb r3, [r3, #0] 805e126: b2db uxtb r3, r3 805e128: 2b00 cmp r3, #0 805e12a: f006 8712 beq.w 8064f52 { GetData(); 805e12e: f007 f9cd bl 80654cc j = 0; 805e132: 2300 movs r3, #0 805e134: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805e138: 4b4f ldr r3, [pc, #316] ; (805e278 ) 805e13a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805e13e: f003 0304 and.w r3, r3, #4 805e142: 2b00 cmp r3, #0 805e144: d005 beq.n 805e152 CalculateGain(Ns); 805e146: 4b4b ldr r3, [pc, #300] ; (805e274 ) 805e148: 681b ldr r3, [r3, #0] 805e14a: 4618 mov r0, r3 805e14c: f7f8 fba2 bl 8056894 805e150: e02e b.n 805e1b0 else { Stability = (Nr * 4) + 1; 805e152: 4b52 ldr r3, [pc, #328] ; (805e29c ) 805e154: 881b ldrh r3, [r3, #0] 805e156: b29b uxth r3, r3 805e158: 009b lsls r3, r3, #2 805e15a: 3301 adds r3, #1 805e15c: 461a mov r2, r3 805e15e: 4b50 ldr r3, [pc, #320] ; (805e2a0 ) 805e160: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805e162: 2300 movs r3, #0 805e164: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e168: e011 b.n 805e18e { if(In16[i].lg > 0xE00000) 805e16a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e16e: 4a4d ldr r2, [pc, #308] ; (805e2a4 ) 805e170: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805e174: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805e178: d904 bls.n 805e184 j++; 805e17a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805e17e: 3301 adds r3, #1 805e180: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805e184: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e188: 3301 adds r3, #1 805e18a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e18e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e192: 4b38 ldr r3, [pc, #224] ; (805e274 ) 805e194: 681b ldr r3, [r3, #0] 805e196: 429a cmp r2, r3 805e198: d3e7 bcc.n 805e16a } if(j >= 2) 805e19a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805e19e: 2b01 cmp r3, #1 805e1a0: d903 bls.n 805e1aa OVERDRIVE = true; 805e1a2: 4b41 ldr r3, [pc, #260] ; (805e2a8 ) 805e1a4: 2201 movs r2, #1 805e1a6: 701a strb r2, [r3, #0] 805e1a8: e002 b.n 805e1b0 else OVERDRIVE = false; 805e1aa: 4b3f ldr r3, [pc, #252] ; (805e2a8 ) 805e1ac: 2200 movs r2, #0 805e1ae: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805e1b0: 4b3e ldr r3, [pc, #248] ; (805e2ac ) 805e1b2: 781b ldrb r3, [r3, #0] 805e1b4: b2db uxtb r3, r3 805e1b6: 2b00 cmp r3, #0 805e1b8: d00a beq.n 805e1d0 { Stability = 0; 805e1ba: 4b39 ldr r3, [pc, #228] ; (805e2a0 ) 805e1bc: 2200 movs r2, #0 805e1be: 601a str r2, [r3, #0] MeanCnt = 0; 805e1c0: 4b2b ldr r3, [pc, #172] ; (805e270 ) 805e1c2: 2200 movs r2, #0 805e1c4: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805e1c6: 4b3a ldr r3, [pc, #232] ; (805e2b0 ) 805e1c8: f04f 32ff mov.w r2, #4294967295 805e1cc: 601a str r2, [r3, #0] 805e1ce: e00d b.n 805e1ec } else { if(Stability <= (Nr * 4)) 805e1d0: 4b32 ldr r3, [pc, #200] ; (805e29c ) 805e1d2: 881b ldrh r3, [r3, #0] 805e1d4: b29b uxth r3, r3 805e1d6: 009b lsls r3, r3, #2 805e1d8: 461a mov r2, r3 805e1da: 4b31 ldr r3, [pc, #196] ; (805e2a0 ) 805e1dc: 681b ldr r3, [r3, #0] 805e1de: 429a cmp r2, r3 805e1e0: d304 bcc.n 805e1ec Stability++; 805e1e2: 4b2f ldr r3, [pc, #188] ; (805e2a0 ) 805e1e4: 681b ldr r3, [r3, #0] 805e1e6: 3301 adds r3, #1 805e1e8: 4a2d ldr r2, [pc, #180] ; (805e2a0 ) 805e1ea: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) // åñëè àâòîóñèëåíèå íîðì 805e1ec: 4b2f ldr r3, [pc, #188] ; (805e2ac ) 805e1ee: 781b ldrb r3, [r3, #0] 805e1f0: b2db uxtb r3, r3 805e1f2: 2b00 cmp r3, #0 805e1f4: f040 828e bne.w 805e714 805e1f8: 4b28 ldr r3, [pc, #160] ; (805e29c ) 805e1fa: 881b ldrh r3, [r3, #0] 805e1fc: b29b uxth r3, r3 805e1fe: 009b lsls r3, r3, #2 805e200: 461a mov r2, r3 805e202: 4b27 ldr r3, [pc, #156] ; (805e2a0 ) 805e204: 681b ldr r3, [r3, #0] 805e206: 429a cmp r2, r3 805e208: f080 8284 bcs.w 805e714 { MeanCnt++; 805e20c: 4b18 ldr r3, [pc, #96] ; (805e270 ) 805e20e: 681b ldr r3, [r3, #0] 805e210: 3301 adds r3, #1 805e212: 4a17 ldr r2, [pc, #92] ; (805e270 ) 805e214: 6013 str r3, [r2, #0] //************************************************************************************************************** fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805e216: 4b17 ldr r3, [pc, #92] ; (805e274 ) 805e218: 681b ldr r3, [r3, #0] 805e21a: 085b lsrs r3, r3, #1 805e21c: ee07 3a90 vmov s15, r3 805e220: eeb8 7a67 vcvt.f32.u32 s14, s15 805e224: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805e228: eec6 7a87 vdiv.f32 s15, s13, s14 805e22c: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805e230: 4b20 ldr r3, [pc, #128] ; (805e2b4 ) 805e232: edd3 7a00 vldr s15, [r3] 805e236: eeb7 7ae7 vcvt.f64.f32 d7, s15 805e23a: ed9f 6b0b vldr d6, [pc, #44] ; 805e268 805e23e: ee27 7b06 vmul.f64 d7, d7, d6 805e242: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805e246: 4b0c ldr r3, [pc, #48] ; (805e278 ) 805e248: edd3 7a04 vldr s15, [r3, #16] 805e24c: eeb7 6ae7 vcvt.f64.f32 d6, s15 805e250: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805e254: ee85 7b06 vdiv.f64 d7, d5, d6 805e258: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805e25c: 2300 movs r3, #0 805e25e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e262: e050 b.n 805e306 805e264: f3af 8000 nop.w 805e268: 18000018 .word 0x18000018 805e26c: 3e980000 .word 0x3e980000 805e270: 20020dd8 .word 0x20020dd8 805e274: 20021d24 .word 0x20021d24 805e278: 20023ea8 .word 0x20023ea8 805e27c: 080f2e78 .word 0x080f2e78 805e280: 20021588 .word 0x20021588 805e284: 20027a00 .word 0x20027a00 805e288: 3fd1eb85 .word 0x3fd1eb85 805e28c: 20021594 .word 0x20021594 805e290: 20020dae .word 0x20020dae 805e294: 20020dcc .word 0x20020dcc 805e298: 20020dcf .word 0x20020dcf 805e29c: 20021d68 .word 0x20021d68 805e2a0: 20020dc8 .word 0x20020dc8 805e2a4: 20058060 .word 0x20058060 805e2a8: 20021579 .word 0x20021579 805e2ac: 20020d9e .word 0x20020d9e 805e2b0: 20020da8 .word 0x20020da8 805e2b4: 20020080 .word 0x20020080 { Buff64[i] = (float64_t) In16[i].lg; 805e2b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e2bc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e2c0: 49ad ldr r1, [pc, #692] ; (805e578 ) 805e2c2: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805e2c6: ee07 2a90 vmov s15, r2 805e2ca: eeb8 7b67 vcvt.f64.u32 d7, s15 805e2ce: 4aab ldr r2, [pc, #684] ; (805e57c ) 805e2d0: 00db lsls r3, r3, #3 805e2d2: 4413 add r3, r2 805e2d4: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805e2d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e2dc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e2e0: 49a6 ldr r1, [pc, #664] ; (805e57c ) 805e2e2: 00d2 lsls r2, r2, #3 805e2e4: 440a add r2, r1 805e2e6: ed92 6b00 vldr d6, [r2] 805e2ea: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805e2ee: ee26 7b07 vmul.f64 d7, d6, d7 805e2f2: 4aa2 ldr r2, [pc, #648] ; (805e57c ) 805e2f4: 00db lsls r3, r3, #3 805e2f6: 4413 add r3, r2 805e2f8: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805e2fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e300: 3301 adds r3, #1 805e302: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e306: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e30a: 4b9d ldr r3, [pc, #628] ; (805e580 ) 805e30c: 681b ldr r3, [r3, #0] 805e30e: 429a cmp r2, r3 805e310: d3d2 bcc.n 805e2b8 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805e312: 4b9b ldr r3, [pc, #620] ; (805e580 ) 805e314: 681b ldr r3, [r3, #0] 805e316: 4a99 ldr r2, [pc, #612] ; (805e57c ) 805e318: 4998 ldr r1, [pc, #608] ; (805e57c ) 805e31a: 489a ldr r0, [pc, #616] ; (805e584 ) 805e31c: f070 f8ee bl 80ce4fc arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805e320: 4b97 ldr r3, [pc, #604] ; (805e580 ) 805e322: 681b ldr r3, [r3, #0] 805e324: 4a95 ldr r2, [pc, #596] ; (805e57c ) 805e326: 4995 ldr r1, [pc, #596] ; (805e57c ) 805e328: 4897 ldr r0, [pc, #604] ; (805e588 ) 805e32a: f070 f8e7 bl 80ce4fc for(i = 0; i < Ns; i++) { 805e32e: 2300 movs r3, #0 805e330: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e334: e014 b.n 805e360 Out[i] = (float32_t) Buff64[i]; 805e336: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e33a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e33e: 498f ldr r1, [pc, #572] ; (805e57c ) 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: 4a8f ldr r2, [pc, #572] ; (805e58c ) 805e34e: 009b lsls r3, r3, #2 805e350: 4413 add r3, r2 805e352: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; 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 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e364: 4b86 ldr r3, [pc, #536] ; (805e580 ) 805e366: 681b ldr r3, [r3, #0] 805e368: 429a cmp r2, r3 805e36a: d3e4 bcc.n 805e336 } //************************************************ FastCopy16(OUT_Reg, CMPLX_A, _2Ns); 805e36c: 4b84 ldr r3, [pc, #528] ; (805e580 ) 805e36e: 681b ldr r3, [r3, #0] 805e370: 005b lsls r3, r3, #1 805e372: 461a mov r2, r3 805e374: 2105 movs r1, #5 805e376: 2009 movs r0, #9 805e378: f006 ff32 bl 80651e0 arm_fill_f32(0.0f, &Image(0), Ns); 805e37c: 4b80 ldr r3, [pc, #512] ; (805e580 ) 805e37e: 681b ldr r3, [r3, #0] 805e380: 4619 mov r1, r3 805e382: 4883 ldr r0, [pc, #524] ; (805e590 ) 805e384: ed9f 0a83 vldr s0, [pc, #524] ; 805e594 805e388: f06f fe68 bl 80ce05c MyFFT(Ns, 0); 805e38c: 4b7c ldr r3, [pc, #496] ; (805e580 ) 805e38e: 681b ldr r3, [r3, #0] 805e390: 2100 movs r1, #0 805e392: 4618 mov r0, r3 805e394: f009 fb04 bl 80679a0 for(i = Ns / 2; i < Ns; i++) 805e398: 4b79 ldr r3, [pc, #484] ; (805e580 ) 805e39a: 681b ldr r3, [r3, #0] 805e39c: 085b lsrs r3, r3, #1 805e39e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e3a2: e016 b.n 805e3d2 { Real(i) = 0; 805e3a4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e3a8: 009a lsls r2, r3, #2 805e3aa: 4b7b ldr r3, [pc, #492] ; (805e598 ) 805e3ac: 4413 add r3, r2 805e3ae: 461a mov r2, r3 805e3b0: f04f 0300 mov.w r3, #0 805e3b4: 6013 str r3, [r2, #0] Image(i) = 0; 805e3b6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e3ba: 009a lsls r2, r3, #2 805e3bc: 4b74 ldr r3, [pc, #464] ; (805e590 ) 805e3be: 4413 add r3, r2 805e3c0: 461a mov r2, r3 805e3c2: f04f 0300 mov.w r3, #0 805e3c6: 6013 str r3, [r2, #0] for(i = Ns / 2; i < Ns; i++) 805e3c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e3cc: 3301 adds r3, #1 805e3ce: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e3d2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e3d6: 4b6a ldr r3, [pc, #424] ; (805e580 ) 805e3d8: 681b ldr r3, [r3, #0] 805e3da: 429a cmp r2, r3 805e3dc: d3e2 bcc.n 805e3a4 } for(i = 0; i < Ns / 2; i++) 805e3de: 2300 movs r3, #0 805e3e0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e3e4: e026 b.n 805e434 { Real(i) = Real(i) * 2.0f; 805e3e6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e3ea: 009a lsls r2, r3, #2 805e3ec: 4b6a ldr r3, [pc, #424] ; (805e598 ) 805e3ee: 4413 add r3, r2 805e3f0: 4619 mov r1, r3 805e3f2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e3f6: 009a lsls r2, r3, #2 805e3f8: 4b67 ldr r3, [pc, #412] ; (805e598 ) 805e3fa: 4413 add r3, r2 805e3fc: edd3 7a00 vldr s15, [r3] 805e400: ee77 7aa7 vadd.f32 s15, s15, s15 805e404: edc1 7a00 vstr s15, [r1] Image(i) = Image(i) * 2.0f; 805e408: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e40c: 009a lsls r2, r3, #2 805e40e: 4b60 ldr r3, [pc, #384] ; (805e590 ) 805e410: 4413 add r3, r2 805e412: 4619 mov r1, r3 805e414: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e418: 009a lsls r2, r3, #2 805e41a: 4b5d ldr r3, [pc, #372] ; (805e590 ) 805e41c: 4413 add r3, r2 805e41e: edd3 7a00 vldr s15, [r3] 805e422: ee77 7aa7 vadd.f32 s15, s15, s15 805e426: edc1 7a00 vstr s15, [r1] for(i = 0; i < Ns / 2; i++) 805e42a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e42e: 3301 adds r3, #1 805e430: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e434: 4b52 ldr r3, [pc, #328] ; (805e580 ) 805e436: 681b ldr r3, [r3, #0] 805e438: 085a lsrs r2, r3, #1 805e43a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e43e: 429a cmp r2, r3 805e440: d8d1 bhi.n 805e3e6 } MyFFT(Ns, -1); 805e442: 4b4f ldr r3, [pc, #316] ; (805e580 ) 805e444: 681b ldr r3, [r3, #0] 805e446: f04f 31ff mov.w r1, #4294967295 805e44a: 4618 mov r0, r3 805e44c: f009 faa8 bl 80679a0 for(i = 0; i < Ns; i++) 805e450: 2300 movs r3, #0 805e452: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e456: e03e b.n 805e4d6 { In[i] = (Out[i] * Out[i]) + (Image(i) * Image(i)); 805e458: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e45c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e460: 494a ldr r1, [pc, #296] ; (805e58c ) 805e462: 009b lsls r3, r3, #2 805e464: 440b add r3, r1 805e466: ed93 7a00 vldr s14, [r3] 805e46a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e46e: 4947 ldr r1, [pc, #284] ; (805e58c ) 805e470: 009b lsls r3, r3, #2 805e472: 440b add r3, r1 805e474: edd3 7a00 vldr s15, [r3] 805e478: ee27 7a27 vmul.f32 s14, s14, s15 805e47c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e480: 0099 lsls r1, r3, #2 805e482: 4b43 ldr r3, [pc, #268] ; (805e590 ) 805e484: 440b add r3, r1 805e486: edd3 6a00 vldr s13, [r3] 805e48a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e48e: 0099 lsls r1, r3, #2 805e490: 4b3f ldr r3, [pc, #252] ; (805e590 ) 805e492: 440b add r3, r1 805e494: edd3 7a00 vldr s15, [r3] 805e498: ee66 7aa7 vmul.f32 s15, s13, s15 805e49c: ee77 7a27 vadd.f32 s15, s14, s15 805e4a0: 493e ldr r1, [pc, #248] ; (805e59c ) 805e4a2: 0093 lsls r3, r2, #2 805e4a4: 440b add r3, r1 805e4a6: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(In[i], &Out[i]); 805e4aa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e4ae: 4a3b ldr r2, [pc, #236] ; (805e59c ) 805e4b0: 009b lsls r3, r3, #2 805e4b2: 4413 add r3, r2 805e4b4: edd3 7a00 vldr s15, [r3] 805e4b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e4bc: 009b lsls r3, r3, #2 805e4be: 4a33 ldr r2, [pc, #204] ; (805e58c ) 805e4c0: 4413 add r3, r2 805e4c2: 4618 mov r0, r3 805e4c4: eeb0 0a67 vmov.f32 s0, s15 805e4c8: f7f8 f9c2 bl 8056850 for(i = 0; i < Ns; i++) 805e4cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e4d0: 3301 adds r3, #1 805e4d2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e4d6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e4da: 4b29 ldr r3, [pc, #164] ; (805e580 ) 805e4dc: 681b ldr r3, [r3, #0] 805e4de: 429a cmp r2, r3 805e4e0: d3ba bcc.n 805e458 } arm_mean_f32(Out, Ns, &fl); 805e4e2: 4b27 ldr r3, [pc, #156] ; (805e580 ) 805e4e4: 681b ldr r3, [r3, #0] 805e4e6: f507 72de add.w r2, r7, #444 ; 0x1bc 805e4ea: 4619 mov r1, r3 805e4ec: 4827 ldr r0, [pc, #156] ; (805e58c ) 805e4ee: f06f ff5b bl 80ce3a8 arm_offset_f32(Out, -fl, Out, Ns); 805e4f2: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805e4f6: eef1 7a67 vneg.f32 s15, s15 805e4fa: 4b21 ldr r3, [pc, #132] ; (805e580 ) 805e4fc: 681b ldr r3, [r3, #0] 805e4fe: 461a mov r2, r3 805e500: 4922 ldr r1, [pc, #136] ; (805e58c ) 805e502: eeb0 0a67 vmov.f32 s0, s15 805e506: 4821 ldr r0, [pc, #132] ; (805e58c ) 805e508: f070 fae4 bl 80cead4 //*************************************************** WindowFunc(pardata.WIN, Ns); 805e50c: 4b24 ldr r3, [pc, #144] ; (805e5a0 ) 805e50e: 7a5b ldrb r3, [r3, #9] 805e510: b2da uxtb r2, r3 805e512: 4b1b ldr r3, [pc, #108] ; (805e580 ) 805e514: 681b ldr r3, [r3, #0] 805e516: b29b uxth r3, r3 805e518: 4619 mov r1, r3 805e51a: 4610 mov r0, r2 805e51c: f007 f866 bl 80655ec initFFT(Out, In, Forward); 805e520: 2200 movs r2, #0 805e522: 491e ldr r1, [pc, #120] ; (805e59c ) 805e524: 4819 ldr r0, [pc, #100] ; (805e58c ) 805e526: f7f8 fd35 bl 8056f94 arm_cmplx_mag_f32(In, Out, Ns); 805e52a: 4b15 ldr r3, [pc, #84] ; (805e580 ) 805e52c: 681b ldr r3, [r3, #0] 805e52e: 461a mov r2, r3 805e530: 4916 ldr r1, [pc, #88] ; (805e58c ) 805e532: 481a ldr r0, [pc, #104] ; (805e59c ) 805e534: f070 f96a bl 80ce80c arm_scale_f32(Out, fNrm, In, (Ns >> 1)); 805e538: 4b11 ldr r3, [pc, #68] ; (805e580 ) 805e53a: 681b ldr r3, [r3, #0] 805e53c: 085b lsrs r3, r3, #1 805e53e: 461a mov r2, r3 805e540: 4916 ldr r1, [pc, #88] ; (805e59c ) 805e542: ed97 0a85 vldr s0, [r7, #532] ; 0x214 805e546: 4811 ldr r0, [pc, #68] ; (805e58c ) 805e548: f070 fa8e bl 80cea68 if(AVG[pardata.AVG] > 1) 805e54c: 4b14 ldr r3, [pc, #80] ; (805e5a0 ) 805e54e: 7b5b ldrb r3, [r3, #13] 805e550: b2db uxtb r3, r3 805e552: 461a mov r2, r3 805e554: 4b13 ldr r3, [pc, #76] ; (805e5a4 ) 805e556: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805e55a: 2b01 cmp r3, #1 805e55c: d944 bls.n 805e5e8 { if(MeanCnt == 1) 805e55e: 4b12 ldr r3, [pc, #72] ; (805e5a8 ) 805e560: 681b ldr r3, [r3, #0] 805e562: 2b01 cmp r3, #1 805e564: d122 bne.n 805e5ac FastCopy16(IN_Reg, MEAN_Reg, _2Ns); 805e566: 4b06 ldr r3, [pc, #24] ; (805e580 ) 805e568: 681b ldr r3, [r3, #0] 805e56a: 005b lsls r3, r3, #1 805e56c: 461a mov r2, r3 805e56e: 2103 movs r1, #3 805e570: 2001 movs r0, #1 805e572: f006 fe35 bl 80651e0 805e576: e037 b.n 805e5e8 805e578: 20058060 .word 0x20058060 805e57c: 20037b20 .word 0x20037b20 805e580: 20021d24 .word 0x20021d24 805e584: 200265a4 .word 0x200265a4 805e588: 20025f40 .word 0x20025f40 805e58c: 20008000 .word 0x20008000 805e590: 64098000 .word 0x64098000 805e594: 00000000 .word 0x00000000 805e598: 64090000 .word 0x64090000 805e59c: 20027a00 .word 0x20027a00 805e5a0: 20023ea8 .word 0x20023ea8 805e5a4: 080f2e78 .word 0x080f2e78 805e5a8: 20020dd8 .word 0x20020dd8 else { scale = 1.0f / ((float32_t) MeanCnt); 805e5ac: 4bb2 ldr r3, [pc, #712] ; (805e878 ) 805e5ae: 681b ldr r3, [r3, #0] 805e5b0: ee07 3a90 vmov s15, r3 805e5b4: eeb8 7a67 vcvt.f32.u32 s14, s15 805e5b8: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805e5bc: eec6 7a87 vdiv.f32 s15, s13, s14 805e5c0: edc7 7a86 vstr s15, [r7, #536] ; 0x218 ARM_ADD_F32(IN_Reg, MEAN_Reg, MEAN_Reg, _2Ns); 805e5c4: 4bad ldr r3, [pc, #692] ; (805e87c ) 805e5c6: 681b ldr r3, [r3, #0] 805e5c8: 005b lsls r3, r3, #1 805e5ca: 2203 movs r2, #3 805e5cc: 2103 movs r1, #3 805e5ce: 2001 movs r0, #1 805e5d0: f006 fe92 bl 80652f8 ARM_SCALE_F32(MEAN_Reg, scale, IN_Reg, _2Ns); 805e5d4: 4ba9 ldr r3, [pc, #676] ; (805e87c ) 805e5d6: 681b ldr r3, [r3, #0] 805e5d8: 005b lsls r3, r3, #1 805e5da: 461a mov r2, r3 805e5dc: 2101 movs r1, #1 805e5de: ed97 0a86 vldr s0, [r7, #536] ; 0x218 805e5e2: 2003 movs r0, #3 805e5e4: f006 ff0e bl 8065404 } } if(pardata.IPR > ACC) { 805e5e8: 4ba5 ldr r3, [pc, #660] ; (805e880 ) 805e5ea: 785b ldrb r3, [r3, #1] 805e5ec: b2db uxtb r3, r3 805e5ee: 2b00 cmp r3, #0 805e5f0: d001 beq.n 805e5f6 INTEGR_NEW(); 805e5f2: f007 fb03 bl 8065bfc } if(MeanCnt == AVG[pardata.AVG]) 805e5f6: 4ba2 ldr r3, [pc, #648] ; (805e880 ) 805e5f8: 7b5b ldrb r3, [r3, #13] 805e5fa: b2db uxtb r3, r3 805e5fc: 461a mov r2, r3 805e5fe: 4ba1 ldr r3, [pc, #644] ; (805e884 ) 805e600: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805e604: 461a mov r2, r3 805e606: 4b9c ldr r3, [pc, #624] ; (805e878 ) 805e608: 681b ldr r3, [r3, #0] 805e60a: 429a cmp r2, r3 805e60c: f040 8087 bne.w 805e71e { In[0] = 0.0f; 805e610: 4b9d ldr r3, [pc, #628] ; (805e888 ) 805e612: f04f 0200 mov.w r2, #0 805e616: 601a str r2, [r3, #0] arm_power_f32(In, (Ns >> 1), &skz[pardata.IPR]); 805e618: 4b98 ldr r3, [pc, #608] ; (805e87c ) 805e61a: 681b ldr r3, [r3, #0] 805e61c: 0859 lsrs r1, r3, #1 805e61e: 4b98 ldr r3, [pc, #608] ; (805e880 ) 805e620: 785b ldrb r3, [r3, #1] 805e622: b2db uxtb r3, r3 805e624: 009b lsls r3, r3, #2 805e626: 4a99 ldr r2, [pc, #612] ; (805e88c ) 805e628: 4413 add r3, r2 805e62a: 461a mov r2, r3 805e62c: 4896 ldr r0, [pc, #600] ; (805e888 ) 805e62e: f06f fe1b bl 80ce268 skz[pardata.IPR] *= 0.5f; 805e632: 4b93 ldr r3, [pc, #588] ; (805e880 ) 805e634: 785b ldrb r3, [r3, #1] 805e636: b2db uxtb r3, r3 805e638: 4619 mov r1, r3 805e63a: 4a94 ldr r2, [pc, #592] ; (805e88c ) 805e63c: 009b lsls r3, r3, #2 805e63e: 4413 add r3, r2 805e640: edd3 7a00 vldr s15, [r3] 805e644: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805e648: ee67 7a87 vmul.f32 s15, s15, s14 805e64c: 4a8f ldr r2, [pc, #572] ; (805e88c ) 805e64e: 008b lsls r3, r1, #2 805e650: 4413 add r3, r2 805e652: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(skz[pardata.IPR], &skz[pardata.IPR]); 805e656: 4b8a ldr r3, [pc, #552] ; (805e880 ) 805e658: 785b ldrb r3, [r3, #1] 805e65a: b2db uxtb r3, r3 805e65c: 4a8b ldr r2, [pc, #556] ; (805e88c ) 805e65e: 009b lsls r3, r3, #2 805e660: 4413 add r3, r2 805e662: edd3 7a00 vldr s15, [r3] 805e666: 4b86 ldr r3, [pc, #536] ; (805e880 ) 805e668: 785b ldrb r3, [r3, #1] 805e66a: b2db uxtb r3, r3 805e66c: 009b lsls r3, r3, #2 805e66e: 4a87 ldr r2, [pc, #540] ; (805e88c ) 805e670: 4413 add r3, r2 805e672: 4618 mov r0, r3 805e674: eeb0 0a67 vmov.f32 s0, s15 805e678: f7f8 f8ea bl 8056850 if(pardata.WIN == HANN) { 805e67c: 4b80 ldr r3, [pc, #512] ; (805e880 ) 805e67e: 7a5b ldrb r3, [r3, #9] 805e680: b2db uxtb r3, r3 805e682: 2b01 cmp r3, #1 805e684: d111 bne.n 805e6aa skz[pardata.IPR] *= 1.64f; 805e686: 4b7e ldr r3, [pc, #504] ; (805e880 ) 805e688: 785b ldrb r3, [r3, #1] 805e68a: b2db uxtb r3, r3 805e68c: 4619 mov r1, r3 805e68e: 4a7f ldr r2, [pc, #508] ; (805e88c ) 805e690: 009b lsls r3, r3, #2 805e692: 4413 add r3, r2 805e694: edd3 7a00 vldr s15, [r3] 805e698: ed9f 7a7d vldr s14, [pc, #500] ; 805e890 805e69c: ee67 7a87 vmul.f32 s15, s15, s14 805e6a0: 4a7a ldr r2, [pc, #488] ; (805e88c ) 805e6a2: 008b lsls r3, r1, #2 805e6a4: 4413 add r3, r2 805e6a6: edc3 7a00 vstr s15, [r3] } FastCopy16(IN_Reg, SCR_Reg, Ns); 805e6aa: 4b74 ldr r3, [pc, #464] ; (805e87c ) 805e6ac: 681b ldr r3, [r3, #0] 805e6ae: 461a mov r2, r3 805e6b0: 2104 movs r1, #4 805e6b2: 2001 movs r0, #1 805e6b4: f006 fd94 bl 80651e0 if(pardata.IIN != VOLTS) 805e6b8: 4b71 ldr r3, [pc, #452] ; (805e880 ) 805e6ba: 799b ldrb r3, [r3, #6] 805e6bc: b2db uxtb r3, r3 805e6be: 2b02 cmp r3, #2 805e6c0: d00f beq.n 805e6e2 LinToLog(&skz[pardata.IPR], &skzDB[pardata.IPR]); 805e6c2: 4b6f ldr r3, [pc, #444] ; (805e880 ) 805e6c4: 785b ldrb r3, [r3, #1] 805e6c6: b2db uxtb r3, r3 805e6c8: 009b lsls r3, r3, #2 805e6ca: 4a70 ldr r2, [pc, #448] ; (805e88c ) 805e6cc: 1898 adds r0, r3, r2 805e6ce: 4b6c ldr r3, [pc, #432] ; (805e880 ) 805e6d0: 785b ldrb r3, [r3, #1] 805e6d2: b2db uxtb r3, r3 805e6d4: 009b lsls r3, r3, #2 805e6d6: 4a6f ldr r2, [pc, #444] ; (805e894 ) 805e6d8: 4413 add r3, r2 805e6da: 4619 mov r1, r3 805e6dc: f007 fb34 bl 8065d48 805e6e0: e011 b.n 805e706 else LinToLog_mV(&skz[pardata.IPR], &skzDB[pardata.IPR], pardata.IPR); 805e6e2: 4b67 ldr r3, [pc, #412] ; (805e880 ) 805e6e4: 785b ldrb r3, [r3, #1] 805e6e6: b2db uxtb r3, r3 805e6e8: 009b lsls r3, r3, #2 805e6ea: 4a68 ldr r2, [pc, #416] ; (805e88c ) 805e6ec: 1898 adds r0, r3, r2 805e6ee: 4b64 ldr r3, [pc, #400] ; (805e880 ) 805e6f0: 785b ldrb r3, [r3, #1] 805e6f2: b2db uxtb r3, r3 805e6f4: 009b lsls r3, r3, #2 805e6f6: 4a67 ldr r2, [pc, #412] ; (805e894 ) 805e6f8: 1899 adds r1, r3, r2 805e6fa: 4b61 ldr r3, [pc, #388] ; (805e880 ) 805e6fc: 785b ldrb r3, [r3, #1] 805e6fe: b2db uxtb r3, r3 805e700: 461a mov r2, r3 805e702: f007 fb51 bl 8065da8 MeanCnt = 0; 805e706: 4b5c ldr r3, [pc, #368] ; (805e878 ) 805e708: 2200 movs r2, #0 805e70a: 601a str r2, [r3, #0] READY_TO_SEE = true; 805e70c: 4b62 ldr r3, [pc, #392] ; (805e898 ) 805e70e: 2201 movs r2, #1 805e710: 701a strb r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 805e712: e004 b.n 805e71e } } else { RepeatKm = true; 805e714: 4b61 ldr r3, [pc, #388] ; (805e89c ) 805e716: 2201 movs r2, #1 805e718: 701a strb r2, [r3, #0] } } break; 805e71a: f006 bc1a b.w 8064f52 805e71e: f006 bc18 b.w 8064f52 case SPEC_OKT: if(measuring) 805e722: 4b5f ldr r3, [pc, #380] ; (805e8a0 ) 805e724: 781b ldrb r3, [r3, #0] 805e726: b2db uxtb r3, r3 805e728: 2b00 cmp r3, #0 805e72a: f006 8414 beq.w 8064f56 { GetData(); 805e72e: f006 fecd bl 80654cc j = 0; 805e732: 2300 movs r3, #0 805e734: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805e738: 4b51 ldr r3, [pc, #324] ; (805e880 ) 805e73a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805e73e: f003 0304 and.w r3, r3, #4 805e742: 2b00 cmp r3, #0 805e744: d005 beq.n 805e752 CalculateGain(Ns); 805e746: 4b4d ldr r3, [pc, #308] ; (805e87c ) 805e748: 681b ldr r3, [r3, #0] 805e74a: 4618 mov r0, r3 805e74c: f7f8 f8a2 bl 8056894 805e750: e02e b.n 805e7b0 else { Stability = (Nr * 4) + 1; 805e752: 4b54 ldr r3, [pc, #336] ; (805e8a4 ) 805e754: 881b ldrh r3, [r3, #0] 805e756: b29b uxth r3, r3 805e758: 009b lsls r3, r3, #2 805e75a: 3301 adds r3, #1 805e75c: 461a mov r2, r3 805e75e: 4b52 ldr r3, [pc, #328] ; (805e8a8 ) 805e760: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805e762: 2300 movs r3, #0 805e764: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e768: e011 b.n 805e78e { if(In16[i].lg > 0xE00000) 805e76a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e76e: 4a4f ldr r2, [pc, #316] ; (805e8ac ) 805e770: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805e774: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805e778: d904 bls.n 805e784 j++; 805e77a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805e77e: 3301 adds r3, #1 805e780: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805e784: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e788: 3301 adds r3, #1 805e78a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e78e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e792: 4b3a ldr r3, [pc, #232] ; (805e87c ) 805e794: 681b ldr r3, [r3, #0] 805e796: 429a cmp r2, r3 805e798: d3e7 bcc.n 805e76a } if(j >= 2) 805e79a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805e79e: 2b01 cmp r3, #1 805e7a0: d903 bls.n 805e7aa OVERDRIVE = true; 805e7a2: 4b43 ldr r3, [pc, #268] ; (805e8b0 ) 805e7a4: 2201 movs r2, #1 805e7a6: 701a strb r2, [r3, #0] 805e7a8: e002 b.n 805e7b0 else OVERDRIVE = false; 805e7aa: 4b41 ldr r3, [pc, #260] ; (805e8b0 ) 805e7ac: 2200 movs r2, #0 805e7ae: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805e7b0: 4b40 ldr r3, [pc, #256] ; (805e8b4 ) 805e7b2: 781b ldrb r3, [r3, #0] 805e7b4: b2db uxtb r3, r3 805e7b6: 2b00 cmp r3, #0 805e7b8: d00a beq.n 805e7d0 { Stability = 0; 805e7ba: 4b3b ldr r3, [pc, #236] ; (805e8a8 ) 805e7bc: 2200 movs r2, #0 805e7be: 601a str r2, [r3, #0] MeanCnt = 0; 805e7c0: 4b2d ldr r3, [pc, #180] ; (805e878 ) 805e7c2: 2200 movs r2, #0 805e7c4: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805e7c6: 4b3c ldr r3, [pc, #240] ; (805e8b8 ) 805e7c8: f04f 32ff mov.w r2, #4294967295 805e7cc: 601a str r2, [r3, #0] 805e7ce: e00d b.n 805e7ec } else { if(Stability <= (Nr * 4)) 805e7d0: 4b34 ldr r3, [pc, #208] ; (805e8a4 ) 805e7d2: 881b ldrh r3, [r3, #0] 805e7d4: b29b uxth r3, r3 805e7d6: 009b lsls r3, r3, #2 805e7d8: 461a mov r2, r3 805e7da: 4b33 ldr r3, [pc, #204] ; (805e8a8 ) 805e7dc: 681b ldr r3, [r3, #0] 805e7de: 429a cmp r2, r3 805e7e0: d304 bcc.n 805e7ec Stability++; 805e7e2: 4b31 ldr r3, [pc, #196] ; (805e8a8 ) 805e7e4: 681b ldr r3, [r3, #0] 805e7e6: 3301 adds r3, #1 805e7e8: 4a2f ldr r2, [pc, #188] ; (805e8a8 ) 805e7ea: 6013 str r3, [r2, #0] } float32_t Octaves[15]; if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805e7ec: 4b31 ldr r3, [pc, #196] ; (805e8b4 ) 805e7ee: 781b ldrb r3, [r3, #0] 805e7f0: b2db uxtb r3, r3 805e7f2: 2b00 cmp r3, #0 805e7f4: f041 835b bne.w 805feae 805e7f8: 4b2a ldr r3, [pc, #168] ; (805e8a4 ) 805e7fa: 881b ldrh r3, [r3, #0] 805e7fc: b29b uxth r3, r3 805e7fe: 009b lsls r3, r3, #2 805e800: 461a mov r2, r3 805e802: 4b29 ldr r3, [pc, #164] ; (805e8a8 ) 805e804: 681b ldr r3, [r3, #0] 805e806: 429a cmp r2, r3 805e808: f081 8351 bcs.w 805feae { uint64_t cntcnt = DWT->CYCCNT; 805e80c: 4b2b ldr r3, [pc, #172] ; (805e8bc ) 805e80e: 685b ldr r3, [r3, #4] 805e810: f04f 0400 mov.w r4, #0 805e814: f507 72f8 add.w r2, r7, #496 ; 0x1f0 805e818: e882 0018 stmia.w r2, {r3, r4} fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805e81c: 4b17 ldr r3, [pc, #92] ; (805e87c ) 805e81e: 681b ldr r3, [r3, #0] 805e820: 085b lsrs r3, r3, #1 805e822: ee07 3a90 vmov s15, r3 805e826: eeb8 7a67 vcvt.f32.u32 s14, s15 805e82a: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805e82e: eec6 7a87 vdiv.f32 s15, s13, s14 805e832: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805e836: 4b22 ldr r3, [pc, #136] ; (805e8c0 ) 805e838: edd3 7a00 vldr s15, [r3] 805e83c: eeb7 7ae7 vcvt.f64.f32 d7, s15 805e840: ed9f 6b0b vldr d6, [pc, #44] ; 805e870 805e844: ee27 7b06 vmul.f64 d7, d7, d6 805e848: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805e84c: 4b0c ldr r3, [pc, #48] ; (805e880 ) 805e84e: edd3 7a04 vldr s15, [r3, #16] 805e852: eeb7 6ae7 vcvt.f64.f32 d6, s15 805e856: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805e85a: ee85 7b06 vdiv.f64 d7, d5, d6 805e85e: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805e862: 2300 movs r3, #0 805e864: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e868: e053 b.n 805e912 805e86a: bf00 nop 805e86c: f3af 8000 nop.w 805e870: 18000018 .word 0x18000018 805e874: 3e980000 .word 0x3e980000 805e878: 20020dd8 .word 0x20020dd8 805e87c: 20021d24 .word 0x20021d24 805e880: 20023ea8 .word 0x20023ea8 805e884: 080f2e78 .word 0x080f2e78 805e888: 20027a00 .word 0x20027a00 805e88c: 20021588 .word 0x20021588 805e890: 3fd1eb85 .word 0x3fd1eb85 805e894: 20021594 .word 0x20021594 805e898: 20020dae .word 0x20020dae 805e89c: 20020dcc .word 0x20020dcc 805e8a0: 20020dcf .word 0x20020dcf 805e8a4: 20021d68 .word 0x20021d68 805e8a8: 20020dc8 .word 0x20020dc8 805e8ac: 20058060 .word 0x20058060 805e8b0: 20021579 .word 0x20021579 805e8b4: 20020d9e .word 0x20020d9e 805e8b8: 20020da8 .word 0x20020da8 805e8bc: e0001000 .word 0xe0001000 805e8c0: 20020080 .word 0x20020080 { Buff64[i] = (float64_t) In16[i].lg; 805e8c4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e8c8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e8cc: 49b8 ldr r1, [pc, #736] ; (805ebb0 ) 805e8ce: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805e8d2: ee07 2a90 vmov s15, r2 805e8d6: eeb8 7b67 vcvt.f64.u32 d7, s15 805e8da: 4ab6 ldr r2, [pc, #728] ; (805ebb4 ) 805e8dc: 00db lsls r3, r3, #3 805e8de: 4413 add r3, r2 805e8e0: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805e8e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e8e8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e8ec: 49b1 ldr r1, [pc, #708] ; (805ebb4 ) 805e8ee: 00d2 lsls r2, r2, #3 805e8f0: 440a add r2, r1 805e8f2: ed92 6b00 vldr d6, [r2] 805e8f6: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805e8fa: ee26 7b07 vmul.f64 d7, d6, d7 805e8fe: 4aad ldr r2, [pc, #692] ; (805ebb4 ) 805e900: 00db lsls r3, r3, #3 805e902: 4413 add r3, r2 805e904: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805e908: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e90c: 3301 adds r3, #1 805e90e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e912: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e916: 4ba8 ldr r3, [pc, #672] ; (805ebb8 ) 805e918: 681b ldr r3, [r3, #0] 805e91a: 429a cmp r2, r3 805e91c: d3d2 bcc.n 805e8c4 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805e91e: 4ba6 ldr r3, [pc, #664] ; (805ebb8 ) 805e920: 681b ldr r3, [r3, #0] 805e922: 4aa4 ldr r2, [pc, #656] ; (805ebb4 ) 805e924: 49a3 ldr r1, [pc, #652] ; (805ebb4 ) 805e926: 48a5 ldr r0, [pc, #660] ; (805ebbc ) 805e928: f06f fde8 bl 80ce4fc if(pardata.IPR == ACC) 805e92c: 4ba4 ldr r3, [pc, #656] ; (805ebc0 ) 805e92e: 785b ldrb r3, [r3, #1] 805e930: b2db uxtb r3, r3 805e932: 2b00 cmp r3, #0 805e934: d107 bne.n 805e946 { arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805e936: 4ba0 ldr r3, [pc, #640] ; (805ebb8 ) 805e938: 681b ldr r3, [r3, #0] 805e93a: 4a9e ldr r2, [pc, #632] ; (805ebb4 ) 805e93c: 499d ldr r1, [pc, #628] ; (805ebb4 ) 805e93e: 48a1 ldr r0, [pc, #644] ; (805ebc4 ) 805e940: f06f fddc bl 80ce4fc 805e944: e026 b.n 805e994 } else if(pardata.IPR == VEL) 805e946: 4b9e ldr r3, [pc, #632] ; (805ebc0 ) 805e948: 785b ldrb r3, [r3, #1] 805e94a: b2db uxtb r3, r3 805e94c: 2b01 cmp r3, #1 805e94e: d10e bne.n 805e96e { arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, Buff64, Ns); 805e950: 4b99 ldr r3, [pc, #612] ; (805ebb8 ) 805e952: 681b ldr r3, [r3, #0] 805e954: 4a97 ldr r2, [pc, #604] ; (805ebb4 ) 805e956: 4997 ldr r1, [pc, #604] ; (805ebb4 ) 805e958: 489b ldr r0, [pc, #620] ; (805ebc8 ) 805e95a: f06f fdcf bl 80ce4fc arm_biquad_cascade_df2T_f64(&S_HP_VEL, Buff64, Buff64, Ns); 805e95e: 4b96 ldr r3, [pc, #600] ; (805ebb8 ) 805e960: 681b ldr r3, [r3, #0] 805e962: 4a94 ldr r2, [pc, #592] ; (805ebb4 ) 805e964: 4993 ldr r1, [pc, #588] ; (805ebb4 ) 805e966: 4899 ldr r0, [pc, #612] ; (805ebcc ) 805e968: f06f fdc8 bl 80ce4fc 805e96c: e012 b.n 805e994 } else if(pardata.IPR == DIS) 805e96e: 4b94 ldr r3, [pc, #592] ; (805ebc0 ) 805e970: 785b ldrb r3, [r3, #1] 805e972: b2db uxtb r3, r3 805e974: 2b02 cmp r3, #2 805e976: d10d bne.n 805e994 { arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, Buff64, Ns); 805e978: 4b8f ldr r3, [pc, #572] ; (805ebb8 ) 805e97a: 681b ldr r3, [r3, #0] 805e97c: 4a8d ldr r2, [pc, #564] ; (805ebb4 ) 805e97e: 498d ldr r1, [pc, #564] ; (805ebb4 ) 805e980: 4893 ldr r0, [pc, #588] ; (805ebd0 ) 805e982: f06f fdbb bl 80ce4fc arm_biquad_cascade_df2T_f64(&S_HP_DIS, Buff64, Buff64, Ns); 805e986: 4b8c ldr r3, [pc, #560] ; (805ebb8 ) 805e988: 681b ldr r3, [r3, #0] 805e98a: 4a8a ldr r2, [pc, #552] ; (805ebb4 ) 805e98c: 4989 ldr r1, [pc, #548] ; (805ebb4 ) 805e98e: 4891 ldr r0, [pc, #580] ; (805ebd4 ) 805e990: f06f fdb4 bl 80ce4fc } //** 8000 arm_biquad_cascade_df2T_f64(&S_IIR_8000Hz, &Buff64[0], &Buff64[Ns], 8192); 805e994: 4b88 ldr r3, [pc, #544] ; (805ebb8 ) 805e996: 681b ldr r3, [r3, #0] 805e998: 00db lsls r3, r3, #3 805e99a: 4a86 ldr r2, [pc, #536] ; (805ebb4 ) 805e99c: 441a add r2, r3 805e99e: f44f 5300 mov.w r3, #8192 ; 0x2000 805e9a2: 4984 ldr r1, [pc, #528] ; (805ebb4 ) 805e9a4: 488c ldr r0, [pc, #560] ; (805ebd8 ) 805e9a6: f06f fda9 bl 80ce4fc for(i = 0; i < 8192; 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: 4a80 ldr r2, [pc, #512] ; (805ebb8 ) 805e9b8: 6811 ldr r1, [r2, #0] 805e9ba: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e9be: 440a add r2, r1 805e9c0: 497c ldr r1, [pc, #496] ; (805ebb4 ) 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: 4a83 ldr r2, [pc, #524] ; (805ebdc ) 805e9d0: 009b lsls r3, r3, #2 805e9d2: 4413 add r3, r2 805e9d4: edc3 7a00 vstr s15, [r3] for(i = 0; i < 8192; 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: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 805e9ea: d3e2 bcc.n 805e9b2 } if(pardata.IVS[pardata.IPR] == RMS) 805e9ec: 4b74 ldr r3, [pc, #464] ; (805ebc0 ) 805e9ee: 785b ldrb r3, [r3, #1] 805e9f0: b2db uxtb r3, r3 805e9f2: 461a mov r2, r3 805e9f4: 4b72 ldr r3, [pc, #456] ; (805ebc0 ) 805e9f6: 4413 add r3, r2 805e9f8: 789b ldrb r3, [r3, #2] 805e9fa: b2db uxtb r3, r3 805e9fc: 2b01 cmp r3, #1 805e9fe: d108 bne.n 805ea12 arm_rms_f32(In, 8192, &Octaves[13]); 805ea00: 463b mov r3, r7 805ea02: 3334 adds r3, #52 ; 0x34 805ea04: 461a mov r2, r3 805ea06: f44f 5100 mov.w r1, #8192 ; 0x2000 805ea0a: 4874 ldr r0, [pc, #464] ; (805ebdc ) 805ea0c: f06f fbd4 bl 80ce1b8 805ea10: e03e b.n 805ea90 else { arm_min_f32(In, 8192, &fn[0], &i); 805ea12: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ea16: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ea1a: f44f 5100 mov.w r1, #8192 ; 0x2000 805ea1e: 486f ldr r0, [pc, #444] ; (805ebdc ) 805ea20: f06f fc5c bl 80ce2dc arm_max_f32(In, 8192, &fn[1], &j); 805ea24: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ea28: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ea2c: 1d1a adds r2, r3, #4 805ea2e: 460b mov r3, r1 805ea30: f44f 5100 mov.w r1, #8192 ; 0x2000 805ea34: 4869 ldr r0, [pc, #420] ; (805ebdc ) 805ea36: f06f fced bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805ea3a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ea3e: eef5 7ac0 vcmpe.f32 s15, #0.0 805ea42: eef1 fa10 vmrs APSR_nzcv, fpscr 805ea46: dd02 ble.n 805ea4e 805ea48: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ea4c: e003 b.n 805ea56 805ea4e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ea52: eef1 7a67 vneg.f32 s15, s15 805ea56: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ea5a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ea5e: eef5 7ac0 vcmpe.f32 s15, #0.0 805ea62: eef1 fa10 vmrs APSR_nzcv, fpscr 805ea66: dd02 ble.n 805ea6e 805ea68: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ea6c: e003 b.n 805ea76 805ea6e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ea72: eef1 7a67 vneg.f32 s15, s15 805ea76: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[13], &j); 805ea7a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ea7e: 463b mov r3, r7 805ea80: f103 0234 add.w r2, r3, #52 ; 0x34 805ea84: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805ea88: 460b mov r3, r1 805ea8a: 2102 movs r1, #2 805ea8c: f06f fcc2 bl 80ce414 }*/ //** 4000 arm_biquad_cascade_df2T_f64(&S_LP_4000, &Buff64[0], &Buff64[0], 8192); 805ea90: f44f 5300 mov.w r3, #8192 ; 0x2000 805ea94: 4a47 ldr r2, [pc, #284] ; (805ebb4 ) 805ea96: 4947 ldr r1, [pc, #284] ; (805ebb4 ) 805ea98: 4851 ldr r0, [pc, #324] ; (805ebe0 ) 805ea9a: f06f fd2f bl 80ce4fc for(i = 0; i < 4096; i++) { 805ea9e: 2300 movs r3, #0 805eaa0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eaa4: e012 b.n 805eacc Buff64[i] = Buff64[i << 1]; 805eaa6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805eaaa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eaae: 005b lsls r3, r3, #1 805eab0: 4940 ldr r1, [pc, #256] ; (805ebb4 ) 805eab2: 00db lsls r3, r3, #3 805eab4: 440b add r3, r1 805eab6: cb18 ldmia r3, {r3, r4} 805eab8: 493e ldr r1, [pc, #248] ; (805ebb4 ) 805eaba: 00d2 lsls r2, r2, #3 805eabc: 440a add r2, r1 805eabe: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 4096; i++) { 805eac2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eac6: 3301 adds r3, #1 805eac8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eacc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ead0: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 805ead4: d3e7 bcc.n 805eaa6 } arm_biquad_cascade_df2T_f64(&S_IIR_4000Hz, &Buff64[0], &Buff64[Ns], 4096); 805ead6: 4b38 ldr r3, [pc, #224] ; (805ebb8 ) 805ead8: 681b ldr r3, [r3, #0] 805eada: 00db lsls r3, r3, #3 805eadc: 4a35 ldr r2, [pc, #212] ; (805ebb4 ) 805eade: 441a add r2, r3 805eae0: f44f 5380 mov.w r3, #4096 ; 0x1000 805eae4: 4933 ldr r1, [pc, #204] ; (805ebb4 ) 805eae6: 483f ldr r0, [pc, #252] ; (805ebe4 ) 805eae8: f06f fd08 bl 80ce4fc for(i = 0; i < 4096; i++) { 805eaec: 2300 movs r3, #0 805eaee: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eaf2: e017 b.n 805eb24 In[i] = (float32_t) Buff64[Ns + i]; 805eaf4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eaf8: 4a2f ldr r2, [pc, #188] ; (805ebb8 ) 805eafa: 6811 ldr r1, [r2, #0] 805eafc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805eb00: 440a add r2, r1 805eb02: 492c ldr r1, [pc, #176] ; (805ebb4 ) 805eb04: 00d2 lsls r2, r2, #3 805eb06: 440a add r2, r1 805eb08: ed92 7b00 vldr d7, [r2] 805eb0c: eef7 7bc7 vcvt.f32.f64 s15, d7 805eb10: 4a32 ldr r2, [pc, #200] ; (805ebdc ) 805eb12: 009b lsls r3, r3, #2 805eb14: 4413 add r3, r2 805eb16: edc3 7a00 vstr s15, [r3] for(i = 0; i < 4096; i++) { 805eb1a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eb1e: 3301 adds r3, #1 805eb20: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eb24: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eb28: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 805eb2c: d3e2 bcc.n 805eaf4 } if(pardata.IVS[pardata.IPR] == RMS) 805eb2e: 4b24 ldr r3, [pc, #144] ; (805ebc0 ) 805eb30: 785b ldrb r3, [r3, #1] 805eb32: b2db uxtb r3, r3 805eb34: 461a mov r2, r3 805eb36: 4b22 ldr r3, [pc, #136] ; (805ebc0 ) 805eb38: 4413 add r3, r2 805eb3a: 789b ldrb r3, [r3, #2] 805eb3c: b2db uxtb r3, r3 805eb3e: 2b01 cmp r3, #1 805eb40: d108 bne.n 805eb54 arm_rms_f32(In, 4096, &Octaves[12]); 805eb42: 463b mov r3, r7 805eb44: 3330 adds r3, #48 ; 0x30 805eb46: 461a mov r2, r3 805eb48: f44f 5180 mov.w r1, #4096 ; 0x1000 805eb4c: 4823 ldr r0, [pc, #140] ; (805ebdc ) 805eb4e: f06f fb33 bl 80ce1b8 805eb52: e05a b.n 805ec0a else { arm_min_f32(In, 4096, &fn[0], &i); 805eb54: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805eb58: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805eb5c: f44f 5180 mov.w r1, #4096 ; 0x1000 805eb60: 481e ldr r0, [pc, #120] ; (805ebdc ) 805eb62: f06f fbbb bl 80ce2dc arm_max_f32(In, 4096, &fn[1], &j); 805eb66: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805eb6a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805eb6e: 1d1a adds r2, r3, #4 805eb70: 460b mov r3, r1 805eb72: f44f 5180 mov.w r1, #4096 ; 0x1000 805eb76: 4819 ldr r0, [pc, #100] ; (805ebdc ) 805eb78: f06f fc4c bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805eb7c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805eb80: eef5 7ac0 vcmpe.f32 s15, #0.0 805eb84: eef1 fa10 vmrs APSR_nzcv, fpscr 805eb88: dd02 ble.n 805eb90 805eb8a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805eb8e: e003 b.n 805eb98 805eb90: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805eb94: eef1 7a67 vneg.f32 s15, s15 805eb98: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805eb9c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805eba0: eef5 7ac0 vcmpe.f32 s15, #0.0 805eba4: eef1 fa10 vmrs APSR_nzcv, fpscr 805eba8: dd1e ble.n 805ebe8 805ebaa: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ebae: e01f b.n 805ebf0 805ebb0: 20058060 .word 0x20058060 805ebb4: 20037b20 .word 0x20037b20 805ebb8: 20021d24 .word 0x20021d24 805ebbc: 200265a4 .word 0x200265a4 805ebc0: 20023ea8 .word 0x20023ea8 805ebc4: 20025f40 .word 0x20025f40 805ebc8: 200261b0 .word 0x200261b0 805ebcc: 20025eb8 .word 0x20025eb8 805ebd0: 20027904 .word 0x20027904 805ebd4: 20027990 .word 0x20027990 805ebd8: 20025e2c .word 0x20025e2c 805ebdc: 20027a00 .word 0x20027a00 805ebe0: 20026d14 .word 0x20026d14 805ebe4: 20057bd0 .word 0x20057bd0 805ebe8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ebec: eef1 7a67 vneg.f32 s15, s15 805ebf0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[12], &j); 805ebf4: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ebf8: 463b mov r3, r7 805ebfa: f103 0230 add.w r2, r3, #48 ; 0x30 805ebfe: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805ec02: 460b mov r3, r1 805ec04: 2102 movs r1, #2 805ec06: f06f fc05 bl 80ce414 } //** 2000 arm_biquad_cascade_df2T_f64(&S_LP_2000, &Buff64[0], &Buff64[0], 4096); 805ec0a: f44f 5380 mov.w r3, #4096 ; 0x1000 805ec0e: 4ab9 ldr r2, [pc, #740] ; (805eef4 ) 805ec10: 49b8 ldr r1, [pc, #736] ; (805eef4 ) 805ec12: 48b9 ldr r0, [pc, #740] ; (805eef8 ) 805ec14: f06f fc72 bl 80ce4fc for(i = 0; i < 2048; i++) { 805ec18: 2300 movs r3, #0 805ec1a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ec1e: e012 b.n 805ec46 Buff64[i] = Buff64[i << 1]; 805ec20: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ec24: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec28: 005b lsls r3, r3, #1 805ec2a: 49b2 ldr r1, [pc, #712] ; (805eef4 ) 805ec2c: 00db lsls r3, r3, #3 805ec2e: 440b add r3, r1 805ec30: cb18 ldmia r3, {r3, r4} 805ec32: 49b0 ldr r1, [pc, #704] ; (805eef4 ) 805ec34: 00d2 lsls r2, r2, #3 805ec36: 440a add r2, r1 805ec38: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 2048; i++) { 805ec3c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec40: 3301 adds r3, #1 805ec42: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ec46: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec4a: f5b3 6f00 cmp.w r3, #2048 ; 0x800 805ec4e: d3e7 bcc.n 805ec20 } arm_biquad_cascade_df2T_f64(&S_IIR_2000Hz, &Buff64[0], &Buff64[Ns], 2048); 805ec50: 4baa ldr r3, [pc, #680] ; (805eefc ) 805ec52: 681b ldr r3, [r3, #0] 805ec54: 00db lsls r3, r3, #3 805ec56: 4aa7 ldr r2, [pc, #668] ; (805eef4 ) 805ec58: 441a add r2, r3 805ec5a: f44f 6300 mov.w r3, #2048 ; 0x800 805ec5e: 49a5 ldr r1, [pc, #660] ; (805eef4 ) 805ec60: 48a7 ldr r0, [pc, #668] ; (805ef00 ) 805ec62: f06f fc4b bl 80ce4fc for(i = 0; i < 2048; i++) { 805ec66: 2300 movs r3, #0 805ec68: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ec6c: e017 b.n 805ec9e In[i] = (float32_t) Buff64[Ns + i]; 805ec6e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec72: 4aa2 ldr r2, [pc, #648] ; (805eefc ) 805ec74: 6811 ldr r1, [r2, #0] 805ec76: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ec7a: 440a add r2, r1 805ec7c: 499d ldr r1, [pc, #628] ; (805eef4 ) 805ec7e: 00d2 lsls r2, r2, #3 805ec80: 440a add r2, r1 805ec82: ed92 7b00 vldr d7, [r2] 805ec86: eef7 7bc7 vcvt.f32.f64 s15, d7 805ec8a: 4a9e ldr r2, [pc, #632] ; (805ef04 ) 805ec8c: 009b lsls r3, r3, #2 805ec8e: 4413 add r3, r2 805ec90: edc3 7a00 vstr s15, [r3] for(i = 0; i < 2048; i++) { 805ec94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec98: 3301 adds r3, #1 805ec9a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ec9e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eca2: f5b3 6f00 cmp.w r3, #2048 ; 0x800 805eca6: d3e2 bcc.n 805ec6e } if(pardata.IVS[pardata.IPR] == RMS) 805eca8: 4b97 ldr r3, [pc, #604] ; (805ef08 ) 805ecaa: 785b ldrb r3, [r3, #1] 805ecac: b2db uxtb r3, r3 805ecae: 461a mov r2, r3 805ecb0: 4b95 ldr r3, [pc, #596] ; (805ef08 ) 805ecb2: 4413 add r3, r2 805ecb4: 789b ldrb r3, [r3, #2] 805ecb6: b2db uxtb r3, r3 805ecb8: 2b01 cmp r3, #1 805ecba: d108 bne.n 805ecce arm_rms_f32(In, 2048, &Octaves[11]); 805ecbc: 463b mov r3, r7 805ecbe: 332c adds r3, #44 ; 0x2c 805ecc0: 461a mov r2, r3 805ecc2: f44f 6100 mov.w r1, #2048 ; 0x800 805ecc6: 488f ldr r0, [pc, #572] ; (805ef04 ) 805ecc8: f06f fa76 bl 80ce1b8 805eccc: e03e b.n 805ed4c else { arm_min_f32(In, 2048, &fn[0], &i); 805ecce: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ecd2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ecd6: f44f 6100 mov.w r1, #2048 ; 0x800 805ecda: 488a ldr r0, [pc, #552] ; (805ef04 ) 805ecdc: f06f fafe bl 80ce2dc arm_max_f32(In, 2048, &fn[1], &j); 805ece0: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ece4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ece8: 1d1a adds r2, r3, #4 805ecea: 460b mov r3, r1 805ecec: f44f 6100 mov.w r1, #2048 ; 0x800 805ecf0: 4884 ldr r0, [pc, #528] ; (805ef04 ) 805ecf2: f06f fb8f bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805ecf6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ecfa: eef5 7ac0 vcmpe.f32 s15, #0.0 805ecfe: eef1 fa10 vmrs APSR_nzcv, fpscr 805ed02: dd02 ble.n 805ed0a 805ed04: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ed08: e003 b.n 805ed12 805ed0a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ed0e: eef1 7a67 vneg.f32 s15, s15 805ed12: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ed16: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ed1a: eef5 7ac0 vcmpe.f32 s15, #0.0 805ed1e: eef1 fa10 vmrs APSR_nzcv, fpscr 805ed22: dd02 ble.n 805ed2a 805ed24: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ed28: e003 b.n 805ed32 805ed2a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ed2e: eef1 7a67 vneg.f32 s15, s15 805ed32: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[11], &j); 805ed36: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ed3a: 463b mov r3, r7 805ed3c: f103 022c add.w r2, r3, #44 ; 0x2c 805ed40: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805ed44: 460b mov r3, r1 805ed46: 2102 movs r1, #2 805ed48: f06f fb64 bl 80ce414 } //** 1000 arm_biquad_cascade_df2T_f64(&S_LP_1000, &Buff64[0], &Buff64[0], 2048); 805ed4c: f44f 6300 mov.w r3, #2048 ; 0x800 805ed50: 4a68 ldr r2, [pc, #416] ; (805eef4 ) 805ed52: 4968 ldr r1, [pc, #416] ; (805eef4 ) 805ed54: 486d ldr r0, [pc, #436] ; (805ef0c ) 805ed56: f06f fbd1 bl 80ce4fc for(i = 0; i < 1024; i++) { 805ed5a: 2300 movs r3, #0 805ed5c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ed60: e012 b.n 805ed88 Buff64[i] = Buff64[i << 1]; 805ed62: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ed66: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ed6a: 005b lsls r3, r3, #1 805ed6c: 4961 ldr r1, [pc, #388] ; (805eef4 ) 805ed6e: 00db lsls r3, r3, #3 805ed70: 440b add r3, r1 805ed72: cb18 ldmia r3, {r3, r4} 805ed74: 495f ldr r1, [pc, #380] ; (805eef4 ) 805ed76: 00d2 lsls r2, r2, #3 805ed78: 440a add r2, r1 805ed7a: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 1024; i++) { 805ed7e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ed82: 3301 adds r3, #1 805ed84: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ed88: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ed8c: f5b3 6f80 cmp.w r3, #1024 ; 0x400 805ed90: d3e7 bcc.n 805ed62 } arm_biquad_cascade_df2T_f64(&S_IIR_1000Hz, &Buff64[0], &Buff64[Ns], 1024); 805ed92: 4b5a ldr r3, [pc, #360] ; (805eefc ) 805ed94: 681b ldr r3, [r3, #0] 805ed96: 00db lsls r3, r3, #3 805ed98: 4a56 ldr r2, [pc, #344] ; (805eef4 ) 805ed9a: 441a add r2, r3 805ed9c: f44f 6380 mov.w r3, #1024 ; 0x400 805eda0: 4954 ldr r1, [pc, #336] ; (805eef4 ) 805eda2: 485b ldr r0, [pc, #364] ; (805ef10 ) 805eda4: f06f fbaa bl 80ce4fc for(i = 0; i < 1024; i++) { 805eda8: 2300 movs r3, #0 805edaa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805edae: e017 b.n 805ede0 In[i] = (float32_t) Buff64[Ns + i]; 805edb0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805edb4: 4a51 ldr r2, [pc, #324] ; (805eefc ) 805edb6: 6811 ldr r1, [r2, #0] 805edb8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805edbc: 440a add r2, r1 805edbe: 494d ldr r1, [pc, #308] ; (805eef4 ) 805edc0: 00d2 lsls r2, r2, #3 805edc2: 440a add r2, r1 805edc4: ed92 7b00 vldr d7, [r2] 805edc8: eef7 7bc7 vcvt.f32.f64 s15, d7 805edcc: 4a4d ldr r2, [pc, #308] ; (805ef04 ) 805edce: 009b lsls r3, r3, #2 805edd0: 4413 add r3, r2 805edd2: edc3 7a00 vstr s15, [r3] for(i = 0; i < 1024; i++) { 805edd6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805edda: 3301 adds r3, #1 805eddc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ede0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ede4: f5b3 6f80 cmp.w r3, #1024 ; 0x400 805ede8: d3e2 bcc.n 805edb0 } if(pardata.IVS[pardata.IPR] == RMS) 805edea: 4b47 ldr r3, [pc, #284] ; (805ef08 ) 805edec: 785b ldrb r3, [r3, #1] 805edee: b2db uxtb r3, r3 805edf0: 461a mov r2, r3 805edf2: 4b45 ldr r3, [pc, #276] ; (805ef08 ) 805edf4: 4413 add r3, r2 805edf6: 789b ldrb r3, [r3, #2] 805edf8: b2db uxtb r3, r3 805edfa: 2b01 cmp r3, #1 805edfc: d108 bne.n 805ee10 arm_rms_f32(In, 1024, &Octaves[10]); 805edfe: 463b mov r3, r7 805ee00: 3328 adds r3, #40 ; 0x28 805ee02: 461a mov r2, r3 805ee04: f44f 6180 mov.w r1, #1024 ; 0x400 805ee08: 483e ldr r0, [pc, #248] ; (805ef04 ) 805ee0a: f06f f9d5 bl 80ce1b8 805ee0e: e03e b.n 805ee8e else { arm_min_f32(In, 1024, &fn[0], &i); 805ee10: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ee14: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ee18: f44f 6180 mov.w r1, #1024 ; 0x400 805ee1c: 4839 ldr r0, [pc, #228] ; (805ef04 ) 805ee1e: f06f fa5d bl 80ce2dc arm_max_f32(In, 1024, &fn[1], &j); 805ee22: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ee26: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ee2a: 1d1a adds r2, r3, #4 805ee2c: 460b mov r3, r1 805ee2e: f44f 6180 mov.w r1, #1024 ; 0x400 805ee32: 4834 ldr r0, [pc, #208] ; (805ef04 ) 805ee34: f06f faee bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805ee38: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ee3c: eef5 7ac0 vcmpe.f32 s15, #0.0 805ee40: eef1 fa10 vmrs APSR_nzcv, fpscr 805ee44: dd02 ble.n 805ee4c 805ee46: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ee4a: e003 b.n 805ee54 805ee4c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ee50: eef1 7a67 vneg.f32 s15, s15 805ee54: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ee58: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ee5c: eef5 7ac0 vcmpe.f32 s15, #0.0 805ee60: eef1 fa10 vmrs APSR_nzcv, fpscr 805ee64: dd02 ble.n 805ee6c 805ee66: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ee6a: e003 b.n 805ee74 805ee6c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ee70: eef1 7a67 vneg.f32 s15, s15 805ee74: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[10], &j); 805ee78: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ee7c: 463b mov r3, r7 805ee7e: f103 0228 add.w r2, r3, #40 ; 0x28 805ee82: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805ee86: 460b mov r3, r1 805ee88: 2102 movs r1, #2 805ee8a: f06f fac3 bl 80ce414 } //** 500 arm_biquad_cascade_df2T_f64(&S_LP_500, &Buff64[0], &Buff64[0], 1024); 805ee8e: f44f 6380 mov.w r3, #1024 ; 0x400 805ee92: 4a18 ldr r2, [pc, #96] ; (805eef4 ) 805ee94: 4917 ldr r1, [pc, #92] ; (805eef4 ) 805ee96: 481f ldr r0, [pc, #124] ; (805ef14 ) 805ee98: f06f fb30 bl 80ce4fc for(i = 0; i < 512; i++) { 805ee9c: 2300 movs r3, #0 805ee9e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eea2: e012 b.n 805eeca Buff64[i] = Buff64[i << 1]; 805eea4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805eea8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eeac: 005b lsls r3, r3, #1 805eeae: 4911 ldr r1, [pc, #68] ; (805eef4 ) 805eeb0: 00db lsls r3, r3, #3 805eeb2: 440b add r3, r1 805eeb4: cb18 ldmia r3, {r3, r4} 805eeb6: 490f ldr r1, [pc, #60] ; (805eef4 ) 805eeb8: 00d2 lsls r2, r2, #3 805eeba: 440a add r2, r1 805eebc: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 512; i++) { 805eec0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eec4: 3301 adds r3, #1 805eec6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eeca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eece: f5b3 7f00 cmp.w r3, #512 ; 0x200 805eed2: d3e7 bcc.n 805eea4 } arm_biquad_cascade_df2T_f64(&S_IIR_500Hz, &Buff64[0], &Buff64[Ns], 512); 805eed4: 4b09 ldr r3, [pc, #36] ; (805eefc ) 805eed6: 681b ldr r3, [r3, #0] 805eed8: 00db lsls r3, r3, #3 805eeda: 4a06 ldr r2, [pc, #24] ; (805eef4 ) 805eedc: 441a add r2, r3 805eede: f44f 7300 mov.w r3, #512 ; 0x200 805eee2: 4904 ldr r1, [pc, #16] ; (805eef4 ) 805eee4: 480c ldr r0, [pc, #48] ; (805ef18 ) 805eee6: f06f fb09 bl 80ce4fc for(i = 0; i < 512; i++) { 805eeea: 2300 movs r3, #0 805eeec: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eef0: e02c b.n 805ef4c 805eef2: bf00 nop 805eef4: 20037b20 .word 0x20037b20 805eef8: 20027960 .word 0x20027960 805eefc: 20021d24 .word 0x20021d24 805ef00: 20026f38 .word 0x20026f38 805ef04: 20027a00 .word 0x20027a00 805ef08: 20023ea8 .word 0x20023ea8 805ef0c: 20068304 .word 0x20068304 805ef10: 200266a0 .word 0x200266a0 805ef14: 2002799c .word 0x2002799c 805ef18: 20068060 .word 0x20068060 In[i] = (float32_t) Buff64[Ns + i]; 805ef1c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ef20: 4aca ldr r2, [pc, #808] ; (805f24c ) 805ef22: 6811 ldr r1, [r2, #0] 805ef24: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ef28: 440a add r2, r1 805ef2a: 49c9 ldr r1, [pc, #804] ; (805f250 ) 805ef2c: 00d2 lsls r2, r2, #3 805ef2e: 440a add r2, r1 805ef30: ed92 7b00 vldr d7, [r2] 805ef34: eef7 7bc7 vcvt.f32.f64 s15, d7 805ef38: 4ac6 ldr r2, [pc, #792] ; (805f254 ) 805ef3a: 009b lsls r3, r3, #2 805ef3c: 4413 add r3, r2 805ef3e: edc3 7a00 vstr s15, [r3] for(i = 0; i < 512; i++) { 805ef42: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ef46: 3301 adds r3, #1 805ef48: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ef4c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ef50: f5b3 7f00 cmp.w r3, #512 ; 0x200 805ef54: d3e2 bcc.n 805ef1c } if(pardata.IVS[pardata.IPR] == RMS) 805ef56: 4bc0 ldr r3, [pc, #768] ; (805f258 ) 805ef58: 785b ldrb r3, [r3, #1] 805ef5a: b2db uxtb r3, r3 805ef5c: 461a mov r2, r3 805ef5e: 4bbe ldr r3, [pc, #760] ; (805f258 ) 805ef60: 4413 add r3, r2 805ef62: 789b ldrb r3, [r3, #2] 805ef64: b2db uxtb r3, r3 805ef66: 2b01 cmp r3, #1 805ef68: d108 bne.n 805ef7c arm_rms_f32(In, 512, &Octaves[9]); 805ef6a: 463b mov r3, r7 805ef6c: 3324 adds r3, #36 ; 0x24 805ef6e: 461a mov r2, r3 805ef70: f44f 7100 mov.w r1, #512 ; 0x200 805ef74: 48b7 ldr r0, [pc, #732] ; (805f254 ) 805ef76: f06f f91f bl 80ce1b8 805ef7a: e03e b.n 805effa else { arm_min_f32(In, 512, &fn[0], &i); 805ef7c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ef80: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ef84: f44f 7100 mov.w r1, #512 ; 0x200 805ef88: 48b2 ldr r0, [pc, #712] ; (805f254 ) 805ef8a: f06f f9a7 bl 80ce2dc arm_max_f32(In, 512, &fn[1], &j); 805ef8e: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ef92: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ef96: 1d1a adds r2, r3, #4 805ef98: 460b mov r3, r1 805ef9a: f44f 7100 mov.w r1, #512 ; 0x200 805ef9e: 48ad ldr r0, [pc, #692] ; (805f254 ) 805efa0: f06f fa38 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805efa4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805efa8: eef5 7ac0 vcmpe.f32 s15, #0.0 805efac: eef1 fa10 vmrs APSR_nzcv, fpscr 805efb0: dd02 ble.n 805efb8 805efb2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805efb6: e003 b.n 805efc0 805efb8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805efbc: eef1 7a67 vneg.f32 s15, s15 805efc0: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805efc4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805efc8: eef5 7ac0 vcmpe.f32 s15, #0.0 805efcc: eef1 fa10 vmrs APSR_nzcv, fpscr 805efd0: dd02 ble.n 805efd8 805efd2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805efd6: e003 b.n 805efe0 805efd8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805efdc: eef1 7a67 vneg.f32 s15, s15 805efe0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[9], &j); 805efe4: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805efe8: 463b mov r3, r7 805efea: f103 0224 add.w r2, r3, #36 ; 0x24 805efee: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805eff2: 460b mov r3, r1 805eff4: 2102 movs r1, #2 805eff6: f06f fa0d bl 80ce414 } //** 250 arm_biquad_cascade_df2T_f64(&S_LP_250, &Buff64[0], &Buff64[0], 512); 805effa: f44f 7300 mov.w r3, #512 ; 0x200 805effe: 4a94 ldr r2, [pc, #592] ; (805f250 ) 805f000: 4993 ldr r1, [pc, #588] ; (805f250 ) 805f002: 4896 ldr r0, [pc, #600] ; (805f25c ) 805f004: f06f fa7a bl 80ce4fc for(i = 0; i < 256; i++) { 805f008: 2300 movs r3, #0 805f00a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f00e: e012 b.n 805f036 Buff64[i] = Buff64[i << 1]; 805f010: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f014: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f018: 005b lsls r3, r3, #1 805f01a: 498d ldr r1, [pc, #564] ; (805f250 ) 805f01c: 00db lsls r3, r3, #3 805f01e: 440b add r3, r1 805f020: cb18 ldmia r3, {r3, r4} 805f022: 498b ldr r1, [pc, #556] ; (805f250 ) 805f024: 00d2 lsls r2, r2, #3 805f026: 440a add r2, r1 805f028: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 256; i++) { 805f02c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f030: 3301 adds r3, #1 805f032: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f036: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f03a: 2bff cmp r3, #255 ; 0xff 805f03c: d9e8 bls.n 805f010 } arm_biquad_cascade_df2T_f64(&S_IIR_250Hz, &Buff64[0], &Buff64[Ns], 256); 805f03e: 4b83 ldr r3, [pc, #524] ; (805f24c ) 805f040: 681b ldr r3, [r3, #0] 805f042: 00db lsls r3, r3, #3 805f044: 4a82 ldr r2, [pc, #520] ; (805f250 ) 805f046: 441a add r2, r3 805f048: f44f 7380 mov.w r3, #256 ; 0x100 805f04c: 4980 ldr r1, [pc, #512] ; (805f250 ) 805f04e: 4884 ldr r0, [pc, #528] ; (805f260 ) 805f050: f06f fa54 bl 80ce4fc for(i = 0; i < 256; i++) { 805f054: 2300 movs r3, #0 805f056: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f05a: e017 b.n 805f08c In[i] = (float32_t) Buff64[Ns + i]; 805f05c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f060: 4a7a ldr r2, [pc, #488] ; (805f24c ) 805f062: 6811 ldr r1, [r2, #0] 805f064: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f068: 440a add r2, r1 805f06a: 4979 ldr r1, [pc, #484] ; (805f250 ) 805f06c: 00d2 lsls r2, r2, #3 805f06e: 440a add r2, r1 805f070: ed92 7b00 vldr d7, [r2] 805f074: eef7 7bc7 vcvt.f32.f64 s15, d7 805f078: 4a76 ldr r2, [pc, #472] ; (805f254 ) 805f07a: 009b lsls r3, r3, #2 805f07c: 4413 add r3, r2 805f07e: edc3 7a00 vstr s15, [r3] for(i = 0; i < 256; i++) { 805f082: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f086: 3301 adds r3, #1 805f088: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f08c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f090: 2bff cmp r3, #255 ; 0xff 805f092: d9e3 bls.n 805f05c } if(pardata.IVS[pardata.IPR] == RMS) 805f094: 4b70 ldr r3, [pc, #448] ; (805f258 ) 805f096: 785b ldrb r3, [r3, #1] 805f098: b2db uxtb r3, r3 805f09a: 461a mov r2, r3 805f09c: 4b6e ldr r3, [pc, #440] ; (805f258 ) 805f09e: 4413 add r3, r2 805f0a0: 789b ldrb r3, [r3, #2] 805f0a2: b2db uxtb r3, r3 805f0a4: 2b01 cmp r3, #1 805f0a6: d108 bne.n 805f0ba arm_rms_f32(In, 256, &Octaves[8]); 805f0a8: 463b mov r3, r7 805f0aa: 3320 adds r3, #32 805f0ac: 461a mov r2, r3 805f0ae: f44f 7180 mov.w r1, #256 ; 0x100 805f0b2: 4868 ldr r0, [pc, #416] ; (805f254 ) 805f0b4: f06f f880 bl 80ce1b8 805f0b8: e03e b.n 805f138 else { arm_min_f32(In, 256, &fn[0], &i); 805f0ba: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f0be: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f0c2: f44f 7180 mov.w r1, #256 ; 0x100 805f0c6: 4863 ldr r0, [pc, #396] ; (805f254 ) 805f0c8: f06f f908 bl 80ce2dc arm_max_f32(In, 256, &fn[1], &j); 805f0cc: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f0d0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f0d4: 1d1a adds r2, r3, #4 805f0d6: 460b mov r3, r1 805f0d8: f44f 7180 mov.w r1, #256 ; 0x100 805f0dc: 485d ldr r0, [pc, #372] ; (805f254 ) 805f0de: f06f f999 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f0e2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f0e6: eef5 7ac0 vcmpe.f32 s15, #0.0 805f0ea: eef1 fa10 vmrs APSR_nzcv, fpscr 805f0ee: dd02 ble.n 805f0f6 805f0f0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f0f4: e003 b.n 805f0fe 805f0f6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f0fa: eef1 7a67 vneg.f32 s15, s15 805f0fe: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f102: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f106: eef5 7ac0 vcmpe.f32 s15, #0.0 805f10a: eef1 fa10 vmrs APSR_nzcv, fpscr 805f10e: dd02 ble.n 805f116 805f110: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f114: e003 b.n 805f11e 805f116: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f11a: eef1 7a67 vneg.f32 s15, s15 805f11e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[8], &j); 805f122: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f126: 463b mov r3, r7 805f128: f103 0220 add.w r2, r3, #32 805f12c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f130: 460b mov r3, r1 805f132: 2102 movs r1, #2 805f134: f06f f96e bl 80ce414 } //** 125 arm_biquad_cascade_df2T_f64(&S_LP_125, &Buff64[0], &Buff64[0], 256); 805f138: f44f 7380 mov.w r3, #256 ; 0x100 805f13c: 4a44 ldr r2, [pc, #272] ; (805f250 ) 805f13e: 4944 ldr r1, [pc, #272] ; (805f250 ) 805f140: 4848 ldr r0, [pc, #288] ; (805f264 ) 805f142: f06f f9db bl 80ce4fc for(i = 0; i < 128; i++) { 805f146: 2300 movs r3, #0 805f148: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f14c: e012 b.n 805f174 Buff64[i] = Buff64[i << 1]; 805f14e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f152: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f156: 005b lsls r3, r3, #1 805f158: 493d ldr r1, [pc, #244] ; (805f250 ) 805f15a: 00db lsls r3, r3, #3 805f15c: 440b add r3, r1 805f15e: cb18 ldmia r3, {r3, r4} 805f160: 493b ldr r1, [pc, #236] ; (805f250 ) 805f162: 00d2 lsls r2, r2, #3 805f164: 440a add r2, r1 805f166: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 128; i++) { 805f16a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f16e: 3301 adds r3, #1 805f170: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f174: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f178: 2b7f cmp r3, #127 ; 0x7f 805f17a: d9e8 bls.n 805f14e } arm_biquad_cascade_df2T_f64(&S_IIR_125Hz, &Buff64[0], &Buff64[Ns], 128); 805f17c: 4b33 ldr r3, [pc, #204] ; (805f24c ) 805f17e: 681b ldr r3, [r3, #0] 805f180: 00db lsls r3, r3, #3 805f182: 4a33 ldr r2, [pc, #204] ; (805f250 ) 805f184: 441a add r2, r3 805f186: 2380 movs r3, #128 ; 0x80 805f188: 4931 ldr r1, [pc, #196] ; (805f250 ) 805f18a: 4837 ldr r0, [pc, #220] ; (805f268 ) 805f18c: f06f f9b6 bl 80ce4fc for(i = 0; i < 128; i++) { 805f190: 2300 movs r3, #0 805f192: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f196: e017 b.n 805f1c8 In[i] = (float32_t) Buff64[Ns + i]; 805f198: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f19c: 4a2b ldr r2, [pc, #172] ; (805f24c ) 805f19e: 6811 ldr r1, [r2, #0] 805f1a0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f1a4: 440a add r2, r1 805f1a6: 492a ldr r1, [pc, #168] ; (805f250 ) 805f1a8: 00d2 lsls r2, r2, #3 805f1aa: 440a add r2, r1 805f1ac: ed92 7b00 vldr d7, [r2] 805f1b0: eef7 7bc7 vcvt.f32.f64 s15, d7 805f1b4: 4a27 ldr r2, [pc, #156] ; (805f254 ) 805f1b6: 009b lsls r3, r3, #2 805f1b8: 4413 add r3, r2 805f1ba: edc3 7a00 vstr s15, [r3] for(i = 0; i < 128; i++) { 805f1be: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f1c2: 3301 adds r3, #1 805f1c4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f1c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f1cc: 2b7f cmp r3, #127 ; 0x7f 805f1ce: d9e3 bls.n 805f198 } if(pardata.IVS[pardata.IPR] == RMS) 805f1d0: 4b21 ldr r3, [pc, #132] ; (805f258 ) 805f1d2: 785b ldrb r3, [r3, #1] 805f1d4: b2db uxtb r3, r3 805f1d6: 461a mov r2, r3 805f1d8: 4b1f ldr r3, [pc, #124] ; (805f258 ) 805f1da: 4413 add r3, r2 805f1dc: 789b ldrb r3, [r3, #2] 805f1de: b2db uxtb r3, r3 805f1e0: 2b01 cmp r3, #1 805f1e2: d107 bne.n 805f1f4 arm_rms_f32(In, 128, &Octaves[7]); 805f1e4: 463b mov r3, r7 805f1e6: 331c adds r3, #28 805f1e8: 461a mov r2, r3 805f1ea: 2180 movs r1, #128 ; 0x80 805f1ec: 4819 ldr r0, [pc, #100] ; (805f254 ) 805f1ee: f06e ffe3 bl 80ce1b8 805f1f2: e04c b.n 805f28e else { arm_min_f32(In, 128, &fn[0], &i); 805f1f4: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f1f8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f1fc: 2180 movs r1, #128 ; 0x80 805f1fe: 4815 ldr r0, [pc, #84] ; (805f254 ) 805f200: f06f f86c bl 80ce2dc arm_max_f32(In, 128, &fn[1], &j); 805f204: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f208: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f20c: 1d1a adds r2, r3, #4 805f20e: 460b mov r3, r1 805f210: 2180 movs r1, #128 ; 0x80 805f212: 4810 ldr r0, [pc, #64] ; (805f254 ) 805f214: f06f f8fe bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f218: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f21c: eef5 7ac0 vcmpe.f32 s15, #0.0 805f220: eef1 fa10 vmrs APSR_nzcv, fpscr 805f224: dd02 ble.n 805f22c 805f226: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f22a: e003 b.n 805f234 805f22c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f230: eef1 7a67 vneg.f32 s15, s15 805f234: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f238: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f23c: eef5 7ac0 vcmpe.f32 s15, #0.0 805f240: eef1 fa10 vmrs APSR_nzcv, fpscr 805f244: dd12 ble.n 805f26c 805f246: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f24a: e013 b.n 805f274 805f24c: 20021d24 .word 0x20021d24 805f250: 20037b20 .word 0x20037b20 805f254: 20027a00 .word 0x20027a00 805f258: 20023ea8 .word 0x20023ea8 805f25c: 20068588 .word 0x20068588 805f260: 20026928 .word 0x20026928 805f264: 20026060 .word 0x20026060 805f268: 20026730 .word 0x20026730 805f26c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f270: eef1 7a67 vneg.f32 s15, s15 805f274: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[7], &j); 805f278: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f27c: 463b mov r3, r7 805f27e: f103 021c add.w r2, r3, #28 805f282: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f286: 460b mov r3, r1 805f288: 2102 movs r1, #2 805f28a: f06f f8c3 bl 80ce414 } //** 63 arm_biquad_cascade_df2T_f64(&S_LP_63, &Buff64[0], &Buff64[0], 128); 805f28e: 2380 movs r3, #128 ; 0x80 805f290: 4ac7 ldr r2, [pc, #796] ; (805f5b0 ) 805f292: 49c7 ldr r1, [pc, #796] ; (805f5b0 ) 805f294: 48c7 ldr r0, [pc, #796] ; (805f5b4 ) 805f296: f06f f931 bl 80ce4fc for(i = 0; i < 64; i++) { 805f29a: 2300 movs r3, #0 805f29c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f2a0: e012 b.n 805f2c8 Buff64[i] = Buff64[i << 1]; 805f2a2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f2a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f2aa: 005b lsls r3, r3, #1 805f2ac: 49c0 ldr r1, [pc, #768] ; (805f5b0 ) 805f2ae: 00db lsls r3, r3, #3 805f2b0: 440b add r3, r1 805f2b2: cb18 ldmia r3, {r3, r4} 805f2b4: 49be ldr r1, [pc, #760] ; (805f5b0 ) 805f2b6: 00d2 lsls r2, r2, #3 805f2b8: 440a add r2, r1 805f2ba: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 64; i++) { 805f2be: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f2c2: 3301 adds r3, #1 805f2c4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f2c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f2cc: 2b3f cmp r3, #63 ; 0x3f 805f2ce: d9e8 bls.n 805f2a2 } arm_biquad_cascade_df2T_f64(&S_IIR_63Hz, &Buff64[0], &Buff64[Ns], 64); 805f2d0: 4bb9 ldr r3, [pc, #740] ; (805f5b8 ) 805f2d2: 681b ldr r3, [r3, #0] 805f2d4: 00db lsls r3, r3, #3 805f2d6: 4ab6 ldr r2, [pc, #728] ; (805f5b0 ) 805f2d8: 441a add r2, r3 805f2da: 2340 movs r3, #64 ; 0x40 805f2dc: 49b4 ldr r1, [pc, #720] ; (805f5b0 ) 805f2de: 48b7 ldr r0, [pc, #732] ; (805f5bc ) 805f2e0: f06f f90c bl 80ce4fc for(i = 0; i < 64; i++) { 805f2e4: 2300 movs r3, #0 805f2e6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f2ea: e017 b.n 805f31c In[i] = (float32_t) Buff64[Ns + i]; 805f2ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f2f0: 4ab1 ldr r2, [pc, #708] ; (805f5b8 ) 805f2f2: 6811 ldr r1, [r2, #0] 805f2f4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f2f8: 440a add r2, r1 805f2fa: 49ad ldr r1, [pc, #692] ; (805f5b0 ) 805f2fc: 00d2 lsls r2, r2, #3 805f2fe: 440a add r2, r1 805f300: ed92 7b00 vldr d7, [r2] 805f304: eef7 7bc7 vcvt.f32.f64 s15, d7 805f308: 4aad ldr r2, [pc, #692] ; (805f5c0 ) 805f30a: 009b lsls r3, r3, #2 805f30c: 4413 add r3, r2 805f30e: edc3 7a00 vstr s15, [r3] for(i = 0; i < 64; i++) { 805f312: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f316: 3301 adds r3, #1 805f318: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f31c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f320: 2b3f cmp r3, #63 ; 0x3f 805f322: d9e3 bls.n 805f2ec } if(pardata.IVS[pardata.IPR] == RMS) 805f324: 4ba7 ldr r3, [pc, #668] ; (805f5c4 ) 805f326: 785b ldrb r3, [r3, #1] 805f328: b2db uxtb r3, r3 805f32a: 461a mov r2, r3 805f32c: 4ba5 ldr r3, [pc, #660] ; (805f5c4 ) 805f32e: 4413 add r3, r2 805f330: 789b ldrb r3, [r3, #2] 805f332: b2db uxtb r3, r3 805f334: 2b01 cmp r3, #1 805f336: d107 bne.n 805f348 arm_rms_f32(In, 64, &Octaves[6]); 805f338: 463b mov r3, r7 805f33a: 3318 adds r3, #24 805f33c: 461a mov r2, r3 805f33e: 2140 movs r1, #64 ; 0x40 805f340: 489f ldr r0, [pc, #636] ; (805f5c0 ) 805f342: f06e ff39 bl 80ce1b8 805f346: e03c b.n 805f3c2 else { arm_min_f32(In, 64, &fn[0], &i); 805f348: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f34c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f350: 2140 movs r1, #64 ; 0x40 805f352: 489b ldr r0, [pc, #620] ; (805f5c0 ) 805f354: f06e ffc2 bl 80ce2dc arm_max_f32(In, 64, &fn[1], &j); 805f358: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f35c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f360: 1d1a adds r2, r3, #4 805f362: 460b mov r3, r1 805f364: 2140 movs r1, #64 ; 0x40 805f366: 4896 ldr r0, [pc, #600] ; (805f5c0 ) 805f368: f06f f854 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f36c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f370: eef5 7ac0 vcmpe.f32 s15, #0.0 805f374: eef1 fa10 vmrs APSR_nzcv, fpscr 805f378: dd02 ble.n 805f380 805f37a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f37e: e003 b.n 805f388 805f380: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f384: eef1 7a67 vneg.f32 s15, s15 805f388: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f38c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f390: eef5 7ac0 vcmpe.f32 s15, #0.0 805f394: eef1 fa10 vmrs APSR_nzcv, fpscr 805f398: dd02 ble.n 805f3a0 805f39a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f39e: e003 b.n 805f3a8 805f3a0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f3a4: eef1 7a67 vneg.f32 s15, s15 805f3a8: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[6], &j); 805f3ac: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f3b0: 463b mov r3, r7 805f3b2: f103 0218 add.w r2, r3, #24 805f3b6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f3ba: 460b mov r3, r1 805f3bc: 2102 movs r1, #2 805f3be: f06f f829 bl 80ce414 } //** 31 arm_biquad_cascade_df2T_f64(&S_LP_32, &Buff64[0], &Buff64[0], 64); 805f3c2: 2340 movs r3, #64 ; 0x40 805f3c4: 4a7a ldr r2, [pc, #488] ; (805f5b0 ) 805f3c6: 497a ldr r1, [pc, #488] ; (805f5b0 ) 805f3c8: 487f ldr r0, [pc, #508] ; (805f5c8 ) 805f3ca: f06f f897 bl 80ce4fc for(i = 0; i < 32; i++) { 805f3ce: 2300 movs r3, #0 805f3d0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f3d4: e012 b.n 805f3fc Buff64[i] = Buff64[i << 1]; 805f3d6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f3da: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f3de: 005b lsls r3, r3, #1 805f3e0: 4973 ldr r1, [pc, #460] ; (805f5b0 ) 805f3e2: 00db lsls r3, r3, #3 805f3e4: 440b add r3, r1 805f3e6: cb18 ldmia r3, {r3, r4} 805f3e8: 4971 ldr r1, [pc, #452] ; (805f5b0 ) 805f3ea: 00d2 lsls r2, r2, #3 805f3ec: 440a add r2, r1 805f3ee: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 32; i++) { 805f3f2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f3f6: 3301 adds r3, #1 805f3f8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f3fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f400: 2b1f cmp r3, #31 805f402: d9e8 bls.n 805f3d6 } arm_biquad_cascade_df2T_f64(&S_IIR_32Hz, &Buff64[0], &Buff64[Ns], 32); 805f404: 4b6c ldr r3, [pc, #432] ; (805f5b8 ) 805f406: 681b ldr r3, [r3, #0] 805f408: 00db lsls r3, r3, #3 805f40a: 4a69 ldr r2, [pc, #420] ; (805f5b0 ) 805f40c: 441a add r2, r3 805f40e: 2320 movs r3, #32 805f410: 4967 ldr r1, [pc, #412] ; (805f5b0 ) 805f412: 486e ldr r0, [pc, #440] ; (805f5cc ) 805f414: f06f f872 bl 80ce4fc for(i = 0; i < 32; i++) { 805f418: 2300 movs r3, #0 805f41a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f41e: e017 b.n 805f450 In[i] = (float32_t) Buff64[Ns + i]; 805f420: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f424: 4a64 ldr r2, [pc, #400] ; (805f5b8 ) 805f426: 6811 ldr r1, [r2, #0] 805f428: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f42c: 440a add r2, r1 805f42e: 4960 ldr r1, [pc, #384] ; (805f5b0 ) 805f430: 00d2 lsls r2, r2, #3 805f432: 440a add r2, r1 805f434: ed92 7b00 vldr d7, [r2] 805f438: eef7 7bc7 vcvt.f32.f64 s15, d7 805f43c: 4a60 ldr r2, [pc, #384] ; (805f5c0 ) 805f43e: 009b lsls r3, r3, #2 805f440: 4413 add r3, r2 805f442: edc3 7a00 vstr s15, [r3] for(i = 0; i < 32; i++) { 805f446: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f44a: 3301 adds r3, #1 805f44c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f450: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f454: 2b1f cmp r3, #31 805f456: d9e3 bls.n 805f420 } if(pardata.IVS[pardata.IPR] == RMS) 805f458: 4b5a ldr r3, [pc, #360] ; (805f5c4 ) 805f45a: 785b ldrb r3, [r3, #1] 805f45c: b2db uxtb r3, r3 805f45e: 461a mov r2, r3 805f460: 4b58 ldr r3, [pc, #352] ; (805f5c4 ) 805f462: 4413 add r3, r2 805f464: 789b ldrb r3, [r3, #2] 805f466: b2db uxtb r3, r3 805f468: 2b01 cmp r3, #1 805f46a: d107 bne.n 805f47c arm_rms_f32(In, 32, &Octaves[5]); 805f46c: 463b mov r3, r7 805f46e: 3314 adds r3, #20 805f470: 461a mov r2, r3 805f472: 2120 movs r1, #32 805f474: 4852 ldr r0, [pc, #328] ; (805f5c0 ) 805f476: f06e fe9f bl 80ce1b8 805f47a: e03c b.n 805f4f6 else { arm_min_f32(In, 32, &fn[0], &i); 805f47c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f480: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f484: 2120 movs r1, #32 805f486: 484e ldr r0, [pc, #312] ; (805f5c0 ) 805f488: f06e ff28 bl 80ce2dc arm_max_f32(In, 32, &fn[1], &j); 805f48c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f490: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f494: 1d1a adds r2, r3, #4 805f496: 460b mov r3, r1 805f498: 2120 movs r1, #32 805f49a: 4849 ldr r0, [pc, #292] ; (805f5c0 ) 805f49c: f06e ffba bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f4a0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f4a4: eef5 7ac0 vcmpe.f32 s15, #0.0 805f4a8: eef1 fa10 vmrs APSR_nzcv, fpscr 805f4ac: dd02 ble.n 805f4b4 805f4ae: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f4b2: e003 b.n 805f4bc 805f4b4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f4b8: eef1 7a67 vneg.f32 s15, s15 805f4bc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f4c0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f4c4: eef5 7ac0 vcmpe.f32 s15, #0.0 805f4c8: eef1 fa10 vmrs APSR_nzcv, fpscr 805f4cc: dd02 ble.n 805f4d4 805f4ce: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f4d2: e003 b.n 805f4dc 805f4d4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f4d8: eef1 7a67 vneg.f32 s15, s15 805f4dc: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[5], &j); 805f4e0: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f4e4: 463b mov r3, r7 805f4e6: f103 0214 add.w r2, r3, #20 805f4ea: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f4ee: 460b mov r3, r1 805f4f0: 2102 movs r1, #2 805f4f2: f06e ff8f bl 80ce414 } //** 16 arm_biquad_cascade_df2T_f64(&S_LP_16, &Buff64[0], &Buff64[0], 32); 805f4f6: 2320 movs r3, #32 805f4f8: 4a2d ldr r2, [pc, #180] ; (805f5b0 ) 805f4fa: 492d ldr r1, [pc, #180] ; (805f5b0 ) 805f4fc: 4834 ldr r0, [pc, #208] ; (805f5d0 ) 805f4fe: f06e fffd bl 80ce4fc for(i = 0; i < 16; i++) { 805f502: 2300 movs r3, #0 805f504: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f508: e012 b.n 805f530 Buff64[i] = Buff64[i << 1]; 805f50a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f50e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f512: 005b lsls r3, r3, #1 805f514: 4926 ldr r1, [pc, #152] ; (805f5b0 ) 805f516: 00db lsls r3, r3, #3 805f518: 440b add r3, r1 805f51a: cb18 ldmia r3, {r3, r4} 805f51c: 4924 ldr r1, [pc, #144] ; (805f5b0 ) 805f51e: 00d2 lsls r2, r2, #3 805f520: 440a add r2, r1 805f522: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 16; i++) { 805f526: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f52a: 3301 adds r3, #1 805f52c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f530: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f534: 2b0f cmp r3, #15 805f536: d9e8 bls.n 805f50a } arm_biquad_cascade_df2T_f64(&S_IIR_16Hz, &Buff64[0], &Buff64[Ns], 16); 805f538: 4b1f ldr r3, [pc, #124] ; (805f5b8 ) 805f53a: 681b ldr r3, [r3, #0] 805f53c: 00db lsls r3, r3, #3 805f53e: 4a1c ldr r2, [pc, #112] ; (805f5b0 ) 805f540: 441a add r2, r3 805f542: 2310 movs r3, #16 805f544: 491a ldr r1, [pc, #104] ; (805f5b0 ) 805f546: 4823 ldr r0, [pc, #140] ; (805f5d4 ) 805f548: f06e ffd8 bl 80ce4fc for(i = 0; i < 16; i++) { 805f54c: 2300 movs r3, #0 805f54e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f552: e017 b.n 805f584 In[i] = (float32_t) Buff64[Ns + i]; 805f554: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f558: 4a17 ldr r2, [pc, #92] ; (805f5b8 ) 805f55a: 6811 ldr r1, [r2, #0] 805f55c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f560: 440a add r2, r1 805f562: 4913 ldr r1, [pc, #76] ; (805f5b0 ) 805f564: 00d2 lsls r2, r2, #3 805f566: 440a add r2, r1 805f568: ed92 7b00 vldr d7, [r2] 805f56c: eef7 7bc7 vcvt.f32.f64 s15, d7 805f570: 4a13 ldr r2, [pc, #76] ; (805f5c0 ) 805f572: 009b lsls r3, r3, #2 805f574: 4413 add r3, r2 805f576: edc3 7a00 vstr s15, [r3] for(i = 0; i < 16; i++) { 805f57a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f57e: 3301 adds r3, #1 805f580: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f584: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f588: 2b0f cmp r3, #15 805f58a: d9e3 bls.n 805f554 } if(pardata.IVS[pardata.IPR] == RMS) 805f58c: 4b0d ldr r3, [pc, #52] ; (805f5c4 ) 805f58e: 785b ldrb r3, [r3, #1] 805f590: b2db uxtb r3, r3 805f592: 461a mov r2, r3 805f594: 4b0b ldr r3, [pc, #44] ; (805f5c4 ) 805f596: 4413 add r3, r2 805f598: 789b ldrb r3, [r3, #2] 805f59a: b2db uxtb r3, r3 805f59c: 2b01 cmp r3, #1 805f59e: d11b bne.n 805f5d8 arm_rms_f32(In, 16, &Octaves[4]); 805f5a0: 463b mov r3, r7 805f5a2: 3310 adds r3, #16 805f5a4: 461a mov r2, r3 805f5a6: 2110 movs r1, #16 805f5a8: 4805 ldr r0, [pc, #20] ; (805f5c0 ) 805f5aa: f06e fe05 bl 80ce1b8 805f5ae: e050 b.n 805f652 805f5b0: 20037b20 .word 0x20037b20 805f5b4: 20026370 .word 0x20026370 805f5b8: 20021d24 .word 0x20021d24 805f5bc: 20068428 .word 0x20068428 805f5c0: 20027a00 .word 0x20027a00 805f5c4: 20023ea8 .word 0x20023ea8 805f5c8: 200278f8 .word 0x200278f8 805f5cc: 20068530 .word 0x20068530 805f5d0: 20026aa8 .word 0x20026aa8 805f5d4: 20026ec8 .word 0x20026ec8 else { arm_min_f32(In, 16, &fn[0], &i); 805f5d8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f5dc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f5e0: 2110 movs r1, #16 805f5e2: 48c0 ldr r0, [pc, #768] ; (805f8e4 ) 805f5e4: f06e fe7a bl 80ce2dc arm_max_f32(In, 16, &fn[1], &j); 805f5e8: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f5ec: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f5f0: 1d1a adds r2, r3, #4 805f5f2: 460b mov r3, r1 805f5f4: 2110 movs r1, #16 805f5f6: 48bb ldr r0, [pc, #748] ; (805f8e4 ) 805f5f8: f06e ff0c bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f5fc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f600: eef5 7ac0 vcmpe.f32 s15, #0.0 805f604: eef1 fa10 vmrs APSR_nzcv, fpscr 805f608: dd02 ble.n 805f610 805f60a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f60e: e003 b.n 805f618 805f610: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f614: eef1 7a67 vneg.f32 s15, s15 805f618: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f61c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f620: eef5 7ac0 vcmpe.f32 s15, #0.0 805f624: eef1 fa10 vmrs APSR_nzcv, fpscr 805f628: dd02 ble.n 805f630 805f62a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f62e: e003 b.n 805f638 805f630: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f634: eef1 7a67 vneg.f32 s15, s15 805f638: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[4], &j); 805f63c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f640: 463b mov r3, r7 805f642: f103 0210 add.w r2, r3, #16 805f646: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f64a: 460b mov r3, r1 805f64c: 2102 movs r1, #2 805f64e: f06e fee1 bl 80ce414 } cntOkt++; 805f652: 4ba5 ldr r3, [pc, #660] ; (805f8e8 ) 805f654: 681b ldr r3, [r3, #0] 805f656: 3301 adds r3, #1 805f658: 4aa3 ldr r2, [pc, #652] ; (805f8e8 ) 805f65a: 6013 str r3, [r2, #0] //** 8 arm_biquad_cascade_df2T_f64(&S_LP_8, &Buff64[0], &Buff64[0], 16); 805f65c: 2310 movs r3, #16 805f65e: 4aa3 ldr r2, [pc, #652] ; (805f8ec ) 805f660: 49a2 ldr r1, [pc, #648] ; (805f8ec ) 805f662: 48a3 ldr r0, [pc, #652] ; (805f8f0 ) 805f664: f06e ff4a bl 80ce4fc for(i = 0; i < 8; i++) { 805f668: 2300 movs r3, #0 805f66a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f66e: e012 b.n 805f696 Buff64[i] = Buff64[i << 1]; 805f670: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f674: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f678: 005b lsls r3, r3, #1 805f67a: 499c ldr r1, [pc, #624] ; (805f8ec ) 805f67c: 00db lsls r3, r3, #3 805f67e: 440b add r3, r1 805f680: cb18 ldmia r3, {r3, r4} 805f682: 499a ldr r1, [pc, #616] ; (805f8ec ) 805f684: 00d2 lsls r2, r2, #3 805f686: 440a add r2, r1 805f688: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 8; i++) { 805f68c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f690: 3301 adds r3, #1 805f692: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f696: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f69a: 2b07 cmp r3, #7 805f69c: d9e8 bls.n 805f670 } arm_biquad_cascade_df2T_f64(&S_IIR_8Hz, &Buff64[0], &Buff64[Ns], 8); 805f69e: 4b95 ldr r3, [pc, #596] ; (805f8f4 ) 805f6a0: 681b ldr r3, [r3, #0] 805f6a2: 00db lsls r3, r3, #3 805f6a4: 4a91 ldr r2, [pc, #580] ; (805f8ec ) 805f6a6: 441a add r2, r3 805f6a8: 2308 movs r3, #8 805f6aa: 4990 ldr r1, [pc, #576] ; (805f8ec ) 805f6ac: 4892 ldr r0, [pc, #584] ; (805f8f8 ) 805f6ae: f06e ff25 bl 80ce4fc for(i = 0; i < 8; i++) { 805f6b2: 2300 movs r3, #0 805f6b4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f6b8: e017 b.n 805f6ea In[i] = (float32_t) Buff64[Ns + i]; 805f6ba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f6be: 4a8d ldr r2, [pc, #564] ; (805f8f4 ) 805f6c0: 6811 ldr r1, [r2, #0] 805f6c2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f6c6: 440a add r2, r1 805f6c8: 4988 ldr r1, [pc, #544] ; (805f8ec ) 805f6ca: 00d2 lsls r2, r2, #3 805f6cc: 440a add r2, r1 805f6ce: ed92 7b00 vldr d7, [r2] 805f6d2: eef7 7bc7 vcvt.f32.f64 s15, d7 805f6d6: 4a83 ldr r2, [pc, #524] ; (805f8e4 ) 805f6d8: 009b lsls r3, r3, #2 805f6da: 4413 add r3, r2 805f6dc: edc3 7a00 vstr s15, [r3] for(i = 0; i < 8; i++) { 805f6e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f6e4: 3301 adds r3, #1 805f6e6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f6ea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f6ee: 2b07 cmp r3, #7 805f6f0: d9e3 bls.n 805f6ba } if(pardata.IVS[pardata.IPR] == RMS) 805f6f2: 4b82 ldr r3, [pc, #520] ; (805f8fc ) 805f6f4: 785b ldrb r3, [r3, #1] 805f6f6: b2db uxtb r3, r3 805f6f8: 461a mov r2, r3 805f6fa: 4b80 ldr r3, [pc, #512] ; (805f8fc ) 805f6fc: 4413 add r3, r2 805f6fe: 789b ldrb r3, [r3, #2] 805f700: b2db uxtb r3, r3 805f702: 2b01 cmp r3, #1 805f704: d111 bne.n 805f72a { arm_power_f32(In, 8, &fl); 805f706: f507 73de add.w r3, r7, #444 ; 0x1bc 805f70a: 461a mov r2, r3 805f70c: 2108 movs r1, #8 805f70e: 4875 ldr r0, [pc, #468] ; (805f8e4 ) 805f710: f06e fdaa bl 80ce268 rms8 += fl; 805f714: 4b7a ldr r3, [pc, #488] ; (805f900 ) 805f716: ed93 7a00 vldr s14, [r3] 805f71a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805f71e: ee77 7a27 vadd.f32 s15, s14, s15 805f722: 4b77 ldr r3, [pc, #476] ; (805f900 ) 805f724: edc3 7a00 vstr s15, [r3] 805f728: e048 b.n 805f7bc } else { arm_min_f32(In, 8, &fn[0], &i); 805f72a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f72e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f732: 2108 movs r1, #8 805f734: 486b ldr r0, [pc, #428] ; (805f8e4 ) 805f736: f06e fdd1 bl 80ce2dc arm_max_f32(In, 8, &fn[1], &j); 805f73a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f73e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f742: 1d1a adds r2, r3, #4 805f744: 460b mov r3, r1 805f746: 2108 movs r1, #8 805f748: 4866 ldr r0, [pc, #408] ; (805f8e4 ) 805f74a: f06e fe63 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f74e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f752: eef5 7ac0 vcmpe.f32 s15, #0.0 805f756: eef1 fa10 vmrs APSR_nzcv, fpscr 805f75a: dd02 ble.n 805f762 805f75c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f760: e003 b.n 805f76a 805f762: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f766: eef1 7a67 vneg.f32 s15, s15 805f76a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f76e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f772: eef5 7ac0 vcmpe.f32 s15, #0.0 805f776: eef1 fa10 vmrs APSR_nzcv, fpscr 805f77a: dd02 ble.n 805f782 805f77c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f780: e003 b.n 805f78a 805f782: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f786: eef1 7a67 vneg.f32 s15, s15 805f78a: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 805f78e: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805f792: f507 72de add.w r2, r7, #444 ; 0x1bc 805f796: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f79a: 2102 movs r1, #2 805f79c: f06e fe3a bl 80ce414 if(fl > rms8) 805f7a0: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805f7a4: 4b56 ldr r3, [pc, #344] ; (805f900 ) 805f7a6: edd3 7a00 vldr s15, [r3] 805f7aa: eeb4 7ae7 vcmpe.f32 s14, s15 805f7ae: eef1 fa10 vmrs APSR_nzcv, fpscr 805f7b2: dd03 ble.n 805f7bc rms8 = fl; 805f7b4: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805f7b8: 4a51 ldr r2, [pc, #324] ; (805f900 ) 805f7ba: 6013 str r3, [r2, #0] } //** 4 arm_biquad_cascade_df2T_f64(&S_LP_4, &Buff64[0], &Buff64[0], 8); 805f7bc: 2308 movs r3, #8 805f7be: 4a4b ldr r2, [pc, #300] ; (805f8ec ) 805f7c0: 494a ldr r1, [pc, #296] ; (805f8ec ) 805f7c2: 4850 ldr r0, [pc, #320] ; (805f904 ) 805f7c4: f06e fe9a bl 80ce4fc for(i = 0; i < 4; i++) { 805f7c8: 2300 movs r3, #0 805f7ca: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f7ce: e012 b.n 805f7f6 Buff64[i] = Buff64[i << 1]; 805f7d0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f7d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f7d8: 005b lsls r3, r3, #1 805f7da: 4944 ldr r1, [pc, #272] ; (805f8ec ) 805f7dc: 00db lsls r3, r3, #3 805f7de: 440b add r3, r1 805f7e0: cb18 ldmia r3, {r3, r4} 805f7e2: 4942 ldr r1, [pc, #264] ; (805f8ec ) 805f7e4: 00d2 lsls r2, r2, #3 805f7e6: 440a add r2, r1 805f7e8: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 4; i++) { 805f7ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f7f0: 3301 adds r3, #1 805f7f2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f7f6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f7fa: 2b03 cmp r3, #3 805f7fc: d9e8 bls.n 805f7d0 } arm_biquad_cascade_df2T_f64(&S_IIR_4Hz, &Buff64[0], &Buff64[Ns], 4); 805f7fe: 4b3d ldr r3, [pc, #244] ; (805f8f4 ) 805f800: 681b ldr r3, [r3, #0] 805f802: 00db lsls r3, r3, #3 805f804: 4a39 ldr r2, [pc, #228] ; (805f8ec ) 805f806: 441a add r2, r3 805f808: 2304 movs r3, #4 805f80a: 4938 ldr r1, [pc, #224] ; (805f8ec ) 805f80c: 483e ldr r0, [pc, #248] ; (805f908 ) 805f80e: f06e fe75 bl 80ce4fc for(i = 0; i < 4; i++) { 805f812: 2300 movs r3, #0 805f814: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f818: e017 b.n 805f84a In[i] = (float32_t) Buff64[Ns + i]; 805f81a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f81e: 4a35 ldr r2, [pc, #212] ; (805f8f4 ) 805f820: 6811 ldr r1, [r2, #0] 805f822: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f826: 440a add r2, r1 805f828: 4930 ldr r1, [pc, #192] ; (805f8ec ) 805f82a: 00d2 lsls r2, r2, #3 805f82c: 440a add r2, r1 805f82e: ed92 7b00 vldr d7, [r2] 805f832: eef7 7bc7 vcvt.f32.f64 s15, d7 805f836: 4a2b ldr r2, [pc, #172] ; (805f8e4 ) 805f838: 009b lsls r3, r3, #2 805f83a: 4413 add r3, r2 805f83c: edc3 7a00 vstr s15, [r3] for(i = 0; i < 4; i++) { 805f840: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f844: 3301 adds r3, #1 805f846: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f84a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f84e: 2b03 cmp r3, #3 805f850: d9e3 bls.n 805f81a } if(pardata.IVS[pardata.IPR] == RMS) 805f852: 4b2a ldr r3, [pc, #168] ; (805f8fc ) 805f854: 785b ldrb r3, [r3, #1] 805f856: b2db uxtb r3, r3 805f858: 461a mov r2, r3 805f85a: 4b28 ldr r3, [pc, #160] ; (805f8fc ) 805f85c: 4413 add r3, r2 805f85e: 789b ldrb r3, [r3, #2] 805f860: b2db uxtb r3, r3 805f862: 2b01 cmp r3, #1 805f864: d111 bne.n 805f88a { arm_power_f32(In, 4, &fl); 805f866: f507 73de add.w r3, r7, #444 ; 0x1bc 805f86a: 461a mov r2, r3 805f86c: 2104 movs r1, #4 805f86e: 481d ldr r0, [pc, #116] ; (805f8e4 ) 805f870: f06e fcfa bl 80ce268 rms4 += fl; 805f874: 4b25 ldr r3, [pc, #148] ; (805f90c ) 805f876: ed93 7a00 vldr s14, [r3] 805f87a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805f87e: ee77 7a27 vadd.f32 s15, s14, s15 805f882: 4b22 ldr r3, [pc, #136] ; (805f90c ) 805f884: edc3 7a00 vstr s15, [r3] 805f888: e05f b.n 805f94a } else { arm_min_f32(In, 4, &fn[0], &i); 805f88a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f88e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f892: 2104 movs r1, #4 805f894: 4813 ldr r0, [pc, #76] ; (805f8e4 ) 805f896: f06e fd21 bl 80ce2dc arm_max_f32(In, 4, &fn[1], &j); 805f89a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f89e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f8a2: 1d1a adds r2, r3, #4 805f8a4: 460b mov r3, r1 805f8a6: 2104 movs r1, #4 805f8a8: 480e ldr r0, [pc, #56] ; (805f8e4 ) 805f8aa: f06e fdb3 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f8ae: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f8b2: eef5 7ac0 vcmpe.f32 s15, #0.0 805f8b6: eef1 fa10 vmrs APSR_nzcv, fpscr 805f8ba: dd02 ble.n 805f8c2 805f8bc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f8c0: e003 b.n 805f8ca 805f8c2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f8c6: eef1 7a67 vneg.f32 s15, s15 805f8ca: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f8ce: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f8d2: eef5 7ac0 vcmpe.f32 s15, #0.0 805f8d6: eef1 fa10 vmrs APSR_nzcv, fpscr 805f8da: dd19 ble.n 805f910 805f8dc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f8e0: e01a b.n 805f918 805f8e2: bf00 nop 805f8e4: 20027a00 .word 0x20027a00 805f8e8: 20020db0 .word 0x20020db0 805f8ec: 20037b20 .word 0x20037b20 805f8f0: 2002637c .word 0x2002637c 805f8f4: 20021d24 .word 0x20021d24 805f8f8: 20057f88 .word 0x20057f88 805f8fc: 20023ea8 .word 0x20023ea8 805f900: 20021d18 .word 0x20021d18 805f904: 20057b20 .word 0x20057b20 805f908: 20027914 .word 0x20027914 805f90c: 20021d60 .word 0x20021d60 805f910: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f914: eef1 7a67 vneg.f32 s15, s15 805f918: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 805f91c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805f920: f507 72de add.w r2, r7, #444 ; 0x1bc 805f924: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f928: 2102 movs r1, #2 805f92a: f06e fd73 bl 80ce414 if(fl > rms4) 805f92e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805f932: 4ba7 ldr r3, [pc, #668] ; (805fbd0 ) 805f934: edd3 7a00 vldr s15, [r3] 805f938: eeb4 7ae7 vcmpe.f32 s14, s15 805f93c: eef1 fa10 vmrs APSR_nzcv, fpscr 805f940: dd03 ble.n 805f94a rms4 = fl; 805f942: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805f946: 4aa2 ldr r2, [pc, #648] ; (805fbd0 ) 805f948: 6013 str r3, [r2, #0] } //** 2 arm_biquad_cascade_df2T_f64(&S_LP_2, &Buff64[0], &Buff64[0], 4); 805f94a: 2304 movs r3, #4 805f94c: 4aa1 ldr r2, [pc, #644] ; (805fbd4 ) 805f94e: 49a1 ldr r1, [pc, #644] ; (805fbd4 ) 805f950: 48a1 ldr r0, [pc, #644] ; (805fbd8 ) 805f952: f06e fdd3 bl 80ce4fc for(i = 0; i < 2; i++) { 805f956: 2300 movs r3, #0 805f958: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f95c: e012 b.n 805f984 Buff64[i] = Buff64[i << 1]; 805f95e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f962: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f966: 005b lsls r3, r3, #1 805f968: 499a ldr r1, [pc, #616] ; (805fbd4 ) 805f96a: 00db lsls r3, r3, #3 805f96c: 440b add r3, r1 805f96e: cb18 ldmia r3, {r3, r4} 805f970: 4998 ldr r1, [pc, #608] ; (805fbd4 ) 805f972: 00d2 lsls r2, r2, #3 805f974: 440a add r2, r1 805f976: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 2; i++) { 805f97a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f97e: 3301 adds r3, #1 805f980: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f984: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f988: 2b01 cmp r3, #1 805f98a: d9e8 bls.n 805f95e } arm_biquad_cascade_df2T_f64(&S_IIR_2Hz, &Buff64[0], &Buff64[Ns], 2); 805f98c: 4b93 ldr r3, [pc, #588] ; (805fbdc ) 805f98e: 681b ldr r3, [r3, #0] 805f990: 00db lsls r3, r3, #3 805f992: 4a90 ldr r2, [pc, #576] ; (805fbd4 ) 805f994: 441a add r2, r3 805f996: 2302 movs r3, #2 805f998: 498e ldr r1, [pc, #568] ; (805fbd4 ) 805f99a: 4891 ldr r0, [pc, #580] ; (805fbe0 ) 805f99c: f06e fdae bl 80ce4fc for(i = 0; i < 2; i++) { 805f9a0: 2300 movs r3, #0 805f9a2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f9a6: e017 b.n 805f9d8 In[i] = (float32_t) Buff64[Ns + i]; 805f9a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f9ac: 4a8b ldr r2, [pc, #556] ; (805fbdc ) 805f9ae: 6811 ldr r1, [r2, #0] 805f9b0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f9b4: 440a add r2, r1 805f9b6: 4987 ldr r1, [pc, #540] ; (805fbd4 ) 805f9b8: 00d2 lsls r2, r2, #3 805f9ba: 440a add r2, r1 805f9bc: ed92 7b00 vldr d7, [r2] 805f9c0: eef7 7bc7 vcvt.f32.f64 s15, d7 805f9c4: 4a87 ldr r2, [pc, #540] ; (805fbe4 ) 805f9c6: 009b lsls r3, r3, #2 805f9c8: 4413 add r3, r2 805f9ca: edc3 7a00 vstr s15, [r3] for(i = 0; i < 2; i++) { 805f9ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f9d2: 3301 adds r3, #1 805f9d4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f9d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f9dc: 2b01 cmp r3, #1 805f9de: d9e3 bls.n 805f9a8 } if(pardata.IVS[pardata.IPR] == RMS) 805f9e0: 4b81 ldr r3, [pc, #516] ; (805fbe8 ) 805f9e2: 785b ldrb r3, [r3, #1] 805f9e4: b2db uxtb r3, r3 805f9e6: 461a mov r2, r3 805f9e8: 4b7f ldr r3, [pc, #508] ; (805fbe8 ) 805f9ea: 4413 add r3, r2 805f9ec: 789b ldrb r3, [r3, #2] 805f9ee: b2db uxtb r3, r3 805f9f0: 2b01 cmp r3, #1 805f9f2: d111 bne.n 805fa18 { arm_power_f32(In, 2, &fl); 805f9f4: f507 73de add.w r3, r7, #444 ; 0x1bc 805f9f8: 461a mov r2, r3 805f9fa: 2102 movs r1, #2 805f9fc: 4879 ldr r0, [pc, #484] ; (805fbe4 ) 805f9fe: f06e fc33 bl 80ce268 rms2 += fl; 805fa02: 4b7a ldr r3, [pc, #488] ; (805fbec ) 805fa04: ed93 7a00 vldr s14, [r3] 805fa08: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805fa0c: ee77 7a27 vadd.f32 s15, s14, s15 805fa10: 4b76 ldr r3, [pc, #472] ; (805fbec ) 805fa12: edc3 7a00 vstr s15, [r3] 805fa16: e048 b.n 805faaa } else { arm_min_f32(In, 2, &fn[0], &i); 805fa18: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805fa1c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fa20: 2102 movs r1, #2 805fa22: 4870 ldr r0, [pc, #448] ; (805fbe4 ) 805fa24: f06e fc5a bl 80ce2dc arm_max_f32(In, 2, &fn[1], &j); 805fa28: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fa2c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fa30: 1d1a adds r2, r3, #4 805fa32: 460b mov r3, r1 805fa34: 2102 movs r1, #2 805fa36: 486b ldr r0, [pc, #428] ; (805fbe4 ) 805fa38: f06e fcec bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fa3c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fa40: eef5 7ac0 vcmpe.f32 s15, #0.0 805fa44: eef1 fa10 vmrs APSR_nzcv, fpscr 805fa48: dd02 ble.n 805fa50 805fa4a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fa4e: e003 b.n 805fa58 805fa50: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fa54: eef1 7a67 vneg.f32 s15, s15 805fa58: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fa5c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fa60: eef5 7ac0 vcmpe.f32 s15, #0.0 805fa64: eef1 fa10 vmrs APSR_nzcv, fpscr 805fa68: dd02 ble.n 805fa70 805fa6a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fa6e: e003 b.n 805fa78 805fa70: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fa74: eef1 7a67 vneg.f32 s15, s15 805fa78: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 805fa7c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805fa80: f507 72de add.w r2, r7, #444 ; 0x1bc 805fa84: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fa88: 2102 movs r1, #2 805fa8a: f06e fcc3 bl 80ce414 if(fl > rms2) 805fa8e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805fa92: 4b56 ldr r3, [pc, #344] ; (805fbec ) 805fa94: edd3 7a00 vldr s15, [r3] 805fa98: eeb4 7ae7 vcmpe.f32 s14, s15 805fa9c: eef1 fa10 vmrs APSR_nzcv, fpscr 805faa0: dd03 ble.n 805faaa rms2 = fl; 805faa2: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805faa6: 4a51 ldr r2, [pc, #324] ; (805fbec ) 805faa8: 6013 str r3, [r2, #0] } //** 1 arm_biquad_cascade_df2T_f64(&S_LP_1, &Buff64[0], &Buff64[0], 2); 805faaa: 2302 movs r3, #2 805faac: 4a49 ldr r2, [pc, #292] ; (805fbd4 ) 805faae: 4949 ldr r1, [pc, #292] ; (805fbd4 ) 805fab0: 484f ldr r0, [pc, #316] ; (805fbf0 ) 805fab2: f06e fd23 bl 80ce4fc for(i = 0; i < 1; i++) { 805fab6: 2300 movs r3, #0 805fab8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fabc: e012 b.n 805fae4 Buff64[i] = Buff64[i << 1]; 805fabe: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fac2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fac6: 005b lsls r3, r3, #1 805fac8: 4942 ldr r1, [pc, #264] ; (805fbd4 ) 805faca: 00db lsls r3, r3, #3 805facc: 440b add r3, r1 805face: cb18 ldmia r3, {r3, r4} 805fad0: 4940 ldr r1, [pc, #256] ; (805fbd4 ) 805fad2: 00d2 lsls r2, r2, #3 805fad4: 440a add r2, r1 805fad6: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 1; i++) { 805fada: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fade: 3301 adds r3, #1 805fae0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fae4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fae8: 2b00 cmp r3, #0 805faea: d0e8 beq.n 805fabe } arm_biquad_cascade_df2T_f64(&S_IIR_1Hz, &Buff64[0], &Buff64[Ns], 1); 805faec: 4b3b ldr r3, [pc, #236] ; (805fbdc ) 805faee: 681b ldr r3, [r3, #0] 805faf0: 00db lsls r3, r3, #3 805faf2: 4a38 ldr r2, [pc, #224] ; (805fbd4 ) 805faf4: 441a add r2, r3 805faf6: 2301 movs r3, #1 805faf8: 4936 ldr r1, [pc, #216] ; (805fbd4 ) 805fafa: 483e ldr r0, [pc, #248] ; (805fbf4 ) 805fafc: f06e fcfe bl 80ce4fc for(i = 0; i < 1; i++) { 805fb00: 2300 movs r3, #0 805fb02: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fb06: e017 b.n 805fb38 In[i] = (float32_t) Buff64[Ns + i]; 805fb08: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fb0c: 4a33 ldr r2, [pc, #204] ; (805fbdc ) 805fb0e: 6811 ldr r1, [r2, #0] 805fb10: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fb14: 440a add r2, r1 805fb16: 492f ldr r1, [pc, #188] ; (805fbd4 ) 805fb18: 00d2 lsls r2, r2, #3 805fb1a: 440a add r2, r1 805fb1c: ed92 7b00 vldr d7, [r2] 805fb20: eef7 7bc7 vcvt.f32.f64 s15, d7 805fb24: 4a2f ldr r2, [pc, #188] ; (805fbe4 ) 805fb26: 009b lsls r3, r3, #2 805fb28: 4413 add r3, r2 805fb2a: edc3 7a00 vstr s15, [r3] for(i = 0; i < 1; i++) { 805fb2e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fb32: 3301 adds r3, #1 805fb34: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fb38: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fb3c: 2b00 cmp r3, #0 805fb3e: d0e3 beq.n 805fb08 } if(pardata.IVS[pardata.IPR] == RMS) 805fb40: 4b29 ldr r3, [pc, #164] ; (805fbe8 ) 805fb42: 785b ldrb r3, [r3, #1] 805fb44: b2db uxtb r3, r3 805fb46: 461a mov r2, r3 805fb48: 4b27 ldr r3, [pc, #156] ; (805fbe8 ) 805fb4a: 4413 add r3, r2 805fb4c: 789b ldrb r3, [r3, #2] 805fb4e: b2db uxtb r3, r3 805fb50: 2b01 cmp r3, #1 805fb52: d111 bne.n 805fb78 { arm_power_f32(In, 1, &fl); 805fb54: f507 73de add.w r3, r7, #444 ; 0x1bc 805fb58: 461a mov r2, r3 805fb5a: 2101 movs r1, #1 805fb5c: 4821 ldr r0, [pc, #132] ; (805fbe4 ) 805fb5e: f06e fb83 bl 80ce268 rms1 += fl; 805fb62: 4b25 ldr r3, [pc, #148] ; (805fbf8 ) 805fb64: ed93 7a00 vldr s14, [r3] 805fb68: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805fb6c: ee77 7a27 vadd.f32 s15, s14, s15 805fb70: 4b21 ldr r3, [pc, #132] ; (805fbf8 ) 805fb72: edc3 7a00 vstr s15, [r3] 805fb76: e05e b.n 805fc36 } else { arm_min_f32(In, 1, &fn[0], &i); 805fb78: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805fb7c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fb80: 2101 movs r1, #1 805fb82: 4818 ldr r0, [pc, #96] ; (805fbe4 ) 805fb84: f06e fbaa bl 80ce2dc arm_max_f32(In, 1, &fn[1], &j); 805fb88: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fb8c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fb90: 1d1a adds r2, r3, #4 805fb92: 460b mov r3, r1 805fb94: 2101 movs r1, #1 805fb96: 4813 ldr r0, [pc, #76] ; (805fbe4 ) 805fb98: f06e fc3c bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fb9c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fba0: eef5 7ac0 vcmpe.f32 s15, #0.0 805fba4: eef1 fa10 vmrs APSR_nzcv, fpscr 805fba8: dd02 ble.n 805fbb0 805fbaa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fbae: e003 b.n 805fbb8 805fbb0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fbb4: eef1 7a67 vneg.f32 s15, s15 805fbb8: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fbbc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fbc0: eef5 7ac0 vcmpe.f32 s15, #0.0 805fbc4: eef1 fa10 vmrs APSR_nzcv, fpscr 805fbc8: dd18 ble.n 805fbfc 805fbca: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fbce: e019 b.n 805fc04 805fbd0: 20021d60 .word 0x20021d60 805fbd4: 20037b20 .word 0x20037b20 805fbd8: 20057d3c .word 0x20057d3c 805fbdc: 20021d24 .word 0x20021d24 805fbe0: 20058024 .word 0x20058024 805fbe4: 20027a00 .word 0x20027a00 805fbe8: 20023ea8 .word 0x20023ea8 805fbec: 20021d20 .word 0x20021d20 805fbf0: 200261c8 .word 0x200261c8 805fbf4: 200278ac .word 0x200278ac 805fbf8: 20021d58 .word 0x20021d58 805fbfc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fc00: eef1 7a67 vneg.f32 s15, s15 805fc04: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 805fc08: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805fc0c: f507 72de add.w r2, r7, #444 ; 0x1bc 805fc10: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fc14: 2102 movs r1, #2 805fc16: f06e fbfd bl 80ce414 if(fl > rms1) 805fc1a: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805fc1e: 4bb8 ldr r3, [pc, #736] ; (805ff00 ) 805fc20: edd3 7a00 vldr s15, [r3] 805fc24: eeb4 7ae7 vcmpe.f32 s14, s15 805fc28: eef1 fa10 vmrs APSR_nzcv, fpscr 805fc2c: dd03 ble.n 805fc36 rms1 = fl; 805fc2e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805fc32: 4ab3 ldr r2, [pc, #716] ; (805ff00 ) 805fc34: 6013 str r3, [r2, #0] if(cntOkt == 8) 805fc36: 4bb3 ldr r3, [pc, #716] ; (805ff04 ) 805fc38: 681b ldr r3, [r3, #0] 805fc3a: 2b08 cmp r3, #8 805fc3c: f040 811d bne.w 805fe7a { MeanCnt++; 805fc40: 4bb1 ldr r3, [pc, #708] ; (805ff08 ) 805fc42: 681b ldr r3, [r3, #0] 805fc44: 3301 adds r3, #1 805fc46: 4ab0 ldr r2, [pc, #704] ; (805ff08 ) 805fc48: 6013 str r3, [r2, #0] cntOkt = 0; 805fc4a: 4bae ldr r3, [pc, #696] ; (805ff04 ) 805fc4c: 2200 movs r2, #0 805fc4e: 601a str r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 805fc50: 4bae ldr r3, [pc, #696] ; (805ff0c ) 805fc52: 7b5b ldrb r3, [r3, #13] 805fc54: b2db uxtb r3, r3 805fc56: 461a mov r2, r3 805fc58: 4bad ldr r3, [pc, #692] ; (805ff10 ) 805fc5a: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805fc5e: 461a mov r2, r3 805fc60: 4ba9 ldr r3, [pc, #676] ; (805ff08 ) 805fc62: 681b ldr r3, [r3, #0] 805fc64: 429a cmp r2, r3 805fc66: f040 8108 bne.w 805fe7a { if(pardata.IVS[ACC] == RMS) 805fc6a: 4ba8 ldr r3, [pc, #672] ; (805ff0c ) 805fc6c: 789b ldrb r3, [r3, #2] 805fc6e: b2db uxtb r3, r3 805fc70: 2b01 cmp r3, #1 805fc72: d16f bne.n 805fd54 { rms8 /= (64.0f * (float32_t) MeanCnt); 805fc74: 4ba4 ldr r3, [pc, #656] ; (805ff08 ) 805fc76: 681b ldr r3, [r3, #0] 805fc78: ee07 3a90 vmov s15, r3 805fc7c: eef8 7a67 vcvt.f32.u32 s15, s15 805fc80: ed9f 7aa4 vldr s14, [pc, #656] ; 805ff14 805fc84: ee27 7a87 vmul.f32 s14, s15, s14 805fc88: 4ba3 ldr r3, [pc, #652] ; (805ff18 ) 805fc8a: edd3 6a00 vldr s13, [r3] 805fc8e: eec6 7a87 vdiv.f32 s15, s13, s14 805fc92: 4ba1 ldr r3, [pc, #644] ; (805ff18 ) 805fc94: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms8, &Octaves[3]); 805fc98: 4b9f ldr r3, [pc, #636] ; (805ff18 ) 805fc9a: edd3 7a00 vldr s15, [r3] 805fc9e: 463b mov r3, r7 805fca0: 330c adds r3, #12 805fca2: 4618 mov r0, r3 805fca4: eeb0 0a67 vmov.f32 s0, s15 805fca8: f7f6 fdd2 bl 8056850 rms4 /= (32.0f * (float32_t) MeanCnt); 805fcac: 4b96 ldr r3, [pc, #600] ; (805ff08 ) 805fcae: 681b ldr r3, [r3, #0] 805fcb0: ee07 3a90 vmov s15, r3 805fcb4: eef8 7a67 vcvt.f32.u32 s15, s15 805fcb8: ed9f 7a98 vldr s14, [pc, #608] ; 805ff1c 805fcbc: ee27 7a87 vmul.f32 s14, s15, s14 805fcc0: 4b97 ldr r3, [pc, #604] ; (805ff20 ) 805fcc2: edd3 6a00 vldr s13, [r3] 805fcc6: eec6 7a87 vdiv.f32 s15, s13, s14 805fcca: 4b95 ldr r3, [pc, #596] ; (805ff20 ) 805fccc: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms4, &Octaves[2]); 805fcd0: 4b93 ldr r3, [pc, #588] ; (805ff20 ) 805fcd2: edd3 7a00 vldr s15, [r3] 805fcd6: 463b mov r3, r7 805fcd8: 3308 adds r3, #8 805fcda: 4618 mov r0, r3 805fcdc: eeb0 0a67 vmov.f32 s0, s15 805fce0: f7f6 fdb6 bl 8056850 rms2 /= (16.0f * (float32_t) MeanCnt); 805fce4: 4b88 ldr r3, [pc, #544] ; (805ff08 ) 805fce6: 681b ldr r3, [r3, #0] 805fce8: ee07 3a90 vmov s15, r3 805fcec: eef8 7a67 vcvt.f32.u32 s15, s15 805fcf0: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 805fcf4: ee27 7a87 vmul.f32 s14, s15, s14 805fcf8: 4b8a ldr r3, [pc, #552] ; (805ff24 ) 805fcfa: edd3 6a00 vldr s13, [r3] 805fcfe: eec6 7a87 vdiv.f32 s15, s13, s14 805fd02: 4b88 ldr r3, [pc, #544] ; (805ff24 ) 805fd04: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms2, &Octaves[1]); 805fd08: 4b86 ldr r3, [pc, #536] ; (805ff24 ) 805fd0a: edd3 7a00 vldr s15, [r3] 805fd0e: 463b mov r3, r7 805fd10: 3304 adds r3, #4 805fd12: 4618 mov r0, r3 805fd14: eeb0 0a67 vmov.f32 s0, s15 805fd18: f7f6 fd9a bl 8056850 rms1 /= (8.0f * (float32_t) MeanCnt); 805fd1c: 4b7a ldr r3, [pc, #488] ; (805ff08 ) 805fd1e: 681b ldr r3, [r3, #0] 805fd20: ee07 3a90 vmov s15, r3 805fd24: eef8 7a67 vcvt.f32.u32 s15, s15 805fd28: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 805fd2c: ee27 7a87 vmul.f32 s14, s15, s14 805fd30: 4b73 ldr r3, [pc, #460] ; (805ff00 ) 805fd32: edd3 6a00 vldr s13, [r3] 805fd36: eec6 7a87 vdiv.f32 s15, s13, s14 805fd3a: 4b71 ldr r3, [pc, #452] ; (805ff00 ) 805fd3c: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1, &Octaves[0]); 805fd40: 4b6f ldr r3, [pc, #444] ; (805ff00 ) 805fd42: edd3 7a00 vldr s15, [r3] 805fd46: 463b mov r3, r7 805fd48: 4618 mov r0, r3 805fd4a: eeb0 0a67 vmov.f32 s0, s15 805fd4e: f7f6 fd7f bl 8056850 805fd52: e00f b.n 805fd74 } else { Octaves[3] = rms8; 805fd54: 4b70 ldr r3, [pc, #448] ; (805ff18 ) 805fd56: 681a ldr r2, [r3, #0] 805fd58: 463b mov r3, r7 805fd5a: 60da str r2, [r3, #12] Octaves[2] = rms4; 805fd5c: 4b70 ldr r3, [pc, #448] ; (805ff20 ) 805fd5e: 681a ldr r2, [r3, #0] 805fd60: 463b mov r3, r7 805fd62: 609a str r2, [r3, #8] Octaves[1] = rms2; 805fd64: 4b6f ldr r3, [pc, #444] ; (805ff24 ) 805fd66: 681a ldr r2, [r3, #0] 805fd68: 463b mov r3, r7 805fd6a: 605a str r2, [r3, #4] Octaves[0] = rms1; 805fd6c: 4b64 ldr r3, [pc, #400] ; (805ff00 ) 805fd6e: 681a ldr r2, [r3, #0] 805fd70: 463b mov r3, r7 805fd72: 601a str r2, [r3, #0] } fs = 1.0f; 805fd74: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 805fd78: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 if(pardata.IPR == VEL) 805fd7c: 4b63 ldr r3, [pc, #396] ; (805ff0c ) 805fd7e: 785b ldrb r3, [r3, #1] 805fd80: b2db uxtb r3, r3 805fd82: 2b01 cmp r3, #1 805fd84: d103 bne.n 805fd8e fs = 249.135f; 805fd86: 4b68 ldr r3, [pc, #416] ; (805ff28 ) 805fd88: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 805fd8c: e007 b.n 805fd9e else if(pardata.IPR == DIS) 805fd8e: 4b5f ldr r3, [pc, #380] ; (805ff0c ) 805fd90: 785b ldrb r3, [r3, #1] 805fd92: b2db uxtb r3, r3 805fd94: 2b02 cmp r3, #2 805fd96: d102 bne.n 805fd9e fs = 61400.171f; 805fd98: 4b64 ldr r3, [pc, #400] ; (805ff2c ) 805fd9a: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 for(i = 0; i < 15; i++) { 805fd9e: 2300 movs r3, #0 805fda0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fda4: e016 b.n 805fdd4 In[i] = Octaves[i] * fs; 805fda6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fdaa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fdae: 4639 mov r1, r7 805fdb0: 0092 lsls r2, r2, #2 805fdb2: 440a add r2, r1 805fdb4: ed92 7a00 vldr s14, [r2] 805fdb8: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805fdbc: ee67 7a27 vmul.f32 s15, s14, s15 805fdc0: 4a5b ldr r2, [pc, #364] ; (805ff30 ) 805fdc2: 009b lsls r3, r3, #2 805fdc4: 4413 add r3, r2 805fdc6: edc3 7a00 vstr s15, [r3] for(i = 0; i < 15; i++) { 805fdca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fdce: 3301 adds r3, #1 805fdd0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fdd4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fdd8: 2b0e cmp r3, #14 805fdda: d9e4 bls.n 805fda6 } if(pardata.IPR > ACC) 805fddc: 4b4b ldr r3, [pc, #300] ; (805ff0c ) 805fdde: 785b ldrb r3, [r3, #1] 805fde0: b2db uxtb r3, r3 805fde2: 2b00 cmp r3, #0 805fde4: d003 beq.n 805fdee In[0] = 0.0f; 805fde6: 4b52 ldr r3, [pc, #328] ; (805ff30 ) 805fde8: f04f 0200 mov.w r2, #0 805fdec: 601a str r2, [r3, #0] rms0_8 = 0.0f; 805fdee: 4b51 ldr r3, [pc, #324] ; (805ff34 ) 805fdf0: f04f 0200 mov.w r2, #0 805fdf4: 601a str r2, [r3, #0] rms1 = 0.0f; 805fdf6: 4b42 ldr r3, [pc, #264] ; (805ff00 ) 805fdf8: f04f 0200 mov.w r2, #0 805fdfc: 601a str r2, [r3, #0] rms1_25 = 0.0f; 805fdfe: 4b4e ldr r3, [pc, #312] ; (805ff38 ) 805fe00: f04f 0200 mov.w r2, #0 805fe04: 601a str r2, [r3, #0] rms1_6 = 0.0f; 805fe06: 4b4d ldr r3, [pc, #308] ; (805ff3c ) 805fe08: f04f 0200 mov.w r2, #0 805fe0c: 601a str r2, [r3, #0] rms2 = 0.0f; 805fe0e: 4b45 ldr r3, [pc, #276] ; (805ff24 ) 805fe10: f04f 0200 mov.w r2, #0 805fe14: 601a str r2, [r3, #0] rms2_5 = 0.0f; 805fe16: 4b4a ldr r3, [pc, #296] ; (805ff40 ) 805fe18: f04f 0200 mov.w r2, #0 805fe1c: 601a str r2, [r3, #0] rms3_15 = 0.0f; 805fe1e: 4b49 ldr r3, [pc, #292] ; (805ff44 ) 805fe20: f04f 0200 mov.w r2, #0 805fe24: 601a str r2, [r3, #0] rms4 = 0.0f; 805fe26: 4b3e ldr r3, [pc, #248] ; (805ff20 ) 805fe28: f04f 0200 mov.w r2, #0 805fe2c: 601a str r2, [r3, #0] rms5 = 0.0f; 805fe2e: 4b46 ldr r3, [pc, #280] ; (805ff48 ) 805fe30: f04f 0200 mov.w r2, #0 805fe34: 601a str r2, [r3, #0] rms6_3 = 0.0f; 805fe36: 4b45 ldr r3, [pc, #276] ; (805ff4c ) 805fe38: f04f 0200 mov.w r2, #0 805fe3c: 601a str r2, [r3, #0] rms8 = 0.0f; 805fe3e: 4b36 ldr r3, [pc, #216] ; (805ff18 ) 805fe40: f04f 0200 mov.w r2, #0 805fe44: 601a str r2, [r3, #0] rms10 = 0.0f; 805fe46: 4b42 ldr r3, [pc, #264] ; (805ff50 ) 805fe48: f04f 0200 mov.w r2, #0 805fe4c: 601a str r2, [r3, #0] FastCopy16(IN_Reg, SCR_Reg, 30); 805fe4e: 221e movs r2, #30 805fe50: 2104 movs r1, #4 805fe52: 2001 movs r0, #1 805fe54: f005 f9c4 bl 80651e0 MeanCnt = 0; 805fe58: 4b2b ldr r3, [pc, #172] ; (805ff08 ) 805fe5a: 2200 movs r2, #0 805fe5c: 601a str r2, [r3, #0] if(firstOkt) 805fe5e: 4b3d ldr r3, [pc, #244] ; (805ff54 ) 805fe60: 781b ldrb r3, [r3, #0] 805fe62: b2db uxtb r3, r3 805fe64: 2b00 cmp r3, #0 805fe66: d005 beq.n 805fe74 { firstOkt = false; 805fe68: 4b3a ldr r3, [pc, #232] ; (805ff54 ) 805fe6a: 2200 movs r2, #0 805fe6c: 701a strb r2, [r3, #0] AUTOZOOM = true; 805fe6e: 4b3a ldr r3, [pc, #232] ; (805ff58 ) 805fe70: 2201 movs r2, #1 805fe72: 701a strb r2, [r3, #0] } READY_TO_SEE = true; 805fe74: 4b39 ldr r3, [pc, #228] ; (805ff5c ) 805fe76: 2201 movs r2, #1 805fe78: 701a strb r2, [r3, #0] } } //**************************************************************************** cntcnt = DWT->CYCCNT - cntcnt; 805fe7a: 4b39 ldr r3, [pc, #228] ; (805ff60 ) 805fe7c: 685b ldr r3, [r3, #4] 805fe7e: 4619 mov r1, r3 805fe80: f04f 0200 mov.w r2, #0 805fe84: f507 73f8 add.w r3, r7, #496 ; 0x1f0 805fe88: cb18 ldmia r3, {r3, r4} 805fe8a: 1acb subs r3, r1, r3 805fe8c: eb62 0404 sbc.w r4, r2, r4 805fe90: f507 72f8 add.w r2, r7, #496 ; 0x1f0 805fe94: e882 0018 stmia.w r2, {r3, r4} cntcnt = 0; 805fe98: f04f 0300 mov.w r3, #0 805fe9c: f04f 0400 mov.w r4, #0 805fea0: f507 72f8 add.w r2, r7, #496 ; 0x1f0 805fea4: e882 0018 stmia.w r2, {r3, r4} { 805fea8: bf00 nop else { RepeatKm = true; } } break; 805feaa: f005 b854 b.w 8064f56 RepeatKm = true; 805feae: 4b2d ldr r3, [pc, #180] ; (805ff64 ) 805feb0: 2201 movs r2, #1 805feb2: 701a strb r2, [r3, #0] break; 805feb4: f005 b84f b.w 8064f56 case SPEC_THIRD: if(measuring) 805feb8: 4b2b ldr r3, [pc, #172] ; (805ff68 ) 805feba: 781b ldrb r3, [r3, #0] 805febc: b2db uxtb r3, r3 805febe: 2b00 cmp r3, #0 805fec0: f005 804b beq.w 8064f5a { GetData(); 805fec4: f005 fb02 bl 80654cc j = 0; 805fec8: 2300 movs r3, #0 805feca: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805fece: 4b0f ldr r3, [pc, #60] ; (805ff0c ) 805fed0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805fed4: f003 0304 and.w r3, r3, #4 805fed8: 2b00 cmp r3, #0 805feda: d005 beq.n 805fee8 CalculateGain(Ns); 805fedc: 4b23 ldr r3, [pc, #140] ; (805ff6c ) 805fede: 681b ldr r3, [r3, #0] 805fee0: 4618 mov r0, r3 805fee2: f7f6 fcd7 bl 8056894 805fee6: e06a b.n 805ffbe else { Stability = (Nr * 4) + 1; 805fee8: 4b21 ldr r3, [pc, #132] ; (805ff70 ) 805feea: 881b ldrh r3, [r3, #0] 805feec: b29b uxth r3, r3 805feee: 009b lsls r3, r3, #2 805fef0: 3301 adds r3, #1 805fef2: 461a mov r2, r3 805fef4: 4b1f ldr r3, [pc, #124] ; (805ff74 ) 805fef6: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805fef8: 2300 movs r3, #0 805fefa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fefe: e04d b.n 805ff9c 805ff00: 20021d58 .word 0x20021d58 805ff04: 20020db0 .word 0x20020db0 805ff08: 20020dd8 .word 0x20020dd8 805ff0c: 20023ea8 .word 0x20023ea8 805ff10: 080f2e78 .word 0x080f2e78 805ff14: 42800000 .word 0x42800000 805ff18: 20021d18 .word 0x20021d18 805ff1c: 42000000 .word 0x42000000 805ff20: 20021d60 .word 0x20021d60 805ff24: 20021d20 .word 0x20021d20 805ff28: 4379228f .word 0x4379228f 805ff2c: 476fd82c .word 0x476fd82c 805ff30: 20027a00 .word 0x20027a00 805ff34: 20021d1c .word 0x20021d1c 805ff38: 20021d10 .word 0x20021d10 805ff3c: 20021d14 .word 0x20021d14 805ff40: 20021d40 .word 0x20021d40 805ff44: 20021d5c .word 0x20021d5c 805ff48: 20021d2c .word 0x20021d2c 805ff4c: 20021d28 .word 0x20021d28 805ff50: 20021d54 .word 0x20021d54 805ff54: 20020db4 .word 0x20020db4 805ff58: 20020994 .word 0x20020994 805ff5c: 20020dae .word 0x20020dae 805ff60: e0001000 .word 0xe0001000 805ff64: 20020dcc .word 0x20020dcc 805ff68: 20020dcf .word 0x20020dcf 805ff6c: 20021d24 .word 0x20021d24 805ff70: 20021d68 .word 0x20021d68 805ff74: 20020dc8 .word 0x20020dc8 { if(In16[i].lg > 0xE00000) 805ff78: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ff7c: 4ab2 ldr r2, [pc, #712] ; (8060248 ) 805ff7e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805ff82: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805ff86: d904 bls.n 805ff92 j++; 805ff88: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805ff8c: 3301 adds r3, #1 805ff8e: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805ff92: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ff96: 3301 adds r3, #1 805ff98: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ff9c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ffa0: 4baa ldr r3, [pc, #680] ; (806024c ) 805ffa2: 681b ldr r3, [r3, #0] 805ffa4: 429a cmp r2, r3 805ffa6: d3e7 bcc.n 805ff78 } if(j >= 2) 805ffa8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805ffac: 2b01 cmp r3, #1 805ffae: d903 bls.n 805ffb8 OVERDRIVE = true; 805ffb0: 4ba7 ldr r3, [pc, #668] ; (8060250 ) 805ffb2: 2201 movs r2, #1 805ffb4: 701a strb r2, [r3, #0] 805ffb6: e002 b.n 805ffbe else OVERDRIVE = false; 805ffb8: 4ba5 ldr r3, [pc, #660] ; (8060250 ) 805ffba: 2200 movs r2, #0 805ffbc: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805ffbe: 4ba5 ldr r3, [pc, #660] ; (8060254 ) 805ffc0: 781b ldrb r3, [r3, #0] 805ffc2: b2db uxtb r3, r3 805ffc4: 2b00 cmp r3, #0 805ffc6: d00a beq.n 805ffde { Stability = 0; 805ffc8: 4ba3 ldr r3, [pc, #652] ; (8060258 ) 805ffca: 2200 movs r2, #0 805ffcc: 601a str r2, [r3, #0] MeanCnt = 0; 805ffce: 4ba3 ldr r3, [pc, #652] ; (806025c ) 805ffd0: 2200 movs r2, #0 805ffd2: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805ffd4: 4ba2 ldr r3, [pc, #648] ; (8060260 ) 805ffd6: f04f 32ff mov.w r2, #4294967295 805ffda: 601a str r2, [r3, #0] 805ffdc: e00d b.n 805fffa } else { if(Stability <= (Nr * 4)) 805ffde: 4ba1 ldr r3, [pc, #644] ; (8060264 ) 805ffe0: 881b ldrh r3, [r3, #0] 805ffe2: b29b uxth r3, r3 805ffe4: 009b lsls r3, r3, #2 805ffe6: 461a mov r2, r3 805ffe8: 4b9b ldr r3, [pc, #620] ; (8060258 ) 805ffea: 681b ldr r3, [r3, #0] 805ffec: 429a cmp r2, r3 805ffee: d304 bcc.n 805fffa Stability++; 805fff0: 4b99 ldr r3, [pc, #612] ; (8060258 ) 805fff2: 681b ldr r3, [r3, #0] 805fff4: 3301 adds r3, #1 805fff6: 4a98 ldr r2, [pc, #608] ; (8060258 ) 805fff8: 6013 str r3, [r2, #0] } float32_t Third[39]; if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805fffa: 4b96 ldr r3, [pc, #600] ; (8060254 ) 805fffc: 781b ldrb r3, [r3, #0] 805fffe: b2db uxtb r3, r3 8060000: 2b00 cmp r3, #0 8060002: f043 8336 bne.w 8063672 8060006: 4b97 ldr r3, [pc, #604] ; (8060264 ) 8060008: 881b ldrh r3, [r3, #0] 806000a: b29b uxth r3, r3 806000c: 009b lsls r3, r3, #2 806000e: 461a mov r2, r3 8060010: 4b91 ldr r3, [pc, #580] ; (8060258 ) 8060012: 681b ldr r3, [r3, #0] 8060014: 429a cmp r2, r3 8060016: f083 832c bcs.w 8063672 { if(!cntOkt) 806001a: 4b93 ldr r3, [pc, #588] ; (8060268 ) 806001c: 681b ldr r3, [r3, #0] 806001e: 2b00 cmp r3, #0 8060020: d104 bne.n 806002c { thrd = HAL_GetTick(); 8060022: f056 feff bl 80b6e24 8060026: 4602 mov r2, r0 8060028: 4b90 ldr r3, [pc, #576] ; (806026c ) 806002a: 601a str r2, [r3, #0] } uint64_t cntcnt = DWT->CYCCNT; 806002c: 4b90 ldr r3, [pc, #576] ; (8060270 ) 806002e: 685b ldr r3, [r3, #4] 8060030: f04f 0400 mov.w r4, #0 8060034: f507 72f4 add.w r2, r7, #488 ; 0x1e8 8060038: e882 0018 stmia.w r2, {r3, r4} fNrm = 1.0f / ((float32_t)(Ns >> 1)); 806003c: 4b83 ldr r3, [pc, #524] ; (806024c ) 806003e: 681b ldr r3, [r3, #0] 8060040: 085b lsrs r3, r3, #1 8060042: ee07 3a90 vmov s15, r3 8060046: eeb8 7a67 vcvt.f32.u32 s14, s15 806004a: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 806004e: eec6 7a87 vdiv.f32 s15, s13, s14 8060052: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8060056: 4b87 ldr r3, [pc, #540] ; (8060274 ) 8060058: edd3 7a00 vldr s15, [r3] 806005c: eeb7 7ae7 vcvt.f64.f32 d7, s15 8060060: ed9f 6b77 vldr d6, [pc, #476] ; 8060240 8060064: ee27 7b06 vmul.f64 d7, d7, d6 8060068: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 806006c: 4b82 ldr r3, [pc, #520] ; (8060278 ) 806006e: edd3 7a04 vldr s15, [r3, #16] 8060072: eeb7 6ae7 vcvt.f64.f32 d6, s15 8060076: ed97 5b82 vldr d5, [r7, #520] ; 0x208 806007a: ee85 7b06 vdiv.f64 d7, d5, d6 806007e: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 8060082: 2300 movs r3, #0 8060084: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060088: e026 b.n 80600d8 { Buff64[i] = (float64_t) In16[i].lg; 806008a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806008e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060092: 496d ldr r1, [pc, #436] ; (8060248 ) 8060094: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8060098: ee07 2a90 vmov s15, r2 806009c: eeb8 7b67 vcvt.f64.u32 d7, s15 80600a0: 4a76 ldr r2, [pc, #472] ; (806027c ) 80600a2: 00db lsls r3, r3, #3 80600a4: 4413 add r3, r2 80600a6: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 80600aa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80600ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80600b2: 4972 ldr r1, [pc, #456] ; (806027c ) 80600b4: 00d2 lsls r2, r2, #3 80600b6: 440a add r2, r1 80600b8: ed92 6b00 vldr d6, [r2] 80600bc: ed97 7b82 vldr d7, [r7, #520] ; 0x208 80600c0: ee26 7b07 vmul.f64 d7, d6, d7 80600c4: 4a6d ldr r2, [pc, #436] ; (806027c ) 80600c6: 00db lsls r3, r3, #3 80600c8: 4413 add r3, r2 80600ca: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 80600ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80600d2: 3301 adds r3, #1 80600d4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80600d8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80600dc: 4b5b ldr r3, [pc, #364] ; (806024c ) 80600de: 681b ldr r3, [r3, #0] 80600e0: 429a cmp r2, r3 80600e2: d3d2 bcc.n 806008a } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 80600e4: 4b59 ldr r3, [pc, #356] ; (806024c ) 80600e6: 681b ldr r3, [r3, #0] 80600e8: 4a64 ldr r2, [pc, #400] ; (806027c ) 80600ea: 4964 ldr r1, [pc, #400] ; (806027c ) 80600ec: 4864 ldr r0, [pc, #400] ; (8060280 ) 80600ee: f06e fa05 bl 80ce4fc if(pardata.IPR == ACC) 80600f2: 4b61 ldr r3, [pc, #388] ; (8060278 ) 80600f4: 785b ldrb r3, [r3, #1] 80600f6: b2db uxtb r3, r3 80600f8: 2b00 cmp r3, #0 80600fa: d107 bne.n 806010c { arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 80600fc: 4b53 ldr r3, [pc, #332] ; (806024c ) 80600fe: 681b ldr r3, [r3, #0] 8060100: 4a5e ldr r2, [pc, #376] ; (806027c ) 8060102: 495e ldr r1, [pc, #376] ; (806027c ) 8060104: 485f ldr r0, [pc, #380] ; (8060284 ) 8060106: f06e f9f9 bl 80ce4fc 806010a: e026 b.n 806015a } else if(pardata.IPR == VEL) 806010c: 4b5a ldr r3, [pc, #360] ; (8060278 ) 806010e: 785b ldrb r3, [r3, #1] 8060110: b2db uxtb r3, r3 8060112: 2b01 cmp r3, #1 8060114: d10e bne.n 8060134 { arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, Buff64, Ns); 8060116: 4b4d ldr r3, [pc, #308] ; (806024c ) 8060118: 681b ldr r3, [r3, #0] 806011a: 4a58 ldr r2, [pc, #352] ; (806027c ) 806011c: 4957 ldr r1, [pc, #348] ; (806027c ) 806011e: 485a ldr r0, [pc, #360] ; (8060288 ) 8060120: f06e f9ec bl 80ce4fc arm_biquad_cascade_df2T_f64(&S_HP_VEL, Buff64, Buff64, Ns); 8060124: 4b49 ldr r3, [pc, #292] ; (806024c ) 8060126: 681b ldr r3, [r3, #0] 8060128: 4a54 ldr r2, [pc, #336] ; (806027c ) 806012a: 4954 ldr r1, [pc, #336] ; (806027c ) 806012c: 4857 ldr r0, [pc, #348] ; (806028c ) 806012e: f06e f9e5 bl 80ce4fc 8060132: e012 b.n 806015a } else if(pardata.IPR == DIS) 8060134: 4b50 ldr r3, [pc, #320] ; (8060278 ) 8060136: 785b ldrb r3, [r3, #1] 8060138: b2db uxtb r3, r3 806013a: 2b02 cmp r3, #2 806013c: d10d bne.n 806015a { arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, Buff64, Ns); 806013e: 4b43 ldr r3, [pc, #268] ; (806024c ) 8060140: 681b ldr r3, [r3, #0] 8060142: 4a4e ldr r2, [pc, #312] ; (806027c ) 8060144: 494d ldr r1, [pc, #308] ; (806027c ) 8060146: 4852 ldr r0, [pc, #328] ; (8060290 ) 8060148: f06e f9d8 bl 80ce4fc arm_biquad_cascade_df2T_f64(&S_HP_DIS, Buff64, Buff64, Ns); 806014c: 4b3f ldr r3, [pc, #252] ; (806024c ) 806014e: 681b ldr r3, [r3, #0] 8060150: 4a4a ldr r2, [pc, #296] ; (806027c ) 8060152: 494a ldr r1, [pc, #296] ; (806027c ) 8060154: 484f ldr r0, [pc, #316] ; (8060294 ) 8060156: f06e f9d1 bl 80ce4fc } k = 38; 806015a: 2326 movs r3, #38 ; 0x26 806015c: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 len = 8192; 8060160: f44f 5300 mov.w r3, #8192 ; 0x2000 8060164: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 arm_biquad_cascade_df2T_f64(&S_LP_4000, &Buff64[0], &Buff64[0], len); 8060168: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806016c: 4a43 ldr r2, [pc, #268] ; (806027c ) 806016e: 4943 ldr r1, [pc, #268] ; (806027c ) 8060170: 4849 ldr r0, [pc, #292] ; (8060298 ) 8060172: f06e f9c3 bl 80ce4fc len >>= 1; 8060176: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806017a: 085b lsrs r3, r3, #1 806017c: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8060180: 2300 movs r3, #0 8060182: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060186: e012 b.n 80601ae Buff64[i] = Buff64[i << 1]; 8060188: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806018c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060190: 005b lsls r3, r3, #1 8060192: 493a ldr r1, [pc, #232] ; (806027c ) 8060194: 00db lsls r3, r3, #3 8060196: 440b add r3, r1 8060198: cb18 ldmia r3, {r3, r4} 806019a: 4938 ldr r1, [pc, #224] ; (806027c ) 806019c: 00d2 lsls r2, r2, #3 806019e: 440a add r2, r1 80601a0: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 80601a4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80601a8: 3301 adds r3, #1 80601aa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80601ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80601b2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80601b6: 429a cmp r2, r3 80601b8: d3e6 bcc.n 8060188 } //** 5000 arm_biquad_cascade_df2T_f64(&S_OKT_5000Hz, &Buff64[0], &Buff64[Ns], len); 80601ba: 4b24 ldr r3, [pc, #144] ; (806024c ) 80601bc: 681b ldr r3, [r3, #0] 80601be: 00db lsls r3, r3, #3 80601c0: 4a2e ldr r2, [pc, #184] ; (806027c ) 80601c2: 441a add r2, r3 80601c4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80601c8: 492c ldr r1, [pc, #176] ; (806027c ) 80601ca: 4834 ldr r0, [pc, #208] ; (806029c ) 80601cc: f06e f996 bl 80ce4fc for(i = 0; i < len; i++) { 80601d0: 2300 movs r3, #0 80601d2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80601d6: e017 b.n 8060208 In[i] = (float32_t) Buff64[Ns + i]; 80601d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80601dc: 4a1b ldr r2, [pc, #108] ; (806024c ) 80601de: 6811 ldr r1, [r2, #0] 80601e0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80601e4: 440a add r2, r1 80601e6: 4925 ldr r1, [pc, #148] ; (806027c ) 80601e8: 00d2 lsls r2, r2, #3 80601ea: 440a add r2, r1 80601ec: ed92 7b00 vldr d7, [r2] 80601f0: eef7 7bc7 vcvt.f32.f64 s15, d7 80601f4: 4a2a ldr r2, [pc, #168] ; (80602a0 ) 80601f6: 009b lsls r3, r3, #2 80601f8: 4413 add r3, r2 80601fa: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80601fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060202: 3301 adds r3, #1 8060204: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060208: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806020c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060210: 429a cmp r2, r3 8060212: d3e1 bcc.n 80601d8 } if(pardata.IVS[ACC] == RMS) 8060214: 4b18 ldr r3, [pc, #96] ; (8060278 ) 8060216: 789b ldrb r3, [r3, #2] 8060218: b2db uxtb r3, r3 806021a: 2b01 cmp r3, #1 806021c: d142 bne.n 80602a4 arm_rms_f32(In, len, &Third[k--]); 806021e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060222: 1e5a subs r2, r3, #1 8060224: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060228: 463a mov r2, r7 806022a: 009b lsls r3, r3, #2 806022c: 4413 add r3, r2 806022e: 461a mov r2, r3 8060230: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060234: 481a ldr r0, [pc, #104] ; (80602a0 ) 8060236: f06d ffbf bl 80ce1b8 806023a: e076 b.n 806032a 806023c: f3af 8000 nop.w 8060240: 18000018 .word 0x18000018 8060244: 3e980000 .word 0x3e980000 8060248: 20058060 .word 0x20058060 806024c: 20021d24 .word 0x20021d24 8060250: 20021579 .word 0x20021579 8060254: 20020d9e .word 0x20020d9e 8060258: 20020dc8 .word 0x20020dc8 806025c: 20020dd8 .word 0x20020dd8 8060260: 20020da8 .word 0x20020da8 8060264: 20021d68 .word 0x20021d68 8060268: 20020db0 .word 0x20020db0 806026c: 2002157c .word 0x2002157c 8060270: e0001000 .word 0xe0001000 8060274: 20020080 .word 0x20020080 8060278: 20023ea8 .word 0x20023ea8 806027c: 20037b20 .word 0x20037b20 8060280: 200265a4 .word 0x200265a4 8060284: 20025f40 .word 0x20025f40 8060288: 200261b0 .word 0x200261b0 806028c: 20025eb8 .word 0x20025eb8 8060290: 20027904 .word 0x20027904 8060294: 20027990 .word 0x20027990 8060298: 20026d14 .word 0x20026d14 806029c: 20068434 .word 0x20068434 80602a0: 20027a00 .word 0x20027a00 else { arm_min_f32(In, len, &fn[0], &i); 80602a4: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80602a8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80602ac: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80602b0: 48be ldr r0, [pc, #760] ; (80605ac ) 80602b2: f06e f813 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80602b6: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80602ba: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80602be: 1d1a adds r2, r3, #4 80602c0: 460b mov r3, r1 80602c2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80602c6: 48b9 ldr r0, [pc, #740] ; (80605ac ) 80602c8: f06e f8a4 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80602cc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80602d0: eef5 7ac0 vcmpe.f32 s15, #0.0 80602d4: eef1 fa10 vmrs APSR_nzcv, fpscr 80602d8: dd02 ble.n 80602e0 80602da: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80602de: e003 b.n 80602e8 80602e0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80602e4: eef1 7a67 vneg.f32 s15, s15 80602e8: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80602ec: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80602f0: eef5 7ac0 vcmpe.f32 s15, #0.0 80602f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80602f8: dd02 ble.n 8060300 80602fa: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80602fe: e003 b.n 8060308 8060300: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060304: eef1 7a67 vneg.f32 s15, s15 8060308: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806030c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060310: 1e5a subs r2, r3, #1 8060312: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060316: 463a mov r2, r7 8060318: 009b lsls r3, r3, #2 806031a: 441a add r2, r3 806031c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060320: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060324: 2102 movs r1, #2 8060326: f06e f875 bl 80ce414 } //** 4000 arm_biquad_cascade_df2T_f64(&S_OKT_4000Hz, &Buff64[0], &Buff64[Ns], len); 806032a: 4ba1 ldr r3, [pc, #644] ; (80605b0 ) 806032c: 681b ldr r3, [r3, #0] 806032e: 00db lsls r3, r3, #3 8060330: 4aa0 ldr r2, [pc, #640] ; (80605b4 ) 8060332: 441a add r2, r3 8060334: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060338: 499e ldr r1, [pc, #632] ; (80605b4 ) 806033a: 489f ldr r0, [pc, #636] ; (80605b8 ) 806033c: f06e f8de bl 80ce4fc for(i = 0; i < len; i++) { 8060340: 2300 movs r3, #0 8060342: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060346: e017 b.n 8060378 In[i] = (float32_t) Buff64[Ns + i]; 8060348: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806034c: 4a98 ldr r2, [pc, #608] ; (80605b0 ) 806034e: 6811 ldr r1, [r2, #0] 8060350: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060354: 440a add r2, r1 8060356: 4997 ldr r1, [pc, #604] ; (80605b4 ) 8060358: 00d2 lsls r2, r2, #3 806035a: 440a add r2, r1 806035c: ed92 7b00 vldr d7, [r2] 8060360: eef7 7bc7 vcvt.f32.f64 s15, d7 8060364: 4a91 ldr r2, [pc, #580] ; (80605ac ) 8060366: 009b lsls r3, r3, #2 8060368: 4413 add r3, r2 806036a: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806036e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060372: 3301 adds r3, #1 8060374: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060378: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806037c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060380: 429a cmp r2, r3 8060382: d3e1 bcc.n 8060348 } if(pardata.IVS[ACC] == RMS) 8060384: 4b8d ldr r3, [pc, #564] ; (80605bc ) 8060386: 789b ldrb r3, [r3, #2] 8060388: b2db uxtb r3, r3 806038a: 2b01 cmp r3, #1 806038c: d10e bne.n 80603ac arm_rms_f32(In, len, &Third[k--]); 806038e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060392: 1e5a subs r2, r3, #1 8060394: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060398: 463a mov r2, r7 806039a: 009b lsls r3, r3, #2 806039c: 4413 add r3, r2 806039e: 461a mov r2, r3 80603a0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80603a4: 4881 ldr r0, [pc, #516] ; (80605ac ) 80603a6: f06d ff07 bl 80ce1b8 80603aa: e042 b.n 8060432 else { arm_min_f32(In, len, &fn[0], &i); 80603ac: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80603b0: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80603b4: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80603b8: 487c ldr r0, [pc, #496] ; (80605ac ) 80603ba: f06d ff8f bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80603be: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80603c2: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80603c6: 1d1a adds r2, r3, #4 80603c8: 460b mov r3, r1 80603ca: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80603ce: 4877 ldr r0, [pc, #476] ; (80605ac ) 80603d0: f06e f820 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80603d4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80603d8: eef5 7ac0 vcmpe.f32 s15, #0.0 80603dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80603e0: dd02 ble.n 80603e8 80603e2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80603e6: e003 b.n 80603f0 80603e8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80603ec: eef1 7a67 vneg.f32 s15, s15 80603f0: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80603f4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80603f8: eef5 7ac0 vcmpe.f32 s15, #0.0 80603fc: eef1 fa10 vmrs APSR_nzcv, fpscr 8060400: dd02 ble.n 8060408 8060402: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060406: e003 b.n 8060410 8060408: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806040c: eef1 7a67 vneg.f32 s15, s15 8060410: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060414: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060418: 1e5a subs r2, r3, #1 806041a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806041e: 463a mov r2, r7 8060420: 009b lsls r3, r3, #2 8060422: 441a add r2, r3 8060424: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060428: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806042c: 2102 movs r1, #2 806042e: f06d fff1 bl 80ce414 } //** 3150 arm_biquad_cascade_df2T_f64(&S_OKT_3150Hz, &Buff64[0], &Buff64[Ns], len); 8060432: 4b5f ldr r3, [pc, #380] ; (80605b0 ) 8060434: 681b ldr r3, [r3, #0] 8060436: 00db lsls r3, r3, #3 8060438: 4a5e ldr r2, [pc, #376] ; (80605b4 ) 806043a: 441a add r2, r3 806043c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060440: 495c ldr r1, [pc, #368] ; (80605b4 ) 8060442: 485f ldr r0, [pc, #380] ; (80605c0 ) 8060444: f06e f85a bl 80ce4fc for(i = 0; i < len; i++) { 8060448: 2300 movs r3, #0 806044a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806044e: e017 b.n 8060480 In[i] = (float32_t) Buff64[Ns + i]; 8060450: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060454: 4a56 ldr r2, [pc, #344] ; (80605b0 ) 8060456: 6811 ldr r1, [r2, #0] 8060458: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806045c: 440a add r2, r1 806045e: 4955 ldr r1, [pc, #340] ; (80605b4 ) 8060460: 00d2 lsls r2, r2, #3 8060462: 440a add r2, r1 8060464: ed92 7b00 vldr d7, [r2] 8060468: eef7 7bc7 vcvt.f32.f64 s15, d7 806046c: 4a4f ldr r2, [pc, #316] ; (80605ac ) 806046e: 009b lsls r3, r3, #2 8060470: 4413 add r3, r2 8060472: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060476: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806047a: 3301 adds r3, #1 806047c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060480: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060484: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060488: 429a cmp r2, r3 806048a: d3e1 bcc.n 8060450 } if(pardata.IVS[ACC] == RMS) 806048c: 4b4b ldr r3, [pc, #300] ; (80605bc ) 806048e: 789b ldrb r3, [r3, #2] 8060490: b2db uxtb r3, r3 8060492: 2b01 cmp r3, #1 8060494: d10e bne.n 80604b4 arm_rms_f32(In, len, &Third[k--]); 8060496: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806049a: 1e5a subs r2, r3, #1 806049c: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80604a0: 463a mov r2, r7 80604a2: 009b lsls r3, r3, #2 80604a4: 4413 add r3, r2 80604a6: 461a mov r2, r3 80604a8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80604ac: 483f ldr r0, [pc, #252] ; (80605ac ) 80604ae: f06d fe83 bl 80ce1b8 80604b2: e042 b.n 806053a else { arm_min_f32(In, len, &fn[0], &i); 80604b4: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80604b8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80604bc: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80604c0: 483a ldr r0, [pc, #232] ; (80605ac ) 80604c2: f06d ff0b bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80604c6: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80604ca: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80604ce: 1d1a adds r2, r3, #4 80604d0: 460b mov r3, r1 80604d2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80604d6: 4835 ldr r0, [pc, #212] ; (80605ac ) 80604d8: f06d ff9c bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80604dc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80604e0: eef5 7ac0 vcmpe.f32 s15, #0.0 80604e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80604e8: dd02 ble.n 80604f0 80604ea: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80604ee: e003 b.n 80604f8 80604f0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80604f4: eef1 7a67 vneg.f32 s15, s15 80604f8: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80604fc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060500: eef5 7ac0 vcmpe.f32 s15, #0.0 8060504: eef1 fa10 vmrs APSR_nzcv, fpscr 8060508: dd02 ble.n 8060510 806050a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806050e: e003 b.n 8060518 8060510: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060514: eef1 7a67 vneg.f32 s15, s15 8060518: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806051c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060520: 1e5a subs r2, r3, #1 8060522: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060526: 463a mov r2, r7 8060528: 009b lsls r3, r3, #2 806052a: 441a add r2, r3 806052c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060530: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060534: 2102 movs r1, #2 8060536: f06d ff6d bl 80ce414 } arm_biquad_cascade_df2T_f64(&S_LP_2000, &Buff64[0], &Buff64[0], len); 806053a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806053e: 4a1d ldr r2, [pc, #116] ; (80605b4 ) 8060540: 491c ldr r1, [pc, #112] ; (80605b4 ) 8060542: 4820 ldr r0, [pc, #128] ; (80605c4 ) 8060544: f06d ffda bl 80ce4fc len >>= 1; 8060548: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806054c: 085b lsrs r3, r3, #1 806054e: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8060552: 2300 movs r3, #0 8060554: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060558: e012 b.n 8060580 Buff64[i] = Buff64[i << 1]; 806055a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806055e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060562: 005b lsls r3, r3, #1 8060564: 4913 ldr r1, [pc, #76] ; (80605b4 ) 8060566: 00db lsls r3, r3, #3 8060568: 440b add r3, r1 806056a: cb18 ldmia r3, {r3, r4} 806056c: 4911 ldr r1, [pc, #68] ; (80605b4 ) 806056e: 00d2 lsls r2, r2, #3 8060570: 440a add r2, r1 8060572: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8060576: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806057a: 3301 adds r3, #1 806057c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060580: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060584: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060588: 429a cmp r2, r3 806058a: d3e6 bcc.n 806055a } //** 2500 arm_biquad_cascade_df2T_f64(&S_OKT_2500Hz, &Buff64[0], &Buff64[Ns], len); 806058c: 4b08 ldr r3, [pc, #32] ; (80605b0 ) 806058e: 681b ldr r3, [r3, #0] 8060590: 00db lsls r3, r3, #3 8060592: 4a08 ldr r2, [pc, #32] ; (80605b4 ) 8060594: 441a add r2, r3 8060596: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806059a: 4906 ldr r1, [pc, #24] ; (80605b4 ) 806059c: 480a ldr r0, [pc, #40] ; (80605c8 ) 806059e: f06d ffad bl 80ce4fc for(i = 0; i < len; i++) { 80605a2: 2300 movs r3, #0 80605a4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80605a8: e028 b.n 80605fc 80605aa: bf00 nop 80605ac: 20027a00 .word 0x20027a00 80605b0: 20021d24 .word 0x20021d24 80605b4: 20037b20 .word 0x20037b20 80605b8: 200682f8 .word 0x200682f8 80605bc: 20023ea8 .word 0x20023ea8 80605c0: 20025ec4 .word 0x20025ec4 80605c4: 20027960 .word 0x20027960 80605c8: 20026778 .word 0x20026778 In[i] = (float32_t) Buff64[Ns + i]; 80605cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80605d0: 4ac5 ldr r2, [pc, #788] ; (80608e8 ) 80605d2: 6811 ldr r1, [r2, #0] 80605d4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80605d8: 440a add r2, r1 80605da: 49c4 ldr r1, [pc, #784] ; (80608ec ) 80605dc: 00d2 lsls r2, r2, #3 80605de: 440a add r2, r1 80605e0: ed92 7b00 vldr d7, [r2] 80605e4: eef7 7bc7 vcvt.f32.f64 s15, d7 80605e8: 4ac1 ldr r2, [pc, #772] ; (80608f0 ) 80605ea: 009b lsls r3, r3, #2 80605ec: 4413 add r3, r2 80605ee: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80605f2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80605f6: 3301 adds r3, #1 80605f8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80605fc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060600: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060604: 429a cmp r2, r3 8060606: d3e1 bcc.n 80605cc } if(pardata.IVS[ACC] == RMS) 8060608: 4bba ldr r3, [pc, #744] ; (80608f4 ) 806060a: 789b ldrb r3, [r3, #2] 806060c: b2db uxtb r3, r3 806060e: 2b01 cmp r3, #1 8060610: d10e bne.n 8060630 arm_rms_f32(In, len, &Third[k--]); 8060612: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060616: 1e5a subs r2, r3, #1 8060618: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806061c: 463a mov r2, r7 806061e: 009b lsls r3, r3, #2 8060620: 4413 add r3, r2 8060622: 461a mov r2, r3 8060624: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060628: 48b1 ldr r0, [pc, #708] ; (80608f0 ) 806062a: f06d fdc5 bl 80ce1b8 806062e: e042 b.n 80606b6 else { arm_min_f32(In, len, &fn[0], &i); 8060630: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060634: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060638: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806063c: 48ac ldr r0, [pc, #688] ; (80608f0 ) 806063e: f06d fe4d bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8060642: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060646: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806064a: 1d1a adds r2, r3, #4 806064c: 460b mov r3, r1 806064e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060652: 48a7 ldr r0, [pc, #668] ; (80608f0 ) 8060654: f06d fede bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060658: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806065c: eef5 7ac0 vcmpe.f32 s15, #0.0 8060660: eef1 fa10 vmrs APSR_nzcv, fpscr 8060664: dd02 ble.n 806066c 8060666: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806066a: e003 b.n 8060674 806066c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060670: eef1 7a67 vneg.f32 s15, s15 8060674: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060678: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806067c: eef5 7ac0 vcmpe.f32 s15, #0.0 8060680: eef1 fa10 vmrs APSR_nzcv, fpscr 8060684: dd02 ble.n 806068c 8060686: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806068a: e003 b.n 8060694 806068c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060690: eef1 7a67 vneg.f32 s15, s15 8060694: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060698: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806069c: 1e5a subs r2, r3, #1 806069e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80606a2: 463a mov r2, r7 80606a4: 009b lsls r3, r3, #2 80606a6: 441a add r2, r3 80606a8: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80606ac: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80606b0: 2102 movs r1, #2 80606b2: f06d feaf bl 80ce414 } //** 2000 arm_biquad_cascade_df2T_f64(&S_OKT_2000Hz, &Buff64[0], &Buff64[Ns], len); 80606b6: 4b8c ldr r3, [pc, #560] ; (80608e8 ) 80606b8: 681b ldr r3, [r3, #0] 80606ba: 00db lsls r3, r3, #3 80606bc: 4a8b ldr r2, [pc, #556] ; (80608ec ) 80606be: 441a add r2, r3 80606c0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80606c4: 4989 ldr r1, [pc, #548] ; (80608ec ) 80606c6: 488c ldr r0, [pc, #560] ; (80608f8 ) 80606c8: f06d ff18 bl 80ce4fc for(i = 0; i < len; i++) { 80606cc: 2300 movs r3, #0 80606ce: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80606d2: e017 b.n 8060704 In[i] = (float32_t) Buff64[Ns + i]; 80606d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80606d8: 4a83 ldr r2, [pc, #524] ; (80608e8 ) 80606da: 6811 ldr r1, [r2, #0] 80606dc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80606e0: 440a add r2, r1 80606e2: 4982 ldr r1, [pc, #520] ; (80608ec ) 80606e4: 00d2 lsls r2, r2, #3 80606e6: 440a add r2, r1 80606e8: ed92 7b00 vldr d7, [r2] 80606ec: eef7 7bc7 vcvt.f32.f64 s15, d7 80606f0: 4a7f ldr r2, [pc, #508] ; (80608f0 ) 80606f2: 009b lsls r3, r3, #2 80606f4: 4413 add r3, r2 80606f6: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80606fa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80606fe: 3301 adds r3, #1 8060700: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060704: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060708: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806070c: 429a cmp r2, r3 806070e: d3e1 bcc.n 80606d4 } if(pardata.IVS[ACC] == RMS) 8060710: 4b78 ldr r3, [pc, #480] ; (80608f4 ) 8060712: 789b ldrb r3, [r3, #2] 8060714: b2db uxtb r3, r3 8060716: 2b01 cmp r3, #1 8060718: d10e bne.n 8060738 arm_rms_f32(In, len, &Third[k--]); 806071a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806071e: 1e5a subs r2, r3, #1 8060720: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060724: 463a mov r2, r7 8060726: 009b lsls r3, r3, #2 8060728: 4413 add r3, r2 806072a: 461a mov r2, r3 806072c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060730: 486f ldr r0, [pc, #444] ; (80608f0 ) 8060732: f06d fd41 bl 80ce1b8 8060736: e042 b.n 80607be else { arm_min_f32(In, len, &fn[0], &i); 8060738: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806073c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060740: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060744: 486a ldr r0, [pc, #424] ; (80608f0 ) 8060746: f06d fdc9 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 806074a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806074e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060752: 1d1a adds r2, r3, #4 8060754: 460b mov r3, r1 8060756: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806075a: 4865 ldr r0, [pc, #404] ; (80608f0 ) 806075c: f06d fe5a bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060760: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060764: eef5 7ac0 vcmpe.f32 s15, #0.0 8060768: eef1 fa10 vmrs APSR_nzcv, fpscr 806076c: dd02 ble.n 8060774 806076e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060772: e003 b.n 806077c 8060774: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060778: eef1 7a67 vneg.f32 s15, s15 806077c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060780: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060784: eef5 7ac0 vcmpe.f32 s15, #0.0 8060788: eef1 fa10 vmrs APSR_nzcv, fpscr 806078c: dd02 ble.n 8060794 806078e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060792: e003 b.n 806079c 8060794: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060798: eef1 7a67 vneg.f32 s15, s15 806079c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80607a0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80607a4: 1e5a subs r2, r3, #1 80607a6: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80607aa: 463a mov r2, r7 80607ac: 009b lsls r3, r3, #2 80607ae: 441a add r2, r3 80607b0: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80607b4: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80607b8: 2102 movs r1, #2 80607ba: f06d fe2b bl 80ce414 } //** 1600 arm_biquad_cascade_df2T_f64(&S_OKT_1600Hz, &Buff64[0], &Buff64[Ns], len); 80607be: 4b4a ldr r3, [pc, #296] ; (80608e8 ) 80607c0: 681b ldr r3, [r3, #0] 80607c2: 00db lsls r3, r3, #3 80607c4: 4a49 ldr r2, [pc, #292] ; (80608ec ) 80607c6: 441a add r2, r3 80607c8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80607cc: 4947 ldr r1, [pc, #284] ; (80608ec ) 80607ce: 484b ldr r0, [pc, #300] ; (80608fc ) 80607d0: f06d fe94 bl 80ce4fc for(i = 0; i < len; i++) { 80607d4: 2300 movs r3, #0 80607d6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80607da: e017 b.n 806080c In[i] = (float32_t) Buff64[Ns + i]; 80607dc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80607e0: 4a41 ldr r2, [pc, #260] ; (80608e8 ) 80607e2: 6811 ldr r1, [r2, #0] 80607e4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80607e8: 440a add r2, r1 80607ea: 4940 ldr r1, [pc, #256] ; (80608ec ) 80607ec: 00d2 lsls r2, r2, #3 80607ee: 440a add r2, r1 80607f0: ed92 7b00 vldr d7, [r2] 80607f4: eef7 7bc7 vcvt.f32.f64 s15, d7 80607f8: 4a3d ldr r2, [pc, #244] ; (80608f0 ) 80607fa: 009b lsls r3, r3, #2 80607fc: 4413 add r3, r2 80607fe: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060802: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060806: 3301 adds r3, #1 8060808: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806080c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060810: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060814: 429a cmp r2, r3 8060816: d3e1 bcc.n 80607dc } if(pardata.IVS[ACC] == RMS) 8060818: 4b36 ldr r3, [pc, #216] ; (80608f4 ) 806081a: 789b ldrb r3, [r3, #2] 806081c: b2db uxtb r3, r3 806081e: 2b01 cmp r3, #1 8060820: d10e bne.n 8060840 arm_rms_f32(In, len, &Third[k--]); 8060822: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060826: 1e5a subs r2, r3, #1 8060828: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806082c: 463a mov r2, r7 806082e: 009b lsls r3, r3, #2 8060830: 4413 add r3, r2 8060832: 461a mov r2, r3 8060834: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060838: 482d ldr r0, [pc, #180] ; (80608f0 ) 806083a: f06d fcbd bl 80ce1b8 806083e: e042 b.n 80608c6 else { arm_min_f32(In, len, &fn[0], &i); 8060840: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060844: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060848: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806084c: 4828 ldr r0, [pc, #160] ; (80608f0 ) 806084e: f06d fd45 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8060852: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060856: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806085a: 1d1a adds r2, r3, #4 806085c: 460b mov r3, r1 806085e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060862: 4823 ldr r0, [pc, #140] ; (80608f0 ) 8060864: f06d fdd6 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060868: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806086c: eef5 7ac0 vcmpe.f32 s15, #0.0 8060870: eef1 fa10 vmrs APSR_nzcv, fpscr 8060874: dd02 ble.n 806087c 8060876: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806087a: e003 b.n 8060884 806087c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060880: eef1 7a67 vneg.f32 s15, s15 8060884: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060888: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806088c: eef5 7ac0 vcmpe.f32 s15, #0.0 8060890: eef1 fa10 vmrs APSR_nzcv, fpscr 8060894: dd02 ble.n 806089c 8060896: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806089a: e003 b.n 80608a4 806089c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80608a0: eef1 7a67 vneg.f32 s15, s15 80608a4: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80608a8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80608ac: 1e5a subs r2, r3, #1 80608ae: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80608b2: 463a mov r2, r7 80608b4: 009b lsls r3, r3, #2 80608b6: 441a add r2, r3 80608b8: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80608bc: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80608c0: 2102 movs r1, #2 80608c2: f06d fda7 bl 80ce414 } arm_biquad_cascade_df2T_f64(&S_LP_1000, &Buff64[0], &Buff64[0], len); 80608c6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80608ca: 4a08 ldr r2, [pc, #32] ; (80608ec ) 80608cc: 4907 ldr r1, [pc, #28] ; (80608ec ) 80608ce: 480c ldr r0, [pc, #48] ; (8060900 ) 80608d0: f06d fe14 bl 80ce4fc len >>= 1; 80608d4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80608d8: 085b lsrs r3, r3, #1 80608da: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 80608de: 2300 movs r3, #0 80608e0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80608e4: e021 b.n 806092a 80608e6: bf00 nop 80608e8: 20021d24 .word 0x20021d24 80608ec: 20037b20 .word 0x20037b20 80608f0: 20027a00 .word 0x20027a00 80608f4: 20023ea8 .word 0x20023ea8 80608f8: 20026bbc .word 0x20026bbc 80608fc: 200278b8 .word 0x200278b8 8060900: 20068304 .word 0x20068304 Buff64[i] = Buff64[i << 1]; 8060904: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060908: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806090c: 005b lsls r3, r3, #1 806090e: 49c5 ldr r1, [pc, #788] ; (8060c24 ) 8060910: 00db lsls r3, r3, #3 8060912: 440b add r3, r1 8060914: cb18 ldmia r3, {r3, r4} 8060916: 49c3 ldr r1, [pc, #780] ; (8060c24 ) 8060918: 00d2 lsls r2, r2, #3 806091a: 440a add r2, r1 806091c: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8060920: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060924: 3301 adds r3, #1 8060926: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806092a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806092e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060932: 429a cmp r2, r3 8060934: d3e6 bcc.n 8060904 } //** 1250 arm_biquad_cascade_df2T_f64(&S_OKT_1250Hz, &Buff64[0], &Buff64[Ns], len); 8060936: 4bbc ldr r3, [pc, #752] ; (8060c28 ) 8060938: 681b ldr r3, [r3, #0] 806093a: 00db lsls r3, r3, #3 806093c: 4ab9 ldr r2, [pc, #740] ; (8060c24 ) 806093e: 441a add r2, r3 8060940: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060944: 49b7 ldr r1, [pc, #732] ; (8060c24 ) 8060946: 48b9 ldr r0, [pc, #740] ; (8060c2c ) 8060948: f06d fdd8 bl 80ce4fc for(i = 0; i < len; i++) { 806094c: 2300 movs r3, #0 806094e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060952: e017 b.n 8060984 In[i] = (float32_t) Buff64[Ns + i]; 8060954: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060958: 4ab3 ldr r2, [pc, #716] ; (8060c28 ) 806095a: 6811 ldr r1, [r2, #0] 806095c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060960: 440a add r2, r1 8060962: 49b0 ldr r1, [pc, #704] ; (8060c24 ) 8060964: 00d2 lsls r2, r2, #3 8060966: 440a add r2, r1 8060968: ed92 7b00 vldr d7, [r2] 806096c: eef7 7bc7 vcvt.f32.f64 s15, d7 8060970: 4aaf ldr r2, [pc, #700] ; (8060c30 ) 8060972: 009b lsls r3, r3, #2 8060974: 4413 add r3, r2 8060976: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806097a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806097e: 3301 adds r3, #1 8060980: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060984: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060988: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806098c: 429a cmp r2, r3 806098e: d3e1 bcc.n 8060954 } if(pardata.IVS[ACC] == RMS) 8060990: 4ba8 ldr r3, [pc, #672] ; (8060c34 ) 8060992: 789b ldrb r3, [r3, #2] 8060994: b2db uxtb r3, r3 8060996: 2b01 cmp r3, #1 8060998: d10e bne.n 80609b8 arm_rms_f32(In, len, &Third[k--]); 806099a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806099e: 1e5a subs r2, r3, #1 80609a0: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80609a4: 463a mov r2, r7 80609a6: 009b lsls r3, r3, #2 80609a8: 4413 add r3, r2 80609aa: 461a mov r2, r3 80609ac: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80609b0: 489f ldr r0, [pc, #636] ; (8060c30 ) 80609b2: f06d fc01 bl 80ce1b8 80609b6: e042 b.n 8060a3e else { arm_min_f32(In, len, &fn[0], &i); 80609b8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80609bc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80609c0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80609c4: 489a ldr r0, [pc, #616] ; (8060c30 ) 80609c6: f06d fc89 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80609ca: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80609ce: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80609d2: 1d1a adds r2, r3, #4 80609d4: 460b mov r3, r1 80609d6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80609da: 4895 ldr r0, [pc, #596] ; (8060c30 ) 80609dc: f06d fd1a bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80609e0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80609e4: eef5 7ac0 vcmpe.f32 s15, #0.0 80609e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80609ec: dd02 ble.n 80609f4 80609ee: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80609f2: e003 b.n 80609fc 80609f4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80609f8: eef1 7a67 vneg.f32 s15, s15 80609fc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060a00: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060a04: eef5 7ac0 vcmpe.f32 s15, #0.0 8060a08: eef1 fa10 vmrs APSR_nzcv, fpscr 8060a0c: dd02 ble.n 8060a14 8060a0e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060a12: e003 b.n 8060a1c 8060a14: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060a18: eef1 7a67 vneg.f32 s15, s15 8060a1c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060a20: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060a24: 1e5a subs r2, r3, #1 8060a26: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060a2a: 463a mov r2, r7 8060a2c: 009b lsls r3, r3, #2 8060a2e: 441a add r2, r3 8060a30: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060a34: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060a38: 2102 movs r1, #2 8060a3a: f06d fceb bl 80ce414 } //** 1000 arm_biquad_cascade_df2T_f64(&S_OKT_1000Hz, &Buff64[0], &Buff64[Ns], len); 8060a3e: 4b7a ldr r3, [pc, #488] ; (8060c28 ) 8060a40: 681b ldr r3, [r3, #0] 8060a42: 00db lsls r3, r3, #3 8060a44: 4a77 ldr r2, [pc, #476] ; (8060c24 ) 8060a46: 441a add r2, r3 8060a48: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060a4c: 4975 ldr r1, [pc, #468] ; (8060c24 ) 8060a4e: 487a ldr r0, [pc, #488] ; (8060c38 ) 8060a50: f06d fd54 bl 80ce4fc for(i = 0; i < len; i++) { 8060a54: 2300 movs r3, #0 8060a56: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060a5a: e017 b.n 8060a8c In[i] = (float32_t) Buff64[Ns + i]; 8060a5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060a60: 4a71 ldr r2, [pc, #452] ; (8060c28 ) 8060a62: 6811 ldr r1, [r2, #0] 8060a64: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060a68: 440a add r2, r1 8060a6a: 496e ldr r1, [pc, #440] ; (8060c24 ) 8060a6c: 00d2 lsls r2, r2, #3 8060a6e: 440a add r2, r1 8060a70: ed92 7b00 vldr d7, [r2] 8060a74: eef7 7bc7 vcvt.f32.f64 s15, d7 8060a78: 4a6d ldr r2, [pc, #436] ; (8060c30 ) 8060a7a: 009b lsls r3, r3, #2 8060a7c: 4413 add r3, r2 8060a7e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060a82: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060a86: 3301 adds r3, #1 8060a88: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060a8c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060a90: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060a94: 429a cmp r2, r3 8060a96: d3e1 bcc.n 8060a5c } if(pardata.IVS[ACC] == RMS) 8060a98: 4b66 ldr r3, [pc, #408] ; (8060c34 ) 8060a9a: 789b ldrb r3, [r3, #2] 8060a9c: b2db uxtb r3, r3 8060a9e: 2b01 cmp r3, #1 8060aa0: d10e bne.n 8060ac0 arm_rms_f32(In, len, &Third[k--]); 8060aa2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060aa6: 1e5a subs r2, r3, #1 8060aa8: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060aac: 463a mov r2, r7 8060aae: 009b lsls r3, r3, #2 8060ab0: 4413 add r3, r2 8060ab2: 461a mov r2, r3 8060ab4: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060ab8: 485d ldr r0, [pc, #372] ; (8060c30 ) 8060aba: f06d fb7d bl 80ce1b8 8060abe: e042 b.n 8060b46 else { arm_min_f32(In, len, &fn[0], &i); 8060ac0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060ac4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060ac8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060acc: 4858 ldr r0, [pc, #352] ; (8060c30 ) 8060ace: f06d fc05 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8060ad2: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060ad6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060ada: 1d1a adds r2, r3, #4 8060adc: 460b mov r3, r1 8060ade: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060ae2: 4853 ldr r0, [pc, #332] ; (8060c30 ) 8060ae4: f06d fc96 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060ae8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060aec: eef5 7ac0 vcmpe.f32 s15, #0.0 8060af0: eef1 fa10 vmrs APSR_nzcv, fpscr 8060af4: dd02 ble.n 8060afc 8060af6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060afa: e003 b.n 8060b04 8060afc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060b00: eef1 7a67 vneg.f32 s15, s15 8060b04: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060b08: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060b0c: eef5 7ac0 vcmpe.f32 s15, #0.0 8060b10: eef1 fa10 vmrs APSR_nzcv, fpscr 8060b14: dd02 ble.n 8060b1c 8060b16: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060b1a: e003 b.n 8060b24 8060b1c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060b20: eef1 7a67 vneg.f32 s15, s15 8060b24: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060b28: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060b2c: 1e5a subs r2, r3, #1 8060b2e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060b32: 463a mov r2, r7 8060b34: 009b lsls r3, r3, #2 8060b36: 441a add r2, r3 8060b38: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060b3c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060b40: 2102 movs r1, #2 8060b42: f06d fc67 bl 80ce414 } //** 800 arm_biquad_cascade_df2T_f64(&S_OKT_800Hz, &Buff64[0], &Buff64[Ns], len); 8060b46: 4b38 ldr r3, [pc, #224] ; (8060c28 ) 8060b48: 681b ldr r3, [r3, #0] 8060b4a: 00db lsls r3, r3, #3 8060b4c: 4a35 ldr r2, [pc, #212] ; (8060c24 ) 8060b4e: 441a add r2, r3 8060b50: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060b54: 4933 ldr r1, [pc, #204] ; (8060c24 ) 8060b56: 4839 ldr r0, [pc, #228] ; (8060c3c ) 8060b58: f06d fcd0 bl 80ce4fc for(i = 0; i < len; i++) { 8060b5c: 2300 movs r3, #0 8060b5e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060b62: e017 b.n 8060b94 In[i] = (float32_t) Buff64[Ns + i]; 8060b64: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060b68: 4a2f ldr r2, [pc, #188] ; (8060c28 ) 8060b6a: 6811 ldr r1, [r2, #0] 8060b6c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060b70: 440a add r2, r1 8060b72: 492c ldr r1, [pc, #176] ; (8060c24 ) 8060b74: 00d2 lsls r2, r2, #3 8060b76: 440a add r2, r1 8060b78: ed92 7b00 vldr d7, [r2] 8060b7c: eef7 7bc7 vcvt.f32.f64 s15, d7 8060b80: 4a2b ldr r2, [pc, #172] ; (8060c30 ) 8060b82: 009b lsls r3, r3, #2 8060b84: 4413 add r3, r2 8060b86: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060b8a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060b8e: 3301 adds r3, #1 8060b90: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060b94: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060b98: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060b9c: 429a cmp r2, r3 8060b9e: d3e1 bcc.n 8060b64 } if(pardata.IVS[ACC] == RMS) 8060ba0: 4b24 ldr r3, [pc, #144] ; (8060c34 ) 8060ba2: 789b ldrb r3, [r3, #2] 8060ba4: b2db uxtb r3, r3 8060ba6: 2b01 cmp r3, #1 8060ba8: d10e bne.n 8060bc8 arm_rms_f32(In, len, &Third[k--]); 8060baa: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060bae: 1e5a subs r2, r3, #1 8060bb0: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060bb4: 463a mov r2, r7 8060bb6: 009b lsls r3, r3, #2 8060bb8: 4413 add r3, r2 8060bba: 461a mov r2, r3 8060bbc: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060bc0: 481b ldr r0, [pc, #108] ; (8060c30 ) 8060bc2: f06d faf9 bl 80ce1b8 8060bc6: e050 b.n 8060c6a else { arm_min_f32(In, len, &fn[0], &i); 8060bc8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060bcc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060bd0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060bd4: 4816 ldr r0, [pc, #88] ; (8060c30 ) 8060bd6: f06d fb81 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8060bda: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060bde: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060be2: 1d1a adds r2, r3, #4 8060be4: 460b mov r3, r1 8060be6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060bea: 4811 ldr r0, [pc, #68] ; (8060c30 ) 8060bec: f06d fc12 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060bf0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060bf4: eef5 7ac0 vcmpe.f32 s15, #0.0 8060bf8: eef1 fa10 vmrs APSR_nzcv, fpscr 8060bfc: dd02 ble.n 8060c04 8060bfe: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060c02: e003 b.n 8060c0c 8060c04: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060c08: eef1 7a67 vneg.f32 s15, s15 8060c0c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060c10: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060c14: eef5 7ac0 vcmpe.f32 s15, #0.0 8060c18: eef1 fa10 vmrs APSR_nzcv, fpscr 8060c1c: dd10 ble.n 8060c40 8060c1e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060c22: e011 b.n 8060c48 8060c24: 20037b20 .word 0x20037b20 8060c28: 20021d24 .word 0x20021d24 8060c2c: 20068450 .word 0x20068450 8060c30: 20027a00 .word 0x20027a00 8060c34: 20023ea8 .word 0x20023ea8 8060c38: 200261f8 .word 0x200261f8 8060c3c: 20068490 .word 0x20068490 8060c40: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060c44: eef1 7a67 vneg.f32 s15, s15 8060c48: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060c4c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060c50: 1e5a subs r2, r3, #1 8060c52: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060c56: 463a mov r2, r7 8060c58: 009b lsls r3, r3, #2 8060c5a: 441a add r2, r3 8060c5c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060c60: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060c64: 2102 movs r1, #2 8060c66: f06d fbd5 bl 80ce414 } arm_biquad_cascade_df2T_f64(&S_LP_500, &Buff64[0], &Buff64[0], len); 8060c6a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060c6e: 4acf ldr r2, [pc, #828] ; (8060fac ) 8060c70: 49ce ldr r1, [pc, #824] ; (8060fac ) 8060c72: 48cf ldr r0, [pc, #828] ; (8060fb0 ) 8060c74: f06d fc42 bl 80ce4fc len >>= 1; 8060c78: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060c7c: 085b lsrs r3, r3, #1 8060c7e: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8060c82: 2300 movs r3, #0 8060c84: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060c88: e012 b.n 8060cb0 Buff64[i] = Buff64[i << 1]; 8060c8a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060c8e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060c92: 005b lsls r3, r3, #1 8060c94: 49c5 ldr r1, [pc, #788] ; (8060fac ) 8060c96: 00db lsls r3, r3, #3 8060c98: 440b add r3, r1 8060c9a: cb18 ldmia r3, {r3, r4} 8060c9c: 49c3 ldr r1, [pc, #780] ; (8060fac ) 8060c9e: 00d2 lsls r2, r2, #3 8060ca0: 440a add r2, r1 8060ca2: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8060ca6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060caa: 3301 adds r3, #1 8060cac: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060cb0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060cb4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060cb8: 429a cmp r2, r3 8060cba: d3e6 bcc.n 8060c8a } //** 630 arm_biquad_cascade_df2T_f64(&S_OKT_630Hz, &Buff64[0], &Buff64[Ns], len); 8060cbc: 4bbd ldr r3, [pc, #756] ; (8060fb4 ) 8060cbe: 681b ldr r3, [r3, #0] 8060cc0: 00db lsls r3, r3, #3 8060cc2: 4aba ldr r2, [pc, #744] ; (8060fac ) 8060cc4: 441a add r2, r3 8060cc6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060cca: 49b8 ldr r1, [pc, #736] ; (8060fac ) 8060ccc: 48ba ldr r0, [pc, #744] ; (8060fb8 ) 8060cce: f06d fc15 bl 80ce4fc for(i = 0; i < len; i++) { 8060cd2: 2300 movs r3, #0 8060cd4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060cd8: e017 b.n 8060d0a In[i] = (float32_t) Buff64[Ns + i]; 8060cda: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060cde: 4ab5 ldr r2, [pc, #724] ; (8060fb4 ) 8060ce0: 6811 ldr r1, [r2, #0] 8060ce2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060ce6: 440a add r2, r1 8060ce8: 49b0 ldr r1, [pc, #704] ; (8060fac ) 8060cea: 00d2 lsls r2, r2, #3 8060cec: 440a add r2, r1 8060cee: ed92 7b00 vldr d7, [r2] 8060cf2: eef7 7bc7 vcvt.f32.f64 s15, d7 8060cf6: 4ab1 ldr r2, [pc, #708] ; (8060fbc ) 8060cf8: 009b lsls r3, r3, #2 8060cfa: 4413 add r3, r2 8060cfc: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060d00: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060d04: 3301 adds r3, #1 8060d06: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060d0a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060d0e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060d12: 429a cmp r2, r3 8060d14: d3e1 bcc.n 8060cda } if(pardata.IVS[ACC] == RMS) 8060d16: 4baa ldr r3, [pc, #680] ; (8060fc0 ) 8060d18: 789b ldrb r3, [r3, #2] 8060d1a: b2db uxtb r3, r3 8060d1c: 2b01 cmp r3, #1 8060d1e: d10e bne.n 8060d3e arm_rms_f32(In, len, &Third[k--]); 8060d20: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060d24: 1e5a subs r2, r3, #1 8060d26: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060d2a: 463a mov r2, r7 8060d2c: 009b lsls r3, r3, #2 8060d2e: 4413 add r3, r2 8060d30: 461a mov r2, r3 8060d32: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060d36: 48a1 ldr r0, [pc, #644] ; (8060fbc ) 8060d38: f06d fa3e bl 80ce1b8 8060d3c: e042 b.n 8060dc4 else { arm_min_f32(In, len, &fn[0], &i); 8060d3e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060d42: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060d46: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060d4a: 489c ldr r0, [pc, #624] ; (8060fbc ) 8060d4c: f06d fac6 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8060d50: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060d54: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060d58: 1d1a adds r2, r3, #4 8060d5a: 460b mov r3, r1 8060d5c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060d60: 4896 ldr r0, [pc, #600] ; (8060fbc ) 8060d62: f06d fb57 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060d66: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060d6a: eef5 7ac0 vcmpe.f32 s15, #0.0 8060d6e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060d72: dd02 ble.n 8060d7a 8060d74: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060d78: e003 b.n 8060d82 8060d7a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060d7e: eef1 7a67 vneg.f32 s15, s15 8060d82: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060d86: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060d8a: eef5 7ac0 vcmpe.f32 s15, #0.0 8060d8e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060d92: dd02 ble.n 8060d9a 8060d94: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060d98: e003 b.n 8060da2 8060d9a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060d9e: eef1 7a67 vneg.f32 s15, s15 8060da2: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060da6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060daa: 1e5a subs r2, r3, #1 8060dac: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060db0: 463a mov r2, r7 8060db2: 009b lsls r3, r3, #2 8060db4: 441a add r2, r3 8060db6: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060dba: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060dbe: 2102 movs r1, #2 8060dc0: f06d fb28 bl 80ce414 } //** 500 arm_biquad_cascade_df2T_f64(&S_OKT_500Hz, &Buff64[0], &Buff64[Ns], len); 8060dc4: 4b7b ldr r3, [pc, #492] ; (8060fb4 ) 8060dc6: 681b ldr r3, [r3, #0] 8060dc8: 00db lsls r3, r3, #3 8060dca: 4a78 ldr r2, [pc, #480] ; (8060fac ) 8060dcc: 441a add r2, r3 8060dce: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060dd2: 4976 ldr r1, [pc, #472] ; (8060fac ) 8060dd4: 487b ldr r0, [pc, #492] ; (8060fc4 ) 8060dd6: f06d fb91 bl 80ce4fc for(i = 0; i < len; i++) { 8060dda: 2300 movs r3, #0 8060ddc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060de0: e017 b.n 8060e12 In[i] = (float32_t) Buff64[Ns + i]; 8060de2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060de6: 4a73 ldr r2, [pc, #460] ; (8060fb4 ) 8060de8: 6811 ldr r1, [r2, #0] 8060dea: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060dee: 440a add r2, r1 8060df0: 496e ldr r1, [pc, #440] ; (8060fac ) 8060df2: 00d2 lsls r2, r2, #3 8060df4: 440a add r2, r1 8060df6: ed92 7b00 vldr d7, [r2] 8060dfa: eef7 7bc7 vcvt.f32.f64 s15, d7 8060dfe: 4a6f ldr r2, [pc, #444] ; (8060fbc ) 8060e00: 009b lsls r3, r3, #2 8060e02: 4413 add r3, r2 8060e04: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060e08: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060e0c: 3301 adds r3, #1 8060e0e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060e12: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060e16: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060e1a: 429a cmp r2, r3 8060e1c: d3e1 bcc.n 8060de2 } if(pardata.IVS[ACC] == RMS) 8060e1e: 4b68 ldr r3, [pc, #416] ; (8060fc0 ) 8060e20: 789b ldrb r3, [r3, #2] 8060e22: b2db uxtb r3, r3 8060e24: 2b01 cmp r3, #1 8060e26: d10e bne.n 8060e46 arm_rms_f32(In, len, &Third[k--]); 8060e28: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060e2c: 1e5a subs r2, r3, #1 8060e2e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060e32: 463a mov r2, r7 8060e34: 009b lsls r3, r3, #2 8060e36: 4413 add r3, r2 8060e38: 461a mov r2, r3 8060e3a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060e3e: 485f ldr r0, [pc, #380] ; (8060fbc ) 8060e40: f06d f9ba bl 80ce1b8 8060e44: e042 b.n 8060ecc else { arm_min_f32(In, len, &fn[0], &i); 8060e46: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060e4a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060e4e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060e52: 485a ldr r0, [pc, #360] ; (8060fbc ) 8060e54: f06d fa42 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8060e58: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060e5c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060e60: 1d1a adds r2, r3, #4 8060e62: 460b mov r3, r1 8060e64: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060e68: 4854 ldr r0, [pc, #336] ; (8060fbc ) 8060e6a: f06d fad3 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060e6e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060e72: eef5 7ac0 vcmpe.f32 s15, #0.0 8060e76: eef1 fa10 vmrs APSR_nzcv, fpscr 8060e7a: dd02 ble.n 8060e82 8060e7c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060e80: e003 b.n 8060e8a 8060e82: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060e86: eef1 7a67 vneg.f32 s15, s15 8060e8a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060e8e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060e92: eef5 7ac0 vcmpe.f32 s15, #0.0 8060e96: eef1 fa10 vmrs APSR_nzcv, fpscr 8060e9a: dd02 ble.n 8060ea2 8060e9c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060ea0: e003 b.n 8060eaa 8060ea2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060ea6: eef1 7a67 vneg.f32 s15, s15 8060eaa: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060eae: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060eb2: 1e5a subs r2, r3, #1 8060eb4: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060eb8: 463a mov r2, r7 8060eba: 009b lsls r3, r3, #2 8060ebc: 441a add r2, r3 8060ebe: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060ec2: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060ec6: 2102 movs r1, #2 8060ec8: f06d faa4 bl 80ce414 } //** 400 arm_biquad_cascade_df2T_f64(&S_OKT_400Hz, &Buff64[0], &Buff64[Ns], len); 8060ecc: 4b39 ldr r3, [pc, #228] ; (8060fb4 ) 8060ece: 681b ldr r3, [r3, #0] 8060ed0: 00db lsls r3, r3, #3 8060ed2: 4a36 ldr r2, [pc, #216] ; (8060fac ) 8060ed4: 441a add r2, r3 8060ed6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060eda: 4934 ldr r1, [pc, #208] ; (8060fac ) 8060edc: 483a ldr r0, [pc, #232] ; (8060fc8 ) 8060ede: f06d fb0d bl 80ce4fc for(i = 0; i < len; i++) { 8060ee2: 2300 movs r3, #0 8060ee4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060ee8: e017 b.n 8060f1a In[i] = (float32_t) Buff64[Ns + i]; 8060eea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060eee: 4a31 ldr r2, [pc, #196] ; (8060fb4 ) 8060ef0: 6811 ldr r1, [r2, #0] 8060ef2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060ef6: 440a add r2, r1 8060ef8: 492c ldr r1, [pc, #176] ; (8060fac ) 8060efa: 00d2 lsls r2, r2, #3 8060efc: 440a add r2, r1 8060efe: ed92 7b00 vldr d7, [r2] 8060f02: eef7 7bc7 vcvt.f32.f64 s15, d7 8060f06: 4a2d ldr r2, [pc, #180] ; (8060fbc ) 8060f08: 009b lsls r3, r3, #2 8060f0a: 4413 add r3, r2 8060f0c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060f10: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060f14: 3301 adds r3, #1 8060f16: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060f1a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060f1e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060f22: 429a cmp r2, r3 8060f24: d3e1 bcc.n 8060eea } if(pardata.IVS[ACC] == RMS) 8060f26: 4b26 ldr r3, [pc, #152] ; (8060fc0 ) 8060f28: 789b ldrb r3, [r3, #2] 8060f2a: b2db uxtb r3, r3 8060f2c: 2b01 cmp r3, #1 8060f2e: d10e bne.n 8060f4e arm_rms_f32(In, len, &Third[k--]); 8060f30: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060f34: 1e5a subs r2, r3, #1 8060f36: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060f3a: 463a mov r2, r7 8060f3c: 009b lsls r3, r3, #2 8060f3e: 4413 add r3, r2 8060f40: 461a mov r2, r3 8060f42: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060f46: 481d ldr r0, [pc, #116] ; (8060fbc ) 8060f48: f06d f936 bl 80ce1b8 8060f4c: e053 b.n 8060ff6 else { arm_min_f32(In, len, &fn[0], &i); 8060f4e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060f52: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060f56: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060f5a: 4818 ldr r0, [pc, #96] ; (8060fbc ) 8060f5c: f06d f9be bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8060f60: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060f64: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060f68: 1d1a adds r2, r3, #4 8060f6a: 460b mov r3, r1 8060f6c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060f70: 4812 ldr r0, [pc, #72] ; (8060fbc ) 8060f72: f06d fa4f bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060f76: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060f7a: eef5 7ac0 vcmpe.f32 s15, #0.0 8060f7e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060f82: dd02 ble.n 8060f8a 8060f84: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060f88: e003 b.n 8060f92 8060f8a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060f8e: eef1 7a67 vneg.f32 s15, s15 8060f92: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060f96: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060f9a: eef5 7ac0 vcmpe.f32 s15, #0.0 8060f9e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060fa2: dd13 ble.n 8060fcc 8060fa4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060fa8: e014 b.n 8060fd4 8060faa: bf00 nop 8060fac: 20037b20 .word 0x20037b20 8060fb0: 2002799c .word 0x2002799c 8060fb4: 20021d24 .word 0x20021d24 8060fb8: 20025fd0 .word 0x20025fd0 8060fbc: 20027a00 .word 0x20027a00 8060fc0: 20023ea8 .word 0x20023ea8 8060fc4: 20057b2c .word 0x20057b2c 8060fc8: 20026084 .word 0x20026084 8060fcc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060fd0: eef1 7a67 vneg.f32 s15, s15 8060fd4: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060fd8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060fdc: 1e5a subs r2, r3, #1 8060fde: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060fe2: 463a mov r2, r7 8060fe4: 009b lsls r3, r3, #2 8060fe6: 441a add r2, r3 8060fe8: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060fec: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060ff0: 2102 movs r1, #2 8060ff2: f06d fa0f bl 80ce414 } arm_biquad_cascade_df2T_f64(&S_LP_250, &Buff64[0], &Buff64[0], len); 8060ff6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060ffa: 4acf ldr r2, [pc, #828] ; (8061338 ) 8060ffc: 49ce ldr r1, [pc, #824] ; (8061338 ) 8060ffe: 48cf ldr r0, [pc, #828] ; (806133c ) 8061000: f06d fa7c bl 80ce4fc len >>= 1; 8061004: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061008: 085b lsrs r3, r3, #1 806100a: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 806100e: 2300 movs r3, #0 8061010: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061014: e012 b.n 806103c Buff64[i] = Buff64[i << 1]; 8061016: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806101a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806101e: 005b lsls r3, r3, #1 8061020: 49c5 ldr r1, [pc, #788] ; (8061338 ) 8061022: 00db lsls r3, r3, #3 8061024: 440b add r3, r1 8061026: cb18 ldmia r3, {r3, r4} 8061028: 49c3 ldr r1, [pc, #780] ; (8061338 ) 806102a: 00d2 lsls r2, r2, #3 806102c: 440a add r2, r1 806102e: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061032: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061036: 3301 adds r3, #1 8061038: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806103c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061040: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061044: 429a cmp r2, r3 8061046: d3e6 bcc.n 8061016 } //** 315 arm_biquad_cascade_df2T_f64(&S_OKT_315Hz, &Buff64[0], &Buff64[Ns], len); 8061048: 4bbd ldr r3, [pc, #756] ; (8061340 ) 806104a: 681b ldr r3, [r3, #0] 806104c: 00db lsls r3, r3, #3 806104e: 4aba ldr r2, [pc, #744] ; (8061338 ) 8061050: 441a add r2, r3 8061052: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061056: 49b8 ldr r1, [pc, #736] ; (8061338 ) 8061058: 48ba ldr r0, [pc, #744] ; (8061344 ) 806105a: f06d fa4f bl 80ce4fc for(i = 0; i < len; i++) { 806105e: 2300 movs r3, #0 8061060: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061064: e017 b.n 8061096 In[i] = (float32_t) Buff64[Ns + i]; 8061066: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806106a: 4ab5 ldr r2, [pc, #724] ; (8061340 ) 806106c: 6811 ldr r1, [r2, #0] 806106e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061072: 440a add r2, r1 8061074: 49b0 ldr r1, [pc, #704] ; (8061338 ) 8061076: 00d2 lsls r2, r2, #3 8061078: 440a add r2, r1 806107a: ed92 7b00 vldr d7, [r2] 806107e: eef7 7bc7 vcvt.f32.f64 s15, d7 8061082: 4ab1 ldr r2, [pc, #708] ; (8061348 ) 8061084: 009b lsls r3, r3, #2 8061086: 4413 add r3, r2 8061088: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806108c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061090: 3301 adds r3, #1 8061092: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061096: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806109a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806109e: 429a cmp r2, r3 80610a0: d3e1 bcc.n 8061066 } if(pardata.IVS[ACC] == RMS) 80610a2: 4baa ldr r3, [pc, #680] ; (806134c ) 80610a4: 789b ldrb r3, [r3, #2] 80610a6: b2db uxtb r3, r3 80610a8: 2b01 cmp r3, #1 80610aa: d10e bne.n 80610ca arm_rms_f32(In, len, &Third[k--]); 80610ac: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80610b0: 1e5a subs r2, r3, #1 80610b2: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80610b6: 463a mov r2, r7 80610b8: 009b lsls r3, r3, #2 80610ba: 4413 add r3, r2 80610bc: 461a mov r2, r3 80610be: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80610c2: 48a1 ldr r0, [pc, #644] ; (8061348 ) 80610c4: f06d f878 bl 80ce1b8 80610c8: e042 b.n 8061150 else { arm_min_f32(In, len, &fn[0], &i); 80610ca: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80610ce: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80610d2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80610d6: 489c ldr r0, [pc, #624] ; (8061348 ) 80610d8: f06d f900 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80610dc: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80610e0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80610e4: 1d1a adds r2, r3, #4 80610e6: 460b mov r3, r1 80610e8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80610ec: 4896 ldr r0, [pc, #600] ; (8061348 ) 80610ee: f06d f991 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80610f2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80610f6: eef5 7ac0 vcmpe.f32 s15, #0.0 80610fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80610fe: dd02 ble.n 8061106 8061100: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061104: e003 b.n 806110e 8061106: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806110a: eef1 7a67 vneg.f32 s15, s15 806110e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061112: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061116: eef5 7ac0 vcmpe.f32 s15, #0.0 806111a: eef1 fa10 vmrs APSR_nzcv, fpscr 806111e: dd02 ble.n 8061126 8061120: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061124: e003 b.n 806112e 8061126: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806112a: eef1 7a67 vneg.f32 s15, s15 806112e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061132: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061136: 1e5a subs r2, r3, #1 8061138: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806113c: 463a mov r2, r7 806113e: 009b lsls r3, r3, #2 8061140: 441a add r2, r3 8061142: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061146: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806114a: 2102 movs r1, #2 806114c: f06d f962 bl 80ce414 } //** 250 arm_biquad_cascade_df2T_f64(&S_OKT_250Hz, &Buff64[0], &Buff64[Ns], len); 8061150: 4b7b ldr r3, [pc, #492] ; (8061340 ) 8061152: 681b ldr r3, [r3, #0] 8061154: 00db lsls r3, r3, #3 8061156: 4a78 ldr r2, [pc, #480] ; (8061338 ) 8061158: 441a add r2, r3 806115a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806115e: 4976 ldr r1, [pc, #472] ; (8061338 ) 8061160: 487b ldr r0, [pc, #492] ; (8061350 ) 8061162: f06d f9cb bl 80ce4fc for(i = 0; i < len; i++) { 8061166: 2300 movs r3, #0 8061168: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806116c: e017 b.n 806119e In[i] = (float32_t) Buff64[Ns + i]; 806116e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061172: 4a73 ldr r2, [pc, #460] ; (8061340 ) 8061174: 6811 ldr r1, [r2, #0] 8061176: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806117a: 440a add r2, r1 806117c: 496e ldr r1, [pc, #440] ; (8061338 ) 806117e: 00d2 lsls r2, r2, #3 8061180: 440a add r2, r1 8061182: ed92 7b00 vldr d7, [r2] 8061186: eef7 7bc7 vcvt.f32.f64 s15, d7 806118a: 4a6f ldr r2, [pc, #444] ; (8061348 ) 806118c: 009b lsls r3, r3, #2 806118e: 4413 add r3, r2 8061190: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061194: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061198: 3301 adds r3, #1 806119a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806119e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80611a2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80611a6: 429a cmp r2, r3 80611a8: d3e1 bcc.n 806116e } if(pardata.IVS[ACC] == RMS) 80611aa: 4b68 ldr r3, [pc, #416] ; (806134c ) 80611ac: 789b ldrb r3, [r3, #2] 80611ae: b2db uxtb r3, r3 80611b0: 2b01 cmp r3, #1 80611b2: d10e bne.n 80611d2 arm_rms_f32(In, len, &Third[k--]); 80611b4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80611b8: 1e5a subs r2, r3, #1 80611ba: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80611be: 463a mov r2, r7 80611c0: 009b lsls r3, r3, #2 80611c2: 4413 add r3, r2 80611c4: 461a mov r2, r3 80611c6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80611ca: 485f ldr r0, [pc, #380] ; (8061348 ) 80611cc: f06c fff4 bl 80ce1b8 80611d0: e042 b.n 8061258 else { arm_min_f32(In, len, &fn[0], &i); 80611d2: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80611d6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80611da: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80611de: 485a ldr r0, [pc, #360] ; (8061348 ) 80611e0: f06d f87c bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80611e4: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80611e8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80611ec: 1d1a adds r2, r3, #4 80611ee: 460b mov r3, r1 80611f0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80611f4: 4854 ldr r0, [pc, #336] ; (8061348 ) 80611f6: f06d f90d bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80611fa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80611fe: eef5 7ac0 vcmpe.f32 s15, #0.0 8061202: eef1 fa10 vmrs APSR_nzcv, fpscr 8061206: dd02 ble.n 806120e 8061208: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806120c: e003 b.n 8061216 806120e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061212: eef1 7a67 vneg.f32 s15, s15 8061216: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806121a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806121e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061222: eef1 fa10 vmrs APSR_nzcv, fpscr 8061226: dd02 ble.n 806122e 8061228: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806122c: e003 b.n 8061236 806122e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061232: eef1 7a67 vneg.f32 s15, s15 8061236: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806123a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806123e: 1e5a subs r2, r3, #1 8061240: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061244: 463a mov r2, r7 8061246: 009b lsls r3, r3, #2 8061248: 441a add r2, r3 806124a: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806124e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061252: 2102 movs r1, #2 8061254: f06d f8de bl 80ce414 } //** 200 arm_biquad_cascade_df2T_f64(&S_OKT_200Hz, &Buff64[0], &Buff64[Ns], len); 8061258: 4b39 ldr r3, [pc, #228] ; (8061340 ) 806125a: 681b ldr r3, [r3, #0] 806125c: 00db lsls r3, r3, #3 806125e: 4a36 ldr r2, [pc, #216] ; (8061338 ) 8061260: 441a add r2, r3 8061262: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061266: 4934 ldr r1, [pc, #208] ; (8061338 ) 8061268: 483a ldr r0, [pc, #232] ; (8061354 ) 806126a: f06d f947 bl 80ce4fc for(i = 0; i < len; i++) { 806126e: 2300 movs r3, #0 8061270: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061274: e017 b.n 80612a6 In[i] = (float32_t) Buff64[Ns + i]; 8061276: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806127a: 4a31 ldr r2, [pc, #196] ; (8061340 ) 806127c: 6811 ldr r1, [r2, #0] 806127e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061282: 440a add r2, r1 8061284: 492c ldr r1, [pc, #176] ; (8061338 ) 8061286: 00d2 lsls r2, r2, #3 8061288: 440a add r2, r1 806128a: ed92 7b00 vldr d7, [r2] 806128e: eef7 7bc7 vcvt.f32.f64 s15, d7 8061292: 4a2d ldr r2, [pc, #180] ; (8061348 ) 8061294: 009b lsls r3, r3, #2 8061296: 4413 add r3, r2 8061298: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806129c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80612a0: 3301 adds r3, #1 80612a2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80612a6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80612aa: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80612ae: 429a cmp r2, r3 80612b0: d3e1 bcc.n 8061276 } if(pardata.IVS[ACC] == RMS) 80612b2: 4b26 ldr r3, [pc, #152] ; (806134c ) 80612b4: 789b ldrb r3, [r3, #2] 80612b6: b2db uxtb r3, r3 80612b8: 2b01 cmp r3, #1 80612ba: d10e bne.n 80612da arm_rms_f32(In, len, &Third[k--]); 80612bc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80612c0: 1e5a subs r2, r3, #1 80612c2: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80612c6: 463a mov r2, r7 80612c8: 009b lsls r3, r3, #2 80612ca: 4413 add r3, r2 80612cc: 461a mov r2, r3 80612ce: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80612d2: 481d ldr r0, [pc, #116] ; (8061348 ) 80612d4: f06c ff70 bl 80ce1b8 80612d8: e053 b.n 8061382 else { arm_min_f32(In, len, &fn[0], &i); 80612da: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80612de: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80612e2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80612e6: 4818 ldr r0, [pc, #96] ; (8061348 ) 80612e8: f06c fff8 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80612ec: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80612f0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80612f4: 1d1a adds r2, r3, #4 80612f6: 460b mov r3, r1 80612f8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80612fc: 4812 ldr r0, [pc, #72] ; (8061348 ) 80612fe: f06d f889 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061302: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061306: eef5 7ac0 vcmpe.f32 s15, #0.0 806130a: eef1 fa10 vmrs APSR_nzcv, fpscr 806130e: dd02 ble.n 8061316 8061310: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061314: e003 b.n 806131e 8061316: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806131a: eef1 7a67 vneg.f32 s15, s15 806131e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061322: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061326: eef5 7ac0 vcmpe.f32 s15, #0.0 806132a: eef1 fa10 vmrs APSR_nzcv, fpscr 806132e: dd13 ble.n 8061358 8061330: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061334: e014 b.n 8061360 8061336: bf00 nop 8061338: 20037b20 .word 0x20037b20 806133c: 20068588 .word 0x20068588 8061340: 20021d24 .word 0x20021d24 8061344: 20026454 .word 0x20026454 8061348: 20027a00 .word 0x20027a00 806134c: 20023ea8 .word 0x20023ea8 8061350: 20068594 .word 0x20068594 8061354: 200265d0 .word 0x200265d0 8061358: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806135c: eef1 7a67 vneg.f32 s15, s15 8061360: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061364: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061368: 1e5a subs r2, r3, #1 806136a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806136e: 463a mov r2, r7 8061370: 009b lsls r3, r3, #2 8061372: 441a add r2, r3 8061374: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061378: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806137c: 2102 movs r1, #2 806137e: f06d f849 bl 80ce414 } arm_biquad_cascade_df2T_f64(&S_LP_125, &Buff64[0], &Buff64[0], len); 8061382: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061386: 4acf ldr r2, [pc, #828] ; (80616c4 ) 8061388: 49ce ldr r1, [pc, #824] ; (80616c4 ) 806138a: 48cf ldr r0, [pc, #828] ; (80616c8 ) 806138c: f06d f8b6 bl 80ce4fc len >>= 1; 8061390: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061394: 085b lsrs r3, r3, #1 8061396: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 806139a: 2300 movs r3, #0 806139c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80613a0: e012 b.n 80613c8 Buff64[i] = Buff64[i << 1]; 80613a2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80613a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80613aa: 005b lsls r3, r3, #1 80613ac: 49c5 ldr r1, [pc, #788] ; (80616c4 ) 80613ae: 00db lsls r3, r3, #3 80613b0: 440b add r3, r1 80613b2: cb18 ldmia r3, {r3, r4} 80613b4: 49c3 ldr r1, [pc, #780] ; (80616c4 ) 80613b6: 00d2 lsls r2, r2, #3 80613b8: 440a add r2, r1 80613ba: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 80613be: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80613c2: 3301 adds r3, #1 80613c4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80613c8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80613cc: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80613d0: 429a cmp r2, r3 80613d2: d3e6 bcc.n 80613a2 } //** 160 arm_biquad_cascade_df2T_f64(&S_OKT_160Hz, &Buff64[0], &Buff64[Ns], len); 80613d4: 4bbd ldr r3, [pc, #756] ; (80616cc ) 80613d6: 681b ldr r3, [r3, #0] 80613d8: 00db lsls r3, r3, #3 80613da: 4aba ldr r2, [pc, #744] ; (80616c4 ) 80613dc: 441a add r2, r3 80613de: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80613e2: 49b8 ldr r1, [pc, #736] ; (80616c4 ) 80613e4: 48ba ldr r0, [pc, #744] ; (80616d0 ) 80613e6: f06d f889 bl 80ce4fc for(i = 0; i < len; i++) { 80613ea: 2300 movs r3, #0 80613ec: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80613f0: e017 b.n 8061422 In[i] = (float32_t) Buff64[Ns + i]; 80613f2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80613f6: 4ab5 ldr r2, [pc, #724] ; (80616cc ) 80613f8: 6811 ldr r1, [r2, #0] 80613fa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80613fe: 440a add r2, r1 8061400: 49b0 ldr r1, [pc, #704] ; (80616c4 ) 8061402: 00d2 lsls r2, r2, #3 8061404: 440a add r2, r1 8061406: ed92 7b00 vldr d7, [r2] 806140a: eef7 7bc7 vcvt.f32.f64 s15, d7 806140e: 4ab1 ldr r2, [pc, #708] ; (80616d4 ) 8061410: 009b lsls r3, r3, #2 8061412: 4413 add r3, r2 8061414: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061418: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806141c: 3301 adds r3, #1 806141e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061422: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061426: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806142a: 429a cmp r2, r3 806142c: d3e1 bcc.n 80613f2 } if(pardata.IVS[ACC] == RMS) 806142e: 4baa ldr r3, [pc, #680] ; (80616d8 ) 8061430: 789b ldrb r3, [r3, #2] 8061432: b2db uxtb r3, r3 8061434: 2b01 cmp r3, #1 8061436: d10e bne.n 8061456 arm_rms_f32(In, len, &Third[k--]); 8061438: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806143c: 1e5a subs r2, r3, #1 806143e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061442: 463a mov r2, r7 8061444: 009b lsls r3, r3, #2 8061446: 4413 add r3, r2 8061448: 461a mov r2, r3 806144a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806144e: 48a1 ldr r0, [pc, #644] ; (80616d4 ) 8061450: f06c feb2 bl 80ce1b8 8061454: e042 b.n 80614dc else { arm_min_f32(In, len, &fn[0], &i); 8061456: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806145a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806145e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061462: 489c ldr r0, [pc, #624] ; (80616d4 ) 8061464: f06c ff3a bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8061468: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806146c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061470: 1d1a adds r2, r3, #4 8061472: 460b mov r3, r1 8061474: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061478: 4896 ldr r0, [pc, #600] ; (80616d4 ) 806147a: f06c ffcb bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806147e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061482: eef5 7ac0 vcmpe.f32 s15, #0.0 8061486: eef1 fa10 vmrs APSR_nzcv, fpscr 806148a: dd02 ble.n 8061492 806148c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061490: e003 b.n 806149a 8061492: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061496: eef1 7a67 vneg.f32 s15, s15 806149a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806149e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80614a2: eef5 7ac0 vcmpe.f32 s15, #0.0 80614a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80614aa: dd02 ble.n 80614b2 80614ac: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80614b0: e003 b.n 80614ba 80614b2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80614b6: eef1 7a67 vneg.f32 s15, s15 80614ba: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80614be: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80614c2: 1e5a subs r2, r3, #1 80614c4: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80614c8: 463a mov r2, r7 80614ca: 009b lsls r3, r3, #2 80614cc: 441a add r2, r3 80614ce: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80614d2: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80614d6: 2102 movs r1, #2 80614d8: f06c ff9c bl 80ce414 } //** 125 arm_biquad_cascade_df2T_f64(&S_OKT_125Hz, &Buff64[0], &Buff64[Ns], len); 80614dc: 4b7b ldr r3, [pc, #492] ; (80616cc ) 80614de: 681b ldr r3, [r3, #0] 80614e0: 00db lsls r3, r3, #3 80614e2: 4a78 ldr r2, [pc, #480] ; (80616c4 ) 80614e4: 441a add r2, r3 80614e6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80614ea: 4976 ldr r1, [pc, #472] ; (80616c4 ) 80614ec: 487b ldr r0, [pc, #492] ; (80616dc ) 80614ee: f06d f805 bl 80ce4fc for(i = 0; i < len; i++) { 80614f2: 2300 movs r3, #0 80614f4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80614f8: e017 b.n 806152a In[i] = (float32_t) Buff64[Ns + i]; 80614fa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80614fe: 4a73 ldr r2, [pc, #460] ; (80616cc ) 8061500: 6811 ldr r1, [r2, #0] 8061502: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061506: 440a add r2, r1 8061508: 496e ldr r1, [pc, #440] ; (80616c4 ) 806150a: 00d2 lsls r2, r2, #3 806150c: 440a add r2, r1 806150e: ed92 7b00 vldr d7, [r2] 8061512: eef7 7bc7 vcvt.f32.f64 s15, d7 8061516: 4a6f ldr r2, [pc, #444] ; (80616d4 ) 8061518: 009b lsls r3, r3, #2 806151a: 4413 add r3, r2 806151c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061520: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061524: 3301 adds r3, #1 8061526: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806152a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806152e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061532: 429a cmp r2, r3 8061534: d3e1 bcc.n 80614fa } if(pardata.IVS[ACC] == RMS) 8061536: 4b68 ldr r3, [pc, #416] ; (80616d8 ) 8061538: 789b ldrb r3, [r3, #2] 806153a: b2db uxtb r3, r3 806153c: 2b01 cmp r3, #1 806153e: d10e bne.n 806155e arm_rms_f32(In, len, &Third[k--]); 8061540: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061544: 1e5a subs r2, r3, #1 8061546: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806154a: 463a mov r2, r7 806154c: 009b lsls r3, r3, #2 806154e: 4413 add r3, r2 8061550: 461a mov r2, r3 8061552: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061556: 485f ldr r0, [pc, #380] ; (80616d4 ) 8061558: f06c fe2e bl 80ce1b8 806155c: e042 b.n 80615e4 else { arm_min_f32(In, len, &fn[0], &i); 806155e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061562: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061566: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806156a: 485a ldr r0, [pc, #360] ; (80616d4 ) 806156c: f06c feb6 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8061570: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061574: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061578: 1d1a adds r2, r3, #4 806157a: 460b mov r3, r1 806157c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061580: 4854 ldr r0, [pc, #336] ; (80616d4 ) 8061582: f06c ff47 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061586: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806158a: eef5 7ac0 vcmpe.f32 s15, #0.0 806158e: eef1 fa10 vmrs APSR_nzcv, fpscr 8061592: dd02 ble.n 806159a 8061594: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061598: e003 b.n 80615a2 806159a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806159e: eef1 7a67 vneg.f32 s15, s15 80615a2: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80615a6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80615aa: eef5 7ac0 vcmpe.f32 s15, #0.0 80615ae: eef1 fa10 vmrs APSR_nzcv, fpscr 80615b2: dd02 ble.n 80615ba 80615b4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80615b8: e003 b.n 80615c2 80615ba: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80615be: eef1 7a67 vneg.f32 s15, s15 80615c2: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80615c6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80615ca: 1e5a subs r2, r3, #1 80615cc: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80615d0: 463a mov r2, r7 80615d2: 009b lsls r3, r3, #2 80615d4: 441a add r2, r3 80615d6: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80615da: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80615de: 2102 movs r1, #2 80615e0: f06c ff18 bl 80ce414 } //** 100 arm_biquad_cascade_df2T_f64(&S_OKT_100Hz, &Buff64[0], &Buff64[Ns], len); 80615e4: 4b39 ldr r3, [pc, #228] ; (80616cc ) 80615e6: 681b ldr r3, [r3, #0] 80615e8: 00db lsls r3, r3, #3 80615ea: 4a36 ldr r2, [pc, #216] ; (80616c4 ) 80615ec: 441a add r2, r3 80615ee: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80615f2: 4934 ldr r1, [pc, #208] ; (80616c4 ) 80615f4: 483a ldr r0, [pc, #232] ; (80616e0 ) 80615f6: f06c ff81 bl 80ce4fc for(i = 0; i < len; i++) { 80615fa: 2300 movs r3, #0 80615fc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061600: e017 b.n 8061632 In[i] = (float32_t) Buff64[Ns + i]; 8061602: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061606: 4a31 ldr r2, [pc, #196] ; (80616cc ) 8061608: 6811 ldr r1, [r2, #0] 806160a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806160e: 440a add r2, r1 8061610: 492c ldr r1, [pc, #176] ; (80616c4 ) 8061612: 00d2 lsls r2, r2, #3 8061614: 440a add r2, r1 8061616: ed92 7b00 vldr d7, [r2] 806161a: eef7 7bc7 vcvt.f32.f64 s15, d7 806161e: 4a2d ldr r2, [pc, #180] ; (80616d4 ) 8061620: 009b lsls r3, r3, #2 8061622: 4413 add r3, r2 8061624: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061628: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806162c: 3301 adds r3, #1 806162e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061632: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061636: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806163a: 429a cmp r2, r3 806163c: d3e1 bcc.n 8061602 } if(pardata.IVS[ACC] == RMS) 806163e: 4b26 ldr r3, [pc, #152] ; (80616d8 ) 8061640: 789b ldrb r3, [r3, #2] 8061642: b2db uxtb r3, r3 8061644: 2b01 cmp r3, #1 8061646: d10e bne.n 8061666 arm_rms_f32(In, len, &Third[k--]); 8061648: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806164c: 1e5a subs r2, r3, #1 806164e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061652: 463a mov r2, r7 8061654: 009b lsls r3, r3, #2 8061656: 4413 add r3, r2 8061658: 461a mov r2, r3 806165a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806165e: 481d ldr r0, [pc, #116] ; (80616d4 ) 8061660: f06c fdaa bl 80ce1b8 8061664: e053 b.n 806170e else { arm_min_f32(In, len, &fn[0], &i); 8061666: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806166a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806166e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061672: 4818 ldr r0, [pc, #96] ; (80616d4 ) 8061674: f06c fe32 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8061678: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806167c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061680: 1d1a adds r2, r3, #4 8061682: 460b mov r3, r1 8061684: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061688: 4812 ldr r0, [pc, #72] ; (80616d4 ) 806168a: f06c fec3 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806168e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061692: eef5 7ac0 vcmpe.f32 s15, #0.0 8061696: eef1 fa10 vmrs APSR_nzcv, fpscr 806169a: dd02 ble.n 80616a2 806169c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80616a0: e003 b.n 80616aa 80616a2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80616a6: eef1 7a67 vneg.f32 s15, s15 80616aa: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80616ae: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80616b2: eef5 7ac0 vcmpe.f32 s15, #0.0 80616b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80616ba: dd13 ble.n 80616e4 80616bc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80616c0: e014 b.n 80616ec 80616c2: bf00 nop 80616c4: 20037b20 .word 0x20037b20 80616c8: 20026060 .word 0x20026060 80616cc: 20021d24 .word 0x20021d24 80616d0: 2002606c .word 0x2002606c 80616d4: 20027a00 .word 0x20027a00 80616d8: 20023ea8 .word 0x20023ea8 80616dc: 20057c28 .word 0x20057c28 80616e0: 200277e0 .word 0x200277e0 80616e4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80616e8: eef1 7a67 vneg.f32 s15, s15 80616ec: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80616f0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80616f4: 1e5a subs r2, r3, #1 80616f6: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80616fa: 463a mov r2, r7 80616fc: 009b lsls r3, r3, #2 80616fe: 441a add r2, r3 8061700: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061704: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061708: 2102 movs r1, #2 806170a: f06c fe83 bl 80ce414 arm_biquad_cascade_df2T_f64(&S_LP_63, &Buff64[0], &Buff64[0], len); 806170e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061712: 4acf ldr r2, [pc, #828] ; (8061a50 ) 8061714: 49ce ldr r1, [pc, #824] ; (8061a50 ) 8061716: 48cf ldr r0, [pc, #828] ; (8061a54 ) 8061718: f06c fef0 bl 80ce4fc len >>= 1; 806171c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061720: 085b lsrs r3, r3, #1 8061722: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8061726: 2300 movs r3, #0 8061728: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806172c: e012 b.n 8061754 Buff64[i] = Buff64[i << 1]; 806172e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061732: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061736: 005b lsls r3, r3, #1 8061738: 49c5 ldr r1, [pc, #788] ; (8061a50 ) 806173a: 00db lsls r3, r3, #3 806173c: 440b add r3, r1 806173e: cb18 ldmia r3, {r3, r4} 8061740: 49c3 ldr r1, [pc, #780] ; (8061a50 ) 8061742: 00d2 lsls r2, r2, #3 8061744: 440a add r2, r1 8061746: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 806174a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806174e: 3301 adds r3, #1 8061750: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061754: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061758: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806175c: 429a cmp r2, r3 806175e: d3e6 bcc.n 806172e } //** 80 arm_biquad_cascade_df2T_f64(&S_OKT_80Hz, &Buff64[0], &Buff64[Ns], len); 8061760: 4bbd ldr r3, [pc, #756] ; (8061a58 ) 8061762: 681b ldr r3, [r3, #0] 8061764: 00db lsls r3, r3, #3 8061766: 4aba ldr r2, [pc, #744] ; (8061a50 ) 8061768: 441a add r2, r3 806176a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806176e: 49b8 ldr r1, [pc, #736] ; (8061a50 ) 8061770: 48ba ldr r0, [pc, #744] ; (8061a5c ) 8061772: f06c fec3 bl 80ce4fc for(i = 0; i < len; i++) { 8061776: 2300 movs r3, #0 8061778: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806177c: e017 b.n 80617ae In[i] = (float32_t) Buff64[Ns + i]; 806177e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061782: 4ab5 ldr r2, [pc, #724] ; (8061a58 ) 8061784: 6811 ldr r1, [r2, #0] 8061786: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806178a: 440a add r2, r1 806178c: 49b0 ldr r1, [pc, #704] ; (8061a50 ) 806178e: 00d2 lsls r2, r2, #3 8061790: 440a add r2, r1 8061792: ed92 7b00 vldr d7, [r2] 8061796: eef7 7bc7 vcvt.f32.f64 s15, d7 806179a: 4ab1 ldr r2, [pc, #708] ; (8061a60 ) 806179c: 009b lsls r3, r3, #2 806179e: 4413 add r3, r2 80617a0: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80617a4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80617a8: 3301 adds r3, #1 80617aa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80617ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80617b2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80617b6: 429a cmp r2, r3 80617b8: d3e1 bcc.n 806177e } if(pardata.IVS[ACC] == RMS) 80617ba: 4baa ldr r3, [pc, #680] ; (8061a64 ) 80617bc: 789b ldrb r3, [r3, #2] 80617be: b2db uxtb r3, r3 80617c0: 2b01 cmp r3, #1 80617c2: d10e bne.n 80617e2 arm_rms_f32(In, len, &Third[k--]); 80617c4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80617c8: 1e5a subs r2, r3, #1 80617ca: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80617ce: 463a mov r2, r7 80617d0: 009b lsls r3, r3, #2 80617d2: 4413 add r3, r2 80617d4: 461a mov r2, r3 80617d6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80617da: 48a1 ldr r0, [pc, #644] ; (8061a60 ) 80617dc: f06c fcec bl 80ce1b8 80617e0: e042 b.n 8061868 else { arm_min_f32(In, len, &fn[0], &i); 80617e2: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80617e6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80617ea: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80617ee: 489c ldr r0, [pc, #624] ; (8061a60 ) 80617f0: f06c fd74 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80617f4: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80617f8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80617fc: 1d1a adds r2, r3, #4 80617fe: 460b mov r3, r1 8061800: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061804: 4896 ldr r0, [pc, #600] ; (8061a60 ) 8061806: f06c fe05 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806180a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806180e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061812: eef1 fa10 vmrs APSR_nzcv, fpscr 8061816: dd02 ble.n 806181e 8061818: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806181c: e003 b.n 8061826 806181e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061822: eef1 7a67 vneg.f32 s15, s15 8061826: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806182a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806182e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061832: eef1 fa10 vmrs APSR_nzcv, fpscr 8061836: dd02 ble.n 806183e 8061838: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806183c: e003 b.n 8061846 806183e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061842: eef1 7a67 vneg.f32 s15, s15 8061846: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806184a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806184e: 1e5a subs r2, r3, #1 8061850: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061854: 463a mov r2, r7 8061856: 009b lsls r3, r3, #2 8061858: 441a add r2, r3 806185a: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806185e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061862: 2102 movs r1, #2 8061864: f06c fdd6 bl 80ce414 } //** 63 arm_biquad_cascade_df2T_f64(&S_OKT_63Hz, &Buff64[0], &Buff64[Ns], len); 8061868: 4b7b ldr r3, [pc, #492] ; (8061a58 ) 806186a: 681b ldr r3, [r3, #0] 806186c: 00db lsls r3, r3, #3 806186e: 4a78 ldr r2, [pc, #480] ; (8061a50 ) 8061870: 441a add r2, r3 8061872: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061876: 4976 ldr r1, [pc, #472] ; (8061a50 ) 8061878: 487b ldr r0, [pc, #492] ; (8061a68 ) 806187a: f06c fe3f bl 80ce4fc for(i = 0; i < len; i++) { 806187e: 2300 movs r3, #0 8061880: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061884: e017 b.n 80618b6 In[i] = (float32_t) Buff64[Ns + i]; 8061886: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806188a: 4a73 ldr r2, [pc, #460] ; (8061a58 ) 806188c: 6811 ldr r1, [r2, #0] 806188e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061892: 440a add r2, r1 8061894: 496e ldr r1, [pc, #440] ; (8061a50 ) 8061896: 00d2 lsls r2, r2, #3 8061898: 440a add r2, r1 806189a: ed92 7b00 vldr d7, [r2] 806189e: eef7 7bc7 vcvt.f32.f64 s15, d7 80618a2: 4a6f ldr r2, [pc, #444] ; (8061a60 ) 80618a4: 009b lsls r3, r3, #2 80618a6: 4413 add r3, r2 80618a8: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80618ac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80618b0: 3301 adds r3, #1 80618b2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80618b6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80618ba: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80618be: 429a cmp r2, r3 80618c0: d3e1 bcc.n 8061886 } if(pardata.IVS[ACC] == RMS) 80618c2: 4b68 ldr r3, [pc, #416] ; (8061a64 ) 80618c4: 789b ldrb r3, [r3, #2] 80618c6: b2db uxtb r3, r3 80618c8: 2b01 cmp r3, #1 80618ca: d10e bne.n 80618ea arm_rms_f32(In, len, &Third[k--]); 80618cc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80618d0: 1e5a subs r2, r3, #1 80618d2: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80618d6: 463a mov r2, r7 80618d8: 009b lsls r3, r3, #2 80618da: 4413 add r3, r2 80618dc: 461a mov r2, r3 80618de: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80618e2: 485f ldr r0, [pc, #380] ; (8061a60 ) 80618e4: f06c fc68 bl 80ce1b8 80618e8: e042 b.n 8061970 else { arm_min_f32(In, len, &fn[0], &i); 80618ea: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80618ee: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80618f2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80618f6: 485a ldr r0, [pc, #360] ; (8061a60 ) 80618f8: f06c fcf0 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80618fc: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061900: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061904: 1d1a adds r2, r3, #4 8061906: 460b mov r3, r1 8061908: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806190c: 4854 ldr r0, [pc, #336] ; (8061a60 ) 806190e: f06c fd81 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061912: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061916: eef5 7ac0 vcmpe.f32 s15, #0.0 806191a: eef1 fa10 vmrs APSR_nzcv, fpscr 806191e: dd02 ble.n 8061926 8061920: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061924: e003 b.n 806192e 8061926: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806192a: eef1 7a67 vneg.f32 s15, s15 806192e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061932: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061936: eef5 7ac0 vcmpe.f32 s15, #0.0 806193a: eef1 fa10 vmrs APSR_nzcv, fpscr 806193e: dd02 ble.n 8061946 8061940: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061944: e003 b.n 806194e 8061946: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806194a: eef1 7a67 vneg.f32 s15, s15 806194e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061952: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061956: 1e5a subs r2, r3, #1 8061958: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806195c: 463a mov r2, r7 806195e: 009b lsls r3, r3, #2 8061960: 441a add r2, r3 8061962: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061966: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806196a: 2102 movs r1, #2 806196c: f06c fd52 bl 80ce414 } //** 50 arm_biquad_cascade_df2T_f64(&S_OKT_50Hz, &Buff64[0], &Buff64[Ns], len); 8061970: 4b39 ldr r3, [pc, #228] ; (8061a58 ) 8061972: 681b ldr r3, [r3, #0] 8061974: 00db lsls r3, r3, #3 8061976: 4a36 ldr r2, [pc, #216] ; (8061a50 ) 8061978: 441a add r2, r3 806197a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806197e: 4934 ldr r1, [pc, #208] ; (8061a50 ) 8061980: 483a ldr r0, [pc, #232] ; (8061a6c ) 8061982: f06c fdbb bl 80ce4fc for(i = 0; i < len; i++) { 8061986: 2300 movs r3, #0 8061988: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806198c: e017 b.n 80619be In[i] = (float32_t) Buff64[Ns + i]; 806198e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061992: 4a31 ldr r2, [pc, #196] ; (8061a58 ) 8061994: 6811 ldr r1, [r2, #0] 8061996: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806199a: 440a add r2, r1 806199c: 492c ldr r1, [pc, #176] ; (8061a50 ) 806199e: 00d2 lsls r2, r2, #3 80619a0: 440a add r2, r1 80619a2: ed92 7b00 vldr d7, [r2] 80619a6: eef7 7bc7 vcvt.f32.f64 s15, d7 80619aa: 4a2d ldr r2, [pc, #180] ; (8061a60 ) 80619ac: 009b lsls r3, r3, #2 80619ae: 4413 add r3, r2 80619b0: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80619b4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80619b8: 3301 adds r3, #1 80619ba: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80619be: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80619c2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80619c6: 429a cmp r2, r3 80619c8: d3e1 bcc.n 806198e } if(pardata.IVS[ACC] == RMS) 80619ca: 4b26 ldr r3, [pc, #152] ; (8061a64 ) 80619cc: 789b ldrb r3, [r3, #2] 80619ce: b2db uxtb r3, r3 80619d0: 2b01 cmp r3, #1 80619d2: d10e bne.n 80619f2 arm_rms_f32(In, len, &Third[k--]); 80619d4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80619d8: 1e5a subs r2, r3, #1 80619da: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80619de: 463a mov r2, r7 80619e0: 009b lsls r3, r3, #2 80619e2: 4413 add r3, r2 80619e4: 461a mov r2, r3 80619e6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80619ea: 481d ldr r0, [pc, #116] ; (8061a60 ) 80619ec: f06c fbe4 bl 80ce1b8 80619f0: e053 b.n 8061a9a else { arm_min_f32(In, len, &fn[0], &i); 80619f2: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80619f6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80619fa: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80619fe: 4818 ldr r0, [pc, #96] ; (8061a60 ) 8061a00: f06c fc6c bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8061a04: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061a08: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061a0c: 1d1a adds r2, r3, #4 8061a0e: 460b mov r3, r1 8061a10: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061a14: 4812 ldr r0, [pc, #72] ; (8061a60 ) 8061a16: f06c fcfd bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061a1a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061a1e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061a22: eef1 fa10 vmrs APSR_nzcv, fpscr 8061a26: dd02 ble.n 8061a2e 8061a28: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061a2c: e003 b.n 8061a36 8061a2e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061a32: eef1 7a67 vneg.f32 s15, s15 8061a36: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061a3a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061a3e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061a42: eef1 fa10 vmrs APSR_nzcv, fpscr 8061a46: dd13 ble.n 8061a70 8061a48: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061a4c: e014 b.n 8061a78 8061a4e: bf00 nop 8061a50: 20037b20 .word 0x20037b20 8061a54: 20026370 .word 0x20026370 8061a58: 20021d24 .word 0x20021d24 8061a5c: 200267ec .word 0x200267ec 8061a60: 20027a00 .word 0x20027a00 8061a64: 20023ea8 .word 0x20023ea8 8061a68: 20057b84 .word 0x20057b84 8061a6c: 20057dc4 .word 0x20057dc4 8061a70: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061a74: eef1 7a67 vneg.f32 s15, s15 8061a78: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061a7c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061a80: 1e5a subs r2, r3, #1 8061a82: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061a86: 463a mov r2, r7 8061a88: 009b lsls r3, r3, #2 8061a8a: 441a add r2, r3 8061a8c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061a90: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061a94: 2102 movs r1, #2 8061a96: f06c fcbd bl 80ce414 } arm_biquad_cascade_df2T_f64(&S_LP_32, &Buff64[0], &Buff64[0], len); 8061a9a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061a9e: 4acf ldr r2, [pc, #828] ; (8061ddc ) 8061aa0: 49ce ldr r1, [pc, #824] ; (8061ddc ) 8061aa2: 48cf ldr r0, [pc, #828] ; (8061de0 ) 8061aa4: f06c fd2a bl 80ce4fc len >>= 1; 8061aa8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061aac: 085b lsrs r3, r3, #1 8061aae: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8061ab2: 2300 movs r3, #0 8061ab4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061ab8: e012 b.n 8061ae0 Buff64[i] = Buff64[i << 1]; 8061aba: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061abe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061ac2: 005b lsls r3, r3, #1 8061ac4: 49c5 ldr r1, [pc, #788] ; (8061ddc ) 8061ac6: 00db lsls r3, r3, #3 8061ac8: 440b add r3, r1 8061aca: cb18 ldmia r3, {r3, r4} 8061acc: 49c3 ldr r1, [pc, #780] ; (8061ddc ) 8061ace: 00d2 lsls r2, r2, #3 8061ad0: 440a add r2, r1 8061ad2: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061ad6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061ada: 3301 adds r3, #1 8061adc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061ae0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061ae4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061ae8: 429a cmp r2, r3 8061aea: d3e6 bcc.n 8061aba } //** 40 arm_biquad_cascade_df2T_f64(&S_OKT_40Hz, &Buff64[0], &Buff64[Ns], len); 8061aec: 4bbd ldr r3, [pc, #756] ; (8061de4 ) 8061aee: 681b ldr r3, [r3, #0] 8061af0: 00db lsls r3, r3, #3 8061af2: 4aba ldr r2, [pc, #744] ; (8061ddc ) 8061af4: 441a add r2, r3 8061af6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061afa: 49b8 ldr r1, [pc, #736] ; (8061ddc ) 8061afc: 48ba ldr r0, [pc, #744] ; (8061de8 ) 8061afe: f06c fcfd bl 80ce4fc for(i = 0; i < len; i++) { 8061b02: 2300 movs r3, #0 8061b04: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061b08: e017 b.n 8061b3a In[i] = (float32_t) Buff64[Ns + i]; 8061b0a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061b0e: 4ab5 ldr r2, [pc, #724] ; (8061de4 ) 8061b10: 6811 ldr r1, [r2, #0] 8061b12: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061b16: 440a add r2, r1 8061b18: 49b0 ldr r1, [pc, #704] ; (8061ddc ) 8061b1a: 00d2 lsls r2, r2, #3 8061b1c: 440a add r2, r1 8061b1e: ed92 7b00 vldr d7, [r2] 8061b22: eef7 7bc7 vcvt.f32.f64 s15, d7 8061b26: 4ab1 ldr r2, [pc, #708] ; (8061dec ) 8061b28: 009b lsls r3, r3, #2 8061b2a: 4413 add r3, r2 8061b2c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061b30: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061b34: 3301 adds r3, #1 8061b36: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061b3a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061b3e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061b42: 429a cmp r2, r3 8061b44: d3e1 bcc.n 8061b0a } if(pardata.IVS[ACC] == RMS) 8061b46: 4baa ldr r3, [pc, #680] ; (8061df0 ) 8061b48: 789b ldrb r3, [r3, #2] 8061b4a: b2db uxtb r3, r3 8061b4c: 2b01 cmp r3, #1 8061b4e: d10e bne.n 8061b6e arm_rms_f32(In, len, &Third[k--]); 8061b50: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061b54: 1e5a subs r2, r3, #1 8061b56: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061b5a: 463a mov r2, r7 8061b5c: 009b lsls r3, r3, #2 8061b5e: 4413 add r3, r2 8061b60: 461a mov r2, r3 8061b62: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061b66: 48a1 ldr r0, [pc, #644] ; (8061dec ) 8061b68: f06c fb26 bl 80ce1b8 8061b6c: e042 b.n 8061bf4 else { arm_min_f32(In, len, &fn[0], &i); 8061b6e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061b72: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061b76: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061b7a: 489c ldr r0, [pc, #624] ; (8061dec ) 8061b7c: f06c fbae bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8061b80: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061b84: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061b88: 1d1a adds r2, r3, #4 8061b8a: 460b mov r3, r1 8061b8c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061b90: 4896 ldr r0, [pc, #600] ; (8061dec ) 8061b92: f06c fc3f bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061b96: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061b9a: eef5 7ac0 vcmpe.f32 s15, #0.0 8061b9e: eef1 fa10 vmrs APSR_nzcv, fpscr 8061ba2: dd02 ble.n 8061baa 8061ba4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061ba8: e003 b.n 8061bb2 8061baa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061bae: eef1 7a67 vneg.f32 s15, s15 8061bb2: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061bb6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061bba: eef5 7ac0 vcmpe.f32 s15, #0.0 8061bbe: eef1 fa10 vmrs APSR_nzcv, fpscr 8061bc2: dd02 ble.n 8061bca 8061bc4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061bc8: e003 b.n 8061bd2 8061bca: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061bce: eef1 7a67 vneg.f32 s15, s15 8061bd2: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061bd6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061bda: 1e5a subs r2, r3, #1 8061bdc: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061be0: 463a mov r2, r7 8061be2: 009b lsls r3, r3, #2 8061be4: 441a add r2, r3 8061be6: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061bea: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061bee: 2102 movs r1, #2 8061bf0: f06c fc10 bl 80ce414 } //** 31 arm_biquad_cascade_df2T_f64(&S_OKT_32Hz, &Buff64[0], &Buff64[Ns], len); 8061bf4: 4b7b ldr r3, [pc, #492] ; (8061de4 ) 8061bf6: 681b ldr r3, [r3, #0] 8061bf8: 00db lsls r3, r3, #3 8061bfa: 4a78 ldr r2, [pc, #480] ; (8061ddc ) 8061bfc: 441a add r2, r3 8061bfe: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061c02: 4976 ldr r1, [pc, #472] ; (8061ddc ) 8061c04: 487b ldr r0, [pc, #492] ; (8061df4 ) 8061c06: f06c fc79 bl 80ce4fc for(i = 0; i < len; i++) { 8061c0a: 2300 movs r3, #0 8061c0c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061c10: e017 b.n 8061c42 In[i] = (float32_t) Buff64[Ns + i]; 8061c12: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061c16: 4a73 ldr r2, [pc, #460] ; (8061de4 ) 8061c18: 6811 ldr r1, [r2, #0] 8061c1a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061c1e: 440a add r2, r1 8061c20: 496e ldr r1, [pc, #440] ; (8061ddc ) 8061c22: 00d2 lsls r2, r2, #3 8061c24: 440a add r2, r1 8061c26: ed92 7b00 vldr d7, [r2] 8061c2a: eef7 7bc7 vcvt.f32.f64 s15, d7 8061c2e: 4a6f ldr r2, [pc, #444] ; (8061dec ) 8061c30: 009b lsls r3, r3, #2 8061c32: 4413 add r3, r2 8061c34: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061c38: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061c3c: 3301 adds r3, #1 8061c3e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061c42: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061c46: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061c4a: 429a cmp r2, r3 8061c4c: d3e1 bcc.n 8061c12 } if(pardata.IVS[ACC] == RMS) 8061c4e: 4b68 ldr r3, [pc, #416] ; (8061df0 ) 8061c50: 789b ldrb r3, [r3, #2] 8061c52: b2db uxtb r3, r3 8061c54: 2b01 cmp r3, #1 8061c56: d10e bne.n 8061c76 arm_rms_f32(In, len, &Third[k--]); 8061c58: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061c5c: 1e5a subs r2, r3, #1 8061c5e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061c62: 463a mov r2, r7 8061c64: 009b lsls r3, r3, #2 8061c66: 4413 add r3, r2 8061c68: 461a mov r2, r3 8061c6a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061c6e: 485f ldr r0, [pc, #380] ; (8061dec ) 8061c70: f06c faa2 bl 80ce1b8 8061c74: e042 b.n 8061cfc else { arm_min_f32(In, len, &fn[0], &i); 8061c76: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061c7a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061c7e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061c82: 485a ldr r0, [pc, #360] ; (8061dec ) 8061c84: f06c fb2a bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8061c88: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061c8c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061c90: 1d1a adds r2, r3, #4 8061c92: 460b mov r3, r1 8061c94: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061c98: 4854 ldr r0, [pc, #336] ; (8061dec ) 8061c9a: f06c fbbb bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061c9e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061ca2: eef5 7ac0 vcmpe.f32 s15, #0.0 8061ca6: eef1 fa10 vmrs APSR_nzcv, fpscr 8061caa: dd02 ble.n 8061cb2 8061cac: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061cb0: e003 b.n 8061cba 8061cb2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061cb6: eef1 7a67 vneg.f32 s15, s15 8061cba: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061cbe: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061cc2: eef5 7ac0 vcmpe.f32 s15, #0.0 8061cc6: eef1 fa10 vmrs APSR_nzcv, fpscr 8061cca: dd02 ble.n 8061cd2 8061ccc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061cd0: e003 b.n 8061cda 8061cd2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061cd6: eef1 7a67 vneg.f32 s15, s15 8061cda: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061cde: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061ce2: 1e5a subs r2, r3, #1 8061ce4: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061ce8: 463a mov r2, r7 8061cea: 009b lsls r3, r3, #2 8061cec: 441a add r2, r3 8061cee: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061cf2: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061cf6: 2102 movs r1, #2 8061cf8: f06c fb8c bl 80ce414 } //** 25 arm_biquad_cascade_df2T_f64(&S_OKT_25Hz, &Buff64[0], &Buff64[Ns], len); 8061cfc: 4b39 ldr r3, [pc, #228] ; (8061de4 ) 8061cfe: 681b ldr r3, [r3, #0] 8061d00: 00db lsls r3, r3, #3 8061d02: 4a36 ldr r2, [pc, #216] ; (8061ddc ) 8061d04: 441a add r2, r3 8061d06: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061d0a: 4934 ldr r1, [pc, #208] ; (8061ddc ) 8061d0c: 483a ldr r0, [pc, #232] ; (8061df8 ) 8061d0e: f06c fbf5 bl 80ce4fc for(i = 0; i < len; i++) { 8061d12: 2300 movs r3, #0 8061d14: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061d18: e017 b.n 8061d4a In[i] = (float32_t) Buff64[Ns + i]; 8061d1a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061d1e: 4a31 ldr r2, [pc, #196] ; (8061de4 ) 8061d20: 6811 ldr r1, [r2, #0] 8061d22: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061d26: 440a add r2, r1 8061d28: 492c ldr r1, [pc, #176] ; (8061ddc ) 8061d2a: 00d2 lsls r2, r2, #3 8061d2c: 440a add r2, r1 8061d2e: ed92 7b00 vldr d7, [r2] 8061d32: eef7 7bc7 vcvt.f32.f64 s15, d7 8061d36: 4a2d ldr r2, [pc, #180] ; (8061dec ) 8061d38: 009b lsls r3, r3, #2 8061d3a: 4413 add r3, r2 8061d3c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061d40: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061d44: 3301 adds r3, #1 8061d46: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061d4a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061d4e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061d52: 429a cmp r2, r3 8061d54: d3e1 bcc.n 8061d1a } if(pardata.IVS[ACC] == RMS) 8061d56: 4b26 ldr r3, [pc, #152] ; (8061df0 ) 8061d58: 789b ldrb r3, [r3, #2] 8061d5a: b2db uxtb r3, r3 8061d5c: 2b01 cmp r3, #1 8061d5e: d10e bne.n 8061d7e arm_rms_f32(In, len, &Third[k--]); 8061d60: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061d64: 1e5a subs r2, r3, #1 8061d66: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061d6a: 463a mov r2, r7 8061d6c: 009b lsls r3, r3, #2 8061d6e: 4413 add r3, r2 8061d70: 461a mov r2, r3 8061d72: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061d76: 481d ldr r0, [pc, #116] ; (8061dec ) 8061d78: f06c fa1e bl 80ce1b8 8061d7c: e053 b.n 8061e26 else { arm_min_f32(In, len, &fn[0], &i); 8061d7e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061d82: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061d86: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061d8a: 4818 ldr r0, [pc, #96] ; (8061dec ) 8061d8c: f06c faa6 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8061d90: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061d94: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061d98: 1d1a adds r2, r3, #4 8061d9a: 460b mov r3, r1 8061d9c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061da0: 4812 ldr r0, [pc, #72] ; (8061dec ) 8061da2: f06c fb37 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061da6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061daa: eef5 7ac0 vcmpe.f32 s15, #0.0 8061dae: eef1 fa10 vmrs APSR_nzcv, fpscr 8061db2: dd02 ble.n 8061dba 8061db4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061db8: e003 b.n 8061dc2 8061dba: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061dbe: eef1 7a67 vneg.f32 s15, s15 8061dc2: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061dc6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061dca: eef5 7ac0 vcmpe.f32 s15, #0.0 8061dce: eef1 fa10 vmrs APSR_nzcv, fpscr 8061dd2: dd13 ble.n 8061dfc 8061dd4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061dd8: e014 b.n 8061e04 8061dda: bf00 nop 8061ddc: 20037b20 .word 0x20037b20 8061de0: 200278f8 .word 0x200278f8 8061de4: 20021d24 .word 0x20021d24 8061de8: 20026650 .word 0x20026650 8061dec: 20027a00 .word 0x20027a00 8061df0: 20023ea8 .word 0x20023ea8 8061df4: 20057f94 .word 0x20057f94 8061df8: 20026de0 .word 0x20026de0 8061dfc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061e00: eef1 7a67 vneg.f32 s15, s15 8061e04: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061e08: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061e0c: 1e5a subs r2, r3, #1 8061e0e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061e12: 463a mov r2, r7 8061e14: 009b lsls r3, r3, #2 8061e16: 441a add r2, r3 8061e18: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061e1c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061e20: 2102 movs r1, #2 8061e22: f06c faf7 bl 80ce414 } arm_biquad_cascade_df2T_f64(&S_LP_16, &Buff64[0], &Buff64[0], len); 8061e26: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061e2a: 4acf ldr r2, [pc, #828] ; (8062168 ) 8061e2c: 49ce ldr r1, [pc, #824] ; (8062168 ) 8061e2e: 48cf ldr r0, [pc, #828] ; (806216c ) 8061e30: f06c fb64 bl 80ce4fc len >>= 1; 8061e34: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061e38: 085b lsrs r3, r3, #1 8061e3a: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8061e3e: 2300 movs r3, #0 8061e40: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061e44: e012 b.n 8061e6c Buff64[i] = Buff64[i << 1]; 8061e46: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061e4a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061e4e: 005b lsls r3, r3, #1 8061e50: 49c5 ldr r1, [pc, #788] ; (8062168 ) 8061e52: 00db lsls r3, r3, #3 8061e54: 440b add r3, r1 8061e56: cb18 ldmia r3, {r3, r4} 8061e58: 49c3 ldr r1, [pc, #780] ; (8062168 ) 8061e5a: 00d2 lsls r2, r2, #3 8061e5c: 440a add r2, r1 8061e5e: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061e62: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061e66: 3301 adds r3, #1 8061e68: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061e6c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061e70: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061e74: 429a cmp r2, r3 8061e76: d3e6 bcc.n 8061e46 } //** 20 arm_biquad_cascade_df2T_f64(&S_OKT_20Hz, &Buff64[0], &Buff64[Ns], len); 8061e78: 4bbd ldr r3, [pc, #756] ; (8062170 ) 8061e7a: 681b ldr r3, [r3, #0] 8061e7c: 00db lsls r3, r3, #3 8061e7e: 4aba ldr r2, [pc, #744] ; (8062168 ) 8061e80: 441a add r2, r3 8061e82: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061e86: 49b8 ldr r1, [pc, #736] ; (8062168 ) 8061e88: 48ba ldr r0, [pc, #744] ; (8062174 ) 8061e8a: f06c fb37 bl 80ce4fc for(i = 0; i < len; i++) { 8061e8e: 2300 movs r3, #0 8061e90: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061e94: e017 b.n 8061ec6 In[i] = (float32_t) Buff64[Ns + i]; 8061e96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061e9a: 4ab5 ldr r2, [pc, #724] ; (8062170 ) 8061e9c: 6811 ldr r1, [r2, #0] 8061e9e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061ea2: 440a add r2, r1 8061ea4: 49b0 ldr r1, [pc, #704] ; (8062168 ) 8061ea6: 00d2 lsls r2, r2, #3 8061ea8: 440a add r2, r1 8061eaa: ed92 7b00 vldr d7, [r2] 8061eae: eef7 7bc7 vcvt.f32.f64 s15, d7 8061eb2: 4ab1 ldr r2, [pc, #708] ; (8062178 ) 8061eb4: 009b lsls r3, r3, #2 8061eb6: 4413 add r3, r2 8061eb8: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061ebc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061ec0: 3301 adds r3, #1 8061ec2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061ec6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061eca: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061ece: 429a cmp r2, r3 8061ed0: d3e1 bcc.n 8061e96 } if(pardata.IVS[ACC] == RMS) 8061ed2: 4baa ldr r3, [pc, #680] ; (806217c ) 8061ed4: 789b ldrb r3, [r3, #2] 8061ed6: b2db uxtb r3, r3 8061ed8: 2b01 cmp r3, #1 8061eda: d10e bne.n 8061efa arm_rms_f32(In, len, &Third[k--]); 8061edc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061ee0: 1e5a subs r2, r3, #1 8061ee2: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061ee6: 463a mov r2, r7 8061ee8: 009b lsls r3, r3, #2 8061eea: 4413 add r3, r2 8061eec: 461a mov r2, r3 8061eee: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061ef2: 48a1 ldr r0, [pc, #644] ; (8062178 ) 8061ef4: f06c f960 bl 80ce1b8 8061ef8: e042 b.n 8061f80 else { arm_min_f32(In, len, &fn[0], &i); 8061efa: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061efe: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061f02: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061f06: 489c ldr r0, [pc, #624] ; (8062178 ) 8061f08: f06c f9e8 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8061f0c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061f10: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061f14: 1d1a adds r2, r3, #4 8061f16: 460b mov r3, r1 8061f18: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061f1c: 4896 ldr r0, [pc, #600] ; (8062178 ) 8061f1e: f06c fa79 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061f22: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061f26: eef5 7ac0 vcmpe.f32 s15, #0.0 8061f2a: eef1 fa10 vmrs APSR_nzcv, fpscr 8061f2e: dd02 ble.n 8061f36 8061f30: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061f34: e003 b.n 8061f3e 8061f36: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061f3a: eef1 7a67 vneg.f32 s15, s15 8061f3e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061f42: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061f46: eef5 7ac0 vcmpe.f32 s15, #0.0 8061f4a: eef1 fa10 vmrs APSR_nzcv, fpscr 8061f4e: dd02 ble.n 8061f56 8061f50: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061f54: e003 b.n 8061f5e 8061f56: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061f5a: eef1 7a67 vneg.f32 s15, s15 8061f5e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061f62: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061f66: 1e5a subs r2, r3, #1 8061f68: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061f6c: 463a mov r2, r7 8061f6e: 009b lsls r3, r3, #2 8061f70: 441a add r2, r3 8061f72: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061f76: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061f7a: 2102 movs r1, #2 8061f7c: f06c fa4a bl 80ce414 } //** 16 arm_biquad_cascade_df2T_f64(&S_OKT_16Hz, &Buff64[0], &Buff64[Ns], len); 8061f80: 4b7b ldr r3, [pc, #492] ; (8062170 ) 8061f82: 681b ldr r3, [r3, #0] 8061f84: 00db lsls r3, r3, #3 8061f86: 4a78 ldr r2, [pc, #480] ; (8062168 ) 8061f88: 441a add r2, r3 8061f8a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061f8e: 4976 ldr r1, [pc, #472] ; (8062168 ) 8061f90: 487b ldr r0, [pc, #492] ; (8062180 ) 8061f92: f06c fab3 bl 80ce4fc for(i = 0; i < len; i++) { 8061f96: 2300 movs r3, #0 8061f98: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061f9c: e017 b.n 8061fce In[i] = (float32_t) Buff64[Ns + i]; 8061f9e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061fa2: 4a73 ldr r2, [pc, #460] ; (8062170 ) 8061fa4: 6811 ldr r1, [r2, #0] 8061fa6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061faa: 440a add r2, r1 8061fac: 496e ldr r1, [pc, #440] ; (8062168 ) 8061fae: 00d2 lsls r2, r2, #3 8061fb0: 440a add r2, r1 8061fb2: ed92 7b00 vldr d7, [r2] 8061fb6: eef7 7bc7 vcvt.f32.f64 s15, d7 8061fba: 4a6f ldr r2, [pc, #444] ; (8062178 ) 8061fbc: 009b lsls r3, r3, #2 8061fbe: 4413 add r3, r2 8061fc0: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061fc4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061fc8: 3301 adds r3, #1 8061fca: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061fce: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061fd2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061fd6: 429a cmp r2, r3 8061fd8: d3e1 bcc.n 8061f9e } if(pardata.IVS[ACC] == RMS) 8061fda: 4b68 ldr r3, [pc, #416] ; (806217c ) 8061fdc: 789b ldrb r3, [r3, #2] 8061fde: b2db uxtb r3, r3 8061fe0: 2b01 cmp r3, #1 8061fe2: d10e bne.n 8062002 arm_rms_f32(In, len, &Third[k--]); 8061fe4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061fe8: 1e5a subs r2, r3, #1 8061fea: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061fee: 463a mov r2, r7 8061ff0: 009b lsls r3, r3, #2 8061ff2: 4413 add r3, r2 8061ff4: 461a mov r2, r3 8061ff6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061ffa: 485f ldr r0, [pc, #380] ; (8062178 ) 8061ffc: f06c f8dc bl 80ce1b8 8062000: e042 b.n 8062088 else { arm_min_f32(In, len, &fn[0], &i); 8062002: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062006: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806200a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806200e: 485a ldr r0, [pc, #360] ; (8062178 ) 8062010: f06c f964 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8062014: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062018: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806201c: 1d1a adds r2, r3, #4 806201e: 460b mov r3, r1 8062020: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062024: 4854 ldr r0, [pc, #336] ; (8062178 ) 8062026: f06c f9f5 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806202a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806202e: eef5 7ac0 vcmpe.f32 s15, #0.0 8062032: eef1 fa10 vmrs APSR_nzcv, fpscr 8062036: dd02 ble.n 806203e 8062038: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806203c: e003 b.n 8062046 806203e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062042: eef1 7a67 vneg.f32 s15, s15 8062046: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806204a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806204e: eef5 7ac0 vcmpe.f32 s15, #0.0 8062052: eef1 fa10 vmrs APSR_nzcv, fpscr 8062056: dd02 ble.n 806205e 8062058: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806205c: e003 b.n 8062066 806205e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062062: eef1 7a67 vneg.f32 s15, s15 8062066: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806206a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806206e: 1e5a subs r2, r3, #1 8062070: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8062074: 463a mov r2, r7 8062076: 009b lsls r3, r3, #2 8062078: 441a add r2, r3 806207a: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806207e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062082: 2102 movs r1, #2 8062084: f06c f9c6 bl 80ce414 } //** 12,5 arm_biquad_cascade_df2T_f64(&S_OKT_12_5Hz, &Buff64[0], &Buff64[Ns], len); 8062088: 4b39 ldr r3, [pc, #228] ; (8062170 ) 806208a: 681b ldr r3, [r3, #0] 806208c: 00db lsls r3, r3, #3 806208e: 4a36 ldr r2, [pc, #216] ; (8062168 ) 8062090: 441a add r2, r3 8062092: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062096: 4934 ldr r1, [pc, #208] ; (8062168 ) 8062098: 483a ldr r0, [pc, #232] ; (8062184 ) 806209a: f06c fa2f bl 80ce4fc for(i = 0; i < len; i++) { 806209e: 2300 movs r3, #0 80620a0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80620a4: e017 b.n 80620d6 In[i] = (float32_t) Buff64[Ns + i]; 80620a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80620aa: 4a31 ldr r2, [pc, #196] ; (8062170 ) 80620ac: 6811 ldr r1, [r2, #0] 80620ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80620b2: 440a add r2, r1 80620b4: 492c ldr r1, [pc, #176] ; (8062168 ) 80620b6: 00d2 lsls r2, r2, #3 80620b8: 440a add r2, r1 80620ba: ed92 7b00 vldr d7, [r2] 80620be: eef7 7bc7 vcvt.f32.f64 s15, d7 80620c2: 4a2d ldr r2, [pc, #180] ; (8062178 ) 80620c4: 009b lsls r3, r3, #2 80620c6: 4413 add r3, r2 80620c8: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80620cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80620d0: 3301 adds r3, #1 80620d2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80620d6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80620da: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80620de: 429a cmp r2, r3 80620e0: d3e1 bcc.n 80620a6 } if(pardata.IVS[ACC] == RMS) 80620e2: 4b26 ldr r3, [pc, #152] ; (806217c ) 80620e4: 789b ldrb r3, [r3, #2] 80620e6: b2db uxtb r3, r3 80620e8: 2b01 cmp r3, #1 80620ea: d10e bne.n 806210a arm_rms_f32(In, len, &Third[k--]); 80620ec: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80620f0: 1e5a subs r2, r3, #1 80620f2: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80620f6: 463a mov r2, r7 80620f8: 009b lsls r3, r3, #2 80620fa: 4413 add r3, r2 80620fc: 461a mov r2, r3 80620fe: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062102: 481d ldr r0, [pc, #116] ; (8062178 ) 8062104: f06c f858 bl 80ce1b8 8062108: e053 b.n 80621b2 else { arm_min_f32(In, len, &fn[0], &i); 806210a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806210e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062112: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062116: 4818 ldr r0, [pc, #96] ; (8062178 ) 8062118: f06c f8e0 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 806211c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062120: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062124: 1d1a adds r2, r3, #4 8062126: 460b mov r3, r1 8062128: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806212c: 4812 ldr r0, [pc, #72] ; (8062178 ) 806212e: f06c f971 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062132: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062136: eef5 7ac0 vcmpe.f32 s15, #0.0 806213a: eef1 fa10 vmrs APSR_nzcv, fpscr 806213e: dd02 ble.n 8062146 8062140: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062144: e003 b.n 806214e 8062146: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806214a: eef1 7a67 vneg.f32 s15, s15 806214e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062152: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062156: eef5 7ac0 vcmpe.f32 s15, #0.0 806215a: eef1 fa10 vmrs APSR_nzcv, fpscr 806215e: dd13 ble.n 8062188 8062160: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062164: e014 b.n 8062190 8062166: bf00 nop 8062168: 20037b20 .word 0x20037b20 806216c: 20026aa8 .word 0x20026aa8 8062170: 20021d24 .word 0x20021d24 8062174: 20026020 .word 0x20026020 8062178: 20027a00 .word 0x20027a00 806217c: 20023ea8 .word 0x20023ea8 8062180: 20026c08 .word 0x20026c08 8062184: 20057b78 .word 0x20057b78 8062188: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806218c: eef1 7a67 vneg.f32 s15, s15 8062190: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8062194: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062198: 1e5a subs r2, r3, #1 806219a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806219e: 463a mov r2, r7 80621a0: 009b lsls r3, r3, #2 80621a2: 441a add r2, r3 80621a4: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80621a8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80621ac: 2102 movs r1, #2 80621ae: f06c f931 bl 80ce414 } cntOkt++; 80621b2: 4bc9 ldr r3, [pc, #804] ; (80624d8 ) 80621b4: 681b ldr r3, [r3, #0] 80621b6: 3301 adds r3, #1 80621b8: 4ac7 ldr r2, [pc, #796] ; (80624d8 ) 80621ba: 6013 str r3, [r2, #0] arm_biquad_cascade_df2T_f64(&S_LP_8, &Buff64[0], &Buff64[0], len); 80621bc: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80621c0: 4ac6 ldr r2, [pc, #792] ; (80624dc ) 80621c2: 49c6 ldr r1, [pc, #792] ; (80624dc ) 80621c4: 48c6 ldr r0, [pc, #792] ; (80624e0 ) 80621c6: f06c f999 bl 80ce4fc len >>= 1; 80621ca: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80621ce: 085b lsrs r3, r3, #1 80621d0: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 80621d4: 2300 movs r3, #0 80621d6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80621da: e012 b.n 8062202 Buff64[i] = Buff64[i << 1]; 80621dc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80621e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80621e4: 005b lsls r3, r3, #1 80621e6: 49bd ldr r1, [pc, #756] ; (80624dc ) 80621e8: 00db lsls r3, r3, #3 80621ea: 440b add r3, r1 80621ec: cb18 ldmia r3, {r3, r4} 80621ee: 49bb ldr r1, [pc, #748] ; (80624dc ) 80621f0: 00d2 lsls r2, r2, #3 80621f2: 440a add r2, r1 80621f4: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 80621f8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80621fc: 3301 adds r3, #1 80621fe: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062202: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062206: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806220a: 429a cmp r2, r3 806220c: d3e6 bcc.n 80621dc } //** 10 arm_biquad_cascade_df2T_f64(&S_OKT_10Hz, &Buff64[0], &Buff64[Ns], len); 806220e: 4bb5 ldr r3, [pc, #724] ; (80624e4 ) 8062210: 681b ldr r3, [r3, #0] 8062212: 00db lsls r3, r3, #3 8062214: 4ab1 ldr r2, [pc, #708] ; (80624dc ) 8062216: 441a add r2, r3 8062218: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806221c: 49af ldr r1, [pc, #700] ; (80624dc ) 806221e: 48b2 ldr r0, [pc, #712] ; (80624e8 ) 8062220: f06c f96c bl 80ce4fc for(i = 0; i < len; i++) { 8062224: 2300 movs r3, #0 8062226: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806222a: e017 b.n 806225c In[i] = (float32_t) Buff64[Ns + i]; 806222c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062230: 4aac ldr r2, [pc, #688] ; (80624e4 ) 8062232: 6811 ldr r1, [r2, #0] 8062234: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062238: 440a add r2, r1 806223a: 49a8 ldr r1, [pc, #672] ; (80624dc ) 806223c: 00d2 lsls r2, r2, #3 806223e: 440a add r2, r1 8062240: ed92 7b00 vldr d7, [r2] 8062244: eef7 7bc7 vcvt.f32.f64 s15, d7 8062248: 4aa8 ldr r2, [pc, #672] ; (80624ec ) 806224a: 009b lsls r3, r3, #2 806224c: 4413 add r3, r2 806224e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062252: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062256: 3301 adds r3, #1 8062258: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806225c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062260: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062264: 429a cmp r2, r3 8062266: d3e1 bcc.n 806222c } if(pardata.IVS[ACC] == RMS) 8062268: 4ba1 ldr r3, [pc, #644] ; (80624f0 ) 806226a: 789b ldrb r3, [r3, #2] 806226c: b2db uxtb r3, r3 806226e: 2b01 cmp r3, #1 8062270: d112 bne.n 8062298 { arm_power_f32(In, len, &fl); 8062272: f507 73de add.w r3, r7, #444 ; 0x1bc 8062276: 461a mov r2, r3 8062278: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806227c: 489b ldr r0, [pc, #620] ; (80624ec ) 806227e: f06b fff3 bl 80ce268 rms10 += fl; 8062282: 4b9c ldr r3, [pc, #624] ; (80624f4 ) 8062284: ed93 7a00 vldr s14, [r3] 8062288: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806228c: ee77 7a27 vadd.f32 s15, s14, s15 8062290: 4b98 ldr r3, [pc, #608] ; (80624f4 ) 8062292: edc3 7a00 vstr s15, [r3] 8062296: e04a b.n 806232e } else { arm_min_f32(In, len, &fn[0], &i); 8062298: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806229c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80622a0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80622a4: 4891 ldr r0, [pc, #580] ; (80624ec ) 80622a6: f06c f819 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80622aa: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80622ae: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80622b2: 1d1a adds r2, r3, #4 80622b4: 460b mov r3, r1 80622b6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80622ba: 488c ldr r0, [pc, #560] ; (80624ec ) 80622bc: f06c f8aa bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80622c0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80622c4: eef5 7ac0 vcmpe.f32 s15, #0.0 80622c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80622cc: dd02 ble.n 80622d4 80622ce: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80622d2: e003 b.n 80622dc 80622d4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80622d8: eef1 7a67 vneg.f32 s15, s15 80622dc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80622e0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80622e4: eef5 7ac0 vcmpe.f32 s15, #0.0 80622e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80622ec: dd02 ble.n 80622f4 80622ee: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80622f2: e003 b.n 80622fc 80622f4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80622f8: eef1 7a67 vneg.f32 s15, s15 80622fc: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062300: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062304: f507 72de add.w r2, r7, #444 ; 0x1bc 8062308: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806230c: 2102 movs r1, #2 806230e: f06c f881 bl 80ce414 if(fl > rms10) 8062312: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8062316: 4b77 ldr r3, [pc, #476] ; (80624f4 ) 8062318: edd3 7a00 vldr s15, [r3] 806231c: eeb4 7ae7 vcmpe.f32 s14, s15 8062320: eef1 fa10 vmrs APSR_nzcv, fpscr 8062324: dd03 ble.n 806232e rms10 = fl; 8062326: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806232a: 4a72 ldr r2, [pc, #456] ; (80624f4 ) 806232c: 6013 str r3, [r2, #0] } //** 8 arm_biquad_cascade_df2T_f64(&S_OKT_8Hz, &Buff64[0], &Buff64[Ns], len); 806232e: 4b6d ldr r3, [pc, #436] ; (80624e4 ) 8062330: 681b ldr r3, [r3, #0] 8062332: 00db lsls r3, r3, #3 8062334: 4a69 ldr r2, [pc, #420] ; (80624dc ) 8062336: 441a add r2, r3 8062338: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806233c: 4967 ldr r1, [pc, #412] ; (80624dc ) 806233e: 486e ldr r0, [pc, #440] ; (80624f8 ) 8062340: f06c f8dc bl 80ce4fc for(i = 0; i < len; i++) { 8062344: 2300 movs r3, #0 8062346: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806234a: e017 b.n 806237c In[i] = (float32_t) Buff64[Ns + i]; 806234c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062350: 4a64 ldr r2, [pc, #400] ; (80624e4 ) 8062352: 6811 ldr r1, [r2, #0] 8062354: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062358: 440a add r2, r1 806235a: 4960 ldr r1, [pc, #384] ; (80624dc ) 806235c: 00d2 lsls r2, r2, #3 806235e: 440a add r2, r1 8062360: ed92 7b00 vldr d7, [r2] 8062364: eef7 7bc7 vcvt.f32.f64 s15, d7 8062368: 4a60 ldr r2, [pc, #384] ; (80624ec ) 806236a: 009b lsls r3, r3, #2 806236c: 4413 add r3, r2 806236e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062372: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062376: 3301 adds r3, #1 8062378: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806237c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062380: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062384: 429a cmp r2, r3 8062386: d3e1 bcc.n 806234c } if(pardata.IVS[ACC] == RMS) 8062388: 4b59 ldr r3, [pc, #356] ; (80624f0 ) 806238a: 789b ldrb r3, [r3, #2] 806238c: b2db uxtb r3, r3 806238e: 2b01 cmp r3, #1 8062390: d112 bne.n 80623b8 { arm_power_f32(In, len, &fl); 8062392: f507 73de add.w r3, r7, #444 ; 0x1bc 8062396: 461a mov r2, r3 8062398: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806239c: 4853 ldr r0, [pc, #332] ; (80624ec ) 806239e: f06b ff63 bl 80ce268 rms8 += fl; 80623a2: 4b56 ldr r3, [pc, #344] ; (80624fc ) 80623a4: ed93 7a00 vldr s14, [r3] 80623a8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80623ac: ee77 7a27 vadd.f32 s15, s14, s15 80623b0: 4b52 ldr r3, [pc, #328] ; (80624fc ) 80623b2: edc3 7a00 vstr s15, [r3] 80623b6: e04a b.n 806244e } else { arm_min_f32(In, len, &fn[0], &i); 80623b8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80623bc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80623c0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80623c4: 4849 ldr r0, [pc, #292] ; (80624ec ) 80623c6: f06b ff89 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80623ca: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80623ce: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80623d2: 1d1a adds r2, r3, #4 80623d4: 460b mov r3, r1 80623d6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80623da: 4844 ldr r0, [pc, #272] ; (80624ec ) 80623dc: f06c f81a bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80623e0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80623e4: eef5 7ac0 vcmpe.f32 s15, #0.0 80623e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80623ec: dd02 ble.n 80623f4 80623ee: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80623f2: e003 b.n 80623fc 80623f4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80623f8: eef1 7a67 vneg.f32 s15, s15 80623fc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062400: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062404: eef5 7ac0 vcmpe.f32 s15, #0.0 8062408: eef1 fa10 vmrs APSR_nzcv, fpscr 806240c: dd02 ble.n 8062414 806240e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062412: e003 b.n 806241c 8062414: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062418: eef1 7a67 vneg.f32 s15, s15 806241c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062420: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062424: f507 72de add.w r2, r7, #444 ; 0x1bc 8062428: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806242c: 2102 movs r1, #2 806242e: f06b fff1 bl 80ce414 if(fl > rms8) 8062432: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8062436: 4b31 ldr r3, [pc, #196] ; (80624fc ) 8062438: edd3 7a00 vldr s15, [r3] 806243c: eeb4 7ae7 vcmpe.f32 s14, s15 8062440: eef1 fa10 vmrs APSR_nzcv, fpscr 8062444: dd03 ble.n 806244e rms8 = fl; 8062446: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806244a: 4a2c ldr r2, [pc, #176] ; (80624fc ) 806244c: 6013 str r3, [r2, #0] } //** 6,3 arm_biquad_cascade_df2T_f64(&S_OKT_6_3Hz, &Buff64[0], &Buff64[Ns], len); 806244e: 4b25 ldr r3, [pc, #148] ; (80624e4 ) 8062450: 681b ldr r3, [r3, #0] 8062452: 00db lsls r3, r3, #3 8062454: 4a21 ldr r2, [pc, #132] ; (80624dc ) 8062456: 441a add r2, r3 8062458: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806245c: 491f ldr r1, [pc, #124] ; (80624dc ) 806245e: 4828 ldr r0, [pc, #160] ; (8062500 ) 8062460: f06c f84c bl 80ce4fc for(i = 0; i < len; i++) { 8062464: 2300 movs r3, #0 8062466: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806246a: e017 b.n 806249c In[i] = (float32_t) Buff64[Ns + i]; 806246c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062470: 4a1c ldr r2, [pc, #112] ; (80624e4 ) 8062472: 6811 ldr r1, [r2, #0] 8062474: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062478: 440a add r2, r1 806247a: 4918 ldr r1, [pc, #96] ; (80624dc ) 806247c: 00d2 lsls r2, r2, #3 806247e: 440a add r2, r1 8062480: ed92 7b00 vldr d7, [r2] 8062484: eef7 7bc7 vcvt.f32.f64 s15, d7 8062488: 4a18 ldr r2, [pc, #96] ; (80624ec ) 806248a: 009b lsls r3, r3, #2 806248c: 4413 add r3, r2 806248e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062492: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062496: 3301 adds r3, #1 8062498: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806249c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80624a0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80624a4: 429a cmp r2, r3 80624a6: d3e1 bcc.n 806246c } if(pardata.IVS[ACC] == RMS) 80624a8: 4b11 ldr r3, [pc, #68] ; (80624f0 ) 80624aa: 789b ldrb r3, [r3, #2] 80624ac: b2db uxtb r3, r3 80624ae: 2b01 cmp r3, #1 80624b0: d12a bne.n 8062508 { arm_power_f32(In, len, &fl); 80624b2: f507 73de add.w r3, r7, #444 ; 0x1bc 80624b6: 461a mov r2, r3 80624b8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80624bc: 480b ldr r0, [pc, #44] ; (80624ec ) 80624be: f06b fed3 bl 80ce268 rms6_3 += fl; 80624c2: 4b10 ldr r3, [pc, #64] ; (8062504 ) 80624c4: ed93 7a00 vldr s14, [r3] 80624c8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80624cc: ee77 7a27 vadd.f32 s15, s14, s15 80624d0: 4b0c ldr r3, [pc, #48] ; (8062504 ) 80624d2: edc3 7a00 vstr s15, [r3] 80624d6: e062 b.n 806259e 80624d8: 20020db0 .word 0x20020db0 80624dc: 20037b20 .word 0x20037b20 80624e0: 2002637c .word 0x2002637c 80624e4: 20021d24 .word 0x20021d24 80624e8: 200680c0 .word 0x200680c0 80624ec: 20027a00 .word 0x20027a00 80624f0: 20023ea8 .word 0x20023ea8 80624f4: 20021d54 .word 0x20021d54 80624f8: 20057d04 .word 0x20057d04 80624fc: 20021d18 .word 0x20021d18 8062500: 20057e9c .word 0x20057e9c 8062504: 20021d28 .word 0x20021d28 } else { arm_min_f32(In, len, &fn[0], &i); 8062508: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806250c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062510: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062514: 48ce ldr r0, [pc, #824] ; (8062850 ) 8062516: f06b fee1 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 806251a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806251e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062522: 1d1a adds r2, r3, #4 8062524: 460b mov r3, r1 8062526: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806252a: 48c9 ldr r0, [pc, #804] ; (8062850 ) 806252c: f06b ff72 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062530: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062534: eef5 7ac0 vcmpe.f32 s15, #0.0 8062538: eef1 fa10 vmrs APSR_nzcv, fpscr 806253c: dd02 ble.n 8062544 806253e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062542: e003 b.n 806254c 8062544: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062548: eef1 7a67 vneg.f32 s15, s15 806254c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062550: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062554: eef5 7ac0 vcmpe.f32 s15, #0.0 8062558: eef1 fa10 vmrs APSR_nzcv, fpscr 806255c: dd02 ble.n 8062564 806255e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062562: e003 b.n 806256c 8062564: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062568: eef1 7a67 vneg.f32 s15, s15 806256c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062570: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062574: f507 72de add.w r2, r7, #444 ; 0x1bc 8062578: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806257c: 2102 movs r1, #2 806257e: f06b ff49 bl 80ce414 if(fl > rms6_3) 8062582: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8062586: 4bb3 ldr r3, [pc, #716] ; (8062854 ) 8062588: edd3 7a00 vldr s15, [r3] 806258c: eeb4 7ae7 vcmpe.f32 s14, s15 8062590: eef1 fa10 vmrs APSR_nzcv, fpscr 8062594: dd03 ble.n 806259e rms6_3 = fl; 8062596: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806259a: 4aae ldr r2, [pc, #696] ; (8062854 ) 806259c: 6013 str r3, [r2, #0] arm_biquad_cascade_df2T_f64(&S_LP_4, &Buff64[0], &Buff64[0], len); 806259e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80625a2: 4aad ldr r2, [pc, #692] ; (8062858 ) 80625a4: 49ac ldr r1, [pc, #688] ; (8062858 ) 80625a6: 48ad ldr r0, [pc, #692] ; (806285c ) 80625a8: f06b ffa8 bl 80ce4fc len >>= 1; 80625ac: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80625b0: 085b lsrs r3, r3, #1 80625b2: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 80625b6: 2300 movs r3, #0 80625b8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80625bc: e012 b.n 80625e4 Buff64[i] = Buff64[i << 1]; 80625be: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80625c2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80625c6: 005b lsls r3, r3, #1 80625c8: 49a3 ldr r1, [pc, #652] ; (8062858 ) 80625ca: 00db lsls r3, r3, #3 80625cc: 440b add r3, r1 80625ce: cb18 ldmia r3, {r3, r4} 80625d0: 49a1 ldr r1, [pc, #644] ; (8062858 ) 80625d2: 00d2 lsls r2, r2, #3 80625d4: 440a add r2, r1 80625d6: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 80625da: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80625de: 3301 adds r3, #1 80625e0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80625e4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80625e8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80625ec: 429a cmp r2, r3 80625ee: d3e6 bcc.n 80625be } //** 5 arm_biquad_cascade_df2T_f64(&S_OKT_5Hz, &Buff64[0], &Buff64[Ns], len); 80625f0: 4b9b ldr r3, [pc, #620] ; (8062860 ) 80625f2: 681b ldr r3, [r3, #0] 80625f4: 00db lsls r3, r3, #3 80625f6: 4a98 ldr r2, [pc, #608] ; (8062858 ) 80625f8: 441a add r2, r3 80625fa: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80625fe: 4996 ldr r1, [pc, #600] ; (8062858 ) 8062600: 4898 ldr r0, [pc, #608] ; (8062864 ) 8062602: f06b ff7b bl 80ce4fc for(i = 0; i < len; i++) { 8062606: 2300 movs r3, #0 8062608: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806260c: e017 b.n 806263e In[i] = (float32_t) Buff64[Ns + i]; 806260e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062612: 4a93 ldr r2, [pc, #588] ; (8062860 ) 8062614: 6811 ldr r1, [r2, #0] 8062616: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806261a: 440a add r2, r1 806261c: 498e ldr r1, [pc, #568] ; (8062858 ) 806261e: 00d2 lsls r2, r2, #3 8062620: 440a add r2, r1 8062622: ed92 7b00 vldr d7, [r2] 8062626: eef7 7bc7 vcvt.f32.f64 s15, d7 806262a: 4a89 ldr r2, [pc, #548] ; (8062850 ) 806262c: 009b lsls r3, r3, #2 806262e: 4413 add r3, r2 8062630: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062634: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062638: 3301 adds r3, #1 806263a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806263e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062642: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062646: 429a cmp r2, r3 8062648: d3e1 bcc.n 806260e } if(pardata.IVS[ACC] == RMS) 806264a: 4b87 ldr r3, [pc, #540] ; (8062868 ) 806264c: 789b ldrb r3, [r3, #2] 806264e: b2db uxtb r3, r3 8062650: 2b01 cmp r3, #1 8062652: d112 bne.n 806267a { arm_power_f32(In, len, &fl); 8062654: f507 73de add.w r3, r7, #444 ; 0x1bc 8062658: 461a mov r2, r3 806265a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806265e: 487c ldr r0, [pc, #496] ; (8062850 ) 8062660: f06b fe02 bl 80ce268 rms5 += fl; 8062664: 4b81 ldr r3, [pc, #516] ; (806286c ) 8062666: ed93 7a00 vldr s14, [r3] 806266a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806266e: ee77 7a27 vadd.f32 s15, s14, s15 8062672: 4b7e ldr r3, [pc, #504] ; (806286c ) 8062674: edc3 7a00 vstr s15, [r3] 8062678: e04a b.n 8062710 } else { arm_min_f32(In, len, &fn[0], &i); 806267a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806267e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062682: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062686: 4872 ldr r0, [pc, #456] ; (8062850 ) 8062688: f06b fe28 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 806268c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062690: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062694: 1d1a adds r2, r3, #4 8062696: 460b mov r3, r1 8062698: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806269c: 486c ldr r0, [pc, #432] ; (8062850 ) 806269e: f06b feb9 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80626a2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80626a6: eef5 7ac0 vcmpe.f32 s15, #0.0 80626aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80626ae: dd02 ble.n 80626b6 80626b0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80626b4: e003 b.n 80626be 80626b6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80626ba: eef1 7a67 vneg.f32 s15, s15 80626be: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80626c2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80626c6: eef5 7ac0 vcmpe.f32 s15, #0.0 80626ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80626ce: dd02 ble.n 80626d6 80626d0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80626d4: e003 b.n 80626de 80626d6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80626da: eef1 7a67 vneg.f32 s15, s15 80626de: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 80626e2: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80626e6: f507 72de add.w r2, r7, #444 ; 0x1bc 80626ea: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80626ee: 2102 movs r1, #2 80626f0: f06b fe90 bl 80ce414 if(fl > rms5) 80626f4: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 80626f8: 4b5c ldr r3, [pc, #368] ; (806286c ) 80626fa: edd3 7a00 vldr s15, [r3] 80626fe: eeb4 7ae7 vcmpe.f32 s14, s15 8062702: eef1 fa10 vmrs APSR_nzcv, fpscr 8062706: dd03 ble.n 8062710 rms5 = fl; 8062708: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806270c: 4a57 ldr r2, [pc, #348] ; (806286c ) 806270e: 6013 str r3, [r2, #0] } //** 4 arm_biquad_cascade_df2T_f64(&S_OKT_4Hz, &Buff64[0], &Buff64[Ns], len); 8062710: 4b53 ldr r3, [pc, #332] ; (8062860 ) 8062712: 681b ldr r3, [r3, #0] 8062714: 00db lsls r3, r3, #3 8062716: 4a50 ldr r2, [pc, #320] ; (8062858 ) 8062718: 441a add r2, r3 806271a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806271e: 494e ldr r1, [pc, #312] ; (8062858 ) 8062720: 4853 ldr r0, [pc, #332] ; (8062870 ) 8062722: f06b feeb bl 80ce4fc for(i = 0; i < len; i++) { 8062726: 2300 movs r3, #0 8062728: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806272c: e017 b.n 806275e In[i] = (float32_t) Buff64[Ns + i]; 806272e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062732: 4a4b ldr r2, [pc, #300] ; (8062860 ) 8062734: 6811 ldr r1, [r2, #0] 8062736: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806273a: 440a add r2, r1 806273c: 4946 ldr r1, [pc, #280] ; (8062858 ) 806273e: 00d2 lsls r2, r2, #3 8062740: 440a add r2, r1 8062742: ed92 7b00 vldr d7, [r2] 8062746: eef7 7bc7 vcvt.f32.f64 s15, d7 806274a: 4a41 ldr r2, [pc, #260] ; (8062850 ) 806274c: 009b lsls r3, r3, #2 806274e: 4413 add r3, r2 8062750: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062754: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062758: 3301 adds r3, #1 806275a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806275e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062762: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062766: 429a cmp r2, r3 8062768: d3e1 bcc.n 806272e } if(pardata.IVS[ACC] == RMS) 806276a: 4b3f ldr r3, [pc, #252] ; (8062868 ) 806276c: 789b ldrb r3, [r3, #2] 806276e: b2db uxtb r3, r3 8062770: 2b01 cmp r3, #1 8062772: d112 bne.n 806279a { arm_power_f32(In, len, &fl); 8062774: f507 73de add.w r3, r7, #444 ; 0x1bc 8062778: 461a mov r2, r3 806277a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806277e: 4834 ldr r0, [pc, #208] ; (8062850 ) 8062780: f06b fd72 bl 80ce268 rms4 += fl; 8062784: 4b3b ldr r3, [pc, #236] ; (8062874 ) 8062786: ed93 7a00 vldr s14, [r3] 806278a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806278e: ee77 7a27 vadd.f32 s15, s14, s15 8062792: 4b38 ldr r3, [pc, #224] ; (8062874 ) 8062794: edc3 7a00 vstr s15, [r3] 8062798: e04a b.n 8062830 } else { arm_min_f32(In, len, &fn[0], &i); 806279a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806279e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80627a2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80627a6: 482a ldr r0, [pc, #168] ; (8062850 ) 80627a8: f06b fd98 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80627ac: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80627b0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80627b4: 1d1a adds r2, r3, #4 80627b6: 460b mov r3, r1 80627b8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80627bc: 4824 ldr r0, [pc, #144] ; (8062850 ) 80627be: f06b fe29 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80627c2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80627c6: eef5 7ac0 vcmpe.f32 s15, #0.0 80627ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80627ce: dd02 ble.n 80627d6 80627d0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80627d4: e003 b.n 80627de 80627d6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80627da: eef1 7a67 vneg.f32 s15, s15 80627de: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80627e2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80627e6: eef5 7ac0 vcmpe.f32 s15, #0.0 80627ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80627ee: dd02 ble.n 80627f6 80627f0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80627f4: e003 b.n 80627fe 80627f6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80627fa: eef1 7a67 vneg.f32 s15, s15 80627fe: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062802: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062806: f507 72de add.w r2, r7, #444 ; 0x1bc 806280a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806280e: 2102 movs r1, #2 8062810: f06b fe00 bl 80ce414 if(fl > rms4) 8062814: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8062818: 4b16 ldr r3, [pc, #88] ; (8062874 ) 806281a: edd3 7a00 vldr s15, [r3] 806281e: eeb4 7ae7 vcmpe.f32 s14, s15 8062822: eef1 fa10 vmrs APSR_nzcv, fpscr 8062826: dd03 ble.n 8062830 rms4 = fl; 8062828: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806282c: 4a11 ldr r2, [pc, #68] ; (8062874 ) 806282e: 6013 str r3, [r2, #0] } //** 3,15 arm_biquad_cascade_df2T_f64(&S_OKT_3_15Hz, &Buff64[0], &Buff64[Ns], len); 8062830: 4b0b ldr r3, [pc, #44] ; (8062860 ) 8062832: 681b ldr r3, [r3, #0] 8062834: 00db lsls r3, r3, #3 8062836: 4a08 ldr r2, [pc, #32] ; (8062858 ) 8062838: 441a add r2, r3 806283a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806283e: 4906 ldr r1, [pc, #24] ; (8062858 ) 8062840: 480d ldr r0, [pc, #52] ; (8062878 ) 8062842: f06b fe5b bl 80ce4fc for(i = 0; i < len; i++) { 8062846: 2300 movs r3, #0 8062848: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806284c: e02e b.n 80628ac 806284e: bf00 nop 8062850: 20027a00 .word 0x20027a00 8062854: 20021d28 .word 0x20021d28 8062858: 20037b20 .word 0x20037b20 806285c: 20057b20 .word 0x20057b20 8062860: 20021d24 .word 0x20021d24 8062864: 20057d30 .word 0x20057d30 8062868: 20023ea8 .word 0x20023ea8 806286c: 20021d2c .word 0x20021d2c 8062870: 20026078 .word 0x20026078 8062874: 20021d60 .word 0x20021d60 8062878: 20068444 .word 0x20068444 In[i] = (float32_t) Buff64[Ns + i]; 806287c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062880: 4acd ldr r2, [pc, #820] ; (8062bb8 ) 8062882: 6811 ldr r1, [r2, #0] 8062884: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062888: 440a add r2, r1 806288a: 49cc ldr r1, [pc, #816] ; (8062bbc ) 806288c: 00d2 lsls r2, r2, #3 806288e: 440a add r2, r1 8062890: ed92 7b00 vldr d7, [r2] 8062894: eef7 7bc7 vcvt.f32.f64 s15, d7 8062898: 4ac9 ldr r2, [pc, #804] ; (8062bc0 ) 806289a: 009b lsls r3, r3, #2 806289c: 4413 add r3, r2 806289e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80628a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80628a6: 3301 adds r3, #1 80628a8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80628ac: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80628b0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80628b4: 429a cmp r2, r3 80628b6: d3e1 bcc.n 806287c } if(pardata.IVS[ACC] == RMS) 80628b8: 4bc2 ldr r3, [pc, #776] ; (8062bc4 ) 80628ba: 789b ldrb r3, [r3, #2] 80628bc: b2db uxtb r3, r3 80628be: 2b01 cmp r3, #1 80628c0: d112 bne.n 80628e8 { arm_power_f32(In, len, &fl); 80628c2: f507 73de add.w r3, r7, #444 ; 0x1bc 80628c6: 461a mov r2, r3 80628c8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80628cc: 48bc ldr r0, [pc, #752] ; (8062bc0 ) 80628ce: f06b fccb bl 80ce268 rms3_15 += fl; 80628d2: 4bbd ldr r3, [pc, #756] ; (8062bc8 ) 80628d4: ed93 7a00 vldr s14, [r3] 80628d8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80628dc: ee77 7a27 vadd.f32 s15, s14, s15 80628e0: 4bb9 ldr r3, [pc, #740] ; (8062bc8 ) 80628e2: edc3 7a00 vstr s15, [r3] 80628e6: e04a b.n 806297e } else { arm_min_f32(In, len, &fn[0], &i); 80628e8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80628ec: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80628f0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80628f4: 48b2 ldr r0, [pc, #712] ; (8062bc0 ) 80628f6: f06b fcf1 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80628fa: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80628fe: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062902: 1d1a adds r2, r3, #4 8062904: 460b mov r3, r1 8062906: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806290a: 48ad ldr r0, [pc, #692] ; (8062bc0 ) 806290c: f06b fd82 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062910: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062914: eef5 7ac0 vcmpe.f32 s15, #0.0 8062918: eef1 fa10 vmrs APSR_nzcv, fpscr 806291c: dd02 ble.n 8062924 806291e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062922: e003 b.n 806292c 8062924: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062928: eef1 7a67 vneg.f32 s15, s15 806292c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062930: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062934: eef5 7ac0 vcmpe.f32 s15, #0.0 8062938: eef1 fa10 vmrs APSR_nzcv, fpscr 806293c: dd02 ble.n 8062944 806293e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062942: e003 b.n 806294c 8062944: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062948: eef1 7a67 vneg.f32 s15, s15 806294c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062950: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062954: f507 72de add.w r2, r7, #444 ; 0x1bc 8062958: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806295c: 2102 movs r1, #2 806295e: f06b fd59 bl 80ce414 if(fl > rms3_15) 8062962: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8062966: 4b98 ldr r3, [pc, #608] ; (8062bc8 ) 8062968: edd3 7a00 vldr s15, [r3] 806296c: eeb4 7ae7 vcmpe.f32 s14, s15 8062970: eef1 fa10 vmrs APSR_nzcv, fpscr 8062974: dd03 ble.n 806297e rms3_15 = fl; 8062976: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806297a: 4a93 ldr r2, [pc, #588] ; (8062bc8 ) 806297c: 6013 str r3, [r2, #0] } arm_biquad_cascade_df2T_f64(&S_LP_2, &Buff64[0], &Buff64[0], len); 806297e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062982: 4a8e ldr r2, [pc, #568] ; (8062bbc ) 8062984: 498d ldr r1, [pc, #564] ; (8062bbc ) 8062986: 4891 ldr r0, [pc, #580] ; (8062bcc ) 8062988: f06b fdb8 bl 80ce4fc len >>= 1; 806298c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062990: 085b lsrs r3, r3, #1 8062992: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8062996: 2300 movs r3, #0 8062998: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806299c: e012 b.n 80629c4 Buff64[i] = Buff64[i << 1]; 806299e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80629a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80629a6: 005b lsls r3, r3, #1 80629a8: 4984 ldr r1, [pc, #528] ; (8062bbc ) 80629aa: 00db lsls r3, r3, #3 80629ac: 440b add r3, r1 80629ae: cb18 ldmia r3, {r3, r4} 80629b0: 4982 ldr r1, [pc, #520] ; (8062bbc ) 80629b2: 00d2 lsls r2, r2, #3 80629b4: 440a add r2, r1 80629b6: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 80629ba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80629be: 3301 adds r3, #1 80629c0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80629c4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80629c8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80629cc: 429a cmp r2, r3 80629ce: d3e6 bcc.n 806299e } //** 2,5 arm_biquad_cascade_df2T_f64(&S_OKT_2_5Hz, &Buff64[0], &Buff64[Ns], len); 80629d0: 4b79 ldr r3, [pc, #484] ; (8062bb8 ) 80629d2: 681b ldr r3, [r3, #0] 80629d4: 00db lsls r3, r3, #3 80629d6: 4a79 ldr r2, [pc, #484] ; (8062bbc ) 80629d8: 441a add r2, r3 80629da: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80629de: 4977 ldr r1, [pc, #476] ; (8062bbc ) 80629e0: 487b ldr r0, [pc, #492] ; (8062bd0 ) 80629e2: f06b fd8b bl 80ce4fc for(i = 0; i < len; i++) { 80629e6: 2300 movs r3, #0 80629e8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80629ec: e017 b.n 8062a1e In[i] = (float32_t) Buff64[Ns + i]; 80629ee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80629f2: 4a71 ldr r2, [pc, #452] ; (8062bb8 ) 80629f4: 6811 ldr r1, [r2, #0] 80629f6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80629fa: 440a add r2, r1 80629fc: 496f ldr r1, [pc, #444] ; (8062bbc ) 80629fe: 00d2 lsls r2, r2, #3 8062a00: 440a add r2, r1 8062a02: ed92 7b00 vldr d7, [r2] 8062a06: eef7 7bc7 vcvt.f32.f64 s15, d7 8062a0a: 4a6d ldr r2, [pc, #436] ; (8062bc0 ) 8062a0c: 009b lsls r3, r3, #2 8062a0e: 4413 add r3, r2 8062a10: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062a14: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062a18: 3301 adds r3, #1 8062a1a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062a1e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062a22: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062a26: 429a cmp r2, r3 8062a28: d3e1 bcc.n 80629ee } if(pardata.IVS[ACC] == RMS) 8062a2a: 4b66 ldr r3, [pc, #408] ; (8062bc4 ) 8062a2c: 789b ldrb r3, [r3, #2] 8062a2e: b2db uxtb r3, r3 8062a30: 2b01 cmp r3, #1 8062a32: d112 bne.n 8062a5a { arm_power_f32(In, len, &fl); 8062a34: f507 73de add.w r3, r7, #444 ; 0x1bc 8062a38: 461a mov r2, r3 8062a3a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062a3e: 4860 ldr r0, [pc, #384] ; (8062bc0 ) 8062a40: f06b fc12 bl 80ce268 rms2_5 += fl; 8062a44: 4b63 ldr r3, [pc, #396] ; (8062bd4 ) 8062a46: ed93 7a00 vldr s14, [r3] 8062a4a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8062a4e: ee77 7a27 vadd.f32 s15, s14, s15 8062a52: 4b60 ldr r3, [pc, #384] ; (8062bd4 ) 8062a54: edc3 7a00 vstr s15, [r3] 8062a58: e04a b.n 8062af0 } else { arm_min_f32(In, len, &fn[0], &i); 8062a5a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062a5e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062a62: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062a66: 4856 ldr r0, [pc, #344] ; (8062bc0 ) 8062a68: f06b fc38 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8062a6c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062a70: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062a74: 1d1a adds r2, r3, #4 8062a76: 460b mov r3, r1 8062a78: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062a7c: 4850 ldr r0, [pc, #320] ; (8062bc0 ) 8062a7e: f06b fcc9 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062a82: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062a86: eef5 7ac0 vcmpe.f32 s15, #0.0 8062a8a: eef1 fa10 vmrs APSR_nzcv, fpscr 8062a8e: dd02 ble.n 8062a96 8062a90: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062a94: e003 b.n 8062a9e 8062a96: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062a9a: eef1 7a67 vneg.f32 s15, s15 8062a9e: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062aa2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062aa6: eef5 7ac0 vcmpe.f32 s15, #0.0 8062aaa: eef1 fa10 vmrs APSR_nzcv, fpscr 8062aae: dd02 ble.n 8062ab6 8062ab0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062ab4: e003 b.n 8062abe 8062ab6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062aba: eef1 7a67 vneg.f32 s15, s15 8062abe: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062ac2: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062ac6: f507 72de add.w r2, r7, #444 ; 0x1bc 8062aca: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062ace: 2102 movs r1, #2 8062ad0: f06b fca0 bl 80ce414 if(fl > rms2_5) 8062ad4: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8062ad8: 4b3e ldr r3, [pc, #248] ; (8062bd4 ) 8062ada: edd3 7a00 vldr s15, [r3] 8062ade: eeb4 7ae7 vcmpe.f32 s14, s15 8062ae2: eef1 fa10 vmrs APSR_nzcv, fpscr 8062ae6: dd03 ble.n 8062af0 rms2_5 = fl; 8062ae8: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8062aec: 4a39 ldr r2, [pc, #228] ; (8062bd4 ) 8062aee: 6013 str r3, [r2, #0] } //** 2 arm_biquad_cascade_df2T_f64(&S_OKT_2Hz, &Buff64[0], &Buff64[Ns], len); 8062af0: 4b31 ldr r3, [pc, #196] ; (8062bb8 ) 8062af2: 681b ldr r3, [r3, #0] 8062af4: 00db lsls r3, r3, #3 8062af6: 4a31 ldr r2, [pc, #196] ; (8062bbc ) 8062af8: 441a add r2, r3 8062afa: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062afe: 492f ldr r1, [pc, #188] ; (8062bbc ) 8062b00: 4835 ldr r0, [pc, #212] ; (8062bd8 ) 8062b02: f06b fcfb bl 80ce4fc for(i = 0; i < len; i++) { 8062b06: 2300 movs r3, #0 8062b08: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062b0c: e017 b.n 8062b3e In[i] = (float32_t) Buff64[Ns + i]; 8062b0e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062b12: 4a29 ldr r2, [pc, #164] ; (8062bb8 ) 8062b14: 6811 ldr r1, [r2, #0] 8062b16: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062b1a: 440a add r2, r1 8062b1c: 4927 ldr r1, [pc, #156] ; (8062bbc ) 8062b1e: 00d2 lsls r2, r2, #3 8062b20: 440a add r2, r1 8062b22: ed92 7b00 vldr d7, [r2] 8062b26: eef7 7bc7 vcvt.f32.f64 s15, d7 8062b2a: 4a25 ldr r2, [pc, #148] ; (8062bc0 ) 8062b2c: 009b lsls r3, r3, #2 8062b2e: 4413 add r3, r2 8062b30: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062b34: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062b38: 3301 adds r3, #1 8062b3a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062b3e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062b42: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062b46: 429a cmp r2, r3 8062b48: d3e1 bcc.n 8062b0e } if(pardata.IVS[ACC] == RMS) 8062b4a: 4b1e ldr r3, [pc, #120] ; (8062bc4 ) 8062b4c: 789b ldrb r3, [r3, #2] 8062b4e: b2db uxtb r3, r3 8062b50: 2b01 cmp r3, #1 8062b52: d112 bne.n 8062b7a { arm_power_f32(In, len, &fl); 8062b54: f507 73de add.w r3, r7, #444 ; 0x1bc 8062b58: 461a mov r2, r3 8062b5a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062b5e: 4818 ldr r0, [pc, #96] ; (8062bc0 ) 8062b60: f06b fb82 bl 80ce268 rms2 += fl; 8062b64: 4b1d ldr r3, [pc, #116] ; (8062bdc ) 8062b66: ed93 7a00 vldr s14, [r3] 8062b6a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8062b6e: ee77 7a27 vadd.f32 s15, s14, s15 8062b72: 4b1a ldr r3, [pc, #104] ; (8062bdc ) 8062b74: edc3 7a00 vstr s15, [r3] 8062b78: e05f b.n 8062c3a } else { arm_min_f32(In, len, &fn[0], &i); 8062b7a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062b7e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062b82: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062b86: 480e ldr r0, [pc, #56] ; (8062bc0 ) 8062b88: f06b fba8 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8062b8c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062b90: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062b94: 1d1a adds r2, r3, #4 8062b96: 460b mov r3, r1 8062b98: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062b9c: 4808 ldr r0, [pc, #32] ; (8062bc0 ) 8062b9e: f06b fc39 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062ba2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062ba6: eef5 7ac0 vcmpe.f32 s15, #0.0 8062baa: eef1 fa10 vmrs APSR_nzcv, fpscr 8062bae: dd17 ble.n 8062be0 8062bb0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062bb4: e018 b.n 8062be8 8062bb6: bf00 nop 8062bb8: 20021d24 .word 0x20021d24 8062bbc: 20037b20 .word 0x20037b20 8062bc0: 20027a00 .word 0x20027a00 8062bc4: 20023ea8 .word 0x20023ea8 8062bc8: 20021d5c .word 0x20021d5c 8062bcc: 20057d3c .word 0x20057d3c 8062bd0: 20057db8 .word 0x20057db8 8062bd4: 20021d40 .word 0x20021d40 8062bd8: 20026448 .word 0x20026448 8062bdc: 20021d20 .word 0x20021d20 8062be0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062be4: eef1 7a67 vneg.f32 s15, s15 8062be8: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062bec: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062bf0: eef5 7ac0 vcmpe.f32 s15, #0.0 8062bf4: eef1 fa10 vmrs APSR_nzcv, fpscr 8062bf8: dd02 ble.n 8062c00 8062bfa: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062bfe: e003 b.n 8062c08 8062c00: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062c04: eef1 7a67 vneg.f32 s15, s15 8062c08: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062c0c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062c10: f507 72de add.w r2, r7, #444 ; 0x1bc 8062c14: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062c18: 2102 movs r1, #2 8062c1a: f06b fbfb bl 80ce414 if(fl > rms2) 8062c1e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8062c22: 4bcd ldr r3, [pc, #820] ; (8062f58 ) 8062c24: edd3 7a00 vldr s15, [r3] 8062c28: eeb4 7ae7 vcmpe.f32 s14, s15 8062c2c: eef1 fa10 vmrs APSR_nzcv, fpscr 8062c30: dd03 ble.n 8062c3a rms2 = fl; 8062c32: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8062c36: 4ac8 ldr r2, [pc, #800] ; (8062f58 ) 8062c38: 6013 str r3, [r2, #0] } //** 1,6 arm_biquad_cascade_df2T_f64(&S_OKT_1_6Hz, &Buff64[0], &Buff64[Ns], len); 8062c3a: 4bc8 ldr r3, [pc, #800] ; (8062f5c ) 8062c3c: 681b ldr r3, [r3, #0] 8062c3e: 00db lsls r3, r3, #3 8062c40: 4ac7 ldr r2, [pc, #796] ; (8062f60 ) 8062c42: 441a add r2, r3 8062c44: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062c48: 49c5 ldr r1, [pc, #788] ; (8062f60 ) 8062c4a: 48c6 ldr r0, [pc, #792] ; (8062f64 ) 8062c4c: f06b fc56 bl 80ce4fc for(i = 0; i < len; i++) { 8062c50: 2300 movs r3, #0 8062c52: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062c56: e017 b.n 8062c88 In[i] = (float32_t) Buff64[Ns + i]; 8062c58: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062c5c: 4abf ldr r2, [pc, #764] ; (8062f5c ) 8062c5e: 6811 ldr r1, [r2, #0] 8062c60: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062c64: 440a add r2, r1 8062c66: 49be ldr r1, [pc, #760] ; (8062f60 ) 8062c68: 00d2 lsls r2, r2, #3 8062c6a: 440a add r2, r1 8062c6c: ed92 7b00 vldr d7, [r2] 8062c70: eef7 7bc7 vcvt.f32.f64 s15, d7 8062c74: 4abc ldr r2, [pc, #752] ; (8062f68 ) 8062c76: 009b lsls r3, r3, #2 8062c78: 4413 add r3, r2 8062c7a: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062c7e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062c82: 3301 adds r3, #1 8062c84: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062c88: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062c8c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062c90: 429a cmp r2, r3 8062c92: d3e1 bcc.n 8062c58 } if(pardata.IVS[ACC] == RMS) 8062c94: 4bb5 ldr r3, [pc, #724] ; (8062f6c ) 8062c96: 789b ldrb r3, [r3, #2] 8062c98: b2db uxtb r3, r3 8062c9a: 2b01 cmp r3, #1 8062c9c: d112 bne.n 8062cc4 { arm_power_f32(In, len, &fl); 8062c9e: f507 73de add.w r3, r7, #444 ; 0x1bc 8062ca2: 461a mov r2, r3 8062ca4: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062ca8: 48af ldr r0, [pc, #700] ; (8062f68 ) 8062caa: f06b fadd bl 80ce268 rms1_6 += fl; 8062cae: 4bb0 ldr r3, [pc, #704] ; (8062f70 ) 8062cb0: ed93 7a00 vldr s14, [r3] 8062cb4: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8062cb8: ee77 7a27 vadd.f32 s15, s14, s15 8062cbc: 4bac ldr r3, [pc, #688] ; (8062f70 ) 8062cbe: edc3 7a00 vstr s15, [r3] 8062cc2: e04a b.n 8062d5a } else { arm_min_f32(In, len, &fn[0], &i); 8062cc4: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062cc8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062ccc: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062cd0: 48a5 ldr r0, [pc, #660] ; (8062f68 ) 8062cd2: f06b fb03 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8062cd6: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062cda: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062cde: 1d1a adds r2, r3, #4 8062ce0: 460b mov r3, r1 8062ce2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062ce6: 48a0 ldr r0, [pc, #640] ; (8062f68 ) 8062ce8: f06b fb94 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062cec: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062cf0: eef5 7ac0 vcmpe.f32 s15, #0.0 8062cf4: eef1 fa10 vmrs APSR_nzcv, fpscr 8062cf8: dd02 ble.n 8062d00 8062cfa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062cfe: e003 b.n 8062d08 8062d00: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062d04: eef1 7a67 vneg.f32 s15, s15 8062d08: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062d0c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062d10: eef5 7ac0 vcmpe.f32 s15, #0.0 8062d14: eef1 fa10 vmrs APSR_nzcv, fpscr 8062d18: dd02 ble.n 8062d20 8062d1a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062d1e: e003 b.n 8062d28 8062d20: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062d24: eef1 7a67 vneg.f32 s15, s15 8062d28: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062d2c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062d30: f507 72de add.w r2, r7, #444 ; 0x1bc 8062d34: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062d38: 2102 movs r1, #2 8062d3a: f06b fb6b bl 80ce414 if(fl > rms1_6) 8062d3e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8062d42: 4b8b ldr r3, [pc, #556] ; (8062f70 ) 8062d44: edd3 7a00 vldr s15, [r3] 8062d48: eeb4 7ae7 vcmpe.f32 s14, s15 8062d4c: eef1 fa10 vmrs APSR_nzcv, fpscr 8062d50: dd03 ble.n 8062d5a rms1_6 = fl; 8062d52: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8062d56: 4a86 ldr r2, [pc, #536] ; (8062f70 ) 8062d58: 6013 str r3, [r2, #0] } arm_biquad_cascade_df2T_f64(&S_LP_1, &Buff64[0], &Buff64[0], len); 8062d5a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062d5e: 4a80 ldr r2, [pc, #512] ; (8062f60 ) 8062d60: 497f ldr r1, [pc, #508] ; (8062f60 ) 8062d62: 4884 ldr r0, [pc, #528] ; (8062f74 ) 8062d64: f06b fbca bl 80ce4fc len >>= 1; 8062d68: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062d6c: 085b lsrs r3, r3, #1 8062d6e: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8062d72: 2300 movs r3, #0 8062d74: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062d78: e012 b.n 8062da0 Buff64[i] = Buff64[i << 1]; 8062d7a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062d7e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062d82: 005b lsls r3, r3, #1 8062d84: 4976 ldr r1, [pc, #472] ; (8062f60 ) 8062d86: 00db lsls r3, r3, #3 8062d88: 440b add r3, r1 8062d8a: cb18 ldmia r3, {r3, r4} 8062d8c: 4974 ldr r1, [pc, #464] ; (8062f60 ) 8062d8e: 00d2 lsls r2, r2, #3 8062d90: 440a add r2, r1 8062d92: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8062d96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062d9a: 3301 adds r3, #1 8062d9c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062da0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062da4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062da8: 429a cmp r2, r3 8062daa: d3e6 bcc.n 8062d7a } //** 1,25 arm_biquad_cascade_df2T_f64(&S_OKT_1_25Hz, &Buff64[0], &Buff64[Ns], len); 8062dac: 4b6b ldr r3, [pc, #428] ; (8062f5c ) 8062dae: 681b ldr r3, [r3, #0] 8062db0: 00db lsls r3, r3, #3 8062db2: 4a6b ldr r2, [pc, #428] ; (8062f60 ) 8062db4: 441a add r2, r3 8062db6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062dba: 4969 ldr r1, [pc, #420] ; (8062f60 ) 8062dbc: 486e ldr r0, [pc, #440] ; (8062f78 ) 8062dbe: f06b fb9d bl 80ce4fc for(i = 0; i < len; i++) { 8062dc2: 2300 movs r3, #0 8062dc4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062dc8: e017 b.n 8062dfa In[i] = (float32_t) Buff64[Ns + i]; 8062dca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062dce: 4a63 ldr r2, [pc, #396] ; (8062f5c ) 8062dd0: 6811 ldr r1, [r2, #0] 8062dd2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062dd6: 440a add r2, r1 8062dd8: 4961 ldr r1, [pc, #388] ; (8062f60 ) 8062dda: 00d2 lsls r2, r2, #3 8062ddc: 440a add r2, r1 8062dde: ed92 7b00 vldr d7, [r2] 8062de2: eef7 7bc7 vcvt.f32.f64 s15, d7 8062de6: 4a60 ldr r2, [pc, #384] ; (8062f68 ) 8062de8: 009b lsls r3, r3, #2 8062dea: 4413 add r3, r2 8062dec: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062df0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062df4: 3301 adds r3, #1 8062df6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062dfa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062dfe: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062e02: 429a cmp r2, r3 8062e04: d3e1 bcc.n 8062dca } if(pardata.IVS[ACC] == RMS) 8062e06: 4b59 ldr r3, [pc, #356] ; (8062f6c ) 8062e08: 789b ldrb r3, [r3, #2] 8062e0a: b2db uxtb r3, r3 8062e0c: 2b01 cmp r3, #1 8062e0e: d112 bne.n 8062e36 { arm_power_f32(In, len, &fl); 8062e10: f507 73de add.w r3, r7, #444 ; 0x1bc 8062e14: 461a mov r2, r3 8062e16: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062e1a: 4853 ldr r0, [pc, #332] ; (8062f68 ) 8062e1c: f06b fa24 bl 80ce268 rms1_25 += fl; 8062e20: 4b56 ldr r3, [pc, #344] ; (8062f7c ) 8062e22: ed93 7a00 vldr s14, [r3] 8062e26: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8062e2a: ee77 7a27 vadd.f32 s15, s14, s15 8062e2e: 4b53 ldr r3, [pc, #332] ; (8062f7c ) 8062e30: edc3 7a00 vstr s15, [r3] 8062e34: e04a b.n 8062ecc } else { arm_min_f32(In, len, &fn[0], &i); 8062e36: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062e3a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062e3e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062e42: 4849 ldr r0, [pc, #292] ; (8062f68 ) 8062e44: f06b fa4a bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8062e48: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062e4c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062e50: 1d1a adds r2, r3, #4 8062e52: 460b mov r3, r1 8062e54: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062e58: 4843 ldr r0, [pc, #268] ; (8062f68 ) 8062e5a: f06b fadb bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062e5e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062e62: eef5 7ac0 vcmpe.f32 s15, #0.0 8062e66: eef1 fa10 vmrs APSR_nzcv, fpscr 8062e6a: dd02 ble.n 8062e72 8062e6c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062e70: e003 b.n 8062e7a 8062e72: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062e76: eef1 7a67 vneg.f32 s15, s15 8062e7a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062e7e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062e82: eef5 7ac0 vcmpe.f32 s15, #0.0 8062e86: eef1 fa10 vmrs APSR_nzcv, fpscr 8062e8a: dd02 ble.n 8062e92 8062e8c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062e90: e003 b.n 8062e9a 8062e92: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062e96: eef1 7a67 vneg.f32 s15, s15 8062e9a: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062e9e: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062ea2: f507 72de add.w r2, r7, #444 ; 0x1bc 8062ea6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062eaa: 2102 movs r1, #2 8062eac: f06b fab2 bl 80ce414 if(fl > rms1_25) 8062eb0: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8062eb4: 4b31 ldr r3, [pc, #196] ; (8062f7c ) 8062eb6: edd3 7a00 vldr s15, [r3] 8062eba: eeb4 7ae7 vcmpe.f32 s14, s15 8062ebe: eef1 fa10 vmrs APSR_nzcv, fpscr 8062ec2: dd03 ble.n 8062ecc rms1_25 = fl; 8062ec4: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8062ec8: 4a2c ldr r2, [pc, #176] ; (8062f7c ) 8062eca: 6013 str r3, [r2, #0] } //** 1 arm_biquad_cascade_df2T_f64(&S_OKT_1Hz, &Buff64[0], &Buff64[Ns], len); 8062ecc: 4b23 ldr r3, [pc, #140] ; (8062f5c ) 8062ece: 681b ldr r3, [r3, #0] 8062ed0: 00db lsls r3, r3, #3 8062ed2: 4a23 ldr r2, [pc, #140] ; (8062f60 ) 8062ed4: 441a add r2, r3 8062ed6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062eda: 4921 ldr r1, [pc, #132] ; (8062f60 ) 8062edc: 4828 ldr r0, [pc, #160] ; (8062f80 ) 8062ede: f06b fb0d bl 80ce4fc for(i = 0; i < len; i++) { 8062ee2: 2300 movs r3, #0 8062ee4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062ee8: e017 b.n 8062f1a In[i] = (float32_t) Buff64[Ns + i]; 8062eea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062eee: 4a1b ldr r2, [pc, #108] ; (8062f5c ) 8062ef0: 6811 ldr r1, [r2, #0] 8062ef2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062ef6: 440a add r2, r1 8062ef8: 4919 ldr r1, [pc, #100] ; (8062f60 ) 8062efa: 00d2 lsls r2, r2, #3 8062efc: 440a add r2, r1 8062efe: ed92 7b00 vldr d7, [r2] 8062f02: eef7 7bc7 vcvt.f32.f64 s15, d7 8062f06: 4a18 ldr r2, [pc, #96] ; (8062f68 ) 8062f08: 009b lsls r3, r3, #2 8062f0a: 4413 add r3, r2 8062f0c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8062f10: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062f14: 3301 adds r3, #1 8062f16: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062f1a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062f1e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062f22: 429a cmp r2, r3 8062f24: d3e1 bcc.n 8062eea } if(pardata.IVS[ACC] == RMS) 8062f26: 4b11 ldr r3, [pc, #68] ; (8062f6c ) 8062f28: 789b ldrb r3, [r3, #2] 8062f2a: b2db uxtb r3, r3 8062f2c: 2b01 cmp r3, #1 8062f2e: d12b bne.n 8062f88 { arm_power_f32(In, len, &fl); 8062f30: f507 73de add.w r3, r7, #444 ; 0x1bc 8062f34: 461a mov r2, r3 8062f36: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062f3a: 480b ldr r0, [pc, #44] ; (8062f68 ) 8062f3c: f06b f994 bl 80ce268 rms1 += fl; 8062f40: 4b10 ldr r3, [pc, #64] ; (8062f84 ) 8062f42: ed93 7a00 vldr s14, [r3] 8062f46: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8062f4a: ee77 7a27 vadd.f32 s15, s14, s15 8062f4e: 4b0d ldr r3, [pc, #52] ; (8062f84 ) 8062f50: edc3 7a00 vstr s15, [r3] 8062f54: e063 b.n 806301e 8062f56: bf00 nop 8062f58: 20021d20 .word 0x20021d20 8062f5c: 20021d24 .word 0x20021d24 8062f60: 20037b20 .word 0x20037b20 8062f64: 20026848 .word 0x20026848 8062f68: 20027a00 .word 0x20027a00 8062f6c: 20023ea8 .word 0x20023ea8 8062f70: 20021d14 .word 0x20021d14 8062f74: 200261c8 .word 0x200261c8 8062f78: 20026f44 .word 0x20026f44 8062f7c: 20021d10 .word 0x20021d10 8062f80: 20057e00 .word 0x20057e00 8062f84: 20021d58 .word 0x20021d58 } else { arm_min_f32(In, len, &fn[0], &i); 8062f88: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062f8c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062f90: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062f94: 485b ldr r0, [pc, #364] ; (8063104 ) 8062f96: f06b f9a1 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 8062f9a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062f9e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8062fa2: 1d1a adds r2, r3, #4 8062fa4: 460b mov r3, r1 8062fa6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062faa: 4856 ldr r0, [pc, #344] ; (8063104 ) 8062fac: f06b fa32 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062fb0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062fb4: eef5 7ac0 vcmpe.f32 s15, #0.0 8062fb8: eef1 fa10 vmrs APSR_nzcv, fpscr 8062fbc: dd02 ble.n 8062fc4 8062fbe: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062fc2: e003 b.n 8062fcc 8062fc4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062fc8: eef1 7a67 vneg.f32 s15, s15 8062fcc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062fd0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062fd4: eef5 7ac0 vcmpe.f32 s15, #0.0 8062fd8: eef1 fa10 vmrs APSR_nzcv, fpscr 8062fdc: dd02 ble.n 8062fe4 8062fde: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062fe2: e003 b.n 8062fec 8062fe4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062fe8: eef1 7a67 vneg.f32 s15, s15 8062fec: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062ff0: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8062ff4: f507 72de add.w r2, r7, #444 ; 0x1bc 8062ff8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062ffc: 2102 movs r1, #2 8062ffe: f06b fa09 bl 80ce414 if(fl > rms1) 8063002: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8063006: 4b40 ldr r3, [pc, #256] ; (8063108 ) 8063008: edd3 7a00 vldr s15, [r3] 806300c: eeb4 7ae7 vcmpe.f32 s14, s15 8063010: eef1 fa10 vmrs APSR_nzcv, fpscr 8063014: dd03 ble.n 806301e rms1 = fl; 8063016: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 806301a: 4a3b ldr r2, [pc, #236] ; (8063108 ) 806301c: 6013 str r3, [r2, #0] } //** 0,8 arm_biquad_cascade_df2T_f64(&S_OKT_0_8Hz, &Buff64[0], &Buff64[Ns], len); 806301e: 4b3b ldr r3, [pc, #236] ; (806310c ) 8063020: 681b ldr r3, [r3, #0] 8063022: 00db lsls r3, r3, #3 8063024: 4a3a ldr r2, [pc, #232] ; (8063110 ) 8063026: 441a add r2, r3 8063028: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806302c: 4938 ldr r1, [pc, #224] ; (8063110 ) 806302e: 4839 ldr r0, [pc, #228] ; (8063114 ) 8063030: f06b fa64 bl 80ce4fc for(i = 0; i < len; i++) { 8063034: 2300 movs r3, #0 8063036: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806303a: e017 b.n 806306c In[i] = (float32_t) Buff64[Ns + i]; 806303c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063040: 4a32 ldr r2, [pc, #200] ; (806310c ) 8063042: 6811 ldr r1, [r2, #0] 8063044: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063048: 440a add r2, r1 806304a: 4931 ldr r1, [pc, #196] ; (8063110 ) 806304c: 00d2 lsls r2, r2, #3 806304e: 440a add r2, r1 8063050: ed92 7b00 vldr d7, [r2] 8063054: eef7 7bc7 vcvt.f32.f64 s15, d7 8063058: 4a2a ldr r2, [pc, #168] ; (8063104 ) 806305a: 009b lsls r3, r3, #2 806305c: 4413 add r3, r2 806305e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8063062: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063066: 3301 adds r3, #1 8063068: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806306c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063070: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8063074: 429a cmp r2, r3 8063076: d3e1 bcc.n 806303c } if(pardata.IVS[ACC] == RMS) 8063078: 4b27 ldr r3, [pc, #156] ; (8063118 ) 806307a: 789b ldrb r3, [r3, #2] 806307c: b2db uxtb r3, r3 806307e: 2b01 cmp r3, #1 8063080: d112 bne.n 80630a8 { arm_power_f32(In, len, &fl); 8063082: f507 73de add.w r3, r7, #444 ; 0x1bc 8063086: 461a mov r2, r3 8063088: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806308c: 481d ldr r0, [pc, #116] ; (8063104 ) 806308e: f06b f8eb bl 80ce268 rms0_8 += fl; 8063092: 4b22 ldr r3, [pc, #136] ; (806311c ) 8063094: ed93 7a00 vldr s14, [r3] 8063098: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 806309c: ee77 7a27 vadd.f32 s15, s14, s15 80630a0: 4b1e ldr r3, [pc, #120] ; (806311c ) 80630a2: edc3 7a00 vstr s15, [r3] 80630a6: e058 b.n 806315a } else { arm_min_f32(In, len, &fn[0], &i); 80630a8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80630ac: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80630b0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80630b4: 4813 ldr r0, [pc, #76] ; (8063104 ) 80630b6: f06b f911 bl 80ce2dc arm_max_f32(In, len, &fn[1], &j); 80630ba: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80630be: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80630c2: 1d1a adds r2, r3, #4 80630c4: 460b mov r3, r1 80630c6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80630ca: 480e ldr r0, [pc, #56] ; (8063104 ) 80630cc: f06b f9a2 bl 80ce414 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80630d0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80630d4: eef5 7ac0 vcmpe.f32 s15, #0.0 80630d8: eef1 fa10 vmrs APSR_nzcv, fpscr 80630dc: dd02 ble.n 80630e4 80630de: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80630e2: e003 b.n 80630ec 80630e4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80630e8: eef1 7a67 vneg.f32 s15, s15 80630ec: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80630f0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80630f4: eef5 7ac0 vcmpe.f32 s15, #0.0 80630f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80630fc: dd10 ble.n 8063120 80630fe: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063102: e011 b.n 8063128 8063104: 20027a00 .word 0x20027a00 8063108: 20021d58 .word 0x20021d58 806310c: 20021d24 .word 0x20021d24 8063110: 20037b20 .word 0x20037b20 8063114: 2002796c .word 0x2002796c 8063118: 20023ea8 .word 0x20023ea8 806311c: 20021d1c .word 0x20021d1c 8063120: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8063124: eef1 7a67 vneg.f32 s15, s15 8063128: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 806312c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8063130: f507 72de add.w r2, r7, #444 ; 0x1bc 8063134: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8063138: 2102 movs r1, #2 806313a: f06b f96b bl 80ce414 if(fl > rms0_8) 806313e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8063142: 4bc9 ldr r3, [pc, #804] ; (8063468 ) 8063144: edd3 7a00 vldr s15, [r3] 8063148: eeb4 7ae7 vcmpe.f32 s14, s15 806314c: eef1 fa10 vmrs APSR_nzcv, fpscr 8063150: dd03 ble.n 806315a rms0_8 = fl; 8063152: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8063156: 4ac4 ldr r2, [pc, #784] ; (8063468 ) 8063158: 6013 str r3, [r2, #0] } cntcnt = DWT->CYCCNT - cntcnt; 806315a: 4bc4 ldr r3, [pc, #784] ; (806346c ) 806315c: 685b ldr r3, [r3, #4] 806315e: 4619 mov r1, r3 8063160: f04f 0200 mov.w r2, #0 8063164: f507 73f4 add.w r3, r7, #488 ; 0x1e8 8063168: cb18 ldmia r3, {r3, r4} 806316a: 1acb subs r3, r1, r3 806316c: eb62 0404 sbc.w r4, r2, r4 8063170: f507 72f4 add.w r2, r7, #488 ; 0x1e8 8063174: e882 0018 stmia.w r2, {r3, r4} cntcnt = 0; 8063178: f04f 0300 mov.w r3, #0 806317c: f04f 0400 mov.w r4, #0 8063180: f507 72f4 add.w r2, r7, #488 ; 0x1e8 8063184: e882 0018 stmia.w r2, {r3, r4} if(cntOkt == 8) 8063188: 4bb9 ldr r3, [pc, #740] ; (8063470 ) 806318a: 681b ldr r3, [r3, #0] 806318c: 2b08 cmp r3, #8 806318e: f040 8256 bne.w 806363e { MeanCnt++; 8063192: 4bb8 ldr r3, [pc, #736] ; (8063474 ) 8063194: 681b ldr r3, [r3, #0] 8063196: 3301 adds r3, #1 8063198: 4ab6 ldr r2, [pc, #728] ; (8063474 ) 806319a: 6013 str r3, [r2, #0] cntOkt = 0; 806319c: 4bb4 ldr r3, [pc, #720] ; (8063470 ) 806319e: 2200 movs r2, #0 80631a0: 601a str r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 80631a2: 4bb5 ldr r3, [pc, #724] ; (8063478 ) 80631a4: 7b5b ldrb r3, [r3, #13] 80631a6: b2db uxtb r3, r3 80631a8: 461a mov r2, r3 80631aa: 4bb4 ldr r3, [pc, #720] ; (806347c ) 80631ac: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80631b0: 461a mov r2, r3 80631b2: 4bb0 ldr r3, [pc, #704] ; (8063474 ) 80631b4: 681b ldr r3, [r3, #0] 80631b6: 429a cmp r2, r3 80631b8: f040 8241 bne.w 806363e { if(pardata.IVS[ACC] == RMS) 80631bc: 4bae ldr r3, [pc, #696] ; (8063478 ) 80631be: 789b ldrb r3, [r3, #2] 80631c0: b2db uxtb r3, r3 80631c2: 2b01 cmp r3, #1 80631c4: f040 8176 bne.w 80634b4 { rms10 /= (64.0f * (float32_t) MeanCnt); 80631c8: 4baa ldr r3, [pc, #680] ; (8063474 ) 80631ca: 681b ldr r3, [r3, #0] 80631cc: ee07 3a90 vmov s15, r3 80631d0: eef8 7a67 vcvt.f32.u32 s15, s15 80631d4: ed9f 7aaa vldr s14, [pc, #680] ; 8063480 80631d8: ee27 7a87 vmul.f32 s14, s15, s14 80631dc: 4ba9 ldr r3, [pc, #676] ; (8063484 ) 80631de: edd3 6a00 vldr s13, [r3] 80631e2: eec6 7a87 vdiv.f32 s15, s13, s14 80631e6: 4ba7 ldr r3, [pc, #668] ; (8063484 ) 80631e8: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms10, &Third[11]); 80631ec: 4ba5 ldr r3, [pc, #660] ; (8063484 ) 80631ee: edd3 7a00 vldr s15, [r3] 80631f2: 463b mov r3, r7 80631f4: 332c adds r3, #44 ; 0x2c 80631f6: 4618 mov r0, r3 80631f8: eeb0 0a67 vmov.f32 s0, s15 80631fc: f7f3 fb28 bl 8056850 rms8 /= (64.0f * (float32_t) MeanCnt); 8063200: 4b9c ldr r3, [pc, #624] ; (8063474 ) 8063202: 681b ldr r3, [r3, #0] 8063204: ee07 3a90 vmov s15, r3 8063208: eef8 7a67 vcvt.f32.u32 s15, s15 806320c: ed9f 7a9c vldr s14, [pc, #624] ; 8063480 8063210: ee27 7a87 vmul.f32 s14, s15, s14 8063214: 4b9c ldr r3, [pc, #624] ; (8063488 ) 8063216: edd3 6a00 vldr s13, [r3] 806321a: eec6 7a87 vdiv.f32 s15, s13, s14 806321e: 4b9a ldr r3, [pc, #616] ; (8063488 ) 8063220: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms8, &Third[10]); 8063224: 4b98 ldr r3, [pc, #608] ; (8063488 ) 8063226: edd3 7a00 vldr s15, [r3] 806322a: 463b mov r3, r7 806322c: 3328 adds r3, #40 ; 0x28 806322e: 4618 mov r0, r3 8063230: eeb0 0a67 vmov.f32 s0, s15 8063234: f7f3 fb0c bl 8056850 rms6_3 /= (64.0f * (float32_t) MeanCnt); 8063238: 4b8e ldr r3, [pc, #568] ; (8063474 ) 806323a: 681b ldr r3, [r3, #0] 806323c: ee07 3a90 vmov s15, r3 8063240: eef8 7a67 vcvt.f32.u32 s15, s15 8063244: ed9f 7a8e vldr s14, [pc, #568] ; 8063480 8063248: ee27 7a87 vmul.f32 s14, s15, s14 806324c: 4b8f ldr r3, [pc, #572] ; (806348c ) 806324e: edd3 6a00 vldr s13, [r3] 8063252: eec6 7a87 vdiv.f32 s15, s13, s14 8063256: 4b8d ldr r3, [pc, #564] ; (806348c ) 8063258: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms6_3, &Third[9]); 806325c: 4b8b ldr r3, [pc, #556] ; (806348c ) 806325e: edd3 7a00 vldr s15, [r3] 8063262: 463b mov r3, r7 8063264: 3324 adds r3, #36 ; 0x24 8063266: 4618 mov r0, r3 8063268: eeb0 0a67 vmov.f32 s0, s15 806326c: f7f3 faf0 bl 8056850 rms5 /= (32.0f * (float32_t) MeanCnt); 8063270: 4b80 ldr r3, [pc, #512] ; (8063474 ) 8063272: 681b ldr r3, [r3, #0] 8063274: ee07 3a90 vmov s15, r3 8063278: eef8 7a67 vcvt.f32.u32 s15, s15 806327c: ed9f 7a84 vldr s14, [pc, #528] ; 8063490 8063280: ee27 7a87 vmul.f32 s14, s15, s14 8063284: 4b83 ldr r3, [pc, #524] ; (8063494 ) 8063286: edd3 6a00 vldr s13, [r3] 806328a: eec6 7a87 vdiv.f32 s15, s13, s14 806328e: 4b81 ldr r3, [pc, #516] ; (8063494 ) 8063290: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms5, &Third[8]); 8063294: 4b7f ldr r3, [pc, #508] ; (8063494 ) 8063296: edd3 7a00 vldr s15, [r3] 806329a: 463b mov r3, r7 806329c: 3320 adds r3, #32 806329e: 4618 mov r0, r3 80632a0: eeb0 0a67 vmov.f32 s0, s15 80632a4: f7f3 fad4 bl 8056850 rms4 /= (32.0f * (float32_t) MeanCnt); 80632a8: 4b72 ldr r3, [pc, #456] ; (8063474 ) 80632aa: 681b ldr r3, [r3, #0] 80632ac: ee07 3a90 vmov s15, r3 80632b0: eef8 7a67 vcvt.f32.u32 s15, s15 80632b4: ed9f 7a76 vldr s14, [pc, #472] ; 8063490 80632b8: ee27 7a87 vmul.f32 s14, s15, s14 80632bc: 4b76 ldr r3, [pc, #472] ; (8063498 ) 80632be: edd3 6a00 vldr s13, [r3] 80632c2: eec6 7a87 vdiv.f32 s15, s13, s14 80632c6: 4b74 ldr r3, [pc, #464] ; (8063498 ) 80632c8: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms4, &Third[7]); 80632cc: 4b72 ldr r3, [pc, #456] ; (8063498 ) 80632ce: edd3 7a00 vldr s15, [r3] 80632d2: 463b mov r3, r7 80632d4: 331c adds r3, #28 80632d6: 4618 mov r0, r3 80632d8: eeb0 0a67 vmov.f32 s0, s15 80632dc: f7f3 fab8 bl 8056850 rms3_15 /= (32.0f * (float32_t) MeanCnt); 80632e0: 4b64 ldr r3, [pc, #400] ; (8063474 ) 80632e2: 681b ldr r3, [r3, #0] 80632e4: ee07 3a90 vmov s15, r3 80632e8: eef8 7a67 vcvt.f32.u32 s15, s15 80632ec: ed9f 7a68 vldr s14, [pc, #416] ; 8063490 80632f0: ee27 7a87 vmul.f32 s14, s15, s14 80632f4: 4b69 ldr r3, [pc, #420] ; (806349c ) 80632f6: edd3 6a00 vldr s13, [r3] 80632fa: eec6 7a87 vdiv.f32 s15, s13, s14 80632fe: 4b67 ldr r3, [pc, #412] ; (806349c ) 8063300: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms3_15, &Third[6]); 8063304: 4b65 ldr r3, [pc, #404] ; (806349c ) 8063306: edd3 7a00 vldr s15, [r3] 806330a: 463b mov r3, r7 806330c: 3318 adds r3, #24 806330e: 4618 mov r0, r3 8063310: eeb0 0a67 vmov.f32 s0, s15 8063314: f7f3 fa9c bl 8056850 rms2_5 /= (16.0f * (float32_t) MeanCnt); 8063318: 4b56 ldr r3, [pc, #344] ; (8063474 ) 806331a: 681b ldr r3, [r3, #0] 806331c: ee07 3a90 vmov s15, r3 8063320: eef8 7a67 vcvt.f32.u32 s15, s15 8063324: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 8063328: ee27 7a87 vmul.f32 s14, s15, s14 806332c: 4b5c ldr r3, [pc, #368] ; (80634a0 ) 806332e: edd3 6a00 vldr s13, [r3] 8063332: eec6 7a87 vdiv.f32 s15, s13, s14 8063336: 4b5a ldr r3, [pc, #360] ; (80634a0 ) 8063338: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms2_5, &Third[5]); 806333c: 4b58 ldr r3, [pc, #352] ; (80634a0 ) 806333e: edd3 7a00 vldr s15, [r3] 8063342: 463b mov r3, r7 8063344: 3314 adds r3, #20 8063346: 4618 mov r0, r3 8063348: eeb0 0a67 vmov.f32 s0, s15 806334c: f7f3 fa80 bl 8056850 rms2 /= (16.0f * (float32_t) MeanCnt); 8063350: 4b48 ldr r3, [pc, #288] ; (8063474 ) 8063352: 681b ldr r3, [r3, #0] 8063354: ee07 3a90 vmov s15, r3 8063358: eef8 7a67 vcvt.f32.u32 s15, s15 806335c: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 8063360: ee27 7a87 vmul.f32 s14, s15, s14 8063364: 4b4f ldr r3, [pc, #316] ; (80634a4 ) 8063366: edd3 6a00 vldr s13, [r3] 806336a: eec6 7a87 vdiv.f32 s15, s13, s14 806336e: 4b4d ldr r3, [pc, #308] ; (80634a4 ) 8063370: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms2, &Third[4]); 8063374: 4b4b ldr r3, [pc, #300] ; (80634a4 ) 8063376: edd3 7a00 vldr s15, [r3] 806337a: 463b mov r3, r7 806337c: 3310 adds r3, #16 806337e: 4618 mov r0, r3 8063380: eeb0 0a67 vmov.f32 s0, s15 8063384: f7f3 fa64 bl 8056850 rms1_6 /= (16.0f * (float32_t) MeanCnt); 8063388: 4b3a ldr r3, [pc, #232] ; (8063474 ) 806338a: 681b ldr r3, [r3, #0] 806338c: ee07 3a90 vmov s15, r3 8063390: eef8 7a67 vcvt.f32.u32 s15, s15 8063394: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 8063398: ee27 7a87 vmul.f32 s14, s15, s14 806339c: 4b42 ldr r3, [pc, #264] ; (80634a8 ) 806339e: edd3 6a00 vldr s13, [r3] 80633a2: eec6 7a87 vdiv.f32 s15, s13, s14 80633a6: 4b40 ldr r3, [pc, #256] ; (80634a8 ) 80633a8: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1_6, &Third[3]); 80633ac: 4b3e ldr r3, [pc, #248] ; (80634a8 ) 80633ae: edd3 7a00 vldr s15, [r3] 80633b2: 463b mov r3, r7 80633b4: 330c adds r3, #12 80633b6: 4618 mov r0, r3 80633b8: eeb0 0a67 vmov.f32 s0, s15 80633bc: f7f3 fa48 bl 8056850 rms1_25 /= (8.0f * (float32_t) MeanCnt); 80633c0: 4b2c ldr r3, [pc, #176] ; (8063474 ) 80633c2: 681b ldr r3, [r3, #0] 80633c4: ee07 3a90 vmov s15, r3 80633c8: eef8 7a67 vcvt.f32.u32 s15, s15 80633cc: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 80633d0: ee27 7a87 vmul.f32 s14, s15, s14 80633d4: 4b35 ldr r3, [pc, #212] ; (80634ac ) 80633d6: edd3 6a00 vldr s13, [r3] 80633da: eec6 7a87 vdiv.f32 s15, s13, s14 80633de: 4b33 ldr r3, [pc, #204] ; (80634ac ) 80633e0: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1_25, &Third[2]); 80633e4: 4b31 ldr r3, [pc, #196] ; (80634ac ) 80633e6: edd3 7a00 vldr s15, [r3] 80633ea: 463b mov r3, r7 80633ec: 3308 adds r3, #8 80633ee: 4618 mov r0, r3 80633f0: eeb0 0a67 vmov.f32 s0, s15 80633f4: f7f3 fa2c bl 8056850 rms1 /= (8.0f * (float32_t) MeanCnt); 80633f8: 4b1e ldr r3, [pc, #120] ; (8063474 ) 80633fa: 681b ldr r3, [r3, #0] 80633fc: ee07 3a90 vmov s15, r3 8063400: eef8 7a67 vcvt.f32.u32 s15, s15 8063404: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 8063408: ee27 7a87 vmul.f32 s14, s15, s14 806340c: 4b28 ldr r3, [pc, #160] ; (80634b0 ) 806340e: edd3 6a00 vldr s13, [r3] 8063412: eec6 7a87 vdiv.f32 s15, s13, s14 8063416: 4b26 ldr r3, [pc, #152] ; (80634b0 ) 8063418: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1, &Third[1]); 806341c: 4b24 ldr r3, [pc, #144] ; (80634b0 ) 806341e: edd3 7a00 vldr s15, [r3] 8063422: 463b mov r3, r7 8063424: 3304 adds r3, #4 8063426: 4618 mov r0, r3 8063428: eeb0 0a67 vmov.f32 s0, s15 806342c: f7f3 fa10 bl 8056850 rms0_8 /= (8.0f * (float32_t) MeanCnt); 8063430: 4b10 ldr r3, [pc, #64] ; (8063474 ) 8063432: 681b ldr r3, [r3, #0] 8063434: ee07 3a90 vmov s15, r3 8063438: eef8 7a67 vcvt.f32.u32 s15, s15 806343c: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 8063440: ee27 7a87 vmul.f32 s14, s15, s14 8063444: 4b08 ldr r3, [pc, #32] ; (8063468 ) 8063446: edd3 6a00 vldr s13, [r3] 806344a: eec6 7a87 vdiv.f32 s15, s13, s14 806344e: 4b06 ldr r3, [pc, #24] ; (8063468 ) 8063450: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms0_8, &Third[0]); 8063454: 4b04 ldr r3, [pc, #16] ; (8063468 ) 8063456: edd3 7a00 vldr s15, [r3] 806345a: 463b mov r3, r7 806345c: 4618 mov r0, r3 806345e: eeb0 0a67 vmov.f32 s0, s15 8063462: f7f3 f9f5 bl 8056850 8063466: e055 b.n 8063514 8063468: 20021d1c .word 0x20021d1c 806346c: e0001000 .word 0xe0001000 8063470: 20020db0 .word 0x20020db0 8063474: 20020dd8 .word 0x20020dd8 8063478: 20023ea8 .word 0x20023ea8 806347c: 080f2e78 .word 0x080f2e78 8063480: 42800000 .word 0x42800000 8063484: 20021d54 .word 0x20021d54 8063488: 20021d18 .word 0x20021d18 806348c: 20021d28 .word 0x20021d28 8063490: 42000000 .word 0x42000000 8063494: 20021d2c .word 0x20021d2c 8063498: 20021d60 .word 0x20021d60 806349c: 20021d5c .word 0x20021d5c 80634a0: 20021d40 .word 0x20021d40 80634a4: 20021d20 .word 0x20021d20 80634a8: 20021d14 .word 0x20021d14 80634ac: 20021d10 .word 0x20021d10 80634b0: 20021d58 .word 0x20021d58 } else { Third[11] = rms10; 80634b4: 4baa ldr r3, [pc, #680] ; (8063760 ) 80634b6: 681a ldr r2, [r3, #0] 80634b8: 463b mov r3, r7 80634ba: 62da str r2, [r3, #44] ; 0x2c Third[10] = rms8; 80634bc: 4ba9 ldr r3, [pc, #676] ; (8063764 ) 80634be: 681a ldr r2, [r3, #0] 80634c0: 463b mov r3, r7 80634c2: 629a str r2, [r3, #40] ; 0x28 Third[9] = rms6_3; 80634c4: 4ba8 ldr r3, [pc, #672] ; (8063768 ) 80634c6: 681a ldr r2, [r3, #0] 80634c8: 463b mov r3, r7 80634ca: 625a str r2, [r3, #36] ; 0x24 Third[8] = rms5; 80634cc: 4ba7 ldr r3, [pc, #668] ; (806376c ) 80634ce: 681a ldr r2, [r3, #0] 80634d0: 463b mov r3, r7 80634d2: 621a str r2, [r3, #32] Third[7] = rms4; 80634d4: 4ba6 ldr r3, [pc, #664] ; (8063770 ) 80634d6: 681a ldr r2, [r3, #0] 80634d8: 463b mov r3, r7 80634da: 61da str r2, [r3, #28] Third[6] = rms3_15; 80634dc: 4ba5 ldr r3, [pc, #660] ; (8063774 ) 80634de: 681a ldr r2, [r3, #0] 80634e0: 463b mov r3, r7 80634e2: 619a str r2, [r3, #24] Third[5] = rms2_5; 80634e4: 4ba4 ldr r3, [pc, #656] ; (8063778 ) 80634e6: 681a ldr r2, [r3, #0] 80634e8: 463b mov r3, r7 80634ea: 615a str r2, [r3, #20] Third[4] = rms2; 80634ec: 4ba3 ldr r3, [pc, #652] ; (806377c ) 80634ee: 681a ldr r2, [r3, #0] 80634f0: 463b mov r3, r7 80634f2: 611a str r2, [r3, #16] Third[3] = rms1_6; 80634f4: 4ba2 ldr r3, [pc, #648] ; (8063780 ) 80634f6: 681a ldr r2, [r3, #0] 80634f8: 463b mov r3, r7 80634fa: 60da str r2, [r3, #12] Third[2] = rms1_25; 80634fc: 4ba1 ldr r3, [pc, #644] ; (8063784 ) 80634fe: 681a ldr r2, [r3, #0] 8063500: 463b mov r3, r7 8063502: 609a str r2, [r3, #8] Third[1] = rms1; 8063504: 4ba0 ldr r3, [pc, #640] ; (8063788 ) 8063506: 681a ldr r2, [r3, #0] 8063508: 463b mov r3, r7 806350a: 605a str r2, [r3, #4] Third[0] = rms0_8; 806350c: 4b9f ldr r3, [pc, #636] ; (806378c ) 806350e: 681a ldr r2, [r3, #0] 8063510: 463b mov r3, r7 8063512: 601a str r2, [r3, #0] } fs = 1.0f; 8063514: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8063518: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 if(pardata.IPR == VEL) 806351c: 4b9c ldr r3, [pc, #624] ; (8063790 ) 806351e: 785b ldrb r3, [r3, #1] 8063520: b2db uxtb r3, r3 8063522: 2b01 cmp r3, #1 8063524: d103 bne.n 806352e fs = 249.135f; 8063526: 4b9b ldr r3, [pc, #620] ; (8063794 ) 8063528: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 806352c: e007 b.n 806353e else if(pardata.IPR == DIS) 806352e: 4b98 ldr r3, [pc, #608] ; (8063790 ) 8063530: 785b ldrb r3, [r3, #1] 8063532: b2db uxtb r3, r3 8063534: 2b02 cmp r3, #2 8063536: d102 bne.n 806353e fs = 61400.171f; 8063538: 4b97 ldr r3, [pc, #604] ; (8063798 ) 806353a: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 for(i = 0; i < 39; i++) { 806353e: 2300 movs r3, #0 8063540: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063544: e016 b.n 8063574 In[i] = Third[i] * fs; 8063546: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806354a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806354e: 4639 mov r1, r7 8063550: 0092 lsls r2, r2, #2 8063552: 440a add r2, r1 8063554: ed92 7a00 vldr s14, [r2] 8063558: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 806355c: ee67 7a27 vmul.f32 s15, s14, s15 8063560: 4a8e ldr r2, [pc, #568] ; (806379c ) 8063562: 009b lsls r3, r3, #2 8063564: 4413 add r3, r2 8063566: edc3 7a00 vstr s15, [r3] for(i = 0; i < 39; i++) { 806356a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806356e: 3301 adds r3, #1 8063570: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063574: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063578: 2b26 cmp r3, #38 ; 0x26 806357a: d9e4 bls.n 8063546 } if(pardata.IPR > ACC) { 806357c: 4b84 ldr r3, [pc, #528] ; (8063790 ) 806357e: 785b ldrb r3, [r3, #1] 8063580: b2db uxtb r3, r3 8063582: 2b00 cmp r3, #0 8063584: d015 beq.n 80635b2 In[0] = In[1] = In[2] = In[3] = In[41] = 0.0f; 8063586: 4b85 ldr r3, [pc, #532] ; (806379c ) 8063588: f04f 0200 mov.w r2, #0 806358c: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 8063590: 4b82 ldr r3, [pc, #520] ; (806379c ) 8063592: f8d3 30a4 ldr.w r3, [r3, #164] ; 0xa4 8063596: 4a81 ldr r2, [pc, #516] ; (806379c ) 8063598: 60d3 str r3, [r2, #12] 806359a: 4b80 ldr r3, [pc, #512] ; (806379c ) 806359c: 68db ldr r3, [r3, #12] 806359e: 4a7f ldr r2, [pc, #508] ; (806379c ) 80635a0: 6093 str r3, [r2, #8] 80635a2: 4b7e ldr r3, [pc, #504] ; (806379c ) 80635a4: 689b ldr r3, [r3, #8] 80635a6: 4a7d ldr r2, [pc, #500] ; (806379c ) 80635a8: 6053 str r3, [r2, #4] 80635aa: 4b7c ldr r3, [pc, #496] ; (806379c ) 80635ac: 685b ldr r3, [r3, #4] 80635ae: 4a7b ldr r2, [pc, #492] ; (806379c ) 80635b0: 6013 str r3, [r2, #0] } rms0_8 = 0.0f; 80635b2: 4b76 ldr r3, [pc, #472] ; (806378c ) 80635b4: f04f 0200 mov.w r2, #0 80635b8: 601a str r2, [r3, #0] rms1 = 0.0f; 80635ba: 4b73 ldr r3, [pc, #460] ; (8063788 ) 80635bc: f04f 0200 mov.w r2, #0 80635c0: 601a str r2, [r3, #0] rms1_25 = 0.0f; 80635c2: 4b70 ldr r3, [pc, #448] ; (8063784 ) 80635c4: f04f 0200 mov.w r2, #0 80635c8: 601a str r2, [r3, #0] rms1_6 = 0.0f; 80635ca: 4b6d ldr r3, [pc, #436] ; (8063780 ) 80635cc: f04f 0200 mov.w r2, #0 80635d0: 601a str r2, [r3, #0] rms2 = 0.0f; 80635d2: 4b6a ldr r3, [pc, #424] ; (806377c ) 80635d4: f04f 0200 mov.w r2, #0 80635d8: 601a str r2, [r3, #0] rms2_5 = 0.0f; 80635da: 4b67 ldr r3, [pc, #412] ; (8063778 ) 80635dc: f04f 0200 mov.w r2, #0 80635e0: 601a str r2, [r3, #0] rms3_15 = 0.0f; 80635e2: 4b64 ldr r3, [pc, #400] ; (8063774 ) 80635e4: f04f 0200 mov.w r2, #0 80635e8: 601a str r2, [r3, #0] rms4 = 0.0f; 80635ea: 4b61 ldr r3, [pc, #388] ; (8063770 ) 80635ec: f04f 0200 mov.w r2, #0 80635f0: 601a str r2, [r3, #0] rms5 = 0.0f; 80635f2: 4b5e ldr r3, [pc, #376] ; (806376c ) 80635f4: f04f 0200 mov.w r2, #0 80635f8: 601a str r2, [r3, #0] rms6_3 = 0.0f; 80635fa: 4b5b ldr r3, [pc, #364] ; (8063768 ) 80635fc: f04f 0200 mov.w r2, #0 8063600: 601a str r2, [r3, #0] rms8 = 0.0f; 8063602: 4b58 ldr r3, [pc, #352] ; (8063764 ) 8063604: f04f 0200 mov.w r2, #0 8063608: 601a str r2, [r3, #0] rms10 = 0.0f; 806360a: 4b55 ldr r3, [pc, #340] ; (8063760 ) 806360c: f04f 0200 mov.w r2, #0 8063610: 601a str r2, [r3, #0] FastCopy16(IN_Reg, SCR_Reg, 84); 8063612: 2254 movs r2, #84 ; 0x54 8063614: 2104 movs r1, #4 8063616: 2001 movs r0, #1 8063618: f001 fde2 bl 80651e0 if(firstOkt) 806361c: 4b60 ldr r3, [pc, #384] ; (80637a0 ) 806361e: 781b ldrb r3, [r3, #0] 8063620: b2db uxtb r3, r3 8063622: 2b00 cmp r3, #0 8063624: d005 beq.n 8063632 { firstOkt = false; 8063626: 4b5e ldr r3, [pc, #376] ; (80637a0 ) 8063628: 2200 movs r2, #0 806362a: 701a strb r2, [r3, #0] AUTOZOOM = true; 806362c: 4b5d ldr r3, [pc, #372] ; (80637a4 ) 806362e: 2201 movs r2, #1 8063630: 701a strb r2, [r3, #0] } READY_TO_SEE = true; 8063632: 4b5d ldr r3, [pc, #372] ; (80637a8 ) 8063634: 2201 movs r2, #1 8063636: 701a strb r2, [r3, #0] MeanCnt = 0; 8063638: 4b5c ldr r3, [pc, #368] ; (80637ac ) 806363a: 2200 movs r2, #0 806363c: 601a str r2, [r3, #0] } } //**************************************************************************** cntcnt = DWT->CYCCNT - cntcnt; 806363e: 4b5c ldr r3, [pc, #368] ; (80637b0 ) 8063640: 685b ldr r3, [r3, #4] 8063642: 4619 mov r1, r3 8063644: f04f 0200 mov.w r2, #0 8063648: f507 73f4 add.w r3, r7, #488 ; 0x1e8 806364c: cb18 ldmia r3, {r3, r4} 806364e: 1acb subs r3, r1, r3 8063650: eb62 0404 sbc.w r4, r2, r4 8063654: f507 72f4 add.w r2, r7, #488 ; 0x1e8 8063658: e882 0018 stmia.w r2, {r3, r4} cntcnt = 0; 806365c: f04f 0300 mov.w r3, #0 8063660: f04f 0400 mov.w r4, #0 8063664: f507 72f4 add.w r2, r7, #488 ; 0x1e8 8063668: e882 0018 stmia.w r2, {r3, r4} { 806366c: bf00 nop else { RepeatKm = true; } } break; 806366e: f001 bc74 b.w 8064f5a RepeatKm = true; 8063672: 4b50 ldr r3, [pc, #320] ; (80637b4 ) 8063674: 2201 movs r2, #1 8063676: 701a strb r2, [r3, #0] break; 8063678: f001 bc6f b.w 8064f5a case OSC: // TODO if(measuring) 806367c: 4b4e ldr r3, [pc, #312] ; (80637b8 ) 806367e: 781b ldrb r3, [r3, #0] 8063680: b2db uxtb r3, r3 8063682: 2b00 cmp r3, #0 8063684: f001 846b beq.w 8064f5e { tick = DWT->CYCCNT; 8063688: 4b49 ldr r3, [pc, #292] ; (80637b0 ) 806368a: 685b ldr r3, [r3, #4] 806368c: f8c7 321c str.w r3, [r7, #540] ; 0x21c GetData(); 8063690: f001 ff1c bl 80654cc j = 0; 8063694: 2300 movs r3, #0 8063696: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(Threshold) 806369a: 4b48 ldr r3, [pc, #288] ; (80637bc ) 806369c: 781b ldrb r3, [r3, #0] 806369e: b2db uxtb r3, r3 80636a0: 2b00 cmp r3, #0 80636a2: d00b beq.n 80636bc { Flag_Set_KU = 0; 80636a4: 4b46 ldr r3, [pc, #280] ; (80637c0 ) 80636a6: 2200 movs r2, #0 80636a8: 701a strb r2, [r3, #0] Stability = (Nr * 4) + 1; 80636aa: 4b46 ldr r3, [pc, #280] ; (80637c4 ) 80636ac: 881b ldrh r3, [r3, #0] 80636ae: b29b uxth r3, r3 80636b0: 009b lsls r3, r3, #2 80636b2: 3301 adds r3, #1 80636b4: 461a mov r2, r3 80636b6: 4b44 ldr r3, [pc, #272] ; (80637c8 ) 80636b8: 601a str r2, [r3, #0] 80636ba: e03e b.n 806373a } else { if(pardata.OPTIONS & 0x4) 80636bc: 4b34 ldr r3, [pc, #208] ; (8063790 ) 80636be: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80636c2: f003 0304 and.w r3, r3, #4 80636c6: 2b00 cmp r3, #0 80636c8: d005 beq.n 80636d6 CalculateGain(Ns); 80636ca: 4b40 ldr r3, [pc, #256] ; (80637cc ) 80636cc: 681b ldr r3, [r3, #0] 80636ce: 4618 mov r0, r3 80636d0: f7f3 f8e0 bl 8056894 80636d4: e031 b.n 806373a else { Stability = (Nr * 4) + 1; 80636d6: 4b3b ldr r3, [pc, #236] ; (80637c4 ) 80636d8: 881b ldrh r3, [r3, #0] 80636da: b29b uxth r3, r3 80636dc: 009b lsls r3, r3, #2 80636de: 3301 adds r3, #1 80636e0: 461a mov r2, r3 80636e2: 4b39 ldr r3, [pc, #228] ; (80637c8 ) 80636e4: 601a str r2, [r3, #0] j = 0; 80636e6: 2300 movs r3, #0 80636e8: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc /*if(pardata.IPR > ACC) blockSize = (Ns << 1); else blockSize = Ns;*/ for(i = 0; i < Ns; i++) 80636ec: 2300 movs r3, #0 80636ee: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80636f2: e011 b.n 8063718 { if(In16[i].lg > 0xE00000) 80636f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80636f8: 4a35 ldr r2, [pc, #212] ; (80637d0 ) 80636fa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80636fe: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8063702: d904 bls.n 806370e j++; 8063704: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063708: 3301 adds r3, #1 806370a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 806370e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063712: 3301 adds r3, #1 8063714: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063718: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806371c: 4b2b ldr r3, [pc, #172] ; (80637cc ) 806371e: 681b ldr r3, [r3, #0] 8063720: 429a cmp r2, r3 8063722: d3e7 bcc.n 80636f4 } if(j >= 2) 8063724: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063728: 2b01 cmp r3, #1 806372a: d903 bls.n 8063734 OVERDRIVE = true; 806372c: 4b29 ldr r3, [pc, #164] ; (80637d4 ) 806372e: 2201 movs r2, #1 8063730: 701a strb r2, [r3, #0] 8063732: e002 b.n 806373a else OVERDRIVE = false; 8063734: 4b27 ldr r3, [pc, #156] ; (80637d4 ) 8063736: 2200 movs r2, #0 8063738: 701a strb r2, [r3, #0] } } if(Flag_Set_KU) 806373a: 4b21 ldr r3, [pc, #132] ; (80637c0 ) 806373c: 781b ldrb r3, [r3, #0] 806373e: b2db uxtb r3, r3 8063740: 2b00 cmp r3, #0 8063742: d04f beq.n 80637e4 { Stability = 0; 8063744: 4b20 ldr r3, [pc, #128] ; (80637c8 ) 8063746: 2200 movs r2, #0 8063748: 601a str r2, [r3, #0] NSamples = 0xffffffff; 806374a: 4b23 ldr r3, [pc, #140] ; (80637d8 ) 806374c: f04f 32ff mov.w r2, #4294967295 8063750: 601a str r2, [r3, #0] timeRelax = RELAX + 1; 8063752: 4b22 ldr r3, [pc, #136] ; (80637dc ) 8063754: 681b ldr r3, [r3, #0] 8063756: 3301 adds r3, #1 8063758: 4a21 ldr r2, [pc, #132] ; (80637e0 ) 806375a: 6013 str r3, [r2, #0] 806375c: e050 b.n 8063800 806375e: bf00 nop 8063760: 20021d54 .word 0x20021d54 8063764: 20021d18 .word 0x20021d18 8063768: 20021d28 .word 0x20021d28 806376c: 20021d2c .word 0x20021d2c 8063770: 20021d60 .word 0x20021d60 8063774: 20021d5c .word 0x20021d5c 8063778: 20021d40 .word 0x20021d40 806377c: 20021d20 .word 0x20021d20 8063780: 20021d14 .word 0x20021d14 8063784: 20021d10 .word 0x20021d10 8063788: 20021d58 .word 0x20021d58 806378c: 20021d1c .word 0x20021d1c 8063790: 20023ea8 .word 0x20023ea8 8063794: 4379228f .word 0x4379228f 8063798: 476fd82c .word 0x476fd82c 806379c: 20027a00 .word 0x20027a00 80637a0: 20020db4 .word 0x20020db4 80637a4: 20020994 .word 0x20020994 80637a8: 20020dae .word 0x20020dae 80637ac: 20020dd8 .word 0x20020dd8 80637b0: e0001000 .word 0xe0001000 80637b4: 20020dcc .word 0x20020dcc 80637b8: 20020dcf .word 0x20020dcf 80637bc: 20020dd1 .word 0x20020dd1 80637c0: 20020d9e .word 0x20020d9e 80637c4: 20021d68 .word 0x20021d68 80637c8: 20020dc8 .word 0x20020dc8 80637cc: 20021d24 .word 0x20021d24 80637d0: 20058060 .word 0x20058060 80637d4: 20021579 .word 0x20021579 80637d8: 20020da8 .word 0x20020da8 80637dc: 20020d90 .word 0x20020d90 80637e0: 20020d8c .word 0x20020d8c len = strlen((void *) pBuff_u8); SendData(pBuff_u8, len + 1);*/ } else { if(Stability <= (Nr * 4)) 80637e4: 4bbe ldr r3, [pc, #760] ; (8063ae0 ) 80637e6: 881b ldrh r3, [r3, #0] 80637e8: b29b uxth r3, r3 80637ea: 009b lsls r3, r3, #2 80637ec: 461a mov r2, r3 80637ee: 4bbd ldr r3, [pc, #756] ; (8063ae4 ) 80637f0: 681b ldr r3, [r3, #0] 80637f2: 429a cmp r2, r3 80637f4: d304 bcc.n 8063800 Stability++; 80637f6: 4bbb ldr r3, [pc, #748] ; (8063ae4 ) 80637f8: 681b ldr r3, [r3, #0] 80637fa: 3301 adds r3, #1 80637fc: 4ab9 ldr r2, [pc, #740] ; (8063ae4 ) 80637fe: 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)))) 8063800: 4bb9 ldr r3, [pc, #740] ; (8063ae8 ) 8063802: 781b ldrb r3, [r3, #0] 8063804: b2db uxtb r3, r3 8063806: 2b00 cmp r3, #0 8063808: f041 8015 bne.w 8064836 806380c: 4bb7 ldr r3, [pc, #732] ; (8063aec ) 806380e: 781b ldrb r3, [r3, #0] 8063810: b2db uxtb r3, r3 8063812: 2b00 cmp r3, #0 8063814: d109 bne.n 806382a 8063816: 4bb2 ldr r3, [pc, #712] ; (8063ae0 ) 8063818: 881b ldrh r3, [r3, #0] 806381a: b29b uxth r3, r3 806381c: 009b lsls r3, r3, #2 806381e: 461a mov r2, r3 8063820: 4bb0 ldr r3, [pc, #704] ; (8063ae4 ) 8063822: 681b ldr r3, [r3, #0] 8063824: 429a cmp r2, r3 8063826: f081 8006 bcs.w 8064836 { if(pardata.IPR == ACC) 806382a: 4bb1 ldr r3, [pc, #708] ; (8063af0 ) 806382c: 785b ldrb r3, [r3, #1] 806382e: b2db uxtb r3, r3 8063830: 2b00 cmp r3, #0 8063832: f040 8082 bne.w 806393a { fNrm = 1.0f / (float32_t) (Ns >> 1); 8063836: 4baf ldr r3, [pc, #700] ; (8063af4 ) 8063838: 681b ldr r3, [r3, #0] 806383a: 085b lsrs r3, r3, #1 806383c: ee07 3a90 vmov s15, r3 8063840: eeb8 7a67 vcvt.f32.u32 s14, s15 8063844: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8063848: eec6 7a87 vdiv.f32 s15, s13, s14 806384c: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8063850: 4ba9 ldr r3, [pc, #676] ; (8063af8 ) 8063852: edd3 7a00 vldr s15, [r3] 8063856: eeb7 7ae7 vcvt.f64.f32 d7, s15 806385a: ed9f 6b9f vldr d6, [pc, #636] ; 8063ad8 806385e: ee27 7b06 vmul.f64 d7, d7, d6 8063862: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 8063866: 4ba2 ldr r3, [pc, #648] ; (8063af0 ) 8063868: edd3 7a04 vldr s15, [r3, #16] 806386c: eeb7 6ae7 vcvt.f64.f32 d6, s15 8063870: ed97 5b82 vldr d5, [r7, #520] ; 0x208 8063874: ee85 7b06 vdiv.f64 d7, d5, d6 8063878: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 806387c: 2300 movs r3, #0 806387e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063882: e026 b.n 80638d2 { Buff64[i] = (float64_t) In16[i].lg; 8063884: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063888: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806388c: 499b ldr r1, [pc, #620] ; (8063afc ) 806388e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8063892: ee07 2a90 vmov s15, r2 8063896: eeb8 7b67 vcvt.f64.u32 d7, s15 806389a: 4a99 ldr r2, [pc, #612] ; (8063b00 ) 806389c: 00db lsls r3, r3, #3 806389e: 4413 add r3, r2 80638a0: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 80638a4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80638a8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80638ac: 4994 ldr r1, [pc, #592] ; (8063b00 ) 80638ae: 00d2 lsls r2, r2, #3 80638b0: 440a add r2, r1 80638b2: ed92 6b00 vldr d6, [r2] 80638b6: ed97 7b82 vldr d7, [r7, #520] ; 0x208 80638ba: ee26 7b07 vmul.f64 d7, d6, d7 80638be: 4a90 ldr r2, [pc, #576] ; (8063b00 ) 80638c0: 00db lsls r3, r3, #3 80638c2: 4413 add r3, r2 80638c4: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 80638c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80638cc: 3301 adds r3, #1 80638ce: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80638d2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80638d6: 4b87 ldr r3, [pc, #540] ; (8063af4 ) 80638d8: 681b ldr r3, [r3, #0] 80638da: 429a cmp r2, r3 80638dc: d3d2 bcc.n 8063884 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 80638de: 4b85 ldr r3, [pc, #532] ; (8063af4 ) 80638e0: 681b ldr r3, [r3, #0] 80638e2: 4a87 ldr r2, [pc, #540] ; (8063b00 ) 80638e4: 4986 ldr r1, [pc, #536] ; (8063b00 ) 80638e6: 4887 ldr r0, [pc, #540] ; (8063b04 ) 80638e8: f06a fe08 bl 80ce4fc arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 80638ec: 4b81 ldr r3, [pc, #516] ; (8063af4 ) 80638ee: 681b ldr r3, [r3, #0] 80638f0: 4a83 ldr r2, [pc, #524] ; (8063b00 ) 80638f2: 4983 ldr r1, [pc, #524] ; (8063b00 ) 80638f4: 4884 ldr r0, [pc, #528] ; (8063b08 ) 80638f6: f06a fe01 bl 80ce4fc for(i = 0; i < Ns; i++) 80638fa: 2300 movs r3, #0 80638fc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063900: e014 b.n 806392c Out[i] = (float32_t) Buff64[i]; 8063902: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063906: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806390a: 497d ldr r1, [pc, #500] ; (8063b00 ) 806390c: 00d2 lsls r2, r2, #3 806390e: 440a add r2, r1 8063910: ed92 7b00 vldr d7, [r2] 8063914: eef7 7bc7 vcvt.f32.f64 s15, d7 8063918: 4a7c ldr r2, [pc, #496] ; (8063b0c ) 806391a: 009b lsls r3, r3, #2 806391c: 4413 add r3, r2 806391e: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 8063922: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063926: 3301 adds r3, #1 8063928: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806392c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063930: 4b70 ldr r3, [pc, #448] ; (8063af4 ) 8063932: 681b ldr r3, [r3, #0] 8063934: 429a cmp r2, r3 8063936: d3e4 bcc.n 8063902 8063938: e087 b.n 8063a4a } else { fNrm = 1.0f / (float32_t) (Ns >> 1); 806393a: 4b6e ldr r3, [pc, #440] ; (8063af4 ) 806393c: 681b ldr r3, [r3, #0] 806393e: 085b lsrs r3, r3, #1 8063940: ee07 3a90 vmov s15, r3 8063944: eeb8 7a67 vcvt.f32.u32 s14, s15 8063948: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 806394c: eec6 7a87 vdiv.f32 s15, s13, s14 8063950: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8063954: 4b68 ldr r3, [pc, #416] ; (8063af8 ) 8063956: edd3 7a00 vldr s15, [r3] 806395a: eeb7 7ae7 vcvt.f64.f32 d7, s15 806395e: ed9f 6b5e vldr d6, [pc, #376] ; 8063ad8 8063962: ee27 7b06 vmul.f64 d7, d7, d6 8063966: ed87 7b82 vstr d7, [r7, #520] ; 0x208 fs = _b24 * CorrKk[ACC]; 806396a: 4b63 ldr r3, [pc, #396] ; (8063af8 ) 806396c: edd3 7a00 vldr s15, [r3] 8063970: ed9f 7a67 vldr s14, [pc, #412] ; 8063b10 8063974: ee67 7a87 vmul.f32 s15, s15, s14 8063978: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 for(i = 0; i < Ns; i++) 806397c: 2300 movs r3, #0 806397e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063982: e049 b.n 8063a18 { Buff64[i] = (float64_t) In16[i].lg; 8063984: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063988: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806398c: 495b ldr r1, [pc, #364] ; (8063afc ) 806398e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8063992: ee07 2a90 vmov s15, r2 8063996: eeb8 7b67 vcvt.f64.u32 d7, s15 806399a: 4a59 ldr r2, [pc, #356] ; (8063b00 ) 806399c: 00db lsls r3, r3, #3 806399e: 4413 add r3, r2 80639a0: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 80639a4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80639a8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80639ac: 4954 ldr r1, [pc, #336] ; (8063b00 ) 80639ae: 00d2 lsls r2, r2, #3 80639b0: 440a add r2, r1 80639b2: ed92 6b00 vldr d6, [r2] 80639b6: ed97 7b82 vldr d7, [r7, #520] ; 0x208 80639ba: ee26 7b07 vmul.f64 d7, d6, d7 80639be: 4a50 ldr r2, [pc, #320] ; (8063b00 ) 80639c0: 00db lsls r3, r3, #3 80639c2: 4413 add r3, r2 80639c4: ed83 7b00 vstr d7, [r3] In[i] = (float32_t) In16[i].lg; 80639c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80639cc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80639d0: 494a ldr r1, [pc, #296] ; (8063afc ) 80639d2: f851 2022 ldr.w r2, [r1, r2, lsl #2] 80639d6: ee07 2a90 vmov s15, r2 80639da: eef8 7a67 vcvt.f32.u32 s15, s15 80639de: 4a4d ldr r2, [pc, #308] ; (8063b14 ) 80639e0: 009b lsls r3, r3, #2 80639e2: 4413 add r3, r2 80639e4: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 80639e8: 4b4b ldr r3, [pc, #300] ; (8063b18 ) 80639ea: edd3 7a00 vldr s15, [r3] 80639ee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80639f2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80639f6: 4947 ldr r1, [pc, #284] ; (8063b14 ) 80639f8: 0092 lsls r2, r2, #2 80639fa: 440a add r2, r1 80639fc: ed92 7a00 vldr s14, [r2] 8063a00: ee77 7a67 vsub.f32 s15, s14, s15 8063a04: 4a43 ldr r2, [pc, #268] ; (8063b14 ) 8063a06: 009b lsls r3, r3, #2 8063a08: 4413 add r3, r2 8063a0a: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 8063a0e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063a12: 3301 adds r3, #1 8063a14: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063a18: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063a1c: 4b35 ldr r3, [pc, #212] ; (8063af4 ) 8063a1e: 681b ldr r3, [r3, #0] 8063a20: 429a cmp r2, r3 8063a22: d3af bcc.n 8063984 } arm_scale_f32(In, fs, Out, Ns); 8063a24: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8063a28: 4b32 ldr r3, [pc, #200] ; (8063af4 ) 8063a2a: 681b ldr r3, [r3, #0] 8063a2c: 461a mov r2, r3 8063a2e: 4937 ldr r1, [pc, #220] ; (8063b0c ) 8063a30: eeb0 0a67 vmov.f32 s0, s15 8063a34: 4837 ldr r0, [pc, #220] ; (8063b14 ) 8063a36: f06b f817 bl 80cea68 arm_rms_f32(Out, Ns, &rms); 8063a3a: 4b2e ldr r3, [pc, #184] ; (8063af4 ) 8063a3c: 681b ldr r3, [r3, #0] 8063a3e: f507 7286 add.w r2, r7, #268 ; 0x10c 8063a42: 4619 mov r1, r3 8063a44: 4831 ldr r0, [pc, #196] ; (8063b0c ) 8063a46: f06a fbb7 bl 80ce1b8 } MeanCnt++; 8063a4a: 4b34 ldr r3, [pc, #208] ; (8063b1c ) 8063a4c: 681b ldr r3, [r3, #0] 8063a4e: 3301 adds r3, #1 8063a50: 4a32 ldr r2, [pc, #200] ; (8063b1c ) 8063a52: 6013 str r3, [r2, #0] if(pardata.IPR == ACC) 8063a54: 4b26 ldr r3, [pc, #152] ; (8063af0 ) 8063a56: 785b ldrb r3, [r3, #1] 8063a58: b2db uxtb r3, r3 8063a5a: 2b00 cmp r3, #0 8063a5c: f040 851d bne.w 806449a { if(Threshold) 8063a60: 4b22 ldr r3, [pc, #136] ; (8063aec ) 8063a62: 781b ldrb r3, [r3, #0] 8063a64: b2db uxtb r3, r3 8063a66: 2b00 cmp r3, #0 8063a68: f000 8498 beq.w 806439c { if(timeRelax) 8063a6c: 4b2c ldr r3, [pc, #176] ; (8063b20 ) 8063a6e: 681b ldr r3, [r3, #0] 8063a70: 2b00 cmp r3, #0 8063a72: d01b beq.n 8063aac { timeRelax--; 8063a74: 4b2a ldr r3, [pc, #168] ; (8063b20 ) 8063a76: 681b ldr r3, [r3, #0] 8063a78: 3b01 subs r3, #1 8063a7a: 4a29 ldr r2, [pc, #164] ; (8063b20 ) 8063a7c: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 8063a7e: 4b1c ldr r3, [pc, #112] ; (8063af0 ) 8063a80: 785b ldrb r3, [r3, #1] 8063a82: b2db uxtb r3, r3 8063a84: 4618 mov r0, r3 8063a86: 4b1a ldr r3, [pc, #104] ; (8063af0 ) 8063a88: 785b ldrb r3, [r3, #1] 8063a8a: b2db uxtb r3, r3 8063a8c: 4925 ldr r1, [pc, #148] ; (8063b24 ) 8063a8e: 009a lsls r2, r3, #2 8063a90: 440a add r2, r1 8063a92: f04f 0100 mov.w r1, #0 8063a96: 6011 str r1, [r2, #0] 8063a98: 4a22 ldr r2, [pc, #136] ; (8063b24 ) 8063a9a: 009b lsls r3, r3, #2 8063a9c: 4413 add r3, r2 8063a9e: 681a ldr r2, [r3, #0] 8063aa0: 4921 ldr r1, [pc, #132] ; (8063b28 ) 8063aa2: 0083 lsls r3, r0, #2 8063aa4: 440b add r3, r1 8063aa6: 601a str r2, [r3, #0] 8063aa8: f000 be47 b.w 806473a } else { if(AutoStop == false) // åñëè ïðåâûøåíèÿ ïîðîãà íå áûëî 8063aac: 4b1f ldr r3, [pc, #124] ; (8063b2c ) 8063aae: 781b ldrb r3, [r3, #0] 8063ab0: b2db uxtb r3, r3 8063ab2: f083 0301 eor.w r3, r3, #1 8063ab6: b2db uxtb r3, r3 8063ab8: 2b00 cmp r3, #0 8063aba: f000 8288 beq.w 8063fce { j = 0; 8063abe: 2300 movs r3, #0 8063ac0: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc IndexAutoStop = 0xffffffff; 8063ac4: 4b1a ldr r3, [pc, #104] ; (8063b30 ) 8063ac6: f04f 32ff mov.w r2, #4294967295 8063aca: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 8063acc: 2300 movs r3, #0 8063ace: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063ad2: e267 b.n 8063fa4 8063ad4: f3af 8000 nop.w 8063ad8: 18000018 .word 0x18000018 8063adc: 3e980000 .word 0x3e980000 8063ae0: 20021d68 .word 0x20021d68 8063ae4: 20020dc8 .word 0x20020dc8 8063ae8: 20020d9e .word 0x20020d9e 8063aec: 20020dd1 .word 0x20020dd1 8063af0: 20023ea8 .word 0x20023ea8 8063af4: 20021d24 .word 0x20021d24 8063af8: 20020080 .word 0x20020080 8063afc: 20058060 .word 0x20058060 8063b00: 20037b20 .word 0x20037b20 8063b04: 200265a4 .word 0x200265a4 8063b08: 20025f40 .word 0x20025f40 8063b0c: 20008000 .word 0x20008000 8063b10: 34400000 .word 0x34400000 8063b14: 20027a00 .word 0x20027a00 8063b18: 200209d8 .word 0x200209d8 8063b1c: 20020dd8 .word 0x20020dd8 8063b20: 20020d8c .word 0x20020d8c 8063b24: 20021594 .word 0x20021594 8063b28: 20021588 .word 0x20021588 8063b2c: 2002156c .word 0x2002156c 8063b30: 20021648 .word 0x20021648 { if(ABS(Out[i]) >= (pardata.THR_VAL - 0.05f)) 8063b34: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063b38: 4a9c ldr r2, [pc, #624] ; (8063dac ) 8063b3a: 009b lsls r3, r3, #2 8063b3c: 4413 add r3, r2 8063b3e: edd3 7a00 vldr s15, [r3] 8063b42: eef5 7ac0 vcmpe.f32 s15, #0.0 8063b46: eef1 fa10 vmrs APSR_nzcv, fpscr 8063b4a: dd07 ble.n 8063b5c 8063b4c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063b50: 4a96 ldr r2, [pc, #600] ; (8063dac ) 8063b52: 009b lsls r3, r3, #2 8063b54: 4413 add r3, r2 8063b56: edd3 7a00 vldr s15, [r3] 8063b5a: e008 b.n 8063b6e 8063b5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063b60: 4a92 ldr r2, [pc, #584] ; (8063dac ) 8063b62: 009b lsls r3, r3, #2 8063b64: 4413 add r3, r2 8063b66: edd3 7a00 vldr s15, [r3] 8063b6a: eef1 7a67 vneg.f32 s15, s15 8063b6e: 4b90 ldr r3, [pc, #576] ; (8063db0 ) 8063b70: ed93 7a05 vldr s14, [r3, #20] 8063b74: eddf 6a8f vldr s13, [pc, #572] ; 8063db4 8063b78: ee37 7a66 vsub.f32 s14, s14, s13 8063b7c: eef4 7ac7 vcmpe.f32 s15, s14 8063b80: eef1 fa10 vmrs APSR_nzcv, fpscr 8063b84: f2c0 8206 blt.w 8063f94 { j++; 8063b88: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063b8c: 3301 adds r3, #1 8063b8e: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(j >= 2) // åñëè ïðåâûøåíèå ïîðîãà áûëî ÈÑÒÈÃÃÃŽ 8063b92: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063b96: 2b01 cmp r3, #1 8063b98: f240 81ff bls.w 8063f9a { IndexAutoStop = i - 1; 8063b9c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063ba0: 3b01 subs r3, #1 8063ba2: 4a85 ldr r2, [pc, #532] ; (8063db8 ) 8063ba4: 6013 str r3, [r2, #0] AutoStop = true; 8063ba6: 4b85 ldr r3, [pc, #532] ; (8063dbc ) 8063ba8: 2201 movs r2, #1 8063baa: 701a strb r2, [r3, #0] if(IndexAutoStop <= (Ns >> 2)) // åñëè èíäåêñ ïîðîãà â âûáîðêå ìåíüøå èëè ðàâåí 1/4 Ns 8063bac: 4b84 ldr r3, [pc, #528] ; (8063dc0 ) 8063bae: 681b ldr r3, [r3, #0] 8063bb0: 089a lsrs r2, r3, #2 8063bb2: 4b81 ldr r3, [pc, #516] ; (8063db8 ) 8063bb4: 681b ldr r3, [r3, #0] 8063bb6: 429a cmp r2, r3 8063bb8: f0c0 81e3 bcc.w 8063f82 { if(NSamples > 0) // åñëè ýòî íå ïåðâàÿ âûáîðêà 8063bbc: 4b81 ldr r3, [pc, #516] ; (8063dc4 ) 8063bbe: 681b ldr r3, [r3, #0] 8063bc0: 2b00 cmp r3, #0 8063bc2: d02f beq.n 8063c24 { k = IndexAutoStop + Ns; 8063bc4: 4b7c ldr r3, [pc, #496] ; (8063db8 ) 8063bc6: 681a ldr r2, [r3, #0] 8063bc8: 4b7d ldr r3, [pc, #500] ; (8063dc0 ) 8063bca: 681b ldr r3, [r3, #0] 8063bcc: 4413 add r3, r2 8063bce: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 k -= (Ns >> 2); 8063bd2: 4b7b ldr r3, [pc, #492] ; (8063dc0 ) 8063bd4: 681b ldr r3, [r3, #0] 8063bd6: 089b lsrs r3, r3, #2 8063bd8: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8063bdc: 1ad3 subs r3, r2, r3 8063bde: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 blockSize = Ns - k; 8063be2: 4b77 ldr r3, [pc, #476] ; (8063dc0 ) 8063be4: 681a ldr r2, [r3, #0] 8063be6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8063bea: 1ad3 subs r3, r2, r3 8063bec: 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)); 8063bf0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8063bf4: 009a lsls r2, r3, #2 8063bf6: 4b74 ldr r3, [pc, #464] ; (8063dc8 ) 8063bf8: 4413 add r3, r2 8063bfa: 4619 mov r1, r3 8063bfc: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8063c00: 009b lsls r3, r3, #2 8063c02: 461a mov r2, r3 8063c04: 4871 ldr r0, [pc, #452] ; (8063dcc ) 8063c06: f06d fbc0 bl 80d138a memcpy((void *) &In[blockSize], (void *) Out, (k << 2)); 8063c0a: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8063c0e: 009b lsls r3, r3, #2 8063c10: 4a6e ldr r2, [pc, #440] ; (8063dcc ) 8063c12: 1898 adds r0, r3, r2 8063c14: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8063c18: 009b lsls r3, r3, #2 8063c1a: 461a mov r2, r3 8063c1c: 4963 ldr r1, [pc, #396] ; (8063dac ) 8063c1e: f06d fbb4 bl 80d138a 8063c22: e007 b.n 8063c34 else // ýòî ïåðâàÿ âûáîðêà, ñðàçó ðèñóåì è îñòàíàâëèâàåì { #ifdef USE_DMA_MEMCPY DMA_MemToMem_HALFWORD((uint32_t) Out, (uint32_t) In, (Ns << 1)); #else memcpy((void *) In, (void *) Out, (Ns << 2)); 8063c24: 4b66 ldr r3, [pc, #408] ; (8063dc0 ) 8063c26: 681b ldr r3, [r3, #0] 8063c28: 009b lsls r3, r3, #2 8063c2a: 461a mov r2, r3 8063c2c: 495f ldr r1, [pc, #380] ; (8063dac ) 8063c2e: 4867 ldr r0, [pc, #412] ; (8063dcc ) 8063c30: f06d fbab bl 80d138a #endif } NeedSTOP = true; 8063c34: 4b66 ldr r3, [pc, #408] ; (8063dd0 ) 8063c36: 2201 movs r2, #1 8063c38: 701a strb r2, [r3, #0] arm_max_f32(In, Ns, &maxf, &imax); 8063c3a: 4b61 ldr r3, [pc, #388] ; (8063dc0 ) 8063c3c: 6819 ldr r1, [r3, #0] 8063c3e: f507 73e0 add.w r3, r7, #448 ; 0x1c0 8063c42: f507 7288 add.w r2, r7, #272 ; 0x110 8063c46: 4861 ldr r0, [pc, #388] ; (8063dcc ) 8063c48: f06a fbe4 bl 80ce414 arm_min_f32(In, Ns, &minf, &imin); 8063c4c: 4b5c ldr r3, [pc, #368] ; (8063dc0 ) 8063c4e: 6819 ldr r1, [r3, #0] 8063c50: f507 73e2 add.w r3, r7, #452 ; 0x1c4 8063c54: f507 728a add.w r2, r7, #276 ; 0x114 8063c58: 485c ldr r0, [pc, #368] ; (8063dcc ) 8063c5a: f06a fb3f bl 80ce2dc //*********************************************************************************************** if(ABS(minf) > ABS(maxf)) 8063c5e: f507 738a add.w r3, r7, #276 ; 0x114 8063c62: edd3 7a00 vldr s15, [r3] 8063c66: eef5 7ac0 vcmpe.f32 s15, #0.0 8063c6a: eef1 fa10 vmrs APSR_nzcv, fpscr 8063c6e: dd04 ble.n 8063c7a 8063c70: f507 738a add.w r3, r7, #276 ; 0x114 8063c74: ed93 7a00 vldr s14, [r3] 8063c78: e005 b.n 8063c86 8063c7a: f507 738a add.w r3, r7, #276 ; 0x114 8063c7e: edd3 7a00 vldr s15, [r3] 8063c82: eeb1 7a67 vneg.f32 s14, s15 8063c86: f507 7388 add.w r3, r7, #272 ; 0x110 8063c8a: edd3 7a00 vldr s15, [r3] 8063c8e: eef5 7ac0 vcmpe.f32 s15, #0.0 8063c92: eef1 fa10 vmrs APSR_nzcv, fpscr 8063c96: dd04 ble.n 8063ca2 8063c98: f507 7388 add.w r3, r7, #272 ; 0x110 8063c9c: edd3 7a00 vldr s15, [r3] 8063ca0: e005 b.n 8063cae 8063ca2: f507 7388 add.w r3, r7, #272 ; 0x110 8063ca6: edd3 7a00 vldr s15, [r3] 8063caa: eef1 7a67 vneg.f32 s15, s15 8063cae: eeb4 7ae7 vcmpe.f32 s14, s15 8063cb2: eef1 fa10 vmrs APSR_nzcv, fpscr 8063cb6: dd03 ble.n 8063cc0 imax = imin; 8063cb8: f8d7 31c4 ldr.w r3, [r7, #452] ; 0x1c4 8063cbc: f8c7 31c0 str.w r3, [r7, #448] ; 0x1c0 while(ViewLevel > 0) 8063cc0: e11c b.n 8063efc { lvl_0 = 0; 8063cc2: 2300 movs r3, #0 8063cc4: f8c7 31fc str.w r3, [r7, #508] ; 0x1fc MaxLevel = 6; 8063cc8: 2306 movs r3, #6 8063cca: f8a7 31f8 strh.w r3, [r7, #504] ; 0x1f8 dXold = Avg[0][5 * ViewLevel + pardata.LNE]; 8063cce: 4b41 ldr r3, [pc, #260] ; (8063dd4 ) 8063cd0: 781b ldrb r3, [r3, #0] 8063cd2: b2db uxtb r3, r3 8063cd4: 461a mov r2, r3 8063cd6: 4613 mov r3, r2 8063cd8: 009b lsls r3, r3, #2 8063cda: 4413 add r3, r2 8063cdc: 4a34 ldr r2, [pc, #208] ; (8063db0 ) 8063cde: 79d2 ldrb r2, [r2, #7] 8063ce0: b2d2 uxtb r2, r2 8063ce2: 4413 add r3, r2 8063ce4: 4a3c ldr r2, [pc, #240] ; (8063dd8 ) 8063ce6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8063cea: f8a7 31e2 strh.w r3, [r7, #482] ; 0x1e2 if(ViewLevel) 8063cee: 4b39 ldr r3, [pc, #228] ; (8063dd4 ) 8063cf0: 781b ldrb r3, [r3, #0] 8063cf2: b2db uxtb r3, r3 8063cf4: 2b00 cmp r3, #0 8063cf6: f000 8101 beq.w 8063efc { ViewLevel--; 8063cfa: 4b36 ldr r3, [pc, #216] ; (8063dd4 ) 8063cfc: 781b ldrb r3, [r3, #0] 8063cfe: b2db uxtb r3, r3 8063d00: 3b01 subs r3, #1 8063d02: b2da uxtb r2, r3 8063d04: 4b33 ldr r3, [pc, #204] ; (8063dd4 ) 8063d06: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 8063d08: 4b32 ldr r3, [pc, #200] ; (8063dd4 ) 8063d0a: 781b ldrb r3, [r3, #0] 8063d0c: b2db uxtb r3, r3 8063d0e: 461a mov r2, r3 8063d10: 4613 mov r3, r2 8063d12: 009b lsls r3, r3, #2 8063d14: 4413 add r3, r2 8063d16: 4a26 ldr r2, [pc, #152] ; (8063db0 ) 8063d18: 79d2 ldrb r2, [r2, #7] 8063d1a: b2d2 uxtb r2, r2 8063d1c: 4413 add r3, r2 8063d1e: 4a2e ldr r2, [pc, #184] ; (8063dd8 ) 8063d20: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8063d24: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa if(ViewLevel == 0) 8063d28: 4b2a ldr r3, [pc, #168] ; (8063dd4 ) 8063d2a: 781b ldrb r3, [r3, #0] 8063d2c: b2db uxtb r3, r3 8063d2e: 2b00 cmp r3, #0 8063d30: d130 bne.n 8063d94 { X0 = lX = 0; 8063d32: 2100 movs r1, #0 8063d34: 4b29 ldr r3, [pc, #164] ; (8063ddc ) 8063d36: 460a mov r2, r1 8063d38: 801a strh r2, [r3, #0] 8063d3a: 4b29 ldr r3, [pc, #164] ; (8063de0 ) 8063d3c: 460a mov r2, r1 8063d3e: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 8063d40: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063d44: 021b lsls r3, r3, #8 8063d46: b29a uxth r2, r3 8063d48: 4b24 ldr r3, [pc, #144] ; (8063ddc ) 8063d4a: 881b ldrh r3, [r3, #0] 8063d4c: b29b uxth r3, r3 8063d4e: 4413 add r3, r2 8063d50: b29a uxth r2, r3 8063d52: 4b24 ldr r3, [pc, #144] ; (8063de4 ) 8063d54: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8063d56: 4b24 ldr r3, [pc, #144] ; (8063de8 ) 8063d58: 881b ldrh r3, [r3, #0] 8063d5a: b29b uxth r3, r3 8063d5c: 461a mov r2, r3 8063d5e: 4b1f ldr r3, [pc, #124] ; (8063ddc ) 8063d60: 881b ldrh r3, [r3, #0] 8063d62: b29b uxth r3, r3 8063d64: 1ad2 subs r2, r2, r3 8063d66: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063d6a: fb92 f3f3 sdiv r3, r2, r3 8063d6e: 461a mov r2, r3 8063d70: 4b1e ldr r3, [pc, #120] ; (8063dec ) 8063d72: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8063d74: 4b1d ldr r3, [pc, #116] ; (8063dec ) 8063d76: 681b ldr r3, [r3, #0] 8063d78: b29b uxth r3, r3 8063d7a: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8063d7e: fb12 f303 smulbb r3, r2, r3 8063d82: b29a uxth r2, r3 8063d84: 4b16 ldr r3, [pc, #88] ; (8063de0 ) 8063d86: 881b ldrh r3, [r3, #0] 8063d88: b29b uxth r3, r3 8063d8a: 4413 add r3, r2 8063d8c: b29a uxth r2, r3 8063d8e: 4b18 ldr r3, [pc, #96] ; (8063df0 ) 8063d90: 801a strh r2, [r3, #0] 8063d92: e0b3 b.n 8063efc } else { if(CURSOR * dX > Mpos) 8063d94: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063d98: 4a14 ldr r2, [pc, #80] ; (8063dec ) 8063d9a: 6812 ldr r2, [r2, #0] 8063d9c: fb02 f303 mul.w r3, r2, r3 8063da0: 4a13 ldr r2, [pc, #76] ; (8063df0 ) 8063da2: 8812 ldrh r2, [r2, #0] 8063da4: b292 uxth r2, r2 8063da6: 4293 cmp r3, r2 8063da8: d943 bls.n 8063e32 { while(CURSOR * dX > Mpos) 8063daa: e028 b.n 8063dfe 8063dac: 20008000 .word 0x20008000 8063db0: 20023ea8 .word 0x20023ea8 8063db4: 3d4ccccd .word 0x3d4ccccd 8063db8: 20021648 .word 0x20021648 8063dbc: 2002156c .word 0x2002156c 8063dc0: 20021d24 .word 0x20021d24 8063dc4: 20020da8 .word 0x20020da8 8063dc8: 64080000 .word 0x64080000 8063dcc: 20027a00 .word 0x20027a00 8063dd0: 20020fc2 .word 0x20020fc2 8063dd4: 20020fb8 .word 0x20020fb8 8063dd8: 080f2dec .word 0x080f2dec 8063ddc: 20025d62 .word 0x20025d62 8063de0: 20025d66 .word 0x20025d66 8063de4: 20025d68 .word 0x20025d68 8063de8: 20025d64 .word 0x20025d64 8063dec: 2002006c .word 0x2002006c 8063df0: 20025d5e .word 0x20025d5e CURSOR--; 8063df4: 4baf ldr r3, [pc, #700] ; (80640b4 ) 8063df6: 681b ldr r3, [r3, #0] 8063df8: 3b01 subs r3, #1 8063dfa: 4aae ldr r2, [pc, #696] ; (80640b4 ) 8063dfc: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 8063dfe: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063e02: 4aac ldr r2, [pc, #688] ; (80640b4 ) 8063e04: 6812 ldr r2, [r2, #0] 8063e06: fb02 f303 mul.w r3, r2, r3 8063e0a: 4aab ldr r2, [pc, #684] ; (80640b8 ) 8063e0c: 8812 ldrh r2, [r2, #0] 8063e0e: b292 uxth r2, r2 8063e10: 4293 cmp r3, r2 8063e12: d8ef bhi.n 8063df4 Mpos = X0 + CURSOR * dX; 8063e14: 4ba7 ldr r3, [pc, #668] ; (80640b4 ) 8063e16: 681b ldr r3, [r3, #0] 8063e18: b29b uxth r3, r3 8063e1a: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8063e1e: fb12 f303 smulbb r3, r2, r3 8063e22: b29a uxth r2, r3 8063e24: 4ba5 ldr r3, [pc, #660] ; (80640bc ) 8063e26: 881b ldrh r3, [r3, #0] 8063e28: b29b uxth r3, r3 8063e2a: 4413 add r3, r2 8063e2c: b29a uxth r2, r3 8063e2e: 4ba2 ldr r3, [pc, #648] ; (80640b8 ) 8063e30: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 8063e32: 4ba1 ldr r3, [pc, #644] ; (80640b8 ) 8063e34: 881b ldrh r3, [r3, #0] 8063e36: b29b uxth r3, r3 8063e38: 4619 mov r1, r3 8063e3a: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063e3e: 4a9d ldr r2, [pc, #628] ; (80640b4 ) 8063e40: 6812 ldr r2, [r2, #0] 8063e42: fb02 f303 mul.w r3, r2, r3 8063e46: 1acb subs r3, r1, r3 8063e48: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 j = 256 * dX; 8063e4c: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063e50: 021b lsls r3, r3, #8 8063e52: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc k = 256 * Avg[0][5 * lvl_0 + pardata.LNE]; // 3200 8063e56: f8d7 21fc ldr.w r2, [r7, #508] ; 0x1fc 8063e5a: 4613 mov r3, r2 8063e5c: 009b lsls r3, r3, #2 8063e5e: 4413 add r3, r2 8063e60: 4a97 ldr r2, [pc, #604] ; (80640c0 ) 8063e62: 79d2 ldrb r2, [r2, #7] 8063e64: b2d2 uxtb r2, r2 8063e66: 4413 add r3, r2 8063e68: 4a96 ldr r2, [pc, #600] ; (80640c4 ) 8063e6a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8063e6e: 021b lsls r3, r3, #8 8063e70: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 while(i + j > k) { 8063e74: e006 b.n 8063e84 i -= dXold; 8063e76: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063e7a: f8b7 31e2 ldrh.w r3, [r7, #482] ; 0x1e2 8063e7e: 1ad3 subs r3, r2, r3 8063e80: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i + j > k) { 8063e84: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063e88: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063e8c: 441a add r2, r3 8063e8e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8063e92: 429a cmp r2, r3 8063e94: d8ef bhi.n 8063e76 } X0 = (uint16_t) i; 8063e96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063e9a: b29a uxth r2, r3 8063e9c: 4b87 ldr r3, [pc, #540] ; (80640bc ) 8063e9e: 801a strh r2, [r3, #0] lX = X0; 8063ea0: 4b86 ldr r3, [pc, #536] ; (80640bc ) 8063ea2: 881b ldrh r3, [r3, #0] 8063ea4: b29a uxth r2, r3 8063ea6: 4b88 ldr r3, [pc, #544] ; (80640c8 ) 8063ea8: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 8063eaa: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063eae: 021b lsls r3, r3, #8 8063eb0: b29a uxth r2, r3 8063eb2: 4b85 ldr r3, [pc, #532] ; (80640c8 ) 8063eb4: 881b ldrh r3, [r3, #0] 8063eb6: b29b uxth r3, r3 8063eb8: 4413 add r3, r2 8063eba: b29a uxth r2, r3 8063ebc: 4b83 ldr r3, [pc, #524] ; (80640cc ) 8063ebe: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8063ec0: 4b83 ldr r3, [pc, #524] ; (80640d0 ) 8063ec2: 881b ldrh r3, [r3, #0] 8063ec4: b29b uxth r3, r3 8063ec6: 461a mov r2, r3 8063ec8: 4b7f ldr r3, [pc, #508] ; (80640c8 ) 8063eca: 881b ldrh r3, [r3, #0] 8063ecc: b29b uxth r3, r3 8063ece: 1ad2 subs r2, r2, r3 8063ed0: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063ed4: fb92 f3f3 sdiv r3, r2, r3 8063ed8: 461a mov r2, r3 8063eda: 4b76 ldr r3, [pc, #472] ; (80640b4 ) 8063edc: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8063ede: 4b75 ldr r3, [pc, #468] ; (80640b4 ) 8063ee0: 681b ldr r3, [r3, #0] 8063ee2: b29b uxth r3, r3 8063ee4: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8063ee8: fb12 f303 smulbb r3, r2, r3 8063eec: b29a uxth r2, r3 8063eee: 4b73 ldr r3, [pc, #460] ; (80640bc ) 8063ef0: 881b ldrh r3, [r3, #0] 8063ef2: b29b uxth r3, r3 8063ef4: 4413 add r3, r2 8063ef6: b29a uxth r2, r3 8063ef8: 4b6f ldr r3, [pc, #444] ; (80640b8 ) 8063efa: 801a strh r2, [r3, #0] while(ViewLevel > 0) 8063efc: 4b75 ldr r3, [pc, #468] ; (80640d4 ) 8063efe: 781b ldrb r3, [r3, #0] 8063f00: b2db uxtb r3, r3 8063f02: 2b00 cmp r3, #0 8063f04: f47f aedd bne.w 8063cc2 } } } dX = Avg[0][5 * ViewLevel + pardata.LNE]; 8063f08: 4b72 ldr r3, [pc, #456] ; (80640d4 ) 8063f0a: 781b ldrb r3, [r3, #0] 8063f0c: b2db uxtb r3, r3 8063f0e: 461a mov r2, r3 8063f10: 4613 mov r3, r2 8063f12: 009b lsls r3, r3, #2 8063f14: 4413 add r3, r2 8063f16: 4a6a ldr r2, [pc, #424] ; (80640c0 ) 8063f18: 79d2 ldrb r2, [r2, #7] 8063f1a: b2d2 uxtb r2, r2 8063f1c: 4413 add r3, r2 8063f1e: 4a69 ldr r2, [pc, #420] ; (80640c4 ) 8063f20: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8063f24: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa fineMpos = imax; 8063f28: f8d7 31c0 ldr.w r3, [r7, #448] ; 0x1c0 8063f2c: b29a uxth r2, r3 8063f2e: 4b68 ldr r3, [pc, #416] ; (80640d0 ) 8063f30: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8063f32: 4b67 ldr r3, [pc, #412] ; (80640d0 ) 8063f34: 881b ldrh r3, [r3, #0] 8063f36: b29b uxth r3, r3 8063f38: 461a mov r2, r3 8063f3a: 4b63 ldr r3, [pc, #396] ; (80640c8 ) 8063f3c: 881b ldrh r3, [r3, #0] 8063f3e: b29b uxth r3, r3 8063f40: 1ad2 subs r2, r2, r3 8063f42: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063f46: fb92 f3f3 sdiv r3, r2, r3 8063f4a: 461a mov r2, r3 8063f4c: 4b59 ldr r3, [pc, #356] ; (80640b4 ) 8063f4e: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8063f50: 4b58 ldr r3, [pc, #352] ; (80640b4 ) 8063f52: 681b ldr r3, [r3, #0] 8063f54: b29b uxth r3, r3 8063f56: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8063f5a: fb12 f303 smulbb r3, r2, r3 8063f5e: b29a uxth r2, r3 8063f60: 4b56 ldr r3, [pc, #344] ; (80640bc ) 8063f62: 881b ldrh r3, [r3, #0] 8063f64: b29b uxth r3, r3 8063f66: 4413 add r3, r2 8063f68: b29a uxth r2, r3 8063f6a: 4b53 ldr r3, [pc, #332] ; (80640b8 ) 8063f6c: 801a strh r2, [r3, #0] AUTOZOOM = true; 8063f6e: 4b5a ldr r3, [pc, #360] ; (80640d8 ) 8063f70: 2201 movs r2, #1 8063f72: 701a strb r2, [r3, #0] lastmenupos = StartStop; 8063f74: 4b59 ldr r3, [pc, #356] ; (80640dc ) 8063f76: 2200 movs r2, #0 8063f78: 701a strb r2, [r3, #0] menupos = Cursor; 8063f7a: 4b59 ldr r3, [pc, #356] ; (80640e0 ) 8063f7c: 2206 movs r2, #6 8063f7e: 701a strb r2, [r3, #0] #else memcpy((void *) In, (void *) Out, (Ns << 2)); #endif } break; 8063f80: e017 b.n 8063fb2 memcpy((void *) In, (void *) Out, (Ns << 2)); 8063f82: 4b58 ldr r3, [pc, #352] ; (80640e4 ) 8063f84: 681b ldr r3, [r3, #0] 8063f86: 009b lsls r3, r3, #2 8063f88: 461a mov r2, r3 8063f8a: 4957 ldr r1, [pc, #348] ; (80640e8 ) 8063f8c: 4857 ldr r0, [pc, #348] ; (80640ec ) 8063f8e: f06d f9fc bl 80d138a break; 8063f92: e00e b.n 8063fb2 } } else { j = 0; 8063f94: 2300 movs r3, #0 8063f96: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 8063f9a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063f9e: 3301 adds r3, #1 8063fa0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063fa4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063fa8: 4b4e ldr r3, [pc, #312] ; (80640e4 ) 8063faa: 681b ldr r3, [r3, #0] 8063fac: 429a cmp r2, r3 8063fae: f4ff adc1 bcc.w 8063b34 } } if(j < 2) 8063fb2: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063fb6: 2b01 cmp r3, #1 8063fb8: f200 81db bhi.w 8064372 { #ifdef USE_DMA_MEMCPY DMA_MemToMem_HALFWORD((uint32_t) Out, (uint32_t) In, (Ns << 1)); #else memcpy((void *) In, (void *) Out, (Ns << 2)); 8063fbc: 4b49 ldr r3, [pc, #292] ; (80640e4 ) 8063fbe: 681b ldr r3, [r3, #0] 8063fc0: 009b lsls r3, r3, #2 8063fc2: 461a mov r2, r3 8063fc4: 4948 ldr r1, [pc, #288] ; (80640e8 ) 8063fc6: 4849 ldr r0, [pc, #292] ; (80640ec ) 8063fc8: f06d f9df bl 80d138a 8063fcc: e1d1 b.n 8064372 #endif } } else // åñëè áûëî ïðåâûøåíèÿ ïîðîãà â ïðåäûäóùåé âûáîðêå { k = IndexAutoStop; 8063fce: 4b48 ldr r3, [pc, #288] ; (80640f0 ) 8063fd0: 681b ldr r3, [r3, #0] 8063fd2: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 k -= (Ns >> 2); 8063fd6: 4b43 ldr r3, [pc, #268] ; (80640e4 ) 8063fd8: 681b ldr r3, [r3, #0] 8063fda: 089b lsrs r3, r3, #2 8063fdc: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8063fe0: 1ad3 subs r3, r2, r3 8063fe2: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 blockSize = Ns - k; 8063fe6: 4b3f ldr r3, [pc, #252] ; (80640e4 ) 8063fe8: 681a ldr r2, [r3, #0] 8063fea: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8063fee: 1ad3 subs r3, r2, r3 8063ff0: 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)); 8063ff4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8063ff8: 009a lsls r2, r3, #2 8063ffa: 4b3e ldr r3, [pc, #248] ; (80640f4 ) 8063ffc: 4413 add r3, r2 8063ffe: 4619 mov r1, r3 8064000: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8064004: 009b lsls r3, r3, #2 8064006: 461a mov r2, r3 8064008: 4838 ldr r0, [pc, #224] ; (80640ec ) 806400a: f06d f9be bl 80d138a memcpy((void *) &In[blockSize], (void *) Out, (k << 2)); 806400e: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8064012: 009b lsls r3, r3, #2 8064014: 4a35 ldr r2, [pc, #212] ; (80640ec ) 8064016: 1898 adds r0, r3, r2 8064018: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806401c: 009b lsls r3, r3, #2 806401e: 461a mov r2, r3 8064020: 4931 ldr r1, [pc, #196] ; (80640e8 ) 8064022: f06d f9b2 bl 80d138a #endif NeedSTOP = true; 8064026: 4b34 ldr r3, [pc, #208] ; (80640f8 ) 8064028: 2201 movs r2, #1 806402a: 701a strb r2, [r3, #0] arm_max_f32(In, Ns, &maxf, &imax); 806402c: 4b2d ldr r3, [pc, #180] ; (80640e4 ) 806402e: 6819 ldr r1, [r3, #0] 8064030: f507 73e0 add.w r3, r7, #448 ; 0x1c0 8064034: f507 7288 add.w r2, r7, #272 ; 0x110 8064038: 482c ldr r0, [pc, #176] ; (80640ec ) 806403a: f06a f9eb bl 80ce414 arm_min_f32(In, Ns, &minf, &imin); 806403e: 4b29 ldr r3, [pc, #164] ; (80640e4 ) 8064040: 6819 ldr r1, [r3, #0] 8064042: f507 73e2 add.w r3, r7, #452 ; 0x1c4 8064046: f507 728a add.w r2, r7, #276 ; 0x114 806404a: 4828 ldr r0, [pc, #160] ; (80640ec ) 806404c: f06a f946 bl 80ce2dc //*********************************************************************************************** if(ABS(minf) > ABS(maxf)) 8064050: f507 738a add.w r3, r7, #276 ; 0x114 8064054: edd3 7a00 vldr s15, [r3] 8064058: eef5 7ac0 vcmpe.f32 s15, #0.0 806405c: eef1 fa10 vmrs APSR_nzcv, fpscr 8064060: dd04 ble.n 806406c 8064062: f507 738a add.w r3, r7, #276 ; 0x114 8064066: ed93 7a00 vldr s14, [r3] 806406a: e005 b.n 8064078 806406c: f507 738a add.w r3, r7, #276 ; 0x114 8064070: edd3 7a00 vldr s15, [r3] 8064074: eeb1 7a67 vneg.f32 s14, s15 8064078: f507 7388 add.w r3, r7, #272 ; 0x110 806407c: edd3 7a00 vldr s15, [r3] 8064080: eef5 7ac0 vcmpe.f32 s15, #0.0 8064084: eef1 fa10 vmrs APSR_nzcv, fpscr 8064088: dd04 ble.n 8064094 806408a: f507 7388 add.w r3, r7, #272 ; 0x110 806408e: edd3 7a00 vldr s15, [r3] 8064092: e005 b.n 80640a0 8064094: f507 7388 add.w r3, r7, #272 ; 0x110 8064098: edd3 7a00 vldr s15, [r3] 806409c: eef1 7a67 vneg.f32 s15, s15 80640a0: eeb4 7ae7 vcmpe.f32 s14, s15 80640a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80640a8: dd03 ble.n 80640b2 imax = imin; 80640aa: f8d7 31c4 ldr.w r3, [r7, #452] ; 0x1c4 80640ae: f8c7 31c0 str.w r3, [r7, #448] ; 0x1c0 while(ViewLevel > 0) 80640b2: e11c b.n 80642ee 80640b4: 2002006c .word 0x2002006c 80640b8: 20025d5e .word 0x20025d5e 80640bc: 20025d66 .word 0x20025d66 80640c0: 20023ea8 .word 0x20023ea8 80640c4: 080f2dec .word 0x080f2dec 80640c8: 20025d62 .word 0x20025d62 80640cc: 20025d68 .word 0x20025d68 80640d0: 20025d64 .word 0x20025d64 80640d4: 20020fb8 .word 0x20020fb8 80640d8: 20020994 .word 0x20020994 80640dc: 20020071 .word 0x20020071 80640e0: 20020070 .word 0x20020070 80640e4: 20021d24 .word 0x20021d24 80640e8: 20008000 .word 0x20008000 80640ec: 20027a00 .word 0x20027a00 80640f0: 20021648 .word 0x20021648 80640f4: 64080000 .word 0x64080000 80640f8: 20020fc2 .word 0x20020fc2 { lvl_0 = 0; 80640fc: 2300 movs r3, #0 80640fe: f8c7 31fc str.w r3, [r7, #508] ; 0x1fc MaxLevel = 6; 8064102: 2306 movs r3, #6 8064104: f8a7 31f8 strh.w r3, [r7, #504] ; 0x1f8 dXold = Avg[0][5 * ViewLevel + pardata.LNE]; 8064108: 4ba6 ldr r3, [pc, #664] ; (80643a4 ) 806410a: 781b ldrb r3, [r3, #0] 806410c: b2db uxtb r3, r3 806410e: 461a mov r2, r3 8064110: 4613 mov r3, r2 8064112: 009b lsls r3, r3, #2 8064114: 4413 add r3, r2 8064116: 4aa4 ldr r2, [pc, #656] ; (80643a8 ) 8064118: 79d2 ldrb r2, [r2, #7] 806411a: b2d2 uxtb r2, r2 806411c: 4413 add r3, r2 806411e: 4aa3 ldr r2, [pc, #652] ; (80643ac ) 8064120: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8064124: f8a7 31e2 strh.w r3, [r7, #482] ; 0x1e2 if(ViewLevel) 8064128: 4b9e ldr r3, [pc, #632] ; (80643a4 ) 806412a: 781b ldrb r3, [r3, #0] 806412c: b2db uxtb r3, r3 806412e: 2b00 cmp r3, #0 8064130: f000 80dd beq.w 80642ee { ViewLevel--; 8064134: 4b9b ldr r3, [pc, #620] ; (80643a4 ) 8064136: 781b ldrb r3, [r3, #0] 8064138: b2db uxtb r3, r3 806413a: 3b01 subs r3, #1 806413c: b2da uxtb r2, r3 806413e: 4b99 ldr r3, [pc, #612] ; (80643a4 ) 8064140: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 8064142: 4b98 ldr r3, [pc, #608] ; (80643a4 ) 8064144: 781b ldrb r3, [r3, #0] 8064146: b2db uxtb r3, r3 8064148: 461a mov r2, r3 806414a: 4613 mov r3, r2 806414c: 009b lsls r3, r3, #2 806414e: 4413 add r3, r2 8064150: 4a95 ldr r2, [pc, #596] ; (80643a8 ) 8064152: 79d2 ldrb r2, [r2, #7] 8064154: b2d2 uxtb r2, r2 8064156: 4413 add r3, r2 8064158: 4a94 ldr r2, [pc, #592] ; (80643ac ) 806415a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 806415e: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa if(ViewLevel == 0) 8064162: 4b90 ldr r3, [pc, #576] ; (80643a4 ) 8064164: 781b ldrb r3, [r3, #0] 8064166: b2db uxtb r3, r3 8064168: 2b00 cmp r3, #0 806416a: d130 bne.n 80641ce { X0 = lX = 0; 806416c: 2100 movs r1, #0 806416e: 4b90 ldr r3, [pc, #576] ; (80643b0 ) 8064170: 460a mov r2, r1 8064172: 801a strh r2, [r3, #0] 8064174: 4b8f ldr r3, [pc, #572] ; (80643b4 ) 8064176: 460a mov r2, r1 8064178: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 806417a: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 806417e: 021b lsls r3, r3, #8 8064180: b29a uxth r2, r3 8064182: 4b8b ldr r3, [pc, #556] ; (80643b0 ) 8064184: 881b ldrh r3, [r3, #0] 8064186: b29b uxth r3, r3 8064188: 4413 add r3, r2 806418a: b29a uxth r2, r3 806418c: 4b8a ldr r3, [pc, #552] ; (80643b8 ) 806418e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8064190: 4b8a ldr r3, [pc, #552] ; (80643bc ) 8064192: 881b ldrh r3, [r3, #0] 8064194: b29b uxth r3, r3 8064196: 461a mov r2, r3 8064198: 4b85 ldr r3, [pc, #532] ; (80643b0 ) 806419a: 881b ldrh r3, [r3, #0] 806419c: b29b uxth r3, r3 806419e: 1ad2 subs r2, r2, r3 80641a0: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 80641a4: fb92 f3f3 sdiv r3, r2, r3 80641a8: 461a mov r2, r3 80641aa: 4b85 ldr r3, [pc, #532] ; (80643c0 ) 80641ac: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 80641ae: 4b84 ldr r3, [pc, #528] ; (80643c0 ) 80641b0: 681b ldr r3, [r3, #0] 80641b2: b29b uxth r3, r3 80641b4: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 80641b8: fb12 f303 smulbb r3, r2, r3 80641bc: b29a uxth r2, r3 80641be: 4b7d ldr r3, [pc, #500] ; (80643b4 ) 80641c0: 881b ldrh r3, [r3, #0] 80641c2: b29b uxth r3, r3 80641c4: 4413 add r3, r2 80641c6: b29a uxth r2, r3 80641c8: 4b7e ldr r3, [pc, #504] ; (80643c4 ) 80641ca: 801a strh r2, [r3, #0] 80641cc: e08f b.n 80642ee } else { if(CURSOR * dX > Mpos) 80641ce: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 80641d2: 4a7b ldr r2, [pc, #492] ; (80643c0 ) 80641d4: 6812 ldr r2, [r2, #0] 80641d6: fb02 f303 mul.w r3, r2, r3 80641da: 4a7a ldr r2, [pc, #488] ; (80643c4 ) 80641dc: 8812 ldrh r2, [r2, #0] 80641de: b292 uxth r2, r2 80641e0: 4293 cmp r3, r2 80641e2: d91f bls.n 8064224 { while(CURSOR * dX > Mpos) 80641e4: e004 b.n 80641f0 CURSOR--; 80641e6: 4b76 ldr r3, [pc, #472] ; (80643c0 ) 80641e8: 681b ldr r3, [r3, #0] 80641ea: 3b01 subs r3, #1 80641ec: 4a74 ldr r2, [pc, #464] ; (80643c0 ) 80641ee: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 80641f0: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 80641f4: 4a72 ldr r2, [pc, #456] ; (80643c0 ) 80641f6: 6812 ldr r2, [r2, #0] 80641f8: fb02 f303 mul.w r3, r2, r3 80641fc: 4a71 ldr r2, [pc, #452] ; (80643c4 ) 80641fe: 8812 ldrh r2, [r2, #0] 8064200: b292 uxth r2, r2 8064202: 4293 cmp r3, r2 8064204: d8ef bhi.n 80641e6 Mpos = X0 + CURSOR * dX; 8064206: 4b6e ldr r3, [pc, #440] ; (80643c0 ) 8064208: 681b ldr r3, [r3, #0] 806420a: b29b uxth r3, r3 806420c: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8064210: fb12 f303 smulbb r3, r2, r3 8064214: b29a uxth r2, r3 8064216: 4b67 ldr r3, [pc, #412] ; (80643b4 ) 8064218: 881b ldrh r3, [r3, #0] 806421a: b29b uxth r3, r3 806421c: 4413 add r3, r2 806421e: b29a uxth r2, r3 8064220: 4b68 ldr r3, [pc, #416] ; (80643c4 ) 8064222: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 8064224: 4b67 ldr r3, [pc, #412] ; (80643c4 ) 8064226: 881b ldrh r3, [r3, #0] 8064228: b29b uxth r3, r3 806422a: 4619 mov r1, r3 806422c: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064230: 4a63 ldr r2, [pc, #396] ; (80643c0 ) 8064232: 6812 ldr r2, [r2, #0] 8064234: fb02 f303 mul.w r3, r2, r3 8064238: 1acb subs r3, r1, r3 806423a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 j = 256 * dX; 806423e: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064242: 021b lsls r3, r3, #8 8064244: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc k = 256 * Avg[0][5 * lvl_0 + pardata.LNE]; // 3200 8064248: f8d7 21fc ldr.w r2, [r7, #508] ; 0x1fc 806424c: 4613 mov r3, r2 806424e: 009b lsls r3, r3, #2 8064250: 4413 add r3, r2 8064252: 4a55 ldr r2, [pc, #340] ; (80643a8 ) 8064254: 79d2 ldrb r2, [r2, #7] 8064256: b2d2 uxtb r2, r2 8064258: 4413 add r3, r2 806425a: 4a54 ldr r2, [pc, #336] ; (80643ac ) 806425c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8064260: 021b lsls r3, r3, #8 8064262: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 while(i + j > k) { 8064266: e006 b.n 8064276 i -= dXold; 8064268: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806426c: f8b7 31e2 ldrh.w r3, [r7, #482] ; 0x1e2 8064270: 1ad3 subs r3, r2, r3 8064272: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i + j > k) { 8064276: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806427a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 806427e: 441a add r2, r3 8064280: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8064284: 429a cmp r2, r3 8064286: d8ef bhi.n 8064268 } X0 = (uint16_t) i; 8064288: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806428c: b29a uxth r2, r3 806428e: 4b49 ldr r3, [pc, #292] ; (80643b4 ) 8064290: 801a strh r2, [r3, #0] lX = X0; 8064292: 4b48 ldr r3, [pc, #288] ; (80643b4 ) 8064294: 881b ldrh r3, [r3, #0] 8064296: b29a uxth r2, r3 8064298: 4b45 ldr r3, [pc, #276] ; (80643b0 ) 806429a: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 806429c: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 80642a0: 021b lsls r3, r3, #8 80642a2: b29a uxth r2, r3 80642a4: 4b42 ldr r3, [pc, #264] ; (80643b0 ) 80642a6: 881b ldrh r3, [r3, #0] 80642a8: b29b uxth r3, r3 80642aa: 4413 add r3, r2 80642ac: b29a uxth r2, r3 80642ae: 4b42 ldr r3, [pc, #264] ; (80643b8 ) 80642b0: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 80642b2: 4b42 ldr r3, [pc, #264] ; (80643bc ) 80642b4: 881b ldrh r3, [r3, #0] 80642b6: b29b uxth r3, r3 80642b8: 461a mov r2, r3 80642ba: 4b3d ldr r3, [pc, #244] ; (80643b0 ) 80642bc: 881b ldrh r3, [r3, #0] 80642be: b29b uxth r3, r3 80642c0: 1ad2 subs r2, r2, r3 80642c2: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 80642c6: fb92 f3f3 sdiv r3, r2, r3 80642ca: 461a mov r2, r3 80642cc: 4b3c ldr r3, [pc, #240] ; (80643c0 ) 80642ce: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 80642d0: 4b3b ldr r3, [pc, #236] ; (80643c0 ) 80642d2: 681b ldr r3, [r3, #0] 80642d4: b29b uxth r3, r3 80642d6: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 80642da: fb12 f303 smulbb r3, r2, r3 80642de: b29a uxth r2, r3 80642e0: 4b34 ldr r3, [pc, #208] ; (80643b4 ) 80642e2: 881b ldrh r3, [r3, #0] 80642e4: b29b uxth r3, r3 80642e6: 4413 add r3, r2 80642e8: b29a uxth r2, r3 80642ea: 4b36 ldr r3, [pc, #216] ; (80643c4 ) 80642ec: 801a strh r2, [r3, #0] while(ViewLevel > 0) 80642ee: 4b2d ldr r3, [pc, #180] ; (80643a4 ) 80642f0: 781b ldrb r3, [r3, #0] 80642f2: b2db uxtb r3, r3 80642f4: 2b00 cmp r3, #0 80642f6: f47f af01 bne.w 80640fc } } } dX = Avg[0][5 * ViewLevel + pardata.LNE]; 80642fa: 4b2a ldr r3, [pc, #168] ; (80643a4 ) 80642fc: 781b ldrb r3, [r3, #0] 80642fe: b2db uxtb r3, r3 8064300: 461a mov r2, r3 8064302: 4613 mov r3, r2 8064304: 009b lsls r3, r3, #2 8064306: 4413 add r3, r2 8064308: 4a27 ldr r2, [pc, #156] ; (80643a8 ) 806430a: 79d2 ldrb r2, [r2, #7] 806430c: b2d2 uxtb r2, r2 806430e: 4413 add r3, r2 8064310: 4a26 ldr r2, [pc, #152] ; (80643ac ) 8064312: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8064316: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa fineMpos = imax; 806431a: f8d7 31c0 ldr.w r3, [r7, #448] ; 0x1c0 806431e: b29a uxth r2, r3 8064320: 4b26 ldr r3, [pc, #152] ; (80643bc ) 8064322: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8064324: 4b25 ldr r3, [pc, #148] ; (80643bc ) 8064326: 881b ldrh r3, [r3, #0] 8064328: b29b uxth r3, r3 806432a: 461a mov r2, r3 806432c: 4b20 ldr r3, [pc, #128] ; (80643b0 ) 806432e: 881b ldrh r3, [r3, #0] 8064330: b29b uxth r3, r3 8064332: 1ad2 subs r2, r2, r3 8064334: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8064338: fb92 f3f3 sdiv r3, r2, r3 806433c: 461a mov r2, r3 806433e: 4b20 ldr r3, [pc, #128] ; (80643c0 ) 8064340: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8064342: 4b1f ldr r3, [pc, #124] ; (80643c0 ) 8064344: 681b ldr r3, [r3, #0] 8064346: b29b uxth r3, r3 8064348: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 806434c: fb12 f303 smulbb r3, r2, r3 8064350: b29a uxth r2, r3 8064352: 4b18 ldr r3, [pc, #96] ; (80643b4 ) 8064354: 881b ldrh r3, [r3, #0] 8064356: b29b uxth r3, r3 8064358: 4413 add r3, r2 806435a: b29a uxth r2, r3 806435c: 4b19 ldr r3, [pc, #100] ; (80643c4 ) 806435e: 801a strh r2, [r3, #0] AUTOZOOM = true; 8064360: 4b19 ldr r3, [pc, #100] ; (80643c8 ) 8064362: 2201 movs r2, #1 8064364: 701a strb r2, [r3, #0] lastmenupos = StartStop; 8064366: 4b19 ldr r3, [pc, #100] ; (80643cc ) 8064368: 2200 movs r2, #0 806436a: 701a strb r2, [r3, #0] menupos = Cursor; 806436c: 4b18 ldr r3, [pc, #96] ; (80643d0 ) 806436e: 2206 movs r2, #6 8064370: 701a strb r2, [r3, #0] //*********************************************************************************************** } arm_rms_f32(In, Ns, &skz[pardata.IPR]); 8064372: 4b18 ldr r3, [pc, #96] ; (80643d4 ) 8064374: 6819 ldr r1, [r3, #0] 8064376: 4b0c ldr r3, [pc, #48] ; (80643a8 ) 8064378: 785b ldrb r3, [r3, #1] 806437a: b2db uxtb r3, r3 806437c: 009b lsls r3, r3, #2 806437e: 4a16 ldr r2, [pc, #88] ; (80643d8 ) 8064380: 4413 add r3, r2 8064382: 461a mov r2, r3 8064384: 4815 ldr r0, [pc, #84] ; (80643dc ) 8064386: f069 ff17 bl 80ce1b8 FastCopy16(IN_Reg, SCR_Reg, _2Ns); 806438a: 4b12 ldr r3, [pc, #72] ; (80643d4 ) 806438c: 681b ldr r3, [r3, #0] 806438e: 005b lsls r3, r3, #1 8064390: 461a mov r2, r3 8064392: 2104 movs r1, #4 8064394: 2001 movs r0, #1 8064396: f000 ff23 bl 80651e0 806439a: e1ce b.n 806473a } } else { // åñëè íåò ïîðîãà for(i = 0; i < Ns; i++) { 806439c: 2300 movs r3, #0 806439e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80643a2: e02e b.n 8064402 80643a4: 20020fb8 .word 0x20020fb8 80643a8: 20023ea8 .word 0x20023ea8 80643ac: 080f2dec .word 0x080f2dec 80643b0: 20025d62 .word 0x20025d62 80643b4: 20025d66 .word 0x20025d66 80643b8: 20025d68 .word 0x20025d68 80643bc: 20025d64 .word 0x20025d64 80643c0: 2002006c .word 0x2002006c 80643c4: 20025d5e .word 0x20025d5e 80643c8: 20020994 .word 0x20020994 80643cc: 20020071 .word 0x20020071 80643d0: 20020070 .word 0x20020070 80643d4: 20021d24 .word 0x20021d24 80643d8: 20021588 .word 0x20021588 80643dc: 20027a00 .word 0x20027a00 In[i] = Out[i]; 80643e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80643e4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80643e8: 4985 ldr r1, [pc, #532] ; (8064600 ) 80643ea: 0092 lsls r2, r2, #2 80643ec: 440a add r2, r1 80643ee: 6812 ldr r2, [r2, #0] 80643f0: 4984 ldr r1, [pc, #528] ; (8064604 ) 80643f2: 009b lsls r3, r3, #2 80643f4: 440b add r3, r1 80643f6: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) { 80643f8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80643fc: 3301 adds r3, #1 80643fe: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064402: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064406: 4b80 ldr r3, [pc, #512] ; (8064608 ) 8064408: 681b ldr r3, [r3, #0] 806440a: 429a cmp r2, r3 806440c: d3e8 bcc.n 80643e0 } arm_rms_f32(In, Ns, &skz[pardata.IPR]); 806440e: 4b7e ldr r3, [pc, #504] ; (8064608 ) 8064410: 6819 ldr r1, [r3, #0] 8064412: 4b7e ldr r3, [pc, #504] ; (806460c ) 8064414: 785b ldrb r3, [r3, #1] 8064416: b2db uxtb r3, r3 8064418: 009b lsls r3, r3, #2 806441a: 4a7d ldr r2, [pc, #500] ; (8064610 ) 806441c: 4413 add r3, r2 806441e: 461a mov r2, r3 8064420: 4878 ldr r0, [pc, #480] ; (8064604 ) 8064422: f069 fec9 bl 80ce1b8 if(timeRelax > 1) 8064426: 4b7b ldr r3, [pc, #492] ; (8064614 ) 8064428: 681b ldr r3, [r3, #0] 806442a: 2b01 cmp r3, #1 806442c: d91a bls.n 8064464 { timeRelax--; 806442e: 4b79 ldr r3, [pc, #484] ; (8064614 ) 8064430: 681b ldr r3, [r3, #0] 8064432: 3b01 subs r3, #1 8064434: 4a77 ldr r2, [pc, #476] ; (8064614 ) 8064436: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 8064438: 4b74 ldr r3, [pc, #464] ; (806460c ) 806443a: 785b ldrb r3, [r3, #1] 806443c: b2db uxtb r3, r3 806443e: 4618 mov r0, r3 8064440: 4b72 ldr r3, [pc, #456] ; (806460c ) 8064442: 785b ldrb r3, [r3, #1] 8064444: b2db uxtb r3, r3 8064446: 4974 ldr r1, [pc, #464] ; (8064618 ) 8064448: 009a lsls r2, r3, #2 806444a: 440a add r2, r1 806444c: f04f 0100 mov.w r1, #0 8064450: 6011 str r1, [r2, #0] 8064452: 4a71 ldr r2, [pc, #452] ; (8064618 ) 8064454: 009b lsls r3, r3, #2 8064456: 4413 add r3, r2 8064458: 681a ldr r2, [r3, #0] 806445a: 496d ldr r1, [pc, #436] ; (8064610 ) 806445c: 0083 lsls r3, r0, #2 806445e: 440b add r3, r1 8064460: 601a str r2, [r3, #0] 8064462: e16a b.n 806473a } else if(timeRelax == 1) 8064464: 4b6b ldr r3, [pc, #428] ; (8064614 ) 8064466: 681b ldr r3, [r3, #0] 8064468: 2b01 cmp r3, #1 806446a: d10d bne.n 8064488 { timeRelax--; 806446c: 4b69 ldr r3, [pc, #420] ; (8064614 ) 806446e: 681b ldr r3, [r3, #0] 8064470: 3b01 subs r3, #1 8064472: 4a68 ldr r2, [pc, #416] ; (8064614 ) 8064474: 6013 str r3, [r2, #0] FastCopy16(IN_Reg, SCR_Reg, _2Ns); 8064476: 4b64 ldr r3, [pc, #400] ; (8064608 ) 8064478: 681b ldr r3, [r3, #0] 806447a: 005b lsls r3, r3, #1 806447c: 461a mov r2, r3 806447e: 2104 movs r1, #4 8064480: 2001 movs r0, #1 8064482: f000 fead bl 80651e0 8064486: e158 b.n 806473a } else { FastCopy16(IN_Reg, SCR_Reg, _2Ns); 8064488: 4b5f ldr r3, [pc, #380] ; (8064608 ) 806448a: 681b ldr r3, [r3, #0] 806448c: 005b lsls r3, r3, #1 806448e: 461a mov r2, r3 8064490: 2104 movs r1, #4 8064492: 2001 movs r0, #1 8064494: f000 fea4 bl 80651e0 8064498: e14f b.n 806473a } } } else if(pardata.IPR == VEL) 806449a: 4b5c ldr r3, [pc, #368] ; (806460c ) 806449c: 785b ldrb r3, [r3, #1] 806449e: b2db uxtb r3, r3 80644a0: 2b01 cmp r3, #1 80644a2: f040 8094 bne.w 80645ce { arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, Buff64, Ns); 80644a6: 4b58 ldr r3, [pc, #352] ; (8064608 ) 80644a8: 681b ldr r3, [r3, #0] 80644aa: 4a5c ldr r2, [pc, #368] ; (806461c ) 80644ac: 495b ldr r1, [pc, #364] ; (806461c ) 80644ae: 485c ldr r0, [pc, #368] ; (8064620 ) 80644b0: f06a f824 bl 80ce4fc arm_biquad_cascade_df2T_f64(&S_HP_VEL, Buff64, Buff64, Ns); 80644b4: 4b54 ldr r3, [pc, #336] ; (8064608 ) 80644b6: 681b ldr r3, [r3, #0] 80644b8: 4a58 ldr r2, [pc, #352] ; (806461c ) 80644ba: 4958 ldr r1, [pc, #352] ; (806461c ) 80644bc: 4859 ldr r0, [pc, #356] ; (8064624 ) 80644be: f06a f81d bl 80ce4fc for(i = 0; i < Ns; i++) 80644c2: 2300 movs r3, #0 80644c4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80644c8: e014 b.n 80644f4 In[i] = (float32_t) Buff64[i]; 80644ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80644ce: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80644d2: 4952 ldr r1, [pc, #328] ; (806461c ) 80644d4: 00d2 lsls r2, r2, #3 80644d6: 440a add r2, r1 80644d8: ed92 7b00 vldr d7, [r2] 80644dc: eef7 7bc7 vcvt.f32.f64 s15, d7 80644e0: 4a48 ldr r2, [pc, #288] ; (8064604 ) 80644e2: 009b lsls r3, r3, #2 80644e4: 4413 add r3, r2 80644e6: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 80644ea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80644ee: 3301 adds r3, #1 80644f0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80644f4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80644f8: 4b43 ldr r3, [pc, #268] ; (8064608 ) 80644fa: 681b ldr r3, [r3, #0] 80644fc: 429a cmp r2, r3 80644fe: d3e4 bcc.n 80644ca fs = 249.135f / pardata.IKK; 8064500: 4b42 ldr r3, [pc, #264] ; (806460c ) 8064502: ed93 7a04 vldr s14, [r3, #16] 8064506: eddf 6a48 vldr s13, [pc, #288] ; 8064628 806450a: eec6 7a87 vdiv.f32 s15, s13, s14 806450e: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(pardata.IIN == VOLTS) { 8064512: 4b3e ldr r3, [pc, #248] ; (806460c ) 8064514: 799b ldrb r3, [r3, #6] 8064516: b2db uxtb r3, r3 8064518: 2b02 cmp r3, #2 806451a: d107 bne.n 806452c fs *= 0.001f; 806451c: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8064520: ed9f 7a42 vldr s14, [pc, #264] ; 806462c 8064524: ee67 7a87 vmul.f32 s15, s15, s14 8064528: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 } arm_scale_f32(In, fs, In, Ns); 806452c: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8064530: 4b35 ldr r3, [pc, #212] ; (8064608 ) 8064532: 681b ldr r3, [r3, #0] 8064534: 461a mov r2, r3 8064536: 4933 ldr r1, [pc, #204] ; (8064604 ) 8064538: eeb0 0a67 vmov.f32 s0, s15 806453c: 4831 ldr r0, [pc, #196] ; (8064604 ) 806453e: f06a fa93 bl 80cea68 arm_rms_f32(In, Ns, &skz[pardata.IPR]); 8064542: 4b31 ldr r3, [pc, #196] ; (8064608 ) 8064544: 6819 ldr r1, [r3, #0] 8064546: 4b31 ldr r3, [pc, #196] ; (806460c ) 8064548: 785b ldrb r3, [r3, #1] 806454a: b2db uxtb r3, r3 806454c: 009b lsls r3, r3, #2 806454e: 4a30 ldr r2, [pc, #192] ; (8064610 ) 8064550: 4413 add r3, r2 8064552: 461a mov r2, r3 8064554: 482b ldr r0, [pc, #172] ; (8064604 ) 8064556: f069 fe2f bl 80ce1b8 if(timeRelax > 1) 806455a: 4b2e ldr r3, [pc, #184] ; (8064614 ) 806455c: 681b ldr r3, [r3, #0] 806455e: 2b01 cmp r3, #1 8064560: d91a bls.n 8064598 { timeRelax--; 8064562: 4b2c ldr r3, [pc, #176] ; (8064614 ) 8064564: 681b ldr r3, [r3, #0] 8064566: 3b01 subs r3, #1 8064568: 4a2a ldr r2, [pc, #168] ; (8064614 ) 806456a: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 806456c: 4b27 ldr r3, [pc, #156] ; (806460c ) 806456e: 785b ldrb r3, [r3, #1] 8064570: b2db uxtb r3, r3 8064572: 4618 mov r0, r3 8064574: 4b25 ldr r3, [pc, #148] ; (806460c ) 8064576: 785b ldrb r3, [r3, #1] 8064578: b2db uxtb r3, r3 806457a: 4927 ldr r1, [pc, #156] ; (8064618 ) 806457c: 009a lsls r2, r3, #2 806457e: 440a add r2, r1 8064580: f04f 0100 mov.w r1, #0 8064584: 6011 str r1, [r2, #0] 8064586: 4a24 ldr r2, [pc, #144] ; (8064618 ) 8064588: 009b lsls r3, r3, #2 806458a: 4413 add r3, r2 806458c: 681a ldr r2, [r3, #0] 806458e: 4920 ldr r1, [pc, #128] ; (8064610 ) 8064590: 0083 lsls r3, r0, #2 8064592: 440b add r3, r1 8064594: 601a str r2, [r3, #0] 8064596: e0d0 b.n 806473a } else if(timeRelax == 1) 8064598: 4b1e ldr r3, [pc, #120] ; (8064614 ) 806459a: 681b ldr r3, [r3, #0] 806459c: 2b01 cmp r3, #1 806459e: d10d bne.n 80645bc { timeRelax--; 80645a0: 4b1c ldr r3, [pc, #112] ; (8064614 ) 80645a2: 681b ldr r3, [r3, #0] 80645a4: 3b01 subs r3, #1 80645a6: 4a1b ldr r2, [pc, #108] ; (8064614 ) 80645a8: 6013 str r3, [r2, #0] FastCopy16(IN_Reg, SCR_Reg, _2Ns); 80645aa: 4b17 ldr r3, [pc, #92] ; (8064608 ) 80645ac: 681b ldr r3, [r3, #0] 80645ae: 005b lsls r3, r3, #1 80645b0: 461a mov r2, r3 80645b2: 2104 movs r1, #4 80645b4: 2001 movs r0, #1 80645b6: f000 fe13 bl 80651e0 80645ba: e0be b.n 806473a } else { FastCopy16(IN_Reg, SCR_Reg, _2Ns); 80645bc: 4b12 ldr r3, [pc, #72] ; (8064608 ) 80645be: 681b ldr r3, [r3, #0] 80645c0: 005b lsls r3, r3, #1 80645c2: 461a mov r2, r3 80645c4: 2104 movs r1, #4 80645c6: 2001 movs r0, #1 80645c8: f000 fe0a bl 80651e0 80645cc: e0b5 b.n 806473a } } else if(pardata.IPR == DIS) 80645ce: 4b0f ldr r3, [pc, #60] ; (806460c ) 80645d0: 785b ldrb r3, [r3, #1] 80645d2: b2db uxtb r3, r3 80645d4: 2b02 cmp r3, #2 80645d6: f040 80b0 bne.w 806473a { arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, Buff64, Ns); 80645da: 4b0b ldr r3, [pc, #44] ; (8064608 ) 80645dc: 681b ldr r3, [r3, #0] 80645de: 4a0f ldr r2, [pc, #60] ; (806461c ) 80645e0: 490e ldr r1, [pc, #56] ; (806461c ) 80645e2: 4813 ldr r0, [pc, #76] ; (8064630 ) 80645e4: f069 ff8a bl 80ce4fc arm_biquad_cascade_df2T_f64(&S_HP_DIS, Buff64, Buff64, Ns); 80645e8: 4b07 ldr r3, [pc, #28] ; (8064608 ) 80645ea: 681b ldr r3, [r3, #0] 80645ec: 4a0b ldr r2, [pc, #44] ; (806461c ) 80645ee: 490b ldr r1, [pc, #44] ; (806461c ) 80645f0: 4810 ldr r0, [pc, #64] ; (8064634 ) 80645f2: f069 ff83 bl 80ce4fc for(i = 0; i < Ns; i++) 80645f6: 2300 movs r3, #0 80645f8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80645fc: e031 b.n 8064662 80645fe: bf00 nop 8064600: 20008000 .word 0x20008000 8064604: 20027a00 .word 0x20027a00 8064608: 20021d24 .word 0x20021d24 806460c: 20023ea8 .word 0x20023ea8 8064610: 20021588 .word 0x20021588 8064614: 20020d8c .word 0x20020d8c 8064618: 20021594 .word 0x20021594 806461c: 20037b20 .word 0x20037b20 8064620: 200261b0 .word 0x200261b0 8064624: 20025eb8 .word 0x20025eb8 8064628: 4379228f .word 0x4379228f 806462c: 3a83126f .word 0x3a83126f 8064630: 20027904 .word 0x20027904 8064634: 20027990 .word 0x20027990 In[i] = (float32_t) Buff64[i]; 8064638: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806463c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064640: 499c ldr r1, [pc, #624] ; (80648b4 ) 8064642: 00d2 lsls r2, r2, #3 8064644: 440a add r2, r1 8064646: ed92 7b00 vldr d7, [r2] 806464a: eef7 7bc7 vcvt.f32.f64 s15, d7 806464e: 4a9a ldr r2, [pc, #616] ; (80648b8 ) 8064650: 009b lsls r3, r3, #2 8064652: 4413 add r3, r2 8064654: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 8064658: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806465c: 3301 adds r3, #1 806465e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064662: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064666: 4b95 ldr r3, [pc, #596] ; (80648bc ) 8064668: 681b ldr r3, [r3, #0] 806466a: 429a cmp r2, r3 806466c: d3e4 bcc.n 8064638 fs = 61400.171f / pardata.IKK; 806466e: 4b94 ldr r3, [pc, #592] ; (80648c0 ) 8064670: ed93 7a04 vldr s14, [r3, #16] 8064674: eddf 6a93 vldr s13, [pc, #588] ; 80648c4 8064678: eec6 7a87 vdiv.f32 s15, s13, s14 806467c: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(pardata.IIN == VOLTS) { 8064680: 4b8f ldr r3, [pc, #572] ; (80648c0 ) 8064682: 799b ldrb r3, [r3, #6] 8064684: b2db uxtb r3, r3 8064686: 2b02 cmp r3, #2 8064688: d107 bne.n 806469a fs *= 0.000001f; 806468a: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 806468e: ed9f 7a8e vldr s14, [pc, #568] ; 80648c8 8064692: ee67 7a87 vmul.f32 s15, s15, s14 8064696: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 } arm_scale_f32(In, fs, In, Ns); 806469a: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 806469e: 4b87 ldr r3, [pc, #540] ; (80648bc ) 80646a0: 681b ldr r3, [r3, #0] 80646a2: 461a mov r2, r3 80646a4: 4984 ldr r1, [pc, #528] ; (80648b8 ) 80646a6: eeb0 0a67 vmov.f32 s0, s15 80646aa: 4883 ldr r0, [pc, #524] ; (80648b8 ) 80646ac: f06a f9dc bl 80cea68 arm_rms_f32(In, Ns, &skz[pardata.IPR]); 80646b0: 4b82 ldr r3, [pc, #520] ; (80648bc ) 80646b2: 6819 ldr r1, [r3, #0] 80646b4: 4b82 ldr r3, [pc, #520] ; (80648c0 ) 80646b6: 785b ldrb r3, [r3, #1] 80646b8: b2db uxtb r3, r3 80646ba: 009b lsls r3, r3, #2 80646bc: 4a83 ldr r2, [pc, #524] ; (80648cc ) 80646be: 4413 add r3, r2 80646c0: 461a mov r2, r3 80646c2: 487d ldr r0, [pc, #500] ; (80648b8 ) 80646c4: f069 fd78 bl 80ce1b8 if(timeRelax > 1) 80646c8: 4b81 ldr r3, [pc, #516] ; (80648d0 ) 80646ca: 681b ldr r3, [r3, #0] 80646cc: 2b01 cmp r3, #1 80646ce: d91a bls.n 8064706 { timeRelax--; 80646d0: 4b7f ldr r3, [pc, #508] ; (80648d0 ) 80646d2: 681b ldr r3, [r3, #0] 80646d4: 3b01 subs r3, #1 80646d6: 4a7e ldr r2, [pc, #504] ; (80648d0 ) 80646d8: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 80646da: 4b79 ldr r3, [pc, #484] ; (80648c0 ) 80646dc: 785b ldrb r3, [r3, #1] 80646de: b2db uxtb r3, r3 80646e0: 4618 mov r0, r3 80646e2: 4b77 ldr r3, [pc, #476] ; (80648c0 ) 80646e4: 785b ldrb r3, [r3, #1] 80646e6: b2db uxtb r3, r3 80646e8: 497a ldr r1, [pc, #488] ; (80648d4 ) 80646ea: 009a lsls r2, r3, #2 80646ec: 440a add r2, r1 80646ee: f04f 0100 mov.w r1, #0 80646f2: 6011 str r1, [r2, #0] 80646f4: 4a77 ldr r2, [pc, #476] ; (80648d4 ) 80646f6: 009b lsls r3, r3, #2 80646f8: 4413 add r3, r2 80646fa: 681a ldr r2, [r3, #0] 80646fc: 4973 ldr r1, [pc, #460] ; (80648cc ) 80646fe: 0083 lsls r3, r0, #2 8064700: 440b add r3, r1 8064702: 601a str r2, [r3, #0] 8064704: e019 b.n 806473a } else if(timeRelax == 1) 8064706: 4b72 ldr r3, [pc, #456] ; (80648d0 ) 8064708: 681b ldr r3, [r3, #0] 806470a: 2b01 cmp r3, #1 806470c: d10d bne.n 806472a { timeRelax--; 806470e: 4b70 ldr r3, [pc, #448] ; (80648d0 ) 8064710: 681b ldr r3, [r3, #0] 8064712: 3b01 subs r3, #1 8064714: 4a6e ldr r2, [pc, #440] ; (80648d0 ) 8064716: 6013 str r3, [r2, #0] FastCopy16(IN_Reg, SCR_Reg, _2Ns); 8064718: 4b68 ldr r3, [pc, #416] ; (80648bc ) 806471a: 681b ldr r3, [r3, #0] 806471c: 005b lsls r3, r3, #1 806471e: 461a mov r2, r3 8064720: 2104 movs r1, #4 8064722: 2001 movs r0, #1 8064724: f000 fd5c bl 80651e0 8064728: e007 b.n 806473a } else { FastCopy16(IN_Reg, SCR_Reg, _2Ns); 806472a: 4b64 ldr r3, [pc, #400] ; (80648bc ) 806472c: 681b ldr r3, [r3, #0] 806472e: 005b lsls r3, r3, #1 8064730: 461a mov r2, r3 8064732: 2104 movs r1, #4 8064734: 2001 movs r0, #1 8064736: f000 fd53 bl 80651e0 //=========================================================// //======================= SEND BT==========================// //=========================================================// if(GoSend) 806473a: 4b67 ldr r3, [pc, #412] ; (80648d8 ) 806473c: 781b ldrb r3, [r3, #0] 806473e: b2db uxtb r3, r3 8064740: 2b00 cmp r3, #0 8064742: d075 beq.n 8064830 static uint32_t cn = 0; //memcpy(&Buff_u8(0), (void *) &In[0], Ns * 4u); tick = HAL_GetTick(); 8064744: f052 fb6e bl 80b6e24 8064748: f8c7 021c str.w r0, [r7, #540] ; 0x21c result = f_lseek (&F, f_size(&F)); 806474c: 4b63 ldr r3, [pc, #396] ; (80648dc ) 806474e: e9d3 3404 ldrd r3, r4, [r3, #16] 8064752: 461a mov r2, r3 8064754: 4623 mov r3, r4 8064756: 4861 ldr r0, [pc, #388] ; (80648dc ) 8064758: f066 fbc6 bl 80caee8 806475c: 4603 mov r3, r0 806475e: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if(result == FR_OK) 8064762: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 8064766: 2b00 cmp r3, #0 8064768: d13d bne.n 80647e6 { memcpy((void *) &SD_Buff[0].fl, (void *) &In[0], Ns * 4u); 806476a: 4b54 ldr r3, [pc, #336] ; (80648bc ) 806476c: 681b ldr r3, [r3, #0] 806476e: 009b lsls r3, r3, #2 8064770: 461a mov r2, r3 8064772: 4951 ldr r1, [pc, #324] ; (80648b8 ) 8064774: 485a ldr r0, [pc, #360] ; (80648e0 ) 8064776: f06c fe08 bl 80d138a if(cn >= 163840) cn = 0;*/ //f_sync(&F); result = f_write(&F, (void *) &SD_Buff[0].fl, (Ns * 4u), (UINT *) &i); 806477a: 4b50 ldr r3, [pc, #320] ; (80648bc ) 806477c: 681b ldr r3, [r3, #0] 806477e: 009a lsls r2, r3, #2 8064780: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8064784: 4956 ldr r1, [pc, #344] ; (80648e0 ) 8064786: 4855 ldr r0, [pc, #340] ; (80648dc ) 8064788: f066 f8ea bl 80ca960 806478c: 4603 mov r3, r0 806478e: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if(result != FR_OK) 8064792: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 8064796: 2b00 cmp r3, #0 8064798: d016 beq.n 80647c8 { NeedSTOP = true; 806479a: 4b52 ldr r3, [pc, #328] ; (80648e4 ) 806479c: 2201 movs r2, #1 806479e: 701a strb r2, [r3, #0] GoSend = false; 80647a0: 4b4d ldr r3, [pc, #308] ; (80648d8 ) 80647a2: 2200 movs r2, #0 80647a4: 701a strb r2, [r3, #0] pWrite = pRead = 0; 80647a6: f04f 0300 mov.w r3, #0 80647aa: f04f 0400 mov.w r4, #0 80647ae: 4a4e ldr r2, [pc, #312] ; (80648e8 ) 80647b0: e882 0018 stmia.w r2, {r3, r4} 80647b4: 4a4d ldr r2, [pc, #308] ; (80648ec ) 80647b6: e882 0018 stmia.w r2, {r3, r4} SendBuf = 0; 80647ba: 4b4d ldr r3, [pc, #308] ; (80648f0 ) 80647bc: 2200 movs r2, #0 80647be: 601a str r2, [r3, #0] f_close(&F); 80647c0: 4846 ldr r0, [pc, #280] ; (80648dc ) 80647c2: f066 fb71 bl 80caea8 80647c6: e024 b.n 8064812 } else { pWrite += (Ns * 4u); 80647c8: 4b3c ldr r3, [pc, #240] ; (80648bc ) 80647ca: 681b ldr r3, [r3, #0] 80647cc: 009b lsls r3, r3, #2 80647ce: 4619 mov r1, r3 80647d0: f04f 0200 mov.w r2, #0 80647d4: 4b45 ldr r3, [pc, #276] ; (80648ec ) 80647d6: cb18 ldmia r3, {r3, r4} 80647d8: 185b adds r3, r3, r1 80647da: eb44 0402 adc.w r4, r4, r2 80647de: 4a43 ldr r2, [pc, #268] ; (80648ec ) 80647e0: e882 0018 stmia.w r2, {r3, r4} 80647e4: e015 b.n 8064812 } } else { NeedSTOP = true; 80647e6: 4b3f ldr r3, [pc, #252] ; (80648e4 ) 80647e8: 2201 movs r2, #1 80647ea: 701a strb r2, [r3, #0] GoSend = false; 80647ec: 4b3a ldr r3, [pc, #232] ; (80648d8 ) 80647ee: 2200 movs r2, #0 80647f0: 701a strb r2, [r3, #0] pWrite = pRead = 0; 80647f2: f04f 0300 mov.w r3, #0 80647f6: f04f 0400 mov.w r4, #0 80647fa: 4a3b ldr r2, [pc, #236] ; (80648e8 ) 80647fc: e882 0018 stmia.w r2, {r3, r4} 8064800: 4a3a ldr r2, [pc, #232] ; (80648ec ) 8064802: e882 0018 stmia.w r2, {r3, r4} SendBuf = 0; 8064806: 4b3a ldr r3, [pc, #232] ; (80648f0 ) 8064808: 2200 movs r2, #0 806480a: 601a str r2, [r3, #0] f_close(&F); 806480c: 4833 ldr r0, [pc, #204] ; (80648dc ) 806480e: f066 fb4b bl 80caea8 } tick = HAL_GetTick() - tick; 8064812: f052 fb07 bl 80b6e24 8064816: 4602 mov r2, r0 8064818: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 806481c: 1ad3 subs r3, r2, r3 806481e: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > 128) 8064822: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 8064826: 2b80 cmp r3, #128 ; 0x80 8064828: d902 bls.n 8064830 { tick = 0; 806482a: 2300 movs r3, #0 806482c: f8c7 321c str.w r3, [r7, #540] ; 0x21c //*********************************************************// //*********************************************************// if(pardata.IPR > ACC) 8064830: 4b23 ldr r3, [pc, #140] ; (80648c0 ) 8064832: 785b ldrb r3, [r3, #1] 8064834: e007 b.n 8064846 }*/ } } else { RepeatKm = true; 8064836: 4b2f ldr r3, [pc, #188] ; (80648f4 ) 8064838: 2201 movs r2, #1 806483a: 701a strb r2, [r3, #0] timeRelax = RELAX + 1; 806483c: 4b2e ldr r3, [pc, #184] ; (80648f8 ) 806483e: 681b ldr r3, [r3, #0] 8064840: 3301 adds r3, #1 8064842: 4a23 ldr r2, [pc, #140] ; (80648d0 ) 8064844: 6013 str r3, [r2, #0] tick = DWT->CYCCNT - tick; 8064846: 4b2d ldr r3, [pc, #180] ; (80648fc ) 8064848: 685a ldr r2, [r3, #4] 806484a: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 806484e: 1ad3 subs r3, r2, r3 8064850: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 8064854: 4b2a ldr r3, [pc, #168] ; (8064900 ) 8064856: 681b ldr r3, [r3, #0] 8064858: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 806485c: 429a cmp r2, r3 806485e: f240 837e bls.w 8064f5e maxtick = tick; 8064862: 4a27 ldr r2, [pc, #156] ; (8064900 ) 8064864: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 8064868: 6013 str r3, [r2, #0] //*========================================================================================================================= //*========================================================================================================================= //*========================================================================================================================= } break; 806486a: e378 b.n 8064f5e case WAVE: //TODO WAVE if(measuring) 806486c: 4b25 ldr r3, [pc, #148] ; (8064904 ) 806486e: 781b ldrb r3, [r3, #0] 8064870: b2db uxtb r3, r3 8064872: 2b00 cmp r3, #0 8064874: f000 8375 beq.w 8064f62 { if(pardata.OPTIONS & BIT7) 8064878: 4b11 ldr r3, [pc, #68] ; (80648c0 ) 806487a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806487e: f003 0380 and.w r3, r3, #128 ; 0x80 8064882: 2b00 cmp r3, #0 8064884: f000 81a2 beq.w 8064bcc { /// TACHO if(menupos == CalculatingFreq) 8064888: 4b1f ldr r3, [pc, #124] ; (8064908 ) 806488a: 781b ldrb r3, [r3, #0] 806488c: b2db uxtb r3, r3 806488e: 2b04 cmp r3, #4 8064890: f040 80c2 bne.w 8064a18 { if(CALC_FREQ) 8064894: 4b1d ldr r3, [pc, #116] ; (806490c ) 8064896: 781b ldrb r3, [r3, #0] 8064898: b2db uxtb r3, r3 806489a: 2b00 cmp r3, #0 806489c: f000 8361 beq.w 8064f62 { GetDataTacho(); 80648a0: f003 fb20 bl 8067ee4 READY = 0; 80648a4: 4b1a ldr r3, [pc, #104] ; (8064910 ) 80648a6: 2200 movs r2, #0 80648a8: 701a strb r2, [r3, #0] i = 8192; 80648aa: f44f 5300 mov.w r3, #8192 ; 0x2000 80648ae: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i > 0) 80648b2: e060 b.n 8064976 80648b4: 20037b20 .word 0x20037b20 80648b8: 20027a00 .word 0x20027a00 80648bc: 20021d24 .word 0x20021d24 80648c0: 20023ea8 .word 0x20023ea8 80648c4: 476fd82c .word 0x476fd82c 80648c8: 358637bd .word 0x358637bd 80648cc: 20021588 .word 0x20021588 80648d0: 20020d8c .word 0x20020d8c 80648d4: 20021594 .word 0x20021594 80648d8: 20020f7c .word 0x20020f7c 80648dc: 20022e68 .word 0x20022e68 80648e0: 20000000 .word 0x20000000 80648e4: 20020fc2 .word 0x20020fc2 80648e8: 20020f70 .word 0x20020f70 80648ec: 20020f68 .word 0x20020f68 80648f0: 20020f78 .word 0x20020f78 80648f4: 20020dcc .word 0x20020dcc 80648f8: 20020d90 .word 0x20020d90 80648fc: e0001000 .word 0xe0001000 8064900: 20021678 .word 0x20021678 8064904: 20020dcf .word 0x20020dcf 8064908: 20020070 .word 0x20020070 806490c: 20021054 .word 0x20021054 8064910: 20020d9f .word 0x20020d9f { i--; 8064914: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064918: 3b01 subs r3, #1 806491a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 Buff64[(i << 1)] = (float64_t) (In16[i].sh[0] & 0xffc); 806491e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064922: 005a lsls r2, r3, #1 8064924: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064928: 49ba ldr r1, [pc, #744] ; (8064c14 ) 806492a: f831 3023 ldrh.w r3, [r1, r3, lsl #2] 806492e: 4619 mov r1, r3 8064930: f640 73fc movw r3, #4092 ; 0xffc 8064934: 400b ands r3, r1 8064936: ee07 3a90 vmov s15, r3 806493a: eeb8 7be7 vcvt.f64.s32 d7, s15 806493e: 49b6 ldr r1, [pc, #728] ; (8064c18 ) 8064940: 00d3 lsls r3, r2, #3 8064942: 440b add r3, r1 8064944: ed83 7b00 vstr d7, [r3] Buff64[(i << 1) + 1] = (float64_t) (In16[i].sh[1] & 0xffc); 8064948: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806494c: 005b lsls r3, r3, #1 806494e: 1c5a adds r2, r3, #1 8064950: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064954: 49af ldr r1, [pc, #700] ; (8064c14 ) 8064956: 009b lsls r3, r3, #2 8064958: 440b add r3, r1 806495a: 885b ldrh r3, [r3, #2] 806495c: 4619 mov r1, r3 806495e: f640 73fc movw r3, #4092 ; 0xffc 8064962: 400b ands r3, r1 8064964: ee07 3a90 vmov s15, r3 8064968: eeb8 7be7 vcvt.f64.s32 d7, s15 806496c: 49aa ldr r1, [pc, #680] ; (8064c18 ) 806496e: 00d3 lsls r3, r2, #3 8064970: 440b add r3, r1 8064972: ed83 7b00 vstr d7, [r3] while(i > 0) 8064976: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806497a: 2b00 cmp r3, #0 806497c: d1ca bne.n 8064914 } arm_biquad_cascade_df2T_f64(&S_LP_TACHO, Buff64, Buff64, 16384); 806497e: f44f 4380 mov.w r3, #16384 ; 0x4000 8064982: 4aa5 ldr r2, [pc, #660] ; (8064c18 ) 8064984: 49a4 ldr r1, [pc, #656] ; (8064c18 ) 8064986: 48a5 ldr r0, [pc, #660] ; (8064c1c ) 8064988: f069 fdb8 bl 80ce4fc arm_biquad_cascade_df2T_f64(&S_HP_TACHO, Buff64, Buff64, 16384); 806498c: f44f 4380 mov.w r3, #16384 ; 0x4000 8064990: 4aa1 ldr r2, [pc, #644] ; (8064c18 ) 8064992: 49a1 ldr r1, [pc, #644] ; (8064c18 ) 8064994: 48a2 ldr r0, [pc, #648] ; (8064c20 ) 8064996: f069 fdb1 bl 80ce4fc for(i = 0; i < 16384; i++) { 806499a: 2300 movs r3, #0 806499c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80649a0: e014 b.n 80649cc Out[i] = (float32_t) Buff64[i]; 80649a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80649a6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80649aa: 499b ldr r1, [pc, #620] ; (8064c18 ) 80649ac: 00d2 lsls r2, r2, #3 80649ae: 440a add r2, r1 80649b0: ed92 7b00 vldr d7, [r2] 80649b4: eef7 7bc7 vcvt.f32.f64 s15, d7 80649b8: 4a9a ldr r2, [pc, #616] ; (8064c24 ) 80649ba: 009b lsls r3, r3, #2 80649bc: 4413 add r3, r2 80649be: edc3 7a00 vstr s15, [r3] for(i = 0; i < 16384; i++) { 80649c2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80649c6: 3301 adds r3, #1 80649c8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80649cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80649d0: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 80649d4: d3e5 bcc.n 80649a2 } ///////////////////////////////////////////////////////////////////// memcpy((void *) &Freq_f32(stage * 16384u), (void *) Out, 65536); 80649d6: 4b94 ldr r3, [pc, #592] ; (8064c28 ) 80649d8: 781b ldrb r3, [r3, #0] 80649da: b2db uxtb r3, r3 80649dc: 039b lsls r3, r3, #14 80649de: 009a lsls r2, r3, #2 80649e0: 4b92 ldr r3, [pc, #584] ; (8064c2c ) 80649e2: 4413 add r3, r2 80649e4: f44f 3280 mov.w r2, #65536 ; 0x10000 80649e8: 498e ldr r1, [pc, #568] ; (8064c24 ) 80649ea: 4618 mov r0, r3 80649ec: f06c fccd bl 80d138a stage++; 80649f0: 4b8d ldr r3, [pc, #564] ; (8064c28 ) 80649f2: 781b ldrb r3, [r3, #0] 80649f4: b2db uxtb r3, r3 80649f6: 3301 adds r3, #1 80649f8: b2da uxtb r2, r3 80649fa: 4b8b ldr r3, [pc, #556] ; (8064c28 ) 80649fc: 701a strb r2, [r3, #0] if(stage >= 8) // >= 131072 meas 80649fe: 4b8a ldr r3, [pc, #552] ; (8064c28 ) 8064a00: 781b ldrb r3, [r3, #0] 8064a02: b2db uxtb r3, r3 8064a04: 2b07 cmp r3, #7 8064a06: f240 82ac bls.w 8064f62 { stage = 0; 8064a0a: 4b87 ldr r3, [pc, #540] ; (8064c28 ) 8064a0c: 2200 movs r2, #0 8064a0e: 701a strb r2, [r3, #0] NeedFreqTacho = true; 8064a10: 4b87 ldr r3, [pc, #540] ; (8064c30 ) 8064a12: 2201 movs r2, #1 8064a14: 701a strb r2, [r3, #0] } } } } } break; 8064a16: e2a4 b.n 8064f62 blockSize = measlen; 8064a18: 4b86 ldr r3, [pc, #536] ; (8064c34 ) 8064a1a: 881b ldrh r3, [r3, #0] 8064a1c: b29b uxth r3, r3 8064a1e: f8c7 3220 str.w r3, [r7, #544] ; 0x220 GetData(); 8064a22: f000 fd53 bl 80654cc j = 0; 8064a26: 2300 movs r3, #0 8064a28: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(menupos == GainSelecting) 8064a2c: 4b82 ldr r3, [pc, #520] ; (8064c38 ) 8064a2e: 781b ldrb r3, [r3, #0] 8064a30: b2db uxtb r3, r3 8064a32: 2b02 cmp r3, #2 8064a34: d148 bne.n 8064ac8 if(CalculateGain(Ns) == 0) 8064a36: 4b81 ldr r3, [pc, #516] ; (8064c3c ) 8064a38: 681b ldr r3, [r3, #0] 8064a3a: 4618 mov r0, r3 8064a3c: f7f1 ff2a bl 8056894 8064a40: 4603 mov r3, r0 8064a42: 2b00 cmp r3, #0 8064a44: f040 828d bne.w 8064f62 if(Flag_Set_KU) 8064a48: 4b7d ldr r3, [pc, #500] ; (8064c40 ) 8064a4a: 781b ldrb r3, [r3, #0] 8064a4c: b2db uxtb r3, r3 8064a4e: 2b00 cmp r3, #0 8064a50: d01b beq.n 8064a8a SetKU(); 8064a52: f7bc ff0f bl 8021874 HAL_Delay(1000); 8064a56: f44f 707a mov.w r0, #1000 ; 0x3e8 8064a5a: f052 f9ef bl 80b6e3c MeanCnt = 0; 8064a5e: 4b79 ldr r3, [pc, #484] ; (8064c44 ) 8064a60: 2200 movs r2, #0 8064a62: 601a str r2, [r3, #0] RepeatKm = true; 8064a64: 4b78 ldr r3, [pc, #480] ; (8064c48 ) 8064a66: 2201 movs r2, #1 8064a68: 701a strb r2, [r3, #0] FirstTime = true; 8064a6a: 4b78 ldr r3, [pc, #480] ; (8064c4c ) 8064a6c: 2201 movs r2, #1 8064a6e: 701a strb r2, [r3, #0] FIRST = false; 8064a70: 4b77 ldr r3, [pc, #476] ; (8064c50 ) 8064a72: 2200 movs r2, #0 8064a74: 701a strb r2, [r3, #0] cntADC = 0; 8064a76: 4b77 ldr r3, [pc, #476] ; (8064c54 ) 8064a78: 2200 movs r2, #0 8064a7a: 801a strh r2, [r3, #0] Flag_Set_KU = 0; 8064a7c: 4b70 ldr r3, [pc, #448] ; (8064c40 ) 8064a7e: 2200 movs r2, #0 8064a80: 701a strb r2, [r3, #0] cntmeas = 0; 8064a82: 4b75 ldr r3, [pc, #468] ; (8064c58 ) 8064a84: 2200 movs r2, #0 8064a86: 801a strh r2, [r3, #0] break; 8064a88: e26b b.n 8064f62 menupos = ReadyRec; 8064a8a: 4b6b ldr r3, [pc, #428] ; (8064c38 ) 8064a8c: 2203 movs r2, #3 8064a8e: 701a strb r2, [r3, #0] Recording = false; 8064a90: 4b72 ldr r3, [pc, #456] ; (8064c5c ) 8064a92: 2200 movs r2, #0 8064a94: 701a strb r2, [r3, #0] RepeatKm = false; 8064a96: 4b6c ldr r3, [pc, #432] ; (8064c48 ) 8064a98: 2200 movs r2, #0 8064a9a: 701a strb r2, [r3, #0] FirstTime = false; 8064a9c: 4b6b ldr r3, [pc, #428] ; (8064c4c ) 8064a9e: 2200 movs r2, #0 8064aa0: 701a strb r2, [r3, #0] cntADC = 0; 8064aa2: 4b6c ldr r3, [pc, #432] ; (8064c54 ) 8064aa4: 2200 movs r2, #0 8064aa6: 801a strh r2, [r3, #0] cntmeas = 0; 8064aa8: 4b6b ldr r3, [pc, #428] ; (8064c58 ) 8064aaa: 2200 movs r2, #0 8064aac: 801a strh r2, [r3, #0] MultRec = _b24V * CorrKk[ACC] * 2; 8064aae: 4b6c ldr r3, [pc, #432] ; (8064c60 ) 8064ab0: edd3 7a00 vldr s15, [r3] 8064ab4: ed9f 7a6b vldr s14, [pc, #428] ; 8064c64 8064ab8: ee67 7a87 vmul.f32 s15, s15, s14 8064abc: ee77 7aa7 vadd.f32 s15, s15, s15 8064ac0: 4b69 ldr r3, [pc, #420] ; (8064c68 ) 8064ac2: edc3 7a00 vstr s15, [r3] break; 8064ac6: e24c b.n 8064f62 if(Recording) 8064ac8: 4b64 ldr r3, [pc, #400] ; (8064c5c ) 8064aca: 781b ldrb r3, [r3, #0] 8064acc: b2db uxtb r3, r3 8064ace: 2b00 cmp r3, #0 8064ad0: f000 8247 beq.w 8064f62 for(i = 0; i < blockSize; i++) 8064ad4: 2300 movs r3, #0 8064ad6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064ada: e034 b.n 8064b46 In[i] = (float32_t) In16[i].lg; 8064adc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064ae0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064ae4: 494b ldr r1, [pc, #300] ; (8064c14 ) 8064ae6: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8064aea: ee07 2a90 vmov s15, r2 8064aee: eef8 7a67 vcvt.f32.u32 s15, s15 8064af2: 4a5e ldr r2, [pc, #376] ; (8064c6c ) 8064af4: 009b lsls r3, r3, #2 8064af6: 4413 add r3, r2 8064af8: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 8064afc: 4b5c ldr r3, [pc, #368] ; (8064c70 ) 8064afe: edd3 7a00 vldr s15, [r3] 8064b02: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064b06: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064b0a: 4958 ldr r1, [pc, #352] ; (8064c6c ) 8064b0c: 0092 lsls r2, r2, #2 8064b0e: 440a add r2, r1 8064b10: ed92 7a00 vldr s14, [r2] 8064b14: ee77 7a67 vsub.f32 s15, s14, s15 8064b18: 4a54 ldr r2, [pc, #336] ; (8064c6c ) 8064b1a: 009b lsls r3, r3, #2 8064b1c: 4413 add r3, r2 8064b1e: edc3 7a00 vstr s15, [r3] if(In16[i].lg > 0xE00000) 8064b22: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064b26: 4a3b ldr r2, [pc, #236] ; (8064c14 ) 8064b28: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8064b2c: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8064b30: d904 bls.n 8064b3c j++; 8064b32: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064b36: 3301 adds r3, #1 8064b38: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 8064b3c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064b40: 3301 adds r3, #1 8064b42: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064b46: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064b4a: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8064b4e: 429a cmp r2, r3 8064b50: d3c4 bcc.n 8064adc if(j >= 2) 8064b52: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064b56: 2b01 cmp r3, #1 8064b58: d903 bls.n 8064b62 OVERDRIVE = true; 8064b5a: 4b46 ldr r3, [pc, #280] ; (8064c74 ) 8064b5c: 2201 movs r2, #1 8064b5e: 701a strb r2, [r3, #0] 8064b60: e002 b.n 8064b68 else OVERDRIVE = false; 8064b62: 4b44 ldr r3, [pc, #272] ; (8064c74 ) 8064b64: 2200 movs r2, #0 8064b66: 701a strb r2, [r3, #0] arm_scale_f32(In, MultRec, &SD_Buff[0].fl, blockSize); 8064b68: 4b3f ldr r3, [pc, #252] ; (8064c68 ) 8064b6a: edd3 7a00 vldr s15, [r3] 8064b6e: f8d7 2220 ldr.w r2, [r7, #544] ; 0x220 8064b72: 4941 ldr r1, [pc, #260] ; (8064c78 ) 8064b74: eeb0 0a67 vmov.f32 s0, s15 8064b78: 483c ldr r0, [pc, #240] ; (8064c6c ) 8064b7a: f069 ff75 bl 80cea68 TimeRec += Ns; 8064b7e: 4b2f ldr r3, [pc, #188] ; (8064c3c ) 8064b80: 681a ldr r2, [r3, #0] 8064b82: 4b3e ldr r3, [pc, #248] ; (8064c7c ) 8064b84: 681b ldr r3, [r3, #0] 8064b86: 4413 add r3, r2 8064b88: 4a3c ldr r2, [pc, #240] ; (8064c7c ) 8064b8a: 6013 str r3, [r2, #0] result = f_write(&F, (uint32_t *) &SD_Buff[0].fl, (blockSize << 2), (UINT *) &i); 8064b8c: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8064b90: 009a lsls r2, r3, #2 8064b92: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8064b96: 4938 ldr r1, [pc, #224] ; (8064c78 ) 8064b98: 4839 ldr r0, [pc, #228] ; (8064c80 ) 8064b9a: f065 fee1 bl 80ca960 8064b9e: 4603 mov r3, r0 8064ba0: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if((result != FR_OK) || (TimeRec >= TIMEREC[5][pardata.TME])) { 8064ba4: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 8064ba8: 2b00 cmp r3, #0 8064baa: d10b bne.n 8064bc4 8064bac: 4b35 ldr r3, [pc, #212] ; (8064c84 ) 8064bae: 7b9b ldrb r3, [r3, #14] 8064bb0: b2db uxtb r3, r3 8064bb2: 4a35 ldr r2, [pc, #212] ; (8064c88 ) 8064bb4: 3337 adds r3, #55 ; 0x37 8064bb6: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8064bba: 4b30 ldr r3, [pc, #192] ; (8064c7c ) 8064bbc: 681b ldr r3, [r3, #0] 8064bbe: 429a cmp r2, r3 8064bc0: f200 81cf bhi.w 8064f62 NeedSTOP = true; 8064bc4: 4b31 ldr r3, [pc, #196] ; (8064c8c ) 8064bc6: 2201 movs r2, #1 8064bc8: 701a strb r2, [r3, #0] break; 8064bca: e1ca b.n 8064f62 blockSize = measlen; 8064bcc: 4b19 ldr r3, [pc, #100] ; (8064c34 ) 8064bce: 881b ldrh r3, [r3, #0] 8064bd0: b29b uxth r3, r3 8064bd2: f8c7 3220 str.w r3, [r7, #544] ; 0x220 GetData(); 8064bd6: f000 fc79 bl 80654cc j = 0; 8064bda: 2300 movs r3, #0 8064bdc: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(Threshold) 8064be0: 4b2b ldr r3, [pc, #172] ; (8064c90 ) 8064be2: 781b ldrb r3, [r3, #0] 8064be4: b2db uxtb r3, r3 8064be6: 2b00 cmp r3, #0 8064be8: f000 80da beq.w 8064da0 MultRec = _b24V * CorrKk[ACC] * 2; 8064bec: 4b1c ldr r3, [pc, #112] ; (8064c60 ) 8064bee: edd3 7a00 vldr s15, [r3] 8064bf2: ed9f 7a1c vldr s14, [pc, #112] ; 8064c64 8064bf6: ee67 7a87 vmul.f32 s15, s15, s14 8064bfa: ee77 7aa7 vadd.f32 s15, s15, s15 8064bfe: 4b1a ldr r3, [pc, #104] ; (8064c68 ) 8064c00: edc3 7a00 vstr s15, [r3] j = 0; 8064c04: 2300 movs r3, #0 8064c06: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 8064c0a: 2300 movs r3, #0 8064c0c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064c10: e075 b.n 8064cfe 8064c12: bf00 nop 8064c14: 20058060 .word 0x20058060 8064c18: 20037b20 .word 0x20037b20 8064c1c: 200682ac .word 0x200682ac 8064c20: 20057cf8 .word 0x20057cf8 8064c24: 20008000 .word 0x20008000 8064c28: 20021560 .word 0x20021560 8064c2c: 64080000 .word 0x64080000 8064c30: 20020d96 .word 0x20020d96 8064c34: 20020dac .word 0x20020dac 8064c38: 20020070 .word 0x20020070 8064c3c: 20021d24 .word 0x20021d24 8064c40: 20020d9e .word 0x20020d9e 8064c44: 20020dd8 .word 0x20020dd8 8064c48: 20020dcc .word 0x20020dcc 8064c4c: 20020dce .word 0x20020dce 8064c50: 20020dd2 .word 0x20020dd2 8064c54: 20020d9c .word 0x20020d9c 8064c58: 20020da0 .word 0x20020da0 8064c5c: 20020dd0 .word 0x20020dd0 8064c60: 20020080 .word 0x20020080 8064c64: 2f449ba8 .word 0x2f449ba8 8064c68: 20026208 .word 0x20026208 8064c6c: 20027a00 .word 0x20027a00 8064c70: 200209d8 .word 0x200209d8 8064c74: 20021579 .word 0x20021579 8064c78: 20000000 .word 0x20000000 8064c7c: 200216cc .word 0x200216cc 8064c80: 20022e68 .word 0x20022e68 8064c84: 20023ea8 .word 0x20023ea8 8064c88: 080f2ce4 .word 0x080f2ce4 8064c8c: 20020fc2 .word 0x20020fc2 8064c90: 20020dd1 .word 0x20020dd1 In[i] = (float32_t) In16[i].lg; 8064c94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064c98: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064c9c: 49b7 ldr r1, [pc, #732] ; (8064f7c ) 8064c9e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8064ca2: ee07 2a90 vmov s15, r2 8064ca6: eef8 7a67 vcvt.f32.u32 s15, s15 8064caa: 4ab5 ldr r2, [pc, #724] ; (8064f80 ) 8064cac: 009b lsls r3, r3, #2 8064cae: 4413 add r3, r2 8064cb0: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 8064cb4: 4bb3 ldr r3, [pc, #716] ; (8064f84 ) 8064cb6: edd3 7a00 vldr s15, [r3] 8064cba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064cbe: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064cc2: 49af ldr r1, [pc, #700] ; (8064f80 ) 8064cc4: 0092 lsls r2, r2, #2 8064cc6: 440a add r2, r1 8064cc8: ed92 7a00 vldr s14, [r2] 8064ccc: ee77 7a67 vsub.f32 s15, s14, s15 8064cd0: 4aab ldr r2, [pc, #684] ; (8064f80 ) 8064cd2: 009b lsls r3, r3, #2 8064cd4: 4413 add r3, r2 8064cd6: edc3 7a00 vstr s15, [r3] if(In16[i].lg > 0xE00000) 8064cda: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064cde: 4aa7 ldr r2, [pc, #668] ; (8064f7c ) 8064ce0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8064ce4: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8064ce8: d904 bls.n 8064cf4 j++; 8064cea: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064cee: 3301 adds r3, #1 8064cf0: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 8064cf4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064cf8: 3301 adds r3, #1 8064cfa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064cfe: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064d02: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8064d06: 429a cmp r2, r3 8064d08: d3c4 bcc.n 8064c94 if(j >= 2) 8064d0a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064d0e: 2b01 cmp r3, #1 8064d10: d903 bls.n 8064d1a OVERDRIVE = true; 8064d12: 4b9d ldr r3, [pc, #628] ; (8064f88 ) 8064d14: 2201 movs r2, #1 8064d16: 701a strb r2, [r3, #0] 8064d18: e002 b.n 8064d20 else OVERDRIVE = false; 8064d1a: 4b9b ldr r3, [pc, #620] ; (8064f88 ) 8064d1c: 2200 movs r2, #0 8064d1e: 701a strb r2, [r3, #0] arm_scale_f32(In, MultRec, &SD_Buff[0].fl, blockSize); 8064d20: 4b9a ldr r3, [pc, #616] ; (8064f8c ) 8064d22: edd3 7a00 vldr s15, [r3] 8064d26: f8d7 2220 ldr.w r2, [r7, #544] ; 0x220 8064d2a: 4999 ldr r1, [pc, #612] ; (8064f90 ) 8064d2c: eeb0 0a67 vmov.f32 s0, s15 8064d30: 4893 ldr r0, [pc, #588] ; (8064f80 ) 8064d32: f069 fe99 bl 80cea68 if((pardata.IVS[ACC] & 0x3) != RMS) 8064d36: 4b97 ldr r3, [pc, #604] ; (8064f94 ) 8064d38: 789b ldrb r3, [r3, #2] 8064d3a: b2db uxtb r3, r3 8064d3c: f003 0303 and.w r3, r3, #3 8064d40: 2b01 cmp r3, #1 8064d42: f000 810e beq.w 8064f62 if(Recording) 8064d46: 4b94 ldr r3, [pc, #592] ; (8064f98 ) 8064d48: 781b ldrb r3, [r3, #0] 8064d4a: b2db uxtb r3, r3 8064d4c: 2b00 cmp r3, #0 8064d4e: f000 8108 beq.w 8064f62 TimeRec += Ns; 8064d52: 4b92 ldr r3, [pc, #584] ; (8064f9c ) 8064d54: 681a ldr r2, [r3, #0] 8064d56: 4b92 ldr r3, [pc, #584] ; (8064fa0 ) 8064d58: 681b ldr r3, [r3, #0] 8064d5a: 4413 add r3, r2 8064d5c: 4a90 ldr r2, [pc, #576] ; (8064fa0 ) 8064d5e: 6013 str r3, [r2, #0] result = f_write(&F, (void *) &SD_Buff[0].fl, (blockSize << 2), (UINT *) &i); 8064d60: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8064d64: 009a lsls r2, r3, #2 8064d66: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8064d6a: 4989 ldr r1, [pc, #548] ; (8064f90 ) 8064d6c: 488d ldr r0, [pc, #564] ; (8064fa4 ) 8064d6e: f065 fdf7 bl 80ca960 8064d72: 4603 mov r3, r0 8064d74: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if((result != FR_OK) || (TimeRec >= TIMEREC[5][pardata.TME])) { 8064d78: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 8064d7c: 2b00 cmp r3, #0 8064d7e: d10b bne.n 8064d98 8064d80: 4b84 ldr r3, [pc, #528] ; (8064f94 ) 8064d82: 7b9b ldrb r3, [r3, #14] 8064d84: b2db uxtb r3, r3 8064d86: 4a88 ldr r2, [pc, #544] ; (8064fa8 ) 8064d88: 3337 adds r3, #55 ; 0x37 8064d8a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8064d8e: 4b84 ldr r3, [pc, #528] ; (8064fa0 ) 8064d90: 681b ldr r3, [r3, #0] 8064d92: 429a cmp r2, r3 8064d94: f200 80e5 bhi.w 8064f62 NeedSTOP = true; 8064d98: 4b84 ldr r3, [pc, #528] ; (8064fac ) 8064d9a: 2201 movs r2, #1 8064d9c: 701a strb r2, [r3, #0] break; 8064d9e: e0e0 b.n 8064f62 if(menupos == GainSelecting) 8064da0: 4b83 ldr r3, [pc, #524] ; (8064fb0 ) 8064da2: 781b ldrb r3, [r3, #0] 8064da4: b2db uxtb r3, r3 8064da6: 2b02 cmp r3, #2 8064da8: d148 bne.n 8064e3c if(CalculateGain(Ns) == 0) 8064daa: 4b7c ldr r3, [pc, #496] ; (8064f9c ) 8064dac: 681b ldr r3, [r3, #0] 8064dae: 4618 mov r0, r3 8064db0: f7f1 fd70 bl 8056894 8064db4: 4603 mov r3, r0 8064db6: 2b00 cmp r3, #0 8064db8: f040 80d3 bne.w 8064f62 if(Flag_Set_KU) 8064dbc: 4b7d ldr r3, [pc, #500] ; (8064fb4 ) 8064dbe: 781b ldrb r3, [r3, #0] 8064dc0: b2db uxtb r3, r3 8064dc2: 2b00 cmp r3, #0 8064dc4: d01b beq.n 8064dfe SetKU(); 8064dc6: f7bc fd55 bl 8021874 HAL_Delay(1000); 8064dca: f44f 707a mov.w r0, #1000 ; 0x3e8 8064dce: f052 f835 bl 80b6e3c MeanCnt = 0; 8064dd2: 4b79 ldr r3, [pc, #484] ; (8064fb8 ) 8064dd4: 2200 movs r2, #0 8064dd6: 601a str r2, [r3, #0] RepeatKm = true; 8064dd8: 4b78 ldr r3, [pc, #480] ; (8064fbc ) 8064dda: 2201 movs r2, #1 8064ddc: 701a strb r2, [r3, #0] FirstTime = true; 8064dde: 4b78 ldr r3, [pc, #480] ; (8064fc0 ) 8064de0: 2201 movs r2, #1 8064de2: 701a strb r2, [r3, #0] FIRST = false; 8064de4: 4b77 ldr r3, [pc, #476] ; (8064fc4 ) 8064de6: 2200 movs r2, #0 8064de8: 701a strb r2, [r3, #0] cntADC = 0; 8064dea: 4b77 ldr r3, [pc, #476] ; (8064fc8 ) 8064dec: 2200 movs r2, #0 8064dee: 801a strh r2, [r3, #0] Flag_Set_KU = 0; 8064df0: 4b70 ldr r3, [pc, #448] ; (8064fb4 ) 8064df2: 2200 movs r2, #0 8064df4: 701a strb r2, [r3, #0] cntmeas = 0; 8064df6: 4b75 ldr r3, [pc, #468] ; (8064fcc ) 8064df8: 2200 movs r2, #0 8064dfa: 801a strh r2, [r3, #0] break; 8064dfc: e0b1 b.n 8064f62 menupos = ReadyRec; 8064dfe: 4b6c ldr r3, [pc, #432] ; (8064fb0 ) 8064e00: 2203 movs r2, #3 8064e02: 701a strb r2, [r3, #0] Recording = false; 8064e04: 4b64 ldr r3, [pc, #400] ; (8064f98 ) 8064e06: 2200 movs r2, #0 8064e08: 701a strb r2, [r3, #0] RepeatKm = false; 8064e0a: 4b6c ldr r3, [pc, #432] ; (8064fbc ) 8064e0c: 2200 movs r2, #0 8064e0e: 701a strb r2, [r3, #0] FirstTime = false; 8064e10: 4b6b ldr r3, [pc, #428] ; (8064fc0 ) 8064e12: 2200 movs r2, #0 8064e14: 701a strb r2, [r3, #0] cntADC = 0; 8064e16: 4b6c ldr r3, [pc, #432] ; (8064fc8 ) 8064e18: 2200 movs r2, #0 8064e1a: 801a strh r2, [r3, #0] cntmeas = 0; 8064e1c: 4b6b ldr r3, [pc, #428] ; (8064fcc ) 8064e1e: 2200 movs r2, #0 8064e20: 801a strh r2, [r3, #0] MultRec = _b24V * CorrKk[ACC] * 2; 8064e22: 4b6b ldr r3, [pc, #428] ; (8064fd0 ) 8064e24: edd3 7a00 vldr s15, [r3] 8064e28: ed9f 7a6a vldr s14, [pc, #424] ; 8064fd4 8064e2c: ee67 7a87 vmul.f32 s15, s15, s14 8064e30: ee77 7aa7 vadd.f32 s15, s15, s15 8064e34: 4b55 ldr r3, [pc, #340] ; (8064f8c ) 8064e36: edc3 7a00 vstr s15, [r3] break; 8064e3a: e092 b.n 8064f62 if(Recording) 8064e3c: 4b56 ldr r3, [pc, #344] ; (8064f98 ) 8064e3e: 781b ldrb r3, [r3, #0] 8064e40: b2db uxtb r3, r3 8064e42: 2b00 cmp r3, #0 8064e44: f000 808d beq.w 8064f62 for(i = 0; i < blockSize; i++) 8064e48: 2300 movs r3, #0 8064e4a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064e4e: e034 b.n 8064eba In[i] = (float32_t) In16[i].lg; 8064e50: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064e54: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064e58: 4948 ldr r1, [pc, #288] ; (8064f7c ) 8064e5a: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8064e5e: ee07 2a90 vmov s15, r2 8064e62: eef8 7a67 vcvt.f32.u32 s15, s15 8064e66: 4a46 ldr r2, [pc, #280] ; (8064f80 ) 8064e68: 009b lsls r3, r3, #2 8064e6a: 4413 add r3, r2 8064e6c: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 8064e70: 4b44 ldr r3, [pc, #272] ; (8064f84 ) 8064e72: edd3 7a00 vldr s15, [r3] 8064e76: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064e7a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064e7e: 4940 ldr r1, [pc, #256] ; (8064f80 ) 8064e80: 0092 lsls r2, r2, #2 8064e82: 440a add r2, r1 8064e84: ed92 7a00 vldr s14, [r2] 8064e88: ee77 7a67 vsub.f32 s15, s14, s15 8064e8c: 4a3c ldr r2, [pc, #240] ; (8064f80 ) 8064e8e: 009b lsls r3, r3, #2 8064e90: 4413 add r3, r2 8064e92: edc3 7a00 vstr s15, [r3] if(In16[i].lg > 0xE00000) 8064e96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064e9a: 4a38 ldr r2, [pc, #224] ; (8064f7c ) 8064e9c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8064ea0: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8064ea4: d904 bls.n 8064eb0 j++; 8064ea6: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064eaa: 3301 adds r3, #1 8064eac: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 8064eb0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064eb4: 3301 adds r3, #1 8064eb6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064eba: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064ebe: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8064ec2: 429a cmp r2, r3 8064ec4: d3c4 bcc.n 8064e50 if(j >= 2) 8064ec6: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064eca: 2b01 cmp r3, #1 8064ecc: d903 bls.n 8064ed6 OVERDRIVE = true; 8064ece: 4b2e ldr r3, [pc, #184] ; (8064f88 ) 8064ed0: 2201 movs r2, #1 8064ed2: 701a strb r2, [r3, #0] 8064ed4: e002 b.n 8064edc else OVERDRIVE = false; 8064ed6: 4b2c ldr r3, [pc, #176] ; (8064f88 ) 8064ed8: 2200 movs r2, #0 8064eda: 701a strb r2, [r3, #0] arm_scale_f32(In, MultRec, &SD_Buff[0].fl, blockSize); 8064edc: 4b2b ldr r3, [pc, #172] ; (8064f8c ) 8064ede: edd3 7a00 vldr s15, [r3] 8064ee2: f8d7 2220 ldr.w r2, [r7, #544] ; 0x220 8064ee6: 492a ldr r1, [pc, #168] ; (8064f90 ) 8064ee8: eeb0 0a67 vmov.f32 s0, s15 8064eec: 4824 ldr r0, [pc, #144] ; (8064f80 ) 8064eee: f069 fdbb bl 80cea68 TimeRec += Ns; 8064ef2: 4b2a ldr r3, [pc, #168] ; (8064f9c ) 8064ef4: 681a ldr r2, [r3, #0] 8064ef6: 4b2a ldr r3, [pc, #168] ; (8064fa0 ) 8064ef8: 681b ldr r3, [r3, #0] 8064efa: 4413 add r3, r2 8064efc: 4a28 ldr r2, [pc, #160] ; (8064fa0 ) 8064efe: 6013 str r3, [r2, #0] result = f_write(&F, (uint32_t *) &SD_Buff[0].fl, (blockSize << 2), (UINT *) &i); 8064f00: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8064f04: 009a lsls r2, r3, #2 8064f06: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8064f0a: 4921 ldr r1, [pc, #132] ; (8064f90 ) 8064f0c: 4825 ldr r0, [pc, #148] ; (8064fa4 ) 8064f0e: f065 fd27 bl 80ca960 8064f12: 4603 mov r3, r0 8064f14: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if((result != FR_OK) || (TimeRec >= TIMEREC[5][pardata.TME])) { 8064f18: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 8064f1c: 2b00 cmp r3, #0 8064f1e: d10a bne.n 8064f36 8064f20: 4b1c ldr r3, [pc, #112] ; (8064f94 ) 8064f22: 7b9b ldrb r3, [r3, #14] 8064f24: b2db uxtb r3, r3 8064f26: 4a20 ldr r2, [pc, #128] ; (8064fa8 ) 8064f28: 3337 adds r3, #55 ; 0x37 8064f2a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8064f2e: 4b1c ldr r3, [pc, #112] ; (8064fa0 ) 8064f30: 681b ldr r3, [r3, #0] 8064f32: 429a cmp r2, r3 8064f34: d815 bhi.n 8064f62 NeedSTOP = true; 8064f36: 4b1d ldr r3, [pc, #116] ; (8064fac ) 8064f38: 2201 movs r2, #1 8064f3a: 701a strb r2, [r3, #0] break; 8064f3c: e011 b.n 8064f62 break; 8064f3e: bf00 nop 8064f40: e010 b.n 8064f64 break; 8064f42: bf00 nop 8064f44: e00e b.n 8064f64 break; 8064f46: bf00 nop 8064f48: e00c b.n 8064f64 break; 8064f4a: bf00 nop 8064f4c: e00a b.n 8064f64 break; 8064f4e: bf00 nop 8064f50: e008 b.n 8064f64 break; 8064f52: bf00 nop 8064f54: e006 b.n 8064f64 break; 8064f56: bf00 nop 8064f58: e004 b.n 8064f64 break; 8064f5a: bf00 nop 8064f5c: e002 b.n 8064f64 break; 8064f5e: bf00 nop 8064f60: e000 b.n 8064f64 break; 8064f62: bf00 nop } } Processing(); 8064f64: f000 f83a bl 8064fdc READY = DATA_FREE; 8064f68: 4b1b ldr r3, [pc, #108] ; (8064fd8 ) 8064f6a: 2200 movs r2, #0 8064f6c: 701a strb r2, [r3, #0] /*if(Initialized) { BT_SendMeas(); }*/ } 8064f6e: f507 770b add.w r7, r7, #556 ; 0x22c 8064f72: 46bd mov sp, r7 8064f74: ecbd 8b04 vpop {d8-d9} 8064f78: bd90 pop {r4, r7, pc} 8064f7a: bf00 nop 8064f7c: 20058060 .word 0x20058060 8064f80: 20027a00 .word 0x20027a00 8064f84: 200209d8 .word 0x200209d8 8064f88: 20021579 .word 0x20021579 8064f8c: 20026208 .word 0x20026208 8064f90: 20000000 .word 0x20000000 8064f94: 20023ea8 .word 0x20023ea8 8064f98: 20020dd0 .word 0x20020dd0 8064f9c: 20021d24 .word 0x20021d24 8064fa0: 200216cc .word 0x200216cc 8064fa4: 20022e68 .word 0x20022e68 8064fa8: 080f2ce4 .word 0x080f2ce4 8064fac: 20020fc2 .word 0x20020fc2 8064fb0: 20020070 .word 0x20020070 8064fb4: 20020d9e .word 0x20020d9e 8064fb8: 20020dd8 .word 0x20020dd8 8064fbc: 20020dcc .word 0x20020dcc 8064fc0: 20020dce .word 0x20020dce 8064fc4: 20020dd2 .word 0x20020dd2 8064fc8: 20020d9c .word 0x20020d9c 8064fcc: 20020da0 .word 0x20020da0 8064fd0: 20020080 .word 0x20020080 8064fd4: 2f449ba8 .word 0x2f449ba8 8064fd8: 20020d9f .word 0x20020d9f 08064fdc : void Processing(void) { 8064fdc: b580 push {r7, lr} 8064fde: af00 add r7, sp, #0 if(pardata.SYG != WAVE) 8064fe0: 4b64 ldr r3, [pc, #400] ; (8065174 ) 8064fe2: 781b ldrb r3, [r3, #0] 8064fe4: b2db uxtb r3, r3 8064fe6: 2b04 cmp r3, #4 8064fe8: f000 80b5 beq.w 8065156 { if(Flag_Set_KU) 8064fec: 4b62 ldr r3, [pc, #392] ; (8065178 ) 8064fee: 781b ldrb r3, [r3, #0] 8064ff0: b2db uxtb r3, r3 8064ff2: 2b00 cmp r3, #0 8064ff4: d04e beq.n 8065094 { SetKU(); 8064ff6: f7bc fc3d bl 8021874 HAL_Delay(300); 8064ffa: f44f 7096 mov.w r0, #300 ; 0x12c 8064ffe: f051 ff1d bl 80b6e3c MeanCnt = 0; 8065002: 4b5e ldr r3, [pc, #376] ; (806517c ) 8065004: 2200 movs r2, #0 8065006: 601a str r2, [r3, #0] RepeatKm = true; 8065008: 4b5d ldr r3, [pc, #372] ; (8065180 ) 806500a: 2201 movs r2, #1 806500c: 701a strb r2, [r3, #0] FirstTime = true; 806500e: 4b5d ldr r3, [pc, #372] ; (8065184 ) 8065010: 2201 movs r2, #1 8065012: 701a strb r2, [r3, #0] //initFilters(); firstOkt = true; 8065014: 4b5c ldr r3, [pc, #368] ; (8065188 ) 8065016: 2201 movs r2, #1 8065018: 701a strb r2, [r3, #0] cntOkt = 0; 806501a: 4b5c ldr r3, [pc, #368] ; (806518c ) 806501c: 2200 movs r2, #0 806501e: 601a str r2, [r3, #0] rms0_8 = 0.0f; 8065020: 4b5b ldr r3, [pc, #364] ; (8065190 ) 8065022: f04f 0200 mov.w r2, #0 8065026: 601a str r2, [r3, #0] rms1 = 0.0f; 8065028: 4b5a ldr r3, [pc, #360] ; (8065194 ) 806502a: f04f 0200 mov.w r2, #0 806502e: 601a str r2, [r3, #0] rms1_25 = 0.0f; 8065030: 4b59 ldr r3, [pc, #356] ; (8065198 ) 8065032: f04f 0200 mov.w r2, #0 8065036: 601a str r2, [r3, #0] rms1_6 = 0.0f; 8065038: 4b58 ldr r3, [pc, #352] ; (806519c ) 806503a: f04f 0200 mov.w r2, #0 806503e: 601a str r2, [r3, #0] rms2 = 0.0f; 8065040: 4b57 ldr r3, [pc, #348] ; (80651a0 ) 8065042: f04f 0200 mov.w r2, #0 8065046: 601a str r2, [r3, #0] rms2_5 = 0.0f; 8065048: 4b56 ldr r3, [pc, #344] ; (80651a4 ) 806504a: f04f 0200 mov.w r2, #0 806504e: 601a str r2, [r3, #0] rms3_15 = 0.0f; 8065050: 4b55 ldr r3, [pc, #340] ; (80651a8 ) 8065052: f04f 0200 mov.w r2, #0 8065056: 601a str r2, [r3, #0] rms4 = 0.0f; 8065058: 4b54 ldr r3, [pc, #336] ; (80651ac ) 806505a: f04f 0200 mov.w r2, #0 806505e: 601a str r2, [r3, #0] rms5 = 0.0f; 8065060: 4b53 ldr r3, [pc, #332] ; (80651b0 ) 8065062: f04f 0200 mov.w r2, #0 8065066: 601a str r2, [r3, #0] rms6_3 = 0.0f; 8065068: 4b52 ldr r3, [pc, #328] ; (80651b4 ) 806506a: f04f 0200 mov.w r2, #0 806506e: 601a str r2, [r3, #0] rms8 = 0.0f; 8065070: 4b51 ldr r3, [pc, #324] ; (80651b8 ) 8065072: f04f 0200 mov.w r2, #0 8065076: 601a str r2, [r3, #0] rms10 = 0.0f; 8065078: 4b50 ldr r3, [pc, #320] ; (80651bc ) 806507a: f04f 0200 mov.w r2, #0 806507e: 601a str r2, [r3, #0] cntADC = 0; 8065080: 4b4f ldr r3, [pc, #316] ; (80651c0 ) 8065082: 2200 movs r2, #0 8065084: 801a strh r2, [r3, #0] cntmeas = 0; 8065086: 4b4f ldr r3, [pc, #316] ; (80651c4 ) 8065088: 2200 movs r2, #0 806508a: 801a strh r2, [r3, #0] Flag_Set_KU = 0; 806508c: 4b3a ldr r3, [pc, #232] ; (8065178 ) 806508e: 2200 movs r2, #0 8065090: 701a strb r2, [r3, #0] 8065092: e063 b.n 806515c } else { if(FirstTime) 8065094: 4b3b ldr r3, [pc, #236] ; (8065184 ) 8065096: 781b ldrb r3, [r3, #0] 8065098: b2db uxtb r3, r3 806509a: 2b00 cmp r3, #0 806509c: d008 beq.n 80650b0 { FirstTime = false; 806509e: 4b39 ldr r3, [pc, #228] ; (8065184 ) 80650a0: 2200 movs r2, #0 80650a2: 701a strb r2, [r3, #0] cntADC = 0; 80650a4: 4b46 ldr r3, [pc, #280] ; (80651c0 ) 80650a6: 2200 movs r2, #0 80650a8: 801a strh r2, [r3, #0] cntmeas = 0; 80650aa: 4b46 ldr r3, [pc, #280] ; (80651c4 ) 80650ac: 2200 movs r2, #0 80650ae: 801a strh r2, [r3, #0] } if(RepeatKm) 80650b0: 4b33 ldr r3, [pc, #204] ; (8065180 ) 80650b2: 781b ldrb r3, [r3, #0] 80650b4: b2db uxtb r3, r3 80650b6: 2b00 cmp r3, #0 80650b8: d01c beq.n 80650f4 { RepeatKm = false; 80650ba: 4b31 ldr r3, [pc, #196] ; (8065180 ) 80650bc: 2200 movs r2, #0 80650be: 701a strb r2, [r3, #0] FIRST = false; 80650c0: 4b41 ldr r3, [pc, #260] ; (80651c8 ) 80650c2: 2200 movs r2, #0 80650c4: 701a strb r2, [r3, #0] if((pardata.SYG == OSC) || ((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == ROLL))) { 80650c6: 4b2b ldr r3, [pc, #172] ; (8065174 ) 80650c8: 781b ldrb r3, [r3, #0] 80650ca: b2db uxtb r3, r3 80650cc: 2b02 cmp r3, #2 80650ce: d00e beq.n 80650ee 80650d0: 4b28 ldr r3, [pc, #160] ; (8065174 ) 80650d2: 781b ldrb r3, [r3, #0] 80650d4: b2db uxtb r3, r3 80650d6: 2b01 cmp r3, #1 80650d8: d009 beq.n 80650ee 80650da: 4b26 ldr r3, [pc, #152] ; (8065174 ) 80650dc: 781b ldrb r3, [r3, #0] 80650de: b2db uxtb r3, r3 80650e0: 2b05 cmp r3, #5 80650e2: d004 beq.n 80650ee 80650e4: 4b23 ldr r3, [pc, #140] ; (8065174 ) 80650e6: 781b ldrb r3, [r3, #0] 80650e8: b2db uxtb r3, r3 80650ea: 2b08 cmp r3, #8 80650ec: d102 bne.n 80650f4 AUTOZOOM = true; 80650ee: 4b37 ldr r3, [pc, #220] ; (80651cc ) 80650f0: 2201 movs r2, #1 80650f2: 701a strb r2, [r3, #0] } } if(firstmeas) 80650f4: 4b36 ldr r3, [pc, #216] ; (80651d0 ) 80650f6: 781b ldrb r3, [r3, #0] 80650f8: b2db uxtb r3, r3 80650fa: 2b00 cmp r3, #0 80650fc: d020 beq.n 8065140 { firstmeas = false; 80650fe: 4b34 ldr r3, [pc, #208] ; (80651d0 ) 8065100: 2200 movs r2, #0 8065102: 701a strb r2, [r3, #0] FIRST = false; 8065104: 4b30 ldr r3, [pc, #192] ; (80651c8 ) 8065106: 2200 movs r2, #0 8065108: 701a strb r2, [r3, #0] NSamples = 1; 806510a: 4b32 ldr r3, [pc, #200] ; (80651d4 ) 806510c: 2201 movs r2, #1 806510e: 601a str r2, [r3, #0] if((pardata.SYG == OSC) || (pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == ROLL)) { 8065110: 4b18 ldr r3, [pc, #96] ; (8065174 ) 8065112: 781b ldrb r3, [r3, #0] 8065114: b2db uxtb r3, r3 8065116: 2b02 cmp r3, #2 8065118: d00e beq.n 8065138 806511a: 4b16 ldr r3, [pc, #88] ; (8065174 ) 806511c: 781b ldrb r3, [r3, #0] 806511e: b2db uxtb r3, r3 8065120: 2b01 cmp r3, #1 8065122: d009 beq.n 8065138 8065124: 4b13 ldr r3, [pc, #76] ; (8065174 ) 8065126: 781b ldrb r3, [r3, #0] 8065128: b2db uxtb r3, r3 806512a: 2b05 cmp r3, #5 806512c: d004 beq.n 8065138 806512e: 4b11 ldr r3, [pc, #68] ; (8065174 ) 8065130: 781b ldrb r3, [r3, #0] 8065132: b2db uxtb r3, r3 8065134: 2b08 cmp r3, #8 8065136: d111 bne.n 806515c AUTOZOOM = true; 8065138: 4b24 ldr r3, [pc, #144] ; (80651cc ) 806513a: 2201 movs r2, #1 806513c: 701a strb r2, [r3, #0] 806513e: e00d b.n 806515c } } else { if(measuring) { 8065140: 4b25 ldr r3, [pc, #148] ; (80651d8 ) 8065142: 781b ldrb r3, [r3, #0] 8065144: b2db uxtb r3, r3 8065146: 2b00 cmp r3, #0 8065148: d008 beq.n 806515c NSamples++; 806514a: 4b22 ldr r3, [pc, #136] ; (80651d4 ) 806514c: 681b ldr r3, [r3, #0] 806514e: 3301 adds r3, #1 8065150: 4a20 ldr r2, [pc, #128] ; (80651d4 ) 8065152: 6013 str r3, [r2, #0] 8065154: e002 b.n 806515c } } } else { Flag_Set_KU = 0; 8065156: 4b08 ldr r3, [pc, #32] ; (8065178 ) 8065158: 2200 movs r2, #0 806515a: 701a strb r2, [r3, #0] } if(NeedSTOP) 806515c: 4b1f ldr r3, [pc, #124] ; (80651dc ) 806515e: 781b ldrb r3, [r3, #0] 8065160: b2db uxtb r3, r3 8065162: 2b00 cmp r3, #0 8065164: d004 beq.n 8065170 { NeedSTOP = false; 8065166: 4b1d ldr r3, [pc, #116] ; (80651dc ) 8065168: 2200 movs r2, #0 806516a: 701a strb r2, [r3, #0] StopMeas(); 806516c: f7be fb16 bl 802379c } } 8065170: bf00 nop 8065172: bd80 pop {r7, pc} 8065174: 20023ea8 .word 0x20023ea8 8065178: 20020d9e .word 0x20020d9e 806517c: 20020dd8 .word 0x20020dd8 8065180: 20020dcc .word 0x20020dcc 8065184: 20020dce .word 0x20020dce 8065188: 20020db4 .word 0x20020db4 806518c: 20020db0 .word 0x20020db0 8065190: 20021d1c .word 0x20021d1c 8065194: 20021d58 .word 0x20021d58 8065198: 20021d10 .word 0x20021d10 806519c: 20021d14 .word 0x20021d14 80651a0: 20021d20 .word 0x20021d20 80651a4: 20021d40 .word 0x20021d40 80651a8: 20021d5c .word 0x20021d5c 80651ac: 20021d60 .word 0x20021d60 80651b0: 20021d2c .word 0x20021d2c 80651b4: 20021d28 .word 0x20021d28 80651b8: 20021d18 .word 0x20021d18 80651bc: 20021d54 .word 0x20021d54 80651c0: 20020d9c .word 0x20020d9c 80651c4: 20020da0 .word 0x20020da0 80651c8: 20020dd2 .word 0x20020dd2 80651cc: 20020994 .word 0x20020994 80651d0: 20020dcd .word 0x20020dcd 80651d4: 20020da8 .word 0x20020da8 80651d8: 20020dcf .word 0x20020dcf 80651dc: 20020fc2 .word 0x20020fc2 080651e0 : void FastCopy16(DMA_DataType Src, DMA_DataType Dst, uint32_t NumHalfWords) { 80651e0: b580 push {r7, lr} 80651e2: b084 sub sp, #16 80651e4: af00 add r7, sp, #0 80651e6: 4603 mov r3, r0 80651e8: 603a str r2, [r7, #0] 80651ea: 71fb strb r3, [r7, #7] 80651ec: 460b mov r3, r1 80651ee: 71bb strb r3, [r7, #6] uint32_t AddrSrc, AddrDst; if(Src == IN_Reg) 80651f0: 79fb ldrb r3, [r7, #7] 80651f2: 2b01 cmp r3, #1 80651f4: d102 bne.n 80651fc AddrSrc = (uint32_t) In; 80651f6: 4b39 ldr r3, [pc, #228] ; (80652dc ) 80651f8: 60fb str r3, [r7, #12] 80651fa: e02e b.n 806525a else if(Src == OUT_Reg) 80651fc: 79fb ldrb r3, [r7, #7] 80651fe: 2b09 cmp r3, #9 8065200: d102 bne.n 8065208 AddrSrc = (uint32_t) Out; 8065202: 4b37 ldr r3, [pc, #220] ; (80652e0 ) 8065204: 60fb str r3, [r7, #12] 8065206: e028 b.n 806525a else if(Src == IN16_Reg) 8065208: 79fb ldrb r3, [r7, #7] 806520a: 2b00 cmp r3, #0 806520c: d102 bne.n 8065214 AddrSrc = (uint32_t) In16; 806520e: 4b35 ldr r3, [pc, #212] ; (80652e4 ) 8065210: 60fb str r3, [r7, #12] 8065212: e022 b.n 806525a else if(Src == MEAN_Reg) 8065214: 79fb ldrb r3, [r7, #7] 8065216: 2b03 cmp r3, #3 8065218: d102 bne.n 8065220 AddrSrc = (uint32_t) pMeanA_u16; 806521a: 4b33 ldr r3, [pc, #204] ; (80652e8 ) 806521c: 60fb str r3, [r7, #12] 806521e: e01c b.n 806525a else if(Src == SCR_Reg) 8065220: 79fb ldrb r3, [r7, #7] 8065222: 2b04 cmp r3, #4 8065224: d102 bne.n 806522c AddrSrc = (uint32_t) pScrA_u16; 8065226: 4b31 ldr r3, [pc, #196] ; (80652ec ) 8065228: 60fb str r3, [r7, #12] 806522a: e016 b.n 806525a else if(Src == CMPLX_A) 806522c: 79fb ldrb r3, [r7, #7] 806522e: 2b05 cmp r3, #5 8065230: d102 bne.n 8065238 AddrSrc = (uint32_t) pCmplxA_u16; 8065232: 4b2f ldr r3, [pc, #188] ; (80652f0 ) 8065234: 60fb str r3, [r7, #12] 8065236: e010 b.n 806525a else if(Src == CMPLX_V) 8065238: 79fb ldrb r3, [r7, #7] 806523a: 2b06 cmp r3, #6 806523c: d102 bne.n 8065244 AddrSrc = (uint32_t) pCmplxA_u16; 806523e: 4b2c ldr r3, [pc, #176] ; (80652f0 ) 8065240: 60fb str r3, [r7, #12] 8065242: e00a b.n 806525a else if(Src == CMPLX_S) 8065244: 79fb ldrb r3, [r7, #7] 8065246: 2b07 cmp r3, #7 8065248: d102 bne.n 8065250 AddrSrc = (uint32_t) pCmplxA_u16; 806524a: 4b29 ldr r3, [pc, #164] ; (80652f0 ) 806524c: 60fb str r3, [r7, #12] 806524e: e004 b.n 806525a else if(Src == WAV_SECTOR) 8065250: 79fb ldrb r3, [r7, #7] 8065252: 2b08 cmp r3, #8 8065254: d101 bne.n 806525a AddrSrc = (uint32_t) sector; 8065256: 4b27 ldr r3, [pc, #156] ; (80652f4 ) 8065258: 60fb str r3, [r7, #12] if(Dst == IN_Reg) 806525a: 79bb ldrb r3, [r7, #6] 806525c: 2b01 cmp r3, #1 806525e: d102 bne.n 8065266 AddrDst = (uint32_t) In; 8065260: 4b1e ldr r3, [pc, #120] ; (80652dc ) 8065262: 60bb str r3, [r7, #8] 8065264: e02e b.n 80652c4 else if(Dst == OUT_Reg) 8065266: 79bb ldrb r3, [r7, #6] 8065268: 2b09 cmp r3, #9 806526a: d102 bne.n 8065272 AddrDst = (uint32_t) Out; 806526c: 4b1c ldr r3, [pc, #112] ; (80652e0 ) 806526e: 60bb str r3, [r7, #8] 8065270: e028 b.n 80652c4 else if(Dst == IN16_Reg) 8065272: 79bb ldrb r3, [r7, #6] 8065274: 2b00 cmp r3, #0 8065276: d102 bne.n 806527e AddrDst = (uint32_t) In16; 8065278: 4b1a ldr r3, [pc, #104] ; (80652e4 ) 806527a: 60bb str r3, [r7, #8] 806527c: e022 b.n 80652c4 else if(Dst == MEAN_Reg) 806527e: 79bb ldrb r3, [r7, #6] 8065280: 2b03 cmp r3, #3 8065282: d102 bne.n 806528a AddrDst = (uint32_t) pMeanA_u16; 8065284: 4b18 ldr r3, [pc, #96] ; (80652e8 ) 8065286: 60bb str r3, [r7, #8] 8065288: e01c b.n 80652c4 else if(Dst == SCR_Reg) 806528a: 79bb ldrb r3, [r7, #6] 806528c: 2b04 cmp r3, #4 806528e: d102 bne.n 8065296 AddrDst = (uint32_t) pScrA_u16; 8065290: 4b16 ldr r3, [pc, #88] ; (80652ec ) 8065292: 60bb str r3, [r7, #8] 8065294: e016 b.n 80652c4 else if(Dst == CMPLX_A) 8065296: 79bb ldrb r3, [r7, #6] 8065298: 2b05 cmp r3, #5 806529a: d102 bne.n 80652a2 AddrDst = (uint32_t) pCmplxA_u16; 806529c: 4b14 ldr r3, [pc, #80] ; (80652f0 ) 806529e: 60bb str r3, [r7, #8] 80652a0: e010 b.n 80652c4 else if(Dst == CMPLX_V) 80652a2: 79bb ldrb r3, [r7, #6] 80652a4: 2b06 cmp r3, #6 80652a6: d102 bne.n 80652ae AddrDst = (uint32_t) pCmplxA_u16; 80652a8: 4b11 ldr r3, [pc, #68] ; (80652f0 ) 80652aa: 60bb str r3, [r7, #8] 80652ac: e00a b.n 80652c4 else if(Dst == CMPLX_S) 80652ae: 79bb ldrb r3, [r7, #6] 80652b0: 2b07 cmp r3, #7 80652b2: d102 bne.n 80652ba AddrDst = (uint32_t) pCmplxA_u16; 80652b4: 4b0e ldr r3, [pc, #56] ; (80652f0 ) 80652b6: 60bb str r3, [r7, #8] 80652b8: e004 b.n 80652c4 else if(Dst == WAV_SECTOR) 80652ba: 79bb ldrb r3, [r7, #6] 80652bc: 2b08 cmp r3, #8 80652be: d101 bne.n 80652c4 AddrDst = (uint32_t) sector; 80652c0: 4b0c ldr r3, [pc, #48] ; (80652f4 ) 80652c2: 60bb str r3, [r7, #8] #ifdef USE_DMA_MEMCPY DMA_MemToMem_HALFWORD(AddrSrc, AddrDst, NumHalfWords); #else memcpy((void *) AddrDst, (void *) AddrSrc, (NumHalfWords << 1)); 80652c4: 68b8 ldr r0, [r7, #8] 80652c6: 68f9 ldr r1, [r7, #12] 80652c8: 683b ldr r3, [r7, #0] 80652ca: 005b lsls r3, r3, #1 80652cc: 461a mov r2, r3 80652ce: f06c f85c bl 80d138a #endif } 80652d2: bf00 nop 80652d4: 3710 adds r7, #16 80652d6: 46bd mov sp, r7 80652d8: bd80 pop {r7, pc} 80652da: bf00 nop 80652dc: 20027a00 .word 0x20027a00 80652e0: 20008000 .word 0x20008000 80652e4: 20058060 .word 0x20058060 80652e8: 640a0000 .word 0x640a0000 80652ec: 64080000 .word 0x64080000 80652f0: 64090000 .word 0x64090000 80652f4: 2007c000 .word 0x2007c000 080652f8 : void ARM_ADD_F32(DMA_DataType A, DMA_DataType B, DMA_DataType Dst, uint32_t BlockSize) { 80652f8: b580 push {r7, lr} 80652fa: b086 sub sp, #24 80652fc: af00 add r7, sp, #0 80652fe: 603b str r3, [r7, #0] 8065300: 4603 mov r3, r0 8065302: 71fb strb r3, [r7, #7] 8065304: 460b mov r3, r1 8065306: 71bb strb r3, [r7, #6] 8065308: 4613 mov r3, r2 806530a: 717b strb r3, [r7, #5] float32_t *AddrSrc1; float32_t *AddrSrc2; float32_t *AddrDst; if(A == IN_Reg) 806530c: 79fb ldrb r3, [r7, #7] 806530e: 2b01 cmp r3, #1 8065310: d102 bne.n 8065318 AddrSrc1 = In; 8065312: 4b38 ldr r3, [pc, #224] ; (80653f4 ) 8065314: 617b str r3, [r7, #20] 8065316: e01c b.n 8065352 else if(A == MEAN_Reg) 8065318: 79fb ldrb r3, [r7, #7] 806531a: 2b03 cmp r3, #3 806531c: d102 bne.n 8065324 AddrSrc1 = pMeanA_f32; 806531e: 4b36 ldr r3, [pc, #216] ; (80653f8 ) 8065320: 617b str r3, [r7, #20] 8065322: e016 b.n 8065352 else if(A == SCR_Reg) 8065324: 79fb ldrb r3, [r7, #7] 8065326: 2b04 cmp r3, #4 8065328: d102 bne.n 8065330 AddrSrc1 = pScrA_f32; 806532a: 4b34 ldr r3, [pc, #208] ; (80653fc ) 806532c: 617b str r3, [r7, #20] 806532e: e010 b.n 8065352 else if(A == CMPLX_A) 8065330: 79fb ldrb r3, [r7, #7] 8065332: 2b05 cmp r3, #5 8065334: d102 bne.n 806533c AddrSrc1 = pCmplxA_f32; 8065336: 4b32 ldr r3, [pc, #200] ; (8065400 ) 8065338: 617b str r3, [r7, #20] 806533a: e00a b.n 8065352 else if(A == CMPLX_V) 806533c: 79fb ldrb r3, [r7, #7] 806533e: 2b06 cmp r3, #6 8065340: d102 bne.n 8065348 AddrSrc1 = pCmplxA_f32; 8065342: 4b2f ldr r3, [pc, #188] ; (8065400 ) 8065344: 617b str r3, [r7, #20] 8065346: e004 b.n 8065352 else if(A == CMPLX_S) 8065348: 79fb ldrb r3, [r7, #7] 806534a: 2b07 cmp r3, #7 806534c: d101 bne.n 8065352 AddrSrc1 = pCmplxA_f32; 806534e: 4b2c ldr r3, [pc, #176] ; (8065400 ) 8065350: 617b str r3, [r7, #20] if(B == IN_Reg) 8065352: 79bb ldrb r3, [r7, #6] 8065354: 2b01 cmp r3, #1 8065356: d102 bne.n 806535e AddrSrc2 = In; 8065358: 4b26 ldr r3, [pc, #152] ; (80653f4 ) 806535a: 613b str r3, [r7, #16] 806535c: e01c b.n 8065398 else if(B == MEAN_Reg) 806535e: 79bb ldrb r3, [r7, #6] 8065360: 2b03 cmp r3, #3 8065362: d102 bne.n 806536a AddrSrc2 = pMeanA_f32; 8065364: 4b24 ldr r3, [pc, #144] ; (80653f8 ) 8065366: 613b str r3, [r7, #16] 8065368: e016 b.n 8065398 else if(B == SCR_Reg) 806536a: 79bb ldrb r3, [r7, #6] 806536c: 2b04 cmp r3, #4 806536e: d102 bne.n 8065376 AddrSrc2 = pScrA_f32; 8065370: 4b22 ldr r3, [pc, #136] ; (80653fc ) 8065372: 613b str r3, [r7, #16] 8065374: e010 b.n 8065398 else if(B == CMPLX_A) 8065376: 79bb ldrb r3, [r7, #6] 8065378: 2b05 cmp r3, #5 806537a: d102 bne.n 8065382 AddrSrc2 = pCmplxA_f32; 806537c: 4b20 ldr r3, [pc, #128] ; (8065400 ) 806537e: 613b str r3, [r7, #16] 8065380: e00a b.n 8065398 else if(B == CMPLX_V) 8065382: 79bb ldrb r3, [r7, #6] 8065384: 2b06 cmp r3, #6 8065386: d102 bne.n 806538e AddrSrc2 = pCmplxA_f32; 8065388: 4b1d ldr r3, [pc, #116] ; (8065400 ) 806538a: 613b str r3, [r7, #16] 806538c: e004 b.n 8065398 else if(B == CMPLX_S) 806538e: 79bb ldrb r3, [r7, #6] 8065390: 2b07 cmp r3, #7 8065392: d101 bne.n 8065398 AddrSrc2 = pCmplxA_f32; 8065394: 4b1a ldr r3, [pc, #104] ; (8065400 ) 8065396: 613b str r3, [r7, #16] if(Dst == IN_Reg) 8065398: 797b ldrb r3, [r7, #5] 806539a: 2b01 cmp r3, #1 806539c: d102 bne.n 80653a4 AddrDst = In; 806539e: 4b15 ldr r3, [pc, #84] ; (80653f4 ) 80653a0: 60fb str r3, [r7, #12] 80653a2: e01c b.n 80653de else if(Dst == MEAN_Reg) 80653a4: 797b ldrb r3, [r7, #5] 80653a6: 2b03 cmp r3, #3 80653a8: d102 bne.n 80653b0 AddrDst = pMeanA_f32; 80653aa: 4b13 ldr r3, [pc, #76] ; (80653f8 ) 80653ac: 60fb str r3, [r7, #12] 80653ae: e016 b.n 80653de else if(Dst == SCR_Reg) 80653b0: 797b ldrb r3, [r7, #5] 80653b2: 2b04 cmp r3, #4 80653b4: d102 bne.n 80653bc AddrDst = pScrA_f32; 80653b6: 4b11 ldr r3, [pc, #68] ; (80653fc ) 80653b8: 60fb str r3, [r7, #12] 80653ba: e010 b.n 80653de else if(Dst == CMPLX_A) 80653bc: 797b ldrb r3, [r7, #5] 80653be: 2b05 cmp r3, #5 80653c0: d102 bne.n 80653c8 AddrDst = pCmplxA_f32; 80653c2: 4b0f ldr r3, [pc, #60] ; (8065400 ) 80653c4: 60fb str r3, [r7, #12] 80653c6: e00a b.n 80653de else if(Dst == CMPLX_V) 80653c8: 797b ldrb r3, [r7, #5] 80653ca: 2b06 cmp r3, #6 80653cc: d102 bne.n 80653d4 AddrDst = pCmplxA_f32; 80653ce: 4b0c ldr r3, [pc, #48] ; (8065400 ) 80653d0: 60fb str r3, [r7, #12] 80653d2: e004 b.n 80653de else if(Dst == CMPLX_S) 80653d4: 797b ldrb r3, [r7, #5] 80653d6: 2b07 cmp r3, #7 80653d8: d101 bne.n 80653de AddrDst = pCmplxA_f32; 80653da: 4b09 ldr r3, [pc, #36] ; (8065400 ) 80653dc: 60fb str r3, [r7, #12] arm_add_f32(AddrSrc1, AddrSrc2, AddrDst, BlockSize); 80653de: 683b ldr r3, [r7, #0] 80653e0: 68fa ldr r2, [r7, #12] 80653e2: 6939 ldr r1, [r7, #16] 80653e4: 6978 ldr r0, [r7, #20] 80653e6: f069 fbf1 bl 80cebcc } 80653ea: bf00 nop 80653ec: 3718 adds r7, #24 80653ee: 46bd mov sp, r7 80653f0: bd80 pop {r7, pc} 80653f2: bf00 nop 80653f4: 20027a00 .word 0x20027a00 80653f8: 640a0000 .word 0x640a0000 80653fc: 64080000 .word 0x64080000 8065400: 64090000 .word 0x64090000 08065404 : void ARM_SCALE_F32(DMA_DataType Src, float32_t Scale, DMA_DataType Dst, uint32_t BlockSize) { 8065404: b580 push {r7, lr} 8065406: b086 sub sp, #24 8065408: af00 add r7, sp, #0 806540a: 4603 mov r3, r0 806540c: ed87 0a02 vstr s0, [r7, #8] 8065410: 607a str r2, [r7, #4] 8065412: 73fb strb r3, [r7, #15] 8065414: 460b mov r3, r1 8065416: 73bb strb r3, [r7, #14] float32_t *AddrSrc; float32_t *AddrDst; if(Src == IN_Reg) 8065418: 7bfb ldrb r3, [r7, #15] 806541a: 2b01 cmp r3, #1 806541c: d102 bne.n 8065424 AddrSrc = In; 806541e: 4b27 ldr r3, [pc, #156] ; (80654bc ) 8065420: 617b str r3, [r7, #20] 8065422: e01c b.n 806545e else if(Src == MEAN_Reg) 8065424: 7bfb ldrb r3, [r7, #15] 8065426: 2b03 cmp r3, #3 8065428: d102 bne.n 8065430 AddrSrc = pMeanA_f32; 806542a: 4b25 ldr r3, [pc, #148] ; (80654c0 ) 806542c: 617b str r3, [r7, #20] 806542e: e016 b.n 806545e else if(Src == SCR_Reg) 8065430: 7bfb ldrb r3, [r7, #15] 8065432: 2b04 cmp r3, #4 8065434: d102 bne.n 806543c AddrSrc = pScrA_f32; 8065436: 4b23 ldr r3, [pc, #140] ; (80654c4 ) 8065438: 617b str r3, [r7, #20] 806543a: e010 b.n 806545e else if(Src == CMPLX_A) 806543c: 7bfb ldrb r3, [r7, #15] 806543e: 2b05 cmp r3, #5 8065440: d102 bne.n 8065448 AddrSrc = pCmplxA_f32; 8065442: 4b21 ldr r3, [pc, #132] ; (80654c8 ) 8065444: 617b str r3, [r7, #20] 8065446: e00a b.n 806545e else if(Src == CMPLX_V) 8065448: 7bfb ldrb r3, [r7, #15] 806544a: 2b06 cmp r3, #6 806544c: d102 bne.n 8065454 AddrSrc = pCmplxA_f32; 806544e: 4b1e ldr r3, [pc, #120] ; (80654c8 ) 8065450: 617b str r3, [r7, #20] 8065452: e004 b.n 806545e else if(Src == CMPLX_S) 8065454: 7bfb ldrb r3, [r7, #15] 8065456: 2b07 cmp r3, #7 8065458: d101 bne.n 806545e AddrSrc = pCmplxA_f32; 806545a: 4b1b ldr r3, [pc, #108] ; (80654c8 ) 806545c: 617b str r3, [r7, #20] if(Dst == IN_Reg) 806545e: 7bbb ldrb r3, [r7, #14] 8065460: 2b01 cmp r3, #1 8065462: d102 bne.n 806546a AddrDst = In; 8065464: 4b15 ldr r3, [pc, #84] ; (80654bc ) 8065466: 613b str r3, [r7, #16] 8065468: e01c b.n 80654a4 else if(Dst == MEAN_Reg) 806546a: 7bbb ldrb r3, [r7, #14] 806546c: 2b03 cmp r3, #3 806546e: d102 bne.n 8065476 AddrDst = pMeanA_f32; 8065470: 4b13 ldr r3, [pc, #76] ; (80654c0 ) 8065472: 613b str r3, [r7, #16] 8065474: e016 b.n 80654a4 else if(Dst == SCR_Reg) 8065476: 7bbb ldrb r3, [r7, #14] 8065478: 2b04 cmp r3, #4 806547a: d102 bne.n 8065482 AddrDst = pScrA_f32; 806547c: 4b11 ldr r3, [pc, #68] ; (80654c4 ) 806547e: 613b str r3, [r7, #16] 8065480: e010 b.n 80654a4 else if(Dst == CMPLX_A) 8065482: 7bbb ldrb r3, [r7, #14] 8065484: 2b05 cmp r3, #5 8065486: d102 bne.n 806548e AddrDst = pCmplxA_f32; 8065488: 4b0f ldr r3, [pc, #60] ; (80654c8 ) 806548a: 613b str r3, [r7, #16] 806548c: e00a b.n 80654a4 else if(Dst == CMPLX_V) 806548e: 7bbb ldrb r3, [r7, #14] 8065490: 2b06 cmp r3, #6 8065492: d102 bne.n 806549a AddrDst = pCmplxA_f32; 8065494: 4b0c ldr r3, [pc, #48] ; (80654c8 ) 8065496: 613b str r3, [r7, #16] 8065498: e004 b.n 80654a4 else if(Dst == CMPLX_S) 806549a: 7bbb ldrb r3, [r7, #14] 806549c: 2b07 cmp r3, #7 806549e: d101 bne.n 80654a4 AddrDst = pCmplxA_f32; 80654a0: 4b09 ldr r3, [pc, #36] ; (80654c8 ) 80654a2: 613b str r3, [r7, #16] arm_scale_f32(AddrSrc, Scale, AddrDst, BlockSize); 80654a4: 687a ldr r2, [r7, #4] 80654a6: 6939 ldr r1, [r7, #16] 80654a8: ed97 0a02 vldr s0, [r7, #8] 80654ac: 6978 ldr r0, [r7, #20] 80654ae: f069 fadb bl 80cea68 } 80654b2: bf00 nop 80654b4: 3718 adds r7, #24 80654b6: 46bd mov sp, r7 80654b8: bd80 pop {r7, pc} 80654ba: bf00 nop 80654bc: 20027a00 .word 0x20027a00 80654c0: 640a0000 .word 0x640a0000 80654c4: 64080000 .word 0x64080000 80654c8: 64090000 .word 0x64090000 080654cc : void GetData(void) { 80654cc: b580 push {r7, lr} 80654ce: b082 sub sp, #8 80654d0: af00 add r7, sp, #0 volatile uint16_t n; volatile uint16_t BlockSize; ADC_POINT = lastcntmeas; 80654d2: 4b3b ldr r3, [pc, #236] ; (80655c0 ) 80654d4: 881b ldrh r3, [r3, #0] 80654d6: b29a uxth r2, r3 80654d8: 4b3a ldr r3, [pc, #232] ; (80655c4 ) 80654da: 801a strh r2, [r3, #0] TIMEOUT_OFF = min15; 80654dc: 4b3a ldr r3, [pc, #232] ; (80655c8 ) 80654de: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 80654e2: 601a str r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80654e4: 4b39 ldr r3, [pc, #228] ; (80655cc ) 80654e6: f44f 42a0 mov.w r2, #20480 ; 0x5000 80654ea: 601a str r2, [r3, #0] if(pardata.SYG == UDAR) 80654ec: 4b38 ldr r3, [pc, #224] ; (80655d0 ) 80654ee: 781b ldrb r3, [r3, #0] 80654f0: b2db uxtb r3, r3 80654f2: 2b09 cmp r3, #9 80654f4: d112 bne.n 806551c { if(READY == 1) 80654f6: 4b37 ldr r3, [pc, #220] ; (80655d4 ) 80654f8: 781b ldrb r3, [r3, #0] 80654fa: b2db uxtb r3, r3 80654fc: 2b01 cmp r3, #1 80654fe: d106 bne.n 806550e memcpy((void *) In16, (void *) &AdcBuff_16(0), 32768); 8065500: f44f 4200 mov.w r2, #32768 ; 0x8000 8065504: 4934 ldr r1, [pc, #208] ; (80655d8 ) 8065506: 4835 ldr r0, [pc, #212] ; (80655dc ) 8065508: f06b ff3f bl 80d138a memcpy((void *) &In16[n].lg, (void *) &AdcBuff(0), (ADC_POINT << 2)); #endif /**/ } } } 806550c: e053 b.n 80655b6 else memcpy((void *) In16, (void *) &AdcBuff_16(HALF_UDAR_BUFF), 32768); 806550e: f44f 4200 mov.w r2, #32768 ; 0x8000 8065512: 4933 ldr r1, [pc, #204] ; (80655e0 ) 8065514: 4831 ldr r0, [pc, #196] ; (80655dc ) 8065516: f06b ff38 bl 80d138a } 806551a: e04c b.n 80655b6 if(pardata.SYG == WAVE) 806551c: 4b2c ldr r3, [pc, #176] ; (80655d0 ) 806551e: 781b ldrb r3, [r3, #0] 8065520: b2db uxtb r3, r3 8065522: 2b04 cmp r3, #4 8065524: d104 bne.n 8065530 BlockSize = measlen; 8065526: 4b2f ldr r3, [pc, #188] ; (80655e4 ) 8065528: 881b ldrh r3, [r3, #0] 806552a: b29b uxth r3, r3 806552c: 80bb strh r3, [r7, #4] 806552e: e003 b.n 8065538 BlockSize = Ns; 8065530: 4b2d ldr r3, [pc, #180] ; (80655e8 ) 8065532: 681b ldr r3, [r3, #0] 8065534: b29b uxth r3, r3 8065536: 80bb strh r3, [r7, #4] if(ADC_POINT >= BlockSize) 8065538: 4b22 ldr r3, [pc, #136] ; (80655c4 ) 806553a: 881b ldrh r3, [r3, #0] 806553c: b29a uxth r2, r3 806553e: 88bb ldrh r3, [r7, #4] 8065540: b29b uxth r3, r3 8065542: 429a cmp r2, r3 8065544: d313 bcc.n 806556e memcpy((void *) In16, (void *) &AdcBuff(ADC_POINT - BlockSize), (BlockSize << 2)); 8065546: 4b1f ldr r3, [pc, #124] ; (80655c4 ) 8065548: 881b ldrh r3, [r3, #0] 806554a: b29b uxth r3, r3 806554c: 461a mov r2, r3 806554e: 88bb ldrh r3, [r7, #4] 8065550: b29b uxth r3, r3 8065552: 1ad3 subs r3, r2, r3 8065554: 009b lsls r3, r3, #2 8065556: 461a mov r2, r3 8065558: 4b1f ldr r3, [pc, #124] ; (80655d8 ) 806555a: 4413 add r3, r2 806555c: 4619 mov r1, r3 806555e: 88bb ldrh r3, [r7, #4] 8065560: b29b uxth r3, r3 8065562: 009b lsls r3, r3, #2 8065564: 461a mov r2, r3 8065566: 481d ldr r0, [pc, #116] ; (80655dc ) 8065568: f06b ff0f bl 80d138a } 806556c: e023 b.n 80655b6 n = (BlockSize - ADC_POINT); 806556e: 88bb ldrh r3, [r7, #4] 8065570: b29a uxth r2, r3 8065572: 4b14 ldr r3, [pc, #80] ; (80655c4 ) 8065574: 881b ldrh r3, [r3, #0] 8065576: b29b uxth r3, r3 8065578: 1ad3 subs r3, r2, r3 806557a: b29b uxth r3, r3 806557c: 80fb strh r3, [r7, #6] memcpy((void *) In16, (void *) &AdcBuff(SIZE_ADC_BUFF - n), (n << 2)); 806557e: 88fb ldrh r3, [r7, #6] 8065580: b29b uxth r3, r3 8065582: f5c3 4300 rsb r3, r3, #32768 ; 0x8000 8065586: 009a lsls r2, r3, #2 8065588: 4b13 ldr r3, [pc, #76] ; (80655d8 ) 806558a: 4413 add r3, r2 806558c: 4619 mov r1, r3 806558e: 88fb ldrh r3, [r7, #6] 8065590: b29b uxth r3, r3 8065592: 009b lsls r3, r3, #2 8065594: 461a mov r2, r3 8065596: 4811 ldr r0, [pc, #68] ; (80655dc ) 8065598: f06b fef7 bl 80d138a memcpy((void *) &In16[n].lg, (void *) &AdcBuff(0), (ADC_POINT << 2)); 806559c: 88fb ldrh r3, [r7, #6] 806559e: b29b uxth r3, r3 80655a0: 009b lsls r3, r3, #2 80655a2: 4a0e ldr r2, [pc, #56] ; (80655dc ) 80655a4: 1898 adds r0, r3, r2 80655a6: 4b07 ldr r3, [pc, #28] ; (80655c4 ) 80655a8: 881b ldrh r3, [r3, #0] 80655aa: b29b uxth r3, r3 80655ac: 009b lsls r3, r3, #2 80655ae: 461a mov r2, r3 80655b0: 4909 ldr r1, [pc, #36] ; (80655d8 ) 80655b2: f06b feea bl 80d138a } 80655b6: bf00 nop 80655b8: 3708 adds r7, #8 80655ba: 46bd mov sp, r7 80655bc: bd80 pop {r7, pc} 80655be: bf00 nop 80655c0: 20020da4 .word 0x20020da4 80655c4: 20021650 .word 0x20021650 80655c8: 200209cc .word 0x200209cc 80655cc: 200209d0 .word 0x200209d0 80655d0: 20023ea8 .word 0x20023ea8 80655d4: 20020d9f .word 0x20020d9f 80655d8: 64060000 .word 0x64060000 80655dc: 20058060 .word 0x20058060 80655e0: 64068000 .word 0x64068000 80655e4: 20020dac .word 0x20020dac 80655e8: 20021d24 .word 0x20021d24 080655ec : void WindowFunc(uint8_t Window, uint16_t Samples) { 80655ec: b580 push {r7, lr} 80655ee: b08e sub sp, #56 ; 0x38 80655f0: af00 add r7, sp, #0 80655f2: 4603 mov r3, r0 80655f4: 460a mov r2, r1 80655f6: 71fb strb r3, [r7, #7] 80655f8: 4613 mov r3, r2 80655fa: 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; 80655fc: 88bb ldrh r3, [r7, #4] 80655fe: ee07 3a90 vmov s15, r3 8065602: eeb8 7a67 vcvt.f32.u32 s14, s15 8065606: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 806560a: eec6 7a87 vdiv.f32 s15, s13, s14 806560e: edc7 7a0c vstr s15, [r7, #48] ; 0x30 switch(Window) 8065612: 79fb ldrb r3, [r7, #7] 8065614: 3b01 subs r3, #1 8065616: 2b04 cmp r3, #4 8065618: f200 82d4 bhi.w 8065bc4 806561c: a201 add r2, pc, #4 ; (adr r2, 8065624 ) 806561e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8065622: bf00 nop 8065624: 08065639 .word 0x08065639 8065628: 080656e1 .word 0x080656e1 806562c: 08065805 .word 0x08065805 8065630: 080659c5 .word 0x080659c5 8065634: 08065a6f .word 0x08065a6f { case HANN: for(i = 0; i < Samples; i++) 8065638: 2300 movs r3, #0 806563a: 86fb strh r3, [r7, #54] ; 0x36 806563c: e04b b.n 80656d6 { //*******Îêîííîå ïðåîáðàçîâàíèå Õàííà tmp0 = _2PI; tmp1 = (float32_t)i; 806563e: 4bd7 ldr r3, [pc, #860] ; (806599c ) 8065640: 613b str r3, [r7, #16] 8065642: 8efb ldrh r3, [r7, #54] ; 0x36 8065644: ee07 3a90 vmov s15, r3 8065648: eef8 7a67 vcvt.f32.u32 s15, s15 806564c: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8065650: f107 0210 add.w r2, r7, #16 8065654: f107 010c add.w r1, r7, #12 8065658: f107 0010 add.w r0, r7, #16 806565c: 2301 movs r3, #1 806565e: f069 fa6f bl 80ceb40 tmp1 = _Samples; 8065662: 6b3b ldr r3, [r7, #48] ; 0x30 8065664: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8065666: f107 0210 add.w r2, r7, #16 806566a: f107 010c add.w r1, r7, #12 806566e: f107 0010 add.w r0, r7, #16 8065672: 2301 movs r3, #1 8065674: f069 fa64 bl 80ceb40 tmp0 = arm_cos_f32(tmp0); 8065678: edd7 7a04 vldr s15, [r7, #16] 806567c: eeb0 0a67 vmov.f32 s0, s15 8065680: f050 fd72 bl 80b6168 8065684: eef0 7a40 vmov.f32 s15, s0 8065688: edc7 7a04 vstr s15, [r7, #16] tmp1 = 0.5; 806568c: f04f 537c mov.w r3, #1056964608 ; 0x3f000000 8065690: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8065692: f107 0210 add.w r2, r7, #16 8065696: f107 010c add.w r1, r7, #12 806569a: f107 0010 add.w r0, r7, #16 806569e: 2301 movs r3, #1 80656a0: f069 fa4e bl 80ceb40 arm_sub_f32(&tmp1, &tmp0, &tmp0, 1); 80656a4: f107 0210 add.w r2, r7, #16 80656a8: f107 0110 add.w r1, r7, #16 80656ac: f107 000c add.w r0, r7, #12 80656b0: 2301 movs r3, #1 80656b2: f069 f993 bl 80ce9dc arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 80656b6: 8efb ldrh r3, [r7, #54] ; 0x36 80656b8: 009b lsls r3, r3, #2 80656ba: 4ab9 ldr r2, [pc, #740] ; (80659a0 ) 80656bc: 1899 adds r1, r3, r2 80656be: 8efb ldrh r3, [r7, #54] ; 0x36 80656c0: 009b lsls r3, r3, #2 80656c2: 4ab7 ldr r2, [pc, #732] ; (80659a0 ) 80656c4: 441a add r2, r3 80656c6: f107 0010 add.w r0, r7, #16 80656ca: 2301 movs r3, #1 80656cc: f069 fa38 bl 80ceb40 for(i = 0; i < Samples; i++) 80656d0: 8efb ldrh r3, [r7, #54] ; 0x36 80656d2: 3301 adds r3, #1 80656d4: 86fb strh r3, [r7, #54] ; 0x36 80656d6: 8efa ldrh r2, [r7, #54] ; 0x36 80656d8: 88bb ldrh r3, [r7, #4] 80656da: 429a cmp r2, r3 80656dc: d3af bcc.n 806563e } break; 80656de: e271 b.n 8065bc4 case BLACK: for(i = 0; i < Samples; i++) 80656e0: 2300 movs r3, #0 80656e2: 86fb strh r3, [r7, #54] ; 0x36 80656e4: e088 b.n 80657f8 { a0 = 0.42; 80656e6: 4baf ldr r3, [pc, #700] ; (80659a4 ) 80656e8: 623b str r3, [r7, #32] tmp0 = _2PI; tmp1 = (float32_t)i; 80656ea: 4bac ldr r3, [pc, #688] ; (806599c ) 80656ec: 613b str r3, [r7, #16] 80656ee: 8efb ldrh r3, [r7, #54] ; 0x36 80656f0: ee07 3a90 vmov s15, r3 80656f4: eef8 7a67 vcvt.f32.u32 s15, s15 80656f8: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80656fc: f107 0210 add.w r2, r7, #16 8065700: f107 010c add.w r1, r7, #12 8065704: f107 0010 add.w r0, r7, #16 8065708: 2301 movs r3, #1 806570a: f069 fa19 bl 80ceb40 tmp1 = _Samples; 806570e: 6b3b ldr r3, [r7, #48] ; 0x30 8065710: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8065712: f107 0210 add.w r2, r7, #16 8065716: f107 010c add.w r1, r7, #12 806571a: f107 0010 add.w r0, r7, #16 806571e: 2301 movs r3, #1 8065720: f069 fa0e bl 80ceb40 tmp0 = arm_cos_f32(tmp0); 8065724: edd7 7a04 vldr s15, [r7, #16] 8065728: eeb0 0a67 vmov.f32 s0, s15 806572c: f050 fd1c bl 80b6168 8065730: eef0 7a40 vmov.f32 s15, s0 8065734: edc7 7a04 vstr s15, [r7, #16] a1 = 0.5; 8065738: f04f 537c mov.w r3, #1056964608 ; 0x3f000000 806573c: 61fb str r3, [r7, #28] arm_mult_f32(&a1, &tmp0, &a1, 1); 806573e: f107 021c add.w r2, r7, #28 8065742: f107 0110 add.w r1, r7, #16 8065746: f107 001c add.w r0, r7, #28 806574a: 2301 movs r3, #1 806574c: f069 f9f8 bl 80ceb40 tmp0 = _4PI; tmp1 = (float32_t)i; 8065750: 4b95 ldr r3, [pc, #596] ; (80659a8 ) 8065752: 613b str r3, [r7, #16] 8065754: 8efb ldrh r3, [r7, #54] ; 0x36 8065756: ee07 3a90 vmov s15, r3 806575a: eef8 7a67 vcvt.f32.u32 s15, s15 806575e: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8065762: f107 0210 add.w r2, r7, #16 8065766: f107 010c add.w r1, r7, #12 806576a: f107 0010 add.w r0, r7, #16 806576e: 2301 movs r3, #1 8065770: f069 f9e6 bl 80ceb40 tmp1 = _Samples; 8065774: 6b3b ldr r3, [r7, #48] ; 0x30 8065776: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8065778: f107 0210 add.w r2, r7, #16 806577c: f107 010c add.w r1, r7, #12 8065780: f107 0010 add.w r0, r7, #16 8065784: 2301 movs r3, #1 8065786: f069 f9db bl 80ceb40 tmp0 = arm_cos_f32(tmp0); 806578a: edd7 7a04 vldr s15, [r7, #16] 806578e: eeb0 0a67 vmov.f32 s0, s15 8065792: f050 fce9 bl 80b6168 8065796: eef0 7a40 vmov.f32 s15, s0 806579a: edc7 7a04 vstr s15, [r7, #16] a2 = 0.08; 806579e: 4b83 ldr r3, [pc, #524] ; (80659ac ) 80657a0: 61bb str r3, [r7, #24] arm_mult_f32(&a2, &tmp0, &a2, 1); 80657a2: f107 0218 add.w r2, r7, #24 80657a6: f107 0110 add.w r1, r7, #16 80657aa: f107 0018 add.w r0, r7, #24 80657ae: 2301 movs r3, #1 80657b0: f069 f9c6 bl 80ceb40 arm_sub_f32(&a0, &a1, &tmp0, 1); 80657b4: f107 0210 add.w r2, r7, #16 80657b8: f107 011c add.w r1, r7, #28 80657bc: f107 0020 add.w r0, r7, #32 80657c0: 2301 movs r3, #1 80657c2: f069 f90b bl 80ce9dc arm_add_f32(&tmp0, &a2, &tmp0, 1); 80657c6: f107 0210 add.w r2, r7, #16 80657ca: f107 0118 add.w r1, r7, #24 80657ce: f107 0010 add.w r0, r7, #16 80657d2: 2301 movs r3, #1 80657d4: f069 f9fa bl 80cebcc arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 80657d8: 8efb ldrh r3, [r7, #54] ; 0x36 80657da: 009b lsls r3, r3, #2 80657dc: 4a70 ldr r2, [pc, #448] ; (80659a0 ) 80657de: 1899 adds r1, r3, r2 80657e0: 8efb ldrh r3, [r7, #54] ; 0x36 80657e2: 009b lsls r3, r3, #2 80657e4: 4a6e ldr r2, [pc, #440] ; (80659a0 ) 80657e6: 441a add r2, r3 80657e8: f107 0010 add.w r0, r7, #16 80657ec: 2301 movs r3, #1 80657ee: f069 f9a7 bl 80ceb40 for(i = 0; i < Samples; i++) 80657f2: 8efb ldrh r3, [r7, #54] ; 0x36 80657f4: 3301 adds r3, #1 80657f6: 86fb strh r3, [r7, #54] ; 0x36 80657f8: 8efa ldrh r2, [r7, #54] ; 0x36 80657fa: 88bb ldrh r3, [r7, #4] 80657fc: 429a cmp r2, r3 80657fe: f4ff af72 bcc.w 80656e6 } break; 8065802: e1df b.n 8065bc4 case BLACK_NAT: for(i = 0; i < Samples; i++) 8065804: 2300 movs r3, #0 8065806: 86fb strh r3, [r7, #54] ; 0x36 8065808: e0c2 b.n 8065990 { a0 = 0.3635819; 806580a: 4b69 ldr r3, [pc, #420] ; (80659b0 ) 806580c: 623b str r3, [r7, #32] tmp0 = _2PI; tmp1 = (float32_t)i; 806580e: 4b63 ldr r3, [pc, #396] ; (806599c ) 8065810: 613b str r3, [r7, #16] 8065812: 8efb ldrh r3, [r7, #54] ; 0x36 8065814: ee07 3a90 vmov s15, r3 8065818: eef8 7a67 vcvt.f32.u32 s15, s15 806581c: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8065820: f107 0210 add.w r2, r7, #16 8065824: f107 010c add.w r1, r7, #12 8065828: f107 0010 add.w r0, r7, #16 806582c: 2301 movs r3, #1 806582e: f069 f987 bl 80ceb40 tmp1 = _Samples; 8065832: 6b3b ldr r3, [r7, #48] ; 0x30 8065834: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8065836: f107 0210 add.w r2, r7, #16 806583a: f107 010c add.w r1, r7, #12 806583e: f107 0010 add.w r0, r7, #16 8065842: 2301 movs r3, #1 8065844: f069 f97c bl 80ceb40 tmp0 = arm_cos_f32(tmp0); 8065848: edd7 7a04 vldr s15, [r7, #16] 806584c: eeb0 0a67 vmov.f32 s0, s15 8065850: f050 fc8a bl 80b6168 8065854: eef0 7a40 vmov.f32 s15, s0 8065858: edc7 7a04 vstr s15, [r7, #16] a1 = 0.4891775; 806585c: 4b55 ldr r3, [pc, #340] ; (80659b4 ) 806585e: 61fb str r3, [r7, #28] arm_mult_f32(&a1, &tmp0, &a1, 1); 8065860: f107 021c add.w r2, r7, #28 8065864: f107 0110 add.w r1, r7, #16 8065868: f107 001c add.w r0, r7, #28 806586c: 2301 movs r3, #1 806586e: f069 f967 bl 80ceb40 tmp0 = _4PI; tmp1 = (float32_t)i; 8065872: 4b4d ldr r3, [pc, #308] ; (80659a8 ) 8065874: 613b str r3, [r7, #16] 8065876: 8efb ldrh r3, [r7, #54] ; 0x36 8065878: ee07 3a90 vmov s15, r3 806587c: eef8 7a67 vcvt.f32.u32 s15, s15 8065880: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8065884: f107 0210 add.w r2, r7, #16 8065888: f107 010c add.w r1, r7, #12 806588c: f107 0010 add.w r0, r7, #16 8065890: 2301 movs r3, #1 8065892: f069 f955 bl 80ceb40 tmp1 = _Samples; 8065896: 6b3b ldr r3, [r7, #48] ; 0x30 8065898: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 806589a: f107 0210 add.w r2, r7, #16 806589e: f107 010c add.w r1, r7, #12 80658a2: f107 0010 add.w r0, r7, #16 80658a6: 2301 movs r3, #1 80658a8: f069 f94a bl 80ceb40 tmp0 = arm_cos_f32(tmp0); 80658ac: edd7 7a04 vldr s15, [r7, #16] 80658b0: eeb0 0a67 vmov.f32 s0, s15 80658b4: f050 fc58 bl 80b6168 80658b8: eef0 7a40 vmov.f32 s15, s0 80658bc: edc7 7a04 vstr s15, [r7, #16] a2 = 0.1365995; 80658c0: 4b3d ldr r3, [pc, #244] ; (80659b8 ) 80658c2: 61bb str r3, [r7, #24] arm_mult_f32(&a2, &tmp0, &a2, 1); 80658c4: f107 0218 add.w r2, r7, #24 80658c8: f107 0110 add.w r1, r7, #16 80658cc: f107 0018 add.w r0, r7, #24 80658d0: 2301 movs r3, #1 80658d2: f069 f935 bl 80ceb40 tmp0 = _6PI; tmp1 = (float32_t)i; 80658d6: 4b39 ldr r3, [pc, #228] ; (80659bc ) 80658d8: 613b str r3, [r7, #16] 80658da: 8efb ldrh r3, [r7, #54] ; 0x36 80658dc: ee07 3a90 vmov s15, r3 80658e0: eef8 7a67 vcvt.f32.u32 s15, s15 80658e4: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80658e8: f107 0210 add.w r2, r7, #16 80658ec: f107 010c add.w r1, r7, #12 80658f0: f107 0010 add.w r0, r7, #16 80658f4: 2301 movs r3, #1 80658f6: f069 f923 bl 80ceb40 tmp1 = _Samples; 80658fa: 6b3b ldr r3, [r7, #48] ; 0x30 80658fc: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80658fe: f107 0210 add.w r2, r7, #16 8065902: f107 010c add.w r1, r7, #12 8065906: f107 0010 add.w r0, r7, #16 806590a: 2301 movs r3, #1 806590c: f069 f918 bl 80ceb40 tmp0 = arm_cos_f32(tmp0); 8065910: edd7 7a04 vldr s15, [r7, #16] 8065914: eeb0 0a67 vmov.f32 s0, s15 8065918: f050 fc26 bl 80b6168 806591c: eef0 7a40 vmov.f32 s15, s0 8065920: edc7 7a04 vstr s15, [r7, #16] a3 = 0.0106411; 8065924: 4b26 ldr r3, [pc, #152] ; (80659c0 ) 8065926: 617b str r3, [r7, #20] arm_mult_f32(&a3, &tmp0, &a3, 1); 8065928: f107 0214 add.w r2, r7, #20 806592c: f107 0110 add.w r1, r7, #16 8065930: f107 0014 add.w r0, r7, #20 8065934: 2301 movs r3, #1 8065936: f069 f903 bl 80ceb40 arm_sub_f32(&a0, &a1, &tmp0, 1); 806593a: f107 0210 add.w r2, r7, #16 806593e: f107 011c add.w r1, r7, #28 8065942: f107 0020 add.w r0, r7, #32 8065946: 2301 movs r3, #1 8065948: f069 f848 bl 80ce9dc arm_add_f32(&tmp0, &a2, &tmp0, 1); 806594c: f107 0210 add.w r2, r7, #16 8065950: f107 0118 add.w r1, r7, #24 8065954: f107 0010 add.w r0, r7, #16 8065958: 2301 movs r3, #1 806595a: f069 f937 bl 80cebcc arm_sub_f32(&tmp0, &a3, &tmp0, 1); 806595e: f107 0210 add.w r2, r7, #16 8065962: f107 0114 add.w r1, r7, #20 8065966: f107 0010 add.w r0, r7, #16 806596a: 2301 movs r3, #1 806596c: f069 f836 bl 80ce9dc arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 8065970: 8efb ldrh r3, [r7, #54] ; 0x36 8065972: 009b lsls r3, r3, #2 8065974: 4a0a ldr r2, [pc, #40] ; (80659a0 ) 8065976: 1899 adds r1, r3, r2 8065978: 8efb ldrh r3, [r7, #54] ; 0x36 806597a: 009b lsls r3, r3, #2 806597c: 4a08 ldr r2, [pc, #32] ; (80659a0 ) 806597e: 441a add r2, r3 8065980: f107 0010 add.w r0, r7, #16 8065984: 2301 movs r3, #1 8065986: f069 f8db bl 80ceb40 for(i = 0; i < Samples; i++) 806598a: 8efb ldrh r3, [r7, #54] ; 0x36 806598c: 3301 adds r3, #1 806598e: 86fb strh r3, [r7, #54] ; 0x36 8065990: 8efa ldrh r2, [r7, #54] ; 0x36 8065992: 88bb ldrh r3, [r7, #4] 8065994: 429a cmp r2, r3 8065996: f4ff af38 bcc.w 806580a } break; 806599a: e113 b.n 8065bc4 806599c: 40c90fdb .word 0x40c90fdb 80659a0: 20008000 .word 0x20008000 80659a4: 3ed70a3d .word 0x3ed70a3d 80659a8: 41490fdb .word 0x41490fdb 80659ac: 3da3d70a .word 0x3da3d70a 80659b0: 3eba2768 .word 0x3eba2768 80659b4: 3efa7579 .word 0x3efa7579 80659b8: 3e0be0bd .word 0x3e0be0bd 80659bc: 4196cbe4 .word 0x4196cbe4 80659c0: 3c2e5802 .word 0x3c2e5802 case HAMMING: for(i = 0; i < Samples; i++) 80659c4: 2300 movs r3, #0 80659c6: 86fb strh r3, [r7, #54] ; 0x36 80659c8: e04c b.n 8065a64 { //*******Îêîííîå ïðåîáðàçîâàíèå Õàííà tmp0 = _2PI; tmp1 = (float32_t)i; 80659ca: 4b80 ldr r3, [pc, #512] ; (8065bcc ) 80659cc: 613b str r3, [r7, #16] 80659ce: 8efb ldrh r3, [r7, #54] ; 0x36 80659d0: ee07 3a90 vmov s15, r3 80659d4: eef8 7a67 vcvt.f32.u32 s15, s15 80659d8: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80659dc: f107 0210 add.w r2, r7, #16 80659e0: f107 010c add.w r1, r7, #12 80659e4: f107 0010 add.w r0, r7, #16 80659e8: 2301 movs r3, #1 80659ea: f069 f8a9 bl 80ceb40 tmp1 = _Samples; 80659ee: 6b3b ldr r3, [r7, #48] ; 0x30 80659f0: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80659f2: f107 0210 add.w r2, r7, #16 80659f6: f107 010c add.w r1, r7, #12 80659fa: f107 0010 add.w r0, r7, #16 80659fe: 2301 movs r3, #1 8065a00: f069 f89e bl 80ceb40 tmp0 = arm_cos_f32(tmp0); 8065a04: edd7 7a04 vldr s15, [r7, #16] 8065a08: eeb0 0a67 vmov.f32 s0, s15 8065a0c: f050 fbac bl 80b6168 8065a10: eef0 7a40 vmov.f32 s15, s0 8065a14: edc7 7a04 vstr s15, [r7, #16] a1 = 0.46; 8065a18: 4b6d ldr r3, [pc, #436] ; (8065bd0 ) 8065a1a: 61fb str r3, [r7, #28] arm_mult_f32(&tmp0, &a1, &tmp0, 1); 8065a1c: f107 0210 add.w r2, r7, #16 8065a20: f107 011c add.w r1, r7, #28 8065a24: f107 0010 add.w r0, r7, #16 8065a28: 2301 movs r3, #1 8065a2a: f069 f889 bl 80ceb40 a0 = 0.54; 8065a2e: 4b69 ldr r3, [pc, #420] ; (8065bd4 ) 8065a30: 623b str r3, [r7, #32] arm_sub_f32(&a0, &tmp0, &tmp0, 1); 8065a32: f107 0210 add.w r2, r7, #16 8065a36: f107 0110 add.w r1, r7, #16 8065a3a: f107 0020 add.w r0, r7, #32 8065a3e: 2301 movs r3, #1 8065a40: f068 ffcc bl 80ce9dc arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 8065a44: 8efb ldrh r3, [r7, #54] ; 0x36 8065a46: 009b lsls r3, r3, #2 8065a48: 4a63 ldr r2, [pc, #396] ; (8065bd8 ) 8065a4a: 1899 adds r1, r3, r2 8065a4c: 8efb ldrh r3, [r7, #54] ; 0x36 8065a4e: 009b lsls r3, r3, #2 8065a50: 4a61 ldr r2, [pc, #388] ; (8065bd8 ) 8065a52: 441a add r2, r3 8065a54: f107 0010 add.w r0, r7, #16 8065a58: 2301 movs r3, #1 8065a5a: f069 f871 bl 80ceb40 for(i = 0; i < Samples; i++) 8065a5e: 8efb ldrh r3, [r7, #54] ; 0x36 8065a60: 3301 adds r3, #1 8065a62: 86fb strh r3, [r7, #54] ; 0x36 8065a64: 8efa ldrh r2, [r7, #54] ; 0x36 8065a66: 88bb ldrh r3, [r7, #4] 8065a68: 429a cmp r2, r3 8065a6a: d3ae bcc.n 80659ca } break; 8065a6c: e0aa b.n 8065bc4 case FLAT_TOP: a0 = 1.0f; 8065a6e: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8065a72: 623b str r3, [r7, #32] a1 = 1.93f; 8065a74: 4b59 ldr r3, [pc, #356] ; (8065bdc ) 8065a76: 61fb str r3, [r7, #28] a2 = 1.29f; 8065a78: 4b59 ldr r3, [pc, #356] ; (8065be0 ) 8065a7a: 61bb str r3, [r7, #24] a3 = 0.388f; 8065a7c: 4b59 ldr r3, [pc, #356] ; (8065be4 ) 8065a7e: 617b str r3, [r7, #20] a4 = 0.032f; 8065a80: 4b59 ldr r3, [pc, #356] ; (8065be8 ) 8065a82: 62fb str r3, [r7, #44] ; 0x2c for(i = 0; i < Samples; i++) 8065a84: 2300 movs r3, #0 8065a86: 86fb strh r3, [r7, #54] ; 0x36 8065a88: e096 b.n 8065bb8 { tmp0 = _2PI * (float32_t)i; 8065a8a: 8efb ldrh r3, [r7, #54] ; 0x36 8065a8c: ee07 3a90 vmov s15, r3 8065a90: eef8 7a67 vcvt.f32.u32 s15, s15 8065a94: ed9f 7a55 vldr s14, [pc, #340] ; 8065bec 8065a98: ee67 7a87 vmul.f32 s15, s15, s14 8065a9c: edc7 7a04 vstr s15, [r7, #16] tmp1 = _4PI * (float32_t)i; 8065aa0: 8efb ldrh r3, [r7, #54] ; 0x36 8065aa2: ee07 3a90 vmov s15, r3 8065aa6: eef8 7a67 vcvt.f32.u32 s15, s15 8065aaa: ed9f 7a51 vldr s14, [pc, #324] ; 8065bf0 8065aae: ee67 7a87 vmul.f32 s15, s15, s14 8065ab2: edc7 7a03 vstr s15, [r7, #12] tmp2 = _6PI * (float32_t)i; 8065ab6: 8efb ldrh r3, [r7, #54] ; 0x36 8065ab8: ee07 3a90 vmov s15, r3 8065abc: eef8 7a67 vcvt.f32.u32 s15, s15 8065ac0: ed9f 7a4c vldr s14, [pc, #304] ; 8065bf4 8065ac4: ee67 7a87 vmul.f32 s15, s15, s14 8065ac8: edc7 7a0a vstr s15, [r7, #40] ; 0x28 tmp3 = _8PI * (float32_t)i; 8065acc: 8efb ldrh r3, [r7, #54] ; 0x36 8065ace: ee07 3a90 vmov s15, r3 8065ad2: eef8 7a67 vcvt.f32.u32 s15, s15 8065ad6: ed9f 7a48 vldr s14, [pc, #288] ; 8065bf8 8065ada: ee67 7a87 vmul.f32 s15, s15, s14 8065ade: edc7 7a09 vstr s15, [r7, #36] ; 0x24 tmp0 = a1 * arm_cos_f32(tmp0 * _Samples); 8065ae2: ed97 7a04 vldr s14, [r7, #16] 8065ae6: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8065aea: ee67 7a27 vmul.f32 s15, s14, s15 8065aee: eeb0 0a67 vmov.f32 s0, s15 8065af2: f050 fb39 bl 80b6168 8065af6: eeb0 7a40 vmov.f32 s14, s0 8065afa: edd7 7a07 vldr s15, [r7, #28] 8065afe: ee67 7a27 vmul.f32 s15, s14, s15 8065b02: edc7 7a04 vstr s15, [r7, #16] tmp1 = a2 * arm_cos_f32(tmp1 * _Samples); 8065b06: ed97 7a03 vldr s14, [r7, #12] 8065b0a: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8065b0e: ee67 7a27 vmul.f32 s15, s14, s15 8065b12: eeb0 0a67 vmov.f32 s0, s15 8065b16: f050 fb27 bl 80b6168 8065b1a: eeb0 7a40 vmov.f32 s14, s0 8065b1e: edd7 7a06 vldr s15, [r7, #24] 8065b22: ee67 7a27 vmul.f32 s15, s14, s15 8065b26: edc7 7a03 vstr s15, [r7, #12] tmp2 = a3 * arm_cos_f32(tmp2 * _Samples); 8065b2a: ed97 7a0a vldr s14, [r7, #40] ; 0x28 8065b2e: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8065b32: ee67 7a27 vmul.f32 s15, s14, s15 8065b36: eeb0 0a67 vmov.f32 s0, s15 8065b3a: f050 fb15 bl 80b6168 8065b3e: eeb0 7a40 vmov.f32 s14, s0 8065b42: edd7 7a05 vldr s15, [r7, #20] 8065b46: ee67 7a27 vmul.f32 s15, s14, s15 8065b4a: edc7 7a0a vstr s15, [r7, #40] ; 0x28 tmp3 = a4 * arm_cos_f32(tmp3 * _Samples); 8065b4e: ed97 7a09 vldr s14, [r7, #36] ; 0x24 8065b52: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8065b56: ee67 7a27 vmul.f32 s15, s14, s15 8065b5a: eeb0 0a67 vmov.f32 s0, s15 8065b5e: f050 fb03 bl 80b6168 8065b62: eeb0 7a40 vmov.f32 s14, s0 8065b66: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 8065b6a: ee67 7a27 vmul.f32 s15, s14, s15 8065b6e: edc7 7a09 vstr s15, [r7, #36] ; 0x24 Out[i] = Out[i] * (a0 - tmp0 + tmp1 - tmp2 + tmp3); 8065b72: 8efb ldrh r3, [r7, #54] ; 0x36 8065b74: 8efa ldrh r2, [r7, #54] ; 0x36 8065b76: 4918 ldr r1, [pc, #96] ; (8065bd8 ) 8065b78: 0092 lsls r2, r2, #2 8065b7a: 440a add r2, r1 8065b7c: ed92 7a00 vldr s14, [r2] 8065b80: edd7 6a08 vldr s13, [r7, #32] 8065b84: edd7 7a04 vldr s15, [r7, #16] 8065b88: ee76 6ae7 vsub.f32 s13, s13, s15 8065b8c: edd7 7a03 vldr s15, [r7, #12] 8065b90: ee76 6aa7 vadd.f32 s13, s13, s15 8065b94: edd7 7a0a vldr s15, [r7, #40] ; 0x28 8065b98: ee76 6ae7 vsub.f32 s13, s13, s15 8065b9c: edd7 7a09 vldr s15, [r7, #36] ; 0x24 8065ba0: ee76 7aa7 vadd.f32 s15, s13, s15 8065ba4: ee67 7a27 vmul.f32 s15, s14, s15 8065ba8: 4a0b ldr r2, [pc, #44] ; (8065bd8 ) 8065baa: 009b lsls r3, r3, #2 8065bac: 4413 add r3, r2 8065bae: edc3 7a00 vstr s15, [r3] for(i = 0; i < Samples; i++) 8065bb2: 8efb ldrh r3, [r7, #54] ; 0x36 8065bb4: 3301 adds r3, #1 8065bb6: 86fb strh r3, [r7, #54] ; 0x36 8065bb8: 8efa ldrh r2, [r7, #54] ; 0x36 8065bba: 88bb ldrh r3, [r7, #4] 8065bbc: 429a cmp r2, r3 8065bbe: f4ff af64 bcc.w 8065a8a } break; 8065bc2: bf00 nop } } 8065bc4: bf00 nop 8065bc6: 3738 adds r7, #56 ; 0x38 8065bc8: 46bd mov sp, r7 8065bca: bd80 pop {r7, pc} 8065bcc: 40c90fdb .word 0x40c90fdb 8065bd0: 3eeb851f .word 0x3eeb851f 8065bd4: 3f0a3d71 .word 0x3f0a3d71 8065bd8: 20008000 .word 0x20008000 8065bdc: 3ff70a3d .word 0x3ff70a3d 8065be0: 3fa51eb8 .word 0x3fa51eb8 8065be4: 3ec6a7f0 .word 0x3ec6a7f0 8065be8: 3d03126f .word 0x3d03126f 8065bec: 40c90fdb .word 0x40c90fdb 8065bf0: 41490fdb .word 0x41490fdb 8065bf4: 4196cbe4 .word 0x4196cbe4 8065bf8: 41c90fdb .word 0x41c90fdb 08065bfc : void INTEGR_NEW(void) { 8065bfc: b580 push {r7, lr} 8065bfe: b084 sub sp, #16 8065c00: af00 add r7, sp, #0 uint32_t i, k; float32_t fl, fl1; k = (Ns >> 1); 8065c02: 4b49 ldr r3, [pc, #292] ; (8065d28 ) 8065c04: 681b ldr r3, [r3, #0] 8065c06: 085b lsrs r3, r3, #1 8065c08: 60bb str r3, [r7, #8] fl1 = (_2PI * Delta_SPC[pardata.FRQ][pardata.LNE]); 8065c0a: 4b48 ldr r3, [pc, #288] ; (8065d2c ) 8065c0c: 7adb ldrb r3, [r3, #11] 8065c0e: b2db uxtb r3, r3 8065c10: 4618 mov r0, r3 8065c12: 4b46 ldr r3, [pc, #280] ; (8065d2c ) 8065c14: 79db ldrb r3, [r3, #7] 8065c16: b2db uxtb r3, r3 8065c18: 4619 mov r1, r3 8065c1a: 4a45 ldr r2, [pc, #276] ; (8065d30 ) 8065c1c: 0083 lsls r3, r0, #2 8065c1e: 440b add r3, r1 8065c20: 009b lsls r3, r3, #2 8065c22: 4413 add r3, r2 8065c24: edd3 7a00 vldr s15, [r3] 8065c28: ed9f 7a42 vldr s14, [pc, #264] ; 8065d34 8065c2c: ee67 7a87 vmul.f32 s15, s15, s14 8065c30: edc7 7a01 vstr s15, [r7, #4] //pDst[0] = pDst[1] = 0.0f; Out[0] = 0.0f; 8065c34: 4b40 ldr r3, [pc, #256] ; (8065d38 ) 8065c36: f04f 0200 mov.w r2, #0 8065c3a: 601a str r2, [r3, #0] for(i = 1; i < k; i++) 8065c3c: 2301 movs r3, #1 8065c3e: 60fb str r3, [r7, #12] 8065c40: e063 b.n 8065d0a { fl = (float32_t) i; 8065c42: 68fb ldr r3, [r7, #12] 8065c44: ee07 3a90 vmov s15, r3 8065c48: eef8 7a67 vcvt.f32.u32 s15, s15 8065c4c: edc7 7a00 vstr s15, [r7] fl *= fl1; 8065c50: ed97 7a00 vldr s14, [r7] 8065c54: edd7 7a01 vldr s15, [r7, #4] 8065c58: ee67 7a27 vmul.f32 s15, s14, s15 8065c5c: edc7 7a00 vstr s15, [r7] if(pardata.IIN != VOLTS) 8065c60: 4b32 ldr r3, [pc, #200] ; (8065d2c ) 8065c62: 799b ldrb r3, [r3, #6] 8065c64: b2db uxtb r3, r3 8065c66: 2b02 cmp r3, #2 8065c68: d022 beq.n 8065cb0 { if(pardata.IPR == VEL) 8065c6a: 4b30 ldr r3, [pc, #192] ; (8065d2c ) 8065c6c: 785b ldrb r3, [r3, #1] 8065c6e: b2db uxtb r3, r3 8065c70: 2b01 cmp r3, #1 8065c72: d10c bne.n 8065c8e Out[i] = 1000.0f / fl; 8065c74: eddf 6a31 vldr s13, [pc, #196] ; 8065d3c 8065c78: ed97 7a00 vldr s14, [r7] 8065c7c: eec6 7a87 vdiv.f32 s15, s13, s14 8065c80: 4a2d ldr r2, [pc, #180] ; (8065d38 ) 8065c82: 68fb ldr r3, [r7, #12] 8065c84: 009b lsls r3, r3, #2 8065c86: 4413 add r3, r2 8065c88: edc3 7a00 vstr s15, [r3] 8065c8c: e03a b.n 8065d04 else Out[i] = 1000000.0f / (fl * fl); 8065c8e: ed97 7a00 vldr s14, [r7] 8065c92: edd7 7a00 vldr s15, [r7] 8065c96: ee27 7a27 vmul.f32 s14, s14, s15 8065c9a: eddf 6a29 vldr s13, [pc, #164] ; 8065d40 8065c9e: eec6 7a87 vdiv.f32 s15, s13, s14 8065ca2: 4a25 ldr r2, [pc, #148] ; (8065d38 ) 8065ca4: 68fb ldr r3, [r7, #12] 8065ca6: 009b lsls r3, r3, #2 8065ca8: 4413 add r3, r2 8065caa: edc3 7a00 vstr s15, [r3] 8065cae: e029 b.n 8065d04 } else { if(pardata.IPR == VEL) 8065cb0: 4b1e ldr r3, [pc, #120] ; (8065d2c ) 8065cb2: 785b ldrb r3, [r3, #1] 8065cb4: b2db uxtb r3, r3 8065cb6: 2b01 cmp r3, #1 8065cb8: d110 bne.n 8065cdc Out[i] /= fl; 8065cba: 4a1f ldr r2, [pc, #124] ; (8065d38 ) 8065cbc: 68fb ldr r3, [r7, #12] 8065cbe: 009b lsls r3, r3, #2 8065cc0: 4413 add r3, r2 8065cc2: edd3 6a00 vldr s13, [r3] 8065cc6: ed97 7a00 vldr s14, [r7] 8065cca: eec6 7a87 vdiv.f32 s15, s13, s14 8065cce: 4a1a ldr r2, [pc, #104] ; (8065d38 ) 8065cd0: 68fb ldr r3, [r7, #12] 8065cd2: 009b lsls r3, r3, #2 8065cd4: 4413 add r3, r2 8065cd6: edc3 7a00 vstr s15, [r3] 8065cda: e013 b.n 8065d04 else Out[i] /= (fl * fl); 8065cdc: 4a16 ldr r2, [pc, #88] ; (8065d38 ) 8065cde: 68fb ldr r3, [r7, #12] 8065ce0: 009b lsls r3, r3, #2 8065ce2: 4413 add r3, r2 8065ce4: edd3 6a00 vldr s13, [r3] 8065ce8: ed97 7a00 vldr s14, [r7] 8065cec: edd7 7a00 vldr s15, [r7] 8065cf0: ee27 7a27 vmul.f32 s14, s14, s15 8065cf4: eec6 7a87 vdiv.f32 s15, s13, s14 8065cf8: 4a0f ldr r2, [pc, #60] ; (8065d38 ) 8065cfa: 68fb ldr r3, [r7, #12] 8065cfc: 009b lsls r3, r3, #2 8065cfe: 4413 add r3, r2 8065d00: edc3 7a00 vstr s15, [r3] for(i = 1; i < k; i++) 8065d04: 68fb ldr r3, [r7, #12] 8065d06: 3301 adds r3, #1 8065d08: 60fb str r3, [r7, #12] 8065d0a: 68fa ldr r2, [r7, #12] 8065d0c: 68bb ldr r3, [r7, #8] 8065d0e: 429a cmp r2, r3 8065d10: d397 bcc.n 8065c42 } } arm_mult_f32(Out, In, In, k); 8065d12: 68bb ldr r3, [r7, #8] 8065d14: 4a0b ldr r2, [pc, #44] ; (8065d44 ) 8065d16: 490b ldr r1, [pc, #44] ; (8065d44 ) 8065d18: 4807 ldr r0, [pc, #28] ; (8065d38 ) 8065d1a: f068 ff11 bl 80ceb40 } 8065d1e: bf00 nop 8065d20: 3710 adds r7, #16 8065d22: 46bd mov sp, r7 8065d24: bd80 pop {r7, pc} 8065d26: bf00 nop 8065d28: 20021d24 .word 0x20021d24 8065d2c: 20023ea8 .word 0x20023ea8 8065d30: 080f2e90 .word 0x080f2e90 8065d34: 40c90fdb .word 0x40c90fdb 8065d38: 20008000 .word 0x20008000 8065d3c: 447a0000 .word 0x447a0000 8065d40: 49742400 .word 0x49742400 8065d44: 20027a00 .word 0x20027a00 08065d48 : } } void LinToLog(float32_t *pSrc, float32_t *pDst) { 8065d48: b580 push {r7, lr} 8065d4a: b084 sub sp, #16 8065d4c: af00 add r7, sp, #0 8065d4e: 6078 str r0, [r7, #4] 8065d50: 6039 str r1, [r7, #0] float32_t f = *pSrc; 8065d52: 687b ldr r3, [r7, #4] 8065d54: 681b ldr r3, [r3, #0] 8065d56: 60fb str r3, [r7, #12] if(f <= 0.000001f) { 8065d58: edd7 7a03 vldr s15, [r7, #12] 8065d5c: ed9f 7a0f vldr s14, [pc, #60] ; 8065d9c 8065d60: eef4 7ac7 vcmpe.f32 s15, s14 8065d64: eef1 fa10 vmrs APSR_nzcv, fpscr 8065d68: d801 bhi.n 8065d6e f = 0.000001f; 8065d6a: 4b0d ldr r3, [pc, #52] ; (8065da0 ) 8065d6c: 60fb str r3, [r7, #12] } *pDst = 20 * log10f(f * 1000000); 8065d6e: edd7 7a03 vldr s15, [r7, #12] 8065d72: ed9f 7a0c vldr s14, [pc, #48] ; 8065da4 8065d76: ee67 7a87 vmul.f32 s15, s15, s14 8065d7a: eeb0 0a67 vmov.f32 s0, s15 8065d7e: f069 fb9d bl 80cf4bc 8065d82: eeb0 7a40 vmov.f32 s14, s0 8065d86: eef3 7a04 vmov.f32 s15, #52 ; 0x41a00000 20.0 8065d8a: ee67 7a27 vmul.f32 s15, s14, s15 8065d8e: 683b ldr r3, [r7, #0] 8065d90: edc3 7a00 vstr s15, [r3] } 8065d94: bf00 nop 8065d96: 3710 adds r7, #16 8065d98: 46bd mov sp, r7 8065d9a: bd80 pop {r7, pc} 8065d9c: 358637bd .word 0x358637bd 8065da0: 358637bd .word 0x358637bd 8065da4: 49742400 .word 0x49742400 08065da8 : void LinToLog_mV(float32_t *pSrc, float32_t *pDst, uint8_t IPR) { 8065da8: b580 push {r7, lr} 8065daa: b086 sub sp, #24 8065dac: af00 add r7, sp, #0 8065dae: 60f8 str r0, [r7, #12] 8065db0: 60b9 str r1, [r7, #8] 8065db2: 4613 mov r3, r2 8065db4: 71fb strb r3, [r7, #7] float32_t f = *pSrc; 8065db6: 68fb ldr r3, [r7, #12] 8065db8: 681b ldr r3, [r3, #0] 8065dba: 617b str r3, [r7, #20] f *= 1000.000f; //â ìê 8065dbc: edd7 7a05 vldr s15, [r7, #20] 8065dc0: ed9f 7a10 vldr s14, [pc, #64] ; 8065e04 8065dc4: ee67 7a87 vmul.f32 s15, s15, s14 8065dc8: edc7 7a05 vstr s15, [r7, #20] if(f <= 0.000001f) { 8065dcc: edd7 7a05 vldr s15, [r7, #20] 8065dd0: ed9f 7a0d vldr s14, [pc, #52] ; 8065e08 8065dd4: eef4 7ac7 vcmpe.f32 s15, s14 8065dd8: eef1 fa10 vmrs APSR_nzcv, fpscr 8065ddc: d801 bhi.n 8065de2 f = 0.000001f; 8065dde: 4b0b ldr r3, [pc, #44] ; (8065e0c ) 8065de0: 617b str r3, [r7, #20] } *pDst = 20 * log10f(f); 8065de2: ed97 0a05 vldr s0, [r7, #20] 8065de6: f069 fb69 bl 80cf4bc 8065dea: eeb0 7a40 vmov.f32 s14, s0 8065dee: eef3 7a04 vmov.f32 s15, #52 ; 0x41a00000 20.0 8065df2: ee67 7a27 vmul.f32 s15, s14, s15 8065df6: 68bb ldr r3, [r7, #8] 8065df8: edc3 7a00 vstr s15, [r3] } 8065dfc: bf00 nop 8065dfe: 3718 adds r7, #24 8065e00: 46bd mov sp, r7 8065e02: bd80 pop {r7, pc} 8065e04: 447a0000 .word 0x447a0000 8065e08: 358637bd .word 0x358637bd 8065e0c: 358637bd .word 0x358637bd 08065e10 : void LinToLog_UDAR(float32_t *pSrc, float32_t *pDst) { 8065e10: b580 push {r7, lr} 8065e12: b084 sub sp, #16 8065e14: af00 add r7, sp, #0 8065e16: 6078 str r0, [r7, #4] 8065e18: 6039 str r1, [r7, #0] float32_t f = *pSrc; 8065e1a: 687b ldr r3, [r7, #4] 8065e1c: 681b ldr r3, [r3, #0] 8065e1e: 60fb str r3, [r7, #12] if(f <= 0.1f) { 8065e20: edd7 7a03 vldr s15, [r7, #12] 8065e24: ed9f 7a0e vldr s14, [pc, #56] ; 8065e60 8065e28: eef4 7ac7 vcmpe.f32 s15, s14 8065e2c: eef1 fa10 vmrs APSR_nzcv, fpscr 8065e30: d801 bhi.n 8065e36 f = 0.1f; 8065e32: 4b0c ldr r3, [pc, #48] ; (8065e64 ) 8065e34: 60fb str r3, [r7, #12] } *pDst = 20 * log10f(*pSrc); 8065e36: 687b ldr r3, [r7, #4] 8065e38: edd3 7a00 vldr s15, [r3] 8065e3c: eeb0 0a67 vmov.f32 s0, s15 8065e40: f069 fb3c bl 80cf4bc 8065e44: eeb0 7a40 vmov.f32 s14, s0 8065e48: eef3 7a04 vmov.f32 s15, #52 ; 0x41a00000 20.0 8065e4c: ee67 7a27 vmul.f32 s15, s14, s15 8065e50: 683b ldr r3, [r7, #0] 8065e52: edc3 7a00 vstr s15, [r3] /*if(f <= 0.000001f) { f = 0.000001f; } *pDst = 20 * log10f(f * 1000000);*/ } 8065e56: bf00 nop 8065e58: 3710 adds r7, #16 8065e5a: 46bd mov sp, r7 8065e5c: bd80 pop {r7, pc} 8065e5e: bf00 nop 8065e60: 3dcccccd .word 0x3dcccccd 8065e64: 3dcccccd .word 0x3dcccccd 08065e68 : float32_t MedMeas(uint8_t AVS, float32_t InVal) { 8065e68: b480 push {r7} 8065e6a: b08d sub sp, #52 ; 0x34 8065e6c: af00 add r7, sp, #0 8065e6e: 4603 mov r3, r0 8065e70: ed87 0a00 vstr s0, [r7] 8065e74: 71fb strb r3, [r7, #7] uint8_t k = 0; 8065e76: 2300 movs r3, #0 8065e78: f887 302f strb.w r3, [r7, #47] ; 0x2f uint32_t i = 0, j = 0; 8065e7c: 2300 movs r3, #0 8065e7e: 62bb str r3, [r7, #40] ; 0x28 8065e80: 2300 movs r3, #0 8065e82: 627b str r3, [r7, #36] ; 0x24 float32_t temp[N_MED_MEAS]; float32_t OutVal; if(pardata.OPTIONS & 0x00000001) 8065e84: 4ba6 ldr r3, [pc, #664] ; (8066120 ) 8065e86: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8065e8a: f003 0301 and.w r3, r3, #1 8065e8e: 2b00 cmp r3, #0 8065e90: f000 813c beq.w 806610c { switch(AVS) 8065e94: 79fb ldrb r3, [r7, #7] 8065e96: 2b01 cmp r3, #1 8065e98: d041 beq.n 8065f1e 8065e9a: 2b02 cmp r3, #2 8065e9c: d07c beq.n 8065f98 8065e9e: 2b00 cmp r3, #0 8065ea0: f040 80b7 bne.w 8066012 { case ACC: for(i = N_MED_MEAS - 1; i > 0; i--) 8065ea4: 2304 movs r3, #4 8065ea6: 62bb str r3, [r7, #40] ; 0x28 8065ea8: e00d b.n 8065ec6 medA[i] = medA[i - 1]; 8065eaa: 6abb ldr r3, [r7, #40] ; 0x28 8065eac: 3b01 subs r3, #1 8065eae: 4a9d ldr r2, [pc, #628] ; (8066124 ) 8065eb0: 009b lsls r3, r3, #2 8065eb2: 4413 add r3, r2 8065eb4: 681a ldr r2, [r3, #0] 8065eb6: 499b ldr r1, [pc, #620] ; (8066124 ) 8065eb8: 6abb ldr r3, [r7, #40] ; 0x28 8065eba: 009b lsls r3, r3, #2 8065ebc: 440b add r3, r1 8065ebe: 601a str r2, [r3, #0] for(i = N_MED_MEAS - 1; i > 0; i--) 8065ec0: 6abb ldr r3, [r7, #40] ; 0x28 8065ec2: 3b01 subs r3, #1 8065ec4: 62bb str r3, [r7, #40] ; 0x28 8065ec6: 6abb ldr r3, [r7, #40] ; 0x28 8065ec8: 2b00 cmp r3, #0 8065eca: d1ee bne.n 8065eaa medA[0] = InVal; 8065ecc: 4a95 ldr r2, [pc, #596] ; (8066124 ) 8065ece: 683b ldr r3, [r7, #0] 8065ed0: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_MEAS; i++) 8065ed2: 2300 movs r3, #0 8065ed4: 62bb str r3, [r7, #40] ; 0x28 8065ed6: e00e b.n 8065ef6 temp[i] = medA[i]; 8065ed8: 4a92 ldr r2, [pc, #584] ; (8066124 ) 8065eda: 6abb ldr r3, [r7, #40] ; 0x28 8065edc: 009b lsls r3, r3, #2 8065ede: 4413 add r3, r2 8065ee0: 681a ldr r2, [r3, #0] 8065ee2: 6abb ldr r3, [r7, #40] ; 0x28 8065ee4: 009b lsls r3, r3, #2 8065ee6: f107 0130 add.w r1, r7, #48 ; 0x30 8065eea: 440b add r3, r1 8065eec: 3b24 subs r3, #36 ; 0x24 8065eee: 601a str r2, [r3, #0] for(i = 0; i < N_MED_MEAS; i++) 8065ef0: 6abb ldr r3, [r7, #40] ; 0x28 8065ef2: 3301 adds r3, #1 8065ef4: 62bb str r3, [r7, #40] ; 0x28 8065ef6: 6abb ldr r3, [r7, #40] ; 0x28 8065ef8: 2b04 cmp r3, #4 8065efa: d9ed bls.n 8065ed8 if(CounterA < N_MED_MEAS) 8065efc: 4b8a ldr r3, [pc, #552] ; (8066128 ) 8065efe: 781b ldrb r3, [r3, #0] 8065f00: b2db uxtb r3, r3 8065f02: 2b04 cmp r3, #4 8065f04: d806 bhi.n 8065f14 CounterA++; 8065f06: 4b88 ldr r3, [pc, #544] ; (8066128 ) 8065f08: 781b ldrb r3, [r3, #0] 8065f0a: b2db uxtb r3, r3 8065f0c: 3301 adds r3, #1 8065f0e: b2da uxtb r2, r3 8065f10: 4b85 ldr r3, [pc, #532] ; (8066128 ) 8065f12: 701a strb r2, [r3, #0] k = CounterA; 8065f14: 4b84 ldr r3, [pc, #528] ; (8066128 ) 8065f16: 781b ldrb r3, [r3, #0] 8065f18: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 8065f1c: e07b b.n 8066016 case VEL: for(i = N_MED_MEAS - 1; i > 0; i--) 8065f1e: 2304 movs r3, #4 8065f20: 62bb str r3, [r7, #40] ; 0x28 8065f22: e00d b.n 8065f40 medV[i] = medV[i - 1]; 8065f24: 6abb ldr r3, [r7, #40] ; 0x28 8065f26: 3b01 subs r3, #1 8065f28: 4a80 ldr r2, [pc, #512] ; (806612c ) 8065f2a: 009b lsls r3, r3, #2 8065f2c: 4413 add r3, r2 8065f2e: 681a ldr r2, [r3, #0] 8065f30: 497e ldr r1, [pc, #504] ; (806612c ) 8065f32: 6abb ldr r3, [r7, #40] ; 0x28 8065f34: 009b lsls r3, r3, #2 8065f36: 440b add r3, r1 8065f38: 601a str r2, [r3, #0] for(i = N_MED_MEAS - 1; i > 0; i--) 8065f3a: 6abb ldr r3, [r7, #40] ; 0x28 8065f3c: 3b01 subs r3, #1 8065f3e: 62bb str r3, [r7, #40] ; 0x28 8065f40: 6abb ldr r3, [r7, #40] ; 0x28 8065f42: 2b00 cmp r3, #0 8065f44: d1ee bne.n 8065f24 medV[0] = InVal; 8065f46: 4a79 ldr r2, [pc, #484] ; (806612c ) 8065f48: 683b ldr r3, [r7, #0] 8065f4a: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_MEAS; i++) 8065f4c: 2300 movs r3, #0 8065f4e: 62bb str r3, [r7, #40] ; 0x28 8065f50: e00e b.n 8065f70 temp[i] = medV[i]; 8065f52: 4a76 ldr r2, [pc, #472] ; (806612c ) 8065f54: 6abb ldr r3, [r7, #40] ; 0x28 8065f56: 009b lsls r3, r3, #2 8065f58: 4413 add r3, r2 8065f5a: 681a ldr r2, [r3, #0] 8065f5c: 6abb ldr r3, [r7, #40] ; 0x28 8065f5e: 009b lsls r3, r3, #2 8065f60: f107 0130 add.w r1, r7, #48 ; 0x30 8065f64: 440b add r3, r1 8065f66: 3b24 subs r3, #36 ; 0x24 8065f68: 601a str r2, [r3, #0] for(i = 0; i < N_MED_MEAS; i++) 8065f6a: 6abb ldr r3, [r7, #40] ; 0x28 8065f6c: 3301 adds r3, #1 8065f6e: 62bb str r3, [r7, #40] ; 0x28 8065f70: 6abb ldr r3, [r7, #40] ; 0x28 8065f72: 2b04 cmp r3, #4 8065f74: d9ed bls.n 8065f52 if(CounterV < N_MED_MEAS) 8065f76: 4b6e ldr r3, [pc, #440] ; (8066130 ) 8065f78: 781b ldrb r3, [r3, #0] 8065f7a: b2db uxtb r3, r3 8065f7c: 2b04 cmp r3, #4 8065f7e: d806 bhi.n 8065f8e CounterV++; 8065f80: 4b6b ldr r3, [pc, #428] ; (8066130 ) 8065f82: 781b ldrb r3, [r3, #0] 8065f84: b2db uxtb r3, r3 8065f86: 3301 adds r3, #1 8065f88: b2da uxtb r2, r3 8065f8a: 4b69 ldr r3, [pc, #420] ; (8066130 ) 8065f8c: 701a strb r2, [r3, #0] k = CounterV; 8065f8e: 4b68 ldr r3, [pc, #416] ; (8066130 ) 8065f90: 781b ldrb r3, [r3, #0] 8065f92: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 8065f96: e03e b.n 8066016 case DIS: for(i = N_MED_MEAS - 1; i > 0; i--) 8065f98: 2304 movs r3, #4 8065f9a: 62bb str r3, [r7, #40] ; 0x28 8065f9c: e00d b.n 8065fba medS[i] = medS[i - 1]; 8065f9e: 6abb ldr r3, [r7, #40] ; 0x28 8065fa0: 3b01 subs r3, #1 8065fa2: 4a64 ldr r2, [pc, #400] ; (8066134 ) 8065fa4: 009b lsls r3, r3, #2 8065fa6: 4413 add r3, r2 8065fa8: 681a ldr r2, [r3, #0] 8065faa: 4962 ldr r1, [pc, #392] ; (8066134 ) 8065fac: 6abb ldr r3, [r7, #40] ; 0x28 8065fae: 009b lsls r3, r3, #2 8065fb0: 440b add r3, r1 8065fb2: 601a str r2, [r3, #0] for(i = N_MED_MEAS - 1; i > 0; i--) 8065fb4: 6abb ldr r3, [r7, #40] ; 0x28 8065fb6: 3b01 subs r3, #1 8065fb8: 62bb str r3, [r7, #40] ; 0x28 8065fba: 6abb ldr r3, [r7, #40] ; 0x28 8065fbc: 2b00 cmp r3, #0 8065fbe: d1ee bne.n 8065f9e medS[0] = InVal; 8065fc0: 4a5c ldr r2, [pc, #368] ; (8066134 ) 8065fc2: 683b ldr r3, [r7, #0] 8065fc4: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_MEAS; i++) 8065fc6: 2300 movs r3, #0 8065fc8: 62bb str r3, [r7, #40] ; 0x28 8065fca: e00e b.n 8065fea temp[i] = medS[i]; 8065fcc: 4a59 ldr r2, [pc, #356] ; (8066134 ) 8065fce: 6abb ldr r3, [r7, #40] ; 0x28 8065fd0: 009b lsls r3, r3, #2 8065fd2: 4413 add r3, r2 8065fd4: 681a ldr r2, [r3, #0] 8065fd6: 6abb ldr r3, [r7, #40] ; 0x28 8065fd8: 009b lsls r3, r3, #2 8065fda: f107 0130 add.w r1, r7, #48 ; 0x30 8065fde: 440b add r3, r1 8065fe0: 3b24 subs r3, #36 ; 0x24 8065fe2: 601a str r2, [r3, #0] for(i = 0; i < N_MED_MEAS; i++) 8065fe4: 6abb ldr r3, [r7, #40] ; 0x28 8065fe6: 3301 adds r3, #1 8065fe8: 62bb str r3, [r7, #40] ; 0x28 8065fea: 6abb ldr r3, [r7, #40] ; 0x28 8065fec: 2b04 cmp r3, #4 8065fee: d9ed bls.n 8065fcc if(CounterS < N_MED_MEAS) 8065ff0: 4b51 ldr r3, [pc, #324] ; (8066138 ) 8065ff2: 781b ldrb r3, [r3, #0] 8065ff4: b2db uxtb r3, r3 8065ff6: 2b04 cmp r3, #4 8065ff8: d806 bhi.n 8066008 CounterS++; 8065ffa: 4b4f ldr r3, [pc, #316] ; (8066138 ) 8065ffc: 781b ldrb r3, [r3, #0] 8065ffe: b2db uxtb r3, r3 8066000: 3301 adds r3, #1 8066002: b2da uxtb r2, r3 8066004: 4b4c ldr r3, [pc, #304] ; (8066138 ) 8066006: 701a strb r2, [r3, #0] k = CounterS; 8066008: 4b4b ldr r3, [pc, #300] ; (8066138 ) 806600a: 781b ldrb r3, [r3, #0] 806600c: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 8066010: e001 b.n 8066016 default: return InVal; 8066012: 683b ldr r3, [r7, #0] 8066014: e07b b.n 806610e break; } for(j = 0; j < k; j++) 8066016: 2300 movs r3, #0 8066018: 627b str r3, [r7, #36] ; 0x24 806601a: e040 b.n 806609e { for(i = j; i < k; i++) 806601c: 6a7b ldr r3, [r7, #36] ; 0x24 806601e: 62bb str r3, [r7, #40] ; 0x28 8066020: e035 b.n 806608e { if(temp[i] < temp[j]) 8066022: 6abb ldr r3, [r7, #40] ; 0x28 8066024: 009b lsls r3, r3, #2 8066026: f107 0230 add.w r2, r7, #48 ; 0x30 806602a: 4413 add r3, r2 806602c: 3b24 subs r3, #36 ; 0x24 806602e: ed93 7a00 vldr s14, [r3] 8066032: 6a7b ldr r3, [r7, #36] ; 0x24 8066034: 009b lsls r3, r3, #2 8066036: f107 0230 add.w r2, r7, #48 ; 0x30 806603a: 4413 add r3, r2 806603c: 3b24 subs r3, #36 ; 0x24 806603e: edd3 7a00 vldr s15, [r3] 8066042: eeb4 7ae7 vcmpe.f32 s14, s15 8066046: eef1 fa10 vmrs APSR_nzcv, fpscr 806604a: d51d bpl.n 8066088 { OutVal = temp[j]; 806604c: 6a7b ldr r3, [r7, #36] ; 0x24 806604e: 009b lsls r3, r3, #2 8066050: f107 0230 add.w r2, r7, #48 ; 0x30 8066054: 4413 add r3, r2 8066056: 3b24 subs r3, #36 ; 0x24 8066058: 681b ldr r3, [r3, #0] 806605a: 623b str r3, [r7, #32] temp[j] = temp[i]; 806605c: 6abb ldr r3, [r7, #40] ; 0x28 806605e: 009b lsls r3, r3, #2 8066060: f107 0230 add.w r2, r7, #48 ; 0x30 8066064: 4413 add r3, r2 8066066: 3b24 subs r3, #36 ; 0x24 8066068: 681a ldr r2, [r3, #0] 806606a: 6a7b ldr r3, [r7, #36] ; 0x24 806606c: 009b lsls r3, r3, #2 806606e: f107 0130 add.w r1, r7, #48 ; 0x30 8066072: 440b add r3, r1 8066074: 3b24 subs r3, #36 ; 0x24 8066076: 601a str r2, [r3, #0] temp[i] = OutVal; 8066078: 6abb ldr r3, [r7, #40] ; 0x28 806607a: 009b lsls r3, r3, #2 806607c: f107 0230 add.w r2, r7, #48 ; 0x30 8066080: 4413 add r3, r2 8066082: 3b24 subs r3, #36 ; 0x24 8066084: 6a3a ldr r2, [r7, #32] 8066086: 601a str r2, [r3, #0] for(i = j; i < k; i++) 8066088: 6abb ldr r3, [r7, #40] ; 0x28 806608a: 3301 adds r3, #1 806608c: 62bb str r3, [r7, #40] ; 0x28 806608e: f897 202f ldrb.w r2, [r7, #47] ; 0x2f 8066092: 6abb ldr r3, [r7, #40] ; 0x28 8066094: 429a cmp r2, r3 8066096: d8c4 bhi.n 8066022 for(j = 0; j < k; j++) 8066098: 6a7b ldr r3, [r7, #36] ; 0x24 806609a: 3301 adds r3, #1 806609c: 627b str r3, [r7, #36] ; 0x24 806609e: f897 202f ldrb.w r2, [r7, #47] ; 0x2f 80660a2: 6a7b ldr r3, [r7, #36] ; 0x24 80660a4: 429a cmp r2, r3 80660a6: d8b9 bhi.n 806601c } } } i = (k >> 1); 80660a8: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80660ac: 085b lsrs r3, r3, #1 80660ae: b2db uxtb r3, r3 80660b0: 62bb str r3, [r7, #40] ; 0x28 if((k & 0x1) || (i == 0)) 80660b2: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80660b6: f003 0301 and.w r3, r3, #1 80660ba: 2b00 cmp r3, #0 80660bc: d102 bne.n 80660c4 80660be: 6abb ldr r3, [r7, #40] ; 0x28 80660c0: 2b00 cmp r3, #0 80660c2: d108 bne.n 80660d6 OutVal = temp[i]; 80660c4: 6abb ldr r3, [r7, #40] ; 0x28 80660c6: 009b lsls r3, r3, #2 80660c8: f107 0230 add.w r2, r7, #48 ; 0x30 80660cc: 4413 add r3, r2 80660ce: 3b24 subs r3, #36 ; 0x24 80660d0: 681b ldr r3, [r3, #0] 80660d2: 623b str r3, [r7, #32] 80660d4: e018 b.n 8066108 else OutVal = (temp[i] + temp[i - 1]) * 0.5f; 80660d6: 6abb ldr r3, [r7, #40] ; 0x28 80660d8: 009b lsls r3, r3, #2 80660da: f107 0230 add.w r2, r7, #48 ; 0x30 80660de: 4413 add r3, r2 80660e0: 3b24 subs r3, #36 ; 0x24 80660e2: ed93 7a00 vldr s14, [r3] 80660e6: 6abb ldr r3, [r7, #40] ; 0x28 80660e8: 3b01 subs r3, #1 80660ea: 009b lsls r3, r3, #2 80660ec: f107 0230 add.w r2, r7, #48 ; 0x30 80660f0: 4413 add r3, r2 80660f2: 3b24 subs r3, #36 ; 0x24 80660f4: edd3 7a00 vldr s15, [r3] 80660f8: ee77 7a27 vadd.f32 s15, s14, s15 80660fc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8066100: ee67 7a87 vmul.f32 s15, s15, s14 8066104: edc7 7a08 vstr s15, [r7, #32] return OutVal; 8066108: 6a3b ldr r3, [r7, #32] 806610a: e000 b.n 806610e } return InVal; 806610c: 683b ldr r3, [r7, #0] 806610e: ee07 3a90 vmov s15, r3 } 8066112: eeb0 0a67 vmov.f32 s0, s15 8066116: 3734 adds r7, #52 ; 0x34 8066118: 46bd mov sp, r7 806611a: f85d 7b04 ldr.w r7, [sp], #4 806611e: 4770 bx lr 8066120: 20023ea8 .word 0x20023ea8 8066124: 20057ea8 .word 0x20057ea8 8066128: 20021569 .word 0x20021569 806612c: 20058010 .word 0x20058010 8066130: 2002156a .word 0x2002156a 8066134: 20026590 .word 0x20026590 8066138: 2002156b .word 0x2002156b 806613c: 00000000 .word 0x00000000 08066140 : void initFilters(void) { 8066140: b590 push {r4, r7, lr} 8066142: b083 sub sp, #12 8066144: 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); 8066146: 4ba8 ldr r3, [pc, #672] ; (80663e8 ) 8066148: 4aa8 ldr r2, [pc, #672] ; (80663ec ) 806614a: 2104 movs r1, #4 806614c: 48a8 ldr r0, [pc, #672] ; (80663f0 ) 806614e: f068 f9c7 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_2Hz, 4, (float64_t *) BAND_OKT, State_IIR_2Hz); 8066152: 4ba8 ldr r3, [pc, #672] ; (80663f4 ) 8066154: 4aa5 ldr r2, [pc, #660] ; (80663ec ) 8066156: 2104 movs r1, #4 8066158: 48a7 ldr r0, [pc, #668] ; (80663f8 ) 806615a: f068 f9c1 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_4Hz, 4, (float64_t *) BAND_OKT, State_IIR_4Hz); 806615e: 4ba7 ldr r3, [pc, #668] ; (80663fc ) 8066160: 4aa2 ldr r2, [pc, #648] ; (80663ec ) 8066162: 2104 movs r1, #4 8066164: 48a6 ldr r0, [pc, #664] ; (8066400 ) 8066166: f068 f9bb bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_8Hz, 4, (float64_t *) BAND_OKT, State_IIR_8Hz); 806616a: 4ba6 ldr r3, [pc, #664] ; (8066404 ) 806616c: 4a9f ldr r2, [pc, #636] ; (80663ec ) 806616e: 2104 movs r1, #4 8066170: 48a5 ldr r0, [pc, #660] ; (8066408 ) 8066172: f068 f9b5 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_16Hz, 4, (float64_t *) BAND_OKT, State_IIR_16Hz); 8066176: 4ba5 ldr r3, [pc, #660] ; (806640c ) 8066178: 4a9c ldr r2, [pc, #624] ; (80663ec ) 806617a: 2104 movs r1, #4 806617c: 48a4 ldr r0, [pc, #656] ; (8066410 ) 806617e: f068 f9af bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_32Hz, 4, (float64_t *) BAND_OKT, State_IIR_32Hz); 8066182: 4ba4 ldr r3, [pc, #656] ; (8066414 ) 8066184: 4a99 ldr r2, [pc, #612] ; (80663ec ) 8066186: 2104 movs r1, #4 8066188: 48a3 ldr r0, [pc, #652] ; (8066418 ) 806618a: f068 f9a9 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_63Hz, 4, (float64_t *) BAND_OKT, State_IIR_63Hz); 806618e: 4ba3 ldr r3, [pc, #652] ; (806641c ) 8066190: 4a96 ldr r2, [pc, #600] ; (80663ec ) 8066192: 2104 movs r1, #4 8066194: 48a2 ldr r0, [pc, #648] ; (8066420 ) 8066196: f068 f9a3 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_125Hz, 4, (float64_t *) BAND_OKT, State_IIR_125Hz); 806619a: 4ba2 ldr r3, [pc, #648] ; (8066424 ) 806619c: 4a93 ldr r2, [pc, #588] ; (80663ec ) 806619e: 2104 movs r1, #4 80661a0: 48a1 ldr r0, [pc, #644] ; (8066428 ) 80661a2: f068 f99d bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_250Hz, 4, (float64_t *) BAND_OKT, State_IIR_250Hz); 80661a6: 4ba1 ldr r3, [pc, #644] ; (806642c ) 80661a8: 4a90 ldr r2, [pc, #576] ; (80663ec ) 80661aa: 2104 movs r1, #4 80661ac: 48a0 ldr r0, [pc, #640] ; (8066430 ) 80661ae: f068 f997 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_500Hz, 4, (float64_t *) BAND_OKT, State_IIR_500Hz); 80661b2: 4ba0 ldr r3, [pc, #640] ; (8066434 ) 80661b4: 4a8d ldr r2, [pc, #564] ; (80663ec ) 80661b6: 2104 movs r1, #4 80661b8: 489f ldr r0, [pc, #636] ; (8066438 ) 80661ba: f068 f991 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_1000Hz, 4, (float64_t *) BAND_OKT, State_IIR_1000Hz); 80661be: 4b9f ldr r3, [pc, #636] ; (806643c ) 80661c0: 4a8a ldr r2, [pc, #552] ; (80663ec ) 80661c2: 2104 movs r1, #4 80661c4: 489e ldr r0, [pc, #632] ; (8066440 ) 80661c6: f068 f98b bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_2000Hz, 4, (float64_t *) BAND_OKT, State_IIR_2000Hz); 80661ca: 4b9e ldr r3, [pc, #632] ; (8066444 ) 80661cc: 4a87 ldr r2, [pc, #540] ; (80663ec ) 80661ce: 2104 movs r1, #4 80661d0: 489d ldr r0, [pc, #628] ; (8066448 ) 80661d2: f068 f985 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_4000Hz, 4, (float64_t *) BAND_OKT, State_IIR_4000Hz); 80661d6: 4b9d ldr r3, [pc, #628] ; (806644c ) 80661d8: 4a84 ldr r2, [pc, #528] ; (80663ec ) 80661da: 2104 movs r1, #4 80661dc: 489c ldr r0, [pc, #624] ; (8066450 ) 80661de: f068 f97f bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_8000Hz, 4, (float64_t *) BAND_OKT, State_IIR_8000Hz); 80661e2: 4b9c ldr r3, [pc, #624] ; (8066454 ) 80661e4: 4a81 ldr r2, [pc, #516] ; (80663ec ) 80661e6: 2104 movs r1, #4 80661e8: 489b ldr r0, [pc, #620] ; (8066458 ) 80661ea: f068 f979 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_IIR_16000Hz, 4, (float64_t *) BAND_OKT, State_IIR_16000Hz); 80661ee: 4b9b ldr r3, [pc, #620] ; (806645c ) 80661f0: 4a7e ldr r2, [pc, #504] ; (80663ec ) 80661f2: 2104 movs r1, #4 80661f4: 489a ldr r0, [pc, #616] ; (8066460 ) 80661f6: f068 f973 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_1, 4, (float64_t *) COEFF_LP_OKT, State_LP_1); 80661fa: 4b9a ldr r3, [pc, #616] ; (8066464 ) 80661fc: 4a9a ldr r2, [pc, #616] ; (8066468 ) 80661fe: 2104 movs r1, #4 8066200: 489a ldr r0, [pc, #616] ; (806646c ) 8066202: f068 f96d bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_2, 4, (float64_t *) COEFF_LP_OKT, State_LP_2); 8066206: 4b9a ldr r3, [pc, #616] ; (8066470 ) 8066208: 4a97 ldr r2, [pc, #604] ; (8066468 ) 806620a: 2104 movs r1, #4 806620c: 4899 ldr r0, [pc, #612] ; (8066474 ) 806620e: f068 f967 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_4, 4, (float64_t *) COEFF_LP_OKT, State_LP_4); 8066212: 4b99 ldr r3, [pc, #612] ; (8066478 ) 8066214: 4a94 ldr r2, [pc, #592] ; (8066468 ) 8066216: 2104 movs r1, #4 8066218: 4898 ldr r0, [pc, #608] ; (806647c ) 806621a: f068 f961 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_8, 4, (float64_t *) COEFF_LP_OKT, State_LP_8); 806621e: 4b98 ldr r3, [pc, #608] ; (8066480 ) 8066220: 4a91 ldr r2, [pc, #580] ; (8066468 ) 8066222: 2104 movs r1, #4 8066224: 4897 ldr r0, [pc, #604] ; (8066484 ) 8066226: f068 f95b bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_16, 4, (float64_t *) COEFF_LP_OKT, State_LP_16); 806622a: 4b97 ldr r3, [pc, #604] ; (8066488 ) 806622c: 4a8e ldr r2, [pc, #568] ; (8066468 ) 806622e: 2104 movs r1, #4 8066230: 4896 ldr r0, [pc, #600] ; (806648c ) 8066232: f068 f955 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_32, 4, (float64_t *) COEFF_LP_OKT, State_LP_32); 8066236: 4b96 ldr r3, [pc, #600] ; (8066490 ) 8066238: 4a8b ldr r2, [pc, #556] ; (8066468 ) 806623a: 2104 movs r1, #4 806623c: 4895 ldr r0, [pc, #596] ; (8066494 ) 806623e: f068 f94f bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_63, 4, (float64_t *) COEFF_LP_OKT, State_LP_63); 8066242: 4b95 ldr r3, [pc, #596] ; (8066498 ) 8066244: 4a88 ldr r2, [pc, #544] ; (8066468 ) 8066246: 2104 movs r1, #4 8066248: 4894 ldr r0, [pc, #592] ; (806649c ) 806624a: f068 f949 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_125, 4, (float64_t *) COEFF_LP_OKT, State_LP_125); 806624e: 4b94 ldr r3, [pc, #592] ; (80664a0 ) 8066250: 4a85 ldr r2, [pc, #532] ; (8066468 ) 8066252: 2104 movs r1, #4 8066254: 4893 ldr r0, [pc, #588] ; (80664a4 ) 8066256: f068 f943 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_250, 4, (float64_t *) COEFF_LP_OKT, State_LP_250); 806625a: 4b93 ldr r3, [pc, #588] ; (80664a8 ) 806625c: 4a82 ldr r2, [pc, #520] ; (8066468 ) 806625e: 2104 movs r1, #4 8066260: 4892 ldr r0, [pc, #584] ; (80664ac ) 8066262: f068 f93d bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_500, 4, (float64_t *) COEFF_LP_OKT, State_LP_500); 8066266: 4b92 ldr r3, [pc, #584] ; (80664b0 ) 8066268: 4a7f ldr r2, [pc, #508] ; (8066468 ) 806626a: 2104 movs r1, #4 806626c: 4891 ldr r0, [pc, #580] ; (80664b4 ) 806626e: f068 f937 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_1000, 4, (float64_t *) COEFF_LP_OKT, State_LP_1000); 8066272: 4b91 ldr r3, [pc, #580] ; (80664b8 ) 8066274: 4a7c ldr r2, [pc, #496] ; (8066468 ) 8066276: 2104 movs r1, #4 8066278: 4890 ldr r0, [pc, #576] ; (80664bc ) 806627a: f068 f931 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_2000, 4, (float64_t *) COEFF_LP_OKT, State_LP_2000); 806627e: 4b90 ldr r3, [pc, #576] ; (80664c0 ) 8066280: 4a79 ldr r2, [pc, #484] ; (8066468 ) 8066282: 2104 movs r1, #4 8066284: 488f ldr r0, [pc, #572] ; (80664c4 ) 8066286: f068 f92b bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_4000, 4, (float64_t *) COEFF_LP_OKT, State_LP_4000); 806628a: 4b8f ldr r3, [pc, #572] ; (80664c8 ) 806628c: 4a76 ldr r2, [pc, #472] ; (8066468 ) 806628e: 2104 movs r1, #4 8066290: 488e ldr r0, [pc, #568] ; (80664cc ) 8066292: f068 f925 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_8000, 4, (float64_t *) COEFF_LP_OKT, State_LP_8000); 8066296: 4b8e ldr r3, [pc, #568] ; (80664d0 ) 8066298: 4a73 ldr r2, [pc, #460] ; (8066468 ) 806629a: 2104 movs r1, #4 806629c: 488d ldr r0, [pc, #564] ; (80664d4 ) 806629e: f068 f91f bl 80ce4e0 //*************************************************************************************************************************** // THIRD //*************************************************************************************************************************** arm_biquad_cascade_df2T_init_f64(&S_OKT_10000Hz, 4, (float64_t *) BAND_5kHz, State_OKT_10000Hz); 80662a2: 4b8d ldr r3, [pc, #564] ; (80664d8 ) 80662a4: 4a8d ldr r2, [pc, #564] ; (80664dc ) 80662a6: 2104 movs r1, #4 80662a8: 488d ldr r0, [pc, #564] ; (80664e0 ) 80662aa: f068 f919 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_8000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_8000Hz); 80662ae: 4b8d ldr r3, [pc, #564] ; (80664e4 ) 80662b0: 4a8d ldr r2, [pc, #564] ; (80664e8 ) 80662b2: 2104 movs r1, #4 80662b4: 488d ldr r0, [pc, #564] ; (80664ec ) 80662b6: f068 f913 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_6300Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_6300Hz); 80662ba: 4b8d ldr r3, [pc, #564] ; (80664f0 ) 80662bc: 4a8d ldr r2, [pc, #564] ; (80664f4 ) 80662be: 2104 movs r1, #4 80662c0: 488d ldr r0, [pc, #564] ; (80664f8 ) 80662c2: f068 f90d bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_5000Hz, 4, (float64_t *) BAND_5kHz, State_OKT_5000Hz); 80662c6: 4b8d ldr r3, [pc, #564] ; (80664fc ) 80662c8: 4a84 ldr r2, [pc, #528] ; (80664dc ) 80662ca: 2104 movs r1, #4 80662cc: 488c ldr r0, [pc, #560] ; (8066500 ) 80662ce: f068 f907 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_4000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_4000Hz); 80662d2: 4b8c ldr r3, [pc, #560] ; (8066504 ) 80662d4: 4a84 ldr r2, [pc, #528] ; (80664e8 ) 80662d6: 2104 movs r1, #4 80662d8: 488b ldr r0, [pc, #556] ; (8066508 ) 80662da: f068 f901 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_3150Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_3150Hz); 80662de: 4b8b ldr r3, [pc, #556] ; (806650c ) 80662e0: 4a84 ldr r2, [pc, #528] ; (80664f4 ) 80662e2: 2104 movs r1, #4 80662e4: 488a ldr r0, [pc, #552] ; (8066510 ) 80662e6: f068 f8fb bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_2500Hz, 4, (float64_t *) BAND_5kHz, State_OKT_2500Hz); 80662ea: 4b8a ldr r3, [pc, #552] ; (8066514 ) 80662ec: 4a7b ldr r2, [pc, #492] ; (80664dc ) 80662ee: 2104 movs r1, #4 80662f0: 4889 ldr r0, [pc, #548] ; (8066518 ) 80662f2: f068 f8f5 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_2000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_2000Hz); 80662f6: 4b89 ldr r3, [pc, #548] ; (806651c ) 80662f8: 4a7b ldr r2, [pc, #492] ; (80664e8 ) 80662fa: 2104 movs r1, #4 80662fc: 4888 ldr r0, [pc, #544] ; (8066520 ) 80662fe: f068 f8ef bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1600Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_1600Hz); 8066302: 4b88 ldr r3, [pc, #544] ; (8066524 ) 8066304: 4a7b ldr r2, [pc, #492] ; (80664f4 ) 8066306: 2104 movs r1, #4 8066308: 4887 ldr r0, [pc, #540] ; (8066528 ) 806630a: f068 f8e9 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1250Hz, 4, (float64_t *) BAND_5kHz, State_OKT_1250Hz); 806630e: 4b87 ldr r3, [pc, #540] ; (806652c ) 8066310: 4a72 ldr r2, [pc, #456] ; (80664dc ) 8066312: 2104 movs r1, #4 8066314: 4886 ldr r0, [pc, #536] ; (8066530 ) 8066316: f068 f8e3 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_1000Hz); 806631a: 4b86 ldr r3, [pc, #536] ; (8066534 ) 806631c: 4a72 ldr r2, [pc, #456] ; (80664e8 ) 806631e: 2104 movs r1, #4 8066320: 4885 ldr r0, [pc, #532] ; (8066538 ) 8066322: f068 f8dd bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_800Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_800Hz); 8066326: 4b85 ldr r3, [pc, #532] ; (806653c ) 8066328: 4a72 ldr r2, [pc, #456] ; (80664f4 ) 806632a: 2104 movs r1, #4 806632c: 4884 ldr r0, [pc, #528] ; (8066540 ) 806632e: f068 f8d7 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_630Hz, 4, (float64_t *) BAND_5kHz, State_OKT_630Hz); 8066332: 4b84 ldr r3, [pc, #528] ; (8066544 ) 8066334: 4a69 ldr r2, [pc, #420] ; (80664dc ) 8066336: 2104 movs r1, #4 8066338: 4883 ldr r0, [pc, #524] ; (8066548 ) 806633a: f068 f8d1 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_500Hz, 4, (float64_t *) BAND_4kHz, State_OKT_500Hz); 806633e: 4b83 ldr r3, [pc, #524] ; (806654c ) 8066340: 4a69 ldr r2, [pc, #420] ; (80664e8 ) 8066342: 2104 movs r1, #4 8066344: 4882 ldr r0, [pc, #520] ; (8066550 ) 8066346: f068 f8cb bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_400Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_400Hz); 806634a: 4b82 ldr r3, [pc, #520] ; (8066554 ) 806634c: 4a69 ldr r2, [pc, #420] ; (80664f4 ) 806634e: 2104 movs r1, #4 8066350: 4881 ldr r0, [pc, #516] ; (8066558 ) 8066352: f068 f8c5 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_315Hz, 4, (float64_t *) BAND_5kHz, State_OKT_315Hz); 8066356: 4b81 ldr r3, [pc, #516] ; (806655c ) 8066358: 4a60 ldr r2, [pc, #384] ; (80664dc ) 806635a: 2104 movs r1, #4 806635c: 4880 ldr r0, [pc, #512] ; (8066560 ) 806635e: f068 f8bf bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_250Hz, 4, (float64_t *) BAND_4kHz, State_OKT_250Hz); 8066362: 4b80 ldr r3, [pc, #512] ; (8066564 ) 8066364: 4a60 ldr r2, [pc, #384] ; (80664e8 ) 8066366: 2104 movs r1, #4 8066368: 487f ldr r0, [pc, #508] ; (8066568 ) 806636a: f068 f8b9 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_200Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_200Hz); 806636e: 4b7f ldr r3, [pc, #508] ; (806656c ) 8066370: 4a60 ldr r2, [pc, #384] ; (80664f4 ) 8066372: 2104 movs r1, #4 8066374: 487e ldr r0, [pc, #504] ; (8066570 ) 8066376: f068 f8b3 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_160Hz, 4, (float64_t *) BAND_5kHz, State_OKT_160Hz); 806637a: 4b7e ldr r3, [pc, #504] ; (8066574 ) 806637c: 4a57 ldr r2, [pc, #348] ; (80664dc ) 806637e: 2104 movs r1, #4 8066380: 487d ldr r0, [pc, #500] ; (8066578 ) 8066382: f068 f8ad bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_125Hz, 4, (float64_t *) BAND_4kHz, State_OKT_125Hz); 8066386: 4b7d ldr r3, [pc, #500] ; (806657c ) 8066388: 4a57 ldr r2, [pc, #348] ; (80664e8 ) 806638a: 2104 movs r1, #4 806638c: 487c ldr r0, [pc, #496] ; (8066580 ) 806638e: f068 f8a7 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_100Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_100Hz); 8066392: 4b7c ldr r3, [pc, #496] ; (8066584 ) 8066394: 4a57 ldr r2, [pc, #348] ; (80664f4 ) 8066396: 2104 movs r1, #4 8066398: 487b ldr r0, [pc, #492] ; (8066588 ) 806639a: f068 f8a1 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_80Hz, 4, (float64_t *) BAND_5kHz, State_OKT_80Hz); 806639e: 4b7b ldr r3, [pc, #492] ; (806658c ) 80663a0: 4a4e ldr r2, [pc, #312] ; (80664dc ) 80663a2: 2104 movs r1, #4 80663a4: 487a ldr r0, [pc, #488] ; (8066590 ) 80663a6: f068 f89b bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_63Hz, 4, (float64_t *) BAND_4kHz, State_OKT_63Hz); 80663aa: 4b7a ldr r3, [pc, #488] ; (8066594 ) 80663ac: 4a4e ldr r2, [pc, #312] ; (80664e8 ) 80663ae: 2104 movs r1, #4 80663b0: 4879 ldr r0, [pc, #484] ; (8066598 ) 80663b2: f068 f895 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_50Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_50Hz); 80663b6: 4b79 ldr r3, [pc, #484] ; (806659c ) 80663b8: 4a4e ldr r2, [pc, #312] ; (80664f4 ) 80663ba: 2104 movs r1, #4 80663bc: 4878 ldr r0, [pc, #480] ; (80665a0 ) 80663be: f068 f88f bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_40Hz, 4, (float64_t *) BAND_5kHz, State_OKT_40Hz); 80663c2: 4b78 ldr r3, [pc, #480] ; (80665a4 ) 80663c4: 4a45 ldr r2, [pc, #276] ; (80664dc ) 80663c6: 2104 movs r1, #4 80663c8: 4877 ldr r0, [pc, #476] ; (80665a8 ) 80663ca: f068 f889 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_32Hz, 4, (float64_t *) BAND_4kHz, State_OKT_32Hz); 80663ce: 4b77 ldr r3, [pc, #476] ; (80665ac ) 80663d0: 4a45 ldr r2, [pc, #276] ; (80664e8 ) 80663d2: 2104 movs r1, #4 80663d4: 4876 ldr r0, [pc, #472] ; (80665b0 ) 80663d6: f068 f883 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_25Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_25Hz); 80663da: 4b76 ldr r3, [pc, #472] ; (80665b4 ) 80663dc: 4a45 ldr r2, [pc, #276] ; (80664f4 ) 80663de: 2104 movs r1, #4 80663e0: 4875 ldr r0, [pc, #468] ; (80665b8 ) 80663e2: f068 f87d bl 80ce4e0 80663e6: e0e9 b.n 80665bc 80663e8: 20026ef8 .word 0x20026ef8 80663ec: 080f2fd0 .word 0x080f2fd0 80663f0: 200278ac .word 0x200278ac 80663f4: 20026d50 .word 0x20026d50 80663f8: 20058024 .word 0x20058024 80663fc: 20037a90 .word 0x20037a90 8066400: 20027914 .word 0x20027914 8066404: 20057b90 .word 0x20057b90 8066408: 20057f88 .word 0x20057f88 806640c: 20026df8 .word 0x20026df8 8066410: 20026ec8 .word 0x20026ec8 8066414: 20057cb8 .word 0x20057cb8 8066418: 20068530 .word 0x20068530 806641c: 200269e8 .word 0x200269e8 8066420: 20068428 .word 0x20068428 8066424: 200684a0 .word 0x200684a0 8066428: 20026730 .word 0x20026730 806642c: 200684f0 .word 0x200684f0 8066430: 20026928 .word 0x20026928 8066434: 20026e38 .word 0x20026e38 8066438: 20068060 .word 0x20068060 806643c: 20026858 .word 0x20026858 8066440: 200266a0 .word 0x200266a0 8066444: 20057c38 .word 0x20057c38 8066448: 20026f38 .word 0x20026f38 806644c: 20057fd0 .word 0x20057fd0 8066450: 20057bd0 .word 0x20057bd0 8066454: 20027860 .word 0x20027860 8066458: 20025e2c .word 0x20025e2c 806645c: 200277a0 .word 0x200277a0 8066460: 20057bdc .word 0x20057bdc 8066464: 20026290 .word 0x20026290 8066468: 080f2f30 .word 0x080f2f30 806646c: 200261c8 .word 0x200261c8 8066470: 20068170 .word 0x20068170 8066474: 20057d3c .word 0x20057d3c 8066478: 200268d8 .word 0x200268d8 806647c: 20057b20 .word 0x20057b20 8066480: 20026a28 .word 0x20026a28 8066484: 2002637c .word 0x2002637c 8066488: 20025fe0 .word 0x20025fe0 806648c: 20026aa8 .word 0x20026aa8 8066490: 20026b30 .word 0x20026b30 8066494: 200278f8 .word 0x200278f8 8066498: 20057c78 .word 0x20057c78 806649c: 20026370 .word 0x20026370 80664a0: 20026898 .word 0x20026898 80664a4: 20026060 .word 0x20026060 80664a8: 20068548 .word 0x20068548 80664ac: 20068588 .word 0x20068588 80664b0: 20027920 .word 0x20027920 80664b4: 2002799c .word 0x2002799c 80664b8: 20025ed0 .word 0x20025ed0 80664bc: 20068304 .word 0x20068304 80664c0: 20057f08 .word 0x20057f08 80664c4: 20027960 .word 0x20027960 80664c8: 20068368 .word 0x20068368 80664cc: 20026d14 .word 0x20026d14 80664d0: 20057b38 .word 0x20057b38 80664d4: 200685a4 .word 0x200685a4 80664d8: 20026e88 .word 0x20026e88 80664dc: 080f3070 .word 0x080f3070 80664e0: 20057e80 .word 0x20057e80 80664e4: 20026388 .word 0x20026388 80664e8: 080f3110 .word 0x080f3110 80664ec: 20057e30 .word 0x20057e30 80664f0: 20026250 .word 0x20026250 80664f4: 080f31b0 .word 0x080f31b0 80664f8: 20027850 .word 0x20027850 80664fc: 20057f48 .word 0x20057f48 8066500: 20068434 .word 0x20068434 8066504: 20026968 .word 0x20026968 8066508: 200682f8 .word 0x200682f8 806650c: 20068260 .word 0x20068260 8066510: 20025ec4 .word 0x20025ec4 8066514: 20026da0 .word 0x20026da0 8066518: 20026778 .word 0x20026778 806651c: 20026660 .word 0x20026660 8066520: 20026bbc .word 0x20026bbc 8066524: 20057e40 .word 0x20057e40 8066528: 200278b8 .word 0x200278b8 806652c: 20057d48 .word 0x20057d48 8066530: 20068450 .word 0x20068450 8066534: 20026460 .word 0x20026460 8066538: 200261f8 .word 0x200261f8 806653c: 200682b8 .word 0x200682b8 8066540: 20068490 .word 0x20068490 8066544: 200681f0 .word 0x200681f0 8066548: 20025fd0 .word 0x20025fd0 806654c: 20026c78 .word 0x20026c78 8066550: 20057b2c .word 0x20057b2c 8066554: 20068320 .word 0x20068320 8066558: 20026084 .word 0x20026084 806655c: 20026330 .word 0x20026330 8066560: 20026454 .word 0x20026454 8066564: 20026210 .word 0x20026210 8066568: 20068594 .word 0x20068594 806656c: 20026610 .word 0x20026610 8066570: 200265d0 .word 0x200265d0 8066574: 20025f50 .word 0x20025f50 8066578: 2002606c .word 0x2002606c 806657c: 20025e78 .word 0x20025e78 8066580: 20057c28 .word 0x20057c28 8066584: 20026808 .word 0x20026808 8066588: 200277e0 .word 0x200277e0 806658c: 20025e38 .word 0x20025e38 8066590: 200267ec .word 0x200267ec 8066594: 20057ec0 .word 0x20057ec0 8066598: 20057b84 .word 0x20057b84 806659c: 20026bc8 .word 0x20026bc8 80665a0: 20057dc4 .word 0x20057dc4 80665a4: 20026f60 .word 0x20026f60 80665a8: 20026650 .word 0x20026650 80665ac: 200683e8 .word 0x200683e8 80665b0: 20057f94 .word 0x20057f94 80665b4: 200266f0 .word 0x200266f0 80665b8: 20026de0 .word 0x20026de0 arm_biquad_cascade_df2T_init_f64(&S_OKT_20Hz, 4, (float64_t *) BAND_5kHz, State_OKT_20Hz); 80665bc: 4ba0 ldr r3, [pc, #640] ; (8066840 ) 80665be: 4aa1 ldr r2, [pc, #644] ; (8066844 ) 80665c0: 2104 movs r1, #4 80665c2: 48a1 ldr r0, [pc, #644] ; (8066848 ) 80665c4: f067 ff8c bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_16Hz, 4, (float64_t *) BAND_4kHz, State_OKT_16Hz); 80665c8: 4ba0 ldr r3, [pc, #640] ; (806684c ) 80665ca: 4aa1 ldr r2, [pc, #644] ; (8066850 ) 80665cc: 2104 movs r1, #4 80665ce: 48a1 ldr r0, [pc, #644] ; (8066854 ) 80665d0: f067 ff86 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_12_5Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_12_5Hz); 80665d4: 4ba0 ldr r3, [pc, #640] ; (8066858 ) 80665d6: 4aa1 ldr r2, [pc, #644] ; (806685c ) 80665d8: 2104 movs r1, #4 80665da: 48a1 ldr r0, [pc, #644] ; (8066860 ) 80665dc: f067 ff80 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_10Hz, 4, (float64_t *) BAND_5kHz, State_OKT_10Hz); 80665e0: 4ba0 ldr r3, [pc, #640] ; (8066864 ) 80665e2: 4a98 ldr r2, [pc, #608] ; (8066844 ) 80665e4: 2104 movs r1, #4 80665e6: 48a0 ldr r0, [pc, #640] ; (8066868 ) 80665e8: f067 ff7a bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_8Hz, 4, (float64_t *) BAND_4kHz, State_OKT_8Hz); 80665ec: 4b9f ldr r3, [pc, #636] ; (806686c ) 80665ee: 4a98 ldr r2, [pc, #608] ; (8066850 ) 80665f0: 2104 movs r1, #4 80665f2: 489f ldr r0, [pc, #636] ; (8066870 ) 80665f4: f067 ff74 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_6_3Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_6_3Hz); 80665f8: 4b9e ldr r3, [pc, #632] ; (8066874 ) 80665fa: 4a98 ldr r2, [pc, #608] ; (806685c ) 80665fc: 2104 movs r1, #4 80665fe: 489e ldr r0, [pc, #632] ; (8066878 ) 8066600: f067 ff6e bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_5Hz, 4, (float64_t *) BAND_5kHz, State_OKT_5Hz); 8066604: 4b9d ldr r3, [pc, #628] ; (806687c ) 8066606: 4a8f ldr r2, [pc, #572] ; (8066844 ) 8066608: 2104 movs r1, #4 806660a: 489d ldr r0, [pc, #628] ; (8066880 ) 806660c: f067 ff68 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_4Hz, 4, (float64_t *) BAND_4kHz, State_OKT_4Hz); 8066610: 4b9c ldr r3, [pc, #624] ; (8066884 ) 8066612: 4a8f ldr r2, [pc, #572] ; (8066850 ) 8066614: 2104 movs r1, #4 8066616: 489c ldr r0, [pc, #624] ; (8066888 ) 8066618: f067 ff62 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_3_15Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_3_15Hz); 806661c: 4b9b ldr r3, [pc, #620] ; (806688c ) 806661e: 4a8f ldr r2, [pc, #572] ; (806685c ) 8066620: 2104 movs r1, #4 8066622: 489b ldr r0, [pc, #620] ; (8066890 ) 8066624: f067 ff5c bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_2_5Hz, 4, (float64_t *) BAND_5kHz, State_OKT_2_5Hz); 8066628: 4b9a ldr r3, [pc, #616] ; (8066894 ) 806662a: 4a86 ldr r2, [pc, #536] ; (8066844 ) 806662c: 2104 movs r1, #4 806662e: 489a ldr r0, [pc, #616] ; (8066898 ) 8066630: f067 ff56 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_2Hz, 4, (float64_t *) BAND_4kHz, State_OKT_2Hz); 8066634: 4b99 ldr r3, [pc, #612] ; (806689c ) 8066636: 4a86 ldr r2, [pc, #536] ; (8066850 ) 8066638: 2104 movs r1, #4 806663a: 4899 ldr r0, [pc, #612] ; (80668a0 ) 806663c: f067 ff50 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1_6Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_1_6Hz); 8066640: 4b98 ldr r3, [pc, #608] ; (80668a4 ) 8066642: 4a86 ldr r2, [pc, #536] ; (806685c ) 8066644: 2104 movs r1, #4 8066646: 4898 ldr r0, [pc, #608] ; (80668a8 ) 8066648: f067 ff4a bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1_25Hz, 4, (float64_t *) BAND_5kHz, State_OKT_1_25Hz); 806664c: 4b97 ldr r3, [pc, #604] ; (80668ac ) 806664e: 4a7d ldr r2, [pc, #500] ; (8066844 ) 8066650: 2104 movs r1, #4 8066652: 4897 ldr r0, [pc, #604] ; (80668b0 ) 8066654: f067 ff44 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1Hz, 4, (float64_t *) BAND_4kHz, State_OKT_1Hz); 8066658: 4b96 ldr r3, [pc, #600] ; (80668b4 ) 806665a: 4a7d ldr r2, [pc, #500] ; (8066850 ) 806665c: 2104 movs r1, #4 806665e: 4896 ldr r0, [pc, #600] ; (80668b8 ) 8066660: f067 ff3e bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_OKT_0_8Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_0_8Hz); 8066664: 4b95 ldr r3, [pc, #596] ; (80668bc ) 8066666: 4a7d ldr r2, [pc, #500] ; (806685c ) 8066668: 2104 movs r1, #4 806666a: 4895 ldr r0, [pc, #596] ; (80668c0 ) 806666c: f067 ff38 bl 80ce4e0 //todo if(pardata.SYG != UDAR) 8066670: 4b94 ldr r3, [pc, #592] ; (80668c4 ) 8066672: 781b ldrb r3, [r3, #0] 8066674: b2db uxtb r3, r3 8066676: 2b09 cmp r3, #9 8066678: d047 beq.n 806670a { initINT1_INT2(0.640); 806667a: ed9f 0b63 vldr d0, [pc, #396] ; 8066808 806667e: f000 f937 bl 80668f0 initLP((float64_t) pardata.LP); 8066682: 4b90 ldr r3, [pc, #576] ; (80668c4 ) 8066684: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8066688: eeb7 7ae7 vcvt.f64.f32 d7, s15 806668c: eeb0 0b47 vmov.f64 d0, d7 8066690: f000 fbde bl 8066e50 initHP((float64_t) pardata.HP); 8066694: 4b8b ldr r3, [pc, #556] ; (80668c4 ) 8066696: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 806669a: eeb7 7ae7 vcvt.f64.f32 d7, s15 806669e: eeb0 0b47 vmov.f64 d0, d7 80666a2: f000 fa35 bl 8066b10 for(i = 0; i < 4; i++) 80666a6: 2300 movs r3, #0 80666a8: 607b str r3, [r7, #4] 80666aa: e02a b.n 8066702 { initLP_1(i, (float64_t) pardata.DIAGN_LP[CURR_POINT][i]); 80666ac: 4b86 ldr r3, [pc, #536] ; (80668c8 ) 80666ae: 781b ldrb r3, [r3, #0] 80666b0: b2db uxtb r3, r3 80666b2: 4984 ldr r1, [pc, #528] ; (80668c4 ) 80666b4: 009a lsls r2, r3, #2 80666b6: 687b ldr r3, [r7, #4] 80666b8: 4413 add r3, r2 80666ba: 33b6 adds r3, #182 ; 0xb6 80666bc: 009b lsls r3, r3, #2 80666be: 440b add r3, r1 80666c0: 3304 adds r3, #4 80666c2: edd3 7a00 vldr s15, [r3] 80666c6: eeb7 7ae7 vcvt.f64.f32 d7, s15 80666ca: eeb0 0b47 vmov.f64 d0, d7 80666ce: 6878 ldr r0, [r7, #4] 80666d0: f000 fd1a bl 8067108 initHP_1(i, (float64_t) pardata.DIAGN_HP[CURR_POINT][i]); 80666d4: 4b7c ldr r3, [pc, #496] ; (80668c8 ) 80666d6: 781b ldrb r3, [r3, #0] 80666d8: b2db uxtb r3, r3 80666da: 497a ldr r1, [pc, #488] ; (80668c4 ) 80666dc: 009a lsls r2, r3, #2 80666de: 687b ldr r3, [r7, #4] 80666e0: 4413 add r3, r2 80666e2: 3396 adds r3, #150 ; 0x96 80666e4: 009b lsls r3, r3, #2 80666e6: 440b add r3, r1 80666e8: 3304 adds r3, #4 80666ea: edd3 7a00 vldr s15, [r3] 80666ee: eeb7 7ae7 vcvt.f64.f32 d7, s15 80666f2: eeb0 0b47 vmov.f64 d0, d7 80666f6: 6878 ldr r0, [r7, #4] 80666f8: f000 fac6 bl 8066c88 for(i = 0; i < 4; i++) 80666fc: 687b ldr r3, [r7, #4] 80666fe: 3301 adds r3, #1 8066700: 607b str r3, [r7, #4] 8066702: 687b ldr r3, [r7, #4] 8066704: 2b03 cmp r3, #3 8066706: d9d1 bls.n 80666ac 8066708: e06b b.n 80667e2 } } else { k = 0; 806670a: 2300 movs r3, #0 806670c: 603b str r3, [r7, #0] MY_COEFF_HP[k++] = 0.779283316385214975; //Fs=250000, Fc=11200 806670e: 683b ldr r3, [r7, #0] 8066710: 1c5a adds r2, r3, #1 8066712: 603a str r2, [r7, #0] 8066714: 4a6d ldr r2, [pc, #436] ; (80668cc ) 8066716: 00db lsls r3, r3, #3 8066718: 441a add r2, r3 806671a: a43d add r4, pc, #244 ; (adr r4, 8066810 ) 806671c: cc18 ldmia r4, {r3, r4} 806671e: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -1.558566632770429950; 8066722: 683b ldr r3, [r7, #0] 8066724: 1c5a adds r2, r3, #1 8066726: 603a str r2, [r7, #0] 8066728: 4a68 ldr r2, [pc, #416] ; (80668cc ) 806672a: 00db lsls r3, r3, #3 806672c: 441a add r2, r3 806672e: a43a add r4, pc, #232 ; (adr r4, 8066818 ) 8066730: cc18 ldmia r4, {r3, r4} 8066732: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 0.779283316385214975; 8066736: 683b ldr r3, [r7, #0] 8066738: 1c5a adds r2, r3, #1 806673a: 603a str r2, [r7, #0] 806673c: 4a63 ldr r2, [pc, #396] ; (80668cc ) 806673e: 00db lsls r3, r3, #3 8066740: 441a add r2, r3 8066742: a433 add r4, pc, #204 ; (adr r4, 8066810 ) 8066744: cc18 ldmia r4, {r3, r4} 8066746: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 1.526997415838100560; 806674a: 683b ldr r3, [r7, #0] 806674c: 1c5a adds r2, r3, #1 806674e: 603a str r2, [r7, #0] 8066750: 4a5e ldr r2, [pc, #376] ; (80668cc ) 8066752: 00db lsls r3, r3, #3 8066754: 441a add r2, r3 8066756: a432 add r4, pc, #200 ; (adr r4, 8066820 ) 8066758: cc18 ldmia r4, {r3, r4} 806675a: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -0.590135849702759563; 806675e: 683b ldr r3, [r7, #0] 8066760: 1c5a adds r2, r3, #1 8066762: 603a str r2, [r7, #0] 8066764: 4a59 ldr r2, [pc, #356] ; (80668cc ) 8066766: 00db lsls r3, r3, #3 8066768: 441a add r2, r3 806676a: a42f add r4, pc, #188 ; (adr r4, 8066828 ) 806676c: cc18 ldmia r4, {r3, r4} 806676e: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 0.885595948673332356; 8066772: 683b ldr r3, [r7, #0] 8066774: 1c5a adds r2, r3, #1 8066776: 603a str r2, [r7, #0] 8066778: 4a54 ldr r2, [pc, #336] ; (80668cc ) 806677a: 00db lsls r3, r3, #3 806677c: 441a add r2, r3 806677e: a42c add r4, pc, #176 ; (adr r4, 8066830 ) 8066780: cc18 ldmia r4, {r3, r4} 8066782: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -1.771191897346664710; 8066786: 683b ldr r3, [r7, #0] 8066788: 1c5a adds r2, r3, #1 806678a: 603a str r2, [r7, #0] 806678c: 4a4f ldr r2, [pc, #316] ; (80668cc ) 806678e: 00db lsls r3, r3, #3 8066790: 441a add r2, r3 8066792: a429 add r4, pc, #164 ; (adr r4, 8066838 ) 8066794: cc18 ldmia r4, {r3, r4} 8066796: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 0.885595948673332356; 806679a: 683b ldr r3, [r7, #0] 806679c: 1c5a adds r2, r3, #1 806679e: 603a str r2, [r7, #0] 80667a0: 4a4a ldr r2, [pc, #296] ; (80668cc ) 80667a2: 00db lsls r3, r3, #3 80667a4: 441a add r2, r3 80667a6: a422 add r4, pc, #136 ; (adr r4, 8066830 ) 80667a8: cc18 ldmia r4, {r3, r4} 80667aa: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 1.526997415838100560; 80667ae: 683b ldr r3, [r7, #0] 80667b0: 1c5a adds r2, r3, #1 80667b2: 603a str r2, [r7, #0] 80667b4: 4a45 ldr r2, [pc, #276] ; (80668cc ) 80667b6: 00db lsls r3, r3, #3 80667b8: 441a add r2, r3 80667ba: a419 add r4, pc, #100 ; (adr r4, 8066820 ) 80667bc: cc18 ldmia r4, {r3, r4} 80667be: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -0.590135849702759563; 80667c2: 683b ldr r3, [r7, #0] 80667c4: 1c5a adds r2, r3, #1 80667c6: 603a str r2, [r7, #0] 80667c8: 4a40 ldr r2, [pc, #256] ; (80668cc ) 80667ca: 00db lsls r3, r3, #3 80667cc: 441a add r2, r3 80667ce: a416 add r4, pc, #88 ; (adr r4, 8066828 ) 80667d0: cc18 ldmia r4, {r3, r4} 80667d2: 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); 80667d6: 4b3e ldr r3, [pc, #248] ; (80668d0 ) 80667d8: 4a3c ldr r2, [pc, #240] ; (80668cc ) 80667da: 2102 movs r1, #2 80667dc: 483d ldr r0, [pc, #244] ; (80668d4 ) 80667de: f067 fe7f bl 80ce4e0 } /// TACHO arm_biquad_cascade_df2T_init_f64(&S_HP_TACHO, 1, (float64_t *) COEFF_HP_TACHO, State_HP_TACHO); 80667e2: 4b3d ldr r3, [pc, #244] ; (80668d8 ) 80667e4: 4a3d ldr r2, [pc, #244] ; (80668dc ) 80667e6: 2101 movs r1, #1 80667e8: 483d ldr r0, [pc, #244] ; (80668e0 ) 80667ea: f067 fe79 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_LP_TACHO, 2, (float64_t *) COEFF_LP_TACHO, State_LP_TACHO); 80667ee: 4b3d ldr r3, [pc, #244] ; (80668e4 ) 80667f0: 4a3d ldr r2, [pc, #244] ; (80668e8 ) 80667f2: 2102 movs r1, #2 80667f4: 483d ldr r0, [pc, #244] ; (80668ec ) 80667f6: f067 fe73 bl 80ce4e0 } 80667fa: bf00 nop 80667fc: 370c adds r7, #12 80667fe: 46bd mov sp, r7 8066800: bd90 pop {r4, r7, pc} 8066802: bf00 nop 8066804: f3af 8000 nop.w 8066808: 47ae147b .word 0x47ae147b 806680c: 3fe47ae1 .word 0x3fe47ae1 8066810: 90c62c65 .word 0x90c62c65 8066814: 3fe8efe3 .word 0x3fe8efe3 8066818: 90c62c65 .word 0x90c62c65 806681c: bff8efe3 .word 0xbff8efe3 8066820: d7a19e54 .word 0xd7a19e54 8066824: 3ff86e94 .word 0x3ff86e94 8066828: 93d574ee .word 0x93d574ee 806682c: bfe2e264 .word 0xbfe2e264 8066830: 50a0b4b1 .word 0x50a0b4b1 8066834: 3fec56cd .word 0x3fec56cd 8066838: 50a0b4b1 .word 0x50a0b4b1 806683c: bffc56cd .word 0xbffc56cd 8066840: 200263c8 .word 0x200263c8 8066844: 080f3070 .word 0x080f3070 8066848: 20026020 .word 0x20026020 806684c: 20026550 .word 0x20026550 8066850: 080f3110 .word 0x080f3110 8066854: 20026c08 .word 0x20026c08 8066858: 20026cb8 .word 0x20026cb8 806685c: 080f31b0 .word 0x080f31b0 8066860: 20057b78 .word 0x20057b78 8066864: 20027810 .word 0x20027810 8066868: 200680c0 .word 0x200680c0 806686c: 20026b70 .word 0x20026b70 8066870: 20057d04 .word 0x20057d04 8066874: 200279a8 .word 0x200279a8 8066878: 20057e9c .word 0x20057e9c 806687c: 200681b0 .word 0x200681b0 8066880: 20057d30 .word 0x20057d30 8066884: 200680d0 .word 0x200680d0 8066888: 20026078 .word 0x20026078 806688c: 200269a8 .word 0x200269a8 8066890: 20068444 .word 0x20068444 8066894: 20026af0 .word 0x20026af0 8066898: 20057db8 .word 0x20057db8 806689c: 20057be8 .word 0x20057be8 80668a0: 20026448 .word 0x20026448 80668a4: 20026a68 .word 0x20026a68 80668a8: 20026848 .word 0x20026848 80668ac: 20068130 .word 0x20068130 80668b0: 20026f44 .word 0x20026f44 80668b4: 20037ad0 .word 0x20037ad0 80668b8: 20057e00 .word 0x20057e00 80668bc: 200266b0 .word 0x200266b0 80668c0: 2002796c .word 0x2002796c 80668c4: 20023ea8 .word 0x20023ea8 80668c8: 20021055 .word 0x20021055 80668cc: 20021060 .word 0x20021060 80668d0: 20068110 .word 0x20068110 80668d4: 20025f40 .word 0x20025f40 80668d8: 200265c0 .word 0x200265c0 80668dc: 080f33e0 .word 0x080f33e0 80668e0: 20057cf8 .word 0x20057cf8 80668e4: 20057e10 .word 0x20057e10 80668e8: 080f3408 .word 0x080f3408 80668ec: 200682ac .word 0x200682ac 080668f0 : //************************************************************************************************************************************************** //************************************************************************************************************************************************** //************************************************************************************************************************************************** void initINT1_INT2(float64_t Fc) { 80668f0: b590 push {r4, r7, lr} 80668f2: f5ad 7d4f sub.w sp, sp, #828 ; 0x33c 80668f6: af00 add r7, sp, #0 80668f8: 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); 80668fc: 4b6c ldr r3, [pc, #432] ; (8066ab0 ) 80668fe: 7adb ldrb r3, [r3, #11] 8066900: b2db uxtb r3, r3 8066902: 461a mov r2, r3 8066904: 4613 mov r3, r2 8066906: 009b lsls r3, r3, #2 8066908: 4413 add r3, r2 806690a: 00db lsls r3, r3, #3 806690c: 4a69 ldr r2, [pc, #420] ; (8066ab4 ) 806690e: 441a add r2, r3 8066910: 4b69 ldr r3, [pc, #420] ; (8066ab8 ) 8066912: 2101 movs r1, #1 8066914: 4869 ldr r0, [pc, #420] ; (8066abc ) 8066916: f067 fde3 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&D_INT1[0], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[0][0]); 806691a: 4b65 ldr r3, [pc, #404] ; (8066ab0 ) 806691c: 7adb ldrb r3, [r3, #11] 806691e: b2db uxtb r3, r3 8066920: 461a mov r2, r3 8066922: 4613 mov r3, r2 8066924: 009b lsls r3, r3, #2 8066926: 4413 add r3, r2 8066928: 00db lsls r3, r3, #3 806692a: 4a62 ldr r2, [pc, #392] ; (8066ab4 ) 806692c: 441a add r2, r3 806692e: 4b64 ldr r3, [pc, #400] ; (8066ac0 ) 8066930: 2101 movs r1, #1 8066932: 4864 ldr r0, [pc, #400] ; (8066ac4 ) 8066934: f067 fdd4 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&D_INT1[1], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[1][0]); 8066938: 4b5d ldr r3, [pc, #372] ; (8066ab0 ) 806693a: 7adb ldrb r3, [r3, #11] 806693c: b2db uxtb r3, r3 806693e: 461a mov r2, r3 8066940: 4613 mov r3, r2 8066942: 009b lsls r3, r3, #2 8066944: 4413 add r3, r2 8066946: 00db lsls r3, r3, #3 8066948: 4a5a ldr r2, [pc, #360] ; (8066ab4 ) 806694a: 441a add r2, r3 806694c: 4b5e ldr r3, [pc, #376] ; (8066ac8 ) 806694e: 2101 movs r1, #1 8066950: 485e ldr r0, [pc, #376] ; (8066acc ) 8066952: f067 fdc5 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&D_INT1[2], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[2][0]); 8066956: 4b56 ldr r3, [pc, #344] ; (8066ab0 ) 8066958: 7adb ldrb r3, [r3, #11] 806695a: b2db uxtb r3, r3 806695c: 461a mov r2, r3 806695e: 4613 mov r3, r2 8066960: 009b lsls r3, r3, #2 8066962: 4413 add r3, r2 8066964: 00db lsls r3, r3, #3 8066966: 4a53 ldr r2, [pc, #332] ; (8066ab4 ) 8066968: 441a add r2, r3 806696a: 4b59 ldr r3, [pc, #356] ; (8066ad0 ) 806696c: 2101 movs r1, #1 806696e: 4859 ldr r0, [pc, #356] ; (8066ad4 ) 8066970: f067 fdb6 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&D_INT1[3], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[3][0]); 8066974: 4b4e ldr r3, [pc, #312] ; (8066ab0 ) 8066976: 7adb ldrb r3, [r3, #11] 8066978: b2db uxtb r3, r3 806697a: 461a mov r2, r3 806697c: 4613 mov r3, r2 806697e: 009b lsls r3, r3, #2 8066980: 4413 add r3, r2 8066982: 00db lsls r3, r3, #3 8066984: 4a4b ldr r2, [pc, #300] ; (8066ab4 ) 8066986: 441a add r2, r3 8066988: 4b53 ldr r3, [pc, #332] ; (8066ad8 ) 806698a: 2101 movs r1, #1 806698c: 4853 ldr r0, [pc, #332] ; (8066adc ) 806698e: f067 fda7 bl 80ce4e0 k = 0; 8066992: 2300 movs r3, #0 8066994: f887 3337 strb.w r3, [r7, #823] ; 0x337 IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirLPF, 2, Fc, 0.1); 8066998: 4c51 ldr r4, [pc, #324] ; (8066ae0 ) 806699a: 4638 mov r0, r7 806699c: ed9f 2b40 vldr d2, [pc, #256] ; 8066aa0 80669a0: ed97 1bca vldr d1, [r7, #808] ; 0x328 80669a4: 2302 movs r3, #2 80669a6: 2200 movs r2, #0 80669a8: ed9f 0b3f vldr d0, [pc, #252] ; 8066aa8 80669ac: 2100 movs r1, #0 80669ae: f7c9 fbdf bl 8030170 80669b2: 463b mov r3, r7 80669b4: 4620 mov r0, r4 80669b6: 4619 mov r1, r3 80669b8: f44f 734a mov.w r3, #808 ; 0x328 80669bc: 461a mov r2, r3 80669be: f06a fce4 bl 80d138a MY_COEFF_INT2[k++] = IIR.b0[0]; 80669c2: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 80669c6: 1c5a adds r2, r3, #1 80669c8: f887 2337 strb.w r2, [r7, #823] ; 0x337 80669cc: 461a mov r2, r3 80669ce: 4b44 ldr r3, [pc, #272] ; (8066ae0 ) 80669d0: e9d3 3464 ldrd r3, r4, [r3, #400] ; 0x190 80669d4: 4943 ldr r1, [pc, #268] ; (8066ae4 ) 80669d6: 00d2 lsls r2, r2, #3 80669d8: 440a add r2, r1 80669da: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_INT2[k++] = IIR.b1[0]; 80669de: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 80669e2: 1c5a adds r2, r3, #1 80669e4: f887 2337 strb.w r2, [r7, #823] ; 0x337 80669e8: 461a mov r2, r3 80669ea: 4b3d ldr r3, [pc, #244] ; (8066ae0 ) 80669ec: e9d3 3478 ldrd r3, r4, [r3, #480] ; 0x1e0 80669f0: 493c ldr r1, [pc, #240] ; (8066ae4 ) 80669f2: 00d2 lsls r2, r2, #3 80669f4: 440a add r2, r1 80669f6: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_INT2[k++] = IIR.b2[0]; 80669fa: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 80669fe: 1c5a adds r2, r3, #1 8066a00: f887 2337 strb.w r2, [r7, #823] ; 0x337 8066a04: 461a mov r2, r3 8066a06: 4b36 ldr r3, [pc, #216] ; (8066ae0 ) 8066a08: e9d3 348c ldrd r3, r4, [r3, #560] ; 0x230 8066a0c: 4935 ldr r1, [pc, #212] ; (8066ae4 ) 8066a0e: 00d2 lsls r2, r2, #3 8066a10: 440a add r2, r1 8066a12: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_INT2[k++] = -IIR.a1[0]; 8066a16: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8066a1a: 1c5a adds r2, r3, #1 8066a1c: f887 2337 strb.w r2, [r7, #823] ; 0x337 8066a20: 4619 mov r1, r3 8066a22: 4b2f ldr r3, [pc, #188] ; (8066ae0 ) 8066a24: ed93 7b14 vldr d7, [r3, #80] ; 0x50 8066a28: eeb1 7b47 vneg.f64 d7, d7 8066a2c: 4a2d ldr r2, [pc, #180] ; (8066ae4 ) 8066a2e: 00cb lsls r3, r1, #3 8066a30: 4413 add r3, r2 8066a32: ed83 7b00 vstr d7, [r3] MY_COEFF_INT2[k++] = -IIR.a2[0]; 8066a36: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8066a3a: 1c5a adds r2, r3, #1 8066a3c: f887 2337 strb.w r2, [r7, #823] ; 0x337 8066a40: 4619 mov r1, r3 8066a42: 4b27 ldr r3, [pc, #156] ; (8066ae0 ) 8066a44: ed93 7b28 vldr d7, [r3, #160] ; 0xa0 8066a48: eeb1 7b47 vneg.f64 d7, d7 8066a4c: 4a25 ldr r2, [pc, #148] ; (8066ae4 ) 8066a4e: 00cb lsls r3, r1, #3 8066a50: 4413 add r3, r2 8066a52: ed83 7b00 vstr d7, [r3] arm_biquad_cascade_df2T_init_f64(&S_INT2, 1, (float64_t *) MY_COEFF_INT2, State_INT2); 8066a56: 4b24 ldr r3, [pc, #144] ; (8066ae8 ) 8066a58: 4a22 ldr r2, [pc, #136] ; (8066ae4 ) 8066a5a: 2101 movs r1, #1 8066a5c: 4823 ldr r0, [pc, #140] ; (8066aec ) 8066a5e: f067 fd3f bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&D_INT2[0], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[0][0]); 8066a62: 4b23 ldr r3, [pc, #140] ; (8066af0 ) 8066a64: 4a1f ldr r2, [pc, #124] ; (8066ae4 ) 8066a66: 2101 movs r1, #1 8066a68: 4822 ldr r0, [pc, #136] ; (8066af4 ) 8066a6a: f067 fd39 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&D_INT2[1], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[1][0]); 8066a6e: 4b22 ldr r3, [pc, #136] ; (8066af8 ) 8066a70: 4a1c ldr r2, [pc, #112] ; (8066ae4 ) 8066a72: 2101 movs r1, #1 8066a74: 4821 ldr r0, [pc, #132] ; (8066afc ) 8066a76: f067 fd33 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&D_INT2[2], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[2][0]); 8066a7a: 4b21 ldr r3, [pc, #132] ; (8066b00 ) 8066a7c: 4a19 ldr r2, [pc, #100] ; (8066ae4 ) 8066a7e: 2101 movs r1, #1 8066a80: 4820 ldr r0, [pc, #128] ; (8066b04 ) 8066a82: f067 fd2d bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&D_INT2[3], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[3][0]); 8066a86: 4b20 ldr r3, [pc, #128] ; (8066b08 ) 8066a88: 4a16 ldr r2, [pc, #88] ; (8066ae4 ) 8066a8a: 2101 movs r1, #1 8066a8c: 481f ldr r0, [pc, #124] ; (8066b0c ) 8066a8e: f067 fd27 bl 80ce4e0 } 8066a92: bf00 nop 8066a94: f507 774f add.w r7, r7, #828 ; 0x33c 8066a98: 46bd mov sp, r7 8066a9a: bd90 pop {r4, r7, pc} 8066a9c: f3af 8000 nop.w 8066aa0: 9999999a .word 0x9999999a 8066aa4: 3fb99999 .word 0x3fb99999 ... 8066ab0: 20023ea8 .word 0x20023ea8 8066ab4: 080f3250 .word 0x080f3250 8066ab8: 20068070 .word 0x20068070 8066abc: 200261b0 .word 0x200261b0 8066ac0: 20026408 .word 0x20026408 8066ac4: 20026934 .word 0x20026934 8066ac8: 20026418 .word 0x20026418 8066acc: 20026940 .word 0x20026940 8066ad0: 20026428 .word 0x20026428 8066ad4: 2002694c .word 0x2002694c 8066ad8: 20026438 .word 0x20026438 8066adc: 20026958 .word 0x20026958 8066ae0: 20025960 .word 0x20025960 8066ae4: 20021150 .word 0x20021150 8066ae8: 200267f8 .word 0x200267f8 8066aec: 20027904 .word 0x20027904 8066af0: 20025f90 .word 0x20025f90 8066af4: 20057dd0 .word 0x20057dd0 8066af8: 20025fa0 .word 0x20025fa0 8066afc: 20057ddc .word 0x20057ddc 8066b00: 20025fb0 .word 0x20025fb0 8066b04: 20057de8 .word 0x20057de8 8066b08: 20025fc0 .word 0x20025fc0 8066b0c: 20057df4 .word 0x20057df4 08066b10 : void initHP(float64_t Fc) { 8066b10: b590 push {r4, r7, lr} 8066b12: f5ad 7d4f sub.w sp, sp, #828 ; 0x33c 8066b16: af00 add r7, sp, #0 8066b18: ed87 0bca vstr d0, [r7, #808] ; 0x328 uint8_t i, k; k = 0; 8066b1c: 2300 movs r3, #0 8066b1e: f887 3336 strb.w r3, [r7, #822] ; 0x336 IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirHPF, 4, Fc, 0.1); 8066b22: 4c51 ldr r4, [pc, #324] ; (8066c68 ) 8066b24: 4638 mov r0, r7 8066b26: ed9f 2b4c vldr d2, [pc, #304] ; 8066c58 8066b2a: ed97 1bca vldr d1, [r7, #808] ; 0x328 8066b2e: 2304 movs r3, #4 8066b30: 2201 movs r2, #1 8066b32: ed9f 0b4b vldr d0, [pc, #300] ; 8066c60 8066b36: 2100 movs r1, #0 8066b38: f7c9 fb1a bl 8030170 8066b3c: 463b mov r3, r7 8066b3e: 4620 mov r0, r4 8066b40: 4619 mov r1, r3 8066b42: f44f 734a mov.w r3, #808 ; 0x328 8066b46: 461a mov r2, r3 8066b48: f06a fc1f bl 80d138a for(i = 0; i < 2; i++) 8066b4c: 2300 movs r3, #0 8066b4e: f887 3337 strb.w r3, [r7, #823] ; 0x337 8066b52: e064 b.n 8066c1e { MY_COEFF_HP[k++] = IIR.b0[i]; 8066b54: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8066b58: 1c5a adds r2, r3, #1 8066b5a: f887 2336 strb.w r2, [r7, #822] ; 0x336 8066b5e: 4618 mov r0, r3 8066b60: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8066b64: 4a40 ldr r2, [pc, #256] ; (8066c68 ) 8066b66: 3332 adds r3, #50 ; 0x32 8066b68: 00db lsls r3, r3, #3 8066b6a: 4413 add r3, r2 8066b6c: cb18 ldmia r3, {r3, r4} 8066b6e: 493f ldr r1, [pc, #252] ; (8066c6c ) 8066b70: 00c2 lsls r2, r0, #3 8066b72: 440a add r2, r1 8066b74: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = IIR.b1[i]; 8066b78: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8066b7c: 1c5a adds r2, r3, #1 8066b7e: f887 2336 strb.w r2, [r7, #822] ; 0x336 8066b82: 4618 mov r0, r3 8066b84: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8066b88: 4a37 ldr r2, [pc, #220] ; (8066c68 ) 8066b8a: 333c adds r3, #60 ; 0x3c 8066b8c: 00db lsls r3, r3, #3 8066b8e: 4413 add r3, r2 8066b90: cb18 ldmia r3, {r3, r4} 8066b92: 4936 ldr r1, [pc, #216] ; (8066c6c ) 8066b94: 00c2 lsls r2, r0, #3 8066b96: 440a add r2, r1 8066b98: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = IIR.b2[i]; 8066b9c: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8066ba0: 1c5a adds r2, r3, #1 8066ba2: f887 2336 strb.w r2, [r7, #822] ; 0x336 8066ba6: 4618 mov r0, r3 8066ba8: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8066bac: 4a2e ldr r2, [pc, #184] ; (8066c68 ) 8066bae: 3346 adds r3, #70 ; 0x46 8066bb0: 00db lsls r3, r3, #3 8066bb2: 4413 add r3, r2 8066bb4: cb18 ldmia r3, {r3, r4} 8066bb6: 492d ldr r1, [pc, #180] ; (8066c6c ) 8066bb8: 00c2 lsls r2, r0, #3 8066bba: 440a add r2, r1 8066bbc: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -IIR.a1[i]; 8066bc0: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8066bc4: 1c5a adds r2, r3, #1 8066bc6: f887 2336 strb.w r2, [r7, #822] ; 0x336 8066bca: 4619 mov r1, r3 8066bcc: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8066bd0: 4a25 ldr r2, [pc, #148] ; (8066c68 ) 8066bd2: 330a adds r3, #10 8066bd4: 00db lsls r3, r3, #3 8066bd6: 4413 add r3, r2 8066bd8: ed93 7b00 vldr d7, [r3] 8066bdc: eeb1 7b47 vneg.f64 d7, d7 8066be0: 4a22 ldr r2, [pc, #136] ; (8066c6c ) 8066be2: 00cb lsls r3, r1, #3 8066be4: 4413 add r3, r2 8066be6: ed83 7b00 vstr d7, [r3] MY_COEFF_HP[k++] = -IIR.a2[i]; 8066bea: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8066bee: 1c5a adds r2, r3, #1 8066bf0: f887 2336 strb.w r2, [r7, #822] ; 0x336 8066bf4: 4619 mov r1, r3 8066bf6: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8066bfa: 4a1b ldr r2, [pc, #108] ; (8066c68 ) 8066bfc: 3314 adds r3, #20 8066bfe: 00db lsls r3, r3, #3 8066c00: 4413 add r3, r2 8066c02: ed93 7b00 vldr d7, [r3] 8066c06: eeb1 7b47 vneg.f64 d7, d7 8066c0a: 4a18 ldr r2, [pc, #96] ; (8066c6c ) 8066c0c: 00cb lsls r3, r1, #3 8066c0e: 4413 add r3, r2 8066c10: ed83 7b00 vstr d7, [r3] for(i = 0; i < 2; i++) 8066c14: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8066c18: 3301 adds r3, #1 8066c1a: f887 3337 strb.w r3, [r7, #823] ; 0x337 8066c1e: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8066c22: 2b01 cmp r3, #1 8066c24: d996 bls.n 8066b54 } arm_biquad_cascade_df2T_init_f64(&S_HP_ACC, 2, (float64_t *) MY_COEFF_HP, State_HP_ACC); 8066c26: 4b12 ldr r3, [pc, #72] ; (8066c70 ) 8066c28: 4a10 ldr r2, [pc, #64] ; (8066c6c ) 8066c2a: 2102 movs r1, #2 8066c2c: 4811 ldr r0, [pc, #68] ; (8066c74 ) 8066c2e: f067 fc57 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_HP_VEL, 2, (float64_t *) MY_COEFF_HP, State_HP_VEL); 8066c32: 4b11 ldr r3, [pc, #68] ; (8066c78 ) 8066c34: 4a0d ldr r2, [pc, #52] ; (8066c6c ) 8066c36: 2102 movs r1, #2 8066c38: 4810 ldr r0, [pc, #64] ; (8066c7c ) 8066c3a: f067 fc51 bl 80ce4e0 arm_biquad_cascade_df2T_init_f64(&S_HP_DIS, 2, (float64_t *) MY_COEFF_HP, State_HP_DIS); 8066c3e: 4b10 ldr r3, [pc, #64] ; (8066c80 ) 8066c40: 4a0a ldr r2, [pc, #40] ; (8066c6c ) 8066c42: 2102 movs r1, #2 8066c44: 480f ldr r0, [pc, #60] ; (8066c84 ) 8066c46: f067 fc4b bl 80ce4e0 } 8066c4a: bf00 nop 8066c4c: f507 774f add.w r7, r7, #828 ; 0x33c 8066c50: 46bd mov sp, r7 8066c52: bd90 pop {r4, r7, pc} 8066c54: f3af 8000 nop.w 8066c58: 9999999a .word 0x9999999a 8066c5c: 3fb99999 .word 0x3fb99999 ... 8066c68: 20025960 .word 0x20025960 8066c6c: 20021060 .word 0x20021060 8066c70: 20068110 .word 0x20068110 8066c74: 20025f40 .word 0x20025f40 8066c78: 200277f0 .word 0x200277f0 8066c7c: 20025eb8 .word 0x20025eb8 8066c80: 20026d20 .word 0x20026d20 8066c84: 20027990 .word 0x20027990 08066c88 : void initHP_1(uint32_t n, float64_t Fc) { 8066c88: b5b0 push {r4, r5, r7, lr} 8066c8a: f5ad 7d50 sub.w sp, sp, #832 ; 0x340 8066c8e: af00 add r7, sp, #0 8066c90: f8c7 0334 str.w r0, [r7, #820] ; 0x334 8066c94: ed87 0bca vstr d0, [r7, #808] ; 0x328 uint8_t i, k; k = 0; 8066c98: 2300 movs r3, #0 8066c9a: f887 333e strb.w r3, [r7, #830] ; 0x33e IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirHPF, 4, Fc, 0.1); 8066c9e: 4c68 ldr r4, [pc, #416] ; (8066e40 ) 8066ca0: 4638 mov r0, r7 8066ca2: ed9f 2b63 vldr d2, [pc, #396] ; 8066e30 8066ca6: ed97 1bca vldr d1, [r7, #808] ; 0x328 8066caa: 2304 movs r3, #4 8066cac: 2201 movs r2, #1 8066cae: ed9f 0b62 vldr d0, [pc, #392] ; 8066e38 8066cb2: 2100 movs r1, #0 8066cb4: f7c9 fa5c bl 8030170 8066cb8: 463b mov r3, r7 8066cba: 4620 mov r0, r4 8066cbc: 4619 mov r1, r3 8066cbe: f44f 734a mov.w r3, #808 ; 0x328 8066cc2: 461a mov r2, r3 8066cc4: f06a fb61 bl 80d138a for(i = 0; i < 2; i++) 8066cc8: 2300 movs r3, #0 8066cca: f887 333f strb.w r3, [r7, #831] ; 0x33f 8066cce: e08a b.n 8066de6 { D_COEFF_HP[n][k++] = IIR.b0[i]; 8066cd0: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8066cd4: 1c5a adds r2, r3, #1 8066cd6: f887 233e strb.w r2, [r7, #830] ; 0x33e 8066cda: 461d mov r5, r3 8066cdc: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8066ce0: 4a57 ldr r2, [pc, #348] ; (8066e40 ) 8066ce2: 3332 adds r3, #50 ; 0x32 8066ce4: 00db lsls r3, r3, #3 8066ce6: 4413 add r3, r2 8066ce8: e893 0006 ldmia.w r3, {r1, r2} 8066cec: 4c55 ldr r4, [pc, #340] ; (8066e44 ) 8066cee: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8066cf2: 4603 mov r3, r0 8066cf4: 009b lsls r3, r3, #2 8066cf6: 4403 add r3, r0 8066cf8: 005b lsls r3, r3, #1 8066cfa: 442b add r3, r5 8066cfc: 00db lsls r3, r3, #3 8066cfe: 4423 add r3, r4 8066d00: e883 0006 stmia.w r3, {r1, r2} D_COEFF_HP[n][k++] = IIR.b1[i]; 8066d04: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8066d08: 1c5a adds r2, r3, #1 8066d0a: f887 233e strb.w r2, [r7, #830] ; 0x33e 8066d0e: 461d mov r5, r3 8066d10: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8066d14: 4a4a ldr r2, [pc, #296] ; (8066e40 ) 8066d16: 333c adds r3, #60 ; 0x3c 8066d18: 00db lsls r3, r3, #3 8066d1a: 4413 add r3, r2 8066d1c: e893 0006 ldmia.w r3, {r1, r2} 8066d20: 4c48 ldr r4, [pc, #288] ; (8066e44 ) 8066d22: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8066d26: 4603 mov r3, r0 8066d28: 009b lsls r3, r3, #2 8066d2a: 4403 add r3, r0 8066d2c: 005b lsls r3, r3, #1 8066d2e: 442b add r3, r5 8066d30: 00db lsls r3, r3, #3 8066d32: 4423 add r3, r4 8066d34: e883 0006 stmia.w r3, {r1, r2} D_COEFF_HP[n][k++] = IIR.b2[i]; 8066d38: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8066d3c: 1c5a adds r2, r3, #1 8066d3e: f887 233e strb.w r2, [r7, #830] ; 0x33e 8066d42: 461d mov r5, r3 8066d44: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8066d48: 4a3d ldr r2, [pc, #244] ; (8066e40 ) 8066d4a: 3346 adds r3, #70 ; 0x46 8066d4c: 00db lsls r3, r3, #3 8066d4e: 4413 add r3, r2 8066d50: e893 0006 ldmia.w r3, {r1, r2} 8066d54: 4c3b ldr r4, [pc, #236] ; (8066e44 ) 8066d56: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8066d5a: 4603 mov r3, r0 8066d5c: 009b lsls r3, r3, #2 8066d5e: 4403 add r3, r0 8066d60: 005b lsls r3, r3, #1 8066d62: 442b add r3, r5 8066d64: 00db lsls r3, r3, #3 8066d66: 4423 add r3, r4 8066d68: e883 0006 stmia.w r3, {r1, r2} D_COEFF_HP[n][k++] = -IIR.a1[i]; 8066d6c: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8066d70: 1c5a adds r2, r3, #1 8066d72: f887 233e strb.w r2, [r7, #830] ; 0x33e 8066d76: 4618 mov r0, r3 8066d78: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8066d7c: 4a30 ldr r2, [pc, #192] ; (8066e40 ) 8066d7e: 330a adds r3, #10 8066d80: 00db lsls r3, r3, #3 8066d82: 4413 add r3, r2 8066d84: ed93 7b00 vldr d7, [r3] 8066d88: eeb1 7b47 vneg.f64 d7, d7 8066d8c: 492d ldr r1, [pc, #180] ; (8066e44 ) 8066d8e: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8066d92: 4613 mov r3, r2 8066d94: 009b lsls r3, r3, #2 8066d96: 4413 add r3, r2 8066d98: 005b lsls r3, r3, #1 8066d9a: 4403 add r3, r0 8066d9c: 00db lsls r3, r3, #3 8066d9e: 440b add r3, r1 8066da0: ed83 7b00 vstr d7, [r3] D_COEFF_HP[n][k++] = -IIR.a2[i]; 8066da4: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8066da8: 1c5a adds r2, r3, #1 8066daa: f887 233e strb.w r2, [r7, #830] ; 0x33e 8066dae: 4618 mov r0, r3 8066db0: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8066db4: 4a22 ldr r2, [pc, #136] ; (8066e40 ) 8066db6: 3314 adds r3, #20 8066db8: 00db lsls r3, r3, #3 8066dba: 4413 add r3, r2 8066dbc: ed93 7b00 vldr d7, [r3] 8066dc0: eeb1 7b47 vneg.f64 d7, d7 8066dc4: 491f ldr r1, [pc, #124] ; (8066e44 ) 8066dc6: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8066dca: 4613 mov r3, r2 8066dcc: 009b lsls r3, r3, #2 8066dce: 4413 add r3, r2 8066dd0: 005b lsls r3, r3, #1 8066dd2: 4403 add r3, r0 8066dd4: 00db lsls r3, r3, #3 8066dd6: 440b add r3, r1 8066dd8: ed83 7b00 vstr d7, [r3] for(i = 0; i < 2; i++) 8066ddc: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8066de0: 3301 adds r3, #1 8066de2: f887 333f strb.w r3, [r7, #831] ; 0x33f 8066de6: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8066dea: 2b01 cmp r3, #1 8066dec: f67f af70 bls.w 8066cd0 } arm_biquad_cascade_df2T_init_f64(&D_HP[n], 2, (float64_t *) &D_COEFF_HP[n][0], &State_D_HP[n][0]); 8066df0: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8066df4: 4613 mov r3, r2 8066df6: 005b lsls r3, r3, #1 8066df8: 4413 add r3, r2 8066dfa: 009b lsls r3, r3, #2 8066dfc: 4a12 ldr r2, [pc, #72] ; (8066e48 ) 8066dfe: 1898 adds r0, r3, r2 8066e00: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8066e04: 4613 mov r3, r2 8066e06: 009b lsls r3, r3, #2 8066e08: 4413 add r3, r2 8066e0a: 011b lsls r3, r3, #4 8066e0c: 4a0d ldr r2, [pc, #52] ; (8066e44 ) 8066e0e: 1899 adds r1, r3, r2 8066e10: f8d7 3334 ldr.w r3, [r7, #820] ; 0x334 8066e14: 015b lsls r3, r3, #5 8066e16: 4a0d ldr r2, [pc, #52] ; (8066e4c ) 8066e18: 4413 add r3, r2 8066e1a: 460a mov r2, r1 8066e1c: 2102 movs r1, #2 8066e1e: f067 fb5f bl 80ce4e0 } 8066e22: bf00 nop 8066e24: f507 7750 add.w r7, r7, #832 ; 0x340 8066e28: 46bd mov sp, r7 8066e2a: bdb0 pop {r4, r5, r7, pc} 8066e2c: f3af 8000 nop.w 8066e30: 9999999a .word 0x9999999a 8066e34: 3fb99999 .word 0x3fb99999 ... 8066e40: 20025960 .word 0x20025960 8066e44: 200211a0 .word 0x200211a0 8066e48: 200683a8 .word 0x200683a8 8066e4c: 200264a0 .word 0x200264a0 08066e50 : void initLP(float64_t Fc) { 8066e50: b590 push {r4, r7, lr} 8066e52: f5ad 7d51 sub.w sp, sp, #836 ; 0x344 8066e56: af00 add r7, sp, #0 8066e58: ed87 0bca vstr d0, [r7, #808] ; 0x328 f = Fc; 8066e5c: e9d7 34ca ldrd r3, r4, [r7, #808] ; 0x328 8066e60: e9c7 34cc strd r3, r4, [r7, #816] ; 0x330 if(((float64_t) Fs / Fc) < 25.0) { 8066e64: 4ba0 ldr r3, [pc, #640] ; (80670e8 ) 8066e66: 681b ldr r3, [r3, #0] 8066e68: ee07 3a90 vmov s15, r3 8066e6c: eeb8 5b67 vcvt.f64.u32 d5, s15 8066e70: ed97 6bca vldr d6, [r7, #808] ; 0x328 8066e74: ee85 7b06 vdiv.f64 d7, d5, d6 8066e78: eeb3 6b09 vmov.f64 d6, #57 ; 0x41c80000 25.0 8066e7c: eeb4 7bc6 vcmpe.f64 d7, d6 8066e80: eef1 fa10 vmrs APSR_nzcv, fpscr 8066e84: f140 8095 bpl.w 8066fb2 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]; 8066e88: 4b98 ldr r3, [pc, #608] ; (80670ec ) 8066e8a: 7adb ldrb r3, [r3, #11] 8066e8c: b2db uxtb r3, r3 8066e8e: 4619 mov r1, r3 8066e90: 4a97 ldr r2, [pc, #604] ; (80670f0 ) 8066e92: 460b mov r3, r1 8066e94: 005b lsls r3, r3, #1 8066e96: 440b add r3, r1 8066e98: 011b lsls r3, r3, #4 8066e9a: 4413 add r3, r2 8066e9c: ed93 6b00 vldr d6, [r3] 8066ea0: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066ea4: ee26 6b07 vmul.f64 d6, d6, d7 8066ea8: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066eac: ee26 6b07 vmul.f64 d6, d6, d7 8066eb0: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066eb4: ee26 6b07 vmul.f64 d6, d6, d7 8066eb8: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066ebc: ee26 6b07 vmul.f64 d6, d6, d7 8066ec0: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066ec4: ee26 6b07 vmul.f64 d6, d6, d7 8066ec8: 4b88 ldr r3, [pc, #544] ; (80670ec ) 8066eca: 7adb ldrb r3, [r3, #11] 8066ecc: b2db uxtb r3, r3 8066ece: 4619 mov r1, r3 8066ed0: 4a87 ldr r2, [pc, #540] ; (80670f0 ) 8066ed2: 460b mov r3, r1 8066ed4: 005b lsls r3, r3, #1 8066ed6: 440b add r3, r1 8066ed8: 011b lsls r3, r3, #4 8066eda: 4413 add r3, r2 8066edc: 3308 adds r3, #8 8066ede: ed93 5b00 vldr d5, [r3] 8066ee2: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066ee6: ee25 5b07 vmul.f64 d5, d5, d7 8066eea: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066eee: ee25 5b07 vmul.f64 d5, d5, d7 8066ef2: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066ef6: ee25 5b07 vmul.f64 d5, d5, d7 8066efa: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066efe: ee25 7b07 vmul.f64 d7, d5, d7 8066f02: ee36 6b07 vadd.f64 d6, d6, d7 8066f06: 4b79 ldr r3, [pc, #484] ; (80670ec ) 8066f08: 7adb ldrb r3, [r3, #11] 8066f0a: b2db uxtb r3, r3 8066f0c: 4619 mov r1, r3 8066f0e: 4a78 ldr r2, [pc, #480] ; (80670f0 ) 8066f10: 460b mov r3, r1 8066f12: 005b lsls r3, r3, #1 8066f14: 440b add r3, r1 8066f16: 011b lsls r3, r3, #4 8066f18: 4413 add r3, r2 8066f1a: 3310 adds r3, #16 8066f1c: ed93 5b00 vldr d5, [r3] 8066f20: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066f24: ee25 5b07 vmul.f64 d5, d5, d7 8066f28: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066f2c: ee25 5b07 vmul.f64 d5, d5, d7 8066f30: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066f34: ee25 7b07 vmul.f64 d7, d5, d7 8066f38: ee36 6b07 vadd.f64 d6, d6, d7 8066f3c: 4b6b ldr r3, [pc, #428] ; (80670ec ) 8066f3e: 7adb ldrb r3, [r3, #11] 8066f40: b2db uxtb r3, r3 8066f42: 4619 mov r1, r3 8066f44: 4a6a ldr r2, [pc, #424] ; (80670f0 ) 8066f46: 460b mov r3, r1 8066f48: 005b lsls r3, r3, #1 8066f4a: 440b add r3, r1 8066f4c: 011b lsls r3, r3, #4 8066f4e: 4413 add r3, r2 8066f50: 3318 adds r3, #24 8066f52: ed93 5b00 vldr d5, [r3] 8066f56: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066f5a: ee25 5b07 vmul.f64 d5, d5, d7 8066f5e: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066f62: ee25 7b07 vmul.f64 d7, d5, d7 8066f66: ee36 6b07 vadd.f64 d6, d6, d7 8066f6a: 4b60 ldr r3, [pc, #384] ; (80670ec ) 8066f6c: 7adb ldrb r3, [r3, #11] 8066f6e: b2db uxtb r3, r3 8066f70: 4619 mov r1, r3 8066f72: 4a5f ldr r2, [pc, #380] ; (80670f0 ) 8066f74: 460b mov r3, r1 8066f76: 005b lsls r3, r3, #1 8066f78: 440b add r3, r1 8066f7a: 011b lsls r3, r3, #4 8066f7c: 4413 add r3, r2 8066f7e: 3320 adds r3, #32 8066f80: ed93 5b00 vldr d5, [r3] 8066f84: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066f88: ee25 7b07 vmul.f64 d7, d5, d7 8066f8c: ee36 6b07 vadd.f64 d6, d6, d7 8066f90: 4b56 ldr r3, [pc, #344] ; (80670ec ) 8066f92: 7adb ldrb r3, [r3, #11] 8066f94: b2db uxtb r3, r3 8066f96: 4619 mov r1, r3 8066f98: 4a55 ldr r2, [pc, #340] ; (80670f0 ) 8066f9a: 460b mov r3, r1 8066f9c: 005b lsls r3, r3, #1 8066f9e: 440b add r3, r1 8066fa0: 011b lsls r3, r3, #4 8066fa2: 4413 add r3, r2 8066fa4: 3328 adds r3, #40 ; 0x28 8066fa6: ed93 7b00 vldr d7, [r3] 8066faa: ee36 7b07 vadd.f64 d7, d6, d7 8066fae: ed87 7bcc vstr d7, [r7, #816] ; 0x330 } k = 0; 8066fb2: 2300 movs r3, #0 8066fb4: f887 333e strb.w r3, [r7, #830] ; 0x33e IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirLPF, 8, f, 0.1); 8066fb8: 4c4e ldr r4, [pc, #312] ; (80670f4 ) 8066fba: 4638 mov r0, r7 8066fbc: ed9f 2b46 vldr d2, [pc, #280] ; 80670d8 8066fc0: ed97 1bcc vldr d1, [r7, #816] ; 0x330 8066fc4: 2308 movs r3, #8 8066fc6: 2200 movs r2, #0 8066fc8: ed9f 0b45 vldr d0, [pc, #276] ; 80670e0 8066fcc: 2100 movs r1, #0 8066fce: f7c9 f8cf bl 8030170 8066fd2: 463b mov r3, r7 8066fd4: 4620 mov r0, r4 8066fd6: 4619 mov r1, r3 8066fd8: f44f 734a mov.w r3, #808 ; 0x328 8066fdc: 461a mov r2, r3 8066fde: f06a f9d4 bl 80d138a for(i = 0; i < 4; i++) 8066fe2: 2300 movs r3, #0 8066fe4: f887 333f strb.w r3, [r7, #831] ; 0x33f 8066fe8: e064 b.n 80670b4 { MY_COEFF_LP[k++] = IIR.b0[i]; 8066fea: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8066fee: 1c5a adds r2, r3, #1 8066ff0: f887 233e strb.w r2, [r7, #830] ; 0x33e 8066ff4: 4618 mov r0, r3 8066ff6: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8066ffa: 4a3e ldr r2, [pc, #248] ; (80670f4 ) 8066ffc: 3332 adds r3, #50 ; 0x32 8066ffe: 00db lsls r3, r3, #3 8067000: 4413 add r3, r2 8067002: cb18 ldmia r3, {r3, r4} 8067004: 493c ldr r1, [pc, #240] ; (80670f8 ) 8067006: 00c2 lsls r2, r0, #3 8067008: 440a add r2, r1 806700a: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_LP[k++] = IIR.b1[i]; 806700e: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8067012: 1c5a adds r2, r3, #1 8067014: f887 233e strb.w r2, [r7, #830] ; 0x33e 8067018: 4618 mov r0, r3 806701a: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 806701e: 4a35 ldr r2, [pc, #212] ; (80670f4 ) 8067020: 333c adds r3, #60 ; 0x3c 8067022: 00db lsls r3, r3, #3 8067024: 4413 add r3, r2 8067026: cb18 ldmia r3, {r3, r4} 8067028: 4933 ldr r1, [pc, #204] ; (80670f8 ) 806702a: 00c2 lsls r2, r0, #3 806702c: 440a add r2, r1 806702e: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_LP[k++] = IIR.b2[i]; 8067032: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8067036: 1c5a adds r2, r3, #1 8067038: f887 233e strb.w r2, [r7, #830] ; 0x33e 806703c: 4618 mov r0, r3 806703e: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8067042: 4a2c ldr r2, [pc, #176] ; (80670f4 ) 8067044: 3346 adds r3, #70 ; 0x46 8067046: 00db lsls r3, r3, #3 8067048: 4413 add r3, r2 806704a: cb18 ldmia r3, {r3, r4} 806704c: 492a ldr r1, [pc, #168] ; (80670f8 ) 806704e: 00c2 lsls r2, r0, #3 8067050: 440a add r2, r1 8067052: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_LP[k++] = -IIR.a1[i]; 8067056: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 806705a: 1c5a adds r2, r3, #1 806705c: f887 233e strb.w r2, [r7, #830] ; 0x33e 8067060: 4619 mov r1, r3 8067062: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8067066: 4a23 ldr r2, [pc, #140] ; (80670f4 ) 8067068: 330a adds r3, #10 806706a: 00db lsls r3, r3, #3 806706c: 4413 add r3, r2 806706e: ed93 7b00 vldr d7, [r3] 8067072: eeb1 7b47 vneg.f64 d7, d7 8067076: 4a20 ldr r2, [pc, #128] ; (80670f8 ) 8067078: 00cb lsls r3, r1, #3 806707a: 4413 add r3, r2 806707c: ed83 7b00 vstr d7, [r3] MY_COEFF_LP[k++] = -IIR.a2[i]; 8067080: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8067084: 1c5a adds r2, r3, #1 8067086: f887 233e strb.w r2, [r7, #830] ; 0x33e 806708a: 4619 mov r1, r3 806708c: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8067090: 4a18 ldr r2, [pc, #96] ; (80670f4 ) 8067092: 3314 adds r3, #20 8067094: 00db lsls r3, r3, #3 8067096: 4413 add r3, r2 8067098: ed93 7b00 vldr d7, [r3] 806709c: eeb1 7b47 vneg.f64 d7, d7 80670a0: 4a15 ldr r2, [pc, #84] ; (80670f8 ) 80670a2: 00cb lsls r3, r1, #3 80670a4: 4413 add r3, r2 80670a6: ed83 7b00 vstr d7, [r3] for(i = 0; i < 4; i++) 80670aa: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 80670ae: 3301 adds r3, #1 80670b0: f887 333f strb.w r3, [r7, #831] ; 0x33f 80670b4: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 80670b8: 2b03 cmp r3, #3 80670ba: d996 bls.n 8066fea } arm_biquad_cascade_df2T_init_f64(&S_LP, 4, (float64_t *) MY_COEFF_LP, State_LP); 80670bc: 4b0f ldr r3, [pc, #60] ; (80670fc ) 80670be: 4a0e ldr r2, [pc, #56] ; (80670f8 ) 80670c0: 2104 movs r1, #4 80670c2: 480f ldr r0, [pc, #60] ; (8067100 ) 80670c4: f067 fa0c bl 80ce4e0 } 80670c8: bf00 nop 80670ca: f507 7751 add.w r7, r7, #836 ; 0x344 80670ce: 46bd mov sp, r7 80670d0: bd90 pop {r4, r7, pc} 80670d2: bf00 nop 80670d4: f3af 8000 nop.w 80670d8: 9999999a .word 0x9999999a 80670dc: 3fb99999 .word 0x3fb99999 ... 80670e8: 20021d64 .word 0x20021d64 80670ec: 20023ea8 .word 0x20023ea8 80670f0: 080f3458 .word 0x080f3458 80670f4: 20025960 .word 0x20025960 80670f8: 200210b0 .word 0x200210b0 80670fc: 20037a00 .word 0x20037a00 8067100: 200265a4 .word 0x200265a4 8067104: 00000000 .word 0x00000000 08067108 : void initLP_1(uint32_t n, float64_t Fc) { 8067108: b5b0 push {r4, r5, r7, lr} 806710a: f5ad 7d52 sub.w sp, sp, #840 ; 0x348 806710e: af00 add r7, sp, #0 8067110: f8c7 0334 str.w r0, [r7, #820] ; 0x334 8067114: ed87 0bca vstr d0, [r7, #808] ; 0x328 f = Fc; 8067118: e9d7 34ca ldrd r3, r4, [r7, #808] ; 0x328 806711c: e9c7 34ce strd r3, r4, [r7, #824] ; 0x338 if(((float64_t) Fs / Fc) < 25.0) { 8067120: 4bbd ldr r3, [pc, #756] ; (8067418 ) 8067122: 681b ldr r3, [r3, #0] 8067124: ee07 3a90 vmov s15, r3 8067128: eeb8 5b67 vcvt.f64.u32 d5, s15 806712c: ed97 6bca vldr d6, [r7, #808] ; 0x328 8067130: ee85 7b06 vdiv.f64 d7, d5, d6 8067134: eeb3 6b09 vmov.f64 d6, #57 ; 0x41c80000 25.0 8067138: eeb4 7bc6 vcmpe.f64 d7, d6 806713c: eef1 fa10 vmrs APSR_nzcv, fpscr 8067140: f140 8095 bpl.w 806726e 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]; 8067144: 4bb5 ldr r3, [pc, #724] ; (806741c ) 8067146: 7adb ldrb r3, [r3, #11] 8067148: b2db uxtb r3, r3 806714a: 4619 mov r1, r3 806714c: 4ab4 ldr r2, [pc, #720] ; (8067420 ) 806714e: 460b mov r3, r1 8067150: 005b lsls r3, r3, #1 8067152: 440b add r3, r1 8067154: 011b lsls r3, r3, #4 8067156: 4413 add r3, r2 8067158: ed93 6b00 vldr d6, [r3] 806715c: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067160: ee26 6b07 vmul.f64 d6, d6, d7 8067164: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067168: ee26 6b07 vmul.f64 d6, d6, d7 806716c: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067170: ee26 6b07 vmul.f64 d6, d6, d7 8067174: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067178: ee26 6b07 vmul.f64 d6, d6, d7 806717c: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067180: ee26 6b07 vmul.f64 d6, d6, d7 8067184: 4ba5 ldr r3, [pc, #660] ; (806741c ) 8067186: 7adb ldrb r3, [r3, #11] 8067188: b2db uxtb r3, r3 806718a: 4619 mov r1, r3 806718c: 4aa4 ldr r2, [pc, #656] ; (8067420 ) 806718e: 460b mov r3, r1 8067190: 005b lsls r3, r3, #1 8067192: 440b add r3, r1 8067194: 011b lsls r3, r3, #4 8067196: 4413 add r3, r2 8067198: 3308 adds r3, #8 806719a: ed93 5b00 vldr d5, [r3] 806719e: ed97 7bca vldr d7, [r7, #808] ; 0x328 80671a2: ee25 5b07 vmul.f64 d5, d5, d7 80671a6: ed97 7bca vldr d7, [r7, #808] ; 0x328 80671aa: ee25 5b07 vmul.f64 d5, d5, d7 80671ae: ed97 7bca vldr d7, [r7, #808] ; 0x328 80671b2: ee25 5b07 vmul.f64 d5, d5, d7 80671b6: ed97 7bca vldr d7, [r7, #808] ; 0x328 80671ba: ee25 7b07 vmul.f64 d7, d5, d7 80671be: ee36 6b07 vadd.f64 d6, d6, d7 80671c2: 4b96 ldr r3, [pc, #600] ; (806741c ) 80671c4: 7adb ldrb r3, [r3, #11] 80671c6: b2db uxtb r3, r3 80671c8: 4619 mov r1, r3 80671ca: 4a95 ldr r2, [pc, #596] ; (8067420 ) 80671cc: 460b mov r3, r1 80671ce: 005b lsls r3, r3, #1 80671d0: 440b add r3, r1 80671d2: 011b lsls r3, r3, #4 80671d4: 4413 add r3, r2 80671d6: 3310 adds r3, #16 80671d8: ed93 5b00 vldr d5, [r3] 80671dc: ed97 7bca vldr d7, [r7, #808] ; 0x328 80671e0: ee25 5b07 vmul.f64 d5, d5, d7 80671e4: ed97 7bca vldr d7, [r7, #808] ; 0x328 80671e8: ee25 5b07 vmul.f64 d5, d5, d7 80671ec: ed97 7bca vldr d7, [r7, #808] ; 0x328 80671f0: ee25 7b07 vmul.f64 d7, d5, d7 80671f4: ee36 6b07 vadd.f64 d6, d6, d7 80671f8: 4b88 ldr r3, [pc, #544] ; (806741c ) 80671fa: 7adb ldrb r3, [r3, #11] 80671fc: b2db uxtb r3, r3 80671fe: 4619 mov r1, r3 8067200: 4a87 ldr r2, [pc, #540] ; (8067420 ) 8067202: 460b mov r3, r1 8067204: 005b lsls r3, r3, #1 8067206: 440b add r3, r1 8067208: 011b lsls r3, r3, #4 806720a: 4413 add r3, r2 806720c: 3318 adds r3, #24 806720e: ed93 5b00 vldr d5, [r3] 8067212: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067216: ee25 5b07 vmul.f64 d5, d5, d7 806721a: ed97 7bca vldr d7, [r7, #808] ; 0x328 806721e: ee25 7b07 vmul.f64 d7, d5, d7 8067222: ee36 6b07 vadd.f64 d6, d6, d7 8067226: 4b7d ldr r3, [pc, #500] ; (806741c ) 8067228: 7adb ldrb r3, [r3, #11] 806722a: b2db uxtb r3, r3 806722c: 4619 mov r1, r3 806722e: 4a7c ldr r2, [pc, #496] ; (8067420 ) 8067230: 460b mov r3, r1 8067232: 005b lsls r3, r3, #1 8067234: 440b add r3, r1 8067236: 011b lsls r3, r3, #4 8067238: 4413 add r3, r2 806723a: 3320 adds r3, #32 806723c: ed93 5b00 vldr d5, [r3] 8067240: ed97 7bca vldr d7, [r7, #808] ; 0x328 8067244: ee25 7b07 vmul.f64 d7, d5, d7 8067248: ee36 6b07 vadd.f64 d6, d6, d7 806724c: 4b73 ldr r3, [pc, #460] ; (806741c ) 806724e: 7adb ldrb r3, [r3, #11] 8067250: b2db uxtb r3, r3 8067252: 4619 mov r1, r3 8067254: 4a72 ldr r2, [pc, #456] ; (8067420 ) 8067256: 460b mov r3, r1 8067258: 005b lsls r3, r3, #1 806725a: 440b add r3, r1 806725c: 011b lsls r3, r3, #4 806725e: 4413 add r3, r2 8067260: 3328 adds r3, #40 ; 0x28 8067262: ed93 7b00 vldr d7, [r3] 8067266: ee36 7b07 vadd.f64 d7, d6, d7 806726a: ed87 7bce vstr d7, [r7, #824] ; 0x338 } k = 0; 806726e: 2300 movs r3, #0 8067270: f887 3346 strb.w r3, [r7, #838] ; 0x346 IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirLPF, 8, f, 0.1); 8067274: 4c6b ldr r4, [pc, #428] ; (8067424 ) 8067276: 4638 mov r0, r7 8067278: ed9f 2b63 vldr d2, [pc, #396] ; 8067408 806727c: ed97 1bce vldr d1, [r7, #824] ; 0x338 8067280: 2308 movs r3, #8 8067282: 2200 movs r2, #0 8067284: ed9f 0b62 vldr d0, [pc, #392] ; 8067410 8067288: 2100 movs r1, #0 806728a: f7c8 ff71 bl 8030170 806728e: 463b mov r3, r7 8067290: 4620 mov r0, r4 8067292: 4619 mov r1, r3 8067294: f44f 734a mov.w r3, #808 ; 0x328 8067298: 461a mov r2, r3 806729a: f06a f876 bl 80d138a for(i = 0; i < 4; i++) 806729e: 2300 movs r3, #0 80672a0: f887 3347 strb.w r3, [r7, #839] ; 0x347 80672a4: e08a b.n 80673bc { D_COEFF_LP[n][k++] = IIR.b0[i]; 80672a6: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 80672aa: 1c5a adds r2, r3, #1 80672ac: f887 2346 strb.w r2, [r7, #838] ; 0x346 80672b0: 461d mov r5, r3 80672b2: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 80672b6: 4a5b ldr r2, [pc, #364] ; (8067424 ) 80672b8: 3332 adds r3, #50 ; 0x32 80672ba: 00db lsls r3, r3, #3 80672bc: 4413 add r3, r2 80672be: e893 0006 ldmia.w r3, {r1, r2} 80672c2: 4c59 ldr r4, [pc, #356] ; (8067428 ) 80672c4: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 80672c8: 4603 mov r3, r0 80672ca: 009b lsls r3, r3, #2 80672cc: 4403 add r3, r0 80672ce: 009b lsls r3, r3, #2 80672d0: 442b add r3, r5 80672d2: 00db lsls r3, r3, #3 80672d4: 4423 add r3, r4 80672d6: e883 0006 stmia.w r3, {r1, r2} D_COEFF_LP[n][k++] = IIR.b1[i]; 80672da: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 80672de: 1c5a adds r2, r3, #1 80672e0: f887 2346 strb.w r2, [r7, #838] ; 0x346 80672e4: 461d mov r5, r3 80672e6: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 80672ea: 4a4e ldr r2, [pc, #312] ; (8067424 ) 80672ec: 333c adds r3, #60 ; 0x3c 80672ee: 00db lsls r3, r3, #3 80672f0: 4413 add r3, r2 80672f2: e893 0006 ldmia.w r3, {r1, r2} 80672f6: 4c4c ldr r4, [pc, #304] ; (8067428 ) 80672f8: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 80672fc: 4603 mov r3, r0 80672fe: 009b lsls r3, r3, #2 8067300: 4403 add r3, r0 8067302: 009b lsls r3, r3, #2 8067304: 442b add r3, r5 8067306: 00db lsls r3, r3, #3 8067308: 4423 add r3, r4 806730a: e883 0006 stmia.w r3, {r1, r2} D_COEFF_LP[n][k++] = IIR.b2[i]; 806730e: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 8067312: 1c5a adds r2, r3, #1 8067314: f887 2346 strb.w r2, [r7, #838] ; 0x346 8067318: 461d mov r5, r3 806731a: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 806731e: 4a41 ldr r2, [pc, #260] ; (8067424 ) 8067320: 3346 adds r3, #70 ; 0x46 8067322: 00db lsls r3, r3, #3 8067324: 4413 add r3, r2 8067326: e893 0006 ldmia.w r3, {r1, r2} 806732a: 4c3f ldr r4, [pc, #252] ; (8067428 ) 806732c: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8067330: 4603 mov r3, r0 8067332: 009b lsls r3, r3, #2 8067334: 4403 add r3, r0 8067336: 009b lsls r3, r3, #2 8067338: 442b add r3, r5 806733a: 00db lsls r3, r3, #3 806733c: 4423 add r3, r4 806733e: e883 0006 stmia.w r3, {r1, r2} D_COEFF_LP[n][k++] = -IIR.a1[i]; 8067342: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 8067346: 1c5a adds r2, r3, #1 8067348: f887 2346 strb.w r2, [r7, #838] ; 0x346 806734c: 4618 mov r0, r3 806734e: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8067352: 4a34 ldr r2, [pc, #208] ; (8067424 ) 8067354: 330a adds r3, #10 8067356: 00db lsls r3, r3, #3 8067358: 4413 add r3, r2 806735a: ed93 7b00 vldr d7, [r3] 806735e: eeb1 7b47 vneg.f64 d7, d7 8067362: 4931 ldr r1, [pc, #196] ; (8067428 ) 8067364: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8067368: 4613 mov r3, r2 806736a: 009b lsls r3, r3, #2 806736c: 4413 add r3, r2 806736e: 009b lsls r3, r3, #2 8067370: 4403 add r3, r0 8067372: 00db lsls r3, r3, #3 8067374: 440b add r3, r1 8067376: ed83 7b00 vstr d7, [r3] D_COEFF_LP[n][k++] = -IIR.a2[i]; 806737a: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 806737e: 1c5a adds r2, r3, #1 8067380: f887 2346 strb.w r2, [r7, #838] ; 0x346 8067384: 4618 mov r0, r3 8067386: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 806738a: 4a26 ldr r2, [pc, #152] ; (8067424 ) 806738c: 3314 adds r3, #20 806738e: 00db lsls r3, r3, #3 8067390: 4413 add r3, r2 8067392: ed93 7b00 vldr d7, [r3] 8067396: eeb1 7b47 vneg.f64 d7, d7 806739a: 4923 ldr r1, [pc, #140] ; (8067428 ) 806739c: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 80673a0: 4613 mov r3, r2 80673a2: 009b lsls r3, r3, #2 80673a4: 4413 add r3, r2 80673a6: 009b lsls r3, r3, #2 80673a8: 4403 add r3, r0 80673aa: 00db lsls r3, r3, #3 80673ac: 440b add r3, r1 80673ae: ed83 7b00 vstr d7, [r3] for(i = 0; i < 4; i++) 80673b2: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 80673b6: 3301 adds r3, #1 80673b8: f887 3347 strb.w r3, [r7, #839] ; 0x347 80673bc: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 80673c0: 2b03 cmp r3, #3 80673c2: f67f af70 bls.w 80672a6 } arm_biquad_cascade_df2T_init_f64(&D_LP[n], 4, (float64_t *) &D_COEFF_LP[n][0], &State_D_LP[n][0]); 80673c6: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 80673ca: 4613 mov r3, r2 80673cc: 005b lsls r3, r3, #1 80673ce: 4413 add r3, r2 80673d0: 009b lsls r3, r3, #2 80673d2: 4a16 ldr r2, [pc, #88] ; (806742c ) 80673d4: 1898 adds r0, r3, r2 80673d6: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 80673da: 4613 mov r3, r2 80673dc: 009b lsls r3, r3, #2 80673de: 4413 add r3, r2 80673e0: 015b lsls r3, r3, #5 80673e2: 4a11 ldr r2, [pc, #68] ; (8067428 ) 80673e4: 1899 adds r1, r3, r2 80673e6: f8d7 3334 ldr.w r3, [r7, #820] ; 0x334 80673ea: 019b lsls r3, r3, #6 80673ec: 4a10 ldr r2, [pc, #64] ; (8067430 ) 80673ee: 4413 add r3, r2 80673f0: 460a mov r2, r1 80673f2: 2104 movs r1, #4 80673f4: f067 f874 bl 80ce4e0 } 80673f8: bf00 nop 80673fa: f507 7752 add.w r7, r7, #840 ; 0x348 80673fe: 46bd mov sp, r7 8067400: bdb0 pop {r4, r5, r7, pc} 8067402: bf00 nop 8067404: f3af 8000 nop.w 8067408: 9999999a .word 0x9999999a 806740c: 3fb99999 .word 0x3fb99999 ... 8067418: 20021d64 .word 0x20021d64 806741c: 20023ea8 .word 0x20023ea8 8067420: 080f3638 .word 0x080f3638 8067424: 20025960 .word 0x20025960 8067428: 200212e0 .word 0x200212e0 806742c: 200262dc .word 0x200262dc 8067430: 20026090 .word 0x20026090 08067434 : void initMemCopy(void) { 8067434: b580 push {r7, lr} 8067436: af00 add r7, sp, #0 __HAL_DMA_DISABLE(&hdma_memtomem16); 8067438: 4b20 ldr r3, [pc, #128] ; (80674bc ) 806743a: 681b ldr r3, [r3, #0] 806743c: 4a1f ldr r2, [pc, #124] ; (80674bc ) 806743e: 6812 ldr r2, [r2, #0] 8067440: 6812 ldr r2, [r2, #0] 8067442: f022 0201 bic.w r2, r2, #1 8067446: 601a str r2, [r3, #0] while(HAL_DMA_GetState(&hdma_memtomem16) == HAL_DMA_STATE_BUSY); 8067448: bf00 nop 806744a: 481c ldr r0, [pc, #112] ; (80674bc ) 806744c: f051 f88a bl 80b8564 8067450: 4603 mov r3, r0 8067452: 2b02 cmp r3, #2 8067454: d0f9 beq.n 806744a hdma_memtomem16.Instance = DMA2_Stream0; 8067456: 4b19 ldr r3, [pc, #100] ; (80674bc ) 8067458: 4a19 ldr r2, [pc, #100] ; (80674c0 ) 806745a: 601a str r2, [r3, #0] hdma_memtomem16.Init.Channel = DMA_CHANNEL_0; 806745c: 4b17 ldr r3, [pc, #92] ; (80674bc ) 806745e: 2200 movs r2, #0 8067460: 605a str r2, [r3, #4] hdma_memtomem16.Init.Direction = DMA_MEMORY_TO_MEMORY; 8067462: 4b16 ldr r3, [pc, #88] ; (80674bc ) 8067464: 2280 movs r2, #128 ; 0x80 8067466: 609a str r2, [r3, #8] hdma_memtomem16.Init.PeriphInc = DMA_PINC_ENABLE; 8067468: 4b14 ldr r3, [pc, #80] ; (80674bc ) 806746a: f44f 7200 mov.w r2, #512 ; 0x200 806746e: 60da str r2, [r3, #12] hdma_memtomem16.Init.MemInc = DMA_MINC_ENABLE; 8067470: 4b12 ldr r3, [pc, #72] ; (80674bc ) 8067472: f44f 6280 mov.w r2, #1024 ; 0x400 8067476: 611a str r2, [r3, #16] hdma_memtomem16.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; //DMA_PDATAALIGN_HALFWORD; 8067478: 4b10 ldr r3, [pc, #64] ; (80674bc ) 806747a: f44f 6200 mov.w r2, #2048 ; 0x800 806747e: 615a str r2, [r3, #20] hdma_memtomem16.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; //DMA_MDATAALIGN_HALFWORD; 8067480: 4b0e ldr r3, [pc, #56] ; (80674bc ) 8067482: f44f 5200 mov.w r2, #8192 ; 0x2000 8067486: 619a str r2, [r3, #24] hdma_memtomem16.Init.Mode = DMA_NORMAL; 8067488: 4b0c ldr r3, [pc, #48] ; (80674bc ) 806748a: 2200 movs r2, #0 806748c: 61da str r2, [r3, #28] hdma_memtomem16.Init.Priority = DMA_PRIORITY_VERY_HIGH; 806748e: 4b0b ldr r3, [pc, #44] ; (80674bc ) 8067490: f44f 3240 mov.w r2, #196608 ; 0x30000 8067494: 621a str r2, [r3, #32] hdma_memtomem16.Init.FIFOMode = DMA_FIFOMODE_DISABLE; 8067496: 4b09 ldr r3, [pc, #36] ; (80674bc ) 8067498: 2200 movs r2, #0 806749a: 625a str r2, [r3, #36] ; 0x24 hdma_memtomem16.XferCpltCallback = MEMTOMEM_DMACopyTransferCplt; 806749c: 4b07 ldr r3, [pc, #28] ; (80674bc ) 806749e: 4a09 ldr r2, [pc, #36] ; (80674c4 ) 80674a0: 63da str r2, [r3, #60] ; 0x3c if(HAL_DMA_Init(&hdma_memtomem16) != HAL_OK) { 80674a2: 4806 ldr r0, [pc, #24] ; (80674bc ) 80674a4: f050 fcd6 bl 80b7e54 80674a8: 4603 mov r3, r0 80674aa: 2b00 cmp r3, #0 80674ac: d001 beq.n 80674b2 Error_Handler(); 80674ae: f7ee fbff bl 8055cb0 } DMA_ACTIVE = 0; 80674b2: 4b05 ldr r3, [pc, #20] ; (80674c8 ) 80674b4: 2200 movs r2, #0 80674b6: 601a str r2, [r3, #0] } 80674b8: bf00 nop 80674ba: bd80 pop {r7, pc} 80674bc: 20026c14 .word 0x20026c14 80674c0: 40026410 .word 0x40026410 80674c4: 080674cd .word 0x080674cd 80674c8: 20021564 .word 0x20021564 080674cc : } } } static void MEMTOMEM_DMACopyTransferCplt(DMA_HandleTypeDef *hdma) { 80674cc: b480 push {r7} 80674ce: b083 sub sp, #12 80674d0: af00 add r7, sp, #0 80674d2: 6078 str r0, [r7, #4] DMA_ACTIVE = 0; 80674d4: 4b04 ldr r3, [pc, #16] ; (80674e8 ) 80674d6: 2200 movs r2, #0 80674d8: 601a str r2, [r3, #0] } 80674da: bf00 nop 80674dc: 370c adds r7, #12 80674de: 46bd mov sp, r7 80674e0: f85d 7b04 ldr.w r7, [sp], #4 80674e4: 4770 bx lr 80674e6: bf00 nop 80674e8: 20021564 .word 0x20021564 080674ec : uint32_t FsIndex(void) { 80674ec: b480 push {r7} 80674ee: af00 add r7, sp, #0 if(Fs == 125) 80674f0: 4b28 ldr r3, [pc, #160] ; (8067594 ) 80674f2: 681b ldr r3, [r3, #0] 80674f4: 2b7d cmp r3, #125 ; 0x7d 80674f6: d101 bne.n 80674fc return 0; 80674f8: 2300 movs r3, #0 80674fa: e045 b.n 8067588 else if(Fs == 250) 80674fc: 4b25 ldr r3, [pc, #148] ; (8067594 ) 80674fe: 681b ldr r3, [r3, #0] 8067500: 2bfa cmp r3, #250 ; 0xfa 8067502: d101 bne.n 8067508 return 1; 8067504: 2301 movs r3, #1 8067506: e03f b.n 8067588 else if(Fs == 500) 8067508: 4b22 ldr r3, [pc, #136] ; (8067594 ) 806750a: 681b ldr r3, [r3, #0] 806750c: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 8067510: d101 bne.n 8067516 return 2; 8067512: 2302 movs r3, #2 8067514: e038 b.n 8067588 else if(Fs == 1000) 8067516: 4b1f ldr r3, [pc, #124] ; (8067594 ) 8067518: 681b ldr r3, [r3, #0] 806751a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 806751e: d101 bne.n 8067524 return 3; 8067520: 2303 movs r3, #3 8067522: e031 b.n 8067588 else if(Fs == 2000) 8067524: 4b1b ldr r3, [pc, #108] ; (8067594 ) 8067526: 681b ldr r3, [r3, #0] 8067528: f5b3 6ffa cmp.w r3, #2000 ; 0x7d0 806752c: d101 bne.n 8067532 return 4; 806752e: 2304 movs r3, #4 8067530: e02a b.n 8067588 else if(Fs == 4000) 8067532: 4b18 ldr r3, [pc, #96] ; (8067594 ) 8067534: 681b ldr r3, [r3, #0] 8067536: f5b3 6f7a cmp.w r3, #4000 ; 0xfa0 806753a: d101 bne.n 8067540 return 5; 806753c: 2305 movs r3, #5 806753e: e023 b.n 8067588 else if(Fs == 8000) 8067540: 4b14 ldr r3, [pc, #80] ; (8067594 ) 8067542: 681b ldr r3, [r3, #0] 8067544: f5b3 5ffa cmp.w r3, #8000 ; 0x1f40 8067548: d101 bne.n 806754e return 6; 806754a: 2306 movs r3, #6 806754c: e01c b.n 8067588 else if(Fs == 16000) 806754e: 4b11 ldr r3, [pc, #68] ; (8067594 ) 8067550: 681b ldr r3, [r3, #0] 8067552: f5b3 5f7a cmp.w r3, #16000 ; 0x3e80 8067556: d101 bne.n 806755c return 7; 8067558: 2307 movs r3, #7 806755a: e015 b.n 8067588 else if(Fs == 32000) 806755c: 4b0d ldr r3, [pc, #52] ; (8067594 ) 806755e: 681b ldr r3, [r3, #0] 8067560: f5b3 4ffa cmp.w r3, #32000 ; 0x7d00 8067564: d101 bne.n 806756a return 8; 8067566: 2308 movs r3, #8 8067568: e00e b.n 8067588 else if(Fs == 64000) 806756a: 4b0a ldr r3, [pc, #40] ; (8067594 ) 806756c: 681b ldr r3, [r3, #0] 806756e: f5b3 4f7a cmp.w r3, #64000 ; 0xfa00 8067572: d101 bne.n 8067578 return 9; 8067574: 2309 movs r3, #9 8067576: e007 b.n 8067588 else { pardata.FRQ = _64000Hz; 8067578: 4b07 ldr r3, [pc, #28] ; (8067598 ) 806757a: 2209 movs r2, #9 806757c: 72da strb r2, [r3, #11] Fs = 64000; 806757e: 4b05 ldr r3, [pc, #20] ; (8067594 ) 8067580: f44f 427a mov.w r2, #64000 ; 0xfa00 8067584: 601a str r2, [r3, #0] return 9; 8067586: 2309 movs r3, #9 } } 8067588: 4618 mov r0, r3 806758a: 46bd mov sp, r7 806758c: f85d 7b04 ldr.w r7, [sp], #4 8067590: 4770 bx lr 8067592: bf00 nop 8067594: 20021d64 .word 0x20021d64 8067598: 20023ea8 .word 0x20023ea8 806759c: 00000000 .word 0x00000000 080675a0 : char * FloatToASCII(float32_t Val, int32_t RoundTo) { 80675a0: b580 push {r7, lr} 80675a2: b098 sub sp, #96 ; 0x60 80675a4: af00 add r7, sp, #0 80675a6: ed87 0a01 vstr s0, [r7, #4] 80675aa: 6038 str r0, [r7, #0] uint8_t idx = 0; 80675ac: 2300 movs r3, #0 80675ae: f887 305f strb.w r3, [r7, #95] ; 0x5f int32_t i; float32_t value, F, I; uint32_t rnd = 0; 80675b2: 2300 movs r3, #0 80675b4: 653b str r3, [r7, #80] ; 0x50 uint32_t Tmp32 = 0; 80675b6: 2300 movs r3, #0 80675b8: 63fb str r3, [r7, #60] ; 0x3c uint32_t Int32 = 0; 80675ba: 2300 movs r3, #0 80675bc: 64fb str r3, [r7, #76] ; 0x4c uint32_t Frac32 = 0; 80675be: 2300 movs r3, #0 80675c0: 64bb str r3, [r7, #72] ; 0x48 uint32_t _I32 = 0; 80675c2: 2300 movs r3, #0 80675c4: 63bb str r3, [r7, #56] ; 0x38 uint32_t _F32 = 0; 80675c6: 2300 movs r3, #0 80675c8: 637b str r3, [r7, #52] ; 0x34 uint32_t d = 0, dd = 0; 80675ca: 2300 movs r3, #0 80675cc: 647b str r3, [r7, #68] ; 0x44 80675ce: 2300 movs r3, #0 80675d0: 643b str r3, [r7, #64] ; 0x40 char tmparray[32]; volatile bool minus = false; 80675d2: 2300 movs r3, #0 80675d4: 72fb strb r3, [r7, #11] memset(tmparray, 0, 32); 80675d6: f107 030c add.w r3, r7, #12 80675da: 2220 movs r2, #32 80675dc: 2100 movs r1, #0 80675de: 4618 mov r0, r3 80675e0: f069 fede bl 80d13a0 memset(pString, 0, 16); 80675e4: 2210 movs r2, #16 80675e6: 2100 movs r1, #0 80675e8: 48b7 ldr r0, [pc, #732] ; (80678c8 ) 80675ea: f069 fed9 bl 80d13a0 value = Val; 80675ee: 687b ldr r3, [r7, #4] 80675f0: 633b str r3, [r7, #48] ; 0x30 if(value < 0) 80675f2: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80675f6: eef5 7ac0 vcmpe.f32 s15, #0.0 80675fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80675fe: d501 bpl.n 8067604 minus = true; 8067600: 2301 movs r3, #1 8067602: 72fb strb r3, [r7, #11] if((Val >= 99999999.9) || (Val <= -99999999.9)) 8067604: edd7 7a01 vldr s15, [r7, #4] 8067608: eeb7 7ae7 vcvt.f64.f32 d7, s15 806760c: ed9f 6baa vldr d6, [pc, #680] ; 80678b8 8067610: eeb4 7bc6 vcmpe.f64 d7, d6 8067614: eef1 fa10 vmrs APSR_nzcv, fpscr 8067618: da0a bge.n 8067630 806761a: edd7 7a01 vldr s15, [r7, #4] 806761e: eeb7 7ae7 vcvt.f64.f32 d7, s15 8067622: ed9f 6ba7 vldr d6, [pc, #668] ; 80678c0 8067626: eeb4 7bc6 vcmpe.f64 d7, d6 806762a: eef1 fa10 vmrs APSR_nzcv, fpscr 806762e: d83c bhi.n 80676aa { if(Val < 0) 8067630: edd7 7a01 vldr s15, [r7, #4] 8067634: eef5 7ac0 vcmpe.f32 s15, #0.0 8067638: eef1 fa10 vmrs APSR_nzcv, fpscr 806763c: d51b bpl.n 8067676 { pString[0] = '-'; 806763e: 4ba2 ldr r3, [pc, #648] ; (80678c8 ) 8067640: 222d movs r2, #45 ; 0x2d 8067642: 701a strb r2, [r3, #0] pString[1] = '9'; 8067644: 4ba0 ldr r3, [pc, #640] ; (80678c8 ) 8067646: 2239 movs r2, #57 ; 0x39 8067648: 705a strb r2, [r3, #1] pString[2] = '9'; 806764a: 4b9f ldr r3, [pc, #636] ; (80678c8 ) 806764c: 2239 movs r2, #57 ; 0x39 806764e: 709a strb r2, [r3, #2] pString[3] = '9'; 8067650: 4b9d ldr r3, [pc, #628] ; (80678c8 ) 8067652: 2239 movs r2, #57 ; 0x39 8067654: 70da strb r2, [r3, #3] pString[4] = '9'; 8067656: 4b9c ldr r3, [pc, #624] ; (80678c8 ) 8067658: 2239 movs r2, #57 ; 0x39 806765a: 711a strb r2, [r3, #4] pString[5] = '9'; 806765c: 4b9a ldr r3, [pc, #616] ; (80678c8 ) 806765e: 2239 movs r2, #57 ; 0x39 8067660: 715a strb r2, [r3, #5] pString[6] = '.'; 8067662: 4b99 ldr r3, [pc, #612] ; (80678c8 ) 8067664: 222e movs r2, #46 ; 0x2e 8067666: 719a strb r2, [r3, #6] pString[7] = '9'; 8067668: 4b97 ldr r3, [pc, #604] ; (80678c8 ) 806766a: 2239 movs r2, #57 ; 0x39 806766c: 71da strb r2, [r3, #7] pString[8] = '\0'; 806766e: 4b96 ldr r3, [pc, #600] ; (80678c8 ) 8067670: 2200 movs r2, #0 8067672: 721a strb r2, [r3, #8] 8067674: e017 b.n 80676a6 } else { pString[0] = '9'; 8067676: 4b94 ldr r3, [pc, #592] ; (80678c8 ) 8067678: 2239 movs r2, #57 ; 0x39 806767a: 701a strb r2, [r3, #0] pString[1] = '9'; 806767c: 4b92 ldr r3, [pc, #584] ; (80678c8 ) 806767e: 2239 movs r2, #57 ; 0x39 8067680: 705a strb r2, [r3, #1] pString[2] = '9'; 8067682: 4b91 ldr r3, [pc, #580] ; (80678c8 ) 8067684: 2239 movs r2, #57 ; 0x39 8067686: 709a strb r2, [r3, #2] pString[3] = '9'; 8067688: 4b8f ldr r3, [pc, #572] ; (80678c8 ) 806768a: 2239 movs r2, #57 ; 0x39 806768c: 70da strb r2, [r3, #3] pString[4] = '9'; 806768e: 4b8e ldr r3, [pc, #568] ; (80678c8 ) 8067690: 2239 movs r2, #57 ; 0x39 8067692: 711a strb r2, [r3, #4] pString[5] = '.'; 8067694: 4b8c ldr r3, [pc, #560] ; (80678c8 ) 8067696: 222e movs r2, #46 ; 0x2e 8067698: 715a strb r2, [r3, #5] pString[6] = '9'; 806769a: 4b8b ldr r3, [pc, #556] ; (80678c8 ) 806769c: 2239 movs r2, #57 ; 0x39 806769e: 719a strb r2, [r3, #6] pString[7] = '\0'; 80676a0: 4b89 ldr r3, [pc, #548] ; (80678c8 ) 80676a2: 2200 movs r2, #0 80676a4: 71da strb r2, [r3, #7] } return pString; 80676a6: 4b88 ldr r3, [pc, #544] ; (80678c8 ) 80676a8: e171 b.n 806798e } value = ABS(Val); 80676aa: edd7 7a01 vldr s15, [r7, #4] 80676ae: eef5 7ac0 vcmpe.f32 s15, #0.0 80676b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80676b6: dd02 ble.n 80676be 80676b8: edd7 7a01 vldr s15, [r7, #4] 80676bc: e003 b.n 80676c6 80676be: edd7 7a01 vldr s15, [r7, #4] 80676c2: eef1 7a67 vneg.f32 s15, s15 80676c6: edc7 7a0c vstr s15, [r7, #48] ; 0x30 rnd = ABS(RoundTo); 80676ca: 683b ldr r3, [r7, #0] 80676cc: 2b00 cmp r3, #0 80676ce: bfb8 it lt 80676d0: 425b neglt r3, r3 80676d2: 653b str r3, [r7, #80] ; 0x50 if(RoundTo < 0) 80676d4: 683b ldr r3, [r7, #0] 80676d6: 2b00 cmp r3, #0 80676d8: da47 bge.n 806776a { F = modff(value, &I); 80676da: f107 032c add.w r3, r7, #44 ; 0x2c 80676de: 4618 mov r0, r3 80676e0: ed97 0a0c vldr s0, [r7, #48] ; 0x30 80676e4: f067 fc36 bl 80cef54 80676e8: ed87 0a15 vstr s0, [r7, #84] ; 0x54 while(rnd) 80676ec: e00d b.n 806770a { F *= 10.0f; 80676ee: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80676f2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80676f6: ee67 7a87 vmul.f32 s15, s15, s14 80676fa: edc7 7a15 vstr s15, [r7, #84] ; 0x54 rnd--; 80676fe: 6d3b ldr r3, [r7, #80] ; 0x50 8067700: 3b01 subs r3, #1 8067702: 653b str r3, [r7, #80] ; 0x50 d++; 8067704: 6c7b ldr r3, [r7, #68] ; 0x44 8067706: 3301 adds r3, #1 8067708: 647b str r3, [r7, #68] ; 0x44 while(rnd) 806770a: 6d3b ldr r3, [r7, #80] ; 0x50 806770c: 2b00 cmp r3, #0 806770e: d1ee bne.n 80676ee } F = roundf(F); 8067710: ed97 0a15 vldr s0, [r7, #84] ; 0x54 8067714: f067 fc46 bl 80cefa4 8067718: ed87 0a15 vstr s0, [r7, #84] ; 0x54 dd = 1; 806771c: 2301 movs r3, #1 806771e: 643b str r3, [r7, #64] ; 0x40 for(i = 0; i < d; i++) 8067720: 2300 movs r3, #0 8067722: 65bb str r3, [r7, #88] ; 0x58 8067724: e008 b.n 8067738 dd *= 10; 8067726: 6c3a ldr r2, [r7, #64] ; 0x40 8067728: 4613 mov r3, r2 806772a: 009b lsls r3, r3, #2 806772c: 4413 add r3, r2 806772e: 005b lsls r3, r3, #1 8067730: 643b str r3, [r7, #64] ; 0x40 for(i = 0; i < d; i++) 8067732: 6dbb ldr r3, [r7, #88] ; 0x58 8067734: 3301 adds r3, #1 8067736: 65bb str r3, [r7, #88] ; 0x58 8067738: 6dba ldr r2, [r7, #88] ; 0x58 806773a: 6c7b ldr r3, [r7, #68] ; 0x44 806773c: 429a cmp r2, r3 806773e: d3f2 bcc.n 8067726 if((uint32_t) F == dd) 8067740: edd7 7a15 vldr s15, [r7, #84] ; 0x54 8067744: eefc 7ae7 vcvt.u32.f32 s15, s15 8067748: ee17 2a90 vmov r2, s15 806774c: 6c3b ldr r3, [r7, #64] ; 0x40 806774e: 429a cmp r2, r3 8067750: d116 bne.n 8067780 { F = 0; 8067752: f04f 0300 mov.w r3, #0 8067756: 657b str r3, [r7, #84] ; 0x54 I += 1; 8067758: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 806775c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8067760: ee77 7a87 vadd.f32 s15, s15, s14 8067764: edc7 7a0b vstr s15, [r7, #44] ; 0x2c 8067768: e00a b.n 8067780 } } else { I = roundf(value); 806776a: ed97 0a0c vldr s0, [r7, #48] ; 0x30 806776e: f067 fc19 bl 80cefa4 8067772: eef0 7a40 vmov.f32 s15, s0 8067776: edc7 7a0b vstr s15, [r7, #44] ; 0x2c F = 0.0f; 806777a: f04f 0300 mov.w r3, #0 806777e: 657b str r3, [r7, #84] ; 0x54 } Int32 = (uint32_t) I; 8067780: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 8067784: eefc 7ae7 vcvt.u32.f32 s15, s15 8067788: ee17 3a90 vmov r3, s15 806778c: 64fb str r3, [r7, #76] ; 0x4c Frac32 = (uint32_t) F; 806778e: edd7 7a15 vldr s15, [r7, #84] ; 0x54 8067792: eefc 7ae7 vcvt.u32.f32 s15, s15 8067796: ee17 3a90 vmov r3, s15 806779a: 64bb str r3, [r7, #72] ; 0x48 _I32 = Int32; 806779c: 6cfb ldr r3, [r7, #76] ; 0x4c 806779e: 63bb str r3, [r7, #56] ; 0x38 _F32 = Frac32; 80677a0: 6cbb ldr r3, [r7, #72] ; 0x48 80677a2: 637b str r3, [r7, #52] ; 0x34 idx = 0; 80677a4: 2300 movs r3, #0 80677a6: f887 305f strb.w r3, [r7, #95] ; 0x5f tmparray[idx++] = '\0'; 80677aa: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80677ae: 1c5a adds r2, r3, #1 80677b0: f887 205f strb.w r2, [r7, #95] ; 0x5f 80677b4: f107 0260 add.w r2, r7, #96 ; 0x60 80677b8: 4413 add r3, r2 80677ba: 2200 movs r2, #0 80677bc: f803 2c54 strb.w r2, [r3, #-84] if((Int32 == 0) && (Frac32 == 0)) 80677c0: 6cfb ldr r3, [r7, #76] ; 0x4c 80677c2: 2b00 cmp r3, #0 80677c4: d135 bne.n 8067832 80677c6: 6cbb ldr r3, [r7, #72] ; 0x48 80677c8: 2b00 cmp r3, #0 80677ca: d132 bne.n 8067832 { if(RoundTo < 0) 80677cc: 683b ldr r3, [r7, #0] 80677ce: 2b00 cmp r3, #0 80677d0: da23 bge.n 806781a { for(i = 0; i < ABS(RoundTo); i++) 80677d2: 2300 movs r3, #0 80677d4: 65bb str r3, [r7, #88] ; 0x58 80677d6: e00d b.n 80677f4 tmparray[idx++] = '0'; 80677d8: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80677dc: 1c5a adds r2, r3, #1 80677de: f887 205f strb.w r2, [r7, #95] ; 0x5f 80677e2: f107 0260 add.w r2, r7, #96 ; 0x60 80677e6: 4413 add r3, r2 80677e8: 2230 movs r2, #48 ; 0x30 80677ea: f803 2c54 strb.w r2, [r3, #-84] for(i = 0; i < ABS(RoundTo); i++) 80677ee: 6dbb ldr r3, [r7, #88] ; 0x58 80677f0: 3301 adds r3, #1 80677f2: 65bb str r3, [r7, #88] ; 0x58 80677f4: 683b ldr r3, [r7, #0] 80677f6: ea83 72e3 eor.w r2, r3, r3, asr #31 80677fa: eba2 72e3 sub.w r2, r2, r3, asr #31 80677fe: 6dbb ldr r3, [r7, #88] ; 0x58 8067800: 429a cmp r2, r3 8067802: dce9 bgt.n 80677d8 tmparray[idx++] = '.'; 8067804: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8067808: 1c5a adds r2, r3, #1 806780a: f887 205f strb.w r2, [r7, #95] ; 0x5f 806780e: f107 0260 add.w r2, r7, #96 ; 0x60 8067812: 4413 add r3, r2 8067814: 222e movs r2, #46 ; 0x2e 8067816: f803 2c54 strb.w r2, [r3, #-84] } tmparray[idx++] = '0'; 806781a: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 806781e: 1c5a adds r2, r3, #1 8067820: f887 205f strb.w r2, [r7, #95] ; 0x5f 8067824: f107 0260 add.w r2, r7, #96 ; 0x60 8067828: 4413 add r3, r2 806782a: 2230 movs r2, #48 ; 0x30 806782c: f803 2c54 strb.w r2, [r3, #-84] 8067830: e092 b.n 8067958 } else { if(RoundTo < 0) 8067832: 683b ldr r3, [r7, #0] 8067834: 2b00 cmp r3, #0 8067836: da38 bge.n 80678aa { for(i = 0; i < ABS(RoundTo); i++) 8067838: 2300 movs r3, #0 806783a: 65bb str r3, [r7, #88] ; 0x58 806783c: e022 b.n 8067884 { Tmp32 = Frac32; 806783e: 6cbb ldr r3, [r7, #72] ; 0x48 8067840: 63fb str r3, [r7, #60] ; 0x3c Frac32 /= 10; 8067842: 6cbb ldr r3, [r7, #72] ; 0x48 8067844: 4a21 ldr r2, [pc, #132] ; (80678cc ) 8067846: fba2 2303 umull r2, r3, r2, r3 806784a: 08db lsrs r3, r3, #3 806784c: 64bb str r3, [r7, #72] ; 0x48 Tmp32 = Tmp32 - Frac32 * 10; 806784e: 6cba ldr r2, [r7, #72] ; 0x48 8067850: 4613 mov r3, r2 8067852: 009b lsls r3, r3, #2 8067854: 4413 add r3, r2 8067856: 005b lsls r3, r3, #1 8067858: 461a mov r2, r3 806785a: 6bfb ldr r3, [r7, #60] ; 0x3c 806785c: 1a9b subs r3, r3, r2 806785e: 63fb str r3, [r7, #60] ; 0x3c tmparray[idx++] = '0' + Tmp32; 8067860: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8067864: 1c5a adds r2, r3, #1 8067866: f887 205f strb.w r2, [r7, #95] ; 0x5f 806786a: 4619 mov r1, r3 806786c: 6bfb ldr r3, [r7, #60] ; 0x3c 806786e: b2db uxtb r3, r3 8067870: 3330 adds r3, #48 ; 0x30 8067872: b2da uxtb r2, r3 8067874: f107 0360 add.w r3, r7, #96 ; 0x60 8067878: 440b add r3, r1 806787a: f803 2c54 strb.w r2, [r3, #-84] for(i = 0; i < ABS(RoundTo); i++) 806787e: 6dbb ldr r3, [r7, #88] ; 0x58 8067880: 3301 adds r3, #1 8067882: 65bb str r3, [r7, #88] ; 0x58 8067884: 683b ldr r3, [r7, #0] 8067886: ea83 72e3 eor.w r2, r3, r3, asr #31 806788a: eba2 72e3 sub.w r2, r2, r3, asr #31 806788e: 6dbb ldr r3, [r7, #88] ; 0x58 8067890: 429a cmp r2, r3 8067892: dcd4 bgt.n 806783e } tmparray[idx++] = '.'; 8067894: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8067898: 1c5a adds r2, r3, #1 806789a: f887 205f strb.w r2, [r7, #95] ; 0x5f 806789e: f107 0260 add.w r2, r7, #96 ; 0x60 80678a2: 4413 add r3, r2 80678a4: 222e movs r2, #46 ; 0x2e 80678a6: f803 2c54 strb.w r2, [r3, #-84] } if(Int32 != 0) 80678aa: 6cfb ldr r3, [r7, #76] ; 0x4c 80678ac: 2b00 cmp r3, #0 80678ae: d033 beq.n 8067918 { while(Int32) 80678b0: e02e b.n 8067910 80678b2: bf00 nop 80678b4: f3af 8000 nop.w 80678b8: ff99999a .word 0xff99999a 80678bc: 4197d783 .word 0x4197d783 80678c0: ff99999a .word 0xff99999a 80678c4: c197d783 .word 0xc197d783 80678c8: 20026cf8 .word 0x20026cf8 80678cc: cccccccd .word 0xcccccccd { Tmp32 = Int32; 80678d0: 6cfb ldr r3, [r7, #76] ; 0x4c 80678d2: 63fb str r3, [r7, #60] ; 0x3c Int32 /= 10; 80678d4: 6cfb ldr r3, [r7, #76] ; 0x4c 80678d6: 4a30 ldr r2, [pc, #192] ; (8067998 ) 80678d8: fba2 2303 umull r2, r3, r2, r3 80678dc: 08db lsrs r3, r3, #3 80678de: 64fb str r3, [r7, #76] ; 0x4c Tmp32 = Tmp32 - Int32 * 10; 80678e0: 6cfa ldr r2, [r7, #76] ; 0x4c 80678e2: 4613 mov r3, r2 80678e4: 009b lsls r3, r3, #2 80678e6: 4413 add r3, r2 80678e8: 005b lsls r3, r3, #1 80678ea: 461a mov r2, r3 80678ec: 6bfb ldr r3, [r7, #60] ; 0x3c 80678ee: 1a9b subs r3, r3, r2 80678f0: 63fb str r3, [r7, #60] ; 0x3c tmparray[idx++] = '0' + Tmp32; 80678f2: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80678f6: 1c5a adds r2, r3, #1 80678f8: f887 205f strb.w r2, [r7, #95] ; 0x5f 80678fc: 4619 mov r1, r3 80678fe: 6bfb ldr r3, [r7, #60] ; 0x3c 8067900: b2db uxtb r3, r3 8067902: 3330 adds r3, #48 ; 0x30 8067904: b2da uxtb r2, r3 8067906: f107 0360 add.w r3, r7, #96 ; 0x60 806790a: 440b add r3, r1 806790c: f803 2c54 strb.w r2, [r3, #-84] while(Int32) 8067910: 6cfb ldr r3, [r7, #76] ; 0x4c 8067912: 2b00 cmp r3, #0 8067914: d1dc bne.n 80678d0 8067916: e00a b.n 806792e } } else tmparray[idx++] = '0'; 8067918: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 806791c: 1c5a adds r2, r3, #1 806791e: f887 205f strb.w r2, [r7, #95] ; 0x5f 8067922: f107 0260 add.w r2, r7, #96 ; 0x60 8067926: 4413 add r3, r2 8067928: 2230 movs r2, #48 ; 0x30 806792a: f803 2c54 strb.w r2, [r3, #-84] if(minus) 806792e: 7afb ldrb r3, [r7, #11] 8067930: b2db uxtb r3, r3 8067932: 2b00 cmp r3, #0 8067934: d010 beq.n 8067958 { if((_I32 != 0) || (_F32 != 0)) 8067936: 6bbb ldr r3, [r7, #56] ; 0x38 8067938: 2b00 cmp r3, #0 806793a: d102 bne.n 8067942 806793c: 6b7b ldr r3, [r7, #52] ; 0x34 806793e: 2b00 cmp r3, #0 8067940: d00a beq.n 8067958 tmparray[idx++] = '-'; 8067942: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8067946: 1c5a adds r2, r3, #1 8067948: f887 205f strb.w r2, [r7, #95] ; 0x5f 806794c: f107 0260 add.w r2, r7, #96 ; 0x60 8067950: 4413 add r3, r2 8067952: 222d movs r2, #45 ; 0x2d 8067954: f803 2c54 strb.w r2, [r3, #-84] } } for(i = 0; i < idx; i++) 8067958: 2300 movs r3, #0 806795a: 65bb str r3, [r7, #88] ; 0x58 806795c: e011 b.n 8067982 pString[i] = tmparray[idx - i - 1]; 806795e: f897 205f ldrb.w r2, [r7, #95] ; 0x5f 8067962: 6dbb ldr r3, [r7, #88] ; 0x58 8067964: 1ad3 subs r3, r2, r3 8067966: 3b01 subs r3, #1 8067968: f107 0260 add.w r2, r7, #96 ; 0x60 806796c: 4413 add r3, r2 806796e: f813 1c54 ldrb.w r1, [r3, #-84] 8067972: 4a0a ldr r2, [pc, #40] ; (806799c ) 8067974: 6dbb ldr r3, [r7, #88] ; 0x58 8067976: 4413 add r3, r2 8067978: 460a mov r2, r1 806797a: 701a strb r2, [r3, #0] for(i = 0; i < idx; i++) 806797c: 6dbb ldr r3, [r7, #88] ; 0x58 806797e: 3301 adds r3, #1 8067980: 65bb str r3, [r7, #88] ; 0x58 8067982: f897 205f ldrb.w r2, [r7, #95] ; 0x5f 8067986: 6dbb ldr r3, [r7, #88] ; 0x58 8067988: 429a cmp r2, r3 806798a: dce8 bgt.n 806795e return pString; 806798c: 4b03 ldr r3, [pc, #12] ; (806799c ) } 806798e: 4618 mov r0, r3 8067990: 3760 adds r7, #96 ; 0x60 8067992: 46bd mov sp, r7 8067994: bd80 pop {r7, pc} 8067996: bf00 nop 8067998: cccccccd .word 0xcccccccd 806799c: 20026cf8 .word 0x20026cf8 080679a0 : void MyFFT(uint32_t len, int32_t inverse) { 80679a0: b580 push {r7, lr} 80679a2: b098 sub sp, #96 ; 0x60 80679a4: af00 add r7, sp, #0 80679a6: 6078 str r0, [r7, #4] 80679a8: 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); 80679aa: 687b ldr r3, [r7, #4] 80679ac: ee07 3a90 vmov s15, r3 80679b0: eef8 7a67 vcvt.f32.u32 s15, s15 80679b4: eeb0 0a67 vmov.f32 s0, s15 80679b8: f067 fac2 bl 80cef40 80679bc: eeb0 7a40 vmov.f32 s14, s0 80679c0: eef6 7a00 vmov.f32 s15, #96 ; 0x3f000000 0.5 80679c4: ee77 7a27 vadd.f32 s15, s14, s15 80679c8: eefc 7ae7 vcvt.u32.f32 s15, s15 80679cc: ee17 3a90 vmov r3, s15 80679d0: 643b str r3, [r7, #64] ; 0x40 for(l = 1; l <= n; l++) 80679d2: 2301 movs r3, #1 80679d4: 65fb str r3, [r7, #92] ; 0x5c 80679d6: e0ea b.n 8067bae { u = 1.0f; 80679d8: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 80679dc: 64fb str r3, [r7, #76] ; 0x4c v = 0.0f; 80679de: f04f 0300 mov.w r3, #0 80679e2: 64bb str r3, [r7, #72] ; 0x48 e = (1 << (n - l + 1)); 80679e4: 6c3a ldr r2, [r7, #64] ; 0x40 80679e6: 6dfb ldr r3, [r7, #92] ; 0x5c 80679e8: 1ad3 subs r3, r2, r3 80679ea: 3301 adds r3, #1 80679ec: 2201 movs r2, #1 80679ee: fa02 f303 lsl.w r3, r2, r3 80679f2: 63fb str r3, [r7, #60] ; 0x3c f = (e >> 1); 80679f4: 6bfb ldr r3, [r7, #60] ; 0x3c 80679f6: 085b lsrs r3, r3, #1 80679f8: 63bb str r3, [r7, #56] ; 0x38 z = PI / f; 80679fa: 6bbb ldr r3, [r7, #56] ; 0x38 80679fc: ee07 3a90 vmov s15, r3 8067a00: eeb8 7a67 vcvt.f32.u32 s14, s15 8067a04: eddf 6ab8 vldr s13, [pc, #736] ; 8067ce8 8067a08: eec6 7a87 vdiv.f32 s15, s13, s14 8067a0c: edc7 7a0d vstr s15, [r7, #52] ; 0x34 c = arm_cos_f32(z); 8067a10: ed97 0a0d vldr s0, [r7, #52] ; 0x34 8067a14: f04e fba8 bl 80b6168 8067a18: ed87 0a0c vstr s0, [r7, #48] ; 0x30 s = arm_sin_f32(z); 8067a1c: ed97 0a0d vldr s0, [r7, #52] ; 0x34 8067a20: f04f f928 bl 80b6c74 8067a24: ed87 0a11 vstr s0, [r7, #68] ; 0x44 if(inverse == 0) { 8067a28: 683b ldr r3, [r7, #0] 8067a2a: 2b00 cmp r3, #0 8067a2c: d105 bne.n 8067a3a s = -s; 8067a2e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8067a32: eef1 7a67 vneg.f32 s15, s15 8067a36: edc7 7a11 vstr s15, [r7, #68] ; 0x44 } for(j = 1; j <= f; j++) 8067a3a: 2301 movs r3, #1 8067a3c: 657b str r3, [r7, #84] ; 0x54 8067a3e: e0ae b.n 8067b9e { i = j; 8067a40: 6d7b ldr r3, [r7, #84] ; 0x54 8067a42: 65bb str r3, [r7, #88] ; 0x58 while(i <= len) 8067a44: e081 b.n 8067b4a { o = i + f - 1; 8067a46: 6dba ldr r2, [r7, #88] ; 0x58 8067a48: 6bbb ldr r3, [r7, #56] ; 0x38 8067a4a: 4413 add r3, r2 8067a4c: 3b01 subs r3, #1 8067a4e: 62fb str r3, [r7, #44] ; 0x2c o1 = i - 1; 8067a50: 6dbb ldr r3, [r7, #88] ; 0x58 8067a52: 3b01 subs r3, #1 8067a54: 62bb str r3, [r7, #40] ; 0x28 p = Real(o1) + Real(o); 8067a56: 6abb ldr r3, [r7, #40] ; 0x28 8067a58: 009a lsls r2, r3, #2 8067a5a: 4ba4 ldr r3, [pc, #656] ; (8067cec ) 8067a5c: 4413 add r3, r2 8067a5e: ed93 7a00 vldr s14, [r3] 8067a62: 6afb ldr r3, [r7, #44] ; 0x2c 8067a64: 009a lsls r2, r3, #2 8067a66: 4ba1 ldr r3, [pc, #644] ; (8067cec ) 8067a68: 4413 add r3, r2 8067a6a: edd3 7a00 vldr s15, [r3] 8067a6e: ee77 7a27 vadd.f32 s15, s14, s15 8067a72: edc7 7a09 vstr s15, [r7, #36] ; 0x24 r = Real(o1) - Real(o); 8067a76: 6abb ldr r3, [r7, #40] ; 0x28 8067a78: 009a lsls r2, r3, #2 8067a7a: 4b9c ldr r3, [pc, #624] ; (8067cec ) 8067a7c: 4413 add r3, r2 8067a7e: ed93 7a00 vldr s14, [r3] 8067a82: 6afb ldr r3, [r7, #44] ; 0x2c 8067a84: 009a lsls r2, r3, #2 8067a86: 4b99 ldr r3, [pc, #612] ; (8067cec ) 8067a88: 4413 add r3, r2 8067a8a: edd3 7a00 vldr s15, [r3] 8067a8e: ee77 7a67 vsub.f32 s15, s14, s15 8067a92: edc7 7a08 vstr s15, [r7, #32] q = Image(o1) + Image(o); 8067a96: 6abb ldr r3, [r7, #40] ; 0x28 8067a98: 009a lsls r2, r3, #2 8067a9a: 4b95 ldr r3, [pc, #596] ; (8067cf0 ) 8067a9c: 4413 add r3, r2 8067a9e: ed93 7a00 vldr s14, [r3] 8067aa2: 6afb ldr r3, [r7, #44] ; 0x2c 8067aa4: 009a lsls r2, r3, #2 8067aa6: 4b92 ldr r3, [pc, #584] ; (8067cf0 ) 8067aa8: 4413 add r3, r2 8067aaa: edd3 7a00 vldr s15, [r3] 8067aae: ee77 7a27 vadd.f32 s15, s14, s15 8067ab2: edc7 7a07 vstr s15, [r7, #28] t = Image(o1) - Image(o); 8067ab6: 6abb ldr r3, [r7, #40] ; 0x28 8067ab8: 009a lsls r2, r3, #2 8067aba: 4b8d ldr r3, [pc, #564] ; (8067cf0 ) 8067abc: 4413 add r3, r2 8067abe: ed93 7a00 vldr s14, [r3] 8067ac2: 6afb ldr r3, [r7, #44] ; 0x2c 8067ac4: 009a lsls r2, r3, #2 8067ac6: 4b8a ldr r3, [pc, #552] ; (8067cf0 ) 8067ac8: 4413 add r3, r2 8067aca: edd3 7a00 vldr s15, [r3] 8067ace: ee77 7a67 vsub.f32 s15, s14, s15 8067ad2: edc7 7a06 vstr s15, [r7, #24] Real(o) = r * u - t * v; 8067ad6: 6afb ldr r3, [r7, #44] ; 0x2c 8067ad8: 009a lsls r2, r3, #2 8067ada: 4b84 ldr r3, [pc, #528] ; (8067cec ) 8067adc: 4413 add r3, r2 8067ade: ed97 7a08 vldr s14, [r7, #32] 8067ae2: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 8067ae6: ee27 7a27 vmul.f32 s14, s14, s15 8067aea: edd7 6a06 vldr s13, [r7, #24] 8067aee: edd7 7a12 vldr s15, [r7, #72] ; 0x48 8067af2: ee66 7aa7 vmul.f32 s15, s13, s15 8067af6: ee77 7a67 vsub.f32 s15, s14, s15 8067afa: edc3 7a00 vstr s15, [r3] Image(o) = t * u + r * v; 8067afe: 6afb ldr r3, [r7, #44] ; 0x2c 8067b00: 009a lsls r2, r3, #2 8067b02: 4b7b ldr r3, [pc, #492] ; (8067cf0 ) 8067b04: 4413 add r3, r2 8067b06: ed97 7a06 vldr s14, [r7, #24] 8067b0a: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 8067b0e: ee27 7a27 vmul.f32 s14, s14, s15 8067b12: edd7 6a08 vldr s13, [r7, #32] 8067b16: edd7 7a12 vldr s15, [r7, #72] ; 0x48 8067b1a: ee66 7aa7 vmul.f32 s15, s13, s15 8067b1e: ee77 7a27 vadd.f32 s15, s14, s15 8067b22: edc3 7a00 vstr s15, [r3] Real(o1) = p; 8067b26: 6abb ldr r3, [r7, #40] ; 0x28 8067b28: 009a lsls r2, r3, #2 8067b2a: 4b70 ldr r3, [pc, #448] ; (8067cec ) 8067b2c: 4413 add r3, r2 8067b2e: 461a mov r2, r3 8067b30: 6a7b ldr r3, [r7, #36] ; 0x24 8067b32: 6013 str r3, [r2, #0] Image(o1) = q; 8067b34: 6abb ldr r3, [r7, #40] ; 0x28 8067b36: 009a lsls r2, r3, #2 8067b38: 4b6d ldr r3, [pc, #436] ; (8067cf0 ) 8067b3a: 4413 add r3, r2 8067b3c: 461a mov r2, r3 8067b3e: 69fb ldr r3, [r7, #28] 8067b40: 6013 str r3, [r2, #0] i = i + e; 8067b42: 6dba ldr r2, [r7, #88] ; 0x58 8067b44: 6bfb ldr r3, [r7, #60] ; 0x3c 8067b46: 4413 add r3, r2 8067b48: 65bb str r3, [r7, #88] ; 0x58 while(i <= len) 8067b4a: 6dba ldr r2, [r7, #88] ; 0x58 8067b4c: 687b ldr r3, [r7, #4] 8067b4e: 429a cmp r2, r3 8067b50: f67f af79 bls.w 8067a46 } w = u * c - v * s; 8067b54: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 8067b58: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8067b5c: ee27 7a27 vmul.f32 s14, s14, s15 8067b60: edd7 6a12 vldr s13, [r7, #72] ; 0x48 8067b64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8067b68: ee66 7aa7 vmul.f32 s15, s13, s15 8067b6c: ee77 7a67 vsub.f32 s15, s14, s15 8067b70: edc7 7a05 vstr s15, [r7, #20] v = v * c + u * s; 8067b74: ed97 7a12 vldr s14, [r7, #72] ; 0x48 8067b78: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8067b7c: ee27 7a27 vmul.f32 s14, s14, s15 8067b80: edd7 6a13 vldr s13, [r7, #76] ; 0x4c 8067b84: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8067b88: ee66 7aa7 vmul.f32 s15, s13, s15 8067b8c: ee77 7a27 vadd.f32 s15, s14, s15 8067b90: edc7 7a12 vstr s15, [r7, #72] ; 0x48 u = w; 8067b94: 697b ldr r3, [r7, #20] 8067b96: 64fb str r3, [r7, #76] ; 0x4c for(j = 1; j <= f; j++) 8067b98: 6d7b ldr r3, [r7, #84] ; 0x54 8067b9a: 3301 adds r3, #1 8067b9c: 657b str r3, [r7, #84] ; 0x54 8067b9e: 6d7a ldr r2, [r7, #84] ; 0x54 8067ba0: 6bbb ldr r3, [r7, #56] ; 0x38 8067ba2: 429a cmp r2, r3 8067ba4: f67f af4c bls.w 8067a40 for(l = 1; l <= n; l++) 8067ba8: 6dfb ldr r3, [r7, #92] ; 0x5c 8067baa: 3301 adds r3, #1 8067bac: 65fb str r3, [r7, #92] ; 0x5c 8067bae: 6dfa ldr r2, [r7, #92] ; 0x5c 8067bb0: 6c3b ldr r3, [r7, #64] ; 0x40 8067bb2: 429a cmp r2, r3 8067bb4: f67f af10 bls.w 80679d8 } } j = 1; 8067bb8: 2301 movs r3, #1 8067bba: 657b str r3, [r7, #84] ; 0x54 for(i = 1; i < len; i++) 8067bbc: 2301 movs r3, #1 8067bbe: 65bb str r3, [r7, #88] ; 0x58 8067bc0: e04f b.n 8067c62 { if(i < j) 8067bc2: 6dba ldr r2, [r7, #88] ; 0x58 8067bc4: 6d7b ldr r3, [r7, #84] ; 0x54 8067bc6: 429a cmp r2, r3 8067bc8: d235 bcs.n 8067c36 { j1 = j - 1; 8067bca: 6d7b ldr r3, [r7, #84] ; 0x54 8067bcc: 3b01 subs r3, #1 8067bce: 613b str r3, [r7, #16] i1 = i - 1; 8067bd0: 6dbb ldr r3, [r7, #88] ; 0x58 8067bd2: 3b01 subs r3, #1 8067bd4: 60fb str r3, [r7, #12] p = Real(j1); 8067bd6: 693b ldr r3, [r7, #16] 8067bd8: 009a lsls r2, r3, #2 8067bda: 4b44 ldr r3, [pc, #272] ; (8067cec ) 8067bdc: 4413 add r3, r2 8067bde: 681b ldr r3, [r3, #0] 8067be0: 627b str r3, [r7, #36] ; 0x24 q = Image(j1); 8067be2: 693b ldr r3, [r7, #16] 8067be4: 009a lsls r2, r3, #2 8067be6: 4b42 ldr r3, [pc, #264] ; (8067cf0 ) 8067be8: 4413 add r3, r2 8067bea: 681b ldr r3, [r3, #0] 8067bec: 61fb str r3, [r7, #28] Real(j1) = Real(i1); 8067bee: 693b ldr r3, [r7, #16] 8067bf0: 009a lsls r2, r3, #2 8067bf2: 4b3e ldr r3, [pc, #248] ; (8067cec ) 8067bf4: 4413 add r3, r2 8067bf6: 4619 mov r1, r3 8067bf8: 68fb ldr r3, [r7, #12] 8067bfa: 009a lsls r2, r3, #2 8067bfc: 4b3b ldr r3, [pc, #236] ; (8067cec ) 8067bfe: 4413 add r3, r2 8067c00: 681b ldr r3, [r3, #0] 8067c02: 600b str r3, [r1, #0] Image(j1) = Image(i1); 8067c04: 693b ldr r3, [r7, #16] 8067c06: 009a lsls r2, r3, #2 8067c08: 4b39 ldr r3, [pc, #228] ; (8067cf0 ) 8067c0a: 4413 add r3, r2 8067c0c: 4619 mov r1, r3 8067c0e: 68fb ldr r3, [r7, #12] 8067c10: 009a lsls r2, r3, #2 8067c12: 4b37 ldr r3, [pc, #220] ; (8067cf0 ) 8067c14: 4413 add r3, r2 8067c16: 681b ldr r3, [r3, #0] 8067c18: 600b str r3, [r1, #0] Real(i1) = p; 8067c1a: 68fb ldr r3, [r7, #12] 8067c1c: 009a lsls r2, r3, #2 8067c1e: 4b33 ldr r3, [pc, #204] ; (8067cec ) 8067c20: 4413 add r3, r2 8067c22: 461a mov r2, r3 8067c24: 6a7b ldr r3, [r7, #36] ; 0x24 8067c26: 6013 str r3, [r2, #0] Image(i1) = q; 8067c28: 68fb ldr r3, [r7, #12] 8067c2a: 009a lsls r2, r3, #2 8067c2c: 4b30 ldr r3, [pc, #192] ; (8067cf0 ) 8067c2e: 4413 add r3, r2 8067c30: 461a mov r2, r3 8067c32: 69fb ldr r3, [r7, #28] 8067c34: 6013 str r3, [r2, #0] } k = (len >> 1); 8067c36: 687b ldr r3, [r7, #4] 8067c38: 085b lsrs r3, r3, #1 8067c3a: 653b str r3, [r7, #80] ; 0x50 while(k < j) 8067c3c: e006 b.n 8067c4c { j = j - k; 8067c3e: 6d7a ldr r2, [r7, #84] ; 0x54 8067c40: 6d3b ldr r3, [r7, #80] ; 0x50 8067c42: 1ad3 subs r3, r2, r3 8067c44: 657b str r3, [r7, #84] ; 0x54 k = (k >> 1); 8067c46: 6d3b ldr r3, [r7, #80] ; 0x50 8067c48: 085b lsrs r3, r3, #1 8067c4a: 653b str r3, [r7, #80] ; 0x50 while(k < j) 8067c4c: 6d3a ldr r2, [r7, #80] ; 0x50 8067c4e: 6d7b ldr r3, [r7, #84] ; 0x54 8067c50: 429a cmp r2, r3 8067c52: d3f4 bcc.n 8067c3e } j = j + k; 8067c54: 6d7a ldr r2, [r7, #84] ; 0x54 8067c56: 6d3b ldr r3, [r7, #80] ; 0x50 8067c58: 4413 add r3, r2 8067c5a: 657b str r3, [r7, #84] ; 0x54 for(i = 1; i < len; i++) 8067c5c: 6dbb ldr r3, [r7, #88] ; 0x58 8067c5e: 3301 adds r3, #1 8067c60: 65bb str r3, [r7, #88] ; 0x58 8067c62: 6dba ldr r2, [r7, #88] ; 0x58 8067c64: 687b ldr r3, [r7, #4] 8067c66: 429a cmp r2, r3 8067c68: d3ab bcc.n 8067bc2 } if(inverse == 0) { 8067c6a: 683b ldr r3, [r7, #0] 8067c6c: 2b00 cmp r3, #0 8067c6e: d037 beq.n 8067ce0 return; } a = 1.0f / len; 8067c70: 687b ldr r3, [r7, #4] 8067c72: ee07 3a90 vmov s15, r3 8067c76: eeb8 7a67 vcvt.f32.u32 s14, s15 8067c7a: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8067c7e: eec6 7a87 vdiv.f32 s15, s13, s14 8067c82: edc7 7a02 vstr s15, [r7, #8] for(k = 0; k < len; k++) 8067c86: 2300 movs r3, #0 8067c88: 653b str r3, [r7, #80] ; 0x50 8067c8a: e024 b.n 8067cd6 { Real(k) = Real(k) * a; 8067c8c: 6d3b ldr r3, [r7, #80] ; 0x50 8067c8e: 009a lsls r2, r3, #2 8067c90: 4b16 ldr r3, [pc, #88] ; (8067cec ) 8067c92: 4413 add r3, r2 8067c94: 4619 mov r1, r3 8067c96: 6d3b ldr r3, [r7, #80] ; 0x50 8067c98: 009a lsls r2, r3, #2 8067c9a: 4b14 ldr r3, [pc, #80] ; (8067cec ) 8067c9c: 4413 add r3, r2 8067c9e: ed93 7a00 vldr s14, [r3] 8067ca2: edd7 7a02 vldr s15, [r7, #8] 8067ca6: ee67 7a27 vmul.f32 s15, s14, s15 8067caa: edc1 7a00 vstr s15, [r1] Image(k) = Image(k) * a; 8067cae: 6d3b ldr r3, [r7, #80] ; 0x50 8067cb0: 009a lsls r2, r3, #2 8067cb2: 4b0f ldr r3, [pc, #60] ; (8067cf0 ) 8067cb4: 4413 add r3, r2 8067cb6: 4619 mov r1, r3 8067cb8: 6d3b ldr r3, [r7, #80] ; 0x50 8067cba: 009a lsls r2, r3, #2 8067cbc: 4b0c ldr r3, [pc, #48] ; (8067cf0 ) 8067cbe: 4413 add r3, r2 8067cc0: ed93 7a00 vldr s14, [r3] 8067cc4: edd7 7a02 vldr s15, [r7, #8] 8067cc8: ee67 7a27 vmul.f32 s15, s14, s15 8067ccc: edc1 7a00 vstr s15, [r1] for(k = 0; k < len; k++) 8067cd0: 6d3b ldr r3, [r7, #80] ; 0x50 8067cd2: 3301 adds r3, #1 8067cd4: 653b str r3, [r7, #80] ; 0x50 8067cd6: 6d3a ldr r2, [r7, #80] ; 0x50 8067cd8: 687b ldr r3, [r7, #4] 8067cda: 429a cmp r2, r3 8067cdc: d3d6 bcc.n 8067c8c 8067cde: e000 b.n 8067ce2 return; 8067ce0: bf00 nop } } 8067ce2: 3760 adds r7, #96 ; 0x60 8067ce4: 46bd mov sp, r7 8067ce6: bd80 pop {r7, pc} 8067ce8: 40490fdb .word 0x40490fdb 8067cec: 64090000 .word 0x64090000 8067cf0: 64098000 .word 0x64098000 08067cf4 : void CALC_MEAN(uint32_t smooth) { 8067cf4: b580 push {r7, lr} 8067cf6: b088 sub sp, #32 8067cf8: af00 add r7, sp, #0 8067cfa: 6078 str r0, [r7, #4] uint32_t sm = smooth + 1; 8067cfc: 687b ldr r3, [r7, #4] 8067cfe: 3301 adds r3, #1 8067d00: 613b str r3, [r7, #16] uint32_t i, j, k; float32_t fs; Out[0] = 0.0f; 8067d02: 4b75 ldr r3, [pc, #468] ; (8067ed8 ) 8067d04: f04f 0200 mov.w r2, #0 8067d08: 601a str r2, [r3, #0] for(i = 1; i < 4096; i++) 8067d0a: 2301 movs r3, #1 8067d0c: 61fb str r3, [r7, #28] 8067d0e: e0d3 b.n 8067eb8 { fs = In[i]; 8067d10: 4a72 ldr r2, [pc, #456] ; (8067edc ) 8067d12: 69fb ldr r3, [r7, #28] 8067d14: 009b lsls r3, r3, #2 8067d16: 4413 add r3, r2 8067d18: 681b ldr r3, [r3, #0] 8067d1a: 617b str r3, [r7, #20] if(i < sm) 8067d1c: 69fa ldr r2, [r7, #28] 8067d1e: 693b ldr r3, [r7, #16] 8067d20: 429a cmp r2, r3 8067d22: d243 bcs.n 8067dac { for(j = 1; j < sm; j++) { 8067d24: 2301 movs r3, #1 8067d26: 61bb str r3, [r7, #24] 8067d28: e010 b.n 8067d4c fs += In[i + j]; 8067d2a: 69fa ldr r2, [r7, #28] 8067d2c: 69bb ldr r3, [r7, #24] 8067d2e: 4413 add r3, r2 8067d30: 4a6a ldr r2, [pc, #424] ; (8067edc ) 8067d32: 009b lsls r3, r3, #2 8067d34: 4413 add r3, r2 8067d36: edd3 7a00 vldr s15, [r3] 8067d3a: ed97 7a05 vldr s14, [r7, #20] 8067d3e: ee77 7a27 vadd.f32 s15, s14, s15 8067d42: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) { 8067d46: 69bb ldr r3, [r7, #24] 8067d48: 3301 adds r3, #1 8067d4a: 61bb str r3, [r7, #24] 8067d4c: 69ba ldr r2, [r7, #24] 8067d4e: 693b ldr r3, [r7, #16] 8067d50: 429a cmp r2, r3 8067d52: d3ea bcc.n 8067d2a } k = i; 8067d54: 69fb ldr r3, [r7, #28] 8067d56: 60fb str r3, [r7, #12] for(j = 1; j < k; j++) { 8067d58: 2301 movs r3, #1 8067d5a: 61bb str r3, [r7, #24] 8067d5c: e010 b.n 8067d80 fs += In[i - j]; 8067d5e: 69fa ldr r2, [r7, #28] 8067d60: 69bb ldr r3, [r7, #24] 8067d62: 1ad3 subs r3, r2, r3 8067d64: 4a5d ldr r2, [pc, #372] ; (8067edc ) 8067d66: 009b lsls r3, r3, #2 8067d68: 4413 add r3, r2 8067d6a: edd3 7a00 vldr s15, [r3] 8067d6e: ed97 7a05 vldr s14, [r7, #20] 8067d72: ee77 7a27 vadd.f32 s15, s14, s15 8067d76: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < k; j++) { 8067d7a: 69bb ldr r3, [r7, #24] 8067d7c: 3301 adds r3, #1 8067d7e: 61bb str r3, [r7, #24] 8067d80: 69ba ldr r2, [r7, #24] 8067d82: 68fb ldr r3, [r7, #12] 8067d84: 429a cmp r2, r3 8067d86: d3ea bcc.n 8067d5e } Out[i] = fs / (float32_t) (smooth + k); 8067d88: 687a ldr r2, [r7, #4] 8067d8a: 68fb ldr r3, [r7, #12] 8067d8c: 4413 add r3, r2 8067d8e: ee07 3a90 vmov s15, r3 8067d92: eeb8 7a67 vcvt.f32.u32 s14, s15 8067d96: edd7 6a05 vldr s13, [r7, #20] 8067d9a: eec6 7a87 vdiv.f32 s15, s13, s14 8067d9e: 4a4e ldr r2, [pc, #312] ; (8067ed8 ) 8067da0: 69fb ldr r3, [r7, #28] 8067da2: 009b lsls r3, r3, #2 8067da4: 4413 add r3, r2 8067da6: edc3 7a00 vstr s15, [r3] 8067daa: e082 b.n 8067eb2 } else if(i > 4096 - sm) 8067dac: 693b ldr r3, [r7, #16] 8067dae: f5c3 5280 rsb r2, r3, #4096 ; 0x1000 8067db2: 69fb ldr r3, [r7, #28] 8067db4: 429a cmp r2, r3 8067db6: d245 bcs.n 8067e44 { for(j = 1; j < sm; j++) { 8067db8: 2301 movs r3, #1 8067dba: 61bb str r3, [r7, #24] 8067dbc: e010 b.n 8067de0 fs += In[i - j]; 8067dbe: 69fa ldr r2, [r7, #28] 8067dc0: 69bb ldr r3, [r7, #24] 8067dc2: 1ad3 subs r3, r2, r3 8067dc4: 4a45 ldr r2, [pc, #276] ; (8067edc ) 8067dc6: 009b lsls r3, r3, #2 8067dc8: 4413 add r3, r2 8067dca: edd3 7a00 vldr s15, [r3] 8067dce: ed97 7a05 vldr s14, [r7, #20] 8067dd2: ee77 7a27 vadd.f32 s15, s14, s15 8067dd6: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) { 8067dda: 69bb ldr r3, [r7, #24] 8067ddc: 3301 adds r3, #1 8067dde: 61bb str r3, [r7, #24] 8067de0: 69ba ldr r2, [r7, #24] 8067de2: 693b ldr r3, [r7, #16] 8067de4: 429a cmp r2, r3 8067de6: d3ea bcc.n 8067dbe } k = 4096 - i; 8067de8: 69fb ldr r3, [r7, #28] 8067dea: f5c3 5380 rsb r3, r3, #4096 ; 0x1000 8067dee: 60fb str r3, [r7, #12] for(j = 1; j < sm; j++) { 8067df0: 2301 movs r3, #1 8067df2: 61bb str r3, [r7, #24] 8067df4: e010 b.n 8067e18 fs += In[i + j]; 8067df6: 69fa ldr r2, [r7, #28] 8067df8: 69bb ldr r3, [r7, #24] 8067dfa: 4413 add r3, r2 8067dfc: 4a37 ldr r2, [pc, #220] ; (8067edc ) 8067dfe: 009b lsls r3, r3, #2 8067e00: 4413 add r3, r2 8067e02: edd3 7a00 vldr s15, [r3] 8067e06: ed97 7a05 vldr s14, [r7, #20] 8067e0a: ee77 7a27 vadd.f32 s15, s14, s15 8067e0e: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) { 8067e12: 69bb ldr r3, [r7, #24] 8067e14: 3301 adds r3, #1 8067e16: 61bb str r3, [r7, #24] 8067e18: 69ba ldr r2, [r7, #24] 8067e1a: 693b ldr r3, [r7, #16] 8067e1c: 429a cmp r2, r3 8067e1e: d3ea bcc.n 8067df6 } Out[i] = fs / (float32_t) (smooth + k); 8067e20: 687a ldr r2, [r7, #4] 8067e22: 68fb ldr r3, [r7, #12] 8067e24: 4413 add r3, r2 8067e26: ee07 3a90 vmov s15, r3 8067e2a: eeb8 7a67 vcvt.f32.u32 s14, s15 8067e2e: edd7 6a05 vldr s13, [r7, #20] 8067e32: eec6 7a87 vdiv.f32 s15, s13, s14 8067e36: 4a28 ldr r2, [pc, #160] ; (8067ed8 ) 8067e38: 69fb ldr r3, [r7, #28] 8067e3a: 009b lsls r3, r3, #2 8067e3c: 4413 add r3, r2 8067e3e: edc3 7a00 vstr s15, [r3] 8067e42: e036 b.n 8067eb2 } else { for(j = 1; j < sm; j++) 8067e44: 2301 movs r3, #1 8067e46: 61bb str r3, [r7, #24] 8067e48: e01e b.n 8067e88 { fs += In[i - j]; 8067e4a: 69fa ldr r2, [r7, #28] 8067e4c: 69bb ldr r3, [r7, #24] 8067e4e: 1ad3 subs r3, r2, r3 8067e50: 4a22 ldr r2, [pc, #136] ; (8067edc ) 8067e52: 009b lsls r3, r3, #2 8067e54: 4413 add r3, r2 8067e56: edd3 7a00 vldr s15, [r3] 8067e5a: ed97 7a05 vldr s14, [r7, #20] 8067e5e: ee77 7a27 vadd.f32 s15, s14, s15 8067e62: edc7 7a05 vstr s15, [r7, #20] fs += In[i + j]; 8067e66: 69fa ldr r2, [r7, #28] 8067e68: 69bb ldr r3, [r7, #24] 8067e6a: 4413 add r3, r2 8067e6c: 4a1b ldr r2, [pc, #108] ; (8067edc ) 8067e6e: 009b lsls r3, r3, #2 8067e70: 4413 add r3, r2 8067e72: edd3 7a00 vldr s15, [r3] 8067e76: ed97 7a05 vldr s14, [r7, #20] 8067e7a: ee77 7a27 vadd.f32 s15, s14, s15 8067e7e: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) 8067e82: 69bb ldr r3, [r7, #24] 8067e84: 3301 adds r3, #1 8067e86: 61bb str r3, [r7, #24] 8067e88: 69ba ldr r2, [r7, #24] 8067e8a: 693b ldr r3, [r7, #16] 8067e8c: 429a cmp r2, r3 8067e8e: d3dc bcc.n 8067e4a } Out[i] = fs / (float32_t) ((smooth << 1) + 1); 8067e90: 687b ldr r3, [r7, #4] 8067e92: 005b lsls r3, r3, #1 8067e94: 3301 adds r3, #1 8067e96: ee07 3a90 vmov s15, r3 8067e9a: eeb8 7a67 vcvt.f32.u32 s14, s15 8067e9e: edd7 6a05 vldr s13, [r7, #20] 8067ea2: eec6 7a87 vdiv.f32 s15, s13, s14 8067ea6: 4a0c ldr r2, [pc, #48] ; (8067ed8 ) 8067ea8: 69fb ldr r3, [r7, #28] 8067eaa: 009b lsls r3, r3, #2 8067eac: 4413 add r3, r2 8067eae: edc3 7a00 vstr s15, [r3] for(i = 1; i < 4096; i++) 8067eb2: 69fb ldr r3, [r7, #28] 8067eb4: 3301 adds r3, #1 8067eb6: 61fb str r3, [r7, #28] 8067eb8: 69fb ldr r3, [r7, #28] 8067eba: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8067ebe: f4ff af27 bcc.w 8067d10 } } FastCopy16(OUT_Reg, CMPLX_A, Ns); // Ñðåäíÿÿ ëèíèÿ*/ 8067ec2: 4b07 ldr r3, [pc, #28] ; (8067ee0 ) 8067ec4: 681b ldr r3, [r3, #0] 8067ec6: 461a mov r2, r3 8067ec8: 2105 movs r1, #5 8067eca: 2009 movs r0, #9 8067ecc: f7fd f988 bl 80651e0 } 8067ed0: bf00 nop 8067ed2: 3720 adds r7, #32 8067ed4: 46bd mov sp, r7 8067ed6: bd80 pop {r7, pc} 8067ed8: 20008000 .word 0x20008000 8067edc: 20027a00 .word 0x20027a00 8067ee0: 20021d24 .word 0x20021d24 08067ee4 : //îðà void GetDataTacho(void) { 8067ee4: b580 push {r7, lr} 8067ee6: b082 sub sp, #8 8067ee8: af00 add r7, sp, #0 volatile uint16_t n; volatile uint16_t BlockSize; if(READY == 1) 8067eea: 4b0b ldr r3, [pc, #44] ; (8067f18 ) 8067eec: 781b ldrb r3, [r3, #0] 8067eee: b2db uxtb r3, r3 8067ef0: 2b01 cmp r3, #1 8067ef2: d106 bne.n 8067f02 memcpy((void *) In16, (void *) &AdcBuff_16(0), 32768); 8067ef4: f44f 4200 mov.w r2, #32768 ; 0x8000 8067ef8: 4908 ldr r1, [pc, #32] ; (8067f1c ) 8067efa: 4809 ldr r0, [pc, #36] ; (8067f20 ) 8067efc: f069 fa45 bl 80d138a 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 }*/ } 8067f00: e005 b.n 8067f0e else memcpy((void *) In16, (void *) &AdcBuff_16(HALF_UDAR_BUFF), 32768); 8067f02: f44f 4200 mov.w r2, #32768 ; 0x8000 8067f06: 4907 ldr r1, [pc, #28] ; (8067f24 ) 8067f08: 4805 ldr r0, [pc, #20] ; (8067f20 ) 8067f0a: f069 fa3e bl 80d138a } 8067f0e: bf00 nop 8067f10: 3708 adds r7, #8 8067f12: 46bd mov sp, r7 8067f14: bd80 pop {r7, pc} 8067f16: bf00 nop 8067f18: 20020d9f .word 0x20020d9f 8067f1c: 64060000 .word 0x64060000 8067f20: 20058060 .word 0x20058060 8067f24: 64068000 .word 0x64068000 08067f28 : float32_t CalcExcess(float32_t *data, uint32_t n) { 8067f28: b580 push {r7, lr} 8067f2a: b08e sub sp, #56 ; 0x38 8067f2c: af00 add r7, sp, #0 8067f2e: 6078 str r0, [r7, #4] 8067f30: 6039 str r1, [r7, #0] uint32_t i, blkCnt; float32_t f1, f2, f3, f4; float32_t mean = 0; 8067f32: f04f 0300 mov.w r3, #0 8067f36: 60fb str r3, [r7, #12] float32_t var = 0; 8067f38: f04f 0300 mov.w r3, #0 8067f3c: 60bb str r3, [r7, #8] float32_t div = 0; 8067f3e: f04f 0300 mov.w r3, #0 8067f42: 62fb str r3, [r7, #44] ; 0x2c float32_t k1 = 0, k2 = 0, sigma = 0; 8067f44: f04f 0300 mov.w r3, #0 8067f48: 62bb str r3, [r7, #40] ; 0x28 8067f4a: f04f 0300 mov.w r3, #0 8067f4e: 627b str r3, [r7, #36] ; 0x24 8067f50: f04f 0300 mov.w r3, #0 8067f54: 633b str r3, [r7, #48] ; 0x30 uint32_t tick = HAL_GetTick(); 8067f56: f04e ff65 bl 80b6e24 8067f5a: 6238 str r0, [r7, #32] if(n > 3) 8067f5c: 683b ldr r3, [r7, #0] 8067f5e: 2b03 cmp r3, #3 8067f60: f240 80ff bls.w 8068162 { arm_mean_f32(data, n, &mean); 8067f64: f107 030c add.w r3, r7, #12 8067f68: 461a mov r2, r3 8067f6a: 6839 ldr r1, [r7, #0] 8067f6c: 6878 ldr r0, [r7, #4] 8067f6e: f066 fa1b bl 80ce3a8 arm_var_f32(data, n, &var); 8067f72: f107 0308 add.w r3, r7, #8 8067f76: 461a mov r2, r3 8067f78: 6839 ldr r1, [r7, #0] 8067f7a: 6878 ldr r0, [r7, #4] 8067f7c: f066 f8bc bl 80ce0f8 k1 = (float32_t) (n * n - 1.0f) / (float32_t) ((n - 2.0f) * (n - 3.0f)); 8067f80: 683b ldr r3, [r7, #0] 8067f82: 683a ldr r2, [r7, #0] 8067f84: fb02 f303 mul.w r3, r2, r3 8067f88: ee07 3a90 vmov s15, r3 8067f8c: eef8 7a67 vcvt.f32.u32 s15, s15 8067f90: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8067f94: ee77 6ac7 vsub.f32 s13, s15, s14 8067f98: 683b ldr r3, [r7, #0] 8067f9a: ee07 3a90 vmov s15, r3 8067f9e: eef8 7a67 vcvt.f32.u32 s15, s15 8067fa2: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8067fa6: ee37 7ac7 vsub.f32 s14, s15, s14 8067faa: 683b ldr r3, [r7, #0] 8067fac: ee07 3a90 vmov s15, r3 8067fb0: eef8 7a67 vcvt.f32.u32 s15, s15 8067fb4: eeb0 6a08 vmov.f32 s12, #8 ; 0x40400000 3.0 8067fb8: ee77 7ac6 vsub.f32 s15, s15, s12 8067fbc: ee27 7a27 vmul.f32 s14, s14, s15 8067fc0: eec6 7a87 vdiv.f32 s15, s13, s14 8067fc4: edc7 7a0a vstr s15, [r7, #40] ; 0x28 k2 = (float32_t) (6.0f / ((float32_t) n + 1.0f)) - 3.0f; 8067fc8: 683b ldr r3, [r7, #0] 8067fca: ee07 3a90 vmov s15, r3 8067fce: eef8 7a67 vcvt.f32.u32 s15, s15 8067fd2: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8067fd6: ee37 7a87 vadd.f32 s14, s15, s14 8067fda: eef1 6a08 vmov.f32 s13, #24 ; 0x40c00000 6.0 8067fde: eec6 7a87 vdiv.f32 s15, s13, s14 8067fe2: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 8067fe6: ee77 7ac7 vsub.f32 s15, s15, s14 8067fea: edc7 7a09 vstr s15, [r7, #36] ; 0x24 blkCnt = n >> 2; 8067fee: 683b ldr r3, [r7, #0] 8067ff0: 089b lsrs r3, r3, #2 8067ff2: 637b str r3, [r7, #52] ; 0x34 while(blkCnt > 0u) 8067ff4: e08a b.n 806810c { f1 = *data++; 8067ff6: 687b ldr r3, [r7, #4] 8067ff8: 1d1a adds r2, r3, #4 8067ffa: 607a str r2, [r7, #4] 8067ffc: 681b ldr r3, [r3, #0] 8067ffe: 61fb str r3, [r7, #28] f1 = (f1 - mean); 8068000: edd7 7a03 vldr s15, [r7, #12] 8068004: ed97 7a07 vldr s14, [r7, #28] 8068008: ee77 7a67 vsub.f32 s15, s14, s15 806800c: edc7 7a07 vstr s15, [r7, #28] f1 = f1 * f1 * f1 * f1; 8068010: ed97 7a07 vldr s14, [r7, #28] 8068014: edd7 7a07 vldr s15, [r7, #28] 8068018: ee27 7a27 vmul.f32 s14, s14, s15 806801c: edd7 7a07 vldr s15, [r7, #28] 8068020: ee67 7a27 vmul.f32 s15, s14, s15 8068024: ed97 7a07 vldr s14, [r7, #28] 8068028: ee67 7a27 vmul.f32 s15, s14, s15 806802c: edc7 7a07 vstr s15, [r7, #28] f2 = *data++; 8068030: 687b ldr r3, [r7, #4] 8068032: 1d1a adds r2, r3, #4 8068034: 607a str r2, [r7, #4] 8068036: 681b ldr r3, [r3, #0] 8068038: 61bb str r3, [r7, #24] f2 = (f2 - mean); 806803a: edd7 7a03 vldr s15, [r7, #12] 806803e: ed97 7a06 vldr s14, [r7, #24] 8068042: ee77 7a67 vsub.f32 s15, s14, s15 8068046: edc7 7a06 vstr s15, [r7, #24] f2 = f2 * f2 * f2 * f2; 806804a: ed97 7a06 vldr s14, [r7, #24] 806804e: edd7 7a06 vldr s15, [r7, #24] 8068052: ee27 7a27 vmul.f32 s14, s14, s15 8068056: edd7 7a06 vldr s15, [r7, #24] 806805a: ee67 7a27 vmul.f32 s15, s14, s15 806805e: ed97 7a06 vldr s14, [r7, #24] 8068062: ee67 7a27 vmul.f32 s15, s14, s15 8068066: edc7 7a06 vstr s15, [r7, #24] f3 = *data++; 806806a: 687b ldr r3, [r7, #4] 806806c: 1d1a adds r2, r3, #4 806806e: 607a str r2, [r7, #4] 8068070: 681b ldr r3, [r3, #0] 8068072: 617b str r3, [r7, #20] f3 = (f3 - mean); 8068074: edd7 7a03 vldr s15, [r7, #12] 8068078: ed97 7a05 vldr s14, [r7, #20] 806807c: ee77 7a67 vsub.f32 s15, s14, s15 8068080: edc7 7a05 vstr s15, [r7, #20] f3 = f3 * f3 * f3 * f3; 8068084: ed97 7a05 vldr s14, [r7, #20] 8068088: edd7 7a05 vldr s15, [r7, #20] 806808c: ee27 7a27 vmul.f32 s14, s14, s15 8068090: edd7 7a05 vldr s15, [r7, #20] 8068094: ee67 7a27 vmul.f32 s15, s14, s15 8068098: ed97 7a05 vldr s14, [r7, #20] 806809c: ee67 7a27 vmul.f32 s15, s14, s15 80680a0: edc7 7a05 vstr s15, [r7, #20] f4 = *data++; 80680a4: 687b ldr r3, [r7, #4] 80680a6: 1d1a adds r2, r3, #4 80680a8: 607a str r2, [r7, #4] 80680aa: 681b ldr r3, [r3, #0] 80680ac: 613b str r3, [r7, #16] f4 = (f4 - mean); 80680ae: edd7 7a03 vldr s15, [r7, #12] 80680b2: ed97 7a04 vldr s14, [r7, #16] 80680b6: ee77 7a67 vsub.f32 s15, s14, s15 80680ba: edc7 7a04 vstr s15, [r7, #16] f4 = f4 * f4 * f4 * f4; 80680be: ed97 7a04 vldr s14, [r7, #16] 80680c2: edd7 7a04 vldr s15, [r7, #16] 80680c6: ee27 7a27 vmul.f32 s14, s14, s15 80680ca: edd7 7a04 vldr s15, [r7, #16] 80680ce: ee67 7a27 vmul.f32 s15, s14, s15 80680d2: ed97 7a04 vldr s14, [r7, #16] 80680d6: ee67 7a27 vmul.f32 s15, s14, s15 80680da: edc7 7a04 vstr s15, [r7, #16] sigma += (f1 + f2 + f3 + f4); 80680de: ed97 7a07 vldr s14, [r7, #28] 80680e2: edd7 7a06 vldr s15, [r7, #24] 80680e6: ee37 7a27 vadd.f32 s14, s14, s15 80680ea: edd7 7a05 vldr s15, [r7, #20] 80680ee: ee37 7a27 vadd.f32 s14, s14, s15 80680f2: edd7 7a04 vldr s15, [r7, #16] 80680f6: ee77 7a27 vadd.f32 s15, s14, s15 80680fa: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80680fe: ee77 7a27 vadd.f32 s15, s14, s15 8068102: edc7 7a0c vstr s15, [r7, #48] ; 0x30 /* Decrement the loop counter */ blkCnt--; 8068106: 6b7b ldr r3, [r7, #52] ; 0x34 8068108: 3b01 subs r3, #1 806810a: 637b str r3, [r7, #52] ; 0x34 while(blkCnt > 0u) 806810c: 6b7b ldr r3, [r7, #52] ; 0x34 806810e: 2b00 cmp r3, #0 8068110: f47f af71 bne.w 8067ff6 } sigma /= (float32_t) n; 8068114: 683b ldr r3, [r7, #0] 8068116: ee07 3a90 vmov s15, r3 806811a: eeb8 7a67 vcvt.f32.u32 s14, s15 806811e: edd7 6a0c vldr s13, [r7, #48] ; 0x30 8068122: eec6 7a87 vdiv.f32 s15, s13, s14 8068126: edc7 7a0c vstr s15, [r7, #48] ; 0x30 f1 = k1 * (sigma / (var * var)) + k2; 806812a: ed97 7a02 vldr s14, [r7, #8] 806812e: edd7 7a02 vldr s15, [r7, #8] 8068132: ee67 7a27 vmul.f32 s15, s14, s15 8068136: edd7 6a0c vldr s13, [r7, #48] ; 0x30 806813a: ee86 7aa7 vdiv.f32 s14, s13, s15 806813e: edd7 7a0a vldr s15, [r7, #40] ; 0x28 8068142: ee27 7a27 vmul.f32 s14, s14, s15 8068146: edd7 7a09 vldr s15, [r7, #36] ; 0x24 806814a: ee77 7a27 vadd.f32 s15, s14, s15 806814e: edc7 7a07 vstr s15, [r7, #28] tick = HAL_GetTick() - tick; 8068152: f04e fe67 bl 80b6e24 8068156: 4602 mov r2, r0 8068158: 6a3b ldr r3, [r7, #32] 806815a: 1ad3 subs r3, r2, r3 806815c: 623b str r3, [r7, #32] return f1; 806815e: 69fb ldr r3, [r7, #28] 8068160: e001 b.n 8068166 } return 0; 8068162: f04f 0300 mov.w r3, #0 8068166: ee07 3a90 vmov s15, r3 } 806816a: eeb0 0a67 vmov.f32 s0, s15 806816e: 3738 adds r7, #56 ; 0x38 8068170: 46bd mov sp, r7 8068172: bd80 pop {r7, pc} 08068174 : 0xAA55, 0x55AA, 0xAA55, 0x55AA, 0xAA55, 0x55AA, 0xAA55, 0x55AA, 0xAA55}; volatile uint16_t RAMin[19]; void RAMTest(void) { 8068174: b580 push {r7, lr} 8068176: b084 sub sp, #16 8068178: af00 add r7, sp, #0 volatile uint32_t i, j, addr; uint8_t *p; memset((( uint8_t *) (((volatile uint32_t) 0x64000000))), 0, 0x000C0000); 806817a: f44f 2240 mov.w r2, #786432 ; 0xc0000 806817e: 2100 movs r1, #0 8068180: f04f 40c8 mov.w r0, #1677721600 ; 0x64000000 8068184: f069 f90c bl 80d13a0 for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 8068188: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 806818c: 60fb str r3, [r7, #12] 806818e: e007 b.n 80681a0 { memcpy((void *)p, (void *)RAMDat, sizeof(RAMDat)); 8068190: 220c movs r2, #12 8068192: 4940 ldr r1, [pc, #256] ; (8068294 ) 8068194: 68f8 ldr r0, [r7, #12] 8068196: f069 f8f8 bl 80d138a p += sizeof(RAMDat); 806819a: 68fb ldr r3, [r7, #12] 806819c: 330c adds r3, #12 806819e: 60fb str r3, [r7, #12] for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 80681a0: 68fb ldr r3, [r7, #12] 80681a2: 4a3d ldr r2, [pc, #244] ; (8068298 ) 80681a4: 4293 cmp r3, r2 80681a6: d9f3 bls.n 8068190 } for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 80681a8: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 80681ac: 60fb str r3, [r7, #12] 80681ae: e00b b.n 80681c8 { if(memcmp((void *)p, (void *)RAMDat, sizeof(RAMDat)) != 0) 80681b0: 220c movs r2, #12 80681b2: 4938 ldr r1, [pc, #224] ; (8068294 ) 80681b4: 68f8 ldr r0, [r7, #12] 80681b6: f069 f8d9 bl 80d136c 80681ba: 4603 mov r3, r0 80681bc: 2b00 cmp r3, #0 80681be: d000 beq.n 80681c2 while(1); 80681c0: e7fe b.n 80681c0 p += sizeof(RAMDat); 80681c2: 68fb ldr r3, [r7, #12] 80681c4: 330c adds r3, #12 80681c6: 60fb str r3, [r7, #12] for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 80681c8: 68fb ldr r3, [r7, #12] 80681ca: 4a33 ldr r2, [pc, #204] ; (8068298 ) 80681cc: 4293 cmp r3, r2 80681ce: d9ef bls.n 80681b0 } for(j = 0; j < 10000; j++) 80681d0: 2300 movs r3, #0 80681d2: 607b str r3, [r7, #4] 80681d4: e052 b.n 806827c { i = 0; addr = 0; 80681d6: 2300 movs r3, #0 80681d8: 60bb str r3, [r7, #8] 80681da: 2300 movs r3, #0 80681dc: 603b str r3, [r7, #0] while(i < 19) 80681de: e01b b.n 8068218 { if(!(i & 1)) 80681e0: 68bb ldr r3, [r7, #8] 80681e2: f003 0301 and.w r3, r3, #1 80681e6: 2b00 cmp r3, #0 80681e8: d105 bne.n 80681f6 addr = (addr << 1) | 0x1; 80681ea: 683b ldr r3, [r7, #0] 80681ec: 005b lsls r3, r3, #1 80681ee: f043 0301 orr.w r3, r3, #1 80681f2: 603b str r3, [r7, #0] 80681f4: e002 b.n 80681fc else addr = (addr << 1); 80681f6: 683b ldr r3, [r7, #0] 80681f8: 005b lsls r3, r3, #1 80681fa: 603b str r3, [r7, #0] RAM_WR32(addr) = RAMout[i]; 80681fc: 683b ldr r3, [r7, #0] 80681fe: 005b lsls r3, r3, #1 8068200: f103 43c8 add.w r3, r3, #1677721600 ; 0x64000000 8068204: 4619 mov r1, r3 8068206: 68bb ldr r3, [r7, #8] 8068208: 4a24 ldr r2, [pc, #144] ; (806829c ) 806820a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 806820e: b29b uxth r3, r3 8068210: 600b str r3, [r1, #0] i++; 8068212: 68bb ldr r3, [r7, #8] 8068214: 3301 adds r3, #1 8068216: 60bb str r3, [r7, #8] while(i < 19) 8068218: 68bb ldr r3, [r7, #8] 806821a: 2b12 cmp r3, #18 806821c: d9e0 bls.n 80681e0 } i = 0; addr = 0; 806821e: 2300 movs r3, #0 8068220: 60bb str r3, [r7, #8] 8068222: 2300 movs r3, #0 8068224: 603b str r3, [r7, #0] while(i < 19) 8068226: e01a b.n 806825e { if(!(i & 1)) 8068228: 68bb ldr r3, [r7, #8] 806822a: f003 0301 and.w r3, r3, #1 806822e: 2b00 cmp r3, #0 8068230: d105 bne.n 806823e addr = (addr << 1) | 0x1; 8068232: 683b ldr r3, [r7, #0] 8068234: 005b lsls r3, r3, #1 8068236: f043 0301 orr.w r3, r3, #1 806823a: 603b str r3, [r7, #0] 806823c: e002 b.n 8068244 else addr = (addr << 1); 806823e: 683b ldr r3, [r7, #0] 8068240: 005b lsls r3, r3, #1 8068242: 603b str r3, [r7, #0] RAMin[i] = RAM_RD32(addr); 8068244: 68bb ldr r3, [r7, #8] 8068246: 683a ldr r2, [r7, #0] 8068248: 0052 lsls r2, r2, #1 806824a: f102 42c8 add.w r2, r2, #1677721600 ; 0x64000000 806824e: 6812 ldr r2, [r2, #0] 8068250: b291 uxth r1, r2 8068252: 4a13 ldr r2, [pc, #76] ; (80682a0 ) 8068254: f822 1013 strh.w r1, [r2, r3, lsl #1] i++; 8068258: 68bb ldr r3, [r7, #8] 806825a: 3301 adds r3, #1 806825c: 60bb str r3, [r7, #8] while(i < 19) 806825e: 68bb ldr r3, [r7, #8] 8068260: 2b12 cmp r3, #18 8068262: d9e1 bls.n 8068228 } if(memcmp((void *)RAMout, (void *)RAMin, sizeof(RAMout)) != 0) 8068264: 2226 movs r2, #38 ; 0x26 8068266: 490e ldr r1, [pc, #56] ; (80682a0 ) 8068268: 480c ldr r0, [pc, #48] ; (806829c ) 806826a: f069 f87f bl 80d136c 806826e: 4603 mov r3, r0 8068270: 2b00 cmp r3, #0 8068272: d000 beq.n 8068276 while(1); 8068274: e7fe b.n 8068274 for(j = 0; j < 10000; j++) 8068276: 687b ldr r3, [r7, #4] 8068278: 3301 adds r3, #1 806827a: 607b str r3, [r7, #4] 806827c: 687b ldr r3, [r7, #4] 806827e: f242 720f movw r2, #9999 ; 0x270f 8068282: 4293 cmp r3, r2 8068284: d9a7 bls.n 80681d6 } i = 0; 8068286: 2300 movs r3, #0 8068288: 60bb str r3, [r7, #8] } 806828a: bf00 nop 806828c: 3710 adds r7, #16 806828e: 46bd mov sp, r7 8068290: bd80 pop {r7, pc} 8068292: bf00 nop 8068294: 20020098 .word 0x20020098 8068298: 640bffff .word 0x640bffff 806829c: 200200a4 .word 0x200200a4 80682a0: 200685b0 .word 0x200685b0 080682a4 : /* RTC init function */ void MX_RTC_Init(void) { 80682a4: b580 push {r7, lr} 80682a6: b08a sub sp, #40 ; 0x28 80682a8: 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(); 80682aa: 4a40 ldr r2, [pc, #256] ; (80683ac ) 80682ac: 4b3f ldr r3, [pc, #252] ; (80683ac ) 80682ae: 6c1b ldr r3, [r3, #64] ; 0x40 80682b0: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80682b4: 6413 str r3, [r2, #64] ; 0x40 80682b6: 4b3d ldr r3, [pc, #244] ; (80683ac ) 80682b8: 6c1b ldr r3, [r3, #64] ; 0x40 80682ba: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80682be: 60bb str r3, [r7, #8] 80682c0: 68bb ldr r3, [r7, #8] __HAL_RCC_BKPSRAM_CLK_ENABLE(); 80682c2: 4a3a ldr r2, [pc, #232] ; (80683ac ) 80682c4: 4b39 ldr r3, [pc, #228] ; (80683ac ) 80682c6: 6b1b ldr r3, [r3, #48] ; 0x30 80682c8: f443 2380 orr.w r3, r3, #262144 ; 0x40000 80682cc: 6313 str r3, [r2, #48] ; 0x30 80682ce: 4b37 ldr r3, [pc, #220] ; (80683ac ) 80682d0: 6b1b ldr r3, [r3, #48] ; 0x30 80682d2: f403 2380 and.w r3, r3, #262144 ; 0x40000 80682d6: 607b str r3, [r7, #4] 80682d8: 687b ldr r3, [r7, #4] HAL_PWR_EnableBkUpAccess(); 80682da: f053 f849 bl 80bb370 hrtc.Instance = RTC; 80682de: 4b34 ldr r3, [pc, #208] ; (80683b0 ) 80682e0: 4a34 ldr r2, [pc, #208] ; (80683b4 ) 80682e2: 601a str r2, [r3, #0] hrtc.Init.HourFormat = RTC_HOURFORMAT_24; 80682e4: 4b32 ldr r3, [pc, #200] ; (80683b0 ) 80682e6: 2200 movs r2, #0 80682e8: 605a str r2, [r3, #4] hrtc.Init.AsynchPrediv = RTC_ASYNCH_PREDIV; 80682ea: 4b31 ldr r3, [pc, #196] ; (80683b0 ) 80682ec: 227f movs r2, #127 ; 0x7f 80682ee: 609a str r2, [r3, #8] hrtc.Init.SynchPrediv = RTC_SYNCH_PREDIV; 80682f0: 4b2f ldr r3, [pc, #188] ; (80683b0 ) 80682f2: 22ff movs r2, #255 ; 0xff 80682f4: 60da str r2, [r3, #12] hrtc.Init.OutPut = RTC_OUTPUT_DISABLE; 80682f6: 4b2e ldr r3, [pc, #184] ; (80683b0 ) 80682f8: 2200 movs r2, #0 80682fa: 611a str r2, [r3, #16] hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH; 80682fc: 4b2c ldr r3, [pc, #176] ; (80683b0 ) 80682fe: 2200 movs r2, #0 8068300: 615a str r2, [r3, #20] hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN; 8068302: 4b2b ldr r3, [pc, #172] ; (80683b0 ) 8068304: 2200 movs r2, #0 8068306: 619a str r2, [r3, #24] if (HAL_RTC_Init(&hrtc) != HAL_OK) 8068308: 4829 ldr r0, [pc, #164] ; (80683b0 ) 806830a: f054 f913 bl 80bc534 806830e: 4603 mov r3, r0 8068310: 2b00 cmp r3, #0 8068312: d001 beq.n 8068318 { Error_Handler(); 8068314: f7ed fccc bl 8055cb0 } if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR1) == 0x3264) 8068318: 2101 movs r1, #1 806831a: 4825 ldr r0, [pc, #148] ; (80683b0 ) 806831c: f054 fc5a bl 80bcbd4 8068320: 4602 mov r2, r0 8068322: f243 2364 movw r3, #12900 ; 0x3264 8068326: 429a cmp r2, r3 8068328: d106 bne.n 8068338 { __HAL_RCC_CLEAR_RESET_FLAGS(); 806832a: 4a20 ldr r2, [pc, #128] ; (80683ac ) 806832c: 4b1f ldr r3, [pc, #124] ; (80683ac ) 806832e: 6f5b ldr r3, [r3, #116] ; 0x74 8068330: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 8068334: 6753 str r3, [r2, #116] ; 0x74 /*if (HAL_RTCEx_SetWakeUpTimer(&hrtc, 0x7ff, RTC_WAKEUPCLOCK_RTCCLK_DIV16) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); }*/ } 8068336: e034 b.n 80683a2 sTime.Hours = 0; 8068338: 2300 movs r3, #0 806833a: 743b strb r3, [r7, #16] sTime.Minutes = 0; 806833c: 2300 movs r3, #0 806833e: 747b strb r3, [r7, #17] sTime.Seconds = 0; 8068340: 2300 movs r3, #0 8068342: 74bb strb r3, [r7, #18] sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE; 8068344: 2300 movs r3, #0 8068346: 623b str r3, [r7, #32] sTime.StoreOperation = RTC_STOREOPERATION_RESET; 8068348: 2300 movs r3, #0 806834a: 627b str r3, [r7, #36] ; 0x24 if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BIN) != HAL_OK) { 806834c: f107 0310 add.w r3, r7, #16 8068350: 2200 movs r2, #0 8068352: 4619 mov r1, r3 8068354: 4816 ldr r0, [pc, #88] ; (80683b0 ) 8068356: f054 f97f bl 80bc658 806835a: 4603 mov r3, r0 806835c: 2b00 cmp r3, #0 806835e: d001 beq.n 8068364 Error_Handler(); 8068360: f7ed fca6 bl 8055cb0 sDate.WeekDay = RTC_WEEKDAY_FRIDAY; 8068364: 2305 movs r3, #5 8068366: 733b strb r3, [r7, #12] sDate.Month = RTC_MONTH_JANUARY; 8068368: 2301 movs r3, #1 806836a: 737b strb r3, [r7, #13] sDate.Date = 1; 806836c: 2301 movs r3, #1 806836e: 73bb strb r3, [r7, #14] sDate.Year = 21; 8068370: 2315 movs r3, #21 8068372: 73fb strb r3, [r7, #15] if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BIN) != HAL_OK) { 8068374: f107 030c add.w r3, r7, #12 8068378: 2200 movs r2, #0 806837a: 4619 mov r1, r3 806837c: 480c ldr r0, [pc, #48] ; (80683b0 ) 806837e: f054 fa87 bl 80bc890 8068382: 4603 mov r3, r0 8068384: 2b00 cmp r3, #0 8068386: d001 beq.n 806838c Error_Handler(); 8068388: f7ed fc92 bl 8055cb0 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR1, 0x3264); 806838c: f243 2264 movw r2, #12900 ; 0x3264 8068390: 2101 movs r1, #1 8068392: 4807 ldr r0, [pc, #28] ; (80683b0 ) 8068394: f054 fc04 bl 80bcba0 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, 0); 8068398: 2200 movs r2, #0 806839a: 2102 movs r1, #2 806839c: 4804 ldr r0, [pc, #16] ; (80683b0 ) 806839e: f054 fbff bl 80bcba0 } 80683a2: bf00 nop 80683a4: 3728 adds r7, #40 ; 0x28 80683a6: 46bd mov sp, r7 80683a8: bd80 pop {r7, pc} 80683aa: bf00 nop 80683ac: 40023800 .word 0x40023800 80683b0: 200685d8 .word 0x200685d8 80683b4: 40002800 .word 0x40002800 080683b8 : void HAL_RTC_MspInit(RTC_HandleTypeDef* rtcHandle) { 80683b8: b480 push {r7} 80683ba: b083 sub sp, #12 80683bc: af00 add r7, sp, #0 80683be: 6078 str r0, [r7, #4] if(rtcHandle->Instance==RTC) 80683c0: 687b ldr r3, [r7, #4] 80683c2: 681b ldr r3, [r3, #0] 80683c4: 4a07 ldr r2, [pc, #28] ; (80683e4 ) 80683c6: 4293 cmp r3, r2 80683c8: d105 bne.n 80683d6 { __HAL_RCC_RTC_ENABLE(); 80683ca: 4a07 ldr r2, [pc, #28] ; (80683e8 ) 80683cc: 4b06 ldr r3, [pc, #24] ; (80683e8 ) 80683ce: 6f1b ldr r3, [r3, #112] ; 0x70 80683d0: f443 4300 orr.w r3, r3, #32768 ; 0x8000 80683d4: 6713 str r3, [r2, #112] ; 0x70 } } 80683d6: bf00 nop 80683d8: 370c adds r7, #12 80683da: 46bd mov sp, r7 80683dc: f85d 7b04 ldr.w r7, [sp], #4 80683e0: 4770 bx lr 80683e2: bf00 nop 80683e4: 40002800 .word 0x40002800 80683e8: 40023800 .word 0x40023800 080683ec : void GetDateTimeFromUnix(TimeDate_TypeDef* data, uint32_t unix) { 80683ec: b480 push {r7} 80683ee: b083 sub sp, #12 80683f0: af00 add r7, sp, #0 80683f2: 6078 str r0, [r7, #4] 80683f4: 6039 str r1, [r7, #0] data->Year = (unix >> 25) - 20; 80683f6: 683b ldr r3, [r7, #0] 80683f8: 0e5b lsrs r3, r3, #25 80683fa: b2db uxtb r3, r3 80683fc: 3b14 subs r3, #20 80683fe: b2da uxtb r2, r3 8068400: 687b ldr r3, [r7, #4] 8068402: 709a strb r2, [r3, #2] data->Month = (unix >> 21) & 0xf; 8068404: 683b ldr r3, [r7, #0] 8068406: 0d5b lsrs r3, r3, #21 8068408: b2db uxtb r3, r3 806840a: f003 030f and.w r3, r3, #15 806840e: b2da uxtb r2, r3 8068410: 687b ldr r3, [r7, #4] 8068412: 701a strb r2, [r3, #0] data->Date = (unix >> 16) & 0x1f; 8068414: 683b ldr r3, [r7, #0] 8068416: 0c1b lsrs r3, r3, #16 8068418: b2db uxtb r3, r3 806841a: f003 031f and.w r3, r3, #31 806841e: b2da uxtb r2, r3 8068420: 687b ldr r3, [r7, #4] 8068422: 705a strb r2, [r3, #1] data->Hours = (unix >> 11) & 0x1f; 8068424: 683b ldr r3, [r7, #0] 8068426: 0adb lsrs r3, r3, #11 8068428: b2db uxtb r3, r3 806842a: f003 031f and.w r3, r3, #31 806842e: b2da uxtb r2, r3 8068430: 687b ldr r3, [r7, #4] 8068432: 70da strb r2, [r3, #3] data->Minutes = (unix >> 5) & 0x3f; 8068434: 683b ldr r3, [r7, #0] 8068436: 095b lsrs r3, r3, #5 8068438: b2db uxtb r3, r3 806843a: f003 033f and.w r3, r3, #63 ; 0x3f 806843e: b2da uxtb r2, r3 8068440: 687b ldr r3, [r7, #4] 8068442: 711a strb r2, [r3, #4] data->Seconds = ((unix << 1) & 0x3f) + 1; 8068444: 683b ldr r3, [r7, #0] 8068446: b2db uxtb r3, r3 8068448: 005b lsls r3, r3, #1 806844a: b2db uxtb r3, r3 806844c: f003 033f and.w r3, r3, #63 ; 0x3f 8068450: b2db uxtb r3, r3 8068452: 3301 adds r3, #1 8068454: b2da uxtb r2, r3 8068456: 687b ldr r3, [r7, #4] 8068458: 715a strb r2, [r3, #5] } 806845a: bf00 nop 806845c: 370c adds r7, #12 806845e: 46bd mov sp, r7 8068460: f85d 7b04 ldr.w r7, [sp], #4 8068464: 4770 bx lr ... 08068468 : | ((DWORD)Sec >> 1); /* Sec 0 */ } void ChangeTime(int8_t chHours, int8_t chMinutes) { 8068468: b580 push {r7, lr} 806846a: b082 sub sp, #8 806846c: af00 add r7, sp, #0 806846e: 4603 mov r3, r0 8068470: 460a mov r2, r1 8068472: 71fb strb r3, [r7, #7] 8068474: 4613 mov r3, r2 8068476: 71bb strb r3, [r7, #6] HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 8068478: 2200 movs r2, #0 806847a: 492e ldr r1, [pc, #184] ; (8068534 ) 806847c: 482e ldr r0, [pc, #184] ; (8068538 ) 806847e: f054 f9a9 bl 80bc7d4 if(chHours == -1) 8068482: f997 3007 ldrsb.w r3, [r7, #7] 8068486: f1b3 3fff cmp.w r3, #4294967295 806848a: d10e bne.n 80684aa { if(RTC_TimeStruct.Hours > 0) 806848c: 4b29 ldr r3, [pc, #164] ; (8068534 ) 806848e: 781b ldrb r3, [r3, #0] 8068490: 2b00 cmp r3, #0 8068492: d006 beq.n 80684a2 RTC_TimeStruct.Hours--; 8068494: 4b27 ldr r3, [pc, #156] ; (8068534 ) 8068496: 781b ldrb r3, [r3, #0] 8068498: 3b01 subs r3, #1 806849a: b2da uxtb r2, r3 806849c: 4b25 ldr r3, [pc, #148] ; (8068534 ) 806849e: 701a strb r2, [r3, #0] 80684a0: e03c b.n 806851c else RTC_TimeStruct.Hours = 23; 80684a2: 4b24 ldr r3, [pc, #144] ; (8068534 ) 80684a4: 2217 movs r2, #23 80684a6: 701a strb r2, [r3, #0] 80684a8: e038 b.n 806851c } else if(chHours == 1) 80684aa: f997 3007 ldrsb.w r3, [r7, #7] 80684ae: 2b01 cmp r3, #1 80684b0: d10e bne.n 80684d0 { if(RTC_TimeStruct.Hours < 23) 80684b2: 4b20 ldr r3, [pc, #128] ; (8068534 ) 80684b4: 781b ldrb r3, [r3, #0] 80684b6: 2b16 cmp r3, #22 80684b8: d806 bhi.n 80684c8 RTC_TimeStruct.Hours++; 80684ba: 4b1e ldr r3, [pc, #120] ; (8068534 ) 80684bc: 781b ldrb r3, [r3, #0] 80684be: 3301 adds r3, #1 80684c0: b2da uxtb r2, r3 80684c2: 4b1c ldr r3, [pc, #112] ; (8068534 ) 80684c4: 701a strb r2, [r3, #0] 80684c6: e029 b.n 806851c else RTC_TimeStruct.Hours = 0; 80684c8: 4b1a ldr r3, [pc, #104] ; (8068534 ) 80684ca: 2200 movs r2, #0 80684cc: 701a strb r2, [r3, #0] 80684ce: e025 b.n 806851c } else if(chMinutes == -1) 80684d0: f997 3006 ldrsb.w r3, [r7, #6] 80684d4: f1b3 3fff cmp.w r3, #4294967295 80684d8: d10e bne.n 80684f8 { if(RTC_TimeStruct.Minutes > 0) 80684da: 4b16 ldr r3, [pc, #88] ; (8068534 ) 80684dc: 785b ldrb r3, [r3, #1] 80684de: 2b00 cmp r3, #0 80684e0: d006 beq.n 80684f0 RTC_TimeStruct.Minutes--; 80684e2: 4b14 ldr r3, [pc, #80] ; (8068534 ) 80684e4: 785b ldrb r3, [r3, #1] 80684e6: 3b01 subs r3, #1 80684e8: b2da uxtb r2, r3 80684ea: 4b12 ldr r3, [pc, #72] ; (8068534 ) 80684ec: 705a strb r2, [r3, #1] 80684ee: e015 b.n 806851c else RTC_TimeStruct.Minutes = 59; 80684f0: 4b10 ldr r3, [pc, #64] ; (8068534 ) 80684f2: 223b movs r2, #59 ; 0x3b 80684f4: 705a strb r2, [r3, #1] 80684f6: e011 b.n 806851c } else if(chMinutes == 1) 80684f8: f997 3006 ldrsb.w r3, [r7, #6] 80684fc: 2b01 cmp r3, #1 80684fe: d10d bne.n 806851c { if(RTC_TimeStruct.Minutes < 59) 8068500: 4b0c ldr r3, [pc, #48] ; (8068534 ) 8068502: 785b ldrb r3, [r3, #1] 8068504: 2b3a cmp r3, #58 ; 0x3a 8068506: d806 bhi.n 8068516 RTC_TimeStruct.Minutes++; 8068508: 4b0a ldr r3, [pc, #40] ; (8068534 ) 806850a: 785b ldrb r3, [r3, #1] 806850c: 3301 adds r3, #1 806850e: b2da uxtb r2, r3 8068510: 4b08 ldr r3, [pc, #32] ; (8068534 ) 8068512: 705a strb r2, [r3, #1] 8068514: e002 b.n 806851c else RTC_TimeStruct.Minutes = 0; 8068516: 4b07 ldr r3, [pc, #28] ; (8068534 ) 8068518: 2200 movs r2, #0 806851a: 705a strb r2, [r3, #1] } RTC_TimeStruct.Seconds = 0; 806851c: 4b05 ldr r3, [pc, #20] ; (8068534 ) 806851e: 2200 movs r2, #0 8068520: 709a strb r2, [r3, #2] HAL_RTC_SetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 8068522: 2200 movs r2, #0 8068524: 4903 ldr r1, [pc, #12] ; (8068534 ) 8068526: 4804 ldr r0, [pc, #16] ; (8068538 ) 8068528: f054 f896 bl 80bc658 } 806852c: bf00 nop 806852e: 3708 adds r7, #8 8068530: 46bd mov sp, r7 8068532: bd80 pop {r7, pc} 8068534: 20025cb0 .word 0x20025cb0 8068538: 200685d8 .word 0x200685d8 0806853c : void ChangeDate(int8_t chDay, int8_t chMonth, int8_t chYear) { 806853c: b580 push {r7, lr} 806853e: b086 sub sp, #24 8068540: af00 add r7, sp, #0 8068542: 4603 mov r3, r0 8068544: 71fb strb r3, [r7, #7] 8068546: 460b mov r3, r1 8068548: 71bb strb r3, [r7, #6] 806854a: 4613 mov r3, r2 806854c: 717b strb r3, [r7, #5] #define VISOKOSNIY (1) uint32_t j, k; HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 806854e: 2200 movs r2, #0 8068550: 49a1 ldr r1, [pc, #644] ; (80687d8 ) 8068552: 48a2 ldr r0, [pc, #648] ; (80687dc ) 8068554: f054 fa44 bl 80bc9e0 j = 0; 8068558: 2300 movs r3, #0 806855a: 617b str r3, [r7, #20] k = RTC_DateStruct.Year + 2000; 806855c: 4b9e ldr r3, [pc, #632] ; (80687d8 ) 806855e: 78db ldrb r3, [r3, #3] 8068560: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8068564: 613b str r3, [r7, #16] if(!(k % 4)) 8068566: 693b ldr r3, [r7, #16] 8068568: f003 0303 and.w r3, r3, #3 806856c: 2b00 cmp r3, #0 806856e: d11b bne.n 80685a8 { if(k % 100) j = VISOKOSNIY; 8068570: 693a ldr r2, [r7, #16] 8068572: 4b9b ldr r3, [pc, #620] ; (80687e0 ) 8068574: fba3 1302 umull r1, r3, r3, r2 8068578: 095b lsrs r3, r3, #5 806857a: 2164 movs r1, #100 ; 0x64 806857c: fb01 f303 mul.w r3, r1, r3 8068580: 1ad3 subs r3, r2, r3 8068582: 2b00 cmp r3, #0 8068584: d002 beq.n 806858c 8068586: 2301 movs r3, #1 8068588: 617b str r3, [r7, #20] 806858a: e00d b.n 80685a8 else if(!(k % 400)) j = VISOKOSNIY; 806858c: 693a ldr r2, [r7, #16] 806858e: 4b94 ldr r3, [pc, #592] ; (80687e0 ) 8068590: fba3 1302 umull r1, r3, r3, r2 8068594: 09db lsrs r3, r3, #7 8068596: f44f 71c8 mov.w r1, #400 ; 0x190 806859a: fb01 f303 mul.w r3, r1, r3 806859e: 1ad3 subs r3, r2, r3 80685a0: 2b00 cmp r3, #0 80685a2: d101 bne.n 80685a8 80685a4: 2301 movs r3, #1 80685a6: 617b str r3, [r7, #20] } if(chDay == -1) 80685a8: f997 3007 ldrsb.w r3, [r7, #7] 80685ac: f1b3 3fff cmp.w r3, #4294967295 80685b0: d13d bne.n 806862e { if(RTC_DateStruct.Date > 1) 80685b2: 4b89 ldr r3, [pc, #548] ; (80687d8 ) 80685b4: 789b ldrb r3, [r3, #2] 80685b6: 2b01 cmp r3, #1 80685b8: d906 bls.n 80685c8 RTC_DateStruct.Date--; 80685ba: 4b87 ldr r3, [pc, #540] ; (80687d8 ) 80685bc: 789b ldrb r3, [r3, #2] 80685be: 3b01 subs r3, #1 80685c0: b2da uxtb r2, r3 80685c2: 4b85 ldr r3, [pc, #532] ; (80687d8 ) 80685c4: 709a strb r2, [r3, #2] 80685c6: e233 b.n 8068a30 else { if(RTC_DateStruct.Month < 8) 80685c8: 4b83 ldr r3, [pc, #524] ; (80687d8 ) 80685ca: 785b ldrb r3, [r3, #1] 80685cc: 2b07 cmp r3, #7 80685ce: d820 bhi.n 8068612 { if(RTC_DateStruct.Month & 0x1) 80685d0: 4b81 ldr r3, [pc, #516] ; (80687d8 ) 80685d2: 785b ldrb r3, [r3, #1] 80685d4: f003 0301 and.w r3, r3, #1 80685d8: 2b00 cmp r3, #0 80685da: d003 beq.n 80685e4 RTC_DateStruct.Date = 31; 80685dc: 4b7e ldr r3, [pc, #504] ; (80687d8 ) 80685de: 221f movs r2, #31 80685e0: 709a strb r2, [r3, #2] 80685e2: e225 b.n 8068a30 else { if(( j ) && (RTC_DateStruct.Month == 2)) 80685e4: 697b ldr r3, [r7, #20] 80685e6: 2b00 cmp r3, #0 80685e8: d007 beq.n 80685fa 80685ea: 4b7b ldr r3, [pc, #492] ; (80687d8 ) 80685ec: 785b ldrb r3, [r3, #1] 80685ee: 2b02 cmp r3, #2 80685f0: d103 bne.n 80685fa RTC_DateStruct.Date = 29; 80685f2: 4b79 ldr r3, [pc, #484] ; (80687d8 ) 80685f4: 221d movs r2, #29 80685f6: 709a strb r2, [r3, #2] 80685f8: e21a b.n 8068a30 else { if(RTC_DateStruct.Month == 2) 80685fa: 4b77 ldr r3, [pc, #476] ; (80687d8 ) 80685fc: 785b ldrb r3, [r3, #1] 80685fe: 2b02 cmp r3, #2 8068600: d103 bne.n 806860a RTC_DateStruct.Date = 28; 8068602: 4b75 ldr r3, [pc, #468] ; (80687d8 ) 8068604: 221c movs r2, #28 8068606: 709a strb r2, [r3, #2] 8068608: e212 b.n 8068a30 else RTC_DateStruct.Date = 30; 806860a: 4b73 ldr r3, [pc, #460] ; (80687d8 ) 806860c: 221e movs r2, #30 806860e: 709a strb r2, [r3, #2] 8068610: e20e b.n 8068a30 } } } else { if(RTC_DateStruct.Month & 0x1) 8068612: 4b71 ldr r3, [pc, #452] ; (80687d8 ) 8068614: 785b ldrb r3, [r3, #1] 8068616: f003 0301 and.w r3, r3, #1 806861a: 2b00 cmp r3, #0 806861c: d003 beq.n 8068626 RTC_DateStruct.Date = 30; 806861e: 4b6e ldr r3, [pc, #440] ; (80687d8 ) 8068620: 221e movs r2, #30 8068622: 709a strb r2, [r3, #2] 8068624: e204 b.n 8068a30 else RTC_DateStruct.Date = 31; 8068626: 4b6c ldr r3, [pc, #432] ; (80687d8 ) 8068628: 221f movs r2, #31 806862a: 709a strb r2, [r3, #2] 806862c: e200 b.n 8068a30 } } } else if(chDay == 1) 806862e: f997 3007 ldrsb.w r3, [r7, #7] 8068632: 2b01 cmp r3, #1 8068634: d13c bne.n 80686b0 { if(RTC_DateStruct.Month < 8) 8068636: 4b68 ldr r3, [pc, #416] ; (80687d8 ) 8068638: 785b ldrb r3, [r3, #1] 806863a: 2b07 cmp r3, #7 806863c: d81c bhi.n 8068678 { if(RTC_DateStruct.Month & 0x1) 806863e: 4b66 ldr r3, [pc, #408] ; (80687d8 ) 8068640: 785b ldrb r3, [r3, #1] 8068642: f003 0301 and.w r3, r3, #1 8068646: 2b00 cmp r3, #0 8068648: d002 beq.n 8068650 k = 31; 806864a: 231f movs r3, #31 806864c: 613b str r3, [r7, #16] 806864e: e01e b.n 806868e else { if(( j ) && (RTC_DateStruct.Month == 2)) 8068650: 697b ldr r3, [r7, #20] 8068652: 2b00 cmp r3, #0 8068654: d006 beq.n 8068664 8068656: 4b60 ldr r3, [pc, #384] ; (80687d8 ) 8068658: 785b ldrb r3, [r3, #1] 806865a: 2b02 cmp r3, #2 806865c: d102 bne.n 8068664 k = 29; 806865e: 231d movs r3, #29 8068660: 613b str r3, [r7, #16] 8068662: e014 b.n 806868e else { if(RTC_DateStruct.Month == 2) 8068664: 4b5c ldr r3, [pc, #368] ; (80687d8 ) 8068666: 785b ldrb r3, [r3, #1] 8068668: 2b02 cmp r3, #2 806866a: d102 bne.n 8068672 k = 28; 806866c: 231c movs r3, #28 806866e: 613b str r3, [r7, #16] 8068670: e00d b.n 806868e else k = 30; 8068672: 231e movs r3, #30 8068674: 613b str r3, [r7, #16] 8068676: e00a b.n 806868e } } } else { if(RTC_DateStruct.Month & 0x1) 8068678: 4b57 ldr r3, [pc, #348] ; (80687d8 ) 806867a: 785b ldrb r3, [r3, #1] 806867c: f003 0301 and.w r3, r3, #1 8068680: 2b00 cmp r3, #0 8068682: d002 beq.n 806868a k = 30; 8068684: 231e movs r3, #30 8068686: 613b str r3, [r7, #16] 8068688: e001 b.n 806868e else k = 31; 806868a: 231f movs r3, #31 806868c: 613b str r3, [r7, #16] } if(RTC_DateStruct.Date < k) 806868e: 4b52 ldr r3, [pc, #328] ; (80687d8 ) 8068690: 789b ldrb r3, [r3, #2] 8068692: 461a mov r2, r3 8068694: 693b ldr r3, [r7, #16] 8068696: 429a cmp r2, r3 8068698: d206 bcs.n 80686a8 RTC_DateStruct.Date++; 806869a: 4b4f ldr r3, [pc, #316] ; (80687d8 ) 806869c: 789b ldrb r3, [r3, #2] 806869e: 3301 adds r3, #1 80686a0: b2da uxtb r2, r3 80686a2: 4b4d ldr r3, [pc, #308] ; (80687d8 ) 80686a4: 709a strb r2, [r3, #2] 80686a6: e1c3 b.n 8068a30 else RTC_DateStruct.Date = 1; 80686a8: 4b4b ldr r3, [pc, #300] ; (80687d8 ) 80686aa: 2201 movs r2, #1 80686ac: 709a strb r2, [r3, #2] 80686ae: e1bf b.n 8068a30 } else if(chMonth == -1) 80686b0: f997 3006 ldrsb.w r3, [r7, #6] 80686b4: f1b3 3fff cmp.w r3, #4294967295 80686b8: d157 bne.n 806876a { if(RTC_DateStruct.Month > 1) 80686ba: 4b47 ldr r3, [pc, #284] ; (80687d8 ) 80686bc: 785b ldrb r3, [r3, #1] 80686be: 2b01 cmp r3, #1 80686c0: d906 bls.n 80686d0 RTC_DateStruct.Month--; 80686c2: 4b45 ldr r3, [pc, #276] ; (80687d8 ) 80686c4: 785b ldrb r3, [r3, #1] 80686c6: 3b01 subs r3, #1 80686c8: b2da uxtb r2, r3 80686ca: 4b43 ldr r3, [pc, #268] ; (80687d8 ) 80686cc: 705a strb r2, [r3, #1] 80686ce: e002 b.n 80686d6 else RTC_DateStruct.Month = 12; 80686d0: 4b41 ldr r3, [pc, #260] ; (80687d8 ) 80686d2: 220c movs r2, #12 80686d4: 705a strb r2, [r3, #1] if(RTC_DateStruct.Month < 8) 80686d6: 4b40 ldr r3, [pc, #256] ; (80687d8 ) 80686d8: 785b ldrb r3, [r3, #1] 80686da: 2b07 cmp r3, #7 80686dc: d835 bhi.n 806874a { if(!(RTC_DateStruct.Month & 0x1)) 80686de: 4b3e ldr r3, [pc, #248] ; (80687d8 ) 80686e0: 785b ldrb r3, [r3, #1] 80686e2: f003 0301 and.w r3, r3, #1 80686e6: 2b00 cmp r3, #0 80686e8: f040 81a2 bne.w 8068a30 { if(j) 80686ec: 697b ldr r3, [r7, #20] 80686ee: 2b00 cmp r3, #0 80686f0: d015 beq.n 806871e { if(RTC_DateStruct.Month == 2) 80686f2: 4b39 ldr r3, [pc, #228] ; (80687d8 ) 80686f4: 785b ldrb r3, [r3, #1] 80686f6: 2b02 cmp r3, #2 80686f8: d108 bne.n 806870c { if(RTC_DateStruct.Date > 29) 80686fa: 4b37 ldr r3, [pc, #220] ; (80687d8 ) 80686fc: 789b ldrb r3, [r3, #2] 80686fe: 2b1d cmp r3, #29 8068700: f240 8196 bls.w 8068a30 RTC_DateStruct.Date = 29; 8068704: 4b34 ldr r3, [pc, #208] ; (80687d8 ) 8068706: 221d movs r2, #29 8068708: 709a strb r2, [r3, #2] 806870a: e191 b.n 8068a30 } else { if(RTC_DateStruct.Date > 30) 806870c: 4b32 ldr r3, [pc, #200] ; (80687d8 ) 806870e: 789b ldrb r3, [r3, #2] 8068710: 2b1e cmp r3, #30 8068712: f240 818d bls.w 8068a30 RTC_DateStruct.Date = 30; 8068716: 4b30 ldr r3, [pc, #192] ; (80687d8 ) 8068718: 221e movs r2, #30 806871a: 709a strb r2, [r3, #2] 806871c: e188 b.n 8068a30 } } else { if(RTC_DateStruct.Month == 2) 806871e: 4b2e ldr r3, [pc, #184] ; (80687d8 ) 8068720: 785b ldrb r3, [r3, #1] 8068722: 2b02 cmp r3, #2 8068724: d108 bne.n 8068738 { if(RTC_DateStruct.Date > 28) 8068726: 4b2c ldr r3, [pc, #176] ; (80687d8 ) 8068728: 789b ldrb r3, [r3, #2] 806872a: 2b1c cmp r3, #28 806872c: f240 8180 bls.w 8068a30 RTC_DateStruct.Date = 28; 8068730: 4b29 ldr r3, [pc, #164] ; (80687d8 ) 8068732: 221c movs r2, #28 8068734: 709a strb r2, [r3, #2] 8068736: e17b b.n 8068a30 } else { if(RTC_DateStruct.Date > 30) 8068738: 4b27 ldr r3, [pc, #156] ; (80687d8 ) 806873a: 789b ldrb r3, [r3, #2] 806873c: 2b1e cmp r3, #30 806873e: f240 8177 bls.w 8068a30 RTC_DateStruct.Date = 30; 8068742: 4b25 ldr r3, [pc, #148] ; (80687d8 ) 8068744: 221e movs r2, #30 8068746: 709a strb r2, [r3, #2] 8068748: e172 b.n 8068a30 } } } else { if(RTC_DateStruct.Month & 0x1) 806874a: 4b23 ldr r3, [pc, #140] ; (80687d8 ) 806874c: 785b ldrb r3, [r3, #1] 806874e: f003 0301 and.w r3, r3, #1 8068752: 2b00 cmp r3, #0 8068754: f000 816c beq.w 8068a30 { if(RTC_DateStruct.Date > 30) 8068758: 4b1f ldr r3, [pc, #124] ; (80687d8 ) 806875a: 789b ldrb r3, [r3, #2] 806875c: 2b1e cmp r3, #30 806875e: f240 8167 bls.w 8068a30 RTC_DateStruct.Date = 30; 8068762: 4b1d ldr r3, [pc, #116] ; (80687d8 ) 8068764: 221e movs r2, #30 8068766: 709a strb r2, [r3, #2] 8068768: e162 b.n 8068a30 } } } else if(chMonth == 1) 806876a: f997 3006 ldrsb.w r3, [r7, #6] 806876e: 2b01 cmp r3, #1 8068770: d15e bne.n 8068830 { if(RTC_DateStruct.Month < 12) 8068772: 4b19 ldr r3, [pc, #100] ; (80687d8 ) 8068774: 785b ldrb r3, [r3, #1] 8068776: 2b0b cmp r3, #11 8068778: d806 bhi.n 8068788 RTC_DateStruct.Month++; 806877a: 4b17 ldr r3, [pc, #92] ; (80687d8 ) 806877c: 785b ldrb r3, [r3, #1] 806877e: 3301 adds r3, #1 8068780: b2da uxtb r2, r3 8068782: 4b15 ldr r3, [pc, #84] ; (80687d8 ) 8068784: 705a strb r2, [r3, #1] 8068786: e002 b.n 806878e else RTC_DateStruct.Month = 1; 8068788: 4b13 ldr r3, [pc, #76] ; (80687d8 ) 806878a: 2201 movs r2, #1 806878c: 705a strb r2, [r3, #1] if(RTC_DateStruct.Month < 8) 806878e: 4b12 ldr r3, [pc, #72] ; (80687d8 ) 8068790: 785b ldrb r3, [r3, #1] 8068792: 2b07 cmp r3, #7 8068794: d83c bhi.n 8068810 { if(!(RTC_DateStruct.Month & 0x1)) 8068796: 4b10 ldr r3, [pc, #64] ; (80687d8 ) 8068798: 785b ldrb r3, [r3, #1] 806879a: f003 0301 and.w r3, r3, #1 806879e: 2b00 cmp r3, #0 80687a0: f040 8146 bne.w 8068a30 { if(j) 80687a4: 697b ldr r3, [r7, #20] 80687a6: 2b00 cmp r3, #0 80687a8: d01c beq.n 80687e4 { if(RTC_DateStruct.Month == 2) 80687aa: 4b0b ldr r3, [pc, #44] ; (80687d8 ) 80687ac: 785b ldrb r3, [r3, #1] 80687ae: 2b02 cmp r3, #2 80687b0: d108 bne.n 80687c4 { if(RTC_DateStruct.Date > 29) 80687b2: 4b09 ldr r3, [pc, #36] ; (80687d8 ) 80687b4: 789b ldrb r3, [r3, #2] 80687b6: 2b1d cmp r3, #29 80687b8: f240 813a bls.w 8068a30 RTC_DateStruct.Date = 29; 80687bc: 4b06 ldr r3, [pc, #24] ; (80687d8 ) 80687be: 221d movs r2, #29 80687c0: 709a strb r2, [r3, #2] 80687c2: e135 b.n 8068a30 } else { if(RTC_DateStruct.Date > 30) 80687c4: 4b04 ldr r3, [pc, #16] ; (80687d8 ) 80687c6: 789b ldrb r3, [r3, #2] 80687c8: 2b1e cmp r3, #30 80687ca: f240 8131 bls.w 8068a30 RTC_DateStruct.Date = 30; 80687ce: 4b02 ldr r3, [pc, #8] ; (80687d8 ) 80687d0: 221e movs r2, #30 80687d2: 709a strb r2, [r3, #2] 80687d4: e12c b.n 8068a30 80687d6: bf00 nop 80687d8: 20025d34 .word 0x20025d34 80687dc: 200685d8 .word 0x200685d8 80687e0: 51eb851f .word 0x51eb851f } } else { if(RTC_DateStruct.Month == 2) 80687e4: 4ba1 ldr r3, [pc, #644] ; (8068a6c ) 80687e6: 785b ldrb r3, [r3, #1] 80687e8: 2b02 cmp r3, #2 80687ea: d108 bne.n 80687fe { if(RTC_DateStruct.Date > 28) 80687ec: 4b9f ldr r3, [pc, #636] ; (8068a6c ) 80687ee: 789b ldrb r3, [r3, #2] 80687f0: 2b1c cmp r3, #28 80687f2: f240 811d bls.w 8068a30 RTC_DateStruct.Date = 28; 80687f6: 4b9d ldr r3, [pc, #628] ; (8068a6c ) 80687f8: 221c movs r2, #28 80687fa: 709a strb r2, [r3, #2] 80687fc: e118 b.n 8068a30 } else { if(RTC_DateStruct.Date > 30) 80687fe: 4b9b ldr r3, [pc, #620] ; (8068a6c ) 8068800: 789b ldrb r3, [r3, #2] 8068802: 2b1e cmp r3, #30 8068804: f240 8114 bls.w 8068a30 RTC_DateStruct.Date = 30; 8068808: 4b98 ldr r3, [pc, #608] ; (8068a6c ) 806880a: 221e movs r2, #30 806880c: 709a strb r2, [r3, #2] 806880e: e10f b.n 8068a30 } } } else { if(RTC_DateStruct.Month & 0x1) 8068810: 4b96 ldr r3, [pc, #600] ; (8068a6c ) 8068812: 785b ldrb r3, [r3, #1] 8068814: f003 0301 and.w r3, r3, #1 8068818: 2b00 cmp r3, #0 806881a: f000 8109 beq.w 8068a30 { if(RTC_DateStruct.Date > 30) 806881e: 4b93 ldr r3, [pc, #588] ; (8068a6c ) 8068820: 789b ldrb r3, [r3, #2] 8068822: 2b1e cmp r3, #30 8068824: f240 8104 bls.w 8068a30 RTC_DateStruct.Date = 30; 8068828: 4b90 ldr r3, [pc, #576] ; (8068a6c ) 806882a: 221e movs r2, #30 806882c: 709a strb r2, [r3, #2] 806882e: e0ff b.n 8068a30 } } } else if(chYear == -1) 8068830: f997 3005 ldrsb.w r3, [r7, #5] 8068834: f1b3 3fff cmp.w r3, #4294967295 8068838: d17e bne.n 8068938 { if(RTC_DateStruct.Year > 1) 806883a: 4b8c ldr r3, [pc, #560] ; (8068a6c ) 806883c: 78db ldrb r3, [r3, #3] 806883e: 2b01 cmp r3, #1 8068840: d906 bls.n 8068850 RTC_DateStruct.Year--; 8068842: 4b8a ldr r3, [pc, #552] ; (8068a6c ) 8068844: 78db ldrb r3, [r3, #3] 8068846: 3b01 subs r3, #1 8068848: b2da uxtb r2, r3 806884a: 4b88 ldr r3, [pc, #544] ; (8068a6c ) 806884c: 70da strb r2, [r3, #3] 806884e: e002 b.n 8068856 else RTC_DateStruct.Year = 99; 8068850: 4b86 ldr r3, [pc, #536] ; (8068a6c ) 8068852: 2263 movs r2, #99 ; 0x63 8068854: 70da strb r2, [r3, #3] j = 0; 8068856: 2300 movs r3, #0 8068858: 617b str r3, [r7, #20] k = RTC_DateStruct.Year + 2000; 806885a: 4b84 ldr r3, [pc, #528] ; (8068a6c ) 806885c: 78db ldrb r3, [r3, #3] 806885e: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8068862: 613b str r3, [r7, #16] if(!(k % 4)) 8068864: 693b ldr r3, [r7, #16] 8068866: f003 0303 and.w r3, r3, #3 806886a: 2b00 cmp r3, #0 806886c: d11b bne.n 80688a6 { if(k % 100) j = 1; 806886e: 693a ldr r2, [r7, #16] 8068870: 4b7f ldr r3, [pc, #508] ; (8068a70 ) 8068872: fba3 1302 umull r1, r3, r3, r2 8068876: 095b lsrs r3, r3, #5 8068878: 2164 movs r1, #100 ; 0x64 806887a: fb01 f303 mul.w r3, r1, r3 806887e: 1ad3 subs r3, r2, r3 8068880: 2b00 cmp r3, #0 8068882: d002 beq.n 806888a 8068884: 2301 movs r3, #1 8068886: 617b str r3, [r7, #20] 8068888: e00d b.n 80688a6 else if(!(k % 400)) j = 1; 806888a: 693a ldr r2, [r7, #16] 806888c: 4b78 ldr r3, [pc, #480] ; (8068a70 ) 806888e: fba3 1302 umull r1, r3, r3, r2 8068892: 09db lsrs r3, r3, #7 8068894: f44f 71c8 mov.w r1, #400 ; 0x190 8068898: fb01 f303 mul.w r3, r1, r3 806889c: 1ad3 subs r3, r2, r3 806889e: 2b00 cmp r3, #0 80688a0: d101 bne.n 80688a6 80688a2: 2301 movs r3, #1 80688a4: 617b str r3, [r7, #20] } if(RTC_DateStruct.Month < 8) 80688a6: 4b71 ldr r3, [pc, #452] ; (8068a6c ) 80688a8: 785b ldrb r3, [r3, #1] 80688aa: 2b07 cmp r3, #7 80688ac: d835 bhi.n 806891a { if(!(RTC_DateStruct.Month & 0x1)) 80688ae: 4b6f ldr r3, [pc, #444] ; (8068a6c ) 80688b0: 785b ldrb r3, [r3, #1] 80688b2: f003 0301 and.w r3, r3, #1 80688b6: 2b00 cmp r3, #0 80688b8: f040 80ba bne.w 8068a30 { if(j) 80688bc: 697b ldr r3, [r7, #20] 80688be: 2b00 cmp r3, #0 80688c0: d015 beq.n 80688ee { if(RTC_DateStruct.Month == 2) 80688c2: 4b6a ldr r3, [pc, #424] ; (8068a6c ) 80688c4: 785b ldrb r3, [r3, #1] 80688c6: 2b02 cmp r3, #2 80688c8: d108 bne.n 80688dc { if(RTC_DateStruct.Date > 29) 80688ca: 4b68 ldr r3, [pc, #416] ; (8068a6c ) 80688cc: 789b ldrb r3, [r3, #2] 80688ce: 2b1d cmp r3, #29 80688d0: f240 80ae bls.w 8068a30 RTC_DateStruct.Date = 29; 80688d4: 4b65 ldr r3, [pc, #404] ; (8068a6c ) 80688d6: 221d movs r2, #29 80688d8: 709a strb r2, [r3, #2] 80688da: e0a9 b.n 8068a30 } else { if(RTC_DateStruct.Date > 30) 80688dc: 4b63 ldr r3, [pc, #396] ; (8068a6c ) 80688de: 789b ldrb r3, [r3, #2] 80688e0: 2b1e cmp r3, #30 80688e2: f240 80a5 bls.w 8068a30 RTC_DateStruct.Date = 30; 80688e6: 4b61 ldr r3, [pc, #388] ; (8068a6c ) 80688e8: 221e movs r2, #30 80688ea: 709a strb r2, [r3, #2] 80688ec: e0a0 b.n 8068a30 } } else { if(RTC_DateStruct.Month == 2) 80688ee: 4b5f ldr r3, [pc, #380] ; (8068a6c ) 80688f0: 785b ldrb r3, [r3, #1] 80688f2: 2b02 cmp r3, #2 80688f4: d108 bne.n 8068908 { if(RTC_DateStruct.Date > 28) 80688f6: 4b5d ldr r3, [pc, #372] ; (8068a6c ) 80688f8: 789b ldrb r3, [r3, #2] 80688fa: 2b1c cmp r3, #28 80688fc: f240 8098 bls.w 8068a30 RTC_DateStruct.Date = 28; 8068900: 4b5a ldr r3, [pc, #360] ; (8068a6c ) 8068902: 221c movs r2, #28 8068904: 709a strb r2, [r3, #2] 8068906: e093 b.n 8068a30 } else { if(RTC_DateStruct.Date > 30) 8068908: 4b58 ldr r3, [pc, #352] ; (8068a6c ) 806890a: 789b ldrb r3, [r3, #2] 806890c: 2b1e cmp r3, #30 806890e: f240 808f bls.w 8068a30 RTC_DateStruct.Date = 30; 8068912: 4b56 ldr r3, [pc, #344] ; (8068a6c ) 8068914: 221e movs r2, #30 8068916: 709a strb r2, [r3, #2] 8068918: e08a b.n 8068a30 } } } else { if(RTC_DateStruct.Month & 0x1) 806891a: 4b54 ldr r3, [pc, #336] ; (8068a6c ) 806891c: 785b ldrb r3, [r3, #1] 806891e: f003 0301 and.w r3, r3, #1 8068922: 2b00 cmp r3, #0 8068924: f000 8084 beq.w 8068a30 { if(RTC_DateStruct.Date > 30) 8068928: 4b50 ldr r3, [pc, #320] ; (8068a6c ) 806892a: 789b ldrb r3, [r3, #2] 806892c: 2b1e cmp r3, #30 806892e: d97f bls.n 8068a30 RTC_DateStruct.Date = 30; 8068930: 4b4e ldr r3, [pc, #312] ; (8068a6c ) 8068932: 221e movs r2, #30 8068934: 709a strb r2, [r3, #2] 8068936: e07b b.n 8068a30 } } } else if(chYear == 1) 8068938: f997 3005 ldrsb.w r3, [r7, #5] 806893c: 2b01 cmp r3, #1 806893e: d177 bne.n 8068a30 { if(RTC_DateStruct.Year < 99) 8068940: 4b4a ldr r3, [pc, #296] ; (8068a6c ) 8068942: 78db ldrb r3, [r3, #3] 8068944: 2b62 cmp r3, #98 ; 0x62 8068946: d806 bhi.n 8068956 RTC_DateStruct.Year++; 8068948: 4b48 ldr r3, [pc, #288] ; (8068a6c ) 806894a: 78db ldrb r3, [r3, #3] 806894c: 3301 adds r3, #1 806894e: b2da uxtb r2, r3 8068950: 4b46 ldr r3, [pc, #280] ; (8068a6c ) 8068952: 70da strb r2, [r3, #3] 8068954: e002 b.n 806895c else RTC_DateStruct.Year = 0; 8068956: 4b45 ldr r3, [pc, #276] ; (8068a6c ) 8068958: 2200 movs r2, #0 806895a: 70da strb r2, [r3, #3] j = 0; 806895c: 2300 movs r3, #0 806895e: 617b str r3, [r7, #20] k = RTC_DateStruct.Year + 2000; 8068960: 4b42 ldr r3, [pc, #264] ; (8068a6c ) 8068962: 78db ldrb r3, [r3, #3] 8068964: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8068968: 613b str r3, [r7, #16] if(!(k % 4)) 806896a: 693b ldr r3, [r7, #16] 806896c: f003 0303 and.w r3, r3, #3 8068970: 2b00 cmp r3, #0 8068972: d11b bne.n 80689ac { if(k % 100) j = 1; 8068974: 693a ldr r2, [r7, #16] 8068976: 4b3e ldr r3, [pc, #248] ; (8068a70 ) 8068978: fba3 1302 umull r1, r3, r3, r2 806897c: 095b lsrs r3, r3, #5 806897e: 2164 movs r1, #100 ; 0x64 8068980: fb01 f303 mul.w r3, r1, r3 8068984: 1ad3 subs r3, r2, r3 8068986: 2b00 cmp r3, #0 8068988: d002 beq.n 8068990 806898a: 2301 movs r3, #1 806898c: 617b str r3, [r7, #20] 806898e: e00d b.n 80689ac else if(!(k % 400)) j = 1; 8068990: 693a ldr r2, [r7, #16] 8068992: 4b37 ldr r3, [pc, #220] ; (8068a70 ) 8068994: fba3 1302 umull r1, r3, r3, r2 8068998: 09db lsrs r3, r3, #7 806899a: f44f 71c8 mov.w r1, #400 ; 0x190 806899e: fb01 f303 mul.w r3, r1, r3 80689a2: 1ad3 subs r3, r2, r3 80689a4: 2b00 cmp r3, #0 80689a6: d101 bne.n 80689ac 80689a8: 2301 movs r3, #1 80689aa: 617b str r3, [r7, #20] } if(RTC_DateStruct.Month < 8) 80689ac: 4b2f ldr r3, [pc, #188] ; (8068a6c ) 80689ae: 785b ldrb r3, [r3, #1] 80689b0: 2b07 cmp r3, #7 80689b2: d830 bhi.n 8068a16 { if(!(RTC_DateStruct.Month & 0x1)) 80689b4: 4b2d ldr r3, [pc, #180] ; (8068a6c ) 80689b6: 785b ldrb r3, [r3, #1] 80689b8: f003 0301 and.w r3, r3, #1 80689bc: 2b00 cmp r3, #0 80689be: d137 bne.n 8068a30 { if(j) 80689c0: 697b ldr r3, [r7, #20] 80689c2: 2b00 cmp r3, #0 80689c4: d013 beq.n 80689ee { if(RTC_DateStruct.Month == 2) 80689c6: 4b29 ldr r3, [pc, #164] ; (8068a6c ) 80689c8: 785b ldrb r3, [r3, #1] 80689ca: 2b02 cmp r3, #2 80689cc: d107 bne.n 80689de { if(RTC_DateStruct.Date > 29) 80689ce: 4b27 ldr r3, [pc, #156] ; (8068a6c ) 80689d0: 789b ldrb r3, [r3, #2] 80689d2: 2b1d cmp r3, #29 80689d4: d92c bls.n 8068a30 RTC_DateStruct.Date = 29; 80689d6: 4b25 ldr r3, [pc, #148] ; (8068a6c ) 80689d8: 221d movs r2, #29 80689da: 709a strb r2, [r3, #2] 80689dc: e028 b.n 8068a30 } else { if(RTC_DateStruct.Date > 30) 80689de: 4b23 ldr r3, [pc, #140] ; (8068a6c ) 80689e0: 789b ldrb r3, [r3, #2] 80689e2: 2b1e cmp r3, #30 80689e4: d924 bls.n 8068a30 RTC_DateStruct.Date = 30; 80689e6: 4b21 ldr r3, [pc, #132] ; (8068a6c ) 80689e8: 221e movs r2, #30 80689ea: 709a strb r2, [r3, #2] 80689ec: e020 b.n 8068a30 } } else { if(RTC_DateStruct.Month == 2) 80689ee: 4b1f ldr r3, [pc, #124] ; (8068a6c ) 80689f0: 785b ldrb r3, [r3, #1] 80689f2: 2b02 cmp r3, #2 80689f4: d107 bne.n 8068a06 { if(RTC_DateStruct.Date > 28) 80689f6: 4b1d ldr r3, [pc, #116] ; (8068a6c ) 80689f8: 789b ldrb r3, [r3, #2] 80689fa: 2b1c cmp r3, #28 80689fc: d918 bls.n 8068a30 RTC_DateStruct.Date = 28; 80689fe: 4b1b ldr r3, [pc, #108] ; (8068a6c ) 8068a00: 221c movs r2, #28 8068a02: 709a strb r2, [r3, #2] 8068a04: e014 b.n 8068a30 } else { if(RTC_DateStruct.Date > 30) 8068a06: 4b19 ldr r3, [pc, #100] ; (8068a6c ) 8068a08: 789b ldrb r3, [r3, #2] 8068a0a: 2b1e cmp r3, #30 8068a0c: d910 bls.n 8068a30 RTC_DateStruct.Date = 30; 8068a0e: 4b17 ldr r3, [pc, #92] ; (8068a6c ) 8068a10: 221e movs r2, #30 8068a12: 709a strb r2, [r3, #2] 8068a14: e00c b.n 8068a30 } } } else { if(RTC_DateStruct.Month & 0x1) 8068a16: 4b15 ldr r3, [pc, #84] ; (8068a6c ) 8068a18: 785b ldrb r3, [r3, #1] 8068a1a: f003 0301 and.w r3, r3, #1 8068a1e: 2b00 cmp r3, #0 8068a20: d006 beq.n 8068a30 { if(RTC_DateStruct.Date > 30) 8068a22: 4b12 ldr r3, [pc, #72] ; (8068a6c ) 8068a24: 789b ldrb r3, [r3, #2] 8068a26: 2b1e cmp r3, #30 8068a28: d902 bls.n 8068a30 RTC_DateStruct.Date = 30; 8068a2a: 4b10 ldr r3, [pc, #64] ; (8068a6c ) 8068a2c: 221e movs r2, #30 8068a2e: 709a strb r2, [r3, #2] uint32_t d, i; //01.01.2000 - SATURDAY d = 0; 8068a30: 2300 movs r3, #0 8068a32: 60fb str r3, [r7, #12] for(i = 0; i < RTC_DateStruct.Year; i++) 8068a34: 2300 movs r3, #0 8068a36: 60bb str r3, [r7, #8] 8068a38: e033 b.n 8068aa2 { j = 0; 8068a3a: 2300 movs r3, #0 8068a3c: 617b str r3, [r7, #20] k = i + 2000; 8068a3e: 68bb ldr r3, [r7, #8] 8068a40: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8068a44: 613b str r3, [r7, #16] if(!(k % 4)) 8068a46: 693b ldr r3, [r7, #16] 8068a48: f003 0303 and.w r3, r3, #3 8068a4c: 2b00 cmp r3, #0 8068a4e: d11f bne.n 8068a90 { if(k % 100) j = VISOKOSNIY; 8068a50: 693a ldr r2, [r7, #16] 8068a52: 4b07 ldr r3, [pc, #28] ; (8068a70 ) 8068a54: fba3 1302 umull r1, r3, r3, r2 8068a58: 095b lsrs r3, r3, #5 8068a5a: 2164 movs r1, #100 ; 0x64 8068a5c: fb01 f303 mul.w r3, r1, r3 8068a60: 1ad3 subs r3, r2, r3 8068a62: 2b00 cmp r3, #0 8068a64: d006 beq.n 8068a74 8068a66: 2301 movs r3, #1 8068a68: 617b str r3, [r7, #20] 8068a6a: e011 b.n 8068a90 8068a6c: 20025d34 .word 0x20025d34 8068a70: 51eb851f .word 0x51eb851f else if(!(k % 400)) j = VISOKOSNIY; 8068a74: 693a ldr r2, [r7, #16] 8068a76: 4b4c ldr r3, [pc, #304] ; (8068ba8 ) 8068a78: fba3 1302 umull r1, r3, r3, r2 8068a7c: 09db lsrs r3, r3, #7 8068a7e: f44f 71c8 mov.w r1, #400 ; 0x190 8068a82: fb01 f303 mul.w r3, r1, r3 8068a86: 1ad3 subs r3, r2, r3 8068a88: 2b00 cmp r3, #0 8068a8a: d101 bne.n 8068a90 8068a8c: 2301 movs r3, #1 8068a8e: 617b str r3, [r7, #20] } d += (365 + j); 8068a90: 697a ldr r2, [r7, #20] 8068a92: 68fb ldr r3, [r7, #12] 8068a94: 4413 add r3, r2 8068a96: f203 136d addw r3, r3, #365 ; 0x16d 8068a9a: 60fb str r3, [r7, #12] for(i = 0; i < RTC_DateStruct.Year; i++) 8068a9c: 68bb ldr r3, [r7, #8] 8068a9e: 3301 adds r3, #1 8068aa0: 60bb str r3, [r7, #8] 8068aa2: 4b42 ldr r3, [pc, #264] ; (8068bac ) 8068aa4: 78db ldrb r3, [r3, #3] 8068aa6: 461a mov r2, r3 8068aa8: 68bb ldr r3, [r7, #8] 8068aaa: 429a cmp r2, r3 8068aac: d8c5 bhi.n 8068a3a } k++; 8068aae: 693b ldr r3, [r7, #16] 8068ab0: 3301 adds r3, #1 8068ab2: 613b str r3, [r7, #16] j = 0; 8068ab4: 2300 movs r3, #0 8068ab6: 617b str r3, [r7, #20] if(!(k % 4)) 8068ab8: 693b ldr r3, [r7, #16] 8068aba: f003 0303 and.w r3, r3, #3 8068abe: 2b00 cmp r3, #0 8068ac0: d11b bne.n 8068afa { if(k % 100) j = VISOKOSNIY; 8068ac2: 693a ldr r2, [r7, #16] 8068ac4: 4b38 ldr r3, [pc, #224] ; (8068ba8 ) 8068ac6: fba3 1302 umull r1, r3, r3, r2 8068aca: 095b lsrs r3, r3, #5 8068acc: 2164 movs r1, #100 ; 0x64 8068ace: fb01 f303 mul.w r3, r1, r3 8068ad2: 1ad3 subs r3, r2, r3 8068ad4: 2b00 cmp r3, #0 8068ad6: d002 beq.n 8068ade 8068ad8: 2301 movs r3, #1 8068ada: 617b str r3, [r7, #20] 8068adc: e00d b.n 8068afa else if(!(k % 400)) j = VISOKOSNIY; 8068ade: 693a ldr r2, [r7, #16] 8068ae0: 4b31 ldr r3, [pc, #196] ; (8068ba8 ) 8068ae2: fba3 1302 umull r1, r3, r3, r2 8068ae6: 09db lsrs r3, r3, #7 8068ae8: f44f 71c8 mov.w r1, #400 ; 0x190 8068aec: fb01 f303 mul.w r3, r1, r3 8068af0: 1ad3 subs r3, r2, r3 8068af2: 2b00 cmp r3, #0 8068af4: d101 bne.n 8068afa 8068af6: 2301 movs r3, #1 8068af8: 617b str r3, [r7, #20] } for(i = 1; i < RTC_DateStruct.Month; i++) 8068afa: 2301 movs r3, #1 8068afc: 60bb str r3, [r7, #8] 8068afe: e02c b.n 8068b5a { if(i < RTC_MONTH_AUGUST) 8068b00: 68bb ldr r3, [r7, #8] 8068b02: 2b07 cmp r3, #7 8068b04: d81a bhi.n 8068b3c { if(i & 1) 8068b06: 68bb ldr r3, [r7, #8] 8068b08: f003 0301 and.w r3, r3, #1 8068b0c: 2b00 cmp r3, #0 8068b0e: d003 beq.n 8068b18 d += 31; 8068b10: 68fb ldr r3, [r7, #12] 8068b12: 331f adds r3, #31 8068b14: 60fb str r3, [r7, #12] 8068b16: e01d b.n 8068b54 else { if(i == RTC_MONTH_FEBRUARY) 8068b18: 68bb ldr r3, [r7, #8] 8068b1a: 2b02 cmp r3, #2 8068b1c: d10a bne.n 8068b34 { if(j != VISOKOSNIY) 8068b1e: 697b ldr r3, [r7, #20] 8068b20: 2b01 cmp r3, #1 8068b22: d003 beq.n 8068b2c d += 28; 8068b24: 68fb ldr r3, [r7, #12] 8068b26: 331c adds r3, #28 8068b28: 60fb str r3, [r7, #12] 8068b2a: e013 b.n 8068b54 else d += 29; 8068b2c: 68fb ldr r3, [r7, #12] 8068b2e: 331d adds r3, #29 8068b30: 60fb str r3, [r7, #12] 8068b32: e00f b.n 8068b54 } else d += 30; 8068b34: 68fb ldr r3, [r7, #12] 8068b36: 331e adds r3, #30 8068b38: 60fb str r3, [r7, #12] 8068b3a: e00b b.n 8068b54 } } else { if(i & 1) 8068b3c: 68bb ldr r3, [r7, #8] 8068b3e: f003 0301 and.w r3, r3, #1 8068b42: 2b00 cmp r3, #0 8068b44: d003 beq.n 8068b4e d += 30; 8068b46: 68fb ldr r3, [r7, #12] 8068b48: 331e adds r3, #30 8068b4a: 60fb str r3, [r7, #12] 8068b4c: e002 b.n 8068b54 else d += 31; 8068b4e: 68fb ldr r3, [r7, #12] 8068b50: 331f adds r3, #31 8068b52: 60fb str r3, [r7, #12] for(i = 1; i < RTC_DateStruct.Month; i++) 8068b54: 68bb ldr r3, [r7, #8] 8068b56: 3301 adds r3, #1 8068b58: 60bb str r3, [r7, #8] 8068b5a: 4b14 ldr r3, [pc, #80] ; (8068bac ) 8068b5c: 785b ldrb r3, [r3, #1] 8068b5e: 461a mov r2, r3 8068b60: 68bb ldr r3, [r7, #8] 8068b62: 429a cmp r2, r3 8068b64: d8cc bhi.n 8068b00 } } d += RTC_DateStruct.Date; 8068b66: 4b11 ldr r3, [pc, #68] ; (8068bac ) 8068b68: 789b ldrb r3, [r3, #2] 8068b6a: 461a mov r2, r3 8068b6c: 68fb ldr r3, [r7, #12] 8068b6e: 4413 add r3, r2 8068b70: 60fb str r3, [r7, #12] d += (RTC_WEEKDAY_SATURDAY - 1); 8068b72: 68fb ldr r3, [r7, #12] 8068b74: 3305 adds r3, #5 8068b76: 60fb str r3, [r7, #12] RTC_DateStruct.WeekDay = d % 7; 8068b78: 68fa ldr r2, [r7, #12] 8068b7a: 4b0d ldr r3, [pc, #52] ; (8068bb0 ) 8068b7c: fba3 1302 umull r1, r3, r3, r2 8068b80: 1ad1 subs r1, r2, r3 8068b82: 0849 lsrs r1, r1, #1 8068b84: 440b add r3, r1 8068b86: 0899 lsrs r1, r3, #2 8068b88: 460b mov r3, r1 8068b8a: 00db lsls r3, r3, #3 8068b8c: 1a5b subs r3, r3, r1 8068b8e: 1ad1 subs r1, r2, r3 8068b90: b2ca uxtb r2, r1 8068b92: 4b06 ldr r3, [pc, #24] ; (8068bac ) 8068b94: 701a strb r2, [r3, #0] HAL_RTC_SetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 8068b96: 2200 movs r2, #0 8068b98: 4904 ldr r1, [pc, #16] ; (8068bac ) 8068b9a: 4806 ldr r0, [pc, #24] ; (8068bb4 ) 8068b9c: f053 fe78 bl 80bc890 } 8068ba0: bf00 nop 8068ba2: 3718 adds r7, #24 8068ba4: 46bd mov sp, r7 8068ba6: bd80 pop {r7, pc} 8068ba8: 51eb851f .word 0x51eb851f 8068bac: 20025d34 .word 0x20025d34 8068bb0: 24924925 .word 0x24924925 8068bb4: 200685d8 .word 0x200685d8 08068bb8 : void EXTI_Config(void) { 8068bb8: b580 push {r7, lr} 8068bba: b086 sub sp, #24 8068bbc: af00 add r7, sp, #0 GPIO_InitTypeDef EXTILineStruct; __HAL_RCC_SYSCFG_CLK_ENABLE(); 8068bbe: 4a1c ldr r2, [pc, #112] ; (8068c30 ) 8068bc0: 4b1b ldr r3, [pc, #108] ; (8068c30 ) 8068bc2: 6c5b ldr r3, [r3, #68] ; 0x44 8068bc4: f443 4380 orr.w r3, r3, #16384 ; 0x4000 8068bc8: 6453 str r3, [r2, #68] ; 0x44 8068bca: 4b19 ldr r3, [pc, #100] ; (8068c30 ) 8068bcc: 6c5b ldr r3, [r3, #68] ; 0x44 8068bce: f403 4380 and.w r3, r3, #16384 ; 0x4000 8068bd2: 603b str r3, [r7, #0] 8068bd4: 683b ldr r3, [r7, #0] EXTILineStruct.Pin = GPIO_PIN_2; 8068bd6: 2304 movs r3, #4 8068bd8: 607b str r3, [r7, #4] EXTILineStruct.Mode = GPIO_MODE_IT_RISING; 8068bda: f44f 1388 mov.w r3, #1114112 ; 0x110000 8068bde: 60bb str r3, [r7, #8] EXTILineStruct.Pull = GPIO_NOPULL; 8068be0: 2300 movs r3, #0 8068be2: 60fb str r3, [r7, #12] HAL_GPIO_Init(GPIOC, &EXTILineStruct); 8068be4: 1d3b adds r3, r7, #4 8068be6: 4619 mov r1, r3 8068be8: 4812 ldr r0, [pc, #72] ; (8068c34 ) 8068bea: f050 fb09 bl 80b9200 HAL_NVIC_SetPriority(EXTI2_IRQn, 8, 0); 8068bee: 2200 movs r2, #0 8068bf0: 2108 movs r1, #8 8068bf2: 2008 movs r0, #8 8068bf4: f04f f86d bl 80b7cd2 HAL_NVIC_EnableIRQ(EXTI2_IRQn); 8068bf8: 2008 movs r0, #8 8068bfa: f04f f886 bl 80b7d0a EXTILineStruct.Pin = RDYB_Pin; 8068bfe: 2308 movs r3, #8 8068c00: 607b str r3, [r7, #4] EXTILineStruct.Mode = GPIO_MODE_IT_FALLING; 8068c02: f44f 1304 mov.w r3, #2162688 ; 0x210000 8068c06: 60bb str r3, [r7, #8] EXTILineStruct.Pull = GPIO_PULLUP; 8068c08: 2301 movs r3, #1 8068c0a: 60fb str r3, [r7, #12] HAL_GPIO_Init(RDYB_GPIO_Port, &EXTILineStruct); 8068c0c: 1d3b adds r3, r7, #4 8068c0e: 4619 mov r1, r3 8068c10: 4809 ldr r0, [pc, #36] ; (8068c38 ) 8068c12: f050 faf5 bl 80b9200 HAL_NVIC_SetPriority(EXTI3_IRQn, 1, 0); 8068c16: 2200 movs r2, #0 8068c18: 2101 movs r1, #1 8068c1a: 2009 movs r0, #9 8068c1c: f04f f859 bl 80b7cd2 HAL_NVIC_EnableIRQ(EXTI3_IRQn); 8068c20: 2009 movs r0, #9 8068c22: f04f f872 bl 80b7d0a } 8068c26: bf00 nop 8068c28: 3718 adds r7, #24 8068c2a: 46bd mov sp, r7 8068c2c: bd80 pop {r7, pc} 8068c2e: bf00 nop 8068c30: 40023800 .word 0x40023800 8068c34: 40020800 .word 0x40020800 8068c38: 40020400 .word 0x40020400 08068c3c : void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { 8068c3c: b580 push {r7, lr} 8068c3e: b082 sub sp, #8 8068c40: af00 add r7, sp, #0 8068c42: 4603 mov r3, r0 8068c44: 80fb strh r3, [r7, #6] if(GPIO_Pin == GPIO_PIN_2) 8068c46: 88fb ldrh r3, [r7, #6] 8068c48: 2b04 cmp r3, #4 8068c4a: d115 bne.n 8068c78 { __HAL_GPIO_EXTI_CLEAR_FLAG(GPIO_PIN_2); 8068c4c: 4b0f ldr r3, [pc, #60] ; (8068c8c ) 8068c4e: 2204 movs r2, #4 8068c50: 615a str r2, [r3, #20] if((RefreshScreen == false) && (screen == true)) 8068c52: 4b0f ldr r3, [pc, #60] ; (8068c90 ) 8068c54: 781b ldrb r3, [r3, #0] 8068c56: b2db uxtb r3, r3 8068c58: f083 0301 eor.w r3, r3, #1 8068c5c: b2db uxtb r3, r3 8068c5e: 2b00 cmp r3, #0 8068c60: d00f beq.n 8068c82 8068c62: 4b0c ldr r3, [pc, #48] ; (8068c94 ) 8068c64: 781b ldrb r3, [r3, #0] 8068c66: b2db uxtb r3, r3 8068c68: 2b00 cmp r3, #0 8068c6a: d00a beq.n 8068c82 { screen = false; 8068c6c: 4b09 ldr r3, [pc, #36] ; (8068c94 ) 8068c6e: 2200 movs r2, #0 8068c70: 701a strb r2, [r3, #0] Display(); 8068c72: f000 fad5 bl 8069220 else { __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); MAX11270_IRQ(); } } 8068c76: e004 b.n 8068c82 __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); 8068c78: 4b04 ldr r3, [pc, #16] ; (8068c8c ) 8068c7a: 2208 movs r2, #8 8068c7c: 615a str r2, [r3, #20] MAX11270_IRQ(); 8068c7e: f7ed f9d5 bl 805602c } 8068c82: bf00 nop 8068c84: 3708 adds r7, #8 8068c86: 46bd mov sp, r7 8068c88: bd80 pop {r7, pc} 8068c8a: bf00 nop 8068c8c: 40013c00 .word 0x40013c00 8068c90: 20021044 .word 0x20021044 8068c94: 200200ca .word 0x200200ca 08068c98 : void RedrawScreen(void) { 8068c98: b480 push {r7} 8068c9a: af00 add r7, sp, #0 __HAL_GPIO_EXTI_GENERATE_SWIT(GPIO_PIN_2); 8068c9c: 4a05 ldr r2, [pc, #20] ; (8068cb4 ) 8068c9e: 4b05 ldr r3, [pc, #20] ; (8068cb4 ) 8068ca0: 691b ldr r3, [r3, #16] 8068ca2: f043 0304 orr.w r3, r3, #4 8068ca6: 6113 str r3, [r2, #16] } 8068ca8: bf00 nop 8068caa: 46bd mov sp, r7 8068cac: f85d 7b04 ldr.w r7, [sp], #4 8068cb0: 4770 bx lr 8068cb2: bf00 nop 8068cb4: 40013c00 .word 0x40013c00 08068cb8 : void Logo(void) { 8068cb8: b580 push {r7, lr} 8068cba: b082 sub sp, #8 8068cbc: af00 add r7, sp, #0 uint32_t i; uint32_t color = 0xFF212829;//0xFF0A0F1F; 8068cbe: 4b6b ldr r3, [pc, #428] ; (8068e6c ) 8068cc0: 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(); 8068cc2: f7eb fb27 bl 8054314 HAL_NVIC_DisableIRQ(EXTI2_IRQn); 8068cc6: 2008 movs r0, #8 8068cc8: f04f f82d bl 80b7d26 //********************************************************* BSP_LCD_SetFont(&Font12); 8068ccc: 4868 ldr r0, [pc, #416] ; (8068e70 ) 8068cce: f7eb fcdb bl 8054688 for(i = 0; i < 3; i++) 8068cd2: 2300 movs r3, #0 8068cd4: 607b str r3, [r7, #4] 8068cd6: e032 b.n 8068d3e { BSP_LCD_Clear(color); 8068cd8: 6838 ldr r0, [r7, #0] 8068cda: f7eb fcf3 bl 80546c4 LOGO_IMAGE; 8068cde: 2250 movs r2, #80 ; 0x50 8068ce0: 2100 movs r1, #0 8068ce2: 4864 ldr r0, [pc, #400] ; (8068e74 ) 8068ce4: f7ec fb88 bl 80553f8 RefreshScreen = true; 8068ce8: 4b63 ldr r3, [pc, #396] ; (8068e78 ) 8068cea: 2201 movs r2, #1 8068cec: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8068cee: 2100 movs r1, #0 8068cf0: 4862 ldr r0, [pc, #392] ; (8068e7c ) 8068cf2: f050 ff4b bl 80b9b8c while(RefreshScreen); 8068cf6: bf00 nop 8068cf8: 4b5f ldr r3, [pc, #380] ; (8068e78 ) 8068cfa: 781b ldrb r3, [r3, #0] 8068cfc: b2db uxtb r3, r3 8068cfe: 2b00 cmp r3, #0 8068d00: d1fa bne.n 8068cf8 HAL_Delay(50); 8068d02: 2032 movs r0, #50 ; 0x32 8068d04: f04e f89a bl 80b6e3c BSP_LCD_Clear(color); 8068d08: 6838 ldr r0, [r7, #0] 8068d0a: f7eb fcdb bl 80546c4 LOGO_IMAGE_1; 8068d0e: 2250 movs r2, #80 ; 0x50 8068d10: 2100 movs r1, #0 8068d12: 4858 ldr r0, [pc, #352] ; (8068e74 ) 8068d14: f7ec fb70 bl 80553f8 RefreshScreen = true; 8068d18: 4b57 ldr r3, [pc, #348] ; (8068e78 ) 8068d1a: 2201 movs r2, #1 8068d1c: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8068d1e: 2100 movs r1, #0 8068d20: 4856 ldr r0, [pc, #344] ; (8068e7c ) 8068d22: f050 ff33 bl 80b9b8c while(RefreshScreen); 8068d26: bf00 nop 8068d28: 4b53 ldr r3, [pc, #332] ; (8068e78 ) 8068d2a: 781b ldrb r3, [r3, #0] 8068d2c: b2db uxtb r3, r3 8068d2e: 2b00 cmp r3, #0 8068d30: d1fa bne.n 8068d28 HAL_Delay(50); 8068d32: 2032 movs r0, #50 ; 0x32 8068d34: f04e f882 bl 80b6e3c for(i = 0; i < 3; i++) 8068d38: 687b ldr r3, [r7, #4] 8068d3a: 3301 adds r3, #1 8068d3c: 607b str r3, [r7, #4] 8068d3e: 687b ldr r3, [r7, #4] 8068d40: 2b02 cmp r3, #2 8068d42: d9c9 bls.n 8068cd8 } HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT_ON 8068d44: 2200 movs r2, #0 8068d46: f44f 7180 mov.w r1, #256 ; 0x100 8068d4a: 484d ldr r0, [pc, #308] ; (8068e80 ) 8068d4c: f050 fd26 bl 80b979c //********************************************************* BSP_LCD_Clear(color); 8068d50: 6838 ldr r0, [r7, #0] 8068d52: f7eb fcb7 bl 80546c4 DrawImage(&bmLOGO_Pantone_1, 0, 80); 8068d56: 2250 movs r2, #80 ; 0x50 8068d58: 2100 movs r1, #0 8068d5a: 4846 ldr r0, [pc, #280] ; (8068e74 ) 8068d5c: f7ec fb4c bl 80553f8 RefreshScreen = true; 8068d60: 4b45 ldr r3, [pc, #276] ; (8068e78 ) 8068d62: 2201 movs r2, #1 8068d64: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8068d66: 2100 movs r1, #0 8068d68: 4844 ldr r0, [pc, #272] ; (8068e7c ) 8068d6a: f050 ff0f bl 80b9b8c while(RefreshScreen); 8068d6e: bf00 nop 8068d70: 4b41 ldr r3, [pc, #260] ; (8068e78 ) 8068d72: 781b ldrb r3, [r3, #0] 8068d74: b2db uxtb r3, r3 8068d76: 2b00 cmp r3, #0 8068d78: d1fa bne.n 8068d70 HAL_Delay(50); 8068d7a: 2032 movs r0, #50 ; 0x32 8068d7c: f04e f85e bl 80b6e3c BSP_LCD_Clear(color); 8068d80: 6838 ldr r0, [r7, #0] 8068d82: f7eb fc9f bl 80546c4 DrawImage(&bmLOGO_Pantone_1, 0, 80); 8068d86: 2250 movs r2, #80 ; 0x50 8068d88: 2100 movs r1, #0 8068d8a: 483a ldr r0, [pc, #232] ; (8068e74 ) 8068d8c: f7ec fb34 bl 80553f8 RefreshScreen = true; 8068d90: 4b39 ldr r3, [pc, #228] ; (8068e78 ) 8068d92: 2201 movs r2, #1 8068d94: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8068d96: 2100 movs r1, #0 8068d98: 4838 ldr r0, [pc, #224] ; (8068e7c ) 8068d9a: f050 fef7 bl 80b9b8c while(RefreshScreen); 8068d9e: bf00 nop 8068da0: 4b35 ldr r3, [pc, #212] ; (8068e78 ) 8068da2: 781b ldrb r3, [r3, #0] 8068da4: b2db uxtb r3, r3 8068da6: 2b00 cmp r3, #0 8068da8: d1fa bne.n 8068da0 HAL_Delay(50); 8068daa: 2032 movs r0, #50 ; 0x32 8068dac: f04e f846 bl 80b6e3c LCD_SetColors(0xFFFFFFFF, color); 8068db0: 6839 ldr r1, [r7, #0] 8068db2: f04f 30ff mov.w r0, #4294967295 8068db6: f7eb fc2b bl 8054610 BSP_LCD_SetFont(&Font12); 8068dba: 482d ldr r0, [pc, #180] ; (8068e70 ) 8068dbc: f7eb fc64 bl 8054688 #ifdef USE_BLUETOOTH if(pardata.LANG == RUS) BSP_LCD_DisplayStringAt(165, 209, "Âèáðîìåòð D142 BLE", CENTER_MODE); else BSP_LCD_DisplayStringAt(165, 209, "Vibrometer D142 BLE", CENTER_MODE); #else if(pardata.LANG == RUS) 8068dc0: 4b30 ldr r3, [pc, #192] ; (8068e84 ) 8068dc2: 7b1b ldrb r3, [r3, #12] 8068dc4: b2db uxtb r3, r3 8068dc6: 2b00 cmp r3, #0 8068dc8: d106 bne.n 8068dd8 BSP_LCD_DisplayStringAt(165, 209, "Âèáðîìåòð D142", CENTER_MODE); 8068dca: 2301 movs r3, #1 8068dcc: 4a2e ldr r2, [pc, #184] ; (8068e88 ) 8068dce: 21d1 movs r1, #209 ; 0xd1 8068dd0: 20a5 movs r0, #165 ; 0xa5 8068dd2: f7eb fce3 bl 805479c 8068dd6: e005 b.n 8068de4 else BSP_LCD_DisplayStringAt(165, 209, "Vibrometer D142", CENTER_MODE); 8068dd8: 2301 movs r3, #1 8068dda: 4a2c ldr r2, [pc, #176] ; (8068e8c ) 8068ddc: 21d1 movs r1, #209 ; 0xd1 8068dde: 20a5 movs r0, #165 ; 0xa5 8068de0: f7eb fcdc bl 805479c #endif #endif LCD_SetColors(0xFFFFFFFF, color); 8068de4: 6839 ldr r1, [r7, #0] 8068de6: f04f 30ff mov.w r0, #4294967295 8068dea: f7eb fc11 bl 8054610 BSP_LCD_SetFont(&Font12); 8068dee: 4820 ldr r0, [pc, #128] ; (8068e70 ) 8068df0: f7eb fc4a bl 8054688 BSP_LCD_DisplayStringAt(165, 221, (char *) _VERSION, CENTER_MODE); 8068df4: 2301 movs r3, #1 8068df6: 4a26 ldr r2, [pc, #152] ; (8068e90 ) 8068df8: 21dd movs r1, #221 ; 0xdd 8068dfa: 20a5 movs r0, #165 ; 0xa5 8068dfc: f7eb fcce bl 805479c BSP_LCD_DisplayStringAt(165, 4, (char *) _SERIAL_DRAW, CENTER_MODE); 8068e00: 2301 movs r3, #1 8068e02: 4a24 ldr r2, [pc, #144] ; (8068e94 ) 8068e04: 2104 movs r1, #4 8068e06: 20a5 movs r0, #165 ; 0xa5 8068e08: f7eb fcc8 bl 805479c if(CORRECTION == false) { 8068e0c: 4b22 ldr r3, [pc, #136] ; (8068e98 ) 8068e0e: 781b ldrb r3, [r3, #0] 8068e10: b2db uxtb r3, r3 8068e12: f083 0301 eor.w r3, r3, #1 8068e16: b2db uxtb r3, r3 8068e18: 2b00 cmp r3, #0 8068e1a: d005 beq.n 8068e28 BSP_LCD_DisplayStringAt(0, 4, ".", LEFT_MODE); 8068e1c: 2303 movs r3, #3 8068e1e: 4a1f ldr r2, [pc, #124] ; (8068e9c ) 8068e20: 2104 movs r1, #4 8068e22: 2000 movs r0, #0 8068e24: f7eb fcba bl 805479c } RefreshScreen = true; 8068e28: 4b13 ldr r3, [pc, #76] ; (8068e78 ) 8068e2a: 2201 movs r2, #1 8068e2c: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8068e2e: 2100 movs r1, #0 8068e30: 4812 ldr r0, [pc, #72] ; (8068e7c ) 8068e32: f050 feab bl 80b9b8c while(RefreshScreen); 8068e36: bf00 nop 8068e38: 4b0f ldr r3, [pc, #60] ; (8068e78 ) 8068e3a: 781b ldrb r3, [r3, #0] 8068e3c: b2db uxtb r3, r3 8068e3e: 2b00 cmp r3, #0 8068e40: d1fa bne.n 8068e38 HAL_Delay(100); 8068e42: 2064 movs r0, #100 ; 0x64 8068e44: f04d fffa bl 80b6e3c //********************************************************* HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT_ON 8068e48: 2200 movs r2, #0 8068e4a: f44f 7180 mov.w r1, #256 ; 0x100 8068e4e: 480c ldr r0, [pc, #48] ; (8068e80 ) 8068e50: f050 fca4 bl 80b979c HAL_Delay(1000); 8068e54: f44f 707a mov.w r0, #1000 ; 0x3e8 8068e58: f04d fff0 bl 80b6e3c HAL_NVIC_EnableIRQ(EXTI2_IRQn); 8068e5c: 2008 movs r0, #8 8068e5e: f04e ff54 bl 80b7d0a #endif } 8068e62: bf00 nop 8068e64: 3708 adds r7, #8 8068e66: 46bd mov sp, r7 8068e68: bd80 pop {r7, pc} 8068e6a: bf00 nop 8068e6c: ff212829 .word 0xff212829 8068e70: 20020038 .word 0x20020038 8068e74: 0813ed40 .word 0x0813ed40 8068e78: 20021044 .word 0x20021044 8068e7c: 20025d70 .word 0x20025d70 8068e80: 40020000 .word 0x40020000 8068e84: 20023ea8 .word 0x20023ea8 8068e88: 080d3b38 .word 0x080d3b38 8068e8c: 080d3b48 .word 0x080d3b48 8068e90: 080f2c58 .word 0x080f2c58 8068e94: 20020f3c .word 0x20020f3c 8068e98: 20020f30 .word 0x20020f30 8068e9c: 080d3b58 .word 0x080d3b58 08068ea0 : void DrawTime(void) { 8068ea0: b580 push {r7, lr} 8068ea2: b08a sub sp, #40 ; 0x28 8068ea4: 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); 8068ea6: 2200 movs r2, #0 8068ea8: 492d ldr r1, [pc, #180] ; (8068f60 ) 8068eaa: 482e ldr r0, [pc, #184] ; (8068f64 ) 8068eac: f053 fc92 bl 80bc7d4 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 8068eb0: 2200 movs r2, #0 8068eb2: 492d ldr r1, [pc, #180] ; (8068f68 ) 8068eb4: 482b ldr r0, [pc, #172] ; (8068f64 ) 8068eb6: f053 fd93 bl 80bc9e0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068eba: 492c ldr r1, [pc, #176] ; (8068f6c ) 8068ebc: f04f 30ff mov.w r0, #4294967295 8068ec0: f7eb fba6 bl 8054610 BSP_LCD_SetFont(&Font12); 8068ec4: 482a ldr r0, [pc, #168] ; (8068f70 ) 8068ec6: f7eb fbdf bl 8054688 hr = RTC_TimeStruct.Hours; 8068eca: 4b25 ldr r3, [pc, #148] ; (8068f60 ) 8068ecc: 781b ldrb r3, [r3, #0] 8068ece: 60fb str r3, [r7, #12] mn = RTC_TimeStruct.Minutes; 8068ed0: 4b23 ldr r3, [pc, #140] ; (8068f60 ) 8068ed2: 785b ldrb r3, [r3, #1] 8068ed4: 60bb str r3, [r7, #8] memset(str, 0, sizeof(str)); 8068ed6: f107 031c add.w r3, r7, #28 8068eda: 220c movs r2, #12 8068edc: 2100 movs r1, #0 8068ede: 4618 mov r0, r3 8068ee0: f068 fa5e bl 80d13a0 str[0] = (hr / 10) + 48; 8068ee4: 68fb ldr r3, [r7, #12] 8068ee6: 4a23 ldr r2, [pc, #140] ; (8068f74 ) 8068ee8: fba2 2303 umull r2, r3, r2, r3 8068eec: 08db lsrs r3, r3, #3 8068eee: b2db uxtb r3, r3 8068ef0: 3330 adds r3, #48 ; 0x30 8068ef2: b2db uxtb r3, r3 8068ef4: 773b strb r3, [r7, #28] str[1] = (hr % 10) + 48; 8068ef6: 68f9 ldr r1, [r7, #12] 8068ef8: 4b1e ldr r3, [pc, #120] ; (8068f74 ) 8068efa: fba3 2301 umull r2, r3, r3, r1 8068efe: 08da lsrs r2, r3, #3 8068f00: 4613 mov r3, r2 8068f02: 009b lsls r3, r3, #2 8068f04: 4413 add r3, r2 8068f06: 005b lsls r3, r3, #1 8068f08: 1aca subs r2, r1, r3 8068f0a: b2d3 uxtb r3, r2 8068f0c: 3330 adds r3, #48 ; 0x30 8068f0e: b2db uxtb r3, r3 8068f10: 777b strb r3, [r7, #29] str[2] = ':'; 8068f12: 233a movs r3, #58 ; 0x3a 8068f14: 77bb strb r3, [r7, #30] str[3] = (mn / 10) + 48; 8068f16: 68bb ldr r3, [r7, #8] 8068f18: 4a16 ldr r2, [pc, #88] ; (8068f74 ) 8068f1a: fba2 2303 umull r2, r3, r2, r3 8068f1e: 08db lsrs r3, r3, #3 8068f20: b2db uxtb r3, r3 8068f22: 3330 adds r3, #48 ; 0x30 8068f24: b2db uxtb r3, r3 8068f26: 77fb strb r3, [r7, #31] str[4] = (mn % 10) + 48; 8068f28: 68b9 ldr r1, [r7, #8] 8068f2a: 4b12 ldr r3, [pc, #72] ; (8068f74 ) 8068f2c: fba3 2301 umull r2, r3, r3, r1 8068f30: 08da lsrs r2, r3, #3 8068f32: 4613 mov r3, r2 8068f34: 009b lsls r3, r3, #2 8068f36: 4413 add r3, r2 8068f38: 005b lsls r3, r3, #1 8068f3a: 1aca subs r2, r1, r3 8068f3c: b2d3 uxtb r3, r2 8068f3e: 3330 adds r3, #48 ; 0x30 8068f40: b2db uxtb r3, r3 8068f42: f887 3020 strb.w r3, [r7, #32] BSP_LCD_DisplayStringAt(297, 18+4, str, CENTER_MODE); 8068f46: f107 021c add.w r2, r7, #28 8068f4a: 2301 movs r3, #1 8068f4c: 2116 movs r1, #22 8068f4e: f240 1029 movw r0, #297 ; 0x129 8068f52: f7eb fc23 bl 805479c str[5] = ':'; str[6] = (sec / 10) + 48; str[7] = (sec % 10) + 48; BSP_LCD_DisplayStringAt(165, 18, str, CENTER_MODE);*/ } 8068f56: bf00 nop 8068f58: 3728 adds r7, #40 ; 0x28 8068f5a: 46bd mov sp, r7 8068f5c: bd80 pop {r7, pc} 8068f5e: bf00 nop 8068f60: 20025cb0 .word 0x20025cb0 8068f64: 200685d8 .word 0x200685d8 8068f68: 20025d34 .word 0x20025d34 8068f6c: ff0a0f1f .word 0xff0a0f1f 8068f70: 20020038 .word 0x20020038 8068f74: cccccccd .word 0xcccccccd 08068f78 : void DrawTemperature(void) { 8068f78: b580 push {r7, lr} 8068f7a: b084 sub sp, #16 8068f7c: af00 add r7, sp, #0 char str[12]; uint32_t l; if(SeeTemperature) 8068f7e: 4b25 ldr r3, [pc, #148] ; (8069014 ) 8068f80: 781b ldrb r3, [r3, #0] 8068f82: b2db uxtb r3, r3 8068f84: 2b00 cmp r3, #0 8068f86: d041 beq.n 806900c { memset(str, 0, sizeof(str)); 8068f88: 463b mov r3, r7 8068f8a: 220c movs r2, #12 8068f8c: 2100 movs r1, #0 8068f8e: 4618 mov r0, r3 8068f90: f068 fa06 bl 80d13a0 l = strlen(strT); 8068f94: 4820 ldr r0, [pc, #128] ; (8069018 ) 8068f96: f7b7 f9bd bl 8020314 8068f9a: 60f8 str r0, [r7, #12] if(l > 0) 8068f9c: 68fb ldr r3, [r7, #12] 8068f9e: 2b00 cmp r3, #0 8068fa0: d005 beq.n 8068fae strcpy(str, strT); 8068fa2: 463b mov r3, r7 8068fa4: 491c ldr r1, [pc, #112] ; (8069018 ) 8068fa6: 4618 mov r0, r3 8068fa8: f068 fb17 bl 80d15da 8068fac: e00d b.n 8068fca else { str[0] = ' '; 8068fae: 2320 movs r3, #32 8068fb0: 703b strb r3, [r7, #0] str[1] = ' '; 8068fb2: 2320 movs r3, #32 8068fb4: 707b strb r3, [r7, #1] str[2] = ' '; 8068fb6: 2320 movs r3, #32 8068fb8: 70bb strb r3, [r7, #2] str[3] = ' '; 8068fba: 2320 movs r3, #32 8068fbc: 70fb strb r3, [r7, #3] str[4] = ' '; 8068fbe: 2320 movs r3, #32 8068fc0: 713b strb r3, [r7, #4] str[5] = ' '; 8068fc2: 2320 movs r3, #32 8068fc4: 717b strb r3, [r7, #5] str[6] = ' '; 8068fc6: 2320 movs r3, #32 8068fc8: 71bb strb r3, [r7, #6] } str[7] = ' '; 8068fca: 2320 movs r3, #32 8068fcc: 71fb strb r3, [r7, #7] str[8] = 'C'; 8068fce: 2343 movs r3, #67 ; 0x43 8068fd0: 723b strb r3, [r7, #8] str[9] = '\0'; 8068fd2: 2300 movs r3, #0 8068fd4: 727b strb r3, [r7, #9] LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068fd6: 4911 ldr r1, [pc, #68] ; (806901c ) 8068fd8: f04f 30ff mov.w r0, #4294967295 8068fdc: f7eb fb18 bl 8054610 BSP_LCD_SetFont(&Font12); 8068fe0: 480f ldr r0, [pc, #60] ; (8069020 ) 8068fe2: f7eb fb51 bl 8054688 BSP_LCD_DisplayStringAt(/*73*/126, 7, str, LEFT_MODE); 8068fe6: 463a mov r2, r7 8068fe8: 2303 movs r3, #3 8068fea: 2107 movs r1, #7 8068fec: 207e movs r0, #126 ; 0x7e 8068fee: f7eb fbd5 bl 805479c BSP_LCD_SetFont(&Font8); 8068ff2: 480c ldr r0, [pc, #48] ; (8069024 ) 8068ff4: f7eb fb48 bl 8054688 str[0] = 'o'; 8068ff8: 236f movs r3, #111 ; 0x6f 8068ffa: 703b strb r3, [r7, #0] str[1] = '\0'; 8068ffc: 2300 movs r3, #0 8068ffe: 707b strb r3, [r7, #1] BSP_LCD_DisplayStringAt(/*124*/126+51, 4, str, LEFT_MODE); 8069000: 463a mov r2, r7 8069002: 2303 movs r3, #3 8069004: 2104 movs r1, #4 8069006: 20b1 movs r0, #177 ; 0xb1 8069008: f7eb fbc8 bl 805479c } } 806900c: bf00 nop 806900e: 3710 adds r7, #16 8069010: 46bd mov sp, r7 8069012: bd80 pop {r7, pc} 8069014: 20020fbb .word 0x20020fbb 8069018: 20025904 .word 0x20025904 806901c: ff0a0f1f .word 0xff0a0f1f 8069020: 20020038 .word 0x20020038 8069024: 20020060 .word 0x20020060 08069028 : void DrawBat(void) { 8069028: b580 push {r7, lr} 806902a: b08e sub sp, #56 ; 0x38 806902c: af00 add r7, sp, #0 uint16_t x, y; static uint8_t ChrgState = 0; GUI_BITMAP img100, img75, img50, img25; if(menu == POWER_OFF) 806902e: 4b6d ldr r3, [pc, #436] ; (80691e4 ) 8069030: 781b ldrb r3, [r3, #0] 8069032: b2db uxtb r3, r3 8069034: 2b43 cmp r3, #67 ; 0x43 8069036: d11b bne.n 8069070 { x = 136; 8069038: 2388 movs r3, #136 ; 0x88 806903a: 86fb strh r3, [r7, #54] ; 0x36 y = 61; 806903c: 233d movs r3, #61 ; 0x3d 806903e: 86bb strh r3, [r7, #52] ; 0x34 img100 = bmB100; 8069040: 4a69 ldr r2, [pc, #420] ; (80691e8 ) 8069042: f107 0328 add.w r3, r7, #40 ; 0x28 8069046: ca07 ldmia r2, {r0, r1, r2} 8069048: e883 0007 stmia.w r3, {r0, r1, r2} img75 = bmB75; 806904c: 4a67 ldr r2, [pc, #412] ; (80691ec ) 806904e: f107 031c add.w r3, r7, #28 8069052: ca07 ldmia r2, {r0, r1, r2} 8069054: e883 0007 stmia.w r3, {r0, r1, r2} img50 = bmB50; 8069058: 4a65 ldr r2, [pc, #404] ; (80691f0 ) 806905a: f107 0310 add.w r3, r7, #16 806905e: ca07 ldmia r2, {r0, r1, r2} 8069060: e883 0007 stmia.w r3, {r0, r1, r2} img25 = bmB25; 8069064: 4a63 ldr r2, [pc, #396] ; (80691f4 ) 8069066: 1d3b adds r3, r7, #4 8069068: ca07 ldmia r2, {r0, r1, r2} 806906a: e883 0007 stmia.w r3, {r0, r1, r2} 806906e: e01a b.n 80690a6 } else { x = 255;//235; 8069070: 23ff movs r3, #255 ; 0xff 8069072: 86fb strh r3, [r7, #54] ; 0x36 y = 0+4; 8069074: 2304 movs r3, #4 8069076: 86bb strh r3, [r7, #52] ; 0x34 img100 = bmBat100; 8069078: 4a5f ldr r2, [pc, #380] ; (80691f8 ) 806907a: f107 0328 add.w r3, r7, #40 ; 0x28 806907e: ca07 ldmia r2, {r0, r1, r2} 8069080: e883 0007 stmia.w r3, {r0, r1, r2} img75 = bmBat75; 8069084: 4a5d ldr r2, [pc, #372] ; (80691fc ) 8069086: f107 031c add.w r3, r7, #28 806908a: ca07 ldmia r2, {r0, r1, r2} 806908c: e883 0007 stmia.w r3, {r0, r1, r2} img50 = bmBat50; 8069090: 4a5b ldr r2, [pc, #364] ; (8069200 ) 8069092: f107 0310 add.w r3, r7, #16 8069096: ca07 ldmia r2, {r0, r1, r2} 8069098: e883 0007 stmia.w r3, {r0, r1, r2} img25 = bmBat25; 806909c: 4a59 ldr r2, [pc, #356] ; (8069204 ) 806909e: 1d3b adds r3, r7, #4 80690a0: ca07 ldmia r2, {r0, r1, r2} 80690a2: 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) 80690a6: 4b58 ldr r3, [pc, #352] ; (8069208 ) 80690a8: 781b ldrb r3, [r3, #0] 80690aa: b2db uxtb r3, r3 80690ac: f083 0301 eor.w r3, r3, #1 80690b0: b2db uxtb r3, r3 80690b2: 2b00 cmp r3, #0 80690b4: d041 beq.n 806913a { if(!TIMEOUT_BAT) 80690b6: 4b55 ldr r3, [pc, #340] ; (806920c ) 80690b8: 681b ldr r3, [r3, #0] 80690ba: 2b00 cmp r3, #0 80690bc: f040 808e bne.w 80691dc { if((StateBattery == 0xf) || (StateBattery == 0x1f)) 80690c0: 4b53 ldr r3, [pc, #332] ; (8069210 ) 80690c2: 781b ldrb r3, [r3, #0] 80690c4: b2db uxtb r3, r3 80690c6: 2b0f cmp r3, #15 80690c8: d004 beq.n 80690d4 80690ca: 4b51 ldr r3, [pc, #324] ; (8069210 ) 80690cc: 781b ldrb r3, [r3, #0] 80690ce: b2db uxtb r3, r3 80690d0: 2b1f cmp r3, #31 80690d2: d107 bne.n 80690e4 DrawImage(&img100, x, y); 80690d4: 8eba ldrh r2, [r7, #52] ; 0x34 80690d6: 8ef9 ldrh r1, [r7, #54] ; 0x36 80690d8: f107 0328 add.w r3, r7, #40 ; 0x28 80690dc: 4618 mov r0, r3 80690de: f7ec f98b bl 80553f8 else { DrawImage(&img100, x, y); // BATTERY FULLY CHARGED } } } 80690e2: e07b b.n 80691dc if(StateBattery == 0x7) 80690e4: 4b4a ldr r3, [pc, #296] ; (8069210 ) 80690e6: 781b ldrb r3, [r3, #0] 80690e8: b2db uxtb r3, r3 80690ea: 2b07 cmp r3, #7 80690ec: d107 bne.n 80690fe DrawImage(&img75, x, y); 80690ee: 8eba ldrh r2, [r7, #52] ; 0x34 80690f0: 8ef9 ldrh r1, [r7, #54] ; 0x36 80690f2: f107 031c add.w r3, r7, #28 80690f6: 4618 mov r0, r3 80690f8: f7ec f97e bl 80553f8 } 80690fc: e06e b.n 80691dc if(StateBattery == 0x3) 80690fe: 4b44 ldr r3, [pc, #272] ; (8069210 ) 8069100: 781b ldrb r3, [r3, #0] 8069102: b2db uxtb r3, r3 8069104: 2b03 cmp r3, #3 8069106: d107 bne.n 8069118 DrawImage(&img50, x, y); 8069108: 8eba ldrh r2, [r7, #52] ; 0x34 806910a: 8ef9 ldrh r1, [r7, #54] ; 0x36 806910c: f107 0310 add.w r3, r7, #16 8069110: 4618 mov r0, r3 8069112: f7ec f971 bl 80553f8 } 8069116: e061 b.n 80691dc if((StateBattery == 0x1) || (StateBattery == 0)) 8069118: 4b3d ldr r3, [pc, #244] ; (8069210 ) 806911a: 781b ldrb r3, [r3, #0] 806911c: b2db uxtb r3, r3 806911e: 2b01 cmp r3, #1 8069120: d004 beq.n 806912c 8069122: 4b3b ldr r3, [pc, #236] ; (8069210 ) 8069124: 781b ldrb r3, [r3, #0] 8069126: b2db uxtb r3, r3 8069128: 2b00 cmp r3, #0 806912a: d157 bne.n 80691dc DrawImage(&img25, x, y); 806912c: 8eba ldrh r2, [r7, #52] ; 0x34 806912e: 8ef9 ldrh r1, [r7, #54] ; 0x36 8069130: 1d3b adds r3, r7, #4 8069132: 4618 mov r0, r3 8069134: f7ec f960 bl 80553f8 } 8069138: e050 b.n 80691dc if(StateBattery != 0x1f) 806913a: 4b35 ldr r3, [pc, #212] ; (8069210 ) 806913c: 781b ldrb r3, [r3, #0] 806913e: b2db uxtb r3, r3 8069140: 2b1f cmp r3, #31 8069142: d044 beq.n 80691ce if(cntBat) 8069144: 4b33 ldr r3, [pc, #204] ; (8069214 ) 8069146: 781b ldrb r3, [r3, #0] 8069148: b2db uxtb r3, r3 806914a: 2b00 cmp r3, #0 806914c: d010 beq.n 8069170 cntBat = 0; 806914e: 4b31 ldr r3, [pc, #196] ; (8069214 ) 8069150: 2200 movs r2, #0 8069152: 701a strb r2, [r3, #0] if(ChrgState < 3) 8069154: 4b30 ldr r3, [pc, #192] ; (8069218 ) 8069156: 781b ldrb r3, [r3, #0] 8069158: 2b02 cmp r3, #2 806915a: d806 bhi.n 806916a ChrgState++; 806915c: 4b2e ldr r3, [pc, #184] ; (8069218 ) 806915e: 781b ldrb r3, [r3, #0] 8069160: 3301 adds r3, #1 8069162: b2da uxtb r2, r3 8069164: 4b2c ldr r3, [pc, #176] ; (8069218 ) 8069166: 701a strb r2, [r3, #0] 8069168: e002 b.n 8069170 else ChrgState = 0; 806916a: 4b2b ldr r3, [pc, #172] ; (8069218 ) 806916c: 2200 movs r2, #0 806916e: 701a strb r2, [r3, #0] if(ChrgState == 0) 8069170: 4b29 ldr r3, [pc, #164] ; (8069218 ) 8069172: 781b ldrb r3, [r3, #0] 8069174: 2b00 cmp r3, #0 8069176: d106 bne.n 8069186 DrawImage(&img25, x, y); 8069178: 8eba ldrh r2, [r7, #52] ; 0x34 806917a: 8ef9 ldrh r1, [r7, #54] ; 0x36 806917c: 1d3b adds r3, r7, #4 806917e: 4618 mov r0, r3 8069180: f7ec f93a bl 80553f8 } 8069184: e02a b.n 80691dc if(ChrgState == 1) 8069186: 4b24 ldr r3, [pc, #144] ; (8069218 ) 8069188: 781b ldrb r3, [r3, #0] 806918a: 2b01 cmp r3, #1 806918c: d107 bne.n 806919e DrawImage(&img50, x, y); 806918e: 8eba ldrh r2, [r7, #52] ; 0x34 8069190: 8ef9 ldrh r1, [r7, #54] ; 0x36 8069192: f107 0310 add.w r3, r7, #16 8069196: 4618 mov r0, r3 8069198: f7ec f92e bl 80553f8 } 806919c: e01e b.n 80691dc if(ChrgState == 2) 806919e: 4b1e ldr r3, [pc, #120] ; (8069218 ) 80691a0: 781b ldrb r3, [r3, #0] 80691a2: 2b02 cmp r3, #2 80691a4: d107 bne.n 80691b6 DrawImage(&img75, x, y); 80691a6: 8eba ldrh r2, [r7, #52] ; 0x34 80691a8: 8ef9 ldrh r1, [r7, #54] ; 0x36 80691aa: f107 031c add.w r3, r7, #28 80691ae: 4618 mov r0, r3 80691b0: f7ec f922 bl 80553f8 } 80691b4: e012 b.n 80691dc if(ChrgState == 3) 80691b6: 4b18 ldr r3, [pc, #96] ; (8069218 ) 80691b8: 781b ldrb r3, [r3, #0] 80691ba: 2b03 cmp r3, #3 80691bc: d10e bne.n 80691dc DrawImage(&img100, x, y); 80691be: 8eba ldrh r2, [r7, #52] ; 0x34 80691c0: 8ef9 ldrh r1, [r7, #54] ; 0x36 80691c2: f107 0328 add.w r3, r7, #40 ; 0x28 80691c6: 4618 mov r0, r3 80691c8: f7ec f916 bl 80553f8 } 80691cc: e006 b.n 80691dc DrawImage(&img100, x, y); // BATTERY FULLY CHARGED 80691ce: 8eba ldrh r2, [r7, #52] ; 0x34 80691d0: 8ef9 ldrh r1, [r7, #54] ; 0x36 80691d2: f107 0328 add.w r3, r7, #40 ; 0x28 80691d6: 4618 mov r0, r3 80691d8: f7ec f90e bl 80553f8 } 80691dc: bf00 nop 80691de: 3738 adds r7, #56 ; 0x38 80691e0: 46bd mov sp, r7 80691e2: bd80 pop {r7, pc} 80691e4: 20020fbd .word 0x20020fbd 80691e8: 0810b5d4 .word 0x0810b5d4 80691ec: 08115504 .word 0x08115504 80691f0: 08111ff4 .word 0x08111ff4 80691f4: 0810eae4 .word 0x0810eae4 80691f8: 08116284 .word 0x08116284 80691fc: 08116e78 .word 0x08116e78 8069200: 08116a7c .word 0x08116a7c 8069204: 08116680 .word 0x08116680 8069208: 20021b6a .word 0x20021b6a 806920c: 200209d4 .word 0x200209d4 8069210: 20020008 .word 0x20020008 8069214: 200216d3 .word 0x200216d3 8069218: 200216a1 .word 0x200216a1 806921c: 00000000 .word 0x00000000 08069220 : void Display(void) { 8069220: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 8069224: f2ad 4d74 subw sp, sp, #1140 ; 0x474 8069228: 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;; 806922a: 2300 movs r3, #0 806922c: f8c7 3444 str.w r3, [r7, #1092] ; 0x444 8069230: 2300 movs r3, #0 8069232: 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; 8069236: 2300 movs r3, #0 8069238: 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; 806923c: 2300 movs r3, #0 806923e: 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)) 8069242: 4b90 ldr r3, [pc, #576] ; (8069484 ) 8069244: 781b ldrb r3, [r3, #0] 8069246: b2db uxtb r3, r3 8069248: 2b00 cmp r3, #0 806924a: d005 beq.n 8069258 806924c: 4b8e ldr r3, [pc, #568] ; (8069488 ) 806924e: 781b ldrb r3, [r3, #0] 8069250: b2db uxtb r3, r3 8069252: 2b25 cmp r3, #37 ; 0x25 8069254: f02f 81fe beq.w 8098654 return; blk++; 8069258: 4b8c ldr r3, [pc, #560] ; (806948c ) 806925a: 681b ldr r3, [r3, #0] 806925c: 3301 adds r3, #1 806925e: 4a8b ldr r2, [pc, #556] ; (806948c ) 8069260: 6013 str r3, [r2, #0] if(blk > 3) 8069262: 4b8a ldr r3, [pc, #552] ; (806948c ) 8069264: 681b ldr r3, [r3, #0] 8069266: 2b03 cmp r3, #3 8069268: d905 bls.n 8069276 { blk = 0; 806926a: 4b88 ldr r3, [pc, #544] ; (806948c ) 806926c: 2200 movs r2, #0 806926e: 601a str r2, [r3, #0] bll = true; 8069270: 2301 movs r3, #1 8069272: f887 343f strb.w r3, [r7, #1087] ; 0x43f } blink++; 8069276: 4b86 ldr r3, [pc, #536] ; (8069490 ) 8069278: 681b ldr r3, [r3, #0] 806927a: 3301 adds r3, #1 806927c: 4a84 ldr r2, [pc, #528] ; (8069490 ) 806927e: 6013 str r3, [r2, #0] if(blink > 8) 8069280: 4b83 ldr r3, [pc, #524] ; (8069490 ) 8069282: 681b ldr r3, [r3, #0] 8069284: 2b08 cmp r3, #8 8069286: d905 bls.n 8069294 { blink = 0; 8069288: 4b81 ldr r3, [pc, #516] ; (8069490 ) 806928a: 2200 movs r2, #0 806928c: 601a str r2, [r3, #0] bl = true; 806928e: 2301 movs r3, #1 8069290: f887 3453 strb.w r3, [r7, #1107] ; 0x453 } Redrawing = true; 8069294: 4b7f ldr r3, [pc, #508] ; (8069494 ) 8069296: 2201 movs r2, #1 8069298: 701a strb r2, [r3, #0] BSP_LCD_Clear(LCD_COLOR_CLEAR); 806929a: 487f ldr r0, [pc, #508] ; (8069498 ) 806929c: f7eb fa12 bl 80546c4 //*************************************************** ÎÒÐÈÑÎÂÊÀ ÑÒÐÎÊÈ ÑÒÀÒÓÑÀ (ÂÅÐÕ ÄÈÑÏËÅß Ñ ×ÀÑÀÌÈ È ÁÀÒÀÐÅÅÉ) **************************************************************// if(Initialized) { 80692a0: 4b7e ldr r3, [pc, #504] ; (806949c ) 80692a2: 781b ldrb r3, [r3, #0] 80692a4: b2db uxtb r3, r3 80692a6: 2b00 cmp r3, #0 80692a8: d005 beq.n 80692b6 DrawImage(&bmBLE, 308-16, 4); //todo 80692aa: 2204 movs r2, #4 80692ac: f44f 7192 mov.w r1, #292 ; 0x124 80692b0: 487b ldr r0, [pc, #492] ; (80694a0 ) 80692b2: f7ec f8a1 bl 80553f8 LCD_SetColors(LCD_COLOR_DARKCYAN, LCD_COLOR_BLACK); BSP_LCD_DisplayStringAt(165, 17+4, "ÏÅÐÅÃÐÓÇÊÀ", CENTER_MODE);*/ DrawTime(); 80692b6: f7ff fdf3 bl 8068ea0 DrawBat(); 80692ba: f7ff feb5 bl 8069028 DrawTemperature(); 80692be: f7ff fe5b bl 8068f78 if(CardState & MSD_PRESENT) 80692c2: 4b78 ldr r3, [pc, #480] ; (80694a4 ) 80692c4: 781b ldrb r3, [r3, #0] 80692c6: b2db uxtb r3, r3 80692c8: f003 0301 and.w r3, r3, #1 80692cc: 2b00 cmp r3, #0 80692ce: d014 beq.n 80692fa { xz = 45; 80692d0: 232d movs r3, #45 ; 0x2d 80692d2: f8a7 346e strh.w r3, [r7, #1134] ; 0x46e DrawImage(&bmSD_Card, 5, 3+4); 80692d6: 2207 movs r2, #7 80692d8: 2105 movs r1, #5 80692da: 4873 ldr r0, [pc, #460] ; (80694a8 ) 80692dc: f7ec f88c bl 80553f8 if((CardState == MSD_READY) && (menu != LINK_PC)) { 80692e0: 4b70 ldr r3, [pc, #448] ; (80694a4 ) 80692e2: 781b ldrb r3, [r3, #0] 80692e4: b2db uxtb r3, r3 80692e6: 2b03 cmp r3, #3 80692e8: d10a bne.n 8069300 80692ea: 4b67 ldr r3, [pc, #412] ; (8069488 ) 80692ec: 781b ldrb r3, [r3, #0] 80692ee: b2db uxtb r3, r3 80692f0: 2b42 cmp r3, #66 ; 0x42 80692f2: d005 beq.n 8069300 DrawSizeSD(); 80692f4: f048 fb34 bl 80b1960 80692f8: e002 b.n 8069300 } } else xz = 5; 80692fa: 2305 movs r3, #5 80692fc: f8a7 346e strh.w r3, [r7, #1134] ; 0x46e if((menu == MAIN_ROLL) || (menu == PARAM_ROLL) || (menu == ROLL_RESULTS) || (menu == VIEW_PORTRET)) 8069300: 4b61 ldr r3, [pc, #388] ; (8069488 ) 8069302: 781b ldrb r3, [r3, #0] 8069304: b2db uxtb r3, r3 8069306: 2b24 cmp r3, #36 ; 0x24 8069308: d00e beq.n 8069328 806930a: 4b5f ldr r3, [pc, #380] ; (8069488 ) 806930c: 781b ldrb r3, [r3, #0] 806930e: b2db uxtb r3, r3 8069310: 2b0d cmp r3, #13 8069312: d009 beq.n 8069328 8069314: 4b5c ldr r3, [pc, #368] ; (8069488 ) 8069316: 781b ldrb r3, [r3, #0] 8069318: b2db uxtb r3, r3 806931a: 2b27 cmp r3, #39 ; 0x27 806931c: d004 beq.n 8069328 806931e: 4b5a ldr r3, [pc, #360] ; (8069488 ) 8069320: 781b ldrb r3, [r3, #0] 8069322: b2db uxtb r3, r3 8069324: 2b28 cmp r3, #40 ; 0x28 8069326: d107 bne.n 8069338 { DrawImage(&bmBRNico, xz, 1+4); 8069328: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806932c: 2205 movs r2, #5 806932e: 4619 mov r1, r3 8069330: 485e ldr r0, [pc, #376] ; (80694ac ) 8069332: f7ec f861 bl 80553f8 8069336: e0dc b.n 80694f2 } else if((menu == MAIN) || (menu == MAIN_FRAN) || (menu == PARAM_VIB)) 8069338: 4b53 ldr r3, [pc, #332] ; (8069488 ) 806933a: 781b ldrb r3, [r3, #0] 806933c: b2db uxtb r3, r3 806933e: 2b00 cmp r3, #0 8069340: d009 beq.n 8069356 8069342: 4b51 ldr r3, [pc, #324] ; (8069488 ) 8069344: 781b ldrb r3, [r3, #0] 8069346: b2db uxtb r3, r3 8069348: 2b1f cmp r3, #31 806934a: d004 beq.n 8069356 806934c: 4b4e ldr r3, [pc, #312] ; (8069488 ) 806934e: 781b ldrb r3, [r3, #0] 8069350: b2db uxtb r3, r3 8069352: 2b06 cmp r3, #6 8069354: d107 bne.n 8069366 { DrawImage(&bmVIB, xz, 1+4); 8069356: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806935a: 2205 movs r2, #5 806935c: 4619 mov r1, r3 806935e: 4854 ldr r0, [pc, #336] ; (80694b0 ) 8069360: f7ec f84a bl 80553f8 8069364: e0c5 b.n 80694f2 } else if((menu == MAIN_OSC) || (menu == PARAM_OSC)) 8069366: 4b48 ldr r3, [pc, #288] ; (8069488 ) 8069368: 781b ldrb r3, [r3, #0] 806936a: b2db uxtb r3, r3 806936c: 2b1d cmp r3, #29 806936e: d004 beq.n 806937a 8069370: 4b45 ldr r3, [pc, #276] ; (8069488 ) 8069372: 781b ldrb r3, [r3, #0] 8069374: b2db uxtb r3, r3 8069376: 2b08 cmp r3, #8 8069378: d107 bne.n 806938a { DrawImage(&bmOSC, xz, 1+4); 806937a: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806937e: 2205 movs r2, #5 8069380: 4619 mov r1, r3 8069382: 484c ldr r0, [pc, #304] ; (80694b4 ) 8069384: f7ec f838 bl 80553f8 8069388: e0b3 b.n 80694f2 } else if(menu == PARAM_SPEC) 806938a: 4b3f ldr r3, [pc, #252] ; (8069488 ) 806938c: 781b ldrb r3, [r3, #0] 806938e: b2db uxtb r3, r3 8069390: 2b07 cmp r3, #7 8069392: d131 bne.n 80693f8 { switch(pardata.OPTIONS & maskFFT) 8069394: 4b48 ldr r3, [pc, #288] ; (80694b8 ) 8069396: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806939a: f003 0330 and.w r3, r3, #48 ; 0x30 806939e: 2b10 cmp r3, #16 80693a0: d011 beq.n 80693c6 80693a2: 2b10 cmp r3, #16 80693a4: d802 bhi.n 80693ac 80693a6: 2b00 cmp r3, #0 80693a8: d005 beq.n 80693b6 80693aa: e0a2 b.n 80694f2 80693ac: 2b20 cmp r3, #32 80693ae: d012 beq.n 80693d6 80693b0: 2b30 cmp r3, #48 ; 0x30 80693b2: d018 beq.n 80693e6 80693b4: e09d b.n 80694f2 { case fft: DrawImage(&bmFFT, xz, 1+4); break; 80693b6: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80693ba: 2205 movs r2, #5 80693bc: 4619 mov r1, r3 80693be: 483f ldr r0, [pc, #252] ; (80694bc ) 80693c0: f7ec f81a bl 80553f8 80693c4: e095 b.n 80694f2 case env: DrawImage(&bmENV, xz, 1+4); break; 80693c6: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80693ca: 2205 movs r2, #5 80693cc: 4619 mov r1, r3 80693ce: 483c ldr r0, [pc, #240] ; (80694c0 ) 80693d0: f7ec f812 bl 80553f8 80693d4: e08d b.n 80694f2 case okt: DrawImage(&bmOKT, xz, 1+4); break; 80693d6: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80693da: 2205 movs r2, #5 80693dc: 4619 mov r1, r3 80693de: 4839 ldr r0, [pc, #228] ; (80694c4 ) 80693e0: f7ec f80a bl 80553f8 80693e4: e085 b.n 80694f2 case third: DrawImage(&bmTHIRD, xz, 1+4); break; 80693e6: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80693ea: 2205 movs r2, #5 80693ec: 4619 mov r1, r3 80693ee: 4836 ldr r0, [pc, #216] ; (80694c8 ) 80693f0: f7ec f802 bl 80553f8 80693f4: bf00 nop 80693f6: e07c b.n 80694f2 } } else if(menu == MAIN_SPEC) 80693f8: 4b23 ldr r3, [pc, #140] ; (8069488 ) 80693fa: 781b ldrb r3, [r3, #0] 80693fc: b2db uxtb r3, r3 80693fe: 2b1c cmp r3, #28 8069400: d107 bne.n 8069412 { DrawImage(&bmFFT, xz, 1+4); 8069402: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8069406: 2205 movs r2, #5 8069408: 4619 mov r1, r3 806940a: 482c ldr r0, [pc, #176] ; (80694bc ) 806940c: f7eb fff4 bl 80553f8 8069410: e06f b.n 80694f2 } else if(menu == MAIN_SPEC_OGIB) 8069412: 4b1d ldr r3, [pc, #116] ; (8069488 ) 8069414: 781b ldrb r3, [r3, #0] 8069416: b2db uxtb r3, r3 8069418: 2b21 cmp r3, #33 ; 0x21 806941a: d107 bne.n 806942c { DrawImage(&bmENV, xz, 1+4); 806941c: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8069420: 2205 movs r2, #5 8069422: 4619 mov r1, r3 8069424: 4826 ldr r0, [pc, #152] ; (80694c0 ) 8069426: f7eb ffe7 bl 80553f8 806942a: e062 b.n 80694f2 } else if(menu == MAIN_SPEC_OKT) 806942c: 4b16 ldr r3, [pc, #88] ; (8069488 ) 806942e: 781b ldrb r3, [r3, #0] 8069430: b2db uxtb r3, r3 8069432: 2b22 cmp r3, #34 ; 0x22 8069434: d107 bne.n 8069446 { DrawImage(&bmOKT, xz, 1+4); 8069436: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806943a: 2205 movs r2, #5 806943c: 4619 mov r1, r3 806943e: 4821 ldr r0, [pc, #132] ; (80694c4 ) 8069440: f7eb ffda bl 80553f8 8069444: e055 b.n 80694f2 } else if(menu == MAIN_SPEC_THIRD) 8069446: 4b10 ldr r3, [pc, #64] ; (8069488 ) 8069448: 781b ldrb r3, [r3, #0] 806944a: b2db uxtb r3, r3 806944c: 2b23 cmp r3, #35 ; 0x23 806944e: d107 bne.n 8069460 { DrawImage(&bmTHIRD, xz, 1+4); 8069450: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8069454: 2205 movs r2, #5 8069456: 4619 mov r1, r3 8069458: 481b ldr r0, [pc, #108] ; (80694c8 ) 806945a: f7eb ffcd bl 80553f8 806945e: e048 b.n 80694f2 } else if((menu == MAIN_WAVE) || (menu == PARAM_WAVE)) 8069460: 4b09 ldr r3, [pc, #36] ; (8069488 ) 8069462: 781b ldrb r3, [r3, #0] 8069464: b2db uxtb r3, r3 8069466: 2b1e cmp r3, #30 8069468: d004 beq.n 8069474 806946a: 4b07 ldr r3, [pc, #28] ; (8069488 ) 806946c: 781b ldrb r3, [r3, #0] 806946e: b2db uxtb r3, r3 8069470: 2b0a cmp r3, #10 8069472: d12d bne.n 80694d0 { DrawImage(&bmREC, xz, 1+4); 8069474: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8069478: 2205 movs r2, #5 806947a: 4619 mov r1, r3 806947c: 4813 ldr r0, [pc, #76] ; (80694cc ) 806947e: f7eb ffbb bl 80553f8 8069482: e036 b.n 80694f2 8069484: 20020d9f .word 0x20020d9f 8069488: 20020fbd .word 0x20020fbd 806948c: 200216a4 .word 0x200216a4 8069490: 200216a8 .word 0x200216a8 8069494: 20021680 .word 0x20021680 8069498: ff0a0f1f .word 0xff0a0f1f 806949c: 20020f55 .word 0x20020f55 80694a0: 0811585c .word 0x0811585c 80694a4: 20021694 .word 0x20021694 80694a8: 0814c2e0 .word 0x0814c2e0 80694ac: 08115e88 .word 0x08115e88 80694b0: 081617c8 .word 0x081617c8 80694b4: 08142828 .word 0x08142828 80694b8: 20023ea8 .word 0x20023ea8 80694bc: 08117ad0 .word 0x08117ad0 80694c0: 081174a4 .word 0x081174a4 80694c4: 08140b8c .word 0x08140b8c 80694c8: 0814df7c .word 0x0814df7c 80694cc: 08148e40 .word 0x08148e40 } else if((menu == MAIN_DIAGN) || (menu == PARAM_DIAGN)) 80694d0: 4bcd ldr r3, [pc, #820] ; (8069808 ) 80694d2: 781b ldrb r3, [r3, #0] 80694d4: b2db uxtb r3, r3 80694d6: 2b26 cmp r3, #38 ; 0x26 80694d8: d004 beq.n 80694e4 80694da: 4bcb ldr r3, [pc, #812] ; (8069808 ) 80694dc: 781b ldrb r3, [r3, #0] 80694de: b2db uxtb r3, r3 80694e0: 2b0f cmp r3, #15 80694e2: d106 bne.n 80694f2 { DrawImage(&bmVCTico, xz, 1+4); 80694e4: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80694e8: 2205 movs r2, #5 80694ea: 4619 mov r1, r3 80694ec: 48c7 ldr r0, [pc, #796] ; (806980c ) 80694ee: f7eb ff83 bl 80553f8 } LCD_SetColors(LCD_COLOR_DARKCYAN, LCD_COLOR_BLACK); 80694f2: 49c7 ldr r1, [pc, #796] ; (8069810 ) 80694f4: 48c7 ldr r0, [pc, #796] ; (8069814 ) 80694f6: f7eb f88b bl 8054610 BSP_LCD_SetFont(&Font12); 80694fa: 48c7 ldr r0, [pc, #796] ; (8069818 ) 80694fc: f7eb f8c4 bl 8054688 if((menu == MAIN) || (menu >= MAIN_SPEC && menu <= MAIN_DIAGN)) 8069500: 4bc1 ldr r3, [pc, #772] ; (8069808 ) 8069502: 781b ldrb r3, [r3, #0] 8069504: b2db uxtb r3, r3 8069506: 2b00 cmp r3, #0 8069508: d009 beq.n 806951e 806950a: 4bbf ldr r3, [pc, #764] ; (8069808 ) 806950c: 781b ldrb r3, [r3, #0] 806950e: b2db uxtb r3, r3 8069510: 2b1b cmp r3, #27 8069512: d928 bls.n 8069566 8069514: 4bbc ldr r3, [pc, #752] ; (8069808 ) 8069516: 781b ldrb r3, [r3, #0] 8069518: b2db uxtb r3, r3 806951a: 2b26 cmp r3, #38 ; 0x26 806951c: d823 bhi.n 8069566 { if((OVERDRIVE) && (bl) && (measuring)) 806951e: 4bbf ldr r3, [pc, #764] ; (806981c ) 8069520: 781b ldrb r3, [r3, #0] 8069522: b2db uxtb r3, r3 8069524: 2b00 cmp r3, #0 8069526: d01e beq.n 8069566 8069528: f897 3453 ldrb.w r3, [r7, #1107] ; 0x453 806952c: 2b00 cmp r3, #0 806952e: d01a beq.n 8069566 8069530: 4bbb ldr r3, [pc, #748] ; (8069820 ) 8069532: 781b ldrb r3, [r3, #0] 8069534: b2db uxtb r3, r3 8069536: 2b00 cmp r3, #0 8069538: d015 beq.n 8069566 { LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 806953a: 49b5 ldr r1, [pc, #724] ; (8069810 ) 806953c: 48b9 ldr r0, [pc, #740] ; (8069824 ) 806953e: f7eb f867 bl 8054610 if(pardata.LANG == RUS) 8069542: 4bb9 ldr r3, [pc, #740] ; (8069828 ) 8069544: 7b1b ldrb r3, [r3, #12] 8069546: b2db uxtb r3, r3 8069548: 2b00 cmp r3, #0 806954a: d106 bne.n 806955a BSP_LCD_DisplayStringAt(165, 17+4, "ÏÅÐÅÃÐÓÇÊÀ", CENTER_MODE); 806954c: 2301 movs r3, #1 806954e: 4ab7 ldr r2, [pc, #732] ; (806982c ) 8069550: 2115 movs r1, #21 8069552: 20a5 movs r0, #165 ; 0xa5 8069554: f7eb f922 bl 805479c 8069558: e005 b.n 8069566 else BSP_LCD_DisplayStringAt(165, 17+4, "OVERLOAD", CENTER_MODE); 806955a: 2301 movs r3, #1 806955c: 4ab4 ldr r2, [pc, #720] ; (8069830 ) 806955e: 2115 movs r1, #21 8069560: 20a5 movs r0, #165 ; 0xa5 8069562: f7eb f91b bl 805479c } } //==========================================================================================================================// //--------------------------------------------------------------------------------------------------------------------------// //==========================================================================================================================// switch(menu) 8069566: 4ba8 ldr r3, [pc, #672] ; (8069808 ) 8069568: 781b ldrb r3, [r3, #0] 806956a: b2db uxtb r3, r3 806956c: 2b48 cmp r3, #72 ; 0x48 806956e: f22f 805d bhi.w 809862c 8069572: a201 add r2, pc, #4 ; (adr r2, 8069578 ) 8069574: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8069578: 08073051 .word 0x08073051 806957c: 08075949 .word 0x08075949 8069580: 0807677d .word 0x0807677d 8069584: 0809664f .word 0x0809664f 8069588: 0806969d .word 0x0806969d 806958c: 0809862d .word 0x0809862d 8069590: 0807a5b5 .word 0x0807a5b5 8069594: 080839ef .word 0x080839ef 8069598: 0808d9f5 .word 0x0808d9f5 806959c: 0809862d .word 0x0809862d 80695a0: 080904dd .word 0x080904dd 80695a4: 0809862d .word 0x0809862d 80695a8: 0809862d .word 0x0809862d 80695ac: 0807fa6d .word 0x0807fa6d 80695b0: 0807ed01 .word 0x0807ed01 80695b4: 08089a33 .word 0x08089a33 80695b8: 0808a6b9 .word 0x0808a6b9 80695bc: 0808ab4f .word 0x0808ab4f 80695c0: 08076fcd .word 0x08076fcd 80695c4: 0809862d .word 0x0809862d 80695c8: 08076643 .word 0x08076643 80695cc: 08094423 .word 0x08094423 80695d0: 08094ba9 .word 0x08094ba9 80695d4: 08095279 .word 0x08095279 80695d8: 080796d1 .word 0x080796d1 80695dc: 0809862d .word 0x0809862d 80695e0: 0809862d .word 0x0809862d 80695e4: 0809862d .word 0x0809862d 80695e8: 08073a79 .word 0x08073a79 80695ec: 08073ec1 .word 0x08073ec1 80695f0: 08073fcf .word 0x08073fcf 80695f4: 08073051 .word 0x08073051 80695f8: 080754e3 .word 0x080754e3 80695fc: 08073a79 .word 0x08073a79 8069600: 08073bd5 .word 0x08073bd5 8069604: 08073d69 .word 0x08073d69 8069608: 080737b5 .word 0x080737b5 806960c: 08074c0d .word 0x08074c0d 8069610: 08072a37 .word 0x08072a37 8069614: 08073935 .word 0x08073935 8069618: 080738f7 .word 0x080738f7 806961c: 08093387 .word 0x08093387 8069620: 08093a73 .word 0x08093a73 8069624: 0809421d .word 0x0809421d 8069628: 0809421d .word 0x0809421d 806962c: 0809421d .word 0x0809421d 8069630: 0809862d .word 0x0809862d 8069634: 0809421d .word 0x0809421d 8069638: 0809421d .word 0x0809421d 806963c: 0809421d .word 0x0809421d 8069640: 0809421d .word 0x0809421d 8069644: 0809421d .word 0x0809421d 8069648: 08096b69 .word 0x08096b69 806964c: 08096f33 .word 0x08096f33 8069650: 08097169 .word 0x08097169 8069654: 08097349 .word 0x08097349 8069658: 08097589 .word 0x08097589 806965c: 080977b9 .word 0x080977b9 8069660: 08097999 .word 0x08097999 8069664: 08097bd5 .word 0x08097bd5 8069668: 08097e05 .word 0x08097e05 806966c: 08097fe1 .word 0x08097fe1 8069670: 0809821b .word 0x0809821b 8069674: 08098301 .word 0x08098301 8069678: 080983e7 .word 0x080983e7 806967c: 0809851f .word 0x0809851f 8069680: 08098585 .word 0x08098585 8069684: 080985c5 .word 0x080985c5 8069688: 0809862d .word 0x0809862d 806968c: 0806afab .word 0x0806afab 8069690: 0806afab .word 0x0806afab 8069694: 0806afab .word 0x0806afab 8069698: 0806af3b .word 0x0806af3b { case ROUTE_MAP: LCD_SetColors(LCD_COLOR_DARKCYAN, LCD_COLOR_BLACK); 806969c: 495c ldr r1, [pc, #368] ; (8069810 ) 806969e: 485d ldr r0, [pc, #372] ; (8069814 ) 80696a0: f7ea ffb6 bl 8054610 BSP_LCD_SetFont(&Font12); 80696a4: 485c ldr r0, [pc, #368] ; (8069818 ) 80696a6: f7ea ffef bl 8054688 BSP_LCD_DisplayStringAt(315, 42, RouteName, RIGHT_MODE); 80696aa: 2302 movs r3, #2 80696ac: 4a61 ldr r2, [pc, #388] ; (8069834 ) 80696ae: 212a movs r1, #42 ; 0x2a 80696b0: f240 103b movw r0, #315 ; 0x13b 80696b4: f7eb f872 bl 805479c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); BSP_LCD_DisplayStringAt(5, 54, "[OK]", RIGHT_MODE); }*/ if(RoutePath[0]) 80696b8: 4b5f ldr r3, [pc, #380] ; (8069838 ) 80696ba: 781b ldrb r3, [r3, #0] 80696bc: 2b00 cmp r3, #0 80696be: f02e 8788 beq.w 80985d2 { k = 0; 80696c2: 2300 movs r3, #0 80696c4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 l = strlen(RoutePath); 80696c8: 485b ldr r0, [pc, #364] ; (8069838 ) 80696ca: f7b6 fe23 bl 8020314 80696ce: 4603 mov r3, r0 80696d0: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < l; i++) 80696d4: 2300 movs r3, #0 80696d6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80696da: e183 b.n 80699e4 { if(RoutePath[i] == ';') 80696dc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80696e0: 4a55 ldr r2, [pc, #340] ; (8069838 ) 80696e2: 5cd3 ldrb r3, [r2, r3] 80696e4: 2b3b cmp r3, #59 ; 0x3b 80696e6: f040 80c8 bne.w 806987a { if(k == 0) 80696ea: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80696ee: 2b00 cmp r3, #0 80696f0: d10a bne.n 8069708 { k++; 80696f2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80696f6: 3301 adds r3, #1 80696f8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 j = i + 1; 80696fc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8069700: 3301 adds r3, #1 8069702: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 8069706: e168 b.n 80699da } else if(k == 1) 8069708: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806970c: 2b01 cmp r3, #1 806970e: f040 80a3 bne.w 8069858 { memset(str, 0, sizeof(str)); 8069712: f507 733b add.w r3, r7, #748 ; 0x2ec 8069716: 223c movs r2, #60 ; 0x3c 8069718: 2100 movs r1, #0 806971a: 4618 mov r0, r3 806971c: f067 fe40 bl 80d13a0 memset(str1, 0, sizeof(str1)); 8069720: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8069724: f44f 7280 mov.w r2, #256 ; 0x100 8069728: 2100 movs r1, #0 806972a: 4618 mov r0, r3 806972c: f067 fe38 bl 80d13a0 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8069730: 4937 ldr r1, [pc, #220] ; (8069810 ) 8069732: 4842 ldr r0, [pc, #264] ; (806983c ) 8069734: f7ea ff6c bl 8054610 if(pardata.LANG == ENG) 8069738: 4b3b ldr r3, [pc, #236] ; (8069828 ) 806973a: 7b1b ldrb r3, [r3, #12] 806973c: b2db uxtb r3, r3 806973e: 2b01 cmp r3, #1 8069740: d106 bne.n 8069750 strcpy(str, "POINT: '"); 8069742: f507 733b add.w r3, r7, #748 ; 0x2ec 8069746: 4a3e ldr r2, [pc, #248] ; (8069840 ) 8069748: ca07 ldmia r2, {r0, r1, r2} 806974a: c303 stmia r3!, {r0, r1} 806974c: 701a strb r2, [r3, #0] 806974e: e005 b.n 806975c else strcpy(str, "ÒÎ×ÊÀ: '"); 8069750: f507 733b add.w r3, r7, #748 ; 0x2ec 8069754: 4a3b ldr r2, [pc, #236] ; (8069844 ) 8069756: ca07 ldmia r2, {r0, r1, r2} 8069758: c303 stmia r3!, {r0, r1} 806975a: 701a strb r2, [r3, #0] //memcpy(str1, RoutePath, i); //Txxxxx memcpy(str1, &RoutePath[j], i - j); //Txxxxx 806975c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8069760: 4a35 ldr r2, [pc, #212] ; (8069838 ) 8069762: 1899 adds r1, r3, r2 8069764: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8069768: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806976c: 1ad2 subs r2, r2, r3 806976e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8069772: 4618 mov r0, r3 8069774: f067 fe09 bl 80d138a RoutePointID = atoi(&str1[1]); 8069778: f507 73f6 add.w r3, r7, #492 ; 0x1ec 806977c: 3301 adds r3, #1 806977e: 4618 mov r0, r3 8069780: f067 fd9b bl 80d12ba 8069784: 4603 mov r3, r0 8069786: 461a mov r2, r3 8069788: 4b2f ldr r3, [pc, #188] ; (8069848 ) 806978a: 601a str r2, [r3, #0] if(RouteMeas(RouteIndex)) 806978c: 4b2f ldr r3, [pc, #188] ; (806984c ) 806978e: 681a ldr r2, [r3, #0] 8069790: 4b2f ldr r3, [pc, #188] ; (8069850 ) 8069792: 4413 add r3, r2 8069794: 781b ldrb r3, [r3, #0] 8069796: 2b00 cmp r3, #0 8069798: d005 beq.n 80697a6 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806979a: 491d ldr r1, [pc, #116] ; (8069810 ) 806979c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80697a0: f7ea ff36 bl 8054610 80697a4: e003 b.n 80697ae else LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80697a6: 491a ldr r1, [pc, #104] ; (8069810 ) 80697a8: 4824 ldr r0, [pc, #144] ; (806983c ) 80697aa: f7ea ff31 bl 8054610 strcat(str, str1); 80697ae: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80697b2: f507 733b add.w r3, r7, #748 ; 0x2ec 80697b6: 4611 mov r1, r2 80697b8: 4618 mov r0, r3 80697ba: f067 fef1 bl 80d15a0 strcat(str, "'"); 80697be: f507 733b add.w r3, r7, #748 ; 0x2ec 80697c2: 4618 mov r0, r3 80697c4: f7b6 fda6 bl 8020314 80697c8: 4603 mov r3, r0 80697ca: 461a mov r2, r3 80697cc: f507 733b add.w r3, r7, #748 ; 0x2ec 80697d0: 4413 add r3, r2 80697d2: 4920 ldr r1, [pc, #128] ; (8069854 ) 80697d4: 461a mov r2, r3 80697d6: 460b mov r3, r1 80697d8: 881b ldrh r3, [r3, #0] 80697da: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(5, 42, str, LEFT_MODE); 80697dc: f507 723b add.w r2, r7, #748 ; 0x2ec 80697e0: 2303 movs r3, #3 80697e2: 212a movs r1, #42 ; 0x2a 80697e4: 2005 movs r0, #5 80697e6: f7ea ffd9 bl 805479c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80697ea: 4909 ldr r1, [pc, #36] ; (8069810 ) 80697ec: 4813 ldr r0, [pc, #76] ; (806983c ) 80697ee: f7ea ff0f bl 8054610 j = i + 1; 80697f2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80697f6: 3301 adds r3, #1 80697f8: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc k++; 80697fc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8069800: 3301 adds r3, #1 8069802: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8069806: e0e8 b.n 80699da 8069808: 20020fbd .word 0x20020fbd 806980c: 0814e794 .word 0x0814e794 8069810: ff0a0f1f .word 0xff0a0f1f 8069814: ff008080 .word 0xff008080 8069818: 20020038 .word 0x20020038 806981c: 20021579 .word 0x20021579 8069820: 20020dcf .word 0x20020dcf 8069824: ffff0000 .word 0xffff0000 8069828: 20023ea8 .word 0x20023ea8 806982c: 080d3b5c .word 0x080d3b5c 8069830: 080d3b68 .word 0x080d3b68 8069834: 20022670 .word 0x20022670 8069838: 20022c28 .word 0x20022c28 806983c: ffd3d3d3 .word 0xffd3d3d3 8069840: 080d3b74 .word 0x080d3b74 8069844: 080d3b80 .word 0x080d3b80 8069848: 20020034 .word 0x20020034 806984c: 20020fb0 .word 0x20020fb0 8069850: 64100000 .word 0x64100000 8069854: 080d3b8c .word 0x080d3b8c } else { if(i != j) 8069858: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806985c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8069860: 429a cmp r2, r3 8069862: d004 beq.n 806986e else memcpy(str, &RoutePath[j], i - j); strcat(str, "|"); BSP_LCD_DisplayStringAt(k*7 - 2, 60 + k*12, str, LEFT_MODE);*/ k++; 8069864: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8069868: 3301 adds r3, #1 806986a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 } j = i + 1; 806986e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8069872: 3301 adds r3, #1 8069874: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 8069878: e0af b.n 80699da } } else { if(i == (l - 1)) //åñëè äîøëè äî êîíöà òî ýòî êîììåíòàðèé (åñëè åñòü) 806987a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806987e: 1e5a subs r2, r3, #1 8069880: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8069884: 429a cmp r2, r3 8069886: f040 80a8 bne.w 80699da { if(RoutePath[i - 1] != ';') 806988a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806988e: 3b01 subs r3, #1 8069890: 4a4b ldr r2, [pc, #300] ; (80699c0 ) 8069892: 5cd3 ldrb r3, [r2, r3] 8069894: 2b3b cmp r3, #59 ; 0x3b 8069896: f000 80a0 beq.w 80699da { memset(str, 0, sizeof(str)); 806989a: f507 733b add.w r3, r7, #748 ; 0x2ec 806989e: 223c movs r2, #60 ; 0x3c 80698a0: 2100 movs r1, #0 80698a2: 4618 mov r0, r3 80698a4: f067 fd7c bl 80d13a0 memset(str1, 0, sizeof(str1)); 80698a8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80698ac: f44f 7280 mov.w r2, #256 ; 0x100 80698b0: 2100 movs r1, #0 80698b2: 4618 mov r0, r3 80698b4: f067 fd74 bl 80d13a0 LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); BSP_LCD_DisplayStringAt(160, 60, str, CENTER_MODE);*/ // strcpy(str1, "'"); memcpy(&str1[0], &RoutePath[j], i - j + 1); 80698b8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80698bc: 4a40 ldr r2, [pc, #256] ; (80699c0 ) 80698be: 1899 adds r1, r3, r2 80698c0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80698c4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80698c8: 1ad3 subs r3, r2, r3 80698ca: 1c5a adds r2, r3, #1 80698cc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80698d0: 4618 mov r0, r3 80698d2: f067 fd5a bl 80d138a x = strlen(str1); 80698d6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80698da: 4618 mov r0, r3 80698dc: f7b6 fd1a bl 8020314 80698e0: f8c7 0468 str.w r0, [r7, #1128] ; 0x468 LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 80698e4: 4937 ldr r1, [pc, #220] ; (80699c4 ) 80698e6: 4838 ldr r0, [pc, #224] ; (80699c8 ) 80698e8: f7ea fe92 bl 8054610 if(x <= 40) 80698ec: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80698f0: 2b28 cmp r3, #40 ; 0x28 80698f2: d807 bhi.n 8069904 { BSP_LCD_DisplayStringAt(4, 60, str1, LEFT_MODE); 80698f4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80698f8: 2303 movs r3, #3 80698fa: 213c movs r1, #60 ; 0x3c 80698fc: 2004 movs r0, #4 80698fe: f7ea ff4d bl 805479c 8069902: e06a b.n 80699da } else { // nstr = x / 40; // laststr = x % 40; if(x > 270) { 8069904: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8069908: f5b3 7f87 cmp.w r3, #270 ; 0x10e 806990c: d903 bls.n 8069916 x = 270; 806990e: f44f 7387 mov.w r3, #270 ; 0x10e 8069912: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 } y = 0; 8069916: 2300 movs r3, #0 8069918: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 r = 0; 806991c: 2300 movs r3, #0 806991e: f8c7 33f0 str.w r3, [r7, #1008] ; 0x3f0 while(x > 0) 8069922: e056 b.n 80699d2 { memset(str, 0, sizeof(str)); 8069924: f507 733b add.w r3, r7, #748 ; 0x2ec 8069928: 223c movs r2, #60 ; 0x3c 806992a: 2100 movs r1, #0 806992c: 4618 mov r0, r3 806992e: f067 fd37 bl 80d13a0 if(x >= 45) 8069932: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8069936: 2b2c cmp r3, #44 ; 0x2c 8069938: d910 bls.n 806995c { memcpy(str, &str1[r], 45); 806993a: f8d7 33f0 ldr.w r3, [r7, #1008] ; 0x3f0 806993e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8069942: 18d1 adds r1, r2, r3 8069944: f507 733b add.w r3, r7, #748 ; 0x2ec 8069948: 222d movs r2, #45 ; 0x2d 806994a: 4618 mov r0, r3 806994c: f067 fd1d bl 80d138a r += 45; 8069950: f8d7 33f0 ldr.w r3, [r7, #1008] ; 0x3f0 8069954: 332d adds r3, #45 ; 0x2d 8069956: f8c7 33f0 str.w r3, [r7, #1008] ; 0x3f0 806995a: e012 b.n 8069982 } else { memcpy(str, &str1[r], x); 806995c: f8d7 33f0 ldr.w r3, [r7, #1008] ; 0x3f0 8069960: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8069964: 18d1 adds r1, r2, r3 8069966: f507 733b add.w r3, r7, #748 ; 0x2ec 806996a: f8d7 2468 ldr.w r2, [r7, #1128] ; 0x468 806996e: 4618 mov r0, r3 8069970: f067 fd0b bl 80d138a r += x; 8069974: f8d7 23f0 ldr.w r2, [r7, #1008] ; 0x3f0 8069978: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806997c: 4413 add r3, r2 806997e: f8c7 33f0 str.w r3, [r7, #1008] ; 0x3f0 } BSP_LCD_DisplayStringAt(4, 60 + y*12, str, LEFT_MODE); 8069982: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8069986: b29b uxth r3, r3 8069988: 461a mov r2, r3 806998a: 0052 lsls r2, r2, #1 806998c: 4413 add r3, r2 806998e: 009b lsls r3, r3, #2 8069990: b29b uxth r3, r3 8069992: 333c adds r3, #60 ; 0x3c 8069994: b299 uxth r1, r3 8069996: f507 723b add.w r2, r7, #748 ; 0x2ec 806999a: 2303 movs r3, #3 806999c: 2004 movs r0, #4 806999e: f7ea fefd bl 805479c y++; 80699a2: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 80699a6: 3301 adds r3, #1 80699a8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(x >= 45) x -= 45; 80699ac: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80699b0: 2b2c cmp r3, #44 ; 0x2c 80699b2: d90b bls.n 80699cc 80699b4: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80699b8: 3b2d subs r3, #45 ; 0x2d 80699ba: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 80699be: e008 b.n 80699d2 80699c0: 20022c28 .word 0x20022c28 80699c4: ff0a0f1f .word 0xff0a0f1f 80699c8: ffefcc95 .word 0xffefcc95 else x = 0; 80699cc: 2300 movs r3, #0 80699ce: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 while(x > 0) 80699d2: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80699d6: 2b00 cmp r3, #0 80699d8: d1a4 bne.n 8069924 for(i = 0; i < l; i++) 80699da: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80699de: 3301 adds r3, #1 80699e0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80699e4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80699e8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80699ec: 429a cmp r2, r3 80699ee: f4ff ae75 bcc.w 80696dc } } } LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80699f2: 49d3 ldr r1, [pc, #844] ; (8069d40 ) 80699f4: 48d3 ldr r0, [pc, #844] ; (8069d44 ) 80699f6: f7ea fe0b bl 8054610 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); 80699fa: 4bd3 ldr r3, [pc, #844] ; (8069d48 ) 80699fc: edd3 7a06 vldr s15, [r3, #24] 8069a00: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8069a04: ee67 7a87 vmul.f32 s15, s15, s14 8069a08: eefc 7ae7 vcvt.u32.f32 s15, s15 8069a0c: ee17 3a90 vmov r3, s15 8069a10: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 8069a14: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8069a18: 095b lsrs r3, r3, #5 8069a1a: 4acc ldr r2, [pc, #816] ; (8069d4c ) 8069a1c: fba2 2303 umull r2, r3, r2, r3 8069a20: 09db lsrs r3, r3, #7 8069a22: b2db uxtb r3, r3 8069a24: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 8069a28: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8069a2c: 0953 lsrs r3, r2, #5 8069a2e: 49c7 ldr r1, [pc, #796] ; (8069d4c ) 8069a30: fba1 1303 umull r1, r3, r1, r3 8069a34: 09db lsrs r3, r3, #7 8069a36: 49c6 ldr r1, [pc, #792] ; (8069d50 ) 8069a38: fb01 f303 mul.w r3, r1, r3 8069a3c: 1ad3 subs r3, r2, r3 8069a3e: 4ac5 ldr r2, [pc, #788] ; (8069d54 ) 8069a40: fba2 2303 umull r2, r3, r2, r3 8069a44: 0b5b lsrs r3, r3, #13 8069a46: b2db uxtb r3, r3 8069a48: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 8069a4c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8069a50: 0953 lsrs r3, r2, #5 8069a52: 49be ldr r1, [pc, #760] ; (8069d4c ) 8069a54: fba1 1303 umull r1, r3, r1, r3 8069a58: 09db lsrs r3, r3, #7 8069a5a: 49bd ldr r1, [pc, #756] ; (8069d50 ) 8069a5c: fb01 f303 mul.w r3, r1, r3 8069a60: 1ad3 subs r3, r2, r3 8069a62: 4abc ldr r2, [pc, #752] ; (8069d54 ) 8069a64: fba2 1203 umull r1, r2, r2, r3 8069a68: 0b52 lsrs r2, r2, #13 8069a6a: f242 7110 movw r1, #10000 ; 0x2710 8069a6e: fb01 f202 mul.w r2, r1, r2 8069a72: 1a9a subs r2, r3, r2 8069a74: 4bb8 ldr r3, [pc, #736] ; (8069d58 ) 8069a76: fba3 2302 umull r2, r3, r3, r2 8069a7a: 099b lsrs r3, r3, #6 8069a7c: b2db uxtb r3, r3 8069a7e: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8069a82: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8069a86: 095a lsrs r2, r3, #5 8069a88: 49b0 ldr r1, [pc, #704] ; (8069d4c ) 8069a8a: fba1 1202 umull r1, r2, r1, r2 8069a8e: 09d2 lsrs r2, r2, #7 8069a90: 49af ldr r1, [pc, #700] ; (8069d50 ) 8069a92: fb01 f202 mul.w r2, r1, r2 8069a96: 1a9a subs r2, r3, r2 8069a98: 4bae ldr r3, [pc, #696] ; (8069d54 ) 8069a9a: fba3 1302 umull r1, r3, r3, r2 8069a9e: 0b5b lsrs r3, r3, #13 8069aa0: f242 7110 movw r1, #10000 ; 0x2710 8069aa4: fb01 f303 mul.w r3, r1, r3 8069aa8: 1ad3 subs r3, r2, r3 8069aaa: 4aab ldr r2, [pc, #684] ; (8069d58 ) 8069aac: fba2 1203 umull r1, r2, r2, r3 8069ab0: 0992 lsrs r2, r2, #6 8069ab2: f44f 717a mov.w r1, #1000 ; 0x3e8 8069ab6: fb01 f202 mul.w r2, r1, r2 8069aba: 1a9a subs r2, r3, r2 8069abc: 4ba7 ldr r3, [pc, #668] ; (8069d5c ) 8069abe: fba3 2302 umull r2, r3, r3, r2 8069ac2: 095b lsrs r3, r3, #5 8069ac4: b2db uxtb r3, r3 8069ac6: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8069aca: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8069ace: 0953 lsrs r3, r2, #5 8069ad0: 499e ldr r1, [pc, #632] ; (8069d4c ) 8069ad2: fba1 1303 umull r1, r3, r1, r3 8069ad6: 09db lsrs r3, r3, #7 8069ad8: 499d ldr r1, [pc, #628] ; (8069d50 ) 8069ada: fb01 f303 mul.w r3, r1, r3 8069ade: 1ad3 subs r3, r2, r3 8069ae0: 4a9c ldr r2, [pc, #624] ; (8069d54 ) 8069ae2: fba2 1203 umull r1, r2, r2, r3 8069ae6: 0b52 lsrs r2, r2, #13 8069ae8: f242 7110 movw r1, #10000 ; 0x2710 8069aec: fb01 f202 mul.w r2, r1, r2 8069af0: 1a9a subs r2, r3, r2 8069af2: 4b99 ldr r3, [pc, #612] ; (8069d58 ) 8069af4: fba3 1302 umull r1, r3, r3, r2 8069af8: 099b lsrs r3, r3, #6 8069afa: f44f 717a mov.w r1, #1000 ; 0x3e8 8069afe: fb01 f303 mul.w r3, r1, r3 8069b02: 1ad3 subs r3, r2, r3 8069b04: 4a95 ldr r2, [pc, #596] ; (8069d5c ) 8069b06: fba2 1203 umull r1, r2, r2, r3 8069b0a: 0952 lsrs r2, r2, #5 8069b0c: 2164 movs r1, #100 ; 0x64 8069b0e: fb01 f202 mul.w r2, r1, r2 8069b12: 1a9a subs r2, r3, r2 8069b14: 4b92 ldr r3, [pc, #584] ; (8069d60 ) 8069b16: fba3 2302 umull r2, r3, r3, r2 8069b1a: 08db lsrs r3, r3, #3 8069b1c: b2db uxtb r3, r3 8069b1e: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8069b22: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8069b26: 0953 lsrs r3, r2, #5 8069b28: 4988 ldr r1, [pc, #544] ; (8069d4c ) 8069b2a: fba1 1303 umull r1, r3, r1, r3 8069b2e: 09db lsrs r3, r3, #7 8069b30: 4987 ldr r1, [pc, #540] ; (8069d50 ) 8069b32: fb01 f303 mul.w r3, r1, r3 8069b36: 1ad3 subs r3, r2, r3 8069b38: 4a86 ldr r2, [pc, #536] ; (8069d54 ) 8069b3a: fba2 1203 umull r1, r2, r2, r3 8069b3e: 0b52 lsrs r2, r2, #13 8069b40: f242 7110 movw r1, #10000 ; 0x2710 8069b44: fb01 f202 mul.w r2, r1, r2 8069b48: 1a9a subs r2, r3, r2 8069b4a: 4b83 ldr r3, [pc, #524] ; (8069d58 ) 8069b4c: fba3 1302 umull r1, r3, r3, r2 8069b50: 099b lsrs r3, r3, #6 8069b52: f44f 717a mov.w r1, #1000 ; 0x3e8 8069b56: fb01 f303 mul.w r3, r1, r3 8069b5a: 1ad3 subs r3, r2, r3 8069b5c: 4a7f ldr r2, [pc, #508] ; (8069d5c ) 8069b5e: fba2 1203 umull r1, r2, r2, r3 8069b62: 0952 lsrs r2, r2, #5 8069b64: 2164 movs r1, #100 ; 0x64 8069b66: fb01 f202 mul.w r2, r1, r2 8069b6a: 1a9a subs r2, r3, r2 8069b6c: 4b7c ldr r3, [pc, #496] ; (8069d60 ) 8069b6e: fba3 1302 umull r1, r3, r3, r2 8069b72: 08d9 lsrs r1, r3, #3 8069b74: 460b mov r3, r1 8069b76: 009b lsls r3, r3, #2 8069b78: 440b add r3, r1 8069b7a: 005b lsls r3, r3, #1 8069b7c: 1ad1 subs r1, r2, r3 8069b7e: b2cb uxtb r3, r1 8069b80: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 8069b84: 2300 movs r3, #0 8069b86: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strMax, 0, sizeof(strMax)); 8069b8a: f507 73c0 add.w r3, r7, #384 ; 0x180 8069b8e: 220c movs r2, #12 8069b90: 2100 movs r1, #0 8069b92: 4618 mov r0, r3 8069b94: f067 fc04 bl 80d13a0 if(idt2 != 0) 8069b98: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8069b9c: b2db uxtb r3, r3 8069b9e: 2b00 cmp r3, #0 8069ba0: d00c beq.n 8069bbc strMax[i++] = idt2 + 48; 8069ba2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8069ba6: 1c5a adds r2, r3, #1 8069ba8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8069bac: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 8069bb0: b2d2 uxtb r2, r2 8069bb2: 3230 adds r2, #48 ; 0x30 8069bb4: b2d1 uxtb r1, r2 8069bb6: f507 72c0 add.w r2, r7, #384 ; 0x180 8069bba: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 8069bbc: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8069bc0: b2db uxtb r3, r3 8069bc2: 2b00 cmp r3, #0 8069bc4: d104 bne.n 8069bd0 8069bc6: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8069bca: b2db uxtb r3, r3 8069bcc: 2b00 cmp r3, #0 8069bce: d00c beq.n 8069bea strMax[i++] = iet2 + 48; 8069bd0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8069bd4: 1c5a adds r2, r3, #1 8069bd6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8069bda: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 8069bde: b2d2 uxtb r2, r2 8069be0: 3230 adds r2, #48 ; 0x30 8069be2: b2d1 uxtb r1, r2 8069be4: f507 72c0 add.w r2, r7, #384 ; 0x180 8069be8: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8069bea: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8069bee: b2db uxtb r3, r3 8069bf0: 2b00 cmp r3, #0 8069bf2: d109 bne.n 8069c08 8069bf4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8069bf8: b2db uxtb r3, r3 8069bfa: 2b00 cmp r3, #0 8069bfc: d104 bne.n 8069c08 8069bfe: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8069c02: b2db uxtb r3, r3 8069c04: 2b00 cmp r3, #0 8069c06: d00c beq.n 8069c22 strMax[i++] = ies2 + 48; 8069c08: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8069c0c: 1c5a adds r2, r3, #1 8069c0e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8069c12: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 8069c16: b2d2 uxtb r2, r2 8069c18: 3230 adds r2, #48 ; 0x30 8069c1a: b2d1 uxtb r1, r2 8069c1c: f507 72c0 add.w r2, r7, #384 ; 0x180 8069c20: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8069c22: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8069c26: b2db uxtb r3, r3 8069c28: 2b00 cmp r3, #0 8069c2a: d10e bne.n 8069c4a 8069c2c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8069c30: b2db uxtb r3, r3 8069c32: 2b00 cmp r3, #0 8069c34: d109 bne.n 8069c4a 8069c36: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8069c3a: b2db uxtb r3, r3 8069c3c: 2b00 cmp r3, #0 8069c3e: d104 bne.n 8069c4a 8069c40: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8069c44: b2db uxtb r3, r3 8069c46: 2b00 cmp r3, #0 8069c48: d00c beq.n 8069c64 strMax[i++] = ied2 + 48; 8069c4a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8069c4e: 1c5a adds r2, r3, #1 8069c50: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8069c54: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 8069c58: b2d2 uxtb r2, r2 8069c5a: 3230 adds r2, #48 ; 0x30 8069c5c: b2d1 uxtb r1, r2 8069c5e: f507 72c0 add.w r2, r7, #384 ; 0x180 8069c62: 54d1 strb r1, [r2, r3] strMax[i++] = iee2 + 48; 8069c64: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8069c68: 1c5a adds r2, r3, #1 8069c6a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8069c6e: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 8069c72: b2d2 uxtb r2, r2 8069c74: 3230 adds r2, #48 ; 0x30 8069c76: b2d1 uxtb r1, r2 8069c78: f507 72c0 add.w r2, r7, #384 ; 0x180 8069c7c: 54d1 strb r1, [r2, r3] strMax[i++] = '.'; 8069c7e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8069c82: 1c5a adds r2, r3, #1 8069c84: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8069c88: f507 72c0 add.w r2, r7, #384 ; 0x180 8069c8c: 212e movs r1, #46 ; 0x2e 8069c8e: 54d1 strb r1, [r2, r3] strMax[i++] = ikd2 + 48; 8069c90: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8069c94: 1c5a adds r2, r3, #1 8069c96: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8069c9a: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 8069c9e: b2d2 uxtb r2, r2 8069ca0: 3230 adds r2, #48 ; 0x30 8069ca2: b2d1 uxtb r1, r2 8069ca4: f507 72c0 add.w r2, r7, #384 ; 0x180 8069ca8: 54d1 strb r1, [r2, r3] //**************************************************************** #ifndef USE_D101 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069caa: 4925 ldr r1, [pc, #148] ; (8069d40 ) 8069cac: f04f 30ff mov.w r0, #4294967295 8069cb0: f7ea fcae bl 8054610 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_PARAM_WAV[pardata.LANG][9]); //Òàõîìåòð 8069cb4: 4b24 ldr r3, [pc, #144] ; (8069d48 ) 8069cb6: 7b1b ldrb r3, [r3, #12] 8069cb8: b2db uxtb r3, r3 8069cba: 4619 mov r1, r3 8069cbc: 4a29 ldr r2, [pc, #164] ; (8069d64 ) 8069cbe: 460b mov r3, r1 8069cc0: 009b lsls r3, r3, #2 8069cc2: 440b add r3, r1 8069cc4: 00db lsls r3, r3, #3 8069cc6: 4413 add r3, r2 8069cc8: 3324 adds r3, #36 ; 0x24 8069cca: 681b ldr r3, [r3, #0] 8069ccc: 461a mov r2, r3 8069cce: 218a movs r1, #138 ; 0x8a 8069cd0: 200a movs r0, #10 8069cd2: f7eb fa45 bl 8055160 #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); 8069cd6: 491a ldr r1, [pc, #104] ; (8069d40 ) 8069cd8: f04f 30ff mov.w r0, #4294967295 8069cdc: f7ea fc98 bl 8054610 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_WAV[pardata.LANG][4]); //Âðåìÿ çàïèñè 8069ce0: 4b19 ldr r3, [pc, #100] ; (8069d48 ) 8069ce2: 7b1b ldrb r3, [r3, #12] 8069ce4: b2db uxtb r3, r3 8069ce6: 4619 mov r1, r3 8069ce8: 4a1e ldr r2, [pc, #120] ; (8069d64 ) 8069cea: 460b mov r3, r1 8069cec: 009b lsls r3, r3, #2 8069cee: 440b add r3, r1 8069cf0: 00db lsls r3, r3, #3 8069cf2: 4413 add r3, r2 8069cf4: 3310 adds r3, #16 8069cf6: 681b ldr r3, [r3, #0] 8069cf8: 461a mov r2, r3 8069cfa: 219a movs r1, #154 ; 0x9a 8069cfc: 200a movs r0, #10 8069cfe: f7eb fa2f bl 8055160 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV[pardata.LANG][5]); //Àâòîóñèëåíèå 8069d02: 4b11 ldr r3, [pc, #68] ; (8069d48 ) 8069d04: 7b1b ldrb r3, [r3, #12] 8069d06: b2db uxtb r3, r3 8069d08: 4619 mov r1, r3 8069d0a: 4a16 ldr r2, [pc, #88] ; (8069d64 ) 8069d0c: 460b mov r3, r1 8069d0e: 009b lsls r3, r3, #2 8069d10: 440b add r3, r1 8069d12: 00db lsls r3, r3, #3 8069d14: 4413 add r3, r2 8069d16: 3314 adds r3, #20 8069d18: 681b ldr r3, [r3, #0] 8069d1a: 461a mov r2, r3 8069d1c: 21aa movs r1, #170 ; 0xaa 8069d1e: 200a movs r0, #10 8069d20: f7eb fa1e bl 8055160 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8069d24: 4b08 ldr r3, [pc, #32] ; (8069d48 ) 8069d26: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069d2a: f003 0304 and.w r3, r3, #4 8069d2e: 2b00 cmp r3, #0 8069d30: d11a bne.n 8069d68 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069d32: 4903 ldr r1, [pc, #12] ; (8069d40 ) 8069d34: f04f 30ff mov.w r0, #4294967295 8069d38: f7ea fc6a bl 8054610 8069d3c: e018 b.n 8069d70 8069d3e: bf00 nop 8069d40: ff0a0f1f .word 0xff0a0f1f 8069d44: ffd3d3d3 .word 0xffd3d3d3 8069d48: 20023ea8 .word 0x20023ea8 8069d4c: 0a7c5ac5 .word 0x0a7c5ac5 8069d50: 000186a0 .word 0x000186a0 8069d54: d1b71759 .word 0xd1b71759 8069d58: 10624dd3 .word 0x10624dd3 8069d5c: 51eb851f .word 0x51eb851f 8069d60: cccccccd .word 0xcccccccd 8069d64: 20020844 .word 0x20020844 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8069d68: 49c0 ldr r1, [pc, #768] ; (806a06c ) 8069d6a: 48c1 ldr r0, [pc, #772] ; (806a070 ) 8069d6c: f7ea fc50 bl 8054610 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_WAV[pardata.LANG][6]); //Ìax.àìïë.(ì/c^) 8069d70: 4bc0 ldr r3, [pc, #768] ; (806a074 ) 8069d72: 7b1b ldrb r3, [r3, #12] 8069d74: b2db uxtb r3, r3 8069d76: 4619 mov r1, r3 8069d78: 4abf ldr r2, [pc, #764] ; (806a078 ) 8069d7a: 460b mov r3, r1 8069d7c: 009b lsls r3, r3, #2 8069d7e: 440b add r3, r1 8069d80: 00db lsls r3, r3, #3 8069d82: 4413 add r3, r2 8069d84: 3318 adds r3, #24 8069d86: 681b ldr r3, [r3, #0] 8069d88: 461a mov r2, r3 8069d8a: 21ba movs r1, #186 ; 0xba 8069d8c: 200a movs r0, #10 8069d8e: f7eb f9e7 bl 8055160 switch(menupos) 8069d92: 4bba ldr r3, [pc, #744] ; (806a07c ) 8069d94: 781b ldrb r3, [r3, #0] 8069d96: b2db uxtb r3, r3 8069d98: 2b0e cmp r3, #14 8069d9a: f201 80a1 bhi.w 806aee0 8069d9e: a201 add r2, pc, #4 ; (adr r2, 8069da4 ) 8069da0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8069da4: 08069ea1 .word 0x08069ea1 8069da8: 08069de1 .word 0x08069de1 8069dac: 08069f61 .word 0x08069f61 8069db0: 0806aaa5 .word 0x0806aaa5 8069db4: 0806a021 .word 0x0806a021 8069db8: 0806a14b .word 0x0806a14b 8069dbc: 0806a217 .word 0x0806a217 8069dc0: 0806a2d9 .word 0x0806a2d9 8069dc4: 0806a419 .word 0x0806a419 8069dc8: 0806a581 .word 0x0806a581 8069dcc: 0806a6c1 .word 0x0806a6c1 8069dd0: 0806a829 .word 0x0806a829 8069dd4: 0806a967 .word 0x0806a967 8069dd8: 0806ad2b .word 0x0806ad2b 8069ddc: 0806abaf .word 0x0806abaf { case GoMeas: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069de0: 49a2 ldr r1, [pc, #648] ; (806a06c ) 8069de2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069de6: f7ea fc13 bl 8054610 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069dea: 4aa5 ldr r2, [pc, #660] ; (806a080 ) 8069dec: 21da movs r1, #218 ; 0xda 8069dee: 20a0 movs r0, #160 ; 0xa0 8069df0: f7eb f9ce bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069df4: 499d ldr r1, [pc, #628] ; (806a06c ) 8069df6: f04f 30ff mov.w r0, #4294967295 8069dfa: f7ea fc09 bl 8054610 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069dfe: 4aa1 ldr r2, [pc, #644] ; (806a084 ) 8069e00: 21da movs r1, #218 ; 0xda 8069e02: 200a movs r0, #10 8069e04: f7eb f9ac bl 8055160 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069e08: 4a9f ldr r2, [pc, #636] ; (806a088 ) 8069e0a: 21da movs r1, #218 ; 0xda 8069e0c: f240 1035 movw r0, #309 ; 0x135 8069e10: f7eb f9d6 bl 80551c0 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069e14: 4995 ldr r1, [pc, #596] ; (806a06c ) 8069e16: 489d ldr r0, [pc, #628] ; (806a08c ) 8069e18: f7ea fbfa bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069e1c: 4b95 ldr r3, [pc, #596] ; (806a074 ) 8069e1e: 7b1b ldrb r3, [r3, #12] 8069e20: b2db uxtb r3, r3 8069e22: 461a mov r2, r3 8069e24: 4b93 ldr r3, [pc, #588] ; (806a074 ) 8069e26: 7b9b ldrb r3, [r3, #14] 8069e28: b2db uxtb r3, r3 8069e2a: 4618 mov r0, r3 8069e2c: 4998 ldr r1, [pc, #608] ; (806a090 ) 8069e2e: 4613 mov r3, r2 8069e30: 009b lsls r3, r3, #2 8069e32: 4413 add r3, r2 8069e34: 005b lsls r3, r3, #1 8069e36: 4413 add r3, r2 8069e38: 4403 add r3, r0 8069e3a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069e3e: 461a mov r2, r3 8069e40: 219a movs r1, #154 ; 0x9a 8069e42: f44f 7082 mov.w r0, #260 ; 0x104 8069e46: f7eb f9a3 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069e4a: 4988 ldr r1, [pc, #544] ; (806a06c ) 8069e4c: f04f 30ff mov.w r0, #4294967295 8069e50: f7ea fbde bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069e54: 230a movs r3, #10 8069e56: 220a movs r2, #10 8069e58: 218d movs r1, #141 ; 0x8d 8069e5a: 20ff movs r0, #255 ; 0xff 8069e5c: f7eb f866 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069e60: 230a movs r3, #10 8069e62: 220a movs r2, #10 8069e64: 21ad movs r1, #173 ; 0xad 8069e66: 20ff movs r0, #255 ; 0xff 8069e68: f7eb f860 bl 8054f2c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8069e6c: 4b81 ldr r3, [pc, #516] ; (806a074 ) 8069e6e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069e72: f003 0304 and.w r3, r3, #4 8069e76: 2b00 cmp r3, #0 8069e78: d104 bne.n 8069e84 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069e7a: 497c ldr r1, [pc, #496] ; (806a06c ) 8069e7c: 4883 ldr r0, [pc, #524] ; (806a08c ) 8069e7e: f7ea fbc7 bl 8054610 8069e82: e003 b.n 8069e8c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8069e84: 4979 ldr r1, [pc, #484] ; (806a06c ) 8069e86: 487a ldr r0, [pc, #488] ; (806a070 ) 8069e88: f7ea fbc2 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 8069e8c: f507 73c0 add.w r3, r7, #384 ; 0x180 8069e90: 461a mov r2, r3 8069e92: 21ba movs r1, #186 ; 0xba 8069e94: f44f 7082 mov.w r0, #260 ; 0x104 8069e98: f7eb f97a bl 8055190 break; 8069e9c: f001 b820 b.w 806aee0 case PrevPoint: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069ea0: 4972 ldr r1, [pc, #456] ; (806a06c ) 8069ea2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069ea6: f7ea fbb3 bl 8054610 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069eaa: 4a76 ldr r2, [pc, #472] ; (806a084 ) 8069eac: 21da movs r1, #218 ; 0xda 8069eae: 200a movs r0, #10 8069eb0: f7eb f956 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069eb4: 496d ldr r1, [pc, #436] ; (806a06c ) 8069eb6: f04f 30ff mov.w r0, #4294967295 8069eba: f7ea fba9 bl 8054610 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069ebe: 4a70 ldr r2, [pc, #448] ; (806a080 ) 8069ec0: 21da movs r1, #218 ; 0xda 8069ec2: 20a0 movs r0, #160 ; 0xa0 8069ec4: f7eb f964 bl 8055190 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069ec8: 4a6f ldr r2, [pc, #444] ; (806a088 ) 8069eca: 21da movs r1, #218 ; 0xda 8069ecc: f240 1035 movw r0, #309 ; 0x135 8069ed0: f7eb f976 bl 80551c0 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069ed4: 4965 ldr r1, [pc, #404] ; (806a06c ) 8069ed6: 486d ldr r0, [pc, #436] ; (806a08c ) 8069ed8: f7ea fb9a bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069edc: 4b65 ldr r3, [pc, #404] ; (806a074 ) 8069ede: 7b1b ldrb r3, [r3, #12] 8069ee0: b2db uxtb r3, r3 8069ee2: 461a mov r2, r3 8069ee4: 4b63 ldr r3, [pc, #396] ; (806a074 ) 8069ee6: 7b9b ldrb r3, [r3, #14] 8069ee8: b2db uxtb r3, r3 8069eea: 4618 mov r0, r3 8069eec: 4968 ldr r1, [pc, #416] ; (806a090 ) 8069eee: 4613 mov r3, r2 8069ef0: 009b lsls r3, r3, #2 8069ef2: 4413 add r3, r2 8069ef4: 005b lsls r3, r3, #1 8069ef6: 4413 add r3, r2 8069ef8: 4403 add r3, r0 8069efa: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069efe: 461a mov r2, r3 8069f00: 219a movs r1, #154 ; 0x9a 8069f02: f44f 7082 mov.w r0, #260 ; 0x104 8069f06: f7eb f943 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069f0a: 4958 ldr r1, [pc, #352] ; (806a06c ) 8069f0c: f04f 30ff mov.w r0, #4294967295 8069f10: f7ea fb7e bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069f14: 230a movs r3, #10 8069f16: 220a movs r2, #10 8069f18: 218d movs r1, #141 ; 0x8d 8069f1a: 20ff movs r0, #255 ; 0xff 8069f1c: f7eb f806 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069f20: 230a movs r3, #10 8069f22: 220a movs r2, #10 8069f24: 21ad movs r1, #173 ; 0xad 8069f26: 20ff movs r0, #255 ; 0xff 8069f28: f7eb f800 bl 8054f2c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8069f2c: 4b51 ldr r3, [pc, #324] ; (806a074 ) 8069f2e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069f32: f003 0304 and.w r3, r3, #4 8069f36: 2b00 cmp r3, #0 8069f38: d104 bne.n 8069f44 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069f3a: 494c ldr r1, [pc, #304] ; (806a06c ) 8069f3c: 4853 ldr r0, [pc, #332] ; (806a08c ) 8069f3e: f7ea fb67 bl 8054610 8069f42: e003 b.n 8069f4c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8069f44: 4949 ldr r1, [pc, #292] ; (806a06c ) 8069f46: 484a ldr r0, [pc, #296] ; (806a070 ) 8069f48: f7ea fb62 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 8069f4c: f507 73c0 add.w r3, r7, #384 ; 0x180 8069f50: 461a mov r2, r3 8069f52: 21ba movs r1, #186 ; 0xba 8069f54: f44f 7082 mov.w r0, #260 ; 0x104 8069f58: f7eb f91a bl 8055190 break; 8069f5c: f000 bfc0 b.w 806aee0 case NextPoint: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069f60: 4942 ldr r1, [pc, #264] ; (806a06c ) 8069f62: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069f66: f7ea fb53 bl 8054610 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069f6a: 4a47 ldr r2, [pc, #284] ; (806a088 ) 8069f6c: 21da movs r1, #218 ; 0xda 8069f6e: f240 1035 movw r0, #309 ; 0x135 8069f72: f7eb f925 bl 80551c0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069f76: 493d ldr r1, [pc, #244] ; (806a06c ) 8069f78: f04f 30ff mov.w r0, #4294967295 8069f7c: f7ea fb48 bl 8054610 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069f80: 4a3f ldr r2, [pc, #252] ; (806a080 ) 8069f82: 21da movs r1, #218 ; 0xda 8069f84: 20a0 movs r0, #160 ; 0xa0 8069f86: f7eb f903 bl 8055190 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069f8a: 4a3e ldr r2, [pc, #248] ; (806a084 ) 8069f8c: 21da movs r1, #218 ; 0xda 8069f8e: 200a movs r0, #10 8069f90: f7eb f8e6 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069f94: 4935 ldr r1, [pc, #212] ; (806a06c ) 8069f96: 483d ldr r0, [pc, #244] ; (806a08c ) 8069f98: f7ea fb3a bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069f9c: 4b35 ldr r3, [pc, #212] ; (806a074 ) 8069f9e: 7b1b ldrb r3, [r3, #12] 8069fa0: b2db uxtb r3, r3 8069fa2: 461a mov r2, r3 8069fa4: 4b33 ldr r3, [pc, #204] ; (806a074 ) 8069fa6: 7b9b ldrb r3, [r3, #14] 8069fa8: b2db uxtb r3, r3 8069faa: 4618 mov r0, r3 8069fac: 4938 ldr r1, [pc, #224] ; (806a090 ) 8069fae: 4613 mov r3, r2 8069fb0: 009b lsls r3, r3, #2 8069fb2: 4413 add r3, r2 8069fb4: 005b lsls r3, r3, #1 8069fb6: 4413 add r3, r2 8069fb8: 4403 add r3, r0 8069fba: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069fbe: 461a mov r2, r3 8069fc0: 219a movs r1, #154 ; 0x9a 8069fc2: f44f 7082 mov.w r0, #260 ; 0x104 8069fc6: f7eb f8e3 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069fca: 4928 ldr r1, [pc, #160] ; (806a06c ) 8069fcc: f04f 30ff mov.w r0, #4294967295 8069fd0: f7ea fb1e bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069fd4: 230a movs r3, #10 8069fd6: 220a movs r2, #10 8069fd8: 218d movs r1, #141 ; 0x8d 8069fda: 20ff movs r0, #255 ; 0xff 8069fdc: f7ea ffa6 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069fe0: 230a movs r3, #10 8069fe2: 220a movs r2, #10 8069fe4: 21ad movs r1, #173 ; 0xad 8069fe6: 20ff movs r0, #255 ; 0xff 8069fe8: f7ea ffa0 bl 8054f2c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8069fec: 4b21 ldr r3, [pc, #132] ; (806a074 ) 8069fee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069ff2: f003 0304 and.w r3, r3, #4 8069ff6: 2b00 cmp r3, #0 8069ff8: d104 bne.n 806a004 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069ffa: 491c ldr r1, [pc, #112] ; (806a06c ) 8069ffc: 4823 ldr r0, [pc, #140] ; (806a08c ) 8069ffe: f7ea fb07 bl 8054610 806a002: e003 b.n 806a00c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806a004: 4919 ldr r1, [pc, #100] ; (806a06c ) 806a006: 481a ldr r0, [pc, #104] ; (806a070 ) 806a008: f7ea fb02 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806a00c: f507 73c0 add.w r3, r7, #384 ; 0x180 806a010: 461a mov r2, r3 806a012: 21ba movs r1, #186 ; 0xba 806a014: f44f 7082 mov.w r0, #260 ; 0x104 806a018: f7eb f8ba bl 8055190 break; 806a01c: f000 bf60 b.w 806aee0 case RouteTime: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806a020: 4912 ldr r1, [pc, #72] ; (806a06c ) 806a022: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806a026: f7ea faf3 bl 8054610 if(focused) 806a02a: 4b1a ldr r3, [pc, #104] ; (806a094 ) 806a02c: 781b ldrb r3, [r3, #0] 806a02e: b2db uxtb r3, r3 806a030: 2b00 cmp r3, #0 806a032: d033 beq.n 806a09c { if(blk) 806a034: 4b18 ldr r3, [pc, #96] ; (806a098 ) 806a036: 681b ldr r3, [r3, #0] 806a038: 2b00 cmp r3, #0 806a03a: d046 beq.n 806a0ca LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806a03c: 4b0d ldr r3, [pc, #52] ; (806a074 ) 806a03e: 7b1b ldrb r3, [r3, #12] 806a040: b2db uxtb r3, r3 806a042: 461a mov r2, r3 806a044: 4b0b ldr r3, [pc, #44] ; (806a074 ) 806a046: 7b9b ldrb r3, [r3, #14] 806a048: b2db uxtb r3, r3 806a04a: 4618 mov r0, r3 806a04c: 4910 ldr r1, [pc, #64] ; (806a090 ) 806a04e: 4613 mov r3, r2 806a050: 009b lsls r3, r3, #2 806a052: 4413 add r3, r2 806a054: 005b lsls r3, r3, #1 806a056: 4413 add r3, r2 806a058: 4403 add r3, r0 806a05a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806a05e: 461a mov r2, r3 806a060: 219a movs r1, #154 ; 0x9a 806a062: f44f 7082 mov.w r0, #260 ; 0x104 806a066: f7eb f893 bl 8055190 806a06a: e02e b.n 806a0ca 806a06c: ff0a0f1f .word 0xff0a0f1f 806a070: ff808080 .word 0xff808080 806a074: 20023ea8 .word 0x20023ea8 806a078: 20020844 .word 0x20020844 806a07c: 20020070 .word 0x20020070 806a080: 080d3b90 .word 0x080d3b90 806a084: 080d3b98 .word 0x080d3b98 806a088: 080d3ba0 .word 0x080d3ba0 806a08c: ffd8aa57 .word 0xffd8aa57 806a090: 2002033c .word 0x2002033c 806a094: 20020fc8 .word 0x20020fc8 806a098: 200216a4 .word 0x200216a4 } else LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806a09c: 4b86 ldr r3, [pc, #536] ; (806a2b8 ) 806a09e: 7b1b ldrb r3, [r3, #12] 806a0a0: b2db uxtb r3, r3 806a0a2: 461a mov r2, r3 806a0a4: 4b84 ldr r3, [pc, #528] ; (806a2b8 ) 806a0a6: 7b9b ldrb r3, [r3, #14] 806a0a8: b2db uxtb r3, r3 806a0aa: 4618 mov r0, r3 806a0ac: 4983 ldr r1, [pc, #524] ; (806a2bc ) 806a0ae: 4613 mov r3, r2 806a0b0: 009b lsls r3, r3, #2 806a0b2: 4413 add r3, r2 806a0b4: 005b lsls r3, r3, #1 806a0b6: 4413 add r3, r2 806a0b8: 4403 add r3, r0 806a0ba: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806a0be: 461a mov r2, r3 806a0c0: 219a movs r1, #154 ; 0x9a 806a0c2: f44f 7082 mov.w r0, #260 ; 0x104 806a0c6: f7eb f863 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a0ca: 497d ldr r1, [pc, #500] ; (806a2c0 ) 806a0cc: f04f 30ff mov.w r0, #4294967295 806a0d0: f7ea fa9e bl 8054610 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806a0d4: 4a7b ldr r2, [pc, #492] ; (806a2c4 ) 806a0d6: 21da movs r1, #218 ; 0xda 806a0d8: f240 1035 movw r0, #309 ; 0x135 806a0dc: f7eb f870 bl 80551c0 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806a0e0: 4a79 ldr r2, [pc, #484] ; (806a2c8 ) 806a0e2: 21da movs r1, #218 ; 0xda 806a0e4: 20a0 movs r0, #160 ; 0xa0 806a0e6: f7eb f853 bl 8055190 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806a0ea: 4a78 ldr r2, [pc, #480] ; (806a2cc ) 806a0ec: 21da movs r1, #218 ; 0xda 806a0ee: 200a movs r0, #10 806a0f0: f7eb f836 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a0f4: 4972 ldr r1, [pc, #456] ; (806a2c0 ) 806a0f6: f04f 30ff mov.w r0, #4294967295 806a0fa: f7ea fa89 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806a0fe: 230a movs r3, #10 806a100: 220a movs r2, #10 806a102: 218d movs r1, #141 ; 0x8d 806a104: 20ff movs r0, #255 ; 0xff 806a106: f7ea ff11 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806a10a: 230a movs r3, #10 806a10c: 220a movs r2, #10 806a10e: 21ad movs r1, #173 ; 0xad 806a110: 20ff movs r0, #255 ; 0xff 806a112: f7ea ff0b bl 8054f2c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806a116: 4b68 ldr r3, [pc, #416] ; (806a2b8 ) 806a118: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806a11c: f003 0304 and.w r3, r3, #4 806a120: 2b00 cmp r3, #0 806a122: d104 bne.n 806a12e LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a124: 4966 ldr r1, [pc, #408] ; (806a2c0 ) 806a126: 486a ldr r0, [pc, #424] ; (806a2d0 ) 806a128: f7ea fa72 bl 8054610 806a12c: e003 b.n 806a136 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806a12e: 4964 ldr r1, [pc, #400] ; (806a2c0 ) 806a130: 4868 ldr r0, [pc, #416] ; (806a2d4 ) 806a132: f7ea fa6d bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806a136: f507 73c0 add.w r3, r7, #384 ; 0x180 806a13a: 461a mov r2, r3 806a13c: 21ba movs r1, #186 ; 0xba 806a13e: f44f 7082 mov.w r0, #260 ; 0x104 806a142: f7eb f825 bl 8055190 break; 806a146: f000 becb b.w 806aee0 case RouteAutoKu: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806a14a: 495d ldr r1, [pc, #372] ; (806a2c0 ) 806a14c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806a150: f7ea fa5e bl 8054610 BSP_LCD_FillRect(253, CHECKBOX_LINE_10-2, 14, 14); 806a154: 230e movs r3, #14 806a156: 220e movs r2, #14 806a158: 21ab movs r1, #171 ; 0xab 806a15a: 20fd movs r0, #253 ; 0xfd 806a15c: f7ea fee6 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a160: 4957 ldr r1, [pc, #348] ; (806a2c0 ) 806a162: f04f 30ff mov.w r0, #4294967295 806a166: f7ea fa53 bl 8054610 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806a16a: 4a56 ldr r2, [pc, #344] ; (806a2c4 ) 806a16c: 21da movs r1, #218 ; 0xda 806a16e: f240 1035 movw r0, #309 ; 0x135 806a172: f7eb f825 bl 80551c0 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806a176: 4a54 ldr r2, [pc, #336] ; (806a2c8 ) 806a178: 21da movs r1, #218 ; 0xda 806a17a: 20a0 movs r0, #160 ; 0xa0 806a17c: f7eb f808 bl 8055190 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806a180: 4a52 ldr r2, [pc, #328] ; (806a2cc ) 806a182: 21da movs r1, #218 ; 0xda 806a184: 200a movs r0, #10 806a186: f7ea ffeb bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a18a: 494d ldr r1, [pc, #308] ; (806a2c0 ) 806a18c: 4850 ldr r0, [pc, #320] ; (806a2d0 ) 806a18e: f7ea fa3f bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806a192: 4b49 ldr r3, [pc, #292] ; (806a2b8 ) 806a194: 7b1b ldrb r3, [r3, #12] 806a196: b2db uxtb r3, r3 806a198: 461a mov r2, r3 806a19a: 4b47 ldr r3, [pc, #284] ; (806a2b8 ) 806a19c: 7b9b ldrb r3, [r3, #14] 806a19e: b2db uxtb r3, r3 806a1a0: 4618 mov r0, r3 806a1a2: 4946 ldr r1, [pc, #280] ; (806a2bc ) 806a1a4: 4613 mov r3, r2 806a1a6: 009b lsls r3, r3, #2 806a1a8: 4413 add r3, r2 806a1aa: 005b lsls r3, r3, #1 806a1ac: 4413 add r3, r2 806a1ae: 4403 add r3, r0 806a1b0: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806a1b4: 461a mov r2, r3 806a1b6: 219a movs r1, #154 ; 0x9a 806a1b8: f44f 7082 mov.w r0, #260 ; 0x104 806a1bc: f7ea ffe8 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a1c0: 493f ldr r1, [pc, #252] ; (806a2c0 ) 806a1c2: f04f 30ff mov.w r0, #4294967295 806a1c6: f7ea fa23 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806a1ca: 230a movs r3, #10 806a1cc: 220a movs r2, #10 806a1ce: 218d movs r1, #141 ; 0x8d 806a1d0: 20ff movs r0, #255 ; 0xff 806a1d2: f7ea feab bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806a1d6: 230a movs r3, #10 806a1d8: 220a movs r2, #10 806a1da: 21ad movs r1, #173 ; 0xad 806a1dc: 20ff movs r0, #255 ; 0xff 806a1de: f7ea fea5 bl 8054f2c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806a1e2: 4b35 ldr r3, [pc, #212] ; (806a2b8 ) 806a1e4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806a1e8: f003 0304 and.w r3, r3, #4 806a1ec: 2b00 cmp r3, #0 806a1ee: d104 bne.n 806a1fa LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a1f0: 4933 ldr r1, [pc, #204] ; (806a2c0 ) 806a1f2: 4837 ldr r0, [pc, #220] ; (806a2d0 ) 806a1f4: f7ea fa0c bl 8054610 806a1f8: e003 b.n 806a202 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806a1fa: 4931 ldr r1, [pc, #196] ; (806a2c0 ) 806a1fc: 4835 ldr r0, [pc, #212] ; (806a2d4 ) 806a1fe: f7ea fa07 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806a202: f507 73c0 add.w r3, r7, #384 ; 0x180 806a206: 461a mov r2, r3 806a208: 21ba movs r1, #186 ; 0xba 806a20a: f44f 7082 mov.w r0, #260 ; 0x104 806a20e: f7ea ffbf bl 8055190 break; 806a212: f000 be65 b.w 806aee0 case RouteMax_ALL: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a216: 492a ldr r1, [pc, #168] ; (806a2c0 ) 806a218: f04f 30ff mov.w r0, #4294967295 806a21c: f7ea f9f8 bl 8054610 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806a220: 4a28 ldr r2, [pc, #160] ; (806a2c4 ) 806a222: 21da movs r1, #218 ; 0xda 806a224: f240 1035 movw r0, #309 ; 0x135 806a228: f7ea ffca bl 80551c0 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806a22c: 4a26 ldr r2, [pc, #152] ; (806a2c8 ) 806a22e: 21da movs r1, #218 ; 0xda 806a230: 20a0 movs r0, #160 ; 0xa0 806a232: f7ea ffad bl 8055190 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806a236: 4a25 ldr r2, [pc, #148] ; (806a2cc ) 806a238: 21da movs r1, #218 ; 0xda 806a23a: 200a movs r0, #10 806a23c: f7ea ff90 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a240: 491f ldr r1, [pc, #124] ; (806a2c0 ) 806a242: 4823 ldr r0, [pc, #140] ; (806a2d0 ) 806a244: f7ea f9e4 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806a248: 4b1b ldr r3, [pc, #108] ; (806a2b8 ) 806a24a: 7b1b ldrb r3, [r3, #12] 806a24c: b2db uxtb r3, r3 806a24e: 461a mov r2, r3 806a250: 4b19 ldr r3, [pc, #100] ; (806a2b8 ) 806a252: 7b9b ldrb r3, [r3, #14] 806a254: b2db uxtb r3, r3 806a256: 4618 mov r0, r3 806a258: 4918 ldr r1, [pc, #96] ; (806a2bc ) 806a25a: 4613 mov r3, r2 806a25c: 009b lsls r3, r3, #2 806a25e: 4413 add r3, r2 806a260: 005b lsls r3, r3, #1 806a262: 4413 add r3, r2 806a264: 4403 add r3, r0 806a266: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806a26a: 461a mov r2, r3 806a26c: 219a movs r1, #154 ; 0x9a 806a26e: f44f 7082 mov.w r0, #260 ; 0x104 806a272: f7ea ff8d bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a276: 4912 ldr r1, [pc, #72] ; (806a2c0 ) 806a278: f04f 30ff mov.w r0, #4294967295 806a27c: f7ea f9c8 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806a280: 230a movs r3, #10 806a282: 220a movs r2, #10 806a284: 218d movs r1, #141 ; 0x8d 806a286: 20ff movs r0, #255 ; 0xff 806a288: f7ea fe50 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806a28c: 230a movs r3, #10 806a28e: 220a movs r2, #10 806a290: 21ad movs r1, #173 ; 0xad 806a292: 20ff movs r0, #255 ; 0xff 806a294: f7ea fe4a bl 8054f2c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806a298: 4909 ldr r1, [pc, #36] ; (806a2c0 ) 806a29a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806a29e: f7ea f9b7 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806a2a2: f507 73c0 add.w r3, r7, #384 ; 0x180 806a2a6: 461a mov r2, r3 806a2a8: 21ba movs r1, #186 ; 0xba 806a2aa: f44f 7082 mov.w r0, #260 ; 0x104 806a2ae: f7ea ff6f bl 8055190 break; 806a2b2: f000 be15 b.w 806aee0 806a2b6: bf00 nop 806a2b8: 20023ea8 .word 0x20023ea8 806a2bc: 2002033c .word 0x2002033c 806a2c0: ff0a0f1f .word 0xff0a0f1f 806a2c4: 080d3ba0 .word 0x080d3ba0 806a2c8: 080d3b90 .word 0x080d3b90 806a2cc: 080d3b98 .word 0x080d3b98 806a2d0: ffd8aa57 .word 0xffd8aa57 806a2d4: ff808080 .word 0xff808080 case RouteMax_IDT: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a2d8: 499f ldr r1, [pc, #636] ; (806a558 ) 806a2da: f04f 30ff mov.w r0, #4294967295 806a2de: f7ea f997 bl 8054610 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806a2e2: 4a9e ldr r2, [pc, #632] ; (806a55c ) 806a2e4: 21da movs r1, #218 ; 0xda 806a2e6: f240 1035 movw r0, #309 ; 0x135 806a2ea: f7ea ff69 bl 80551c0 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806a2ee: 4a9c ldr r2, [pc, #624] ; (806a560 ) 806a2f0: 21da movs r1, #218 ; 0xda 806a2f2: 20a0 movs r0, #160 ; 0xa0 806a2f4: f7ea ff4c bl 8055190 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806a2f8: 4a9a ldr r2, [pc, #616] ; (806a564 ) 806a2fa: 21da movs r1, #218 ; 0xda 806a2fc: 200a movs r0, #10 806a2fe: f7ea ff2f bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a302: 4995 ldr r1, [pc, #596] ; (806a558 ) 806a304: 4898 ldr r0, [pc, #608] ; (806a568 ) 806a306: f7ea f983 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806a30a: 4b98 ldr r3, [pc, #608] ; (806a56c ) 806a30c: 7b1b ldrb r3, [r3, #12] 806a30e: b2db uxtb r3, r3 806a310: 461a mov r2, r3 806a312: 4b96 ldr r3, [pc, #600] ; (806a56c ) 806a314: 7b9b ldrb r3, [r3, #14] 806a316: b2db uxtb r3, r3 806a318: 4618 mov r0, r3 806a31a: 4995 ldr r1, [pc, #596] ; (806a570 ) 806a31c: 4613 mov r3, r2 806a31e: 009b lsls r3, r3, #2 806a320: 4413 add r3, r2 806a322: 005b lsls r3, r3, #1 806a324: 4413 add r3, r2 806a326: 4403 add r3, r0 806a328: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806a32c: 461a mov r2, r3 806a32e: 219a movs r1, #154 ; 0x9a 806a330: f44f 7082 mov.w r0, #260 ; 0x104 806a334: f7ea ff2c bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a338: 4987 ldr r1, [pc, #540] ; (806a558 ) 806a33a: f04f 30ff mov.w r0, #4294967295 806a33e: f7ea f967 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806a342: 230a movs r3, #10 806a344: 220a movs r2, #10 806a346: 218d movs r1, #141 ; 0x8d 806a348: 20ff movs r0, #255 ; 0xff 806a34a: f7ea fdef bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806a34e: 230a movs r3, #10 806a350: 220a movs r2, #10 806a352: 21ad movs r1, #173 ; 0xad 806a354: 20ff movs r0, #255 ; 0xff 806a356: f7ea fde9 bl 8054f2c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806a35a: 497f ldr r1, [pc, #508] ; (806a558 ) 806a35c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806a360: f7ea f956 bl 8054610 if(blk) 806a364: 4b83 ldr r3, [pc, #524] ; (806a574 ) 806a366: 681b ldr r3, [r3, #0] 806a368: 2b00 cmp r3, #0 806a36a: d00b beq.n 806a384 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 806a36c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806a370: b2db uxtb r3, r3 806a372: 461a mov r2, r3 806a374: 4b80 ldr r3, [pc, #512] ; (806a578 ) 806a376: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a37a: 461a mov r2, r3 806a37c: 21ba movs r1, #186 ; 0xba 806a37e: 20c6 movs r0, #198 ; 0xc6 806a380: f7ea feee bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a384: 4974 ldr r1, [pc, #464] ; (806a558 ) 806a386: 4878 ldr r0, [pc, #480] ; (806a568 ) 806a388: f7ea f942 bl 8054610 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 806a38c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806a390: b2db uxtb r3, r3 806a392: 461a mov r2, r3 806a394: 4b78 ldr r3, [pc, #480] ; (806a578 ) 806a396: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a39a: 461a mov r2, r3 806a39c: 21ba movs r1, #186 ; 0xba 806a39e: 20d6 movs r0, #214 ; 0xd6 806a3a0: f7ea fede bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 806a3a4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806a3a8: b2db uxtb r3, r3 806a3aa: 461a mov r2, r3 806a3ac: 4b72 ldr r3, [pc, #456] ; (806a578 ) 806a3ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a3b2: 461a mov r2, r3 806a3b4: 21ba movs r1, #186 ; 0xba 806a3b6: 20e6 movs r0, #230 ; 0xe6 806a3b8: f7ea fed2 bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 806a3bc: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806a3c0: b2db uxtb r3, r3 806a3c2: 461a mov r2, r3 806a3c4: 4b6c ldr r3, [pc, #432] ; (806a578 ) 806a3c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a3ca: 461a mov r2, r3 806a3cc: 21ba movs r1, #186 ; 0xba 806a3ce: 20f6 movs r0, #246 ; 0xf6 806a3d0: f7ea fec6 bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 806a3d4: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806a3d8: b2db uxtb r3, r3 806a3da: 461a mov r2, r3 806a3dc: 4b66 ldr r3, [pc, #408] ; (806a578 ) 806a3de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a3e2: 461a mov r2, r3 806a3e4: 21ba movs r1, #186 ; 0xba 806a3e6: f44f 7083 mov.w r0, #262 ; 0x106 806a3ea: f7ea feb9 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 806a3ee: 4a63 ldr r2, [pc, #396] ; (806a57c ) 806a3f0: 21ba movs r1, #186 ; 0xba 806a3f2: f44f 708b mov.w r0, #278 ; 0x116 806a3f6: f7ea feb3 bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806a3fa: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 806a3fe: b2db uxtb r3, r3 806a400: 461a mov r2, r3 806a402: 4b5d ldr r3, [pc, #372] ; (806a578 ) 806a404: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a408: 461a mov r2, r3 806a40a: 21ba movs r1, #186 ; 0xba 806a40c: f44f 7093 mov.w r0, #294 ; 0x126 806a410: f7ea fea6 bl 8055160 break; 806a414: f000 bd64 b.w 806aee0 case RouteMax_IET: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a418: 494f ldr r1, [pc, #316] ; (806a558 ) 806a41a: f04f 30ff mov.w r0, #4294967295 806a41e: f7ea f8f7 bl 8054610 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806a422: 4a4e ldr r2, [pc, #312] ; (806a55c ) 806a424: 21da movs r1, #218 ; 0xda 806a426: f240 1035 movw r0, #309 ; 0x135 806a42a: f7ea fec9 bl 80551c0 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806a42e: 4a4c ldr r2, [pc, #304] ; (806a560 ) 806a430: 21da movs r1, #218 ; 0xda 806a432: 20a0 movs r0, #160 ; 0xa0 806a434: f7ea feac bl 8055190 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806a438: 4a4a ldr r2, [pc, #296] ; (806a564 ) 806a43a: 21da movs r1, #218 ; 0xda 806a43c: 200a movs r0, #10 806a43e: f7ea fe8f bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a442: 4945 ldr r1, [pc, #276] ; (806a558 ) 806a444: 4848 ldr r0, [pc, #288] ; (806a568 ) 806a446: f7ea f8e3 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806a44a: 4b48 ldr r3, [pc, #288] ; (806a56c ) 806a44c: 7b1b ldrb r3, [r3, #12] 806a44e: b2db uxtb r3, r3 806a450: 461a mov r2, r3 806a452: 4b46 ldr r3, [pc, #280] ; (806a56c ) 806a454: 7b9b ldrb r3, [r3, #14] 806a456: b2db uxtb r3, r3 806a458: 4618 mov r0, r3 806a45a: 4945 ldr r1, [pc, #276] ; (806a570 ) 806a45c: 4613 mov r3, r2 806a45e: 009b lsls r3, r3, #2 806a460: 4413 add r3, r2 806a462: 005b lsls r3, r3, #1 806a464: 4413 add r3, r2 806a466: 4403 add r3, r0 806a468: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806a46c: 461a mov r2, r3 806a46e: 219a movs r1, #154 ; 0x9a 806a470: f44f 7082 mov.w r0, #260 ; 0x104 806a474: f7ea fe8c bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a478: 4937 ldr r1, [pc, #220] ; (806a558 ) 806a47a: f04f 30ff mov.w r0, #4294967295 806a47e: f7ea f8c7 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806a482: 230a movs r3, #10 806a484: 220a movs r2, #10 806a486: 218d movs r1, #141 ; 0x8d 806a488: 20ff movs r0, #255 ; 0xff 806a48a: f7ea fd4f bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806a48e: 230a movs r3, #10 806a490: 220a movs r2, #10 806a492: 21ad movs r1, #173 ; 0xad 806a494: 20ff movs r0, #255 ; 0xff 806a496: f7ea fd49 bl 8054f2c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806a49a: 492f ldr r1, [pc, #188] ; (806a558 ) 806a49c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806a4a0: f7ea f8b6 bl 8054610 if(blk) 806a4a4: 4b33 ldr r3, [pc, #204] ; (806a574 ) 806a4a6: 681b ldr r3, [r3, #0] 806a4a8: 2b00 cmp r3, #0 806a4aa: d00b beq.n 806a4c4 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 806a4ac: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806a4b0: b2db uxtb r3, r3 806a4b2: 461a mov r2, r3 806a4b4: 4b30 ldr r3, [pc, #192] ; (806a578 ) 806a4b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a4ba: 461a mov r2, r3 806a4bc: 21ba movs r1, #186 ; 0xba 806a4be: 20d6 movs r0, #214 ; 0xd6 806a4c0: f7ea fe4e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a4c4: 4924 ldr r1, [pc, #144] ; (806a558 ) 806a4c6: 4828 ldr r0, [pc, #160] ; (806a568 ) 806a4c8: f7ea f8a2 bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 806a4cc: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806a4d0: b2db uxtb r3, r3 806a4d2: 461a mov r2, r3 806a4d4: 4b28 ldr r3, [pc, #160] ; (806a578 ) 806a4d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a4da: 461a mov r2, r3 806a4dc: 21ba movs r1, #186 ; 0xba 806a4de: 20c6 movs r0, #198 ; 0xc6 806a4e0: f7ea fe3e bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 806a4e4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806a4e8: b2db uxtb r3, r3 806a4ea: 461a mov r2, r3 806a4ec: 4b22 ldr r3, [pc, #136] ; (806a578 ) 806a4ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a4f2: 461a mov r2, r3 806a4f4: 21ba movs r1, #186 ; 0xba 806a4f6: 20e6 movs r0, #230 ; 0xe6 806a4f8: f7ea fe32 bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 806a4fc: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806a500: b2db uxtb r3, r3 806a502: 461a mov r2, r3 806a504: 4b1c ldr r3, [pc, #112] ; (806a578 ) 806a506: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a50a: 461a mov r2, r3 806a50c: 21ba movs r1, #186 ; 0xba 806a50e: 20f6 movs r0, #246 ; 0xf6 806a510: f7ea fe26 bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 806a514: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806a518: b2db uxtb r3, r3 806a51a: 461a mov r2, r3 806a51c: 4b16 ldr r3, [pc, #88] ; (806a578 ) 806a51e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a522: 461a mov r2, r3 806a524: 21ba movs r1, #186 ; 0xba 806a526: f44f 7083 mov.w r0, #262 ; 0x106 806a52a: f7ea fe19 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 806a52e: 4a13 ldr r2, [pc, #76] ; (806a57c ) 806a530: 21ba movs r1, #186 ; 0xba 806a532: f44f 708b mov.w r0, #278 ; 0x116 806a536: f7ea fe13 bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806a53a: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 806a53e: b2db uxtb r3, r3 806a540: 461a mov r2, r3 806a542: 4b0d ldr r3, [pc, #52] ; (806a578 ) 806a544: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a548: 461a mov r2, r3 806a54a: 21ba movs r1, #186 ; 0xba 806a54c: f44f 7093 mov.w r0, #294 ; 0x126 806a550: f7ea fe06 bl 8055160 break; 806a554: f000 bcc4 b.w 806aee0 806a558: ff0a0f1f .word 0xff0a0f1f 806a55c: 080d3ba0 .word 0x080d3ba0 806a560: 080d3b90 .word 0x080d3b90 806a564: 080d3b98 .word 0x080d3b98 806a568: ffd8aa57 .word 0xffd8aa57 806a56c: 20023ea8 .word 0x20023ea8 806a570: 2002033c .word 0x2002033c 806a574: 200216a4 .word 0x200216a4 806a578: 2002096c .word 0x2002096c 806a57c: 080d3b58 .word 0x080d3b58 case RouteMax_IES: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a580: 499f ldr r1, [pc, #636] ; (806a800 ) 806a582: f04f 30ff mov.w r0, #4294967295 806a586: f7ea f843 bl 8054610 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806a58a: 4a9e ldr r2, [pc, #632] ; (806a804 ) 806a58c: 21da movs r1, #218 ; 0xda 806a58e: f240 1035 movw r0, #309 ; 0x135 806a592: f7ea fe15 bl 80551c0 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806a596: 4a9c ldr r2, [pc, #624] ; (806a808 ) 806a598: 21da movs r1, #218 ; 0xda 806a59a: 20a0 movs r0, #160 ; 0xa0 806a59c: f7ea fdf8 bl 8055190 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806a5a0: 4a9a ldr r2, [pc, #616] ; (806a80c ) 806a5a2: 21da movs r1, #218 ; 0xda 806a5a4: 200a movs r0, #10 806a5a6: f7ea fddb bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a5aa: 4995 ldr r1, [pc, #596] ; (806a800 ) 806a5ac: 4898 ldr r0, [pc, #608] ; (806a810 ) 806a5ae: f7ea f82f bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806a5b2: 4b98 ldr r3, [pc, #608] ; (806a814 ) 806a5b4: 7b1b ldrb r3, [r3, #12] 806a5b6: b2db uxtb r3, r3 806a5b8: 461a mov r2, r3 806a5ba: 4b96 ldr r3, [pc, #600] ; (806a814 ) 806a5bc: 7b9b ldrb r3, [r3, #14] 806a5be: b2db uxtb r3, r3 806a5c0: 4618 mov r0, r3 806a5c2: 4995 ldr r1, [pc, #596] ; (806a818 ) 806a5c4: 4613 mov r3, r2 806a5c6: 009b lsls r3, r3, #2 806a5c8: 4413 add r3, r2 806a5ca: 005b lsls r3, r3, #1 806a5cc: 4413 add r3, r2 806a5ce: 4403 add r3, r0 806a5d0: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806a5d4: 461a mov r2, r3 806a5d6: 219a movs r1, #154 ; 0x9a 806a5d8: f44f 7082 mov.w r0, #260 ; 0x104 806a5dc: f7ea fdd8 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a5e0: 4987 ldr r1, [pc, #540] ; (806a800 ) 806a5e2: f04f 30ff mov.w r0, #4294967295 806a5e6: f7ea f813 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806a5ea: 230a movs r3, #10 806a5ec: 220a movs r2, #10 806a5ee: 218d movs r1, #141 ; 0x8d 806a5f0: 20ff movs r0, #255 ; 0xff 806a5f2: f7ea fc9b bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806a5f6: 230a movs r3, #10 806a5f8: 220a movs r2, #10 806a5fa: 21ad movs r1, #173 ; 0xad 806a5fc: 20ff movs r0, #255 ; 0xff 806a5fe: f7ea fc95 bl 8054f2c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806a602: 497f ldr r1, [pc, #508] ; (806a800 ) 806a604: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806a608: f7ea f802 bl 8054610 if(blk) 806a60c: 4b83 ldr r3, [pc, #524] ; (806a81c ) 806a60e: 681b ldr r3, [r3, #0] 806a610: 2b00 cmp r3, #0 806a612: d00b beq.n 806a62c LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 806a614: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806a618: b2db uxtb r3, r3 806a61a: 461a mov r2, r3 806a61c: 4b80 ldr r3, [pc, #512] ; (806a820 ) 806a61e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a622: 461a mov r2, r3 806a624: 21ba movs r1, #186 ; 0xba 806a626: 20e6 movs r0, #230 ; 0xe6 806a628: f7ea fd9a bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a62c: 4974 ldr r1, [pc, #464] ; (806a800 ) 806a62e: 4878 ldr r0, [pc, #480] ; (806a810 ) 806a630: f7e9 ffee bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 806a634: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806a638: b2db uxtb r3, r3 806a63a: 461a mov r2, r3 806a63c: 4b78 ldr r3, [pc, #480] ; (806a820 ) 806a63e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a642: 461a mov r2, r3 806a644: 21ba movs r1, #186 ; 0xba 806a646: 20c6 movs r0, #198 ; 0xc6 806a648: f7ea fd8a bl 8055160 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 806a64c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806a650: b2db uxtb r3, r3 806a652: 461a mov r2, r3 806a654: 4b72 ldr r3, [pc, #456] ; (806a820 ) 806a656: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a65a: 461a mov r2, r3 806a65c: 21ba movs r1, #186 ; 0xba 806a65e: 20d6 movs r0, #214 ; 0xd6 806a660: f7ea fd7e bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 806a664: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806a668: b2db uxtb r3, r3 806a66a: 461a mov r2, r3 806a66c: 4b6c ldr r3, [pc, #432] ; (806a820 ) 806a66e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a672: 461a mov r2, r3 806a674: 21ba movs r1, #186 ; 0xba 806a676: 20f6 movs r0, #246 ; 0xf6 806a678: f7ea fd72 bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 806a67c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806a680: b2db uxtb r3, r3 806a682: 461a mov r2, r3 806a684: 4b66 ldr r3, [pc, #408] ; (806a820 ) 806a686: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a68a: 461a mov r2, r3 806a68c: 21ba movs r1, #186 ; 0xba 806a68e: f44f 7083 mov.w r0, #262 ; 0x106 806a692: f7ea fd65 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 806a696: 4a63 ldr r2, [pc, #396] ; (806a824 ) 806a698: 21ba movs r1, #186 ; 0xba 806a69a: f44f 708b mov.w r0, #278 ; 0x116 806a69e: f7ea fd5f bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806a6a2: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 806a6a6: b2db uxtb r3, r3 806a6a8: 461a mov r2, r3 806a6aa: 4b5d ldr r3, [pc, #372] ; (806a820 ) 806a6ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a6b0: 461a mov r2, r3 806a6b2: 21ba movs r1, #186 ; 0xba 806a6b4: f44f 7093 mov.w r0, #294 ; 0x126 806a6b8: f7ea fd52 bl 8055160 break; 806a6bc: f000 bc10 b.w 806aee0 case RouteMax_IED: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a6c0: 494f ldr r1, [pc, #316] ; (806a800 ) 806a6c2: f04f 30ff mov.w r0, #4294967295 806a6c6: f7e9 ffa3 bl 8054610 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806a6ca: 4a4e ldr r2, [pc, #312] ; (806a804 ) 806a6cc: 21da movs r1, #218 ; 0xda 806a6ce: f240 1035 movw r0, #309 ; 0x135 806a6d2: f7ea fd75 bl 80551c0 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806a6d6: 4a4c ldr r2, [pc, #304] ; (806a808 ) 806a6d8: 21da movs r1, #218 ; 0xda 806a6da: 20a0 movs r0, #160 ; 0xa0 806a6dc: f7ea fd58 bl 8055190 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806a6e0: 4a4a ldr r2, [pc, #296] ; (806a80c ) 806a6e2: 21da movs r1, #218 ; 0xda 806a6e4: 200a movs r0, #10 806a6e6: f7ea fd3b bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a6ea: 4945 ldr r1, [pc, #276] ; (806a800 ) 806a6ec: 4848 ldr r0, [pc, #288] ; (806a810 ) 806a6ee: f7e9 ff8f bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806a6f2: 4b48 ldr r3, [pc, #288] ; (806a814 ) 806a6f4: 7b1b ldrb r3, [r3, #12] 806a6f6: b2db uxtb r3, r3 806a6f8: 461a mov r2, r3 806a6fa: 4b46 ldr r3, [pc, #280] ; (806a814 ) 806a6fc: 7b9b ldrb r3, [r3, #14] 806a6fe: b2db uxtb r3, r3 806a700: 4618 mov r0, r3 806a702: 4945 ldr r1, [pc, #276] ; (806a818 ) 806a704: 4613 mov r3, r2 806a706: 009b lsls r3, r3, #2 806a708: 4413 add r3, r2 806a70a: 005b lsls r3, r3, #1 806a70c: 4413 add r3, r2 806a70e: 4403 add r3, r0 806a710: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806a714: 461a mov r2, r3 806a716: 219a movs r1, #154 ; 0x9a 806a718: f44f 7082 mov.w r0, #260 ; 0x104 806a71c: f7ea fd38 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a720: 4937 ldr r1, [pc, #220] ; (806a800 ) 806a722: f04f 30ff mov.w r0, #4294967295 806a726: f7e9 ff73 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806a72a: 230a movs r3, #10 806a72c: 220a movs r2, #10 806a72e: 218d movs r1, #141 ; 0x8d 806a730: 20ff movs r0, #255 ; 0xff 806a732: f7ea fbfb bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806a736: 230a movs r3, #10 806a738: 220a movs r2, #10 806a73a: 21ad movs r1, #173 ; 0xad 806a73c: 20ff movs r0, #255 ; 0xff 806a73e: f7ea fbf5 bl 8054f2c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806a742: 492f ldr r1, [pc, #188] ; (806a800 ) 806a744: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806a748: f7e9 ff62 bl 8054610 if(blk) 806a74c: 4b33 ldr r3, [pc, #204] ; (806a81c ) 806a74e: 681b ldr r3, [r3, #0] 806a750: 2b00 cmp r3, #0 806a752: d00b beq.n 806a76c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 806a754: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806a758: b2db uxtb r3, r3 806a75a: 461a mov r2, r3 806a75c: 4b30 ldr r3, [pc, #192] ; (806a820 ) 806a75e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a762: 461a mov r2, r3 806a764: 21ba movs r1, #186 ; 0xba 806a766: 20f6 movs r0, #246 ; 0xf6 806a768: f7ea fcfa bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a76c: 4924 ldr r1, [pc, #144] ; (806a800 ) 806a76e: 4828 ldr r0, [pc, #160] ; (806a810 ) 806a770: f7e9 ff4e bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 806a774: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806a778: b2db uxtb r3, r3 806a77a: 461a mov r2, r3 806a77c: 4b28 ldr r3, [pc, #160] ; (806a820 ) 806a77e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a782: 461a mov r2, r3 806a784: 21ba movs r1, #186 ; 0xba 806a786: 20c6 movs r0, #198 ; 0xc6 806a788: f7ea fcea bl 8055160 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 806a78c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806a790: b2db uxtb r3, r3 806a792: 461a mov r2, r3 806a794: 4b22 ldr r3, [pc, #136] ; (806a820 ) 806a796: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a79a: 461a mov r2, r3 806a79c: 21ba movs r1, #186 ; 0xba 806a79e: 20d6 movs r0, #214 ; 0xd6 806a7a0: f7ea fcde bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 806a7a4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806a7a8: b2db uxtb r3, r3 806a7aa: 461a mov r2, r3 806a7ac: 4b1c ldr r3, [pc, #112] ; (806a820 ) 806a7ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a7b2: 461a mov r2, r3 806a7b4: 21ba movs r1, #186 ; 0xba 806a7b6: 20e6 movs r0, #230 ; 0xe6 806a7b8: f7ea fcd2 bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 806a7bc: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806a7c0: b2db uxtb r3, r3 806a7c2: 461a mov r2, r3 806a7c4: 4b16 ldr r3, [pc, #88] ; (806a820 ) 806a7c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a7ca: 461a mov r2, r3 806a7cc: 21ba movs r1, #186 ; 0xba 806a7ce: f44f 7083 mov.w r0, #262 ; 0x106 806a7d2: f7ea fcc5 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 806a7d6: 4a13 ldr r2, [pc, #76] ; (806a824 ) 806a7d8: 21ba movs r1, #186 ; 0xba 806a7da: f44f 708b mov.w r0, #278 ; 0x116 806a7de: f7ea fcbf bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806a7e2: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 806a7e6: b2db uxtb r3, r3 806a7e8: 461a mov r2, r3 806a7ea: 4b0d ldr r3, [pc, #52] ; (806a820 ) 806a7ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a7f0: 461a mov r2, r3 806a7f2: 21ba movs r1, #186 ; 0xba 806a7f4: f44f 7093 mov.w r0, #294 ; 0x126 806a7f8: f7ea fcb2 bl 8055160 break; 806a7fc: e370 b.n 806aee0 806a7fe: bf00 nop 806a800: ff0a0f1f .word 0xff0a0f1f 806a804: 080d3ba0 .word 0x080d3ba0 806a808: 080d3b90 .word 0x080d3b90 806a80c: 080d3b98 .word 0x080d3b98 806a810: ffd8aa57 .word 0xffd8aa57 806a814: 20023ea8 .word 0x20023ea8 806a818: 2002033c .word 0x2002033c 806a81c: 200216a4 .word 0x200216a4 806a820: 2002096c .word 0x2002096c 806a824: 080d3b58 .word 0x080d3b58 case RouteMax_IEE: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a828: 49d0 ldr r1, [pc, #832] ; (806ab6c ) 806a82a: f04f 30ff mov.w r0, #4294967295 806a82e: f7e9 feef bl 8054610 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806a832: 4acf ldr r2, [pc, #828] ; (806ab70 ) 806a834: 21da movs r1, #218 ; 0xda 806a836: f240 1035 movw r0, #309 ; 0x135 806a83a: f7ea fcc1 bl 80551c0 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806a83e: 4acd ldr r2, [pc, #820] ; (806ab74 ) 806a840: 21da movs r1, #218 ; 0xda 806a842: 20a0 movs r0, #160 ; 0xa0 806a844: f7ea fca4 bl 8055190 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806a848: 4acb ldr r2, [pc, #812] ; (806ab78 ) 806a84a: 21da movs r1, #218 ; 0xda 806a84c: 200a movs r0, #10 806a84e: f7ea fc87 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a852: 49c6 ldr r1, [pc, #792] ; (806ab6c ) 806a854: 48c9 ldr r0, [pc, #804] ; (806ab7c ) 806a856: f7e9 fedb bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806a85a: 4bc9 ldr r3, [pc, #804] ; (806ab80 ) 806a85c: 7b1b ldrb r3, [r3, #12] 806a85e: b2db uxtb r3, r3 806a860: 461a mov r2, r3 806a862: 4bc7 ldr r3, [pc, #796] ; (806ab80 ) 806a864: 7b9b ldrb r3, [r3, #14] 806a866: b2db uxtb r3, r3 806a868: 4618 mov r0, r3 806a86a: 49c6 ldr r1, [pc, #792] ; (806ab84 ) 806a86c: 4613 mov r3, r2 806a86e: 009b lsls r3, r3, #2 806a870: 4413 add r3, r2 806a872: 005b lsls r3, r3, #1 806a874: 4413 add r3, r2 806a876: 4403 add r3, r0 806a878: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806a87c: 461a mov r2, r3 806a87e: 219a movs r1, #154 ; 0x9a 806a880: f44f 7082 mov.w r0, #260 ; 0x104 806a884: f7ea fc84 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a888: 49b8 ldr r1, [pc, #736] ; (806ab6c ) 806a88a: f04f 30ff mov.w r0, #4294967295 806a88e: f7e9 febf bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806a892: 230a movs r3, #10 806a894: 220a movs r2, #10 806a896: 218d movs r1, #141 ; 0x8d 806a898: 20ff movs r0, #255 ; 0xff 806a89a: f7ea fb47 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806a89e: 230a movs r3, #10 806a8a0: 220a movs r2, #10 806a8a2: 21ad movs r1, #173 ; 0xad 806a8a4: 20ff movs r0, #255 ; 0xff 806a8a6: f7ea fb41 bl 8054f2c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806a8aa: 49b0 ldr r1, [pc, #704] ; (806ab6c ) 806a8ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806a8b0: f7e9 feae bl 8054610 if(blk) 806a8b4: 4bb4 ldr r3, [pc, #720] ; (806ab88 ) 806a8b6: 681b ldr r3, [r3, #0] 806a8b8: 2b00 cmp r3, #0 806a8ba: d00c beq.n 806a8d6 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 806a8bc: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806a8c0: b2db uxtb r3, r3 806a8c2: 461a mov r2, r3 806a8c4: 4bb1 ldr r3, [pc, #708] ; (806ab8c ) 806a8c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a8ca: 461a mov r2, r3 806a8cc: 21ba movs r1, #186 ; 0xba 806a8ce: f44f 7083 mov.w r0, #262 ; 0x106 806a8d2: f7ea fc45 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a8d6: 49a5 ldr r1, [pc, #660] ; (806ab6c ) 806a8d8: 48a8 ldr r0, [pc, #672] ; (806ab7c ) 806a8da: f7e9 fe99 bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 806a8de: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806a8e2: b2db uxtb r3, r3 806a8e4: 461a mov r2, r3 806a8e6: 4ba9 ldr r3, [pc, #676] ; (806ab8c ) 806a8e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a8ec: 461a mov r2, r3 806a8ee: 21ba movs r1, #186 ; 0xba 806a8f0: 20c6 movs r0, #198 ; 0xc6 806a8f2: f7ea fc35 bl 8055160 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 806a8f6: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806a8fa: b2db uxtb r3, r3 806a8fc: 461a mov r2, r3 806a8fe: 4ba3 ldr r3, [pc, #652] ; (806ab8c ) 806a900: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a904: 461a mov r2, r3 806a906: 21ba movs r1, #186 ; 0xba 806a908: 20d6 movs r0, #214 ; 0xd6 806a90a: f7ea fc29 bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 806a90e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806a912: b2db uxtb r3, r3 806a914: 461a mov r2, r3 806a916: 4b9d ldr r3, [pc, #628] ; (806ab8c ) 806a918: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a91c: 461a mov r2, r3 806a91e: 21ba movs r1, #186 ; 0xba 806a920: 20e6 movs r0, #230 ; 0xe6 806a922: f7ea fc1d bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 806a926: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806a92a: b2db uxtb r3, r3 806a92c: 461a mov r2, r3 806a92e: 4b97 ldr r3, [pc, #604] ; (806ab8c ) 806a930: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a934: 461a mov r2, r3 806a936: 21ba movs r1, #186 ; 0xba 806a938: 20f6 movs r0, #246 ; 0xf6 806a93a: f7ea fc11 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 806a93e: 4a94 ldr r2, [pc, #592] ; (806ab90 ) 806a940: 21ba movs r1, #186 ; 0xba 806a942: f44f 708b mov.w r0, #278 ; 0x116 806a946: f7ea fc0b bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806a94a: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 806a94e: b2db uxtb r3, r3 806a950: 461a mov r2, r3 806a952: 4b8e ldr r3, [pc, #568] ; (806ab8c ) 806a954: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806a958: 461a mov r2, r3 806a95a: 21ba movs r1, #186 ; 0xba 806a95c: f44f 7093 mov.w r0, #294 ; 0x126 806a960: f7ea fbfe bl 8055160 break; 806a964: e2bc b.n 806aee0 case RouteMax_IKD: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a966: 4981 ldr r1, [pc, #516] ; (806ab6c ) 806a968: f04f 30ff mov.w r0, #4294967295 806a96c: f7e9 fe50 bl 8054610 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806a970: 4a7f ldr r2, [pc, #508] ; (806ab70 ) 806a972: 21da movs r1, #218 ; 0xda 806a974: f240 1035 movw r0, #309 ; 0x135 806a978: f7ea fc22 bl 80551c0 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806a97c: 4a7d ldr r2, [pc, #500] ; (806ab74 ) 806a97e: 21da movs r1, #218 ; 0xda 806a980: 20a0 movs r0, #160 ; 0xa0 806a982: f7ea fc05 bl 8055190 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806a986: 4a7c ldr r2, [pc, #496] ; (806ab78 ) 806a988: 21da movs r1, #218 ; 0xda 806a98a: 200a movs r0, #10 806a98c: f7ea fbe8 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806a990: 4976 ldr r1, [pc, #472] ; (806ab6c ) 806a992: 487a ldr r0, [pc, #488] ; (806ab7c ) 806a994: f7e9 fe3c bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806a998: 4b79 ldr r3, [pc, #484] ; (806ab80 ) 806a99a: 7b1b ldrb r3, [r3, #12] 806a99c: b2db uxtb r3, r3 806a99e: 461a mov r2, r3 806a9a0: 4b77 ldr r3, [pc, #476] ; (806ab80 ) 806a9a2: 7b9b ldrb r3, [r3, #14] 806a9a4: b2db uxtb r3, r3 806a9a6: 4618 mov r0, r3 806a9a8: 4976 ldr r1, [pc, #472] ; (806ab84 ) 806a9aa: 4613 mov r3, r2 806a9ac: 009b lsls r3, r3, #2 806a9ae: 4413 add r3, r2 806a9b0: 005b lsls r3, r3, #1 806a9b2: 4413 add r3, r2 806a9b4: 4403 add r3, r0 806a9b6: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806a9ba: 461a mov r2, r3 806a9bc: 219a movs r1, #154 ; 0x9a 806a9be: f44f 7082 mov.w r0, #260 ; 0x104 806a9c2: f7ea fbe5 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a9c6: 4969 ldr r1, [pc, #420] ; (806ab6c ) 806a9c8: f04f 30ff mov.w r0, #4294967295 806a9cc: f7e9 fe20 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806a9d0: 230a movs r3, #10 806a9d2: 220a movs r2, #10 806a9d4: 218d movs r1, #141 ; 0x8d 806a9d6: 20ff movs r0, #255 ; 0xff 806a9d8: f7ea faa8 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806a9dc: 230a movs r3, #10 806a9de: 220a movs r2, #10 806a9e0: 21ad movs r1, #173 ; 0xad 806a9e2: 20ff movs r0, #255 ; 0xff 806a9e4: f7ea faa2 bl 8054f2c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806a9e8: 4960 ldr r1, [pc, #384] ; (806ab6c ) 806a9ea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806a9ee: f7e9 fe0f bl 8054610 if(blk) 806a9f2: 4b65 ldr r3, [pc, #404] ; (806ab88 ) 806a9f4: 681b ldr r3, [r3, #0] 806a9f6: 2b00 cmp r3, #0 806a9f8: d00c beq.n 806aa14 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806a9fa: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 806a9fe: b2db uxtb r3, r3 806aa00: 461a mov r2, r3 806aa02: 4b62 ldr r3, [pc, #392] ; (806ab8c ) 806aa04: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806aa08: 461a mov r2, r3 806aa0a: 21ba movs r1, #186 ; 0xba 806aa0c: f44f 7093 mov.w r0, #294 ; 0x126 806aa10: f7ea fba6 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806aa14: 4955 ldr r1, [pc, #340] ; (806ab6c ) 806aa16: 4859 ldr r0, [pc, #356] ; (806ab7c ) 806aa18: f7e9 fdfa bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 806aa1c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806aa20: b2db uxtb r3, r3 806aa22: 461a mov r2, r3 806aa24: 4b59 ldr r3, [pc, #356] ; (806ab8c ) 806aa26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806aa2a: 461a mov r2, r3 806aa2c: 21ba movs r1, #186 ; 0xba 806aa2e: 20c6 movs r0, #198 ; 0xc6 806aa30: f7ea fb96 bl 8055160 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 806aa34: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 806aa38: b2db uxtb r3, r3 806aa3a: 461a mov r2, r3 806aa3c: 4b53 ldr r3, [pc, #332] ; (806ab8c ) 806aa3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806aa42: 461a mov r2, r3 806aa44: 21ba movs r1, #186 ; 0xba 806aa46: 20d6 movs r0, #214 ; 0xd6 806aa48: f7ea fb8a bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 806aa4c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806aa50: b2db uxtb r3, r3 806aa52: 461a mov r2, r3 806aa54: 4b4d ldr r3, [pc, #308] ; (806ab8c ) 806aa56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806aa5a: 461a mov r2, r3 806aa5c: 21ba movs r1, #186 ; 0xba 806aa5e: 20e6 movs r0, #230 ; 0xe6 806aa60: f7ea fb7e bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 806aa64: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806aa68: b2db uxtb r3, r3 806aa6a: 461a mov r2, r3 806aa6c: 4b47 ldr r3, [pc, #284] ; (806ab8c ) 806aa6e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806aa72: 461a mov r2, r3 806aa74: 21ba movs r1, #186 ; 0xba 806aa76: 20f6 movs r0, #246 ; 0xf6 806aa78: f7ea fb72 bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 806aa7c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 806aa80: b2db uxtb r3, r3 806aa82: 461a mov r2, r3 806aa84: 4b41 ldr r3, [pc, #260] ; (806ab8c ) 806aa86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806aa8a: 461a mov r2, r3 806aa8c: 21ba movs r1, #186 ; 0xba 806aa8e: f44f 7083 mov.w r0, #262 ; 0x106 806aa92: f7ea fb65 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 806aa96: 4a3e ldr r2, [pc, #248] ; (806ab90 ) 806aa98: 21ba movs r1, #186 ; 0xba 806aa9a: f44f 708b mov.w r0, #278 ; 0x116 806aa9e: f7ea fb5f bl 8055160 break; 806aaa2: e21d b.n 806aee0 case RouteTacho: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806aaa4: 4931 ldr r1, [pc, #196] ; (806ab6c ) 806aaa6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806aaaa: f7e9 fdb1 bl 8054610 BSP_LCD_FillRect(253, CHECKBOX_LINE_8-2, 14, 14); 806aaae: 230e movs r3, #14 806aab0: 220e movs r2, #14 806aab2: 218b movs r1, #139 ; 0x8b 806aab4: 20fd movs r0, #253 ; 0xfd 806aab6: f7ea fa39 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806aaba: 492c ldr r1, [pc, #176] ; (806ab6c ) 806aabc: f04f 30ff mov.w r0, #4294967295 806aac0: f7e9 fda6 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806aac4: 230a movs r3, #10 806aac6: 220a movs r2, #10 806aac8: 218d movs r1, #141 ; 0x8d 806aaca: 20ff movs r0, #255 ; 0xff 806aacc: f7ea fa2e bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806aad0: 4926 ldr r1, [pc, #152] ; (806ab6c ) 806aad2: f04f 30ff mov.w r0, #4294967295 806aad6: f7e9 fd9b bl 8054610 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806aada: 4a25 ldr r2, [pc, #148] ; (806ab70 ) 806aadc: 21da movs r1, #218 ; 0xda 806aade: f240 1035 movw r0, #309 ; 0x135 806aae2: f7ea fb6d bl 80551c0 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806aae6: 4a23 ldr r2, [pc, #140] ; (806ab74 ) 806aae8: 21da movs r1, #218 ; 0xda 806aaea: 20a0 movs r0, #160 ; 0xa0 806aaec: f7ea fb50 bl 8055190 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806aaf0: 4a21 ldr r2, [pc, #132] ; (806ab78 ) 806aaf2: 21da movs r1, #218 ; 0xda 806aaf4: 200a movs r0, #10 806aaf6: f7ea fb33 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806aafa: 491c ldr r1, [pc, #112] ; (806ab6c ) 806aafc: 481f ldr r0, [pc, #124] ; (806ab7c ) 806aafe: f7e9 fd87 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806ab02: 4b1f ldr r3, [pc, #124] ; (806ab80 ) 806ab04: 7b1b ldrb r3, [r3, #12] 806ab06: b2db uxtb r3, r3 806ab08: 461a mov r2, r3 806ab0a: 4b1d ldr r3, [pc, #116] ; (806ab80 ) 806ab0c: 7b9b ldrb r3, [r3, #14] 806ab0e: b2db uxtb r3, r3 806ab10: 4618 mov r0, r3 806ab12: 491c ldr r1, [pc, #112] ; (806ab84 ) 806ab14: 4613 mov r3, r2 806ab16: 009b lsls r3, r3, #2 806ab18: 4413 add r3, r2 806ab1a: 005b lsls r3, r3, #1 806ab1c: 4413 add r3, r2 806ab1e: 4403 add r3, r0 806ab20: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806ab24: 461a mov r2, r3 806ab26: 219a movs r1, #154 ; 0x9a 806ab28: f44f 7082 mov.w r0, #260 ; 0x104 806ab2c: f7ea fb30 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ab30: 490e ldr r1, [pc, #56] ; (806ab6c ) 806ab32: f04f 30ff mov.w r0, #4294967295 806ab36: f7e9 fd6b bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806ab3a: 230a movs r3, #10 806ab3c: 220a movs r2, #10 806ab3e: 218d movs r1, #141 ; 0x8d 806ab40: 20ff movs r0, #255 ; 0xff 806ab42: f7ea f9f3 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806ab46: 230a movs r3, #10 806ab48: 220a movs r2, #10 806ab4a: 21ad movs r1, #173 ; 0xad 806ab4c: 20ff movs r0, #255 ; 0xff 806ab4e: f7ea f9ed bl 8054f2c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806ab52: 4b0b ldr r3, [pc, #44] ; (806ab80 ) 806ab54: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806ab58: f003 0304 and.w r3, r3, #4 806ab5c: 2b00 cmp r3, #0 806ab5e: d119 bne.n 806ab94 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806ab60: 4902 ldr r1, [pc, #8] ; (806ab6c ) 806ab62: 4806 ldr r0, [pc, #24] ; (806ab7c ) 806ab64: f7e9 fd54 bl 8054610 806ab68: e018 b.n 806ab9c 806ab6a: bf00 nop 806ab6c: ff0a0f1f .word 0xff0a0f1f 806ab70: 080d3ba0 .word 0x080d3ba0 806ab74: 080d3b90 .word 0x080d3b90 806ab78: 080d3b98 .word 0x080d3b98 806ab7c: ffd8aa57 .word 0xffd8aa57 806ab80: 20023ea8 .word 0x20023ea8 806ab84: 2002033c .word 0x2002033c 806ab88: 200216a4 .word 0x200216a4 806ab8c: 2002096c .word 0x2002096c 806ab90: 080d3b58 .word 0x080d3b58 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806ab94: 498e ldr r1, [pc, #568] ; (806add0 ) 806ab96: 488f ldr r0, [pc, #572] ; (806add4 ) 806ab98: f7e9 fd3a bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806ab9c: f507 73c0 add.w r3, r7, #384 ; 0x180 806aba0: 461a mov r2, r3 806aba2: 21ba movs r1, #186 ; 0xba 806aba4: f44f 7082 mov.w r0, #260 ; 0x104 806aba8: f7ea faf2 bl 8055190 break; 806abac: e198 b.n 806aee0 case RouteNullNo: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806abae: 4988 ldr r1, [pc, #544] ; (806add0 ) 806abb0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806abb4: f7e9 fd2c bl 8054610 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806abb8: 4a87 ldr r2, [pc, #540] ; (806add8 ) 806abba: 21da movs r1, #218 ; 0xda 806abbc: f240 1035 movw r0, #309 ; 0x135 806abc0: f7ea fafe bl 80551c0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806abc4: 4982 ldr r1, [pc, #520] ; (806add0 ) 806abc6: f04f 30ff mov.w r0, #4294967295 806abca: f7e9 fd21 bl 8054610 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806abce: 4a83 ldr r2, [pc, #524] ; (806addc ) 806abd0: 21da movs r1, #218 ; 0xda 806abd2: 20a0 movs r0, #160 ; 0xa0 806abd4: f7ea fadc bl 8055190 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806abd8: 4a81 ldr r2, [pc, #516] ; (806ade0 ) 806abda: 21da movs r1, #218 ; 0xda 806abdc: 200a movs r0, #10 806abde: f7ea fabf bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806abe2: 497b ldr r1, [pc, #492] ; (806add0 ) 806abe4: 487f ldr r0, [pc, #508] ; (806ade4 ) 806abe6: f7e9 fd13 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806abea: 4b7f ldr r3, [pc, #508] ; (806ade8 ) 806abec: 7b1b ldrb r3, [r3, #12] 806abee: b2db uxtb r3, r3 806abf0: 461a mov r2, r3 806abf2: 4b7d ldr r3, [pc, #500] ; (806ade8 ) 806abf4: 7b9b ldrb r3, [r3, #14] 806abf6: b2db uxtb r3, r3 806abf8: 4618 mov r0, r3 806abfa: 497c ldr r1, [pc, #496] ; (806adec ) 806abfc: 4613 mov r3, r2 806abfe: 009b lsls r3, r3, #2 806ac00: 4413 add r3, r2 806ac02: 005b lsls r3, r3, #1 806ac04: 4413 add r3, r2 806ac06: 4403 add r3, r0 806ac08: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806ac0c: 461a mov r2, r3 806ac0e: 219a movs r1, #154 ; 0x9a 806ac10: f44f 7082 mov.w r0, #260 ; 0x104 806ac14: f7ea fabc bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ac18: 496d ldr r1, [pc, #436] ; (806add0 ) 806ac1a: f04f 30ff mov.w r0, #4294967295 806ac1e: f7e9 fcf7 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806ac22: 230a movs r3, #10 806ac24: 220a movs r2, #10 806ac26: 218d movs r1, #141 ; 0x8d 806ac28: 20ff movs r0, #255 ; 0xff 806ac2a: f7ea f97f bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806ac2e: 230a movs r3, #10 806ac30: 220a movs r2, #10 806ac32: 21ad movs r1, #173 ; 0xad 806ac34: 20ff movs r0, #255 ; 0xff 806ac36: f7ea f979 bl 8054f2c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806ac3a: 4b6b ldr r3, [pc, #428] ; (806ade8 ) 806ac3c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806ac40: f003 0304 and.w r3, r3, #4 806ac44: 2b00 cmp r3, #0 806ac46: d104 bne.n 806ac52 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806ac48: 4961 ldr r1, [pc, #388] ; (806add0 ) 806ac4a: 4866 ldr r0, [pc, #408] ; (806ade4 ) 806ac4c: f7e9 fce0 bl 8054610 806ac50: e003 b.n 806ac5a else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806ac52: 495f ldr r1, [pc, #380] ; (806add0 ) 806ac54: 485f ldr r0, [pc, #380] ; (806add4 ) 806ac56: f7e9 fcdb bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806ac5a: f507 73c0 add.w r3, r7, #384 ; 0x180 806ac5e: 461a mov r2, r3 806ac60: 21ba movs r1, #186 ; 0xba 806ac62: f44f 7082 mov.w r0, #260 ; 0x104 806ac66: f7ea fa93 bl 8055190 if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 806ac6a: 4b5f ldr r3, [pc, #380] ; (806ade8 ) 806ac6c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806ac70: f003 0304 and.w r3, r3, #4 806ac74: 2b00 cmp r3, #0 806ac76: d00a beq.n 806ac8e { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 806ac78: 4955 ldr r1, [pc, #340] ; (806add0 ) 806ac7a: 485d ldr r0, [pc, #372] ; (806adf0 ) 806ac7c: f7e9 fcc8 bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 806ac80: 2306 movs r3, #6 806ac82: 2206 movs r2, #6 806ac84: 21af movs r1, #175 ; 0xaf 806ac86: f240 1001 movw r0, #257 ; 0x101 806ac8a: f7ea f94f bl 8054f2c } if(pardata.OPTIONS & BIT7) 806ac8e: 4b56 ldr r3, [pc, #344] ; (806ade8 ) 806ac90: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806ac94: f003 0380 and.w r3, r3, #128 ; 0x80 806ac98: 2b00 cmp r3, #0 806ac9a: d00a beq.n 806acb2 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 806ac9c: 494c ldr r1, [pc, #304] ; (806add0 ) 806ac9e: 4854 ldr r0, [pc, #336] ; (806adf0 ) 806aca0: f7e9 fcb6 bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 806aca4: 2306 movs r3, #6 806aca6: 2206 movs r2, #6 806aca8: 218f movs r1, #143 ; 0x8f 806acaa: f240 1001 movw r0, #257 ; 0x101 806acae: f7ea f93d bl 8054f2c } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806acb2: 4947 ldr r1, [pc, #284] ; (806add0 ) 806acb4: f04f 30ff mov.w r0, #4294967295 806acb8: f7e9 fcaa bl 8054610 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 806acbc: 237c movs r3, #124 ; 0x7c 806acbe: 22f0 movs r2, #240 ; 0xf0 806acc0: 2148 movs r1, #72 ; 0x48 806acc2: 2028 movs r0, #40 ; 0x28 806acc4: f7ea f932 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 806acc8: 4941 ldr r1, [pc, #260] ; (806add0 ) 806acca: 4841 ldr r0, [pc, #260] ; (806add0 ) 806accc: f7e9 fca0 bl 8054610 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 806acd0: 2378 movs r3, #120 ; 0x78 806acd2: 22ec movs r2, #236 ; 0xec 806acd4: 214a movs r1, #74 ; 0x4a 806acd6: 202a movs r0, #42 ; 0x2a 806acd8: f7ea f928 bl 8054f2c BSP_LCD_SetFont(&Font12); 806acdc: 4845 ldr r0, [pc, #276] ; (806adf4 ) 806acde: f7e9 fcd3 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ace2: 493b ldr r1, [pc, #236] ; (806add0 ) 806ace4: f04f 30ff mov.w r0, #4294967295 806ace8: f7e9 fc92 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå íà÷àòü ìàðøðóò", CENTER_MODE); 806acec: 2301 movs r3, #1 806acee: 4a42 ldr r2, [pc, #264] ; (806adf8 ) 806acf0: 217a movs r1, #122 ; 0x7a 806acf2: 20a0 movs r0, #160 ; 0xa0 806acf4: f7e9 fd52 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "çàíîâî?", CENTER_MODE); 806acf8: 2301 movs r3, #1 806acfa: 4a40 ldr r2, [pc, #256] ; (806adfc ) 806acfc: 218a movs r1, #138 ; 0x8a 806acfe: 20a0 movs r0, #160 ; 0xa0 806ad00: f7e9 fd4c bl 805479c BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 806ad04: 2302 movs r3, #2 806ad06: 4a3e ldr r2, [pc, #248] ; (806ae00 ) 806ad08: 21aa movs r1, #170 ; 0xaa 806ad0a: f44f 7081 mov.w r0, #258 ; 0x102 806ad0e: f7e9 fd45 bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806ad12: 492f ldr r1, [pc, #188] ; (806add0 ) 806ad14: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806ad18: f7e9 fc7a bl 8054610 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 806ad1c: 2303 movs r3, #3 806ad1e: 4a39 ldr r2, [pc, #228] ; (806ae04 ) 806ad20: 21aa movs r1, #170 ; 0xaa 806ad22: 203e movs r0, #62 ; 0x3e 806ad24: f7e9 fd3a bl 805479c break; 806ad28: e0da b.n 806aee0 case RouteNullYes: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806ad2a: 4929 ldr r1, [pc, #164] ; (806add0 ) 806ad2c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806ad30: f7e9 fc6e bl 8054610 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806ad34: 4a28 ldr r2, [pc, #160] ; (806add8 ) 806ad36: 21da movs r1, #218 ; 0xda 806ad38: f240 1035 movw r0, #309 ; 0x135 806ad3c: f7ea fa40 bl 80551c0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ad40: 4923 ldr r1, [pc, #140] ; (806add0 ) 806ad42: f04f 30ff mov.w r0, #4294967295 806ad46: f7e9 fc63 bl 8054610 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806ad4a: 4a24 ldr r2, [pc, #144] ; (806addc ) 806ad4c: 21da movs r1, #218 ; 0xda 806ad4e: 20a0 movs r0, #160 ; 0xa0 806ad50: f7ea fa1e bl 8055190 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806ad54: 4a22 ldr r2, [pc, #136] ; (806ade0 ) 806ad56: 21da movs r1, #218 ; 0xda 806ad58: 200a movs r0, #10 806ad5a: f7ea fa01 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806ad5e: 491c ldr r1, [pc, #112] ; (806add0 ) 806ad60: 4820 ldr r0, [pc, #128] ; (806ade4 ) 806ad62: f7e9 fc55 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806ad66: 4b20 ldr r3, [pc, #128] ; (806ade8 ) 806ad68: 7b1b ldrb r3, [r3, #12] 806ad6a: b2db uxtb r3, r3 806ad6c: 461a mov r2, r3 806ad6e: 4b1e ldr r3, [pc, #120] ; (806ade8 ) 806ad70: 7b9b ldrb r3, [r3, #14] 806ad72: b2db uxtb r3, r3 806ad74: 4618 mov r0, r3 806ad76: 491d ldr r1, [pc, #116] ; (806adec ) 806ad78: 4613 mov r3, r2 806ad7a: 009b lsls r3, r3, #2 806ad7c: 4413 add r3, r2 806ad7e: 005b lsls r3, r3, #1 806ad80: 4413 add r3, r2 806ad82: 4403 add r3, r0 806ad84: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806ad88: 461a mov r2, r3 806ad8a: 219a movs r1, #154 ; 0x9a 806ad8c: f44f 7082 mov.w r0, #260 ; 0x104 806ad90: f7ea f9fe bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ad94: 490e ldr r1, [pc, #56] ; (806add0 ) 806ad96: f04f 30ff mov.w r0, #4294967295 806ad9a: f7e9 fc39 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806ad9e: 230a movs r3, #10 806ada0: 220a movs r2, #10 806ada2: 218d movs r1, #141 ; 0x8d 806ada4: 20ff movs r0, #255 ; 0xff 806ada6: f7ea f8c1 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806adaa: 230a movs r3, #10 806adac: 220a movs r2, #10 806adae: 21ad movs r1, #173 ; 0xad 806adb0: 20ff movs r0, #255 ; 0xff 806adb2: f7ea f8bb bl 8054f2c if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 806adb6: 4b0c ldr r3, [pc, #48] ; (806ade8 ) 806adb8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806adbc: f003 0304 and.w r3, r3, #4 806adc0: 2b00 cmp r3, #0 806adc2: d121 bne.n 806ae08 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806adc4: 4902 ldr r1, [pc, #8] ; (806add0 ) 806adc6: 4807 ldr r0, [pc, #28] ; (806ade4 ) 806adc8: f7e9 fc22 bl 8054610 806adcc: e020 b.n 806ae10 806adce: bf00 nop 806add0: ff0a0f1f .word 0xff0a0f1f 806add4: ff808080 .word 0xff808080 806add8: 080d3ba0 .word 0x080d3ba0 806addc: 080d3b90 .word 0x080d3b90 806ade0: 080d3b98 .word 0x080d3b98 806ade4: ffd8aa57 .word 0xffd8aa57 806ade8: 20023ea8 .word 0x20023ea8 806adec: 2002033c .word 0x2002033c 806adf0: ff404040 .word 0xff404040 806adf4: 20020038 .word 0x20020038 806adf8: 080d3ba8 .word 0x080d3ba8 806adfc: 080d3bc0 .word 0x080d3bc0 806ae00: 080d3bc8 .word 0x080d3bc8 806ae04: 080d2a18 .word 0x080d2a18 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 806ae08: 49cf ldr r1, [pc, #828] ; (806b148 ) 806ae0a: 48d0 ldr r0, [pc, #832] ; (806b14c ) 806ae0c: f7e9 fc00 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806ae10: f507 73c0 add.w r3, r7, #384 ; 0x180 806ae14: 461a mov r2, r3 806ae16: 21ba movs r1, #186 ; 0xba 806ae18: f44f 7082 mov.w r0, #260 ; 0x104 806ae1c: f7ea f9b8 bl 8055190 if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 806ae20: 4bcb ldr r3, [pc, #812] ; (806b150 ) 806ae22: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806ae26: f003 0304 and.w r3, r3, #4 806ae2a: 2b00 cmp r3, #0 806ae2c: d00a beq.n 806ae44 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 806ae2e: 49c6 ldr r1, [pc, #792] ; (806b148 ) 806ae30: 48c8 ldr r0, [pc, #800] ; (806b154 ) 806ae32: f7e9 fbed bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 806ae36: 2306 movs r3, #6 806ae38: 2206 movs r2, #6 806ae3a: 21af movs r1, #175 ; 0xaf 806ae3c: f240 1001 movw r0, #257 ; 0x101 806ae40: f7ea f874 bl 8054f2c } if(pardata.OPTIONS & BIT7) 806ae44: 4bc2 ldr r3, [pc, #776] ; (806b150 ) 806ae46: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806ae4a: f003 0380 and.w r3, r3, #128 ; 0x80 806ae4e: 2b00 cmp r3, #0 806ae50: d00a beq.n 806ae68 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 806ae52: 49bd ldr r1, [pc, #756] ; (806b148 ) 806ae54: 48bf ldr r0, [pc, #764] ; (806b154 ) 806ae56: f7e9 fbdb bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 806ae5a: 2306 movs r3, #6 806ae5c: 2206 movs r2, #6 806ae5e: 218f movs r1, #143 ; 0x8f 806ae60: f240 1001 movw r0, #257 ; 0x101 806ae64: f7ea f862 bl 8054f2c } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ae68: 49b7 ldr r1, [pc, #732] ; (806b148 ) 806ae6a: f04f 30ff mov.w r0, #4294967295 806ae6e: f7e9 fbcf bl 8054610 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 806ae72: 237c movs r3, #124 ; 0x7c 806ae74: 22f0 movs r2, #240 ; 0xf0 806ae76: 2148 movs r1, #72 ; 0x48 806ae78: 2028 movs r0, #40 ; 0x28 806ae7a: f7ea f857 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 806ae7e: 49b2 ldr r1, [pc, #712] ; (806b148 ) 806ae80: 48b1 ldr r0, [pc, #708] ; (806b148 ) 806ae82: f7e9 fbc5 bl 8054610 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 806ae86: 2378 movs r3, #120 ; 0x78 806ae88: 22ec movs r2, #236 ; 0xec 806ae8a: 214a movs r1, #74 ; 0x4a 806ae8c: 202a movs r0, #42 ; 0x2a 806ae8e: f7ea f84d bl 8054f2c BSP_LCD_SetFont(&Font12); 806ae92: 48b1 ldr r0, [pc, #708] ; (806b158 ) 806ae94: f7e9 fbf8 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806ae98: 49ab ldr r1, [pc, #684] ; (806b148 ) 806ae9a: f04f 30ff mov.w r0, #4294967295 806ae9e: f7e9 fbb7 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå íà÷àòü ìàðøðóò", CENTER_MODE); 806aea2: 2301 movs r3, #1 806aea4: 4aad ldr r2, [pc, #692] ; (806b15c ) 806aea6: 217a movs r1, #122 ; 0x7a 806aea8: 20a0 movs r0, #160 ; 0xa0 806aeaa: f7e9 fc77 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "çàíîâî?", CENTER_MODE); 806aeae: 2301 movs r3, #1 806aeb0: 4aab ldr r2, [pc, #684] ; (806b160 ) 806aeb2: 218a movs r1, #138 ; 0x8a 806aeb4: 20a0 movs r0, #160 ; 0xa0 806aeb6: f7e9 fc71 bl 805479c BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 806aeba: 2303 movs r3, #3 806aebc: 4aa9 ldr r2, [pc, #676] ; (806b164 ) 806aebe: 21aa movs r1, #170 ; 0xaa 806aec0: 203e movs r0, #62 ; 0x3e 806aec2: f7e9 fc6b bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806aec6: 49a0 ldr r1, [pc, #640] ; (806b148 ) 806aec8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806aecc: f7e9 fba0 bl 8054610 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 806aed0: 2302 movs r3, #2 806aed2: 4aa5 ldr r2, [pc, #660] ; (806b168 ) 806aed4: 21aa movs r1, #170 ; 0xaa 806aed6: f44f 7081 mov.w r0, #258 ; 0x102 806aeda: f7e9 fc5f bl 805479c break; 806aede: bf00 nop } if(menupos < RouteNullYes) 806aee0: 4ba2 ldr r3, [pc, #648] ; (806b16c ) 806aee2: 781b ldrb r3, [r3, #0] 806aee4: b2db uxtb r3, r3 806aee6: 2b0c cmp r3, #12 806aee8: f22d 8373 bhi.w 80985d2 { if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 806aeec: 4b98 ldr r3, [pc, #608] ; (806b150 ) 806aeee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806aef2: f003 0304 and.w r3, r3, #4 806aef6: 2b00 cmp r3, #0 806aef8: d00a beq.n 806af10 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 806aefa: 4993 ldr r1, [pc, #588] ; (806b148 ) 806aefc: 4895 ldr r0, [pc, #596] ; (806b154 ) 806aefe: f7e9 fb87 bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 806af02: 2306 movs r3, #6 806af04: 2206 movs r2, #6 806af06: 21af movs r1, #175 ; 0xaf 806af08: f240 1001 movw r0, #257 ; 0x101 806af0c: f7ea f80e bl 8054f2c } if(pardata.OPTIONS & BIT7) 806af10: 4b8f ldr r3, [pc, #572] ; (806b150 ) 806af12: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806af16: f003 0380 and.w r3, r3, #128 ; 0x80 806af1a: 2b00 cmp r3, #0 806af1c: f02d 8359 beq.w 80985d2 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 806af20: 4989 ldr r1, [pc, #548] ; (806b148 ) 806af22: 488c ldr r0, [pc, #560] ; (806b154 ) 806af24: f7e9 fb74 bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 806af28: 2306 movs r3, #6 806af2a: 2206 movs r2, #6 806af2c: 218f movs r1, #143 ; 0x8f 806af2e: f240 1001 movw r0, #257 ; 0x101 806af32: f7e9 fffb bl 8054f2c 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; 806af36: f02d bb4c b.w 80985d2 case LOW_BAT: memset(str, 0, sizeof(str)); 806af3a: f507 733b add.w r3, r7, #748 ; 0x2ec 806af3e: 223c movs r2, #60 ; 0x3c 806af40: 2100 movs r1, #0 806af42: 4618 mov r0, r3 806af44: f066 fa2c bl 80d13a0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806af48: 497f ldr r1, [pc, #508] ; (806b148 ) 806af4a: f04f 30ff mov.w r0, #4294967295 806af4e: f7e9 fb5f bl 8054610 BSP_LCD_SetFont(&Font12); 806af52: 4881 ldr r0, [pc, #516] ; (806b158 ) 806af54: f7e9 fb98 bl 8054688 if(pardata.LANG == RUS) 806af58: 4b7d ldr r3, [pc, #500] ; (806b150 ) 806af5a: 7b1b ldrb r3, [r3, #12] 806af5c: b2db uxtb r3, r3 806af5e: 2b00 cmp r3, #0 806af60: d10d bne.n 806af7e strcpy(str, "Áàòàðåÿ ðàçðÿæåíà!"); 806af62: f507 733b add.w r3, r7, #748 ; 0x2ec 806af66: 4a82 ldr r2, [pc, #520] ; (806b170 ) 806af68: 461c mov r4, r3 806af6a: 4615 mov r5, r2 806af6c: cd0f ldmia r5!, {r0, r1, r2, r3} 806af6e: c40f stmia r4!, {r0, r1, r2, r3} 806af70: 682b ldr r3, [r5, #0] 806af72: 461a mov r2, r3 806af74: 8022 strh r2, [r4, #0] 806af76: 3402 adds r4, #2 806af78: 0c1b lsrs r3, r3, #16 806af7a: 7023 strb r3, [r4, #0] 806af7c: e00c b.n 806af98 else strcpy(str, "Low battery level!"); 806af7e: f507 733b add.w r3, r7, #748 ; 0x2ec 806af82: 4a7c ldr r2, [pc, #496] ; (806b174 ) 806af84: 461c mov r4, r3 806af86: 4615 mov r5, r2 806af88: cd0f ldmia r5!, {r0, r1, r2, r3} 806af8a: c40f stmia r4!, {r0, r1, r2, r3} 806af8c: 682b ldr r3, [r5, #0] 806af8e: 461a mov r2, r3 806af90: 8022 strh r2, [r4, #0] 806af92: 3402 adds r4, #2 806af94: 0c1b lsrs r3, r3, #16 806af96: 7023 strb r3, [r4, #0] BSP_LCD_DisplayStringAt(160, 115, str, CENTER_MODE); 806af98: f507 723b add.w r2, r7, #748 ; 0x2ec 806af9c: 2301 movs r3, #1 806af9e: 2173 movs r1, #115 ; 0x73 806afa0: 20a0 movs r0, #160 ; 0xa0 806afa2: f7e9 fbfb bl 805479c break; 806afa6: f02d bb41 b.w 809862c case TREND_A: //TODO case TREND_V: case TREND_S: memset(str, 0, sizeof(str)); 806afaa: f507 733b add.w r3, r7, #748 ; 0x2ec 806afae: 223c movs r2, #60 ; 0x3c 806afb0: 2100 movs r1, #0 806afb2: 4618 mov r0, r3 806afb4: f066 f9f4 bl 80d13a0 strcpy(str, MeasFileName); 806afb8: f507 733b add.w r3, r7, #748 ; 0x2ec 806afbc: 496e ldr r1, [pc, #440] ; (806b178 ) 806afbe: 4618 mov r0, r3 806afc0: f066 fb0b bl 80d15da l = strlen(str); 806afc4: f507 733b add.w r3, r7, #748 ; 0x2ec 806afc8: 4618 mov r0, r3 806afca: f7b5 f9a3 bl 8020314 806afce: 4603 mov r3, r0 806afd0: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l - 4] = '\0'; 806afd4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806afd8: 3b04 subs r3, #4 806afda: f507 723b add.w r2, r7, #748 ; 0x2ec 806afde: 2100 movs r1, #0 806afe0: 54d1 strb r1, [r2, r3] LCD_SetColors(LCD_COLOR_LIGHTGREEN, LCD_COLOR_BLACK); 806afe2: 4959 ldr r1, [pc, #356] ; (806b148 ) 806afe4: f06f 107f mvn.w r0, #8323199 ; 0x7f007f 806afe8: f7e9 fb12 bl 8054610 BSP_LCD_SetFont(&Font12); 806afec: 485a ldr r0, [pc, #360] ; (806b158 ) 806afee: f7e9 fb4b bl 8054688 BSP_LCD_DisplayStringAt(318, 35, str, RIGHT_MODE); 806aff2: f507 723b add.w r2, r7, #748 ; 0x2ec 806aff6: 2302 movs r3, #2 806aff8: 2123 movs r1, #35 ; 0x23 806affa: f44f 709f mov.w r0, #318 ; 0x13e 806affe: f7e9 fbcd bl 805479c if(NEWFILE) 806b002: 4b5e ldr r3, [pc, #376] ; (806b17c ) 806b004: 781b ldrb r3, [r3, #0] 806b006: b2db uxtb r3, r3 806b008: 2b00 cmp r3, #0 806b00a: f000 80c5 beq.w 806b198 { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 806b00e: 494e ldr r1, [pc, #312] ; (806b148 ) 806b010: 485b ldr r0, [pc, #364] ; (806b180 ) 806b012: f7e9 fafd bl 8054610 if(strlen(Comment)) 806b016: 4b5b ldr r3, [pc, #364] ; (806b184 ) 806b018: 781b ldrb r3, [r3, #0] 806b01a: 2b00 cmp r3, #0 806b01c: d025 beq.n 806b06a { BSP_LCD_SetFont(&Font12); 806b01e: 484e ldr r0, [pc, #312] ; (806b158 ) 806b020: f7e9 fb32 bl 8054688 memset(str, 0, sizeof(str)); 806b024: f507 733b add.w r3, r7, #748 ; 0x2ec 806b028: 223c movs r2, #60 ; 0x3c 806b02a: 2100 movs r1, #0 806b02c: 4618 mov r0, r3 806b02e: f066 f9b7 bl 80d13a0 str[0] = '"'; 806b032: f507 733b add.w r3, r7, #748 ; 0x2ec 806b036: 2222 movs r2, #34 ; 0x22 806b038: 701a strb r2, [r3, #0] strcat(str, Comment); 806b03a: f507 733b add.w r3, r7, #748 ; 0x2ec 806b03e: 4951 ldr r1, [pc, #324] ; (806b184 ) 806b040: 4618 mov r0, r3 806b042: f066 faad bl 80d15a0 str[strlen(str)] = '"'; 806b046: f507 733b add.w r3, r7, #748 ; 0x2ec 806b04a: 4618 mov r0, r3 806b04c: f7b5 f962 bl 8020314 806b050: 4602 mov r2, r0 806b052: f507 733b add.w r3, r7, #748 ; 0x2ec 806b056: 2122 movs r1, #34 ; 0x22 806b058: 5499 strb r1, [r3, r2] BSP_LCD_DisplayStringAt(189, 55, str, CENTER_MODE); 806b05a: f507 723b add.w r2, r7, #748 ; 0x2ec 806b05e: 2301 movs r3, #1 806b060: 2137 movs r1, #55 ; 0x37 806b062: 20bd movs r0, #189 ; 0xbd 806b064: f7e9 fb9a bl 805479c 806b068: e107 b.n 806b27a } else { memset(str, 0, sizeof(str)); 806b06a: f507 733b add.w r3, r7, #748 ; 0x2ec 806b06e: 223c movs r2, #60 ; 0x3c 806b070: 2100 movs r1, #0 806b072: 4618 mov r0, r3 806b074: f066 f994 bl 80d13a0 str[0] = '"'; 806b078: f507 733b add.w r3, r7, #748 ; 0x2ec 806b07c: 2222 movs r2, #34 ; 0x22 806b07e: 701a strb r2, [r3, #0] if(pardata.LANG == RUS) 806b080: 4b33 ldr r3, [pc, #204] ; (806b150 ) 806b082: 7b1b ldrb r3, [r3, #12] 806b084: b2db uxtb r3, r3 806b086: 2b00 cmp r3, #0 806b088: d111 bne.n 806b0ae strcat(str, "ÒÎ×ÊÀ "); 806b08a: f507 733b add.w r3, r7, #748 ; 0x2ec 806b08e: 4618 mov r0, r3 806b090: f7b5 f940 bl 8020314 806b094: 4603 mov r3, r0 806b096: 461a mov r2, r3 806b098: f507 733b add.w r3, r7, #748 ; 0x2ec 806b09c: 4413 add r3, r2 806b09e: 4a3a ldr r2, [pc, #232] ; (806b188 ) 806b0a0: 6810 ldr r0, [r2, #0] 806b0a2: 6018 str r0, [r3, #0] 806b0a4: 8891 ldrh r1, [r2, #4] 806b0a6: 7992 ldrb r2, [r2, #6] 806b0a8: 8099 strh r1, [r3, #4] 806b0aa: 719a strb r2, [r3, #6] 806b0ac: e010 b.n 806b0d0 else strcat(str, "POINT "); 806b0ae: f507 733b add.w r3, r7, #748 ; 0x2ec 806b0b2: 4618 mov r0, r3 806b0b4: f7b5 f92e bl 8020314 806b0b8: 4603 mov r3, r0 806b0ba: 461a mov r2, r3 806b0bc: f507 733b add.w r3, r7, #748 ; 0x2ec 806b0c0: 4413 add r3, r2 806b0c2: 4a32 ldr r2, [pc, #200] ; (806b18c ) 806b0c4: 6810 ldr r0, [r2, #0] 806b0c6: 6018 str r0, [r3, #0] 806b0c8: 8891 ldrh r1, [r2, #4] 806b0ca: 7992 ldrb r2, [r2, #6] 806b0cc: 8099 strh r1, [r3, #4] 806b0ce: 719a strb r2, [r3, #6] l = strlen(str); 806b0d0: f507 733b add.w r3, r7, #748 ; 0x2ec 806b0d4: 4618 mov r0, r3 806b0d6: f7b5 f91d bl 8020314 806b0da: 4603 mov r3, r0 806b0dc: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l] = ((NextIndexPoint + 1) / 10) + 48; 806b0e0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b0e4: 4a2a ldr r2, [pc, #168] ; (806b190 ) 806b0e6: 6812 ldr r2, [r2, #0] 806b0e8: 3201 adds r2, #1 806b0ea: 492a ldr r1, [pc, #168] ; (806b194 ) 806b0ec: fba1 1202 umull r1, r2, r1, r2 806b0f0: 08d2 lsrs r2, r2, #3 806b0f2: b2d2 uxtb r2, r2 806b0f4: 3230 adds r2, #48 ; 0x30 806b0f6: b2d1 uxtb r1, r2 806b0f8: f507 723b add.w r2, r7, #748 ; 0x2ec 806b0fc: 54d1 strb r1, [r2, r3] str[l + 1] = ((NextIndexPoint + 1) % 10) + 48; 806b0fe: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b102: 1c58 adds r0, r3, #1 806b104: 4b22 ldr r3, [pc, #136] ; (806b190 ) 806b106: 681b ldr r3, [r3, #0] 806b108: 1c59 adds r1, r3, #1 806b10a: 4b22 ldr r3, [pc, #136] ; (806b194 ) 806b10c: fba3 2301 umull r2, r3, r3, r1 806b110: 08da lsrs r2, r3, #3 806b112: 4613 mov r3, r2 806b114: 009b lsls r3, r3, #2 806b116: 4413 add r3, r2 806b118: 005b lsls r3, r3, #1 806b11a: 1aca subs r2, r1, r3 806b11c: b2d3 uxtb r3, r2 806b11e: 3330 adds r3, #48 ; 0x30 806b120: b2da uxtb r2, r3 806b122: f507 733b add.w r3, r7, #748 ; 0x2ec 806b126: 541a strb r2, [r3, r0] str[l + 2] = '"'; 806b128: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b12c: 3302 adds r3, #2 806b12e: f507 723b add.w r2, r7, #748 ; 0x2ec 806b132: 2122 movs r1, #34 ; 0x22 806b134: 54d1 strb r1, [r2, r3] BSP_LCD_DisplayStringAt(189, 55, str, CENTER_MODE); 806b136: f507 723b add.w r2, r7, #748 ; 0x2ec 806b13a: 2301 movs r3, #1 806b13c: 2137 movs r1, #55 ; 0x37 806b13e: 20bd movs r0, #189 ; 0xbd 806b140: f7e9 fb2c bl 805479c 806b144: e099 b.n 806b27a 806b146: bf00 nop 806b148: ff0a0f1f .word 0xff0a0f1f 806b14c: ff808080 .word 0xff808080 806b150: 20023ea8 .word 0x20023ea8 806b154: ff404040 .word 0xff404040 806b158: 20020038 .word 0x20020038 806b15c: 080d3ba8 .word 0x080d3ba8 806b160: 080d3bc0 .word 0x080d3bc0 806b164: 080d2a18 .word 0x080d2a18 806b168: 080d3bc8 .word 0x080d3bc8 806b16c: 20020070 .word 0x20020070 806b170: 080d3bcc .word 0x080d3bcc 806b174: 080d3be0 .word 0x080d3be0 806b178: 20020e78 .word 0x20020e78 806b17c: 20020e34 .word 0x20020e34 806b180: ffefcc95 .word 0xffefcc95 806b184: 20022698 .word 0x20022698 806b188: 080d3bf4 .word 0x080d3bf4 806b18c: 080d3bfc .word 0x080d3bfc 806b190: 20021fe4 .word 0x20021fe4 806b194: cccccccd .word 0xcccccccd } } else { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 806b198: 49ba ldr r1, [pc, #744] ; (806b484 ) 806b19a: 48bb ldr r0, [pc, #748] ; (806b488 ) 806b19c: f7e9 fa38 bl 8054610 memset(str, 0, sizeof(str)); 806b1a0: f507 733b add.w r3, r7, #748 ; 0x2ec 806b1a4: 223c movs r2, #60 ; 0x3c 806b1a6: 2100 movs r1, #0 806b1a8: 4618 mov r0, r3 806b1aa: f066 f8f9 bl 80d13a0 str[0] = '"'; 806b1ae: f507 733b add.w r3, r7, #748 ; 0x2ec 806b1b2: 2222 movs r2, #34 ; 0x22 806b1b4: 701a strb r2, [r3, #0] if(pardata.LANG == RUS) 806b1b6: 4bb5 ldr r3, [pc, #724] ; (806b48c ) 806b1b8: 7b1b ldrb r3, [r3, #12] 806b1ba: b2db uxtb r3, r3 806b1bc: 2b00 cmp r3, #0 806b1be: d111 bne.n 806b1e4 strcat(str, "ÒÎ×ÊÀ "); 806b1c0: f507 733b add.w r3, r7, #748 ; 0x2ec 806b1c4: 4618 mov r0, r3 806b1c6: f7b5 f8a5 bl 8020314 806b1ca: 4603 mov r3, r0 806b1cc: 461a mov r2, r3 806b1ce: f507 733b add.w r3, r7, #748 ; 0x2ec 806b1d2: 4413 add r3, r2 806b1d4: 4aae ldr r2, [pc, #696] ; (806b490 ) 806b1d6: 6810 ldr r0, [r2, #0] 806b1d8: 6018 str r0, [r3, #0] 806b1da: 8891 ldrh r1, [r2, #4] 806b1dc: 7992 ldrb r2, [r2, #6] 806b1de: 8099 strh r1, [r3, #4] 806b1e0: 719a strb r2, [r3, #6] 806b1e2: e010 b.n 806b206 else strcat(str, "POINT "); 806b1e4: f507 733b add.w r3, r7, #748 ; 0x2ec 806b1e8: 4618 mov r0, r3 806b1ea: f7b5 f893 bl 8020314 806b1ee: 4603 mov r3, r0 806b1f0: 461a mov r2, r3 806b1f2: f507 733b add.w r3, r7, #748 ; 0x2ec 806b1f6: 4413 add r3, r2 806b1f8: 4aa6 ldr r2, [pc, #664] ; (806b494 ) 806b1fa: 6810 ldr r0, [r2, #0] 806b1fc: 6018 str r0, [r3, #0] 806b1fe: 8891 ldrh r1, [r2, #4] 806b200: 7992 ldrb r2, [r2, #6] 806b202: 8099 strh r1, [r3, #4] 806b204: 719a strb r2, [r3, #6] l = strlen(str); 806b206: f507 733b add.w r3, r7, #748 ; 0x2ec 806b20a: 4618 mov r0, r3 806b20c: f7b5 f882 bl 8020314 806b210: 4603 mov r3, r0 806b212: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l] = ((NextIndexPoint + 1) / 10) + 48; 806b216: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b21a: 4a9f ldr r2, [pc, #636] ; (806b498 ) 806b21c: 6812 ldr r2, [r2, #0] 806b21e: 3201 adds r2, #1 806b220: 499e ldr r1, [pc, #632] ; (806b49c ) 806b222: fba1 1202 umull r1, r2, r1, r2 806b226: 08d2 lsrs r2, r2, #3 806b228: b2d2 uxtb r2, r2 806b22a: 3230 adds r2, #48 ; 0x30 806b22c: b2d1 uxtb r1, r2 806b22e: f507 723b add.w r2, r7, #748 ; 0x2ec 806b232: 54d1 strb r1, [r2, r3] str[l + 1] = ((NextIndexPoint + 1) % 10) + 48; 806b234: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b238: 1c58 adds r0, r3, #1 806b23a: 4b97 ldr r3, [pc, #604] ; (806b498 ) 806b23c: 681b ldr r3, [r3, #0] 806b23e: 1c59 adds r1, r3, #1 806b240: 4b96 ldr r3, [pc, #600] ; (806b49c ) 806b242: fba3 2301 umull r2, r3, r3, r1 806b246: 08da lsrs r2, r3, #3 806b248: 4613 mov r3, r2 806b24a: 009b lsls r3, r3, #2 806b24c: 4413 add r3, r2 806b24e: 005b lsls r3, r3, #1 806b250: 1aca subs r2, r1, r3 806b252: b2d3 uxtb r3, r2 806b254: 3330 adds r3, #48 ; 0x30 806b256: b2da uxtb r2, r3 806b258: f507 733b add.w r3, r7, #748 ; 0x2ec 806b25c: 541a strb r2, [r3, r0] str[l + 2] = '"'; 806b25e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b262: 3302 adds r3, #2 806b264: f507 723b add.w r2, r7, #748 ; 0x2ec 806b268: 2122 movs r1, #34 ; 0x22 806b26a: 54d1 strb r1, [r2, r3] BSP_LCD_DisplayStringAt(189, 55, str, CENTER_MODE); 806b26c: f507 723b add.w r2, r7, #748 ; 0x2ec 806b270: 2301 movs r3, #1 806b272: 2137 movs r1, #55 ; 0x37 806b274: 20bd movs r0, #189 ; 0xbd 806b276: f7e9 fa91 bl 805479c } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b27a: 4982 ldr r1, [pc, #520] ; (806b484 ) 806b27c: f04f 30ff mov.w r0, #4294967295 806b280: f7e9 f9c6 bl 8054610 DrawImage(&bmUPDN, 8, 205); 806b284: 22cd movs r2, #205 ; 0xcd 806b286: 2108 movs r1, #8 806b288: 4885 ldr r0, [pc, #532] ; (806b4a0 ) 806b28a: f7ea f8b5 bl 80553f8 BSP_LCD_DisplayStringAt(25, 208, "AVS", LEFT_MODE); 806b28e: 2303 movs r3, #3 806b290: 4a84 ldr r2, [pc, #528] ; (806b4a4 ) 806b292: 21d0 movs r1, #208 ; 0xd0 806b294: 2019 movs r0, #25 806b296: f7e9 fa81 bl 805479c DrawImage(&bmLTRT, 8, 223); 806b29a: 22df movs r2, #223 ; 0xdf 806b29c: 2108 movs r1, #8 806b29e: 4882 ldr r0, [pc, #520] ; (806b4a8 ) 806b2a0: f7ea f8aa bl 80553f8 if(pardata.LANG == RUS) 806b2a4: 4b79 ldr r3, [pc, #484] ; (806b48c ) 806b2a6: 7b1b ldrb r3, [r3, #12] 806b2a8: b2db uxtb r3, r3 806b2aa: 2b00 cmp r3, #0 806b2ac: d106 bne.n 806b2bc BSP_LCD_DisplayStringAt(25, 224, "Çíà÷", LEFT_MODE); 806b2ae: 2303 movs r3, #3 806b2b0: 4a7e ldr r2, [pc, #504] ; (806b4ac ) 806b2b2: 21e0 movs r1, #224 ; 0xe0 806b2b4: 2019 movs r0, #25 806b2b6: f7e9 fa71 bl 805479c 806b2ba: e005 b.n 806b2c8 else BSP_LCD_DisplayStringAt(25, 224, "Val", LEFT_MODE); 806b2bc: 2303 movs r3, #3 806b2be: 4a7c ldr r2, [pc, #496] ; (806b4b0 ) 806b2c0: 21e0 movs r1, #224 ; 0xe0 806b2c2: 2019 movs r0, #25 806b2c4: f7e9 fa6a bl 805479c LCD_SetColors(0xFF202020, LCD_COLOR_BLACK); 806b2c8: 496e ldr r1, [pc, #440] ; (806b484 ) 806b2ca: 487a ldr r0, [pc, #488] ; (806b4b4 ) 806b2cc: f7e9 f9a0 bl 8054610 BSP_LCD_DrawHLine(61, 67, 256); 806b2d0: f44f 7280 mov.w r2, #256 ; 0x100 806b2d4: 2143 movs r1, #67 ; 0x43 806b2d6: 203d movs r0, #61 ; 0x3d 806b2d8: f7e9 fb14 bl 8054904 BSP_LCD_DrawHLine(61, 92, 256); 806b2dc: f44f 7280 mov.w r2, #256 ; 0x100 806b2e0: 215c movs r1, #92 ; 0x5c 806b2e2: 203d movs r0, #61 ; 0x3d 806b2e4: f7e9 fb0e bl 8054904 for(i = 0; i < 4; i++) { 806b2e8: 2300 movs r3, #0 806b2ea: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b2ee: e010 b.n 806b312 BSP_LCD_DrawVLine(61 + (i << 6), 67, 148); 806b2f0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b2f4: b29b uxth r3, r3 806b2f6: 019b lsls r3, r3, #6 806b2f8: b29b uxth r3, r3 806b2fa: 333d adds r3, #61 ; 0x3d 806b2fc: b29b uxth r3, r3 806b2fe: 2294 movs r2, #148 ; 0x94 806b300: 2143 movs r1, #67 ; 0x43 806b302: 4618 mov r0, r3 806b304: f7e9 fb5c bl 80549c0 for(i = 0; i < 4; i++) { 806b308: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b30c: 3301 adds r3, #1 806b30e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b312: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b316: 2b03 cmp r3, #3 806b318: d9ea bls.n 806b2f0 } for(i = 0; i < 5; i++) { 806b31a: 2300 movs r3, #0 806b31c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b320: e018 b.n 806b354 BSP_LCD_DrawHLine(61, 117 + i*25, 256); 806b322: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b326: b29b uxth r3, r3 806b328: 461a mov r2, r3 806b32a: 0092 lsls r2, r2, #2 806b32c: 4413 add r3, r2 806b32e: 461a mov r2, r3 806b330: 0091 lsls r1, r2, #2 806b332: 461a mov r2, r3 806b334: 460b mov r3, r1 806b336: 4413 add r3, r2 806b338: b29b uxth r3, r3 806b33a: 3375 adds r3, #117 ; 0x75 806b33c: b29b uxth r3, r3 806b33e: f44f 7280 mov.w r2, #256 ; 0x100 806b342: 4619 mov r1, r3 806b344: 203d movs r0, #61 ; 0x3d 806b346: f7e9 fadd bl 8054904 for(i = 0; i < 5; i++) { 806b34a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b34e: 3301 adds r3, #1 806b350: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b354: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b358: 2b04 cmp r3, #4 806b35a: d9e2 bls.n 806b322 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b35c: 4949 ldr r1, [pc, #292] ; (806b484 ) 806b35e: f04f 30ff mov.w r0, #4294967295 806b362: f7e9 f955 bl 8054610 BSP_LCD_DrawVLine(60, 63-9, 155+9); 806b366: 22a4 movs r2, #164 ; 0xa4 806b368: 2136 movs r1, #54 ; 0x36 806b36a: 203c movs r0, #60 ; 0x3c 806b36c: f7e9 fb28 bl 80549c0 BSP_LCD_DrawHLine(60, 218, 258); 806b370: f44f 7281 mov.w r2, #258 ; 0x102 806b374: 21da movs r1, #218 ; 0xda 806b376: 203c movs r0, #60 ; 0x3c 806b378: f7e9 fac4 bl 8054904 //BSP_LCD_DrawHLine(60, 63-9, 258); BSP_LCD_SetFont(&Font12); 806b37c: 484e ldr r0, [pc, #312] ; (806b4b8 ) 806b37e: f7e9 f983 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806b382: 4940 ldr r1, [pc, #256] ; (806b484 ) 806b384: f04f 30ff mov.w r0, #4294967295 806b388: f7e9 f942 bl 8054610 if(menu == TREND_A) 806b38c: 4b4b ldr r3, [pc, #300] ; (806b4bc ) 806b38e: 781b ldrb r3, [r3, #0] 806b390: b2db uxtb r3, r3 806b392: 2b45 cmp r3, #69 ; 0x45 806b394: f040 8726 bne.w 806c1e4 { if(menupos == Trend_pk) 806b398: 4b49 ldr r3, [pc, #292] ; (806b4c0 ) 806b39a: 781b ldrb r3, [r3, #0] 806b39c: b2db uxtb r3, r3 806b39e: 2b00 cmp r3, #0 806b3a0: f040 8174 bne.w 806b68c { if(pardata.LANG == RUS) 806b3a4: 4b39 ldr r3, [pc, #228] ; (806b48c ) 806b3a6: 7b1b ldrb r3, [r3, #12] 806b3a8: b2db uxtb r3, r3 806b3aa: 2b00 cmp r3, #0 806b3ac: d106 bne.n 806b3bc BSP_LCD_DisplayStringAt(8, 35, "A(ïèê),ì/ñ^", LEFT_MODE); 806b3ae: 2303 movs r3, #3 806b3b0: 4a44 ldr r2, [pc, #272] ; (806b4c4 ) 806b3b2: 2123 movs r1, #35 ; 0x23 806b3b4: 2008 movs r0, #8 806b3b6: f7e9 f9f1 bl 805479c 806b3ba: e005 b.n 806b3c8 else BSP_LCD_DisplayStringAt(8, 35, "A(peak),m/s^", LEFT_MODE); 806b3bc: 2303 movs r3, #3 806b3be: 4a42 ldr r2, [pc, #264] ; (806b4c8 ) 806b3c0: 2123 movs r1, #35 ; 0x23 806b3c2: 2008 movs r0, #8 806b3c4: f7e9 f9ea bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806b3c8: 2300 movs r3, #0 806b3ca: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b3ce: 2300 movs r3, #0 806b3d0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b3d4: e042 b.n 806b45c { TrendData = TrendRAM(i); 806b3d6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b3da: 4613 mov r3, r2 806b3dc: 009b lsls r3, r3, #2 806b3de: 4413 add r3, r2 806b3e0: 009b lsls r3, r3, #2 806b3e2: 461a mov r2, r3 806b3e4: 4b39 ldr r3, [pc, #228] ; (806b4cc ) 806b3e6: 4413 add r3, r2 806b3e8: 461a mov r2, r3 806b3ea: 4b39 ldr r3, [pc, #228] ; (806b4d0 ) 806b3ec: 461c mov r4, r3 806b3ee: 4615 mov r5, r2 806b3f0: cd0f ldmia r5!, {r0, r1, r2, r3} 806b3f2: c40f stmia r4!, {r0, r1, r2, r3} 806b3f4: 682b ldr r3, [r5, #0] 806b3f6: 6023 str r3, [r4, #0] if((TrendData.Aivs == 'P') && (TrendData.Aval.fl != -1.0f)) 806b3f8: 4b35 ldr r3, [pc, #212] ; (806b4d0 ) 806b3fa: 7c1b ldrb r3, [r3, #16] 806b3fc: b2db uxtb r3, r3 806b3fe: 2b50 cmp r3, #80 ; 0x50 806b400: d127 bne.n 806b452 806b402: 4b33 ldr r3, [pc, #204] ; (806b4d0 ) 806b404: edd3 7a00 vldr s15, [r3] 806b408: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806b40c: eef4 7a47 vcmp.f32 s15, s14 806b410: eef1 fa10 vmrs APSR_nzcv, fpscr 806b414: d01d beq.n 806b452 { TrendRAM_TEMP(l) = TrendRAM(i); 806b416: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806b41a: 4613 mov r3, r2 806b41c: 009b lsls r3, r3, #2 806b41e: 4413 add r3, r2 806b420: 009b lsls r3, r3, #2 806b422: 461a mov r2, r3 806b424: 4b2b ldr r3, [pc, #172] ; (806b4d4 ) 806b426: 4413 add r3, r2 806b428: 4619 mov r1, r3 806b42a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b42e: 4613 mov r3, r2 806b430: 009b lsls r3, r3, #2 806b432: 4413 add r3, r2 806b434: 009b lsls r3, r3, #2 806b436: 461a mov r2, r3 806b438: 4b24 ldr r3, [pc, #144] ; (806b4cc ) 806b43a: 4413 add r3, r2 806b43c: 460c mov r4, r1 806b43e: 461d mov r5, r3 806b440: cd0f ldmia r5!, {r0, r1, r2, r3} 806b442: c40f stmia r4!, {r0, r1, r2, r3} 806b444: 682b ldr r3, [r5, #0] 806b446: 6023 str r3, [r4, #0] l++; 806b448: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b44c: 3301 adds r3, #1 806b44e: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b452: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b456: 3301 adds r3, #1 806b458: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b45c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b460: 4b1d ldr r3, [pc, #116] ; (806b4d8 ) 806b462: 681b ldr r3, [r3, #0] 806b464: 429a cmp r2, r3 806b466: d3b6 bcc.n 806b3d6 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806b468: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b46c: 2b00 cmp r3, #0 806b46e: f002 84d7 beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b472: 2300 movs r3, #0 806b474: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b478: e0a3 b.n 806b5c2 { for(i = j; i < l; i++) 806b47a: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b47e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b482: e093 b.n 806b5ac 806b484: ff0a0f1f .word 0xff0a0f1f 806b488: ffefcc95 .word 0xffefcc95 806b48c: 20023ea8 .word 0x20023ea8 806b490: 080d3bf4 .word 0x080d3bf4 806b494: 080d3bfc .word 0x080d3bfc 806b498: 20021fe4 .word 0x20021fe4 806b49c: cccccccd .word 0xcccccccd 806b4a0: 0814e168 .word 0x0814e168 806b4a4: 080d3c04 .word 0x080d3c04 806b4a8: 0813eef0 .word 0x0813eef0 806b4ac: 080d3c08 .word 0x080d3c08 806b4b0: 080d3c10 .word 0x080d3c10 806b4b4: ff202020 .word 0xff202020 806b4b8: 20020038 .word 0x20020038 806b4bc: 20020fbd .word 0x20020fbd 806b4c0: 20020070 .word 0x20020070 806b4c4: 080d3c14 .word 0x080d3c14 806b4c8: 080d3c20 .word 0x080d3c20 806b4cc: 640a0000 .word 0x640a0000 806b4d0: 20021fd0 .word 0x20021fd0 806b4d4: 64090000 .word 0x64090000 806b4d8: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806b4dc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b4e0: 4613 mov r3, r2 806b4e2: 009b lsls r3, r3, #2 806b4e4: 4413 add r3, r2 806b4e6: 009b lsls r3, r3, #2 806b4e8: 461a mov r2, r3 806b4ea: 4ba3 ldr r3, [pc, #652] ; (806b778 ) 806b4ec: 4413 add r3, r2 806b4ee: 461a mov r2, r3 806b4f0: 4ba2 ldr r3, [pc, #648] ; (806b77c ) 806b4f2: 461c mov r4, r3 806b4f4: 4615 mov r5, r2 806b4f6: cd0f ldmia r5!, {r0, r1, r2, r3} 806b4f8: c40f stmia r4!, {r0, r1, r2, r3} 806b4fa: 682b ldr r3, [r5, #0] 806b4fc: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806b4fe: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b502: 4613 mov r3, r2 806b504: 009b lsls r3, r3, #2 806b506: 4413 add r3, r2 806b508: 009b lsls r3, r3, #2 806b50a: 461a mov r2, r3 806b50c: 4b9a ldr r3, [pc, #616] ; (806b778 ) 806b50e: 4413 add r3, r2 806b510: 461a mov r2, r3 806b512: 4b9b ldr r3, [pc, #620] ; (806b780 ) 806b514: 461c mov r4, r3 806b516: 4615 mov r5, r2 806b518: cd0f ldmia r5!, {r0, r1, r2, r3} 806b51a: c40f stmia r4!, {r0, r1, r2, r3} 806b51c: 682b ldr r3, [r5, #0] 806b51e: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806b520: 4b96 ldr r3, [pc, #600] ; (806b77c ) 806b522: 68da ldr r2, [r3, #12] 806b524: 4b96 ldr r3, [pc, #600] ; (806b780 ) 806b526: 68db ldr r3, [r3, #12] 806b528: 429a cmp r2, r3 806b52a: d23a bcs.n 806b5a2 { TrendData = TrendRAM_TEMP(j); 806b52c: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b530: 4613 mov r3, r2 806b532: 009b lsls r3, r3, #2 806b534: 4413 add r3, r2 806b536: 009b lsls r3, r3, #2 806b538: 461a mov r2, r3 806b53a: 4b8f ldr r3, [pc, #572] ; (806b778 ) 806b53c: 4413 add r3, r2 806b53e: 461a mov r2, r3 806b540: 4b90 ldr r3, [pc, #576] ; (806b784 ) 806b542: 461c mov r4, r3 806b544: 4615 mov r5, r2 806b546: cd0f ldmia r5!, {r0, r1, r2, r3} 806b548: c40f stmia r4!, {r0, r1, r2, r3} 806b54a: 682b ldr r3, [r5, #0] 806b54c: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806b54e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b552: 4613 mov r3, r2 806b554: 009b lsls r3, r3, #2 806b556: 4413 add r3, r2 806b558: 009b lsls r3, r3, #2 806b55a: 461a mov r2, r3 806b55c: 4b86 ldr r3, [pc, #536] ; (806b778 ) 806b55e: 4413 add r3, r2 806b560: 4619 mov r1, r3 806b562: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b566: 4613 mov r3, r2 806b568: 009b lsls r3, r3, #2 806b56a: 4413 add r3, r2 806b56c: 009b lsls r3, r3, #2 806b56e: 461a mov r2, r3 806b570: 4b81 ldr r3, [pc, #516] ; (806b778 ) 806b572: 4413 add r3, r2 806b574: 460c mov r4, r1 806b576: 461d mov r5, r3 806b578: cd0f ldmia r5!, {r0, r1, r2, r3} 806b57a: c40f stmia r4!, {r0, r1, r2, r3} 806b57c: 682b ldr r3, [r5, #0] 806b57e: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806b580: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b584: 4613 mov r3, r2 806b586: 009b lsls r3, r3, #2 806b588: 4413 add r3, r2 806b58a: 009b lsls r3, r3, #2 806b58c: 461a mov r2, r3 806b58e: 4b7a ldr r3, [pc, #488] ; (806b778 ) 806b590: 4413 add r3, r2 806b592: 461a mov r2, r3 806b594: 4b7b ldr r3, [pc, #492] ; (806b784 ) 806b596: 4614 mov r4, r2 806b598: 461d mov r5, r3 806b59a: cd0f ldmia r5!, {r0, r1, r2, r3} 806b59c: c40f stmia r4!, {r0, r1, r2, r3} 806b59e: 682b ldr r3, [r5, #0] 806b5a0: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806b5a2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b5a6: 3301 adds r3, #1 806b5a8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b5ac: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b5b0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b5b4: 429a cmp r2, r3 806b5b6: d391 bcc.n 806b4dc for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b5b8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b5bc: 3301 adds r3, #1 806b5be: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b5c2: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b5c6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b5ca: 429a cmp r2, r3 806b5cc: f4ff af55 bcc.w 806b47a } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806b5d0: 4b6d ldr r3, [pc, #436] ; (806b788 ) 806b5d2: f207 424c addw r2, r7, #1100 ; 0x44c 806b5d6: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806b5d8: 4b6c ldr r3, [pc, #432] ; (806b78c ) 806b5da: f507 6289 add.w r2, r7, #1096 ; 0x448 806b5de: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b5e0: 2300 movs r3, #0 806b5e2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b5e6: e049 b.n 806b67c { TrendData = TrendRAM_TEMP(i); 806b5e8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b5ec: 4613 mov r3, r2 806b5ee: 009b lsls r3, r3, #2 806b5f0: 4413 add r3, r2 806b5f2: 009b lsls r3, r3, #2 806b5f4: 461a mov r2, r3 806b5f6: 4b60 ldr r3, [pc, #384] ; (806b778 ) 806b5f8: 4413 add r3, r2 806b5fa: 461a mov r2, r3 806b5fc: 4b61 ldr r3, [pc, #388] ; (806b784 ) 806b5fe: 461c mov r4, r3 806b600: 4615 mov r5, r2 806b602: cd0f ldmia r5!, {r0, r1, r2, r3} 806b604: c40f stmia r4!, {r0, r1, r2, r3} 806b606: 682b ldr r3, [r5, #0] 806b608: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806b60a: 4b5e ldr r3, [pc, #376] ; (806b784 ) 806b60c: ed93 7a00 vldr s14, [r3] 806b610: f207 434c addw r3, r7, #1100 ; 0x44c 806b614: edd3 7a00 vldr s15, [r3] 806b618: eeb4 7ae7 vcmpe.f32 s14, s15 806b61c: eef1 fa10 vmrs APSR_nzcv, fpscr 806b620: dd04 ble.n 806b62c 806b622: 4b58 ldr r3, [pc, #352] ; (806b784 ) 806b624: 681b ldr r3, [r3, #0] 806b626: f207 424c addw r2, r7, #1100 ; 0x44c 806b62a: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806b62c: 4b55 ldr r3, [pc, #340] ; (806b784 ) 806b62e: ed93 7a00 vldr s14, [r3] 806b632: f507 6389 add.w r3, r7, #1096 ; 0x448 806b636: edd3 7a00 vldr s15, [r3] 806b63a: eeb4 7ae7 vcmpe.f32 s14, s15 806b63e: eef1 fa10 vmrs APSR_nzcv, fpscr 806b642: d504 bpl.n 806b64e 806b644: 4b4f ldr r3, [pc, #316] ; (806b784 ) 806b646: 681b ldr r3, [r3, #0] 806b648: f507 6289 add.w r2, r7, #1096 ; 0x448 806b64c: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806b64e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b652: 009a lsls r2, r3, #2 806b654: 4b4e ldr r3, [pc, #312] ; (806b790 ) 806b656: 4413 add r3, r2 806b658: 461a mov r2, r3 806b65a: 4b4a ldr r3, [pc, #296] ; (806b784 ) 806b65c: 681b ldr r3, [r3, #0] 806b65e: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806b660: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b664: 009a lsls r2, r3, #2 806b666: 4b44 ldr r3, [pc, #272] ; (806b778 ) 806b668: 4413 add r3, r2 806b66a: 461a mov r2, r3 806b66c: 4b45 ldr r3, [pc, #276] ; (806b784 ) 806b66e: 68db ldr r3, [r3, #12] 806b670: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b672: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b676: 3301 adds r3, #1 806b678: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b67c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b680: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b684: 429a cmp r2, r3 806b686: d3af bcc.n 806b5e8 806b688: f002 bbca b.w 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_rms) 806b68c: 4b41 ldr r3, [pc, #260] ; (806b794 ) 806b68e: 781b ldrb r3, [r3, #0] 806b690: b2db uxtb r3, r3 806b692: 2b01 cmp r3, #1 806b694: f040 8162 bne.w 806b95c { if(pardata.LANG == RUS) 806b698: 4b3f ldr r3, [pc, #252] ; (806b798 ) 806b69a: 7b1b ldrb r3, [r3, #12] 806b69c: b2db uxtb r3, r3 806b69e: 2b00 cmp r3, #0 806b6a0: d106 bne.n 806b6b0 BSP_LCD_DisplayStringAt(8, 35, "A(ñêç),ì/ñ^", LEFT_MODE); 806b6a2: 2303 movs r3, #3 806b6a4: 4a3d ldr r2, [pc, #244] ; (806b79c ) 806b6a6: 2123 movs r1, #35 ; 0x23 806b6a8: 2008 movs r0, #8 806b6aa: f7e9 f877 bl 805479c 806b6ae: e005 b.n 806b6bc else BSP_LCD_DisplayStringAt(8, 35, "A(rms),m/s^", LEFT_MODE); 806b6b0: 2303 movs r3, #3 806b6b2: 4a3b ldr r2, [pc, #236] ; (806b7a0 ) 806b6b4: 2123 movs r1, #35 ; 0x23 806b6b6: 2008 movs r0, #8 806b6b8: f7e9 f870 bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806b6bc: 2300 movs r3, #0 806b6be: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b6c2: 2300 movs r3, #0 806b6c4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b6c8: e042 b.n 806b750 { TrendData = TrendRAM(i); 806b6ca: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b6ce: 4613 mov r3, r2 806b6d0: 009b lsls r3, r3, #2 806b6d2: 4413 add r3, r2 806b6d4: 009b lsls r3, r3, #2 806b6d6: 461a mov r2, r3 806b6d8: 4b32 ldr r3, [pc, #200] ; (806b7a4 ) 806b6da: 4413 add r3, r2 806b6dc: 461a mov r2, r3 806b6de: 4b29 ldr r3, [pc, #164] ; (806b784 ) 806b6e0: 461c mov r4, r3 806b6e2: 4615 mov r5, r2 806b6e4: cd0f ldmia r5!, {r0, r1, r2, r3} 806b6e6: c40f stmia r4!, {r0, r1, r2, r3} 806b6e8: 682b ldr r3, [r5, #0] 806b6ea: 6023 str r3, [r4, #0] if((TrendData.Aivs == 'S') && (TrendData.Aval.fl != -1.0f)) 806b6ec: 4b25 ldr r3, [pc, #148] ; (806b784 ) 806b6ee: 7c1b ldrb r3, [r3, #16] 806b6f0: b2db uxtb r3, r3 806b6f2: 2b53 cmp r3, #83 ; 0x53 806b6f4: d127 bne.n 806b746 806b6f6: 4b23 ldr r3, [pc, #140] ; (806b784 ) 806b6f8: edd3 7a00 vldr s15, [r3] 806b6fc: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806b700: eef4 7a47 vcmp.f32 s15, s14 806b704: eef1 fa10 vmrs APSR_nzcv, fpscr 806b708: d01d beq.n 806b746 { TrendRAM_TEMP(l) = TrendRAM(i); 806b70a: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806b70e: 4613 mov r3, r2 806b710: 009b lsls r3, r3, #2 806b712: 4413 add r3, r2 806b714: 009b lsls r3, r3, #2 806b716: 461a mov r2, r3 806b718: 4b17 ldr r3, [pc, #92] ; (806b778 ) 806b71a: 4413 add r3, r2 806b71c: 4619 mov r1, r3 806b71e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b722: 4613 mov r3, r2 806b724: 009b lsls r3, r3, #2 806b726: 4413 add r3, r2 806b728: 009b lsls r3, r3, #2 806b72a: 461a mov r2, r3 806b72c: 4b1d ldr r3, [pc, #116] ; (806b7a4 ) 806b72e: 4413 add r3, r2 806b730: 460c mov r4, r1 806b732: 461d mov r5, r3 806b734: cd0f ldmia r5!, {r0, r1, r2, r3} 806b736: c40f stmia r4!, {r0, r1, r2, r3} 806b738: 682b ldr r3, [r5, #0] 806b73a: 6023 str r3, [r4, #0] l++; 806b73c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b740: 3301 adds r3, #1 806b742: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b746: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b74a: 3301 adds r3, #1 806b74c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b750: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b754: 4b14 ldr r3, [pc, #80] ; (806b7a8 ) 806b756: 681b ldr r3, [r3, #0] 806b758: 429a cmp r2, r3 806b75a: d3b6 bcc.n 806b6ca } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806b75c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b760: 2b00 cmp r3, #0 806b762: f002 835d beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b766: 2300 movs r3, #0 806b768: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b76c: e091 b.n 806b892 { for(i = j; i < l; i++) 806b76e: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b772: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b776: e081 b.n 806b87c 806b778: 64090000 .word 0x64090000 806b77c: 2002235c .word 0x2002235c 806b780: 20022948 .word 0x20022948 806b784: 20021fd0 .word 0x20021fd0 806b788: d01502f9 .word 0xd01502f9 806b78c: 501502f9 .word 0x501502f9 806b790: 64080000 .word 0x64080000 806b794: 20020070 .word 0x20020070 806b798: 20023ea8 .word 0x20023ea8 806b79c: 080d3c30 .word 0x080d3c30 806b7a0: 080d3c3c .word 0x080d3c3c 806b7a4: 640a0000 .word 0x640a0000 806b7a8: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806b7ac: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b7b0: 4613 mov r3, r2 806b7b2: 009b lsls r3, r3, #2 806b7b4: 4413 add r3, r2 806b7b6: 009b lsls r3, r3, #2 806b7b8: 461a mov r2, r3 806b7ba: 4ba3 ldr r3, [pc, #652] ; (806ba48 ) 806b7bc: 4413 add r3, r2 806b7be: 461a mov r2, r3 806b7c0: 4ba2 ldr r3, [pc, #648] ; (806ba4c ) 806b7c2: 461c mov r4, r3 806b7c4: 4615 mov r5, r2 806b7c6: cd0f ldmia r5!, {r0, r1, r2, r3} 806b7c8: c40f stmia r4!, {r0, r1, r2, r3} 806b7ca: 682b ldr r3, [r5, #0] 806b7cc: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806b7ce: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b7d2: 4613 mov r3, r2 806b7d4: 009b lsls r3, r3, #2 806b7d6: 4413 add r3, r2 806b7d8: 009b lsls r3, r3, #2 806b7da: 461a mov r2, r3 806b7dc: 4b9a ldr r3, [pc, #616] ; (806ba48 ) 806b7de: 4413 add r3, r2 806b7e0: 461a mov r2, r3 806b7e2: 4b9b ldr r3, [pc, #620] ; (806ba50 ) 806b7e4: 461c mov r4, r3 806b7e6: 4615 mov r5, r2 806b7e8: cd0f ldmia r5!, {r0, r1, r2, r3} 806b7ea: c40f stmia r4!, {r0, r1, r2, r3} 806b7ec: 682b ldr r3, [r5, #0] 806b7ee: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806b7f0: 4b96 ldr r3, [pc, #600] ; (806ba4c ) 806b7f2: 68da ldr r2, [r3, #12] 806b7f4: 4b96 ldr r3, [pc, #600] ; (806ba50 ) 806b7f6: 68db ldr r3, [r3, #12] 806b7f8: 429a cmp r2, r3 806b7fa: d23a bcs.n 806b872 { TrendData = TrendRAM_TEMP(j); 806b7fc: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b800: 4613 mov r3, r2 806b802: 009b lsls r3, r3, #2 806b804: 4413 add r3, r2 806b806: 009b lsls r3, r3, #2 806b808: 461a mov r2, r3 806b80a: 4b8f ldr r3, [pc, #572] ; (806ba48 ) 806b80c: 4413 add r3, r2 806b80e: 461a mov r2, r3 806b810: 4b90 ldr r3, [pc, #576] ; (806ba54 ) 806b812: 461c mov r4, r3 806b814: 4615 mov r5, r2 806b816: cd0f ldmia r5!, {r0, r1, r2, r3} 806b818: c40f stmia r4!, {r0, r1, r2, r3} 806b81a: 682b ldr r3, [r5, #0] 806b81c: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806b81e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b822: 4613 mov r3, r2 806b824: 009b lsls r3, r3, #2 806b826: 4413 add r3, r2 806b828: 009b lsls r3, r3, #2 806b82a: 461a mov r2, r3 806b82c: 4b86 ldr r3, [pc, #536] ; (806ba48 ) 806b82e: 4413 add r3, r2 806b830: 4619 mov r1, r3 806b832: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b836: 4613 mov r3, r2 806b838: 009b lsls r3, r3, #2 806b83a: 4413 add r3, r2 806b83c: 009b lsls r3, r3, #2 806b83e: 461a mov r2, r3 806b840: 4b81 ldr r3, [pc, #516] ; (806ba48 ) 806b842: 4413 add r3, r2 806b844: 460c mov r4, r1 806b846: 461d mov r5, r3 806b848: cd0f ldmia r5!, {r0, r1, r2, r3} 806b84a: c40f stmia r4!, {r0, r1, r2, r3} 806b84c: 682b ldr r3, [r5, #0] 806b84e: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806b850: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b854: 4613 mov r3, r2 806b856: 009b lsls r3, r3, #2 806b858: 4413 add r3, r2 806b85a: 009b lsls r3, r3, #2 806b85c: 461a mov r2, r3 806b85e: 4b7a ldr r3, [pc, #488] ; (806ba48 ) 806b860: 4413 add r3, r2 806b862: 461a mov r2, r3 806b864: 4b7b ldr r3, [pc, #492] ; (806ba54 ) 806b866: 4614 mov r4, r2 806b868: 461d mov r5, r3 806b86a: cd0f ldmia r5!, {r0, r1, r2, r3} 806b86c: c40f stmia r4!, {r0, r1, r2, r3} 806b86e: 682b ldr r3, [r5, #0] 806b870: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806b872: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b876: 3301 adds r3, #1 806b878: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b87c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b880: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b884: 429a cmp r2, r3 806b886: d391 bcc.n 806b7ac for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b888: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b88c: 3301 adds r3, #1 806b88e: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b892: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b896: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b89a: 429a cmp r2, r3 806b89c: f4ff af67 bcc.w 806b76e } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806b8a0: 4b6d ldr r3, [pc, #436] ; (806ba58 ) 806b8a2: f207 424c addw r2, r7, #1100 ; 0x44c 806b8a6: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806b8a8: 4b6c ldr r3, [pc, #432] ; (806ba5c ) 806b8aa: f507 6289 add.w r2, r7, #1096 ; 0x448 806b8ae: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b8b0: 2300 movs r3, #0 806b8b2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b8b6: e049 b.n 806b94c { TrendData = TrendRAM_TEMP(i); 806b8b8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b8bc: 4613 mov r3, r2 806b8be: 009b lsls r3, r3, #2 806b8c0: 4413 add r3, r2 806b8c2: 009b lsls r3, r3, #2 806b8c4: 461a mov r2, r3 806b8c6: 4b60 ldr r3, [pc, #384] ; (806ba48 ) 806b8c8: 4413 add r3, r2 806b8ca: 461a mov r2, r3 806b8cc: 4b61 ldr r3, [pc, #388] ; (806ba54 ) 806b8ce: 461c mov r4, r3 806b8d0: 4615 mov r5, r2 806b8d2: cd0f ldmia r5!, {r0, r1, r2, r3} 806b8d4: c40f stmia r4!, {r0, r1, r2, r3} 806b8d6: 682b ldr r3, [r5, #0] 806b8d8: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806b8da: 4b5e ldr r3, [pc, #376] ; (806ba54 ) 806b8dc: ed93 7a00 vldr s14, [r3] 806b8e0: f207 434c addw r3, r7, #1100 ; 0x44c 806b8e4: edd3 7a00 vldr s15, [r3] 806b8e8: eeb4 7ae7 vcmpe.f32 s14, s15 806b8ec: eef1 fa10 vmrs APSR_nzcv, fpscr 806b8f0: dd04 ble.n 806b8fc 806b8f2: 4b58 ldr r3, [pc, #352] ; (806ba54 ) 806b8f4: 681b ldr r3, [r3, #0] 806b8f6: f207 424c addw r2, r7, #1100 ; 0x44c 806b8fa: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806b8fc: 4b55 ldr r3, [pc, #340] ; (806ba54 ) 806b8fe: ed93 7a00 vldr s14, [r3] 806b902: f507 6389 add.w r3, r7, #1096 ; 0x448 806b906: edd3 7a00 vldr s15, [r3] 806b90a: eeb4 7ae7 vcmpe.f32 s14, s15 806b90e: eef1 fa10 vmrs APSR_nzcv, fpscr 806b912: d504 bpl.n 806b91e 806b914: 4b4f ldr r3, [pc, #316] ; (806ba54 ) 806b916: 681b ldr r3, [r3, #0] 806b918: f507 6289 add.w r2, r7, #1096 ; 0x448 806b91c: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806b91e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b922: 009a lsls r2, r3, #2 806b924: 4b4e ldr r3, [pc, #312] ; (806ba60 ) 806b926: 4413 add r3, r2 806b928: 461a mov r2, r3 806b92a: 4b4a ldr r3, [pc, #296] ; (806ba54 ) 806b92c: 681b ldr r3, [r3, #0] 806b92e: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806b930: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b934: 009a lsls r2, r3, #2 806b936: 4b44 ldr r3, [pc, #272] ; (806ba48 ) 806b938: 4413 add r3, r2 806b93a: 461a mov r2, r3 806b93c: 4b45 ldr r3, [pc, #276] ; (806ba54 ) 806b93e: 68db ldr r3, [r3, #12] 806b940: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b942: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b946: 3301 adds r3, #1 806b948: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b94c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b950: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b954: 429a cmp r2, r3 806b956: d3af bcc.n 806b8b8 806b958: f002 ba62 b.w 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_pkpk) 806b95c: 4b41 ldr r3, [pc, #260] ; (806ba64 ) 806b95e: 781b ldrb r3, [r3, #0] 806b960: b2db uxtb r3, r3 806b962: 2b02 cmp r3, #2 806b964: f040 8162 bne.w 806bc2c { if(pardata.LANG == RUS) 806b968: 4b3f ldr r3, [pc, #252] ; (806ba68 ) 806b96a: 7b1b ldrb r3, [r3, #12] 806b96c: b2db uxtb r3, r3 806b96e: 2b00 cmp r3, #0 806b970: d106 bne.n 806b980 BSP_LCD_DisplayStringAt(8, 35, "A(ðàçìàõ),ì/ñ^", LEFT_MODE); 806b972: 2303 movs r3, #3 806b974: 4a3d ldr r2, [pc, #244] ; (806ba6c ) 806b976: 2123 movs r1, #35 ; 0x23 806b978: 2008 movs r0, #8 806b97a: f7e8 ff0f bl 805479c 806b97e: e005 b.n 806b98c else BSP_LCD_DisplayStringAt(8, 35, "A(peak-peak),m/s^", LEFT_MODE); 806b980: 2303 movs r3, #3 806b982: 4a3b ldr r2, [pc, #236] ; (806ba70 ) 806b984: 2123 movs r1, #35 ; 0x23 806b986: 2008 movs r0, #8 806b988: f7e8 ff08 bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806b98c: 2300 movs r3, #0 806b98e: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b992: 2300 movs r3, #0 806b994: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b998: e042 b.n 806ba20 { TrendData = TrendRAM(i); 806b99a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b99e: 4613 mov r3, r2 806b9a0: 009b lsls r3, r3, #2 806b9a2: 4413 add r3, r2 806b9a4: 009b lsls r3, r3, #2 806b9a6: 461a mov r2, r3 806b9a8: 4b32 ldr r3, [pc, #200] ; (806ba74 ) 806b9aa: 4413 add r3, r2 806b9ac: 461a mov r2, r3 806b9ae: 4b29 ldr r3, [pc, #164] ; (806ba54 ) 806b9b0: 461c mov r4, r3 806b9b2: 4615 mov r5, r2 806b9b4: cd0f ldmia r5!, {r0, r1, r2, r3} 806b9b6: c40f stmia r4!, {r0, r1, r2, r3} 806b9b8: 682b ldr r3, [r5, #0] 806b9ba: 6023 str r3, [r4, #0] if((TrendData.Aivs == 'R') && (TrendData.Aval.fl != -1.0f)) 806b9bc: 4b25 ldr r3, [pc, #148] ; (806ba54 ) 806b9be: 7c1b ldrb r3, [r3, #16] 806b9c0: b2db uxtb r3, r3 806b9c2: 2b52 cmp r3, #82 ; 0x52 806b9c4: d127 bne.n 806ba16 806b9c6: 4b23 ldr r3, [pc, #140] ; (806ba54 ) 806b9c8: edd3 7a00 vldr s15, [r3] 806b9cc: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806b9d0: eef4 7a47 vcmp.f32 s15, s14 806b9d4: eef1 fa10 vmrs APSR_nzcv, fpscr 806b9d8: d01d beq.n 806ba16 { TrendRAM_TEMP(l) = TrendRAM(i); 806b9da: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806b9de: 4613 mov r3, r2 806b9e0: 009b lsls r3, r3, #2 806b9e2: 4413 add r3, r2 806b9e4: 009b lsls r3, r3, #2 806b9e6: 461a mov r2, r3 806b9e8: 4b17 ldr r3, [pc, #92] ; (806ba48 ) 806b9ea: 4413 add r3, r2 806b9ec: 4619 mov r1, r3 806b9ee: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b9f2: 4613 mov r3, r2 806b9f4: 009b lsls r3, r3, #2 806b9f6: 4413 add r3, r2 806b9f8: 009b lsls r3, r3, #2 806b9fa: 461a mov r2, r3 806b9fc: 4b1d ldr r3, [pc, #116] ; (806ba74 ) 806b9fe: 4413 add r3, r2 806ba00: 460c mov r4, r1 806ba02: 461d mov r5, r3 806ba04: cd0f ldmia r5!, {r0, r1, r2, r3} 806ba06: c40f stmia r4!, {r0, r1, r2, r3} 806ba08: 682b ldr r3, [r5, #0] 806ba0a: 6023 str r3, [r4, #0] l++; 806ba0c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ba10: 3301 adds r3, #1 806ba12: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806ba16: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ba1a: 3301 adds r3, #1 806ba1c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ba20: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ba24: 4b14 ldr r3, [pc, #80] ; (806ba78 ) 806ba26: 681b ldr r3, [r3, #0] 806ba28: 429a cmp r2, r3 806ba2a: d3b6 bcc.n 806b99a } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806ba2c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ba30: 2b00 cmp r3, #0 806ba32: f002 81f5 beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806ba36: 2300 movs r3, #0 806ba38: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ba3c: e091 b.n 806bb62 { for(i = j; i < l; i++) 806ba3e: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ba42: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ba46: e081 b.n 806bb4c 806ba48: 64090000 .word 0x64090000 806ba4c: 2002235c .word 0x2002235c 806ba50: 20022948 .word 0x20022948 806ba54: 20021fd0 .word 0x20021fd0 806ba58: d01502f9 .word 0xd01502f9 806ba5c: 501502f9 .word 0x501502f9 806ba60: 64080000 .word 0x64080000 806ba64: 20020070 .word 0x20020070 806ba68: 20023ea8 .word 0x20023ea8 806ba6c: 080d3c48 .word 0x080d3c48 806ba70: 080d3c58 .word 0x080d3c58 806ba74: 640a0000 .word 0x640a0000 806ba78: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806ba7c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ba80: 4613 mov r3, r2 806ba82: 009b lsls r3, r3, #2 806ba84: 4413 add r3, r2 806ba86: 009b lsls r3, r3, #2 806ba88: 461a mov r2, r3 806ba8a: 4ba6 ldr r3, [pc, #664] ; (806bd24 ) 806ba8c: 4413 add r3, r2 806ba8e: 461a mov r2, r3 806ba90: 4ba5 ldr r3, [pc, #660] ; (806bd28 ) 806ba92: 461c mov r4, r3 806ba94: 4615 mov r5, r2 806ba96: cd0f ldmia r5!, {r0, r1, r2, r3} 806ba98: c40f stmia r4!, {r0, r1, r2, r3} 806ba9a: 682b ldr r3, [r5, #0] 806ba9c: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806ba9e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806baa2: 4613 mov r3, r2 806baa4: 009b lsls r3, r3, #2 806baa6: 4413 add r3, r2 806baa8: 009b lsls r3, r3, #2 806baaa: 461a mov r2, r3 806baac: 4b9d ldr r3, [pc, #628] ; (806bd24 ) 806baae: 4413 add r3, r2 806bab0: 461a mov r2, r3 806bab2: 4b9e ldr r3, [pc, #632] ; (806bd2c ) 806bab4: 461c mov r4, r3 806bab6: 4615 mov r5, r2 806bab8: cd0f ldmia r5!, {r0, r1, r2, r3} 806baba: c40f stmia r4!, {r0, r1, r2, r3} 806babc: 682b ldr r3, [r5, #0] 806babe: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806bac0: 4b99 ldr r3, [pc, #612] ; (806bd28 ) 806bac2: 68da ldr r2, [r3, #12] 806bac4: 4b99 ldr r3, [pc, #612] ; (806bd2c ) 806bac6: 68db ldr r3, [r3, #12] 806bac8: 429a cmp r2, r3 806baca: d23a bcs.n 806bb42 { TrendData = TrendRAM_TEMP(j); 806bacc: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bad0: 4613 mov r3, r2 806bad2: 009b lsls r3, r3, #2 806bad4: 4413 add r3, r2 806bad6: 009b lsls r3, r3, #2 806bad8: 461a mov r2, r3 806bada: 4b92 ldr r3, [pc, #584] ; (806bd24 ) 806badc: 4413 add r3, r2 806bade: 461a mov r2, r3 806bae0: 4b93 ldr r3, [pc, #588] ; (806bd30 ) 806bae2: 461c mov r4, r3 806bae4: 4615 mov r5, r2 806bae6: cd0f ldmia r5!, {r0, r1, r2, r3} 806bae8: c40f stmia r4!, {r0, r1, r2, r3} 806baea: 682b ldr r3, [r5, #0] 806baec: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806baee: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806baf2: 4613 mov r3, r2 806baf4: 009b lsls r3, r3, #2 806baf6: 4413 add r3, r2 806baf8: 009b lsls r3, r3, #2 806bafa: 461a mov r2, r3 806bafc: 4b89 ldr r3, [pc, #548] ; (806bd24 ) 806bafe: 4413 add r3, r2 806bb00: 4619 mov r1, r3 806bb02: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bb06: 4613 mov r3, r2 806bb08: 009b lsls r3, r3, #2 806bb0a: 4413 add r3, r2 806bb0c: 009b lsls r3, r3, #2 806bb0e: 461a mov r2, r3 806bb10: 4b84 ldr r3, [pc, #528] ; (806bd24 ) 806bb12: 4413 add r3, r2 806bb14: 460c mov r4, r1 806bb16: 461d mov r5, r3 806bb18: cd0f ldmia r5!, {r0, r1, r2, r3} 806bb1a: c40f stmia r4!, {r0, r1, r2, r3} 806bb1c: 682b ldr r3, [r5, #0] 806bb1e: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806bb20: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bb24: 4613 mov r3, r2 806bb26: 009b lsls r3, r3, #2 806bb28: 4413 add r3, r2 806bb2a: 009b lsls r3, r3, #2 806bb2c: 461a mov r2, r3 806bb2e: 4b7d ldr r3, [pc, #500] ; (806bd24 ) 806bb30: 4413 add r3, r2 806bb32: 461a mov r2, r3 806bb34: 4b7e ldr r3, [pc, #504] ; (806bd30 ) 806bb36: 4614 mov r4, r2 806bb38: 461d mov r5, r3 806bb3a: cd0f ldmia r5!, {r0, r1, r2, r3} 806bb3c: c40f stmia r4!, {r0, r1, r2, r3} 806bb3e: 682b ldr r3, [r5, #0] 806bb40: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806bb42: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bb46: 3301 adds r3, #1 806bb48: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bb4c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bb50: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bb54: 429a cmp r2, r3 806bb56: d391 bcc.n 806ba7c for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806bb58: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806bb5c: 3301 adds r3, #1 806bb5e: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806bb62: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bb66: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bb6a: 429a cmp r2, r3 806bb6c: f4ff af67 bcc.w 806ba3e } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806bb70: 4b70 ldr r3, [pc, #448] ; (806bd34 ) 806bb72: f207 424c addw r2, r7, #1100 ; 0x44c 806bb76: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806bb78: 4b6f ldr r3, [pc, #444] ; (806bd38 ) 806bb7a: f507 6289 add.w r2, r7, #1096 ; 0x448 806bb7e: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806bb80: 2300 movs r3, #0 806bb82: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bb86: e049 b.n 806bc1c { TrendData = TrendRAM_TEMP(i); 806bb88: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bb8c: 4613 mov r3, r2 806bb8e: 009b lsls r3, r3, #2 806bb90: 4413 add r3, r2 806bb92: 009b lsls r3, r3, #2 806bb94: 461a mov r2, r3 806bb96: 4b63 ldr r3, [pc, #396] ; (806bd24 ) 806bb98: 4413 add r3, r2 806bb9a: 461a mov r2, r3 806bb9c: 4b64 ldr r3, [pc, #400] ; (806bd30 ) 806bb9e: 461c mov r4, r3 806bba0: 4615 mov r5, r2 806bba2: cd0f ldmia r5!, {r0, r1, r2, r3} 806bba4: c40f stmia r4!, {r0, r1, r2, r3} 806bba6: 682b ldr r3, [r5, #0] 806bba8: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806bbaa: 4b61 ldr r3, [pc, #388] ; (806bd30 ) 806bbac: ed93 7a00 vldr s14, [r3] 806bbb0: f207 434c addw r3, r7, #1100 ; 0x44c 806bbb4: edd3 7a00 vldr s15, [r3] 806bbb8: eeb4 7ae7 vcmpe.f32 s14, s15 806bbbc: eef1 fa10 vmrs APSR_nzcv, fpscr 806bbc0: dd04 ble.n 806bbcc 806bbc2: 4b5b ldr r3, [pc, #364] ; (806bd30 ) 806bbc4: 681b ldr r3, [r3, #0] 806bbc6: f207 424c addw r2, r7, #1100 ; 0x44c 806bbca: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806bbcc: 4b58 ldr r3, [pc, #352] ; (806bd30 ) 806bbce: ed93 7a00 vldr s14, [r3] 806bbd2: f507 6389 add.w r3, r7, #1096 ; 0x448 806bbd6: edd3 7a00 vldr s15, [r3] 806bbda: eeb4 7ae7 vcmpe.f32 s14, s15 806bbde: eef1 fa10 vmrs APSR_nzcv, fpscr 806bbe2: d504 bpl.n 806bbee 806bbe4: 4b52 ldr r3, [pc, #328] ; (806bd30 ) 806bbe6: 681b ldr r3, [r3, #0] 806bbe8: f507 6289 add.w r2, r7, #1096 ; 0x448 806bbec: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806bbee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bbf2: 009a lsls r2, r3, #2 806bbf4: 4b51 ldr r3, [pc, #324] ; (806bd3c ) 806bbf6: 4413 add r3, r2 806bbf8: 461a mov r2, r3 806bbfa: 4b4d ldr r3, [pc, #308] ; (806bd30 ) 806bbfc: 681b ldr r3, [r3, #0] 806bbfe: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806bc00: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bc04: 009a lsls r2, r3, #2 806bc06: 4b47 ldr r3, [pc, #284] ; (806bd24 ) 806bc08: 4413 add r3, r2 806bc0a: 461a mov r2, r3 806bc0c: 4b48 ldr r3, [pc, #288] ; (806bd30 ) 806bc0e: 68db ldr r3, [r3, #12] 806bc10: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806bc12: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bc16: 3301 adds r3, #1 806bc18: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bc1c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bc20: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bc24: 429a cmp r2, r3 806bc26: d3af bcc.n 806bb88 806bc28: f002 b8fa b.w 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_factor) 806bc2c: 4b44 ldr r3, [pc, #272] ; (806bd40 ) 806bc2e: 781b ldrb r3, [r3, #0] 806bc30: b2db uxtb r3, r3 806bc32: 2b03 cmp r3, #3 806bc34: f040 8168 bne.w 806bf08 { if(pardata.LANG == RUS) 806bc38: 4b42 ldr r3, [pc, #264] ; (806bd44 ) 806bc3a: 7b1b ldrb r3, [r3, #12] 806bc3c: b2db uxtb r3, r3 806bc3e: 2b00 cmp r3, #0 806bc40: d106 bne.n 806bc50 BSP_LCD_DisplayStringAt(8, 35, "A(ïèê-ôàêòîð)", LEFT_MODE); 806bc42: 2303 movs r3, #3 806bc44: 4a40 ldr r2, [pc, #256] ; (806bd48 ) 806bc46: 2123 movs r1, #35 ; 0x23 806bc48: 2008 movs r0, #8 806bc4a: f7e8 fda7 bl 805479c 806bc4e: e005 b.n 806bc5c else BSP_LCD_DisplayStringAt(8, 35, "A(peak-factor)", LEFT_MODE); 806bc50: 2303 movs r3, #3 806bc52: 4a3e ldr r2, [pc, #248] ; (806bd4c ) 806bc54: 2123 movs r1, #35 ; 0x23 806bc56: 2008 movs r0, #8 806bc58: f7e8 fda0 bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806bc5c: 2300 movs r3, #0 806bc5e: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806bc62: 2300 movs r3, #0 806bc64: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bc68: e047 b.n 806bcfa { TrendData = TrendRAM(i); 806bc6a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bc6e: 4613 mov r3, r2 806bc70: 009b lsls r3, r3, #2 806bc72: 4413 add r3, r2 806bc74: 009b lsls r3, r3, #2 806bc76: 461a mov r2, r3 806bc78: 4b35 ldr r3, [pc, #212] ; (806bd50 ) 806bc7a: 4413 add r3, r2 806bc7c: 461a mov r2, r3 806bc7e: 4b2c ldr r3, [pc, #176] ; (806bd30 ) 806bc80: 461c mov r4, r3 806bc82: 4615 mov r5, r2 806bc84: cd0f ldmia r5!, {r0, r1, r2, r3} 806bc86: c40f stmia r4!, {r0, r1, r2, r3} 806bc88: 682b ldr r3, [r5, #0] 806bc8a: 6023 str r3, [r4, #0] if(((TrendData.Aivs == 'Ô') || (TrendData.Aivs == 'F')) && (TrendData.Aval.fl != -1.0f)) 806bc8c: 4b28 ldr r3, [pc, #160] ; (806bd30 ) 806bc8e: 7c1b ldrb r3, [r3, #16] 806bc90: b2db uxtb r3, r3 806bc92: 2bd4 cmp r3, #212 ; 0xd4 806bc94: d004 beq.n 806bca0 806bc96: 4b26 ldr r3, [pc, #152] ; (806bd30 ) 806bc98: 7c1b ldrb r3, [r3, #16] 806bc9a: b2db uxtb r3, r3 806bc9c: 2b46 cmp r3, #70 ; 0x46 806bc9e: d127 bne.n 806bcf0 806bca0: 4b23 ldr r3, [pc, #140] ; (806bd30 ) 806bca2: edd3 7a00 vldr s15, [r3] 806bca6: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806bcaa: eef4 7a47 vcmp.f32 s15, s14 806bcae: eef1 fa10 vmrs APSR_nzcv, fpscr 806bcb2: d01d beq.n 806bcf0 { TrendRAM_TEMP(l) = TrendRAM(i); 806bcb4: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806bcb8: 4613 mov r3, r2 806bcba: 009b lsls r3, r3, #2 806bcbc: 4413 add r3, r2 806bcbe: 009b lsls r3, r3, #2 806bcc0: 461a mov r2, r3 806bcc2: 4b18 ldr r3, [pc, #96] ; (806bd24 ) 806bcc4: 4413 add r3, r2 806bcc6: 4619 mov r1, r3 806bcc8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bccc: 4613 mov r3, r2 806bcce: 009b lsls r3, r3, #2 806bcd0: 4413 add r3, r2 806bcd2: 009b lsls r3, r3, #2 806bcd4: 461a mov r2, r3 806bcd6: 4b1e ldr r3, [pc, #120] ; (806bd50 ) 806bcd8: 4413 add r3, r2 806bcda: 460c mov r4, r1 806bcdc: 461d mov r5, r3 806bcde: cd0f ldmia r5!, {r0, r1, r2, r3} 806bce0: c40f stmia r4!, {r0, r1, r2, r3} 806bce2: 682b ldr r3, [r5, #0] 806bce4: 6023 str r3, [r4, #0] l++; 806bce6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bcea: 3301 adds r3, #1 806bcec: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806bcf0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bcf4: 3301 adds r3, #1 806bcf6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bcfa: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bcfe: 4b15 ldr r3, [pc, #84] ; (806bd54 ) 806bd00: 681b ldr r3, [r3, #0] 806bd02: 429a cmp r2, r3 806bd04: d3b1 bcc.n 806bc6a } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806bd06: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bd0a: 2b00 cmp r3, #0 806bd0c: f002 8088 beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806bd10: 2300 movs r3, #0 806bd12: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806bd16: e092 b.n 806be3e { for(i = j; i < l; i++) 806bd18: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806bd1c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bd20: e082 b.n 806be28 806bd22: bf00 nop 806bd24: 64090000 .word 0x64090000 806bd28: 2002235c .word 0x2002235c 806bd2c: 20022948 .word 0x20022948 806bd30: 20021fd0 .word 0x20021fd0 806bd34: d01502f9 .word 0xd01502f9 806bd38: 501502f9 .word 0x501502f9 806bd3c: 64080000 .word 0x64080000 806bd40: 20020070 .word 0x20020070 806bd44: 20023ea8 .word 0x20023ea8 806bd48: 080d3c6c .word 0x080d3c6c 806bd4c: 080d3c7c .word 0x080d3c7c 806bd50: 640a0000 .word 0x640a0000 806bd54: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806bd58: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bd5c: 4613 mov r3, r2 806bd5e: 009b lsls r3, r3, #2 806bd60: 4413 add r3, r2 806bd62: 009b lsls r3, r3, #2 806bd64: 461a mov r2, r3 806bd66: 4ba6 ldr r3, [pc, #664] ; (806c000 ) 806bd68: 4413 add r3, r2 806bd6a: 461a mov r2, r3 806bd6c: 4ba5 ldr r3, [pc, #660] ; (806c004 ) 806bd6e: 461c mov r4, r3 806bd70: 4615 mov r5, r2 806bd72: cd0f ldmia r5!, {r0, r1, r2, r3} 806bd74: c40f stmia r4!, {r0, r1, r2, r3} 806bd76: 682b ldr r3, [r5, #0] 806bd78: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806bd7a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bd7e: 4613 mov r3, r2 806bd80: 009b lsls r3, r3, #2 806bd82: 4413 add r3, r2 806bd84: 009b lsls r3, r3, #2 806bd86: 461a mov r2, r3 806bd88: 4b9d ldr r3, [pc, #628] ; (806c000 ) 806bd8a: 4413 add r3, r2 806bd8c: 461a mov r2, r3 806bd8e: 4b9e ldr r3, [pc, #632] ; (806c008 ) 806bd90: 461c mov r4, r3 806bd92: 4615 mov r5, r2 806bd94: cd0f ldmia r5!, {r0, r1, r2, r3} 806bd96: c40f stmia r4!, {r0, r1, r2, r3} 806bd98: 682b ldr r3, [r5, #0] 806bd9a: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806bd9c: 4b99 ldr r3, [pc, #612] ; (806c004 ) 806bd9e: 68da ldr r2, [r3, #12] 806bda0: 4b99 ldr r3, [pc, #612] ; (806c008 ) 806bda2: 68db ldr r3, [r3, #12] 806bda4: 429a cmp r2, r3 806bda6: d23a bcs.n 806be1e { TrendData = TrendRAM_TEMP(j); 806bda8: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bdac: 4613 mov r3, r2 806bdae: 009b lsls r3, r3, #2 806bdb0: 4413 add r3, r2 806bdb2: 009b lsls r3, r3, #2 806bdb4: 461a mov r2, r3 806bdb6: 4b92 ldr r3, [pc, #584] ; (806c000 ) 806bdb8: 4413 add r3, r2 806bdba: 461a mov r2, r3 806bdbc: 4b93 ldr r3, [pc, #588] ; (806c00c ) 806bdbe: 461c mov r4, r3 806bdc0: 4615 mov r5, r2 806bdc2: cd0f ldmia r5!, {r0, r1, r2, r3} 806bdc4: c40f stmia r4!, {r0, r1, r2, r3} 806bdc6: 682b ldr r3, [r5, #0] 806bdc8: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806bdca: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bdce: 4613 mov r3, r2 806bdd0: 009b lsls r3, r3, #2 806bdd2: 4413 add r3, r2 806bdd4: 009b lsls r3, r3, #2 806bdd6: 461a mov r2, r3 806bdd8: 4b89 ldr r3, [pc, #548] ; (806c000 ) 806bdda: 4413 add r3, r2 806bddc: 4619 mov r1, r3 806bdde: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bde2: 4613 mov r3, r2 806bde4: 009b lsls r3, r3, #2 806bde6: 4413 add r3, r2 806bde8: 009b lsls r3, r3, #2 806bdea: 461a mov r2, r3 806bdec: 4b84 ldr r3, [pc, #528] ; (806c000 ) 806bdee: 4413 add r3, r2 806bdf0: 460c mov r4, r1 806bdf2: 461d mov r5, r3 806bdf4: cd0f ldmia r5!, {r0, r1, r2, r3} 806bdf6: c40f stmia r4!, {r0, r1, r2, r3} 806bdf8: 682b ldr r3, [r5, #0] 806bdfa: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806bdfc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806be00: 4613 mov r3, r2 806be02: 009b lsls r3, r3, #2 806be04: 4413 add r3, r2 806be06: 009b lsls r3, r3, #2 806be08: 461a mov r2, r3 806be0a: 4b7d ldr r3, [pc, #500] ; (806c000 ) 806be0c: 4413 add r3, r2 806be0e: 461a mov r2, r3 806be10: 4b7e ldr r3, [pc, #504] ; (806c00c ) 806be12: 4614 mov r4, r2 806be14: 461d mov r5, r3 806be16: cd0f ldmia r5!, {r0, r1, r2, r3} 806be18: c40f stmia r4!, {r0, r1, r2, r3} 806be1a: 682b ldr r3, [r5, #0] 806be1c: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806be1e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806be22: 3301 adds r3, #1 806be24: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806be28: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806be2c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806be30: 429a cmp r2, r3 806be32: d391 bcc.n 806bd58 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806be34: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806be38: 3301 adds r3, #1 806be3a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806be3e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806be42: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806be46: 429a cmp r2, r3 806be48: f4ff af66 bcc.w 806bd18 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806be4c: 4b70 ldr r3, [pc, #448] ; (806c010 ) 806be4e: f207 424c addw r2, r7, #1100 ; 0x44c 806be52: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806be54: 4b6f ldr r3, [pc, #444] ; (806c014 ) 806be56: f507 6289 add.w r2, r7, #1096 ; 0x448 806be5a: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806be5c: 2300 movs r3, #0 806be5e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806be62: e049 b.n 806bef8 { TrendData = TrendRAM_TEMP(i); 806be64: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806be68: 4613 mov r3, r2 806be6a: 009b lsls r3, r3, #2 806be6c: 4413 add r3, r2 806be6e: 009b lsls r3, r3, #2 806be70: 461a mov r2, r3 806be72: 4b63 ldr r3, [pc, #396] ; (806c000 ) 806be74: 4413 add r3, r2 806be76: 461a mov r2, r3 806be78: 4b64 ldr r3, [pc, #400] ; (806c00c ) 806be7a: 461c mov r4, r3 806be7c: 4615 mov r5, r2 806be7e: cd0f ldmia r5!, {r0, r1, r2, r3} 806be80: c40f stmia r4!, {r0, r1, r2, r3} 806be82: 682b ldr r3, [r5, #0] 806be84: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806be86: 4b61 ldr r3, [pc, #388] ; (806c00c ) 806be88: ed93 7a00 vldr s14, [r3] 806be8c: f207 434c addw r3, r7, #1100 ; 0x44c 806be90: edd3 7a00 vldr s15, [r3] 806be94: eeb4 7ae7 vcmpe.f32 s14, s15 806be98: eef1 fa10 vmrs APSR_nzcv, fpscr 806be9c: dd04 ble.n 806bea8 806be9e: 4b5b ldr r3, [pc, #364] ; (806c00c ) 806bea0: 681b ldr r3, [r3, #0] 806bea2: f207 424c addw r2, r7, #1100 ; 0x44c 806bea6: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806bea8: 4b58 ldr r3, [pc, #352] ; (806c00c ) 806beaa: ed93 7a00 vldr s14, [r3] 806beae: f507 6389 add.w r3, r7, #1096 ; 0x448 806beb2: edd3 7a00 vldr s15, [r3] 806beb6: eeb4 7ae7 vcmpe.f32 s14, s15 806beba: eef1 fa10 vmrs APSR_nzcv, fpscr 806bebe: d504 bpl.n 806beca 806bec0: 4b52 ldr r3, [pc, #328] ; (806c00c ) 806bec2: 681b ldr r3, [r3, #0] 806bec4: f507 6289 add.w r2, r7, #1096 ; 0x448 806bec8: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806beca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bece: 009a lsls r2, r3, #2 806bed0: 4b51 ldr r3, [pc, #324] ; (806c018 ) 806bed2: 4413 add r3, r2 806bed4: 461a mov r2, r3 806bed6: 4b4d ldr r3, [pc, #308] ; (806c00c ) 806bed8: 681b ldr r3, [r3, #0] 806beda: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806bedc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bee0: 009a lsls r2, r3, #2 806bee2: 4b47 ldr r3, [pc, #284] ; (806c000 ) 806bee4: 4413 add r3, r2 806bee6: 461a mov r2, r3 806bee8: 4b48 ldr r3, [pc, #288] ; (806c00c ) 806beea: 68db ldr r3, [r3, #12] 806beec: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806beee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bef2: 3301 adds r3, #1 806bef4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bef8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806befc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bf00: 429a cmp r2, r3 806bf02: d3af bcc.n 806be64 806bf04: f001 bf8c b.w 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_excess) 806bf08: 4b44 ldr r3, [pc, #272] ; (806c01c ) 806bf0a: 781b ldrb r3, [r3, #0] 806bf0c: b2db uxtb r3, r3 806bf0e: 2b04 cmp r3, #4 806bf10: f041 8786 bne.w 806de20 { if(pardata.LANG == RUS) 806bf14: 4b42 ldr r3, [pc, #264] ; (806c020 ) 806bf16: 7b1b ldrb r3, [r3, #12] 806bf18: b2db uxtb r3, r3 806bf1a: 2b00 cmp r3, #0 806bf1c: d106 bne.n 806bf2c BSP_LCD_DisplayStringAt(8, 35, "A(ýêñöåññ)", LEFT_MODE); 806bf1e: 2303 movs r3, #3 806bf20: 4a40 ldr r2, [pc, #256] ; (806c024 ) 806bf22: 2123 movs r1, #35 ; 0x23 806bf24: 2008 movs r0, #8 806bf26: f7e8 fc39 bl 805479c 806bf2a: e005 b.n 806bf38 else BSP_LCD_DisplayStringAt(8, 35, "A(excess)", LEFT_MODE); 806bf2c: 2303 movs r3, #3 806bf2e: 4a3e ldr r2, [pc, #248] ; (806c028 ) 806bf30: 2123 movs r1, #35 ; 0x23 806bf32: 2008 movs r0, #8 806bf34: f7e8 fc32 bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806bf38: 2300 movs r3, #0 806bf3a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806bf3e: 2300 movs r3, #0 806bf40: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bf44: e047 b.n 806bfd6 { TrendData = TrendRAM(i); 806bf46: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bf4a: 4613 mov r3, r2 806bf4c: 009b lsls r3, r3, #2 806bf4e: 4413 add r3, r2 806bf50: 009b lsls r3, r3, #2 806bf52: 461a mov r2, r3 806bf54: 4b35 ldr r3, [pc, #212] ; (806c02c ) 806bf56: 4413 add r3, r2 806bf58: 461a mov r2, r3 806bf5a: 4b2c ldr r3, [pc, #176] ; (806c00c ) 806bf5c: 461c mov r4, r3 806bf5e: 4615 mov r5, r2 806bf60: cd0f ldmia r5!, {r0, r1, r2, r3} 806bf62: c40f stmia r4!, {r0, r1, r2, r3} 806bf64: 682b ldr r3, [r5, #0] 806bf66: 6023 str r3, [r4, #0] if(((TrendData.Aivs == 'Ý') || (TrendData.Aivs == 'E')) && (TrendData.Aval.fl != -1.0f)) 806bf68: 4b28 ldr r3, [pc, #160] ; (806c00c ) 806bf6a: 7c1b ldrb r3, [r3, #16] 806bf6c: b2db uxtb r3, r3 806bf6e: 2bdd cmp r3, #221 ; 0xdd 806bf70: d004 beq.n 806bf7c 806bf72: 4b26 ldr r3, [pc, #152] ; (806c00c ) 806bf74: 7c1b ldrb r3, [r3, #16] 806bf76: b2db uxtb r3, r3 806bf78: 2b45 cmp r3, #69 ; 0x45 806bf7a: d127 bne.n 806bfcc 806bf7c: 4b23 ldr r3, [pc, #140] ; (806c00c ) 806bf7e: edd3 7a00 vldr s15, [r3] 806bf82: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806bf86: eef4 7a47 vcmp.f32 s15, s14 806bf8a: eef1 fa10 vmrs APSR_nzcv, fpscr 806bf8e: d01d beq.n 806bfcc { TrendRAM_TEMP(l) = TrendRAM(i); 806bf90: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806bf94: 4613 mov r3, r2 806bf96: 009b lsls r3, r3, #2 806bf98: 4413 add r3, r2 806bf9a: 009b lsls r3, r3, #2 806bf9c: 461a mov r2, r3 806bf9e: 4b18 ldr r3, [pc, #96] ; (806c000 ) 806bfa0: 4413 add r3, r2 806bfa2: 4619 mov r1, r3 806bfa4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bfa8: 4613 mov r3, r2 806bfaa: 009b lsls r3, r3, #2 806bfac: 4413 add r3, r2 806bfae: 009b lsls r3, r3, #2 806bfb0: 461a mov r2, r3 806bfb2: 4b1e ldr r3, [pc, #120] ; (806c02c ) 806bfb4: 4413 add r3, r2 806bfb6: 460c mov r4, r1 806bfb8: 461d mov r5, r3 806bfba: cd0f ldmia r5!, {r0, r1, r2, r3} 806bfbc: c40f stmia r4!, {r0, r1, r2, r3} 806bfbe: 682b ldr r3, [r5, #0] 806bfc0: 6023 str r3, [r4, #0] l++; 806bfc2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bfc6: 3301 adds r3, #1 806bfc8: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806bfcc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bfd0: 3301 adds r3, #1 806bfd2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bfd6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bfda: 4b15 ldr r3, [pc, #84] ; (806c030 ) 806bfdc: 681b ldr r3, [r3, #0] 806bfde: 429a cmp r2, r3 806bfe0: d3b1 bcc.n 806bf46 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806bfe2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bfe6: 2b00 cmp r3, #0 806bfe8: f001 871a beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806bfec: 2300 movs r3, #0 806bfee: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806bff2: e092 b.n 806c11a { for(i = j; i < l; i++) 806bff4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806bff8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bffc: e082 b.n 806c104 806bffe: bf00 nop 806c000: 64090000 .word 0x64090000 806c004: 2002235c .word 0x2002235c 806c008: 20022948 .word 0x20022948 806c00c: 20021fd0 .word 0x20021fd0 806c010: d01502f9 .word 0xd01502f9 806c014: 501502f9 .word 0x501502f9 806c018: 64080000 .word 0x64080000 806c01c: 20020070 .word 0x20020070 806c020: 20023ea8 .word 0x20023ea8 806c024: 080d3c8c .word 0x080d3c8c 806c028: 080d3c98 .word 0x080d3c98 806c02c: 640a0000 .word 0x640a0000 806c030: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806c034: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c038: 4613 mov r3, r2 806c03a: 009b lsls r3, r3, #2 806c03c: 4413 add r3, r2 806c03e: 009b lsls r3, r3, #2 806c040: 461a mov r2, r3 806c042: 4ba6 ldr r3, [pc, #664] ; (806c2dc ) 806c044: 4413 add r3, r2 806c046: 461a mov r2, r3 806c048: 4ba5 ldr r3, [pc, #660] ; (806c2e0 ) 806c04a: 461c mov r4, r3 806c04c: 4615 mov r5, r2 806c04e: cd0f ldmia r5!, {r0, r1, r2, r3} 806c050: c40f stmia r4!, {r0, r1, r2, r3} 806c052: 682b ldr r3, [r5, #0] 806c054: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c056: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c05a: 4613 mov r3, r2 806c05c: 009b lsls r3, r3, #2 806c05e: 4413 add r3, r2 806c060: 009b lsls r3, r3, #2 806c062: 461a mov r2, r3 806c064: 4b9d ldr r3, [pc, #628] ; (806c2dc ) 806c066: 4413 add r3, r2 806c068: 461a mov r2, r3 806c06a: 4b9e ldr r3, [pc, #632] ; (806c2e4 ) 806c06c: 461c mov r4, r3 806c06e: 4615 mov r5, r2 806c070: cd0f ldmia r5!, {r0, r1, r2, r3} 806c072: c40f stmia r4!, {r0, r1, r2, r3} 806c074: 682b ldr r3, [r5, #0] 806c076: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806c078: 4b99 ldr r3, [pc, #612] ; (806c2e0 ) 806c07a: 68da ldr r2, [r3, #12] 806c07c: 4b99 ldr r3, [pc, #612] ; (806c2e4 ) 806c07e: 68db ldr r3, [r3, #12] 806c080: 429a cmp r2, r3 806c082: d23a bcs.n 806c0fa { TrendData = TrendRAM_TEMP(j); 806c084: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c088: 4613 mov r3, r2 806c08a: 009b lsls r3, r3, #2 806c08c: 4413 add r3, r2 806c08e: 009b lsls r3, r3, #2 806c090: 461a mov r2, r3 806c092: 4b92 ldr r3, [pc, #584] ; (806c2dc ) 806c094: 4413 add r3, r2 806c096: 461a mov r2, r3 806c098: 4b93 ldr r3, [pc, #588] ; (806c2e8 ) 806c09a: 461c mov r4, r3 806c09c: 4615 mov r5, r2 806c09e: cd0f ldmia r5!, {r0, r1, r2, r3} 806c0a0: c40f stmia r4!, {r0, r1, r2, r3} 806c0a2: 682b ldr r3, [r5, #0] 806c0a4: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c0a6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c0aa: 4613 mov r3, r2 806c0ac: 009b lsls r3, r3, #2 806c0ae: 4413 add r3, r2 806c0b0: 009b lsls r3, r3, #2 806c0b2: 461a mov r2, r3 806c0b4: 4b89 ldr r3, [pc, #548] ; (806c2dc ) 806c0b6: 4413 add r3, r2 806c0b8: 4619 mov r1, r3 806c0ba: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c0be: 4613 mov r3, r2 806c0c0: 009b lsls r3, r3, #2 806c0c2: 4413 add r3, r2 806c0c4: 009b lsls r3, r3, #2 806c0c6: 461a mov r2, r3 806c0c8: 4b84 ldr r3, [pc, #528] ; (806c2dc ) 806c0ca: 4413 add r3, r2 806c0cc: 460c mov r4, r1 806c0ce: 461d mov r5, r3 806c0d0: cd0f ldmia r5!, {r0, r1, r2, r3} 806c0d2: c40f stmia r4!, {r0, r1, r2, r3} 806c0d4: 682b ldr r3, [r5, #0] 806c0d6: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c0d8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c0dc: 4613 mov r3, r2 806c0de: 009b lsls r3, r3, #2 806c0e0: 4413 add r3, r2 806c0e2: 009b lsls r3, r3, #2 806c0e4: 461a mov r2, r3 806c0e6: 4b7d ldr r3, [pc, #500] ; (806c2dc ) 806c0e8: 4413 add r3, r2 806c0ea: 461a mov r2, r3 806c0ec: 4b7e ldr r3, [pc, #504] ; (806c2e8 ) 806c0ee: 4614 mov r4, r2 806c0f0: 461d mov r5, r3 806c0f2: cd0f ldmia r5!, {r0, r1, r2, r3} 806c0f4: c40f stmia r4!, {r0, r1, r2, r3} 806c0f6: 682b ldr r3, [r5, #0] 806c0f8: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806c0fa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c0fe: 3301 adds r3, #1 806c100: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c104: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c108: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c10c: 429a cmp r2, r3 806c10e: d391 bcc.n 806c034 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c110: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c114: 3301 adds r3, #1 806c116: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c11a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c11e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c122: 429a cmp r2, r3 806c124: f4ff af66 bcc.w 806bff4 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c128: 4b70 ldr r3, [pc, #448] ; (806c2ec ) 806c12a: f207 424c addw r2, r7, #1100 ; 0x44c 806c12e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c130: 4b6f ldr r3, [pc, #444] ; (806c2f0 ) 806c132: f507 6289 add.w r2, r7, #1096 ; 0x448 806c136: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c138: 2300 movs r3, #0 806c13a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c13e: e049 b.n 806c1d4 { TrendData = TrendRAM_TEMP(i); 806c140: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c144: 4613 mov r3, r2 806c146: 009b lsls r3, r3, #2 806c148: 4413 add r3, r2 806c14a: 009b lsls r3, r3, #2 806c14c: 461a mov r2, r3 806c14e: 4b63 ldr r3, [pc, #396] ; (806c2dc ) 806c150: 4413 add r3, r2 806c152: 461a mov r2, r3 806c154: 4b64 ldr r3, [pc, #400] ; (806c2e8 ) 806c156: 461c mov r4, r3 806c158: 4615 mov r5, r2 806c15a: cd0f ldmia r5!, {r0, r1, r2, r3} 806c15c: c40f stmia r4!, {r0, r1, r2, r3} 806c15e: 682b ldr r3, [r5, #0] 806c160: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806c162: 4b61 ldr r3, [pc, #388] ; (806c2e8 ) 806c164: ed93 7a00 vldr s14, [r3] 806c168: f207 434c addw r3, r7, #1100 ; 0x44c 806c16c: edd3 7a00 vldr s15, [r3] 806c170: eeb4 7ae7 vcmpe.f32 s14, s15 806c174: eef1 fa10 vmrs APSR_nzcv, fpscr 806c178: dd04 ble.n 806c184 806c17a: 4b5b ldr r3, [pc, #364] ; (806c2e8 ) 806c17c: 681b ldr r3, [r3, #0] 806c17e: f207 424c addw r2, r7, #1100 ; 0x44c 806c182: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806c184: 4b58 ldr r3, [pc, #352] ; (806c2e8 ) 806c186: ed93 7a00 vldr s14, [r3] 806c18a: f507 6389 add.w r3, r7, #1096 ; 0x448 806c18e: edd3 7a00 vldr s15, [r3] 806c192: eeb4 7ae7 vcmpe.f32 s14, s15 806c196: eef1 fa10 vmrs APSR_nzcv, fpscr 806c19a: d504 bpl.n 806c1a6 806c19c: 4b52 ldr r3, [pc, #328] ; (806c2e8 ) 806c19e: 681b ldr r3, [r3, #0] 806c1a0: f507 6289 add.w r2, r7, #1096 ; 0x448 806c1a4: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806c1a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c1aa: 009a lsls r2, r3, #2 806c1ac: 4b51 ldr r3, [pc, #324] ; (806c2f4 ) 806c1ae: 4413 add r3, r2 806c1b0: 461a mov r2, r3 806c1b2: 4b4d ldr r3, [pc, #308] ; (806c2e8 ) 806c1b4: 681b ldr r3, [r3, #0] 806c1b6: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c1b8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c1bc: 009a lsls r2, r3, #2 806c1be: 4b47 ldr r3, [pc, #284] ; (806c2dc ) 806c1c0: 4413 add r3, r2 806c1c2: 461a mov r2, r3 806c1c4: 4b48 ldr r3, [pc, #288] ; (806c2e8 ) 806c1c6: 68db ldr r3, [r3, #12] 806c1c8: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c1ca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c1ce: 3301 adds r3, #1 806c1d0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c1d4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c1d8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c1dc: 429a cmp r2, r3 806c1de: d3af bcc.n 806c140 806c1e0: f001 be1e b.w 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } } else if(menu == TREND_V) 806c1e4: 4b44 ldr r3, [pc, #272] ; (806c2f8 ) 806c1e6: 781b ldrb r3, [r3, #0] 806c1e8: b2db uxtb r3, r3 806c1ea: 2b46 cmp r3, #70 ; 0x46 806c1ec: f040 870a bne.w 806d004 { if(menupos == Trend_pk) 806c1f0: 4b42 ldr r3, [pc, #264] ; (806c2fc ) 806c1f2: 781b ldrb r3, [r3, #0] 806c1f4: b2db uxtb r3, r3 806c1f6: 2b00 cmp r3, #0 806c1f8: f040 8164 bne.w 806c4c4 { if(pardata.LANG == RUS) 806c1fc: 4b40 ldr r3, [pc, #256] ; (806c300 ) 806c1fe: 7b1b ldrb r3, [r3, #12] 806c200: b2db uxtb r3, r3 806c202: 2b00 cmp r3, #0 806c204: d106 bne.n 806c214 BSP_LCD_DisplayStringAt(8, 35, "V(ïèê),ìì/ñ", LEFT_MODE); 806c206: 2303 movs r3, #3 806c208: 4a3e ldr r2, [pc, #248] ; (806c304 ) 806c20a: 2123 movs r1, #35 ; 0x23 806c20c: 2008 movs r0, #8 806c20e: f7e8 fac5 bl 805479c 806c212: e005 b.n 806c220 else BSP_LCD_DisplayStringAt(8, 35, "V(peak),mm/s", LEFT_MODE); 806c214: 2303 movs r3, #3 806c216: 4a3c ldr r2, [pc, #240] ; (806c308 ) 806c218: 2123 movs r1, #35 ; 0x23 806c21a: 2008 movs r0, #8 806c21c: f7e8 fabe bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c220: 2300 movs r3, #0 806c222: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c226: 2300 movs r3, #0 806c228: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c22c: e042 b.n 806c2b4 { TrendData = TrendRAM(i); 806c22e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c232: 4613 mov r3, r2 806c234: 009b lsls r3, r3, #2 806c236: 4413 add r3, r2 806c238: 009b lsls r3, r3, #2 806c23a: 461a mov r2, r3 806c23c: 4b33 ldr r3, [pc, #204] ; (806c30c ) 806c23e: 4413 add r3, r2 806c240: 461a mov r2, r3 806c242: 4b29 ldr r3, [pc, #164] ; (806c2e8 ) 806c244: 461c mov r4, r3 806c246: 4615 mov r5, r2 806c248: cd0f ldmia r5!, {r0, r1, r2, r3} 806c24a: c40f stmia r4!, {r0, r1, r2, r3} 806c24c: 682b ldr r3, [r5, #0] 806c24e: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'P') && (TrendData.Vval.fl != -1.0f)) 806c250: 4b25 ldr r3, [pc, #148] ; (806c2e8 ) 806c252: 7c5b ldrb r3, [r3, #17] 806c254: b2db uxtb r3, r3 806c256: 2b50 cmp r3, #80 ; 0x50 806c258: d127 bne.n 806c2aa 806c25a: 4b23 ldr r3, [pc, #140] ; (806c2e8 ) 806c25c: edd3 7a01 vldr s15, [r3, #4] 806c260: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c264: eef4 7a47 vcmp.f32 s15, s14 806c268: eef1 fa10 vmrs APSR_nzcv, fpscr 806c26c: d01d beq.n 806c2aa { TrendRAM_TEMP(l) = TrendRAM(i); 806c26e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c272: 4613 mov r3, r2 806c274: 009b lsls r3, r3, #2 806c276: 4413 add r3, r2 806c278: 009b lsls r3, r3, #2 806c27a: 461a mov r2, r3 806c27c: 4b17 ldr r3, [pc, #92] ; (806c2dc ) 806c27e: 4413 add r3, r2 806c280: 4619 mov r1, r3 806c282: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c286: 4613 mov r3, r2 806c288: 009b lsls r3, r3, #2 806c28a: 4413 add r3, r2 806c28c: 009b lsls r3, r3, #2 806c28e: 461a mov r2, r3 806c290: 4b1e ldr r3, [pc, #120] ; (806c30c ) 806c292: 4413 add r3, r2 806c294: 460c mov r4, r1 806c296: 461d mov r5, r3 806c298: cd0f ldmia r5!, {r0, r1, r2, r3} 806c29a: c40f stmia r4!, {r0, r1, r2, r3} 806c29c: 682b ldr r3, [r5, #0] 806c29e: 6023 str r3, [r4, #0] l++; 806c2a0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c2a4: 3301 adds r3, #1 806c2a6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c2aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c2ae: 3301 adds r3, #1 806c2b0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c2b4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c2b8: 4b15 ldr r3, [pc, #84] ; (806c310 ) 806c2ba: 681b ldr r3, [r3, #0] 806c2bc: 429a cmp r2, r3 806c2be: d3b6 bcc.n 806c22e } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c2c0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c2c4: 2b00 cmp r3, #0 806c2c6: f001 85ab beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c2ca: 2300 movs r3, #0 806c2cc: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c2d0: e093 b.n 806c3fa { for(i = j; i < l; i++) 806c2d2: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c2d6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c2da: e083 b.n 806c3e4 806c2dc: 64090000 .word 0x64090000 806c2e0: 2002235c .word 0x2002235c 806c2e4: 20022948 .word 0x20022948 806c2e8: 20021fd0 .word 0x20021fd0 806c2ec: d01502f9 .word 0xd01502f9 806c2f0: 501502f9 .word 0x501502f9 806c2f4: 64080000 .word 0x64080000 806c2f8: 20020fbd .word 0x20020fbd 806c2fc: 20020070 .word 0x20020070 806c300: 20023ea8 .word 0x20023ea8 806c304: 080d3ca4 .word 0x080d3ca4 806c308: 080d3cb0 .word 0x080d3cb0 806c30c: 640a0000 .word 0x640a0000 806c310: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806c314: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c318: 4613 mov r3, r2 806c31a: 009b lsls r3, r3, #2 806c31c: 4413 add r3, r2 806c31e: 009b lsls r3, r3, #2 806c320: 461a mov r2, r3 806c322: 4ba3 ldr r3, [pc, #652] ; (806c5b0 ) 806c324: 4413 add r3, r2 806c326: 461a mov r2, r3 806c328: 4ba2 ldr r3, [pc, #648] ; (806c5b4 ) 806c32a: 461c mov r4, r3 806c32c: 4615 mov r5, r2 806c32e: cd0f ldmia r5!, {r0, r1, r2, r3} 806c330: c40f stmia r4!, {r0, r1, r2, r3} 806c332: 682b ldr r3, [r5, #0] 806c334: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c336: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c33a: 4613 mov r3, r2 806c33c: 009b lsls r3, r3, #2 806c33e: 4413 add r3, r2 806c340: 009b lsls r3, r3, #2 806c342: 461a mov r2, r3 806c344: 4b9a ldr r3, [pc, #616] ; (806c5b0 ) 806c346: 4413 add r3, r2 806c348: 461a mov r2, r3 806c34a: 4b9b ldr r3, [pc, #620] ; (806c5b8 ) 806c34c: 461c mov r4, r3 806c34e: 4615 mov r5, r2 806c350: cd0f ldmia r5!, {r0, r1, r2, r3} 806c352: c40f stmia r4!, {r0, r1, r2, r3} 806c354: 682b ldr r3, [r5, #0] 806c356: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806c358: 4b96 ldr r3, [pc, #600] ; (806c5b4 ) 806c35a: 68da ldr r2, [r3, #12] 806c35c: 4b96 ldr r3, [pc, #600] ; (806c5b8 ) 806c35e: 68db ldr r3, [r3, #12] 806c360: 429a cmp r2, r3 806c362: d23a bcs.n 806c3da { TrendData = TrendRAM_TEMP(j); 806c364: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c368: 4613 mov r3, r2 806c36a: 009b lsls r3, r3, #2 806c36c: 4413 add r3, r2 806c36e: 009b lsls r3, r3, #2 806c370: 461a mov r2, r3 806c372: 4b8f ldr r3, [pc, #572] ; (806c5b0 ) 806c374: 4413 add r3, r2 806c376: 461a mov r2, r3 806c378: 4b90 ldr r3, [pc, #576] ; (806c5bc ) 806c37a: 461c mov r4, r3 806c37c: 4615 mov r5, r2 806c37e: cd0f ldmia r5!, {r0, r1, r2, r3} 806c380: c40f stmia r4!, {r0, r1, r2, r3} 806c382: 682b ldr r3, [r5, #0] 806c384: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c386: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c38a: 4613 mov r3, r2 806c38c: 009b lsls r3, r3, #2 806c38e: 4413 add r3, r2 806c390: 009b lsls r3, r3, #2 806c392: 461a mov r2, r3 806c394: 4b86 ldr r3, [pc, #536] ; (806c5b0 ) 806c396: 4413 add r3, r2 806c398: 4619 mov r1, r3 806c39a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c39e: 4613 mov r3, r2 806c3a0: 009b lsls r3, r3, #2 806c3a2: 4413 add r3, r2 806c3a4: 009b lsls r3, r3, #2 806c3a6: 461a mov r2, r3 806c3a8: 4b81 ldr r3, [pc, #516] ; (806c5b0 ) 806c3aa: 4413 add r3, r2 806c3ac: 460c mov r4, r1 806c3ae: 461d mov r5, r3 806c3b0: cd0f ldmia r5!, {r0, r1, r2, r3} 806c3b2: c40f stmia r4!, {r0, r1, r2, r3} 806c3b4: 682b ldr r3, [r5, #0] 806c3b6: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c3b8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c3bc: 4613 mov r3, r2 806c3be: 009b lsls r3, r3, #2 806c3c0: 4413 add r3, r2 806c3c2: 009b lsls r3, r3, #2 806c3c4: 461a mov r2, r3 806c3c6: 4b7a ldr r3, [pc, #488] ; (806c5b0 ) 806c3c8: 4413 add r3, r2 806c3ca: 461a mov r2, r3 806c3cc: 4b7b ldr r3, [pc, #492] ; (806c5bc ) 806c3ce: 4614 mov r4, r2 806c3d0: 461d mov r5, r3 806c3d2: cd0f ldmia r5!, {r0, r1, r2, r3} 806c3d4: c40f stmia r4!, {r0, r1, r2, r3} 806c3d6: 682b ldr r3, [r5, #0] 806c3d8: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806c3da: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c3de: 3301 adds r3, #1 806c3e0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c3e4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c3e8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c3ec: 429a cmp r2, r3 806c3ee: d391 bcc.n 806c314 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c3f0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c3f4: 3301 adds r3, #1 806c3f6: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c3fa: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c3fe: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c402: 429a cmp r2, r3 806c404: f4ff af65 bcc.w 806c2d2 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c408: 4b6d ldr r3, [pc, #436] ; (806c5c0 ) 806c40a: f207 424c addw r2, r7, #1100 ; 0x44c 806c40e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c410: 4b6c ldr r3, [pc, #432] ; (806c5c4 ) 806c412: f507 6289 add.w r2, r7, #1096 ; 0x448 806c416: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c418: 2300 movs r3, #0 806c41a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c41e: e049 b.n 806c4b4 { TrendData = TrendRAM_TEMP(i); 806c420: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c424: 4613 mov r3, r2 806c426: 009b lsls r3, r3, #2 806c428: 4413 add r3, r2 806c42a: 009b lsls r3, r3, #2 806c42c: 461a mov r2, r3 806c42e: 4b60 ldr r3, [pc, #384] ; (806c5b0 ) 806c430: 4413 add r3, r2 806c432: 461a mov r2, r3 806c434: 4b61 ldr r3, [pc, #388] ; (806c5bc ) 806c436: 461c mov r4, r3 806c438: 4615 mov r5, r2 806c43a: cd0f ldmia r5!, {r0, r1, r2, r3} 806c43c: c40f stmia r4!, {r0, r1, r2, r3} 806c43e: 682b ldr r3, [r5, #0] 806c440: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806c442: 4b5e ldr r3, [pc, #376] ; (806c5bc ) 806c444: ed93 7a01 vldr s14, [r3, #4] 806c448: f207 434c addw r3, r7, #1100 ; 0x44c 806c44c: edd3 7a00 vldr s15, [r3] 806c450: eeb4 7ae7 vcmpe.f32 s14, s15 806c454: eef1 fa10 vmrs APSR_nzcv, fpscr 806c458: dd04 ble.n 806c464 806c45a: 4b58 ldr r3, [pc, #352] ; (806c5bc ) 806c45c: 685b ldr r3, [r3, #4] 806c45e: f207 424c addw r2, r7, #1100 ; 0x44c 806c462: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806c464: 4b55 ldr r3, [pc, #340] ; (806c5bc ) 806c466: ed93 7a01 vldr s14, [r3, #4] 806c46a: f507 6389 add.w r3, r7, #1096 ; 0x448 806c46e: edd3 7a00 vldr s15, [r3] 806c472: eeb4 7ae7 vcmpe.f32 s14, s15 806c476: eef1 fa10 vmrs APSR_nzcv, fpscr 806c47a: d504 bpl.n 806c486 806c47c: 4b4f ldr r3, [pc, #316] ; (806c5bc ) 806c47e: 685b ldr r3, [r3, #4] 806c480: f507 6289 add.w r2, r7, #1096 ; 0x448 806c484: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806c486: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c48a: 009a lsls r2, r3, #2 806c48c: 4b4e ldr r3, [pc, #312] ; (806c5c8 ) 806c48e: 4413 add r3, r2 806c490: 461a mov r2, r3 806c492: 4b4a ldr r3, [pc, #296] ; (806c5bc ) 806c494: 685b ldr r3, [r3, #4] 806c496: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c498: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c49c: 009a lsls r2, r3, #2 806c49e: 4b44 ldr r3, [pc, #272] ; (806c5b0 ) 806c4a0: 4413 add r3, r2 806c4a2: 461a mov r2, r3 806c4a4: 4b45 ldr r3, [pc, #276] ; (806c5bc ) 806c4a6: 68db ldr r3, [r3, #12] 806c4a8: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c4aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c4ae: 3301 adds r3, #1 806c4b0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c4b4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c4b8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c4bc: 429a cmp r2, r3 806c4be: d3af bcc.n 806c420 806c4c0: f001 bcae b.w 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_rms) 806c4c4: 4b41 ldr r3, [pc, #260] ; (806c5cc ) 806c4c6: 781b ldrb r3, [r3, #0] 806c4c8: b2db uxtb r3, r3 806c4ca: 2b01 cmp r3, #1 806c4cc: f040 8162 bne.w 806c794 { if(pardata.LANG == RUS) 806c4d0: 4b3f ldr r3, [pc, #252] ; (806c5d0 ) 806c4d2: 7b1b ldrb r3, [r3, #12] 806c4d4: b2db uxtb r3, r3 806c4d6: 2b00 cmp r3, #0 806c4d8: d106 bne.n 806c4e8 BSP_LCD_DisplayStringAt(8, 35, "V(ñêç),ìì/ñ", LEFT_MODE); 806c4da: 2303 movs r3, #3 806c4dc: 4a3d ldr r2, [pc, #244] ; (806c5d4 ) 806c4de: 2123 movs r1, #35 ; 0x23 806c4e0: 2008 movs r0, #8 806c4e2: f7e8 f95b bl 805479c 806c4e6: e005 b.n 806c4f4 else BSP_LCD_DisplayStringAt(8, 35, "V(rms),mm/s", LEFT_MODE); 806c4e8: 2303 movs r3, #3 806c4ea: 4a3b ldr r2, [pc, #236] ; (806c5d8 ) 806c4ec: 2123 movs r1, #35 ; 0x23 806c4ee: 2008 movs r0, #8 806c4f0: f7e8 f954 bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c4f4: 2300 movs r3, #0 806c4f6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c4fa: 2300 movs r3, #0 806c4fc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c500: e042 b.n 806c588 { TrendData = TrendRAM(i); 806c502: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c506: 4613 mov r3, r2 806c508: 009b lsls r3, r3, #2 806c50a: 4413 add r3, r2 806c50c: 009b lsls r3, r3, #2 806c50e: 461a mov r2, r3 806c510: 4b32 ldr r3, [pc, #200] ; (806c5dc ) 806c512: 4413 add r3, r2 806c514: 461a mov r2, r3 806c516: 4b29 ldr r3, [pc, #164] ; (806c5bc ) 806c518: 461c mov r4, r3 806c51a: 4615 mov r5, r2 806c51c: cd0f ldmia r5!, {r0, r1, r2, r3} 806c51e: c40f stmia r4!, {r0, r1, r2, r3} 806c520: 682b ldr r3, [r5, #0] 806c522: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'S') && (TrendData.Vval.fl != -1.0f)) 806c524: 4b25 ldr r3, [pc, #148] ; (806c5bc ) 806c526: 7c5b ldrb r3, [r3, #17] 806c528: b2db uxtb r3, r3 806c52a: 2b53 cmp r3, #83 ; 0x53 806c52c: d127 bne.n 806c57e 806c52e: 4b23 ldr r3, [pc, #140] ; (806c5bc ) 806c530: edd3 7a01 vldr s15, [r3, #4] 806c534: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c538: eef4 7a47 vcmp.f32 s15, s14 806c53c: eef1 fa10 vmrs APSR_nzcv, fpscr 806c540: d01d beq.n 806c57e { TrendRAM_TEMP(l) = TrendRAM(i); 806c542: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c546: 4613 mov r3, r2 806c548: 009b lsls r3, r3, #2 806c54a: 4413 add r3, r2 806c54c: 009b lsls r3, r3, #2 806c54e: 461a mov r2, r3 806c550: 4b17 ldr r3, [pc, #92] ; (806c5b0 ) 806c552: 4413 add r3, r2 806c554: 4619 mov r1, r3 806c556: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c55a: 4613 mov r3, r2 806c55c: 009b lsls r3, r3, #2 806c55e: 4413 add r3, r2 806c560: 009b lsls r3, r3, #2 806c562: 461a mov r2, r3 806c564: 4b1d ldr r3, [pc, #116] ; (806c5dc ) 806c566: 4413 add r3, r2 806c568: 460c mov r4, r1 806c56a: 461d mov r5, r3 806c56c: cd0f ldmia r5!, {r0, r1, r2, r3} 806c56e: c40f stmia r4!, {r0, r1, r2, r3} 806c570: 682b ldr r3, [r5, #0] 806c572: 6023 str r3, [r4, #0] l++; 806c574: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c578: 3301 adds r3, #1 806c57a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c57e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c582: 3301 adds r3, #1 806c584: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c588: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c58c: 4b14 ldr r3, [pc, #80] ; (806c5e0 ) 806c58e: 681b ldr r3, [r3, #0] 806c590: 429a cmp r2, r3 806c592: d3b6 bcc.n 806c502 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c594: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c598: 2b00 cmp r3, #0 806c59a: f001 8441 beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c59e: 2300 movs r3, #0 806c5a0: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c5a4: e091 b.n 806c6ca { for(i = j; i < l; i++) 806c5a6: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c5aa: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c5ae: e081 b.n 806c6b4 806c5b0: 64090000 .word 0x64090000 806c5b4: 2002235c .word 0x2002235c 806c5b8: 20022948 .word 0x20022948 806c5bc: 20021fd0 .word 0x20021fd0 806c5c0: d01502f9 .word 0xd01502f9 806c5c4: 501502f9 .word 0x501502f9 806c5c8: 64080000 .word 0x64080000 806c5cc: 20020070 .word 0x20020070 806c5d0: 20023ea8 .word 0x20023ea8 806c5d4: 080d3cc0 .word 0x080d3cc0 806c5d8: 080d3ccc .word 0x080d3ccc 806c5dc: 640a0000 .word 0x640a0000 806c5e0: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806c5e4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c5e8: 4613 mov r3, r2 806c5ea: 009b lsls r3, r3, #2 806c5ec: 4413 add r3, r2 806c5ee: 009b lsls r3, r3, #2 806c5f0: 461a mov r2, r3 806c5f2: 4ba3 ldr r3, [pc, #652] ; (806c880 ) 806c5f4: 4413 add r3, r2 806c5f6: 461a mov r2, r3 806c5f8: 4ba2 ldr r3, [pc, #648] ; (806c884 ) 806c5fa: 461c mov r4, r3 806c5fc: 4615 mov r5, r2 806c5fe: cd0f ldmia r5!, {r0, r1, r2, r3} 806c600: c40f stmia r4!, {r0, r1, r2, r3} 806c602: 682b ldr r3, [r5, #0] 806c604: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c606: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c60a: 4613 mov r3, r2 806c60c: 009b lsls r3, r3, #2 806c60e: 4413 add r3, r2 806c610: 009b lsls r3, r3, #2 806c612: 461a mov r2, r3 806c614: 4b9a ldr r3, [pc, #616] ; (806c880 ) 806c616: 4413 add r3, r2 806c618: 461a mov r2, r3 806c61a: 4b9b ldr r3, [pc, #620] ; (806c888 ) 806c61c: 461c mov r4, r3 806c61e: 4615 mov r5, r2 806c620: cd0f ldmia r5!, {r0, r1, r2, r3} 806c622: c40f stmia r4!, {r0, r1, r2, r3} 806c624: 682b ldr r3, [r5, #0] 806c626: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806c628: 4b96 ldr r3, [pc, #600] ; (806c884 ) 806c62a: 68da ldr r2, [r3, #12] 806c62c: 4b96 ldr r3, [pc, #600] ; (806c888 ) 806c62e: 68db ldr r3, [r3, #12] 806c630: 429a cmp r2, r3 806c632: d23a bcs.n 806c6aa { TrendData = TrendRAM_TEMP(j); 806c634: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c638: 4613 mov r3, r2 806c63a: 009b lsls r3, r3, #2 806c63c: 4413 add r3, r2 806c63e: 009b lsls r3, r3, #2 806c640: 461a mov r2, r3 806c642: 4b8f ldr r3, [pc, #572] ; (806c880 ) 806c644: 4413 add r3, r2 806c646: 461a mov r2, r3 806c648: 4b90 ldr r3, [pc, #576] ; (806c88c ) 806c64a: 461c mov r4, r3 806c64c: 4615 mov r5, r2 806c64e: cd0f ldmia r5!, {r0, r1, r2, r3} 806c650: c40f stmia r4!, {r0, r1, r2, r3} 806c652: 682b ldr r3, [r5, #0] 806c654: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c656: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c65a: 4613 mov r3, r2 806c65c: 009b lsls r3, r3, #2 806c65e: 4413 add r3, r2 806c660: 009b lsls r3, r3, #2 806c662: 461a mov r2, r3 806c664: 4b86 ldr r3, [pc, #536] ; (806c880 ) 806c666: 4413 add r3, r2 806c668: 4619 mov r1, r3 806c66a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c66e: 4613 mov r3, r2 806c670: 009b lsls r3, r3, #2 806c672: 4413 add r3, r2 806c674: 009b lsls r3, r3, #2 806c676: 461a mov r2, r3 806c678: 4b81 ldr r3, [pc, #516] ; (806c880 ) 806c67a: 4413 add r3, r2 806c67c: 460c mov r4, r1 806c67e: 461d mov r5, r3 806c680: cd0f ldmia r5!, {r0, r1, r2, r3} 806c682: c40f stmia r4!, {r0, r1, r2, r3} 806c684: 682b ldr r3, [r5, #0] 806c686: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c688: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c68c: 4613 mov r3, r2 806c68e: 009b lsls r3, r3, #2 806c690: 4413 add r3, r2 806c692: 009b lsls r3, r3, #2 806c694: 461a mov r2, r3 806c696: 4b7a ldr r3, [pc, #488] ; (806c880 ) 806c698: 4413 add r3, r2 806c69a: 461a mov r2, r3 806c69c: 4b7b ldr r3, [pc, #492] ; (806c88c ) 806c69e: 4614 mov r4, r2 806c6a0: 461d mov r5, r3 806c6a2: cd0f ldmia r5!, {r0, r1, r2, r3} 806c6a4: c40f stmia r4!, {r0, r1, r2, r3} 806c6a6: 682b ldr r3, [r5, #0] 806c6a8: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806c6aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c6ae: 3301 adds r3, #1 806c6b0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c6b4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c6b8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c6bc: 429a cmp r2, r3 806c6be: d391 bcc.n 806c5e4 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c6c0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c6c4: 3301 adds r3, #1 806c6c6: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c6ca: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c6ce: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c6d2: 429a cmp r2, r3 806c6d4: f4ff af67 bcc.w 806c5a6 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c6d8: 4b6d ldr r3, [pc, #436] ; (806c890 ) 806c6da: f207 424c addw r2, r7, #1100 ; 0x44c 806c6de: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c6e0: 4b6c ldr r3, [pc, #432] ; (806c894 ) 806c6e2: f507 6289 add.w r2, r7, #1096 ; 0x448 806c6e6: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c6e8: 2300 movs r3, #0 806c6ea: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c6ee: e049 b.n 806c784 { TrendData = TrendRAM_TEMP(i); 806c6f0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c6f4: 4613 mov r3, r2 806c6f6: 009b lsls r3, r3, #2 806c6f8: 4413 add r3, r2 806c6fa: 009b lsls r3, r3, #2 806c6fc: 461a mov r2, r3 806c6fe: 4b60 ldr r3, [pc, #384] ; (806c880 ) 806c700: 4413 add r3, r2 806c702: 461a mov r2, r3 806c704: 4b61 ldr r3, [pc, #388] ; (806c88c ) 806c706: 461c mov r4, r3 806c708: 4615 mov r5, r2 806c70a: cd0f ldmia r5!, {r0, r1, r2, r3} 806c70c: c40f stmia r4!, {r0, r1, r2, r3} 806c70e: 682b ldr r3, [r5, #0] 806c710: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806c712: 4b5e ldr r3, [pc, #376] ; (806c88c ) 806c714: ed93 7a01 vldr s14, [r3, #4] 806c718: f207 434c addw r3, r7, #1100 ; 0x44c 806c71c: edd3 7a00 vldr s15, [r3] 806c720: eeb4 7ae7 vcmpe.f32 s14, s15 806c724: eef1 fa10 vmrs APSR_nzcv, fpscr 806c728: dd04 ble.n 806c734 806c72a: 4b58 ldr r3, [pc, #352] ; (806c88c ) 806c72c: 685b ldr r3, [r3, #4] 806c72e: f207 424c addw r2, r7, #1100 ; 0x44c 806c732: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806c734: 4b55 ldr r3, [pc, #340] ; (806c88c ) 806c736: ed93 7a01 vldr s14, [r3, #4] 806c73a: f507 6389 add.w r3, r7, #1096 ; 0x448 806c73e: edd3 7a00 vldr s15, [r3] 806c742: eeb4 7ae7 vcmpe.f32 s14, s15 806c746: eef1 fa10 vmrs APSR_nzcv, fpscr 806c74a: d504 bpl.n 806c756 806c74c: 4b4f ldr r3, [pc, #316] ; (806c88c ) 806c74e: 685b ldr r3, [r3, #4] 806c750: f507 6289 add.w r2, r7, #1096 ; 0x448 806c754: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806c756: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c75a: 009a lsls r2, r3, #2 806c75c: 4b4e ldr r3, [pc, #312] ; (806c898 ) 806c75e: 4413 add r3, r2 806c760: 461a mov r2, r3 806c762: 4b4a ldr r3, [pc, #296] ; (806c88c ) 806c764: 685b ldr r3, [r3, #4] 806c766: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c768: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c76c: 009a lsls r2, r3, #2 806c76e: 4b44 ldr r3, [pc, #272] ; (806c880 ) 806c770: 4413 add r3, r2 806c772: 461a mov r2, r3 806c774: 4b45 ldr r3, [pc, #276] ; (806c88c ) 806c776: 68db ldr r3, [r3, #12] 806c778: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c77a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c77e: 3301 adds r3, #1 806c780: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c784: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c788: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c78c: 429a cmp r2, r3 806c78e: d3af bcc.n 806c6f0 806c790: f001 bb46 b.w 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_pkpk) 806c794: 4b41 ldr r3, [pc, #260] ; (806c89c ) 806c796: 781b ldrb r3, [r3, #0] 806c798: b2db uxtb r3, r3 806c79a: 2b02 cmp r3, #2 806c79c: f040 8162 bne.w 806ca64 { if(pardata.LANG == RUS) 806c7a0: 4b3f ldr r3, [pc, #252] ; (806c8a0 ) 806c7a2: 7b1b ldrb r3, [r3, #12] 806c7a4: b2db uxtb r3, r3 806c7a6: 2b00 cmp r3, #0 806c7a8: d106 bne.n 806c7b8 BSP_LCD_DisplayStringAt(8, 35, "V(ðàçìàõ),ìì/ñ", LEFT_MODE); 806c7aa: 2303 movs r3, #3 806c7ac: 4a3d ldr r2, [pc, #244] ; (806c8a4 ) 806c7ae: 2123 movs r1, #35 ; 0x23 806c7b0: 2008 movs r0, #8 806c7b2: f7e7 fff3 bl 805479c 806c7b6: e005 b.n 806c7c4 else BSP_LCD_DisplayStringAt(8, 35, "V(peak-peak),mm/s", LEFT_MODE); 806c7b8: 2303 movs r3, #3 806c7ba: 4a3b ldr r2, [pc, #236] ; (806c8a8 ) 806c7bc: 2123 movs r1, #35 ; 0x23 806c7be: 2008 movs r0, #8 806c7c0: f7e7 ffec bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c7c4: 2300 movs r3, #0 806c7c6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c7ca: 2300 movs r3, #0 806c7cc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c7d0: e042 b.n 806c858 { TrendData = TrendRAM(i); 806c7d2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c7d6: 4613 mov r3, r2 806c7d8: 009b lsls r3, r3, #2 806c7da: 4413 add r3, r2 806c7dc: 009b lsls r3, r3, #2 806c7de: 461a mov r2, r3 806c7e0: 4b32 ldr r3, [pc, #200] ; (806c8ac ) 806c7e2: 4413 add r3, r2 806c7e4: 461a mov r2, r3 806c7e6: 4b29 ldr r3, [pc, #164] ; (806c88c ) 806c7e8: 461c mov r4, r3 806c7ea: 4615 mov r5, r2 806c7ec: cd0f ldmia r5!, {r0, r1, r2, r3} 806c7ee: c40f stmia r4!, {r0, r1, r2, r3} 806c7f0: 682b ldr r3, [r5, #0] 806c7f2: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'R') && (TrendData.Vval.fl != -1.0f)) 806c7f4: 4b25 ldr r3, [pc, #148] ; (806c88c ) 806c7f6: 7c5b ldrb r3, [r3, #17] 806c7f8: b2db uxtb r3, r3 806c7fa: 2b52 cmp r3, #82 ; 0x52 806c7fc: d127 bne.n 806c84e 806c7fe: 4b23 ldr r3, [pc, #140] ; (806c88c ) 806c800: edd3 7a01 vldr s15, [r3, #4] 806c804: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c808: eef4 7a47 vcmp.f32 s15, s14 806c80c: eef1 fa10 vmrs APSR_nzcv, fpscr 806c810: d01d beq.n 806c84e { TrendRAM_TEMP(l) = TrendRAM(i); 806c812: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c816: 4613 mov r3, r2 806c818: 009b lsls r3, r3, #2 806c81a: 4413 add r3, r2 806c81c: 009b lsls r3, r3, #2 806c81e: 461a mov r2, r3 806c820: 4b17 ldr r3, [pc, #92] ; (806c880 ) 806c822: 4413 add r3, r2 806c824: 4619 mov r1, r3 806c826: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c82a: 4613 mov r3, r2 806c82c: 009b lsls r3, r3, #2 806c82e: 4413 add r3, r2 806c830: 009b lsls r3, r3, #2 806c832: 461a mov r2, r3 806c834: 4b1d ldr r3, [pc, #116] ; (806c8ac ) 806c836: 4413 add r3, r2 806c838: 460c mov r4, r1 806c83a: 461d mov r5, r3 806c83c: cd0f ldmia r5!, {r0, r1, r2, r3} 806c83e: c40f stmia r4!, {r0, r1, r2, r3} 806c840: 682b ldr r3, [r5, #0] 806c842: 6023 str r3, [r4, #0] l++; 806c844: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c848: 3301 adds r3, #1 806c84a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c84e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c852: 3301 adds r3, #1 806c854: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c858: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c85c: 4b14 ldr r3, [pc, #80] ; (806c8b0 ) 806c85e: 681b ldr r3, [r3, #0] 806c860: 429a cmp r2, r3 806c862: d3b6 bcc.n 806c7d2 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c864: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c868: 2b00 cmp r3, #0 806c86a: f001 82d9 beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c86e: 2300 movs r3, #0 806c870: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c874: e091 b.n 806c99a { for(i = j; i < l; i++) 806c876: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c87a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c87e: e081 b.n 806c984 806c880: 64090000 .word 0x64090000 806c884: 2002235c .word 0x2002235c 806c888: 20022948 .word 0x20022948 806c88c: 20021fd0 .word 0x20021fd0 806c890: d01502f9 .word 0xd01502f9 806c894: 501502f9 .word 0x501502f9 806c898: 64080000 .word 0x64080000 806c89c: 20020070 .word 0x20020070 806c8a0: 20023ea8 .word 0x20023ea8 806c8a4: 080d3cd8 .word 0x080d3cd8 806c8a8: 080d3ce8 .word 0x080d3ce8 806c8ac: 640a0000 .word 0x640a0000 806c8b0: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806c8b4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c8b8: 4613 mov r3, r2 806c8ba: 009b lsls r3, r3, #2 806c8bc: 4413 add r3, r2 806c8be: 009b lsls r3, r3, #2 806c8c0: 461a mov r2, r3 806c8c2: 4ba3 ldr r3, [pc, #652] ; (806cb50 ) 806c8c4: 4413 add r3, r2 806c8c6: 461a mov r2, r3 806c8c8: 4ba2 ldr r3, [pc, #648] ; (806cb54 ) 806c8ca: 461c mov r4, r3 806c8cc: 4615 mov r5, r2 806c8ce: cd0f ldmia r5!, {r0, r1, r2, r3} 806c8d0: c40f stmia r4!, {r0, r1, r2, r3} 806c8d2: 682b ldr r3, [r5, #0] 806c8d4: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c8d6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c8da: 4613 mov r3, r2 806c8dc: 009b lsls r3, r3, #2 806c8de: 4413 add r3, r2 806c8e0: 009b lsls r3, r3, #2 806c8e2: 461a mov r2, r3 806c8e4: 4b9a ldr r3, [pc, #616] ; (806cb50 ) 806c8e6: 4413 add r3, r2 806c8e8: 461a mov r2, r3 806c8ea: 4b9b ldr r3, [pc, #620] ; (806cb58 ) 806c8ec: 461c mov r4, r3 806c8ee: 4615 mov r5, r2 806c8f0: cd0f ldmia r5!, {r0, r1, r2, r3} 806c8f2: c40f stmia r4!, {r0, r1, r2, r3} 806c8f4: 682b ldr r3, [r5, #0] 806c8f6: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806c8f8: 4b96 ldr r3, [pc, #600] ; (806cb54 ) 806c8fa: 68da ldr r2, [r3, #12] 806c8fc: 4b96 ldr r3, [pc, #600] ; (806cb58 ) 806c8fe: 68db ldr r3, [r3, #12] 806c900: 429a cmp r2, r3 806c902: d23a bcs.n 806c97a { TrendData = TrendRAM_TEMP(j); 806c904: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c908: 4613 mov r3, r2 806c90a: 009b lsls r3, r3, #2 806c90c: 4413 add r3, r2 806c90e: 009b lsls r3, r3, #2 806c910: 461a mov r2, r3 806c912: 4b8f ldr r3, [pc, #572] ; (806cb50 ) 806c914: 4413 add r3, r2 806c916: 461a mov r2, r3 806c918: 4b90 ldr r3, [pc, #576] ; (806cb5c ) 806c91a: 461c mov r4, r3 806c91c: 4615 mov r5, r2 806c91e: cd0f ldmia r5!, {r0, r1, r2, r3} 806c920: c40f stmia r4!, {r0, r1, r2, r3} 806c922: 682b ldr r3, [r5, #0] 806c924: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c926: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c92a: 4613 mov r3, r2 806c92c: 009b lsls r3, r3, #2 806c92e: 4413 add r3, r2 806c930: 009b lsls r3, r3, #2 806c932: 461a mov r2, r3 806c934: 4b86 ldr r3, [pc, #536] ; (806cb50 ) 806c936: 4413 add r3, r2 806c938: 4619 mov r1, r3 806c93a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c93e: 4613 mov r3, r2 806c940: 009b lsls r3, r3, #2 806c942: 4413 add r3, r2 806c944: 009b lsls r3, r3, #2 806c946: 461a mov r2, r3 806c948: 4b81 ldr r3, [pc, #516] ; (806cb50 ) 806c94a: 4413 add r3, r2 806c94c: 460c mov r4, r1 806c94e: 461d mov r5, r3 806c950: cd0f ldmia r5!, {r0, r1, r2, r3} 806c952: c40f stmia r4!, {r0, r1, r2, r3} 806c954: 682b ldr r3, [r5, #0] 806c956: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c958: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c95c: 4613 mov r3, r2 806c95e: 009b lsls r3, r3, #2 806c960: 4413 add r3, r2 806c962: 009b lsls r3, r3, #2 806c964: 461a mov r2, r3 806c966: 4b7a ldr r3, [pc, #488] ; (806cb50 ) 806c968: 4413 add r3, r2 806c96a: 461a mov r2, r3 806c96c: 4b7b ldr r3, [pc, #492] ; (806cb5c ) 806c96e: 4614 mov r4, r2 806c970: 461d mov r5, r3 806c972: cd0f ldmia r5!, {r0, r1, r2, r3} 806c974: c40f stmia r4!, {r0, r1, r2, r3} 806c976: 682b ldr r3, [r5, #0] 806c978: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806c97a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c97e: 3301 adds r3, #1 806c980: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c984: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c988: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c98c: 429a cmp r2, r3 806c98e: d391 bcc.n 806c8b4 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c990: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c994: 3301 adds r3, #1 806c996: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c99a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c99e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c9a2: 429a cmp r2, r3 806c9a4: f4ff af67 bcc.w 806c876 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c9a8: 4b6d ldr r3, [pc, #436] ; (806cb60 ) 806c9aa: f207 424c addw r2, r7, #1100 ; 0x44c 806c9ae: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c9b0: 4b6c ldr r3, [pc, #432] ; (806cb64 ) 806c9b2: f507 6289 add.w r2, r7, #1096 ; 0x448 806c9b6: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c9b8: 2300 movs r3, #0 806c9ba: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c9be: e049 b.n 806ca54 { TrendData = TrendRAM_TEMP(i); 806c9c0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c9c4: 4613 mov r3, r2 806c9c6: 009b lsls r3, r3, #2 806c9c8: 4413 add r3, r2 806c9ca: 009b lsls r3, r3, #2 806c9cc: 461a mov r2, r3 806c9ce: 4b60 ldr r3, [pc, #384] ; (806cb50 ) 806c9d0: 4413 add r3, r2 806c9d2: 461a mov r2, r3 806c9d4: 4b61 ldr r3, [pc, #388] ; (806cb5c ) 806c9d6: 461c mov r4, r3 806c9d8: 4615 mov r5, r2 806c9da: cd0f ldmia r5!, {r0, r1, r2, r3} 806c9dc: c40f stmia r4!, {r0, r1, r2, r3} 806c9de: 682b ldr r3, [r5, #0] 806c9e0: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806c9e2: 4b5e ldr r3, [pc, #376] ; (806cb5c ) 806c9e4: ed93 7a01 vldr s14, [r3, #4] 806c9e8: f207 434c addw r3, r7, #1100 ; 0x44c 806c9ec: edd3 7a00 vldr s15, [r3] 806c9f0: eeb4 7ae7 vcmpe.f32 s14, s15 806c9f4: eef1 fa10 vmrs APSR_nzcv, fpscr 806c9f8: dd04 ble.n 806ca04 806c9fa: 4b58 ldr r3, [pc, #352] ; (806cb5c ) 806c9fc: 685b ldr r3, [r3, #4] 806c9fe: f207 424c addw r2, r7, #1100 ; 0x44c 806ca02: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806ca04: 4b55 ldr r3, [pc, #340] ; (806cb5c ) 806ca06: ed93 7a01 vldr s14, [r3, #4] 806ca0a: f507 6389 add.w r3, r7, #1096 ; 0x448 806ca0e: edd3 7a00 vldr s15, [r3] 806ca12: eeb4 7ae7 vcmpe.f32 s14, s15 806ca16: eef1 fa10 vmrs APSR_nzcv, fpscr 806ca1a: d504 bpl.n 806ca26 806ca1c: 4b4f ldr r3, [pc, #316] ; (806cb5c ) 806ca1e: 685b ldr r3, [r3, #4] 806ca20: f507 6289 add.w r2, r7, #1096 ; 0x448 806ca24: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806ca26: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ca2a: 009a lsls r2, r3, #2 806ca2c: 4b4e ldr r3, [pc, #312] ; (806cb68 ) 806ca2e: 4413 add r3, r2 806ca30: 461a mov r2, r3 806ca32: 4b4a ldr r3, [pc, #296] ; (806cb5c ) 806ca34: 685b ldr r3, [r3, #4] 806ca36: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806ca38: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ca3c: 009a lsls r2, r3, #2 806ca3e: 4b44 ldr r3, [pc, #272] ; (806cb50 ) 806ca40: 4413 add r3, r2 806ca42: 461a mov r2, r3 806ca44: 4b45 ldr r3, [pc, #276] ; (806cb5c ) 806ca46: 68db ldr r3, [r3, #12] 806ca48: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806ca4a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ca4e: 3301 adds r3, #1 806ca50: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ca54: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ca58: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ca5c: 429a cmp r2, r3 806ca5e: d3af bcc.n 806c9c0 806ca60: f001 b9de b.w 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_factor) 806ca64: 4b41 ldr r3, [pc, #260] ; (806cb6c ) 806ca66: 781b ldrb r3, [r3, #0] 806ca68: b2db uxtb r3, r3 806ca6a: 2b03 cmp r3, #3 806ca6c: f040 8162 bne.w 806cd34 { if(pardata.LANG == RUS) 806ca70: 4b3f ldr r3, [pc, #252] ; (806cb70 ) 806ca72: 7b1b ldrb r3, [r3, #12] 806ca74: b2db uxtb r3, r3 806ca76: 2b00 cmp r3, #0 806ca78: d106 bne.n 806ca88 BSP_LCD_DisplayStringAt(8, 35, "V(ïèê-ôàêòîð)", LEFT_MODE); 806ca7a: 2303 movs r3, #3 806ca7c: 4a3d ldr r2, [pc, #244] ; (806cb74 ) 806ca7e: 2123 movs r1, #35 ; 0x23 806ca80: 2008 movs r0, #8 806ca82: f7e7 fe8b bl 805479c 806ca86: e005 b.n 806ca94 else BSP_LCD_DisplayStringAt(8, 35, "V(peak-factor)", LEFT_MODE); 806ca88: 2303 movs r3, #3 806ca8a: 4a3b ldr r2, [pc, #236] ; (806cb78 ) 806ca8c: 2123 movs r1, #35 ; 0x23 806ca8e: 2008 movs r0, #8 806ca90: f7e7 fe84 bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806ca94: 2300 movs r3, #0 806ca96: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806ca9a: 2300 movs r3, #0 806ca9c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806caa0: e042 b.n 806cb28 { TrendData = TrendRAM(i); 806caa2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806caa6: 4613 mov r3, r2 806caa8: 009b lsls r3, r3, #2 806caaa: 4413 add r3, r2 806caac: 009b lsls r3, r3, #2 806caae: 461a mov r2, r3 806cab0: 4b32 ldr r3, [pc, #200] ; (806cb7c ) 806cab2: 4413 add r3, r2 806cab4: 461a mov r2, r3 806cab6: 4b29 ldr r3, [pc, #164] ; (806cb5c ) 806cab8: 461c mov r4, r3 806caba: 4615 mov r5, r2 806cabc: cd0f ldmia r5!, {r0, r1, r2, r3} 806cabe: c40f stmia r4!, {r0, r1, r2, r3} 806cac0: 682b ldr r3, [r5, #0] 806cac2: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'F') && (TrendData.Vval.fl != -1.0f)) 806cac4: 4b25 ldr r3, [pc, #148] ; (806cb5c ) 806cac6: 7c5b ldrb r3, [r3, #17] 806cac8: b2db uxtb r3, r3 806caca: 2b46 cmp r3, #70 ; 0x46 806cacc: d127 bne.n 806cb1e 806cace: 4b23 ldr r3, [pc, #140] ; (806cb5c ) 806cad0: edd3 7a01 vldr s15, [r3, #4] 806cad4: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806cad8: eef4 7a47 vcmp.f32 s15, s14 806cadc: eef1 fa10 vmrs APSR_nzcv, fpscr 806cae0: d01d beq.n 806cb1e { TrendRAM_TEMP(l) = TrendRAM(i); 806cae2: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806cae6: 4613 mov r3, r2 806cae8: 009b lsls r3, r3, #2 806caea: 4413 add r3, r2 806caec: 009b lsls r3, r3, #2 806caee: 461a mov r2, r3 806caf0: 4b17 ldr r3, [pc, #92] ; (806cb50 ) 806caf2: 4413 add r3, r2 806caf4: 4619 mov r1, r3 806caf6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cafa: 4613 mov r3, r2 806cafc: 009b lsls r3, r3, #2 806cafe: 4413 add r3, r2 806cb00: 009b lsls r3, r3, #2 806cb02: 461a mov r2, r3 806cb04: 4b1d ldr r3, [pc, #116] ; (806cb7c ) 806cb06: 4413 add r3, r2 806cb08: 460c mov r4, r1 806cb0a: 461d mov r5, r3 806cb0c: cd0f ldmia r5!, {r0, r1, r2, r3} 806cb0e: c40f stmia r4!, {r0, r1, r2, r3} 806cb10: 682b ldr r3, [r5, #0] 806cb12: 6023 str r3, [r4, #0] l++; 806cb14: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cb18: 3301 adds r3, #1 806cb1a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806cb1e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cb22: 3301 adds r3, #1 806cb24: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cb28: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cb2c: 4b14 ldr r3, [pc, #80] ; (806cb80 ) 806cb2e: 681b ldr r3, [r3, #0] 806cb30: 429a cmp r2, r3 806cb32: d3b6 bcc.n 806caa2 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806cb34: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cb38: 2b00 cmp r3, #0 806cb3a: f001 8171 beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806cb3e: 2300 movs r3, #0 806cb40: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806cb44: e091 b.n 806cc6a { for(i = j; i < l; i++) 806cb46: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806cb4a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cb4e: e081 b.n 806cc54 806cb50: 64090000 .word 0x64090000 806cb54: 2002235c .word 0x2002235c 806cb58: 20022948 .word 0x20022948 806cb5c: 20021fd0 .word 0x20021fd0 806cb60: d01502f9 .word 0xd01502f9 806cb64: 501502f9 .word 0x501502f9 806cb68: 64080000 .word 0x64080000 806cb6c: 20020070 .word 0x20020070 806cb70: 20023ea8 .word 0x20023ea8 806cb74: 080d3cfc .word 0x080d3cfc 806cb78: 080d3d0c .word 0x080d3d0c 806cb7c: 640a0000 .word 0x640a0000 806cb80: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806cb84: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cb88: 4613 mov r3, r2 806cb8a: 009b lsls r3, r3, #2 806cb8c: 4413 add r3, r2 806cb8e: 009b lsls r3, r3, #2 806cb90: 461a mov r2, r3 806cb92: 4ba3 ldr r3, [pc, #652] ; (806ce20 ) 806cb94: 4413 add r3, r2 806cb96: 461a mov r2, r3 806cb98: 4ba2 ldr r3, [pc, #648] ; (806ce24 ) 806cb9a: 461c mov r4, r3 806cb9c: 4615 mov r5, r2 806cb9e: cd0f ldmia r5!, {r0, r1, r2, r3} 806cba0: c40f stmia r4!, {r0, r1, r2, r3} 806cba2: 682b ldr r3, [r5, #0] 806cba4: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806cba6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cbaa: 4613 mov r3, r2 806cbac: 009b lsls r3, r3, #2 806cbae: 4413 add r3, r2 806cbb0: 009b lsls r3, r3, #2 806cbb2: 461a mov r2, r3 806cbb4: 4b9a ldr r3, [pc, #616] ; (806ce20 ) 806cbb6: 4413 add r3, r2 806cbb8: 461a mov r2, r3 806cbba: 4b9b ldr r3, [pc, #620] ; (806ce28 ) 806cbbc: 461c mov r4, r3 806cbbe: 4615 mov r5, r2 806cbc0: cd0f ldmia r5!, {r0, r1, r2, r3} 806cbc2: c40f stmia r4!, {r0, r1, r2, r3} 806cbc4: 682b ldr r3, [r5, #0] 806cbc6: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806cbc8: 4b96 ldr r3, [pc, #600] ; (806ce24 ) 806cbca: 68da ldr r2, [r3, #12] 806cbcc: 4b96 ldr r3, [pc, #600] ; (806ce28 ) 806cbce: 68db ldr r3, [r3, #12] 806cbd0: 429a cmp r2, r3 806cbd2: d23a bcs.n 806cc4a { TrendData = TrendRAM_TEMP(j); 806cbd4: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cbd8: 4613 mov r3, r2 806cbda: 009b lsls r3, r3, #2 806cbdc: 4413 add r3, r2 806cbde: 009b lsls r3, r3, #2 806cbe0: 461a mov r2, r3 806cbe2: 4b8f ldr r3, [pc, #572] ; (806ce20 ) 806cbe4: 4413 add r3, r2 806cbe6: 461a mov r2, r3 806cbe8: 4b90 ldr r3, [pc, #576] ; (806ce2c ) 806cbea: 461c mov r4, r3 806cbec: 4615 mov r5, r2 806cbee: cd0f ldmia r5!, {r0, r1, r2, r3} 806cbf0: c40f stmia r4!, {r0, r1, r2, r3} 806cbf2: 682b ldr r3, [r5, #0] 806cbf4: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806cbf6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cbfa: 4613 mov r3, r2 806cbfc: 009b lsls r3, r3, #2 806cbfe: 4413 add r3, r2 806cc00: 009b lsls r3, r3, #2 806cc02: 461a mov r2, r3 806cc04: 4b86 ldr r3, [pc, #536] ; (806ce20 ) 806cc06: 4413 add r3, r2 806cc08: 4619 mov r1, r3 806cc0a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cc0e: 4613 mov r3, r2 806cc10: 009b lsls r3, r3, #2 806cc12: 4413 add r3, r2 806cc14: 009b lsls r3, r3, #2 806cc16: 461a mov r2, r3 806cc18: 4b81 ldr r3, [pc, #516] ; (806ce20 ) 806cc1a: 4413 add r3, r2 806cc1c: 460c mov r4, r1 806cc1e: 461d mov r5, r3 806cc20: cd0f ldmia r5!, {r0, r1, r2, r3} 806cc22: c40f stmia r4!, {r0, r1, r2, r3} 806cc24: 682b ldr r3, [r5, #0] 806cc26: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806cc28: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cc2c: 4613 mov r3, r2 806cc2e: 009b lsls r3, r3, #2 806cc30: 4413 add r3, r2 806cc32: 009b lsls r3, r3, #2 806cc34: 461a mov r2, r3 806cc36: 4b7a ldr r3, [pc, #488] ; (806ce20 ) 806cc38: 4413 add r3, r2 806cc3a: 461a mov r2, r3 806cc3c: 4b7b ldr r3, [pc, #492] ; (806ce2c ) 806cc3e: 4614 mov r4, r2 806cc40: 461d mov r5, r3 806cc42: cd0f ldmia r5!, {r0, r1, r2, r3} 806cc44: c40f stmia r4!, {r0, r1, r2, r3} 806cc46: 682b ldr r3, [r5, #0] 806cc48: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806cc4a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cc4e: 3301 adds r3, #1 806cc50: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cc54: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cc58: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cc5c: 429a cmp r2, r3 806cc5e: d391 bcc.n 806cb84 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806cc60: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806cc64: 3301 adds r3, #1 806cc66: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806cc6a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cc6e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cc72: 429a cmp r2, r3 806cc74: f4ff af67 bcc.w 806cb46 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806cc78: 4b6d ldr r3, [pc, #436] ; (806ce30 ) 806cc7a: f207 424c addw r2, r7, #1100 ; 0x44c 806cc7e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806cc80: 4b6c ldr r3, [pc, #432] ; (806ce34 ) 806cc82: f507 6289 add.w r2, r7, #1096 ; 0x448 806cc86: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806cc88: 2300 movs r3, #0 806cc8a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cc8e: e049 b.n 806cd24 { TrendData = TrendRAM_TEMP(i); 806cc90: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cc94: 4613 mov r3, r2 806cc96: 009b lsls r3, r3, #2 806cc98: 4413 add r3, r2 806cc9a: 009b lsls r3, r3, #2 806cc9c: 461a mov r2, r3 806cc9e: 4b60 ldr r3, [pc, #384] ; (806ce20 ) 806cca0: 4413 add r3, r2 806cca2: 461a mov r2, r3 806cca4: 4b61 ldr r3, [pc, #388] ; (806ce2c ) 806cca6: 461c mov r4, r3 806cca8: 4615 mov r5, r2 806ccaa: cd0f ldmia r5!, {r0, r1, r2, r3} 806ccac: c40f stmia r4!, {r0, r1, r2, r3} 806ccae: 682b ldr r3, [r5, #0] 806ccb0: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806ccb2: 4b5e ldr r3, [pc, #376] ; (806ce2c ) 806ccb4: ed93 7a01 vldr s14, [r3, #4] 806ccb8: f207 434c addw r3, r7, #1100 ; 0x44c 806ccbc: edd3 7a00 vldr s15, [r3] 806ccc0: eeb4 7ae7 vcmpe.f32 s14, s15 806ccc4: eef1 fa10 vmrs APSR_nzcv, fpscr 806ccc8: dd04 ble.n 806ccd4 806ccca: 4b58 ldr r3, [pc, #352] ; (806ce2c ) 806cccc: 685b ldr r3, [r3, #4] 806ccce: f207 424c addw r2, r7, #1100 ; 0x44c 806ccd2: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806ccd4: 4b55 ldr r3, [pc, #340] ; (806ce2c ) 806ccd6: ed93 7a01 vldr s14, [r3, #4] 806ccda: f507 6389 add.w r3, r7, #1096 ; 0x448 806ccde: edd3 7a00 vldr s15, [r3] 806cce2: eeb4 7ae7 vcmpe.f32 s14, s15 806cce6: eef1 fa10 vmrs APSR_nzcv, fpscr 806ccea: d504 bpl.n 806ccf6 806ccec: 4b4f ldr r3, [pc, #316] ; (806ce2c ) 806ccee: 685b ldr r3, [r3, #4] 806ccf0: f507 6289 add.w r2, r7, #1096 ; 0x448 806ccf4: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806ccf6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ccfa: 009a lsls r2, r3, #2 806ccfc: 4b4e ldr r3, [pc, #312] ; (806ce38 ) 806ccfe: 4413 add r3, r2 806cd00: 461a mov r2, r3 806cd02: 4b4a ldr r3, [pc, #296] ; (806ce2c ) 806cd04: 685b ldr r3, [r3, #4] 806cd06: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806cd08: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cd0c: 009a lsls r2, r3, #2 806cd0e: 4b44 ldr r3, [pc, #272] ; (806ce20 ) 806cd10: 4413 add r3, r2 806cd12: 461a mov r2, r3 806cd14: 4b45 ldr r3, [pc, #276] ; (806ce2c ) 806cd16: 68db ldr r3, [r3, #12] 806cd18: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806cd1a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cd1e: 3301 adds r3, #1 806cd20: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cd24: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cd28: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cd2c: 429a cmp r2, r3 806cd2e: d3af bcc.n 806cc90 806cd30: f001 b876 b.w 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_excess) 806cd34: 4b41 ldr r3, [pc, #260] ; (806ce3c ) 806cd36: 781b ldrb r3, [r3, #0] 806cd38: b2db uxtb r3, r3 806cd3a: 2b04 cmp r3, #4 806cd3c: f041 8070 bne.w 806de20 { if(pardata.LANG == RUS) 806cd40: 4b3f ldr r3, [pc, #252] ; (806ce40 ) 806cd42: 7b1b ldrb r3, [r3, #12] 806cd44: b2db uxtb r3, r3 806cd46: 2b00 cmp r3, #0 806cd48: d106 bne.n 806cd58 BSP_LCD_DisplayStringAt(8, 35, "V(ýêñöåññ)", LEFT_MODE); 806cd4a: 2303 movs r3, #3 806cd4c: 4a3d ldr r2, [pc, #244] ; (806ce44 ) 806cd4e: 2123 movs r1, #35 ; 0x23 806cd50: 2008 movs r0, #8 806cd52: f7e7 fd23 bl 805479c 806cd56: e005 b.n 806cd64 else BSP_LCD_DisplayStringAt(8, 35, "V(excess)", LEFT_MODE); 806cd58: 2303 movs r3, #3 806cd5a: 4a3b ldr r2, [pc, #236] ; (806ce48 ) 806cd5c: 2123 movs r1, #35 ; 0x23 806cd5e: 2008 movs r0, #8 806cd60: f7e7 fd1c bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806cd64: 2300 movs r3, #0 806cd66: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806cd6a: 2300 movs r3, #0 806cd6c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cd70: e042 b.n 806cdf8 { TrendData = TrendRAM(i); 806cd72: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cd76: 4613 mov r3, r2 806cd78: 009b lsls r3, r3, #2 806cd7a: 4413 add r3, r2 806cd7c: 009b lsls r3, r3, #2 806cd7e: 461a mov r2, r3 806cd80: 4b32 ldr r3, [pc, #200] ; (806ce4c ) 806cd82: 4413 add r3, r2 806cd84: 461a mov r2, r3 806cd86: 4b29 ldr r3, [pc, #164] ; (806ce2c ) 806cd88: 461c mov r4, r3 806cd8a: 4615 mov r5, r2 806cd8c: cd0f ldmia r5!, {r0, r1, r2, r3} 806cd8e: c40f stmia r4!, {r0, r1, r2, r3} 806cd90: 682b ldr r3, [r5, #0] 806cd92: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'E') && (TrendData.Vval.fl != -1.0f)) 806cd94: 4b25 ldr r3, [pc, #148] ; (806ce2c ) 806cd96: 7c5b ldrb r3, [r3, #17] 806cd98: b2db uxtb r3, r3 806cd9a: 2b45 cmp r3, #69 ; 0x45 806cd9c: d127 bne.n 806cdee 806cd9e: 4b23 ldr r3, [pc, #140] ; (806ce2c ) 806cda0: edd3 7a01 vldr s15, [r3, #4] 806cda4: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806cda8: eef4 7a47 vcmp.f32 s15, s14 806cdac: eef1 fa10 vmrs APSR_nzcv, fpscr 806cdb0: d01d beq.n 806cdee { TrendRAM_TEMP(l) = TrendRAM(i); 806cdb2: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806cdb6: 4613 mov r3, r2 806cdb8: 009b lsls r3, r3, #2 806cdba: 4413 add r3, r2 806cdbc: 009b lsls r3, r3, #2 806cdbe: 461a mov r2, r3 806cdc0: 4b17 ldr r3, [pc, #92] ; (806ce20 ) 806cdc2: 4413 add r3, r2 806cdc4: 4619 mov r1, r3 806cdc6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cdca: 4613 mov r3, r2 806cdcc: 009b lsls r3, r3, #2 806cdce: 4413 add r3, r2 806cdd0: 009b lsls r3, r3, #2 806cdd2: 461a mov r2, r3 806cdd4: 4b1d ldr r3, [pc, #116] ; (806ce4c ) 806cdd6: 4413 add r3, r2 806cdd8: 460c mov r4, r1 806cdda: 461d mov r5, r3 806cddc: cd0f ldmia r5!, {r0, r1, r2, r3} 806cdde: c40f stmia r4!, {r0, r1, r2, r3} 806cde0: 682b ldr r3, [r5, #0] 806cde2: 6023 str r3, [r4, #0] l++; 806cde4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cde8: 3301 adds r3, #1 806cdea: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806cdee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cdf2: 3301 adds r3, #1 806cdf4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cdf8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cdfc: 4b14 ldr r3, [pc, #80] ; (806ce50 ) 806cdfe: 681b ldr r3, [r3, #0] 806ce00: 429a cmp r2, r3 806ce02: d3b6 bcc.n 806cd72 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806ce04: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ce08: 2b00 cmp r3, #0 806ce0a: f001 8009 beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806ce0e: 2300 movs r3, #0 806ce10: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ce14: e091 b.n 806cf3a { for(i = j; i < l; i++) 806ce16: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ce1a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ce1e: e081 b.n 806cf24 806ce20: 64090000 .word 0x64090000 806ce24: 2002235c .word 0x2002235c 806ce28: 20022948 .word 0x20022948 806ce2c: 20021fd0 .word 0x20021fd0 806ce30: d01502f9 .word 0xd01502f9 806ce34: 501502f9 .word 0x501502f9 806ce38: 64080000 .word 0x64080000 806ce3c: 20020070 .word 0x20020070 806ce40: 20023ea8 .word 0x20023ea8 806ce44: 080d3d1c .word 0x080d3d1c 806ce48: 080d3d28 .word 0x080d3d28 806ce4c: 640a0000 .word 0x640a0000 806ce50: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806ce54: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ce58: 4613 mov r3, r2 806ce5a: 009b lsls r3, r3, #2 806ce5c: 4413 add r3, r2 806ce5e: 009b lsls r3, r3, #2 806ce60: 461a mov r2, r3 806ce62: 4ba6 ldr r3, [pc, #664] ; (806d0fc ) 806ce64: 4413 add r3, r2 806ce66: 461a mov r2, r3 806ce68: 4ba5 ldr r3, [pc, #660] ; (806d100 ) 806ce6a: 461c mov r4, r3 806ce6c: 4615 mov r5, r2 806ce6e: cd0f ldmia r5!, {r0, r1, r2, r3} 806ce70: c40f stmia r4!, {r0, r1, r2, r3} 806ce72: 682b ldr r3, [r5, #0] 806ce74: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806ce76: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ce7a: 4613 mov r3, r2 806ce7c: 009b lsls r3, r3, #2 806ce7e: 4413 add r3, r2 806ce80: 009b lsls r3, r3, #2 806ce82: 461a mov r2, r3 806ce84: 4b9d ldr r3, [pc, #628] ; (806d0fc ) 806ce86: 4413 add r3, r2 806ce88: 461a mov r2, r3 806ce8a: 4b9e ldr r3, [pc, #632] ; (806d104 ) 806ce8c: 461c mov r4, r3 806ce8e: 4615 mov r5, r2 806ce90: cd0f ldmia r5!, {r0, r1, r2, r3} 806ce92: c40f stmia r4!, {r0, r1, r2, r3} 806ce94: 682b ldr r3, [r5, #0] 806ce96: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806ce98: 4b99 ldr r3, [pc, #612] ; (806d100 ) 806ce9a: 68da ldr r2, [r3, #12] 806ce9c: 4b99 ldr r3, [pc, #612] ; (806d104 ) 806ce9e: 68db ldr r3, [r3, #12] 806cea0: 429a cmp r2, r3 806cea2: d23a bcs.n 806cf1a { TrendData = TrendRAM_TEMP(j); 806cea4: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cea8: 4613 mov r3, r2 806ceaa: 009b lsls r3, r3, #2 806ceac: 4413 add r3, r2 806ceae: 009b lsls r3, r3, #2 806ceb0: 461a mov r2, r3 806ceb2: 4b92 ldr r3, [pc, #584] ; (806d0fc ) 806ceb4: 4413 add r3, r2 806ceb6: 461a mov r2, r3 806ceb8: 4b93 ldr r3, [pc, #588] ; (806d108 ) 806ceba: 461c mov r4, r3 806cebc: 4615 mov r5, r2 806cebe: cd0f ldmia r5!, {r0, r1, r2, r3} 806cec0: c40f stmia r4!, {r0, r1, r2, r3} 806cec2: 682b ldr r3, [r5, #0] 806cec4: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806cec6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ceca: 4613 mov r3, r2 806cecc: 009b lsls r3, r3, #2 806cece: 4413 add r3, r2 806ced0: 009b lsls r3, r3, #2 806ced2: 461a mov r2, r3 806ced4: 4b89 ldr r3, [pc, #548] ; (806d0fc ) 806ced6: 4413 add r3, r2 806ced8: 4619 mov r1, r3 806ceda: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cede: 4613 mov r3, r2 806cee0: 009b lsls r3, r3, #2 806cee2: 4413 add r3, r2 806cee4: 009b lsls r3, r3, #2 806cee6: 461a mov r2, r3 806cee8: 4b84 ldr r3, [pc, #528] ; (806d0fc ) 806ceea: 4413 add r3, r2 806ceec: 460c mov r4, r1 806ceee: 461d mov r5, r3 806cef0: cd0f ldmia r5!, {r0, r1, r2, r3} 806cef2: c40f stmia r4!, {r0, r1, r2, r3} 806cef4: 682b ldr r3, [r5, #0] 806cef6: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806cef8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cefc: 4613 mov r3, r2 806cefe: 009b lsls r3, r3, #2 806cf00: 4413 add r3, r2 806cf02: 009b lsls r3, r3, #2 806cf04: 461a mov r2, r3 806cf06: 4b7d ldr r3, [pc, #500] ; (806d0fc ) 806cf08: 4413 add r3, r2 806cf0a: 461a mov r2, r3 806cf0c: 4b7e ldr r3, [pc, #504] ; (806d108 ) 806cf0e: 4614 mov r4, r2 806cf10: 461d mov r5, r3 806cf12: cd0f ldmia r5!, {r0, r1, r2, r3} 806cf14: c40f stmia r4!, {r0, r1, r2, r3} 806cf16: 682b ldr r3, [r5, #0] 806cf18: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806cf1a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cf1e: 3301 adds r3, #1 806cf20: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cf24: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cf28: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cf2c: 429a cmp r2, r3 806cf2e: d391 bcc.n 806ce54 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806cf30: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806cf34: 3301 adds r3, #1 806cf36: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806cf3a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cf3e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cf42: 429a cmp r2, r3 806cf44: f4ff af67 bcc.w 806ce16 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806cf48: 4b70 ldr r3, [pc, #448] ; (806d10c ) 806cf4a: f207 424c addw r2, r7, #1100 ; 0x44c 806cf4e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806cf50: 4b6f ldr r3, [pc, #444] ; (806d110 ) 806cf52: f507 6289 add.w r2, r7, #1096 ; 0x448 806cf56: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806cf58: 2300 movs r3, #0 806cf5a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cf5e: e049 b.n 806cff4 { TrendData = TrendRAM_TEMP(i); 806cf60: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cf64: 4613 mov r3, r2 806cf66: 009b lsls r3, r3, #2 806cf68: 4413 add r3, r2 806cf6a: 009b lsls r3, r3, #2 806cf6c: 461a mov r2, r3 806cf6e: 4b63 ldr r3, [pc, #396] ; (806d0fc ) 806cf70: 4413 add r3, r2 806cf72: 461a mov r2, r3 806cf74: 4b64 ldr r3, [pc, #400] ; (806d108 ) 806cf76: 461c mov r4, r3 806cf78: 4615 mov r5, r2 806cf7a: cd0f ldmia r5!, {r0, r1, r2, r3} 806cf7c: c40f stmia r4!, {r0, r1, r2, r3} 806cf7e: 682b ldr r3, [r5, #0] 806cf80: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806cf82: 4b61 ldr r3, [pc, #388] ; (806d108 ) 806cf84: ed93 7a01 vldr s14, [r3, #4] 806cf88: f207 434c addw r3, r7, #1100 ; 0x44c 806cf8c: edd3 7a00 vldr s15, [r3] 806cf90: eeb4 7ae7 vcmpe.f32 s14, s15 806cf94: eef1 fa10 vmrs APSR_nzcv, fpscr 806cf98: dd04 ble.n 806cfa4 806cf9a: 4b5b ldr r3, [pc, #364] ; (806d108 ) 806cf9c: 685b ldr r3, [r3, #4] 806cf9e: f207 424c addw r2, r7, #1100 ; 0x44c 806cfa2: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806cfa4: 4b58 ldr r3, [pc, #352] ; (806d108 ) 806cfa6: ed93 7a01 vldr s14, [r3, #4] 806cfaa: f507 6389 add.w r3, r7, #1096 ; 0x448 806cfae: edd3 7a00 vldr s15, [r3] 806cfb2: eeb4 7ae7 vcmpe.f32 s14, s15 806cfb6: eef1 fa10 vmrs APSR_nzcv, fpscr 806cfba: d504 bpl.n 806cfc6 806cfbc: 4b52 ldr r3, [pc, #328] ; (806d108 ) 806cfbe: 685b ldr r3, [r3, #4] 806cfc0: f507 6289 add.w r2, r7, #1096 ; 0x448 806cfc4: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806cfc6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cfca: 009a lsls r2, r3, #2 806cfcc: 4b51 ldr r3, [pc, #324] ; (806d114 ) 806cfce: 4413 add r3, r2 806cfd0: 461a mov r2, r3 806cfd2: 4b4d ldr r3, [pc, #308] ; (806d108 ) 806cfd4: 685b ldr r3, [r3, #4] 806cfd6: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806cfd8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cfdc: 009a lsls r2, r3, #2 806cfde: 4b47 ldr r3, [pc, #284] ; (806d0fc ) 806cfe0: 4413 add r3, r2 806cfe2: 461a mov r2, r3 806cfe4: 4b48 ldr r3, [pc, #288] ; (806d108 ) 806cfe6: 68db ldr r3, [r3, #12] 806cfe8: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806cfea: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cfee: 3301 adds r3, #1 806cff0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cff4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cff8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cffc: 429a cmp r2, r3 806cffe: d3af bcc.n 806cf60 806d000: f000 bf0e b.w 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } } else if(menu == TREND_S) 806d004: 4b44 ldr r3, [pc, #272] ; (806d118 ) 806d006: 781b ldrb r3, [r3, #0] 806d008: b2db uxtb r3, r3 806d00a: 2b47 cmp r3, #71 ; 0x47 806d00c: f040 8708 bne.w 806de20 { if(menupos == Trend_pk) 806d010: 4b42 ldr r3, [pc, #264] ; (806d11c ) 806d012: 781b ldrb r3, [r3, #0] 806d014: b2db uxtb r3, r3 806d016: 2b00 cmp r3, #0 806d018: f040 8164 bne.w 806d2e4 { if(pardata.LANG == RUS) 806d01c: 4b40 ldr r3, [pc, #256] ; (806d120 ) 806d01e: 7b1b ldrb r3, [r3, #12] 806d020: b2db uxtb r3, r3 806d022: 2b00 cmp r3, #0 806d024: d106 bne.n 806d034 BSP_LCD_DisplayStringAt(8, 35, "S(ïèê),ìêì", LEFT_MODE); 806d026: 2303 movs r3, #3 806d028: 4a3e ldr r2, [pc, #248] ; (806d124 ) 806d02a: 2123 movs r1, #35 ; 0x23 806d02c: 2008 movs r0, #8 806d02e: f7e7 fbb5 bl 805479c 806d032: e005 b.n 806d040 else BSP_LCD_DisplayStringAt(8, 35, "S(peak),um", LEFT_MODE); 806d034: 2303 movs r3, #3 806d036: 4a3c ldr r2, [pc, #240] ; (806d128 ) 806d038: 2123 movs r1, #35 ; 0x23 806d03a: 2008 movs r0, #8 806d03c: f7e7 fbae bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806d040: 2300 movs r3, #0 806d042: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d046: 2300 movs r3, #0 806d048: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d04c: e042 b.n 806d0d4 { TrendData = TrendRAM(i); 806d04e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d052: 4613 mov r3, r2 806d054: 009b lsls r3, r3, #2 806d056: 4413 add r3, r2 806d058: 009b lsls r3, r3, #2 806d05a: 461a mov r2, r3 806d05c: 4b33 ldr r3, [pc, #204] ; (806d12c ) 806d05e: 4413 add r3, r2 806d060: 461a mov r2, r3 806d062: 4b29 ldr r3, [pc, #164] ; (806d108 ) 806d064: 461c mov r4, r3 806d066: 4615 mov r5, r2 806d068: cd0f ldmia r5!, {r0, r1, r2, r3} 806d06a: c40f stmia r4!, {r0, r1, r2, r3} 806d06c: 682b ldr r3, [r5, #0] 806d06e: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'P') && (TrendData.Sval.fl != -1.0f)) 806d070: 4b25 ldr r3, [pc, #148] ; (806d108 ) 806d072: 7c9b ldrb r3, [r3, #18] 806d074: b2db uxtb r3, r3 806d076: 2b50 cmp r3, #80 ; 0x50 806d078: d127 bne.n 806d0ca 806d07a: 4b23 ldr r3, [pc, #140] ; (806d108 ) 806d07c: edd3 7a02 vldr s15, [r3, #8] 806d080: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806d084: eef4 7a47 vcmp.f32 s15, s14 806d088: eef1 fa10 vmrs APSR_nzcv, fpscr 806d08c: d01d beq.n 806d0ca { TrendRAM_TEMP(l) = TrendRAM(i); 806d08e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806d092: 4613 mov r3, r2 806d094: 009b lsls r3, r3, #2 806d096: 4413 add r3, r2 806d098: 009b lsls r3, r3, #2 806d09a: 461a mov r2, r3 806d09c: 4b17 ldr r3, [pc, #92] ; (806d0fc ) 806d09e: 4413 add r3, r2 806d0a0: 4619 mov r1, r3 806d0a2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d0a6: 4613 mov r3, r2 806d0a8: 009b lsls r3, r3, #2 806d0aa: 4413 add r3, r2 806d0ac: 009b lsls r3, r3, #2 806d0ae: 461a mov r2, r3 806d0b0: 4b1e ldr r3, [pc, #120] ; (806d12c ) 806d0b2: 4413 add r3, r2 806d0b4: 460c mov r4, r1 806d0b6: 461d mov r5, r3 806d0b8: cd0f ldmia r5!, {r0, r1, r2, r3} 806d0ba: c40f stmia r4!, {r0, r1, r2, r3} 806d0bc: 682b ldr r3, [r5, #0] 806d0be: 6023 str r3, [r4, #0] l++; 806d0c0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d0c4: 3301 adds r3, #1 806d0c6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d0ca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d0ce: 3301 adds r3, #1 806d0d0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d0d4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d0d8: 4b15 ldr r3, [pc, #84] ; (806d130 ) 806d0da: 681b ldr r3, [r3, #0] 806d0dc: 429a cmp r2, r3 806d0de: d3b6 bcc.n 806d04e } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806d0e0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d0e4: 2b00 cmp r3, #0 806d0e6: f000 869b beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806d0ea: 2300 movs r3, #0 806d0ec: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806d0f0: e093 b.n 806d21a { for(i = j; i < l; i++) 806d0f2: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806d0f6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d0fa: e083 b.n 806d204 806d0fc: 64090000 .word 0x64090000 806d100: 2002235c .word 0x2002235c 806d104: 20022948 .word 0x20022948 806d108: 20021fd0 .word 0x20021fd0 806d10c: d01502f9 .word 0xd01502f9 806d110: 501502f9 .word 0x501502f9 806d114: 64080000 .word 0x64080000 806d118: 20020fbd .word 0x20020fbd 806d11c: 20020070 .word 0x20020070 806d120: 20023ea8 .word 0x20023ea8 806d124: 080d3d34 .word 0x080d3d34 806d128: 080d3d40 .word 0x080d3d40 806d12c: 640a0000 .word 0x640a0000 806d130: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806d134: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d138: 4613 mov r3, r2 806d13a: 009b lsls r3, r3, #2 806d13c: 4413 add r3, r2 806d13e: 009b lsls r3, r3, #2 806d140: 461a mov r2, r3 806d142: 4ba3 ldr r3, [pc, #652] ; (806d3d0 ) 806d144: 4413 add r3, r2 806d146: 461a mov r2, r3 806d148: 4ba2 ldr r3, [pc, #648] ; (806d3d4 ) 806d14a: 461c mov r4, r3 806d14c: 4615 mov r5, r2 806d14e: cd0f ldmia r5!, {r0, r1, r2, r3} 806d150: c40f stmia r4!, {r0, r1, r2, r3} 806d152: 682b ldr r3, [r5, #0] 806d154: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806d156: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d15a: 4613 mov r3, r2 806d15c: 009b lsls r3, r3, #2 806d15e: 4413 add r3, r2 806d160: 009b lsls r3, r3, #2 806d162: 461a mov r2, r3 806d164: 4b9a ldr r3, [pc, #616] ; (806d3d0 ) 806d166: 4413 add r3, r2 806d168: 461a mov r2, r3 806d16a: 4b9b ldr r3, [pc, #620] ; (806d3d8 ) 806d16c: 461c mov r4, r3 806d16e: 4615 mov r5, r2 806d170: cd0f ldmia r5!, {r0, r1, r2, r3} 806d172: c40f stmia r4!, {r0, r1, r2, r3} 806d174: 682b ldr r3, [r5, #0] 806d176: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806d178: 4b96 ldr r3, [pc, #600] ; (806d3d4 ) 806d17a: 68da ldr r2, [r3, #12] 806d17c: 4b96 ldr r3, [pc, #600] ; (806d3d8 ) 806d17e: 68db ldr r3, [r3, #12] 806d180: 429a cmp r2, r3 806d182: d23a bcs.n 806d1fa { TrendData = TrendRAM_TEMP(j); 806d184: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d188: 4613 mov r3, r2 806d18a: 009b lsls r3, r3, #2 806d18c: 4413 add r3, r2 806d18e: 009b lsls r3, r3, #2 806d190: 461a mov r2, r3 806d192: 4b8f ldr r3, [pc, #572] ; (806d3d0 ) 806d194: 4413 add r3, r2 806d196: 461a mov r2, r3 806d198: 4b90 ldr r3, [pc, #576] ; (806d3dc ) 806d19a: 461c mov r4, r3 806d19c: 4615 mov r5, r2 806d19e: cd0f ldmia r5!, {r0, r1, r2, r3} 806d1a0: c40f stmia r4!, {r0, r1, r2, r3} 806d1a2: 682b ldr r3, [r5, #0] 806d1a4: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806d1a6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d1aa: 4613 mov r3, r2 806d1ac: 009b lsls r3, r3, #2 806d1ae: 4413 add r3, r2 806d1b0: 009b lsls r3, r3, #2 806d1b2: 461a mov r2, r3 806d1b4: 4b86 ldr r3, [pc, #536] ; (806d3d0 ) 806d1b6: 4413 add r3, r2 806d1b8: 4619 mov r1, r3 806d1ba: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d1be: 4613 mov r3, r2 806d1c0: 009b lsls r3, r3, #2 806d1c2: 4413 add r3, r2 806d1c4: 009b lsls r3, r3, #2 806d1c6: 461a mov r2, r3 806d1c8: 4b81 ldr r3, [pc, #516] ; (806d3d0 ) 806d1ca: 4413 add r3, r2 806d1cc: 460c mov r4, r1 806d1ce: 461d mov r5, r3 806d1d0: cd0f ldmia r5!, {r0, r1, r2, r3} 806d1d2: c40f stmia r4!, {r0, r1, r2, r3} 806d1d4: 682b ldr r3, [r5, #0] 806d1d6: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806d1d8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d1dc: 4613 mov r3, r2 806d1de: 009b lsls r3, r3, #2 806d1e0: 4413 add r3, r2 806d1e2: 009b lsls r3, r3, #2 806d1e4: 461a mov r2, r3 806d1e6: 4b7a ldr r3, [pc, #488] ; (806d3d0 ) 806d1e8: 4413 add r3, r2 806d1ea: 461a mov r2, r3 806d1ec: 4b7b ldr r3, [pc, #492] ; (806d3dc ) 806d1ee: 4614 mov r4, r2 806d1f0: 461d mov r5, r3 806d1f2: cd0f ldmia r5!, {r0, r1, r2, r3} 806d1f4: c40f stmia r4!, {r0, r1, r2, r3} 806d1f6: 682b ldr r3, [r5, #0] 806d1f8: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806d1fa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d1fe: 3301 adds r3, #1 806d200: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d204: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d208: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d20c: 429a cmp r2, r3 806d20e: d391 bcc.n 806d134 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806d210: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806d214: 3301 adds r3, #1 806d216: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806d21a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d21e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d222: 429a cmp r2, r3 806d224: f4ff af65 bcc.w 806d0f2 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806d228: 4b6d ldr r3, [pc, #436] ; (806d3e0 ) 806d22a: f207 424c addw r2, r7, #1100 ; 0x44c 806d22e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806d230: 4b6c ldr r3, [pc, #432] ; (806d3e4 ) 806d232: f507 6289 add.w r2, r7, #1096 ; 0x448 806d236: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d238: 2300 movs r3, #0 806d23a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d23e: e049 b.n 806d2d4 { TrendData = TrendRAM_TEMP(i); 806d240: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d244: 4613 mov r3, r2 806d246: 009b lsls r3, r3, #2 806d248: 4413 add r3, r2 806d24a: 009b lsls r3, r3, #2 806d24c: 461a mov r2, r3 806d24e: 4b60 ldr r3, [pc, #384] ; (806d3d0 ) 806d250: 4413 add r3, r2 806d252: 461a mov r2, r3 806d254: 4b61 ldr r3, [pc, #388] ; (806d3dc ) 806d256: 461c mov r4, r3 806d258: 4615 mov r5, r2 806d25a: cd0f ldmia r5!, {r0, r1, r2, r3} 806d25c: c40f stmia r4!, {r0, r1, r2, r3} 806d25e: 682b ldr r3, [r5, #0] 806d260: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806d262: 4b5e ldr r3, [pc, #376] ; (806d3dc ) 806d264: ed93 7a02 vldr s14, [r3, #8] 806d268: f207 434c addw r3, r7, #1100 ; 0x44c 806d26c: edd3 7a00 vldr s15, [r3] 806d270: eeb4 7ae7 vcmpe.f32 s14, s15 806d274: eef1 fa10 vmrs APSR_nzcv, fpscr 806d278: dd04 ble.n 806d284 806d27a: 4b58 ldr r3, [pc, #352] ; (806d3dc ) 806d27c: 689b ldr r3, [r3, #8] 806d27e: f207 424c addw r2, r7, #1100 ; 0x44c 806d282: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806d284: 4b55 ldr r3, [pc, #340] ; (806d3dc ) 806d286: ed93 7a02 vldr s14, [r3, #8] 806d28a: f507 6389 add.w r3, r7, #1096 ; 0x448 806d28e: edd3 7a00 vldr s15, [r3] 806d292: eeb4 7ae7 vcmpe.f32 s14, s15 806d296: eef1 fa10 vmrs APSR_nzcv, fpscr 806d29a: d504 bpl.n 806d2a6 806d29c: 4b4f ldr r3, [pc, #316] ; (806d3dc ) 806d29e: 689b ldr r3, [r3, #8] 806d2a0: f507 6289 add.w r2, r7, #1096 ; 0x448 806d2a4: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806d2a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d2aa: 009a lsls r2, r3, #2 806d2ac: 4b4e ldr r3, [pc, #312] ; (806d3e8 ) 806d2ae: 4413 add r3, r2 806d2b0: 461a mov r2, r3 806d2b2: 4b4a ldr r3, [pc, #296] ; (806d3dc ) 806d2b4: 689b ldr r3, [r3, #8] 806d2b6: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806d2b8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d2bc: 009a lsls r2, r3, #2 806d2be: 4b44 ldr r3, [pc, #272] ; (806d3d0 ) 806d2c0: 4413 add r3, r2 806d2c2: 461a mov r2, r3 806d2c4: 4b45 ldr r3, [pc, #276] ; (806d3dc ) 806d2c6: 68db ldr r3, [r3, #12] 806d2c8: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d2ca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d2ce: 3301 adds r3, #1 806d2d0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d2d4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d2d8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d2dc: 429a cmp r2, r3 806d2de: d3af bcc.n 806d240 806d2e0: f000 bd9e b.w 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_rms) 806d2e4: 4b41 ldr r3, [pc, #260] ; (806d3ec ) 806d2e6: 781b ldrb r3, [r3, #0] 806d2e8: b2db uxtb r3, r3 806d2ea: 2b01 cmp r3, #1 806d2ec: f040 8162 bne.w 806d5b4 { if(pardata.LANG == RUS) 806d2f0: 4b3f ldr r3, [pc, #252] ; (806d3f0 ) 806d2f2: 7b1b ldrb r3, [r3, #12] 806d2f4: b2db uxtb r3, r3 806d2f6: 2b00 cmp r3, #0 806d2f8: d106 bne.n 806d308 BSP_LCD_DisplayStringAt(8, 35, "S(ñêç),ìêì", LEFT_MODE); 806d2fa: 2303 movs r3, #3 806d2fc: 4a3d ldr r2, [pc, #244] ; (806d3f4 ) 806d2fe: 2123 movs r1, #35 ; 0x23 806d300: 2008 movs r0, #8 806d302: f7e7 fa4b bl 805479c 806d306: e005 b.n 806d314 else BSP_LCD_DisplayStringAt(8, 35, "S(rms),um", LEFT_MODE); 806d308: 2303 movs r3, #3 806d30a: 4a3b ldr r2, [pc, #236] ; (806d3f8 ) 806d30c: 2123 movs r1, #35 ; 0x23 806d30e: 2008 movs r0, #8 806d310: f7e7 fa44 bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806d314: 2300 movs r3, #0 806d316: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d31a: 2300 movs r3, #0 806d31c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d320: e042 b.n 806d3a8 { TrendData = TrendRAM(i); 806d322: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d326: 4613 mov r3, r2 806d328: 009b lsls r3, r3, #2 806d32a: 4413 add r3, r2 806d32c: 009b lsls r3, r3, #2 806d32e: 461a mov r2, r3 806d330: 4b32 ldr r3, [pc, #200] ; (806d3fc ) 806d332: 4413 add r3, r2 806d334: 461a mov r2, r3 806d336: 4b29 ldr r3, [pc, #164] ; (806d3dc ) 806d338: 461c mov r4, r3 806d33a: 4615 mov r5, r2 806d33c: cd0f ldmia r5!, {r0, r1, r2, r3} 806d33e: c40f stmia r4!, {r0, r1, r2, r3} 806d340: 682b ldr r3, [r5, #0] 806d342: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'S') && (TrendData.Sval.fl != -1.0f)) 806d344: 4b25 ldr r3, [pc, #148] ; (806d3dc ) 806d346: 7c9b ldrb r3, [r3, #18] 806d348: b2db uxtb r3, r3 806d34a: 2b53 cmp r3, #83 ; 0x53 806d34c: d127 bne.n 806d39e 806d34e: 4b23 ldr r3, [pc, #140] ; (806d3dc ) 806d350: edd3 7a02 vldr s15, [r3, #8] 806d354: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806d358: eef4 7a47 vcmp.f32 s15, s14 806d35c: eef1 fa10 vmrs APSR_nzcv, fpscr 806d360: d01d beq.n 806d39e { TrendRAM_TEMP(l) = TrendRAM(i); 806d362: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806d366: 4613 mov r3, r2 806d368: 009b lsls r3, r3, #2 806d36a: 4413 add r3, r2 806d36c: 009b lsls r3, r3, #2 806d36e: 461a mov r2, r3 806d370: 4b17 ldr r3, [pc, #92] ; (806d3d0 ) 806d372: 4413 add r3, r2 806d374: 4619 mov r1, r3 806d376: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d37a: 4613 mov r3, r2 806d37c: 009b lsls r3, r3, #2 806d37e: 4413 add r3, r2 806d380: 009b lsls r3, r3, #2 806d382: 461a mov r2, r3 806d384: 4b1d ldr r3, [pc, #116] ; (806d3fc ) 806d386: 4413 add r3, r2 806d388: 460c mov r4, r1 806d38a: 461d mov r5, r3 806d38c: cd0f ldmia r5!, {r0, r1, r2, r3} 806d38e: c40f stmia r4!, {r0, r1, r2, r3} 806d390: 682b ldr r3, [r5, #0] 806d392: 6023 str r3, [r4, #0] l++; 806d394: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d398: 3301 adds r3, #1 806d39a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d39e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d3a2: 3301 adds r3, #1 806d3a4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d3a8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d3ac: 4b14 ldr r3, [pc, #80] ; (806d400 ) 806d3ae: 681b ldr r3, [r3, #0] 806d3b0: 429a cmp r2, r3 806d3b2: d3b6 bcc.n 806d322 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806d3b4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d3b8: 2b00 cmp r3, #0 806d3ba: f000 8531 beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806d3be: 2300 movs r3, #0 806d3c0: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806d3c4: e091 b.n 806d4ea { for(i = j; i < l; i++) 806d3c6: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806d3ca: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d3ce: e081 b.n 806d4d4 806d3d0: 64090000 .word 0x64090000 806d3d4: 2002235c .word 0x2002235c 806d3d8: 20022948 .word 0x20022948 806d3dc: 20021fd0 .word 0x20021fd0 806d3e0: d01502f9 .word 0xd01502f9 806d3e4: 501502f9 .word 0x501502f9 806d3e8: 64080000 .word 0x64080000 806d3ec: 20020070 .word 0x20020070 806d3f0: 20023ea8 .word 0x20023ea8 806d3f4: 080d3d4c .word 0x080d3d4c 806d3f8: 080d3d58 .word 0x080d3d58 806d3fc: 640a0000 .word 0x640a0000 806d400: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806d404: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d408: 4613 mov r3, r2 806d40a: 009b lsls r3, r3, #2 806d40c: 4413 add r3, r2 806d40e: 009b lsls r3, r3, #2 806d410: 461a mov r2, r3 806d412: 4ba3 ldr r3, [pc, #652] ; (806d6a0 ) 806d414: 4413 add r3, r2 806d416: 461a mov r2, r3 806d418: 4ba2 ldr r3, [pc, #648] ; (806d6a4 ) 806d41a: 461c mov r4, r3 806d41c: 4615 mov r5, r2 806d41e: cd0f ldmia r5!, {r0, r1, r2, r3} 806d420: c40f stmia r4!, {r0, r1, r2, r3} 806d422: 682b ldr r3, [r5, #0] 806d424: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806d426: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d42a: 4613 mov r3, r2 806d42c: 009b lsls r3, r3, #2 806d42e: 4413 add r3, r2 806d430: 009b lsls r3, r3, #2 806d432: 461a mov r2, r3 806d434: 4b9a ldr r3, [pc, #616] ; (806d6a0 ) 806d436: 4413 add r3, r2 806d438: 461a mov r2, r3 806d43a: 4b9b ldr r3, [pc, #620] ; (806d6a8 ) 806d43c: 461c mov r4, r3 806d43e: 4615 mov r5, r2 806d440: cd0f ldmia r5!, {r0, r1, r2, r3} 806d442: c40f stmia r4!, {r0, r1, r2, r3} 806d444: 682b ldr r3, [r5, #0] 806d446: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806d448: 4b96 ldr r3, [pc, #600] ; (806d6a4 ) 806d44a: 68da ldr r2, [r3, #12] 806d44c: 4b96 ldr r3, [pc, #600] ; (806d6a8 ) 806d44e: 68db ldr r3, [r3, #12] 806d450: 429a cmp r2, r3 806d452: d23a bcs.n 806d4ca { TrendData = TrendRAM_TEMP(j); 806d454: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d458: 4613 mov r3, r2 806d45a: 009b lsls r3, r3, #2 806d45c: 4413 add r3, r2 806d45e: 009b lsls r3, r3, #2 806d460: 461a mov r2, r3 806d462: 4b8f ldr r3, [pc, #572] ; (806d6a0 ) 806d464: 4413 add r3, r2 806d466: 461a mov r2, r3 806d468: 4b90 ldr r3, [pc, #576] ; (806d6ac ) 806d46a: 461c mov r4, r3 806d46c: 4615 mov r5, r2 806d46e: cd0f ldmia r5!, {r0, r1, r2, r3} 806d470: c40f stmia r4!, {r0, r1, r2, r3} 806d472: 682b ldr r3, [r5, #0] 806d474: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806d476: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d47a: 4613 mov r3, r2 806d47c: 009b lsls r3, r3, #2 806d47e: 4413 add r3, r2 806d480: 009b lsls r3, r3, #2 806d482: 461a mov r2, r3 806d484: 4b86 ldr r3, [pc, #536] ; (806d6a0 ) 806d486: 4413 add r3, r2 806d488: 4619 mov r1, r3 806d48a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d48e: 4613 mov r3, r2 806d490: 009b lsls r3, r3, #2 806d492: 4413 add r3, r2 806d494: 009b lsls r3, r3, #2 806d496: 461a mov r2, r3 806d498: 4b81 ldr r3, [pc, #516] ; (806d6a0 ) 806d49a: 4413 add r3, r2 806d49c: 460c mov r4, r1 806d49e: 461d mov r5, r3 806d4a0: cd0f ldmia r5!, {r0, r1, r2, r3} 806d4a2: c40f stmia r4!, {r0, r1, r2, r3} 806d4a4: 682b ldr r3, [r5, #0] 806d4a6: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806d4a8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d4ac: 4613 mov r3, r2 806d4ae: 009b lsls r3, r3, #2 806d4b0: 4413 add r3, r2 806d4b2: 009b lsls r3, r3, #2 806d4b4: 461a mov r2, r3 806d4b6: 4b7a ldr r3, [pc, #488] ; (806d6a0 ) 806d4b8: 4413 add r3, r2 806d4ba: 461a mov r2, r3 806d4bc: 4b7b ldr r3, [pc, #492] ; (806d6ac ) 806d4be: 4614 mov r4, r2 806d4c0: 461d mov r5, r3 806d4c2: cd0f ldmia r5!, {r0, r1, r2, r3} 806d4c4: c40f stmia r4!, {r0, r1, r2, r3} 806d4c6: 682b ldr r3, [r5, #0] 806d4c8: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806d4ca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d4ce: 3301 adds r3, #1 806d4d0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d4d4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d4d8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d4dc: 429a cmp r2, r3 806d4de: d391 bcc.n 806d404 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806d4e0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806d4e4: 3301 adds r3, #1 806d4e6: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806d4ea: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d4ee: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d4f2: 429a cmp r2, r3 806d4f4: f4ff af67 bcc.w 806d3c6 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806d4f8: 4b6d ldr r3, [pc, #436] ; (806d6b0 ) 806d4fa: f207 424c addw r2, r7, #1100 ; 0x44c 806d4fe: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806d500: 4b6c ldr r3, [pc, #432] ; (806d6b4 ) 806d502: f507 6289 add.w r2, r7, #1096 ; 0x448 806d506: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d508: 2300 movs r3, #0 806d50a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d50e: e049 b.n 806d5a4 { TrendData = TrendRAM_TEMP(i); 806d510: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d514: 4613 mov r3, r2 806d516: 009b lsls r3, r3, #2 806d518: 4413 add r3, r2 806d51a: 009b lsls r3, r3, #2 806d51c: 461a mov r2, r3 806d51e: 4b60 ldr r3, [pc, #384] ; (806d6a0 ) 806d520: 4413 add r3, r2 806d522: 461a mov r2, r3 806d524: 4b61 ldr r3, [pc, #388] ; (806d6ac ) 806d526: 461c mov r4, r3 806d528: 4615 mov r5, r2 806d52a: cd0f ldmia r5!, {r0, r1, r2, r3} 806d52c: c40f stmia r4!, {r0, r1, r2, r3} 806d52e: 682b ldr r3, [r5, #0] 806d530: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806d532: 4b5e ldr r3, [pc, #376] ; (806d6ac ) 806d534: ed93 7a02 vldr s14, [r3, #8] 806d538: f207 434c addw r3, r7, #1100 ; 0x44c 806d53c: edd3 7a00 vldr s15, [r3] 806d540: eeb4 7ae7 vcmpe.f32 s14, s15 806d544: eef1 fa10 vmrs APSR_nzcv, fpscr 806d548: dd04 ble.n 806d554 806d54a: 4b58 ldr r3, [pc, #352] ; (806d6ac ) 806d54c: 689b ldr r3, [r3, #8] 806d54e: f207 424c addw r2, r7, #1100 ; 0x44c 806d552: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806d554: 4b55 ldr r3, [pc, #340] ; (806d6ac ) 806d556: ed93 7a02 vldr s14, [r3, #8] 806d55a: f507 6389 add.w r3, r7, #1096 ; 0x448 806d55e: edd3 7a00 vldr s15, [r3] 806d562: eeb4 7ae7 vcmpe.f32 s14, s15 806d566: eef1 fa10 vmrs APSR_nzcv, fpscr 806d56a: d504 bpl.n 806d576 806d56c: 4b4f ldr r3, [pc, #316] ; (806d6ac ) 806d56e: 689b ldr r3, [r3, #8] 806d570: f507 6289 add.w r2, r7, #1096 ; 0x448 806d574: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806d576: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d57a: 009a lsls r2, r3, #2 806d57c: 4b4e ldr r3, [pc, #312] ; (806d6b8 ) 806d57e: 4413 add r3, r2 806d580: 461a mov r2, r3 806d582: 4b4a ldr r3, [pc, #296] ; (806d6ac ) 806d584: 689b ldr r3, [r3, #8] 806d586: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806d588: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d58c: 009a lsls r2, r3, #2 806d58e: 4b44 ldr r3, [pc, #272] ; (806d6a0 ) 806d590: 4413 add r3, r2 806d592: 461a mov r2, r3 806d594: 4b45 ldr r3, [pc, #276] ; (806d6ac ) 806d596: 68db ldr r3, [r3, #12] 806d598: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d59a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d59e: 3301 adds r3, #1 806d5a0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d5a4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d5a8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d5ac: 429a cmp r2, r3 806d5ae: d3af bcc.n 806d510 806d5b0: f000 bc36 b.w 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_pkpk) 806d5b4: 4b41 ldr r3, [pc, #260] ; (806d6bc ) 806d5b6: 781b ldrb r3, [r3, #0] 806d5b8: b2db uxtb r3, r3 806d5ba: 2b02 cmp r3, #2 806d5bc: f040 8161 bne.w 806d882 { if(pardata.LANG == RUS) 806d5c0: 4b3f ldr r3, [pc, #252] ; (806d6c0 ) 806d5c2: 7b1b ldrb r3, [r3, #12] 806d5c4: b2db uxtb r3, r3 806d5c6: 2b00 cmp r3, #0 806d5c8: d106 bne.n 806d5d8 BSP_LCD_DisplayStringAt(8, 35, "S(ðàçìàõ),ìêì", LEFT_MODE); 806d5ca: 2303 movs r3, #3 806d5cc: 4a3d ldr r2, [pc, #244] ; (806d6c4 ) 806d5ce: 2123 movs r1, #35 ; 0x23 806d5d0: 2008 movs r0, #8 806d5d2: f7e7 f8e3 bl 805479c 806d5d6: e005 b.n 806d5e4 else BSP_LCD_DisplayStringAt(8, 35, "S(peak-peak),um", LEFT_MODE); 806d5d8: 2303 movs r3, #3 806d5da: 4a3b ldr r2, [pc, #236] ; (806d6c8 ) 806d5dc: 2123 movs r1, #35 ; 0x23 806d5de: 2008 movs r0, #8 806d5e0: f7e7 f8dc bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806d5e4: 2300 movs r3, #0 806d5e6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d5ea: 2300 movs r3, #0 806d5ec: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d5f0: e042 b.n 806d678 { TrendData = TrendRAM(i); 806d5f2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d5f6: 4613 mov r3, r2 806d5f8: 009b lsls r3, r3, #2 806d5fa: 4413 add r3, r2 806d5fc: 009b lsls r3, r3, #2 806d5fe: 461a mov r2, r3 806d600: 4b32 ldr r3, [pc, #200] ; (806d6cc ) 806d602: 4413 add r3, r2 806d604: 461a mov r2, r3 806d606: 4b29 ldr r3, [pc, #164] ; (806d6ac ) 806d608: 461c mov r4, r3 806d60a: 4615 mov r5, r2 806d60c: cd0f ldmia r5!, {r0, r1, r2, r3} 806d60e: c40f stmia r4!, {r0, r1, r2, r3} 806d610: 682b ldr r3, [r5, #0] 806d612: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'R') && (TrendData.Sval.fl != -1.0f)) 806d614: 4b25 ldr r3, [pc, #148] ; (806d6ac ) 806d616: 7c9b ldrb r3, [r3, #18] 806d618: b2db uxtb r3, r3 806d61a: 2b52 cmp r3, #82 ; 0x52 806d61c: d127 bne.n 806d66e 806d61e: 4b23 ldr r3, [pc, #140] ; (806d6ac ) 806d620: edd3 7a02 vldr s15, [r3, #8] 806d624: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806d628: eef4 7a47 vcmp.f32 s15, s14 806d62c: eef1 fa10 vmrs APSR_nzcv, fpscr 806d630: d01d beq.n 806d66e { TrendRAM_TEMP(l) = TrendRAM(i); 806d632: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806d636: 4613 mov r3, r2 806d638: 009b lsls r3, r3, #2 806d63a: 4413 add r3, r2 806d63c: 009b lsls r3, r3, #2 806d63e: 461a mov r2, r3 806d640: 4b17 ldr r3, [pc, #92] ; (806d6a0 ) 806d642: 4413 add r3, r2 806d644: 4619 mov r1, r3 806d646: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d64a: 4613 mov r3, r2 806d64c: 009b lsls r3, r3, #2 806d64e: 4413 add r3, r2 806d650: 009b lsls r3, r3, #2 806d652: 461a mov r2, r3 806d654: 4b1d ldr r3, [pc, #116] ; (806d6cc ) 806d656: 4413 add r3, r2 806d658: 460c mov r4, r1 806d65a: 461d mov r5, r3 806d65c: cd0f ldmia r5!, {r0, r1, r2, r3} 806d65e: c40f stmia r4!, {r0, r1, r2, r3} 806d660: 682b ldr r3, [r5, #0] 806d662: 6023 str r3, [r4, #0] l++; 806d664: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d668: 3301 adds r3, #1 806d66a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d66e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d672: 3301 adds r3, #1 806d674: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d678: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d67c: 4b14 ldr r3, [pc, #80] ; (806d6d0 ) 806d67e: 681b ldr r3, [r3, #0] 806d680: 429a cmp r2, r3 806d682: d3b6 bcc.n 806d5f2 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806d684: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d688: 2b00 cmp r3, #0 806d68a: f000 83c9 beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806d68e: 2300 movs r3, #0 806d690: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806d694: e091 b.n 806d7ba { for(i = j; i < l; i++) 806d696: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806d69a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d69e: e081 b.n 806d7a4 806d6a0: 64090000 .word 0x64090000 806d6a4: 2002235c .word 0x2002235c 806d6a8: 20022948 .word 0x20022948 806d6ac: 20021fd0 .word 0x20021fd0 806d6b0: d01502f9 .word 0xd01502f9 806d6b4: 501502f9 .word 0x501502f9 806d6b8: 64080000 .word 0x64080000 806d6bc: 20020070 .word 0x20020070 806d6c0: 20023ea8 .word 0x20023ea8 806d6c4: 080d3d64 .word 0x080d3d64 806d6c8: 080d3d74 .word 0x080d3d74 806d6cc: 640a0000 .word 0x640a0000 806d6d0: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806d6d4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d6d8: 4613 mov r3, r2 806d6da: 009b lsls r3, r3, #2 806d6dc: 4413 add r3, r2 806d6de: 009b lsls r3, r3, #2 806d6e0: 461a mov r2, r3 806d6e2: 4ba3 ldr r3, [pc, #652] ; (806d970 ) 806d6e4: 4413 add r3, r2 806d6e6: 461a mov r2, r3 806d6e8: 4ba2 ldr r3, [pc, #648] ; (806d974 ) 806d6ea: 461c mov r4, r3 806d6ec: 4615 mov r5, r2 806d6ee: cd0f ldmia r5!, {r0, r1, r2, r3} 806d6f0: c40f stmia r4!, {r0, r1, r2, r3} 806d6f2: 682b ldr r3, [r5, #0] 806d6f4: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806d6f6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d6fa: 4613 mov r3, r2 806d6fc: 009b lsls r3, r3, #2 806d6fe: 4413 add r3, r2 806d700: 009b lsls r3, r3, #2 806d702: 461a mov r2, r3 806d704: 4b9a ldr r3, [pc, #616] ; (806d970 ) 806d706: 4413 add r3, r2 806d708: 461a mov r2, r3 806d70a: 4b9b ldr r3, [pc, #620] ; (806d978 ) 806d70c: 461c mov r4, r3 806d70e: 4615 mov r5, r2 806d710: cd0f ldmia r5!, {r0, r1, r2, r3} 806d712: c40f stmia r4!, {r0, r1, r2, r3} 806d714: 682b ldr r3, [r5, #0] 806d716: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806d718: 4b96 ldr r3, [pc, #600] ; (806d974 ) 806d71a: 68da ldr r2, [r3, #12] 806d71c: 4b96 ldr r3, [pc, #600] ; (806d978 ) 806d71e: 68db ldr r3, [r3, #12] 806d720: 429a cmp r2, r3 806d722: d23a bcs.n 806d79a { TrendData = TrendRAM_TEMP(j); 806d724: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d728: 4613 mov r3, r2 806d72a: 009b lsls r3, r3, #2 806d72c: 4413 add r3, r2 806d72e: 009b lsls r3, r3, #2 806d730: 461a mov r2, r3 806d732: 4b8f ldr r3, [pc, #572] ; (806d970 ) 806d734: 4413 add r3, r2 806d736: 461a mov r2, r3 806d738: 4b90 ldr r3, [pc, #576] ; (806d97c ) 806d73a: 461c mov r4, r3 806d73c: 4615 mov r5, r2 806d73e: cd0f ldmia r5!, {r0, r1, r2, r3} 806d740: c40f stmia r4!, {r0, r1, r2, r3} 806d742: 682b ldr r3, [r5, #0] 806d744: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806d746: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d74a: 4613 mov r3, r2 806d74c: 009b lsls r3, r3, #2 806d74e: 4413 add r3, r2 806d750: 009b lsls r3, r3, #2 806d752: 461a mov r2, r3 806d754: 4b86 ldr r3, [pc, #536] ; (806d970 ) 806d756: 4413 add r3, r2 806d758: 4619 mov r1, r3 806d75a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d75e: 4613 mov r3, r2 806d760: 009b lsls r3, r3, #2 806d762: 4413 add r3, r2 806d764: 009b lsls r3, r3, #2 806d766: 461a mov r2, r3 806d768: 4b81 ldr r3, [pc, #516] ; (806d970 ) 806d76a: 4413 add r3, r2 806d76c: 460c mov r4, r1 806d76e: 461d mov r5, r3 806d770: cd0f ldmia r5!, {r0, r1, r2, r3} 806d772: c40f stmia r4!, {r0, r1, r2, r3} 806d774: 682b ldr r3, [r5, #0] 806d776: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806d778: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d77c: 4613 mov r3, r2 806d77e: 009b lsls r3, r3, #2 806d780: 4413 add r3, r2 806d782: 009b lsls r3, r3, #2 806d784: 461a mov r2, r3 806d786: 4b7a ldr r3, [pc, #488] ; (806d970 ) 806d788: 4413 add r3, r2 806d78a: 461a mov r2, r3 806d78c: 4b7b ldr r3, [pc, #492] ; (806d97c ) 806d78e: 4614 mov r4, r2 806d790: 461d mov r5, r3 806d792: cd0f ldmia r5!, {r0, r1, r2, r3} 806d794: c40f stmia r4!, {r0, r1, r2, r3} 806d796: 682b ldr r3, [r5, #0] 806d798: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806d79a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d79e: 3301 adds r3, #1 806d7a0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d7a4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d7a8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d7ac: 429a cmp r2, r3 806d7ae: d391 bcc.n 806d6d4 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806d7b0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806d7b4: 3301 adds r3, #1 806d7b6: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806d7ba: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d7be: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d7c2: 429a cmp r2, r3 806d7c4: f4ff af67 bcc.w 806d696 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806d7c8: 4b6d ldr r3, [pc, #436] ; (806d980 ) 806d7ca: f207 424c addw r2, r7, #1100 ; 0x44c 806d7ce: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806d7d0: 4b6c ldr r3, [pc, #432] ; (806d984 ) 806d7d2: f507 6289 add.w r2, r7, #1096 ; 0x448 806d7d6: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d7d8: 2300 movs r3, #0 806d7da: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d7de: e049 b.n 806d874 { TrendData = TrendRAM_TEMP(i); 806d7e0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d7e4: 4613 mov r3, r2 806d7e6: 009b lsls r3, r3, #2 806d7e8: 4413 add r3, r2 806d7ea: 009b lsls r3, r3, #2 806d7ec: 461a mov r2, r3 806d7ee: 4b60 ldr r3, [pc, #384] ; (806d970 ) 806d7f0: 4413 add r3, r2 806d7f2: 461a mov r2, r3 806d7f4: 4b61 ldr r3, [pc, #388] ; (806d97c ) 806d7f6: 461c mov r4, r3 806d7f8: 4615 mov r5, r2 806d7fa: cd0f ldmia r5!, {r0, r1, r2, r3} 806d7fc: c40f stmia r4!, {r0, r1, r2, r3} 806d7fe: 682b ldr r3, [r5, #0] 806d800: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806d802: 4b5e ldr r3, [pc, #376] ; (806d97c ) 806d804: ed93 7a02 vldr s14, [r3, #8] 806d808: f207 434c addw r3, r7, #1100 ; 0x44c 806d80c: edd3 7a00 vldr s15, [r3] 806d810: eeb4 7ae7 vcmpe.f32 s14, s15 806d814: eef1 fa10 vmrs APSR_nzcv, fpscr 806d818: dd04 ble.n 806d824 806d81a: 4b58 ldr r3, [pc, #352] ; (806d97c ) 806d81c: 689b ldr r3, [r3, #8] 806d81e: f207 424c addw r2, r7, #1100 ; 0x44c 806d822: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806d824: 4b55 ldr r3, [pc, #340] ; (806d97c ) 806d826: ed93 7a02 vldr s14, [r3, #8] 806d82a: f507 6389 add.w r3, r7, #1096 ; 0x448 806d82e: edd3 7a00 vldr s15, [r3] 806d832: eeb4 7ae7 vcmpe.f32 s14, s15 806d836: eef1 fa10 vmrs APSR_nzcv, fpscr 806d83a: d504 bpl.n 806d846 806d83c: 4b4f ldr r3, [pc, #316] ; (806d97c ) 806d83e: 689b ldr r3, [r3, #8] 806d840: f507 6289 add.w r2, r7, #1096 ; 0x448 806d844: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806d846: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d84a: 009a lsls r2, r3, #2 806d84c: 4b4e ldr r3, [pc, #312] ; (806d988 ) 806d84e: 4413 add r3, r2 806d850: 461a mov r2, r3 806d852: 4b4a ldr r3, [pc, #296] ; (806d97c ) 806d854: 689b ldr r3, [r3, #8] 806d856: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806d858: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d85c: 009a lsls r2, r3, #2 806d85e: 4b44 ldr r3, [pc, #272] ; (806d970 ) 806d860: 4413 add r3, r2 806d862: 461a mov r2, r3 806d864: 4b45 ldr r3, [pc, #276] ; (806d97c ) 806d866: 68db ldr r3, [r3, #12] 806d868: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806d86a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d86e: 3301 adds r3, #1 806d870: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d874: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d878: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d87c: 429a cmp r2, r3 806d87e: d3af bcc.n 806d7e0 806d880: e2ce b.n 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_factor) 806d882: 4b42 ldr r3, [pc, #264] ; (806d98c ) 806d884: 781b ldrb r3, [r3, #0] 806d886: b2db uxtb r3, r3 806d888: 2b03 cmp r3, #3 806d88a: f040 8162 bne.w 806db52 { if(pardata.LANG == RUS) 806d88e: 4b40 ldr r3, [pc, #256] ; (806d990 ) 806d890: 7b1b ldrb r3, [r3, #12] 806d892: b2db uxtb r3, r3 806d894: 2b00 cmp r3, #0 806d896: d106 bne.n 806d8a6 BSP_LCD_DisplayStringAt(8, 35, "S(ïèê-ôàêòîð)", LEFT_MODE); 806d898: 2303 movs r3, #3 806d89a: 4a3e ldr r2, [pc, #248] ; (806d994 ) 806d89c: 2123 movs r1, #35 ; 0x23 806d89e: 2008 movs r0, #8 806d8a0: f7e6 ff7c bl 805479c 806d8a4: e005 b.n 806d8b2 else BSP_LCD_DisplayStringAt(8, 35, "S(peak-factor)", LEFT_MODE); 806d8a6: 2303 movs r3, #3 806d8a8: 4a3b ldr r2, [pc, #236] ; (806d998 ) 806d8aa: 2123 movs r1, #35 ; 0x23 806d8ac: 2008 movs r0, #8 806d8ae: f7e6 ff75 bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806d8b2: 2300 movs r3, #0 806d8b4: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d8b8: 2300 movs r3, #0 806d8ba: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d8be: e042 b.n 806d946 { TrendData = TrendRAM(i); 806d8c0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d8c4: 4613 mov r3, r2 806d8c6: 009b lsls r3, r3, #2 806d8c8: 4413 add r3, r2 806d8ca: 009b lsls r3, r3, #2 806d8cc: 461a mov r2, r3 806d8ce: 4b33 ldr r3, [pc, #204] ; (806d99c ) 806d8d0: 4413 add r3, r2 806d8d2: 461a mov r2, r3 806d8d4: 4b29 ldr r3, [pc, #164] ; (806d97c ) 806d8d6: 461c mov r4, r3 806d8d8: 4615 mov r5, r2 806d8da: cd0f ldmia r5!, {r0, r1, r2, r3} 806d8dc: c40f stmia r4!, {r0, r1, r2, r3} 806d8de: 682b ldr r3, [r5, #0] 806d8e0: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'F') && (TrendData.Sval.fl != -1.0f)) 806d8e2: 4b26 ldr r3, [pc, #152] ; (806d97c ) 806d8e4: 7c9b ldrb r3, [r3, #18] 806d8e6: b2db uxtb r3, r3 806d8e8: 2b46 cmp r3, #70 ; 0x46 806d8ea: d127 bne.n 806d93c 806d8ec: 4b23 ldr r3, [pc, #140] ; (806d97c ) 806d8ee: edd3 7a02 vldr s15, [r3, #8] 806d8f2: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806d8f6: eef4 7a47 vcmp.f32 s15, s14 806d8fa: eef1 fa10 vmrs APSR_nzcv, fpscr 806d8fe: d01d beq.n 806d93c { TrendRAM_TEMP(l) = TrendRAM(i); 806d900: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806d904: 4613 mov r3, r2 806d906: 009b lsls r3, r3, #2 806d908: 4413 add r3, r2 806d90a: 009b lsls r3, r3, #2 806d90c: 461a mov r2, r3 806d90e: 4b18 ldr r3, [pc, #96] ; (806d970 ) 806d910: 4413 add r3, r2 806d912: 4619 mov r1, r3 806d914: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d918: 4613 mov r3, r2 806d91a: 009b lsls r3, r3, #2 806d91c: 4413 add r3, r2 806d91e: 009b lsls r3, r3, #2 806d920: 461a mov r2, r3 806d922: 4b1e ldr r3, [pc, #120] ; (806d99c ) 806d924: 4413 add r3, r2 806d926: 460c mov r4, r1 806d928: 461d mov r5, r3 806d92a: cd0f ldmia r5!, {r0, r1, r2, r3} 806d92c: c40f stmia r4!, {r0, r1, r2, r3} 806d92e: 682b ldr r3, [r5, #0] 806d930: 6023 str r3, [r4, #0] l++; 806d932: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d936: 3301 adds r3, #1 806d938: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806d93c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806d940: 3301 adds r3, #1 806d942: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d946: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d94a: 4b15 ldr r3, [pc, #84] ; (806d9a0 ) 806d94c: 681b ldr r3, [r3, #0] 806d94e: 429a cmp r2, r3 806d950: d3b6 bcc.n 806d8c0 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806d952: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d956: 2b00 cmp r3, #0 806d958: f000 8262 beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806d95c: 2300 movs r3, #0 806d95e: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806d962: e092 b.n 806da8a { for(i = j; i < l; i++) 806d964: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806d968: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806d96c: e082 b.n 806da74 806d96e: bf00 nop 806d970: 64090000 .word 0x64090000 806d974: 2002235c .word 0x2002235c 806d978: 20022948 .word 0x20022948 806d97c: 20021fd0 .word 0x20021fd0 806d980: d01502f9 .word 0xd01502f9 806d984: 501502f9 .word 0x501502f9 806d988: 64080000 .word 0x64080000 806d98c: 20020070 .word 0x20020070 806d990: 20023ea8 .word 0x20023ea8 806d994: 080d3d84 .word 0x080d3d84 806d998: 080d3d94 .word 0x080d3d94 806d99c: 640a0000 .word 0x640a0000 806d9a0: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806d9a4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806d9a8: 4613 mov r3, r2 806d9aa: 009b lsls r3, r3, #2 806d9ac: 4413 add r3, r2 806d9ae: 009b lsls r3, r3, #2 806d9b0: 461a mov r2, r3 806d9b2: 4ba3 ldr r3, [pc, #652] ; (806dc40 ) 806d9b4: 4413 add r3, r2 806d9b6: 461a mov r2, r3 806d9b8: 4ba2 ldr r3, [pc, #648] ; (806dc44 ) 806d9ba: 461c mov r4, r3 806d9bc: 4615 mov r5, r2 806d9be: cd0f ldmia r5!, {r0, r1, r2, r3} 806d9c0: c40f stmia r4!, {r0, r1, r2, r3} 806d9c2: 682b ldr r3, [r5, #0] 806d9c4: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806d9c6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d9ca: 4613 mov r3, r2 806d9cc: 009b lsls r3, r3, #2 806d9ce: 4413 add r3, r2 806d9d0: 009b lsls r3, r3, #2 806d9d2: 461a mov r2, r3 806d9d4: 4b9a ldr r3, [pc, #616] ; (806dc40 ) 806d9d6: 4413 add r3, r2 806d9d8: 461a mov r2, r3 806d9da: 4b9b ldr r3, [pc, #620] ; (806dc48 ) 806d9dc: 461c mov r4, r3 806d9de: 4615 mov r5, r2 806d9e0: cd0f ldmia r5!, {r0, r1, r2, r3} 806d9e2: c40f stmia r4!, {r0, r1, r2, r3} 806d9e4: 682b ldr r3, [r5, #0] 806d9e6: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806d9e8: 4b96 ldr r3, [pc, #600] ; (806dc44 ) 806d9ea: 68da ldr r2, [r3, #12] 806d9ec: 4b96 ldr r3, [pc, #600] ; (806dc48 ) 806d9ee: 68db ldr r3, [r3, #12] 806d9f0: 429a cmp r2, r3 806d9f2: d23a bcs.n 806da6a { TrendData = TrendRAM_TEMP(j); 806d9f4: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806d9f8: 4613 mov r3, r2 806d9fa: 009b lsls r3, r3, #2 806d9fc: 4413 add r3, r2 806d9fe: 009b lsls r3, r3, #2 806da00: 461a mov r2, r3 806da02: 4b8f ldr r3, [pc, #572] ; (806dc40 ) 806da04: 4413 add r3, r2 806da06: 461a mov r2, r3 806da08: 4b90 ldr r3, [pc, #576] ; (806dc4c ) 806da0a: 461c mov r4, r3 806da0c: 4615 mov r5, r2 806da0e: cd0f ldmia r5!, {r0, r1, r2, r3} 806da10: c40f stmia r4!, {r0, r1, r2, r3} 806da12: 682b ldr r3, [r5, #0] 806da14: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806da16: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806da1a: 4613 mov r3, r2 806da1c: 009b lsls r3, r3, #2 806da1e: 4413 add r3, r2 806da20: 009b lsls r3, r3, #2 806da22: 461a mov r2, r3 806da24: 4b86 ldr r3, [pc, #536] ; (806dc40 ) 806da26: 4413 add r3, r2 806da28: 4619 mov r1, r3 806da2a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806da2e: 4613 mov r3, r2 806da30: 009b lsls r3, r3, #2 806da32: 4413 add r3, r2 806da34: 009b lsls r3, r3, #2 806da36: 461a mov r2, r3 806da38: 4b81 ldr r3, [pc, #516] ; (806dc40 ) 806da3a: 4413 add r3, r2 806da3c: 460c mov r4, r1 806da3e: 461d mov r5, r3 806da40: cd0f ldmia r5!, {r0, r1, r2, r3} 806da42: c40f stmia r4!, {r0, r1, r2, r3} 806da44: 682b ldr r3, [r5, #0] 806da46: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806da48: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806da4c: 4613 mov r3, r2 806da4e: 009b lsls r3, r3, #2 806da50: 4413 add r3, r2 806da52: 009b lsls r3, r3, #2 806da54: 461a mov r2, r3 806da56: 4b7a ldr r3, [pc, #488] ; (806dc40 ) 806da58: 4413 add r3, r2 806da5a: 461a mov r2, r3 806da5c: 4b7b ldr r3, [pc, #492] ; (806dc4c ) 806da5e: 4614 mov r4, r2 806da60: 461d mov r5, r3 806da62: cd0f ldmia r5!, {r0, r1, r2, r3} 806da64: c40f stmia r4!, {r0, r1, r2, r3} 806da66: 682b ldr r3, [r5, #0] 806da68: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806da6a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806da6e: 3301 adds r3, #1 806da70: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806da74: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806da78: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806da7c: 429a cmp r2, r3 806da7e: d391 bcc.n 806d9a4 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806da80: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806da84: 3301 adds r3, #1 806da86: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806da8a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806da8e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806da92: 429a cmp r2, r3 806da94: f4ff af66 bcc.w 806d964 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806da98: 4b6d ldr r3, [pc, #436] ; (806dc50 ) 806da9a: f207 424c addw r2, r7, #1100 ; 0x44c 806da9e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806daa0: 4b6c ldr r3, [pc, #432] ; (806dc54 ) 806daa2: f507 6289 add.w r2, r7, #1096 ; 0x448 806daa6: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806daa8: 2300 movs r3, #0 806daaa: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806daae: e049 b.n 806db44 { TrendData = TrendRAM_TEMP(i); 806dab0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dab4: 4613 mov r3, r2 806dab6: 009b lsls r3, r3, #2 806dab8: 4413 add r3, r2 806daba: 009b lsls r3, r3, #2 806dabc: 461a mov r2, r3 806dabe: 4b60 ldr r3, [pc, #384] ; (806dc40 ) 806dac0: 4413 add r3, r2 806dac2: 461a mov r2, r3 806dac4: 4b61 ldr r3, [pc, #388] ; (806dc4c ) 806dac6: 461c mov r4, r3 806dac8: 4615 mov r5, r2 806daca: cd0f ldmia r5!, {r0, r1, r2, r3} 806dacc: c40f stmia r4!, {r0, r1, r2, r3} 806dace: 682b ldr r3, [r5, #0] 806dad0: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806dad2: 4b5e ldr r3, [pc, #376] ; (806dc4c ) 806dad4: ed93 7a02 vldr s14, [r3, #8] 806dad8: f207 434c addw r3, r7, #1100 ; 0x44c 806dadc: edd3 7a00 vldr s15, [r3] 806dae0: eeb4 7ae7 vcmpe.f32 s14, s15 806dae4: eef1 fa10 vmrs APSR_nzcv, fpscr 806dae8: dd04 ble.n 806daf4 806daea: 4b58 ldr r3, [pc, #352] ; (806dc4c ) 806daec: 689b ldr r3, [r3, #8] 806daee: f207 424c addw r2, r7, #1100 ; 0x44c 806daf2: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806daf4: 4b55 ldr r3, [pc, #340] ; (806dc4c ) 806daf6: ed93 7a02 vldr s14, [r3, #8] 806dafa: f507 6389 add.w r3, r7, #1096 ; 0x448 806dafe: edd3 7a00 vldr s15, [r3] 806db02: eeb4 7ae7 vcmpe.f32 s14, s15 806db06: eef1 fa10 vmrs APSR_nzcv, fpscr 806db0a: d504 bpl.n 806db16 806db0c: 4b4f ldr r3, [pc, #316] ; (806dc4c ) 806db0e: 689b ldr r3, [r3, #8] 806db10: f507 6289 add.w r2, r7, #1096 ; 0x448 806db14: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806db16: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806db1a: 009a lsls r2, r3, #2 806db1c: 4b4e ldr r3, [pc, #312] ; (806dc58 ) 806db1e: 4413 add r3, r2 806db20: 461a mov r2, r3 806db22: 4b4a ldr r3, [pc, #296] ; (806dc4c ) 806db24: 689b ldr r3, [r3, #8] 806db26: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806db28: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806db2c: 009a lsls r2, r3, #2 806db2e: 4b44 ldr r3, [pc, #272] ; (806dc40 ) 806db30: 4413 add r3, r2 806db32: 461a mov r2, r3 806db34: 4b45 ldr r3, [pc, #276] ; (806dc4c ) 806db36: 68db ldr r3, [r3, #12] 806db38: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806db3a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806db3e: 3301 adds r3, #1 806db40: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806db44: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806db48: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806db4c: 429a cmp r2, r3 806db4e: d3af bcc.n 806dab0 806db50: e166 b.n 806de20 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_excess) 806db52: 4b42 ldr r3, [pc, #264] ; (806dc5c ) 806db54: 781b ldrb r3, [r3, #0] 806db56: b2db uxtb r3, r3 806db58: 2b04 cmp r3, #4 806db5a: f040 8161 bne.w 806de20 { if(pardata.LANG == RUS) 806db5e: 4b40 ldr r3, [pc, #256] ; (806dc60 ) 806db60: 7b1b ldrb r3, [r3, #12] 806db62: b2db uxtb r3, r3 806db64: 2b00 cmp r3, #0 806db66: d106 bne.n 806db76 BSP_LCD_DisplayStringAt(8, 35, "S(ýêñöåññ)", LEFT_MODE); 806db68: 2303 movs r3, #3 806db6a: 4a3e ldr r2, [pc, #248] ; (806dc64 ) 806db6c: 2123 movs r1, #35 ; 0x23 806db6e: 2008 movs r0, #8 806db70: f7e6 fe14 bl 805479c 806db74: e005 b.n 806db82 else BSP_LCD_DisplayStringAt(8, 35, "S(excess)", LEFT_MODE); 806db76: 2303 movs r3, #3 806db78: 4a3b ldr r2, [pc, #236] ; (806dc68 ) 806db7a: 2123 movs r1, #35 ; 0x23 806db7c: 2008 movs r0, #8 806db7e: f7e6 fe0d bl 805479c // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806db82: 2300 movs r3, #0 806db84: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806db88: 2300 movs r3, #0 806db8a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806db8e: e042 b.n 806dc16 { TrendData = TrendRAM(i); 806db90: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806db94: 4613 mov r3, r2 806db96: 009b lsls r3, r3, #2 806db98: 4413 add r3, r2 806db9a: 009b lsls r3, r3, #2 806db9c: 461a mov r2, r3 806db9e: 4b33 ldr r3, [pc, #204] ; (806dc6c ) 806dba0: 4413 add r3, r2 806dba2: 461a mov r2, r3 806dba4: 4b29 ldr r3, [pc, #164] ; (806dc4c ) 806dba6: 461c mov r4, r3 806dba8: 4615 mov r5, r2 806dbaa: cd0f ldmia r5!, {r0, r1, r2, r3} 806dbac: c40f stmia r4!, {r0, r1, r2, r3} 806dbae: 682b ldr r3, [r5, #0] 806dbb0: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'E') && (TrendData.Sval.fl != -1.0f)) 806dbb2: 4b26 ldr r3, [pc, #152] ; (806dc4c ) 806dbb4: 7c9b ldrb r3, [r3, #18] 806dbb6: b2db uxtb r3, r3 806dbb8: 2b45 cmp r3, #69 ; 0x45 806dbba: d127 bne.n 806dc0c 806dbbc: 4b23 ldr r3, [pc, #140] ; (806dc4c ) 806dbbe: edd3 7a02 vldr s15, [r3, #8] 806dbc2: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806dbc6: eef4 7a47 vcmp.f32 s15, s14 806dbca: eef1 fa10 vmrs APSR_nzcv, fpscr 806dbce: d01d beq.n 806dc0c { TrendRAM_TEMP(l) = TrendRAM(i); 806dbd0: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806dbd4: 4613 mov r3, r2 806dbd6: 009b lsls r3, r3, #2 806dbd8: 4413 add r3, r2 806dbda: 009b lsls r3, r3, #2 806dbdc: 461a mov r2, r3 806dbde: 4b18 ldr r3, [pc, #96] ; (806dc40 ) 806dbe0: 4413 add r3, r2 806dbe2: 4619 mov r1, r3 806dbe4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dbe8: 4613 mov r3, r2 806dbea: 009b lsls r3, r3, #2 806dbec: 4413 add r3, r2 806dbee: 009b lsls r3, r3, #2 806dbf0: 461a mov r2, r3 806dbf2: 4b1e ldr r3, [pc, #120] ; (806dc6c ) 806dbf4: 4413 add r3, r2 806dbf6: 460c mov r4, r1 806dbf8: 461d mov r5, r3 806dbfa: cd0f ldmia r5!, {r0, r1, r2, r3} 806dbfc: c40f stmia r4!, {r0, r1, r2, r3} 806dbfe: 682b ldr r3, [r5, #0] 806dc00: 6023 str r3, [r4, #0] l++; 806dc02: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806dc06: 3301 adds r3, #1 806dc08: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806dc0c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806dc10: 3301 adds r3, #1 806dc12: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806dc16: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dc1a: 4b15 ldr r3, [pc, #84] ; (806dc70 ) 806dc1c: 681b ldr r3, [r3, #0] 806dc1e: 429a cmp r2, r3 806dc20: d3b6 bcc.n 806db90 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806dc22: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806dc26: 2b00 cmp r3, #0 806dc28: f000 80fa beq.w 806de20 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806dc2c: 2300 movs r3, #0 806dc2e: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806dc32: e092 b.n 806dd5a { for(i = j; i < l; i++) 806dc34: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806dc38: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806dc3c: e082 b.n 806dd44 806dc3e: bf00 nop 806dc40: 64090000 .word 0x64090000 806dc44: 2002235c .word 0x2002235c 806dc48: 20022948 .word 0x20022948 806dc4c: 20021fd0 .word 0x20021fd0 806dc50: d01502f9 .word 0xd01502f9 806dc54: 501502f9 .word 0x501502f9 806dc58: 64080000 .word 0x64080000 806dc5c: 20020070 .word 0x20020070 806dc60: 20023ea8 .word 0x20023ea8 806dc64: 080d3da4 .word 0x080d3da4 806dc68: 080d3db0 .word 0x080d3db0 806dc6c: 640a0000 .word 0x640a0000 806dc70: 20020e30 .word 0x20020e30 { TrendData1 = TrendRAM_TEMP(i); 806dc74: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dc78: 4613 mov r3, r2 806dc7a: 009b lsls r3, r3, #2 806dc7c: 4413 add r3, r2 806dc7e: 009b lsls r3, r3, #2 806dc80: 461a mov r2, r3 806dc82: 4bb4 ldr r3, [pc, #720] ; (806df54 ) 806dc84: 4413 add r3, r2 806dc86: 461a mov r2, r3 806dc88: 4bb3 ldr r3, [pc, #716] ; (806df58 ) 806dc8a: 461c mov r4, r3 806dc8c: 4615 mov r5, r2 806dc8e: cd0f ldmia r5!, {r0, r1, r2, r3} 806dc90: c40f stmia r4!, {r0, r1, r2, r3} 806dc92: 682b ldr r3, [r5, #0] 806dc94: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806dc96: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806dc9a: 4613 mov r3, r2 806dc9c: 009b lsls r3, r3, #2 806dc9e: 4413 add r3, r2 806dca0: 009b lsls r3, r3, #2 806dca2: 461a mov r2, r3 806dca4: 4bab ldr r3, [pc, #684] ; (806df54 ) 806dca6: 4413 add r3, r2 806dca8: 461a mov r2, r3 806dcaa: 4bac ldr r3, [pc, #688] ; (806df5c ) 806dcac: 461c mov r4, r3 806dcae: 4615 mov r5, r2 806dcb0: cd0f ldmia r5!, {r0, r1, r2, r3} 806dcb2: c40f stmia r4!, {r0, r1, r2, r3} 806dcb4: 682b ldr r3, [r5, #0] 806dcb6: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806dcb8: 4ba7 ldr r3, [pc, #668] ; (806df58 ) 806dcba: 68da ldr r2, [r3, #12] 806dcbc: 4ba7 ldr r3, [pc, #668] ; (806df5c ) 806dcbe: 68db ldr r3, [r3, #12] 806dcc0: 429a cmp r2, r3 806dcc2: d23a bcs.n 806dd3a { TrendData = TrendRAM_TEMP(j); 806dcc4: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806dcc8: 4613 mov r3, r2 806dcca: 009b lsls r3, r3, #2 806dccc: 4413 add r3, r2 806dcce: 009b lsls r3, r3, #2 806dcd0: 461a mov r2, r3 806dcd2: 4ba0 ldr r3, [pc, #640] ; (806df54 ) 806dcd4: 4413 add r3, r2 806dcd6: 461a mov r2, r3 806dcd8: 4ba1 ldr r3, [pc, #644] ; (806df60 ) 806dcda: 461c mov r4, r3 806dcdc: 4615 mov r5, r2 806dcde: cd0f ldmia r5!, {r0, r1, r2, r3} 806dce0: c40f stmia r4!, {r0, r1, r2, r3} 806dce2: 682b ldr r3, [r5, #0] 806dce4: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806dce6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806dcea: 4613 mov r3, r2 806dcec: 009b lsls r3, r3, #2 806dcee: 4413 add r3, r2 806dcf0: 009b lsls r3, r3, #2 806dcf2: 461a mov r2, r3 806dcf4: 4b97 ldr r3, [pc, #604] ; (806df54 ) 806dcf6: 4413 add r3, r2 806dcf8: 4619 mov r1, r3 806dcfa: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dcfe: 4613 mov r3, r2 806dd00: 009b lsls r3, r3, #2 806dd02: 4413 add r3, r2 806dd04: 009b lsls r3, r3, #2 806dd06: 461a mov r2, r3 806dd08: 4b92 ldr r3, [pc, #584] ; (806df54 ) 806dd0a: 4413 add r3, r2 806dd0c: 460c mov r4, r1 806dd0e: 461d mov r5, r3 806dd10: cd0f ldmia r5!, {r0, r1, r2, r3} 806dd12: c40f stmia r4!, {r0, r1, r2, r3} 806dd14: 682b ldr r3, [r5, #0] 806dd16: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806dd18: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dd1c: 4613 mov r3, r2 806dd1e: 009b lsls r3, r3, #2 806dd20: 4413 add r3, r2 806dd22: 009b lsls r3, r3, #2 806dd24: 461a mov r2, r3 806dd26: 4b8b ldr r3, [pc, #556] ; (806df54 ) 806dd28: 4413 add r3, r2 806dd2a: 461a mov r2, r3 806dd2c: 4b8c ldr r3, [pc, #560] ; (806df60 ) 806dd2e: 4614 mov r4, r2 806dd30: 461d mov r5, r3 806dd32: cd0f ldmia r5!, {r0, r1, r2, r3} 806dd34: c40f stmia r4!, {r0, r1, r2, r3} 806dd36: 682b ldr r3, [r5, #0] 806dd38: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806dd3a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806dd3e: 3301 adds r3, #1 806dd40: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806dd44: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dd48: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806dd4c: 429a cmp r2, r3 806dd4e: d391 bcc.n 806dc74 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806dd50: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806dd54: 3301 adds r3, #1 806dd56: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806dd5a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806dd5e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806dd62: 429a cmp r2, r3 806dd64: f4ff af66 bcc.w 806dc34 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806dd68: 4b7e ldr r3, [pc, #504] ; (806df64 ) 806dd6a: f207 424c addw r2, r7, #1100 ; 0x44c 806dd6e: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806dd70: 4b7d ldr r3, [pc, #500] ; (806df68 ) 806dd72: f507 6289 add.w r2, r7, #1096 ; 0x448 806dd76: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806dd78: 2300 movs r3, #0 806dd7a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806dd7e: e049 b.n 806de14 { TrendData = TrendRAM_TEMP(i); 806dd80: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806dd84: 4613 mov r3, r2 806dd86: 009b lsls r3, r3, #2 806dd88: 4413 add r3, r2 806dd8a: 009b lsls r3, r3, #2 806dd8c: 461a mov r2, r3 806dd8e: 4b71 ldr r3, [pc, #452] ; (806df54 ) 806dd90: 4413 add r3, r2 806dd92: 461a mov r2, r3 806dd94: 4b72 ldr r3, [pc, #456] ; (806df60 ) 806dd96: 461c mov r4, r3 806dd98: 4615 mov r5, r2 806dd9a: cd0f ldmia r5!, {r0, r1, r2, r3} 806dd9c: c40f stmia r4!, {r0, r1, r2, r3} 806dd9e: 682b ldr r3, [r5, #0] 806dda0: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806dda2: 4b6f ldr r3, [pc, #444] ; (806df60 ) 806dda4: ed93 7a02 vldr s14, [r3, #8] 806dda8: f207 434c addw r3, r7, #1100 ; 0x44c 806ddac: edd3 7a00 vldr s15, [r3] 806ddb0: eeb4 7ae7 vcmpe.f32 s14, s15 806ddb4: eef1 fa10 vmrs APSR_nzcv, fpscr 806ddb8: dd04 ble.n 806ddc4 806ddba: 4b69 ldr r3, [pc, #420] ; (806df60 ) 806ddbc: 689b ldr r3, [r3, #8] 806ddbe: f207 424c addw r2, r7, #1100 ; 0x44c 806ddc2: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806ddc4: 4b66 ldr r3, [pc, #408] ; (806df60 ) 806ddc6: ed93 7a02 vldr s14, [r3, #8] 806ddca: f507 6389 add.w r3, r7, #1096 ; 0x448 806ddce: edd3 7a00 vldr s15, [r3] 806ddd2: eeb4 7ae7 vcmpe.f32 s14, s15 806ddd6: eef1 fa10 vmrs APSR_nzcv, fpscr 806ddda: d504 bpl.n 806dde6 806dddc: 4b60 ldr r3, [pc, #384] ; (806df60 ) 806ddde: 689b ldr r3, [r3, #8] 806dde0: f507 6289 add.w r2, r7, #1096 ; 0x448 806dde4: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806dde6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ddea: 009a lsls r2, r3, #2 806ddec: 4b5f ldr r3, [pc, #380] ; (806df6c ) 806ddee: 4413 add r3, r2 806ddf0: 461a mov r2, r3 806ddf2: 4b5b ldr r3, [pc, #364] ; (806df60 ) 806ddf4: 689b ldr r3, [r3, #8] 806ddf6: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806ddf8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ddfc: 009a lsls r2, r3, #2 806ddfe: 4b55 ldr r3, [pc, #340] ; (806df54 ) 806de00: 4413 add r3, r2 806de02: 461a mov r2, r3 806de04: 4b56 ldr r3, [pc, #344] ; (806df60 ) 806de06: 68db ldr r3, [r3, #12] 806de08: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806de0a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806de0e: 3301 adds r3, #1 806de10: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806de14: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806de18: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806de1c: 429a cmp r2, r3 806de1e: d3af bcc.n 806dd80 } //////////////////////////////////////////////////////////////////////// /////////////////////////// ÐÈÑÓÅÌ ÒÐÅÍÄ /////////////////////////////// if(menupos == Trend_excess) 806de20: 4b53 ldr r3, [pc, #332] ; (806df70 ) 806de22: 781b ldrb r3, [r3, #0] 806de24: b2db uxtb r3, r3 806de26: 2b04 cmp r3, #4 806de28: f041 83ba bne.w 806f5a0 { if(l) 806de2c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806de30: 2b00 cmp r3, #0 806de32: f02a 83d0 beq.w 80985d6 { y0 = 217; 806de36: 23d9 movs r3, #217 ; 0xd9 806de38: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = 192; 806de3c: 23c0 movs r3, #192 ; 0xc0 806de3e: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a y2 = 167; 806de42: 23a7 movs r3, #167 ; 0xa7 806de44: f8a7 3438 strh.w r3, [r7, #1080] ; 0x438 y3 = 142; 806de48: 238e movs r3, #142 ; 0x8e 806de4a: f8a7 3436 strh.w r3, [r7, #1078] ; 0x436 y4 = 117; 806de4e: 2375 movs r3, #117 ; 0x75 806de50: f8a7 3434 strh.w r3, [r7, #1076] ; 0x434 y5 = 92; 806de54: 235c movs r3, #92 ; 0x5c 806de56: f8a7 3432 strh.w r3, [r7, #1074] ; 0x432 y6 = 67; 806de5a: 2343 movs r3, #67 ; 0x43 806de5c: f8a7 3430 strh.w r3, [r7, #1072] ; 0x430 BSP_LCD_SetFont(&Font8); 806de60: 4844 ldr r0, [pc, #272] ; (806df74 ) 806de62: f7e6 fc11 bl 8054688 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806de66: 4944 ldr r1, [pc, #272] ; (806df78 ) 806de68: 4844 ldr r0, [pc, #272] ; (806df7c ) 806de6a: f7e6 fbd1 bl 8054610 if(fmax <= 15.0f) 806de6e: f207 434c addw r3, r7, #1100 ; 0x44c 806de72: edd3 7a00 vldr s15, [r3] 806de76: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 806de7a: eef4 7ac7 vcmpe.f32 s15, s14 806de7e: eef1 fa10 vmrs APSR_nzcv, fpscr 806de82: d82d bhi.n 806dee0 { BSP_LCD_DisplayStringAt(59, y5 - 2, "15", RIGHT_MODE); 806de84: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806de88: 3b02 subs r3, #2 806de8a: b299 uxth r1, r3 806de8c: 2302 movs r3, #2 806de8e: 4a3c ldr r2, [pc, #240] ; (806df80 ) 806de90: 203b movs r0, #59 ; 0x3b 806de92: f7e6 fc83 bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "10", RIGHT_MODE); 806de96: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806de9a: 3b02 subs r3, #2 806de9c: b299 uxth r1, r3 806de9e: 2302 movs r3, #2 806dea0: 4a38 ldr r2, [pc, #224] ; (806df84 ) 806dea2: 203b movs r0, #59 ; 0x3b 806dea4: f7e6 fc7a bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "5", RIGHT_MODE); 806dea8: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806deac: 3b02 subs r3, #2 806deae: b299 uxth r1, r3 806deb0: 2302 movs r3, #2 806deb2: 4a35 ldr r2, [pc, #212] ; (806df88 ) 806deb4: 203b movs r0, #59 ; 0x3b 806deb6: f7e6 fc71 bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806deba: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806debe: 3b02 subs r3, #2 806dec0: b299 uxth r1, r3 806dec2: 2302 movs r3, #2 806dec4: 4a31 ldr r2, [pc, #196] ; (806df8c ) 806dec6: 203b movs r0, #59 ; 0x3b 806dec8: f7e6 fc68 bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806decc: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806ded0: 3b02 subs r3, #2 806ded2: b299 uxth r1, r3 806ded4: 2302 movs r3, #2 806ded6: 4a2e ldr r2, [pc, #184] ; (806df90 ) 806ded8: 203b movs r0, #59 ; 0x3b 806deda: f7e6 fc5f bl 805479c 806dede: e0d2 b.n 806e086 } else if(fmax <= 100.0f) 806dee0: f207 434c addw r3, r7, #1100 ; 0x44c 806dee4: edd3 7a00 vldr s15, [r3] 806dee8: ed9f 7a2a vldr s14, [pc, #168] ; 806df94 806deec: eef4 7ac7 vcmpe.f32 s15, s14 806def0: eef1 fa10 vmrs APSR_nzcv, fpscr 806def4: d856 bhi.n 806dfa4 { BSP_LCD_DisplayStringAt(59, y5 - 2, "100", RIGHT_MODE); 806def6: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806defa: 3b02 subs r3, #2 806defc: b299 uxth r1, r3 806defe: 2302 movs r3, #2 806df00: 4a25 ldr r2, [pc, #148] ; (806df98 ) 806df02: 203b movs r0, #59 ; 0x3b 806df04: f7e6 fc4a bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "50", RIGHT_MODE); 806df08: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806df0c: 3b02 subs r3, #2 806df0e: b299 uxth r1, r3 806df10: 2302 movs r3, #2 806df12: 4a22 ldr r2, [pc, #136] ; (806df9c ) 806df14: 203b movs r0, #59 ; 0x3b 806df16: f7e6 fc41 bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "10", RIGHT_MODE); 806df1a: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806df1e: 3b02 subs r3, #2 806df20: b299 uxth r1, r3 806df22: 2302 movs r3, #2 806df24: 4a17 ldr r2, [pc, #92] ; (806df84 ) 806df26: 203b movs r0, #59 ; 0x3b 806df28: f7e6 fc38 bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806df2c: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806df30: 3b02 subs r3, #2 806df32: b299 uxth r1, r3 806df34: 2302 movs r3, #2 806df36: 4a15 ldr r2, [pc, #84] ; (806df8c ) 806df38: 203b movs r0, #59 ; 0x3b 806df3a: f7e6 fc2f bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806df3e: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806df42: 3b02 subs r3, #2 806df44: b299 uxth r1, r3 806df46: 2302 movs r3, #2 806df48: 4a11 ldr r2, [pc, #68] ; (806df90 ) 806df4a: 203b movs r0, #59 ; 0x3b 806df4c: f7e6 fc26 bl 805479c 806df50: e099 b.n 806e086 806df52: bf00 nop 806df54: 64090000 .word 0x64090000 806df58: 2002235c .word 0x2002235c 806df5c: 20022948 .word 0x20022948 806df60: 20021fd0 .word 0x20021fd0 806df64: d01502f9 .word 0xd01502f9 806df68: 501502f9 .word 0x501502f9 806df6c: 64080000 .word 0x64080000 806df70: 20020070 .word 0x20020070 806df74: 20020060 .word 0x20020060 806df78: ff0a0f1f .word 0xff0a0f1f 806df7c: ffd3d3d3 .word 0xffd3d3d3 806df80: 080d3dbc .word 0x080d3dbc 806df84: 080d3dc0 .word 0x080d3dc0 806df88: 080d3b28 .word 0x080d3b28 806df8c: 080d3b20 .word 0x080d3b20 806df90: 080d3dc4 .word 0x080d3dc4 806df94: 42c80000 .word 0x42c80000 806df98: 080d3dc8 .word 0x080d3dc8 806df9c: 080d3dcc .word 0x080d3dcc 806dfa0: 447a0000 .word 0x447a0000 } else if(fmax <= 1000.0f) 806dfa4: f207 434c addw r3, r7, #1100 ; 0x44c 806dfa8: edd3 7a00 vldr s15, [r3] 806dfac: ed1f 7a04 vldr s14, [pc, #-16] ; 806dfa0 806dfb0: eef4 7ac7 vcmpe.f32 s15, s14 806dfb4: eef1 fa10 vmrs APSR_nzcv, fpscr 806dfb8: d82d bhi.n 806e016 { BSP_LCD_DisplayStringAt(59, y5 - 2, "1000", RIGHT_MODE); 806dfba: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806dfbe: 3b02 subs r3, #2 806dfc0: b299 uxth r1, r3 806dfc2: 2302 movs r3, #2 806dfc4: 4ab7 ldr r2, [pc, #732] ; (806e2a4 ) 806dfc6: 203b movs r0, #59 ; 0x3b 806dfc8: f7e6 fbe8 bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "500", RIGHT_MODE); 806dfcc: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806dfd0: 3b02 subs r3, #2 806dfd2: b299 uxth r1, r3 806dfd4: 2302 movs r3, #2 806dfd6: 4ab4 ldr r2, [pc, #720] ; (806e2a8 ) 806dfd8: 203b movs r0, #59 ; 0x3b 806dfda: f7e6 fbdf bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 806dfde: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806dfe2: 3b02 subs r3, #2 806dfe4: b299 uxth r1, r3 806dfe6: 2302 movs r3, #2 806dfe8: 4ab0 ldr r2, [pc, #704] ; (806e2ac ) 806dfea: 203b movs r0, #59 ; 0x3b 806dfec: f7e6 fbd6 bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806dff0: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806dff4: 3b02 subs r3, #2 806dff6: b299 uxth r1, r3 806dff8: 2302 movs r3, #2 806dffa: 4aad ldr r2, [pc, #692] ; (806e2b0 ) 806dffc: 203b movs r0, #59 ; 0x3b 806dffe: f7e6 fbcd bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806e002: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806e006: 3b02 subs r3, #2 806e008: b299 uxth r1, r3 806e00a: 2302 movs r3, #2 806e00c: 4aa9 ldr r2, [pc, #676] ; (806e2b4 ) 806e00e: 203b movs r0, #59 ; 0x3b 806e010: f7e6 fbc4 bl 805479c 806e014: e037 b.n 806e086 } else if(fmax <= 10000.0f) 806e016: f207 434c addw r3, r7, #1100 ; 0x44c 806e01a: edd3 7a00 vldr s15, [r3] 806e01e: ed9f 7aa6 vldr s14, [pc, #664] ; 806e2b8 806e022: eef4 7ac7 vcmpe.f32 s15, s14 806e026: eef1 fa10 vmrs APSR_nzcv, fpscr 806e02a: d82c bhi.n 806e086 { BSP_LCD_DisplayStringAt(59, y5 - 2, "10000", RIGHT_MODE); 806e02c: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806e030: 3b02 subs r3, #2 806e032: b299 uxth r1, r3 806e034: 2302 movs r3, #2 806e036: 4aa1 ldr r2, [pc, #644] ; (806e2bc ) 806e038: 203b movs r0, #59 ; 0x3b 806e03a: f7e6 fbaf bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "5000", RIGHT_MODE); 806e03e: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e042: 3b02 subs r3, #2 806e044: b299 uxth r1, r3 806e046: 2302 movs r3, #2 806e048: 4a9d ldr r2, [pc, #628] ; (806e2c0 ) 806e04a: 203b movs r0, #59 ; 0x3b 806e04c: f7e6 fba6 bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "1000", RIGHT_MODE); 806e050: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e054: 3b02 subs r3, #2 806e056: b299 uxth r1, r3 806e058: 2302 movs r3, #2 806e05a: 4a92 ldr r2, [pc, #584] ; (806e2a4 ) 806e05c: 203b movs r0, #59 ; 0x3b 806e05e: f7e6 fb9d bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806e062: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e066: 3b02 subs r3, #2 806e068: b299 uxth r1, r3 806e06a: 2302 movs r3, #2 806e06c: 4a90 ldr r2, [pc, #576] ; (806e2b0 ) 806e06e: 203b movs r0, #59 ; 0x3b 806e070: f7e6 fb94 bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806e074: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806e078: 3b02 subs r3, #2 806e07a: b299 uxth r1, r3 806e07c: 2302 movs r3, #2 806e07e: 4a8d ldr r2, [pc, #564] ; (806e2b4 ) 806e080: 203b movs r0, #59 ; 0x3b 806e082: f7e6 fb8b bl 805479c } if(l == 1) 806e086: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e08a: 2b01 cmp r3, #1 806e08c: f040 811e bne.w 806e2cc { k = CmplxA_u32(0); 806e090: 4b8c ldr r3, [pc, #560] ; (806e2c4 ) 806e092: 681b ldr r3, [r3, #0] 806e094: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806e098: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e09c: 0e5b lsrs r3, r3, #25 806e09e: 3b14 subs r3, #20 806e0a0: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806e0a4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e0a8: 0d5b lsrs r3, r3, #21 806e0aa: f003 030f and.w r3, r3, #15 806e0ae: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806e0b2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e0b6: 0c1b lsrs r3, r3, #16 806e0b8: f003 031f and.w r3, r3, #31 806e0bc: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806e0c0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e0c4: 0adb lsrs r3, r3, #11 806e0c6: f003 031f and.w r3, r3, #31 806e0ca: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806e0ce: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e0d2: 095b lsrs r3, r3, #5 806e0d4: f003 033f and.w r3, r3, #63 ; 0x3f 806e0d8: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806e0dc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e0e0: 005b lsls r3, r3, #1 806e0e2: f003 031f and.w r3, r3, #31 806e0e6: 3301 adds r3, #1 806e0e8: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806e0ec: f507 733b add.w r3, r7, #748 ; 0x2ec 806e0f0: 223c movs r2, #60 ; 0x3c 806e0f2: 2100 movs r1, #0 806e0f4: 4618 mov r0, r3 806e0f6: f063 f953 bl 80d13a0 str[0] = (Day / 10) + 48; 806e0fa: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806e0fe: 4a72 ldr r2, [pc, #456] ; (806e2c8 ) 806e100: fba2 2303 umull r2, r3, r2, r3 806e104: 08db lsrs r3, r3, #3 806e106: b2db uxtb r3, r3 806e108: 3330 adds r3, #48 ; 0x30 806e10a: b2da uxtb r2, r3 806e10c: f507 733b add.w r3, r7, #748 ; 0x2ec 806e110: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806e112: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806e116: 4b6c ldr r3, [pc, #432] ; (806e2c8 ) 806e118: fba3 2301 umull r2, r3, r3, r1 806e11c: 08da lsrs r2, r3, #3 806e11e: 4613 mov r3, r2 806e120: 009b lsls r3, r3, #2 806e122: 4413 add r3, r2 806e124: 005b lsls r3, r3, #1 806e126: 1aca subs r2, r1, r3 806e128: b2d3 uxtb r3, r2 806e12a: 3330 adds r3, #48 ; 0x30 806e12c: b2da uxtb r2, r3 806e12e: f507 733b add.w r3, r7, #748 ; 0x2ec 806e132: 705a strb r2, [r3, #1] str[2] = '.'; 806e134: f507 733b add.w r3, r7, #748 ; 0x2ec 806e138: 222e movs r2, #46 ; 0x2e 806e13a: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806e13c: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806e140: 4a61 ldr r2, [pc, #388] ; (806e2c8 ) 806e142: fba2 2303 umull r2, r3, r2, r3 806e146: 08db lsrs r3, r3, #3 806e148: b2db uxtb r3, r3 806e14a: 3330 adds r3, #48 ; 0x30 806e14c: b2da uxtb r2, r3 806e14e: f507 733b add.w r3, r7, #748 ; 0x2ec 806e152: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806e154: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806e158: 4b5b ldr r3, [pc, #364] ; (806e2c8 ) 806e15a: fba3 2301 umull r2, r3, r3, r1 806e15e: 08da lsrs r2, r3, #3 806e160: 4613 mov r3, r2 806e162: 009b lsls r3, r3, #2 806e164: 4413 add r3, r2 806e166: 005b lsls r3, r3, #1 806e168: 1aca subs r2, r1, r3 806e16a: b2d3 uxtb r3, r2 806e16c: 3330 adds r3, #48 ; 0x30 806e16e: b2da uxtb r2, r3 806e170: f507 733b add.w r3, r7, #748 ; 0x2ec 806e174: 711a strb r2, [r3, #4] str[5] = '.'; 806e176: f507 733b add.w r3, r7, #748 ; 0x2ec 806e17a: 222e movs r2, #46 ; 0x2e 806e17c: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806e17e: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806e182: 4a51 ldr r2, [pc, #324] ; (806e2c8 ) 806e184: fba2 2303 umull r2, r3, r2, r3 806e188: 08db lsrs r3, r3, #3 806e18a: b2db uxtb r3, r3 806e18c: 3330 adds r3, #48 ; 0x30 806e18e: b2da uxtb r2, r3 806e190: f507 733b add.w r3, r7, #748 ; 0x2ec 806e194: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806e196: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806e19a: 4b4b ldr r3, [pc, #300] ; (806e2c8 ) 806e19c: fba3 2301 umull r2, r3, r3, r1 806e1a0: 08da lsrs r2, r3, #3 806e1a2: 4613 mov r3, r2 806e1a4: 009b lsls r3, r3, #2 806e1a6: 4413 add r3, r2 806e1a8: 005b lsls r3, r3, #1 806e1aa: 1aca subs r2, r1, r3 806e1ac: b2d3 uxtb r3, r2 806e1ae: 3330 adds r3, #48 ; 0x30 806e1b0: b2da uxtb r2, r3 806e1b2: f507 733b add.w r3, r7, #748 ; 0x2ec 806e1b6: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 806e1b8: f507 723b add.w r2, r7, #748 ; 0x2ec 806e1bc: 2301 movs r3, #1 806e1be: 21dc movs r1, #220 ; 0xdc 806e1c0: 20be movs r0, #190 ; 0xbe 806e1c2: f7e6 faeb bl 805479c memset(str, 0, sizeof(str)); 806e1c6: f507 733b add.w r3, r7, #748 ; 0x2ec 806e1ca: 223c movs r2, #60 ; 0x3c 806e1cc: 2100 movs r1, #0 806e1ce: 4618 mov r0, r3 806e1d0: f063 f8e6 bl 80d13a0 str[0] = (Hour / 10) + 48; 806e1d4: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806e1d8: 4a3b ldr r2, [pc, #236] ; (806e2c8 ) 806e1da: fba2 2303 umull r2, r3, r2, r3 806e1de: 08db lsrs r3, r3, #3 806e1e0: b2db uxtb r3, r3 806e1e2: 3330 adds r3, #48 ; 0x30 806e1e4: b2da uxtb r2, r3 806e1e6: f507 733b add.w r3, r7, #748 ; 0x2ec 806e1ea: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806e1ec: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806e1f0: 4b35 ldr r3, [pc, #212] ; (806e2c8 ) 806e1f2: fba3 2301 umull r2, r3, r3, r1 806e1f6: 08da lsrs r2, r3, #3 806e1f8: 4613 mov r3, r2 806e1fa: 009b lsls r3, r3, #2 806e1fc: 4413 add r3, r2 806e1fe: 005b lsls r3, r3, #1 806e200: 1aca subs r2, r1, r3 806e202: b2d3 uxtb r3, r2 806e204: 3330 adds r3, #48 ; 0x30 806e206: b2da uxtb r2, r3 806e208: f507 733b add.w r3, r7, #748 ; 0x2ec 806e20c: 705a strb r2, [r3, #1] str[2] = ':'; 806e20e: f507 733b add.w r3, r7, #748 ; 0x2ec 806e212: 223a movs r2, #58 ; 0x3a 806e214: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806e216: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806e21a: 4a2b ldr r2, [pc, #172] ; (806e2c8 ) 806e21c: fba2 2303 umull r2, r3, r2, r3 806e220: 08db lsrs r3, r3, #3 806e222: b2db uxtb r3, r3 806e224: 3330 adds r3, #48 ; 0x30 806e226: b2da uxtb r2, r3 806e228: f507 733b add.w r3, r7, #748 ; 0x2ec 806e22c: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806e22e: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806e232: 4b25 ldr r3, [pc, #148] ; (806e2c8 ) 806e234: fba3 2301 umull r2, r3, r3, r1 806e238: 08da lsrs r2, r3, #3 806e23a: 4613 mov r3, r2 806e23c: 009b lsls r3, r3, #2 806e23e: 4413 add r3, r2 806e240: 005b lsls r3, r3, #1 806e242: 1aca subs r2, r1, r3 806e244: b2d3 uxtb r3, r2 806e246: 3330 adds r3, #48 ; 0x30 806e248: b2da uxtb r2, r3 806e24a: f507 733b add.w r3, r7, #748 ; 0x2ec 806e24e: 711a strb r2, [r3, #4] str[5] = ':'; 806e250: f507 733b add.w r3, r7, #748 ; 0x2ec 806e254: 223a movs r2, #58 ; 0x3a 806e256: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806e258: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806e25c: 4a1a ldr r2, [pc, #104] ; (806e2c8 ) 806e25e: fba2 2303 umull r2, r3, r2, r3 806e262: 08db lsrs r3, r3, #3 806e264: b2db uxtb r3, r3 806e266: 3330 adds r3, #48 ; 0x30 806e268: b2da uxtb r2, r3 806e26a: f507 733b add.w r3, r7, #748 ; 0x2ec 806e26e: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806e270: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806e274: 4b14 ldr r3, [pc, #80] ; (806e2c8 ) 806e276: fba3 2301 umull r2, r3, r3, r1 806e27a: 08da lsrs r2, r3, #3 806e27c: 4613 mov r3, r2 806e27e: 009b lsls r3, r3, #2 806e280: 4413 add r3, r2 806e282: 005b lsls r3, r3, #1 806e284: 1aca subs r2, r1, r3 806e286: b2d3 uxtb r3, r2 806e288: 3330 adds r3, #48 ; 0x30 806e28a: b2da uxtb r2, r3 806e28c: f507 733b add.w r3, r7, #748 ; 0x2ec 806e290: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 806e292: f507 723b add.w r2, r7, #748 ; 0x2ec 806e296: 2301 movs r3, #1 806e298: 21e4 movs r1, #228 ; 0xe4 806e29a: 20be movs r0, #190 ; 0xbe 806e29c: f7e6 fa7e bl 805479c 806e2a0: f000 bd7b b.w 806ed9a 806e2a4: 080d3dd0 .word 0x080d3dd0 806e2a8: 080d3dd8 .word 0x080d3dd8 806e2ac: 080d3dc8 .word 0x080d3dc8 806e2b0: 080d3b20 .word 0x080d3b20 806e2b4: 080d3dc4 .word 0x080d3dc4 806e2b8: 461c4000 .word 0x461c4000 806e2bc: 080d3ddc .word 0x080d3ddc 806e2c0: 080d3de4 .word 0x080d3de4 806e2c4: 64090000 .word 0x64090000 806e2c8: cccccccd .word 0xcccccccd } else if(l == 2) 806e2cc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e2d0: 2b02 cmp r3, #2 806e2d2: f040 821d bne.w 806e710 { k = CmplxA_u32(0); 806e2d6: 4bde ldr r3, [pc, #888] ; (806e650 ) 806e2d8: 681b ldr r3, [r3, #0] 806e2da: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806e2de: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e2e2: 0e5b lsrs r3, r3, #25 806e2e4: 3b14 subs r3, #20 806e2e6: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806e2ea: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e2ee: 0d5b lsrs r3, r3, #21 806e2f0: f003 030f and.w r3, r3, #15 806e2f4: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806e2f8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e2fc: 0c1b lsrs r3, r3, #16 806e2fe: f003 031f and.w r3, r3, #31 806e302: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806e306: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e30a: 0adb lsrs r3, r3, #11 806e30c: f003 031f and.w r3, r3, #31 806e310: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806e314: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e318: 095b lsrs r3, r3, #5 806e31a: f003 033f and.w r3, r3, #63 ; 0x3f 806e31e: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806e322: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e326: 005b lsls r3, r3, #1 806e328: f003 031f and.w r3, r3, #31 806e32c: 3301 adds r3, #1 806e32e: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806e332: f507 733b add.w r3, r7, #748 ; 0x2ec 806e336: 223c movs r2, #60 ; 0x3c 806e338: 2100 movs r1, #0 806e33a: 4618 mov r0, r3 806e33c: f063 f830 bl 80d13a0 str[0] = (Day / 10) + 48; 806e340: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806e344: 4ac3 ldr r2, [pc, #780] ; (806e654 ) 806e346: fba2 2303 umull r2, r3, r2, r3 806e34a: 08db lsrs r3, r3, #3 806e34c: b2db uxtb r3, r3 806e34e: 3330 adds r3, #48 ; 0x30 806e350: b2da uxtb r2, r3 806e352: f507 733b add.w r3, r7, #748 ; 0x2ec 806e356: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806e358: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806e35c: 4bbd ldr r3, [pc, #756] ; (806e654 ) 806e35e: fba3 2301 umull r2, r3, r3, r1 806e362: 08da lsrs r2, r3, #3 806e364: 4613 mov r3, r2 806e366: 009b lsls r3, r3, #2 806e368: 4413 add r3, r2 806e36a: 005b lsls r3, r3, #1 806e36c: 1aca subs r2, r1, r3 806e36e: b2d3 uxtb r3, r2 806e370: 3330 adds r3, #48 ; 0x30 806e372: b2da uxtb r2, r3 806e374: f507 733b add.w r3, r7, #748 ; 0x2ec 806e378: 705a strb r2, [r3, #1] str[2] = '.'; 806e37a: f507 733b add.w r3, r7, #748 ; 0x2ec 806e37e: 222e movs r2, #46 ; 0x2e 806e380: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806e382: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806e386: 4ab3 ldr r2, [pc, #716] ; (806e654 ) 806e388: fba2 2303 umull r2, r3, r2, r3 806e38c: 08db lsrs r3, r3, #3 806e38e: b2db uxtb r3, r3 806e390: 3330 adds r3, #48 ; 0x30 806e392: b2da uxtb r2, r3 806e394: f507 733b add.w r3, r7, #748 ; 0x2ec 806e398: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806e39a: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806e39e: 4bad ldr r3, [pc, #692] ; (806e654 ) 806e3a0: fba3 2301 umull r2, r3, r3, r1 806e3a4: 08da lsrs r2, r3, #3 806e3a6: 4613 mov r3, r2 806e3a8: 009b lsls r3, r3, #2 806e3aa: 4413 add r3, r2 806e3ac: 005b lsls r3, r3, #1 806e3ae: 1aca subs r2, r1, r3 806e3b0: b2d3 uxtb r3, r2 806e3b2: 3330 adds r3, #48 ; 0x30 806e3b4: b2da uxtb r2, r3 806e3b6: f507 733b add.w r3, r7, #748 ; 0x2ec 806e3ba: 711a strb r2, [r3, #4] str[5] = '.'; 806e3bc: f507 733b add.w r3, r7, #748 ; 0x2ec 806e3c0: 222e movs r2, #46 ; 0x2e 806e3c2: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806e3c4: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806e3c8: 4aa2 ldr r2, [pc, #648] ; (806e654 ) 806e3ca: fba2 2303 umull r2, r3, r2, r3 806e3ce: 08db lsrs r3, r3, #3 806e3d0: b2db uxtb r3, r3 806e3d2: 3330 adds r3, #48 ; 0x30 806e3d4: b2da uxtb r2, r3 806e3d6: f507 733b add.w r3, r7, #748 ; 0x2ec 806e3da: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806e3dc: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806e3e0: 4b9c ldr r3, [pc, #624] ; (806e654 ) 806e3e2: fba3 2301 umull r2, r3, r3, r1 806e3e6: 08da lsrs r2, r3, #3 806e3e8: 4613 mov r3, r2 806e3ea: 009b lsls r3, r3, #2 806e3ec: 4413 add r3, r2 806e3ee: 005b lsls r3, r3, #1 806e3f0: 1aca subs r2, r1, r3 806e3f2: b2d3 uxtb r3, r2 806e3f4: 3330 adds r3, #48 ; 0x30 806e3f6: b2da uxtb r2, r3 806e3f8: f507 733b add.w r3, r7, #748 ; 0x2ec 806e3fc: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806e3fe: f507 723b add.w r2, r7, #748 ; 0x2ec 806e402: 2301 movs r3, #1 806e404: 21dc movs r1, #220 ; 0xdc 806e406: 2050 movs r0, #80 ; 0x50 806e408: f7e6 f9c8 bl 805479c memset(str, 0, sizeof(str)); 806e40c: f507 733b add.w r3, r7, #748 ; 0x2ec 806e410: 223c movs r2, #60 ; 0x3c 806e412: 2100 movs r1, #0 806e414: 4618 mov r0, r3 806e416: f062 ffc3 bl 80d13a0 str[0] = (Hour / 10) + 48; 806e41a: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806e41e: 4a8d ldr r2, [pc, #564] ; (806e654 ) 806e420: fba2 2303 umull r2, r3, r2, r3 806e424: 08db lsrs r3, r3, #3 806e426: b2db uxtb r3, r3 806e428: 3330 adds r3, #48 ; 0x30 806e42a: b2da uxtb r2, r3 806e42c: f507 733b add.w r3, r7, #748 ; 0x2ec 806e430: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806e432: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806e436: 4b87 ldr r3, [pc, #540] ; (806e654 ) 806e438: fba3 2301 umull r2, r3, r3, r1 806e43c: 08da lsrs r2, r3, #3 806e43e: 4613 mov r3, r2 806e440: 009b lsls r3, r3, #2 806e442: 4413 add r3, r2 806e444: 005b lsls r3, r3, #1 806e446: 1aca subs r2, r1, r3 806e448: b2d3 uxtb r3, r2 806e44a: 3330 adds r3, #48 ; 0x30 806e44c: b2da uxtb r2, r3 806e44e: f507 733b add.w r3, r7, #748 ; 0x2ec 806e452: 705a strb r2, [r3, #1] str[2] = ':'; 806e454: f507 733b add.w r3, r7, #748 ; 0x2ec 806e458: 223a movs r2, #58 ; 0x3a 806e45a: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806e45c: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806e460: 4a7c ldr r2, [pc, #496] ; (806e654 ) 806e462: fba2 2303 umull r2, r3, r2, r3 806e466: 08db lsrs r3, r3, #3 806e468: b2db uxtb r3, r3 806e46a: 3330 adds r3, #48 ; 0x30 806e46c: b2da uxtb r2, r3 806e46e: f507 733b add.w r3, r7, #748 ; 0x2ec 806e472: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806e474: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806e478: 4b76 ldr r3, [pc, #472] ; (806e654 ) 806e47a: fba3 2301 umull r2, r3, r3, r1 806e47e: 08da lsrs r2, r3, #3 806e480: 4613 mov r3, r2 806e482: 009b lsls r3, r3, #2 806e484: 4413 add r3, r2 806e486: 005b lsls r3, r3, #1 806e488: 1aca subs r2, r1, r3 806e48a: b2d3 uxtb r3, r2 806e48c: 3330 adds r3, #48 ; 0x30 806e48e: b2da uxtb r2, r3 806e490: f507 733b add.w r3, r7, #748 ; 0x2ec 806e494: 711a strb r2, [r3, #4] str[5] = ':'; 806e496: f507 733b add.w r3, r7, #748 ; 0x2ec 806e49a: 223a movs r2, #58 ; 0x3a 806e49c: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806e49e: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806e4a2: 4a6c ldr r2, [pc, #432] ; (806e654 ) 806e4a4: fba2 2303 umull r2, r3, r2, r3 806e4a8: 08db lsrs r3, r3, #3 806e4aa: b2db uxtb r3, r3 806e4ac: 3330 adds r3, #48 ; 0x30 806e4ae: b2da uxtb r2, r3 806e4b0: f507 733b add.w r3, r7, #748 ; 0x2ec 806e4b4: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806e4b6: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806e4ba: 4b66 ldr r3, [pc, #408] ; (806e654 ) 806e4bc: fba3 2301 umull r2, r3, r3, r1 806e4c0: 08da lsrs r2, r3, #3 806e4c2: 4613 mov r3, r2 806e4c4: 009b lsls r3, r3, #2 806e4c6: 4413 add r3, r2 806e4c8: 005b lsls r3, r3, #1 806e4ca: 1aca subs r2, r1, r3 806e4cc: b2d3 uxtb r3, r2 806e4ce: 3330 adds r3, #48 ; 0x30 806e4d0: b2da uxtb r2, r3 806e4d2: f507 733b add.w r3, r7, #748 ; 0x2ec 806e4d6: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 806e4d8: f507 723b add.w r2, r7, #748 ; 0x2ec 806e4dc: 2301 movs r3, #1 806e4de: 21e4 movs r1, #228 ; 0xe4 806e4e0: 2050 movs r0, #80 ; 0x50 806e4e2: f7e6 f95b bl 805479c k = CmplxA_u32(1); 806e4e6: 4b5c ldr r3, [pc, #368] ; (806e658 ) 806e4e8: 681b ldr r3, [r3, #0] 806e4ea: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806e4ee: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e4f2: 0e5b lsrs r3, r3, #25 806e4f4: 3b14 subs r3, #20 806e4f6: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806e4fa: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e4fe: 0d5b lsrs r3, r3, #21 806e500: f003 030f and.w r3, r3, #15 806e504: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806e508: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e50c: 0c1b lsrs r3, r3, #16 806e50e: f003 031f and.w r3, r3, #31 806e512: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806e516: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e51a: 0adb lsrs r3, r3, #11 806e51c: f003 031f and.w r3, r3, #31 806e520: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806e524: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e528: 095b lsrs r3, r3, #5 806e52a: f003 033f and.w r3, r3, #63 ; 0x3f 806e52e: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806e532: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e536: 005b lsls r3, r3, #1 806e538: f003 031f and.w r3, r3, #31 806e53c: 3301 adds r3, #1 806e53e: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806e542: f507 733b add.w r3, r7, #748 ; 0x2ec 806e546: 223c movs r2, #60 ; 0x3c 806e548: 2100 movs r1, #0 806e54a: 4618 mov r0, r3 806e54c: f062 ff28 bl 80d13a0 str[0] = (Day / 10) + 48; 806e550: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806e554: 4a3f ldr r2, [pc, #252] ; (806e654 ) 806e556: fba2 2303 umull r2, r3, r2, r3 806e55a: 08db lsrs r3, r3, #3 806e55c: b2db uxtb r3, r3 806e55e: 3330 adds r3, #48 ; 0x30 806e560: b2da uxtb r2, r3 806e562: f507 733b add.w r3, r7, #748 ; 0x2ec 806e566: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806e568: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806e56c: 4b39 ldr r3, [pc, #228] ; (806e654 ) 806e56e: fba3 2301 umull r2, r3, r3, r1 806e572: 08da lsrs r2, r3, #3 806e574: 4613 mov r3, r2 806e576: 009b lsls r3, r3, #2 806e578: 4413 add r3, r2 806e57a: 005b lsls r3, r3, #1 806e57c: 1aca subs r2, r1, r3 806e57e: b2d3 uxtb r3, r2 806e580: 3330 adds r3, #48 ; 0x30 806e582: b2da uxtb r2, r3 806e584: f507 733b add.w r3, r7, #748 ; 0x2ec 806e588: 705a strb r2, [r3, #1] str[2] = '.'; 806e58a: f507 733b add.w r3, r7, #748 ; 0x2ec 806e58e: 222e movs r2, #46 ; 0x2e 806e590: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806e592: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806e596: 4a2f ldr r2, [pc, #188] ; (806e654 ) 806e598: fba2 2303 umull r2, r3, r2, r3 806e59c: 08db lsrs r3, r3, #3 806e59e: b2db uxtb r3, r3 806e5a0: 3330 adds r3, #48 ; 0x30 806e5a2: b2da uxtb r2, r3 806e5a4: f507 733b add.w r3, r7, #748 ; 0x2ec 806e5a8: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806e5aa: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806e5ae: 4b29 ldr r3, [pc, #164] ; (806e654 ) 806e5b0: fba3 2301 umull r2, r3, r3, r1 806e5b4: 08da lsrs r2, r3, #3 806e5b6: 4613 mov r3, r2 806e5b8: 009b lsls r3, r3, #2 806e5ba: 4413 add r3, r2 806e5bc: 005b lsls r3, r3, #1 806e5be: 1aca subs r2, r1, r3 806e5c0: b2d3 uxtb r3, r2 806e5c2: 3330 adds r3, #48 ; 0x30 806e5c4: b2da uxtb r2, r3 806e5c6: f507 733b add.w r3, r7, #748 ; 0x2ec 806e5ca: 711a strb r2, [r3, #4] str[5] = '.'; 806e5cc: f507 733b add.w r3, r7, #748 ; 0x2ec 806e5d0: 222e movs r2, #46 ; 0x2e 806e5d2: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806e5d4: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806e5d8: 4a1e ldr r2, [pc, #120] ; (806e654 ) 806e5da: fba2 2303 umull r2, r3, r2, r3 806e5de: 08db lsrs r3, r3, #3 806e5e0: b2db uxtb r3, r3 806e5e2: 3330 adds r3, #48 ; 0x30 806e5e4: b2da uxtb r2, r3 806e5e6: f507 733b add.w r3, r7, #748 ; 0x2ec 806e5ea: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806e5ec: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806e5f0: 4b18 ldr r3, [pc, #96] ; (806e654 ) 806e5f2: fba3 2301 umull r2, r3, r3, r1 806e5f6: 08da lsrs r2, r3, #3 806e5f8: 4613 mov r3, r2 806e5fa: 009b lsls r3, r3, #2 806e5fc: 4413 add r3, r2 806e5fe: 005b lsls r3, r3, #1 806e600: 1aca subs r2, r1, r3 806e602: b2d3 uxtb r3, r2 806e604: 3330 adds r3, #48 ; 0x30 806e606: b2da uxtb r2, r3 806e608: f507 733b add.w r3, r7, #748 ; 0x2ec 806e60c: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 806e60e: f507 723b add.w r2, r7, #748 ; 0x2ec 806e612: 2301 movs r3, #1 806e614: 21dc movs r1, #220 ; 0xdc 806e616: f44f 7095 mov.w r0, #298 ; 0x12a 806e61a: f7e6 f8bf bl 805479c memset(str, 0, sizeof(str)); 806e61e: f507 733b add.w r3, r7, #748 ; 0x2ec 806e622: 223c movs r2, #60 ; 0x3c 806e624: 2100 movs r1, #0 806e626: 4618 mov r0, r3 806e628: f062 feba bl 80d13a0 str[0] = (Hour / 10) + 48; 806e62c: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806e630: 4a08 ldr r2, [pc, #32] ; (806e654 ) 806e632: fba2 2303 umull r2, r3, r2, r3 806e636: 08db lsrs r3, r3, #3 806e638: b2db uxtb r3, r3 806e63a: 3330 adds r3, #48 ; 0x30 806e63c: b2da uxtb r2, r3 806e63e: f507 733b add.w r3, r7, #748 ; 0x2ec 806e642: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806e644: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806e648: 4b02 ldr r3, [pc, #8] ; (806e654 ) 806e64a: fba3 2301 umull r2, r3, r3, r1 806e64e: e005 b.n 806e65c 806e650: 64090000 .word 0x64090000 806e654: cccccccd .word 0xcccccccd 806e658: 64090004 .word 0x64090004 806e65c: 08da lsrs r2, r3, #3 806e65e: 4613 mov r3, r2 806e660: 009b lsls r3, r3, #2 806e662: 4413 add r3, r2 806e664: 005b lsls r3, r3, #1 806e666: 1aca subs r2, r1, r3 806e668: b2d3 uxtb r3, r2 806e66a: 3330 adds r3, #48 ; 0x30 806e66c: b2da uxtb r2, r3 806e66e: f507 733b add.w r3, r7, #748 ; 0x2ec 806e672: 705a strb r2, [r3, #1] str[2] = ':'; 806e674: f507 733b add.w r3, r7, #748 ; 0x2ec 806e678: 223a movs r2, #58 ; 0x3a 806e67a: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806e67c: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806e680: 4a22 ldr r2, [pc, #136] ; (806e70c ) 806e682: fba2 2303 umull r2, r3, r2, r3 806e686: 08db lsrs r3, r3, #3 806e688: b2db uxtb r3, r3 806e68a: 3330 adds r3, #48 ; 0x30 806e68c: b2da uxtb r2, r3 806e68e: f507 733b add.w r3, r7, #748 ; 0x2ec 806e692: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806e694: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806e698: 4b1c ldr r3, [pc, #112] ; (806e70c ) 806e69a: fba3 2301 umull r2, r3, r3, r1 806e69e: 08da lsrs r2, r3, #3 806e6a0: 4613 mov r3, r2 806e6a2: 009b lsls r3, r3, #2 806e6a4: 4413 add r3, r2 806e6a6: 005b lsls r3, r3, #1 806e6a8: 1aca subs r2, r1, r3 806e6aa: b2d3 uxtb r3, r2 806e6ac: 3330 adds r3, #48 ; 0x30 806e6ae: b2da uxtb r2, r3 806e6b0: f507 733b add.w r3, r7, #748 ; 0x2ec 806e6b4: 711a strb r2, [r3, #4] str[5] = ':'; 806e6b6: f507 733b add.w r3, r7, #748 ; 0x2ec 806e6ba: 223a movs r2, #58 ; 0x3a 806e6bc: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806e6be: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806e6c2: 4a12 ldr r2, [pc, #72] ; (806e70c ) 806e6c4: fba2 2303 umull r2, r3, r2, r3 806e6c8: 08db lsrs r3, r3, #3 806e6ca: b2db uxtb r3, r3 806e6cc: 3330 adds r3, #48 ; 0x30 806e6ce: b2da uxtb r2, r3 806e6d0: f507 733b add.w r3, r7, #748 ; 0x2ec 806e6d4: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806e6d6: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806e6da: 4b0c ldr r3, [pc, #48] ; (806e70c ) 806e6dc: fba3 2301 umull r2, r3, r3, r1 806e6e0: 08da lsrs r2, r3, #3 806e6e2: 4613 mov r3, r2 806e6e4: 009b lsls r3, r3, #2 806e6e6: 4413 add r3, r2 806e6e8: 005b lsls r3, r3, #1 806e6ea: 1aca subs r2, r1, r3 806e6ec: b2d3 uxtb r3, r2 806e6ee: 3330 adds r3, #48 ; 0x30 806e6f0: b2da uxtb r2, r3 806e6f2: f507 733b add.w r3, r7, #748 ; 0x2ec 806e6f6: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 806e6f8: f507 723b add.w r2, r7, #748 ; 0x2ec 806e6fc: 2301 movs r3, #1 806e6fe: 21e4 movs r1, #228 ; 0xe4 806e700: f44f 7095 mov.w r0, #298 ; 0x12a 806e704: f7e6 f84a bl 805479c 806e708: e347 b.n 806ed9a 806e70a: bf00 nop 806e70c: cccccccd .word 0xcccccccd } else { k = CmplxA_u32(0); 806e710: 4be0 ldr r3, [pc, #896] ; (806ea94 ) 806e712: 681b ldr r3, [r3, #0] 806e714: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806e718: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e71c: 0e5b lsrs r3, r3, #25 806e71e: 3b14 subs r3, #20 806e720: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806e724: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e728: 0d5b lsrs r3, r3, #21 806e72a: f003 030f and.w r3, r3, #15 806e72e: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806e732: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e736: 0c1b lsrs r3, r3, #16 806e738: f003 031f and.w r3, r3, #31 806e73c: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806e740: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e744: 0adb lsrs r3, r3, #11 806e746: f003 031f and.w r3, r3, #31 806e74a: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806e74e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e752: 095b lsrs r3, r3, #5 806e754: f003 033f and.w r3, r3, #63 ; 0x3f 806e758: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806e75c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e760: 005b lsls r3, r3, #1 806e762: f003 031f and.w r3, r3, #31 806e766: 3301 adds r3, #1 806e768: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806e76c: f507 733b add.w r3, r7, #748 ; 0x2ec 806e770: 223c movs r2, #60 ; 0x3c 806e772: 2100 movs r1, #0 806e774: 4618 mov r0, r3 806e776: f062 fe13 bl 80d13a0 str[0] = (Day / 10) + 48; 806e77a: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806e77e: 4ac6 ldr r2, [pc, #792] ; (806ea98 ) 806e780: fba2 2303 umull r2, r3, r2, r3 806e784: 08db lsrs r3, r3, #3 806e786: b2db uxtb r3, r3 806e788: 3330 adds r3, #48 ; 0x30 806e78a: b2da uxtb r2, r3 806e78c: f507 733b add.w r3, r7, #748 ; 0x2ec 806e790: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806e792: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806e796: 4bc0 ldr r3, [pc, #768] ; (806ea98 ) 806e798: fba3 2301 umull r2, r3, r3, r1 806e79c: 08da lsrs r2, r3, #3 806e79e: 4613 mov r3, r2 806e7a0: 009b lsls r3, r3, #2 806e7a2: 4413 add r3, r2 806e7a4: 005b lsls r3, r3, #1 806e7a6: 1aca subs r2, r1, r3 806e7a8: b2d3 uxtb r3, r2 806e7aa: 3330 adds r3, #48 ; 0x30 806e7ac: b2da uxtb r2, r3 806e7ae: f507 733b add.w r3, r7, #748 ; 0x2ec 806e7b2: 705a strb r2, [r3, #1] str[2] = '.'; 806e7b4: f507 733b add.w r3, r7, #748 ; 0x2ec 806e7b8: 222e movs r2, #46 ; 0x2e 806e7ba: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806e7bc: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806e7c0: 4ab5 ldr r2, [pc, #724] ; (806ea98 ) 806e7c2: fba2 2303 umull r2, r3, r2, r3 806e7c6: 08db lsrs r3, r3, #3 806e7c8: b2db uxtb r3, r3 806e7ca: 3330 adds r3, #48 ; 0x30 806e7cc: b2da uxtb r2, r3 806e7ce: f507 733b add.w r3, r7, #748 ; 0x2ec 806e7d2: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806e7d4: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806e7d8: 4baf ldr r3, [pc, #700] ; (806ea98 ) 806e7da: fba3 2301 umull r2, r3, r3, r1 806e7de: 08da lsrs r2, r3, #3 806e7e0: 4613 mov r3, r2 806e7e2: 009b lsls r3, r3, #2 806e7e4: 4413 add r3, r2 806e7e6: 005b lsls r3, r3, #1 806e7e8: 1aca subs r2, r1, r3 806e7ea: b2d3 uxtb r3, r2 806e7ec: 3330 adds r3, #48 ; 0x30 806e7ee: b2da uxtb r2, r3 806e7f0: f507 733b add.w r3, r7, #748 ; 0x2ec 806e7f4: 711a strb r2, [r3, #4] str[5] = '.'; 806e7f6: f507 733b add.w r3, r7, #748 ; 0x2ec 806e7fa: 222e movs r2, #46 ; 0x2e 806e7fc: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806e7fe: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806e802: 4aa5 ldr r2, [pc, #660] ; (806ea98 ) 806e804: fba2 2303 umull r2, r3, r2, r3 806e808: 08db lsrs r3, r3, #3 806e80a: b2db uxtb r3, r3 806e80c: 3330 adds r3, #48 ; 0x30 806e80e: b2da uxtb r2, r3 806e810: f507 733b add.w r3, r7, #748 ; 0x2ec 806e814: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806e816: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806e81a: 4b9f ldr r3, [pc, #636] ; (806ea98 ) 806e81c: fba3 2301 umull r2, r3, r3, r1 806e820: 08da lsrs r2, r3, #3 806e822: 4613 mov r3, r2 806e824: 009b lsls r3, r3, #2 806e826: 4413 add r3, r2 806e828: 005b lsls r3, r3, #1 806e82a: 1aca subs r2, r1, r3 806e82c: b2d3 uxtb r3, r2 806e82e: 3330 adds r3, #48 ; 0x30 806e830: b2da uxtb r2, r3 806e832: f507 733b add.w r3, r7, #748 ; 0x2ec 806e836: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806e838: f507 723b add.w r2, r7, #748 ; 0x2ec 806e83c: 2301 movs r3, #1 806e83e: 21dc movs r1, #220 ; 0xdc 806e840: 2050 movs r0, #80 ; 0x50 806e842: f7e5 ffab bl 805479c memset(str, 0, sizeof(str)); 806e846: f507 733b add.w r3, r7, #748 ; 0x2ec 806e84a: 223c movs r2, #60 ; 0x3c 806e84c: 2100 movs r1, #0 806e84e: 4618 mov r0, r3 806e850: f062 fda6 bl 80d13a0 str[0] = (Hour / 10) + 48; 806e854: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806e858: 4a8f ldr r2, [pc, #572] ; (806ea98 ) 806e85a: fba2 2303 umull r2, r3, r2, r3 806e85e: 08db lsrs r3, r3, #3 806e860: b2db uxtb r3, r3 806e862: 3330 adds r3, #48 ; 0x30 806e864: b2da uxtb r2, r3 806e866: f507 733b add.w r3, r7, #748 ; 0x2ec 806e86a: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806e86c: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806e870: 4b89 ldr r3, [pc, #548] ; (806ea98 ) 806e872: fba3 2301 umull r2, r3, r3, r1 806e876: 08da lsrs r2, r3, #3 806e878: 4613 mov r3, r2 806e87a: 009b lsls r3, r3, #2 806e87c: 4413 add r3, r2 806e87e: 005b lsls r3, r3, #1 806e880: 1aca subs r2, r1, r3 806e882: b2d3 uxtb r3, r2 806e884: 3330 adds r3, #48 ; 0x30 806e886: b2da uxtb r2, r3 806e888: f507 733b add.w r3, r7, #748 ; 0x2ec 806e88c: 705a strb r2, [r3, #1] str[2] = ':'; 806e88e: f507 733b add.w r3, r7, #748 ; 0x2ec 806e892: 223a movs r2, #58 ; 0x3a 806e894: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806e896: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806e89a: 4a7f ldr r2, [pc, #508] ; (806ea98 ) 806e89c: fba2 2303 umull r2, r3, r2, r3 806e8a0: 08db lsrs r3, r3, #3 806e8a2: b2db uxtb r3, r3 806e8a4: 3330 adds r3, #48 ; 0x30 806e8a6: b2da uxtb r2, r3 806e8a8: f507 733b add.w r3, r7, #748 ; 0x2ec 806e8ac: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806e8ae: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806e8b2: 4b79 ldr r3, [pc, #484] ; (806ea98 ) 806e8b4: fba3 2301 umull r2, r3, r3, r1 806e8b8: 08da lsrs r2, r3, #3 806e8ba: 4613 mov r3, r2 806e8bc: 009b lsls r3, r3, #2 806e8be: 4413 add r3, r2 806e8c0: 005b lsls r3, r3, #1 806e8c2: 1aca subs r2, r1, r3 806e8c4: b2d3 uxtb r3, r2 806e8c6: 3330 adds r3, #48 ; 0x30 806e8c8: b2da uxtb r2, r3 806e8ca: f507 733b add.w r3, r7, #748 ; 0x2ec 806e8ce: 711a strb r2, [r3, #4] str[5] = ':'; 806e8d0: f507 733b add.w r3, r7, #748 ; 0x2ec 806e8d4: 223a movs r2, #58 ; 0x3a 806e8d6: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806e8d8: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806e8dc: 4a6e ldr r2, [pc, #440] ; (806ea98 ) 806e8de: fba2 2303 umull r2, r3, r2, r3 806e8e2: 08db lsrs r3, r3, #3 806e8e4: b2db uxtb r3, r3 806e8e6: 3330 adds r3, #48 ; 0x30 806e8e8: b2da uxtb r2, r3 806e8ea: f507 733b add.w r3, r7, #748 ; 0x2ec 806e8ee: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806e8f0: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806e8f4: 4b68 ldr r3, [pc, #416] ; (806ea98 ) 806e8f6: fba3 2301 umull r2, r3, r3, r1 806e8fa: 08da lsrs r2, r3, #3 806e8fc: 4613 mov r3, r2 806e8fe: 009b lsls r3, r3, #2 806e900: 4413 add r3, r2 806e902: 005b lsls r3, r3, #1 806e904: 1aca subs r2, r1, r3 806e906: b2d3 uxtb r3, r2 806e908: 3330 adds r3, #48 ; 0x30 806e90a: b2da uxtb r2, r3 806e90c: f507 733b add.w r3, r7, #748 ; 0x2ec 806e910: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 806e912: f507 723b add.w r2, r7, #748 ; 0x2ec 806e916: 2301 movs r3, #1 806e918: 21e4 movs r1, #228 ; 0xe4 806e91a: 2050 movs r0, #80 ; 0x50 806e91c: f7e5 ff3e bl 805479c f = (float32_t) l / 2; 806e920: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e924: ee07 3a90 vmov s15, r3 806e928: eeb8 7a67 vcvt.f32.u32 s14, s15 806e92c: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 806e930: eec7 7a26 vdiv.f32 s15, s14, s13 806e934: f507 638b add.w r3, r7, #1112 ; 0x458 806e938: edc3 7a00 vstr s15, [r3] i = (uint32_t) (f + 0.5f); 806e93c: f507 638b add.w r3, r7, #1112 ; 0x458 806e940: edd3 7a00 vldr s15, [r3] 806e944: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e948: ee77 7a87 vadd.f32 s15, s15, s14 806e94c: eefc 7ae7 vcvt.u32.f32 s15, s15 806e950: ee17 3a90 vmov r3, s15 806e954: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 k = CmplxA_u32(i); 806e958: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e95c: 009a lsls r2, r3, #2 806e95e: 4b4d ldr r3, [pc, #308] ; (806ea94 ) 806e960: 4413 add r3, r2 806e962: 681b ldr r3, [r3, #0] 806e964: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806e968: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e96c: 0e5b lsrs r3, r3, #25 806e96e: 3b14 subs r3, #20 806e970: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806e974: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e978: 0d5b lsrs r3, r3, #21 806e97a: f003 030f and.w r3, r3, #15 806e97e: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806e982: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e986: 0c1b lsrs r3, r3, #16 806e988: f003 031f and.w r3, r3, #31 806e98c: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806e990: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e994: 0adb lsrs r3, r3, #11 806e996: f003 031f and.w r3, r3, #31 806e99a: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806e99e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e9a2: 095b lsrs r3, r3, #5 806e9a4: f003 033f and.w r3, r3, #63 ; 0x3f 806e9a8: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806e9ac: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e9b0: 005b lsls r3, r3, #1 806e9b2: f003 031f and.w r3, r3, #31 806e9b6: 3301 adds r3, #1 806e9b8: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806e9bc: f507 733b add.w r3, r7, #748 ; 0x2ec 806e9c0: 223c movs r2, #60 ; 0x3c 806e9c2: 2100 movs r1, #0 806e9c4: 4618 mov r0, r3 806e9c6: f062 fceb bl 80d13a0 str[0] = (Day / 10) + 48; 806e9ca: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806e9ce: 4a32 ldr r2, [pc, #200] ; (806ea98 ) 806e9d0: fba2 2303 umull r2, r3, r2, r3 806e9d4: 08db lsrs r3, r3, #3 806e9d6: b2db uxtb r3, r3 806e9d8: 3330 adds r3, #48 ; 0x30 806e9da: b2da uxtb r2, r3 806e9dc: f507 733b add.w r3, r7, #748 ; 0x2ec 806e9e0: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806e9e2: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806e9e6: 4b2c ldr r3, [pc, #176] ; (806ea98 ) 806e9e8: fba3 2301 umull r2, r3, r3, r1 806e9ec: 08da lsrs r2, r3, #3 806e9ee: 4613 mov r3, r2 806e9f0: 009b lsls r3, r3, #2 806e9f2: 4413 add r3, r2 806e9f4: 005b lsls r3, r3, #1 806e9f6: 1aca subs r2, r1, r3 806e9f8: b2d3 uxtb r3, r2 806e9fa: 3330 adds r3, #48 ; 0x30 806e9fc: b2da uxtb r2, r3 806e9fe: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea02: 705a strb r2, [r3, #1] str[2] = '.'; 806ea04: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea08: 222e movs r2, #46 ; 0x2e 806ea0a: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806ea0c: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806ea10: 4a21 ldr r2, [pc, #132] ; (806ea98 ) 806ea12: fba2 2303 umull r2, r3, r2, r3 806ea16: 08db lsrs r3, r3, #3 806ea18: b2db uxtb r3, r3 806ea1a: 3330 adds r3, #48 ; 0x30 806ea1c: b2da uxtb r2, r3 806ea1e: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea22: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806ea24: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806ea28: 4b1b ldr r3, [pc, #108] ; (806ea98 ) 806ea2a: fba3 2301 umull r2, r3, r3, r1 806ea2e: 08da lsrs r2, r3, #3 806ea30: 4613 mov r3, r2 806ea32: 009b lsls r3, r3, #2 806ea34: 4413 add r3, r2 806ea36: 005b lsls r3, r3, #1 806ea38: 1aca subs r2, r1, r3 806ea3a: b2d3 uxtb r3, r2 806ea3c: 3330 adds r3, #48 ; 0x30 806ea3e: b2da uxtb r2, r3 806ea40: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea44: 711a strb r2, [r3, #4] str[5] = '.'; 806ea46: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea4a: 222e movs r2, #46 ; 0x2e 806ea4c: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806ea4e: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806ea52: 4a11 ldr r2, [pc, #68] ; (806ea98 ) 806ea54: fba2 2303 umull r2, r3, r2, r3 806ea58: 08db lsrs r3, r3, #3 806ea5a: b2db uxtb r3, r3 806ea5c: 3330 adds r3, #48 ; 0x30 806ea5e: b2da uxtb r2, r3 806ea60: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea64: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806ea66: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806ea6a: 4b0b ldr r3, [pc, #44] ; (806ea98 ) 806ea6c: fba3 2301 umull r2, r3, r3, r1 806ea70: 08da lsrs r2, r3, #3 806ea72: 4613 mov r3, r2 806ea74: 009b lsls r3, r3, #2 806ea76: 4413 add r3, r2 806ea78: 005b lsls r3, r3, #1 806ea7a: 1aca subs r2, r1, r3 806ea7c: b2d3 uxtb r3, r2 806ea7e: 3330 adds r3, #48 ; 0x30 806ea80: b2da uxtb r2, r3 806ea82: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea86: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 806ea88: f507 723b add.w r2, r7, #748 ; 0x2ec 806ea8c: 2301 movs r3, #1 806ea8e: 21dc movs r1, #220 ; 0xdc 806ea90: e004 b.n 806ea9c 806ea92: bf00 nop 806ea94: 64090000 .word 0x64090000 806ea98: cccccccd .word 0xcccccccd 806ea9c: 20be movs r0, #190 ; 0xbe 806ea9e: f7e5 fe7d bl 805479c memset(str, 0, sizeof(str)); 806eaa2: f507 733b add.w r3, r7, #748 ; 0x2ec 806eaa6: 223c movs r2, #60 ; 0x3c 806eaa8: 2100 movs r1, #0 806eaaa: 4618 mov r0, r3 806eaac: f062 fc78 bl 80d13a0 str[0] = (Hour / 10) + 48; 806eab0: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806eab4: 4abd ldr r2, [pc, #756] ; (806edac ) 806eab6: fba2 2303 umull r2, r3, r2, r3 806eaba: 08db lsrs r3, r3, #3 806eabc: b2db uxtb r3, r3 806eabe: 3330 adds r3, #48 ; 0x30 806eac0: b2da uxtb r2, r3 806eac2: f507 733b add.w r3, r7, #748 ; 0x2ec 806eac6: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806eac8: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806eacc: 4bb7 ldr r3, [pc, #732] ; (806edac ) 806eace: fba3 2301 umull r2, r3, r3, r1 806ead2: 08da lsrs r2, r3, #3 806ead4: 4613 mov r3, r2 806ead6: 009b lsls r3, r3, #2 806ead8: 4413 add r3, r2 806eada: 005b lsls r3, r3, #1 806eadc: 1aca subs r2, r1, r3 806eade: b2d3 uxtb r3, r2 806eae0: 3330 adds r3, #48 ; 0x30 806eae2: b2da uxtb r2, r3 806eae4: f507 733b add.w r3, r7, #748 ; 0x2ec 806eae8: 705a strb r2, [r3, #1] str[2] = ':'; 806eaea: f507 733b add.w r3, r7, #748 ; 0x2ec 806eaee: 223a movs r2, #58 ; 0x3a 806eaf0: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806eaf2: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806eaf6: 4aad ldr r2, [pc, #692] ; (806edac ) 806eaf8: fba2 2303 umull r2, r3, r2, r3 806eafc: 08db lsrs r3, r3, #3 806eafe: b2db uxtb r3, r3 806eb00: 3330 adds r3, #48 ; 0x30 806eb02: b2da uxtb r2, r3 806eb04: f507 733b add.w r3, r7, #748 ; 0x2ec 806eb08: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806eb0a: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806eb0e: 4ba7 ldr r3, [pc, #668] ; (806edac ) 806eb10: fba3 2301 umull r2, r3, r3, r1 806eb14: 08da lsrs r2, r3, #3 806eb16: 4613 mov r3, r2 806eb18: 009b lsls r3, r3, #2 806eb1a: 4413 add r3, r2 806eb1c: 005b lsls r3, r3, #1 806eb1e: 1aca subs r2, r1, r3 806eb20: b2d3 uxtb r3, r2 806eb22: 3330 adds r3, #48 ; 0x30 806eb24: b2da uxtb r2, r3 806eb26: f507 733b add.w r3, r7, #748 ; 0x2ec 806eb2a: 711a strb r2, [r3, #4] str[5] = ':'; 806eb2c: f507 733b add.w r3, r7, #748 ; 0x2ec 806eb30: 223a movs r2, #58 ; 0x3a 806eb32: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806eb34: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806eb38: 4a9c ldr r2, [pc, #624] ; (806edac ) 806eb3a: fba2 2303 umull r2, r3, r2, r3 806eb3e: 08db lsrs r3, r3, #3 806eb40: b2db uxtb r3, r3 806eb42: 3330 adds r3, #48 ; 0x30 806eb44: b2da uxtb r2, r3 806eb46: f507 733b add.w r3, r7, #748 ; 0x2ec 806eb4a: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806eb4c: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806eb50: 4b96 ldr r3, [pc, #600] ; (806edac ) 806eb52: fba3 2301 umull r2, r3, r3, r1 806eb56: 08da lsrs r2, r3, #3 806eb58: 4613 mov r3, r2 806eb5a: 009b lsls r3, r3, #2 806eb5c: 4413 add r3, r2 806eb5e: 005b lsls r3, r3, #1 806eb60: 1aca subs r2, r1, r3 806eb62: b2d3 uxtb r3, r2 806eb64: 3330 adds r3, #48 ; 0x30 806eb66: b2da uxtb r2, r3 806eb68: f507 733b add.w r3, r7, #748 ; 0x2ec 806eb6c: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 806eb6e: f507 723b add.w r2, r7, #748 ; 0x2ec 806eb72: 2301 movs r3, #1 806eb74: 21e4 movs r1, #228 ; 0xe4 806eb76: 20be movs r0, #190 ; 0xbe 806eb78: f7e5 fe10 bl 805479c k = CmplxA_u32(l - 1); 806eb7c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806eb80: 3b01 subs r3, #1 806eb82: 009a lsls r2, r3, #2 806eb84: 4b8a ldr r3, [pc, #552] ; (806edb0 ) 806eb86: 4413 add r3, r2 806eb88: 681b ldr r3, [r3, #0] 806eb8a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806eb8e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eb92: 0e5b lsrs r3, r3, #25 806eb94: 3b14 subs r3, #20 806eb96: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806eb9a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eb9e: 0d5b lsrs r3, r3, #21 806eba0: f003 030f and.w r3, r3, #15 806eba4: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806eba8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ebac: 0c1b lsrs r3, r3, #16 806ebae: f003 031f and.w r3, r3, #31 806ebb2: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806ebb6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ebba: 0adb lsrs r3, r3, #11 806ebbc: f003 031f and.w r3, r3, #31 806ebc0: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806ebc4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ebc8: 095b lsrs r3, r3, #5 806ebca: f003 033f and.w r3, r3, #63 ; 0x3f 806ebce: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806ebd2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ebd6: 005b lsls r3, r3, #1 806ebd8: f003 031f and.w r3, r3, #31 806ebdc: 3301 adds r3, #1 806ebde: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806ebe2: f507 733b add.w r3, r7, #748 ; 0x2ec 806ebe6: 223c movs r2, #60 ; 0x3c 806ebe8: 2100 movs r1, #0 806ebea: 4618 mov r0, r3 806ebec: f062 fbd8 bl 80d13a0 str[0] = (Day / 10) + 48; 806ebf0: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806ebf4: 4a6d ldr r2, [pc, #436] ; (806edac ) 806ebf6: fba2 2303 umull r2, r3, r2, r3 806ebfa: 08db lsrs r3, r3, #3 806ebfc: b2db uxtb r3, r3 806ebfe: 3330 adds r3, #48 ; 0x30 806ec00: b2da uxtb r2, r3 806ec02: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec06: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806ec08: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806ec0c: 4b67 ldr r3, [pc, #412] ; (806edac ) 806ec0e: fba3 2301 umull r2, r3, r3, r1 806ec12: 08da lsrs r2, r3, #3 806ec14: 4613 mov r3, r2 806ec16: 009b lsls r3, r3, #2 806ec18: 4413 add r3, r2 806ec1a: 005b lsls r3, r3, #1 806ec1c: 1aca subs r2, r1, r3 806ec1e: b2d3 uxtb r3, r2 806ec20: 3330 adds r3, #48 ; 0x30 806ec22: b2da uxtb r2, r3 806ec24: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec28: 705a strb r2, [r3, #1] str[2] = '.'; 806ec2a: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec2e: 222e movs r2, #46 ; 0x2e 806ec30: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806ec32: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806ec36: 4a5d ldr r2, [pc, #372] ; (806edac ) 806ec38: fba2 2303 umull r2, r3, r2, r3 806ec3c: 08db lsrs r3, r3, #3 806ec3e: b2db uxtb r3, r3 806ec40: 3330 adds r3, #48 ; 0x30 806ec42: b2da uxtb r2, r3 806ec44: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec48: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806ec4a: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806ec4e: 4b57 ldr r3, [pc, #348] ; (806edac ) 806ec50: fba3 2301 umull r2, r3, r3, r1 806ec54: 08da lsrs r2, r3, #3 806ec56: 4613 mov r3, r2 806ec58: 009b lsls r3, r3, #2 806ec5a: 4413 add r3, r2 806ec5c: 005b lsls r3, r3, #1 806ec5e: 1aca subs r2, r1, r3 806ec60: b2d3 uxtb r3, r2 806ec62: 3330 adds r3, #48 ; 0x30 806ec64: b2da uxtb r2, r3 806ec66: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec6a: 711a strb r2, [r3, #4] str[5] = '.'; 806ec6c: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec70: 222e movs r2, #46 ; 0x2e 806ec72: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806ec74: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806ec78: 4a4c ldr r2, [pc, #304] ; (806edac ) 806ec7a: fba2 2303 umull r2, r3, r2, r3 806ec7e: 08db lsrs r3, r3, #3 806ec80: b2db uxtb r3, r3 806ec82: 3330 adds r3, #48 ; 0x30 806ec84: b2da uxtb r2, r3 806ec86: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec8a: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806ec8c: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806ec90: 4b46 ldr r3, [pc, #280] ; (806edac ) 806ec92: fba3 2301 umull r2, r3, r3, r1 806ec96: 08da lsrs r2, r3, #3 806ec98: 4613 mov r3, r2 806ec9a: 009b lsls r3, r3, #2 806ec9c: 4413 add r3, r2 806ec9e: 005b lsls r3, r3, #1 806eca0: 1aca subs r2, r1, r3 806eca2: b2d3 uxtb r3, r2 806eca4: 3330 adds r3, #48 ; 0x30 806eca6: b2da uxtb r2, r3 806eca8: f507 733b add.w r3, r7, #748 ; 0x2ec 806ecac: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 806ecae: f507 723b add.w r2, r7, #748 ; 0x2ec 806ecb2: 2301 movs r3, #1 806ecb4: 21dc movs r1, #220 ; 0xdc 806ecb6: f44f 7095 mov.w r0, #298 ; 0x12a 806ecba: f7e5 fd6f bl 805479c memset(str, 0, sizeof(str)); 806ecbe: f507 733b add.w r3, r7, #748 ; 0x2ec 806ecc2: 223c movs r2, #60 ; 0x3c 806ecc4: 2100 movs r1, #0 806ecc6: 4618 mov r0, r3 806ecc8: f062 fb6a bl 80d13a0 str[0] = (Hour / 10) + 48; 806eccc: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806ecd0: 4a36 ldr r2, [pc, #216] ; (806edac ) 806ecd2: fba2 2303 umull r2, r3, r2, r3 806ecd6: 08db lsrs r3, r3, #3 806ecd8: b2db uxtb r3, r3 806ecda: 3330 adds r3, #48 ; 0x30 806ecdc: b2da uxtb r2, r3 806ecde: f507 733b add.w r3, r7, #748 ; 0x2ec 806ece2: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806ece4: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806ece8: 4b30 ldr r3, [pc, #192] ; (806edac ) 806ecea: fba3 2301 umull r2, r3, r3, r1 806ecee: 08da lsrs r2, r3, #3 806ecf0: 4613 mov r3, r2 806ecf2: 009b lsls r3, r3, #2 806ecf4: 4413 add r3, r2 806ecf6: 005b lsls r3, r3, #1 806ecf8: 1aca subs r2, r1, r3 806ecfa: b2d3 uxtb r3, r2 806ecfc: 3330 adds r3, #48 ; 0x30 806ecfe: b2da uxtb r2, r3 806ed00: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed04: 705a strb r2, [r3, #1] str[2] = ':'; 806ed06: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed0a: 223a movs r2, #58 ; 0x3a 806ed0c: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806ed0e: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806ed12: 4a26 ldr r2, [pc, #152] ; (806edac ) 806ed14: fba2 2303 umull r2, r3, r2, r3 806ed18: 08db lsrs r3, r3, #3 806ed1a: b2db uxtb r3, r3 806ed1c: 3330 adds r3, #48 ; 0x30 806ed1e: b2da uxtb r2, r3 806ed20: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed24: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806ed26: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806ed2a: 4b20 ldr r3, [pc, #128] ; (806edac ) 806ed2c: fba3 2301 umull r2, r3, r3, r1 806ed30: 08da lsrs r2, r3, #3 806ed32: 4613 mov r3, r2 806ed34: 009b lsls r3, r3, #2 806ed36: 4413 add r3, r2 806ed38: 005b lsls r3, r3, #1 806ed3a: 1aca subs r2, r1, r3 806ed3c: b2d3 uxtb r3, r2 806ed3e: 3330 adds r3, #48 ; 0x30 806ed40: b2da uxtb r2, r3 806ed42: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed46: 711a strb r2, [r3, #4] str[5] = ':'; 806ed48: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed4c: 223a movs r2, #58 ; 0x3a 806ed4e: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806ed50: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806ed54: 4a15 ldr r2, [pc, #84] ; (806edac ) 806ed56: fba2 2303 umull r2, r3, r2, r3 806ed5a: 08db lsrs r3, r3, #3 806ed5c: b2db uxtb r3, r3 806ed5e: 3330 adds r3, #48 ; 0x30 806ed60: b2da uxtb r2, r3 806ed62: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed66: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806ed68: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806ed6c: 4b0f ldr r3, [pc, #60] ; (806edac ) 806ed6e: fba3 2301 umull r2, r3, r3, r1 806ed72: 08da lsrs r2, r3, #3 806ed74: 4613 mov r3, r2 806ed76: 009b lsls r3, r3, #2 806ed78: 4413 add r3, r2 806ed7a: 005b lsls r3, r3, #1 806ed7c: 1aca subs r2, r1, r3 806ed7e: b2d3 uxtb r3, r2 806ed80: 3330 adds r3, #48 ; 0x30 806ed82: b2da uxtb r2, r3 806ed84: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed88: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 806ed8a: f507 723b add.w r2, r7, #748 ; 0x2ec 806ed8e: 2301 movs r3, #1 806ed90: 21e4 movs r1, #228 ; 0xe4 806ed92: f44f 7095 mov.w r0, #298 ; 0x12a 806ed96: f7e5 fd01 bl 805479c } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806ed9a: 4906 ldr r1, [pc, #24] ; (806edb4 ) 806ed9c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806eda0: f7e5 fc36 bl 8054610 for(i = 0; i < l; i++) 806eda4: 2300 movs r3, #0 806eda6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806edaa: e3f0 b.n 806f58e 806edac: cccccccd .word 0xcccccccd 806edb0: 64090000 .word 0x64090000 806edb4: ff0a0f1f .word 0xff0a0f1f { f = ScrA_f32(i); 806edb8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806edbc: 009a lsls r2, r3, #2 806edbe: 4bd8 ldr r3, [pc, #864] ; (806f120 ) 806edc0: 4413 add r3, r2 806edc2: 681b ldr r3, [r3, #0] 806edc4: f507 628b add.w r2, r7, #1112 ; 0x458 806edc8: 6013 str r3, [r2, #0] if(fmax <= 15.0f) ///////// 806edca: f207 434c addw r3, r7, #1100 ; 0x44c 806edce: edd3 7a00 vldr s15, [r3] 806edd2: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 806edd6: eef4 7ac7 vcmpe.f32 s15, s14 806edda: eef1 fa10 vmrs APSR_nzcv, fpscr 806edde: f200 80c9 bhi.w 806ef74 { if(f < 0.0f) 806ede2: f507 638b add.w r3, r7, #1112 ; 0x458 806ede6: edd3 7a00 vldr s15, [r3] 806edea: eef5 7ac0 vcmpe.f32 s15, #0.0 806edee: eef1 fa10 vmrs APSR_nzcv, fpscr 806edf2: d521 bpl.n 806ee38 { f = (25 * f / 5.0f) + 0.5f; 806edf4: f507 638b add.w r3, r7, #1112 ; 0x458 806edf8: edd3 7a00 vldr s15, [r3] 806edfc: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806ee00: ee27 7a87 vmul.f32 s14, s15, s14 806ee04: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806ee08: eec7 7a26 vdiv.f32 s15, s14, s13 806ee0c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806ee10: ee77 7a87 vadd.f32 s15, s15, s14 806ee14: f507 638b add.w r3, r7, #1112 ; 0x458 806ee18: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806ee1c: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806ee20: f507 628b add.w r2, r7, #1112 ; 0x458 806ee24: edd2 7a00 vldr s15, [r2] 806ee28: eefd 7ae7 vcvt.s32.f32 s15, s15 806ee2c: ee17 2a90 vmov r2, s15 806ee30: 1a9b subs r3, r3, r2 806ee32: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806ee36: e331 b.n 806f49c } else if(f == 0.0f) 806ee38: f507 638b add.w r3, r7, #1112 ; 0x458 806ee3c: edd3 7a00 vldr s15, [r3] 806ee40: eef5 7a40 vcmp.f32 s15, #0.0 806ee44: eef1 fa10 vmrs APSR_nzcv, fpscr 806ee48: d104 bne.n 806ee54 { y = y2; 806ee4a: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806ee4e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806ee52: e323 b.n 806f49c } else if(f <= 5.0f) 806ee54: f507 638b add.w r3, r7, #1112 ; 0x458 806ee58: edd3 7a00 vldr s15, [r3] 806ee5c: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 806ee60: eef4 7ac7 vcmpe.f32 s15, s14 806ee64: eef1 fa10 vmrs APSR_nzcv, fpscr 806ee68: d821 bhi.n 806eeae { f = (25 * f / 5.0f) + 0.5f; 806ee6a: f507 638b add.w r3, r7, #1112 ; 0x458 806ee6e: edd3 7a00 vldr s15, [r3] 806ee72: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806ee76: ee27 7a87 vmul.f32 s14, s15, s14 806ee7a: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806ee7e: eec7 7a26 vdiv.f32 s15, s14, s13 806ee82: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806ee86: ee77 7a87 vadd.f32 s15, s15, s14 806ee8a: f507 638b add.w r3, r7, #1112 ; 0x458 806ee8e: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806ee92: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806ee96: f507 628b add.w r2, r7, #1112 ; 0x458 806ee9a: edd2 7a00 vldr s15, [r2] 806ee9e: eefd 7ae7 vcvt.s32.f32 s15, s15 806eea2: ee17 2a90 vmov r2, s15 806eea6: 1a9b subs r3, r3, r2 806eea8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806eeac: e2f6 b.n 806f49c } else if(f <= 10.0f) 806eeae: f507 638b add.w r3, r7, #1112 ; 0x458 806eeb2: edd3 7a00 vldr s15, [r3] 806eeb6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806eeba: eef4 7ac7 vcmpe.f32 s15, s14 806eebe: eef1 fa10 vmrs APSR_nzcv, fpscr 806eec2: d825 bhi.n 806ef10 { f = (25 * (f - 5.0f) / 5.0f) + 0.5f; 806eec4: f507 638b add.w r3, r7, #1112 ; 0x458 806eec8: edd3 7a00 vldr s15, [r3] 806eecc: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 806eed0: ee77 7ac7 vsub.f32 s15, s15, s14 806eed4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806eed8: ee27 7a87 vmul.f32 s14, s15, s14 806eedc: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806eee0: eec7 7a26 vdiv.f32 s15, s14, s13 806eee4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806eee8: ee77 7a87 vadd.f32 s15, s15, s14 806eeec: f507 638b add.w r3, r7, #1112 ; 0x458 806eef0: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806eef4: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806eef8: f507 628b add.w r2, r7, #1112 ; 0x458 806eefc: edd2 7a00 vldr s15, [r2] 806ef00: eefd 7ae7 vcvt.s32.f32 s15, s15 806ef04: ee17 2a90 vmov r2, s15 806ef08: 1a9b subs r3, r3, r2 806ef0a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806ef0e: e2c5 b.n 806f49c } else if(f <= 15.0f) 806ef10: f507 638b add.w r3, r7, #1112 ; 0x458 806ef14: edd3 7a00 vldr s15, [r3] 806ef18: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 806ef1c: eef4 7ac7 vcmpe.f32 s15, s14 806ef20: eef1 fa10 vmrs APSR_nzcv, fpscr 806ef24: f200 82ba bhi.w 806f49c { f = (25 * (f - 10.0f) / 5.0f) + 0.5f; 806ef28: f507 638b add.w r3, r7, #1112 ; 0x458 806ef2c: edd3 7a00 vldr s15, [r3] 806ef30: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806ef34: ee77 7ac7 vsub.f32 s15, s15, s14 806ef38: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806ef3c: ee27 7a87 vmul.f32 s14, s15, s14 806ef40: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806ef44: eec7 7a26 vdiv.f32 s15, s14, s13 806ef48: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806ef4c: ee77 7a87 vadd.f32 s15, s15, s14 806ef50: f507 638b add.w r3, r7, #1112 ; 0x458 806ef54: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806ef58: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806ef5c: f507 628b add.w r2, r7, #1112 ; 0x458 806ef60: edd2 7a00 vldr s15, [r2] 806ef64: eefd 7ae7 vcvt.s32.f32 s15, s15 806ef68: ee17 2a90 vmov r2, s15 806ef6c: 1a9b subs r3, r3, r2 806ef6e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806ef72: e293 b.n 806f49c } } else if(fmax <= 100.0f) ///////// 806ef74: f207 434c addw r3, r7, #1100 ; 0x44c 806ef78: edd3 7a00 vldr s15, [r3] 806ef7c: ed9f 7a6b vldr s14, [pc, #428] ; 806f12c 806ef80: eef4 7ac7 vcmpe.f32 s15, s14 806ef84: eef1 fa10 vmrs APSR_nzcv, fpscr 806ef88: f200 80e0 bhi.w 806f14c { if(f < 0.0f) 806ef8c: f507 638b add.w r3, r7, #1112 ; 0x458 806ef90: edd3 7a00 vldr s15, [r3] 806ef94: eef5 7ac0 vcmpe.f32 s15, #0.0 806ef98: eef1 fa10 vmrs APSR_nzcv, fpscr 806ef9c: d521 bpl.n 806efe2 { f = (25 * f / 5.0f) + 0.5f; 806ef9e: f507 638b add.w r3, r7, #1112 ; 0x458 806efa2: edd3 7a00 vldr s15, [r3] 806efa6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806efaa: ee27 7a87 vmul.f32 s14, s15, s14 806efae: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806efb2: eec7 7a26 vdiv.f32 s15, s14, s13 806efb6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806efba: ee77 7a87 vadd.f32 s15, s15, s14 806efbe: f507 638b add.w r3, r7, #1112 ; 0x458 806efc2: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806efc6: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806efca: f507 628b add.w r2, r7, #1112 ; 0x458 806efce: edd2 7a00 vldr s15, [r2] 806efd2: eefd 7ae7 vcvt.s32.f32 s15, s15 806efd6: ee17 2a90 vmov r2, s15 806efda: 1a9b subs r3, r3, r2 806efdc: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806efe0: e25c b.n 806f49c } else if(f == 0.0f) 806efe2: f507 638b add.w r3, r7, #1112 ; 0x458 806efe6: edd3 7a00 vldr s15, [r3] 806efea: eef5 7a40 vcmp.f32 s15, #0.0 806efee: eef1 fa10 vmrs APSR_nzcv, fpscr 806eff2: d104 bne.n 806effe { y = y2; 806eff4: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806eff8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806effc: e24e b.n 806f49c } else if(f <= 10.0f) 806effe: f507 638b add.w r3, r7, #1112 ; 0x458 806f002: edd3 7a00 vldr s15, [r3] 806f006: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806f00a: eef4 7ac7 vcmpe.f32 s15, s14 806f00e: eef1 fa10 vmrs APSR_nzcv, fpscr 806f012: d821 bhi.n 806f058 { f = (25 * f / 10.0f) + 0.5f; 806f014: f507 638b add.w r3, r7, #1112 ; 0x458 806f018: edd3 7a00 vldr s15, [r3] 806f01c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f020: ee27 7a87 vmul.f32 s14, s15, s14 806f024: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 806f028: eec7 7a26 vdiv.f32 s15, s14, s13 806f02c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f030: ee77 7a87 vadd.f32 s15, s15, s14 806f034: f507 638b add.w r3, r7, #1112 ; 0x458 806f038: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806f03c: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806f040: f507 628b add.w r2, r7, #1112 ; 0x458 806f044: edd2 7a00 vldr s15, [r2] 806f048: eefd 7ae7 vcvt.s32.f32 s15, s15 806f04c: ee17 2a90 vmov r2, s15 806f050: 1a9b subs r3, r3, r2 806f052: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f056: e221 b.n 806f49c } else if(f <= 50.0f) 806f058: f507 638b add.w r3, r7, #1112 ; 0x458 806f05c: edd3 7a00 vldr s15, [r3] 806f060: ed9f 7a30 vldr s14, [pc, #192] ; 806f124 806f064: eef4 7ac7 vcmpe.f32 s15, s14 806f068: eef1 fa10 vmrs APSR_nzcv, fpscr 806f06c: d825 bhi.n 806f0ba { f = (25 * (f - 10.0f) / (50.0f - 10.0f)) + 0.5f; 806f06e: f507 638b add.w r3, r7, #1112 ; 0x458 806f072: edd3 7a00 vldr s15, [r3] 806f076: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806f07a: ee77 7ac7 vsub.f32 s15, s15, s14 806f07e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f082: ee27 7a87 vmul.f32 s14, s15, s14 806f086: eddf 6a28 vldr s13, [pc, #160] ; 806f128 806f08a: eec7 7a26 vdiv.f32 s15, s14, s13 806f08e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f092: ee77 7a87 vadd.f32 s15, s15, s14 806f096: f507 638b add.w r3, r7, #1112 ; 0x458 806f09a: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806f09e: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806f0a2: f507 628b add.w r2, r7, #1112 ; 0x458 806f0a6: edd2 7a00 vldr s15, [r2] 806f0aa: eefd 7ae7 vcvt.s32.f32 s15, s15 806f0ae: ee17 2a90 vmov r2, s15 806f0b2: 1a9b subs r3, r3, r2 806f0b4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f0b8: e1f0 b.n 806f49c } else if(f <= 100.0f) 806f0ba: f507 638b add.w r3, r7, #1112 ; 0x458 806f0be: edd3 7a00 vldr s15, [r3] 806f0c2: ed9f 7a1a vldr s14, [pc, #104] ; 806f12c 806f0c6: eef4 7ac7 vcmpe.f32 s15, s14 806f0ca: eef1 fa10 vmrs APSR_nzcv, fpscr 806f0ce: f200 81e5 bhi.w 806f49c { f = (25 * (f - 50.0f) / (100.0f - 50.0f)) + 0.5f; 806f0d2: f507 638b add.w r3, r7, #1112 ; 0x458 806f0d6: edd3 7a00 vldr s15, [r3] 806f0da: ed9f 7a12 vldr s14, [pc, #72] ; 806f124 806f0de: ee77 7ac7 vsub.f32 s15, s15, s14 806f0e2: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f0e6: ee27 7a87 vmul.f32 s14, s15, s14 806f0ea: eddf 6a0e vldr s13, [pc, #56] ; 806f124 806f0ee: eec7 7a26 vdiv.f32 s15, s14, s13 806f0f2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f0f6: ee77 7a87 vadd.f32 s15, s15, s14 806f0fa: f507 638b add.w r3, r7, #1112 ; 0x458 806f0fe: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806f102: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806f106: f507 628b add.w r2, r7, #1112 ; 0x458 806f10a: edd2 7a00 vldr s15, [r2] 806f10e: eefd 7ae7 vcvt.s32.f32 s15, s15 806f112: ee17 2a90 vmov r2, s15 806f116: 1a9b subs r3, r3, r2 806f118: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f11c: e1be b.n 806f49c 806f11e: bf00 nop 806f120: 64080000 .word 0x64080000 806f124: 42480000 .word 0x42480000 806f128: 42200000 .word 0x42200000 806f12c: 42c80000 .word 0x42c80000 806f130: 43c80000 .word 0x43c80000 806f134: 43fa0000 .word 0x43fa0000 806f138: 447a0000 .word 0x447a0000 806f13c: 457a0000 .word 0x457a0000 806f140: 461c4000 .word 0x461c4000 806f144: 459c4000 .word 0x459c4000 806f148: 43800000 .word 0x43800000 } } else if(fmax <= 1000.0f) ///////// 806f14c: f207 434c addw r3, r7, #1100 ; 0x44c 806f150: edd3 7a00 vldr s15, [r3] 806f154: ed1f 7a08 vldr s14, [pc, #-32] ; 806f138 806f158: eef4 7ac7 vcmpe.f32 s15, s14 806f15c: eef1 fa10 vmrs APSR_nzcv, fpscr 806f160: f200 80c9 bhi.w 806f2f6 { if(f < 0.0f) 806f164: f507 638b add.w r3, r7, #1112 ; 0x458 806f168: edd3 7a00 vldr s15, [r3] 806f16c: eef5 7ac0 vcmpe.f32 s15, #0.0 806f170: eef1 fa10 vmrs APSR_nzcv, fpscr 806f174: d521 bpl.n 806f1ba { f = (25 * f / 5.0f) + 0.5f; 806f176: f507 638b add.w r3, r7, #1112 ; 0x458 806f17a: edd3 7a00 vldr s15, [r3] 806f17e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f182: ee27 7a87 vmul.f32 s14, s15, s14 806f186: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806f18a: eec7 7a26 vdiv.f32 s15, s14, s13 806f18e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f192: ee77 7a87 vadd.f32 s15, s15, s14 806f196: f507 638b add.w r3, r7, #1112 ; 0x458 806f19a: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806f19e: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806f1a2: f507 628b add.w r2, r7, #1112 ; 0x458 806f1a6: edd2 7a00 vldr s15, [r2] 806f1aa: eefd 7ae7 vcvt.s32.f32 s15, s15 806f1ae: ee17 2a90 vmov r2, s15 806f1b2: 1a9b subs r3, r3, r2 806f1b4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f1b8: e170 b.n 806f49c } else if(f == 0.0f) 806f1ba: f507 638b add.w r3, r7, #1112 ; 0x458 806f1be: edd3 7a00 vldr s15, [r3] 806f1c2: eef5 7a40 vcmp.f32 s15, #0.0 806f1c6: eef1 fa10 vmrs APSR_nzcv, fpscr 806f1ca: d104 bne.n 806f1d6 { y = y2; 806f1cc: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806f1d0: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f1d4: e162 b.n 806f49c } else if(f <= 100.0f) 806f1d6: f507 638b add.w r3, r7, #1112 ; 0x458 806f1da: edd3 7a00 vldr s15, [r3] 806f1de: ed1f 7a2d vldr s14, [pc, #-180] ; 806f12c 806f1e2: eef4 7ac7 vcmpe.f32 s15, s14 806f1e6: eef1 fa10 vmrs APSR_nzcv, fpscr 806f1ea: d821 bhi.n 806f230 { f = (25 * f / 100.0f) + 0.5f; 806f1ec: f507 638b add.w r3, r7, #1112 ; 0x458 806f1f0: edd3 7a00 vldr s15, [r3] 806f1f4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f1f8: ee27 7a87 vmul.f32 s14, s15, s14 806f1fc: ed5f 6a35 vldr s13, [pc, #-212] ; 806f12c 806f200: eec7 7a26 vdiv.f32 s15, s14, s13 806f204: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f208: ee77 7a87 vadd.f32 s15, s15, s14 806f20c: f507 638b add.w r3, r7, #1112 ; 0x458 806f210: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806f214: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806f218: f507 628b add.w r2, r7, #1112 ; 0x458 806f21c: edd2 7a00 vldr s15, [r2] 806f220: eefd 7ae7 vcvt.s32.f32 s15, s15 806f224: ee17 2a90 vmov r2, s15 806f228: 1a9b subs r3, r3, r2 806f22a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f22e: e135 b.n 806f49c } else if(f <= 500.0f) 806f230: f507 638b add.w r3, r7, #1112 ; 0x458 806f234: edd3 7a00 vldr s15, [r3] 806f238: ed1f 7a42 vldr s14, [pc, #-264] ; 806f134 806f23c: eef4 7ac7 vcmpe.f32 s15, s14 806f240: eef1 fa10 vmrs APSR_nzcv, fpscr 806f244: d825 bhi.n 806f292 { f = (25 * (f - 100.0f) / (500.0f - 100.0f)) + 0.5f; 806f246: f507 638b add.w r3, r7, #1112 ; 0x458 806f24a: edd3 7a00 vldr s15, [r3] 806f24e: ed1f 7a49 vldr s14, [pc, #-292] ; 806f12c 806f252: ee77 7ac7 vsub.f32 s15, s15, s14 806f256: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f25a: ee27 7a87 vmul.f32 s14, s15, s14 806f25e: ed5f 6a4c vldr s13, [pc, #-304] ; 806f130 806f262: eec7 7a26 vdiv.f32 s15, s14, s13 806f266: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f26a: ee77 7a87 vadd.f32 s15, s15, s14 806f26e: f507 638b add.w r3, r7, #1112 ; 0x458 806f272: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806f276: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806f27a: f507 628b add.w r2, r7, #1112 ; 0x458 806f27e: edd2 7a00 vldr s15, [r2] 806f282: eefd 7ae7 vcvt.s32.f32 s15, s15 806f286: ee17 2a90 vmov r2, s15 806f28a: 1a9b subs r3, r3, r2 806f28c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f290: e104 b.n 806f49c } else if(f <= 1000.0f) 806f292: f507 638b add.w r3, r7, #1112 ; 0x458 806f296: edd3 7a00 vldr s15, [r3] 806f29a: ed1f 7a59 vldr s14, [pc, #-356] ; 806f138 806f29e: eef4 7ac7 vcmpe.f32 s15, s14 806f2a2: eef1 fa10 vmrs APSR_nzcv, fpscr 806f2a6: f200 80f9 bhi.w 806f49c { f = (25 * (f - 500.0f) / (1000.0f - 500.0f)) + 0.5f; 806f2aa: f507 638b add.w r3, r7, #1112 ; 0x458 806f2ae: edd3 7a00 vldr s15, [r3] 806f2b2: ed1f 7a60 vldr s14, [pc, #-384] ; 806f134 806f2b6: ee77 7ac7 vsub.f32 s15, s15, s14 806f2ba: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f2be: ee27 7a87 vmul.f32 s14, s15, s14 806f2c2: ed5f 6a64 vldr s13, [pc, #-400] ; 806f134 806f2c6: eec7 7a26 vdiv.f32 s15, s14, s13 806f2ca: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f2ce: ee77 7a87 vadd.f32 s15, s15, s14 806f2d2: f507 638b add.w r3, r7, #1112 ; 0x458 806f2d6: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806f2da: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806f2de: f507 628b add.w r2, r7, #1112 ; 0x458 806f2e2: edd2 7a00 vldr s15, [r2] 806f2e6: eefd 7ae7 vcvt.s32.f32 s15, s15 806f2ea: ee17 2a90 vmov r2, s15 806f2ee: 1a9b subs r3, r3, r2 806f2f0: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f2f4: e0d2 b.n 806f49c } } else if(fmax <= 10000.0f) ///////// 806f2f6: f207 434c addw r3, r7, #1100 ; 0x44c 806f2fa: edd3 7a00 vldr s15, [r3] 806f2fe: ed1f 7a70 vldr s14, [pc, #-448] ; 806f140 806f302: eef4 7ac7 vcmpe.f32 s15, s14 806f306: eef1 fa10 vmrs APSR_nzcv, fpscr 806f30a: f200 80c7 bhi.w 806f49c { if(f < 0.0f) 806f30e: f507 638b add.w r3, r7, #1112 ; 0x458 806f312: edd3 7a00 vldr s15, [r3] 806f316: eef5 7ac0 vcmpe.f32 s15, #0.0 806f31a: eef1 fa10 vmrs APSR_nzcv, fpscr 806f31e: d521 bpl.n 806f364 { f = (25 * f / 5.0f) + 0.5f; 806f320: f507 638b add.w r3, r7, #1112 ; 0x458 806f324: edd3 7a00 vldr s15, [r3] 806f328: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f32c: ee27 7a87 vmul.f32 s14, s15, s14 806f330: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806f334: eec7 7a26 vdiv.f32 s15, s14, s13 806f338: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f33c: ee77 7a87 vadd.f32 s15, s15, s14 806f340: f507 638b add.w r3, r7, #1112 ; 0x458 806f344: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806f348: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806f34c: f507 628b add.w r2, r7, #1112 ; 0x458 806f350: edd2 7a00 vldr s15, [r2] 806f354: eefd 7ae7 vcvt.s32.f32 s15, s15 806f358: ee17 2a90 vmov r2, s15 806f35c: 1a9b subs r3, r3, r2 806f35e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f362: e09b b.n 806f49c } else if(f == 0.0f) 806f364: f507 638b add.w r3, r7, #1112 ; 0x458 806f368: edd3 7a00 vldr s15, [r3] 806f36c: eef5 7a40 vcmp.f32 s15, #0.0 806f370: eef1 fa10 vmrs APSR_nzcv, fpscr 806f374: d104 bne.n 806f380 { y = y2; 806f376: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806f37a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f37e: e08d b.n 806f49c } else if(f <= 1000.0f) 806f380: f507 638b add.w r3, r7, #1112 ; 0x458 806f384: edd3 7a00 vldr s15, [r3] 806f388: ed1f 7a95 vldr s14, [pc, #-596] ; 806f138 806f38c: eef4 7ac7 vcmpe.f32 s15, s14 806f390: eef1 fa10 vmrs APSR_nzcv, fpscr 806f394: d821 bhi.n 806f3da { f = (25 * f / 1000.0f) + 0.5f; 806f396: f507 638b add.w r3, r7, #1112 ; 0x458 806f39a: edd3 7a00 vldr s15, [r3] 806f39e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f3a2: ee27 7a87 vmul.f32 s14, s15, s14 806f3a6: ed5f 6a9c vldr s13, [pc, #-624] ; 806f138 806f3aa: eec7 7a26 vdiv.f32 s15, s14, s13 806f3ae: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f3b2: ee77 7a87 vadd.f32 s15, s15, s14 806f3b6: f507 638b add.w r3, r7, #1112 ; 0x458 806f3ba: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806f3be: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806f3c2: f507 628b add.w r2, r7, #1112 ; 0x458 806f3c6: edd2 7a00 vldr s15, [r2] 806f3ca: eefd 7ae7 vcvt.s32.f32 s15, s15 806f3ce: ee17 2a90 vmov r2, s15 806f3d2: 1a9b subs r3, r3, r2 806f3d4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f3d8: e060 b.n 806f49c } else if(f <= 5000.0f) 806f3da: f507 638b add.w r3, r7, #1112 ; 0x458 806f3de: edd3 7a00 vldr s15, [r3] 806f3e2: ed1f 7aa8 vldr s14, [pc, #-672] ; 806f144 806f3e6: eef4 7ac7 vcmpe.f32 s15, s14 806f3ea: eef1 fa10 vmrs APSR_nzcv, fpscr 806f3ee: d825 bhi.n 806f43c { f = (25 * (f - 1000.0f) / (5000.0f - 1000.0f)) + 0.5f; 806f3f0: f507 638b add.w r3, r7, #1112 ; 0x458 806f3f4: edd3 7a00 vldr s15, [r3] 806f3f8: ed1f 7ab1 vldr s14, [pc, #-708] ; 806f138 806f3fc: ee77 7ac7 vsub.f32 s15, s15, s14 806f400: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f404: ee27 7a87 vmul.f32 s14, s15, s14 806f408: ed5f 6ab4 vldr s13, [pc, #-720] ; 806f13c 806f40c: eec7 7a26 vdiv.f32 s15, s14, s13 806f410: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f414: ee77 7a87 vadd.f32 s15, s15, s14 806f418: f507 638b add.w r3, r7, #1112 ; 0x458 806f41c: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806f420: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806f424: f507 628b add.w r2, r7, #1112 ; 0x458 806f428: edd2 7a00 vldr s15, [r2] 806f42c: eefd 7ae7 vcvt.s32.f32 s15, s15 806f430: ee17 2a90 vmov r2, s15 806f434: 1a9b subs r3, r3, r2 806f436: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f43a: e02f b.n 806f49c } else if(f <= 10000.0f) 806f43c: f507 638b add.w r3, r7, #1112 ; 0x458 806f440: edd3 7a00 vldr s15, [r3] 806f444: ed1f 7ac2 vldr s14, [pc, #-776] ; 806f140 806f448: eef4 7ac7 vcmpe.f32 s15, s14 806f44c: eef1 fa10 vmrs APSR_nzcv, fpscr 806f450: d824 bhi.n 806f49c { f = (25 * (f - 5000.0f) / (10000.0f - 5000.0f)) + 0.5f; 806f452: f507 638b add.w r3, r7, #1112 ; 0x458 806f456: edd3 7a00 vldr s15, [r3] 806f45a: ed1f 7ac6 vldr s14, [pc, #-792] ; 806f144 806f45e: ee77 7ac7 vsub.f32 s15, s15, s14 806f462: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f466: ee27 7a87 vmul.f32 s14, s15, s14 806f46a: ed5f 6aca vldr s13, [pc, #-808] ; 806f144 806f46e: eec7 7a26 vdiv.f32 s15, s14, s13 806f472: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f476: ee77 7a87 vadd.f32 s15, s15, s14 806f47a: f507 638b add.w r3, r7, #1112 ; 0x458 806f47e: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806f482: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806f486: f507 628b add.w r2, r7, #1112 ; 0x458 806f48a: edd2 7a00 vldr s15, [r2] 806f48e: eefd 7ae7 vcvt.s32.f32 s15, s15 806f492: ee17 2a90 vmov r2, s15 806f496: 1a9b subs r3, r3, r2 806f498: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 } } if(l == 1) 806f49c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806f4a0: 2b01 cmp r3, #1 806f4a2: d119 bne.n 806f4d8 { x = 256; 806f4a4: f44f 7380 mov.w r3, #256 ; 0x100 806f4a8: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 oldx = 0; 806f4ac: 2300 movs r3, #0 806f4ae: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 BSP_LCD_DrawLine(62 + oldx, y, 62 + x, y); 806f4b2: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 806f4b6: b29b uxth r3, r3 806f4b8: 333e adds r3, #62 ; 0x3e 806f4ba: b298 uxth r0, r3 806f4bc: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806f4c0: b299 uxth r1, r3 806f4c2: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806f4c6: b29b uxth r3, r3 806f4c8: 333e adds r3, #62 ; 0x3e 806f4ca: b29a uxth r2, r3 806f4cc: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806f4d0: b29b uxth r3, r3 806f4d2: f7e5 fad7 bl 8054a84 806f4d6: e055 b.n 806f584 } else { fs = 256.0f / (float32_t) (l - 1); 806f4d8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806f4dc: 3b01 subs r3, #1 806f4de: ee07 3a90 vmov s15, r3 806f4e2: eeb8 7a67 vcvt.f32.u32 s14, s15 806f4e6: ed5f 6ae8 vldr s13, [pc, #-928] ; 806f148 806f4ea: eec6 7a87 vdiv.f32 s15, s13, s14 806f4ee: f207 4314 addw r3, r7, #1044 ; 0x414 806f4f2: edc3 7a00 vstr s15, [r3] x = (uint32_t) ((fs * (float32_t) i) + 0.5f); 806f4f6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806f4fa: ee07 3a90 vmov s15, r3 806f4fe: eeb8 7a67 vcvt.f32.u32 s14, s15 806f502: f207 4314 addw r3, r7, #1044 ; 0x414 806f506: edd3 7a00 vldr s15, [r3] 806f50a: ee67 7a27 vmul.f32 s15, s14, s15 806f50e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f512: ee77 7a87 vadd.f32 s15, s15, s14 806f516: eefc 7ae7 vcvt.u32.f32 s15, s15 806f51a: ee17 3a90 vmov r3, s15 806f51e: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 if(i == 0) 806f522: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806f526: 2b00 cmp r3, #0 806f528: d112 bne.n 806f550 BSP_LCD_DrawLine(62 + x, y, 62 + x, y); 806f52a: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806f52e: b29b uxth r3, r3 806f530: 333e adds r3, #62 ; 0x3e 806f532: b298 uxth r0, r3 806f534: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806f538: b299 uxth r1, r3 806f53a: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806f53e: b29b uxth r3, r3 806f540: 333e adds r3, #62 ; 0x3e 806f542: b29a uxth r2, r3 806f544: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806f548: b29b uxth r3, r3 806f54a: f7e5 fa9b bl 8054a84 806f54e: e011 b.n 806f574 else BSP_LCD_DrawLine(62 + oldx, oldy, 62 + x, y); 806f550: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 806f554: b29b uxth r3, r3 806f556: 333e adds r3, #62 ; 0x3e 806f558: b298 uxth r0, r3 806f55a: f8d7 345c ldr.w r3, [r7, #1116] ; 0x45c 806f55e: b299 uxth r1, r3 806f560: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806f564: b29b uxth r3, r3 806f566: 333e adds r3, #62 ; 0x3e 806f568: b29a uxth r2, r3 806f56a: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806f56e: b29b uxth r3, r3 806f570: f7e5 fa88 bl 8054a84 oldx = x; 806f574: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806f578: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 oldy = y; 806f57c: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806f580: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < l; i++) 806f584: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806f588: 3301 adds r3, #1 806f58a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806f58e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806f592: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806f596: 429a cmp r2, r3 806f598: f4ff ac0e bcc.w 806edb8 oldy = y; } } } } break; 806f59c: f029 b81b b.w 80985d6 if(menupos == Trend_factor) 806f5a0: 4b68 ldr r3, [pc, #416] ; (806f744 ) 806f5a2: 781b ldrb r3, [r3, #0] 806f5a4: b2db uxtb r3, r3 806f5a6: 2b03 cmp r3, #3 806f5a8: f041 8288 bne.w 8070abc if(l) 806f5ac: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806f5b0: 2b00 cmp r3, #0 806f5b2: f029 8010 beq.w 80985d6 y0 = 217; 806f5b6: 23d9 movs r3, #217 ; 0xd9 806f5b8: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = 192; 806f5bc: 23c0 movs r3, #192 ; 0xc0 806f5be: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a y2 = 167; 806f5c2: 23a7 movs r3, #167 ; 0xa7 806f5c4: f8a7 3438 strh.w r3, [r7, #1080] ; 0x438 y3 = 142; 806f5c8: 238e movs r3, #142 ; 0x8e 806f5ca: f8a7 3436 strh.w r3, [r7, #1078] ; 0x436 y4 = 117; 806f5ce: 2375 movs r3, #117 ; 0x75 806f5d0: f8a7 3434 strh.w r3, [r7, #1076] ; 0x434 y5 = 92; 806f5d4: 235c movs r3, #92 ; 0x5c 806f5d6: f8a7 3432 strh.w r3, [r7, #1074] ; 0x432 y6 = 67; 806f5da: 2343 movs r3, #67 ; 0x43 806f5dc: f8a7 3430 strh.w r3, [r7, #1072] ; 0x430 BSP_LCD_SetFont(&Font8); 806f5e0: 4859 ldr r0, [pc, #356] ; (806f748 ) 806f5e2: f7e5 f851 bl 8054688 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806f5e6: 4959 ldr r1, [pc, #356] ; (806f74c ) 806f5e8: 4859 ldr r0, [pc, #356] ; (806f750 ) 806f5ea: f7e5 f811 bl 8054610 if(fmax <= 10.0f) 806f5ee: f207 434c addw r3, r7, #1100 ; 0x44c 806f5f2: edd3 7a00 vldr s15, [r3] 806f5f6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806f5fa: eef4 7ac7 vcmpe.f32 s15, s14 806f5fe: eef1 fa10 vmrs APSR_nzcv, fpscr 806f602: d82d bhi.n 806f660 BSP_LCD_DisplayStringAt(59, y5 - 2, "10", RIGHT_MODE); 806f604: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806f608: 3b02 subs r3, #2 806f60a: b299 uxth r1, r3 806f60c: 2302 movs r3, #2 806f60e: 4a51 ldr r2, [pc, #324] ; (806f754 ) 806f610: 203b movs r0, #59 ; 0x3b 806f612: f7e5 f8c3 bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "7.75", RIGHT_MODE); 806f616: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806f61a: 3b02 subs r3, #2 806f61c: b299 uxth r1, r3 806f61e: 2302 movs r3, #2 806f620: 4a4d ldr r2, [pc, #308] ; (806f758 ) 806f622: 203b movs r0, #59 ; 0x3b 806f624: f7e5 f8ba bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "5.5", RIGHT_MODE); 806f628: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806f62c: 3b02 subs r3, #2 806f62e: b299 uxth r1, r3 806f630: 2302 movs r3, #2 806f632: 4a4a ldr r2, [pc, #296] ; (806f75c ) 806f634: 203b movs r0, #59 ; 0x3b 806f636: f7e5 f8b1 bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "3.25", RIGHT_MODE); 806f63a: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806f63e: 3b02 subs r3, #2 806f640: b299 uxth r1, r3 806f642: 2302 movs r3, #2 806f644: 4a46 ldr r2, [pc, #280] ; (806f760 ) 806f646: 203b movs r0, #59 ; 0x3b 806f648: f7e5 f8a8 bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 806f64c: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806f650: 3b02 subs r3, #2 806f652: b299 uxth r1, r3 806f654: 2302 movs r3, #2 806f656: 4a43 ldr r2, [pc, #268] ; (806f764 ) 806f658: 203b movs r0, #59 ; 0x3b 806f65a: f7e5 f89f bl 805479c 806f65e: e0cb b.n 806f7f8 if(fmax <= 100.0f) 806f660: f207 434c addw r3, r7, #1100 ; 0x44c 806f664: edd3 7a00 vldr s15, [r3] 806f668: ed9f 7a3f vldr s14, [pc, #252] ; 806f768 806f66c: eef4 7ac7 vcmpe.f32 s15, s14 806f670: eef1 fa10 vmrs APSR_nzcv, fpscr 806f674: d82d bhi.n 806f6d2 BSP_LCD_DisplayStringAt(59, y5 - 2, "100", RIGHT_MODE); 806f676: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806f67a: 3b02 subs r3, #2 806f67c: b299 uxth r1, r3 806f67e: 2302 movs r3, #2 806f680: 4a3a ldr r2, [pc, #232] ; (806f76c ) 806f682: 203b movs r0, #59 ; 0x3b 806f684: f7e5 f88a bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "50", RIGHT_MODE); 806f688: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806f68c: 3b02 subs r3, #2 806f68e: b299 uxth r1, r3 806f690: 2302 movs r3, #2 806f692: 4a37 ldr r2, [pc, #220] ; (806f770 ) 806f694: 203b movs r0, #59 ; 0x3b 806f696: f7e5 f881 bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "10", RIGHT_MODE); 806f69a: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806f69e: 3b02 subs r3, #2 806f6a0: b299 uxth r1, r3 806f6a2: 2302 movs r3, #2 806f6a4: 4a2b ldr r2, [pc, #172] ; (806f754 ) 806f6a6: 203b movs r0, #59 ; 0x3b 806f6a8: f7e5 f878 bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "5", RIGHT_MODE); 806f6ac: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806f6b0: 3b02 subs r3, #2 806f6b2: b299 uxth r1, r3 806f6b4: 2302 movs r3, #2 806f6b6: 4a2f ldr r2, [pc, #188] ; (806f774 ) 806f6b8: 203b movs r0, #59 ; 0x3b 806f6ba: f7e5 f86f bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 806f6be: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806f6c2: 3b02 subs r3, #2 806f6c4: b299 uxth r1, r3 806f6c6: 2302 movs r3, #2 806f6c8: 4a26 ldr r2, [pc, #152] ; (806f764 ) 806f6ca: 203b movs r0, #59 ; 0x3b 806f6cc: f7e5 f866 bl 805479c 806f6d0: e092 b.n 806f7f8 if(fmax <= 1000.0f) 806f6d2: f207 434c addw r3, r7, #1100 ; 0x44c 806f6d6: edd3 7a00 vldr s15, [r3] 806f6da: ed9f 7a27 vldr s14, [pc, #156] ; 806f778 806f6de: eef4 7ac7 vcmpe.f32 s15, s14 806f6e2: eef1 fa10 vmrs APSR_nzcv, fpscr 806f6e6: d84f bhi.n 806f788 BSP_LCD_DisplayStringAt(59, y5 - 2, "1000", RIGHT_MODE); 806f6e8: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806f6ec: 3b02 subs r3, #2 806f6ee: b299 uxth r1, r3 806f6f0: 2302 movs r3, #2 806f6f2: 4a22 ldr r2, [pc, #136] ; (806f77c ) 806f6f4: 203b movs r0, #59 ; 0x3b 806f6f6: f7e5 f851 bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "500", RIGHT_MODE); 806f6fa: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806f6fe: 3b02 subs r3, #2 806f700: b299 uxth r1, r3 806f702: 2302 movs r3, #2 806f704: 4a1e ldr r2, [pc, #120] ; (806f780 ) 806f706: 203b movs r0, #59 ; 0x3b 806f708: f7e5 f848 bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 806f70c: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806f710: 3b02 subs r3, #2 806f712: b299 uxth r1, r3 806f714: 2302 movs r3, #2 806f716: 4a15 ldr r2, [pc, #84] ; (806f76c ) 806f718: 203b movs r0, #59 ; 0x3b 806f71a: f7e5 f83f bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "50", RIGHT_MODE); 806f71e: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806f722: 3b02 subs r3, #2 806f724: b299 uxth r1, r3 806f726: 2302 movs r3, #2 806f728: 4a11 ldr r2, [pc, #68] ; (806f770 ) 806f72a: 203b movs r0, #59 ; 0x3b 806f72c: f7e5 f836 bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "10", RIGHT_MODE); 806f730: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806f734: 3b02 subs r3, #2 806f736: b299 uxth r1, r3 806f738: 2302 movs r3, #2 806f73a: 4a06 ldr r2, [pc, #24] ; (806f754 ) 806f73c: 203b movs r0, #59 ; 0x3b 806f73e: f7e5 f82d bl 805479c 806f742: e059 b.n 806f7f8 806f744: 20020070 .word 0x20020070 806f748: 20020060 .word 0x20020060 806f74c: ff0a0f1f .word 0xff0a0f1f 806f750: ffd3d3d3 .word 0xffd3d3d3 806f754: 080d3dc0 .word 0x080d3dc0 806f758: 080d3dec .word 0x080d3dec 806f75c: 080d3df4 .word 0x080d3df4 806f760: 080d3df8 .word 0x080d3df8 806f764: 080d2bc4 .word 0x080d2bc4 806f768: 42c80000 .word 0x42c80000 806f76c: 080d3dc8 .word 0x080d3dc8 806f770: 080d3dcc .word 0x080d3dcc 806f774: 080d3b28 .word 0x080d3b28 806f778: 447a0000 .word 0x447a0000 806f77c: 080d3dd0 .word 0x080d3dd0 806f780: 080d3dd8 .word 0x080d3dd8 806f784: 461c4000 .word 0x461c4000 if(fmax <= 10000.0f) 806f788: f207 434c addw r3, r7, #1100 ; 0x44c 806f78c: edd3 7a00 vldr s15, [r3] 806f790: ed1f 7a04 vldr s14, [pc, #-16] ; 806f784 806f794: eef4 7ac7 vcmpe.f32 s15, s14 806f798: eef1 fa10 vmrs APSR_nzcv, fpscr 806f79c: d82c bhi.n 806f7f8 BSP_LCD_DisplayStringAt(59, y5 - 2, "10000", RIGHT_MODE); 806f79e: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806f7a2: 3b02 subs r3, #2 806f7a4: b299 uxth r1, r3 806f7a6: 2302 movs r3, #2 806f7a8: 4a9b ldr r2, [pc, #620] ; (806fa18 ) 806f7aa: 203b movs r0, #59 ; 0x3b 806f7ac: f7e4 fff6 bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "1000", RIGHT_MODE); 806f7b0: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806f7b4: 3b02 subs r3, #2 806f7b6: b299 uxth r1, r3 806f7b8: 2302 movs r3, #2 806f7ba: 4a98 ldr r2, [pc, #608] ; (806fa1c ) 806f7bc: 203b movs r0, #59 ; 0x3b 806f7be: f7e4 ffed bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 806f7c2: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806f7c6: 3b02 subs r3, #2 806f7c8: b299 uxth r1, r3 806f7ca: 2302 movs r3, #2 806f7cc: 4a94 ldr r2, [pc, #592] ; (806fa20 ) 806f7ce: 203b movs r0, #59 ; 0x3b 806f7d0: f7e4 ffe4 bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "10", RIGHT_MODE); 806f7d4: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806f7d8: 3b02 subs r3, #2 806f7da: b299 uxth r1, r3 806f7dc: 2302 movs r3, #2 806f7de: 4a91 ldr r2, [pc, #580] ; (806fa24 ) 806f7e0: 203b movs r0, #59 ; 0x3b 806f7e2: f7e4 ffdb bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 806f7e6: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806f7ea: 3b02 subs r3, #2 806f7ec: b299 uxth r1, r3 806f7ee: 2302 movs r3, #2 806f7f0: 4a8d ldr r2, [pc, #564] ; (806fa28 ) 806f7f2: 203b movs r0, #59 ; 0x3b 806f7f4: f7e4 ffd2 bl 805479c if(l == 1) 806f7f8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806f7fc: 2b01 cmp r3, #1 806f7fe: f040 8119 bne.w 806fa34 k = CmplxA_u32(0); 806f802: 4b8a ldr r3, [pc, #552] ; (806fa2c ) 806f804: 681b ldr r3, [r3, #0] 806f806: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806f80a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f80e: 0e5b lsrs r3, r3, #25 806f810: 3b14 subs r3, #20 806f812: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806f816: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f81a: 0d5b lsrs r3, r3, #21 806f81c: f003 030f and.w r3, r3, #15 806f820: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806f824: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f828: 0c1b lsrs r3, r3, #16 806f82a: f003 031f and.w r3, r3, #31 806f82e: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806f832: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f836: 0adb lsrs r3, r3, #11 806f838: f003 031f and.w r3, r3, #31 806f83c: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806f840: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f844: 095b lsrs r3, r3, #5 806f846: f003 033f and.w r3, r3, #63 ; 0x3f 806f84a: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806f84e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f852: 005b lsls r3, r3, #1 806f854: f003 031f and.w r3, r3, #31 806f858: 3301 adds r3, #1 806f85a: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806f85e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f862: 223c movs r2, #60 ; 0x3c 806f864: 2100 movs r1, #0 806f866: 4618 mov r0, r3 806f868: f061 fd9a bl 80d13a0 str[0] = (Day / 10) + 48; 806f86c: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806f870: 4a6f ldr r2, [pc, #444] ; (806fa30 ) 806f872: fba2 2303 umull r2, r3, r2, r3 806f876: 08db lsrs r3, r3, #3 806f878: b2db uxtb r3, r3 806f87a: 3330 adds r3, #48 ; 0x30 806f87c: b2da uxtb r2, r3 806f87e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f882: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806f884: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806f888: 4b69 ldr r3, [pc, #420] ; (806fa30 ) 806f88a: fba3 2301 umull r2, r3, r3, r1 806f88e: 08da lsrs r2, r3, #3 806f890: 4613 mov r3, r2 806f892: 009b lsls r3, r3, #2 806f894: 4413 add r3, r2 806f896: 005b lsls r3, r3, #1 806f898: 1aca subs r2, r1, r3 806f89a: b2d3 uxtb r3, r2 806f89c: 3330 adds r3, #48 ; 0x30 806f89e: b2da uxtb r2, r3 806f8a0: f507 733b add.w r3, r7, #748 ; 0x2ec 806f8a4: 705a strb r2, [r3, #1] str[2] = '.'; 806f8a6: f507 733b add.w r3, r7, #748 ; 0x2ec 806f8aa: 222e movs r2, #46 ; 0x2e 806f8ac: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806f8ae: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806f8b2: 4a5f ldr r2, [pc, #380] ; (806fa30 ) 806f8b4: fba2 2303 umull r2, r3, r2, r3 806f8b8: 08db lsrs r3, r3, #3 806f8ba: b2db uxtb r3, r3 806f8bc: 3330 adds r3, #48 ; 0x30 806f8be: b2da uxtb r2, r3 806f8c0: f507 733b add.w r3, r7, #748 ; 0x2ec 806f8c4: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806f8c6: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806f8ca: 4b59 ldr r3, [pc, #356] ; (806fa30 ) 806f8cc: fba3 2301 umull r2, r3, r3, r1 806f8d0: 08da lsrs r2, r3, #3 806f8d2: 4613 mov r3, r2 806f8d4: 009b lsls r3, r3, #2 806f8d6: 4413 add r3, r2 806f8d8: 005b lsls r3, r3, #1 806f8da: 1aca subs r2, r1, r3 806f8dc: b2d3 uxtb r3, r2 806f8de: 3330 adds r3, #48 ; 0x30 806f8e0: b2da uxtb r2, r3 806f8e2: f507 733b add.w r3, r7, #748 ; 0x2ec 806f8e6: 711a strb r2, [r3, #4] str[5] = '.'; 806f8e8: f507 733b add.w r3, r7, #748 ; 0x2ec 806f8ec: 222e movs r2, #46 ; 0x2e 806f8ee: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806f8f0: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806f8f4: 4a4e ldr r2, [pc, #312] ; (806fa30 ) 806f8f6: fba2 2303 umull r2, r3, r2, r3 806f8fa: 08db lsrs r3, r3, #3 806f8fc: b2db uxtb r3, r3 806f8fe: 3330 adds r3, #48 ; 0x30 806f900: b2da uxtb r2, r3 806f902: f507 733b add.w r3, r7, #748 ; 0x2ec 806f906: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806f908: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806f90c: 4b48 ldr r3, [pc, #288] ; (806fa30 ) 806f90e: fba3 2301 umull r2, r3, r3, r1 806f912: 08da lsrs r2, r3, #3 806f914: 4613 mov r3, r2 806f916: 009b lsls r3, r3, #2 806f918: 4413 add r3, r2 806f91a: 005b lsls r3, r3, #1 806f91c: 1aca subs r2, r1, r3 806f91e: b2d3 uxtb r3, r2 806f920: 3330 adds r3, #48 ; 0x30 806f922: b2da uxtb r2, r3 806f924: f507 733b add.w r3, r7, #748 ; 0x2ec 806f928: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 806f92a: f507 723b add.w r2, r7, #748 ; 0x2ec 806f92e: 2301 movs r3, #1 806f930: 21dc movs r1, #220 ; 0xdc 806f932: 20be movs r0, #190 ; 0xbe 806f934: f7e4 ff32 bl 805479c memset(str, 0, sizeof(str)); 806f938: f507 733b add.w r3, r7, #748 ; 0x2ec 806f93c: 223c movs r2, #60 ; 0x3c 806f93e: 2100 movs r1, #0 806f940: 4618 mov r0, r3 806f942: f061 fd2d bl 80d13a0 str[0] = (Hour / 10) + 48; 806f946: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806f94a: 4a39 ldr r2, [pc, #228] ; (806fa30 ) 806f94c: fba2 2303 umull r2, r3, r2, r3 806f950: 08db lsrs r3, r3, #3 806f952: b2db uxtb r3, r3 806f954: 3330 adds r3, #48 ; 0x30 806f956: b2da uxtb r2, r3 806f958: f507 733b add.w r3, r7, #748 ; 0x2ec 806f95c: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806f95e: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806f962: 4b33 ldr r3, [pc, #204] ; (806fa30 ) 806f964: fba3 2301 umull r2, r3, r3, r1 806f968: 08da lsrs r2, r3, #3 806f96a: 4613 mov r3, r2 806f96c: 009b lsls r3, r3, #2 806f96e: 4413 add r3, r2 806f970: 005b lsls r3, r3, #1 806f972: 1aca subs r2, r1, r3 806f974: b2d3 uxtb r3, r2 806f976: 3330 adds r3, #48 ; 0x30 806f978: b2da uxtb r2, r3 806f97a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f97e: 705a strb r2, [r3, #1] str[2] = ':'; 806f980: f507 733b add.w r3, r7, #748 ; 0x2ec 806f984: 223a movs r2, #58 ; 0x3a 806f986: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806f988: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806f98c: 4a28 ldr r2, [pc, #160] ; (806fa30 ) 806f98e: fba2 2303 umull r2, r3, r2, r3 806f992: 08db lsrs r3, r3, #3 806f994: b2db uxtb r3, r3 806f996: 3330 adds r3, #48 ; 0x30 806f998: b2da uxtb r2, r3 806f99a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f99e: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806f9a0: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806f9a4: 4b22 ldr r3, [pc, #136] ; (806fa30 ) 806f9a6: fba3 2301 umull r2, r3, r3, r1 806f9aa: 08da lsrs r2, r3, #3 806f9ac: 4613 mov r3, r2 806f9ae: 009b lsls r3, r3, #2 806f9b0: 4413 add r3, r2 806f9b2: 005b lsls r3, r3, #1 806f9b4: 1aca subs r2, r1, r3 806f9b6: b2d3 uxtb r3, r2 806f9b8: 3330 adds r3, #48 ; 0x30 806f9ba: b2da uxtb r2, r3 806f9bc: f507 733b add.w r3, r7, #748 ; 0x2ec 806f9c0: 711a strb r2, [r3, #4] str[5] = ':'; 806f9c2: f507 733b add.w r3, r7, #748 ; 0x2ec 806f9c6: 223a movs r2, #58 ; 0x3a 806f9c8: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806f9ca: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806f9ce: 4a18 ldr r2, [pc, #96] ; (806fa30 ) 806f9d0: fba2 2303 umull r2, r3, r2, r3 806f9d4: 08db lsrs r3, r3, #3 806f9d6: b2db uxtb r3, r3 806f9d8: 3330 adds r3, #48 ; 0x30 806f9da: b2da uxtb r2, r3 806f9dc: f507 733b add.w r3, r7, #748 ; 0x2ec 806f9e0: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806f9e2: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806f9e6: 4b12 ldr r3, [pc, #72] ; (806fa30 ) 806f9e8: fba3 2301 umull r2, r3, r3, r1 806f9ec: 08da lsrs r2, r3, #3 806f9ee: 4613 mov r3, r2 806f9f0: 009b lsls r3, r3, #2 806f9f2: 4413 add r3, r2 806f9f4: 005b lsls r3, r3, #1 806f9f6: 1aca subs r2, r1, r3 806f9f8: b2d3 uxtb r3, r2 806f9fa: 3330 adds r3, #48 ; 0x30 806f9fc: b2da uxtb r2, r3 806f9fe: f507 733b add.w r3, r7, #748 ; 0x2ec 806fa02: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 806fa04: f507 723b add.w r2, r7, #748 ; 0x2ec 806fa08: 2301 movs r3, #1 806fa0a: 21e4 movs r1, #228 ; 0xe4 806fa0c: 20be movs r0, #190 ; 0xbe 806fa0e: f7e4 fec5 bl 805479c 806fa12: f000 bd76 b.w 8070502 806fa16: bf00 nop 806fa18: 080d3ddc .word 0x080d3ddc 806fa1c: 080d3dd0 .word 0x080d3dd0 806fa20: 080d3dc8 .word 0x080d3dc8 806fa24: 080d3dc0 .word 0x080d3dc0 806fa28: 080d2bc4 .word 0x080d2bc4 806fa2c: 64090000 .word 0x64090000 806fa30: cccccccd .word 0xcccccccd if(l == 2) 806fa34: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806fa38: 2b02 cmp r3, #2 806fa3a: f040 821d bne.w 806fe78 k = CmplxA_u32(0); 806fa3e: 4bde ldr r3, [pc, #888] ; (806fdb8 ) 806fa40: 681b ldr r3, [r3, #0] 806fa42: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806fa46: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fa4a: 0e5b lsrs r3, r3, #25 806fa4c: 3b14 subs r3, #20 806fa4e: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806fa52: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fa56: 0d5b lsrs r3, r3, #21 806fa58: f003 030f and.w r3, r3, #15 806fa5c: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806fa60: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fa64: 0c1b lsrs r3, r3, #16 806fa66: f003 031f and.w r3, r3, #31 806fa6a: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806fa6e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fa72: 0adb lsrs r3, r3, #11 806fa74: f003 031f and.w r3, r3, #31 806fa78: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806fa7c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fa80: 095b lsrs r3, r3, #5 806fa82: f003 033f and.w r3, r3, #63 ; 0x3f 806fa86: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806fa8a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fa8e: 005b lsls r3, r3, #1 806fa90: f003 031f and.w r3, r3, #31 806fa94: 3301 adds r3, #1 806fa96: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806fa9a: f507 733b add.w r3, r7, #748 ; 0x2ec 806fa9e: 223c movs r2, #60 ; 0x3c 806faa0: 2100 movs r1, #0 806faa2: 4618 mov r0, r3 806faa4: f061 fc7c bl 80d13a0 str[0] = (Day / 10) + 48; 806faa8: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806faac: 4ac3 ldr r2, [pc, #780] ; (806fdbc ) 806faae: fba2 2303 umull r2, r3, r2, r3 806fab2: 08db lsrs r3, r3, #3 806fab4: b2db uxtb r3, r3 806fab6: 3330 adds r3, #48 ; 0x30 806fab8: b2da uxtb r2, r3 806faba: f507 733b add.w r3, r7, #748 ; 0x2ec 806fabe: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806fac0: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806fac4: 4bbd ldr r3, [pc, #756] ; (806fdbc ) 806fac6: fba3 2301 umull r2, r3, r3, r1 806faca: 08da lsrs r2, r3, #3 806facc: 4613 mov r3, r2 806face: 009b lsls r3, r3, #2 806fad0: 4413 add r3, r2 806fad2: 005b lsls r3, r3, #1 806fad4: 1aca subs r2, r1, r3 806fad6: b2d3 uxtb r3, r2 806fad8: 3330 adds r3, #48 ; 0x30 806fada: b2da uxtb r2, r3 806fadc: f507 733b add.w r3, r7, #748 ; 0x2ec 806fae0: 705a strb r2, [r3, #1] str[2] = '.'; 806fae2: f507 733b add.w r3, r7, #748 ; 0x2ec 806fae6: 222e movs r2, #46 ; 0x2e 806fae8: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806faea: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806faee: 4ab3 ldr r2, [pc, #716] ; (806fdbc ) 806faf0: fba2 2303 umull r2, r3, r2, r3 806faf4: 08db lsrs r3, r3, #3 806faf6: b2db uxtb r3, r3 806faf8: 3330 adds r3, #48 ; 0x30 806fafa: b2da uxtb r2, r3 806fafc: f507 733b add.w r3, r7, #748 ; 0x2ec 806fb00: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806fb02: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806fb06: 4bad ldr r3, [pc, #692] ; (806fdbc ) 806fb08: fba3 2301 umull r2, r3, r3, r1 806fb0c: 08da lsrs r2, r3, #3 806fb0e: 4613 mov r3, r2 806fb10: 009b lsls r3, r3, #2 806fb12: 4413 add r3, r2 806fb14: 005b lsls r3, r3, #1 806fb16: 1aca subs r2, r1, r3 806fb18: b2d3 uxtb r3, r2 806fb1a: 3330 adds r3, #48 ; 0x30 806fb1c: b2da uxtb r2, r3 806fb1e: f507 733b add.w r3, r7, #748 ; 0x2ec 806fb22: 711a strb r2, [r3, #4] str[5] = '.'; 806fb24: f507 733b add.w r3, r7, #748 ; 0x2ec 806fb28: 222e movs r2, #46 ; 0x2e 806fb2a: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806fb2c: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806fb30: 4aa2 ldr r2, [pc, #648] ; (806fdbc ) 806fb32: fba2 2303 umull r2, r3, r2, r3 806fb36: 08db lsrs r3, r3, #3 806fb38: b2db uxtb r3, r3 806fb3a: 3330 adds r3, #48 ; 0x30 806fb3c: b2da uxtb r2, r3 806fb3e: f507 733b add.w r3, r7, #748 ; 0x2ec 806fb42: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806fb44: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806fb48: 4b9c ldr r3, [pc, #624] ; (806fdbc ) 806fb4a: fba3 2301 umull r2, r3, r3, r1 806fb4e: 08da lsrs r2, r3, #3 806fb50: 4613 mov r3, r2 806fb52: 009b lsls r3, r3, #2 806fb54: 4413 add r3, r2 806fb56: 005b lsls r3, r3, #1 806fb58: 1aca subs r2, r1, r3 806fb5a: b2d3 uxtb r3, r2 806fb5c: 3330 adds r3, #48 ; 0x30 806fb5e: b2da uxtb r2, r3 806fb60: f507 733b add.w r3, r7, #748 ; 0x2ec 806fb64: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806fb66: f507 723b add.w r2, r7, #748 ; 0x2ec 806fb6a: 2301 movs r3, #1 806fb6c: 21dc movs r1, #220 ; 0xdc 806fb6e: 2050 movs r0, #80 ; 0x50 806fb70: f7e4 fe14 bl 805479c memset(str, 0, sizeof(str)); 806fb74: f507 733b add.w r3, r7, #748 ; 0x2ec 806fb78: 223c movs r2, #60 ; 0x3c 806fb7a: 2100 movs r1, #0 806fb7c: 4618 mov r0, r3 806fb7e: f061 fc0f bl 80d13a0 str[0] = (Hour / 10) + 48; 806fb82: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806fb86: 4a8d ldr r2, [pc, #564] ; (806fdbc ) 806fb88: fba2 2303 umull r2, r3, r2, r3 806fb8c: 08db lsrs r3, r3, #3 806fb8e: b2db uxtb r3, r3 806fb90: 3330 adds r3, #48 ; 0x30 806fb92: b2da uxtb r2, r3 806fb94: f507 733b add.w r3, r7, #748 ; 0x2ec 806fb98: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806fb9a: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806fb9e: 4b87 ldr r3, [pc, #540] ; (806fdbc ) 806fba0: fba3 2301 umull r2, r3, r3, r1 806fba4: 08da lsrs r2, r3, #3 806fba6: 4613 mov r3, r2 806fba8: 009b lsls r3, r3, #2 806fbaa: 4413 add r3, r2 806fbac: 005b lsls r3, r3, #1 806fbae: 1aca subs r2, r1, r3 806fbb0: b2d3 uxtb r3, r2 806fbb2: 3330 adds r3, #48 ; 0x30 806fbb4: b2da uxtb r2, r3 806fbb6: f507 733b add.w r3, r7, #748 ; 0x2ec 806fbba: 705a strb r2, [r3, #1] str[2] = ':'; 806fbbc: f507 733b add.w r3, r7, #748 ; 0x2ec 806fbc0: 223a movs r2, #58 ; 0x3a 806fbc2: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806fbc4: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806fbc8: 4a7c ldr r2, [pc, #496] ; (806fdbc ) 806fbca: fba2 2303 umull r2, r3, r2, r3 806fbce: 08db lsrs r3, r3, #3 806fbd0: b2db uxtb r3, r3 806fbd2: 3330 adds r3, #48 ; 0x30 806fbd4: b2da uxtb r2, r3 806fbd6: f507 733b add.w r3, r7, #748 ; 0x2ec 806fbda: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806fbdc: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806fbe0: 4b76 ldr r3, [pc, #472] ; (806fdbc ) 806fbe2: fba3 2301 umull r2, r3, r3, r1 806fbe6: 08da lsrs r2, r3, #3 806fbe8: 4613 mov r3, r2 806fbea: 009b lsls r3, r3, #2 806fbec: 4413 add r3, r2 806fbee: 005b lsls r3, r3, #1 806fbf0: 1aca subs r2, r1, r3 806fbf2: b2d3 uxtb r3, r2 806fbf4: 3330 adds r3, #48 ; 0x30 806fbf6: b2da uxtb r2, r3 806fbf8: f507 733b add.w r3, r7, #748 ; 0x2ec 806fbfc: 711a strb r2, [r3, #4] str[5] = ':'; 806fbfe: f507 733b add.w r3, r7, #748 ; 0x2ec 806fc02: 223a movs r2, #58 ; 0x3a 806fc04: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806fc06: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806fc0a: 4a6c ldr r2, [pc, #432] ; (806fdbc ) 806fc0c: fba2 2303 umull r2, r3, r2, r3 806fc10: 08db lsrs r3, r3, #3 806fc12: b2db uxtb r3, r3 806fc14: 3330 adds r3, #48 ; 0x30 806fc16: b2da uxtb r2, r3 806fc18: f507 733b add.w r3, r7, #748 ; 0x2ec 806fc1c: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806fc1e: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806fc22: 4b66 ldr r3, [pc, #408] ; (806fdbc ) 806fc24: fba3 2301 umull r2, r3, r3, r1 806fc28: 08da lsrs r2, r3, #3 806fc2a: 4613 mov r3, r2 806fc2c: 009b lsls r3, r3, #2 806fc2e: 4413 add r3, r2 806fc30: 005b lsls r3, r3, #1 806fc32: 1aca subs r2, r1, r3 806fc34: b2d3 uxtb r3, r2 806fc36: 3330 adds r3, #48 ; 0x30 806fc38: b2da uxtb r2, r3 806fc3a: f507 733b add.w r3, r7, #748 ; 0x2ec 806fc3e: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 806fc40: f507 723b add.w r2, r7, #748 ; 0x2ec 806fc44: 2301 movs r3, #1 806fc46: 21e4 movs r1, #228 ; 0xe4 806fc48: 2050 movs r0, #80 ; 0x50 806fc4a: f7e4 fda7 bl 805479c k = CmplxA_u32(1); 806fc4e: 4b5c ldr r3, [pc, #368] ; (806fdc0 ) 806fc50: 681b ldr r3, [r3, #0] 806fc52: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806fc56: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fc5a: 0e5b lsrs r3, r3, #25 806fc5c: 3b14 subs r3, #20 806fc5e: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806fc62: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fc66: 0d5b lsrs r3, r3, #21 806fc68: f003 030f and.w r3, r3, #15 806fc6c: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806fc70: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fc74: 0c1b lsrs r3, r3, #16 806fc76: f003 031f and.w r3, r3, #31 806fc7a: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806fc7e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fc82: 0adb lsrs r3, r3, #11 806fc84: f003 031f and.w r3, r3, #31 806fc88: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806fc8c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fc90: 095b lsrs r3, r3, #5 806fc92: f003 033f and.w r3, r3, #63 ; 0x3f 806fc96: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806fc9a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fc9e: 005b lsls r3, r3, #1 806fca0: f003 031f and.w r3, r3, #31 806fca4: 3301 adds r3, #1 806fca6: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806fcaa: f507 733b add.w r3, r7, #748 ; 0x2ec 806fcae: 223c movs r2, #60 ; 0x3c 806fcb0: 2100 movs r1, #0 806fcb2: 4618 mov r0, r3 806fcb4: f061 fb74 bl 80d13a0 str[0] = (Day / 10) + 48; 806fcb8: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806fcbc: 4a3f ldr r2, [pc, #252] ; (806fdbc ) 806fcbe: fba2 2303 umull r2, r3, r2, r3 806fcc2: 08db lsrs r3, r3, #3 806fcc4: b2db uxtb r3, r3 806fcc6: 3330 adds r3, #48 ; 0x30 806fcc8: b2da uxtb r2, r3 806fcca: f507 733b add.w r3, r7, #748 ; 0x2ec 806fcce: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806fcd0: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806fcd4: 4b39 ldr r3, [pc, #228] ; (806fdbc ) 806fcd6: fba3 2301 umull r2, r3, r3, r1 806fcda: 08da lsrs r2, r3, #3 806fcdc: 4613 mov r3, r2 806fcde: 009b lsls r3, r3, #2 806fce0: 4413 add r3, r2 806fce2: 005b lsls r3, r3, #1 806fce4: 1aca subs r2, r1, r3 806fce6: b2d3 uxtb r3, r2 806fce8: 3330 adds r3, #48 ; 0x30 806fcea: b2da uxtb r2, r3 806fcec: f507 733b add.w r3, r7, #748 ; 0x2ec 806fcf0: 705a strb r2, [r3, #1] str[2] = '.'; 806fcf2: f507 733b add.w r3, r7, #748 ; 0x2ec 806fcf6: 222e movs r2, #46 ; 0x2e 806fcf8: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806fcfa: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806fcfe: 4a2f ldr r2, [pc, #188] ; (806fdbc ) 806fd00: fba2 2303 umull r2, r3, r2, r3 806fd04: 08db lsrs r3, r3, #3 806fd06: b2db uxtb r3, r3 806fd08: 3330 adds r3, #48 ; 0x30 806fd0a: b2da uxtb r2, r3 806fd0c: f507 733b add.w r3, r7, #748 ; 0x2ec 806fd10: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806fd12: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806fd16: 4b29 ldr r3, [pc, #164] ; (806fdbc ) 806fd18: fba3 2301 umull r2, r3, r3, r1 806fd1c: 08da lsrs r2, r3, #3 806fd1e: 4613 mov r3, r2 806fd20: 009b lsls r3, r3, #2 806fd22: 4413 add r3, r2 806fd24: 005b lsls r3, r3, #1 806fd26: 1aca subs r2, r1, r3 806fd28: b2d3 uxtb r3, r2 806fd2a: 3330 adds r3, #48 ; 0x30 806fd2c: b2da uxtb r2, r3 806fd2e: f507 733b add.w r3, r7, #748 ; 0x2ec 806fd32: 711a strb r2, [r3, #4] str[5] = '.'; 806fd34: f507 733b add.w r3, r7, #748 ; 0x2ec 806fd38: 222e movs r2, #46 ; 0x2e 806fd3a: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806fd3c: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806fd40: 4a1e ldr r2, [pc, #120] ; (806fdbc ) 806fd42: fba2 2303 umull r2, r3, r2, r3 806fd46: 08db lsrs r3, r3, #3 806fd48: b2db uxtb r3, r3 806fd4a: 3330 adds r3, #48 ; 0x30 806fd4c: b2da uxtb r2, r3 806fd4e: f507 733b add.w r3, r7, #748 ; 0x2ec 806fd52: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806fd54: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806fd58: 4b18 ldr r3, [pc, #96] ; (806fdbc ) 806fd5a: fba3 2301 umull r2, r3, r3, r1 806fd5e: 08da lsrs r2, r3, #3 806fd60: 4613 mov r3, r2 806fd62: 009b lsls r3, r3, #2 806fd64: 4413 add r3, r2 806fd66: 005b lsls r3, r3, #1 806fd68: 1aca subs r2, r1, r3 806fd6a: b2d3 uxtb r3, r2 806fd6c: 3330 adds r3, #48 ; 0x30 806fd6e: b2da uxtb r2, r3 806fd70: f507 733b add.w r3, r7, #748 ; 0x2ec 806fd74: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 806fd76: f507 723b add.w r2, r7, #748 ; 0x2ec 806fd7a: 2301 movs r3, #1 806fd7c: 21dc movs r1, #220 ; 0xdc 806fd7e: f44f 7095 mov.w r0, #298 ; 0x12a 806fd82: f7e4 fd0b bl 805479c memset(str, 0, sizeof(str)); 806fd86: f507 733b add.w r3, r7, #748 ; 0x2ec 806fd8a: 223c movs r2, #60 ; 0x3c 806fd8c: 2100 movs r1, #0 806fd8e: 4618 mov r0, r3 806fd90: f061 fb06 bl 80d13a0 str[0] = (Hour / 10) + 48; 806fd94: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806fd98: 4a08 ldr r2, [pc, #32] ; (806fdbc ) 806fd9a: fba2 2303 umull r2, r3, r2, r3 806fd9e: 08db lsrs r3, r3, #3 806fda0: b2db uxtb r3, r3 806fda2: 3330 adds r3, #48 ; 0x30 806fda4: b2da uxtb r2, r3 806fda6: f507 733b add.w r3, r7, #748 ; 0x2ec 806fdaa: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806fdac: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806fdb0: 4b02 ldr r3, [pc, #8] ; (806fdbc ) 806fdb2: fba3 2301 umull r2, r3, r3, r1 806fdb6: e005 b.n 806fdc4 806fdb8: 64090000 .word 0x64090000 806fdbc: cccccccd .word 0xcccccccd 806fdc0: 64090004 .word 0x64090004 806fdc4: 08da lsrs r2, r3, #3 806fdc6: 4613 mov r3, r2 806fdc8: 009b lsls r3, r3, #2 806fdca: 4413 add r3, r2 806fdcc: 005b lsls r3, r3, #1 806fdce: 1aca subs r2, r1, r3 806fdd0: b2d3 uxtb r3, r2 806fdd2: 3330 adds r3, #48 ; 0x30 806fdd4: b2da uxtb r2, r3 806fdd6: f507 733b add.w r3, r7, #748 ; 0x2ec 806fdda: 705a strb r2, [r3, #1] str[2] = ':'; 806fddc: f507 733b add.w r3, r7, #748 ; 0x2ec 806fde0: 223a movs r2, #58 ; 0x3a 806fde2: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806fde4: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806fde8: 4a22 ldr r2, [pc, #136] ; (806fe74 ) 806fdea: fba2 2303 umull r2, r3, r2, r3 806fdee: 08db lsrs r3, r3, #3 806fdf0: b2db uxtb r3, r3 806fdf2: 3330 adds r3, #48 ; 0x30 806fdf4: b2da uxtb r2, r3 806fdf6: f507 733b add.w r3, r7, #748 ; 0x2ec 806fdfa: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806fdfc: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806fe00: 4b1c ldr r3, [pc, #112] ; (806fe74 ) 806fe02: fba3 2301 umull r2, r3, r3, r1 806fe06: 08da lsrs r2, r3, #3 806fe08: 4613 mov r3, r2 806fe0a: 009b lsls r3, r3, #2 806fe0c: 4413 add r3, r2 806fe0e: 005b lsls r3, r3, #1 806fe10: 1aca subs r2, r1, r3 806fe12: b2d3 uxtb r3, r2 806fe14: 3330 adds r3, #48 ; 0x30 806fe16: b2da uxtb r2, r3 806fe18: f507 733b add.w r3, r7, #748 ; 0x2ec 806fe1c: 711a strb r2, [r3, #4] str[5] = ':'; 806fe1e: f507 733b add.w r3, r7, #748 ; 0x2ec 806fe22: 223a movs r2, #58 ; 0x3a 806fe24: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806fe26: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806fe2a: 4a12 ldr r2, [pc, #72] ; (806fe74 ) 806fe2c: fba2 2303 umull r2, r3, r2, r3 806fe30: 08db lsrs r3, r3, #3 806fe32: b2db uxtb r3, r3 806fe34: 3330 adds r3, #48 ; 0x30 806fe36: b2da uxtb r2, r3 806fe38: f507 733b add.w r3, r7, #748 ; 0x2ec 806fe3c: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806fe3e: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806fe42: 4b0c ldr r3, [pc, #48] ; (806fe74 ) 806fe44: fba3 2301 umull r2, r3, r3, r1 806fe48: 08da lsrs r2, r3, #3 806fe4a: 4613 mov r3, r2 806fe4c: 009b lsls r3, r3, #2 806fe4e: 4413 add r3, r2 806fe50: 005b lsls r3, r3, #1 806fe52: 1aca subs r2, r1, r3 806fe54: b2d3 uxtb r3, r2 806fe56: 3330 adds r3, #48 ; 0x30 806fe58: b2da uxtb r2, r3 806fe5a: f507 733b add.w r3, r7, #748 ; 0x2ec 806fe5e: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 806fe60: f507 723b add.w r2, r7, #748 ; 0x2ec 806fe64: 2301 movs r3, #1 806fe66: 21e4 movs r1, #228 ; 0xe4 806fe68: f44f 7095 mov.w r0, #298 ; 0x12a 806fe6c: f7e4 fc96 bl 805479c 806fe70: e347 b.n 8070502 806fe72: bf00 nop 806fe74: cccccccd .word 0xcccccccd k = CmplxA_u32(0); 806fe78: 4be0 ldr r3, [pc, #896] ; (80701fc ) 806fe7a: 681b ldr r3, [r3, #0] 806fe7c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806fe80: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fe84: 0e5b lsrs r3, r3, #25 806fe86: 3b14 subs r3, #20 806fe88: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806fe8c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fe90: 0d5b lsrs r3, r3, #21 806fe92: f003 030f and.w r3, r3, #15 806fe96: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806fe9a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fe9e: 0c1b lsrs r3, r3, #16 806fea0: f003 031f and.w r3, r3, #31 806fea4: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806fea8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806feac: 0adb lsrs r3, r3, #11 806feae: f003 031f and.w r3, r3, #31 806feb2: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806feb6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806feba: 095b lsrs r3, r3, #5 806febc: f003 033f and.w r3, r3, #63 ; 0x3f 806fec0: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806fec4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806fec8: 005b lsls r3, r3, #1 806feca: f003 031f and.w r3, r3, #31 806fece: 3301 adds r3, #1 806fed0: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806fed4: f507 733b add.w r3, r7, #748 ; 0x2ec 806fed8: 223c movs r2, #60 ; 0x3c 806feda: 2100 movs r1, #0 806fedc: 4618 mov r0, r3 806fede: f061 fa5f bl 80d13a0 str[0] = (Day / 10) + 48; 806fee2: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806fee6: 4ac6 ldr r2, [pc, #792] ; (8070200 ) 806fee8: fba2 2303 umull r2, r3, r2, r3 806feec: 08db lsrs r3, r3, #3 806feee: b2db uxtb r3, r3 806fef0: 3330 adds r3, #48 ; 0x30 806fef2: b2da uxtb r2, r3 806fef4: f507 733b add.w r3, r7, #748 ; 0x2ec 806fef8: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806fefa: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806fefe: 4bc0 ldr r3, [pc, #768] ; (8070200 ) 806ff00: fba3 2301 umull r2, r3, r3, r1 806ff04: 08da lsrs r2, r3, #3 806ff06: 4613 mov r3, r2 806ff08: 009b lsls r3, r3, #2 806ff0a: 4413 add r3, r2 806ff0c: 005b lsls r3, r3, #1 806ff0e: 1aca subs r2, r1, r3 806ff10: b2d3 uxtb r3, r2 806ff12: 3330 adds r3, #48 ; 0x30 806ff14: b2da uxtb r2, r3 806ff16: f507 733b add.w r3, r7, #748 ; 0x2ec 806ff1a: 705a strb r2, [r3, #1] str[2] = '.'; 806ff1c: f507 733b add.w r3, r7, #748 ; 0x2ec 806ff20: 222e movs r2, #46 ; 0x2e 806ff22: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806ff24: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806ff28: 4ab5 ldr r2, [pc, #724] ; (8070200 ) 806ff2a: fba2 2303 umull r2, r3, r2, r3 806ff2e: 08db lsrs r3, r3, #3 806ff30: b2db uxtb r3, r3 806ff32: 3330 adds r3, #48 ; 0x30 806ff34: b2da uxtb r2, r3 806ff36: f507 733b add.w r3, r7, #748 ; 0x2ec 806ff3a: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806ff3c: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806ff40: 4baf ldr r3, [pc, #700] ; (8070200 ) 806ff42: fba3 2301 umull r2, r3, r3, r1 806ff46: 08da lsrs r2, r3, #3 806ff48: 4613 mov r3, r2 806ff4a: 009b lsls r3, r3, #2 806ff4c: 4413 add r3, r2 806ff4e: 005b lsls r3, r3, #1 806ff50: 1aca subs r2, r1, r3 806ff52: b2d3 uxtb r3, r2 806ff54: 3330 adds r3, #48 ; 0x30 806ff56: b2da uxtb r2, r3 806ff58: f507 733b add.w r3, r7, #748 ; 0x2ec 806ff5c: 711a strb r2, [r3, #4] str[5] = '.'; 806ff5e: f507 733b add.w r3, r7, #748 ; 0x2ec 806ff62: 222e movs r2, #46 ; 0x2e 806ff64: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806ff66: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806ff6a: 4aa5 ldr r2, [pc, #660] ; (8070200 ) 806ff6c: fba2 2303 umull r2, r3, r2, r3 806ff70: 08db lsrs r3, r3, #3 806ff72: b2db uxtb r3, r3 806ff74: 3330 adds r3, #48 ; 0x30 806ff76: b2da uxtb r2, r3 806ff78: f507 733b add.w r3, r7, #748 ; 0x2ec 806ff7c: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806ff7e: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806ff82: 4b9f ldr r3, [pc, #636] ; (8070200 ) 806ff84: fba3 2301 umull r2, r3, r3, r1 806ff88: 08da lsrs r2, r3, #3 806ff8a: 4613 mov r3, r2 806ff8c: 009b lsls r3, r3, #2 806ff8e: 4413 add r3, r2 806ff90: 005b lsls r3, r3, #1 806ff92: 1aca subs r2, r1, r3 806ff94: b2d3 uxtb r3, r2 806ff96: 3330 adds r3, #48 ; 0x30 806ff98: b2da uxtb r2, r3 806ff9a: f507 733b add.w r3, r7, #748 ; 0x2ec 806ff9e: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806ffa0: f507 723b add.w r2, r7, #748 ; 0x2ec 806ffa4: 2301 movs r3, #1 806ffa6: 21dc movs r1, #220 ; 0xdc 806ffa8: 2050 movs r0, #80 ; 0x50 806ffaa: f7e4 fbf7 bl 805479c memset(str, 0, sizeof(str)); 806ffae: f507 733b add.w r3, r7, #748 ; 0x2ec 806ffb2: 223c movs r2, #60 ; 0x3c 806ffb4: 2100 movs r1, #0 806ffb6: 4618 mov r0, r3 806ffb8: f061 f9f2 bl 80d13a0 str[0] = (Hour / 10) + 48; 806ffbc: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806ffc0: 4a8f ldr r2, [pc, #572] ; (8070200 ) 806ffc2: fba2 2303 umull r2, r3, r2, r3 806ffc6: 08db lsrs r3, r3, #3 806ffc8: b2db uxtb r3, r3 806ffca: 3330 adds r3, #48 ; 0x30 806ffcc: b2da uxtb r2, r3 806ffce: f507 733b add.w r3, r7, #748 ; 0x2ec 806ffd2: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806ffd4: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806ffd8: 4b89 ldr r3, [pc, #548] ; (8070200 ) 806ffda: fba3 2301 umull r2, r3, r3, r1 806ffde: 08da lsrs r2, r3, #3 806ffe0: 4613 mov r3, r2 806ffe2: 009b lsls r3, r3, #2 806ffe4: 4413 add r3, r2 806ffe6: 005b lsls r3, r3, #1 806ffe8: 1aca subs r2, r1, r3 806ffea: b2d3 uxtb r3, r2 806ffec: 3330 adds r3, #48 ; 0x30 806ffee: b2da uxtb r2, r3 806fff0: f507 733b add.w r3, r7, #748 ; 0x2ec 806fff4: 705a strb r2, [r3, #1] str[2] = ':'; 806fff6: f507 733b add.w r3, r7, #748 ; 0x2ec 806fffa: 223a movs r2, #58 ; 0x3a 806fffc: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806fffe: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8070002: 4a7f ldr r2, [pc, #508] ; (8070200 ) 8070004: fba2 2303 umull r2, r3, r2, r3 8070008: 08db lsrs r3, r3, #3 807000a: b2db uxtb r3, r3 807000c: 3330 adds r3, #48 ; 0x30 807000e: b2da uxtb r2, r3 8070010: f507 733b add.w r3, r7, #748 ; 0x2ec 8070014: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8070016: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 807001a: 4b79 ldr r3, [pc, #484] ; (8070200 ) 807001c: fba3 2301 umull r2, r3, r3, r1 8070020: 08da lsrs r2, r3, #3 8070022: 4613 mov r3, r2 8070024: 009b lsls r3, r3, #2 8070026: 4413 add r3, r2 8070028: 005b lsls r3, r3, #1 807002a: 1aca subs r2, r1, r3 807002c: b2d3 uxtb r3, r2 807002e: 3330 adds r3, #48 ; 0x30 8070030: b2da uxtb r2, r3 8070032: f507 733b add.w r3, r7, #748 ; 0x2ec 8070036: 711a strb r2, [r3, #4] str[5] = ':'; 8070038: f507 733b add.w r3, r7, #748 ; 0x2ec 807003c: 223a movs r2, #58 ; 0x3a 807003e: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8070040: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8070044: 4a6e ldr r2, [pc, #440] ; (8070200 ) 8070046: fba2 2303 umull r2, r3, r2, r3 807004a: 08db lsrs r3, r3, #3 807004c: b2db uxtb r3, r3 807004e: 3330 adds r3, #48 ; 0x30 8070050: b2da uxtb r2, r3 8070052: f507 733b add.w r3, r7, #748 ; 0x2ec 8070056: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8070058: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 807005c: 4b68 ldr r3, [pc, #416] ; (8070200 ) 807005e: fba3 2301 umull r2, r3, r3, r1 8070062: 08da lsrs r2, r3, #3 8070064: 4613 mov r3, r2 8070066: 009b lsls r3, r3, #2 8070068: 4413 add r3, r2 807006a: 005b lsls r3, r3, #1 807006c: 1aca subs r2, r1, r3 807006e: b2d3 uxtb r3, r2 8070070: 3330 adds r3, #48 ; 0x30 8070072: b2da uxtb r2, r3 8070074: f507 733b add.w r3, r7, #748 ; 0x2ec 8070078: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 807007a: f507 723b add.w r2, r7, #748 ; 0x2ec 807007e: 2301 movs r3, #1 8070080: 21e4 movs r1, #228 ; 0xe4 8070082: 2050 movs r0, #80 ; 0x50 8070084: f7e4 fb8a bl 805479c f = (float32_t) l / 2; 8070088: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 807008c: ee07 3a90 vmov s15, r3 8070090: eeb8 7a67 vcvt.f32.u32 s14, s15 8070094: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 8070098: eec7 7a26 vdiv.f32 s15, s14, s13 807009c: f507 638b add.w r3, r7, #1112 ; 0x458 80700a0: edc3 7a00 vstr s15, [r3] i = (uint32_t) (f + 0.5f); 80700a4: f507 638b add.w r3, r7, #1112 ; 0x458 80700a8: edd3 7a00 vldr s15, [r3] 80700ac: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80700b0: ee77 7a87 vadd.f32 s15, s15, s14 80700b4: eefc 7ae7 vcvt.u32.f32 s15, s15 80700b8: ee17 3a90 vmov r3, s15 80700bc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 k = CmplxA_u32(i); 80700c0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80700c4: 009a lsls r2, r3, #2 80700c6: 4b4d ldr r3, [pc, #308] ; (80701fc ) 80700c8: 4413 add r3, r2 80700ca: 681b ldr r3, [r3, #0] 80700cc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 80700d0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80700d4: 0e5b lsrs r3, r3, #25 80700d6: 3b14 subs r3, #20 80700d8: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 80700dc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80700e0: 0d5b lsrs r3, r3, #21 80700e2: f003 030f and.w r3, r3, #15 80700e6: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 80700ea: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80700ee: 0c1b lsrs r3, r3, #16 80700f0: f003 031f and.w r3, r3, #31 80700f4: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 80700f8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80700fc: 0adb lsrs r3, r3, #11 80700fe: f003 031f and.w r3, r3, #31 8070102: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8070106: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807010a: 095b lsrs r3, r3, #5 807010c: f003 033f and.w r3, r3, #63 ; 0x3f 8070110: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8070114: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070118: 005b lsls r3, r3, #1 807011a: f003 031f and.w r3, r3, #31 807011e: 3301 adds r3, #1 8070120: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8070124: f507 733b add.w r3, r7, #748 ; 0x2ec 8070128: 223c movs r2, #60 ; 0x3c 807012a: 2100 movs r1, #0 807012c: 4618 mov r0, r3 807012e: f061 f937 bl 80d13a0 str[0] = (Day / 10) + 48; 8070132: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8070136: 4a32 ldr r2, [pc, #200] ; (8070200 ) 8070138: fba2 2303 umull r2, r3, r2, r3 807013c: 08db lsrs r3, r3, #3 807013e: b2db uxtb r3, r3 8070140: 3330 adds r3, #48 ; 0x30 8070142: b2da uxtb r2, r3 8070144: f507 733b add.w r3, r7, #748 ; 0x2ec 8070148: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 807014a: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 807014e: 4b2c ldr r3, [pc, #176] ; (8070200 ) 8070150: fba3 2301 umull r2, r3, r3, r1 8070154: 08da lsrs r2, r3, #3 8070156: 4613 mov r3, r2 8070158: 009b lsls r3, r3, #2 807015a: 4413 add r3, r2 807015c: 005b lsls r3, r3, #1 807015e: 1aca subs r2, r1, r3 8070160: b2d3 uxtb r3, r2 8070162: 3330 adds r3, #48 ; 0x30 8070164: b2da uxtb r2, r3 8070166: f507 733b add.w r3, r7, #748 ; 0x2ec 807016a: 705a strb r2, [r3, #1] str[2] = '.'; 807016c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070170: 222e movs r2, #46 ; 0x2e 8070172: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8070174: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8070178: 4a21 ldr r2, [pc, #132] ; (8070200 ) 807017a: fba2 2303 umull r2, r3, r2, r3 807017e: 08db lsrs r3, r3, #3 8070180: b2db uxtb r3, r3 8070182: 3330 adds r3, #48 ; 0x30 8070184: b2da uxtb r2, r3 8070186: f507 733b add.w r3, r7, #748 ; 0x2ec 807018a: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 807018c: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8070190: 4b1b ldr r3, [pc, #108] ; (8070200 ) 8070192: fba3 2301 umull r2, r3, r3, r1 8070196: 08da lsrs r2, r3, #3 8070198: 4613 mov r3, r2 807019a: 009b lsls r3, r3, #2 807019c: 4413 add r3, r2 807019e: 005b lsls r3, r3, #1 80701a0: 1aca subs r2, r1, r3 80701a2: b2d3 uxtb r3, r2 80701a4: 3330 adds r3, #48 ; 0x30 80701a6: b2da uxtb r2, r3 80701a8: f507 733b add.w r3, r7, #748 ; 0x2ec 80701ac: 711a strb r2, [r3, #4] str[5] = '.'; 80701ae: f507 733b add.w r3, r7, #748 ; 0x2ec 80701b2: 222e movs r2, #46 ; 0x2e 80701b4: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 80701b6: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 80701ba: 4a11 ldr r2, [pc, #68] ; (8070200 ) 80701bc: fba2 2303 umull r2, r3, r2, r3 80701c0: 08db lsrs r3, r3, #3 80701c2: b2db uxtb r3, r3 80701c4: 3330 adds r3, #48 ; 0x30 80701c6: b2da uxtb r2, r3 80701c8: f507 733b add.w r3, r7, #748 ; 0x2ec 80701cc: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 80701ce: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 80701d2: 4b0b ldr r3, [pc, #44] ; (8070200 ) 80701d4: fba3 2301 umull r2, r3, r3, r1 80701d8: 08da lsrs r2, r3, #3 80701da: 4613 mov r3, r2 80701dc: 009b lsls r3, r3, #2 80701de: 4413 add r3, r2 80701e0: 005b lsls r3, r3, #1 80701e2: 1aca subs r2, r1, r3 80701e4: b2d3 uxtb r3, r2 80701e6: 3330 adds r3, #48 ; 0x30 80701e8: b2da uxtb r2, r3 80701ea: f507 733b add.w r3, r7, #748 ; 0x2ec 80701ee: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 80701f0: f507 723b add.w r2, r7, #748 ; 0x2ec 80701f4: 2301 movs r3, #1 80701f6: 21dc movs r1, #220 ; 0xdc 80701f8: e004 b.n 8070204 80701fa: bf00 nop 80701fc: 64090000 .word 0x64090000 8070200: cccccccd .word 0xcccccccd 8070204: 20be movs r0, #190 ; 0xbe 8070206: f7e4 fac9 bl 805479c memset(str, 0, sizeof(str)); 807020a: f507 733b add.w r3, r7, #748 ; 0x2ec 807020e: 223c movs r2, #60 ; 0x3c 8070210: 2100 movs r1, #0 8070212: 4618 mov r0, r3 8070214: f061 f8c4 bl 80d13a0 str[0] = (Hour / 10) + 48; 8070218: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 807021c: 4ad8 ldr r2, [pc, #864] ; (8070580 ) 807021e: fba2 2303 umull r2, r3, r2, r3 8070222: 08db lsrs r3, r3, #3 8070224: b2db uxtb r3, r3 8070226: 3330 adds r3, #48 ; 0x30 8070228: b2da uxtb r2, r3 807022a: f507 733b add.w r3, r7, #748 ; 0x2ec 807022e: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8070230: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070234: 4bd2 ldr r3, [pc, #840] ; (8070580 ) 8070236: fba3 2301 umull r2, r3, r3, r1 807023a: 08da lsrs r2, r3, #3 807023c: 4613 mov r3, r2 807023e: 009b lsls r3, r3, #2 8070240: 4413 add r3, r2 8070242: 005b lsls r3, r3, #1 8070244: 1aca subs r2, r1, r3 8070246: b2d3 uxtb r3, r2 8070248: 3330 adds r3, #48 ; 0x30 807024a: b2da uxtb r2, r3 807024c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070250: 705a strb r2, [r3, #1] str[2] = ':'; 8070252: f507 733b add.w r3, r7, #748 ; 0x2ec 8070256: 223a movs r2, #58 ; 0x3a 8070258: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 807025a: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 807025e: 4ac8 ldr r2, [pc, #800] ; (8070580 ) 8070260: fba2 2303 umull r2, r3, r2, r3 8070264: 08db lsrs r3, r3, #3 8070266: b2db uxtb r3, r3 8070268: 3330 adds r3, #48 ; 0x30 807026a: b2da uxtb r2, r3 807026c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070270: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8070272: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8070276: 4bc2 ldr r3, [pc, #776] ; (8070580 ) 8070278: fba3 2301 umull r2, r3, r3, r1 807027c: 08da lsrs r2, r3, #3 807027e: 4613 mov r3, r2 8070280: 009b lsls r3, r3, #2 8070282: 4413 add r3, r2 8070284: 005b lsls r3, r3, #1 8070286: 1aca subs r2, r1, r3 8070288: b2d3 uxtb r3, r2 807028a: 3330 adds r3, #48 ; 0x30 807028c: b2da uxtb r2, r3 807028e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070292: 711a strb r2, [r3, #4] str[5] = ':'; 8070294: f507 733b add.w r3, r7, #748 ; 0x2ec 8070298: 223a movs r2, #58 ; 0x3a 807029a: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 807029c: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 80702a0: 4ab7 ldr r2, [pc, #732] ; (8070580 ) 80702a2: fba2 2303 umull r2, r3, r2, r3 80702a6: 08db lsrs r3, r3, #3 80702a8: b2db uxtb r3, r3 80702aa: 3330 adds r3, #48 ; 0x30 80702ac: b2da uxtb r2, r3 80702ae: f507 733b add.w r3, r7, #748 ; 0x2ec 80702b2: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 80702b4: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 80702b8: 4bb1 ldr r3, [pc, #708] ; (8070580 ) 80702ba: fba3 2301 umull r2, r3, r3, r1 80702be: 08da lsrs r2, r3, #3 80702c0: 4613 mov r3, r2 80702c2: 009b lsls r3, r3, #2 80702c4: 4413 add r3, r2 80702c6: 005b lsls r3, r3, #1 80702c8: 1aca subs r2, r1, r3 80702ca: b2d3 uxtb r3, r2 80702cc: 3330 adds r3, #48 ; 0x30 80702ce: b2da uxtb r2, r3 80702d0: f507 733b add.w r3, r7, #748 ; 0x2ec 80702d4: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 80702d6: f507 723b add.w r2, r7, #748 ; 0x2ec 80702da: 2301 movs r3, #1 80702dc: 21e4 movs r1, #228 ; 0xe4 80702de: 20be movs r0, #190 ; 0xbe 80702e0: f7e4 fa5c bl 805479c k = CmplxA_u32(l - 1); 80702e4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80702e8: 3b01 subs r3, #1 80702ea: 009a lsls r2, r3, #2 80702ec: 4ba5 ldr r3, [pc, #660] ; (8070584 ) 80702ee: 4413 add r3, r2 80702f0: 681b ldr r3, [r3, #0] 80702f2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 80702f6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80702fa: 0e5b lsrs r3, r3, #25 80702fc: 3b14 subs r3, #20 80702fe: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8070302: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070306: 0d5b lsrs r3, r3, #21 8070308: f003 030f and.w r3, r3, #15 807030c: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8070310: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070314: 0c1b lsrs r3, r3, #16 8070316: f003 031f and.w r3, r3, #31 807031a: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 807031e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070322: 0adb lsrs r3, r3, #11 8070324: f003 031f and.w r3, r3, #31 8070328: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 807032c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070330: 095b lsrs r3, r3, #5 8070332: f003 033f and.w r3, r3, #63 ; 0x3f 8070336: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 807033a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807033e: 005b lsls r3, r3, #1 8070340: f003 031f and.w r3, r3, #31 8070344: 3301 adds r3, #1 8070346: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 807034a: f507 733b add.w r3, r7, #748 ; 0x2ec 807034e: 223c movs r2, #60 ; 0x3c 8070350: 2100 movs r1, #0 8070352: 4618 mov r0, r3 8070354: f061 f824 bl 80d13a0 str[0] = (Day / 10) + 48; 8070358: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 807035c: 4a88 ldr r2, [pc, #544] ; (8070580 ) 807035e: fba2 2303 umull r2, r3, r2, r3 8070362: 08db lsrs r3, r3, #3 8070364: b2db uxtb r3, r3 8070366: 3330 adds r3, #48 ; 0x30 8070368: b2da uxtb r2, r3 807036a: f507 733b add.w r3, r7, #748 ; 0x2ec 807036e: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8070370: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8070374: 4b82 ldr r3, [pc, #520] ; (8070580 ) 8070376: fba3 2301 umull r2, r3, r3, r1 807037a: 08da lsrs r2, r3, #3 807037c: 4613 mov r3, r2 807037e: 009b lsls r3, r3, #2 8070380: 4413 add r3, r2 8070382: 005b lsls r3, r3, #1 8070384: 1aca subs r2, r1, r3 8070386: b2d3 uxtb r3, r2 8070388: 3330 adds r3, #48 ; 0x30 807038a: b2da uxtb r2, r3 807038c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070390: 705a strb r2, [r3, #1] str[2] = '.'; 8070392: f507 733b add.w r3, r7, #748 ; 0x2ec 8070396: 222e movs r2, #46 ; 0x2e 8070398: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 807039a: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 807039e: 4a78 ldr r2, [pc, #480] ; (8070580 ) 80703a0: fba2 2303 umull r2, r3, r2, r3 80703a4: 08db lsrs r3, r3, #3 80703a6: b2db uxtb r3, r3 80703a8: 3330 adds r3, #48 ; 0x30 80703aa: b2da uxtb r2, r3 80703ac: f507 733b add.w r3, r7, #748 ; 0x2ec 80703b0: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 80703b2: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 80703b6: 4b72 ldr r3, [pc, #456] ; (8070580 ) 80703b8: fba3 2301 umull r2, r3, r3, r1 80703bc: 08da lsrs r2, r3, #3 80703be: 4613 mov r3, r2 80703c0: 009b lsls r3, r3, #2 80703c2: 4413 add r3, r2 80703c4: 005b lsls r3, r3, #1 80703c6: 1aca subs r2, r1, r3 80703c8: b2d3 uxtb r3, r2 80703ca: 3330 adds r3, #48 ; 0x30 80703cc: b2da uxtb r2, r3 80703ce: f507 733b add.w r3, r7, #748 ; 0x2ec 80703d2: 711a strb r2, [r3, #4] str[5] = '.'; 80703d4: f507 733b add.w r3, r7, #748 ; 0x2ec 80703d8: 222e movs r2, #46 ; 0x2e 80703da: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 80703dc: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 80703e0: 4a67 ldr r2, [pc, #412] ; (8070580 ) 80703e2: fba2 2303 umull r2, r3, r2, r3 80703e6: 08db lsrs r3, r3, #3 80703e8: b2db uxtb r3, r3 80703ea: 3330 adds r3, #48 ; 0x30 80703ec: b2da uxtb r2, r3 80703ee: f507 733b add.w r3, r7, #748 ; 0x2ec 80703f2: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 80703f4: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 80703f8: 4b61 ldr r3, [pc, #388] ; (8070580 ) 80703fa: fba3 2301 umull r2, r3, r3, r1 80703fe: 08da lsrs r2, r3, #3 8070400: 4613 mov r3, r2 8070402: 009b lsls r3, r3, #2 8070404: 4413 add r3, r2 8070406: 005b lsls r3, r3, #1 8070408: 1aca subs r2, r1, r3 807040a: b2d3 uxtb r3, r2 807040c: 3330 adds r3, #48 ; 0x30 807040e: b2da uxtb r2, r3 8070410: f507 733b add.w r3, r7, #748 ; 0x2ec 8070414: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 8070416: f507 723b add.w r2, r7, #748 ; 0x2ec 807041a: 2301 movs r3, #1 807041c: 21dc movs r1, #220 ; 0xdc 807041e: f44f 7095 mov.w r0, #298 ; 0x12a 8070422: f7e4 f9bb bl 805479c memset(str, 0, sizeof(str)); 8070426: f507 733b add.w r3, r7, #748 ; 0x2ec 807042a: 223c movs r2, #60 ; 0x3c 807042c: 2100 movs r1, #0 807042e: 4618 mov r0, r3 8070430: f060 ffb6 bl 80d13a0 str[0] = (Hour / 10) + 48; 8070434: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8070438: 4a51 ldr r2, [pc, #324] ; (8070580 ) 807043a: fba2 2303 umull r2, r3, r2, r3 807043e: 08db lsrs r3, r3, #3 8070440: b2db uxtb r3, r3 8070442: 3330 adds r3, #48 ; 0x30 8070444: b2da uxtb r2, r3 8070446: f507 733b add.w r3, r7, #748 ; 0x2ec 807044a: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 807044c: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070450: 4b4b ldr r3, [pc, #300] ; (8070580 ) 8070452: fba3 2301 umull r2, r3, r3, r1 8070456: 08da lsrs r2, r3, #3 8070458: 4613 mov r3, r2 807045a: 009b lsls r3, r3, #2 807045c: 4413 add r3, r2 807045e: 005b lsls r3, r3, #1 8070460: 1aca subs r2, r1, r3 8070462: b2d3 uxtb r3, r2 8070464: 3330 adds r3, #48 ; 0x30 8070466: b2da uxtb r2, r3 8070468: f507 733b add.w r3, r7, #748 ; 0x2ec 807046c: 705a strb r2, [r3, #1] str[2] = ':'; 807046e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070472: 223a movs r2, #58 ; 0x3a 8070474: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8070476: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 807047a: 4a41 ldr r2, [pc, #260] ; (8070580 ) 807047c: fba2 2303 umull r2, r3, r2, r3 8070480: 08db lsrs r3, r3, #3 8070482: b2db uxtb r3, r3 8070484: 3330 adds r3, #48 ; 0x30 8070486: b2da uxtb r2, r3 8070488: f507 733b add.w r3, r7, #748 ; 0x2ec 807048c: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 807048e: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8070492: 4b3b ldr r3, [pc, #236] ; (8070580 ) 8070494: fba3 2301 umull r2, r3, r3, r1 8070498: 08da lsrs r2, r3, #3 807049a: 4613 mov r3, r2 807049c: 009b lsls r3, r3, #2 807049e: 4413 add r3, r2 80704a0: 005b lsls r3, r3, #1 80704a2: 1aca subs r2, r1, r3 80704a4: b2d3 uxtb r3, r2 80704a6: 3330 adds r3, #48 ; 0x30 80704a8: b2da uxtb r2, r3 80704aa: f507 733b add.w r3, r7, #748 ; 0x2ec 80704ae: 711a strb r2, [r3, #4] str[5] = ':'; 80704b0: f507 733b add.w r3, r7, #748 ; 0x2ec 80704b4: 223a movs r2, #58 ; 0x3a 80704b6: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 80704b8: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 80704bc: 4a30 ldr r2, [pc, #192] ; (8070580 ) 80704be: fba2 2303 umull r2, r3, r2, r3 80704c2: 08db lsrs r3, r3, #3 80704c4: b2db uxtb r3, r3 80704c6: 3330 adds r3, #48 ; 0x30 80704c8: b2da uxtb r2, r3 80704ca: f507 733b add.w r3, r7, #748 ; 0x2ec 80704ce: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 80704d0: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 80704d4: 4b2a ldr r3, [pc, #168] ; (8070580 ) 80704d6: fba3 2301 umull r2, r3, r3, r1 80704da: 08da lsrs r2, r3, #3 80704dc: 4613 mov r3, r2 80704de: 009b lsls r3, r3, #2 80704e0: 4413 add r3, r2 80704e2: 005b lsls r3, r3, #1 80704e4: 1aca subs r2, r1, r3 80704e6: b2d3 uxtb r3, r2 80704e8: 3330 adds r3, #48 ; 0x30 80704ea: b2da uxtb r2, r3 80704ec: f507 733b add.w r3, r7, #748 ; 0x2ec 80704f0: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 80704f2: f507 723b add.w r2, r7, #748 ; 0x2ec 80704f6: 2301 movs r3, #1 80704f8: 21e4 movs r1, #228 ; 0xe4 80704fa: f44f 7095 mov.w r0, #298 ; 0x12a 80704fe: f7e4 f94d bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8070502: 4921 ldr r1, [pc, #132] ; (8070588 ) 8070504: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8070508: f7e4 f882 bl 8054610 for(i = 0; i < l; i++) 807050c: 2300 movs r3, #0 807050e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8070512: e2ca b.n 8070aaa f = ScrA_f32(i); 8070514: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8070518: 009a lsls r2, r3, #2 807051a: 4b1c ldr r3, [pc, #112] ; (807058c ) 807051c: 4413 add r3, r2 807051e: 681b ldr r3, [r3, #0] 8070520: f507 628b add.w r2, r7, #1112 ; 0x458 8070524: 6013 str r3, [r2, #0] if(fmax <= 10.0f) ///////// 8070526: f207 434c addw r3, r7, #1100 ; 0x44c 807052a: edd3 7a00 vldr s15, [r3] 807052e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8070532: eef4 7ac7 vcmpe.f32 s15, s14 8070536: eef1 fa10 vmrs APSR_nzcv, fpscr 807053a: d831 bhi.n 80705a0 f = (100 * f / 10.0f) + 0.5f; 807053c: f507 638b add.w r3, r7, #1112 ; 0x458 8070540: edd3 7a00 vldr s15, [r3] 8070544: ed9f 7a13 vldr s14, [pc, #76] ; 8070594 8070548: ee27 7a87 vmul.f32 s14, s15, s14 807054c: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8070550: eec7 7a26 vdiv.f32 s15, s14, s13 8070554: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070558: ee77 7a87 vadd.f32 s15, s15, s14 807055c: f507 638b add.w r3, r7, #1112 ; 0x458 8070560: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8070564: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070568: f507 628b add.w r2, r7, #1112 ; 0x458 807056c: edd2 7a00 vldr s15, [r2] 8070570: eefc 7ae7 vcvt.u32.f32 s15, s15 8070574: ee17 2a90 vmov r2, s15 8070578: 1a9b subs r3, r3, r2 807057a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807057e: e21b b.n 80709b8 8070580: cccccccd .word 0xcccccccd 8070584: 64090000 .word 0x64090000 8070588: ff0a0f1f .word 0xff0a0f1f 807058c: 64080000 .word 0x64080000 8070590: 42480000 .word 0x42480000 8070594: 42c80000 .word 0x42c80000 8070598: 447a0000 .word 0x447a0000 807059c: 461c4000 .word 0x461c4000 if(fmax <= 100.0f) ///////// 80705a0: f207 434c addw r3, r7, #1100 ; 0x44c 80705a4: edd3 7a00 vldr s15, [r3] 80705a8: ed1f 7a06 vldr s14, [pc, #-24] ; 8070594 80705ac: eef4 7ac7 vcmpe.f32 s15, s14 80705b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80705b4: f200 8084 bhi.w 80706c0 if(f <= 1.0f) 80705b8: f507 638b add.w r3, r7, #1112 ; 0x458 80705bc: edd3 7a00 vldr s15, [r3] 80705c0: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80705c4: eef4 7ac7 vcmpe.f32 s15, s14 80705c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80705cc: d81d bhi.n 807060a f = (25 * f / 1.0f) + 0.5f; 80705ce: f507 638b add.w r3, r7, #1112 ; 0x458 80705d2: edd3 7a00 vldr s15, [r3] 80705d6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80705da: ee67 7a87 vmul.f32 s15, s15, s14 80705de: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80705e2: ee77 7a87 vadd.f32 s15, s15, s14 80705e6: f507 638b add.w r3, r7, #1112 ; 0x458 80705ea: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 80705ee: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80705f2: f507 628b add.w r2, r7, #1112 ; 0x458 80705f6: edd2 7a00 vldr s15, [r2] 80705fa: eefc 7ae7 vcvt.u32.f32 s15, s15 80705fe: ee17 2a90 vmov r2, s15 8070602: 1a9b subs r3, r3, r2 8070604: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070608: e1d6 b.n 80709b8 if(f <= 10.0f) 807060a: f507 638b add.w r3, r7, #1112 ; 0x458 807060e: edd3 7a00 vldr s15, [r3] 8070612: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8070616: eef4 7ac7 vcmpe.f32 s15, s14 807061a: eef1 fa10 vmrs APSR_nzcv, fpscr 807061e: d821 bhi.n 8070664 f = (50 * f / 10.0f) + 0.5f; 8070620: f507 638b add.w r3, r7, #1112 ; 0x458 8070624: edd3 7a00 vldr s15, [r3] 8070628: ed1f 7a27 vldr s14, [pc, #-156] ; 8070590 807062c: ee27 7a87 vmul.f32 s14, s15, s14 8070630: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8070634: eec7 7a26 vdiv.f32 s15, s14, s13 8070638: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807063c: ee77 7a87 vadd.f32 s15, s15, s14 8070640: f507 638b add.w r3, r7, #1112 ; 0x458 8070644: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8070648: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 807064c: f507 628b add.w r2, r7, #1112 ; 0x458 8070650: edd2 7a00 vldr s15, [r2] 8070654: eefc 7ae7 vcvt.u32.f32 s15, s15 8070658: ee17 2a90 vmov r2, s15 807065c: 1a9b subs r3, r3, r2 807065e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070662: e1a9 b.n 80709b8 if(f <= 100.0f) 8070664: f507 638b add.w r3, r7, #1112 ; 0x458 8070668: edd3 7a00 vldr s15, [r3] 807066c: ed1f 7a37 vldr s14, [pc, #-220] ; 8070594 8070670: eef4 7ac7 vcmpe.f32 s15, s14 8070674: eef1 fa10 vmrs APSR_nzcv, fpscr 8070678: f200 819e bhi.w 80709b8 f = (50 * f / 100.0f) + 0.5f; 807067c: f507 638b add.w r3, r7, #1112 ; 0x458 8070680: edd3 7a00 vldr s15, [r3] 8070684: ed1f 7a3e vldr s14, [pc, #-248] ; 8070590 8070688: ee27 7a87 vmul.f32 s14, s15, s14 807068c: ed5f 6a3f vldr s13, [pc, #-252] ; 8070594 8070690: eec7 7a26 vdiv.f32 s15, s14, s13 8070694: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070698: ee77 7a87 vadd.f32 s15, s15, s14 807069c: f507 638b add.w r3, r7, #1112 ; 0x458 80706a0: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 80706a4: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 80706a8: f507 628b add.w r2, r7, #1112 ; 0x458 80706ac: edd2 7a00 vldr s15, [r2] 80706b0: eefc 7ae7 vcvt.u32.f32 s15, s15 80706b4: ee17 2a90 vmov r2, s15 80706b8: 1a9b subs r3, r3, r2 80706ba: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80706be: e17b b.n 80709b8 if(fmax <= 1000.0f) ///////// 80706c0: f207 434c addw r3, r7, #1100 ; 0x44c 80706c4: edd3 7a00 vldr s15, [r3] 80706c8: ed1f 7a4d vldr s14, [pc, #-308] ; 8070598 80706cc: eef4 7ac7 vcmpe.f32 s15, s14 80706d0: eef1 fa10 vmrs APSR_nzcv, fpscr 80706d4: f200 8088 bhi.w 80707e8 if(f <= 10.0f) 80706d8: f507 638b add.w r3, r7, #1112 ; 0x458 80706dc: edd3 7a00 vldr s15, [r3] 80706e0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80706e4: eef4 7ac7 vcmpe.f32 s15, s14 80706e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80706ec: d821 bhi.n 8070732 f = (25 * f / 10.0f) + 0.5f; 80706ee: f507 638b add.w r3, r7, #1112 ; 0x458 80706f2: edd3 7a00 vldr s15, [r3] 80706f6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80706fa: ee27 7a87 vmul.f32 s14, s15, s14 80706fe: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8070702: eec7 7a26 vdiv.f32 s15, s14, s13 8070706: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807070a: ee77 7a87 vadd.f32 s15, s15, s14 807070e: f507 638b add.w r3, r7, #1112 ; 0x458 8070712: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8070716: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 807071a: f507 628b add.w r2, r7, #1112 ; 0x458 807071e: edd2 7a00 vldr s15, [r2] 8070722: eefc 7ae7 vcvt.u32.f32 s15, s15 8070726: ee17 2a90 vmov r2, s15 807072a: 1a9b subs r3, r3, r2 807072c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070730: e142 b.n 80709b8 if(f <= 100.0f) 8070732: f507 638b add.w r3, r7, #1112 ; 0x458 8070736: edd3 7a00 vldr s15, [r3] 807073a: ed1f 7a6a vldr s14, [pc, #-424] ; 8070594 807073e: eef4 7ac7 vcmpe.f32 s15, s14 8070742: eef1 fa10 vmrs APSR_nzcv, fpscr 8070746: d821 bhi.n 807078c f = (50 * f / 100.0f) + 0.5f; 8070748: f507 638b add.w r3, r7, #1112 ; 0x458 807074c: edd3 7a00 vldr s15, [r3] 8070750: ed1f 7a71 vldr s14, [pc, #-452] ; 8070590 8070754: ee27 7a87 vmul.f32 s14, s15, s14 8070758: ed5f 6a72 vldr s13, [pc, #-456] ; 8070594 807075c: eec7 7a26 vdiv.f32 s15, s14, s13 8070760: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070764: ee77 7a87 vadd.f32 s15, s15, s14 8070768: f507 638b add.w r3, r7, #1112 ; 0x458 807076c: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8070770: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070774: f507 628b add.w r2, r7, #1112 ; 0x458 8070778: edd2 7a00 vldr s15, [r2] 807077c: eefc 7ae7 vcvt.u32.f32 s15, s15 8070780: ee17 2a90 vmov r2, s15 8070784: 1a9b subs r3, r3, r2 8070786: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807078a: e115 b.n 80709b8 if(f <= 1000.0f) 807078c: f507 638b add.w r3, r7, #1112 ; 0x458 8070790: edd3 7a00 vldr s15, [r3] 8070794: ed1f 7a80 vldr s14, [pc, #-512] ; 8070598 8070798: eef4 7ac7 vcmpe.f32 s15, s14 807079c: eef1 fa10 vmrs APSR_nzcv, fpscr 80707a0: f200 810a bhi.w 80709b8 f = (50 * f / 1000.0f) + 0.5f; 80707a4: f507 638b add.w r3, r7, #1112 ; 0x458 80707a8: edd3 7a00 vldr s15, [r3] 80707ac: ed1f 7a88 vldr s14, [pc, #-544] ; 8070590 80707b0: ee27 7a87 vmul.f32 s14, s15, s14 80707b4: ed5f 6a88 vldr s13, [pc, #-544] ; 8070598 80707b8: eec7 7a26 vdiv.f32 s15, s14, s13 80707bc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80707c0: ee77 7a87 vadd.f32 s15, s15, s14 80707c4: f507 638b add.w r3, r7, #1112 ; 0x458 80707c8: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 80707cc: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 80707d0: f507 628b add.w r2, r7, #1112 ; 0x458 80707d4: edd2 7a00 vldr s15, [r2] 80707d8: eefc 7ae7 vcvt.u32.f32 s15, s15 80707dc: ee17 2a90 vmov r2, s15 80707e0: 1a9b subs r3, r3, r2 80707e2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80707e6: e0e7 b.n 80709b8 if(fmax <= 10000.0f) ///////// 80707e8: f207 434c addw r3, r7, #1100 ; 0x44c 80707ec: edd3 7a00 vldr s15, [r3] 80707f0: ed1f 7a96 vldr s14, [pc, #-600] ; 807059c 80707f4: eef4 7ac7 vcmpe.f32 s15, s14 80707f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80707fc: f200 80dc bhi.w 80709b8 if(f <= 1.0f) 8070800: f507 638b add.w r3, r7, #1112 ; 0x458 8070804: edd3 7a00 vldr s15, [r3] 8070808: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 807080c: eef4 7ac7 vcmpe.f32 s15, s14 8070810: eef1 fa10 vmrs APSR_nzcv, fpscr 8070814: d81d bhi.n 8070852 f = (25 * f / 1.0f) + 0.5f; 8070816: f507 638b add.w r3, r7, #1112 ; 0x458 807081a: edd3 7a00 vldr s15, [r3] 807081e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070822: ee67 7a87 vmul.f32 s15, s15, s14 8070826: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807082a: ee77 7a87 vadd.f32 s15, s15, s14 807082e: f507 638b add.w r3, r7, #1112 ; 0x458 8070832: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8070836: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 807083a: f507 628b add.w r2, r7, #1112 ; 0x458 807083e: edd2 7a00 vldr s15, [r2] 8070842: eefc 7ae7 vcvt.u32.f32 s15, s15 8070846: ee17 2a90 vmov r2, s15 807084a: 1a9b subs r3, r3, r2 807084c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070850: e0b2 b.n 80709b8 if(f <= 10.0f) 8070852: f507 638b add.w r3, r7, #1112 ; 0x458 8070856: edd3 7a00 vldr s15, [r3] 807085a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 807085e: eef4 7ac7 vcmpe.f32 s15, s14 8070862: eef1 fa10 vmrs APSR_nzcv, fpscr 8070866: d821 bhi.n 80708ac f = (25 * f / 10.0f) + 0.5f; 8070868: f507 638b add.w r3, r7, #1112 ; 0x458 807086c: edd3 7a00 vldr s15, [r3] 8070870: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070874: ee27 7a87 vmul.f32 s14, s15, s14 8070878: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 807087c: eec7 7a26 vdiv.f32 s15, s14, s13 8070880: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070884: ee77 7a87 vadd.f32 s15, s15, s14 8070888: f507 638b add.w r3, r7, #1112 ; 0x458 807088c: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8070890: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070894: f507 628b add.w r2, r7, #1112 ; 0x458 8070898: edd2 7a00 vldr s15, [r2] 807089c: eefc 7ae7 vcvt.u32.f32 s15, s15 80708a0: ee17 2a90 vmov r2, s15 80708a4: 1a9b subs r3, r3, r2 80708a6: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80708aa: e085 b.n 80709b8 if(f <= 100.0f) 80708ac: f507 638b add.w r3, r7, #1112 ; 0x458 80708b0: edd3 7a00 vldr s15, [r3] 80708b4: ed1f 7ac9 vldr s14, [pc, #-804] ; 8070594 80708b8: eef4 7ac7 vcmpe.f32 s15, s14 80708bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80708c0: d821 bhi.n 8070906 f = (25 * f / 100.0f) + 0.5f; 80708c2: f507 638b add.w r3, r7, #1112 ; 0x458 80708c6: edd3 7a00 vldr s15, [r3] 80708ca: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80708ce: ee27 7a87 vmul.f32 s14, s15, s14 80708d2: ed5f 6ad0 vldr s13, [pc, #-832] ; 8070594 80708d6: eec7 7a26 vdiv.f32 s15, s14, s13 80708da: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80708de: ee77 7a87 vadd.f32 s15, s15, s14 80708e2: f507 638b add.w r3, r7, #1112 ; 0x458 80708e6: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 80708ea: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 80708ee: f507 628b add.w r2, r7, #1112 ; 0x458 80708f2: edd2 7a00 vldr s15, [r2] 80708f6: eefc 7ae7 vcvt.u32.f32 s15, s15 80708fa: ee17 2a90 vmov r2, s15 80708fe: 1a9b subs r3, r3, r2 8070900: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070904: e058 b.n 80709b8 if(f <= 1000.0f) 8070906: f507 638b add.w r3, r7, #1112 ; 0x458 807090a: edd3 7a00 vldr s15, [r3] 807090e: ed1f 7ade vldr s14, [pc, #-888] ; 8070598 8070912: eef4 7ac7 vcmpe.f32 s15, s14 8070916: eef1 fa10 vmrs APSR_nzcv, fpscr 807091a: d821 bhi.n 8070960 f = (25 * f / 1000.0f) + 0.5f; 807091c: f507 638b add.w r3, r7, #1112 ; 0x458 8070920: edd3 7a00 vldr s15, [r3] 8070924: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070928: ee27 7a87 vmul.f32 s14, s15, s14 807092c: ed5f 6ae6 vldr s13, [pc, #-920] ; 8070598 8070930: eec7 7a26 vdiv.f32 s15, s14, s13 8070934: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070938: ee77 7a87 vadd.f32 s15, s15, s14 807093c: f507 638b add.w r3, r7, #1112 ; 0x458 8070940: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8070944: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8070948: f507 628b add.w r2, r7, #1112 ; 0x458 807094c: edd2 7a00 vldr s15, [r2] 8070950: eefc 7ae7 vcvt.u32.f32 s15, s15 8070954: ee17 2a90 vmov r2, s15 8070958: 1a9b subs r3, r3, r2 807095a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807095e: e02b b.n 80709b8 if(f <= 10000.0f) 8070960: f507 638b add.w r3, r7, #1112 ; 0x458 8070964: edd3 7a00 vldr s15, [r3] 8070968: ed1f 7af4 vldr s14, [pc, #-976] ; 807059c 807096c: eef4 7ac7 vcmpe.f32 s15, s14 8070970: eef1 fa10 vmrs APSR_nzcv, fpscr 8070974: d820 bhi.n 80709b8 f = (25 * f / 10000.0f) + 0.5f; 8070976: f507 638b add.w r3, r7, #1112 ; 0x458 807097a: edd3 7a00 vldr s15, [r3] 807097e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070982: ee27 7a87 vmul.f32 s14, s15, s14 8070986: eddf 6ac1 vldr s13, [pc, #772] ; 8070c8c 807098a: eec7 7a26 vdiv.f32 s15, s14, s13 807098e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070992: ee77 7a87 vadd.f32 s15, s15, s14 8070996: f507 638b add.w r3, r7, #1112 ; 0x458 807099a: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 807099e: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 80709a2: f507 628b add.w r2, r7, #1112 ; 0x458 80709a6: edd2 7a00 vldr s15, [r2] 80709aa: eefc 7ae7 vcvt.u32.f32 s15, s15 80709ae: ee17 2a90 vmov r2, s15 80709b2: 1a9b subs r3, r3, r2 80709b4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(l == 1) 80709b8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80709bc: 2b01 cmp r3, #1 80709be: d119 bne.n 80709f4 x = 256; 80709c0: f44f 7380 mov.w r3, #256 ; 0x100 80709c4: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 oldx = 0; 80709c8: 2300 movs r3, #0 80709ca: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 BSP_LCD_DrawLine(62 + oldx, y, 62 + x, y); 80709ce: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 80709d2: b29b uxth r3, r3 80709d4: 333e adds r3, #62 ; 0x3e 80709d6: b298 uxth r0, r3 80709d8: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 80709dc: b299 uxth r1, r3 80709de: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80709e2: b29b uxth r3, r3 80709e4: 333e adds r3, #62 ; 0x3e 80709e6: b29a uxth r2, r3 80709e8: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 80709ec: b29b uxth r3, r3 80709ee: f7e4 f849 bl 8054a84 80709f2: e055 b.n 8070aa0 fs = 256.0f / (float32_t) (l - 1); 80709f4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80709f8: 3b01 subs r3, #1 80709fa: ee07 3a90 vmov s15, r3 80709fe: eeb8 7a67 vcvt.f32.u32 s14, s15 8070a02: eddf 6aa3 vldr s13, [pc, #652] ; 8070c90 8070a06: eec6 7a87 vdiv.f32 s15, s13, s14 8070a0a: f207 4314 addw r3, r7, #1044 ; 0x414 8070a0e: edc3 7a00 vstr s15, [r3] x = (uint32_t) ((fs * (float32_t) i) + 0.5f); 8070a12: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8070a16: ee07 3a90 vmov s15, r3 8070a1a: eeb8 7a67 vcvt.f32.u32 s14, s15 8070a1e: f207 4314 addw r3, r7, #1044 ; 0x414 8070a22: edd3 7a00 vldr s15, [r3] 8070a26: ee67 7a27 vmul.f32 s15, s14, s15 8070a2a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070a2e: ee77 7a87 vadd.f32 s15, s15, s14 8070a32: eefc 7ae7 vcvt.u32.f32 s15, s15 8070a36: ee17 3a90 vmov r3, s15 8070a3a: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 if(i == 0) 8070a3e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8070a42: 2b00 cmp r3, #0 8070a44: d112 bne.n 8070a6c BSP_LCD_DrawLine(62 + x, y, 62 + x, y); 8070a46: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8070a4a: b29b uxth r3, r3 8070a4c: 333e adds r3, #62 ; 0x3e 8070a4e: b298 uxth r0, r3 8070a50: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8070a54: b299 uxth r1, r3 8070a56: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8070a5a: b29b uxth r3, r3 8070a5c: 333e adds r3, #62 ; 0x3e 8070a5e: b29a uxth r2, r3 8070a60: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8070a64: b29b uxth r3, r3 8070a66: f7e4 f80d bl 8054a84 8070a6a: e011 b.n 8070a90 else BSP_LCD_DrawLine(62 + oldx, oldy, 62 + x, y); 8070a6c: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 8070a70: b29b uxth r3, r3 8070a72: 333e adds r3, #62 ; 0x3e 8070a74: b298 uxth r0, r3 8070a76: f8d7 345c ldr.w r3, [r7, #1116] ; 0x45c 8070a7a: b299 uxth r1, r3 8070a7c: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8070a80: b29b uxth r3, r3 8070a82: 333e adds r3, #62 ; 0x3e 8070a84: b29a uxth r2, r3 8070a86: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8070a8a: b29b uxth r3, r3 8070a8c: f7e3 fffa bl 8054a84 oldx = x; 8070a90: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8070a94: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 oldy = y; 8070a98: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8070a9c: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < l; i++) 8070aa0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8070aa4: 3301 adds r3, #1 8070aa6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8070aaa: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8070aae: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8070ab2: 429a cmp r2, r3 8070ab4: f4ff ad2e bcc.w 8070514 break; 8070ab8: f027 bd8d b.w 80985d6 if(l) 8070abc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8070ac0: 2b00 cmp r3, #0 8070ac2: f027 8588 beq.w 80985d6 y0 = 217; 8070ac6: 23d9 movs r3, #217 ; 0xd9 8070ac8: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = 192; 8070acc: 23c0 movs r3, #192 ; 0xc0 8070ace: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a y2 = 167; 8070ad2: 23a7 movs r3, #167 ; 0xa7 8070ad4: f8a7 3438 strh.w r3, [r7, #1080] ; 0x438 y3 = 142; 8070ad8: 238e movs r3, #142 ; 0x8e 8070ada: f8a7 3436 strh.w r3, [r7, #1078] ; 0x436 y4 = 117; 8070ade: 2375 movs r3, #117 ; 0x75 8070ae0: f8a7 3434 strh.w r3, [r7, #1076] ; 0x434 y5 = 92; 8070ae4: 235c movs r3, #92 ; 0x5c 8070ae6: f8a7 3432 strh.w r3, [r7, #1074] ; 0x432 y6 = 67; 8070aea: 2343 movs r3, #67 ; 0x43 8070aec: f8a7 3430 strh.w r3, [r7, #1072] ; 0x430 BSP_LCD_SetFont(&Font8); 8070af0: 4868 ldr r0, [pc, #416] ; (8070c94 ) 8070af2: f7e3 fdc9 bl 8054688 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8070af6: 4968 ldr r1, [pc, #416] ; (8070c98 ) 8070af8: 4868 ldr r0, [pc, #416] ; (8070c9c ) 8070afa: f7e3 fd89 bl 8054610 if(fmax <= 100.0f) 8070afe: f207 434c addw r3, r7, #1100 ; 0x44c 8070b02: edd3 7a00 vldr s15, [r3] 8070b06: ed9f 7a66 vldr s14, [pc, #408] ; 8070ca0 8070b0a: eef4 7ac7 vcmpe.f32 s15, s14 8070b0e: eef1 fa10 vmrs APSR_nzcv, fpscr 8070b12: d836 bhi.n 8070b82 BSP_LCD_DisplayStringAt(59, y6 - 2, "100", RIGHT_MODE); 8070b14: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 8070b18: 3b02 subs r3, #2 8070b1a: b299 uxth r1, r3 8070b1c: 2302 movs r3, #2 8070b1e: 4a61 ldr r2, [pc, #388] ; (8070ca4 ) 8070b20: 203b movs r0, #59 ; 0x3b 8070b22: f7e3 fe3b bl 805479c BSP_LCD_DisplayStringAt(59, y5 - 2, "10", RIGHT_MODE); 8070b26: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8070b2a: 3b02 subs r3, #2 8070b2c: b299 uxth r1, r3 8070b2e: 2302 movs r3, #2 8070b30: 4a5d ldr r2, [pc, #372] ; (8070ca8 ) 8070b32: 203b movs r0, #59 ; 0x3b 8070b34: f7e3 fe32 bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "1", RIGHT_MODE); 8070b38: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8070b3c: 3b02 subs r3, #2 8070b3e: b299 uxth r1, r3 8070b40: 2302 movs r3, #2 8070b42: 4a5a ldr r2, [pc, #360] ; (8070cac ) 8070b44: 203b movs r0, #59 ; 0x3b 8070b46: f7e3 fe29 bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "0.1", RIGHT_MODE); 8070b4a: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8070b4e: 3b02 subs r3, #2 8070b50: b299 uxth r1, r3 8070b52: 2302 movs r3, #2 8070b54: 4a56 ldr r2, [pc, #344] ; (8070cb0 ) 8070b56: 203b movs r0, #59 ; 0x3b 8070b58: f7e3 fe20 bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "0.01", RIGHT_MODE); 8070b5c: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8070b60: 3b02 subs r3, #2 8070b62: b299 uxth r1, r3 8070b64: 2302 movs r3, #2 8070b66: 4a53 ldr r2, [pc, #332] ; (8070cb4 ) 8070b68: 203b movs r0, #59 ; 0x3b 8070b6a: f7e3 fe17 bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "0.001", RIGHT_MODE); 8070b6e: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070b72: 3b02 subs r3, #2 8070b74: b299 uxth r1, r3 8070b76: 2302 movs r3, #2 8070b78: 4a4f ldr r2, [pc, #316] ; (8070cb8 ) 8070b7a: 203b movs r0, #59 ; 0x3b 8070b7c: f7e3 fe0e bl 805479c 8070b80: e17b b.n 8070e7a if(fmax <= 1000.0f) 8070b82: f207 434c addw r3, r7, #1100 ; 0x44c 8070b86: edd3 7a00 vldr s15, [r3] 8070b8a: ed9f 7a4c vldr s14, [pc, #304] ; 8070cbc 8070b8e: eef4 7ac7 vcmpe.f32 s15, s14 8070b92: eef1 fa10 vmrs APSR_nzcv, fpscr 8070b96: d836 bhi.n 8070c06 BSP_LCD_DisplayStringAt(59, y6 - 2, "1000", RIGHT_MODE); 8070b98: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 8070b9c: 3b02 subs r3, #2 8070b9e: b299 uxth r1, r3 8070ba0: 2302 movs r3, #2 8070ba2: 4a47 ldr r2, [pc, #284] ; (8070cc0 ) 8070ba4: 203b movs r0, #59 ; 0x3b 8070ba6: f7e3 fdf9 bl 805479c BSP_LCD_DisplayStringAt(59, y5 - 2, "100", RIGHT_MODE); 8070baa: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8070bae: 3b02 subs r3, #2 8070bb0: b299 uxth r1, r3 8070bb2: 2302 movs r3, #2 8070bb4: 4a3b ldr r2, [pc, #236] ; (8070ca4 ) 8070bb6: 203b movs r0, #59 ; 0x3b 8070bb8: f7e3 fdf0 bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "10", RIGHT_MODE); 8070bbc: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8070bc0: 3b02 subs r3, #2 8070bc2: b299 uxth r1, r3 8070bc4: 2302 movs r3, #2 8070bc6: 4a38 ldr r2, [pc, #224] ; (8070ca8 ) 8070bc8: 203b movs r0, #59 ; 0x3b 8070bca: f7e3 fde7 bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "1", RIGHT_MODE); 8070bce: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8070bd2: 3b02 subs r3, #2 8070bd4: b299 uxth r1, r3 8070bd6: 2302 movs r3, #2 8070bd8: 4a34 ldr r2, [pc, #208] ; (8070cac ) 8070bda: 203b movs r0, #59 ; 0x3b 8070bdc: f7e3 fdde bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "0.1", RIGHT_MODE); 8070be0: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8070be4: 3b02 subs r3, #2 8070be6: b299 uxth r1, r3 8070be8: 2302 movs r3, #2 8070bea: 4a31 ldr r2, [pc, #196] ; (8070cb0 ) 8070bec: 203b movs r0, #59 ; 0x3b 8070bee: f7e3 fdd5 bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "0.01", RIGHT_MODE); 8070bf2: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070bf6: 3b02 subs r3, #2 8070bf8: b299 uxth r1, r3 8070bfa: 2302 movs r3, #2 8070bfc: 4a2d ldr r2, [pc, #180] ; (8070cb4 ) 8070bfe: 203b movs r0, #59 ; 0x3b 8070c00: f7e3 fdcc bl 805479c 8070c04: e139 b.n 8070e7a if(fmax <= 10000.0f) 8070c06: f207 434c addw r3, r7, #1100 ; 0x44c 8070c0a: edd3 7a00 vldr s15, [r3] 8070c0e: ed9f 7a1f vldr s14, [pc, #124] ; 8070c8c 8070c12: eef4 7ac7 vcmpe.f32 s15, s14 8070c16: eef1 fa10 vmrs APSR_nzcv, fpscr 8070c1a: d857 bhi.n 8070ccc BSP_LCD_DisplayStringAt(59, y6 - 2, "10000", RIGHT_MODE); 8070c1c: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 8070c20: 3b02 subs r3, #2 8070c22: b299 uxth r1, r3 8070c24: 2302 movs r3, #2 8070c26: 4a27 ldr r2, [pc, #156] ; (8070cc4 ) 8070c28: 203b movs r0, #59 ; 0x3b 8070c2a: f7e3 fdb7 bl 805479c BSP_LCD_DisplayStringAt(59, y5 - 2, "1000", RIGHT_MODE); 8070c2e: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8070c32: 3b02 subs r3, #2 8070c34: b299 uxth r1, r3 8070c36: 2302 movs r3, #2 8070c38: 4a21 ldr r2, [pc, #132] ; (8070cc0 ) 8070c3a: 203b movs r0, #59 ; 0x3b 8070c3c: f7e3 fdae bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "100", RIGHT_MODE); 8070c40: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8070c44: 3b02 subs r3, #2 8070c46: b299 uxth r1, r3 8070c48: 2302 movs r3, #2 8070c4a: 4a16 ldr r2, [pc, #88] ; (8070ca4 ) 8070c4c: 203b movs r0, #59 ; 0x3b 8070c4e: f7e3 fda5 bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "10", RIGHT_MODE); 8070c52: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8070c56: 3b02 subs r3, #2 8070c58: b299 uxth r1, r3 8070c5a: 2302 movs r3, #2 8070c5c: 4a12 ldr r2, [pc, #72] ; (8070ca8 ) 8070c5e: 203b movs r0, #59 ; 0x3b 8070c60: f7e3 fd9c bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "1", RIGHT_MODE); 8070c64: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8070c68: 3b02 subs r3, #2 8070c6a: b299 uxth r1, r3 8070c6c: 2302 movs r3, #2 8070c6e: 4a0f ldr r2, [pc, #60] ; (8070cac ) 8070c70: 203b movs r0, #59 ; 0x3b 8070c72: f7e3 fd93 bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "0.1", RIGHT_MODE); 8070c76: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070c7a: 3b02 subs r3, #2 8070c7c: b299 uxth r1, r3 8070c7e: 2302 movs r3, #2 8070c80: 4a0b ldr r2, [pc, #44] ; (8070cb0 ) 8070c82: 203b movs r0, #59 ; 0x3b 8070c84: f7e3 fd8a bl 805479c 8070c88: e0f7 b.n 8070e7a 8070c8a: bf00 nop 8070c8c: 461c4000 .word 0x461c4000 8070c90: 43800000 .word 0x43800000 8070c94: 20020060 .word 0x20020060 8070c98: ff0a0f1f .word 0xff0a0f1f 8070c9c: ffd3d3d3 .word 0xffd3d3d3 8070ca0: 42c80000 .word 0x42c80000 8070ca4: 080d3dc8 .word 0x080d3dc8 8070ca8: 080d3dc0 .word 0x080d3dc0 8070cac: 080d2bc4 .word 0x080d2bc4 8070cb0: 080d3e00 .word 0x080d3e00 8070cb4: 080d3e04 .word 0x080d3e04 8070cb8: 080d3e0c .word 0x080d3e0c 8070cbc: 447a0000 .word 0x447a0000 8070cc0: 080d3dd0 .word 0x080d3dd0 8070cc4: 080d3ddc .word 0x080d3ddc 8070cc8: 47c35000 .word 0x47c35000 if(fmax <= 100000.0f) 8070ccc: f207 434c addw r3, r7, #1100 ; 0x44c 8070cd0: edd3 7a00 vldr s15, [r3] 8070cd4: ed1f 7a04 vldr s14, [pc, #-16] ; 8070cc8 8070cd8: eef4 7ac7 vcmpe.f32 s15, s14 8070cdc: eef1 fa10 vmrs APSR_nzcv, fpscr 8070ce0: d836 bhi.n 8070d50 BSP_LCD_DisplayStringAt(59, y6 - 2, "100000", RIGHT_MODE); 8070ce2: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 8070ce6: 3b02 subs r3, #2 8070ce8: b299 uxth r1, r3 8070cea: 2302 movs r3, #2 8070cec: 4a39 ldr r2, [pc, #228] ; (8070dd4 ) 8070cee: 203b movs r0, #59 ; 0x3b 8070cf0: f7e3 fd54 bl 805479c BSP_LCD_DisplayStringAt(59, y5 - 2, "10000", RIGHT_MODE); 8070cf4: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8070cf8: 3b02 subs r3, #2 8070cfa: b299 uxth r1, r3 8070cfc: 2302 movs r3, #2 8070cfe: 4a36 ldr r2, [pc, #216] ; (8070dd8 ) 8070d00: 203b movs r0, #59 ; 0x3b 8070d02: f7e3 fd4b bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "1000", RIGHT_MODE); 8070d06: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8070d0a: 3b02 subs r3, #2 8070d0c: b299 uxth r1, r3 8070d0e: 2302 movs r3, #2 8070d10: 4a32 ldr r2, [pc, #200] ; (8070ddc ) 8070d12: 203b movs r0, #59 ; 0x3b 8070d14: f7e3 fd42 bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 8070d18: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8070d1c: 3b02 subs r3, #2 8070d1e: b299 uxth r1, r3 8070d20: 2302 movs r3, #2 8070d22: 4a2f ldr r2, [pc, #188] ; (8070de0 ) 8070d24: 203b movs r0, #59 ; 0x3b 8070d26: f7e3 fd39 bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "10", RIGHT_MODE); 8070d2a: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8070d2e: 3b02 subs r3, #2 8070d30: b299 uxth r1, r3 8070d32: 2302 movs r3, #2 8070d34: 4a2b ldr r2, [pc, #172] ; (8070de4 ) 8070d36: 203b movs r0, #59 ; 0x3b 8070d38: f7e3 fd30 bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 8070d3c: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070d40: 3b02 subs r3, #2 8070d42: b299 uxth r1, r3 8070d44: 2302 movs r3, #2 8070d46: 4a28 ldr r2, [pc, #160] ; (8070de8 ) 8070d48: 203b movs r0, #59 ; 0x3b 8070d4a: f7e3 fd27 bl 805479c 8070d4e: e094 b.n 8070e7a if(fmax <= 1000000.0f) 8070d50: f207 434c addw r3, r7, #1100 ; 0x44c 8070d54: edd3 7a00 vldr s15, [r3] 8070d58: ed9f 7a24 vldr s14, [pc, #144] ; 8070dec 8070d5c: eef4 7ac7 vcmpe.f32 s15, s14 8070d60: eef1 fa10 vmrs APSR_nzcv, fpscr 8070d64: d848 bhi.n 8070df8 BSP_LCD_DisplayStringAt(59, y6 - 2, "1000000", RIGHT_MODE); 8070d66: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 8070d6a: 3b02 subs r3, #2 8070d6c: b299 uxth r1, r3 8070d6e: 2302 movs r3, #2 8070d70: 4a1f ldr r2, [pc, #124] ; (8070df0 ) 8070d72: 203b movs r0, #59 ; 0x3b 8070d74: f7e3 fd12 bl 805479c BSP_LCD_DisplayStringAt(59, y5 - 2, "100000", RIGHT_MODE); 8070d78: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8070d7c: 3b02 subs r3, #2 8070d7e: b299 uxth r1, r3 8070d80: 2302 movs r3, #2 8070d82: 4a14 ldr r2, [pc, #80] ; (8070dd4 ) 8070d84: 203b movs r0, #59 ; 0x3b 8070d86: f7e3 fd09 bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "10000", RIGHT_MODE); 8070d8a: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8070d8e: 3b02 subs r3, #2 8070d90: b299 uxth r1, r3 8070d92: 2302 movs r3, #2 8070d94: 4a10 ldr r2, [pc, #64] ; (8070dd8 ) 8070d96: 203b movs r0, #59 ; 0x3b 8070d98: f7e3 fd00 bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "1000", RIGHT_MODE); 8070d9c: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8070da0: 3b02 subs r3, #2 8070da2: b299 uxth r1, r3 8070da4: 2302 movs r3, #2 8070da6: 4a0d ldr r2, [pc, #52] ; (8070ddc ) 8070da8: 203b movs r0, #59 ; 0x3b 8070daa: f7e3 fcf7 bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "100", RIGHT_MODE); 8070dae: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8070db2: 3b02 subs r3, #2 8070db4: b299 uxth r1, r3 8070db6: 2302 movs r3, #2 8070db8: 4a09 ldr r2, [pc, #36] ; (8070de0 ) 8070dba: 203b movs r0, #59 ; 0x3b 8070dbc: f7e3 fcee bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "10", RIGHT_MODE); 8070dc0: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070dc4: 3b02 subs r3, #2 8070dc6: b299 uxth r1, r3 8070dc8: 2302 movs r3, #2 8070dca: 4a06 ldr r2, [pc, #24] ; (8070de4 ) 8070dcc: 203b movs r0, #59 ; 0x3b 8070dce: f7e3 fce5 bl 805479c 8070dd2: e052 b.n 8070e7a 8070dd4: 080d3e14 .word 0x080d3e14 8070dd8: 080d3ddc .word 0x080d3ddc 8070ddc: 080d3dd0 .word 0x080d3dd0 8070de0: 080d3dc8 .word 0x080d3dc8 8070de4: 080d3dc0 .word 0x080d3dc0 8070de8: 080d2bc4 .word 0x080d2bc4 8070dec: 49742400 .word 0x49742400 8070df0: 080d3e1c .word 0x080d3e1c 8070df4: 4b189680 .word 0x4b189680 if(fmax <= 10000000.0f) 8070df8: f207 434c addw r3, r7, #1100 ; 0x44c 8070dfc: edd3 7a00 vldr s15, [r3] 8070e00: ed1f 7a04 vldr s14, [pc, #-16] ; 8070df4 8070e04: eef4 7ac7 vcmpe.f32 s15, s14 8070e08: eef1 fa10 vmrs APSR_nzcv, fpscr 8070e0c: d835 bhi.n 8070e7a BSP_LCD_DisplayStringAt(59, y6 - 2, "10000000", RIGHT_MODE); 8070e0e: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 8070e12: 3b02 subs r3, #2 8070e14: b299 uxth r1, r3 8070e16: 2302 movs r3, #2 8070e18: 4a9f ldr r2, [pc, #636] ; (8071098 ) 8070e1a: 203b movs r0, #59 ; 0x3b 8070e1c: f7e3 fcbe bl 805479c BSP_LCD_DisplayStringAt(59, y5 - 2, "1000000", RIGHT_MODE); 8070e20: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8070e24: 3b02 subs r3, #2 8070e26: b299 uxth r1, r3 8070e28: 2302 movs r3, #2 8070e2a: 4a9c ldr r2, [pc, #624] ; (807109c ) 8070e2c: 203b movs r0, #59 ; 0x3b 8070e2e: f7e3 fcb5 bl 805479c BSP_LCD_DisplayStringAt(59, y4 - 2, "100000", RIGHT_MODE); 8070e32: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8070e36: 3b02 subs r3, #2 8070e38: b299 uxth r1, r3 8070e3a: 2302 movs r3, #2 8070e3c: 4a98 ldr r2, [pc, #608] ; (80710a0 ) 8070e3e: 203b movs r0, #59 ; 0x3b 8070e40: f7e3 fcac bl 805479c BSP_LCD_DisplayStringAt(59, y3 - 2, "10000", RIGHT_MODE); 8070e44: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8070e48: 3b02 subs r3, #2 8070e4a: b299 uxth r1, r3 8070e4c: 2302 movs r3, #2 8070e4e: 4a95 ldr r2, [pc, #596] ; (80710a4 ) 8070e50: 203b movs r0, #59 ; 0x3b 8070e52: f7e3 fca3 bl 805479c BSP_LCD_DisplayStringAt(59, y2 - 2, "1000", RIGHT_MODE); 8070e56: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8070e5a: 3b02 subs r3, #2 8070e5c: b299 uxth r1, r3 8070e5e: 2302 movs r3, #2 8070e60: 4a91 ldr r2, [pc, #580] ; (80710a8 ) 8070e62: 203b movs r0, #59 ; 0x3b 8070e64: f7e3 fc9a bl 805479c BSP_LCD_DisplayStringAt(59, y1 - 2, "100", RIGHT_MODE); 8070e68: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070e6c: 3b02 subs r3, #2 8070e6e: b299 uxth r1, r3 8070e70: 2302 movs r3, #2 8070e72: 4a8e ldr r2, [pc, #568] ; (80710ac ) 8070e74: 203b movs r0, #59 ; 0x3b 8070e76: f7e3 fc91 bl 805479c if(l == 1) 8070e7a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8070e7e: 2b01 cmp r3, #1 8070e80: f040 811a bne.w 80710b8 k = CmplxA_u32(0); 8070e84: 4b8a ldr r3, [pc, #552] ; (80710b0 ) 8070e86: 681b ldr r3, [r3, #0] 8070e88: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8070e8c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070e90: 0e5b lsrs r3, r3, #25 8070e92: 3b14 subs r3, #20 8070e94: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8070e98: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070e9c: 0d5b lsrs r3, r3, #21 8070e9e: f003 030f and.w r3, r3, #15 8070ea2: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8070ea6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070eaa: 0c1b lsrs r3, r3, #16 8070eac: f003 031f and.w r3, r3, #31 8070eb0: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8070eb4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070eb8: 0adb lsrs r3, r3, #11 8070eba: f003 031f and.w r3, r3, #31 8070ebe: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8070ec2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070ec6: 095b lsrs r3, r3, #5 8070ec8: f003 033f and.w r3, r3, #63 ; 0x3f 8070ecc: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8070ed0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070ed4: 005b lsls r3, r3, #1 8070ed6: f003 031f and.w r3, r3, #31 8070eda: 3301 adds r3, #1 8070edc: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8070ee0: f507 733b add.w r3, r7, #748 ; 0x2ec 8070ee4: 223c movs r2, #60 ; 0x3c 8070ee6: 2100 movs r1, #0 8070ee8: 4618 mov r0, r3 8070eea: f060 fa59 bl 80d13a0 str[0] = (Day / 10) + 48; 8070eee: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8070ef2: 4a70 ldr r2, [pc, #448] ; (80710b4 ) 8070ef4: fba2 2303 umull r2, r3, r2, r3 8070ef8: 08db lsrs r3, r3, #3 8070efa: b2db uxtb r3, r3 8070efc: 3330 adds r3, #48 ; 0x30 8070efe: b2da uxtb r2, r3 8070f00: f507 733b add.w r3, r7, #748 ; 0x2ec 8070f04: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8070f06: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8070f0a: 4b6a ldr r3, [pc, #424] ; (80710b4 ) 8070f0c: fba3 2301 umull r2, r3, r3, r1 8070f10: 08da lsrs r2, r3, #3 8070f12: 4613 mov r3, r2 8070f14: 009b lsls r3, r3, #2 8070f16: 4413 add r3, r2 8070f18: 005b lsls r3, r3, #1 8070f1a: 1aca subs r2, r1, r3 8070f1c: b2d3 uxtb r3, r2 8070f1e: 3330 adds r3, #48 ; 0x30 8070f20: b2da uxtb r2, r3 8070f22: f507 733b add.w r3, r7, #748 ; 0x2ec 8070f26: 705a strb r2, [r3, #1] str[2] = '.'; 8070f28: f507 733b add.w r3, r7, #748 ; 0x2ec 8070f2c: 222e movs r2, #46 ; 0x2e 8070f2e: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8070f30: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8070f34: 4a5f ldr r2, [pc, #380] ; (80710b4 ) 8070f36: fba2 2303 umull r2, r3, r2, r3 8070f3a: 08db lsrs r3, r3, #3 8070f3c: b2db uxtb r3, r3 8070f3e: 3330 adds r3, #48 ; 0x30 8070f40: b2da uxtb r2, r3 8070f42: f507 733b add.w r3, r7, #748 ; 0x2ec 8070f46: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8070f48: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8070f4c: 4b59 ldr r3, [pc, #356] ; (80710b4 ) 8070f4e: fba3 2301 umull r2, r3, r3, r1 8070f52: 08da lsrs r2, r3, #3 8070f54: 4613 mov r3, r2 8070f56: 009b lsls r3, r3, #2 8070f58: 4413 add r3, r2 8070f5a: 005b lsls r3, r3, #1 8070f5c: 1aca subs r2, r1, r3 8070f5e: b2d3 uxtb r3, r2 8070f60: 3330 adds r3, #48 ; 0x30 8070f62: b2da uxtb r2, r3 8070f64: f507 733b add.w r3, r7, #748 ; 0x2ec 8070f68: 711a strb r2, [r3, #4] str[5] = '.'; 8070f6a: f507 733b add.w r3, r7, #748 ; 0x2ec 8070f6e: 222e movs r2, #46 ; 0x2e 8070f70: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8070f72: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8070f76: 4a4f ldr r2, [pc, #316] ; (80710b4 ) 8070f78: fba2 2303 umull r2, r3, r2, r3 8070f7c: 08db lsrs r3, r3, #3 8070f7e: b2db uxtb r3, r3 8070f80: 3330 adds r3, #48 ; 0x30 8070f82: b2da uxtb r2, r3 8070f84: f507 733b add.w r3, r7, #748 ; 0x2ec 8070f88: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8070f8a: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8070f8e: 4b49 ldr r3, [pc, #292] ; (80710b4 ) 8070f90: fba3 2301 umull r2, r3, r3, r1 8070f94: 08da lsrs r2, r3, #3 8070f96: 4613 mov r3, r2 8070f98: 009b lsls r3, r3, #2 8070f9a: 4413 add r3, r2 8070f9c: 005b lsls r3, r3, #1 8070f9e: 1aca subs r2, r1, r3 8070fa0: b2d3 uxtb r3, r2 8070fa2: 3330 adds r3, #48 ; 0x30 8070fa4: b2da uxtb r2, r3 8070fa6: f507 733b add.w r3, r7, #748 ; 0x2ec 8070faa: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 8070fac: f507 723b add.w r2, r7, #748 ; 0x2ec 8070fb0: 2301 movs r3, #1 8070fb2: 21dc movs r1, #220 ; 0xdc 8070fb4: 20be movs r0, #190 ; 0xbe 8070fb6: f7e3 fbf1 bl 805479c memset(str, 0, sizeof(str)); 8070fba: f507 733b add.w r3, r7, #748 ; 0x2ec 8070fbe: 223c movs r2, #60 ; 0x3c 8070fc0: 2100 movs r1, #0 8070fc2: 4618 mov r0, r3 8070fc4: f060 f9ec bl 80d13a0 str[0] = (Hour / 10) + 48; 8070fc8: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8070fcc: 4a39 ldr r2, [pc, #228] ; (80710b4 ) 8070fce: fba2 2303 umull r2, r3, r2, r3 8070fd2: 08db lsrs r3, r3, #3 8070fd4: b2db uxtb r3, r3 8070fd6: 3330 adds r3, #48 ; 0x30 8070fd8: b2da uxtb r2, r3 8070fda: f507 733b add.w r3, r7, #748 ; 0x2ec 8070fde: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8070fe0: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070fe4: 4b33 ldr r3, [pc, #204] ; (80710b4 ) 8070fe6: fba3 2301 umull r2, r3, r3, r1 8070fea: 08da lsrs r2, r3, #3 8070fec: 4613 mov r3, r2 8070fee: 009b lsls r3, r3, #2 8070ff0: 4413 add r3, r2 8070ff2: 005b lsls r3, r3, #1 8070ff4: 1aca subs r2, r1, r3 8070ff6: b2d3 uxtb r3, r2 8070ff8: 3330 adds r3, #48 ; 0x30 8070ffa: b2da uxtb r2, r3 8070ffc: f507 733b add.w r3, r7, #748 ; 0x2ec 8071000: 705a strb r2, [r3, #1] str[2] = ':'; 8071002: f507 733b add.w r3, r7, #748 ; 0x2ec 8071006: 223a movs r2, #58 ; 0x3a 8071008: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 807100a: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 807100e: 4a29 ldr r2, [pc, #164] ; (80710b4 ) 8071010: fba2 2303 umull r2, r3, r2, r3 8071014: 08db lsrs r3, r3, #3 8071016: b2db uxtb r3, r3 8071018: 3330 adds r3, #48 ; 0x30 807101a: b2da uxtb r2, r3 807101c: f507 733b add.w r3, r7, #748 ; 0x2ec 8071020: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8071022: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8071026: 4b23 ldr r3, [pc, #140] ; (80710b4 ) 8071028: fba3 2301 umull r2, r3, r3, r1 807102c: 08da lsrs r2, r3, #3 807102e: 4613 mov r3, r2 8071030: 009b lsls r3, r3, #2 8071032: 4413 add r3, r2 8071034: 005b lsls r3, r3, #1 8071036: 1aca subs r2, r1, r3 8071038: b2d3 uxtb r3, r2 807103a: 3330 adds r3, #48 ; 0x30 807103c: b2da uxtb r2, r3 807103e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071042: 711a strb r2, [r3, #4] str[5] = ':'; 8071044: f507 733b add.w r3, r7, #748 ; 0x2ec 8071048: 223a movs r2, #58 ; 0x3a 807104a: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 807104c: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8071050: 4a18 ldr r2, [pc, #96] ; (80710b4 ) 8071052: fba2 2303 umull r2, r3, r2, r3 8071056: 08db lsrs r3, r3, #3 8071058: b2db uxtb r3, r3 807105a: 3330 adds r3, #48 ; 0x30 807105c: b2da uxtb r2, r3 807105e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071062: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8071064: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8071068: 4b12 ldr r3, [pc, #72] ; (80710b4 ) 807106a: fba3 2301 umull r2, r3, r3, r1 807106e: 08da lsrs r2, r3, #3 8071070: 4613 mov r3, r2 8071072: 009b lsls r3, r3, #2 8071074: 4413 add r3, r2 8071076: 005b lsls r3, r3, #1 8071078: 1aca subs r2, r1, r3 807107a: b2d3 uxtb r3, r2 807107c: 3330 adds r3, #48 ; 0x30 807107e: b2da uxtb r2, r3 8071080: f507 733b add.w r3, r7, #748 ; 0x2ec 8071084: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 8071086: f507 723b add.w r2, r7, #748 ; 0x2ec 807108a: 2301 movs r3, #1 807108c: 21e4 movs r1, #228 ; 0xe4 807108e: 20be movs r0, #190 ; 0xbe 8071090: f7e3 fb84 bl 805479c 8071094: f000 bd77 b.w 8071b86 8071098: 080d3e24 .word 0x080d3e24 807109c: 080d3e1c .word 0x080d3e1c 80710a0: 080d3e14 .word 0x080d3e14 80710a4: 080d3ddc .word 0x080d3ddc 80710a8: 080d3dd0 .word 0x080d3dd0 80710ac: 080d3dc8 .word 0x080d3dc8 80710b0: 64090000 .word 0x64090000 80710b4: cccccccd .word 0xcccccccd if(l == 2) 80710b8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80710bc: 2b02 cmp r3, #2 80710be: f040 821d bne.w 80714fc k = CmplxA_u32(0); 80710c2: 4bde ldr r3, [pc, #888] ; (807143c ) 80710c4: 681b ldr r3, [r3, #0] 80710c6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 80710ca: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80710ce: 0e5b lsrs r3, r3, #25 80710d0: 3b14 subs r3, #20 80710d2: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 80710d6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80710da: 0d5b lsrs r3, r3, #21 80710dc: f003 030f and.w r3, r3, #15 80710e0: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 80710e4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80710e8: 0c1b lsrs r3, r3, #16 80710ea: f003 031f and.w r3, r3, #31 80710ee: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 80710f2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80710f6: 0adb lsrs r3, r3, #11 80710f8: f003 031f and.w r3, r3, #31 80710fc: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8071100: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071104: 095b lsrs r3, r3, #5 8071106: f003 033f and.w r3, r3, #63 ; 0x3f 807110a: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 807110e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071112: 005b lsls r3, r3, #1 8071114: f003 031f and.w r3, r3, #31 8071118: 3301 adds r3, #1 807111a: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 807111e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071122: 223c movs r2, #60 ; 0x3c 8071124: 2100 movs r1, #0 8071126: 4618 mov r0, r3 8071128: f060 f93a bl 80d13a0 str[0] = (Day / 10) + 48; 807112c: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8071130: 4ac3 ldr r2, [pc, #780] ; (8071440 ) 8071132: fba2 2303 umull r2, r3, r2, r3 8071136: 08db lsrs r3, r3, #3 8071138: b2db uxtb r3, r3 807113a: 3330 adds r3, #48 ; 0x30 807113c: b2da uxtb r2, r3 807113e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071142: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8071144: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8071148: 4bbd ldr r3, [pc, #756] ; (8071440 ) 807114a: fba3 2301 umull r2, r3, r3, r1 807114e: 08da lsrs r2, r3, #3 8071150: 4613 mov r3, r2 8071152: 009b lsls r3, r3, #2 8071154: 4413 add r3, r2 8071156: 005b lsls r3, r3, #1 8071158: 1aca subs r2, r1, r3 807115a: b2d3 uxtb r3, r2 807115c: 3330 adds r3, #48 ; 0x30 807115e: b2da uxtb r2, r3 8071160: f507 733b add.w r3, r7, #748 ; 0x2ec 8071164: 705a strb r2, [r3, #1] str[2] = '.'; 8071166: f507 733b add.w r3, r7, #748 ; 0x2ec 807116a: 222e movs r2, #46 ; 0x2e 807116c: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 807116e: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8071172: 4ab3 ldr r2, [pc, #716] ; (8071440 ) 8071174: fba2 2303 umull r2, r3, r2, r3 8071178: 08db lsrs r3, r3, #3 807117a: b2db uxtb r3, r3 807117c: 3330 adds r3, #48 ; 0x30 807117e: b2da uxtb r2, r3 8071180: f507 733b add.w r3, r7, #748 ; 0x2ec 8071184: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8071186: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 807118a: 4bad ldr r3, [pc, #692] ; (8071440 ) 807118c: fba3 2301 umull r2, r3, r3, r1 8071190: 08da lsrs r2, r3, #3 8071192: 4613 mov r3, r2 8071194: 009b lsls r3, r3, #2 8071196: 4413 add r3, r2 8071198: 005b lsls r3, r3, #1 807119a: 1aca subs r2, r1, r3 807119c: b2d3 uxtb r3, r2 807119e: 3330 adds r3, #48 ; 0x30 80711a0: b2da uxtb r2, r3 80711a2: f507 733b add.w r3, r7, #748 ; 0x2ec 80711a6: 711a strb r2, [r3, #4] str[5] = '.'; 80711a8: f507 733b add.w r3, r7, #748 ; 0x2ec 80711ac: 222e movs r2, #46 ; 0x2e 80711ae: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 80711b0: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 80711b4: 4aa2 ldr r2, [pc, #648] ; (8071440 ) 80711b6: fba2 2303 umull r2, r3, r2, r3 80711ba: 08db lsrs r3, r3, #3 80711bc: b2db uxtb r3, r3 80711be: 3330 adds r3, #48 ; 0x30 80711c0: b2da uxtb r2, r3 80711c2: f507 733b add.w r3, r7, #748 ; 0x2ec 80711c6: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 80711c8: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 80711cc: 4b9c ldr r3, [pc, #624] ; (8071440 ) 80711ce: fba3 2301 umull r2, r3, r3, r1 80711d2: 08da lsrs r2, r3, #3 80711d4: 4613 mov r3, r2 80711d6: 009b lsls r3, r3, #2 80711d8: 4413 add r3, r2 80711da: 005b lsls r3, r3, #1 80711dc: 1aca subs r2, r1, r3 80711de: b2d3 uxtb r3, r2 80711e0: 3330 adds r3, #48 ; 0x30 80711e2: b2da uxtb r2, r3 80711e4: f507 733b add.w r3, r7, #748 ; 0x2ec 80711e8: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 80711ea: f507 723b add.w r2, r7, #748 ; 0x2ec 80711ee: 2301 movs r3, #1 80711f0: 21dc movs r1, #220 ; 0xdc 80711f2: 2050 movs r0, #80 ; 0x50 80711f4: f7e3 fad2 bl 805479c memset(str, 0, sizeof(str)); 80711f8: f507 733b add.w r3, r7, #748 ; 0x2ec 80711fc: 223c movs r2, #60 ; 0x3c 80711fe: 2100 movs r1, #0 8071200: 4618 mov r0, r3 8071202: f060 f8cd bl 80d13a0 str[0] = (Hour / 10) + 48; 8071206: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 807120a: 4a8d ldr r2, [pc, #564] ; (8071440 ) 807120c: fba2 2303 umull r2, r3, r2, r3 8071210: 08db lsrs r3, r3, #3 8071212: b2db uxtb r3, r3 8071214: 3330 adds r3, #48 ; 0x30 8071216: b2da uxtb r2, r3 8071218: f507 733b add.w r3, r7, #748 ; 0x2ec 807121c: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 807121e: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8071222: 4b87 ldr r3, [pc, #540] ; (8071440 ) 8071224: fba3 2301 umull r2, r3, r3, r1 8071228: 08da lsrs r2, r3, #3 807122a: 4613 mov r3, r2 807122c: 009b lsls r3, r3, #2 807122e: 4413 add r3, r2 8071230: 005b lsls r3, r3, #1 8071232: 1aca subs r2, r1, r3 8071234: b2d3 uxtb r3, r2 8071236: 3330 adds r3, #48 ; 0x30 8071238: b2da uxtb r2, r3 807123a: f507 733b add.w r3, r7, #748 ; 0x2ec 807123e: 705a strb r2, [r3, #1] str[2] = ':'; 8071240: f507 733b add.w r3, r7, #748 ; 0x2ec 8071244: 223a movs r2, #58 ; 0x3a 8071246: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8071248: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 807124c: 4a7c ldr r2, [pc, #496] ; (8071440 ) 807124e: fba2 2303 umull r2, r3, r2, r3 8071252: 08db lsrs r3, r3, #3 8071254: b2db uxtb r3, r3 8071256: 3330 adds r3, #48 ; 0x30 8071258: b2da uxtb r2, r3 807125a: f507 733b add.w r3, r7, #748 ; 0x2ec 807125e: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8071260: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8071264: 4b76 ldr r3, [pc, #472] ; (8071440 ) 8071266: fba3 2301 umull r2, r3, r3, r1 807126a: 08da lsrs r2, r3, #3 807126c: 4613 mov r3, r2 807126e: 009b lsls r3, r3, #2 8071270: 4413 add r3, r2 8071272: 005b lsls r3, r3, #1 8071274: 1aca subs r2, r1, r3 8071276: b2d3 uxtb r3, r2 8071278: 3330 adds r3, #48 ; 0x30 807127a: b2da uxtb r2, r3 807127c: f507 733b add.w r3, r7, #748 ; 0x2ec 8071280: 711a strb r2, [r3, #4] str[5] = ':'; 8071282: f507 733b add.w r3, r7, #748 ; 0x2ec 8071286: 223a movs r2, #58 ; 0x3a 8071288: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 807128a: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 807128e: 4a6c ldr r2, [pc, #432] ; (8071440 ) 8071290: fba2 2303 umull r2, r3, r2, r3 8071294: 08db lsrs r3, r3, #3 8071296: b2db uxtb r3, r3 8071298: 3330 adds r3, #48 ; 0x30 807129a: b2da uxtb r2, r3 807129c: f507 733b add.w r3, r7, #748 ; 0x2ec 80712a0: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 80712a2: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 80712a6: 4b66 ldr r3, [pc, #408] ; (8071440 ) 80712a8: fba3 2301 umull r2, r3, r3, r1 80712ac: 08da lsrs r2, r3, #3 80712ae: 4613 mov r3, r2 80712b0: 009b lsls r3, r3, #2 80712b2: 4413 add r3, r2 80712b4: 005b lsls r3, r3, #1 80712b6: 1aca subs r2, r1, r3 80712b8: b2d3 uxtb r3, r2 80712ba: 3330 adds r3, #48 ; 0x30 80712bc: b2da uxtb r2, r3 80712be: f507 733b add.w r3, r7, #748 ; 0x2ec 80712c2: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 80712c4: f507 723b add.w r2, r7, #748 ; 0x2ec 80712c8: 2301 movs r3, #1 80712ca: 21e4 movs r1, #228 ; 0xe4 80712cc: 2050 movs r0, #80 ; 0x50 80712ce: f7e3 fa65 bl 805479c k = CmplxA_u32(1); 80712d2: 4b5c ldr r3, [pc, #368] ; (8071444 ) 80712d4: 681b ldr r3, [r3, #0] 80712d6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 80712da: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80712de: 0e5b lsrs r3, r3, #25 80712e0: 3b14 subs r3, #20 80712e2: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 80712e6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80712ea: 0d5b lsrs r3, r3, #21 80712ec: f003 030f and.w r3, r3, #15 80712f0: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 80712f4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80712f8: 0c1b lsrs r3, r3, #16 80712fa: f003 031f and.w r3, r3, #31 80712fe: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8071302: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071306: 0adb lsrs r3, r3, #11 8071308: f003 031f and.w r3, r3, #31 807130c: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8071310: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071314: 095b lsrs r3, r3, #5 8071316: f003 033f and.w r3, r3, #63 ; 0x3f 807131a: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 807131e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071322: 005b lsls r3, r3, #1 8071324: f003 031f and.w r3, r3, #31 8071328: 3301 adds r3, #1 807132a: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 807132e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071332: 223c movs r2, #60 ; 0x3c 8071334: 2100 movs r1, #0 8071336: 4618 mov r0, r3 8071338: f060 f832 bl 80d13a0 str[0] = (Day / 10) + 48; 807133c: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8071340: 4a3f ldr r2, [pc, #252] ; (8071440 ) 8071342: fba2 2303 umull r2, r3, r2, r3 8071346: 08db lsrs r3, r3, #3 8071348: b2db uxtb r3, r3 807134a: 3330 adds r3, #48 ; 0x30 807134c: b2da uxtb r2, r3 807134e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071352: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8071354: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8071358: 4b39 ldr r3, [pc, #228] ; (8071440 ) 807135a: fba3 2301 umull r2, r3, r3, r1 807135e: 08da lsrs r2, r3, #3 8071360: 4613 mov r3, r2 8071362: 009b lsls r3, r3, #2 8071364: 4413 add r3, r2 8071366: 005b lsls r3, r3, #1 8071368: 1aca subs r2, r1, r3 807136a: b2d3 uxtb r3, r2 807136c: 3330 adds r3, #48 ; 0x30 807136e: b2da uxtb r2, r3 8071370: f507 733b add.w r3, r7, #748 ; 0x2ec 8071374: 705a strb r2, [r3, #1] str[2] = '.'; 8071376: f507 733b add.w r3, r7, #748 ; 0x2ec 807137a: 222e movs r2, #46 ; 0x2e 807137c: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 807137e: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8071382: 4a2f ldr r2, [pc, #188] ; (8071440 ) 8071384: fba2 2303 umull r2, r3, r2, r3 8071388: 08db lsrs r3, r3, #3 807138a: b2db uxtb r3, r3 807138c: 3330 adds r3, #48 ; 0x30 807138e: b2da uxtb r2, r3 8071390: f507 733b add.w r3, r7, #748 ; 0x2ec 8071394: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8071396: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 807139a: 4b29 ldr r3, [pc, #164] ; (8071440 ) 807139c: fba3 2301 umull r2, r3, r3, r1 80713a0: 08da lsrs r2, r3, #3 80713a2: 4613 mov r3, r2 80713a4: 009b lsls r3, r3, #2 80713a6: 4413 add r3, r2 80713a8: 005b lsls r3, r3, #1 80713aa: 1aca subs r2, r1, r3 80713ac: b2d3 uxtb r3, r2 80713ae: 3330 adds r3, #48 ; 0x30 80713b0: b2da uxtb r2, r3 80713b2: f507 733b add.w r3, r7, #748 ; 0x2ec 80713b6: 711a strb r2, [r3, #4] str[5] = '.'; 80713b8: f507 733b add.w r3, r7, #748 ; 0x2ec 80713bc: 222e movs r2, #46 ; 0x2e 80713be: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 80713c0: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 80713c4: 4a1e ldr r2, [pc, #120] ; (8071440 ) 80713c6: fba2 2303 umull r2, r3, r2, r3 80713ca: 08db lsrs r3, r3, #3 80713cc: b2db uxtb r3, r3 80713ce: 3330 adds r3, #48 ; 0x30 80713d0: b2da uxtb r2, r3 80713d2: f507 733b add.w r3, r7, #748 ; 0x2ec 80713d6: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 80713d8: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 80713dc: 4b18 ldr r3, [pc, #96] ; (8071440 ) 80713de: fba3 2301 umull r2, r3, r3, r1 80713e2: 08da lsrs r2, r3, #3 80713e4: 4613 mov r3, r2 80713e6: 009b lsls r3, r3, #2 80713e8: 4413 add r3, r2 80713ea: 005b lsls r3, r3, #1 80713ec: 1aca subs r2, r1, r3 80713ee: b2d3 uxtb r3, r2 80713f0: 3330 adds r3, #48 ; 0x30 80713f2: b2da uxtb r2, r3 80713f4: f507 733b add.w r3, r7, #748 ; 0x2ec 80713f8: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 80713fa: f507 723b add.w r2, r7, #748 ; 0x2ec 80713fe: 2301 movs r3, #1 8071400: 21dc movs r1, #220 ; 0xdc 8071402: f44f 7095 mov.w r0, #298 ; 0x12a 8071406: f7e3 f9c9 bl 805479c memset(str, 0, sizeof(str)); 807140a: f507 733b add.w r3, r7, #748 ; 0x2ec 807140e: 223c movs r2, #60 ; 0x3c 8071410: 2100 movs r1, #0 8071412: 4618 mov r0, r3 8071414: f05f ffc4 bl 80d13a0 str[0] = (Hour / 10) + 48; 8071418: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 807141c: 4a08 ldr r2, [pc, #32] ; (8071440 ) 807141e: fba2 2303 umull r2, r3, r2, r3 8071422: 08db lsrs r3, r3, #3 8071424: b2db uxtb r3, r3 8071426: 3330 adds r3, #48 ; 0x30 8071428: b2da uxtb r2, r3 807142a: f507 733b add.w r3, r7, #748 ; 0x2ec 807142e: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8071430: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8071434: 4b02 ldr r3, [pc, #8] ; (8071440 ) 8071436: fba3 2301 umull r2, r3, r3, r1 807143a: e005 b.n 8071448 807143c: 64090000 .word 0x64090000 8071440: cccccccd .word 0xcccccccd 8071444: 64090004 .word 0x64090004 8071448: 08da lsrs r2, r3, #3 807144a: 4613 mov r3, r2 807144c: 009b lsls r3, r3, #2 807144e: 4413 add r3, r2 8071450: 005b lsls r3, r3, #1 8071452: 1aca subs r2, r1, r3 8071454: b2d3 uxtb r3, r2 8071456: 3330 adds r3, #48 ; 0x30 8071458: b2da uxtb r2, r3 807145a: f507 733b add.w r3, r7, #748 ; 0x2ec 807145e: 705a strb r2, [r3, #1] str[2] = ':'; 8071460: f507 733b add.w r3, r7, #748 ; 0x2ec 8071464: 223a movs r2, #58 ; 0x3a 8071466: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8071468: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 807146c: 4a22 ldr r2, [pc, #136] ; (80714f8 ) 807146e: fba2 2303 umull r2, r3, r2, r3 8071472: 08db lsrs r3, r3, #3 8071474: b2db uxtb r3, r3 8071476: 3330 adds r3, #48 ; 0x30 8071478: b2da uxtb r2, r3 807147a: f507 733b add.w r3, r7, #748 ; 0x2ec 807147e: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8071480: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8071484: 4b1c ldr r3, [pc, #112] ; (80714f8 ) 8071486: fba3 2301 umull r2, r3, r3, r1 807148a: 08da lsrs r2, r3, #3 807148c: 4613 mov r3, r2 807148e: 009b lsls r3, r3, #2 8071490: 4413 add r3, r2 8071492: 005b lsls r3, r3, #1 8071494: 1aca subs r2, r1, r3 8071496: b2d3 uxtb r3, r2 8071498: 3330 adds r3, #48 ; 0x30 807149a: b2da uxtb r2, r3 807149c: f507 733b add.w r3, r7, #748 ; 0x2ec 80714a0: 711a strb r2, [r3, #4] str[5] = ':'; 80714a2: f507 733b add.w r3, r7, #748 ; 0x2ec 80714a6: 223a movs r2, #58 ; 0x3a 80714a8: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 80714aa: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 80714ae: 4a12 ldr r2, [pc, #72] ; (80714f8 ) 80714b0: fba2 2303 umull r2, r3, r2, r3 80714b4: 08db lsrs r3, r3, #3 80714b6: b2db uxtb r3, r3 80714b8: 3330 adds r3, #48 ; 0x30 80714ba: b2da uxtb r2, r3 80714bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80714c0: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 80714c2: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 80714c6: 4b0c ldr r3, [pc, #48] ; (80714f8 ) 80714c8: fba3 2301 umull r2, r3, r3, r1 80714cc: 08da lsrs r2, r3, #3 80714ce: 4613 mov r3, r2 80714d0: 009b lsls r3, r3, #2 80714d2: 4413 add r3, r2 80714d4: 005b lsls r3, r3, #1 80714d6: 1aca subs r2, r1, r3 80714d8: b2d3 uxtb r3, r2 80714da: 3330 adds r3, #48 ; 0x30 80714dc: b2da uxtb r2, r3 80714de: f507 733b add.w r3, r7, #748 ; 0x2ec 80714e2: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 80714e4: f507 723b add.w r2, r7, #748 ; 0x2ec 80714e8: 2301 movs r3, #1 80714ea: 21e4 movs r1, #228 ; 0xe4 80714ec: f44f 7095 mov.w r0, #298 ; 0x12a 80714f0: f7e3 f954 bl 805479c 80714f4: e347 b.n 8071b86 80714f6: bf00 nop 80714f8: cccccccd .word 0xcccccccd k = CmplxA_u32(0); 80714fc: 4be0 ldr r3, [pc, #896] ; (8071880 ) 80714fe: 681b ldr r3, [r3, #0] 8071500: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8071504: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071508: 0e5b lsrs r3, r3, #25 807150a: 3b14 subs r3, #20 807150c: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8071510: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071514: 0d5b lsrs r3, r3, #21 8071516: f003 030f and.w r3, r3, #15 807151a: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 807151e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071522: 0c1b lsrs r3, r3, #16 8071524: f003 031f and.w r3, r3, #31 8071528: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 807152c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071530: 0adb lsrs r3, r3, #11 8071532: f003 031f and.w r3, r3, #31 8071536: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 807153a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807153e: 095b lsrs r3, r3, #5 8071540: f003 033f and.w r3, r3, #63 ; 0x3f 8071544: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8071548: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807154c: 005b lsls r3, r3, #1 807154e: f003 031f and.w r3, r3, #31 8071552: 3301 adds r3, #1 8071554: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8071558: f507 733b add.w r3, r7, #748 ; 0x2ec 807155c: 223c movs r2, #60 ; 0x3c 807155e: 2100 movs r1, #0 8071560: 4618 mov r0, r3 8071562: f05f ff1d bl 80d13a0 str[0] = (Day / 10) + 48; 8071566: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 807156a: 4ac6 ldr r2, [pc, #792] ; (8071884 ) 807156c: fba2 2303 umull r2, r3, r2, r3 8071570: 08db lsrs r3, r3, #3 8071572: b2db uxtb r3, r3 8071574: 3330 adds r3, #48 ; 0x30 8071576: b2da uxtb r2, r3 8071578: f507 733b add.w r3, r7, #748 ; 0x2ec 807157c: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 807157e: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8071582: 4bc0 ldr r3, [pc, #768] ; (8071884 ) 8071584: fba3 2301 umull r2, r3, r3, r1 8071588: 08da lsrs r2, r3, #3 807158a: 4613 mov r3, r2 807158c: 009b lsls r3, r3, #2 807158e: 4413 add r3, r2 8071590: 005b lsls r3, r3, #1 8071592: 1aca subs r2, r1, r3 8071594: b2d3 uxtb r3, r2 8071596: 3330 adds r3, #48 ; 0x30 8071598: b2da uxtb r2, r3 807159a: f507 733b add.w r3, r7, #748 ; 0x2ec 807159e: 705a strb r2, [r3, #1] str[2] = '.'; 80715a0: f507 733b add.w r3, r7, #748 ; 0x2ec 80715a4: 222e movs r2, #46 ; 0x2e 80715a6: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 80715a8: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 80715ac: 4ab5 ldr r2, [pc, #724] ; (8071884 ) 80715ae: fba2 2303 umull r2, r3, r2, r3 80715b2: 08db lsrs r3, r3, #3 80715b4: b2db uxtb r3, r3 80715b6: 3330 adds r3, #48 ; 0x30 80715b8: b2da uxtb r2, r3 80715ba: f507 733b add.w r3, r7, #748 ; 0x2ec 80715be: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 80715c0: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 80715c4: 4baf ldr r3, [pc, #700] ; (8071884 ) 80715c6: fba3 2301 umull r2, r3, r3, r1 80715ca: 08da lsrs r2, r3, #3 80715cc: 4613 mov r3, r2 80715ce: 009b lsls r3, r3, #2 80715d0: 4413 add r3, r2 80715d2: 005b lsls r3, r3, #1 80715d4: 1aca subs r2, r1, r3 80715d6: b2d3 uxtb r3, r2 80715d8: 3330 adds r3, #48 ; 0x30 80715da: b2da uxtb r2, r3 80715dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80715e0: 711a strb r2, [r3, #4] str[5] = '.'; 80715e2: f507 733b add.w r3, r7, #748 ; 0x2ec 80715e6: 222e movs r2, #46 ; 0x2e 80715e8: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 80715ea: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 80715ee: 4aa5 ldr r2, [pc, #660] ; (8071884 ) 80715f0: fba2 2303 umull r2, r3, r2, r3 80715f4: 08db lsrs r3, r3, #3 80715f6: b2db uxtb r3, r3 80715f8: 3330 adds r3, #48 ; 0x30 80715fa: b2da uxtb r2, r3 80715fc: f507 733b add.w r3, r7, #748 ; 0x2ec 8071600: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8071602: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8071606: 4b9f ldr r3, [pc, #636] ; (8071884 ) 8071608: fba3 2301 umull r2, r3, r3, r1 807160c: 08da lsrs r2, r3, #3 807160e: 4613 mov r3, r2 8071610: 009b lsls r3, r3, #2 8071612: 4413 add r3, r2 8071614: 005b lsls r3, r3, #1 8071616: 1aca subs r2, r1, r3 8071618: b2d3 uxtb r3, r2 807161a: 3330 adds r3, #48 ; 0x30 807161c: b2da uxtb r2, r3 807161e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071622: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 8071624: f507 723b add.w r2, r7, #748 ; 0x2ec 8071628: 2301 movs r3, #1 807162a: 21dc movs r1, #220 ; 0xdc 807162c: 2050 movs r0, #80 ; 0x50 807162e: f7e3 f8b5 bl 805479c memset(str, 0, sizeof(str)); 8071632: f507 733b add.w r3, r7, #748 ; 0x2ec 8071636: 223c movs r2, #60 ; 0x3c 8071638: 2100 movs r1, #0 807163a: 4618 mov r0, r3 807163c: f05f feb0 bl 80d13a0 str[0] = (Hour / 10) + 48; 8071640: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8071644: 4a8f ldr r2, [pc, #572] ; (8071884 ) 8071646: fba2 2303 umull r2, r3, r2, r3 807164a: 08db lsrs r3, r3, #3 807164c: b2db uxtb r3, r3 807164e: 3330 adds r3, #48 ; 0x30 8071650: b2da uxtb r2, r3 8071652: f507 733b add.w r3, r7, #748 ; 0x2ec 8071656: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8071658: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 807165c: 4b89 ldr r3, [pc, #548] ; (8071884 ) 807165e: fba3 2301 umull r2, r3, r3, r1 8071662: 08da lsrs r2, r3, #3 8071664: 4613 mov r3, r2 8071666: 009b lsls r3, r3, #2 8071668: 4413 add r3, r2 807166a: 005b lsls r3, r3, #1 807166c: 1aca subs r2, r1, r3 807166e: b2d3 uxtb r3, r2 8071670: 3330 adds r3, #48 ; 0x30 8071672: b2da uxtb r2, r3 8071674: f507 733b add.w r3, r7, #748 ; 0x2ec 8071678: 705a strb r2, [r3, #1] str[2] = ':'; 807167a: f507 733b add.w r3, r7, #748 ; 0x2ec 807167e: 223a movs r2, #58 ; 0x3a 8071680: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8071682: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8071686: 4a7f ldr r2, [pc, #508] ; (8071884 ) 8071688: fba2 2303 umull r2, r3, r2, r3 807168c: 08db lsrs r3, r3, #3 807168e: b2db uxtb r3, r3 8071690: 3330 adds r3, #48 ; 0x30 8071692: b2da uxtb r2, r3 8071694: f507 733b add.w r3, r7, #748 ; 0x2ec 8071698: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 807169a: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 807169e: 4b79 ldr r3, [pc, #484] ; (8071884 ) 80716a0: fba3 2301 umull r2, r3, r3, r1 80716a4: 08da lsrs r2, r3, #3 80716a6: 4613 mov r3, r2 80716a8: 009b lsls r3, r3, #2 80716aa: 4413 add r3, r2 80716ac: 005b lsls r3, r3, #1 80716ae: 1aca subs r2, r1, r3 80716b0: b2d3 uxtb r3, r2 80716b2: 3330 adds r3, #48 ; 0x30 80716b4: b2da uxtb r2, r3 80716b6: f507 733b add.w r3, r7, #748 ; 0x2ec 80716ba: 711a strb r2, [r3, #4] str[5] = ':'; 80716bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80716c0: 223a movs r2, #58 ; 0x3a 80716c2: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 80716c4: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 80716c8: 4a6e ldr r2, [pc, #440] ; (8071884 ) 80716ca: fba2 2303 umull r2, r3, r2, r3 80716ce: 08db lsrs r3, r3, #3 80716d0: b2db uxtb r3, r3 80716d2: 3330 adds r3, #48 ; 0x30 80716d4: b2da uxtb r2, r3 80716d6: f507 733b add.w r3, r7, #748 ; 0x2ec 80716da: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 80716dc: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 80716e0: 4b68 ldr r3, [pc, #416] ; (8071884 ) 80716e2: fba3 2301 umull r2, r3, r3, r1 80716e6: 08da lsrs r2, r3, #3 80716e8: 4613 mov r3, r2 80716ea: 009b lsls r3, r3, #2 80716ec: 4413 add r3, r2 80716ee: 005b lsls r3, r3, #1 80716f0: 1aca subs r2, r1, r3 80716f2: b2d3 uxtb r3, r2 80716f4: 3330 adds r3, #48 ; 0x30 80716f6: b2da uxtb r2, r3 80716f8: f507 733b add.w r3, r7, #748 ; 0x2ec 80716fc: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 80716fe: f507 723b add.w r2, r7, #748 ; 0x2ec 8071702: 2301 movs r3, #1 8071704: 21e4 movs r1, #228 ; 0xe4 8071706: 2050 movs r0, #80 ; 0x50 8071708: f7e3 f848 bl 805479c f = (float32_t) l / 2; 807170c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8071710: ee07 3a90 vmov s15, r3 8071714: eeb8 7a67 vcvt.f32.u32 s14, s15 8071718: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 807171c: eec7 7a26 vdiv.f32 s15, s14, s13 8071720: f507 638b add.w r3, r7, #1112 ; 0x458 8071724: edc3 7a00 vstr s15, [r3] i = (uint32_t) (f + 0.5f); 8071728: f507 638b add.w r3, r7, #1112 ; 0x458 807172c: edd3 7a00 vldr s15, [r3] 8071730: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071734: ee77 7a87 vadd.f32 s15, s15, s14 8071738: eefc 7ae7 vcvt.u32.f32 s15, s15 807173c: ee17 3a90 vmov r3, s15 8071740: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 k = CmplxA_u32(i); 8071744: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8071748: 009a lsls r2, r3, #2 807174a: 4b4d ldr r3, [pc, #308] ; (8071880 ) 807174c: 4413 add r3, r2 807174e: 681b ldr r3, [r3, #0] 8071750: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8071754: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071758: 0e5b lsrs r3, r3, #25 807175a: 3b14 subs r3, #20 807175c: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8071760: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071764: 0d5b lsrs r3, r3, #21 8071766: f003 030f and.w r3, r3, #15 807176a: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 807176e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071772: 0c1b lsrs r3, r3, #16 8071774: f003 031f and.w r3, r3, #31 8071778: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 807177c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071780: 0adb lsrs r3, r3, #11 8071782: f003 031f and.w r3, r3, #31 8071786: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 807178a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807178e: 095b lsrs r3, r3, #5 8071790: f003 033f and.w r3, r3, #63 ; 0x3f 8071794: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8071798: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807179c: 005b lsls r3, r3, #1 807179e: f003 031f and.w r3, r3, #31 80717a2: 3301 adds r3, #1 80717a4: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 80717a8: f507 733b add.w r3, r7, #748 ; 0x2ec 80717ac: 223c movs r2, #60 ; 0x3c 80717ae: 2100 movs r1, #0 80717b0: 4618 mov r0, r3 80717b2: f05f fdf5 bl 80d13a0 str[0] = (Day / 10) + 48; 80717b6: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 80717ba: 4a32 ldr r2, [pc, #200] ; (8071884 ) 80717bc: fba2 2303 umull r2, r3, r2, r3 80717c0: 08db lsrs r3, r3, #3 80717c2: b2db uxtb r3, r3 80717c4: 3330 adds r3, #48 ; 0x30 80717c6: b2da uxtb r2, r3 80717c8: f507 733b add.w r3, r7, #748 ; 0x2ec 80717cc: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 80717ce: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 80717d2: 4b2c ldr r3, [pc, #176] ; (8071884 ) 80717d4: fba3 2301 umull r2, r3, r3, r1 80717d8: 08da lsrs r2, r3, #3 80717da: 4613 mov r3, r2 80717dc: 009b lsls r3, r3, #2 80717de: 4413 add r3, r2 80717e0: 005b lsls r3, r3, #1 80717e2: 1aca subs r2, r1, r3 80717e4: b2d3 uxtb r3, r2 80717e6: 3330 adds r3, #48 ; 0x30 80717e8: b2da uxtb r2, r3 80717ea: f507 733b add.w r3, r7, #748 ; 0x2ec 80717ee: 705a strb r2, [r3, #1] str[2] = '.'; 80717f0: f507 733b add.w r3, r7, #748 ; 0x2ec 80717f4: 222e movs r2, #46 ; 0x2e 80717f6: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 80717f8: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 80717fc: 4a21 ldr r2, [pc, #132] ; (8071884 ) 80717fe: fba2 2303 umull r2, r3, r2, r3 8071802: 08db lsrs r3, r3, #3 8071804: b2db uxtb r3, r3 8071806: 3330 adds r3, #48 ; 0x30 8071808: b2da uxtb r2, r3 807180a: f507 733b add.w r3, r7, #748 ; 0x2ec 807180e: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8071810: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8071814: 4b1b ldr r3, [pc, #108] ; (8071884 ) 8071816: fba3 2301 umull r2, r3, r3, r1 807181a: 08da lsrs r2, r3, #3 807181c: 4613 mov r3, r2 807181e: 009b lsls r3, r3, #2 8071820: 4413 add r3, r2 8071822: 005b lsls r3, r3, #1 8071824: 1aca subs r2, r1, r3 8071826: b2d3 uxtb r3, r2 8071828: 3330 adds r3, #48 ; 0x30 807182a: b2da uxtb r2, r3 807182c: f507 733b add.w r3, r7, #748 ; 0x2ec 8071830: 711a strb r2, [r3, #4] str[5] = '.'; 8071832: f507 733b add.w r3, r7, #748 ; 0x2ec 8071836: 222e movs r2, #46 ; 0x2e 8071838: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 807183a: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 807183e: 4a11 ldr r2, [pc, #68] ; (8071884 ) 8071840: fba2 2303 umull r2, r3, r2, r3 8071844: 08db lsrs r3, r3, #3 8071846: b2db uxtb r3, r3 8071848: 3330 adds r3, #48 ; 0x30 807184a: b2da uxtb r2, r3 807184c: f507 733b add.w r3, r7, #748 ; 0x2ec 8071850: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8071852: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8071856: 4b0b ldr r3, [pc, #44] ; (8071884 ) 8071858: fba3 2301 umull r2, r3, r3, r1 807185c: 08da lsrs r2, r3, #3 807185e: 4613 mov r3, r2 8071860: 009b lsls r3, r3, #2 8071862: 4413 add r3, r2 8071864: 005b lsls r3, r3, #1 8071866: 1aca subs r2, r1, r3 8071868: b2d3 uxtb r3, r2 807186a: 3330 adds r3, #48 ; 0x30 807186c: b2da uxtb r2, r3 807186e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071872: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 8071874: f507 723b add.w r2, r7, #748 ; 0x2ec 8071878: 2301 movs r3, #1 807187a: 21dc movs r1, #220 ; 0xdc 807187c: e004 b.n 8071888 807187e: bf00 nop 8071880: 64090000 .word 0x64090000 8071884: cccccccd .word 0xcccccccd 8071888: 20be movs r0, #190 ; 0xbe 807188a: f7e2 ff87 bl 805479c memset(str, 0, sizeof(str)); 807188e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071892: 223c movs r2, #60 ; 0x3c 8071894: 2100 movs r1, #0 8071896: 4618 mov r0, r3 8071898: f05f fd82 bl 80d13a0 str[0] = (Hour / 10) + 48; 807189c: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 80718a0: 4abe ldr r2, [pc, #760] ; (8071b9c ) 80718a2: fba2 2303 umull r2, r3, r2, r3 80718a6: 08db lsrs r3, r3, #3 80718a8: b2db uxtb r3, r3 80718aa: 3330 adds r3, #48 ; 0x30 80718ac: b2da uxtb r2, r3 80718ae: f507 733b add.w r3, r7, #748 ; 0x2ec 80718b2: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 80718b4: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 80718b8: 4bb8 ldr r3, [pc, #736] ; (8071b9c ) 80718ba: fba3 2301 umull r2, r3, r3, r1 80718be: 08da lsrs r2, r3, #3 80718c0: 4613 mov r3, r2 80718c2: 009b lsls r3, r3, #2 80718c4: 4413 add r3, r2 80718c6: 005b lsls r3, r3, #1 80718c8: 1aca subs r2, r1, r3 80718ca: b2d3 uxtb r3, r2 80718cc: 3330 adds r3, #48 ; 0x30 80718ce: b2da uxtb r2, r3 80718d0: f507 733b add.w r3, r7, #748 ; 0x2ec 80718d4: 705a strb r2, [r3, #1] str[2] = ':'; 80718d6: f507 733b add.w r3, r7, #748 ; 0x2ec 80718da: 223a movs r2, #58 ; 0x3a 80718dc: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 80718de: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 80718e2: 4aae ldr r2, [pc, #696] ; (8071b9c ) 80718e4: fba2 2303 umull r2, r3, r2, r3 80718e8: 08db lsrs r3, r3, #3 80718ea: b2db uxtb r3, r3 80718ec: 3330 adds r3, #48 ; 0x30 80718ee: b2da uxtb r2, r3 80718f0: f507 733b add.w r3, r7, #748 ; 0x2ec 80718f4: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 80718f6: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 80718fa: 4ba8 ldr r3, [pc, #672] ; (8071b9c ) 80718fc: fba3 2301 umull r2, r3, r3, r1 8071900: 08da lsrs r2, r3, #3 8071902: 4613 mov r3, r2 8071904: 009b lsls r3, r3, #2 8071906: 4413 add r3, r2 8071908: 005b lsls r3, r3, #1 807190a: 1aca subs r2, r1, r3 807190c: b2d3 uxtb r3, r2 807190e: 3330 adds r3, #48 ; 0x30 8071910: b2da uxtb r2, r3 8071912: f507 733b add.w r3, r7, #748 ; 0x2ec 8071916: 711a strb r2, [r3, #4] str[5] = ':'; 8071918: f507 733b add.w r3, r7, #748 ; 0x2ec 807191c: 223a movs r2, #58 ; 0x3a 807191e: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8071920: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8071924: 4a9d ldr r2, [pc, #628] ; (8071b9c ) 8071926: fba2 2303 umull r2, r3, r2, r3 807192a: 08db lsrs r3, r3, #3 807192c: b2db uxtb r3, r3 807192e: 3330 adds r3, #48 ; 0x30 8071930: b2da uxtb r2, r3 8071932: f507 733b add.w r3, r7, #748 ; 0x2ec 8071936: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8071938: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 807193c: 4b97 ldr r3, [pc, #604] ; (8071b9c ) 807193e: fba3 2301 umull r2, r3, r3, r1 8071942: 08da lsrs r2, r3, #3 8071944: 4613 mov r3, r2 8071946: 009b lsls r3, r3, #2 8071948: 4413 add r3, r2 807194a: 005b lsls r3, r3, #1 807194c: 1aca subs r2, r1, r3 807194e: b2d3 uxtb r3, r2 8071950: 3330 adds r3, #48 ; 0x30 8071952: b2da uxtb r2, r3 8071954: f507 733b add.w r3, r7, #748 ; 0x2ec 8071958: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 807195a: f507 723b add.w r2, r7, #748 ; 0x2ec 807195e: 2301 movs r3, #1 8071960: 21e4 movs r1, #228 ; 0xe4 8071962: 20be movs r0, #190 ; 0xbe 8071964: f7e2 ff1a bl 805479c k = CmplxA_u32(l - 1); 8071968: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 807196c: 3b01 subs r3, #1 807196e: 009a lsls r2, r3, #2 8071970: 4b8b ldr r3, [pc, #556] ; (8071ba0 ) 8071972: 4413 add r3, r2 8071974: 681b ldr r3, [r3, #0] 8071976: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 807197a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807197e: 0e5b lsrs r3, r3, #25 8071980: 3b14 subs r3, #20 8071982: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8071986: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807198a: 0d5b lsrs r3, r3, #21 807198c: f003 030f and.w r3, r3, #15 8071990: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8071994: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8071998: 0c1b lsrs r3, r3, #16 807199a: f003 031f and.w r3, r3, #31 807199e: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 80719a2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80719a6: 0adb lsrs r3, r3, #11 80719a8: f003 031f and.w r3, r3, #31 80719ac: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 80719b0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80719b4: 095b lsrs r3, r3, #5 80719b6: f003 033f and.w r3, r3, #63 ; 0x3f 80719ba: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 80719be: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80719c2: 005b lsls r3, r3, #1 80719c4: f003 031f and.w r3, r3, #31 80719c8: 3301 adds r3, #1 80719ca: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 80719ce: f507 733b add.w r3, r7, #748 ; 0x2ec 80719d2: 223c movs r2, #60 ; 0x3c 80719d4: 2100 movs r1, #0 80719d6: 4618 mov r0, r3 80719d8: f05f fce2 bl 80d13a0 str[0] = (Day / 10) + 48; 80719dc: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 80719e0: 4a6e ldr r2, [pc, #440] ; (8071b9c ) 80719e2: fba2 2303 umull r2, r3, r2, r3 80719e6: 08db lsrs r3, r3, #3 80719e8: b2db uxtb r3, r3 80719ea: 3330 adds r3, #48 ; 0x30 80719ec: b2da uxtb r2, r3 80719ee: f507 733b add.w r3, r7, #748 ; 0x2ec 80719f2: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 80719f4: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 80719f8: 4b68 ldr r3, [pc, #416] ; (8071b9c ) 80719fa: fba3 2301 umull r2, r3, r3, r1 80719fe: 08da lsrs r2, r3, #3 8071a00: 4613 mov r3, r2 8071a02: 009b lsls r3, r3, #2 8071a04: 4413 add r3, r2 8071a06: 005b lsls r3, r3, #1 8071a08: 1aca subs r2, r1, r3 8071a0a: b2d3 uxtb r3, r2 8071a0c: 3330 adds r3, #48 ; 0x30 8071a0e: b2da uxtb r2, r3 8071a10: f507 733b add.w r3, r7, #748 ; 0x2ec 8071a14: 705a strb r2, [r3, #1] str[2] = '.'; 8071a16: f507 733b add.w r3, r7, #748 ; 0x2ec 8071a1a: 222e movs r2, #46 ; 0x2e 8071a1c: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8071a1e: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8071a22: 4a5e ldr r2, [pc, #376] ; (8071b9c ) 8071a24: fba2 2303 umull r2, r3, r2, r3 8071a28: 08db lsrs r3, r3, #3 8071a2a: b2db uxtb r3, r3 8071a2c: 3330 adds r3, #48 ; 0x30 8071a2e: b2da uxtb r2, r3 8071a30: f507 733b add.w r3, r7, #748 ; 0x2ec 8071a34: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8071a36: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8071a3a: 4b58 ldr r3, [pc, #352] ; (8071b9c ) 8071a3c: fba3 2301 umull r2, r3, r3, r1 8071a40: 08da lsrs r2, r3, #3 8071a42: 4613 mov r3, r2 8071a44: 009b lsls r3, r3, #2 8071a46: 4413 add r3, r2 8071a48: 005b lsls r3, r3, #1 8071a4a: 1aca subs r2, r1, r3 8071a4c: b2d3 uxtb r3, r2 8071a4e: 3330 adds r3, #48 ; 0x30 8071a50: b2da uxtb r2, r3 8071a52: f507 733b add.w r3, r7, #748 ; 0x2ec 8071a56: 711a strb r2, [r3, #4] str[5] = '.'; 8071a58: f507 733b add.w r3, r7, #748 ; 0x2ec 8071a5c: 222e movs r2, #46 ; 0x2e 8071a5e: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8071a60: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8071a64: 4a4d ldr r2, [pc, #308] ; (8071b9c ) 8071a66: fba2 2303 umull r2, r3, r2, r3 8071a6a: 08db lsrs r3, r3, #3 8071a6c: b2db uxtb r3, r3 8071a6e: 3330 adds r3, #48 ; 0x30 8071a70: b2da uxtb r2, r3 8071a72: f507 733b add.w r3, r7, #748 ; 0x2ec 8071a76: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8071a78: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8071a7c: 4b47 ldr r3, [pc, #284] ; (8071b9c ) 8071a7e: fba3 2301 umull r2, r3, r3, r1 8071a82: 08da lsrs r2, r3, #3 8071a84: 4613 mov r3, r2 8071a86: 009b lsls r3, r3, #2 8071a88: 4413 add r3, r2 8071a8a: 005b lsls r3, r3, #1 8071a8c: 1aca subs r2, r1, r3 8071a8e: b2d3 uxtb r3, r2 8071a90: 3330 adds r3, #48 ; 0x30 8071a92: b2da uxtb r2, r3 8071a94: f507 733b add.w r3, r7, #748 ; 0x2ec 8071a98: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 8071a9a: f507 723b add.w r2, r7, #748 ; 0x2ec 8071a9e: 2301 movs r3, #1 8071aa0: 21dc movs r1, #220 ; 0xdc 8071aa2: f44f 7095 mov.w r0, #298 ; 0x12a 8071aa6: f7e2 fe79 bl 805479c memset(str, 0, sizeof(str)); 8071aaa: f507 733b add.w r3, r7, #748 ; 0x2ec 8071aae: 223c movs r2, #60 ; 0x3c 8071ab0: 2100 movs r1, #0 8071ab2: 4618 mov r0, r3 8071ab4: f05f fc74 bl 80d13a0 str[0] = (Hour / 10) + 48; 8071ab8: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8071abc: 4a37 ldr r2, [pc, #220] ; (8071b9c ) 8071abe: fba2 2303 umull r2, r3, r2, r3 8071ac2: 08db lsrs r3, r3, #3 8071ac4: b2db uxtb r3, r3 8071ac6: 3330 adds r3, #48 ; 0x30 8071ac8: b2da uxtb r2, r3 8071aca: f507 733b add.w r3, r7, #748 ; 0x2ec 8071ace: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8071ad0: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8071ad4: 4b31 ldr r3, [pc, #196] ; (8071b9c ) 8071ad6: fba3 2301 umull r2, r3, r3, r1 8071ada: 08da lsrs r2, r3, #3 8071adc: 4613 mov r3, r2 8071ade: 009b lsls r3, r3, #2 8071ae0: 4413 add r3, r2 8071ae2: 005b lsls r3, r3, #1 8071ae4: 1aca subs r2, r1, r3 8071ae6: b2d3 uxtb r3, r2 8071ae8: 3330 adds r3, #48 ; 0x30 8071aea: b2da uxtb r2, r3 8071aec: f507 733b add.w r3, r7, #748 ; 0x2ec 8071af0: 705a strb r2, [r3, #1] str[2] = ':'; 8071af2: f507 733b add.w r3, r7, #748 ; 0x2ec 8071af6: 223a movs r2, #58 ; 0x3a 8071af8: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8071afa: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8071afe: 4a27 ldr r2, [pc, #156] ; (8071b9c ) 8071b00: fba2 2303 umull r2, r3, r2, r3 8071b04: 08db lsrs r3, r3, #3 8071b06: b2db uxtb r3, r3 8071b08: 3330 adds r3, #48 ; 0x30 8071b0a: b2da uxtb r2, r3 8071b0c: f507 733b add.w r3, r7, #748 ; 0x2ec 8071b10: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8071b12: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8071b16: 4b21 ldr r3, [pc, #132] ; (8071b9c ) 8071b18: fba3 2301 umull r2, r3, r3, r1 8071b1c: 08da lsrs r2, r3, #3 8071b1e: 4613 mov r3, r2 8071b20: 009b lsls r3, r3, #2 8071b22: 4413 add r3, r2 8071b24: 005b lsls r3, r3, #1 8071b26: 1aca subs r2, r1, r3 8071b28: b2d3 uxtb r3, r2 8071b2a: 3330 adds r3, #48 ; 0x30 8071b2c: b2da uxtb r2, r3 8071b2e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071b32: 711a strb r2, [r3, #4] str[5] = ':'; 8071b34: f507 733b add.w r3, r7, #748 ; 0x2ec 8071b38: 223a movs r2, #58 ; 0x3a 8071b3a: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8071b3c: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8071b40: 4a16 ldr r2, [pc, #88] ; (8071b9c ) 8071b42: fba2 2303 umull r2, r3, r2, r3 8071b46: 08db lsrs r3, r3, #3 8071b48: b2db uxtb r3, r3 8071b4a: 3330 adds r3, #48 ; 0x30 8071b4c: b2da uxtb r2, r3 8071b4e: f507 733b add.w r3, r7, #748 ; 0x2ec 8071b52: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8071b54: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8071b58: 4b10 ldr r3, [pc, #64] ; (8071b9c ) 8071b5a: fba3 2301 umull r2, r3, r3, r1 8071b5e: 08da lsrs r2, r3, #3 8071b60: 4613 mov r3, r2 8071b62: 009b lsls r3, r3, #2 8071b64: 4413 add r3, r2 8071b66: 005b lsls r3, r3, #1 8071b68: 1aca subs r2, r1, r3 8071b6a: b2d3 uxtb r3, r2 8071b6c: 3330 adds r3, #48 ; 0x30 8071b6e: b2da uxtb r2, r3 8071b70: f507 733b add.w r3, r7, #748 ; 0x2ec 8071b74: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 8071b76: f507 723b add.w r2, r7, #748 ; 0x2ec 8071b7a: 2301 movs r3, #1 8071b7c: 21e4 movs r1, #228 ; 0xe4 8071b7e: f44f 7095 mov.w r0, #298 ; 0x12a 8071b82: f7e2 fe0b bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8071b86: 4907 ldr r1, [pc, #28] ; (8071ba4 ) 8071b88: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8071b8c: f7e2 fd40 bl 8054610 for(i = 0; i < l; i++) 8071b90: 2300 movs r3, #0 8071b92: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8071b96: f000 bf45 b.w 8072a24 8071b9a: bf00 nop 8071b9c: cccccccd .word 0xcccccccd 8071ba0: 64090000 .word 0x64090000 8071ba4: ff0a0f1f .word 0xff0a0f1f f = ScrA_f32(i); 8071ba8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8071bac: 009a lsls r2, r3, #2 8071bae: 4bf1 ldr r3, [pc, #964] ; (8071f74 ) 8071bb0: 4413 add r3, r2 8071bb2: 681b ldr r3, [r3, #0] 8071bb4: f507 628b add.w r2, r7, #1112 ; 0x458 8071bb8: 6013 str r3, [r2, #0] if(fmax <= 100.0f) ///////// 8071bba: f207 434c addw r3, r7, #1100 ; 0x44c 8071bbe: edd3 7a00 vldr s15, [r3] 8071bc2: ed9f 7af3 vldr s14, [pc, #972] ; 8071f90 8071bc6: eef4 7ac7 vcmpe.f32 s15, s14 8071bca: eef1 fa10 vmrs APSR_nzcv, fpscr 8071bce: f200 8111 bhi.w 8071df4 if(f <= 0.001f) 8071bd2: f507 638b add.w r3, r7, #1112 ; 0x458 8071bd6: edd3 7a00 vldr s15, [r3] 8071bda: ed9f 7ae7 vldr s14, [pc, #924] ; 8071f78 8071bde: eef4 7ac7 vcmpe.f32 s15, s14 8071be2: eef1 fa10 vmrs APSR_nzcv, fpscr 8071be6: d822 bhi.n 8071c2e f = (25 * f / 0.001f) + 0.5f; 8071be8: f507 638b add.w r3, r7, #1112 ; 0x458 8071bec: edd3 7a00 vldr s15, [r3] 8071bf0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071bf4: ee27 7a87 vmul.f32 s14, s15, s14 8071bf8: eddf 6adf vldr s13, [pc, #892] ; 8071f78 8071bfc: eec7 7a26 vdiv.f32 s15, s14, s13 8071c00: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071c04: ee77 7a87 vadd.f32 s15, s15, s14 8071c08: f507 638b add.w r3, r7, #1112 ; 0x458 8071c0c: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8071c10: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8071c14: f507 628b add.w r2, r7, #1112 ; 0x458 8071c18: edd2 7a00 vldr s15, [r2] 8071c1c: eefc 7ae7 vcvt.u32.f32 s15, s15 8071c20: ee17 2a90 vmov r2, s15 8071c24: 1a9b subs r3, r3, r2 8071c26: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071c2a: f000 be82 b.w 8072932 if(f <= 0.01f) 8071c2e: f507 638b add.w r3, r7, #1112 ; 0x458 8071c32: edd3 7a00 vldr s15, [r3] 8071c36: ed9f 7ad1 vldr s14, [pc, #836] ; 8071f7c 8071c3a: eef4 7ac7 vcmpe.f32 s15, s14 8071c3e: eef1 fa10 vmrs APSR_nzcv, fpscr 8071c42: d822 bhi.n 8071c8a f = (25 * f / 0.01f) + 0.5f; 8071c44: f507 638b add.w r3, r7, #1112 ; 0x458 8071c48: edd3 7a00 vldr s15, [r3] 8071c4c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071c50: ee27 7a87 vmul.f32 s14, s15, s14 8071c54: eddf 6ac9 vldr s13, [pc, #804] ; 8071f7c 8071c58: eec7 7a26 vdiv.f32 s15, s14, s13 8071c5c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071c60: ee77 7a87 vadd.f32 s15, s15, s14 8071c64: f507 638b add.w r3, r7, #1112 ; 0x458 8071c68: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8071c6c: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8071c70: f507 628b add.w r2, r7, #1112 ; 0x458 8071c74: edd2 7a00 vldr s15, [r2] 8071c78: eefc 7ae7 vcvt.u32.f32 s15, s15 8071c7c: ee17 2a90 vmov r2, s15 8071c80: 1a9b subs r3, r3, r2 8071c82: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071c86: f000 be54 b.w 8072932 if(f <= 0.1f) 8071c8a: f507 638b add.w r3, r7, #1112 ; 0x458 8071c8e: edd3 7a00 vldr s15, [r3] 8071c92: ed9f 7abb vldr s14, [pc, #748] ; 8071f80 8071c96: eef4 7ac7 vcmpe.f32 s15, s14 8071c9a: eef1 fa10 vmrs APSR_nzcv, fpscr 8071c9e: d822 bhi.n 8071ce6 f = (25 * f / 0.1f) + 0.5f; 8071ca0: f507 638b add.w r3, r7, #1112 ; 0x458 8071ca4: edd3 7a00 vldr s15, [r3] 8071ca8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071cac: ee27 7a87 vmul.f32 s14, s15, s14 8071cb0: eddf 6ab3 vldr s13, [pc, #716] ; 8071f80 8071cb4: eec7 7a26 vdiv.f32 s15, s14, s13 8071cb8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071cbc: ee77 7a87 vadd.f32 s15, s15, s14 8071cc0: f507 638b add.w r3, r7, #1112 ; 0x458 8071cc4: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8071cc8: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8071ccc: f507 628b add.w r2, r7, #1112 ; 0x458 8071cd0: edd2 7a00 vldr s15, [r2] 8071cd4: eefc 7ae7 vcvt.u32.f32 s15, s15 8071cd8: ee17 2a90 vmov r2, s15 8071cdc: 1a9b subs r3, r3, r2 8071cde: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071ce2: f000 be26 b.w 8072932 if(f <= 1.0f) 8071ce6: f507 638b add.w r3, r7, #1112 ; 0x458 8071cea: edd3 7a00 vldr s15, [r3] 8071cee: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8071cf2: eef4 7ac7 vcmpe.f32 s15, s14 8071cf6: eef1 fa10 vmrs APSR_nzcv, fpscr 8071cfa: d81e bhi.n 8071d3a f = (25 * f / 1.0f) + 0.5f; 8071cfc: f507 638b add.w r3, r7, #1112 ; 0x458 8071d00: edd3 7a00 vldr s15, [r3] 8071d04: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071d08: ee67 7a87 vmul.f32 s15, s15, s14 8071d0c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071d10: ee77 7a87 vadd.f32 s15, s15, s14 8071d14: f507 638b add.w r3, r7, #1112 ; 0x458 8071d18: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8071d1c: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8071d20: f507 628b add.w r2, r7, #1112 ; 0x458 8071d24: edd2 7a00 vldr s15, [r2] 8071d28: eefc 7ae7 vcvt.u32.f32 s15, s15 8071d2c: ee17 2a90 vmov r2, s15 8071d30: 1a9b subs r3, r3, r2 8071d32: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071d36: f000 bdfc b.w 8072932 if(f <= 10.0f) 8071d3a: f507 638b add.w r3, r7, #1112 ; 0x458 8071d3e: edd3 7a00 vldr s15, [r3] 8071d42: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8071d46: eef4 7ac7 vcmpe.f32 s15, s14 8071d4a: eef1 fa10 vmrs APSR_nzcv, fpscr 8071d4e: d822 bhi.n 8071d96 f = (25 * f / 10.0f) + 0.5f; 8071d50: f507 638b add.w r3, r7, #1112 ; 0x458 8071d54: edd3 7a00 vldr s15, [r3] 8071d58: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071d5c: ee27 7a87 vmul.f32 s14, s15, s14 8071d60: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8071d64: eec7 7a26 vdiv.f32 s15, s14, s13 8071d68: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071d6c: ee77 7a87 vadd.f32 s15, s15, s14 8071d70: f507 638b add.w r3, r7, #1112 ; 0x458 8071d74: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 8071d78: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8071d7c: f507 628b add.w r2, r7, #1112 ; 0x458 8071d80: edd2 7a00 vldr s15, [r2] 8071d84: eefc 7ae7 vcvt.u32.f32 s15, s15 8071d88: ee17 2a90 vmov r2, s15 8071d8c: 1a9b subs r3, r3, r2 8071d8e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071d92: f000 bdce b.w 8072932 if(f <= 100.0f) 8071d96: f507 638b add.w r3, r7, #1112 ; 0x458 8071d9a: edd3 7a00 vldr s15, [r3] 8071d9e: ed9f 7a7c vldr s14, [pc, #496] ; 8071f90 8071da2: eef4 7ac7 vcmpe.f32 s15, s14 8071da6: eef1 fa10 vmrs APSR_nzcv, fpscr 8071daa: f200 85c2 bhi.w 8072932 f = (25 * f / 100.0f) + 0.5f; 8071dae: f507 638b add.w r3, r7, #1112 ; 0x458 8071db2: edd3 7a00 vldr s15, [r3] 8071db6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071dba: ee27 7a87 vmul.f32 s14, s15, s14 8071dbe: eddf 6a74 vldr s13, [pc, #464] ; 8071f90 8071dc2: eec7 7a26 vdiv.f32 s15, s14, s13 8071dc6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071dca: ee77 7a87 vadd.f32 s15, s15, s14 8071dce: f507 638b add.w r3, r7, #1112 ; 0x458 8071dd2: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8071dd6: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8071dda: f507 628b add.w r2, r7, #1112 ; 0x458 8071dde: edd2 7a00 vldr s15, [r2] 8071de2: eefc 7ae7 vcvt.u32.f32 s15, s15 8071de6: ee17 2a90 vmov r2, s15 8071dea: 1a9b subs r3, r3, r2 8071dec: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071df0: f000 bd9f b.w 8072932 if(fmax <= 1000.0f) ///////// 8071df4: f207 434c addw r3, r7, #1100 ; 0x44c 8071df8: edd3 7a00 vldr s15, [r3] 8071dfc: ed9f 7a61 vldr s14, [pc, #388] ; 8071f84 8071e00: eef4 7ac7 vcmpe.f32 s15, s14 8071e04: eef1 fa10 vmrs APSR_nzcv, fpscr 8071e08: f200 8121 bhi.w 807204e if(f <= 0.01f) 8071e0c: f507 638b add.w r3, r7, #1112 ; 0x458 8071e10: edd3 7a00 vldr s15, [r3] 8071e14: ed9f 7a59 vldr s14, [pc, #356] ; 8071f7c 8071e18: eef4 7ac7 vcmpe.f32 s15, s14 8071e1c: eef1 fa10 vmrs APSR_nzcv, fpscr 8071e20: d822 bhi.n 8071e68 f = (25 * f / 0.01f) + 0.5f; 8071e22: f507 638b add.w r3, r7, #1112 ; 0x458 8071e26: edd3 7a00 vldr s15, [r3] 8071e2a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071e2e: ee27 7a87 vmul.f32 s14, s15, s14 8071e32: eddf 6a52 vldr s13, [pc, #328] ; 8071f7c 8071e36: eec7 7a26 vdiv.f32 s15, s14, s13 8071e3a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071e3e: ee77 7a87 vadd.f32 s15, s15, s14 8071e42: f507 638b add.w r3, r7, #1112 ; 0x458 8071e46: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8071e4a: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8071e4e: f507 628b add.w r2, r7, #1112 ; 0x458 8071e52: edd2 7a00 vldr s15, [r2] 8071e56: eefc 7ae7 vcvt.u32.f32 s15, s15 8071e5a: ee17 2a90 vmov r2, s15 8071e5e: 1a9b subs r3, r3, r2 8071e60: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071e64: f000 bd65 b.w 8072932 if(f <= 0.1f) 8071e68: f507 638b add.w r3, r7, #1112 ; 0x458 8071e6c: edd3 7a00 vldr s15, [r3] 8071e70: ed9f 7a43 vldr s14, [pc, #268] ; 8071f80 8071e74: eef4 7ac7 vcmpe.f32 s15, s14 8071e78: eef1 fa10 vmrs APSR_nzcv, fpscr 8071e7c: d822 bhi.n 8071ec4 f = (25 * f / 0.1f) + 0.5f; 8071e7e: f507 638b add.w r3, r7, #1112 ; 0x458 8071e82: edd3 7a00 vldr s15, [r3] 8071e86: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071e8a: ee27 7a87 vmul.f32 s14, s15, s14 8071e8e: eddf 6a3c vldr s13, [pc, #240] ; 8071f80 8071e92: eec7 7a26 vdiv.f32 s15, s14, s13 8071e96: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071e9a: ee77 7a87 vadd.f32 s15, s15, s14 8071e9e: f507 638b add.w r3, r7, #1112 ; 0x458 8071ea2: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8071ea6: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8071eaa: f507 628b add.w r2, r7, #1112 ; 0x458 8071eae: edd2 7a00 vldr s15, [r2] 8071eb2: eefc 7ae7 vcvt.u32.f32 s15, s15 8071eb6: ee17 2a90 vmov r2, s15 8071eba: 1a9b subs r3, r3, r2 8071ebc: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071ec0: f000 bd37 b.w 8072932 if(f <= 1.0f) 8071ec4: f507 638b add.w r3, r7, #1112 ; 0x458 8071ec8: edd3 7a00 vldr s15, [r3] 8071ecc: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8071ed0: eef4 7ac7 vcmpe.f32 s15, s14 8071ed4: eef1 fa10 vmrs APSR_nzcv, fpscr 8071ed8: d81e bhi.n 8071f18 f = (25 * f / 1.0f) + 0.5f; 8071eda: f507 638b add.w r3, r7, #1112 ; 0x458 8071ede: edd3 7a00 vldr s15, [r3] 8071ee2: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071ee6: ee67 7a87 vmul.f32 s15, s15, s14 8071eea: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071eee: ee77 7a87 vadd.f32 s15, s15, s14 8071ef2: f507 638b add.w r3, r7, #1112 ; 0x458 8071ef6: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8071efa: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8071efe: f507 628b add.w r2, r7, #1112 ; 0x458 8071f02: edd2 7a00 vldr s15, [r2] 8071f06: eefc 7ae7 vcvt.u32.f32 s15, s15 8071f0a: ee17 2a90 vmov r2, s15 8071f0e: 1a9b subs r3, r3, r2 8071f10: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071f14: f000 bd0d b.w 8072932 if(f <= 10.0f) 8071f18: f507 638b add.w r3, r7, #1112 ; 0x458 8071f1c: edd3 7a00 vldr s15, [r3] 8071f20: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8071f24: eef4 7ac7 vcmpe.f32 s15, s14 8071f28: eef1 fa10 vmrs APSR_nzcv, fpscr 8071f2c: d832 bhi.n 8071f94 f = (25 * f / 10.0f) + 0.5f; 8071f2e: f507 638b add.w r3, r7, #1112 ; 0x458 8071f32: edd3 7a00 vldr s15, [r3] 8071f36: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071f3a: ee27 7a87 vmul.f32 s14, s15, s14 8071f3e: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8071f42: eec7 7a26 vdiv.f32 s15, s14, s13 8071f46: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071f4a: ee77 7a87 vadd.f32 s15, s15, s14 8071f4e: f507 638b add.w r3, r7, #1112 ; 0x458 8071f52: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8071f56: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8071f5a: f507 628b add.w r2, r7, #1112 ; 0x458 8071f5e: edd2 7a00 vldr s15, [r2] 8071f62: eefc 7ae7 vcvt.u32.f32 s15, s15 8071f66: ee17 2a90 vmov r2, s15 8071f6a: 1a9b subs r3, r3, r2 8071f6c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071f70: f000 bcdf b.w 8072932 8071f74: 64080000 .word 0x64080000 8071f78: 3a83126f .word 0x3a83126f 8071f7c: 3c23d70a .word 0x3c23d70a 8071f80: 3dcccccd .word 0x3dcccccd 8071f84: 447a0000 .word 0x447a0000 8071f88: 461c4000 .word 0x461c4000 8071f8c: 47c35000 .word 0x47c35000 8071f90: 42c80000 .word 0x42c80000 if(f <= 100.0f) 8071f94: f507 638b add.w r3, r7, #1112 ; 0x458 8071f98: edd3 7a00 vldr s15, [r3] 8071f9c: ed1f 7a04 vldr s14, [pc, #-16] ; 8071f90 8071fa0: eef4 7ac7 vcmpe.f32 s15, s14 8071fa4: eef1 fa10 vmrs APSR_nzcv, fpscr 8071fa8: d822 bhi.n 8071ff0 f = (25 * f / 100.0f) + 0.5f; 8071faa: f507 638b add.w r3, r7, #1112 ; 0x458 8071fae: edd3 7a00 vldr s15, [r3] 8071fb2: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071fb6: ee27 7a87 vmul.f32 s14, s15, s14 8071fba: ed5f 6a0b vldr s13, [pc, #-44] ; 8071f90 8071fbe: eec7 7a26 vdiv.f32 s15, s14, s13 8071fc2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071fc6: ee77 7a87 vadd.f32 s15, s15, s14 8071fca: f507 638b add.w r3, r7, #1112 ; 0x458 8071fce: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 8071fd2: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8071fd6: f507 628b add.w r2, r7, #1112 ; 0x458 8071fda: edd2 7a00 vldr s15, [r2] 8071fde: eefc 7ae7 vcvt.u32.f32 s15, s15 8071fe2: ee17 2a90 vmov r2, s15 8071fe6: 1a9b subs r3, r3, r2 8071fe8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071fec: f000 bca1 b.w 8072932 if(f <= 1000.0f) 8071ff0: f507 638b add.w r3, r7, #1112 ; 0x458 8071ff4: edd3 7a00 vldr s15, [r3] 8071ff8: ed1f 7a1e vldr s14, [pc, #-120] ; 8071f84 8071ffc: eef4 7ac7 vcmpe.f32 s15, s14 8072000: eef1 fa10 vmrs APSR_nzcv, fpscr 8072004: f200 8495 bhi.w 8072932 f = (25 * f / 1000.0f) + 0.5f; 8072008: f507 638b add.w r3, r7, #1112 ; 0x458 807200c: edd3 7a00 vldr s15, [r3] 8072010: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072014: ee27 7a87 vmul.f32 s14, s15, s14 8072018: ed5f 6a26 vldr s13, [pc, #-152] ; 8071f84 807201c: eec7 7a26 vdiv.f32 s15, s14, s13 8072020: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072024: ee77 7a87 vadd.f32 s15, s15, s14 8072028: f507 638b add.w r3, r7, #1112 ; 0x458 807202c: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8072030: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8072034: f507 628b add.w r2, r7, #1112 ; 0x458 8072038: edd2 7a00 vldr s15, [r2] 807203c: eefc 7ae7 vcvt.u32.f32 s15, s15 8072040: ee17 2a90 vmov r2, s15 8072044: 1a9b subs r3, r3, r2 8072046: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807204a: f000 bc72 b.w 8072932 if(fmax <= 10000.0f) ///////// 807204e: f207 434c addw r3, r7, #1100 ; 0x44c 8072052: edd3 7a00 vldr s15, [r3] 8072056: ed1f 7a34 vldr s14, [pc, #-208] ; 8071f88 807205a: eef4 7ac7 vcmpe.f32 s15, s14 807205e: eef1 fa10 vmrs APSR_nzcv, fpscr 8072062: f200 810d bhi.w 8072280 if(f <= 0.1f) 8072066: f507 638b add.w r3, r7, #1112 ; 0x458 807206a: edd3 7a00 vldr s15, [r3] 807206e: ed1f 7a3c vldr s14, [pc, #-240] ; 8071f80 8072072: eef4 7ac7 vcmpe.f32 s15, s14 8072076: eef1 fa10 vmrs APSR_nzcv, fpscr 807207a: d822 bhi.n 80720c2 f = (25 * f / 0.1f) + 0.5f; 807207c: f507 638b add.w r3, r7, #1112 ; 0x458 8072080: edd3 7a00 vldr s15, [r3] 8072084: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072088: ee27 7a87 vmul.f32 s14, s15, s14 807208c: ed5f 6a44 vldr s13, [pc, #-272] ; 8071f80 8072090: eec7 7a26 vdiv.f32 s15, s14, s13 8072094: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072098: ee77 7a87 vadd.f32 s15, s15, s14 807209c: f507 638b add.w r3, r7, #1112 ; 0x458 80720a0: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 80720a4: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80720a8: f507 628b add.w r2, r7, #1112 ; 0x458 80720ac: edd2 7a00 vldr s15, [r2] 80720b0: eefc 7ae7 vcvt.u32.f32 s15, s15 80720b4: ee17 2a90 vmov r2, s15 80720b8: 1a9b subs r3, r3, r2 80720ba: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80720be: f000 bc38 b.w 8072932 if(f <= 1.0f) 80720c2: f507 638b add.w r3, r7, #1112 ; 0x458 80720c6: edd3 7a00 vldr s15, [r3] 80720ca: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80720ce: eef4 7ac7 vcmpe.f32 s15, s14 80720d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80720d6: d81e bhi.n 8072116 f = (25 * f / 1.0f) + 0.5f; 80720d8: f507 638b add.w r3, r7, #1112 ; 0x458 80720dc: edd3 7a00 vldr s15, [r3] 80720e0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80720e4: ee67 7a87 vmul.f32 s15, s15, s14 80720e8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80720ec: ee77 7a87 vadd.f32 s15, s15, s14 80720f0: f507 638b add.w r3, r7, #1112 ; 0x458 80720f4: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 80720f8: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80720fc: f507 628b add.w r2, r7, #1112 ; 0x458 8072100: edd2 7a00 vldr s15, [r2] 8072104: eefc 7ae7 vcvt.u32.f32 s15, s15 8072108: ee17 2a90 vmov r2, s15 807210c: 1a9b subs r3, r3, r2 807210e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072112: f000 bc0e b.w 8072932 if(f <= 10.0f) 8072116: f507 638b add.w r3, r7, #1112 ; 0x458 807211a: edd3 7a00 vldr s15, [r3] 807211e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8072122: eef4 7ac7 vcmpe.f32 s15, s14 8072126: eef1 fa10 vmrs APSR_nzcv, fpscr 807212a: d821 bhi.n 8072170 f = (25 * f / 10.0f) + 0.5f; 807212c: f507 638b add.w r3, r7, #1112 ; 0x458 8072130: edd3 7a00 vldr s15, [r3] 8072134: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072138: ee27 7a87 vmul.f32 s14, s15, s14 807213c: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8072140: eec7 7a26 vdiv.f32 s15, s14, s13 8072144: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072148: ee77 7a87 vadd.f32 s15, s15, s14 807214c: f507 638b add.w r3, r7, #1112 ; 0x458 8072150: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8072154: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8072158: f507 628b add.w r2, r7, #1112 ; 0x458 807215c: edd2 7a00 vldr s15, [r2] 8072160: eefc 7ae7 vcvt.u32.f32 s15, s15 8072164: ee17 2a90 vmov r2, s15 8072168: 1a9b subs r3, r3, r2 807216a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807216e: e3e0 b.n 8072932 if(f <= 100.0f) 8072170: f507 638b add.w r3, r7, #1112 ; 0x458 8072174: edd3 7a00 vldr s15, [r3] 8072178: ed1f 7a7b vldr s14, [pc, #-492] ; 8071f90 807217c: eef4 7ac7 vcmpe.f32 s15, s14 8072180: eef1 fa10 vmrs APSR_nzcv, fpscr 8072184: d821 bhi.n 80721ca f = (25 * f / 100.0f) + 0.5f; 8072186: f507 638b add.w r3, r7, #1112 ; 0x458 807218a: edd3 7a00 vldr s15, [r3] 807218e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072192: ee27 7a87 vmul.f32 s14, s15, s14 8072196: ed5f 6a82 vldr s13, [pc, #-520] ; 8071f90 807219a: eec7 7a26 vdiv.f32 s15, s14, s13 807219e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80721a2: ee77 7a87 vadd.f32 s15, s15, s14 80721a6: f507 638b add.w r3, r7, #1112 ; 0x458 80721aa: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 80721ae: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 80721b2: f507 628b add.w r2, r7, #1112 ; 0x458 80721b6: edd2 7a00 vldr s15, [r2] 80721ba: eefc 7ae7 vcvt.u32.f32 s15, s15 80721be: ee17 2a90 vmov r2, s15 80721c2: 1a9b subs r3, r3, r2 80721c4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80721c8: e3b3 b.n 8072932 if(f <= 1000.0f) 80721ca: f507 638b add.w r3, r7, #1112 ; 0x458 80721ce: edd3 7a00 vldr s15, [r3] 80721d2: ed1f 7a94 vldr s14, [pc, #-592] ; 8071f84 80721d6: eef4 7ac7 vcmpe.f32 s15, s14 80721da: eef1 fa10 vmrs APSR_nzcv, fpscr 80721de: d821 bhi.n 8072224 f = (25 * f / 1000.0f) + 0.5f; 80721e0: f507 638b add.w r3, r7, #1112 ; 0x458 80721e4: edd3 7a00 vldr s15, [r3] 80721e8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80721ec: ee27 7a87 vmul.f32 s14, s15, s14 80721f0: ed5f 6a9c vldr s13, [pc, #-624] ; 8071f84 80721f4: eec7 7a26 vdiv.f32 s15, s14, s13 80721f8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80721fc: ee77 7a87 vadd.f32 s15, s15, s14 8072200: f507 638b add.w r3, r7, #1112 ; 0x458 8072204: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 8072208: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 807220c: f507 628b add.w r2, r7, #1112 ; 0x458 8072210: edd2 7a00 vldr s15, [r2] 8072214: eefc 7ae7 vcvt.u32.f32 s15, s15 8072218: ee17 2a90 vmov r2, s15 807221c: 1a9b subs r3, r3, r2 807221e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072222: e386 b.n 8072932 if(f <= 10000.0f) 8072224: f507 638b add.w r3, r7, #1112 ; 0x458 8072228: edd3 7a00 vldr s15, [r3] 807222c: ed1f 7aaa vldr s14, [pc, #-680] ; 8071f88 8072230: eef4 7ac7 vcmpe.f32 s15, s14 8072234: eef1 fa10 vmrs APSR_nzcv, fpscr 8072238: f200 837b bhi.w 8072932 f = (25 * f / 10000.0f) + 0.5f; 807223c: f507 638b add.w r3, r7, #1112 ; 0x458 8072240: edd3 7a00 vldr s15, [r3] 8072244: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072248: ee27 7a87 vmul.f32 s14, s15, s14 807224c: ed5f 6ab2 vldr s13, [pc, #-712] ; 8071f88 8072250: eec7 7a26 vdiv.f32 s15, s14, s13 8072254: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072258: ee77 7a87 vadd.f32 s15, s15, s14 807225c: f507 638b add.w r3, r7, #1112 ; 0x458 8072260: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8072264: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8072268: f507 628b add.w r2, r7, #1112 ; 0x458 807226c: edd2 7a00 vldr s15, [r2] 8072270: eefc 7ae7 vcvt.u32.f32 s15, s15 8072274: ee17 2a90 vmov r2, s15 8072278: 1a9b subs r3, r3, r2 807227a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807227e: e358 b.n 8072932 if(fmax <= 100000.0f) ///////// 8072280: f207 434c addw r3, r7, #1100 ; 0x44c 8072284: edd3 7a00 vldr s15, [r3] 8072288: ed1f 7ac0 vldr s14, [pc, #-768] ; 8071f8c 807228c: eef4 7ac7 vcmpe.f32 s15, s14 8072290: eef1 fa10 vmrs APSR_nzcv, fpscr 8072294: f200 810b bhi.w 80724ae if(f <= 1.0f) 8072298: f507 638b add.w r3, r7, #1112 ; 0x458 807229c: edd3 7a00 vldr s15, [r3] 80722a0: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80722a4: eef4 7ac7 vcmpe.f32 s15, s14 80722a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80722ac: d81d bhi.n 80722ea f = (25 * f / 1.0f) + 0.5f; 80722ae: f507 638b add.w r3, r7, #1112 ; 0x458 80722b2: edd3 7a00 vldr s15, [r3] 80722b6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80722ba: ee67 7a87 vmul.f32 s15, s15, s14 80722be: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80722c2: ee77 7a87 vadd.f32 s15, s15, s14 80722c6: f507 638b add.w r3, r7, #1112 ; 0x458 80722ca: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 80722ce: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80722d2: f507 628b add.w r2, r7, #1112 ; 0x458 80722d6: edd2 7a00 vldr s15, [r2] 80722da: eefc 7ae7 vcvt.u32.f32 s15, s15 80722de: ee17 2a90 vmov r2, s15 80722e2: 1a9b subs r3, r3, r2 80722e4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80722e8: e323 b.n 8072932 if(f <= 10.0f) 80722ea: f507 638b add.w r3, r7, #1112 ; 0x458 80722ee: edd3 7a00 vldr s15, [r3] 80722f2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80722f6: eef4 7ac7 vcmpe.f32 s15, s14 80722fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80722fe: d821 bhi.n 8072344 f = (25 * f / 10.0f) + 0.5f; 8072300: f507 638b add.w r3, r7, #1112 ; 0x458 8072304: edd3 7a00 vldr s15, [r3] 8072308: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807230c: ee27 7a87 vmul.f32 s14, s15, s14 8072310: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8072314: eec7 7a26 vdiv.f32 s15, s14, s13 8072318: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807231c: ee77 7a87 vadd.f32 s15, s15, s14 8072320: f507 638b add.w r3, r7, #1112 ; 0x458 8072324: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8072328: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 807232c: f507 628b add.w r2, r7, #1112 ; 0x458 8072330: edd2 7a00 vldr s15, [r2] 8072334: eefc 7ae7 vcvt.u32.f32 s15, s15 8072338: ee17 2a90 vmov r2, s15 807233c: 1a9b subs r3, r3, r2 807233e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072342: e2f6 b.n 8072932 if(f <= 100.0f) 8072344: f507 638b add.w r3, r7, #1112 ; 0x458 8072348: edd3 7a00 vldr s15, [r3] 807234c: ed1f 7af0 vldr s14, [pc, #-960] ; 8071f90 8072350: eef4 7ac7 vcmpe.f32 s15, s14 8072354: eef1 fa10 vmrs APSR_nzcv, fpscr 8072358: d821 bhi.n 807239e f = (25 * f / 100.0f) + 0.5f; 807235a: f507 638b add.w r3, r7, #1112 ; 0x458 807235e: edd3 7a00 vldr s15, [r3] 8072362: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072366: ee27 7a87 vmul.f32 s14, s15, s14 807236a: eddf 6ade vldr s13, [pc, #888] ; 80726e4 807236e: eec7 7a26 vdiv.f32 s15, s14, s13 8072372: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072376: ee77 7a87 vadd.f32 s15, s15, s14 807237a: f507 638b add.w r3, r7, #1112 ; 0x458 807237e: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8072382: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8072386: f507 628b add.w r2, r7, #1112 ; 0x458 807238a: edd2 7a00 vldr s15, [r2] 807238e: eefc 7ae7 vcvt.u32.f32 s15, s15 8072392: ee17 2a90 vmov r2, s15 8072396: 1a9b subs r3, r3, r2 8072398: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807239c: e2c9 b.n 8072932 if(f <= 1000.0f) 807239e: f507 638b add.w r3, r7, #1112 ; 0x458 80723a2: edd3 7a00 vldr s15, [r3] 80723a6: ed9f 7ad0 vldr s14, [pc, #832] ; 80726e8 80723aa: eef4 7ac7 vcmpe.f32 s15, s14 80723ae: eef1 fa10 vmrs APSR_nzcv, fpscr 80723b2: d821 bhi.n 80723f8 f = (25 * f / 1000.0f) + 0.5f; 80723b4: f507 638b add.w r3, r7, #1112 ; 0x458 80723b8: edd3 7a00 vldr s15, [r3] 80723bc: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80723c0: ee27 7a87 vmul.f32 s14, s15, s14 80723c4: eddf 6ac8 vldr s13, [pc, #800] ; 80726e8 80723c8: eec7 7a26 vdiv.f32 s15, s14, s13 80723cc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80723d0: ee77 7a87 vadd.f32 s15, s15, s14 80723d4: f507 638b add.w r3, r7, #1112 ; 0x458 80723d8: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 80723dc: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 80723e0: f507 628b add.w r2, r7, #1112 ; 0x458 80723e4: edd2 7a00 vldr s15, [r2] 80723e8: eefc 7ae7 vcvt.u32.f32 s15, s15 80723ec: ee17 2a90 vmov r2, s15 80723f0: 1a9b subs r3, r3, r2 80723f2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80723f6: e29c b.n 8072932 if(f <= 10000.0f) 80723f8: f507 638b add.w r3, r7, #1112 ; 0x458 80723fc: edd3 7a00 vldr s15, [r3] 8072400: ed9f 7aba vldr s14, [pc, #744] ; 80726ec 8072404: eef4 7ac7 vcmpe.f32 s15, s14 8072408: eef1 fa10 vmrs APSR_nzcv, fpscr 807240c: d821 bhi.n 8072452 f = (25 * f / 10000.0f) + 0.5f; 807240e: f507 638b add.w r3, r7, #1112 ; 0x458 8072412: edd3 7a00 vldr s15, [r3] 8072416: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807241a: ee27 7a87 vmul.f32 s14, s15, s14 807241e: eddf 6ab3 vldr s13, [pc, #716] ; 80726ec 8072422: eec7 7a26 vdiv.f32 s15, s14, s13 8072426: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807242a: ee77 7a87 vadd.f32 s15, s15, s14 807242e: f507 638b add.w r3, r7, #1112 ; 0x458 8072432: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 8072436: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 807243a: f507 628b add.w r2, r7, #1112 ; 0x458 807243e: edd2 7a00 vldr s15, [r2] 8072442: eefc 7ae7 vcvt.u32.f32 s15, s15 8072446: ee17 2a90 vmov r2, s15 807244a: 1a9b subs r3, r3, r2 807244c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072450: e26f b.n 8072932 if(f <= 100000.0f) 8072452: f507 638b add.w r3, r7, #1112 ; 0x458 8072456: edd3 7a00 vldr s15, [r3] 807245a: ed9f 7aa5 vldr s14, [pc, #660] ; 80726f0 807245e: eef4 7ac7 vcmpe.f32 s15, s14 8072462: eef1 fa10 vmrs APSR_nzcv, fpscr 8072466: f200 8264 bhi.w 8072932 f = (25 * f / 100000.0f) + 0.5f; 807246a: f507 638b add.w r3, r7, #1112 ; 0x458 807246e: edd3 7a00 vldr s15, [r3] 8072472: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072476: ee27 7a87 vmul.f32 s14, s15, s14 807247a: eddf 6a9d vldr s13, [pc, #628] ; 80726f0 807247e: eec7 7a26 vdiv.f32 s15, s14, s13 8072482: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072486: ee77 7a87 vadd.f32 s15, s15, s14 807248a: f507 638b add.w r3, r7, #1112 ; 0x458 807248e: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8072492: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8072496: f507 628b add.w r2, r7, #1112 ; 0x458 807249a: edd2 7a00 vldr s15, [r2] 807249e: eefc 7ae7 vcvt.u32.f32 s15, s15 80724a2: ee17 2a90 vmov r2, s15 80724a6: 1a9b subs r3, r3, r2 80724a8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80724ac: e241 b.n 8072932 if(fmax <= 1000000.0f) 80724ae: f207 434c addw r3, r7, #1100 ; 0x44c 80724b2: edd3 7a00 vldr s15, [r3] 80724b6: ed9f 7a8f vldr s14, [pc, #572] ; 80726f4 80724ba: eef4 7ac7 vcmpe.f32 s15, s14 80724be: eef1 fa10 vmrs APSR_nzcv, fpscr 80724c2: f200 811d bhi.w 8072700 if(f <= 10.0f) 80724c6: f507 638b add.w r3, r7, #1112 ; 0x458 80724ca: edd3 7a00 vldr s15, [r3] 80724ce: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80724d2: eef4 7ac7 vcmpe.f32 s15, s14 80724d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80724da: d821 bhi.n 8072520 f = (25 * f / 10.0f) + 0.5f; 80724dc: f507 638b add.w r3, r7, #1112 ; 0x458 80724e0: edd3 7a00 vldr s15, [r3] 80724e4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80724e8: ee27 7a87 vmul.f32 s14, s15, s14 80724ec: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80724f0: eec7 7a26 vdiv.f32 s15, s14, s13 80724f4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80724f8: ee77 7a87 vadd.f32 s15, s15, s14 80724fc: f507 638b add.w r3, r7, #1112 ; 0x458 8072500: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8072504: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8072508: f507 628b add.w r2, r7, #1112 ; 0x458 807250c: edd2 7a00 vldr s15, [r2] 8072510: eefc 7ae7 vcvt.u32.f32 s15, s15 8072514: ee17 2a90 vmov r2, s15 8072518: 1a9b subs r3, r3, r2 807251a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807251e: e208 b.n 8072932 if(f <= 100.0f) 8072520: f507 638b add.w r3, r7, #1112 ; 0x458 8072524: edd3 7a00 vldr s15, [r3] 8072528: ed9f 7a6e vldr s14, [pc, #440] ; 80726e4 807252c: eef4 7ac7 vcmpe.f32 s15, s14 8072530: eef1 fa10 vmrs APSR_nzcv, fpscr 8072534: d821 bhi.n 807257a f = (25 * f / 100.0f) + 0.5f; 8072536: f507 638b add.w r3, r7, #1112 ; 0x458 807253a: edd3 7a00 vldr s15, [r3] 807253e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072542: ee27 7a87 vmul.f32 s14, s15, s14 8072546: eddf 6a67 vldr s13, [pc, #412] ; 80726e4 807254a: eec7 7a26 vdiv.f32 s15, s14, s13 807254e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072552: ee77 7a87 vadd.f32 s15, s15, s14 8072556: f507 638b add.w r3, r7, #1112 ; 0x458 807255a: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 807255e: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8072562: f507 628b add.w r2, r7, #1112 ; 0x458 8072566: edd2 7a00 vldr s15, [r2] 807256a: eefc 7ae7 vcvt.u32.f32 s15, s15 807256e: ee17 2a90 vmov r2, s15 8072572: 1a9b subs r3, r3, r2 8072574: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072578: e1db b.n 8072932 if(f <= 1000.0f) 807257a: f507 638b add.w r3, r7, #1112 ; 0x458 807257e: edd3 7a00 vldr s15, [r3] 8072582: ed9f 7a59 vldr s14, [pc, #356] ; 80726e8 8072586: eef4 7ac7 vcmpe.f32 s15, s14 807258a: eef1 fa10 vmrs APSR_nzcv, fpscr 807258e: d821 bhi.n 80725d4 f = (25 * f / 1000.0f) + 0.5f; 8072590: f507 638b add.w r3, r7, #1112 ; 0x458 8072594: edd3 7a00 vldr s15, [r3] 8072598: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807259c: ee27 7a87 vmul.f32 s14, s15, s14 80725a0: eddf 6a51 vldr s13, [pc, #324] ; 80726e8 80725a4: eec7 7a26 vdiv.f32 s15, s14, s13 80725a8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80725ac: ee77 7a87 vadd.f32 s15, s15, s14 80725b0: f507 638b add.w r3, r7, #1112 ; 0x458 80725b4: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 80725b8: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 80725bc: f507 628b add.w r2, r7, #1112 ; 0x458 80725c0: edd2 7a00 vldr s15, [r2] 80725c4: eefc 7ae7 vcvt.u32.f32 s15, s15 80725c8: ee17 2a90 vmov r2, s15 80725cc: 1a9b subs r3, r3, r2 80725ce: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80725d2: e1ae b.n 8072932 if(f <= 10000.0f) 80725d4: f507 638b add.w r3, r7, #1112 ; 0x458 80725d8: edd3 7a00 vldr s15, [r3] 80725dc: ed9f 7a43 vldr s14, [pc, #268] ; 80726ec 80725e0: eef4 7ac7 vcmpe.f32 s15, s14 80725e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80725e8: d821 bhi.n 807262e f = (25 * f / 10000.0f) + 0.5f; 80725ea: f507 638b add.w r3, r7, #1112 ; 0x458 80725ee: edd3 7a00 vldr s15, [r3] 80725f2: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80725f6: ee27 7a87 vmul.f32 s14, s15, s14 80725fa: eddf 6a3c vldr s13, [pc, #240] ; 80726ec 80725fe: eec7 7a26 vdiv.f32 s15, s14, s13 8072602: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072606: ee77 7a87 vadd.f32 s15, s15, s14 807260a: f507 638b add.w r3, r7, #1112 ; 0x458 807260e: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8072612: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8072616: f507 628b add.w r2, r7, #1112 ; 0x458 807261a: edd2 7a00 vldr s15, [r2] 807261e: eefc 7ae7 vcvt.u32.f32 s15, s15 8072622: ee17 2a90 vmov r2, s15 8072626: 1a9b subs r3, r3, r2 8072628: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807262c: e181 b.n 8072932 if(f <= 100000.0f) 807262e: f507 638b add.w r3, r7, #1112 ; 0x458 8072632: edd3 7a00 vldr s15, [r3] 8072636: ed9f 7a2e vldr s14, [pc, #184] ; 80726f0 807263a: eef4 7ac7 vcmpe.f32 s15, s14 807263e: eef1 fa10 vmrs APSR_nzcv, fpscr 8072642: d821 bhi.n 8072688 f = (25 * f / 100000.0f) + 0.5f; 8072644: f507 638b add.w r3, r7, #1112 ; 0x458 8072648: edd3 7a00 vldr s15, [r3] 807264c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072650: ee27 7a87 vmul.f32 s14, s15, s14 8072654: eddf 6a26 vldr s13, [pc, #152] ; 80726f0 8072658: eec7 7a26 vdiv.f32 s15, s14, s13 807265c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072660: ee77 7a87 vadd.f32 s15, s15, s14 8072664: f507 638b add.w r3, r7, #1112 ; 0x458 8072668: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 807266c: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8072670: f507 628b add.w r2, r7, #1112 ; 0x458 8072674: edd2 7a00 vldr s15, [r2] 8072678: eefc 7ae7 vcvt.u32.f32 s15, s15 807267c: ee17 2a90 vmov r2, s15 8072680: 1a9b subs r3, r3, r2 8072682: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072686: e154 b.n 8072932 if(f <= 1000000.0f) 8072688: f507 638b add.w r3, r7, #1112 ; 0x458 807268c: edd3 7a00 vldr s15, [r3] 8072690: ed9f 7a18 vldr s14, [pc, #96] ; 80726f4 8072694: eef4 7ac7 vcmpe.f32 s15, s14 8072698: eef1 fa10 vmrs APSR_nzcv, fpscr 807269c: f200 8149 bhi.w 8072932 f = (25 * f / 1000000.0f) + 0.5f; 80726a0: f507 638b add.w r3, r7, #1112 ; 0x458 80726a4: edd3 7a00 vldr s15, [r3] 80726a8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80726ac: ee27 7a87 vmul.f32 s14, s15, s14 80726b0: eddf 6a10 vldr s13, [pc, #64] ; 80726f4 80726b4: eec7 7a26 vdiv.f32 s15, s14, s13 80726b8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80726bc: ee77 7a87 vadd.f32 s15, s15, s14 80726c0: f507 638b add.w r3, r7, #1112 ; 0x458 80726c4: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 80726c8: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 80726cc: f507 628b add.w r2, r7, #1112 ; 0x458 80726d0: edd2 7a00 vldr s15, [r2] 80726d4: eefc 7ae7 vcvt.u32.f32 s15, s15 80726d8: ee17 2a90 vmov r2, s15 80726dc: 1a9b subs r3, r3, r2 80726de: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80726e2: e126 b.n 8072932 80726e4: 42c80000 .word 0x42c80000 80726e8: 447a0000 .word 0x447a0000 80726ec: 461c4000 .word 0x461c4000 80726f0: 47c35000 .word 0x47c35000 80726f4: 49742400 .word 0x49742400 80726f8: 4b189680 .word 0x4b189680 80726fc: 43800000 .word 0x43800000 if(fmax <= 10000000.0f) 8072700: f207 434c addw r3, r7, #1100 ; 0x44c 8072704: edd3 7a00 vldr s15, [r3] 8072708: ed1f 7a05 vldr s14, [pc, #-20] ; 80726f8 807270c: eef4 7ac7 vcmpe.f32 s15, s14 8072710: eef1 fa10 vmrs APSR_nzcv, fpscr 8072714: f200 810d bhi.w 8072932 if(f <= 100.0f) 8072718: f507 638b add.w r3, r7, #1112 ; 0x458 807271c: edd3 7a00 vldr s15, [r3] 8072720: ed1f 7a10 vldr s14, [pc, #-64] ; 80726e4 8072724: eef4 7ac7 vcmpe.f32 s15, s14 8072728: eef1 fa10 vmrs APSR_nzcv, fpscr 807272c: d821 bhi.n 8072772 f = (25 * f / 100.0f) + 0.5f; 807272e: f507 638b add.w r3, r7, #1112 ; 0x458 8072732: edd3 7a00 vldr s15, [r3] 8072736: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807273a: ee27 7a87 vmul.f32 s14, s15, s14 807273e: ed5f 6a17 vldr s13, [pc, #-92] ; 80726e4 8072742: eec7 7a26 vdiv.f32 s15, s14, s13 8072746: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807274a: ee77 7a87 vadd.f32 s15, s15, s14 807274e: f507 638b add.w r3, r7, #1112 ; 0x458 8072752: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8072756: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 807275a: f507 628b add.w r2, r7, #1112 ; 0x458 807275e: edd2 7a00 vldr s15, [r2] 8072762: eefc 7ae7 vcvt.u32.f32 s15, s15 8072766: ee17 2a90 vmov r2, s15 807276a: 1a9b subs r3, r3, r2 807276c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072770: e0df b.n 8072932 if(f <= 1000.0f) 8072772: f507 638b add.w r3, r7, #1112 ; 0x458 8072776: edd3 7a00 vldr s15, [r3] 807277a: ed1f 7a25 vldr s14, [pc, #-148] ; 80726e8 807277e: eef4 7ac7 vcmpe.f32 s15, s14 8072782: eef1 fa10 vmrs APSR_nzcv, fpscr 8072786: d821 bhi.n 80727cc f = (25 * f / 1000.0f) + 0.5f; 8072788: f507 638b add.w r3, r7, #1112 ; 0x458 807278c: edd3 7a00 vldr s15, [r3] 8072790: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072794: ee27 7a87 vmul.f32 s14, s15, s14 8072798: ed5f 6a2d vldr s13, [pc, #-180] ; 80726e8 807279c: eec7 7a26 vdiv.f32 s15, s14, s13 80727a0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80727a4: ee77 7a87 vadd.f32 s15, s15, s14 80727a8: f507 638b add.w r3, r7, #1112 ; 0x458 80727ac: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 80727b0: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80727b4: f507 628b add.w r2, r7, #1112 ; 0x458 80727b8: edd2 7a00 vldr s15, [r2] 80727bc: eefc 7ae7 vcvt.u32.f32 s15, s15 80727c0: ee17 2a90 vmov r2, s15 80727c4: 1a9b subs r3, r3, r2 80727c6: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80727ca: e0b2 b.n 8072932 if(f <= 10000.0f) 80727cc: f507 638b add.w r3, r7, #1112 ; 0x458 80727d0: edd3 7a00 vldr s15, [r3] 80727d4: ed1f 7a3b vldr s14, [pc, #-236] ; 80726ec 80727d8: eef4 7ac7 vcmpe.f32 s15, s14 80727dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80727e0: d821 bhi.n 8072826 f = (25 * f / 10000.0f) + 0.5f; 80727e2: f507 638b add.w r3, r7, #1112 ; 0x458 80727e6: edd3 7a00 vldr s15, [r3] 80727ea: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80727ee: ee27 7a87 vmul.f32 s14, s15, s14 80727f2: ed5f 6a42 vldr s13, [pc, #-264] ; 80726ec 80727f6: eec7 7a26 vdiv.f32 s15, s14, s13 80727fa: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80727fe: ee77 7a87 vadd.f32 s15, s15, s14 8072802: f507 638b add.w r3, r7, #1112 ; 0x458 8072806: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 807280a: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 807280e: f507 628b add.w r2, r7, #1112 ; 0x458 8072812: edd2 7a00 vldr s15, [r2] 8072816: eefc 7ae7 vcvt.u32.f32 s15, s15 807281a: ee17 2a90 vmov r2, s15 807281e: 1a9b subs r3, r3, r2 8072820: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8072824: e085 b.n 8072932 if(f <= 100000.0f) 8072826: f507 638b add.w r3, r7, #1112 ; 0x458 807282a: edd3 7a00 vldr s15, [r3] 807282e: ed1f 7a50 vldr s14, [pc, #-320] ; 80726f0 8072832: eef4 7ac7 vcmpe.f32 s15, s14 8072836: eef1 fa10 vmrs APSR_nzcv, fpscr 807283a: d821 bhi.n 8072880 f = (25 * f / 100000.0f) + 0.5f; 807283c: f507 638b add.w r3, r7, #1112 ; 0x458 8072840: edd3 7a00 vldr s15, [r3] 8072844: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8072848: ee27 7a87 vmul.f32 s14, s15, s14 807284c: ed5f 6a58 vldr s13, [pc, #-352] ; 80726f0 8072850: eec7 7a26 vdiv.f32 s15, s14, s13 8072854: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8072858: ee77 7a87 vadd.f32 s15, s15, s14 807285c: f507 638b add.w r3, r7, #1112 ; 0x458 8072860: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8072864: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8072868: f507 628b add.w r2, r7, #1112 ; 0x458 807286c: edd2 7a00 vldr s15, [r2] 8072870: eefc 7ae7 vcvt.u32.f32 s15, s15 8072874: ee17 2a90 vmov r2, s15 8072878: 1a9b subs r3, r3, r2 807287a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807287e: e058 b.n 8072932 if(f <= 1000000.0f) 8072880: f507 638b add.w r3, r7, #1112 ; 0x458 8072884: edd3 7a00 vldr s15, [r3] 8072888: ed1f 7a66 vldr s14, [pc, #-408] ; 80726f4 807288c: eef4 7ac7 vcmpe.f32 s15, s14 8072890: eef1 fa10 vmrs APSR_nzcv, fpscr 8072894: d821 bhi.n 80728da f = (25 * f / 1000000.0f) + 0.5f; 8072896: f507 638b add.w r3, r7, #1112 ; 0x458 807289a: edd3 7a00 vldr s15, [r3] 807289e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80728a2: ee27 7a87 vmul.f32 s14, s15, s14 80728a6: ed5f 6a6d vldr s13, [pc, #-436] ; 80726f4 80728aa: eec7 7a26 vdiv.f32 s15, s14, s13 80728ae: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80728b2: ee77 7a87 vadd.f32 s15, s15, s14 80728b6: f507 638b add.w r3, r7, #1112 ; 0x458 80728ba: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 80728be: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 80728c2: f507 628b add.w r2, r7, #1112 ; 0x458 80728c6: edd2 7a00 vldr s15, [r2] 80728ca: eefc 7ae7 vcvt.u32.f32 s15, s15 80728ce: ee17 2a90 vmov r2, s15 80728d2: 1a9b subs r3, r3, r2 80728d4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80728d8: e02b b.n 8072932 if(f <= 10000000.0f) 80728da: f507 638b add.w r3, r7, #1112 ; 0x458 80728de: edd3 7a00 vldr s15, [r3] 80728e2: ed1f 7a7b vldr s14, [pc, #-492] ; 80726f8 80728e6: eef4 7ac7 vcmpe.f32 s15, s14 80728ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80728ee: d820 bhi.n 8072932 f = (25 * f / 10000000.0f) + 0.5f; 80728f0: f507 638b add.w r3, r7, #1112 ; 0x458 80728f4: edd3 7a00 vldr s15, [r3] 80728f8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80728fc: ee27 7a87 vmul.f32 s14, s15, s14 8072900: ed5f 6a83 vldr s13, [pc, #-524] ; 80726f8 8072904: eec7 7a26 vdiv.f32 s15, s14, s13 8072908: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807290c: ee77 7a87 vadd.f32 s15, s15, s14 8072910: f507 638b add.w r3, r7, #1112 ; 0x458 8072914: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8072918: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 807291c: f507 628b add.w r2, r7, #1112 ; 0x458 8072920: edd2 7a00 vldr s15, [r2] 8072924: eefc 7ae7 vcvt.u32.f32 s15, s15 8072928: ee17 2a90 vmov r2, s15 807292c: 1a9b subs r3, r3, r2 807292e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(l == 1) 8072932: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8072936: 2b01 cmp r3, #1 8072938: d119 bne.n 807296e x = 256; 807293a: f44f 7380 mov.w r3, #256 ; 0x100 807293e: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 oldx = 0; 8072942: 2300 movs r3, #0 8072944: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 BSP_LCD_DrawLine(62 + oldx, y, 62 + x, y); 8072948: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 807294c: b29b uxth r3, r3 807294e: 333e adds r3, #62 ; 0x3e 8072950: b298 uxth r0, r3 8072952: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8072956: b299 uxth r1, r3 8072958: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 807295c: b29b uxth r3, r3 807295e: 333e adds r3, #62 ; 0x3e 8072960: b29a uxth r2, r3 8072962: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8072966: b29b uxth r3, r3 8072968: f7e2 f88c bl 8054a84 807296c: e055 b.n 8072a1a fs = 256.0f / (float32_t) (l - 1); 807296e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8072972: 3b01 subs r3, #1 8072974: ee07 3a90 vmov s15, r3 8072978: eeb8 7a67 vcvt.f32.u32 s14, s15 807297c: ed5f 6aa1 vldr s13, [pc, #-644] ; 80726fc 8072980: eec6 7a87 vdiv.f32 s15, s13, s14 8072984: f207 4314 addw r3, r7, #1044 ; 0x414 8072988: edc3 7a00 vstr s15, [r3] x = (uint32_t) ((fs * (float32_t) i) + 0.5f); 807298c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8072990: ee07 3a90 vmov s15, r3 8072994: eeb8 7a67 vcvt.f32.u32 s14, s15 8072998: f207 4314 addw r3, r7, #1044 ; 0x414 807299c: edd3 7a00 vldr s15, [r3] 80729a0: ee67 7a27 vmul.f32 s15, s14, s15 80729a4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80729a8: ee77 7a87 vadd.f32 s15, s15, s14 80729ac: eefc 7ae7 vcvt.u32.f32 s15, s15 80729b0: ee17 3a90 vmov r3, s15 80729b4: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 if(i == 0) 80729b8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80729bc: 2b00 cmp r3, #0 80729be: d112 bne.n 80729e6 BSP_LCD_DrawLine(62 + x, y, 62 + x, y); 80729c0: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80729c4: b29b uxth r3, r3 80729c6: 333e adds r3, #62 ; 0x3e 80729c8: b298 uxth r0, r3 80729ca: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 80729ce: b299 uxth r1, r3 80729d0: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80729d4: b29b uxth r3, r3 80729d6: 333e adds r3, #62 ; 0x3e 80729d8: b29a uxth r2, r3 80729da: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 80729de: b29b uxth r3, r3 80729e0: f7e2 f850 bl 8054a84 80729e4: e011 b.n 8072a0a else BSP_LCD_DrawLine(62 + oldx, oldy, 62 + x, y); 80729e6: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 80729ea: b29b uxth r3, r3 80729ec: 333e adds r3, #62 ; 0x3e 80729ee: b298 uxth r0, r3 80729f0: f8d7 345c ldr.w r3, [r7, #1116] ; 0x45c 80729f4: b299 uxth r1, r3 80729f6: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80729fa: b29b uxth r3, r3 80729fc: 333e adds r3, #62 ; 0x3e 80729fe: b29a uxth r2, r3 8072a00: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8072a04: b29b uxth r3, r3 8072a06: f7e2 f83d bl 8054a84 oldx = x; 8072a0a: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8072a0e: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 oldy = y; 8072a12: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8072a16: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < l; i++) 8072a1a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8072a1e: 3301 adds r3, #1 8072a20: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8072a24: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8072a28: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8072a2c: 429a cmp r2, r3 8072a2e: f4ff a8bb bcc.w 8071ba8 break; 8072a32: f025 bdd0 b.w 80985d6 case MAIN_DIAGN: //TODO switch(menupos) 8072a36: 4ba9 ldr r3, [pc, #676] ; (8072cdc ) 8072a38: 781b ldrb r3, [r3, #0] 8072a3a: b2db uxtb r3, r3 8072a3c: 2b04 cmp r3, #4 8072a3e: f200 8123 bhi.w 8072c88 8072a42: a201 add r2, pc, #4 ; (adr r2, 8072a48 ) 8072a44: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8072a48: 08072a5d .word 0x08072a5d 8072a4c: 08072c89 .word 0x08072c89 8072a50: 08072b09 .word 0x08072b09 8072a54: 08072b89 .word 0x08072b89 8072a58: 08072c09 .word 0x08072c09 { case StartStop: if(pardata.LANG == RUS) 8072a5c: 4ba0 ldr r3, [pc, #640] ; (8072ce0 ) 8072a5e: 7b1b ldrb r3, [r3, #12] 8072a60: b2db uxtb r3, r3 8072a62: 2b00 cmp r3, #0 8072a64: d125 bne.n 8072ab2 { DrawImage(&bmVIB_POINT, 88, 211); 8072a66: 22d3 movs r2, #211 ; 0xd3 8072a68: 2158 movs r1, #88 ; 0x58 8072a6a: 489e ldr r0, [pc, #632] ; (8072ce4 ) 8072a6c: f7e2 fcc4 bl 80553f8 DrawImage(&bmVIB_MEAS, 168, 211); 8072a70: 22d3 movs r2, #211 ; 0xd3 8072a72: 21a8 movs r1, #168 ; 0xa8 8072a74: 489c ldr r0, [pc, #624] ; (8072ce8 ) 8072a76: f7e2 fcbf bl 80553f8 if(NeedSTOP) 8072a7a: 4b9c ldr r3, [pc, #624] ; (8072cec ) 8072a7c: 781b ldrb r3, [r3, #0] 8072a7e: b2db uxtb r3, r3 8072a80: 2b00 cmp r3, #0 8072a82: d005 beq.n 8072a90 DrawImage(&bmVIB_PLAY_LIGHT, 8, 211); 8072a84: 22d3 movs r2, #211 ; 0xd3 8072a86: 2108 movs r1, #8 8072a88: 4899 ldr r0, [pc, #612] ; (8072cf0 ) 8072a8a: f7e2 fcb5 bl 80553f8 8072a8e: e035 b.n 8072afc else { if(measuring) 8072a90: 4b98 ldr r3, [pc, #608] ; (8072cf4 ) 8072a92: 781b ldrb r3, [r3, #0] 8072a94: b2db uxtb r3, r3 8072a96: 2b00 cmp r3, #0 8072a98: d005 beq.n 8072aa6 DrawImage(&bmVIB_STOP_LIGHT, 8, 211); 8072a9a: 22d3 movs r2, #211 ; 0xd3 8072a9c: 2108 movs r1, #8 8072a9e: 4896 ldr r0, [pc, #600] ; (8072cf8 ) 8072aa0: f7e2 fcaa bl 80553f8 8072aa4: e02a b.n 8072afc else DrawImage(&bmVIB_PLAY_LIGHT, 8, 211); 8072aa6: 22d3 movs r2, #211 ; 0xd3 8072aa8: 2108 movs r1, #8 8072aaa: 4891 ldr r0, [pc, #580] ; (8072cf0 ) 8072aac: f7e2 fca4 bl 80553f8 8072ab0: e024 b.n 8072afc } } else { DrawImage(&bmVIB_POINT_ENG, 88, 211); 8072ab2: 22d3 movs r2, #211 ; 0xd3 8072ab4: 2158 movs r1, #88 ; 0x58 8072ab6: 4891 ldr r0, [pc, #580] ; (8072cfc ) 8072ab8: f7e2 fc9e bl 80553f8 DrawImage(&bmVIB_MEAS_ENG, 168, 211); 8072abc: 22d3 movs r2, #211 ; 0xd3 8072abe: 21a8 movs r1, #168 ; 0xa8 8072ac0: 488f ldr r0, [pc, #572] ; (8072d00 ) 8072ac2: f7e2 fc99 bl 80553f8 if(NeedSTOP) 8072ac6: 4b89 ldr r3, [pc, #548] ; (8072cec ) 8072ac8: 781b ldrb r3, [r3, #0] 8072aca: b2db uxtb r3, r3 8072acc: 2b00 cmp r3, #0 8072ace: d005 beq.n 8072adc DrawImage(&bmVIB_PLAY_LIGHT_ENG, 8, 211); 8072ad0: 22d3 movs r2, #211 ; 0xd3 8072ad2: 2108 movs r1, #8 8072ad4: 488b ldr r0, [pc, #556] ; (8072d04 ) 8072ad6: f7e2 fc8f bl 80553f8 8072ada: e00f b.n 8072afc else { if(measuring) 8072adc: 4b85 ldr r3, [pc, #532] ; (8072cf4 ) 8072ade: 781b ldrb r3, [r3, #0] 8072ae0: b2db uxtb r3, r3 8072ae2: 2b00 cmp r3, #0 8072ae4: d005 beq.n 8072af2 DrawImage(&bmVIB_STOP_LIGHT_ENG, 8, 211); 8072ae6: 22d3 movs r2, #211 ; 0xd3 8072ae8: 2108 movs r1, #8 8072aea: 4887 ldr r0, [pc, #540] ; (8072d08 ) 8072aec: f7e2 fc84 bl 80553f8 8072af0: e004 b.n 8072afc else DrawImage(&bmVIB_PLAY_LIGHT_ENG, 8, 211); 8072af2: 22d3 movs r2, #211 ; 0xd3 8072af4: 2108 movs r1, #8 8072af6: 4883 ldr r0, [pc, #524] ; (8072d04 ) 8072af8: f7e2 fc7e bl 80553f8 } } DrawImage(&bmVIB_SAVE, 248, 211); 8072afc: 22d3 movs r2, #211 ; 0xd3 8072afe: 21f8 movs r1, #248 ; 0xf8 8072b00: 4882 ldr r0, [pc, #520] ; (8072d0c ) 8072b02: f7e2 fc79 bl 80553f8 break; 8072b06: e0bf b.n 8072c88 case Record: if(pardata.LANG == RUS) 8072b08: 4b75 ldr r3, [pc, #468] ; (8072ce0 ) 8072b0a: 7b1b ldrb r3, [r3, #12] 8072b0c: b2db uxtb r3, r3 8072b0e: 2b00 cmp r3, #0 8072b10: d11a bne.n 8072b48 { DrawImage(&bmVIB_POINT, 88, 211); 8072b12: 22d3 movs r2, #211 ; 0xd3 8072b14: 2158 movs r1, #88 ; 0x58 8072b16: 4873 ldr r0, [pc, #460] ; (8072ce4 ) 8072b18: f7e2 fc6e bl 80553f8 DrawImage(&bmVIB_MEAS, 168, 211); 8072b1c: 22d3 movs r2, #211 ; 0xd3 8072b1e: 21a8 movs r1, #168 ; 0xa8 8072b20: 4871 ldr r0, [pc, #452] ; (8072ce8 ) 8072b22: f7e2 fc69 bl 80553f8 if(measuring) 8072b26: 4b73 ldr r3, [pc, #460] ; (8072cf4 ) 8072b28: 781b ldrb r3, [r3, #0] 8072b2a: b2db uxtb r3, r3 8072b2c: 2b00 cmp r3, #0 8072b2e: d005 beq.n 8072b3c DrawImage(&bmVIB_STOP, 8, 211); 8072b30: 22d3 movs r2, #211 ; 0xd3 8072b32: 2108 movs r1, #8 8072b34: 4876 ldr r0, [pc, #472] ; (8072d10 ) 8072b36: f7e2 fc5f bl 80553f8 8072b3a: e01f b.n 8072b7c else DrawImage(&bmVIB_PLAY, 8, 211); 8072b3c: 22d3 movs r2, #211 ; 0xd3 8072b3e: 2108 movs r1, #8 8072b40: 4874 ldr r0, [pc, #464] ; (8072d14 ) 8072b42: f7e2 fc59 bl 80553f8 8072b46: e019 b.n 8072b7c } else { DrawImage(&bmVIB_POINT_ENG, 88, 211); 8072b48: 22d3 movs r2, #211 ; 0xd3 8072b4a: 2158 movs r1, #88 ; 0x58 8072b4c: 486b ldr r0, [pc, #428] ; (8072cfc ) 8072b4e: f7e2 fc53 bl 80553f8 DrawImage(&bmVIB_MEAS_ENG, 168, 211); 8072b52: 22d3 movs r2, #211 ; 0xd3 8072b54: 21a8 movs r1, #168 ; 0xa8 8072b56: 486a ldr r0, [pc, #424] ; (8072d00 ) 8072b58: f7e2 fc4e bl 80553f8 if(measuring) 8072b5c: 4b65 ldr r3, [pc, #404] ; (8072cf4 ) 8072b5e: 781b ldrb r3, [r3, #0] 8072b60: b2db uxtb r3, r3 8072b62: 2b00 cmp r3, #0 8072b64: d005 beq.n 8072b72 DrawImage(&bmVIB_STOP_ENG, 8, 211); 8072b66: 22d3 movs r2, #211 ; 0xd3 8072b68: 2108 movs r1, #8 8072b6a: 486b ldr r0, [pc, #428] ; (8072d18 ) 8072b6c: f7e2 fc44 bl 80553f8 8072b70: e004 b.n 8072b7c else DrawImage(&bmVIB_PLAY_ENG, 8, 211); 8072b72: 22d3 movs r2, #211 ; 0xd3 8072b74: 2108 movs r1, #8 8072b76: 4869 ldr r0, [pc, #420] ; (8072d1c ) 8072b78: f7e2 fc3e bl 80553f8 } DrawImage(&bmVIB_SAVE_LIGHT, 248, 211); 8072b7c: 22d3 movs r2, #211 ; 0xd3 8072b7e: 21f8 movs r1, #248 ; 0xf8 8072b80: 4867 ldr r0, [pc, #412] ; (8072d20 ) 8072b82: f7e2 fc39 bl 80553f8 break; 8072b86: e07f b.n 8072c88 case MyPoint: if(pardata.LANG == RUS) 8072b88: 4b55 ldr r3, [pc, #340] ; (8072ce0 ) 8072b8a: 7b1b ldrb r3, [r3, #12] 8072b8c: b2db uxtb r3, r3 8072b8e: 2b00 cmp r3, #0 8072b90: d11a bne.n 8072bc8 { DrawImage(&bmVIB_POINT_LIGHT, 88, 211); 8072b92: 22d3 movs r2, #211 ; 0xd3 8072b94: 2158 movs r1, #88 ; 0x58 8072b96: 4863 ldr r0, [pc, #396] ; (8072d24 ) 8072b98: f7e2 fc2e bl 80553f8 DrawImage(&bmVIB_MEAS, 168, 211); 8072b9c: 22d3 movs r2, #211 ; 0xd3 8072b9e: 21a8 movs r1, #168 ; 0xa8 8072ba0: 4851 ldr r0, [pc, #324] ; (8072ce8 ) 8072ba2: f7e2 fc29 bl 80553f8 if(measuring) 8072ba6: 4b53 ldr r3, [pc, #332] ; (8072cf4 ) 8072ba8: 781b ldrb r3, [r3, #0] 8072baa: b2db uxtb r3, r3 8072bac: 2b00 cmp r3, #0 8072bae: d005 beq.n 8072bbc DrawImage(&bmVIB_STOP, 8, 211); 8072bb0: 22d3 movs r2, #211 ; 0xd3 8072bb2: 2108 movs r1, #8 8072bb4: 4856 ldr r0, [pc, #344] ; (8072d10 ) 8072bb6: f7e2 fc1f bl 80553f8 8072bba: e01f b.n 8072bfc else DrawImage(&bmVIB_PLAY, 8, 211); 8072bbc: 22d3 movs r2, #211 ; 0xd3 8072bbe: 2108 movs r1, #8 8072bc0: 4854 ldr r0, [pc, #336] ; (8072d14 ) 8072bc2: f7e2 fc19 bl 80553f8 8072bc6: e019 b.n 8072bfc } else { DrawImage(&bmVIB_POINT_LIGHT_ENG, 88, 211); 8072bc8: 22d3 movs r2, #211 ; 0xd3 8072bca: 2158 movs r1, #88 ; 0x58 8072bcc: 4856 ldr r0, [pc, #344] ; (8072d28 ) 8072bce: f7e2 fc13 bl 80553f8 DrawImage(&bmVIB_MEAS_ENG, 168, 211); 8072bd2: 22d3 movs r2, #211 ; 0xd3 8072bd4: 21a8 movs r1, #168 ; 0xa8 8072bd6: 484a ldr r0, [pc, #296] ; (8072d00 ) 8072bd8: f7e2 fc0e bl 80553f8 if(measuring) 8072bdc: 4b45 ldr r3, [pc, #276] ; (8072cf4 ) 8072bde: 781b ldrb r3, [r3, #0] 8072be0: b2db uxtb r3, r3 8072be2: 2b00 cmp r3, #0 8072be4: d005 beq.n 8072bf2 DrawImage(&bmVIB_STOP_ENG, 8, 211); 8072be6: 22d3 movs r2, #211 ; 0xd3 8072be8: 2108 movs r1, #8 8072bea: 484b ldr r0, [pc, #300] ; (8072d18 ) 8072bec: f7e2 fc04 bl 80553f8 8072bf0: e004 b.n 8072bfc else DrawImage(&bmVIB_PLAY_ENG, 8, 211); 8072bf2: 22d3 movs r2, #211 ; 0xd3 8072bf4: 2108 movs r1, #8 8072bf6: 4849 ldr r0, [pc, #292] ; (8072d1c ) 8072bf8: f7e2 fbfe bl 80553f8 } DrawImage(&bmVIB_SAVE, 248, 211); 8072bfc: 22d3 movs r2, #211 ; 0xd3 8072bfe: 21f8 movs r1, #248 ; 0xf8 8072c00: 4842 ldr r0, [pc, #264] ; (8072d0c ) 8072c02: f7e2 fbf9 bl 80553f8 break; 8072c06: e03f b.n 8072c88 case MyMeasure: if(pardata.LANG == RUS) 8072c08: 4b35 ldr r3, [pc, #212] ; (8072ce0 ) 8072c0a: 7b1b ldrb r3, [r3, #12] 8072c0c: b2db uxtb r3, r3 8072c0e: 2b00 cmp r3, #0 8072c10: d11a bne.n 8072c48 { DrawImage(&bmVIB_POINT, 88, 211); 8072c12: 22d3 movs r2, #211 ; 0xd3 8072c14: 2158 movs r1, #88 ; 0x58 8072c16: 4833 ldr r0, [pc, #204] ; (8072ce4 ) 8072c18: f7e2 fbee bl 80553f8 DrawImage(&bmVIB_MEAS_LIGHT, 168, 211); 8072c1c: 22d3 movs r2, #211 ; 0xd3 8072c1e: 21a8 movs r1, #168 ; 0xa8 8072c20: 4842 ldr r0, [pc, #264] ; (8072d2c ) 8072c22: f7e2 fbe9 bl 80553f8 if(measuring) 8072c26: 4b33 ldr r3, [pc, #204] ; (8072cf4 ) 8072c28: 781b ldrb r3, [r3, #0] 8072c2a: b2db uxtb r3, r3 8072c2c: 2b00 cmp r3, #0 8072c2e: d005 beq.n 8072c3c DrawImage(&bmVIB_STOP, 8, 211); 8072c30: 22d3 movs r2, #211 ; 0xd3 8072c32: 2108 movs r1, #8 8072c34: 4836 ldr r0, [pc, #216] ; (8072d10 ) 8072c36: f7e2 fbdf bl 80553f8 8072c3a: e01f b.n 8072c7c else DrawImage(&bmVIB_PLAY, 8, 211); 8072c3c: 22d3 movs r2, #211 ; 0xd3 8072c3e: 2108 movs r1, #8 8072c40: 4834 ldr r0, [pc, #208] ; (8072d14 ) 8072c42: f7e2 fbd9 bl 80553f8 8072c46: e019 b.n 8072c7c } else { DrawImage(&bmVIB_POINT_ENG, 88, 211); 8072c48: 22d3 movs r2, #211 ; 0xd3 8072c4a: 2158 movs r1, #88 ; 0x58 8072c4c: 482b ldr r0, [pc, #172] ; (8072cfc ) 8072c4e: f7e2 fbd3 bl 80553f8 DrawImage(&bmVIB_MEAS_LIGHT_ENG, 168, 211); 8072c52: 22d3 movs r2, #211 ; 0xd3 8072c54: 21a8 movs r1, #168 ; 0xa8 8072c56: 4836 ldr r0, [pc, #216] ; (8072d30 ) 8072c58: f7e2 fbce bl 80553f8 if(measuring) 8072c5c: 4b25 ldr r3, [pc, #148] ; (8072cf4 ) 8072c5e: 781b ldrb r3, [r3, #0] 8072c60: b2db uxtb r3, r3 8072c62: 2b00 cmp r3, #0 8072c64: d005 beq.n 8072c72 DrawImage(&bmVIB_STOP_ENG, 8, 211); 8072c66: 22d3 movs r2, #211 ; 0xd3 8072c68: 2108 movs r1, #8 8072c6a: 482b ldr r0, [pc, #172] ; (8072d18 ) 8072c6c: f7e2 fbc4 bl 80553f8 8072c70: e004 b.n 8072c7c else DrawImage(&bmVIB_PLAY_ENG, 8, 211); 8072c72: 22d3 movs r2, #211 ; 0xd3 8072c74: 2108 movs r1, #8 8072c76: 4829 ldr r0, [pc, #164] ; (8072d1c ) 8072c78: f7e2 fbbe bl 80553f8 } DrawImage(&bmVIB_SAVE, 248, 211); 8072c7c: 22d3 movs r2, #211 ; 0xd3 8072c7e: 21f8 movs r1, #248 ; 0xf8 8072c80: 4822 ldr r0, [pc, #136] ; (8072d0c ) 8072c82: f7e2 fbb9 bl 80553f8 break; 8072c86: bf00 nop } BSP_LCD_SetFont(&Font15); 8072c88: 482a ldr r0, [pc, #168] ; (8072d34 ) 8072c8a: f7e1 fcfd bl 8054688 if(strcmp(DiagFileName, "") != 0) 8072c8e: 4b2a ldr r3, [pc, #168] ; (8072d38 ) 8072c90: 781b ldrb r3, [r3, #0] 8072c92: 2b00 cmp r3, #0 8072c94: f000 8185 beq.w 8072fa2 { BSP_LCD_SetFont(&Font12); 8072c98: 4828 ldr r0, [pc, #160] ; (8072d3c ) 8072c9a: f7e1 fcf5 bl 8054688 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8072c9e: 4928 ldr r1, [pc, #160] ; (8072d40 ) 8072ca0: 4828 ldr r0, [pc, #160] ; (8072d44 ) 8072ca2: f7e1 fcb5 bl 8054610 if(pardata.LANG == RUS) 8072ca6: 4b0e ldr r3, [pc, #56] ; (8072ce0 ) 8072ca8: 7b1b ldrb r3, [r3, #12] 8072caa: b2db uxtb r3, r3 8072cac: 2b00 cmp r3, #0 8072cae: d153 bne.n 8072d58 { BSP_LCD_DisplayStringAt(4, 35, "ÔÀÉË:", LEFT_MODE); 8072cb0: 2303 movs r3, #3 8072cb2: 4a25 ldr r2, [pc, #148] ; (8072d48 ) 8072cb4: 2123 movs r1, #35 ; 0x23 8072cb6: 2004 movs r0, #4 8072cb8: f7e1 fd70 bl 805479c if((NEWFILE) && (strlen(Comment))) 8072cbc: 4b23 ldr r3, [pc, #140] ; (8072d4c ) 8072cbe: 781b ldrb r3, [r3, #0] 8072cc0: b2db uxtb r3, r3 8072cc2: 2b00 cmp r3, #0 8072cc4: d05d beq.n 8072d82 8072cc6: 4b22 ldr r3, [pc, #136] ; (8072d50 ) 8072cc8: 781b ldrb r3, [r3, #0] 8072cca: 2b00 cmp r3, #0 8072ccc: d059 beq.n 8072d82 BSP_LCD_DisplayStringAt(4, 49, "ÒÎ×ÊÀ:", LEFT_MODE); 8072cce: 2303 movs r3, #3 8072cd0: 4a20 ldr r2, [pc, #128] ; (8072d54 ) 8072cd2: 2131 movs r1, #49 ; 0x31 8072cd4: 2004 movs r0, #4 8072cd6: f7e1 fd61 bl 805479c 8072cda: e052 b.n 8072d82 8072cdc: 20020070 .word 0x20020070 8072ce0: 20023ea8 .word 0x20023ea8 8072ce4: 081597b0 .word 0x081597b0 8072ce8: 08152b50 .word 0x08152b50 8072cec: 20020fc2 .word 0x20020fc2 8072cf0: 08157c98 .word 0x08157c98 8072cf4: 20020dcf .word 0x20020dcf 8072cf8: 08160410 .word 0x08160410 8072cfc: 0815a53c .word 0x0815a53c 8072d00: 081538dc .word 0x081538dc 8072d04: 08158a24 .word 0x08158a24 8072d08: 0816119c .word 0x0816119c 8072d0c: 0815cde0 .word 0x0815cde0 8072d10: 0815e8f8 .word 0x0815e8f8 8072d14: 08156180 .word 0x08156180 8072d18: 0815f684 .word 0x0815f684 8072d1c: 08156f0c .word 0x08156f0c 8072d20: 0815db6c .word 0x0815db6c 8072d24: 0815b2c8 .word 0x0815b2c8 8072d28: 0815c054 .word 0x0815c054 8072d2c: 08154668 .word 0x08154668 8072d30: 081553f4 .word 0x081553f4 8072d34: 20020040 .word 0x20020040 8072d38: 20020e9c .word 0x20020e9c 8072d3c: 20020038 .word 0x20020038 8072d40: ff0a0f1f .word 0xff0a0f1f 8072d44: ff808080 .word 0xff808080 8072d48: 080d3e30 .word 0x080d3e30 8072d4c: 20020e34 .word 0x20020e34 8072d50: 20022698 .word 0x20022698 8072d54: 080d3e38 .word 0x080d3e38 } else { BSP_LCD_DisplayStringAt(4, 35, "FILE:", LEFT_MODE); 8072d58: 2303 movs r3, #3 8072d5a: 4ac9 ldr r2, [pc, #804] ; (8073080 ) 8072d5c: 2123 movs r1, #35 ; 0x23 8072d5e: 2004 movs r0, #4 8072d60: f7e1 fd1c bl 805479c if((NEWFILE) && (strlen(Comment))) 8072d64: 4bc7 ldr r3, [pc, #796] ; (8073084 ) 8072d66: 781b ldrb r3, [r3, #0] 8072d68: b2db uxtb r3, r3 8072d6a: 2b00 cmp r3, #0 8072d6c: d009 beq.n 8072d82 8072d6e: 4bc6 ldr r3, [pc, #792] ; (8073088 ) 8072d70: 781b ldrb r3, [r3, #0] 8072d72: 2b00 cmp r3, #0 8072d74: d005 beq.n 8072d82 BSP_LCD_DisplayStringAt(4, 49, "POINT:", LEFT_MODE); 8072d76: 2303 movs r3, #3 8072d78: 4ac4 ldr r2, [pc, #784] ; (807308c ) 8072d7a: 2131 movs r1, #49 ; 0x31 8072d7c: 2004 movs r0, #4 8072d7e: f7e1 fd0d bl 805479c } memset(str, 0, sizeof(str)); 8072d82: f507 733b add.w r3, r7, #748 ; 0x2ec 8072d86: 223c movs r2, #60 ; 0x3c 8072d88: 2100 movs r1, #0 8072d8a: 4618 mov r0, r3 8072d8c: f05e fb08 bl 80d13a0 strcpy(str, DiagFileName); 8072d90: f507 733b add.w r3, r7, #748 ; 0x2ec 8072d94: 49be ldr r1, [pc, #760] ; (8073090 ) 8072d96: 4618 mov r0, r3 8072d98: f05e fc1f bl 80d15da l = strlen(str); 8072d9c: f507 733b add.w r3, r7, #748 ; 0x2ec 8072da0: 4618 mov r0, r3 8072da2: f7ad fab7 bl 8020314 8072da6: 4603 mov r3, r0 8072da8: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l - 4] = '\0'; 8072dac: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8072db0: 3b04 subs r3, #4 8072db2: f507 723b add.w r2, r7, #748 ; 0x2ec 8072db6: 2100 movs r1, #0 8072db8: 54d1 strb r1, [r2, r3] BSP_LCD_SetFont(&Font12); 8072dba: 48b6 ldr r0, [pc, #728] ; (8073094 ) 8072dbc: f7e1 fc64 bl 8054688 LCD_SetColors(LCD_COLOR_LIGHTGREEN, LCD_COLOR_BLACK); 8072dc0: 49b5 ldr r1, [pc, #724] ; (8073098 ) 8072dc2: f06f 107f mvn.w r0, #8323199 ; 0x7f007f 8072dc6: f7e1 fc23 bl 8054610 BSP_LCD_DisplayStringAt(46, 35, str, LEFT_MODE); 8072dca: f507 723b add.w r2, r7, #748 ; 0x2ec 8072dce: 2303 movs r3, #3 8072dd0: 2123 movs r1, #35 ; 0x23 8072dd2: 202e movs r0, #46 ; 0x2e 8072dd4: f7e1 fce2 bl 805479c if((NEWFILE) && (strlen(Comment))) 8072dd8: 4baa ldr r3, [pc, #680] ; (8073084 ) 8072dda: 781b ldrb r3, [r3, #0] 8072ddc: b2db uxtb r3, r3 8072dde: 2b00 cmp r3, #0 8072de0: d02c beq.n 8072e3c 8072de2: 4ba9 ldr r3, [pc, #676] ; (8073088 ) 8072de4: 781b ldrb r3, [r3, #0] 8072de6: 2b00 cmp r3, #0 8072de8: d028 beq.n 8072e3c { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 8072dea: 49ab ldr r1, [pc, #684] ; (8073098 ) 8072dec: 48ab ldr r0, [pc, #684] ; (807309c ) 8072dee: f7e1 fc0f bl 8054610 BSP_LCD_SetFont(&Font12); 8072df2: 48a8 ldr r0, [pc, #672] ; (8073094 ) 8072df4: f7e1 fc48 bl 8054688 memset(str, 0, sizeof(str)); 8072df8: f507 733b add.w r3, r7, #748 ; 0x2ec 8072dfc: 223c movs r2, #60 ; 0x3c 8072dfe: 2100 movs r1, #0 8072e00: 4618 mov r0, r3 8072e02: f05e facd bl 80d13a0 str[0] = '"'; 8072e06: f507 733b add.w r3, r7, #748 ; 0x2ec 8072e0a: 2222 movs r2, #34 ; 0x22 8072e0c: 701a strb r2, [r3, #0] strcat(str, Comment); 8072e0e: f507 733b add.w r3, r7, #748 ; 0x2ec 8072e12: 499d ldr r1, [pc, #628] ; (8073088 ) 8072e14: 4618 mov r0, r3 8072e16: f05e fbc3 bl 80d15a0 str[strlen(str)] = '"'; 8072e1a: f507 733b add.w r3, r7, #748 ; 0x2ec 8072e1e: 4618 mov r0, r3 8072e20: f7ad fa78 bl 8020314 8072e24: 4602 mov r2, r0 8072e26: f507 733b add.w r3, r7, #748 ; 0x2ec 8072e2a: 2122 movs r1, #34 ; 0x22 8072e2c: 5499 strb r1, [r3, r2] BSP_LCD_DisplayStringAt(46, 49, str, LEFT_MODE); 8072e2e: f507 723b add.w r2, r7, #748 ; 0x2ec 8072e32: 2303 movs r3, #3 8072e34: 2131 movs r1, #49 ; 0x31 8072e36: 202e movs r0, #46 ; 0x2e 8072e38: f7e1 fcb0 bl 805479c } BSP_LCD_SetFont(&Font15); 8072e3c: 4898 ldr r0, [pc, #608] ; (80730a0 ) 8072e3e: f7e1 fc23 bl 8054688 memset(str, 0, sizeof(str)); 8072e42: f507 733b add.w r3, r7, #748 ; 0x2ec 8072e46: 223c movs r2, #60 ; 0x3c 8072e48: 2100 movs r1, #0 8072e4a: 4618 mov r0, r3 8072e4c: f05e faa8 bl 80d13a0 str[0] = ((NextIndexPoint + 1) / 100) + 48; 8072e50: 4b94 ldr r3, [pc, #592] ; (80730a4 ) 8072e52: 681b ldr r3, [r3, #0] 8072e54: 3301 adds r3, #1 8072e56: 4a94 ldr r2, [pc, #592] ; (80730a8 ) 8072e58: fba2 2303 umull r2, r3, r2, r3 8072e5c: 095b lsrs r3, r3, #5 8072e5e: b2db uxtb r3, r3 8072e60: 3330 adds r3, #48 ; 0x30 8072e62: b2da uxtb r2, r3 8072e64: f507 733b add.w r3, r7, #748 ; 0x2ec 8072e68: 701a strb r2, [r3, #0] str[1] = ((NextIndexPoint + 1) % 100 / 10) + 48; 8072e6a: 4b8e ldr r3, [pc, #568] ; (80730a4 ) 8072e6c: 681b ldr r3, [r3, #0] 8072e6e: 1c5a adds r2, r3, #1 8072e70: 4b8d ldr r3, [pc, #564] ; (80730a8 ) 8072e72: fba3 1302 umull r1, r3, r3, r2 8072e76: 095b lsrs r3, r3, #5 8072e78: 2164 movs r1, #100 ; 0x64 8072e7a: fb01 f303 mul.w r3, r1, r3 8072e7e: 1ad3 subs r3, r2, r3 8072e80: 4a8a ldr r2, [pc, #552] ; (80730ac ) 8072e82: fba2 2303 umull r2, r3, r2, r3 8072e86: 08db lsrs r3, r3, #3 8072e88: b2db uxtb r3, r3 8072e8a: 3330 adds r3, #48 ; 0x30 8072e8c: b2da uxtb r2, r3 8072e8e: f507 733b add.w r3, r7, #748 ; 0x2ec 8072e92: 705a strb r2, [r3, #1] str[2] = ((NextIndexPoint + 1) % 100 % 10) + 48; 8072e94: 4b83 ldr r3, [pc, #524] ; (80730a4 ) 8072e96: 681b ldr r3, [r3, #0] 8072e98: 3301 adds r3, #1 8072e9a: 4a83 ldr r2, [pc, #524] ; (80730a8 ) 8072e9c: fba2 1203 umull r1, r2, r2, r3 8072ea0: 0952 lsrs r2, r2, #5 8072ea2: 2164 movs r1, #100 ; 0x64 8072ea4: fb01 f202 mul.w r2, r1, r2 8072ea8: 1a9a subs r2, r3, r2 8072eaa: 4b80 ldr r3, [pc, #512] ; (80730ac ) 8072eac: fba3 1302 umull r1, r3, r3, r2 8072eb0: 08d9 lsrs r1, r3, #3 8072eb2: 460b mov r3, r1 8072eb4: 009b lsls r3, r3, #2 8072eb6: 440b add r3, r1 8072eb8: 005b lsls r3, r3, #1 8072eba: 1ad1 subs r1, r2, r3 8072ebc: b2cb uxtb r3, r1 8072ebe: 3330 adds r3, #48 ; 0x30 8072ec0: b2da uxtb r2, r3 8072ec2: f507 733b add.w r3, r7, #748 ; 0x2ec 8072ec6: 709a strb r2, [r3, #2] if(menupos == MyPoint) 8072ec8: 4b79 ldr r3, [pc, #484] ; (80730b0 ) 8072eca: 781b ldrb r3, [r3, #0] 8072ecc: b2db uxtb r3, r3 8072ece: 2b03 cmp r3, #3 8072ed0: d104 bne.n 8072edc LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8072ed2: 4971 ldr r1, [pc, #452] ; (8073098 ) 8072ed4: 4877 ldr r0, [pc, #476] ; (80730b4 ) 8072ed6: f7e1 fb9b bl 8054610 8072eda: e004 b.n 8072ee6 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072edc: 496e ldr r1, [pc, #440] ; (8073098 ) 8072ede: f04f 30ff mov.w r0, #4294967295 8072ee2: f7e1 fb95 bl 8054610 BSP_LCD_DisplayStringAt(168-29, 218, str, RIGHT_MODE); 8072ee6: f507 723b add.w r2, r7, #748 ; 0x2ec 8072eea: 2302 movs r3, #2 8072eec: 21da movs r1, #218 ; 0xda 8072eee: 208b movs r0, #139 ; 0x8b 8072ef0: f7e1 fc54 bl 805479c memset(str, 0, sizeof(str)); 8072ef4: f507 733b add.w r3, r7, #748 ; 0x2ec 8072ef8: 223c movs r2, #60 ; 0x3c 8072efa: 2100 movs r1, #0 8072efc: 4618 mov r0, r3 8072efe: f05e fa4f bl 80d13a0 str[0] = (NextIndexMeas / 100) + 48; 8072f02: 4b6d ldr r3, [pc, #436] ; (80730b8 ) 8072f04: 681b ldr r3, [r3, #0] 8072f06: 4a68 ldr r2, [pc, #416] ; (80730a8 ) 8072f08: fba2 2303 umull r2, r3, r2, r3 8072f0c: 095b lsrs r3, r3, #5 8072f0e: b2db uxtb r3, r3 8072f10: 3330 adds r3, #48 ; 0x30 8072f12: b2da uxtb r2, r3 8072f14: f507 733b add.w r3, r7, #748 ; 0x2ec 8072f18: 701a strb r2, [r3, #0] str[1] = (NextIndexMeas % 100 / 10) + 48; 8072f1a: 4b67 ldr r3, [pc, #412] ; (80730b8 ) 8072f1c: 681a ldr r2, [r3, #0] 8072f1e: 4b62 ldr r3, [pc, #392] ; (80730a8 ) 8072f20: fba3 1302 umull r1, r3, r3, r2 8072f24: 095b lsrs r3, r3, #5 8072f26: 2164 movs r1, #100 ; 0x64 8072f28: fb01 f303 mul.w r3, r1, r3 8072f2c: 1ad3 subs r3, r2, r3 8072f2e: 4a5f ldr r2, [pc, #380] ; (80730ac ) 8072f30: fba2 2303 umull r2, r3, r2, r3 8072f34: 08db lsrs r3, r3, #3 8072f36: b2db uxtb r3, r3 8072f38: 3330 adds r3, #48 ; 0x30 8072f3a: b2da uxtb r2, r3 8072f3c: f507 733b add.w r3, r7, #748 ; 0x2ec 8072f40: 705a strb r2, [r3, #1] str[2] = (NextIndexMeas % 100 % 10) + 48; 8072f42: 4b5d ldr r3, [pc, #372] ; (80730b8 ) 8072f44: 681b ldr r3, [r3, #0] 8072f46: 4a58 ldr r2, [pc, #352] ; (80730a8 ) 8072f48: fba2 1203 umull r1, r2, r2, r3 8072f4c: 0952 lsrs r2, r2, #5 8072f4e: 2164 movs r1, #100 ; 0x64 8072f50: fb01 f202 mul.w r2, r1, r2 8072f54: 1a9a subs r2, r3, r2 8072f56: 4b55 ldr r3, [pc, #340] ; (80730ac ) 8072f58: fba3 1302 umull r1, r3, r3, r2 8072f5c: 08d9 lsrs r1, r3, #3 8072f5e: 460b mov r3, r1 8072f60: 009b lsls r3, r3, #2 8072f62: 440b add r3, r1 8072f64: 005b lsls r3, r3, #1 8072f66: 1ad1 subs r1, r2, r3 8072f68: b2cb uxtb r3, r1 8072f6a: 3330 adds r3, #48 ; 0x30 8072f6c: b2da uxtb r2, r3 8072f6e: f507 733b add.w r3, r7, #748 ; 0x2ec 8072f72: 709a strb r2, [r3, #2] if(menupos == MyMeasure) 8072f74: 4b4e ldr r3, [pc, #312] ; (80730b0 ) 8072f76: 781b ldrb r3, [r3, #0] 8072f78: b2db uxtb r3, r3 8072f7a: 2b04 cmp r3, #4 8072f7c: d104 bne.n 8072f88 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8072f7e: 4946 ldr r1, [pc, #280] ; (8073098 ) 8072f80: 484c ldr r0, [pc, #304] ; (80730b4 ) 8072f82: f7e1 fb45 bl 8054610 8072f86: e004 b.n 8072f92 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072f88: 4943 ldr r1, [pc, #268] ; (8073098 ) 8072f8a: f04f 30ff mov.w r0, #4294967295 8072f8e: f7e1 fb3f bl 8054610 BSP_LCD_DisplayStringAt(248-29, 218, str, RIGHT_MODE); 8072f92: f507 723b add.w r2, r7, #748 ; 0x2ec 8072f96: 2302 movs r3, #2 8072f98: 21da movs r1, #218 ; 0xda 8072f9a: 20db movs r0, #219 ; 0xdb 8072f9c: f7e1 fbfe bl 805479c 8072fa0: e029 b.n 8072ff6 } else { if(menupos == MyPoint) 8072fa2: 4b43 ldr r3, [pc, #268] ; (80730b0 ) 8072fa4: 781b ldrb r3, [r3, #0] 8072fa6: b2db uxtb r3, r3 8072fa8: 2b03 cmp r3, #3 8072faa: d104 bne.n 8072fb6 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8072fac: 493a ldr r1, [pc, #232] ; (8073098 ) 8072fae: 4841 ldr r0, [pc, #260] ; (80730b4 ) 8072fb0: f7e1 fb2e bl 8054610 8072fb4: e004 b.n 8072fc0 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072fb6: 4938 ldr r1, [pc, #224] ; (8073098 ) 8072fb8: f04f 30ff mov.w r0, #4294967295 8072fbc: f7e1 fb28 bl 8054610 BSP_LCD_DisplayStringAt(168-29, 218, "---", RIGHT_MODE); 8072fc0: 2302 movs r3, #2 8072fc2: 4a3e ldr r2, [pc, #248] ; (80730bc ) 8072fc4: 21da movs r1, #218 ; 0xda 8072fc6: 208b movs r0, #139 ; 0x8b 8072fc8: f7e1 fbe8 bl 805479c if(menupos == MyMeasure) 8072fcc: 4b38 ldr r3, [pc, #224] ; (80730b0 ) 8072fce: 781b ldrb r3, [r3, #0] 8072fd0: b2db uxtb r3, r3 8072fd2: 2b04 cmp r3, #4 8072fd4: d104 bne.n 8072fe0 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8072fd6: 4930 ldr r1, [pc, #192] ; (8073098 ) 8072fd8: 4836 ldr r0, [pc, #216] ; (80730b4 ) 8072fda: f7e1 fb19 bl 8054610 8072fde: e004 b.n 8072fea else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072fe0: 492d ldr r1, [pc, #180] ; (8073098 ) 8072fe2: f04f 30ff mov.w r0, #4294967295 8072fe6: f7e1 fb13 bl 8054610 BSP_LCD_DisplayStringAt(248-29, 218, "---", RIGHT_MODE); 8072fea: 2302 movs r3, #2 8072fec: 4a33 ldr r2, [pc, #204] ; (80730bc ) 8072fee: 21da movs r1, #218 ; 0xda 8072ff0: 20db movs r0, #219 ; 0xdb 8072ff2: f7e1 fbd3 bl 805479c //****************************************************** BSP_LCD_SetFont(&Font12); 8072ff6: 4827 ldr r0, [pc, #156] ; (8073094 ) 8072ff8: f7e1 fb46 bl 8054688 //LEGEND LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8072ffc: 4926 ldr r1, [pc, #152] ; (8073098 ) 8072ffe: 4830 ldr r0, [pc, #192] ; (80730c0 ) 8073000: f7e1 fb06 bl 8054610 BSP_LCD_DrawLine(9, 124, 9 + 229, 124); 8073004: 237c movs r3, #124 ; 0x7c 8073006: 22ee movs r2, #238 ; 0xee 8073008: 217c movs r1, #124 ; 0x7c 807300a: 2009 movs r0, #9 807300c: f7e1 fd3a bl 8054a84 BSP_LCD_DrawLine(9, 160, 9 + 229, 160); 8073010: 23a0 movs r3, #160 ; 0xa0 8073012: 22ee movs r2, #238 ; 0xee 8073014: 21a0 movs r1, #160 ; 0xa0 8073016: 2009 movs r0, #9 8073018: f7e1 fd34 bl 8054a84 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807301c: 491e ldr r1, [pc, #120] ; (8073098 ) 807301e: 4829 ldr r0, [pc, #164] ; (80730c4 ) 8073020: f7e1 faf6 bl 8054610 BSP_LCD_DisplayStringAt(12, 101, "1", LEFT_MODE); 8073024: 2303 movs r3, #3 8073026: 4a28 ldr r2, [pc, #160] ; (80730c8 ) 8073028: 2165 movs r1, #101 ; 0x65 807302a: 200c movs r0, #12 807302c: f7e1 fbb6 bl 805479c BSP_LCD_DisplayStringAt(12, 137, "2", LEFT_MODE); 8073030: 2303 movs r3, #3 8073032: 4a26 ldr r2, [pc, #152] ; (80730cc ) 8073034: 2189 movs r1, #137 ; 0x89 8073036: 200c movs r0, #12 8073038: f7e1 fbb0 bl 805479c BSP_LCD_DisplayStringAt(12, 173, "3", LEFT_MODE); 807303c: 2303 movs r3, #3 807303e: 4a24 ldr r2, [pc, #144] ; (80730d0 ) 8073040: 21ad movs r1, #173 ; 0xad 8073042: 200c movs r0, #12 8073044: f7e1 fbaa bl 805479c RedrawNums(); 8073048: f026 fbe8 bl 809981c break; 807304c: f025 baee b.w 809862c case MAIN: case MAIN_FRAN: switch(menupos) 8073050: 4b17 ldr r3, [pc, #92] ; (80730b0 ) 8073052: 781b ldrb r3, [r3, #0] 8073054: b2db uxtb r3, r3 8073056: 2b06 cmp r3, #6 8073058: f200 81fa bhi.w 8073450 807305c: a201 add r2, pc, #4 ; (adr r2, 8073064 ) 807305e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8073062: bf00 nop 8073064: 080730d5 .word 0x080730d5 8073068: 08073451 .word 0x08073451 807306c: 08073197 .word 0x08073197 8073070: 0807322d .word 0x0807322d 8073074: 080732c3 .word 0x080732c3 8073078: 08073451 .word 0x08073451 807307c: 08073359 .word 0x08073359 8073080: 080d3e40 .word 0x080d3e40 8073084: 20020e34 .word 0x20020e34 8073088: 20022698 .word 0x20022698 807308c: 080d3e48 .word 0x080d3e48 8073090: 20020e9c .word 0x20020e9c 8073094: 20020038 .word 0x20020038 8073098: ff0a0f1f .word 0xff0a0f1f 807309c: ffefcc95 .word 0xffefcc95 80730a0: 20020040 .word 0x20020040 80730a4: 20021fe4 .word 0x20021fe4 80730a8: 51eb851f .word 0x51eb851f 80730ac: cccccccd .word 0xcccccccd 80730b0: 20020070 .word 0x20020070 80730b4: ff29eb19 .word 0xff29eb19 80730b8: 20022358 .word 0x20022358 80730bc: 080d3e50 .word 0x080d3e50 80730c0: ff404040 .word 0xff404040 80730c4: ffd3d3d3 .word 0xffd3d3d3 80730c8: 080d2bc4 .word 0x080d2bc4 80730cc: 080d2bc8 .word 0x080d2bc8 80730d0: 080d3b24 .word 0x080d3b24 { case StartStop: if(pardata.LANG == RUS) 80730d4: 4bb3 ldr r3, [pc, #716] ; (80733a4 ) 80730d6: 7b1b ldrb r3, [r3, #12] 80730d8: b2db uxtb r3, r3 80730da: 2b00 cmp r3, #0 80730dc: d12a bne.n 8073134 { DrawImage(&bmVIB_LOG, 64, 211); 80730de: 22d3 movs r2, #211 ; 0xd3 80730e0: 2140 movs r1, #64 ; 0x40 80730e2: 48b1 ldr r0, [pc, #708] ; (80733a8 ) 80730e4: f7e2 f988 bl 80553f8 DrawImage(&bmVIB_POINT, 128, 211); 80730e8: 22d3 movs r2, #211 ; 0xd3 80730ea: 2180 movs r1, #128 ; 0x80 80730ec: 48af ldr r0, [pc, #700] ; (80733ac ) 80730ee: f7e2 f983 bl 80553f8 DrawImage(&bmVIB_MEAS, 192, 211); 80730f2: 22d3 movs r2, #211 ; 0xd3 80730f4: 21c0 movs r1, #192 ; 0xc0 80730f6: 48ae ldr r0, [pc, #696] ; (80733b0 ) 80730f8: f7e2 f97e bl 80553f8 if(NeedSTOP) 80730fc: 4bad ldr r3, [pc, #692] ; (80733b4 ) 80730fe: 781b ldrb r3, [r3, #0] 8073100: b2db uxtb r3, r3 8073102: 2b00 cmp r3, #0 8073104: d005 beq.n 8073112 DrawImage(&bmVIB_PLAY_LIGHT, 0, 211); 8073106: 22d3 movs r2, #211 ; 0xd3 8073108: 2100 movs r1, #0 807310a: 48ab ldr r0, [pc, #684] ; (80733b8 ) 807310c: f7e2 f974 bl 80553f8 8073110: e03a b.n 8073188 else { if(measuring) 8073112: 4baa ldr r3, [pc, #680] ; (80733bc ) 8073114: 781b ldrb r3, [r3, #0] 8073116: b2db uxtb r3, r3 8073118: 2b00 cmp r3, #0 807311a: d005 beq.n 8073128 DrawImage(&bmVIB_STOP_LIGHT, 0, 211); 807311c: 22d3 movs r2, #211 ; 0xd3 807311e: 2100 movs r1, #0 8073120: 48a7 ldr r0, [pc, #668] ; (80733c0 ) 8073122: f7e2 f969 bl 80553f8 8073126: e02f b.n 8073188 else DrawImage(&bmVIB_PLAY_LIGHT, 0, 211); 8073128: 22d3 movs r2, #211 ; 0xd3 807312a: 2100 movs r1, #0 807312c: 48a2 ldr r0, [pc, #648] ; (80733b8 ) 807312e: f7e2 f963 bl 80553f8 8073132: e029 b.n 8073188 } } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 8073134: 22d3 movs r2, #211 ; 0xd3 8073136: 2140 movs r1, #64 ; 0x40 8073138: 48a2 ldr r0, [pc, #648] ; (80733c4 ) 807313a: f7e2 f95d bl 80553f8 DrawImage(&bmVIB_POINT_ENG, 128, 211); 807313e: 22d3 movs r2, #211 ; 0xd3 8073140: 2180 movs r1, #128 ; 0x80 8073142: 48a1 ldr r0, [pc, #644] ; (80733c8 ) 8073144: f7e2 f958 bl 80553f8 DrawImage(&bmVIB_MEAS_ENG, 192, 211); 8073148: 22d3 movs r2, #211 ; 0xd3 807314a: 21c0 movs r1, #192 ; 0xc0 807314c: 489f ldr r0, [pc, #636] ; (80733cc ) 807314e: f7e2 f953 bl 80553f8 if(NeedSTOP) 8073152: 4b98 ldr r3, [pc, #608] ; (80733b4 ) 8073154: 781b ldrb r3, [r3, #0] 8073156: b2db uxtb r3, r3 8073158: 2b00 cmp r3, #0 807315a: d005 beq.n 8073168 DrawImage(&bmVIB_PLAY_LIGHT_ENG, 0, 211); 807315c: 22d3 movs r2, #211 ; 0xd3 807315e: 2100 movs r1, #0 8073160: 489b ldr r0, [pc, #620] ; (80733d0 ) 8073162: f7e2 f949 bl 80553f8 8073166: e00f b.n 8073188 else { if(measuring) 8073168: 4b94 ldr r3, [pc, #592] ; (80733bc ) 807316a: 781b ldrb r3, [r3, #0] 807316c: b2db uxtb r3, r3 807316e: 2b00 cmp r3, #0 8073170: d005 beq.n 807317e DrawImage(&bmVIB_STOP_LIGHT_ENG, 0, 211); 8073172: 22d3 movs r2, #211 ; 0xd3 8073174: 2100 movs r1, #0 8073176: 4897 ldr r0, [pc, #604] ; (80733d4 ) 8073178: f7e2 f93e bl 80553f8 807317c: e004 b.n 8073188 else DrawImage(&bmVIB_PLAY_LIGHT_ENG, 0, 211); 807317e: 22d3 movs r2, #211 ; 0xd3 8073180: 2100 movs r1, #0 8073182: 4893 ldr r0, [pc, #588] ; (80733d0 ) 8073184: f7e2 f938 bl 80553f8 } } DrawImage(&bmVIB_SAVE, 256, 211); 8073188: 22d3 movs r2, #211 ; 0xd3 807318a: f44f 7180 mov.w r1, #256 ; 0x100 807318e: 4892 ldr r0, [pc, #584] ; (80733d8 ) 8073190: f7e2 f932 bl 80553f8 break; 8073194: e15c b.n 8073450 case Record: if(pardata.LANG == RUS) 8073196: 4b83 ldr r3, [pc, #524] ; (80733a4 ) 8073198: 7b1b ldrb r3, [r3, #12] 807319a: b2db uxtb r3, r3 807319c: 2b00 cmp r3, #0 807319e: d11f bne.n 80731e0 { DrawImage(&bmVIB_LOG, 64, 211); 80731a0: 22d3 movs r2, #211 ; 0xd3 80731a2: 2140 movs r1, #64 ; 0x40 80731a4: 4880 ldr r0, [pc, #512] ; (80733a8 ) 80731a6: f7e2 f927 bl 80553f8 DrawImage(&bmVIB_POINT, 128, 211); 80731aa: 22d3 movs r2, #211 ; 0xd3 80731ac: 2180 movs r1, #128 ; 0x80 80731ae: 487f ldr r0, [pc, #508] ; (80733ac ) 80731b0: f7e2 f922 bl 80553f8 DrawImage(&bmVIB_MEAS, 192, 211); 80731b4: 22d3 movs r2, #211 ; 0xd3 80731b6: 21c0 movs r1, #192 ; 0xc0 80731b8: 487d ldr r0, [pc, #500] ; (80733b0 ) 80731ba: f7e2 f91d bl 80553f8 if(measuring) 80731be: 4b7f ldr r3, [pc, #508] ; (80733bc ) 80731c0: 781b ldrb r3, [r3, #0] 80731c2: b2db uxtb r3, r3 80731c4: 2b00 cmp r3, #0 80731c6: d005 beq.n 80731d4 DrawImage(&bmVIB_STOP, 0, 211); 80731c8: 22d3 movs r2, #211 ; 0xd3 80731ca: 2100 movs r1, #0 80731cc: 4883 ldr r0, [pc, #524] ; (80733dc ) 80731ce: f7e2 f913 bl 80553f8 80731d2: e024 b.n 807321e else DrawImage(&bmVIB_PLAY, 0, 211); 80731d4: 22d3 movs r2, #211 ; 0xd3 80731d6: 2100 movs r1, #0 80731d8: 4881 ldr r0, [pc, #516] ; (80733e0 ) 80731da: f7e2 f90d bl 80553f8 80731de: e01e b.n 807321e } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 80731e0: 22d3 movs r2, #211 ; 0xd3 80731e2: 2140 movs r1, #64 ; 0x40 80731e4: 4877 ldr r0, [pc, #476] ; (80733c4 ) 80731e6: f7e2 f907 bl 80553f8 DrawImage(&bmVIB_POINT_ENG, 128, 211); 80731ea: 22d3 movs r2, #211 ; 0xd3 80731ec: 2180 movs r1, #128 ; 0x80 80731ee: 4876 ldr r0, [pc, #472] ; (80733c8 ) 80731f0: f7e2 f902 bl 80553f8 DrawImage(&bmVIB_MEAS_ENG, 192, 211); 80731f4: 22d3 movs r2, #211 ; 0xd3 80731f6: 21c0 movs r1, #192 ; 0xc0 80731f8: 4874 ldr r0, [pc, #464] ; (80733cc ) 80731fa: f7e2 f8fd bl 80553f8 if(measuring) 80731fe: 4b6f ldr r3, [pc, #444] ; (80733bc ) 8073200: 781b ldrb r3, [r3, #0] 8073202: b2db uxtb r3, r3 8073204: 2b00 cmp r3, #0 8073206: d005 beq.n 8073214 DrawImage(&bmVIB_STOP_ENG, 0, 211); 8073208: 22d3 movs r2, #211 ; 0xd3 807320a: 2100 movs r1, #0 807320c: 4875 ldr r0, [pc, #468] ; (80733e4 ) 807320e: f7e2 f8f3 bl 80553f8 8073212: e004 b.n 807321e else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 8073214: 22d3 movs r2, #211 ; 0xd3 8073216: 2100 movs r1, #0 8073218: 4873 ldr r0, [pc, #460] ; (80733e8 ) 807321a: f7e2 f8ed bl 80553f8 } DrawImage(&bmVIB_SAVE_LIGHT, 256, 211); 807321e: 22d3 movs r2, #211 ; 0xd3 8073220: f44f 7180 mov.w r1, #256 ; 0x100 8073224: 4871 ldr r0, [pc, #452] ; (80733ec ) 8073226: f7e2 f8e7 bl 80553f8 break; 807322a: e111 b.n 8073450 case MyPoint: if(pardata.LANG == RUS) 807322c: 4b5d ldr r3, [pc, #372] ; (80733a4 ) 807322e: 7b1b ldrb r3, [r3, #12] 8073230: b2db uxtb r3, r3 8073232: 2b00 cmp r3, #0 8073234: d11f bne.n 8073276 { DrawImage(&bmVIB_LOG, 64, 211); 8073236: 22d3 movs r2, #211 ; 0xd3 8073238: 2140 movs r1, #64 ; 0x40 807323a: 485b ldr r0, [pc, #364] ; (80733a8 ) 807323c: f7e2 f8dc bl 80553f8 DrawImage(&bmVIB_POINT_LIGHT, 128, 211); 8073240: 22d3 movs r2, #211 ; 0xd3 8073242: 2180 movs r1, #128 ; 0x80 8073244: 486a ldr r0, [pc, #424] ; (80733f0 ) 8073246: f7e2 f8d7 bl 80553f8 DrawImage(&bmVIB_MEAS, 192, 211); 807324a: 22d3 movs r2, #211 ; 0xd3 807324c: 21c0 movs r1, #192 ; 0xc0 807324e: 4858 ldr r0, [pc, #352] ; (80733b0 ) 8073250: f7e2 f8d2 bl 80553f8 if(measuring) 8073254: 4b59 ldr r3, [pc, #356] ; (80733bc ) 8073256: 781b ldrb r3, [r3, #0] 8073258: b2db uxtb r3, r3 807325a: 2b00 cmp r3, #0 807325c: d005 beq.n 807326a DrawImage(&bmVIB_STOP, 0, 211); 807325e: 22d3 movs r2, #211 ; 0xd3 8073260: 2100 movs r1, #0 8073262: 485e ldr r0, [pc, #376] ; (80733dc ) 8073264: f7e2 f8c8 bl 80553f8 8073268: e024 b.n 80732b4 else DrawImage(&bmVIB_PLAY, 0, 211); 807326a: 22d3 movs r2, #211 ; 0xd3 807326c: 2100 movs r1, #0 807326e: 485c ldr r0, [pc, #368] ; (80733e0 ) 8073270: f7e2 f8c2 bl 80553f8 8073274: e01e b.n 80732b4 } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 8073276: 22d3 movs r2, #211 ; 0xd3 8073278: 2140 movs r1, #64 ; 0x40 807327a: 4852 ldr r0, [pc, #328] ; (80733c4 ) 807327c: f7e2 f8bc bl 80553f8 DrawImage(&bmVIB_POINT_LIGHT_ENG, 128, 211); 8073280: 22d3 movs r2, #211 ; 0xd3 8073282: 2180 movs r1, #128 ; 0x80 8073284: 485b ldr r0, [pc, #364] ; (80733f4 ) 8073286: f7e2 f8b7 bl 80553f8 DrawImage(&bmVIB_MEAS_ENG, 192, 211); 807328a: 22d3 movs r2, #211 ; 0xd3 807328c: 21c0 movs r1, #192 ; 0xc0 807328e: 484f ldr r0, [pc, #316] ; (80733cc ) 8073290: f7e2 f8b2 bl 80553f8 if(measuring) 8073294: 4b49 ldr r3, [pc, #292] ; (80733bc ) 8073296: 781b ldrb r3, [r3, #0] 8073298: b2db uxtb r3, r3 807329a: 2b00 cmp r3, #0 807329c: d005 beq.n 80732aa DrawImage(&bmVIB_STOP_ENG, 0, 211); 807329e: 22d3 movs r2, #211 ; 0xd3 80732a0: 2100 movs r1, #0 80732a2: 4850 ldr r0, [pc, #320] ; (80733e4 ) 80732a4: f7e2 f8a8 bl 80553f8 80732a8: e004 b.n 80732b4 else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 80732aa: 22d3 movs r2, #211 ; 0xd3 80732ac: 2100 movs r1, #0 80732ae: 484e ldr r0, [pc, #312] ; (80733e8 ) 80732b0: f7e2 f8a2 bl 80553f8 } DrawImage(&bmVIB_SAVE, 256, 211); 80732b4: 22d3 movs r2, #211 ; 0xd3 80732b6: f44f 7180 mov.w r1, #256 ; 0x100 80732ba: 4847 ldr r0, [pc, #284] ; (80733d8 ) 80732bc: f7e2 f89c bl 80553f8 break; 80732c0: e0c6 b.n 8073450 case MyMeasure: if(pardata.LANG == RUS) 80732c2: 4b38 ldr r3, [pc, #224] ; (80733a4 ) 80732c4: 7b1b ldrb r3, [r3, #12] 80732c6: b2db uxtb r3, r3 80732c8: 2b00 cmp r3, #0 80732ca: d11f bne.n 807330c { DrawImage(&bmVIB_LOG, 64, 211); 80732cc: 22d3 movs r2, #211 ; 0xd3 80732ce: 2140 movs r1, #64 ; 0x40 80732d0: 4835 ldr r0, [pc, #212] ; (80733a8 ) 80732d2: f7e2 f891 bl 80553f8 DrawImage(&bmVIB_POINT, 128, 211); 80732d6: 22d3 movs r2, #211 ; 0xd3 80732d8: 2180 movs r1, #128 ; 0x80 80732da: 4834 ldr r0, [pc, #208] ; (80733ac ) 80732dc: f7e2 f88c bl 80553f8 DrawImage(&bmVIB_MEAS_LIGHT, 192, 211); 80732e0: 22d3 movs r2, #211 ; 0xd3 80732e2: 21c0 movs r1, #192 ; 0xc0 80732e4: 4844 ldr r0, [pc, #272] ; (80733f8 ) 80732e6: f7e2 f887 bl 80553f8 if(measuring) 80732ea: 4b34 ldr r3, [pc, #208] ; (80733bc ) 80732ec: 781b ldrb r3, [r3, #0] 80732ee: b2db uxtb r3, r3 80732f0: 2b00 cmp r3, #0 80732f2: d005 beq.n 8073300 DrawImage(&bmVIB_STOP, 0, 211); 80732f4: 22d3 movs r2, #211 ; 0xd3 80732f6: 2100 movs r1, #0 80732f8: 4838 ldr r0, [pc, #224] ; (80733dc ) 80732fa: f7e2 f87d bl 80553f8 80732fe: e024 b.n 807334a else DrawImage(&bmVIB_PLAY, 0, 211); 8073300: 22d3 movs r2, #211 ; 0xd3 8073302: 2100 movs r1, #0 8073304: 4836 ldr r0, [pc, #216] ; (80733e0 ) 8073306: f7e2 f877 bl 80553f8 807330a: e01e b.n 807334a } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 807330c: 22d3 movs r2, #211 ; 0xd3 807330e: 2140 movs r1, #64 ; 0x40 8073310: 482c ldr r0, [pc, #176] ; (80733c4 ) 8073312: f7e2 f871 bl 80553f8 DrawImage(&bmVIB_POINT_ENG, 128, 211); 8073316: 22d3 movs r2, #211 ; 0xd3 8073318: 2180 movs r1, #128 ; 0x80 807331a: 482b ldr r0, [pc, #172] ; (80733c8 ) 807331c: f7e2 f86c bl 80553f8 DrawImage(&bmVIB_MEAS_LIGHT_ENG, 192, 211); 8073320: 22d3 movs r2, #211 ; 0xd3 8073322: 21c0 movs r1, #192 ; 0xc0 8073324: 4835 ldr r0, [pc, #212] ; (80733fc ) 8073326: f7e2 f867 bl 80553f8 if(measuring) 807332a: 4b24 ldr r3, [pc, #144] ; (80733bc ) 807332c: 781b ldrb r3, [r3, #0] 807332e: b2db uxtb r3, r3 8073330: 2b00 cmp r3, #0 8073332: d005 beq.n 8073340 DrawImage(&bmVIB_STOP_ENG, 0, 211); 8073334: 22d3 movs r2, #211 ; 0xd3 8073336: 2100 movs r1, #0 8073338: 482a ldr r0, [pc, #168] ; (80733e4 ) 807333a: f7e2 f85d bl 80553f8 807333e: e004 b.n 807334a else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 8073340: 22d3 movs r2, #211 ; 0xd3 8073342: 2100 movs r1, #0 8073344: 4828 ldr r0, [pc, #160] ; (80733e8 ) 8073346: f7e2 f857 bl 80553f8 } DrawImage(&bmVIB_SAVE, 256, 211); 807334a: 22d3 movs r2, #211 ; 0xd3 807334c: f44f 7180 mov.w r1, #256 ; 0x100 8073350: 4821 ldr r0, [pc, #132] ; (80733d8 ) 8073352: f7e2 f851 bl 80553f8 break; 8073356: e07b b.n 8073450 case MyLinLog: if(pardata.LANG == RUS) 8073358: 4b12 ldr r3, [pc, #72] ; (80733a4 ) 807335a: 7b1b ldrb r3, [r3, #12] 807335c: b2db uxtb r3, r3 807335e: 2b00 cmp r3, #0 8073360: d150 bne.n 8073404 { DrawImage(&bmVIB_LOG_LIGHT, 64, 211); 8073362: 22d3 movs r2, #211 ; 0xd3 8073364: 2140 movs r1, #64 ; 0x40 8073366: 4826 ldr r0, [pc, #152] ; (8073400 ) 8073368: f7e2 f846 bl 80553f8 DrawImage(&bmVIB_POINT, 128, 211); 807336c: 22d3 movs r2, #211 ; 0xd3 807336e: 2180 movs r1, #128 ; 0x80 8073370: 480e ldr r0, [pc, #56] ; (80733ac ) 8073372: f7e2 f841 bl 80553f8 DrawImage(&bmVIB_MEAS, 192, 211); 8073376: 22d3 movs r2, #211 ; 0xd3 8073378: 21c0 movs r1, #192 ; 0xc0 807337a: 480d ldr r0, [pc, #52] ; (80733b0 ) 807337c: f7e2 f83c bl 80553f8 if(measuring) 8073380: 4b0e ldr r3, [pc, #56] ; (80733bc ) 8073382: 781b ldrb r3, [r3, #0] 8073384: b2db uxtb r3, r3 8073386: 2b00 cmp r3, #0 8073388: d005 beq.n 8073396 DrawImage(&bmVIB_STOP, 0, 211); 807338a: 22d3 movs r2, #211 ; 0xd3 807338c: 2100 movs r1, #0 807338e: 4813 ldr r0, [pc, #76] ; (80733dc ) 8073390: f7e2 f832 bl 80553f8 8073394: e055 b.n 8073442 else DrawImage(&bmVIB_PLAY, 0, 211); 8073396: 22d3 movs r2, #211 ; 0xd3 8073398: 2100 movs r1, #0 807339a: 4811 ldr r0, [pc, #68] ; (80733e0 ) 807339c: f7e2 f82c bl 80553f8 80733a0: e04f b.n 8073442 80733a2: bf00 nop 80733a4: 20023ea8 .word 0x20023ea8 80733a8: 0814f520 .word 0x0814f520 80733ac: 081597b0 .word 0x081597b0 80733b0: 08152b50 .word 0x08152b50 80733b4: 20020fc2 .word 0x20020fc2 80733b8: 08157c98 .word 0x08157c98 80733bc: 20020dcf .word 0x20020dcf 80733c0: 08160410 .word 0x08160410 80733c4: 081502ac .word 0x081502ac 80733c8: 0815a53c .word 0x0815a53c 80733cc: 081538dc .word 0x081538dc 80733d0: 08158a24 .word 0x08158a24 80733d4: 0816119c .word 0x0816119c 80733d8: 0815cde0 .word 0x0815cde0 80733dc: 0815e8f8 .word 0x0815e8f8 80733e0: 08156180 .word 0x08156180 80733e4: 0815f684 .word 0x0815f684 80733e8: 08156f0c .word 0x08156f0c 80733ec: 0815db6c .word 0x0815db6c 80733f0: 0815b2c8 .word 0x0815b2c8 80733f4: 0815c054 .word 0x0815c054 80733f8: 08154668 .word 0x08154668 80733fc: 081553f4 .word 0x081553f4 8073400: 08151038 .word 0x08151038 } else { DrawImage(&bmVIB_LOG_LIGHT_ENG, 64, 211); 8073404: 22d3 movs r2, #211 ; 0xd3 8073406: 2140 movs r1, #64 ; 0x40 8073408: 48be ldr r0, [pc, #760] ; (8073704 ) 807340a: f7e1 fff5 bl 80553f8 DrawImage(&bmVIB_POINT_ENG, 128, 211); 807340e: 22d3 movs r2, #211 ; 0xd3 8073410: 2180 movs r1, #128 ; 0x80 8073412: 48bd ldr r0, [pc, #756] ; (8073708 ) 8073414: f7e1 fff0 bl 80553f8 DrawImage(&bmVIB_MEAS_ENG, 192, 211); 8073418: 22d3 movs r2, #211 ; 0xd3 807341a: 21c0 movs r1, #192 ; 0xc0 807341c: 48bb ldr r0, [pc, #748] ; (807370c ) 807341e: f7e1 ffeb bl 80553f8 if(measuring) 8073422: 4bbb ldr r3, [pc, #748] ; (8073710 ) 8073424: 781b ldrb r3, [r3, #0] 8073426: b2db uxtb r3, r3 8073428: 2b00 cmp r3, #0 807342a: d005 beq.n 8073438 DrawImage(&bmVIB_STOP_ENG, 0, 211); 807342c: 22d3 movs r2, #211 ; 0xd3 807342e: 2100 movs r1, #0 8073430: 48b8 ldr r0, [pc, #736] ; (8073714 ) 8073432: f7e1 ffe1 bl 80553f8 8073436: e004 b.n 8073442 else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 8073438: 22d3 movs r2, #211 ; 0xd3 807343a: 2100 movs r1, #0 807343c: 48b6 ldr r0, [pc, #728] ; (8073718 ) 807343e: f7e1 ffdb bl 80553f8 } DrawImage(&bmVIB_SAVE, 256, 211); 8073442: 22d3 movs r2, #211 ; 0xd3 8073444: f44f 7180 mov.w r1, #256 ; 0x100 8073448: 48b4 ldr r0, [pc, #720] ; (807371c ) 807344a: f7e1 ffd5 bl 80553f8 break; 807344e: bf00 nop } BSP_LCD_SetFont(&Font15); 8073450: 48b3 ldr r0, [pc, #716] ; (8073720 ) 8073452: f7e1 f919 bl 8054688 if(strcmp(MeasFileName, "") != 0) 8073456: 4bb3 ldr r3, [pc, #716] ; (8073724 ) 8073458: 781b ldrb r3, [r3, #0] 807345a: 2b00 cmp r3, #0 807345c: f000 8147 beq.w 80736ee { BSP_LCD_SetFont(&Font12); 8073460: 48b1 ldr r0, [pc, #708] ; (8073728 ) 8073462: f7e1 f911 bl 8054688 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8073466: 49b1 ldr r1, [pc, #708] ; (807372c ) 8073468: 48b1 ldr r0, [pc, #708] ; (8073730 ) 807346a: f7e1 f8d1 bl 8054610 if(pardata.LANG == RUS) 807346e: 4bb1 ldr r3, [pc, #708] ; (8073734 ) 8073470: 7b1b ldrb r3, [r3, #12] 8073472: b2db uxtb r3, r3 8073474: 2b00 cmp r3, #0 8073476: d115 bne.n 80734a4 { BSP_LCD_DisplayStringAt(4, 35, "ÔÀÉË:", LEFT_MODE); 8073478: 2303 movs r3, #3 807347a: 4aaf ldr r2, [pc, #700] ; (8073738 ) 807347c: 2123 movs r1, #35 ; 0x23 807347e: 2004 movs r0, #4 8073480: f7e1 f98c bl 805479c if((NEWFILE) && (strlen(Comment))) 8073484: 4bad ldr r3, [pc, #692] ; (807373c ) 8073486: 781b ldrb r3, [r3, #0] 8073488: b2db uxtb r3, r3 807348a: 2b00 cmp r3, #0 807348c: d01f beq.n 80734ce 807348e: 4bac ldr r3, [pc, #688] ; (8073740 ) 8073490: 781b ldrb r3, [r3, #0] 8073492: 2b00 cmp r3, #0 8073494: d01b beq.n 80734ce BSP_LCD_DisplayStringAt(4, 49, "ÒÎ×ÊÀ:", LEFT_MODE); 8073496: 2303 movs r3, #3 8073498: 4aaa ldr r2, [pc, #680] ; (8073744 ) 807349a: 2131 movs r1, #49 ; 0x31 807349c: 2004 movs r0, #4 807349e: f7e1 f97d bl 805479c 80734a2: e014 b.n 80734ce } else { BSP_LCD_DisplayStringAt(4, 35, "FILE:", LEFT_MODE); 80734a4: 2303 movs r3, #3 80734a6: 4aa8 ldr r2, [pc, #672] ; (8073748 ) 80734a8: 2123 movs r1, #35 ; 0x23 80734aa: 2004 movs r0, #4 80734ac: f7e1 f976 bl 805479c if((NEWFILE) && (strlen(Comment))) 80734b0: 4ba2 ldr r3, [pc, #648] ; (807373c ) 80734b2: 781b ldrb r3, [r3, #0] 80734b4: b2db uxtb r3, r3 80734b6: 2b00 cmp r3, #0 80734b8: d009 beq.n 80734ce 80734ba: 4ba1 ldr r3, [pc, #644] ; (8073740 ) 80734bc: 781b ldrb r3, [r3, #0] 80734be: 2b00 cmp r3, #0 80734c0: d005 beq.n 80734ce BSP_LCD_DisplayStringAt(4, 49, "POINT:", LEFT_MODE); 80734c2: 2303 movs r3, #3 80734c4: 4aa1 ldr r2, [pc, #644] ; (807374c ) 80734c6: 2131 movs r1, #49 ; 0x31 80734c8: 2004 movs r0, #4 80734ca: f7e1 f967 bl 805479c } memset(str, 0, sizeof(str)); 80734ce: f507 733b add.w r3, r7, #748 ; 0x2ec 80734d2: 223c movs r2, #60 ; 0x3c 80734d4: 2100 movs r1, #0 80734d6: 4618 mov r0, r3 80734d8: f05d ff62 bl 80d13a0 strcpy(str, MeasFileName); 80734dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80734e0: 4990 ldr r1, [pc, #576] ; (8073724 ) 80734e2: 4618 mov r0, r3 80734e4: f05e f879 bl 80d15da l = strlen(str); 80734e8: f507 733b add.w r3, r7, #748 ; 0x2ec 80734ec: 4618 mov r0, r3 80734ee: f7ac ff11 bl 8020314 80734f2: 4603 mov r3, r0 80734f4: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l - 4] = '\0'; 80734f8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80734fc: 3b04 subs r3, #4 80734fe: f507 723b add.w r2, r7, #748 ; 0x2ec 8073502: 2100 movs r1, #0 8073504: 54d1 strb r1, [r2, r3] BSP_LCD_SetFont(&Font12); 8073506: 4888 ldr r0, [pc, #544] ; (8073728 ) 8073508: f7e1 f8be bl 8054688 LCD_SetColors(LCD_COLOR_LIGHTGREEN, LCD_COLOR_BLACK); 807350c: 4987 ldr r1, [pc, #540] ; (807372c ) 807350e: f06f 107f mvn.w r0, #8323199 ; 0x7f007f 8073512: f7e1 f87d bl 8054610 BSP_LCD_DisplayStringAt(46, 35, str, LEFT_MODE); 8073516: f507 723b add.w r2, r7, #748 ; 0x2ec 807351a: 2303 movs r3, #3 807351c: 2123 movs r1, #35 ; 0x23 807351e: 202e movs r0, #46 ; 0x2e 8073520: f7e1 f93c bl 805479c if((NEWFILE) && (strlen(Comment))) 8073524: 4b85 ldr r3, [pc, #532] ; (807373c ) 8073526: 781b ldrb r3, [r3, #0] 8073528: b2db uxtb r3, r3 807352a: 2b00 cmp r3, #0 807352c: d02c beq.n 8073588 807352e: 4b84 ldr r3, [pc, #528] ; (8073740 ) 8073530: 781b ldrb r3, [r3, #0] 8073532: 2b00 cmp r3, #0 8073534: d028 beq.n 8073588 { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 8073536: 497d ldr r1, [pc, #500] ; (807372c ) 8073538: 4885 ldr r0, [pc, #532] ; (8073750 ) 807353a: f7e1 f869 bl 8054610 BSP_LCD_SetFont(&Font12); 807353e: 487a ldr r0, [pc, #488] ; (8073728 ) 8073540: f7e1 f8a2 bl 8054688 memset(str, 0, sizeof(str)); 8073544: f507 733b add.w r3, r7, #748 ; 0x2ec 8073548: 223c movs r2, #60 ; 0x3c 807354a: 2100 movs r1, #0 807354c: 4618 mov r0, r3 807354e: f05d ff27 bl 80d13a0 str[0] = '"'; 8073552: f507 733b add.w r3, r7, #748 ; 0x2ec 8073556: 2222 movs r2, #34 ; 0x22 8073558: 701a strb r2, [r3, #0] strcat(str, Comment); 807355a: f507 733b add.w r3, r7, #748 ; 0x2ec 807355e: 4978 ldr r1, [pc, #480] ; (8073740 ) 8073560: 4618 mov r0, r3 8073562: f05e f81d bl 80d15a0 str[strlen(str)] = '"'; 8073566: f507 733b add.w r3, r7, #748 ; 0x2ec 807356a: 4618 mov r0, r3 807356c: f7ac fed2 bl 8020314 8073570: 4602 mov r2, r0 8073572: f507 733b add.w r3, r7, #748 ; 0x2ec 8073576: 2122 movs r1, #34 ; 0x22 8073578: 5499 strb r1, [r3, r2] BSP_LCD_DisplayStringAt(46, 49, str, LEFT_MODE); 807357a: f507 723b add.w r2, r7, #748 ; 0x2ec 807357e: 2303 movs r3, #3 8073580: 2131 movs r1, #49 ; 0x31 8073582: 202e movs r0, #46 ; 0x2e 8073584: f7e1 f90a bl 805479c } BSP_LCD_SetFont(&Font15); 8073588: 4865 ldr r0, [pc, #404] ; (8073720 ) 807358a: f7e1 f87d bl 8054688 memset(str, 0, sizeof(str)); 807358e: f507 733b add.w r3, r7, #748 ; 0x2ec 8073592: 223c movs r2, #60 ; 0x3c 8073594: 2100 movs r1, #0 8073596: 4618 mov r0, r3 8073598: f05d ff02 bl 80d13a0 str[0] = ((NextIndexPoint + 1) / 100) + 48; 807359c: 4b6d ldr r3, [pc, #436] ; (8073754 ) 807359e: 681b ldr r3, [r3, #0] 80735a0: 3301 adds r3, #1 80735a2: 4a6d ldr r2, [pc, #436] ; (8073758 ) 80735a4: fba2 2303 umull r2, r3, r2, r3 80735a8: 095b lsrs r3, r3, #5 80735aa: b2db uxtb r3, r3 80735ac: 3330 adds r3, #48 ; 0x30 80735ae: b2da uxtb r2, r3 80735b0: f507 733b add.w r3, r7, #748 ; 0x2ec 80735b4: 701a strb r2, [r3, #0] str[1] = ((NextIndexPoint + 1) % 100 / 10) + 48; 80735b6: 4b67 ldr r3, [pc, #412] ; (8073754 ) 80735b8: 681b ldr r3, [r3, #0] 80735ba: 1c5a adds r2, r3, #1 80735bc: 4b66 ldr r3, [pc, #408] ; (8073758 ) 80735be: fba3 1302 umull r1, r3, r3, r2 80735c2: 095b lsrs r3, r3, #5 80735c4: 2164 movs r1, #100 ; 0x64 80735c6: fb01 f303 mul.w r3, r1, r3 80735ca: 1ad3 subs r3, r2, r3 80735cc: 4a63 ldr r2, [pc, #396] ; (807375c ) 80735ce: fba2 2303 umull r2, r3, r2, r3 80735d2: 08db lsrs r3, r3, #3 80735d4: b2db uxtb r3, r3 80735d6: 3330 adds r3, #48 ; 0x30 80735d8: b2da uxtb r2, r3 80735da: f507 733b add.w r3, r7, #748 ; 0x2ec 80735de: 705a strb r2, [r3, #1] str[2] = ((NextIndexPoint + 1) % 100 % 10) + 48; 80735e0: 4b5c ldr r3, [pc, #368] ; (8073754 ) 80735e2: 681b ldr r3, [r3, #0] 80735e4: 3301 adds r3, #1 80735e6: 4a5c ldr r2, [pc, #368] ; (8073758 ) 80735e8: fba2 1203 umull r1, r2, r2, r3 80735ec: 0952 lsrs r2, r2, #5 80735ee: 2164 movs r1, #100 ; 0x64 80735f0: fb01 f202 mul.w r2, r1, r2 80735f4: 1a9a subs r2, r3, r2 80735f6: 4b59 ldr r3, [pc, #356] ; (807375c ) 80735f8: fba3 1302 umull r1, r3, r3, r2 80735fc: 08d9 lsrs r1, r3, #3 80735fe: 460b mov r3, r1 8073600: 009b lsls r3, r3, #2 8073602: 440b add r3, r1 8073604: 005b lsls r3, r3, #1 8073606: 1ad1 subs r1, r2, r3 8073608: b2cb uxtb r3, r1 807360a: 3330 adds r3, #48 ; 0x30 807360c: b2da uxtb r2, r3 807360e: f507 733b add.w r3, r7, #748 ; 0x2ec 8073612: 709a strb r2, [r3, #2] if(menupos == MyPoint) 8073614: 4b52 ldr r3, [pc, #328] ; (8073760 ) 8073616: 781b ldrb r3, [r3, #0] 8073618: b2db uxtb r3, r3 807361a: 2b03 cmp r3, #3 807361c: d104 bne.n 8073628 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 807361e: 4943 ldr r1, [pc, #268] ; (807372c ) 8073620: 4850 ldr r0, [pc, #320] ; (8073764 ) 8073622: f7e0 fff5 bl 8054610 8073626: e004 b.n 8073632 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073628: 4940 ldr r1, [pc, #256] ; (807372c ) 807362a: f04f 30ff mov.w r0, #4294967295 807362e: f7e0 ffef bl 8054610 BSP_LCD_DisplayStringAt(192-13, 218, str, RIGHT_MODE); 8073632: f507 723b add.w r2, r7, #748 ; 0x2ec 8073636: 2302 movs r3, #2 8073638: 21da movs r1, #218 ; 0xda 807363a: 20b3 movs r0, #179 ; 0xb3 807363c: f7e1 f8ae bl 805479c memset(str, 0, sizeof(str)); 8073640: f507 733b add.w r3, r7, #748 ; 0x2ec 8073644: 223c movs r2, #60 ; 0x3c 8073646: 2100 movs r1, #0 8073648: 4618 mov r0, r3 807364a: f05d fea9 bl 80d13a0 str[0] = (NextIndexMeas / 100) + 48; 807364e: 4b46 ldr r3, [pc, #280] ; (8073768 ) 8073650: 681b ldr r3, [r3, #0] 8073652: 4a41 ldr r2, [pc, #260] ; (8073758 ) 8073654: fba2 2303 umull r2, r3, r2, r3 8073658: 095b lsrs r3, r3, #5 807365a: b2db uxtb r3, r3 807365c: 3330 adds r3, #48 ; 0x30 807365e: b2da uxtb r2, r3 8073660: f507 733b add.w r3, r7, #748 ; 0x2ec 8073664: 701a strb r2, [r3, #0] str[1] = (NextIndexMeas % 100 / 10) + 48; 8073666: 4b40 ldr r3, [pc, #256] ; (8073768 ) 8073668: 681a ldr r2, [r3, #0] 807366a: 4b3b ldr r3, [pc, #236] ; (8073758 ) 807366c: fba3 1302 umull r1, r3, r3, r2 8073670: 095b lsrs r3, r3, #5 8073672: 2164 movs r1, #100 ; 0x64 8073674: fb01 f303 mul.w r3, r1, r3 8073678: 1ad3 subs r3, r2, r3 807367a: 4a38 ldr r2, [pc, #224] ; (807375c ) 807367c: fba2 2303 umull r2, r3, r2, r3 8073680: 08db lsrs r3, r3, #3 8073682: b2db uxtb r3, r3 8073684: 3330 adds r3, #48 ; 0x30 8073686: b2da uxtb r2, r3 8073688: f507 733b add.w r3, r7, #748 ; 0x2ec 807368c: 705a strb r2, [r3, #1] str[2] = (NextIndexMeas % 100 % 10) + 48; 807368e: 4b36 ldr r3, [pc, #216] ; (8073768 ) 8073690: 681b ldr r3, [r3, #0] 8073692: 4a31 ldr r2, [pc, #196] ; (8073758 ) 8073694: fba2 1203 umull r1, r2, r2, r3 8073698: 0952 lsrs r2, r2, #5 807369a: 2164 movs r1, #100 ; 0x64 807369c: fb01 f202 mul.w r2, r1, r2 80736a0: 1a9a subs r2, r3, r2 80736a2: 4b2e ldr r3, [pc, #184] ; (807375c ) 80736a4: fba3 1302 umull r1, r3, r3, r2 80736a8: 08d9 lsrs r1, r3, #3 80736aa: 460b mov r3, r1 80736ac: 009b lsls r3, r3, #2 80736ae: 440b add r3, r1 80736b0: 005b lsls r3, r3, #1 80736b2: 1ad1 subs r1, r2, r3 80736b4: b2cb uxtb r3, r1 80736b6: 3330 adds r3, #48 ; 0x30 80736b8: b2da uxtb r2, r3 80736ba: f507 733b add.w r3, r7, #748 ; 0x2ec 80736be: 709a strb r2, [r3, #2] if(menupos == MyMeasure) 80736c0: 4b27 ldr r3, [pc, #156] ; (8073760 ) 80736c2: 781b ldrb r3, [r3, #0] 80736c4: b2db uxtb r3, r3 80736c6: 2b04 cmp r3, #4 80736c8: d104 bne.n 80736d4 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80736ca: 4918 ldr r1, [pc, #96] ; (807372c ) 80736cc: 4825 ldr r0, [pc, #148] ; (8073764 ) 80736ce: f7e0 ff9f bl 8054610 80736d2: e004 b.n 80736de else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80736d4: 4915 ldr r1, [pc, #84] ; (807372c ) 80736d6: f04f 30ff mov.w r0, #4294967295 80736da: f7e0 ff99 bl 8054610 BSP_LCD_DisplayStringAt(256-13, 218, str, RIGHT_MODE); 80736de: f507 723b add.w r2, r7, #748 ; 0x2ec 80736e2: 2302 movs r3, #2 80736e4: 21da movs r1, #218 ; 0xda 80736e6: 20f3 movs r0, #243 ; 0xf3 80736e8: f7e1 f858 bl 805479c 80736ec: e05e b.n 80737ac } else { if(menupos == MyPoint) 80736ee: 4b1c ldr r3, [pc, #112] ; (8073760 ) 80736f0: 781b ldrb r3, [r3, #0] 80736f2: b2db uxtb r3, r3 80736f4: 2b03 cmp r3, #3 80736f6: d139 bne.n 807376c LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80736f8: 490c ldr r1, [pc, #48] ; (807372c ) 80736fa: 481a ldr r0, [pc, #104] ; (8073764 ) 80736fc: f7e0 ff88 bl 8054610 8073700: e039 b.n 8073776 8073702: bf00 nop 8073704: 08151dc4 .word 0x08151dc4 8073708: 0815a53c .word 0x0815a53c 807370c: 081538dc .word 0x081538dc 8073710: 20020dcf .word 0x20020dcf 8073714: 0815f684 .word 0x0815f684 8073718: 08156f0c .word 0x08156f0c 807371c: 0815cde0 .word 0x0815cde0 8073720: 20020040 .word 0x20020040 8073724: 20020e78 .word 0x20020e78 8073728: 20020038 .word 0x20020038 807372c: ff0a0f1f .word 0xff0a0f1f 8073730: ff808080 .word 0xff808080 8073734: 20023ea8 .word 0x20023ea8 8073738: 080d3e30 .word 0x080d3e30 807373c: 20020e34 .word 0x20020e34 8073740: 20022698 .word 0x20022698 8073744: 080d3e38 .word 0x080d3e38 8073748: 080d3e40 .word 0x080d3e40 807374c: 080d3e48 .word 0x080d3e48 8073750: ffefcc95 .word 0xffefcc95 8073754: 20021fe4 .word 0x20021fe4 8073758: 51eb851f .word 0x51eb851f 807375c: cccccccd .word 0xcccccccd 8073760: 20020070 .word 0x20020070 8073764: ff29eb19 .word 0xff29eb19 8073768: 20022358 .word 0x20022358 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807376c: 49ae ldr r1, [pc, #696] ; (8073a28 ) 807376e: f04f 30ff mov.w r0, #4294967295 8073772: f7e0 ff4d bl 8054610 BSP_LCD_DisplayStringAt(192-13, 218, "---", RIGHT_MODE); 8073776: 2302 movs r3, #2 8073778: 4aac ldr r2, [pc, #688] ; (8073a2c ) 807377a: 21da movs r1, #218 ; 0xda 807377c: 20b3 movs r0, #179 ; 0xb3 807377e: f7e1 f80d bl 805479c if(menupos == MyMeasure) 8073782: 4bab ldr r3, [pc, #684] ; (8073a30 ) 8073784: 781b ldrb r3, [r3, #0] 8073786: b2db uxtb r3, r3 8073788: 2b04 cmp r3, #4 807378a: d104 bne.n 8073796 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 807378c: 49a6 ldr r1, [pc, #664] ; (8073a28 ) 807378e: 48a9 ldr r0, [pc, #676] ; (8073a34 ) 8073790: f7e0 ff3e bl 8054610 8073794: e004 b.n 80737a0 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073796: 49a4 ldr r1, [pc, #656] ; (8073a28 ) 8073798: f04f 30ff mov.w r0, #4294967295 807379c: f7e0 ff38 bl 8054610 BSP_LCD_DisplayStringAt(256-13, 218, "---", RIGHT_MODE); 80737a0: 2302 movs r3, #2 80737a2: 4aa2 ldr r2, [pc, #648] ; (8073a2c ) 80737a4: 21da movs r1, #218 ; 0xda 80737a6: 20f3 movs r0, #243 ; 0xf3 80737a8: f7e0 fff8 bl 805479c } //******************************************************************************************** //******************************************************************************************** RedrawNums(); 80737ac: f026 f836 bl 809981c //******************************************************************************************** //******************************************************************************************** break; 80737b0: f024 bf3c b.w 809862c case MAIN_ROLL: DrawLegend(); 80737b4: f03d fb92 bl 80b0edc DrawButtons(menupos); 80737b8: 4b9d ldr r3, [pc, #628] ; (8073a30 ) 80737ba: 781b ldrb r3, [r3, #0] 80737bc: b2db uxtb r3, r3 80737be: 4618 mov r0, r3 80737c0: f03c fe4a bl 80b0458 DrawMarkers(); 80737c4: f03c fc14 bl 80afff0 if(Stability > (Nr * 4)) 80737c8: 4b9b ldr r3, [pc, #620] ; (8073a38 ) 80737ca: 881b ldrh r3, [r3, #0] 80737cc: b29b uxth r3, r3 80737ce: 009b lsls r3, r3, #2 80737d0: 461a mov r2, r3 80737d2: 4b9a ldr r3, [pc, #616] ; (8073a3c ) 80737d4: 681b ldr r3, [r3, #0] 80737d6: 429a cmp r2, r3 80737d8: d20a bcs.n 80737f0 { DrawGraph(); 80737da: f036 f821 bl 80a9820 if(SeeResults) 80737de: 4b98 ldr r3, [pc, #608] ; (8073a40 ) 80737e0: 781b ldrb r3, [r3, #0] 80737e2: b2db uxtb r3, r3 80737e4: 2b00 cmp r3, #0 80737e6: d001 beq.n 80737ec DrawCursorData(); 80737e8: f031 f976 bl 80a4ad8 DrawScaleValue(); 80737ec: f03b fee2 bl 80af5b4 } DrawAVS(); 80737f0: f03d fdd2 bl 80b1398 if(measuring) 80737f4: 4b93 ldr r3, [pc, #588] ; (8073a44 ) 80737f6: 781b ldrb r3, [r3, #0] 80737f8: b2db uxtb r3, r3 80737fa: 2b00 cmp r3, #0 80737fc: f024 86ed beq.w 80985da { if((Flag_Set_KU == 0) && (Stability > (Nr * 4)) && (NSamples >= 20)) 8073800: 4b91 ldr r3, [pc, #580] ; (8073a48 ) 8073802: 781b ldrb r3, [r3, #0] 8073804: b2db uxtb r3, r3 8073806: 2b00 cmp r3, #0 8073808: f064 86e7 bne.w 80985da 807380c: 4b8a ldr r3, [pc, #552] ; (8073a38 ) 807380e: 881b ldrh r3, [r3, #0] 8073810: b29b uxth r3, r3 8073812: 009b lsls r3, r3, #2 8073814: 461a mov r2, r3 8073816: 4b89 ldr r3, [pc, #548] ; (8073a3c ) 8073818: 681b ldr r3, [r3, #0] 807381a: 429a cmp r2, r3 807381c: f0a4 86dd bcs.w 80985da 8073820: 4b8a ldr r3, [pc, #552] ; (8073a4c ) 8073822: 681b ldr r3, [r3, #0] 8073824: 2b13 cmp r3, #19 8073826: f264 86d8 bls.w 80985da { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807382a: 497f ldr r1, [pc, #508] ; (8073a28 ) 807382c: f04f 30ff mov.w r0, #4294967295 8073830: f7e0 feee bl 8054610 BSP_LCD_FillRect(126, 137, 127, 8); 8073834: 2308 movs r3, #8 8073836: 227f movs r2, #127 ; 0x7f 8073838: 2189 movs r1, #137 ; 0x89 807383a: 207e movs r0, #126 ; 0x7e 807383c: f7e1 fb76 bl 8054f2c f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8073840: 4b83 ldr r3, [pc, #524] ; (8073a50 ) 8073842: 681b ldr r3, [r3, #0] 8073844: ee07 3a90 vmov s15, r3 8073848: eef8 6a67 vcvt.f32.u32 s13, s15 807384c: 4b81 ldr r3, [pc, #516] ; (8073a54 ) 807384e: 7b5b ldrb r3, [r3, #13] 8073850: b2db uxtb r3, r3 8073852: 461a mov r2, r3 8073854: 4b80 ldr r3, [pc, #512] ; (8073a58 ) 8073856: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 807385a: ee07 3a90 vmov s15, r3 807385e: eeb8 7a67 vcvt.f32.u32 s14, s15 8073862: eec6 7a87 vdiv.f32 s15, s13, s14 8073866: f507 638b add.w r3, r7, #1112 ; 0x458 807386a: edc3 7a00 vstr s15, [r3] f *= 125.0f; 807386e: f507 638b add.w r3, r7, #1112 ; 0x458 8073872: edd3 7a00 vldr s15, [r3] 8073876: ed9f 7a79 vldr s14, [pc, #484] ; 8073a5c 807387a: ee67 7a87 vmul.f32 s15, s15, s14 807387e: f507 638b add.w r3, r7, #1112 ; 0x458 8073882: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8073886: f507 638b add.w r3, r7, #1112 ; 0x458 807388a: edd3 7a00 vldr s15, [r3] 807388e: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8073892: eef4 7ac7 vcmpe.f32 s15, s14 8073896: eef1 fa10 vmrs APSR_nzcv, fpscr 807389a: d504 bpl.n 80738a6 807389c: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 80738a0: f507 628b add.w r2, r7, #1112 ; 0x458 80738a4: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 80738a6: f507 638b add.w r3, r7, #1112 ; 0x458 80738aa: edd3 7a00 vldr s15, [r3] 80738ae: ed9f 7a6b vldr s14, [pc, #428] ; 8073a5c 80738b2: eef4 7ac7 vcmpe.f32 s15, s14 80738b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80738ba: dd03 ble.n 80738c4 80738bc: 4b68 ldr r3, [pc, #416] ; (8073a60 ) 80738be: f507 628b add.w r2, r7, #1112 ; 0x458 80738c2: 6013 str r3, [r2, #0] ww = (uint16_t) f; 80738c4: f507 638b add.w r3, r7, #1112 ; 0x458 80738c8: edd3 7a00 vldr s15, [r3] 80738cc: eefc 7ae7 vcvt.u32.f32 s15, s15 80738d0: edc7 7a01 vstr s15, [r7, #4] 80738d4: 88bb ldrh r3, [r7, #4] 80738d6: f8a7 3412 strh.w r3, [r7, #1042] ; 0x412 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80738da: 4953 ldr r1, [pc, #332] ; (8073a28 ) 80738dc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80738e0: f7e0 fe96 bl 8054610 BSP_LCD_FillRect(127, 138, ww, 6); 80738e4: f8b7 2412 ldrh.w r2, [r7, #1042] ; 0x412 80738e8: 2306 movs r3, #6 80738ea: 218a movs r1, #138 ; 0x8a 80738ec: 207f movs r0, #127 ; 0x7f 80738ee: f7e1 fb1d bl 8054f2c } } break; 80738f2: f024 be72 b.w 80985da case VIEW_PORTRET: DrawLegend(); 80738f6: f03d faf1 bl 80b0edc DrawButtons(menupos); 80738fa: 4b4d ldr r3, [pc, #308] ; (8073a30 ) 80738fc: 781b ldrb r3, [r3, #0] 80738fe: b2db uxtb r3, r3 8073900: 4618 mov r0, r3 8073902: f03c fda9 bl 80b0458 DrawMarkers(); 8073906: f03c fb73 bl 80afff0 BSP_LCD_SetFont(&Font12); 807390a: 4856 ldr r0, [pc, #344] ; (8073a64 ) 807390c: f7e0 febc bl 8054688 if(SeeResults) 8073910: 4b4b ldr r3, [pc, #300] ; (8073a40 ) 8073912: 781b ldrb r3, [r3, #0] 8073914: b2db uxtb r3, r3 8073916: 2b00 cmp r3, #0 8073918: d003 beq.n 8073922 { DrawGraph(); 807391a: f035 ff81 bl 80a9820 DrawCursorData(); 807391e: f031 f8db bl 80a4ad8 } DrawScaleValue(); 8073922: f03b fe47 bl 80af5b4 DrawAVS(); 8073926: f03d fd37 bl 80b1398 BSP_LCD_SetFont(&Font12); 807392a: 484e ldr r0, [pc, #312] ; (8073a64 ) 807392c: f7e0 feac bl 8054688 break; 8073930: f024 be7c b.w 809862c * 10) Íåóðàâíîâåøåííîñòü ðîòîðà * 11) Äåôåêòû óçëîâ êðåïëåíèÿ * 12) Íåñîîñíîñòü */ DrawLegend(); 8073934: f03d fad2 bl 80b0edc DrawButtons(Results); 8073938: 2008 movs r0, #8 807393a: f03c fd8d bl 80b0458 DrawMarkers(); 807393e: f03c fb57 bl 80afff0 DrawGraph(); 8073942: f035 ff6d bl 80a9820 DrawCursorData(); 8073946: f031 f8c7 bl 80a4ad8 DrawScaleValue(); 807394a: f03b fe33 bl 80af5b4 DrawAVS(); 807394e: f03d fd23 bl 80b1398 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073952: 4935 ldr r1, [pc, #212] ; (8073a28 ) 8073954: f04f 30ff mov.w r0, #4294967295 8073958: f7e0 fe5a bl 8054610 BSP_LCD_FillRect(25+10, 41+10, 267, 154); 807395c: 239a movs r3, #154 ; 0x9a 807395e: f240 120b movw r2, #267 ; 0x10b 8073962: 2133 movs r1, #51 ; 0x33 8073964: 2023 movs r0, #35 ; 0x23 8073966: f7e1 fae1 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 807396a: 492f ldr r1, [pc, #188] ; (8073a28 ) 807396c: 482e ldr r0, [pc, #184] ; (8073a28 ) 807396e: f7e0 fe4f bl 8054610 BSP_LCD_FillRect(27+10, 43+10, 263, 150); 8073972: 2396 movs r3, #150 ; 0x96 8073974: f240 1207 movw r2, #263 ; 0x107 8073978: 2135 movs r1, #53 ; 0x35 807397a: 2025 movs r0, #37 ; 0x25 807397c: f7e1 fad6 bl 8054f2c BSP_LCD_SetFont(&Font12); 8073980: 4838 ldr r0, [pc, #224] ; (8073a64 ) 8073982: f7e0 fe81 bl 8054688 for(i = 0; i < NUM_DEFECTS; i++) 8073986: 2300 movs r3, #0 8073988: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 807398c: e045 b.n 8073a1a { if(i == menupos) 807398e: 4b28 ldr r3, [pc, #160] ; (8073a30 ) 8073990: 781b ldrb r3, [r3, #0] 8073992: b2db uxtb r3, r3 8073994: 461a mov r2, r3 8073996: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807399a: 429a cmp r2, r3 807399c: d103 bne.n 80739a6 j = 0xFF9DAD8E; 807399e: 4b32 ldr r3, [pc, #200] ; (8073a68 ) 80739a0: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 80739a4: e002 b.n 80739ac else j = LCD_COLOR_CLEAR; 80739a6: 4b20 ldr r3, [pc, #128] ; (8073a28 ) 80739a8: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc if(DEFECTS[i]) 80739ac: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80739b0: 4a2e ldr r2, [pc, #184] ; (8073a6c ) 80739b2: 5cd3 ldrb r3, [r2, r3] 80739b4: b2db uxtb r3, r3 80739b6: 2b00 cmp r3, #0 80739b8: d006 beq.n 80739c8 LCD_SetColors(0xFFF42817, j); 80739ba: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80739be: 4619 mov r1, r3 80739c0: 482b ldr r0, [pc, #172] ; (8073a70 ) 80739c2: f7e0 fe25 bl 8054610 80739c6: e006 b.n 80739d6 else LCD_SetColors(LCD_COLOR_WHITE, j); 80739c8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80739cc: 4619 mov r1, r3 80739ce: f04f 30ff mov.w r0, #4294967295 80739d2: f7e0 fe1d bl 8054610 BSP_LCD_DisplayStringAt(34+10, 46+10 + 12*i, (char *) DEFECTS_STRING[pardata.LANG][i], LEFT_MODE); 80739d6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80739da: b29b uxth r3, r3 80739dc: 461a mov r2, r3 80739de: 0052 lsls r2, r2, #1 80739e0: 4413 add r3, r2 80739e2: 009b lsls r3, r3, #2 80739e4: b29b uxth r3, r3 80739e6: 3338 adds r3, #56 ; 0x38 80739e8: b29c uxth r4, r3 80739ea: 4b1a ldr r3, [pc, #104] ; (8073a54 ) 80739ec: 7b1b ldrb r3, [r3, #12] 80739ee: b2db uxtb r3, r3 80739f0: 4618 mov r0, r3 80739f2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80739f6: 491f ldr r1, [pc, #124] ; (8073a74 ) 80739f8: 4603 mov r3, r0 80739fa: 005b lsls r3, r3, #1 80739fc: 4403 add r3, r0 80739fe: 009b lsls r3, r3, #2 8073a00: 4413 add r3, r2 8073a02: f851 2023 ldr.w r2, [r1, r3, lsl #2] 8073a06: 2303 movs r3, #3 8073a08: 4621 mov r1, r4 8073a0a: 202c movs r0, #44 ; 0x2c 8073a0c: f7e0 fec6 bl 805479c for(i = 0; i < NUM_DEFECTS; i++) 8073a10: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073a14: 3301 adds r3, #1 8073a16: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073a1a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073a1e: 2b0b cmp r3, #11 8073a20: d9b5 bls.n 807398e } break; 8073a22: f024 be03 b.w 809862c 8073a26: bf00 nop 8073a28: ff0a0f1f .word 0xff0a0f1f 8073a2c: 080d3e50 .word 0x080d3e50 8073a30: 20020070 .word 0x20020070 8073a34: ff29eb19 .word 0xff29eb19 8073a38: 20021d68 .word 0x20021d68 8073a3c: 20020dc8 .word 0x20020dc8 8073a40: 20020d88 .word 0x20020d88 8073a44: 20020dcf .word 0x20020dcf 8073a48: 20020d9e .word 0x20020d9e 8073a4c: 20020da8 .word 0x20020da8 8073a50: 20020dd8 .word 0x20020dd8 8073a54: 20023ea8 .word 0x20023ea8 8073a58: 080f3a2c .word 0x080f3a2c 8073a5c: 42fa0000 .word 0x42fa0000 8073a60: 42fa0000 .word 0x42fa0000 8073a64: 20020038 .word 0x20020038 8073a68: ff9dad8e .word 0xff9dad8e 8073a6c: 20026f50 .word 0x20026f50 8073a70: fff42817 .word 0xfff42817 8073a74: 20020624 .word 0x20020624 case MAIN_SPEC: case MAIN_SPEC_OGIB: ////////////////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8073a78: f03d fa30 bl 80b0edc DrawButtons(menupos); 8073a7c: 4bab ldr r3, [pc, #684] ; (8073d2c ) 8073a7e: 781b ldrb r3, [r3, #0] 8073a80: b2db uxtb r3, r3 8073a82: 4618 mov r0, r3 8073a84: f03c fce8 bl 80b0458 DrawMarkers(); 8073a88: f03c fab2 bl 80afff0 if(Stability > (Nr * 4)) 8073a8c: 4ba8 ldr r3, [pc, #672] ; (8073d30 ) 8073a8e: 881b ldrh r3, [r3, #0] 8073a90: b29b uxth r3, r3 8073a92: 009b lsls r3, r3, #2 8073a94: 461a mov r2, r3 8073a96: 4ba7 ldr r3, [pc, #668] ; (8073d34 ) 8073a98: 681b ldr r3, [r3, #0] 8073a9a: 429a cmp r2, r3 8073a9c: d20a bcs.n 8073ab4 { DrawGraph(); 8073a9e: f035 febf bl 80a9820 if(READY_TO_SEE) 8073aa2: 4ba5 ldr r3, [pc, #660] ; (8073d38 ) 8073aa4: 781b ldrb r3, [r3, #0] 8073aa6: b2db uxtb r3, r3 8073aa8: 2b00 cmp r3, #0 8073aaa: d001 beq.n 8073ab0 DrawCursorData(); 8073aac: f031 f814 bl 80a4ad8 DrawScaleValue(); 8073ab0: f03b fd80 bl 80af5b4 } if((measuring) && (!READY_TO_SEE)) 8073ab4: 4ba1 ldr r3, [pc, #644] ; (8073d3c ) 8073ab6: 781b ldrb r3, [r3, #0] 8073ab8: b2db uxtb r3, r3 8073aba: 2b00 cmp r3, #0 8073abc: f000 8086 beq.w 8073bcc 8073ac0: 4b9d ldr r3, [pc, #628] ; (8073d38 ) 8073ac2: 781b ldrb r3, [r3, #0] 8073ac4: b2db uxtb r3, r3 8073ac6: f083 0301 eor.w r3, r3, #1 8073aca: b2db uxtb r3, r3 8073acc: 2b00 cmp r3, #0 8073ace: d07d beq.n 8073bcc { if(MeanCnt < AVG[pardata.AVG]) 8073ad0: 4b9b ldr r3, [pc, #620] ; (8073d40 ) 8073ad2: 7b5b ldrb r3, [r3, #13] 8073ad4: b2db uxtb r3, r3 8073ad6: 461a mov r2, r3 8073ad8: 4b9a ldr r3, [pc, #616] ; (8073d44 ) 8073ada: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8073ade: 461a mov r2, r3 8073ae0: 4b99 ldr r3, [pc, #612] ; (8073d48 ) 8073ae2: 681b ldr r3, [r3, #0] 8073ae4: 429a cmp r2, r3 8073ae6: d971 bls.n 8073bcc { if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8073ae8: 4b98 ldr r3, [pc, #608] ; (8073d4c ) 8073aea: 781b ldrb r3, [r3, #0] 8073aec: b2db uxtb r3, r3 8073aee: 2b00 cmp r3, #0 8073af0: d16c bne.n 8073bcc 8073af2: 4b8f ldr r3, [pc, #572] ; (8073d30 ) 8073af4: 881b ldrh r3, [r3, #0] 8073af6: b29b uxth r3, r3 8073af8: 009b lsls r3, r3, #2 8073afa: 461a mov r2, r3 8073afc: 4b8d ldr r3, [pc, #564] ; (8073d34 ) 8073afe: 681b ldr r3, [r3, #0] 8073b00: 429a cmp r2, r3 8073b02: d263 bcs.n 8073bcc { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073b04: 4992 ldr r1, [pc, #584] ; (8073d50 ) 8073b06: f04f 30ff mov.w r0, #4294967295 8073b0a: f7e0 fd81 bl 8054610 BSP_LCD_FillRect(126, 137, 127, 8); 8073b0e: 2308 movs r3, #8 8073b10: 227f movs r2, #127 ; 0x7f 8073b12: 2189 movs r1, #137 ; 0x89 8073b14: 207e movs r0, #126 ; 0x7e 8073b16: f7e1 fa09 bl 8054f2c f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8073b1a: 4b8b ldr r3, [pc, #556] ; (8073d48 ) 8073b1c: 681b ldr r3, [r3, #0] 8073b1e: ee07 3a90 vmov s15, r3 8073b22: eef8 6a67 vcvt.f32.u32 s13, s15 8073b26: 4b86 ldr r3, [pc, #536] ; (8073d40 ) 8073b28: 7b5b ldrb r3, [r3, #13] 8073b2a: b2db uxtb r3, r3 8073b2c: 461a mov r2, r3 8073b2e: 4b85 ldr r3, [pc, #532] ; (8073d44 ) 8073b30: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8073b34: ee07 3a90 vmov s15, r3 8073b38: eeb8 7a67 vcvt.f32.u32 s14, s15 8073b3c: eec6 7a87 vdiv.f32 s15, s13, s14 8073b40: f507 638b add.w r3, r7, #1112 ; 0x458 8073b44: edc3 7a00 vstr s15, [r3] f *= 125.0f; 8073b48: f507 638b add.w r3, r7, #1112 ; 0x458 8073b4c: edd3 7a00 vldr s15, [r3] 8073b50: ed9f 7a80 vldr s14, [pc, #512] ; 8073d54 8073b54: ee67 7a87 vmul.f32 s15, s15, s14 8073b58: f507 638b add.w r3, r7, #1112 ; 0x458 8073b5c: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8073b60: f507 638b add.w r3, r7, #1112 ; 0x458 8073b64: edd3 7a00 vldr s15, [r3] 8073b68: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8073b6c: eef4 7ac7 vcmpe.f32 s15, s14 8073b70: eef1 fa10 vmrs APSR_nzcv, fpscr 8073b74: d504 bpl.n 8073b80 8073b76: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8073b7a: f507 628b add.w r2, r7, #1112 ; 0x458 8073b7e: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 8073b80: f507 638b add.w r3, r7, #1112 ; 0x458 8073b84: edd3 7a00 vldr s15, [r3] 8073b88: ed9f 7a72 vldr s14, [pc, #456] ; 8073d54 8073b8c: eef4 7ac7 vcmpe.f32 s15, s14 8073b90: eef1 fa10 vmrs APSR_nzcv, fpscr 8073b94: dd03 ble.n 8073b9e 8073b96: 4b70 ldr r3, [pc, #448] ; (8073d58 ) 8073b98: f507 628b add.w r2, r7, #1112 ; 0x458 8073b9c: 6013 str r3, [r2, #0] ww = (uint16_t) f; 8073b9e: f507 638b add.w r3, r7, #1112 ; 0x458 8073ba2: edd3 7a00 vldr s15, [r3] 8073ba6: eefc 7ae7 vcvt.u32.f32 s15, s15 8073baa: edc7 7a01 vstr s15, [r7, #4] 8073bae: 88bb ldrh r3, [r7, #4] 8073bb0: f8a7 3410 strh.w r3, [r7, #1040] ; 0x410 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8073bb4: 4966 ldr r1, [pc, #408] ; (8073d50 ) 8073bb6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8073bba: f7e0 fd29 bl 8054610 BSP_LCD_FillRect(127, 138, ww, 6); 8073bbe: f8b7 2410 ldrh.w r2, [r7, #1040] ; 0x410 8073bc2: 2306 movs r3, #6 8073bc4: 218a movs r1, #138 ; 0x8a 8073bc6: 207f movs r0, #127 ; 0x7f 8073bc8: f7e1 f9b0 bl 8054f2c BSP_LCD_DisplayStringAt(3, 46, "CK3,", LEFT_MODE); else BSP_LCD_DisplayStringAt(3, 46, "RMS,", LEFT_MODE); DrawRMS(); }*/ DrawAVS(); 8073bcc: f03d fbe4 bl 80b1398 break; 8073bd0: f024 bd2c b.w 809862c case MAIN_SPEC_OKT: //TODO ////////////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8073bd4: f03d f982 bl 80b0edc DrawButtons(menupos); 8073bd8: 4b54 ldr r3, [pc, #336] ; (8073d2c ) 8073bda: 781b ldrb r3, [r3, #0] 8073bdc: b2db uxtb r3, r3 8073bde: 4618 mov r0, r3 8073be0: f03c fc3a bl 80b0458 if(Stability > (Nr * 4)) 8073be4: 4b52 ldr r3, [pc, #328] ; (8073d30 ) 8073be6: 881b ldrh r3, [r3, #0] 8073be8: b29b uxth r3, r3 8073bea: 009b lsls r3, r3, #2 8073bec: 461a mov r2, r3 8073bee: 4b51 ldr r3, [pc, #324] ; (8073d34 ) 8073bf0: 681b ldr r3, [r3, #0] 8073bf2: 429a cmp r2, r3 8073bf4: d20d bcs.n 8073c12 { DrawGraph(); 8073bf6: f035 fe13 bl 80a9820 if(!firstOkt) 8073bfa: 4b58 ldr r3, [pc, #352] ; (8073d5c ) 8073bfc: 781b ldrb r3, [r3, #0] 8073bfe: b2db uxtb r3, r3 8073c00: f083 0301 eor.w r3, r3, #1 8073c04: b2db uxtb r3, r3 8073c06: 2b00 cmp r3, #0 8073c08: d001 beq.n 8073c0e DrawCursorData(); 8073c0a: f030 ff65 bl 80a4ad8 DrawScaleValue(); 8073c0e: f03b fcd1 bl 80af5b4 } ////////////////////////////////////////////////////////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 8073c12: 4853 ldr r0, [pc, #332] ; (8073d60 ) 8073c14: f7e0 fd38 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073c18: 494d ldr r1, [pc, #308] ; (8073d50 ) 8073c1a: f04f 30ff mov.w r0, #4294967295 8073c1e: f7e0 fcf7 bl 8054610 /*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)) 8073c22: 4b46 ldr r3, [pc, #280] ; (8073d3c ) 8073c24: 781b ldrb r3, [r3, #0] 8073c26: b2db uxtb r3, r3 8073c28: 2b00 cmp r3, #0 8073c2a: d07b beq.n 8073d24 8073c2c: 4b4b ldr r3, [pc, #300] ; (8073d5c ) 8073c2e: 781b ldrb r3, [r3, #0] 8073c30: b2db uxtb r3, r3 8073c32: 2b00 cmp r3, #0 8073c34: d076 beq.n 8073d24 8073c36: 4b4b ldr r3, [pc, #300] ; (8073d64 ) 8073c38: 681b ldr r3, [r3, #0] 8073c3a: f1b3 3fff cmp.w r3, #4294967295 8073c3e: d071 beq.n 8073d24 { if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8073c40: 4b42 ldr r3, [pc, #264] ; (8073d4c ) 8073c42: 781b ldrb r3, [r3, #0] 8073c44: b2db uxtb r3, r3 8073c46: 2b00 cmp r3, #0 8073c48: d16c bne.n 8073d24 8073c4a: 4b39 ldr r3, [pc, #228] ; (8073d30 ) 8073c4c: 881b ldrh r3, [r3, #0] 8073c4e: b29b uxth r3, r3 8073c50: 009b lsls r3, r3, #2 8073c52: 461a mov r2, r3 8073c54: 4b37 ldr r3, [pc, #220] ; (8073d34 ) 8073c56: 681b ldr r3, [r3, #0] 8073c58: 429a cmp r2, r3 8073c5a: d263 bcs.n 8073d24 { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073c5c: 493c ldr r1, [pc, #240] ; (8073d50 ) 8073c5e: f04f 30ff mov.w r0, #4294967295 8073c62: f7e0 fcd5 bl 8054610 BSP_LCD_FillRect(126, 137, 127, 8); 8073c66: 2308 movs r3, #8 8073c68: 227f movs r2, #127 ; 0x7f 8073c6a: 2189 movs r1, #137 ; 0x89 8073c6c: 207e movs r0, #126 ; 0x7e 8073c6e: f7e1 f95d bl 8054f2c f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8073c72: 4b35 ldr r3, [pc, #212] ; (8073d48 ) 8073c74: 681b ldr r3, [r3, #0] 8073c76: ee07 3a90 vmov s15, r3 8073c7a: eef8 6a67 vcvt.f32.u32 s13, s15 8073c7e: 4b30 ldr r3, [pc, #192] ; (8073d40 ) 8073c80: 7b5b ldrb r3, [r3, #13] 8073c82: b2db uxtb r3, r3 8073c84: 461a mov r2, r3 8073c86: 4b2f ldr r3, [pc, #188] ; (8073d44 ) 8073c88: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8073c8c: ee07 3a90 vmov s15, r3 8073c90: eeb8 7a67 vcvt.f32.u32 s14, s15 8073c94: eec6 7a87 vdiv.f32 s15, s13, s14 8073c98: f507 638b add.w r3, r7, #1112 ; 0x458 8073c9c: edc3 7a00 vstr s15, [r3] f *= 125.0f; 8073ca0: f507 638b add.w r3, r7, #1112 ; 0x458 8073ca4: edd3 7a00 vldr s15, [r3] 8073ca8: ed9f 7a2a vldr s14, [pc, #168] ; 8073d54 8073cac: ee67 7a87 vmul.f32 s15, s15, s14 8073cb0: f507 638b add.w r3, r7, #1112 ; 0x458 8073cb4: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8073cb8: f507 638b add.w r3, r7, #1112 ; 0x458 8073cbc: edd3 7a00 vldr s15, [r3] 8073cc0: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8073cc4: eef4 7ac7 vcmpe.f32 s15, s14 8073cc8: eef1 fa10 vmrs APSR_nzcv, fpscr 8073ccc: d504 bpl.n 8073cd8 8073cce: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8073cd2: f507 628b add.w r2, r7, #1112 ; 0x458 8073cd6: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 8073cd8: f507 638b add.w r3, r7, #1112 ; 0x458 8073cdc: edd3 7a00 vldr s15, [r3] 8073ce0: ed9f 7a1c vldr s14, [pc, #112] ; 8073d54 8073ce4: eef4 7ac7 vcmpe.f32 s15, s14 8073ce8: eef1 fa10 vmrs APSR_nzcv, fpscr 8073cec: dd03 ble.n 8073cf6 8073cee: 4b1a ldr r3, [pc, #104] ; (8073d58 ) 8073cf0: f507 628b add.w r2, r7, #1112 ; 0x458 8073cf4: 6013 str r3, [r2, #0] ww = (uint16_t) f; 8073cf6: f507 638b add.w r3, r7, #1112 ; 0x458 8073cfa: edd3 7a00 vldr s15, [r3] 8073cfe: eefc 7ae7 vcvt.u32.f32 s15, s15 8073d02: edc7 7a01 vstr s15, [r7, #4] 8073d06: 88bb ldrh r3, [r7, #4] 8073d08: f8a7 340e strh.w r3, [r7, #1038] ; 0x40e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8073d0c: 4910 ldr r1, [pc, #64] ; (8073d50 ) 8073d0e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8073d12: f7e0 fc7d bl 8054610 BSP_LCD_FillRect(127, 138, ww, 6); 8073d16: f8b7 240e ldrh.w r2, [r7, #1038] ; 0x40e 8073d1a: 2306 movs r3, #6 8073d1c: 218a movs r1, #138 ; 0x8a 8073d1e: 207f movs r0, #127 ; 0x7f 8073d20: f7e1 f904 bl 8054f2c } } //DrawRMS(); DrawAVS(); 8073d24: f03d fb38 bl 80b1398 break; 8073d28: f024 bc80 b.w 809862c 8073d2c: 20020070 .word 0x20020070 8073d30: 20021d68 .word 0x20021d68 8073d34: 20020dc8 .word 0x20020dc8 8073d38: 20020dae .word 0x20020dae 8073d3c: 20020dcf .word 0x20020dcf 8073d40: 20023ea8 .word 0x20023ea8 8073d44: 080f3a2c .word 0x080f3a2c 8073d48: 20020dd8 .word 0x20020dd8 8073d4c: 20020d9e .word 0x20020d9e 8073d50: ff0a0f1f .word 0xff0a0f1f 8073d54: 42fa0000 .word 0x42fa0000 8073d58: 42fa0000 .word 0x42fa0000 8073d5c: 20020db4 .word 0x20020db4 8073d60: 20020038 .word 0x20020038 8073d64: 20020da8 .word 0x20020da8 case MAIN_SPEC_THIRD: //TODO ////////////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8073d68: f03d f8b8 bl 80b0edc DrawButtons(menupos); 8073d6c: 4bbe ldr r3, [pc, #760] ; (8074068 ) 8073d6e: 781b ldrb r3, [r3, #0] 8073d70: b2db uxtb r3, r3 8073d72: 4618 mov r0, r3 8073d74: f03c fb70 bl 80b0458 if(Stability > (Nr * 4)) 8073d78: 4bbc ldr r3, [pc, #752] ; (807406c ) 8073d7a: 881b ldrh r3, [r3, #0] 8073d7c: b29b uxth r3, r3 8073d7e: 009b lsls r3, r3, #2 8073d80: 461a mov r2, r3 8073d82: 4bbb ldr r3, [pc, #748] ; (8074070 ) 8073d84: 681b ldr r3, [r3, #0] 8073d86: 429a cmp r2, r3 8073d88: d20d bcs.n 8073da6 { DrawGraph(); 8073d8a: f035 fd49 bl 80a9820 if(!firstOkt) 8073d8e: 4bb9 ldr r3, [pc, #740] ; (8074074 ) 8073d90: 781b ldrb r3, [r3, #0] 8073d92: b2db uxtb r3, r3 8073d94: f083 0301 eor.w r3, r3, #1 8073d98: b2db uxtb r3, r3 8073d9a: 2b00 cmp r3, #0 8073d9c: d001 beq.n 8073da2 DrawCursorData(); 8073d9e: f030 fe9b bl 80a4ad8 DrawScaleValue(); 8073da2: f03b fc07 bl 80af5b4 } ////////////////////////////////////////////////////////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 8073da6: 48b4 ldr r0, [pc, #720] ; (8074078 ) 8073da8: f7e0 fc6e bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073dac: 49b3 ldr r1, [pc, #716] ; (807407c ) 8073dae: f04f 30ff mov.w r0, #4294967295 8073db2: f7e0 fc2d bl 8054610 /*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)) 8073db6: 4bb2 ldr r3, [pc, #712] ; (8074080 ) 8073db8: 781b ldrb r3, [r3, #0] 8073dba: b2db uxtb r3, r3 8073dbc: 2b00 cmp r3, #0 8073dbe: d07b beq.n 8073eb8 8073dc0: 4bac ldr r3, [pc, #688] ; (8074074 ) 8073dc2: 781b ldrb r3, [r3, #0] 8073dc4: b2db uxtb r3, r3 8073dc6: 2b00 cmp r3, #0 8073dc8: d076 beq.n 8073eb8 8073dca: 4bae ldr r3, [pc, #696] ; (8074084 ) 8073dcc: 681b ldr r3, [r3, #0] 8073dce: f1b3 3fff cmp.w r3, #4294967295 8073dd2: d071 beq.n 8073eb8 { if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8073dd4: 4bac ldr r3, [pc, #688] ; (8074088 ) 8073dd6: 781b ldrb r3, [r3, #0] 8073dd8: b2db uxtb r3, r3 8073dda: 2b00 cmp r3, #0 8073ddc: d16c bne.n 8073eb8 8073dde: 4ba3 ldr r3, [pc, #652] ; (807406c ) 8073de0: 881b ldrh r3, [r3, #0] 8073de2: b29b uxth r3, r3 8073de4: 009b lsls r3, r3, #2 8073de6: 461a mov r2, r3 8073de8: 4ba1 ldr r3, [pc, #644] ; (8074070 ) 8073dea: 681b ldr r3, [r3, #0] 8073dec: 429a cmp r2, r3 8073dee: d263 bcs.n 8073eb8 { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073df0: 49a2 ldr r1, [pc, #648] ; (807407c ) 8073df2: f04f 30ff mov.w r0, #4294967295 8073df6: f7e0 fc0b bl 8054610 BSP_LCD_FillRect(126, 137, 127, 8); 8073dfa: 2308 movs r3, #8 8073dfc: 227f movs r2, #127 ; 0x7f 8073dfe: 2189 movs r1, #137 ; 0x89 8073e00: 207e movs r0, #126 ; 0x7e 8073e02: f7e1 f893 bl 8054f2c f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8073e06: 4ba1 ldr r3, [pc, #644] ; (807408c ) 8073e08: 681b ldr r3, [r3, #0] 8073e0a: ee07 3a90 vmov s15, r3 8073e0e: eef8 6a67 vcvt.f32.u32 s13, s15 8073e12: 4b9f ldr r3, [pc, #636] ; (8074090 ) 8073e14: 7b5b ldrb r3, [r3, #13] 8073e16: b2db uxtb r3, r3 8073e18: 461a mov r2, r3 8073e1a: 4b9e ldr r3, [pc, #632] ; (8074094 ) 8073e1c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8073e20: ee07 3a90 vmov s15, r3 8073e24: eeb8 7a67 vcvt.f32.u32 s14, s15 8073e28: eec6 7a87 vdiv.f32 s15, s13, s14 8073e2c: f507 638b add.w r3, r7, #1112 ; 0x458 8073e30: edc3 7a00 vstr s15, [r3] f *= 125.0f; 8073e34: f507 638b add.w r3, r7, #1112 ; 0x458 8073e38: edd3 7a00 vldr s15, [r3] 8073e3c: ed9f 7a96 vldr s14, [pc, #600] ; 8074098 8073e40: ee67 7a87 vmul.f32 s15, s15, s14 8073e44: f507 638b add.w r3, r7, #1112 ; 0x458 8073e48: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8073e4c: f507 638b add.w r3, r7, #1112 ; 0x458 8073e50: edd3 7a00 vldr s15, [r3] 8073e54: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8073e58: eef4 7ac7 vcmpe.f32 s15, s14 8073e5c: eef1 fa10 vmrs APSR_nzcv, fpscr 8073e60: d504 bpl.n 8073e6c 8073e62: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8073e66: f507 628b add.w r2, r7, #1112 ; 0x458 8073e6a: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 8073e6c: f507 638b add.w r3, r7, #1112 ; 0x458 8073e70: edd3 7a00 vldr s15, [r3] 8073e74: ed9f 7a88 vldr s14, [pc, #544] ; 8074098 8073e78: eef4 7ac7 vcmpe.f32 s15, s14 8073e7c: eef1 fa10 vmrs APSR_nzcv, fpscr 8073e80: dd03 ble.n 8073e8a 8073e82: 4b86 ldr r3, [pc, #536] ; (807409c ) 8073e84: f507 628b add.w r2, r7, #1112 ; 0x458 8073e88: 6013 str r3, [r2, #0] ww = (uint16_t) f; 8073e8a: f507 638b add.w r3, r7, #1112 ; 0x458 8073e8e: edd3 7a00 vldr s15, [r3] 8073e92: eefc 7ae7 vcvt.u32.f32 s15, s15 8073e96: edc7 7a01 vstr s15, [r7, #4] 8073e9a: 88bb ldrh r3, [r7, #4] 8073e9c: f8a7 340c strh.w r3, [r7, #1036] ; 0x40c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8073ea0: 4976 ldr r1, [pc, #472] ; (807407c ) 8073ea2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8073ea6: f7e0 fbb3 bl 8054610 BSP_LCD_FillRect(127, 138, ww, 6); 8073eaa: f8b7 240c ldrh.w r2, [r7, #1036] ; 0x40c 8073eae: 2306 movs r3, #6 8073eb0: 218a movs r1, #138 ; 0x8a 8073eb2: 207f movs r0, #127 ; 0x7f 8073eb4: f7e1 f83a bl 8054f2c } } //DrawRMS(); DrawAVS(); 8073eb8: f03d fa6e bl 80b1398 break; 8073ebc: f024 bbb6 b.w 809862c case MAIN_OSC: // /////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8073ec0: f03d f80c bl 80b0edc DrawButtons(menupos); 8073ec4: 4b68 ldr r3, [pc, #416] ; (8074068 ) 8073ec6: 781b ldrb r3, [r3, #0] 8073ec8: b2db uxtb r3, r3 8073eca: 4618 mov r0, r3 8073ecc: f03c fac4 bl 80b0458 DrawMarkers(); 8073ed0: f03c f88e bl 80afff0 if((Threshold) || (Stability > (Nr * 4))) 8073ed4: 4b72 ldr r3, [pc, #456] ; (80740a0 ) 8073ed6: 781b ldrb r3, [r3, #0] 8073ed8: b2db uxtb r3, r3 8073eda: 2b00 cmp r3, #0 8073edc: d108 bne.n 8073ef0 8073ede: 4b63 ldr r3, [pc, #396] ; (807406c ) 8073ee0: 881b ldrh r3, [r3, #0] 8073ee2: b29b uxth r3, r3 8073ee4: 009b lsls r3, r3, #2 8073ee6: 461a mov r2, r3 8073ee8: 4b61 ldr r3, [pc, #388] ; (8074070 ) 8073eea: 681b ldr r3, [r3, #0] 8073eec: 429a cmp r2, r3 8073eee: d21e bcs.n 8073f2e { if((pardata.IPR == ACC) || ((pardata.IPR > ACC) && (skz[pardata.IPR] != -1.0f))) 8073ef0: 4b67 ldr r3, [pc, #412] ; (8074090 ) 8073ef2: 785b ldrb r3, [r3, #1] 8073ef4: b2db uxtb r3, r3 8073ef6: 2b00 cmp r3, #0 8073ef8: d013 beq.n 8073f22 8073efa: 4b65 ldr r3, [pc, #404] ; (8074090 ) 8073efc: 785b ldrb r3, [r3, #1] 8073efe: b2db uxtb r3, r3 8073f00: 2b00 cmp r3, #0 8073f02: d014 beq.n 8073f2e 8073f04: 4b62 ldr r3, [pc, #392] ; (8074090 ) 8073f06: 785b ldrb r3, [r3, #1] 8073f08: b2db uxtb r3, r3 8073f0a: 4a66 ldr r2, [pc, #408] ; (80740a4 ) 8073f0c: 009b lsls r3, r3, #2 8073f0e: 4413 add r3, r2 8073f10: edd3 7a00 vldr s15, [r3] 8073f14: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 8073f18: eef4 7a47 vcmp.f32 s15, s14 8073f1c: eef1 fa10 vmrs APSR_nzcv, fpscr 8073f20: d005 beq.n 8073f2e { DrawGraph(); 8073f22: f035 fc7d bl 80a9820 DrawCursorData(); 8073f26: f030 fdd7 bl 80a4ad8 DrawScaleValue(); 8073f2a: f03b fb43 bl 80af5b4 } } /////////////////////////////////////////////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 8073f2e: 4852 ldr r0, [pc, #328] ; (8074078 ) 8073f30: f7e0 fbaa bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073f34: 4951 ldr r1, [pc, #324] ; (807407c ) 8073f36: f04f 30ff mov.w r0, #4294967295 8073f3a: f7e0 fb69 bl 8054610 if(pardata.LANG == RUS) 8073f3e: 4b54 ldr r3, [pc, #336] ; (8074090 ) 8073f40: 7b1b ldrb r3, [r3, #12] 8073f42: b2db uxtb r3, r3 8073f44: 2b00 cmp r3, #0 8073f46: d106 bne.n 8073f56 BSP_LCD_DisplayStringAt(3, 46, "CK3,", LEFT_MODE); 8073f48: 2303 movs r3, #3 8073f4a: 4a57 ldr r2, [pc, #348] ; (80740a8 ) 8073f4c: 212e movs r1, #46 ; 0x2e 8073f4e: 2003 movs r0, #3 8073f50: f7e0 fc24 bl 805479c 8073f54: e005 b.n 8073f62 else BSP_LCD_DisplayStringAt(3, 46, "RMS,", LEFT_MODE); 8073f56: 2303 movs r3, #3 8073f58: 4a54 ldr r2, [pc, #336] ; (80740ac ) 8073f5a: 212e movs r1, #46 ; 0x2e 8073f5c: 2003 movs r0, #3 8073f5e: f7e0 fc1d bl 805479c if((pardata.IPR == ACC) || ((pardata.IPR > ACC) && (skz[pardata.IPR] != -1.0f))) { 8073f62: 4b4b ldr r3, [pc, #300] ; (8074090 ) 8073f64: 785b ldrb r3, [r3, #1] 8073f66: b2db uxtb r3, r3 8073f68: 2b00 cmp r3, #0 8073f6a: d013 beq.n 8073f94 8073f6c: 4b48 ldr r3, [pc, #288] ; (8074090 ) 8073f6e: 785b ldrb r3, [r3, #1] 8073f70: b2db uxtb r3, r3 8073f72: 2b00 cmp r3, #0 8073f74: d011 beq.n 8073f9a 8073f76: 4b46 ldr r3, [pc, #280] ; (8074090 ) 8073f78: 785b ldrb r3, [r3, #1] 8073f7a: b2db uxtb r3, r3 8073f7c: 4a49 ldr r2, [pc, #292] ; (80740a4 ) 8073f7e: 009b lsls r3, r3, #2 8073f80: 4413 add r3, r2 8073f82: edd3 7a00 vldr s15, [r3] 8073f86: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 8073f8a: eef4 7a47 vcmp.f32 s15, s14 8073f8e: eef1 fa10 vmrs APSR_nzcv, fpscr 8073f92: d002 beq.n 8073f9a DrawRMS(); 8073f94: f03c fff4 bl 80b0f80 8073f98: e015 b.n 8073fc6 } else { LCD_SetColors(LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 8073f9a: 4938 ldr r1, [pc, #224] ; (807407c ) 8073f9c: 4844 ldr r0, [pc, #272] ; (80740b0 ) 8073f9e: f7e0 fb37 bl 8054610 if(pardata.LANG == RUS) 8073fa2: 4b3b ldr r3, [pc, #236] ; (8074090 ) 8073fa4: 7b1b ldrb r3, [r3, #12] 8073fa6: b2db uxtb r3, r3 8073fa8: 2b00 cmp r3, #0 8073faa: d106 bne.n 8073fba BSP_LCD_DisplayStringAt(185, 123, "ÍÅÒ ÄÀÍÍÛÕ", CENTER_MODE); 8073fac: 2301 movs r3, #1 8073fae: 4a41 ldr r2, [pc, #260] ; (80740b4 ) 8073fb0: 217b movs r1, #123 ; 0x7b 8073fb2: 20b9 movs r0, #185 ; 0xb9 8073fb4: f7e0 fbf2 bl 805479c 8073fb8: e005 b.n 8073fc6 else BSP_LCD_DisplayStringAt(185, 123, "NO DATA", CENTER_MODE); 8073fba: 2301 movs r3, #1 8073fbc: 4a3e ldr r2, [pc, #248] ; (80740b8 ) 8073fbe: 217b movs r1, #123 ; 0x7b 8073fc0: 20b9 movs r0, #185 ; 0xb9 8073fc2: f7e0 fbeb bl 805479c } DrawAVS(); 8073fc6: f03d f9e7 bl 80b1398 break; 8073fca: f024 bb2f b.w 809862c case MAIN_WAVE: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8073fce: 492b ldr r1, [pc, #172] ; (807407c ) 8073fd0: 483a ldr r0, [pc, #232] ; (80740bc ) 8073fd2: f7e0 fb1d bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 8073fd6: 23c9 movs r3, #201 ; 0xc9 8073fd8: f44f 729d mov.w r2, #314 ; 0x13a 8073fdc: 2123 movs r1, #35 ; 0x23 8073fde: 2002 movs r0, #2 8073fe0: f7e0 fe1c bl 8054c1c BSP_LCD_SetFont(&Font12); 8073fe4: 4824 ldr r0, [pc, #144] ; (8074078 ) 8073fe6: f7e0 fb4f bl 8054688 if(CardState == MSD_NOCARD) 8073fea: 4b35 ldr r3, [pc, #212] ; (80740c0 ) 8073fec: 781b ldrb r3, [r3, #0] 8073fee: b2db uxtb r3, r3 8073ff0: 2b00 cmp r3, #0 8073ff2: d11d bne.n 8074030 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073ff4: 4921 ldr r1, [pc, #132] ; (807407c ) 8073ff6: f04f 30ff mov.w r0, #4294967295 8073ffa: f7e0 fb09 bl 8054610 if(pardata.LANG == RUS) 8073ffe: 4b24 ldr r3, [pc, #144] ; (8074090 ) 8074000: 7b1b ldrb r3, [r3, #12] 8074002: b2db uxtb r3, r3 8074004: 2b00 cmp r3, #0 8074006: d10c bne.n 8074022 { BSP_LCD_DisplayStringAt(165, 120, "Çàïèñü âðåìåííîãî ñèãíàëà íåâîçìîæíà!", CENTER_MODE); 8074008: 2301 movs r3, #1 807400a: 4a2e ldr r2, [pc, #184] ; (80740c4 ) 807400c: 2178 movs r1, #120 ; 0x78 807400e: 20a5 movs r0, #165 ; 0xa5 8074010: f7e0 fbc4 bl 805479c BSP_LCD_DisplayStringAt(165, 135, "Îòñóòñòâóåò êàðòà ïàìÿòè!", CENTER_MODE); 8074014: 2301 movs r3, #1 8074016: 4a2c ldr r2, [pc, #176] ; (80740c8 ) 8074018: 2187 movs r1, #135 ; 0x87 807401a: 20a5 movs r0, #165 ; 0xa5 807401c: f7e0 fbbe bl 805479c 8074020: e103 b.n 807422a } else { BSP_LCD_DisplayStringAt(165, 120, "Drive is not present!", CENTER_MODE); 8074022: 2301 movs r3, #1 8074024: 4a29 ldr r2, [pc, #164] ; (80740cc ) 8074026: 2178 movs r1, #120 ; 0x78 8074028: 20a5 movs r0, #165 ; 0xa5 807402a: f7e0 fbb7 bl 805479c 807402e: e0fc b.n 807422a } } else if(CardState == MSD_PRESENT) 8074030: 4b23 ldr r3, [pc, #140] ; (80740c0 ) 8074032: 781b ldrb r3, [r3, #0] 8074034: b2db uxtb r3, r3 8074036: 2b01 cmp r3, #1 8074038: d153 bne.n 80740e2 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807403a: 4910 ldr r1, [pc, #64] ; (807407c ) 807403c: f04f 30ff mov.w r0, #4294967295 8074040: f7e0 fae6 bl 8054610 if(pardata.LANG == RUS) 8074044: 4b12 ldr r3, [pc, #72] ; (8074090 ) 8074046: 7b1b ldrb r3, [r3, #12] 8074048: b2db uxtb r3, r3 807404a: 2b00 cmp r3, #0 807404c: d142 bne.n 80740d4 { BSP_LCD_DisplayStringAt(165, 120, "Çàïèñü âðåìåííîãî ñèãíàëà íåâîçìîæíà!", CENTER_MODE); 807404e: 2301 movs r3, #1 8074050: 4a1c ldr r2, [pc, #112] ; (80740c4 ) 8074052: 2178 movs r1, #120 ; 0x78 8074054: 20a5 movs r0, #165 ; 0xa5 8074056: f7e0 fba1 bl 805479c BSP_LCD_DisplayStringAt(165, 135, "Îòñóòñòâóåò ôàéëîâàÿ ñèñòåìà!", CENTER_MODE); 807405a: 2301 movs r3, #1 807405c: 4a1c ldr r2, [pc, #112] ; (80740d0 ) 807405e: 2187 movs r1, #135 ; 0x87 8074060: 20a5 movs r0, #165 ; 0xa5 8074062: f7e0 fb9b bl 805479c 8074066: e0e0 b.n 807422a 8074068: 20020070 .word 0x20020070 807406c: 20021d68 .word 0x20021d68 8074070: 20020dc8 .word 0x20020dc8 8074074: 20020db4 .word 0x20020db4 8074078: 20020038 .word 0x20020038 807407c: ff0a0f1f .word 0xff0a0f1f 8074080: 20020dcf .word 0x20020dcf 8074084: 20020da8 .word 0x20020da8 8074088: 20020d9e .word 0x20020d9e 807408c: 20020dd8 .word 0x20020dd8 8074090: 20023ea8 .word 0x20023ea8 8074094: 080f3a2c .word 0x080f3a2c 8074098: 42fa0000 .word 0x42fa0000 807409c: 42fa0000 .word 0x42fa0000 80740a0: 20020dd1 .word 0x20020dd1 80740a4: 20021588 .word 0x20021588 80740a8: 080d3e54 .word 0x080d3e54 80740ac: 080d3e5c .word 0x080d3e5c 80740b0: ff808000 .word 0xff808000 80740b4: 080d3e64 .word 0x080d3e64 80740b8: 080d3e70 .word 0x080d3e70 80740bc: ffd3d3d3 .word 0xffd3d3d3 80740c0: 20021694 .word 0x20021694 80740c4: 080d3e78 .word 0x080d3e78 80740c8: 080d3ea0 .word 0x080d3ea0 80740cc: 080d3ebc .word 0x080d3ebc 80740d0: 080d3ed4 .word 0x080d3ed4 } else { BSP_LCD_DisplayStringAt(165, 120, "File system is not found!", CENTER_MODE); 80740d4: 2301 movs r3, #1 80740d6: 4a70 ldr r2, [pc, #448] ; (8074298 ) 80740d8: 2178 movs r1, #120 ; 0x78 80740da: 20a5 movs r0, #165 ; 0xa5 80740dc: f7e0 fb5e bl 805479c 80740e0: e0a3 b.n 807422a } } else if(CardState == MSD_READY) 80740e2: 4b6e ldr r3, [pc, #440] ; (807429c ) 80740e4: 781b ldrb r3, [r3, #0] 80740e6: b2db uxtb r3, r3 80740e8: 2b03 cmp r3, #3 80740ea: f040 809e bne.w 807422a { if(IS_ROUTE == false) 80740ee: 4b6c ldr r3, [pc, #432] ; (80742a0 ) 80740f0: 781b ldrb r3, [r3, #0] 80740f2: b2db uxtb r3, r3 80740f4: f083 0301 eor.w r3, r3, #1 80740f8: b2db uxtb r3, r3 80740fa: 2b00 cmp r3, #0 80740fc: d009 beq.n 8074112 strcpy(str1, "//Records/"); 80740fe: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074102: 4a68 ldr r2, [pc, #416] ; (80742a4 ) 8074104: ca07 ldmia r2, {r0, r1, r2} 8074106: c303 stmia r3!, {r0, r1} 8074108: 801a strh r2, [r3, #0] 807410a: 3302 adds r3, #2 807410c: 0c12 lsrs r2, r2, #16 807410e: 701a strb r2, [r3, #0] 8074110: e025 b.n 807415e else { strcpy(str1, "../POINT "); 8074112: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074116: 4a64 ldr r2, [pc, #400] ; (80742a8 ) 8074118: ca07 ldmia r2, {r0, r1, r2} 807411a: c303 stmia r3!, {r0, r1} 807411c: 801a strh r2, [r3, #0] itoa(RoutePointID, &str1[strlen(str1)], 10); 807411e: 4b63 ldr r3, [pc, #396] ; (80742ac ) 8074120: 681b ldr r3, [r3, #0] 8074122: 461c mov r4, r3 8074124: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074128: 4618 mov r0, r3 807412a: f7ac f8f3 bl 8020314 807412e: 4602 mov r2, r0 8074130: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074134: 4413 add r3, r2 8074136: 220a movs r2, #10 8074138: 4619 mov r1, r3 807413a: 4620 mov r0, r4 807413c: f05d f904 bl 80d1348 strcat(str1, "/"); 8074140: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074144: 4618 mov r0, r3 8074146: f7ac f8e5 bl 8020314 807414a: 4603 mov r3, r0 807414c: 461a mov r2, r3 807414e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074152: 4413 add r3, r2 8074154: 4956 ldr r1, [pc, #344] ; (80742b0 ) 8074156: 461a mov r2, r3 8074158: 460b mov r3, r1 807415a: 881b ldrh r3, [r3, #0] 807415c: 8013 strh r3, [r2, #0] } if(strlen(WavFileName) > 0) 807415e: 4b55 ldr r3, [pc, #340] ; (80742b4 ) 8074160: 781b ldrb r3, [r3, #0] 8074162: 2b00 cmp r3, #0 8074164: d048 beq.n 80741f8 { strcat(str1, WavFileName); 8074166: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807416a: 4952 ldr r1, [pc, #328] ; (80742b4 ) 807416c: 4618 mov r0, r3 807416e: f05d fa17 bl 80d15a0 k = strcspn(str1, "\t\n."); 8074172: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074176: 4950 ldr r1, [pc, #320] ; (80742b8 ) 8074178: 4618 mov r0, r3 807417a: f05d fa36 bl 80d15ea 807417e: 4603 mov r3, r0 8074180: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 str1[k] = '\0'; 8074184: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8074188: f507 72f6 add.w r2, r7, #492 ; 0x1ec 807418c: 2100 movs r1, #0 807418e: 54d1 strb r1, [r2, r3] strcat(str1, "/"); 8074190: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074194: 4618 mov r0, r3 8074196: f7ac f8bd bl 8020314 807419a: 4603 mov r3, r0 807419c: 461a mov r2, r3 807419e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80741a2: 4413 add r3, r2 80741a4: 4942 ldr r1, [pc, #264] ; (80742b0 ) 80741a6: 461a mov r2, r3 80741a8: 460b mov r3, r1 80741aa: 881b ldrh r3, [r3, #0] 80741ac: 8013 strh r3, [r2, #0] if(Recording) 80741ae: 4b43 ldr r3, [pc, #268] ; (80742bc ) 80741b0: 781b ldrb r3, [r3, #0] 80741b2: b2db uxtb r3, r3 80741b4: 2b00 cmp r3, #0 80741b6: d005 beq.n 80741c4 strcat(str1, RecordingName); 80741b8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80741bc: 4940 ldr r1, [pc, #256] ; (80742c0 ) 80741be: 4618 mov r0, r3 80741c0: f05d f9ee bl 80d15a0 k = strlen(str1); 80741c4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80741c8: 4618 mov r0, r3 80741ca: f7ac f8a3 bl 8020314 80741ce: 4603 mov r3, r0 80741d0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > 31) 80741d4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80741d8: 2b1f cmp r3, #31 80741da: d918 bls.n 807420e { str1[k - 1] = '~'; 80741dc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80741e0: 3b01 subs r3, #1 80741e2: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80741e6: 217e movs r1, #126 ; 0x7e 80741e8: 54d1 strb r1, [r2, r3] str1[k] = '\0'; 80741ea: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80741ee: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80741f2: 2100 movs r1, #0 80741f4: 54d1 strb r1, [r2, r3] 80741f6: e00a b.n 807420e } } else { if(Recording) 80741f8: 4b30 ldr r3, [pc, #192] ; (80742bc ) 80741fa: 781b ldrb r3, [r3, #0] 80741fc: b2db uxtb r3, r3 80741fe: 2b00 cmp r3, #0 8074200: d005 beq.n 807420e strcat(str1, RecordingName); 8074202: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8074206: 492e ldr r1, [pc, #184] ; (80742c0 ) 8074208: 4618 mov r0, r3 807420a: f05d f9c9 bl 80d15a0 } LCD_SetColors(LCD_COLOR_MYBROWN, LCD_COLOR_BLACK); 807420e: 492d ldr r1, [pc, #180] ; (80742c4 ) 8074210: 482d ldr r0, [pc, #180] ; (80742c8 ) 8074212: f7e0 f9fd bl 8054610 BSP_LCD_SetFont(&Font12); 8074216: 482d ldr r0, [pc, #180] ; (80742cc ) 8074218: f7e0 fa36 bl 8054688 BSP_LCD_DisplayStringAt(165, 40, str1, CENTER_MODE); 807421c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8074220: 2301 movs r3, #1 8074222: 2128 movs r1, #40 ; 0x28 8074224: 20a5 movs r0, #165 ; 0xa5 8074226: f7e0 fab9 bl 805479c if(Threshold) 807422a: 4b29 ldr r3, [pc, #164] ; (80742d0 ) 807422c: 781b ldrb r3, [r3, #0] 807422e: b2db uxtb r3, r3 8074230: 2b00 cmp r3, #0 8074232: f000 8176 beq.w 8074522 { BSP_LCD_SetFont(&Font12); 8074236: 4825 ldr r0, [pc, #148] ; (80742cc ) 8074238: f7e0 fa26 bl 8054688 if(measuring) 807423c: 4b25 ldr r3, [pc, #148] ; (80742d4 ) 807423e: 781b ldrb r3, [r3, #0] 8074240: b2db uxtb r3, r3 8074242: 2b00 cmp r3, #0 8074244: f000 8144 beq.w 80744d0 { if(Recording == false) 8074248: 4b1c ldr r3, [pc, #112] ; (80742bc ) 807424a: 781b ldrb r3, [r3, #0] 807424c: b2db uxtb r3, r3 807424e: f083 0301 eor.w r3, r3, #1 8074252: b2db uxtb r3, r3 8074254: 2b00 cmp r3, #0 8074256: d045 beq.n 80742e4 { if(CardState == MSD_READY) 8074258: 4b10 ldr r3, [pc, #64] ; (807429c ) 807425a: 781b ldrb r3, [r3, #0] 807425c: b2db uxtb r3, r3 807425e: 2b03 cmp r3, #3 8074260: f064 81bd bne.w 80985de { LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8074264: 4917 ldr r1, [pc, #92] ; (80742c4 ) 8074266: f06f 00ff mvn.w r0, #255 ; 0xff 807426a: f7e0 f9d1 bl 8054610 if(pardata.LANG == RUS) 807426e: 4b1a ldr r3, [pc, #104] ; (80742d8 ) 8074270: 7b1b ldrb r3, [r3, #12] 8074272: b2db uxtb r3, r3 8074274: 2b00 cmp r3, #0 8074276: d107 bne.n 8074288 { BSP_LCD_DisplayStringAt(165, 120, "Îæèäàíèå ïîðîãà ñðàáàòûâàíèÿ...", CENTER_MODE); 8074278: 2301 movs r3, #1 807427a: 4a18 ldr r2, [pc, #96] ; (80742dc ) 807427c: 2178 movs r1, #120 ; 0x78 807427e: 20a5 movs r0, #165 ; 0xa5 8074280: f7e0 fa8c bl 805479c BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); } break; } } break; 8074284: f024 b9ab b.w 80985de BSP_LCD_DisplayStringAt(165, 120, "Waiting for trigger threshold...", CENTER_MODE); 8074288: 2301 movs r3, #1 807428a: 4a15 ldr r2, [pc, #84] ; (80742e0 ) 807428c: 2178 movs r1, #120 ; 0x78 807428e: 20a5 movs r0, #165 ; 0xa5 8074290: f7e0 fa84 bl 805479c break; 8074294: f024 b9a3 b.w 80985de 8074298: 080d3ef4 .word 0x080d3ef4 807429c: 20021694 .word 0x20021694 80742a0: 20020dd3 .word 0x20020dd3 80742a4: 080d3f10 .word 0x080d3f10 80742a8: 080d3f1c .word 0x080d3f1c 80742ac: 20020034 .word 0x20020034 80742b0: 080d3f28 .word 0x080d3f28 80742b4: 20020e54 .word 0x20020e54 80742b8: 080d3f2c .word 0x080d3f2c 80742bc: 20020dd0 .word 0x20020dd0 80742c0: 20022370 .word 0x20022370 80742c4: ff0a0f1f .word 0xff0a0f1f 80742c8: ffd3b36e .word 0xffd3b36e 80742cc: 20020038 .word 0x20020038 80742d0: 20020dd1 .word 0x20020dd1 80742d4: 20020dcf .word 0x20020dcf 80742d8: 20023ea8 .word 0x20023ea8 80742dc: 080d3f30 .word 0x080d3f30 80742e0: 080d3f50 .word 0x080d3f50 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80742e4: 49b2 ldr r1, [pc, #712] ; (80745b0 ) 80742e6: f04f 30ff mov.w r0, #4294967295 80742ea: f7e0 f991 bl 8054610 BSP_LCD_SetFont(&Font12); 80742ee: 48b1 ldr r0, [pc, #708] ; (80745b4 ) 80742f0: f7e0 f9ca bl 8054688 k = TimeRec; 80742f4: 4bb0 ldr r3, [pc, #704] ; (80745b8 ) 80742f6: 681b ldr r3, [r3, #0] 80742f8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > TIMEREC[5][pardata.TME]) 80742fc: 4baf ldr r3, [pc, #700] ; (80745bc ) 80742fe: 7b9b ldrb r3, [r3, #14] 8074300: b2db uxtb r3, r3 8074302: 4aaf ldr r2, [pc, #700] ; (80745c0 ) 8074304: 3337 adds r3, #55 ; 0x37 8074306: f852 2023 ldr.w r2, [r2, r3, lsl #2] 807430a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807430e: 429a cmp r2, r3 8074310: d208 bcs.n 8074324 k = TIMEREC[5][pardata.TME]; 8074312: 4baa ldr r3, [pc, #680] ; (80745bc ) 8074314: 7b9b ldrb r3, [r3, #14] 8074316: b2db uxtb r3, r3 8074318: 4aa9 ldr r2, [pc, #676] ; (80745c0 ) 807431a: 3337 adds r3, #55 ; 0x37 807431c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8074320: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Hours = ((k / Fs) / 60) / 60; 8074324: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8074328: 4ba6 ldr r3, [pc, #664] ; (80745c4 ) 807432a: 681b ldr r3, [r3, #0] 807432c: fbb2 f3f3 udiv r3, r2, r3 8074330: 4aa5 ldr r2, [pc, #660] ; (80745c8 ) 8074332: fba2 2303 umull r2, r3, r2, r3 8074336: 0adb lsrs r3, r3, #11 8074338: 4aa4 ldr r2, [pc, #656] ; (80745cc ) 807433a: 6013 str r3, [r2, #0] Minutes = ((k / Fs) / 60) % 60; 807433c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8074340: 4ba0 ldr r3, [pc, #640] ; (80745c4 ) 8074342: 681b ldr r3, [r3, #0] 8074344: fbb2 f3f3 udiv r3, r2, r3 8074348: 4aa1 ldr r2, [pc, #644] ; (80745d0 ) 807434a: fba2 2303 umull r2, r3, r2, r3 807434e: 0959 lsrs r1, r3, #5 8074350: 4b9f ldr r3, [pc, #636] ; (80745d0 ) 8074352: fba3 2301 umull r2, r3, r3, r1 8074356: 095a lsrs r2, r3, #5 8074358: 4613 mov r3, r2 807435a: 011b lsls r3, r3, #4 807435c: 1a9b subs r3, r3, r2 807435e: 009b lsls r3, r3, #2 8074360: 1aca subs r2, r1, r3 8074362: 4b9c ldr r3, [pc, #624] ; (80745d4 ) 8074364: 601a str r2, [r3, #0] Seconds = (k / Fs) % 60; 8074366: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807436a: 4b96 ldr r3, [pc, #600] ; (80745c4 ) 807436c: 681b ldr r3, [r3, #0] 807436e: fbb2 f1f3 udiv r1, r2, r3 8074372: 4b97 ldr r3, [pc, #604] ; (80745d0 ) 8074374: fba3 2301 umull r2, r3, r3, r1 8074378: 095a lsrs r2, r3, #5 807437a: 4613 mov r3, r2 807437c: 011b lsls r3, r3, #4 807437e: 1a9b subs r3, r3, r2 8074380: 009b lsls r3, r3, #2 8074382: 1aca subs r2, r1, r3 8074384: 4b94 ldr r3, [pc, #592] ; (80745d8 ) 8074386: 601a str r2, [r3, #0] str[0] = (Hours / 10) + 48; 8074388: 4b90 ldr r3, [pc, #576] ; (80745cc ) 807438a: 681b ldr r3, [r3, #0] 807438c: 4a93 ldr r2, [pc, #588] ; (80745dc ) 807438e: fba2 2303 umull r2, r3, r2, r3 8074392: 08db lsrs r3, r3, #3 8074394: b2db uxtb r3, r3 8074396: 3330 adds r3, #48 ; 0x30 8074398: b2da uxtb r2, r3 807439a: f507 733b add.w r3, r7, #748 ; 0x2ec 807439e: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 80743a0: 4b8a ldr r3, [pc, #552] ; (80745cc ) 80743a2: 6819 ldr r1, [r3, #0] 80743a4: 4b8d ldr r3, [pc, #564] ; (80745dc ) 80743a6: fba3 2301 umull r2, r3, r3, r1 80743aa: 08da lsrs r2, r3, #3 80743ac: 4613 mov r3, r2 80743ae: 009b lsls r3, r3, #2 80743b0: 4413 add r3, r2 80743b2: 005b lsls r3, r3, #1 80743b4: 1aca subs r2, r1, r3 80743b6: b2d3 uxtb r3, r2 80743b8: 3330 adds r3, #48 ; 0x30 80743ba: b2da uxtb r2, r3 80743bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80743c0: 705a strb r2, [r3, #1] str[2] = ':'; 80743c2: f507 733b add.w r3, r7, #748 ; 0x2ec 80743c6: 223a movs r2, #58 ; 0x3a 80743c8: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 80743ca: 4b82 ldr r3, [pc, #520] ; (80745d4 ) 80743cc: 681b ldr r3, [r3, #0] 80743ce: 4a83 ldr r2, [pc, #524] ; (80745dc ) 80743d0: fba2 2303 umull r2, r3, r2, r3 80743d4: 08db lsrs r3, r3, #3 80743d6: b2db uxtb r3, r3 80743d8: 3330 adds r3, #48 ; 0x30 80743da: b2da uxtb r2, r3 80743dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80743e0: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 80743e2: 4b7c ldr r3, [pc, #496] ; (80745d4 ) 80743e4: 6819 ldr r1, [r3, #0] 80743e6: 4b7d ldr r3, [pc, #500] ; (80745dc ) 80743e8: fba3 2301 umull r2, r3, r3, r1 80743ec: 08da lsrs r2, r3, #3 80743ee: 4613 mov r3, r2 80743f0: 009b lsls r3, r3, #2 80743f2: 4413 add r3, r2 80743f4: 005b lsls r3, r3, #1 80743f6: 1aca subs r2, r1, r3 80743f8: b2d3 uxtb r3, r2 80743fa: 3330 adds r3, #48 ; 0x30 80743fc: b2da uxtb r2, r3 80743fe: f507 733b add.w r3, r7, #748 ; 0x2ec 8074402: 711a strb r2, [r3, #4] str[5] = ':'; 8074404: f507 733b add.w r3, r7, #748 ; 0x2ec 8074408: 223a movs r2, #58 ; 0x3a 807440a: 715a strb r2, [r3, #5] str[6] = (Seconds / 10) + 48; 807440c: 4b72 ldr r3, [pc, #456] ; (80745d8 ) 807440e: 681b ldr r3, [r3, #0] 8074410: 4a72 ldr r2, [pc, #456] ; (80745dc ) 8074412: fba2 2303 umull r2, r3, r2, r3 8074416: 08db lsrs r3, r3, #3 8074418: b2db uxtb r3, r3 807441a: 3330 adds r3, #48 ; 0x30 807441c: b2da uxtb r2, r3 807441e: f507 733b add.w r3, r7, #748 ; 0x2ec 8074422: 719a strb r2, [r3, #6] str[7] = (Seconds % 10) + 48; 8074424: 4b6c ldr r3, [pc, #432] ; (80745d8 ) 8074426: 6819 ldr r1, [r3, #0] 8074428: 4b6c ldr r3, [pc, #432] ; (80745dc ) 807442a: fba3 2301 umull r2, r3, r3, r1 807442e: 08da lsrs r2, r3, #3 8074430: 4613 mov r3, r2 8074432: 009b lsls r3, r3, #2 8074434: 4413 add r3, r2 8074436: 005b lsls r3, r3, #1 8074438: 1aca subs r2, r1, r3 807443a: b2d3 uxtb r3, r2 807443c: 3330 adds r3, #48 ; 0x30 807443e: b2da uxtb r2, r3 8074440: f507 733b add.w r3, r7, #748 ; 0x2ec 8074444: 71da strb r2, [r3, #7] str[8] = '\0'; 8074446: f507 733b add.w r3, r7, #748 ; 0x2ec 807444a: 2200 movs r2, #0 807444c: 721a strb r2, [r3, #8] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807444e: 4958 ldr r1, [pc, #352] ; (80745b0 ) 8074450: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074454: f7e0 f8dc bl 8054610 BSP_LCD_SetFont(&Font20); 8074458: 4861 ldr r0, [pc, #388] ; (80745e0 ) 807445a: f7e0 f915 bl 8054688 BSP_LCD_DisplayStringAt(165, 120, str, CENTER_MODE); 807445e: f507 723b add.w r2, r7, #748 ; 0x2ec 8074462: 2301 movs r3, #1 8074464: 2178 movs r1, #120 ; 0x78 8074466: 20a5 movs r0, #165 ; 0xa5 8074468: f7e0 f998 bl 805479c if(old_second != Seconds) 807446c: 4b5d ldr r3, [pc, #372] ; (80745e4 ) 807446e: 681a ldr r2, [r3, #0] 8074470: 4b59 ldr r3, [pc, #356] ; (80745d8 ) 8074472: 681b ldr r3, [r3, #0] 8074474: 429a cmp r2, r3 8074476: d004 beq.n 8074482 DrawImage(&bmREC1, 151, 145); 8074478: 2291 movs r2, #145 ; 0x91 807447a: 2197 movs r1, #151 ; 0x97 807447c: 485a ldr r0, [pc, #360] ; (80745e8 ) 807447e: f7e0 ffbb bl 80553f8 old_second = Seconds; 8074482: 4b55 ldr r3, [pc, #340] ; (80745d8 ) 8074484: 681b ldr r3, [r3, #0] 8074486: 4a57 ldr r2, [pc, #348] ; (80745e4 ) 8074488: 6013 str r3, [r2, #0] BSP_LCD_SetFont(&Font12); 807448a: 484a ldr r0, [pc, #296] ; (80745b4 ) 807448c: f7e0 f8fc bl 8054688 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8074490: 4947 ldr r1, [pc, #284] ; (80745b0 ) 8074492: f06f 00ff mvn.w r0, #255 ; 0xff 8074496: f7e0 f8bb bl 8054610 if(pardata.LANG == RUS) 807449a: 4b48 ldr r3, [pc, #288] ; (80745bc ) 807449c: 7b1b ldrb r3, [r3, #12] 807449e: b2db uxtb r3, r3 80744a0: 2b00 cmp r3, #0 80744a2: d10d bne.n 80744c0 BSP_LCD_DisplayStringAt(165, 205, "×òîáû îñòàíîâèòü çàïèñü", CENTER_MODE); 80744a4: 2301 movs r3, #1 80744a6: 4a51 ldr r2, [pc, #324] ; (80745ec ) 80744a8: 21cd movs r1, #205 ; 0xcd 80744aa: 20a5 movs r0, #165 ; 0xa5 80744ac: f7e0 f976 bl 805479c BSP_LCD_DisplayStringAt(165, 220, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 80744b0: 2301 movs r3, #1 80744b2: 4a4f ldr r2, [pc, #316] ; (80745f0 ) 80744b4: 21dc movs r1, #220 ; 0xdc 80744b6: 20a5 movs r0, #165 ; 0xa5 80744b8: f7e0 f970 bl 805479c break; 80744bc: f024 b88f b.w 80985de BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); 80744c0: 2301 movs r3, #1 80744c2: 4a4c ldr r2, [pc, #304] ; (80745f4 ) 80744c4: 21dc movs r1, #220 ; 0xdc 80744c6: 20a5 movs r0, #165 ; 0xa5 80744c8: f7e0 f968 bl 805479c break; 80744cc: f024 b887 b.w 80985de BSP_LCD_SetFont(&Font12); 80744d0: 4838 ldr r0, [pc, #224] ; (80745b4 ) 80744d2: f7e0 f8d9 bl 8054688 if(CardState == MSD_READY) 80744d6: 4b48 ldr r3, [pc, #288] ; (80745f8 ) 80744d8: 781b ldrb r3, [r3, #0] 80744da: b2db uxtb r3, r3 80744dc: 2b03 cmp r3, #3 80744de: f064 807e bne.w 80985de LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80744e2: 4933 ldr r1, [pc, #204] ; (80745b0 ) 80744e4: f06f 00ff mvn.w r0, #255 ; 0xff 80744e8: f7e0 f892 bl 8054610 if(pardata.LANG == RUS) 80744ec: 4b33 ldr r3, [pc, #204] ; (80745bc ) 80744ee: 7b1b ldrb r3, [r3, #12] 80744f0: b2db uxtb r3, r3 80744f2: 2b00 cmp r3, #0 80744f4: d10d bne.n 8074512 BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 80744f6: 2301 movs r3, #1 80744f8: 4a40 ldr r2, [pc, #256] ; (80745fc ) 80744fa: 2178 movs r1, #120 ; 0x78 80744fc: 20a5 movs r0, #165 ; 0xa5 80744fe: f7e0 f94d bl 805479c BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 8074502: 2301 movs r3, #1 8074504: 4a3a ldr r2, [pc, #232] ; (80745f0 ) 8074506: 2187 movs r1, #135 ; 0x87 8074508: 20a5 movs r0, #165 ; 0xa5 807450a: f7e0 f947 bl 805479c break; 807450e: f024 b866 b.w 80985de BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 8074512: 2301 movs r3, #1 8074514: 4a3a ldr r2, [pc, #232] ; (8074600 ) 8074516: 2178 movs r1, #120 ; 0x78 8074518: 20a5 movs r0, #165 ; 0xa5 807451a: f7e0 f93f bl 805479c break; 807451e: f024 b85e b.w 80985de switch(menupos) 8074522: 4b38 ldr r3, [pc, #224] ; (8074604 ) 8074524: 781b ldrb r3, [r3, #0] 8074526: b2db uxtb r3, r3 8074528: 2b04 cmp r3, #4 807452a: f224 8058 bhi.w 80985de 807452e: a201 add r2, pc, #4 ; (adr r2, 8074534 ) 8074530: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8074534: 0807488b .word 0x0807488b 8074538: 08074549 .word 0x08074549 807453c: 08074951 .word 0x08074951 8074540: 080749ab .word 0x080749ab 8074544: 080747fd .word 0x080747fd if(oldmenupos == ReadyRec) 8074548: 4b2f ldr r3, [pc, #188] ; (8074608 ) 807454a: 781b ldrb r3, [r3, #0] 807454c: b2db uxtb r3, r3 807454e: 2b03 cmp r3, #3 8074550: f040 834d bne.w 8074bee if(Recording == false) 8074554: 4b2d ldr r3, [pc, #180] ; (807460c ) 8074556: 781b ldrb r3, [r3, #0] 8074558: b2db uxtb r3, r3 807455a: f083 0301 eor.w r3, r3, #1 807455e: b2db uxtb r3, r3 8074560: 2b00 cmp r3, #0 8074562: d057 beq.n 8074614 if(CardState == MSD_READY) 8074564: 4b24 ldr r3, [pc, #144] ; (80745f8 ) 8074566: 781b ldrb r3, [r3, #0] 8074568: b2db uxtb r3, r3 807456a: 2b03 cmp r3, #3 807456c: f040 833f bne.w 8074bee BSP_LCD_SetFont(&Font12); 8074570: 4810 ldr r0, [pc, #64] ; (80745b4 ) 8074572: f7e0 f889 bl 8054688 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8074576: 490e ldr r1, [pc, #56] ; (80745b0 ) 8074578: 4825 ldr r0, [pc, #148] ; (8074610 ) 807457a: f7e0 f849 bl 8054610 if(pardata.LANG == RUS) 807457e: 4b0f ldr r3, [pc, #60] ; (80745bc ) 8074580: 7b1b ldrb r3, [r3, #12] 8074582: b2db uxtb r3, r3 8074584: 2b00 cmp r3, #0 8074586: d10c bne.n 80745a2 BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 8074588: 2301 movs r3, #1 807458a: 4a1c ldr r2, [pc, #112] ; (80745fc ) 807458c: 2178 movs r1, #120 ; 0x78 807458e: 20a5 movs r0, #165 ; 0xa5 8074590: f7e0 f904 bl 805479c BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 8074594: 2301 movs r3, #1 8074596: 4a16 ldr r2, [pc, #88] ; (80745f0 ) 8074598: 2187 movs r1, #135 ; 0x87 807459a: 20a5 movs r0, #165 ; 0xa5 807459c: f7e0 f8fe bl 805479c break; 80745a0: e325 b.n 8074bee BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 80745a2: 2301 movs r3, #1 80745a4: 4a16 ldr r2, [pc, #88] ; (8074600 ) 80745a6: 2178 movs r1, #120 ; 0x78 80745a8: 20a5 movs r0, #165 ; 0xa5 80745aa: f7e0 f8f7 bl 805479c break; 80745ae: e31e b.n 8074bee 80745b0: ff0a0f1f .word 0xff0a0f1f 80745b4: 20020038 .word 0x20020038 80745b8: 200216cc .word 0x200216cc 80745bc: 20023ea8 .word 0x20023ea8 80745c0: 080f3838 .word 0x080f3838 80745c4: 20021d64 .word 0x20021d64 80745c8: 91a2b3c5 .word 0x91a2b3c5 80745cc: 20021684 .word 0x20021684 80745d0: 88888889 .word 0x88888889 80745d4: 20021688 .word 0x20021688 80745d8: 2002168c .word 0x2002168c 80745dc: cccccccd .word 0xcccccccd 80745e0: 20020050 .word 0x20020050 80745e4: 200216ac .word 0x200216ac 80745e8: 08148814 .word 0x08148814 80745ec: 080d3f74 .word 0x080d3f74 80745f0: 080d3f8c .word 0x080d3f8c 80745f4: 080d3fa4 .word 0x080d3fa4 80745f8: 20021694 .word 0x20021694 80745fc: 080d3fc4 .word 0x080d3fc4 8074600: 080d3fd8 .word 0x080d3fd8 8074604: 20020070 .word 0x20020070 8074608: 20020fbf .word 0x20020fbf 807460c: 20020dd0 .word 0x20020dd0 8074610: ff29eb19 .word 0xff29eb19 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074614: 49b6 ldr r1, [pc, #728] ; (80748f0 ) 8074616: f04f 30ff mov.w r0, #4294967295 807461a: f7df fff9 bl 8054610 BSP_LCD_SetFont(&Font12); 807461e: 48b5 ldr r0, [pc, #724] ; (80748f4 ) 8074620: f7e0 f832 bl 8054688 k = TimeRec; 8074624: 4bb4 ldr r3, [pc, #720] ; (80748f8 ) 8074626: 681b ldr r3, [r3, #0] 8074628: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > TIMEREC[5][pardata.TME]) 807462c: 4bb3 ldr r3, [pc, #716] ; (80748fc ) 807462e: 7b9b ldrb r3, [r3, #14] 8074630: b2db uxtb r3, r3 8074632: 4ab3 ldr r2, [pc, #716] ; (8074900 ) 8074634: 3337 adds r3, #55 ; 0x37 8074636: f852 2023 ldr.w r2, [r2, r3, lsl #2] 807463a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807463e: 429a cmp r2, r3 8074640: d208 bcs.n 8074654 k = TIMEREC[5][pardata.TME]; 8074642: 4bae ldr r3, [pc, #696] ; (80748fc ) 8074644: 7b9b ldrb r3, [r3, #14] 8074646: b2db uxtb r3, r3 8074648: 4aad ldr r2, [pc, #692] ; (8074900 ) 807464a: 3337 adds r3, #55 ; 0x37 807464c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8074650: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Hours = ((k / Fs) / 60) / 60; 8074654: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8074658: 4baa ldr r3, [pc, #680] ; (8074904 ) 807465a: 681b ldr r3, [r3, #0] 807465c: fbb2 f3f3 udiv r3, r2, r3 8074660: 4aa9 ldr r2, [pc, #676] ; (8074908 ) 8074662: fba2 2303 umull r2, r3, r2, r3 8074666: 0adb lsrs r3, r3, #11 8074668: 4aa8 ldr r2, [pc, #672] ; (807490c ) 807466a: 6013 str r3, [r2, #0] Minutes = ((k / Fs) / 60) % 60; 807466c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8074670: 4ba4 ldr r3, [pc, #656] ; (8074904 ) 8074672: 681b ldr r3, [r3, #0] 8074674: fbb2 f3f3 udiv r3, r2, r3 8074678: 4aa5 ldr r2, [pc, #660] ; (8074910 ) 807467a: fba2 2303 umull r2, r3, r2, r3 807467e: 0959 lsrs r1, r3, #5 8074680: 4ba3 ldr r3, [pc, #652] ; (8074910 ) 8074682: fba3 2301 umull r2, r3, r3, r1 8074686: 095a lsrs r2, r3, #5 8074688: 4613 mov r3, r2 807468a: 011b lsls r3, r3, #4 807468c: 1a9b subs r3, r3, r2 807468e: 009b lsls r3, r3, #2 8074690: 1aca subs r2, r1, r3 8074692: 4ba0 ldr r3, [pc, #640] ; (8074914 ) 8074694: 601a str r2, [r3, #0] Seconds = (k / Fs) % 60; 8074696: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807469a: 4b9a ldr r3, [pc, #616] ; (8074904 ) 807469c: 681b ldr r3, [r3, #0] 807469e: fbb2 f1f3 udiv r1, r2, r3 80746a2: 4b9b ldr r3, [pc, #620] ; (8074910 ) 80746a4: fba3 2301 umull r2, r3, r3, r1 80746a8: 095a lsrs r2, r3, #5 80746aa: 4613 mov r3, r2 80746ac: 011b lsls r3, r3, #4 80746ae: 1a9b subs r3, r3, r2 80746b0: 009b lsls r3, r3, #2 80746b2: 1aca subs r2, r1, r3 80746b4: 4b98 ldr r3, [pc, #608] ; (8074918 ) 80746b6: 601a str r2, [r3, #0] str[0] = (Hours / 10) + 48; 80746b8: 4b94 ldr r3, [pc, #592] ; (807490c ) 80746ba: 681b ldr r3, [r3, #0] 80746bc: 4a97 ldr r2, [pc, #604] ; (807491c ) 80746be: fba2 2303 umull r2, r3, r2, r3 80746c2: 08db lsrs r3, r3, #3 80746c4: b2db uxtb r3, r3 80746c6: 3330 adds r3, #48 ; 0x30 80746c8: b2da uxtb r2, r3 80746ca: f507 733b add.w r3, r7, #748 ; 0x2ec 80746ce: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 80746d0: 4b8e ldr r3, [pc, #568] ; (807490c ) 80746d2: 6819 ldr r1, [r3, #0] 80746d4: 4b91 ldr r3, [pc, #580] ; (807491c ) 80746d6: fba3 2301 umull r2, r3, r3, r1 80746da: 08da lsrs r2, r3, #3 80746dc: 4613 mov r3, r2 80746de: 009b lsls r3, r3, #2 80746e0: 4413 add r3, r2 80746e2: 005b lsls r3, r3, #1 80746e4: 1aca subs r2, r1, r3 80746e6: b2d3 uxtb r3, r2 80746e8: 3330 adds r3, #48 ; 0x30 80746ea: b2da uxtb r2, r3 80746ec: f507 733b add.w r3, r7, #748 ; 0x2ec 80746f0: 705a strb r2, [r3, #1] str[2] = ':'; 80746f2: f507 733b add.w r3, r7, #748 ; 0x2ec 80746f6: 223a movs r2, #58 ; 0x3a 80746f8: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 80746fa: 4b86 ldr r3, [pc, #536] ; (8074914 ) 80746fc: 681b ldr r3, [r3, #0] 80746fe: 4a87 ldr r2, [pc, #540] ; (807491c ) 8074700: fba2 2303 umull r2, r3, r2, r3 8074704: 08db lsrs r3, r3, #3 8074706: b2db uxtb r3, r3 8074708: 3330 adds r3, #48 ; 0x30 807470a: b2da uxtb r2, r3 807470c: f507 733b add.w r3, r7, #748 ; 0x2ec 8074710: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8074712: 4b80 ldr r3, [pc, #512] ; (8074914 ) 8074714: 6819 ldr r1, [r3, #0] 8074716: 4b81 ldr r3, [pc, #516] ; (807491c ) 8074718: fba3 2301 umull r2, r3, r3, r1 807471c: 08da lsrs r2, r3, #3 807471e: 4613 mov r3, r2 8074720: 009b lsls r3, r3, #2 8074722: 4413 add r3, r2 8074724: 005b lsls r3, r3, #1 8074726: 1aca subs r2, r1, r3 8074728: b2d3 uxtb r3, r2 807472a: 3330 adds r3, #48 ; 0x30 807472c: b2da uxtb r2, r3 807472e: f507 733b add.w r3, r7, #748 ; 0x2ec 8074732: 711a strb r2, [r3, #4] str[5] = ':'; 8074734: f507 733b add.w r3, r7, #748 ; 0x2ec 8074738: 223a movs r2, #58 ; 0x3a 807473a: 715a strb r2, [r3, #5] str[6] = (Seconds / 10) + 48; 807473c: 4b76 ldr r3, [pc, #472] ; (8074918 ) 807473e: 681b ldr r3, [r3, #0] 8074740: 4a76 ldr r2, [pc, #472] ; (807491c ) 8074742: fba2 2303 umull r2, r3, r2, r3 8074746: 08db lsrs r3, r3, #3 8074748: b2db uxtb r3, r3 807474a: 3330 adds r3, #48 ; 0x30 807474c: b2da uxtb r2, r3 807474e: f507 733b add.w r3, r7, #748 ; 0x2ec 8074752: 719a strb r2, [r3, #6] str[7] = (Seconds % 10) + 48; 8074754: 4b70 ldr r3, [pc, #448] ; (8074918 ) 8074756: 6819 ldr r1, [r3, #0] 8074758: 4b70 ldr r3, [pc, #448] ; (807491c ) 807475a: fba3 2301 umull r2, r3, r3, r1 807475e: 08da lsrs r2, r3, #3 8074760: 4613 mov r3, r2 8074762: 009b lsls r3, r3, #2 8074764: 4413 add r3, r2 8074766: 005b lsls r3, r3, #1 8074768: 1aca subs r2, r1, r3 807476a: b2d3 uxtb r3, r2 807476c: 3330 adds r3, #48 ; 0x30 807476e: b2da uxtb r2, r3 8074770: f507 733b add.w r3, r7, #748 ; 0x2ec 8074774: 71da strb r2, [r3, #7] str[8] = '\0'; 8074776: f507 733b add.w r3, r7, #748 ; 0x2ec 807477a: 2200 movs r2, #0 807477c: 721a strb r2, [r3, #8] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807477e: 495c ldr r1, [pc, #368] ; (80748f0 ) 8074780: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074784: f7df ff44 bl 8054610 BSP_LCD_SetFont(&Font20); 8074788: 4865 ldr r0, [pc, #404] ; (8074920 ) 807478a: f7df ff7d bl 8054688 BSP_LCD_DisplayStringAt(165, 120, str, CENTER_MODE); 807478e: f507 723b add.w r2, r7, #748 ; 0x2ec 8074792: 2301 movs r3, #1 8074794: 2178 movs r1, #120 ; 0x78 8074796: 20a5 movs r0, #165 ; 0xa5 8074798: f7e0 f800 bl 805479c if(old_second != Seconds) 807479c: 4b61 ldr r3, [pc, #388] ; (8074924 ) 807479e: 681a ldr r2, [r3, #0] 80747a0: 4b5d ldr r3, [pc, #372] ; (8074918 ) 80747a2: 681b ldr r3, [r3, #0] 80747a4: 429a cmp r2, r3 80747a6: d004 beq.n 80747b2 DrawImage(&bmREC1, 151, 145); 80747a8: 2291 movs r2, #145 ; 0x91 80747aa: 2197 movs r1, #151 ; 0x97 80747ac: 485e ldr r0, [pc, #376] ; (8074928 ) 80747ae: f7e0 fe23 bl 80553f8 old_second = Seconds; 80747b2: 4b59 ldr r3, [pc, #356] ; (8074918 ) 80747b4: 681b ldr r3, [r3, #0] 80747b6: 4a5b ldr r2, [pc, #364] ; (8074924 ) 80747b8: 6013 str r3, [r2, #0] BSP_LCD_SetFont(&Font12); 80747ba: 484e ldr r0, [pc, #312] ; (80748f4 ) 80747bc: f7df ff64 bl 8054688 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80747c0: 494b ldr r1, [pc, #300] ; (80748f0 ) 80747c2: f06f 00ff mvn.w r0, #255 ; 0xff 80747c6: f7df ff23 bl 8054610 if(pardata.LANG == RUS) 80747ca: 4b4c ldr r3, [pc, #304] ; (80748fc ) 80747cc: 7b1b ldrb r3, [r3, #12] 80747ce: b2db uxtb r3, r3 80747d0: 2b00 cmp r3, #0 80747d2: d10c bne.n 80747ee BSP_LCD_DisplayStringAt(165, 205, "×òîáû îñòàíîâèòü çàïèñü", CENTER_MODE); 80747d4: 2301 movs r3, #1 80747d6: 4a55 ldr r2, [pc, #340] ; (807492c ) 80747d8: 21cd movs r1, #205 ; 0xcd 80747da: 20a5 movs r0, #165 ; 0xa5 80747dc: f7df ffde bl 805479c BSP_LCD_DisplayStringAt(165, 220, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 80747e0: 2301 movs r3, #1 80747e2: 4a53 ldr r2, [pc, #332] ; (8074930 ) 80747e4: 21dc movs r1, #220 ; 0xdc 80747e6: 20a5 movs r0, #165 ; 0xa5 80747e8: f7df ffd8 bl 805479c break; 80747ec: e1ff b.n 8074bee BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); 80747ee: 2301 movs r3, #1 80747f0: 4a50 ldr r2, [pc, #320] ; (8074934 ) 80747f2: 21dc movs r1, #220 ; 0xdc 80747f4: 20a5 movs r0, #165 ; 0xa5 80747f6: f7df ffd1 bl 805479c break; 80747fa: e1f8 b.n 8074bee BSP_LCD_SetFont(&Font12); 80747fc: 483d ldr r0, [pc, #244] ; (80748f4 ) 80747fe: f7df ff43 bl 8054688 if(CardState == MSD_READY) 8074802: 4b4d ldr r3, [pc, #308] ; (8074938 ) 8074804: 781b ldrb r3, [r3, #0] 8074806: b2db uxtb r3, r3 8074808: 2b03 cmp r3, #3 807480a: f040 81f3 bne.w 8074bf4 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 807480e: 4b3b ldr r3, [pc, #236] ; (80748fc ) 8074810: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8074814: f003 0304 and.w r3, r3, #4 8074818: 2b00 cmp r3, #0 807481a: d104 bne.n 8074826 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 807481c: 4934 ldr r1, [pc, #208] ; (80748f0 ) 807481e: 4847 ldr r0, [pc, #284] ; (807493c ) 8074820: f7df fef6 bl 8054610 8074824: e004 b.n 8074830 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8074826: 4932 ldr r1, [pc, #200] ; (80748f0 ) 8074828: f06f 00ff mvn.w r0, #255 ; 0xff 807482c: f7df fef0 bl 8054610 if(pardata.LANG == RUS) 8074830: 4b32 ldr r3, [pc, #200] ; (80748fc ) 8074832: 7b1b ldrb r3, [r3, #12] 8074834: b2db uxtb r3, r3 8074836: 2b00 cmp r3, #0 8074838: d120 bne.n 807487c BSP_LCD_DisplayStringAt(165, 120, "f= Ãö", CENTER_MODE); 807483a: 2301 movs r3, #1 807483c: 4a40 ldr r2, [pc, #256] ; (8074940 ) 807483e: 2178 movs r1, #120 ; 0x78 8074840: 20a5 movs r0, #165 ; 0xa5 8074842: f7df ffab bl 805479c if(FreqFran) 8074846: 4b3f ldr r3, [pc, #252] ; (8074944 ) 8074848: edd3 7a00 vldr s15, [r3] 807484c: eef5 7a40 vcmp.f32 s15, #0.0 8074850: eef1 fa10 vmrs APSR_nzcv, fpscr 8074854: d00f beq.n 8074876 BSP_LCD_DisplayStringAt(170, 120, (char *) FloatToASCII(FreqFran, -3), CENTER_MODE); 8074856: 4b3b ldr r3, [pc, #236] ; (8074944 ) 8074858: edd3 7a00 vldr s15, [r3] 807485c: f06f 0002 mvn.w r0, #2 8074860: eeb0 0a67 vmov.f32 s0, s15 8074864: f7f2 fe9c bl 80675a0 8074868: 4602 mov r2, r0 807486a: 2301 movs r3, #1 807486c: 2178 movs r1, #120 ; 0x78 807486e: 20aa movs r0, #170 ; 0xaa 8074870: f7df ff94 bl 805479c break; 8074874: e1be b.n 8074bf4 DrawSpinner(); 8074876: f024 fa2f bl 8098cd8 break; 807487a: e1bb b.n 8074bf4 BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 807487c: 2301 movs r3, #1 807487e: 4a32 ldr r2, [pc, #200] ; (8074948 ) 8074880: 2178 movs r1, #120 ; 0x78 8074882: 20a5 movs r0, #165 ; 0xa5 8074884: f7df ff8a bl 805479c break; 8074888: e1b4 b.n 8074bf4 BSP_LCD_SetFont(&Font12); 807488a: 481a ldr r0, [pc, #104] ; (80748f4 ) 807488c: f7df fefc bl 8054688 if(CardState == MSD_READY) 8074890: 4b29 ldr r3, [pc, #164] ; (8074938 ) 8074892: 781b ldrb r3, [r3, #0] 8074894: b2db uxtb r3, r3 8074896: 2b03 cmp r3, #3 8074898: f040 81af bne.w 8074bfa if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 807489c: 4b17 ldr r3, [pc, #92] ; (80748fc ) 807489e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80748a2: f003 0304 and.w r3, r3, #4 80748a6: 2b00 cmp r3, #0 80748a8: d104 bne.n 80748b4 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80748aa: 4911 ldr r1, [pc, #68] ; (80748f0 ) 80748ac: 4823 ldr r0, [pc, #140] ; (807493c ) 80748ae: f7df feaf bl 8054610 80748b2: e004 b.n 80748be else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80748b4: 490e ldr r1, [pc, #56] ; (80748f0 ) 80748b6: f06f 00ff mvn.w r0, #255 ; 0xff 80748ba: f7df fea9 bl 8054610 if(pardata.LANG == RUS) 80748be: 4b0f ldr r3, [pc, #60] ; (80748fc ) 80748c0: 7b1b ldrb r3, [r3, #12] 80748c2: b2db uxtb r3, r3 80748c4: 2b00 cmp r3, #0 80748c6: d10c bne.n 80748e2 BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 80748c8: 2301 movs r3, #1 80748ca: 4a20 ldr r2, [pc, #128] ; (807494c ) 80748cc: 2178 movs r1, #120 ; 0x78 80748ce: 20a5 movs r0, #165 ; 0xa5 80748d0: f7df ff64 bl 805479c BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 80748d4: 2301 movs r3, #1 80748d6: 4a16 ldr r2, [pc, #88] ; (8074930 ) 80748d8: 2187 movs r1, #135 ; 0x87 80748da: 20a5 movs r0, #165 ; 0xa5 80748dc: f7df ff5e bl 805479c break; 80748e0: e18b b.n 8074bfa BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 80748e2: 2301 movs r3, #1 80748e4: 4a18 ldr r2, [pc, #96] ; (8074948 ) 80748e6: 2178 movs r1, #120 ; 0x78 80748e8: 20a5 movs r0, #165 ; 0xa5 80748ea: f7df ff57 bl 805479c break; 80748ee: e184 b.n 8074bfa 80748f0: ff0a0f1f .word 0xff0a0f1f 80748f4: 20020038 .word 0x20020038 80748f8: 200216cc .word 0x200216cc 80748fc: 20023ea8 .word 0x20023ea8 8074900: 080f3838 .word 0x080f3838 8074904: 20021d64 .word 0x20021d64 8074908: 91a2b3c5 .word 0x91a2b3c5 807490c: 20021684 .word 0x20021684 8074910: 88888889 .word 0x88888889 8074914: 20021688 .word 0x20021688 8074918: 2002168c .word 0x2002168c 807491c: cccccccd .word 0xcccccccd 8074920: 20020050 .word 0x20020050 8074924: 200216ac .word 0x200216ac 8074928: 08148814 .word 0x08148814 807492c: 080d3f74 .word 0x080d3f74 8074930: 080d3f8c .word 0x080d3f8c 8074934: 080d3fa4 .word 0x080d3fa4 8074938: 20021694 .word 0x20021694 807493c: ff29eb19 .word 0xff29eb19 8074940: 080d3ffc .word 0x080d3ffc 8074944: 200215ac .word 0x200215ac 8074948: 080d3fd8 .word 0x080d3fd8 807494c: 080d3fc4 .word 0x080d3fc4 if(CardState == MSD_READY) 8074950: 4bb2 ldr r3, [pc, #712] ; (8074c1c ) 8074952: 781b ldrb r3, [r3, #0] 8074954: b2db uxtb r3, r3 8074956: 2b03 cmp r3, #3 8074958: f040 8152 bne.w 8074c00 BSP_LCD_SetFont(&Font12); 807495c: 48b0 ldr r0, [pc, #704] ; (8074c20 ) 807495e: f7df fe93 bl 8054688 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8074962: 49b0 ldr r1, [pc, #704] ; (8074c24 ) 8074964: f06f 00ff mvn.w r0, #255 ; 0xff 8074968: f7df fe52 bl 8054610 if(pardata.LANG == RUS) 807496c: 4bae ldr r3, [pc, #696] ; (8074c28 ) 807496e: 7b1b ldrb r3, [r3, #12] 8074970: b2db uxtb r3, r3 8074972: 2b00 cmp r3, #0 8074974: d10c bne.n 8074990 BSP_LCD_DisplayStringAt(165, 120, "Àâòîìàòè÷åñêèé ïîäáîð êîýôôèöèåíòà", CENTER_MODE); 8074976: 2301 movs r3, #1 8074978: 4aac ldr r2, [pc, #688] ; (8074c2c ) 807497a: 2178 movs r1, #120 ; 0x78 807497c: 20a5 movs r0, #165 ; 0xa5 807497e: f7df ff0d bl 805479c BSP_LCD_DisplayStringAt(165, 135, "óñèëåíèÿ. Æäèòå...", CENTER_MODE); 8074982: 2301 movs r3, #1 8074984: 4aaa ldr r2, [pc, #680] ; (8074c30 ) 8074986: 2187 movs r1, #135 ; 0x87 8074988: 20a5 movs r0, #165 ; 0xa5 807498a: f7df ff07 bl 805479c break; 807498e: e137 b.n 8074c00 BSP_LCD_DisplayStringAt(165, 120, "Automatic gain selection.", CENTER_MODE); 8074990: 2301 movs r3, #1 8074992: 4aa8 ldr r2, [pc, #672] ; (8074c34 ) 8074994: 2178 movs r1, #120 ; 0x78 8074996: 20a5 movs r0, #165 ; 0xa5 8074998: f7df ff00 bl 805479c BSP_LCD_DisplayStringAt(165, 135, "Please wait...", CENTER_MODE); 807499c: 2301 movs r3, #1 807499e: 4aa6 ldr r2, [pc, #664] ; (8074c38 ) 80749a0: 2187 movs r1, #135 ; 0x87 80749a2: 20a5 movs r0, #165 ; 0xa5 80749a4: f7df fefa bl 805479c break; 80749a8: e12a b.n 8074c00 if(Recording == false) 80749aa: 4ba4 ldr r3, [pc, #656] ; (8074c3c ) 80749ac: 781b ldrb r3, [r3, #0] 80749ae: b2db uxtb r3, r3 80749b0: f083 0301 eor.w r3, r3, #1 80749b4: b2db uxtb r3, r3 80749b6: 2b00 cmp r3, #0 80749b8: d025 beq.n 8074a06 if(CardState == MSD_READY) 80749ba: 4b98 ldr r3, [pc, #608] ; (8074c1c ) 80749bc: 781b ldrb r3, [r3, #0] 80749be: b2db uxtb r3, r3 80749c0: 2b03 cmp r3, #3 80749c2: f040 8120 bne.w 8074c06 BSP_LCD_SetFont(&Font12); 80749c6: 4896 ldr r0, [pc, #600] ; (8074c20 ) 80749c8: f7df fe5e bl 8054688 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80749cc: 4995 ldr r1, [pc, #596] ; (8074c24 ) 80749ce: 489c ldr r0, [pc, #624] ; (8074c40 ) 80749d0: f7df fe1e bl 8054610 if(pardata.LANG == RUS) 80749d4: 4b94 ldr r3, [pc, #592] ; (8074c28 ) 80749d6: 7b1b ldrb r3, [r3, #12] 80749d8: b2db uxtb r3, r3 80749da: 2b00 cmp r3, #0 80749dc: d10c bne.n 80749f8 BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 80749de: 2301 movs r3, #1 80749e0: 4a98 ldr r2, [pc, #608] ; (8074c44 ) 80749e2: 2178 movs r1, #120 ; 0x78 80749e4: 20a5 movs r0, #165 ; 0xa5 80749e6: f7df fed9 bl 805479c BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 80749ea: 2301 movs r3, #1 80749ec: 4a96 ldr r2, [pc, #600] ; (8074c48 ) 80749ee: 2187 movs r1, #135 ; 0x87 80749f0: 20a5 movs r0, #165 ; 0xa5 80749f2: f7df fed3 bl 805479c break; 80749f6: e106 b.n 8074c06 BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 80749f8: 2301 movs r3, #1 80749fa: 4a94 ldr r2, [pc, #592] ; (8074c4c ) 80749fc: 2178 movs r1, #120 ; 0x78 80749fe: 20a5 movs r0, #165 ; 0xa5 8074a00: f7df fecc bl 805479c break; 8074a04: e0ff b.n 8074c06 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074a06: 4987 ldr r1, [pc, #540] ; (8074c24 ) 8074a08: f04f 30ff mov.w r0, #4294967295 8074a0c: f7df fe00 bl 8054610 BSP_LCD_SetFont(&Font12); 8074a10: 4883 ldr r0, [pc, #524] ; (8074c20 ) 8074a12: f7df fe39 bl 8054688 k = TimeRec; 8074a16: 4b8e ldr r3, [pc, #568] ; (8074c50 ) 8074a18: 681b ldr r3, [r3, #0] 8074a1a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > TIMEREC[5][pardata.TME]) 8074a1e: 4b82 ldr r3, [pc, #520] ; (8074c28 ) 8074a20: 7b9b ldrb r3, [r3, #14] 8074a22: b2db uxtb r3, r3 8074a24: 4a8b ldr r2, [pc, #556] ; (8074c54 ) 8074a26: 3337 adds r3, #55 ; 0x37 8074a28: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8074a2c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8074a30: 429a cmp r2, r3 8074a32: d208 bcs.n 8074a46 k = TIMEREC[5][pardata.TME]; 8074a34: 4b7c ldr r3, [pc, #496] ; (8074c28 ) 8074a36: 7b9b ldrb r3, [r3, #14] 8074a38: b2db uxtb r3, r3 8074a3a: 4a86 ldr r2, [pc, #536] ; (8074c54 ) 8074a3c: 3337 adds r3, #55 ; 0x37 8074a3e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8074a42: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Hours = ((k / Fs) / 60) / 60; 8074a46: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8074a4a: 4b83 ldr r3, [pc, #524] ; (8074c58 ) 8074a4c: 681b ldr r3, [r3, #0] 8074a4e: fbb2 f3f3 udiv r3, r2, r3 8074a52: 4a82 ldr r2, [pc, #520] ; (8074c5c ) 8074a54: fba2 2303 umull r2, r3, r2, r3 8074a58: 0adb lsrs r3, r3, #11 8074a5a: 4a81 ldr r2, [pc, #516] ; (8074c60 ) 8074a5c: 6013 str r3, [r2, #0] Minutes = ((k / Fs) / 60) % 60; 8074a5e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8074a62: 4b7d ldr r3, [pc, #500] ; (8074c58 ) 8074a64: 681b ldr r3, [r3, #0] 8074a66: fbb2 f3f3 udiv r3, r2, r3 8074a6a: 4a7e ldr r2, [pc, #504] ; (8074c64 ) 8074a6c: fba2 2303 umull r2, r3, r2, r3 8074a70: 0959 lsrs r1, r3, #5 8074a72: 4b7c ldr r3, [pc, #496] ; (8074c64 ) 8074a74: fba3 2301 umull r2, r3, r3, r1 8074a78: 095a lsrs r2, r3, #5 8074a7a: 4613 mov r3, r2 8074a7c: 011b lsls r3, r3, #4 8074a7e: 1a9b subs r3, r3, r2 8074a80: 009b lsls r3, r3, #2 8074a82: 1aca subs r2, r1, r3 8074a84: 4b78 ldr r3, [pc, #480] ; (8074c68 ) 8074a86: 601a str r2, [r3, #0] Seconds = (k / Fs) % 60; 8074a88: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8074a8c: 4b72 ldr r3, [pc, #456] ; (8074c58 ) 8074a8e: 681b ldr r3, [r3, #0] 8074a90: fbb2 f1f3 udiv r1, r2, r3 8074a94: 4b73 ldr r3, [pc, #460] ; (8074c64 ) 8074a96: fba3 2301 umull r2, r3, r3, r1 8074a9a: 095a lsrs r2, r3, #5 8074a9c: 4613 mov r3, r2 8074a9e: 011b lsls r3, r3, #4 8074aa0: 1a9b subs r3, r3, r2 8074aa2: 009b lsls r3, r3, #2 8074aa4: 1aca subs r2, r1, r3 8074aa6: 4b71 ldr r3, [pc, #452] ; (8074c6c ) 8074aa8: 601a str r2, [r3, #0] str[0] = (Hours / 10) + 48; 8074aaa: 4b6d ldr r3, [pc, #436] ; (8074c60 ) 8074aac: 681b ldr r3, [r3, #0] 8074aae: 4a70 ldr r2, [pc, #448] ; (8074c70 ) 8074ab0: fba2 2303 umull r2, r3, r2, r3 8074ab4: 08db lsrs r3, r3, #3 8074ab6: b2db uxtb r3, r3 8074ab8: 3330 adds r3, #48 ; 0x30 8074aba: b2da uxtb r2, r3 8074abc: f507 733b add.w r3, r7, #748 ; 0x2ec 8074ac0: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8074ac2: 4b67 ldr r3, [pc, #412] ; (8074c60 ) 8074ac4: 6819 ldr r1, [r3, #0] 8074ac6: 4b6a ldr r3, [pc, #424] ; (8074c70 ) 8074ac8: fba3 2301 umull r2, r3, r3, r1 8074acc: 08da lsrs r2, r3, #3 8074ace: 4613 mov r3, r2 8074ad0: 009b lsls r3, r3, #2 8074ad2: 4413 add r3, r2 8074ad4: 005b lsls r3, r3, #1 8074ad6: 1aca subs r2, r1, r3 8074ad8: b2d3 uxtb r3, r2 8074ada: 3330 adds r3, #48 ; 0x30 8074adc: b2da uxtb r2, r3 8074ade: f507 733b add.w r3, r7, #748 ; 0x2ec 8074ae2: 705a strb r2, [r3, #1] str[2] = ':'; 8074ae4: f507 733b add.w r3, r7, #748 ; 0x2ec 8074ae8: 223a movs r2, #58 ; 0x3a 8074aea: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8074aec: 4b5e ldr r3, [pc, #376] ; (8074c68 ) 8074aee: 681b ldr r3, [r3, #0] 8074af0: 4a5f ldr r2, [pc, #380] ; (8074c70 ) 8074af2: fba2 2303 umull r2, r3, r2, r3 8074af6: 08db lsrs r3, r3, #3 8074af8: b2db uxtb r3, r3 8074afa: 3330 adds r3, #48 ; 0x30 8074afc: b2da uxtb r2, r3 8074afe: f507 733b add.w r3, r7, #748 ; 0x2ec 8074b02: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8074b04: 4b58 ldr r3, [pc, #352] ; (8074c68 ) 8074b06: 6819 ldr r1, [r3, #0] 8074b08: 4b59 ldr r3, [pc, #356] ; (8074c70 ) 8074b0a: fba3 2301 umull r2, r3, r3, r1 8074b0e: 08da lsrs r2, r3, #3 8074b10: 4613 mov r3, r2 8074b12: 009b lsls r3, r3, #2 8074b14: 4413 add r3, r2 8074b16: 005b lsls r3, r3, #1 8074b18: 1aca subs r2, r1, r3 8074b1a: b2d3 uxtb r3, r2 8074b1c: 3330 adds r3, #48 ; 0x30 8074b1e: b2da uxtb r2, r3 8074b20: f507 733b add.w r3, r7, #748 ; 0x2ec 8074b24: 711a strb r2, [r3, #4] str[5] = ':'; 8074b26: f507 733b add.w r3, r7, #748 ; 0x2ec 8074b2a: 223a movs r2, #58 ; 0x3a 8074b2c: 715a strb r2, [r3, #5] str[6] = (Seconds / 10) + 48; 8074b2e: 4b4f ldr r3, [pc, #316] ; (8074c6c ) 8074b30: 681b ldr r3, [r3, #0] 8074b32: 4a4f ldr r2, [pc, #316] ; (8074c70 ) 8074b34: fba2 2303 umull r2, r3, r2, r3 8074b38: 08db lsrs r3, r3, #3 8074b3a: b2db uxtb r3, r3 8074b3c: 3330 adds r3, #48 ; 0x30 8074b3e: b2da uxtb r2, r3 8074b40: f507 733b add.w r3, r7, #748 ; 0x2ec 8074b44: 719a strb r2, [r3, #6] str[7] = (Seconds % 10) + 48; 8074b46: 4b49 ldr r3, [pc, #292] ; (8074c6c ) 8074b48: 6819 ldr r1, [r3, #0] 8074b4a: 4b49 ldr r3, [pc, #292] ; (8074c70 ) 8074b4c: fba3 2301 umull r2, r3, r3, r1 8074b50: 08da lsrs r2, r3, #3 8074b52: 4613 mov r3, r2 8074b54: 009b lsls r3, r3, #2 8074b56: 4413 add r3, r2 8074b58: 005b lsls r3, r3, #1 8074b5a: 1aca subs r2, r1, r3 8074b5c: b2d3 uxtb r3, r2 8074b5e: 3330 adds r3, #48 ; 0x30 8074b60: b2da uxtb r2, r3 8074b62: f507 733b add.w r3, r7, #748 ; 0x2ec 8074b66: 71da strb r2, [r3, #7] str[8] = '\0'; 8074b68: f507 733b add.w r3, r7, #748 ; 0x2ec 8074b6c: 2200 movs r2, #0 8074b6e: 721a strb r2, [r3, #8] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074b70: 492c ldr r1, [pc, #176] ; (8074c24 ) 8074b72: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074b76: f7df fd4b bl 8054610 BSP_LCD_SetFont(&Font20); 8074b7a: 483e ldr r0, [pc, #248] ; (8074c74 ) 8074b7c: f7df fd84 bl 8054688 BSP_LCD_DisplayStringAt(165, 120, str, CENTER_MODE); 8074b80: f507 723b add.w r2, r7, #748 ; 0x2ec 8074b84: 2301 movs r3, #1 8074b86: 2178 movs r1, #120 ; 0x78 8074b88: 20a5 movs r0, #165 ; 0xa5 8074b8a: f7df fe07 bl 805479c if(old_second != Seconds) 8074b8e: 4b3a ldr r3, [pc, #232] ; (8074c78 ) 8074b90: 681a ldr r2, [r3, #0] 8074b92: 4b36 ldr r3, [pc, #216] ; (8074c6c ) 8074b94: 681b ldr r3, [r3, #0] 8074b96: 429a cmp r2, r3 8074b98: d004 beq.n 8074ba4 DrawImage(&bmREC1, 151, 145); 8074b9a: 2291 movs r2, #145 ; 0x91 8074b9c: 2197 movs r1, #151 ; 0x97 8074b9e: 4837 ldr r0, [pc, #220] ; (8074c7c ) 8074ba0: f7e0 fc2a bl 80553f8 old_second = Seconds; 8074ba4: 4b31 ldr r3, [pc, #196] ; (8074c6c ) 8074ba6: 681b ldr r3, [r3, #0] 8074ba8: 4a33 ldr r2, [pc, #204] ; (8074c78 ) 8074baa: 6013 str r3, [r2, #0] BSP_LCD_SetFont(&Font12); 8074bac: 481c ldr r0, [pc, #112] ; (8074c20 ) 8074bae: f7df fd6b bl 8054688 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8074bb2: 491c ldr r1, [pc, #112] ; (8074c24 ) 8074bb4: f06f 00ff mvn.w r0, #255 ; 0xff 8074bb8: f7df fd2a bl 8054610 if(pardata.LANG == RUS) 8074bbc: 4b1a ldr r3, [pc, #104] ; (8074c28 ) 8074bbe: 7b1b ldrb r3, [r3, #12] 8074bc0: b2db uxtb r3, r3 8074bc2: 2b00 cmp r3, #0 8074bc4: d10c bne.n 8074be0 BSP_LCD_DisplayStringAt(165, 205, "×òîáû îñòàíîâèòü çàïèñü", CENTER_MODE); 8074bc6: 2301 movs r3, #1 8074bc8: 4a2d ldr r2, [pc, #180] ; (8074c80 ) 8074bca: 21cd movs r1, #205 ; 0xcd 8074bcc: 20a5 movs r0, #165 ; 0xa5 8074bce: f7df fde5 bl 805479c BSP_LCD_DisplayStringAt(165, 220, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 8074bd2: 2301 movs r3, #1 8074bd4: 4a1c ldr r2, [pc, #112] ; (8074c48 ) 8074bd6: 21dc movs r1, #220 ; 0xdc 8074bd8: 20a5 movs r0, #165 ; 0xa5 8074bda: f7df fddf bl 805479c break; 8074bde: e012 b.n 8074c06 BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); 8074be0: 2301 movs r3, #1 8074be2: 4a28 ldr r2, [pc, #160] ; (8074c84 ) 8074be4: 21dc movs r1, #220 ; 0xdc 8074be6: 20a5 movs r0, #165 ; 0xa5 8074be8: f7df fdd8 bl 805479c break; 8074bec: e00b b.n 8074c06 break; 8074bee: bf00 nop 8074bf0: f023 bcf5 b.w 80985de break; 8074bf4: bf00 nop 8074bf6: f023 bcf2 b.w 80985de break; 8074bfa: bf00 nop 8074bfc: f023 bcef b.w 80985de break; 8074c00: bf00 nop 8074c02: f023 bcec b.w 80985de break; 8074c06: bf00 nop break; 8074c08: f023 bce9 b.w 80985de * */ u_y[0] = 203; 8074c0c: 23cb movs r3, #203 ; 0xcb 8074c0e: f887 3404 strb.w r3, [r7, #1028] ; 0x404 for(i = 1; i < sizeof(u_y); i++) { 8074c12: 2301 movs r3, #1 8074c14: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8074c18: e04e b.n 8074cb8 8074c1a: bf00 nop 8074c1c: 20021694 .word 0x20021694 8074c20: 20020038 .word 0x20020038 8074c24: ff0a0f1f .word 0xff0a0f1f 8074c28: 20023ea8 .word 0x20023ea8 8074c2c: 080d400c .word 0x080d400c 8074c30: 080d4030 .word 0x080d4030 8074c34: 080d4044 .word 0x080d4044 8074c38: 080d4060 .word 0x080d4060 8074c3c: 20020dd0 .word 0x20020dd0 8074c40: ff29eb19 .word 0xff29eb19 8074c44: 080d3fc4 .word 0x080d3fc4 8074c48: 080d3f8c .word 0x080d3f8c 8074c4c: 080d3fd8 .word 0x080d3fd8 8074c50: 200216cc .word 0x200216cc 8074c54: 080f3838 .word 0x080f3838 8074c58: 20021d64 .word 0x20021d64 8074c5c: 91a2b3c5 .word 0x91a2b3c5 8074c60: 20021684 .word 0x20021684 8074c64: 88888889 .word 0x88888889 8074c68: 20021688 .word 0x20021688 8074c6c: 2002168c .word 0x2002168c 8074c70: cccccccd .word 0xcccccccd 8074c74: 20020050 .word 0x20020050 8074c78: 200216ac .word 0x200216ac 8074c7c: 08148814 .word 0x08148814 8074c80: 080d3f74 .word 0x080d3f74 8074c84: 080d3fa4 .word 0x080d3fa4 u_y[i] = u_y[0] - i * 24; 8074c88: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074c8c: f897 1404 ldrb.w r1, [r7, #1028] ; 0x404 8074c90: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8074c94: b2d2 uxtb r2, r2 8074c96: 4610 mov r0, r2 8074c98: 0040 lsls r0, r0, #1 8074c9a: 4402 add r2, r0 8074c9c: 00d2 lsls r2, r2, #3 8074c9e: b2d2 uxtb r2, r2 8074ca0: 1a8a subs r2, r1, r2 8074ca2: b2d2 uxtb r2, r2 8074ca4: f507 618e add.w r1, r7, #1136 ; 0x470 8074ca8: 440b add r3, r1 8074caa: f803 2c6c strb.w r2, [r3, #-108] for(i = 1; i < sizeof(u_y); i++) { 8074cae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074cb2: 3301 adds r3, #1 8074cb4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8074cb8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074cbc: 2b06 cmp r3, #6 8074cbe: d9e3 bls.n 8074c88 BSP_LCD_DisplayStringAt(29, u_y[i] - 2, (char *) FloatToASCII(Pfy[i], -1), RIGHT_MODE);*/ BSP_LCD_SetFont(&Font12); 8074cc0: 48cd ldr r0, [pc, #820] ; (8074ff8 ) 8074cc2: f7df fce1 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074cc6: 49cd ldr r1, [pc, #820] ; (8074ffc ) 8074cc8: f04f 30ff mov.w r0, #4294967295 8074ccc: f7df fca0 bl 8054610 else if(menupos == StartStop) {*/ //DrawImage(&bmLEFT_1, 9, 214); //DrawImage(&bmMINUS_1, 71, 214); DrawImage(&bmPLAY_1_LIGHT, 133, 214); 8074cd0: 22d6 movs r2, #214 ; 0xd6 8074cd2: 2185 movs r1, #133 ; 0x85 8074cd4: 48ca ldr r0, [pc, #808] ; (8075000 ) 8074cd6: f7e0 fb8f bl 80553f8 if(measuring) 8074cda: 4bca ldr r3, [pc, #808] ; (8075004 ) 8074cdc: 781b ldrb r3, [r3, #0] 8074cde: b2db uxtb r3, r3 8074ce0: 2b00 cmp r3, #0 8074ce2: d00c beq.n 8074cfe BSP_LCD_DisplayStringAt(133 + 27, 221, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 8074ce4: 4bc8 ldr r3, [pc, #800] ; (8075008 ) 8074ce6: 7b1b ldrb r3, [r3, #12] 8074ce8: b2db uxtb r3, r3 8074cea: 4ac8 ldr r2, [pc, #800] ; (807500c ) 8074cec: 00db lsls r3, r3, #3 8074cee: 4413 add r3, r2 8074cf0: 685a ldr r2, [r3, #4] 8074cf2: 2301 movs r3, #1 8074cf4: 21dd movs r1, #221 ; 0xdd 8074cf6: 20a0 movs r0, #160 ; 0xa0 8074cf8: f7df fd50 bl 805479c 8074cfc: e00b b.n 8074d16 else BSP_LCD_DisplayStringAt(133 + 27, 221, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 8074cfe: 4bc2 ldr r3, [pc, #776] ; (8075008 ) 8074d00: 7b1b ldrb r3, [r3, #12] 8074d02: b2db uxtb r3, r3 8074d04: 461a mov r2, r3 8074d06: 4bc1 ldr r3, [pc, #772] ; (807500c ) 8074d08: f853 2032 ldr.w r2, [r3, r2, lsl #3] 8074d0c: 2301 movs r3, #1 8074d0e: 21dd movs r1, #221 ; 0xdd 8074d10: 20a0 movs r0, #160 ; 0xa0 8074d12: f7df fd43 bl 805479c DrawImage(&bmPLUS_1, 195, 214); DrawImage(&bmRIGHT_1, 257, 214); }*/ LCD_SetColors(0xFF000000, 0xFF000000); 8074d16: f04f 417f mov.w r1, #4278190080 ; 0xff000000 8074d1a: f04f 407f mov.w r0, #4278190080 ; 0xff000000 8074d1e: f7df fc77 bl 8054610 BSP_LCD_FillRect(32, 35, 256, 178); 8074d22: 23b2 movs r3, #178 ; 0xb2 8074d24: f44f 7280 mov.w r2, #256 ; 0x100 8074d28: 2123 movs r1, #35 ; 0x23 8074d2a: 2020 movs r0, #32 8074d2c: f7e0 f8fe bl 8054f2c LCD_SetColors(0xFF131313, LCD_COLOR_BLACK); 8074d30: 49b2 ldr r1, [pc, #712] ; (8074ffc ) 8074d32: 48b7 ldr r0, [pc, #732] ; (8075010 ) 8074d34: f7df fc6c bl 8054610 for(i = 0; i < 4; i++) { 8074d38: 2300 movs r3, #0 8074d3a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8074d3e: e010 b.n 8074d62 BSP_LCD_DrawVLine(32 + (i << 6), 35, 168); 8074d40: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074d44: b29b uxth r3, r3 8074d46: 019b lsls r3, r3, #6 8074d48: b29b uxth r3, r3 8074d4a: 3320 adds r3, #32 8074d4c: b29b uxth r3, r3 8074d4e: 22a8 movs r2, #168 ; 0xa8 8074d50: 2123 movs r1, #35 ; 0x23 8074d52: 4618 mov r0, r3 8074d54: f7df fe34 bl 80549c0 for(i = 0; i < 4; i++) { 8074d58: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074d5c: 3301 adds r3, #1 8074d5e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8074d62: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074d66: 2b03 cmp r3, #3 8074d68: d9ea bls.n 8074d40 } for(i = 0; i < 8; i++) { 8074d6a: 2300 movs r3, #0 8074d6c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8074d70: e014 b.n 8074d9c BSP_LCD_DrawHLine(32, 35 + i*24, 256); 8074d72: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074d76: b29b uxth r3, r3 8074d78: 461a mov r2, r3 8074d7a: 0052 lsls r2, r2, #1 8074d7c: 4413 add r3, r2 8074d7e: 00db lsls r3, r3, #3 8074d80: b29b uxth r3, r3 8074d82: 3323 adds r3, #35 ; 0x23 8074d84: b29b uxth r3, r3 8074d86: f44f 7280 mov.w r2, #256 ; 0x100 8074d8a: 4619 mov r1, r3 8074d8c: 2020 movs r0, #32 8074d8e: f7df fdb9 bl 8054904 for(i = 0; i < 8; i++) { 8074d92: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074d96: 3301 adds r3, #1 8074d98: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8074d9c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074da0: 2b07 cmp r3, #7 8074da2: d9e6 bls.n 8074d72 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074da4: 4995 ldr r1, [pc, #596] ; (8074ffc ) 8074da6: f04f 30ff mov.w r0, #4294967295 8074daa: f7df fc31 bl 8054610 BSP_LCD_DrawVLine(31, 34, 179); 8074dae: 22b3 movs r2, #179 ; 0xb3 8074db0: 2122 movs r1, #34 ; 0x22 8074db2: 201f movs r0, #31 8074db4: f7df fe04 bl 80549c0 BSP_LCD_DrawVLine(288, 34, 179); 8074db8: 22b3 movs r2, #179 ; 0xb3 8074dba: 2122 movs r1, #34 ; 0x22 8074dbc: f44f 7090 mov.w r0, #288 ; 0x120 8074dc0: f7df fdfe bl 80549c0 BSP_LCD_DrawHLine(31, 34, 258); 8074dc4: f44f 7281 mov.w r2, #258 ; 0x102 8074dc8: 2122 movs r1, #34 ; 0x22 8074dca: 201f movs r0, #31 8074dcc: f7df fd9a bl 8054904 BSP_LCD_DrawHLine(31, 213, 258); 8074dd0: f44f 7281 mov.w r2, #258 ; 0x102 8074dd4: 21d5 movs r1, #213 ; 0xd5 8074dd6: 201f movs r0, #31 8074dd8: f7df fd94 bl 8054904 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074ddc: 4987 ldr r1, [pc, #540] ; (8074ffc ) 8074dde: f04f 30ff mov.w r0, #4294967295 8074de2: f7df fc15 bl 8054610 BSP_LCD_SetFont(&Font12); 8074de6: 4884 ldr r0, [pc, #528] ; (8074ff8 ) 8074de8: f7df fc4e bl 8054688 BSP_LCD_DisplayStringAt(256, 36, "dBm=", RIGHT_MODE); 8074dec: 2302 movs r3, #2 8074dee: 4a89 ldr r2, [pc, #548] ; (8075014 ) 8074df0: 2124 movs r1, #36 ; 0x24 8074df2: f44f 7080 mov.w r0, #256 ; 0x100 8074df6: f7df fcd1 bl 805479c BSP_LCD_DisplayStringAt(256, 48, "dBi=", RIGHT_MODE); 8074dfa: 2302 movs r3, #2 8074dfc: 4a86 ldr r2, [pc, #536] ; (8075018 ) 8074dfe: 2130 movs r1, #48 ; 0x30 8074e00: f44f 7080 mov.w r0, #256 ; 0x100 8074e04: f7df fcca bl 805479c BSP_LCD_DisplayStringAt(256, 60, "dBc=", RIGHT_MODE); 8074e08: 2302 movs r3, #2 8074e0a: 4a84 ldr r2, [pc, #528] ; (807501c ) 8074e0c: 213c movs r1, #60 ; 0x3c 8074e0e: f44f 7080 mov.w r0, #256 ; 0x100 8074e12: f7df fcc3 bl 805479c BSP_LCD_DisplayStringAt( 30, 37, "dBsv", RIGHT_MODE); 8074e16: 2302 movs r3, #2 8074e18: 4a81 ldr r2, [pc, #516] ; (8075020 ) 8074e1a: 2125 movs r1, #37 ; 0x25 8074e1c: 201e movs r0, #30 8074e1e: f7df fcbd bl 805479c if((Stability > (Nr * 4)) && (!timeRelax)) 8074e22: 4b80 ldr r3, [pc, #512] ; (8075024 ) 8074e24: 881b ldrh r3, [r3, #0] 8074e26: b29b uxth r3, r3 8074e28: 009b lsls r3, r3, #2 8074e2a: 461a mov r2, r3 8074e2c: 4b7e ldr r3, [pc, #504] ; (8075028 ) 8074e2e: 681b ldr r3, [r3, #0] 8074e30: 429a cmp r2, r3 8074e32: f080 8303 bcs.w 807543c 8074e36: 4b7d ldr r3, [pc, #500] ; (807502c ) 8074e38: 681b ldr r3, [r3, #0] 8074e3a: 2b00 cmp r3, #0 8074e3c: f040 82fe bne.w 807543c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074e40: 496e ldr r1, [pc, #440] ; (8074ffc ) 8074e42: f04f 30ff mov.w r0, #4294967295 8074e46: f7df fbe3 bl 8054610 Pfy[0] = -20.0; 8074e4a: 4b79 ldr r3, [pc, #484] ; (8075030 ) 8074e4c: 4a79 ldr r2, [pc, #484] ; (8075034 ) 8074e4e: 601a str r2, [r3, #0] Pfy[1] = 0.0; 8074e50: 4b77 ldr r3, [pc, #476] ; (8075030 ) 8074e52: f04f 0200 mov.w r2, #0 8074e56: 605a str r2, [r3, #4] Pfy[2] = 20.0; 8074e58: 4b75 ldr r3, [pc, #468] ; (8075030 ) 8074e5a: 4a77 ldr r2, [pc, #476] ; (8075038 ) 8074e5c: 609a str r2, [r3, #8] Pfy[3] = 40.0; 8074e5e: 4b74 ldr r3, [pc, #464] ; (8075030 ) 8074e60: 4a76 ldr r2, [pc, #472] ; (807503c ) 8074e62: 60da str r2, [r3, #12] Pfy[4] = 60.0; 8074e64: 4b72 ldr r3, [pc, #456] ; (8075030 ) 8074e66: 4a76 ldr r2, [pc, #472] ; (8075040 ) 8074e68: 611a str r2, [r3, #16] Pfy[5] = 80.0; 8074e6a: 4b71 ldr r3, [pc, #452] ; (8075030 ) 8074e6c: 4a75 ldr r2, [pc, #468] ; (8075044 ) 8074e6e: 615a str r2, [r3, #20] Pfy[6] = 100.0; 8074e70: 4b6f ldr r3, [pc, #444] ; (8075030 ) 8074e72: 4a75 ldr r2, [pc, #468] ; (8075048 ) 8074e74: 619a str r2, [r3, #24] BSP_LCD_SetFont(&Font8); 8074e76: 4875 ldr r0, [pc, #468] ; (807504c ) 8074e78: f7df fc06 bl 8054688 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8074e7c: 495f ldr r1, [pc, #380] ; (8074ffc ) 8074e7e: 4874 ldr r0, [pc, #464] ; (8075050 ) 8074e80: f7df fbc6 bl 8054610 for(i = 0; i < 7; i++) 8074e84: 2300 movs r3, #0 8074e86: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8074e8a: e021 b.n 8074ed0 BSP_LCD_DisplayStringAt(29, u_y[i] - 2, (char *) FloatToASCII(Pfy[i], -1), RIGHT_MODE); 8074e8c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074e90: f507 628e add.w r2, r7, #1136 ; 0x470 8074e94: 4413 add r3, r2 8074e96: f813 3c6c ldrb.w r3, [r3, #-108] 8074e9a: b29b uxth r3, r3 8074e9c: 3b02 subs r3, #2 8074e9e: b29c uxth r4, r3 8074ea0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074ea4: 4a62 ldr r2, [pc, #392] ; (8075030 ) 8074ea6: 009b lsls r3, r3, #2 8074ea8: 4413 add r3, r2 8074eaa: edd3 7a00 vldr s15, [r3] 8074eae: f04f 30ff mov.w r0, #4294967295 8074eb2: eeb0 0a67 vmov.f32 s0, s15 8074eb6: f7f2 fb73 bl 80675a0 8074eba: 4602 mov r2, r0 8074ebc: 2302 movs r3, #2 8074ebe: 4621 mov r1, r4 8074ec0: 201d movs r0, #29 8074ec2: f7df fc6b bl 805479c for(i = 0; i < 7; i++) 8074ec6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074eca: 3301 adds r3, #1 8074ecc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8074ed0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074ed4: 2b06 cmp r3, #6 8074ed6: d9d9 bls.n 8074e8c LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 8074ed8: 4948 ldr r1, [pc, #288] ; (8074ffc ) 8074eda: 485e ldr r0, [pc, #376] ; (8075054 ) 8074edc: f7df fb98 bl 8054610 for(i = 0; i < 256; i++) 8074ee0: 2300 movs r3, #0 8074ee2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8074ee6: e1d0 b.n 807528a { f = ScrA_f32(i); 8074ee8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074eec: 009a lsls r2, r3, #2 8074eee: 4b5a ldr r3, [pc, #360] ; (8075058 ) 8074ef0: 4413 add r3, r2 8074ef2: 681b ldr r3, [r3, #0] 8074ef4: f507 628b add.w r2, r7, #1112 ; 0x458 8074ef8: 6013 str r3, [r2, #0] if(f < -20.0f) 8074efa: f507 638b add.w r3, r7, #1112 ; 0x458 8074efe: edd3 7a00 vldr s15, [r3] 8074f02: eebb 7a04 vmov.f32 s14, #180 ; 0xc1a00000 -20.0 8074f06: eef4 7ac7 vcmpe.f32 s15, s14 8074f0a: eef1 fa10 vmrs APSR_nzcv, fpscr 8074f0e: d503 bpl.n 8074f18 f = -20.0f; 8074f10: 4b48 ldr r3, [pc, #288] ; (8075034 ) 8074f12: f507 628b add.w r2, r7, #1112 ; 0x458 8074f16: 6013 str r3, [r2, #0] if(f > 100.0f) 8074f18: f507 638b add.w r3, r7, #1112 ; 0x458 8074f1c: edd3 7a00 vldr s15, [r3] 8074f20: ed9f 7a4e vldr s14, [pc, #312] ; 807505c 8074f24: eef4 7ac7 vcmpe.f32 s15, s14 8074f28: eef1 fa10 vmrs APSR_nzcv, fpscr 8074f2c: dd03 ble.n 8074f36 f = 100.0f; 8074f2e: 4b46 ldr r3, [pc, #280] ; (8075048 ) 8074f30: f507 628b add.w r2, r7, #1112 ; 0x458 8074f34: 6013 str r3, [r2, #0] if(f < 0.0f) 8074f36: f507 638b add.w r3, r7, #1112 ; 0x458 8074f3a: edd3 7a00 vldr s15, [r3] 8074f3e: eef5 7ac0 vcmpe.f32 s15, #0.0 8074f42: eef1 fa10 vmrs APSR_nzcv, fpscr 8074f46: d537 bpl.n 8074fb8 { f = (24 - (24 * f / Pfy[0])) + 0.5f; 8074f48: f507 638b add.w r3, r7, #1112 ; 0x458 8074f4c: edd3 7a00 vldr s15, [r3] 8074f50: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8074f54: ee67 6a87 vmul.f32 s13, s15, s14 8074f58: 4b35 ldr r3, [pc, #212] ; (8075030 ) 8074f5a: ed93 7a00 vldr s14, [r3] 8074f5e: eec6 7a87 vdiv.f32 s15, s13, s14 8074f62: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8074f66: ee77 7a67 vsub.f32 s15, s14, s15 8074f6a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8074f6e: ee77 7a87 vadd.f32 s15, s15, s14 8074f72: f507 638b add.w r3, r7, #1112 ; 0x458 8074f76: edc3 7a00 vstr s15, [r3] y = u_y[0] - (uint32_t) f; 8074f7a: f897 3404 ldrb.w r3, [r7, #1028] ; 0x404 8074f7e: f507 628b add.w r2, r7, #1112 ; 0x458 8074f82: edd2 7a00 vldr s15, [r2] 8074f86: eefc 7ae7 vcvt.u32.f32 s15, s15 8074f8a: ee17 2a90 vmov r2, s15 8074f8e: 1a9b subs r3, r3, r2 8074f90: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(f <= Pfy[0])// <= -20 8074f94: 4b26 ldr r3, [pc, #152] ; (8075030 ) 8074f96: ed93 7a00 vldr s14, [r3] 8074f9a: f507 638b add.w r3, r7, #1112 ; 0x458 8074f9e: edd3 7a00 vldr s15, [r3] 8074fa2: eeb4 7ae7 vcmpe.f32 s14, s15 8074fa6: eef1 fa10 vmrs APSR_nzcv, fpscr 8074faa: f2c0 8155 blt.w 8075258 y = u_y[0]; 8074fae: f897 3404 ldrb.w r3, [r7, #1028] ; 0x404 8074fb2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8074fb6: e14f b.n 8075258 } else if(f == 0.0f) 8074fb8: f507 638b add.w r3, r7, #1112 ; 0x458 8074fbc: edd3 7a00 vldr s15, [r3] 8074fc0: eef5 7a40 vcmp.f32 s15, #0.0 8074fc4: eef1 fa10 vmrs APSR_nzcv, fpscr 8074fc8: d104 bne.n 8074fd4 { y = u_y[1]; 8074fca: f897 3405 ldrb.w r3, [r7, #1029] ; 0x405 8074fce: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8074fd2: e141 b.n 8075258 } else if(f >= Pfy[6]) // >= 100 8074fd4: 4b16 ldr r3, [pc, #88] ; (8075030 ) 8074fd6: ed93 7a06 vldr s14, [r3, #24] 8074fda: f507 638b add.w r3, r7, #1112 ; 0x458 8074fde: edd3 7a00 vldr s15, [r3] 8074fe2: eeb4 7ae7 vcmpe.f32 s14, s15 8074fe6: eef1 fa10 vmrs APSR_nzcv, fpscr 8074fea: d839 bhi.n 8075060 { y = u_y[6]; 8074fec: f897 340a ldrb.w r3, [r7, #1034] ; 0x40a 8074ff0: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8074ff4: e130 b.n 8075258 8074ff6: bf00 nop 8074ff8: 20020038 .word 0x20020038 8074ffc: ff0a0f1f .word 0xff0a0f1f 8075000: 08146b78 .word 0x08146b78 8075004: 20020dcf .word 0x20020dcf 8075008: 20023ea8 .word 0x20023ea8 807500c: 200201d4 .word 0x200201d4 8075010: ff131313 .word 0xff131313 8075014: 080d4070 .word 0x080d4070 8075018: 080d4078 .word 0x080d4078 807501c: 080d4080 .word 0x080d4080 8075020: 080d4088 .word 0x080d4088 8075024: 20021d68 .word 0x20021d68 8075028: 20020dc8 .word 0x20020dc8 807502c: 20020d8c .word 0x20020d8c 8075030: 20068608 .word 0x20068608 8075034: c1a00000 .word 0xc1a00000 8075038: 41a00000 .word 0x41a00000 807503c: 42200000 .word 0x42200000 8075040: 42700000 .word 0x42700000 8075044: 42a00000 .word 0x42a00000 8075048: 42c80000 .word 0x42c80000 807504c: 20020060 .word 0x20020060 8075050: ff808080 .word 0xff808080 8075054: ff26a01f .word 0xff26a01f 8075058: 64080000 .word 0x64080000 807505c: 42c80000 .word 0x42c80000 } else if(f <= Pfy[2]) // <= 20 8075060: 4bd8 ldr r3, [pc, #864] ; (80753c4 ) 8075062: ed93 7a02 vldr s14, [r3, #8] 8075066: f507 638b add.w r3, r7, #1112 ; 0x458 807506a: edd3 7a00 vldr s15, [r3] 807506e: eeb4 7ae7 vcmpe.f32 s14, s15 8075072: eef1 fa10 vmrs APSR_nzcv, fpscr 8075076: db21 blt.n 80750bc { f = (24 * f / 20.0f) + 0.5f; 8075078: f507 638b add.w r3, r7, #1112 ; 0x458 807507c: edd3 7a00 vldr s15, [r3] 8075080: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8075084: ee27 7a87 vmul.f32 s14, s15, s14 8075088: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 807508c: eec7 7a26 vdiv.f32 s15, s14, s13 8075090: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8075094: ee77 7a87 vadd.f32 s15, s15, s14 8075098: f507 638b add.w r3, r7, #1112 ; 0x458 807509c: edc3 7a00 vstr s15, [r3] y = u_y[1] - (uint32_t) f; 80750a0: f897 3405 ldrb.w r3, [r7, #1029] ; 0x405 80750a4: f507 628b add.w r2, r7, #1112 ; 0x458 80750a8: edd2 7a00 vldr s15, [r2] 80750ac: eefc 7ae7 vcvt.u32.f32 s15, s15 80750b0: ee17 2a90 vmov r2, s15 80750b4: 1a9b subs r3, r3, r2 80750b6: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80750ba: e0cd b.n 8075258 } else if(f <= Pfy[3]) // <= 40 80750bc: 4bc1 ldr r3, [pc, #772] ; (80753c4 ) 80750be: ed93 7a03 vldr s14, [r3, #12] 80750c2: f507 638b add.w r3, r7, #1112 ; 0x458 80750c6: edd3 7a00 vldr s15, [r3] 80750ca: eeb4 7ae7 vcmpe.f32 s14, s15 80750ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80750d2: db25 blt.n 8075120 { f = (24 * ((f - 20.0f) / 20.0f)) + 0.5f; 80750d4: f507 638b add.w r3, r7, #1112 ; 0x458 80750d8: edd3 7a00 vldr s15, [r3] 80750dc: eeb3 7a04 vmov.f32 s14, #52 ; 0x41a00000 20.0 80750e0: ee37 7ac7 vsub.f32 s14, s15, s14 80750e4: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 80750e8: eec7 7a26 vdiv.f32 s15, s14, s13 80750ec: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 80750f0: ee67 7a87 vmul.f32 s15, s15, s14 80750f4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80750f8: ee77 7a87 vadd.f32 s15, s15, s14 80750fc: f507 638b add.w r3, r7, #1112 ; 0x458 8075100: edc3 7a00 vstr s15, [r3] y = u_y[2] - (uint32_t) f; 8075104: f897 3406 ldrb.w r3, [r7, #1030] ; 0x406 8075108: f507 628b add.w r2, r7, #1112 ; 0x458 807510c: edd2 7a00 vldr s15, [r2] 8075110: eefc 7ae7 vcvt.u32.f32 s15, s15 8075114: ee17 2a90 vmov r2, s15 8075118: 1a9b subs r3, r3, r2 807511a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807511e: e09b b.n 8075258 } else if(f <= Pfy[4]) // <= 60 8075120: 4ba8 ldr r3, [pc, #672] ; (80753c4 ) 8075122: ed93 7a04 vldr s14, [r3, #16] 8075126: f507 638b add.w r3, r7, #1112 ; 0x458 807512a: edd3 7a00 vldr s15, [r3] 807512e: eeb4 7ae7 vcmpe.f32 s14, s15 8075132: eef1 fa10 vmrs APSR_nzcv, fpscr 8075136: db25 blt.n 8075184 { f = (24 * ((f - 40.0f) / 20.0f)) + 0.5f; 8075138: f507 638b add.w r3, r7, #1112 ; 0x458 807513c: edd3 7a00 vldr s15, [r3] 8075140: ed9f 7aa1 vldr s14, [pc, #644] ; 80753c8 8075144: ee37 7ac7 vsub.f32 s14, s15, s14 8075148: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 807514c: eec7 7a26 vdiv.f32 s15, s14, s13 8075150: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8075154: ee67 7a87 vmul.f32 s15, s15, s14 8075158: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807515c: ee77 7a87 vadd.f32 s15, s15, s14 8075160: f507 638b add.w r3, r7, #1112 ; 0x458 8075164: edc3 7a00 vstr s15, [r3] y = u_y[3] - (uint32_t) f; 8075168: f897 3407 ldrb.w r3, [r7, #1031] ; 0x407 807516c: f507 628b add.w r2, r7, #1112 ; 0x458 8075170: edd2 7a00 vldr s15, [r2] 8075174: eefc 7ae7 vcvt.u32.f32 s15, s15 8075178: ee17 2a90 vmov r2, s15 807517c: 1a9b subs r3, r3, r2 807517e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8075182: e069 b.n 8075258 } else if(f <= Pfy[5]) // <= 80 8075184: 4b8f ldr r3, [pc, #572] ; (80753c4 ) 8075186: ed93 7a05 vldr s14, [r3, #20] 807518a: f507 638b add.w r3, r7, #1112 ; 0x458 807518e: edd3 7a00 vldr s15, [r3] 8075192: eeb4 7ae7 vcmpe.f32 s14, s15 8075196: eef1 fa10 vmrs APSR_nzcv, fpscr 807519a: db25 blt.n 80751e8 { f = (24 * ((f - 60.0f) / 20.0f)) + 0.5f; 807519c: f507 638b add.w r3, r7, #1112 ; 0x458 80751a0: edd3 7a00 vldr s15, [r3] 80751a4: ed9f 7a89 vldr s14, [pc, #548] ; 80753cc 80751a8: ee37 7ac7 vsub.f32 s14, s15, s14 80751ac: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 80751b0: eec7 7a26 vdiv.f32 s15, s14, s13 80751b4: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 80751b8: ee67 7a87 vmul.f32 s15, s15, s14 80751bc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80751c0: ee77 7a87 vadd.f32 s15, s15, s14 80751c4: f507 638b add.w r3, r7, #1112 ; 0x458 80751c8: edc3 7a00 vstr s15, [r3] y = u_y[4] - (uint32_t) f; 80751cc: f897 3408 ldrb.w r3, [r7, #1032] ; 0x408 80751d0: f507 628b add.w r2, r7, #1112 ; 0x458 80751d4: edd2 7a00 vldr s15, [r2] 80751d8: eefc 7ae7 vcvt.u32.f32 s15, s15 80751dc: ee17 2a90 vmov r2, s15 80751e0: 1a9b subs r3, r3, r2 80751e2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80751e6: e037 b.n 8075258 } else if(f <= Pfy[6]) // <= 100 80751e8: 4b76 ldr r3, [pc, #472] ; (80753c4 ) 80751ea: ed93 7a06 vldr s14, [r3, #24] 80751ee: f507 638b add.w r3, r7, #1112 ; 0x458 80751f2: edd3 7a00 vldr s15, [r3] 80751f6: eeb4 7ae7 vcmpe.f32 s14, s15 80751fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80751fe: db2b blt.n 8075258 { f = (24 * ((f - 80.0f) / 20.0f)) + 0.5f; 8075200: f507 638b add.w r3, r7, #1112 ; 0x458 8075204: edd3 7a00 vldr s15, [r3] 8075208: ed9f 7a71 vldr s14, [pc, #452] ; 80753d0 807520c: ee37 7ac7 vsub.f32 s14, s15, s14 8075210: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 8075214: eec7 7a26 vdiv.f32 s15, s14, s13 8075218: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 807521c: ee67 7a87 vmul.f32 s15, s15, s14 8075220: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8075224: ee77 7a87 vadd.f32 s15, s15, s14 8075228: f507 638b add.w r3, r7, #1112 ; 0x458 807522c: edc3 7a00 vstr s15, [r3] y = u_y[5] - (uint32_t) f; 8075230: f897 3409 ldrb.w r3, [r7, #1033] ; 0x409 8075234: f507 628b add.w r2, r7, #1112 ; 0x458 8075238: edd2 7a00 vldr s15, [r2] 807523c: eefc 7ae7 vcvt.u32.f32 s15, s15 8075240: ee17 2a90 vmov r2, s15 8075244: 1a9b subs r3, r3, r2 8075246: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(y > 24) y = 24; 807524a: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 807524e: 2b18 cmp r3, #24 8075250: d902 bls.n 8075258 8075252: 2318 movs r3, #24 8075254: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 } BSP_LCD_DrawLine(32 + i, y, 32 + i, 203); 8075258: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807525c: b29b uxth r3, r3 807525e: 3320 adds r3, #32 8075260: b298 uxth r0, r3 8075262: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8075266: b299 uxth r1, r3 8075268: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807526c: b29b uxth r3, r3 807526e: 3320 adds r3, #32 8075270: b29a uxth r2, r3 8075272: 23cb movs r3, #203 ; 0xcb 8075274: f7df fc06 bl 8054a84 oldy = y; 8075278: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 807527c: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < 256; i++) 8075280: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8075284: 3301 adds r3, #1 8075286: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 807528a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807528e: 2bff cmp r3, #255 ; 0xff 8075290: f67f ae2a bls.w 8074ee8 } BSP_LCD_SetFont(&Font12); 8075294: 484f ldr r0, [pc, #316] ; (80753d4 ) 8075296: f7df f9f7 bl 8054688 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807529a: 494f ldr r1, [pc, #316] ; (80753d8 ) 807529c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80752a0: f7df f9b6 bl 8054610 if(dBm != -100.0f) 80752a4: 4b4d ldr r3, [pc, #308] ; (80753dc ) 80752a6: edd3 7a00 vldr s15, [r3] 80752aa: ed9f 7a4d vldr s14, [pc, #308] ; 80753e0 80752ae: eef4 7a47 vcmp.f32 s15, s14 80752b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80752b6: f000 80e2 beq.w 807547e { BSP_LCD_DisplayStringAt(286, 36, (char *) FloatToASCII(dBm, 0), RIGHT_MODE); 80752ba: 4b48 ldr r3, [pc, #288] ; (80753dc ) 80752bc: edd3 7a00 vldr s15, [r3] 80752c0: 2000 movs r0, #0 80752c2: eeb0 0a67 vmov.f32 s0, s15 80752c6: f7f2 f96b bl 80675a0 80752ca: 4602 mov r2, r0 80752cc: 2302 movs r3, #2 80752ce: 2124 movs r1, #36 ; 0x24 80752d0: f44f 708f mov.w r0, #286 ; 0x11e 80752d4: f7df fa62 bl 805479c BSP_LCD_DisplayStringAt(286, 48, (char *) FloatToASCII(dBi, 0), RIGHT_MODE); 80752d8: 4b42 ldr r3, [pc, #264] ; (80753e4 ) 80752da: edd3 7a00 vldr s15, [r3] 80752de: 2000 movs r0, #0 80752e0: eeb0 0a67 vmov.f32 s0, s15 80752e4: f7f2 f95c bl 80675a0 80752e8: 4602 mov r2, r0 80752ea: 2302 movs r3, #2 80752ec: 2130 movs r1, #48 ; 0x30 80752ee: f44f 708f mov.w r0, #286 ; 0x11e 80752f2: f7df fa53 bl 805479c BSP_LCD_DisplayStringAt(286, 60, (char *) FloatToASCII(dBc, 0), RIGHT_MODE); 80752f6: 4b3c ldr r3, [pc, #240] ; (80753e8 ) 80752f8: edd3 7a00 vldr s15, [r3] 80752fc: 2000 movs r0, #0 80752fe: eeb0 0a67 vmov.f32 s0, s15 8075302: f7f2 f94d bl 80675a0 8075306: 4602 mov r2, r0 8075308: 2302 movs r3, #2 807530a: 213c movs r1, #60 ; 0x3c 807530c: f44f 708f mov.w r0, #286 ; 0x11e 8075310: f7df fa44 bl 805479c // 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) 8075314: 4b31 ldr r3, [pc, #196] ; (80753dc ) 8075316: edd3 7a00 vldr s15, [r3] 807531a: eef5 7ac0 vcmpe.f32 s15, #0.0 807531e: eef1 fa10 vmrs APSR_nzcv, fpscr 8075322: d822 bhi.n 807536a { LCD_SetColors(MY_LCD_COLOR_DARKRED, LCD_COLOR_BLACK); 8075324: 492c ldr r1, [pc, #176] ; (80753d8 ) 8075326: 4831 ldr r0, [pc, #196] ; (80753ec ) 8075328: f7df f972 bl 8054610 BSP_LCD_FillRect(293, 35, 14, 59); 807532c: 233b movs r3, #59 ; 0x3b 807532e: 220e movs r2, #14 8075330: 2123 movs r1, #35 ; 0x23 8075332: f240 1025 movw r0, #293 ; 0x125 8075336: f7df fdf9 bl 8054f2c LCD_SetColors(MY_LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 807533a: 4927 ldr r1, [pc, #156] ; (80753d8 ) 807533c: 482c ldr r0, [pc, #176] ; (80753f0 ) 807533e: f7df f967 bl 8054610 BSP_LCD_FillRect(293, 35 + 59, 14, 59); 8075342: 233b movs r3, #59 ; 0x3b 8075344: 220e movs r2, #14 8075346: 215e movs r1, #94 ; 0x5e 8075348: f240 1025 movw r0, #293 ; 0x125 807534c: f7df fdee bl 8054f2c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075350: 4921 ldr r1, [pc, #132] ; (80753d8 ) 8075352: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075356: f7df f95b bl 8054610 BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 807535a: 233b movs r3, #59 ; 0x3b 807535c: 220e movs r2, #14 807535e: 2199 movs r1, #153 ; 0x99 8075360: f240 1025 movw r0, #293 ; 0x125 8075364: f7df fde2 bl 8054f2c if(dBm != -100.0f) 8075368: e089 b.n 807547e } else if(dBm <= 15.0f) 807536a: 4b1c ldr r3, [pc, #112] ; (80753dc ) 807536c: edd3 7a00 vldr s15, [r3] 8075370: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 8075374: eef4 7ac7 vcmpe.f32 s15, s14 8075378: eef1 fa10 vmrs APSR_nzcv, fpscr 807537c: d83c bhi.n 80753f8 { LCD_SetColors(MY_LCD_COLOR_DARKRED, LCD_COLOR_BLACK); 807537e: 4916 ldr r1, [pc, #88] ; (80753d8 ) 8075380: 481a ldr r0, [pc, #104] ; (80753ec ) 8075382: f7df f945 bl 8054610 BSP_LCD_FillRect(293, 35, 14, 59); 8075386: 233b movs r3, #59 ; 0x3b 8075388: 220e movs r2, #14 807538a: 2123 movs r1, #35 ; 0x23 807538c: f240 1025 movw r0, #293 ; 0x125 8075390: f7df fdcc bl 8054f2c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8075394: 4910 ldr r1, [pc, #64] ; (80753d8 ) 8075396: f06f 00ff mvn.w r0, #255 ; 0xff 807539a: f7df f939 bl 8054610 BSP_LCD_FillRect(293, 35 + 59, 14, 59); 807539e: 233b movs r3, #59 ; 0x3b 80753a0: 220e movs r2, #14 80753a2: 215e movs r1, #94 ; 0x5e 80753a4: f240 1025 movw r0, #293 ; 0x125 80753a8: f7df fdc0 bl 8054f2c LCD_SetColors(MY_LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80753ac: 490a ldr r1, [pc, #40] ; (80753d8 ) 80753ae: 4811 ldr r0, [pc, #68] ; (80753f4 ) 80753b0: f7df f92e bl 8054610 BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 80753b4: 233b movs r3, #59 ; 0x3b 80753b6: 220e movs r2, #14 80753b8: 2199 movs r1, #153 ; 0x99 80753ba: f240 1025 movw r0, #293 ; 0x125 80753be: f7df fdb5 bl 8054f2c if(dBm != -100.0f) 80753c2: e05c b.n 807547e 80753c4: 20068608 .word 0x20068608 80753c8: 42200000 .word 0x42200000 80753cc: 42700000 .word 0x42700000 80753d0: 42a00000 .word 0x42a00000 80753d4: 20020038 .word 0x20020038 80753d8: ff0a0f1f .word 0xff0a0f1f 80753dc: 20020dc0 .word 0x20020dc0 80753e0: c2c80000 .word 0xc2c80000 80753e4: 20020db8 .word 0x20020db8 80753e8: 20020dbc .word 0x20020dbc 80753ec: ff400000 .word 0xff400000 80753f0: ff404000 .word 0xff404000 80753f4: ff004000 .word 0xff004000 } else { LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80753f8: 49c5 ldr r1, [pc, #788] ; (8075710 ) 80753fa: 48c6 ldr r0, [pc, #792] ; (8075714 ) 80753fc: f7df f908 bl 8054610 BSP_LCD_FillRect(293, 35, 14, 59); 8075400: 233b movs r3, #59 ; 0x3b 8075402: 220e movs r2, #14 8075404: 2123 movs r1, #35 ; 0x23 8075406: f240 1025 movw r0, #293 ; 0x125 807540a: f7df fd8f bl 8054f2c LCD_SetColors(MY_LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 807540e: 49c0 ldr r1, [pc, #768] ; (8075710 ) 8075410: 48c1 ldr r0, [pc, #772] ; (8075718 ) 8075412: f7df f8fd bl 8054610 BSP_LCD_FillRect(293, 35 + 59, 14, 59); 8075416: 233b movs r3, #59 ; 0x3b 8075418: 220e movs r2, #14 807541a: 215e movs r1, #94 ; 0x5e 807541c: f240 1025 movw r0, #293 ; 0x125 8075420: f7df fd84 bl 8054f2c LCD_SetColors(MY_LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 8075424: 49ba ldr r1, [pc, #744] ; (8075710 ) 8075426: 48bd ldr r0, [pc, #756] ; (807571c ) 8075428: f7df f8f2 bl 8054610 BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 807542c: 233b movs r3, #59 ; 0x3b 807542e: 220e movs r2, #14 8075430: 2199 movs r1, #153 ; 0x99 8075432: f240 1025 movw r0, #293 ; 0x125 8075436: f7df fd79 bl 8054f2c if(dBm != -100.0f) 807543a: e020 b.n 807547e } } else { LCD_SetColors(MY_LCD_COLOR_DARKRED, LCD_COLOR_BLACK); 807543c: 49b4 ldr r1, [pc, #720] ; (8075710 ) 807543e: 48b8 ldr r0, [pc, #736] ; (8075720 ) 8075440: f7df f8e6 bl 8054610 BSP_LCD_FillRect(293, 35, 14, 59); 8075444: 233b movs r3, #59 ; 0x3b 8075446: 220e movs r2, #14 8075448: 2123 movs r1, #35 ; 0x23 807544a: f240 1025 movw r0, #293 ; 0x125 807544e: f7df fd6d bl 8054f2c LCD_SetColors(MY_LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 8075452: 49af ldr r1, [pc, #700] ; (8075710 ) 8075454: 48b0 ldr r0, [pc, #704] ; (8075718 ) 8075456: f7df f8db bl 8054610 BSP_LCD_FillRect(293, 35 + 59, 14, 59); 807545a: 233b movs r3, #59 ; 0x3b 807545c: 220e movs r2, #14 807545e: 215e movs r1, #94 ; 0x5e 8075460: f240 1025 movw r0, #293 ; 0x125 8075464: f7df fd62 bl 8054f2c LCD_SetColors(MY_LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 8075468: 49a9 ldr r1, [pc, #676] ; (8075710 ) 807546a: 48ac ldr r0, [pc, #688] ; (807571c ) 807546c: f7df f8d0 bl 8054610 BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 8075470: 233b movs r3, #59 ; 0x3b 8075472: 220e movs r2, #14 8075474: 2199 movs r1, #153 ; 0x99 8075476: f240 1025 movw r0, #293 ; 0x125 807547a: f7df fd57 bl 8054f2c } BSP_LCD_SetFont(&Font12); 807547e: 48a9 ldr r0, [pc, #676] ; (8075724 ) 8075480: f7df f902 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075484: 49a2 ldr r1, [pc, #648] ; (8075710 ) 8075486: f04f 30ff mov.w r0, #4294967295 807548a: f7df f8c1 bl 8054610 BSP_LCD_DisplayStringAt(160, 37, (char *) pKU_UDAR[pardata.IKU], CENTER_MODE); 807548e: 4ba6 ldr r3, [pc, #664] ; (8075728 ) 8075490: 7a1b ldrb r3, [r3, #8] 8075492: b2db uxtb r3, r3 8075494: 461a mov r2, r3 8075496: 4ba5 ldr r3, [pc, #660] ; (807572c ) 8075498: f853 2022 ldr.w r2, [r3, r2, lsl #2] 807549c: 2301 movs r3, #1 807549e: 2125 movs r1, #37 ; 0x25 80754a0: 20a0 movs r0, #160 ; 0xa0 80754a2: f7df f97b bl 805479c if(AUTOKU) 80754a6: 4ba2 ldr r3, [pc, #648] ; (8075730 ) 80754a8: 781b ldrb r3, [r3, #0] 80754aa: b2db uxtb r3, r3 80754ac: 2b00 cmp r3, #0 80754ae: d00b beq.n 80754c8 { LCD_SetColors(LCD_COLOR_LIGHTRED, LCD_COLOR_BLACK); 80754b0: 4997 ldr r1, [pc, #604] ; (8075710 ) 80754b2: 48a0 ldr r0, [pc, #640] ; (8075734 ) 80754b4: f7df f8ac bl 8054610 BSP_LCD_DisplayStringAt(40, 37, "AUTO", LEFT_MODE); 80754b8: 2303 movs r3, #3 80754ba: 4a9f ldr r2, [pc, #636] ; (8075738 ) 80754bc: 2125 movs r1, #37 ; 0x25 80754be: 2028 movs r0, #40 ; 0x28 80754c0: f7df f96c bl 805479c } } }*/ break; 80754c4: f023 b8b2 b.w 809862c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80754c8: 4991 ldr r1, [pc, #580] ; (8075710 ) 80754ca: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80754ce: f7df f89f bl 8054610 BSP_LCD_DisplayStringAt(40, 37, "MANUAL", LEFT_MODE); 80754d2: 2303 movs r3, #3 80754d4: 4a99 ldr r2, [pc, #612] ; (807573c ) 80754d6: 2125 movs r1, #37 ; 0x25 80754d8: 2028 movs r0, #40 ; 0x28 80754da: f7df f95f bl 805479c break; 80754de: f023 b8a5 b.w 809862c case MAIN_SYGNAL: DrawLegend(); 80754e2: f03b fcfb bl 80b0edc LCD_SetColors(LCD_COLOR_MYBROWN, LCD_COLOR_BLACK); 80754e6: 498a ldr r1, [pc, #552] ; (8075710 ) 80754e8: 4895 ldr r0, [pc, #596] ; (8075740 ) 80754ea: f7df f891 bl 8054610 memset(str, 0, sizeof(str)); 80754ee: f507 733b add.w r3, r7, #748 ; 0x2ec 80754f2: 223c movs r2, #60 ; 0x3c 80754f4: 2100 movs r1, #0 80754f6: 4618 mov r0, r3 80754f8: f05b ff52 bl 80d13a0 str[0] = '"'; 80754fc: f507 733b add.w r3, r7, #748 ; 0x2ec 8075500: 2222 movs r2, #34 ; 0x22 8075502: 701a strb r2, [r3, #0] strcat(str, FileName); 8075504: f507 733b add.w r3, r7, #748 ; 0x2ec 8075508: 498e ldr r1, [pc, #568] ; (8075744 ) 807550a: 4618 mov r0, r3 807550c: f05c f848 bl 80d15a0 l = strlen(str); 8075510: f507 733b add.w r3, r7, #748 ; 0x2ec 8075514: 4618 mov r0, r3 8075516: f7aa fefd bl 8020314 807551a: 4603 mov r3, r0 807551c: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l] = '"'; 8075520: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8075524: f507 723b add.w r2, r7, #748 ; 0x2ec 8075528: 2122 movs r1, #34 ; 0x22 807552a: 54d1 strb r1, [r2, r3] BSP_LCD_DisplayStringAt(3, 30, str, LEFT_MODE); 807552c: f507 723b add.w r2, r7, #748 ; 0x2ec 8075530: 2303 movs r3, #3 8075532: 211e movs r1, #30 8075534: 2003 movs r0, #3 8075536: f7df f931 bl 805479c switch(menupos) 807553a: 4b83 ldr r3, [pc, #524] ; (8075748 ) 807553c: 781b ldrb r3, [r3, #0] 807553e: b2db uxtb r3, r3 8075540: 2b07 cmp r3, #7 8075542: f200 81e4 bhi.w 807590e 8075546: a201 add r2, pc, #4 ; (adr r2, 807554c ) 8075548: f852 f023 ldr.w pc, [r2, r3, lsl #2] 807554c: 080757b3 .word 0x080757b3 8075550: 0807590f .word 0x0807590f 8075554: 0807556d .word 0x0807556d 8075558: 080755e1 .word 0x080755e1 807555c: 08075655 .word 0x08075655 8075560: 080756c9 .word 0x080756c9 8075564: 0807589b .word 0x0807589b 8075568: 08075827 .word 0x08075827 { case ImageLeft: DrawImage(&bmSTOP41, 3, 108-26); 807556c: 2252 movs r2, #82 ; 0x52 807556e: 2103 movs r1, #3 8075570: 4876 ldr r0, [pc, #472] ; (807574c ) 8075572: f7df ff41 bl 80553f8 DrawImage(&bmLEFT_1_LIGHT, 3, 108); 8075576: 226c movs r2, #108 ; 0x6c 8075578: 2103 movs r1, #3 807557a: 4875 ldr r0, [pc, #468] ; (8075750 ) 807557c: f7df ff3c bl 80553f8 DrawImage(&bmRIGHT_1, 3, 108+26); 8075580: 2286 movs r2, #134 ; 0x86 8075582: 2103 movs r1, #3 8075584: 4873 ldr r0, [pc, #460] ; (8075754 ) 8075586: f7df ff37 bl 80553f8 DrawImage(&bmPLUS_1, 3, 108+52); 807558a: 22a0 movs r2, #160 ; 0xa0 807558c: 2103 movs r1, #3 807558e: 4872 ldr r0, [pc, #456] ; (8075758 ) 8075590: f7df ff32 bl 80553f8 DrawImage(&bmMINUS_1, 3, 108+78); 8075594: 22ba movs r2, #186 ; 0xba 8075596: 2103 movs r1, #3 8075598: 4870 ldr r0, [pc, #448] ; (807575c ) 807559a: f7df ff2d bl 80553f8 if(PlayingState.State == PLAYING) 807559e: 4b70 ldr r3, [pc, #448] ; (8075760 ) 80755a0: 6a5b ldr r3, [r3, #36] ; 0x24 80755a2: 2b01 cmp r3, #1 80755a4: d105 bne.n 80755b2 DrawImage(&bmPAUSE41, 3, 108+104); 80755a6: 22d4 movs r2, #212 ; 0xd4 80755a8: 2103 movs r1, #3 80755aa: 486e ldr r0, [pc, #440] ; (8075764 ) 80755ac: f7df ff24 bl 80553f8 80755b0: e004 b.n 80755bc else DrawImage(&bmPLAY41, 3, 108+104); 80755b2: 22d4 movs r2, #212 ; 0xd4 80755b4: 2103 movs r1, #3 80755b6: 486c ldr r0, [pc, #432] ; (8075768 ) 80755b8: f7df ff1e bl 80553f8 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80755bc: 4954 ldr r1, [pc, #336] ; (8075710 ) 80755be: 486b ldr r0, [pc, #428] ; (807576c ) 80755c0: f7df f826 bl 8054610 x = 62 + CURSOR; 80755c4: 4b6a ldr r3, [pc, #424] ; (8075770 ) 80755c6: 681b ldr r3, [r3, #0] 80755c8: 333e adds r3, #62 ; 0x3e 80755ca: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 80755ce: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80755d2: b29b uxth r3, r3 80755d4: 22bf movs r2, #191 ; 0xbf 80755d6: 212c movs r1, #44 ; 0x2c 80755d8: 4618 mov r0, r3 80755da: f7df f9f1 bl 80549c0 break; 80755de: e196 b.n 807590e case ZoomIn: DrawImage(&bmSTOP41, 3, 108-26); 80755e0: 2252 movs r2, #82 ; 0x52 80755e2: 2103 movs r1, #3 80755e4: 4859 ldr r0, [pc, #356] ; (807574c ) 80755e6: f7df ff07 bl 80553f8 DrawImage(&bmLEFT_1, 3, 108); 80755ea: 226c movs r2, #108 ; 0x6c 80755ec: 2103 movs r1, #3 80755ee: 4861 ldr r0, [pc, #388] ; (8075774 ) 80755f0: f7df ff02 bl 80553f8 DrawImage(&bmRIGHT_1, 3, 108+26); 80755f4: 2286 movs r2, #134 ; 0x86 80755f6: 2103 movs r1, #3 80755f8: 4856 ldr r0, [pc, #344] ; (8075754 ) 80755fa: f7df fefd bl 80553f8 DrawImage(&bmPLUS_1_LIGHT, 3, 108+52); 80755fe: 22a0 movs r2, #160 ; 0xa0 8075600: 2103 movs r1, #3 8075602: 485d ldr r0, [pc, #372] ; (8075778 ) 8075604: f7df fef8 bl 80553f8 DrawImage(&bmMINUS_1, 3, 108+78); 8075608: 22ba movs r2, #186 ; 0xba 807560a: 2103 movs r1, #3 807560c: 4853 ldr r0, [pc, #332] ; (807575c ) 807560e: f7df fef3 bl 80553f8 if(PlayingState.State == PLAYING) 8075612: 4b53 ldr r3, [pc, #332] ; (8075760 ) 8075614: 6a5b ldr r3, [r3, #36] ; 0x24 8075616: 2b01 cmp r3, #1 8075618: d105 bne.n 8075626 DrawImage(&bmPAUSE41, 3, 108+104); 807561a: 22d4 movs r2, #212 ; 0xd4 807561c: 2103 movs r1, #3 807561e: 4851 ldr r0, [pc, #324] ; (8075764 ) 8075620: f7df feea bl 80553f8 8075624: e004 b.n 8075630 else DrawImage(&bmPLAY41, 3, 108+104); 8075626: 22d4 movs r2, #212 ; 0xd4 8075628: 2103 movs r1, #3 807562a: 484f ldr r0, [pc, #316] ; (8075768 ) 807562c: f7df fee4 bl 80553f8 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8075630: 4937 ldr r1, [pc, #220] ; (8075710 ) 8075632: 484e ldr r0, [pc, #312] ; (807576c ) 8075634: f7de ffec bl 8054610 x = 62 + CURSOR; 8075638: 4b4d ldr r3, [pc, #308] ; (8075770 ) 807563a: 681b ldr r3, [r3, #0] 807563c: 333e adds r3, #62 ; 0x3e 807563e: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8075642: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8075646: b29b uxth r3, r3 8075648: 22bf movs r2, #191 ; 0xbf 807564a: 212c movs r1, #44 ; 0x2c 807564c: 4618 mov r0, r3 807564e: f7df f9b7 bl 80549c0 break; 8075652: e15c b.n 807590e case ZoomOut: DrawImage(&bmSTOP41, 3, 108-26); 8075654: 2252 movs r2, #82 ; 0x52 8075656: 2103 movs r1, #3 8075658: 483c ldr r0, [pc, #240] ; (807574c ) 807565a: f7df fecd bl 80553f8 DrawImage(&bmLEFT_1, 3, 108); 807565e: 226c movs r2, #108 ; 0x6c 8075660: 2103 movs r1, #3 8075662: 4844 ldr r0, [pc, #272] ; (8075774 ) 8075664: f7df fec8 bl 80553f8 DrawImage(&bmRIGHT_1, 3, 108+26); 8075668: 2286 movs r2, #134 ; 0x86 807566a: 2103 movs r1, #3 807566c: 4839 ldr r0, [pc, #228] ; (8075754 ) 807566e: f7df fec3 bl 80553f8 DrawImage(&bmPLUS_1, 3, 108+52); 8075672: 22a0 movs r2, #160 ; 0xa0 8075674: 2103 movs r1, #3 8075676: 4838 ldr r0, [pc, #224] ; (8075758 ) 8075678: f7df febe bl 80553f8 DrawImage(&bmMINUS_1_LIGHT, 3, 108+78); 807567c: 22ba movs r2, #186 ; 0xba 807567e: 2103 movs r1, #3 8075680: 483e ldr r0, [pc, #248] ; (807577c ) 8075682: f7df feb9 bl 80553f8 if(PlayingState.State == PLAYING) 8075686: 4b36 ldr r3, [pc, #216] ; (8075760 ) 8075688: 6a5b ldr r3, [r3, #36] ; 0x24 807568a: 2b01 cmp r3, #1 807568c: d105 bne.n 807569a DrawImage(&bmPAUSE41, 3, 108+104); 807568e: 22d4 movs r2, #212 ; 0xd4 8075690: 2103 movs r1, #3 8075692: 4834 ldr r0, [pc, #208] ; (8075764 ) 8075694: f7df feb0 bl 80553f8 8075698: e004 b.n 80756a4 else DrawImage(&bmPLAY41, 3, 108+104); 807569a: 22d4 movs r2, #212 ; 0xd4 807569c: 2103 movs r1, #3 807569e: 4832 ldr r0, [pc, #200] ; (8075768 ) 80756a0: f7df feaa bl 80553f8 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80756a4: 491a ldr r1, [pc, #104] ; (8075710 ) 80756a6: 4831 ldr r0, [pc, #196] ; (807576c ) 80756a8: f7de ffb2 bl 8054610 x = 62 + CURSOR; 80756ac: 4b30 ldr r3, [pc, #192] ; (8075770 ) 80756ae: 681b ldr r3, [r3, #0] 80756b0: 333e adds r3, #62 ; 0x3e 80756b2: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 80756b6: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80756ba: b29b uxth r3, r3 80756bc: 22bf movs r2, #191 ; 0xbf 80756be: 212c movs r1, #44 ; 0x2c 80756c0: 4618 mov r0, r3 80756c2: f7df f97d bl 80549c0 break; 80756c6: e122 b.n 807590e case ImageRight: DrawImage(&bmSTOP41, 3, 108-26); 80756c8: 2252 movs r2, #82 ; 0x52 80756ca: 2103 movs r1, #3 80756cc: 481f ldr r0, [pc, #124] ; (807574c ) 80756ce: f7df fe93 bl 80553f8 DrawImage(&bmLEFT_1, 3, 108); 80756d2: 226c movs r2, #108 ; 0x6c 80756d4: 2103 movs r1, #3 80756d6: 4827 ldr r0, [pc, #156] ; (8075774 ) 80756d8: f7df fe8e bl 80553f8 DrawImage(&bmRIGHT_1_LIGHT, 3, 108+26); 80756dc: 2286 movs r2, #134 ; 0x86 80756de: 2103 movs r1, #3 80756e0: 4827 ldr r0, [pc, #156] ; (8075780 ) 80756e2: f7df fe89 bl 80553f8 DrawImage(&bmPLUS_1, 3, 108+52); 80756e6: 22a0 movs r2, #160 ; 0xa0 80756e8: 2103 movs r1, #3 80756ea: 481b ldr r0, [pc, #108] ; (8075758 ) 80756ec: f7df fe84 bl 80553f8 DrawImage(&bmMINUS_1, 3, 108+78); 80756f0: 22ba movs r2, #186 ; 0xba 80756f2: 2103 movs r1, #3 80756f4: 4819 ldr r0, [pc, #100] ; (807575c ) 80756f6: f7df fe7f bl 80553f8 if(PlayingState.State == PLAYING) 80756fa: 4b19 ldr r3, [pc, #100] ; (8075760 ) 80756fc: 6a5b ldr r3, [r3, #36] ; 0x24 80756fe: 2b01 cmp r3, #1 8075700: d140 bne.n 8075784 DrawImage(&bmPAUSE41, 3, 108+104); 8075702: 22d4 movs r2, #212 ; 0xd4 8075704: 2103 movs r1, #3 8075706: 4817 ldr r0, [pc, #92] ; (8075764 ) 8075708: f7df fe76 bl 80553f8 807570c: e03f b.n 807578e 807570e: bf00 nop 8075710: ff0a0f1f .word 0xff0a0f1f 8075714: ffff0000 .word 0xffff0000 8075718: ff404000 .word 0xff404000 807571c: ff004000 .word 0xff004000 8075720: ff400000 .word 0xff400000 8075724: 20020038 .word 0x20020038 8075728: 20023ea8 .word 0x20023ea8 807572c: 200201e4 .word 0x200201e4 8075730: 20020029 .word 0x20020029 8075734: ffff8080 .word 0xffff8080 8075738: 080d4090 .word 0x080d4090 807573c: 080d4098 .word 0x080d4098 8075740: ffd3b36e .word 0xffd3b36e 8075744: 20022c00 .word 0x20022c00 8075748: 20020070 .word 0x20020070 807574c: 0814ce18 .word 0x0814ce18 8075750: 08119140 .word 0x08119140 8075754: 0814afe8 .word 0x0814afe8 8075758: 081476b0 .word 0x081476b0 807575c: 0813fa28 .word 0x0813fa28 8075760: 20022920 .word 0x20022920 8075764: 08143360 .word 0x08143360 8075768: 081449d0 .word 0x081449d0 807576c: ff808080 .word 0xff808080 8075770: 2002006c .word 0x2002006c 8075774: 08118608 .word 0x08118608 8075778: 081481e8 .word 0x081481e8 807577c: 08140560 .word 0x08140560 8075780: 0814bb20 .word 0x0814bb20 else DrawImage(&bmPLAY41, 3, 108+104); 8075784: 22d4 movs r2, #212 ; 0xd4 8075786: 2103 movs r1, #3 8075788: 48bd ldr r0, [pc, #756] ; (8075a80 ) 807578a: f7df fe35 bl 80553f8 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807578e: 49bd ldr r1, [pc, #756] ; (8075a84 ) 8075790: 48bd ldr r0, [pc, #756] ; (8075a88 ) 8075792: f7de ff3d bl 8054610 x = 62 + CURSOR; 8075796: 4bbd ldr r3, [pc, #756] ; (8075a8c ) 8075798: 681b ldr r3, [r3, #0] 807579a: 333e adds r3, #62 ; 0x3e 807579c: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 80757a0: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80757a4: b29b uxth r3, r3 80757a6: 22bf movs r2, #191 ; 0xbf 80757a8: 212c movs r1, #44 ; 0x2c 80757aa: 4618 mov r0, r3 80757ac: f7df f908 bl 80549c0 break; 80757b0: e0ad b.n 807590e case StartStop: DrawImage(&bmSTOP41, 3, 108-26); 80757b2: 2252 movs r2, #82 ; 0x52 80757b4: 2103 movs r1, #3 80757b6: 48b6 ldr r0, [pc, #728] ; (8075a90 ) 80757b8: f7df fe1e bl 80553f8 DrawImage(&bmLEFT_1, 3, 108); 80757bc: 226c movs r2, #108 ; 0x6c 80757be: 2103 movs r1, #3 80757c0: 48b4 ldr r0, [pc, #720] ; (8075a94 ) 80757c2: f7df fe19 bl 80553f8 DrawImage(&bmRIGHT_1, 3, 108+26); 80757c6: 2286 movs r2, #134 ; 0x86 80757c8: 2103 movs r1, #3 80757ca: 48b3 ldr r0, [pc, #716] ; (8075a98 ) 80757cc: f7df fe14 bl 80553f8 DrawImage(&bmPLUS_1, 3, 108+52); 80757d0: 22a0 movs r2, #160 ; 0xa0 80757d2: 2103 movs r1, #3 80757d4: 48b1 ldr r0, [pc, #708] ; (8075a9c ) 80757d6: f7df fe0f bl 80553f8 DrawImage(&bmMINUS_1, 3, 108+78); 80757da: 22ba movs r2, #186 ; 0xba 80757dc: 2103 movs r1, #3 80757de: 48b0 ldr r0, [pc, #704] ; (8075aa0 ) 80757e0: f7df fe0a bl 80553f8 if(PlayingState.State == PLAYING) 80757e4: 4baf ldr r3, [pc, #700] ; (8075aa4 ) 80757e6: 6a5b ldr r3, [r3, #36] ; 0x24 80757e8: 2b01 cmp r3, #1 80757ea: d105 bne.n 80757f8 DrawImage(&bmPAUSE41_LIGHT, 3, 108+104); 80757ec: 22d4 movs r2, #212 ; 0xd4 80757ee: 2103 movs r1, #3 80757f0: 48ad ldr r0, [pc, #692] ; (8075aa8 ) 80757f2: f7df fe01 bl 80553f8 80757f6: e004 b.n 8075802 else DrawImage(&bmPLAY41_LIGHT, 3, 108+104); 80757f8: 22d4 movs r2, #212 ; 0xd4 80757fa: 2103 movs r1, #3 80757fc: 48ab ldr r0, [pc, #684] ; (8075aac ) 80757fe: f7df fdfb bl 80553f8 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8075802: 49a0 ldr r1, [pc, #640] ; (8075a84 ) 8075804: 48a0 ldr r0, [pc, #640] ; (8075a88 ) 8075806: f7de ff03 bl 8054610 x = 62 + CURSOR; 807580a: 4ba0 ldr r3, [pc, #640] ; (8075a8c ) 807580c: 681b ldr r3, [r3, #0] 807580e: 333e adds r3, #62 ; 0x3e 8075810: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8075814: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8075818: b29b uxth r3, r3 807581a: 22bf movs r2, #191 ; 0xbf 807581c: 212c movs r1, #44 ; 0x2c 807581e: 4618 mov r0, r3 8075820: f7df f8ce bl 80549c0 break; 8075824: e073 b.n 807590e case Stop: DrawImage(&bmSTOP41_LIGHT, 3, 108-26); 8075826: 2252 movs r2, #82 ; 0x52 8075828: 2103 movs r1, #3 807582a: 48a1 ldr r0, [pc, #644] ; (8075ab0 ) 807582c: f7df fde4 bl 80553f8 DrawImage(&bmLEFT_1, 3, 108); 8075830: 226c movs r2, #108 ; 0x6c 8075832: 2103 movs r1, #3 8075834: 4897 ldr r0, [pc, #604] ; (8075a94 ) 8075836: f7df fddf bl 80553f8 DrawImage(&bmRIGHT_1, 3, 108+26); 807583a: 2286 movs r2, #134 ; 0x86 807583c: 2103 movs r1, #3 807583e: 4896 ldr r0, [pc, #600] ; (8075a98 ) 8075840: f7df fdda bl 80553f8 DrawImage(&bmPLUS_1, 3, 108+52); 8075844: 22a0 movs r2, #160 ; 0xa0 8075846: 2103 movs r1, #3 8075848: 4894 ldr r0, [pc, #592] ; (8075a9c ) 807584a: f7df fdd5 bl 80553f8 DrawImage(&bmMINUS_1, 3, 108+78); 807584e: 22ba movs r2, #186 ; 0xba 8075850: 2103 movs r1, #3 8075852: 4893 ldr r0, [pc, #588] ; (8075aa0 ) 8075854: f7df fdd0 bl 80553f8 if(PlayingState.State == PLAYING) 8075858: 4b92 ldr r3, [pc, #584] ; (8075aa4 ) 807585a: 6a5b ldr r3, [r3, #36] ; 0x24 807585c: 2b01 cmp r3, #1 807585e: d105 bne.n 807586c DrawImage(&bmPAUSE41, 3, 108+104); 8075860: 22d4 movs r2, #212 ; 0xd4 8075862: 2103 movs r1, #3 8075864: 4893 ldr r0, [pc, #588] ; (8075ab4 ) 8075866: f7df fdc7 bl 80553f8 807586a: e004 b.n 8075876 else DrawImage(&bmPLAY41, 3, 108+104); 807586c: 22d4 movs r2, #212 ; 0xd4 807586e: 2103 movs r1, #3 8075870: 4883 ldr r0, [pc, #524] ; (8075a80 ) 8075872: f7df fdc1 bl 80553f8 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8075876: 4983 ldr r1, [pc, #524] ; (8075a84 ) 8075878: 4883 ldr r0, [pc, #524] ; (8075a88 ) 807587a: f7de fec9 bl 8054610 x = 62 + CURSOR; 807587e: 4b83 ldr r3, [pc, #524] ; (8075a8c ) 8075880: 681b ldr r3, [r3, #0] 8075882: 333e adds r3, #62 ; 0x3e 8075884: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8075888: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 807588c: b29b uxth r3, r3 807588e: 22bf movs r2, #191 ; 0xbf 8075890: 212c movs r1, #44 ; 0x2c 8075892: 4618 mov r0, r3 8075894: f7df f894 bl 80549c0 break; 8075898: e039 b.n 807590e case Cursor: DrawImage(&bmSTOP41, 3, 108-26); 807589a: 2252 movs r2, #82 ; 0x52 807589c: 2103 movs r1, #3 807589e: 487c ldr r0, [pc, #496] ; (8075a90 ) 80758a0: f7df fdaa bl 80553f8 DrawImage(&bmLEFT_1, 3, 108); 80758a4: 226c movs r2, #108 ; 0x6c 80758a6: 2103 movs r1, #3 80758a8: 487a ldr r0, [pc, #488] ; (8075a94 ) 80758aa: f7df fda5 bl 80553f8 DrawImage(&bmRIGHT_1, 3, 108+26); 80758ae: 2286 movs r2, #134 ; 0x86 80758b0: 2103 movs r1, #3 80758b2: 4879 ldr r0, [pc, #484] ; (8075a98 ) 80758b4: f7df fda0 bl 80553f8 DrawImage(&bmPLUS_1, 3, 108+52); 80758b8: 22a0 movs r2, #160 ; 0xa0 80758ba: 2103 movs r1, #3 80758bc: 4877 ldr r0, [pc, #476] ; (8075a9c ) 80758be: f7df fd9b bl 80553f8 DrawImage(&bmMINUS_1, 3, 108+78); 80758c2: 22ba movs r2, #186 ; 0xba 80758c4: 2103 movs r1, #3 80758c6: 4876 ldr r0, [pc, #472] ; (8075aa0 ) 80758c8: f7df fd96 bl 80553f8 if(PlayingState.State == PLAYING) 80758cc: 4b75 ldr r3, [pc, #468] ; (8075aa4 ) 80758ce: 6a5b ldr r3, [r3, #36] ; 0x24 80758d0: 2b01 cmp r3, #1 80758d2: d105 bne.n 80758e0 DrawImage(&bmPAUSE41, 3, 108+104); 80758d4: 22d4 movs r2, #212 ; 0xd4 80758d6: 2103 movs r1, #3 80758d8: 4876 ldr r0, [pc, #472] ; (8075ab4 ) 80758da: f7df fd8d bl 80553f8 80758de: e004 b.n 80758ea else DrawImage(&bmPLAY41, 3, 108+104); 80758e0: 22d4 movs r2, #212 ; 0xd4 80758e2: 2103 movs r1, #3 80758e4: 4866 ldr r0, [pc, #408] ; (8075a80 ) 80758e6: f7df fd87 bl 80553f8 LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80758ea: 4966 ldr r1, [pc, #408] ; (8075a84 ) 80758ec: 4872 ldr r0, [pc, #456] ; (8075ab8 ) 80758ee: f7de fe8f bl 8054610 x = 62 + CURSOR; 80758f2: 4b66 ldr r3, [pc, #408] ; (8075a8c ) 80758f4: 681b ldr r3, [r3, #0] 80758f6: 333e adds r3, #62 ; 0x3e 80758f8: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 80758fc: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8075900: b29b uxth r3, r3 8075902: 22bf movs r2, #191 ; 0xbf 8075904: 212c movs r1, #44 ; 0x2c 8075906: 4618 mov r0, r3 8075908: f7df f85a bl 80549c0 break; 807590c: bf00 nop } //************************* if(PlayingState.State == PLAYING) { 807590e: 4b65 ldr r3, [pc, #404] ; (8075aa4 ) 8075910: 6a5b ldr r3, [r3, #36] ; 0x24 8075912: 2b01 cmp r3, #1 8075914: d101 bne.n 807591a SeekFileGTR(); 8075916: f7b3 fb03 bl 8028f20 } //************************* DrawGraph(); 807591a: f033 ff81 bl 80a9820 DrawCursorData(); 807591e: f02f f8db bl 80a4ad8 DrawScaleValue(); 8075922: f039 fe47 bl 80af5b4 BSP_LCD_SetFont(&Font24); 8075926: 4865 ldr r0, [pc, #404] ; (8075abc ) 8075928: f7de feae bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 807592c: f04f 417f mov.w r1, #4278190080 ; 0xff000000 8075930: f04f 30ff mov.w r0, #4294967295 8075934: f7de fe6c bl 8054610 BSP_LCD_DisplayStringAt(66, 45, "A", LEFT_MODE); 8075938: 2303 movs r3, #3 807593a: 4a61 ldr r2, [pc, #388] ; (8075ac0 ) 807593c: 212d movs r1, #45 ; 0x2d 807593e: 2042 movs r0, #66 ; 0x42 8075940: f7de ff2c bl 805479c break; 8075944: f022 be72 b.w 809862c 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); 8075948: 494e ldr r1, [pc, #312] ; (8075a84 ) 807594a: 485e ldr r0, [pc, #376] ; (8075ac4 ) 807594c: f7de fe60 bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 8075950: 23c9 movs r3, #201 ; 0xc9 8075952: f44f 729d mov.w r2, #314 ; 0x13a 8075956: 2123 movs r1, #35 ; 0x23 8075958: 2002 movs r0, #2 807595a: f7df f95f bl 8054c1c if(menupos == Mode) 807595e: 4b5a ldr r3, [pc, #360] ; (8075ac8 ) 8075960: 781b ldrb r3, [r3, #0] 8075962: b2db uxtb r3, r3 8075964: 2b01 cmp r3, #1 8075966: d140 bne.n 80759ea { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075968: 4946 ldr r1, [pc, #280] ; (8075a84 ) 807596a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807596e: f7de fe4f bl 8054610 if(pardata.LANG == RUS) 8075972: 4b56 ldr r3, [pc, #344] ; (8075acc ) 8075974: 7b1b ldrb r3, [r3, #12] 8075976: b2db uxtb r3, r3 8075978: 2b00 cmp r3, #0 807597a: d105 bne.n 8075988 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 807597c: 4a54 ldr r2, [pc, #336] ; (8075ad0 ) 807597e: 215a movs r1, #90 ; 0x5a 8075980: 200a movs r0, #10 8075982: f7df fbed bl 8055160 8075986: e004 b.n 8075992 else LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8075988: 4a52 ldr r2, [pc, #328] ; (8075ad4 ) 807598a: 215a movs r1, #90 ; 0x5a 807598c: 200a movs r0, #10 807598e: f7df fbe7 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075992: 493c ldr r1, [pc, #240] ; (8075a84 ) 8075994: f04f 30ff mov.w r0, #4294967295 8075998: f7de fe3a bl 8054610 if(pardata.LANG == RUS) 807599c: 4b4b ldr r3, [pc, #300] ; (8075acc ) 807599e: 7b1b ldrb r3, [r3, #12] 80759a0: b2db uxtb r3, r3 80759a2: 2b00 cmp r3, #0 80759a4: d110 bne.n 80759c8 { LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 80759a6: 4a4c ldr r2, [pc, #304] ; (8075ad8 ) 80759a8: 216a movs r1, #106 ; 0x6a 80759aa: 200a movs r0, #10 80759ac: f7df fbd8 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 80759b0: 4a4a ldr r2, [pc, #296] ; (8075adc ) 80759b2: 217a movs r1, #122 ; 0x7a 80759b4: 200a movs r0, #10 80759b6: f7df fbd3 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 80759ba: 4a49 ldr r2, [pc, #292] ; (8075ae0 ) 80759bc: 218a movs r1, #138 ; 0x8a 80759be: 200a movs r0, #10 80759c0: f7df fbce bl 8055160 } } } } break; 80759c4: f022 be0d b.w 80985e2 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 80759c8: 4a46 ldr r2, [pc, #280] ; (8075ae4 ) 80759ca: 216a movs r1, #106 ; 0x6a 80759cc: 200a movs r0, #10 80759ce: f7df fbc7 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Files"); 80759d2: 4a45 ldr r2, [pc, #276] ; (8075ae8 ) 80759d4: 217a movs r1, #122 ; 0x7a 80759d6: 200a movs r0, #10 80759d8: f7df fbc2 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 80759dc: 4a43 ldr r2, [pc, #268] ; (8075aec ) 80759de: 218a movs r1, #138 ; 0x8a 80759e0: 200a movs r0, #10 80759e2: f7df fbbd bl 8055160 break; 80759e6: f022 bdfc b.w 80985e2 if(menupos == Settings) 80759ea: 4b37 ldr r3, [pc, #220] ; (8075ac8 ) 80759ec: 781b ldrb r3, [r3, #0] 80759ee: b2db uxtb r3, r3 80759f0: 2b02 cmp r3, #2 80759f2: d17d bne.n 8075af0 if(pardata.LANG == RUS) 80759f4: 4b35 ldr r3, [pc, #212] ; (8075acc ) 80759f6: 7b1b ldrb r3, [r3, #12] 80759f8: b2db uxtb r3, r3 80759fa: 2b00 cmp r3, #0 80759fc: d11f bne.n 8075a3e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80759fe: 4921 ldr r1, [pc, #132] ; (8075a84 ) 8075a00: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075a04: f7de fe04 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8075a08: 4a33 ldr r2, [pc, #204] ; (8075ad8 ) 8075a0a: 216a movs r1, #106 ; 0x6a 8075a0c: 200a movs r0, #10 8075a0e: f7df fba7 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075a12: 491c ldr r1, [pc, #112] ; (8075a84 ) 8075a14: f04f 30ff mov.w r0, #4294967295 8075a18: f7de fdfa bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8075a1c: 4a2c ldr r2, [pc, #176] ; (8075ad0 ) 8075a1e: 215a movs r1, #90 ; 0x5a 8075a20: 200a movs r0, #10 8075a22: f7df fb9d bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8075a26: 4a2d ldr r2, [pc, #180] ; (8075adc ) 8075a28: 217a movs r1, #122 ; 0x7a 8075a2a: 200a movs r0, #10 8075a2c: f7df fb98 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8075a30: 4a2b ldr r2, [pc, #172] ; (8075ae0 ) 8075a32: 218a movs r1, #138 ; 0x8a 8075a34: 200a movs r0, #10 8075a36: f7df fb93 bl 8055160 break; 8075a3a: f022 bdd2 b.w 80985e2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075a3e: 4911 ldr r1, [pc, #68] ; (8075a84 ) 8075a40: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075a44: f7de fde4 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8075a48: 4a26 ldr r2, [pc, #152] ; (8075ae4 ) 8075a4a: 216a movs r1, #106 ; 0x6a 8075a4c: 200a movs r0, #10 8075a4e: f7df fb87 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075a52: 490c ldr r1, [pc, #48] ; (8075a84 ) 8075a54: f04f 30ff mov.w r0, #4294967295 8075a58: f7de fdda bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8075a5c: 4a1d ldr r2, [pc, #116] ; (8075ad4 ) 8075a5e: 215a movs r1, #90 ; 0x5a 8075a60: 200a movs r0, #10 8075a62: f7df fb7d bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8075a66: 4a20 ldr r2, [pc, #128] ; (8075ae8 ) 8075a68: 217a movs r1, #122 ; 0x7a 8075a6a: 200a movs r0, #10 8075a6c: f7df fb78 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8075a70: 4a1e ldr r2, [pc, #120] ; (8075aec ) 8075a72: 218a movs r1, #138 ; 0x8a 8075a74: 200a movs r0, #10 8075a76: f7df fb73 bl 8055160 break; 8075a7a: f022 bdb2 b.w 80985e2 8075a7e: bf00 nop 8075a80: 081449d0 .word 0x081449d0 8075a84: ff0a0f1f .word 0xff0a0f1f 8075a88: ff808080 .word 0xff808080 8075a8c: 2002006c .word 0x2002006c 8075a90: 0814ce18 .word 0x0814ce18 8075a94: 08118608 .word 0x08118608 8075a98: 0814afe8 .word 0x0814afe8 8075a9c: 081476b0 .word 0x081476b0 8075aa0: 0813fa28 .word 0x0813fa28 8075aa4: 20022920 .word 0x20022920 8075aa8: 08143e98 .word 0x08143e98 8075aac: 08145508 .word 0x08145508 8075ab0: 0814d950 .word 0x0814d950 8075ab4: 08143360 .word 0x08143360 8075ab8: ffff0000 .word 0xffff0000 8075abc: 20020058 .word 0x20020058 8075ac0: 080d2a0c .word 0x080d2a0c 8075ac4: ffd3d3d3 .word 0xffd3d3d3 8075ac8: 20020070 .word 0x20020070 8075acc: 20023ea8 .word 0x20023ea8 8075ad0: 080d40a0 .word 0x080d40a0 8075ad4: 080d40b4 .word 0x080d40b4 8075ad8: 080d40c8 .word 0x080d40c8 8075adc: 080d40d4 .word 0x080d40d4 8075ae0: 080d40dc .word 0x080d40dc 8075ae4: 080d40e8 .word 0x080d40e8 8075ae8: 080d40f0 .word 0x080d40f0 8075aec: 080d40f8 .word 0x080d40f8 if(menupos == PlayFiles) 8075af0: 4bc2 ldr r3, [pc, #776] ; (8075dfc ) 8075af2: 781b ldrb r3, [r3, #0] 8075af4: b2db uxtb r3, r3 8075af6: 2b03 cmp r3, #3 8075af8: d144 bne.n 8075b84 if(pardata.LANG == RUS) 8075afa: 4bc1 ldr r3, [pc, #772] ; (8075e00 ) 8075afc: 7b1b ldrb r3, [r3, #12] 8075afe: b2db uxtb r3, r3 8075b00: 2b00 cmp r3, #0 8075b02: d11f bne.n 8075b44 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075b04: 49bf ldr r1, [pc, #764] ; (8075e04 ) 8075b06: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075b0a: f7de fd81 bl 8054610 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8075b0e: 4abe ldr r2, [pc, #760] ; (8075e08 ) 8075b10: 217a movs r1, #122 ; 0x7a 8075b12: 200a movs r0, #10 8075b14: f7df fb24 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075b18: 49ba ldr r1, [pc, #744] ; (8075e04 ) 8075b1a: f04f 30ff mov.w r0, #4294967295 8075b1e: f7de fd77 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8075b22: 4aba ldr r2, [pc, #744] ; (8075e0c ) 8075b24: 215a movs r1, #90 ; 0x5a 8075b26: 200a movs r0, #10 8075b28: f7df fb1a bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8075b2c: 4ab8 ldr r2, [pc, #736] ; (8075e10 ) 8075b2e: 216a movs r1, #106 ; 0x6a 8075b30: 200a movs r0, #10 8075b32: f7df fb15 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8075b36: 4ab7 ldr r2, [pc, #732] ; (8075e14 ) 8075b38: 218a movs r1, #138 ; 0x8a 8075b3a: 200a movs r0, #10 8075b3c: f7df fb10 bl 8055160 break; 8075b40: f022 bd4f b.w 80985e2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075b44: 49af ldr r1, [pc, #700] ; (8075e04 ) 8075b46: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075b4a: f7de fd61 bl 8054610 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8075b4e: 4ab2 ldr r2, [pc, #712] ; (8075e18 ) 8075b50: 217a movs r1, #122 ; 0x7a 8075b52: 200a movs r0, #10 8075b54: f7df fb04 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075b58: 49aa ldr r1, [pc, #680] ; (8075e04 ) 8075b5a: f04f 30ff mov.w r0, #4294967295 8075b5e: f7de fd57 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8075b62: 4aae ldr r2, [pc, #696] ; (8075e1c ) 8075b64: 215a movs r1, #90 ; 0x5a 8075b66: 200a movs r0, #10 8075b68: f7df fafa bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8075b6c: 4aac ldr r2, [pc, #688] ; (8075e20 ) 8075b6e: 216a movs r1, #106 ; 0x6a 8075b70: 200a movs r0, #10 8075b72: f7df faf5 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8075b76: 4aab ldr r2, [pc, #684] ; (8075e24 ) 8075b78: 218a movs r1, #138 ; 0x8a 8075b7a: 200a movs r0, #10 8075b7c: f7df faf0 bl 8055160 break; 8075b80: f022 bd2f b.w 80985e2 if(menupos == Route) 8075b84: 4b9d ldr r3, [pc, #628] ; (8075dfc ) 8075b86: 781b ldrb r3, [r3, #0] 8075b88: b2db uxtb r3, r3 8075b8a: 2b04 cmp r3, #4 8075b8c: d144 bne.n 8075c18 if(pardata.LANG == RUS) 8075b8e: 4b9c ldr r3, [pc, #624] ; (8075e00 ) 8075b90: 7b1b ldrb r3, [r3, #12] 8075b92: b2db uxtb r3, r3 8075b94: 2b00 cmp r3, #0 8075b96: d11f bne.n 8075bd8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075b98: 499a ldr r1, [pc, #616] ; (8075e04 ) 8075b9a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075b9e: f7de fd37 bl 8054610 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8075ba2: 4a9c ldr r2, [pc, #624] ; (8075e14 ) 8075ba4: 218a movs r1, #138 ; 0x8a 8075ba6: 200a movs r0, #10 8075ba8: f7df fada bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075bac: 4995 ldr r1, [pc, #596] ; (8075e04 ) 8075bae: f04f 30ff mov.w r0, #4294967295 8075bb2: f7de fd2d bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8075bb6: 4a95 ldr r2, [pc, #596] ; (8075e0c ) 8075bb8: 215a movs r1, #90 ; 0x5a 8075bba: 200a movs r0, #10 8075bbc: f7df fad0 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8075bc0: 4a93 ldr r2, [pc, #588] ; (8075e10 ) 8075bc2: 216a movs r1, #106 ; 0x6a 8075bc4: 200a movs r0, #10 8075bc6: f7df facb bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8075bca: 4a8f ldr r2, [pc, #572] ; (8075e08 ) 8075bcc: 217a movs r1, #122 ; 0x7a 8075bce: 200a movs r0, #10 8075bd0: f7df fac6 bl 8055160 break; 8075bd4: f022 bd05 b.w 80985e2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075bd8: 498a ldr r1, [pc, #552] ; (8075e04 ) 8075bda: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075bde: f7de fd17 bl 8054610 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8075be2: 4a90 ldr r2, [pc, #576] ; (8075e24 ) 8075be4: 218a movs r1, #138 ; 0x8a 8075be6: 200a movs r0, #10 8075be8: f7df faba bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075bec: 4985 ldr r1, [pc, #532] ; (8075e04 ) 8075bee: f04f 30ff mov.w r0, #4294967295 8075bf2: f7de fd0d bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8075bf6: 4a89 ldr r2, [pc, #548] ; (8075e1c ) 8075bf8: 215a movs r1, #90 ; 0x5a 8075bfa: 200a movs r0, #10 8075bfc: f7df fab0 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8075c00: 4a87 ldr r2, [pc, #540] ; (8075e20 ) 8075c02: 216a movs r1, #106 ; 0x6a 8075c04: 200a movs r0, #10 8075c06: f7df faab bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8075c0a: 4a83 ldr r2, [pc, #524] ; (8075e18 ) 8075c0c: 217a movs r1, #122 ; 0x7a 8075c0e: 200a movs r0, #10 8075c10: f7df faa6 bl 8055160 break; 8075c14: f022 bce5 b.w 80985e2 if(menupos == AskRouteNo) 8075c18: 4b78 ldr r3, [pc, #480] ; (8075dfc ) 8075c1a: 781b ldrb r3, [r3, #0] 8075c1c: b2db uxtb r3, r3 8075c1e: 2b09 cmp r3, #9 8075c20: f040 8114 bne.w 8075e4c if(pardata.LANG == RUS) 8075c24: 4b76 ldr r3, [pc, #472] ; (8075e00 ) 8075c26: 7b1b ldrb r3, [r3, #12] 8075c28: b2db uxtb r3, r3 8075c2a: 2b00 cmp r3, #0 8075c2c: d172 bne.n 8075d14 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075c2e: 4975 ldr r1, [pc, #468] ; (8075e04 ) 8075c30: f04f 30ff mov.w r0, #4294967295 8075c34: f7de fcec bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8075c38: 4a74 ldr r2, [pc, #464] ; (8075e0c ) 8075c3a: 215a movs r1, #90 ; 0x5a 8075c3c: 200a movs r0, #10 8075c3e: f7df fa8f bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8075c42: 4a73 ldr r2, [pc, #460] ; (8075e10 ) 8075c44: 216a movs r1, #106 ; 0x6a 8075c46: 200a movs r0, #10 8075c48: f7df fa8a bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8075c4c: 4a6e ldr r2, [pc, #440] ; (8075e08 ) 8075c4e: 217a movs r1, #122 ; 0x7a 8075c50: 200a movs r0, #10 8075c52: f7df fa85 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8075c56: 4a6f ldr r2, [pc, #444] ; (8075e14 ) 8075c58: 218a movs r1, #138 ; 0x8a 8075c5a: 200a movs r0, #10 8075c5c: f7df fa80 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075c60: 4968 ldr r1, [pc, #416] ; (8075e04 ) 8075c62: f04f 30ff mov.w r0, #4294967295 8075c66: f7de fcd3 bl 8054610 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8075c6a: 237c movs r3, #124 ; 0x7c 8075c6c: 22f0 movs r2, #240 ; 0xf0 8075c6e: 2148 movs r1, #72 ; 0x48 8075c70: 2028 movs r0, #40 ; 0x28 8075c72: f7df f95b bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8075c76: 4963 ldr r1, [pc, #396] ; (8075e04 ) 8075c78: 4862 ldr r0, [pc, #392] ; (8075e04 ) 8075c7a: f7de fcc9 bl 8054610 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8075c7e: 2378 movs r3, #120 ; 0x78 8075c80: 22ec movs r2, #236 ; 0xec 8075c82: 214a movs r1, #74 ; 0x4a 8075c84: 202a movs r0, #42 ; 0x2a 8075c86: f7df f951 bl 8054f2c BSP_LCD_SetFont(&Font12); 8075c8a: 4867 ldr r0, [pc, #412] ; (8075e28 ) 8075c8c: f7de fcfc bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075c90: 495c ldr r1, [pc, #368] ; (8075e04 ) 8075c92: f04f 30ff mov.w r0, #4294967295 8075c96: f7de fcbb bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå ïðîäîëæèòü ìàðøðóò", CENTER_MODE); 8075c9a: 2301 movs r3, #1 8075c9c: 4a63 ldr r2, [pc, #396] ; (8075e2c ) 8075c9e: 217a movs r1, #122 ; 0x7a 8075ca0: 20a0 movs r0, #160 ; 0xa0 8075ca2: f7de fd7b bl 805479c memset(str2, 0, sizeof(str2)); 8075ca6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075caa: 223c movs r2, #60 ; 0x3c 8075cac: 2100 movs r1, #0 8075cae: 4618 mov r0, r3 8075cb0: f05b fb76 bl 80d13a0 strcpy(str2, (void *) &pardata.ROUTE_NAME); 8075cb4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075cb8: 495d ldr r1, [pc, #372] ; (8075e30 ) 8075cba: 4618 mov r0, r3 8075cbc: f05b fc8d bl 80d15da strcat(str2, "?"); 8075cc0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075cc4: 4618 mov r0, r3 8075cc6: f7aa fb25 bl 8020314 8075cca: 4603 mov r3, r0 8075ccc: 461a mov r2, r3 8075cce: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075cd2: 4413 add r3, r2 8075cd4: 4957 ldr r1, [pc, #348] ; (8075e34 ) 8075cd6: 461a mov r2, r3 8075cd8: 460b mov r3, r1 8075cda: 881b ldrh r3, [r3, #0] 8075cdc: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 8075cde: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8075ce2: 2301 movs r3, #1 8075ce4: 218a movs r1, #138 ; 0x8a 8075ce6: 20a0 movs r0, #160 ; 0xa0 8075ce8: f7de fd58 bl 805479c BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8075cec: 2302 movs r3, #2 8075cee: 4a52 ldr r2, [pc, #328] ; (8075e38 ) 8075cf0: 21aa movs r1, #170 ; 0xaa 8075cf2: f44f 7081 mov.w r0, #258 ; 0x102 8075cf6: f7de fd51 bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075cfa: 4942 ldr r1, [pc, #264] ; (8075e04 ) 8075cfc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075d00: f7de fc86 bl 8054610 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8075d04: 2303 movs r3, #3 8075d06: 4a4d ldr r2, [pc, #308] ; (8075e3c ) 8075d08: 21aa movs r1, #170 ; 0xaa 8075d0a: 203e movs r0, #62 ; 0x3e 8075d0c: f7de fd46 bl 805479c break; 8075d10: f022 bc67 b.w 80985e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075d14: 493b ldr r1, [pc, #236] ; (8075e04 ) 8075d16: f04f 30ff mov.w r0, #4294967295 8075d1a: f7de fc79 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8075d1e: 4a3f ldr r2, [pc, #252] ; (8075e1c ) 8075d20: 215a movs r1, #90 ; 0x5a 8075d22: 200a movs r0, #10 8075d24: f7df fa1c bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8075d28: 4a3d ldr r2, [pc, #244] ; (8075e20 ) 8075d2a: 216a movs r1, #106 ; 0x6a 8075d2c: 200a movs r0, #10 8075d2e: f7df fa17 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8075d32: 4a39 ldr r2, [pc, #228] ; (8075e18 ) 8075d34: 217a movs r1, #122 ; 0x7a 8075d36: 200a movs r0, #10 8075d38: f7df fa12 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8075d3c: 4a39 ldr r2, [pc, #228] ; (8075e24 ) 8075d3e: 218a movs r1, #138 ; 0x8a 8075d40: 200a movs r0, #10 8075d42: f7df fa0d bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075d46: 492f ldr r1, [pc, #188] ; (8075e04 ) 8075d48: f04f 30ff mov.w r0, #4294967295 8075d4c: f7de fc60 bl 8054610 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8075d50: 237c movs r3, #124 ; 0x7c 8075d52: 22f0 movs r2, #240 ; 0xf0 8075d54: 2148 movs r1, #72 ; 0x48 8075d56: 2028 movs r0, #40 ; 0x28 8075d58: f7df f8e8 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8075d5c: 4929 ldr r1, [pc, #164] ; (8075e04 ) 8075d5e: 4829 ldr r0, [pc, #164] ; (8075e04 ) 8075d60: f7de fc56 bl 8054610 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8075d64: 2378 movs r3, #120 ; 0x78 8075d66: 22ec movs r2, #236 ; 0xec 8075d68: 214a movs r1, #74 ; 0x4a 8075d6a: 202a movs r0, #42 ; 0x2a 8075d6c: f7df f8de bl 8054f2c BSP_LCD_SetFont(&Font12); 8075d70: 482d ldr r0, [pc, #180] ; (8075e28 ) 8075d72: f7de fc89 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075d76: 4923 ldr r1, [pc, #140] ; (8075e04 ) 8075d78: f04f 30ff mov.w r0, #4294967295 8075d7c: f7de fc48 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Continue the route", CENTER_MODE); 8075d80: 2301 movs r3, #1 8075d82: 4a2f ldr r2, [pc, #188] ; (8075e40 ) 8075d84: 217a movs r1, #122 ; 0x7a 8075d86: 20a0 movs r0, #160 ; 0xa0 8075d88: f7de fd08 bl 805479c memset(str2, 0, sizeof(str2)); 8075d8c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075d90: 223c movs r2, #60 ; 0x3c 8075d92: 2100 movs r1, #0 8075d94: 4618 mov r0, r3 8075d96: f05b fb03 bl 80d13a0 strcpy(str2, (void *) &pardata.ROUTE_NAME); 8075d9a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075d9e: 4924 ldr r1, [pc, #144] ; (8075e30 ) 8075da0: 4618 mov r0, r3 8075da2: f05b fc1a bl 80d15da strcat(str2, "?"); 8075da6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075daa: 4618 mov r0, r3 8075dac: f7aa fab2 bl 8020314 8075db0: 4603 mov r3, r0 8075db2: 461a mov r2, r3 8075db4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075db8: 4413 add r3, r2 8075dba: 491e ldr r1, [pc, #120] ; (8075e34 ) 8075dbc: 461a mov r2, r3 8075dbe: 460b mov r3, r1 8075dc0: 881b ldrh r3, [r3, #0] 8075dc2: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 8075dc4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8075dc8: 2301 movs r3, #1 8075dca: 218a movs r1, #138 ; 0x8a 8075dcc: 20a0 movs r0, #160 ; 0xa0 8075dce: f7de fce5 bl 805479c BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 8075dd2: 2302 movs r3, #2 8075dd4: 4a1b ldr r2, [pc, #108] ; (8075e44 ) 8075dd6: 21aa movs r1, #170 ; 0xaa 8075dd8: f44f 7081 mov.w r0, #258 ; 0x102 8075ddc: f7de fcde bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075de0: 4908 ldr r1, [pc, #32] ; (8075e04 ) 8075de2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075de6: f7de fc13 bl 8054610 BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 8075dea: 2303 movs r3, #3 8075dec: 4a16 ldr r2, [pc, #88] ; (8075e48 ) 8075dee: 21aa movs r1, #170 ; 0xaa 8075df0: 203e movs r0, #62 ; 0x3e 8075df2: f7de fcd3 bl 805479c break; 8075df6: f022 bbf4 b.w 80985e2 8075dfa: bf00 nop 8075dfc: 20020070 .word 0x20020070 8075e00: 20023ea8 .word 0x20023ea8 8075e04: ff0a0f1f .word 0xff0a0f1f 8075e08: 080d40d4 .word 0x080d40d4 8075e0c: 080d40a0 .word 0x080d40a0 8075e10: 080d40c8 .word 0x080d40c8 8075e14: 080d40dc .word 0x080d40dc 8075e18: 080d40f0 .word 0x080d40f0 8075e1c: 080d40b4 .word 0x080d40b4 8075e20: 080d40e8 .word 0x080d40e8 8075e24: 080d40f8 .word 0x080d40f8 8075e28: 20020038 .word 0x20020038 8075e2c: 080d4100 .word 0x080d4100 8075e30: 2002432c .word 0x2002432c 8075e34: 080d411c .word 0x080d411c 8075e38: 080d3bc8 .word 0x080d3bc8 8075e3c: 080d2a18 .word 0x080d2a18 8075e40: 080d4120 .word 0x080d4120 8075e44: 080d4134 .word 0x080d4134 8075e48: 080d4138 .word 0x080d4138 if(menupos == AskRouteYes) 8075e4c: 4bac ldr r3, [pc, #688] ; (8076100 ) 8075e4e: 781b ldrb r3, [r3, #0] 8075e50: b2db uxtb r3, r3 8075e52: 2b0a cmp r3, #10 8075e54: f040 80eb bne.w 807602e if(pardata.LANG == RUS) 8075e58: 4baa ldr r3, [pc, #680] ; (8076104 ) 8075e5a: 7b1b ldrb r3, [r3, #12] 8075e5c: b2db uxtb r3, r3 8075e5e: 2b00 cmp r3, #0 8075e60: d172 bne.n 8075f48 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075e62: 49a9 ldr r1, [pc, #676] ; (8076108 ) 8075e64: f04f 30ff mov.w r0, #4294967295 8075e68: f7de fbd2 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8075e6c: 4aa7 ldr r2, [pc, #668] ; (807610c ) 8075e6e: 215a movs r1, #90 ; 0x5a 8075e70: 200a movs r0, #10 8075e72: f7df f975 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8075e76: 4aa6 ldr r2, [pc, #664] ; (8076110 ) 8075e78: 216a movs r1, #106 ; 0x6a 8075e7a: 200a movs r0, #10 8075e7c: f7df f970 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8075e80: 4aa4 ldr r2, [pc, #656] ; (8076114 ) 8075e82: 217a movs r1, #122 ; 0x7a 8075e84: 200a movs r0, #10 8075e86: f7df f96b bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8075e8a: 4aa3 ldr r2, [pc, #652] ; (8076118 ) 8075e8c: 218a movs r1, #138 ; 0x8a 8075e8e: 200a movs r0, #10 8075e90: f7df f966 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075e94: 499c ldr r1, [pc, #624] ; (8076108 ) 8075e96: f04f 30ff mov.w r0, #4294967295 8075e9a: f7de fbb9 bl 8054610 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8075e9e: 237c movs r3, #124 ; 0x7c 8075ea0: 22f0 movs r2, #240 ; 0xf0 8075ea2: 2148 movs r1, #72 ; 0x48 8075ea4: 2028 movs r0, #40 ; 0x28 8075ea6: f7df f841 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8075eaa: 4997 ldr r1, [pc, #604] ; (8076108 ) 8075eac: 4896 ldr r0, [pc, #600] ; (8076108 ) 8075eae: f7de fbaf bl 8054610 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8075eb2: 2378 movs r3, #120 ; 0x78 8075eb4: 22ec movs r2, #236 ; 0xec 8075eb6: 214a movs r1, #74 ; 0x4a 8075eb8: 202a movs r0, #42 ; 0x2a 8075eba: f7df f837 bl 8054f2c BSP_LCD_SetFont(&Font12); 8075ebe: 4897 ldr r0, [pc, #604] ; (807611c ) 8075ec0: f7de fbe2 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075ec4: 4990 ldr r1, [pc, #576] ; (8076108 ) 8075ec6: f04f 30ff mov.w r0, #4294967295 8075eca: f7de fba1 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå ïðîäîëæèòü ìàðøðóò", CENTER_MODE); 8075ece: 2301 movs r3, #1 8075ed0: 4a93 ldr r2, [pc, #588] ; (8076120 ) 8075ed2: 217a movs r1, #122 ; 0x7a 8075ed4: 20a0 movs r0, #160 ; 0xa0 8075ed6: f7de fc61 bl 805479c memset(str2, 0, sizeof(str2)); 8075eda: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075ede: 223c movs r2, #60 ; 0x3c 8075ee0: 2100 movs r1, #0 8075ee2: 4618 mov r0, r3 8075ee4: f05b fa5c bl 80d13a0 strcpy(str2, (void *) &pardata.ROUTE_NAME); 8075ee8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075eec: 498d ldr r1, [pc, #564] ; (8076124 ) 8075eee: 4618 mov r0, r3 8075ef0: f05b fb73 bl 80d15da strcat(str2, "?"); 8075ef4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075ef8: 4618 mov r0, r3 8075efa: f7aa fa0b bl 8020314 8075efe: 4603 mov r3, r0 8075f00: 461a mov r2, r3 8075f02: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075f06: 4413 add r3, r2 8075f08: 4987 ldr r1, [pc, #540] ; (8076128 ) 8075f0a: 461a mov r2, r3 8075f0c: 460b mov r3, r1 8075f0e: 881b ldrh r3, [r3, #0] 8075f10: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 8075f12: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8075f16: 2301 movs r3, #1 8075f18: 218a movs r1, #138 ; 0x8a 8075f1a: 20a0 movs r0, #160 ; 0xa0 8075f1c: f7de fc3e bl 805479c BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8075f20: 2303 movs r3, #3 8075f22: 4a82 ldr r2, [pc, #520] ; (807612c ) 8075f24: 21aa movs r1, #170 ; 0xaa 8075f26: 203e movs r0, #62 ; 0x3e 8075f28: f7de fc38 bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075f2c: 4976 ldr r1, [pc, #472] ; (8076108 ) 8075f2e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075f32: f7de fb6d bl 8054610 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8075f36: 2302 movs r3, #2 8075f38: 4a7d ldr r2, [pc, #500] ; (8076130 ) 8075f3a: 21aa movs r1, #170 ; 0xaa 8075f3c: f44f 7081 mov.w r0, #258 ; 0x102 8075f40: f7de fc2c bl 805479c break; 8075f44: f022 bb4d b.w 80985e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075f48: 496f ldr r1, [pc, #444] ; (8076108 ) 8075f4a: f04f 30ff mov.w r0, #4294967295 8075f4e: f7de fb5f bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8075f52: 4a78 ldr r2, [pc, #480] ; (8076134 ) 8075f54: 215a movs r1, #90 ; 0x5a 8075f56: 200a movs r0, #10 8075f58: f7df f902 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8075f5c: 4a76 ldr r2, [pc, #472] ; (8076138 ) 8075f5e: 216a movs r1, #106 ; 0x6a 8075f60: 200a movs r0, #10 8075f62: f7df f8fd bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8075f66: 4a75 ldr r2, [pc, #468] ; (807613c ) 8075f68: 217a movs r1, #122 ; 0x7a 8075f6a: 200a movs r0, #10 8075f6c: f7df f8f8 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8075f70: 4a73 ldr r2, [pc, #460] ; (8076140 ) 8075f72: 218a movs r1, #138 ; 0x8a 8075f74: 200a movs r0, #10 8075f76: f7df f8f3 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075f7a: 4963 ldr r1, [pc, #396] ; (8076108 ) 8075f7c: f04f 30ff mov.w r0, #4294967295 8075f80: f7de fb46 bl 8054610 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8075f84: 237c movs r3, #124 ; 0x7c 8075f86: 22f0 movs r2, #240 ; 0xf0 8075f88: 2148 movs r1, #72 ; 0x48 8075f8a: 2028 movs r0, #40 ; 0x28 8075f8c: f7de ffce bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8075f90: 495d ldr r1, [pc, #372] ; (8076108 ) 8075f92: 485d ldr r0, [pc, #372] ; (8076108 ) 8075f94: f7de fb3c bl 8054610 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8075f98: 2378 movs r3, #120 ; 0x78 8075f9a: 22ec movs r2, #236 ; 0xec 8075f9c: 214a movs r1, #74 ; 0x4a 8075f9e: 202a movs r0, #42 ; 0x2a 8075fa0: f7de ffc4 bl 8054f2c BSP_LCD_SetFont(&Font12); 8075fa4: 485d ldr r0, [pc, #372] ; (807611c ) 8075fa6: f7de fb6f bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075faa: 4957 ldr r1, [pc, #348] ; (8076108 ) 8075fac: f04f 30ff mov.w r0, #4294967295 8075fb0: f7de fb2e bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Continue the route", CENTER_MODE); 8075fb4: 2301 movs r3, #1 8075fb6: 4a63 ldr r2, [pc, #396] ; (8076144 ) 8075fb8: 217a movs r1, #122 ; 0x7a 8075fba: 20a0 movs r0, #160 ; 0xa0 8075fbc: f7de fbee bl 805479c memset(str2, 0, sizeof(str2)); 8075fc0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075fc4: 223c movs r2, #60 ; 0x3c 8075fc6: 2100 movs r1, #0 8075fc8: 4618 mov r0, r3 8075fca: f05b f9e9 bl 80d13a0 strcpy(str2, (void *) &pardata.ROUTE_NAME); 8075fce: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075fd2: 4954 ldr r1, [pc, #336] ; (8076124 ) 8075fd4: 4618 mov r0, r3 8075fd6: f05b fb00 bl 80d15da strcat(str2, "?"); 8075fda: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075fde: 4618 mov r0, r3 8075fe0: f7aa f998 bl 8020314 8075fe4: 4603 mov r3, r0 8075fe6: 461a mov r2, r3 8075fe8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075fec: 4413 add r3, r2 8075fee: 494e ldr r1, [pc, #312] ; (8076128 ) 8075ff0: 461a mov r2, r3 8075ff2: 460b mov r3, r1 8075ff4: 881b ldrh r3, [r3, #0] 8075ff6: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 8075ff8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8075ffc: 2301 movs r3, #1 8075ffe: 218a movs r1, #138 ; 0x8a 8076000: 20a0 movs r0, #160 ; 0xa0 8076002: f7de fbcb bl 805479c BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 8076006: 2303 movs r3, #3 8076008: 4a4f ldr r2, [pc, #316] ; (8076148 ) 807600a: 21aa movs r1, #170 ; 0xaa 807600c: 203e movs r0, #62 ; 0x3e 807600e: f7de fbc5 bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076012: 493d ldr r1, [pc, #244] ; (8076108 ) 8076014: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076018: f7de fafa bl 8054610 BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 807601c: 2302 movs r3, #2 807601e: 4a4b ldr r2, [pc, #300] ; (807614c ) 8076020: 21aa movs r1, #170 ; 0xaa 8076022: f44f 7081 mov.w r0, #258 ; 0x102 8076026: f7de fbb9 bl 805479c break; 807602a: f022 bada b.w 80985e2 if(menupos == AskFormatNo) 807602e: 4b34 ldr r3, [pc, #208] ; (8076100 ) 8076030: 781b ldrb r3, [r3, #0] 8076032: b2db uxtb r3, r3 8076034: 2b05 cmp r3, #5 8076036: f040 80ed bne.w 8076214 if(pardata.LANG == RUS) 807603a: 4b32 ldr r3, [pc, #200] ; (8076104 ) 807603c: 7b1b ldrb r3, [r3, #12] 807603e: b2db uxtb r3, r3 8076040: 2b00 cmp r3, #0 8076042: f040 808b bne.w 807615c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076046: 4930 ldr r1, [pc, #192] ; (8076108 ) 8076048: f04f 30ff mov.w r0, #4294967295 807604c: f7de fae0 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8076050: 4a2e ldr r2, [pc, #184] ; (807610c ) 8076052: 215a movs r1, #90 ; 0x5a 8076054: 200a movs r0, #10 8076056: f7df f883 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 807605a: 4a2d ldr r2, [pc, #180] ; (8076110 ) 807605c: 216a movs r1, #106 ; 0x6a 807605e: 200a movs r0, #10 8076060: f7df f87e bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8076064: 4a2b ldr r2, [pc, #172] ; (8076114 ) 8076066: 217a movs r1, #122 ; 0x7a 8076068: 200a movs r0, #10 807606a: f7df f879 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 807606e: 4a2a ldr r2, [pc, #168] ; (8076118 ) 8076070: 218a movs r1, #138 ; 0x8a 8076072: 200a movs r0, #10 8076074: f7df f874 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076078: 4923 ldr r1, [pc, #140] ; (8076108 ) 807607a: f04f 30ff mov.w r0, #4294967295 807607e: f7de fac7 bl 8054610 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8076082: 237c movs r3, #124 ; 0x7c 8076084: 22f0 movs r2, #240 ; 0xf0 8076086: 2148 movs r1, #72 ; 0x48 8076088: 2028 movs r0, #40 ; 0x28 807608a: f7de ff4f bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 807608e: 491e ldr r1, [pc, #120] ; (8076108 ) 8076090: 481d ldr r0, [pc, #116] ; (8076108 ) 8076092: f7de fabd bl 8054610 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8076096: 2378 movs r3, #120 ; 0x78 8076098: 22ec movs r2, #236 ; 0xec 807609a: 214a movs r1, #74 ; 0x4a 807609c: 202a movs r0, #42 ; 0x2a 807609e: f7de ff45 bl 8054f2c BSP_LCD_SetFont(&Font12); 80760a2: 481e ldr r0, [pc, #120] ; (807611c ) 80760a4: f7de faf0 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80760a8: 4917 ldr r1, [pc, #92] ; (8076108 ) 80760aa: f04f 30ff mov.w r0, #4294967295 80760ae: f7de faaf bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "Êàðòà íåèñïðàâíà èëè îòñóòñòâóåò", CENTER_MODE); 80760b2: 2301 movs r3, #1 80760b4: 4a26 ldr r2, [pc, #152] ; (8076150 ) 80760b6: 216a movs r1, #106 ; 0x6a 80760b8: 20a0 movs r0, #160 ; 0xa0 80760ba: f7de fb6f bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "ôàéëîâàÿ ñèñòåìà.", CENTER_MODE); 80760be: 2301 movs r3, #1 80760c0: 4a24 ldr r2, [pc, #144] ; (8076154 ) 80760c2: 217a movs r1, #122 ; 0x7a 80760c4: 20a0 movs r0, #160 ; 0xa0 80760c6: f7de fb69 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Ôîðìàòèðîâàòü êàðòó?", CENTER_MODE); 80760ca: 2301 movs r3, #1 80760cc: 4a22 ldr r2, [pc, #136] ; (8076158 ) 80760ce: 218a movs r1, #138 ; 0x8a 80760d0: 20a0 movs r0, #160 ; 0xa0 80760d2: f7de fb63 bl 805479c BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 80760d6: 2302 movs r3, #2 80760d8: 4a15 ldr r2, [pc, #84] ; (8076130 ) 80760da: 21aa movs r1, #170 ; 0xaa 80760dc: f44f 7081 mov.w r0, #258 ; 0x102 80760e0: f7de fb5c bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80760e4: 4908 ldr r1, [pc, #32] ; (8076108 ) 80760e6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80760ea: f7de fa91 bl 8054610 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 80760ee: 2303 movs r3, #3 80760f0: 4a0e ldr r2, [pc, #56] ; (807612c ) 80760f2: 21aa movs r1, #170 ; 0xaa 80760f4: 203e movs r0, #62 ; 0x3e 80760f6: f7de fb51 bl 805479c break; 80760fa: f022 ba72 b.w 80985e2 80760fe: bf00 nop 8076100: 20020070 .word 0x20020070 8076104: 20023ea8 .word 0x20023ea8 8076108: ff0a0f1f .word 0xff0a0f1f 807610c: 080d40a0 .word 0x080d40a0 8076110: 080d40c8 .word 0x080d40c8 8076114: 080d40d4 .word 0x080d40d4 8076118: 080d40dc .word 0x080d40dc 807611c: 20020038 .word 0x20020038 8076120: 080d4100 .word 0x080d4100 8076124: 2002432c .word 0x2002432c 8076128: 080d411c .word 0x080d411c 807612c: 080d2a18 .word 0x080d2a18 8076130: 080d3bc8 .word 0x080d3bc8 8076134: 080d40b4 .word 0x080d40b4 8076138: 080d40e8 .word 0x080d40e8 807613c: 080d40f0 .word 0x080d40f0 8076140: 080d40f8 .word 0x080d40f8 8076144: 080d4120 .word 0x080d4120 8076148: 080d4138 .word 0x080d4138 807614c: 080d4134 .word 0x080d4134 8076150: 080d413c .word 0x080d413c 8076154: 080d4160 .word 0x080d4160 8076158: 080d4174 .word 0x080d4174 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807615c: 49cc ldr r1, [pc, #816] ; (8076490 ) 807615e: f04f 30ff mov.w r0, #4294967295 8076162: f7de fa55 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8076166: 4acb ldr r2, [pc, #812] ; (8076494 ) 8076168: 215a movs r1, #90 ; 0x5a 807616a: 200a movs r0, #10 807616c: f7de fff8 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8076170: 4ac9 ldr r2, [pc, #804] ; (8076498 ) 8076172: 216a movs r1, #106 ; 0x6a 8076174: 200a movs r0, #10 8076176: f7de fff3 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Files"); 807617a: 4ac8 ldr r2, [pc, #800] ; (807649c ) 807617c: 217a movs r1, #122 ; 0x7a 807617e: 200a movs r0, #10 8076180: f7de ffee bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8076184: 4ac6 ldr r2, [pc, #792] ; (80764a0 ) 8076186: 218a movs r1, #138 ; 0x8a 8076188: 200a movs r0, #10 807618a: f7de ffe9 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807618e: 49c0 ldr r1, [pc, #768] ; (8076490 ) 8076190: f04f 30ff mov.w r0, #4294967295 8076194: f7de fa3c bl 8054610 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8076198: 237c movs r3, #124 ; 0x7c 807619a: 22f0 movs r2, #240 ; 0xf0 807619c: 2148 movs r1, #72 ; 0x48 807619e: 2028 movs r0, #40 ; 0x28 80761a0: f7de fec4 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80761a4: 49ba ldr r1, [pc, #744] ; (8076490 ) 80761a6: 48ba ldr r0, [pc, #744] ; (8076490 ) 80761a8: f7de fa32 bl 8054610 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 80761ac: 2378 movs r3, #120 ; 0x78 80761ae: 22ec movs r2, #236 ; 0xec 80761b0: 214a movs r1, #74 ; 0x4a 80761b2: 202a movs r0, #42 ; 0x2a 80761b4: f7de feba bl 8054f2c BSP_LCD_SetFont(&Font12); 80761b8: 48ba ldr r0, [pc, #744] ; (80764a4 ) 80761ba: f7de fa65 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80761be: 49b4 ldr r1, [pc, #720] ; (8076490 ) 80761c0: f04f 30ff mov.w r0, #4294967295 80761c4: f7de fa24 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "The card is faulty or the", CENTER_MODE); 80761c8: 2301 movs r3, #1 80761ca: 4ab7 ldr r2, [pc, #732] ; (80764a8 ) 80761cc: 216a movs r1, #106 ; 0x6a 80761ce: 20a0 movs r0, #160 ; 0xa0 80761d0: f7de fae4 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "file system is missing.", CENTER_MODE); 80761d4: 2301 movs r3, #1 80761d6: 4ab5 ldr r2, [pc, #724] ; (80764ac ) 80761d8: 217a movs r1, #122 ; 0x7a 80761da: 20a0 movs r0, #160 ; 0xa0 80761dc: f7de fade bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Format the card?", CENTER_MODE); 80761e0: 2301 movs r3, #1 80761e2: 4ab3 ldr r2, [pc, #716] ; (80764b0 ) 80761e4: 218a movs r1, #138 ; 0x8a 80761e6: 20a0 movs r0, #160 ; 0xa0 80761e8: f7de fad8 bl 805479c BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 80761ec: 2302 movs r3, #2 80761ee: 4ab1 ldr r2, [pc, #708] ; (80764b4 ) 80761f0: 21aa movs r1, #170 ; 0xaa 80761f2: f44f 7081 mov.w r0, #258 ; 0x102 80761f6: f7de fad1 bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80761fa: 49a5 ldr r1, [pc, #660] ; (8076490 ) 80761fc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076200: f7de fa06 bl 8054610 BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 8076204: 2303 movs r3, #3 8076206: 4aac ldr r2, [pc, #688] ; (80764b8 ) 8076208: 21aa movs r1, #170 ; 0xaa 807620a: 203e movs r0, #62 ; 0x3e 807620c: f7de fac6 bl 805479c break; 8076210: f022 b9e7 b.w 80985e2 if(menupos == AskFormatYes) 8076214: 4ba9 ldr r3, [pc, #676] ; (80764bc ) 8076216: 781b ldrb r3, [r3, #0] 8076218: b2db uxtb r3, r3 807621a: 2b06 cmp r3, #6 807621c: f040 80bd bne.w 807639a if(pardata.LANG == RUS) 8076220: 4ba7 ldr r3, [pc, #668] ; (80764c0 ) 8076222: 7b1b ldrb r3, [r3, #12] 8076224: b2db uxtb r3, r3 8076226: 2b00 cmp r3, #0 8076228: d15b bne.n 80762e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807622a: 4999 ldr r1, [pc, #612] ; (8076490 ) 807622c: f04f 30ff mov.w r0, #4294967295 8076230: f7de f9ee bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8076234: 4aa3 ldr r2, [pc, #652] ; (80764c4 ) 8076236: 215a movs r1, #90 ; 0x5a 8076238: 200a movs r0, #10 807623a: f7de ff91 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 807623e: 4aa2 ldr r2, [pc, #648] ; (80764c8 ) 8076240: 216a movs r1, #106 ; 0x6a 8076242: 200a movs r0, #10 8076244: f7de ff8c bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8076248: 4aa0 ldr r2, [pc, #640] ; (80764cc ) 807624a: 217a movs r1, #122 ; 0x7a 807624c: 200a movs r0, #10 807624e: f7de ff87 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8076252: 4a9f ldr r2, [pc, #636] ; (80764d0 ) 8076254: 218a movs r1, #138 ; 0x8a 8076256: 200a movs r0, #10 8076258: f7de ff82 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807625c: 498c ldr r1, [pc, #560] ; (8076490 ) 807625e: f04f 30ff mov.w r0, #4294967295 8076262: f7de f9d5 bl 8054610 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8076266: 237c movs r3, #124 ; 0x7c 8076268: 22f0 movs r2, #240 ; 0xf0 807626a: 2148 movs r1, #72 ; 0x48 807626c: 2028 movs r0, #40 ; 0x28 807626e: f7de fe5d bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8076272: 4987 ldr r1, [pc, #540] ; (8076490 ) 8076274: 4886 ldr r0, [pc, #536] ; (8076490 ) 8076276: f7de f9cb bl 8054610 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 807627a: 2378 movs r3, #120 ; 0x78 807627c: 22ec movs r2, #236 ; 0xec 807627e: 214a movs r1, #74 ; 0x4a 8076280: 202a movs r0, #42 ; 0x2a 8076282: f7de fe53 bl 8054f2c BSP_LCD_SetFont(&Font12); 8076286: 4887 ldr r0, [pc, #540] ; (80764a4 ) 8076288: f7de f9fe bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807628c: 4980 ldr r1, [pc, #512] ; (8076490 ) 807628e: f04f 30ff mov.w r0, #4294967295 8076292: f7de f9bd bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "Êàðòà íåèñïðàâíà èëè îòñóòñòâóåò", CENTER_MODE); 8076296: 2301 movs r3, #1 8076298: 4a8e ldr r2, [pc, #568] ; (80764d4 ) 807629a: 216a movs r1, #106 ; 0x6a 807629c: 20a0 movs r0, #160 ; 0xa0 807629e: f7de fa7d bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "ôàéëîâàÿ ñèñòåìà.", CENTER_MODE); 80762a2: 2301 movs r3, #1 80762a4: 4a8c ldr r2, [pc, #560] ; (80764d8 ) 80762a6: 217a movs r1, #122 ; 0x7a 80762a8: 20a0 movs r0, #160 ; 0xa0 80762aa: f7de fa77 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Ôîðìàòèðîâàòü êàðòó?", CENTER_MODE); 80762ae: 2301 movs r3, #1 80762b0: 4a8a ldr r2, [pc, #552] ; (80764dc ) 80762b2: 218a movs r1, #138 ; 0x8a 80762b4: 20a0 movs r0, #160 ; 0xa0 80762b6: f7de fa71 bl 805479c BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 80762ba: 2303 movs r3, #3 80762bc: 4a88 ldr r2, [pc, #544] ; (80764e0 ) 80762be: 21aa movs r1, #170 ; 0xaa 80762c0: 203e movs r0, #62 ; 0x3e 80762c2: f7de fa6b bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80762c6: 4972 ldr r1, [pc, #456] ; (8076490 ) 80762c8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80762cc: f7de f9a0 bl 8054610 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 80762d0: 2302 movs r3, #2 80762d2: 4a84 ldr r2, [pc, #528] ; (80764e4 ) 80762d4: 21aa movs r1, #170 ; 0xaa 80762d6: f44f 7081 mov.w r0, #258 ; 0x102 80762da: f7de fa5f bl 805479c break; 80762de: f022 b980 b.w 80985e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80762e2: 496b ldr r1, [pc, #428] ; (8076490 ) 80762e4: f04f 30ff mov.w r0, #4294967295 80762e8: f7de f992 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 80762ec: 4a69 ldr r2, [pc, #420] ; (8076494 ) 80762ee: 215a movs r1, #90 ; 0x5a 80762f0: 200a movs r0, #10 80762f2: f7de ff35 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 80762f6: 4a68 ldr r2, [pc, #416] ; (8076498 ) 80762f8: 216a movs r1, #106 ; 0x6a 80762fa: 200a movs r0, #10 80762fc: f7de ff30 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8076300: 4a66 ldr r2, [pc, #408] ; (807649c ) 8076302: 217a movs r1, #122 ; 0x7a 8076304: 200a movs r0, #10 8076306: f7de ff2b bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 807630a: 4a65 ldr r2, [pc, #404] ; (80764a0 ) 807630c: 218a movs r1, #138 ; 0x8a 807630e: 200a movs r0, #10 8076310: f7de ff26 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076314: 495e ldr r1, [pc, #376] ; (8076490 ) 8076316: f04f 30ff mov.w r0, #4294967295 807631a: f7de f979 bl 8054610 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 807631e: 237c movs r3, #124 ; 0x7c 8076320: 22f0 movs r2, #240 ; 0xf0 8076322: 2148 movs r1, #72 ; 0x48 8076324: 2028 movs r0, #40 ; 0x28 8076326: f7de fe01 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 807632a: 4959 ldr r1, [pc, #356] ; (8076490 ) 807632c: 4858 ldr r0, [pc, #352] ; (8076490 ) 807632e: f7de f96f bl 8054610 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8076332: 2378 movs r3, #120 ; 0x78 8076334: 22ec movs r2, #236 ; 0xec 8076336: 214a movs r1, #74 ; 0x4a 8076338: 202a movs r0, #42 ; 0x2a 807633a: f7de fdf7 bl 8054f2c BSP_LCD_SetFont(&Font12); 807633e: 4859 ldr r0, [pc, #356] ; (80764a4 ) 8076340: f7de f9a2 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076344: 4952 ldr r1, [pc, #328] ; (8076490 ) 8076346: f04f 30ff mov.w r0, #4294967295 807634a: f7de f961 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "The card is faulty or the", CENTER_MODE); 807634e: 2301 movs r3, #1 8076350: 4a55 ldr r2, [pc, #340] ; (80764a8 ) 8076352: 216a movs r1, #106 ; 0x6a 8076354: 20a0 movs r0, #160 ; 0xa0 8076356: f7de fa21 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "file system is missing.", CENTER_MODE); 807635a: 2301 movs r3, #1 807635c: 4a53 ldr r2, [pc, #332] ; (80764ac ) 807635e: 217a movs r1, #122 ; 0x7a 8076360: 20a0 movs r0, #160 ; 0xa0 8076362: f7de fa1b bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Format the card?", CENTER_MODE); 8076366: 2301 movs r3, #1 8076368: 4a51 ldr r2, [pc, #324] ; (80764b0 ) 807636a: 218a movs r1, #138 ; 0x8a 807636c: 20a0 movs r0, #160 ; 0xa0 807636e: f7de fa15 bl 805479c BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 8076372: 2303 movs r3, #3 8076374: 4a50 ldr r2, [pc, #320] ; (80764b8 ) 8076376: 21aa movs r1, #170 ; 0xaa 8076378: 203e movs r0, #62 ; 0x3e 807637a: f7de fa0f bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807637e: 4944 ldr r1, [pc, #272] ; (8076490 ) 8076380: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076384: f7de f944 bl 8054610 BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 8076388: 2302 movs r3, #2 807638a: 4a4a ldr r2, [pc, #296] ; (80764b4 ) 807638c: 21aa movs r1, #170 ; 0xaa 807638e: f44f 7081 mov.w r0, #258 ; 0x102 8076392: f7de fa03 bl 805479c break; 8076396: f022 b924 b.w 80985e2 if(menupos == AskFormatResult) 807639a: 4b48 ldr r3, [pc, #288] ; (80764bc ) 807639c: 781b ldrb r3, [r3, #0] 807639e: b2db uxtb r3, r3 80763a0: 2b08 cmp r3, #8 80763a2: f062 811e bne.w 80985e2 if(pardata.LANG == RUS) 80763a6: 4b46 ldr r3, [pc, #280] ; (80764c0 ) 80763a8: 7b1b ldrb r3, [r3, #12] 80763aa: b2db uxtb r3, r3 80763ac: 2b00 cmp r3, #0 80763ae: f040 80c4 bne.w 807653a LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80763b2: 4937 ldr r1, [pc, #220] ; (8076490 ) 80763b4: f04f 30ff mov.w r0, #4294967295 80763b8: f7de f92a bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 80763bc: 4a41 ldr r2, [pc, #260] ; (80764c4 ) 80763be: 215a movs r1, #90 ; 0x5a 80763c0: 200a movs r0, #10 80763c2: f7de fecd bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 80763c6: 4a40 ldr r2, [pc, #256] ; (80764c8 ) 80763c8: 216a movs r1, #106 ; 0x6a 80763ca: 200a movs r0, #10 80763cc: f7de fec8 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 80763d0: 4a3e ldr r2, [pc, #248] ; (80764cc ) 80763d2: 217a movs r1, #122 ; 0x7a 80763d4: 200a movs r0, #10 80763d6: f7de fec3 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 80763da: 4a3d ldr r2, [pc, #244] ; (80764d0 ) 80763dc: 218a movs r1, #138 ; 0x8a 80763de: 200a movs r0, #10 80763e0: f7de febe bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80763e4: 492a ldr r1, [pc, #168] ; (8076490 ) 80763e6: f04f 30ff mov.w r0, #4294967295 80763ea: f7de f911 bl 8054610 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 80763ee: 237c movs r3, #124 ; 0x7c 80763f0: 22f0 movs r2, #240 ; 0xf0 80763f2: 2148 movs r1, #72 ; 0x48 80763f4: 2028 movs r0, #40 ; 0x28 80763f6: f7de fd99 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80763fa: 4925 ldr r1, [pc, #148] ; (8076490 ) 80763fc: 4824 ldr r0, [pc, #144] ; (8076490 ) 80763fe: f7de f907 bl 8054610 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8076402: 2378 movs r3, #120 ; 0x78 8076404: 22ec movs r2, #236 ; 0xec 8076406: 214a movs r1, #74 ; 0x4a 8076408: 202a movs r0, #42 ; 0x2a 807640a: f7de fd8f bl 8054f2c if(NeedFormat) 807640e: 4b36 ldr r3, [pc, #216] ; (80764e8 ) 8076410: 781b ldrb r3, [r3, #0] 8076412: b2db uxtb r3, r3 8076414: 2b00 cmp r3, #0 8076416: d015 beq.n 8076444 BSP_LCD_SetFont(&Font12); 8076418: 4822 ldr r0, [pc, #136] ; (80764a4 ) 807641a: f7de f935 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807641e: 491c ldr r1, [pc, #112] ; (8076490 ) 8076420: f04f 30ff mov.w r0, #4294967295 8076424: f7de f8f4 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå,", CENTER_MODE); 8076428: 2301 movs r3, #1 807642a: 4a30 ldr r2, [pc, #192] ; (80764ec ) 807642c: 217a movs r1, #122 ; 0x7a 807642e: 20a0 movs r0, #160 ; 0xa0 8076430: f7de f9b4 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Æäèòå...", CENTER_MODE); 8076434: 2301 movs r3, #1 8076436: 4a2e ldr r2, [pc, #184] ; (80764f0 ) 8076438: 218a movs r1, #138 ; 0x8a 807643a: 20a0 movs r0, #160 ; 0xa0 807643c: f7de f9ae bl 805479c break; 8076440: f022 b8cf b.w 80985e2 if(FormatStatus == AP_OK) 8076444: 4b2b ldr r3, [pc, #172] ; (80764f4 ) 8076446: 781b ldrb r3, [r3, #0] 8076448: b2db uxtb r3, r3 807644a: 2b00 cmp r3, #0 807644c: d15a bne.n 8076504 BSP_LCD_SetFont(&Font12); 807644e: 4815 ldr r0, [pc, #84] ; (80764a4 ) 8076450: f7de f91a bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076454: 490e ldr r1, [pc, #56] ; (8076490 ) 8076456: f04f 30ff mov.w r0, #4294967295 807645a: f7de f8d9 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå", CENTER_MODE); 807645e: 2301 movs r3, #1 8076460: 4a25 ldr r2, [pc, #148] ; (80764f8 ) 8076462: 217a movs r1, #122 ; 0x7a 8076464: 20a0 movs r0, #160 ; 0xa0 8076466: f7de f999 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "çàâåðøåíî óñïåøíî!", CENTER_MODE); 807646a: 2301 movs r3, #1 807646c: 4a23 ldr r2, [pc, #140] ; (80764fc ) 807646e: 218a movs r1, #138 ; 0x8a 8076470: 20a0 movs r0, #160 ; 0xa0 8076472: f7de f993 bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076476: 4906 ldr r1, [pc, #24] ; (8076490 ) 8076478: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807647c: f7de f8c8 bl 8054610 BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 8076480: 2301 movs r3, #1 8076482: 4a1f ldr r2, [pc, #124] ; (8076500 ) 8076484: 21aa movs r1, #170 ; 0xaa 8076486: 20a0 movs r0, #160 ; 0xa0 8076488: f7de f988 bl 805479c break; 807648c: f022 b8a9 b.w 80985e2 8076490: ff0a0f1f .word 0xff0a0f1f 8076494: 080d40b4 .word 0x080d40b4 8076498: 080d40e8 .word 0x080d40e8 807649c: 080d40f0 .word 0x080d40f0 80764a0: 080d40f8 .word 0x080d40f8 80764a4: 20020038 .word 0x20020038 80764a8: 080d418c .word 0x080d418c 80764ac: 080d41a8 .word 0x080d41a8 80764b0: 080d41c0 .word 0x080d41c0 80764b4: 080d4134 .word 0x080d4134 80764b8: 080d4138 .word 0x080d4138 80764bc: 20020070 .word 0x20020070 80764c0: 20023ea8 .word 0x20023ea8 80764c4: 080d40a0 .word 0x080d40a0 80764c8: 080d40c8 .word 0x080d40c8 80764cc: 080d40d4 .word 0x080d40d4 80764d0: 080d40dc .word 0x080d40dc 80764d4: 080d413c .word 0x080d413c 80764d8: 080d4160 .word 0x080d4160 80764dc: 080d4174 .word 0x080d4174 80764e0: 080d2a18 .word 0x080d2a18 80764e4: 080d3bc8 .word 0x080d3bc8 80764e8: 20020dfd .word 0x20020dfd 80764ec: 080d41d4 .word 0x080d41d4 80764f0: 080d41e4 .word 0x080d41e4 80764f4: 20020df1 .word 0x20020df1 80764f8: 080d41f0 .word 0x080d41f0 80764fc: 080d4200 .word 0x080d4200 8076500: 080d4214 .word 0x080d4214 BSP_LCD_SetFont(&Font12); 8076504: 4887 ldr r0, [pc, #540] ; (8076724 ) 8076506: f7de f8bf bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807650a: 4987 ldr r1, [pc, #540] ; (8076728 ) 807650c: f04f 30ff mov.w r0, #4294967295 8076510: f7de f87e bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Îøèáêà ôîðìàòèðîâàíèÿ...", CENTER_MODE); 8076514: 2301 movs r3, #1 8076516: 4a85 ldr r2, [pc, #532] ; (807672c ) 8076518: 218a movs r1, #138 ; 0x8a 807651a: 20a0 movs r0, #160 ; 0xa0 807651c: f7de f93e bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076520: 4981 ldr r1, [pc, #516] ; (8076728 ) 8076522: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076526: f7de f873 bl 8054610 BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 807652a: 2301 movs r3, #1 807652c: 4a80 ldr r2, [pc, #512] ; (8076730 ) 807652e: 21aa movs r1, #170 ; 0xaa 8076530: 20a0 movs r0, #160 ; 0xa0 8076532: f7de f933 bl 805479c break; 8076536: f022 b854 b.w 80985e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807653a: 497b ldr r1, [pc, #492] ; (8076728 ) 807653c: f04f 30ff mov.w r0, #4294967295 8076540: f7de f866 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8076544: 4a7b ldr r2, [pc, #492] ; (8076734 ) 8076546: 215a movs r1, #90 ; 0x5a 8076548: 200a movs r0, #10 807654a: f7de fe09 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 807654e: 4a7a ldr r2, [pc, #488] ; (8076738 ) 8076550: 216a movs r1, #106 ; 0x6a 8076552: 200a movs r0, #10 8076554: f7de fe04 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8076558: 4a78 ldr r2, [pc, #480] ; (807673c ) 807655a: 217a movs r1, #122 ; 0x7a 807655c: 200a movs r0, #10 807655e: f7de fdff bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8076562: 4a77 ldr r2, [pc, #476] ; (8076740 ) 8076564: 218a movs r1, #138 ; 0x8a 8076566: 200a movs r0, #10 8076568: f7de fdfa bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807656c: 496e ldr r1, [pc, #440] ; (8076728 ) 807656e: f04f 30ff mov.w r0, #4294967295 8076572: f7de f84d bl 8054610 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8076576: 237c movs r3, #124 ; 0x7c 8076578: 22f0 movs r2, #240 ; 0xf0 807657a: 2148 movs r1, #72 ; 0x48 807657c: 2028 movs r0, #40 ; 0x28 807657e: f7de fcd5 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8076582: 4969 ldr r1, [pc, #420] ; (8076728 ) 8076584: 4868 ldr r0, [pc, #416] ; (8076728 ) 8076586: f7de f843 bl 8054610 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 807658a: 2378 movs r3, #120 ; 0x78 807658c: 22ec movs r2, #236 ; 0xec 807658e: 214a movs r1, #74 ; 0x4a 8076590: 202a movs r0, #42 ; 0x2a 8076592: f7de fccb bl 8054f2c if(NeedFormat) 8076596: 4b6b ldr r3, [pc, #428] ; (8076744 ) 8076598: 781b ldrb r3, [r3, #0] 807659a: b2db uxtb r3, r3 807659c: 2b00 cmp r3, #0 807659e: d015 beq.n 80765cc BSP_LCD_SetFont(&Font12); 80765a0: 4860 ldr r0, [pc, #384] ; (8076724 ) 80765a2: f7de f871 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80765a6: 4960 ldr r1, [pc, #384] ; (8076728 ) 80765a8: f04f 30ff mov.w r0, #4294967295 80765ac: f7de f830 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Formatting...", CENTER_MODE); 80765b0: 2301 movs r3, #1 80765b2: 4a65 ldr r2, [pc, #404] ; (8076748 ) 80765b4: 217a movs r1, #122 ; 0x7a 80765b6: 20a0 movs r0, #160 ; 0xa0 80765b8: f7de f8f0 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Pleae, wait...", CENTER_MODE); 80765bc: 2301 movs r3, #1 80765be: 4a63 ldr r2, [pc, #396] ; (807674c ) 80765c0: 218a movs r1, #138 ; 0x8a 80765c2: 20a0 movs r0, #160 ; 0xa0 80765c4: f7de f8ea bl 805479c break; 80765c8: f022 b80b b.w 80985e2 if(FormatStatus == AP_OK) 80765cc: 4b60 ldr r3, [pc, #384] ; (8076750 ) 80765ce: 781b ldrb r3, [r3, #0] 80765d0: b2db uxtb r3, r3 80765d2: 2b00 cmp r3, #0 80765d4: d11a bne.n 807660c BSP_LCD_SetFont(&Font12); 80765d6: 4853 ldr r0, [pc, #332] ; (8076724 ) 80765d8: f7de f856 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80765dc: 4952 ldr r1, [pc, #328] ; (8076728 ) 80765de: f04f 30ff mov.w r0, #4294967295 80765e2: f7de f815 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Formatting successful!", CENTER_MODE); 80765e6: 2301 movs r3, #1 80765e8: 4a5a ldr r2, [pc, #360] ; (8076754 ) 80765ea: 218a movs r1, #138 ; 0x8a 80765ec: 20a0 movs r0, #160 ; 0xa0 80765ee: f7de f8d5 bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80765f2: 494d ldr r1, [pc, #308] ; (8076728 ) 80765f4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80765f8: f7de f80a bl 8054610 BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 80765fc: 2301 movs r3, #1 80765fe: 4a4c ldr r2, [pc, #304] ; (8076730 ) 8076600: 21aa movs r1, #170 ; 0xaa 8076602: 20a0 movs r0, #160 ; 0xa0 8076604: f7de f8ca bl 805479c break; 8076608: f021 bfeb b.w 80985e2 BSP_LCD_SetFont(&Font12); 807660c: 4845 ldr r0, [pc, #276] ; (8076724 ) 807660e: f7de f83b bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076612: 4945 ldr r1, [pc, #276] ; (8076728 ) 8076614: f04f 30ff mov.w r0, #4294967295 8076618: f7dd fffa bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "A format error...", CENTER_MODE); 807661c: 2301 movs r3, #1 807661e: 4a4e ldr r2, [pc, #312] ; (8076758 ) 8076620: 218a movs r1, #138 ; 0x8a 8076622: 20a0 movs r0, #160 ; 0xa0 8076624: f7de f8ba bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076628: 493f ldr r1, [pc, #252] ; (8076728 ) 807662a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807662e: f7dd ffef bl 8054610 BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 8076632: 2301 movs r3, #1 8076634: 4a3e ldr r2, [pc, #248] ; (8076730 ) 8076636: 21aa movs r1, #170 ; 0xaa 8076638: 20a0 movs r0, #160 ; 0xa0 807663a: f7de f8af bl 805479c break; 807663e: f021 bfd0 b.w 80985e2 case ARCHIVE: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8076642: 4939 ldr r1, [pc, #228] ; (8076728 ) 8076644: 4845 ldr r0, [pc, #276] ; (807675c ) 8076646: f7dd ffe3 bl 8054610 BSP_LCD_DrawHLine(7, 52, 308); 807664a: f44f 729a mov.w r2, #308 ; 0x134 807664e: 2134 movs r1, #52 ; 0x34 8076650: 2007 movs r0, #7 8076652: f7de f957 bl 8054904 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8076656: 4934 ldr r1, [pc, #208] ; (8076728 ) 8076658: 4841 ldr r0, [pc, #260] ; (8076760 ) 807665a: f7dd ffd9 bl 8054610 if(pardata.LANG == RUS) 807665e: 4b41 ldr r3, [pc, #260] ; (8076764 ) 8076660: 7b1b ldrb r3, [r3, #12] 8076662: b2db uxtb r3, r3 8076664: 2b00 cmp r3, #0 8076666: d105 bne.n 8076674 LCD_DisplayString(7, LCD_LINE_2, "..|Âîñïðîèçâåäåíèå ñèãíàëîâ"); 8076668: 4a3f ldr r2, [pc, #252] ; (8076768 ) 807666a: 2127 movs r1, #39 ; 0x27 807666c: 2007 movs r0, #7 807666e: f7de fd77 bl 8055160 8076672: e004 b.n 807667e else LCD_DisplayString(7, LCD_LINE_2, "..|Playing signals"); 8076674: 4a3d ldr r2, [pc, #244] ; (807676c ) 8076676: 2127 movs r1, #39 ; 0x27 8076678: 2007 movs r0, #7 807667a: f7de fd71 bl 8055160 if(menupos == ArchiveFran) 807667e: 4b3c ldr r3, [pc, #240] ; (8076770 ) 8076680: 781b ldrb r3, [r3, #0] 8076682: b2db uxtb r3, r3 8076684: 2b01 cmp r3, #1 8076686: d123 bne.n 80766d0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8076688: 493a ldr r1, [pc, #232] ; (8076774 ) 807668a: f04f 30ff mov.w r0, #4294967295 807668e: f7dd ffbf bl 8054610 LCD_DisplayString(12, LCD_LINE_5, (char *) TEXT_ARCHIVE[pardata.LANG][0]); 8076692: 4b34 ldr r3, [pc, #208] ; (8076764 ) 8076694: 7b1b ldrb r3, [r3, #12] 8076696: b2db uxtb r3, r3 8076698: 461a mov r2, r3 807669a: 4b37 ldr r3, [pc, #220] ; (8076778 ) 807669c: f853 3032 ldr.w r3, [r3, r2, lsl #3] 80766a0: 461a mov r2, r3 80766a2: 215a movs r1, #90 ; 0x5a 80766a4: 200c movs r0, #12 80766a6: f7de fd5b bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80766aa: 491f ldr r1, [pc, #124] ; (8076728 ) 80766ac: f04f 30ff mov.w r0, #4294967295 80766b0: f7dd ffae bl 8054610 LCD_DisplayString(12, LCD_LINE_6, (char *) TEXT_ARCHIVE[pardata.LANG][1]); 80766b4: 4b2b ldr r3, [pc, #172] ; (8076764 ) 80766b6: 7b1b ldrb r3, [r3, #12] 80766b8: b2db uxtb r3, r3 80766ba: 4a2f ldr r2, [pc, #188] ; (8076778 ) 80766bc: 00db lsls r3, r3, #3 80766be: 4413 add r3, r2 80766c0: 685b ldr r3, [r3, #4] 80766c2: 461a mov r2, r3 80766c4: 216a movs r1, #106 ; 0x6a 80766c6: 200c movs r0, #12 80766c8: f7de fd4a bl 8055160 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; 80766cc: f021 bf8b b.w 80985e6 if(menupos == ArchiveWave) 80766d0: 4b27 ldr r3, [pc, #156] ; (8076770 ) 80766d2: 781b ldrb r3, [r3, #0] 80766d4: b2db uxtb r3, r3 80766d6: 2b02 cmp r3, #2 80766d8: f061 8785 bne.w 80985e6 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80766dc: 4925 ldr r1, [pc, #148] ; (8076774 ) 80766de: f04f 30ff mov.w r0, #4294967295 80766e2: f7dd ff95 bl 8054610 LCD_DisplayString(12, LCD_LINE_6, (char *) TEXT_ARCHIVE[pardata.LANG][1]); 80766e6: 4b1f ldr r3, [pc, #124] ; (8076764 ) 80766e8: 7b1b ldrb r3, [r3, #12] 80766ea: b2db uxtb r3, r3 80766ec: 4a22 ldr r2, [pc, #136] ; (8076778 ) 80766ee: 00db lsls r3, r3, #3 80766f0: 4413 add r3, r2 80766f2: 685b ldr r3, [r3, #4] 80766f4: 461a mov r2, r3 80766f6: 216a movs r1, #106 ; 0x6a 80766f8: 200c movs r0, #12 80766fa: f7de fd31 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80766fe: 490a ldr r1, [pc, #40] ; (8076728 ) 8076700: f04f 30ff mov.w r0, #4294967295 8076704: f7dd ff84 bl 8054610 LCD_DisplayString(12, LCD_LINE_5, (char *) TEXT_ARCHIVE[pardata.LANG][0]); 8076708: 4b16 ldr r3, [pc, #88] ; (8076764 ) 807670a: 7b1b ldrb r3, [r3, #12] 807670c: b2db uxtb r3, r3 807670e: 461a mov r2, r3 8076710: 4b19 ldr r3, [pc, #100] ; (8076778 ) 8076712: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8076716: 461a mov r2, r3 8076718: 215a movs r1, #90 ; 0x5a 807671a: 200c movs r0, #12 807671c: f7de fd20 bl 8055160 break; 8076720: f021 bf61 b.w 80985e6 8076724: 20020038 .word 0x20020038 8076728: ff0a0f1f .word 0xff0a0f1f 807672c: 080d4218 .word 0x080d4218 8076730: 080d4214 .word 0x080d4214 8076734: 080d40b4 .word 0x080d40b4 8076738: 080d40e8 .word 0x080d40e8 807673c: 080d40f0 .word 0x080d40f0 8076740: 080d40f8 .word 0x080d40f8 8076744: 20020dfd .word 0x20020dfd 8076748: 080d4234 .word 0x080d4234 807674c: 080d4244 .word 0x080d4244 8076750: 20020df1 .word 0x20020df1 8076754: 080d4254 .word 0x080d4254 8076758: 080d426c .word 0x080d426c 807675c: ffd3d3d3 .word 0xffd3d3d3 8076760: ff808080 .word 0xff808080 8076764: 20023ea8 .word 0x20023ea8 8076768: 080d4280 .word 0x080d4280 807676c: 080d429c .word 0x080d429c 8076770: 20020070 .word 0x20020070 8076774: ff606060 .word 0xff606060 8076778: 2002095c .word 0x2002095c case MEAS_MODE: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807677c: 498c ldr r1, [pc, #560] ; (80769b0 ) 807677e: 488d ldr r0, [pc, #564] ; (80769b4 ) 8076780: f7dd ff46 bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 8076784: 23c9 movs r3, #201 ; 0xc9 8076786: f44f 729d mov.w r2, #314 ; 0x13a 807678a: 2123 movs r1, #35 ; 0x23 807678c: 2002 movs r0, #2 807678e: f7de fa45 bl 8054c1c #ifdef USE_ROLL if(menupos == Vibrometer) 8076792: 4b89 ldr r3, [pc, #548] ; (80769b8 ) 8076794: 781b ldrb r3, [r3, #0] 8076796: b2db uxtb r3, r3 8076798: 2b01 cmp r3, #1 807679a: f040 8081 bne.w 80768a0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807679e: 4984 ldr r1, [pc, #528] ; (80769b0 ) 80767a0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80767a4: f7dd ff34 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 80767a8: 4b84 ldr r3, [pc, #528] ; (80769bc ) 80767aa: 7b1b ldrb r3, [r3, #12] 80767ac: b2db uxtb r3, r3 80767ae: 4619 mov r1, r3 80767b0: 4a83 ldr r2, [pc, #524] ; (80769c0 ) 80767b2: 460b mov r3, r1 80767b4: 009b lsls r3, r3, #2 80767b6: 440b add r3, r1 80767b8: 00db lsls r3, r3, #3 80767ba: 4413 add r3, r2 80767bc: 681b ldr r3, [r3, #0] 80767be: 461a mov r2, r3 80767c0: 214a movs r1, #74 ; 0x4a 80767c2: 200a movs r0, #10 80767c4: f7de fccc bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80767c8: 4979 ldr r1, [pc, #484] ; (80769b0 ) 80767ca: f04f 30ff mov.w r0, #4294967295 80767ce: f7dd ff1f bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 80767d2: 4b7a ldr r3, [pc, #488] ; (80769bc ) 80767d4: 7b1b ldrb r3, [r3, #12] 80767d6: b2db uxtb r3, r3 80767d8: 4619 mov r1, r3 80767da: 4a79 ldr r2, [pc, #484] ; (80769c0 ) 80767dc: 460b mov r3, r1 80767de: 009b lsls r3, r3, #2 80767e0: 440b add r3, r1 80767e2: 00db lsls r3, r3, #3 80767e4: 4413 add r3, r2 80767e6: 3304 adds r3, #4 80767e8: 681b ldr r3, [r3, #0] 80767ea: 461a mov r2, r3 80767ec: 215a movs r1, #90 ; 0x5a 80767ee: 200a movs r0, #10 80767f0: f7de fcb6 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 80767f4: 4b71 ldr r3, [pc, #452] ; (80769bc ) 80767f6: 7b1b ldrb r3, [r3, #12] 80767f8: b2db uxtb r3, r3 80767fa: 4619 mov r1, r3 80767fc: 4a70 ldr r2, [pc, #448] ; (80769c0 ) 80767fe: 460b mov r3, r1 8076800: 009b lsls r3, r3, #2 8076802: 440b add r3, r1 8076804: 00db lsls r3, r3, #3 8076806: 4413 add r3, r2 8076808: 3308 adds r3, #8 807680a: 681b ldr r3, [r3, #0] 807680c: 461a mov r2, r3 807680e: 216a movs r1, #106 ; 0x6a 8076810: 200a movs r0, #10 8076812: f7de fca5 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8076816: 4b69 ldr r3, [pc, #420] ; (80769bc ) 8076818: 7b1b ldrb r3, [r3, #12] 807681a: b2db uxtb r3, r3 807681c: 4619 mov r1, r3 807681e: 4a68 ldr r2, [pc, #416] ; (80769c0 ) 8076820: 460b mov r3, r1 8076822: 009b lsls r3, r3, #2 8076824: 440b add r3, r1 8076826: 00db lsls r3, r3, #3 8076828: 4413 add r3, r2 807682a: 330c adds r3, #12 807682c: 681b ldr r3, [r3, #0] 807682e: 461a mov r2, r3 8076830: 217a movs r1, #122 ; 0x7a 8076832: 200a movs r0, #10 8076834: f7de fc94 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8076838: 4b60 ldr r3, [pc, #384] ; (80769bc ) 807683a: 7b1b ldrb r3, [r3, #12] 807683c: b2db uxtb r3, r3 807683e: 4619 mov r1, r3 8076840: 4a5f ldr r2, [pc, #380] ; (80769c0 ) 8076842: 460b mov r3, r1 8076844: 009b lsls r3, r3, #2 8076846: 440b add r3, r1 8076848: 00db lsls r3, r3, #3 807684a: 4413 add r3, r2 807684c: 3310 adds r3, #16 807684e: 681b ldr r3, [r3, #0] 8076850: 461a mov r2, r3 8076852: 218a movs r1, #138 ; 0x8a 8076854: 200a movs r0, #10 8076856: f7de fc83 bl 8055160 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 807685a: 4b58 ldr r3, [pc, #352] ; (80769bc ) 807685c: 7b1b ldrb r3, [r3, #12] 807685e: b2db uxtb r3, r3 8076860: 4619 mov r1, r3 8076862: 4a57 ldr r2, [pc, #348] ; (80769c0 ) 8076864: 460b mov r3, r1 8076866: 009b lsls r3, r3, #2 8076868: 440b add r3, r1 807686a: 00db lsls r3, r3, #3 807686c: 4413 add r3, r2 807686e: 3320 adds r3, #32 8076870: 681b ldr r3, [r3, #0] 8076872: 461a mov r2, r3 8076874: 219a movs r1, #154 ; 0x9a 8076876: 200a movs r0, #10 8076878: f7de fc72 bl 8055160 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 807687c: 4b4f ldr r3, [pc, #316] ; (80769bc ) 807687e: 7b1b ldrb r3, [r3, #12] 8076880: b2db uxtb r3, r3 8076882: 4619 mov r1, r3 8076884: 4a4e ldr r2, [pc, #312] ; (80769c0 ) 8076886: 460b mov r3, r1 8076888: 009b lsls r3, r3, #2 807688a: 440b add r3, r1 807688c: 00db lsls r3, r3, #3 807688e: 4413 add r3, r2 8076890: 3324 adds r3, #36 ; 0x24 8076892: 681b ldr r3, [r3, #0] 8076894: 461a mov r2, r3 8076896: 21aa movs r1, #170 ; 0xaa 8076898: 200a movs r0, #10 807689a: f7de fc61 bl 8055160 807689e: e33b b.n 8076f18 } else if(menupos == Osc) 80768a0: 4b45 ldr r3, [pc, #276] ; (80769b8 ) 80768a2: 781b ldrb r3, [r3, #0] 80768a4: b2db uxtb r3, r3 80768a6: 2b02 cmp r3, #2 80768a8: f040 808c bne.w 80769c4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80768ac: 4940 ldr r1, [pc, #256] ; (80769b0 ) 80768ae: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80768b2: f7dd fead bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 80768b6: 4b41 ldr r3, [pc, #260] ; (80769bc ) 80768b8: 7b1b ldrb r3, [r3, #12] 80768ba: b2db uxtb r3, r3 80768bc: 4619 mov r1, r3 80768be: 4a40 ldr r2, [pc, #256] ; (80769c0 ) 80768c0: 460b mov r3, r1 80768c2: 009b lsls r3, r3, #2 80768c4: 440b add r3, r1 80768c6: 00db lsls r3, r3, #3 80768c8: 4413 add r3, r2 80768ca: 3304 adds r3, #4 80768cc: 681b ldr r3, [r3, #0] 80768ce: 461a mov r2, r3 80768d0: 215a movs r1, #90 ; 0x5a 80768d2: 200a movs r0, #10 80768d4: f7de fc44 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80768d8: 4935 ldr r1, [pc, #212] ; (80769b0 ) 80768da: f04f 30ff mov.w r0, #4294967295 80768de: f7dd fe97 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 80768e2: 4b36 ldr r3, [pc, #216] ; (80769bc ) 80768e4: 7b1b ldrb r3, [r3, #12] 80768e6: b2db uxtb r3, r3 80768e8: 4619 mov r1, r3 80768ea: 4a35 ldr r2, [pc, #212] ; (80769c0 ) 80768ec: 460b mov r3, r1 80768ee: 009b lsls r3, r3, #2 80768f0: 440b add r3, r1 80768f2: 00db lsls r3, r3, #3 80768f4: 4413 add r3, r2 80768f6: 681b ldr r3, [r3, #0] 80768f8: 461a mov r2, r3 80768fa: 214a movs r1, #74 ; 0x4a 80768fc: 200a movs r0, #10 80768fe: f7de fc2f bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8076902: 4b2e ldr r3, [pc, #184] ; (80769bc ) 8076904: 7b1b ldrb r3, [r3, #12] 8076906: b2db uxtb r3, r3 8076908: 4619 mov r1, r3 807690a: 4a2d ldr r2, [pc, #180] ; (80769c0 ) 807690c: 460b mov r3, r1 807690e: 009b lsls r3, r3, #2 8076910: 440b add r3, r1 8076912: 00db lsls r3, r3, #3 8076914: 4413 add r3, r2 8076916: 3308 adds r3, #8 8076918: 681b ldr r3, [r3, #0] 807691a: 461a mov r2, r3 807691c: 216a movs r1, #106 ; 0x6a 807691e: 200a movs r0, #10 8076920: f7de fc1e bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8076924: 4b25 ldr r3, [pc, #148] ; (80769bc ) 8076926: 7b1b ldrb r3, [r3, #12] 8076928: b2db uxtb r3, r3 807692a: 4619 mov r1, r3 807692c: 4a24 ldr r2, [pc, #144] ; (80769c0 ) 807692e: 460b mov r3, r1 8076930: 009b lsls r3, r3, #2 8076932: 440b add r3, r1 8076934: 00db lsls r3, r3, #3 8076936: 4413 add r3, r2 8076938: 330c adds r3, #12 807693a: 681b ldr r3, [r3, #0] 807693c: 461a mov r2, r3 807693e: 217a movs r1, #122 ; 0x7a 8076940: 200a movs r0, #10 8076942: f7de fc0d bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8076946: 4b1d ldr r3, [pc, #116] ; (80769bc ) 8076948: 7b1b ldrb r3, [r3, #12] 807694a: b2db uxtb r3, r3 807694c: 4619 mov r1, r3 807694e: 4a1c ldr r2, [pc, #112] ; (80769c0 ) 8076950: 460b mov r3, r1 8076952: 009b lsls r3, r3, #2 8076954: 440b add r3, r1 8076956: 00db lsls r3, r3, #3 8076958: 4413 add r3, r2 807695a: 3310 adds r3, #16 807695c: 681b ldr r3, [r3, #0] 807695e: 461a mov r2, r3 8076960: 218a movs r1, #138 ; 0x8a 8076962: 200a movs r0, #10 8076964: f7de fbfc bl 8055160 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8076968: 4b14 ldr r3, [pc, #80] ; (80769bc ) 807696a: 7b1b ldrb r3, [r3, #12] 807696c: b2db uxtb r3, r3 807696e: 4619 mov r1, r3 8076970: 4a13 ldr r2, [pc, #76] ; (80769c0 ) 8076972: 460b mov r3, r1 8076974: 009b lsls r3, r3, #2 8076976: 440b add r3, r1 8076978: 00db lsls r3, r3, #3 807697a: 4413 add r3, r2 807697c: 3320 adds r3, #32 807697e: 681b ldr r3, [r3, #0] 8076980: 461a mov r2, r3 8076982: 219a movs r1, #154 ; 0x9a 8076984: 200a movs r0, #10 8076986: f7de fbeb bl 8055160 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 807698a: 4b0c ldr r3, [pc, #48] ; (80769bc ) 807698c: 7b1b ldrb r3, [r3, #12] 807698e: b2db uxtb r3, r3 8076990: 4619 mov r1, r3 8076992: 4a0b ldr r2, [pc, #44] ; (80769c0 ) 8076994: 460b mov r3, r1 8076996: 009b lsls r3, r3, #2 8076998: 440b add r3, r1 807699a: 00db lsls r3, r3, #3 807699c: 4413 add r3, r2 807699e: 3324 adds r3, #36 ; 0x24 80769a0: 681b ldr r3, [r3, #0] 80769a2: 461a mov r2, r3 80769a4: 21aa movs r1, #170 ; 0xaa 80769a6: 200a movs r0, #10 80769a8: f7de fbda bl 8055160 80769ac: e2b4 b.n 8076f18 80769ae: bf00 nop 80769b0: ff0a0f1f .word 0xff0a0f1f 80769b4: ffd3d3d3 .word 0xffd3d3d3 80769b8: 20020070 .word 0x20020070 80769bc: 20023ea8 .word 0x20023ea8 80769c0: 200208e4 .word 0x200208e4 } else if(menupos == FFT) 80769c4: 4bca ldr r3, [pc, #808] ; (8076cf0 ) 80769c6: 781b ldrb r3, [r3, #0] 80769c8: b2db uxtb r3, r3 80769ca: 2b03 cmp r3, #3 80769cc: f040 8081 bne.w 8076ad2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80769d0: 49c8 ldr r1, [pc, #800] ; (8076cf4 ) 80769d2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80769d6: f7dd fe1b bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 80769da: 4bc7 ldr r3, [pc, #796] ; (8076cf8 ) 80769dc: 7b1b ldrb r3, [r3, #12] 80769de: b2db uxtb r3, r3 80769e0: 4619 mov r1, r3 80769e2: 4ac6 ldr r2, [pc, #792] ; (8076cfc ) 80769e4: 460b mov r3, r1 80769e6: 009b lsls r3, r3, #2 80769e8: 440b add r3, r1 80769ea: 00db lsls r3, r3, #3 80769ec: 4413 add r3, r2 80769ee: 3308 adds r3, #8 80769f0: 681b ldr r3, [r3, #0] 80769f2: 461a mov r2, r3 80769f4: 216a movs r1, #106 ; 0x6a 80769f6: 200a movs r0, #10 80769f8: f7de fbb2 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80769fc: 49bd ldr r1, [pc, #756] ; (8076cf4 ) 80769fe: f04f 30ff mov.w r0, #4294967295 8076a02: f7dd fe05 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8076a06: 4bbc ldr r3, [pc, #752] ; (8076cf8 ) 8076a08: 7b1b ldrb r3, [r3, #12] 8076a0a: b2db uxtb r3, r3 8076a0c: 4619 mov r1, r3 8076a0e: 4abb ldr r2, [pc, #748] ; (8076cfc ) 8076a10: 460b mov r3, r1 8076a12: 009b lsls r3, r3, #2 8076a14: 440b add r3, r1 8076a16: 00db lsls r3, r3, #3 8076a18: 4413 add r3, r2 8076a1a: 681b ldr r3, [r3, #0] 8076a1c: 461a mov r2, r3 8076a1e: 214a movs r1, #74 ; 0x4a 8076a20: 200a movs r0, #10 8076a22: f7de fb9d bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8076a26: 4bb4 ldr r3, [pc, #720] ; (8076cf8 ) 8076a28: 7b1b ldrb r3, [r3, #12] 8076a2a: b2db uxtb r3, r3 8076a2c: 4619 mov r1, r3 8076a2e: 4ab3 ldr r2, [pc, #716] ; (8076cfc ) 8076a30: 460b mov r3, r1 8076a32: 009b lsls r3, r3, #2 8076a34: 440b add r3, r1 8076a36: 00db lsls r3, r3, #3 8076a38: 4413 add r3, r2 8076a3a: 3304 adds r3, #4 8076a3c: 681b ldr r3, [r3, #0] 8076a3e: 461a mov r2, r3 8076a40: 215a movs r1, #90 ; 0x5a 8076a42: 200a movs r0, #10 8076a44: f7de fb8c bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8076a48: 4bab ldr r3, [pc, #684] ; (8076cf8 ) 8076a4a: 7b1b ldrb r3, [r3, #12] 8076a4c: b2db uxtb r3, r3 8076a4e: 4619 mov r1, r3 8076a50: 4aaa ldr r2, [pc, #680] ; (8076cfc ) 8076a52: 460b mov r3, r1 8076a54: 009b lsls r3, r3, #2 8076a56: 440b add r3, r1 8076a58: 00db lsls r3, r3, #3 8076a5a: 4413 add r3, r2 8076a5c: 330c adds r3, #12 8076a5e: 681b ldr r3, [r3, #0] 8076a60: 461a mov r2, r3 8076a62: 217a movs r1, #122 ; 0x7a 8076a64: 200a movs r0, #10 8076a66: f7de fb7b bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8076a6a: 4ba3 ldr r3, [pc, #652] ; (8076cf8 ) 8076a6c: 7b1b ldrb r3, [r3, #12] 8076a6e: b2db uxtb r3, r3 8076a70: 4619 mov r1, r3 8076a72: 4aa2 ldr r2, [pc, #648] ; (8076cfc ) 8076a74: 460b mov r3, r1 8076a76: 009b lsls r3, r3, #2 8076a78: 440b add r3, r1 8076a7a: 00db lsls r3, r3, #3 8076a7c: 4413 add r3, r2 8076a7e: 3310 adds r3, #16 8076a80: 681b ldr r3, [r3, #0] 8076a82: 461a mov r2, r3 8076a84: 218a movs r1, #138 ; 0x8a 8076a86: 200a movs r0, #10 8076a88: f7de fb6a bl 8055160 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8076a8c: 4b9a ldr r3, [pc, #616] ; (8076cf8 ) 8076a8e: 7b1b ldrb r3, [r3, #12] 8076a90: b2db uxtb r3, r3 8076a92: 4619 mov r1, r3 8076a94: 4a99 ldr r2, [pc, #612] ; (8076cfc ) 8076a96: 460b mov r3, r1 8076a98: 009b lsls r3, r3, #2 8076a9a: 440b add r3, r1 8076a9c: 00db lsls r3, r3, #3 8076a9e: 4413 add r3, r2 8076aa0: 3320 adds r3, #32 8076aa2: 681b ldr r3, [r3, #0] 8076aa4: 461a mov r2, r3 8076aa6: 219a movs r1, #154 ; 0x9a 8076aa8: 200a movs r0, #10 8076aaa: f7de fb59 bl 8055160 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8076aae: 4b92 ldr r3, [pc, #584] ; (8076cf8 ) 8076ab0: 7b1b ldrb r3, [r3, #12] 8076ab2: b2db uxtb r3, r3 8076ab4: 4619 mov r1, r3 8076ab6: 4a91 ldr r2, [pc, #580] ; (8076cfc ) 8076ab8: 460b mov r3, r1 8076aba: 009b lsls r3, r3, #2 8076abc: 440b add r3, r1 8076abe: 00db lsls r3, r3, #3 8076ac0: 4413 add r3, r2 8076ac2: 3324 adds r3, #36 ; 0x24 8076ac4: 681b ldr r3, [r3, #0] 8076ac6: 461a mov r2, r3 8076ac8: 21aa movs r1, #170 ; 0xaa 8076aca: 200a movs r0, #10 8076acc: f7de fb48 bl 8055160 8076ad0: e222 b.n 8076f18 } else if(menupos == Wave) 8076ad2: 4b87 ldr r3, [pc, #540] ; (8076cf0 ) 8076ad4: 781b ldrb r3, [r3, #0] 8076ad6: b2db uxtb r3, r3 8076ad8: 2b04 cmp r3, #4 8076ada: f040 8081 bne.w 8076be0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076ade: 4985 ldr r1, [pc, #532] ; (8076cf4 ) 8076ae0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076ae4: f7dd fd94 bl 8054610 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8076ae8: 4b83 ldr r3, [pc, #524] ; (8076cf8 ) 8076aea: 7b1b ldrb r3, [r3, #12] 8076aec: b2db uxtb r3, r3 8076aee: 4619 mov r1, r3 8076af0: 4a82 ldr r2, [pc, #520] ; (8076cfc ) 8076af2: 460b mov r3, r1 8076af4: 009b lsls r3, r3, #2 8076af6: 440b add r3, r1 8076af8: 00db lsls r3, r3, #3 8076afa: 4413 add r3, r2 8076afc: 330c adds r3, #12 8076afe: 681b ldr r3, [r3, #0] 8076b00: 461a mov r2, r3 8076b02: 217a movs r1, #122 ; 0x7a 8076b04: 200a movs r0, #10 8076b06: f7de fb2b bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076b0a: 497a ldr r1, [pc, #488] ; (8076cf4 ) 8076b0c: f04f 30ff mov.w r0, #4294967295 8076b10: f7dd fd7e bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8076b14: 4b78 ldr r3, [pc, #480] ; (8076cf8 ) 8076b16: 7b1b ldrb r3, [r3, #12] 8076b18: b2db uxtb r3, r3 8076b1a: 4619 mov r1, r3 8076b1c: 4a77 ldr r2, [pc, #476] ; (8076cfc ) 8076b1e: 460b mov r3, r1 8076b20: 009b lsls r3, r3, #2 8076b22: 440b add r3, r1 8076b24: 00db lsls r3, r3, #3 8076b26: 4413 add r3, r2 8076b28: 681b ldr r3, [r3, #0] 8076b2a: 461a mov r2, r3 8076b2c: 214a movs r1, #74 ; 0x4a 8076b2e: 200a movs r0, #10 8076b30: f7de fb16 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8076b34: 4b70 ldr r3, [pc, #448] ; (8076cf8 ) 8076b36: 7b1b ldrb r3, [r3, #12] 8076b38: b2db uxtb r3, r3 8076b3a: 4619 mov r1, r3 8076b3c: 4a6f ldr r2, [pc, #444] ; (8076cfc ) 8076b3e: 460b mov r3, r1 8076b40: 009b lsls r3, r3, #2 8076b42: 440b add r3, r1 8076b44: 00db lsls r3, r3, #3 8076b46: 4413 add r3, r2 8076b48: 3304 adds r3, #4 8076b4a: 681b ldr r3, [r3, #0] 8076b4c: 461a mov r2, r3 8076b4e: 215a movs r1, #90 ; 0x5a 8076b50: 200a movs r0, #10 8076b52: f7de fb05 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8076b56: 4b68 ldr r3, [pc, #416] ; (8076cf8 ) 8076b58: 7b1b ldrb r3, [r3, #12] 8076b5a: b2db uxtb r3, r3 8076b5c: 4619 mov r1, r3 8076b5e: 4a67 ldr r2, [pc, #412] ; (8076cfc ) 8076b60: 460b mov r3, r1 8076b62: 009b lsls r3, r3, #2 8076b64: 440b add r3, r1 8076b66: 00db lsls r3, r3, #3 8076b68: 4413 add r3, r2 8076b6a: 3308 adds r3, #8 8076b6c: 681b ldr r3, [r3, #0] 8076b6e: 461a mov r2, r3 8076b70: 216a movs r1, #106 ; 0x6a 8076b72: 200a movs r0, #10 8076b74: f7de faf4 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8076b78: 4b5f ldr r3, [pc, #380] ; (8076cf8 ) 8076b7a: 7b1b ldrb r3, [r3, #12] 8076b7c: b2db uxtb r3, r3 8076b7e: 4619 mov r1, r3 8076b80: 4a5e ldr r2, [pc, #376] ; (8076cfc ) 8076b82: 460b mov r3, r1 8076b84: 009b lsls r3, r3, #2 8076b86: 440b add r3, r1 8076b88: 00db lsls r3, r3, #3 8076b8a: 4413 add r3, r2 8076b8c: 3310 adds r3, #16 8076b8e: 681b ldr r3, [r3, #0] 8076b90: 461a mov r2, r3 8076b92: 218a movs r1, #138 ; 0x8a 8076b94: 200a movs r0, #10 8076b96: f7de fae3 bl 8055160 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8076b9a: 4b57 ldr r3, [pc, #348] ; (8076cf8 ) 8076b9c: 7b1b ldrb r3, [r3, #12] 8076b9e: b2db uxtb r3, r3 8076ba0: 4619 mov r1, r3 8076ba2: 4a56 ldr r2, [pc, #344] ; (8076cfc ) 8076ba4: 460b mov r3, r1 8076ba6: 009b lsls r3, r3, #2 8076ba8: 440b add r3, r1 8076baa: 00db lsls r3, r3, #3 8076bac: 4413 add r3, r2 8076bae: 3320 adds r3, #32 8076bb0: 681b ldr r3, [r3, #0] 8076bb2: 461a mov r2, r3 8076bb4: 219a movs r1, #154 ; 0x9a 8076bb6: 200a movs r0, #10 8076bb8: f7de fad2 bl 8055160 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8076bbc: 4b4e ldr r3, [pc, #312] ; (8076cf8 ) 8076bbe: 7b1b ldrb r3, [r3, #12] 8076bc0: b2db uxtb r3, r3 8076bc2: 4619 mov r1, r3 8076bc4: 4a4d ldr r2, [pc, #308] ; (8076cfc ) 8076bc6: 460b mov r3, r1 8076bc8: 009b lsls r3, r3, #2 8076bca: 440b add r3, r1 8076bcc: 00db lsls r3, r3, #3 8076bce: 4413 add r3, r2 8076bd0: 3324 adds r3, #36 ; 0x24 8076bd2: 681b ldr r3, [r3, #0] 8076bd4: 461a mov r2, r3 8076bd6: 21aa movs r1, #170 ; 0xaa 8076bd8: 200a movs r0, #10 8076bda: f7de fac1 bl 8055160 8076bde: e19b b.n 8076f18 } else if(menupos == Diagn) 8076be0: 4b43 ldr r3, [pc, #268] ; (8076cf0 ) 8076be2: 781b ldrb r3, [r3, #0] 8076be4: b2db uxtb r3, r3 8076be6: 2b05 cmp r3, #5 8076be8: f040 808a bne.w 8076d00 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076bec: 4941 ldr r1, [pc, #260] ; (8076cf4 ) 8076bee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076bf2: f7dd fd0d bl 8054610 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8076bf6: 4b40 ldr r3, [pc, #256] ; (8076cf8 ) 8076bf8: 7b1b ldrb r3, [r3, #12] 8076bfa: b2db uxtb r3, r3 8076bfc: 4619 mov r1, r3 8076bfe: 4a3f ldr r2, [pc, #252] ; (8076cfc ) 8076c00: 460b mov r3, r1 8076c02: 009b lsls r3, r3, #2 8076c04: 440b add r3, r1 8076c06: 00db lsls r3, r3, #3 8076c08: 4413 add r3, r2 8076c0a: 3310 adds r3, #16 8076c0c: 681b ldr r3, [r3, #0] 8076c0e: 461a mov r2, r3 8076c10: 218a movs r1, #138 ; 0x8a 8076c12: 200a movs r0, #10 8076c14: f7de faa4 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076c18: 4936 ldr r1, [pc, #216] ; (8076cf4 ) 8076c1a: f04f 30ff mov.w r0, #4294967295 8076c1e: f7dd fcf7 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8076c22: 4b35 ldr r3, [pc, #212] ; (8076cf8 ) 8076c24: 7b1b ldrb r3, [r3, #12] 8076c26: b2db uxtb r3, r3 8076c28: 4619 mov r1, r3 8076c2a: 4a34 ldr r2, [pc, #208] ; (8076cfc ) 8076c2c: 460b mov r3, r1 8076c2e: 009b lsls r3, r3, #2 8076c30: 440b add r3, r1 8076c32: 00db lsls r3, r3, #3 8076c34: 4413 add r3, r2 8076c36: 681b ldr r3, [r3, #0] 8076c38: 461a mov r2, r3 8076c3a: 214a movs r1, #74 ; 0x4a 8076c3c: 200a movs r0, #10 8076c3e: f7de fa8f bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8076c42: 4b2d ldr r3, [pc, #180] ; (8076cf8 ) 8076c44: 7b1b ldrb r3, [r3, #12] 8076c46: b2db uxtb r3, r3 8076c48: 4619 mov r1, r3 8076c4a: 4a2c ldr r2, [pc, #176] ; (8076cfc ) 8076c4c: 460b mov r3, r1 8076c4e: 009b lsls r3, r3, #2 8076c50: 440b add r3, r1 8076c52: 00db lsls r3, r3, #3 8076c54: 4413 add r3, r2 8076c56: 3304 adds r3, #4 8076c58: 681b ldr r3, [r3, #0] 8076c5a: 461a mov r2, r3 8076c5c: 215a movs r1, #90 ; 0x5a 8076c5e: 200a movs r0, #10 8076c60: f7de fa7e bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8076c64: 4b24 ldr r3, [pc, #144] ; (8076cf8 ) 8076c66: 7b1b ldrb r3, [r3, #12] 8076c68: b2db uxtb r3, r3 8076c6a: 4619 mov r1, r3 8076c6c: 4a23 ldr r2, [pc, #140] ; (8076cfc ) 8076c6e: 460b mov r3, r1 8076c70: 009b lsls r3, r3, #2 8076c72: 440b add r3, r1 8076c74: 00db lsls r3, r3, #3 8076c76: 4413 add r3, r2 8076c78: 3308 adds r3, #8 8076c7a: 681b ldr r3, [r3, #0] 8076c7c: 461a mov r2, r3 8076c7e: 216a movs r1, #106 ; 0x6a 8076c80: 200a movs r0, #10 8076c82: f7de fa6d bl 8055160 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8076c86: 4b1c ldr r3, [pc, #112] ; (8076cf8 ) 8076c88: 7b1b ldrb r3, [r3, #12] 8076c8a: b2db uxtb r3, r3 8076c8c: 4619 mov r1, r3 8076c8e: 4a1b ldr r2, [pc, #108] ; (8076cfc ) 8076c90: 460b mov r3, r1 8076c92: 009b lsls r3, r3, #2 8076c94: 440b add r3, r1 8076c96: 00db lsls r3, r3, #3 8076c98: 4413 add r3, r2 8076c9a: 3324 adds r3, #36 ; 0x24 8076c9c: 681b ldr r3, [r3, #0] 8076c9e: 461a mov r2, r3 8076ca0: 21aa movs r1, #170 ; 0xaa 8076ca2: 200a movs r0, #10 8076ca4: f7de fa5c bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8076ca8: 4b13 ldr r3, [pc, #76] ; (8076cf8 ) 8076caa: 7b1b ldrb r3, [r3, #12] 8076cac: b2db uxtb r3, r3 8076cae: 4619 mov r1, r3 8076cb0: 4a12 ldr r2, [pc, #72] ; (8076cfc ) 8076cb2: 460b mov r3, r1 8076cb4: 009b lsls r3, r3, #2 8076cb6: 440b add r3, r1 8076cb8: 00db lsls r3, r3, #3 8076cba: 4413 add r3, r2 8076cbc: 330c adds r3, #12 8076cbe: 681b ldr r3, [r3, #0] 8076cc0: 461a mov r2, r3 8076cc2: 217a movs r1, #122 ; 0x7a 8076cc4: 200a movs r0, #10 8076cc6: f7de fa4b bl 8055160 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8076cca: 4b0b ldr r3, [pc, #44] ; (8076cf8 ) 8076ccc: 7b1b ldrb r3, [r3, #12] 8076cce: b2db uxtb r3, r3 8076cd0: 4619 mov r1, r3 8076cd2: 4a0a ldr r2, [pc, #40] ; (8076cfc ) 8076cd4: 460b mov r3, r1 8076cd6: 009b lsls r3, r3, #2 8076cd8: 440b add r3, r1 8076cda: 00db lsls r3, r3, #3 8076cdc: 4413 add r3, r2 8076cde: 3320 adds r3, #32 8076ce0: 681b ldr r3, [r3, #0] 8076ce2: 461a mov r2, r3 8076ce4: 219a movs r1, #154 ; 0x9a 8076ce6: 200a movs r0, #10 8076ce8: f7de fa3a bl 8055160 8076cec: e114 b.n 8076f18 8076cee: bf00 nop 8076cf0: 20020070 .word 0x20020070 8076cf4: ff0a0f1f .word 0xff0a0f1f 8076cf8: 20023ea8 .word 0x20023ea8 8076cfc: 200208e4 .word 0x200208e4 } else if(menupos == Roll) 8076d00: 4bad ldr r3, [pc, #692] ; (8076fb8 ) 8076d02: 781b ldrb r3, [r3, #0] 8076d04: b2db uxtb r3, r3 8076d06: 2b06 cmp r3, #6 8076d08: f040 8081 bne.w 8076e0e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076d0c: 49ab ldr r1, [pc, #684] ; (8076fbc ) 8076d0e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076d12: f7dd fc7d bl 8054610 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8076d16: 4baa ldr r3, [pc, #680] ; (8076fc0 ) 8076d18: 7b1b ldrb r3, [r3, #12] 8076d1a: b2db uxtb r3, r3 8076d1c: 4619 mov r1, r3 8076d1e: 4aa9 ldr r2, [pc, #676] ; (8076fc4 ) 8076d20: 460b mov r3, r1 8076d22: 009b lsls r3, r3, #2 8076d24: 440b add r3, r1 8076d26: 00db lsls r3, r3, #3 8076d28: 4413 add r3, r2 8076d2a: 3320 adds r3, #32 8076d2c: 681b ldr r3, [r3, #0] 8076d2e: 461a mov r2, r3 8076d30: 219a movs r1, #154 ; 0x9a 8076d32: 200a movs r0, #10 8076d34: f7de fa14 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076d38: 49a0 ldr r1, [pc, #640] ; (8076fbc ) 8076d3a: f04f 30ff mov.w r0, #4294967295 8076d3e: f7dd fc67 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8076d42: 4b9f ldr r3, [pc, #636] ; (8076fc0 ) 8076d44: 7b1b ldrb r3, [r3, #12] 8076d46: b2db uxtb r3, r3 8076d48: 4619 mov r1, r3 8076d4a: 4a9e ldr r2, [pc, #632] ; (8076fc4 ) 8076d4c: 460b mov r3, r1 8076d4e: 009b lsls r3, r3, #2 8076d50: 440b add r3, r1 8076d52: 00db lsls r3, r3, #3 8076d54: 4413 add r3, r2 8076d56: 681b ldr r3, [r3, #0] 8076d58: 461a mov r2, r3 8076d5a: 214a movs r1, #74 ; 0x4a 8076d5c: 200a movs r0, #10 8076d5e: f7de f9ff bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8076d62: 4b97 ldr r3, [pc, #604] ; (8076fc0 ) 8076d64: 7b1b ldrb r3, [r3, #12] 8076d66: b2db uxtb r3, r3 8076d68: 4619 mov r1, r3 8076d6a: 4a96 ldr r2, [pc, #600] ; (8076fc4 ) 8076d6c: 460b mov r3, r1 8076d6e: 009b lsls r3, r3, #2 8076d70: 440b add r3, r1 8076d72: 00db lsls r3, r3, #3 8076d74: 4413 add r3, r2 8076d76: 3304 adds r3, #4 8076d78: 681b ldr r3, [r3, #0] 8076d7a: 461a mov r2, r3 8076d7c: 215a movs r1, #90 ; 0x5a 8076d7e: 200a movs r0, #10 8076d80: f7de f9ee bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8076d84: 4b8e ldr r3, [pc, #568] ; (8076fc0 ) 8076d86: 7b1b ldrb r3, [r3, #12] 8076d88: b2db uxtb r3, r3 8076d8a: 4619 mov r1, r3 8076d8c: 4a8d ldr r2, [pc, #564] ; (8076fc4 ) 8076d8e: 460b mov r3, r1 8076d90: 009b lsls r3, r3, #2 8076d92: 440b add r3, r1 8076d94: 00db lsls r3, r3, #3 8076d96: 4413 add r3, r2 8076d98: 3308 adds r3, #8 8076d9a: 681b ldr r3, [r3, #0] 8076d9c: 461a mov r2, r3 8076d9e: 216a movs r1, #106 ; 0x6a 8076da0: 200a movs r0, #10 8076da2: f7de f9dd bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8076da6: 4b86 ldr r3, [pc, #536] ; (8076fc0 ) 8076da8: 7b1b ldrb r3, [r3, #12] 8076daa: b2db uxtb r3, r3 8076dac: 4619 mov r1, r3 8076dae: 4a85 ldr r2, [pc, #532] ; (8076fc4 ) 8076db0: 460b mov r3, r1 8076db2: 009b lsls r3, r3, #2 8076db4: 440b add r3, r1 8076db6: 00db lsls r3, r3, #3 8076db8: 4413 add r3, r2 8076dba: 3310 adds r3, #16 8076dbc: 681b ldr r3, [r3, #0] 8076dbe: 461a mov r2, r3 8076dc0: 218a movs r1, #138 ; 0x8a 8076dc2: 200a movs r0, #10 8076dc4: f7de f9cc bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8076dc8: 4b7d ldr r3, [pc, #500] ; (8076fc0 ) 8076dca: 7b1b ldrb r3, [r3, #12] 8076dcc: b2db uxtb r3, r3 8076dce: 4619 mov r1, r3 8076dd0: 4a7c ldr r2, [pc, #496] ; (8076fc4 ) 8076dd2: 460b mov r3, r1 8076dd4: 009b lsls r3, r3, #2 8076dd6: 440b add r3, r1 8076dd8: 00db lsls r3, r3, #3 8076dda: 4413 add r3, r2 8076ddc: 330c adds r3, #12 8076dde: 681b ldr r3, [r3, #0] 8076de0: 461a mov r2, r3 8076de2: 217a movs r1, #122 ; 0x7a 8076de4: 200a movs r0, #10 8076de6: f7de f9bb bl 8055160 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8076dea: 4b75 ldr r3, [pc, #468] ; (8076fc0 ) 8076dec: 7b1b ldrb r3, [r3, #12] 8076dee: b2db uxtb r3, r3 8076df0: 4619 mov r1, r3 8076df2: 4a74 ldr r2, [pc, #464] ; (8076fc4 ) 8076df4: 460b mov r3, r1 8076df6: 009b lsls r3, r3, #2 8076df8: 440b add r3, r1 8076dfa: 00db lsls r3, r3, #3 8076dfc: 4413 add r3, r2 8076dfe: 3324 adds r3, #36 ; 0x24 8076e00: 681b ldr r3, [r3, #0] 8076e02: 461a mov r2, r3 8076e04: 21aa movs r1, #170 ; 0xaa 8076e06: 200a movs r0, #10 8076e08: f7de f9aa bl 8055160 8076e0c: e084 b.n 8076f18 } else if(menupos == Udar) 8076e0e: 4b6a ldr r3, [pc, #424] ; (8076fb8 ) 8076e10: 781b ldrb r3, [r3, #0] 8076e12: b2db uxtb r3, r3 8076e14: 2b07 cmp r3, #7 8076e16: d17f bne.n 8076f18 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076e18: 4968 ldr r1, [pc, #416] ; (8076fbc ) 8076e1a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076e1e: f7dd fbf7 bl 8054610 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8076e22: 4b67 ldr r3, [pc, #412] ; (8076fc0 ) 8076e24: 7b1b ldrb r3, [r3, #12] 8076e26: b2db uxtb r3, r3 8076e28: 4619 mov r1, r3 8076e2a: 4a66 ldr r2, [pc, #408] ; (8076fc4 ) 8076e2c: 460b mov r3, r1 8076e2e: 009b lsls r3, r3, #2 8076e30: 440b add r3, r1 8076e32: 00db lsls r3, r3, #3 8076e34: 4413 add r3, r2 8076e36: 3324 adds r3, #36 ; 0x24 8076e38: 681b ldr r3, [r3, #0] 8076e3a: 461a mov r2, r3 8076e3c: 21aa movs r1, #170 ; 0xaa 8076e3e: 200a movs r0, #10 8076e40: f7de f98e bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076e44: 495d ldr r1, [pc, #372] ; (8076fbc ) 8076e46: f04f 30ff mov.w r0, #4294967295 8076e4a: f7dd fbe1 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8076e4e: 4b5c ldr r3, [pc, #368] ; (8076fc0 ) 8076e50: 7b1b ldrb r3, [r3, #12] 8076e52: b2db uxtb r3, r3 8076e54: 4619 mov r1, r3 8076e56: 4a5b ldr r2, [pc, #364] ; (8076fc4 ) 8076e58: 460b mov r3, r1 8076e5a: 009b lsls r3, r3, #2 8076e5c: 440b add r3, r1 8076e5e: 00db lsls r3, r3, #3 8076e60: 4413 add r3, r2 8076e62: 681b ldr r3, [r3, #0] 8076e64: 461a mov r2, r3 8076e66: 214a movs r1, #74 ; 0x4a 8076e68: 200a movs r0, #10 8076e6a: f7de f979 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8076e6e: 4b54 ldr r3, [pc, #336] ; (8076fc0 ) 8076e70: 7b1b ldrb r3, [r3, #12] 8076e72: b2db uxtb r3, r3 8076e74: 4619 mov r1, r3 8076e76: 4a53 ldr r2, [pc, #332] ; (8076fc4 ) 8076e78: 460b mov r3, r1 8076e7a: 009b lsls r3, r3, #2 8076e7c: 440b add r3, r1 8076e7e: 00db lsls r3, r3, #3 8076e80: 4413 add r3, r2 8076e82: 3304 adds r3, #4 8076e84: 681b ldr r3, [r3, #0] 8076e86: 461a mov r2, r3 8076e88: 215a movs r1, #90 ; 0x5a 8076e8a: 200a movs r0, #10 8076e8c: f7de f968 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8076e90: 4b4b ldr r3, [pc, #300] ; (8076fc0 ) 8076e92: 7b1b ldrb r3, [r3, #12] 8076e94: b2db uxtb r3, r3 8076e96: 4619 mov r1, r3 8076e98: 4a4a ldr r2, [pc, #296] ; (8076fc4 ) 8076e9a: 460b mov r3, r1 8076e9c: 009b lsls r3, r3, #2 8076e9e: 440b add r3, r1 8076ea0: 00db lsls r3, r3, #3 8076ea2: 4413 add r3, r2 8076ea4: 3308 adds r3, #8 8076ea6: 681b ldr r3, [r3, #0] 8076ea8: 461a mov r2, r3 8076eaa: 216a movs r1, #106 ; 0x6a 8076eac: 200a movs r0, #10 8076eae: f7de f957 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8076eb2: 4b43 ldr r3, [pc, #268] ; (8076fc0 ) 8076eb4: 7b1b ldrb r3, [r3, #12] 8076eb6: b2db uxtb r3, r3 8076eb8: 4619 mov r1, r3 8076eba: 4a42 ldr r2, [pc, #264] ; (8076fc4 ) 8076ebc: 460b mov r3, r1 8076ebe: 009b lsls r3, r3, #2 8076ec0: 440b add r3, r1 8076ec2: 00db lsls r3, r3, #3 8076ec4: 4413 add r3, r2 8076ec6: 3310 adds r3, #16 8076ec8: 681b ldr r3, [r3, #0] 8076eca: 461a mov r2, r3 8076ecc: 218a movs r1, #138 ; 0x8a 8076ece: 200a movs r0, #10 8076ed0: f7de f946 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8076ed4: 4b3a ldr r3, [pc, #232] ; (8076fc0 ) 8076ed6: 7b1b ldrb r3, [r3, #12] 8076ed8: b2db uxtb r3, r3 8076eda: 4619 mov r1, r3 8076edc: 4a39 ldr r2, [pc, #228] ; (8076fc4 ) 8076ede: 460b mov r3, r1 8076ee0: 009b lsls r3, r3, #2 8076ee2: 440b add r3, r1 8076ee4: 00db lsls r3, r3, #3 8076ee6: 4413 add r3, r2 8076ee8: 330c adds r3, #12 8076eea: 681b ldr r3, [r3, #0] 8076eec: 461a mov r2, r3 8076eee: 217a movs r1, #122 ; 0x7a 8076ef0: 200a movs r0, #10 8076ef2: f7de f935 bl 8055160 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8076ef6: 4b32 ldr r3, [pc, #200] ; (8076fc0 ) 8076ef8: 7b1b ldrb r3, [r3, #12] 8076efa: b2db uxtb r3, r3 8076efc: 4619 mov r1, r3 8076efe: 4a31 ldr r2, [pc, #196] ; (8076fc4 ) 8076f00: 460b mov r3, r1 8076f02: 009b lsls r3, r3, #2 8076f04: 440b add r3, r1 8076f06: 00db lsls r3, r3, #3 8076f08: 4413 add r3, r2 8076f0a: 3320 adds r3, #32 8076f0c: 681b ldr r3, [r3, #0] 8076f0e: 461a mov r2, r3 8076f10: 219a movs r1, #154 ; 0x9a 8076f12: 200a movs r0, #10 8076f14: f7de f924 bl 8055160 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) 8076f18: 4b29 ldr r3, [pc, #164] ; (8076fc0 ) 8076f1a: 799b ldrb r3, [r3, #6] 8076f1c: b2db uxtb r3, r3 8076f1e: 2b02 cmp r3, #2 8076f20: f061 8363 bne.w 80985ea { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8076f24: 4925 ldr r1, [pc, #148] ; (8076fbc ) 8076f26: 4828 ldr r0, [pc, #160] ; (8076fc8 ) 8076f28: f7dd fb72 bl 8054610 #ifdef USE_ROLL LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8076f2c: 4b24 ldr r3, [pc, #144] ; (8076fc0 ) 8076f2e: 7b1b ldrb r3, [r3, #12] 8076f30: b2db uxtb r3, r3 8076f32: 4619 mov r1, r3 8076f34: 4a23 ldr r2, [pc, #140] ; (8076fc4 ) 8076f36: 460b mov r3, r1 8076f38: 009b lsls r3, r3, #2 8076f3a: 440b add r3, r1 8076f3c: 00db lsls r3, r3, #3 8076f3e: 4413 add r3, r2 8076f40: 330c adds r3, #12 8076f42: 681b ldr r3, [r3, #0] 8076f44: 461a mov r2, r3 8076f46: 217a movs r1, #122 ; 0x7a 8076f48: 200a movs r0, #10 8076f4a: f7de f909 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8076f4e: 4b1c ldr r3, [pc, #112] ; (8076fc0 ) 8076f50: 7b1b ldrb r3, [r3, #12] 8076f52: b2db uxtb r3, r3 8076f54: 4619 mov r1, r3 8076f56: 4a1b ldr r2, [pc, #108] ; (8076fc4 ) 8076f58: 460b mov r3, r1 8076f5a: 009b lsls r3, r3, #2 8076f5c: 440b add r3, r1 8076f5e: 00db lsls r3, r3, #3 8076f60: 4413 add r3, r2 8076f62: 3310 adds r3, #16 8076f64: 681b ldr r3, [r3, #0] 8076f66: 461a mov r2, r3 8076f68: 218a movs r1, #138 ; 0x8a 8076f6a: 200a movs r0, #10 8076f6c: f7de f8f8 bl 8055160 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8076f70: 4b13 ldr r3, [pc, #76] ; (8076fc0 ) 8076f72: 7b1b ldrb r3, [r3, #12] 8076f74: b2db uxtb r3, r3 8076f76: 4619 mov r1, r3 8076f78: 4a12 ldr r2, [pc, #72] ; (8076fc4 ) 8076f7a: 460b mov r3, r1 8076f7c: 009b lsls r3, r3, #2 8076f7e: 440b add r3, r1 8076f80: 00db lsls r3, r3, #3 8076f82: 4413 add r3, r2 8076f84: 3320 adds r3, #32 8076f86: 681b ldr r3, [r3, #0] 8076f88: 461a mov r2, r3 8076f8a: 219a movs r1, #154 ; 0x9a 8076f8c: 200a movs r0, #10 8076f8e: f7de f8e7 bl 8055160 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8076f92: 4b0b ldr r3, [pc, #44] ; (8076fc0 ) 8076f94: 7b1b ldrb r3, [r3, #12] 8076f96: b2db uxtb r3, r3 8076f98: 4619 mov r1, r3 8076f9a: 4a0a ldr r2, [pc, #40] ; (8076fc4 ) 8076f9c: 460b mov r3, r1 8076f9e: 009b lsls r3, r3, #2 8076fa0: 440b add r3, r1 8076fa2: 00db lsls r3, r3, #3 8076fa4: 4413 add r3, r2 8076fa6: 3324 adds r3, #36 ; 0x24 8076fa8: 681b ldr r3, [r3, #0] 8076faa: 461a mov r2, r3 8076fac: 21aa movs r1, #170 ; 0xaa 8076fae: 200a movs r0, #10 8076fb0: f7de f8d6 bl 8055160 break; 8076fb4: f021 bb19 b.w 80985ea 8076fb8: 20020070 .word 0x20020070 8076fbc: ff0a0f1f .word 0xff0a0f1f 8076fc0: 20023ea8 .word 0x20023ea8 8076fc4: 200208e4 .word 0x200208e4 8076fc8: ff808080 .word 0xff808080 case SETTINGS: //todo LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8076fcc: 4998 ldr r1, [pc, #608] ; (8077230 ) 8076fce: 4899 ldr r0, [pc, #612] ; (8077234 ) 8076fd0: f7dd fb1e bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 8076fd4: 23c9 movs r3, #201 ; 0xc9 8076fd6: f44f 729d mov.w r2, #314 ; 0x13a 8076fda: 2123 movs r1, #35 ; 0x23 8076fdc: 2002 movs r0, #2 8076fde: f7dd fe1d bl 8054c1c k = (uint32_t) (pardata.IKK * 1000.0f); 8076fe2: 4b95 ldr r3, [pc, #596] ; (8077238 ) 8076fe4: edd3 7a04 vldr s15, [r3, #16] 8076fe8: ed9f 7a94 vldr s14, [pc, #592] ; 807723c 8076fec: ee67 7a87 vmul.f32 s15, s15, s14 8076ff0: eefc 7ae7 vcvt.u32.f32 s15, s15 8076ff4: ee17 3a90 vmov r3, s15 8076ff8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 ies = k / 100000; 8076ffc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8077000: 095b lsrs r3, r3, #5 8077002: 4a8f ldr r2, [pc, #572] ; (8077240 ) 8077004: fba2 2303 umull r2, r3, r2, r3 8077008: 09db lsrs r3, r3, #7 807700a: b2db uxtb r3, r3 807700c: f887 33e5 strb.w r3, [r7, #997] ; 0x3e5 ied = k % 100000 / 10000; 8077010: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8077014: 0953 lsrs r3, r2, #5 8077016: 498a ldr r1, [pc, #552] ; (8077240 ) 8077018: fba1 1303 umull r1, r3, r1, r3 807701c: 09db lsrs r3, r3, #7 807701e: 4989 ldr r1, [pc, #548] ; (8077244 ) 8077020: fb01 f303 mul.w r3, r1, r3 8077024: 1ad3 subs r3, r2, r3 8077026: 4a88 ldr r2, [pc, #544] ; (8077248 ) 8077028: fba2 2303 umull r2, r3, r2, r3 807702c: 0b5b lsrs r3, r3, #13 807702e: b2db uxtb r3, r3 8077030: f887 33e4 strb.w r3, [r7, #996] ; 0x3e4 iee = k % 100000 % 10000 / 1000; 8077034: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8077038: 0953 lsrs r3, r2, #5 807703a: 4981 ldr r1, [pc, #516] ; (8077240 ) 807703c: fba1 1303 umull r1, r3, r1, r3 8077040: 09db lsrs r3, r3, #7 8077042: 4980 ldr r1, [pc, #512] ; (8077244 ) 8077044: fb01 f303 mul.w r3, r1, r3 8077048: 1ad3 subs r3, r2, r3 807704a: 4a7f ldr r2, [pc, #508] ; (8077248 ) 807704c: fba2 1203 umull r1, r2, r2, r3 8077050: 0b52 lsrs r2, r2, #13 8077052: f242 7110 movw r1, #10000 ; 0x2710 8077056: fb01 f202 mul.w r2, r1, r2 807705a: 1a9a subs r2, r3, r2 807705c: 4b7b ldr r3, [pc, #492] ; (807724c ) 807705e: fba3 2302 umull r2, r3, r3, r2 8077062: 099b lsrs r3, r3, #6 8077064: b2db uxtb r3, r3 8077066: f887 33e3 strb.w r3, [r7, #995] ; 0x3e3 ikd = k % 100000 % 10000 % 1000 / 100; 807706a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807706e: 095a lsrs r2, r3, #5 8077070: 4973 ldr r1, [pc, #460] ; (8077240 ) 8077072: fba1 1202 umull r1, r2, r1, r2 8077076: 09d2 lsrs r2, r2, #7 8077078: 4972 ldr r1, [pc, #456] ; (8077244 ) 807707a: fb01 f202 mul.w r2, r1, r2 807707e: 1a9a subs r2, r3, r2 8077080: 4b71 ldr r3, [pc, #452] ; (8077248 ) 8077082: fba3 1302 umull r1, r3, r3, r2 8077086: 0b5b lsrs r3, r3, #13 8077088: f242 7110 movw r1, #10000 ; 0x2710 807708c: fb01 f303 mul.w r3, r1, r3 8077090: 1ad3 subs r3, r2, r3 8077092: 4a6e ldr r2, [pc, #440] ; (807724c ) 8077094: fba2 1203 umull r1, r2, r2, r3 8077098: 0992 lsrs r2, r2, #6 807709a: f44f 717a mov.w r1, #1000 ; 0x3e8 807709e: fb01 f202 mul.w r2, r1, r2 80770a2: 1a9a subs r2, r3, r2 80770a4: 4b6a ldr r3, [pc, #424] ; (8077250 ) 80770a6: fba3 2302 umull r2, r3, r3, r2 80770aa: 095b lsrs r3, r3, #5 80770ac: b2db uxtb r3, r3 80770ae: f887 33e2 strb.w r3, [r7, #994] ; 0x3e2 iks = k % 100000 % 10000 % 1000 % 100 / 10; 80770b2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80770b6: 0953 lsrs r3, r2, #5 80770b8: 4961 ldr r1, [pc, #388] ; (8077240 ) 80770ba: fba1 1303 umull r1, r3, r1, r3 80770be: 09db lsrs r3, r3, #7 80770c0: 4960 ldr r1, [pc, #384] ; (8077244 ) 80770c2: fb01 f303 mul.w r3, r1, r3 80770c6: 1ad3 subs r3, r2, r3 80770c8: 4a5f ldr r2, [pc, #380] ; (8077248 ) 80770ca: fba2 1203 umull r1, r2, r2, r3 80770ce: 0b52 lsrs r2, r2, #13 80770d0: f242 7110 movw r1, #10000 ; 0x2710 80770d4: fb01 f202 mul.w r2, r1, r2 80770d8: 1a9a subs r2, r3, r2 80770da: 4b5c ldr r3, [pc, #368] ; (807724c ) 80770dc: fba3 1302 umull r1, r3, r3, r2 80770e0: 099b lsrs r3, r3, #6 80770e2: f44f 717a mov.w r1, #1000 ; 0x3e8 80770e6: fb01 f303 mul.w r3, r1, r3 80770ea: 1ad3 subs r3, r2, r3 80770ec: 4a58 ldr r2, [pc, #352] ; (8077250 ) 80770ee: fba2 1203 umull r1, r2, r2, r3 80770f2: 0952 lsrs r2, r2, #5 80770f4: 2164 movs r1, #100 ; 0x64 80770f6: fb01 f202 mul.w r2, r1, r2 80770fa: 1a9a subs r2, r3, r2 80770fc: 4b55 ldr r3, [pc, #340] ; (8077254 ) 80770fe: fba3 2302 umull r2, r3, r3, r2 8077102: 08db lsrs r3, r3, #3 8077104: b2db uxtb r3, r3 8077106: f887 33e1 strb.w r3, [r7, #993] ; 0x3e1 ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807710a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807710e: 0953 lsrs r3, r2, #5 8077110: 494b ldr r1, [pc, #300] ; (8077240 ) 8077112: fba1 1303 umull r1, r3, r1, r3 8077116: 09db lsrs r3, r3, #7 8077118: 494a ldr r1, [pc, #296] ; (8077244 ) 807711a: fb01 f303 mul.w r3, r1, r3 807711e: 1ad3 subs r3, r2, r3 8077120: 4a49 ldr r2, [pc, #292] ; (8077248 ) 8077122: fba2 1203 umull r1, r2, r2, r3 8077126: 0b52 lsrs r2, r2, #13 8077128: f242 7110 movw r1, #10000 ; 0x2710 807712c: fb01 f202 mul.w r2, r1, r2 8077130: 1a9a subs r2, r3, r2 8077132: 4b46 ldr r3, [pc, #280] ; (807724c ) 8077134: fba3 1302 umull r1, r3, r3, r2 8077138: 099b lsrs r3, r3, #6 807713a: f44f 717a mov.w r1, #1000 ; 0x3e8 807713e: fb01 f303 mul.w r3, r1, r3 8077142: 1ad3 subs r3, r2, r3 8077144: 4a42 ldr r2, [pc, #264] ; (8077250 ) 8077146: fba2 1203 umull r1, r2, r2, r3 807714a: 0952 lsrs r2, r2, #5 807714c: 2164 movs r1, #100 ; 0x64 807714e: fb01 f202 mul.w r2, r1, r2 8077152: 1a9a subs r2, r3, r2 8077154: 4b3f ldr r3, [pc, #252] ; (8077254 ) 8077156: fba3 1302 umull r1, r3, r3, r2 807715a: 08d9 lsrs r1, r3, #3 807715c: 460b mov r3, r1 807715e: 009b lsls r3, r3, #2 8077160: 440b add r3, r1 8077162: 005b lsls r3, r3, #1 8077164: 1ad1 subs r1, r2, r3 8077166: b2cb uxtb r3, r1 8077168: f887 33e0 strb.w r3, [r7, #992] ; 0x3e0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807716c: 4930 ldr r1, [pc, #192] ; (8077230 ) 807716e: f04f 30ff mov.w r0, #4294967295 8077172: f7dd fa4d bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_SensType[pardata.LANG]); 8077176: 4b30 ldr r3, [pc, #192] ; (8077238 ) 8077178: 7b1b ldrb r3, [r3, #12] 807717a: b2db uxtb r3, r3 807717c: 461a mov r2, r3 807717e: 4b36 ldr r3, [pc, #216] ; (8077258 ) 8077180: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077184: 461a mov r2, r3 8077186: 214a movs r1, #74 ; 0x4a 8077188: 200a movs r0, #10 807718a: f7dd ffe9 bl 8055160 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); //173 #endif #else #ifdef USE_TEMPERATURE LCD_DisplayString(10, LCD_LINE_9, (char *) pTEMPER[pardata.LANG]); 807718e: 4b2a ldr r3, [pc, #168] ; (8077238 ) 8077190: 7b1b ldrb r3, [r3, #12] 8077192: b2db uxtb r3, r3 8077194: 461a mov r2, r3 8077196: 4b31 ldr r3, [pc, #196] ; (807725c ) 8077198: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807719c: 461a mov r2, r3 807719e: 219a movs r1, #154 ; 0x9a 80771a0: 200a movs r0, #10 80771a2: f7dd ffdd bl 8055160 if(menupos == Temper) 80771a6: 4b2e ldr r3, [pc, #184] ; (8077260 ) 80771a8: 781b ldrb r3, [r3, #0] 80771aa: b2db uxtb r3, r3 80771ac: 2b07 cmp r3, #7 80771ae: d10a bne.n 80771c6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80771b0: 491f ldr r1, [pc, #124] ; (8077230 ) 80771b2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80771b6: f7dd fa2b bl 8054610 BSP_LCD_FillRect(253, CHECKBOX_LINE_9-2, 14, 14); //171 80771ba: 230e movs r3, #14 80771bc: 220e movs r2, #14 80771be: 219b movs r1, #155 ; 0x9b 80771c0: 20fd movs r0, #253 ; 0xfd 80771c2: f7dd feb3 bl 8054f2c } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80771c6: 491a ldr r1, [pc, #104] ; (8077230 ) 80771c8: f04f 30ff mov.w r0, #4294967295 80771cc: f7dd fa20 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); //173 80771d0: 230a movs r3, #10 80771d2: 220a movs r2, #10 80771d4: 219d movs r1, #157 ; 0x9d 80771d6: 20ff movs r0, #255 ; 0xff 80771d8: f7dd fea8 bl 8054f2c #endif #endif if(menupos == Type) 80771dc: 4b20 ldr r3, [pc, #128] ; (8077260 ) 80771de: 781b ldrb r3, [r3, #0] 80771e0: b2db uxtb r3, r3 80771e2: 2b01 cmp r3, #1 80771e4: f040 813c bne.w 8077460 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80771e8: 4911 ldr r1, [pc, #68] ; (8077230 ) 80771ea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80771ee: f7dd fa0f bl 8054610 if(focused) 80771f2: 4b1c ldr r3, [pc, #112] ; (8077264 ) 80771f4: 781b ldrb r3, [r3, #0] 80771f6: b2db uxtb r3, r3 80771f8: 2b00 cmp r3, #0 80771fa: d039 beq.n 8077270 { if(blk) 80771fc: 4b1a ldr r3, [pc, #104] ; (8077268 ) 80771fe: 681b ldr r3, [r3, #0] 8077200: 2b00 cmp r3, #0 8077202: d049 beq.n 8077298 LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077204: 4b0c ldr r3, [pc, #48] ; (8077238 ) 8077206: 7b1b ldrb r3, [r3, #12] 8077208: b2db uxtb r3, r3 807720a: 4619 mov r1, r3 807720c: 4b0a ldr r3, [pc, #40] ; (8077238 ) 807720e: 799b ldrb r3, [r3, #6] 8077210: b2db uxtb r3, r3 8077212: 4618 mov r0, r3 8077214: 4a15 ldr r2, [pc, #84] ; (807726c ) 8077216: 460b mov r3, r1 8077218: 005b lsls r3, r3, #1 807721a: 440b add r3, r1 807721c: 4403 add r3, r0 807721e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077222: 461a mov r2, r3 8077224: 214a movs r1, #74 ; 0x4a 8077226: 20ff movs r0, #255 ; 0xff 8077228: f7dd ffb2 bl 8055190 807722c: e034 b.n 8077298 807722e: bf00 nop 8077230: ff0a0f1f .word 0xff0a0f1f 8077234: ffd3d3d3 .word 0xffd3d3d3 8077238: 20023ea8 .word 0x20023ea8 807723c: 447a0000 .word 0x447a0000 8077240: 0a7c5ac5 .word 0x0a7c5ac5 8077244: 000186a0 .word 0x000186a0 8077248: d1b71759 .word 0xd1b71759 807724c: 10624dd3 .word 0x10624dd3 8077250: 51eb851f .word 0x51eb851f 8077254: cccccccd .word 0xcccccccd 8077258: 200205d4 .word 0x200205d4 807725c: 2002014c .word 0x2002014c 8077260: 20020070 .word 0x20020070 8077264: 20020fc8 .word 0x20020fc8 8077268: 200216a4 .word 0x200216a4 807726c: 20020154 .word 0x20020154 } else LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077270: 4b74 ldr r3, [pc, #464] ; (8077444 ) 8077272: 7b1b ldrb r3, [r3, #12] 8077274: b2db uxtb r3, r3 8077276: 4619 mov r1, r3 8077278: 4b72 ldr r3, [pc, #456] ; (8077444 ) 807727a: 799b ldrb r3, [r3, #6] 807727c: b2db uxtb r3, r3 807727e: 4618 mov r0, r3 8077280: 4a71 ldr r2, [pc, #452] ; (8077448 ) 8077282: 460b mov r3, r1 8077284: 005b lsls r3, r3, #1 8077286: 440b add r3, r1 8077288: 4403 add r3, r0 807728a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807728e: 461a mov r2, r3 8077290: 214a movs r1, #74 ; 0x4a 8077292: 20ff movs r0, #255 ; 0xff 8077294: f7dd ff7c bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077298: 496c ldr r1, [pc, #432] ; (807744c ) 807729a: f04f 30ff mov.w r0, #4294967295 807729e: f7dd f9b7 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); 80772a2: 4b68 ldr r3, [pc, #416] ; (8077444 ) 80772a4: 7b1b ldrb r3, [r3, #12] 80772a6: b2db uxtb r3, r3 80772a8: 4619 mov r1, r3 80772aa: 4b66 ldr r3, [pc, #408] ; (8077444 ) 80772ac: 799b ldrb r3, [r3, #6] 80772ae: b2db uxtb r3, r3 80772b0: 4618 mov r0, r3 80772b2: 4a67 ldr r2, [pc, #412] ; (8077450 ) 80772b4: 460b mov r3, r1 80772b6: 005b lsls r3, r3, #1 80772b8: 440b add r3, r1 80772ba: 4403 add r3, r0 80772bc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80772c0: 461a mov r2, r3 80772c2: 215a movs r1, #90 ; 0x5a 80772c4: 200a movs r0, #10 80772c6: f7dd ff4b bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 80772ca: 4b5e ldr r3, [pc, #376] ; (8077444 ) 80772cc: 7b1b ldrb r3, [r3, #12] 80772ce: b2db uxtb r3, r3 80772d0: 4619 mov r1, r3 80772d2: 4a60 ldr r2, [pc, #384] ; (8077454 ) 80772d4: 460b mov r3, r1 80772d6: 009b lsls r3, r3, #2 80772d8: 440b add r3, r1 80772da: 009b lsls r3, r3, #2 80772dc: 4413 add r3, r2 80772de: 3308 adds r3, #8 80772e0: 681b ldr r3, [r3, #0] 80772e2: 461a mov r2, r3 80772e4: 216a movs r1, #106 ; 0x6a 80772e6: 200a movs r0, #10 80772e8: f7dd ff3a bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80772ec: 4b55 ldr r3, [pc, #340] ; (8077444 ) 80772ee: 7b1b ldrb r3, [r3, #12] 80772f0: b2db uxtb r3, r3 80772f2: 4619 mov r1, r3 80772f4: 4a57 ldr r2, [pc, #348] ; (8077454 ) 80772f6: 460b mov r3, r1 80772f8: 009b lsls r3, r3, #2 80772fa: 440b add r3, r1 80772fc: 009b lsls r3, r3, #2 80772fe: 4413 add r3, r2 8077300: 3304 adds r3, #4 8077302: 681b ldr r3, [r3, #0] 8077304: 461a mov r2, r3 8077306: 217a movs r1, #122 ; 0x7a 8077308: 200a movs r0, #10 807730a: f7dd ff29 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807730e: 4b4d ldr r3, [pc, #308] ; (8077444 ) 8077310: 7b1b ldrb r3, [r3, #12] 8077312: b2db uxtb r3, r3 8077314: 4619 mov r1, r3 8077316: 4a4f ldr r2, [pc, #316] ; (8077454 ) 8077318: 460b mov r3, r1 807731a: 009b lsls r3, r3, #2 807731c: 440b add r3, r1 807731e: 009b lsls r3, r3, #2 8077320: 4413 add r3, r2 8077322: 330c adds r3, #12 8077324: 681b ldr r3, [r3, #0] 8077326: 461a mov r2, r3 8077328: 218a movs r1, #138 ; 0x8a 807732a: 200a movs r0, #10 807732c: f7dd ff18 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077330: 4946 ldr r1, [pc, #280] ; (807744c ) 8077332: 4849 ldr r0, [pc, #292] ; (8077458 ) 8077334: f7dd f96c bl 8054610 LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077338: 4b42 ldr r3, [pc, #264] ; (8077444 ) 807733a: 7b1b ldrb r3, [r3, #12] 807733c: b2db uxtb r3, r3 807733e: 461a mov r2, r3 8077340: 4b46 ldr r3, [pc, #280] ; (807745c ) 8077342: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077346: 461a mov r2, r3 8077348: 216a movs r1, #106 ; 0x6a 807734a: 20ff movs r0, #255 ; 0xff 807734c: f7dd ff20 bl 8055190 memset(str, 0, sizeof(str)); 8077350: f507 733b add.w r3, r7, #748 ; 0x2ec 8077354: 223c movs r2, #60 ; 0x3c 8077356: 2100 movs r1, #0 8077358: 4618 mov r0, r3 807735a: f05a f821 bl 80d13a0 i = 0; 807735e: 2300 movs r3, #0 8077360: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8077364: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077368: b2db uxtb r3, r3 807736a: 2b00 cmp r3, #0 807736c: d00c beq.n 8077388 str[i++] = ies + 48; 807736e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077372: 1c5a adds r2, r3, #1 8077374: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077378: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 807737c: b2d2 uxtb r2, r2 807737e: 3230 adds r2, #48 ; 0x30 8077380: b2d1 uxtb r1, r2 8077382: f507 723b add.w r2, r7, #748 ; 0x2ec 8077386: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8077388: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807738c: b2db uxtb r3, r3 807738e: 2b00 cmp r3, #0 8077390: d104 bne.n 807739c 8077392: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8077396: b2db uxtb r3, r3 8077398: 2b00 cmp r3, #0 807739a: d00c beq.n 80773b6 str[i++] = ied + 48; 807739c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80773a0: 1c5a adds r2, r3, #1 80773a2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80773a6: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 80773aa: b2d2 uxtb r2, r2 80773ac: 3230 adds r2, #48 ; 0x30 80773ae: b2d1 uxtb r1, r2 80773b0: f507 723b add.w r2, r7, #748 ; 0x2ec 80773b4: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 80773b6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80773ba: 1c5a adds r2, r3, #1 80773bc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80773c0: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 80773c4: b2d2 uxtb r2, r2 80773c6: 3230 adds r2, #48 ; 0x30 80773c8: b2d1 uxtb r1, r2 80773ca: f507 723b add.w r2, r7, #748 ; 0x2ec 80773ce: 54d1 strb r1, [r2, r3] str[i++] = '.'; 80773d0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80773d4: 1c5a adds r2, r3, #1 80773d6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80773da: f507 723b add.w r2, r7, #748 ; 0x2ec 80773de: 212e movs r1, #46 ; 0x2e 80773e0: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 80773e2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80773e6: 1c5a adds r2, r3, #1 80773e8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80773ec: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 80773f0: b2d2 uxtb r2, r2 80773f2: 3230 adds r2, #48 ; 0x30 80773f4: b2d1 uxtb r1, r2 80773f6: f507 723b add.w r2, r7, #748 ; 0x2ec 80773fa: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 80773fc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077400: 1c5a adds r2, r3, #1 8077402: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077406: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 807740a: b2d2 uxtb r2, r2 807740c: 3230 adds r2, #48 ; 0x30 807740e: b2d1 uxtb r1, r2 8077410: f507 723b add.w r2, r7, #748 ; 0x2ec 8077414: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8077416: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807741a: 1c5a adds r2, r3, #1 807741c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077420: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8077424: b2d2 uxtb r2, r2 8077426: 3230 adds r2, #48 ; 0x30 8077428: b2d1 uxtb r1, r2 807742a: f507 723b add.w r2, r7, #748 ; 0x2ec 807742e: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8077430: f507 733b add.w r3, r7, #748 ; 0x2ec 8077434: 461a mov r2, r3 8077436: 215a movs r1, #90 ; 0x5a 8077438: 20ff movs r0, #255 ; 0xff 807743a: f7dd fea9 bl 8055190 807743e: f002 b91a b.w 8079676 8077442: bf00 nop 8077444: 20023ea8 .word 0x20023ea8 8077448: 20020154 .word 0x20020154 807744c: ff0a0f1f .word 0xff0a0f1f 8077450: 200205dc .word 0x200205dc 8077454: 20020684 .word 0x20020684 8077458: ffd8aa57 .word 0xffd8aa57 807745c: 200205c4 .word 0x200205c4 } else if((menupos == Bluetooth) || (menupos == Temper)) 8077460: 4b7d ldr r3, [pc, #500] ; (8077658 ) 8077462: 781b ldrb r3, [r3, #0] 8077464: b2db uxtb r3, r3 8077466: 2b06 cmp r3, #6 8077468: d005 beq.n 8077476 807746a: 4b7b ldr r3, [pc, #492] ; (8077658 ) 807746c: 781b ldrb r3, [r3, #0] 807746e: b2db uxtb r3, r3 8077470: 2b07 cmp r3, #7 8077472: f040 8101 bne.w 8077678 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077476: 4979 ldr r1, [pc, #484] ; (807765c ) 8077478: f04f 30ff mov.w r0, #4294967295 807747c: f7dd f8c8 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); 8077480: 4b77 ldr r3, [pc, #476] ; (8077660 ) 8077482: 7b1b ldrb r3, [r3, #12] 8077484: b2db uxtb r3, r3 8077486: 4619 mov r1, r3 8077488: 4b75 ldr r3, [pc, #468] ; (8077660 ) 807748a: 799b ldrb r3, [r3, #6] 807748c: b2db uxtb r3, r3 807748e: 4618 mov r0, r3 8077490: 4a74 ldr r2, [pc, #464] ; (8077664 ) 8077492: 460b mov r3, r1 8077494: 005b lsls r3, r3, #1 8077496: 440b add r3, r1 8077498: 4403 add r3, r0 807749a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807749e: 461a mov r2, r3 80774a0: 215a movs r1, #90 ; 0x5a 80774a2: 200a movs r0, #10 80774a4: f7dd fe5c bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 80774a8: 4b6d ldr r3, [pc, #436] ; (8077660 ) 80774aa: 7b1b ldrb r3, [r3, #12] 80774ac: b2db uxtb r3, r3 80774ae: 4619 mov r1, r3 80774b0: 4a6d ldr r2, [pc, #436] ; (8077668 ) 80774b2: 460b mov r3, r1 80774b4: 009b lsls r3, r3, #2 80774b6: 440b add r3, r1 80774b8: 009b lsls r3, r3, #2 80774ba: 4413 add r3, r2 80774bc: 3308 adds r3, #8 80774be: 681b ldr r3, [r3, #0] 80774c0: 461a mov r2, r3 80774c2: 216a movs r1, #106 ; 0x6a 80774c4: 200a movs r0, #10 80774c6: f7dd fe4b bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80774ca: 4b65 ldr r3, [pc, #404] ; (8077660 ) 80774cc: 7b1b ldrb r3, [r3, #12] 80774ce: b2db uxtb r3, r3 80774d0: 4619 mov r1, r3 80774d2: 4a65 ldr r2, [pc, #404] ; (8077668 ) 80774d4: 460b mov r3, r1 80774d6: 009b lsls r3, r3, #2 80774d8: 440b add r3, r1 80774da: 009b lsls r3, r3, #2 80774dc: 4413 add r3, r2 80774de: 3304 adds r3, #4 80774e0: 681b ldr r3, [r3, #0] 80774e2: 461a mov r2, r3 80774e4: 217a movs r1, #122 ; 0x7a 80774e6: 200a movs r0, #10 80774e8: f7dd fe3a bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 80774ec: 4b5c ldr r3, [pc, #368] ; (8077660 ) 80774ee: 7b1b ldrb r3, [r3, #12] 80774f0: b2db uxtb r3, r3 80774f2: 4619 mov r1, r3 80774f4: 4a5c ldr r2, [pc, #368] ; (8077668 ) 80774f6: 460b mov r3, r1 80774f8: 009b lsls r3, r3, #2 80774fa: 440b add r3, r1 80774fc: 009b lsls r3, r3, #2 80774fe: 4413 add r3, r2 8077500: 330c adds r3, #12 8077502: 681b ldr r3, [r3, #0] 8077504: 461a mov r2, r3 8077506: 218a movs r1, #138 ; 0x8a 8077508: 200a movs r0, #10 807750a: f7dd fe29 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807750e: 4953 ldr r1, [pc, #332] ; (807765c ) 8077510: 4856 ldr r0, [pc, #344] ; (807766c ) 8077512: f7dd f87d bl 8054610 LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077516: 4b52 ldr r3, [pc, #328] ; (8077660 ) 8077518: 7b1b ldrb r3, [r3, #12] 807751a: b2db uxtb r3, r3 807751c: 461a mov r2, r3 807751e: 4b54 ldr r3, [pc, #336] ; (8077670 ) 8077520: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077524: 461a mov r2, r3 8077526: 216a movs r1, #106 ; 0x6a 8077528: 20ff movs r0, #255 ; 0xff 807752a: f7dd fe31 bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807752e: 494b ldr r1, [pc, #300] ; (807765c ) 8077530: 484e ldr r0, [pc, #312] ; (807766c ) 8077532: f7dd f86d bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077536: 4b4a ldr r3, [pc, #296] ; (8077660 ) 8077538: 7b1b ldrb r3, [r3, #12] 807753a: b2db uxtb r3, r3 807753c: 4619 mov r1, r3 807753e: 4b48 ldr r3, [pc, #288] ; (8077660 ) 8077540: 799b ldrb r3, [r3, #6] 8077542: b2db uxtb r3, r3 8077544: 4618 mov r0, r3 8077546: 4a4b ldr r2, [pc, #300] ; (8077674 ) 8077548: 460b mov r3, r1 807754a: 005b lsls r3, r3, #1 807754c: 440b add r3, r1 807754e: 4403 add r3, r0 8077550: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077554: 461a mov r2, r3 8077556: 214a movs r1, #74 ; 0x4a 8077558: 20ff movs r0, #255 ; 0xff 807755a: f7dd fe19 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807755e: 493f ldr r1, [pc, #252] ; (807765c ) 8077560: 4842 ldr r0, [pc, #264] ; (807766c ) 8077562: f7dd f855 bl 8054610 memset(str, 0, sizeof(str)); 8077566: f507 733b add.w r3, r7, #748 ; 0x2ec 807756a: 223c movs r2, #60 ; 0x3c 807756c: 2100 movs r1, #0 807756e: 4618 mov r0, r3 8077570: f059 ff16 bl 80d13a0 i = 0; 8077574: 2300 movs r3, #0 8077576: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 807757a: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807757e: b2db uxtb r3, r3 8077580: 2b00 cmp r3, #0 8077582: d00c beq.n 807759e str[i++] = ies + 48; 8077584: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077588: 1c5a adds r2, r3, #1 807758a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807758e: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8077592: b2d2 uxtb r2, r2 8077594: 3230 adds r2, #48 ; 0x30 8077596: b2d1 uxtb r1, r2 8077598: f507 723b add.w r2, r7, #748 ; 0x2ec 807759c: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 807759e: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80775a2: b2db uxtb r3, r3 80775a4: 2b00 cmp r3, #0 80775a6: d104 bne.n 80775b2 80775a8: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80775ac: b2db uxtb r3, r3 80775ae: 2b00 cmp r3, #0 80775b0: d00c beq.n 80775cc str[i++] = ied + 48; 80775b2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80775b6: 1c5a adds r2, r3, #1 80775b8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80775bc: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 80775c0: b2d2 uxtb r2, r2 80775c2: 3230 adds r2, #48 ; 0x30 80775c4: b2d1 uxtb r1, r2 80775c6: f507 723b add.w r2, r7, #748 ; 0x2ec 80775ca: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 80775cc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80775d0: 1c5a adds r2, r3, #1 80775d2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80775d6: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 80775da: b2d2 uxtb r2, r2 80775dc: 3230 adds r2, #48 ; 0x30 80775de: b2d1 uxtb r1, r2 80775e0: f507 723b add.w r2, r7, #748 ; 0x2ec 80775e4: 54d1 strb r1, [r2, r3] str[i++] = '.'; 80775e6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80775ea: 1c5a adds r2, r3, #1 80775ec: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80775f0: f507 723b add.w r2, r7, #748 ; 0x2ec 80775f4: 212e movs r1, #46 ; 0x2e 80775f6: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 80775f8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80775fc: 1c5a adds r2, r3, #1 80775fe: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077602: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8077606: b2d2 uxtb r2, r2 8077608: 3230 adds r2, #48 ; 0x30 807760a: b2d1 uxtb r1, r2 807760c: f507 723b add.w r2, r7, #748 ; 0x2ec 8077610: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8077612: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077616: 1c5a adds r2, r3, #1 8077618: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807761c: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8077620: b2d2 uxtb r2, r2 8077622: 3230 adds r2, #48 ; 0x30 8077624: b2d1 uxtb r1, r2 8077626: f507 723b add.w r2, r7, #748 ; 0x2ec 807762a: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 807762c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077630: 1c5a adds r2, r3, #1 8077632: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077636: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 807763a: b2d2 uxtb r2, r2 807763c: 3230 adds r2, #48 ; 0x30 807763e: b2d1 uxtb r1, r2 8077640: f507 723b add.w r2, r7, #748 ; 0x2ec 8077644: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8077646: f507 733b add.w r3, r7, #748 ; 0x2ec 807764a: 461a mov r2, r3 807764c: 215a movs r1, #90 ; 0x5a 807764e: 20ff movs r0, #255 ; 0xff 8077650: f7dd fd9e bl 8055190 8077654: f002 b80f b.w 8079676 8077658: 20020070 .word 0x20020070 807765c: ff0a0f1f .word 0xff0a0f1f 8077660: 20023ea8 .word 0x20023ea8 8077664: 200205dc .word 0x200205dc 8077668: 20020684 .word 0x20020684 807766c: ffd8aa57 .word 0xffd8aa57 8077670: 200205c4 .word 0x200205c4 8077674: 20020154 .word 0x20020154 } else if(menupos == Sens) 8077678: 4b7d ldr r3, [pc, #500] ; (8077870 ) 807767a: 781b ldrb r3, [r3, #0] 807767c: b2db uxtb r3, r3 807767e: 2b02 cmp r3, #2 8077680: f040 8106 bne.w 8077890 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077684: 497b ldr r1, [pc, #492] ; (8077874 ) 8077686: f04f 30ff mov.w r0, #4294967295 807768a: f7dc ffc1 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 807768e: 4b7a ldr r3, [pc, #488] ; (8077878 ) 8077690: 7b1b ldrb r3, [r3, #12] 8077692: b2db uxtb r3, r3 8077694: 4619 mov r1, r3 8077696: 4b78 ldr r3, [pc, #480] ; (8077878 ) 8077698: 799b ldrb r3, [r3, #6] 807769a: b2db uxtb r3, r3 807769c: 4618 mov r0, r3 807769e: 4a77 ldr r2, [pc, #476] ; (807787c ) 80776a0: 460b mov r3, r1 80776a2: 005b lsls r3, r3, #1 80776a4: 440b add r3, r1 80776a6: 4403 add r3, r0 80776a8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80776ac: 461a mov r2, r3 80776ae: 215a movs r1, #90 ; 0x5a 80776b0: 200a movs r0, #10 80776b2: f7dd fd55 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80776b6: 4b70 ldr r3, [pc, #448] ; (8077878 ) 80776b8: 7b1b ldrb r3, [r3, #12] 80776ba: b2db uxtb r3, r3 80776bc: 4619 mov r1, r3 80776be: 4a70 ldr r2, [pc, #448] ; (8077880 ) 80776c0: 460b mov r3, r1 80776c2: 009b lsls r3, r3, #2 80776c4: 440b add r3, r1 80776c6: 009b lsls r3, r3, #2 80776c8: 4413 add r3, r2 80776ca: 3304 adds r3, #4 80776cc: 681b ldr r3, [r3, #0] 80776ce: 461a mov r2, r3 80776d0: 217a movs r1, #122 ; 0x7a 80776d2: 200a movs r0, #10 80776d4: f7dd fd44 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 80776d8: 4b67 ldr r3, [pc, #412] ; (8077878 ) 80776da: 7b1b ldrb r3, [r3, #12] 80776dc: b2db uxtb r3, r3 80776de: 4619 mov r1, r3 80776e0: 4a67 ldr r2, [pc, #412] ; (8077880 ) 80776e2: 460b mov r3, r1 80776e4: 009b lsls r3, r3, #2 80776e6: 440b add r3, r1 80776e8: 009b lsls r3, r3, #2 80776ea: 4413 add r3, r2 80776ec: 3308 adds r3, #8 80776ee: 681b ldr r3, [r3, #0] 80776f0: 461a mov r2, r3 80776f2: 216a movs r1, #106 ; 0x6a 80776f4: 200a movs r0, #10 80776f6: f7dd fd33 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 80776fa: 4b5f ldr r3, [pc, #380] ; (8077878 ) 80776fc: 7b1b ldrb r3, [r3, #12] 80776fe: b2db uxtb r3, r3 8077700: 4619 mov r1, r3 8077702: 4a5f ldr r2, [pc, #380] ; (8077880 ) 8077704: 460b mov r3, r1 8077706: 009b lsls r3, r3, #2 8077708: 440b add r3, r1 807770a: 009b lsls r3, r3, #2 807770c: 4413 add r3, r2 807770e: 330c adds r3, #12 8077710: 681b ldr r3, [r3, #0] 8077712: 461a mov r2, r3 8077714: 218a movs r1, #138 ; 0x8a 8077716: 200a movs r0, #10 8077718: f7dd fd22 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807771c: 4955 ldr r1, [pc, #340] ; (8077874 ) 807771e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077722: f7dc ff75 bl 8054610 memset(str, 0, sizeof(str)); 8077726: f507 733b add.w r3, r7, #748 ; 0x2ec 807772a: 223c movs r2, #60 ; 0x3c 807772c: 2100 movs r1, #0 807772e: 4618 mov r0, r3 8077730: f059 fe36 bl 80d13a0 i = 0; 8077734: 2300 movs r3, #0 8077736: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 807773a: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807773e: b2db uxtb r3, r3 8077740: 2b00 cmp r3, #0 8077742: d00c beq.n 807775e str[i++] = ies + 48; 8077744: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077748: 1c5a adds r2, r3, #1 807774a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807774e: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8077752: b2d2 uxtb r2, r2 8077754: 3230 adds r2, #48 ; 0x30 8077756: b2d1 uxtb r1, r2 8077758: f507 723b add.w r2, r7, #748 ; 0x2ec 807775c: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 807775e: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077762: b2db uxtb r3, r3 8077764: 2b00 cmp r3, #0 8077766: d104 bne.n 8077772 8077768: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807776c: b2db uxtb r3, r3 807776e: 2b00 cmp r3, #0 8077770: d00c beq.n 807778c str[i++] = ied + 48; 8077772: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077776: 1c5a adds r2, r3, #1 8077778: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807777c: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8077780: b2d2 uxtb r2, r2 8077782: 3230 adds r2, #48 ; 0x30 8077784: b2d1 uxtb r1, r2 8077786: f507 723b add.w r2, r7, #748 ; 0x2ec 807778a: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 807778c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077790: 1c5a adds r2, r3, #1 8077792: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077796: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 807779a: b2d2 uxtb r2, r2 807779c: 3230 adds r2, #48 ; 0x30 807779e: b2d1 uxtb r1, r2 80777a0: f507 723b add.w r2, r7, #748 ; 0x2ec 80777a4: 54d1 strb r1, [r2, r3] str[i++] = '.'; 80777a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80777aa: 1c5a adds r2, r3, #1 80777ac: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80777b0: f507 723b add.w r2, r7, #748 ; 0x2ec 80777b4: 212e movs r1, #46 ; 0x2e 80777b6: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 80777b8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80777bc: 1c5a adds r2, r3, #1 80777be: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80777c2: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 80777c6: b2d2 uxtb r2, r2 80777c8: 3230 adds r2, #48 ; 0x30 80777ca: b2d1 uxtb r1, r2 80777cc: f507 723b add.w r2, r7, #748 ; 0x2ec 80777d0: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 80777d2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80777d6: 1c5a adds r2, r3, #1 80777d8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80777dc: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 80777e0: b2d2 uxtb r2, r2 80777e2: 3230 adds r2, #48 ; 0x30 80777e4: b2d1 uxtb r1, r2 80777e6: f507 723b add.w r2, r7, #748 ; 0x2ec 80777ea: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 80777ec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80777f0: 1c5a adds r2, r3, #1 80777f2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80777f6: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80777fa: b2d2 uxtb r2, r2 80777fc: 3230 adds r2, #48 ; 0x30 80777fe: b2d1 uxtb r1, r2 8077800: f507 723b add.w r2, r7, #748 ; 0x2ec 8077804: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8077806: f507 733b add.w r3, r7, #748 ; 0x2ec 807780a: 461a mov r2, r3 807780c: 215a movs r1, #90 ; 0x5a 807780e: 20ff movs r0, #255 ; 0xff 8077810: f7dd fcbe bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077814: 4917 ldr r1, [pc, #92] ; (8077874 ) 8077816: 481b ldr r0, [pc, #108] ; (8077884 ) 8077818: f7dc fefa bl 8054610 LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 807781c: 4b16 ldr r3, [pc, #88] ; (8077878 ) 807781e: 7b1b ldrb r3, [r3, #12] 8077820: b2db uxtb r3, r3 8077822: 461a mov r2, r3 8077824: 4b18 ldr r3, [pc, #96] ; (8077888 ) 8077826: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807782a: 461a mov r2, r3 807782c: 216a movs r1, #106 ; 0x6a 807782e: 20ff movs r0, #255 ; 0xff 8077830: f7dd fcae bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077834: 490f ldr r1, [pc, #60] ; (8077874 ) 8077836: 4813 ldr r0, [pc, #76] ; (8077884 ) 8077838: f7dc feea bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 807783c: 4b0e ldr r3, [pc, #56] ; (8077878 ) 807783e: 7b1b ldrb r3, [r3, #12] 8077840: b2db uxtb r3, r3 8077842: 4619 mov r1, r3 8077844: 4b0c ldr r3, [pc, #48] ; (8077878 ) 8077846: 799b ldrb r3, [r3, #6] 8077848: b2db uxtb r3, r3 807784a: 4618 mov r0, r3 807784c: 4a0f ldr r2, [pc, #60] ; (807788c ) 807784e: 460b mov r3, r1 8077850: 005b lsls r3, r3, #1 8077852: 440b add r3, r1 8077854: 4403 add r3, r0 8077856: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807785a: 461a mov r2, r3 807785c: 214a movs r1, #74 ; 0x4a 807785e: 20ff movs r0, #255 ; 0xff 8077860: f7dd fc96 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077864: 4903 ldr r1, [pc, #12] ; (8077874 ) 8077866: 4807 ldr r0, [pc, #28] ; (8077884 ) 8077868: f7dc fed2 bl 8054610 807786c: f001 bf03 b.w 8079676 8077870: 20020070 .word 0x20020070 8077874: ff0a0f1f .word 0xff0a0f1f 8077878: 20023ea8 .word 0x20023ea8 807787c: 200205dc .word 0x200205dc 8077880: 20020684 .word 0x20020684 8077884: ffd8aa57 .word 0xffd8aa57 8077888: 200205c4 .word 0x200205c4 807788c: 20020154 .word 0x20020154 } else if(menupos == DateTime) 8077890: 4bb4 ldr r3, [pc, #720] ; (8077b64 ) 8077892: 781b ldrb r3, [r3, #0] 8077894: b2db uxtb r3, r3 8077896: 2b04 cmp r3, #4 8077898: f040 80f6 bne.w 8077a88 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807789c: 49b2 ldr r1, [pc, #712] ; (8077b68 ) 807789e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80778a2: f7dc feb5 bl 8054610 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80778a6: 4bb1 ldr r3, [pc, #708] ; (8077b6c ) 80778a8: 7b1b ldrb r3, [r3, #12] 80778aa: b2db uxtb r3, r3 80778ac: 4619 mov r1, r3 80778ae: 4ab0 ldr r2, [pc, #704] ; (8077b70 ) 80778b0: 460b mov r3, r1 80778b2: 009b lsls r3, r3, #2 80778b4: 440b add r3, r1 80778b6: 009b lsls r3, r3, #2 80778b8: 4413 add r3, r2 80778ba: 3304 adds r3, #4 80778bc: 681b ldr r3, [r3, #0] 80778be: 461a mov r2, r3 80778c0: 217a movs r1, #122 ; 0x7a 80778c2: 200a movs r0, #10 80778c4: f7dd fc4c bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80778c8: 49a7 ldr r1, [pc, #668] ; (8077b68 ) 80778ca: f04f 30ff mov.w r0, #4294967295 80778ce: f7dc fe9f bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80778d2: 4ba6 ldr r3, [pc, #664] ; (8077b6c ) 80778d4: 7b1b ldrb r3, [r3, #12] 80778d6: b2db uxtb r3, r3 80778d8: 4619 mov r1, r3 80778da: 4ba4 ldr r3, [pc, #656] ; (8077b6c ) 80778dc: 799b ldrb r3, [r3, #6] 80778de: b2db uxtb r3, r3 80778e0: 4618 mov r0, r3 80778e2: 4aa4 ldr r2, [pc, #656] ; (8077b74 ) 80778e4: 460b mov r3, r1 80778e6: 005b lsls r3, r3, #1 80778e8: 440b add r3, r1 80778ea: 4403 add r3, r0 80778ec: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80778f0: 461a mov r2, r3 80778f2: 215a movs r1, #90 ; 0x5a 80778f4: 200a movs r0, #10 80778f6: f7dd fc33 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 80778fa: 4b9c ldr r3, [pc, #624] ; (8077b6c ) 80778fc: 7b1b ldrb r3, [r3, #12] 80778fe: b2db uxtb r3, r3 8077900: 4619 mov r1, r3 8077902: 4a9b ldr r2, [pc, #620] ; (8077b70 ) 8077904: 460b mov r3, r1 8077906: 009b lsls r3, r3, #2 8077908: 440b add r3, r1 807790a: 009b lsls r3, r3, #2 807790c: 4413 add r3, r2 807790e: 3308 adds r3, #8 8077910: 681b ldr r3, [r3, #0] 8077912: 461a mov r2, r3 8077914: 216a movs r1, #106 ; 0x6a 8077916: 200a movs r0, #10 8077918: f7dd fc22 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807791c: 4b93 ldr r3, [pc, #588] ; (8077b6c ) 807791e: 7b1b ldrb r3, [r3, #12] 8077920: b2db uxtb r3, r3 8077922: 4619 mov r1, r3 8077924: 4a92 ldr r2, [pc, #584] ; (8077b70 ) 8077926: 460b mov r3, r1 8077928: 009b lsls r3, r3, #2 807792a: 440b add r3, r1 807792c: 009b lsls r3, r3, #2 807792e: 4413 add r3, r2 8077930: 330c adds r3, #12 8077932: 681b ldr r3, [r3, #0] 8077934: 461a mov r2, r3 8077936: 218a movs r1, #138 ; 0x8a 8077938: 200a movs r0, #10 807793a: f7dd fc11 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807793e: 498a ldr r1, [pc, #552] ; (8077b68 ) 8077940: 488d ldr r0, [pc, #564] ; (8077b78 ) 8077942: f7dc fe65 bl 8054610 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077946: 4b89 ldr r3, [pc, #548] ; (8077b6c ) 8077948: 7b1b ldrb r3, [r3, #12] 807794a: b2db uxtb r3, r3 807794c: 461a mov r2, r3 807794e: 4b8b ldr r3, [pc, #556] ; (8077b7c ) 8077950: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077954: 461a mov r2, r3 8077956: 216a movs r1, #106 ; 0x6a 8077958: 20ff movs r0, #255 ; 0xff 807795a: f7dd fc19 bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807795e: 4982 ldr r1, [pc, #520] ; (8077b68 ) 8077960: 4885 ldr r0, [pc, #532] ; (8077b78 ) 8077962: f7dc fe55 bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077966: 4b81 ldr r3, [pc, #516] ; (8077b6c ) 8077968: 7b1b ldrb r3, [r3, #12] 807796a: b2db uxtb r3, r3 807796c: 4619 mov r1, r3 807796e: 4b7f ldr r3, [pc, #508] ; (8077b6c ) 8077970: 799b ldrb r3, [r3, #6] 8077972: b2db uxtb r3, r3 8077974: 4618 mov r0, r3 8077976: 4a82 ldr r2, [pc, #520] ; (8077b80 ) 8077978: 460b mov r3, r1 807797a: 005b lsls r3, r3, #1 807797c: 440b add r3, r1 807797e: 4403 add r3, r0 8077980: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077984: 461a mov r2, r3 8077986: 214a movs r1, #74 ; 0x4a 8077988: 20ff movs r0, #255 ; 0xff 807798a: f7dd fc01 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807798e: 4976 ldr r1, [pc, #472] ; (8077b68 ) 8077990: 4879 ldr r0, [pc, #484] ; (8077b78 ) 8077992: f7dc fe3d bl 8054610 memset(str, 0, sizeof(str)); 8077996: f507 733b add.w r3, r7, #748 ; 0x2ec 807799a: 223c movs r2, #60 ; 0x3c 807799c: 2100 movs r1, #0 807799e: 4618 mov r0, r3 80779a0: f059 fcfe bl 80d13a0 i = 0; 80779a4: 2300 movs r3, #0 80779a6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80779aa: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80779ae: b2db uxtb r3, r3 80779b0: 2b00 cmp r3, #0 80779b2: d00c beq.n 80779ce str[i++] = ies + 48; 80779b4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80779b8: 1c5a adds r2, r3, #1 80779ba: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80779be: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 80779c2: b2d2 uxtb r2, r2 80779c4: 3230 adds r2, #48 ; 0x30 80779c6: b2d1 uxtb r1, r2 80779c8: f507 723b add.w r2, r7, #748 ; 0x2ec 80779cc: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 80779ce: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80779d2: b2db uxtb r3, r3 80779d4: 2b00 cmp r3, #0 80779d6: d104 bne.n 80779e2 80779d8: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80779dc: b2db uxtb r3, r3 80779de: 2b00 cmp r3, #0 80779e0: d00c beq.n 80779fc str[i++] = ied + 48; 80779e2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80779e6: 1c5a adds r2, r3, #1 80779e8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80779ec: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 80779f0: b2d2 uxtb r2, r2 80779f2: 3230 adds r2, #48 ; 0x30 80779f4: b2d1 uxtb r1, r2 80779f6: f507 723b add.w r2, r7, #748 ; 0x2ec 80779fa: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 80779fc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077a00: 1c5a adds r2, r3, #1 8077a02: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077a06: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8077a0a: b2d2 uxtb r2, r2 8077a0c: 3230 adds r2, #48 ; 0x30 8077a0e: b2d1 uxtb r1, r2 8077a10: f507 723b add.w r2, r7, #748 ; 0x2ec 8077a14: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8077a16: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077a1a: 1c5a adds r2, r3, #1 8077a1c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077a20: f507 723b add.w r2, r7, #748 ; 0x2ec 8077a24: 212e movs r1, #46 ; 0x2e 8077a26: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8077a28: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077a2c: 1c5a adds r2, r3, #1 8077a2e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077a32: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8077a36: b2d2 uxtb r2, r2 8077a38: 3230 adds r2, #48 ; 0x30 8077a3a: b2d1 uxtb r1, r2 8077a3c: f507 723b add.w r2, r7, #748 ; 0x2ec 8077a40: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8077a42: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077a46: 1c5a adds r2, r3, #1 8077a48: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077a4c: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8077a50: b2d2 uxtb r2, r2 8077a52: 3230 adds r2, #48 ; 0x30 8077a54: b2d1 uxtb r1, r2 8077a56: f507 723b add.w r2, r7, #748 ; 0x2ec 8077a5a: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8077a5c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077a60: 1c5a adds r2, r3, #1 8077a62: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077a66: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8077a6a: b2d2 uxtb r2, r2 8077a6c: 3230 adds r2, #48 ; 0x30 8077a6e: b2d1 uxtb r1, r2 8077a70: f507 723b add.w r2, r7, #748 ; 0x2ec 8077a74: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8077a76: f507 733b add.w r3, r7, #748 ; 0x2ec 8077a7a: 461a mov r2, r3 8077a7c: 215a movs r1, #90 ; 0x5a 8077a7e: 20ff movs r0, #255 ; 0xff 8077a80: f7dd fb86 bl 8055190 8077a84: f001 bdf7 b.w 8079676 } else if(menupos == Lang) 8077a88: 4b36 ldr r3, [pc, #216] ; (8077b64 ) 8077a8a: 781b ldrb r3, [r3, #0] 8077a8c: b2db uxtb r3, r3 8077a8e: 2b03 cmp r3, #3 8077a90: f040 811d bne.w 8077cce { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077a94: 4934 ldr r1, [pc, #208] ; (8077b68 ) 8077a96: f04f 30ff mov.w r0, #4294967295 8077a9a: f7dc fdb9 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8077a9e: 4b33 ldr r3, [pc, #204] ; (8077b6c ) 8077aa0: 7b1b ldrb r3, [r3, #12] 8077aa2: b2db uxtb r3, r3 8077aa4: 4619 mov r1, r3 8077aa6: 4b31 ldr r3, [pc, #196] ; (8077b6c ) 8077aa8: 799b ldrb r3, [r3, #6] 8077aaa: b2db uxtb r3, r3 8077aac: 4618 mov r0, r3 8077aae: 4a31 ldr r2, [pc, #196] ; (8077b74 ) 8077ab0: 460b mov r3, r1 8077ab2: 005b lsls r3, r3, #1 8077ab4: 440b add r3, r1 8077ab6: 4403 add r3, r0 8077ab8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077abc: 461a mov r2, r3 8077abe: 215a movs r1, #90 ; 0x5a 8077ac0: 200a movs r0, #10 8077ac2: f7dd fb4d bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8077ac6: 4b29 ldr r3, [pc, #164] ; (8077b6c ) 8077ac8: 7b1b ldrb r3, [r3, #12] 8077aca: b2db uxtb r3, r3 8077acc: 4619 mov r1, r3 8077ace: 4a28 ldr r2, [pc, #160] ; (8077b70 ) 8077ad0: 460b mov r3, r1 8077ad2: 009b lsls r3, r3, #2 8077ad4: 440b add r3, r1 8077ad6: 009b lsls r3, r3, #2 8077ad8: 4413 add r3, r2 8077ada: 3304 adds r3, #4 8077adc: 681b ldr r3, [r3, #0] 8077ade: 461a mov r2, r3 8077ae0: 217a movs r1, #122 ; 0x7a 8077ae2: 200a movs r0, #10 8077ae4: f7dd fb3c bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8077ae8: 4b20 ldr r3, [pc, #128] ; (8077b6c ) 8077aea: 7b1b ldrb r3, [r3, #12] 8077aec: b2db uxtb r3, r3 8077aee: 4619 mov r1, r3 8077af0: 4a1f ldr r2, [pc, #124] ; (8077b70 ) 8077af2: 460b mov r3, r1 8077af4: 009b lsls r3, r3, #2 8077af6: 440b add r3, r1 8077af8: 009b lsls r3, r3, #2 8077afa: 4413 add r3, r2 8077afc: 3308 adds r3, #8 8077afe: 681b ldr r3, [r3, #0] 8077b00: 461a mov r2, r3 8077b02: 216a movs r1, #106 ; 0x6a 8077b04: 200a movs r0, #10 8077b06: f7dd fb2b bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8077b0a: 4b18 ldr r3, [pc, #96] ; (8077b6c ) 8077b0c: 7b1b ldrb r3, [r3, #12] 8077b0e: b2db uxtb r3, r3 8077b10: 4619 mov r1, r3 8077b12: 4a17 ldr r2, [pc, #92] ; (8077b70 ) 8077b14: 460b mov r3, r1 8077b16: 009b lsls r3, r3, #2 8077b18: 440b add r3, r1 8077b1a: 009b lsls r3, r3, #2 8077b1c: 4413 add r3, r2 8077b1e: 330c adds r3, #12 8077b20: 681b ldr r3, [r3, #0] 8077b22: 461a mov r2, r3 8077b24: 218a movs r1, #138 ; 0x8a 8077b26: 200a movs r0, #10 8077b28: f7dd fb1a bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077b2c: 490e ldr r1, [pc, #56] ; (8077b68 ) 8077b2e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077b32: f7dc fd6d bl 8054610 if(focused) 8077b36: 4b13 ldr r3, [pc, #76] ; (8077b84 ) 8077b38: 781b ldrb r3, [r3, #0] 8077b3a: b2db uxtb r3, r3 8077b3c: 2b00 cmp r3, #0 8077b3e: d025 beq.n 8077b8c { if(blk) 8077b40: 4b11 ldr r3, [pc, #68] ; (8077b88 ) 8077b42: 681b ldr r3, [r3, #0] 8077b44: 2b00 cmp r3, #0 8077b46: d02d beq.n 8077ba4 LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077b48: 4b08 ldr r3, [pc, #32] ; (8077b6c ) 8077b4a: 7b1b ldrb r3, [r3, #12] 8077b4c: b2db uxtb r3, r3 8077b4e: 461a mov r2, r3 8077b50: 4b0a ldr r3, [pc, #40] ; (8077b7c ) 8077b52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077b56: 461a mov r2, r3 8077b58: 216a movs r1, #106 ; 0x6a 8077b5a: 20ff movs r0, #255 ; 0xff 8077b5c: f7dd fb18 bl 8055190 8077b60: e020 b.n 8077ba4 8077b62: bf00 nop 8077b64: 20020070 .word 0x20020070 8077b68: ff0a0f1f .word 0xff0a0f1f 8077b6c: 20023ea8 .word 0x20023ea8 8077b70: 20020684 .word 0x20020684 8077b74: 200205dc .word 0x200205dc 8077b78: ffd8aa57 .word 0xffd8aa57 8077b7c: 200205c4 .word 0x200205c4 8077b80: 20020154 .word 0x20020154 8077b84: 20020fc8 .word 0x20020fc8 8077b88: 200216a4 .word 0x200216a4 } else LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077b8c: 4bce ldr r3, [pc, #824] ; (8077ec8 ) 8077b8e: 7b1b ldrb r3, [r3, #12] 8077b90: b2db uxtb r3, r3 8077b92: 461a mov r2, r3 8077b94: 4bcd ldr r3, [pc, #820] ; (8077ecc ) 8077b96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077b9a: 461a mov r2, r3 8077b9c: 216a movs r1, #106 ; 0x6a 8077b9e: 20ff movs r0, #255 ; 0xff 8077ba0: f7dd faf6 bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077ba4: 49ca ldr r1, [pc, #808] ; (8077ed0 ) 8077ba6: 48cb ldr r0, [pc, #812] ; (8077ed4 ) 8077ba8: f7dc fd32 bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077bac: 4bc6 ldr r3, [pc, #792] ; (8077ec8 ) 8077bae: 7b1b ldrb r3, [r3, #12] 8077bb0: b2db uxtb r3, r3 8077bb2: 4619 mov r1, r3 8077bb4: 4bc4 ldr r3, [pc, #784] ; (8077ec8 ) 8077bb6: 799b ldrb r3, [r3, #6] 8077bb8: b2db uxtb r3, r3 8077bba: 4618 mov r0, r3 8077bbc: 4ac6 ldr r2, [pc, #792] ; (8077ed8 ) 8077bbe: 460b mov r3, r1 8077bc0: 005b lsls r3, r3, #1 8077bc2: 440b add r3, r1 8077bc4: 4403 add r3, r0 8077bc6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077bca: 461a mov r2, r3 8077bcc: 214a movs r1, #74 ; 0x4a 8077bce: 20ff movs r0, #255 ; 0xff 8077bd0: f7dd fade bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077bd4: 49be ldr r1, [pc, #760] ; (8077ed0 ) 8077bd6: 48bf ldr r0, [pc, #764] ; (8077ed4 ) 8077bd8: f7dc fd1a bl 8054610 memset(str, 0, sizeof(str)); 8077bdc: f507 733b add.w r3, r7, #748 ; 0x2ec 8077be0: 223c movs r2, #60 ; 0x3c 8077be2: 2100 movs r1, #0 8077be4: 4618 mov r0, r3 8077be6: f059 fbdb bl 80d13a0 i = 0; 8077bea: 2300 movs r3, #0 8077bec: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8077bf0: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077bf4: b2db uxtb r3, r3 8077bf6: 2b00 cmp r3, #0 8077bf8: d00c beq.n 8077c14 str[i++] = ies + 48; 8077bfa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077bfe: 1c5a adds r2, r3, #1 8077c00: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077c04: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8077c08: b2d2 uxtb r2, r2 8077c0a: 3230 adds r2, #48 ; 0x30 8077c0c: b2d1 uxtb r1, r2 8077c0e: f507 723b add.w r2, r7, #748 ; 0x2ec 8077c12: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8077c14: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077c18: b2db uxtb r3, r3 8077c1a: 2b00 cmp r3, #0 8077c1c: d104 bne.n 8077c28 8077c1e: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8077c22: b2db uxtb r3, r3 8077c24: 2b00 cmp r3, #0 8077c26: d00c beq.n 8077c42 str[i++] = ied + 48; 8077c28: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077c2c: 1c5a adds r2, r3, #1 8077c2e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077c32: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8077c36: b2d2 uxtb r2, r2 8077c38: 3230 adds r2, #48 ; 0x30 8077c3a: b2d1 uxtb r1, r2 8077c3c: f507 723b add.w r2, r7, #748 ; 0x2ec 8077c40: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8077c42: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077c46: 1c5a adds r2, r3, #1 8077c48: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077c4c: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8077c50: b2d2 uxtb r2, r2 8077c52: 3230 adds r2, #48 ; 0x30 8077c54: b2d1 uxtb r1, r2 8077c56: f507 723b add.w r2, r7, #748 ; 0x2ec 8077c5a: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8077c5c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077c60: 1c5a adds r2, r3, #1 8077c62: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077c66: f507 723b add.w r2, r7, #748 ; 0x2ec 8077c6a: 212e movs r1, #46 ; 0x2e 8077c6c: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8077c6e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077c72: 1c5a adds r2, r3, #1 8077c74: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077c78: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8077c7c: b2d2 uxtb r2, r2 8077c7e: 3230 adds r2, #48 ; 0x30 8077c80: b2d1 uxtb r1, r2 8077c82: f507 723b add.w r2, r7, #748 ; 0x2ec 8077c86: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8077c88: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077c8c: 1c5a adds r2, r3, #1 8077c8e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077c92: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8077c96: b2d2 uxtb r2, r2 8077c98: 3230 adds r2, #48 ; 0x30 8077c9a: b2d1 uxtb r1, r2 8077c9c: f507 723b add.w r2, r7, #748 ; 0x2ec 8077ca0: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8077ca2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077ca6: 1c5a adds r2, r3, #1 8077ca8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077cac: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8077cb0: b2d2 uxtb r2, r2 8077cb2: 3230 adds r2, #48 ; 0x30 8077cb4: b2d1 uxtb r1, r2 8077cb6: f507 723b add.w r2, r7, #748 ; 0x2ec 8077cba: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8077cbc: f507 733b add.w r3, r7, #748 ; 0x2ec 8077cc0: 461a mov r2, r3 8077cc2: 215a movs r1, #90 ; 0x5a 8077cc4: 20ff movs r0, #255 ; 0xff 8077cc6: f7dd fa63 bl 8055190 8077cca: f001 bcd4 b.w 8079676 } else if(menupos == FormatDisk) 8077cce: 4b83 ldr r3, [pc, #524] ; (8077edc ) 8077cd0: 781b ldrb r3, [r3, #0] 8077cd2: b2db uxtb r3, r3 8077cd4: 2b05 cmp r3, #5 8077cd6: f040 8107 bne.w 8077ee8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077cda: 497d ldr r1, [pc, #500] ; (8077ed0 ) 8077cdc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077ce0: f7dc fc96 bl 8054610 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8077ce4: 4b78 ldr r3, [pc, #480] ; (8077ec8 ) 8077ce6: 7b1b ldrb r3, [r3, #12] 8077ce8: b2db uxtb r3, r3 8077cea: 4619 mov r1, r3 8077cec: 4a7c ldr r2, [pc, #496] ; (8077ee0 ) 8077cee: 460b mov r3, r1 8077cf0: 009b lsls r3, r3, #2 8077cf2: 440b add r3, r1 8077cf4: 009b lsls r3, r3, #2 8077cf6: 4413 add r3, r2 8077cf8: 330c adds r3, #12 8077cfa: 681b ldr r3, [r3, #0] 8077cfc: 461a mov r2, r3 8077cfe: 218a movs r1, #138 ; 0x8a 8077d00: 200a movs r0, #10 8077d02: f7dd fa2d bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077d06: 4972 ldr r1, [pc, #456] ; (8077ed0 ) 8077d08: f04f 30ff mov.w r0, #4294967295 8077d0c: f7dc fc80 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8077d10: 4b6d ldr r3, [pc, #436] ; (8077ec8 ) 8077d12: 7b1b ldrb r3, [r3, #12] 8077d14: b2db uxtb r3, r3 8077d16: 4619 mov r1, r3 8077d18: 4b6b ldr r3, [pc, #428] ; (8077ec8 ) 8077d1a: 799b ldrb r3, [r3, #6] 8077d1c: b2db uxtb r3, r3 8077d1e: 4618 mov r0, r3 8077d20: 4a70 ldr r2, [pc, #448] ; (8077ee4 ) 8077d22: 460b mov r3, r1 8077d24: 005b lsls r3, r3, #1 8077d26: 440b add r3, r1 8077d28: 4403 add r3, r0 8077d2a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077d2e: 461a mov r2, r3 8077d30: 215a movs r1, #90 ; 0x5a 8077d32: 200a movs r0, #10 8077d34: f7dd fa14 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8077d38: 4b63 ldr r3, [pc, #396] ; (8077ec8 ) 8077d3a: 7b1b ldrb r3, [r3, #12] 8077d3c: b2db uxtb r3, r3 8077d3e: 4619 mov r1, r3 8077d40: 4a67 ldr r2, [pc, #412] ; (8077ee0 ) 8077d42: 460b mov r3, r1 8077d44: 009b lsls r3, r3, #2 8077d46: 440b add r3, r1 8077d48: 009b lsls r3, r3, #2 8077d4a: 4413 add r3, r2 8077d4c: 3304 adds r3, #4 8077d4e: 681b ldr r3, [r3, #0] 8077d50: 461a mov r2, r3 8077d52: 217a movs r1, #122 ; 0x7a 8077d54: 200a movs r0, #10 8077d56: f7dd fa03 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8077d5a: 4b5b ldr r3, [pc, #364] ; (8077ec8 ) 8077d5c: 7b1b ldrb r3, [r3, #12] 8077d5e: b2db uxtb r3, r3 8077d60: 4619 mov r1, r3 8077d62: 4a5f ldr r2, [pc, #380] ; (8077ee0 ) 8077d64: 460b mov r3, r1 8077d66: 009b lsls r3, r3, #2 8077d68: 440b add r3, r1 8077d6a: 009b lsls r3, r3, #2 8077d6c: 4413 add r3, r2 8077d6e: 3308 adds r3, #8 8077d70: 681b ldr r3, [r3, #0] 8077d72: 461a mov r2, r3 8077d74: 216a movs r1, #106 ; 0x6a 8077d76: 200a movs r0, #10 8077d78: f7dd f9f2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077d7c: 4954 ldr r1, [pc, #336] ; (8077ed0 ) 8077d7e: 4855 ldr r0, [pc, #340] ; (8077ed4 ) 8077d80: f7dc fc46 bl 8054610 LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077d84: 4b50 ldr r3, [pc, #320] ; (8077ec8 ) 8077d86: 7b1b ldrb r3, [r3, #12] 8077d88: b2db uxtb r3, r3 8077d8a: 461a mov r2, r3 8077d8c: 4b4f ldr r3, [pc, #316] ; (8077ecc ) 8077d8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077d92: 461a mov r2, r3 8077d94: 216a movs r1, #106 ; 0x6a 8077d96: 20ff movs r0, #255 ; 0xff 8077d98: f7dd f9fa bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077d9c: 494c ldr r1, [pc, #304] ; (8077ed0 ) 8077d9e: 484d ldr r0, [pc, #308] ; (8077ed4 ) 8077da0: f7dc fc36 bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077da4: 4b48 ldr r3, [pc, #288] ; (8077ec8 ) 8077da6: 7b1b ldrb r3, [r3, #12] 8077da8: b2db uxtb r3, r3 8077daa: 4619 mov r1, r3 8077dac: 4b46 ldr r3, [pc, #280] ; (8077ec8 ) 8077dae: 799b ldrb r3, [r3, #6] 8077db0: b2db uxtb r3, r3 8077db2: 4618 mov r0, r3 8077db4: 4a48 ldr r2, [pc, #288] ; (8077ed8 ) 8077db6: 460b mov r3, r1 8077db8: 005b lsls r3, r3, #1 8077dba: 440b add r3, r1 8077dbc: 4403 add r3, r0 8077dbe: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077dc2: 461a mov r2, r3 8077dc4: 214a movs r1, #74 ; 0x4a 8077dc6: 20ff movs r0, #255 ; 0xff 8077dc8: f7dd f9e2 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077dcc: 4940 ldr r1, [pc, #256] ; (8077ed0 ) 8077dce: 4841 ldr r0, [pc, #260] ; (8077ed4 ) 8077dd0: f7dc fc1e bl 8054610 memset(str, 0, sizeof(str)); 8077dd4: f507 733b add.w r3, r7, #748 ; 0x2ec 8077dd8: 223c movs r2, #60 ; 0x3c 8077dda: 2100 movs r1, #0 8077ddc: 4618 mov r0, r3 8077dde: f059 fadf bl 80d13a0 i = 0; 8077de2: 2300 movs r3, #0 8077de4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8077de8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077dec: b2db uxtb r3, r3 8077dee: 2b00 cmp r3, #0 8077df0: d00c beq.n 8077e0c str[i++] = ies + 48; 8077df2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077df6: 1c5a adds r2, r3, #1 8077df8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077dfc: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8077e00: b2d2 uxtb r2, r2 8077e02: 3230 adds r2, #48 ; 0x30 8077e04: b2d1 uxtb r1, r2 8077e06: f507 723b add.w r2, r7, #748 ; 0x2ec 8077e0a: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8077e0c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077e10: b2db uxtb r3, r3 8077e12: 2b00 cmp r3, #0 8077e14: d104 bne.n 8077e20 8077e16: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8077e1a: b2db uxtb r3, r3 8077e1c: 2b00 cmp r3, #0 8077e1e: d00c beq.n 8077e3a str[i++] = ied + 48; 8077e20: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077e24: 1c5a adds r2, r3, #1 8077e26: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077e2a: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8077e2e: b2d2 uxtb r2, r2 8077e30: 3230 adds r2, #48 ; 0x30 8077e32: b2d1 uxtb r1, r2 8077e34: f507 723b add.w r2, r7, #748 ; 0x2ec 8077e38: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8077e3a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077e3e: 1c5a adds r2, r3, #1 8077e40: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077e44: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8077e48: b2d2 uxtb r2, r2 8077e4a: 3230 adds r2, #48 ; 0x30 8077e4c: b2d1 uxtb r1, r2 8077e4e: f507 723b add.w r2, r7, #748 ; 0x2ec 8077e52: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8077e54: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077e58: 1c5a adds r2, r3, #1 8077e5a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077e5e: f507 723b add.w r2, r7, #748 ; 0x2ec 8077e62: 212e movs r1, #46 ; 0x2e 8077e64: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8077e66: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077e6a: 1c5a adds r2, r3, #1 8077e6c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077e70: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8077e74: b2d2 uxtb r2, r2 8077e76: 3230 adds r2, #48 ; 0x30 8077e78: b2d1 uxtb r1, r2 8077e7a: f507 723b add.w r2, r7, #748 ; 0x2ec 8077e7e: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8077e80: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077e84: 1c5a adds r2, r3, #1 8077e86: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077e8a: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8077e8e: b2d2 uxtb r2, r2 8077e90: 3230 adds r2, #48 ; 0x30 8077e92: b2d1 uxtb r1, r2 8077e94: f507 723b add.w r2, r7, #748 ; 0x2ec 8077e98: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8077e9a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077e9e: 1c5a adds r2, r3, #1 8077ea0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077ea4: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8077ea8: b2d2 uxtb r2, r2 8077eaa: 3230 adds r2, #48 ; 0x30 8077eac: b2d1 uxtb r1, r2 8077eae: f507 723b add.w r2, r7, #748 ; 0x2ec 8077eb2: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8077eb4: f507 733b add.w r3, r7, #748 ; 0x2ec 8077eb8: 461a mov r2, r3 8077eba: 215a movs r1, #90 ; 0x5a 8077ebc: 20ff movs r0, #255 ; 0xff 8077ebe: f7dd f967 bl 8055190 8077ec2: f001 bbd8 b.w 8079676 8077ec6: bf00 nop 8077ec8: 20023ea8 .word 0x20023ea8 8077ecc: 200205c4 .word 0x200205c4 8077ed0: ff0a0f1f .word 0xff0a0f1f 8077ed4: ffd8aa57 .word 0xffd8aa57 8077ed8: 20020154 .word 0x20020154 8077edc: 20020070 .word 0x20020070 8077ee0: 20020684 .word 0x20020684 8077ee4: 200205dc .word 0x200205dc } else if(menupos == FormatDiskNo) 8077ee8: 4bad ldr r3, [pc, #692] ; (80781a0 ) 8077eea: 781b ldrb r3, [r3, #0] 8077eec: b2db uxtb r3, r3 8077eee: 2b08 cmp r3, #8 8077ef0: f040 817a bne.w 80781e8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077ef4: 49ab ldr r1, [pc, #684] ; (80781a4 ) 8077ef6: f04f 30ff mov.w r0, #4294967295 8077efa: f7dc fb89 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8077efe: 4baa ldr r3, [pc, #680] ; (80781a8 ) 8077f00: 7b1b ldrb r3, [r3, #12] 8077f02: b2db uxtb r3, r3 8077f04: 4619 mov r1, r3 8077f06: 4ba8 ldr r3, [pc, #672] ; (80781a8 ) 8077f08: 799b ldrb r3, [r3, #6] 8077f0a: b2db uxtb r3, r3 8077f0c: 4618 mov r0, r3 8077f0e: 4aa7 ldr r2, [pc, #668] ; (80781ac ) 8077f10: 460b mov r3, r1 8077f12: 005b lsls r3, r3, #1 8077f14: 440b add r3, r1 8077f16: 4403 add r3, r0 8077f18: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077f1c: 461a mov r2, r3 8077f1e: 215a movs r1, #90 ; 0x5a 8077f20: 200a movs r0, #10 8077f22: f7dd f91d bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8077f26: 4ba0 ldr r3, [pc, #640] ; (80781a8 ) 8077f28: 7b1b ldrb r3, [r3, #12] 8077f2a: b2db uxtb r3, r3 8077f2c: 4619 mov r1, r3 8077f2e: 4aa0 ldr r2, [pc, #640] ; (80781b0 ) 8077f30: 460b mov r3, r1 8077f32: 009b lsls r3, r3, #2 8077f34: 440b add r3, r1 8077f36: 009b lsls r3, r3, #2 8077f38: 4413 add r3, r2 8077f3a: 3304 adds r3, #4 8077f3c: 681b ldr r3, [r3, #0] 8077f3e: 461a mov r2, r3 8077f40: 217a movs r1, #122 ; 0x7a 8077f42: 200a movs r0, #10 8077f44: f7dd f90c bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8077f48: 4b97 ldr r3, [pc, #604] ; (80781a8 ) 8077f4a: 7b1b ldrb r3, [r3, #12] 8077f4c: b2db uxtb r3, r3 8077f4e: 4619 mov r1, r3 8077f50: 4a97 ldr r2, [pc, #604] ; (80781b0 ) 8077f52: 460b mov r3, r1 8077f54: 009b lsls r3, r3, #2 8077f56: 440b add r3, r1 8077f58: 009b lsls r3, r3, #2 8077f5a: 4413 add r3, r2 8077f5c: 3308 adds r3, #8 8077f5e: 681b ldr r3, [r3, #0] 8077f60: 461a mov r2, r3 8077f62: 216a movs r1, #106 ; 0x6a 8077f64: 200a movs r0, #10 8077f66: f7dd f8fb bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8077f6a: 4b8f ldr r3, [pc, #572] ; (80781a8 ) 8077f6c: 7b1b ldrb r3, [r3, #12] 8077f6e: b2db uxtb r3, r3 8077f70: 4619 mov r1, r3 8077f72: 4a8f ldr r2, [pc, #572] ; (80781b0 ) 8077f74: 460b mov r3, r1 8077f76: 009b lsls r3, r3, #2 8077f78: 440b add r3, r1 8077f7a: 009b lsls r3, r3, #2 8077f7c: 4413 add r3, r2 8077f7e: 330c adds r3, #12 8077f80: 681b ldr r3, [r3, #0] 8077f82: 461a mov r2, r3 8077f84: 218a movs r1, #138 ; 0x8a 8077f86: 200a movs r0, #10 8077f88: f7dd f8ea bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077f8c: 4985 ldr r1, [pc, #532] ; (80781a4 ) 8077f8e: 4889 ldr r0, [pc, #548] ; (80781b4 ) 8077f90: f7dc fb3e bl 8054610 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077f94: 4b84 ldr r3, [pc, #528] ; (80781a8 ) 8077f96: 7b1b ldrb r3, [r3, #12] 8077f98: b2db uxtb r3, r3 8077f9a: 461a mov r2, r3 8077f9c: 4b86 ldr r3, [pc, #536] ; (80781b8 ) 8077f9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077fa2: 461a mov r2, r3 8077fa4: 216a movs r1, #106 ; 0x6a 8077fa6: 20ff movs r0, #255 ; 0xff 8077fa8: f7dd f8f2 bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077fac: 497d ldr r1, [pc, #500] ; (80781a4 ) 8077fae: 4881 ldr r0, [pc, #516] ; (80781b4 ) 8077fb0: f7dc fb2e bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077fb4: 4b7c ldr r3, [pc, #496] ; (80781a8 ) 8077fb6: 7b1b ldrb r3, [r3, #12] 8077fb8: b2db uxtb r3, r3 8077fba: 4619 mov r1, r3 8077fbc: 4b7a ldr r3, [pc, #488] ; (80781a8 ) 8077fbe: 799b ldrb r3, [r3, #6] 8077fc0: b2db uxtb r3, r3 8077fc2: 4618 mov r0, r3 8077fc4: 4a7d ldr r2, [pc, #500] ; (80781bc ) 8077fc6: 460b mov r3, r1 8077fc8: 005b lsls r3, r3, #1 8077fca: 440b add r3, r1 8077fcc: 4403 add r3, r0 8077fce: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077fd2: 461a mov r2, r3 8077fd4: 214a movs r1, #74 ; 0x4a 8077fd6: 20ff movs r0, #255 ; 0xff 8077fd8: f7dd f8da bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077fdc: 4971 ldr r1, [pc, #452] ; (80781a4 ) 8077fde: 4875 ldr r0, [pc, #468] ; (80781b4 ) 8077fe0: f7dc fb16 bl 8054610 memset(str, 0, sizeof(str)); 8077fe4: f507 733b add.w r3, r7, #748 ; 0x2ec 8077fe8: 223c movs r2, #60 ; 0x3c 8077fea: 2100 movs r1, #0 8077fec: 4618 mov r0, r3 8077fee: f059 f9d7 bl 80d13a0 i = 0; 8077ff2: 2300 movs r3, #0 8077ff4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8077ff8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077ffc: b2db uxtb r3, r3 8077ffe: 2b00 cmp r3, #0 8078000: d00c beq.n 807801c str[i++] = ies + 48; 8078002: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078006: 1c5a adds r2, r3, #1 8078008: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807800c: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8078010: b2d2 uxtb r2, r2 8078012: 3230 adds r2, #48 ; 0x30 8078014: b2d1 uxtb r1, r2 8078016: f507 723b add.w r2, r7, #748 ; 0x2ec 807801a: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 807801c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078020: b2db uxtb r3, r3 8078022: 2b00 cmp r3, #0 8078024: d104 bne.n 8078030 8078026: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807802a: b2db uxtb r3, r3 807802c: 2b00 cmp r3, #0 807802e: d00c beq.n 807804a str[i++] = ied + 48; 8078030: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078034: 1c5a adds r2, r3, #1 8078036: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807803a: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 807803e: b2d2 uxtb r2, r2 8078040: 3230 adds r2, #48 ; 0x30 8078042: b2d1 uxtb r1, r2 8078044: f507 723b add.w r2, r7, #748 ; 0x2ec 8078048: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 807804a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807804e: 1c5a adds r2, r3, #1 8078050: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078054: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8078058: b2d2 uxtb r2, r2 807805a: 3230 adds r2, #48 ; 0x30 807805c: b2d1 uxtb r1, r2 807805e: f507 723b add.w r2, r7, #748 ; 0x2ec 8078062: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8078064: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078068: 1c5a adds r2, r3, #1 807806a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807806e: f507 723b add.w r2, r7, #748 ; 0x2ec 8078072: 212e movs r1, #46 ; 0x2e 8078074: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8078076: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807807a: 1c5a adds r2, r3, #1 807807c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078080: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8078084: b2d2 uxtb r2, r2 8078086: 3230 adds r2, #48 ; 0x30 8078088: b2d1 uxtb r1, r2 807808a: f507 723b add.w r2, r7, #748 ; 0x2ec 807808e: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8078090: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078094: 1c5a adds r2, r3, #1 8078096: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807809a: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 807809e: b2d2 uxtb r2, r2 80780a0: 3230 adds r2, #48 ; 0x30 80780a2: b2d1 uxtb r1, r2 80780a4: f507 723b add.w r2, r7, #748 ; 0x2ec 80780a8: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 80780aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80780ae: 1c5a adds r2, r3, #1 80780b0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80780b4: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80780b8: b2d2 uxtb r2, r2 80780ba: 3230 adds r2, #48 ; 0x30 80780bc: b2d1 uxtb r1, r2 80780be: f507 723b add.w r2, r7, #748 ; 0x2ec 80780c2: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 80780c4: f507 733b add.w r3, r7, #748 ; 0x2ec 80780c8: 461a mov r2, r3 80780ca: 215a movs r1, #90 ; 0x5a 80780cc: 20ff movs r0, #255 ; 0xff 80780ce: f7dd f85f bl 8055190 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80780d2: 4934 ldr r1, [pc, #208] ; (80781a4 ) 80780d4: 483a ldr r0, [pc, #232] ; (80781c0 ) 80780d6: f7dc fa9b bl 8054610 BSP_LCD_FillRect(60, 73, 200, 124); 80780da: 237c movs r3, #124 ; 0x7c 80780dc: 22c8 movs r2, #200 ; 0xc8 80780de: 2149 movs r1, #73 ; 0x49 80780e0: 203c movs r0, #60 ; 0x3c 80780e2: f7dc ff23 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80780e6: 492f ldr r1, [pc, #188] ; (80781a4 ) 80780e8: 482e ldr r0, [pc, #184] ; (80781a4 ) 80780ea: f7dc fa91 bl 8054610 BSP_LCD_FillRect(62, 75, 196, 120); 80780ee: 2378 movs r3, #120 ; 0x78 80780f0: 22c4 movs r2, #196 ; 0xc4 80780f2: 214b movs r1, #75 ; 0x4b 80780f4: 203e movs r0, #62 ; 0x3e 80780f6: f7dc ff19 bl 8054f2c if(pardata.LANG == RUS) 80780fa: 4b2b ldr r3, [pc, #172] ; (80781a8 ) 80780fc: 7b1b ldrb r3, [r3, #12] 80780fe: b2db uxtb r3, r3 8078100: 2b00 cmp r3, #0 8078102: d126 bne.n 8078152 { BSP_LCD_SetFont(&Font12); 8078104: 482f ldr r0, [pc, #188] ; (80781c4 ) 8078106: f7dc fabf bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807810a: 4926 ldr r1, [pc, #152] ; (80781a4 ) 807810c: f04f 30ff mov.w r0, #4294967295 8078110: f7dc fa7e bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Êàðòà ïàìÿòè áóäåò", CENTER_MODE); 8078114: 2301 movs r3, #1 8078116: 4a2c ldr r2, [pc, #176] ; (80781c8 ) 8078118: 217a movs r1, #122 ; 0x7a 807811a: 20a0 movs r0, #160 ; 0xa0 807811c: f7dc fb3e bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "î÷èùåíà. Ïðîäîëæèòü?", CENTER_MODE); 8078120: 2301 movs r3, #1 8078122: 4a2a ldr r2, [pc, #168] ; (80781cc ) 8078124: 218a movs r1, #138 ; 0x8a 8078126: 20a0 movs r0, #160 ; 0xa0 8078128: f7dc fb38 bl 805479c BSP_LCD_DisplayStringAt(258-20, 170, "Äà", RIGHT_MODE); 807812c: 2302 movs r3, #2 807812e: 4a28 ldr r2, [pc, #160] ; (80781d0 ) 8078130: 21aa movs r1, #170 ; 0xaa 8078132: 20ee movs r0, #238 ; 0xee 8078134: f7dc fb32 bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078138: 491a ldr r1, [pc, #104] ; (80781a4 ) 807813a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807813e: f7dc fa67 bl 8054610 BSP_LCD_DisplayStringAt(62+20, 170, "Íåò", LEFT_MODE); 8078142: 2303 movs r3, #3 8078144: 4a23 ldr r2, [pc, #140] ; (80781d4 ) 8078146: 21aa movs r1, #170 ; 0xaa 8078148: 2052 movs r0, #82 ; 0x52 807814a: f7dc fb27 bl 805479c 807814e: f001 ba92 b.w 8079676 } else { BSP_LCD_SetFont(&Font12); 8078152: 481c ldr r0, [pc, #112] ; (80781c4 ) 8078154: f7dc fa98 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078158: 4912 ldr r1, [pc, #72] ; (80781a4 ) 807815a: f04f 30ff mov.w r0, #4294967295 807815e: f7dc fa57 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "The memory card will", CENTER_MODE); 8078162: 2301 movs r3, #1 8078164: 4a1c ldr r2, [pc, #112] ; (80781d8 ) 8078166: 217a movs r1, #122 ; 0x7a 8078168: 20a0 movs r0, #160 ; 0xa0 807816a: f7dc fb17 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "be cleared. Continue?", CENTER_MODE); 807816e: 2301 movs r3, #1 8078170: 4a1a ldr r2, [pc, #104] ; (80781dc ) 8078172: 218a movs r1, #138 ; 0x8a 8078174: 20a0 movs r0, #160 ; 0xa0 8078176: f7dc fb11 bl 805479c BSP_LCD_DisplayStringAt(258-20, 170, "Yes", RIGHT_MODE); 807817a: 2302 movs r3, #2 807817c: 4a18 ldr r2, [pc, #96] ; (80781e0 ) 807817e: 21aa movs r1, #170 ; 0xaa 8078180: 20ee movs r0, #238 ; 0xee 8078182: f7dc fb0b bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078186: 4907 ldr r1, [pc, #28] ; (80781a4 ) 8078188: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807818c: f7dc fa40 bl 8054610 BSP_LCD_DisplayStringAt(62+20, 170, "No", LEFT_MODE); 8078190: 2303 movs r3, #3 8078192: 4a14 ldr r2, [pc, #80] ; (80781e4 ) 8078194: 21aa movs r1, #170 ; 0xaa 8078196: 2052 movs r0, #82 ; 0x52 8078198: f7dc fb00 bl 805479c 807819c: f001 ba6b b.w 8079676 80781a0: 20020070 .word 0x20020070 80781a4: ff0a0f1f .word 0xff0a0f1f 80781a8: 20023ea8 .word 0x20023ea8 80781ac: 200205dc .word 0x200205dc 80781b0: 20020684 .word 0x20020684 80781b4: ffd8aa57 .word 0xffd8aa57 80781b8: 200205c4 .word 0x200205c4 80781bc: 20020154 .word 0x20020154 80781c0: ffd3d3d3 .word 0xffd3d3d3 80781c4: 20020038 .word 0x20020038 80781c8: 080d42b0 .word 0x080d42b0 80781cc: 080d42c4 .word 0x080d42c4 80781d0: 080d3bc8 .word 0x080d3bc8 80781d4: 080d2a18 .word 0x080d2a18 80781d8: 080d42dc .word 0x080d42dc 80781dc: 080d42f4 .word 0x080d42f4 80781e0: 080d4134 .word 0x080d4134 80781e4: 080d4138 .word 0x080d4138 } } else if(menupos == FormatDiskYes) 80781e8: 4bad ldr r3, [pc, #692] ; (80784a0 ) 80781ea: 781b ldrb r3, [r3, #0] 80781ec: b2db uxtb r3, r3 80781ee: 2b09 cmp r3, #9 80781f0: f040 817a bne.w 80784e8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80781f4: 49ab ldr r1, [pc, #684] ; (80784a4 ) 80781f6: f04f 30ff mov.w r0, #4294967295 80781fa: f7dc fa09 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80781fe: 4baa ldr r3, [pc, #680] ; (80784a8 ) 8078200: 7b1b ldrb r3, [r3, #12] 8078202: b2db uxtb r3, r3 8078204: 4619 mov r1, r3 8078206: 4ba8 ldr r3, [pc, #672] ; (80784a8 ) 8078208: 799b ldrb r3, [r3, #6] 807820a: b2db uxtb r3, r3 807820c: 4618 mov r0, r3 807820e: 4aa7 ldr r2, [pc, #668] ; (80784ac ) 8078210: 460b mov r3, r1 8078212: 005b lsls r3, r3, #1 8078214: 440b add r3, r1 8078216: 4403 add r3, r0 8078218: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807821c: 461a mov r2, r3 807821e: 215a movs r1, #90 ; 0x5a 8078220: 200a movs r0, #10 8078222: f7dc ff9d bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8078226: 4ba0 ldr r3, [pc, #640] ; (80784a8 ) 8078228: 7b1b ldrb r3, [r3, #12] 807822a: b2db uxtb r3, r3 807822c: 4619 mov r1, r3 807822e: 4aa0 ldr r2, [pc, #640] ; (80784b0 ) 8078230: 460b mov r3, r1 8078232: 009b lsls r3, r3, #2 8078234: 440b add r3, r1 8078236: 009b lsls r3, r3, #2 8078238: 4413 add r3, r2 807823a: 3304 adds r3, #4 807823c: 681b ldr r3, [r3, #0] 807823e: 461a mov r2, r3 8078240: 217a movs r1, #122 ; 0x7a 8078242: 200a movs r0, #10 8078244: f7dc ff8c bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8078248: 4b97 ldr r3, [pc, #604] ; (80784a8 ) 807824a: 7b1b ldrb r3, [r3, #12] 807824c: b2db uxtb r3, r3 807824e: 4619 mov r1, r3 8078250: 4a97 ldr r2, [pc, #604] ; (80784b0 ) 8078252: 460b mov r3, r1 8078254: 009b lsls r3, r3, #2 8078256: 440b add r3, r1 8078258: 009b lsls r3, r3, #2 807825a: 4413 add r3, r2 807825c: 3308 adds r3, #8 807825e: 681b ldr r3, [r3, #0] 8078260: 461a mov r2, r3 8078262: 216a movs r1, #106 ; 0x6a 8078264: 200a movs r0, #10 8078266: f7dc ff7b bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807826a: 4b8f ldr r3, [pc, #572] ; (80784a8 ) 807826c: 7b1b ldrb r3, [r3, #12] 807826e: b2db uxtb r3, r3 8078270: 4619 mov r1, r3 8078272: 4a8f ldr r2, [pc, #572] ; (80784b0 ) 8078274: 460b mov r3, r1 8078276: 009b lsls r3, r3, #2 8078278: 440b add r3, r1 807827a: 009b lsls r3, r3, #2 807827c: 4413 add r3, r2 807827e: 330c adds r3, #12 8078280: 681b ldr r3, [r3, #0] 8078282: 461a mov r2, r3 8078284: 218a movs r1, #138 ; 0x8a 8078286: 200a movs r0, #10 8078288: f7dc ff6a bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807828c: 4985 ldr r1, [pc, #532] ; (80784a4 ) 807828e: 4889 ldr r0, [pc, #548] ; (80784b4 ) 8078290: f7dc f9be bl 8054610 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078294: 4b84 ldr r3, [pc, #528] ; (80784a8 ) 8078296: 7b1b ldrb r3, [r3, #12] 8078298: b2db uxtb r3, r3 807829a: 461a mov r2, r3 807829c: 4b86 ldr r3, [pc, #536] ; (80784b8 ) 807829e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80782a2: 461a mov r2, r3 80782a4: 216a movs r1, #106 ; 0x6a 80782a6: 20ff movs r0, #255 ; 0xff 80782a8: f7dc ff72 bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80782ac: 497d ldr r1, [pc, #500] ; (80784a4 ) 80782ae: 4881 ldr r0, [pc, #516] ; (80784b4 ) 80782b0: f7dc f9ae bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80782b4: 4b7c ldr r3, [pc, #496] ; (80784a8 ) 80782b6: 7b1b ldrb r3, [r3, #12] 80782b8: b2db uxtb r3, r3 80782ba: 4619 mov r1, r3 80782bc: 4b7a ldr r3, [pc, #488] ; (80784a8 ) 80782be: 799b ldrb r3, [r3, #6] 80782c0: b2db uxtb r3, r3 80782c2: 4618 mov r0, r3 80782c4: 4a7d ldr r2, [pc, #500] ; (80784bc ) 80782c6: 460b mov r3, r1 80782c8: 005b lsls r3, r3, #1 80782ca: 440b add r3, r1 80782cc: 4403 add r3, r0 80782ce: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80782d2: 461a mov r2, r3 80782d4: 214a movs r1, #74 ; 0x4a 80782d6: 20ff movs r0, #255 ; 0xff 80782d8: f7dc ff5a bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80782dc: 4971 ldr r1, [pc, #452] ; (80784a4 ) 80782de: 4875 ldr r0, [pc, #468] ; (80784b4 ) 80782e0: f7dc f996 bl 8054610 memset(str, 0, sizeof(str)); 80782e4: f507 733b add.w r3, r7, #748 ; 0x2ec 80782e8: 223c movs r2, #60 ; 0x3c 80782ea: 2100 movs r1, #0 80782ec: 4618 mov r0, r3 80782ee: f059 f857 bl 80d13a0 i = 0; 80782f2: 2300 movs r3, #0 80782f4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80782f8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80782fc: b2db uxtb r3, r3 80782fe: 2b00 cmp r3, #0 8078300: d00c beq.n 807831c str[i++] = ies + 48; 8078302: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078306: 1c5a adds r2, r3, #1 8078308: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807830c: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8078310: b2d2 uxtb r2, r2 8078312: 3230 adds r2, #48 ; 0x30 8078314: b2d1 uxtb r1, r2 8078316: f507 723b add.w r2, r7, #748 ; 0x2ec 807831a: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 807831c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078320: b2db uxtb r3, r3 8078322: 2b00 cmp r3, #0 8078324: d104 bne.n 8078330 8078326: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807832a: b2db uxtb r3, r3 807832c: 2b00 cmp r3, #0 807832e: d00c beq.n 807834a str[i++] = ied + 48; 8078330: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078334: 1c5a adds r2, r3, #1 8078336: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807833a: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 807833e: b2d2 uxtb r2, r2 8078340: 3230 adds r2, #48 ; 0x30 8078342: b2d1 uxtb r1, r2 8078344: f507 723b add.w r2, r7, #748 ; 0x2ec 8078348: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 807834a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807834e: 1c5a adds r2, r3, #1 8078350: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078354: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8078358: b2d2 uxtb r2, r2 807835a: 3230 adds r2, #48 ; 0x30 807835c: b2d1 uxtb r1, r2 807835e: f507 723b add.w r2, r7, #748 ; 0x2ec 8078362: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8078364: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078368: 1c5a adds r2, r3, #1 807836a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807836e: f507 723b add.w r2, r7, #748 ; 0x2ec 8078372: 212e movs r1, #46 ; 0x2e 8078374: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8078376: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807837a: 1c5a adds r2, r3, #1 807837c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078380: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8078384: b2d2 uxtb r2, r2 8078386: 3230 adds r2, #48 ; 0x30 8078388: b2d1 uxtb r1, r2 807838a: f507 723b add.w r2, r7, #748 ; 0x2ec 807838e: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8078390: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078394: 1c5a adds r2, r3, #1 8078396: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807839a: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 807839e: b2d2 uxtb r2, r2 80783a0: 3230 adds r2, #48 ; 0x30 80783a2: b2d1 uxtb r1, r2 80783a4: f507 723b add.w r2, r7, #748 ; 0x2ec 80783a8: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 80783aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80783ae: 1c5a adds r2, r3, #1 80783b0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80783b4: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80783b8: b2d2 uxtb r2, r2 80783ba: 3230 adds r2, #48 ; 0x30 80783bc: b2d1 uxtb r1, r2 80783be: f507 723b add.w r2, r7, #748 ; 0x2ec 80783c2: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 80783c4: f507 733b add.w r3, r7, #748 ; 0x2ec 80783c8: 461a mov r2, r3 80783ca: 215a movs r1, #90 ; 0x5a 80783cc: 20ff movs r0, #255 ; 0xff 80783ce: f7dc fedf bl 8055190 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80783d2: 4934 ldr r1, [pc, #208] ; (80784a4 ) 80783d4: 483a ldr r0, [pc, #232] ; (80784c0 ) 80783d6: f7dc f91b bl 8054610 BSP_LCD_FillRect(60, 73, 200, 124); 80783da: 237c movs r3, #124 ; 0x7c 80783dc: 22c8 movs r2, #200 ; 0xc8 80783de: 2149 movs r1, #73 ; 0x49 80783e0: 203c movs r0, #60 ; 0x3c 80783e2: f7dc fda3 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80783e6: 492f ldr r1, [pc, #188] ; (80784a4 ) 80783e8: 482e ldr r0, [pc, #184] ; (80784a4 ) 80783ea: f7dc f911 bl 8054610 BSP_LCD_FillRect(62, 75, 196, 120); 80783ee: 2378 movs r3, #120 ; 0x78 80783f0: 22c4 movs r2, #196 ; 0xc4 80783f2: 214b movs r1, #75 ; 0x4b 80783f4: 203e movs r0, #62 ; 0x3e 80783f6: f7dc fd99 bl 8054f2c if(pardata.LANG == RUS) 80783fa: 4b2b ldr r3, [pc, #172] ; (80784a8 ) 80783fc: 7b1b ldrb r3, [r3, #12] 80783fe: b2db uxtb r3, r3 8078400: 2b00 cmp r3, #0 8078402: d126 bne.n 8078452 { BSP_LCD_SetFont(&Font12); 8078404: 482f ldr r0, [pc, #188] ; (80784c4 ) 8078406: f7dc f93f bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807840a: 4926 ldr r1, [pc, #152] ; (80784a4 ) 807840c: f04f 30ff mov.w r0, #4294967295 8078410: f7dc f8fe bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Êàðòà ïàìÿòè áóäåò", CENTER_MODE); 8078414: 2301 movs r3, #1 8078416: 4a2c ldr r2, [pc, #176] ; (80784c8 ) 8078418: 217a movs r1, #122 ; 0x7a 807841a: 20a0 movs r0, #160 ; 0xa0 807841c: f7dc f9be bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "î÷èùåíà. Ïðîäîëæèòü?", CENTER_MODE); 8078420: 2301 movs r3, #1 8078422: 4a2a ldr r2, [pc, #168] ; (80784cc ) 8078424: 218a movs r1, #138 ; 0x8a 8078426: 20a0 movs r0, #160 ; 0xa0 8078428: f7dc f9b8 bl 805479c BSP_LCD_DisplayStringAt(62+20, 170, "Íåò", LEFT_MODE); 807842c: 2303 movs r3, #3 807842e: 4a28 ldr r2, [pc, #160] ; (80784d0 ) 8078430: 21aa movs r1, #170 ; 0xaa 8078432: 2052 movs r0, #82 ; 0x52 8078434: f7dc f9b2 bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078438: 491a ldr r1, [pc, #104] ; (80784a4 ) 807843a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807843e: f7dc f8e7 bl 8054610 BSP_LCD_DisplayStringAt(258-20, 170, "Äà", RIGHT_MODE); 8078442: 2302 movs r3, #2 8078444: 4a23 ldr r2, [pc, #140] ; (80784d4 ) 8078446: 21aa movs r1, #170 ; 0xaa 8078448: 20ee movs r0, #238 ; 0xee 807844a: f7dc f9a7 bl 805479c 807844e: f001 b912 b.w 8079676 } else { BSP_LCD_SetFont(&Font12); 8078452: 481c ldr r0, [pc, #112] ; (80784c4 ) 8078454: f7dc f918 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078458: 4912 ldr r1, [pc, #72] ; (80784a4 ) 807845a: f04f 30ff mov.w r0, #4294967295 807845e: f7dc f8d7 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "The memory card will", CENTER_MODE); 8078462: 2301 movs r3, #1 8078464: 4a1c ldr r2, [pc, #112] ; (80784d8 ) 8078466: 217a movs r1, #122 ; 0x7a 8078468: 20a0 movs r0, #160 ; 0xa0 807846a: f7dc f997 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "be cleared. Continue?", CENTER_MODE); 807846e: 2301 movs r3, #1 8078470: 4a1a ldr r2, [pc, #104] ; (80784dc ) 8078472: 218a movs r1, #138 ; 0x8a 8078474: 20a0 movs r0, #160 ; 0xa0 8078476: f7dc f991 bl 805479c BSP_LCD_DisplayStringAt(62+20, 170, "No", LEFT_MODE); 807847a: 2303 movs r3, #3 807847c: 4a18 ldr r2, [pc, #96] ; (80784e0 ) 807847e: 21aa movs r1, #170 ; 0xaa 8078480: 2052 movs r0, #82 ; 0x52 8078482: f7dc f98b bl 805479c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078486: 4907 ldr r1, [pc, #28] ; (80784a4 ) 8078488: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807848c: f7dc f8c0 bl 8054610 BSP_LCD_DisplayStringAt(258-20, 170, "Yes", RIGHT_MODE); 8078490: 2302 movs r3, #2 8078492: 4a14 ldr r2, [pc, #80] ; (80784e4 ) 8078494: 21aa movs r1, #170 ; 0xaa 8078496: 20ee movs r0, #238 ; 0xee 8078498: f7dc f980 bl 805479c 807849c: f001 b8eb b.w 8079676 80784a0: 20020070 .word 0x20020070 80784a4: ff0a0f1f .word 0xff0a0f1f 80784a8: 20023ea8 .word 0x20023ea8 80784ac: 200205dc .word 0x200205dc 80784b0: 20020684 .word 0x20020684 80784b4: ffd8aa57 .word 0xffd8aa57 80784b8: 200205c4 .word 0x200205c4 80784bc: 20020154 .word 0x20020154 80784c0: ffd3d3d3 .word 0xffd3d3d3 80784c4: 20020038 .word 0x20020038 80784c8: 080d42b0 .word 0x080d42b0 80784cc: 080d42c4 .word 0x080d42c4 80784d0: 080d2a18 .word 0x080d2a18 80784d4: 080d3bc8 .word 0x080d3bc8 80784d8: 080d42dc .word 0x080d42dc 80784dc: 080d42f4 .word 0x080d42f4 80784e0: 080d4138 .word 0x080d4138 80784e4: 080d4134 .word 0x080d4134 } } else if(menupos == FormatDiskProcessing) 80784e8: 4b9c ldr r3, [pc, #624] ; (807875c ) 80784ea: 781b ldrb r3, [r3, #0] 80784ec: b2db uxtb r3, r3 80784ee: 2b0b cmp r3, #11 80784f0: f040 8150 bne.w 8078794 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80784f4: 499a ldr r1, [pc, #616] ; (8078760 ) 80784f6: f04f 30ff mov.w r0, #4294967295 80784fa: f7dc f889 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80784fe: 4b99 ldr r3, [pc, #612] ; (8078764 ) 8078500: 7b1b ldrb r3, [r3, #12] 8078502: b2db uxtb r3, r3 8078504: 4619 mov r1, r3 8078506: 4b97 ldr r3, [pc, #604] ; (8078764 ) 8078508: 799b ldrb r3, [r3, #6] 807850a: b2db uxtb r3, r3 807850c: 4618 mov r0, r3 807850e: 4a96 ldr r2, [pc, #600] ; (8078768 ) 8078510: 460b mov r3, r1 8078512: 005b lsls r3, r3, #1 8078514: 440b add r3, r1 8078516: 4403 add r3, r0 8078518: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807851c: 461a mov r2, r3 807851e: 215a movs r1, #90 ; 0x5a 8078520: 200a movs r0, #10 8078522: f7dc fe1d bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8078526: 4b8f ldr r3, [pc, #572] ; (8078764 ) 8078528: 7b1b ldrb r3, [r3, #12] 807852a: b2db uxtb r3, r3 807852c: 4619 mov r1, r3 807852e: 4a8f ldr r2, [pc, #572] ; (807876c ) 8078530: 460b mov r3, r1 8078532: 009b lsls r3, r3, #2 8078534: 440b add r3, r1 8078536: 009b lsls r3, r3, #2 8078538: 4413 add r3, r2 807853a: 3304 adds r3, #4 807853c: 681b ldr r3, [r3, #0] 807853e: 461a mov r2, r3 8078540: 217a movs r1, #122 ; 0x7a 8078542: 200a movs r0, #10 8078544: f7dc fe0c bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8078548: 4b86 ldr r3, [pc, #536] ; (8078764 ) 807854a: 7b1b ldrb r3, [r3, #12] 807854c: b2db uxtb r3, r3 807854e: 4619 mov r1, r3 8078550: 4a86 ldr r2, [pc, #536] ; (807876c ) 8078552: 460b mov r3, r1 8078554: 009b lsls r3, r3, #2 8078556: 440b add r3, r1 8078558: 009b lsls r3, r3, #2 807855a: 4413 add r3, r2 807855c: 3308 adds r3, #8 807855e: 681b ldr r3, [r3, #0] 8078560: 461a mov r2, r3 8078562: 216a movs r1, #106 ; 0x6a 8078564: 200a movs r0, #10 8078566: f7dc fdfb bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807856a: 4b7e ldr r3, [pc, #504] ; (8078764 ) 807856c: 7b1b ldrb r3, [r3, #12] 807856e: b2db uxtb r3, r3 8078570: 4619 mov r1, r3 8078572: 4a7e ldr r2, [pc, #504] ; (807876c ) 8078574: 460b mov r3, r1 8078576: 009b lsls r3, r3, #2 8078578: 440b add r3, r1 807857a: 009b lsls r3, r3, #2 807857c: 4413 add r3, r2 807857e: 330c adds r3, #12 8078580: 681b ldr r3, [r3, #0] 8078582: 461a mov r2, r3 8078584: 218a movs r1, #138 ; 0x8a 8078586: 200a movs r0, #10 8078588: f7dc fdea bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807858c: 4974 ldr r1, [pc, #464] ; (8078760 ) 807858e: 4878 ldr r0, [pc, #480] ; (8078770 ) 8078590: f7dc f83e bl 8054610 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078594: 4b73 ldr r3, [pc, #460] ; (8078764 ) 8078596: 7b1b ldrb r3, [r3, #12] 8078598: b2db uxtb r3, r3 807859a: 461a mov r2, r3 807859c: 4b75 ldr r3, [pc, #468] ; (8078774 ) 807859e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80785a2: 461a mov r2, r3 80785a4: 216a movs r1, #106 ; 0x6a 80785a6: 20ff movs r0, #255 ; 0xff 80785a8: f7dc fdf2 bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80785ac: 496c ldr r1, [pc, #432] ; (8078760 ) 80785ae: 4870 ldr r0, [pc, #448] ; (8078770 ) 80785b0: f7dc f82e bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80785b4: 4b6b ldr r3, [pc, #428] ; (8078764 ) 80785b6: 7b1b ldrb r3, [r3, #12] 80785b8: b2db uxtb r3, r3 80785ba: 4619 mov r1, r3 80785bc: 4b69 ldr r3, [pc, #420] ; (8078764 ) 80785be: 799b ldrb r3, [r3, #6] 80785c0: b2db uxtb r3, r3 80785c2: 4618 mov r0, r3 80785c4: 4a6c ldr r2, [pc, #432] ; (8078778 ) 80785c6: 460b mov r3, r1 80785c8: 005b lsls r3, r3, #1 80785ca: 440b add r3, r1 80785cc: 4403 add r3, r0 80785ce: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80785d2: 461a mov r2, r3 80785d4: 214a movs r1, #74 ; 0x4a 80785d6: 20ff movs r0, #255 ; 0xff 80785d8: f7dc fdda bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80785dc: 4960 ldr r1, [pc, #384] ; (8078760 ) 80785de: 4864 ldr r0, [pc, #400] ; (8078770 ) 80785e0: f7dc f816 bl 8054610 memset(str, 0, sizeof(str)); 80785e4: f507 733b add.w r3, r7, #748 ; 0x2ec 80785e8: 223c movs r2, #60 ; 0x3c 80785ea: 2100 movs r1, #0 80785ec: 4618 mov r0, r3 80785ee: f058 fed7 bl 80d13a0 i = 0; 80785f2: 2300 movs r3, #0 80785f4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80785f8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80785fc: b2db uxtb r3, r3 80785fe: 2b00 cmp r3, #0 8078600: d00c beq.n 807861c str[i++] = ies + 48; 8078602: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078606: 1c5a adds r2, r3, #1 8078608: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807860c: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8078610: b2d2 uxtb r2, r2 8078612: 3230 adds r2, #48 ; 0x30 8078614: b2d1 uxtb r1, r2 8078616: f507 723b add.w r2, r7, #748 ; 0x2ec 807861a: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 807861c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078620: b2db uxtb r3, r3 8078622: 2b00 cmp r3, #0 8078624: d104 bne.n 8078630 8078626: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807862a: b2db uxtb r3, r3 807862c: 2b00 cmp r3, #0 807862e: d00c beq.n 807864a str[i++] = ied + 48; 8078630: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078634: 1c5a adds r2, r3, #1 8078636: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807863a: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 807863e: b2d2 uxtb r2, r2 8078640: 3230 adds r2, #48 ; 0x30 8078642: b2d1 uxtb r1, r2 8078644: f507 723b add.w r2, r7, #748 ; 0x2ec 8078648: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 807864a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807864e: 1c5a adds r2, r3, #1 8078650: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078654: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8078658: b2d2 uxtb r2, r2 807865a: 3230 adds r2, #48 ; 0x30 807865c: b2d1 uxtb r1, r2 807865e: f507 723b add.w r2, r7, #748 ; 0x2ec 8078662: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8078664: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078668: 1c5a adds r2, r3, #1 807866a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807866e: f507 723b add.w r2, r7, #748 ; 0x2ec 8078672: 212e movs r1, #46 ; 0x2e 8078674: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8078676: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807867a: 1c5a adds r2, r3, #1 807867c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078680: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8078684: b2d2 uxtb r2, r2 8078686: 3230 adds r2, #48 ; 0x30 8078688: b2d1 uxtb r1, r2 807868a: f507 723b add.w r2, r7, #748 ; 0x2ec 807868e: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8078690: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078694: 1c5a adds r2, r3, #1 8078696: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807869a: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 807869e: b2d2 uxtb r2, r2 80786a0: 3230 adds r2, #48 ; 0x30 80786a2: b2d1 uxtb r1, r2 80786a4: f507 723b add.w r2, r7, #748 ; 0x2ec 80786a8: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 80786aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80786ae: 1c5a adds r2, r3, #1 80786b0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80786b4: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80786b8: b2d2 uxtb r2, r2 80786ba: 3230 adds r2, #48 ; 0x30 80786bc: b2d1 uxtb r1, r2 80786be: f507 723b add.w r2, r7, #748 ; 0x2ec 80786c2: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 80786c4: f507 733b add.w r3, r7, #748 ; 0x2ec 80786c8: 461a mov r2, r3 80786ca: 215a movs r1, #90 ; 0x5a 80786cc: 20ff movs r0, #255 ; 0xff 80786ce: f7dc fd5f bl 8055190 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80786d2: 4923 ldr r1, [pc, #140] ; (8078760 ) 80786d4: 4829 ldr r0, [pc, #164] ; (807877c ) 80786d6: f7db ff9b bl 8054610 BSP_LCD_FillRect(60, 73, 200, 124); 80786da: 237c movs r3, #124 ; 0x7c 80786dc: 22c8 movs r2, #200 ; 0xc8 80786de: 2149 movs r1, #73 ; 0x49 80786e0: 203c movs r0, #60 ; 0x3c 80786e2: f7dc fc23 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80786e6: 491e ldr r1, [pc, #120] ; (8078760 ) 80786e8: 481d ldr r0, [pc, #116] ; (8078760 ) 80786ea: f7db ff91 bl 8054610 BSP_LCD_FillRect(62, 75, 196, 120); 80786ee: 2378 movs r3, #120 ; 0x78 80786f0: 22c4 movs r2, #196 ; 0xc4 80786f2: 214b movs r1, #75 ; 0x4b 80786f4: 203e movs r0, #62 ; 0x3e 80786f6: f7dc fc19 bl 8054f2c if(pardata.LANG == RUS) 80786fa: 4b1a ldr r3, [pc, #104] ; (8078764 ) 80786fc: 7b1b ldrb r3, [r3, #12] 80786fe: b2db uxtb r3, r3 8078700: 2b00 cmp r3, #0 8078702: d115 bne.n 8078730 { BSP_LCD_SetFont(&Font12); 8078704: 481e ldr r0, [pc, #120] ; (8078780 ) 8078706: f7db ffbf bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807870a: 4915 ldr r1, [pc, #84] ; (8078760 ) 807870c: f04f 30ff mov.w r0, #4294967295 8078710: f7db ff7e bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå äèñêà.", CENTER_MODE); 8078714: 2301 movs r3, #1 8078716: 4a1b ldr r2, [pc, #108] ; (8078784 ) 8078718: 217a movs r1, #122 ; 0x7a 807871a: 20a0 movs r0, #160 ; 0xa0 807871c: f7dc f83e bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Æäèòå...", CENTER_MODE); 8078720: 2301 movs r3, #1 8078722: 4a19 ldr r2, [pc, #100] ; (8078788 ) 8078724: 218a movs r1, #138 ; 0x8a 8078726: 20a0 movs r0, #160 ; 0xa0 8078728: f7dc f838 bl 805479c 807872c: f000 bfa3 b.w 8079676 } else { BSP_LCD_SetFont(&Font12); 8078730: 4813 ldr r0, [pc, #76] ; (8078780 ) 8078732: f7db ffa9 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078736: 490a ldr r1, [pc, #40] ; (8078760 ) 8078738: f04f 30ff mov.w r0, #4294967295 807873c: f7db ff68 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Formatting the drive.", CENTER_MODE); 8078740: 2301 movs r3, #1 8078742: 4a12 ldr r2, [pc, #72] ; (807878c ) 8078744: 217a movs r1, #122 ; 0x7a 8078746: 20a0 movs r0, #160 ; 0xa0 8078748: f7dc f828 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Please, wait...", CENTER_MODE); 807874c: 2301 movs r3, #1 807874e: 4a10 ldr r2, [pc, #64] ; (8078790 ) 8078750: 218a movs r1, #138 ; 0x8a 8078752: 20a0 movs r0, #160 ; 0xa0 8078754: f7dc f822 bl 805479c 8078758: f000 bf8d b.w 8079676 807875c: 20020070 .word 0x20020070 8078760: ff0a0f1f .word 0xff0a0f1f 8078764: 20023ea8 .word 0x20023ea8 8078768: 200205dc .word 0x200205dc 807876c: 20020684 .word 0x20020684 8078770: ffd8aa57 .word 0xffd8aa57 8078774: 200205c4 .word 0x200205c4 8078778: 20020154 .word 0x20020154 807877c: ffd3d3d3 .word 0xffd3d3d3 8078780: 20020038 .word 0x20020038 8078784: 080d430c .word 0x080d430c 8078788: 080d41e4 .word 0x080d41e4 807878c: 080d4324 .word 0x080d4324 8078790: 080d433c .word 0x080d433c } } else if(menupos == FormatDiskResult) 8078794: 4bc5 ldr r3, [pc, #788] ; (8078aac ) 8078796: 781b ldrb r3, [r3, #0] 8078798: b2db uxtb r3, r3 807879a: 2b0a cmp r3, #10 807879c: f040 81ce bne.w 8078b3c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80787a0: 49c3 ldr r1, [pc, #780] ; (8078ab0 ) 80787a2: f04f 30ff mov.w r0, #4294967295 80787a6: f7db ff33 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80787aa: 4bc2 ldr r3, [pc, #776] ; (8078ab4 ) 80787ac: 7b1b ldrb r3, [r3, #12] 80787ae: b2db uxtb r3, r3 80787b0: 4619 mov r1, r3 80787b2: 4bc0 ldr r3, [pc, #768] ; (8078ab4 ) 80787b4: 799b ldrb r3, [r3, #6] 80787b6: b2db uxtb r3, r3 80787b8: 4618 mov r0, r3 80787ba: 4abf ldr r2, [pc, #764] ; (8078ab8 ) 80787bc: 460b mov r3, r1 80787be: 005b lsls r3, r3, #1 80787c0: 440b add r3, r1 80787c2: 4403 add r3, r0 80787c4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80787c8: 461a mov r2, r3 80787ca: 215a movs r1, #90 ; 0x5a 80787cc: 200a movs r0, #10 80787ce: f7dc fcc7 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80787d2: 4bb8 ldr r3, [pc, #736] ; (8078ab4 ) 80787d4: 7b1b ldrb r3, [r3, #12] 80787d6: b2db uxtb r3, r3 80787d8: 4619 mov r1, r3 80787da: 4ab8 ldr r2, [pc, #736] ; (8078abc ) 80787dc: 460b mov r3, r1 80787de: 009b lsls r3, r3, #2 80787e0: 440b add r3, r1 80787e2: 009b lsls r3, r3, #2 80787e4: 4413 add r3, r2 80787e6: 3304 adds r3, #4 80787e8: 681b ldr r3, [r3, #0] 80787ea: 461a mov r2, r3 80787ec: 217a movs r1, #122 ; 0x7a 80787ee: 200a movs r0, #10 80787f0: f7dc fcb6 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 80787f4: 4baf ldr r3, [pc, #700] ; (8078ab4 ) 80787f6: 7b1b ldrb r3, [r3, #12] 80787f8: b2db uxtb r3, r3 80787fa: 4619 mov r1, r3 80787fc: 4aaf ldr r2, [pc, #700] ; (8078abc ) 80787fe: 460b mov r3, r1 8078800: 009b lsls r3, r3, #2 8078802: 440b add r3, r1 8078804: 009b lsls r3, r3, #2 8078806: 4413 add r3, r2 8078808: 3308 adds r3, #8 807880a: 681b ldr r3, [r3, #0] 807880c: 461a mov r2, r3 807880e: 216a movs r1, #106 ; 0x6a 8078810: 200a movs r0, #10 8078812: f7dc fca5 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8078816: 4ba7 ldr r3, [pc, #668] ; (8078ab4 ) 8078818: 7b1b ldrb r3, [r3, #12] 807881a: b2db uxtb r3, r3 807881c: 4619 mov r1, r3 807881e: 4aa7 ldr r2, [pc, #668] ; (8078abc ) 8078820: 460b mov r3, r1 8078822: 009b lsls r3, r3, #2 8078824: 440b add r3, r1 8078826: 009b lsls r3, r3, #2 8078828: 4413 add r3, r2 807882a: 330c adds r3, #12 807882c: 681b ldr r3, [r3, #0] 807882e: 461a mov r2, r3 8078830: 218a movs r1, #138 ; 0x8a 8078832: 200a movs r0, #10 8078834: f7dc fc94 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078838: 499d ldr r1, [pc, #628] ; (8078ab0 ) 807883a: 48a1 ldr r0, [pc, #644] ; (8078ac0 ) 807883c: f7db fee8 bl 8054610 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078840: 4b9c ldr r3, [pc, #624] ; (8078ab4 ) 8078842: 7b1b ldrb r3, [r3, #12] 8078844: b2db uxtb r3, r3 8078846: 461a mov r2, r3 8078848: 4b9e ldr r3, [pc, #632] ; (8078ac4 ) 807884a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807884e: 461a mov r2, r3 8078850: 216a movs r1, #106 ; 0x6a 8078852: 20ff movs r0, #255 ; 0xff 8078854: f7dc fc9c bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078858: 4995 ldr r1, [pc, #596] ; (8078ab0 ) 807885a: 4899 ldr r0, [pc, #612] ; (8078ac0 ) 807885c: f7db fed8 bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8078860: 4b94 ldr r3, [pc, #592] ; (8078ab4 ) 8078862: 7b1b ldrb r3, [r3, #12] 8078864: b2db uxtb r3, r3 8078866: 4619 mov r1, r3 8078868: 4b92 ldr r3, [pc, #584] ; (8078ab4 ) 807886a: 799b ldrb r3, [r3, #6] 807886c: b2db uxtb r3, r3 807886e: 4618 mov r0, r3 8078870: 4a95 ldr r2, [pc, #596] ; (8078ac8 ) 8078872: 460b mov r3, r1 8078874: 005b lsls r3, r3, #1 8078876: 440b add r3, r1 8078878: 4403 add r3, r0 807887a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807887e: 461a mov r2, r3 8078880: 214a movs r1, #74 ; 0x4a 8078882: 20ff movs r0, #255 ; 0xff 8078884: f7dc fc84 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078888: 4989 ldr r1, [pc, #548] ; (8078ab0 ) 807888a: 488d ldr r0, [pc, #564] ; (8078ac0 ) 807888c: f7db fec0 bl 8054610 memset(str, 0, sizeof(str)); 8078890: f507 733b add.w r3, r7, #748 ; 0x2ec 8078894: 223c movs r2, #60 ; 0x3c 8078896: 2100 movs r1, #0 8078898: 4618 mov r0, r3 807889a: f058 fd81 bl 80d13a0 i = 0; 807889e: 2300 movs r3, #0 80788a0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80788a4: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80788a8: b2db uxtb r3, r3 80788aa: 2b00 cmp r3, #0 80788ac: d00c beq.n 80788c8 str[i++] = ies + 48; 80788ae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80788b2: 1c5a adds r2, r3, #1 80788b4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80788b8: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 80788bc: b2d2 uxtb r2, r2 80788be: 3230 adds r2, #48 ; 0x30 80788c0: b2d1 uxtb r1, r2 80788c2: f507 723b add.w r2, r7, #748 ; 0x2ec 80788c6: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 80788c8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80788cc: b2db uxtb r3, r3 80788ce: 2b00 cmp r3, #0 80788d0: d104 bne.n 80788dc 80788d2: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80788d6: b2db uxtb r3, r3 80788d8: 2b00 cmp r3, #0 80788da: d00c beq.n 80788f6 str[i++] = ied + 48; 80788dc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80788e0: 1c5a adds r2, r3, #1 80788e2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80788e6: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 80788ea: b2d2 uxtb r2, r2 80788ec: 3230 adds r2, #48 ; 0x30 80788ee: b2d1 uxtb r1, r2 80788f0: f507 723b add.w r2, r7, #748 ; 0x2ec 80788f4: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 80788f6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80788fa: 1c5a adds r2, r3, #1 80788fc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078900: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8078904: b2d2 uxtb r2, r2 8078906: 3230 adds r2, #48 ; 0x30 8078908: b2d1 uxtb r1, r2 807890a: f507 723b add.w r2, r7, #748 ; 0x2ec 807890e: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8078910: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078914: 1c5a adds r2, r3, #1 8078916: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807891a: f507 723b add.w r2, r7, #748 ; 0x2ec 807891e: 212e movs r1, #46 ; 0x2e 8078920: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8078922: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078926: 1c5a adds r2, r3, #1 8078928: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807892c: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8078930: b2d2 uxtb r2, r2 8078932: 3230 adds r2, #48 ; 0x30 8078934: b2d1 uxtb r1, r2 8078936: f507 723b add.w r2, r7, #748 ; 0x2ec 807893a: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 807893c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078940: 1c5a adds r2, r3, #1 8078942: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078946: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 807894a: b2d2 uxtb r2, r2 807894c: 3230 adds r2, #48 ; 0x30 807894e: b2d1 uxtb r1, r2 8078950: f507 723b add.w r2, r7, #748 ; 0x2ec 8078954: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8078956: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807895a: 1c5a adds r2, r3, #1 807895c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8078960: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8078964: b2d2 uxtb r2, r2 8078966: 3230 adds r2, #48 ; 0x30 8078968: b2d1 uxtb r1, r2 807896a: f507 723b add.w r2, r7, #748 ; 0x2ec 807896e: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8078970: f507 733b add.w r3, r7, #748 ; 0x2ec 8078974: 461a mov r2, r3 8078976: 215a movs r1, #90 ; 0x5a 8078978: 20ff movs r0, #255 ; 0xff 807897a: f7dc fc09 bl 8055190 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807897e: 494c ldr r1, [pc, #304] ; (8078ab0 ) 8078980: 4852 ldr r0, [pc, #328] ; (8078acc ) 8078982: f7db fe45 bl 8054610 BSP_LCD_FillRect(60, 73, 200, 124); 8078986: 237c movs r3, #124 ; 0x7c 8078988: 22c8 movs r2, #200 ; 0xc8 807898a: 2149 movs r1, #73 ; 0x49 807898c: 203c movs r0, #60 ; 0x3c 807898e: f7dc facd bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8078992: 4947 ldr r1, [pc, #284] ; (8078ab0 ) 8078994: 4846 ldr r0, [pc, #280] ; (8078ab0 ) 8078996: f7db fe3b bl 8054610 BSP_LCD_FillRect(61, 74, 198, 122); 807899a: 237a movs r3, #122 ; 0x7a 807899c: 22c6 movs r2, #198 ; 0xc6 807899e: 214a movs r1, #74 ; 0x4a 80789a0: 203d movs r0, #61 ; 0x3d 80789a2: f7dc fac3 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80789a6: 4942 ldr r1, [pc, #264] ; (8078ab0 ) 80789a8: f04f 30ff mov.w r0, #4294967295 80789ac: f7db fe30 bl 8054610 if(NeedFormat) 80789b0: 4b47 ldr r3, [pc, #284] ; (8078ad0 ) 80789b2: 781b ldrb r3, [r3, #0] 80789b4: b2db uxtb r3, r3 80789b6: 2b00 cmp r3, #0 80789b8: d030 beq.n 8078a1c { if(pardata.LANG == RUS) 80789ba: 4b3e ldr r3, [pc, #248] ; (8078ab4 ) 80789bc: 7b1b ldrb r3, [r3, #12] 80789be: b2db uxtb r3, r3 80789c0: 2b00 cmp r3, #0 80789c2: d115 bne.n 80789f0 { BSP_LCD_SetFont(&Font12); 80789c4: 4843 ldr r0, [pc, #268] ; (8078ad4 ) 80789c6: f7db fe5f bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80789ca: 4939 ldr r1, [pc, #228] ; (8078ab0 ) 80789cc: f04f 30ff mov.w r0, #4294967295 80789d0: f7db fe1e bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå äèñêà.", CENTER_MODE); 80789d4: 2301 movs r3, #1 80789d6: 4a40 ldr r2, [pc, #256] ; (8078ad8 ) 80789d8: 217a movs r1, #122 ; 0x7a 80789da: 20a0 movs r0, #160 ; 0xa0 80789dc: f7db fede bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Æäèòå...", CENTER_MODE); 80789e0: 2301 movs r3, #1 80789e2: 4a3e ldr r2, [pc, #248] ; (8078adc ) 80789e4: 218a movs r1, #138 ; 0x8a 80789e6: 20a0 movs r0, #160 ; 0xa0 80789e8: f7db fed8 bl 805479c 80789ec: f000 be43 b.w 8079676 } else { BSP_LCD_SetFont(&Font12); 80789f0: 4838 ldr r0, [pc, #224] ; (8078ad4 ) 80789f2: f7db fe49 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80789f6: 492e ldr r1, [pc, #184] ; (8078ab0 ) 80789f8: f04f 30ff mov.w r0, #4294967295 80789fc: f7db fe08 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Formatting the drive.", CENTER_MODE); 8078a00: 2301 movs r3, #1 8078a02: 4a37 ldr r2, [pc, #220] ; (8078ae0 ) 8078a04: 217a movs r1, #122 ; 0x7a 8078a06: 20a0 movs r0, #160 ; 0xa0 8078a08: f7db fec8 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Please, wait...", CENTER_MODE); 8078a0c: 2301 movs r3, #1 8078a0e: 4a35 ldr r2, [pc, #212] ; (8078ae4 ) 8078a10: 218a movs r1, #138 ; 0x8a 8078a12: 20a0 movs r0, #160 ; 0xa0 8078a14: f7db fec2 bl 805479c 8078a18: f000 be2d b.w 8079676 } } else { if(FormatStatus == AP_OK) 8078a1c: 4b32 ldr r3, [pc, #200] ; (8078ae8 ) 8078a1e: 781b ldrb r3, [r3, #0] 8078a20: b2db uxtb r3, r3 8078a22: 2b00 cmp r3, #0 8078a24: d128 bne.n 8078a78 { if(pardata.LANG == RUS) 8078a26: 4b23 ldr r3, [pc, #140] ; (8078ab4 ) 8078a28: 7b1b ldrb r3, [r3, #12] 8078a2a: b2db uxtb r3, r3 8078a2c: 2b00 cmp r3, #0 8078a2e: d114 bne.n 8078a5a { BSP_LCD_SetFont(&Font12); 8078a30: 4828 ldr r0, [pc, #160] ; (8078ad4 ) 8078a32: f7db fe29 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078a36: 491e ldr r1, [pc, #120] ; (8078ab0 ) 8078a38: f04f 30ff mov.w r0, #4294967295 8078a3c: f7db fde8 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå çàâåðøåíî", CENTER_MODE); 8078a40: 2301 movs r3, #1 8078a42: 4a2a ldr r2, [pc, #168] ; (8078aec ) 8078a44: 217a movs r1, #122 ; 0x7a 8078a46: 20a0 movs r0, #160 ; 0xa0 8078a48: f7db fea8 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "óñïåøíî!", CENTER_MODE); 8078a4c: 2301 movs r3, #1 8078a4e: 4a28 ldr r2, [pc, #160] ; (8078af0 ) 8078a50: 218a movs r1, #138 ; 0x8a 8078a52: 20a0 movs r0, #160 ; 0xa0 8078a54: f7db fea2 bl 805479c 8078a58: e060 b.n 8078b1c } else { BSP_LCD_SetFont(&Font12); 8078a5a: 481e ldr r0, [pc, #120] ; (8078ad4 ) 8078a5c: f7db fe14 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078a60: 4913 ldr r1, [pc, #76] ; (8078ab0 ) 8078a62: f04f 30ff mov.w r0, #4294967295 8078a66: f7db fdd3 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Formatting successful!", CENTER_MODE); 8078a6a: 2301 movs r3, #1 8078a6c: 4a21 ldr r2, [pc, #132] ; (8078af4 ) 8078a6e: 218a movs r1, #138 ; 0x8a 8078a70: 20a0 movs r0, #160 ; 0xa0 8078a72: f7db fe93 bl 805479c 8078a76: e051 b.n 8078b1c } } else { if(pardata.LANG == RUS) 8078a78: 4b0e ldr r3, [pc, #56] ; (8078ab4 ) 8078a7a: 7b1b ldrb r3, [r3, #12] 8078a7c: b2db uxtb r3, r3 8078a7e: 2b00 cmp r3, #0 8078a80: d13e bne.n 8078b00 { BSP_LCD_SetFont(&Font12); 8078a82: 4814 ldr r0, [pc, #80] ; (8078ad4 ) 8078a84: f7db fe00 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078a88: 4909 ldr r1, [pc, #36] ; (8078ab0 ) 8078a8a: f04f 30ff mov.w r0, #4294967295 8078a8e: f7db fdbf bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8078a92: 2301 movs r3, #1 8078a94: 4a18 ldr r2, [pc, #96] ; (8078af8 ) 8078a96: 217a movs r1, #122 ; 0x7a 8078a98: 20a0 movs r0, #160 ; 0xa0 8078a9a: f7db fe7f bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "ôîðìàòèðîâàíèÿ...", CENTER_MODE); 8078a9e: 2301 movs r3, #1 8078aa0: 4a16 ldr r2, [pc, #88] ; (8078afc ) 8078aa2: 218a movs r1, #138 ; 0x8a 8078aa4: 20a0 movs r0, #160 ; 0xa0 8078aa6: f7db fe79 bl 805479c 8078aaa: e037 b.n 8078b1c 8078aac: 20020070 .word 0x20020070 8078ab0: ff0a0f1f .word 0xff0a0f1f 8078ab4: 20023ea8 .word 0x20023ea8 8078ab8: 200205dc .word 0x200205dc 8078abc: 20020684 .word 0x20020684 8078ac0: ffd8aa57 .word 0xffd8aa57 8078ac4: 200205c4 .word 0x200205c4 8078ac8: 20020154 .word 0x20020154 8078acc: ffd3d3d3 .word 0xffd3d3d3 8078ad0: 20020dfd .word 0x20020dfd 8078ad4: 20020038 .word 0x20020038 8078ad8: 080d430c .word 0x080d430c 8078adc: 080d41e4 .word 0x080d41e4 8078ae0: 080d4324 .word 0x080d4324 8078ae4: 080d433c .word 0x080d433c 8078ae8: 20020df1 .word 0x20020df1 8078aec: 080d434c .word 0x080d434c 8078af0: 080d4368 .word 0x080d4368 8078af4: 080d4254 .word 0x080d4254 8078af8: 080d4374 .word 0x080d4374 8078afc: 080d4388 .word 0x080d4388 } else { BSP_LCD_SetFont(&Font12); 8078b00: 487d ldr r0, [pc, #500] ; (8078cf8 ) 8078b02: f7db fdc1 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078b06: 497d ldr r1, [pc, #500] ; (8078cfc ) 8078b08: f04f 30ff mov.w r0, #4294967295 8078b0c: f7db fd80 bl 8054610 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Format error...", CENTER_MODE); 8078b10: 2301 movs r3, #1 8078b12: 4a7b ldr r2, [pc, #492] ; (8078d00 ) 8078b14: 218a movs r1, #138 ; 0x8a 8078b16: 20a0 movs r0, #160 ; 0xa0 8078b18: f7db fe40 bl 805479c } } BSP_LCD_SetFont(&Font12); 8078b1c: 4876 ldr r0, [pc, #472] ; (8078cf8 ) 8078b1e: f7db fdb3 bl 8054688 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078b22: 4976 ldr r1, [pc, #472] ; (8078cfc ) 8078b24: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078b28: f7db fd72 bl 8054610 BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 8078b2c: 2301 movs r3, #1 8078b2e: 4a75 ldr r2, [pc, #468] ; (8078d04 ) 8078b30: 21aa movs r1, #170 ; 0xaa 8078b32: 20a0 movs r0, #160 ; 0xa0 8078b34: f7db fe32 bl 805479c 8078b38: f000 bd9d b.w 8079676 } } else if(menupos == Ies) 8078b3c: 4b72 ldr r3, [pc, #456] ; (8078d08 ) 8078b3e: 781b ldrb r3, [r3, #0] 8078b40: b2db uxtb r3, r3 8078b42: 2b0d cmp r3, #13 8078b44: f040 80f4 bne.w 8078d30 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078b48: 496c ldr r1, [pc, #432] ; (8078cfc ) 8078b4a: f04f 30ff mov.w r0, #4294967295 8078b4e: f7db fd5f bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8078b52: 4b6e ldr r3, [pc, #440] ; (8078d0c ) 8078b54: 7b1b ldrb r3, [r3, #12] 8078b56: b2db uxtb r3, r3 8078b58: 4619 mov r1, r3 8078b5a: 4b6c ldr r3, [pc, #432] ; (8078d0c ) 8078b5c: 799b ldrb r3, [r3, #6] 8078b5e: b2db uxtb r3, r3 8078b60: 4618 mov r0, r3 8078b62: 4a6b ldr r2, [pc, #428] ; (8078d10 ) 8078b64: 460b mov r3, r1 8078b66: 005b lsls r3, r3, #1 8078b68: 440b add r3, r1 8078b6a: 4403 add r3, r0 8078b6c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078b70: 461a mov r2, r3 8078b72: 215a movs r1, #90 ; 0x5a 8078b74: 200a movs r0, #10 8078b76: f7dc faf3 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8078b7a: 4b64 ldr r3, [pc, #400] ; (8078d0c ) 8078b7c: 7b1b ldrb r3, [r3, #12] 8078b7e: b2db uxtb r3, r3 8078b80: 4619 mov r1, r3 8078b82: 4a64 ldr r2, [pc, #400] ; (8078d14 ) 8078b84: 460b mov r3, r1 8078b86: 009b lsls r3, r3, #2 8078b88: 440b add r3, r1 8078b8a: 009b lsls r3, r3, #2 8078b8c: 4413 add r3, r2 8078b8e: 3304 adds r3, #4 8078b90: 681b ldr r3, [r3, #0] 8078b92: 461a mov r2, r3 8078b94: 217a movs r1, #122 ; 0x7a 8078b96: 200a movs r0, #10 8078b98: f7dc fae2 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8078b9c: 4b5b ldr r3, [pc, #364] ; (8078d0c ) 8078b9e: 7b1b ldrb r3, [r3, #12] 8078ba0: b2db uxtb r3, r3 8078ba2: 4619 mov r1, r3 8078ba4: 4a5b ldr r2, [pc, #364] ; (8078d14 ) 8078ba6: 460b mov r3, r1 8078ba8: 009b lsls r3, r3, #2 8078baa: 440b add r3, r1 8078bac: 009b lsls r3, r3, #2 8078bae: 4413 add r3, r2 8078bb0: 3308 adds r3, #8 8078bb2: 681b ldr r3, [r3, #0] 8078bb4: 461a mov r2, r3 8078bb6: 216a movs r1, #106 ; 0x6a 8078bb8: 200a movs r0, #10 8078bba: f7dc fad1 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8078bbe: 4b53 ldr r3, [pc, #332] ; (8078d0c ) 8078bc0: 7b1b ldrb r3, [r3, #12] 8078bc2: b2db uxtb r3, r3 8078bc4: 4619 mov r1, r3 8078bc6: 4a53 ldr r2, [pc, #332] ; (8078d14 ) 8078bc8: 460b mov r3, r1 8078bca: 009b lsls r3, r3, #2 8078bcc: 440b add r3, r1 8078bce: 009b lsls r3, r3, #2 8078bd0: 4413 add r3, r2 8078bd2: 330c adds r3, #12 8078bd4: 681b ldr r3, [r3, #0] 8078bd6: 461a mov r2, r3 8078bd8: 218a movs r1, #138 ; 0x8a 8078bda: 200a movs r0, #10 8078bdc: f7dc fac0 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078be0: 4946 ldr r1, [pc, #280] ; (8078cfc ) 8078be2: 484d ldr r0, [pc, #308] ; (8078d18 ) 8078be4: f7db fd14 bl 8054610 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078be8: 4b48 ldr r3, [pc, #288] ; (8078d0c ) 8078bea: 7b1b ldrb r3, [r3, #12] 8078bec: b2db uxtb r3, r3 8078bee: 461a mov r2, r3 8078bf0: 4b4a ldr r3, [pc, #296] ; (8078d1c ) 8078bf2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078bf6: 461a mov r2, r3 8078bf8: 216a movs r1, #106 ; 0x6a 8078bfa: 20ff movs r0, #255 ; 0xff 8078bfc: f7dc fac8 bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078c00: 493e ldr r1, [pc, #248] ; (8078cfc ) 8078c02: 4845 ldr r0, [pc, #276] ; (8078d18 ) 8078c04: f7db fd04 bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8078c08: 4b40 ldr r3, [pc, #256] ; (8078d0c ) 8078c0a: 7b1b ldrb r3, [r3, #12] 8078c0c: b2db uxtb r3, r3 8078c0e: 4619 mov r1, r3 8078c10: 4b3e ldr r3, [pc, #248] ; (8078d0c ) 8078c12: 799b ldrb r3, [r3, #6] 8078c14: b2db uxtb r3, r3 8078c16: 4618 mov r0, r3 8078c18: 4a41 ldr r2, [pc, #260] ; (8078d20 ) 8078c1a: 460b mov r3, r1 8078c1c: 005b lsls r3, r3, #1 8078c1e: 440b add r3, r1 8078c20: 4403 add r3, r0 8078c22: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078c26: 461a mov r2, r3 8078c28: 214a movs r1, #74 ; 0x4a 8078c2a: 20ff movs r0, #255 ; 0xff 8078c2c: f7dc fab0 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078c30: 4932 ldr r1, [pc, #200] ; (8078cfc ) 8078c32: 4839 ldr r0, [pc, #228] ; (8078d18 ) 8078c34: f7db fcec bl 8054610 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078c38: 4930 ldr r1, [pc, #192] ; (8078cfc ) 8078c3a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078c3e: f7db fce7 bl 8054610 if(blk) 8078c42: 4b38 ldr r3, [pc, #224] ; (8078d24 ) 8078c44: 681b ldr r3, [r3, #0] 8078c46: 2b00 cmp r3, #0 8078c48: d00b beq.n 8078c62 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8078c4a: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078c4e: b2db uxtb r3, r3 8078c50: 461a mov r2, r3 8078c52: 4b35 ldr r3, [pc, #212] ; (8078d28 ) 8078c54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078c58: 461a mov r2, r3 8078c5a: 215a movs r1, #90 ; 0x5a 8078c5c: 20c6 movs r0, #198 ; 0xc6 8078c5e: f7dc fa7f bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078c62: 4926 ldr r1, [pc, #152] ; (8078cfc ) 8078c64: 482c ldr r0, [pc, #176] ; (8078d18 ) 8078c66: f7db fcd3 bl 8054610 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8078c6a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8078c6e: b2db uxtb r3, r3 8078c70: 461a mov r2, r3 8078c72: 4b2d ldr r3, [pc, #180] ; (8078d28 ) 8078c74: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078c78: 461a mov r2, r3 8078c7a: 215a movs r1, #90 ; 0x5a 8078c7c: 20d6 movs r0, #214 ; 0xd6 8078c7e: f7dc fa6f bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8078c82: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8078c86: b2db uxtb r3, r3 8078c88: 461a mov r2, r3 8078c8a: 4b27 ldr r3, [pc, #156] ; (8078d28 ) 8078c8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078c90: 461a mov r2, r3 8078c92: 215a movs r1, #90 ; 0x5a 8078c94: 20e6 movs r0, #230 ; 0xe6 8078c96: f7dc fa63 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 8078c9a: 4a24 ldr r2, [pc, #144] ; (8078d2c ) 8078c9c: 215a movs r1, #90 ; 0x5a 8078c9e: 20f6 movs r0, #246 ; 0xf6 8078ca0: f7dc fa5e bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8078ca4: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8078ca8: b2db uxtb r3, r3 8078caa: 461a mov r2, r3 8078cac: 4b1e ldr r3, [pc, #120] ; (8078d28 ) 8078cae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078cb2: 461a mov r2, r3 8078cb4: 215a movs r1, #90 ; 0x5a 8078cb6: f44f 7083 mov.w r0, #262 ; 0x106 8078cba: f7dc fa51 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8078cbe: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8078cc2: b2db uxtb r3, r3 8078cc4: 461a mov r2, r3 8078cc6: 4b18 ldr r3, [pc, #96] ; (8078d28 ) 8078cc8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078ccc: 461a mov r2, r3 8078cce: 215a movs r1, #90 ; 0x5a 8078cd0: f44f 708b mov.w r0, #278 ; 0x116 8078cd4: f7dc fa44 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8078cd8: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8078cdc: b2db uxtb r3, r3 8078cde: 461a mov r2, r3 8078ce0: 4b11 ldr r3, [pc, #68] ; (8078d28 ) 8078ce2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078ce6: 461a mov r2, r3 8078ce8: 215a movs r1, #90 ; 0x5a 8078cea: f44f 7093 mov.w r0, #294 ; 0x126 8078cee: f7dc fa37 bl 8055160 8078cf2: f000 bcc0 b.w 8079676 8078cf6: bf00 nop 8078cf8: 20020038 .word 0x20020038 8078cfc: ff0a0f1f .word 0xff0a0f1f 8078d00: 080d439c .word 0x080d439c 8078d04: 080d4214 .word 0x080d4214 8078d08: 20020070 .word 0x20020070 8078d0c: 20023ea8 .word 0x20023ea8 8078d10: 200205dc .word 0x200205dc 8078d14: 20020684 .word 0x20020684 8078d18: ffd8aa57 .word 0xffd8aa57 8078d1c: 200205c4 .word 0x200205c4 8078d20: 20020154 .word 0x20020154 8078d24: 200216a4 .word 0x200216a4 8078d28: 2002096c .word 0x2002096c 8078d2c: 080d3b58 .word 0x080d3b58 } else if(menupos == Ied) 8078d30: 4b6d ldr r3, [pc, #436] ; (8078ee8 ) 8078d32: 781b ldrb r3, [r3, #0] 8078d34: b2db uxtb r3, r3 8078d36: 2b0e cmp r3, #14 8078d38: f040 80ec bne.w 8078f14 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078d3c: 496b ldr r1, [pc, #428] ; (8078eec ) 8078d3e: f04f 30ff mov.w r0, #4294967295 8078d42: f7db fc65 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8078d46: 4b6a ldr r3, [pc, #424] ; (8078ef0 ) 8078d48: 7b1b ldrb r3, [r3, #12] 8078d4a: b2db uxtb r3, r3 8078d4c: 4619 mov r1, r3 8078d4e: 4b68 ldr r3, [pc, #416] ; (8078ef0 ) 8078d50: 799b ldrb r3, [r3, #6] 8078d52: b2db uxtb r3, r3 8078d54: 4618 mov r0, r3 8078d56: 4a67 ldr r2, [pc, #412] ; (8078ef4 ) 8078d58: 460b mov r3, r1 8078d5a: 005b lsls r3, r3, #1 8078d5c: 440b add r3, r1 8078d5e: 4403 add r3, r0 8078d60: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078d64: 461a mov r2, r3 8078d66: 215a movs r1, #90 ; 0x5a 8078d68: 200a movs r0, #10 8078d6a: f7dc f9f9 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8078d6e: 4b60 ldr r3, [pc, #384] ; (8078ef0 ) 8078d70: 7b1b ldrb r3, [r3, #12] 8078d72: b2db uxtb r3, r3 8078d74: 4619 mov r1, r3 8078d76: 4a60 ldr r2, [pc, #384] ; (8078ef8 ) 8078d78: 460b mov r3, r1 8078d7a: 009b lsls r3, r3, #2 8078d7c: 440b add r3, r1 8078d7e: 009b lsls r3, r3, #2 8078d80: 4413 add r3, r2 8078d82: 3304 adds r3, #4 8078d84: 681b ldr r3, [r3, #0] 8078d86: 461a mov r2, r3 8078d88: 217a movs r1, #122 ; 0x7a 8078d8a: 200a movs r0, #10 8078d8c: f7dc f9e8 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8078d90: 4b57 ldr r3, [pc, #348] ; (8078ef0 ) 8078d92: 7b1b ldrb r3, [r3, #12] 8078d94: b2db uxtb r3, r3 8078d96: 4619 mov r1, r3 8078d98: 4a57 ldr r2, [pc, #348] ; (8078ef8 ) 8078d9a: 460b mov r3, r1 8078d9c: 009b lsls r3, r3, #2 8078d9e: 440b add r3, r1 8078da0: 009b lsls r3, r3, #2 8078da2: 4413 add r3, r2 8078da4: 3308 adds r3, #8 8078da6: 681b ldr r3, [r3, #0] 8078da8: 461a mov r2, r3 8078daa: 216a movs r1, #106 ; 0x6a 8078dac: 200a movs r0, #10 8078dae: f7dc f9d7 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8078db2: 4b4f ldr r3, [pc, #316] ; (8078ef0 ) 8078db4: 7b1b ldrb r3, [r3, #12] 8078db6: b2db uxtb r3, r3 8078db8: 4619 mov r1, r3 8078dba: 4a4f ldr r2, [pc, #316] ; (8078ef8 ) 8078dbc: 460b mov r3, r1 8078dbe: 009b lsls r3, r3, #2 8078dc0: 440b add r3, r1 8078dc2: 009b lsls r3, r3, #2 8078dc4: 4413 add r3, r2 8078dc6: 330c adds r3, #12 8078dc8: 681b ldr r3, [r3, #0] 8078dca: 461a mov r2, r3 8078dcc: 218a movs r1, #138 ; 0x8a 8078dce: 200a movs r0, #10 8078dd0: f7dc f9c6 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078dd4: 4945 ldr r1, [pc, #276] ; (8078eec ) 8078dd6: 4849 ldr r0, [pc, #292] ; (8078efc ) 8078dd8: f7db fc1a bl 8054610 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078ddc: 4b44 ldr r3, [pc, #272] ; (8078ef0 ) 8078dde: 7b1b ldrb r3, [r3, #12] 8078de0: b2db uxtb r3, r3 8078de2: 461a mov r2, r3 8078de4: 4b46 ldr r3, [pc, #280] ; (8078f00 ) 8078de6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078dea: 461a mov r2, r3 8078dec: 216a movs r1, #106 ; 0x6a 8078dee: 20ff movs r0, #255 ; 0xff 8078df0: f7dc f9ce bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078df4: 493d ldr r1, [pc, #244] ; (8078eec ) 8078df6: 4841 ldr r0, [pc, #260] ; (8078efc ) 8078df8: f7db fc0a bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8078dfc: 4b3c ldr r3, [pc, #240] ; (8078ef0 ) 8078dfe: 7b1b ldrb r3, [r3, #12] 8078e00: b2db uxtb r3, r3 8078e02: 4619 mov r1, r3 8078e04: 4b3a ldr r3, [pc, #232] ; (8078ef0 ) 8078e06: 799b ldrb r3, [r3, #6] 8078e08: b2db uxtb r3, r3 8078e0a: 4618 mov r0, r3 8078e0c: 4a3d ldr r2, [pc, #244] ; (8078f04 ) 8078e0e: 460b mov r3, r1 8078e10: 005b lsls r3, r3, #1 8078e12: 440b add r3, r1 8078e14: 4403 add r3, r0 8078e16: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078e1a: 461a mov r2, r3 8078e1c: 214a movs r1, #74 ; 0x4a 8078e1e: 20ff movs r0, #255 ; 0xff 8078e20: f7dc f9b6 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078e24: 4931 ldr r1, [pc, #196] ; (8078eec ) 8078e26: 4835 ldr r0, [pc, #212] ; (8078efc ) 8078e28: f7db fbf2 bl 8054610 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078e2c: 492f ldr r1, [pc, #188] ; (8078eec ) 8078e2e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078e32: f7db fbed bl 8054610 if(blk) 8078e36: 4b34 ldr r3, [pc, #208] ; (8078f08 ) 8078e38: 681b ldr r3, [r3, #0] 8078e3a: 2b00 cmp r3, #0 8078e3c: d00b beq.n 8078e56 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8078e3e: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8078e42: b2db uxtb r3, r3 8078e44: 461a mov r2, r3 8078e46: 4b31 ldr r3, [pc, #196] ; (8078f0c ) 8078e48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078e4c: 461a mov r2, r3 8078e4e: 215a movs r1, #90 ; 0x5a 8078e50: 20d6 movs r0, #214 ; 0xd6 8078e52: f7dc f985 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078e56: 4925 ldr r1, [pc, #148] ; (8078eec ) 8078e58: 4828 ldr r0, [pc, #160] ; (8078efc ) 8078e5a: f7db fbd9 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8078e5e: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078e62: b2db uxtb r3, r3 8078e64: 461a mov r2, r3 8078e66: 4b29 ldr r3, [pc, #164] ; (8078f0c ) 8078e68: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078e6c: 461a mov r2, r3 8078e6e: 215a movs r1, #90 ; 0x5a 8078e70: 20c6 movs r0, #198 ; 0xc6 8078e72: f7dc f975 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8078e76: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8078e7a: b2db uxtb r3, r3 8078e7c: 461a mov r2, r3 8078e7e: 4b23 ldr r3, [pc, #140] ; (8078f0c ) 8078e80: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078e84: 461a mov r2, r3 8078e86: 215a movs r1, #90 ; 0x5a 8078e88: 20e6 movs r0, #230 ; 0xe6 8078e8a: f7dc f969 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 8078e8e: 4a20 ldr r2, [pc, #128] ; (8078f10 ) 8078e90: 215a movs r1, #90 ; 0x5a 8078e92: 20f6 movs r0, #246 ; 0xf6 8078e94: f7dc f964 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8078e98: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8078e9c: b2db uxtb r3, r3 8078e9e: 461a mov r2, r3 8078ea0: 4b1a ldr r3, [pc, #104] ; (8078f0c ) 8078ea2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078ea6: 461a mov r2, r3 8078ea8: 215a movs r1, #90 ; 0x5a 8078eaa: f44f 7083 mov.w r0, #262 ; 0x106 8078eae: f7dc f957 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8078eb2: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8078eb6: b2db uxtb r3, r3 8078eb8: 461a mov r2, r3 8078eba: 4b14 ldr r3, [pc, #80] ; (8078f0c ) 8078ebc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078ec0: 461a mov r2, r3 8078ec2: 215a movs r1, #90 ; 0x5a 8078ec4: f44f 708b mov.w r0, #278 ; 0x116 8078ec8: f7dc f94a bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8078ecc: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8078ed0: b2db uxtb r3, r3 8078ed2: 461a mov r2, r3 8078ed4: 4b0d ldr r3, [pc, #52] ; (8078f0c ) 8078ed6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078eda: 461a mov r2, r3 8078edc: 215a movs r1, #90 ; 0x5a 8078ede: f44f 7093 mov.w r0, #294 ; 0x126 8078ee2: f7dc f93d bl 8055160 8078ee6: e3c6 b.n 8079676 8078ee8: 20020070 .word 0x20020070 8078eec: ff0a0f1f .word 0xff0a0f1f 8078ef0: 20023ea8 .word 0x20023ea8 8078ef4: 200205dc .word 0x200205dc 8078ef8: 20020684 .word 0x20020684 8078efc: ffd8aa57 .word 0xffd8aa57 8078f00: 200205c4 .word 0x200205c4 8078f04: 20020154 .word 0x20020154 8078f08: 200216a4 .word 0x200216a4 8078f0c: 2002096c .word 0x2002096c 8078f10: 080d3b58 .word 0x080d3b58 } else if(menupos == Iee) 8078f14: 4b6d ldr r3, [pc, #436] ; (80790cc ) 8078f16: 781b ldrb r3, [r3, #0] 8078f18: b2db uxtb r3, r3 8078f1a: 2b0f cmp r3, #15 8078f1c: f040 80ec bne.w 80790f8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078f20: 496b ldr r1, [pc, #428] ; (80790d0 ) 8078f22: f04f 30ff mov.w r0, #4294967295 8078f26: f7db fb73 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8078f2a: 4b6a ldr r3, [pc, #424] ; (80790d4 ) 8078f2c: 7b1b ldrb r3, [r3, #12] 8078f2e: b2db uxtb r3, r3 8078f30: 4619 mov r1, r3 8078f32: 4b68 ldr r3, [pc, #416] ; (80790d4 ) 8078f34: 799b ldrb r3, [r3, #6] 8078f36: b2db uxtb r3, r3 8078f38: 4618 mov r0, r3 8078f3a: 4a67 ldr r2, [pc, #412] ; (80790d8 ) 8078f3c: 460b mov r3, r1 8078f3e: 005b lsls r3, r3, #1 8078f40: 440b add r3, r1 8078f42: 4403 add r3, r0 8078f44: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078f48: 461a mov r2, r3 8078f4a: 215a movs r1, #90 ; 0x5a 8078f4c: 200a movs r0, #10 8078f4e: f7dc f907 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8078f52: 4b60 ldr r3, [pc, #384] ; (80790d4 ) 8078f54: 7b1b ldrb r3, [r3, #12] 8078f56: b2db uxtb r3, r3 8078f58: 4619 mov r1, r3 8078f5a: 4a60 ldr r2, [pc, #384] ; (80790dc ) 8078f5c: 460b mov r3, r1 8078f5e: 009b lsls r3, r3, #2 8078f60: 440b add r3, r1 8078f62: 009b lsls r3, r3, #2 8078f64: 4413 add r3, r2 8078f66: 3304 adds r3, #4 8078f68: 681b ldr r3, [r3, #0] 8078f6a: 461a mov r2, r3 8078f6c: 217a movs r1, #122 ; 0x7a 8078f6e: 200a movs r0, #10 8078f70: f7dc f8f6 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8078f74: 4b57 ldr r3, [pc, #348] ; (80790d4 ) 8078f76: 7b1b ldrb r3, [r3, #12] 8078f78: b2db uxtb r3, r3 8078f7a: 4619 mov r1, r3 8078f7c: 4a57 ldr r2, [pc, #348] ; (80790dc ) 8078f7e: 460b mov r3, r1 8078f80: 009b lsls r3, r3, #2 8078f82: 440b add r3, r1 8078f84: 009b lsls r3, r3, #2 8078f86: 4413 add r3, r2 8078f88: 3308 adds r3, #8 8078f8a: 681b ldr r3, [r3, #0] 8078f8c: 461a mov r2, r3 8078f8e: 216a movs r1, #106 ; 0x6a 8078f90: 200a movs r0, #10 8078f92: f7dc f8e5 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8078f96: 4b4f ldr r3, [pc, #316] ; (80790d4 ) 8078f98: 7b1b ldrb r3, [r3, #12] 8078f9a: b2db uxtb r3, r3 8078f9c: 4619 mov r1, r3 8078f9e: 4a4f ldr r2, [pc, #316] ; (80790dc ) 8078fa0: 460b mov r3, r1 8078fa2: 009b lsls r3, r3, #2 8078fa4: 440b add r3, r1 8078fa6: 009b lsls r3, r3, #2 8078fa8: 4413 add r3, r2 8078faa: 330c adds r3, #12 8078fac: 681b ldr r3, [r3, #0] 8078fae: 461a mov r2, r3 8078fb0: 218a movs r1, #138 ; 0x8a 8078fb2: 200a movs r0, #10 8078fb4: f7dc f8d4 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078fb8: 4945 ldr r1, [pc, #276] ; (80790d0 ) 8078fba: 4849 ldr r0, [pc, #292] ; (80790e0 ) 8078fbc: f7db fb28 bl 8054610 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078fc0: 4b44 ldr r3, [pc, #272] ; (80790d4 ) 8078fc2: 7b1b ldrb r3, [r3, #12] 8078fc4: b2db uxtb r3, r3 8078fc6: 461a mov r2, r3 8078fc8: 4b46 ldr r3, [pc, #280] ; (80790e4 ) 8078fca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078fce: 461a mov r2, r3 8078fd0: 216a movs r1, #106 ; 0x6a 8078fd2: 20ff movs r0, #255 ; 0xff 8078fd4: f7dc f8dc bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078fd8: 493d ldr r1, [pc, #244] ; (80790d0 ) 8078fda: 4841 ldr r0, [pc, #260] ; (80790e0 ) 8078fdc: f7db fb18 bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8078fe0: 4b3c ldr r3, [pc, #240] ; (80790d4 ) 8078fe2: 7b1b ldrb r3, [r3, #12] 8078fe4: b2db uxtb r3, r3 8078fe6: 4619 mov r1, r3 8078fe8: 4b3a ldr r3, [pc, #232] ; (80790d4 ) 8078fea: 799b ldrb r3, [r3, #6] 8078fec: b2db uxtb r3, r3 8078fee: 4618 mov r0, r3 8078ff0: 4a3d ldr r2, [pc, #244] ; (80790e8 ) 8078ff2: 460b mov r3, r1 8078ff4: 005b lsls r3, r3, #1 8078ff6: 440b add r3, r1 8078ff8: 4403 add r3, r0 8078ffa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078ffe: 461a mov r2, r3 8079000: 214a movs r1, #74 ; 0x4a 8079002: 20ff movs r0, #255 ; 0xff 8079004: f7dc f8c4 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079008: 4931 ldr r1, [pc, #196] ; (80790d0 ) 807900a: 4835 ldr r0, [pc, #212] ; (80790e0 ) 807900c: f7db fb00 bl 8054610 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079010: 492f ldr r1, [pc, #188] ; (80790d0 ) 8079012: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8079016: f7db fafb bl 8054610 if(blk) 807901a: 4b34 ldr r3, [pc, #208] ; (80790ec ) 807901c: 681b ldr r3, [r3, #0] 807901e: 2b00 cmp r3, #0 8079020: d00b beq.n 807903a LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8079022: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8079026: b2db uxtb r3, r3 8079028: 461a mov r2, r3 807902a: 4b31 ldr r3, [pc, #196] ; (80790f0 ) 807902c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079030: 461a mov r2, r3 8079032: 215a movs r1, #90 ; 0x5a 8079034: 20e6 movs r0, #230 ; 0xe6 8079036: f7dc f893 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807903a: 4925 ldr r1, [pc, #148] ; (80790d0 ) 807903c: 4828 ldr r0, [pc, #160] ; (80790e0 ) 807903e: f7db fae7 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8079042: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8079046: b2db uxtb r3, r3 8079048: 461a mov r2, r3 807904a: 4b29 ldr r3, [pc, #164] ; (80790f0 ) 807904c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079050: 461a mov r2, r3 8079052: 215a movs r1, #90 ; 0x5a 8079054: 20c6 movs r0, #198 ; 0xc6 8079056: f7dc f883 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 807905a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807905e: b2db uxtb r3, r3 8079060: 461a mov r2, r3 8079062: 4b23 ldr r3, [pc, #140] ; (80790f0 ) 8079064: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079068: 461a mov r2, r3 807906a: 215a movs r1, #90 ; 0x5a 807906c: 20d6 movs r0, #214 ; 0xd6 807906e: f7dc f877 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 8079072: 4a20 ldr r2, [pc, #128] ; (80790f4 ) 8079074: 215a movs r1, #90 ; 0x5a 8079076: 20f6 movs r0, #246 ; 0xf6 8079078: f7dc f872 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 807907c: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8079080: b2db uxtb r3, r3 8079082: 461a mov r2, r3 8079084: 4b1a ldr r3, [pc, #104] ; (80790f0 ) 8079086: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807908a: 461a mov r2, r3 807908c: 215a movs r1, #90 ; 0x5a 807908e: f44f 7083 mov.w r0, #262 ; 0x106 8079092: f7dc f865 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8079096: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 807909a: b2db uxtb r3, r3 807909c: 461a mov r2, r3 807909e: 4b14 ldr r3, [pc, #80] ; (80790f0 ) 80790a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80790a4: 461a mov r2, r3 80790a6: 215a movs r1, #90 ; 0x5a 80790a8: f44f 708b mov.w r0, #278 ; 0x116 80790ac: f7dc f858 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 80790b0: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 80790b4: b2db uxtb r3, r3 80790b6: 461a mov r2, r3 80790b8: 4b0d ldr r3, [pc, #52] ; (80790f0 ) 80790ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80790be: 461a mov r2, r3 80790c0: 215a movs r1, #90 ; 0x5a 80790c2: f44f 7093 mov.w r0, #294 ; 0x126 80790c6: f7dc f84b bl 8055160 80790ca: e2d4 b.n 8079676 80790cc: 20020070 .word 0x20020070 80790d0: ff0a0f1f .word 0xff0a0f1f 80790d4: 20023ea8 .word 0x20023ea8 80790d8: 200205dc .word 0x200205dc 80790dc: 20020684 .word 0x20020684 80790e0: ffd8aa57 .word 0xffd8aa57 80790e4: 200205c4 .word 0x200205c4 80790e8: 20020154 .word 0x20020154 80790ec: 200216a4 .word 0x200216a4 80790f0: 2002096c .word 0x2002096c 80790f4: 080d3b58 .word 0x080d3b58 } else if(menupos == Ikd) 80790f8: 4b6d ldr r3, [pc, #436] ; (80792b0 ) 80790fa: 781b ldrb r3, [r3, #0] 80790fc: b2db uxtb r3, r3 80790fe: 2b10 cmp r3, #16 8079100: f040 80ec bne.w 80792dc { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079104: 496b ldr r1, [pc, #428] ; (80792b4 ) 8079106: f04f 30ff mov.w r0, #4294967295 807910a: f7db fa81 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 807910e: 4b6a ldr r3, [pc, #424] ; (80792b8 ) 8079110: 7b1b ldrb r3, [r3, #12] 8079112: b2db uxtb r3, r3 8079114: 4619 mov r1, r3 8079116: 4b68 ldr r3, [pc, #416] ; (80792b8 ) 8079118: 799b ldrb r3, [r3, #6] 807911a: b2db uxtb r3, r3 807911c: 4618 mov r0, r3 807911e: 4a67 ldr r2, [pc, #412] ; (80792bc ) 8079120: 460b mov r3, r1 8079122: 005b lsls r3, r3, #1 8079124: 440b add r3, r1 8079126: 4403 add r3, r0 8079128: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807912c: 461a mov r2, r3 807912e: 215a movs r1, #90 ; 0x5a 8079130: 200a movs r0, #10 8079132: f7dc f815 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8079136: 4b60 ldr r3, [pc, #384] ; (80792b8 ) 8079138: 7b1b ldrb r3, [r3, #12] 807913a: b2db uxtb r3, r3 807913c: 4619 mov r1, r3 807913e: 4a60 ldr r2, [pc, #384] ; (80792c0 ) 8079140: 460b mov r3, r1 8079142: 009b lsls r3, r3, #2 8079144: 440b add r3, r1 8079146: 009b lsls r3, r3, #2 8079148: 4413 add r3, r2 807914a: 3304 adds r3, #4 807914c: 681b ldr r3, [r3, #0] 807914e: 461a mov r2, r3 8079150: 217a movs r1, #122 ; 0x7a 8079152: 200a movs r0, #10 8079154: f7dc f804 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8079158: 4b57 ldr r3, [pc, #348] ; (80792b8 ) 807915a: 7b1b ldrb r3, [r3, #12] 807915c: b2db uxtb r3, r3 807915e: 4619 mov r1, r3 8079160: 4a57 ldr r2, [pc, #348] ; (80792c0 ) 8079162: 460b mov r3, r1 8079164: 009b lsls r3, r3, #2 8079166: 440b add r3, r1 8079168: 009b lsls r3, r3, #2 807916a: 4413 add r3, r2 807916c: 3308 adds r3, #8 807916e: 681b ldr r3, [r3, #0] 8079170: 461a mov r2, r3 8079172: 216a movs r1, #106 ; 0x6a 8079174: 200a movs r0, #10 8079176: f7db fff3 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807917a: 4b4f ldr r3, [pc, #316] ; (80792b8 ) 807917c: 7b1b ldrb r3, [r3, #12] 807917e: b2db uxtb r3, r3 8079180: 4619 mov r1, r3 8079182: 4a4f ldr r2, [pc, #316] ; (80792c0 ) 8079184: 460b mov r3, r1 8079186: 009b lsls r3, r3, #2 8079188: 440b add r3, r1 807918a: 009b lsls r3, r3, #2 807918c: 4413 add r3, r2 807918e: 330c adds r3, #12 8079190: 681b ldr r3, [r3, #0] 8079192: 461a mov r2, r3 8079194: 218a movs r1, #138 ; 0x8a 8079196: 200a movs r0, #10 8079198: f7db ffe2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807919c: 4945 ldr r1, [pc, #276] ; (80792b4 ) 807919e: 4849 ldr r0, [pc, #292] ; (80792c4 ) 80791a0: f7db fa36 bl 8054610 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 80791a4: 4b44 ldr r3, [pc, #272] ; (80792b8 ) 80791a6: 7b1b ldrb r3, [r3, #12] 80791a8: b2db uxtb r3, r3 80791aa: 461a mov r2, r3 80791ac: 4b46 ldr r3, [pc, #280] ; (80792c8 ) 80791ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80791b2: 461a mov r2, r3 80791b4: 216a movs r1, #106 ; 0x6a 80791b6: 20ff movs r0, #255 ; 0xff 80791b8: f7db ffea bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80791bc: 493d ldr r1, [pc, #244] ; (80792b4 ) 80791be: 4841 ldr r0, [pc, #260] ; (80792c4 ) 80791c0: f7db fa26 bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80791c4: 4b3c ldr r3, [pc, #240] ; (80792b8 ) 80791c6: 7b1b ldrb r3, [r3, #12] 80791c8: b2db uxtb r3, r3 80791ca: 4619 mov r1, r3 80791cc: 4b3a ldr r3, [pc, #232] ; (80792b8 ) 80791ce: 799b ldrb r3, [r3, #6] 80791d0: b2db uxtb r3, r3 80791d2: 4618 mov r0, r3 80791d4: 4a3d ldr r2, [pc, #244] ; (80792cc ) 80791d6: 460b mov r3, r1 80791d8: 005b lsls r3, r3, #1 80791da: 440b add r3, r1 80791dc: 4403 add r3, r0 80791de: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80791e2: 461a mov r2, r3 80791e4: 214a movs r1, #74 ; 0x4a 80791e6: 20ff movs r0, #255 ; 0xff 80791e8: f7db ffd2 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80791ec: 4931 ldr r1, [pc, #196] ; (80792b4 ) 80791ee: 4835 ldr r0, [pc, #212] ; (80792c4 ) 80791f0: f7db fa0e bl 8054610 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80791f4: 492f ldr r1, [pc, #188] ; (80792b4 ) 80791f6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80791fa: f7db fa09 bl 8054610 if(blk) 80791fe: 4b34 ldr r3, [pc, #208] ; (80792d0 ) 8079200: 681b ldr r3, [r3, #0] 8079202: 2b00 cmp r3, #0 8079204: d00c beq.n 8079220 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8079206: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 807920a: b2db uxtb r3, r3 807920c: 461a mov r2, r3 807920e: 4b31 ldr r3, [pc, #196] ; (80792d4 ) 8079210: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079214: 461a mov r2, r3 8079216: 215a movs r1, #90 ; 0x5a 8079218: f44f 7083 mov.w r0, #262 ; 0x106 807921c: f7db ffa0 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079220: 4924 ldr r1, [pc, #144] ; (80792b4 ) 8079222: 4828 ldr r0, [pc, #160] ; (80792c4 ) 8079224: f7db f9f4 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8079228: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807922c: b2db uxtb r3, r3 807922e: 461a mov r2, r3 8079230: 4b28 ldr r3, [pc, #160] ; (80792d4 ) 8079232: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079236: 461a mov r2, r3 8079238: 215a movs r1, #90 ; 0x5a 807923a: 20c6 movs r0, #198 ; 0xc6 807923c: f7db ff90 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8079240: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8079244: b2db uxtb r3, r3 8079246: 461a mov r2, r3 8079248: 4b22 ldr r3, [pc, #136] ; (80792d4 ) 807924a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807924e: 461a mov r2, r3 8079250: 215a movs r1, #90 ; 0x5a 8079252: 20d6 movs r0, #214 ; 0xd6 8079254: f7db ff84 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8079258: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 807925c: b2db uxtb r3, r3 807925e: 461a mov r2, r3 8079260: 4b1c ldr r3, [pc, #112] ; (80792d4 ) 8079262: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079266: 461a mov r2, r3 8079268: 215a movs r1, #90 ; 0x5a 807926a: 20e6 movs r0, #230 ; 0xe6 807926c: f7db ff78 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 8079270: 4a19 ldr r2, [pc, #100] ; (80792d8 ) 8079272: 215a movs r1, #90 ; 0x5a 8079274: 20f6 movs r0, #246 ; 0xf6 8079276: f7db ff73 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 807927a: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 807927e: b2db uxtb r3, r3 8079280: 461a mov r2, r3 8079282: 4b14 ldr r3, [pc, #80] ; (80792d4 ) 8079284: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079288: 461a mov r2, r3 807928a: 215a movs r1, #90 ; 0x5a 807928c: f44f 708b mov.w r0, #278 ; 0x116 8079290: f7db ff66 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8079294: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8079298: b2db uxtb r3, r3 807929a: 461a mov r2, r3 807929c: 4b0d ldr r3, [pc, #52] ; (80792d4 ) 807929e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80792a2: 461a mov r2, r3 80792a4: 215a movs r1, #90 ; 0x5a 80792a6: f44f 7093 mov.w r0, #294 ; 0x126 80792aa: f7db ff59 bl 8055160 80792ae: e1e2 b.n 8079676 80792b0: 20020070 .word 0x20020070 80792b4: ff0a0f1f .word 0xff0a0f1f 80792b8: 20023ea8 .word 0x20023ea8 80792bc: 200205dc .word 0x200205dc 80792c0: 20020684 .word 0x20020684 80792c4: ffd8aa57 .word 0xffd8aa57 80792c8: 200205c4 .word 0x200205c4 80792cc: 20020154 .word 0x20020154 80792d0: 200216a4 .word 0x200216a4 80792d4: 2002096c .word 0x2002096c 80792d8: 080d3b58 .word 0x080d3b58 } else if(menupos == Iks) 80792dc: 4b6d ldr r3, [pc, #436] ; (8079494 ) 80792de: 781b ldrb r3, [r3, #0] 80792e0: b2db uxtb r3, r3 80792e2: 2b11 cmp r3, #17 80792e4: f040 80ec bne.w 80794c0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80792e8: 496b ldr r1, [pc, #428] ; (8079498 ) 80792ea: f04f 30ff mov.w r0, #4294967295 80792ee: f7db f98f bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80792f2: 4b6a ldr r3, [pc, #424] ; (807949c ) 80792f4: 7b1b ldrb r3, [r3, #12] 80792f6: b2db uxtb r3, r3 80792f8: 4619 mov r1, r3 80792fa: 4b68 ldr r3, [pc, #416] ; (807949c ) 80792fc: 799b ldrb r3, [r3, #6] 80792fe: b2db uxtb r3, r3 8079300: 4618 mov r0, r3 8079302: 4a67 ldr r2, [pc, #412] ; (80794a0 ) 8079304: 460b mov r3, r1 8079306: 005b lsls r3, r3, #1 8079308: 440b add r3, r1 807930a: 4403 add r3, r0 807930c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8079310: 461a mov r2, r3 8079312: 215a movs r1, #90 ; 0x5a 8079314: 200a movs r0, #10 8079316: f7db ff23 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 807931a: 4b60 ldr r3, [pc, #384] ; (807949c ) 807931c: 7b1b ldrb r3, [r3, #12] 807931e: b2db uxtb r3, r3 8079320: 4619 mov r1, r3 8079322: 4a60 ldr r2, [pc, #384] ; (80794a4 ) 8079324: 460b mov r3, r1 8079326: 009b lsls r3, r3, #2 8079328: 440b add r3, r1 807932a: 009b lsls r3, r3, #2 807932c: 4413 add r3, r2 807932e: 3304 adds r3, #4 8079330: 681b ldr r3, [r3, #0] 8079332: 461a mov r2, r3 8079334: 217a movs r1, #122 ; 0x7a 8079336: 200a movs r0, #10 8079338: f7db ff12 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 807933c: 4b57 ldr r3, [pc, #348] ; (807949c ) 807933e: 7b1b ldrb r3, [r3, #12] 8079340: b2db uxtb r3, r3 8079342: 4619 mov r1, r3 8079344: 4a57 ldr r2, [pc, #348] ; (80794a4 ) 8079346: 460b mov r3, r1 8079348: 009b lsls r3, r3, #2 807934a: 440b add r3, r1 807934c: 009b lsls r3, r3, #2 807934e: 4413 add r3, r2 8079350: 3308 adds r3, #8 8079352: 681b ldr r3, [r3, #0] 8079354: 461a mov r2, r3 8079356: 216a movs r1, #106 ; 0x6a 8079358: 200a movs r0, #10 807935a: f7db ff01 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807935e: 4b4f ldr r3, [pc, #316] ; (807949c ) 8079360: 7b1b ldrb r3, [r3, #12] 8079362: b2db uxtb r3, r3 8079364: 4619 mov r1, r3 8079366: 4a4f ldr r2, [pc, #316] ; (80794a4 ) 8079368: 460b mov r3, r1 807936a: 009b lsls r3, r3, #2 807936c: 440b add r3, r1 807936e: 009b lsls r3, r3, #2 8079370: 4413 add r3, r2 8079372: 330c adds r3, #12 8079374: 681b ldr r3, [r3, #0] 8079376: 461a mov r2, r3 8079378: 218a movs r1, #138 ; 0x8a 807937a: 200a movs r0, #10 807937c: f7db fef0 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079380: 4945 ldr r1, [pc, #276] ; (8079498 ) 8079382: 4849 ldr r0, [pc, #292] ; (80794a8 ) 8079384: f7db f944 bl 8054610 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8079388: 4b44 ldr r3, [pc, #272] ; (807949c ) 807938a: 7b1b ldrb r3, [r3, #12] 807938c: b2db uxtb r3, r3 807938e: 461a mov r2, r3 8079390: 4b46 ldr r3, [pc, #280] ; (80794ac ) 8079392: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079396: 461a mov r2, r3 8079398: 216a movs r1, #106 ; 0x6a 807939a: 20ff movs r0, #255 ; 0xff 807939c: f7db fef8 bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80793a0: 493d ldr r1, [pc, #244] ; (8079498 ) 80793a2: 4841 ldr r0, [pc, #260] ; (80794a8 ) 80793a4: f7db f934 bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80793a8: 4b3c ldr r3, [pc, #240] ; (807949c ) 80793aa: 7b1b ldrb r3, [r3, #12] 80793ac: b2db uxtb r3, r3 80793ae: 4619 mov r1, r3 80793b0: 4b3a ldr r3, [pc, #232] ; (807949c ) 80793b2: 799b ldrb r3, [r3, #6] 80793b4: b2db uxtb r3, r3 80793b6: 4618 mov r0, r3 80793b8: 4a3d ldr r2, [pc, #244] ; (80794b0 ) 80793ba: 460b mov r3, r1 80793bc: 005b lsls r3, r3, #1 80793be: 440b add r3, r1 80793c0: 4403 add r3, r0 80793c2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80793c6: 461a mov r2, r3 80793c8: 214a movs r1, #74 ; 0x4a 80793ca: 20ff movs r0, #255 ; 0xff 80793cc: f7db fee0 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80793d0: 4931 ldr r1, [pc, #196] ; (8079498 ) 80793d2: 4835 ldr r0, [pc, #212] ; (80794a8 ) 80793d4: f7db f91c bl 8054610 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80793d8: 492f ldr r1, [pc, #188] ; (8079498 ) 80793da: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80793de: f7db f917 bl 8054610 if(blk) 80793e2: 4b34 ldr r3, [pc, #208] ; (80794b4 ) 80793e4: 681b ldr r3, [r3, #0] 80793e6: 2b00 cmp r3, #0 80793e8: d00c beq.n 8079404 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 80793ea: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 80793ee: b2db uxtb r3, r3 80793f0: 461a mov r2, r3 80793f2: 4b31 ldr r3, [pc, #196] ; (80794b8 ) 80793f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80793f8: 461a mov r2, r3 80793fa: 215a movs r1, #90 ; 0x5a 80793fc: f44f 708b mov.w r0, #278 ; 0x116 8079400: f7db feae bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079404: 4924 ldr r1, [pc, #144] ; (8079498 ) 8079406: 4828 ldr r0, [pc, #160] ; (80794a8 ) 8079408: f7db f902 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 807940c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8079410: b2db uxtb r3, r3 8079412: 461a mov r2, r3 8079414: 4b28 ldr r3, [pc, #160] ; (80794b8 ) 8079416: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807941a: 461a mov r2, r3 807941c: 215a movs r1, #90 ; 0x5a 807941e: 20c6 movs r0, #198 ; 0xc6 8079420: f7db fe9e bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8079424: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8079428: b2db uxtb r3, r3 807942a: 461a mov r2, r3 807942c: 4b22 ldr r3, [pc, #136] ; (80794b8 ) 807942e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079432: 461a mov r2, r3 8079434: 215a movs r1, #90 ; 0x5a 8079436: 20d6 movs r0, #214 ; 0xd6 8079438: f7db fe92 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 807943c: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8079440: b2db uxtb r3, r3 8079442: 461a mov r2, r3 8079444: 4b1c ldr r3, [pc, #112] ; (80794b8 ) 8079446: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807944a: 461a mov r2, r3 807944c: 215a movs r1, #90 ; 0x5a 807944e: 20e6 movs r0, #230 ; 0xe6 8079450: f7db fe86 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 8079454: 4a19 ldr r2, [pc, #100] ; (80794bc ) 8079456: 215a movs r1, #90 ; 0x5a 8079458: 20f6 movs r0, #246 ; 0xf6 807945a: f7db fe81 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 807945e: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8079462: b2db uxtb r3, r3 8079464: 461a mov r2, r3 8079466: 4b14 ldr r3, [pc, #80] ; (80794b8 ) 8079468: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807946c: 461a mov r2, r3 807946e: 215a movs r1, #90 ; 0x5a 8079470: f44f 7083 mov.w r0, #262 ; 0x106 8079474: f7db fe74 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8079478: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 807947c: b2db uxtb r3, r3 807947e: 461a mov r2, r3 8079480: 4b0d ldr r3, [pc, #52] ; (80794b8 ) 8079482: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079486: 461a mov r2, r3 8079488: 215a movs r1, #90 ; 0x5a 807948a: f44f 7093 mov.w r0, #294 ; 0x126 807948e: f7db fe67 bl 8055160 8079492: e0f0 b.n 8079676 8079494: 20020070 .word 0x20020070 8079498: ff0a0f1f .word 0xff0a0f1f 807949c: 20023ea8 .word 0x20023ea8 80794a0: 200205dc .word 0x200205dc 80794a4: 20020684 .word 0x20020684 80794a8: ffd8aa57 .word 0xffd8aa57 80794ac: 200205c4 .word 0x200205c4 80794b0: 20020154 .word 0x20020154 80794b4: 200216a4 .word 0x200216a4 80794b8: 2002096c .word 0x2002096c 80794bc: 080d3b58 .word 0x080d3b58 } else if(menupos == Ikt) 80794c0: 4b77 ldr r3, [pc, #476] ; (80796a0 ) 80794c2: 781b ldrb r3, [r3, #0] 80794c4: b2db uxtb r3, r3 80794c6: 2b12 cmp r3, #18 80794c8: f040 80d5 bne.w 8079676 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80794cc: 4975 ldr r1, [pc, #468] ; (80796a4 ) 80794ce: f04f 30ff mov.w r0, #4294967295 80794d2: f7db f89d bl 8054610 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80794d6: 4b74 ldr r3, [pc, #464] ; (80796a8 ) 80794d8: 7b1b ldrb r3, [r3, #12] 80794da: b2db uxtb r3, r3 80794dc: 4619 mov r1, r3 80794de: 4b72 ldr r3, [pc, #456] ; (80796a8 ) 80794e0: 799b ldrb r3, [r3, #6] 80794e2: b2db uxtb r3, r3 80794e4: 4618 mov r0, r3 80794e6: 4a71 ldr r2, [pc, #452] ; (80796ac ) 80794e8: 460b mov r3, r1 80794ea: 005b lsls r3, r3, #1 80794ec: 440b add r3, r1 80794ee: 4403 add r3, r0 80794f0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80794f4: 461a mov r2, r3 80794f6: 215a movs r1, #90 ; 0x5a 80794f8: 200a movs r0, #10 80794fa: f7db fe31 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 80794fe: 4b6a ldr r3, [pc, #424] ; (80796a8 ) 8079500: 7b1b ldrb r3, [r3, #12] 8079502: b2db uxtb r3, r3 8079504: 4619 mov r1, r3 8079506: 4a6a ldr r2, [pc, #424] ; (80796b0 ) 8079508: 460b mov r3, r1 807950a: 009b lsls r3, r3, #2 807950c: 440b add r3, r1 807950e: 009b lsls r3, r3, #2 8079510: 4413 add r3, r2 8079512: 3304 adds r3, #4 8079514: 681b ldr r3, [r3, #0] 8079516: 461a mov r2, r3 8079518: 217a movs r1, #122 ; 0x7a 807951a: 200a movs r0, #10 807951c: f7db fe20 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8079520: 4b61 ldr r3, [pc, #388] ; (80796a8 ) 8079522: 7b1b ldrb r3, [r3, #12] 8079524: b2db uxtb r3, r3 8079526: 4619 mov r1, r3 8079528: 4a61 ldr r2, [pc, #388] ; (80796b0 ) 807952a: 460b mov r3, r1 807952c: 009b lsls r3, r3, #2 807952e: 440b add r3, r1 8079530: 009b lsls r3, r3, #2 8079532: 4413 add r3, r2 8079534: 3308 adds r3, #8 8079536: 681b ldr r3, [r3, #0] 8079538: 461a mov r2, r3 807953a: 216a movs r1, #106 ; 0x6a 807953c: 200a movs r0, #10 807953e: f7db fe0f bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8079542: 4b59 ldr r3, [pc, #356] ; (80796a8 ) 8079544: 7b1b ldrb r3, [r3, #12] 8079546: b2db uxtb r3, r3 8079548: 4619 mov r1, r3 807954a: 4a59 ldr r2, [pc, #356] ; (80796b0 ) 807954c: 460b mov r3, r1 807954e: 009b lsls r3, r3, #2 8079550: 440b add r3, r1 8079552: 009b lsls r3, r3, #2 8079554: 4413 add r3, r2 8079556: 330c adds r3, #12 8079558: 681b ldr r3, [r3, #0] 807955a: 461a mov r2, r3 807955c: 218a movs r1, #138 ; 0x8a 807955e: 200a movs r0, #10 8079560: f7db fdfe bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079564: 494f ldr r1, [pc, #316] ; (80796a4 ) 8079566: 4853 ldr r0, [pc, #332] ; (80796b4 ) 8079568: f7db f852 bl 8054610 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 807956c: 4b4e ldr r3, [pc, #312] ; (80796a8 ) 807956e: 7b1b ldrb r3, [r3, #12] 8079570: b2db uxtb r3, r3 8079572: 461a mov r2, r3 8079574: 4b50 ldr r3, [pc, #320] ; (80796b8 ) 8079576: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807957a: 461a mov r2, r3 807957c: 216a movs r1, #106 ; 0x6a 807957e: 20ff movs r0, #255 ; 0xff 8079580: f7db fe06 bl 8055190 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #else LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079584: 4947 ldr r1, [pc, #284] ; (80796a4 ) 8079586: 484b ldr r0, [pc, #300] ; (80796b4 ) 8079588: f7db f842 bl 8054610 #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 807958c: 4b46 ldr r3, [pc, #280] ; (80796a8 ) 807958e: 7b1b ldrb r3, [r3, #12] 8079590: b2db uxtb r3, r3 8079592: 4619 mov r1, r3 8079594: 4b44 ldr r3, [pc, #272] ; (80796a8 ) 8079596: 799b ldrb r3, [r3, #6] 8079598: b2db uxtb r3, r3 807959a: 4618 mov r0, r3 807959c: 4a47 ldr r2, [pc, #284] ; (80796bc ) 807959e: 460b mov r3, r1 80795a0: 005b lsls r3, r3, #1 80795a2: 440b add r3, r1 80795a4: 4403 add r3, r0 80795a6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80795aa: 461a mov r2, r3 80795ac: 214a movs r1, #74 ; 0x4a 80795ae: 20ff movs r0, #255 ; 0xff 80795b0: f7db fdee bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80795b4: 493b ldr r1, [pc, #236] ; (80796a4 ) 80795b6: 483f ldr r0, [pc, #252] ; (80796b4 ) 80795b8: f7db f82a bl 8054610 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80795bc: 4939 ldr r1, [pc, #228] ; (80796a4 ) 80795be: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80795c2: f7db f825 bl 8054610 if(blk) 80795c6: 4b3e ldr r3, [pc, #248] ; (80796c0 ) 80795c8: 681b ldr r3, [r3, #0] 80795ca: 2b00 cmp r3, #0 80795cc: d00c beq.n 80795e8 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 80795ce: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 80795d2: b2db uxtb r3, r3 80795d4: 461a mov r2, r3 80795d6: 4b3b ldr r3, [pc, #236] ; (80796c4 ) 80795d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80795dc: 461a mov r2, r3 80795de: 215a movs r1, #90 ; 0x5a 80795e0: f44f 7093 mov.w r0, #294 ; 0x126 80795e4: f7db fdbc bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80795e8: 492e ldr r1, [pc, #184] ; (80796a4 ) 80795ea: 4832 ldr r0, [pc, #200] ; (80796b4 ) 80795ec: f7db f810 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 80795f0: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80795f4: b2db uxtb r3, r3 80795f6: 461a mov r2, r3 80795f8: 4b32 ldr r3, [pc, #200] ; (80796c4 ) 80795fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80795fe: 461a mov r2, r3 8079600: 215a movs r1, #90 ; 0x5a 8079602: 20c6 movs r0, #198 ; 0xc6 8079604: f7db fdac bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8079608: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807960c: b2db uxtb r3, r3 807960e: 461a mov r2, r3 8079610: 4b2c ldr r3, [pc, #176] ; (80796c4 ) 8079612: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079616: 461a mov r2, r3 8079618: 215a movs r1, #90 ; 0x5a 807961a: 20d6 movs r0, #214 ; 0xd6 807961c: f7db fda0 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8079620: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8079624: b2db uxtb r3, r3 8079626: 461a mov r2, r3 8079628: 4b26 ldr r3, [pc, #152] ; (80796c4 ) 807962a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807962e: 461a mov r2, r3 8079630: 215a movs r1, #90 ; 0x5a 8079632: 20e6 movs r0, #230 ; 0xe6 8079634: f7db fd94 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 8079638: 4a23 ldr r2, [pc, #140] ; (80796c8 ) 807963a: 215a movs r1, #90 ; 0x5a 807963c: 20f6 movs r0, #246 ; 0xf6 807963e: f7db fd8f bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8079642: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8079646: b2db uxtb r3, r3 8079648: 461a mov r2, r3 807964a: 4b1e ldr r3, [pc, #120] ; (80796c4 ) 807964c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8079650: 461a mov r2, r3 8079652: 215a movs r1, #90 ; 0x5a 8079654: f44f 7083 mov.w r0, #262 ; 0x106 8079658: f7db fd82 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 807965c: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8079660: b2db uxtb r3, r3 8079662: 461a mov r2, r3 8079664: 4b17 ldr r3, [pc, #92] ; (80796c4 ) 8079666: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807966a: 461a mov r2, r3 807966c: 215a movs r1, #90 ; 0x5a 807966e: f44f 708b mov.w r0, #278 ; 0x116 8079672: f7db fd75 bl 8055160 BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); } #endif #else #ifdef USE_TEMPERATURE if(pardata.OPTIONS & BIT8) // Åñëè Pyrometer 8079676: 4b0c ldr r3, [pc, #48] ; (80796a8 ) 8079678: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807967c: f403 7380 and.w r3, r3, #256 ; 0x100 8079680: 2b00 cmp r3, #0 8079682: f01e 87b4 beq.w 80985ee { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8079686: 4907 ldr r1, [pc, #28] ; (80796a4 ) 8079688: 4810 ldr r0, [pc, #64] ; (80796cc ) 807968a: f7da ffc1 bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_9+2, 6, 6); 807968e: 2306 movs r3, #6 8079690: 2206 movs r2, #6 8079692: 219f movs r1, #159 ; 0x9f 8079694: f240 1001 movw r0, #257 ; 0x101 8079698: f7db fc48 bl 8054f2c #endif #endif break; 807969c: f01e bfa7 b.w 80985ee 80796a0: 20020070 .word 0x20020070 80796a4: ff0a0f1f .word 0xff0a0f1f 80796a8: 20023ea8 .word 0x20023ea8 80796ac: 200205dc .word 0x200205dc 80796b0: 20020684 .word 0x20020684 80796b4: ffd8aa57 .word 0xffd8aa57 80796b8: 200205c4 .word 0x200205c4 80796bc: 20020154 .word 0x20020154 80796c0: 200216a4 .word 0x200216a4 80796c4: 2002096c .word 0x2002096c 80796c8: 080d3b58 .word 0x080d3b58 80796cc: ff404040 .word 0xff404040 case DATETIME: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80796d0: 4983 ldr r1, [pc, #524] ; (80798e0 ) 80796d2: 4884 ldr r0, [pc, #528] ; (80798e4 ) 80796d4: f7da ff9c bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 80796d8: 23c9 movs r3, #201 ; 0xc9 80796da: f44f 729d mov.w r2, #314 ; 0x13a 80796de: 2123 movs r1, #35 ; 0x23 80796e0: 2002 movs r0, #2 80796e2: f7db fa9b bl 8054c1c Hours = RTC_TimeStruct.Hours; 80796e6: 4b80 ldr r3, [pc, #512] ; (80798e8 ) 80796e8: 781b ldrb r3, [r3, #0] 80796ea: 461a mov r2, r3 80796ec: 4b7f ldr r3, [pc, #508] ; (80798ec ) 80796ee: 601a str r2, [r3, #0] Minutes = RTC_TimeStruct.Minutes; 80796f0: 4b7d ldr r3, [pc, #500] ; (80798e8 ) 80796f2: 785b ldrb r3, [r3, #1] 80796f4: 461a mov r2, r3 80796f6: 4b7e ldr r3, [pc, #504] ; (80798f0 ) 80796f8: 601a str r2, [r3, #0] i = RTC_DateStruct.Date; 80796fa: 4b7e ldr r3, [pc, #504] ; (80798f4 ) 80796fc: 789b ldrb r3, [r3, #2] 80796fe: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 j = RTC_DateStruct.Month; 8079702: 4b7c ldr r3, [pc, #496] ; (80798f4 ) 8079704: 785b ldrb r3, [r3, #1] 8079706: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc k = RTC_DateStruct.Year; 807970a: 4b7a ldr r3, [pc, #488] ; (80798f4 ) 807970c: 78db ldrb r3, [r3, #3] 807970e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(menupos == DateAll) 8079712: 4b79 ldr r3, [pc, #484] ; (80798f8 ) 8079714: 781b ldrb r3, [r3, #0] 8079716: b2db uxtb r3, r3 8079718: 2b01 cmp r3, #1 807971a: f040 80f7 bne.w 807990c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807971e: 4970 ldr r1, [pc, #448] ; (80798e0 ) 8079720: f04f 30ff mov.w r0, #4294967295 8079724: f7da ff74 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]);//"Äàòà(ÄÄ.ÌÌ.ÃÃ)" 8079728: 4b74 ldr r3, [pc, #464] ; (80798fc ) 807972a: 7b1b ldrb r3, [r3, #12] 807972c: b2db uxtb r3, r3 807972e: 461a mov r2, r3 8079730: 4b73 ldr r3, [pc, #460] ; (8079900 ) 8079732: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8079736: 461a mov r2, r3 8079738: 214a movs r1, #74 ; 0x4a 807973a: 200a movs r0, #10 807973c: f7db fd10 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]);//"Âðåìÿ(××:ÌÌ)" 8079740: 4b6e ldr r3, [pc, #440] ; (80798fc ) 8079742: 7b1b ldrb r3, [r3, #12] 8079744: b2db uxtb r3, r3 8079746: 4a6e ldr r2, [pc, #440] ; (8079900 ) 8079748: 00db lsls r3, r3, #3 807974a: 4413 add r3, r2 807974c: 685b ldr r3, [r3, #4] 807974e: 461a mov r2, r3 8079750: 215a movs r1, #90 ; 0x5a 8079752: 200a movs r0, #10 8079754: f7db fd04 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079758: 4961 ldr r1, [pc, #388] ; (80798e0 ) 807975a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807975e: f7da ff57 bl 8054610 memset(str, 0, sizeof(str)); 8079762: f507 733b add.w r3, r7, #748 ; 0x2ec 8079766: 223c movs r2, #60 ; 0x3c 8079768: 2100 movs r1, #0 807976a: 4618 mov r0, r3 807976c: f057 fe18 bl 80d13a0 str[0] = (i / 10) + 48; 8079770: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079774: 4a63 ldr r2, [pc, #396] ; (8079904 ) 8079776: fba2 2303 umull r2, r3, r2, r3 807977a: 08db lsrs r3, r3, #3 807977c: b2db uxtb r3, r3 807977e: 3330 adds r3, #48 ; 0x30 8079780: b2da uxtb r2, r3 8079782: f507 733b add.w r3, r7, #748 ; 0x2ec 8079786: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8079788: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 807978c: 4b5d ldr r3, [pc, #372] ; (8079904 ) 807978e: fba3 2301 umull r2, r3, r3, r1 8079792: 08da lsrs r2, r3, #3 8079794: 4613 mov r3, r2 8079796: 009b lsls r3, r3, #2 8079798: 4413 add r3, r2 807979a: 005b lsls r3, r3, #1 807979c: 1aca subs r2, r1, r3 807979e: b2d3 uxtb r3, r2 80797a0: 3330 adds r3, #48 ; 0x30 80797a2: b2da uxtb r2, r3 80797a4: f507 733b add.w r3, r7, #748 ; 0x2ec 80797a8: 705a strb r2, [r3, #1] str[2] = '.'; 80797aa: f507 733b add.w r3, r7, #748 ; 0x2ec 80797ae: 222e movs r2, #46 ; 0x2e 80797b0: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 80797b2: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80797b6: 4a53 ldr r2, [pc, #332] ; (8079904 ) 80797b8: fba2 2303 umull r2, r3, r2, r3 80797bc: 08db lsrs r3, r3, #3 80797be: b2db uxtb r3, r3 80797c0: 3330 adds r3, #48 ; 0x30 80797c2: b2da uxtb r2, r3 80797c4: f507 733b add.w r3, r7, #748 ; 0x2ec 80797c8: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 80797ca: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 80797ce: 4b4d ldr r3, [pc, #308] ; (8079904 ) 80797d0: fba3 2301 umull r2, r3, r3, r1 80797d4: 08da lsrs r2, r3, #3 80797d6: 4613 mov r3, r2 80797d8: 009b lsls r3, r3, #2 80797da: 4413 add r3, r2 80797dc: 005b lsls r3, r3, #1 80797de: 1aca subs r2, r1, r3 80797e0: b2d3 uxtb r3, r2 80797e2: 3330 adds r3, #48 ; 0x30 80797e4: b2da uxtb r2, r3 80797e6: f507 733b add.w r3, r7, #748 ; 0x2ec 80797ea: 711a strb r2, [r3, #4] str[5] = '.'; 80797ec: f507 733b add.w r3, r7, #748 ; 0x2ec 80797f0: 222e movs r2, #46 ; 0x2e 80797f2: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 80797f4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80797f8: 4a42 ldr r2, [pc, #264] ; (8079904 ) 80797fa: fba2 2303 umull r2, r3, r2, r3 80797fe: 08db lsrs r3, r3, #3 8079800: b2db uxtb r3, r3 8079802: 3330 adds r3, #48 ; 0x30 8079804: b2da uxtb r2, r3 8079806: f507 733b add.w r3, r7, #748 ; 0x2ec 807980a: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 807980c: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8079810: 4b3c ldr r3, [pc, #240] ; (8079904 ) 8079812: fba3 2301 umull r2, r3, r3, r1 8079816: 08da lsrs r2, r3, #3 8079818: 4613 mov r3, r2 807981a: 009b lsls r3, r3, #2 807981c: 4413 add r3, r2 807981e: 005b lsls r3, r3, #1 8079820: 1aca subs r2, r1, r3 8079822: b2d3 uxtb r3, r2 8079824: 3330 adds r3, #48 ; 0x30 8079826: b2da uxtb r2, r3 8079828: f507 733b add.w r3, r7, #748 ; 0x2ec 807982c: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 807982e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079832: 461a mov r2, r3 8079834: 214a movs r1, #74 ; 0x4a 8079836: 20cb movs r0, #203 ; 0xcb 8079838: f7db fc92 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807983c: 4928 ldr r1, [pc, #160] ; (80798e0 ) 807983e: 4832 ldr r0, [pc, #200] ; (8079908 ) 8079840: f7da fee6 bl 8054610 memset(str, 0, sizeof(str)); 8079844: f507 733b add.w r3, r7, #748 ; 0x2ec 8079848: 223c movs r2, #60 ; 0x3c 807984a: 2100 movs r1, #0 807984c: 4618 mov r0, r3 807984e: f057 fda7 bl 80d13a0 str[0] = (Hours / 10) + 48; 8079852: 4b26 ldr r3, [pc, #152] ; (80798ec ) 8079854: 681b ldr r3, [r3, #0] 8079856: 4a2b ldr r2, [pc, #172] ; (8079904 ) 8079858: fba2 2303 umull r2, r3, r2, r3 807985c: 08db lsrs r3, r3, #3 807985e: b2db uxtb r3, r3 8079860: 3330 adds r3, #48 ; 0x30 8079862: b2da uxtb r2, r3 8079864: f507 733b add.w r3, r7, #748 ; 0x2ec 8079868: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807986a: 4b20 ldr r3, [pc, #128] ; (80798ec ) 807986c: 6819 ldr r1, [r3, #0] 807986e: 4b25 ldr r3, [pc, #148] ; (8079904 ) 8079870: fba3 2301 umull r2, r3, r3, r1 8079874: 08da lsrs r2, r3, #3 8079876: 4613 mov r3, r2 8079878: 009b lsls r3, r3, #2 807987a: 4413 add r3, r2 807987c: 005b lsls r3, r3, #1 807987e: 1aca subs r2, r1, r3 8079880: b2d3 uxtb r3, r2 8079882: 3330 adds r3, #48 ; 0x30 8079884: b2da uxtb r2, r3 8079886: f507 733b add.w r3, r7, #748 ; 0x2ec 807988a: 705a strb r2, [r3, #1] str[2] = ':'; 807988c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079890: 223a movs r2, #58 ; 0x3a 8079892: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8079894: 4b16 ldr r3, [pc, #88] ; (80798f0 ) 8079896: 681b ldr r3, [r3, #0] 8079898: 4a1a ldr r2, [pc, #104] ; (8079904 ) 807989a: fba2 2303 umull r2, r3, r2, r3 807989e: 08db lsrs r3, r3, #3 80798a0: b2db uxtb r3, r3 80798a2: 3330 adds r3, #48 ; 0x30 80798a4: b2da uxtb r2, r3 80798a6: f507 733b add.w r3, r7, #748 ; 0x2ec 80798aa: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 80798ac: 4b10 ldr r3, [pc, #64] ; (80798f0 ) 80798ae: 6819 ldr r1, [r3, #0] 80798b0: 4b14 ldr r3, [pc, #80] ; (8079904 ) 80798b2: fba3 2301 umull r2, r3, r3, r1 80798b6: 08da lsrs r2, r3, #3 80798b8: 4613 mov r3, r2 80798ba: 009b lsls r3, r3, #2 80798bc: 4413 add r3, r2 80798be: 005b lsls r3, r3, #1 80798c0: 1aca subs r2, r1, r3 80798c2: b2d3 uxtb r3, r2 80798c4: 3330 adds r3, #48 ; 0x30 80798c6: b2da uxtb r2, r3 80798c8: f507 733b add.w r3, r7, #748 ; 0x2ec 80798cc: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 80798ce: f507 733b add.w r3, r7, #748 ; 0x2ec 80798d2: 461a mov r2, r3 80798d4: 215a movs r1, #90 ; 0x5a 80798d6: 20df movs r0, #223 ; 0xdf 80798d8: f7db fc42 bl 8055160 str[0] = (Minutes / 10) + 48; str[1] = (Minutes % 10) + 48; if(blk) LCD_DisplayString(223 + 33, LCD_LINE_5, str); } break; 80798dc: f01e be89 b.w 80985f2 80798e0: ff0a0f1f .word 0xff0a0f1f 80798e4: ffd3d3d3 .word 0xffd3d3d3 80798e8: 20025cb0 .word 0x20025cb0 80798ec: 20021684 .word 0x20021684 80798f0: 20021688 .word 0x20021688 80798f4: 20025d34 .word 0x20025d34 80798f8: 20020070 .word 0x20020070 80798fc: 20023ea8 .word 0x20023ea8 8079900: 200206ac .word 0x200206ac 8079904: cccccccd .word 0xcccccccd 8079908: ffd8aa57 .word 0xffd8aa57 if(menupos == TimeAll) 807990c: 4b73 ldr r3, [pc, #460] ; (8079adc ) 807990e: 781b ldrb r3, [r3, #0] 8079910: b2db uxtb r3, r3 8079912: 2b02 cmp r3, #2 8079914: f040 80f2 bne.w 8079afc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079918: 4971 ldr r1, [pc, #452] ; (8079ae0 ) 807991a: f04f 30ff mov.w r0, #4294967295 807991e: f7da fe77 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]);//"Äàòà(ÄÄ.ÌÌ.ÃÃ)" 8079922: 4b70 ldr r3, [pc, #448] ; (8079ae4 ) 8079924: 7b1b ldrb r3, [r3, #12] 8079926: b2db uxtb r3, r3 8079928: 461a mov r2, r3 807992a: 4b6f ldr r3, [pc, #444] ; (8079ae8 ) 807992c: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8079930: 461a mov r2, r3 8079932: 214a movs r1, #74 ; 0x4a 8079934: 200a movs r0, #10 8079936: f7db fc13 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]);//"Âðåìÿ(××:ÌÌ)" 807993a: 4b6a ldr r3, [pc, #424] ; (8079ae4 ) 807993c: 7b1b ldrb r3, [r3, #12] 807993e: b2db uxtb r3, r3 8079940: 4a69 ldr r2, [pc, #420] ; (8079ae8 ) 8079942: 00db lsls r3, r3, #3 8079944: 4413 add r3, r2 8079946: 685b ldr r3, [r3, #4] 8079948: 461a mov r2, r3 807994a: 215a movs r1, #90 ; 0x5a 807994c: 200a movs r0, #10 807994e: f7db fc07 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079952: 4963 ldr r1, [pc, #396] ; (8079ae0 ) 8079954: 4865 ldr r0, [pc, #404] ; (8079aec ) 8079956: f7da fe5b bl 8054610 memset(str, 0, sizeof(str)); 807995a: f507 733b add.w r3, r7, #748 ; 0x2ec 807995e: 223c movs r2, #60 ; 0x3c 8079960: 2100 movs r1, #0 8079962: 4618 mov r0, r3 8079964: f057 fd1c bl 80d13a0 str[0] = (i / 10) + 48; 8079968: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807996c: 4a60 ldr r2, [pc, #384] ; (8079af0 ) 807996e: fba2 2303 umull r2, r3, r2, r3 8079972: 08db lsrs r3, r3, #3 8079974: b2db uxtb r3, r3 8079976: 3330 adds r3, #48 ; 0x30 8079978: b2da uxtb r2, r3 807997a: f507 733b add.w r3, r7, #748 ; 0x2ec 807997e: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8079980: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8079984: 4b5a ldr r3, [pc, #360] ; (8079af0 ) 8079986: fba3 2301 umull r2, r3, r3, r1 807998a: 08da lsrs r2, r3, #3 807998c: 4613 mov r3, r2 807998e: 009b lsls r3, r3, #2 8079990: 4413 add r3, r2 8079992: 005b lsls r3, r3, #1 8079994: 1aca subs r2, r1, r3 8079996: b2d3 uxtb r3, r2 8079998: 3330 adds r3, #48 ; 0x30 807999a: b2da uxtb r2, r3 807999c: f507 733b add.w r3, r7, #748 ; 0x2ec 80799a0: 705a strb r2, [r3, #1] str[2] = '.'; 80799a2: f507 733b add.w r3, r7, #748 ; 0x2ec 80799a6: 222e movs r2, #46 ; 0x2e 80799a8: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 80799aa: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80799ae: 4a50 ldr r2, [pc, #320] ; (8079af0 ) 80799b0: fba2 2303 umull r2, r3, r2, r3 80799b4: 08db lsrs r3, r3, #3 80799b6: b2db uxtb r3, r3 80799b8: 3330 adds r3, #48 ; 0x30 80799ba: b2da uxtb r2, r3 80799bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80799c0: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 80799c2: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 80799c6: 4b4a ldr r3, [pc, #296] ; (8079af0 ) 80799c8: fba3 2301 umull r2, r3, r3, r1 80799cc: 08da lsrs r2, r3, #3 80799ce: 4613 mov r3, r2 80799d0: 009b lsls r3, r3, #2 80799d2: 4413 add r3, r2 80799d4: 005b lsls r3, r3, #1 80799d6: 1aca subs r2, r1, r3 80799d8: b2d3 uxtb r3, r2 80799da: 3330 adds r3, #48 ; 0x30 80799dc: b2da uxtb r2, r3 80799de: f507 733b add.w r3, r7, #748 ; 0x2ec 80799e2: 711a strb r2, [r3, #4] str[5] = '.'; 80799e4: f507 733b add.w r3, r7, #748 ; 0x2ec 80799e8: 222e movs r2, #46 ; 0x2e 80799ea: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 80799ec: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80799f0: 4a3f ldr r2, [pc, #252] ; (8079af0 ) 80799f2: fba2 2303 umull r2, r3, r2, r3 80799f6: 08db lsrs r3, r3, #3 80799f8: b2db uxtb r3, r3 80799fa: 3330 adds r3, #48 ; 0x30 80799fc: b2da uxtb r2, r3 80799fe: f507 733b add.w r3, r7, #748 ; 0x2ec 8079a02: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 8079a04: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8079a08: 4b39 ldr r3, [pc, #228] ; (8079af0 ) 8079a0a: fba3 2301 umull r2, r3, r3, r1 8079a0e: 08da lsrs r2, r3, #3 8079a10: 4613 mov r3, r2 8079a12: 009b lsls r3, r3, #2 8079a14: 4413 add r3, r2 8079a16: 005b lsls r3, r3, #1 8079a18: 1aca subs r2, r1, r3 8079a1a: b2d3 uxtb r3, r2 8079a1c: 3330 adds r3, #48 ; 0x30 8079a1e: b2da uxtb r2, r3 8079a20: f507 733b add.w r3, r7, #748 ; 0x2ec 8079a24: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 8079a26: f507 733b add.w r3, r7, #748 ; 0x2ec 8079a2a: 461a mov r2, r3 8079a2c: 214a movs r1, #74 ; 0x4a 8079a2e: 20cb movs r0, #203 ; 0xcb 8079a30: f7db fb96 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079a34: 492a ldr r1, [pc, #168] ; (8079ae0 ) 8079a36: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8079a3a: f7da fde9 bl 8054610 memset(str, 0, sizeof(str)); 8079a3e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079a42: 223c movs r2, #60 ; 0x3c 8079a44: 2100 movs r1, #0 8079a46: 4618 mov r0, r3 8079a48: f057 fcaa bl 80d13a0 str[0] = (Hours / 10) + 48; 8079a4c: 4b29 ldr r3, [pc, #164] ; (8079af4 ) 8079a4e: 681b ldr r3, [r3, #0] 8079a50: 4a27 ldr r2, [pc, #156] ; (8079af0 ) 8079a52: fba2 2303 umull r2, r3, r2, r3 8079a56: 08db lsrs r3, r3, #3 8079a58: b2db uxtb r3, r3 8079a5a: 3330 adds r3, #48 ; 0x30 8079a5c: b2da uxtb r2, r3 8079a5e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079a62: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8079a64: 4b23 ldr r3, [pc, #140] ; (8079af4 ) 8079a66: 6819 ldr r1, [r3, #0] 8079a68: 4b21 ldr r3, [pc, #132] ; (8079af0 ) 8079a6a: fba3 2301 umull r2, r3, r3, r1 8079a6e: 08da lsrs r2, r3, #3 8079a70: 4613 mov r3, r2 8079a72: 009b lsls r3, r3, #2 8079a74: 4413 add r3, r2 8079a76: 005b lsls r3, r3, #1 8079a78: 1aca subs r2, r1, r3 8079a7a: b2d3 uxtb r3, r2 8079a7c: 3330 adds r3, #48 ; 0x30 8079a7e: b2da uxtb r2, r3 8079a80: f507 733b add.w r3, r7, #748 ; 0x2ec 8079a84: 705a strb r2, [r3, #1] str[2] = ':'; 8079a86: f507 733b add.w r3, r7, #748 ; 0x2ec 8079a8a: 223a movs r2, #58 ; 0x3a 8079a8c: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8079a8e: 4b1a ldr r3, [pc, #104] ; (8079af8 ) 8079a90: 681b ldr r3, [r3, #0] 8079a92: 4a17 ldr r2, [pc, #92] ; (8079af0 ) 8079a94: fba2 2303 umull r2, r3, r2, r3 8079a98: 08db lsrs r3, r3, #3 8079a9a: b2db uxtb r3, r3 8079a9c: 3330 adds r3, #48 ; 0x30 8079a9e: b2da uxtb r2, r3 8079aa0: f507 733b add.w r3, r7, #748 ; 0x2ec 8079aa4: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8079aa6: 4b14 ldr r3, [pc, #80] ; (8079af8 ) 8079aa8: 6819 ldr r1, [r3, #0] 8079aaa: 4b11 ldr r3, [pc, #68] ; (8079af0 ) 8079aac: fba3 2301 umull r2, r3, r3, r1 8079ab0: 08da lsrs r2, r3, #3 8079ab2: 4613 mov r3, r2 8079ab4: 009b lsls r3, r3, #2 8079ab6: 4413 add r3, r2 8079ab8: 005b lsls r3, r3, #1 8079aba: 1aca subs r2, r1, r3 8079abc: b2d3 uxtb r3, r2 8079abe: 3330 adds r3, #48 ; 0x30 8079ac0: b2da uxtb r2, r3 8079ac2: f507 733b add.w r3, r7, #748 ; 0x2ec 8079ac6: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 8079ac8: f507 733b add.w r3, r7, #748 ; 0x2ec 8079acc: 461a mov r2, r3 8079ace: 215a movs r1, #90 ; 0x5a 8079ad0: 20df movs r0, #223 ; 0xdf 8079ad2: f7db fb45 bl 8055160 break; 8079ad6: f01e bd8c b.w 80985f2 8079ada: bf00 nop 8079adc: 20020070 .word 0x20020070 8079ae0: ff0a0f1f .word 0xff0a0f1f 8079ae4: 20023ea8 .word 0x20023ea8 8079ae8: 200206ac .word 0x200206ac 8079aec: ffd8aa57 .word 0xffd8aa57 8079af0: cccccccd .word 0xcccccccd 8079af4: 20021684 .word 0x20021684 8079af8: 20021688 .word 0x20021688 if(menupos == DateD) 8079afc: 4b7c ldr r3, [pc, #496] ; (8079cf0 ) 8079afe: 781b ldrb r3, [r3, #0] 8079b00: b2db uxtb r3, r3 8079b02: 2b03 cmp r3, #3 8079b04: f040 8106 bne.w 8079d14 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079b08: 497a ldr r1, [pc, #488] ; (8079cf4 ) 8079b0a: f04f 30ff mov.w r0, #4294967295 8079b0e: f7da fd7f bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 8079b12: 4b79 ldr r3, [pc, #484] ; (8079cf8 ) 8079b14: 7b1b ldrb r3, [r3, #12] 8079b16: b2db uxtb r3, r3 8079b18: 461a mov r2, r3 8079b1a: 4b78 ldr r3, [pc, #480] ; (8079cfc ) 8079b1c: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8079b20: 461a mov r2, r3 8079b22: 214a movs r1, #74 ; 0x4a 8079b24: 200a movs r0, #10 8079b26: f7db fb1b bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 8079b2a: 4b73 ldr r3, [pc, #460] ; (8079cf8 ) 8079b2c: 7b1b ldrb r3, [r3, #12] 8079b2e: b2db uxtb r3, r3 8079b30: 4a72 ldr r2, [pc, #456] ; (8079cfc ) 8079b32: 00db lsls r3, r3, #3 8079b34: 4413 add r3, r2 8079b36: 685b ldr r3, [r3, #4] 8079b38: 461a mov r2, r3 8079b3a: 215a movs r1, #90 ; 0x5a 8079b3c: 200a movs r0, #10 8079b3e: f7db fb0f bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079b42: 496c ldr r1, [pc, #432] ; (8079cf4 ) 8079b44: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8079b48: f7da fd62 bl 8054610 memset(str, 0, sizeof(str)); 8079b4c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079b50: 223c movs r2, #60 ; 0x3c 8079b52: 2100 movs r1, #0 8079b54: 4618 mov r0, r3 8079b56: f057 fc23 bl 80d13a0 str[0] = (i / 10) + 48; 8079b5a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079b5e: 4a68 ldr r2, [pc, #416] ; (8079d00 ) 8079b60: fba2 2303 umull r2, r3, r2, r3 8079b64: 08db lsrs r3, r3, #3 8079b66: b2db uxtb r3, r3 8079b68: 3330 adds r3, #48 ; 0x30 8079b6a: b2da uxtb r2, r3 8079b6c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079b70: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8079b72: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8079b76: 4b62 ldr r3, [pc, #392] ; (8079d00 ) 8079b78: fba3 2301 umull r2, r3, r3, r1 8079b7c: 08da lsrs r2, r3, #3 8079b7e: 4613 mov r3, r2 8079b80: 009b lsls r3, r3, #2 8079b82: 4413 add r3, r2 8079b84: 005b lsls r3, r3, #1 8079b86: 1aca subs r2, r1, r3 8079b88: b2d3 uxtb r3, r2 8079b8a: 3330 adds r3, #48 ; 0x30 8079b8c: b2da uxtb r2, r3 8079b8e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079b92: 705a strb r2, [r3, #1] if(blk) 8079b94: 4b5b ldr r3, [pc, #364] ; (8079d04 ) 8079b96: 681b ldr r3, [r3, #0] 8079b98: 2b00 cmp r3, #0 8079b9a: d006 beq.n 8079baa LCD_DisplayString(203, LCD_LINE_4, str); 8079b9c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079ba0: 461a mov r2, r3 8079ba2: 214a movs r1, #74 ; 0x4a 8079ba4: 20cb movs r0, #203 ; 0xcb 8079ba6: f7db fadb bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079baa: 4952 ldr r1, [pc, #328] ; (8079cf4 ) 8079bac: 4856 ldr r0, [pc, #344] ; (8079d08 ) 8079bae: f7da fd2f bl 8054610 memset(str, 0, sizeof(str)); 8079bb2: f507 733b add.w r3, r7, #748 ; 0x2ec 8079bb6: 223c movs r2, #60 ; 0x3c 8079bb8: 2100 movs r1, #0 8079bba: 4618 mov r0, r3 8079bbc: f057 fbf0 bl 80d13a0 str[0] = '.'; 8079bc0: f507 733b add.w r3, r7, #748 ; 0x2ec 8079bc4: 222e movs r2, #46 ; 0x2e 8079bc6: 701a strb r2, [r3, #0] str[1] = (j / 10) + 48; 8079bc8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8079bcc: 4a4c ldr r2, [pc, #304] ; (8079d00 ) 8079bce: fba2 2303 umull r2, r3, r2, r3 8079bd2: 08db lsrs r3, r3, #3 8079bd4: b2db uxtb r3, r3 8079bd6: 3330 adds r3, #48 ; 0x30 8079bd8: b2da uxtb r2, r3 8079bda: f507 733b add.w r3, r7, #748 ; 0x2ec 8079bde: 705a strb r2, [r3, #1] str[2] = (j % 10) + 48; 8079be0: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 8079be4: 4b46 ldr r3, [pc, #280] ; (8079d00 ) 8079be6: fba3 2301 umull r2, r3, r3, r1 8079bea: 08da lsrs r2, r3, #3 8079bec: 4613 mov r3, r2 8079bee: 009b lsls r3, r3, #2 8079bf0: 4413 add r3, r2 8079bf2: 005b lsls r3, r3, #1 8079bf4: 1aca subs r2, r1, r3 8079bf6: b2d3 uxtb r3, r2 8079bf8: 3330 adds r3, #48 ; 0x30 8079bfa: b2da uxtb r2, r3 8079bfc: f507 733b add.w r3, r7, #748 ; 0x2ec 8079c00: 709a strb r2, [r3, #2] str[3] = '.'; 8079c02: f507 733b add.w r3, r7, #748 ; 0x2ec 8079c06: 222e movs r2, #46 ; 0x2e 8079c08: 70da strb r2, [r3, #3] str[4] = (k / 10) + 48; 8079c0a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079c0e: 4a3c ldr r2, [pc, #240] ; (8079d00 ) 8079c10: fba2 2303 umull r2, r3, r2, r3 8079c14: 08db lsrs r3, r3, #3 8079c16: b2db uxtb r3, r3 8079c18: 3330 adds r3, #48 ; 0x30 8079c1a: b2da uxtb r2, r3 8079c1c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079c20: 711a strb r2, [r3, #4] str[5] = (k % 10) + 48; 8079c22: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8079c26: 4b36 ldr r3, [pc, #216] ; (8079d00 ) 8079c28: fba3 2301 umull r2, r3, r3, r1 8079c2c: 08da lsrs r2, r3, #3 8079c2e: 4613 mov r3, r2 8079c30: 009b lsls r3, r3, #2 8079c32: 4413 add r3, r2 8079c34: 005b lsls r3, r3, #1 8079c36: 1aca subs r2, r1, r3 8079c38: b2d3 uxtb r3, r2 8079c3a: 3330 adds r3, #48 ; 0x30 8079c3c: b2da uxtb r2, r3 8079c3e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079c42: 715a strb r2, [r3, #5] LCD_DisplayString(203 + 22, LCD_LINE_4, str); 8079c44: f507 733b add.w r3, r7, #748 ; 0x2ec 8079c48: 461a mov r2, r3 8079c4a: 214a movs r1, #74 ; 0x4a 8079c4c: 20e1 movs r0, #225 ; 0xe1 8079c4e: f7db fa87 bl 8055160 memset(str, 0, sizeof(str)); 8079c52: f507 733b add.w r3, r7, #748 ; 0x2ec 8079c56: 223c movs r2, #60 ; 0x3c 8079c58: 2100 movs r1, #0 8079c5a: 4618 mov r0, r3 8079c5c: f057 fba0 bl 80d13a0 str[0] = (Hours / 10) + 48; 8079c60: 4b2a ldr r3, [pc, #168] ; (8079d0c ) 8079c62: 681b ldr r3, [r3, #0] 8079c64: 4a26 ldr r2, [pc, #152] ; (8079d00 ) 8079c66: fba2 2303 umull r2, r3, r2, r3 8079c6a: 08db lsrs r3, r3, #3 8079c6c: b2db uxtb r3, r3 8079c6e: 3330 adds r3, #48 ; 0x30 8079c70: b2da uxtb r2, r3 8079c72: f507 733b add.w r3, r7, #748 ; 0x2ec 8079c76: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8079c78: 4b24 ldr r3, [pc, #144] ; (8079d0c ) 8079c7a: 6819 ldr r1, [r3, #0] 8079c7c: 4b20 ldr r3, [pc, #128] ; (8079d00 ) 8079c7e: fba3 2301 umull r2, r3, r3, r1 8079c82: 08da lsrs r2, r3, #3 8079c84: 4613 mov r3, r2 8079c86: 009b lsls r3, r3, #2 8079c88: 4413 add r3, r2 8079c8a: 005b lsls r3, r3, #1 8079c8c: 1aca subs r2, r1, r3 8079c8e: b2d3 uxtb r3, r2 8079c90: 3330 adds r3, #48 ; 0x30 8079c92: b2da uxtb r2, r3 8079c94: f507 733b add.w r3, r7, #748 ; 0x2ec 8079c98: 705a strb r2, [r3, #1] str[2] = ':'; 8079c9a: f507 733b add.w r3, r7, #748 ; 0x2ec 8079c9e: 223a movs r2, #58 ; 0x3a 8079ca0: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8079ca2: 4b1b ldr r3, [pc, #108] ; (8079d10 ) 8079ca4: 681b ldr r3, [r3, #0] 8079ca6: 4a16 ldr r2, [pc, #88] ; (8079d00 ) 8079ca8: fba2 2303 umull r2, r3, r2, r3 8079cac: 08db lsrs r3, r3, #3 8079cae: b2db uxtb r3, r3 8079cb0: 3330 adds r3, #48 ; 0x30 8079cb2: b2da uxtb r2, r3 8079cb4: f507 733b add.w r3, r7, #748 ; 0x2ec 8079cb8: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8079cba: 4b15 ldr r3, [pc, #84] ; (8079d10 ) 8079cbc: 6819 ldr r1, [r3, #0] 8079cbe: 4b10 ldr r3, [pc, #64] ; (8079d00 ) 8079cc0: fba3 2301 umull r2, r3, r3, r1 8079cc4: 08da lsrs r2, r3, #3 8079cc6: 4613 mov r3, r2 8079cc8: 009b lsls r3, r3, #2 8079cca: 4413 add r3, r2 8079ccc: 005b lsls r3, r3, #1 8079cce: 1aca subs r2, r1, r3 8079cd0: b2d3 uxtb r3, r2 8079cd2: 3330 adds r3, #48 ; 0x30 8079cd4: b2da uxtb r2, r3 8079cd6: f507 733b add.w r3, r7, #748 ; 0x2ec 8079cda: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 8079cdc: f507 733b add.w r3, r7, #748 ; 0x2ec 8079ce0: 461a mov r2, r3 8079ce2: 215a movs r1, #90 ; 0x5a 8079ce4: 20df movs r0, #223 ; 0xdf 8079ce6: f7db fa3b bl 8055160 break; 8079cea: f01e bc82 b.w 80985f2 8079cee: bf00 nop 8079cf0: 20020070 .word 0x20020070 8079cf4: ff0a0f1f .word 0xff0a0f1f 8079cf8: 20023ea8 .word 0x20023ea8 8079cfc: 200206ac .word 0x200206ac 8079d00: cccccccd .word 0xcccccccd 8079d04: 200216a4 .word 0x200216a4 8079d08: ffd8aa57 .word 0xffd8aa57 8079d0c: 20021684 .word 0x20021684 8079d10: 20021688 .word 0x20021688 if(menupos == DateM) 8079d14: 4b85 ldr r3, [pc, #532] ; (8079f2c ) 8079d16: 781b ldrb r3, [r3, #0] 8079d18: b2db uxtb r3, r3 8079d1a: 2b04 cmp r3, #4 8079d1c: f040 8118 bne.w 8079f50 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079d20: 4983 ldr r1, [pc, #524] ; (8079f30 ) 8079d22: f04f 30ff mov.w r0, #4294967295 8079d26: f7da fc73 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 8079d2a: 4b82 ldr r3, [pc, #520] ; (8079f34 ) 8079d2c: 7b1b ldrb r3, [r3, #12] 8079d2e: b2db uxtb r3, r3 8079d30: 461a mov r2, r3 8079d32: 4b81 ldr r3, [pc, #516] ; (8079f38 ) 8079d34: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8079d38: 461a mov r2, r3 8079d3a: 214a movs r1, #74 ; 0x4a 8079d3c: 200a movs r0, #10 8079d3e: f7db fa0f bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 8079d42: 4b7c ldr r3, [pc, #496] ; (8079f34 ) 8079d44: 7b1b ldrb r3, [r3, #12] 8079d46: b2db uxtb r3, r3 8079d48: 4a7b ldr r2, [pc, #492] ; (8079f38 ) 8079d4a: 00db lsls r3, r3, #3 8079d4c: 4413 add r3, r2 8079d4e: 685b ldr r3, [r3, #4] 8079d50: 461a mov r2, r3 8079d52: 215a movs r1, #90 ; 0x5a 8079d54: 200a movs r0, #10 8079d56: f7db fa03 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079d5a: 4975 ldr r1, [pc, #468] ; (8079f30 ) 8079d5c: 4877 ldr r0, [pc, #476] ; (8079f3c ) 8079d5e: f7da fc57 bl 8054610 memset(str, 0, sizeof(str)); 8079d62: f507 733b add.w r3, r7, #748 ; 0x2ec 8079d66: 223c movs r2, #60 ; 0x3c 8079d68: 2100 movs r1, #0 8079d6a: 4618 mov r0, r3 8079d6c: f057 fb18 bl 80d13a0 str[0] = (i / 10) + 48; 8079d70: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079d74: 4a72 ldr r2, [pc, #456] ; (8079f40 ) 8079d76: fba2 2303 umull r2, r3, r2, r3 8079d7a: 08db lsrs r3, r3, #3 8079d7c: b2db uxtb r3, r3 8079d7e: 3330 adds r3, #48 ; 0x30 8079d80: b2da uxtb r2, r3 8079d82: f507 733b add.w r3, r7, #748 ; 0x2ec 8079d86: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8079d88: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8079d8c: 4b6c ldr r3, [pc, #432] ; (8079f40 ) 8079d8e: fba3 2301 umull r2, r3, r3, r1 8079d92: 08da lsrs r2, r3, #3 8079d94: 4613 mov r3, r2 8079d96: 009b lsls r3, r3, #2 8079d98: 4413 add r3, r2 8079d9a: 005b lsls r3, r3, #1 8079d9c: 1aca subs r2, r1, r3 8079d9e: b2d3 uxtb r3, r2 8079da0: 3330 adds r3, #48 ; 0x30 8079da2: b2da uxtb r2, r3 8079da4: f507 733b add.w r3, r7, #748 ; 0x2ec 8079da8: 705a strb r2, [r3, #1] str[2] = '.'; 8079daa: f507 733b add.w r3, r7, #748 ; 0x2ec 8079dae: 222e movs r2, #46 ; 0x2e 8079db0: 709a strb r2, [r3, #2] LCD_DisplayString(203, LCD_LINE_4, str); 8079db2: f507 733b add.w r3, r7, #748 ; 0x2ec 8079db6: 461a mov r2, r3 8079db8: 214a movs r1, #74 ; 0x4a 8079dba: 20cb movs r0, #203 ; 0xcb 8079dbc: f7db f9d0 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079dc0: 495b ldr r1, [pc, #364] ; (8079f30 ) 8079dc2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8079dc6: f7da fc23 bl 8054610 memset(str, 0, sizeof(str)); 8079dca: f507 733b add.w r3, r7, #748 ; 0x2ec 8079dce: 223c movs r2, #60 ; 0x3c 8079dd0: 2100 movs r1, #0 8079dd2: 4618 mov r0, r3 8079dd4: f057 fae4 bl 80d13a0 str[0] = (j / 10) + 48; 8079dd8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8079ddc: 4a58 ldr r2, [pc, #352] ; (8079f40 ) 8079dde: fba2 2303 umull r2, r3, r2, r3 8079de2: 08db lsrs r3, r3, #3 8079de4: b2db uxtb r3, r3 8079de6: 3330 adds r3, #48 ; 0x30 8079de8: b2da uxtb r2, r3 8079dea: f507 733b add.w r3, r7, #748 ; 0x2ec 8079dee: 701a strb r2, [r3, #0] str[1] = (j % 10) + 48; 8079df0: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 8079df4: 4b52 ldr r3, [pc, #328] ; (8079f40 ) 8079df6: fba3 2301 umull r2, r3, r3, r1 8079dfa: 08da lsrs r2, r3, #3 8079dfc: 4613 mov r3, r2 8079dfe: 009b lsls r3, r3, #2 8079e00: 4413 add r3, r2 8079e02: 005b lsls r3, r3, #1 8079e04: 1aca subs r2, r1, r3 8079e06: b2d3 uxtb r3, r2 8079e08: 3330 adds r3, #48 ; 0x30 8079e0a: b2da uxtb r2, r3 8079e0c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079e10: 705a strb r2, [r3, #1] if(blk) 8079e12: 4b4c ldr r3, [pc, #304] ; (8079f44 ) 8079e14: 681b ldr r3, [r3, #0] 8079e16: 2b00 cmp r3, #0 8079e18: d006 beq.n 8079e28 LCD_DisplayString(203 + 33, LCD_LINE_4, str); 8079e1a: f507 733b add.w r3, r7, #748 ; 0x2ec 8079e1e: 461a mov r2, r3 8079e20: 214a movs r1, #74 ; 0x4a 8079e22: 20ec movs r0, #236 ; 0xec 8079e24: f7db f99c bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079e28: 4941 ldr r1, [pc, #260] ; (8079f30 ) 8079e2a: 4844 ldr r0, [pc, #272] ; (8079f3c ) 8079e2c: f7da fbf0 bl 8054610 memset(str, 0, sizeof(str)); 8079e30: f507 733b add.w r3, r7, #748 ; 0x2ec 8079e34: 223c movs r2, #60 ; 0x3c 8079e36: 2100 movs r1, #0 8079e38: 4618 mov r0, r3 8079e3a: f057 fab1 bl 80d13a0 str[0] = '.'; 8079e3e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079e42: 222e movs r2, #46 ; 0x2e 8079e44: 701a strb r2, [r3, #0] str[1] = (k / 10) + 48; 8079e46: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079e4a: 4a3d ldr r2, [pc, #244] ; (8079f40 ) 8079e4c: fba2 2303 umull r2, r3, r2, r3 8079e50: 08db lsrs r3, r3, #3 8079e52: b2db uxtb r3, r3 8079e54: 3330 adds r3, #48 ; 0x30 8079e56: b2da uxtb r2, r3 8079e58: f507 733b add.w r3, r7, #748 ; 0x2ec 8079e5c: 705a strb r2, [r3, #1] str[2] = (k % 10) + 48; 8079e5e: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8079e62: 4b37 ldr r3, [pc, #220] ; (8079f40 ) 8079e64: fba3 2301 umull r2, r3, r3, r1 8079e68: 08da lsrs r2, r3, #3 8079e6a: 4613 mov r3, r2 8079e6c: 009b lsls r3, r3, #2 8079e6e: 4413 add r3, r2 8079e70: 005b lsls r3, r3, #1 8079e72: 1aca subs r2, r1, r3 8079e74: b2d3 uxtb r3, r2 8079e76: 3330 adds r3, #48 ; 0x30 8079e78: b2da uxtb r2, r3 8079e7a: f507 733b add.w r3, r7, #748 ; 0x2ec 8079e7e: 709a strb r2, [r3, #2] LCD_DisplayString(203 + 55, LCD_LINE_4, str); 8079e80: f507 733b add.w r3, r7, #748 ; 0x2ec 8079e84: 461a mov r2, r3 8079e86: 214a movs r1, #74 ; 0x4a 8079e88: f44f 7081 mov.w r0, #258 ; 0x102 8079e8c: f7db f968 bl 8055160 memset(str, 0, sizeof(str)); 8079e90: f507 733b add.w r3, r7, #748 ; 0x2ec 8079e94: 223c movs r2, #60 ; 0x3c 8079e96: 2100 movs r1, #0 8079e98: 4618 mov r0, r3 8079e9a: f057 fa81 bl 80d13a0 str[0] = (Hours / 10) + 48; 8079e9e: 4b2a ldr r3, [pc, #168] ; (8079f48 ) 8079ea0: 681b ldr r3, [r3, #0] 8079ea2: 4a27 ldr r2, [pc, #156] ; (8079f40 ) 8079ea4: fba2 2303 umull r2, r3, r2, r3 8079ea8: 08db lsrs r3, r3, #3 8079eaa: b2db uxtb r3, r3 8079eac: 3330 adds r3, #48 ; 0x30 8079eae: b2da uxtb r2, r3 8079eb0: f507 733b add.w r3, r7, #748 ; 0x2ec 8079eb4: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8079eb6: 4b24 ldr r3, [pc, #144] ; (8079f48 ) 8079eb8: 6819 ldr r1, [r3, #0] 8079eba: 4b21 ldr r3, [pc, #132] ; (8079f40 ) 8079ebc: fba3 2301 umull r2, r3, r3, r1 8079ec0: 08da lsrs r2, r3, #3 8079ec2: 4613 mov r3, r2 8079ec4: 009b lsls r3, r3, #2 8079ec6: 4413 add r3, r2 8079ec8: 005b lsls r3, r3, #1 8079eca: 1aca subs r2, r1, r3 8079ecc: b2d3 uxtb r3, r2 8079ece: 3330 adds r3, #48 ; 0x30 8079ed0: b2da uxtb r2, r3 8079ed2: f507 733b add.w r3, r7, #748 ; 0x2ec 8079ed6: 705a strb r2, [r3, #1] str[2] = ':'; 8079ed8: f507 733b add.w r3, r7, #748 ; 0x2ec 8079edc: 223a movs r2, #58 ; 0x3a 8079ede: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8079ee0: 4b1a ldr r3, [pc, #104] ; (8079f4c ) 8079ee2: 681b ldr r3, [r3, #0] 8079ee4: 4a16 ldr r2, [pc, #88] ; (8079f40 ) 8079ee6: fba2 2303 umull r2, r3, r2, r3 8079eea: 08db lsrs r3, r3, #3 8079eec: b2db uxtb r3, r3 8079eee: 3330 adds r3, #48 ; 0x30 8079ef0: b2da uxtb r2, r3 8079ef2: f507 733b add.w r3, r7, #748 ; 0x2ec 8079ef6: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8079ef8: 4b14 ldr r3, [pc, #80] ; (8079f4c ) 8079efa: 6819 ldr r1, [r3, #0] 8079efc: 4b10 ldr r3, [pc, #64] ; (8079f40 ) 8079efe: fba3 2301 umull r2, r3, r3, r1 8079f02: 08da lsrs r2, r3, #3 8079f04: 4613 mov r3, r2 8079f06: 009b lsls r3, r3, #2 8079f08: 4413 add r3, r2 8079f0a: 005b lsls r3, r3, #1 8079f0c: 1aca subs r2, r1, r3 8079f0e: b2d3 uxtb r3, r2 8079f10: 3330 adds r3, #48 ; 0x30 8079f12: b2da uxtb r2, r3 8079f14: f507 733b add.w r3, r7, #748 ; 0x2ec 8079f18: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 8079f1a: f507 733b add.w r3, r7, #748 ; 0x2ec 8079f1e: 461a mov r2, r3 8079f20: 215a movs r1, #90 ; 0x5a 8079f22: 20df movs r0, #223 ; 0xdf 8079f24: f7db f91c bl 8055160 break; 8079f28: f01e bb63 b.w 80985f2 8079f2c: 20020070 .word 0x20020070 8079f30: ff0a0f1f .word 0xff0a0f1f 8079f34: 20023ea8 .word 0x20023ea8 8079f38: 200206ac .word 0x200206ac 8079f3c: ffd8aa57 .word 0xffd8aa57 8079f40: cccccccd .word 0xcccccccd 8079f44: 200216a4 .word 0x200216a4 8079f48: 20021684 .word 0x20021684 8079f4c: 20021688 .word 0x20021688 if(menupos == DateY) 8079f50: 4b7e ldr r3, [pc, #504] ; (807a14c ) 8079f52: 781b ldrb r3, [r3, #0] 8079f54: b2db uxtb r3, r3 8079f56: 2b05 cmp r3, #5 8079f58: f040 810a bne.w 807a170 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079f5c: 497c ldr r1, [pc, #496] ; (807a150 ) 8079f5e: f04f 30ff mov.w r0, #4294967295 8079f62: f7da fb55 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 8079f66: 4b7b ldr r3, [pc, #492] ; (807a154 ) 8079f68: 7b1b ldrb r3, [r3, #12] 8079f6a: b2db uxtb r3, r3 8079f6c: 461a mov r2, r3 8079f6e: 4b7a ldr r3, [pc, #488] ; (807a158 ) 8079f70: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8079f74: 461a mov r2, r3 8079f76: 214a movs r1, #74 ; 0x4a 8079f78: 200a movs r0, #10 8079f7a: f7db f8f1 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 8079f7e: 4b75 ldr r3, [pc, #468] ; (807a154 ) 8079f80: 7b1b ldrb r3, [r3, #12] 8079f82: b2db uxtb r3, r3 8079f84: 4a74 ldr r2, [pc, #464] ; (807a158 ) 8079f86: 00db lsls r3, r3, #3 8079f88: 4413 add r3, r2 8079f8a: 685b ldr r3, [r3, #4] 8079f8c: 461a mov r2, r3 8079f8e: 215a movs r1, #90 ; 0x5a 8079f90: 200a movs r0, #10 8079f92: f7db f8e5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8079f96: 496e ldr r1, [pc, #440] ; (807a150 ) 8079f98: 4870 ldr r0, [pc, #448] ; (807a15c ) 8079f9a: f7da fb39 bl 8054610 memset(str, 0, sizeof(str)); 8079f9e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079fa2: 223c movs r2, #60 ; 0x3c 8079fa4: 2100 movs r1, #0 8079fa6: 4618 mov r0, r3 8079fa8: f057 f9fa bl 80d13a0 str[0] = (i / 10) + 48; 8079fac: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079fb0: 4a6b ldr r2, [pc, #428] ; (807a160 ) 8079fb2: fba2 2303 umull r2, r3, r2, r3 8079fb6: 08db lsrs r3, r3, #3 8079fb8: b2db uxtb r3, r3 8079fba: 3330 adds r3, #48 ; 0x30 8079fbc: b2da uxtb r2, r3 8079fbe: f507 733b add.w r3, r7, #748 ; 0x2ec 8079fc2: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8079fc4: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8079fc8: 4b65 ldr r3, [pc, #404] ; (807a160 ) 8079fca: fba3 2301 umull r2, r3, r3, r1 8079fce: 08da lsrs r2, r3, #3 8079fd0: 4613 mov r3, r2 8079fd2: 009b lsls r3, r3, #2 8079fd4: 4413 add r3, r2 8079fd6: 005b lsls r3, r3, #1 8079fd8: 1aca subs r2, r1, r3 8079fda: b2d3 uxtb r3, r2 8079fdc: 3330 adds r3, #48 ; 0x30 8079fde: b2da uxtb r2, r3 8079fe0: f507 733b add.w r3, r7, #748 ; 0x2ec 8079fe4: 705a strb r2, [r3, #1] str[2] = '.'; 8079fe6: f507 733b add.w r3, r7, #748 ; 0x2ec 8079fea: 222e movs r2, #46 ; 0x2e 8079fec: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 8079fee: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8079ff2: 4a5b ldr r2, [pc, #364] ; (807a160 ) 8079ff4: fba2 2303 umull r2, r3, r2, r3 8079ff8: 08db lsrs r3, r3, #3 8079ffa: b2db uxtb r3, r3 8079ffc: 3330 adds r3, #48 ; 0x30 8079ffe: b2da uxtb r2, r3 807a000: f507 733b add.w r3, r7, #748 ; 0x2ec 807a004: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 807a006: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 807a00a: 4b55 ldr r3, [pc, #340] ; (807a160 ) 807a00c: fba3 2301 umull r2, r3, r3, r1 807a010: 08da lsrs r2, r3, #3 807a012: 4613 mov r3, r2 807a014: 009b lsls r3, r3, #2 807a016: 4413 add r3, r2 807a018: 005b lsls r3, r3, #1 807a01a: 1aca subs r2, r1, r3 807a01c: b2d3 uxtb r3, r2 807a01e: 3330 adds r3, #48 ; 0x30 807a020: b2da uxtb r2, r3 807a022: f507 733b add.w r3, r7, #748 ; 0x2ec 807a026: 711a strb r2, [r3, #4] str[5] = '.'; 807a028: f507 733b add.w r3, r7, #748 ; 0x2ec 807a02c: 222e movs r2, #46 ; 0x2e 807a02e: 715a strb r2, [r3, #5] LCD_DisplayString(203, LCD_LINE_4, str); 807a030: f507 733b add.w r3, r7, #748 ; 0x2ec 807a034: 461a mov r2, r3 807a036: 214a movs r1, #74 ; 0x4a 807a038: 20cb movs r0, #203 ; 0xcb 807a03a: f7db f891 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807a03e: 4944 ldr r1, [pc, #272] ; (807a150 ) 807a040: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a044: f7da fae4 bl 8054610 memset(str, 0, sizeof(str)); 807a048: f507 733b add.w r3, r7, #748 ; 0x2ec 807a04c: 223c movs r2, #60 ; 0x3c 807a04e: 2100 movs r1, #0 807a050: 4618 mov r0, r3 807a052: f057 f9a5 bl 80d13a0 str[0] = (k / 10) + 48; 807a056: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807a05a: 4a41 ldr r2, [pc, #260] ; (807a160 ) 807a05c: fba2 2303 umull r2, r3, r2, r3 807a060: 08db lsrs r3, r3, #3 807a062: b2db uxtb r3, r3 807a064: 3330 adds r3, #48 ; 0x30 807a066: b2da uxtb r2, r3 807a068: f507 733b add.w r3, r7, #748 ; 0x2ec 807a06c: 701a strb r2, [r3, #0] str[1] = (k % 10) + 48; 807a06e: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 807a072: 4b3b ldr r3, [pc, #236] ; (807a160 ) 807a074: fba3 2301 umull r2, r3, r3, r1 807a078: 08da lsrs r2, r3, #3 807a07a: 4613 mov r3, r2 807a07c: 009b lsls r3, r3, #2 807a07e: 4413 add r3, r2 807a080: 005b lsls r3, r3, #1 807a082: 1aca subs r2, r1, r3 807a084: b2d3 uxtb r3, r2 807a086: 3330 adds r3, #48 ; 0x30 807a088: b2da uxtb r2, r3 807a08a: f507 733b add.w r3, r7, #748 ; 0x2ec 807a08e: 705a strb r2, [r3, #1] if(blk) 807a090: 4b34 ldr r3, [pc, #208] ; (807a164 ) 807a092: 681b ldr r3, [r3, #0] 807a094: 2b00 cmp r3, #0 807a096: d007 beq.n 807a0a8 LCD_DisplayString(203 + 66, LCD_LINE_4, str); 807a098: f507 733b add.w r3, r7, #748 ; 0x2ec 807a09c: 461a mov r2, r3 807a09e: 214a movs r1, #74 ; 0x4a 807a0a0: f240 100d movw r0, #269 ; 0x10d 807a0a4: f7db f85c bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a0a8: 4929 ldr r1, [pc, #164] ; (807a150 ) 807a0aa: 482c ldr r0, [pc, #176] ; (807a15c ) 807a0ac: f7da fab0 bl 8054610 memset(str, 0, sizeof(str)); 807a0b0: f507 733b add.w r3, r7, #748 ; 0x2ec 807a0b4: 223c movs r2, #60 ; 0x3c 807a0b6: 2100 movs r1, #0 807a0b8: 4618 mov r0, r3 807a0ba: f057 f971 bl 80d13a0 str[0] = (Hours / 10) + 48; 807a0be: 4b2a ldr r3, [pc, #168] ; (807a168 ) 807a0c0: 681b ldr r3, [r3, #0] 807a0c2: 4a27 ldr r2, [pc, #156] ; (807a160 ) 807a0c4: fba2 2303 umull r2, r3, r2, r3 807a0c8: 08db lsrs r3, r3, #3 807a0ca: b2db uxtb r3, r3 807a0cc: 3330 adds r3, #48 ; 0x30 807a0ce: b2da uxtb r2, r3 807a0d0: f507 733b add.w r3, r7, #748 ; 0x2ec 807a0d4: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807a0d6: 4b24 ldr r3, [pc, #144] ; (807a168 ) 807a0d8: 6819 ldr r1, [r3, #0] 807a0da: 4b21 ldr r3, [pc, #132] ; (807a160 ) 807a0dc: fba3 2301 umull r2, r3, r3, r1 807a0e0: 08da lsrs r2, r3, #3 807a0e2: 4613 mov r3, r2 807a0e4: 009b lsls r3, r3, #2 807a0e6: 4413 add r3, r2 807a0e8: 005b lsls r3, r3, #1 807a0ea: 1aca subs r2, r1, r3 807a0ec: b2d3 uxtb r3, r2 807a0ee: 3330 adds r3, #48 ; 0x30 807a0f0: b2da uxtb r2, r3 807a0f2: f507 733b add.w r3, r7, #748 ; 0x2ec 807a0f6: 705a strb r2, [r3, #1] str[2] = ':'; 807a0f8: f507 733b add.w r3, r7, #748 ; 0x2ec 807a0fc: 223a movs r2, #58 ; 0x3a 807a0fe: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 807a100: 4b1a ldr r3, [pc, #104] ; (807a16c ) 807a102: 681b ldr r3, [r3, #0] 807a104: 4a16 ldr r2, [pc, #88] ; (807a160 ) 807a106: fba2 2303 umull r2, r3, r2, r3 807a10a: 08db lsrs r3, r3, #3 807a10c: b2db uxtb r3, r3 807a10e: 3330 adds r3, #48 ; 0x30 807a110: b2da uxtb r2, r3 807a112: f507 733b add.w r3, r7, #748 ; 0x2ec 807a116: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 807a118: 4b14 ldr r3, [pc, #80] ; (807a16c ) 807a11a: 6819 ldr r1, [r3, #0] 807a11c: 4b10 ldr r3, [pc, #64] ; (807a160 ) 807a11e: fba3 2301 umull r2, r3, r3, r1 807a122: 08da lsrs r2, r3, #3 807a124: 4613 mov r3, r2 807a126: 009b lsls r3, r3, #2 807a128: 4413 add r3, r2 807a12a: 005b lsls r3, r3, #1 807a12c: 1aca subs r2, r1, r3 807a12e: b2d3 uxtb r3, r2 807a130: 3330 adds r3, #48 ; 0x30 807a132: b2da uxtb r2, r3 807a134: f507 733b add.w r3, r7, #748 ; 0x2ec 807a138: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 807a13a: f507 733b add.w r3, r7, #748 ; 0x2ec 807a13e: 461a mov r2, r3 807a140: 215a movs r1, #90 ; 0x5a 807a142: 20df movs r0, #223 ; 0xdf 807a144: f7db f80c bl 8055160 break; 807a148: f01e ba53 b.w 80985f2 807a14c: 20020070 .word 0x20020070 807a150: ff0a0f1f .word 0xff0a0f1f 807a154: 20023ea8 .word 0x20023ea8 807a158: 200206ac .word 0x200206ac 807a15c: ffd8aa57 .word 0xffd8aa57 807a160: cccccccd .word 0xcccccccd 807a164: 200216a4 .word 0x200216a4 807a168: 20021684 .word 0x20021684 807a16c: 20021688 .word 0x20021688 if(menupos == TimeH) 807a170: 4b7e ldr r3, [pc, #504] ; (807a36c ) 807a172: 781b ldrb r3, [r3, #0] 807a174: b2db uxtb r3, r3 807a176: 2b06 cmp r3, #6 807a178: f040 810a bne.w 807a390 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a17c: 497c ldr r1, [pc, #496] ; (807a370 ) 807a17e: f04f 30ff mov.w r0, #4294967295 807a182: f7da fa45 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 807a186: 4b7b ldr r3, [pc, #492] ; (807a374 ) 807a188: 7b1b ldrb r3, [r3, #12] 807a18a: b2db uxtb r3, r3 807a18c: 461a mov r2, r3 807a18e: 4b7a ldr r3, [pc, #488] ; (807a378 ) 807a190: f853 3032 ldr.w r3, [r3, r2, lsl #3] 807a194: 461a mov r2, r3 807a196: 214a movs r1, #74 ; 0x4a 807a198: 200a movs r0, #10 807a19a: f7da ffe1 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 807a19e: 4b75 ldr r3, [pc, #468] ; (807a374 ) 807a1a0: 7b1b ldrb r3, [r3, #12] 807a1a2: b2db uxtb r3, r3 807a1a4: 4a74 ldr r2, [pc, #464] ; (807a378 ) 807a1a6: 00db lsls r3, r3, #3 807a1a8: 4413 add r3, r2 807a1aa: 685b ldr r3, [r3, #4] 807a1ac: 461a mov r2, r3 807a1ae: 215a movs r1, #90 ; 0x5a 807a1b0: 200a movs r0, #10 807a1b2: f7da ffd5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a1b6: 496e ldr r1, [pc, #440] ; (807a370 ) 807a1b8: 4870 ldr r0, [pc, #448] ; (807a37c ) 807a1ba: f7da fa29 bl 8054610 memset(str, 0, sizeof(str)); 807a1be: f507 733b add.w r3, r7, #748 ; 0x2ec 807a1c2: 223c movs r2, #60 ; 0x3c 807a1c4: 2100 movs r1, #0 807a1c6: 4618 mov r0, r3 807a1c8: f057 f8ea bl 80d13a0 str[0] = (i / 10) + 48; 807a1cc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807a1d0: 4a6b ldr r2, [pc, #428] ; (807a380 ) 807a1d2: fba2 2303 umull r2, r3, r2, r3 807a1d6: 08db lsrs r3, r3, #3 807a1d8: b2db uxtb r3, r3 807a1da: 3330 adds r3, #48 ; 0x30 807a1dc: b2da uxtb r2, r3 807a1de: f507 733b add.w r3, r7, #748 ; 0x2ec 807a1e2: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 807a1e4: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 807a1e8: 4b65 ldr r3, [pc, #404] ; (807a380 ) 807a1ea: fba3 2301 umull r2, r3, r3, r1 807a1ee: 08da lsrs r2, r3, #3 807a1f0: 4613 mov r3, r2 807a1f2: 009b lsls r3, r3, #2 807a1f4: 4413 add r3, r2 807a1f6: 005b lsls r3, r3, #1 807a1f8: 1aca subs r2, r1, r3 807a1fa: b2d3 uxtb r3, r2 807a1fc: 3330 adds r3, #48 ; 0x30 807a1fe: b2da uxtb r2, r3 807a200: f507 733b add.w r3, r7, #748 ; 0x2ec 807a204: 705a strb r2, [r3, #1] str[2] = '.'; 807a206: f507 733b add.w r3, r7, #748 ; 0x2ec 807a20a: 222e movs r2, #46 ; 0x2e 807a20c: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 807a20e: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 807a212: 4a5b ldr r2, [pc, #364] ; (807a380 ) 807a214: fba2 2303 umull r2, r3, r2, r3 807a218: 08db lsrs r3, r3, #3 807a21a: b2db uxtb r3, r3 807a21c: 3330 adds r3, #48 ; 0x30 807a21e: b2da uxtb r2, r3 807a220: f507 733b add.w r3, r7, #748 ; 0x2ec 807a224: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 807a226: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 807a22a: 4b55 ldr r3, [pc, #340] ; (807a380 ) 807a22c: fba3 2301 umull r2, r3, r3, r1 807a230: 08da lsrs r2, r3, #3 807a232: 4613 mov r3, r2 807a234: 009b lsls r3, r3, #2 807a236: 4413 add r3, r2 807a238: 005b lsls r3, r3, #1 807a23a: 1aca subs r2, r1, r3 807a23c: b2d3 uxtb r3, r2 807a23e: 3330 adds r3, #48 ; 0x30 807a240: b2da uxtb r2, r3 807a242: f507 733b add.w r3, r7, #748 ; 0x2ec 807a246: 711a strb r2, [r3, #4] str[5] = '.'; 807a248: f507 733b add.w r3, r7, #748 ; 0x2ec 807a24c: 222e movs r2, #46 ; 0x2e 807a24e: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 807a250: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807a254: 4a4a ldr r2, [pc, #296] ; (807a380 ) 807a256: fba2 2303 umull r2, r3, r2, r3 807a25a: 08db lsrs r3, r3, #3 807a25c: b2db uxtb r3, r3 807a25e: 3330 adds r3, #48 ; 0x30 807a260: b2da uxtb r2, r3 807a262: f507 733b add.w r3, r7, #748 ; 0x2ec 807a266: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 807a268: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 807a26c: 4b44 ldr r3, [pc, #272] ; (807a380 ) 807a26e: fba3 2301 umull r2, r3, r3, r1 807a272: 08da lsrs r2, r3, #3 807a274: 4613 mov r3, r2 807a276: 009b lsls r3, r3, #2 807a278: 4413 add r3, r2 807a27a: 005b lsls r3, r3, #1 807a27c: 1aca subs r2, r1, r3 807a27e: b2d3 uxtb r3, r2 807a280: 3330 adds r3, #48 ; 0x30 807a282: b2da uxtb r2, r3 807a284: f507 733b add.w r3, r7, #748 ; 0x2ec 807a288: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 807a28a: f507 733b add.w r3, r7, #748 ; 0x2ec 807a28e: 461a mov r2, r3 807a290: 214a movs r1, #74 ; 0x4a 807a292: 20cb movs r0, #203 ; 0xcb 807a294: f7da ff64 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807a298: 4935 ldr r1, [pc, #212] ; (807a370 ) 807a29a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a29e: f7da f9b7 bl 8054610 memset(str, 0, sizeof(str)); 807a2a2: f507 733b add.w r3, r7, #748 ; 0x2ec 807a2a6: 223c movs r2, #60 ; 0x3c 807a2a8: 2100 movs r1, #0 807a2aa: 4618 mov r0, r3 807a2ac: f057 f878 bl 80d13a0 str[0] = (Hours / 10) + 48; 807a2b0: 4b34 ldr r3, [pc, #208] ; (807a384 ) 807a2b2: 681b ldr r3, [r3, #0] 807a2b4: 4a32 ldr r2, [pc, #200] ; (807a380 ) 807a2b6: fba2 2303 umull r2, r3, r2, r3 807a2ba: 08db lsrs r3, r3, #3 807a2bc: b2db uxtb r3, r3 807a2be: 3330 adds r3, #48 ; 0x30 807a2c0: b2da uxtb r2, r3 807a2c2: f507 733b add.w r3, r7, #748 ; 0x2ec 807a2c6: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807a2c8: 4b2e ldr r3, [pc, #184] ; (807a384 ) 807a2ca: 6819 ldr r1, [r3, #0] 807a2cc: 4b2c ldr r3, [pc, #176] ; (807a380 ) 807a2ce: fba3 2301 umull r2, r3, r3, r1 807a2d2: 08da lsrs r2, r3, #3 807a2d4: 4613 mov r3, r2 807a2d6: 009b lsls r3, r3, #2 807a2d8: 4413 add r3, r2 807a2da: 005b lsls r3, r3, #1 807a2dc: 1aca subs r2, r1, r3 807a2de: b2d3 uxtb r3, r2 807a2e0: 3330 adds r3, #48 ; 0x30 807a2e2: b2da uxtb r2, r3 807a2e4: f507 733b add.w r3, r7, #748 ; 0x2ec 807a2e8: 705a strb r2, [r3, #1] if(blk) 807a2ea: 4b27 ldr r3, [pc, #156] ; (807a388 ) 807a2ec: 681b ldr r3, [r3, #0] 807a2ee: 2b00 cmp r3, #0 807a2f0: d006 beq.n 807a300 LCD_DisplayString(223, LCD_LINE_5, str); 807a2f2: f507 733b add.w r3, r7, #748 ; 0x2ec 807a2f6: 461a mov r2, r3 807a2f8: 215a movs r1, #90 ; 0x5a 807a2fa: 20df movs r0, #223 ; 0xdf 807a2fc: f7da ff30 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a300: 491b ldr r1, [pc, #108] ; (807a370 ) 807a302: 481e ldr r0, [pc, #120] ; (807a37c ) 807a304: f7da f984 bl 8054610 memset(str, 0, sizeof(str)); 807a308: f507 733b add.w r3, r7, #748 ; 0x2ec 807a30c: 223c movs r2, #60 ; 0x3c 807a30e: 2100 movs r1, #0 807a310: 4618 mov r0, r3 807a312: f057 f845 bl 80d13a0 str[0] = ':'; 807a316: f507 733b add.w r3, r7, #748 ; 0x2ec 807a31a: 223a movs r2, #58 ; 0x3a 807a31c: 701a strb r2, [r3, #0] str[1] = (Minutes / 10) + 48; 807a31e: 4b1b ldr r3, [pc, #108] ; (807a38c ) 807a320: 681b ldr r3, [r3, #0] 807a322: 4a17 ldr r2, [pc, #92] ; (807a380 ) 807a324: fba2 2303 umull r2, r3, r2, r3 807a328: 08db lsrs r3, r3, #3 807a32a: b2db uxtb r3, r3 807a32c: 3330 adds r3, #48 ; 0x30 807a32e: b2da uxtb r2, r3 807a330: f507 733b add.w r3, r7, #748 ; 0x2ec 807a334: 705a strb r2, [r3, #1] str[2] = (Minutes % 10) + 48; 807a336: 4b15 ldr r3, [pc, #84] ; (807a38c ) 807a338: 6819 ldr r1, [r3, #0] 807a33a: 4b11 ldr r3, [pc, #68] ; (807a380 ) 807a33c: fba3 2301 umull r2, r3, r3, r1 807a340: 08da lsrs r2, r3, #3 807a342: 4613 mov r3, r2 807a344: 009b lsls r3, r3, #2 807a346: 4413 add r3, r2 807a348: 005b lsls r3, r3, #1 807a34a: 1aca subs r2, r1, r3 807a34c: b2d3 uxtb r3, r2 807a34e: 3330 adds r3, #48 ; 0x30 807a350: b2da uxtb r2, r3 807a352: f507 733b add.w r3, r7, #748 ; 0x2ec 807a356: 709a strb r2, [r3, #2] LCD_DisplayString(223 + 22, LCD_LINE_5, str); 807a358: f507 733b add.w r3, r7, #748 ; 0x2ec 807a35c: 461a mov r2, r3 807a35e: 215a movs r1, #90 ; 0x5a 807a360: 20f5 movs r0, #245 ; 0xf5 807a362: f7da fefd bl 8055160 break; 807a366: f01e b944 b.w 80985f2 807a36a: bf00 nop 807a36c: 20020070 .word 0x20020070 807a370: ff0a0f1f .word 0xff0a0f1f 807a374: 20023ea8 .word 0x20023ea8 807a378: 200206ac .word 0x200206ac 807a37c: ffd8aa57 .word 0xffd8aa57 807a380: cccccccd .word 0xcccccccd 807a384: 20021684 .word 0x20021684 807a388: 200216a4 .word 0x200216a4 807a38c: 20021688 .word 0x20021688 if(menupos == TimeM) 807a390: 4b7f ldr r3, [pc, #508] ; (807a590 ) 807a392: 781b ldrb r3, [r3, #0] 807a394: b2db uxtb r3, r3 807a396: 2b07 cmp r3, #7 807a398: f05e 812b bne.w 80985f2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a39c: 497d ldr r1, [pc, #500] ; (807a594 ) 807a39e: f04f 30ff mov.w r0, #4294967295 807a3a2: f7da f935 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 807a3a6: 4b7c ldr r3, [pc, #496] ; (807a598 ) 807a3a8: 7b1b ldrb r3, [r3, #12] 807a3aa: b2db uxtb r3, r3 807a3ac: 461a mov r2, r3 807a3ae: 4b7b ldr r3, [pc, #492] ; (807a59c ) 807a3b0: f853 3032 ldr.w r3, [r3, r2, lsl #3] 807a3b4: 461a mov r2, r3 807a3b6: 214a movs r1, #74 ; 0x4a 807a3b8: 200a movs r0, #10 807a3ba: f7da fed1 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 807a3be: 4b76 ldr r3, [pc, #472] ; (807a598 ) 807a3c0: 7b1b ldrb r3, [r3, #12] 807a3c2: b2db uxtb r3, r3 807a3c4: 4a75 ldr r2, [pc, #468] ; (807a59c ) 807a3c6: 00db lsls r3, r3, #3 807a3c8: 4413 add r3, r2 807a3ca: 685b ldr r3, [r3, #4] 807a3cc: 461a mov r2, r3 807a3ce: 215a movs r1, #90 ; 0x5a 807a3d0: 200a movs r0, #10 807a3d2: f7da fec5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a3d6: 496f ldr r1, [pc, #444] ; (807a594 ) 807a3d8: 4871 ldr r0, [pc, #452] ; (807a5a0 ) 807a3da: f7da f919 bl 8054610 memset(str, 0, sizeof(str)); 807a3de: f507 733b add.w r3, r7, #748 ; 0x2ec 807a3e2: 223c movs r2, #60 ; 0x3c 807a3e4: 2100 movs r1, #0 807a3e6: 4618 mov r0, r3 807a3e8: f056 ffda bl 80d13a0 str[0] = (i / 10) + 48; 807a3ec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807a3f0: 4a6c ldr r2, [pc, #432] ; (807a5a4 ) 807a3f2: fba2 2303 umull r2, r3, r2, r3 807a3f6: 08db lsrs r3, r3, #3 807a3f8: b2db uxtb r3, r3 807a3fa: 3330 adds r3, #48 ; 0x30 807a3fc: b2da uxtb r2, r3 807a3fe: f507 733b add.w r3, r7, #748 ; 0x2ec 807a402: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 807a404: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 807a408: 4b66 ldr r3, [pc, #408] ; (807a5a4 ) 807a40a: fba3 2301 umull r2, r3, r3, r1 807a40e: 08da lsrs r2, r3, #3 807a410: 4613 mov r3, r2 807a412: 009b lsls r3, r3, #2 807a414: 4413 add r3, r2 807a416: 005b lsls r3, r3, #1 807a418: 1aca subs r2, r1, r3 807a41a: b2d3 uxtb r3, r2 807a41c: 3330 adds r3, #48 ; 0x30 807a41e: b2da uxtb r2, r3 807a420: f507 733b add.w r3, r7, #748 ; 0x2ec 807a424: 705a strb r2, [r3, #1] str[2] = '.'; 807a426: f507 733b add.w r3, r7, #748 ; 0x2ec 807a42a: 222e movs r2, #46 ; 0x2e 807a42c: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 807a42e: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 807a432: 4a5c ldr r2, [pc, #368] ; (807a5a4 ) 807a434: fba2 2303 umull r2, r3, r2, r3 807a438: 08db lsrs r3, r3, #3 807a43a: b2db uxtb r3, r3 807a43c: 3330 adds r3, #48 ; 0x30 807a43e: b2da uxtb r2, r3 807a440: f507 733b add.w r3, r7, #748 ; 0x2ec 807a444: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 807a446: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 807a44a: 4b56 ldr r3, [pc, #344] ; (807a5a4 ) 807a44c: fba3 2301 umull r2, r3, r3, r1 807a450: 08da lsrs r2, r3, #3 807a452: 4613 mov r3, r2 807a454: 009b lsls r3, r3, #2 807a456: 4413 add r3, r2 807a458: 005b lsls r3, r3, #1 807a45a: 1aca subs r2, r1, r3 807a45c: b2d3 uxtb r3, r2 807a45e: 3330 adds r3, #48 ; 0x30 807a460: b2da uxtb r2, r3 807a462: f507 733b add.w r3, r7, #748 ; 0x2ec 807a466: 711a strb r2, [r3, #4] str[5] = '.'; 807a468: f507 733b add.w r3, r7, #748 ; 0x2ec 807a46c: 222e movs r2, #46 ; 0x2e 807a46e: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 807a470: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807a474: 4a4b ldr r2, [pc, #300] ; (807a5a4 ) 807a476: fba2 2303 umull r2, r3, r2, r3 807a47a: 08db lsrs r3, r3, #3 807a47c: b2db uxtb r3, r3 807a47e: 3330 adds r3, #48 ; 0x30 807a480: b2da uxtb r2, r3 807a482: f507 733b add.w r3, r7, #748 ; 0x2ec 807a486: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 807a488: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 807a48c: 4b45 ldr r3, [pc, #276] ; (807a5a4 ) 807a48e: fba3 2301 umull r2, r3, r3, r1 807a492: 08da lsrs r2, r3, #3 807a494: 4613 mov r3, r2 807a496: 009b lsls r3, r3, #2 807a498: 4413 add r3, r2 807a49a: 005b lsls r3, r3, #1 807a49c: 1aca subs r2, r1, r3 807a49e: b2d3 uxtb r3, r2 807a4a0: 3330 adds r3, #48 ; 0x30 807a4a2: b2da uxtb r2, r3 807a4a4: f507 733b add.w r3, r7, #748 ; 0x2ec 807a4a8: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 807a4aa: f507 733b add.w r3, r7, #748 ; 0x2ec 807a4ae: 461a mov r2, r3 807a4b0: 214a movs r1, #74 ; 0x4a 807a4b2: 20cb movs r0, #203 ; 0xcb 807a4b4: f7da fe54 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a4b8: 4936 ldr r1, [pc, #216] ; (807a594 ) 807a4ba: 4839 ldr r0, [pc, #228] ; (807a5a0 ) 807a4bc: f7da f8a8 bl 8054610 memset(str, 0, sizeof(str)); 807a4c0: f507 733b add.w r3, r7, #748 ; 0x2ec 807a4c4: 223c movs r2, #60 ; 0x3c 807a4c6: 2100 movs r1, #0 807a4c8: 4618 mov r0, r3 807a4ca: f056 ff69 bl 80d13a0 str[0] = (Hours / 10) + 48; 807a4ce: 4b36 ldr r3, [pc, #216] ; (807a5a8 ) 807a4d0: 681b ldr r3, [r3, #0] 807a4d2: 4a34 ldr r2, [pc, #208] ; (807a5a4 ) 807a4d4: fba2 2303 umull r2, r3, r2, r3 807a4d8: 08db lsrs r3, r3, #3 807a4da: b2db uxtb r3, r3 807a4dc: 3330 adds r3, #48 ; 0x30 807a4de: b2da uxtb r2, r3 807a4e0: f507 733b add.w r3, r7, #748 ; 0x2ec 807a4e4: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 807a4e6: 4b30 ldr r3, [pc, #192] ; (807a5a8 ) 807a4e8: 6819 ldr r1, [r3, #0] 807a4ea: 4b2e ldr r3, [pc, #184] ; (807a5a4 ) 807a4ec: fba3 2301 umull r2, r3, r3, r1 807a4f0: 08da lsrs r2, r3, #3 807a4f2: 4613 mov r3, r2 807a4f4: 009b lsls r3, r3, #2 807a4f6: 4413 add r3, r2 807a4f8: 005b lsls r3, r3, #1 807a4fa: 1aca subs r2, r1, r3 807a4fc: b2d3 uxtb r3, r2 807a4fe: 3330 adds r3, #48 ; 0x30 807a500: b2da uxtb r2, r3 807a502: f507 733b add.w r3, r7, #748 ; 0x2ec 807a506: 705a strb r2, [r3, #1] str[2] = ':'; 807a508: f507 733b add.w r3, r7, #748 ; 0x2ec 807a50c: 223a movs r2, #58 ; 0x3a 807a50e: 709a strb r2, [r3, #2] LCD_DisplayString(223, LCD_LINE_5, str); 807a510: f507 733b add.w r3, r7, #748 ; 0x2ec 807a514: 461a mov r2, r3 807a516: 215a movs r1, #90 ; 0x5a 807a518: 20df movs r0, #223 ; 0xdf 807a51a: f7da fe21 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807a51e: 491d ldr r1, [pc, #116] ; (807a594 ) 807a520: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a524: f7da f874 bl 8054610 memset(str, 0, sizeof(str)); 807a528: f507 733b add.w r3, r7, #748 ; 0x2ec 807a52c: 223c movs r2, #60 ; 0x3c 807a52e: 2100 movs r1, #0 807a530: 4618 mov r0, r3 807a532: f056 ff35 bl 80d13a0 str[0] = (Minutes / 10) + 48; 807a536: 4b1d ldr r3, [pc, #116] ; (807a5ac ) 807a538: 681b ldr r3, [r3, #0] 807a53a: 4a1a ldr r2, [pc, #104] ; (807a5a4 ) 807a53c: fba2 2303 umull r2, r3, r2, r3 807a540: 08db lsrs r3, r3, #3 807a542: b2db uxtb r3, r3 807a544: 3330 adds r3, #48 ; 0x30 807a546: b2da uxtb r2, r3 807a548: f507 733b add.w r3, r7, #748 ; 0x2ec 807a54c: 701a strb r2, [r3, #0] str[1] = (Minutes % 10) + 48; 807a54e: 4b17 ldr r3, [pc, #92] ; (807a5ac ) 807a550: 6819 ldr r1, [r3, #0] 807a552: 4b14 ldr r3, [pc, #80] ; (807a5a4 ) 807a554: fba3 2301 umull r2, r3, r3, r1 807a558: 08da lsrs r2, r3, #3 807a55a: 4613 mov r3, r2 807a55c: 009b lsls r3, r3, #2 807a55e: 4413 add r3, r2 807a560: 005b lsls r3, r3, #1 807a562: 1aca subs r2, r1, r3 807a564: b2d3 uxtb r3, r2 807a566: 3330 adds r3, #48 ; 0x30 807a568: b2da uxtb r2, r3 807a56a: f507 733b add.w r3, r7, #748 ; 0x2ec 807a56e: 705a strb r2, [r3, #1] if(blk) 807a570: 4b0f ldr r3, [pc, #60] ; (807a5b0 ) 807a572: 681b ldr r3, [r3, #0] 807a574: 2b00 cmp r3, #0 807a576: f01e 803c beq.w 80985f2 LCD_DisplayString(223 + 33, LCD_LINE_5, str); 807a57a: f507 733b add.w r3, r7, #748 ; 0x2ec 807a57e: 461a mov r2, r3 807a580: 215a movs r1, #90 ; 0x5a 807a582: f44f 7080 mov.w r0, #256 ; 0x100 807a586: f7da fdeb bl 8055160 break; 807a58a: f01e b832 b.w 80985f2 807a58e: bf00 nop 807a590: 20020070 .word 0x20020070 807a594: ff0a0f1f .word 0xff0a0f1f 807a598: 20023ea8 .word 0x20023ea8 807a59c: 200206ac .word 0x200206ac 807a5a0: ffd8aa57 .word 0xffd8aa57 807a5a4: cccccccd .word 0xcccccccd 807a5a8: 20021684 .word 0x20021684 807a5ac: 20021688 .word 0x20021688 807a5b0: 200216a4 .word 0x200216a4 case PARAM_VIB: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807a5b4: 49d5 ldr r1, [pc, #852] ; (807a90c ) 807a5b6: 48d6 ldr r0, [pc, #856] ; (807a910 ) 807a5b8: f7da f82a bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 807a5bc: 23c9 movs r3, #201 ; 0xc9 807a5be: f44f 729d mov.w r2, #314 ; 0x13a 807a5c2: 2123 movs r1, #35 ; 0x23 807a5c4: 2002 movs r0, #2 807a5c6: f7da fb29 bl 8054c1c k = (uint32_t) (pardata.MAX_VAL * 10.0f); 807a5ca: 4bd2 ldr r3, [pc, #840] ; (807a914 ) 807a5cc: edd3 7a06 vldr s15, [r3, #24] 807a5d0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 807a5d4: ee67 7a87 vmul.f32 s15, s15, s14 807a5d8: eefc 7ae7 vcvt.u32.f32 s15, s15 807a5dc: ee17 3a90 vmov r3, s15 807a5e0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 807a5e4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807a5e8: 095b lsrs r3, r3, #5 807a5ea: 4acb ldr r2, [pc, #812] ; (807a918 ) 807a5ec: fba2 2303 umull r2, r3, r2, r3 807a5f0: 09db lsrs r3, r3, #7 807a5f2: b2db uxtb r3, r3 807a5f4: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 807a5f8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807a5fc: 0953 lsrs r3, r2, #5 807a5fe: 49c6 ldr r1, [pc, #792] ; (807a918 ) 807a600: fba1 1303 umull r1, r3, r1, r3 807a604: 09db lsrs r3, r3, #7 807a606: 49c5 ldr r1, [pc, #788] ; (807a91c ) 807a608: fb01 f303 mul.w r3, r1, r3 807a60c: 1ad3 subs r3, r2, r3 807a60e: 4ac4 ldr r2, [pc, #784] ; (807a920 ) 807a610: fba2 2303 umull r2, r3, r2, r3 807a614: 0b5b lsrs r3, r3, #13 807a616: b2db uxtb r3, r3 807a618: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 807a61c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807a620: 0953 lsrs r3, r2, #5 807a622: 49bd ldr r1, [pc, #756] ; (807a918 ) 807a624: fba1 1303 umull r1, r3, r1, r3 807a628: 09db lsrs r3, r3, #7 807a62a: 49bc ldr r1, [pc, #752] ; (807a91c ) 807a62c: fb01 f303 mul.w r3, r1, r3 807a630: 1ad3 subs r3, r2, r3 807a632: 4abb ldr r2, [pc, #748] ; (807a920 ) 807a634: fba2 1203 umull r1, r2, r2, r3 807a638: 0b52 lsrs r2, r2, #13 807a63a: f242 7110 movw r1, #10000 ; 0x2710 807a63e: fb01 f202 mul.w r2, r1, r2 807a642: 1a9a subs r2, r3, r2 807a644: 4bb7 ldr r3, [pc, #732] ; (807a924 ) 807a646: fba3 2302 umull r2, r3, r3, r2 807a64a: 099b lsrs r3, r3, #6 807a64c: b2db uxtb r3, r3 807a64e: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 807a652: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807a656: 095a lsrs r2, r3, #5 807a658: 49af ldr r1, [pc, #700] ; (807a918 ) 807a65a: fba1 1202 umull r1, r2, r1, r2 807a65e: 09d2 lsrs r2, r2, #7 807a660: 49ae ldr r1, [pc, #696] ; (807a91c ) 807a662: fb01 f202 mul.w r2, r1, r2 807a666: 1a9a subs r2, r3, r2 807a668: 4bad ldr r3, [pc, #692] ; (807a920 ) 807a66a: fba3 1302 umull r1, r3, r3, r2 807a66e: 0b5b lsrs r3, r3, #13 807a670: f242 7110 movw r1, #10000 ; 0x2710 807a674: fb01 f303 mul.w r3, r1, r3 807a678: 1ad3 subs r3, r2, r3 807a67a: 4aaa ldr r2, [pc, #680] ; (807a924 ) 807a67c: fba2 1203 umull r1, r2, r2, r3 807a680: 0992 lsrs r2, r2, #6 807a682: f44f 717a mov.w r1, #1000 ; 0x3e8 807a686: fb01 f202 mul.w r2, r1, r2 807a68a: 1a9a subs r2, r3, r2 807a68c: 4ba6 ldr r3, [pc, #664] ; (807a928 ) 807a68e: fba3 2302 umull r2, r3, r3, r2 807a692: 095b lsrs r3, r3, #5 807a694: b2db uxtb r3, r3 807a696: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 807a69a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807a69e: 0953 lsrs r3, r2, #5 807a6a0: 499d ldr r1, [pc, #628] ; (807a918 ) 807a6a2: fba1 1303 umull r1, r3, r1, r3 807a6a6: 09db lsrs r3, r3, #7 807a6a8: 499c ldr r1, [pc, #624] ; (807a91c ) 807a6aa: fb01 f303 mul.w r3, r1, r3 807a6ae: 1ad3 subs r3, r2, r3 807a6b0: 4a9b ldr r2, [pc, #620] ; (807a920 ) 807a6b2: fba2 1203 umull r1, r2, r2, r3 807a6b6: 0b52 lsrs r2, r2, #13 807a6b8: f242 7110 movw r1, #10000 ; 0x2710 807a6bc: fb01 f202 mul.w r2, r1, r2 807a6c0: 1a9a subs r2, r3, r2 807a6c2: 4b98 ldr r3, [pc, #608] ; (807a924 ) 807a6c4: fba3 1302 umull r1, r3, r3, r2 807a6c8: 099b lsrs r3, r3, #6 807a6ca: f44f 717a mov.w r1, #1000 ; 0x3e8 807a6ce: fb01 f303 mul.w r3, r1, r3 807a6d2: 1ad3 subs r3, r2, r3 807a6d4: 4a94 ldr r2, [pc, #592] ; (807a928 ) 807a6d6: fba2 1203 umull r1, r2, r2, r3 807a6da: 0952 lsrs r2, r2, #5 807a6dc: 2164 movs r1, #100 ; 0x64 807a6de: fb01 f202 mul.w r2, r1, r2 807a6e2: 1a9a subs r2, r3, r2 807a6e4: 4b91 ldr r3, [pc, #580] ; (807a92c ) 807a6e6: fba3 2302 umull r2, r3, r3, r2 807a6ea: 08db lsrs r3, r3, #3 807a6ec: b2db uxtb r3, r3 807a6ee: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 807a6f2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807a6f6: 0953 lsrs r3, r2, #5 807a6f8: 4987 ldr r1, [pc, #540] ; (807a918 ) 807a6fa: fba1 1303 umull r1, r3, r1, r3 807a6fe: 09db lsrs r3, r3, #7 807a700: 4986 ldr r1, [pc, #536] ; (807a91c ) 807a702: fb01 f303 mul.w r3, r1, r3 807a706: 1ad3 subs r3, r2, r3 807a708: 4a85 ldr r2, [pc, #532] ; (807a920 ) 807a70a: fba2 1203 umull r1, r2, r2, r3 807a70e: 0b52 lsrs r2, r2, #13 807a710: f242 7110 movw r1, #10000 ; 0x2710 807a714: fb01 f202 mul.w r2, r1, r2 807a718: 1a9a subs r2, r3, r2 807a71a: 4b82 ldr r3, [pc, #520] ; (807a924 ) 807a71c: fba3 1302 umull r1, r3, r3, r2 807a720: 099b lsrs r3, r3, #6 807a722: f44f 717a mov.w r1, #1000 ; 0x3e8 807a726: fb01 f303 mul.w r3, r1, r3 807a72a: 1ad3 subs r3, r2, r3 807a72c: 4a7e ldr r2, [pc, #504] ; (807a928 ) 807a72e: fba2 1203 umull r1, r2, r2, r3 807a732: 0952 lsrs r2, r2, #5 807a734: 2164 movs r1, #100 ; 0x64 807a736: fb01 f202 mul.w r2, r1, r2 807a73a: 1a9a subs r2, r3, r2 807a73c: 4b7b ldr r3, [pc, #492] ; (807a92c ) 807a73e: fba3 1302 umull r1, r3, r3, r2 807a742: 08d9 lsrs r1, r3, #3 807a744: 460b mov r3, r1 807a746: 009b lsls r3, r3, #2 807a748: 440b add r3, r1 807a74a: 005b lsls r3, r3, #1 807a74c: 1ad1 subs r1, r2, r3 807a74e: b2cb uxtb r3, r1 807a750: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 807a754: 2300 movs r3, #0 807a756: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 807a75a: f507 733b add.w r3, r7, #748 ; 0x2ec 807a75e: 223c movs r2, #60 ; 0x3c 807a760: 2100 movs r1, #0 807a762: 4618 mov r0, r3 807a764: f056 fe1c bl 80d13a0 if(idt2 != 0) 807a768: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807a76c: b2db uxtb r3, r3 807a76e: 2b00 cmp r3, #0 807a770: d00c beq.n 807a78c str[i++] = idt2 + 48; 807a772: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807a776: 1c5a adds r2, r3, #1 807a778: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807a77c: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 807a780: b2d2 uxtb r2, r2 807a782: 3230 adds r2, #48 ; 0x30 807a784: b2d1 uxtb r1, r2 807a786: f507 723b add.w r2, r7, #748 ; 0x2ec 807a78a: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 807a78c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807a790: b2db uxtb r3, r3 807a792: 2b00 cmp r3, #0 807a794: d104 bne.n 807a7a0 807a796: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807a79a: b2db uxtb r3, r3 807a79c: 2b00 cmp r3, #0 807a79e: d00c beq.n 807a7ba str[i++] = iet2 + 48; 807a7a0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807a7a4: 1c5a adds r2, r3, #1 807a7a6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807a7aa: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 807a7ae: b2d2 uxtb r2, r2 807a7b0: 3230 adds r2, #48 ; 0x30 807a7b2: b2d1 uxtb r1, r2 807a7b4: f507 723b add.w r2, r7, #748 ; 0x2ec 807a7b8: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 807a7ba: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807a7be: b2db uxtb r3, r3 807a7c0: 2b00 cmp r3, #0 807a7c2: d109 bne.n 807a7d8 807a7c4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807a7c8: b2db uxtb r3, r3 807a7ca: 2b00 cmp r3, #0 807a7cc: d104 bne.n 807a7d8 807a7ce: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807a7d2: b2db uxtb r3, r3 807a7d4: 2b00 cmp r3, #0 807a7d6: d00c beq.n 807a7f2 str[i++] = ies2 + 48; 807a7d8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807a7dc: 1c5a adds r2, r3, #1 807a7de: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807a7e2: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 807a7e6: b2d2 uxtb r2, r2 807a7e8: 3230 adds r2, #48 ; 0x30 807a7ea: b2d1 uxtb r1, r2 807a7ec: f507 723b add.w r2, r7, #748 ; 0x2ec 807a7f0: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 807a7f2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807a7f6: b2db uxtb r3, r3 807a7f8: 2b00 cmp r3, #0 807a7fa: d10e bne.n 807a81a 807a7fc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807a800: b2db uxtb r3, r3 807a802: 2b00 cmp r3, #0 807a804: d109 bne.n 807a81a 807a806: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807a80a: b2db uxtb r3, r3 807a80c: 2b00 cmp r3, #0 807a80e: d104 bne.n 807a81a 807a810: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807a814: b2db uxtb r3, r3 807a816: 2b00 cmp r3, #0 807a818: d00c beq.n 807a834 str[i++] = ied2 + 48; 807a81a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807a81e: 1c5a adds r2, r3, #1 807a820: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807a824: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 807a828: b2d2 uxtb r2, r2 807a82a: 3230 adds r2, #48 ; 0x30 807a82c: b2d1 uxtb r1, r2 807a82e: f507 723b add.w r2, r7, #748 ; 0x2ec 807a832: 54d1 strb r1, [r2, r3] str[i++] = iee2 + 48; 807a834: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807a838: 1c5a adds r2, r3, #1 807a83a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807a83e: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 807a842: b2d2 uxtb r2, r2 807a844: 3230 adds r2, #48 ; 0x30 807a846: b2d1 uxtb r1, r2 807a848: f507 723b add.w r2, r7, #748 ; 0x2ec 807a84c: 54d1 strb r1, [r2, r3] str[i++] = '.'; 807a84e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807a852: 1c5a adds r2, r3, #1 807a854: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807a858: f507 723b add.w r2, r7, #748 ; 0x2ec 807a85c: 212e movs r1, #46 ; 0x2e 807a85e: 54d1 strb r1, [r2, r3] str[i++] = ikd2 + 48; 807a860: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807a864: 1c5a adds r2, r3, #1 807a866: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807a86a: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 807a86e: b2d2 uxtb r2, r2 807a870: 3230 adds r2, #48 ; 0x30 807a872: b2d1 uxtb r1, r2 807a874: f507 723b add.w r2, r7, #748 ; 0x2ec 807a878: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.HP * 10.0f); 807a87a: 4b26 ldr r3, [pc, #152] ; (807a914 ) 807a87c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807a880: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 807a884: ee67 7a87 vmul.f32 s15, s15, s14 807a888: eefc 7ae7 vcvt.u32.f32 s15, s15 807a88c: ee17 3a90 vmov r3, s15 807a890: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 807a894: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807a898: 095b lsrs r3, r3, #5 807a89a: 4a1f ldr r2, [pc, #124] ; (807a918 ) 807a89c: fba2 2303 umull r2, r3, r2, r3 807a8a0: 09db lsrs r3, r3, #7 807a8a2: b2db uxtb r3, r3 807a8a4: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 807a8a8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807a8ac: 0953 lsrs r3, r2, #5 807a8ae: 491a ldr r1, [pc, #104] ; (807a918 ) 807a8b0: fba1 1303 umull r1, r3, r1, r3 807a8b4: 09db lsrs r3, r3, #7 807a8b6: 4919 ldr r1, [pc, #100] ; (807a91c ) 807a8b8: fb01 f303 mul.w r3, r1, r3 807a8bc: 1ad3 subs r3, r2, r3 807a8be: 4a18 ldr r2, [pc, #96] ; (807a920 ) 807a8c0: fba2 2303 umull r2, r3, r2, r3 807a8c4: 0b5b lsrs r3, r3, #13 807a8c6: b2db uxtb r3, r3 807a8c8: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 807a8cc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807a8d0: 0953 lsrs r3, r2, #5 807a8d2: 4911 ldr r1, [pc, #68] ; (807a918 ) 807a8d4: fba1 1303 umull r1, r3, r1, r3 807a8d8: 09db lsrs r3, r3, #7 807a8da: 4910 ldr r1, [pc, #64] ; (807a91c ) 807a8dc: fb01 f303 mul.w r3, r1, r3 807a8e0: 1ad3 subs r3, r2, r3 807a8e2: 4a0f ldr r2, [pc, #60] ; (807a920 ) 807a8e4: fba2 1203 umull r1, r2, r2, r3 807a8e8: 0b52 lsrs r2, r2, #13 807a8ea: f242 7110 movw r1, #10000 ; 0x2710 807a8ee: fb01 f202 mul.w r2, r1, r2 807a8f2: 1a9a subs r2, r3, r2 807a8f4: 4b0b ldr r3, [pc, #44] ; (807a924 ) 807a8f6: fba3 2302 umull r2, r3, r3, r2 807a8fa: 099b lsrs r3, r3, #6 807a8fc: b2db uxtb r3, r3 807a8fe: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 807a902: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807a906: 095a lsrs r2, r3, #5 807a908: e012 b.n 807a930 807a90a: bf00 nop 807a90c: ff0a0f1f .word 0xff0a0f1f 807a910: ffd3d3d3 .word 0xffd3d3d3 807a914: 20023ea8 .word 0x20023ea8 807a918: 0a7c5ac5 .word 0x0a7c5ac5 807a91c: 000186a0 .word 0x000186a0 807a920: d1b71759 .word 0xd1b71759 807a924: 10624dd3 .word 0x10624dd3 807a928: 51eb851f .word 0x51eb851f 807a92c: cccccccd .word 0xcccccccd 807a930: 49d6 ldr r1, [pc, #856] ; (807ac8c ) 807a932: fba1 1202 umull r1, r2, r1, r2 807a936: 09d2 lsrs r2, r2, #7 807a938: 49d5 ldr r1, [pc, #852] ; (807ac90 ) 807a93a: fb01 f202 mul.w r2, r1, r2 807a93e: 1a9a subs r2, r3, r2 807a940: 4bd4 ldr r3, [pc, #848] ; (807ac94 ) 807a942: fba3 1302 umull r1, r3, r3, r2 807a946: 0b5b lsrs r3, r3, #13 807a948: f242 7110 movw r1, #10000 ; 0x2710 807a94c: fb01 f303 mul.w r3, r1, r3 807a950: 1ad3 subs r3, r2, r3 807a952: 4ad1 ldr r2, [pc, #836] ; (807ac98 ) 807a954: fba2 1203 umull r1, r2, r2, r3 807a958: 0992 lsrs r2, r2, #6 807a95a: f44f 717a mov.w r1, #1000 ; 0x3e8 807a95e: fb01 f202 mul.w r2, r1, r2 807a962: 1a9a subs r2, r3, r2 807a964: 4bcd ldr r3, [pc, #820] ; (807ac9c ) 807a966: fba3 2302 umull r2, r3, r3, r2 807a96a: 095b lsrs r3, r3, #5 807a96c: b2db uxtb r3, r3 807a96e: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 807a972: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807a976: 0953 lsrs r3, r2, #5 807a978: 49c4 ldr r1, [pc, #784] ; (807ac8c ) 807a97a: fba1 1303 umull r1, r3, r1, r3 807a97e: 09db lsrs r3, r3, #7 807a980: 49c3 ldr r1, [pc, #780] ; (807ac90 ) 807a982: fb01 f303 mul.w r3, r1, r3 807a986: 1ad3 subs r3, r2, r3 807a988: 4ac2 ldr r2, [pc, #776] ; (807ac94 ) 807a98a: fba2 1203 umull r1, r2, r2, r3 807a98e: 0b52 lsrs r2, r2, #13 807a990: f242 7110 movw r1, #10000 ; 0x2710 807a994: fb01 f202 mul.w r2, r1, r2 807a998: 1a9a subs r2, r3, r2 807a99a: 4bbf ldr r3, [pc, #764] ; (807ac98 ) 807a99c: fba3 1302 umull r1, r3, r3, r2 807a9a0: 099b lsrs r3, r3, #6 807a9a2: f44f 717a mov.w r1, #1000 ; 0x3e8 807a9a6: fb01 f303 mul.w r3, r1, r3 807a9aa: 1ad3 subs r3, r2, r3 807a9ac: 4abb ldr r2, [pc, #748] ; (807ac9c ) 807a9ae: fba2 1203 umull r1, r2, r2, r3 807a9b2: 0952 lsrs r2, r2, #5 807a9b4: 2164 movs r1, #100 ; 0x64 807a9b6: fb01 f202 mul.w r2, r1, r2 807a9ba: 1a9a subs r2, r3, r2 807a9bc: 4bb8 ldr r3, [pc, #736] ; (807aca0 ) 807a9be: fba3 2302 umull r2, r3, r3, r2 807a9c2: 08db lsrs r3, r3, #3 807a9c4: b2db uxtb r3, r3 807a9c6: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 807a9ca: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807a9ce: 0953 lsrs r3, r2, #5 807a9d0: 49ae ldr r1, [pc, #696] ; (807ac8c ) 807a9d2: fba1 1303 umull r1, r3, r1, r3 807a9d6: 09db lsrs r3, r3, #7 807a9d8: 49ad ldr r1, [pc, #692] ; (807ac90 ) 807a9da: fb01 f303 mul.w r3, r1, r3 807a9de: 1ad3 subs r3, r2, r3 807a9e0: 4aac ldr r2, [pc, #688] ; (807ac94 ) 807a9e2: fba2 1203 umull r1, r2, r2, r3 807a9e6: 0b52 lsrs r2, r2, #13 807a9e8: f242 7110 movw r1, #10000 ; 0x2710 807a9ec: fb01 f202 mul.w r2, r1, r2 807a9f0: 1a9a subs r2, r3, r2 807a9f2: 4ba9 ldr r3, [pc, #676] ; (807ac98 ) 807a9f4: fba3 1302 umull r1, r3, r3, r2 807a9f8: 099b lsrs r3, r3, #6 807a9fa: f44f 717a mov.w r1, #1000 ; 0x3e8 807a9fe: fb01 f303 mul.w r3, r1, r3 807aa02: 1ad3 subs r3, r2, r3 807aa04: 4aa5 ldr r2, [pc, #660] ; (807ac9c ) 807aa06: fba2 1203 umull r1, r2, r2, r3 807aa0a: 0952 lsrs r2, r2, #5 807aa0c: 2164 movs r1, #100 ; 0x64 807aa0e: fb01 f202 mul.w r2, r1, r2 807aa12: 1a9a subs r2, r3, r2 807aa14: 4ba2 ldr r3, [pc, #648] ; (807aca0 ) 807aa16: fba3 1302 umull r1, r3, r3, r2 807aa1a: 08d9 lsrs r1, r3, #3 807aa1c: 460b mov r3, r1 807aa1e: 009b lsls r3, r3, #2 807aa20: 440b add r3, r1 807aa22: 005b lsls r3, r3, #1 807aa24: 1ad1 subs r1, r2, r3 807aa26: b2cb uxtb r3, r1 807aa28: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 807aa2c: 2300 movs r3, #0 807aa2e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 807aa32: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807aa36: 220c movs r2, #12 807aa38: 2100 movs r1, #0 807aa3a: 4618 mov r0, r3 807aa3c: f056 fcb0 bl 80d13a0 if(idtHP != 0) 807aa40: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807aa44: b2db uxtb r3, r3 807aa46: 2b00 cmp r3, #0 807aa48: d00c beq.n 807aa64 strHP[i++] = idtHP + 48; 807aa4a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807aa4e: 1c5a adds r2, r3, #1 807aa50: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807aa54: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 807aa58: b2d2 uxtb r2, r2 807aa5a: 3230 adds r2, #48 ; 0x30 807aa5c: b2d1 uxtb r1, r2 807aa5e: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807aa62: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 807aa64: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807aa68: b2db uxtb r3, r3 807aa6a: 2b00 cmp r3, #0 807aa6c: d104 bne.n 807aa78 807aa6e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807aa72: b2db uxtb r3, r3 807aa74: 2b00 cmp r3, #0 807aa76: d00c beq.n 807aa92 strHP[i++] = ietHP + 48; 807aa78: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807aa7c: 1c5a adds r2, r3, #1 807aa7e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807aa82: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 807aa86: b2d2 uxtb r2, r2 807aa88: 3230 adds r2, #48 ; 0x30 807aa8a: b2d1 uxtb r1, r2 807aa8c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807aa90: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 807aa92: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807aa96: b2db uxtb r3, r3 807aa98: 2b00 cmp r3, #0 807aa9a: d109 bne.n 807aab0 807aa9c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807aaa0: b2db uxtb r3, r3 807aaa2: 2b00 cmp r3, #0 807aaa4: d104 bne.n 807aab0 807aaa6: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807aaaa: b2db uxtb r3, r3 807aaac: 2b00 cmp r3, #0 807aaae: d00c beq.n 807aaca strHP[i++] = iesHP + 48; 807aab0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807aab4: 1c5a adds r2, r3, #1 807aab6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807aaba: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 807aabe: b2d2 uxtb r2, r2 807aac0: 3230 adds r2, #48 ; 0x30 807aac2: b2d1 uxtb r1, r2 807aac4: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807aac8: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 807aaca: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807aace: b2db uxtb r3, r3 807aad0: 2b00 cmp r3, #0 807aad2: d10e bne.n 807aaf2 807aad4: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807aad8: b2db uxtb r3, r3 807aada: 2b00 cmp r3, #0 807aadc: d109 bne.n 807aaf2 807aade: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807aae2: b2db uxtb r3, r3 807aae4: 2b00 cmp r3, #0 807aae6: d104 bne.n 807aaf2 807aae8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807aaec: b2db uxtb r3, r3 807aaee: 2b00 cmp r3, #0 807aaf0: d00c beq.n 807ab0c strHP[i++] = iedHP + 48; 807aaf2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807aaf6: 1c5a adds r2, r3, #1 807aaf8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807aafc: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 807ab00: b2d2 uxtb r2, r2 807ab02: 3230 adds r2, #48 ; 0x30 807ab04: b2d1 uxtb r1, r2 807ab06: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807ab0a: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 807ab0c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ab10: 1c5a adds r2, r3, #1 807ab12: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ab16: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 807ab1a: b2d2 uxtb r2, r2 807ab1c: 3230 adds r2, #48 ; 0x30 807ab1e: b2d1 uxtb r1, r2 807ab20: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807ab24: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 807ab26: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ab2a: 1c5a adds r2, r3, #1 807ab2c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ab30: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807ab34: 212e movs r1, #46 ; 0x2e 807ab36: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 807ab38: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ab3c: 1c5a adds r2, r3, #1 807ab3e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ab42: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 807ab46: b2d2 uxtb r2, r2 807ab48: 3230 adds r2, #48 ; 0x30 807ab4a: b2d1 uxtb r1, r2 807ab4c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 807ab50: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.LP * 10.0f); 807ab52: 4b54 ldr r3, [pc, #336] ; (807aca4 ) 807ab54: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 807ab58: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 807ab5c: ee67 7a87 vmul.f32 s15, s15, s14 807ab60: eefc 7ae7 vcvt.u32.f32 s15, s15 807ab64: ee17 3a90 vmov r3, s15 807ab68: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 807ab6c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807ab70: 095b lsrs r3, r3, #5 807ab72: 4a46 ldr r2, [pc, #280] ; (807ac8c ) 807ab74: fba2 2303 umull r2, r3, r2, r3 807ab78: 09db lsrs r3, r3, #7 807ab7a: b2db uxtb r3, r3 807ab7c: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 807ab80: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ab84: 0953 lsrs r3, r2, #5 807ab86: 4941 ldr r1, [pc, #260] ; (807ac8c ) 807ab88: fba1 1303 umull r1, r3, r1, r3 807ab8c: 09db lsrs r3, r3, #7 807ab8e: 4940 ldr r1, [pc, #256] ; (807ac90 ) 807ab90: fb01 f303 mul.w r3, r1, r3 807ab94: 1ad3 subs r3, r2, r3 807ab96: 4a3f ldr r2, [pc, #252] ; (807ac94 ) 807ab98: fba2 2303 umull r2, r3, r2, r3 807ab9c: 0b5b lsrs r3, r3, #13 807ab9e: b2db uxtb r3, r3 807aba0: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 807aba4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807aba8: 0953 lsrs r3, r2, #5 807abaa: 4938 ldr r1, [pc, #224] ; (807ac8c ) 807abac: fba1 1303 umull r1, r3, r1, r3 807abb0: 09db lsrs r3, r3, #7 807abb2: 4937 ldr r1, [pc, #220] ; (807ac90 ) 807abb4: fb01 f303 mul.w r3, r1, r3 807abb8: 1ad3 subs r3, r2, r3 807abba: 4a36 ldr r2, [pc, #216] ; (807ac94 ) 807abbc: fba2 1203 umull r1, r2, r2, r3 807abc0: 0b52 lsrs r2, r2, #13 807abc2: f242 7110 movw r1, #10000 ; 0x2710 807abc6: fb01 f202 mul.w r2, r1, r2 807abca: 1a9a subs r2, r3, r2 807abcc: 4b32 ldr r3, [pc, #200] ; (807ac98 ) 807abce: fba3 2302 umull r2, r3, r3, r2 807abd2: 099b lsrs r3, r3, #6 807abd4: b2db uxtb r3, r3 807abd6: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 807abda: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807abde: 095a lsrs r2, r3, #5 807abe0: 492a ldr r1, [pc, #168] ; (807ac8c ) 807abe2: fba1 1202 umull r1, r2, r1, r2 807abe6: 09d2 lsrs r2, r2, #7 807abe8: 4929 ldr r1, [pc, #164] ; (807ac90 ) 807abea: fb01 f202 mul.w r2, r1, r2 807abee: 1a9a subs r2, r3, r2 807abf0: 4b28 ldr r3, [pc, #160] ; (807ac94 ) 807abf2: fba3 1302 umull r1, r3, r3, r2 807abf6: 0b5b lsrs r3, r3, #13 807abf8: f242 7110 movw r1, #10000 ; 0x2710 807abfc: fb01 f303 mul.w r3, r1, r3 807ac00: 1ad3 subs r3, r2, r3 807ac02: 4a25 ldr r2, [pc, #148] ; (807ac98 ) 807ac04: fba2 1203 umull r1, r2, r2, r3 807ac08: 0992 lsrs r2, r2, #6 807ac0a: f44f 717a mov.w r1, #1000 ; 0x3e8 807ac0e: fb01 f202 mul.w r2, r1, r2 807ac12: 1a9a subs r2, r3, r2 807ac14: 4b21 ldr r3, [pc, #132] ; (807ac9c ) 807ac16: fba3 2302 umull r2, r3, r3, r2 807ac1a: 095b lsrs r3, r3, #5 807ac1c: b2db uxtb r3, r3 807ac1e: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 807ac22: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ac26: 0953 lsrs r3, r2, #5 807ac28: 4918 ldr r1, [pc, #96] ; (807ac8c ) 807ac2a: fba1 1303 umull r1, r3, r1, r3 807ac2e: 09db lsrs r3, r3, #7 807ac30: 4917 ldr r1, [pc, #92] ; (807ac90 ) 807ac32: fb01 f303 mul.w r3, r1, r3 807ac36: 1ad3 subs r3, r2, r3 807ac38: 4a16 ldr r2, [pc, #88] ; (807ac94 ) 807ac3a: fba2 1203 umull r1, r2, r2, r3 807ac3e: 0b52 lsrs r2, r2, #13 807ac40: f242 7110 movw r1, #10000 ; 0x2710 807ac44: fb01 f202 mul.w r2, r1, r2 807ac48: 1a9a subs r2, r3, r2 807ac4a: 4b13 ldr r3, [pc, #76] ; (807ac98 ) 807ac4c: fba3 1302 umull r1, r3, r3, r2 807ac50: 099b lsrs r3, r3, #6 807ac52: f44f 717a mov.w r1, #1000 ; 0x3e8 807ac56: fb01 f303 mul.w r3, r1, r3 807ac5a: 1ad3 subs r3, r2, r3 807ac5c: 4a0f ldr r2, [pc, #60] ; (807ac9c ) 807ac5e: fba2 1203 umull r1, r2, r2, r3 807ac62: 0952 lsrs r2, r2, #5 807ac64: 2164 movs r1, #100 ; 0x64 807ac66: fb01 f202 mul.w r2, r1, r2 807ac6a: 1a9a subs r2, r3, r2 807ac6c: 4b0c ldr r3, [pc, #48] ; (807aca0 ) 807ac6e: fba3 2302 umull r2, r3, r3, r2 807ac72: 08db lsrs r3, r3, #3 807ac74: b2db uxtb r3, r3 807ac76: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 807ac7a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ac7e: 0953 lsrs r3, r2, #5 807ac80: 4902 ldr r1, [pc, #8] ; (807ac8c ) 807ac82: fba1 1303 umull r1, r3, r1, r3 807ac86: 09db lsrs r3, r3, #7 807ac88: e00e b.n 807aca8 807ac8a: bf00 nop 807ac8c: 0a7c5ac5 .word 0x0a7c5ac5 807ac90: 000186a0 .word 0x000186a0 807ac94: d1b71759 .word 0xd1b71759 807ac98: 10624dd3 .word 0x10624dd3 807ac9c: 51eb851f .word 0x51eb851f 807aca0: cccccccd .word 0xcccccccd 807aca4: 20023ea8 .word 0x20023ea8 807aca8: 497e ldr r1, [pc, #504] ; (807aea4 ) 807acaa: fb01 f303 mul.w r3, r1, r3 807acae: 1ad3 subs r3, r2, r3 807acb0: 4a7d ldr r2, [pc, #500] ; (807aea8 ) 807acb2: fba2 1203 umull r1, r2, r2, r3 807acb6: 0b52 lsrs r2, r2, #13 807acb8: f242 7110 movw r1, #10000 ; 0x2710 807acbc: fb01 f202 mul.w r2, r1, r2 807acc0: 1a9a subs r2, r3, r2 807acc2: 4b7a ldr r3, [pc, #488] ; (807aeac ) 807acc4: fba3 1302 umull r1, r3, r3, r2 807acc8: 099b lsrs r3, r3, #6 807acca: f44f 717a mov.w r1, #1000 ; 0x3e8 807acce: fb01 f303 mul.w r3, r1, r3 807acd2: 1ad3 subs r3, r2, r3 807acd4: 4a76 ldr r2, [pc, #472] ; (807aeb0 ) 807acd6: fba2 1203 umull r1, r2, r2, r3 807acda: 0952 lsrs r2, r2, #5 807acdc: 2164 movs r1, #100 ; 0x64 807acde: fb01 f202 mul.w r2, r1, r2 807ace2: 1a9a subs r2, r3, r2 807ace4: 4b73 ldr r3, [pc, #460] ; (807aeb4 ) 807ace6: fba3 1302 umull r1, r3, r3, r2 807acea: 08d9 lsrs r1, r3, #3 807acec: 460b mov r3, r1 807acee: 009b lsls r3, r3, #2 807acf0: 440b add r3, r1 807acf2: 005b lsls r3, r3, #1 807acf4: 1ad1 subs r1, r2, r3 807acf6: b2cb uxtb r3, r1 807acf8: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 807acfc: 2300 movs r3, #0 807acfe: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 807ad02: f507 73cc add.w r3, r7, #408 ; 0x198 807ad06: 220c movs r2, #12 807ad08: 2100 movs r1, #0 807ad0a: 4618 mov r0, r3 807ad0c: f056 fb48 bl 80d13a0 if(idtLP != 0) 807ad10: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807ad14: b2db uxtb r3, r3 807ad16: 2b00 cmp r3, #0 807ad18: d00c beq.n 807ad34 strLP[i++] = idtLP + 48; 807ad1a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ad1e: 1c5a adds r2, r3, #1 807ad20: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ad24: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 807ad28: b2d2 uxtb r2, r2 807ad2a: 3230 adds r2, #48 ; 0x30 807ad2c: b2d1 uxtb r1, r2 807ad2e: f507 72cc add.w r2, r7, #408 ; 0x198 807ad32: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 807ad34: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807ad38: b2db uxtb r3, r3 807ad3a: 2b00 cmp r3, #0 807ad3c: d104 bne.n 807ad48 807ad3e: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807ad42: b2db uxtb r3, r3 807ad44: 2b00 cmp r3, #0 807ad46: d00c beq.n 807ad62 strLP[i++] = ietLP + 48; 807ad48: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ad4c: 1c5a adds r2, r3, #1 807ad4e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ad52: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 807ad56: b2d2 uxtb r2, r2 807ad58: 3230 adds r2, #48 ; 0x30 807ad5a: b2d1 uxtb r1, r2 807ad5c: f507 72cc add.w r2, r7, #408 ; 0x198 807ad60: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 807ad62: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807ad66: b2db uxtb r3, r3 807ad68: 2b00 cmp r3, #0 807ad6a: d109 bne.n 807ad80 807ad6c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807ad70: b2db uxtb r3, r3 807ad72: 2b00 cmp r3, #0 807ad74: d104 bne.n 807ad80 807ad76: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807ad7a: b2db uxtb r3, r3 807ad7c: 2b00 cmp r3, #0 807ad7e: d00c beq.n 807ad9a strLP[i++] = iesLP + 48; 807ad80: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ad84: 1c5a adds r2, r3, #1 807ad86: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ad8a: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 807ad8e: b2d2 uxtb r2, r2 807ad90: 3230 adds r2, #48 ; 0x30 807ad92: b2d1 uxtb r1, r2 807ad94: f507 72cc add.w r2, r7, #408 ; 0x198 807ad98: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 807ad9a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807ad9e: b2db uxtb r3, r3 807ada0: 2b00 cmp r3, #0 807ada2: d10e bne.n 807adc2 807ada4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807ada8: b2db uxtb r3, r3 807adaa: 2b00 cmp r3, #0 807adac: d109 bne.n 807adc2 807adae: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807adb2: b2db uxtb r3, r3 807adb4: 2b00 cmp r3, #0 807adb6: d104 bne.n 807adc2 807adb8: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807adbc: b2db uxtb r3, r3 807adbe: 2b00 cmp r3, #0 807adc0: d00c beq.n 807addc strLP[i++] = iedLP + 48; 807adc2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807adc6: 1c5a adds r2, r3, #1 807adc8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807adcc: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 807add0: b2d2 uxtb r2, r2 807add2: 3230 adds r2, #48 ; 0x30 807add4: b2d1 uxtb r1, r2 807add6: f507 72cc add.w r2, r7, #408 ; 0x198 807adda: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 807addc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ade0: 1c5a adds r2, r3, #1 807ade2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ade6: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 807adea: b2d2 uxtb r2, r2 807adec: 3230 adds r2, #48 ; 0x30 807adee: b2d1 uxtb r1, r2 807adf0: f507 72cc add.w r2, r7, #408 ; 0x198 807adf4: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 807adf6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807adfa: 1c5a adds r2, r3, #1 807adfc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ae00: f507 72cc add.w r2, r7, #408 ; 0x198 807ae04: 212e movs r1, #46 ; 0x2e 807ae06: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 807ae08: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ae0c: 1c5a adds r2, r3, #1 807ae0e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ae12: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 807ae16: b2d2 uxtb r2, r2 807ae18: 3230 adds r2, #48 ; 0x30 807ae1a: b2d1 uxtb r1, r2 807ae1c: f507 72cc add.w r2, r7, #408 ; 0x198 807ae20: 54d1 strb r1, [r2, r3] //**************************************************************** l = strlen(MeasFileName); 807ae22: 4825 ldr r0, [pc, #148] ; (807aeb8 ) 807ae24: f7a5 fa76 bl 8020314 807ae28: 4603 mov r3, r0 807ae2a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 807ae2e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 807ae32: 2b09 cmp r3, #9 807ae34: d806 bhi.n 807ae44 { strcpy(str1, MeasFileName); 807ae36: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ae3a: 491f ldr r1, [pc, #124] ; (807aeb8 ) 807ae3c: 4618 mov r0, r3 807ae3e: f056 fbcc bl 80d15da 807ae42: e070 b.n 807af26 } else { memset(str1, 0x20, sizeof(str1)); 807ae44: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ae48: f44f 7280 mov.w r2, #256 ; 0x100 807ae4c: 2120 movs r1, #32 807ae4e: 4618 mov r0, r3 807ae50: f056 faa6 bl 80d13a0 if(tme <= l) 807ae54: 4b19 ldr r3, [pc, #100] ; (807aebc ) 807ae56: 681a ldr r2, [r3, #0] 807ae58: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 807ae5c: 429a cmp r2, r3 807ae5e: d82f bhi.n 807aec0 { if(l - tme >= 9) 807ae60: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 807ae64: 4b15 ldr r3, [pc, #84] ; (807aebc ) 807ae66: 681b ldr r3, [r3, #0] 807ae68: 1ad3 subs r3, r2, r3 807ae6a: 2b08 cmp r3, #8 807ae6c: d90a bls.n 807ae84 memcpy(str1, &MeasFileName[tme], 9); 807ae6e: 4b13 ldr r3, [pc, #76] ; (807aebc ) 807ae70: 681b ldr r3, [r3, #0] 807ae72: 4a11 ldr r2, [pc, #68] ; (807aeb8 ) 807ae74: 1899 adds r1, r3, r2 807ae76: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ae7a: 2209 movs r2, #9 807ae7c: 4618 mov r0, r3 807ae7e: f056 fa84 bl 80d138a 807ae82: e02f b.n 807aee4 else memcpy(str1, &MeasFileName[tme], l - tme); 807ae84: 4b0d ldr r3, [pc, #52] ; (807aebc ) 807ae86: 681b ldr r3, [r3, #0] 807ae88: 4a0b ldr r2, [pc, #44] ; (807aeb8 ) 807ae8a: 1899 adds r1, r3, r2 807ae8c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 807ae90: 4b0a ldr r3, [pc, #40] ; (807aebc ) 807ae92: 681b ldr r3, [r3, #0] 807ae94: 1ad2 subs r2, r2, r3 807ae96: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ae9a: 4618 mov r0, r3 807ae9c: f056 fa75 bl 80d138a 807aea0: e020 b.n 807aee4 807aea2: bf00 nop 807aea4: 000186a0 .word 0x000186a0 807aea8: d1b71759 .word 0xd1b71759 807aeac: 10624dd3 .word 0x10624dd3 807aeb0: 51eb851f .word 0x51eb851f 807aeb4: cccccccd .word 0xcccccccd 807aeb8: 20020e78 .word 0x20020e78 807aebc: 200216b0 .word 0x200216b0 } else { memcpy(&str1[9 - (tme - l)], MeasFileName, tme - l); 807aec0: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 807aec4: 4b97 ldr r3, [pc, #604] ; (807b124 ) 807aec6: 681b ldr r3, [r3, #0] 807aec8: 1ad3 subs r3, r2, r3 807aeca: 3309 adds r3, #9 807aecc: f507 72f6 add.w r2, r7, #492 ; 0x1ec 807aed0: 18d0 adds r0, r2, r3 807aed2: 4b94 ldr r3, [pc, #592] ; (807b124 ) 807aed4: 681a ldr r2, [r3, #0] 807aed6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 807aeda: 1ad3 subs r3, r2, r3 807aedc: 461a mov r2, r3 807aede: 4992 ldr r1, [pc, #584] ; (807b128 ) 807aee0: f056 fa53 bl 80d138a } str1[10] = '\0'; 807aee4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807aee8: 2200 movs r2, #0 807aeea: 729a strb r2, [r3, #10] tt++; 807aeec: 4b8f ldr r3, [pc, #572] ; (807b12c ) 807aeee: 781b ldrb r3, [r3, #0] 807aef0: 3301 adds r3, #1 807aef2: b2da uxtb r2, r3 807aef4: 4b8d ldr r3, [pc, #564] ; (807b12c ) 807aef6: 701a strb r2, [r3, #0] if(tt >= 4) 807aef8: 4b8c ldr r3, [pc, #560] ; (807b12c ) 807aefa: 781b ldrb r3, [r3, #0] 807aefc: 2b03 cmp r3, #3 807aefe: d912 bls.n 807af26 { tt = 0; 807af00: 4b8a ldr r3, [pc, #552] ; (807b12c ) 807af02: 2200 movs r2, #0 807af04: 701a strb r2, [r3, #0] tme++; 807af06: 4b87 ldr r3, [pc, #540] ; (807b124 ) 807af08: 681b ldr r3, [r3, #0] 807af0a: 3301 adds r3, #1 807af0c: 4a85 ldr r2, [pc, #532] ; (807b124 ) 807af0e: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 807af10: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 807af14: 4b83 ldr r3, [pc, #524] ; (807b124 ) 807af16: 681b ldr r3, [r3, #0] 807af18: 1ad3 subs r3, r2, r3 807af1a: f113 0f09 cmn.w r3, #9 807af1e: d102 bne.n 807af26 { tme = 0; 807af20: 4b80 ldr r3, [pc, #512] ; (807b124 ) 807af22: 2200 movs r2, #0 807af24: 601a str r2, [r3, #0] } //**************************************************************** LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807af26: 4982 ldr r1, [pc, #520] ; (807b130 ) 807af28: f04f 30ff mov.w r0, #4294967295 807af2c: f7d9 fb70 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_PARAM_VIB[pardata.LANG][0]); //"ÔÂ×" 807af30: 4b80 ldr r3, [pc, #512] ; (807b134 ) 807af32: 7b1b ldrb r3, [r3, #12] 807af34: b2db uxtb r3, r3 807af36: 4619 mov r1, r3 807af38: 4a7f ldr r2, [pc, #508] ; (807b138 ) 807af3a: 232c movs r3, #44 ; 0x2c 807af3c: fb03 f301 mul.w r3, r3, r1 807af40: 4413 add r3, r2 807af42: 681b ldr r3, [r3, #0] 807af44: 461a mov r2, r3 807af46: 213a movs r1, #58 ; 0x3a 807af48: 200a movs r0, #10 807af4a: f7da f909 bl 8055160 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_PARAM_VIB[pardata.LANG][1]); //"ÔÍ×" 807af4e: 4b79 ldr r3, [pc, #484] ; (807b134 ) 807af50: 7b1b ldrb r3, [r3, #12] 807af52: b2db uxtb r3, r3 807af54: 4619 mov r1, r3 807af56: 4a78 ldr r2, [pc, #480] ; (807b138 ) 807af58: 232c movs r3, #44 ; 0x2c 807af5a: fb03 f301 mul.w r3, r3, r1 807af5e: 4413 add r3, r2 807af60: 3304 adds r3, #4 807af62: 681b ldr r3, [r3, #0] 807af64: 461a mov r2, r3 807af66: 214a movs r1, #74 ; 0x4a 807af68: 200a movs r0, #10 807af6a: f7da f8f9 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_PARAM_VIB[pardata.LANG][2]); //"Çíà÷åíèå Óñêîð-èÿ" 807af6e: 4b71 ldr r3, [pc, #452] ; (807b134 ) 807af70: 7b1b ldrb r3, [r3, #12] 807af72: b2db uxtb r3, r3 807af74: 4619 mov r1, r3 807af76: 4a70 ldr r2, [pc, #448] ; (807b138 ) 807af78: 232c movs r3, #44 ; 0x2c 807af7a: fb03 f301 mul.w r3, r3, r1 807af7e: 4413 add r3, r2 807af80: 3308 adds r3, #8 807af82: 681b ldr r3, [r3, #0] 807af84: 461a mov r2, r3 807af86: 215a movs r1, #90 ; 0x5a 807af88: 200a movs r0, #10 807af8a: f7da f8e9 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_PARAM_VIB[pardata.LANG][5]); //"Óñðåäíåíèå" 807af8e: 4b69 ldr r3, [pc, #420] ; (807b134 ) 807af90: 7b1b ldrb r3, [r3, #12] 807af92: b2db uxtb r3, r3 807af94: 4619 mov r1, r3 807af96: 4a68 ldr r2, [pc, #416] ; (807b138 ) 807af98: 232c movs r3, #44 ; 0x2c 807af9a: fb03 f301 mul.w r3, r3, r1 807af9e: 4413 add r3, r2 807afa0: 3314 adds r3, #20 807afa2: 681b ldr r3, [r3, #0] 807afa4: 461a mov r2, r3 807afa6: 218a movs r1, #138 ; 0x8a 807afa8: 200a movs r0, #10 807afaa: f7da f8d9 bl 8055160 LCD_DisplayString(10, LCD_LINE_9, (char *)TEXT_PARAM_VIB[pardata.LANG][6]); //"Ìåäèàíà" 807afae: 4b61 ldr r3, [pc, #388] ; (807b134 ) 807afb0: 7b1b ldrb r3, [r3, #12] 807afb2: b2db uxtb r3, r3 807afb4: 4619 mov r1, r3 807afb6: 4a60 ldr r2, [pc, #384] ; (807b138 ) 807afb8: 232c movs r3, #44 ; 0x2c 807afba: fb03 f301 mul.w r3, r3, r1 807afbe: 4413 add r3, r2 807afc0: 3318 adds r3, #24 807afc2: 681b ldr r3, [r3, #0] 807afc4: 461a mov r2, r3 807afc6: 219a movs r1, #154 ; 0x9a 807afc8: 200a movs r0, #10 807afca: f7da f8c9 bl 8055160 LCD_DisplayString(10, LCD_LINE_10, (char *)TEXT_PARAM_VIB[pardata.LANG][7]); //"×àñòîòà êîëåáàíèé" 807afce: 4b59 ldr r3, [pc, #356] ; (807b134 ) 807afd0: 7b1b ldrb r3, [r3, #12] 807afd2: b2db uxtb r3, r3 807afd4: 4619 mov r1, r3 807afd6: 4a58 ldr r2, [pc, #352] ; (807b138 ) 807afd8: 232c movs r3, #44 ; 0x2c 807afda: fb03 f301 mul.w r3, r3, r1 807afde: 4413 add r3, r2 807afe0: 331c adds r3, #28 807afe2: 681b ldr r3, [r3, #0] 807afe4: 461a mov r2, r3 807afe6: 21aa movs r1, #170 ; 0xaa 807afe8: 200a movs r0, #10 807afea: f7da f8b9 bl 8055160 LCD_DisplayString(10, LCD_LINE_11, (char *)TEXT_PARAM_VIB[pardata.LANG][8]); //"Àâòîóñèëåíèå" 807afee: 4b51 ldr r3, [pc, #324] ; (807b134 ) 807aff0: 7b1b ldrb r3, [r3, #12] 807aff2: b2db uxtb r3, r3 807aff4: 4619 mov r1, r3 807aff6: 4a50 ldr r2, [pc, #320] ; (807b138 ) 807aff8: 232c movs r3, #44 ; 0x2c 807affa: fb03 f301 mul.w r3, r3, r1 807affe: 4413 add r3, r2 807b000: 3320 adds r3, #32 807b002: 681b ldr r3, [r3, #0] 807b004: 461a mov r2, r3 807b006: 21ba movs r1, #186 ; 0xba 807b008: 200a movs r0, #10 807b00a: f7da f8a9 bl 8055160 LCD_DisplayString(10, LCD_LINE_13, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 807b00e: 4b49 ldr r3, [pc, #292] ; (807b134 ) 807b010: 7b1b ldrb r3, [r3, #12] 807b012: b2db uxtb r3, r3 807b014: 4619 mov r1, r3 807b016: 4a48 ldr r2, [pc, #288] ; (807b138 ) 807b018: 232c movs r3, #44 ; 0x2c 807b01a: fb03 f301 mul.w r3, r3, r1 807b01e: 4413 add r3, r2 807b020: 3328 adds r3, #40 ; 0x28 807b022: 681b ldr r3, [r3, #0] 807b024: 461a mov r2, r3 807b026: 21da movs r1, #218 ; 0xda 807b028: 200a movs r0, #10 807b02a: f7da f899 bl 8055160 if(menupos == Ok) 807b02e: 4b43 ldr r3, [pc, #268] ; (807b13c ) 807b030: 781b ldrb r3, [r3, #0] 807b032: b2db uxtb r3, r3 807b034: 2b00 cmp r3, #0 807b036: f040 81b9 bne.w 807b3ac { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807b03a: 493d ldr r1, [pc, #244] ; (807b130 ) 807b03c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807b040: f7d9 fae6 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807b044: 4b3b ldr r3, [pc, #236] ; (807b134 ) 807b046: 7b1b ldrb r3, [r3, #12] 807b048: b2db uxtb r3, r3 807b04a: 461a mov r2, r3 807b04c: 4b3c ldr r3, [pc, #240] ; (807b140 ) 807b04e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807b052: 461a mov r2, r3 807b054: 2127 movs r1, #39 ; 0x27 807b056: 200a movs r0, #10 807b058: f7da f882 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b05c: 4934 ldr r1, [pc, #208] ; (807b130 ) 807b05e: f04f 30ff mov.w r0, #4294967295 807b062: f7d9 fad5 bl 8054610 if(pardata.HP >= 2.0f) 807b066: 4b33 ldr r3, [pc, #204] ; (807b134 ) 807b068: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807b06c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807b070: eef4 7ac7 vcmpe.f32 s15, s14 807b074: eef1 fa10 vmrs APSR_nzcv, fpscr 807b078: db68 blt.n 807b14c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b07a: 492d ldr r1, [pc, #180] ; (807b130 ) 807b07c: f04f 30ff mov.w r0, #4294967295 807b080: f7d9 fac6 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b084: 4b2b ldr r3, [pc, #172] ; (807b134 ) 807b086: 7b1b ldrb r3, [r3, #12] 807b088: b2db uxtb r3, r3 807b08a: 4619 mov r1, r3 807b08c: 4a2a ldr r2, [pc, #168] ; (807b138 ) 807b08e: 232c movs r3, #44 ; 0x2c 807b090: fb03 f301 mul.w r3, r3, r1 807b094: 4413 add r3, r2 807b096: 330c adds r3, #12 807b098: 681b ldr r3, [r3, #0] 807b09a: 461a mov r2, r3 807b09c: 216a movs r1, #106 ; 0x6a 807b09e: 200a movs r0, #10 807b0a0: f7da f85e bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b0a4: 4b23 ldr r3, [pc, #140] ; (807b134 ) 807b0a6: 7b1b ldrb r3, [r3, #12] 807b0a8: b2db uxtb r3, r3 807b0aa: 4619 mov r1, r3 807b0ac: 4a22 ldr r2, [pc, #136] ; (807b138 ) 807b0ae: 232c movs r3, #44 ; 0x2c 807b0b0: fb03 f301 mul.w r3, r3, r1 807b0b4: 4413 add r3, r2 807b0b6: 3310 adds r3, #16 807b0b8: 681b ldr r3, [r3, #0] 807b0ba: 461a mov r2, r3 807b0bc: 217a movs r1, #122 ; 0x7a 807b0be: 200a movs r0, #10 807b0c0: f7da f84e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b0c4: 491a ldr r1, [pc, #104] ; (807b130 ) 807b0c6: 481f ldr r0, [pc, #124] ; (807b144 ) 807b0c8: f7d9 faa2 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b0cc: 4b19 ldr r3, [pc, #100] ; (807b134 ) 807b0ce: 7b1b ldrb r3, [r3, #12] 807b0d0: b2db uxtb r3, r3 807b0d2: 4619 mov r1, r3 807b0d4: 4b17 ldr r3, [pc, #92] ; (807b134 ) 807b0d6: 78db ldrb r3, [r3, #3] 807b0d8: b2db uxtb r3, r3 807b0da: 4618 mov r0, r3 807b0dc: 4a1a ldr r2, [pc, #104] ; (807b148 ) 807b0de: 460b mov r3, r1 807b0e0: 009b lsls r3, r3, #2 807b0e2: 440b add r3, r1 807b0e4: 4403 add r3, r0 807b0e6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b0ea: 461a mov r2, r3 807b0ec: 216a movs r1, #106 ; 0x6a 807b0ee: f44f 7082 mov.w r0, #260 ; 0x104 807b0f2: f7da f84d bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b0f6: 4b0f ldr r3, [pc, #60] ; (807b134 ) 807b0f8: 7b1b ldrb r3, [r3, #12] 807b0fa: b2db uxtb r3, r3 807b0fc: 4619 mov r1, r3 807b0fe: 4b0d ldr r3, [pc, #52] ; (807b134 ) 807b100: 791b ldrb r3, [r3, #4] 807b102: b2db uxtb r3, r3 807b104: 4618 mov r0, r3 807b106: 4a10 ldr r2, [pc, #64] ; (807b148 ) 807b108: 460b mov r3, r1 807b10a: 009b lsls r3, r3, #2 807b10c: 440b add r3, r1 807b10e: 4403 add r3, r0 807b110: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b114: 461a mov r2, r3 807b116: 217a movs r1, #122 ; 0x7a 807b118: f44f 7082 mov.w r0, #260 ; 0x104 807b11c: f7da f838 bl 8055190 807b120: e062 b.n 807b1e8 807b122: bf00 nop 807b124: 200216b0 .word 0x200216b0 807b128: 20020e78 .word 0x20020e78 807b12c: 200216b4 .word 0x200216b4 807b130: ff0a0f1f .word 0xff0a0f1f 807b134: 20023ea8 .word 0x20023ea8 807b138: 200206bc .word 0x200206bc 807b13c: 20020070 .word 0x20020070 807b140: 200205cc .word 0x200205cc 807b144: ffd8aa57 .word 0xffd8aa57 807b148: 200202c4 .word 0x200202c4 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b14c: 498f ldr r1, [pc, #572] ; (807b38c ) 807b14e: 4890 ldr r0, [pc, #576] ; (807b390 ) 807b150: f7d9 fa5e bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b154: 4b8f ldr r3, [pc, #572] ; (807b394 ) 807b156: 7b1b ldrb r3, [r3, #12] 807b158: b2db uxtb r3, r3 807b15a: 4619 mov r1, r3 807b15c: 4a8e ldr r2, [pc, #568] ; (807b398 ) 807b15e: 232c movs r3, #44 ; 0x2c 807b160: fb03 f301 mul.w r3, r3, r1 807b164: 4413 add r3, r2 807b166: 330c adds r3, #12 807b168: 681b ldr r3, [r3, #0] 807b16a: 461a mov r2, r3 807b16c: 216a movs r1, #106 ; 0x6a 807b16e: 200a movs r0, #10 807b170: f7d9 fff6 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b174: 4b87 ldr r3, [pc, #540] ; (807b394 ) 807b176: 7b1b ldrb r3, [r3, #12] 807b178: b2db uxtb r3, r3 807b17a: 4619 mov r1, r3 807b17c: 4a86 ldr r2, [pc, #536] ; (807b398 ) 807b17e: 232c movs r3, #44 ; 0x2c 807b180: fb03 f301 mul.w r3, r3, r1 807b184: 4413 add r3, r2 807b186: 3310 adds r3, #16 807b188: 681b ldr r3, [r3, #0] 807b18a: 461a mov r2, r3 807b18c: 217a movs r1, #122 ; 0x7a 807b18e: 200a movs r0, #10 807b190: f7d9 ffe6 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b194: 4b7f ldr r3, [pc, #508] ; (807b394 ) 807b196: 7b1b ldrb r3, [r3, #12] 807b198: b2db uxtb r3, r3 807b19a: 4619 mov r1, r3 807b19c: 4b7d ldr r3, [pc, #500] ; (807b394 ) 807b19e: 78db ldrb r3, [r3, #3] 807b1a0: b2db uxtb r3, r3 807b1a2: 4618 mov r0, r3 807b1a4: 4a7d ldr r2, [pc, #500] ; (807b39c ) 807b1a6: 460b mov r3, r1 807b1a8: 009b lsls r3, r3, #2 807b1aa: 440b add r3, r1 807b1ac: 4403 add r3, r0 807b1ae: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b1b2: 461a mov r2, r3 807b1b4: 216a movs r1, #106 ; 0x6a 807b1b6: f44f 7082 mov.w r0, #260 ; 0x104 807b1ba: f7d9 ffe9 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b1be: 4b75 ldr r3, [pc, #468] ; (807b394 ) 807b1c0: 7b1b ldrb r3, [r3, #12] 807b1c2: b2db uxtb r3, r3 807b1c4: 4619 mov r1, r3 807b1c6: 4b73 ldr r3, [pc, #460] ; (807b394 ) 807b1c8: 791b ldrb r3, [r3, #4] 807b1ca: b2db uxtb r3, r3 807b1cc: 4618 mov r0, r3 807b1ce: 4a73 ldr r2, [pc, #460] ; (807b39c ) 807b1d0: 460b mov r3, r1 807b1d2: 009b lsls r3, r3, #2 807b1d4: 440b add r3, r1 807b1d6: 4403 add r3, r0 807b1d8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b1dc: 461a mov r2, r3 807b1de: 217a movs r1, #122 ; 0x7a 807b1e0: f44f 7082 mov.w r0, #260 ; 0x104 807b1e4: f7d9 ffd4 bl 8055190 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b1e8: 4968 ldr r1, [pc, #416] ; (807b38c ) 807b1ea: 486d ldr r0, [pc, #436] ; (807b3a0 ) 807b1ec: f7d9 fa10 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807b1f0: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807b1f4: 461a mov r2, r3 807b1f6: 213a movs r1, #58 ; 0x3a 807b1f8: f44f 7082 mov.w r0, #260 ; 0x104 807b1fc: f7d9 ffc8 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807b200: f507 73cc add.w r3, r7, #408 ; 0x198 807b204: 461a mov r2, r3 807b206: 214a movs r1, #74 ; 0x4a 807b208: f44f 7082 mov.w r0, #260 ; 0x104 807b20c: f7d9 ffc0 bl 8055190 //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]]); 807b210: 4b60 ldr r3, [pc, #384] ; (807b394 ) 807b212: 7b1b ldrb r3, [r3, #12] 807b214: b2db uxtb r3, r3 807b216: 4619 mov r1, r3 807b218: 4b5e ldr r3, [pc, #376] ; (807b394 ) 807b21a: 789b ldrb r3, [r3, #2] 807b21c: b2db uxtb r3, r3 807b21e: 4618 mov r0, r3 807b220: 4a5e ldr r2, [pc, #376] ; (807b39c ) 807b222: 460b mov r3, r1 807b224: 009b lsls r3, r3, #2 807b226: 440b add r3, r1 807b228: 4403 add r3, r0 807b22a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b22e: 461a mov r2, r3 807b230: 215a movs r1, #90 ; 0x5a 807b232: f44f 7082 mov.w r0, #260 ; 0x104 807b236: f7d9 ffab bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807b23a: 4b56 ldr r3, [pc, #344] ; (807b394 ) 807b23c: 7b1b ldrb r3, [r3, #12] 807b23e: b2db uxtb r3, r3 807b240: 4619 mov r1, r3 807b242: 4b54 ldr r3, [pc, #336] ; (807b394 ) 807b244: 7b5b ldrb r3, [r3, #13] 807b246: b2db uxtb r3, r3 807b248: 4618 mov r0, r3 807b24a: 4a56 ldr r2, [pc, #344] ; (807b3a4 ) 807b24c: 460b mov r3, r1 807b24e: 009b lsls r3, r3, #2 807b250: 440b add r3, r1 807b252: 005b lsls r3, r3, #1 807b254: 4403 add r3, r0 807b256: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b25a: 461a mov r2, r3 807b25c: 218a movs r1, #138 ; 0x8a 807b25e: f44f 7082 mov.w r0, #260 ; 0x104 807b262: f7d9 ff95 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807b266: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807b26a: 461a mov r2, r3 807b26c: 21da movs r1, #218 ; 0xda 807b26e: f44f 7082 mov.w r0, #260 ; 0x104 807b272: f7d9 ff8d bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b276: 4945 ldr r1, [pc, #276] ; (807b38c ) 807b278: f04f 30ff mov.w r0, #4294967295 807b27c: f7d9 f9c8 bl 8054610 BSP_LCD_FillRect(255, 157, 10, 10); 807b280: 230a movs r3, #10 807b282: 220a movs r2, #10 807b284: 219d movs r1, #157 ; 0x9d 807b286: 20ff movs r0, #255 ; 0xff 807b288: f7d9 fe50 bl 8054f2c BSP_LCD_FillRect(255, 173, 10, 10); 807b28c: 230a movs r3, #10 807b28e: 220a movs r2, #10 807b290: 21ad movs r1, #173 ; 0xad 807b292: 20ff movs r0, #255 ; 0xff 807b294: f7d9 fe4a bl 8054f2c BSP_LCD_FillRect(255, 189, 10, 10); 807b298: 230a movs r3, #10 807b29a: 220a movs r2, #10 807b29c: 21bd movs r1, #189 ; 0xbd 807b29e: 20ff movs r0, #255 ; 0xff 807b2a0: f7d9 fe44 bl 8054f2c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807b2a4: 4b3b ldr r3, [pc, #236] ; (807b394 ) 807b2a6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807b2aa: f003 0304 and.w r3, r3, #4 807b2ae: 2b00 cmp r3, #0 807b2b0: d033 beq.n 807b31a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b2b2: 4936 ldr r1, [pc, #216] ; (807b38c ) 807b2b4: 4836 ldr r0, [pc, #216] ; (807b390 ) 807b2b6: f7d9 f9ab bl 8054610 if(pardata.IIN != VOLTS) 807b2ba: 4b36 ldr r3, [pc, #216] ; (807b394 ) 807b2bc: 799b ldrb r3, [r3, #6] 807b2be: b2db uxtb r3, r3 807b2c0: 2b02 cmp r3, #2 807b2c2: d010 beq.n 807b2e6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b2c4: 4b33 ldr r3, [pc, #204] ; (807b394 ) 807b2c6: 7b1b ldrb r3, [r3, #12] 807b2c8: b2db uxtb r3, r3 807b2ca: 4619 mov r1, r3 807b2cc: 4a32 ldr r2, [pc, #200] ; (807b398 ) 807b2ce: 232c movs r3, #44 ; 0x2c 807b2d0: fb03 f301 mul.w r3, r3, r1 807b2d4: 4413 add r3, r2 807b2d6: 3324 adds r3, #36 ; 0x24 807b2d8: 681b ldr r3, [r3, #0] 807b2da: 461a mov r2, r3 807b2dc: 21ca movs r1, #202 ; 0xca 807b2de: 200a movs r0, #10 807b2e0: f7d9 ff3e bl 8055160 807b2e4: e00f b.n 807b306 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b2e6: 4b2b ldr r3, [pc, #172] ; (807b394 ) 807b2e8: 7b1b ldrb r3, [r3, #12] 807b2ea: b2db uxtb r3, r3 807b2ec: 4619 mov r1, r3 807b2ee: 4a2e ldr r2, [pc, #184] ; (807b3a8 ) 807b2f0: 232c movs r3, #44 ; 0x2c 807b2f2: fb03 f301 mul.w r3, r3, r1 807b2f6: 4413 add r3, r2 807b2f8: 3324 adds r3, #36 ; 0x24 807b2fa: 681b ldr r3, [r3, #0] 807b2fc: 461a mov r2, r3 807b2fe: 21ca movs r1, #202 ; 0xca 807b300: 200a movs r0, #10 807b302: f7d9 ff2d bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807b306: f507 733b add.w r3, r7, #748 ; 0x2ec 807b30a: 461a mov r2, r3 807b30c: 21ca movs r1, #202 ; 0xca 807b30e: f44f 7082 mov.w r0, #260 ; 0x104 807b312: f7d9 ff3d bl 8055190 807b316: f003 bca9 b.w 807ec6c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b31a: 491c ldr r1, [pc, #112] ; (807b38c ) 807b31c: f04f 30ff mov.w r0, #4294967295 807b320: f7d9 f976 bl 8054610 if(pardata.IIN != VOLTS) 807b324: 4b1b ldr r3, [pc, #108] ; (807b394 ) 807b326: 799b ldrb r3, [r3, #6] 807b328: b2db uxtb r3, r3 807b32a: 2b02 cmp r3, #2 807b32c: d010 beq.n 807b350 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b32e: 4b19 ldr r3, [pc, #100] ; (807b394 ) 807b330: 7b1b ldrb r3, [r3, #12] 807b332: b2db uxtb r3, r3 807b334: 4619 mov r1, r3 807b336: 4a18 ldr r2, [pc, #96] ; (807b398 ) 807b338: 232c movs r3, #44 ; 0x2c 807b33a: fb03 f301 mul.w r3, r3, r1 807b33e: 4413 add r3, r2 807b340: 3324 adds r3, #36 ; 0x24 807b342: 681b ldr r3, [r3, #0] 807b344: 461a mov r2, r3 807b346: 21ca movs r1, #202 ; 0xca 807b348: 200a movs r0, #10 807b34a: f7d9 ff09 bl 8055160 807b34e: e00f b.n 807b370 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b350: 4b10 ldr r3, [pc, #64] ; (807b394 ) 807b352: 7b1b ldrb r3, [r3, #12] 807b354: b2db uxtb r3, r3 807b356: 4619 mov r1, r3 807b358: 4a13 ldr r2, [pc, #76] ; (807b3a8 ) 807b35a: 232c movs r3, #44 ; 0x2c 807b35c: fb03 f301 mul.w r3, r3, r1 807b360: 4413 add r3, r2 807b362: 3324 adds r3, #36 ; 0x24 807b364: 681b ldr r3, [r3, #0] 807b366: 461a mov r2, r3 807b368: 21ca movs r1, #202 ; 0xca 807b36a: 200a movs r0, #10 807b36c: f7d9 fef8 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b370: 4906 ldr r1, [pc, #24] ; (807b38c ) 807b372: 480b ldr r0, [pc, #44] ; (807b3a0 ) 807b374: f7d9 f94c bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807b378: f507 733b add.w r3, r7, #748 ; 0x2ec 807b37c: 461a mov r2, r3 807b37e: 21ca movs r1, #202 ; 0xca 807b380: f44f 7082 mov.w r0, #260 ; 0x104 807b384: f7d9 ff04 bl 8055190 807b388: f003 bc70 b.w 807ec6c 807b38c: ff0a0f1f .word 0xff0a0f1f 807b390: ff808080 .word 0xff808080 807b394: 20023ea8 .word 0x20023ea8 807b398: 200206bc .word 0x200206bc 807b39c: 200202c4 .word 0x200202c4 807b3a0: ffd8aa57 .word 0xffd8aa57 807b3a4: 20020254 .word 0x20020254 807b3a8: 20020714 .word 0x20020714 } } else if(menupos == FilterHP) // filter 807b3ac: 4bcc ldr r3, [pc, #816] ; (807b6e0 ) 807b3ae: 781b ldrb r3, [r3, #0] 807b3b0: b2db uxtb r3, r3 807b3b2: 2b17 cmp r3, #23 807b3b4: f040 81a8 bne.w 807b708 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b3b8: 49ca ldr r1, [pc, #808] ; (807b6e4 ) 807b3ba: f04f 30ff mov.w r0, #4294967295 807b3be: f7d9 f927 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807b3c2: 4bc9 ldr r3, [pc, #804] ; (807b6e8 ) 807b3c4: 7b1b ldrb r3, [r3, #12] 807b3c6: b2db uxtb r3, r3 807b3c8: 461a mov r2, r3 807b3ca: 4bc8 ldr r3, [pc, #800] ; (807b6ec ) 807b3cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807b3d0: 461a mov r2, r3 807b3d2: 2127 movs r1, #39 ; 0x27 807b3d4: 200a movs r0, #10 807b3d6: f7d9 fec3 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807b3da: 49c2 ldr r1, [pc, #776] ; (807b6e4 ) 807b3dc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807b3e0: f7d9 f916 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807b3e4: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807b3e8: 461a mov r2, r3 807b3ea: 213a movs r1, #58 ; 0x3a 807b3ec: f44f 7082 mov.w r0, #260 ; 0x104 807b3f0: f7d9 fece bl 8055190 if(pardata.HP >= 2.0f) 807b3f4: 4bbc ldr r3, [pc, #752] ; (807b6e8 ) 807b3f6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807b3fa: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807b3fe: eef4 7ac7 vcmpe.f32 s15, s14 807b402: eef1 fa10 vmrs APSR_nzcv, fpscr 807b406: db53 blt.n 807b4b0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b408: 49b6 ldr r1, [pc, #728] ; (807b6e4 ) 807b40a: f04f 30ff mov.w r0, #4294967295 807b40e: f7d9 f8ff bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b412: 4bb5 ldr r3, [pc, #724] ; (807b6e8 ) 807b414: 7b1b ldrb r3, [r3, #12] 807b416: b2db uxtb r3, r3 807b418: 4619 mov r1, r3 807b41a: 4ab5 ldr r2, [pc, #724] ; (807b6f0 ) 807b41c: 232c movs r3, #44 ; 0x2c 807b41e: fb03 f301 mul.w r3, r3, r1 807b422: 4413 add r3, r2 807b424: 330c adds r3, #12 807b426: 681b ldr r3, [r3, #0] 807b428: 461a mov r2, r3 807b42a: 216a movs r1, #106 ; 0x6a 807b42c: 200a movs r0, #10 807b42e: f7d9 fe97 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b432: 4bad ldr r3, [pc, #692] ; (807b6e8 ) 807b434: 7b1b ldrb r3, [r3, #12] 807b436: b2db uxtb r3, r3 807b438: 4619 mov r1, r3 807b43a: 4aad ldr r2, [pc, #692] ; (807b6f0 ) 807b43c: 232c movs r3, #44 ; 0x2c 807b43e: fb03 f301 mul.w r3, r3, r1 807b442: 4413 add r3, r2 807b444: 3310 adds r3, #16 807b446: 681b ldr r3, [r3, #0] 807b448: 461a mov r2, r3 807b44a: 217a movs r1, #122 ; 0x7a 807b44c: 200a movs r0, #10 807b44e: f7d9 fe87 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b452: 49a4 ldr r1, [pc, #656] ; (807b6e4 ) 807b454: 48a7 ldr r0, [pc, #668] ; (807b6f4 ) 807b456: f7d9 f8db bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b45a: 4ba3 ldr r3, [pc, #652] ; (807b6e8 ) 807b45c: 7b1b ldrb r3, [r3, #12] 807b45e: b2db uxtb r3, r3 807b460: 4619 mov r1, r3 807b462: 4ba1 ldr r3, [pc, #644] ; (807b6e8 ) 807b464: 78db ldrb r3, [r3, #3] 807b466: b2db uxtb r3, r3 807b468: 4618 mov r0, r3 807b46a: 4aa3 ldr r2, [pc, #652] ; (807b6f8 ) 807b46c: 460b mov r3, r1 807b46e: 009b lsls r3, r3, #2 807b470: 440b add r3, r1 807b472: 4403 add r3, r0 807b474: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b478: 461a mov r2, r3 807b47a: 216a movs r1, #106 ; 0x6a 807b47c: f44f 7082 mov.w r0, #260 ; 0x104 807b480: f7d9 fe86 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b484: 4b98 ldr r3, [pc, #608] ; (807b6e8 ) 807b486: 7b1b ldrb r3, [r3, #12] 807b488: b2db uxtb r3, r3 807b48a: 4619 mov r1, r3 807b48c: 4b96 ldr r3, [pc, #600] ; (807b6e8 ) 807b48e: 791b ldrb r3, [r3, #4] 807b490: b2db uxtb r3, r3 807b492: 4618 mov r0, r3 807b494: 4a98 ldr r2, [pc, #608] ; (807b6f8 ) 807b496: 460b mov r3, r1 807b498: 009b lsls r3, r3, #2 807b49a: 440b add r3, r1 807b49c: 4403 add r3, r0 807b49e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b4a2: 461a mov r2, r3 807b4a4: 217a movs r1, #122 ; 0x7a 807b4a6: f44f 7082 mov.w r0, #260 ; 0x104 807b4aa: f7d9 fe71 bl 8055190 807b4ae: e04d b.n 807b54c } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b4b0: 498c ldr r1, [pc, #560] ; (807b6e4 ) 807b4b2: 4892 ldr r0, [pc, #584] ; (807b6fc ) 807b4b4: f7d9 f8ac bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b4b8: 4b8b ldr r3, [pc, #556] ; (807b6e8 ) 807b4ba: 7b1b ldrb r3, [r3, #12] 807b4bc: b2db uxtb r3, r3 807b4be: 4619 mov r1, r3 807b4c0: 4a8b ldr r2, [pc, #556] ; (807b6f0 ) 807b4c2: 232c movs r3, #44 ; 0x2c 807b4c4: fb03 f301 mul.w r3, r3, r1 807b4c8: 4413 add r3, r2 807b4ca: 330c adds r3, #12 807b4cc: 681b ldr r3, [r3, #0] 807b4ce: 461a mov r2, r3 807b4d0: 216a movs r1, #106 ; 0x6a 807b4d2: 200a movs r0, #10 807b4d4: f7d9 fe44 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b4d8: 4b83 ldr r3, [pc, #524] ; (807b6e8 ) 807b4da: 7b1b ldrb r3, [r3, #12] 807b4dc: b2db uxtb r3, r3 807b4de: 4619 mov r1, r3 807b4e0: 4a83 ldr r2, [pc, #524] ; (807b6f0 ) 807b4e2: 232c movs r3, #44 ; 0x2c 807b4e4: fb03 f301 mul.w r3, r3, r1 807b4e8: 4413 add r3, r2 807b4ea: 3310 adds r3, #16 807b4ec: 681b ldr r3, [r3, #0] 807b4ee: 461a mov r2, r3 807b4f0: 217a movs r1, #122 ; 0x7a 807b4f2: 200a movs r0, #10 807b4f4: f7d9 fe34 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b4f8: 4b7b ldr r3, [pc, #492] ; (807b6e8 ) 807b4fa: 7b1b ldrb r3, [r3, #12] 807b4fc: b2db uxtb r3, r3 807b4fe: 4619 mov r1, r3 807b500: 4b79 ldr r3, [pc, #484] ; (807b6e8 ) 807b502: 78db ldrb r3, [r3, #3] 807b504: b2db uxtb r3, r3 807b506: 4618 mov r0, r3 807b508: 4a7b ldr r2, [pc, #492] ; (807b6f8 ) 807b50a: 460b mov r3, r1 807b50c: 009b lsls r3, r3, #2 807b50e: 440b add r3, r1 807b510: 4403 add r3, r0 807b512: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b516: 461a mov r2, r3 807b518: 216a movs r1, #106 ; 0x6a 807b51a: f44f 7082 mov.w r0, #260 ; 0x104 807b51e: f7d9 fe37 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b522: 4b71 ldr r3, [pc, #452] ; (807b6e8 ) 807b524: 7b1b ldrb r3, [r3, #12] 807b526: b2db uxtb r3, r3 807b528: 4619 mov r1, r3 807b52a: 4b6f ldr r3, [pc, #444] ; (807b6e8 ) 807b52c: 791b ldrb r3, [r3, #4] 807b52e: b2db uxtb r3, r3 807b530: 4618 mov r0, r3 807b532: 4a71 ldr r2, [pc, #452] ; (807b6f8 ) 807b534: 460b mov r3, r1 807b536: 009b lsls r3, r3, #2 807b538: 440b add r3, r1 807b53a: 4403 add r3, r0 807b53c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b540: 461a mov r2, r3 807b542: 217a movs r1, #122 ; 0x7a 807b544: f44f 7082 mov.w r0, #260 ; 0x104 807b548: f7d9 fe22 bl 8055190 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b54c: 4965 ldr r1, [pc, #404] ; (807b6e4 ) 807b54e: 4869 ldr r0, [pc, #420] ; (807b6f4 ) 807b550: f7d9 f85e bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807b554: f507 73cc add.w r3, r7, #408 ; 0x198 807b558: 461a mov r2, r3 807b55a: 214a movs r1, #74 ; 0x4a 807b55c: f44f 7082 mov.w r0, #260 ; 0x104 807b560: f7d9 fe16 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807b564: 4b60 ldr r3, [pc, #384] ; (807b6e8 ) 807b566: 7b1b ldrb r3, [r3, #12] 807b568: b2db uxtb r3, r3 807b56a: 4619 mov r1, r3 807b56c: 4b5e ldr r3, [pc, #376] ; (807b6e8 ) 807b56e: 789b ldrb r3, [r3, #2] 807b570: b2db uxtb r3, r3 807b572: 4618 mov r0, r3 807b574: 4a60 ldr r2, [pc, #384] ; (807b6f8 ) 807b576: 460b mov r3, r1 807b578: 009b lsls r3, r3, #2 807b57a: 440b add r3, r1 807b57c: 4403 add r3, r0 807b57e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b582: 461a mov r2, r3 807b584: 215a movs r1, #90 ; 0x5a 807b586: f44f 7082 mov.w r0, #260 ; 0x104 807b58a: f7d9 fe01 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807b58e: 4b56 ldr r3, [pc, #344] ; (807b6e8 ) 807b590: 7b1b ldrb r3, [r3, #12] 807b592: b2db uxtb r3, r3 807b594: 4619 mov r1, r3 807b596: 4b54 ldr r3, [pc, #336] ; (807b6e8 ) 807b598: 7b5b ldrb r3, [r3, #13] 807b59a: b2db uxtb r3, r3 807b59c: 4618 mov r0, r3 807b59e: 4a58 ldr r2, [pc, #352] ; (807b700 ) 807b5a0: 460b mov r3, r1 807b5a2: 009b lsls r3, r3, #2 807b5a4: 440b add r3, r1 807b5a6: 005b lsls r3, r3, #1 807b5a8: 4403 add r3, r0 807b5aa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b5ae: 461a mov r2, r3 807b5b0: 218a movs r1, #138 ; 0x8a 807b5b2: f44f 7082 mov.w r0, #260 ; 0x104 807b5b6: f7d9 fdeb bl 8055190 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807b5ba: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807b5be: 461a mov r2, r3 807b5c0: 21da movs r1, #218 ; 0xda 807b5c2: f44f 7082 mov.w r0, #260 ; 0x104 807b5c6: f7d9 fde3 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b5ca: 4946 ldr r1, [pc, #280] ; (807b6e4 ) 807b5cc: f04f 30ff mov.w r0, #4294967295 807b5d0: f7d9 f81e bl 8054610 BSP_LCD_FillRect(255, 157, 10, 10); 807b5d4: 230a movs r3, #10 807b5d6: 220a movs r2, #10 807b5d8: 219d movs r1, #157 ; 0x9d 807b5da: 20ff movs r0, #255 ; 0xff 807b5dc: f7d9 fca6 bl 8054f2c BSP_LCD_FillRect(255, 173, 10, 10); 807b5e0: 230a movs r3, #10 807b5e2: 220a movs r2, #10 807b5e4: 21ad movs r1, #173 ; 0xad 807b5e6: 20ff movs r0, #255 ; 0xff 807b5e8: f7d9 fca0 bl 8054f2c BSP_LCD_FillRect(255, 189, 10, 10); 807b5ec: 230a movs r3, #10 807b5ee: 220a movs r2, #10 807b5f0: 21bd movs r1, #189 ; 0xbd 807b5f2: 20ff movs r0, #255 ; 0xff 807b5f4: f7d9 fc9a bl 8054f2c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807b5f8: 4b3b ldr r3, [pc, #236] ; (807b6e8 ) 807b5fa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807b5fe: f003 0304 and.w r3, r3, #4 807b602: 2b00 cmp r3, #0 807b604: d033 beq.n 807b66e { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b606: 4937 ldr r1, [pc, #220] ; (807b6e4 ) 807b608: 483c ldr r0, [pc, #240] ; (807b6fc ) 807b60a: f7d9 f801 bl 8054610 if(pardata.IIN != VOLTS) 807b60e: 4b36 ldr r3, [pc, #216] ; (807b6e8 ) 807b610: 799b ldrb r3, [r3, #6] 807b612: b2db uxtb r3, r3 807b614: 2b02 cmp r3, #2 807b616: d010 beq.n 807b63a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b618: 4b33 ldr r3, [pc, #204] ; (807b6e8 ) 807b61a: 7b1b ldrb r3, [r3, #12] 807b61c: b2db uxtb r3, r3 807b61e: 4619 mov r1, r3 807b620: 4a33 ldr r2, [pc, #204] ; (807b6f0 ) 807b622: 232c movs r3, #44 ; 0x2c 807b624: fb03 f301 mul.w r3, r3, r1 807b628: 4413 add r3, r2 807b62a: 3324 adds r3, #36 ; 0x24 807b62c: 681b ldr r3, [r3, #0] 807b62e: 461a mov r2, r3 807b630: 21ca movs r1, #202 ; 0xca 807b632: 200a movs r0, #10 807b634: f7d9 fd94 bl 8055160 807b638: e00f b.n 807b65a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b63a: 4b2b ldr r3, [pc, #172] ; (807b6e8 ) 807b63c: 7b1b ldrb r3, [r3, #12] 807b63e: b2db uxtb r3, r3 807b640: 4619 mov r1, r3 807b642: 4a30 ldr r2, [pc, #192] ; (807b704 ) 807b644: 232c movs r3, #44 ; 0x2c 807b646: fb03 f301 mul.w r3, r3, r1 807b64a: 4413 add r3, r2 807b64c: 3324 adds r3, #36 ; 0x24 807b64e: 681b ldr r3, [r3, #0] 807b650: 461a mov r2, r3 807b652: 21ca movs r1, #202 ; 0xca 807b654: 200a movs r0, #10 807b656: f7d9 fd83 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807b65a: f507 733b add.w r3, r7, #748 ; 0x2ec 807b65e: 461a mov r2, r3 807b660: 21ca movs r1, #202 ; 0xca 807b662: f44f 7082 mov.w r0, #260 ; 0x104 807b666: f7d9 fd93 bl 8055190 807b66a: f003 baff b.w 807ec6c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b66e: 491d ldr r1, [pc, #116] ; (807b6e4 ) 807b670: f04f 30ff mov.w r0, #4294967295 807b674: f7d8 ffcc bl 8054610 if(pardata.IIN != VOLTS) 807b678: 4b1b ldr r3, [pc, #108] ; (807b6e8 ) 807b67a: 799b ldrb r3, [r3, #6] 807b67c: b2db uxtb r3, r3 807b67e: 2b02 cmp r3, #2 807b680: d010 beq.n 807b6a4 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b682: 4b19 ldr r3, [pc, #100] ; (807b6e8 ) 807b684: 7b1b ldrb r3, [r3, #12] 807b686: b2db uxtb r3, r3 807b688: 4619 mov r1, r3 807b68a: 4a19 ldr r2, [pc, #100] ; (807b6f0 ) 807b68c: 232c movs r3, #44 ; 0x2c 807b68e: fb03 f301 mul.w r3, r3, r1 807b692: 4413 add r3, r2 807b694: 3324 adds r3, #36 ; 0x24 807b696: 681b ldr r3, [r3, #0] 807b698: 461a mov r2, r3 807b69a: 21ca movs r1, #202 ; 0xca 807b69c: 200a movs r0, #10 807b69e: f7d9 fd5f bl 8055160 807b6a2: e00f b.n 807b6c4 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b6a4: 4b10 ldr r3, [pc, #64] ; (807b6e8 ) 807b6a6: 7b1b ldrb r3, [r3, #12] 807b6a8: b2db uxtb r3, r3 807b6aa: 4619 mov r1, r3 807b6ac: 4a15 ldr r2, [pc, #84] ; (807b704 ) 807b6ae: 232c movs r3, #44 ; 0x2c 807b6b0: fb03 f301 mul.w r3, r3, r1 807b6b4: 4413 add r3, r2 807b6b6: 3324 adds r3, #36 ; 0x24 807b6b8: 681b ldr r3, [r3, #0] 807b6ba: 461a mov r2, r3 807b6bc: 21ca movs r1, #202 ; 0xca 807b6be: 200a movs r0, #10 807b6c0: f7d9 fd4e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b6c4: 4907 ldr r1, [pc, #28] ; (807b6e4 ) 807b6c6: 480b ldr r0, [pc, #44] ; (807b6f4 ) 807b6c8: f7d8 ffa2 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807b6cc: f507 733b add.w r3, r7, #748 ; 0x2ec 807b6d0: 461a mov r2, r3 807b6d2: 21ca movs r1, #202 ; 0xca 807b6d4: f44f 7082 mov.w r0, #260 ; 0x104 807b6d8: f7d9 fd5a bl 8055190 807b6dc: f003 bac6 b.w 807ec6c 807b6e0: 20020070 .word 0x20020070 807b6e4: ff0a0f1f .word 0xff0a0f1f 807b6e8: 20023ea8 .word 0x20023ea8 807b6ec: 200205cc .word 0x200205cc 807b6f0: 200206bc .word 0x200206bc 807b6f4: ffd8aa57 .word 0xffd8aa57 807b6f8: 200202c4 .word 0x200202c4 807b6fc: ff808080 .word 0xff808080 807b700: 20020254 .word 0x20020254 807b704: 20020714 .word 0x20020714 } } else if(menupos == FilterLP) // filter 807b708: 4bcc ldr r3, [pc, #816] ; (807ba3c ) 807b70a: 781b ldrb r3, [r3, #0] 807b70c: b2db uxtb r3, r3 807b70e: 2b18 cmp r3, #24 807b710: f040 81a8 bne.w 807ba64 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b714: 49ca ldr r1, [pc, #808] ; (807ba40 ) 807b716: f04f 30ff mov.w r0, #4294967295 807b71a: f7d8 ff79 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807b71e: 4bc9 ldr r3, [pc, #804] ; (807ba44 ) 807b720: 7b1b ldrb r3, [r3, #12] 807b722: b2db uxtb r3, r3 807b724: 461a mov r2, r3 807b726: 4bc8 ldr r3, [pc, #800] ; (807ba48 ) 807b728: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807b72c: 461a mov r2, r3 807b72e: 2127 movs r1, #39 ; 0x27 807b730: 200a movs r0, #10 807b732: f7d9 fd15 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807b736: 49c2 ldr r1, [pc, #776] ; (807ba40 ) 807b738: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807b73c: f7d8 ff68 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807b740: f507 73cc add.w r3, r7, #408 ; 0x198 807b744: 461a mov r2, r3 807b746: 214a movs r1, #74 ; 0x4a 807b748: f44f 7082 mov.w r0, #260 ; 0x104 807b74c: f7d9 fd20 bl 8055190 if(pardata.HP >= 2.0f) 807b750: 4bbc ldr r3, [pc, #752] ; (807ba44 ) 807b752: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807b756: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807b75a: eef4 7ac7 vcmpe.f32 s15, s14 807b75e: eef1 fa10 vmrs APSR_nzcv, fpscr 807b762: db53 blt.n 807b80c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b764: 49b6 ldr r1, [pc, #728] ; (807ba40 ) 807b766: f04f 30ff mov.w r0, #4294967295 807b76a: f7d8 ff51 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b76e: 4bb5 ldr r3, [pc, #724] ; (807ba44 ) 807b770: 7b1b ldrb r3, [r3, #12] 807b772: b2db uxtb r3, r3 807b774: 4619 mov r1, r3 807b776: 4ab5 ldr r2, [pc, #724] ; (807ba4c ) 807b778: 232c movs r3, #44 ; 0x2c 807b77a: fb03 f301 mul.w r3, r3, r1 807b77e: 4413 add r3, r2 807b780: 330c adds r3, #12 807b782: 681b ldr r3, [r3, #0] 807b784: 461a mov r2, r3 807b786: 216a movs r1, #106 ; 0x6a 807b788: 200a movs r0, #10 807b78a: f7d9 fce9 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b78e: 4bad ldr r3, [pc, #692] ; (807ba44 ) 807b790: 7b1b ldrb r3, [r3, #12] 807b792: b2db uxtb r3, r3 807b794: 4619 mov r1, r3 807b796: 4aad ldr r2, [pc, #692] ; (807ba4c ) 807b798: 232c movs r3, #44 ; 0x2c 807b79a: fb03 f301 mul.w r3, r3, r1 807b79e: 4413 add r3, r2 807b7a0: 3310 adds r3, #16 807b7a2: 681b ldr r3, [r3, #0] 807b7a4: 461a mov r2, r3 807b7a6: 217a movs r1, #122 ; 0x7a 807b7a8: 200a movs r0, #10 807b7aa: f7d9 fcd9 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b7ae: 49a4 ldr r1, [pc, #656] ; (807ba40 ) 807b7b0: 48a7 ldr r0, [pc, #668] ; (807ba50 ) 807b7b2: f7d8 ff2d bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b7b6: 4ba3 ldr r3, [pc, #652] ; (807ba44 ) 807b7b8: 7b1b ldrb r3, [r3, #12] 807b7ba: b2db uxtb r3, r3 807b7bc: 4619 mov r1, r3 807b7be: 4ba1 ldr r3, [pc, #644] ; (807ba44 ) 807b7c0: 78db ldrb r3, [r3, #3] 807b7c2: b2db uxtb r3, r3 807b7c4: 4618 mov r0, r3 807b7c6: 4aa3 ldr r2, [pc, #652] ; (807ba54 ) 807b7c8: 460b mov r3, r1 807b7ca: 009b lsls r3, r3, #2 807b7cc: 440b add r3, r1 807b7ce: 4403 add r3, r0 807b7d0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b7d4: 461a mov r2, r3 807b7d6: 216a movs r1, #106 ; 0x6a 807b7d8: f44f 7082 mov.w r0, #260 ; 0x104 807b7dc: f7d9 fcd8 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b7e0: 4b98 ldr r3, [pc, #608] ; (807ba44 ) 807b7e2: 7b1b ldrb r3, [r3, #12] 807b7e4: b2db uxtb r3, r3 807b7e6: 4619 mov r1, r3 807b7e8: 4b96 ldr r3, [pc, #600] ; (807ba44 ) 807b7ea: 791b ldrb r3, [r3, #4] 807b7ec: b2db uxtb r3, r3 807b7ee: 4618 mov r0, r3 807b7f0: 4a98 ldr r2, [pc, #608] ; (807ba54 ) 807b7f2: 460b mov r3, r1 807b7f4: 009b lsls r3, r3, #2 807b7f6: 440b add r3, r1 807b7f8: 4403 add r3, r0 807b7fa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b7fe: 461a mov r2, r3 807b800: 217a movs r1, #122 ; 0x7a 807b802: f44f 7082 mov.w r0, #260 ; 0x104 807b806: f7d9 fcc3 bl 8055190 807b80a: e04d b.n 807b8a8 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b80c: 498c ldr r1, [pc, #560] ; (807ba40 ) 807b80e: 4892 ldr r0, [pc, #584] ; (807ba58 ) 807b810: f7d8 fefe bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b814: 4b8b ldr r3, [pc, #556] ; (807ba44 ) 807b816: 7b1b ldrb r3, [r3, #12] 807b818: b2db uxtb r3, r3 807b81a: 4619 mov r1, r3 807b81c: 4a8b ldr r2, [pc, #556] ; (807ba4c ) 807b81e: 232c movs r3, #44 ; 0x2c 807b820: fb03 f301 mul.w r3, r3, r1 807b824: 4413 add r3, r2 807b826: 330c adds r3, #12 807b828: 681b ldr r3, [r3, #0] 807b82a: 461a mov r2, r3 807b82c: 216a movs r1, #106 ; 0x6a 807b82e: 200a movs r0, #10 807b830: f7d9 fc96 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b834: 4b83 ldr r3, [pc, #524] ; (807ba44 ) 807b836: 7b1b ldrb r3, [r3, #12] 807b838: b2db uxtb r3, r3 807b83a: 4619 mov r1, r3 807b83c: 4a83 ldr r2, [pc, #524] ; (807ba4c ) 807b83e: 232c movs r3, #44 ; 0x2c 807b840: fb03 f301 mul.w r3, r3, r1 807b844: 4413 add r3, r2 807b846: 3310 adds r3, #16 807b848: 681b ldr r3, [r3, #0] 807b84a: 461a mov r2, r3 807b84c: 217a movs r1, #122 ; 0x7a 807b84e: 200a movs r0, #10 807b850: f7d9 fc86 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b854: 4b7b ldr r3, [pc, #492] ; (807ba44 ) 807b856: 7b1b ldrb r3, [r3, #12] 807b858: b2db uxtb r3, r3 807b85a: 4619 mov r1, r3 807b85c: 4b79 ldr r3, [pc, #484] ; (807ba44 ) 807b85e: 78db ldrb r3, [r3, #3] 807b860: b2db uxtb r3, r3 807b862: 4618 mov r0, r3 807b864: 4a7b ldr r2, [pc, #492] ; (807ba54 ) 807b866: 460b mov r3, r1 807b868: 009b lsls r3, r3, #2 807b86a: 440b add r3, r1 807b86c: 4403 add r3, r0 807b86e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b872: 461a mov r2, r3 807b874: 216a movs r1, #106 ; 0x6a 807b876: f44f 7082 mov.w r0, #260 ; 0x104 807b87a: f7d9 fc89 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b87e: 4b71 ldr r3, [pc, #452] ; (807ba44 ) 807b880: 7b1b ldrb r3, [r3, #12] 807b882: b2db uxtb r3, r3 807b884: 4619 mov r1, r3 807b886: 4b6f ldr r3, [pc, #444] ; (807ba44 ) 807b888: 791b ldrb r3, [r3, #4] 807b88a: b2db uxtb r3, r3 807b88c: 4618 mov r0, r3 807b88e: 4a71 ldr r2, [pc, #452] ; (807ba54 ) 807b890: 460b mov r3, r1 807b892: 009b lsls r3, r3, #2 807b894: 440b add r3, r1 807b896: 4403 add r3, r0 807b898: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b89c: 461a mov r2, r3 807b89e: 217a movs r1, #122 ; 0x7a 807b8a0: f44f 7082 mov.w r0, #260 ; 0x104 807b8a4: f7d9 fc74 bl 8055190 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b8a8: 4965 ldr r1, [pc, #404] ; (807ba40 ) 807b8aa: 4869 ldr r0, [pc, #420] ; (807ba50 ) 807b8ac: f7d8 feb0 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807b8b0: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807b8b4: 461a mov r2, r3 807b8b6: 213a movs r1, #58 ; 0x3a 807b8b8: f44f 7082 mov.w r0, #260 ; 0x104 807b8bc: f7d9 fc68 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807b8c0: 4b60 ldr r3, [pc, #384] ; (807ba44 ) 807b8c2: 7b1b ldrb r3, [r3, #12] 807b8c4: b2db uxtb r3, r3 807b8c6: 4619 mov r1, r3 807b8c8: 4b5e ldr r3, [pc, #376] ; (807ba44 ) 807b8ca: 789b ldrb r3, [r3, #2] 807b8cc: b2db uxtb r3, r3 807b8ce: 4618 mov r0, r3 807b8d0: 4a60 ldr r2, [pc, #384] ; (807ba54 ) 807b8d2: 460b mov r3, r1 807b8d4: 009b lsls r3, r3, #2 807b8d6: 440b add r3, r1 807b8d8: 4403 add r3, r0 807b8da: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b8de: 461a mov r2, r3 807b8e0: 215a movs r1, #90 ; 0x5a 807b8e2: f44f 7082 mov.w r0, #260 ; 0x104 807b8e6: f7d9 fc53 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807b8ea: 4b56 ldr r3, [pc, #344] ; (807ba44 ) 807b8ec: 7b1b ldrb r3, [r3, #12] 807b8ee: b2db uxtb r3, r3 807b8f0: 4619 mov r1, r3 807b8f2: 4b54 ldr r3, [pc, #336] ; (807ba44 ) 807b8f4: 7b5b ldrb r3, [r3, #13] 807b8f6: b2db uxtb r3, r3 807b8f8: 4618 mov r0, r3 807b8fa: 4a58 ldr r2, [pc, #352] ; (807ba5c ) 807b8fc: 460b mov r3, r1 807b8fe: 009b lsls r3, r3, #2 807b900: 440b add r3, r1 807b902: 005b lsls r3, r3, #1 807b904: 4403 add r3, r0 807b906: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b90a: 461a mov r2, r3 807b90c: 218a movs r1, #138 ; 0x8a 807b90e: f44f 7082 mov.w r0, #260 ; 0x104 807b912: f7d9 fc3d bl 8055190 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807b916: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807b91a: 461a mov r2, r3 807b91c: 21da movs r1, #218 ; 0xda 807b91e: f44f 7082 mov.w r0, #260 ; 0x104 807b922: f7d9 fc35 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b926: 4946 ldr r1, [pc, #280] ; (807ba40 ) 807b928: f04f 30ff mov.w r0, #4294967295 807b92c: f7d8 fe70 bl 8054610 BSP_LCD_FillRect(255, 157, 10, 10); 807b930: 230a movs r3, #10 807b932: 220a movs r2, #10 807b934: 219d movs r1, #157 ; 0x9d 807b936: 20ff movs r0, #255 ; 0xff 807b938: f7d9 faf8 bl 8054f2c BSP_LCD_FillRect(255, 173, 10, 10); 807b93c: 230a movs r3, #10 807b93e: 220a movs r2, #10 807b940: 21ad movs r1, #173 ; 0xad 807b942: 20ff movs r0, #255 ; 0xff 807b944: f7d9 faf2 bl 8054f2c BSP_LCD_FillRect(255, 189, 10, 10); 807b948: 230a movs r3, #10 807b94a: 220a movs r2, #10 807b94c: 21bd movs r1, #189 ; 0xbd 807b94e: 20ff movs r0, #255 ; 0xff 807b950: f7d9 faec bl 8054f2c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807b954: 4b3b ldr r3, [pc, #236] ; (807ba44 ) 807b956: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807b95a: f003 0304 and.w r3, r3, #4 807b95e: 2b00 cmp r3, #0 807b960: d033 beq.n 807b9ca { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b962: 4937 ldr r1, [pc, #220] ; (807ba40 ) 807b964: 483c ldr r0, [pc, #240] ; (807ba58 ) 807b966: f7d8 fe53 bl 8054610 if(pardata.IIN != VOLTS) 807b96a: 4b36 ldr r3, [pc, #216] ; (807ba44 ) 807b96c: 799b ldrb r3, [r3, #6] 807b96e: b2db uxtb r3, r3 807b970: 2b02 cmp r3, #2 807b972: d010 beq.n 807b996 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b974: 4b33 ldr r3, [pc, #204] ; (807ba44 ) 807b976: 7b1b ldrb r3, [r3, #12] 807b978: b2db uxtb r3, r3 807b97a: 4619 mov r1, r3 807b97c: 4a33 ldr r2, [pc, #204] ; (807ba4c ) 807b97e: 232c movs r3, #44 ; 0x2c 807b980: fb03 f301 mul.w r3, r3, r1 807b984: 4413 add r3, r2 807b986: 3324 adds r3, #36 ; 0x24 807b988: 681b ldr r3, [r3, #0] 807b98a: 461a mov r2, r3 807b98c: 21ca movs r1, #202 ; 0xca 807b98e: 200a movs r0, #10 807b990: f7d9 fbe6 bl 8055160 807b994: e00f b.n 807b9b6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b996: 4b2b ldr r3, [pc, #172] ; (807ba44 ) 807b998: 7b1b ldrb r3, [r3, #12] 807b99a: b2db uxtb r3, r3 807b99c: 4619 mov r1, r3 807b99e: 4a30 ldr r2, [pc, #192] ; (807ba60 ) 807b9a0: 232c movs r3, #44 ; 0x2c 807b9a2: fb03 f301 mul.w r3, r3, r1 807b9a6: 4413 add r3, r2 807b9a8: 3324 adds r3, #36 ; 0x24 807b9aa: 681b ldr r3, [r3, #0] 807b9ac: 461a mov r2, r3 807b9ae: 21ca movs r1, #202 ; 0xca 807b9b0: 200a movs r0, #10 807b9b2: f7d9 fbd5 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807b9b6: f507 733b add.w r3, r7, #748 ; 0x2ec 807b9ba: 461a mov r2, r3 807b9bc: 21ca movs r1, #202 ; 0xca 807b9be: f44f 7082 mov.w r0, #260 ; 0x104 807b9c2: f7d9 fbe5 bl 8055190 807b9c6: f003 b951 b.w 807ec6c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b9ca: 491d ldr r1, [pc, #116] ; (807ba40 ) 807b9cc: f04f 30ff mov.w r0, #4294967295 807b9d0: f7d8 fe1e bl 8054610 if(pardata.IIN != VOLTS) 807b9d4: 4b1b ldr r3, [pc, #108] ; (807ba44 ) 807b9d6: 799b ldrb r3, [r3, #6] 807b9d8: b2db uxtb r3, r3 807b9da: 2b02 cmp r3, #2 807b9dc: d010 beq.n 807ba00 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b9de: 4b19 ldr r3, [pc, #100] ; (807ba44 ) 807b9e0: 7b1b ldrb r3, [r3, #12] 807b9e2: b2db uxtb r3, r3 807b9e4: 4619 mov r1, r3 807b9e6: 4a19 ldr r2, [pc, #100] ; (807ba4c ) 807b9e8: 232c movs r3, #44 ; 0x2c 807b9ea: fb03 f301 mul.w r3, r3, r1 807b9ee: 4413 add r3, r2 807b9f0: 3324 adds r3, #36 ; 0x24 807b9f2: 681b ldr r3, [r3, #0] 807b9f4: 461a mov r2, r3 807b9f6: 21ca movs r1, #202 ; 0xca 807b9f8: 200a movs r0, #10 807b9fa: f7d9 fbb1 bl 8055160 807b9fe: e00f b.n 807ba20 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ba00: 4b10 ldr r3, [pc, #64] ; (807ba44 ) 807ba02: 7b1b ldrb r3, [r3, #12] 807ba04: b2db uxtb r3, r3 807ba06: 4619 mov r1, r3 807ba08: 4a15 ldr r2, [pc, #84] ; (807ba60 ) 807ba0a: 232c movs r3, #44 ; 0x2c 807ba0c: fb03 f301 mul.w r3, r3, r1 807ba10: 4413 add r3, r2 807ba12: 3324 adds r3, #36 ; 0x24 807ba14: 681b ldr r3, [r3, #0] 807ba16: 461a mov r2, r3 807ba18: 21ca movs r1, #202 ; 0xca 807ba1a: 200a movs r0, #10 807ba1c: f7d9 fba0 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ba20: 4907 ldr r1, [pc, #28] ; (807ba40 ) 807ba22: 480b ldr r0, [pc, #44] ; (807ba50 ) 807ba24: f7d8 fdf4 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807ba28: f507 733b add.w r3, r7, #748 ; 0x2ec 807ba2c: 461a mov r2, r3 807ba2e: 21ca movs r1, #202 ; 0xca 807ba30: f44f 7082 mov.w r0, #260 ; 0x104 807ba34: f7d9 fbac bl 8055190 807ba38: f003 b918 b.w 807ec6c 807ba3c: 20020070 .word 0x20020070 807ba40: ff0a0f1f .word 0xff0a0f1f 807ba44: 20023ea8 .word 0x20023ea8 807ba48: 200205cc .word 0x200205cc 807ba4c: 200206bc .word 0x200206bc 807ba50: ffd8aa57 .word 0xffd8aa57 807ba54: 200202c4 .word 0x200202c4 807ba58: ff808080 .word 0xff808080 807ba5c: 20020254 .word 0x20020254 807ba60: 20020714 .word 0x20020714 } } else if(menupos == ValueA) 807ba64: 4bbf ldr r3, [pc, #764] ; (807bd64 ) 807ba66: 781b ldrb r3, [r3, #0] 807ba68: b2db uxtb r3, r3 807ba6a: 2b02 cmp r3, #2 807ba6c: f040 81cb bne.w 807be06 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ba70: 49bd ldr r1, [pc, #756] ; (807bd68 ) 807ba72: f04f 30ff mov.w r0, #4294967295 807ba76: f7d8 fdcb bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807ba7a: 4bbc ldr r3, [pc, #752] ; (807bd6c ) 807ba7c: 7b1b ldrb r3, [r3, #12] 807ba7e: b2db uxtb r3, r3 807ba80: 461a mov r2, r3 807ba82: 4bbb ldr r3, [pc, #748] ; (807bd70 ) 807ba84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ba88: 461a mov r2, r3 807ba8a: 2127 movs r1, #39 ; 0x27 807ba8c: 200a movs r0, #10 807ba8e: f7d9 fb67 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ba92: 49b5 ldr r1, [pc, #724] ; (807bd68 ) 807ba94: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ba98: f7d8 fdba bl 8054610 if(focused) 807ba9c: 4bb5 ldr r3, [pc, #724] ; (807bd74 ) 807ba9e: 781b ldrb r3, [r3, #0] 807baa0: b2db uxtb r3, r3 807baa2: 2b00 cmp r3, #0 807baa4: d019 beq.n 807bada { if(blk) 807baa6: 4bb4 ldr r3, [pc, #720] ; (807bd78 ) 807baa8: 681b ldr r3, [r3, #0] 807baaa: 2b00 cmp r3, #0 807baac: d02a beq.n 807bb04 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807baae: 4baf ldr r3, [pc, #700] ; (807bd6c ) 807bab0: 7b1b ldrb r3, [r3, #12] 807bab2: b2db uxtb r3, r3 807bab4: 4619 mov r1, r3 807bab6: 4bad ldr r3, [pc, #692] ; (807bd6c ) 807bab8: 789b ldrb r3, [r3, #2] 807baba: b2db uxtb r3, r3 807babc: 4618 mov r0, r3 807babe: 4aaf ldr r2, [pc, #700] ; (807bd7c ) 807bac0: 460b mov r3, r1 807bac2: 009b lsls r3, r3, #2 807bac4: 440b add r3, r1 807bac6: 4403 add r3, r0 807bac8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bacc: 461a mov r2, r3 807bace: 215a movs r1, #90 ; 0x5a 807bad0: f44f 7082 mov.w r0, #260 ; 0x104 807bad4: f7d9 fb5c bl 8055190 807bad8: e014 b.n 807bb04 } else LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807bada: 4ba4 ldr r3, [pc, #656] ; (807bd6c ) 807badc: 7b1b ldrb r3, [r3, #12] 807bade: b2db uxtb r3, r3 807bae0: 4619 mov r1, r3 807bae2: 4ba2 ldr r3, [pc, #648] ; (807bd6c ) 807bae4: 789b ldrb r3, [r3, #2] 807bae6: b2db uxtb r3, r3 807bae8: 4618 mov r0, r3 807baea: 4aa4 ldr r2, [pc, #656] ; (807bd7c ) 807baec: 460b mov r3, r1 807baee: 009b lsls r3, r3, #2 807baf0: 440b add r3, r1 807baf2: 4403 add r3, r0 807baf4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807baf8: 461a mov r2, r3 807bafa: 215a movs r1, #90 ; 0x5a 807bafc: f44f 7082 mov.w r0, #260 ; 0x104 807bb00: f7d9 fb46 bl 8055190 if(pardata.HP >= 2.0f) 807bb04: 4b99 ldr r3, [pc, #612] ; (807bd6c ) 807bb06: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807bb0a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807bb0e: eef4 7ac7 vcmpe.f32 s15, s14 807bb12: eef1 fa10 vmrs APSR_nzcv, fpscr 807bb16: db53 blt.n 807bbc0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bb18: 4993 ldr r1, [pc, #588] ; (807bd68 ) 807bb1a: f04f 30ff mov.w r0, #4294967295 807bb1e: f7d8 fd77 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807bb22: 4b92 ldr r3, [pc, #584] ; (807bd6c ) 807bb24: 7b1b ldrb r3, [r3, #12] 807bb26: b2db uxtb r3, r3 807bb28: 4619 mov r1, r3 807bb2a: 4a95 ldr r2, [pc, #596] ; (807bd80 ) 807bb2c: 232c movs r3, #44 ; 0x2c 807bb2e: fb03 f301 mul.w r3, r3, r1 807bb32: 4413 add r3, r2 807bb34: 330c adds r3, #12 807bb36: 681b ldr r3, [r3, #0] 807bb38: 461a mov r2, r3 807bb3a: 216a movs r1, #106 ; 0x6a 807bb3c: 200a movs r0, #10 807bb3e: f7d9 fb0f bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807bb42: 4b8a ldr r3, [pc, #552] ; (807bd6c ) 807bb44: 7b1b ldrb r3, [r3, #12] 807bb46: b2db uxtb r3, r3 807bb48: 4619 mov r1, r3 807bb4a: 4a8d ldr r2, [pc, #564] ; (807bd80 ) 807bb4c: 232c movs r3, #44 ; 0x2c 807bb4e: fb03 f301 mul.w r3, r3, r1 807bb52: 4413 add r3, r2 807bb54: 3310 adds r3, #16 807bb56: 681b ldr r3, [r3, #0] 807bb58: 461a mov r2, r3 807bb5a: 217a movs r1, #122 ; 0x7a 807bb5c: 200a movs r0, #10 807bb5e: f7d9 faff bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bb62: 4981 ldr r1, [pc, #516] ; (807bd68 ) 807bb64: 4887 ldr r0, [pc, #540] ; (807bd84 ) 807bb66: f7d8 fd53 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807bb6a: 4b80 ldr r3, [pc, #512] ; (807bd6c ) 807bb6c: 7b1b ldrb r3, [r3, #12] 807bb6e: b2db uxtb r3, r3 807bb70: 4619 mov r1, r3 807bb72: 4b7e ldr r3, [pc, #504] ; (807bd6c ) 807bb74: 78db ldrb r3, [r3, #3] 807bb76: b2db uxtb r3, r3 807bb78: 4618 mov r0, r3 807bb7a: 4a80 ldr r2, [pc, #512] ; (807bd7c ) 807bb7c: 460b mov r3, r1 807bb7e: 009b lsls r3, r3, #2 807bb80: 440b add r3, r1 807bb82: 4403 add r3, r0 807bb84: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bb88: 461a mov r2, r3 807bb8a: 216a movs r1, #106 ; 0x6a 807bb8c: f44f 7082 mov.w r0, #260 ; 0x104 807bb90: f7d9 fafe bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807bb94: 4b75 ldr r3, [pc, #468] ; (807bd6c ) 807bb96: 7b1b ldrb r3, [r3, #12] 807bb98: b2db uxtb r3, r3 807bb9a: 4619 mov r1, r3 807bb9c: 4b73 ldr r3, [pc, #460] ; (807bd6c ) 807bb9e: 791b ldrb r3, [r3, #4] 807bba0: b2db uxtb r3, r3 807bba2: 4618 mov r0, r3 807bba4: 4a75 ldr r2, [pc, #468] ; (807bd7c ) 807bba6: 460b mov r3, r1 807bba8: 009b lsls r3, r3, #2 807bbaa: 440b add r3, r1 807bbac: 4403 add r3, r0 807bbae: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bbb2: 461a mov r2, r3 807bbb4: 217a movs r1, #122 ; 0x7a 807bbb6: f44f 7082 mov.w r0, #260 ; 0x104 807bbba: f7d9 fae9 bl 8055190 807bbbe: e04d b.n 807bc5c } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807bbc0: 4969 ldr r1, [pc, #420] ; (807bd68 ) 807bbc2: 4871 ldr r0, [pc, #452] ; (807bd88 ) 807bbc4: f7d8 fd24 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807bbc8: 4b68 ldr r3, [pc, #416] ; (807bd6c ) 807bbca: 7b1b ldrb r3, [r3, #12] 807bbcc: b2db uxtb r3, r3 807bbce: 4619 mov r1, r3 807bbd0: 4a6b ldr r2, [pc, #428] ; (807bd80 ) 807bbd2: 232c movs r3, #44 ; 0x2c 807bbd4: fb03 f301 mul.w r3, r3, r1 807bbd8: 4413 add r3, r2 807bbda: 330c adds r3, #12 807bbdc: 681b ldr r3, [r3, #0] 807bbde: 461a mov r2, r3 807bbe0: 216a movs r1, #106 ; 0x6a 807bbe2: 200a movs r0, #10 807bbe4: f7d9 fabc bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807bbe8: 4b60 ldr r3, [pc, #384] ; (807bd6c ) 807bbea: 7b1b ldrb r3, [r3, #12] 807bbec: b2db uxtb r3, r3 807bbee: 4619 mov r1, r3 807bbf0: 4a63 ldr r2, [pc, #396] ; (807bd80 ) 807bbf2: 232c movs r3, #44 ; 0x2c 807bbf4: fb03 f301 mul.w r3, r3, r1 807bbf8: 4413 add r3, r2 807bbfa: 3310 adds r3, #16 807bbfc: 681b ldr r3, [r3, #0] 807bbfe: 461a mov r2, r3 807bc00: 217a movs r1, #122 ; 0x7a 807bc02: 200a movs r0, #10 807bc04: f7d9 faac bl 8055160 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807bc08: 4b58 ldr r3, [pc, #352] ; (807bd6c ) 807bc0a: 7b1b ldrb r3, [r3, #12] 807bc0c: b2db uxtb r3, r3 807bc0e: 4619 mov r1, r3 807bc10: 4b56 ldr r3, [pc, #344] ; (807bd6c ) 807bc12: 78db ldrb r3, [r3, #3] 807bc14: b2db uxtb r3, r3 807bc16: 4618 mov r0, r3 807bc18: 4a58 ldr r2, [pc, #352] ; (807bd7c ) 807bc1a: 460b mov r3, r1 807bc1c: 009b lsls r3, r3, #2 807bc1e: 440b add r3, r1 807bc20: 4403 add r3, r0 807bc22: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bc26: 461a mov r2, r3 807bc28: 216a movs r1, #106 ; 0x6a 807bc2a: f44f 7082 mov.w r0, #260 ; 0x104 807bc2e: f7d9 faaf bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807bc32: 4b4e ldr r3, [pc, #312] ; (807bd6c ) 807bc34: 7b1b ldrb r3, [r3, #12] 807bc36: b2db uxtb r3, r3 807bc38: 4619 mov r1, r3 807bc3a: 4b4c ldr r3, [pc, #304] ; (807bd6c ) 807bc3c: 791b ldrb r3, [r3, #4] 807bc3e: b2db uxtb r3, r3 807bc40: 4618 mov r0, r3 807bc42: 4a4e ldr r2, [pc, #312] ; (807bd7c ) 807bc44: 460b mov r3, r1 807bc46: 009b lsls r3, r3, #2 807bc48: 440b add r3, r1 807bc4a: 4403 add r3, r0 807bc4c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bc50: 461a mov r2, r3 807bc52: 217a movs r1, #122 ; 0x7a 807bc54: f44f 7082 mov.w r0, #260 ; 0x104 807bc58: f7d9 fa9a bl 8055190 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bc5c: 4942 ldr r1, [pc, #264] ; (807bd68 ) 807bc5e: 4849 ldr r0, [pc, #292] ; (807bd84 ) 807bc60: f7d8 fcd6 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807bc64: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807bc68: 461a mov r2, r3 807bc6a: 213a movs r1, #58 ; 0x3a 807bc6c: f44f 7082 mov.w r0, #260 ; 0x104 807bc70: f7d9 fa8e bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807bc74: f507 73cc add.w r3, r7, #408 ; 0x198 807bc78: 461a mov r2, r3 807bc7a: 214a movs r1, #74 ; 0x4a 807bc7c: f44f 7082 mov.w r0, #260 ; 0x104 807bc80: f7d9 fa86 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807bc84: 4b39 ldr r3, [pc, #228] ; (807bd6c ) 807bc86: 7b1b ldrb r3, [r3, #12] 807bc88: b2db uxtb r3, r3 807bc8a: 4619 mov r1, r3 807bc8c: 4b37 ldr r3, [pc, #220] ; (807bd6c ) 807bc8e: 7b5b ldrb r3, [r3, #13] 807bc90: b2db uxtb r3, r3 807bc92: 4618 mov r0, r3 807bc94: 4a3d ldr r2, [pc, #244] ; (807bd8c ) 807bc96: 460b mov r3, r1 807bc98: 009b lsls r3, r3, #2 807bc9a: 440b add r3, r1 807bc9c: 005b lsls r3, r3, #1 807bc9e: 4403 add r3, r0 807bca0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bca4: 461a mov r2, r3 807bca6: 218a movs r1, #138 ; 0x8a 807bca8: f44f 7082 mov.w r0, #260 ; 0x104 807bcac: f7d9 fa70 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807bcb0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807bcb4: 461a mov r2, r3 807bcb6: 21da movs r1, #218 ; 0xda 807bcb8: f44f 7082 mov.w r0, #260 ; 0x104 807bcbc: f7d9 fa68 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bcc0: 4929 ldr r1, [pc, #164] ; (807bd68 ) 807bcc2: f04f 30ff mov.w r0, #4294967295 807bcc6: f7d8 fca3 bl 8054610 BSP_LCD_FillRect(255, 157, 10, 10); 807bcca: 230a movs r3, #10 807bccc: 220a movs r2, #10 807bcce: 219d movs r1, #157 ; 0x9d 807bcd0: 20ff movs r0, #255 ; 0xff 807bcd2: f7d9 f92b bl 8054f2c BSP_LCD_FillRect(255, 173, 10, 10); 807bcd6: 230a movs r3, #10 807bcd8: 220a movs r2, #10 807bcda: 21ad movs r1, #173 ; 0xad 807bcdc: 20ff movs r0, #255 ; 0xff 807bcde: f7d9 f925 bl 8054f2c BSP_LCD_FillRect(255, 189, 10, 10); 807bce2: 230a movs r3, #10 807bce4: 220a movs r2, #10 807bce6: 21bd movs r1, #189 ; 0xbd 807bce8: 20ff movs r0, #255 ; 0xff 807bcea: f7d9 f91f bl 8054f2c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807bcee: 4b1f ldr r3, [pc, #124] ; (807bd6c ) 807bcf0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807bcf4: f003 0304 and.w r3, r3, #4 807bcf8: 2b00 cmp r3, #0 807bcfa: d04b beq.n 807bd94 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807bcfc: 491a ldr r1, [pc, #104] ; (807bd68 ) 807bcfe: 4822 ldr r0, [pc, #136] ; (807bd88 ) 807bd00: f7d8 fc86 bl 8054610 if(pardata.IIN != VOLTS) 807bd04: 4b19 ldr r3, [pc, #100] ; (807bd6c ) 807bd06: 799b ldrb r3, [r3, #6] 807bd08: b2db uxtb r3, r3 807bd0a: 2b02 cmp r3, #2 807bd0c: d010 beq.n 807bd30 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bd0e: 4b17 ldr r3, [pc, #92] ; (807bd6c ) 807bd10: 7b1b ldrb r3, [r3, #12] 807bd12: b2db uxtb r3, r3 807bd14: 4619 mov r1, r3 807bd16: 4a1a ldr r2, [pc, #104] ; (807bd80 ) 807bd18: 232c movs r3, #44 ; 0x2c 807bd1a: fb03 f301 mul.w r3, r3, r1 807bd1e: 4413 add r3, r2 807bd20: 3324 adds r3, #36 ; 0x24 807bd22: 681b ldr r3, [r3, #0] 807bd24: 461a mov r2, r3 807bd26: 21ca movs r1, #202 ; 0xca 807bd28: 200a movs r0, #10 807bd2a: f7d9 fa19 bl 8055160 807bd2e: e00f b.n 807bd50 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bd30: 4b0e ldr r3, [pc, #56] ; (807bd6c ) 807bd32: 7b1b ldrb r3, [r3, #12] 807bd34: b2db uxtb r3, r3 807bd36: 4619 mov r1, r3 807bd38: 4a15 ldr r2, [pc, #84] ; (807bd90 ) 807bd3a: 232c movs r3, #44 ; 0x2c 807bd3c: fb03 f301 mul.w r3, r3, r1 807bd40: 4413 add r3, r2 807bd42: 3324 adds r3, #36 ; 0x24 807bd44: 681b ldr r3, [r3, #0] 807bd46: 461a mov r2, r3 807bd48: 21ca movs r1, #202 ; 0xca 807bd4a: 200a movs r0, #10 807bd4c: f7d9 fa08 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807bd50: f507 733b add.w r3, r7, #748 ; 0x2ec 807bd54: 461a mov r2, r3 807bd56: 21ca movs r1, #202 ; 0xca 807bd58: f44f 7082 mov.w r0, #260 ; 0x104 807bd5c: f7d9 fa18 bl 8055190 807bd60: f002 bf84 b.w 807ec6c 807bd64: 20020070 .word 0x20020070 807bd68: ff0a0f1f .word 0xff0a0f1f 807bd6c: 20023ea8 .word 0x20023ea8 807bd70: 200205cc .word 0x200205cc 807bd74: 20020fc8 .word 0x20020fc8 807bd78: 200216a4 .word 0x200216a4 807bd7c: 200202c4 .word 0x200202c4 807bd80: 200206bc .word 0x200206bc 807bd84: ffd8aa57 .word 0xffd8aa57 807bd88: ff808080 .word 0xff808080 807bd8c: 20020254 .word 0x20020254 807bd90: 20020714 .word 0x20020714 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bd94: 49c7 ldr r1, [pc, #796] ; (807c0b4 ) 807bd96: f04f 30ff mov.w r0, #4294967295 807bd9a: f7d8 fc39 bl 8054610 if(pardata.IIN != VOLTS) 807bd9e: 4bc6 ldr r3, [pc, #792] ; (807c0b8 ) 807bda0: 799b ldrb r3, [r3, #6] 807bda2: b2db uxtb r3, r3 807bda4: 2b02 cmp r3, #2 807bda6: d010 beq.n 807bdca LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bda8: 4bc3 ldr r3, [pc, #780] ; (807c0b8 ) 807bdaa: 7b1b ldrb r3, [r3, #12] 807bdac: b2db uxtb r3, r3 807bdae: 4619 mov r1, r3 807bdb0: 4ac2 ldr r2, [pc, #776] ; (807c0bc ) 807bdb2: 232c movs r3, #44 ; 0x2c 807bdb4: fb03 f301 mul.w r3, r3, r1 807bdb8: 4413 add r3, r2 807bdba: 3324 adds r3, #36 ; 0x24 807bdbc: 681b ldr r3, [r3, #0] 807bdbe: 461a mov r2, r3 807bdc0: 21ca movs r1, #202 ; 0xca 807bdc2: 200a movs r0, #10 807bdc4: f7d9 f9cc bl 8055160 807bdc8: e00f b.n 807bdea else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bdca: 4bbb ldr r3, [pc, #748] ; (807c0b8 ) 807bdcc: 7b1b ldrb r3, [r3, #12] 807bdce: b2db uxtb r3, r3 807bdd0: 4619 mov r1, r3 807bdd2: 4abb ldr r2, [pc, #748] ; (807c0c0 ) 807bdd4: 232c movs r3, #44 ; 0x2c 807bdd6: fb03 f301 mul.w r3, r3, r1 807bdda: 4413 add r3, r2 807bddc: 3324 adds r3, #36 ; 0x24 807bdde: 681b ldr r3, [r3, #0] 807bde0: 461a mov r2, r3 807bde2: 21ca movs r1, #202 ; 0xca 807bde4: 200a movs r0, #10 807bde6: f7d9 f9bb bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bdea: 49b2 ldr r1, [pc, #712] ; (807c0b4 ) 807bdec: 48b5 ldr r0, [pc, #724] ; (807c0c4 ) 807bdee: f7d8 fc0f bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807bdf2: f507 733b add.w r3, r7, #748 ; 0x2ec 807bdf6: 461a mov r2, r3 807bdf8: 21ca movs r1, #202 ; 0xca 807bdfa: f44f 7082 mov.w r0, #260 ; 0x104 807bdfe: f7d9 f9c7 bl 8055190 807be02: f002 bf33 b.w 807ec6c } } else if(menupos == ValueV) 807be06: 4bb0 ldr r3, [pc, #704] ; (807c0c8 ) 807be08: 781b ldrb r3, [r3, #0] 807be0a: b2db uxtb r3, r3 807be0c: 2b03 cmp r3, #3 807be0e: f040 8169 bne.w 807c0e4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807be12: 49a8 ldr r1, [pc, #672] ; (807c0b4 ) 807be14: f04f 30ff mov.w r0, #4294967295 807be18: f7d8 fbfa bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807be1c: 4ba6 ldr r3, [pc, #664] ; (807c0b8 ) 807be1e: 7b1b ldrb r3, [r3, #12] 807be20: b2db uxtb r3, r3 807be22: 461a mov r2, r3 807be24: 4ba9 ldr r3, [pc, #676] ; (807c0cc ) 807be26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807be2a: 461a mov r2, r3 807be2c: 2127 movs r1, #39 ; 0x27 807be2e: 200a movs r0, #10 807be30: f7d9 f996 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807be34: 4ba0 ldr r3, [pc, #640] ; (807c0b8 ) 807be36: 7b1b ldrb r3, [r3, #12] 807be38: b2db uxtb r3, r3 807be3a: 4619 mov r1, r3 807be3c: 4a9f ldr r2, [pc, #636] ; (807c0bc ) 807be3e: 232c movs r3, #44 ; 0x2c 807be40: fb03 f301 mul.w r3, r3, r1 807be44: 4413 add r3, r2 807be46: 330c adds r3, #12 807be48: 681b ldr r3, [r3, #0] 807be4a: 461a mov r2, r3 807be4c: 216a movs r1, #106 ; 0x6a 807be4e: 200a movs r0, #10 807be50: f7d9 f986 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807be54: 4b98 ldr r3, [pc, #608] ; (807c0b8 ) 807be56: 7b1b ldrb r3, [r3, #12] 807be58: b2db uxtb r3, r3 807be5a: 4619 mov r1, r3 807be5c: 4a97 ldr r2, [pc, #604] ; (807c0bc ) 807be5e: 232c movs r3, #44 ; 0x2c 807be60: fb03 f301 mul.w r3, r3, r1 807be64: 4413 add r3, r2 807be66: 3310 adds r3, #16 807be68: 681b ldr r3, [r3, #0] 807be6a: 461a mov r2, r3 807be6c: 217a movs r1, #122 ; 0x7a 807be6e: 200a movs r0, #10 807be70: f7d9 f976 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807be74: 498f ldr r1, [pc, #572] ; (807c0b4 ) 807be76: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807be7a: f7d8 fbc9 bl 8054610 if(focused) 807be7e: 4b94 ldr r3, [pc, #592] ; (807c0d0 ) 807be80: 781b ldrb r3, [r3, #0] 807be82: b2db uxtb r3, r3 807be84: 2b00 cmp r3, #0 807be86: d019 beq.n 807bebc { if(blk) 807be88: 4b92 ldr r3, [pc, #584] ; (807c0d4 ) 807be8a: 681b ldr r3, [r3, #0] 807be8c: 2b00 cmp r3, #0 807be8e: d02a beq.n 807bee6 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807be90: 4b89 ldr r3, [pc, #548] ; (807c0b8 ) 807be92: 7b1b ldrb r3, [r3, #12] 807be94: b2db uxtb r3, r3 807be96: 4619 mov r1, r3 807be98: 4b87 ldr r3, [pc, #540] ; (807c0b8 ) 807be9a: 78db ldrb r3, [r3, #3] 807be9c: b2db uxtb r3, r3 807be9e: 4618 mov r0, r3 807bea0: 4a8d ldr r2, [pc, #564] ; (807c0d8 ) 807bea2: 460b mov r3, r1 807bea4: 009b lsls r3, r3, #2 807bea6: 440b add r3, r1 807bea8: 4403 add r3, r0 807beaa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807beae: 461a mov r2, r3 807beb0: 216a movs r1, #106 ; 0x6a 807beb2: f44f 7082 mov.w r0, #260 ; 0x104 807beb6: f7d9 f96b bl 8055190 807beba: e014 b.n 807bee6 } else LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807bebc: 4b7e ldr r3, [pc, #504] ; (807c0b8 ) 807bebe: 7b1b ldrb r3, [r3, #12] 807bec0: b2db uxtb r3, r3 807bec2: 4619 mov r1, r3 807bec4: 4b7c ldr r3, [pc, #496] ; (807c0b8 ) 807bec6: 78db ldrb r3, [r3, #3] 807bec8: b2db uxtb r3, r3 807beca: 4618 mov r0, r3 807becc: 4a82 ldr r2, [pc, #520] ; (807c0d8 ) 807bece: 460b mov r3, r1 807bed0: 009b lsls r3, r3, #2 807bed2: 440b add r3, r1 807bed4: 4403 add r3, r0 807bed6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807beda: 461a mov r2, r3 807bedc: 216a movs r1, #106 ; 0x6a 807bede: f44f 7082 mov.w r0, #260 ; 0x104 807bee2: f7d9 f955 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bee6: 4973 ldr r1, [pc, #460] ; (807c0b4 ) 807bee8: 4876 ldr r0, [pc, #472] ; (807c0c4 ) 807beea: f7d8 fb91 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807beee: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807bef2: 461a mov r2, r3 807bef4: 213a movs r1, #58 ; 0x3a 807bef6: f44f 7082 mov.w r0, #260 ; 0x104 807befa: f7d9 f949 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807befe: f507 73cc add.w r3, r7, #408 ; 0x198 807bf02: 461a mov r2, r3 807bf04: 214a movs r1, #74 ; 0x4a 807bf06: f44f 7082 mov.w r0, #260 ; 0x104 807bf0a: f7d9 f941 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807bf0e: 4b6a ldr r3, [pc, #424] ; (807c0b8 ) 807bf10: 7b1b ldrb r3, [r3, #12] 807bf12: b2db uxtb r3, r3 807bf14: 4619 mov r1, r3 807bf16: 4b68 ldr r3, [pc, #416] ; (807c0b8 ) 807bf18: 789b ldrb r3, [r3, #2] 807bf1a: b2db uxtb r3, r3 807bf1c: 4618 mov r0, r3 807bf1e: 4a6e ldr r2, [pc, #440] ; (807c0d8 ) 807bf20: 460b mov r3, r1 807bf22: 009b lsls r3, r3, #2 807bf24: 440b add r3, r1 807bf26: 4403 add r3, r0 807bf28: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bf2c: 461a mov r2, r3 807bf2e: 215a movs r1, #90 ; 0x5a 807bf30: f44f 7082 mov.w r0, #260 ; 0x104 807bf34: f7d9 f92c bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807bf38: 4b5f ldr r3, [pc, #380] ; (807c0b8 ) 807bf3a: 7b1b ldrb r3, [r3, #12] 807bf3c: b2db uxtb r3, r3 807bf3e: 4619 mov r1, r3 807bf40: 4b5d ldr r3, [pc, #372] ; (807c0b8 ) 807bf42: 791b ldrb r3, [r3, #4] 807bf44: b2db uxtb r3, r3 807bf46: 4618 mov r0, r3 807bf48: 4a63 ldr r2, [pc, #396] ; (807c0d8 ) 807bf4a: 460b mov r3, r1 807bf4c: 009b lsls r3, r3, #2 807bf4e: 440b add r3, r1 807bf50: 4403 add r3, r0 807bf52: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bf56: 461a mov r2, r3 807bf58: 217a movs r1, #122 ; 0x7a 807bf5a: f44f 7082 mov.w r0, #260 ; 0x104 807bf5e: f7d9 f917 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807bf62: 4b55 ldr r3, [pc, #340] ; (807c0b8 ) 807bf64: 7b1b ldrb r3, [r3, #12] 807bf66: b2db uxtb r3, r3 807bf68: 4619 mov r1, r3 807bf6a: 4b53 ldr r3, [pc, #332] ; (807c0b8 ) 807bf6c: 7b5b ldrb r3, [r3, #13] 807bf6e: b2db uxtb r3, r3 807bf70: 4618 mov r0, r3 807bf72: 4a5a ldr r2, [pc, #360] ; (807c0dc ) 807bf74: 460b mov r3, r1 807bf76: 009b lsls r3, r3, #2 807bf78: 440b add r3, r1 807bf7a: 005b lsls r3, r3, #1 807bf7c: 4403 add r3, r0 807bf7e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bf82: 461a mov r2, r3 807bf84: 218a movs r1, #138 ; 0x8a 807bf86: f44f 7082 mov.w r0, #260 ; 0x104 807bf8a: f7d9 f901 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807bf8e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807bf92: 461a mov r2, r3 807bf94: 21da movs r1, #218 ; 0xda 807bf96: f44f 7082 mov.w r0, #260 ; 0x104 807bf9a: f7d9 f8f9 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bf9e: 4945 ldr r1, [pc, #276] ; (807c0b4 ) 807bfa0: f04f 30ff mov.w r0, #4294967295 807bfa4: f7d8 fb34 bl 8054610 BSP_LCD_FillRect(255, 157, 10, 10); 807bfa8: 230a movs r3, #10 807bfaa: 220a movs r2, #10 807bfac: 219d movs r1, #157 ; 0x9d 807bfae: 20ff movs r0, #255 ; 0xff 807bfb0: f7d8 ffbc bl 8054f2c BSP_LCD_FillRect(255, 173, 10, 10); 807bfb4: 230a movs r3, #10 807bfb6: 220a movs r2, #10 807bfb8: 21ad movs r1, #173 ; 0xad 807bfba: 20ff movs r0, #255 ; 0xff 807bfbc: f7d8 ffb6 bl 8054f2c BSP_LCD_FillRect(255, 189, 10, 10); 807bfc0: 230a movs r3, #10 807bfc2: 220a movs r2, #10 807bfc4: 21bd movs r1, #189 ; 0xbd 807bfc6: 20ff movs r0, #255 ; 0xff 807bfc8: f7d8 ffb0 bl 8054f2c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807bfcc: 4b3a ldr r3, [pc, #232] ; (807c0b8 ) 807bfce: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807bfd2: f003 0304 and.w r3, r3, #4 807bfd6: 2b00 cmp r3, #0 807bfd8: d033 beq.n 807c042 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807bfda: 4936 ldr r1, [pc, #216] ; (807c0b4 ) 807bfdc: 4840 ldr r0, [pc, #256] ; (807c0e0 ) 807bfde: f7d8 fb17 bl 8054610 if(pardata.IIN != VOLTS) 807bfe2: 4b35 ldr r3, [pc, #212] ; (807c0b8 ) 807bfe4: 799b ldrb r3, [r3, #6] 807bfe6: b2db uxtb r3, r3 807bfe8: 2b02 cmp r3, #2 807bfea: d010 beq.n 807c00e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bfec: 4b32 ldr r3, [pc, #200] ; (807c0b8 ) 807bfee: 7b1b ldrb r3, [r3, #12] 807bff0: b2db uxtb r3, r3 807bff2: 4619 mov r1, r3 807bff4: 4a31 ldr r2, [pc, #196] ; (807c0bc ) 807bff6: 232c movs r3, #44 ; 0x2c 807bff8: fb03 f301 mul.w r3, r3, r1 807bffc: 4413 add r3, r2 807bffe: 3324 adds r3, #36 ; 0x24 807c000: 681b ldr r3, [r3, #0] 807c002: 461a mov r2, r3 807c004: 21ca movs r1, #202 ; 0xca 807c006: 200a movs r0, #10 807c008: f7d9 f8aa bl 8055160 807c00c: e00f b.n 807c02e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c00e: 4b2a ldr r3, [pc, #168] ; (807c0b8 ) 807c010: 7b1b ldrb r3, [r3, #12] 807c012: b2db uxtb r3, r3 807c014: 4619 mov r1, r3 807c016: 4a2a ldr r2, [pc, #168] ; (807c0c0 ) 807c018: 232c movs r3, #44 ; 0x2c 807c01a: fb03 f301 mul.w r3, r3, r1 807c01e: 4413 add r3, r2 807c020: 3324 adds r3, #36 ; 0x24 807c022: 681b ldr r3, [r3, #0] 807c024: 461a mov r2, r3 807c026: 21ca movs r1, #202 ; 0xca 807c028: 200a movs r0, #10 807c02a: f7d9 f899 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807c02e: f507 733b add.w r3, r7, #748 ; 0x2ec 807c032: 461a mov r2, r3 807c034: 21ca movs r1, #202 ; 0xca 807c036: f44f 7082 mov.w r0, #260 ; 0x104 807c03a: f7d9 f8a9 bl 8055190 807c03e: f002 be15 b.w 807ec6c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c042: 491c ldr r1, [pc, #112] ; (807c0b4 ) 807c044: f04f 30ff mov.w r0, #4294967295 807c048: f7d8 fae2 bl 8054610 if(pardata.IIN != VOLTS) 807c04c: 4b1a ldr r3, [pc, #104] ; (807c0b8 ) 807c04e: 799b ldrb r3, [r3, #6] 807c050: b2db uxtb r3, r3 807c052: 2b02 cmp r3, #2 807c054: d010 beq.n 807c078 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c056: 4b18 ldr r3, [pc, #96] ; (807c0b8 ) 807c058: 7b1b ldrb r3, [r3, #12] 807c05a: b2db uxtb r3, r3 807c05c: 4619 mov r1, r3 807c05e: 4a17 ldr r2, [pc, #92] ; (807c0bc ) 807c060: 232c movs r3, #44 ; 0x2c 807c062: fb03 f301 mul.w r3, r3, r1 807c066: 4413 add r3, r2 807c068: 3324 adds r3, #36 ; 0x24 807c06a: 681b ldr r3, [r3, #0] 807c06c: 461a mov r2, r3 807c06e: 21ca movs r1, #202 ; 0xca 807c070: 200a movs r0, #10 807c072: f7d9 f875 bl 8055160 807c076: e00f b.n 807c098 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c078: 4b0f ldr r3, [pc, #60] ; (807c0b8 ) 807c07a: 7b1b ldrb r3, [r3, #12] 807c07c: b2db uxtb r3, r3 807c07e: 4619 mov r1, r3 807c080: 4a0f ldr r2, [pc, #60] ; (807c0c0 ) 807c082: 232c movs r3, #44 ; 0x2c 807c084: fb03 f301 mul.w r3, r3, r1 807c088: 4413 add r3, r2 807c08a: 3324 adds r3, #36 ; 0x24 807c08c: 681b ldr r3, [r3, #0] 807c08e: 461a mov r2, r3 807c090: 21ca movs r1, #202 ; 0xca 807c092: 200a movs r0, #10 807c094: f7d9 f864 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c098: 4906 ldr r1, [pc, #24] ; (807c0b4 ) 807c09a: 480a ldr r0, [pc, #40] ; (807c0c4 ) 807c09c: f7d8 fab8 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807c0a0: f507 733b add.w r3, r7, #748 ; 0x2ec 807c0a4: 461a mov r2, r3 807c0a6: 21ca movs r1, #202 ; 0xca 807c0a8: f44f 7082 mov.w r0, #260 ; 0x104 807c0ac: f7d9 f870 bl 8055190 807c0b0: f002 bddc b.w 807ec6c 807c0b4: ff0a0f1f .word 0xff0a0f1f 807c0b8: 20023ea8 .word 0x20023ea8 807c0bc: 200206bc .word 0x200206bc 807c0c0: 20020714 .word 0x20020714 807c0c4: ffd8aa57 .word 0xffd8aa57 807c0c8: 20020070 .word 0x20020070 807c0cc: 200205cc .word 0x200205cc 807c0d0: 20020fc8 .word 0x20020fc8 807c0d4: 200216a4 .word 0x200216a4 807c0d8: 200202c4 .word 0x200202c4 807c0dc: 20020254 .word 0x20020254 807c0e0: ff808080 .word 0xff808080 } } else if(menupos == ValueS) 807c0e4: 4bc9 ldr r3, [pc, #804] ; (807c40c ) 807c0e6: 781b ldrb r3, [r3, #0] 807c0e8: b2db uxtb r3, r3 807c0ea: 2b04 cmp r3, #4 807c0ec: f040 8151 bne.w 807c392 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c0f0: 49c7 ldr r1, [pc, #796] ; (807c410 ) 807c0f2: f04f 30ff mov.w r0, #4294967295 807c0f6: f7d8 fa8b bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807c0fa: 4bc6 ldr r3, [pc, #792] ; (807c414 ) 807c0fc: 7b1b ldrb r3, [r3, #12] 807c0fe: b2db uxtb r3, r3 807c100: 461a mov r2, r3 807c102: 4bc5 ldr r3, [pc, #788] ; (807c418 ) 807c104: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807c108: 461a mov r2, r3 807c10a: 2127 movs r1, #39 ; 0x27 807c10c: 200a movs r0, #10 807c10e: f7d9 f827 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c112: 4bc0 ldr r3, [pc, #768] ; (807c414 ) 807c114: 7b1b ldrb r3, [r3, #12] 807c116: b2db uxtb r3, r3 807c118: 4619 mov r1, r3 807c11a: 4ac0 ldr r2, [pc, #768] ; (807c41c ) 807c11c: 232c movs r3, #44 ; 0x2c 807c11e: fb03 f301 mul.w r3, r3, r1 807c122: 4413 add r3, r2 807c124: 330c adds r3, #12 807c126: 681b ldr r3, [r3, #0] 807c128: 461a mov r2, r3 807c12a: 216a movs r1, #106 ; 0x6a 807c12c: 200a movs r0, #10 807c12e: f7d9 f817 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c132: 4bb8 ldr r3, [pc, #736] ; (807c414 ) 807c134: 7b1b ldrb r3, [r3, #12] 807c136: b2db uxtb r3, r3 807c138: 4619 mov r1, r3 807c13a: 4ab8 ldr r2, [pc, #736] ; (807c41c ) 807c13c: 232c movs r3, #44 ; 0x2c 807c13e: fb03 f301 mul.w r3, r3, r1 807c142: 4413 add r3, r2 807c144: 3310 adds r3, #16 807c146: 681b ldr r3, [r3, #0] 807c148: 461a mov r2, r3 807c14a: 217a movs r1, #122 ; 0x7a 807c14c: 200a movs r0, #10 807c14e: f7d9 f807 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807c152: 49af ldr r1, [pc, #700] ; (807c410 ) 807c154: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807c158: f7d8 fa5a bl 8054610 if(focused) 807c15c: 4bb0 ldr r3, [pc, #704] ; (807c420 ) 807c15e: 781b ldrb r3, [r3, #0] 807c160: b2db uxtb r3, r3 807c162: 2b00 cmp r3, #0 807c164: d019 beq.n 807c19a { if(blk) 807c166: 4baf ldr r3, [pc, #700] ; (807c424 ) 807c168: 681b ldr r3, [r3, #0] 807c16a: 2b00 cmp r3, #0 807c16c: d02a beq.n 807c1c4 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c16e: 4ba9 ldr r3, [pc, #676] ; (807c414 ) 807c170: 7b1b ldrb r3, [r3, #12] 807c172: b2db uxtb r3, r3 807c174: 4619 mov r1, r3 807c176: 4ba7 ldr r3, [pc, #668] ; (807c414 ) 807c178: 791b ldrb r3, [r3, #4] 807c17a: b2db uxtb r3, r3 807c17c: 4618 mov r0, r3 807c17e: 4aaa ldr r2, [pc, #680] ; (807c428 ) 807c180: 460b mov r3, r1 807c182: 009b lsls r3, r3, #2 807c184: 440b add r3, r1 807c186: 4403 add r3, r0 807c188: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c18c: 461a mov r2, r3 807c18e: 217a movs r1, #122 ; 0x7a 807c190: f44f 7082 mov.w r0, #260 ; 0x104 807c194: f7d8 fffc bl 8055190 807c198: e014 b.n 807c1c4 } else LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c19a: 4b9e ldr r3, [pc, #632] ; (807c414 ) 807c19c: 7b1b ldrb r3, [r3, #12] 807c19e: b2db uxtb r3, r3 807c1a0: 4619 mov r1, r3 807c1a2: 4b9c ldr r3, [pc, #624] ; (807c414 ) 807c1a4: 791b ldrb r3, [r3, #4] 807c1a6: b2db uxtb r3, r3 807c1a8: 4618 mov r0, r3 807c1aa: 4a9f ldr r2, [pc, #636] ; (807c428 ) 807c1ac: 460b mov r3, r1 807c1ae: 009b lsls r3, r3, #2 807c1b0: 440b add r3, r1 807c1b2: 4403 add r3, r0 807c1b4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c1b8: 461a mov r2, r3 807c1ba: 217a movs r1, #122 ; 0x7a 807c1bc: f44f 7082 mov.w r0, #260 ; 0x104 807c1c0: f7d8 ffe6 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c1c4: 4992 ldr r1, [pc, #584] ; (807c410 ) 807c1c6: 4899 ldr r0, [pc, #612] ; (807c42c ) 807c1c8: f7d8 fa22 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807c1cc: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807c1d0: 461a mov r2, r3 807c1d2: 213a movs r1, #58 ; 0x3a 807c1d4: f44f 7082 mov.w r0, #260 ; 0x104 807c1d8: f7d8 ffda bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807c1dc: f507 73cc add.w r3, r7, #408 ; 0x198 807c1e0: 461a mov r2, r3 807c1e2: 214a movs r1, #74 ; 0x4a 807c1e4: f44f 7082 mov.w r0, #260 ; 0x104 807c1e8: f7d8 ffd2 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807c1ec: 4b89 ldr r3, [pc, #548] ; (807c414 ) 807c1ee: 7b1b ldrb r3, [r3, #12] 807c1f0: b2db uxtb r3, r3 807c1f2: 4619 mov r1, r3 807c1f4: 4b87 ldr r3, [pc, #540] ; (807c414 ) 807c1f6: 789b ldrb r3, [r3, #2] 807c1f8: b2db uxtb r3, r3 807c1fa: 4618 mov r0, r3 807c1fc: 4a8a ldr r2, [pc, #552] ; (807c428 ) 807c1fe: 460b mov r3, r1 807c200: 009b lsls r3, r3, #2 807c202: 440b add r3, r1 807c204: 4403 add r3, r0 807c206: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c20a: 461a mov r2, r3 807c20c: 215a movs r1, #90 ; 0x5a 807c20e: f44f 7082 mov.w r0, #260 ; 0x104 807c212: f7d8 ffbd bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c216: 4b7f ldr r3, [pc, #508] ; (807c414 ) 807c218: 7b1b ldrb r3, [r3, #12] 807c21a: b2db uxtb r3, r3 807c21c: 4619 mov r1, r3 807c21e: 4b7d ldr r3, [pc, #500] ; (807c414 ) 807c220: 78db ldrb r3, [r3, #3] 807c222: b2db uxtb r3, r3 807c224: 4618 mov r0, r3 807c226: 4a80 ldr r2, [pc, #512] ; (807c428 ) 807c228: 460b mov r3, r1 807c22a: 009b lsls r3, r3, #2 807c22c: 440b add r3, r1 807c22e: 4403 add r3, r0 807c230: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c234: 461a mov r2, r3 807c236: 216a movs r1, #106 ; 0x6a 807c238: f44f 7082 mov.w r0, #260 ; 0x104 807c23c: f7d8 ffa8 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807c240: 4b74 ldr r3, [pc, #464] ; (807c414 ) 807c242: 7b1b ldrb r3, [r3, #12] 807c244: b2db uxtb r3, r3 807c246: 4619 mov r1, r3 807c248: 4b72 ldr r3, [pc, #456] ; (807c414 ) 807c24a: 7b5b ldrb r3, [r3, #13] 807c24c: b2db uxtb r3, r3 807c24e: 4618 mov r0, r3 807c250: 4a77 ldr r2, [pc, #476] ; (807c430 ) 807c252: 460b mov r3, r1 807c254: 009b lsls r3, r3, #2 807c256: 440b add r3, r1 807c258: 005b lsls r3, r3, #1 807c25a: 4403 add r3, r0 807c25c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c260: 461a mov r2, r3 807c262: 218a movs r1, #138 ; 0x8a 807c264: f44f 7082 mov.w r0, #260 ; 0x104 807c268: f7d8 ff92 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807c26c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807c270: 461a mov r2, r3 807c272: 21da movs r1, #218 ; 0xda 807c274: f44f 7082 mov.w r0, #260 ; 0x104 807c278: f7d8 ff8a bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c27c: 4964 ldr r1, [pc, #400] ; (807c410 ) 807c27e: f04f 30ff mov.w r0, #4294967295 807c282: f7d8 f9c5 bl 8054610 BSP_LCD_FillRect(255, 157, 10, 10); 807c286: 230a movs r3, #10 807c288: 220a movs r2, #10 807c28a: 219d movs r1, #157 ; 0x9d 807c28c: 20ff movs r0, #255 ; 0xff 807c28e: f7d8 fe4d bl 8054f2c BSP_LCD_FillRect(255, 173, 10, 10); 807c292: 230a movs r3, #10 807c294: 220a movs r2, #10 807c296: 21ad movs r1, #173 ; 0xad 807c298: 20ff movs r0, #255 ; 0xff 807c29a: f7d8 fe47 bl 8054f2c BSP_LCD_FillRect(255, 189, 10, 10); 807c29e: 230a movs r3, #10 807c2a0: 220a movs r2, #10 807c2a2: 21bd movs r1, #189 ; 0xbd 807c2a4: 20ff movs r0, #255 ; 0xff 807c2a6: f7d8 fe41 bl 8054f2c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807c2aa: 4b5a ldr r3, [pc, #360] ; (807c414 ) 807c2ac: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807c2b0: f003 0304 and.w r3, r3, #4 807c2b4: 2b00 cmp r3, #0 807c2b6: d033 beq.n 807c320 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c2b8: 4955 ldr r1, [pc, #340] ; (807c410 ) 807c2ba: 485e ldr r0, [pc, #376] ; (807c434 ) 807c2bc: f7d8 f9a8 bl 8054610 if(pardata.IIN != VOLTS) 807c2c0: 4b54 ldr r3, [pc, #336] ; (807c414 ) 807c2c2: 799b ldrb r3, [r3, #6] 807c2c4: b2db uxtb r3, r3 807c2c6: 2b02 cmp r3, #2 807c2c8: d010 beq.n 807c2ec LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c2ca: 4b52 ldr r3, [pc, #328] ; (807c414 ) 807c2cc: 7b1b ldrb r3, [r3, #12] 807c2ce: b2db uxtb r3, r3 807c2d0: 4619 mov r1, r3 807c2d2: 4a52 ldr r2, [pc, #328] ; (807c41c ) 807c2d4: 232c movs r3, #44 ; 0x2c 807c2d6: fb03 f301 mul.w r3, r3, r1 807c2da: 4413 add r3, r2 807c2dc: 3324 adds r3, #36 ; 0x24 807c2de: 681b ldr r3, [r3, #0] 807c2e0: 461a mov r2, r3 807c2e2: 21ca movs r1, #202 ; 0xca 807c2e4: 200a movs r0, #10 807c2e6: f7d8 ff3b bl 8055160 807c2ea: e00f b.n 807c30c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c2ec: 4b49 ldr r3, [pc, #292] ; (807c414 ) 807c2ee: 7b1b ldrb r3, [r3, #12] 807c2f0: b2db uxtb r3, r3 807c2f2: 4619 mov r1, r3 807c2f4: 4a50 ldr r2, [pc, #320] ; (807c438 ) 807c2f6: 232c movs r3, #44 ; 0x2c 807c2f8: fb03 f301 mul.w r3, r3, r1 807c2fc: 4413 add r3, r2 807c2fe: 3324 adds r3, #36 ; 0x24 807c300: 681b ldr r3, [r3, #0] 807c302: 461a mov r2, r3 807c304: 21ca movs r1, #202 ; 0xca 807c306: 200a movs r0, #10 807c308: f7d8 ff2a bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807c30c: f507 733b add.w r3, r7, #748 ; 0x2ec 807c310: 461a mov r2, r3 807c312: 21ca movs r1, #202 ; 0xca 807c314: f44f 7082 mov.w r0, #260 ; 0x104 807c318: f7d8 ff3a bl 8055190 807c31c: f002 bca6 b.w 807ec6c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c320: 493b ldr r1, [pc, #236] ; (807c410 ) 807c322: f04f 30ff mov.w r0, #4294967295 807c326: f7d8 f973 bl 8054610 if(pardata.IIN != VOLTS) 807c32a: 4b3a ldr r3, [pc, #232] ; (807c414 ) 807c32c: 799b ldrb r3, [r3, #6] 807c32e: b2db uxtb r3, r3 807c330: 2b02 cmp r3, #2 807c332: d010 beq.n 807c356 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c334: 4b37 ldr r3, [pc, #220] ; (807c414 ) 807c336: 7b1b ldrb r3, [r3, #12] 807c338: b2db uxtb r3, r3 807c33a: 4619 mov r1, r3 807c33c: 4a37 ldr r2, [pc, #220] ; (807c41c ) 807c33e: 232c movs r3, #44 ; 0x2c 807c340: fb03 f301 mul.w r3, r3, r1 807c344: 4413 add r3, r2 807c346: 3324 adds r3, #36 ; 0x24 807c348: 681b ldr r3, [r3, #0] 807c34a: 461a mov r2, r3 807c34c: 21ca movs r1, #202 ; 0xca 807c34e: 200a movs r0, #10 807c350: f7d8 ff06 bl 8055160 807c354: e00f b.n 807c376 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c356: 4b2f ldr r3, [pc, #188] ; (807c414 ) 807c358: 7b1b ldrb r3, [r3, #12] 807c35a: b2db uxtb r3, r3 807c35c: 4619 mov r1, r3 807c35e: 4a36 ldr r2, [pc, #216] ; (807c438 ) 807c360: 232c movs r3, #44 ; 0x2c 807c362: fb03 f301 mul.w r3, r3, r1 807c366: 4413 add r3, r2 807c368: 3324 adds r3, #36 ; 0x24 807c36a: 681b ldr r3, [r3, #0] 807c36c: 461a mov r2, r3 807c36e: 21ca movs r1, #202 ; 0xca 807c370: 200a movs r0, #10 807c372: f7d8 fef5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c376: 4926 ldr r1, [pc, #152] ; (807c410 ) 807c378: 482c ldr r0, [pc, #176] ; (807c42c ) 807c37a: f7d8 f949 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807c37e: f507 733b add.w r3, r7, #748 ; 0x2ec 807c382: 461a mov r2, r3 807c384: 21ca movs r1, #202 ; 0xca 807c386: f44f 7082 mov.w r0, #260 ; 0x104 807c38a: f7d8 ff01 bl 8055190 807c38e: f002 bc6d b.w 807ec6c } } else if(menupos == Average) 807c392: 4b1e ldr r3, [pc, #120] ; (807c40c ) 807c394: 781b ldrb r3, [r3, #0] 807c396: b2db uxtb r3, r3 807c398: 2b05 cmp r3, #5 807c39a: f040 81dd bne.w 807c758 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c39e: 491c ldr r1, [pc, #112] ; (807c410 ) 807c3a0: f04f 30ff mov.w r0, #4294967295 807c3a4: f7d8 f934 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807c3a8: 4b1a ldr r3, [pc, #104] ; (807c414 ) 807c3aa: 7b1b ldrb r3, [r3, #12] 807c3ac: b2db uxtb r3, r3 807c3ae: 461a mov r2, r3 807c3b0: 4b19 ldr r3, [pc, #100] ; (807c418 ) 807c3b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807c3b6: 461a mov r2, r3 807c3b8: 2127 movs r1, #39 ; 0x27 807c3ba: 200a movs r0, #10 807c3bc: f7d8 fed0 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807c3c0: 4913 ldr r1, [pc, #76] ; (807c410 ) 807c3c2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807c3c6: f7d8 f923 bl 8054610 if(focused) 807c3ca: 4b15 ldr r3, [pc, #84] ; (807c420 ) 807c3cc: 781b ldrb r3, [r3, #0] 807c3ce: b2db uxtb r3, r3 807c3d0: 2b00 cmp r3, #0 807c3d2: d033 beq.n 807c43c { if(blk) 807c3d4: 4b13 ldr r3, [pc, #76] ; (807c424 ) 807c3d6: 681b ldr r3, [r3, #0] 807c3d8: 2b00 cmp r3, #0 807c3da: d045 beq.n 807c468 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807c3dc: 4b0d ldr r3, [pc, #52] ; (807c414 ) 807c3de: 7b1b ldrb r3, [r3, #12] 807c3e0: b2db uxtb r3, r3 807c3e2: 4619 mov r1, r3 807c3e4: 4b0b ldr r3, [pc, #44] ; (807c414 ) 807c3e6: 7b5b ldrb r3, [r3, #13] 807c3e8: b2db uxtb r3, r3 807c3ea: 4618 mov r0, r3 807c3ec: 4a10 ldr r2, [pc, #64] ; (807c430 ) 807c3ee: 460b mov r3, r1 807c3f0: 009b lsls r3, r3, #2 807c3f2: 440b add r3, r1 807c3f4: 005b lsls r3, r3, #1 807c3f6: 4403 add r3, r0 807c3f8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c3fc: 461a mov r2, r3 807c3fe: 218a movs r1, #138 ; 0x8a 807c400: f44f 7082 mov.w r0, #260 ; 0x104 807c404: f7d8 fec4 bl 8055190 807c408: e02e b.n 807c468 807c40a: bf00 nop 807c40c: 20020070 .word 0x20020070 807c410: ff0a0f1f .word 0xff0a0f1f 807c414: 20023ea8 .word 0x20023ea8 807c418: 200205cc .word 0x200205cc 807c41c: 200206bc .word 0x200206bc 807c420: 20020fc8 .word 0x20020fc8 807c424: 200216a4 .word 0x200216a4 807c428: 200202c4 .word 0x200202c4 807c42c: ffd8aa57 .word 0xffd8aa57 807c430: 20020254 .word 0x20020254 807c434: ff808080 .word 0xff808080 807c438: 20020714 .word 0x20020714 } else LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807c43c: 4bbe ldr r3, [pc, #760] ; (807c738 ) 807c43e: 7b1b ldrb r3, [r3, #12] 807c440: b2db uxtb r3, r3 807c442: 4619 mov r1, r3 807c444: 4bbc ldr r3, [pc, #752] ; (807c738 ) 807c446: 7b5b ldrb r3, [r3, #13] 807c448: b2db uxtb r3, r3 807c44a: 4618 mov r0, r3 807c44c: 4abb ldr r2, [pc, #748] ; (807c73c ) 807c44e: 460b mov r3, r1 807c450: 009b lsls r3, r3, #2 807c452: 440b add r3, r1 807c454: 005b lsls r3, r3, #1 807c456: 4403 add r3, r0 807c458: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c45c: 461a mov r2, r3 807c45e: 218a movs r1, #138 ; 0x8a 807c460: f44f 7082 mov.w r0, #260 ; 0x104 807c464: f7d8 fe94 bl 8055190 if(pardata.HP >= 2.0f) 807c468: 4bb3 ldr r3, [pc, #716] ; (807c738 ) 807c46a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807c46e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807c472: eef4 7ac7 vcmpe.f32 s15, s14 807c476: eef1 fa10 vmrs APSR_nzcv, fpscr 807c47a: db53 blt.n 807c524 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c47c: 49b0 ldr r1, [pc, #704] ; (807c740 ) 807c47e: f04f 30ff mov.w r0, #4294967295 807c482: f7d8 f8c5 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c486: 4bac ldr r3, [pc, #688] ; (807c738 ) 807c488: 7b1b ldrb r3, [r3, #12] 807c48a: b2db uxtb r3, r3 807c48c: 4619 mov r1, r3 807c48e: 4aad ldr r2, [pc, #692] ; (807c744 ) 807c490: 232c movs r3, #44 ; 0x2c 807c492: fb03 f301 mul.w r3, r3, r1 807c496: 4413 add r3, r2 807c498: 330c adds r3, #12 807c49a: 681b ldr r3, [r3, #0] 807c49c: 461a mov r2, r3 807c49e: 216a movs r1, #106 ; 0x6a 807c4a0: 200a movs r0, #10 807c4a2: f7d8 fe5d bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c4a6: 4ba4 ldr r3, [pc, #656] ; (807c738 ) 807c4a8: 7b1b ldrb r3, [r3, #12] 807c4aa: b2db uxtb r3, r3 807c4ac: 4619 mov r1, r3 807c4ae: 4aa5 ldr r2, [pc, #660] ; (807c744 ) 807c4b0: 232c movs r3, #44 ; 0x2c 807c4b2: fb03 f301 mul.w r3, r3, r1 807c4b6: 4413 add r3, r2 807c4b8: 3310 adds r3, #16 807c4ba: 681b ldr r3, [r3, #0] 807c4bc: 461a mov r2, r3 807c4be: 217a movs r1, #122 ; 0x7a 807c4c0: 200a movs r0, #10 807c4c2: f7d8 fe4d bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c4c6: 499e ldr r1, [pc, #632] ; (807c740 ) 807c4c8: 489f ldr r0, [pc, #636] ; (807c748 ) 807c4ca: f7d8 f8a1 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c4ce: 4b9a ldr r3, [pc, #616] ; (807c738 ) 807c4d0: 7b1b ldrb r3, [r3, #12] 807c4d2: b2db uxtb r3, r3 807c4d4: 4619 mov r1, r3 807c4d6: 4b98 ldr r3, [pc, #608] ; (807c738 ) 807c4d8: 78db ldrb r3, [r3, #3] 807c4da: b2db uxtb r3, r3 807c4dc: 4618 mov r0, r3 807c4de: 4a9b ldr r2, [pc, #620] ; (807c74c ) 807c4e0: 460b mov r3, r1 807c4e2: 009b lsls r3, r3, #2 807c4e4: 440b add r3, r1 807c4e6: 4403 add r3, r0 807c4e8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c4ec: 461a mov r2, r3 807c4ee: 216a movs r1, #106 ; 0x6a 807c4f0: f44f 7082 mov.w r0, #260 ; 0x104 807c4f4: f7d8 fe4c bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c4f8: 4b8f ldr r3, [pc, #572] ; (807c738 ) 807c4fa: 7b1b ldrb r3, [r3, #12] 807c4fc: b2db uxtb r3, r3 807c4fe: 4619 mov r1, r3 807c500: 4b8d ldr r3, [pc, #564] ; (807c738 ) 807c502: 791b ldrb r3, [r3, #4] 807c504: b2db uxtb r3, r3 807c506: 4618 mov r0, r3 807c508: 4a90 ldr r2, [pc, #576] ; (807c74c ) 807c50a: 460b mov r3, r1 807c50c: 009b lsls r3, r3, #2 807c50e: 440b add r3, r1 807c510: 4403 add r3, r0 807c512: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c516: 461a mov r2, r3 807c518: 217a movs r1, #122 ; 0x7a 807c51a: f44f 7082 mov.w r0, #260 ; 0x104 807c51e: f7d8 fe37 bl 8055190 807c522: e04d b.n 807c5c0 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c524: 4986 ldr r1, [pc, #536] ; (807c740 ) 807c526: 488a ldr r0, [pc, #552] ; (807c750 ) 807c528: f7d8 f872 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c52c: 4b82 ldr r3, [pc, #520] ; (807c738 ) 807c52e: 7b1b ldrb r3, [r3, #12] 807c530: b2db uxtb r3, r3 807c532: 4619 mov r1, r3 807c534: 4a83 ldr r2, [pc, #524] ; (807c744 ) 807c536: 232c movs r3, #44 ; 0x2c 807c538: fb03 f301 mul.w r3, r3, r1 807c53c: 4413 add r3, r2 807c53e: 330c adds r3, #12 807c540: 681b ldr r3, [r3, #0] 807c542: 461a mov r2, r3 807c544: 216a movs r1, #106 ; 0x6a 807c546: 200a movs r0, #10 807c548: f7d8 fe0a bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c54c: 4b7a ldr r3, [pc, #488] ; (807c738 ) 807c54e: 7b1b ldrb r3, [r3, #12] 807c550: b2db uxtb r3, r3 807c552: 4619 mov r1, r3 807c554: 4a7b ldr r2, [pc, #492] ; (807c744 ) 807c556: 232c movs r3, #44 ; 0x2c 807c558: fb03 f301 mul.w r3, r3, r1 807c55c: 4413 add r3, r2 807c55e: 3310 adds r3, #16 807c560: 681b ldr r3, [r3, #0] 807c562: 461a mov r2, r3 807c564: 217a movs r1, #122 ; 0x7a 807c566: 200a movs r0, #10 807c568: f7d8 fdfa bl 8055160 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c56c: 4b72 ldr r3, [pc, #456] ; (807c738 ) 807c56e: 7b1b ldrb r3, [r3, #12] 807c570: b2db uxtb r3, r3 807c572: 4619 mov r1, r3 807c574: 4b70 ldr r3, [pc, #448] ; (807c738 ) 807c576: 78db ldrb r3, [r3, #3] 807c578: b2db uxtb r3, r3 807c57a: 4618 mov r0, r3 807c57c: 4a73 ldr r2, [pc, #460] ; (807c74c ) 807c57e: 460b mov r3, r1 807c580: 009b lsls r3, r3, #2 807c582: 440b add r3, r1 807c584: 4403 add r3, r0 807c586: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c58a: 461a mov r2, r3 807c58c: 216a movs r1, #106 ; 0x6a 807c58e: f44f 7082 mov.w r0, #260 ; 0x104 807c592: f7d8 fdfd bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c596: 4b68 ldr r3, [pc, #416] ; (807c738 ) 807c598: 7b1b ldrb r3, [r3, #12] 807c59a: b2db uxtb r3, r3 807c59c: 4619 mov r1, r3 807c59e: 4b66 ldr r3, [pc, #408] ; (807c738 ) 807c5a0: 791b ldrb r3, [r3, #4] 807c5a2: b2db uxtb r3, r3 807c5a4: 4618 mov r0, r3 807c5a6: 4a69 ldr r2, [pc, #420] ; (807c74c ) 807c5a8: 460b mov r3, r1 807c5aa: 009b lsls r3, r3, #2 807c5ac: 440b add r3, r1 807c5ae: 4403 add r3, r0 807c5b0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c5b4: 461a mov r2, r3 807c5b6: 217a movs r1, #122 ; 0x7a 807c5b8: f44f 7082 mov.w r0, #260 ; 0x104 807c5bc: f7d8 fde8 bl 8055190 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c5c0: 495f ldr r1, [pc, #380] ; (807c740 ) 807c5c2: 4861 ldr r0, [pc, #388] ; (807c748 ) 807c5c4: f7d8 f824 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807c5c8: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807c5cc: 461a mov r2, r3 807c5ce: 213a movs r1, #58 ; 0x3a 807c5d0: f44f 7082 mov.w r0, #260 ; 0x104 807c5d4: f7d8 fddc bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807c5d8: f507 73cc add.w r3, r7, #408 ; 0x198 807c5dc: 461a mov r2, r3 807c5de: 214a movs r1, #74 ; 0x4a 807c5e0: f44f 7082 mov.w r0, #260 ; 0x104 807c5e4: f7d8 fdd4 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807c5e8: 4b53 ldr r3, [pc, #332] ; (807c738 ) 807c5ea: 7b1b ldrb r3, [r3, #12] 807c5ec: b2db uxtb r3, r3 807c5ee: 4619 mov r1, r3 807c5f0: 4b51 ldr r3, [pc, #324] ; (807c738 ) 807c5f2: 789b ldrb r3, [r3, #2] 807c5f4: b2db uxtb r3, r3 807c5f6: 4618 mov r0, r3 807c5f8: 4a54 ldr r2, [pc, #336] ; (807c74c ) 807c5fa: 460b mov r3, r1 807c5fc: 009b lsls r3, r3, #2 807c5fe: 440b add r3, r1 807c600: 4403 add r3, r0 807c602: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c606: 461a mov r2, r3 807c608: 215a movs r1, #90 ; 0x5a 807c60a: f44f 7082 mov.w r0, #260 ; 0x104 807c60e: f7d8 fdbf bl 8055190 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807c612: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807c616: 461a mov r2, r3 807c618: 21da movs r1, #218 ; 0xda 807c61a: f44f 7082 mov.w r0, #260 ; 0x104 807c61e: f7d8 fdb7 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c622: 4947 ldr r1, [pc, #284] ; (807c740 ) 807c624: f04f 30ff mov.w r0, #4294967295 807c628: f7d7 fff2 bl 8054610 BSP_LCD_FillRect(255, 157, 10, 10); 807c62c: 230a movs r3, #10 807c62e: 220a movs r2, #10 807c630: 219d movs r1, #157 ; 0x9d 807c632: 20ff movs r0, #255 ; 0xff 807c634: f7d8 fc7a bl 8054f2c BSP_LCD_FillRect(255, 173, 10, 10); 807c638: 230a movs r3, #10 807c63a: 220a movs r2, #10 807c63c: 21ad movs r1, #173 ; 0xad 807c63e: 20ff movs r0, #255 ; 0xff 807c640: f7d8 fc74 bl 8054f2c BSP_LCD_FillRect(255, 189, 10, 10); 807c644: 230a movs r3, #10 807c646: 220a movs r2, #10 807c648: 21bd movs r1, #189 ; 0xbd 807c64a: 20ff movs r0, #255 ; 0xff 807c64c: f7d8 fc6e bl 8054f2c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807c650: 4b39 ldr r3, [pc, #228] ; (807c738 ) 807c652: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807c656: f003 0304 and.w r3, r3, #4 807c65a: 2b00 cmp r3, #0 807c65c: d033 beq.n 807c6c6 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c65e: 4938 ldr r1, [pc, #224] ; (807c740 ) 807c660: 483b ldr r0, [pc, #236] ; (807c750 ) 807c662: f7d7 ffd5 bl 8054610 if(pardata.IIN != VOLTS) 807c666: 4b34 ldr r3, [pc, #208] ; (807c738 ) 807c668: 799b ldrb r3, [r3, #6] 807c66a: b2db uxtb r3, r3 807c66c: 2b02 cmp r3, #2 807c66e: d010 beq.n 807c692 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c670: 4b31 ldr r3, [pc, #196] ; (807c738 ) 807c672: 7b1b ldrb r3, [r3, #12] 807c674: b2db uxtb r3, r3 807c676: 4619 mov r1, r3 807c678: 4a32 ldr r2, [pc, #200] ; (807c744 ) 807c67a: 232c movs r3, #44 ; 0x2c 807c67c: fb03 f301 mul.w r3, r3, r1 807c680: 4413 add r3, r2 807c682: 3324 adds r3, #36 ; 0x24 807c684: 681b ldr r3, [r3, #0] 807c686: 461a mov r2, r3 807c688: 21ca movs r1, #202 ; 0xca 807c68a: 200a movs r0, #10 807c68c: f7d8 fd68 bl 8055160 807c690: e00f b.n 807c6b2 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c692: 4b29 ldr r3, [pc, #164] ; (807c738 ) 807c694: 7b1b ldrb r3, [r3, #12] 807c696: b2db uxtb r3, r3 807c698: 4619 mov r1, r3 807c69a: 4a2e ldr r2, [pc, #184] ; (807c754 ) 807c69c: 232c movs r3, #44 ; 0x2c 807c69e: fb03 f301 mul.w r3, r3, r1 807c6a2: 4413 add r3, r2 807c6a4: 3324 adds r3, #36 ; 0x24 807c6a6: 681b ldr r3, [r3, #0] 807c6a8: 461a mov r2, r3 807c6aa: 21ca movs r1, #202 ; 0xca 807c6ac: 200a movs r0, #10 807c6ae: f7d8 fd57 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807c6b2: f507 733b add.w r3, r7, #748 ; 0x2ec 807c6b6: 461a mov r2, r3 807c6b8: 21ca movs r1, #202 ; 0xca 807c6ba: f44f 7082 mov.w r0, #260 ; 0x104 807c6be: f7d8 fd67 bl 8055190 807c6c2: f002 bad3 b.w 807ec6c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c6c6: 491e ldr r1, [pc, #120] ; (807c740 ) 807c6c8: f04f 30ff mov.w r0, #4294967295 807c6cc: f7d7 ffa0 bl 8054610 if(pardata.IIN != VOLTS) 807c6d0: 4b19 ldr r3, [pc, #100] ; (807c738 ) 807c6d2: 799b ldrb r3, [r3, #6] 807c6d4: b2db uxtb r3, r3 807c6d6: 2b02 cmp r3, #2 807c6d8: d010 beq.n 807c6fc LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c6da: 4b17 ldr r3, [pc, #92] ; (807c738 ) 807c6dc: 7b1b ldrb r3, [r3, #12] 807c6de: b2db uxtb r3, r3 807c6e0: 4619 mov r1, r3 807c6e2: 4a18 ldr r2, [pc, #96] ; (807c744 ) 807c6e4: 232c movs r3, #44 ; 0x2c 807c6e6: fb03 f301 mul.w r3, r3, r1 807c6ea: 4413 add r3, r2 807c6ec: 3324 adds r3, #36 ; 0x24 807c6ee: 681b ldr r3, [r3, #0] 807c6f0: 461a mov r2, r3 807c6f2: 21ca movs r1, #202 ; 0xca 807c6f4: 200a movs r0, #10 807c6f6: f7d8 fd33 bl 8055160 807c6fa: e00f b.n 807c71c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c6fc: 4b0e ldr r3, [pc, #56] ; (807c738 ) 807c6fe: 7b1b ldrb r3, [r3, #12] 807c700: b2db uxtb r3, r3 807c702: 4619 mov r1, r3 807c704: 4a13 ldr r2, [pc, #76] ; (807c754 ) 807c706: 232c movs r3, #44 ; 0x2c 807c708: fb03 f301 mul.w r3, r3, r1 807c70c: 4413 add r3, r2 807c70e: 3324 adds r3, #36 ; 0x24 807c710: 681b ldr r3, [r3, #0] 807c712: 461a mov r2, r3 807c714: 21ca movs r1, #202 ; 0xca 807c716: 200a movs r0, #10 807c718: f7d8 fd22 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c71c: 4908 ldr r1, [pc, #32] ; (807c740 ) 807c71e: 480a ldr r0, [pc, #40] ; (807c748 ) 807c720: f7d7 ff76 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807c724: f507 733b add.w r3, r7, #748 ; 0x2ec 807c728: 461a mov r2, r3 807c72a: 21ca movs r1, #202 ; 0xca 807c72c: f44f 7082 mov.w r0, #260 ; 0x104 807c730: f7d8 fd2e bl 8055190 807c734: f002 ba9a b.w 807ec6c 807c738: 20023ea8 .word 0x20023ea8 807c73c: 20020254 .word 0x20020254 807c740: ff0a0f1f .word 0xff0a0f1f 807c744: 200206bc .word 0x200206bc 807c748: ffd8aa57 .word 0xffd8aa57 807c74c: 200202c4 .word 0x200202c4 807c750: ff808080 .word 0xff808080 807c754: 20020714 .word 0x20020714 } } else if(menupos == Mediana) 807c758: 4bc0 ldr r3, [pc, #768] ; (807ca5c ) 807c75a: 781b ldrb r3, [r3, #0] 807c75c: b2db uxtb r3, r3 807c75e: 2b06 cmp r3, #6 807c760: f040 81ae bne.w 807cac0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c764: 49be ldr r1, [pc, #760] ; (807ca60 ) 807c766: f04f 30ff mov.w r0, #4294967295 807c76a: f7d7 ff51 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807c76e: 4bbd ldr r3, [pc, #756] ; (807ca64 ) 807c770: 7b1b ldrb r3, [r3, #12] 807c772: b2db uxtb r3, r3 807c774: 461a mov r2, r3 807c776: 4bbc ldr r3, [pc, #752] ; (807ca68 ) 807c778: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807c77c: 461a mov r2, r3 807c77e: 2127 movs r1, #39 ; 0x27 807c780: 200a movs r0, #10 807c782: f7d8 fced bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807c786: 49b6 ldr r1, [pc, #728] ; (807ca60 ) 807c788: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807c78c: f7d7 ff40 bl 8054610 BSP_LCD_FillRect(253, 155, 14, 14); 807c790: 230e movs r3, #14 807c792: 220e movs r2, #14 807c794: 219b movs r1, #155 ; 0x9b 807c796: 20fd movs r0, #253 ; 0xfd 807c798: f7d8 fbc8 bl 8054f2c if(pardata.HP >= 2.0f) 807c79c: 4bb1 ldr r3, [pc, #708] ; (807ca64 ) 807c79e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807c7a2: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807c7a6: eef4 7ac7 vcmpe.f32 s15, s14 807c7aa: eef1 fa10 vmrs APSR_nzcv, fpscr 807c7ae: db53 blt.n 807c858 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c7b0: 49ab ldr r1, [pc, #684] ; (807ca60 ) 807c7b2: f04f 30ff mov.w r0, #4294967295 807c7b6: f7d7 ff2b bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c7ba: 4baa ldr r3, [pc, #680] ; (807ca64 ) 807c7bc: 7b1b ldrb r3, [r3, #12] 807c7be: b2db uxtb r3, r3 807c7c0: 4619 mov r1, r3 807c7c2: 4aaa ldr r2, [pc, #680] ; (807ca6c ) 807c7c4: 232c movs r3, #44 ; 0x2c 807c7c6: fb03 f301 mul.w r3, r3, r1 807c7ca: 4413 add r3, r2 807c7cc: 330c adds r3, #12 807c7ce: 681b ldr r3, [r3, #0] 807c7d0: 461a mov r2, r3 807c7d2: 216a movs r1, #106 ; 0x6a 807c7d4: 200a movs r0, #10 807c7d6: f7d8 fcc3 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c7da: 4ba2 ldr r3, [pc, #648] ; (807ca64 ) 807c7dc: 7b1b ldrb r3, [r3, #12] 807c7de: b2db uxtb r3, r3 807c7e0: 4619 mov r1, r3 807c7e2: 4aa2 ldr r2, [pc, #648] ; (807ca6c ) 807c7e4: 232c movs r3, #44 ; 0x2c 807c7e6: fb03 f301 mul.w r3, r3, r1 807c7ea: 4413 add r3, r2 807c7ec: 3310 adds r3, #16 807c7ee: 681b ldr r3, [r3, #0] 807c7f0: 461a mov r2, r3 807c7f2: 217a movs r1, #122 ; 0x7a 807c7f4: 200a movs r0, #10 807c7f6: f7d8 fcb3 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c7fa: 4999 ldr r1, [pc, #612] ; (807ca60 ) 807c7fc: 489c ldr r0, [pc, #624] ; (807ca70 ) 807c7fe: f7d7 ff07 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c802: 4b98 ldr r3, [pc, #608] ; (807ca64 ) 807c804: 7b1b ldrb r3, [r3, #12] 807c806: b2db uxtb r3, r3 807c808: 4619 mov r1, r3 807c80a: 4b96 ldr r3, [pc, #600] ; (807ca64 ) 807c80c: 78db ldrb r3, [r3, #3] 807c80e: b2db uxtb r3, r3 807c810: 4618 mov r0, r3 807c812: 4a98 ldr r2, [pc, #608] ; (807ca74 ) 807c814: 460b mov r3, r1 807c816: 009b lsls r3, r3, #2 807c818: 440b add r3, r1 807c81a: 4403 add r3, r0 807c81c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c820: 461a mov r2, r3 807c822: 216a movs r1, #106 ; 0x6a 807c824: f44f 7082 mov.w r0, #260 ; 0x104 807c828: f7d8 fcb2 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c82c: 4b8d ldr r3, [pc, #564] ; (807ca64 ) 807c82e: 7b1b ldrb r3, [r3, #12] 807c830: b2db uxtb r3, r3 807c832: 4619 mov r1, r3 807c834: 4b8b ldr r3, [pc, #556] ; (807ca64 ) 807c836: 791b ldrb r3, [r3, #4] 807c838: b2db uxtb r3, r3 807c83a: 4618 mov r0, r3 807c83c: 4a8d ldr r2, [pc, #564] ; (807ca74 ) 807c83e: 460b mov r3, r1 807c840: 009b lsls r3, r3, #2 807c842: 440b add r3, r1 807c844: 4403 add r3, r0 807c846: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c84a: 461a mov r2, r3 807c84c: 217a movs r1, #122 ; 0x7a 807c84e: f44f 7082 mov.w r0, #260 ; 0x104 807c852: f7d8 fc9d bl 8055190 807c856: e04d b.n 807c8f4 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c858: 4981 ldr r1, [pc, #516] ; (807ca60 ) 807c85a: 4887 ldr r0, [pc, #540] ; (807ca78 ) 807c85c: f7d7 fed8 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c860: 4b80 ldr r3, [pc, #512] ; (807ca64 ) 807c862: 7b1b ldrb r3, [r3, #12] 807c864: b2db uxtb r3, r3 807c866: 4619 mov r1, r3 807c868: 4a80 ldr r2, [pc, #512] ; (807ca6c ) 807c86a: 232c movs r3, #44 ; 0x2c 807c86c: fb03 f301 mul.w r3, r3, r1 807c870: 4413 add r3, r2 807c872: 330c adds r3, #12 807c874: 681b ldr r3, [r3, #0] 807c876: 461a mov r2, r3 807c878: 216a movs r1, #106 ; 0x6a 807c87a: 200a movs r0, #10 807c87c: f7d8 fc70 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c880: 4b78 ldr r3, [pc, #480] ; (807ca64 ) 807c882: 7b1b ldrb r3, [r3, #12] 807c884: b2db uxtb r3, r3 807c886: 4619 mov r1, r3 807c888: 4a78 ldr r2, [pc, #480] ; (807ca6c ) 807c88a: 232c movs r3, #44 ; 0x2c 807c88c: fb03 f301 mul.w r3, r3, r1 807c890: 4413 add r3, r2 807c892: 3310 adds r3, #16 807c894: 681b ldr r3, [r3, #0] 807c896: 461a mov r2, r3 807c898: 217a movs r1, #122 ; 0x7a 807c89a: 200a movs r0, #10 807c89c: f7d8 fc60 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c8a0: 4b70 ldr r3, [pc, #448] ; (807ca64 ) 807c8a2: 7b1b ldrb r3, [r3, #12] 807c8a4: b2db uxtb r3, r3 807c8a6: 4619 mov r1, r3 807c8a8: 4b6e ldr r3, [pc, #440] ; (807ca64 ) 807c8aa: 78db ldrb r3, [r3, #3] 807c8ac: b2db uxtb r3, r3 807c8ae: 4618 mov r0, r3 807c8b0: 4a70 ldr r2, [pc, #448] ; (807ca74 ) 807c8b2: 460b mov r3, r1 807c8b4: 009b lsls r3, r3, #2 807c8b6: 440b add r3, r1 807c8b8: 4403 add r3, r0 807c8ba: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c8be: 461a mov r2, r3 807c8c0: 216a movs r1, #106 ; 0x6a 807c8c2: f44f 7082 mov.w r0, #260 ; 0x104 807c8c6: f7d8 fc63 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c8ca: 4b66 ldr r3, [pc, #408] ; (807ca64 ) 807c8cc: 7b1b ldrb r3, [r3, #12] 807c8ce: b2db uxtb r3, r3 807c8d0: 4619 mov r1, r3 807c8d2: 4b64 ldr r3, [pc, #400] ; (807ca64 ) 807c8d4: 791b ldrb r3, [r3, #4] 807c8d6: b2db uxtb r3, r3 807c8d8: 4618 mov r0, r3 807c8da: 4a66 ldr r2, [pc, #408] ; (807ca74 ) 807c8dc: 460b mov r3, r1 807c8de: 009b lsls r3, r3, #2 807c8e0: 440b add r3, r1 807c8e2: 4403 add r3, r0 807c8e4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c8e8: 461a mov r2, r3 807c8ea: 217a movs r1, #122 ; 0x7a 807c8ec: f44f 7082 mov.w r0, #260 ; 0x104 807c8f0: f7d8 fc4e bl 8055190 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c8f4: 495a ldr r1, [pc, #360] ; (807ca60 ) 807c8f6: 485e ldr r0, [pc, #376] ; (807ca70 ) 807c8f8: f7d7 fe8a bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807c8fc: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807c900: 461a mov r2, r3 807c902: 213a movs r1, #58 ; 0x3a 807c904: f44f 7082 mov.w r0, #260 ; 0x104 807c908: f7d8 fc42 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807c90c: f507 73cc add.w r3, r7, #408 ; 0x198 807c910: 461a mov r2, r3 807c912: 214a movs r1, #74 ; 0x4a 807c914: f44f 7082 mov.w r0, #260 ; 0x104 807c918: f7d8 fc3a bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807c91c: 4b51 ldr r3, [pc, #324] ; (807ca64 ) 807c91e: 7b1b ldrb r3, [r3, #12] 807c920: b2db uxtb r3, r3 807c922: 4619 mov r1, r3 807c924: 4b4f ldr r3, [pc, #316] ; (807ca64 ) 807c926: 789b ldrb r3, [r3, #2] 807c928: b2db uxtb r3, r3 807c92a: 4618 mov r0, r3 807c92c: 4a51 ldr r2, [pc, #324] ; (807ca74 ) 807c92e: 460b mov r3, r1 807c930: 009b lsls r3, r3, #2 807c932: 440b add r3, r1 807c934: 4403 add r3, r0 807c936: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c93a: 461a mov r2, r3 807c93c: 215a movs r1, #90 ; 0x5a 807c93e: f44f 7082 mov.w r0, #260 ; 0x104 807c942: f7d8 fc25 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807c946: 4b47 ldr r3, [pc, #284] ; (807ca64 ) 807c948: 7b1b ldrb r3, [r3, #12] 807c94a: b2db uxtb r3, r3 807c94c: 4619 mov r1, r3 807c94e: 4b45 ldr r3, [pc, #276] ; (807ca64 ) 807c950: 7b5b ldrb r3, [r3, #13] 807c952: b2db uxtb r3, r3 807c954: 4618 mov r0, r3 807c956: 4a49 ldr r2, [pc, #292] ; (807ca7c ) 807c958: 460b mov r3, r1 807c95a: 009b lsls r3, r3, #2 807c95c: 440b add r3, r1 807c95e: 005b lsls r3, r3, #1 807c960: 4403 add r3, r0 807c962: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c966: 461a mov r2, r3 807c968: 218a movs r1, #138 ; 0x8a 807c96a: f44f 7082 mov.w r0, #260 ; 0x104 807c96e: f7d8 fc0f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807c972: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807c976: 461a mov r2, r3 807c978: 21da movs r1, #218 ; 0xda 807c97a: f44f 7082 mov.w r0, #260 ; 0x104 807c97e: f7d8 fc07 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c982: 4937 ldr r1, [pc, #220] ; (807ca60 ) 807c984: f04f 30ff mov.w r0, #4294967295 807c988: f7d7 fe42 bl 8054610 BSP_LCD_FillRect(255, 157, 10, 10); 807c98c: 230a movs r3, #10 807c98e: 220a movs r2, #10 807c990: 219d movs r1, #157 ; 0x9d 807c992: 20ff movs r0, #255 ; 0xff 807c994: f7d8 faca bl 8054f2c BSP_LCD_FillRect(255, 173, 10, 10); 807c998: 230a movs r3, #10 807c99a: 220a movs r2, #10 807c99c: 21ad movs r1, #173 ; 0xad 807c99e: 20ff movs r0, #255 ; 0xff 807c9a0: f7d8 fac4 bl 8054f2c BSP_LCD_FillRect(255, 189, 10, 10); 807c9a4: 230a movs r3, #10 807c9a6: 220a movs r2, #10 807c9a8: 21bd movs r1, #189 ; 0xbd 807c9aa: 20ff movs r0, #255 ; 0xff 807c9ac: f7d8 fabe bl 8054f2c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807c9b0: 4b2c ldr r3, [pc, #176] ; (807ca64 ) 807c9b2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807c9b6: f003 0304 and.w r3, r3, #4 807c9ba: 2b00 cmp r3, #0 807c9bc: d033 beq.n 807ca26 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c9be: 4928 ldr r1, [pc, #160] ; (807ca60 ) 807c9c0: 482d ldr r0, [pc, #180] ; (807ca78 ) 807c9c2: f7d7 fe25 bl 8054610 if(pardata.IIN != VOLTS) 807c9c6: 4b27 ldr r3, [pc, #156] ; (807ca64 ) 807c9c8: 799b ldrb r3, [r3, #6] 807c9ca: b2db uxtb r3, r3 807c9cc: 2b02 cmp r3, #2 807c9ce: d010 beq.n 807c9f2 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c9d0: 4b24 ldr r3, [pc, #144] ; (807ca64 ) 807c9d2: 7b1b ldrb r3, [r3, #12] 807c9d4: b2db uxtb r3, r3 807c9d6: 4619 mov r1, r3 807c9d8: 4a24 ldr r2, [pc, #144] ; (807ca6c ) 807c9da: 232c movs r3, #44 ; 0x2c 807c9dc: fb03 f301 mul.w r3, r3, r1 807c9e0: 4413 add r3, r2 807c9e2: 3324 adds r3, #36 ; 0x24 807c9e4: 681b ldr r3, [r3, #0] 807c9e6: 461a mov r2, r3 807c9e8: 21ca movs r1, #202 ; 0xca 807c9ea: 200a movs r0, #10 807c9ec: f7d8 fbb8 bl 8055160 807c9f0: e00f b.n 807ca12 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c9f2: 4b1c ldr r3, [pc, #112] ; (807ca64 ) 807c9f4: 7b1b ldrb r3, [r3, #12] 807c9f6: b2db uxtb r3, r3 807c9f8: 4619 mov r1, r3 807c9fa: 4a21 ldr r2, [pc, #132] ; (807ca80 ) 807c9fc: 232c movs r3, #44 ; 0x2c 807c9fe: fb03 f301 mul.w r3, r3, r1 807ca02: 4413 add r3, r2 807ca04: 3324 adds r3, #36 ; 0x24 807ca06: 681b ldr r3, [r3, #0] 807ca08: 461a mov r2, r3 807ca0a: 21ca movs r1, #202 ; 0xca 807ca0c: 200a movs r0, #10 807ca0e: f7d8 fba7 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807ca12: f507 733b add.w r3, r7, #748 ; 0x2ec 807ca16: 461a mov r2, r3 807ca18: 21ca movs r1, #202 ; 0xca 807ca1a: f44f 7082 mov.w r0, #260 ; 0x104 807ca1e: f7d8 fbb7 bl 8055190 807ca22: f002 b923 b.w 807ec6c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ca26: 490e ldr r1, [pc, #56] ; (807ca60 ) 807ca28: f04f 30ff mov.w r0, #4294967295 807ca2c: f7d7 fdf0 bl 8054610 if(pardata.IIN != VOLTS) 807ca30: 4b0c ldr r3, [pc, #48] ; (807ca64 ) 807ca32: 799b ldrb r3, [r3, #6] 807ca34: b2db uxtb r3, r3 807ca36: 2b02 cmp r3, #2 807ca38: d024 beq.n 807ca84 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ca3a: 4b0a ldr r3, [pc, #40] ; (807ca64 ) 807ca3c: 7b1b ldrb r3, [r3, #12] 807ca3e: b2db uxtb r3, r3 807ca40: 4619 mov r1, r3 807ca42: 4a0a ldr r2, [pc, #40] ; (807ca6c ) 807ca44: 232c movs r3, #44 ; 0x2c 807ca46: fb03 f301 mul.w r3, r3, r1 807ca4a: 4413 add r3, r2 807ca4c: 3324 adds r3, #36 ; 0x24 807ca4e: 681b ldr r3, [r3, #0] 807ca50: 461a mov r2, r3 807ca52: 21ca movs r1, #202 ; 0xca 807ca54: 200a movs r0, #10 807ca56: f7d8 fb83 bl 8055160 807ca5a: e023 b.n 807caa4 807ca5c: 20020070 .word 0x20020070 807ca60: ff0a0f1f .word 0xff0a0f1f 807ca64: 20023ea8 .word 0x20023ea8 807ca68: 200205cc .word 0x200205cc 807ca6c: 200206bc .word 0x200206bc 807ca70: ffd8aa57 .word 0xffd8aa57 807ca74: 200202c4 .word 0x200202c4 807ca78: ff808080 .word 0xff808080 807ca7c: 20020254 .word 0x20020254 807ca80: 20020714 .word 0x20020714 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ca84: 4bc2 ldr r3, [pc, #776] ; (807cd90 ) 807ca86: 7b1b ldrb r3, [r3, #12] 807ca88: b2db uxtb r3, r3 807ca8a: 4619 mov r1, r3 807ca8c: 4ac1 ldr r2, [pc, #772] ; (807cd94 ) 807ca8e: 232c movs r3, #44 ; 0x2c 807ca90: fb03 f301 mul.w r3, r3, r1 807ca94: 4413 add r3, r2 807ca96: 3324 adds r3, #36 ; 0x24 807ca98: 681b ldr r3, [r3, #0] 807ca9a: 461a mov r2, r3 807ca9c: 21ca movs r1, #202 ; 0xca 807ca9e: 200a movs r0, #10 807caa0: f7d8 fb5e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807caa4: 49bc ldr r1, [pc, #752] ; (807cd98 ) 807caa6: 48bd ldr r0, [pc, #756] ; (807cd9c ) 807caa8: f7d7 fdb2 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807caac: f507 733b add.w r3, r7, #748 ; 0x2ec 807cab0: 461a mov r2, r3 807cab2: 21ca movs r1, #202 ; 0xca 807cab4: f44f 7082 mov.w r0, #260 ; 0x104 807cab8: f7d8 fb6a bl 8055190 807cabc: f002 b8d6 b.w 807ec6c } } else if(menupos == ViewFreq) 807cac0: 4bb7 ldr r3, [pc, #732] ; (807cda0 ) 807cac2: 781b ldrb r3, [r3, #0] 807cac4: b2db uxtb r3, r3 807cac6: 2b07 cmp r3, #7 807cac8: f040 81af bne.w 807ce2a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807cacc: 49b2 ldr r1, [pc, #712] ; (807cd98 ) 807cace: f04f 30ff mov.w r0, #4294967295 807cad2: f7d7 fd9d bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807cad6: 4bae ldr r3, [pc, #696] ; (807cd90 ) 807cad8: 7b1b ldrb r3, [r3, #12] 807cada: b2db uxtb r3, r3 807cadc: 461a mov r2, r3 807cade: 4bb1 ldr r3, [pc, #708] ; (807cda4 ) 807cae0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cae4: 461a mov r2, r3 807cae6: 2127 movs r1, #39 ; 0x27 807cae8: 200a movs r0, #10 807caea: f7d8 fb39 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807caee: 49aa ldr r1, [pc, #680] ; (807cd98 ) 807caf0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807caf4: f7d7 fd8c bl 8054610 BSP_LCD_FillRect(253, 171, 14, 14); 807caf8: 230e movs r3, #14 807cafa: 220e movs r2, #14 807cafc: 21ab movs r1, #171 ; 0xab 807cafe: 20fd movs r0, #253 ; 0xfd 807cb00: f7d8 fa14 bl 8054f2c if(pardata.HP >= 2.0f) 807cb04: 4ba2 ldr r3, [pc, #648] ; (807cd90 ) 807cb06: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807cb0a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807cb0e: eef4 7ac7 vcmpe.f32 s15, s14 807cb12: eef1 fa10 vmrs APSR_nzcv, fpscr 807cb16: db53 blt.n 807cbc0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807cb18: 499f ldr r1, [pc, #636] ; (807cd98 ) 807cb1a: f04f 30ff mov.w r0, #4294967295 807cb1e: f7d7 fd77 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807cb22: 4b9b ldr r3, [pc, #620] ; (807cd90 ) 807cb24: 7b1b ldrb r3, [r3, #12] 807cb26: b2db uxtb r3, r3 807cb28: 4619 mov r1, r3 807cb2a: 4a9f ldr r2, [pc, #636] ; (807cda8 ) 807cb2c: 232c movs r3, #44 ; 0x2c 807cb2e: fb03 f301 mul.w r3, r3, r1 807cb32: 4413 add r3, r2 807cb34: 330c adds r3, #12 807cb36: 681b ldr r3, [r3, #0] 807cb38: 461a mov r2, r3 807cb3a: 216a movs r1, #106 ; 0x6a 807cb3c: 200a movs r0, #10 807cb3e: f7d8 fb0f bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807cb42: 4b93 ldr r3, [pc, #588] ; (807cd90 ) 807cb44: 7b1b ldrb r3, [r3, #12] 807cb46: b2db uxtb r3, r3 807cb48: 4619 mov r1, r3 807cb4a: 4a97 ldr r2, [pc, #604] ; (807cda8 ) 807cb4c: 232c movs r3, #44 ; 0x2c 807cb4e: fb03 f301 mul.w r3, r3, r1 807cb52: 4413 add r3, r2 807cb54: 3310 adds r3, #16 807cb56: 681b ldr r3, [r3, #0] 807cb58: 461a mov r2, r3 807cb5a: 217a movs r1, #122 ; 0x7a 807cb5c: 200a movs r0, #10 807cb5e: f7d8 faff bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cb62: 498d ldr r1, [pc, #564] ; (807cd98 ) 807cb64: 488d ldr r0, [pc, #564] ; (807cd9c ) 807cb66: f7d7 fd53 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807cb6a: 4b89 ldr r3, [pc, #548] ; (807cd90 ) 807cb6c: 7b1b ldrb r3, [r3, #12] 807cb6e: b2db uxtb r3, r3 807cb70: 4619 mov r1, r3 807cb72: 4b87 ldr r3, [pc, #540] ; (807cd90 ) 807cb74: 78db ldrb r3, [r3, #3] 807cb76: b2db uxtb r3, r3 807cb78: 4618 mov r0, r3 807cb7a: 4a8c ldr r2, [pc, #560] ; (807cdac ) 807cb7c: 460b mov r3, r1 807cb7e: 009b lsls r3, r3, #2 807cb80: 440b add r3, r1 807cb82: 4403 add r3, r0 807cb84: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cb88: 461a mov r2, r3 807cb8a: 216a movs r1, #106 ; 0x6a 807cb8c: f44f 7082 mov.w r0, #260 ; 0x104 807cb90: f7d8 fafe bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807cb94: 4b7e ldr r3, [pc, #504] ; (807cd90 ) 807cb96: 7b1b ldrb r3, [r3, #12] 807cb98: b2db uxtb r3, r3 807cb9a: 4619 mov r1, r3 807cb9c: 4b7c ldr r3, [pc, #496] ; (807cd90 ) 807cb9e: 791b ldrb r3, [r3, #4] 807cba0: b2db uxtb r3, r3 807cba2: 4618 mov r0, r3 807cba4: 4a81 ldr r2, [pc, #516] ; (807cdac ) 807cba6: 460b mov r3, r1 807cba8: 009b lsls r3, r3, #2 807cbaa: 440b add r3, r1 807cbac: 4403 add r3, r0 807cbae: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cbb2: 461a mov r2, r3 807cbb4: 217a movs r1, #122 ; 0x7a 807cbb6: f44f 7082 mov.w r0, #260 ; 0x104 807cbba: f7d8 fae9 bl 8055190 807cbbe: e04d b.n 807cc5c } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807cbc0: 4975 ldr r1, [pc, #468] ; (807cd98 ) 807cbc2: 487b ldr r0, [pc, #492] ; (807cdb0 ) 807cbc4: f7d7 fd24 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807cbc8: 4b71 ldr r3, [pc, #452] ; (807cd90 ) 807cbca: 7b1b ldrb r3, [r3, #12] 807cbcc: b2db uxtb r3, r3 807cbce: 4619 mov r1, r3 807cbd0: 4a75 ldr r2, [pc, #468] ; (807cda8 ) 807cbd2: 232c movs r3, #44 ; 0x2c 807cbd4: fb03 f301 mul.w r3, r3, r1 807cbd8: 4413 add r3, r2 807cbda: 330c adds r3, #12 807cbdc: 681b ldr r3, [r3, #0] 807cbde: 461a mov r2, r3 807cbe0: 216a movs r1, #106 ; 0x6a 807cbe2: 200a movs r0, #10 807cbe4: f7d8 fabc bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807cbe8: 4b69 ldr r3, [pc, #420] ; (807cd90 ) 807cbea: 7b1b ldrb r3, [r3, #12] 807cbec: b2db uxtb r3, r3 807cbee: 4619 mov r1, r3 807cbf0: 4a6d ldr r2, [pc, #436] ; (807cda8 ) 807cbf2: 232c movs r3, #44 ; 0x2c 807cbf4: fb03 f301 mul.w r3, r3, r1 807cbf8: 4413 add r3, r2 807cbfa: 3310 adds r3, #16 807cbfc: 681b ldr r3, [r3, #0] 807cbfe: 461a mov r2, r3 807cc00: 217a movs r1, #122 ; 0x7a 807cc02: 200a movs r0, #10 807cc04: f7d8 faac bl 8055160 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807cc08: 4b61 ldr r3, [pc, #388] ; (807cd90 ) 807cc0a: 7b1b ldrb r3, [r3, #12] 807cc0c: b2db uxtb r3, r3 807cc0e: 4619 mov r1, r3 807cc10: 4b5f ldr r3, [pc, #380] ; (807cd90 ) 807cc12: 78db ldrb r3, [r3, #3] 807cc14: b2db uxtb r3, r3 807cc16: 4618 mov r0, r3 807cc18: 4a64 ldr r2, [pc, #400] ; (807cdac ) 807cc1a: 460b mov r3, r1 807cc1c: 009b lsls r3, r3, #2 807cc1e: 440b add r3, r1 807cc20: 4403 add r3, r0 807cc22: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cc26: 461a mov r2, r3 807cc28: 216a movs r1, #106 ; 0x6a 807cc2a: f44f 7082 mov.w r0, #260 ; 0x104 807cc2e: f7d8 faaf bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807cc32: 4b57 ldr r3, [pc, #348] ; (807cd90 ) 807cc34: 7b1b ldrb r3, [r3, #12] 807cc36: b2db uxtb r3, r3 807cc38: 4619 mov r1, r3 807cc3a: 4b55 ldr r3, [pc, #340] ; (807cd90 ) 807cc3c: 791b ldrb r3, [r3, #4] 807cc3e: b2db uxtb r3, r3 807cc40: 4618 mov r0, r3 807cc42: 4a5a ldr r2, [pc, #360] ; (807cdac ) 807cc44: 460b mov r3, r1 807cc46: 009b lsls r3, r3, #2 807cc48: 440b add r3, r1 807cc4a: 4403 add r3, r0 807cc4c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cc50: 461a mov r2, r3 807cc52: 217a movs r1, #122 ; 0x7a 807cc54: f44f 7082 mov.w r0, #260 ; 0x104 807cc58: f7d8 fa9a bl 8055190 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cc5c: 494e ldr r1, [pc, #312] ; (807cd98 ) 807cc5e: 484f ldr r0, [pc, #316] ; (807cd9c ) 807cc60: f7d7 fcd6 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807cc64: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807cc68: 461a mov r2, r3 807cc6a: 213a movs r1, #58 ; 0x3a 807cc6c: f44f 7082 mov.w r0, #260 ; 0x104 807cc70: f7d8 fa8e bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807cc74: f507 73cc add.w r3, r7, #408 ; 0x198 807cc78: 461a mov r2, r3 807cc7a: 214a movs r1, #74 ; 0x4a 807cc7c: f44f 7082 mov.w r0, #260 ; 0x104 807cc80: f7d8 fa86 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807cc84: 4b42 ldr r3, [pc, #264] ; (807cd90 ) 807cc86: 7b1b ldrb r3, [r3, #12] 807cc88: b2db uxtb r3, r3 807cc8a: 4619 mov r1, r3 807cc8c: 4b40 ldr r3, [pc, #256] ; (807cd90 ) 807cc8e: 789b ldrb r3, [r3, #2] 807cc90: b2db uxtb r3, r3 807cc92: 4618 mov r0, r3 807cc94: 4a45 ldr r2, [pc, #276] ; (807cdac ) 807cc96: 460b mov r3, r1 807cc98: 009b lsls r3, r3, #2 807cc9a: 440b add r3, r1 807cc9c: 4403 add r3, r0 807cc9e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cca2: 461a mov r2, r3 807cca4: 215a movs r1, #90 ; 0x5a 807cca6: f44f 7082 mov.w r0, #260 ; 0x104 807ccaa: f7d8 fa71 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807ccae: 4b38 ldr r3, [pc, #224] ; (807cd90 ) 807ccb0: 7b1b ldrb r3, [r3, #12] 807ccb2: b2db uxtb r3, r3 807ccb4: 4619 mov r1, r3 807ccb6: 4b36 ldr r3, [pc, #216] ; (807cd90 ) 807ccb8: 7b5b ldrb r3, [r3, #13] 807ccba: b2db uxtb r3, r3 807ccbc: 4618 mov r0, r3 807ccbe: 4a3d ldr r2, [pc, #244] ; (807cdb4 ) 807ccc0: 460b mov r3, r1 807ccc2: 009b lsls r3, r3, #2 807ccc4: 440b add r3, r1 807ccc6: 005b lsls r3, r3, #1 807ccc8: 4403 add r3, r0 807ccca: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ccce: 461a mov r2, r3 807ccd0: 218a movs r1, #138 ; 0x8a 807ccd2: f44f 7082 mov.w r0, #260 ; 0x104 807ccd6: f7d8 fa5b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807ccda: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ccde: 461a mov r2, r3 807cce0: 21da movs r1, #218 ; 0xda 807cce2: f44f 7082 mov.w r0, #260 ; 0x104 807cce6: f7d8 fa53 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ccea: 492b ldr r1, [pc, #172] ; (807cd98 ) 807ccec: f04f 30ff mov.w r0, #4294967295 807ccf0: f7d7 fc8e bl 8054610 BSP_LCD_FillRect(255, 157, 10, 10); 807ccf4: 230a movs r3, #10 807ccf6: 220a movs r2, #10 807ccf8: 219d movs r1, #157 ; 0x9d 807ccfa: 20ff movs r0, #255 ; 0xff 807ccfc: f7d8 f916 bl 8054f2c BSP_LCD_FillRect(255, 173, 10, 10); 807cd00: 230a movs r3, #10 807cd02: 220a movs r2, #10 807cd04: 21ad movs r1, #173 ; 0xad 807cd06: 20ff movs r0, #255 ; 0xff 807cd08: f7d8 f910 bl 8054f2c BSP_LCD_FillRect(255, 189, 10, 10); 807cd0c: 230a movs r3, #10 807cd0e: 220a movs r2, #10 807cd10: 21bd movs r1, #189 ; 0xbd 807cd12: 20ff movs r0, #255 ; 0xff 807cd14: f7d8 f90a bl 8054f2c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807cd18: 4b1d ldr r3, [pc, #116] ; (807cd90 ) 807cd1a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807cd1e: f003 0304 and.w r3, r3, #4 807cd22: 2b00 cmp r3, #0 807cd24: d048 beq.n 807cdb8 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807cd26: 491c ldr r1, [pc, #112] ; (807cd98 ) 807cd28: 4821 ldr r0, [pc, #132] ; (807cdb0 ) 807cd2a: f7d7 fc71 bl 8054610 if(pardata.IIN != VOLTS) 807cd2e: 4b18 ldr r3, [pc, #96] ; (807cd90 ) 807cd30: 799b ldrb r3, [r3, #6] 807cd32: b2db uxtb r3, r3 807cd34: 2b02 cmp r3, #2 807cd36: d010 beq.n 807cd5a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cd38: 4b15 ldr r3, [pc, #84] ; (807cd90 ) 807cd3a: 7b1b ldrb r3, [r3, #12] 807cd3c: b2db uxtb r3, r3 807cd3e: 4619 mov r1, r3 807cd40: 4a19 ldr r2, [pc, #100] ; (807cda8 ) 807cd42: 232c movs r3, #44 ; 0x2c 807cd44: fb03 f301 mul.w r3, r3, r1 807cd48: 4413 add r3, r2 807cd4a: 3324 adds r3, #36 ; 0x24 807cd4c: 681b ldr r3, [r3, #0] 807cd4e: 461a mov r2, r3 807cd50: 21ca movs r1, #202 ; 0xca 807cd52: 200a movs r0, #10 807cd54: f7d8 fa04 bl 8055160 807cd58: e00f b.n 807cd7a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cd5a: 4b0d ldr r3, [pc, #52] ; (807cd90 ) 807cd5c: 7b1b ldrb r3, [r3, #12] 807cd5e: b2db uxtb r3, r3 807cd60: 4619 mov r1, r3 807cd62: 4a0c ldr r2, [pc, #48] ; (807cd94 ) 807cd64: 232c movs r3, #44 ; 0x2c 807cd66: fb03 f301 mul.w r3, r3, r1 807cd6a: 4413 add r3, r2 807cd6c: 3324 adds r3, #36 ; 0x24 807cd6e: 681b ldr r3, [r3, #0] 807cd70: 461a mov r2, r3 807cd72: 21ca movs r1, #202 ; 0xca 807cd74: 200a movs r0, #10 807cd76: f7d8 f9f3 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807cd7a: f507 733b add.w r3, r7, #748 ; 0x2ec 807cd7e: 461a mov r2, r3 807cd80: 21ca movs r1, #202 ; 0xca 807cd82: f44f 7082 mov.w r0, #260 ; 0x104 807cd86: f7d8 fa03 bl 8055190 807cd8a: f001 bf6f b.w 807ec6c 807cd8e: bf00 nop 807cd90: 20023ea8 .word 0x20023ea8 807cd94: 20020714 .word 0x20020714 807cd98: ff0a0f1f .word 0xff0a0f1f 807cd9c: ffd8aa57 .word 0xffd8aa57 807cda0: 20020070 .word 0x20020070 807cda4: 200205cc .word 0x200205cc 807cda8: 200206bc .word 0x200206bc 807cdac: 200202c4 .word 0x200202c4 807cdb0: ff808080 .word 0xff808080 807cdb4: 20020254 .word 0x20020254 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807cdb8: 49c2 ldr r1, [pc, #776] ; (807d0c4 ) 807cdba: f04f 30ff mov.w r0, #4294967295 807cdbe: f7d7 fc27 bl 8054610 if(pardata.IIN != VOLTS) 807cdc2: 4bc1 ldr r3, [pc, #772] ; (807d0c8 ) 807cdc4: 799b ldrb r3, [r3, #6] 807cdc6: b2db uxtb r3, r3 807cdc8: 2b02 cmp r3, #2 807cdca: d010 beq.n 807cdee LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cdcc: 4bbe ldr r3, [pc, #760] ; (807d0c8 ) 807cdce: 7b1b ldrb r3, [r3, #12] 807cdd0: b2db uxtb r3, r3 807cdd2: 4619 mov r1, r3 807cdd4: 4abd ldr r2, [pc, #756] ; (807d0cc ) 807cdd6: 232c movs r3, #44 ; 0x2c 807cdd8: fb03 f301 mul.w r3, r3, r1 807cddc: 4413 add r3, r2 807cdde: 3324 adds r3, #36 ; 0x24 807cde0: 681b ldr r3, [r3, #0] 807cde2: 461a mov r2, r3 807cde4: 21ca movs r1, #202 ; 0xca 807cde6: 200a movs r0, #10 807cde8: f7d8 f9ba bl 8055160 807cdec: e00f b.n 807ce0e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cdee: 4bb6 ldr r3, [pc, #728] ; (807d0c8 ) 807cdf0: 7b1b ldrb r3, [r3, #12] 807cdf2: b2db uxtb r3, r3 807cdf4: 4619 mov r1, r3 807cdf6: 4ab6 ldr r2, [pc, #728] ; (807d0d0 ) 807cdf8: 232c movs r3, #44 ; 0x2c 807cdfa: fb03 f301 mul.w r3, r3, r1 807cdfe: 4413 add r3, r2 807ce00: 3324 adds r3, #36 ; 0x24 807ce02: 681b ldr r3, [r3, #0] 807ce04: 461a mov r2, r3 807ce06: 21ca movs r1, #202 ; 0xca 807ce08: 200a movs r0, #10 807ce0a: f7d8 f9a9 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ce0e: 49ad ldr r1, [pc, #692] ; (807d0c4 ) 807ce10: 48b0 ldr r0, [pc, #704] ; (807d0d4 ) 807ce12: f7d7 fbfd bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807ce16: f507 733b add.w r3, r7, #748 ; 0x2ec 807ce1a: 461a mov r2, r3 807ce1c: 21ca movs r1, #202 ; 0xca 807ce1e: f44f 7082 mov.w r0, #260 ; 0x104 807ce22: f7d8 f9b5 bl 8055190 807ce26: f001 bf21 b.w 807ec6c } } else if(menupos == VibAutoKu) 807ce2a: 4bab ldr r3, [pc, #684] ; (807d0d8 ) 807ce2c: 781b ldrb r3, [r3, #0] 807ce2e: b2db uxtb r3, r3 807ce30: 2b08 cmp r3, #8 807ce32: f040 81ae bne.w 807d192 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ce36: 49a3 ldr r1, [pc, #652] ; (807d0c4 ) 807ce38: f04f 30ff mov.w r0, #4294967295 807ce3c: f7d7 fbe8 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807ce40: 4ba1 ldr r3, [pc, #644] ; (807d0c8 ) 807ce42: 7b1b ldrb r3, [r3, #12] 807ce44: b2db uxtb r3, r3 807ce46: 461a mov r2, r3 807ce48: 4ba4 ldr r3, [pc, #656] ; (807d0dc ) 807ce4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ce4e: 461a mov r2, r3 807ce50: 2127 movs r1, #39 ; 0x27 807ce52: 200a movs r0, #10 807ce54: f7d8 f984 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ce58: 499a ldr r1, [pc, #616] ; (807d0c4 ) 807ce5a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ce5e: f7d7 fbd7 bl 8054610 BSP_LCD_FillRect(253, 187, 14, 14); 807ce62: 230e movs r3, #14 807ce64: 220e movs r2, #14 807ce66: 21bb movs r1, #187 ; 0xbb 807ce68: 20fd movs r0, #253 ; 0xfd 807ce6a: f7d8 f85f bl 8054f2c if(pardata.HP >= 2.0f) 807ce6e: 4b96 ldr r3, [pc, #600] ; (807d0c8 ) 807ce70: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807ce74: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807ce78: eef4 7ac7 vcmpe.f32 s15, s14 807ce7c: eef1 fa10 vmrs APSR_nzcv, fpscr 807ce80: db53 blt.n 807cf2a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ce82: 4990 ldr r1, [pc, #576] ; (807d0c4 ) 807ce84: f04f 30ff mov.w r0, #4294967295 807ce88: f7d7 fbc2 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807ce8c: 4b8e ldr r3, [pc, #568] ; (807d0c8 ) 807ce8e: 7b1b ldrb r3, [r3, #12] 807ce90: b2db uxtb r3, r3 807ce92: 4619 mov r1, r3 807ce94: 4a8d ldr r2, [pc, #564] ; (807d0cc ) 807ce96: 232c movs r3, #44 ; 0x2c 807ce98: fb03 f301 mul.w r3, r3, r1 807ce9c: 4413 add r3, r2 807ce9e: 330c adds r3, #12 807cea0: 681b ldr r3, [r3, #0] 807cea2: 461a mov r2, r3 807cea4: 216a movs r1, #106 ; 0x6a 807cea6: 200a movs r0, #10 807cea8: f7d8 f95a bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807ceac: 4b86 ldr r3, [pc, #536] ; (807d0c8 ) 807ceae: 7b1b ldrb r3, [r3, #12] 807ceb0: b2db uxtb r3, r3 807ceb2: 4619 mov r1, r3 807ceb4: 4a85 ldr r2, [pc, #532] ; (807d0cc ) 807ceb6: 232c movs r3, #44 ; 0x2c 807ceb8: fb03 f301 mul.w r3, r3, r1 807cebc: 4413 add r3, r2 807cebe: 3310 adds r3, #16 807cec0: 681b ldr r3, [r3, #0] 807cec2: 461a mov r2, r3 807cec4: 217a movs r1, #122 ; 0x7a 807cec6: 200a movs r0, #10 807cec8: f7d8 f94a bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cecc: 497d ldr r1, [pc, #500] ; (807d0c4 ) 807cece: 4881 ldr r0, [pc, #516] ; (807d0d4 ) 807ced0: f7d7 fb9e bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807ced4: 4b7c ldr r3, [pc, #496] ; (807d0c8 ) 807ced6: 7b1b ldrb r3, [r3, #12] 807ced8: b2db uxtb r3, r3 807ceda: 4619 mov r1, r3 807cedc: 4b7a ldr r3, [pc, #488] ; (807d0c8 ) 807cede: 78db ldrb r3, [r3, #3] 807cee0: b2db uxtb r3, r3 807cee2: 4618 mov r0, r3 807cee4: 4a7e ldr r2, [pc, #504] ; (807d0e0 ) 807cee6: 460b mov r3, r1 807cee8: 009b lsls r3, r3, #2 807ceea: 440b add r3, r1 807ceec: 4403 add r3, r0 807ceee: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cef2: 461a mov r2, r3 807cef4: 216a movs r1, #106 ; 0x6a 807cef6: f44f 7082 mov.w r0, #260 ; 0x104 807cefa: f7d8 f949 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807cefe: 4b72 ldr r3, [pc, #456] ; (807d0c8 ) 807cf00: 7b1b ldrb r3, [r3, #12] 807cf02: b2db uxtb r3, r3 807cf04: 4619 mov r1, r3 807cf06: 4b70 ldr r3, [pc, #448] ; (807d0c8 ) 807cf08: 791b ldrb r3, [r3, #4] 807cf0a: b2db uxtb r3, r3 807cf0c: 4618 mov r0, r3 807cf0e: 4a74 ldr r2, [pc, #464] ; (807d0e0 ) 807cf10: 460b mov r3, r1 807cf12: 009b lsls r3, r3, #2 807cf14: 440b add r3, r1 807cf16: 4403 add r3, r0 807cf18: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cf1c: 461a mov r2, r3 807cf1e: 217a movs r1, #122 ; 0x7a 807cf20: f44f 7082 mov.w r0, #260 ; 0x104 807cf24: f7d8 f934 bl 8055190 807cf28: e04d b.n 807cfc6 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807cf2a: 4966 ldr r1, [pc, #408] ; (807d0c4 ) 807cf2c: 486d ldr r0, [pc, #436] ; (807d0e4 ) 807cf2e: f7d7 fb6f bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807cf32: 4b65 ldr r3, [pc, #404] ; (807d0c8 ) 807cf34: 7b1b ldrb r3, [r3, #12] 807cf36: b2db uxtb r3, r3 807cf38: 4619 mov r1, r3 807cf3a: 4a64 ldr r2, [pc, #400] ; (807d0cc ) 807cf3c: 232c movs r3, #44 ; 0x2c 807cf3e: fb03 f301 mul.w r3, r3, r1 807cf42: 4413 add r3, r2 807cf44: 330c adds r3, #12 807cf46: 681b ldr r3, [r3, #0] 807cf48: 461a mov r2, r3 807cf4a: 216a movs r1, #106 ; 0x6a 807cf4c: 200a movs r0, #10 807cf4e: f7d8 f907 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807cf52: 4b5d ldr r3, [pc, #372] ; (807d0c8 ) 807cf54: 7b1b ldrb r3, [r3, #12] 807cf56: b2db uxtb r3, r3 807cf58: 4619 mov r1, r3 807cf5a: 4a5c ldr r2, [pc, #368] ; (807d0cc ) 807cf5c: 232c movs r3, #44 ; 0x2c 807cf5e: fb03 f301 mul.w r3, r3, r1 807cf62: 4413 add r3, r2 807cf64: 3310 adds r3, #16 807cf66: 681b ldr r3, [r3, #0] 807cf68: 461a mov r2, r3 807cf6a: 217a movs r1, #122 ; 0x7a 807cf6c: 200a movs r0, #10 807cf6e: f7d8 f8f7 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807cf72: 4b55 ldr r3, [pc, #340] ; (807d0c8 ) 807cf74: 7b1b ldrb r3, [r3, #12] 807cf76: b2db uxtb r3, r3 807cf78: 4619 mov r1, r3 807cf7a: 4b53 ldr r3, [pc, #332] ; (807d0c8 ) 807cf7c: 78db ldrb r3, [r3, #3] 807cf7e: b2db uxtb r3, r3 807cf80: 4618 mov r0, r3 807cf82: 4a57 ldr r2, [pc, #348] ; (807d0e0 ) 807cf84: 460b mov r3, r1 807cf86: 009b lsls r3, r3, #2 807cf88: 440b add r3, r1 807cf8a: 4403 add r3, r0 807cf8c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cf90: 461a mov r2, r3 807cf92: 216a movs r1, #106 ; 0x6a 807cf94: f44f 7082 mov.w r0, #260 ; 0x104 807cf98: f7d8 f8fa bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807cf9c: 4b4a ldr r3, [pc, #296] ; (807d0c8 ) 807cf9e: 7b1b ldrb r3, [r3, #12] 807cfa0: b2db uxtb r3, r3 807cfa2: 4619 mov r1, r3 807cfa4: 4b48 ldr r3, [pc, #288] ; (807d0c8 ) 807cfa6: 791b ldrb r3, [r3, #4] 807cfa8: b2db uxtb r3, r3 807cfaa: 4618 mov r0, r3 807cfac: 4a4c ldr r2, [pc, #304] ; (807d0e0 ) 807cfae: 460b mov r3, r1 807cfb0: 009b lsls r3, r3, #2 807cfb2: 440b add r3, r1 807cfb4: 4403 add r3, r0 807cfb6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807cfba: 461a mov r2, r3 807cfbc: 217a movs r1, #122 ; 0x7a 807cfbe: f44f 7082 mov.w r0, #260 ; 0x104 807cfc2: f7d8 f8e5 bl 8055190 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cfc6: 493f ldr r1, [pc, #252] ; (807d0c4 ) 807cfc8: 4842 ldr r0, [pc, #264] ; (807d0d4 ) 807cfca: f7d7 fb21 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807cfce: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807cfd2: 461a mov r2, r3 807cfd4: 213a movs r1, #58 ; 0x3a 807cfd6: f44f 7082 mov.w r0, #260 ; 0x104 807cfda: f7d8 f8d9 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807cfde: f507 73cc add.w r3, r7, #408 ; 0x198 807cfe2: 461a mov r2, r3 807cfe4: 214a movs r1, #74 ; 0x4a 807cfe6: f44f 7082 mov.w r0, #260 ; 0x104 807cfea: f7d8 f8d1 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807cfee: 4b36 ldr r3, [pc, #216] ; (807d0c8 ) 807cff0: 7b1b ldrb r3, [r3, #12] 807cff2: b2db uxtb r3, r3 807cff4: 4619 mov r1, r3 807cff6: 4b34 ldr r3, [pc, #208] ; (807d0c8 ) 807cff8: 789b ldrb r3, [r3, #2] 807cffa: b2db uxtb r3, r3 807cffc: 4618 mov r0, r3 807cffe: 4a38 ldr r2, [pc, #224] ; (807d0e0 ) 807d000: 460b mov r3, r1 807d002: 009b lsls r3, r3, #2 807d004: 440b add r3, r1 807d006: 4403 add r3, r0 807d008: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d00c: 461a mov r2, r3 807d00e: 215a movs r1, #90 ; 0x5a 807d010: f44f 7082 mov.w r0, #260 ; 0x104 807d014: f7d8 f8bc bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807d018: 4b2b ldr r3, [pc, #172] ; (807d0c8 ) 807d01a: 7b1b ldrb r3, [r3, #12] 807d01c: b2db uxtb r3, r3 807d01e: 4619 mov r1, r3 807d020: 4b29 ldr r3, [pc, #164] ; (807d0c8 ) 807d022: 7b5b ldrb r3, [r3, #13] 807d024: b2db uxtb r3, r3 807d026: 4618 mov r0, r3 807d028: 4a2f ldr r2, [pc, #188] ; (807d0e8 ) 807d02a: 460b mov r3, r1 807d02c: 009b lsls r3, r3, #2 807d02e: 440b add r3, r1 807d030: 005b lsls r3, r3, #1 807d032: 4403 add r3, r0 807d034: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d038: 461a mov r2, r3 807d03a: 218a movs r1, #138 ; 0x8a 807d03c: f44f 7082 mov.w r0, #260 ; 0x104 807d040: f7d8 f8a6 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807d044: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807d048: 461a mov r2, r3 807d04a: 21da movs r1, #218 ; 0xda 807d04c: f44f 7082 mov.w r0, #260 ; 0x104 807d050: f7d8 f89e bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d054: 491b ldr r1, [pc, #108] ; (807d0c4 ) 807d056: f04f 30ff mov.w r0, #4294967295 807d05a: f7d7 fad9 bl 8054610 BSP_LCD_FillRect(255, 157, 10, 10); 807d05e: 230a movs r3, #10 807d060: 220a movs r2, #10 807d062: 219d movs r1, #157 ; 0x9d 807d064: 20ff movs r0, #255 ; 0xff 807d066: f7d7 ff61 bl 8054f2c BSP_LCD_FillRect(255, 173, 10, 10); 807d06a: 230a movs r3, #10 807d06c: 220a movs r2, #10 807d06e: 21ad movs r1, #173 ; 0xad 807d070: 20ff movs r0, #255 ; 0xff 807d072: f7d7 ff5b bl 8054f2c BSP_LCD_FillRect(255, 189, 10, 10); 807d076: 230a movs r3, #10 807d078: 220a movs r2, #10 807d07a: 21bd movs r1, #189 ; 0xbd 807d07c: 20ff movs r0, #255 ; 0xff 807d07e: f7d7 ff55 bl 8054f2c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807d082: 4b11 ldr r3, [pc, #68] ; (807d0c8 ) 807d084: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807d088: f003 0304 and.w r3, r3, #4 807d08c: 2b00 cmp r3, #0 807d08e: d047 beq.n 807d120 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807d090: 490c ldr r1, [pc, #48] ; (807d0c4 ) 807d092: 4814 ldr r0, [pc, #80] ; (807d0e4 ) 807d094: f7d7 fabc bl 8054610 if(pardata.IIN != VOLTS) 807d098: 4b0b ldr r3, [pc, #44] ; (807d0c8 ) 807d09a: 799b ldrb r3, [r3, #6] 807d09c: b2db uxtb r3, r3 807d09e: 2b02 cmp r3, #2 807d0a0: d024 beq.n 807d0ec LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d0a2: 4b09 ldr r3, [pc, #36] ; (807d0c8 ) 807d0a4: 7b1b ldrb r3, [r3, #12] 807d0a6: b2db uxtb r3, r3 807d0a8: 4619 mov r1, r3 807d0aa: 4a08 ldr r2, [pc, #32] ; (807d0cc ) 807d0ac: 232c movs r3, #44 ; 0x2c 807d0ae: fb03 f301 mul.w r3, r3, r1 807d0b2: 4413 add r3, r2 807d0b4: 3324 adds r3, #36 ; 0x24 807d0b6: 681b ldr r3, [r3, #0] 807d0b8: 461a mov r2, r3 807d0ba: 21ca movs r1, #202 ; 0xca 807d0bc: 200a movs r0, #10 807d0be: f7d8 f84f bl 8055160 807d0c2: e023 b.n 807d10c 807d0c4: ff0a0f1f .word 0xff0a0f1f 807d0c8: 20023ea8 .word 0x20023ea8 807d0cc: 200206bc .word 0x200206bc 807d0d0: 20020714 .word 0x20020714 807d0d4: ffd8aa57 .word 0xffd8aa57 807d0d8: 20020070 .word 0x20020070 807d0dc: 200205cc .word 0x200205cc 807d0e0: 200202c4 .word 0x200202c4 807d0e4: ff808080 .word 0xff808080 807d0e8: 20020254 .word 0x20020254 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d0ec: 4b74 ldr r3, [pc, #464] ; (807d2c0 ) 807d0ee: 7b1b ldrb r3, [r3, #12] 807d0f0: b2db uxtb r3, r3 807d0f2: 4619 mov r1, r3 807d0f4: 4a73 ldr r2, [pc, #460] ; (807d2c4 ) 807d0f6: 232c movs r3, #44 ; 0x2c 807d0f8: fb03 f301 mul.w r3, r3, r1 807d0fc: 4413 add r3, r2 807d0fe: 3324 adds r3, #36 ; 0x24 807d100: 681b ldr r3, [r3, #0] 807d102: 461a mov r2, r3 807d104: 21ca movs r1, #202 ; 0xca 807d106: 200a movs r0, #10 807d108: f7d8 f82a bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807d10c: f507 733b add.w r3, r7, #748 ; 0x2ec 807d110: 461a mov r2, r3 807d112: 21ca movs r1, #202 ; 0xca 807d114: f44f 7082 mov.w r0, #260 ; 0x104 807d118: f7d8 f83a bl 8055190 807d11c: f001 bda6 b.w 807ec6c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d120: 4969 ldr r1, [pc, #420] ; (807d2c8 ) 807d122: f04f 30ff mov.w r0, #4294967295 807d126: f7d7 fa73 bl 8054610 if(pardata.IIN != VOLTS) 807d12a: 4b65 ldr r3, [pc, #404] ; (807d2c0 ) 807d12c: 799b ldrb r3, [r3, #6] 807d12e: b2db uxtb r3, r3 807d130: 2b02 cmp r3, #2 807d132: d010 beq.n 807d156 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d134: 4b62 ldr r3, [pc, #392] ; (807d2c0 ) 807d136: 7b1b ldrb r3, [r3, #12] 807d138: b2db uxtb r3, r3 807d13a: 4619 mov r1, r3 807d13c: 4a63 ldr r2, [pc, #396] ; (807d2cc ) 807d13e: 232c movs r3, #44 ; 0x2c 807d140: fb03 f301 mul.w r3, r3, r1 807d144: 4413 add r3, r2 807d146: 3324 adds r3, #36 ; 0x24 807d148: 681b ldr r3, [r3, #0] 807d14a: 461a mov r2, r3 807d14c: 21ca movs r1, #202 ; 0xca 807d14e: 200a movs r0, #10 807d150: f7d8 f806 bl 8055160 807d154: e00f b.n 807d176 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d156: 4b5a ldr r3, [pc, #360] ; (807d2c0 ) 807d158: 7b1b ldrb r3, [r3, #12] 807d15a: b2db uxtb r3, r3 807d15c: 4619 mov r1, r3 807d15e: 4a59 ldr r2, [pc, #356] ; (807d2c4 ) 807d160: 232c movs r3, #44 ; 0x2c 807d162: fb03 f301 mul.w r3, r3, r1 807d166: 4413 add r3, r2 807d168: 3324 adds r3, #36 ; 0x24 807d16a: 681b ldr r3, [r3, #0] 807d16c: 461a mov r2, r3 807d16e: 21ca movs r1, #202 ; 0xca 807d170: 200a movs r0, #10 807d172: f7d7 fff5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d176: 4954 ldr r1, [pc, #336] ; (807d2c8 ) 807d178: 4855 ldr r0, [pc, #340] ; (807d2d0 ) 807d17a: f7d7 fa49 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807d17e: f507 733b add.w r3, r7, #748 ; 0x2ec 807d182: 461a mov r2, r3 807d184: 21ca movs r1, #202 ; 0xca 807d186: f44f 7082 mov.w r0, #260 ; 0x104 807d18a: f7d8 f801 bl 8055190 807d18e: f001 bd6d b.w 807ec6c } } else if(menupos == SaveToFile) 807d192: 4b50 ldr r3, [pc, #320] ; (807d2d4 ) 807d194: 781b ldrb r3, [r3, #0] 807d196: b2db uxtb r3, r3 807d198: 2b0a cmp r3, #10 807d19a: f040 81bb bne.w 807d514 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d19e: 494a ldr r1, [pc, #296] ; (807d2c8 ) 807d1a0: f04f 30ff mov.w r0, #4294967295 807d1a4: f7d7 fa34 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807d1a8: 4b45 ldr r3, [pc, #276] ; (807d2c0 ) 807d1aa: 7b1b ldrb r3, [r3, #12] 807d1ac: b2db uxtb r3, r3 807d1ae: 461a mov r2, r3 807d1b0: 4b49 ldr r3, [pc, #292] ; (807d2d8 ) 807d1b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d1b6: 461a mov r2, r3 807d1b8: 2127 movs r1, #39 ; 0x27 807d1ba: 200a movs r0, #10 807d1bc: f7d7 ffd0 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d1c0: 4941 ldr r1, [pc, #260] ; (807d2c8 ) 807d1c2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d1c6: f7d7 fa23 bl 8054610 if(strlen(MeasFileName)) 807d1ca: 4b44 ldr r3, [pc, #272] ; (807d2dc ) 807d1cc: 781b ldrb r3, [r3, #0] 807d1ce: 2b00 cmp r3, #0 807d1d0: d008 beq.n 807d1e4 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807d1d2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807d1d6: 461a mov r2, r3 807d1d8: 21da movs r1, #218 ; 0xda 807d1da: f44f 7082 mov.w r0, #260 ; 0x104 807d1de: f7d7 ffd7 bl 8055190 807d1e2: e00f b.n 807d204 else LCD_DisplayString(10, LCD_LINE_13, (char *)TEXT_PARAM_VIB[pardata.LANG][10]);//"Çàïèñü â ôàéë" 807d1e4: 4b36 ldr r3, [pc, #216] ; (807d2c0 ) 807d1e6: 7b1b ldrb r3, [r3, #12] 807d1e8: b2db uxtb r3, r3 807d1ea: 4619 mov r1, r3 807d1ec: 4a37 ldr r2, [pc, #220] ; (807d2cc ) 807d1ee: 232c movs r3, #44 ; 0x2c 807d1f0: fb03 f301 mul.w r3, r3, r1 807d1f4: 4413 add r3, r2 807d1f6: 3328 adds r3, #40 ; 0x28 807d1f8: 681b ldr r3, [r3, #0] 807d1fa: 461a mov r2, r3 807d1fc: 21da movs r1, #218 ; 0xda 807d1fe: 200a movs r0, #10 807d200: f7d7 ffae bl 8055160 if(pardata.HP >= 2.0f) 807d204: 4b2e ldr r3, [pc, #184] ; (807d2c0 ) 807d206: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807d20a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807d20e: eef4 7ac7 vcmpe.f32 s15, s14 807d212: eef1 fa10 vmrs APSR_nzcv, fpscr 807d216: db65 blt.n 807d2e4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d218: 492b ldr r1, [pc, #172] ; (807d2c8 ) 807d21a: f04f 30ff mov.w r0, #4294967295 807d21e: f7d7 f9f7 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807d222: 4b27 ldr r3, [pc, #156] ; (807d2c0 ) 807d224: 7b1b ldrb r3, [r3, #12] 807d226: b2db uxtb r3, r3 807d228: 4619 mov r1, r3 807d22a: 4a28 ldr r2, [pc, #160] ; (807d2cc ) 807d22c: 232c movs r3, #44 ; 0x2c 807d22e: fb03 f301 mul.w r3, r3, r1 807d232: 4413 add r3, r2 807d234: 330c adds r3, #12 807d236: 681b ldr r3, [r3, #0] 807d238: 461a mov r2, r3 807d23a: 216a movs r1, #106 ; 0x6a 807d23c: 200a movs r0, #10 807d23e: f7d7 ff8f bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807d242: 4b1f ldr r3, [pc, #124] ; (807d2c0 ) 807d244: 7b1b ldrb r3, [r3, #12] 807d246: b2db uxtb r3, r3 807d248: 4619 mov r1, r3 807d24a: 4a20 ldr r2, [pc, #128] ; (807d2cc ) 807d24c: 232c movs r3, #44 ; 0x2c 807d24e: fb03 f301 mul.w r3, r3, r1 807d252: 4413 add r3, r2 807d254: 3310 adds r3, #16 807d256: 681b ldr r3, [r3, #0] 807d258: 461a mov r2, r3 807d25a: 217a movs r1, #122 ; 0x7a 807d25c: 200a movs r0, #10 807d25e: f7d7 ff7f bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d262: 4919 ldr r1, [pc, #100] ; (807d2c8 ) 807d264: 481a ldr r0, [pc, #104] ; (807d2d0 ) 807d266: f7d7 f9d3 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807d26a: 4b15 ldr r3, [pc, #84] ; (807d2c0 ) 807d26c: 7b1b ldrb r3, [r3, #12] 807d26e: b2db uxtb r3, r3 807d270: 4619 mov r1, r3 807d272: 4b13 ldr r3, [pc, #76] ; (807d2c0 ) 807d274: 78db ldrb r3, [r3, #3] 807d276: b2db uxtb r3, r3 807d278: 4618 mov r0, r3 807d27a: 4a19 ldr r2, [pc, #100] ; (807d2e0 ) 807d27c: 460b mov r3, r1 807d27e: 009b lsls r3, r3, #2 807d280: 440b add r3, r1 807d282: 4403 add r3, r0 807d284: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d288: 461a mov r2, r3 807d28a: 216a movs r1, #106 ; 0x6a 807d28c: f44f 7082 mov.w r0, #260 ; 0x104 807d290: f7d7 ff7e bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807d294: 4b0a ldr r3, [pc, #40] ; (807d2c0 ) 807d296: 7b1b ldrb r3, [r3, #12] 807d298: b2db uxtb r3, r3 807d29a: 4619 mov r1, r3 807d29c: 4b08 ldr r3, [pc, #32] ; (807d2c0 ) 807d29e: 791b ldrb r3, [r3, #4] 807d2a0: b2db uxtb r3, r3 807d2a2: 4618 mov r0, r3 807d2a4: 4a0e ldr r2, [pc, #56] ; (807d2e0 ) 807d2a6: 460b mov r3, r1 807d2a8: 009b lsls r3, r3, #2 807d2aa: 440b add r3, r1 807d2ac: 4403 add r3, r0 807d2ae: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d2b2: 461a mov r2, r3 807d2b4: 217a movs r1, #122 ; 0x7a 807d2b6: f44f 7082 mov.w r0, #260 ; 0x104 807d2ba: f7d7 ff69 bl 8055190 807d2be: e05f b.n 807d380 807d2c0: 20023ea8 .word 0x20023ea8 807d2c4: 20020714 .word 0x20020714 807d2c8: ff0a0f1f .word 0xff0a0f1f 807d2cc: 200206bc .word 0x200206bc 807d2d0: ffd8aa57 .word 0xffd8aa57 807d2d4: 20020070 .word 0x20020070 807d2d8: 200205cc .word 0x200205cc 807d2dc: 20020e78 .word 0x20020e78 807d2e0: 200202c4 .word 0x200202c4 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807d2e4: 49c6 ldr r1, [pc, #792] ; (807d600 ) 807d2e6: 48c7 ldr r0, [pc, #796] ; (807d604 ) 807d2e8: f7d7 f992 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807d2ec: 4bc6 ldr r3, [pc, #792] ; (807d608 ) 807d2ee: 7b1b ldrb r3, [r3, #12] 807d2f0: b2db uxtb r3, r3 807d2f2: 4619 mov r1, r3 807d2f4: 4ac5 ldr r2, [pc, #788] ; (807d60c ) 807d2f6: 232c movs r3, #44 ; 0x2c 807d2f8: fb03 f301 mul.w r3, r3, r1 807d2fc: 4413 add r3, r2 807d2fe: 330c adds r3, #12 807d300: 681b ldr r3, [r3, #0] 807d302: 461a mov r2, r3 807d304: 216a movs r1, #106 ; 0x6a 807d306: 200a movs r0, #10 807d308: f7d7 ff2a bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807d30c: 4bbe ldr r3, [pc, #760] ; (807d608 ) 807d30e: 7b1b ldrb r3, [r3, #12] 807d310: b2db uxtb r3, r3 807d312: 4619 mov r1, r3 807d314: 4abd ldr r2, [pc, #756] ; (807d60c ) 807d316: 232c movs r3, #44 ; 0x2c 807d318: fb03 f301 mul.w r3, r3, r1 807d31c: 4413 add r3, r2 807d31e: 3310 adds r3, #16 807d320: 681b ldr r3, [r3, #0] 807d322: 461a mov r2, r3 807d324: 217a movs r1, #122 ; 0x7a 807d326: 200a movs r0, #10 807d328: f7d7 ff1a bl 8055160 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807d32c: 4bb6 ldr r3, [pc, #728] ; (807d608 ) 807d32e: 7b1b ldrb r3, [r3, #12] 807d330: b2db uxtb r3, r3 807d332: 4619 mov r1, r3 807d334: 4bb4 ldr r3, [pc, #720] ; (807d608 ) 807d336: 78db ldrb r3, [r3, #3] 807d338: b2db uxtb r3, r3 807d33a: 4618 mov r0, r3 807d33c: 4ab4 ldr r2, [pc, #720] ; (807d610 ) 807d33e: 460b mov r3, r1 807d340: 009b lsls r3, r3, #2 807d342: 440b add r3, r1 807d344: 4403 add r3, r0 807d346: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d34a: 461a mov r2, r3 807d34c: 216a movs r1, #106 ; 0x6a 807d34e: f44f 7082 mov.w r0, #260 ; 0x104 807d352: f7d7 ff1d bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807d356: 4bac ldr r3, [pc, #688] ; (807d608 ) 807d358: 7b1b ldrb r3, [r3, #12] 807d35a: b2db uxtb r3, r3 807d35c: 4619 mov r1, r3 807d35e: 4baa ldr r3, [pc, #680] ; (807d608 ) 807d360: 791b ldrb r3, [r3, #4] 807d362: b2db uxtb r3, r3 807d364: 4618 mov r0, r3 807d366: 4aaa ldr r2, [pc, #680] ; (807d610 ) 807d368: 460b mov r3, r1 807d36a: 009b lsls r3, r3, #2 807d36c: 440b add r3, r1 807d36e: 4403 add r3, r0 807d370: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d374: 461a mov r2, r3 807d376: 217a movs r1, #122 ; 0x7a 807d378: f44f 7082 mov.w r0, #260 ; 0x104 807d37c: f7d7 ff08 bl 8055190 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d380: 499f ldr r1, [pc, #636] ; (807d600 ) 807d382: 48a4 ldr r0, [pc, #656] ; (807d614 ) 807d384: f7d7 f944 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807d388: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807d38c: 461a mov r2, r3 807d38e: 213a movs r1, #58 ; 0x3a 807d390: f44f 7082 mov.w r0, #260 ; 0x104 807d394: f7d7 fefc bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807d398: f507 73cc add.w r3, r7, #408 ; 0x198 807d39c: 461a mov r2, r3 807d39e: 214a movs r1, #74 ; 0x4a 807d3a0: f44f 7082 mov.w r0, #260 ; 0x104 807d3a4: f7d7 fef4 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807d3a8: 4b97 ldr r3, [pc, #604] ; (807d608 ) 807d3aa: 7b1b ldrb r3, [r3, #12] 807d3ac: b2db uxtb r3, r3 807d3ae: 4619 mov r1, r3 807d3b0: 4b95 ldr r3, [pc, #596] ; (807d608 ) 807d3b2: 789b ldrb r3, [r3, #2] 807d3b4: b2db uxtb r3, r3 807d3b6: 4618 mov r0, r3 807d3b8: 4a95 ldr r2, [pc, #596] ; (807d610 ) 807d3ba: 460b mov r3, r1 807d3bc: 009b lsls r3, r3, #2 807d3be: 440b add r3, r1 807d3c0: 4403 add r3, r0 807d3c2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d3c6: 461a mov r2, r3 807d3c8: 215a movs r1, #90 ; 0x5a 807d3ca: f44f 7082 mov.w r0, #260 ; 0x104 807d3ce: f7d7 fedf bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807d3d2: 4b8d ldr r3, [pc, #564] ; (807d608 ) 807d3d4: 7b1b ldrb r3, [r3, #12] 807d3d6: b2db uxtb r3, r3 807d3d8: 4619 mov r1, r3 807d3da: 4b8b ldr r3, [pc, #556] ; (807d608 ) 807d3dc: 7b5b ldrb r3, [r3, #13] 807d3de: b2db uxtb r3, r3 807d3e0: 4618 mov r0, r3 807d3e2: 4a8d ldr r2, [pc, #564] ; (807d618 ) 807d3e4: 460b mov r3, r1 807d3e6: 009b lsls r3, r3, #2 807d3e8: 440b add r3, r1 807d3ea: 005b lsls r3, r3, #1 807d3ec: 4403 add r3, r0 807d3ee: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d3f2: 461a mov r2, r3 807d3f4: 218a movs r1, #138 ; 0x8a 807d3f6: f44f 7082 mov.w r0, #260 ; 0x104 807d3fa: f7d7 fec9 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d3fe: 4980 ldr r1, [pc, #512] ; (807d600 ) 807d400: f04f 30ff mov.w r0, #4294967295 807d404: f7d7 f904 bl 8054610 BSP_LCD_FillRect(255, 157, 10, 10); 807d408: 230a movs r3, #10 807d40a: 220a movs r2, #10 807d40c: 219d movs r1, #157 ; 0x9d 807d40e: 20ff movs r0, #255 ; 0xff 807d410: f7d7 fd8c bl 8054f2c BSP_LCD_FillRect(255, 173, 10, 10); 807d414: 230a movs r3, #10 807d416: 220a movs r2, #10 807d418: 21ad movs r1, #173 ; 0xad 807d41a: 20ff movs r0, #255 ; 0xff 807d41c: f7d7 fd86 bl 8054f2c BSP_LCD_FillRect(255, 189, 10, 10); 807d420: 230a movs r3, #10 807d422: 220a movs r2, #10 807d424: 21bd movs r1, #189 ; 0xbd 807d426: 20ff movs r0, #255 ; 0xff 807d428: f7d7 fd80 bl 8054f2c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807d42c: 4b76 ldr r3, [pc, #472] ; (807d608 ) 807d42e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807d432: f003 0304 and.w r3, r3, #4 807d436: 2b00 cmp r3, #0 807d438: d033 beq.n 807d4a2 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807d43a: 4971 ldr r1, [pc, #452] ; (807d600 ) 807d43c: 4871 ldr r0, [pc, #452] ; (807d604 ) 807d43e: f7d7 f8e7 bl 8054610 if(pardata.IIN != VOLTS) 807d442: 4b71 ldr r3, [pc, #452] ; (807d608 ) 807d444: 799b ldrb r3, [r3, #6] 807d446: b2db uxtb r3, r3 807d448: 2b02 cmp r3, #2 807d44a: d010 beq.n 807d46e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d44c: 4b6e ldr r3, [pc, #440] ; (807d608 ) 807d44e: 7b1b ldrb r3, [r3, #12] 807d450: b2db uxtb r3, r3 807d452: 4619 mov r1, r3 807d454: 4a6d ldr r2, [pc, #436] ; (807d60c ) 807d456: 232c movs r3, #44 ; 0x2c 807d458: fb03 f301 mul.w r3, r3, r1 807d45c: 4413 add r3, r2 807d45e: 3324 adds r3, #36 ; 0x24 807d460: 681b ldr r3, [r3, #0] 807d462: 461a mov r2, r3 807d464: 21ca movs r1, #202 ; 0xca 807d466: 200a movs r0, #10 807d468: f7d7 fe7a bl 8055160 807d46c: e00f b.n 807d48e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d46e: 4b66 ldr r3, [pc, #408] ; (807d608 ) 807d470: 7b1b ldrb r3, [r3, #12] 807d472: b2db uxtb r3, r3 807d474: 4619 mov r1, r3 807d476: 4a69 ldr r2, [pc, #420] ; (807d61c ) 807d478: 232c movs r3, #44 ; 0x2c 807d47a: fb03 f301 mul.w r3, r3, r1 807d47e: 4413 add r3, r2 807d480: 3324 adds r3, #36 ; 0x24 807d482: 681b ldr r3, [r3, #0] 807d484: 461a mov r2, r3 807d486: 21ca movs r1, #202 ; 0xca 807d488: 200a movs r0, #10 807d48a: f7d7 fe69 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807d48e: f507 733b add.w r3, r7, #748 ; 0x2ec 807d492: 461a mov r2, r3 807d494: 21ca movs r1, #202 ; 0xca 807d496: f44f 7082 mov.w r0, #260 ; 0x104 807d49a: f7d7 fe79 bl 8055190 807d49e: f001 bbe5 b.w 807ec6c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d4a2: 4957 ldr r1, [pc, #348] ; (807d600 ) 807d4a4: f04f 30ff mov.w r0, #4294967295 807d4a8: f7d7 f8b2 bl 8054610 if(pardata.IIN != VOLTS) 807d4ac: 4b56 ldr r3, [pc, #344] ; (807d608 ) 807d4ae: 799b ldrb r3, [r3, #6] 807d4b0: b2db uxtb r3, r3 807d4b2: 2b02 cmp r3, #2 807d4b4: d010 beq.n 807d4d8 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d4b6: 4b54 ldr r3, [pc, #336] ; (807d608 ) 807d4b8: 7b1b ldrb r3, [r3, #12] 807d4ba: b2db uxtb r3, r3 807d4bc: 4619 mov r1, r3 807d4be: 4a53 ldr r2, [pc, #332] ; (807d60c ) 807d4c0: 232c movs r3, #44 ; 0x2c 807d4c2: fb03 f301 mul.w r3, r3, r1 807d4c6: 4413 add r3, r2 807d4c8: 3324 adds r3, #36 ; 0x24 807d4ca: 681b ldr r3, [r3, #0] 807d4cc: 461a mov r2, r3 807d4ce: 21ca movs r1, #202 ; 0xca 807d4d0: 200a movs r0, #10 807d4d2: f7d7 fe45 bl 8055160 807d4d6: e00f b.n 807d4f8 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d4d8: 4b4b ldr r3, [pc, #300] ; (807d608 ) 807d4da: 7b1b ldrb r3, [r3, #12] 807d4dc: b2db uxtb r3, r3 807d4de: 4619 mov r1, r3 807d4e0: 4a4e ldr r2, [pc, #312] ; (807d61c ) 807d4e2: 232c movs r3, #44 ; 0x2c 807d4e4: fb03 f301 mul.w r3, r3, r1 807d4e8: 4413 add r3, r2 807d4ea: 3324 adds r3, #36 ; 0x24 807d4ec: 681b ldr r3, [r3, #0] 807d4ee: 461a mov r2, r3 807d4f0: 21ca movs r1, #202 ; 0xca 807d4f2: 200a movs r0, #10 807d4f4: f7d7 fe34 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d4f8: 4941 ldr r1, [pc, #260] ; (807d600 ) 807d4fa: 4846 ldr r0, [pc, #280] ; (807d614 ) 807d4fc: f7d7 f888 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807d500: f507 733b add.w r3, r7, #748 ; 0x2ec 807d504: 461a mov r2, r3 807d506: 21ca movs r1, #202 ; 0xca 807d508: f44f 7082 mov.w r0, #260 ; 0x104 807d50c: f7d7 fe40 bl 8055190 807d510: f001 bbac b.w 807ec6c } } else if(menupos == VibMax_ALL) 807d514: 4b42 ldr r3, [pc, #264] ; (807d620 ) 807d516: 781b ldrb r3, [r3, #0] 807d518: b2db uxtb r3, r3 807d51a: 2b09 cmp r3, #9 807d51c: f040 81a5 bne.w 807d86a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d520: 4937 ldr r1, [pc, #220] ; (807d600 ) 807d522: f04f 30ff mov.w r0, #4294967295 807d526: f7d7 f873 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807d52a: 4b37 ldr r3, [pc, #220] ; (807d608 ) 807d52c: 7b1b ldrb r3, [r3, #12] 807d52e: b2db uxtb r3, r3 807d530: 461a mov r2, r3 807d532: 4b3c ldr r3, [pc, #240] ; (807d624 ) 807d534: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d538: 461a mov r2, r3 807d53a: 2127 movs r1, #39 ; 0x27 807d53c: 200a movs r0, #10 807d53e: f7d7 fe0f bl 8055160 if(pardata.HP >= 2.0f) 807d542: 4b31 ldr r3, [pc, #196] ; (807d608 ) 807d544: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807d548: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807d54c: eef4 7ac7 vcmpe.f32 s15, s14 807d550: eef1 fa10 vmrs APSR_nzcv, fpscr 807d554: db68 blt.n 807d628 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d556: 492a ldr r1, [pc, #168] ; (807d600 ) 807d558: f04f 30ff mov.w r0, #4294967295 807d55c: f7d7 f858 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807d560: 4b29 ldr r3, [pc, #164] ; (807d608 ) 807d562: 7b1b ldrb r3, [r3, #12] 807d564: b2db uxtb r3, r3 807d566: 4619 mov r1, r3 807d568: 4a28 ldr r2, [pc, #160] ; (807d60c ) 807d56a: 232c movs r3, #44 ; 0x2c 807d56c: fb03 f301 mul.w r3, r3, r1 807d570: 4413 add r3, r2 807d572: 330c adds r3, #12 807d574: 681b ldr r3, [r3, #0] 807d576: 461a mov r2, r3 807d578: 216a movs r1, #106 ; 0x6a 807d57a: 200a movs r0, #10 807d57c: f7d7 fdf0 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807d580: 4b21 ldr r3, [pc, #132] ; (807d608 ) 807d582: 7b1b ldrb r3, [r3, #12] 807d584: b2db uxtb r3, r3 807d586: 4619 mov r1, r3 807d588: 4a20 ldr r2, [pc, #128] ; (807d60c ) 807d58a: 232c movs r3, #44 ; 0x2c 807d58c: fb03 f301 mul.w r3, r3, r1 807d590: 4413 add r3, r2 807d592: 3310 adds r3, #16 807d594: 681b ldr r3, [r3, #0] 807d596: 461a mov r2, r3 807d598: 217a movs r1, #122 ; 0x7a 807d59a: 200a movs r0, #10 807d59c: f7d7 fde0 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d5a0: 4917 ldr r1, [pc, #92] ; (807d600 ) 807d5a2: 481c ldr r0, [pc, #112] ; (807d614 ) 807d5a4: f7d7 f834 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807d5a8: 4b17 ldr r3, [pc, #92] ; (807d608 ) 807d5aa: 7b1b ldrb r3, [r3, #12] 807d5ac: b2db uxtb r3, r3 807d5ae: 4619 mov r1, r3 807d5b0: 4b15 ldr r3, [pc, #84] ; (807d608 ) 807d5b2: 78db ldrb r3, [r3, #3] 807d5b4: b2db uxtb r3, r3 807d5b6: 4618 mov r0, r3 807d5b8: 4a15 ldr r2, [pc, #84] ; (807d610 ) 807d5ba: 460b mov r3, r1 807d5bc: 009b lsls r3, r3, #2 807d5be: 440b add r3, r1 807d5c0: 4403 add r3, r0 807d5c2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d5c6: 461a mov r2, r3 807d5c8: 216a movs r1, #106 ; 0x6a 807d5ca: f44f 7082 mov.w r0, #260 ; 0x104 807d5ce: f7d7 fddf bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807d5d2: 4b0d ldr r3, [pc, #52] ; (807d608 ) 807d5d4: 7b1b ldrb r3, [r3, #12] 807d5d6: b2db uxtb r3, r3 807d5d8: 4619 mov r1, r3 807d5da: 4b0b ldr r3, [pc, #44] ; (807d608 ) 807d5dc: 791b ldrb r3, [r3, #4] 807d5de: b2db uxtb r3, r3 807d5e0: 4618 mov r0, r3 807d5e2: 4a0b ldr r2, [pc, #44] ; (807d610 ) 807d5e4: 460b mov r3, r1 807d5e6: 009b lsls r3, r3, #2 807d5e8: 440b add r3, r1 807d5ea: 4403 add r3, r0 807d5ec: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d5f0: 461a mov r2, r3 807d5f2: 217a movs r1, #122 ; 0x7a 807d5f4: f44f 7082 mov.w r0, #260 ; 0x104 807d5f8: f7d7 fdca bl 8055190 807d5fc: e062 b.n 807d6c4 807d5fe: bf00 nop 807d600: ff0a0f1f .word 0xff0a0f1f 807d604: ff808080 .word 0xff808080 807d608: 20023ea8 .word 0x20023ea8 807d60c: 200206bc .word 0x200206bc 807d610: 200202c4 .word 0x200202c4 807d614: ffd8aa57 .word 0xffd8aa57 807d618: 20020254 .word 0x20020254 807d61c: 20020714 .word 0x20020714 807d620: 20020070 .word 0x20020070 807d624: 200205cc .word 0x200205cc } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807d628: 49c7 ldr r1, [pc, #796] ; (807d948 ) 807d62a: 48c8 ldr r0, [pc, #800] ; (807d94c ) 807d62c: f7d6 fff0 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807d630: 4bc7 ldr r3, [pc, #796] ; (807d950 ) 807d632: 7b1b ldrb r3, [r3, #12] 807d634: b2db uxtb r3, r3 807d636: 4619 mov r1, r3 807d638: 4ac6 ldr r2, [pc, #792] ; (807d954 ) 807d63a: 232c movs r3, #44 ; 0x2c 807d63c: fb03 f301 mul.w r3, r3, r1 807d640: 4413 add r3, r2 807d642: 330c adds r3, #12 807d644: 681b ldr r3, [r3, #0] 807d646: 461a mov r2, r3 807d648: 216a movs r1, #106 ; 0x6a 807d64a: 200a movs r0, #10 807d64c: f7d7 fd88 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807d650: 4bbf ldr r3, [pc, #764] ; (807d950 ) 807d652: 7b1b ldrb r3, [r3, #12] 807d654: b2db uxtb r3, r3 807d656: 4619 mov r1, r3 807d658: 4abe ldr r2, [pc, #760] ; (807d954 ) 807d65a: 232c movs r3, #44 ; 0x2c 807d65c: fb03 f301 mul.w r3, r3, r1 807d660: 4413 add r3, r2 807d662: 3310 adds r3, #16 807d664: 681b ldr r3, [r3, #0] 807d666: 461a mov r2, r3 807d668: 217a movs r1, #122 ; 0x7a 807d66a: 200a movs r0, #10 807d66c: f7d7 fd78 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807d670: 4bb7 ldr r3, [pc, #732] ; (807d950 ) 807d672: 7b1b ldrb r3, [r3, #12] 807d674: b2db uxtb r3, r3 807d676: 4619 mov r1, r3 807d678: 4bb5 ldr r3, [pc, #724] ; (807d950 ) 807d67a: 78db ldrb r3, [r3, #3] 807d67c: b2db uxtb r3, r3 807d67e: 4618 mov r0, r3 807d680: 4ab5 ldr r2, [pc, #724] ; (807d958 ) 807d682: 460b mov r3, r1 807d684: 009b lsls r3, r3, #2 807d686: 440b add r3, r1 807d688: 4403 add r3, r0 807d68a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d68e: 461a mov r2, r3 807d690: 216a movs r1, #106 ; 0x6a 807d692: f44f 7082 mov.w r0, #260 ; 0x104 807d696: f7d7 fd7b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807d69a: 4bad ldr r3, [pc, #692] ; (807d950 ) 807d69c: 7b1b ldrb r3, [r3, #12] 807d69e: b2db uxtb r3, r3 807d6a0: 4619 mov r1, r3 807d6a2: 4bab ldr r3, [pc, #684] ; (807d950 ) 807d6a4: 791b ldrb r3, [r3, #4] 807d6a6: b2db uxtb r3, r3 807d6a8: 4618 mov r0, r3 807d6aa: 4aab ldr r2, [pc, #684] ; (807d958 ) 807d6ac: 460b mov r3, r1 807d6ae: 009b lsls r3, r3, #2 807d6b0: 440b add r3, r1 807d6b2: 4403 add r3, r0 807d6b4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d6b8: 461a mov r2, r3 807d6ba: 217a movs r1, #122 ; 0x7a 807d6bc: f44f 7082 mov.w r0, #260 ; 0x104 807d6c0: f7d7 fd66 bl 8055190 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d6c4: 49a0 ldr r1, [pc, #640] ; (807d948 ) 807d6c6: 48a5 ldr r0, [pc, #660] ; (807d95c ) 807d6c8: f7d6 ffa2 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807d6cc: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807d6d0: 461a mov r2, r3 807d6d2: 213a movs r1, #58 ; 0x3a 807d6d4: f44f 7082 mov.w r0, #260 ; 0x104 807d6d8: f7d7 fd5a bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807d6dc: f507 73cc add.w r3, r7, #408 ; 0x198 807d6e0: 461a mov r2, r3 807d6e2: 214a movs r1, #74 ; 0x4a 807d6e4: f44f 7082 mov.w r0, #260 ; 0x104 807d6e8: f7d7 fd52 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807d6ec: 4b98 ldr r3, [pc, #608] ; (807d950 ) 807d6ee: 7b1b ldrb r3, [r3, #12] 807d6f0: b2db uxtb r3, r3 807d6f2: 4619 mov r1, r3 807d6f4: 4b96 ldr r3, [pc, #600] ; (807d950 ) 807d6f6: 789b ldrb r3, [r3, #2] 807d6f8: b2db uxtb r3, r3 807d6fa: 4618 mov r0, r3 807d6fc: 4a96 ldr r2, [pc, #600] ; (807d958 ) 807d6fe: 460b mov r3, r1 807d700: 009b lsls r3, r3, #2 807d702: 440b add r3, r1 807d704: 4403 add r3, r0 807d706: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d70a: 461a mov r2, r3 807d70c: 215a movs r1, #90 ; 0x5a 807d70e: f44f 7082 mov.w r0, #260 ; 0x104 807d712: f7d7 fd3d bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807d716: 4b8e ldr r3, [pc, #568] ; (807d950 ) 807d718: 7b1b ldrb r3, [r3, #12] 807d71a: b2db uxtb r3, r3 807d71c: 4619 mov r1, r3 807d71e: 4b8c ldr r3, [pc, #560] ; (807d950 ) 807d720: 7b5b ldrb r3, [r3, #13] 807d722: b2db uxtb r3, r3 807d724: 4618 mov r0, r3 807d726: 4a8e ldr r2, [pc, #568] ; (807d960 ) 807d728: 460b mov r3, r1 807d72a: 009b lsls r3, r3, #2 807d72c: 440b add r3, r1 807d72e: 005b lsls r3, r3, #1 807d730: 4403 add r3, r0 807d732: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d736: 461a mov r2, r3 807d738: 218a movs r1, #138 ; 0x8a 807d73a: f44f 7082 mov.w r0, #260 ; 0x104 807d73e: f7d7 fd27 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807d742: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807d746: 461a mov r2, r3 807d748: 21da movs r1, #218 ; 0xda 807d74a: f44f 7082 mov.w r0, #260 ; 0x104 807d74e: f7d7 fd1f bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d752: 497d ldr r1, [pc, #500] ; (807d948 ) 807d754: f04f 30ff mov.w r0, #4294967295 807d758: f7d6 ff5a bl 8054610 BSP_LCD_FillRect(255, 157, 10, 10); 807d75c: 230a movs r3, #10 807d75e: 220a movs r2, #10 807d760: 219d movs r1, #157 ; 0x9d 807d762: 20ff movs r0, #255 ; 0xff 807d764: f7d7 fbe2 bl 8054f2c BSP_LCD_FillRect(255, 173, 10, 10); 807d768: 230a movs r3, #10 807d76a: 220a movs r2, #10 807d76c: 21ad movs r1, #173 ; 0xad 807d76e: 20ff movs r0, #255 ; 0xff 807d770: f7d7 fbdc bl 8054f2c BSP_LCD_FillRect(255, 189, 10, 10); 807d774: 230a movs r3, #10 807d776: 220a movs r2, #10 807d778: 21bd movs r1, #189 ; 0xbd 807d77a: 20ff movs r0, #255 ; 0xff 807d77c: f7d7 fbd6 bl 8054f2c if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807d780: 4b73 ldr r3, [pc, #460] ; (807d950 ) 807d782: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807d786: f003 0304 and.w r3, r3, #4 807d78a: 2b00 cmp r3, #0 807d78c: d033 beq.n 807d7f6 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807d78e: 496e ldr r1, [pc, #440] ; (807d948 ) 807d790: 486e ldr r0, [pc, #440] ; (807d94c ) 807d792: f7d6 ff3d bl 8054610 if(pardata.IIN != VOLTS) 807d796: 4b6e ldr r3, [pc, #440] ; (807d950 ) 807d798: 799b ldrb r3, [r3, #6] 807d79a: b2db uxtb r3, r3 807d79c: 2b02 cmp r3, #2 807d79e: d010 beq.n 807d7c2 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d7a0: 4b6b ldr r3, [pc, #428] ; (807d950 ) 807d7a2: 7b1b ldrb r3, [r3, #12] 807d7a4: b2db uxtb r3, r3 807d7a6: 4619 mov r1, r3 807d7a8: 4a6a ldr r2, [pc, #424] ; (807d954 ) 807d7aa: 232c movs r3, #44 ; 0x2c 807d7ac: fb03 f301 mul.w r3, r3, r1 807d7b0: 4413 add r3, r2 807d7b2: 3324 adds r3, #36 ; 0x24 807d7b4: 681b ldr r3, [r3, #0] 807d7b6: 461a mov r2, r3 807d7b8: 21ca movs r1, #202 ; 0xca 807d7ba: 200a movs r0, #10 807d7bc: f7d7 fcd0 bl 8055160 807d7c0: e00f b.n 807d7e2 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d7c2: 4b63 ldr r3, [pc, #396] ; (807d950 ) 807d7c4: 7b1b ldrb r3, [r3, #12] 807d7c6: b2db uxtb r3, r3 807d7c8: 4619 mov r1, r3 807d7ca: 4a66 ldr r2, [pc, #408] ; (807d964 ) 807d7cc: 232c movs r3, #44 ; 0x2c 807d7ce: fb03 f301 mul.w r3, r3, r1 807d7d2: 4413 add r3, r2 807d7d4: 3324 adds r3, #36 ; 0x24 807d7d6: 681b ldr r3, [r3, #0] 807d7d8: 461a mov r2, r3 807d7da: 21ca movs r1, #202 ; 0xca 807d7dc: 200a movs r0, #10 807d7de: f7d7 fcbf bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807d7e2: f507 733b add.w r3, r7, #748 ; 0x2ec 807d7e6: 461a mov r2, r3 807d7e8: 21ca movs r1, #202 ; 0xca 807d7ea: f44f 7082 mov.w r0, #260 ; 0x104 807d7ee: f7d7 fccf bl 8055190 807d7f2: f001 ba3b b.w 807ec6c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d7f6: 4954 ldr r1, [pc, #336] ; (807d948 ) 807d7f8: f04f 30ff mov.w r0, #4294967295 807d7fc: f7d6 ff08 bl 8054610 if(pardata.IIN != VOLTS) 807d800: 4b53 ldr r3, [pc, #332] ; (807d950 ) 807d802: 799b ldrb r3, [r3, #6] 807d804: b2db uxtb r3, r3 807d806: 2b02 cmp r3, #2 807d808: d010 beq.n 807d82c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d80a: 4b51 ldr r3, [pc, #324] ; (807d950 ) 807d80c: 7b1b ldrb r3, [r3, #12] 807d80e: b2db uxtb r3, r3 807d810: 4619 mov r1, r3 807d812: 4a50 ldr r2, [pc, #320] ; (807d954 ) 807d814: 232c movs r3, #44 ; 0x2c 807d816: fb03 f301 mul.w r3, r3, r1 807d81a: 4413 add r3, r2 807d81c: 3324 adds r3, #36 ; 0x24 807d81e: 681b ldr r3, [r3, #0] 807d820: 461a mov r2, r3 807d822: 21ca movs r1, #202 ; 0xca 807d824: 200a movs r0, #10 807d826: f7d7 fc9b bl 8055160 807d82a: e00f b.n 807d84c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807d82c: 4b48 ldr r3, [pc, #288] ; (807d950 ) 807d82e: 7b1b ldrb r3, [r3, #12] 807d830: b2db uxtb r3, r3 807d832: 4619 mov r1, r3 807d834: 4a4b ldr r2, [pc, #300] ; (807d964 ) 807d836: 232c movs r3, #44 ; 0x2c 807d838: fb03 f301 mul.w r3, r3, r1 807d83c: 4413 add r3, r2 807d83e: 3324 adds r3, #36 ; 0x24 807d840: 681b ldr r3, [r3, #0] 807d842: 461a mov r2, r3 807d844: 21ca movs r1, #202 ; 0xca 807d846: 200a movs r0, #10 807d848: f7d7 fc8a bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d84c: 493e ldr r1, [pc, #248] ; (807d948 ) 807d84e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d852: f7d6 fedd bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807d856: f507 733b add.w r3, r7, #748 ; 0x2ec 807d85a: 461a mov r2, r3 807d85c: 21ca movs r1, #202 ; 0xca 807d85e: f44f 7082 mov.w r0, #260 ; 0x104 807d862: f7d7 fc95 bl 8055190 807d866: f001 ba01 b.w 807ec6c } } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d86a: 4937 ldr r1, [pc, #220] ; (807d948 ) 807d86c: f04f 30ff mov.w r0, #4294967295 807d870: f7d6 fece bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807d874: 4b36 ldr r3, [pc, #216] ; (807d950 ) 807d876: 7b1b ldrb r3, [r3, #12] 807d878: b2db uxtb r3, r3 807d87a: 461a mov r2, r3 807d87c: 4b3a ldr r3, [pc, #232] ; (807d968 ) 807d87e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d882: 461a mov r2, r3 807d884: 2127 movs r1, #39 ; 0x27 807d886: 200a movs r0, #10 807d888: f7d7 fc6a bl 8055160 if(pardata.HP >= 2.0f) 807d88c: 4b30 ldr r3, [pc, #192] ; (807d950 ) 807d88e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807d892: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807d896: eef4 7ac7 vcmpe.f32 s15, s14 807d89a: eef1 fa10 vmrs APSR_nzcv, fpscr 807d89e: db65 blt.n 807d96c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807d8a0: 4929 ldr r1, [pc, #164] ; (807d948 ) 807d8a2: f04f 30ff mov.w r0, #4294967295 807d8a6: f7d6 feb3 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807d8aa: 4b29 ldr r3, [pc, #164] ; (807d950 ) 807d8ac: 7b1b ldrb r3, [r3, #12] 807d8ae: b2db uxtb r3, r3 807d8b0: 4619 mov r1, r3 807d8b2: 4a28 ldr r2, [pc, #160] ; (807d954 ) 807d8b4: 232c movs r3, #44 ; 0x2c 807d8b6: fb03 f301 mul.w r3, r3, r1 807d8ba: 4413 add r3, r2 807d8bc: 330c adds r3, #12 807d8be: 681b ldr r3, [r3, #0] 807d8c0: 461a mov r2, r3 807d8c2: 216a movs r1, #106 ; 0x6a 807d8c4: 200a movs r0, #10 807d8c6: f7d7 fc4b bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807d8ca: 4b21 ldr r3, [pc, #132] ; (807d950 ) 807d8cc: 7b1b ldrb r3, [r3, #12] 807d8ce: b2db uxtb r3, r3 807d8d0: 4619 mov r1, r3 807d8d2: 4a20 ldr r2, [pc, #128] ; (807d954 ) 807d8d4: 232c movs r3, #44 ; 0x2c 807d8d6: fb03 f301 mul.w r3, r3, r1 807d8da: 4413 add r3, r2 807d8dc: 3310 adds r3, #16 807d8de: 681b ldr r3, [r3, #0] 807d8e0: 461a mov r2, r3 807d8e2: 217a movs r1, #122 ; 0x7a 807d8e4: 200a movs r0, #10 807d8e6: f7d7 fc3b bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d8ea: 4917 ldr r1, [pc, #92] ; (807d948 ) 807d8ec: 481b ldr r0, [pc, #108] ; (807d95c ) 807d8ee: f7d6 fe8f bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807d8f2: 4b17 ldr r3, [pc, #92] ; (807d950 ) 807d8f4: 7b1b ldrb r3, [r3, #12] 807d8f6: b2db uxtb r3, r3 807d8f8: 4619 mov r1, r3 807d8fa: 4b15 ldr r3, [pc, #84] ; (807d950 ) 807d8fc: 78db ldrb r3, [r3, #3] 807d8fe: b2db uxtb r3, r3 807d900: 4618 mov r0, r3 807d902: 4a15 ldr r2, [pc, #84] ; (807d958 ) 807d904: 460b mov r3, r1 807d906: 009b lsls r3, r3, #2 807d908: 440b add r3, r1 807d90a: 4403 add r3, r0 807d90c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d910: 461a mov r2, r3 807d912: 216a movs r1, #106 ; 0x6a 807d914: f44f 7082 mov.w r0, #260 ; 0x104 807d918: f7d7 fc3a bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807d91c: 4b0c ldr r3, [pc, #48] ; (807d950 ) 807d91e: 7b1b ldrb r3, [r3, #12] 807d920: b2db uxtb r3, r3 807d922: 4619 mov r1, r3 807d924: 4b0a ldr r3, [pc, #40] ; (807d950 ) 807d926: 791b ldrb r3, [r3, #4] 807d928: b2db uxtb r3, r3 807d92a: 4618 mov r0, r3 807d92c: 4a0a ldr r2, [pc, #40] ; (807d958 ) 807d92e: 460b mov r3, r1 807d930: 009b lsls r3, r3, #2 807d932: 440b add r3, r1 807d934: 4403 add r3, r0 807d936: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d93a: 461a mov r2, r3 807d93c: 217a movs r1, #122 ; 0x7a 807d93e: f44f 7082 mov.w r0, #260 ; 0x104 807d942: f7d7 fc25 bl 8055190 807d946: e05f b.n 807da08 807d948: ff0a0f1f .word 0xff0a0f1f 807d94c: ff808080 .word 0xff808080 807d950: 20023ea8 .word 0x20023ea8 807d954: 200206bc .word 0x200206bc 807d958: 200202c4 .word 0x200202c4 807d95c: ffd8aa57 .word 0xffd8aa57 807d960: 20020254 .word 0x20020254 807d964: 20020714 .word 0x20020714 807d968: 200205cc .word 0x200205cc } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807d96c: 49bb ldr r1, [pc, #748] ; (807dc5c ) 807d96e: 48bc ldr r0, [pc, #752] ; (807dc60 ) 807d970: f7d6 fe4e bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807d974: 4bbb ldr r3, [pc, #748] ; (807dc64 ) 807d976: 7b1b ldrb r3, [r3, #12] 807d978: b2db uxtb r3, r3 807d97a: 4619 mov r1, r3 807d97c: 4aba ldr r2, [pc, #744] ; (807dc68 ) 807d97e: 232c movs r3, #44 ; 0x2c 807d980: fb03 f301 mul.w r3, r3, r1 807d984: 4413 add r3, r2 807d986: 330c adds r3, #12 807d988: 681b ldr r3, [r3, #0] 807d98a: 461a mov r2, r3 807d98c: 216a movs r1, #106 ; 0x6a 807d98e: 200a movs r0, #10 807d990: f7d7 fbe6 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807d994: 4bb3 ldr r3, [pc, #716] ; (807dc64 ) 807d996: 7b1b ldrb r3, [r3, #12] 807d998: b2db uxtb r3, r3 807d99a: 4619 mov r1, r3 807d99c: 4ab2 ldr r2, [pc, #712] ; (807dc68 ) 807d99e: 232c movs r3, #44 ; 0x2c 807d9a0: fb03 f301 mul.w r3, r3, r1 807d9a4: 4413 add r3, r2 807d9a6: 3310 adds r3, #16 807d9a8: 681b ldr r3, [r3, #0] 807d9aa: 461a mov r2, r3 807d9ac: 217a movs r1, #122 ; 0x7a 807d9ae: 200a movs r0, #10 807d9b0: f7d7 fbd6 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807d9b4: 4bab ldr r3, [pc, #684] ; (807dc64 ) 807d9b6: 7b1b ldrb r3, [r3, #12] 807d9b8: b2db uxtb r3, r3 807d9ba: 4619 mov r1, r3 807d9bc: 4ba9 ldr r3, [pc, #676] ; (807dc64 ) 807d9be: 78db ldrb r3, [r3, #3] 807d9c0: b2db uxtb r3, r3 807d9c2: 4618 mov r0, r3 807d9c4: 4aa9 ldr r2, [pc, #676] ; (807dc6c ) 807d9c6: 460b mov r3, r1 807d9c8: 009b lsls r3, r3, #2 807d9ca: 440b add r3, r1 807d9cc: 4403 add r3, r0 807d9ce: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d9d2: 461a mov r2, r3 807d9d4: 216a movs r1, #106 ; 0x6a 807d9d6: f44f 7082 mov.w r0, #260 ; 0x104 807d9da: f7d7 fbd9 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807d9de: 4ba1 ldr r3, [pc, #644] ; (807dc64 ) 807d9e0: 7b1b ldrb r3, [r3, #12] 807d9e2: b2db uxtb r3, r3 807d9e4: 4619 mov r1, r3 807d9e6: 4b9f ldr r3, [pc, #636] ; (807dc64 ) 807d9e8: 791b ldrb r3, [r3, #4] 807d9ea: b2db uxtb r3, r3 807d9ec: 4618 mov r0, r3 807d9ee: 4a9f ldr r2, [pc, #636] ; (807dc6c ) 807d9f0: 460b mov r3, r1 807d9f2: 009b lsls r3, r3, #2 807d9f4: 440b add r3, r1 807d9f6: 4403 add r3, r0 807d9f8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807d9fc: 461a mov r2, r3 807d9fe: 217a movs r1, #122 ; 0x7a 807da00: f44f 7082 mov.w r0, #260 ; 0x104 807da04: f7d7 fbc4 bl 8055190 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807da08: 4994 ldr r1, [pc, #592] ; (807dc5c ) 807da0a: 4899 ldr r0, [pc, #612] ; (807dc70 ) 807da0c: f7d6 fe00 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807da10: 4b94 ldr r3, [pc, #592] ; (807dc64 ) 807da12: 7b1b ldrb r3, [r3, #12] 807da14: b2db uxtb r3, r3 807da16: 4619 mov r1, r3 807da18: 4b92 ldr r3, [pc, #584] ; (807dc64 ) 807da1a: 789b ldrb r3, [r3, #2] 807da1c: b2db uxtb r3, r3 807da1e: 4618 mov r0, r3 807da20: 4a92 ldr r2, [pc, #584] ; (807dc6c ) 807da22: 460b mov r3, r1 807da24: 009b lsls r3, r3, #2 807da26: 440b add r3, r1 807da28: 4403 add r3, r0 807da2a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807da2e: 461a mov r2, r3 807da30: 215a movs r1, #90 ; 0x5a 807da32: f44f 7082 mov.w r0, #260 ; 0x104 807da36: f7d7 fbab bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807da3a: 4b8a ldr r3, [pc, #552] ; (807dc64 ) 807da3c: 7b1b ldrb r3, [r3, #12] 807da3e: b2db uxtb r3, r3 807da40: 4619 mov r1, r3 807da42: 4b88 ldr r3, [pc, #544] ; (807dc64 ) 807da44: 7b5b ldrb r3, [r3, #13] 807da46: b2db uxtb r3, r3 807da48: 4618 mov r0, r3 807da4a: 4a8a ldr r2, [pc, #552] ; (807dc74 ) 807da4c: 460b mov r3, r1 807da4e: 009b lsls r3, r3, #2 807da50: 440b add r3, r1 807da52: 005b lsls r3, r3, #1 807da54: 4403 add r3, r0 807da56: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807da5a: 461a mov r2, r3 807da5c: 218a movs r1, #138 ; 0x8a 807da5e: f44f 7082 mov.w r0, #260 ; 0x104 807da62: f7d7 fb95 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807da66: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807da6a: 461a mov r2, r3 807da6c: 21da movs r1, #218 ; 0xda 807da6e: f44f 7082 mov.w r0, #260 ; 0x104 807da72: f7d7 fb8d bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807da76: 4979 ldr r1, [pc, #484] ; (807dc5c ) 807da78: f04f 30ff mov.w r0, #4294967295 807da7c: f7d6 fdc8 bl 8054610 BSP_LCD_FillRect(255, 157, 10, 10); 807da80: 230a movs r3, #10 807da82: 220a movs r2, #10 807da84: 219d movs r1, #157 ; 0x9d 807da86: 20ff movs r0, #255 ; 0xff 807da88: f7d7 fa50 bl 8054f2c BSP_LCD_FillRect(255, 173, 10, 10); 807da8c: 230a movs r3, #10 807da8e: 220a movs r2, #10 807da90: 21ad movs r1, #173 ; 0xad 807da92: 20ff movs r0, #255 ; 0xff 807da94: f7d7 fa4a bl 8054f2c BSP_LCD_FillRect(255, 189, 10, 10); 807da98: 230a movs r3, #10 807da9a: 220a movs r2, #10 807da9c: 21bd movs r1, #189 ; 0xbd 807da9e: 20ff movs r0, #255 ; 0xff 807daa0: f7d7 fa44 bl 8054f2c 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)) 807daa4: 4b74 ldr r3, [pc, #464] ; (807dc78 ) 807daa6: 781b ldrb r3, [r3, #0] 807daa8: b2db uxtb r3, r3 807daaa: 2b18 cmp r3, #24 807daac: f240 8083 bls.w 807dbb6 807dab0: 4b71 ldr r3, [pc, #452] ; (807dc78 ) 807dab2: 781b ldrb r3, [r3, #0] 807dab4: b2db uxtb r3, r3 807dab6: 2b1e cmp r3, #30 807dab8: d87d bhi.n 807dbb6 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807daba: 4968 ldr r1, [pc, #416] ; (807dc5c ) 807dabc: 486c ldr r0, [pc, #432] ; (807dc70 ) 807dabe: f7d6 fda7 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807dac2: f507 73cc add.w r3, r7, #408 ; 0x198 807dac6: 461a mov r2, r3 807dac8: 214a movs r1, #74 ; 0x4a 807daca: f44f 7082 mov.w r0, #260 ; 0x104 807dace: f7d7 fb5f bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807dad2: 4b64 ldr r3, [pc, #400] ; (807dc64 ) 807dad4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807dad8: f003 0304 and.w r3, r3, #4 807dadc: 2b00 cmp r3, #0 807dade: d032 beq.n 807db46 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807dae0: 495e ldr r1, [pc, #376] ; (807dc5c ) 807dae2: 485f ldr r0, [pc, #380] ; (807dc60 ) 807dae4: f7d6 fd94 bl 8054610 if(pardata.IIN != VOLTS) 807dae8: 4b5e ldr r3, [pc, #376] ; (807dc64 ) 807daea: 799b ldrb r3, [r3, #6] 807daec: b2db uxtb r3, r3 807daee: 2b02 cmp r3, #2 807daf0: d010 beq.n 807db14 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807daf2: 4b5c ldr r3, [pc, #368] ; (807dc64 ) 807daf4: 7b1b ldrb r3, [r3, #12] 807daf6: b2db uxtb r3, r3 807daf8: 4619 mov r1, r3 807dafa: 4a5b ldr r2, [pc, #364] ; (807dc68 ) 807dafc: 232c movs r3, #44 ; 0x2c 807dafe: fb03 f301 mul.w r3, r3, r1 807db02: 4413 add r3, r2 807db04: 3324 adds r3, #36 ; 0x24 807db06: 681b ldr r3, [r3, #0] 807db08: 461a mov r2, r3 807db0a: 21ca movs r1, #202 ; 0xca 807db0c: 200a movs r0, #10 807db0e: f7d7 fb27 bl 8055160 807db12: e00f b.n 807db34 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807db14: 4b53 ldr r3, [pc, #332] ; (807dc64 ) 807db16: 7b1b ldrb r3, [r3, #12] 807db18: b2db uxtb r3, r3 807db1a: 4619 mov r1, r3 807db1c: 4a57 ldr r2, [pc, #348] ; (807dc7c ) 807db1e: 232c movs r3, #44 ; 0x2c 807db20: fb03 f301 mul.w r3, r3, r1 807db24: 4413 add r3, r2 807db26: 3324 adds r3, #36 ; 0x24 807db28: 681b ldr r3, [r3, #0] 807db2a: 461a mov r2, r3 807db2c: 21ca movs r1, #202 ; 0xca 807db2e: 200a movs r0, #10 807db30: f7d7 fb16 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807db34: f507 733b add.w r3, r7, #748 ; 0x2ec 807db38: 461a mov r2, r3 807db3a: 21ca movs r1, #202 ; 0xca 807db3c: f44f 7082 mov.w r0, #260 ; 0x104 807db40: f7d7 fb26 bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807db44: e157 b.n 807ddf6 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807db46: 4945 ldr r1, [pc, #276] ; (807dc5c ) 807db48: f04f 30ff mov.w r0, #4294967295 807db4c: f7d6 fd60 bl 8054610 if(pardata.IIN != VOLTS) 807db50: 4b44 ldr r3, [pc, #272] ; (807dc64 ) 807db52: 799b ldrb r3, [r3, #6] 807db54: b2db uxtb r3, r3 807db56: 2b02 cmp r3, #2 807db58: d010 beq.n 807db7c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807db5a: 4b42 ldr r3, [pc, #264] ; (807dc64 ) 807db5c: 7b1b ldrb r3, [r3, #12] 807db5e: b2db uxtb r3, r3 807db60: 4619 mov r1, r3 807db62: 4a41 ldr r2, [pc, #260] ; (807dc68 ) 807db64: 232c movs r3, #44 ; 0x2c 807db66: fb03 f301 mul.w r3, r3, r1 807db6a: 4413 add r3, r2 807db6c: 3324 adds r3, #36 ; 0x24 807db6e: 681b ldr r3, [r3, #0] 807db70: 461a mov r2, r3 807db72: 21ca movs r1, #202 ; 0xca 807db74: 200a movs r0, #10 807db76: f7d7 faf3 bl 8055160 807db7a: e00f b.n 807db9c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807db7c: 4b39 ldr r3, [pc, #228] ; (807dc64 ) 807db7e: 7b1b ldrb r3, [r3, #12] 807db80: b2db uxtb r3, r3 807db82: 4619 mov r1, r3 807db84: 4a3d ldr r2, [pc, #244] ; (807dc7c ) 807db86: 232c movs r3, #44 ; 0x2c 807db88: fb03 f301 mul.w r3, r3, r1 807db8c: 4413 add r3, r2 807db8e: 3324 adds r3, #36 ; 0x24 807db90: 681b ldr r3, [r3, #0] 807db92: 461a mov r2, r3 807db94: 21ca movs r1, #202 ; 0xca 807db96: 200a movs r0, #10 807db98: f7d7 fae2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807db9c: 492f ldr r1, [pc, #188] ; (807dc5c ) 807db9e: 4834 ldr r0, [pc, #208] ; (807dc70 ) 807dba0: f7d6 fd36 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807dba4: f507 733b add.w r3, r7, #748 ; 0x2ec 807dba8: 461a mov r2, r3 807dbaa: 21ca movs r1, #202 ; 0xca 807dbac: f44f 7082 mov.w r0, #260 ; 0x104 807dbb0: f7d7 faee bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807dbb4: e11f b.n 807ddf6 } } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 807dbb6: 4b30 ldr r3, [pc, #192] ; (807dc78 ) 807dbb8: 781b ldrb r3, [r3, #0] 807dbba: b2db uxtb r3, r3 807dbbc: 2b1e cmp r3, #30 807dbbe: f240 8097 bls.w 807dcf0 807dbc2: 4b2d ldr r3, [pc, #180] ; (807dc78 ) 807dbc4: 781b ldrb r3, [r3, #0] 807dbc6: b2db uxtb r3, r3 807dbc8: 2b24 cmp r3, #36 ; 0x24 807dbca: f200 8091 bhi.w 807dcf0 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807dbce: 4923 ldr r1, [pc, #140] ; (807dc5c ) 807dbd0: 4827 ldr r0, [pc, #156] ; (807dc70 ) 807dbd2: f7d6 fd1d bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807dbd6: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807dbda: 461a mov r2, r3 807dbdc: 213a movs r1, #58 ; 0x3a 807dbde: f44f 7082 mov.w r0, #260 ; 0x104 807dbe2: f7d7 fad5 bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807dbe6: 4b1f ldr r3, [pc, #124] ; (807dc64 ) 807dbe8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807dbec: f003 0304 and.w r3, r3, #4 807dbf0: 2b00 cmp r3, #0 807dbf2: d045 beq.n 807dc80 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807dbf4: 4919 ldr r1, [pc, #100] ; (807dc5c ) 807dbf6: 481a ldr r0, [pc, #104] ; (807dc60 ) 807dbf8: f7d6 fd0a bl 8054610 if(pardata.IIN != VOLTS) 807dbfc: 4b19 ldr r3, [pc, #100] ; (807dc64 ) 807dbfe: 799b ldrb r3, [r3, #6] 807dc00: b2db uxtb r3, r3 807dc02: 2b02 cmp r3, #2 807dc04: d010 beq.n 807dc28 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807dc06: 4b17 ldr r3, [pc, #92] ; (807dc64 ) 807dc08: 7b1b ldrb r3, [r3, #12] 807dc0a: b2db uxtb r3, r3 807dc0c: 4619 mov r1, r3 807dc0e: 4a16 ldr r2, [pc, #88] ; (807dc68 ) 807dc10: 232c movs r3, #44 ; 0x2c 807dc12: fb03 f301 mul.w r3, r3, r1 807dc16: 4413 add r3, r2 807dc18: 3324 adds r3, #36 ; 0x24 807dc1a: 681b ldr r3, [r3, #0] 807dc1c: 461a mov r2, r3 807dc1e: 21ca movs r1, #202 ; 0xca 807dc20: 200a movs r0, #10 807dc22: f7d7 fa9d bl 8055160 807dc26: e00f b.n 807dc48 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807dc28: 4b0e ldr r3, [pc, #56] ; (807dc64 ) 807dc2a: 7b1b ldrb r3, [r3, #12] 807dc2c: b2db uxtb r3, r3 807dc2e: 4619 mov r1, r3 807dc30: 4a12 ldr r2, [pc, #72] ; (807dc7c ) 807dc32: 232c movs r3, #44 ; 0x2c 807dc34: fb03 f301 mul.w r3, r3, r1 807dc38: 4413 add r3, r2 807dc3a: 3324 adds r3, #36 ; 0x24 807dc3c: 681b ldr r3, [r3, #0] 807dc3e: 461a mov r2, r3 807dc40: 21ca movs r1, #202 ; 0xca 807dc42: 200a movs r0, #10 807dc44: f7d7 fa8c bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807dc48: f507 733b add.w r3, r7, #748 ; 0x2ec 807dc4c: 461a mov r2, r3 807dc4e: 21ca movs r1, #202 ; 0xca 807dc50: f44f 7082 mov.w r0, #260 ; 0x104 807dc54: f7d7 fa9c bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807dc58: e0cd b.n 807ddf6 807dc5a: bf00 nop 807dc5c: ff0a0f1f .word 0xff0a0f1f 807dc60: ff808080 .word 0xff808080 807dc64: 20023ea8 .word 0x20023ea8 807dc68: 200206bc .word 0x200206bc 807dc6c: 200202c4 .word 0x200202c4 807dc70: ffd8aa57 .word 0xffd8aa57 807dc74: 20020254 .word 0x20020254 807dc78: 20020070 .word 0x20020070 807dc7c: 20020714 .word 0x20020714 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807dc80: 49c0 ldr r1, [pc, #768] ; (807df84 ) 807dc82: f04f 30ff mov.w r0, #4294967295 807dc86: f7d6 fcc3 bl 8054610 if(pardata.IIN != VOLTS) 807dc8a: 4bbf ldr r3, [pc, #764] ; (807df88 ) 807dc8c: 799b ldrb r3, [r3, #6] 807dc8e: b2db uxtb r3, r3 807dc90: 2b02 cmp r3, #2 807dc92: d010 beq.n 807dcb6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807dc94: 4bbc ldr r3, [pc, #752] ; (807df88 ) 807dc96: 7b1b ldrb r3, [r3, #12] 807dc98: b2db uxtb r3, r3 807dc9a: 4619 mov r1, r3 807dc9c: 4abb ldr r2, [pc, #748] ; (807df8c ) 807dc9e: 232c movs r3, #44 ; 0x2c 807dca0: fb03 f301 mul.w r3, r3, r1 807dca4: 4413 add r3, r2 807dca6: 3324 adds r3, #36 ; 0x24 807dca8: 681b ldr r3, [r3, #0] 807dcaa: 461a mov r2, r3 807dcac: 21ca movs r1, #202 ; 0xca 807dcae: 200a movs r0, #10 807dcb0: f7d7 fa56 bl 8055160 807dcb4: e00f b.n 807dcd6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807dcb6: 4bb4 ldr r3, [pc, #720] ; (807df88 ) 807dcb8: 7b1b ldrb r3, [r3, #12] 807dcba: b2db uxtb r3, r3 807dcbc: 4619 mov r1, r3 807dcbe: 4ab4 ldr r2, [pc, #720] ; (807df90 ) 807dcc0: 232c movs r3, #44 ; 0x2c 807dcc2: fb03 f301 mul.w r3, r3, r1 807dcc6: 4413 add r3, r2 807dcc8: 3324 adds r3, #36 ; 0x24 807dcca: 681b ldr r3, [r3, #0] 807dccc: 461a mov r2, r3 807dcce: 21ca movs r1, #202 ; 0xca 807dcd0: 200a movs r0, #10 807dcd2: f7d7 fa45 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807dcd6: 49ab ldr r1, [pc, #684] ; (807df84 ) 807dcd8: 48ae ldr r0, [pc, #696] ; (807df94 ) 807dcda: f7d6 fc99 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 807dcde: f507 733b add.w r3, r7, #748 ; 0x2ec 807dce2: 461a mov r2, r3 807dce4: 21ca movs r1, #202 ; 0xca 807dce6: f44f 7082 mov.w r0, #260 ; 0x104 807dcea: f7d7 fa51 bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807dcee: e082 b.n 807ddf6 } } else if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 807dcf0: 4ba9 ldr r3, [pc, #676] ; (807df98 ) 807dcf2: 781b ldrb r3, [r3, #0] 807dcf4: b2db uxtb r3, r3 807dcf6: 2b0a cmp r3, #10 807dcf8: d97d bls.n 807ddf6 807dcfa: 4ba7 ldr r3, [pc, #668] ; (807df98 ) 807dcfc: 781b ldrb r3, [r3, #0] 807dcfe: b2db uxtb r3, r3 807dd00: 2b10 cmp r3, #16 807dd02: d878 bhi.n 807ddf6 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807dd04: 499f ldr r1, [pc, #636] ; (807df84 ) 807dd06: 48a3 ldr r0, [pc, #652] ; (807df94 ) 807dd08: f7d6 fc82 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807dd0c: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807dd10: 461a mov r2, r3 807dd12: 213a movs r1, #58 ; 0x3a 807dd14: f44f 7082 mov.w r0, #260 ; 0x104 807dd18: f7d7 fa3a bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807dd1c: f507 73cc add.w r3, r7, #408 ; 0x198 807dd20: 461a mov r2, r3 807dd22: 214a movs r1, #74 ; 0x4a 807dd24: f44f 7082 mov.w r0, #260 ; 0x104 807dd28: f7d7 fa32 bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807dd2c: 4b96 ldr r3, [pc, #600] ; (807df88 ) 807dd2e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807dd32: f003 0304 and.w r3, r3, #4 807dd36: 2b00 cmp r3, #0 807dd38: d032 beq.n 807dda0 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807dd3a: 4992 ldr r1, [pc, #584] ; (807df84 ) 807dd3c: 4897 ldr r0, [pc, #604] ; (807df9c ) 807dd3e: f7d6 fc67 bl 8054610 if(pardata.IIN != VOLTS) 807dd42: 4b91 ldr r3, [pc, #580] ; (807df88 ) 807dd44: 799b ldrb r3, [r3, #6] 807dd46: b2db uxtb r3, r3 807dd48: 2b02 cmp r3, #2 807dd4a: d010 beq.n 807dd6e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807dd4c: 4b8e ldr r3, [pc, #568] ; (807df88 ) 807dd4e: 7b1b ldrb r3, [r3, #12] 807dd50: b2db uxtb r3, r3 807dd52: 4619 mov r1, r3 807dd54: 4a8d ldr r2, [pc, #564] ; (807df8c ) 807dd56: 232c movs r3, #44 ; 0x2c 807dd58: fb03 f301 mul.w r3, r3, r1 807dd5c: 4413 add r3, r2 807dd5e: 3324 adds r3, #36 ; 0x24 807dd60: 681b ldr r3, [r3, #0] 807dd62: 461a mov r2, r3 807dd64: 21ca movs r1, #202 ; 0xca 807dd66: 200a movs r0, #10 807dd68: f7d7 f9fa bl 8055160 807dd6c: e00f b.n 807dd8e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807dd6e: 4b86 ldr r3, [pc, #536] ; (807df88 ) 807dd70: 7b1b ldrb r3, [r3, #12] 807dd72: b2db uxtb r3, r3 807dd74: 4619 mov r1, r3 807dd76: 4a86 ldr r2, [pc, #536] ; (807df90 ) 807dd78: 232c movs r3, #44 ; 0x2c 807dd7a: fb03 f301 mul.w r3, r3, r1 807dd7e: 4413 add r3, r2 807dd80: 3324 adds r3, #36 ; 0x24 807dd82: 681b ldr r3, [r3, #0] 807dd84: 461a mov r2, r3 807dd86: 21ca movs r1, #202 ; 0xca 807dd88: 200a movs r0, #10 807dd8a: f7d7 f9e9 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 807dd8e: f507 733b add.w r3, r7, #748 ; 0x2ec 807dd92: 461a mov r2, r3 807dd94: 21ca movs r1, #202 ; 0xca 807dd96: f44f 7082 mov.w r0, #260 ; 0x104 807dd9a: f7d7 f9f9 bl 8055190 807dd9e: e02a b.n 807ddf6 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807dda0: 4978 ldr r1, [pc, #480] ; (807df84 ) 807dda2: f04f 30ff mov.w r0, #4294967295 807dda6: f7d6 fc33 bl 8054610 if(pardata.IIN != VOLTS) 807ddaa: 4b77 ldr r3, [pc, #476] ; (807df88 ) 807ddac: 799b ldrb r3, [r3, #6] 807ddae: b2db uxtb r3, r3 807ddb0: 2b02 cmp r3, #2 807ddb2: d010 beq.n 807ddd6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ddb4: 4b74 ldr r3, [pc, #464] ; (807df88 ) 807ddb6: 7b1b ldrb r3, [r3, #12] 807ddb8: b2db uxtb r3, r3 807ddba: 4619 mov r1, r3 807ddbc: 4a73 ldr r2, [pc, #460] ; (807df8c ) 807ddbe: 232c movs r3, #44 ; 0x2c 807ddc0: fb03 f301 mul.w r3, r3, r1 807ddc4: 4413 add r3, r2 807ddc6: 3324 adds r3, #36 ; 0x24 807ddc8: 681b ldr r3, [r3, #0] 807ddca: 461a mov r2, r3 807ddcc: 21ca movs r1, #202 ; 0xca 807ddce: 200a movs r0, #10 807ddd0: f7d7 f9c6 bl 8055160 807ddd4: e00f b.n 807ddf6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ddd6: 4b6c ldr r3, [pc, #432] ; (807df88 ) 807ddd8: 7b1b ldrb r3, [r3, #12] 807ddda: b2db uxtb r3, r3 807dddc: 4619 mov r1, r3 807ddde: 4a6c ldr r2, [pc, #432] ; (807df90 ) 807dde0: 232c movs r3, #44 ; 0x2c 807dde2: fb03 f301 mul.w r3, r3, r1 807dde6: 4413 add r3, r2 807dde8: 3324 adds r3, #36 ; 0x24 807ddea: 681b ldr r3, [r3, #0] 807ddec: 461a mov r2, r3 807ddee: 21ca movs r1, #202 ; 0xca 807ddf0: 200a movs r0, #10 807ddf2: f7d7 f9b5 bl 8055160 } if(menupos == FilterHP_IDT) 807ddf6: 4b68 ldr r3, [pc, #416] ; (807df98 ) 807ddf8: 781b ldrb r3, [r3, #0] 807ddfa: b2db uxtb r3, r3 807ddfc: 2b19 cmp r3, #25 807ddfe: d15d bne.n 807debc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807de00: 4960 ldr r1, [pc, #384] ; (807df84 ) 807de02: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807de06: f7d6 fc03 bl 8054610 if(blk) 807de0a: 4b65 ldr r3, [pc, #404] ; (807dfa0 ) 807de0c: 681b ldr r3, [r3, #0] 807de0e: 2b00 cmp r3, #0 807de10: d00b beq.n 807de2a LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807de12: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807de16: b2db uxtb r3, r3 807de18: 461a mov r2, r3 807de1a: 4b62 ldr r3, [pc, #392] ; (807dfa4 ) 807de1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807de20: 461a mov r2, r3 807de22: 213a movs r1, #58 ; 0x3a 807de24: 20c6 movs r0, #198 ; 0xc6 807de26: f7d7 f99b bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807de2a: 4956 ldr r1, [pc, #344] ; (807df84 ) 807de2c: 4859 ldr r0, [pc, #356] ; (807df94 ) 807de2e: f7d6 fbef bl 8054610 LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807de32: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807de36: b2db uxtb r3, r3 807de38: 461a mov r2, r3 807de3a: 4b5a ldr r3, [pc, #360] ; (807dfa4 ) 807de3c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807de40: 461a mov r2, r3 807de42: 213a movs r1, #58 ; 0x3a 807de44: 20d6 movs r0, #214 ; 0xd6 807de46: f7d7 f98b bl 8055160 LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807de4a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807de4e: b2db uxtb r3, r3 807de50: 461a mov r2, r3 807de52: 4b54 ldr r3, [pc, #336] ; (807dfa4 ) 807de54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807de58: 461a mov r2, r3 807de5a: 213a movs r1, #58 ; 0x3a 807de5c: 20e6 movs r0, #230 ; 0xe6 807de5e: f7d7 f97f bl 8055160 LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807de62: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807de66: b2db uxtb r3, r3 807de68: 461a mov r2, r3 807de6a: 4b4e ldr r3, [pc, #312] ; (807dfa4 ) 807de6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807de70: 461a mov r2, r3 807de72: 213a movs r1, #58 ; 0x3a 807de74: 20f6 movs r0, #246 ; 0xf6 807de76: f7d7 f973 bl 8055160 LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807de7a: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807de7e: b2db uxtb r3, r3 807de80: 461a mov r2, r3 807de82: 4b48 ldr r3, [pc, #288] ; (807dfa4 ) 807de84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807de88: 461a mov r2, r3 807de8a: 213a movs r1, #58 ; 0x3a 807de8c: f44f 7083 mov.w r0, #262 ; 0x106 807de90: f7d7 f966 bl 8055160 LCD_DisplayString(278, LCD_LINE_3, "."); 807de94: 4a44 ldr r2, [pc, #272] ; (807dfa8 ) 807de96: 213a movs r1, #58 ; 0x3a 807de98: f44f 708b mov.w r0, #278 ; 0x116 807de9c: f7d7 f960 bl 8055160 LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807dea0: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807dea4: b2db uxtb r3, r3 807dea6: 461a mov r2, r3 807dea8: 4b3e ldr r3, [pc, #248] ; (807dfa4 ) 807deaa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807deae: 461a mov r2, r3 807deb0: 213a movs r1, #58 ; 0x3a 807deb2: f44f 7093 mov.w r0, #294 ; 0x126 807deb6: f7d7 f953 bl 8055160 807deba: e20f b.n 807e2dc } else if(menupos == FilterHP_IET) 807debc: 4b36 ldr r3, [pc, #216] ; (807df98 ) 807debe: 781b ldrb r3, [r3, #0] 807dec0: b2db uxtb r3, r3 807dec2: 2b1a cmp r3, #26 807dec4: d172 bne.n 807dfac { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807dec6: 492f ldr r1, [pc, #188] ; (807df84 ) 807dec8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807decc: f7d6 fba0 bl 8054610 if(blk) 807ded0: 4b33 ldr r3, [pc, #204] ; (807dfa0 ) 807ded2: 681b ldr r3, [r3, #0] 807ded4: 2b00 cmp r3, #0 807ded6: d00b beq.n 807def0 LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807ded8: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807dedc: b2db uxtb r3, r3 807dede: 461a mov r2, r3 807dee0: 4b30 ldr r3, [pc, #192] ; (807dfa4 ) 807dee2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dee6: 461a mov r2, r3 807dee8: 213a movs r1, #58 ; 0x3a 807deea: 20d6 movs r0, #214 ; 0xd6 807deec: f7d7 f938 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807def0: 4924 ldr r1, [pc, #144] ; (807df84 ) 807def2: 4828 ldr r0, [pc, #160] ; (807df94 ) 807def4: f7d6 fb8c bl 8054610 LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807def8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807defc: b2db uxtb r3, r3 807defe: 461a mov r2, r3 807df00: 4b28 ldr r3, [pc, #160] ; (807dfa4 ) 807df02: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807df06: 461a mov r2, r3 807df08: 213a movs r1, #58 ; 0x3a 807df0a: 20c6 movs r0, #198 ; 0xc6 807df0c: f7d7 f928 bl 8055160 LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807df10: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807df14: b2db uxtb r3, r3 807df16: 461a mov r2, r3 807df18: 4b22 ldr r3, [pc, #136] ; (807dfa4 ) 807df1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807df1e: 461a mov r2, r3 807df20: 213a movs r1, #58 ; 0x3a 807df22: 20e6 movs r0, #230 ; 0xe6 807df24: f7d7 f91c bl 8055160 LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807df28: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807df2c: b2db uxtb r3, r3 807df2e: 461a mov r2, r3 807df30: 4b1c ldr r3, [pc, #112] ; (807dfa4 ) 807df32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807df36: 461a mov r2, r3 807df38: 213a movs r1, #58 ; 0x3a 807df3a: 20f6 movs r0, #246 ; 0xf6 807df3c: f7d7 f910 bl 8055160 LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807df40: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807df44: b2db uxtb r3, r3 807df46: 461a mov r2, r3 807df48: 4b16 ldr r3, [pc, #88] ; (807dfa4 ) 807df4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807df4e: 461a mov r2, r3 807df50: 213a movs r1, #58 ; 0x3a 807df52: f44f 7083 mov.w r0, #262 ; 0x106 807df56: f7d7 f903 bl 8055160 LCD_DisplayString(278, LCD_LINE_3, "."); 807df5a: 4a13 ldr r2, [pc, #76] ; (807dfa8 ) 807df5c: 213a movs r1, #58 ; 0x3a 807df5e: f44f 708b mov.w r0, #278 ; 0x116 807df62: f7d7 f8fd bl 8055160 LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807df66: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807df6a: b2db uxtb r3, r3 807df6c: 461a mov r2, r3 807df6e: 4b0d ldr r3, [pc, #52] ; (807dfa4 ) 807df70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807df74: 461a mov r2, r3 807df76: 213a movs r1, #58 ; 0x3a 807df78: f44f 7093 mov.w r0, #294 ; 0x126 807df7c: f7d7 f8f0 bl 8055160 807df80: e1ac b.n 807e2dc 807df82: bf00 nop 807df84: ff0a0f1f .word 0xff0a0f1f 807df88: 20023ea8 .word 0x20023ea8 807df8c: 200206bc .word 0x200206bc 807df90: 20020714 .word 0x20020714 807df94: ffd8aa57 .word 0xffd8aa57 807df98: 20020070 .word 0x20020070 807df9c: ff808080 .word 0xff808080 807dfa0: 200216a4 .word 0x200216a4 807dfa4: 2002096c .word 0x2002096c 807dfa8: 080d3b58 .word 0x080d3b58 } else if(menupos == FilterHP_IES) 807dfac: 4b94 ldr r3, [pc, #592] ; (807e200 ) 807dfae: 781b ldrb r3, [r3, #0] 807dfb0: b2db uxtb r3, r3 807dfb2: 2b1b cmp r3, #27 807dfb4: d15d bne.n 807e072 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807dfb6: 4993 ldr r1, [pc, #588] ; (807e204 ) 807dfb8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807dfbc: f7d6 fb28 bl 8054610 if(blk) 807dfc0: 4b91 ldr r3, [pc, #580] ; (807e208 ) 807dfc2: 681b ldr r3, [r3, #0] 807dfc4: 2b00 cmp r3, #0 807dfc6: d00b beq.n 807dfe0 LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807dfc8: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807dfcc: b2db uxtb r3, r3 807dfce: 461a mov r2, r3 807dfd0: 4b8e ldr r3, [pc, #568] ; (807e20c ) 807dfd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dfd6: 461a mov r2, r3 807dfd8: 213a movs r1, #58 ; 0x3a 807dfda: 20e6 movs r0, #230 ; 0xe6 807dfdc: f7d7 f8c0 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807dfe0: 4988 ldr r1, [pc, #544] ; (807e204 ) 807dfe2: 488b ldr r0, [pc, #556] ; (807e210 ) 807dfe4: f7d6 fb14 bl 8054610 LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807dfe8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807dfec: b2db uxtb r3, r3 807dfee: 461a mov r2, r3 807dff0: 4b86 ldr r3, [pc, #536] ; (807e20c ) 807dff2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dff6: 461a mov r2, r3 807dff8: 213a movs r1, #58 ; 0x3a 807dffa: 20c6 movs r0, #198 ; 0xc6 807dffc: f7d7 f8b0 bl 8055160 LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807e000: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807e004: b2db uxtb r3, r3 807e006: 461a mov r2, r3 807e008: 4b80 ldr r3, [pc, #512] ; (807e20c ) 807e00a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e00e: 461a mov r2, r3 807e010: 213a movs r1, #58 ; 0x3a 807e012: 20d6 movs r0, #214 ; 0xd6 807e014: f7d7 f8a4 bl 8055160 LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807e018: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807e01c: b2db uxtb r3, r3 807e01e: 461a mov r2, r3 807e020: 4b7a ldr r3, [pc, #488] ; (807e20c ) 807e022: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e026: 461a mov r2, r3 807e028: 213a movs r1, #58 ; 0x3a 807e02a: 20f6 movs r0, #246 ; 0xf6 807e02c: f7d7 f898 bl 8055160 LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807e030: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807e034: b2db uxtb r3, r3 807e036: 461a mov r2, r3 807e038: 4b74 ldr r3, [pc, #464] ; (807e20c ) 807e03a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e03e: 461a mov r2, r3 807e040: 213a movs r1, #58 ; 0x3a 807e042: f44f 7083 mov.w r0, #262 ; 0x106 807e046: f7d7 f88b bl 8055160 LCD_DisplayString(278, LCD_LINE_3, "."); 807e04a: 4a72 ldr r2, [pc, #456] ; (807e214 ) 807e04c: 213a movs r1, #58 ; 0x3a 807e04e: f44f 708b mov.w r0, #278 ; 0x116 807e052: f7d7 f885 bl 8055160 LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807e056: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807e05a: b2db uxtb r3, r3 807e05c: 461a mov r2, r3 807e05e: 4b6b ldr r3, [pc, #428] ; (807e20c ) 807e060: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e064: 461a mov r2, r3 807e066: 213a movs r1, #58 ; 0x3a 807e068: f44f 7093 mov.w r0, #294 ; 0x126 807e06c: f7d7 f878 bl 8055160 807e070: e134 b.n 807e2dc } else if(menupos == FilterHP_IED) 807e072: 4b63 ldr r3, [pc, #396] ; (807e200 ) 807e074: 781b ldrb r3, [r3, #0] 807e076: b2db uxtb r3, r3 807e078: 2b1c cmp r3, #28 807e07a: d15d bne.n 807e138 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e07c: 4961 ldr r1, [pc, #388] ; (807e204 ) 807e07e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e082: f7d6 fac5 bl 8054610 if(blk) 807e086: 4b60 ldr r3, [pc, #384] ; (807e208 ) 807e088: 681b ldr r3, [r3, #0] 807e08a: 2b00 cmp r3, #0 807e08c: d00b beq.n 807e0a6 LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807e08e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807e092: b2db uxtb r3, r3 807e094: 461a mov r2, r3 807e096: 4b5d ldr r3, [pc, #372] ; (807e20c ) 807e098: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e09c: 461a mov r2, r3 807e09e: 213a movs r1, #58 ; 0x3a 807e0a0: 20f6 movs r0, #246 ; 0xf6 807e0a2: f7d7 f85d bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e0a6: 4957 ldr r1, [pc, #348] ; (807e204 ) 807e0a8: 4859 ldr r0, [pc, #356] ; (807e210 ) 807e0aa: f7d6 fab1 bl 8054610 LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807e0ae: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807e0b2: b2db uxtb r3, r3 807e0b4: 461a mov r2, r3 807e0b6: 4b55 ldr r3, [pc, #340] ; (807e20c ) 807e0b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e0bc: 461a mov r2, r3 807e0be: 213a movs r1, #58 ; 0x3a 807e0c0: 20c6 movs r0, #198 ; 0xc6 807e0c2: f7d7 f84d bl 8055160 LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807e0c6: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807e0ca: b2db uxtb r3, r3 807e0cc: 461a mov r2, r3 807e0ce: 4b4f ldr r3, [pc, #316] ; (807e20c ) 807e0d0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e0d4: 461a mov r2, r3 807e0d6: 213a movs r1, #58 ; 0x3a 807e0d8: 20d6 movs r0, #214 ; 0xd6 807e0da: f7d7 f841 bl 8055160 LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807e0de: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807e0e2: b2db uxtb r3, r3 807e0e4: 461a mov r2, r3 807e0e6: 4b49 ldr r3, [pc, #292] ; (807e20c ) 807e0e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e0ec: 461a mov r2, r3 807e0ee: 213a movs r1, #58 ; 0x3a 807e0f0: 20e6 movs r0, #230 ; 0xe6 807e0f2: f7d7 f835 bl 8055160 LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807e0f6: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807e0fa: b2db uxtb r3, r3 807e0fc: 461a mov r2, r3 807e0fe: 4b43 ldr r3, [pc, #268] ; (807e20c ) 807e100: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e104: 461a mov r2, r3 807e106: 213a movs r1, #58 ; 0x3a 807e108: f44f 7083 mov.w r0, #262 ; 0x106 807e10c: f7d7 f828 bl 8055160 LCD_DisplayString(278, LCD_LINE_3, "."); 807e110: 4a40 ldr r2, [pc, #256] ; (807e214 ) 807e112: 213a movs r1, #58 ; 0x3a 807e114: f44f 708b mov.w r0, #278 ; 0x116 807e118: f7d7 f822 bl 8055160 LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807e11c: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807e120: b2db uxtb r3, r3 807e122: 461a mov r2, r3 807e124: 4b39 ldr r3, [pc, #228] ; (807e20c ) 807e126: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e12a: 461a mov r2, r3 807e12c: 213a movs r1, #58 ; 0x3a 807e12e: f44f 7093 mov.w r0, #294 ; 0x126 807e132: f7d7 f815 bl 8055160 807e136: e0d1 b.n 807e2dc } else if(menupos == FilterHP_IEE) 807e138: 4b31 ldr r3, [pc, #196] ; (807e200 ) 807e13a: 781b ldrb r3, [r3, #0] 807e13c: b2db uxtb r3, r3 807e13e: 2b1d cmp r3, #29 807e140: d16a bne.n 807e218 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e142: 4930 ldr r1, [pc, #192] ; (807e204 ) 807e144: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e148: f7d6 fa62 bl 8054610 if(blk) 807e14c: 4b2e ldr r3, [pc, #184] ; (807e208 ) 807e14e: 681b ldr r3, [r3, #0] 807e150: 2b00 cmp r3, #0 807e152: d00c beq.n 807e16e LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807e154: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807e158: b2db uxtb r3, r3 807e15a: 461a mov r2, r3 807e15c: 4b2b ldr r3, [pc, #172] ; (807e20c ) 807e15e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e162: 461a mov r2, r3 807e164: 213a movs r1, #58 ; 0x3a 807e166: f44f 7083 mov.w r0, #262 ; 0x106 807e16a: f7d6 fff9 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e16e: 4925 ldr r1, [pc, #148] ; (807e204 ) 807e170: 4827 ldr r0, [pc, #156] ; (807e210 ) 807e172: f7d6 fa4d bl 8054610 LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807e176: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807e17a: b2db uxtb r3, r3 807e17c: 461a mov r2, r3 807e17e: 4b23 ldr r3, [pc, #140] ; (807e20c ) 807e180: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e184: 461a mov r2, r3 807e186: 213a movs r1, #58 ; 0x3a 807e188: 20c6 movs r0, #198 ; 0xc6 807e18a: f7d6 ffe9 bl 8055160 LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807e18e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807e192: b2db uxtb r3, r3 807e194: 461a mov r2, r3 807e196: 4b1d ldr r3, [pc, #116] ; (807e20c ) 807e198: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e19c: 461a mov r2, r3 807e19e: 213a movs r1, #58 ; 0x3a 807e1a0: 20d6 movs r0, #214 ; 0xd6 807e1a2: f7d6 ffdd bl 8055160 LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807e1a6: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807e1aa: b2db uxtb r3, r3 807e1ac: 461a mov r2, r3 807e1ae: 4b17 ldr r3, [pc, #92] ; (807e20c ) 807e1b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e1b4: 461a mov r2, r3 807e1b6: 213a movs r1, #58 ; 0x3a 807e1b8: 20e6 movs r0, #230 ; 0xe6 807e1ba: f7d6 ffd1 bl 8055160 LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807e1be: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807e1c2: b2db uxtb r3, r3 807e1c4: 461a mov r2, r3 807e1c6: 4b11 ldr r3, [pc, #68] ; (807e20c ) 807e1c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e1cc: 461a mov r2, r3 807e1ce: 213a movs r1, #58 ; 0x3a 807e1d0: 20f6 movs r0, #246 ; 0xf6 807e1d2: f7d6 ffc5 bl 8055160 LCD_DisplayString(278, LCD_LINE_3, "."); 807e1d6: 4a0f ldr r2, [pc, #60] ; (807e214 ) 807e1d8: 213a movs r1, #58 ; 0x3a 807e1da: f44f 708b mov.w r0, #278 ; 0x116 807e1de: f7d6 ffbf bl 8055160 LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807e1e2: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807e1e6: b2db uxtb r3, r3 807e1e8: 461a mov r2, r3 807e1ea: 4b08 ldr r3, [pc, #32] ; (807e20c ) 807e1ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e1f0: 461a mov r2, r3 807e1f2: 213a movs r1, #58 ; 0x3a 807e1f4: f44f 7093 mov.w r0, #294 ; 0x126 807e1f8: f7d6 ffb2 bl 8055160 807e1fc: e06e b.n 807e2dc 807e1fe: bf00 nop 807e200: 20020070 .word 0x20020070 807e204: ff0a0f1f .word 0xff0a0f1f 807e208: 200216a4 .word 0x200216a4 807e20c: 2002096c .word 0x2002096c 807e210: ffd8aa57 .word 0xffd8aa57 807e214: 080d3b58 .word 0x080d3b58 } else if(menupos == FilterHP_IKD) 807e218: 4bc5 ldr r3, [pc, #788] ; (807e530 ) 807e21a: 781b ldrb r3, [r3, #0] 807e21c: b2db uxtb r3, r3 807e21e: 2b1e cmp r3, #30 807e220: d15c bne.n 807e2dc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e222: 49c4 ldr r1, [pc, #784] ; (807e534 ) 807e224: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e228: f7d6 f9f2 bl 8054610 if(blk) 807e22c: 4bc2 ldr r3, [pc, #776] ; (807e538 ) 807e22e: 681b ldr r3, [r3, #0] 807e230: 2b00 cmp r3, #0 807e232: d00c beq.n 807e24e LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807e234: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807e238: b2db uxtb r3, r3 807e23a: 461a mov r2, r3 807e23c: 4bbf ldr r3, [pc, #764] ; (807e53c ) 807e23e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e242: 461a mov r2, r3 807e244: 213a movs r1, #58 ; 0x3a 807e246: f44f 7093 mov.w r0, #294 ; 0x126 807e24a: f7d6 ff89 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e24e: 49b9 ldr r1, [pc, #740] ; (807e534 ) 807e250: 48bb ldr r0, [pc, #748] ; (807e540 ) 807e252: f7d6 f9dd bl 8054610 LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807e256: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807e25a: b2db uxtb r3, r3 807e25c: 461a mov r2, r3 807e25e: 4bb7 ldr r3, [pc, #732] ; (807e53c ) 807e260: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e264: 461a mov r2, r3 807e266: 213a movs r1, #58 ; 0x3a 807e268: 20c6 movs r0, #198 ; 0xc6 807e26a: f7d6 ff79 bl 8055160 LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807e26e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807e272: b2db uxtb r3, r3 807e274: 461a mov r2, r3 807e276: 4bb1 ldr r3, [pc, #708] ; (807e53c ) 807e278: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e27c: 461a mov r2, r3 807e27e: 213a movs r1, #58 ; 0x3a 807e280: 20d6 movs r0, #214 ; 0xd6 807e282: f7d6 ff6d bl 8055160 LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807e286: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807e28a: b2db uxtb r3, r3 807e28c: 461a mov r2, r3 807e28e: 4bab ldr r3, [pc, #684] ; (807e53c ) 807e290: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e294: 461a mov r2, r3 807e296: 213a movs r1, #58 ; 0x3a 807e298: 20e6 movs r0, #230 ; 0xe6 807e29a: f7d6 ff61 bl 8055160 LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807e29e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807e2a2: b2db uxtb r3, r3 807e2a4: 461a mov r2, r3 807e2a6: 4ba5 ldr r3, [pc, #660] ; (807e53c ) 807e2a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e2ac: 461a mov r2, r3 807e2ae: 213a movs r1, #58 ; 0x3a 807e2b0: 20f6 movs r0, #246 ; 0xf6 807e2b2: f7d6 ff55 bl 8055160 LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807e2b6: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807e2ba: b2db uxtb r3, r3 807e2bc: 461a mov r2, r3 807e2be: 4b9f ldr r3, [pc, #636] ; (807e53c ) 807e2c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e2c4: 461a mov r2, r3 807e2c6: 213a movs r1, #58 ; 0x3a 807e2c8: f44f 7083 mov.w r0, #262 ; 0x106 807e2cc: f7d6 ff48 bl 8055160 LCD_DisplayString(278, LCD_LINE_3, "."); 807e2d0: 4a9c ldr r2, [pc, #624] ; (807e544 ) 807e2d2: 213a movs r1, #58 ; 0x3a 807e2d4: f44f 708b mov.w r0, #278 ; 0x116 807e2d8: f7d6 ff42 bl 8055160 if(menupos == FilterLP_IDT) 807e2dc: 4b94 ldr r3, [pc, #592] ; (807e530 ) 807e2de: 781b ldrb r3, [r3, #0] 807e2e0: b2db uxtb r3, r3 807e2e2: 2b1f cmp r3, #31 807e2e4: d15d bne.n 807e3a2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e2e6: 4993 ldr r1, [pc, #588] ; (807e534 ) 807e2e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e2ec: f7d6 f990 bl 8054610 if(blk) 807e2f0: 4b91 ldr r3, [pc, #580] ; (807e538 ) 807e2f2: 681b ldr r3, [r3, #0] 807e2f4: 2b00 cmp r3, #0 807e2f6: d00b beq.n 807e310 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807e2f8: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807e2fc: b2db uxtb r3, r3 807e2fe: 461a mov r2, r3 807e300: 4b8e ldr r3, [pc, #568] ; (807e53c ) 807e302: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e306: 461a mov r2, r3 807e308: 214a movs r1, #74 ; 0x4a 807e30a: 20c6 movs r0, #198 ; 0xc6 807e30c: f7d6 ff28 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e310: 4988 ldr r1, [pc, #544] ; (807e534 ) 807e312: 488b ldr r0, [pc, #556] ; (807e540 ) 807e314: f7d6 f97c bl 8054610 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807e318: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807e31c: b2db uxtb r3, r3 807e31e: 461a mov r2, r3 807e320: 4b86 ldr r3, [pc, #536] ; (807e53c ) 807e322: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e326: 461a mov r2, r3 807e328: 214a movs r1, #74 ; 0x4a 807e32a: 20d6 movs r0, #214 ; 0xd6 807e32c: f7d6 ff18 bl 8055160 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807e330: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807e334: b2db uxtb r3, r3 807e336: 461a mov r2, r3 807e338: 4b80 ldr r3, [pc, #512] ; (807e53c ) 807e33a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e33e: 461a mov r2, r3 807e340: 214a movs r1, #74 ; 0x4a 807e342: 20e6 movs r0, #230 ; 0xe6 807e344: f7d6 ff0c bl 8055160 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807e348: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807e34c: b2db uxtb r3, r3 807e34e: 461a mov r2, r3 807e350: 4b7a ldr r3, [pc, #488] ; (807e53c ) 807e352: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e356: 461a mov r2, r3 807e358: 214a movs r1, #74 ; 0x4a 807e35a: 20f6 movs r0, #246 ; 0xf6 807e35c: f7d6 ff00 bl 8055160 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807e360: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807e364: b2db uxtb r3, r3 807e366: 461a mov r2, r3 807e368: 4b74 ldr r3, [pc, #464] ; (807e53c ) 807e36a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e36e: 461a mov r2, r3 807e370: 214a movs r1, #74 ; 0x4a 807e372: f44f 7083 mov.w r0, #262 ; 0x106 807e376: f7d6 fef3 bl 8055160 LCD_DisplayString(278, LCD_LINE_4, "."); 807e37a: 4a72 ldr r2, [pc, #456] ; (807e544 ) 807e37c: 214a movs r1, #74 ; 0x4a 807e37e: f44f 708b mov.w r0, #278 ; 0x116 807e382: f7d6 feed bl 8055160 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807e386: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807e38a: b2db uxtb r3, r3 807e38c: 461a mov r2, r3 807e38e: 4b6b ldr r3, [pc, #428] ; (807e53c ) 807e390: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e394: 461a mov r2, r3 807e396: 214a movs r1, #74 ; 0x4a 807e398: f44f 7093 mov.w r0, #294 ; 0x126 807e39c: f7d6 fee0 bl 8055160 807e3a0: e1fa b.n 807e798 } else if(menupos == FilterLP_IET) 807e3a2: 4b63 ldr r3, [pc, #396] ; (807e530 ) 807e3a4: 781b ldrb r3, [r3, #0] 807e3a6: b2db uxtb r3, r3 807e3a8: 2b20 cmp r3, #32 807e3aa: d15d bne.n 807e468 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e3ac: 4961 ldr r1, [pc, #388] ; (807e534 ) 807e3ae: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e3b2: f7d6 f92d bl 8054610 if(blk) 807e3b6: 4b60 ldr r3, [pc, #384] ; (807e538 ) 807e3b8: 681b ldr r3, [r3, #0] 807e3ba: 2b00 cmp r3, #0 807e3bc: d00b beq.n 807e3d6 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807e3be: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807e3c2: b2db uxtb r3, r3 807e3c4: 461a mov r2, r3 807e3c6: 4b5d ldr r3, [pc, #372] ; (807e53c ) 807e3c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e3cc: 461a mov r2, r3 807e3ce: 214a movs r1, #74 ; 0x4a 807e3d0: 20d6 movs r0, #214 ; 0xd6 807e3d2: f7d6 fec5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e3d6: 4957 ldr r1, [pc, #348] ; (807e534 ) 807e3d8: 4859 ldr r0, [pc, #356] ; (807e540 ) 807e3da: f7d6 f919 bl 8054610 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807e3de: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807e3e2: b2db uxtb r3, r3 807e3e4: 461a mov r2, r3 807e3e6: 4b55 ldr r3, [pc, #340] ; (807e53c ) 807e3e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e3ec: 461a mov r2, r3 807e3ee: 214a movs r1, #74 ; 0x4a 807e3f0: 20c6 movs r0, #198 ; 0xc6 807e3f2: f7d6 feb5 bl 8055160 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807e3f6: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807e3fa: b2db uxtb r3, r3 807e3fc: 461a mov r2, r3 807e3fe: 4b4f ldr r3, [pc, #316] ; (807e53c ) 807e400: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e404: 461a mov r2, r3 807e406: 214a movs r1, #74 ; 0x4a 807e408: 20e6 movs r0, #230 ; 0xe6 807e40a: f7d6 fea9 bl 8055160 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807e40e: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807e412: b2db uxtb r3, r3 807e414: 461a mov r2, r3 807e416: 4b49 ldr r3, [pc, #292] ; (807e53c ) 807e418: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e41c: 461a mov r2, r3 807e41e: 214a movs r1, #74 ; 0x4a 807e420: 20f6 movs r0, #246 ; 0xf6 807e422: f7d6 fe9d bl 8055160 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807e426: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807e42a: b2db uxtb r3, r3 807e42c: 461a mov r2, r3 807e42e: 4b43 ldr r3, [pc, #268] ; (807e53c ) 807e430: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e434: 461a mov r2, r3 807e436: 214a movs r1, #74 ; 0x4a 807e438: f44f 7083 mov.w r0, #262 ; 0x106 807e43c: f7d6 fe90 bl 8055160 LCD_DisplayString(278, LCD_LINE_4, "."); 807e440: 4a40 ldr r2, [pc, #256] ; (807e544 ) 807e442: 214a movs r1, #74 ; 0x4a 807e444: f44f 708b mov.w r0, #278 ; 0x116 807e448: f7d6 fe8a bl 8055160 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807e44c: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807e450: b2db uxtb r3, r3 807e452: 461a mov r2, r3 807e454: 4b39 ldr r3, [pc, #228] ; (807e53c ) 807e456: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e45a: 461a mov r2, r3 807e45c: 214a movs r1, #74 ; 0x4a 807e45e: f44f 7093 mov.w r0, #294 ; 0x126 807e462: f7d6 fe7d bl 8055160 807e466: e197 b.n 807e798 } else if(menupos == FilterLP_IES) 807e468: 4b31 ldr r3, [pc, #196] ; (807e530 ) 807e46a: 781b ldrb r3, [r3, #0] 807e46c: b2db uxtb r3, r3 807e46e: 2b21 cmp r3, #33 ; 0x21 807e470: d16a bne.n 807e548 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e472: 4930 ldr r1, [pc, #192] ; (807e534 ) 807e474: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e478: f7d6 f8ca bl 8054610 if(blk) 807e47c: 4b2e ldr r3, [pc, #184] ; (807e538 ) 807e47e: 681b ldr r3, [r3, #0] 807e480: 2b00 cmp r3, #0 807e482: d00b beq.n 807e49c LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807e484: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807e488: b2db uxtb r3, r3 807e48a: 461a mov r2, r3 807e48c: 4b2b ldr r3, [pc, #172] ; (807e53c ) 807e48e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e492: 461a mov r2, r3 807e494: 214a movs r1, #74 ; 0x4a 807e496: 20e6 movs r0, #230 ; 0xe6 807e498: f7d6 fe62 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e49c: 4925 ldr r1, [pc, #148] ; (807e534 ) 807e49e: 4828 ldr r0, [pc, #160] ; (807e540 ) 807e4a0: f7d6 f8b6 bl 8054610 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807e4a4: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807e4a8: b2db uxtb r3, r3 807e4aa: 461a mov r2, r3 807e4ac: 4b23 ldr r3, [pc, #140] ; (807e53c ) 807e4ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e4b2: 461a mov r2, r3 807e4b4: 214a movs r1, #74 ; 0x4a 807e4b6: 20c6 movs r0, #198 ; 0xc6 807e4b8: f7d6 fe52 bl 8055160 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807e4bc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807e4c0: b2db uxtb r3, r3 807e4c2: 461a mov r2, r3 807e4c4: 4b1d ldr r3, [pc, #116] ; (807e53c ) 807e4c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e4ca: 461a mov r2, r3 807e4cc: 214a movs r1, #74 ; 0x4a 807e4ce: 20d6 movs r0, #214 ; 0xd6 807e4d0: f7d6 fe46 bl 8055160 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807e4d4: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807e4d8: b2db uxtb r3, r3 807e4da: 461a mov r2, r3 807e4dc: 4b17 ldr r3, [pc, #92] ; (807e53c ) 807e4de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e4e2: 461a mov r2, r3 807e4e4: 214a movs r1, #74 ; 0x4a 807e4e6: 20f6 movs r0, #246 ; 0xf6 807e4e8: f7d6 fe3a bl 8055160 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807e4ec: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807e4f0: b2db uxtb r3, r3 807e4f2: 461a mov r2, r3 807e4f4: 4b11 ldr r3, [pc, #68] ; (807e53c ) 807e4f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e4fa: 461a mov r2, r3 807e4fc: 214a movs r1, #74 ; 0x4a 807e4fe: f44f 7083 mov.w r0, #262 ; 0x106 807e502: f7d6 fe2d bl 8055160 LCD_DisplayString(278, LCD_LINE_4, "."); 807e506: 4a0f ldr r2, [pc, #60] ; (807e544 ) 807e508: 214a movs r1, #74 ; 0x4a 807e50a: f44f 708b mov.w r0, #278 ; 0x116 807e50e: f7d6 fe27 bl 8055160 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807e512: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807e516: b2db uxtb r3, r3 807e518: 461a mov r2, r3 807e51a: 4b08 ldr r3, [pc, #32] ; (807e53c ) 807e51c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e520: 461a mov r2, r3 807e522: 214a movs r1, #74 ; 0x4a 807e524: f44f 7093 mov.w r0, #294 ; 0x126 807e528: f7d6 fe1a bl 8055160 807e52c: e134 b.n 807e798 807e52e: bf00 nop 807e530: 20020070 .word 0x20020070 807e534: ff0a0f1f .word 0xff0a0f1f 807e538: 200216a4 .word 0x200216a4 807e53c: 2002096c .word 0x2002096c 807e540: ffd8aa57 .word 0xffd8aa57 807e544: 080d3b58 .word 0x080d3b58 } else if(menupos == FilterLP_IED) 807e548: 4bc5 ldr r3, [pc, #788] ; (807e860 ) 807e54a: 781b ldrb r3, [r3, #0] 807e54c: b2db uxtb r3, r3 807e54e: 2b22 cmp r3, #34 ; 0x22 807e550: d15d bne.n 807e60e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e552: 49c4 ldr r1, [pc, #784] ; (807e864 ) 807e554: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e558: f7d6 f85a bl 8054610 if(blk) 807e55c: 4bc2 ldr r3, [pc, #776] ; (807e868 ) 807e55e: 681b ldr r3, [r3, #0] 807e560: 2b00 cmp r3, #0 807e562: d00b beq.n 807e57c LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807e564: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807e568: b2db uxtb r3, r3 807e56a: 461a mov r2, r3 807e56c: 4bbf ldr r3, [pc, #764] ; (807e86c ) 807e56e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e572: 461a mov r2, r3 807e574: 214a movs r1, #74 ; 0x4a 807e576: 20f6 movs r0, #246 ; 0xf6 807e578: f7d6 fdf2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e57c: 49b9 ldr r1, [pc, #740] ; (807e864 ) 807e57e: 48bc ldr r0, [pc, #752] ; (807e870 ) 807e580: f7d6 f846 bl 8054610 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807e584: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807e588: b2db uxtb r3, r3 807e58a: 461a mov r2, r3 807e58c: 4bb7 ldr r3, [pc, #732] ; (807e86c ) 807e58e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e592: 461a mov r2, r3 807e594: 214a movs r1, #74 ; 0x4a 807e596: 20c6 movs r0, #198 ; 0xc6 807e598: f7d6 fde2 bl 8055160 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807e59c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807e5a0: b2db uxtb r3, r3 807e5a2: 461a mov r2, r3 807e5a4: 4bb1 ldr r3, [pc, #708] ; (807e86c ) 807e5a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e5aa: 461a mov r2, r3 807e5ac: 214a movs r1, #74 ; 0x4a 807e5ae: 20d6 movs r0, #214 ; 0xd6 807e5b0: f7d6 fdd6 bl 8055160 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807e5b4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807e5b8: b2db uxtb r3, r3 807e5ba: 461a mov r2, r3 807e5bc: 4bab ldr r3, [pc, #684] ; (807e86c ) 807e5be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e5c2: 461a mov r2, r3 807e5c4: 214a movs r1, #74 ; 0x4a 807e5c6: 20e6 movs r0, #230 ; 0xe6 807e5c8: f7d6 fdca bl 8055160 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807e5cc: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807e5d0: b2db uxtb r3, r3 807e5d2: 461a mov r2, r3 807e5d4: 4ba5 ldr r3, [pc, #660] ; (807e86c ) 807e5d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e5da: 461a mov r2, r3 807e5dc: 214a movs r1, #74 ; 0x4a 807e5de: f44f 7083 mov.w r0, #262 ; 0x106 807e5e2: f7d6 fdbd bl 8055160 LCD_DisplayString(278, LCD_LINE_4, "."); 807e5e6: 4aa3 ldr r2, [pc, #652] ; (807e874 ) 807e5e8: 214a movs r1, #74 ; 0x4a 807e5ea: f44f 708b mov.w r0, #278 ; 0x116 807e5ee: f7d6 fdb7 bl 8055160 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807e5f2: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807e5f6: b2db uxtb r3, r3 807e5f8: 461a mov r2, r3 807e5fa: 4b9c ldr r3, [pc, #624] ; (807e86c ) 807e5fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e600: 461a mov r2, r3 807e602: 214a movs r1, #74 ; 0x4a 807e604: f44f 7093 mov.w r0, #294 ; 0x126 807e608: f7d6 fdaa bl 8055160 807e60c: e0c4 b.n 807e798 } else if(menupos == FilterLP_IEE) 807e60e: 4b94 ldr r3, [pc, #592] ; (807e860 ) 807e610: 781b ldrb r3, [r3, #0] 807e612: b2db uxtb r3, r3 807e614: 2b23 cmp r3, #35 ; 0x23 807e616: d15d bne.n 807e6d4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e618: 4992 ldr r1, [pc, #584] ; (807e864 ) 807e61a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e61e: f7d5 fff7 bl 8054610 if(blk) 807e622: 4b91 ldr r3, [pc, #580] ; (807e868 ) 807e624: 681b ldr r3, [r3, #0] 807e626: 2b00 cmp r3, #0 807e628: d00c beq.n 807e644 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807e62a: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807e62e: b2db uxtb r3, r3 807e630: 461a mov r2, r3 807e632: 4b8e ldr r3, [pc, #568] ; (807e86c ) 807e634: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e638: 461a mov r2, r3 807e63a: 214a movs r1, #74 ; 0x4a 807e63c: f44f 7083 mov.w r0, #262 ; 0x106 807e640: f7d6 fd8e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e644: 4987 ldr r1, [pc, #540] ; (807e864 ) 807e646: 488a ldr r0, [pc, #552] ; (807e870 ) 807e648: f7d5 ffe2 bl 8054610 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807e64c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807e650: b2db uxtb r3, r3 807e652: 461a mov r2, r3 807e654: 4b85 ldr r3, [pc, #532] ; (807e86c ) 807e656: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e65a: 461a mov r2, r3 807e65c: 214a movs r1, #74 ; 0x4a 807e65e: 20c6 movs r0, #198 ; 0xc6 807e660: f7d6 fd7e bl 8055160 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807e664: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807e668: b2db uxtb r3, r3 807e66a: 461a mov r2, r3 807e66c: 4b7f ldr r3, [pc, #508] ; (807e86c ) 807e66e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e672: 461a mov r2, r3 807e674: 214a movs r1, #74 ; 0x4a 807e676: 20d6 movs r0, #214 ; 0xd6 807e678: f7d6 fd72 bl 8055160 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807e67c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807e680: b2db uxtb r3, r3 807e682: 461a mov r2, r3 807e684: 4b79 ldr r3, [pc, #484] ; (807e86c ) 807e686: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e68a: 461a mov r2, r3 807e68c: 214a movs r1, #74 ; 0x4a 807e68e: 20e6 movs r0, #230 ; 0xe6 807e690: f7d6 fd66 bl 8055160 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807e694: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807e698: b2db uxtb r3, r3 807e69a: 461a mov r2, r3 807e69c: 4b73 ldr r3, [pc, #460] ; (807e86c ) 807e69e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e6a2: 461a mov r2, r3 807e6a4: 214a movs r1, #74 ; 0x4a 807e6a6: 20f6 movs r0, #246 ; 0xf6 807e6a8: f7d6 fd5a bl 8055160 LCD_DisplayString(278, LCD_LINE_4, "."); 807e6ac: 4a71 ldr r2, [pc, #452] ; (807e874 ) 807e6ae: 214a movs r1, #74 ; 0x4a 807e6b0: f44f 708b mov.w r0, #278 ; 0x116 807e6b4: f7d6 fd54 bl 8055160 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807e6b8: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807e6bc: b2db uxtb r3, r3 807e6be: 461a mov r2, r3 807e6c0: 4b6a ldr r3, [pc, #424] ; (807e86c ) 807e6c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e6c6: 461a mov r2, r3 807e6c8: 214a movs r1, #74 ; 0x4a 807e6ca: f44f 7093 mov.w r0, #294 ; 0x126 807e6ce: f7d6 fd47 bl 8055160 807e6d2: e061 b.n 807e798 } else if(menupos == FilterLP_IKD) 807e6d4: 4b62 ldr r3, [pc, #392] ; (807e860 ) 807e6d6: 781b ldrb r3, [r3, #0] 807e6d8: b2db uxtb r3, r3 807e6da: 2b24 cmp r3, #36 ; 0x24 807e6dc: d15c bne.n 807e798 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e6de: 4961 ldr r1, [pc, #388] ; (807e864 ) 807e6e0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e6e4: f7d5 ff94 bl 8054610 if(blk) 807e6e8: 4b5f ldr r3, [pc, #380] ; (807e868 ) 807e6ea: 681b ldr r3, [r3, #0] 807e6ec: 2b00 cmp r3, #0 807e6ee: d00c beq.n 807e70a LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807e6f0: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807e6f4: b2db uxtb r3, r3 807e6f6: 461a mov r2, r3 807e6f8: 4b5c ldr r3, [pc, #368] ; (807e86c ) 807e6fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e6fe: 461a mov r2, r3 807e700: 214a movs r1, #74 ; 0x4a 807e702: f44f 7093 mov.w r0, #294 ; 0x126 807e706: f7d6 fd2b bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e70a: 4956 ldr r1, [pc, #344] ; (807e864 ) 807e70c: 4858 ldr r0, [pc, #352] ; (807e870 ) 807e70e: f7d5 ff7f bl 8054610 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807e712: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807e716: b2db uxtb r3, r3 807e718: 461a mov r2, r3 807e71a: 4b54 ldr r3, [pc, #336] ; (807e86c ) 807e71c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e720: 461a mov r2, r3 807e722: 214a movs r1, #74 ; 0x4a 807e724: 20c6 movs r0, #198 ; 0xc6 807e726: f7d6 fd1b bl 8055160 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807e72a: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807e72e: b2db uxtb r3, r3 807e730: 461a mov r2, r3 807e732: 4b4e ldr r3, [pc, #312] ; (807e86c ) 807e734: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e738: 461a mov r2, r3 807e73a: 214a movs r1, #74 ; 0x4a 807e73c: 20d6 movs r0, #214 ; 0xd6 807e73e: f7d6 fd0f bl 8055160 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807e742: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807e746: b2db uxtb r3, r3 807e748: 461a mov r2, r3 807e74a: 4b48 ldr r3, [pc, #288] ; (807e86c ) 807e74c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e750: 461a mov r2, r3 807e752: 214a movs r1, #74 ; 0x4a 807e754: 20e6 movs r0, #230 ; 0xe6 807e756: f7d6 fd03 bl 8055160 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807e75a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807e75e: b2db uxtb r3, r3 807e760: 461a mov r2, r3 807e762: 4b42 ldr r3, [pc, #264] ; (807e86c ) 807e764: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e768: 461a mov r2, r3 807e76a: 214a movs r1, #74 ; 0x4a 807e76c: 20f6 movs r0, #246 ; 0xf6 807e76e: f7d6 fcf7 bl 8055160 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807e772: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807e776: b2db uxtb r3, r3 807e778: 461a mov r2, r3 807e77a: 4b3c ldr r3, [pc, #240] ; (807e86c ) 807e77c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e780: 461a mov r2, r3 807e782: 214a movs r1, #74 ; 0x4a 807e784: f44f 7083 mov.w r0, #262 ; 0x106 807e788: f7d6 fcea bl 8055160 LCD_DisplayString(278, LCD_LINE_4, "."); 807e78c: 4a39 ldr r2, [pc, #228] ; (807e874 ) 807e78e: 214a movs r1, #74 ; 0x4a 807e790: f44f 708b mov.w r0, #278 ; 0x116 807e794: f7d6 fce4 bl 8055160 if(menupos == VibMax_IDT) 807e798: 4b31 ldr r3, [pc, #196] ; (807e860 ) 807e79a: 781b ldrb r3, [r3, #0] 807e79c: b2db uxtb r3, r3 807e79e: 2b0b cmp r3, #11 807e7a0: d16a bne.n 807e878 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e7a2: 4930 ldr r1, [pc, #192] ; (807e864 ) 807e7a4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e7a8: f7d5 ff32 bl 8054610 if(blk) 807e7ac: 4b2e ldr r3, [pc, #184] ; (807e868 ) 807e7ae: 681b ldr r3, [r3, #0] 807e7b0: 2b00 cmp r3, #0 807e7b2: d00b beq.n 807e7cc LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807e7b4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807e7b8: b2db uxtb r3, r3 807e7ba: 461a mov r2, r3 807e7bc: 4b2b ldr r3, [pc, #172] ; (807e86c ) 807e7be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e7c2: 461a mov r2, r3 807e7c4: 21ca movs r1, #202 ; 0xca 807e7c6: 20c6 movs r0, #198 ; 0xc6 807e7c8: f7d6 fcca bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e7cc: 4925 ldr r1, [pc, #148] ; (807e864 ) 807e7ce: 4828 ldr r0, [pc, #160] ; (807e870 ) 807e7d0: f7d5 ff1e bl 8054610 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807e7d4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807e7d8: b2db uxtb r3, r3 807e7da: 461a mov r2, r3 807e7dc: 4b23 ldr r3, [pc, #140] ; (807e86c ) 807e7de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e7e2: 461a mov r2, r3 807e7e4: 21ca movs r1, #202 ; 0xca 807e7e6: 20d6 movs r0, #214 ; 0xd6 807e7e8: f7d6 fcba bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807e7ec: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807e7f0: b2db uxtb r3, r3 807e7f2: 461a mov r2, r3 807e7f4: 4b1d ldr r3, [pc, #116] ; (807e86c ) 807e7f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e7fa: 461a mov r2, r3 807e7fc: 21ca movs r1, #202 ; 0xca 807e7fe: 20e6 movs r0, #230 ; 0xe6 807e800: f7d6 fcae bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807e804: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807e808: b2db uxtb r3, r3 807e80a: 461a mov r2, r3 807e80c: 4b17 ldr r3, [pc, #92] ; (807e86c ) 807e80e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e812: 461a mov r2, r3 807e814: 21ca movs r1, #202 ; 0xca 807e816: 20f6 movs r0, #246 ; 0xf6 807e818: f7d6 fca2 bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807e81c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807e820: b2db uxtb r3, r3 807e822: 461a mov r2, r3 807e824: 4b11 ldr r3, [pc, #68] ; (807e86c ) 807e826: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e82a: 461a mov r2, r3 807e82c: 21ca movs r1, #202 ; 0xca 807e82e: f44f 7083 mov.w r0, #262 ; 0x106 807e832: f7d6 fc95 bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 807e836: 4a0f ldr r2, [pc, #60] ; (807e874 ) 807e838: 21ca movs r1, #202 ; 0xca 807e83a: f44f 708b mov.w r0, #278 ; 0x116 807e83e: f7d6 fc8f bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807e842: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807e846: b2db uxtb r3, r3 807e848: 461a mov r2, r3 807e84a: 4b08 ldr r3, [pc, #32] ; (807e86c ) 807e84c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e850: 461a mov r2, r3 807e852: 21ca movs r1, #202 ; 0xca 807e854: f44f 7093 mov.w r0, #294 ; 0x126 807e858: f7d6 fc82 bl 8055160 807e85c: e206 b.n 807ec6c 807e85e: bf00 nop 807e860: 20020070 .word 0x20020070 807e864: ff0a0f1f .word 0xff0a0f1f 807e868: 200216a4 .word 0x200216a4 807e86c: 2002096c .word 0x2002096c 807e870: ffd8aa57 .word 0xffd8aa57 807e874: 080d3b58 .word 0x080d3b58 } else if(menupos == VibMax_IET) 807e878: 4bc5 ldr r3, [pc, #788] ; (807eb90 ) 807e87a: 781b ldrb r3, [r3, #0] 807e87c: b2db uxtb r3, r3 807e87e: 2b0c cmp r3, #12 807e880: d15d bne.n 807e93e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e882: 49c4 ldr r1, [pc, #784] ; (807eb94 ) 807e884: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e888: f7d5 fec2 bl 8054610 if(blk) 807e88c: 4bc2 ldr r3, [pc, #776] ; (807eb98 ) 807e88e: 681b ldr r3, [r3, #0] 807e890: 2b00 cmp r3, #0 807e892: d00b beq.n 807e8ac LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807e894: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807e898: b2db uxtb r3, r3 807e89a: 461a mov r2, r3 807e89c: 4bbf ldr r3, [pc, #764] ; (807eb9c ) 807e89e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e8a2: 461a mov r2, r3 807e8a4: 21ca movs r1, #202 ; 0xca 807e8a6: 20d6 movs r0, #214 ; 0xd6 807e8a8: f7d6 fc5a bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e8ac: 49b9 ldr r1, [pc, #740] ; (807eb94 ) 807e8ae: 48bc ldr r0, [pc, #752] ; (807eba0 ) 807e8b0: f7d5 feae bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807e8b4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807e8b8: b2db uxtb r3, r3 807e8ba: 461a mov r2, r3 807e8bc: 4bb7 ldr r3, [pc, #732] ; (807eb9c ) 807e8be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e8c2: 461a mov r2, r3 807e8c4: 21ca movs r1, #202 ; 0xca 807e8c6: 20c6 movs r0, #198 ; 0xc6 807e8c8: f7d6 fc4a bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807e8cc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807e8d0: b2db uxtb r3, r3 807e8d2: 461a mov r2, r3 807e8d4: 4bb1 ldr r3, [pc, #708] ; (807eb9c ) 807e8d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e8da: 461a mov r2, r3 807e8dc: 21ca movs r1, #202 ; 0xca 807e8de: 20e6 movs r0, #230 ; 0xe6 807e8e0: f7d6 fc3e bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807e8e4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807e8e8: b2db uxtb r3, r3 807e8ea: 461a mov r2, r3 807e8ec: 4bab ldr r3, [pc, #684] ; (807eb9c ) 807e8ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e8f2: 461a mov r2, r3 807e8f4: 21ca movs r1, #202 ; 0xca 807e8f6: 20f6 movs r0, #246 ; 0xf6 807e8f8: f7d6 fc32 bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807e8fc: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807e900: b2db uxtb r3, r3 807e902: 461a mov r2, r3 807e904: 4ba5 ldr r3, [pc, #660] ; (807eb9c ) 807e906: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e90a: 461a mov r2, r3 807e90c: 21ca movs r1, #202 ; 0xca 807e90e: f44f 7083 mov.w r0, #262 ; 0x106 807e912: f7d6 fc25 bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 807e916: 4aa3 ldr r2, [pc, #652] ; (807eba4 ) 807e918: 21ca movs r1, #202 ; 0xca 807e91a: f44f 708b mov.w r0, #278 ; 0x116 807e91e: f7d6 fc1f bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807e922: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807e926: b2db uxtb r3, r3 807e928: 461a mov r2, r3 807e92a: 4b9c ldr r3, [pc, #624] ; (807eb9c ) 807e92c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e930: 461a mov r2, r3 807e932: 21ca movs r1, #202 ; 0xca 807e934: f44f 7093 mov.w r0, #294 ; 0x126 807e938: f7d6 fc12 bl 8055160 807e93c: e196 b.n 807ec6c } else if(menupos == VibMax_IES) 807e93e: 4b94 ldr r3, [pc, #592] ; (807eb90 ) 807e940: 781b ldrb r3, [r3, #0] 807e942: b2db uxtb r3, r3 807e944: 2b0d cmp r3, #13 807e946: d15d bne.n 807ea04 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e948: 4992 ldr r1, [pc, #584] ; (807eb94 ) 807e94a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e94e: f7d5 fe5f bl 8054610 if(blk) 807e952: 4b91 ldr r3, [pc, #580] ; (807eb98 ) 807e954: 681b ldr r3, [r3, #0] 807e956: 2b00 cmp r3, #0 807e958: d00b beq.n 807e972 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807e95a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807e95e: b2db uxtb r3, r3 807e960: 461a mov r2, r3 807e962: 4b8e ldr r3, [pc, #568] ; (807eb9c ) 807e964: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e968: 461a mov r2, r3 807e96a: 21ca movs r1, #202 ; 0xca 807e96c: 20e6 movs r0, #230 ; 0xe6 807e96e: f7d6 fbf7 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e972: 4988 ldr r1, [pc, #544] ; (807eb94 ) 807e974: 488a ldr r0, [pc, #552] ; (807eba0 ) 807e976: f7d5 fe4b bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807e97a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807e97e: b2db uxtb r3, r3 807e980: 461a mov r2, r3 807e982: 4b86 ldr r3, [pc, #536] ; (807eb9c ) 807e984: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e988: 461a mov r2, r3 807e98a: 21ca movs r1, #202 ; 0xca 807e98c: 20c6 movs r0, #198 ; 0xc6 807e98e: f7d6 fbe7 bl 8055160 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807e992: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807e996: b2db uxtb r3, r3 807e998: 461a mov r2, r3 807e99a: 4b80 ldr r3, [pc, #512] ; (807eb9c ) 807e99c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e9a0: 461a mov r2, r3 807e9a2: 21ca movs r1, #202 ; 0xca 807e9a4: 20d6 movs r0, #214 ; 0xd6 807e9a6: f7d6 fbdb bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807e9aa: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807e9ae: b2db uxtb r3, r3 807e9b0: 461a mov r2, r3 807e9b2: 4b7a ldr r3, [pc, #488] ; (807eb9c ) 807e9b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e9b8: 461a mov r2, r3 807e9ba: 21ca movs r1, #202 ; 0xca 807e9bc: 20f6 movs r0, #246 ; 0xf6 807e9be: f7d6 fbcf bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807e9c2: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807e9c6: b2db uxtb r3, r3 807e9c8: 461a mov r2, r3 807e9ca: 4b74 ldr r3, [pc, #464] ; (807eb9c ) 807e9cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e9d0: 461a mov r2, r3 807e9d2: 21ca movs r1, #202 ; 0xca 807e9d4: f44f 7083 mov.w r0, #262 ; 0x106 807e9d8: f7d6 fbc2 bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 807e9dc: 4a71 ldr r2, [pc, #452] ; (807eba4 ) 807e9de: 21ca movs r1, #202 ; 0xca 807e9e0: f44f 708b mov.w r0, #278 ; 0x116 807e9e4: f7d6 fbbc bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807e9e8: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807e9ec: b2db uxtb r3, r3 807e9ee: 461a mov r2, r3 807e9f0: 4b6a ldr r3, [pc, #424] ; (807eb9c ) 807e9f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e9f6: 461a mov r2, r3 807e9f8: 21ca movs r1, #202 ; 0xca 807e9fa: f44f 7093 mov.w r0, #294 ; 0x126 807e9fe: f7d6 fbaf bl 8055160 807ea02: e133 b.n 807ec6c } else if(menupos == VibMax_IED) 807ea04: 4b62 ldr r3, [pc, #392] ; (807eb90 ) 807ea06: 781b ldrb r3, [r3, #0] 807ea08: b2db uxtb r3, r3 807ea0a: 2b0e cmp r3, #14 807ea0c: d15d bne.n 807eaca { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ea0e: 4961 ldr r1, [pc, #388] ; (807eb94 ) 807ea10: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ea14: f7d5 fdfc bl 8054610 if(blk) 807ea18: 4b5f ldr r3, [pc, #380] ; (807eb98 ) 807ea1a: 681b ldr r3, [r3, #0] 807ea1c: 2b00 cmp r3, #0 807ea1e: d00b beq.n 807ea38 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807ea20: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807ea24: b2db uxtb r3, r3 807ea26: 461a mov r2, r3 807ea28: 4b5c ldr r3, [pc, #368] ; (807eb9c ) 807ea2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ea2e: 461a mov r2, r3 807ea30: 21ca movs r1, #202 ; 0xca 807ea32: 20f6 movs r0, #246 ; 0xf6 807ea34: f7d6 fb94 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ea38: 4956 ldr r1, [pc, #344] ; (807eb94 ) 807ea3a: 4859 ldr r0, [pc, #356] ; (807eba0 ) 807ea3c: f7d5 fde8 bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807ea40: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807ea44: b2db uxtb r3, r3 807ea46: 461a mov r2, r3 807ea48: 4b54 ldr r3, [pc, #336] ; (807eb9c ) 807ea4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ea4e: 461a mov r2, r3 807ea50: 21ca movs r1, #202 ; 0xca 807ea52: 20c6 movs r0, #198 ; 0xc6 807ea54: f7d6 fb84 bl 8055160 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807ea58: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807ea5c: b2db uxtb r3, r3 807ea5e: 461a mov r2, r3 807ea60: 4b4e ldr r3, [pc, #312] ; (807eb9c ) 807ea62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ea66: 461a mov r2, r3 807ea68: 21ca movs r1, #202 ; 0xca 807ea6a: 20d6 movs r0, #214 ; 0xd6 807ea6c: f7d6 fb78 bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807ea70: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807ea74: b2db uxtb r3, r3 807ea76: 461a mov r2, r3 807ea78: 4b48 ldr r3, [pc, #288] ; (807eb9c ) 807ea7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ea7e: 461a mov r2, r3 807ea80: 21ca movs r1, #202 ; 0xca 807ea82: 20e6 movs r0, #230 ; 0xe6 807ea84: f7d6 fb6c bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807ea88: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807ea8c: b2db uxtb r3, r3 807ea8e: 461a mov r2, r3 807ea90: 4b42 ldr r3, [pc, #264] ; (807eb9c ) 807ea92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ea96: 461a mov r2, r3 807ea98: 21ca movs r1, #202 ; 0xca 807ea9a: f44f 7083 mov.w r0, #262 ; 0x106 807ea9e: f7d6 fb5f bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 807eaa2: 4a40 ldr r2, [pc, #256] ; (807eba4 ) 807eaa4: 21ca movs r1, #202 ; 0xca 807eaa6: f44f 708b mov.w r0, #278 ; 0x116 807eaaa: f7d6 fb59 bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807eaae: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807eab2: b2db uxtb r3, r3 807eab4: 461a mov r2, r3 807eab6: 4b39 ldr r3, [pc, #228] ; (807eb9c ) 807eab8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eabc: 461a mov r2, r3 807eabe: 21ca movs r1, #202 ; 0xca 807eac0: f44f 7093 mov.w r0, #294 ; 0x126 807eac4: f7d6 fb4c bl 8055160 807eac8: e0d0 b.n 807ec6c } else if(menupos == VibMax_IEE) 807eaca: 4b31 ldr r3, [pc, #196] ; (807eb90 ) 807eacc: 781b ldrb r3, [r3, #0] 807eace: b2db uxtb r3, r3 807ead0: 2b0f cmp r3, #15 807ead2: d169 bne.n 807eba8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ead4: 492f ldr r1, [pc, #188] ; (807eb94 ) 807ead6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807eada: f7d5 fd99 bl 8054610 if(blk) 807eade: 4b2e ldr r3, [pc, #184] ; (807eb98 ) 807eae0: 681b ldr r3, [r3, #0] 807eae2: 2b00 cmp r3, #0 807eae4: d00c beq.n 807eb00 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807eae6: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807eaea: b2db uxtb r3, r3 807eaec: 461a mov r2, r3 807eaee: 4b2b ldr r3, [pc, #172] ; (807eb9c ) 807eaf0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eaf4: 461a mov r2, r3 807eaf6: 21ca movs r1, #202 ; 0xca 807eaf8: f44f 7083 mov.w r0, #262 ; 0x106 807eafc: f7d6 fb30 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807eb00: 4924 ldr r1, [pc, #144] ; (807eb94 ) 807eb02: 4827 ldr r0, [pc, #156] ; (807eba0 ) 807eb04: f7d5 fd84 bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807eb08: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807eb0c: b2db uxtb r3, r3 807eb0e: 461a mov r2, r3 807eb10: 4b22 ldr r3, [pc, #136] ; (807eb9c ) 807eb12: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eb16: 461a mov r2, r3 807eb18: 21ca movs r1, #202 ; 0xca 807eb1a: 20c6 movs r0, #198 ; 0xc6 807eb1c: f7d6 fb20 bl 8055160 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807eb20: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807eb24: b2db uxtb r3, r3 807eb26: 461a mov r2, r3 807eb28: 4b1c ldr r3, [pc, #112] ; (807eb9c ) 807eb2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eb2e: 461a mov r2, r3 807eb30: 21ca movs r1, #202 ; 0xca 807eb32: 20d6 movs r0, #214 ; 0xd6 807eb34: f7d6 fb14 bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807eb38: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807eb3c: b2db uxtb r3, r3 807eb3e: 461a mov r2, r3 807eb40: 4b16 ldr r3, [pc, #88] ; (807eb9c ) 807eb42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eb46: 461a mov r2, r3 807eb48: 21ca movs r1, #202 ; 0xca 807eb4a: 20e6 movs r0, #230 ; 0xe6 807eb4c: f7d6 fb08 bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807eb50: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807eb54: b2db uxtb r3, r3 807eb56: 461a mov r2, r3 807eb58: 4b10 ldr r3, [pc, #64] ; (807eb9c ) 807eb5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eb5e: 461a mov r2, r3 807eb60: 21ca movs r1, #202 ; 0xca 807eb62: 20f6 movs r0, #246 ; 0xf6 807eb64: f7d6 fafc bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 807eb68: 4a0e ldr r2, [pc, #56] ; (807eba4 ) 807eb6a: 21ca movs r1, #202 ; 0xca 807eb6c: f44f 708b mov.w r0, #278 ; 0x116 807eb70: f7d6 faf6 bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807eb74: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807eb78: b2db uxtb r3, r3 807eb7a: 461a mov r2, r3 807eb7c: 4b07 ldr r3, [pc, #28] ; (807eb9c ) 807eb7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807eb82: 461a mov r2, r3 807eb84: 21ca movs r1, #202 ; 0xca 807eb86: f44f 7093 mov.w r0, #294 ; 0x126 807eb8a: f7d6 fae9 bl 8055160 807eb8e: e06d b.n 807ec6c 807eb90: 20020070 .word 0x20020070 807eb94: ff0a0f1f .word 0xff0a0f1f 807eb98: 200216a4 .word 0x200216a4 807eb9c: 2002096c .word 0x2002096c 807eba0: ffd8aa57 .word 0xffd8aa57 807eba4: 080d3b58 .word 0x080d3b58 } else if(menupos == VibMax_IKD) 807eba8: 4b4d ldr r3, [pc, #308] ; (807ece0 ) 807ebaa: 781b ldrb r3, [r3, #0] 807ebac: b2db uxtb r3, r3 807ebae: 2b10 cmp r3, #16 807ebb0: d15c bne.n 807ec6c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ebb2: 494c ldr r1, [pc, #304] ; (807ece4 ) 807ebb4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ebb8: f7d5 fd2a bl 8054610 if(blk) 807ebbc: 4b4a ldr r3, [pc, #296] ; (807ece8 ) 807ebbe: 681b ldr r3, [r3, #0] 807ebc0: 2b00 cmp r3, #0 807ebc2: d00c beq.n 807ebde LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807ebc4: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807ebc8: b2db uxtb r3, r3 807ebca: 461a mov r2, r3 807ebcc: 4b47 ldr r3, [pc, #284] ; (807ecec ) 807ebce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ebd2: 461a mov r2, r3 807ebd4: 21ca movs r1, #202 ; 0xca 807ebd6: f44f 7093 mov.w r0, #294 ; 0x126 807ebda: f7d6 fac1 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ebde: 4941 ldr r1, [pc, #260] ; (807ece4 ) 807ebe0: 4843 ldr r0, [pc, #268] ; (807ecf0 ) 807ebe2: f7d5 fd15 bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807ebe6: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807ebea: b2db uxtb r3, r3 807ebec: 461a mov r2, r3 807ebee: 4b3f ldr r3, [pc, #252] ; (807ecec ) 807ebf0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ebf4: 461a mov r2, r3 807ebf6: 21ca movs r1, #202 ; 0xca 807ebf8: 20c6 movs r0, #198 ; 0xc6 807ebfa: f7d6 fab1 bl 8055160 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807ebfe: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807ec02: b2db uxtb r3, r3 807ec04: 461a mov r2, r3 807ec06: 4b39 ldr r3, [pc, #228] ; (807ecec ) 807ec08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ec0c: 461a mov r2, r3 807ec0e: 21ca movs r1, #202 ; 0xca 807ec10: 20d6 movs r0, #214 ; 0xd6 807ec12: f7d6 faa5 bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807ec16: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807ec1a: b2db uxtb r3, r3 807ec1c: 461a mov r2, r3 807ec1e: 4b33 ldr r3, [pc, #204] ; (807ecec ) 807ec20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ec24: 461a mov r2, r3 807ec26: 21ca movs r1, #202 ; 0xca 807ec28: 20e6 movs r0, #230 ; 0xe6 807ec2a: f7d6 fa99 bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807ec2e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807ec32: b2db uxtb r3, r3 807ec34: 461a mov r2, r3 807ec36: 4b2d ldr r3, [pc, #180] ; (807ecec ) 807ec38: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ec3c: 461a mov r2, r3 807ec3e: 21ca movs r1, #202 ; 0xca 807ec40: 20f6 movs r0, #246 ; 0xf6 807ec42: f7d6 fa8d bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807ec46: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807ec4a: b2db uxtb r3, r3 807ec4c: 461a mov r2, r3 807ec4e: 4b27 ldr r3, [pc, #156] ; (807ecec ) 807ec50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ec54: 461a mov r2, r3 807ec56: 21ca movs r1, #202 ; 0xca 807ec58: f44f 7083 mov.w r0, #262 ; 0x106 807ec5c: f7d6 fa80 bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 807ec60: 4a24 ldr r2, [pc, #144] ; (807ecf4 ) 807ec62: 21ca movs r1, #202 ; 0xca 807ec64: f44f 708b mov.w r0, #278 ; 0x116 807ec68: f7d6 fa7a bl 8055160 } } if(pardata.OPTIONS & BIT0) // Åñëè Ìåäèàíà âêë 807ec6c: 4b22 ldr r3, [pc, #136] ; (807ecf8 ) 807ec6e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807ec72: f003 0301 and.w r3, r3, #1 807ec76: 2b00 cmp r3, #0 807ec78: d00a beq.n 807ec90 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807ec7a: 491a ldr r1, [pc, #104] ; (807ece4 ) 807ec7c: 481f ldr r0, [pc, #124] ; (807ecfc ) 807ec7e: f7d5 fcc7 bl 8054610 BSP_LCD_FillRect(257, 159, 6, 6); 807ec82: 2306 movs r3, #6 807ec84: 2206 movs r2, #6 807ec86: 219f movs r1, #159 ; 0x9f 807ec88: f240 1001 movw r0, #257 ; 0x101 807ec8c: f7d6 f94e bl 8054f2c /*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) // Åñëè àâòîóñèëåíèå 807ec90: 4b19 ldr r3, [pc, #100] ; (807ecf8 ) 807ec92: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807ec96: f003 0304 and.w r3, r3, #4 807ec9a: 2b00 cmp r3, #0 807ec9c: d00a beq.n 807ecb4 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807ec9e: 4911 ldr r1, [pc, #68] ; (807ece4 ) 807eca0: 4816 ldr r0, [pc, #88] ; (807ecfc ) 807eca2: f7d5 fcb5 bl 8054610 BSP_LCD_FillRect(257, 191, 6, 6); 807eca6: 2306 movs r3, #6 807eca8: 2206 movs r2, #6 807ecaa: 21bf movs r1, #191 ; 0xbf 807ecac: f240 1001 movw r0, #257 ; 0x101 807ecb0: f7d6 f93c bl 8054f2c /*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) // Åñëè îòîáðàæàòü ÷àñòîòó 807ecb4: 4b10 ldr r3, [pc, #64] ; (807ecf8 ) 807ecb6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807ecba: f003 0308 and.w r3, r3, #8 807ecbe: 2b00 cmp r3, #0 807ecc0: f019 8499 beq.w 80985f6 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807ecc4: 4907 ldr r1, [pc, #28] ; (807ece4 ) 807ecc6: 480d ldr r0, [pc, #52] ; (807ecfc ) 807ecc8: f7d5 fca2 bl 8054610 BSP_LCD_FillRect(257, 175, 6, 6); 807eccc: 2306 movs r3, #6 807ecce: 2206 movs r2, #6 807ecd0: 21af movs r1, #175 ; 0xaf 807ecd2: f240 1001 movw r0, #257 ; 0x101 807ecd6: f7d6 f929 bl 8054f2c BSP_LCD_DrawLine(256, 177, 259, 182); BSP_LCD_DrawLine(260, 182, 264, 174); BSP_LCD_DrawLine(259, 182, 263, 174);*/ } break; 807ecda: f019 bc8c b.w 80985f6 807ecde: bf00 nop 807ece0: 20020070 .word 0x20020070 807ece4: ff0a0f1f .word 0xff0a0f1f 807ece8: 200216a4 .word 0x200216a4 807ecec: 2002096c .word 0x2002096c 807ecf0: ffd8aa57 .word 0xffd8aa57 807ecf4: 080d3b58 .word 0x080d3b58 807ecf8: 20023ea8 .word 0x20023ea8 807ecfc: ff404040 .word 0xff404040 case PARAM_UDAR: //TODO PARAM UDAR LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807ed00: 49d2 ldr r1, [pc, #840] ; (807f04c ) 807ed02: 48d3 ldr r0, [pc, #844] ; (807f050 ) 807ed04: f7d5 fc84 bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 807ed08: 23c9 movs r3, #201 ; 0xc9 807ed0a: f44f 729d mov.w r2, #314 ; 0x13a 807ed0e: 2123 movs r1, #35 ; 0x23 807ed10: 2002 movs r0, #2 807ed12: f7d5 ff83 bl 8054c1c str[i++] = ied2 + 48; str[i++] = iee2 + 48; str[i++] = '.'; str[i++] = ikd2 + 48;*/ ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_INNER * 1000.0f); 807ed16: 4bcf ldr r3, [pc, #828] ; (807f054 ) 807ed18: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 807ed1c: ed9f 7ace vldr s14, [pc, #824] ; 807f058 807ed20: ee67 7a87 vmul.f32 s15, s15, s14 807ed24: eefc 7ae7 vcvt.u32.f32 s15, s15 807ed28: ee17 3a90 vmov r3, s15 807ed2c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 inner_ies = k / 100000; 807ed30: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807ed34: 095b lsrs r3, r3, #5 807ed36: 4ac9 ldr r2, [pc, #804] ; (807f05c ) 807ed38: fba2 2303 umull r2, r3, r2, r3 807ed3c: 09db lsrs r3, r3, #7 807ed3e: b2db uxtb r3, r3 807ed40: f887 33a3 strb.w r3, [r7, #931] ; 0x3a3 inner_ied = k % 100000 / 10000; 807ed44: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ed48: 0953 lsrs r3, r2, #5 807ed4a: 49c4 ldr r1, [pc, #784] ; (807f05c ) 807ed4c: fba1 1303 umull r1, r3, r1, r3 807ed50: 09db lsrs r3, r3, #7 807ed52: 49c3 ldr r1, [pc, #780] ; (807f060 ) 807ed54: fb01 f303 mul.w r3, r1, r3 807ed58: 1ad3 subs r3, r2, r3 807ed5a: 4ac2 ldr r2, [pc, #776] ; (807f064 ) 807ed5c: fba2 2303 umull r2, r3, r2, r3 807ed60: 0b5b lsrs r3, r3, #13 807ed62: b2db uxtb r3, r3 807ed64: f887 33a2 strb.w r3, [r7, #930] ; 0x3a2 inner_iee = k % 100000 % 10000 / 1000; 807ed68: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ed6c: 0953 lsrs r3, r2, #5 807ed6e: 49bb ldr r1, [pc, #748] ; (807f05c ) 807ed70: fba1 1303 umull r1, r3, r1, r3 807ed74: 09db lsrs r3, r3, #7 807ed76: 49ba ldr r1, [pc, #744] ; (807f060 ) 807ed78: fb01 f303 mul.w r3, r1, r3 807ed7c: 1ad3 subs r3, r2, r3 807ed7e: 4ab9 ldr r2, [pc, #740] ; (807f064 ) 807ed80: fba2 1203 umull r1, r2, r2, r3 807ed84: 0b52 lsrs r2, r2, #13 807ed86: f242 7110 movw r1, #10000 ; 0x2710 807ed8a: fb01 f202 mul.w r2, r1, r2 807ed8e: 1a9a subs r2, r3, r2 807ed90: 4bb5 ldr r3, [pc, #724] ; (807f068 ) 807ed92: fba3 2302 umull r2, r3, r3, r2 807ed96: 099b lsrs r3, r3, #6 807ed98: b2db uxtb r3, r3 807ed9a: f887 33a1 strb.w r3, [r7, #929] ; 0x3a1 inner_ikd = k % 100000 % 10000 % 1000 / 100; 807ed9e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807eda2: 095a lsrs r2, r3, #5 807eda4: 49ad ldr r1, [pc, #692] ; (807f05c ) 807eda6: fba1 1202 umull r1, r2, r1, r2 807edaa: 09d2 lsrs r2, r2, #7 807edac: 49ac ldr r1, [pc, #688] ; (807f060 ) 807edae: fb01 f202 mul.w r2, r1, r2 807edb2: 1a9a subs r2, r3, r2 807edb4: 4bab ldr r3, [pc, #684] ; (807f064 ) 807edb6: fba3 1302 umull r1, r3, r3, r2 807edba: 0b5b lsrs r3, r3, #13 807edbc: f242 7110 movw r1, #10000 ; 0x2710 807edc0: fb01 f303 mul.w r3, r1, r3 807edc4: 1ad3 subs r3, r2, r3 807edc6: 4aa8 ldr r2, [pc, #672] ; (807f068 ) 807edc8: fba2 1203 umull r1, r2, r2, r3 807edcc: 0992 lsrs r2, r2, #6 807edce: f44f 717a mov.w r1, #1000 ; 0x3e8 807edd2: fb01 f202 mul.w r2, r1, r2 807edd6: 1a9a subs r2, r3, r2 807edd8: 4ba4 ldr r3, [pc, #656] ; (807f06c ) 807edda: fba3 2302 umull r2, r3, r3, r2 807edde: 095b lsrs r3, r3, #5 807ede0: b2db uxtb r3, r3 807ede2: f887 33a0 strb.w r3, [r7, #928] ; 0x3a0 inner_iks = k % 100000 % 10000 % 1000 % 100 / 10; 807ede6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807edea: 0953 lsrs r3, r2, #5 807edec: 499b ldr r1, [pc, #620] ; (807f05c ) 807edee: fba1 1303 umull r1, r3, r1, r3 807edf2: 09db lsrs r3, r3, #7 807edf4: 499a ldr r1, [pc, #616] ; (807f060 ) 807edf6: fb01 f303 mul.w r3, r1, r3 807edfa: 1ad3 subs r3, r2, r3 807edfc: 4a99 ldr r2, [pc, #612] ; (807f064 ) 807edfe: fba2 1203 umull r1, r2, r2, r3 807ee02: 0b52 lsrs r2, r2, #13 807ee04: f242 7110 movw r1, #10000 ; 0x2710 807ee08: fb01 f202 mul.w r2, r1, r2 807ee0c: 1a9a subs r2, r3, r2 807ee0e: 4b96 ldr r3, [pc, #600] ; (807f068 ) 807ee10: fba3 1302 umull r1, r3, r3, r2 807ee14: 099b lsrs r3, r3, #6 807ee16: f44f 717a mov.w r1, #1000 ; 0x3e8 807ee1a: fb01 f303 mul.w r3, r1, r3 807ee1e: 1ad3 subs r3, r2, r3 807ee20: 4a92 ldr r2, [pc, #584] ; (807f06c ) 807ee22: fba2 1203 umull r1, r2, r2, r3 807ee26: 0952 lsrs r2, r2, #5 807ee28: 2164 movs r1, #100 ; 0x64 807ee2a: fb01 f202 mul.w r2, r1, r2 807ee2e: 1a9a subs r2, r3, r2 807ee30: 4b8f ldr r3, [pc, #572] ; (807f070 ) 807ee32: fba3 2302 umull r2, r3, r3, r2 807ee36: 08db lsrs r3, r3, #3 807ee38: b2db uxtb r3, r3 807ee3a: f887 339f strb.w r3, [r7, #927] ; 0x39f inner_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807ee3e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ee42: 0953 lsrs r3, r2, #5 807ee44: 4985 ldr r1, [pc, #532] ; (807f05c ) 807ee46: fba1 1303 umull r1, r3, r1, r3 807ee4a: 09db lsrs r3, r3, #7 807ee4c: 4984 ldr r1, [pc, #528] ; (807f060 ) 807ee4e: fb01 f303 mul.w r3, r1, r3 807ee52: 1ad3 subs r3, r2, r3 807ee54: 4a83 ldr r2, [pc, #524] ; (807f064 ) 807ee56: fba2 1203 umull r1, r2, r2, r3 807ee5a: 0b52 lsrs r2, r2, #13 807ee5c: f242 7110 movw r1, #10000 ; 0x2710 807ee60: fb01 f202 mul.w r2, r1, r2 807ee64: 1a9a subs r2, r3, r2 807ee66: 4b80 ldr r3, [pc, #512] ; (807f068 ) 807ee68: fba3 1302 umull r1, r3, r3, r2 807ee6c: 099b lsrs r3, r3, #6 807ee6e: f44f 717a mov.w r1, #1000 ; 0x3e8 807ee72: fb01 f303 mul.w r3, r1, r3 807ee76: 1ad3 subs r3, r2, r3 807ee78: 4a7c ldr r2, [pc, #496] ; (807f06c ) 807ee7a: fba2 1203 umull r1, r2, r2, r3 807ee7e: 0952 lsrs r2, r2, #5 807ee80: 2164 movs r1, #100 ; 0x64 807ee82: fb01 f202 mul.w r2, r1, r2 807ee86: 1a9a subs r2, r3, r2 807ee88: 4b79 ldr r3, [pc, #484] ; (807f070 ) 807ee8a: fba3 1302 umull r1, r3, r3, r2 807ee8e: 08d9 lsrs r1, r3, #3 807ee90: 460b mov r3, r1 807ee92: 009b lsls r3, r3, #2 807ee94: 440b add r3, r1 807ee96: 005b lsls r3, r3, #1 807ee98: 1ad1 subs r1, r2, r3 807ee9a: b2cb uxtb r3, r1 807ee9c: f887 339e strb.w r3, [r7, #926] ; 0x39e i = 0; 807eea0: 2300 movs r3, #0 807eea2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_inner, 0, sizeof(str_inner)); 807eea6: f507 7354 add.w r3, r7, #848 ; 0x350 807eeaa: 2214 movs r2, #20 807eeac: 2100 movs r1, #0 807eeae: 4618 mov r0, r3 807eeb0: f052 fa76 bl 80d13a0 if(inner_ies != 0) 807eeb4: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807eeb8: b2db uxtb r3, r3 807eeba: 2b00 cmp r3, #0 807eebc: d00c beq.n 807eed8 str_inner[i++] = inner_ies + 48; 807eebe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807eec2: 1c5a adds r2, r3, #1 807eec4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807eec8: f897 23a3 ldrb.w r2, [r7, #931] ; 0x3a3 807eecc: b2d2 uxtb r2, r2 807eece: 3230 adds r2, #48 ; 0x30 807eed0: b2d1 uxtb r1, r2 807eed2: f507 7254 add.w r2, r7, #848 ; 0x350 807eed6: 54d1 strb r1, [r2, r3] if((inner_ies != 0) || (inner_ied != 0)) 807eed8: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807eedc: b2db uxtb r3, r3 807eede: 2b00 cmp r3, #0 807eee0: d104 bne.n 807eeec 807eee2: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807eee6: b2db uxtb r3, r3 807eee8: 2b00 cmp r3, #0 807eeea: d00c beq.n 807ef06 str_inner[i++] = inner_ied + 48; 807eeec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807eef0: 1c5a adds r2, r3, #1 807eef2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807eef6: f897 23a2 ldrb.w r2, [r7, #930] ; 0x3a2 807eefa: b2d2 uxtb r2, r2 807eefc: 3230 adds r2, #48 ; 0x30 807eefe: b2d1 uxtb r1, r2 807ef00: f507 7254 add.w r2, r7, #848 ; 0x350 807ef04: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iee + 48; 807ef06: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef0a: 1c5a adds r2, r3, #1 807ef0c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef10: f897 23a1 ldrb.w r2, [r7, #929] ; 0x3a1 807ef14: b2d2 uxtb r2, r2 807ef16: 3230 adds r2, #48 ; 0x30 807ef18: b2d1 uxtb r1, r2 807ef1a: f507 7254 add.w r2, r7, #848 ; 0x350 807ef1e: 54d1 strb r1, [r2, r3] str_inner[i++] = '.'; 807ef20: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef24: 1c5a adds r2, r3, #1 807ef26: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef2a: f507 7254 add.w r2, r7, #848 ; 0x350 807ef2e: 212e movs r1, #46 ; 0x2e 807ef30: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikd + 48; 807ef32: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef36: 1c5a adds r2, r3, #1 807ef38: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef3c: f897 23a0 ldrb.w r2, [r7, #928] ; 0x3a0 807ef40: b2d2 uxtb r2, r2 807ef42: 3230 adds r2, #48 ; 0x30 807ef44: b2d1 uxtb r1, r2 807ef46: f507 7254 add.w r2, r7, #848 ; 0x350 807ef4a: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iks + 48; 807ef4c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef50: 1c5a adds r2, r3, #1 807ef52: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef56: f897 239f ldrb.w r2, [r7, #927] ; 0x39f 807ef5a: b2d2 uxtb r2, r2 807ef5c: 3230 adds r2, #48 ; 0x30 807ef5e: b2d1 uxtb r1, r2 807ef60: f507 7254 add.w r2, r7, #848 ; 0x350 807ef64: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikt + 48; 807ef66: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef6a: 1c5a adds r2, r3, #1 807ef6c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef70: f897 239e ldrb.w r2, [r7, #926] ; 0x39e 807ef74: b2d2 uxtb r2, r2 807ef76: 3230 adds r2, #48 ; 0x30 807ef78: b2d1 uxtb r1, r2 807ef7a: f507 7254 add.w r2, r7, #848 ; 0x350 807ef7e: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = pardata.D_RATE; 807ef80: 4b34 ldr r3, [pc, #208] ; (807f054 ) 807ef82: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 807ef86: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 rate_iet = k / 1000; 807ef8a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807ef8e: 4a36 ldr r2, [pc, #216] ; (807f068 ) 807ef90: fba2 2303 umull r2, r3, r2, r3 807ef94: 099b lsrs r3, r3, #6 807ef96: b2db uxtb r3, r3 807ef98: f887 3394 strb.w r3, [r7, #916] ; 0x394 rate_ies = k % 1000 / 100; 807ef9c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807efa0: 4b31 ldr r3, [pc, #196] ; (807f068 ) 807efa2: fba3 1302 umull r1, r3, r3, r2 807efa6: 099b lsrs r3, r3, #6 807efa8: f44f 717a mov.w r1, #1000 ; 0x3e8 807efac: fb01 f303 mul.w r3, r1, r3 807efb0: 1ad3 subs r3, r2, r3 807efb2: 4a2e ldr r2, [pc, #184] ; (807f06c ) 807efb4: fba2 2303 umull r2, r3, r2, r3 807efb8: 095b lsrs r3, r3, #5 807efba: b2db uxtb r3, r3 807efbc: f887 3393 strb.w r3, [r7, #915] ; 0x393 rate_ied = k % 1000 % 100 / 10; 807efc0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807efc4: 4b28 ldr r3, [pc, #160] ; (807f068 ) 807efc6: fba3 1302 umull r1, r3, r3, r2 807efca: 099b lsrs r3, r3, #6 807efcc: f44f 717a mov.w r1, #1000 ; 0x3e8 807efd0: fb01 f303 mul.w r3, r1, r3 807efd4: 1ad3 subs r3, r2, r3 807efd6: 4a25 ldr r2, [pc, #148] ; (807f06c ) 807efd8: fba2 1203 umull r1, r2, r2, r3 807efdc: 0952 lsrs r2, r2, #5 807efde: 2164 movs r1, #100 ; 0x64 807efe0: fb01 f202 mul.w r2, r1, r2 807efe4: 1a9a subs r2, r3, r2 807efe6: 4b22 ldr r3, [pc, #136] ; (807f070 ) 807efe8: fba3 2302 umull r2, r3, r3, r2 807efec: 08db lsrs r3, r3, #3 807efee: b2db uxtb r3, r3 807eff0: f887 3392 strb.w r3, [r7, #914] ; 0x392 rate_iee = k % 1000 % 100 % 10; 807eff4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807eff8: 4b1b ldr r3, [pc, #108] ; (807f068 ) 807effa: fba3 1302 umull r1, r3, r3, r2 807effe: 099b lsrs r3, r3, #6 807f000: f44f 717a mov.w r1, #1000 ; 0x3e8 807f004: fb01 f303 mul.w r3, r1, r3 807f008: 1ad3 subs r3, r2, r3 807f00a: 4a18 ldr r2, [pc, #96] ; (807f06c ) 807f00c: fba2 1203 umull r1, r2, r2, r3 807f010: 0952 lsrs r2, r2, #5 807f012: 2164 movs r1, #100 ; 0x64 807f014: fb01 f202 mul.w r2, r1, r2 807f018: 1a9a subs r2, r3, r2 807f01a: 4b15 ldr r3, [pc, #84] ; (807f070 ) 807f01c: fba3 1302 umull r1, r3, r3, r2 807f020: 08d9 lsrs r1, r3, #3 807f022: 460b mov r3, r1 807f024: 009b lsls r3, r3, #2 807f026: 440b add r3, r1 807f028: 005b lsls r3, r3, #1 807f02a: 1ad1 subs r1, r2, r3 807f02c: b2cb uxtb r3, r1 807f02e: f887 3391 strb.w r3, [r7, #913] ; 0x391 memset(str_rate, 0, sizeof(str_rate)); 807f032: f507 734a add.w r3, r7, #808 ; 0x328 807f036: 2214 movs r2, #20 807f038: 2100 movs r1, #0 807f03a: 4618 mov r0, r3 807f03c: f052 f9b0 bl 80d13a0 if(k >= 1000) 807f040: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f044: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 807f048: d335 bcc.n 807f0b6 807f04a: e013 b.n 807f074 807f04c: ff0a0f1f .word 0xff0a0f1f 807f050: ffd3d3d3 .word 0xffd3d3d3 807f054: 20023ea8 .word 0x20023ea8 807f058: 447a0000 .word 0x447a0000 807f05c: 0a7c5ac5 .word 0x0a7c5ac5 807f060: 000186a0 .word 0x000186a0 807f064: d1b71759 .word 0xd1b71759 807f068: 10624dd3 .word 0x10624dd3 807f06c: 51eb851f .word 0x51eb851f 807f070: cccccccd .word 0xcccccccd { str_rate[0] = rate_iet + 48; 807f074: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807f078: b2db uxtb r3, r3 807f07a: 3330 adds r3, #48 ; 0x30 807f07c: b2da uxtb r2, r3 807f07e: f507 734a add.w r3, r7, #808 ; 0x328 807f082: 701a strb r2, [r3, #0] str_rate[1] = rate_ies + 48; 807f084: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807f088: b2db uxtb r3, r3 807f08a: 3330 adds r3, #48 ; 0x30 807f08c: b2da uxtb r2, r3 807f08e: f507 734a add.w r3, r7, #808 ; 0x328 807f092: 705a strb r2, [r3, #1] str_rate[2] = rate_ied + 48; 807f094: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807f098: b2db uxtb r3, r3 807f09a: 3330 adds r3, #48 ; 0x30 807f09c: b2da uxtb r2, r3 807f09e: f507 734a add.w r3, r7, #808 ; 0x328 807f0a2: 709a strb r2, [r3, #2] str_rate[3] = rate_iee + 48; 807f0a4: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f0a8: b2db uxtb r3, r3 807f0aa: 3330 adds r3, #48 ; 0x30 807f0ac: b2da uxtb r2, r3 807f0ae: f507 734a add.w r3, r7, #808 ; 0x328 807f0b2: 70da strb r2, [r3, #3] 807f0b4: e039 b.n 807f12a } else if(k >= 100) 807f0b6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f0ba: 2b63 cmp r3, #99 ; 0x63 807f0bc: d918 bls.n 807f0f0 { str_rate[0] = rate_ies + 48; 807f0be: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807f0c2: b2db uxtb r3, r3 807f0c4: 3330 adds r3, #48 ; 0x30 807f0c6: b2da uxtb r2, r3 807f0c8: f507 734a add.w r3, r7, #808 ; 0x328 807f0cc: 701a strb r2, [r3, #0] str_rate[1] = rate_ied + 48; 807f0ce: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807f0d2: b2db uxtb r3, r3 807f0d4: 3330 adds r3, #48 ; 0x30 807f0d6: b2da uxtb r2, r3 807f0d8: f507 734a add.w r3, r7, #808 ; 0x328 807f0dc: 705a strb r2, [r3, #1] str_rate[2] = rate_iee + 48; 807f0de: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f0e2: b2db uxtb r3, r3 807f0e4: 3330 adds r3, #48 ; 0x30 807f0e6: b2da uxtb r2, r3 807f0e8: f507 734a add.w r3, r7, #808 ; 0x328 807f0ec: 709a strb r2, [r3, #2] 807f0ee: e01c b.n 807f12a } else if(k >= 10) 807f0f0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f0f4: 2b09 cmp r3, #9 807f0f6: d910 bls.n 807f11a { str_rate[0] = rate_ied + 48; 807f0f8: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807f0fc: b2db uxtb r3, r3 807f0fe: 3330 adds r3, #48 ; 0x30 807f100: b2da uxtb r2, r3 807f102: f507 734a add.w r3, r7, #808 ; 0x328 807f106: 701a strb r2, [r3, #0] str_rate[1] = rate_iee + 48; 807f108: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f10c: b2db uxtb r3, r3 807f10e: 3330 adds r3, #48 ; 0x30 807f110: b2da uxtb r2, r3 807f112: f507 734a add.w r3, r7, #808 ; 0x328 807f116: 705a strb r2, [r3, #1] 807f118: e007 b.n 807f12a } else str_rate[0] = rate_iee + 48; 807f11a: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f11e: b2db uxtb r3, r3 807f120: 3330 adds r3, #48 ; 0x30 807f122: b2da uxtb r2, r3 807f124: f507 734a add.w r3, r7, #808 ; 0x328 807f128: 701a strb r2, [r3, #0] //////////////////////////////////////////////////////////// LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807f12a: 49c2 ldr r1, [pc, #776] ; (807f434 ) 807f12c: f04f 30ff mov.w r0, #4294967295 807f130: f7d5 fa6e bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_PARAM_UDAR[pardata.LANG][3]); //"×àñòîòà âðàù.(îá/ìèí)" 807f134: 4bc0 ldr r3, [pc, #768] ; (807f438 ) 807f136: 7b1b ldrb r3, [r3, #12] 807f138: b2db uxtb r3, r3 807f13a: 4619 mov r1, r3 807f13c: 4abf ldr r2, [pc, #764] ; (807f43c ) 807f13e: 460b mov r3, r1 807f140: 00db lsls r3, r3, #3 807f142: 440b add r3, r1 807f144: 009b lsls r3, r3, #2 807f146: 4413 add r3, r2 807f148: 330c adds r3, #12 807f14a: 681b ldr r3, [r3, #0] 807f14c: 461a mov r2, r3 807f14e: 214a movs r1, #74 ; 0x4a 807f150: 200a movs r0, #10 807f152: f7d6 f805 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_PARAM_UDAR[pardata.LANG][4]); //"Âíóòð.d (ìì)" 807f156: 4bb8 ldr r3, [pc, #736] ; (807f438 ) 807f158: 7b1b ldrb r3, [r3, #12] 807f15a: b2db uxtb r3, r3 807f15c: 4619 mov r1, r3 807f15e: 4ab7 ldr r2, [pc, #732] ; (807f43c ) 807f160: 460b mov r3, r1 807f162: 00db lsls r3, r3, #3 807f164: 440b add r3, r1 807f166: 009b lsls r3, r3, #2 807f168: 4413 add r3, r2 807f16a: 3310 adds r3, #16 807f16c: 681b ldr r3, [r3, #0] 807f16e: 461a mov r2, r3 807f170: 215a movs r1, #90 ; 0x5a 807f172: 200a movs r0, #10 807f174: f7d5 fff4 bl 8055160 if(menupos == Ok) 807f178: 4bb1 ldr r3, [pc, #708] ; (807f440 ) 807f17a: 781b ldrb r3, [r3, #0] 807f17c: b2db uxtb r3, r3 807f17e: 2b00 cmp r3, #0 807f180: d126 bne.n 807f1d0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f182: 49ac ldr r1, [pc, #688] ; (807f434 ) 807f184: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f188: f7d5 fa42 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807f18c: 4baa ldr r3, [pc, #680] ; (807f438 ) 807f18e: 7b1b ldrb r3, [r3, #12] 807f190: b2db uxtb r3, r3 807f192: 461a mov r2, r3 807f194: 4bab ldr r3, [pc, #684] ; (807f444 ) 807f196: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f19a: 461a mov r2, r3 807f19c: 213a movs r1, #58 ; 0x3a 807f19e: 200a movs r0, #10 807f1a0: f7d5 ffde bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f1a4: 49a3 ldr r1, [pc, #652] ; (807f434 ) 807f1a6: 48a8 ldr r0, [pc, #672] ; (807f448 ) 807f1a8: f7d5 fa32 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807f1ac: f507 734a add.w r3, r7, #808 ; 0x328 807f1b0: 461a mov r2, r3 807f1b2: 214a movs r1, #74 ; 0x4a 807f1b4: f44f 7082 mov.w r0, #260 ; 0x104 807f1b8: f7d5 ffea bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807f1bc: f507 7354 add.w r3, r7, #848 ; 0x350 807f1c0: 461a mov r2, r3 807f1c2: 215a movs r1, #90 ; 0x5a 807f1c4: f44f 7082 mov.w r0, #260 ; 0x104 807f1c8: f7d5 ffe2 bl 8055190 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); } } } break; 807f1cc: f019 ba15 b.w 80985fa if(menupos == UdarRate) 807f1d0: 4b9b ldr r3, [pc, #620] ; (807f440 ) 807f1d2: 781b ldrb r3, [r3, #0] 807f1d4: b2db uxtb r3, r3 807f1d6: 2b01 cmp r3, #1 807f1d8: d12b bne.n 807f232 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807f1da: 4996 ldr r1, [pc, #600] ; (807f434 ) 807f1dc: f04f 30ff mov.w r0, #4294967295 807f1e0: f7d5 fa16 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807f1e4: 4b94 ldr r3, [pc, #592] ; (807f438 ) 807f1e6: 7b1b ldrb r3, [r3, #12] 807f1e8: b2db uxtb r3, r3 807f1ea: 461a mov r2, r3 807f1ec: 4b95 ldr r3, [pc, #596] ; (807f444 ) 807f1ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f1f2: 461a mov r2, r3 807f1f4: 213a movs r1, #58 ; 0x3a 807f1f6: 200a movs r0, #10 807f1f8: f7d5 ffb2 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f1fc: 498d ldr r1, [pc, #564] ; (807f434 ) 807f1fe: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f202: f7d5 fa05 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807f206: f507 734a add.w r3, r7, #808 ; 0x328 807f20a: 461a mov r2, r3 807f20c: 214a movs r1, #74 ; 0x4a 807f20e: f44f 7082 mov.w r0, #260 ; 0x104 807f212: f7d5 ffbd bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f216: 4987 ldr r1, [pc, #540] ; (807f434 ) 807f218: 488b ldr r0, [pc, #556] ; (807f448 ) 807f21a: f7d5 f9f9 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807f21e: f507 7354 add.w r3, r7, #848 ; 0x350 807f222: 461a mov r2, r3 807f224: 215a movs r1, #90 ; 0x5a 807f226: f44f 7082 mov.w r0, #260 ; 0x104 807f22a: f7d5 ffb1 bl 8055190 break; 807f22e: f019 b9e4 b.w 80985fa if(menupos == UdarInner) 807f232: 4b83 ldr r3, [pc, #524] ; (807f440 ) 807f234: 781b ldrb r3, [r3, #0] 807f236: b2db uxtb r3, r3 807f238: 2b02 cmp r3, #2 807f23a: d12b bne.n 807f294 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807f23c: 497d ldr r1, [pc, #500] ; (807f434 ) 807f23e: f04f 30ff mov.w r0, #4294967295 807f242: f7d5 f9e5 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807f246: 4b7c ldr r3, [pc, #496] ; (807f438 ) 807f248: 7b1b ldrb r3, [r3, #12] 807f24a: b2db uxtb r3, r3 807f24c: 461a mov r2, r3 807f24e: 4b7d ldr r3, [pc, #500] ; (807f444 ) 807f250: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f254: 461a mov r2, r3 807f256: 213a movs r1, #58 ; 0x3a 807f258: 200a movs r0, #10 807f25a: f7d5 ff81 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f25e: 4975 ldr r1, [pc, #468] ; (807f434 ) 807f260: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f264: f7d5 f9d4 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807f268: f507 7354 add.w r3, r7, #848 ; 0x350 807f26c: 461a mov r2, r3 807f26e: 215a movs r1, #90 ; 0x5a 807f270: f44f 7082 mov.w r0, #260 ; 0x104 807f274: f7d5 ff8c bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f278: 496e ldr r1, [pc, #440] ; (807f434 ) 807f27a: 4873 ldr r0, [pc, #460] ; (807f448 ) 807f27c: f7d5 f9c8 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807f280: f507 734a add.w r3, r7, #808 ; 0x328 807f284: 461a mov r2, r3 807f286: 214a movs r1, #74 ; 0x4a 807f288: f44f 7082 mov.w r0, #260 ; 0x104 807f28c: f7d5 ff80 bl 8055190 break; 807f290: f019 b9b3 b.w 80985fa LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807f294: 4967 ldr r1, [pc, #412] ; (807f434 ) 807f296: f04f 30ff mov.w r0, #4294967295 807f29a: f7d5 f9b9 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807f29e: 4b66 ldr r3, [pc, #408] ; (807f438 ) 807f2a0: 7b1b ldrb r3, [r3, #12] 807f2a2: b2db uxtb r3, r3 807f2a4: 461a mov r2, r3 807f2a6: 4b67 ldr r3, [pc, #412] ; (807f444 ) 807f2a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f2ac: 461a mov r2, r3 807f2ae: 213a movs r1, #58 ; 0x3a 807f2b0: 200a movs r0, #10 807f2b2: f7d5 ff55 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f2b6: 495f ldr r1, [pc, #380] ; (807f434 ) 807f2b8: 4863 ldr r0, [pc, #396] ; (807f448 ) 807f2ba: f7d5 f9a9 bl 8054610 if((menupos < UdarRate_IET) || (menupos > UdarRate_IEE)) 807f2be: 4b60 ldr r3, [pc, #384] ; (807f440 ) 807f2c0: 781b ldrb r3, [r3, #0] 807f2c2: b2db uxtb r3, r3 807f2c4: 2b02 cmp r3, #2 807f2c6: d904 bls.n 807f2d2 807f2c8: 4b5d ldr r3, [pc, #372] ; (807f440 ) 807f2ca: 781b ldrb r3, [r3, #0] 807f2cc: b2db uxtb r3, r3 807f2ce: 2b06 cmp r3, #6 807f2d0: d907 bls.n 807f2e2 LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807f2d2: f507 734a add.w r3, r7, #808 ; 0x328 807f2d6: 461a mov r2, r3 807f2d8: 214a movs r1, #74 ; 0x4a 807f2da: f44f 7082 mov.w r0, #260 ; 0x104 807f2de: f7d5 ff57 bl 8055190 if((menupos < UdarInner_IES) || (menupos > UdarInner_IKT)) 807f2e2: 4b57 ldr r3, [pc, #348] ; (807f440 ) 807f2e4: 781b ldrb r3, [r3, #0] 807f2e6: b2db uxtb r3, r3 807f2e8: 2b06 cmp r3, #6 807f2ea: d904 bls.n 807f2f6 807f2ec: 4b54 ldr r3, [pc, #336] ; (807f440 ) 807f2ee: 781b ldrb r3, [r3, #0] 807f2f0: b2db uxtb r3, r3 807f2f2: 2b0c cmp r3, #12 807f2f4: d907 bls.n 807f306 LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807f2f6: f507 7354 add.w r3, r7, #848 ; 0x350 807f2fa: 461a mov r2, r3 807f2fc: 215a movs r1, #90 ; 0x5a 807f2fe: f44f 7082 mov.w r0, #260 ; 0x104 807f302: f7d5 ff45 bl 8055190 if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 807f306: 4b4e ldr r3, [pc, #312] ; (807f440 ) 807f308: 781b ldrb r3, [r3, #0] 807f30a: b2db uxtb r3, r3 807f30c: 2b02 cmp r3, #2 807f30e: f240 812c bls.w 807f56a 807f312: 4b4b ldr r3, [pc, #300] ; (807f440 ) 807f314: 781b ldrb r3, [r3, #0] 807f316: b2db uxtb r3, r3 807f318: 2b06 cmp r3, #6 807f31a: f200 8126 bhi.w 807f56a if(menupos == UdarRate_IET) 807f31e: 4b48 ldr r3, [pc, #288] ; (807f440 ) 807f320: 781b ldrb r3, [r3, #0] 807f322: b2db uxtb r3, r3 807f324: 2b03 cmp r3, #3 807f326: d13f bne.n 807f3a8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f328: 4942 ldr r1, [pc, #264] ; (807f434 ) 807f32a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f32e: f7d5 f96f bl 8054610 if(blk) 807f332: 4b46 ldr r3, [pc, #280] ; (807f44c ) 807f334: 681b ldr r3, [r3, #0] 807f336: 2b00 cmp r3, #0 807f338: d00b beq.n 807f352 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807f33a: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807f33e: b2db uxtb r3, r3 807f340: 461a mov r2, r3 807f342: 4b43 ldr r3, [pc, #268] ; (807f450 ) 807f344: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f348: 461a mov r2, r3 807f34a: 214a movs r1, #74 ; 0x4a 807f34c: 20e6 movs r0, #230 ; 0xe6 807f34e: f7d5 ff07 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f352: 4938 ldr r1, [pc, #224] ; (807f434 ) 807f354: 483c ldr r0, [pc, #240] ; (807f448 ) 807f356: f7d5 f95b bl 8054610 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807f35a: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807f35e: b2db uxtb r3, r3 807f360: 461a mov r2, r3 807f362: 4b3b ldr r3, [pc, #236] ; (807f450 ) 807f364: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f368: 461a mov r2, r3 807f36a: 214a movs r1, #74 ; 0x4a 807f36c: 20f6 movs r0, #246 ; 0xf6 807f36e: f7d5 fef7 bl 8055160 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807f372: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807f376: b2db uxtb r3, r3 807f378: 461a mov r2, r3 807f37a: 4b35 ldr r3, [pc, #212] ; (807f450 ) 807f37c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f380: 461a mov r2, r3 807f382: 214a movs r1, #74 ; 0x4a 807f384: f44f 7083 mov.w r0, #262 ; 0x106 807f388: f7d5 feea bl 8055160 LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 807f38c: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f390: b2db uxtb r3, r3 807f392: 461a mov r2, r3 807f394: 4b2e ldr r3, [pc, #184] ; (807f450 ) 807f396: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f39a: 461a mov r2, r3 807f39c: 214a movs r1, #74 ; 0x4a 807f39e: f44f 708b mov.w r0, #278 ; 0x116 807f3a2: f7d5 fedd bl 8055160 if(menupos == UdarRate_IET) 807f3a6: e352 b.n 807fa4e if(menupos == UdarRate_IES) 807f3a8: 4b25 ldr r3, [pc, #148] ; (807f440 ) 807f3aa: 781b ldrb r3, [r3, #0] 807f3ac: b2db uxtb r3, r3 807f3ae: 2b04 cmp r3, #4 807f3b0: d150 bne.n 807f454 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f3b2: 4920 ldr r1, [pc, #128] ; (807f434 ) 807f3b4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f3b8: f7d5 f92a bl 8054610 if(blk) 807f3bc: 4b23 ldr r3, [pc, #140] ; (807f44c ) 807f3be: 681b ldr r3, [r3, #0] 807f3c0: 2b00 cmp r3, #0 807f3c2: d00b beq.n 807f3dc LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807f3c4: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807f3c8: b2db uxtb r3, r3 807f3ca: 461a mov r2, r3 807f3cc: 4b20 ldr r3, [pc, #128] ; (807f450 ) 807f3ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f3d2: 461a mov r2, r3 807f3d4: 214a movs r1, #74 ; 0x4a 807f3d6: 20f6 movs r0, #246 ; 0xf6 807f3d8: f7d5 fec2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f3dc: 4915 ldr r1, [pc, #84] ; (807f434 ) 807f3de: 481a ldr r0, [pc, #104] ; (807f448 ) 807f3e0: f7d5 f916 bl 8054610 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807f3e4: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807f3e8: b2db uxtb r3, r3 807f3ea: 461a mov r2, r3 807f3ec: 4b18 ldr r3, [pc, #96] ; (807f450 ) 807f3ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f3f2: 461a mov r2, r3 807f3f4: 214a movs r1, #74 ; 0x4a 807f3f6: 20e6 movs r0, #230 ; 0xe6 807f3f8: f7d5 feb2 bl 8055160 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807f3fc: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807f400: b2db uxtb r3, r3 807f402: 461a mov r2, r3 807f404: 4b12 ldr r3, [pc, #72] ; (807f450 ) 807f406: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f40a: 461a mov r2, r3 807f40c: 214a movs r1, #74 ; 0x4a 807f40e: f44f 7083 mov.w r0, #262 ; 0x106 807f412: f7d5 fea5 bl 8055160 LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 807f416: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f41a: b2db uxtb r3, r3 807f41c: 461a mov r2, r3 807f41e: 4b0c ldr r3, [pc, #48] ; (807f450 ) 807f420: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f424: 461a mov r2, r3 807f426: 214a movs r1, #74 ; 0x4a 807f428: f44f 708b mov.w r0, #278 ; 0x116 807f42c: f7d5 fe98 bl 8055160 if(menupos == UdarRate_IET) 807f430: e30d b.n 807fa4e 807f432: bf00 nop 807f434: ff0a0f1f .word 0xff0a0f1f 807f438: 20023ea8 .word 0x20023ea8 807f43c: 200207fc .word 0x200207fc 807f440: 20020070 .word 0x20020070 807f444: 200205cc .word 0x200205cc 807f448: ffd8aa57 .word 0xffd8aa57 807f44c: 200216a4 .word 0x200216a4 807f450: 2002096c .word 0x2002096c if(menupos == UdarRate_IED) 807f454: 4baf ldr r3, [pc, #700] ; (807f714 ) 807f456: 781b ldrb r3, [r3, #0] 807f458: b2db uxtb r3, r3 807f45a: 2b05 cmp r3, #5 807f45c: d13f bne.n 807f4de LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f45e: 49ae ldr r1, [pc, #696] ; (807f718 ) 807f460: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f464: f7d5 f8d4 bl 8054610 if(blk) 807f468: 4bac ldr r3, [pc, #688] ; (807f71c ) 807f46a: 681b ldr r3, [r3, #0] 807f46c: 2b00 cmp r3, #0 807f46e: d00c beq.n 807f48a LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807f470: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807f474: b2db uxtb r3, r3 807f476: 461a mov r2, r3 807f478: 4ba9 ldr r3, [pc, #676] ; (807f720 ) 807f47a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f47e: 461a mov r2, r3 807f480: 214a movs r1, #74 ; 0x4a 807f482: f44f 7083 mov.w r0, #262 ; 0x106 807f486: f7d5 fe6b bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f48a: 49a3 ldr r1, [pc, #652] ; (807f718 ) 807f48c: 48a5 ldr r0, [pc, #660] ; (807f724 ) 807f48e: f7d5 f8bf bl 8054610 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807f492: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807f496: b2db uxtb r3, r3 807f498: 461a mov r2, r3 807f49a: 4ba1 ldr r3, [pc, #644] ; (807f720 ) 807f49c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f4a0: 461a mov r2, r3 807f4a2: 214a movs r1, #74 ; 0x4a 807f4a4: 20e6 movs r0, #230 ; 0xe6 807f4a6: f7d5 fe5b bl 8055160 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807f4aa: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807f4ae: b2db uxtb r3, r3 807f4b0: 461a mov r2, r3 807f4b2: 4b9b ldr r3, [pc, #620] ; (807f720 ) 807f4b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f4b8: 461a mov r2, r3 807f4ba: 214a movs r1, #74 ; 0x4a 807f4bc: 20f6 movs r0, #246 ; 0xf6 807f4be: f7d5 fe4f bl 8055160 LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 807f4c2: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f4c6: b2db uxtb r3, r3 807f4c8: 461a mov r2, r3 807f4ca: 4b95 ldr r3, [pc, #596] ; (807f720 ) 807f4cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f4d0: 461a mov r2, r3 807f4d2: 214a movs r1, #74 ; 0x4a 807f4d4: f44f 708b mov.w r0, #278 ; 0x116 807f4d8: f7d5 fe42 bl 8055160 if(menupos == UdarRate_IET) 807f4dc: e2b7 b.n 807fa4e if(menupos == UdarRate_IEE) 807f4de: 4b8d ldr r3, [pc, #564] ; (807f714 ) 807f4e0: 781b ldrb r3, [r3, #0] 807f4e2: b2db uxtb r3, r3 807f4e4: 2b06 cmp r3, #6 807f4e6: f040 82b2 bne.w 807fa4e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f4ea: 498b ldr r1, [pc, #556] ; (807f718 ) 807f4ec: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f4f0: f7d5 f88e bl 8054610 if(blk) 807f4f4: 4b89 ldr r3, [pc, #548] ; (807f71c ) 807f4f6: 681b ldr r3, [r3, #0] 807f4f8: 2b00 cmp r3, #0 807f4fa: d00c beq.n 807f516 LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 807f4fc: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f500: b2db uxtb r3, r3 807f502: 461a mov r2, r3 807f504: 4b86 ldr r3, [pc, #536] ; (807f720 ) 807f506: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f50a: 461a mov r2, r3 807f50c: 214a movs r1, #74 ; 0x4a 807f50e: f44f 708b mov.w r0, #278 ; 0x116 807f512: f7d5 fe25 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f516: 4980 ldr r1, [pc, #512] ; (807f718 ) 807f518: 4882 ldr r0, [pc, #520] ; (807f724 ) 807f51a: f7d5 f879 bl 8054610 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807f51e: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807f522: b2db uxtb r3, r3 807f524: 461a mov r2, r3 807f526: 4b7e ldr r3, [pc, #504] ; (807f720 ) 807f528: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f52c: 461a mov r2, r3 807f52e: 214a movs r1, #74 ; 0x4a 807f530: 20e6 movs r0, #230 ; 0xe6 807f532: f7d5 fe15 bl 8055160 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807f536: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807f53a: b2db uxtb r3, r3 807f53c: 461a mov r2, r3 807f53e: 4b78 ldr r3, [pc, #480] ; (807f720 ) 807f540: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f544: 461a mov r2, r3 807f546: 214a movs r1, #74 ; 0x4a 807f548: 20f6 movs r0, #246 ; 0xf6 807f54a: f7d5 fe09 bl 8055160 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807f54e: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807f552: b2db uxtb r3, r3 807f554: 461a mov r2, r3 807f556: 4b72 ldr r3, [pc, #456] ; (807f720 ) 807f558: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f55c: 461a mov r2, r3 807f55e: 214a movs r1, #74 ; 0x4a 807f560: f44f 7083 mov.w r0, #262 ; 0x106 807f564: f7d5 fdfc bl 8055160 if(menupos == UdarRate_IET) 807f568: e271 b.n 807fa4e if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 807f56a: 4b6a ldr r3, [pc, #424] ; (807f714 ) 807f56c: 781b ldrb r3, [r3, #0] 807f56e: b2db uxtb r3, r3 807f570: 2b06 cmp r3, #6 807f572: f259 8042 bls.w 80985fa 807f576: 4b67 ldr r3, [pc, #412] ; (807f714 ) 807f578: 781b ldrb r3, [r3, #0] 807f57a: b2db uxtb r3, r3 807f57c: 2b0c cmp r3, #12 807f57e: f219 803c bhi.w 80985fa if(menupos == UdarInner_IES) 807f582: 4b64 ldr r3, [pc, #400] ; (807f714 ) 807f584: 781b ldrb r3, [r3, #0] 807f586: b2db uxtb r3, r3 807f588: 2b07 cmp r3, #7 807f58a: d15e bne.n 807f64a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f58c: 4962 ldr r1, [pc, #392] ; (807f718 ) 807f58e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f592: f7d5 f83d bl 8054610 if(blk) 807f596: 4b61 ldr r3, [pc, #388] ; (807f71c ) 807f598: 681b ldr r3, [r3, #0] 807f59a: 2b00 cmp r3, #0 807f59c: d00b beq.n 807f5b6 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807f59e: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807f5a2: b2db uxtb r3, r3 807f5a4: 461a mov r2, r3 807f5a6: 4b5e ldr r3, [pc, #376] ; (807f720 ) 807f5a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f5ac: 461a mov r2, r3 807f5ae: 215a movs r1, #90 ; 0x5a 807f5b0: 20c6 movs r0, #198 ; 0xc6 807f5b2: f7d5 fdd5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f5b6: 4958 ldr r1, [pc, #352] ; (807f718 ) 807f5b8: 485a ldr r0, [pc, #360] ; (807f724 ) 807f5ba: f7d5 f829 bl 8054610 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807f5be: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807f5c2: b2db uxtb r3, r3 807f5c4: 461a mov r2, r3 807f5c6: 4b56 ldr r3, [pc, #344] ; (807f720 ) 807f5c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f5cc: 461a mov r2, r3 807f5ce: 215a movs r1, #90 ; 0x5a 807f5d0: 20d6 movs r0, #214 ; 0xd6 807f5d2: f7d5 fdc5 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807f5d6: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807f5da: b2db uxtb r3, r3 807f5dc: 461a mov r2, r3 807f5de: 4b50 ldr r3, [pc, #320] ; (807f720 ) 807f5e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f5e4: 461a mov r2, r3 807f5e6: 215a movs r1, #90 ; 0x5a 807f5e8: 20e6 movs r0, #230 ; 0xe6 807f5ea: f7d5 fdb9 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 807f5ee: 4a4e ldr r2, [pc, #312] ; (807f728 ) 807f5f0: 215a movs r1, #90 ; 0x5a 807f5f2: 20f6 movs r0, #246 ; 0xf6 807f5f4: f7d5 fdb4 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807f5f8: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807f5fc: b2db uxtb r3, r3 807f5fe: 461a mov r2, r3 807f600: 4b47 ldr r3, [pc, #284] ; (807f720 ) 807f602: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f606: 461a mov r2, r3 807f608: 215a movs r1, #90 ; 0x5a 807f60a: f44f 7083 mov.w r0, #262 ; 0x106 807f60e: f7d5 fda7 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807f612: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807f616: b2db uxtb r3, r3 807f618: 461a mov r2, r3 807f61a: 4b41 ldr r3, [pc, #260] ; (807f720 ) 807f61c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f620: 461a mov r2, r3 807f622: 215a movs r1, #90 ; 0x5a 807f624: f44f 708b mov.w r0, #278 ; 0x116 807f628: f7d5 fd9a bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807f62c: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807f630: b2db uxtb r3, r3 807f632: 461a mov r2, r3 807f634: 4b3a ldr r3, [pc, #232] ; (807f720 ) 807f636: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f63a: 461a mov r2, r3 807f63c: 215a movs r1, #90 ; 0x5a 807f63e: f44f 7093 mov.w r0, #294 ; 0x126 807f642: f7d5 fd8d bl 8055160 break; 807f646: f018 bfd8 b.w 80985fa if(menupos == UdarInner_IED) 807f64a: 4b32 ldr r3, [pc, #200] ; (807f714 ) 807f64c: 781b ldrb r3, [r3, #0] 807f64e: b2db uxtb r3, r3 807f650: 2b08 cmp r3, #8 807f652: d16b bne.n 807f72c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f654: 4930 ldr r1, [pc, #192] ; (807f718 ) 807f656: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f65a: f7d4 ffd9 bl 8054610 if(blk) 807f65e: 4b2f ldr r3, [pc, #188] ; (807f71c ) 807f660: 681b ldr r3, [r3, #0] 807f662: 2b00 cmp r3, #0 807f664: d00b beq.n 807f67e LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807f666: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807f66a: b2db uxtb r3, r3 807f66c: 461a mov r2, r3 807f66e: 4b2c ldr r3, [pc, #176] ; (807f720 ) 807f670: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f674: 461a mov r2, r3 807f676: 215a movs r1, #90 ; 0x5a 807f678: 20d6 movs r0, #214 ; 0xd6 807f67a: f7d5 fd71 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f67e: 4926 ldr r1, [pc, #152] ; (807f718 ) 807f680: 4828 ldr r0, [pc, #160] ; (807f724 ) 807f682: f7d4 ffc5 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807f686: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807f68a: b2db uxtb r3, r3 807f68c: 461a mov r2, r3 807f68e: 4b24 ldr r3, [pc, #144] ; (807f720 ) 807f690: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f694: 461a mov r2, r3 807f696: 215a movs r1, #90 ; 0x5a 807f698: 20c6 movs r0, #198 ; 0xc6 807f69a: f7d5 fd61 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807f69e: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807f6a2: b2db uxtb r3, r3 807f6a4: 461a mov r2, r3 807f6a6: 4b1e ldr r3, [pc, #120] ; (807f720 ) 807f6a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f6ac: 461a mov r2, r3 807f6ae: 215a movs r1, #90 ; 0x5a 807f6b0: 20e6 movs r0, #230 ; 0xe6 807f6b2: f7d5 fd55 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 807f6b6: 4a1c ldr r2, [pc, #112] ; (807f728 ) 807f6b8: 215a movs r1, #90 ; 0x5a 807f6ba: 20f6 movs r0, #246 ; 0xf6 807f6bc: f7d5 fd50 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807f6c0: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807f6c4: b2db uxtb r3, r3 807f6c6: 461a mov r2, r3 807f6c8: 4b15 ldr r3, [pc, #84] ; (807f720 ) 807f6ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f6ce: 461a mov r2, r3 807f6d0: 215a movs r1, #90 ; 0x5a 807f6d2: f44f 7083 mov.w r0, #262 ; 0x106 807f6d6: f7d5 fd43 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807f6da: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807f6de: b2db uxtb r3, r3 807f6e0: 461a mov r2, r3 807f6e2: 4b0f ldr r3, [pc, #60] ; (807f720 ) 807f6e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f6e8: 461a mov r2, r3 807f6ea: 215a movs r1, #90 ; 0x5a 807f6ec: f44f 708b mov.w r0, #278 ; 0x116 807f6f0: f7d5 fd36 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807f6f4: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807f6f8: b2db uxtb r3, r3 807f6fa: 461a mov r2, r3 807f6fc: 4b08 ldr r3, [pc, #32] ; (807f720 ) 807f6fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f702: 461a mov r2, r3 807f704: 215a movs r1, #90 ; 0x5a 807f706: f44f 7093 mov.w r0, #294 ; 0x126 807f70a: f7d5 fd29 bl 8055160 break; 807f70e: f018 bf74 b.w 80985fa 807f712: bf00 nop 807f714: 20020070 .word 0x20020070 807f718: ff0a0f1f .word 0xff0a0f1f 807f71c: 200216a4 .word 0x200216a4 807f720: 2002096c .word 0x2002096c 807f724: ffd8aa57 .word 0xffd8aa57 807f728: 080d3b58 .word 0x080d3b58 if(menupos == UdarInner_IEE) 807f72c: 4bc9 ldr r3, [pc, #804] ; (807fa54 ) 807f72e: 781b ldrb r3, [r3, #0] 807f730: b2db uxtb r3, r3 807f732: 2b09 cmp r3, #9 807f734: d15e bne.n 807f7f4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f736: 49c8 ldr r1, [pc, #800] ; (807fa58 ) 807f738: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f73c: f7d4 ff68 bl 8054610 if(blk) 807f740: 4bc6 ldr r3, [pc, #792] ; (807fa5c ) 807f742: 681b ldr r3, [r3, #0] 807f744: 2b00 cmp r3, #0 807f746: d00b beq.n 807f760 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807f748: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807f74c: b2db uxtb r3, r3 807f74e: 461a mov r2, r3 807f750: 4bc3 ldr r3, [pc, #780] ; (807fa60 ) 807f752: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f756: 461a mov r2, r3 807f758: 215a movs r1, #90 ; 0x5a 807f75a: 20e6 movs r0, #230 ; 0xe6 807f75c: f7d5 fd00 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f760: 49bd ldr r1, [pc, #756] ; (807fa58 ) 807f762: 48c0 ldr r0, [pc, #768] ; (807fa64 ) 807f764: f7d4 ff54 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807f768: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807f76c: b2db uxtb r3, r3 807f76e: 461a mov r2, r3 807f770: 4bbb ldr r3, [pc, #748] ; (807fa60 ) 807f772: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f776: 461a mov r2, r3 807f778: 215a movs r1, #90 ; 0x5a 807f77a: 20c6 movs r0, #198 ; 0xc6 807f77c: f7d5 fcf0 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807f780: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807f784: b2db uxtb r3, r3 807f786: 461a mov r2, r3 807f788: 4bb5 ldr r3, [pc, #724] ; (807fa60 ) 807f78a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f78e: 461a mov r2, r3 807f790: 215a movs r1, #90 ; 0x5a 807f792: 20d6 movs r0, #214 ; 0xd6 807f794: f7d5 fce4 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 807f798: 4ab3 ldr r2, [pc, #716] ; (807fa68 ) 807f79a: 215a movs r1, #90 ; 0x5a 807f79c: 20f6 movs r0, #246 ; 0xf6 807f79e: f7d5 fcdf bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807f7a2: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807f7a6: b2db uxtb r3, r3 807f7a8: 461a mov r2, r3 807f7aa: 4bad ldr r3, [pc, #692] ; (807fa60 ) 807f7ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f7b0: 461a mov r2, r3 807f7b2: 215a movs r1, #90 ; 0x5a 807f7b4: f44f 7083 mov.w r0, #262 ; 0x106 807f7b8: f7d5 fcd2 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807f7bc: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807f7c0: b2db uxtb r3, r3 807f7c2: 461a mov r2, r3 807f7c4: 4ba6 ldr r3, [pc, #664] ; (807fa60 ) 807f7c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f7ca: 461a mov r2, r3 807f7cc: 215a movs r1, #90 ; 0x5a 807f7ce: f44f 708b mov.w r0, #278 ; 0x116 807f7d2: f7d5 fcc5 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807f7d6: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807f7da: b2db uxtb r3, r3 807f7dc: 461a mov r2, r3 807f7de: 4ba0 ldr r3, [pc, #640] ; (807fa60 ) 807f7e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f7e4: 461a mov r2, r3 807f7e6: 215a movs r1, #90 ; 0x5a 807f7e8: f44f 7093 mov.w r0, #294 ; 0x126 807f7ec: f7d5 fcb8 bl 8055160 break; 807f7f0: f018 bf03 b.w 80985fa if(menupos == UdarInner_IKD) 807f7f4: 4b97 ldr r3, [pc, #604] ; (807fa54 ) 807f7f6: 781b ldrb r3, [r3, #0] 807f7f8: b2db uxtb r3, r3 807f7fa: 2b0a cmp r3, #10 807f7fc: d15e bne.n 807f8bc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f7fe: 4996 ldr r1, [pc, #600] ; (807fa58 ) 807f800: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f804: f7d4 ff04 bl 8054610 if(blk) 807f808: 4b94 ldr r3, [pc, #592] ; (807fa5c ) 807f80a: 681b ldr r3, [r3, #0] 807f80c: 2b00 cmp r3, #0 807f80e: d00c beq.n 807f82a LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807f810: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807f814: b2db uxtb r3, r3 807f816: 461a mov r2, r3 807f818: 4b91 ldr r3, [pc, #580] ; (807fa60 ) 807f81a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f81e: 461a mov r2, r3 807f820: 215a movs r1, #90 ; 0x5a 807f822: f44f 7083 mov.w r0, #262 ; 0x106 807f826: f7d5 fc9b bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f82a: 498b ldr r1, [pc, #556] ; (807fa58 ) 807f82c: 488d ldr r0, [pc, #564] ; (807fa64 ) 807f82e: f7d4 feef bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807f832: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807f836: b2db uxtb r3, r3 807f838: 461a mov r2, r3 807f83a: 4b89 ldr r3, [pc, #548] ; (807fa60 ) 807f83c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f840: 461a mov r2, r3 807f842: 215a movs r1, #90 ; 0x5a 807f844: 20c6 movs r0, #198 ; 0xc6 807f846: f7d5 fc8b bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807f84a: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807f84e: b2db uxtb r3, r3 807f850: 461a mov r2, r3 807f852: 4b83 ldr r3, [pc, #524] ; (807fa60 ) 807f854: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f858: 461a mov r2, r3 807f85a: 215a movs r1, #90 ; 0x5a 807f85c: 20d6 movs r0, #214 ; 0xd6 807f85e: f7d5 fc7f bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807f862: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807f866: b2db uxtb r3, r3 807f868: 461a mov r2, r3 807f86a: 4b7d ldr r3, [pc, #500] ; (807fa60 ) 807f86c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f870: 461a mov r2, r3 807f872: 215a movs r1, #90 ; 0x5a 807f874: 20e6 movs r0, #230 ; 0xe6 807f876: f7d5 fc73 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 807f87a: 4a7b ldr r2, [pc, #492] ; (807fa68 ) 807f87c: 215a movs r1, #90 ; 0x5a 807f87e: 20f6 movs r0, #246 ; 0xf6 807f880: f7d5 fc6e bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807f884: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807f888: b2db uxtb r3, r3 807f88a: 461a mov r2, r3 807f88c: 4b74 ldr r3, [pc, #464] ; (807fa60 ) 807f88e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f892: 461a mov r2, r3 807f894: 215a movs r1, #90 ; 0x5a 807f896: f44f 708b mov.w r0, #278 ; 0x116 807f89a: f7d5 fc61 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807f89e: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807f8a2: b2db uxtb r3, r3 807f8a4: 461a mov r2, r3 807f8a6: 4b6e ldr r3, [pc, #440] ; (807fa60 ) 807f8a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f8ac: 461a mov r2, r3 807f8ae: 215a movs r1, #90 ; 0x5a 807f8b0: f44f 7093 mov.w r0, #294 ; 0x126 807f8b4: f7d5 fc54 bl 8055160 break; 807f8b8: f018 be9f b.w 80985fa if(menupos == UdarInner_IKS) 807f8bc: 4b65 ldr r3, [pc, #404] ; (807fa54 ) 807f8be: 781b ldrb r3, [r3, #0] 807f8c0: b2db uxtb r3, r3 807f8c2: 2b0b cmp r3, #11 807f8c4: d15e bne.n 807f984 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f8c6: 4964 ldr r1, [pc, #400] ; (807fa58 ) 807f8c8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f8cc: f7d4 fea0 bl 8054610 if(blk) 807f8d0: 4b62 ldr r3, [pc, #392] ; (807fa5c ) 807f8d2: 681b ldr r3, [r3, #0] 807f8d4: 2b00 cmp r3, #0 807f8d6: d00c beq.n 807f8f2 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807f8d8: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807f8dc: b2db uxtb r3, r3 807f8de: 461a mov r2, r3 807f8e0: 4b5f ldr r3, [pc, #380] ; (807fa60 ) 807f8e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f8e6: 461a mov r2, r3 807f8e8: 215a movs r1, #90 ; 0x5a 807f8ea: f44f 708b mov.w r0, #278 ; 0x116 807f8ee: f7d5 fc37 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f8f2: 4959 ldr r1, [pc, #356] ; (807fa58 ) 807f8f4: 485b ldr r0, [pc, #364] ; (807fa64 ) 807f8f6: f7d4 fe8b bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807f8fa: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807f8fe: b2db uxtb r3, r3 807f900: 461a mov r2, r3 807f902: 4b57 ldr r3, [pc, #348] ; (807fa60 ) 807f904: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f908: 461a mov r2, r3 807f90a: 215a movs r1, #90 ; 0x5a 807f90c: 20c6 movs r0, #198 ; 0xc6 807f90e: f7d5 fc27 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807f912: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807f916: b2db uxtb r3, r3 807f918: 461a mov r2, r3 807f91a: 4b51 ldr r3, [pc, #324] ; (807fa60 ) 807f91c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f920: 461a mov r2, r3 807f922: 215a movs r1, #90 ; 0x5a 807f924: 20d6 movs r0, #214 ; 0xd6 807f926: f7d5 fc1b bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807f92a: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807f92e: b2db uxtb r3, r3 807f930: 461a mov r2, r3 807f932: 4b4b ldr r3, [pc, #300] ; (807fa60 ) 807f934: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f938: 461a mov r2, r3 807f93a: 215a movs r1, #90 ; 0x5a 807f93c: 20e6 movs r0, #230 ; 0xe6 807f93e: f7d5 fc0f bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 807f942: 4a49 ldr r2, [pc, #292] ; (807fa68 ) 807f944: 215a movs r1, #90 ; 0x5a 807f946: 20f6 movs r0, #246 ; 0xf6 807f948: f7d5 fc0a bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807f94c: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807f950: b2db uxtb r3, r3 807f952: 461a mov r2, r3 807f954: 4b42 ldr r3, [pc, #264] ; (807fa60 ) 807f956: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f95a: 461a mov r2, r3 807f95c: 215a movs r1, #90 ; 0x5a 807f95e: f44f 7083 mov.w r0, #262 ; 0x106 807f962: f7d5 fbfd bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807f966: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807f96a: b2db uxtb r3, r3 807f96c: 461a mov r2, r3 807f96e: 4b3c ldr r3, [pc, #240] ; (807fa60 ) 807f970: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f974: 461a mov r2, r3 807f976: 215a movs r1, #90 ; 0x5a 807f978: f44f 7093 mov.w r0, #294 ; 0x126 807f97c: f7d5 fbf0 bl 8055160 break; 807f980: f018 be3b b.w 80985fa if(menupos == UdarInner_IKT) 807f984: 4b33 ldr r3, [pc, #204] ; (807fa54 ) 807f986: 781b ldrb r3, [r3, #0] 807f988: b2db uxtb r3, r3 807f98a: 2b0c cmp r3, #12 807f98c: f058 8635 bne.w 80985fa LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807f990: 4931 ldr r1, [pc, #196] ; (807fa58 ) 807f992: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807f996: f7d4 fe3b bl 8054610 if(blk) 807f99a: 4b30 ldr r3, [pc, #192] ; (807fa5c ) 807f99c: 681b ldr r3, [r3, #0] 807f99e: 2b00 cmp r3, #0 807f9a0: d00c beq.n 807f9bc LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807f9a2: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807f9a6: b2db uxtb r3, r3 807f9a8: 461a mov r2, r3 807f9aa: 4b2d ldr r3, [pc, #180] ; (807fa60 ) 807f9ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f9b0: 461a mov r2, r3 807f9b2: 215a movs r1, #90 ; 0x5a 807f9b4: f44f 7093 mov.w r0, #294 ; 0x126 807f9b8: f7d5 fbd2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807f9bc: 4926 ldr r1, [pc, #152] ; (807fa58 ) 807f9be: 4829 ldr r0, [pc, #164] ; (807fa64 ) 807f9c0: f7d4 fe26 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807f9c4: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807f9c8: b2db uxtb r3, r3 807f9ca: 461a mov r2, r3 807f9cc: 4b24 ldr r3, [pc, #144] ; (807fa60 ) 807f9ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f9d2: 461a mov r2, r3 807f9d4: 215a movs r1, #90 ; 0x5a 807f9d6: 20c6 movs r0, #198 ; 0xc6 807f9d8: f7d5 fbc2 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807f9dc: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807f9e0: b2db uxtb r3, r3 807f9e2: 461a mov r2, r3 807f9e4: 4b1e ldr r3, [pc, #120] ; (807fa60 ) 807f9e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807f9ea: 461a mov r2, r3 807f9ec: 215a movs r1, #90 ; 0x5a 807f9ee: 20d6 movs r0, #214 ; 0xd6 807f9f0: f7d5 fbb6 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807f9f4: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807f9f8: b2db uxtb r3, r3 807f9fa: 461a mov r2, r3 807f9fc: 4b18 ldr r3, [pc, #96] ; (807fa60 ) 807f9fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fa02: 461a mov r2, r3 807fa04: 215a movs r1, #90 ; 0x5a 807fa06: 20e6 movs r0, #230 ; 0xe6 807fa08: f7d5 fbaa bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 807fa0c: 4a16 ldr r2, [pc, #88] ; (807fa68 ) 807fa0e: 215a movs r1, #90 ; 0x5a 807fa10: 20f6 movs r0, #246 ; 0xf6 807fa12: f7d5 fba5 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807fa16: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807fa1a: b2db uxtb r3, r3 807fa1c: 461a mov r2, r3 807fa1e: 4b10 ldr r3, [pc, #64] ; (807fa60 ) 807fa20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fa24: 461a mov r2, r3 807fa26: 215a movs r1, #90 ; 0x5a 807fa28: f44f 7083 mov.w r0, #262 ; 0x106 807fa2c: f7d5 fb98 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807fa30: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807fa34: b2db uxtb r3, r3 807fa36: 461a mov r2, r3 807fa38: 4b09 ldr r3, [pc, #36] ; (807fa60 ) 807fa3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fa3e: 461a mov r2, r3 807fa40: 215a movs r1, #90 ; 0x5a 807fa42: f44f 708b mov.w r0, #278 ; 0x116 807fa46: f7d5 fb8b bl 8055160 break; 807fa4a: f018 bdd6 b.w 80985fa if(menupos == UdarRate_IET) 807fa4e: bf00 nop break; 807fa50: f018 bdd3 b.w 80985fa 807fa54: 20020070 .word 0x20020070 807fa58: ff0a0f1f .word 0xff0a0f1f 807fa5c: 200216a4 .word 0x200216a4 807fa60: 2002096c .word 0x2002096c 807fa64: ffd8aa57 .word 0xffd8aa57 807fa68: 080d3b58 .word 0x080d3b58 case PARAM_ROLL: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807fa6c: 49d5 ldr r1, [pc, #852] ; (807fdc4 ) 807fa6e: 48d6 ldr r0, [pc, #856] ; (807fdc8 ) 807fa70: f7d4 fdce bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 807fa74: 23c9 movs r3, #201 ; 0xc9 807fa76: f44f 729d mov.w r2, #314 ; 0x13a 807fa7a: 2123 movs r1, #35 ; 0x23 807fa7c: 2002 movs r0, #2 807fa7e: f7d5 f8cd bl 8054c1c ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.MAX_VAL * 10.0f); 807fa82: 4bd2 ldr r3, [pc, #840] ; (807fdcc ) 807fa84: edd3 7a06 vldr s15, [r3, #24] 807fa88: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 807fa8c: ee67 7a87 vmul.f32 s15, s15, s14 807fa90: eefc 7ae7 vcvt.u32.f32 s15, s15 807fa94: ee17 3a90 vmov r3, s15 807fa98: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 807fa9c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807faa0: 095b lsrs r3, r3, #5 807faa2: 4acb ldr r2, [pc, #812] ; (807fdd0 ) 807faa4: fba2 2303 umull r2, r3, r2, r3 807faa8: 09db lsrs r3, r3, #7 807faaa: b2db uxtb r3, r3 807faac: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 807fab0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807fab4: 0953 lsrs r3, r2, #5 807fab6: 49c6 ldr r1, [pc, #792] ; (807fdd0 ) 807fab8: fba1 1303 umull r1, r3, r1, r3 807fabc: 09db lsrs r3, r3, #7 807fabe: 49c5 ldr r1, [pc, #788] ; (807fdd4 ) 807fac0: fb01 f303 mul.w r3, r1, r3 807fac4: 1ad3 subs r3, r2, r3 807fac6: 4ac4 ldr r2, [pc, #784] ; (807fdd8 ) 807fac8: fba2 2303 umull r2, r3, r2, r3 807facc: 0b5b lsrs r3, r3, #13 807face: b2db uxtb r3, r3 807fad0: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 807fad4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807fad8: 0953 lsrs r3, r2, #5 807fada: 49bd ldr r1, [pc, #756] ; (807fdd0 ) 807fadc: fba1 1303 umull r1, r3, r1, r3 807fae0: 09db lsrs r3, r3, #7 807fae2: 49bc ldr r1, [pc, #752] ; (807fdd4 ) 807fae4: fb01 f303 mul.w r3, r1, r3 807fae8: 1ad3 subs r3, r2, r3 807faea: 4abb ldr r2, [pc, #748] ; (807fdd8 ) 807faec: fba2 1203 umull r1, r2, r2, r3 807faf0: 0b52 lsrs r2, r2, #13 807faf2: f242 7110 movw r1, #10000 ; 0x2710 807faf6: fb01 f202 mul.w r2, r1, r2 807fafa: 1a9a subs r2, r3, r2 807fafc: 4bb7 ldr r3, [pc, #732] ; (807fddc ) 807fafe: fba3 2302 umull r2, r3, r3, r2 807fb02: 099b lsrs r3, r3, #6 807fb04: b2db uxtb r3, r3 807fb06: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 807fb0a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807fb0e: 095a lsrs r2, r3, #5 807fb10: 49af ldr r1, [pc, #700] ; (807fdd0 ) 807fb12: fba1 1202 umull r1, r2, r1, r2 807fb16: 09d2 lsrs r2, r2, #7 807fb18: 49ae ldr r1, [pc, #696] ; (807fdd4 ) 807fb1a: fb01 f202 mul.w r2, r1, r2 807fb1e: 1a9a subs r2, r3, r2 807fb20: 4bad ldr r3, [pc, #692] ; (807fdd8 ) 807fb22: fba3 1302 umull r1, r3, r3, r2 807fb26: 0b5b lsrs r3, r3, #13 807fb28: f242 7110 movw r1, #10000 ; 0x2710 807fb2c: fb01 f303 mul.w r3, r1, r3 807fb30: 1ad3 subs r3, r2, r3 807fb32: 4aaa ldr r2, [pc, #680] ; (807fddc ) 807fb34: fba2 1203 umull r1, r2, r2, r3 807fb38: 0992 lsrs r2, r2, #6 807fb3a: f44f 717a mov.w r1, #1000 ; 0x3e8 807fb3e: fb01 f202 mul.w r2, r1, r2 807fb42: 1a9a subs r2, r3, r2 807fb44: 4ba6 ldr r3, [pc, #664] ; (807fde0 ) 807fb46: fba3 2302 umull r2, r3, r3, r2 807fb4a: 095b lsrs r3, r3, #5 807fb4c: b2db uxtb r3, r3 807fb4e: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 807fb52: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807fb56: 0953 lsrs r3, r2, #5 807fb58: 499d ldr r1, [pc, #628] ; (807fdd0 ) 807fb5a: fba1 1303 umull r1, r3, r1, r3 807fb5e: 09db lsrs r3, r3, #7 807fb60: 499c ldr r1, [pc, #624] ; (807fdd4 ) 807fb62: fb01 f303 mul.w r3, r1, r3 807fb66: 1ad3 subs r3, r2, r3 807fb68: 4a9b ldr r2, [pc, #620] ; (807fdd8 ) 807fb6a: fba2 1203 umull r1, r2, r2, r3 807fb6e: 0b52 lsrs r2, r2, #13 807fb70: f242 7110 movw r1, #10000 ; 0x2710 807fb74: fb01 f202 mul.w r2, r1, r2 807fb78: 1a9a subs r2, r3, r2 807fb7a: 4b98 ldr r3, [pc, #608] ; (807fddc ) 807fb7c: fba3 1302 umull r1, r3, r3, r2 807fb80: 099b lsrs r3, r3, #6 807fb82: f44f 717a mov.w r1, #1000 ; 0x3e8 807fb86: fb01 f303 mul.w r3, r1, r3 807fb8a: 1ad3 subs r3, r2, r3 807fb8c: 4a94 ldr r2, [pc, #592] ; (807fde0 ) 807fb8e: fba2 1203 umull r1, r2, r2, r3 807fb92: 0952 lsrs r2, r2, #5 807fb94: 2164 movs r1, #100 ; 0x64 807fb96: fb01 f202 mul.w r2, r1, r2 807fb9a: 1a9a subs r2, r3, r2 807fb9c: 4b91 ldr r3, [pc, #580] ; (807fde4 ) 807fb9e: fba3 2302 umull r2, r3, r3, r2 807fba2: 08db lsrs r3, r3, #3 807fba4: b2db uxtb r3, r3 807fba6: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 807fbaa: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807fbae: 0953 lsrs r3, r2, #5 807fbb0: 4987 ldr r1, [pc, #540] ; (807fdd0 ) 807fbb2: fba1 1303 umull r1, r3, r1, r3 807fbb6: 09db lsrs r3, r3, #7 807fbb8: 4986 ldr r1, [pc, #536] ; (807fdd4 ) 807fbba: fb01 f303 mul.w r3, r1, r3 807fbbe: 1ad3 subs r3, r2, r3 807fbc0: 4a85 ldr r2, [pc, #532] ; (807fdd8 ) 807fbc2: fba2 1203 umull r1, r2, r2, r3 807fbc6: 0b52 lsrs r2, r2, #13 807fbc8: f242 7110 movw r1, #10000 ; 0x2710 807fbcc: fb01 f202 mul.w r2, r1, r2 807fbd0: 1a9a subs r2, r3, r2 807fbd2: 4b82 ldr r3, [pc, #520] ; (807fddc ) 807fbd4: fba3 1302 umull r1, r3, r3, r2 807fbd8: 099b lsrs r3, r3, #6 807fbda: f44f 717a mov.w r1, #1000 ; 0x3e8 807fbde: fb01 f303 mul.w r3, r1, r3 807fbe2: 1ad3 subs r3, r2, r3 807fbe4: 4a7e ldr r2, [pc, #504] ; (807fde0 ) 807fbe6: fba2 1203 umull r1, r2, r2, r3 807fbea: 0952 lsrs r2, r2, #5 807fbec: 2164 movs r1, #100 ; 0x64 807fbee: fb01 f202 mul.w r2, r1, r2 807fbf2: 1a9a subs r2, r3, r2 807fbf4: 4b7b ldr r3, [pc, #492] ; (807fde4 ) 807fbf6: fba3 1302 umull r1, r3, r3, r2 807fbfa: 08d9 lsrs r1, r3, #3 807fbfc: 460b mov r3, r1 807fbfe: 009b lsls r3, r3, #2 807fc00: 440b add r3, r1 807fc02: 005b lsls r3, r3, #1 807fc04: 1ad1 subs r1, r2, r3 807fc06: b2cb uxtb r3, r1 807fc08: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 807fc0c: 2300 movs r3, #0 807fc0e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 807fc12: f507 733b add.w r3, r7, #748 ; 0x2ec 807fc16: 223c movs r2, #60 ; 0x3c 807fc18: 2100 movs r1, #0 807fc1a: 4618 mov r0, r3 807fc1c: f051 fbc0 bl 80d13a0 if(idt2 != 0) 807fc20: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807fc24: b2db uxtb r3, r3 807fc26: 2b00 cmp r3, #0 807fc28: d00c beq.n 807fc44 str[i++] = idt2 + 48; 807fc2a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807fc2e: 1c5a adds r2, r3, #1 807fc30: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807fc34: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 807fc38: b2d2 uxtb r2, r2 807fc3a: 3230 adds r2, #48 ; 0x30 807fc3c: b2d1 uxtb r1, r2 807fc3e: f507 723b add.w r2, r7, #748 ; 0x2ec 807fc42: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 807fc44: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807fc48: b2db uxtb r3, r3 807fc4a: 2b00 cmp r3, #0 807fc4c: d104 bne.n 807fc58 807fc4e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807fc52: b2db uxtb r3, r3 807fc54: 2b00 cmp r3, #0 807fc56: d00c beq.n 807fc72 str[i++] = iet2 + 48; 807fc58: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807fc5c: 1c5a adds r2, r3, #1 807fc5e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807fc62: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 807fc66: b2d2 uxtb r2, r2 807fc68: 3230 adds r2, #48 ; 0x30 807fc6a: b2d1 uxtb r1, r2 807fc6c: f507 723b add.w r2, r7, #748 ; 0x2ec 807fc70: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 807fc72: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807fc76: b2db uxtb r3, r3 807fc78: 2b00 cmp r3, #0 807fc7a: d109 bne.n 807fc90 807fc7c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807fc80: b2db uxtb r3, r3 807fc82: 2b00 cmp r3, #0 807fc84: d104 bne.n 807fc90 807fc86: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807fc8a: b2db uxtb r3, r3 807fc8c: 2b00 cmp r3, #0 807fc8e: d00c beq.n 807fcaa str[i++] = ies2 + 48; 807fc90: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807fc94: 1c5a adds r2, r3, #1 807fc96: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807fc9a: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 807fc9e: b2d2 uxtb r2, r2 807fca0: 3230 adds r2, #48 ; 0x30 807fca2: b2d1 uxtb r1, r2 807fca4: f507 723b add.w r2, r7, #748 ; 0x2ec 807fca8: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 807fcaa: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807fcae: b2db uxtb r3, r3 807fcb0: 2b00 cmp r3, #0 807fcb2: d10e bne.n 807fcd2 807fcb4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807fcb8: b2db uxtb r3, r3 807fcba: 2b00 cmp r3, #0 807fcbc: d109 bne.n 807fcd2 807fcbe: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807fcc2: b2db uxtb r3, r3 807fcc4: 2b00 cmp r3, #0 807fcc6: d104 bne.n 807fcd2 807fcc8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807fccc: b2db uxtb r3, r3 807fcce: 2b00 cmp r3, #0 807fcd0: d00c beq.n 807fcec str[i++] = ied2 + 48; 807fcd2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807fcd6: 1c5a adds r2, r3, #1 807fcd8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807fcdc: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 807fce0: b2d2 uxtb r2, r2 807fce2: 3230 adds r2, #48 ; 0x30 807fce4: b2d1 uxtb r1, r2 807fce6: f507 723b add.w r2, r7, #748 ; 0x2ec 807fcea: 54d1 strb r1, [r2, r3] str[i++] = iee2 + 48; 807fcec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807fcf0: 1c5a adds r2, r3, #1 807fcf2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807fcf6: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 807fcfa: b2d2 uxtb r2, r2 807fcfc: 3230 adds r2, #48 ; 0x30 807fcfe: b2d1 uxtb r1, r2 807fd00: f507 723b add.w r2, r7, #748 ; 0x2ec 807fd04: 54d1 strb r1, [r2, r3] str[i++] = '.'; 807fd06: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807fd0a: 1c5a adds r2, r3, #1 807fd0c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807fd10: f507 723b add.w r2, r7, #748 ; 0x2ec 807fd14: 212e movs r1, #46 ; 0x2e 807fd16: 54d1 strb r1, [r2, r3] str[i++] = ikd2 + 48; 807fd18: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807fd1c: 1c5a adds r2, r3, #1 807fd1e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807fd22: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 807fd26: b2d2 uxtb r2, r2 807fd28: 3230 adds r2, #48 ; 0x30 807fd2a: b2d1 uxtb r1, r2 807fd2c: f507 723b add.w r2, r7, #748 ; 0x2ec 807fd30: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_ROLL * 1000.0f); 807fd32: 4b26 ldr r3, [pc, #152] ; (807fdcc ) 807fd34: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 807fd38: ed9f 7a2b vldr s14, [pc, #172] ; 807fde8 807fd3c: ee67 7a87 vmul.f32 s15, s15, s14 807fd40: eefc 7ae7 vcvt.u32.f32 s15, s15 807fd44: ee17 3a90 vmov r3, s15 807fd48: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 roll_ies = k / 100000; 807fd4c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807fd50: 095b lsrs r3, r3, #5 807fd52: 4a1f ldr r2, [pc, #124] ; (807fdd0 ) 807fd54: fba2 2303 umull r2, r3, r2, r3 807fd58: 09db lsrs r3, r3, #7 807fd5a: b2db uxtb r3, r3 807fd5c: f887 33b3 strb.w r3, [r7, #947] ; 0x3b3 roll_ied = k % 100000 / 10000; 807fd60: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807fd64: 0953 lsrs r3, r2, #5 807fd66: 491a ldr r1, [pc, #104] ; (807fdd0 ) 807fd68: fba1 1303 umull r1, r3, r1, r3 807fd6c: 09db lsrs r3, r3, #7 807fd6e: 4919 ldr r1, [pc, #100] ; (807fdd4 ) 807fd70: fb01 f303 mul.w r3, r1, r3 807fd74: 1ad3 subs r3, r2, r3 807fd76: 4a18 ldr r2, [pc, #96] ; (807fdd8 ) 807fd78: fba2 2303 umull r2, r3, r2, r3 807fd7c: 0b5b lsrs r3, r3, #13 807fd7e: b2db uxtb r3, r3 807fd80: f887 33b2 strb.w r3, [r7, #946] ; 0x3b2 roll_iee = k % 100000 % 10000 / 1000; 807fd84: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807fd88: 0953 lsrs r3, r2, #5 807fd8a: 4911 ldr r1, [pc, #68] ; (807fdd0 ) 807fd8c: fba1 1303 umull r1, r3, r1, r3 807fd90: 09db lsrs r3, r3, #7 807fd92: 4910 ldr r1, [pc, #64] ; (807fdd4 ) 807fd94: fb01 f303 mul.w r3, r1, r3 807fd98: 1ad3 subs r3, r2, r3 807fd9a: 4a0f ldr r2, [pc, #60] ; (807fdd8 ) 807fd9c: fba2 1203 umull r1, r2, r2, r3 807fda0: 0b52 lsrs r2, r2, #13 807fda2: f242 7110 movw r1, #10000 ; 0x2710 807fda6: fb01 f202 mul.w r2, r1, r2 807fdaa: 1a9a subs r2, r3, r2 807fdac: 4b0b ldr r3, [pc, #44] ; (807fddc ) 807fdae: fba3 2302 umull r2, r3, r3, r2 807fdb2: 099b lsrs r3, r3, #6 807fdb4: b2db uxtb r3, r3 807fdb6: f887 33b1 strb.w r3, [r7, #945] ; 0x3b1 roll_ikd = k % 100000 % 10000 % 1000 / 100; 807fdba: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807fdbe: 095a lsrs r2, r3, #5 807fdc0: e014 b.n 807fdec 807fdc2: bf00 nop 807fdc4: ff0a0f1f .word 0xff0a0f1f 807fdc8: ffd3d3d3 .word 0xffd3d3d3 807fdcc: 20023ea8 .word 0x20023ea8 807fdd0: 0a7c5ac5 .word 0x0a7c5ac5 807fdd4: 000186a0 .word 0x000186a0 807fdd8: d1b71759 .word 0xd1b71759 807fddc: 10624dd3 .word 0x10624dd3 807fde0: 51eb851f .word 0x51eb851f 807fde4: cccccccd .word 0xcccccccd 807fde8: 447a0000 .word 0x447a0000 807fdec: 49da ldr r1, [pc, #872] ; (8080158 ) 807fdee: fba1 1202 umull r1, r2, r1, r2 807fdf2: 09d2 lsrs r2, r2, #7 807fdf4: 49d9 ldr r1, [pc, #868] ; (808015c ) 807fdf6: fb01 f202 mul.w r2, r1, r2 807fdfa: 1a9a subs r2, r3, r2 807fdfc: 4bd8 ldr r3, [pc, #864] ; (8080160 ) 807fdfe: fba3 1302 umull r1, r3, r3, r2 807fe02: 0b5b lsrs r3, r3, #13 807fe04: f242 7110 movw r1, #10000 ; 0x2710 807fe08: fb01 f303 mul.w r3, r1, r3 807fe0c: 1ad3 subs r3, r2, r3 807fe0e: 4ad5 ldr r2, [pc, #852] ; (8080164 ) 807fe10: fba2 1203 umull r1, r2, r2, r3 807fe14: 0992 lsrs r2, r2, #6 807fe16: f44f 717a mov.w r1, #1000 ; 0x3e8 807fe1a: fb01 f202 mul.w r2, r1, r2 807fe1e: 1a9a subs r2, r3, r2 807fe20: 4bd1 ldr r3, [pc, #836] ; (8080168 ) 807fe22: fba3 2302 umull r2, r3, r3, r2 807fe26: 095b lsrs r3, r3, #5 807fe28: b2db uxtb r3, r3 807fe2a: f887 33b0 strb.w r3, [r7, #944] ; 0x3b0 roll_iks = k % 100000 % 10000 % 1000 % 100 / 10; 807fe2e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807fe32: 0953 lsrs r3, r2, #5 807fe34: 49c8 ldr r1, [pc, #800] ; (8080158 ) 807fe36: fba1 1303 umull r1, r3, r1, r3 807fe3a: 09db lsrs r3, r3, #7 807fe3c: 49c7 ldr r1, [pc, #796] ; (808015c ) 807fe3e: fb01 f303 mul.w r3, r1, r3 807fe42: 1ad3 subs r3, r2, r3 807fe44: 4ac6 ldr r2, [pc, #792] ; (8080160 ) 807fe46: fba2 1203 umull r1, r2, r2, r3 807fe4a: 0b52 lsrs r2, r2, #13 807fe4c: f242 7110 movw r1, #10000 ; 0x2710 807fe50: fb01 f202 mul.w r2, r1, r2 807fe54: 1a9a subs r2, r3, r2 807fe56: 4bc3 ldr r3, [pc, #780] ; (8080164 ) 807fe58: fba3 1302 umull r1, r3, r3, r2 807fe5c: 099b lsrs r3, r3, #6 807fe5e: f44f 717a mov.w r1, #1000 ; 0x3e8 807fe62: fb01 f303 mul.w r3, r1, r3 807fe66: 1ad3 subs r3, r2, r3 807fe68: 4abf ldr r2, [pc, #764] ; (8080168 ) 807fe6a: fba2 1203 umull r1, r2, r2, r3 807fe6e: 0952 lsrs r2, r2, #5 807fe70: 2164 movs r1, #100 ; 0x64 807fe72: fb01 f202 mul.w r2, r1, r2 807fe76: 1a9a subs r2, r3, r2 807fe78: 4bbc ldr r3, [pc, #752] ; (808016c ) 807fe7a: fba3 2302 umull r2, r3, r3, r2 807fe7e: 08db lsrs r3, r3, #3 807fe80: b2db uxtb r3, r3 807fe82: f887 33af strb.w r3, [r7, #943] ; 0x3af roll_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807fe86: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807fe8a: 0953 lsrs r3, r2, #5 807fe8c: 49b2 ldr r1, [pc, #712] ; (8080158 ) 807fe8e: fba1 1303 umull r1, r3, r1, r3 807fe92: 09db lsrs r3, r3, #7 807fe94: 49b1 ldr r1, [pc, #708] ; (808015c ) 807fe96: fb01 f303 mul.w r3, r1, r3 807fe9a: 1ad3 subs r3, r2, r3 807fe9c: 4ab0 ldr r2, [pc, #704] ; (8080160 ) 807fe9e: fba2 1203 umull r1, r2, r2, r3 807fea2: 0b52 lsrs r2, r2, #13 807fea4: f242 7110 movw r1, #10000 ; 0x2710 807fea8: fb01 f202 mul.w r2, r1, r2 807feac: 1a9a subs r2, r3, r2 807feae: 4bad ldr r3, [pc, #692] ; (8080164 ) 807feb0: fba3 1302 umull r1, r3, r3, r2 807feb4: 099b lsrs r3, r3, #6 807feb6: f44f 717a mov.w r1, #1000 ; 0x3e8 807feba: fb01 f303 mul.w r3, r1, r3 807febe: 1ad3 subs r3, r2, r3 807fec0: 4aa9 ldr r2, [pc, #676] ; (8080168 ) 807fec2: fba2 1203 umull r1, r2, r2, r3 807fec6: 0952 lsrs r2, r2, #5 807fec8: 2164 movs r1, #100 ; 0x64 807feca: fb01 f202 mul.w r2, r1, r2 807fece: 1a9a subs r2, r3, r2 807fed0: 4ba6 ldr r3, [pc, #664] ; (808016c ) 807fed2: fba3 1302 umull r1, r3, r3, r2 807fed6: 08d9 lsrs r1, r3, #3 807fed8: 460b mov r3, r1 807feda: 009b lsls r3, r3, #2 807fedc: 440b add r3, r1 807fede: 005b lsls r3, r3, #1 807fee0: 1ad1 subs r1, r2, r3 807fee2: b2cb uxtb r3, r1 807fee4: f887 33ae strb.w r3, [r7, #942] ; 0x3ae i = 0; 807fee8: 2300 movs r3, #0 807feea: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_roll, 0, sizeof(str_roll)); 807feee: f507 735e add.w r3, r7, #888 ; 0x378 807fef2: 2214 movs r2, #20 807fef4: 2100 movs r1, #0 807fef6: 4618 mov r0, r3 807fef8: f051 fa52 bl 80d13a0 if(roll_ies != 0) 807fefc: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 807ff00: b2db uxtb r3, r3 807ff02: 2b00 cmp r3, #0 807ff04: d00e beq.n 807ff24 str_roll[i++] = roll_ies + 48; 807ff06: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ff0a: 1c5a adds r2, r3, #1 807ff0c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ff10: f897 23b3 ldrb.w r2, [r7, #947] ; 0x3b3 807ff14: b2d2 uxtb r2, r2 807ff16: 3230 adds r2, #48 ; 0x30 807ff18: b2d2 uxtb r2, r2 807ff1a: f507 618e add.w r1, r7, #1136 ; 0x470 807ff1e: 440b add r3, r1 807ff20: f803 2cf8 strb.w r2, [r3, #-248] if((roll_ies != 0) || (roll_ied != 0)) 807ff24: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 807ff28: b2db uxtb r3, r3 807ff2a: 2b00 cmp r3, #0 807ff2c: d104 bne.n 807ff38 807ff2e: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 807ff32: b2db uxtb r3, r3 807ff34: 2b00 cmp r3, #0 807ff36: d00e beq.n 807ff56 str_roll[i++] = roll_ied + 48; 807ff38: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ff3c: 1c5a adds r2, r3, #1 807ff3e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ff42: f897 23b2 ldrb.w r2, [r7, #946] ; 0x3b2 807ff46: b2d2 uxtb r2, r2 807ff48: 3230 adds r2, #48 ; 0x30 807ff4a: b2d2 uxtb r2, r2 807ff4c: f507 618e add.w r1, r7, #1136 ; 0x470 807ff50: 440b add r3, r1 807ff52: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_iee + 48; 807ff56: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ff5a: 1c5a adds r2, r3, #1 807ff5c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ff60: f897 23b1 ldrb.w r2, [r7, #945] ; 0x3b1 807ff64: b2d2 uxtb r2, r2 807ff66: 3230 adds r2, #48 ; 0x30 807ff68: b2d2 uxtb r2, r2 807ff6a: f507 618e add.w r1, r7, #1136 ; 0x470 807ff6e: 440b add r3, r1 807ff70: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = '.'; 807ff74: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ff78: 1c5a adds r2, r3, #1 807ff7a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ff7e: f507 628e add.w r2, r7, #1136 ; 0x470 807ff82: 4413 add r3, r2 807ff84: 222e movs r2, #46 ; 0x2e 807ff86: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_ikd + 48; 807ff8a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ff8e: 1c5a adds r2, r3, #1 807ff90: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ff94: f897 23b0 ldrb.w r2, [r7, #944] ; 0x3b0 807ff98: b2d2 uxtb r2, r2 807ff9a: 3230 adds r2, #48 ; 0x30 807ff9c: b2d2 uxtb r2, r2 807ff9e: f507 618e add.w r1, r7, #1136 ; 0x470 807ffa2: 440b add r3, r1 807ffa4: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_iks + 48; 807ffa8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ffac: 1c5a adds r2, r3, #1 807ffae: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ffb2: f897 23af ldrb.w r2, [r7, #943] ; 0x3af 807ffb6: b2d2 uxtb r2, r2 807ffb8: 3230 adds r2, #48 ; 0x30 807ffba: b2d2 uxtb r2, r2 807ffbc: f507 618e add.w r1, r7, #1136 ; 0x470 807ffc0: 440b add r3, r1 807ffc2: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_ikt + 48; 807ffc6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ffca: 1c5a adds r2, r3, #1 807ffcc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ffd0: f897 23ae ldrb.w r2, [r7, #942] ; 0x3ae 807ffd4: b2d2 uxtb r2, r2 807ffd6: 3230 adds r2, #48 ; 0x30 807ffd8: b2d2 uxtb r2, r2 807ffda: f507 618e add.w r1, r7, #1136 ; 0x470 807ffde: 440b add r3, r1 807ffe0: f803 2cf8 strb.w r2, [r3, #-248] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_OUTER * 1000.0f); 807ffe4: 4b62 ldr r3, [pc, #392] ; (8080170 ) 807ffe6: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 807ffea: ed9f 7a62 vldr s14, [pc, #392] ; 8080174 807ffee: ee67 7a87 vmul.f32 s15, s15, s14 807fff2: eefc 7ae7 vcvt.u32.f32 s15, s15 807fff6: ee17 3a90 vmov r3, s15 807fffa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 outer_ies = k / 100000; 807fffe: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8080002: 095b lsrs r3, r3, #5 8080004: 4a54 ldr r2, [pc, #336] ; (8080158 ) 8080006: fba2 2303 umull r2, r3, r2, r3 808000a: 09db lsrs r3, r3, #7 808000c: b2db uxtb r3, r3 808000e: f887 33ab strb.w r3, [r7, #939] ; 0x3ab outer_ied = k % 100000 / 10000; 8080012: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080016: 0953 lsrs r3, r2, #5 8080018: 494f ldr r1, [pc, #316] ; (8080158 ) 808001a: fba1 1303 umull r1, r3, r1, r3 808001e: 09db lsrs r3, r3, #7 8080020: 494e ldr r1, [pc, #312] ; (808015c ) 8080022: fb01 f303 mul.w r3, r1, r3 8080026: 1ad3 subs r3, r2, r3 8080028: 4a4d ldr r2, [pc, #308] ; (8080160 ) 808002a: fba2 2303 umull r2, r3, r2, r3 808002e: 0b5b lsrs r3, r3, #13 8080030: b2db uxtb r3, r3 8080032: f887 33aa strb.w r3, [r7, #938] ; 0x3aa outer_iee = k % 100000 % 10000 / 1000; 8080036: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808003a: 0953 lsrs r3, r2, #5 808003c: 4946 ldr r1, [pc, #280] ; (8080158 ) 808003e: fba1 1303 umull r1, r3, r1, r3 8080042: 09db lsrs r3, r3, #7 8080044: 4945 ldr r1, [pc, #276] ; (808015c ) 8080046: fb01 f303 mul.w r3, r1, r3 808004a: 1ad3 subs r3, r2, r3 808004c: 4a44 ldr r2, [pc, #272] ; (8080160 ) 808004e: fba2 1203 umull r1, r2, r2, r3 8080052: 0b52 lsrs r2, r2, #13 8080054: f242 7110 movw r1, #10000 ; 0x2710 8080058: fb01 f202 mul.w r2, r1, r2 808005c: 1a9a subs r2, r3, r2 808005e: 4b41 ldr r3, [pc, #260] ; (8080164 ) 8080060: fba3 2302 umull r2, r3, r3, r2 8080064: 099b lsrs r3, r3, #6 8080066: b2db uxtb r3, r3 8080068: f887 33a9 strb.w r3, [r7, #937] ; 0x3a9 outer_ikd = k % 100000 % 10000 % 1000 / 100; 808006c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8080070: 095a lsrs r2, r3, #5 8080072: 4939 ldr r1, [pc, #228] ; (8080158 ) 8080074: fba1 1202 umull r1, r2, r1, r2 8080078: 09d2 lsrs r2, r2, #7 808007a: 4938 ldr r1, [pc, #224] ; (808015c ) 808007c: fb01 f202 mul.w r2, r1, r2 8080080: 1a9a subs r2, r3, r2 8080082: 4b37 ldr r3, [pc, #220] ; (8080160 ) 8080084: fba3 1302 umull r1, r3, r3, r2 8080088: 0b5b lsrs r3, r3, #13 808008a: f242 7110 movw r1, #10000 ; 0x2710 808008e: fb01 f303 mul.w r3, r1, r3 8080092: 1ad3 subs r3, r2, r3 8080094: 4a33 ldr r2, [pc, #204] ; (8080164 ) 8080096: fba2 1203 umull r1, r2, r2, r3 808009a: 0992 lsrs r2, r2, #6 808009c: f44f 717a mov.w r1, #1000 ; 0x3e8 80800a0: fb01 f202 mul.w r2, r1, r2 80800a4: 1a9a subs r2, r3, r2 80800a6: 4b30 ldr r3, [pc, #192] ; (8080168 ) 80800a8: fba3 2302 umull r2, r3, r3, r2 80800ac: 095b lsrs r3, r3, #5 80800ae: b2db uxtb r3, r3 80800b0: f887 33a8 strb.w r3, [r7, #936] ; 0x3a8 outer_iks = k % 100000 % 10000 % 1000 % 100 / 10; 80800b4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80800b8: 0953 lsrs r3, r2, #5 80800ba: 4927 ldr r1, [pc, #156] ; (8080158 ) 80800bc: fba1 1303 umull r1, r3, r1, r3 80800c0: 09db lsrs r3, r3, #7 80800c2: 4926 ldr r1, [pc, #152] ; (808015c ) 80800c4: fb01 f303 mul.w r3, r1, r3 80800c8: 1ad3 subs r3, r2, r3 80800ca: 4a25 ldr r2, [pc, #148] ; (8080160 ) 80800cc: fba2 1203 umull r1, r2, r2, r3 80800d0: 0b52 lsrs r2, r2, #13 80800d2: f242 7110 movw r1, #10000 ; 0x2710 80800d6: fb01 f202 mul.w r2, r1, r2 80800da: 1a9a subs r2, r3, r2 80800dc: 4b21 ldr r3, [pc, #132] ; (8080164 ) 80800de: fba3 1302 umull r1, r3, r3, r2 80800e2: 099b lsrs r3, r3, #6 80800e4: f44f 717a mov.w r1, #1000 ; 0x3e8 80800e8: fb01 f303 mul.w r3, r1, r3 80800ec: 1ad3 subs r3, r2, r3 80800ee: 4a1e ldr r2, [pc, #120] ; (8080168 ) 80800f0: fba2 1203 umull r1, r2, r2, r3 80800f4: 0952 lsrs r2, r2, #5 80800f6: 2164 movs r1, #100 ; 0x64 80800f8: fb01 f202 mul.w r2, r1, r2 80800fc: 1a9a subs r2, r3, r2 80800fe: 4b1b ldr r3, [pc, #108] ; (808016c ) 8080100: fba3 2302 umull r2, r3, r3, r2 8080104: 08db lsrs r3, r3, #3 8080106: b2db uxtb r3, r3 8080108: f887 33a7 strb.w r3, [r7, #935] ; 0x3a7 outer_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 808010c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080110: 0953 lsrs r3, r2, #5 8080112: 4911 ldr r1, [pc, #68] ; (8080158 ) 8080114: fba1 1303 umull r1, r3, r1, r3 8080118: 09db lsrs r3, r3, #7 808011a: 4910 ldr r1, [pc, #64] ; (808015c ) 808011c: fb01 f303 mul.w r3, r1, r3 8080120: 1ad3 subs r3, r2, r3 8080122: 4a0f ldr r2, [pc, #60] ; (8080160 ) 8080124: fba2 1203 umull r1, r2, r2, r3 8080128: 0b52 lsrs r2, r2, #13 808012a: f242 7110 movw r1, #10000 ; 0x2710 808012e: fb01 f202 mul.w r2, r1, r2 8080132: 1a9a subs r2, r3, r2 8080134: 4b0b ldr r3, [pc, #44] ; (8080164 ) 8080136: fba3 1302 umull r1, r3, r3, r2 808013a: 099b lsrs r3, r3, #6 808013c: f44f 717a mov.w r1, #1000 ; 0x3e8 8080140: fb01 f303 mul.w r3, r1, r3 8080144: 1ad3 subs r3, r2, r3 8080146: 4a08 ldr r2, [pc, #32] ; (8080168 ) 8080148: fba2 1203 umull r1, r2, r2, r3 808014c: 0952 lsrs r2, r2, #5 808014e: 2164 movs r1, #100 ; 0x64 8080150: fb01 f202 mul.w r2, r1, r2 8080154: 1a9a subs r2, r3, r2 8080156: e00f b.n 8080178 8080158: 0a7c5ac5 .word 0x0a7c5ac5 808015c: 000186a0 .word 0x000186a0 8080160: d1b71759 .word 0xd1b71759 8080164: 10624dd3 .word 0x10624dd3 8080168: 51eb851f .word 0x51eb851f 808016c: cccccccd .word 0xcccccccd 8080170: 20023ea8 .word 0x20023ea8 8080174: 447a0000 .word 0x447a0000 8080178: 4bb3 ldr r3, [pc, #716] ; (8080448 ) 808017a: fba3 1302 umull r1, r3, r3, r2 808017e: 08d9 lsrs r1, r3, #3 8080180: 460b mov r3, r1 8080182: 009b lsls r3, r3, #2 8080184: 440b add r3, r1 8080186: 005b lsls r3, r3, #1 8080188: 1ad1 subs r1, r2, r3 808018a: b2cb uxtb r3, r1 808018c: f887 33a6 strb.w r3, [r7, #934] ; 0x3a6 i = 0; 8080190: 2300 movs r3, #0 8080192: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_outer, 0, sizeof(str_outer)); 8080196: f507 7359 add.w r3, r7, #868 ; 0x364 808019a: 2214 movs r2, #20 808019c: 2100 movs r1, #0 808019e: 4618 mov r0, r3 80801a0: f051 f8fe bl 80d13a0 if(outer_ies != 0) 80801a4: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 80801a8: b2db uxtb r3, r3 80801aa: 2b00 cmp r3, #0 80801ac: d00c beq.n 80801c8 str_outer[i++] = outer_ies + 48; 80801ae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80801b2: 1c5a adds r2, r3, #1 80801b4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80801b8: f897 23ab ldrb.w r2, [r7, #939] ; 0x3ab 80801bc: b2d2 uxtb r2, r2 80801be: 3230 adds r2, #48 ; 0x30 80801c0: b2d1 uxtb r1, r2 80801c2: f507 7259 add.w r2, r7, #868 ; 0x364 80801c6: 54d1 strb r1, [r2, r3] if((outer_ies != 0) || (outer_ied != 0)) 80801c8: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 80801cc: b2db uxtb r3, r3 80801ce: 2b00 cmp r3, #0 80801d0: d104 bne.n 80801dc 80801d2: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 80801d6: b2db uxtb r3, r3 80801d8: 2b00 cmp r3, #0 80801da: d00c beq.n 80801f6 str_outer[i++] = outer_ied + 48; 80801dc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80801e0: 1c5a adds r2, r3, #1 80801e2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80801e6: f897 23aa ldrb.w r2, [r7, #938] ; 0x3aa 80801ea: b2d2 uxtb r2, r2 80801ec: 3230 adds r2, #48 ; 0x30 80801ee: b2d1 uxtb r1, r2 80801f0: f507 7259 add.w r2, r7, #868 ; 0x364 80801f4: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_iee + 48; 80801f6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80801fa: 1c5a adds r2, r3, #1 80801fc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080200: f897 23a9 ldrb.w r2, [r7, #937] ; 0x3a9 8080204: b2d2 uxtb r2, r2 8080206: 3230 adds r2, #48 ; 0x30 8080208: b2d1 uxtb r1, r2 808020a: f507 7259 add.w r2, r7, #868 ; 0x364 808020e: 54d1 strb r1, [r2, r3] str_outer[i++] = '.'; 8080210: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080214: 1c5a adds r2, r3, #1 8080216: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808021a: f507 7259 add.w r2, r7, #868 ; 0x364 808021e: 212e movs r1, #46 ; 0x2e 8080220: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_ikd + 48; 8080222: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080226: 1c5a adds r2, r3, #1 8080228: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808022c: f897 23a8 ldrb.w r2, [r7, #936] ; 0x3a8 8080230: b2d2 uxtb r2, r2 8080232: 3230 adds r2, #48 ; 0x30 8080234: b2d1 uxtb r1, r2 8080236: f507 7259 add.w r2, r7, #868 ; 0x364 808023a: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_iks + 48; 808023c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080240: 1c5a adds r2, r3, #1 8080242: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080246: f897 23a7 ldrb.w r2, [r7, #935] ; 0x3a7 808024a: b2d2 uxtb r2, r2 808024c: 3230 adds r2, #48 ; 0x30 808024e: b2d1 uxtb r1, r2 8080250: f507 7259 add.w r2, r7, #868 ; 0x364 8080254: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_ikt + 48; 8080256: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808025a: 1c5a adds r2, r3, #1 808025c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080260: f897 23a6 ldrb.w r2, [r7, #934] ; 0x3a6 8080264: b2d2 uxtb r2, r2 8080266: 3230 adds r2, #48 ; 0x30 8080268: b2d1 uxtb r1, r2 808026a: f507 7259 add.w r2, r7, #868 ; 0x364 808026e: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_INNER * 1000.0f); 8080270: 4b76 ldr r3, [pc, #472] ; (808044c ) 8080272: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8080276: ed9f 7a76 vldr s14, [pc, #472] ; 8080450 808027a: ee67 7a87 vmul.f32 s15, s15, s14 808027e: eefc 7ae7 vcvt.u32.f32 s15, s15 8080282: ee17 3a90 vmov r3, s15 8080286: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 inner_ies = k / 100000; 808028a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808028e: 095b lsrs r3, r3, #5 8080290: 4a70 ldr r2, [pc, #448] ; (8080454 ) 8080292: fba2 2303 umull r2, r3, r2, r3 8080296: 09db lsrs r3, r3, #7 8080298: b2db uxtb r3, r3 808029a: f887 33a3 strb.w r3, [r7, #931] ; 0x3a3 inner_ied = k % 100000 / 10000; 808029e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80802a2: 0953 lsrs r3, r2, #5 80802a4: 496b ldr r1, [pc, #428] ; (8080454 ) 80802a6: fba1 1303 umull r1, r3, r1, r3 80802aa: 09db lsrs r3, r3, #7 80802ac: 496a ldr r1, [pc, #424] ; (8080458 ) 80802ae: fb01 f303 mul.w r3, r1, r3 80802b2: 1ad3 subs r3, r2, r3 80802b4: 4a69 ldr r2, [pc, #420] ; (808045c ) 80802b6: fba2 2303 umull r2, r3, r2, r3 80802ba: 0b5b lsrs r3, r3, #13 80802bc: b2db uxtb r3, r3 80802be: f887 33a2 strb.w r3, [r7, #930] ; 0x3a2 inner_iee = k % 100000 % 10000 / 1000; 80802c2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80802c6: 0953 lsrs r3, r2, #5 80802c8: 4962 ldr r1, [pc, #392] ; (8080454 ) 80802ca: fba1 1303 umull r1, r3, r1, r3 80802ce: 09db lsrs r3, r3, #7 80802d0: 4961 ldr r1, [pc, #388] ; (8080458 ) 80802d2: fb01 f303 mul.w r3, r1, r3 80802d6: 1ad3 subs r3, r2, r3 80802d8: 4a60 ldr r2, [pc, #384] ; (808045c ) 80802da: fba2 1203 umull r1, r2, r2, r3 80802de: 0b52 lsrs r2, r2, #13 80802e0: f242 7110 movw r1, #10000 ; 0x2710 80802e4: fb01 f202 mul.w r2, r1, r2 80802e8: 1a9a subs r2, r3, r2 80802ea: 4b5d ldr r3, [pc, #372] ; (8080460 ) 80802ec: fba3 2302 umull r2, r3, r3, r2 80802f0: 099b lsrs r3, r3, #6 80802f2: b2db uxtb r3, r3 80802f4: f887 33a1 strb.w r3, [r7, #929] ; 0x3a1 inner_ikd = k % 100000 % 10000 % 1000 / 100; 80802f8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80802fc: 095a lsrs r2, r3, #5 80802fe: 4955 ldr r1, [pc, #340] ; (8080454 ) 8080300: fba1 1202 umull r1, r2, r1, r2 8080304: 09d2 lsrs r2, r2, #7 8080306: 4954 ldr r1, [pc, #336] ; (8080458 ) 8080308: fb01 f202 mul.w r2, r1, r2 808030c: 1a9a subs r2, r3, r2 808030e: 4b53 ldr r3, [pc, #332] ; (808045c ) 8080310: fba3 1302 umull r1, r3, r3, r2 8080314: 0b5b lsrs r3, r3, #13 8080316: f242 7110 movw r1, #10000 ; 0x2710 808031a: fb01 f303 mul.w r3, r1, r3 808031e: 1ad3 subs r3, r2, r3 8080320: 4a4f ldr r2, [pc, #316] ; (8080460 ) 8080322: fba2 1203 umull r1, r2, r2, r3 8080326: 0992 lsrs r2, r2, #6 8080328: f44f 717a mov.w r1, #1000 ; 0x3e8 808032c: fb01 f202 mul.w r2, r1, r2 8080330: 1a9a subs r2, r3, r2 8080332: 4b4c ldr r3, [pc, #304] ; (8080464 ) 8080334: fba3 2302 umull r2, r3, r3, r2 8080338: 095b lsrs r3, r3, #5 808033a: b2db uxtb r3, r3 808033c: f887 33a0 strb.w r3, [r7, #928] ; 0x3a0 inner_iks = k % 100000 % 10000 % 1000 % 100 / 10; 8080340: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080344: 0953 lsrs r3, r2, #5 8080346: 4943 ldr r1, [pc, #268] ; (8080454 ) 8080348: fba1 1303 umull r1, r3, r1, r3 808034c: 09db lsrs r3, r3, #7 808034e: 4942 ldr r1, [pc, #264] ; (8080458 ) 8080350: fb01 f303 mul.w r3, r1, r3 8080354: 1ad3 subs r3, r2, r3 8080356: 4a41 ldr r2, [pc, #260] ; (808045c ) 8080358: fba2 1203 umull r1, r2, r2, r3 808035c: 0b52 lsrs r2, r2, #13 808035e: f242 7110 movw r1, #10000 ; 0x2710 8080362: fb01 f202 mul.w r2, r1, r2 8080366: 1a9a subs r2, r3, r2 8080368: 4b3d ldr r3, [pc, #244] ; (8080460 ) 808036a: fba3 1302 umull r1, r3, r3, r2 808036e: 099b lsrs r3, r3, #6 8080370: f44f 717a mov.w r1, #1000 ; 0x3e8 8080374: fb01 f303 mul.w r3, r1, r3 8080378: 1ad3 subs r3, r2, r3 808037a: 4a3a ldr r2, [pc, #232] ; (8080464 ) 808037c: fba2 1203 umull r1, r2, r2, r3 8080380: 0952 lsrs r2, r2, #5 8080382: 2164 movs r1, #100 ; 0x64 8080384: fb01 f202 mul.w r2, r1, r2 8080388: 1a9a subs r2, r3, r2 808038a: 4b2f ldr r3, [pc, #188] ; (8080448 ) 808038c: fba3 2302 umull r2, r3, r3, r2 8080390: 08db lsrs r3, r3, #3 8080392: b2db uxtb r3, r3 8080394: f887 339f strb.w r3, [r7, #927] ; 0x39f inner_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 8080398: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808039c: 0953 lsrs r3, r2, #5 808039e: 492d ldr r1, [pc, #180] ; (8080454 ) 80803a0: fba1 1303 umull r1, r3, r1, r3 80803a4: 09db lsrs r3, r3, #7 80803a6: 492c ldr r1, [pc, #176] ; (8080458 ) 80803a8: fb01 f303 mul.w r3, r1, r3 80803ac: 1ad3 subs r3, r2, r3 80803ae: 4a2b ldr r2, [pc, #172] ; (808045c ) 80803b0: fba2 1203 umull r1, r2, r2, r3 80803b4: 0b52 lsrs r2, r2, #13 80803b6: f242 7110 movw r1, #10000 ; 0x2710 80803ba: fb01 f202 mul.w r2, r1, r2 80803be: 1a9a subs r2, r3, r2 80803c0: 4b27 ldr r3, [pc, #156] ; (8080460 ) 80803c2: fba3 1302 umull r1, r3, r3, r2 80803c6: 099b lsrs r3, r3, #6 80803c8: f44f 717a mov.w r1, #1000 ; 0x3e8 80803cc: fb01 f303 mul.w r3, r1, r3 80803d0: 1ad3 subs r3, r2, r3 80803d2: 4a24 ldr r2, [pc, #144] ; (8080464 ) 80803d4: fba2 1203 umull r1, r2, r2, r3 80803d8: 0952 lsrs r2, r2, #5 80803da: 2164 movs r1, #100 ; 0x64 80803dc: fb01 f202 mul.w r2, r1, r2 80803e0: 1a9a subs r2, r3, r2 80803e2: 4b19 ldr r3, [pc, #100] ; (8080448 ) 80803e4: fba3 1302 umull r1, r3, r3, r2 80803e8: 08d9 lsrs r1, r3, #3 80803ea: 460b mov r3, r1 80803ec: 009b lsls r3, r3, #2 80803ee: 440b add r3, r1 80803f0: 005b lsls r3, r3, #1 80803f2: 1ad1 subs r1, r2, r3 80803f4: b2cb uxtb r3, r1 80803f6: f887 339e strb.w r3, [r7, #926] ; 0x39e i = 0; 80803fa: 2300 movs r3, #0 80803fc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_inner, 0, sizeof(str_inner)); 8080400: f507 7354 add.w r3, r7, #848 ; 0x350 8080404: 2214 movs r2, #20 8080406: 2100 movs r1, #0 8080408: 4618 mov r0, r3 808040a: f050 ffc9 bl 80d13a0 if(inner_ies != 0) 808040e: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8080412: b2db uxtb r3, r3 8080414: 2b00 cmp r3, #0 8080416: d00c beq.n 8080432 str_inner[i++] = inner_ies + 48; 8080418: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808041c: 1c5a adds r2, r3, #1 808041e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080422: f897 23a3 ldrb.w r2, [r7, #931] ; 0x3a3 8080426: b2d2 uxtb r2, r2 8080428: 3230 adds r2, #48 ; 0x30 808042a: b2d1 uxtb r1, r2 808042c: f507 7254 add.w r2, r7, #848 ; 0x350 8080430: 54d1 strb r1, [r2, r3] if((inner_ies != 0) || (inner_ied != 0)) 8080432: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8080436: b2db uxtb r3, r3 8080438: 2b00 cmp r3, #0 808043a: d115 bne.n 8080468 808043c: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8080440: b2db uxtb r3, r3 8080442: 2b00 cmp r3, #0 8080444: d01d beq.n 8080482 8080446: e00f b.n 8080468 8080448: cccccccd .word 0xcccccccd 808044c: 20023ea8 .word 0x20023ea8 8080450: 447a0000 .word 0x447a0000 8080454: 0a7c5ac5 .word 0x0a7c5ac5 8080458: 000186a0 .word 0x000186a0 808045c: d1b71759 .word 0xd1b71759 8080460: 10624dd3 .word 0x10624dd3 8080464: 51eb851f .word 0x51eb851f str_inner[i++] = inner_ied + 48; 8080468: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808046c: 1c5a adds r2, r3, #1 808046e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080472: f897 23a2 ldrb.w r2, [r7, #930] ; 0x3a2 8080476: b2d2 uxtb r2, r2 8080478: 3230 adds r2, #48 ; 0x30 808047a: b2d1 uxtb r1, r2 808047c: f507 7254 add.w r2, r7, #848 ; 0x350 8080480: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iee + 48; 8080482: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080486: 1c5a adds r2, r3, #1 8080488: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808048c: f897 23a1 ldrb.w r2, [r7, #929] ; 0x3a1 8080490: b2d2 uxtb r2, r2 8080492: 3230 adds r2, #48 ; 0x30 8080494: b2d1 uxtb r1, r2 8080496: f507 7254 add.w r2, r7, #848 ; 0x350 808049a: 54d1 strb r1, [r2, r3] str_inner[i++] = '.'; 808049c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80804a0: 1c5a adds r2, r3, #1 80804a2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80804a6: f507 7254 add.w r2, r7, #848 ; 0x350 80804aa: 212e movs r1, #46 ; 0x2e 80804ac: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikd + 48; 80804ae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80804b2: 1c5a adds r2, r3, #1 80804b4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80804b8: f897 23a0 ldrb.w r2, [r7, #928] ; 0x3a0 80804bc: b2d2 uxtb r2, r2 80804be: 3230 adds r2, #48 ; 0x30 80804c0: b2d1 uxtb r1, r2 80804c2: f507 7254 add.w r2, r7, #848 ; 0x350 80804c6: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iks + 48; 80804c8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80804cc: 1c5a adds r2, r3, #1 80804ce: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80804d2: f897 239f ldrb.w r2, [r7, #927] ; 0x39f 80804d6: b2d2 uxtb r2, r2 80804d8: 3230 adds r2, #48 ; 0x30 80804da: b2d1 uxtb r1, r2 80804dc: f507 7254 add.w r2, r7, #848 ; 0x350 80804e0: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikt + 48; 80804e2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80804e6: 1c5a adds r2, r3, #1 80804e8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80804ec: f897 239e ldrb.w r2, [r7, #926] ; 0x39e 80804f0: b2d2 uxtb r2, r2 80804f2: 3230 adds r2, #48 ; 0x30 80804f4: b2d1 uxtb r1, r2 80804f6: f507 7254 add.w r2, r7, #848 ; 0x350 80804fa: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_ANGLE * 1000.0f); 80804fc: 4bcd ldr r3, [pc, #820] ; (8080834 ) 80804fe: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 8080502: ed9f 7acd vldr s14, [pc, #820] ; 8080838 8080506: ee67 7a87 vmul.f32 s15, s15, s14 808050a: eefc 7ae7 vcvt.u32.f32 s15, s15 808050e: ee17 3a90 vmov r3, s15 8080512: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 angle_ies = k / 100000; 8080516: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808051a: 095b lsrs r3, r3, #5 808051c: 4ac7 ldr r2, [pc, #796] ; (808083c ) 808051e: fba2 2303 umull r2, r3, r2, r3 8080522: 09db lsrs r3, r3, #7 8080524: b2db uxtb r3, r3 8080526: f887 339b strb.w r3, [r7, #923] ; 0x39b angle_ied = k % 100000 / 10000; 808052a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808052e: 0953 lsrs r3, r2, #5 8080530: 49c2 ldr r1, [pc, #776] ; (808083c ) 8080532: fba1 1303 umull r1, r3, r1, r3 8080536: 09db lsrs r3, r3, #7 8080538: 49c1 ldr r1, [pc, #772] ; (8080840 ) 808053a: fb01 f303 mul.w r3, r1, r3 808053e: 1ad3 subs r3, r2, r3 8080540: 4ac0 ldr r2, [pc, #768] ; (8080844 ) 8080542: fba2 2303 umull r2, r3, r2, r3 8080546: 0b5b lsrs r3, r3, #13 8080548: b2db uxtb r3, r3 808054a: f887 339a strb.w r3, [r7, #922] ; 0x39a angle_iee = k % 100000 % 10000 / 1000; 808054e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080552: 0953 lsrs r3, r2, #5 8080554: 49b9 ldr r1, [pc, #740] ; (808083c ) 8080556: fba1 1303 umull r1, r3, r1, r3 808055a: 09db lsrs r3, r3, #7 808055c: 49b8 ldr r1, [pc, #736] ; (8080840 ) 808055e: fb01 f303 mul.w r3, r1, r3 8080562: 1ad3 subs r3, r2, r3 8080564: 4ab7 ldr r2, [pc, #732] ; (8080844 ) 8080566: fba2 1203 umull r1, r2, r2, r3 808056a: 0b52 lsrs r2, r2, #13 808056c: f242 7110 movw r1, #10000 ; 0x2710 8080570: fb01 f202 mul.w r2, r1, r2 8080574: 1a9a subs r2, r3, r2 8080576: 4bb4 ldr r3, [pc, #720] ; (8080848 ) 8080578: fba3 2302 umull r2, r3, r3, r2 808057c: 099b lsrs r3, r3, #6 808057e: b2db uxtb r3, r3 8080580: f887 3399 strb.w r3, [r7, #921] ; 0x399 angle_ikd = k % 100000 % 10000 % 1000 / 100; 8080584: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8080588: 095a lsrs r2, r3, #5 808058a: 49ac ldr r1, [pc, #688] ; (808083c ) 808058c: fba1 1202 umull r1, r2, r1, r2 8080590: 09d2 lsrs r2, r2, #7 8080592: 49ab ldr r1, [pc, #684] ; (8080840 ) 8080594: fb01 f202 mul.w r2, r1, r2 8080598: 1a9a subs r2, r3, r2 808059a: 4baa ldr r3, [pc, #680] ; (8080844 ) 808059c: fba3 1302 umull r1, r3, r3, r2 80805a0: 0b5b lsrs r3, r3, #13 80805a2: f242 7110 movw r1, #10000 ; 0x2710 80805a6: fb01 f303 mul.w r3, r1, r3 80805aa: 1ad3 subs r3, r2, r3 80805ac: 4aa6 ldr r2, [pc, #664] ; (8080848 ) 80805ae: fba2 1203 umull r1, r2, r2, r3 80805b2: 0992 lsrs r2, r2, #6 80805b4: f44f 717a mov.w r1, #1000 ; 0x3e8 80805b8: fb01 f202 mul.w r2, r1, r2 80805bc: 1a9a subs r2, r3, r2 80805be: 4ba3 ldr r3, [pc, #652] ; (808084c ) 80805c0: fba3 2302 umull r2, r3, r3, r2 80805c4: 095b lsrs r3, r3, #5 80805c6: b2db uxtb r3, r3 80805c8: f887 3398 strb.w r3, [r7, #920] ; 0x398 angle_iks = k % 100000 % 10000 % 1000 % 100 / 10; 80805cc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80805d0: 0953 lsrs r3, r2, #5 80805d2: 499a ldr r1, [pc, #616] ; (808083c ) 80805d4: fba1 1303 umull r1, r3, r1, r3 80805d8: 09db lsrs r3, r3, #7 80805da: 4999 ldr r1, [pc, #612] ; (8080840 ) 80805dc: fb01 f303 mul.w r3, r1, r3 80805e0: 1ad3 subs r3, r2, r3 80805e2: 4a98 ldr r2, [pc, #608] ; (8080844 ) 80805e4: fba2 1203 umull r1, r2, r2, r3 80805e8: 0b52 lsrs r2, r2, #13 80805ea: f242 7110 movw r1, #10000 ; 0x2710 80805ee: fb01 f202 mul.w r2, r1, r2 80805f2: 1a9a subs r2, r3, r2 80805f4: 4b94 ldr r3, [pc, #592] ; (8080848 ) 80805f6: fba3 1302 umull r1, r3, r3, r2 80805fa: 099b lsrs r3, r3, #6 80805fc: f44f 717a mov.w r1, #1000 ; 0x3e8 8080600: fb01 f303 mul.w r3, r1, r3 8080604: 1ad3 subs r3, r2, r3 8080606: 4a91 ldr r2, [pc, #580] ; (808084c ) 8080608: fba2 1203 umull r1, r2, r2, r3 808060c: 0952 lsrs r2, r2, #5 808060e: 2164 movs r1, #100 ; 0x64 8080610: fb01 f202 mul.w r2, r1, r2 8080614: 1a9a subs r2, r3, r2 8080616: 4b8e ldr r3, [pc, #568] ; (8080850 ) 8080618: fba3 2302 umull r2, r3, r3, r2 808061c: 08db lsrs r3, r3, #3 808061e: b2db uxtb r3, r3 8080620: f887 3397 strb.w r3, [r7, #919] ; 0x397 angle_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 8080624: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080628: 0953 lsrs r3, r2, #5 808062a: 4984 ldr r1, [pc, #528] ; (808083c ) 808062c: fba1 1303 umull r1, r3, r1, r3 8080630: 09db lsrs r3, r3, #7 8080632: 4983 ldr r1, [pc, #524] ; (8080840 ) 8080634: fb01 f303 mul.w r3, r1, r3 8080638: 1ad3 subs r3, r2, r3 808063a: 4a82 ldr r2, [pc, #520] ; (8080844 ) 808063c: fba2 1203 umull r1, r2, r2, r3 8080640: 0b52 lsrs r2, r2, #13 8080642: f242 7110 movw r1, #10000 ; 0x2710 8080646: fb01 f202 mul.w r2, r1, r2 808064a: 1a9a subs r2, r3, r2 808064c: 4b7e ldr r3, [pc, #504] ; (8080848 ) 808064e: fba3 1302 umull r1, r3, r3, r2 8080652: 099b lsrs r3, r3, #6 8080654: f44f 717a mov.w r1, #1000 ; 0x3e8 8080658: fb01 f303 mul.w r3, r1, r3 808065c: 1ad3 subs r3, r2, r3 808065e: 4a7b ldr r2, [pc, #492] ; (808084c ) 8080660: fba2 1203 umull r1, r2, r2, r3 8080664: 0952 lsrs r2, r2, #5 8080666: 2164 movs r1, #100 ; 0x64 8080668: fb01 f202 mul.w r2, r1, r2 808066c: 1a9a subs r2, r3, r2 808066e: 4b78 ldr r3, [pc, #480] ; (8080850 ) 8080670: fba3 1302 umull r1, r3, r3, r2 8080674: 08d9 lsrs r1, r3, #3 8080676: 460b mov r3, r1 8080678: 009b lsls r3, r3, #2 808067a: 440b add r3, r1 808067c: 005b lsls r3, r3, #1 808067e: 1ad1 subs r1, r2, r3 8080680: b2cb uxtb r3, r1 8080682: f887 3396 strb.w r3, [r7, #918] ; 0x396 i = 0; 8080686: 2300 movs r3, #0 8080688: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_angle, 0, sizeof(str_angle)); 808068c: f507 734f add.w r3, r7, #828 ; 0x33c 8080690: 2214 movs r2, #20 8080692: 2100 movs r1, #0 8080694: 4618 mov r0, r3 8080696: f050 fe83 bl 80d13a0 if(angle_ies != 0) 808069a: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 808069e: b2db uxtb r3, r3 80806a0: 2b00 cmp r3, #0 80806a2: d00c beq.n 80806be str_angle[i++] = angle_ies + 48; 80806a4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80806a8: 1c5a adds r2, r3, #1 80806aa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80806ae: f897 239b ldrb.w r2, [r7, #923] ; 0x39b 80806b2: b2d2 uxtb r2, r2 80806b4: 3230 adds r2, #48 ; 0x30 80806b6: b2d1 uxtb r1, r2 80806b8: f507 724f add.w r2, r7, #828 ; 0x33c 80806bc: 54d1 strb r1, [r2, r3] if((angle_ies != 0) || (angle_ied != 0)) 80806be: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 80806c2: b2db uxtb r3, r3 80806c4: 2b00 cmp r3, #0 80806c6: d104 bne.n 80806d2 80806c8: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 80806cc: b2db uxtb r3, r3 80806ce: 2b00 cmp r3, #0 80806d0: d00c beq.n 80806ec str_angle[i++] = angle_ied + 48; 80806d2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80806d6: 1c5a adds r2, r3, #1 80806d8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80806dc: f897 239a ldrb.w r2, [r7, #922] ; 0x39a 80806e0: b2d2 uxtb r2, r2 80806e2: 3230 adds r2, #48 ; 0x30 80806e4: b2d1 uxtb r1, r2 80806e6: f507 724f add.w r2, r7, #828 ; 0x33c 80806ea: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_iee + 48; 80806ec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80806f0: 1c5a adds r2, r3, #1 80806f2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80806f6: f897 2399 ldrb.w r2, [r7, #921] ; 0x399 80806fa: b2d2 uxtb r2, r2 80806fc: 3230 adds r2, #48 ; 0x30 80806fe: b2d1 uxtb r1, r2 8080700: f507 724f add.w r2, r7, #828 ; 0x33c 8080704: 54d1 strb r1, [r2, r3] str_angle[i++] = '.'; 8080706: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808070a: 1c5a adds r2, r3, #1 808070c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080710: f507 724f add.w r2, r7, #828 ; 0x33c 8080714: 212e movs r1, #46 ; 0x2e 8080716: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_ikd + 48; 8080718: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808071c: 1c5a adds r2, r3, #1 808071e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080722: f897 2398 ldrb.w r2, [r7, #920] ; 0x398 8080726: b2d2 uxtb r2, r2 8080728: 3230 adds r2, #48 ; 0x30 808072a: b2d1 uxtb r1, r2 808072c: f507 724f add.w r2, r7, #828 ; 0x33c 8080730: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_iks + 48; 8080732: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080736: 1c5a adds r2, r3, #1 8080738: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808073c: f897 2397 ldrb.w r2, [r7, #919] ; 0x397 8080740: b2d2 uxtb r2, r2 8080742: 3230 adds r2, #48 ; 0x30 8080744: b2d1 uxtb r1, r2 8080746: f507 724f add.w r2, r7, #828 ; 0x33c 808074a: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_ikt + 48; 808074c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8080750: 1c5a adds r2, r3, #1 8080752: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8080756: f897 2396 ldrb.w r2, [r7, #918] ; 0x396 808075a: b2d2 uxtb r2, r2 808075c: 3230 adds r2, #48 ; 0x30 808075e: b2d1 uxtb r1, r2 8080760: f507 724f add.w r2, r7, #828 ; 0x33c 8080764: 54d1 strb r1, [r2, r3] ///////////////////////////////////////////////////////////// k = pardata.D_RATE; 8080766: 4b33 ldr r3, [pc, #204] ; (8080834 ) 8080768: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 808076c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 rate_iet = k / 1000; 8080770: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8080774: 4a34 ldr r2, [pc, #208] ; (8080848 ) 8080776: fba2 2303 umull r2, r3, r2, r3 808077a: 099b lsrs r3, r3, #6 808077c: b2db uxtb r3, r3 808077e: f887 3394 strb.w r3, [r7, #916] ; 0x394 rate_ies = k % 1000 / 100; 8080782: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8080786: 4b30 ldr r3, [pc, #192] ; (8080848 ) 8080788: fba3 1302 umull r1, r3, r3, r2 808078c: 099b lsrs r3, r3, #6 808078e: f44f 717a mov.w r1, #1000 ; 0x3e8 8080792: fb01 f303 mul.w r3, r1, r3 8080796: 1ad3 subs r3, r2, r3 8080798: 4a2c ldr r2, [pc, #176] ; (808084c ) 808079a: fba2 2303 umull r2, r3, r2, r3 808079e: 095b lsrs r3, r3, #5 80807a0: b2db uxtb r3, r3 80807a2: f887 3393 strb.w r3, [r7, #915] ; 0x393 rate_ied = k % 1000 % 100 / 10; 80807a6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80807aa: 4b27 ldr r3, [pc, #156] ; (8080848 ) 80807ac: fba3 1302 umull r1, r3, r3, r2 80807b0: 099b lsrs r3, r3, #6 80807b2: f44f 717a mov.w r1, #1000 ; 0x3e8 80807b6: fb01 f303 mul.w r3, r1, r3 80807ba: 1ad3 subs r3, r2, r3 80807bc: 4a23 ldr r2, [pc, #140] ; (808084c ) 80807be: fba2 1203 umull r1, r2, r2, r3 80807c2: 0952 lsrs r2, r2, #5 80807c4: 2164 movs r1, #100 ; 0x64 80807c6: fb01 f202 mul.w r2, r1, r2 80807ca: 1a9a subs r2, r3, r2 80807cc: 4b20 ldr r3, [pc, #128] ; (8080850 ) 80807ce: fba3 2302 umull r2, r3, r3, r2 80807d2: 08db lsrs r3, r3, #3 80807d4: b2db uxtb r3, r3 80807d6: f887 3392 strb.w r3, [r7, #914] ; 0x392 rate_iee = k % 1000 % 100 % 10; 80807da: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80807de: 4b1a ldr r3, [pc, #104] ; (8080848 ) 80807e0: fba3 1302 umull r1, r3, r3, r2 80807e4: 099b lsrs r3, r3, #6 80807e6: f44f 717a mov.w r1, #1000 ; 0x3e8 80807ea: fb01 f303 mul.w r3, r1, r3 80807ee: 1ad3 subs r3, r2, r3 80807f0: 4a16 ldr r2, [pc, #88] ; (808084c ) 80807f2: fba2 1203 umull r1, r2, r2, r3 80807f6: 0952 lsrs r2, r2, #5 80807f8: 2164 movs r1, #100 ; 0x64 80807fa: fb01 f202 mul.w r2, r1, r2 80807fe: 1a9a subs r2, r3, r2 8080800: 4b13 ldr r3, [pc, #76] ; (8080850 ) 8080802: fba3 1302 umull r1, r3, r3, r2 8080806: 08d9 lsrs r1, r3, #3 8080808: 460b mov r3, r1 808080a: 009b lsls r3, r3, #2 808080c: 440b add r3, r1 808080e: 005b lsls r3, r3, #1 8080810: 1ad1 subs r1, r2, r3 8080812: b2cb uxtb r3, r1 8080814: f887 3391 strb.w r3, [r7, #913] ; 0x391 memset(str_rate, 0, sizeof(str_rate)); 8080818: f507 734a add.w r3, r7, #808 ; 0x328 808081c: 2214 movs r2, #20 808081e: 2100 movs r1, #0 8080820: 4618 mov r0, r3 8080822: f050 fdbd bl 80d13a0 if(k >= 1000) 8080826: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808082a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 808082e: d332 bcc.n 8080896 8080830: e010 b.n 8080854 8080832: bf00 nop 8080834: 20023ea8 .word 0x20023ea8 8080838: 447a0000 .word 0x447a0000 808083c: 0a7c5ac5 .word 0x0a7c5ac5 8080840: 000186a0 .word 0x000186a0 8080844: d1b71759 .word 0xd1b71759 8080848: 10624dd3 .word 0x10624dd3 808084c: 51eb851f .word 0x51eb851f 8080850: cccccccd .word 0xcccccccd { str_rate[0] = rate_iet + 48; 8080854: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8080858: b2db uxtb r3, r3 808085a: 3330 adds r3, #48 ; 0x30 808085c: b2da uxtb r2, r3 808085e: f507 734a add.w r3, r7, #808 ; 0x328 8080862: 701a strb r2, [r3, #0] str_rate[1] = rate_ies + 48; 8080864: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 8080868: b2db uxtb r3, r3 808086a: 3330 adds r3, #48 ; 0x30 808086c: b2da uxtb r2, r3 808086e: f507 734a add.w r3, r7, #808 ; 0x328 8080872: 705a strb r2, [r3, #1] str_rate[2] = rate_ied + 48; 8080874: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8080878: b2db uxtb r3, r3 808087a: 3330 adds r3, #48 ; 0x30 808087c: b2da uxtb r2, r3 808087e: f507 734a add.w r3, r7, #808 ; 0x328 8080882: 709a strb r2, [r3, #2] str_rate[3] = rate_iee + 48; 8080884: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8080888: b2db uxtb r3, r3 808088a: 3330 adds r3, #48 ; 0x30 808088c: b2da uxtb r2, r3 808088e: f507 734a add.w r3, r7, #808 ; 0x328 8080892: 70da strb r2, [r3, #3] 8080894: e039 b.n 808090a } else if(k >= 100) 8080896: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808089a: 2b63 cmp r3, #99 ; 0x63 808089c: d918 bls.n 80808d0 { str_rate[0] = rate_ies + 48; 808089e: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 80808a2: b2db uxtb r3, r3 80808a4: 3330 adds r3, #48 ; 0x30 80808a6: b2da uxtb r2, r3 80808a8: f507 734a add.w r3, r7, #808 ; 0x328 80808ac: 701a strb r2, [r3, #0] str_rate[1] = rate_ied + 48; 80808ae: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 80808b2: b2db uxtb r3, r3 80808b4: 3330 adds r3, #48 ; 0x30 80808b6: b2da uxtb r2, r3 80808b8: f507 734a add.w r3, r7, #808 ; 0x328 80808bc: 705a strb r2, [r3, #1] str_rate[2] = rate_iee + 48; 80808be: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 80808c2: b2db uxtb r3, r3 80808c4: 3330 adds r3, #48 ; 0x30 80808c6: b2da uxtb r2, r3 80808c8: f507 734a add.w r3, r7, #808 ; 0x328 80808cc: 709a strb r2, [r3, #2] 80808ce: e01c b.n 808090a } else if(k >= 10) 80808d0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80808d4: 2b09 cmp r3, #9 80808d6: d910 bls.n 80808fa { str_rate[0] = rate_ied + 48; 80808d8: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 80808dc: b2db uxtb r3, r3 80808de: 3330 adds r3, #48 ; 0x30 80808e0: b2da uxtb r2, r3 80808e2: f507 734a add.w r3, r7, #808 ; 0x328 80808e6: 701a strb r2, [r3, #0] str_rate[1] = rate_iee + 48; 80808e8: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 80808ec: b2db uxtb r3, r3 80808ee: 3330 adds r3, #48 ; 0x30 80808f0: b2da uxtb r2, r3 80808f2: f507 734a add.w r3, r7, #808 ; 0x328 80808f6: 705a strb r2, [r3, #1] 80808f8: e007 b.n 808090a } else str_rate[0] = rate_iee + 48; 80808fa: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 80808fe: b2db uxtb r3, r3 8080900: 3330 adds r3, #48 ; 0x30 8080902: b2da uxtb r2, r3 8080904: f507 734a add.w r3, r7, #808 ; 0x328 8080908: 701a strb r2, [r3, #0] //////////////////////////////////////////////////////////// memset(str1, 0, sizeof(str1)); 808090a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808090e: f44f 7280 mov.w r2, #256 ; 0x100 8080912: 2100 movs r1, #0 8080914: 4618 mov r0, r3 8080916: f050 fd43 bl 80d13a0 if(pardata.ROLL_COUNT < 10) 808091a: 4bc3 ldr r3, [pc, #780] ; (8080c28 ) 808091c: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8080920: 2b09 cmp r3, #9 8080922: d809 bhi.n 8080938 str1[0] = (char) pardata.ROLL_COUNT + 48; 8080924: 4bc0 ldr r3, [pc, #768] ; (8080c28 ) 8080926: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 808092a: b2db uxtb r3, r3 808092c: 3330 adds r3, #48 ; 0x30 808092e: b2da uxtb r2, r3 8080930: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080934: 701a strb r2, [r3, #0] 8080936: e01e b.n 8080976 else { str1[0] = (char) ((pardata.ROLL_COUNT / 10) + 48); 8080938: 4bbb ldr r3, [pc, #748] ; (8080c28 ) 808093a: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 808093e: 4abb ldr r2, [pc, #748] ; (8080c2c ) 8080940: fba2 2303 umull r2, r3, r2, r3 8080944: 08db lsrs r3, r3, #3 8080946: b2db uxtb r3, r3 8080948: 3330 adds r3, #48 ; 0x30 808094a: b2da uxtb r2, r3 808094c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080950: 701a strb r2, [r3, #0] str1[1] = (char) ((pardata.ROLL_COUNT % 10) + 48); 8080952: 4bb5 ldr r3, [pc, #724] ; (8080c28 ) 8080954: f8d3 10bc ldr.w r1, [r3, #188] ; 0xbc 8080958: 4bb4 ldr r3, [pc, #720] ; (8080c2c ) 808095a: fba3 2301 umull r2, r3, r3, r1 808095e: 08da lsrs r2, r3, #3 8080960: 4613 mov r3, r2 8080962: 009b lsls r3, r3, #2 8080964: 4413 add r3, r2 8080966: 005b lsls r3, r3, #1 8080968: 1aca subs r2, r1, r3 808096a: b2d3 uxtb r3, r2 808096c: 3330 adds r3, #48 ; 0x30 808096e: b2da uxtb r2, r3 8080970: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080974: 705a strb r2, [r3, #1] } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080976: 49ae ldr r1, [pc, #696] ; (8080c30 ) 8080978: f04f 30ff mov.w r0, #4294967295 808097c: f7d3 fe48 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_PARAM_ROLL[pardata.LANG][0]); //"Êîë-âî òåë êà÷åíèÿ" 8080980: 4ba9 ldr r3, [pc, #676] ; (8080c28 ) 8080982: 7b1b ldrb r3, [r3, #12] 8080984: b2db uxtb r3, r3 8080986: 4619 mov r1, r3 8080988: 4aaa ldr r2, [pc, #680] ; (8080c34 ) 808098a: 460b mov r3, r1 808098c: 00db lsls r3, r3, #3 808098e: 440b add r3, r1 8080990: 009b lsls r3, r3, #2 8080992: 4413 add r3, r2 8080994: 681b ldr r3, [r3, #0] 8080996: 461a mov r2, r3 8080998: 214a movs r1, #74 ; 0x4a 808099a: 200a movs r0, #10 808099c: f7d4 fbe0 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_PARAM_ROLL[pardata.LANG][1]); //"d òåë êà÷åíèÿ (ìì)" 80809a0: 4ba1 ldr r3, [pc, #644] ; (8080c28 ) 80809a2: 7b1b ldrb r3, [r3, #12] 80809a4: b2db uxtb r3, r3 80809a6: 4619 mov r1, r3 80809a8: 4aa2 ldr r2, [pc, #648] ; (8080c34 ) 80809aa: 460b mov r3, r1 80809ac: 00db lsls r3, r3, #3 80809ae: 440b add r3, r1 80809b0: 009b lsls r3, r3, #2 80809b2: 4413 add r3, r2 80809b4: 3304 adds r3, #4 80809b6: 681b ldr r3, [r3, #0] 80809b8: 461a mov r2, r3 80809ba: 215a movs r1, #90 ; 0x5a 80809bc: 200a movs r0, #10 80809be: f7d4 fbcf bl 8055160 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_ROLL[pardata.LANG][2]); //"Âíåø.d (ìì)" 80809c2: 4b99 ldr r3, [pc, #612] ; (8080c28 ) 80809c4: 7b1b ldrb r3, [r3, #12] 80809c6: b2db uxtb r3, r3 80809c8: 4619 mov r1, r3 80809ca: 4a9a ldr r2, [pc, #616] ; (8080c34 ) 80809cc: 460b mov r3, r1 80809ce: 00db lsls r3, r3, #3 80809d0: 440b add r3, r1 80809d2: 009b lsls r3, r3, #2 80809d4: 4413 add r3, r2 80809d6: 3308 adds r3, #8 80809d8: 681b ldr r3, [r3, #0] 80809da: 461a mov r2, r3 80809dc: 216a movs r1, #106 ; 0x6a 80809de: 200a movs r0, #10 80809e0: f7d4 fbbe bl 8055160 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_ROLL[pardata.LANG][3]); //"Âíóòð.d (ìì)" 80809e4: 4b90 ldr r3, [pc, #576] ; (8080c28 ) 80809e6: 7b1b ldrb r3, [r3, #12] 80809e8: b2db uxtb r3, r3 80809ea: 4619 mov r1, r3 80809ec: 4a91 ldr r2, [pc, #580] ; (8080c34 ) 80809ee: 460b mov r3, r1 80809f0: 00db lsls r3, r3, #3 80809f2: 440b add r3, r1 80809f4: 009b lsls r3, r3, #2 80809f6: 4413 add r3, r2 80809f8: 330c adds r3, #12 80809fa: 681b ldr r3, [r3, #0] 80809fc: 461a mov r2, r3 80809fe: 217a movs r1, #122 ; 0x7a 8080a00: 200a movs r0, #10 8080a02: f7d4 fbad bl 8055160 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_PARAM_ROLL[pardata.LANG][4]); //"Óãîë óñòàíîâ.(ãðàä)" 8080a06: 4b88 ldr r3, [pc, #544] ; (8080c28 ) 8080a08: 7b1b ldrb r3, [r3, #12] 8080a0a: b2db uxtb r3, r3 8080a0c: 4619 mov r1, r3 8080a0e: 4a89 ldr r2, [pc, #548] ; (8080c34 ) 8080a10: 460b mov r3, r1 8080a12: 00db lsls r3, r3, #3 8080a14: 440b add r3, r1 8080a16: 009b lsls r3, r3, #2 8080a18: 4413 add r3, r2 8080a1a: 3310 adds r3, #16 8080a1c: 681b ldr r3, [r3, #0] 8080a1e: 461a mov r2, r3 8080a20: 218a movs r1, #138 ; 0x8a 8080a22: 200a movs r0, #10 8080a24: f7d4 fb9c bl 8055160 LCD_DisplayString(10, LCD_LINE_9, (char *)TEXT_PARAM_ROLL[pardata.LANG][5]); //"Óñðåäíåíèå(êîë-âî)" 8080a28: 4b7f ldr r3, [pc, #508] ; (8080c28 ) 8080a2a: 7b1b ldrb r3, [r3, #12] 8080a2c: b2db uxtb r3, r3 8080a2e: 4619 mov r1, r3 8080a30: 4a80 ldr r2, [pc, #512] ; (8080c34 ) 8080a32: 460b mov r3, r1 8080a34: 00db lsls r3, r3, #3 8080a36: 440b add r3, r1 8080a38: 009b lsls r3, r3, #2 8080a3a: 4413 add r3, r2 8080a3c: 3314 adds r3, #20 8080a3e: 681b ldr r3, [r3, #0] 8080a40: 461a mov r2, r3 8080a42: 219a movs r1, #154 ; 0x9a 8080a44: 200a movs r0, #10 8080a46: f7d4 fb8b bl 8055160 LCD_DisplayString(10, LCD_LINE_10, (char *)TEXT_PARAM_ROLL[pardata.LANG][6]); //"Àâòîóñèëåíèå" 8080a4a: 4b77 ldr r3, [pc, #476] ; (8080c28 ) 8080a4c: 7b1b ldrb r3, [r3, #12] 8080a4e: b2db uxtb r3, r3 8080a50: 4619 mov r1, r3 8080a52: 4a78 ldr r2, [pc, #480] ; (8080c34 ) 8080a54: 460b mov r3, r1 8080a56: 00db lsls r3, r3, #3 8080a58: 440b add r3, r1 8080a5a: 009b lsls r3, r3, #2 8080a5c: 4413 add r3, r2 8080a5e: 3318 adds r3, #24 8080a60: 681b ldr r3, [r3, #0] 8080a62: 461a mov r2, r3 8080a64: 21aa movs r1, #170 ; 0xaa 8080a66: 200a movs r0, #10 8080a68: f7d4 fb7a bl 8055160 LCD_DisplayString(10, LCD_LINE_12, (char *)TEXT_PARAM_ROLL[pardata.LANG][8]); //"×àñòîòà âðàù.(îá/ìèí)" 8080a6c: 4b6e ldr r3, [pc, #440] ; (8080c28 ) 8080a6e: 7b1b ldrb r3, [r3, #12] 8080a70: b2db uxtb r3, r3 8080a72: 4619 mov r1, r3 8080a74: 4a6f ldr r2, [pc, #444] ; (8080c34 ) 8080a76: 460b mov r3, r1 8080a78: 00db lsls r3, r3, #3 8080a7a: 440b add r3, r1 8080a7c: 009b lsls r3, r3, #2 8080a7e: 4413 add r3, r2 8080a80: 3320 adds r3, #32 8080a82: 681b ldr r3, [r3, #0] 8080a84: 461a mov r2, r3 8080a86: 21ca movs r1, #202 ; 0xca 8080a88: 200a movs r0, #10 8080a8a: f7d4 fb69 bl 8055160 if(menupos == RollAutoKu) 8080a8e: 4b6a ldr r3, [pc, #424] ; (8080c38 ) 8080a90: 781b ldrb r3, [r3, #0] 8080a92: b2db uxtb r3, r3 8080a94: 2b07 cmp r3, #7 8080a96: d10a bne.n 8080aae { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080a98: 4965 ldr r1, [pc, #404] ; (8080c30 ) 8080a9a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080a9e: f7d3 fdb7 bl 8054610 BSP_LCD_FillRect(253, 171, 14, 14); 8080aa2: 230e movs r3, #14 8080aa4: 220e movs r2, #14 8080aa6: 21ab movs r1, #171 ; 0xab 8080aa8: 20fd movs r0, #253 ; 0xfd 8080aaa: f7d4 fa3f bl 8054f2c } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080aae: 4960 ldr r1, [pc, #384] ; (8080c30 ) 8080ab0: f04f 30ff mov.w r0, #4294967295 8080ab4: f7d3 fdac bl 8054610 BSP_LCD_FillRect(255, 173, 10, 10); 8080ab8: 230a movs r3, #10 8080aba: 220a movs r2, #10 8080abc: 21ad movs r1, #173 ; 0xad 8080abe: 20ff movs r0, #255 ; 0xff 8080ac0: f7d4 fa34 bl 8054f2c if(menupos == Ok) 8080ac4: 4b5c ldr r3, [pc, #368] ; (8080c38 ) 8080ac6: 781b ldrb r3, [r3, #0] 8080ac8: b2db uxtb r3, r3 8080aca: 2b00 cmp r3, #0 8080acc: f040 80df bne.w 8080c8e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080ad0: 4957 ldr r1, [pc, #348] ; (8080c30 ) 8080ad2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080ad6: f7d3 fd9b bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8080ada: 4b53 ldr r3, [pc, #332] ; (8080c28 ) 8080adc: 7b1b ldrb r3, [r3, #12] 8080ade: b2db uxtb r3, r3 8080ae0: 461a mov r2, r3 8080ae2: 4b56 ldr r3, [pc, #344] ; (8080c3c ) 8080ae4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080ae8: 461a mov r2, r3 8080aea: 213a movs r1, #58 ; 0x3a 8080aec: 200a movs r0, #10 8080aee: f7d4 fb37 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080af2: 494f ldr r1, [pc, #316] ; (8080c30 ) 8080af4: 4852 ldr r0, [pc, #328] ; (8080c40 ) 8080af6: f7d3 fd8b bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 8080afa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080afe: 461a mov r2, r3 8080b00: 214a movs r1, #74 ; 0x4a 8080b02: f44f 7082 mov.w r0, #260 ; 0x104 8080b06: f7d4 fb43 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080b0a: f507 735e add.w r3, r7, #888 ; 0x378 8080b0e: 461a mov r2, r3 8080b10: 215a movs r1, #90 ; 0x5a 8080b12: f44f 7082 mov.w r0, #260 ; 0x104 8080b16: f7d4 fb3b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080b1a: f507 7359 add.w r3, r7, #868 ; 0x364 8080b1e: 461a mov r2, r3 8080b20: 216a movs r1, #106 ; 0x6a 8080b22: f44f 7082 mov.w r0, #260 ; 0x104 8080b26: f7d4 fb33 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8080b2a: f507 7354 add.w r3, r7, #848 ; 0x350 8080b2e: 461a mov r2, r3 8080b30: 217a movs r1, #122 ; 0x7a 8080b32: f44f 7082 mov.w r0, #260 ; 0x104 8080b36: f7d4 fb2b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8080b3a: f507 734f add.w r3, r7, #828 ; 0x33c 8080b3e: 461a mov r2, r3 8080b40: 218a movs r1, #138 ; 0x8a 8080b42: f44f 7082 mov.w r0, #260 ; 0x104 8080b46: f7d4 fb23 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8080b4a: 4b37 ldr r3, [pc, #220] ; (8080c28 ) 8080b4c: 7b5b ldrb r3, [r3, #13] 8080b4e: b2db uxtb r3, r3 8080b50: 461a mov r2, r3 8080b52: 4b3c ldr r3, [pc, #240] ; (8080c44 ) 8080b54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080b58: 461a mov r2, r3 8080b5a: 219a movs r1, #154 ; 0x9a 8080b5c: f44f 7082 mov.w r0, #260 ; 0x104 8080b60: f7d4 fb16 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8080b64: f507 734a add.w r3, r7, #808 ; 0x328 8080b68: 461a mov r2, r3 8080b6a: 21ca movs r1, #202 ; 0xca 8080b6c: f44f 7082 mov.w r0, #260 ; 0x104 8080b70: f7d4 fb0e bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8080b74: 4b2c ldr r3, [pc, #176] ; (8080c28 ) 8080b76: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8080b7a: f003 0304 and.w r3, r3, #4 8080b7e: 2b00 cmp r3, #0 8080b80: d035 beq.n 8080bee { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8080b82: 492b ldr r1, [pc, #172] ; (8080c30 ) 8080b84: 4830 ldr r0, [pc, #192] ; (8080c48 ) 8080b86: f7d3 fd43 bl 8054610 if(pardata.IIN != VOLTS) 8080b8a: 4b27 ldr r3, [pc, #156] ; (8080c28 ) 8080b8c: 799b ldrb r3, [r3, #6] 8080b8e: b2db uxtb r3, r3 8080b90: 2b02 cmp r3, #2 8080b92: d011 beq.n 8080bb8 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080b94: 4b24 ldr r3, [pc, #144] ; (8080c28 ) 8080b96: 7b1b ldrb r3, [r3, #12] 8080b98: b2db uxtb r3, r3 8080b9a: 4619 mov r1, r3 8080b9c: 4a25 ldr r2, [pc, #148] ; (8080c34 ) 8080b9e: 460b mov r3, r1 8080ba0: 00db lsls r3, r3, #3 8080ba2: 440b add r3, r1 8080ba4: 009b lsls r3, r3, #2 8080ba6: 4413 add r3, r2 8080ba8: 331c adds r3, #28 8080baa: 681b ldr r3, [r3, #0] 8080bac: 461a mov r2, r3 8080bae: 21ba movs r1, #186 ; 0xba 8080bb0: 200a movs r0, #10 8080bb2: f7d4 fad5 bl 8055160 8080bb6: e010 b.n 8080bda else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080bb8: 4b1b ldr r3, [pc, #108] ; (8080c28 ) 8080bba: 7b1b ldrb r3, [r3, #12] 8080bbc: b2db uxtb r3, r3 8080bbe: 4619 mov r1, r3 8080bc0: 4a22 ldr r2, [pc, #136] ; (8080c4c ) 8080bc2: 460b mov r3, r1 8080bc4: 00db lsls r3, r3, #3 8080bc6: 440b add r3, r1 8080bc8: 009b lsls r3, r3, #2 8080bca: 4413 add r3, r2 8080bcc: 331c adds r3, #28 8080bce: 681b ldr r3, [r3, #0] 8080bd0: 461a mov r2, r3 8080bd2: 21ba movs r1, #186 ; 0xba 8080bd4: 200a movs r0, #10 8080bd6: f7d4 fac3 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_11, str); 8080bda: f507 733b add.w r3, r7, #748 ; 0x2ec 8080bde: 461a mov r2, r3 8080be0: 21ba movs r1, #186 ; 0xba 8080be2: f44f 7082 mov.w r0, #260 ; 0x104 8080be6: f7d4 fad3 bl 8055190 8080bea: f002 beeb b.w 80839c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080bee: 4910 ldr r1, [pc, #64] ; (8080c30 ) 8080bf0: f04f 30ff mov.w r0, #4294967295 8080bf4: f7d3 fd0c bl 8054610 if(pardata.IIN != VOLTS) 8080bf8: 4b0b ldr r3, [pc, #44] ; (8080c28 ) 8080bfa: 799b ldrb r3, [r3, #6] 8080bfc: b2db uxtb r3, r3 8080bfe: 2b02 cmp r3, #2 8080c00: d026 beq.n 8080c50 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080c02: 4b09 ldr r3, [pc, #36] ; (8080c28 ) 8080c04: 7b1b ldrb r3, [r3, #12] 8080c06: b2db uxtb r3, r3 8080c08: 4619 mov r1, r3 8080c0a: 4a0a ldr r2, [pc, #40] ; (8080c34 ) 8080c0c: 460b mov r3, r1 8080c0e: 00db lsls r3, r3, #3 8080c10: 440b add r3, r1 8080c12: 009b lsls r3, r3, #2 8080c14: 4413 add r3, r2 8080c16: 331c adds r3, #28 8080c18: 681b ldr r3, [r3, #0] 8080c1a: 461a mov r2, r3 8080c1c: 21ba movs r1, #186 ; 0xba 8080c1e: 200a movs r0, #10 8080c20: f7d4 fa9e bl 8055160 8080c24: e025 b.n 8080c72 8080c26: bf00 nop 8080c28: 20023ea8 .word 0x20023ea8 8080c2c: cccccccd .word 0xcccccccd 8080c30: ff0a0f1f .word 0xff0a0f1f 8080c34: 2002076c .word 0x2002076c 8080c38: 20020070 .word 0x20020070 8080c3c: 200205cc .word 0x200205cc 8080c40: ffd8aa57 .word 0xffd8aa57 8080c44: 2002022c .word 0x2002022c 8080c48: ff808080 .word 0xff808080 8080c4c: 200207b4 .word 0x200207b4 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080c50: 4bcf ldr r3, [pc, #828] ; (8080f90 ) 8080c52: 7b1b ldrb r3, [r3, #12] 8080c54: b2db uxtb r3, r3 8080c56: 4619 mov r1, r3 8080c58: 4ace ldr r2, [pc, #824] ; (8080f94 ) 8080c5a: 460b mov r3, r1 8080c5c: 00db lsls r3, r3, #3 8080c5e: 440b add r3, r1 8080c60: 009b lsls r3, r3, #2 8080c62: 4413 add r3, r2 8080c64: 331c adds r3, #28 8080c66: 681b ldr r3, [r3, #0] 8080c68: 461a mov r2, r3 8080c6a: 21ba movs r1, #186 ; 0xba 8080c6c: 200a movs r0, #10 8080c6e: f7d4 fa77 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080c72: 49c9 ldr r1, [pc, #804] ; (8080f98 ) 8080c74: 48c9 ldr r0, [pc, #804] ; (8080f9c ) 8080c76: f7d3 fccb bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, str); 8080c7a: f507 733b add.w r3, r7, #748 ; 0x2ec 8080c7e: 461a mov r2, r3 8080c80: 21ba movs r1, #186 ; 0xba 8080c82: f44f 7082 mov.w r0, #260 ; 0x104 8080c86: f7d4 fa83 bl 8055190 8080c8a: f002 be9b b.w 80839c4 } } else if(menupos == RollCount) 8080c8e: 4bc4 ldr r3, [pc, #784] ; (8080fa0 ) 8080c90: 781b ldrb r3, [r3, #0] 8080c92: b2db uxtb r3, r3 8080c94: 2b01 cmp r3, #1 8080c96: f040 80e1 bne.w 8080e5c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080c9a: 49bf ldr r1, [pc, #764] ; (8080f98 ) 8080c9c: f04f 30ff mov.w r0, #4294967295 8080ca0: f7d3 fcb6 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8080ca4: 4bba ldr r3, [pc, #744] ; (8080f90 ) 8080ca6: 7b1b ldrb r3, [r3, #12] 8080ca8: b2db uxtb r3, r3 8080caa: 461a mov r2, r3 8080cac: 4bbd ldr r3, [pc, #756] ; (8080fa4 ) 8080cae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080cb2: 461a mov r2, r3 8080cb4: 213a movs r1, #58 ; 0x3a 8080cb6: 200a movs r0, #10 8080cb8: f7d4 fa52 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080cbc: 49b6 ldr r1, [pc, #728] ; (8080f98 ) 8080cbe: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080cc2: f7d3 fca5 bl 8054610 if(focused) 8080cc6: 4bb8 ldr r3, [pc, #736] ; (8080fa8 ) 8080cc8: 781b ldrb r3, [r3, #0] 8080cca: b2db uxtb r3, r3 8080ccc: 2b00 cmp r3, #0 8080cce: d00c beq.n 8080cea { if(blk) 8080cd0: 4bb6 ldr r3, [pc, #728] ; (8080fac ) 8080cd2: 681b ldr r3, [r3, #0] 8080cd4: 2b00 cmp r3, #0 8080cd6: d010 beq.n 8080cfa LCD_DisplayStringC(260, LCD_LINE_4, str1); 8080cd8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080cdc: 461a mov r2, r3 8080cde: 214a movs r1, #74 ; 0x4a 8080ce0: f44f 7082 mov.w r0, #260 ; 0x104 8080ce4: f7d4 fa54 bl 8055190 8080ce8: e007 b.n 8080cfa } else LCD_DisplayStringC(260, LCD_LINE_4, str1); 8080cea: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080cee: 461a mov r2, r3 8080cf0: 214a movs r1, #74 ; 0x4a 8080cf2: f44f 7082 mov.w r0, #260 ; 0x104 8080cf6: f7d4 fa4b bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080cfa: 49a7 ldr r1, [pc, #668] ; (8080f98 ) 8080cfc: 48a7 ldr r0, [pc, #668] ; (8080f9c ) 8080cfe: f7d3 fc87 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080d02: f507 735e add.w r3, r7, #888 ; 0x378 8080d06: 461a mov r2, r3 8080d08: 215a movs r1, #90 ; 0x5a 8080d0a: f44f 7082 mov.w r0, #260 ; 0x104 8080d0e: f7d4 fa3f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080d12: f507 7359 add.w r3, r7, #868 ; 0x364 8080d16: 461a mov r2, r3 8080d18: 216a movs r1, #106 ; 0x6a 8080d1a: f44f 7082 mov.w r0, #260 ; 0x104 8080d1e: f7d4 fa37 bl 8055190 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: f7d4 fa2f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8080d32: f507 734f add.w r3, r7, #828 ; 0x33c 8080d36: 461a mov r2, r3 8080d38: 218a movs r1, #138 ; 0x8a 8080d3a: f44f 7082 mov.w r0, #260 ; 0x104 8080d3e: f7d4 fa27 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8080d42: 4b93 ldr r3, [pc, #588] ; (8080f90 ) 8080d44: 7b5b ldrb r3, [r3, #13] 8080d46: b2db uxtb r3, r3 8080d48: 461a mov r2, r3 8080d4a: 4b99 ldr r3, [pc, #612] ; (8080fb0 ) 8080d4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080d50: 461a mov r2, r3 8080d52: 219a movs r1, #154 ; 0x9a 8080d54: f44f 7082 mov.w r0, #260 ; 0x104 8080d58: f7d4 fa1a bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8080d5c: f507 734a add.w r3, r7, #808 ; 0x328 8080d60: 461a mov r2, r3 8080d62: 21ca movs r1, #202 ; 0xca 8080d64: f44f 7082 mov.w r0, #260 ; 0x104 8080d68: f7d4 fa12 bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8080d6c: 4b88 ldr r3, [pc, #544] ; (8080f90 ) 8080d6e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8080d72: f003 0304 and.w r3, r3, #4 8080d76: 2b00 cmp r3, #0 8080d78: d035 beq.n 8080de6 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8080d7a: 4987 ldr r1, [pc, #540] ; (8080f98 ) 8080d7c: 488d ldr r0, [pc, #564] ; (8080fb4 ) 8080d7e: f7d3 fc47 bl 8054610 if(pardata.IIN != VOLTS) 8080d82: 4b83 ldr r3, [pc, #524] ; (8080f90 ) 8080d84: 799b ldrb r3, [r3, #6] 8080d86: b2db uxtb r3, r3 8080d88: 2b02 cmp r3, #2 8080d8a: d011 beq.n 8080db0 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080d8c: 4b80 ldr r3, [pc, #512] ; (8080f90 ) 8080d8e: 7b1b ldrb r3, [r3, #12] 8080d90: b2db uxtb r3, r3 8080d92: 4619 mov r1, r3 8080d94: 4a88 ldr r2, [pc, #544] ; (8080fb8 ) 8080d96: 460b mov r3, r1 8080d98: 00db lsls r3, r3, #3 8080d9a: 440b add r3, r1 8080d9c: 009b lsls r3, r3, #2 8080d9e: 4413 add r3, r2 8080da0: 331c adds r3, #28 8080da2: 681b ldr r3, [r3, #0] 8080da4: 461a mov r2, r3 8080da6: 21ba movs r1, #186 ; 0xba 8080da8: 200a movs r0, #10 8080daa: f7d4 f9d9 bl 8055160 8080dae: e010 b.n 8080dd2 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080db0: 4b77 ldr r3, [pc, #476] ; (8080f90 ) 8080db2: 7b1b ldrb r3, [r3, #12] 8080db4: b2db uxtb r3, r3 8080db6: 4619 mov r1, r3 8080db8: 4a76 ldr r2, [pc, #472] ; (8080f94 ) 8080dba: 460b mov r3, r1 8080dbc: 00db lsls r3, r3, #3 8080dbe: 440b add r3, r1 8080dc0: 009b lsls r3, r3, #2 8080dc2: 4413 add r3, r2 8080dc4: 331c adds r3, #28 8080dc6: 681b ldr r3, [r3, #0] 8080dc8: 461a mov r2, r3 8080dca: 21ba movs r1, #186 ; 0xba 8080dcc: 200a movs r0, #10 8080dce: f7d4 f9c7 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_11, str); 8080dd2: f507 733b add.w r3, r7, #748 ; 0x2ec 8080dd6: 461a mov r2, r3 8080dd8: 21ba movs r1, #186 ; 0xba 8080dda: f44f 7082 mov.w r0, #260 ; 0x104 8080dde: f7d4 f9d7 bl 8055190 8080de2: f002 bdef b.w 80839c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080de6: 496c ldr r1, [pc, #432] ; (8080f98 ) 8080de8: f04f 30ff mov.w r0, #4294967295 8080dec: f7d3 fc10 bl 8054610 if(pardata.IIN != VOLTS) 8080df0: 4b67 ldr r3, [pc, #412] ; (8080f90 ) 8080df2: 799b ldrb r3, [r3, #6] 8080df4: b2db uxtb r3, r3 8080df6: 2b02 cmp r3, #2 8080df8: d011 beq.n 8080e1e LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080dfa: 4b65 ldr r3, [pc, #404] ; (8080f90 ) 8080dfc: 7b1b ldrb r3, [r3, #12] 8080dfe: b2db uxtb r3, r3 8080e00: 4619 mov r1, r3 8080e02: 4a6d ldr r2, [pc, #436] ; (8080fb8 ) 8080e04: 460b mov r3, r1 8080e06: 00db lsls r3, r3, #3 8080e08: 440b add r3, r1 8080e0a: 009b lsls r3, r3, #2 8080e0c: 4413 add r3, r2 8080e0e: 331c adds r3, #28 8080e10: 681b ldr r3, [r3, #0] 8080e12: 461a mov r2, r3 8080e14: 21ba movs r1, #186 ; 0xba 8080e16: 200a movs r0, #10 8080e18: f7d4 f9a2 bl 8055160 8080e1c: e010 b.n 8080e40 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080e1e: 4b5c ldr r3, [pc, #368] ; (8080f90 ) 8080e20: 7b1b ldrb r3, [r3, #12] 8080e22: b2db uxtb r3, r3 8080e24: 4619 mov r1, r3 8080e26: 4a5b ldr r2, [pc, #364] ; (8080f94 ) 8080e28: 460b mov r3, r1 8080e2a: 00db lsls r3, r3, #3 8080e2c: 440b add r3, r1 8080e2e: 009b lsls r3, r3, #2 8080e30: 4413 add r3, r2 8080e32: 331c adds r3, #28 8080e34: 681b ldr r3, [r3, #0] 8080e36: 461a mov r2, r3 8080e38: 21ba movs r1, #186 ; 0xba 8080e3a: 200a movs r0, #10 8080e3c: f7d4 f990 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080e40: 4955 ldr r1, [pc, #340] ; (8080f98 ) 8080e42: 4856 ldr r0, [pc, #344] ; (8080f9c ) 8080e44: f7d3 fbe4 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, str); 8080e48: f507 733b add.w r3, r7, #748 ; 0x2ec 8080e4c: 461a mov r2, r3 8080e4e: 21ba movs r1, #186 ; 0xba 8080e50: f44f 7082 mov.w r0, #260 ; 0x104 8080e54: f7d4 f99c bl 8055190 8080e58: f002 bdb4 b.w 80839c4 } } else if(menupos == D_Roll) 8080e5c: 4b50 ldr r3, [pc, #320] ; (8080fa0 ) 8080e5e: 781b ldrb r3, [r3, #0] 8080e60: b2db uxtb r3, r3 8080e62: 2b02 cmp r3, #2 8080e64: f040 80e5 bne.w 8081032 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080e68: 494b ldr r1, [pc, #300] ; (8080f98 ) 8080e6a: f04f 30ff mov.w r0, #4294967295 8080e6e: f7d3 fbcf bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8080e72: 4b47 ldr r3, [pc, #284] ; (8080f90 ) 8080e74: 7b1b ldrb r3, [r3, #12] 8080e76: b2db uxtb r3, r3 8080e78: 461a mov r2, r3 8080e7a: 4b4a ldr r3, [pc, #296] ; (8080fa4 ) 8080e7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080e80: 461a mov r2, r3 8080e82: 213a movs r1, #58 ; 0x3a 8080e84: 200a movs r0, #10 8080e86: f7d4 f96b bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080e8a: 4943 ldr r1, [pc, #268] ; (8080f98 ) 8080e8c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080e90: f7d3 fbbe bl 8054610 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080e94: f507 735e add.w r3, r7, #888 ; 0x378 8080e98: 461a mov r2, r3 8080e9a: 215a movs r1, #90 ; 0x5a 8080e9c: f44f 7082 mov.w r0, #260 ; 0x104 8080ea0: f7d4 f976 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080ea4: 493c ldr r1, [pc, #240] ; (8080f98 ) 8080ea6: 483d ldr r0, [pc, #244] ; (8080f9c ) 8080ea8: f7d3 fbb2 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 8080eac: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080eb0: 461a mov r2, r3 8080eb2: 214a movs r1, #74 ; 0x4a 8080eb4: f44f 7082 mov.w r0, #260 ; 0x104 8080eb8: f7d4 f96a bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080ebc: f507 7359 add.w r3, r7, #868 ; 0x364 8080ec0: 461a mov r2, r3 8080ec2: 216a movs r1, #106 ; 0x6a 8080ec4: f44f 7082 mov.w r0, #260 ; 0x104 8080ec8: f7d4 f962 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8080ecc: f507 7354 add.w r3, r7, #848 ; 0x350 8080ed0: 461a mov r2, r3 8080ed2: 217a movs r1, #122 ; 0x7a 8080ed4: f44f 7082 mov.w r0, #260 ; 0x104 8080ed8: f7d4 f95a bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8080edc: f507 734f add.w r3, r7, #828 ; 0x33c 8080ee0: 461a mov r2, r3 8080ee2: 218a movs r1, #138 ; 0x8a 8080ee4: f44f 7082 mov.w r0, #260 ; 0x104 8080ee8: f7d4 f952 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8080eec: 4b28 ldr r3, [pc, #160] ; (8080f90 ) 8080eee: 7b5b ldrb r3, [r3, #13] 8080ef0: b2db uxtb r3, r3 8080ef2: 461a mov r2, r3 8080ef4: 4b2e ldr r3, [pc, #184] ; (8080fb0 ) 8080ef6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080efa: 461a mov r2, r3 8080efc: 219a movs r1, #154 ; 0x9a 8080efe: f44f 7082 mov.w r0, #260 ; 0x104 8080f02: f7d4 f945 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8080f06: f507 734a add.w r3, r7, #808 ; 0x328 8080f0a: 461a mov r2, r3 8080f0c: 21ca movs r1, #202 ; 0xca 8080f0e: f44f 7082 mov.w r0, #260 ; 0x104 8080f12: f7d4 f93d bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8080f16: 4b1e ldr r3, [pc, #120] ; (8080f90 ) 8080f18: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8080f1c: f003 0304 and.w r3, r3, #4 8080f20: 2b00 cmp r3, #0 8080f22: d04b beq.n 8080fbc { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8080f24: 491c ldr r1, [pc, #112] ; (8080f98 ) 8080f26: 4823 ldr r0, [pc, #140] ; (8080fb4 ) 8080f28: f7d3 fb72 bl 8054610 if(pardata.IIN != VOLTS) 8080f2c: 4b18 ldr r3, [pc, #96] ; (8080f90 ) 8080f2e: 799b ldrb r3, [r3, #6] 8080f30: b2db uxtb r3, r3 8080f32: 2b02 cmp r3, #2 8080f34: d011 beq.n 8080f5a LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080f36: 4b16 ldr r3, [pc, #88] ; (8080f90 ) 8080f38: 7b1b ldrb r3, [r3, #12] 8080f3a: b2db uxtb r3, r3 8080f3c: 4619 mov r1, r3 8080f3e: 4a1e ldr r2, [pc, #120] ; (8080fb8 ) 8080f40: 460b mov r3, r1 8080f42: 00db lsls r3, r3, #3 8080f44: 440b add r3, r1 8080f46: 009b lsls r3, r3, #2 8080f48: 4413 add r3, r2 8080f4a: 331c adds r3, #28 8080f4c: 681b ldr r3, [r3, #0] 8080f4e: 461a mov r2, r3 8080f50: 21ba movs r1, #186 ; 0xba 8080f52: 200a movs r0, #10 8080f54: f7d4 f904 bl 8055160 8080f58: e010 b.n 8080f7c else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080f5a: 4b0d ldr r3, [pc, #52] ; (8080f90 ) 8080f5c: 7b1b ldrb r3, [r3, #12] 8080f5e: b2db uxtb r3, r3 8080f60: 4619 mov r1, r3 8080f62: 4a0c ldr r2, [pc, #48] ; (8080f94 ) 8080f64: 460b mov r3, r1 8080f66: 00db lsls r3, r3, #3 8080f68: 440b add r3, r1 8080f6a: 009b lsls r3, r3, #2 8080f6c: 4413 add r3, r2 8080f6e: 331c adds r3, #28 8080f70: 681b ldr r3, [r3, #0] 8080f72: 461a mov r2, r3 8080f74: 21ba movs r1, #186 ; 0xba 8080f76: 200a movs r0, #10 8080f78: f7d4 f8f2 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_11, str); 8080f7c: f507 733b add.w r3, r7, #748 ; 0x2ec 8080f80: 461a mov r2, r3 8080f82: 21ba movs r1, #186 ; 0xba 8080f84: f44f 7082 mov.w r0, #260 ; 0x104 8080f88: f7d4 f902 bl 8055190 8080f8c: f002 bd1a b.w 80839c4 8080f90: 20023ea8 .word 0x20023ea8 8080f94: 200207b4 .word 0x200207b4 8080f98: ff0a0f1f .word 0xff0a0f1f 8080f9c: ffd8aa57 .word 0xffd8aa57 8080fa0: 20020070 .word 0x20020070 8080fa4: 200205cc .word 0x200205cc 8080fa8: 20020fc8 .word 0x20020fc8 8080fac: 200216a4 .word 0x200216a4 8080fb0: 2002022c .word 0x2002022c 8080fb4: ff808080 .word 0xff808080 8080fb8: 2002076c .word 0x2002076c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080fbc: 49c7 ldr r1, [pc, #796] ; (80812dc ) 8080fbe: f04f 30ff mov.w r0, #4294967295 8080fc2: f7d3 fb25 bl 8054610 if(pardata.IIN != VOLTS) 8080fc6: 4bc6 ldr r3, [pc, #792] ; (80812e0 ) 8080fc8: 799b ldrb r3, [r3, #6] 8080fca: b2db uxtb r3, r3 8080fcc: 2b02 cmp r3, #2 8080fce: d011 beq.n 8080ff4 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080fd0: 4bc3 ldr r3, [pc, #780] ; (80812e0 ) 8080fd2: 7b1b ldrb r3, [r3, #12] 8080fd4: b2db uxtb r3, r3 8080fd6: 4619 mov r1, r3 8080fd8: 4ac2 ldr r2, [pc, #776] ; (80812e4 ) 8080fda: 460b mov r3, r1 8080fdc: 00db lsls r3, r3, #3 8080fde: 440b add r3, r1 8080fe0: 009b lsls r3, r3, #2 8080fe2: 4413 add r3, r2 8080fe4: 331c adds r3, #28 8080fe6: 681b ldr r3, [r3, #0] 8080fe8: 461a mov r2, r3 8080fea: 21ba movs r1, #186 ; 0xba 8080fec: 200a movs r0, #10 8080fee: f7d4 f8b7 bl 8055160 8080ff2: e010 b.n 8081016 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080ff4: 4bba ldr r3, [pc, #744] ; (80812e0 ) 8080ff6: 7b1b ldrb r3, [r3, #12] 8080ff8: b2db uxtb r3, r3 8080ffa: 4619 mov r1, r3 8080ffc: 4aba ldr r2, [pc, #744] ; (80812e8 ) 8080ffe: 460b mov r3, r1 8081000: 00db lsls r3, r3, #3 8081002: 440b add r3, r1 8081004: 009b lsls r3, r3, #2 8081006: 4413 add r3, r2 8081008: 331c adds r3, #28 808100a: 681b ldr r3, [r3, #0] 808100c: 461a mov r2, r3 808100e: 21ba movs r1, #186 ; 0xba 8081010: 200a movs r0, #10 8081012: f7d4 f8a5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081016: 49b1 ldr r1, [pc, #708] ; (80812dc ) 8081018: 48b4 ldr r0, [pc, #720] ; (80812ec ) 808101a: f7d3 faf9 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, str); 808101e: f507 733b add.w r3, r7, #748 ; 0x2ec 8081022: 461a mov r2, r3 8081024: 21ba movs r1, #186 ; 0xba 8081026: f44f 7082 mov.w r0, #260 ; 0x104 808102a: f7d4 f8b1 bl 8055190 808102e: f002 bcc9 b.w 80839c4 } } else if(menupos == D_Outer) 8081032: 4baf ldr r3, [pc, #700] ; (80812f0 ) 8081034: 781b ldrb r3, [r3, #0] 8081036: b2db uxtb r3, r3 8081038: 2b03 cmp r3, #3 808103a: f040 80cf bne.w 80811dc { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808103e: 49a7 ldr r1, [pc, #668] ; (80812dc ) 8081040: f04f 30ff mov.w r0, #4294967295 8081044: f7d3 fae4 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8081048: 4ba5 ldr r3, [pc, #660] ; (80812e0 ) 808104a: 7b1b ldrb r3, [r3, #12] 808104c: b2db uxtb r3, r3 808104e: 461a mov r2, r3 8081050: 4ba8 ldr r3, [pc, #672] ; (80812f4 ) 8081052: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081056: 461a mov r2, r3 8081058: 213a movs r1, #58 ; 0x3a 808105a: 200a movs r0, #10 808105c: f7d4 f880 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081060: 499e ldr r1, [pc, #632] ; (80812dc ) 8081062: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081066: f7d3 fad3 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 808106a: f507 7359 add.w r3, r7, #868 ; 0x364 808106e: 461a mov r2, r3 8081070: 216a movs r1, #106 ; 0x6a 8081072: f44f 7082 mov.w r0, #260 ; 0x104 8081076: f7d4 f88b bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808107a: 4998 ldr r1, [pc, #608] ; (80812dc ) 808107c: 489b ldr r0, [pc, #620] ; (80812ec ) 808107e: f7d3 fac7 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 8081082: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8081086: 461a mov r2, r3 8081088: 214a movs r1, #74 ; 0x4a 808108a: f44f 7082 mov.w r0, #260 ; 0x104 808108e: f7d4 f87f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8081092: f507 735e add.w r3, r7, #888 ; 0x378 8081096: 461a mov r2, r3 8081098: 215a movs r1, #90 ; 0x5a 808109a: f44f 7082 mov.w r0, #260 ; 0x104 808109e: f7d4 f877 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 80810a2: f507 7354 add.w r3, r7, #848 ; 0x350 80810a6: 461a mov r2, r3 80810a8: 217a movs r1, #122 ; 0x7a 80810aa: f44f 7082 mov.w r0, #260 ; 0x104 80810ae: f7d4 f86f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 80810b2: f507 734f add.w r3, r7, #828 ; 0x33c 80810b6: 461a mov r2, r3 80810b8: 218a movs r1, #138 ; 0x8a 80810ba: f44f 7082 mov.w r0, #260 ; 0x104 80810be: f7d4 f867 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80810c2: 4b87 ldr r3, [pc, #540] ; (80812e0 ) 80810c4: 7b5b ldrb r3, [r3, #13] 80810c6: b2db uxtb r3, r3 80810c8: 461a mov r2, r3 80810ca: 4b8b ldr r3, [pc, #556] ; (80812f8 ) 80810cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80810d0: 461a mov r2, r3 80810d2: 219a movs r1, #154 ; 0x9a 80810d4: f44f 7082 mov.w r0, #260 ; 0x104 80810d8: f7d4 f85a bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 80810dc: f507 734a add.w r3, r7, #808 ; 0x328 80810e0: 461a mov r2, r3 80810e2: 21ca movs r1, #202 ; 0xca 80810e4: f44f 7082 mov.w r0, #260 ; 0x104 80810e8: f7d4 f852 bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 80810ec: 4b7c ldr r3, [pc, #496] ; (80812e0 ) 80810ee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80810f2: f003 0304 and.w r3, r3, #4 80810f6: 2b00 cmp r3, #0 80810f8: d035 beq.n 8081166 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80810fa: 4978 ldr r1, [pc, #480] ; (80812dc ) 80810fc: 487f ldr r0, [pc, #508] ; (80812fc ) 80810fe: f7d3 fa87 bl 8054610 if(pardata.IIN != VOLTS) 8081102: 4b77 ldr r3, [pc, #476] ; (80812e0 ) 8081104: 799b ldrb r3, [r3, #6] 8081106: b2db uxtb r3, r3 8081108: 2b02 cmp r3, #2 808110a: d011 beq.n 8081130 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808110c: 4b74 ldr r3, [pc, #464] ; (80812e0 ) 808110e: 7b1b ldrb r3, [r3, #12] 8081110: b2db uxtb r3, r3 8081112: 4619 mov r1, r3 8081114: 4a73 ldr r2, [pc, #460] ; (80812e4 ) 8081116: 460b mov r3, r1 8081118: 00db lsls r3, r3, #3 808111a: 440b add r3, r1 808111c: 009b lsls r3, r3, #2 808111e: 4413 add r3, r2 8081120: 331c adds r3, #28 8081122: 681b ldr r3, [r3, #0] 8081124: 461a mov r2, r3 8081126: 21ba movs r1, #186 ; 0xba 8081128: 200a movs r0, #10 808112a: f7d4 f819 bl 8055160 808112e: e010 b.n 8081152 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081130: 4b6b ldr r3, [pc, #428] ; (80812e0 ) 8081132: 7b1b ldrb r3, [r3, #12] 8081134: b2db uxtb r3, r3 8081136: 4619 mov r1, r3 8081138: 4a6b ldr r2, [pc, #428] ; (80812e8 ) 808113a: 460b mov r3, r1 808113c: 00db lsls r3, r3, #3 808113e: 440b add r3, r1 8081140: 009b lsls r3, r3, #2 8081142: 4413 add r3, r2 8081144: 331c adds r3, #28 8081146: 681b ldr r3, [r3, #0] 8081148: 461a mov r2, r3 808114a: 21ba movs r1, #186 ; 0xba 808114c: 200a movs r0, #10 808114e: f7d4 f807 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_11, str); 8081152: f507 733b add.w r3, r7, #748 ; 0x2ec 8081156: 461a mov r2, r3 8081158: 21ba movs r1, #186 ; 0xba 808115a: f44f 7082 mov.w r0, #260 ; 0x104 808115e: f7d4 f817 bl 8055190 8081162: f002 bc2f b.w 80839c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081166: 495d ldr r1, [pc, #372] ; (80812dc ) 8081168: f04f 30ff mov.w r0, #4294967295 808116c: f7d3 fa50 bl 8054610 if(pardata.IIN != VOLTS) 8081170: 4b5b ldr r3, [pc, #364] ; (80812e0 ) 8081172: 799b ldrb r3, [r3, #6] 8081174: b2db uxtb r3, r3 8081176: 2b02 cmp r3, #2 8081178: d011 beq.n 808119e LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808117a: 4b59 ldr r3, [pc, #356] ; (80812e0 ) 808117c: 7b1b ldrb r3, [r3, #12] 808117e: b2db uxtb r3, r3 8081180: 4619 mov r1, r3 8081182: 4a58 ldr r2, [pc, #352] ; (80812e4 ) 8081184: 460b mov r3, r1 8081186: 00db lsls r3, r3, #3 8081188: 440b add r3, r1 808118a: 009b lsls r3, r3, #2 808118c: 4413 add r3, r2 808118e: 331c adds r3, #28 8081190: 681b ldr r3, [r3, #0] 8081192: 461a mov r2, r3 8081194: 21ba movs r1, #186 ; 0xba 8081196: 200a movs r0, #10 8081198: f7d3 ffe2 bl 8055160 808119c: e010 b.n 80811c0 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 808119e: 4b50 ldr r3, [pc, #320] ; (80812e0 ) 80811a0: 7b1b ldrb r3, [r3, #12] 80811a2: b2db uxtb r3, r3 80811a4: 4619 mov r1, r3 80811a6: 4a50 ldr r2, [pc, #320] ; (80812e8 ) 80811a8: 460b mov r3, r1 80811aa: 00db lsls r3, r3, #3 80811ac: 440b add r3, r1 80811ae: 009b lsls r3, r3, #2 80811b0: 4413 add r3, r2 80811b2: 331c adds r3, #28 80811b4: 681b ldr r3, [r3, #0] 80811b6: 461a mov r2, r3 80811b8: 21ba movs r1, #186 ; 0xba 80811ba: 200a movs r0, #10 80811bc: f7d3 ffd0 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80811c0: 4946 ldr r1, [pc, #280] ; (80812dc ) 80811c2: 484a ldr r0, [pc, #296] ; (80812ec ) 80811c4: f7d3 fa24 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, str); 80811c8: f507 733b add.w r3, r7, #748 ; 0x2ec 80811cc: 461a mov r2, r3 80811ce: 21ba movs r1, #186 ; 0xba 80811d0: f44f 7082 mov.w r0, #260 ; 0x104 80811d4: f7d3 ffdc bl 8055190 80811d8: f002 bbf4 b.w 80839c4 } } else if(menupos == D_Inner) 80811dc: 4b44 ldr r3, [pc, #272] ; (80812f0 ) 80811de: 781b ldrb r3, [r3, #0] 80811e0: b2db uxtb r3, r3 80811e2: 2b04 cmp r3, #4 80811e4: f040 80e2 bne.w 80813ac { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80811e8: 493c ldr r1, [pc, #240] ; (80812dc ) 80811ea: f04f 30ff mov.w r0, #4294967295 80811ee: f7d3 fa0f bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 80811f2: 4b3b ldr r3, [pc, #236] ; (80812e0 ) 80811f4: 7b1b ldrb r3, [r3, #12] 80811f6: b2db uxtb r3, r3 80811f8: 461a mov r2, r3 80811fa: 4b3e ldr r3, [pc, #248] ; (80812f4 ) 80811fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081200: 461a mov r2, r3 8081202: 213a movs r1, #58 ; 0x3a 8081204: 200a movs r0, #10 8081206: f7d3 ffab bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808120a: 4934 ldr r1, [pc, #208] ; (80812dc ) 808120c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081210: f7d3 f9fe bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8081214: f507 7354 add.w r3, r7, #848 ; 0x350 8081218: 461a mov r2, r3 808121a: 217a movs r1, #122 ; 0x7a 808121c: f44f 7082 mov.w r0, #260 ; 0x104 8081220: f7d3 ffb6 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081224: 492d ldr r1, [pc, #180] ; (80812dc ) 8081226: 4831 ldr r0, [pc, #196] ; (80812ec ) 8081228: f7d3 f9f2 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 808122c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8081230: 461a mov r2, r3 8081232: 214a movs r1, #74 ; 0x4a 8081234: f44f 7082 mov.w r0, #260 ; 0x104 8081238: f7d3 ffaa bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 808123c: f507 735e add.w r3, r7, #888 ; 0x378 8081240: 461a mov r2, r3 8081242: 215a movs r1, #90 ; 0x5a 8081244: f44f 7082 mov.w r0, #260 ; 0x104 8081248: f7d3 ffa2 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 808124c: f507 7359 add.w r3, r7, #868 ; 0x364 8081250: 461a mov r2, r3 8081252: 216a movs r1, #106 ; 0x6a 8081254: f44f 7082 mov.w r0, #260 ; 0x104 8081258: f7d3 ff9a bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 808125c: f507 734f add.w r3, r7, #828 ; 0x33c 8081260: 461a mov r2, r3 8081262: 218a movs r1, #138 ; 0x8a 8081264: f44f 7082 mov.w r0, #260 ; 0x104 8081268: f7d3 ff92 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 808126c: 4b1c ldr r3, [pc, #112] ; (80812e0 ) 808126e: 7b5b ldrb r3, [r3, #13] 8081270: b2db uxtb r3, r3 8081272: 461a mov r2, r3 8081274: 4b20 ldr r3, [pc, #128] ; (80812f8 ) 8081276: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808127a: 461a mov r2, r3 808127c: 219a movs r1, #154 ; 0x9a 808127e: f44f 7082 mov.w r0, #260 ; 0x104 8081282: f7d3 ff85 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8081286: f507 734a add.w r3, r7, #808 ; 0x328 808128a: 461a mov r2, r3 808128c: 21ca movs r1, #202 ; 0xca 808128e: f44f 7082 mov.w r0, #260 ; 0x104 8081292: f7d3 ff7d bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8081296: 4b12 ldr r3, [pc, #72] ; (80812e0 ) 8081298: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808129c: f003 0304 and.w r3, r3, #4 80812a0: 2b00 cmp r3, #0 80812a2: d048 beq.n 8081336 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80812a4: 490d ldr r1, [pc, #52] ; (80812dc ) 80812a6: 4815 ldr r0, [pc, #84] ; (80812fc ) 80812a8: f7d3 f9b2 bl 8054610 if(pardata.IIN != VOLTS) 80812ac: 4b0c ldr r3, [pc, #48] ; (80812e0 ) 80812ae: 799b ldrb r3, [r3, #6] 80812b0: b2db uxtb r3, r3 80812b2: 2b02 cmp r3, #2 80812b4: d024 beq.n 8081300 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80812b6: 4b0a ldr r3, [pc, #40] ; (80812e0 ) 80812b8: 7b1b ldrb r3, [r3, #12] 80812ba: b2db uxtb r3, r3 80812bc: 4619 mov r1, r3 80812be: 4a09 ldr r2, [pc, #36] ; (80812e4 ) 80812c0: 460b mov r3, r1 80812c2: 00db lsls r3, r3, #3 80812c4: 440b add r3, r1 80812c6: 009b lsls r3, r3, #2 80812c8: 4413 add r3, r2 80812ca: 331c adds r3, #28 80812cc: 681b ldr r3, [r3, #0] 80812ce: 461a mov r2, r3 80812d0: 21ba movs r1, #186 ; 0xba 80812d2: 200a movs r0, #10 80812d4: f7d3 ff44 bl 8055160 80812d8: e023 b.n 8081322 80812da: bf00 nop 80812dc: ff0a0f1f .word 0xff0a0f1f 80812e0: 20023ea8 .word 0x20023ea8 80812e4: 2002076c .word 0x2002076c 80812e8: 200207b4 .word 0x200207b4 80812ec: ffd8aa57 .word 0xffd8aa57 80812f0: 20020070 .word 0x20020070 80812f4: 200205cc .word 0x200205cc 80812f8: 2002022c .word 0x2002022c 80812fc: ff808080 .word 0xff808080 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081300: 4bae ldr r3, [pc, #696] ; (80815bc ) 8081302: 7b1b ldrb r3, [r3, #12] 8081304: b2db uxtb r3, r3 8081306: 4619 mov r1, r3 8081308: 4aad ldr r2, [pc, #692] ; (80815c0 ) 808130a: 460b mov r3, r1 808130c: 00db lsls r3, r3, #3 808130e: 440b add r3, r1 8081310: 009b lsls r3, r3, #2 8081312: 4413 add r3, r2 8081314: 331c adds r3, #28 8081316: 681b ldr r3, [r3, #0] 8081318: 461a mov r2, r3 808131a: 21ba movs r1, #186 ; 0xba 808131c: 200a movs r0, #10 808131e: f7d3 ff1f bl 8055160 LCD_DisplayStringC(260, LCD_LINE_11, str); 8081322: f507 733b add.w r3, r7, #748 ; 0x2ec 8081326: 461a mov r2, r3 8081328: 21ba movs r1, #186 ; 0xba 808132a: f44f 7082 mov.w r0, #260 ; 0x104 808132e: f7d3 ff2f bl 8055190 8081332: f002 bb47 b.w 80839c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081336: 49a3 ldr r1, [pc, #652] ; (80815c4 ) 8081338: f04f 30ff mov.w r0, #4294967295 808133c: f7d3 f968 bl 8054610 if(pardata.IIN != VOLTS) 8081340: 4b9e ldr r3, [pc, #632] ; (80815bc ) 8081342: 799b ldrb r3, [r3, #6] 8081344: b2db uxtb r3, r3 8081346: 2b02 cmp r3, #2 8081348: d011 beq.n 808136e LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808134a: 4b9c ldr r3, [pc, #624] ; (80815bc ) 808134c: 7b1b ldrb r3, [r3, #12] 808134e: b2db uxtb r3, r3 8081350: 4619 mov r1, r3 8081352: 4a9d ldr r2, [pc, #628] ; (80815c8 ) 8081354: 460b mov r3, r1 8081356: 00db lsls r3, r3, #3 8081358: 440b add r3, r1 808135a: 009b lsls r3, r3, #2 808135c: 4413 add r3, r2 808135e: 331c adds r3, #28 8081360: 681b ldr r3, [r3, #0] 8081362: 461a mov r2, r3 8081364: 21ba movs r1, #186 ; 0xba 8081366: 200a movs r0, #10 8081368: f7d3 fefa bl 8055160 808136c: e010 b.n 8081390 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 808136e: 4b93 ldr r3, [pc, #588] ; (80815bc ) 8081370: 7b1b ldrb r3, [r3, #12] 8081372: b2db uxtb r3, r3 8081374: 4619 mov r1, r3 8081376: 4a92 ldr r2, [pc, #584] ; (80815c0 ) 8081378: 460b mov r3, r1 808137a: 00db lsls r3, r3, #3 808137c: 440b add r3, r1 808137e: 009b lsls r3, r3, #2 8081380: 4413 add r3, r2 8081382: 331c adds r3, #28 8081384: 681b ldr r3, [r3, #0] 8081386: 461a mov r2, r3 8081388: 21ba movs r1, #186 ; 0xba 808138a: 200a movs r0, #10 808138c: f7d3 fee8 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081390: 498c ldr r1, [pc, #560] ; (80815c4 ) 8081392: 488e ldr r0, [pc, #568] ; (80815cc ) 8081394: f7d3 f93c bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, str); 8081398: f507 733b add.w r3, r7, #748 ; 0x2ec 808139c: 461a mov r2, r3 808139e: 21ba movs r1, #186 ; 0xba 80813a0: f44f 7082 mov.w r0, #260 ; 0x104 80813a4: f7d3 fef4 bl 8055190 80813a8: f002 bb0c b.w 80839c4 } } else if(menupos == D_Angle) 80813ac: 4b88 ldr r3, [pc, #544] ; (80815d0 ) 80813ae: 781b ldrb r3, [r3, #0] 80813b0: b2db uxtb r3, r3 80813b2: 2b05 cmp r3, #5 80813b4: f040 80cf bne.w 8081556 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80813b8: 4982 ldr r1, [pc, #520] ; (80815c4 ) 80813ba: f04f 30ff mov.w r0, #4294967295 80813be: f7d3 f927 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 80813c2: 4b7e ldr r3, [pc, #504] ; (80815bc ) 80813c4: 7b1b ldrb r3, [r3, #12] 80813c6: b2db uxtb r3, r3 80813c8: 461a mov r2, r3 80813ca: 4b82 ldr r3, [pc, #520] ; (80815d4 ) 80813cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80813d0: 461a mov r2, r3 80813d2: 213a movs r1, #58 ; 0x3a 80813d4: 200a movs r0, #10 80813d6: f7d3 fec3 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80813da: 497a ldr r1, [pc, #488] ; (80815c4 ) 80813dc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80813e0: f7d3 f916 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 80813e4: f507 734f add.w r3, r7, #828 ; 0x33c 80813e8: 461a mov r2, r3 80813ea: 218a movs r1, #138 ; 0x8a 80813ec: f44f 7082 mov.w r0, #260 ; 0x104 80813f0: f7d3 fece bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80813f4: 4973 ldr r1, [pc, #460] ; (80815c4 ) 80813f6: 4875 ldr r0, [pc, #468] ; (80815cc ) 80813f8: f7d3 f90a bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 80813fc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8081400: 461a mov r2, r3 8081402: 214a movs r1, #74 ; 0x4a 8081404: f44f 7082 mov.w r0, #260 ; 0x104 8081408: f7d3 fec2 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 808140c: f507 735e add.w r3, r7, #888 ; 0x378 8081410: 461a mov r2, r3 8081412: 215a movs r1, #90 ; 0x5a 8081414: f44f 7082 mov.w r0, #260 ; 0x104 8081418: f7d3 feba bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 808141c: f507 7359 add.w r3, r7, #868 ; 0x364 8081420: 461a mov r2, r3 8081422: 216a movs r1, #106 ; 0x6a 8081424: f44f 7082 mov.w r0, #260 ; 0x104 8081428: f7d3 feb2 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 808142c: f507 7354 add.w r3, r7, #848 ; 0x350 8081430: 461a mov r2, r3 8081432: 217a movs r1, #122 ; 0x7a 8081434: f44f 7082 mov.w r0, #260 ; 0x104 8081438: f7d3 feaa bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 808143c: 4b5f ldr r3, [pc, #380] ; (80815bc ) 808143e: 7b5b ldrb r3, [r3, #13] 8081440: b2db uxtb r3, r3 8081442: 461a mov r2, r3 8081444: 4b64 ldr r3, [pc, #400] ; (80815d8 ) 8081446: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808144a: 461a mov r2, r3 808144c: 219a movs r1, #154 ; 0x9a 808144e: f44f 7082 mov.w r0, #260 ; 0x104 8081452: f7d3 fe9d bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8081456: f507 734a add.w r3, r7, #808 ; 0x328 808145a: 461a mov r2, r3 808145c: 21ca movs r1, #202 ; 0xca 808145e: f44f 7082 mov.w r0, #260 ; 0x104 8081462: f7d3 fe95 bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8081466: 4b55 ldr r3, [pc, #340] ; (80815bc ) 8081468: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808146c: f003 0304 and.w r3, r3, #4 8081470: 2b00 cmp r3, #0 8081472: d035 beq.n 80814e0 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8081474: 4953 ldr r1, [pc, #332] ; (80815c4 ) 8081476: 4859 ldr r0, [pc, #356] ; (80815dc ) 8081478: f7d3 f8ca bl 8054610 if(pardata.IIN != VOLTS) 808147c: 4b4f ldr r3, [pc, #316] ; (80815bc ) 808147e: 799b ldrb r3, [r3, #6] 8081480: b2db uxtb r3, r3 8081482: 2b02 cmp r3, #2 8081484: d011 beq.n 80814aa LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081486: 4b4d ldr r3, [pc, #308] ; (80815bc ) 8081488: 7b1b ldrb r3, [r3, #12] 808148a: b2db uxtb r3, r3 808148c: 4619 mov r1, r3 808148e: 4a4e ldr r2, [pc, #312] ; (80815c8 ) 8081490: 460b mov r3, r1 8081492: 00db lsls r3, r3, #3 8081494: 440b add r3, r1 8081496: 009b lsls r3, r3, #2 8081498: 4413 add r3, r2 808149a: 331c adds r3, #28 808149c: 681b ldr r3, [r3, #0] 808149e: 461a mov r2, r3 80814a0: 21ba movs r1, #186 ; 0xba 80814a2: 200a movs r0, #10 80814a4: f7d3 fe5c bl 8055160 80814a8: e010 b.n 80814cc else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80814aa: 4b44 ldr r3, [pc, #272] ; (80815bc ) 80814ac: 7b1b ldrb r3, [r3, #12] 80814ae: b2db uxtb r3, r3 80814b0: 4619 mov r1, r3 80814b2: 4a43 ldr r2, [pc, #268] ; (80815c0 ) 80814b4: 460b mov r3, r1 80814b6: 00db lsls r3, r3, #3 80814b8: 440b add r3, r1 80814ba: 009b lsls r3, r3, #2 80814bc: 4413 add r3, r2 80814be: 331c adds r3, #28 80814c0: 681b ldr r3, [r3, #0] 80814c2: 461a mov r2, r3 80814c4: 21ba movs r1, #186 ; 0xba 80814c6: 200a movs r0, #10 80814c8: f7d3 fe4a bl 8055160 LCD_DisplayStringC(260, LCD_LINE_11, str); 80814cc: f507 733b add.w r3, r7, #748 ; 0x2ec 80814d0: 461a mov r2, r3 80814d2: 21ba movs r1, #186 ; 0xba 80814d4: f44f 7082 mov.w r0, #260 ; 0x104 80814d8: f7d3 fe5a bl 8055190 80814dc: f002 ba72 b.w 80839c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80814e0: 4938 ldr r1, [pc, #224] ; (80815c4 ) 80814e2: f04f 30ff mov.w r0, #4294967295 80814e6: f7d3 f893 bl 8054610 if(pardata.IIN != VOLTS) 80814ea: 4b34 ldr r3, [pc, #208] ; (80815bc ) 80814ec: 799b ldrb r3, [r3, #6] 80814ee: b2db uxtb r3, r3 80814f0: 2b02 cmp r3, #2 80814f2: d011 beq.n 8081518 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80814f4: 4b31 ldr r3, [pc, #196] ; (80815bc ) 80814f6: 7b1b ldrb r3, [r3, #12] 80814f8: b2db uxtb r3, r3 80814fa: 4619 mov r1, r3 80814fc: 4a32 ldr r2, [pc, #200] ; (80815c8 ) 80814fe: 460b mov r3, r1 8081500: 00db lsls r3, r3, #3 8081502: 440b add r3, r1 8081504: 009b lsls r3, r3, #2 8081506: 4413 add r3, r2 8081508: 331c adds r3, #28 808150a: 681b ldr r3, [r3, #0] 808150c: 461a mov r2, r3 808150e: 21ba movs r1, #186 ; 0xba 8081510: 200a movs r0, #10 8081512: f7d3 fe25 bl 8055160 8081516: e010 b.n 808153a else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081518: 4b28 ldr r3, [pc, #160] ; (80815bc ) 808151a: 7b1b ldrb r3, [r3, #12] 808151c: b2db uxtb r3, r3 808151e: 4619 mov r1, r3 8081520: 4a27 ldr r2, [pc, #156] ; (80815c0 ) 8081522: 460b mov r3, r1 8081524: 00db lsls r3, r3, #3 8081526: 440b add r3, r1 8081528: 009b lsls r3, r3, #2 808152a: 4413 add r3, r2 808152c: 331c adds r3, #28 808152e: 681b ldr r3, [r3, #0] 8081530: 461a mov r2, r3 8081532: 21ba movs r1, #186 ; 0xba 8081534: 200a movs r0, #10 8081536: f7d3 fe13 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808153a: 4922 ldr r1, [pc, #136] ; (80815c4 ) 808153c: 4823 ldr r0, [pc, #140] ; (80815cc ) 808153e: f7d3 f867 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, str); 8081542: f507 733b add.w r3, r7, #748 ; 0x2ec 8081546: 461a mov r2, r3 8081548: 21ba movs r1, #186 ; 0xba 808154a: f44f 7082 mov.w r0, #260 ; 0x104 808154e: f7d3 fe1f bl 8055190 8081552: f002 ba37 b.w 80839c4 } } else if(menupos == RollAverage) 8081556: 4b1e ldr r3, [pc, #120] ; (80815d0 ) 8081558: 781b ldrb r3, [r3, #0] 808155a: b2db uxtb r3, r3 808155c: 2b06 cmp r3, #6 808155e: f040 80fc bne.w 808175a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081562: 4918 ldr r1, [pc, #96] ; (80815c4 ) 8081564: f04f 30ff mov.w r0, #4294967295 8081568: f7d3 f852 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 808156c: 4b13 ldr r3, [pc, #76] ; (80815bc ) 808156e: 7b1b ldrb r3, [r3, #12] 8081570: b2db uxtb r3, r3 8081572: 461a mov r2, r3 8081574: 4b17 ldr r3, [pc, #92] ; (80815d4 ) 8081576: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808157a: 461a mov r2, r3 808157c: 213a movs r1, #58 ; 0x3a 808157e: 200a movs r0, #10 8081580: f7d3 fdee bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081584: 490f ldr r1, [pc, #60] ; (80815c4 ) 8081586: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808158a: f7d3 f841 bl 8054610 if(focused) 808158e: 4b14 ldr r3, [pc, #80] ; (80815e0 ) 8081590: 781b ldrb r3, [r3, #0] 8081592: b2db uxtb r3, r3 8081594: 2b00 cmp r3, #0 8081596: d027 beq.n 80815e8 { if(blk) 8081598: 4b12 ldr r3, [pc, #72] ; (80815e4 ) 808159a: 681b ldr r3, [r3, #0] 808159c: 2b00 cmp r3, #0 808159e: d030 beq.n 8081602 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80815a0: 4b06 ldr r3, [pc, #24] ; (80815bc ) 80815a2: 7b5b ldrb r3, [r3, #13] 80815a4: b2db uxtb r3, r3 80815a6: 461a mov r2, r3 80815a8: 4b0b ldr r3, [pc, #44] ; (80815d8 ) 80815aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80815ae: 461a mov r2, r3 80815b0: 219a movs r1, #154 ; 0x9a 80815b2: f44f 7082 mov.w r0, #260 ; 0x104 80815b6: f7d3 fdeb bl 8055190 80815ba: e022 b.n 8081602 80815bc: 20023ea8 .word 0x20023ea8 80815c0: 200207b4 .word 0x200207b4 80815c4: ff0a0f1f .word 0xff0a0f1f 80815c8: 2002076c .word 0x2002076c 80815cc: ffd8aa57 .word 0xffd8aa57 80815d0: 20020070 .word 0x20020070 80815d4: 200205cc .word 0x200205cc 80815d8: 2002022c .word 0x2002022c 80815dc: ff808080 .word 0xff808080 80815e0: 20020fc8 .word 0x20020fc8 80815e4: 200216a4 .word 0x200216a4 } else LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80815e8: 4bc4 ldr r3, [pc, #784] ; (80818fc ) 80815ea: 7b5b ldrb r3, [r3, #13] 80815ec: b2db uxtb r3, r3 80815ee: 461a mov r2, r3 80815f0: 4bc3 ldr r3, [pc, #780] ; (8081900 ) 80815f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80815f6: 461a mov r2, r3 80815f8: 219a movs r1, #154 ; 0x9a 80815fa: f44f 7082 mov.w r0, #260 ; 0x104 80815fe: f7d3 fdc7 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081602: 49c0 ldr r1, [pc, #768] ; (8081904 ) 8081604: 48c0 ldr r0, [pc, #768] ; (8081908 ) 8081606: f7d3 f803 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 808160a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808160e: 461a mov r2, r3 8081610: 214a movs r1, #74 ; 0x4a 8081612: f44f 7082 mov.w r0, #260 ; 0x104 8081616: f7d3 fdbb bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 808161a: f507 735e add.w r3, r7, #888 ; 0x378 808161e: 461a mov r2, r3 8081620: 215a movs r1, #90 ; 0x5a 8081622: f44f 7082 mov.w r0, #260 ; 0x104 8081626: f7d3 fdb3 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 808162a: f507 7359 add.w r3, r7, #868 ; 0x364 808162e: 461a mov r2, r3 8081630: 216a movs r1, #106 ; 0x6a 8081632: f44f 7082 mov.w r0, #260 ; 0x104 8081636: f7d3 fdab bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 808163a: f507 7354 add.w r3, r7, #848 ; 0x350 808163e: 461a mov r2, r3 8081640: 217a movs r1, #122 ; 0x7a 8081642: f44f 7082 mov.w r0, #260 ; 0x104 8081646: f7d3 fda3 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 808164a: f507 734f add.w r3, r7, #828 ; 0x33c 808164e: 461a mov r2, r3 8081650: 218a movs r1, #138 ; 0x8a 8081652: f44f 7082 mov.w r0, #260 ; 0x104 8081656: f7d3 fd9b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 808165a: f507 734a add.w r3, r7, #808 ; 0x328 808165e: 461a mov r2, r3 8081660: 21ca movs r1, #202 ; 0xca 8081662: f44f 7082 mov.w r0, #260 ; 0x104 8081666: f7d3 fd93 bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 808166a: 4ba4 ldr r3, [pc, #656] ; (80818fc ) 808166c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8081670: f003 0304 and.w r3, r3, #4 8081674: 2b00 cmp r3, #0 8081676: d035 beq.n 80816e4 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8081678: 49a2 ldr r1, [pc, #648] ; (8081904 ) 808167a: 48a4 ldr r0, [pc, #656] ; (808190c ) 808167c: f7d2 ffc8 bl 8054610 if(pardata.IIN != VOLTS) 8081680: 4b9e ldr r3, [pc, #632] ; (80818fc ) 8081682: 799b ldrb r3, [r3, #6] 8081684: b2db uxtb r3, r3 8081686: 2b02 cmp r3, #2 8081688: d011 beq.n 80816ae LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808168a: 4b9c ldr r3, [pc, #624] ; (80818fc ) 808168c: 7b1b ldrb r3, [r3, #12] 808168e: b2db uxtb r3, r3 8081690: 4619 mov r1, r3 8081692: 4a9f ldr r2, [pc, #636] ; (8081910 ) 8081694: 460b mov r3, r1 8081696: 00db lsls r3, r3, #3 8081698: 440b add r3, r1 808169a: 009b lsls r3, r3, #2 808169c: 4413 add r3, r2 808169e: 331c adds r3, #28 80816a0: 681b ldr r3, [r3, #0] 80816a2: 461a mov r2, r3 80816a4: 21ba movs r1, #186 ; 0xba 80816a6: 200a movs r0, #10 80816a8: f7d3 fd5a bl 8055160 80816ac: e010 b.n 80816d0 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80816ae: 4b93 ldr r3, [pc, #588] ; (80818fc ) 80816b0: 7b1b ldrb r3, [r3, #12] 80816b2: b2db uxtb r3, r3 80816b4: 4619 mov r1, r3 80816b6: 4a97 ldr r2, [pc, #604] ; (8081914 ) 80816b8: 460b mov r3, r1 80816ba: 00db lsls r3, r3, #3 80816bc: 440b add r3, r1 80816be: 009b lsls r3, r3, #2 80816c0: 4413 add r3, r2 80816c2: 331c adds r3, #28 80816c4: 681b ldr r3, [r3, #0] 80816c6: 461a mov r2, r3 80816c8: 21ba movs r1, #186 ; 0xba 80816ca: 200a movs r0, #10 80816cc: f7d3 fd48 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_11, str); 80816d0: f507 733b add.w r3, r7, #748 ; 0x2ec 80816d4: 461a mov r2, r3 80816d6: 21ba movs r1, #186 ; 0xba 80816d8: f44f 7082 mov.w r0, #260 ; 0x104 80816dc: f7d3 fd58 bl 8055190 80816e0: f002 b970 b.w 80839c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80816e4: 4987 ldr r1, [pc, #540] ; (8081904 ) 80816e6: f04f 30ff mov.w r0, #4294967295 80816ea: f7d2 ff91 bl 8054610 if(pardata.IIN != VOLTS) 80816ee: 4b83 ldr r3, [pc, #524] ; (80818fc ) 80816f0: 799b ldrb r3, [r3, #6] 80816f2: b2db uxtb r3, r3 80816f4: 2b02 cmp r3, #2 80816f6: d011 beq.n 808171c LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80816f8: 4b80 ldr r3, [pc, #512] ; (80818fc ) 80816fa: 7b1b ldrb r3, [r3, #12] 80816fc: b2db uxtb r3, r3 80816fe: 4619 mov r1, r3 8081700: 4a83 ldr r2, [pc, #524] ; (8081910 ) 8081702: 460b mov r3, r1 8081704: 00db lsls r3, r3, #3 8081706: 440b add r3, r1 8081708: 009b lsls r3, r3, #2 808170a: 4413 add r3, r2 808170c: 331c adds r3, #28 808170e: 681b ldr r3, [r3, #0] 8081710: 461a mov r2, r3 8081712: 21ba movs r1, #186 ; 0xba 8081714: 200a movs r0, #10 8081716: f7d3 fd23 bl 8055160 808171a: e010 b.n 808173e else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 808171c: 4b77 ldr r3, [pc, #476] ; (80818fc ) 808171e: 7b1b ldrb r3, [r3, #12] 8081720: b2db uxtb r3, r3 8081722: 4619 mov r1, r3 8081724: 4a7b ldr r2, [pc, #492] ; (8081914 ) 8081726: 460b mov r3, r1 8081728: 00db lsls r3, r3, #3 808172a: 440b add r3, r1 808172c: 009b lsls r3, r3, #2 808172e: 4413 add r3, r2 8081730: 331c adds r3, #28 8081732: 681b ldr r3, [r3, #0] 8081734: 461a mov r2, r3 8081736: 21ba movs r1, #186 ; 0xba 8081738: 200a movs r0, #10 808173a: f7d3 fd11 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808173e: 4971 ldr r1, [pc, #452] ; (8081904 ) 8081740: 4871 ldr r0, [pc, #452] ; (8081908 ) 8081742: f7d2 ff65 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, str); 8081746: f507 733b add.w r3, r7, #748 ; 0x2ec 808174a: 461a mov r2, r3 808174c: 21ba movs r1, #186 ; 0xba 808174e: f44f 7082 mov.w r0, #260 ; 0x104 8081752: f7d3 fd1d bl 8055190 8081756: f002 b935 b.w 80839c4 } } else if(menupos == RollAutoKu) 808175a: 4b6f ldr r3, [pc, #444] ; (8081918 ) 808175c: 781b ldrb r3, [r3, #0] 808175e: b2db uxtb r3, r3 8081760: 2b07 cmp r3, #7 8081762: f040 80dd bne.w 8081920 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081766: 4967 ldr r1, [pc, #412] ; (8081904 ) 8081768: f04f 30ff mov.w r0, #4294967295 808176c: f7d2 ff50 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8081770: 4b62 ldr r3, [pc, #392] ; (80818fc ) 8081772: 7b1b ldrb r3, [r3, #12] 8081774: b2db uxtb r3, r3 8081776: 461a mov r2, r3 8081778: 4b68 ldr r3, [pc, #416] ; (808191c ) 808177a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808177e: 461a mov r2, r3 8081780: 213a movs r1, #58 ; 0x3a 8081782: 200a movs r0, #10 8081784: f7d3 fcec bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081788: 495e ldr r1, [pc, #376] ; (8081904 ) 808178a: 485f ldr r0, [pc, #380] ; (8081908 ) 808178c: f7d2 ff40 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 8081790: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8081794: 461a mov r2, r3 8081796: 214a movs r1, #74 ; 0x4a 8081798: f44f 7082 mov.w r0, #260 ; 0x104 808179c: f7d3 fcf8 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 80817a0: f507 735e add.w r3, r7, #888 ; 0x378 80817a4: 461a mov r2, r3 80817a6: 215a movs r1, #90 ; 0x5a 80817a8: f44f 7082 mov.w r0, #260 ; 0x104 80817ac: f7d3 fcf0 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 80817b0: f507 7359 add.w r3, r7, #868 ; 0x364 80817b4: 461a mov r2, r3 80817b6: 216a movs r1, #106 ; 0x6a 80817b8: f44f 7082 mov.w r0, #260 ; 0x104 80817bc: f7d3 fce8 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 80817c0: f507 7354 add.w r3, r7, #848 ; 0x350 80817c4: 461a mov r2, r3 80817c6: 217a movs r1, #122 ; 0x7a 80817c8: f44f 7082 mov.w r0, #260 ; 0x104 80817cc: f7d3 fce0 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 80817d0: f507 734f add.w r3, r7, #828 ; 0x33c 80817d4: 461a mov r2, r3 80817d6: 218a movs r1, #138 ; 0x8a 80817d8: f44f 7082 mov.w r0, #260 ; 0x104 80817dc: f7d3 fcd8 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80817e0: 4b46 ldr r3, [pc, #280] ; (80818fc ) 80817e2: 7b5b ldrb r3, [r3, #13] 80817e4: b2db uxtb r3, r3 80817e6: 461a mov r2, r3 80817e8: 4b45 ldr r3, [pc, #276] ; (8081900 ) 80817ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80817ee: 461a mov r2, r3 80817f0: 219a movs r1, #154 ; 0x9a 80817f2: f44f 7082 mov.w r0, #260 ; 0x104 80817f6: f7d3 fccb bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 80817fa: f507 734a add.w r3, r7, #808 ; 0x328 80817fe: 461a mov r2, r3 8081800: 21ca movs r1, #202 ; 0xca 8081802: f44f 7082 mov.w r0, #260 ; 0x104 8081806: f7d3 fcc3 bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 808180a: 4b3c ldr r3, [pc, #240] ; (80818fc ) 808180c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8081810: f003 0304 and.w r3, r3, #4 8081814: 2b00 cmp r3, #0 8081816: d035 beq.n 8081884 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8081818: 493a ldr r1, [pc, #232] ; (8081904 ) 808181a: 483c ldr r0, [pc, #240] ; (808190c ) 808181c: f7d2 fef8 bl 8054610 if(pardata.IIN != VOLTS) 8081820: 4b36 ldr r3, [pc, #216] ; (80818fc ) 8081822: 799b ldrb r3, [r3, #6] 8081824: b2db uxtb r3, r3 8081826: 2b02 cmp r3, #2 8081828: d011 beq.n 808184e LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 808182a: 4b34 ldr r3, [pc, #208] ; (80818fc ) 808182c: 7b1b ldrb r3, [r3, #12] 808182e: b2db uxtb r3, r3 8081830: 4619 mov r1, r3 8081832: 4a37 ldr r2, [pc, #220] ; (8081910 ) 8081834: 460b mov r3, r1 8081836: 00db lsls r3, r3, #3 8081838: 440b add r3, r1 808183a: 009b lsls r3, r3, #2 808183c: 4413 add r3, r2 808183e: 331c adds r3, #28 8081840: 681b ldr r3, [r3, #0] 8081842: 461a mov r2, r3 8081844: 21ba movs r1, #186 ; 0xba 8081846: 200a movs r0, #10 8081848: f7d3 fc8a bl 8055160 808184c: e010 b.n 8081870 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 808184e: 4b2b ldr r3, [pc, #172] ; (80818fc ) 8081850: 7b1b ldrb r3, [r3, #12] 8081852: b2db uxtb r3, r3 8081854: 4619 mov r1, r3 8081856: 4a2f ldr r2, [pc, #188] ; (8081914 ) 8081858: 460b mov r3, r1 808185a: 00db lsls r3, r3, #3 808185c: 440b add r3, r1 808185e: 009b lsls r3, r3, #2 8081860: 4413 add r3, r2 8081862: 331c adds r3, #28 8081864: 681b ldr r3, [r3, #0] 8081866: 461a mov r2, r3 8081868: 21ba movs r1, #186 ; 0xba 808186a: 200a movs r0, #10 808186c: f7d3 fc78 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_11, str); 8081870: f507 733b add.w r3, r7, #748 ; 0x2ec 8081874: 461a mov r2, r3 8081876: 21ba movs r1, #186 ; 0xba 8081878: f44f 7082 mov.w r0, #260 ; 0x104 808187c: f7d3 fc88 bl 8055190 8081880: f002 b8a0 b.w 80839c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081884: 491f ldr r1, [pc, #124] ; (8081904 ) 8081886: f04f 30ff mov.w r0, #4294967295 808188a: f7d2 fec1 bl 8054610 if(pardata.IIN != VOLTS) 808188e: 4b1b ldr r3, [pc, #108] ; (80818fc ) 8081890: 799b ldrb r3, [r3, #6] 8081892: b2db uxtb r3, r3 8081894: 2b02 cmp r3, #2 8081896: d011 beq.n 80818bc LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081898: 4b18 ldr r3, [pc, #96] ; (80818fc ) 808189a: 7b1b ldrb r3, [r3, #12] 808189c: b2db uxtb r3, r3 808189e: 4619 mov r1, r3 80818a0: 4a1b ldr r2, [pc, #108] ; (8081910 ) 80818a2: 460b mov r3, r1 80818a4: 00db lsls r3, r3, #3 80818a6: 440b add r3, r1 80818a8: 009b lsls r3, r3, #2 80818aa: 4413 add r3, r2 80818ac: 331c adds r3, #28 80818ae: 681b ldr r3, [r3, #0] 80818b0: 461a mov r2, r3 80818b2: 21ba movs r1, #186 ; 0xba 80818b4: 200a movs r0, #10 80818b6: f7d3 fc53 bl 8055160 80818ba: e010 b.n 80818de else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80818bc: 4b0f ldr r3, [pc, #60] ; (80818fc ) 80818be: 7b1b ldrb r3, [r3, #12] 80818c0: b2db uxtb r3, r3 80818c2: 4619 mov r1, r3 80818c4: 4a13 ldr r2, [pc, #76] ; (8081914 ) 80818c6: 460b mov r3, r1 80818c8: 00db lsls r3, r3, #3 80818ca: 440b add r3, r1 80818cc: 009b lsls r3, r3, #2 80818ce: 4413 add r3, r2 80818d0: 331c adds r3, #28 80818d2: 681b ldr r3, [r3, #0] 80818d4: 461a mov r2, r3 80818d6: 21ba movs r1, #186 ; 0xba 80818d8: 200a movs r0, #10 80818da: f7d3 fc41 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80818de: 4909 ldr r1, [pc, #36] ; (8081904 ) 80818e0: 4809 ldr r0, [pc, #36] ; (8081908 ) 80818e2: f7d2 fe95 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, str); 80818e6: f507 733b add.w r3, r7, #748 ; 0x2ec 80818ea: 461a mov r2, r3 80818ec: 21ba movs r1, #186 ; 0xba 80818ee: f44f 7082 mov.w r0, #260 ; 0x104 80818f2: f7d3 fc4d bl 8055190 80818f6: f002 b865 b.w 80839c4 80818fa: bf00 nop 80818fc: 20023ea8 .word 0x20023ea8 8081900: 2002022c .word 0x2002022c 8081904: ff0a0f1f .word 0xff0a0f1f 8081908: ffd8aa57 .word 0xffd8aa57 808190c: ff808080 .word 0xff808080 8081910: 2002076c .word 0x2002076c 8081914: 200207b4 .word 0x200207b4 8081918: 20020070 .word 0x20020070 808191c: 200205cc .word 0x200205cc } } else if(menupos == RollMax_ALL) 8081920: 4bd2 ldr r3, [pc, #840] ; (8081c6c ) 8081922: 781b ldrb r3, [r3, #0] 8081924: b2db uxtb r3, r3 8081926: 2b08 cmp r3, #8 8081928: f040 80cb bne.w 8081ac2 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808192c: 49d0 ldr r1, [pc, #832] ; (8081c70 ) 808192e: f04f 30ff mov.w r0, #4294967295 8081932: f7d2 fe6d bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8081936: 4bcf ldr r3, [pc, #828] ; (8081c74 ) 8081938: 7b1b ldrb r3, [r3, #12] 808193a: b2db uxtb r3, r3 808193c: 461a mov r2, r3 808193e: 4bce ldr r3, [pc, #824] ; (8081c78 ) 8081940: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081944: 461a mov r2, r3 8081946: 213a movs r1, #58 ; 0x3a 8081948: 200a movs r0, #10 808194a: f7d3 fc09 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808194e: 49c8 ldr r1, [pc, #800] ; (8081c70 ) 8081950: 48ca ldr r0, [pc, #808] ; (8081c7c ) 8081952: f7d2 fe5d bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 8081956: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808195a: 461a mov r2, r3 808195c: 214a movs r1, #74 ; 0x4a 808195e: f44f 7082 mov.w r0, #260 ; 0x104 8081962: f7d3 fc15 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8081966: f507 735e add.w r3, r7, #888 ; 0x378 808196a: 461a mov r2, r3 808196c: 215a movs r1, #90 ; 0x5a 808196e: f44f 7082 mov.w r0, #260 ; 0x104 8081972: f7d3 fc0d bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8081976: f507 7359 add.w r3, r7, #868 ; 0x364 808197a: 461a mov r2, r3 808197c: 216a movs r1, #106 ; 0x6a 808197e: f44f 7082 mov.w r0, #260 ; 0x104 8081982: f7d3 fc05 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8081986: f507 7354 add.w r3, r7, #848 ; 0x350 808198a: 461a mov r2, r3 808198c: 217a movs r1, #122 ; 0x7a 808198e: f44f 7082 mov.w r0, #260 ; 0x104 8081992: f7d3 fbfd bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8081996: f507 734f add.w r3, r7, #828 ; 0x33c 808199a: 461a mov r2, r3 808199c: 218a movs r1, #138 ; 0x8a 808199e: f44f 7082 mov.w r0, #260 ; 0x104 80819a2: f7d3 fbf5 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80819a6: 4bb3 ldr r3, [pc, #716] ; (8081c74 ) 80819a8: 7b5b ldrb r3, [r3, #13] 80819aa: b2db uxtb r3, r3 80819ac: 461a mov r2, r3 80819ae: 4bb4 ldr r3, [pc, #720] ; (8081c80 ) 80819b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80819b4: 461a mov r2, r3 80819b6: 219a movs r1, #154 ; 0x9a 80819b8: f44f 7082 mov.w r0, #260 ; 0x104 80819bc: f7d3 fbe8 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 80819c0: f507 734a add.w r3, r7, #808 ; 0x328 80819c4: 461a mov r2, r3 80819c6: 21ca movs r1, #202 ; 0xca 80819c8: f44f 7082 mov.w r0, #260 ; 0x104 80819cc: f7d3 fbe0 bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 80819d0: 4ba8 ldr r3, [pc, #672] ; (8081c74 ) 80819d2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80819d6: f003 0304 and.w r3, r3, #4 80819da: 2b00 cmp r3, #0 80819dc: d035 beq.n 8081a4a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80819de: 49a4 ldr r1, [pc, #656] ; (8081c70 ) 80819e0: 48a8 ldr r0, [pc, #672] ; (8081c84 ) 80819e2: f7d2 fe15 bl 8054610 if(pardata.IIN != VOLTS) 80819e6: 4ba3 ldr r3, [pc, #652] ; (8081c74 ) 80819e8: 799b ldrb r3, [r3, #6] 80819ea: b2db uxtb r3, r3 80819ec: 2b02 cmp r3, #2 80819ee: d011 beq.n 8081a14 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80819f0: 4ba0 ldr r3, [pc, #640] ; (8081c74 ) 80819f2: 7b1b ldrb r3, [r3, #12] 80819f4: b2db uxtb r3, r3 80819f6: 4619 mov r1, r3 80819f8: 4aa3 ldr r2, [pc, #652] ; (8081c88 ) 80819fa: 460b mov r3, r1 80819fc: 00db lsls r3, r3, #3 80819fe: 440b add r3, r1 8081a00: 009b lsls r3, r3, #2 8081a02: 4413 add r3, r2 8081a04: 331c adds r3, #28 8081a06: 681b ldr r3, [r3, #0] 8081a08: 461a mov r2, r3 8081a0a: 21ba movs r1, #186 ; 0xba 8081a0c: 200a movs r0, #10 8081a0e: f7d3 fba7 bl 8055160 8081a12: e010 b.n 8081a36 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081a14: 4b97 ldr r3, [pc, #604] ; (8081c74 ) 8081a16: 7b1b ldrb r3, [r3, #12] 8081a18: b2db uxtb r3, r3 8081a1a: 4619 mov r1, r3 8081a1c: 4a9b ldr r2, [pc, #620] ; (8081c8c ) 8081a1e: 460b mov r3, r1 8081a20: 00db lsls r3, r3, #3 8081a22: 440b add r3, r1 8081a24: 009b lsls r3, r3, #2 8081a26: 4413 add r3, r2 8081a28: 331c adds r3, #28 8081a2a: 681b ldr r3, [r3, #0] 8081a2c: 461a mov r2, r3 8081a2e: 21ba movs r1, #186 ; 0xba 8081a30: 200a movs r0, #10 8081a32: f7d3 fb95 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_11, str); 8081a36: f507 733b add.w r3, r7, #748 ; 0x2ec 8081a3a: 461a mov r2, r3 8081a3c: 21ba movs r1, #186 ; 0xba 8081a3e: f44f 7082 mov.w r0, #260 ; 0x104 8081a42: f7d3 fba5 bl 8055190 8081a46: f001 bfbd b.w 80839c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081a4a: 4989 ldr r1, [pc, #548] ; (8081c70 ) 8081a4c: f04f 30ff mov.w r0, #4294967295 8081a50: f7d2 fdde bl 8054610 if(pardata.IIN != VOLTS) 8081a54: 4b87 ldr r3, [pc, #540] ; (8081c74 ) 8081a56: 799b ldrb r3, [r3, #6] 8081a58: b2db uxtb r3, r3 8081a5a: 2b02 cmp r3, #2 8081a5c: d011 beq.n 8081a82 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081a5e: 4b85 ldr r3, [pc, #532] ; (8081c74 ) 8081a60: 7b1b ldrb r3, [r3, #12] 8081a62: b2db uxtb r3, r3 8081a64: 4619 mov r1, r3 8081a66: 4a88 ldr r2, [pc, #544] ; (8081c88 ) 8081a68: 460b mov r3, r1 8081a6a: 00db lsls r3, r3, #3 8081a6c: 440b add r3, r1 8081a6e: 009b lsls r3, r3, #2 8081a70: 4413 add r3, r2 8081a72: 331c adds r3, #28 8081a74: 681b ldr r3, [r3, #0] 8081a76: 461a mov r2, r3 8081a78: 21ba movs r1, #186 ; 0xba 8081a7a: 200a movs r0, #10 8081a7c: f7d3 fb70 bl 8055160 8081a80: e010 b.n 8081aa4 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081a82: 4b7c ldr r3, [pc, #496] ; (8081c74 ) 8081a84: 7b1b ldrb r3, [r3, #12] 8081a86: b2db uxtb r3, r3 8081a88: 4619 mov r1, r3 8081a8a: 4a80 ldr r2, [pc, #512] ; (8081c8c ) 8081a8c: 460b mov r3, r1 8081a8e: 00db lsls r3, r3, #3 8081a90: 440b add r3, r1 8081a92: 009b lsls r3, r3, #2 8081a94: 4413 add r3, r2 8081a96: 331c adds r3, #28 8081a98: 681b ldr r3, [r3, #0] 8081a9a: 461a mov r2, r3 8081a9c: 21ba movs r1, #186 ; 0xba 8081a9e: 200a movs r0, #10 8081aa0: f7d3 fb5e bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081aa4: 4972 ldr r1, [pc, #456] ; (8081c70 ) 8081aa6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081aaa: f7d2 fdb1 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, str); 8081aae: f507 733b add.w r3, r7, #748 ; 0x2ec 8081ab2: 461a mov r2, r3 8081ab4: 21ba movs r1, #186 ; 0xba 8081ab6: f44f 7082 mov.w r0, #260 ; 0x104 8081aba: f7d3 fb69 bl 8055190 8081abe: f001 bf81 b.w 80839c4 } } else if(menupos == D_Rate) 8081ac2: 4b6a ldr r3, [pc, #424] ; (8081c6c ) 8081ac4: 781b ldrb r3, [r3, #0] 8081ac6: b2db uxtb r3, r3 8081ac8: 2b09 cmp r3, #9 8081aca: f040 80e1 bne.w 8081c90 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081ace: 4968 ldr r1, [pc, #416] ; (8081c70 ) 8081ad0: f04f 30ff mov.w r0, #4294967295 8081ad4: f7d2 fd9c bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8081ad8: 4b66 ldr r3, [pc, #408] ; (8081c74 ) 8081ada: 7b1b ldrb r3, [r3, #12] 8081adc: b2db uxtb r3, r3 8081ade: 461a mov r2, r3 8081ae0: 4b65 ldr r3, [pc, #404] ; (8081c78 ) 8081ae2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081ae6: 461a mov r2, r3 8081ae8: 213a movs r1, #58 ; 0x3a 8081aea: 200a movs r0, #10 8081aec: f7d3 fb38 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081af0: 495f ldr r1, [pc, #380] ; (8081c70 ) 8081af2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081af6: f7d2 fd8b bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8081afa: f507 734a add.w r3, r7, #808 ; 0x328 8081afe: 461a mov r2, r3 8081b00: 21ca movs r1, #202 ; 0xca 8081b02: f44f 7082 mov.w r0, #260 ; 0x104 8081b06: f7d3 fb43 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081b0a: 4959 ldr r1, [pc, #356] ; (8081c70 ) 8081b0c: 485b ldr r0, [pc, #364] ; (8081c7c ) 8081b0e: f7d2 fd7f bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 8081b12: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8081b16: 461a mov r2, r3 8081b18: 214a movs r1, #74 ; 0x4a 8081b1a: f44f 7082 mov.w r0, #260 ; 0x104 8081b1e: f7d3 fb37 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8081b22: f507 735e add.w r3, r7, #888 ; 0x378 8081b26: 461a mov r2, r3 8081b28: 215a movs r1, #90 ; 0x5a 8081b2a: f44f 7082 mov.w r0, #260 ; 0x104 8081b2e: f7d3 fb2f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8081b32: f507 7359 add.w r3, r7, #868 ; 0x364 8081b36: 461a mov r2, r3 8081b38: 216a movs r1, #106 ; 0x6a 8081b3a: f44f 7082 mov.w r0, #260 ; 0x104 8081b3e: f7d3 fb27 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8081b42: f507 7354 add.w r3, r7, #848 ; 0x350 8081b46: 461a mov r2, r3 8081b48: 217a movs r1, #122 ; 0x7a 8081b4a: f44f 7082 mov.w r0, #260 ; 0x104 8081b4e: f7d3 fb1f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8081b52: f507 734f add.w r3, r7, #828 ; 0x33c 8081b56: 461a mov r2, r3 8081b58: 218a movs r1, #138 ; 0x8a 8081b5a: f44f 7082 mov.w r0, #260 ; 0x104 8081b5e: f7d3 fb17 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8081b62: 4b44 ldr r3, [pc, #272] ; (8081c74 ) 8081b64: 7b5b ldrb r3, [r3, #13] 8081b66: b2db uxtb r3, r3 8081b68: 461a mov r2, r3 8081b6a: 4b45 ldr r3, [pc, #276] ; (8081c80 ) 8081b6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081b70: 461a mov r2, r3 8081b72: 219a movs r1, #154 ; 0x9a 8081b74: f44f 7082 mov.w r0, #260 ; 0x104 8081b78: f7d3 fb0a bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8081b7c: 4b3d ldr r3, [pc, #244] ; (8081c74 ) 8081b7e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8081b82: f003 0304 and.w r3, r3, #4 8081b86: 2b00 cmp r3, #0 8081b88: d035 beq.n 8081bf6 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8081b8a: 4939 ldr r1, [pc, #228] ; (8081c70 ) 8081b8c: 483d ldr r0, [pc, #244] ; (8081c84 ) 8081b8e: f7d2 fd3f bl 8054610 if(pardata.IIN != VOLTS) 8081b92: 4b38 ldr r3, [pc, #224] ; (8081c74 ) 8081b94: 799b ldrb r3, [r3, #6] 8081b96: b2db uxtb r3, r3 8081b98: 2b02 cmp r3, #2 8081b9a: d011 beq.n 8081bc0 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081b9c: 4b35 ldr r3, [pc, #212] ; (8081c74 ) 8081b9e: 7b1b ldrb r3, [r3, #12] 8081ba0: b2db uxtb r3, r3 8081ba2: 4619 mov r1, r3 8081ba4: 4a38 ldr r2, [pc, #224] ; (8081c88 ) 8081ba6: 460b mov r3, r1 8081ba8: 00db lsls r3, r3, #3 8081baa: 440b add r3, r1 8081bac: 009b lsls r3, r3, #2 8081bae: 4413 add r3, r2 8081bb0: 331c adds r3, #28 8081bb2: 681b ldr r3, [r3, #0] 8081bb4: 461a mov r2, r3 8081bb6: 21ba movs r1, #186 ; 0xba 8081bb8: 200a movs r0, #10 8081bba: f7d3 fad1 bl 8055160 8081bbe: e010 b.n 8081be2 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081bc0: 4b2c ldr r3, [pc, #176] ; (8081c74 ) 8081bc2: 7b1b ldrb r3, [r3, #12] 8081bc4: b2db uxtb r3, r3 8081bc6: 4619 mov r1, r3 8081bc8: 4a30 ldr r2, [pc, #192] ; (8081c8c ) 8081bca: 460b mov r3, r1 8081bcc: 00db lsls r3, r3, #3 8081bce: 440b add r3, r1 8081bd0: 009b lsls r3, r3, #2 8081bd2: 4413 add r3, r2 8081bd4: 331c adds r3, #28 8081bd6: 681b ldr r3, [r3, #0] 8081bd8: 461a mov r2, r3 8081bda: 21ba movs r1, #186 ; 0xba 8081bdc: 200a movs r0, #10 8081bde: f7d3 fabf bl 8055160 LCD_DisplayStringC(260, LCD_LINE_11, str); 8081be2: f507 733b add.w r3, r7, #748 ; 0x2ec 8081be6: 461a mov r2, r3 8081be8: 21ba movs r1, #186 ; 0xba 8081bea: f44f 7082 mov.w r0, #260 ; 0x104 8081bee: f7d3 facf bl 8055190 8081bf2: f001 bee7 b.w 80839c4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081bf6: 491e ldr r1, [pc, #120] ; (8081c70 ) 8081bf8: f04f 30ff mov.w r0, #4294967295 8081bfc: f7d2 fd08 bl 8054610 if(pardata.IIN != VOLTS) 8081c00: 4b1c ldr r3, [pc, #112] ; (8081c74 ) 8081c02: 799b ldrb r3, [r3, #6] 8081c04: b2db uxtb r3, r3 8081c06: 2b02 cmp r3, #2 8081c08: d011 beq.n 8081c2e LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081c0a: 4b1a ldr r3, [pc, #104] ; (8081c74 ) 8081c0c: 7b1b ldrb r3, [r3, #12] 8081c0e: b2db uxtb r3, r3 8081c10: 4619 mov r1, r3 8081c12: 4a1d ldr r2, [pc, #116] ; (8081c88 ) 8081c14: 460b mov r3, r1 8081c16: 00db lsls r3, r3, #3 8081c18: 440b add r3, r1 8081c1a: 009b lsls r3, r3, #2 8081c1c: 4413 add r3, r2 8081c1e: 331c adds r3, #28 8081c20: 681b ldr r3, [r3, #0] 8081c22: 461a mov r2, r3 8081c24: 21ba movs r1, #186 ; 0xba 8081c26: 200a movs r0, #10 8081c28: f7d3 fa9a bl 8055160 8081c2c: e010 b.n 8081c50 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081c2e: 4b11 ldr r3, [pc, #68] ; (8081c74 ) 8081c30: 7b1b ldrb r3, [r3, #12] 8081c32: b2db uxtb r3, r3 8081c34: 4619 mov r1, r3 8081c36: 4a15 ldr r2, [pc, #84] ; (8081c8c ) 8081c38: 460b mov r3, r1 8081c3a: 00db lsls r3, r3, #3 8081c3c: 440b add r3, r1 8081c3e: 009b lsls r3, r3, #2 8081c40: 4413 add r3, r2 8081c42: 331c adds r3, #28 8081c44: 681b ldr r3, [r3, #0] 8081c46: 461a mov r2, r3 8081c48: 21ba movs r1, #186 ; 0xba 8081c4a: 200a movs r0, #10 8081c4c: f7d3 fa88 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081c50: 4907 ldr r1, [pc, #28] ; (8081c70 ) 8081c52: 480a ldr r0, [pc, #40] ; (8081c7c ) 8081c54: f7d2 fcdc bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, str); 8081c58: f507 733b add.w r3, r7, #748 ; 0x2ec 8081c5c: 461a mov r2, r3 8081c5e: 21ba movs r1, #186 ; 0xba 8081c60: f44f 7082 mov.w r0, #260 ; 0x104 8081c64: f7d3 fa94 bl 8055190 8081c68: f001 beac b.w 80839c4 8081c6c: 20020070 .word 0x20020070 8081c70: ff0a0f1f .word 0xff0a0f1f 8081c74: 20023ea8 .word 0x20023ea8 8081c78: 200205cc .word 0x200205cc 8081c7c: ffd8aa57 .word 0xffd8aa57 8081c80: 2002022c .word 0x2002022c 8081c84: ff808080 .word 0xff808080 8081c88: 2002076c .word 0x2002076c 8081c8c: 200207b4 .word 0x200207b4 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081c90: 49aa ldr r1, [pc, #680] ; (8081f3c ) 8081c92: f04f 30ff mov.w r0, #4294967295 8081c96: f7d2 fcbb bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8081c9a: 4ba9 ldr r3, [pc, #676] ; (8081f40 ) 8081c9c: 7b1b ldrb r3, [r3, #12] 8081c9e: b2db uxtb r3, r3 8081ca0: 461a mov r2, r3 8081ca2: 4ba8 ldr r3, [pc, #672] ; (8081f44 ) 8081ca4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081ca8: 461a mov r2, r3 8081caa: 213a movs r1, #58 ; 0x3a 8081cac: 200a movs r0, #10 8081cae: f7d3 fa57 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081cb2: 49a2 ldr r1, [pc, #648] ; (8081f3c ) 8081cb4: 48a4 ldr r0, [pc, #656] ; (8081f48 ) 8081cb6: f7d2 fcab bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 8081cba: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8081cbe: 461a mov r2, r3 8081cc0: 214a movs r1, #74 ; 0x4a 8081cc2: f44f 7082 mov.w r0, #260 ; 0x104 8081cc6: f7d3 fa63 bl 8055190 if((menupos < D_Roll_IES) || (menupos > D_Roll_IKT)) 8081cca: 4ba0 ldr r3, [pc, #640] ; (8081f4c ) 8081ccc: 781b ldrb r3, [r3, #0] 8081cce: b2db uxtb r3, r3 8081cd0: 2b09 cmp r3, #9 8081cd2: d904 bls.n 8081cde 8081cd4: 4b9d ldr r3, [pc, #628] ; (8081f4c ) 8081cd6: 781b ldrb r3, [r3, #0] 8081cd8: b2db uxtb r3, r3 8081cda: 2b0f cmp r3, #15 8081cdc: d907 bls.n 8081cee LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8081cde: f507 735e add.w r3, r7, #888 ; 0x378 8081ce2: 461a mov r2, r3 8081ce4: 215a movs r1, #90 ; 0x5a 8081ce6: f44f 7082 mov.w r0, #260 ; 0x104 8081cea: f7d3 fa51 bl 8055190 if((menupos < D_Outer_IES) || (menupos > D_Outer_IKT)) 8081cee: 4b97 ldr r3, [pc, #604] ; (8081f4c ) 8081cf0: 781b ldrb r3, [r3, #0] 8081cf2: b2db uxtb r3, r3 8081cf4: 2b0f cmp r3, #15 8081cf6: d904 bls.n 8081d02 8081cf8: 4b94 ldr r3, [pc, #592] ; (8081f4c ) 8081cfa: 781b ldrb r3, [r3, #0] 8081cfc: b2db uxtb r3, r3 8081cfe: 2b15 cmp r3, #21 8081d00: d907 bls.n 8081d12 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8081d02: f507 7359 add.w r3, r7, #868 ; 0x364 8081d06: 461a mov r2, r3 8081d08: 216a movs r1, #106 ; 0x6a 8081d0a: f44f 7082 mov.w r0, #260 ; 0x104 8081d0e: f7d3 fa3f bl 8055190 if((menupos < D_Inner_IES) || (menupos > D_Inner_IKT)) 8081d12: 4b8e ldr r3, [pc, #568] ; (8081f4c ) 8081d14: 781b ldrb r3, [r3, #0] 8081d16: b2db uxtb r3, r3 8081d18: 2b15 cmp r3, #21 8081d1a: d904 bls.n 8081d26 8081d1c: 4b8b ldr r3, [pc, #556] ; (8081f4c ) 8081d1e: 781b ldrb r3, [r3, #0] 8081d20: b2db uxtb r3, r3 8081d22: 2b1b cmp r3, #27 8081d24: d907 bls.n 8081d36 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8081d26: f507 7354 add.w r3, r7, #848 ; 0x350 8081d2a: 461a mov r2, r3 8081d2c: 217a movs r1, #122 ; 0x7a 8081d2e: f44f 7082 mov.w r0, #260 ; 0x104 8081d32: f7d3 fa2d bl 8055190 if((menupos < D_Angle_IES) || (menupos > D_Angle_IKT)) 8081d36: 4b85 ldr r3, [pc, #532] ; (8081f4c ) 8081d38: 781b ldrb r3, [r3, #0] 8081d3a: b2db uxtb r3, r3 8081d3c: 2b1b cmp r3, #27 8081d3e: d904 bls.n 8081d4a 8081d40: 4b82 ldr r3, [pc, #520] ; (8081f4c ) 8081d42: 781b ldrb r3, [r3, #0] 8081d44: b2db uxtb r3, r3 8081d46: 2b21 cmp r3, #33 ; 0x21 8081d48: d907 bls.n 8081d5a LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8081d4a: f507 734f add.w r3, r7, #828 ; 0x33c 8081d4e: 461a mov r2, r3 8081d50: 218a movs r1, #138 ; 0x8a 8081d52: f44f 7082 mov.w r0, #260 ; 0x104 8081d56: f7d3 fa1b bl 8055190 if((menupos < D_Rate_IET) || (menupos > D_Rate_IEE)) 8081d5a: 4b7c ldr r3, [pc, #496] ; (8081f4c ) 8081d5c: 781b ldrb r3, [r3, #0] 8081d5e: b2db uxtb r3, r3 8081d60: 2b21 cmp r3, #33 ; 0x21 8081d62: d904 bls.n 8081d6e 8081d64: 4b79 ldr r3, [pc, #484] ; (8081f4c ) 8081d66: 781b ldrb r3, [r3, #0] 8081d68: b2db uxtb r3, r3 8081d6a: 2b25 cmp r3, #37 ; 0x25 8081d6c: d907 bls.n 8081d7e LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8081d6e: f507 734a add.w r3, r7, #808 ; 0x328 8081d72: 461a mov r2, r3 8081d74: 21ca movs r1, #202 ; 0xca 8081d76: f44f 7082 mov.w r0, #260 ; 0x104 8081d7a: f7d3 fa09 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8081d7e: 4b70 ldr r3, [pc, #448] ; (8081f40 ) 8081d80: 7b5b ldrb r3, [r3, #13] 8081d82: b2db uxtb r3, r3 8081d84: 461a mov r2, r3 8081d86: 4b72 ldr r3, [pc, #456] ; (8081f50 ) 8081d88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081d8c: 461a mov r2, r3 8081d8e: 219a movs r1, #154 ; 0x9a 8081d90: f44f 7082 mov.w r0, #260 ; 0x104 8081d94: f7d3 f9fc bl 8055190 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8081d98: 4b69 ldr r3, [pc, #420] ; (8081f40 ) 8081d9a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8081d9e: f003 0304 and.w r3, r3, #4 8081da2: 2b00 cmp r3, #0 8081da4: d034 beq.n 8081e10 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8081da6: 4965 ldr r1, [pc, #404] ; (8081f3c ) 8081da8: 486a ldr r0, [pc, #424] ; (8081f54 ) 8081daa: f7d2 fc31 bl 8054610 if(pardata.IIN != VOLTS) 8081dae: 4b64 ldr r3, [pc, #400] ; (8081f40 ) 8081db0: 799b ldrb r3, [r3, #6] 8081db2: b2db uxtb r3, r3 8081db4: 2b02 cmp r3, #2 8081db6: d011 beq.n 8081ddc LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081db8: 4b61 ldr r3, [pc, #388] ; (8081f40 ) 8081dba: 7b1b ldrb r3, [r3, #12] 8081dbc: b2db uxtb r3, r3 8081dbe: 4619 mov r1, r3 8081dc0: 4a65 ldr r2, [pc, #404] ; (8081f58 ) 8081dc2: 460b mov r3, r1 8081dc4: 00db lsls r3, r3, #3 8081dc6: 440b add r3, r1 8081dc8: 009b lsls r3, r3, #2 8081dca: 4413 add r3, r2 8081dcc: 331c adds r3, #28 8081dce: 681b ldr r3, [r3, #0] 8081dd0: 461a mov r2, r3 8081dd2: 21ba movs r1, #186 ; 0xba 8081dd4: 200a movs r0, #10 8081dd6: f7d3 f9c3 bl 8055160 8081dda: e010 b.n 8081dfe else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081ddc: 4b58 ldr r3, [pc, #352] ; (8081f40 ) 8081dde: 7b1b ldrb r3, [r3, #12] 8081de0: b2db uxtb r3, r3 8081de2: 4619 mov r1, r3 8081de4: 4a5d ldr r2, [pc, #372] ; (8081f5c ) 8081de6: 460b mov r3, r1 8081de8: 00db lsls r3, r3, #3 8081dea: 440b add r3, r1 8081dec: 009b lsls r3, r3, #2 8081dee: 4413 add r3, r2 8081df0: 331c adds r3, #28 8081df2: 681b ldr r3, [r3, #0] 8081df4: 461a mov r2, r3 8081df6: 21ba movs r1, #186 ; 0xba 8081df8: 200a movs r0, #10 8081dfa: f7d3 f9b1 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_11, str); 8081dfe: f507 733b add.w r3, r7, #748 ; 0x2ec 8081e02: 461a mov r2, r3 8081e04: 21ba movs r1, #186 ; 0xba 8081e06: f44f 7082 mov.w r0, #260 ; 0x104 8081e0a: f7d3 f9c1 bl 8055190 8081e0e: e042 b.n 8081e96 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8081e10: 494a ldr r1, [pc, #296] ; (8081f3c ) 8081e12: f04f 30ff mov.w r0, #4294967295 8081e16: f7d2 fbfb bl 8054610 if(pardata.IIN != VOLTS) 8081e1a: 4b49 ldr r3, [pc, #292] ; (8081f40 ) 8081e1c: 799b ldrb r3, [r3, #6] 8081e1e: b2db uxtb r3, r3 8081e20: 2b02 cmp r3, #2 8081e22: d011 beq.n 8081e48 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8081e24: 4b46 ldr r3, [pc, #280] ; (8081f40 ) 8081e26: 7b1b ldrb r3, [r3, #12] 8081e28: b2db uxtb r3, r3 8081e2a: 4619 mov r1, r3 8081e2c: 4a4a ldr r2, [pc, #296] ; (8081f58 ) 8081e2e: 460b mov r3, r1 8081e30: 00db lsls r3, r3, #3 8081e32: 440b add r3, r1 8081e34: 009b lsls r3, r3, #2 8081e36: 4413 add r3, r2 8081e38: 331c adds r3, #28 8081e3a: 681b ldr r3, [r3, #0] 8081e3c: 461a mov r2, r3 8081e3e: 21ba movs r1, #186 ; 0xba 8081e40: 200a movs r0, #10 8081e42: f7d3 f98d bl 8055160 8081e46: e010 b.n 8081e6a else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8081e48: 4b3d ldr r3, [pc, #244] ; (8081f40 ) 8081e4a: 7b1b ldrb r3, [r3, #12] 8081e4c: b2db uxtb r3, r3 8081e4e: 4619 mov r1, r3 8081e50: 4a42 ldr r2, [pc, #264] ; (8081f5c ) 8081e52: 460b mov r3, r1 8081e54: 00db lsls r3, r3, #3 8081e56: 440b add r3, r1 8081e58: 009b lsls r3, r3, #2 8081e5a: 4413 add r3, r2 8081e5c: 331c adds r3, #28 8081e5e: 681b ldr r3, [r3, #0] 8081e60: 461a mov r2, r3 8081e62: 21ba movs r1, #186 ; 0xba 8081e64: 200a movs r0, #10 8081e66: f7d3 f97b bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081e6a: 4934 ldr r1, [pc, #208] ; (8081f3c ) 8081e6c: 4836 ldr r0, [pc, #216] ; (8081f48 ) 8081e6e: f7d2 fbcf bl 8054610 if((menupos < RollMax_IDT) || (menupos > RollMax_IKD)) 8081e72: 4b36 ldr r3, [pc, #216] ; (8081f4c ) 8081e74: 781b ldrb r3, [r3, #0] 8081e76: b2db uxtb r3, r3 8081e78: 2b25 cmp r3, #37 ; 0x25 8081e7a: d904 bls.n 8081e86 8081e7c: 4b33 ldr r3, [pc, #204] ; (8081f4c ) 8081e7e: 781b ldrb r3, [r3, #0] 8081e80: b2db uxtb r3, r3 8081e82: 2b2b cmp r3, #43 ; 0x2b 8081e84: d907 bls.n 8081e96 LCD_DisplayStringC(260, LCD_LINE_11, str); 8081e86: f507 733b add.w r3, r7, #748 ; 0x2ec 8081e8a: 461a mov r2, r3 8081e8c: 21ba movs r1, #186 ; 0xba 8081e8e: f44f 7082 mov.w r0, #260 ; 0x104 8081e92: f7d3 f97d bl 8055190 } if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 8081e96: 4b2d ldr r3, [pc, #180] ; (8081f4c ) 8081e98: 781b ldrb r3, [r3, #0] 8081e9a: b2db uxtb r3, r3 8081e9c: 2b21 cmp r3, #33 ; 0x21 8081e9e: f240 8136 bls.w 808210e 8081ea2: 4b2a ldr r3, [pc, #168] ; (8081f4c ) 8081ea4: 781b ldrb r3, [r3, #0] 8081ea6: b2db uxtb r3, r3 8081ea8: 2b25 cmp r3, #37 ; 0x25 8081eaa: f200 8130 bhi.w 808210e { if(menupos == D_Rate_IET) 8081eae: 4b27 ldr r3, [pc, #156] ; (8081f4c ) 8081eb0: 781b ldrb r3, [r3, #0] 8081eb2: b2db uxtb r3, r3 8081eb4: 2b22 cmp r3, #34 ; 0x22 8081eb6: d157 bne.n 8081f68 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081eb8: 4920 ldr r1, [pc, #128] ; (8081f3c ) 8081eba: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081ebe: f7d2 fba7 bl 8054610 if(blk) 8081ec2: 4b27 ldr r3, [pc, #156] ; (8081f60 ) 8081ec4: 681b ldr r3, [r3, #0] 8081ec6: 2b00 cmp r3, #0 8081ec8: d00b beq.n 8081ee2 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 8081eca: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8081ece: b2db uxtb r3, r3 8081ed0: 461a mov r2, r3 8081ed2: 4b24 ldr r3, [pc, #144] ; (8081f64 ) 8081ed4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081ed8: 461a mov r2, r3 8081eda: 21ca movs r1, #202 ; 0xca 8081edc: 20e6 movs r0, #230 ; 0xe6 8081ede: f7d3 f93f bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081ee2: 4916 ldr r1, [pc, #88] ; (8081f3c ) 8081ee4: 4818 ldr r0, [pc, #96] ; (8081f48 ) 8081ee6: f7d2 fb93 bl 8054610 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 8081eea: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 8081eee: b2db uxtb r3, r3 8081ef0: 461a mov r2, r3 8081ef2: 4b1c ldr r3, [pc, #112] ; (8081f64 ) 8081ef4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081ef8: 461a mov r2, r3 8081efa: 21ca movs r1, #202 ; 0xca 8081efc: 20f6 movs r0, #246 ; 0xf6 8081efe: f7d3 f92f bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 8081f02: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8081f06: b2db uxtb r3, r3 8081f08: 461a mov r2, r3 8081f0a: 4b16 ldr r3, [pc, #88] ; (8081f64 ) 8081f0c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081f10: 461a mov r2, r3 8081f12: 21ca movs r1, #202 ; 0xca 8081f14: f44f 7083 mov.w r0, #262 ; 0x106 8081f18: f7d3 f922 bl 8055160 LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 8081f1c: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8081f20: b2db uxtb r3, r3 8081f22: 461a mov r2, r3 8081f24: 4b0f ldr r3, [pc, #60] ; (8081f64 ) 8081f26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081f2a: 461a mov r2, r3 8081f2c: 21ca movs r1, #202 ; 0xca 8081f2e: f44f 708b mov.w r0, #278 ; 0x116 8081f32: f7d3 f915 bl 8055160 if(menupos == D_Rate_IET) 8081f36: f001 bd3c b.w 80839b2 8081f3a: bf00 nop 8081f3c: ff0a0f1f .word 0xff0a0f1f 8081f40: 20023ea8 .word 0x20023ea8 8081f44: 200205cc .word 0x200205cc 8081f48: ffd8aa57 .word 0xffd8aa57 8081f4c: 20020070 .word 0x20020070 8081f50: 2002022c .word 0x2002022c 8081f54: ff808080 .word 0xff808080 8081f58: 2002076c .word 0x2002076c 8081f5c: 200207b4 .word 0x200207b4 8081f60: 200216a4 .word 0x200216a4 8081f64: 2002096c .word 0x2002096c } else if(menupos == D_Rate_IES) 8081f68: 4ba1 ldr r3, [pc, #644] ; (80821f0 ) 8081f6a: 781b ldrb r3, [r3, #0] 8081f6c: b2db uxtb r3, r3 8081f6e: 2b23 cmp r3, #35 ; 0x23 8081f70: d140 bne.n 8081ff4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081f72: 49a0 ldr r1, [pc, #640] ; (80821f4 ) 8081f74: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081f78: f7d2 fb4a bl 8054610 if(blk) 8081f7c: 4b9e ldr r3, [pc, #632] ; (80821f8 ) 8081f7e: 681b ldr r3, [r3, #0] 8081f80: 2b00 cmp r3, #0 8081f82: d00b beq.n 8081f9c LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 8081f84: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 8081f88: b2db uxtb r3, r3 8081f8a: 461a mov r2, r3 8081f8c: 4b9b ldr r3, [pc, #620] ; (80821fc ) 8081f8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081f92: 461a mov r2, r3 8081f94: 21ca movs r1, #202 ; 0xca 8081f96: 20f6 movs r0, #246 ; 0xf6 8081f98: f7d3 f8e2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081f9c: 4995 ldr r1, [pc, #596] ; (80821f4 ) 8081f9e: 4898 ldr r0, [pc, #608] ; (8082200 ) 8081fa0: f7d2 fb36 bl 8054610 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 8081fa4: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8081fa8: b2db uxtb r3, r3 8081faa: 461a mov r2, r3 8081fac: 4b93 ldr r3, [pc, #588] ; (80821fc ) 8081fae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081fb2: 461a mov r2, r3 8081fb4: 21ca movs r1, #202 ; 0xca 8081fb6: 20e6 movs r0, #230 ; 0xe6 8081fb8: f7d3 f8d2 bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 8081fbc: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8081fc0: b2db uxtb r3, r3 8081fc2: 461a mov r2, r3 8081fc4: 4b8d ldr r3, [pc, #564] ; (80821fc ) 8081fc6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081fca: 461a mov r2, r3 8081fcc: 21ca movs r1, #202 ; 0xca 8081fce: f44f 7083 mov.w r0, #262 ; 0x106 8081fd2: f7d3 f8c5 bl 8055160 LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 8081fd6: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8081fda: b2db uxtb r3, r3 8081fdc: 461a mov r2, r3 8081fde: 4b87 ldr r3, [pc, #540] ; (80821fc ) 8081fe0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081fe4: 461a mov r2, r3 8081fe6: 21ca movs r1, #202 ; 0xca 8081fe8: f44f 708b mov.w r0, #278 ; 0x116 8081fec: f7d3 f8b8 bl 8055160 if(menupos == D_Rate_IET) 8081ff0: f001 bcdf b.w 80839b2 } else if(menupos == D_Rate_IED) 8081ff4: 4b7e ldr r3, [pc, #504] ; (80821f0 ) 8081ff6: 781b ldrb r3, [r3, #0] 8081ff8: b2db uxtb r3, r3 8081ffa: 2b24 cmp r3, #36 ; 0x24 8081ffc: d140 bne.n 8082080 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081ffe: 497d ldr r1, [pc, #500] ; (80821f4 ) 8082000: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082004: f7d2 fb04 bl 8054610 if(blk) 8082008: 4b7b ldr r3, [pc, #492] ; (80821f8 ) 808200a: 681b ldr r3, [r3, #0] 808200c: 2b00 cmp r3, #0 808200e: d00c beq.n 808202a LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 8082010: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8082014: b2db uxtb r3, r3 8082016: 461a mov r2, r3 8082018: 4b78 ldr r3, [pc, #480] ; (80821fc ) 808201a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808201e: 461a mov r2, r3 8082020: 21ca movs r1, #202 ; 0xca 8082022: f44f 7083 mov.w r0, #262 ; 0x106 8082026: f7d3 f89b bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808202a: 4972 ldr r1, [pc, #456] ; (80821f4 ) 808202c: 4874 ldr r0, [pc, #464] ; (8082200 ) 808202e: f7d2 faef bl 8054610 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 8082032: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8082036: b2db uxtb r3, r3 8082038: 461a mov r2, r3 808203a: 4b70 ldr r3, [pc, #448] ; (80821fc ) 808203c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082040: 461a mov r2, r3 8082042: 21ca movs r1, #202 ; 0xca 8082044: 20e6 movs r0, #230 ; 0xe6 8082046: f7d3 f88b bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 808204a: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 808204e: b2db uxtb r3, r3 8082050: 461a mov r2, r3 8082052: 4b6a ldr r3, [pc, #424] ; (80821fc ) 8082054: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082058: 461a mov r2, r3 808205a: 21ca movs r1, #202 ; 0xca 808205c: 20f6 movs r0, #246 ; 0xf6 808205e: f7d3 f87f bl 8055160 LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 8082062: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8082066: b2db uxtb r3, r3 8082068: 461a mov r2, r3 808206a: 4b64 ldr r3, [pc, #400] ; (80821fc ) 808206c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082070: 461a mov r2, r3 8082072: 21ca movs r1, #202 ; 0xca 8082074: f44f 708b mov.w r0, #278 ; 0x116 8082078: f7d3 f872 bl 8055160 if(menupos == D_Rate_IET) 808207c: f001 bc99 b.w 80839b2 } else if(menupos == D_Rate_IEE) 8082080: 4b5b ldr r3, [pc, #364] ; (80821f0 ) 8082082: 781b ldrb r3, [r3, #0] 8082084: b2db uxtb r3, r3 8082086: 2b25 cmp r3, #37 ; 0x25 8082088: f041 8493 bne.w 80839b2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808208c: 4959 ldr r1, [pc, #356] ; (80821f4 ) 808208e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082092: f7d2 fabd bl 8054610 if(blk) 8082096: 4b58 ldr r3, [pc, #352] ; (80821f8 ) 8082098: 681b ldr r3, [r3, #0] 808209a: 2b00 cmp r3, #0 808209c: d00c beq.n 80820b8 LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 808209e: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 80820a2: b2db uxtb r3, r3 80820a4: 461a mov r2, r3 80820a6: 4b55 ldr r3, [pc, #340] ; (80821fc ) 80820a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80820ac: 461a mov r2, r3 80820ae: 21ca movs r1, #202 ; 0xca 80820b0: f44f 708b mov.w r0, #278 ; 0x116 80820b4: f7d3 f854 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80820b8: 494e ldr r1, [pc, #312] ; (80821f4 ) 80820ba: 4851 ldr r0, [pc, #324] ; (8082200 ) 80820bc: f7d2 faa8 bl 8054610 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 80820c0: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 80820c4: b2db uxtb r3, r3 80820c6: 461a mov r2, r3 80820c8: 4b4c ldr r3, [pc, #304] ; (80821fc ) 80820ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80820ce: 461a mov r2, r3 80820d0: 21ca movs r1, #202 ; 0xca 80820d2: 20e6 movs r0, #230 ; 0xe6 80820d4: f7d3 f844 bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 80820d8: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 80820dc: b2db uxtb r3, r3 80820de: 461a mov r2, r3 80820e0: 4b46 ldr r3, [pc, #280] ; (80821fc ) 80820e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80820e6: 461a mov r2, r3 80820e8: 21ca movs r1, #202 ; 0xca 80820ea: 20f6 movs r0, #246 ; 0xf6 80820ec: f7d3 f838 bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 80820f0: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 80820f4: b2db uxtb r3, r3 80820f6: 461a mov r2, r3 80820f8: 4b40 ldr r3, [pc, #256] ; (80821fc ) 80820fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80820fe: 461a mov r2, r3 8082100: 21ca movs r1, #202 ; 0xca 8082102: f44f 7083 mov.w r0, #262 ; 0x106 8082106: f7d3 f82b bl 8055160 if(menupos == D_Rate_IET) 808210a: f001 bc52 b.w 80839b2 } } else if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 808210e: 4b38 ldr r3, [pc, #224] ; (80821f0 ) 8082110: 781b ldrb r3, [r3, #0] 8082112: b2db uxtb r3, r3 8082114: 2b09 cmp r3, #9 8082116: f240 8278 bls.w 808260a 808211a: 4b35 ldr r3, [pc, #212] ; (80821f0 ) 808211c: 781b ldrb r3, [r3, #0] 808211e: b2db uxtb r3, r3 8082120: 2b0f cmp r3, #15 8082122: f200 8272 bhi.w 808260a { if(menupos == D_Roll_IES) 8082126: 4b32 ldr r3, [pc, #200] ; (80821f0 ) 8082128: 781b ldrb r3, [r3, #0] 808212a: b2db uxtb r3, r3 808212c: 2b0a cmp r3, #10 808212e: d16b bne.n 8082208 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082130: 4930 ldr r1, [pc, #192] ; (80821f4 ) 8082132: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082136: f7d2 fa6b bl 8054610 if(blk) 808213a: 4b2f ldr r3, [pc, #188] ; (80821f8 ) 808213c: 681b ldr r3, [r3, #0] 808213e: 2b00 cmp r3, #0 8082140: d00b beq.n 808215a LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8082142: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8082146: b2db uxtb r3, r3 8082148: 461a mov r2, r3 808214a: 4b2c ldr r3, [pc, #176] ; (80821fc ) 808214c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082150: 461a mov r2, r3 8082152: 215a movs r1, #90 ; 0x5a 8082154: 20c6 movs r0, #198 ; 0xc6 8082156: f7d3 f803 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808215a: 4926 ldr r1, [pc, #152] ; (80821f4 ) 808215c: 4828 ldr r0, [pc, #160] ; (8082200 ) 808215e: f7d2 fa57 bl 8054610 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 8082162: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 8082166: b2db uxtb r3, r3 8082168: 461a mov r2, r3 808216a: 4b24 ldr r3, [pc, #144] ; (80821fc ) 808216c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082170: 461a mov r2, r3 8082172: 215a movs r1, #90 ; 0x5a 8082174: 20d6 movs r0, #214 ; 0xd6 8082176: f7d2 fff3 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 808217a: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 808217e: b2db uxtb r3, r3 8082180: 461a mov r2, r3 8082182: 4b1e ldr r3, [pc, #120] ; (80821fc ) 8082184: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082188: 461a mov r2, r3 808218a: 215a movs r1, #90 ; 0x5a 808218c: 20e6 movs r0, #230 ; 0xe6 808218e: f7d2 ffe7 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 8082192: 4a1c ldr r2, [pc, #112] ; (8082204 ) 8082194: 215a movs r1, #90 ; 0x5a 8082196: 20f6 movs r0, #246 ; 0xf6 8082198: f7d2 ffe2 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 808219c: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 80821a0: b2db uxtb r3, r3 80821a2: 461a mov r2, r3 80821a4: 4b15 ldr r3, [pc, #84] ; (80821fc ) 80821a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80821aa: 461a mov r2, r3 80821ac: 215a movs r1, #90 ; 0x5a 80821ae: f44f 7083 mov.w r0, #262 ; 0x106 80821b2: f7d2 ffd5 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 80821b6: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 80821ba: b2db uxtb r3, r3 80821bc: 461a mov r2, r3 80821be: 4b0f ldr r3, [pc, #60] ; (80821fc ) 80821c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80821c4: 461a mov r2, r3 80821c6: 215a movs r1, #90 ; 0x5a 80821c8: f44f 708b mov.w r0, #278 ; 0x116 80821cc: f7d2 ffc8 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 80821d0: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 80821d4: b2db uxtb r3, r3 80821d6: 461a mov r2, r3 80821d8: 4b08 ldr r3, [pc, #32] ; (80821fc ) 80821da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80821de: 461a mov r2, r3 80821e0: 215a movs r1, #90 ; 0x5a 80821e2: f44f 7093 mov.w r0, #294 ; 0x126 80821e6: f7d2 ffbb bl 8055160 if(menupos == D_Roll_IES) 80821ea: f001 bbe4 b.w 80839b6 80821ee: bf00 nop 80821f0: 20020070 .word 0x20020070 80821f4: ff0a0f1f .word 0xff0a0f1f 80821f8: 200216a4 .word 0x200216a4 80821fc: 2002096c .word 0x2002096c 8082200: ffd8aa57 .word 0xffd8aa57 8082204: 080d3b58 .word 0x080d3b58 } else if(menupos == D_Roll_IED) 8082208: 4bc7 ldr r3, [pc, #796] ; (8082528 ) 808220a: 781b ldrb r3, [r3, #0] 808220c: b2db uxtb r3, r3 808220e: 2b0b cmp r3, #11 8082210: d15e bne.n 80822d0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082212: 49c6 ldr r1, [pc, #792] ; (808252c ) 8082214: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082218: f7d2 f9fa bl 8054610 if(blk) 808221c: 4bc4 ldr r3, [pc, #784] ; (8082530 ) 808221e: 681b ldr r3, [r3, #0] 8082220: 2b00 cmp r3, #0 8082222: d00b beq.n 808223c LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 8082224: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 8082228: b2db uxtb r3, r3 808222a: 461a mov r2, r3 808222c: 4bc1 ldr r3, [pc, #772] ; (8082534 ) 808222e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082232: 461a mov r2, r3 8082234: 215a movs r1, #90 ; 0x5a 8082236: 20d6 movs r0, #214 ; 0xd6 8082238: f7d2 ff92 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808223c: 49bb ldr r1, [pc, #748] ; (808252c ) 808223e: 48be ldr r0, [pc, #760] ; (8082538 ) 8082240: f7d2 f9e6 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8082244: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8082248: b2db uxtb r3, r3 808224a: 461a mov r2, r3 808224c: 4bb9 ldr r3, [pc, #740] ; (8082534 ) 808224e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082252: 461a mov r2, r3 8082254: 215a movs r1, #90 ; 0x5a 8082256: 20c6 movs r0, #198 ; 0xc6 8082258: f7d2 ff82 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 808225c: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 8082260: b2db uxtb r3, r3 8082262: 461a mov r2, r3 8082264: 4bb3 ldr r3, [pc, #716] ; (8082534 ) 8082266: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808226a: 461a mov r2, r3 808226c: 215a movs r1, #90 ; 0x5a 808226e: 20e6 movs r0, #230 ; 0xe6 8082270: f7d2 ff76 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 8082274: 4ab1 ldr r2, [pc, #708] ; (808253c ) 8082276: 215a movs r1, #90 ; 0x5a 8082278: 20f6 movs r0, #246 ; 0xf6 808227a: f7d2 ff71 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 808227e: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 8082282: b2db uxtb r3, r3 8082284: 461a mov r2, r3 8082286: 4bab ldr r3, [pc, #684] ; (8082534 ) 8082288: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808228c: 461a mov r2, r3 808228e: 215a movs r1, #90 ; 0x5a 8082290: f44f 7083 mov.w r0, #262 ; 0x106 8082294: f7d2 ff64 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 8082298: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 808229c: b2db uxtb r3, r3 808229e: 461a mov r2, r3 80822a0: 4ba4 ldr r3, [pc, #656] ; (8082534 ) 80822a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80822a6: 461a mov r2, r3 80822a8: 215a movs r1, #90 ; 0x5a 80822aa: f44f 708b mov.w r0, #278 ; 0x116 80822ae: f7d2 ff57 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 80822b2: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 80822b6: b2db uxtb r3, r3 80822b8: 461a mov r2, r3 80822ba: 4b9e ldr r3, [pc, #632] ; (8082534 ) 80822bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80822c0: 461a mov r2, r3 80822c2: 215a movs r1, #90 ; 0x5a 80822c4: f44f 7093 mov.w r0, #294 ; 0x126 80822c8: f7d2 ff4a bl 8055160 if(menupos == D_Roll_IES) 80822cc: f001 bb73 b.w 80839b6 } else if(menupos == D_Roll_IEE) 80822d0: 4b95 ldr r3, [pc, #596] ; (8082528 ) 80822d2: 781b ldrb r3, [r3, #0] 80822d4: b2db uxtb r3, r3 80822d6: 2b0c cmp r3, #12 80822d8: d15e bne.n 8082398 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80822da: 4994 ldr r1, [pc, #592] ; (808252c ) 80822dc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80822e0: f7d2 f996 bl 8054610 if(blk) 80822e4: 4b92 ldr r3, [pc, #584] ; (8082530 ) 80822e6: 681b ldr r3, [r3, #0] 80822e8: 2b00 cmp r3, #0 80822ea: d00b beq.n 8082304 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 80822ec: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 80822f0: b2db uxtb r3, r3 80822f2: 461a mov r2, r3 80822f4: 4b8f ldr r3, [pc, #572] ; (8082534 ) 80822f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80822fa: 461a mov r2, r3 80822fc: 215a movs r1, #90 ; 0x5a 80822fe: 20e6 movs r0, #230 ; 0xe6 8082300: f7d2 ff2e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082304: 4989 ldr r1, [pc, #548] ; (808252c ) 8082306: 488c ldr r0, [pc, #560] ; (8082538 ) 8082308: f7d2 f982 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 808230c: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8082310: b2db uxtb r3, r3 8082312: 461a mov r2, r3 8082314: 4b87 ldr r3, [pc, #540] ; (8082534 ) 8082316: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808231a: 461a mov r2, r3 808231c: 215a movs r1, #90 ; 0x5a 808231e: 20c6 movs r0, #198 ; 0xc6 8082320: f7d2 ff1e bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 8082324: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 8082328: b2db uxtb r3, r3 808232a: 461a mov r2, r3 808232c: 4b81 ldr r3, [pc, #516] ; (8082534 ) 808232e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082332: 461a mov r2, r3 8082334: 215a movs r1, #90 ; 0x5a 8082336: 20d6 movs r0, #214 ; 0xd6 8082338: f7d2 ff12 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 808233c: 4a7f ldr r2, [pc, #508] ; (808253c ) 808233e: 215a movs r1, #90 ; 0x5a 8082340: 20f6 movs r0, #246 ; 0xf6 8082342: f7d2 ff0d bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 8082346: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 808234a: b2db uxtb r3, r3 808234c: 461a mov r2, r3 808234e: 4b79 ldr r3, [pc, #484] ; (8082534 ) 8082350: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082354: 461a mov r2, r3 8082356: 215a movs r1, #90 ; 0x5a 8082358: f44f 7083 mov.w r0, #262 ; 0x106 808235c: f7d2 ff00 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 8082360: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 8082364: b2db uxtb r3, r3 8082366: 461a mov r2, r3 8082368: 4b72 ldr r3, [pc, #456] ; (8082534 ) 808236a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808236e: 461a mov r2, r3 8082370: 215a movs r1, #90 ; 0x5a 8082372: f44f 708b mov.w r0, #278 ; 0x116 8082376: f7d2 fef3 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 808237a: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 808237e: b2db uxtb r3, r3 8082380: 461a mov r2, r3 8082382: 4b6c ldr r3, [pc, #432] ; (8082534 ) 8082384: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082388: 461a mov r2, r3 808238a: 215a movs r1, #90 ; 0x5a 808238c: f44f 7093 mov.w r0, #294 ; 0x126 8082390: f7d2 fee6 bl 8055160 if(menupos == D_Roll_IES) 8082394: f001 bb0f b.w 80839b6 } else if(menupos == D_Roll_IKD) 8082398: 4b63 ldr r3, [pc, #396] ; (8082528 ) 808239a: 781b ldrb r3, [r3, #0] 808239c: b2db uxtb r3, r3 808239e: 2b0d cmp r3, #13 80823a0: d15e bne.n 8082460 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80823a2: 4962 ldr r1, [pc, #392] ; (808252c ) 80823a4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80823a8: f7d2 f932 bl 8054610 if(blk) 80823ac: 4b60 ldr r3, [pc, #384] ; (8082530 ) 80823ae: 681b ldr r3, [r3, #0] 80823b0: 2b00 cmp r3, #0 80823b2: d00c beq.n 80823ce LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 80823b4: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 80823b8: b2db uxtb r3, r3 80823ba: 461a mov r2, r3 80823bc: 4b5d ldr r3, [pc, #372] ; (8082534 ) 80823be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80823c2: 461a mov r2, r3 80823c4: 215a movs r1, #90 ; 0x5a 80823c6: f44f 7083 mov.w r0, #262 ; 0x106 80823ca: f7d2 fec9 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80823ce: 4957 ldr r1, [pc, #348] ; (808252c ) 80823d0: 4859 ldr r0, [pc, #356] ; (8082538 ) 80823d2: f7d2 f91d bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 80823d6: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 80823da: b2db uxtb r3, r3 80823dc: 461a mov r2, r3 80823de: 4b55 ldr r3, [pc, #340] ; (8082534 ) 80823e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80823e4: 461a mov r2, r3 80823e6: 215a movs r1, #90 ; 0x5a 80823e8: 20c6 movs r0, #198 ; 0xc6 80823ea: f7d2 feb9 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 80823ee: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 80823f2: b2db uxtb r3, r3 80823f4: 461a mov r2, r3 80823f6: 4b4f ldr r3, [pc, #316] ; (8082534 ) 80823f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80823fc: 461a mov r2, r3 80823fe: 215a movs r1, #90 ; 0x5a 8082400: 20d6 movs r0, #214 ; 0xd6 8082402: f7d2 fead bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 8082406: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 808240a: b2db uxtb r3, r3 808240c: 461a mov r2, r3 808240e: 4b49 ldr r3, [pc, #292] ; (8082534 ) 8082410: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082414: 461a mov r2, r3 8082416: 215a movs r1, #90 ; 0x5a 8082418: 20e6 movs r0, #230 ; 0xe6 808241a: f7d2 fea1 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 808241e: 4a47 ldr r2, [pc, #284] ; (808253c ) 8082420: 215a movs r1, #90 ; 0x5a 8082422: 20f6 movs r0, #246 ; 0xf6 8082424: f7d2 fe9c bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 8082428: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 808242c: b2db uxtb r3, r3 808242e: 461a mov r2, r3 8082430: 4b40 ldr r3, [pc, #256] ; (8082534 ) 8082432: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082436: 461a mov r2, r3 8082438: 215a movs r1, #90 ; 0x5a 808243a: f44f 708b mov.w r0, #278 ; 0x116 808243e: f7d2 fe8f bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 8082442: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 8082446: b2db uxtb r3, r3 8082448: 461a mov r2, r3 808244a: 4b3a ldr r3, [pc, #232] ; (8082534 ) 808244c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082450: 461a mov r2, r3 8082452: 215a movs r1, #90 ; 0x5a 8082454: f44f 7093 mov.w r0, #294 ; 0x126 8082458: f7d2 fe82 bl 8055160 if(menupos == D_Roll_IES) 808245c: f001 baab b.w 80839b6 } else if(menupos == D_Roll_IKS) 8082460: 4b31 ldr r3, [pc, #196] ; (8082528 ) 8082462: 781b ldrb r3, [r3, #0] 8082464: b2db uxtb r3, r3 8082466: 2b0e cmp r3, #14 8082468: d16a bne.n 8082540 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808246a: 4930 ldr r1, [pc, #192] ; (808252c ) 808246c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082470: f7d2 f8ce bl 8054610 if(blk) 8082474: 4b2e ldr r3, [pc, #184] ; (8082530 ) 8082476: 681b ldr r3, [r3, #0] 8082478: 2b00 cmp r3, #0 808247a: d00c beq.n 8082496 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 808247c: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 8082480: b2db uxtb r3, r3 8082482: 461a mov r2, r3 8082484: 4b2b ldr r3, [pc, #172] ; (8082534 ) 8082486: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808248a: 461a mov r2, r3 808248c: 215a movs r1, #90 ; 0x5a 808248e: f44f 708b mov.w r0, #278 ; 0x116 8082492: f7d2 fe65 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082496: 4925 ldr r1, [pc, #148] ; (808252c ) 8082498: 4827 ldr r0, [pc, #156] ; (8082538 ) 808249a: f7d2 f8b9 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 808249e: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 80824a2: b2db uxtb r3, r3 80824a4: 461a mov r2, r3 80824a6: 4b23 ldr r3, [pc, #140] ; (8082534 ) 80824a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80824ac: 461a mov r2, r3 80824ae: 215a movs r1, #90 ; 0x5a 80824b0: 20c6 movs r0, #198 ; 0xc6 80824b2: f7d2 fe55 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 80824b6: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 80824ba: b2db uxtb r3, r3 80824bc: 461a mov r2, r3 80824be: 4b1d ldr r3, [pc, #116] ; (8082534 ) 80824c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80824c4: 461a mov r2, r3 80824c6: 215a movs r1, #90 ; 0x5a 80824c8: 20d6 movs r0, #214 ; 0xd6 80824ca: f7d2 fe49 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 80824ce: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 80824d2: b2db uxtb r3, r3 80824d4: 461a mov r2, r3 80824d6: 4b17 ldr r3, [pc, #92] ; (8082534 ) 80824d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80824dc: 461a mov r2, r3 80824de: 215a movs r1, #90 ; 0x5a 80824e0: 20e6 movs r0, #230 ; 0xe6 80824e2: f7d2 fe3d bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 80824e6: 4a15 ldr r2, [pc, #84] ; (808253c ) 80824e8: 215a movs r1, #90 ; 0x5a 80824ea: 20f6 movs r0, #246 ; 0xf6 80824ec: f7d2 fe38 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 80824f0: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 80824f4: b2db uxtb r3, r3 80824f6: 461a mov r2, r3 80824f8: 4b0e ldr r3, [pc, #56] ; (8082534 ) 80824fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80824fe: 461a mov r2, r3 8082500: 215a movs r1, #90 ; 0x5a 8082502: f44f 7083 mov.w r0, #262 ; 0x106 8082506: f7d2 fe2b bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 808250a: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 808250e: b2db uxtb r3, r3 8082510: 461a mov r2, r3 8082512: 4b08 ldr r3, [pc, #32] ; (8082534 ) 8082514: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082518: 461a mov r2, r3 808251a: 215a movs r1, #90 ; 0x5a 808251c: f44f 7093 mov.w r0, #294 ; 0x126 8082520: f7d2 fe1e bl 8055160 if(menupos == D_Roll_IES) 8082524: f001 ba47 b.w 80839b6 8082528: 20020070 .word 0x20020070 808252c: ff0a0f1f .word 0xff0a0f1f 8082530: 200216a4 .word 0x200216a4 8082534: 2002096c .word 0x2002096c 8082538: ffd8aa57 .word 0xffd8aa57 808253c: 080d3b58 .word 0x080d3b58 } else if(menupos == D_Roll_IKT) 8082540: 4bce ldr r3, [pc, #824] ; (808287c ) 8082542: 781b ldrb r3, [r3, #0] 8082544: b2db uxtb r3, r3 8082546: 2b0f cmp r3, #15 8082548: f041 8235 bne.w 80839b6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808254c: 49cc ldr r1, [pc, #816] ; (8082880 ) 808254e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082552: f7d2 f85d bl 8054610 if(blk) 8082556: 4bcb ldr r3, [pc, #812] ; (8082884 ) 8082558: 681b ldr r3, [r3, #0] 808255a: 2b00 cmp r3, #0 808255c: d00c beq.n 8082578 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 808255e: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 8082562: b2db uxtb r3, r3 8082564: 461a mov r2, r3 8082566: 4bc8 ldr r3, [pc, #800] ; (8082888 ) 8082568: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808256c: 461a mov r2, r3 808256e: 215a movs r1, #90 ; 0x5a 8082570: f44f 7093 mov.w r0, #294 ; 0x126 8082574: f7d2 fdf4 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082578: 49c1 ldr r1, [pc, #772] ; (8082880 ) 808257a: 48c4 ldr r0, [pc, #784] ; (808288c ) 808257c: f7d2 f848 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8082580: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8082584: b2db uxtb r3, r3 8082586: 461a mov r2, r3 8082588: 4bbf ldr r3, [pc, #764] ; (8082888 ) 808258a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808258e: 461a mov r2, r3 8082590: 215a movs r1, #90 ; 0x5a 8082592: 20c6 movs r0, #198 ; 0xc6 8082594: f7d2 fde4 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 8082598: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 808259c: b2db uxtb r3, r3 808259e: 461a mov r2, r3 80825a0: 4bb9 ldr r3, [pc, #740] ; (8082888 ) 80825a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80825a6: 461a mov r2, r3 80825a8: 215a movs r1, #90 ; 0x5a 80825aa: 20d6 movs r0, #214 ; 0xd6 80825ac: f7d2 fdd8 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 80825b0: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 80825b4: b2db uxtb r3, r3 80825b6: 461a mov r2, r3 80825b8: 4bb3 ldr r3, [pc, #716] ; (8082888 ) 80825ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80825be: 461a mov r2, r3 80825c0: 215a movs r1, #90 ; 0x5a 80825c2: 20e6 movs r0, #230 ; 0xe6 80825c4: f7d2 fdcc bl 8055160 LCD_DisplayString(246, LCD_LINE_5, "."); 80825c8: 4ab1 ldr r2, [pc, #708] ; (8082890 ) 80825ca: 215a movs r1, #90 ; 0x5a 80825cc: 20f6 movs r0, #246 ; 0xf6 80825ce: f7d2 fdc7 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 80825d2: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 80825d6: b2db uxtb r3, r3 80825d8: 461a mov r2, r3 80825da: 4bab ldr r3, [pc, #684] ; (8082888 ) 80825dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80825e0: 461a mov r2, r3 80825e2: 215a movs r1, #90 ; 0x5a 80825e4: f44f 7083 mov.w r0, #262 ; 0x106 80825e8: f7d2 fdba bl 8055160 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 80825ec: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 80825f0: b2db uxtb r3, r3 80825f2: 461a mov r2, r3 80825f4: 4ba4 ldr r3, [pc, #656] ; (8082888 ) 80825f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80825fa: 461a mov r2, r3 80825fc: 215a movs r1, #90 ; 0x5a 80825fe: f44f 708b mov.w r0, #278 ; 0x116 8082602: f7d2 fdad bl 8055160 if(menupos == D_Roll_IES) 8082606: f001 b9d6 b.w 80839b6 } } else if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 808260a: 4b9c ldr r3, [pc, #624] ; (808287c ) 808260c: 781b ldrb r3, [r3, #0] 808260e: b2db uxtb r3, r3 8082610: 2b0f cmp r3, #15 8082612: f240 826c bls.w 8082aee 8082616: 4b99 ldr r3, [pc, #612] ; (808287c ) 8082618: 781b ldrb r3, [r3, #0] 808261a: b2db uxtb r3, r3 808261c: 2b15 cmp r3, #21 808261e: f200 8266 bhi.w 8082aee { if(menupos == D_Outer_IES) 8082622: 4b96 ldr r3, [pc, #600] ; (808287c ) 8082624: 781b ldrb r3, [r3, #0] 8082626: b2db uxtb r3, r3 8082628: 2b10 cmp r3, #16 808262a: d15e bne.n 80826ea { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808262c: 4994 ldr r1, [pc, #592] ; (8082880 ) 808262e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082632: f7d1 ffed bl 8054610 if(blk) 8082636: 4b93 ldr r3, [pc, #588] ; (8082884 ) 8082638: 681b ldr r3, [r3, #0] 808263a: 2b00 cmp r3, #0 808263c: d00b beq.n 8082656 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 808263e: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 8082642: b2db uxtb r3, r3 8082644: 461a mov r2, r3 8082646: 4b90 ldr r3, [pc, #576] ; (8082888 ) 8082648: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808264c: 461a mov r2, r3 808264e: 216a movs r1, #106 ; 0x6a 8082650: 20c6 movs r0, #198 ; 0xc6 8082652: f7d2 fd85 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082656: 498a ldr r1, [pc, #552] ; (8082880 ) 8082658: 488c ldr r0, [pc, #560] ; (808288c ) 808265a: f7d1 ffd9 bl 8054610 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 808265e: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 8082662: b2db uxtb r3, r3 8082664: 461a mov r2, r3 8082666: 4b88 ldr r3, [pc, #544] ; (8082888 ) 8082668: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808266c: 461a mov r2, r3 808266e: 216a movs r1, #106 ; 0x6a 8082670: 20d6 movs r0, #214 ; 0xd6 8082672: f7d2 fd75 bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 8082676: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 808267a: b2db uxtb r3, r3 808267c: 461a mov r2, r3 808267e: 4b82 ldr r3, [pc, #520] ; (8082888 ) 8082680: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082684: 461a mov r2, r3 8082686: 216a movs r1, #106 ; 0x6a 8082688: 20e6 movs r0, #230 ; 0xe6 808268a: f7d2 fd69 bl 8055160 LCD_DisplayString(246, LCD_LINE_6, "."); 808268e: 4a80 ldr r2, [pc, #512] ; (8082890 ) 8082690: 216a movs r1, #106 ; 0x6a 8082692: 20f6 movs r0, #246 ; 0xf6 8082694: f7d2 fd64 bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 8082698: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 808269c: b2db uxtb r3, r3 808269e: 461a mov r2, r3 80826a0: 4b79 ldr r3, [pc, #484] ; (8082888 ) 80826a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80826a6: 461a mov r2, r3 80826a8: 216a movs r1, #106 ; 0x6a 80826aa: f44f 7083 mov.w r0, #262 ; 0x106 80826ae: f7d2 fd57 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 80826b2: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 80826b6: b2db uxtb r3, r3 80826b8: 461a mov r2, r3 80826ba: 4b73 ldr r3, [pc, #460] ; (8082888 ) 80826bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80826c0: 461a mov r2, r3 80826c2: 216a movs r1, #106 ; 0x6a 80826c4: f44f 708b mov.w r0, #278 ; 0x116 80826c8: f7d2 fd4a bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 80826cc: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 80826d0: b2db uxtb r3, r3 80826d2: 461a mov r2, r3 80826d4: 4b6c ldr r3, [pc, #432] ; (8082888 ) 80826d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80826da: 461a mov r2, r3 80826dc: 216a movs r1, #106 ; 0x6a 80826de: f44f 7093 mov.w r0, #294 ; 0x126 80826e2: f7d2 fd3d bl 8055160 if(menupos == D_Outer_IES) 80826e6: f001 b968 b.w 80839ba } else if(menupos == D_Outer_IED) 80826ea: 4b64 ldr r3, [pc, #400] ; (808287c ) 80826ec: 781b ldrb r3, [r3, #0] 80826ee: b2db uxtb r3, r3 80826f0: 2b11 cmp r3, #17 80826f2: d15e bne.n 80827b2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80826f4: 4962 ldr r1, [pc, #392] ; (8082880 ) 80826f6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80826fa: f7d1 ff89 bl 8054610 if(blk) 80826fe: 4b61 ldr r3, [pc, #388] ; (8082884 ) 8082700: 681b ldr r3, [r3, #0] 8082702: 2b00 cmp r3, #0 8082704: d00b beq.n 808271e LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 8082706: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 808270a: b2db uxtb r3, r3 808270c: 461a mov r2, r3 808270e: 4b5e ldr r3, [pc, #376] ; (8082888 ) 8082710: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082714: 461a mov r2, r3 8082716: 216a movs r1, #106 ; 0x6a 8082718: 20d6 movs r0, #214 ; 0xd6 808271a: f7d2 fd21 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808271e: 4958 ldr r1, [pc, #352] ; (8082880 ) 8082720: 485a ldr r0, [pc, #360] ; (808288c ) 8082722: f7d1 ff75 bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 8082726: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 808272a: b2db uxtb r3, r3 808272c: 461a mov r2, r3 808272e: 4b56 ldr r3, [pc, #344] ; (8082888 ) 8082730: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082734: 461a mov r2, r3 8082736: 216a movs r1, #106 ; 0x6a 8082738: 20c6 movs r0, #198 ; 0xc6 808273a: f7d2 fd11 bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 808273e: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 8082742: b2db uxtb r3, r3 8082744: 461a mov r2, r3 8082746: 4b50 ldr r3, [pc, #320] ; (8082888 ) 8082748: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808274c: 461a mov r2, r3 808274e: 216a movs r1, #106 ; 0x6a 8082750: 20e6 movs r0, #230 ; 0xe6 8082752: f7d2 fd05 bl 8055160 LCD_DisplayString(246, LCD_LINE_6, "."); 8082756: 4a4e ldr r2, [pc, #312] ; (8082890 ) 8082758: 216a movs r1, #106 ; 0x6a 808275a: 20f6 movs r0, #246 ; 0xf6 808275c: f7d2 fd00 bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 8082760: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 8082764: b2db uxtb r3, r3 8082766: 461a mov r2, r3 8082768: 4b47 ldr r3, [pc, #284] ; (8082888 ) 808276a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808276e: 461a mov r2, r3 8082770: 216a movs r1, #106 ; 0x6a 8082772: f44f 7083 mov.w r0, #262 ; 0x106 8082776: f7d2 fcf3 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 808277a: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 808277e: b2db uxtb r3, r3 8082780: 461a mov r2, r3 8082782: 4b41 ldr r3, [pc, #260] ; (8082888 ) 8082784: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082788: 461a mov r2, r3 808278a: 216a movs r1, #106 ; 0x6a 808278c: f44f 708b mov.w r0, #278 ; 0x116 8082790: f7d2 fce6 bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8082794: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8082798: b2db uxtb r3, r3 808279a: 461a mov r2, r3 808279c: 4b3a ldr r3, [pc, #232] ; (8082888 ) 808279e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80827a2: 461a mov r2, r3 80827a4: 216a movs r1, #106 ; 0x6a 80827a6: f44f 7093 mov.w r0, #294 ; 0x126 80827aa: f7d2 fcd9 bl 8055160 if(menupos == D_Outer_IES) 80827ae: f001 b904 b.w 80839ba } else if(menupos == D_Outer_IEE) 80827b2: 4b32 ldr r3, [pc, #200] ; (808287c ) 80827b4: 781b ldrb r3, [r3, #0] 80827b6: b2db uxtb r3, r3 80827b8: 2b12 cmp r3, #18 80827ba: d16b bne.n 8082894 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80827bc: 4930 ldr r1, [pc, #192] ; (8082880 ) 80827be: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80827c2: f7d1 ff25 bl 8054610 if(blk) 80827c6: 4b2f ldr r3, [pc, #188] ; (8082884 ) 80827c8: 681b ldr r3, [r3, #0] 80827ca: 2b00 cmp r3, #0 80827cc: d00b beq.n 80827e6 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 80827ce: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 80827d2: b2db uxtb r3, r3 80827d4: 461a mov r2, r3 80827d6: 4b2c ldr r3, [pc, #176] ; (8082888 ) 80827d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80827dc: 461a mov r2, r3 80827de: 216a movs r1, #106 ; 0x6a 80827e0: 20e6 movs r0, #230 ; 0xe6 80827e2: f7d2 fcbd bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80827e6: 4926 ldr r1, [pc, #152] ; (8082880 ) 80827e8: 4828 ldr r0, [pc, #160] ; (808288c ) 80827ea: f7d1 ff11 bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 80827ee: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 80827f2: b2db uxtb r3, r3 80827f4: 461a mov r2, r3 80827f6: 4b24 ldr r3, [pc, #144] ; (8082888 ) 80827f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80827fc: 461a mov r2, r3 80827fe: 216a movs r1, #106 ; 0x6a 8082800: 20c6 movs r0, #198 ; 0xc6 8082802: f7d2 fcad bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 8082806: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 808280a: b2db uxtb r3, r3 808280c: 461a mov r2, r3 808280e: 4b1e ldr r3, [pc, #120] ; (8082888 ) 8082810: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082814: 461a mov r2, r3 8082816: 216a movs r1, #106 ; 0x6a 8082818: 20d6 movs r0, #214 ; 0xd6 808281a: f7d2 fca1 bl 8055160 LCD_DisplayString(246, LCD_LINE_6, "."); 808281e: 4a1c ldr r2, [pc, #112] ; (8082890 ) 8082820: 216a movs r1, #106 ; 0x6a 8082822: 20f6 movs r0, #246 ; 0xf6 8082824: f7d2 fc9c bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 8082828: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 808282c: b2db uxtb r3, r3 808282e: 461a mov r2, r3 8082830: 4b15 ldr r3, [pc, #84] ; (8082888 ) 8082832: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082836: 461a mov r2, r3 8082838: 216a movs r1, #106 ; 0x6a 808283a: f44f 7083 mov.w r0, #262 ; 0x106 808283e: f7d2 fc8f bl 8055160 LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8082842: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 8082846: b2db uxtb r3, r3 8082848: 461a mov r2, r3 808284a: 4b0f ldr r3, [pc, #60] ; (8082888 ) 808284c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082850: 461a mov r2, r3 8082852: 216a movs r1, #106 ; 0x6a 8082854: f44f 708b mov.w r0, #278 ; 0x116 8082858: f7d2 fc82 bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 808285c: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8082860: b2db uxtb r3, r3 8082862: 461a mov r2, r3 8082864: 4b08 ldr r3, [pc, #32] ; (8082888 ) 8082866: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808286a: 461a mov r2, r3 808286c: 216a movs r1, #106 ; 0x6a 808286e: f44f 7093 mov.w r0, #294 ; 0x126 8082872: f7d2 fc75 bl 8055160 if(menupos == D_Outer_IES) 8082876: f001 b8a0 b.w 80839ba 808287a: bf00 nop 808287c: 20020070 .word 0x20020070 8082880: ff0a0f1f .word 0xff0a0f1f 8082884: 200216a4 .word 0x200216a4 8082888: 2002096c .word 0x2002096c 808288c: ffd8aa57 .word 0xffd8aa57 8082890: 080d3b58 .word 0x080d3b58 } else if(menupos == D_Outer_IKD) 8082894: 4bce ldr r3, [pc, #824] ; (8082bd0 ) 8082896: 781b ldrb r3, [r3, #0] 8082898: b2db uxtb r3, r3 808289a: 2b13 cmp r3, #19 808289c: d15e bne.n 808295c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808289e: 49cd ldr r1, [pc, #820] ; (8082bd4 ) 80828a0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80828a4: f7d1 feb4 bl 8054610 if(blk) 80828a8: 4bcb ldr r3, [pc, #812] ; (8082bd8 ) 80828aa: 681b ldr r3, [r3, #0] 80828ac: 2b00 cmp r3, #0 80828ae: d00c beq.n 80828ca LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 80828b0: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 80828b4: b2db uxtb r3, r3 80828b6: 461a mov r2, r3 80828b8: 4bc8 ldr r3, [pc, #800] ; (8082bdc ) 80828ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80828be: 461a mov r2, r3 80828c0: 216a movs r1, #106 ; 0x6a 80828c2: f44f 7083 mov.w r0, #262 ; 0x106 80828c6: f7d2 fc4b bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80828ca: 49c2 ldr r1, [pc, #776] ; (8082bd4 ) 80828cc: 48c4 ldr r0, [pc, #784] ; (8082be0 ) 80828ce: f7d1 fe9f bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 80828d2: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 80828d6: b2db uxtb r3, r3 80828d8: 461a mov r2, r3 80828da: 4bc0 ldr r3, [pc, #768] ; (8082bdc ) 80828dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80828e0: 461a mov r2, r3 80828e2: 216a movs r1, #106 ; 0x6a 80828e4: 20c6 movs r0, #198 ; 0xc6 80828e6: f7d2 fc3b bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 80828ea: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 80828ee: b2db uxtb r3, r3 80828f0: 461a mov r2, r3 80828f2: 4bba ldr r3, [pc, #744] ; (8082bdc ) 80828f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80828f8: 461a mov r2, r3 80828fa: 216a movs r1, #106 ; 0x6a 80828fc: 20d6 movs r0, #214 ; 0xd6 80828fe: f7d2 fc2f bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 8082902: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 8082906: b2db uxtb r3, r3 8082908: 461a mov r2, r3 808290a: 4bb4 ldr r3, [pc, #720] ; (8082bdc ) 808290c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082910: 461a mov r2, r3 8082912: 216a movs r1, #106 ; 0x6a 8082914: 20e6 movs r0, #230 ; 0xe6 8082916: f7d2 fc23 bl 8055160 LCD_DisplayString(246, LCD_LINE_6, "."); 808291a: 4ab2 ldr r2, [pc, #712] ; (8082be4 ) 808291c: 216a movs r1, #106 ; 0x6a 808291e: 20f6 movs r0, #246 ; 0xf6 8082920: f7d2 fc1e bl 8055160 LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8082924: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 8082928: b2db uxtb r3, r3 808292a: 461a mov r2, r3 808292c: 4bab ldr r3, [pc, #684] ; (8082bdc ) 808292e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082932: 461a mov r2, r3 8082934: 216a movs r1, #106 ; 0x6a 8082936: f44f 708b mov.w r0, #278 ; 0x116 808293a: f7d2 fc11 bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 808293e: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8082942: b2db uxtb r3, r3 8082944: 461a mov r2, r3 8082946: 4ba5 ldr r3, [pc, #660] ; (8082bdc ) 8082948: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808294c: 461a mov r2, r3 808294e: 216a movs r1, #106 ; 0x6a 8082950: f44f 7093 mov.w r0, #294 ; 0x126 8082954: f7d2 fc04 bl 8055160 if(menupos == D_Outer_IES) 8082958: f001 b82f b.w 80839ba } else if(menupos == D_Outer_IKS) 808295c: 4b9c ldr r3, [pc, #624] ; (8082bd0 ) 808295e: 781b ldrb r3, [r3, #0] 8082960: b2db uxtb r3, r3 8082962: 2b14 cmp r3, #20 8082964: d15e bne.n 8082a24 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082966: 499b ldr r1, [pc, #620] ; (8082bd4 ) 8082968: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808296c: f7d1 fe50 bl 8054610 if(blk) 8082970: 4b99 ldr r3, [pc, #612] ; (8082bd8 ) 8082972: 681b ldr r3, [r3, #0] 8082974: 2b00 cmp r3, #0 8082976: d00c beq.n 8082992 LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8082978: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 808297c: b2db uxtb r3, r3 808297e: 461a mov r2, r3 8082980: 4b96 ldr r3, [pc, #600] ; (8082bdc ) 8082982: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082986: 461a mov r2, r3 8082988: 216a movs r1, #106 ; 0x6a 808298a: f44f 708b mov.w r0, #278 ; 0x116 808298e: f7d2 fbe7 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082992: 4990 ldr r1, [pc, #576] ; (8082bd4 ) 8082994: 4892 ldr r0, [pc, #584] ; (8082be0 ) 8082996: f7d1 fe3b bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 808299a: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 808299e: b2db uxtb r3, r3 80829a0: 461a mov r2, r3 80829a2: 4b8e ldr r3, [pc, #568] ; (8082bdc ) 80829a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80829a8: 461a mov r2, r3 80829aa: 216a movs r1, #106 ; 0x6a 80829ac: 20c6 movs r0, #198 ; 0xc6 80829ae: f7d2 fbd7 bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 80829b2: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 80829b6: b2db uxtb r3, r3 80829b8: 461a mov r2, r3 80829ba: 4b88 ldr r3, [pc, #544] ; (8082bdc ) 80829bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80829c0: 461a mov r2, r3 80829c2: 216a movs r1, #106 ; 0x6a 80829c4: 20d6 movs r0, #214 ; 0xd6 80829c6: f7d2 fbcb bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 80829ca: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 80829ce: b2db uxtb r3, r3 80829d0: 461a mov r2, r3 80829d2: 4b82 ldr r3, [pc, #520] ; (8082bdc ) 80829d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80829d8: 461a mov r2, r3 80829da: 216a movs r1, #106 ; 0x6a 80829dc: 20e6 movs r0, #230 ; 0xe6 80829de: f7d2 fbbf bl 8055160 LCD_DisplayString(246, LCD_LINE_6, "."); 80829e2: 4a80 ldr r2, [pc, #512] ; (8082be4 ) 80829e4: 216a movs r1, #106 ; 0x6a 80829e6: 20f6 movs r0, #246 ; 0xf6 80829e8: f7d2 fbba bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 80829ec: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 80829f0: b2db uxtb r3, r3 80829f2: 461a mov r2, r3 80829f4: 4b79 ldr r3, [pc, #484] ; (8082bdc ) 80829f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80829fa: 461a mov r2, r3 80829fc: 216a movs r1, #106 ; 0x6a 80829fe: f44f 7083 mov.w r0, #262 ; 0x106 8082a02: f7d2 fbad bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8082a06: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8082a0a: b2db uxtb r3, r3 8082a0c: 461a mov r2, r3 8082a0e: 4b73 ldr r3, [pc, #460] ; (8082bdc ) 8082a10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082a14: 461a mov r2, r3 8082a16: 216a movs r1, #106 ; 0x6a 8082a18: f44f 7093 mov.w r0, #294 ; 0x126 8082a1c: f7d2 fba0 bl 8055160 if(menupos == D_Outer_IES) 8082a20: f000 bfcb b.w 80839ba } else if(menupos == D_Outer_IKT) 8082a24: 4b6a ldr r3, [pc, #424] ; (8082bd0 ) 8082a26: 781b ldrb r3, [r3, #0] 8082a28: b2db uxtb r3, r3 8082a2a: 2b15 cmp r3, #21 8082a2c: f040 87c5 bne.w 80839ba { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082a30: 4968 ldr r1, [pc, #416] ; (8082bd4 ) 8082a32: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082a36: f7d1 fdeb bl 8054610 if(blk) 8082a3a: 4b67 ldr r3, [pc, #412] ; (8082bd8 ) 8082a3c: 681b ldr r3, [r3, #0] 8082a3e: 2b00 cmp r3, #0 8082a40: d00c beq.n 8082a5c LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8082a42: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8082a46: b2db uxtb r3, r3 8082a48: 461a mov r2, r3 8082a4a: 4b64 ldr r3, [pc, #400] ; (8082bdc ) 8082a4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082a50: 461a mov r2, r3 8082a52: 216a movs r1, #106 ; 0x6a 8082a54: f44f 7093 mov.w r0, #294 ; 0x126 8082a58: f7d2 fb82 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082a5c: 495d ldr r1, [pc, #372] ; (8082bd4 ) 8082a5e: 4860 ldr r0, [pc, #384] ; (8082be0 ) 8082a60: f7d1 fdd6 bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 8082a64: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 8082a68: b2db uxtb r3, r3 8082a6a: 461a mov r2, r3 8082a6c: 4b5b ldr r3, [pc, #364] ; (8082bdc ) 8082a6e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082a72: 461a mov r2, r3 8082a74: 216a movs r1, #106 ; 0x6a 8082a76: 20c6 movs r0, #198 ; 0xc6 8082a78: f7d2 fb72 bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 8082a7c: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 8082a80: b2db uxtb r3, r3 8082a82: 461a mov r2, r3 8082a84: 4b55 ldr r3, [pc, #340] ; (8082bdc ) 8082a86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082a8a: 461a mov r2, r3 8082a8c: 216a movs r1, #106 ; 0x6a 8082a8e: 20d6 movs r0, #214 ; 0xd6 8082a90: f7d2 fb66 bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 8082a94: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 8082a98: b2db uxtb r3, r3 8082a9a: 461a mov r2, r3 8082a9c: 4b4f ldr r3, [pc, #316] ; (8082bdc ) 8082a9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082aa2: 461a mov r2, r3 8082aa4: 216a movs r1, #106 ; 0x6a 8082aa6: 20e6 movs r0, #230 ; 0xe6 8082aa8: f7d2 fb5a bl 8055160 LCD_DisplayString(246, LCD_LINE_6, "."); 8082aac: 4a4d ldr r2, [pc, #308] ; (8082be4 ) 8082aae: 216a movs r1, #106 ; 0x6a 8082ab0: 20f6 movs r0, #246 ; 0xf6 8082ab2: f7d2 fb55 bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 8082ab6: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 8082aba: b2db uxtb r3, r3 8082abc: 461a mov r2, r3 8082abe: 4b47 ldr r3, [pc, #284] ; (8082bdc ) 8082ac0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ac4: 461a mov r2, r3 8082ac6: 216a movs r1, #106 ; 0x6a 8082ac8: f44f 7083 mov.w r0, #262 ; 0x106 8082acc: f7d2 fb48 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8082ad0: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 8082ad4: b2db uxtb r3, r3 8082ad6: 461a mov r2, r3 8082ad8: 4b40 ldr r3, [pc, #256] ; (8082bdc ) 8082ada: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ade: 461a mov r2, r3 8082ae0: 216a movs r1, #106 ; 0x6a 8082ae2: f44f 708b mov.w r0, #278 ; 0x116 8082ae6: f7d2 fb3b bl 8055160 if(menupos == D_Outer_IES) 8082aea: f000 bf66 b.w 80839ba } } else if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 8082aee: 4b38 ldr r3, [pc, #224] ; (8082bd0 ) 8082af0: 781b ldrb r3, [r3, #0] 8082af2: b2db uxtb r3, r3 8082af4: 2b15 cmp r3, #21 8082af6: f240 8278 bls.w 8082fea 8082afa: 4b35 ldr r3, [pc, #212] ; (8082bd0 ) 8082afc: 781b ldrb r3, [r3, #0] 8082afe: b2db uxtb r3, r3 8082b00: 2b1b cmp r3, #27 8082b02: f200 8272 bhi.w 8082fea { if(menupos == D_Inner_IES) 8082b06: 4b32 ldr r3, [pc, #200] ; (8082bd0 ) 8082b08: 781b ldrb r3, [r3, #0] 8082b0a: b2db uxtb r3, r3 8082b0c: 2b16 cmp r3, #22 8082b0e: d16b bne.n 8082be8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082b10: 4930 ldr r1, [pc, #192] ; (8082bd4 ) 8082b12: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082b16: f7d1 fd7b bl 8054610 if(blk) 8082b1a: 4b2f ldr r3, [pc, #188] ; (8082bd8 ) 8082b1c: 681b ldr r3, [r3, #0] 8082b1e: 2b00 cmp r3, #0 8082b20: d00b beq.n 8082b3a LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8082b22: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8082b26: b2db uxtb r3, r3 8082b28: 461a mov r2, r3 8082b2a: 4b2c ldr r3, [pc, #176] ; (8082bdc ) 8082b2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082b30: 461a mov r2, r3 8082b32: 217a movs r1, #122 ; 0x7a 8082b34: 20c6 movs r0, #198 ; 0xc6 8082b36: f7d2 fb13 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082b3a: 4926 ldr r1, [pc, #152] ; (8082bd4 ) 8082b3c: 4828 ldr r0, [pc, #160] ; (8082be0 ) 8082b3e: f7d1 fd67 bl 8054610 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8082b42: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8082b46: b2db uxtb r3, r3 8082b48: 461a mov r2, r3 8082b4a: 4b24 ldr r3, [pc, #144] ; (8082bdc ) 8082b4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082b50: 461a mov r2, r3 8082b52: 217a movs r1, #122 ; 0x7a 8082b54: 20d6 movs r0, #214 ; 0xd6 8082b56: f7d2 fb03 bl 8055160 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8082b5a: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8082b5e: b2db uxtb r3, r3 8082b60: 461a mov r2, r3 8082b62: 4b1e ldr r3, [pc, #120] ; (8082bdc ) 8082b64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082b68: 461a mov r2, r3 8082b6a: 217a movs r1, #122 ; 0x7a 8082b6c: 20e6 movs r0, #230 ; 0xe6 8082b6e: f7d2 faf7 bl 8055160 LCD_DisplayString(246, LCD_LINE_7, "."); 8082b72: 4a1c ldr r2, [pc, #112] ; (8082be4 ) 8082b74: 217a movs r1, #122 ; 0x7a 8082b76: 20f6 movs r0, #246 ; 0xf6 8082b78: f7d2 faf2 bl 8055160 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8082b7c: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8082b80: b2db uxtb r3, r3 8082b82: 461a mov r2, r3 8082b84: 4b15 ldr r3, [pc, #84] ; (8082bdc ) 8082b86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082b8a: 461a mov r2, r3 8082b8c: 217a movs r1, #122 ; 0x7a 8082b8e: f44f 7083 mov.w r0, #262 ; 0x106 8082b92: f7d2 fae5 bl 8055160 LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8082b96: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8082b9a: b2db uxtb r3, r3 8082b9c: 461a mov r2, r3 8082b9e: 4b0f ldr r3, [pc, #60] ; (8082bdc ) 8082ba0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ba4: 461a mov r2, r3 8082ba6: 217a movs r1, #122 ; 0x7a 8082ba8: f44f 708b mov.w r0, #278 ; 0x116 8082bac: f7d2 fad8 bl 8055160 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8082bb0: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8082bb4: b2db uxtb r3, r3 8082bb6: 461a mov r2, r3 8082bb8: 4b08 ldr r3, [pc, #32] ; (8082bdc ) 8082bba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082bbe: 461a mov r2, r3 8082bc0: 217a movs r1, #122 ; 0x7a 8082bc2: f44f 7093 mov.w r0, #294 ; 0x126 8082bc6: f7d2 facb bl 8055160 if(menupos == D_Inner_IES) 8082bca: f000 bef8 b.w 80839be 8082bce: bf00 nop 8082bd0: 20020070 .word 0x20020070 8082bd4: ff0a0f1f .word 0xff0a0f1f 8082bd8: 200216a4 .word 0x200216a4 8082bdc: 2002096c .word 0x2002096c 8082be0: ffd8aa57 .word 0xffd8aa57 8082be4: 080d3b58 .word 0x080d3b58 } else if(menupos == D_Inner_IED) 8082be8: 4bc7 ldr r3, [pc, #796] ; (8082f08 ) 8082bea: 781b ldrb r3, [r3, #0] 8082bec: b2db uxtb r3, r3 8082bee: 2b17 cmp r3, #23 8082bf0: d15e bne.n 8082cb0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082bf2: 49c6 ldr r1, [pc, #792] ; (8082f0c ) 8082bf4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082bf8: f7d1 fd0a bl 8054610 if(blk) 8082bfc: 4bc4 ldr r3, [pc, #784] ; (8082f10 ) 8082bfe: 681b ldr r3, [r3, #0] 8082c00: 2b00 cmp r3, #0 8082c02: d00b beq.n 8082c1c LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8082c04: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8082c08: b2db uxtb r3, r3 8082c0a: 461a mov r2, r3 8082c0c: 4bc1 ldr r3, [pc, #772] ; (8082f14 ) 8082c0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082c12: 461a mov r2, r3 8082c14: 217a movs r1, #122 ; 0x7a 8082c16: 20d6 movs r0, #214 ; 0xd6 8082c18: f7d2 faa2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082c1c: 49bb ldr r1, [pc, #748] ; (8082f0c ) 8082c1e: 48be ldr r0, [pc, #760] ; (8082f18 ) 8082c20: f7d1 fcf6 bl 8054610 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8082c24: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8082c28: b2db uxtb r3, r3 8082c2a: 461a mov r2, r3 8082c2c: 4bb9 ldr r3, [pc, #740] ; (8082f14 ) 8082c2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082c32: 461a mov r2, r3 8082c34: 217a movs r1, #122 ; 0x7a 8082c36: 20c6 movs r0, #198 ; 0xc6 8082c38: f7d2 fa92 bl 8055160 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8082c3c: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8082c40: b2db uxtb r3, r3 8082c42: 461a mov r2, r3 8082c44: 4bb3 ldr r3, [pc, #716] ; (8082f14 ) 8082c46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082c4a: 461a mov r2, r3 8082c4c: 217a movs r1, #122 ; 0x7a 8082c4e: 20e6 movs r0, #230 ; 0xe6 8082c50: f7d2 fa86 bl 8055160 LCD_DisplayString(246, LCD_LINE_7, "."); 8082c54: 4ab1 ldr r2, [pc, #708] ; (8082f1c ) 8082c56: 217a movs r1, #122 ; 0x7a 8082c58: 20f6 movs r0, #246 ; 0xf6 8082c5a: f7d2 fa81 bl 8055160 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8082c5e: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8082c62: b2db uxtb r3, r3 8082c64: 461a mov r2, r3 8082c66: 4bab ldr r3, [pc, #684] ; (8082f14 ) 8082c68: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082c6c: 461a mov r2, r3 8082c6e: 217a movs r1, #122 ; 0x7a 8082c70: f44f 7083 mov.w r0, #262 ; 0x106 8082c74: f7d2 fa74 bl 8055160 LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8082c78: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8082c7c: b2db uxtb r3, r3 8082c7e: 461a mov r2, r3 8082c80: 4ba4 ldr r3, [pc, #656] ; (8082f14 ) 8082c82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082c86: 461a mov r2, r3 8082c88: 217a movs r1, #122 ; 0x7a 8082c8a: f44f 708b mov.w r0, #278 ; 0x116 8082c8e: f7d2 fa67 bl 8055160 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8082c92: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8082c96: b2db uxtb r3, r3 8082c98: 461a mov r2, r3 8082c9a: 4b9e ldr r3, [pc, #632] ; (8082f14 ) 8082c9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ca0: 461a mov r2, r3 8082ca2: 217a movs r1, #122 ; 0x7a 8082ca4: f44f 7093 mov.w r0, #294 ; 0x126 8082ca8: f7d2 fa5a bl 8055160 if(menupos == D_Inner_IES) 8082cac: f000 be87 b.w 80839be } else if(menupos == D_Inner_IEE) 8082cb0: 4b95 ldr r3, [pc, #596] ; (8082f08 ) 8082cb2: 781b ldrb r3, [r3, #0] 8082cb4: b2db uxtb r3, r3 8082cb6: 2b18 cmp r3, #24 8082cb8: d15e bne.n 8082d78 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082cba: 4994 ldr r1, [pc, #592] ; (8082f0c ) 8082cbc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082cc0: f7d1 fca6 bl 8054610 if(blk) 8082cc4: 4b92 ldr r3, [pc, #584] ; (8082f10 ) 8082cc6: 681b ldr r3, [r3, #0] 8082cc8: 2b00 cmp r3, #0 8082cca: d00b beq.n 8082ce4 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8082ccc: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8082cd0: b2db uxtb r3, r3 8082cd2: 461a mov r2, r3 8082cd4: 4b8f ldr r3, [pc, #572] ; (8082f14 ) 8082cd6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082cda: 461a mov r2, r3 8082cdc: 217a movs r1, #122 ; 0x7a 8082cde: 20e6 movs r0, #230 ; 0xe6 8082ce0: f7d2 fa3e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082ce4: 4989 ldr r1, [pc, #548] ; (8082f0c ) 8082ce6: 488c ldr r0, [pc, #560] ; (8082f18 ) 8082ce8: f7d1 fc92 bl 8054610 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8082cec: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8082cf0: b2db uxtb r3, r3 8082cf2: 461a mov r2, r3 8082cf4: 4b87 ldr r3, [pc, #540] ; (8082f14 ) 8082cf6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082cfa: 461a mov r2, r3 8082cfc: 217a movs r1, #122 ; 0x7a 8082cfe: 20c6 movs r0, #198 ; 0xc6 8082d00: f7d2 fa2e bl 8055160 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8082d04: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8082d08: b2db uxtb r3, r3 8082d0a: 461a mov r2, r3 8082d0c: 4b81 ldr r3, [pc, #516] ; (8082f14 ) 8082d0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082d12: 461a mov r2, r3 8082d14: 217a movs r1, #122 ; 0x7a 8082d16: 20d6 movs r0, #214 ; 0xd6 8082d18: f7d2 fa22 bl 8055160 LCD_DisplayString(246, LCD_LINE_7, "."); 8082d1c: 4a7f ldr r2, [pc, #508] ; (8082f1c ) 8082d1e: 217a movs r1, #122 ; 0x7a 8082d20: 20f6 movs r0, #246 ; 0xf6 8082d22: f7d2 fa1d bl 8055160 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8082d26: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8082d2a: b2db uxtb r3, r3 8082d2c: 461a mov r2, r3 8082d2e: 4b79 ldr r3, [pc, #484] ; (8082f14 ) 8082d30: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082d34: 461a mov r2, r3 8082d36: 217a movs r1, #122 ; 0x7a 8082d38: f44f 7083 mov.w r0, #262 ; 0x106 8082d3c: f7d2 fa10 bl 8055160 LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8082d40: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8082d44: b2db uxtb r3, r3 8082d46: 461a mov r2, r3 8082d48: 4b72 ldr r3, [pc, #456] ; (8082f14 ) 8082d4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082d4e: 461a mov r2, r3 8082d50: 217a movs r1, #122 ; 0x7a 8082d52: f44f 708b mov.w r0, #278 ; 0x116 8082d56: f7d2 fa03 bl 8055160 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8082d5a: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8082d5e: b2db uxtb r3, r3 8082d60: 461a mov r2, r3 8082d62: 4b6c ldr r3, [pc, #432] ; (8082f14 ) 8082d64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082d68: 461a mov r2, r3 8082d6a: 217a movs r1, #122 ; 0x7a 8082d6c: f44f 7093 mov.w r0, #294 ; 0x126 8082d70: f7d2 f9f6 bl 8055160 if(menupos == D_Inner_IES) 8082d74: f000 be23 b.w 80839be } else if(menupos == D_Inner_IKD) 8082d78: 4b63 ldr r3, [pc, #396] ; (8082f08 ) 8082d7a: 781b ldrb r3, [r3, #0] 8082d7c: b2db uxtb r3, r3 8082d7e: 2b19 cmp r3, #25 8082d80: d15e bne.n 8082e40 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082d82: 4962 ldr r1, [pc, #392] ; (8082f0c ) 8082d84: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082d88: f7d1 fc42 bl 8054610 if(blk) 8082d8c: 4b60 ldr r3, [pc, #384] ; (8082f10 ) 8082d8e: 681b ldr r3, [r3, #0] 8082d90: 2b00 cmp r3, #0 8082d92: d00c beq.n 8082dae LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8082d94: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8082d98: b2db uxtb r3, r3 8082d9a: 461a mov r2, r3 8082d9c: 4b5d ldr r3, [pc, #372] ; (8082f14 ) 8082d9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082da2: 461a mov r2, r3 8082da4: 217a movs r1, #122 ; 0x7a 8082da6: f44f 7083 mov.w r0, #262 ; 0x106 8082daa: f7d2 f9d9 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082dae: 4957 ldr r1, [pc, #348] ; (8082f0c ) 8082db0: 4859 ldr r0, [pc, #356] ; (8082f18 ) 8082db2: f7d1 fc2d bl 8054610 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8082db6: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8082dba: b2db uxtb r3, r3 8082dbc: 461a mov r2, r3 8082dbe: 4b55 ldr r3, [pc, #340] ; (8082f14 ) 8082dc0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082dc4: 461a mov r2, r3 8082dc6: 217a movs r1, #122 ; 0x7a 8082dc8: 20c6 movs r0, #198 ; 0xc6 8082dca: f7d2 f9c9 bl 8055160 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8082dce: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8082dd2: b2db uxtb r3, r3 8082dd4: 461a mov r2, r3 8082dd6: 4b4f ldr r3, [pc, #316] ; (8082f14 ) 8082dd8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ddc: 461a mov r2, r3 8082dde: 217a movs r1, #122 ; 0x7a 8082de0: 20d6 movs r0, #214 ; 0xd6 8082de2: f7d2 f9bd bl 8055160 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8082de6: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8082dea: b2db uxtb r3, r3 8082dec: 461a mov r2, r3 8082dee: 4b49 ldr r3, [pc, #292] ; (8082f14 ) 8082df0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082df4: 461a mov r2, r3 8082df6: 217a movs r1, #122 ; 0x7a 8082df8: 20e6 movs r0, #230 ; 0xe6 8082dfa: f7d2 f9b1 bl 8055160 LCD_DisplayString(246, LCD_LINE_7, "."); 8082dfe: 4a47 ldr r2, [pc, #284] ; (8082f1c ) 8082e00: 217a movs r1, #122 ; 0x7a 8082e02: 20f6 movs r0, #246 ; 0xf6 8082e04: f7d2 f9ac bl 8055160 LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8082e08: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8082e0c: b2db uxtb r3, r3 8082e0e: 461a mov r2, r3 8082e10: 4b40 ldr r3, [pc, #256] ; (8082f14 ) 8082e12: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082e16: 461a mov r2, r3 8082e18: 217a movs r1, #122 ; 0x7a 8082e1a: f44f 708b mov.w r0, #278 ; 0x116 8082e1e: f7d2 f99f bl 8055160 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8082e22: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8082e26: b2db uxtb r3, r3 8082e28: 461a mov r2, r3 8082e2a: 4b3a ldr r3, [pc, #232] ; (8082f14 ) 8082e2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082e30: 461a mov r2, r3 8082e32: 217a movs r1, #122 ; 0x7a 8082e34: f44f 7093 mov.w r0, #294 ; 0x126 8082e38: f7d2 f992 bl 8055160 if(menupos == D_Inner_IES) 8082e3c: f000 bdbf b.w 80839be } else if(menupos == D_Inner_IKS) 8082e40: 4b31 ldr r3, [pc, #196] ; (8082f08 ) 8082e42: 781b ldrb r3, [r3, #0] 8082e44: b2db uxtb r3, r3 8082e46: 2b1a cmp r3, #26 8082e48: d16a bne.n 8082f20 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082e4a: 4930 ldr r1, [pc, #192] ; (8082f0c ) 8082e4c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082e50: f7d1 fbde bl 8054610 if(blk) 8082e54: 4b2e ldr r3, [pc, #184] ; (8082f10 ) 8082e56: 681b ldr r3, [r3, #0] 8082e58: 2b00 cmp r3, #0 8082e5a: d00c beq.n 8082e76 LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8082e5c: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8082e60: b2db uxtb r3, r3 8082e62: 461a mov r2, r3 8082e64: 4b2b ldr r3, [pc, #172] ; (8082f14 ) 8082e66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082e6a: 461a mov r2, r3 8082e6c: 217a movs r1, #122 ; 0x7a 8082e6e: f44f 708b mov.w r0, #278 ; 0x116 8082e72: f7d2 f975 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082e76: 4925 ldr r1, [pc, #148] ; (8082f0c ) 8082e78: 4827 ldr r0, [pc, #156] ; (8082f18 ) 8082e7a: f7d1 fbc9 bl 8054610 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8082e7e: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8082e82: b2db uxtb r3, r3 8082e84: 461a mov r2, r3 8082e86: 4b23 ldr r3, [pc, #140] ; (8082f14 ) 8082e88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082e8c: 461a mov r2, r3 8082e8e: 217a movs r1, #122 ; 0x7a 8082e90: 20c6 movs r0, #198 ; 0xc6 8082e92: f7d2 f965 bl 8055160 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8082e96: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8082e9a: b2db uxtb r3, r3 8082e9c: 461a mov r2, r3 8082e9e: 4b1d ldr r3, [pc, #116] ; (8082f14 ) 8082ea0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ea4: 461a mov r2, r3 8082ea6: 217a movs r1, #122 ; 0x7a 8082ea8: 20d6 movs r0, #214 ; 0xd6 8082eaa: f7d2 f959 bl 8055160 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8082eae: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8082eb2: b2db uxtb r3, r3 8082eb4: 461a mov r2, r3 8082eb6: 4b17 ldr r3, [pc, #92] ; (8082f14 ) 8082eb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ebc: 461a mov r2, r3 8082ebe: 217a movs r1, #122 ; 0x7a 8082ec0: 20e6 movs r0, #230 ; 0xe6 8082ec2: f7d2 f94d bl 8055160 LCD_DisplayString(246, LCD_LINE_7, "."); 8082ec6: 4a15 ldr r2, [pc, #84] ; (8082f1c ) 8082ec8: 217a movs r1, #122 ; 0x7a 8082eca: 20f6 movs r0, #246 ; 0xf6 8082ecc: f7d2 f948 bl 8055160 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8082ed0: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8082ed4: b2db uxtb r3, r3 8082ed6: 461a mov r2, r3 8082ed8: 4b0e ldr r3, [pc, #56] ; (8082f14 ) 8082eda: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ede: 461a mov r2, r3 8082ee0: 217a movs r1, #122 ; 0x7a 8082ee2: f44f 7083 mov.w r0, #262 ; 0x106 8082ee6: f7d2 f93b bl 8055160 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8082eea: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8082eee: b2db uxtb r3, r3 8082ef0: 461a mov r2, r3 8082ef2: 4b08 ldr r3, [pc, #32] ; (8082f14 ) 8082ef4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082ef8: 461a mov r2, r3 8082efa: 217a movs r1, #122 ; 0x7a 8082efc: f44f 7093 mov.w r0, #294 ; 0x126 8082f00: f7d2 f92e bl 8055160 if(menupos == D_Inner_IES) 8082f04: f000 bd5b b.w 80839be 8082f08: 20020070 .word 0x20020070 8082f0c: ff0a0f1f .word 0xff0a0f1f 8082f10: 200216a4 .word 0x200216a4 8082f14: 2002096c .word 0x2002096c 8082f18: ffd8aa57 .word 0xffd8aa57 8082f1c: 080d3b58 .word 0x080d3b58 } else if(menupos == D_Inner_IKT) 8082f20: 4bcd ldr r3, [pc, #820] ; (8083258 ) 8082f22: 781b ldrb r3, [r3, #0] 8082f24: b2db uxtb r3, r3 8082f26: 2b1b cmp r3, #27 8082f28: f040 8549 bne.w 80839be { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082f2c: 49cb ldr r1, [pc, #812] ; (808325c ) 8082f2e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082f32: f7d1 fb6d bl 8054610 if(blk) 8082f36: 4bca ldr r3, [pc, #808] ; (8083260 ) 8082f38: 681b ldr r3, [r3, #0] 8082f3a: 2b00 cmp r3, #0 8082f3c: d00c beq.n 8082f58 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8082f3e: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8082f42: b2db uxtb r3, r3 8082f44: 461a mov r2, r3 8082f46: 4bc7 ldr r3, [pc, #796] ; (8083264 ) 8082f48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082f4c: 461a mov r2, r3 8082f4e: 217a movs r1, #122 ; 0x7a 8082f50: f44f 7093 mov.w r0, #294 ; 0x126 8082f54: f7d2 f904 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082f58: 49c0 ldr r1, [pc, #768] ; (808325c ) 8082f5a: 48c3 ldr r0, [pc, #780] ; (8083268 ) 8082f5c: f7d1 fb58 bl 8054610 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8082f60: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8082f64: b2db uxtb r3, r3 8082f66: 461a mov r2, r3 8082f68: 4bbe ldr r3, [pc, #760] ; (8083264 ) 8082f6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082f6e: 461a mov r2, r3 8082f70: 217a movs r1, #122 ; 0x7a 8082f72: 20c6 movs r0, #198 ; 0xc6 8082f74: f7d2 f8f4 bl 8055160 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8082f78: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8082f7c: b2db uxtb r3, r3 8082f7e: 461a mov r2, r3 8082f80: 4bb8 ldr r3, [pc, #736] ; (8083264 ) 8082f82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082f86: 461a mov r2, r3 8082f88: 217a movs r1, #122 ; 0x7a 8082f8a: 20d6 movs r0, #214 ; 0xd6 8082f8c: f7d2 f8e8 bl 8055160 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8082f90: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8082f94: b2db uxtb r3, r3 8082f96: 461a mov r2, r3 8082f98: 4bb2 ldr r3, [pc, #712] ; (8083264 ) 8082f9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082f9e: 461a mov r2, r3 8082fa0: 217a movs r1, #122 ; 0x7a 8082fa2: 20e6 movs r0, #230 ; 0xe6 8082fa4: f7d2 f8dc bl 8055160 LCD_DisplayString(246, LCD_LINE_7, "."); 8082fa8: 4ab0 ldr r2, [pc, #704] ; (808326c ) 8082faa: 217a movs r1, #122 ; 0x7a 8082fac: 20f6 movs r0, #246 ; 0xf6 8082fae: f7d2 f8d7 bl 8055160 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8082fb2: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8082fb6: b2db uxtb r3, r3 8082fb8: 461a mov r2, r3 8082fba: 4baa ldr r3, [pc, #680] ; (8083264 ) 8082fbc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082fc0: 461a mov r2, r3 8082fc2: 217a movs r1, #122 ; 0x7a 8082fc4: f44f 7083 mov.w r0, #262 ; 0x106 8082fc8: f7d2 f8ca bl 8055160 LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8082fcc: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8082fd0: b2db uxtb r3, r3 8082fd2: 461a mov r2, r3 8082fd4: 4ba3 ldr r3, [pc, #652] ; (8083264 ) 8082fd6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082fda: 461a mov r2, r3 8082fdc: 217a movs r1, #122 ; 0x7a 8082fde: f44f 708b mov.w r0, #278 ; 0x116 8082fe2: f7d2 f8bd bl 8055160 if(menupos == D_Inner_IES) 8082fe6: f000 bcea b.w 80839be } } else if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 8082fea: 4b9b ldr r3, [pc, #620] ; (8083258 ) 8082fec: 781b ldrb r3, [r3, #0] 8082fee: b2db uxtb r3, r3 8082ff0: 2b1b cmp r3, #27 8082ff2: f240 8267 bls.w 80834c4 8082ff6: 4b98 ldr r3, [pc, #608] ; (8083258 ) 8082ff8: 781b ldrb r3, [r3, #0] 8082ffa: b2db uxtb r3, r3 8082ffc: 2b21 cmp r3, #33 ; 0x21 8082ffe: f200 8261 bhi.w 80834c4 { if(menupos == D_Angle_IES) 8083002: 4b95 ldr r3, [pc, #596] ; (8083258 ) 8083004: 781b ldrb r3, [r3, #0] 8083006: b2db uxtb r3, r3 8083008: 2b1c cmp r3, #28 808300a: d15e bne.n 80830ca { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808300c: 4993 ldr r1, [pc, #588] ; (808325c ) 808300e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083012: f7d1 fafd bl 8054610 if(blk) 8083016: 4b92 ldr r3, [pc, #584] ; (8083260 ) 8083018: 681b ldr r3, [r3, #0] 808301a: 2b00 cmp r3, #0 808301c: d00b beq.n 8083036 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 808301e: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8083022: b2db uxtb r3, r3 8083024: 461a mov r2, r3 8083026: 4b8f ldr r3, [pc, #572] ; (8083264 ) 8083028: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808302c: 461a mov r2, r3 808302e: 218a movs r1, #138 ; 0x8a 8083030: 20c6 movs r0, #198 ; 0xc6 8083032: f7d2 f895 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083036: 4989 ldr r1, [pc, #548] ; (808325c ) 8083038: 488b ldr r0, [pc, #556] ; (8083268 ) 808303a: f7d1 fae9 bl 8054610 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 808303e: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 8083042: b2db uxtb r3, r3 8083044: 461a mov r2, r3 8083046: 4b87 ldr r3, [pc, #540] ; (8083264 ) 8083048: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808304c: 461a mov r2, r3 808304e: 218a movs r1, #138 ; 0x8a 8083050: 20d6 movs r0, #214 ; 0xd6 8083052: f7d2 f885 bl 8055160 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 8083056: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 808305a: b2db uxtb r3, r3 808305c: 461a mov r2, r3 808305e: 4b81 ldr r3, [pc, #516] ; (8083264 ) 8083060: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083064: 461a mov r2, r3 8083066: 218a movs r1, #138 ; 0x8a 8083068: 20e6 movs r0, #230 ; 0xe6 808306a: f7d2 f879 bl 8055160 LCD_DisplayString(246, LCD_LINE_8, "."); 808306e: 4a7f ldr r2, [pc, #508] ; (808326c ) 8083070: 218a movs r1, #138 ; 0x8a 8083072: 20f6 movs r0, #246 ; 0xf6 8083074: f7d2 f874 bl 8055160 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8083078: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 808307c: b2db uxtb r3, r3 808307e: 461a mov r2, r3 8083080: 4b78 ldr r3, [pc, #480] ; (8083264 ) 8083082: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083086: 461a mov r2, r3 8083088: 218a movs r1, #138 ; 0x8a 808308a: f44f 7083 mov.w r0, #262 ; 0x106 808308e: f7d2 f867 bl 8055160 LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 8083092: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8083096: b2db uxtb r3, r3 8083098: 461a mov r2, r3 808309a: 4b72 ldr r3, [pc, #456] ; (8083264 ) 808309c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80830a0: 461a mov r2, r3 80830a2: 218a movs r1, #138 ; 0x8a 80830a4: f44f 708b mov.w r0, #278 ; 0x116 80830a8: f7d2 f85a bl 8055160 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 80830ac: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 80830b0: b2db uxtb r3, r3 80830b2: 461a mov r2, r3 80830b4: 4b6b ldr r3, [pc, #428] ; (8083264 ) 80830b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80830ba: 461a mov r2, r3 80830bc: 218a movs r1, #138 ; 0x8a 80830be: f44f 7093 mov.w r0, #294 ; 0x126 80830c2: f7d2 f84d bl 8055160 if(menupos == D_Angle_IES) 80830c6: f000 bc7c b.w 80839c2 } else if(menupos == D_Angle_IED) 80830ca: 4b63 ldr r3, [pc, #396] ; (8083258 ) 80830cc: 781b ldrb r3, [r3, #0] 80830ce: b2db uxtb r3, r3 80830d0: 2b1d cmp r3, #29 80830d2: d15e bne.n 8083192 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80830d4: 4961 ldr r1, [pc, #388] ; (808325c ) 80830d6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80830da: f7d1 fa99 bl 8054610 if(blk) 80830de: 4b60 ldr r3, [pc, #384] ; (8083260 ) 80830e0: 681b ldr r3, [r3, #0] 80830e2: 2b00 cmp r3, #0 80830e4: d00b beq.n 80830fe LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 80830e6: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 80830ea: b2db uxtb r3, r3 80830ec: 461a mov r2, r3 80830ee: 4b5d ldr r3, [pc, #372] ; (8083264 ) 80830f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80830f4: 461a mov r2, r3 80830f6: 218a movs r1, #138 ; 0x8a 80830f8: 20d6 movs r0, #214 ; 0xd6 80830fa: f7d2 f831 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80830fe: 4957 ldr r1, [pc, #348] ; (808325c ) 8083100: 4859 ldr r0, [pc, #356] ; (8083268 ) 8083102: f7d1 fa85 bl 8054610 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8083106: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 808310a: b2db uxtb r3, r3 808310c: 461a mov r2, r3 808310e: 4b55 ldr r3, [pc, #340] ; (8083264 ) 8083110: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083114: 461a mov r2, r3 8083116: 218a movs r1, #138 ; 0x8a 8083118: 20c6 movs r0, #198 ; 0xc6 808311a: f7d2 f821 bl 8055160 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 808311e: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 8083122: b2db uxtb r3, r3 8083124: 461a mov r2, r3 8083126: 4b4f ldr r3, [pc, #316] ; (8083264 ) 8083128: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808312c: 461a mov r2, r3 808312e: 218a movs r1, #138 ; 0x8a 8083130: 20e6 movs r0, #230 ; 0xe6 8083132: f7d2 f815 bl 8055160 LCD_DisplayString(246, LCD_LINE_8, "."); 8083136: 4a4d ldr r2, [pc, #308] ; (808326c ) 8083138: 218a movs r1, #138 ; 0x8a 808313a: 20f6 movs r0, #246 ; 0xf6 808313c: f7d2 f810 bl 8055160 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8083140: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8083144: b2db uxtb r3, r3 8083146: 461a mov r2, r3 8083148: 4b46 ldr r3, [pc, #280] ; (8083264 ) 808314a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808314e: 461a mov r2, r3 8083150: 218a movs r1, #138 ; 0x8a 8083152: f44f 7083 mov.w r0, #262 ; 0x106 8083156: f7d2 f803 bl 8055160 LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 808315a: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 808315e: b2db uxtb r3, r3 8083160: 461a mov r2, r3 8083162: 4b40 ldr r3, [pc, #256] ; (8083264 ) 8083164: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083168: 461a mov r2, r3 808316a: 218a movs r1, #138 ; 0x8a 808316c: f44f 708b mov.w r0, #278 ; 0x116 8083170: f7d1 fff6 bl 8055160 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 8083174: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 8083178: b2db uxtb r3, r3 808317a: 461a mov r2, r3 808317c: 4b39 ldr r3, [pc, #228] ; (8083264 ) 808317e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083182: 461a mov r2, r3 8083184: 218a movs r1, #138 ; 0x8a 8083186: f44f 7093 mov.w r0, #294 ; 0x126 808318a: f7d1 ffe9 bl 8055160 if(menupos == D_Angle_IES) 808318e: f000 bc18 b.w 80839c2 } else if(menupos == D_Angle_IEE) 8083192: 4b31 ldr r3, [pc, #196] ; (8083258 ) 8083194: 781b ldrb r3, [r3, #0] 8083196: b2db uxtb r3, r3 8083198: 2b1e cmp r3, #30 808319a: d169 bne.n 8083270 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808319c: 492f ldr r1, [pc, #188] ; (808325c ) 808319e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80831a2: f7d1 fa35 bl 8054610 if(blk) 80831a6: 4b2e ldr r3, [pc, #184] ; (8083260 ) 80831a8: 681b ldr r3, [r3, #0] 80831aa: 2b00 cmp r3, #0 80831ac: d00b beq.n 80831c6 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 80831ae: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 80831b2: b2db uxtb r3, r3 80831b4: 461a mov r2, r3 80831b6: 4b2b ldr r3, [pc, #172] ; (8083264 ) 80831b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80831bc: 461a mov r2, r3 80831be: 218a movs r1, #138 ; 0x8a 80831c0: 20e6 movs r0, #230 ; 0xe6 80831c2: f7d1 ffcd bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80831c6: 4925 ldr r1, [pc, #148] ; (808325c ) 80831c8: 4827 ldr r0, [pc, #156] ; (8083268 ) 80831ca: f7d1 fa21 bl 8054610 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 80831ce: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 80831d2: b2db uxtb r3, r3 80831d4: 461a mov r2, r3 80831d6: 4b23 ldr r3, [pc, #140] ; (8083264 ) 80831d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80831dc: 461a mov r2, r3 80831de: 218a movs r1, #138 ; 0x8a 80831e0: 20c6 movs r0, #198 ; 0xc6 80831e2: f7d1 ffbd bl 8055160 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 80831e6: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 80831ea: b2db uxtb r3, r3 80831ec: 461a mov r2, r3 80831ee: 4b1d ldr r3, [pc, #116] ; (8083264 ) 80831f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80831f4: 461a mov r2, r3 80831f6: 218a movs r1, #138 ; 0x8a 80831f8: 20d6 movs r0, #214 ; 0xd6 80831fa: f7d1 ffb1 bl 8055160 LCD_DisplayString(246, LCD_LINE_8, "."); 80831fe: 4a1b ldr r2, [pc, #108] ; (808326c ) 8083200: 218a movs r1, #138 ; 0x8a 8083202: 20f6 movs r0, #246 ; 0xf6 8083204: f7d1 ffac bl 8055160 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8083208: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 808320c: b2db uxtb r3, r3 808320e: 461a mov r2, r3 8083210: 4b14 ldr r3, [pc, #80] ; (8083264 ) 8083212: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083216: 461a mov r2, r3 8083218: 218a movs r1, #138 ; 0x8a 808321a: f44f 7083 mov.w r0, #262 ; 0x106 808321e: f7d1 ff9f bl 8055160 LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 8083222: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8083226: b2db uxtb r3, r3 8083228: 461a mov r2, r3 808322a: 4b0e ldr r3, [pc, #56] ; (8083264 ) 808322c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083230: 461a mov r2, r3 8083232: 218a movs r1, #138 ; 0x8a 8083234: f44f 708b mov.w r0, #278 ; 0x116 8083238: f7d1 ff92 bl 8055160 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 808323c: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 8083240: b2db uxtb r3, r3 8083242: 461a mov r2, r3 8083244: 4b07 ldr r3, [pc, #28] ; (8083264 ) 8083246: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808324a: 461a mov r2, r3 808324c: 218a movs r1, #138 ; 0x8a 808324e: f44f 7093 mov.w r0, #294 ; 0x126 8083252: f7d1 ff85 bl 8055160 if(menupos == D_Angle_IES) 8083256: e3b4 b.n 80839c2 8083258: 20020070 .word 0x20020070 808325c: ff0a0f1f .word 0xff0a0f1f 8083260: 200216a4 .word 0x200216a4 8083264: 2002096c .word 0x2002096c 8083268: ffd8aa57 .word 0xffd8aa57 808326c: 080d3b58 .word 0x080d3b58 } else if(menupos == D_Angle_IKD) 8083270: 4bcc ldr r3, [pc, #816] ; (80835a4 ) 8083272: 781b ldrb r3, [r3, #0] 8083274: b2db uxtb r3, r3 8083276: 2b1f cmp r3, #31 8083278: d15d bne.n 8083336 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808327a: 49cb ldr r1, [pc, #812] ; (80835a8 ) 808327c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083280: f7d1 f9c6 bl 8054610 if(blk) 8083284: 4bc9 ldr r3, [pc, #804] ; (80835ac ) 8083286: 681b ldr r3, [r3, #0] 8083288: 2b00 cmp r3, #0 808328a: d00c beq.n 80832a6 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 808328c: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8083290: b2db uxtb r3, r3 8083292: 461a mov r2, r3 8083294: 4bc6 ldr r3, [pc, #792] ; (80835b0 ) 8083296: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808329a: 461a mov r2, r3 808329c: 218a movs r1, #138 ; 0x8a 808329e: f44f 7083 mov.w r0, #262 ; 0x106 80832a2: f7d1 ff5d bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80832a6: 49c0 ldr r1, [pc, #768] ; (80835a8 ) 80832a8: 48c2 ldr r0, [pc, #776] ; (80835b4 ) 80832aa: f7d1 f9b1 bl 8054610 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 80832ae: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 80832b2: b2db uxtb r3, r3 80832b4: 461a mov r2, r3 80832b6: 4bbe ldr r3, [pc, #760] ; (80835b0 ) 80832b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80832bc: 461a mov r2, r3 80832be: 218a movs r1, #138 ; 0x8a 80832c0: 20c6 movs r0, #198 ; 0xc6 80832c2: f7d1 ff4d bl 8055160 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 80832c6: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 80832ca: b2db uxtb r3, r3 80832cc: 461a mov r2, r3 80832ce: 4bb8 ldr r3, [pc, #736] ; (80835b0 ) 80832d0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80832d4: 461a mov r2, r3 80832d6: 218a movs r1, #138 ; 0x8a 80832d8: 20d6 movs r0, #214 ; 0xd6 80832da: f7d1 ff41 bl 8055160 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 80832de: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 80832e2: b2db uxtb r3, r3 80832e4: 461a mov r2, r3 80832e6: 4bb2 ldr r3, [pc, #712] ; (80835b0 ) 80832e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80832ec: 461a mov r2, r3 80832ee: 218a movs r1, #138 ; 0x8a 80832f0: 20e6 movs r0, #230 ; 0xe6 80832f2: f7d1 ff35 bl 8055160 LCD_DisplayString(246, LCD_LINE_8, "."); 80832f6: 4ab0 ldr r2, [pc, #704] ; (80835b8 ) 80832f8: 218a movs r1, #138 ; 0x8a 80832fa: 20f6 movs r0, #246 ; 0xf6 80832fc: f7d1 ff30 bl 8055160 LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 8083300: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8083304: b2db uxtb r3, r3 8083306: 461a mov r2, r3 8083308: 4ba9 ldr r3, [pc, #676] ; (80835b0 ) 808330a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808330e: 461a mov r2, r3 8083310: 218a movs r1, #138 ; 0x8a 8083312: f44f 708b mov.w r0, #278 ; 0x116 8083316: f7d1 ff23 bl 8055160 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 808331a: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 808331e: b2db uxtb r3, r3 8083320: 461a mov r2, r3 8083322: 4ba3 ldr r3, [pc, #652] ; (80835b0 ) 8083324: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083328: 461a mov r2, r3 808332a: 218a movs r1, #138 ; 0x8a 808332c: f44f 7093 mov.w r0, #294 ; 0x126 8083330: f7d1 ff16 bl 8055160 if(menupos == D_Angle_IES) 8083334: e345 b.n 80839c2 } else if(menupos == D_Angle_IKS) 8083336: 4b9b ldr r3, [pc, #620] ; (80835a4 ) 8083338: 781b ldrb r3, [r3, #0] 808333a: b2db uxtb r3, r3 808333c: 2b20 cmp r3, #32 808333e: d15d bne.n 80833fc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083340: 4999 ldr r1, [pc, #612] ; (80835a8 ) 8083342: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083346: f7d1 f963 bl 8054610 if(blk) 808334a: 4b98 ldr r3, [pc, #608] ; (80835ac ) 808334c: 681b ldr r3, [r3, #0] 808334e: 2b00 cmp r3, #0 8083350: d00c beq.n 808336c LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 8083352: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8083356: b2db uxtb r3, r3 8083358: 461a mov r2, r3 808335a: 4b95 ldr r3, [pc, #596] ; (80835b0 ) 808335c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083360: 461a mov r2, r3 8083362: 218a movs r1, #138 ; 0x8a 8083364: f44f 708b mov.w r0, #278 ; 0x116 8083368: f7d1 fefa bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808336c: 498e ldr r1, [pc, #568] ; (80835a8 ) 808336e: 4891 ldr r0, [pc, #580] ; (80835b4 ) 8083370: f7d1 f94e bl 8054610 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8083374: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8083378: b2db uxtb r3, r3 808337a: 461a mov r2, r3 808337c: 4b8c ldr r3, [pc, #560] ; (80835b0 ) 808337e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083382: 461a mov r2, r3 8083384: 218a movs r1, #138 ; 0x8a 8083386: 20c6 movs r0, #198 ; 0xc6 8083388: f7d1 feea bl 8055160 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 808338c: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 8083390: b2db uxtb r3, r3 8083392: 461a mov r2, r3 8083394: 4b86 ldr r3, [pc, #536] ; (80835b0 ) 8083396: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808339a: 461a mov r2, r3 808339c: 218a movs r1, #138 ; 0x8a 808339e: 20d6 movs r0, #214 ; 0xd6 80833a0: f7d1 fede bl 8055160 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 80833a4: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 80833a8: b2db uxtb r3, r3 80833aa: 461a mov r2, r3 80833ac: 4b80 ldr r3, [pc, #512] ; (80835b0 ) 80833ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80833b2: 461a mov r2, r3 80833b4: 218a movs r1, #138 ; 0x8a 80833b6: 20e6 movs r0, #230 ; 0xe6 80833b8: f7d1 fed2 bl 8055160 LCD_DisplayString(246, LCD_LINE_8, "."); 80833bc: 4a7e ldr r2, [pc, #504] ; (80835b8 ) 80833be: 218a movs r1, #138 ; 0x8a 80833c0: 20f6 movs r0, #246 ; 0xf6 80833c2: f7d1 fecd bl 8055160 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 80833c6: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 80833ca: b2db uxtb r3, r3 80833cc: 461a mov r2, r3 80833ce: 4b78 ldr r3, [pc, #480] ; (80835b0 ) 80833d0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80833d4: 461a mov r2, r3 80833d6: 218a movs r1, #138 ; 0x8a 80833d8: f44f 7083 mov.w r0, #262 ; 0x106 80833dc: f7d1 fec0 bl 8055160 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 80833e0: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 80833e4: b2db uxtb r3, r3 80833e6: 461a mov r2, r3 80833e8: 4b71 ldr r3, [pc, #452] ; (80835b0 ) 80833ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80833ee: 461a mov r2, r3 80833f0: 218a movs r1, #138 ; 0x8a 80833f2: f44f 7093 mov.w r0, #294 ; 0x126 80833f6: f7d1 feb3 bl 8055160 if(menupos == D_Angle_IES) 80833fa: e2e2 b.n 80839c2 } else if(menupos == D_Angle_IKT) 80833fc: 4b69 ldr r3, [pc, #420] ; (80835a4 ) 80833fe: 781b ldrb r3, [r3, #0] 8083400: b2db uxtb r3, r3 8083402: 2b21 cmp r3, #33 ; 0x21 8083404: f040 82dd bne.w 80839c2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083408: 4967 ldr r1, [pc, #412] ; (80835a8 ) 808340a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808340e: f7d1 f8ff bl 8054610 if(blk) 8083412: 4b66 ldr r3, [pc, #408] ; (80835ac ) 8083414: 681b ldr r3, [r3, #0] 8083416: 2b00 cmp r3, #0 8083418: d00c beq.n 8083434 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 808341a: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 808341e: b2db uxtb r3, r3 8083420: 461a mov r2, r3 8083422: 4b63 ldr r3, [pc, #396] ; (80835b0 ) 8083424: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083428: 461a mov r2, r3 808342a: 218a movs r1, #138 ; 0x8a 808342c: f44f 7093 mov.w r0, #294 ; 0x126 8083430: f7d1 fe96 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083434: 495c ldr r1, [pc, #368] ; (80835a8 ) 8083436: 485f ldr r0, [pc, #380] ; (80835b4 ) 8083438: f7d1 f8ea bl 8054610 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 808343c: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8083440: b2db uxtb r3, r3 8083442: 461a mov r2, r3 8083444: 4b5a ldr r3, [pc, #360] ; (80835b0 ) 8083446: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808344a: 461a mov r2, r3 808344c: 218a movs r1, #138 ; 0x8a 808344e: 20c6 movs r0, #198 ; 0xc6 8083450: f7d1 fe86 bl 8055160 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 8083454: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 8083458: b2db uxtb r3, r3 808345a: 461a mov r2, r3 808345c: 4b54 ldr r3, [pc, #336] ; (80835b0 ) 808345e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083462: 461a mov r2, r3 8083464: 218a movs r1, #138 ; 0x8a 8083466: 20d6 movs r0, #214 ; 0xd6 8083468: f7d1 fe7a bl 8055160 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 808346c: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 8083470: b2db uxtb r3, r3 8083472: 461a mov r2, r3 8083474: 4b4e ldr r3, [pc, #312] ; (80835b0 ) 8083476: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808347a: 461a mov r2, r3 808347c: 218a movs r1, #138 ; 0x8a 808347e: 20e6 movs r0, #230 ; 0xe6 8083480: f7d1 fe6e bl 8055160 LCD_DisplayString(246, LCD_LINE_8, "."); 8083484: 4a4c ldr r2, [pc, #304] ; (80835b8 ) 8083486: 218a movs r1, #138 ; 0x8a 8083488: 20f6 movs r0, #246 ; 0xf6 808348a: f7d1 fe69 bl 8055160 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 808348e: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8083492: b2db uxtb r3, r3 8083494: 461a mov r2, r3 8083496: 4b46 ldr r3, [pc, #280] ; (80835b0 ) 8083498: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808349c: 461a mov r2, r3 808349e: 218a movs r1, #138 ; 0x8a 80834a0: f44f 7083 mov.w r0, #262 ; 0x106 80834a4: f7d1 fe5c bl 8055160 LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 80834a8: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 80834ac: b2db uxtb r3, r3 80834ae: 461a mov r2, r3 80834b0: 4b3f ldr r3, [pc, #252] ; (80835b0 ) 80834b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80834b6: 461a mov r2, r3 80834b8: 218a movs r1, #138 ; 0x8a 80834ba: f44f 708b mov.w r0, #278 ; 0x116 80834be: f7d1 fe4f bl 8055160 if(menupos == D_Angle_IES) 80834c2: e27e b.n 80839c2 } } else if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 80834c4: 4b37 ldr r3, [pc, #220] ; (80835a4 ) 80834c6: 781b ldrb r3, [r3, #0] 80834c8: b2db uxtb r3, r3 80834ca: 2b25 cmp r3, #37 ; 0x25 80834cc: f240 827a bls.w 80839c4 80834d0: 4b34 ldr r3, [pc, #208] ; (80835a4 ) 80834d2: 781b ldrb r3, [r3, #0] 80834d4: b2db uxtb r3, r3 80834d6: 2b2b cmp r3, #43 ; 0x2b 80834d8: f200 8274 bhi.w 80839c4 { if(menupos == RollMax_IDT) 80834dc: 4b31 ldr r3, [pc, #196] ; (80835a4 ) 80834de: 781b ldrb r3, [r3, #0] 80834e0: b2db uxtb r3, r3 80834e2: 2b26 cmp r3, #38 ; 0x26 80834e4: d16a bne.n 80835bc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80834e6: 4930 ldr r1, [pc, #192] ; (80835a8 ) 80834e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80834ec: f7d1 f890 bl 8054610 if(blk) 80834f0: 4b2e ldr r3, [pc, #184] ; (80835ac ) 80834f2: 681b ldr r3, [r3, #0] 80834f4: 2b00 cmp r3, #0 80834f6: d00b beq.n 8083510 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80834f8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80834fc: b2db uxtb r3, r3 80834fe: 461a mov r2, r3 8083500: 4b2b ldr r3, [pc, #172] ; (80835b0 ) 8083502: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083506: 461a mov r2, r3 8083508: 21ba movs r1, #186 ; 0xba 808350a: 20c6 movs r0, #198 ; 0xc6 808350c: f7d1 fe28 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083510: 4925 ldr r1, [pc, #148] ; (80835a8 ) 8083512: 4828 ldr r0, [pc, #160] ; (80835b4 ) 8083514: f7d1 f87c bl 8054610 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8083518: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808351c: b2db uxtb r3, r3 808351e: 461a mov r2, r3 8083520: 4b23 ldr r3, [pc, #140] ; (80835b0 ) 8083522: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083526: 461a mov r2, r3 8083528: 21ba movs r1, #186 ; 0xba 808352a: 20d6 movs r0, #214 ; 0xd6 808352c: f7d1 fe18 bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8083530: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8083534: b2db uxtb r3, r3 8083536: 461a mov r2, r3 8083538: 4b1d ldr r3, [pc, #116] ; (80835b0 ) 808353a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808353e: 461a mov r2, r3 8083540: 21ba movs r1, #186 ; 0xba 8083542: 20e6 movs r0, #230 ; 0xe6 8083544: f7d1 fe0c bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8083548: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808354c: b2db uxtb r3, r3 808354e: 461a mov r2, r3 8083550: 4b17 ldr r3, [pc, #92] ; (80835b0 ) 8083552: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083556: 461a mov r2, r3 8083558: 21ba movs r1, #186 ; 0xba 808355a: 20f6 movs r0, #246 ; 0xf6 808355c: f7d1 fe00 bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8083560: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8083564: b2db uxtb r3, r3 8083566: 461a mov r2, r3 8083568: 4b11 ldr r3, [pc, #68] ; (80835b0 ) 808356a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808356e: 461a mov r2, r3 8083570: 21ba movs r1, #186 ; 0xba 8083572: f44f 7083 mov.w r0, #262 ; 0x106 8083576: f7d1 fdf3 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 808357a: 4a0f ldr r2, [pc, #60] ; (80835b8 ) 808357c: 21ba movs r1, #186 ; 0xba 808357e: f44f 708b mov.w r0, #278 ; 0x116 8083582: f7d1 fded bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8083586: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808358a: b2db uxtb r3, r3 808358c: 461a mov r2, r3 808358e: 4b08 ldr r3, [pc, #32] ; (80835b0 ) 8083590: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083594: 461a mov r2, r3 8083596: 21ba movs r1, #186 ; 0xba 8083598: f44f 7093 mov.w r0, #294 ; 0x126 808359c: f7d1 fde0 bl 8055160 80835a0: e210 b.n 80839c4 80835a2: bf00 nop 80835a4: 20020070 .word 0x20020070 80835a8: ff0a0f1f .word 0xff0a0f1f 80835ac: 200216a4 .word 0x200216a4 80835b0: 2002096c .word 0x2002096c 80835b4: ffd8aa57 .word 0xffd8aa57 80835b8: 080d3b58 .word 0x080d3b58 } else if(menupos == RollMax_IET) 80835bc: 4bc5 ldr r3, [pc, #788] ; (80838d4 ) 80835be: 781b ldrb r3, [r3, #0] 80835c0: b2db uxtb r3, r3 80835c2: 2b27 cmp r3, #39 ; 0x27 80835c4: d15d bne.n 8083682 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80835c6: 49c4 ldr r1, [pc, #784] ; (80838d8 ) 80835c8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80835cc: f7d1 f820 bl 8054610 if(blk) 80835d0: 4bc2 ldr r3, [pc, #776] ; (80838dc ) 80835d2: 681b ldr r3, [r3, #0] 80835d4: 2b00 cmp r3, #0 80835d6: d00b beq.n 80835f0 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 80835d8: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80835dc: b2db uxtb r3, r3 80835de: 461a mov r2, r3 80835e0: 4bbf ldr r3, [pc, #764] ; (80838e0 ) 80835e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80835e6: 461a mov r2, r3 80835e8: 21ba movs r1, #186 ; 0xba 80835ea: 20d6 movs r0, #214 ; 0xd6 80835ec: f7d1 fdb8 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80835f0: 49b9 ldr r1, [pc, #740] ; (80838d8 ) 80835f2: 48bc ldr r0, [pc, #752] ; (80838e4 ) 80835f4: f7d1 f80c bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80835f8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80835fc: b2db uxtb r3, r3 80835fe: 461a mov r2, r3 8083600: 4bb7 ldr r3, [pc, #732] ; (80838e0 ) 8083602: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083606: 461a mov r2, r3 8083608: 21ba movs r1, #186 ; 0xba 808360a: 20c6 movs r0, #198 ; 0xc6 808360c: f7d1 fda8 bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8083610: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8083614: b2db uxtb r3, r3 8083616: 461a mov r2, r3 8083618: 4bb1 ldr r3, [pc, #708] ; (80838e0 ) 808361a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808361e: 461a mov r2, r3 8083620: 21ba movs r1, #186 ; 0xba 8083622: 20e6 movs r0, #230 ; 0xe6 8083624: f7d1 fd9c bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8083628: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808362c: b2db uxtb r3, r3 808362e: 461a mov r2, r3 8083630: 4bab ldr r3, [pc, #684] ; (80838e0 ) 8083632: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083636: 461a mov r2, r3 8083638: 21ba movs r1, #186 ; 0xba 808363a: 20f6 movs r0, #246 ; 0xf6 808363c: f7d1 fd90 bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8083640: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8083644: b2db uxtb r3, r3 8083646: 461a mov r2, r3 8083648: 4ba5 ldr r3, [pc, #660] ; (80838e0 ) 808364a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808364e: 461a mov r2, r3 8083650: 21ba movs r1, #186 ; 0xba 8083652: f44f 7083 mov.w r0, #262 ; 0x106 8083656: f7d1 fd83 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 808365a: 4aa3 ldr r2, [pc, #652] ; (80838e8 ) 808365c: 21ba movs r1, #186 ; 0xba 808365e: f44f 708b mov.w r0, #278 ; 0x116 8083662: f7d1 fd7d bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8083666: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808366a: b2db uxtb r3, r3 808366c: 461a mov r2, r3 808366e: 4b9c ldr r3, [pc, #624] ; (80838e0 ) 8083670: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083674: 461a mov r2, r3 8083676: 21ba movs r1, #186 ; 0xba 8083678: f44f 7093 mov.w r0, #294 ; 0x126 808367c: f7d1 fd70 bl 8055160 8083680: e1a0 b.n 80839c4 } else if(menupos == RollMax_IES) 8083682: 4b94 ldr r3, [pc, #592] ; (80838d4 ) 8083684: 781b ldrb r3, [r3, #0] 8083686: b2db uxtb r3, r3 8083688: 2b28 cmp r3, #40 ; 0x28 808368a: d15d bne.n 8083748 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808368c: 4992 ldr r1, [pc, #584] ; (80838d8 ) 808368e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083692: f7d0 ffbd bl 8054610 if(blk) 8083696: 4b91 ldr r3, [pc, #580] ; (80838dc ) 8083698: 681b ldr r3, [r3, #0] 808369a: 2b00 cmp r3, #0 808369c: d00b beq.n 80836b6 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 808369e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80836a2: b2db uxtb r3, r3 80836a4: 461a mov r2, r3 80836a6: 4b8e ldr r3, [pc, #568] ; (80838e0 ) 80836a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80836ac: 461a mov r2, r3 80836ae: 21ba movs r1, #186 ; 0xba 80836b0: 20e6 movs r0, #230 ; 0xe6 80836b2: f7d1 fd55 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80836b6: 4988 ldr r1, [pc, #544] ; (80838d8 ) 80836b8: 488a ldr r0, [pc, #552] ; (80838e4 ) 80836ba: f7d0 ffa9 bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80836be: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80836c2: b2db uxtb r3, r3 80836c4: 461a mov r2, r3 80836c6: 4b86 ldr r3, [pc, #536] ; (80838e0 ) 80836c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80836cc: 461a mov r2, r3 80836ce: 21ba movs r1, #186 ; 0xba 80836d0: 20c6 movs r0, #198 ; 0xc6 80836d2: f7d1 fd45 bl 8055160 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 80836d6: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80836da: b2db uxtb r3, r3 80836dc: 461a mov r2, r3 80836de: 4b80 ldr r3, [pc, #512] ; (80838e0 ) 80836e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80836e4: 461a mov r2, r3 80836e6: 21ba movs r1, #186 ; 0xba 80836e8: 20d6 movs r0, #214 ; 0xd6 80836ea: f7d1 fd39 bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 80836ee: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80836f2: b2db uxtb r3, r3 80836f4: 461a mov r2, r3 80836f6: 4b7a ldr r3, [pc, #488] ; (80838e0 ) 80836f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80836fc: 461a mov r2, r3 80836fe: 21ba movs r1, #186 ; 0xba 8083700: 20f6 movs r0, #246 ; 0xf6 8083702: f7d1 fd2d bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8083706: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808370a: b2db uxtb r3, r3 808370c: 461a mov r2, r3 808370e: 4b74 ldr r3, [pc, #464] ; (80838e0 ) 8083710: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083714: 461a mov r2, r3 8083716: 21ba movs r1, #186 ; 0xba 8083718: f44f 7083 mov.w r0, #262 ; 0x106 808371c: f7d1 fd20 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 8083720: 4a71 ldr r2, [pc, #452] ; (80838e8 ) 8083722: 21ba movs r1, #186 ; 0xba 8083724: f44f 708b mov.w r0, #278 ; 0x116 8083728: f7d1 fd1a bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 808372c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8083730: b2db uxtb r3, r3 8083732: 461a mov r2, r3 8083734: 4b6a ldr r3, [pc, #424] ; (80838e0 ) 8083736: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808373a: 461a mov r2, r3 808373c: 21ba movs r1, #186 ; 0xba 808373e: f44f 7093 mov.w r0, #294 ; 0x126 8083742: f7d1 fd0d bl 8055160 8083746: e13d b.n 80839c4 } else if(menupos == RollMax_IED) 8083748: 4b62 ldr r3, [pc, #392] ; (80838d4 ) 808374a: 781b ldrb r3, [r3, #0] 808374c: b2db uxtb r3, r3 808374e: 2b29 cmp r3, #41 ; 0x29 8083750: d15d bne.n 808380e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083752: 4961 ldr r1, [pc, #388] ; (80838d8 ) 8083754: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083758: f7d0 ff5a bl 8054610 if(blk) 808375c: 4b5f ldr r3, [pc, #380] ; (80838dc ) 808375e: 681b ldr r3, [r3, #0] 8083760: 2b00 cmp r3, #0 8083762: d00b beq.n 808377c LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8083764: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8083768: b2db uxtb r3, r3 808376a: 461a mov r2, r3 808376c: 4b5c ldr r3, [pc, #368] ; (80838e0 ) 808376e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083772: 461a mov r2, r3 8083774: 21ba movs r1, #186 ; 0xba 8083776: 20f6 movs r0, #246 ; 0xf6 8083778: f7d1 fcf2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808377c: 4956 ldr r1, [pc, #344] ; (80838d8 ) 808377e: 4859 ldr r0, [pc, #356] ; (80838e4 ) 8083780: f7d0 ff46 bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8083784: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8083788: b2db uxtb r3, r3 808378a: 461a mov r2, r3 808378c: 4b54 ldr r3, [pc, #336] ; (80838e0 ) 808378e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083792: 461a mov r2, r3 8083794: 21ba movs r1, #186 ; 0xba 8083796: 20c6 movs r0, #198 ; 0xc6 8083798: f7d1 fce2 bl 8055160 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 808379c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80837a0: b2db uxtb r3, r3 80837a2: 461a mov r2, r3 80837a4: 4b4e ldr r3, [pc, #312] ; (80838e0 ) 80837a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80837aa: 461a mov r2, r3 80837ac: 21ba movs r1, #186 ; 0xba 80837ae: 20d6 movs r0, #214 ; 0xd6 80837b0: f7d1 fcd6 bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 80837b4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80837b8: b2db uxtb r3, r3 80837ba: 461a mov r2, r3 80837bc: 4b48 ldr r3, [pc, #288] ; (80838e0 ) 80837be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80837c2: 461a mov r2, r3 80837c4: 21ba movs r1, #186 ; 0xba 80837c6: 20e6 movs r0, #230 ; 0xe6 80837c8: f7d1 fcca bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 80837cc: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80837d0: b2db uxtb r3, r3 80837d2: 461a mov r2, r3 80837d4: 4b42 ldr r3, [pc, #264] ; (80838e0 ) 80837d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80837da: 461a mov r2, r3 80837dc: 21ba movs r1, #186 ; 0xba 80837de: f44f 7083 mov.w r0, #262 ; 0x106 80837e2: f7d1 fcbd bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 80837e6: 4a40 ldr r2, [pc, #256] ; (80838e8 ) 80837e8: 21ba movs r1, #186 ; 0xba 80837ea: f44f 708b mov.w r0, #278 ; 0x116 80837ee: f7d1 fcb7 bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80837f2: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80837f6: b2db uxtb r3, r3 80837f8: 461a mov r2, r3 80837fa: 4b39 ldr r3, [pc, #228] ; (80838e0 ) 80837fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083800: 461a mov r2, r3 8083802: 21ba movs r1, #186 ; 0xba 8083804: f44f 7093 mov.w r0, #294 ; 0x126 8083808: f7d1 fcaa bl 8055160 808380c: e0da b.n 80839c4 } else if(menupos == RollMax_IEE) 808380e: 4b31 ldr r3, [pc, #196] ; (80838d4 ) 8083810: 781b ldrb r3, [r3, #0] 8083812: b2db uxtb r3, r3 8083814: 2b2a cmp r3, #42 ; 0x2a 8083816: d169 bne.n 80838ec { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083818: 492f ldr r1, [pc, #188] ; (80838d8 ) 808381a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808381e: f7d0 fef7 bl 8054610 if(blk) 8083822: 4b2e ldr r3, [pc, #184] ; (80838dc ) 8083824: 681b ldr r3, [r3, #0] 8083826: 2b00 cmp r3, #0 8083828: d00c beq.n 8083844 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 808382a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808382e: b2db uxtb r3, r3 8083830: 461a mov r2, r3 8083832: 4b2b ldr r3, [pc, #172] ; (80838e0 ) 8083834: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083838: 461a mov r2, r3 808383a: 21ba movs r1, #186 ; 0xba 808383c: f44f 7083 mov.w r0, #262 ; 0x106 8083840: f7d1 fc8e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083844: 4924 ldr r1, [pc, #144] ; (80838d8 ) 8083846: 4827 ldr r0, [pc, #156] ; (80838e4 ) 8083848: f7d0 fee2 bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 808384c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8083850: b2db uxtb r3, r3 8083852: 461a mov r2, r3 8083854: 4b22 ldr r3, [pc, #136] ; (80838e0 ) 8083856: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808385a: 461a mov r2, r3 808385c: 21ba movs r1, #186 ; 0xba 808385e: 20c6 movs r0, #198 ; 0xc6 8083860: f7d1 fc7e bl 8055160 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8083864: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8083868: b2db uxtb r3, r3 808386a: 461a mov r2, r3 808386c: 4b1c ldr r3, [pc, #112] ; (80838e0 ) 808386e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083872: 461a mov r2, r3 8083874: 21ba movs r1, #186 ; 0xba 8083876: 20d6 movs r0, #214 ; 0xd6 8083878: f7d1 fc72 bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 808387c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8083880: b2db uxtb r3, r3 8083882: 461a mov r2, r3 8083884: 4b16 ldr r3, [pc, #88] ; (80838e0 ) 8083886: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808388a: 461a mov r2, r3 808388c: 21ba movs r1, #186 ; 0xba 808388e: 20e6 movs r0, #230 ; 0xe6 8083890: f7d1 fc66 bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8083894: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8083898: b2db uxtb r3, r3 808389a: 461a mov r2, r3 808389c: 4b10 ldr r3, [pc, #64] ; (80838e0 ) 808389e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80838a2: 461a mov r2, r3 80838a4: 21ba movs r1, #186 ; 0xba 80838a6: 20f6 movs r0, #246 ; 0xf6 80838a8: f7d1 fc5a bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 80838ac: 4a0e ldr r2, [pc, #56] ; (80838e8 ) 80838ae: 21ba movs r1, #186 ; 0xba 80838b0: f44f 708b mov.w r0, #278 ; 0x116 80838b4: f7d1 fc54 bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80838b8: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80838bc: b2db uxtb r3, r3 80838be: 461a mov r2, r3 80838c0: 4b07 ldr r3, [pc, #28] ; (80838e0 ) 80838c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80838c6: 461a mov r2, r3 80838c8: 21ba movs r1, #186 ; 0xba 80838ca: f44f 7093 mov.w r0, #294 ; 0x126 80838ce: f7d1 fc47 bl 8055160 80838d2: e077 b.n 80839c4 80838d4: 20020070 .word 0x20020070 80838d8: ff0a0f1f .word 0xff0a0f1f 80838dc: 200216a4 .word 0x200216a4 80838e0: 2002096c .word 0x2002096c 80838e4: ffd8aa57 .word 0xffd8aa57 80838e8: 080d3b58 .word 0x080d3b58 } else if(menupos == RollMax_IKD) 80838ec: 4b72 ldr r3, [pc, #456] ; (8083ab8 ) 80838ee: 781b ldrb r3, [r3, #0] 80838f0: b2db uxtb r3, r3 80838f2: 2b2b cmp r3, #43 ; 0x2b 80838f4: d166 bne.n 80839c4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80838f6: 4971 ldr r1, [pc, #452] ; (8083abc ) 80838f8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80838fc: f7d0 fe88 bl 8054610 if(blk) 8083900: 4b6f ldr r3, [pc, #444] ; (8083ac0 ) 8083902: 681b ldr r3, [r3, #0] 8083904: 2b00 cmp r3, #0 8083906: d00c beq.n 8083922 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8083908: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808390c: b2db uxtb r3, r3 808390e: 461a mov r2, r3 8083910: 4b6c ldr r3, [pc, #432] ; (8083ac4 ) 8083912: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083916: 461a mov r2, r3 8083918: 21ba movs r1, #186 ; 0xba 808391a: f44f 7093 mov.w r0, #294 ; 0x126 808391e: f7d1 fc1f bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083922: 4966 ldr r1, [pc, #408] ; (8083abc ) 8083924: 4868 ldr r0, [pc, #416] ; (8083ac8 ) 8083926: f7d0 fe73 bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 808392a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808392e: b2db uxtb r3, r3 8083930: 461a mov r2, r3 8083932: 4b64 ldr r3, [pc, #400] ; (8083ac4 ) 8083934: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083938: 461a mov r2, r3 808393a: 21ba movs r1, #186 ; 0xba 808393c: 20c6 movs r0, #198 ; 0xc6 808393e: f7d1 fc0f bl 8055160 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8083942: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8083946: b2db uxtb r3, r3 8083948: 461a mov r2, r3 808394a: 4b5e ldr r3, [pc, #376] ; (8083ac4 ) 808394c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083950: 461a mov r2, r3 8083952: 21ba movs r1, #186 ; 0xba 8083954: 20d6 movs r0, #214 ; 0xd6 8083956: f7d1 fc03 bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 808395a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808395e: b2db uxtb r3, r3 8083960: 461a mov r2, r3 8083962: 4b58 ldr r3, [pc, #352] ; (8083ac4 ) 8083964: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083968: 461a mov r2, r3 808396a: 21ba movs r1, #186 ; 0xba 808396c: 20e6 movs r0, #230 ; 0xe6 808396e: f7d1 fbf7 bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8083972: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8083976: b2db uxtb r3, r3 8083978: 461a mov r2, r3 808397a: 4b52 ldr r3, [pc, #328] ; (8083ac4 ) 808397c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083980: 461a mov r2, r3 8083982: 21ba movs r1, #186 ; 0xba 8083984: 20f6 movs r0, #246 ; 0xf6 8083986: f7d1 fbeb bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 808398a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808398e: b2db uxtb r3, r3 8083990: 461a mov r2, r3 8083992: 4b4c ldr r3, [pc, #304] ; (8083ac4 ) 8083994: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083998: 461a mov r2, r3 808399a: 21ba movs r1, #186 ; 0xba 808399c: f44f 7083 mov.w r0, #262 ; 0x106 80839a0: f7d1 fbde bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 80839a4: 4a49 ldr r2, [pc, #292] ; (8083acc ) 80839a6: 21ba movs r1, #186 ; 0xba 80839a8: f44f 708b mov.w r0, #278 ; 0x116 80839ac: f7d1 fbd8 bl 8055160 80839b0: e008 b.n 80839c4 if(menupos == D_Rate_IET) 80839b2: bf00 nop 80839b4: e006 b.n 80839c4 if(menupos == D_Roll_IES) 80839b6: bf00 nop 80839b8: e004 b.n 80839c4 if(menupos == D_Outer_IES) 80839ba: bf00 nop 80839bc: e002 b.n 80839c4 if(menupos == D_Inner_IES) 80839be: bf00 nop 80839c0: e000 b.n 80839c4 if(menupos == D_Angle_IES) 80839c2: bf00 nop } } } if(pardata.OPTIONS & BIT2) // Åñëè àâòîóñèëåíèå 80839c4: 4b42 ldr r3, [pc, #264] ; (8083ad0 ) 80839c6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80839ca: f003 0304 and.w r3, r3, #4 80839ce: 2b00 cmp r3, #0 80839d0: f014 8615 beq.w 80985fe { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80839d4: 4939 ldr r1, [pc, #228] ; (8083abc ) 80839d6: 483f ldr r0, [pc, #252] ; (8083ad4 ) 80839d8: f7d0 fe1a bl 8054610 //BSP_LCD_FillRect(257, 191, 6, 6); BSP_LCD_FillRect(257, 175, 6, 6); 80839dc: 2306 movs r3, #6 80839de: 2206 movs r2, #6 80839e0: 21af movs r1, #175 ; 0xaf 80839e2: f240 1001 movw r0, #257 ; 0x101 80839e6: f7d1 faa1 bl 8054f2c } break; 80839ea: f014 be08 b.w 80985fe case PARAM_SPEC: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80839ee: 4933 ldr r1, [pc, #204] ; (8083abc ) 80839f0: 4839 ldr r0, [pc, #228] ; (8083ad8 ) 80839f2: f7d0 fe0d bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 80839f6: 23c9 movs r3, #201 ; 0xc9 80839f8: f44f 729d mov.w r2, #314 ; 0x13a 80839fc: 2123 movs r1, #35 ; 0x23 80839fe: 2002 movs r0, #2 8083a00: f7d1 f90c bl 8054c1c //**************************************************************** strcpy(strF, pDelta_SPC[pardata.FRQ][pardata.LNE]); 8083a04: 4b32 ldr r3, [pc, #200] ; (8083ad0 ) 8083a06: 7adb ldrb r3, [r3, #11] 8083a08: b2db uxtb r3, r3 8083a0a: 4618 mov r0, r3 8083a0c: 4b30 ldr r3, [pc, #192] ; (8083ad0 ) 8083a0e: 79db ldrb r3, [r3, #7] 8083a10: b2db uxtb r3, r3 8083a12: 4619 mov r1, r3 8083a14: 4a31 ldr r2, [pc, #196] ; (8083adc ) 8083a16: 0083 lsls r3, r0, #2 8083a18: 440b add r3, r1 8083a1a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8083a1e: f507 73b6 add.w r3, r7, #364 ; 0x16c 8083a22: 4611 mov r1, r2 8083a24: 4618 mov r0, r3 8083a26: f04d fdd8 bl 80d15da l = strlen(strF); 8083a2a: f507 73b6 add.w r3, r7, #364 ; 0x16c 8083a2e: 4618 mov r0, r3 8083a30: f79c fc70 bl 8020314 8083a34: 4603 mov r3, r0 8083a36: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 8083a3a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8083a3e: 2b09 cmp r3, #9 8083a40: d808 bhi.n 8083a54 { strcpy(str1, strF); 8083a42: f507 72b6 add.w r2, r7, #364 ; 0x16c 8083a46: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8083a4a: 4611 mov r1, r2 8083a4c: 4618 mov r0, r3 8083a4e: f04d fdc4 bl 80d15da 8083a52: e07b b.n 8083b4c } else { memset(str1, 0x20, sizeof(str1)); 8083a54: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8083a58: f44f 7280 mov.w r2, #256 ; 0x100 8083a5c: 2120 movs r1, #32 8083a5e: 4618 mov r0, r3 8083a60: f04d fc9e bl 80d13a0 if(tme <= l) 8083a64: 4b1e ldr r3, [pc, #120] ; (8083ae0 ) 8083a66: 681a ldr r2, [r3, #0] 8083a68: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8083a6c: 429a cmp r2, r3 8083a6e: d839 bhi.n 8083ae4 { if(l - tme >= 9) 8083a70: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8083a74: 4b1a ldr r3, [pc, #104] ; (8083ae0 ) 8083a76: 681b ldr r3, [r3, #0] 8083a78: 1ad3 subs r3, r2, r3 8083a7a: 2b08 cmp r3, #8 8083a7c: d90b bls.n 8083a96 memcpy(str1, &strF[tme], 9); 8083a7e: 4b18 ldr r3, [pc, #96] ; (8083ae0 ) 8083a80: 681b ldr r3, [r3, #0] 8083a82: f507 72b6 add.w r2, r7, #364 ; 0x16c 8083a86: 18d1 adds r1, r2, r3 8083a88: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8083a8c: 2209 movs r2, #9 8083a8e: 4618 mov r0, r3 8083a90: f04d fc7b bl 80d138a 8083a94: e039 b.n 8083b0a else memcpy(str1, &strF[tme], l - tme); 8083a96: 4b12 ldr r3, [pc, #72] ; (8083ae0 ) 8083a98: 681b ldr r3, [r3, #0] 8083a9a: f507 72b6 add.w r2, r7, #364 ; 0x16c 8083a9e: 18d1 adds r1, r2, r3 8083aa0: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8083aa4: 4b0e ldr r3, [pc, #56] ; (8083ae0 ) 8083aa6: 681b ldr r3, [r3, #0] 8083aa8: 1ad2 subs r2, r2, r3 8083aaa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8083aae: 4618 mov r0, r3 8083ab0: f04d fc6b bl 80d138a 8083ab4: e029 b.n 8083b0a 8083ab6: bf00 nop 8083ab8: 20020070 .word 0x20020070 8083abc: ff0a0f1f .word 0xff0a0f1f 8083ac0: 200216a4 .word 0x200216a4 8083ac4: 2002096c .word 0x2002096c 8083ac8: ffd8aa57 .word 0xffd8aa57 8083acc: 080d3b58 .word 0x080d3b58 8083ad0: 20023ea8 .word 0x20023ea8 8083ad4: ff404040 .word 0xff404040 8083ad8: ffd3d3d3 .word 0xffd3d3d3 8083adc: 20020394 .word 0x20020394 8083ae0: 200216b0 .word 0x200216b0 } else { memcpy(&str1[9 - (tme - l)], strF, tme - l); 8083ae4: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8083ae8: 4bd0 ldr r3, [pc, #832] ; (8083e2c ) 8083aea: 681b ldr r3, [r3, #0] 8083aec: 1ad3 subs r3, r2, r3 8083aee: 3309 adds r3, #9 8083af0: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8083af4: 18d0 adds r0, r2, r3 8083af6: 4bcd ldr r3, [pc, #820] ; (8083e2c ) 8083af8: 681a ldr r2, [r3, #0] 8083afa: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8083afe: 1ad2 subs r2, r2, r3 8083b00: f507 73b6 add.w r3, r7, #364 ; 0x16c 8083b04: 4619 mov r1, r3 8083b06: f04d fc40 bl 80d138a } str1[10] = '\0'; 8083b0a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8083b0e: 2200 movs r2, #0 8083b10: 729a strb r2, [r3, #10] tt++; 8083b12: 4bc7 ldr r3, [pc, #796] ; (8083e30 ) 8083b14: 781b ldrb r3, [r3, #0] 8083b16: 3301 adds r3, #1 8083b18: b2da uxtb r2, r3 8083b1a: 4bc5 ldr r3, [pc, #788] ; (8083e30 ) 8083b1c: 701a strb r2, [r3, #0] if(tt >= 4) 8083b1e: 4bc4 ldr r3, [pc, #784] ; (8083e30 ) 8083b20: 781b ldrb r3, [r3, #0] 8083b22: 2b03 cmp r3, #3 8083b24: d912 bls.n 8083b4c { tt = 0; 8083b26: 4bc2 ldr r3, [pc, #776] ; (8083e30 ) 8083b28: 2200 movs r2, #0 8083b2a: 701a strb r2, [r3, #0] tme++; 8083b2c: 4bbf ldr r3, [pc, #764] ; (8083e2c ) 8083b2e: 681b ldr r3, [r3, #0] 8083b30: 3301 adds r3, #1 8083b32: 4abe ldr r2, [pc, #760] ; (8083e2c ) 8083b34: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 8083b36: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8083b3a: 4bbc ldr r3, [pc, #752] ; (8083e2c ) 8083b3c: 681b ldr r3, [r3, #0] 8083b3e: 1ad3 subs r3, r2, r3 8083b40: f113 0f09 cmn.w r3, #9 8083b44: d102 bne.n 8083b4c { tme = 0; 8083b46: 4bb9 ldr r3, [pc, #740] ; (8083e2c ) 8083b48: 2200 movs r2, #0 8083b4a: 601a str r2, [r3, #0] //**************************************************************** k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8083b4c: 4bb9 ldr r3, [pc, #740] ; (8083e34 ) 8083b4e: edd3 7a06 vldr s15, [r3, #24] 8083b52: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8083b56: ee67 7a87 vmul.f32 s15, s15, s14 8083b5a: eefc 7ae7 vcvt.u32.f32 s15, s15 8083b5e: ee17 3a90 vmov r3, s15 8083b62: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 8083b66: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8083b6a: 095b lsrs r3, r3, #5 8083b6c: 4ab2 ldr r2, [pc, #712] ; (8083e38 ) 8083b6e: fba2 2303 umull r2, r3, r2, r3 8083b72: 09db lsrs r3, r3, #7 8083b74: b2db uxtb r3, r3 8083b76: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 8083b7a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8083b7e: 0953 lsrs r3, r2, #5 8083b80: 49ad ldr r1, [pc, #692] ; (8083e38 ) 8083b82: fba1 1303 umull r1, r3, r1, r3 8083b86: 09db lsrs r3, r3, #7 8083b88: 49ac ldr r1, [pc, #688] ; (8083e3c ) 8083b8a: fb01 f303 mul.w r3, r1, r3 8083b8e: 1ad3 subs r3, r2, r3 8083b90: 4aab ldr r2, [pc, #684] ; (8083e40 ) 8083b92: fba2 2303 umull r2, r3, r2, r3 8083b96: 0b5b lsrs r3, r3, #13 8083b98: b2db uxtb r3, r3 8083b9a: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 8083b9e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8083ba2: 0953 lsrs r3, r2, #5 8083ba4: 49a4 ldr r1, [pc, #656] ; (8083e38 ) 8083ba6: fba1 1303 umull r1, r3, r1, r3 8083baa: 09db lsrs r3, r3, #7 8083bac: 49a3 ldr r1, [pc, #652] ; (8083e3c ) 8083bae: fb01 f303 mul.w r3, r1, r3 8083bb2: 1ad3 subs r3, r2, r3 8083bb4: 4aa2 ldr r2, [pc, #648] ; (8083e40 ) 8083bb6: fba2 1203 umull r1, r2, r2, r3 8083bba: 0b52 lsrs r2, r2, #13 8083bbc: f242 7110 movw r1, #10000 ; 0x2710 8083bc0: fb01 f202 mul.w r2, r1, r2 8083bc4: 1a9a subs r2, r3, r2 8083bc6: 4b9f ldr r3, [pc, #636] ; (8083e44 ) 8083bc8: fba3 2302 umull r2, r3, r3, r2 8083bcc: 099b lsrs r3, r3, #6 8083bce: b2db uxtb r3, r3 8083bd0: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8083bd4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8083bd8: 095a lsrs r2, r3, #5 8083bda: 4997 ldr r1, [pc, #604] ; (8083e38 ) 8083bdc: fba1 1202 umull r1, r2, r1, r2 8083be0: 09d2 lsrs r2, r2, #7 8083be2: 4996 ldr r1, [pc, #600] ; (8083e3c ) 8083be4: fb01 f202 mul.w r2, r1, r2 8083be8: 1a9a subs r2, r3, r2 8083bea: 4b95 ldr r3, [pc, #596] ; (8083e40 ) 8083bec: fba3 1302 umull r1, r3, r3, r2 8083bf0: 0b5b lsrs r3, r3, #13 8083bf2: f242 7110 movw r1, #10000 ; 0x2710 8083bf6: fb01 f303 mul.w r3, r1, r3 8083bfa: 1ad3 subs r3, r2, r3 8083bfc: 4a91 ldr r2, [pc, #580] ; (8083e44 ) 8083bfe: fba2 1203 umull r1, r2, r2, r3 8083c02: 0992 lsrs r2, r2, #6 8083c04: f44f 717a mov.w r1, #1000 ; 0x3e8 8083c08: fb01 f202 mul.w r2, r1, r2 8083c0c: 1a9a subs r2, r3, r2 8083c0e: 4b8e ldr r3, [pc, #568] ; (8083e48 ) 8083c10: fba3 2302 umull r2, r3, r3, r2 8083c14: 095b lsrs r3, r3, #5 8083c16: b2db uxtb r3, r3 8083c18: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8083c1c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8083c20: 0953 lsrs r3, r2, #5 8083c22: 4985 ldr r1, [pc, #532] ; (8083e38 ) 8083c24: fba1 1303 umull r1, r3, r1, r3 8083c28: 09db lsrs r3, r3, #7 8083c2a: 4984 ldr r1, [pc, #528] ; (8083e3c ) 8083c2c: fb01 f303 mul.w r3, r1, r3 8083c30: 1ad3 subs r3, r2, r3 8083c32: 4a83 ldr r2, [pc, #524] ; (8083e40 ) 8083c34: fba2 1203 umull r1, r2, r2, r3 8083c38: 0b52 lsrs r2, r2, #13 8083c3a: f242 7110 movw r1, #10000 ; 0x2710 8083c3e: fb01 f202 mul.w r2, r1, r2 8083c42: 1a9a subs r2, r3, r2 8083c44: 4b7f ldr r3, [pc, #508] ; (8083e44 ) 8083c46: fba3 1302 umull r1, r3, r3, r2 8083c4a: 099b lsrs r3, r3, #6 8083c4c: f44f 717a mov.w r1, #1000 ; 0x3e8 8083c50: fb01 f303 mul.w r3, r1, r3 8083c54: 1ad3 subs r3, r2, r3 8083c56: 4a7c ldr r2, [pc, #496] ; (8083e48 ) 8083c58: fba2 1203 umull r1, r2, r2, r3 8083c5c: 0952 lsrs r2, r2, #5 8083c5e: 2164 movs r1, #100 ; 0x64 8083c60: fb01 f202 mul.w r2, r1, r2 8083c64: 1a9a subs r2, r3, r2 8083c66: 4b79 ldr r3, [pc, #484] ; (8083e4c ) 8083c68: fba3 2302 umull r2, r3, r3, r2 8083c6c: 08db lsrs r3, r3, #3 8083c6e: b2db uxtb r3, r3 8083c70: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8083c74: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8083c78: 0953 lsrs r3, r2, #5 8083c7a: 496f ldr r1, [pc, #444] ; (8083e38 ) 8083c7c: fba1 1303 umull r1, r3, r1, r3 8083c80: 09db lsrs r3, r3, #7 8083c82: 496e ldr r1, [pc, #440] ; (8083e3c ) 8083c84: fb01 f303 mul.w r3, r1, r3 8083c88: 1ad3 subs r3, r2, r3 8083c8a: 4a6d ldr r2, [pc, #436] ; (8083e40 ) 8083c8c: fba2 1203 umull r1, r2, r2, r3 8083c90: 0b52 lsrs r2, r2, #13 8083c92: f242 7110 movw r1, #10000 ; 0x2710 8083c96: fb01 f202 mul.w r2, r1, r2 8083c9a: 1a9a subs r2, r3, r2 8083c9c: 4b69 ldr r3, [pc, #420] ; (8083e44 ) 8083c9e: fba3 1302 umull r1, r3, r3, r2 8083ca2: 099b lsrs r3, r3, #6 8083ca4: f44f 717a mov.w r1, #1000 ; 0x3e8 8083ca8: fb01 f303 mul.w r3, r1, r3 8083cac: 1ad3 subs r3, r2, r3 8083cae: 4a66 ldr r2, [pc, #408] ; (8083e48 ) 8083cb0: fba2 1203 umull r1, r2, r2, r3 8083cb4: 0952 lsrs r2, r2, #5 8083cb6: 2164 movs r1, #100 ; 0x64 8083cb8: fb01 f202 mul.w r2, r1, r2 8083cbc: 1a9a subs r2, r3, r2 8083cbe: 4b63 ldr r3, [pc, #396] ; (8083e4c ) 8083cc0: fba3 1302 umull r1, r3, r3, r2 8083cc4: 08d9 lsrs r1, r3, #3 8083cc6: 460b mov r3, r1 8083cc8: 009b lsls r3, r3, #2 8083cca: 440b add r3, r1 8083ccc: 005b lsls r3, r3, #1 8083cce: 1ad1 subs r1, r2, r3 8083cd0: b2cb uxtb r3, r1 8083cd2: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 8083cd6: 2300 movs r3, #0 8083cd8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 8083cdc: f507 733b add.w r3, r7, #748 ; 0x2ec 8083ce0: 223c movs r2, #60 ; 0x3c 8083ce2: 2100 movs r1, #0 8083ce4: 4618 mov r0, r3 8083ce6: f04d fb5b bl 80d13a0 if(idt2 != 0) 8083cea: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8083cee: b2db uxtb r3, r3 8083cf0: 2b00 cmp r3, #0 8083cf2: d00c beq.n 8083d0e str[i++] = idt2 + 48; 8083cf4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083cf8: 1c5a adds r2, r3, #1 8083cfa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083cfe: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 8083d02: b2d2 uxtb r2, r2 8083d04: 3230 adds r2, #48 ; 0x30 8083d06: b2d1 uxtb r1, r2 8083d08: f507 723b add.w r2, r7, #748 ; 0x2ec 8083d0c: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 8083d0e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8083d12: b2db uxtb r3, r3 8083d14: 2b00 cmp r3, #0 8083d16: d104 bne.n 8083d22 8083d18: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8083d1c: b2db uxtb r3, r3 8083d1e: 2b00 cmp r3, #0 8083d20: d00c beq.n 8083d3c str[i++] = iet2 + 48; 8083d22: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083d26: 1c5a adds r2, r3, #1 8083d28: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083d2c: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 8083d30: b2d2 uxtb r2, r2 8083d32: 3230 adds r2, #48 ; 0x30 8083d34: b2d1 uxtb r1, r2 8083d36: f507 723b add.w r2, r7, #748 ; 0x2ec 8083d3a: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8083d3c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8083d40: b2db uxtb r3, r3 8083d42: 2b00 cmp r3, #0 8083d44: d109 bne.n 8083d5a 8083d46: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8083d4a: b2db uxtb r3, r3 8083d4c: 2b00 cmp r3, #0 8083d4e: d104 bne.n 8083d5a 8083d50: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8083d54: b2db uxtb r3, r3 8083d56: 2b00 cmp r3, #0 8083d58: d00c beq.n 8083d74 str[i++] = ies2 + 48; 8083d5a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083d5e: 1c5a adds r2, r3, #1 8083d60: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083d64: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 8083d68: b2d2 uxtb r2, r2 8083d6a: 3230 adds r2, #48 ; 0x30 8083d6c: b2d1 uxtb r1, r2 8083d6e: f507 723b add.w r2, r7, #748 ; 0x2ec 8083d72: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8083d74: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8083d78: b2db uxtb r3, r3 8083d7a: 2b00 cmp r3, #0 8083d7c: d10e bne.n 8083d9c 8083d7e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8083d82: b2db uxtb r3, r3 8083d84: 2b00 cmp r3, #0 8083d86: d109 bne.n 8083d9c 8083d88: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8083d8c: b2db uxtb r3, r3 8083d8e: 2b00 cmp r3, #0 8083d90: d104 bne.n 8083d9c 8083d92: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8083d96: b2db uxtb r3, r3 8083d98: 2b00 cmp r3, #0 8083d9a: d00c beq.n 8083db6 str[i++] = ied2 + 48; 8083d9c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083da0: 1c5a adds r2, r3, #1 8083da2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083da6: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 8083daa: b2d2 uxtb r2, r2 8083dac: 3230 adds r2, #48 ; 0x30 8083dae: b2d1 uxtb r1, r2 8083db0: f507 723b add.w r2, r7, #748 ; 0x2ec 8083db4: 54d1 strb r1, [r2, r3] str[i++] = iee2 + 48; 8083db6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083dba: 1c5a adds r2, r3, #1 8083dbc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083dc0: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 8083dc4: b2d2 uxtb r2, r2 8083dc6: 3230 adds r2, #48 ; 0x30 8083dc8: b2d1 uxtb r1, r2 8083dca: f507 723b add.w r2, r7, #748 ; 0x2ec 8083dce: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8083dd0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083dd4: 1c5a adds r2, r3, #1 8083dd6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083dda: f507 723b add.w r2, r7, #748 ; 0x2ec 8083dde: 212e movs r1, #46 ; 0x2e 8083de0: 54d1 strb r1, [r2, r3] str[i++] = ikd2 + 48; 8083de2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083de6: 1c5a adds r2, r3, #1 8083de8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083dec: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 8083df0: b2d2 uxtb r2, r2 8083df2: 3230 adds r2, #48 ; 0x30 8083df4: b2d1 uxtb r1, r2 8083df6: f507 723b add.w r2, r7, #748 ; 0x2ec 8083dfa: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.HP * 10.0f); 8083dfc: 4b0d ldr r3, [pc, #52] ; (8083e34 ) 8083dfe: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8083e02: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8083e06: ee67 7a87 vmul.f32 s15, s15, s14 8083e0a: eefc 7ae7 vcvt.u32.f32 s15, s15 8083e0e: ee17 3a90 vmov r3, s15 8083e12: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 8083e16: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8083e1a: 095b lsrs r3, r3, #5 8083e1c: 4a06 ldr r2, [pc, #24] ; (8083e38 ) 8083e1e: fba2 2303 umull r2, r3, r2, r3 8083e22: 09db lsrs r3, r3, #7 8083e24: b2db uxtb r3, r3 8083e26: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 8083e2a: e011 b.n 8083e50 8083e2c: 200216b0 .word 0x200216b0 8083e30: 200216b4 .word 0x200216b4 8083e34: 20023ea8 .word 0x20023ea8 8083e38: 0a7c5ac5 .word 0x0a7c5ac5 8083e3c: 000186a0 .word 0x000186a0 8083e40: d1b71759 .word 0xd1b71759 8083e44: 10624dd3 .word 0x10624dd3 8083e48: 51eb851f .word 0x51eb851f 8083e4c: cccccccd .word 0xcccccccd ietHP = (uint8_t) (k % 100000 / 10000); 8083e50: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8083e54: 0953 lsrs r3, r2, #5 8083e56: 49d5 ldr r1, [pc, #852] ; (80841ac ) 8083e58: fba1 1303 umull r1, r3, r1, r3 8083e5c: 09db lsrs r3, r3, #7 8083e5e: 49d4 ldr r1, [pc, #848] ; (80841b0 ) 8083e60: fb01 f303 mul.w r3, r1, r3 8083e64: 1ad3 subs r3, r2, r3 8083e66: 4ad3 ldr r2, [pc, #844] ; (80841b4 ) 8083e68: fba2 2303 umull r2, r3, r2, r3 8083e6c: 0b5b lsrs r3, r3, #13 8083e6e: b2db uxtb r3, r3 8083e70: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 8083e74: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8083e78: 0953 lsrs r3, r2, #5 8083e7a: 49cc ldr r1, [pc, #816] ; (80841ac ) 8083e7c: fba1 1303 umull r1, r3, r1, r3 8083e80: 09db lsrs r3, r3, #7 8083e82: 49cb ldr r1, [pc, #812] ; (80841b0 ) 8083e84: fb01 f303 mul.w r3, r1, r3 8083e88: 1ad3 subs r3, r2, r3 8083e8a: 4aca ldr r2, [pc, #808] ; (80841b4 ) 8083e8c: fba2 1203 umull r1, r2, r2, r3 8083e90: 0b52 lsrs r2, r2, #13 8083e92: f242 7110 movw r1, #10000 ; 0x2710 8083e96: fb01 f202 mul.w r2, r1, r2 8083e9a: 1a9a subs r2, r3, r2 8083e9c: 4bc6 ldr r3, [pc, #792] ; (80841b8 ) 8083e9e: fba3 2302 umull r2, r3, r3, r2 8083ea2: 099b lsrs r3, r3, #6 8083ea4: b2db uxtb r3, r3 8083ea6: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8083eaa: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8083eae: 095a lsrs r2, r3, #5 8083eb0: 49be ldr r1, [pc, #760] ; (80841ac ) 8083eb2: fba1 1202 umull r1, r2, r1, r2 8083eb6: 09d2 lsrs r2, r2, #7 8083eb8: 49bd ldr r1, [pc, #756] ; (80841b0 ) 8083eba: fb01 f202 mul.w r2, r1, r2 8083ebe: 1a9a subs r2, r3, r2 8083ec0: 4bbc ldr r3, [pc, #752] ; (80841b4 ) 8083ec2: fba3 1302 umull r1, r3, r3, r2 8083ec6: 0b5b lsrs r3, r3, #13 8083ec8: f242 7110 movw r1, #10000 ; 0x2710 8083ecc: fb01 f303 mul.w r3, r1, r3 8083ed0: 1ad3 subs r3, r2, r3 8083ed2: 4ab9 ldr r2, [pc, #740] ; (80841b8 ) 8083ed4: fba2 1203 umull r1, r2, r2, r3 8083ed8: 0992 lsrs r2, r2, #6 8083eda: f44f 717a mov.w r1, #1000 ; 0x3e8 8083ede: fb01 f202 mul.w r2, r1, r2 8083ee2: 1a9a subs r2, r3, r2 8083ee4: 4bb5 ldr r3, [pc, #724] ; (80841bc ) 8083ee6: fba3 2302 umull r2, r3, r3, r2 8083eea: 095b lsrs r3, r3, #5 8083eec: b2db uxtb r3, r3 8083eee: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8083ef2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8083ef6: 0953 lsrs r3, r2, #5 8083ef8: 49ac ldr r1, [pc, #688] ; (80841ac ) 8083efa: fba1 1303 umull r1, r3, r1, r3 8083efe: 09db lsrs r3, r3, #7 8083f00: 49ab ldr r1, [pc, #684] ; (80841b0 ) 8083f02: fb01 f303 mul.w r3, r1, r3 8083f06: 1ad3 subs r3, r2, r3 8083f08: 4aaa ldr r2, [pc, #680] ; (80841b4 ) 8083f0a: fba2 1203 umull r1, r2, r2, r3 8083f0e: 0b52 lsrs r2, r2, #13 8083f10: f242 7110 movw r1, #10000 ; 0x2710 8083f14: fb01 f202 mul.w r2, r1, r2 8083f18: 1a9a subs r2, r3, r2 8083f1a: 4ba7 ldr r3, [pc, #668] ; (80841b8 ) 8083f1c: fba3 1302 umull r1, r3, r3, r2 8083f20: 099b lsrs r3, r3, #6 8083f22: f44f 717a mov.w r1, #1000 ; 0x3e8 8083f26: fb01 f303 mul.w r3, r1, r3 8083f2a: 1ad3 subs r3, r2, r3 8083f2c: 4aa3 ldr r2, [pc, #652] ; (80841bc ) 8083f2e: fba2 1203 umull r1, r2, r2, r3 8083f32: 0952 lsrs r2, r2, #5 8083f34: 2164 movs r1, #100 ; 0x64 8083f36: fb01 f202 mul.w r2, r1, r2 8083f3a: 1a9a subs r2, r3, r2 8083f3c: 4ba0 ldr r3, [pc, #640] ; (80841c0 ) 8083f3e: fba3 2302 umull r2, r3, r3, r2 8083f42: 08db lsrs r3, r3, #3 8083f44: b2db uxtb r3, r3 8083f46: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8083f4a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8083f4e: 0953 lsrs r3, r2, #5 8083f50: 4996 ldr r1, [pc, #600] ; (80841ac ) 8083f52: fba1 1303 umull r1, r3, r1, r3 8083f56: 09db lsrs r3, r3, #7 8083f58: 4995 ldr r1, [pc, #596] ; (80841b0 ) 8083f5a: fb01 f303 mul.w r3, r1, r3 8083f5e: 1ad3 subs r3, r2, r3 8083f60: 4a94 ldr r2, [pc, #592] ; (80841b4 ) 8083f62: fba2 1203 umull r1, r2, r2, r3 8083f66: 0b52 lsrs r2, r2, #13 8083f68: f242 7110 movw r1, #10000 ; 0x2710 8083f6c: fb01 f202 mul.w r2, r1, r2 8083f70: 1a9a subs r2, r3, r2 8083f72: 4b91 ldr r3, [pc, #580] ; (80841b8 ) 8083f74: fba3 1302 umull r1, r3, r3, r2 8083f78: 099b lsrs r3, r3, #6 8083f7a: f44f 717a mov.w r1, #1000 ; 0x3e8 8083f7e: fb01 f303 mul.w r3, r1, r3 8083f82: 1ad3 subs r3, r2, r3 8083f84: 4a8d ldr r2, [pc, #564] ; (80841bc ) 8083f86: fba2 1203 umull r1, r2, r2, r3 8083f8a: 0952 lsrs r2, r2, #5 8083f8c: 2164 movs r1, #100 ; 0x64 8083f8e: fb01 f202 mul.w r2, r1, r2 8083f92: 1a9a subs r2, r3, r2 8083f94: 4b8a ldr r3, [pc, #552] ; (80841c0 ) 8083f96: fba3 1302 umull r1, r3, r3, r2 8083f9a: 08d9 lsrs r1, r3, #3 8083f9c: 460b mov r3, r1 8083f9e: 009b lsls r3, r3, #2 8083fa0: 440b add r3, r1 8083fa2: 005b lsls r3, r3, #1 8083fa4: 1ad1 subs r1, r2, r3 8083fa6: b2cb uxtb r3, r1 8083fa8: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 8083fac: 2300 movs r3, #0 8083fae: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 8083fb2: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8083fb6: 220c movs r2, #12 8083fb8: 2100 movs r1, #0 8083fba: 4618 mov r0, r3 8083fbc: f04d f9f0 bl 80d13a0 if(idtHP != 0) 8083fc0: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8083fc4: b2db uxtb r3, r3 8083fc6: 2b00 cmp r3, #0 8083fc8: d00c beq.n 8083fe4 strHP[i++] = idtHP + 48; 8083fca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083fce: 1c5a adds r2, r3, #1 8083fd0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083fd4: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 8083fd8: b2d2 uxtb r2, r2 8083fda: 3230 adds r2, #48 ; 0x30 8083fdc: b2d1 uxtb r1, r2 8083fde: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8083fe2: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 8083fe4: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8083fe8: b2db uxtb r3, r3 8083fea: 2b00 cmp r3, #0 8083fec: d104 bne.n 8083ff8 8083fee: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8083ff2: b2db uxtb r3, r3 8083ff4: 2b00 cmp r3, #0 8083ff6: d00c beq.n 8084012 strHP[i++] = ietHP + 48; 8083ff8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083ffc: 1c5a adds r2, r3, #1 8083ffe: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084002: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 8084006: b2d2 uxtb r2, r2 8084008: 3230 adds r2, #48 ; 0x30 808400a: b2d1 uxtb r1, r2 808400c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8084010: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8084012: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8084016: b2db uxtb r3, r3 8084018: 2b00 cmp r3, #0 808401a: d109 bne.n 8084030 808401c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8084020: b2db uxtb r3, r3 8084022: 2b00 cmp r3, #0 8084024: d104 bne.n 8084030 8084026: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808402a: b2db uxtb r3, r3 808402c: 2b00 cmp r3, #0 808402e: d00c beq.n 808404a strHP[i++] = iesHP + 48; 8084030: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084034: 1c5a adds r2, r3, #1 8084036: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808403a: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808403e: b2d2 uxtb r2, r2 8084040: 3230 adds r2, #48 ; 0x30 8084042: b2d1 uxtb r1, r2 8084044: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8084048: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808404a: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808404e: b2db uxtb r3, r3 8084050: 2b00 cmp r3, #0 8084052: d10e bne.n 8084072 8084054: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8084058: b2db uxtb r3, r3 808405a: 2b00 cmp r3, #0 808405c: d109 bne.n 8084072 808405e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8084062: b2db uxtb r3, r3 8084064: 2b00 cmp r3, #0 8084066: d104 bne.n 8084072 8084068: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808406c: b2db uxtb r3, r3 808406e: 2b00 cmp r3, #0 8084070: d00c beq.n 808408c strHP[i++] = iedHP + 48; 8084072: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084076: 1c5a adds r2, r3, #1 8084078: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808407c: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 8084080: b2d2 uxtb r2, r2 8084082: 3230 adds r2, #48 ; 0x30 8084084: b2d1 uxtb r1, r2 8084086: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808408a: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 808408c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084090: 1c5a adds r2, r3, #1 8084092: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084096: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808409a: b2d2 uxtb r2, r2 808409c: 3230 adds r2, #48 ; 0x30 808409e: b2d1 uxtb r1, r2 80840a0: f507 72d2 add.w r2, r7, #420 ; 0x1a4 80840a4: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 80840a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80840aa: 1c5a adds r2, r3, #1 80840ac: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80840b0: f507 72d2 add.w r2, r7, #420 ; 0x1a4 80840b4: 212e movs r1, #46 ; 0x2e 80840b6: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 80840b8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80840bc: 1c5a adds r2, r3, #1 80840be: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80840c2: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 80840c6: b2d2 uxtb r2, r2 80840c8: 3230 adds r2, #48 ; 0x30 80840ca: b2d1 uxtb r1, r2 80840cc: f507 72d2 add.w r2, r7, #420 ; 0x1a4 80840d0: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.LP * 10.0f); 80840d2: 4b3c ldr r3, [pc, #240] ; (80841c4 ) 80840d4: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80840d8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80840dc: ee67 7a87 vmul.f32 s15, s15, s14 80840e0: eefc 7ae7 vcvt.u32.f32 s15, s15 80840e4: ee17 3a90 vmov r3, s15 80840e8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 80840ec: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80840f0: 095b lsrs r3, r3, #5 80840f2: 4a2e ldr r2, [pc, #184] ; (80841ac ) 80840f4: fba2 2303 umull r2, r3, r2, r3 80840f8: 09db lsrs r3, r3, #7 80840fa: b2db uxtb r3, r3 80840fc: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 8084100: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8084104: 0953 lsrs r3, r2, #5 8084106: 4929 ldr r1, [pc, #164] ; (80841ac ) 8084108: fba1 1303 umull r1, r3, r1, r3 808410c: 09db lsrs r3, r3, #7 808410e: 4928 ldr r1, [pc, #160] ; (80841b0 ) 8084110: fb01 f303 mul.w r3, r1, r3 8084114: 1ad3 subs r3, r2, r3 8084116: 4a27 ldr r2, [pc, #156] ; (80841b4 ) 8084118: fba2 2303 umull r2, r3, r2, r3 808411c: 0b5b lsrs r3, r3, #13 808411e: b2db uxtb r3, r3 8084120: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 8084124: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8084128: 0953 lsrs r3, r2, #5 808412a: 4920 ldr r1, [pc, #128] ; (80841ac ) 808412c: fba1 1303 umull r1, r3, r1, r3 8084130: 09db lsrs r3, r3, #7 8084132: 491f ldr r1, [pc, #124] ; (80841b0 ) 8084134: fb01 f303 mul.w r3, r1, r3 8084138: 1ad3 subs r3, r2, r3 808413a: 4a1e ldr r2, [pc, #120] ; (80841b4 ) 808413c: fba2 1203 umull r1, r2, r2, r3 8084140: 0b52 lsrs r2, r2, #13 8084142: f242 7110 movw r1, #10000 ; 0x2710 8084146: fb01 f202 mul.w r2, r1, r2 808414a: 1a9a subs r2, r3, r2 808414c: 4b1a ldr r3, [pc, #104] ; (80841b8 ) 808414e: fba3 2302 umull r2, r3, r3, r2 8084152: 099b lsrs r3, r3, #6 8084154: b2db uxtb r3, r3 8084156: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808415a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808415e: 095a lsrs r2, r3, #5 8084160: 4912 ldr r1, [pc, #72] ; (80841ac ) 8084162: fba1 1202 umull r1, r2, r1, r2 8084166: 09d2 lsrs r2, r2, #7 8084168: 4911 ldr r1, [pc, #68] ; (80841b0 ) 808416a: fb01 f202 mul.w r2, r1, r2 808416e: 1a9a subs r2, r3, r2 8084170: 4b10 ldr r3, [pc, #64] ; (80841b4 ) 8084172: fba3 1302 umull r1, r3, r3, r2 8084176: 0b5b lsrs r3, r3, #13 8084178: f242 7110 movw r1, #10000 ; 0x2710 808417c: fb01 f303 mul.w r3, r1, r3 8084180: 1ad3 subs r3, r2, r3 8084182: 4a0d ldr r2, [pc, #52] ; (80841b8 ) 8084184: fba2 1203 umull r1, r2, r2, r3 8084188: 0992 lsrs r2, r2, #6 808418a: f44f 717a mov.w r1, #1000 ; 0x3e8 808418e: fb01 f202 mul.w r2, r1, r2 8084192: 1a9a subs r2, r3, r2 8084194: 4b09 ldr r3, [pc, #36] ; (80841bc ) 8084196: fba3 2302 umull r2, r3, r3, r2 808419a: 095b lsrs r3, r3, #5 808419c: b2db uxtb r3, r3 808419e: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80841a2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80841a6: 0953 lsrs r3, r2, #5 80841a8: e00e b.n 80841c8 80841aa: bf00 nop 80841ac: 0a7c5ac5 .word 0x0a7c5ac5 80841b0: 000186a0 .word 0x000186a0 80841b4: d1b71759 .word 0xd1b71759 80841b8: 10624dd3 .word 0x10624dd3 80841bc: 51eb851f .word 0x51eb851f 80841c0: cccccccd .word 0xcccccccd 80841c4: 20023ea8 .word 0x20023ea8 80841c8: 49a2 ldr r1, [pc, #648] ; (8084454 ) 80841ca: fba1 1303 umull r1, r3, r1, r3 80841ce: 09db lsrs r3, r3, #7 80841d0: 49a1 ldr r1, [pc, #644] ; (8084458 ) 80841d2: fb01 f303 mul.w r3, r1, r3 80841d6: 1ad3 subs r3, r2, r3 80841d8: 4aa0 ldr r2, [pc, #640] ; (808445c ) 80841da: fba2 1203 umull r1, r2, r2, r3 80841de: 0b52 lsrs r2, r2, #13 80841e0: f242 7110 movw r1, #10000 ; 0x2710 80841e4: fb01 f202 mul.w r2, r1, r2 80841e8: 1a9a subs r2, r3, r2 80841ea: 4b9d ldr r3, [pc, #628] ; (8084460 ) 80841ec: fba3 1302 umull r1, r3, r3, r2 80841f0: 099b lsrs r3, r3, #6 80841f2: f44f 717a mov.w r1, #1000 ; 0x3e8 80841f6: fb01 f303 mul.w r3, r1, r3 80841fa: 1ad3 subs r3, r2, r3 80841fc: 4a99 ldr r2, [pc, #612] ; (8084464 ) 80841fe: fba2 1203 umull r1, r2, r2, r3 8084202: 0952 lsrs r2, r2, #5 8084204: 2164 movs r1, #100 ; 0x64 8084206: fb01 f202 mul.w r2, r1, r2 808420a: 1a9a subs r2, r3, r2 808420c: 4b96 ldr r3, [pc, #600] ; (8084468 ) 808420e: fba3 2302 umull r2, r3, r3, r2 8084212: 08db lsrs r3, r3, #3 8084214: b2db uxtb r3, r3 8084216: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808421a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808421e: 0953 lsrs r3, r2, #5 8084220: 498c ldr r1, [pc, #560] ; (8084454 ) 8084222: fba1 1303 umull r1, r3, r1, r3 8084226: 09db lsrs r3, r3, #7 8084228: 498b ldr r1, [pc, #556] ; (8084458 ) 808422a: fb01 f303 mul.w r3, r1, r3 808422e: 1ad3 subs r3, r2, r3 8084230: 4a8a ldr r2, [pc, #552] ; (808445c ) 8084232: fba2 1203 umull r1, r2, r2, r3 8084236: 0b52 lsrs r2, r2, #13 8084238: f242 7110 movw r1, #10000 ; 0x2710 808423c: fb01 f202 mul.w r2, r1, r2 8084240: 1a9a subs r2, r3, r2 8084242: 4b87 ldr r3, [pc, #540] ; (8084460 ) 8084244: fba3 1302 umull r1, r3, r3, r2 8084248: 099b lsrs r3, r3, #6 808424a: f44f 717a mov.w r1, #1000 ; 0x3e8 808424e: fb01 f303 mul.w r3, r1, r3 8084252: 1ad3 subs r3, r2, r3 8084254: 4a83 ldr r2, [pc, #524] ; (8084464 ) 8084256: fba2 1203 umull r1, r2, r2, r3 808425a: 0952 lsrs r2, r2, #5 808425c: 2164 movs r1, #100 ; 0x64 808425e: fb01 f202 mul.w r2, r1, r2 8084262: 1a9a subs r2, r3, r2 8084264: 4b80 ldr r3, [pc, #512] ; (8084468 ) 8084266: fba3 1302 umull r1, r3, r3, r2 808426a: 08d9 lsrs r1, r3, #3 808426c: 460b mov r3, r1 808426e: 009b lsls r3, r3, #2 8084270: 440b add r3, r1 8084272: 005b lsls r3, r3, #1 8084274: 1ad1 subs r1, r2, r3 8084276: b2cb uxtb r3, r1 8084278: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 808427c: 2300 movs r3, #0 808427e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 8084282: f507 73cc add.w r3, r7, #408 ; 0x198 8084286: 220c movs r2, #12 8084288: 2100 movs r1, #0 808428a: 4618 mov r0, r3 808428c: f04d f888 bl 80d13a0 if(idtLP != 0) 8084290: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8084294: b2db uxtb r3, r3 8084296: 2b00 cmp r3, #0 8084298: d00c beq.n 80842b4 strLP[i++] = idtLP + 48; 808429a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808429e: 1c5a adds r2, r3, #1 80842a0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80842a4: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 80842a8: b2d2 uxtb r2, r2 80842aa: 3230 adds r2, #48 ; 0x30 80842ac: b2d1 uxtb r1, r2 80842ae: f507 72cc add.w r2, r7, #408 ; 0x198 80842b2: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 80842b4: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80842b8: b2db uxtb r3, r3 80842ba: 2b00 cmp r3, #0 80842bc: d104 bne.n 80842c8 80842be: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80842c2: b2db uxtb r3, r3 80842c4: 2b00 cmp r3, #0 80842c6: d00c beq.n 80842e2 strLP[i++] = ietLP + 48; 80842c8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80842cc: 1c5a adds r2, r3, #1 80842ce: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80842d2: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 80842d6: b2d2 uxtb r2, r2 80842d8: 3230 adds r2, #48 ; 0x30 80842da: b2d1 uxtb r1, r2 80842dc: f507 72cc add.w r2, r7, #408 ; 0x198 80842e0: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 80842e2: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80842e6: b2db uxtb r3, r3 80842e8: 2b00 cmp r3, #0 80842ea: d109 bne.n 8084300 80842ec: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80842f0: b2db uxtb r3, r3 80842f2: 2b00 cmp r3, #0 80842f4: d104 bne.n 8084300 80842f6: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80842fa: b2db uxtb r3, r3 80842fc: 2b00 cmp r3, #0 80842fe: d00c beq.n 808431a strLP[i++] = iesLP + 48; 8084300: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084304: 1c5a adds r2, r3, #1 8084306: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808430a: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808430e: b2d2 uxtb r2, r2 8084310: 3230 adds r2, #48 ; 0x30 8084312: b2d1 uxtb r1, r2 8084314: f507 72cc add.w r2, r7, #408 ; 0x198 8084318: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808431a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808431e: b2db uxtb r3, r3 8084320: 2b00 cmp r3, #0 8084322: d10e bne.n 8084342 8084324: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8084328: b2db uxtb r3, r3 808432a: 2b00 cmp r3, #0 808432c: d109 bne.n 8084342 808432e: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8084332: b2db uxtb r3, r3 8084334: 2b00 cmp r3, #0 8084336: d104 bne.n 8084342 8084338: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808433c: b2db uxtb r3, r3 808433e: 2b00 cmp r3, #0 8084340: d00c beq.n 808435c strLP[i++] = iedLP + 48; 8084342: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084346: 1c5a adds r2, r3, #1 8084348: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808434c: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 8084350: b2d2 uxtb r2, r2 8084352: 3230 adds r2, #48 ; 0x30 8084354: b2d1 uxtb r1, r2 8084356: f507 72cc add.w r2, r7, #408 ; 0x198 808435a: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 808435c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8084360: 1c5a adds r2, r3, #1 8084362: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084366: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808436a: b2d2 uxtb r2, r2 808436c: 3230 adds r2, #48 ; 0x30 808436e: b2d1 uxtb r1, r2 8084370: f507 72cc add.w r2, r7, #408 ; 0x198 8084374: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 8084376: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808437a: 1c5a adds r2, r3, #1 808437c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084380: f507 72cc add.w r2, r7, #408 ; 0x198 8084384: 212e movs r1, #46 ; 0x2e 8084386: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 8084388: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808438c: 1c5a adds r2, r3, #1 808438e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8084392: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 8084396: b2d2 uxtb r2, r2 8084398: 3230 adds r2, #48 ; 0x30 808439a: b2d1 uxtb r1, r2 808439c: f507 72cc add.w r2, r7, #408 ; 0x198 80843a0: 54d1 strb r1, [r2, r3] LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80843a2: 4932 ldr r1, [pc, #200] ; (808446c ) 80843a4: f04f 30ff mov.w r0, #4294967295 80843a8: f7d0 f932 bl 8054610 if(pardata.LANG == RUS) 80843ac: 4b30 ldr r3, [pc, #192] ; (8084470 ) 80843ae: 7b1b ldrb r3, [r3, #12] 80843b0: b2db uxtb r3, r3 80843b2: 2b00 cmp r3, #0 80843b4: d105 bne.n 80843c2 LCD_DisplayString(10, LCD_LINE_3, "Ñïåêòð"); 80843b6: 4a2f ldr r2, [pc, #188] ; (8084474 ) 80843b8: 213a movs r1, #58 ; 0x3a 80843ba: 200a movs r0, #10 80843bc: f7d0 fed0 bl 8055160 80843c0: e004 b.n 80843cc else LCD_DisplayString(10, LCD_LINE_3, "Spectrum type"); 80843c2: 4a2d ldr r2, [pc, #180] ; (8084478 ) 80843c4: 213a movs r1, #58 ; 0x3a 80843c6: 200a movs r0, #10 80843c8: f7d0 feca bl 8055160 switch(pardata.OPTIONS & maskFFT) 80843cc: 4b28 ldr r3, [pc, #160] ; (8084470 ) 80843ce: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80843d2: f003 0330 and.w r3, r3, #48 ; 0x30 80843d6: 2b10 cmp r3, #16 80843d8: d00d beq.n 80843f6 80843da: 2b10 cmp r3, #16 80843dc: d803 bhi.n 80843e6 80843de: 2b00 cmp r3, #0 80843e0: d009 beq.n 80843f6 break; } //******************************************************************************************************************************************* break; 80843e2: f014 b923 b.w 809862c switch(pardata.OPTIONS & maskFFT) 80843e6: 2b20 cmp r3, #32 80843e8: f003 8027 beq.w 808743a 80843ec: 2b30 cmp r3, #48 ; 0x30 80843ee: f003 8024 beq.w 808743a break; 80843f2: f014 b91b b.w 809862c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80843f6: 491d ldr r1, [pc, #116] ; (808446c ) 80843f8: f04f 30ff mov.w r0, #4294967295 80843fc: f7d0 f908 bl 8054610 if(pardata.LANG == RUS) 8084400: 4b1b ldr r3, [pc, #108] ; (8084470 ) 8084402: 7b1b ldrb r3, [r3, #12] 8084404: b2db uxtb r3, r3 8084406: 2b00 cmp r3, #0 8084408: d146 bne.n 8084498 LCD_DisplayString(10, LCD_LINE_4, "Âåëè÷èíà"); 808440a: 4a1c ldr r2, [pc, #112] ; (808447c ) 808440c: 214a movs r1, #74 ; 0x4a 808440e: 200a movs r0, #10 8084410: f7d0 fea6 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, "Ôèëüòð Â×(Ãö)"); 8084414: 4a1a ldr r2, [pc, #104] ; (8084480 ) 8084416: 215a movs r1, #90 ; 0x5a 8084418: 200a movs r0, #10 808441a: f7d0 fea1 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Ôèëüòð Í×(Ãö)"); 808441e: 4a19 ldr r2, [pc, #100] ; (8084484 ) 8084420: 216a movs r1, #106 ; 0x6a 8084422: 200a movs r0, #10 8084424: f7d0 fe9c bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "×àñò.ðàçðåø.(Ãö)"); 8084428: 4a17 ldr r2, [pc, #92] ; (8084488 ) 808442a: 217a movs r1, #122 ; 0x7a 808442c: 200a movs r0, #10 808442e: f7d0 fe97 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Ìàñøòàá ïî Y"); 8084432: 4a16 ldr r2, [pc, #88] ; (808448c ) 8084434: 218a movs r1, #138 ; 0x8a 8084436: 200a movs r0, #10 8084438: f7d0 fe92 bl 8055160 LCD_DisplayString(10, LCD_LINE_9, "Îêíî"); 808443c: 4a14 ldr r2, [pc, #80] ; (8084490 ) 808443e: 219a movs r1, #154 ; 0x9a 8084440: 200a movs r0, #10 8084442: f7d0 fe8d bl 8055160 LCD_DisplayString(10, LCD_LINE_10, "Óñðåäíåíèå(êîë-âî)"); 8084446: 4a13 ldr r2, [pc, #76] ; (8084494 ) 8084448: 21aa movs r1, #170 ; 0xaa 808444a: 200a movs r0, #10 808444c: f7d0 fe88 bl 8055160 8084450: e045 b.n 80844de 8084452: bf00 nop 8084454: 0a7c5ac5 .word 0x0a7c5ac5 8084458: 000186a0 .word 0x000186a0 808445c: d1b71759 .word 0xd1b71759 8084460: 10624dd3 .word 0x10624dd3 8084464: 51eb851f .word 0x51eb851f 8084468: cccccccd .word 0xcccccccd 808446c: ff0a0f1f .word 0xff0a0f1f 8084470: 20023ea8 .word 0x20023ea8 8084474: 080d30b8 .word 0x080d30b8 8084478: 080d43ac .word 0x080d43ac 808447c: 080d3a98 .word 0x080d3a98 8084480: 080d3540 .word 0x080d3540 8084484: 080d3550 .word 0x080d3550 8084488: 080d43bc .word 0x080d43bc 808448c: 080d43d0 .word 0x080d43d0 8084490: 080d3784 .word 0x080d3784 8084494: 080d36ec .word 0x080d36ec LCD_DisplayString(10, LCD_LINE_4, "Parameter"); 8084498: 4aad ldr r2, [pc, #692] ; (8084750 ) 808449a: 214a movs r1, #74 ; 0x4a 808449c: 200a movs r0, #10 808449e: f7d0 fe5f bl 8055160 LCD_DisplayString(10, LCD_LINE_5, "HPF(Hz)"); 80844a2: 4aac ldr r2, [pc, #688] ; (8084754 ) 80844a4: 215a movs r1, #90 ; 0x5a 80844a6: 200a movs r0, #10 80844a8: f7d0 fe5a bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "LPF(Hz)"); 80844ac: 4aaa ldr r2, [pc, #680] ; (8084758 ) 80844ae: 216a movs r1, #106 ; 0x6a 80844b0: 200a movs r0, #10 80844b2: f7d0 fe55 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Resolution(Hz)"); 80844b6: 4aa9 ldr r2, [pc, #676] ; (808475c ) 80844b8: 217a movs r1, #122 ; 0x7a 80844ba: 200a movs r0, #10 80844bc: f7d0 fe50 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Scale Y"); 80844c0: 4aa7 ldr r2, [pc, #668] ; (8084760 ) 80844c2: 218a movs r1, #138 ; 0x8a 80844c4: 200a movs r0, #10 80844c6: f7d0 fe4b bl 8055160 LCD_DisplayString(10, LCD_LINE_9, "Window"); 80844ca: 4aa6 ldr r2, [pc, #664] ; (8084764 ) 80844cc: 219a movs r1, #154 ; 0x9a 80844ce: 200a movs r0, #10 80844d0: f7d0 fe46 bl 8055160 LCD_DisplayString(10, LCD_LINE_10, "Num.average"); 80844d4: 4aa4 ldr r2, [pc, #656] ; (8084768 ) 80844d6: 21aa movs r1, #170 ; 0xaa 80844d8: 200a movs r0, #10 80844da: f7d0 fe41 bl 8055160 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_VIB[pardata.LANG][8]);//"Óñèëåíèå" 80844de: 4ba3 ldr r3, [pc, #652] ; (808476c ) 80844e0: 7b1b ldrb r3, [r3, #12] 80844e2: b2db uxtb r3, r3 80844e4: 4619 mov r1, r3 80844e6: 4aa2 ldr r2, [pc, #648] ; (8084770 ) 80844e8: 232c movs r3, #44 ; 0x2c 80844ea: fb03 f301 mul.w r3, r3, r1 80844ee: 4413 add r3, r2 80844f0: 3320 adds r3, #32 80844f2: 681b ldr r3, [r3, #0] 80844f4: 461a mov r2, r3 80844f6: 21ba movs r1, #186 ; 0xba 80844f8: 200a movs r0, #10 80844fa: f7d0 fe31 bl 8055160 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80844fe: 230a movs r3, #10 8084500: 220a movs r2, #10 8084502: 21bd movs r1, #189 ; 0xbd 8084504: 20ff movs r0, #255 ; 0xff 8084506: f7d0 fd11 bl 8054f2c if(menupos == Ok) 808450a: 4b9a ldr r3, [pc, #616] ; (8084774 ) 808450c: 781b ldrb r3, [r3, #0] 808450e: b2db uxtb r3, r3 8084510: 2b00 cmp r3, #0 8084512: f040 8145 bne.w 80847a0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8084516: 4998 ldr r1, [pc, #608] ; (8084778 ) 8084518: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808451c: f7d0 f878 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8084520: 4b92 ldr r3, [pc, #584] ; (808476c ) 8084522: 7b1b ldrb r3, [r3, #12] 8084524: b2db uxtb r3, r3 8084526: 461a mov r2, r3 8084528: 4b94 ldr r3, [pc, #592] ; (808477c ) 808452a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808452e: 461a mov r2, r3 8084530: 2127 movs r1, #39 ; 0x27 8084532: 200a movs r0, #10 8084534: f7d0 fe14 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084538: 498f ldr r1, [pc, #572] ; (8084778 ) 808453a: f04f 30ff mov.w r0, #4294967295 808453e: f7d0 f867 bl 8054610 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084542: 498d ldr r1, [pc, #564] ; (8084778 ) 8084544: 488e ldr r0, [pc, #568] ; (8084780 ) 8084546: f7d0 f863 bl 8054610 if((pardata.OPTIONS & maskFFT) == fft) 808454a: 4b88 ldr r3, [pc, #544] ; (808476c ) 808454c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084550: f003 0330 and.w r3, r3, #48 ; 0x30 8084554: 2b00 cmp r3, #0 8084556: d10d bne.n 8084574 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8084558: 4b84 ldr r3, [pc, #528] ; (808476c ) 808455a: 7b1b ldrb r3, [r3, #12] 808455c: b2db uxtb r3, r3 808455e: 4a89 ldr r2, [pc, #548] ; (8084784 ) 8084560: 011b lsls r3, r3, #4 8084562: 4413 add r3, r2 8084564: 681b ldr r3, [r3, #0] 8084566: 461a mov r2, r3 8084568: 213a movs r1, #58 ; 0x3a 808456a: f44f 7082 mov.w r0, #260 ; 0x104 808456e: f7d0 fe0f bl 8055190 8084572: e00d b.n 8084590 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8084574: 4b7d ldr r3, [pc, #500] ; (808476c ) 8084576: 7b1b ldrb r3, [r3, #12] 8084578: b2db uxtb r3, r3 808457a: 4a82 ldr r2, [pc, #520] ; (8084784 ) 808457c: 011b lsls r3, r3, #4 808457e: 4413 add r3, r2 8084580: 3304 adds r3, #4 8084582: 681b ldr r3, [r3, #0] 8084584: 461a mov r2, r3 8084586: 213a movs r1, #58 ; 0x3a 8084588: f44f 7082 mov.w r0, #260 ; 0x104 808458c: f7d0 fe00 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084590: 4b76 ldr r3, [pc, #472] ; (808476c ) 8084592: 7b1b ldrb r3, [r3, #12] 8084594: b2db uxtb r3, r3 8084596: 4618 mov r0, r3 8084598: 4b74 ldr r3, [pc, #464] ; (808476c ) 808459a: 785b ldrb r3, [r3, #1] 808459c: b2db uxtb r3, r3 808459e: 005b lsls r3, r3, #1 80845a0: 4a72 ldr r2, [pc, #456] ; (808476c ) 80845a2: 7852 ldrb r2, [r2, #1] 80845a4: b2d2 uxtb r2, r2 80845a6: 4611 mov r1, r2 80845a8: 4a70 ldr r2, [pc, #448] ; (808476c ) 80845aa: 440a add r2, r1 80845ac: 7892 ldrb r2, [r2, #2] 80845ae: b2d2 uxtb r2, r2 80845b0: 431a orrs r2, r3 80845b2: 4975 ldr r1, [pc, #468] ; (8084788 ) 80845b4: 4603 mov r3, r0 80845b6: 005b lsls r3, r3, #1 80845b8: 4403 add r3, r0 80845ba: 005b lsls r3, r3, #1 80845bc: 4413 add r3, r2 80845be: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80845c2: 461a mov r2, r3 80845c4: 214a movs r1, #74 ; 0x4a 80845c6: f44f 7082 mov.w r0, #260 ; 0x104 80845ca: f7d0 fde1 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80845ce: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80845d2: 461a mov r2, r3 80845d4: 215a movs r1, #90 ; 0x5a 80845d6: f44f 7082 mov.w r0, #260 ; 0x104 80845da: f7d0 fdd9 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80845de: f507 73cc add.w r3, r7, #408 ; 0x198 80845e2: 461a mov r2, r3 80845e4: 216a movs r1, #106 ; 0x6a 80845e6: f44f 7082 mov.w r0, #260 ; 0x104 80845ea: f7d0 fdd1 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 80845ee: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80845f2: 461a mov r2, r3 80845f4: 217a movs r1, #122 ; 0x7a 80845f6: f44f 7082 mov.w r0, #260 ; 0x104 80845fa: f7d0 fdc9 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80845fe: 4b5b ldr r3, [pc, #364] ; (808476c ) 8084600: 7b1b ldrb r3, [r3, #12] 8084602: b2db uxtb r3, r3 8084604: 4618 mov r0, r3 8084606: 4b59 ldr r3, [pc, #356] ; (808476c ) 8084608: 7a9b ldrb r3, [r3, #10] 808460a: b2db uxtb r3, r3 808460c: 4619 mov r1, r3 808460e: 4a5f ldr r2, [pc, #380] ; (808478c ) 8084610: 0043 lsls r3, r0, #1 8084612: 440b add r3, r1 8084614: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084618: 461a mov r2, r3 808461a: 218a movs r1, #138 ; 0x8a 808461c: f44f 7082 mov.w r0, #260 ; 0x104 8084620: f7d0 fdb6 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8084624: 4b51 ldr r3, [pc, #324] ; (808476c ) 8084626: 7b1b ldrb r3, [r3, #12] 8084628: b2db uxtb r3, r3 808462a: 4619 mov r1, r3 808462c: 4b4f ldr r3, [pc, #316] ; (808476c ) 808462e: 7a5b ldrb r3, [r3, #9] 8084630: b2db uxtb r3, r3 8084632: 4618 mov r0, r3 8084634: 4a56 ldr r2, [pc, #344] ; (8084790 ) 8084636: 460b mov r3, r1 8084638: 009b lsls r3, r3, #2 808463a: 440b add r3, r1 808463c: 4403 add r3, r0 808463e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084642: 461a mov r2, r3 8084644: 219a movs r1, #154 ; 0x9a 8084646: f44f 7082 mov.w r0, #260 ; 0x104 808464a: f7d0 fda1 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 808464e: 4b47 ldr r3, [pc, #284] ; (808476c ) 8084650: 7b5b ldrb r3, [r3, #13] 8084652: b2db uxtb r3, r3 8084654: 461a mov r2, r3 8084656: 4b4f ldr r3, [pc, #316] ; (8084794 ) 8084658: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808465c: 461a mov r2, r3 808465e: 21aa movs r1, #170 ; 0xaa 8084660: f44f 7082 mov.w r0, #260 ; 0x104 8084664: f7d0 fd94 bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8084668: 4b40 ldr r3, [pc, #256] ; (808476c ) 808466a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808466e: f003 0304 and.w r3, r3, #4 8084672: 2b00 cmp r3, #0 8084674: d033 beq.n 80846de LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8084676: 4940 ldr r1, [pc, #256] ; (8084778 ) 8084678: 4847 ldr r0, [pc, #284] ; (8084798 ) 808467a: f7cf ffc9 bl 8054610 if(pardata.IIN != VOLTS) 808467e: 4b3b ldr r3, [pc, #236] ; (808476c ) 8084680: 799b ldrb r3, [r3, #6] 8084682: b2db uxtb r3, r3 8084684: 2b02 cmp r3, #2 8084686: d010 beq.n 80846aa LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084688: 4b38 ldr r3, [pc, #224] ; (808476c ) 808468a: 7b1b ldrb r3, [r3, #12] 808468c: b2db uxtb r3, r3 808468e: 4619 mov r1, r3 8084690: 4a37 ldr r2, [pc, #220] ; (8084770 ) 8084692: 232c movs r3, #44 ; 0x2c 8084694: fb03 f301 mul.w r3, r3, r1 8084698: 4413 add r3, r2 808469a: 3324 adds r3, #36 ; 0x24 808469c: 681b ldr r3, [r3, #0] 808469e: 461a mov r2, r3 80846a0: 21ca movs r1, #202 ; 0xca 80846a2: 200a movs r0, #10 80846a4: f7d0 fd5c bl 8055160 80846a8: e00f b.n 80846ca else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80846aa: 4b30 ldr r3, [pc, #192] ; (808476c ) 80846ac: 7b1b ldrb r3, [r3, #12] 80846ae: b2db uxtb r3, r3 80846b0: 4619 mov r1, r3 80846b2: 4a3a ldr r2, [pc, #232] ; (808479c ) 80846b4: 232c movs r3, #44 ; 0x2c 80846b6: fb03 f301 mul.w r3, r3, r1 80846ba: 4413 add r3, r2 80846bc: 3324 adds r3, #36 ; 0x24 80846be: 681b ldr r3, [r3, #0] 80846c0: 461a mov r2, r3 80846c2: 21ca movs r1, #202 ; 0xca 80846c4: 200a movs r0, #10 80846c6: f7d0 fd4b bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 80846ca: f507 733b add.w r3, r7, #748 ; 0x2ec 80846ce: 461a mov r2, r3 80846d0: 21ca movs r1, #202 ; 0xca 80846d2: f44f 7082 mov.w r0, #260 ; 0x104 80846d6: f7d0 fd5b bl 8055190 80846da: f002 be99 b.w 8087410 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80846de: 4926 ldr r1, [pc, #152] ; (8084778 ) 80846e0: f04f 30ff mov.w r0, #4294967295 80846e4: f7cf ff94 bl 8054610 if(pardata.IIN != VOLTS) 80846e8: 4b20 ldr r3, [pc, #128] ; (808476c ) 80846ea: 799b ldrb r3, [r3, #6] 80846ec: b2db uxtb r3, r3 80846ee: 2b02 cmp r3, #2 80846f0: d010 beq.n 8084714 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80846f2: 4b1e ldr r3, [pc, #120] ; (808476c ) 80846f4: 7b1b ldrb r3, [r3, #12] 80846f6: b2db uxtb r3, r3 80846f8: 4619 mov r1, r3 80846fa: 4a1d ldr r2, [pc, #116] ; (8084770 ) 80846fc: 232c movs r3, #44 ; 0x2c 80846fe: fb03 f301 mul.w r3, r3, r1 8084702: 4413 add r3, r2 8084704: 3324 adds r3, #36 ; 0x24 8084706: 681b ldr r3, [r3, #0] 8084708: 461a mov r2, r3 808470a: 21ca movs r1, #202 ; 0xca 808470c: 200a movs r0, #10 808470e: f7d0 fd27 bl 8055160 8084712: e00f b.n 8084734 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084714: 4b15 ldr r3, [pc, #84] ; (808476c ) 8084716: 7b1b ldrb r3, [r3, #12] 8084718: b2db uxtb r3, r3 808471a: 4619 mov r1, r3 808471c: 4a1f ldr r2, [pc, #124] ; (808479c ) 808471e: 232c movs r3, #44 ; 0x2c 8084720: fb03 f301 mul.w r3, r3, r1 8084724: 4413 add r3, r2 8084726: 3324 adds r3, #36 ; 0x24 8084728: 681b ldr r3, [r3, #0] 808472a: 461a mov r2, r3 808472c: 21ca movs r1, #202 ; 0xca 808472e: 200a movs r0, #10 8084730: f7d0 fd16 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084734: 4910 ldr r1, [pc, #64] ; (8084778 ) 8084736: 4812 ldr r0, [pc, #72] ; (8084780 ) 8084738: f7cf ff6a bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 808473c: f507 733b add.w r3, r7, #748 ; 0x2ec 8084740: 461a mov r2, r3 8084742: 21ca movs r1, #202 ; 0xca 8084744: f44f 7082 mov.w r0, #260 ; 0x104 8084748: f7d0 fd22 bl 8055190 808474c: f002 be60 b.w 8087410 8084750: 080d3aa4 .word 0x080d3aa4 8084754: 080d35f0 .word 0x080d35f0 8084758: 080d35f8 .word 0x080d35f8 808475c: 080d43e0 .word 0x080d43e0 8084760: 080d43f0 .word 0x080d43f0 8084764: 080d3794 .word 0x080d3794 8084768: 080d375c .word 0x080d375c 808476c: 20023ea8 .word 0x20023ea8 8084770: 200206bc .word 0x200206bc 8084774: 20020070 .word 0x20020070 8084778: ff0a0f1f .word 0xff0a0f1f 808477c: 200205cc .word 0x200205cc 8084780: ffd8aa57 .word 0xffd8aa57 8084784: 200202a4 .word 0x200202a4 8084788: 200201a4 .word 0x200201a4 808478c: 2002021c .word 0x2002021c 8084790: 200201f4 .word 0x200201f4 8084794: 2002022c .word 0x2002022c 8084798: ff808080 .word 0xff808080 808479c: 20020714 .word 0x20020714 if(menupos == SpecType) 80847a0: 4ba7 ldr r3, [pc, #668] ; (8084a40 ) 80847a2: 781b ldrb r3, [r3, #0] 80847a4: b2db uxtb r3, r3 80847a6: 2b01 cmp r3, #1 80847a8: f040 8168 bne.w 8084a7c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80847ac: 49a5 ldr r1, [pc, #660] ; (8084a44 ) 80847ae: f04f 30ff mov.w r0, #4294967295 80847b2: f7cf ff2d bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80847b6: 4ba4 ldr r3, [pc, #656] ; (8084a48 ) 80847b8: 7b1b ldrb r3, [r3, #12] 80847ba: b2db uxtb r3, r3 80847bc: 461a mov r2, r3 80847be: 4ba3 ldr r3, [pc, #652] ; (8084a4c ) 80847c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80847c4: 461a mov r2, r3 80847c6: 2127 movs r1, #39 ; 0x27 80847c8: 200a movs r0, #10 80847ca: f7d0 fcc9 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80847ce: 499d ldr r1, [pc, #628] ; (8084a44 ) 80847d0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80847d4: f7cf ff1c bl 8054610 if(focused) 80847d8: 4b9d ldr r3, [pc, #628] ; (8084a50 ) 80847da: 781b ldrb r3, [r3, #0] 80847dc: b2db uxtb r3, r3 80847de: 2b00 cmp r3, #0 80847e0: d027 beq.n 8084832 if(blk) 80847e2: 4b9c ldr r3, [pc, #624] ; (8084a54 ) 80847e4: 681b ldr r3, [r3, #0] 80847e6: 2b00 cmp r3, #0 80847e8: d046 beq.n 8084878 if((pardata.OPTIONS & maskFFT) == fft) 80847ea: 4b97 ldr r3, [pc, #604] ; (8084a48 ) 80847ec: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80847f0: f003 0330 and.w r3, r3, #48 ; 0x30 80847f4: 2b00 cmp r3, #0 80847f6: d10d bne.n 8084814 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 80847f8: 4b93 ldr r3, [pc, #588] ; (8084a48 ) 80847fa: 7b1b ldrb r3, [r3, #12] 80847fc: b2db uxtb r3, r3 80847fe: 4a96 ldr r2, [pc, #600] ; (8084a58 ) 8084800: 011b lsls r3, r3, #4 8084802: 4413 add r3, r2 8084804: 681b ldr r3, [r3, #0] 8084806: 461a mov r2, r3 8084808: 213a movs r1, #58 ; 0x3a 808480a: f44f 7082 mov.w r0, #260 ; 0x104 808480e: f7d0 fcbf bl 8055190 8084812: e031 b.n 8084878 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8084814: 4b8c ldr r3, [pc, #560] ; (8084a48 ) 8084816: 7b1b ldrb r3, [r3, #12] 8084818: b2db uxtb r3, r3 808481a: 4a8f ldr r2, [pc, #572] ; (8084a58 ) 808481c: 011b lsls r3, r3, #4 808481e: 4413 add r3, r2 8084820: 3304 adds r3, #4 8084822: 681b ldr r3, [r3, #0] 8084824: 461a mov r2, r3 8084826: 213a movs r1, #58 ; 0x3a 8084828: f44f 7082 mov.w r0, #260 ; 0x104 808482c: f7d0 fcb0 bl 8055190 8084830: e022 b.n 8084878 if((pardata.OPTIONS & maskFFT) == fft) 8084832: 4b85 ldr r3, [pc, #532] ; (8084a48 ) 8084834: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084838: f003 0330 and.w r3, r3, #48 ; 0x30 808483c: 2b00 cmp r3, #0 808483e: d10d bne.n 808485c LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8084840: 4b81 ldr r3, [pc, #516] ; (8084a48 ) 8084842: 7b1b ldrb r3, [r3, #12] 8084844: b2db uxtb r3, r3 8084846: 4a84 ldr r2, [pc, #528] ; (8084a58 ) 8084848: 011b lsls r3, r3, #4 808484a: 4413 add r3, r2 808484c: 681b ldr r3, [r3, #0] 808484e: 461a mov r2, r3 8084850: 213a movs r1, #58 ; 0x3a 8084852: f44f 7082 mov.w r0, #260 ; 0x104 8084856: f7d0 fc9b bl 8055190 808485a: e00d b.n 8084878 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 808485c: 4b7a ldr r3, [pc, #488] ; (8084a48 ) 808485e: 7b1b ldrb r3, [r3, #12] 8084860: b2db uxtb r3, r3 8084862: 4a7d ldr r2, [pc, #500] ; (8084a58 ) 8084864: 011b lsls r3, r3, #4 8084866: 4413 add r3, r2 8084868: 3304 adds r3, #4 808486a: 681b ldr r3, [r3, #0] 808486c: 461a mov r2, r3 808486e: 213a movs r1, #58 ; 0x3a 8084870: f44f 7082 mov.w r0, #260 ; 0x104 8084874: f7d0 fc8c bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084878: 4972 ldr r1, [pc, #456] ; (8084a44 ) 808487a: 4878 ldr r0, [pc, #480] ; (8084a5c ) 808487c: f7cf fec8 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084880: 4b71 ldr r3, [pc, #452] ; (8084a48 ) 8084882: 7b1b ldrb r3, [r3, #12] 8084884: b2db uxtb r3, r3 8084886: 4618 mov r0, r3 8084888: 4b6f ldr r3, [pc, #444] ; (8084a48 ) 808488a: 785b ldrb r3, [r3, #1] 808488c: b2db uxtb r3, r3 808488e: 005b lsls r3, r3, #1 8084890: 4a6d ldr r2, [pc, #436] ; (8084a48 ) 8084892: 7852 ldrb r2, [r2, #1] 8084894: b2d2 uxtb r2, r2 8084896: 4611 mov r1, r2 8084898: 4a6b ldr r2, [pc, #428] ; (8084a48 ) 808489a: 440a add r2, r1 808489c: 7892 ldrb r2, [r2, #2] 808489e: b2d2 uxtb r2, r2 80848a0: 431a orrs r2, r3 80848a2: 496f ldr r1, [pc, #444] ; (8084a60 ) 80848a4: 4603 mov r3, r0 80848a6: 005b lsls r3, r3, #1 80848a8: 4403 add r3, r0 80848aa: 005b lsls r3, r3, #1 80848ac: 4413 add r3, r2 80848ae: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80848b2: 461a mov r2, r3 80848b4: 214a movs r1, #74 ; 0x4a 80848b6: f44f 7082 mov.w r0, #260 ; 0x104 80848ba: f7d0 fc69 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80848be: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80848c2: 461a mov r2, r3 80848c4: 215a movs r1, #90 ; 0x5a 80848c6: f44f 7082 mov.w r0, #260 ; 0x104 80848ca: f7d0 fc61 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80848ce: f507 73cc add.w r3, r7, #408 ; 0x198 80848d2: 461a mov r2, r3 80848d4: 216a movs r1, #106 ; 0x6a 80848d6: f44f 7082 mov.w r0, #260 ; 0x104 80848da: f7d0 fc59 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 80848de: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80848e2: 461a mov r2, r3 80848e4: 217a movs r1, #122 ; 0x7a 80848e6: f44f 7082 mov.w r0, #260 ; 0x104 80848ea: f7d0 fc51 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80848ee: 4b56 ldr r3, [pc, #344] ; (8084a48 ) 80848f0: 7b1b ldrb r3, [r3, #12] 80848f2: b2db uxtb r3, r3 80848f4: 4618 mov r0, r3 80848f6: 4b54 ldr r3, [pc, #336] ; (8084a48 ) 80848f8: 7a9b ldrb r3, [r3, #10] 80848fa: b2db uxtb r3, r3 80848fc: 4619 mov r1, r3 80848fe: 4a59 ldr r2, [pc, #356] ; (8084a64 ) 8084900: 0043 lsls r3, r0, #1 8084902: 440b add r3, r1 8084904: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084908: 461a mov r2, r3 808490a: 218a movs r1, #138 ; 0x8a 808490c: f44f 7082 mov.w r0, #260 ; 0x104 8084910: f7d0 fc3e bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8084914: 4b4c ldr r3, [pc, #304] ; (8084a48 ) 8084916: 7b1b ldrb r3, [r3, #12] 8084918: b2db uxtb r3, r3 808491a: 4619 mov r1, r3 808491c: 4b4a ldr r3, [pc, #296] ; (8084a48 ) 808491e: 7a5b ldrb r3, [r3, #9] 8084920: b2db uxtb r3, r3 8084922: 4618 mov r0, r3 8084924: 4a50 ldr r2, [pc, #320] ; (8084a68 ) 8084926: 460b mov r3, r1 8084928: 009b lsls r3, r3, #2 808492a: 440b add r3, r1 808492c: 4403 add r3, r0 808492e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084932: 461a mov r2, r3 8084934: 219a movs r1, #154 ; 0x9a 8084936: f44f 7082 mov.w r0, #260 ; 0x104 808493a: f7d0 fc29 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 808493e: 4b42 ldr r3, [pc, #264] ; (8084a48 ) 8084940: 7b5b ldrb r3, [r3, #13] 8084942: b2db uxtb r3, r3 8084944: 461a mov r2, r3 8084946: 4b49 ldr r3, [pc, #292] ; (8084a6c ) 8084948: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808494c: 461a mov r2, r3 808494e: 21aa movs r1, #170 ; 0xaa 8084950: f44f 7082 mov.w r0, #260 ; 0x104 8084954: f7d0 fc1c bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8084958: 4b3b ldr r3, [pc, #236] ; (8084a48 ) 808495a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808495e: f003 0304 and.w r3, r3, #4 8084962: 2b00 cmp r3, #0 8084964: d033 beq.n 80849ce LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8084966: 4937 ldr r1, [pc, #220] ; (8084a44 ) 8084968: 4841 ldr r0, [pc, #260] ; (8084a70 ) 808496a: f7cf fe51 bl 8054610 if(pardata.IIN != VOLTS) 808496e: 4b36 ldr r3, [pc, #216] ; (8084a48 ) 8084970: 799b ldrb r3, [r3, #6] 8084972: b2db uxtb r3, r3 8084974: 2b02 cmp r3, #2 8084976: d010 beq.n 808499a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084978: 4b33 ldr r3, [pc, #204] ; (8084a48 ) 808497a: 7b1b ldrb r3, [r3, #12] 808497c: b2db uxtb r3, r3 808497e: 4619 mov r1, r3 8084980: 4a3c ldr r2, [pc, #240] ; (8084a74 ) 8084982: 232c movs r3, #44 ; 0x2c 8084984: fb03 f301 mul.w r3, r3, r1 8084988: 4413 add r3, r2 808498a: 3324 adds r3, #36 ; 0x24 808498c: 681b ldr r3, [r3, #0] 808498e: 461a mov r2, r3 8084990: 21ca movs r1, #202 ; 0xca 8084992: 200a movs r0, #10 8084994: f7d0 fbe4 bl 8055160 8084998: e00f b.n 80849ba else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808499a: 4b2b ldr r3, [pc, #172] ; (8084a48 ) 808499c: 7b1b ldrb r3, [r3, #12] 808499e: b2db uxtb r3, r3 80849a0: 4619 mov r1, r3 80849a2: 4a35 ldr r2, [pc, #212] ; (8084a78 ) 80849a4: 232c movs r3, #44 ; 0x2c 80849a6: fb03 f301 mul.w r3, r3, r1 80849aa: 4413 add r3, r2 80849ac: 3324 adds r3, #36 ; 0x24 80849ae: 681b ldr r3, [r3, #0] 80849b0: 461a mov r2, r3 80849b2: 21ca movs r1, #202 ; 0xca 80849b4: 200a movs r0, #10 80849b6: f7d0 fbd3 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 80849ba: f507 733b add.w r3, r7, #748 ; 0x2ec 80849be: 461a mov r2, r3 80849c0: 21ca movs r1, #202 ; 0xca 80849c2: f44f 7082 mov.w r0, #260 ; 0x104 80849c6: f7d0 fbe3 bl 8055190 80849ca: f002 bd21 b.w 8087410 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80849ce: 491d ldr r1, [pc, #116] ; (8084a44 ) 80849d0: f04f 30ff mov.w r0, #4294967295 80849d4: f7cf fe1c bl 8054610 if(pardata.IIN != VOLTS) 80849d8: 4b1b ldr r3, [pc, #108] ; (8084a48 ) 80849da: 799b ldrb r3, [r3, #6] 80849dc: b2db uxtb r3, r3 80849de: 2b02 cmp r3, #2 80849e0: d010 beq.n 8084a04 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80849e2: 4b19 ldr r3, [pc, #100] ; (8084a48 ) 80849e4: 7b1b ldrb r3, [r3, #12] 80849e6: b2db uxtb r3, r3 80849e8: 4619 mov r1, r3 80849ea: 4a22 ldr r2, [pc, #136] ; (8084a74 ) 80849ec: 232c movs r3, #44 ; 0x2c 80849ee: fb03 f301 mul.w r3, r3, r1 80849f2: 4413 add r3, r2 80849f4: 3324 adds r3, #36 ; 0x24 80849f6: 681b ldr r3, [r3, #0] 80849f8: 461a mov r2, r3 80849fa: 21ca movs r1, #202 ; 0xca 80849fc: 200a movs r0, #10 80849fe: f7d0 fbaf bl 8055160 8084a02: e00f b.n 8084a24 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084a04: 4b10 ldr r3, [pc, #64] ; (8084a48 ) 8084a06: 7b1b ldrb r3, [r3, #12] 8084a08: b2db uxtb r3, r3 8084a0a: 4619 mov r1, r3 8084a0c: 4a1a ldr r2, [pc, #104] ; (8084a78 ) 8084a0e: 232c movs r3, #44 ; 0x2c 8084a10: fb03 f301 mul.w r3, r3, r1 8084a14: 4413 add r3, r2 8084a16: 3324 adds r3, #36 ; 0x24 8084a18: 681b ldr r3, [r3, #0] 8084a1a: 461a mov r2, r3 8084a1c: 21ca movs r1, #202 ; 0xca 8084a1e: 200a movs r0, #10 8084a20: f7d0 fb9e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084a24: 4907 ldr r1, [pc, #28] ; (8084a44 ) 8084a26: 480d ldr r0, [pc, #52] ; (8084a5c ) 8084a28: f7cf fdf2 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 8084a2c: f507 733b add.w r3, r7, #748 ; 0x2ec 8084a30: 461a mov r2, r3 8084a32: 21ca movs r1, #202 ; 0xca 8084a34: f44f 7082 mov.w r0, #260 ; 0x104 8084a38: f7d0 fbaa bl 8055190 8084a3c: f002 bce8 b.w 8087410 8084a40: 20020070 .word 0x20020070 8084a44: ff0a0f1f .word 0xff0a0f1f 8084a48: 20023ea8 .word 0x20023ea8 8084a4c: 200205cc .word 0x200205cc 8084a50: 20020fc8 .word 0x20020fc8 8084a54: 200216a4 .word 0x200216a4 8084a58: 200202a4 .word 0x200202a4 8084a5c: ffd8aa57 .word 0xffd8aa57 8084a60: 200201a4 .word 0x200201a4 8084a64: 2002021c .word 0x2002021c 8084a68: 200201f4 .word 0x200201f4 8084a6c: 2002022c .word 0x2002022c 8084a70: ff808080 .word 0xff808080 8084a74: 200206bc .word 0x200206bc 8084a78: 20020714 .word 0x20020714 if(menupos == SpecValue) 8084a7c: 4bc4 ldr r3, [pc, #784] ; (8084d90 ) 8084a7e: 781b ldrb r3, [r3, #0] 8084a80: b2db uxtb r3, r3 8084a82: 2b02 cmp r3, #2 8084a84: f040 8146 bne.w 8084d14 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084a88: 49c2 ldr r1, [pc, #776] ; (8084d94 ) 8084a8a: f04f 30ff mov.w r0, #4294967295 8084a8e: f7cf fdbf bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8084a92: 4bc1 ldr r3, [pc, #772] ; (8084d98 ) 8084a94: 7b1b ldrb r3, [r3, #12] 8084a96: b2db uxtb r3, r3 8084a98: 461a mov r2, r3 8084a9a: 4bc0 ldr r3, [pc, #768] ; (8084d9c ) 8084a9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084aa0: 461a mov r2, r3 8084aa2: 2127 movs r1, #39 ; 0x27 8084aa4: 200a movs r0, #10 8084aa6: f7d0 fb5b bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8084aaa: 49ba ldr r1, [pc, #744] ; (8084d94 ) 8084aac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8084ab0: f7cf fdae bl 8054610 if(focused) 8084ab4: 4bba ldr r3, [pc, #744] ; (8084da0 ) 8084ab6: 781b ldrb r3, [r3, #0] 8084ab8: b2db uxtb r3, r3 8084aba: 2b00 cmp r3, #0 8084abc: d023 beq.n 8084b06 if(blk) 8084abe: 4bb9 ldr r3, [pc, #740] ; (8084da4 ) 8084ac0: 681b ldr r3, [r3, #0] 8084ac2: 2b00 cmp r3, #0 8084ac4: d03e beq.n 8084b44 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084ac6: 4bb4 ldr r3, [pc, #720] ; (8084d98 ) 8084ac8: 7b1b ldrb r3, [r3, #12] 8084aca: b2db uxtb r3, r3 8084acc: 4618 mov r0, r3 8084ace: 4bb2 ldr r3, [pc, #712] ; (8084d98 ) 8084ad0: 785b ldrb r3, [r3, #1] 8084ad2: b2db uxtb r3, r3 8084ad4: 005b lsls r3, r3, #1 8084ad6: 4ab0 ldr r2, [pc, #704] ; (8084d98 ) 8084ad8: 7852 ldrb r2, [r2, #1] 8084ada: b2d2 uxtb r2, r2 8084adc: 4611 mov r1, r2 8084ade: 4aae ldr r2, [pc, #696] ; (8084d98 ) 8084ae0: 440a add r2, r1 8084ae2: 7892 ldrb r2, [r2, #2] 8084ae4: b2d2 uxtb r2, r2 8084ae6: 431a orrs r2, r3 8084ae8: 49af ldr r1, [pc, #700] ; (8084da8 ) 8084aea: 4603 mov r3, r0 8084aec: 005b lsls r3, r3, #1 8084aee: 4403 add r3, r0 8084af0: 005b lsls r3, r3, #1 8084af2: 4413 add r3, r2 8084af4: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8084af8: 461a mov r2, r3 8084afa: 214a movs r1, #74 ; 0x4a 8084afc: f44f 7082 mov.w r0, #260 ; 0x104 8084b00: f7d0 fb46 bl 8055190 8084b04: e01e b.n 8084b44 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084b06: 4ba4 ldr r3, [pc, #656] ; (8084d98 ) 8084b08: 7b1b ldrb r3, [r3, #12] 8084b0a: b2db uxtb r3, r3 8084b0c: 4618 mov r0, r3 8084b0e: 4ba2 ldr r3, [pc, #648] ; (8084d98 ) 8084b10: 785b ldrb r3, [r3, #1] 8084b12: b2db uxtb r3, r3 8084b14: 005b lsls r3, r3, #1 8084b16: 4aa0 ldr r2, [pc, #640] ; (8084d98 ) 8084b18: 7852 ldrb r2, [r2, #1] 8084b1a: b2d2 uxtb r2, r2 8084b1c: 4611 mov r1, r2 8084b1e: 4a9e ldr r2, [pc, #632] ; (8084d98 ) 8084b20: 440a add r2, r1 8084b22: 7892 ldrb r2, [r2, #2] 8084b24: b2d2 uxtb r2, r2 8084b26: 431a orrs r2, r3 8084b28: 499f ldr r1, [pc, #636] ; (8084da8 ) 8084b2a: 4603 mov r3, r0 8084b2c: 005b lsls r3, r3, #1 8084b2e: 4403 add r3, r0 8084b30: 005b lsls r3, r3, #1 8084b32: 4413 add r3, r2 8084b34: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8084b38: 461a mov r2, r3 8084b3a: 214a movs r1, #74 ; 0x4a 8084b3c: f44f 7082 mov.w r0, #260 ; 0x104 8084b40: f7d0 fb26 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084b44: 4993 ldr r1, [pc, #588] ; (8084d94 ) 8084b46: 4899 ldr r0, [pc, #612] ; (8084dac ) 8084b48: f7cf fd62 bl 8054610 if((pardata.OPTIONS & maskFFT) == fft) 8084b4c: 4b92 ldr r3, [pc, #584] ; (8084d98 ) 8084b4e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084b52: f003 0330 and.w r3, r3, #48 ; 0x30 8084b56: 2b00 cmp r3, #0 8084b58: d10d bne.n 8084b76 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8084b5a: 4b8f ldr r3, [pc, #572] ; (8084d98 ) 8084b5c: 7b1b ldrb r3, [r3, #12] 8084b5e: b2db uxtb r3, r3 8084b60: 4a93 ldr r2, [pc, #588] ; (8084db0 ) 8084b62: 011b lsls r3, r3, #4 8084b64: 4413 add r3, r2 8084b66: 681b ldr r3, [r3, #0] 8084b68: 461a mov r2, r3 8084b6a: 213a movs r1, #58 ; 0x3a 8084b6c: f44f 7082 mov.w r0, #260 ; 0x104 8084b70: f7d0 fb0e bl 8055190 8084b74: e00d b.n 8084b92 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8084b76: 4b88 ldr r3, [pc, #544] ; (8084d98 ) 8084b78: 7b1b ldrb r3, [r3, #12] 8084b7a: b2db uxtb r3, r3 8084b7c: 4a8c ldr r2, [pc, #560] ; (8084db0 ) 8084b7e: 011b lsls r3, r3, #4 8084b80: 4413 add r3, r2 8084b82: 3304 adds r3, #4 8084b84: 681b ldr r3, [r3, #0] 8084b86: 461a mov r2, r3 8084b88: 213a movs r1, #58 ; 0x3a 8084b8a: f44f 7082 mov.w r0, #260 ; 0x104 8084b8e: f7d0 faff bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8084b92: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8084b96: 461a mov r2, r3 8084b98: 215a movs r1, #90 ; 0x5a 8084b9a: f44f 7082 mov.w r0, #260 ; 0x104 8084b9e: f7d0 faf7 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8084ba2: f507 73cc add.w r3, r7, #408 ; 0x198 8084ba6: 461a mov r2, r3 8084ba8: 216a movs r1, #106 ; 0x6a 8084baa: f44f 7082 mov.w r0, #260 ; 0x104 8084bae: f7d0 faef bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8084bb2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8084bb6: 461a mov r2, r3 8084bb8: 217a movs r1, #122 ; 0x7a 8084bba: f44f 7082 mov.w r0, #260 ; 0x104 8084bbe: f7d0 fae7 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8084bc2: 4b75 ldr r3, [pc, #468] ; (8084d98 ) 8084bc4: 7b1b ldrb r3, [r3, #12] 8084bc6: b2db uxtb r3, r3 8084bc8: 4618 mov r0, r3 8084bca: 4b73 ldr r3, [pc, #460] ; (8084d98 ) 8084bcc: 7a9b ldrb r3, [r3, #10] 8084bce: b2db uxtb r3, r3 8084bd0: 4619 mov r1, r3 8084bd2: 4a78 ldr r2, [pc, #480] ; (8084db4 ) 8084bd4: 0043 lsls r3, r0, #1 8084bd6: 440b add r3, r1 8084bd8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084bdc: 461a mov r2, r3 8084bde: 218a movs r1, #138 ; 0x8a 8084be0: f44f 7082 mov.w r0, #260 ; 0x104 8084be4: f7d0 fad4 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8084be8: 4b6b ldr r3, [pc, #428] ; (8084d98 ) 8084bea: 7b1b ldrb r3, [r3, #12] 8084bec: b2db uxtb r3, r3 8084bee: 4619 mov r1, r3 8084bf0: 4b69 ldr r3, [pc, #420] ; (8084d98 ) 8084bf2: 7a5b ldrb r3, [r3, #9] 8084bf4: b2db uxtb r3, r3 8084bf6: 4618 mov r0, r3 8084bf8: 4a6f ldr r2, [pc, #444] ; (8084db8 ) 8084bfa: 460b mov r3, r1 8084bfc: 009b lsls r3, r3, #2 8084bfe: 440b add r3, r1 8084c00: 4403 add r3, r0 8084c02: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084c06: 461a mov r2, r3 8084c08: 219a movs r1, #154 ; 0x9a 8084c0a: f44f 7082 mov.w r0, #260 ; 0x104 8084c0e: f7d0 fabf bl 8055190 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8084c12: 4b61 ldr r3, [pc, #388] ; (8084d98 ) 8084c14: 7b5b ldrb r3, [r3, #13] 8084c16: b2db uxtb r3, r3 8084c18: 461a mov r2, r3 8084c1a: 4b68 ldr r3, [pc, #416] ; (8084dbc ) 8084c1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084c20: 461a mov r2, r3 8084c22: 21aa movs r1, #170 ; 0xaa 8084c24: f44f 7082 mov.w r0, #260 ; 0x104 8084c28: f7d0 fab2 bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8084c2c: 4b5a ldr r3, [pc, #360] ; (8084d98 ) 8084c2e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084c32: f003 0304 and.w r3, r3, #4 8084c36: 2b00 cmp r3, #0 8084c38: d033 beq.n 8084ca2 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8084c3a: 4956 ldr r1, [pc, #344] ; (8084d94 ) 8084c3c: 4860 ldr r0, [pc, #384] ; (8084dc0 ) 8084c3e: f7cf fce7 bl 8054610 if(pardata.IIN != VOLTS) 8084c42: 4b55 ldr r3, [pc, #340] ; (8084d98 ) 8084c44: 799b ldrb r3, [r3, #6] 8084c46: b2db uxtb r3, r3 8084c48: 2b02 cmp r3, #2 8084c4a: d010 beq.n 8084c6e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084c4c: 4b52 ldr r3, [pc, #328] ; (8084d98 ) 8084c4e: 7b1b ldrb r3, [r3, #12] 8084c50: b2db uxtb r3, r3 8084c52: 4619 mov r1, r3 8084c54: 4a5b ldr r2, [pc, #364] ; (8084dc4 ) 8084c56: 232c movs r3, #44 ; 0x2c 8084c58: fb03 f301 mul.w r3, r3, r1 8084c5c: 4413 add r3, r2 8084c5e: 3324 adds r3, #36 ; 0x24 8084c60: 681b ldr r3, [r3, #0] 8084c62: 461a mov r2, r3 8084c64: 21ca movs r1, #202 ; 0xca 8084c66: 200a movs r0, #10 8084c68: f7d0 fa7a bl 8055160 8084c6c: e00f b.n 8084c8e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084c6e: 4b4a ldr r3, [pc, #296] ; (8084d98 ) 8084c70: 7b1b ldrb r3, [r3, #12] 8084c72: b2db uxtb r3, r3 8084c74: 4619 mov r1, r3 8084c76: 4a54 ldr r2, [pc, #336] ; (8084dc8 ) 8084c78: 232c movs r3, #44 ; 0x2c 8084c7a: fb03 f301 mul.w r3, r3, r1 8084c7e: 4413 add r3, r2 8084c80: 3324 adds r3, #36 ; 0x24 8084c82: 681b ldr r3, [r3, #0] 8084c84: 461a mov r2, r3 8084c86: 21ca movs r1, #202 ; 0xca 8084c88: 200a movs r0, #10 8084c8a: f7d0 fa69 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 8084c8e: f507 733b add.w r3, r7, #748 ; 0x2ec 8084c92: 461a mov r2, r3 8084c94: 21ca movs r1, #202 ; 0xca 8084c96: f44f 7082 mov.w r0, #260 ; 0x104 8084c9a: f7d0 fa79 bl 8055190 8084c9e: f002 bbb7 b.w 8087410 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084ca2: 493c ldr r1, [pc, #240] ; (8084d94 ) 8084ca4: f04f 30ff mov.w r0, #4294967295 8084ca8: f7cf fcb2 bl 8054610 if(pardata.IIN != VOLTS) 8084cac: 4b3a ldr r3, [pc, #232] ; (8084d98 ) 8084cae: 799b ldrb r3, [r3, #6] 8084cb0: b2db uxtb r3, r3 8084cb2: 2b02 cmp r3, #2 8084cb4: d010 beq.n 8084cd8 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084cb6: 4b38 ldr r3, [pc, #224] ; (8084d98 ) 8084cb8: 7b1b ldrb r3, [r3, #12] 8084cba: b2db uxtb r3, r3 8084cbc: 4619 mov r1, r3 8084cbe: 4a41 ldr r2, [pc, #260] ; (8084dc4 ) 8084cc0: 232c movs r3, #44 ; 0x2c 8084cc2: fb03 f301 mul.w r3, r3, r1 8084cc6: 4413 add r3, r2 8084cc8: 3324 adds r3, #36 ; 0x24 8084cca: 681b ldr r3, [r3, #0] 8084ccc: 461a mov r2, r3 8084cce: 21ca movs r1, #202 ; 0xca 8084cd0: 200a movs r0, #10 8084cd2: f7d0 fa45 bl 8055160 8084cd6: e00f b.n 8084cf8 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084cd8: 4b2f ldr r3, [pc, #188] ; (8084d98 ) 8084cda: 7b1b ldrb r3, [r3, #12] 8084cdc: b2db uxtb r3, r3 8084cde: 4619 mov r1, r3 8084ce0: 4a39 ldr r2, [pc, #228] ; (8084dc8 ) 8084ce2: 232c movs r3, #44 ; 0x2c 8084ce4: fb03 f301 mul.w r3, r3, r1 8084ce8: 4413 add r3, r2 8084cea: 3324 adds r3, #36 ; 0x24 8084cec: 681b ldr r3, [r3, #0] 8084cee: 461a mov r2, r3 8084cf0: 21ca movs r1, #202 ; 0xca 8084cf2: 200a movs r0, #10 8084cf4: f7d0 fa34 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084cf8: 4926 ldr r1, [pc, #152] ; (8084d94 ) 8084cfa: 482c ldr r0, [pc, #176] ; (8084dac ) 8084cfc: f7cf fc88 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 8084d00: f507 733b add.w r3, r7, #748 ; 0x2ec 8084d04: 461a mov r2, r3 8084d06: 21ca movs r1, #202 ; 0xca 8084d08: f44f 7082 mov.w r0, #260 ; 0x104 8084d0c: f7d0 fa40 bl 8055190 8084d10: f002 bb7e b.w 8087410 if(menupos == FilterHP) 8084d14: 4b1e ldr r3, [pc, #120] ; (8084d90 ) 8084d16: 781b ldrb r3, [r3, #0] 8084d18: b2db uxtb r3, r3 8084d1a: 2b17 cmp r3, #23 8084d1c: f040 813c bne.w 8084f98 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084d20: 491c ldr r1, [pc, #112] ; (8084d94 ) 8084d22: f04f 30ff mov.w r0, #4294967295 8084d26: f7cf fc73 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8084d2a: 4b1b ldr r3, [pc, #108] ; (8084d98 ) 8084d2c: 7b1b ldrb r3, [r3, #12] 8084d2e: b2db uxtb r3, r3 8084d30: 461a mov r2, r3 8084d32: 4b1a ldr r3, [pc, #104] ; (8084d9c ) 8084d34: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084d38: 461a mov r2, r3 8084d3a: 2127 movs r1, #39 ; 0x27 8084d3c: 200a movs r0, #10 8084d3e: f7d0 fa0f bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8084d42: 4914 ldr r1, [pc, #80] ; (8084d94 ) 8084d44: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8084d48: f7cf fc62 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8084d4c: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8084d50: 461a mov r2, r3 8084d52: 215a movs r1, #90 ; 0x5a 8084d54: f44f 7082 mov.w r0, #260 ; 0x104 8084d58: f7d0 fa1a bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084d5c: 490d ldr r1, [pc, #52] ; (8084d94 ) 8084d5e: 4813 ldr r0, [pc, #76] ; (8084dac ) 8084d60: f7cf fc56 bl 8054610 if((pardata.OPTIONS & maskFFT) == fft) 8084d64: 4b0c ldr r3, [pc, #48] ; (8084d98 ) 8084d66: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084d6a: f003 0330 and.w r3, r3, #48 ; 0x30 8084d6e: 2b00 cmp r3, #0 8084d70: d12c bne.n 8084dcc LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8084d72: 4b09 ldr r3, [pc, #36] ; (8084d98 ) 8084d74: 7b1b ldrb r3, [r3, #12] 8084d76: b2db uxtb r3, r3 8084d78: 4a0d ldr r2, [pc, #52] ; (8084db0 ) 8084d7a: 011b lsls r3, r3, #4 8084d7c: 4413 add r3, r2 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: f7d0 fa02 bl 8055190 8084d8c: e02c b.n 8084de8 8084d8e: bf00 nop 8084d90: 20020070 .word 0x20020070 8084d94: ff0a0f1f .word 0xff0a0f1f 8084d98: 20023ea8 .word 0x20023ea8 8084d9c: 200205cc .word 0x200205cc 8084da0: 20020fc8 .word 0x20020fc8 8084da4: 200216a4 .word 0x200216a4 8084da8: 200201a4 .word 0x200201a4 8084dac: ffd8aa57 .word 0xffd8aa57 8084db0: 200202a4 .word 0x200202a4 8084db4: 2002021c .word 0x2002021c 8084db8: 200201f4 .word 0x200201f4 8084dbc: 2002022c .word 0x2002022c 8084dc0: ff808080 .word 0xff808080 8084dc4: 200206bc .word 0x200206bc 8084dc8: 20020714 .word 0x20020714 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8084dcc: 4b91 ldr r3, [pc, #580] ; (8085014 ) 8084dce: 7b1b ldrb r3, [r3, #12] 8084dd0: b2db uxtb r3, r3 8084dd2: 4a91 ldr r2, [pc, #580] ; (8085018 ) 8084dd4: 011b lsls r3, r3, #4 8084dd6: 4413 add r3, r2 8084dd8: 3304 adds r3, #4 8084dda: 681b ldr r3, [r3, #0] 8084ddc: 461a mov r2, r3 8084dde: 213a movs r1, #58 ; 0x3a 8084de0: f44f 7082 mov.w r0, #260 ; 0x104 8084de4: f7d0 f9d4 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084de8: 4b8a ldr r3, [pc, #552] ; (8085014 ) 8084dea: 7b1b ldrb r3, [r3, #12] 8084dec: b2db uxtb r3, r3 8084dee: 4618 mov r0, r3 8084df0: 4b88 ldr r3, [pc, #544] ; (8085014 ) 8084df2: 785b ldrb r3, [r3, #1] 8084df4: b2db uxtb r3, r3 8084df6: 005b lsls r3, r3, #1 8084df8: 4a86 ldr r2, [pc, #536] ; (8085014 ) 8084dfa: 7852 ldrb r2, [r2, #1] 8084dfc: b2d2 uxtb r2, r2 8084dfe: 4611 mov r1, r2 8084e00: 4a84 ldr r2, [pc, #528] ; (8085014 ) 8084e02: 440a add r2, r1 8084e04: 7892 ldrb r2, [r2, #2] 8084e06: b2d2 uxtb r2, r2 8084e08: 431a orrs r2, r3 8084e0a: 4984 ldr r1, [pc, #528] ; (808501c ) 8084e0c: 4603 mov r3, r0 8084e0e: 005b lsls r3, r3, #1 8084e10: 4403 add r3, r0 8084e12: 005b lsls r3, r3, #1 8084e14: 4413 add r3, r2 8084e16: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8084e1a: 461a mov r2, r3 8084e1c: 214a movs r1, #74 ; 0x4a 8084e1e: f44f 7082 mov.w r0, #260 ; 0x104 8084e22: f7d0 f9b5 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8084e26: f507 73cc add.w r3, r7, #408 ; 0x198 8084e2a: 461a mov r2, r3 8084e2c: 216a movs r1, #106 ; 0x6a 8084e2e: f44f 7082 mov.w r0, #260 ; 0x104 8084e32: f7d0 f9ad bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8084e36: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8084e3a: 461a mov r2, r3 8084e3c: 217a movs r1, #122 ; 0x7a 8084e3e: f44f 7082 mov.w r0, #260 ; 0x104 8084e42: f7d0 f9a5 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8084e46: 4b73 ldr r3, [pc, #460] ; (8085014 ) 8084e48: 7b1b ldrb r3, [r3, #12] 8084e4a: b2db uxtb r3, r3 8084e4c: 4618 mov r0, r3 8084e4e: 4b71 ldr r3, [pc, #452] ; (8085014 ) 8084e50: 7a9b ldrb r3, [r3, #10] 8084e52: b2db uxtb r3, r3 8084e54: 4619 mov r1, r3 8084e56: 4a72 ldr r2, [pc, #456] ; (8085020 ) 8084e58: 0043 lsls r3, r0, #1 8084e5a: 440b add r3, r1 8084e5c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084e60: 461a mov r2, r3 8084e62: 218a movs r1, #138 ; 0x8a 8084e64: f44f 7082 mov.w r0, #260 ; 0x104 8084e68: f7d0 f992 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8084e6c: 4b69 ldr r3, [pc, #420] ; (8085014 ) 8084e6e: 7b1b ldrb r3, [r3, #12] 8084e70: b2db uxtb r3, r3 8084e72: 4619 mov r1, r3 8084e74: 4b67 ldr r3, [pc, #412] ; (8085014 ) 8084e76: 7a5b ldrb r3, [r3, #9] 8084e78: b2db uxtb r3, r3 8084e7a: 4618 mov r0, r3 8084e7c: 4a69 ldr r2, [pc, #420] ; (8085024 ) 8084e7e: 460b mov r3, r1 8084e80: 009b lsls r3, r3, #2 8084e82: 440b add r3, r1 8084e84: 4403 add r3, r0 8084e86: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084e8a: 461a mov r2, r3 8084e8c: 219a movs r1, #154 ; 0x9a 8084e8e: f44f 7082 mov.w r0, #260 ; 0x104 8084e92: f7d0 f97d bl 8055190 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8084e96: 4b5f ldr r3, [pc, #380] ; (8085014 ) 8084e98: 7b5b ldrb r3, [r3, #13] 8084e9a: b2db uxtb r3, r3 8084e9c: 461a mov r2, r3 8084e9e: 4b62 ldr r3, [pc, #392] ; (8085028 ) 8084ea0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084ea4: 461a mov r2, r3 8084ea6: 21aa movs r1, #170 ; 0xaa 8084ea8: f44f 7082 mov.w r0, #260 ; 0x104 8084eac: f7d0 f970 bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8084eb0: 4b58 ldr r3, [pc, #352] ; (8085014 ) 8084eb2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084eb6: f003 0304 and.w r3, r3, #4 8084eba: 2b00 cmp r3, #0 8084ebc: d033 beq.n 8084f26 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8084ebe: 495b ldr r1, [pc, #364] ; (808502c ) 8084ec0: 485b ldr r0, [pc, #364] ; (8085030 ) 8084ec2: f7cf fba5 bl 8054610 if(pardata.IIN != VOLTS) 8084ec6: 4b53 ldr r3, [pc, #332] ; (8085014 ) 8084ec8: 799b ldrb r3, [r3, #6] 8084eca: b2db uxtb r3, r3 8084ecc: 2b02 cmp r3, #2 8084ece: d010 beq.n 8084ef2 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084ed0: 4b50 ldr r3, [pc, #320] ; (8085014 ) 8084ed2: 7b1b ldrb r3, [r3, #12] 8084ed4: b2db uxtb r3, r3 8084ed6: 4619 mov r1, r3 8084ed8: 4a56 ldr r2, [pc, #344] ; (8085034 ) 8084eda: 232c movs r3, #44 ; 0x2c 8084edc: fb03 f301 mul.w r3, r3, r1 8084ee0: 4413 add r3, r2 8084ee2: 3324 adds r3, #36 ; 0x24 8084ee4: 681b ldr r3, [r3, #0] 8084ee6: 461a mov r2, r3 8084ee8: 21ca movs r1, #202 ; 0xca 8084eea: 200a movs r0, #10 8084eec: f7d0 f938 bl 8055160 8084ef0: e00f b.n 8084f12 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084ef2: 4b48 ldr r3, [pc, #288] ; (8085014 ) 8084ef4: 7b1b ldrb r3, [r3, #12] 8084ef6: b2db uxtb r3, r3 8084ef8: 4619 mov r1, r3 8084efa: 4a4f ldr r2, [pc, #316] ; (8085038 ) 8084efc: 232c movs r3, #44 ; 0x2c 8084efe: fb03 f301 mul.w r3, r3, r1 8084f02: 4413 add r3, r2 8084f04: 3324 adds r3, #36 ; 0x24 8084f06: 681b ldr r3, [r3, #0] 8084f08: 461a mov r2, r3 8084f0a: 21ca movs r1, #202 ; 0xca 8084f0c: 200a movs r0, #10 8084f0e: f7d0 f927 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 8084f12: f507 733b add.w r3, r7, #748 ; 0x2ec 8084f16: 461a mov r2, r3 8084f18: 21ca movs r1, #202 ; 0xca 8084f1a: f44f 7082 mov.w r0, #260 ; 0x104 8084f1e: f7d0 f937 bl 8055190 8084f22: f002 ba75 b.w 8087410 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084f26: 4941 ldr r1, [pc, #260] ; (808502c ) 8084f28: f04f 30ff mov.w r0, #4294967295 8084f2c: f7cf fb70 bl 8054610 if(pardata.IIN != VOLTS) 8084f30: 4b38 ldr r3, [pc, #224] ; (8085014 ) 8084f32: 799b ldrb r3, [r3, #6] 8084f34: b2db uxtb r3, r3 8084f36: 2b02 cmp r3, #2 8084f38: d010 beq.n 8084f5c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084f3a: 4b36 ldr r3, [pc, #216] ; (8085014 ) 8084f3c: 7b1b ldrb r3, [r3, #12] 8084f3e: b2db uxtb r3, r3 8084f40: 4619 mov r1, r3 8084f42: 4a3c ldr r2, [pc, #240] ; (8085034 ) 8084f44: 232c movs r3, #44 ; 0x2c 8084f46: fb03 f301 mul.w r3, r3, r1 8084f4a: 4413 add r3, r2 8084f4c: 3324 adds r3, #36 ; 0x24 8084f4e: 681b ldr r3, [r3, #0] 8084f50: 461a mov r2, r3 8084f52: 21ca movs r1, #202 ; 0xca 8084f54: 200a movs r0, #10 8084f56: f7d0 f903 bl 8055160 8084f5a: e00f b.n 8084f7c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084f5c: 4b2d ldr r3, [pc, #180] ; (8085014 ) 8084f5e: 7b1b ldrb r3, [r3, #12] 8084f60: b2db uxtb r3, r3 8084f62: 4619 mov r1, r3 8084f64: 4a34 ldr r2, [pc, #208] ; (8085038 ) 8084f66: 232c movs r3, #44 ; 0x2c 8084f68: fb03 f301 mul.w r3, r3, r1 8084f6c: 4413 add r3, r2 8084f6e: 3324 adds r3, #36 ; 0x24 8084f70: 681b ldr r3, [r3, #0] 8084f72: 461a mov r2, r3 8084f74: 21ca movs r1, #202 ; 0xca 8084f76: 200a movs r0, #10 8084f78: f7d0 f8f2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084f7c: 492b ldr r1, [pc, #172] ; (808502c ) 8084f7e: 482f ldr r0, [pc, #188] ; (808503c ) 8084f80: f7cf fb46 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 8084f84: f507 733b add.w r3, r7, #748 ; 0x2ec 8084f88: 461a mov r2, r3 8084f8a: 21ca movs r1, #202 ; 0xca 8084f8c: f44f 7082 mov.w r0, #260 ; 0x104 8084f90: f7d0 f8fe bl 8055190 8084f94: f002 ba3c b.w 8087410 if(menupos == FilterLP) 8084f98: 4b29 ldr r3, [pc, #164] ; (8085040 ) 8084f9a: 781b ldrb r3, [r3, #0] 8084f9c: b2db uxtb r3, r3 8084f9e: 2b18 cmp r3, #24 8084fa0: f040 8138 bne.w 8085214 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084fa4: 4921 ldr r1, [pc, #132] ; (808502c ) 8084fa6: f04f 30ff mov.w r0, #4294967295 8084faa: f7cf fb31 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8084fae: 4b19 ldr r3, [pc, #100] ; (8085014 ) 8084fb0: 7b1b ldrb r3, [r3, #12] 8084fb2: b2db uxtb r3, r3 8084fb4: 461a mov r2, r3 8084fb6: 4b23 ldr r3, [pc, #140] ; (8085044 ) 8084fb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084fbc: 461a mov r2, r3 8084fbe: 2127 movs r1, #39 ; 0x27 8084fc0: 200a movs r0, #10 8084fc2: f7d0 f8cd bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8084fc6: 4919 ldr r1, [pc, #100] ; (808502c ) 8084fc8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8084fcc: f7cf fb20 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8084fd0: f507 73cc add.w r3, r7, #408 ; 0x198 8084fd4: 461a mov r2, r3 8084fd6: 216a movs r1, #106 ; 0x6a 8084fd8: f44f 7082 mov.w r0, #260 ; 0x104 8084fdc: f7d0 f8d8 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084fe0: 4912 ldr r1, [pc, #72] ; (808502c ) 8084fe2: 4816 ldr r0, [pc, #88] ; (808503c ) 8084fe4: f7cf fb14 bl 8054610 if((pardata.OPTIONS & maskFFT) == fft) 8084fe8: 4b0a ldr r3, [pc, #40] ; (8085014 ) 8084fea: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084fee: f003 0330 and.w r3, r3, #48 ; 0x30 8084ff2: 2b00 cmp r3, #0 8084ff4: d128 bne.n 8085048 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8084ff6: 4b07 ldr r3, [pc, #28] ; (8085014 ) 8084ff8: 7b1b ldrb r3, [r3, #12] 8084ffa: b2db uxtb r3, r3 8084ffc: 4a06 ldr r2, [pc, #24] ; (8085018 ) 8084ffe: 011b lsls r3, r3, #4 8085000: 4413 add r3, r2 8085002: 681b ldr r3, [r3, #0] 8085004: 461a mov r2, r3 8085006: 213a movs r1, #58 ; 0x3a 8085008: f44f 7082 mov.w r0, #260 ; 0x104 808500c: f7d0 f8c0 bl 8055190 8085010: e028 b.n 8085064 8085012: bf00 nop 8085014: 20023ea8 .word 0x20023ea8 8085018: 200202a4 .word 0x200202a4 808501c: 200201a4 .word 0x200201a4 8085020: 2002021c .word 0x2002021c 8085024: 200201f4 .word 0x200201f4 8085028: 2002022c .word 0x2002022c 808502c: ff0a0f1f .word 0xff0a0f1f 8085030: ff808080 .word 0xff808080 8085034: 200206bc .word 0x200206bc 8085038: 20020714 .word 0x20020714 808503c: ffd8aa57 .word 0xffd8aa57 8085040: 20020070 .word 0x20020070 8085044: 200205cc .word 0x200205cc else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8085048: 4b9a ldr r3, [pc, #616] ; (80852b4 ) 808504a: 7b1b ldrb r3, [r3, #12] 808504c: b2db uxtb r3, r3 808504e: 4a9a ldr r2, [pc, #616] ; (80852b8 ) 8085050: 011b lsls r3, r3, #4 8085052: 4413 add r3, r2 8085054: 3304 adds r3, #4 8085056: 681b ldr r3, [r3, #0] 8085058: 461a mov r2, r3 808505a: 213a movs r1, #58 ; 0x3a 808505c: f44f 7082 mov.w r0, #260 ; 0x104 8085060: f7d0 f896 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8085064: 4b93 ldr r3, [pc, #588] ; (80852b4 ) 8085066: 7b1b ldrb r3, [r3, #12] 8085068: b2db uxtb r3, r3 808506a: 4618 mov r0, r3 808506c: 4b91 ldr r3, [pc, #580] ; (80852b4 ) 808506e: 785b ldrb r3, [r3, #1] 8085070: b2db uxtb r3, r3 8085072: 005b lsls r3, r3, #1 8085074: 4a8f ldr r2, [pc, #572] ; (80852b4 ) 8085076: 7852 ldrb r2, [r2, #1] 8085078: b2d2 uxtb r2, r2 808507a: 4611 mov r1, r2 808507c: 4a8d ldr r2, [pc, #564] ; (80852b4 ) 808507e: 440a add r2, r1 8085080: 7892 ldrb r2, [r2, #2] 8085082: b2d2 uxtb r2, r2 8085084: 431a orrs r2, r3 8085086: 498d ldr r1, [pc, #564] ; (80852bc ) 8085088: 4603 mov r3, r0 808508a: 005b lsls r3, r3, #1 808508c: 4403 add r3, r0 808508e: 005b lsls r3, r3, #1 8085090: 4413 add r3, r2 8085092: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8085096: 461a mov r2, r3 8085098: 214a movs r1, #74 ; 0x4a 808509a: f44f 7082 mov.w r0, #260 ; 0x104 808509e: f7d0 f877 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80850a2: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80850a6: 461a mov r2, r3 80850a8: 215a movs r1, #90 ; 0x5a 80850aa: f44f 7082 mov.w r0, #260 ; 0x104 80850ae: f7d0 f86f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 80850b2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80850b6: 461a mov r2, r3 80850b8: 217a movs r1, #122 ; 0x7a 80850ba: f44f 7082 mov.w r0, #260 ; 0x104 80850be: f7d0 f867 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80850c2: 4b7c ldr r3, [pc, #496] ; (80852b4 ) 80850c4: 7b1b ldrb r3, [r3, #12] 80850c6: b2db uxtb r3, r3 80850c8: 4618 mov r0, r3 80850ca: 4b7a ldr r3, [pc, #488] ; (80852b4 ) 80850cc: 7a9b ldrb r3, [r3, #10] 80850ce: b2db uxtb r3, r3 80850d0: 4619 mov r1, r3 80850d2: 4a7b ldr r2, [pc, #492] ; (80852c0 ) 80850d4: 0043 lsls r3, r0, #1 80850d6: 440b add r3, r1 80850d8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80850dc: 461a mov r2, r3 80850de: 218a movs r1, #138 ; 0x8a 80850e0: f44f 7082 mov.w r0, #260 ; 0x104 80850e4: f7d0 f854 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80850e8: 4b72 ldr r3, [pc, #456] ; (80852b4 ) 80850ea: 7b1b ldrb r3, [r3, #12] 80850ec: b2db uxtb r3, r3 80850ee: 4619 mov r1, r3 80850f0: 4b70 ldr r3, [pc, #448] ; (80852b4 ) 80850f2: 7a5b ldrb r3, [r3, #9] 80850f4: b2db uxtb r3, r3 80850f6: 4618 mov r0, r3 80850f8: 4a72 ldr r2, [pc, #456] ; (80852c4 ) 80850fa: 460b mov r3, r1 80850fc: 009b lsls r3, r3, #2 80850fe: 440b add r3, r1 8085100: 4403 add r3, r0 8085102: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085106: 461a mov r2, r3 8085108: 219a movs r1, #154 ; 0x9a 808510a: f44f 7082 mov.w r0, #260 ; 0x104 808510e: f7d0 f83f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8085112: 4b68 ldr r3, [pc, #416] ; (80852b4 ) 8085114: 7b5b ldrb r3, [r3, #13] 8085116: b2db uxtb r3, r3 8085118: 461a mov r2, r3 808511a: 4b6b ldr r3, [pc, #428] ; (80852c8 ) 808511c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085120: 461a mov r2, r3 8085122: 21aa movs r1, #170 ; 0xaa 8085124: f44f 7082 mov.w r0, #260 ; 0x104 8085128: f7d0 f832 bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808512c: 4b61 ldr r3, [pc, #388] ; (80852b4 ) 808512e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085132: f003 0304 and.w r3, r3, #4 8085136: 2b00 cmp r3, #0 8085138: d033 beq.n 80851a2 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808513a: 4964 ldr r1, [pc, #400] ; (80852cc ) 808513c: 4864 ldr r0, [pc, #400] ; (80852d0 ) 808513e: f7cf fa67 bl 8054610 if(pardata.IIN != VOLTS) 8085142: 4b5c ldr r3, [pc, #368] ; (80852b4 ) 8085144: 799b ldrb r3, [r3, #6] 8085146: b2db uxtb r3, r3 8085148: 2b02 cmp r3, #2 808514a: d010 beq.n 808516e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808514c: 4b59 ldr r3, [pc, #356] ; (80852b4 ) 808514e: 7b1b ldrb r3, [r3, #12] 8085150: b2db uxtb r3, r3 8085152: 4619 mov r1, r3 8085154: 4a5f ldr r2, [pc, #380] ; (80852d4 ) 8085156: 232c movs r3, #44 ; 0x2c 8085158: fb03 f301 mul.w r3, r3, r1 808515c: 4413 add r3, r2 808515e: 3324 adds r3, #36 ; 0x24 8085160: 681b ldr r3, [r3, #0] 8085162: 461a mov r2, r3 8085164: 21ca movs r1, #202 ; 0xca 8085166: 200a movs r0, #10 8085168: f7cf fffa bl 8055160 808516c: e00f b.n 808518e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808516e: 4b51 ldr r3, [pc, #324] ; (80852b4 ) 8085170: 7b1b ldrb r3, [r3, #12] 8085172: b2db uxtb r3, r3 8085174: 4619 mov r1, r3 8085176: 4a58 ldr r2, [pc, #352] ; (80852d8 ) 8085178: 232c movs r3, #44 ; 0x2c 808517a: fb03 f301 mul.w r3, r3, r1 808517e: 4413 add r3, r2 8085180: 3324 adds r3, #36 ; 0x24 8085182: 681b ldr r3, [r3, #0] 8085184: 461a mov r2, r3 8085186: 21ca movs r1, #202 ; 0xca 8085188: 200a movs r0, #10 808518a: f7cf ffe9 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 808518e: f507 733b add.w r3, r7, #748 ; 0x2ec 8085192: 461a mov r2, r3 8085194: 21ca movs r1, #202 ; 0xca 8085196: f44f 7082 mov.w r0, #260 ; 0x104 808519a: f7cf fff9 bl 8055190 808519e: f002 b937 b.w 8087410 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80851a2: 494a ldr r1, [pc, #296] ; (80852cc ) 80851a4: f04f 30ff mov.w r0, #4294967295 80851a8: f7cf fa32 bl 8054610 if(pardata.IIN != VOLTS) 80851ac: 4b41 ldr r3, [pc, #260] ; (80852b4 ) 80851ae: 799b ldrb r3, [r3, #6] 80851b0: b2db uxtb r3, r3 80851b2: 2b02 cmp r3, #2 80851b4: d010 beq.n 80851d8 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80851b6: 4b3f ldr r3, [pc, #252] ; (80852b4 ) 80851b8: 7b1b ldrb r3, [r3, #12] 80851ba: b2db uxtb r3, r3 80851bc: 4619 mov r1, r3 80851be: 4a45 ldr r2, [pc, #276] ; (80852d4 ) 80851c0: 232c movs r3, #44 ; 0x2c 80851c2: fb03 f301 mul.w r3, r3, r1 80851c6: 4413 add r3, r2 80851c8: 3324 adds r3, #36 ; 0x24 80851ca: 681b ldr r3, [r3, #0] 80851cc: 461a mov r2, r3 80851ce: 21ca movs r1, #202 ; 0xca 80851d0: 200a movs r0, #10 80851d2: f7cf ffc5 bl 8055160 80851d6: e00f b.n 80851f8 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80851d8: 4b36 ldr r3, [pc, #216] ; (80852b4 ) 80851da: 7b1b ldrb r3, [r3, #12] 80851dc: b2db uxtb r3, r3 80851de: 4619 mov r1, r3 80851e0: 4a3d ldr r2, [pc, #244] ; (80852d8 ) 80851e2: 232c movs r3, #44 ; 0x2c 80851e4: fb03 f301 mul.w r3, r3, r1 80851e8: 4413 add r3, r2 80851ea: 3324 adds r3, #36 ; 0x24 80851ec: 681b ldr r3, [r3, #0] 80851ee: 461a mov r2, r3 80851f0: 21ca movs r1, #202 ; 0xca 80851f2: 200a movs r0, #10 80851f4: f7cf ffb4 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80851f8: 4934 ldr r1, [pc, #208] ; (80852cc ) 80851fa: 4838 ldr r0, [pc, #224] ; (80852dc ) 80851fc: f7cf fa08 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 8085200: f507 733b add.w r3, r7, #748 ; 0x2ec 8085204: 461a mov r2, r3 8085206: 21ca movs r1, #202 ; 0xca 8085208: f44f 7082 mov.w r0, #260 ; 0x104 808520c: f7cf ffc0 bl 8055190 8085210: f002 b8fe b.w 8087410 if(menupos == SpecLines) 8085214: 4b32 ldr r3, [pc, #200] ; (80852e0 ) 8085216: 781b ldrb r3, [r3, #0] 8085218: b2db uxtb r3, r3 808521a: 2b04 cmp r3, #4 808521c: f040 814e bne.w 80854bc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085220: 492a ldr r1, [pc, #168] ; (80852cc ) 8085222: f04f 30ff mov.w r0, #4294967295 8085226: f7cf f9f3 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 808522a: 4b22 ldr r3, [pc, #136] ; (80852b4 ) 808522c: 7b1b ldrb r3, [r3, #12] 808522e: b2db uxtb r3, r3 8085230: 461a mov r2, r3 8085232: 4b2c ldr r3, [pc, #176] ; (80852e4 ) 8085234: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085238: 461a mov r2, r3 808523a: 2127 movs r1, #39 ; 0x27 808523c: 200a movs r0, #10 808523e: f7cf ff8f bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085242: 4922 ldr r1, [pc, #136] ; (80852cc ) 8085244: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085248: f7cf f9e2 bl 8054610 if(focused) 808524c: 4b26 ldr r3, [pc, #152] ; (80852e8 ) 808524e: 781b ldrb r3, [r3, #0] 8085250: b2db uxtb r3, r3 8085252: 2b00 cmp r3, #0 8085254: d00c beq.n 8085270 if(blk) 8085256: 4b25 ldr r3, [pc, #148] ; (80852ec ) 8085258: 681b ldr r3, [r3, #0] 808525a: 2b00 cmp r3, #0 808525c: d010 beq.n 8085280 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 808525e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8085262: 461a mov r2, r3 8085264: 217a movs r1, #122 ; 0x7a 8085266: f44f 7082 mov.w r0, #260 ; 0x104 808526a: f7cf ff91 bl 8055190 808526e: e007 b.n 8085280 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8085270: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8085274: 461a mov r2, r3 8085276: 217a movs r1, #122 ; 0x7a 8085278: f44f 7082 mov.w r0, #260 ; 0x104 808527c: f7cf ff88 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085280: 4912 ldr r1, [pc, #72] ; (80852cc ) 8085282: 4816 ldr r0, [pc, #88] ; (80852dc ) 8085284: f7cf f9c4 bl 8054610 if((pardata.OPTIONS & maskFFT) == fft) 8085288: 4b0a ldr r3, [pc, #40] ; (80852b4 ) 808528a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808528e: f003 0330 and.w r3, r3, #48 ; 0x30 8085292: 2b00 cmp r3, #0 8085294: d12c bne.n 80852f0 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8085296: 4b07 ldr r3, [pc, #28] ; (80852b4 ) 8085298: 7b1b ldrb r3, [r3, #12] 808529a: b2db uxtb r3, r3 808529c: 4a06 ldr r2, [pc, #24] ; (80852b8 ) 808529e: 011b lsls r3, r3, #4 80852a0: 4413 add r3, r2 80852a2: 681b ldr r3, [r3, #0] 80852a4: 461a mov r2, r3 80852a6: 213a movs r1, #58 ; 0x3a 80852a8: f44f 7082 mov.w r0, #260 ; 0x104 80852ac: f7cf ff70 bl 8055190 80852b0: e02c b.n 808530c 80852b2: bf00 nop 80852b4: 20023ea8 .word 0x20023ea8 80852b8: 200202a4 .word 0x200202a4 80852bc: 200201a4 .word 0x200201a4 80852c0: 2002021c .word 0x2002021c 80852c4: 200201f4 .word 0x200201f4 80852c8: 2002022c .word 0x2002022c 80852cc: ff0a0f1f .word 0xff0a0f1f 80852d0: ff808080 .word 0xff808080 80852d4: 200206bc .word 0x200206bc 80852d8: 20020714 .word 0x20020714 80852dc: ffd8aa57 .word 0xffd8aa57 80852e0: 20020070 .word 0x20020070 80852e4: 200205cc .word 0x200205cc 80852e8: 20020fc8 .word 0x20020fc8 80852ec: 200216a4 .word 0x200216a4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 80852f0: 4ba5 ldr r3, [pc, #660] ; (8085588 ) 80852f2: 7b1b ldrb r3, [r3, #12] 80852f4: b2db uxtb r3, r3 80852f6: 4aa5 ldr r2, [pc, #660] ; (808558c ) 80852f8: 011b lsls r3, r3, #4 80852fa: 4413 add r3, r2 80852fc: 3304 adds r3, #4 80852fe: 681b ldr r3, [r3, #0] 8085300: 461a mov r2, r3 8085302: 213a movs r1, #58 ; 0x3a 8085304: f44f 7082 mov.w r0, #260 ; 0x104 8085308: f7cf ff42 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 808530c: 4b9e ldr r3, [pc, #632] ; (8085588 ) 808530e: 7b1b ldrb r3, [r3, #12] 8085310: b2db uxtb r3, r3 8085312: 4618 mov r0, r3 8085314: 4b9c ldr r3, [pc, #624] ; (8085588 ) 8085316: 785b ldrb r3, [r3, #1] 8085318: b2db uxtb r3, r3 808531a: 005b lsls r3, r3, #1 808531c: 4a9a ldr r2, [pc, #616] ; (8085588 ) 808531e: 7852 ldrb r2, [r2, #1] 8085320: b2d2 uxtb r2, r2 8085322: 4611 mov r1, r2 8085324: 4a98 ldr r2, [pc, #608] ; (8085588 ) 8085326: 440a add r2, r1 8085328: 7892 ldrb r2, [r2, #2] 808532a: b2d2 uxtb r2, r2 808532c: 431a orrs r2, r3 808532e: 4998 ldr r1, [pc, #608] ; (8085590 ) 8085330: 4603 mov r3, r0 8085332: 005b lsls r3, r3, #1 8085334: 4403 add r3, r0 8085336: 005b lsls r3, r3, #1 8085338: 4413 add r3, r2 808533a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808533e: 461a mov r2, r3 8085340: 214a movs r1, #74 ; 0x4a 8085342: f44f 7082 mov.w r0, #260 ; 0x104 8085346: f7cf ff23 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 808534a: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808534e: 461a mov r2, r3 8085350: 215a movs r1, #90 ; 0x5a 8085352: f44f 7082 mov.w r0, #260 ; 0x104 8085356: f7cf ff1b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 808535a: f507 73cc add.w r3, r7, #408 ; 0x198 808535e: 461a mov r2, r3 8085360: 216a movs r1, #106 ; 0x6a 8085362: f44f 7082 mov.w r0, #260 ; 0x104 8085366: f7cf ff13 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 808536a: 4b87 ldr r3, [pc, #540] ; (8085588 ) 808536c: 7b1b ldrb r3, [r3, #12] 808536e: b2db uxtb r3, r3 8085370: 4618 mov r0, r3 8085372: 4b85 ldr r3, [pc, #532] ; (8085588 ) 8085374: 7a9b ldrb r3, [r3, #10] 8085376: b2db uxtb r3, r3 8085378: 4619 mov r1, r3 808537a: 4a86 ldr r2, [pc, #536] ; (8085594 ) 808537c: 0043 lsls r3, r0, #1 808537e: 440b add r3, r1 8085380: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085384: 461a mov r2, r3 8085386: 218a movs r1, #138 ; 0x8a 8085388: f44f 7082 mov.w r0, #260 ; 0x104 808538c: f7cf ff00 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8085390: 4b7d ldr r3, [pc, #500] ; (8085588 ) 8085392: 7b1b ldrb r3, [r3, #12] 8085394: b2db uxtb r3, r3 8085396: 4619 mov r1, r3 8085398: 4b7b ldr r3, [pc, #492] ; (8085588 ) 808539a: 7a5b ldrb r3, [r3, #9] 808539c: b2db uxtb r3, r3 808539e: 4618 mov r0, r3 80853a0: 4a7d ldr r2, [pc, #500] ; (8085598 ) 80853a2: 460b mov r3, r1 80853a4: 009b lsls r3, r3, #2 80853a6: 440b add r3, r1 80853a8: 4403 add r3, r0 80853aa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80853ae: 461a mov r2, r3 80853b0: 219a movs r1, #154 ; 0x9a 80853b2: f44f 7082 mov.w r0, #260 ; 0x104 80853b6: f7cf feeb bl 8055190 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 80853ba: 4b73 ldr r3, [pc, #460] ; (8085588 ) 80853bc: 7b5b ldrb r3, [r3, #13] 80853be: b2db uxtb r3, r3 80853c0: 461a mov r2, r3 80853c2: 4b76 ldr r3, [pc, #472] ; (808559c ) 80853c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80853c8: 461a mov r2, r3 80853ca: 21aa movs r1, #170 ; 0xaa 80853cc: f44f 7082 mov.w r0, #260 ; 0x104 80853d0: f7cf fede bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80853d4: 4b6c ldr r3, [pc, #432] ; (8085588 ) 80853d6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80853da: f003 0304 and.w r3, r3, #4 80853de: 2b00 cmp r3, #0 80853e0: d033 beq.n 808544a LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80853e2: 496f ldr r1, [pc, #444] ; (80855a0 ) 80853e4: 486f ldr r0, [pc, #444] ; (80855a4 ) 80853e6: f7cf f913 bl 8054610 if(pardata.IIN != VOLTS) 80853ea: 4b67 ldr r3, [pc, #412] ; (8085588 ) 80853ec: 799b ldrb r3, [r3, #6] 80853ee: b2db uxtb r3, r3 80853f0: 2b02 cmp r3, #2 80853f2: d010 beq.n 8085416 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80853f4: 4b64 ldr r3, [pc, #400] ; (8085588 ) 80853f6: 7b1b ldrb r3, [r3, #12] 80853f8: b2db uxtb r3, r3 80853fa: 4619 mov r1, r3 80853fc: 4a6a ldr r2, [pc, #424] ; (80855a8 ) 80853fe: 232c movs r3, #44 ; 0x2c 8085400: fb03 f301 mul.w r3, r3, r1 8085404: 4413 add r3, r2 8085406: 3324 adds r3, #36 ; 0x24 8085408: 681b ldr r3, [r3, #0] 808540a: 461a mov r2, r3 808540c: 21ca movs r1, #202 ; 0xca 808540e: 200a movs r0, #10 8085410: f7cf fea6 bl 8055160 8085414: e00f b.n 8085436 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085416: 4b5c ldr r3, [pc, #368] ; (8085588 ) 8085418: 7b1b ldrb r3, [r3, #12] 808541a: b2db uxtb r3, r3 808541c: 4619 mov r1, r3 808541e: 4a63 ldr r2, [pc, #396] ; (80855ac ) 8085420: 232c movs r3, #44 ; 0x2c 8085422: fb03 f301 mul.w r3, r3, r1 8085426: 4413 add r3, r2 8085428: 3324 adds r3, #36 ; 0x24 808542a: 681b ldr r3, [r3, #0] 808542c: 461a mov r2, r3 808542e: 21ca movs r1, #202 ; 0xca 8085430: 200a movs r0, #10 8085432: f7cf fe95 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 8085436: f507 733b add.w r3, r7, #748 ; 0x2ec 808543a: 461a mov r2, r3 808543c: 21ca movs r1, #202 ; 0xca 808543e: f44f 7082 mov.w r0, #260 ; 0x104 8085442: f7cf fea5 bl 8055190 8085446: f001 bfe3 b.w 8087410 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808544a: 4955 ldr r1, [pc, #340] ; (80855a0 ) 808544c: f04f 30ff mov.w r0, #4294967295 8085450: f7cf f8de bl 8054610 if(pardata.IIN != VOLTS) 8085454: 4b4c ldr r3, [pc, #304] ; (8085588 ) 8085456: 799b ldrb r3, [r3, #6] 8085458: b2db uxtb r3, r3 808545a: 2b02 cmp r3, #2 808545c: d010 beq.n 8085480 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808545e: 4b4a ldr r3, [pc, #296] ; (8085588 ) 8085460: 7b1b ldrb r3, [r3, #12] 8085462: b2db uxtb r3, r3 8085464: 4619 mov r1, r3 8085466: 4a50 ldr r2, [pc, #320] ; (80855a8 ) 8085468: 232c movs r3, #44 ; 0x2c 808546a: fb03 f301 mul.w r3, r3, r1 808546e: 4413 add r3, r2 8085470: 3324 adds r3, #36 ; 0x24 8085472: 681b ldr r3, [r3, #0] 8085474: 461a mov r2, r3 8085476: 21ca movs r1, #202 ; 0xca 8085478: 200a movs r0, #10 808547a: f7cf fe71 bl 8055160 808547e: e00f b.n 80854a0 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085480: 4b41 ldr r3, [pc, #260] ; (8085588 ) 8085482: 7b1b ldrb r3, [r3, #12] 8085484: b2db uxtb r3, r3 8085486: 4619 mov r1, r3 8085488: 4a48 ldr r2, [pc, #288] ; (80855ac ) 808548a: 232c movs r3, #44 ; 0x2c 808548c: fb03 f301 mul.w r3, r3, r1 8085490: 4413 add r3, r2 8085492: 3324 adds r3, #36 ; 0x24 8085494: 681b ldr r3, [r3, #0] 8085496: 461a mov r2, r3 8085498: 21ca movs r1, #202 ; 0xca 808549a: 200a movs r0, #10 808549c: f7cf fe60 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80854a0: 493f ldr r1, [pc, #252] ; (80855a0 ) 80854a2: 4843 ldr r0, [pc, #268] ; (80855b0 ) 80854a4: f7cf f8b4 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 80854a8: f507 733b add.w r3, r7, #748 ; 0x2ec 80854ac: 461a mov r2, r3 80854ae: 21ca movs r1, #202 ; 0xca 80854b0: f44f 7082 mov.w r0, #260 ; 0x104 80854b4: f7cf fe6c bl 8055190 80854b8: f001 bfaa b.w 8087410 if(menupos == LinLog) 80854bc: 4b3d ldr r3, [pc, #244] ; (80855b4 ) 80854be: 781b ldrb r3, [r3, #0] 80854c0: b2db uxtb r3, r3 80854c2: 2b05 cmp r3, #5 80854c4: f040 8159 bne.w 808577a LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80854c8: 4935 ldr r1, [pc, #212] ; (80855a0 ) 80854ca: f04f 30ff mov.w r0, #4294967295 80854ce: f7cf f89f bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80854d2: 4b2d ldr r3, [pc, #180] ; (8085588 ) 80854d4: 7b1b ldrb r3, [r3, #12] 80854d6: b2db uxtb r3, r3 80854d8: 461a mov r2, r3 80854da: 4b37 ldr r3, [pc, #220] ; (80855b8 ) 80854dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80854e0: 461a mov r2, r3 80854e2: 2127 movs r1, #39 ; 0x27 80854e4: 200a movs r0, #10 80854e6: f7cf fe3b bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80854ea: 492d ldr r1, [pc, #180] ; (80855a0 ) 80854ec: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80854f0: f7cf f88e bl 8054610 if(focused) 80854f4: 4b31 ldr r3, [pc, #196] ; (80855bc ) 80854f6: 781b ldrb r3, [r3, #0] 80854f8: b2db uxtb r3, r3 80854fa: 2b00 cmp r3, #0 80854fc: d017 beq.n 808552e if(blk) 80854fe: 4b30 ldr r3, [pc, #192] ; (80855c0 ) 8085500: 681b ldr r3, [r3, #0] 8085502: 2b00 cmp r3, #0 8085504: d026 beq.n 8085554 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8085506: 4b20 ldr r3, [pc, #128] ; (8085588 ) 8085508: 7b1b ldrb r3, [r3, #12] 808550a: b2db uxtb r3, r3 808550c: 4618 mov r0, r3 808550e: 4b1e ldr r3, [pc, #120] ; (8085588 ) 8085510: 7a9b ldrb r3, [r3, #10] 8085512: b2db uxtb r3, r3 8085514: 4619 mov r1, r3 8085516: 4a1f ldr r2, [pc, #124] ; (8085594 ) 8085518: 0043 lsls r3, r0, #1 808551a: 440b add r3, r1 808551c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085520: 461a mov r2, r3 8085522: 218a movs r1, #138 ; 0x8a 8085524: f44f 7082 mov.w r0, #260 ; 0x104 8085528: f7cf fe32 bl 8055190 808552c: e012 b.n 8085554 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 808552e: 4b16 ldr r3, [pc, #88] ; (8085588 ) 8085530: 7b1b ldrb r3, [r3, #12] 8085532: b2db uxtb r3, r3 8085534: 4618 mov r0, r3 8085536: 4b14 ldr r3, [pc, #80] ; (8085588 ) 8085538: 7a9b ldrb r3, [r3, #10] 808553a: b2db uxtb r3, r3 808553c: 4619 mov r1, r3 808553e: 4a15 ldr r2, [pc, #84] ; (8085594 ) 8085540: 0043 lsls r3, r0, #1 8085542: 440b add r3, r1 8085544: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085548: 461a mov r2, r3 808554a: 218a movs r1, #138 ; 0x8a 808554c: f44f 7082 mov.w r0, #260 ; 0x104 8085550: f7cf fe1e bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085554: 4912 ldr r1, [pc, #72] ; (80855a0 ) 8085556: 4816 ldr r0, [pc, #88] ; (80855b0 ) 8085558: f7cf f85a bl 8054610 if((pardata.OPTIONS & maskFFT) == fft) 808555c: 4b0a ldr r3, [pc, #40] ; (8085588 ) 808555e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085562: f003 0330 and.w r3, r3, #48 ; 0x30 8085566: 2b00 cmp r3, #0 8085568: d12c bne.n 80855c4 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 808556a: 4b07 ldr r3, [pc, #28] ; (8085588 ) 808556c: 7b1b ldrb r3, [r3, #12] 808556e: b2db uxtb r3, r3 8085570: 4a06 ldr r2, [pc, #24] ; (808558c ) 8085572: 011b lsls r3, r3, #4 8085574: 4413 add r3, r2 8085576: 681b ldr r3, [r3, #0] 8085578: 461a mov r2, r3 808557a: 213a movs r1, #58 ; 0x3a 808557c: f44f 7082 mov.w r0, #260 ; 0x104 8085580: f7cf fe06 bl 8055190 8085584: e02c b.n 80855e0 8085586: bf00 nop 8085588: 20023ea8 .word 0x20023ea8 808558c: 200202a4 .word 0x200202a4 8085590: 200201a4 .word 0x200201a4 8085594: 2002021c .word 0x2002021c 8085598: 200201f4 .word 0x200201f4 808559c: 2002022c .word 0x2002022c 80855a0: ff0a0f1f .word 0xff0a0f1f 80855a4: ff808080 .word 0xff808080 80855a8: 200206bc .word 0x200206bc 80855ac: 20020714 .word 0x20020714 80855b0: ffd8aa57 .word 0xffd8aa57 80855b4: 20020070 .word 0x20020070 80855b8: 200205cc .word 0x200205cc 80855bc: 20020fc8 .word 0x20020fc8 80855c0: 200216a4 .word 0x200216a4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 80855c4: 4ba1 ldr r3, [pc, #644] ; (808584c ) 80855c6: 7b1b ldrb r3, [r3, #12] 80855c8: b2db uxtb r3, r3 80855ca: 4aa1 ldr r2, [pc, #644] ; (8085850 ) 80855cc: 011b lsls r3, r3, #4 80855ce: 4413 add r3, r2 80855d0: 3304 adds r3, #4 80855d2: 681b ldr r3, [r3, #0] 80855d4: 461a mov r2, r3 80855d6: 213a movs r1, #58 ; 0x3a 80855d8: f44f 7082 mov.w r0, #260 ; 0x104 80855dc: f7cf fdd8 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80855e0: 4b9a ldr r3, [pc, #616] ; (808584c ) 80855e2: 7b1b ldrb r3, [r3, #12] 80855e4: b2db uxtb r3, r3 80855e6: 4618 mov r0, r3 80855e8: 4b98 ldr r3, [pc, #608] ; (808584c ) 80855ea: 785b ldrb r3, [r3, #1] 80855ec: b2db uxtb r3, r3 80855ee: 005b lsls r3, r3, #1 80855f0: 4a96 ldr r2, [pc, #600] ; (808584c ) 80855f2: 7852 ldrb r2, [r2, #1] 80855f4: b2d2 uxtb r2, r2 80855f6: 4611 mov r1, r2 80855f8: 4a94 ldr r2, [pc, #592] ; (808584c ) 80855fa: 440a add r2, r1 80855fc: 7892 ldrb r2, [r2, #2] 80855fe: b2d2 uxtb r2, r2 8085600: 431a orrs r2, r3 8085602: 4994 ldr r1, [pc, #592] ; (8085854 ) 8085604: 4603 mov r3, r0 8085606: 005b lsls r3, r3, #1 8085608: 4403 add r3, r0 808560a: 005b lsls r3, r3, #1 808560c: 4413 add r3, r2 808560e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8085612: 461a mov r2, r3 8085614: 214a movs r1, #74 ; 0x4a 8085616: f44f 7082 mov.w r0, #260 ; 0x104 808561a: f7cf fdb9 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 808561e: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8085622: 461a mov r2, r3 8085624: 215a movs r1, #90 ; 0x5a 8085626: f44f 7082 mov.w r0, #260 ; 0x104 808562a: f7cf fdb1 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 808562e: f507 73cc add.w r3, r7, #408 ; 0x198 8085632: 461a mov r2, r3 8085634: 216a movs r1, #106 ; 0x6a 8085636: f44f 7082 mov.w r0, #260 ; 0x104 808563a: f7cf fda9 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str1); 808563e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8085642: 461a mov r2, r3 8085644: 217a movs r1, #122 ; 0x7a 8085646: f44f 7082 mov.w r0, #260 ; 0x104 808564a: f7cf fda1 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 808564e: 4b7f ldr r3, [pc, #508] ; (808584c ) 8085650: 7b1b ldrb r3, [r3, #12] 8085652: b2db uxtb r3, r3 8085654: 4619 mov r1, r3 8085656: 4b7d ldr r3, [pc, #500] ; (808584c ) 8085658: 7a5b ldrb r3, [r3, #9] 808565a: b2db uxtb r3, r3 808565c: 4618 mov r0, r3 808565e: 4a7e ldr r2, [pc, #504] ; (8085858 ) 8085660: 460b mov r3, r1 8085662: 009b lsls r3, r3, #2 8085664: 440b add r3, r1 8085666: 4403 add r3, r0 8085668: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808566c: 461a mov r2, r3 808566e: 219a movs r1, #154 ; 0x9a 8085670: f44f 7082 mov.w r0, #260 ; 0x104 8085674: f7cf fd8c bl 8055190 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8085678: 4b74 ldr r3, [pc, #464] ; (808584c ) 808567a: 7b5b ldrb r3, [r3, #13] 808567c: b2db uxtb r3, r3 808567e: 461a mov r2, r3 8085680: 4b76 ldr r3, [pc, #472] ; (808585c ) 8085682: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085686: 461a mov r2, r3 8085688: 21aa movs r1, #170 ; 0xaa 808568a: f44f 7082 mov.w r0, #260 ; 0x104 808568e: f7cf fd7f bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8085692: 4b6e ldr r3, [pc, #440] ; (808584c ) 8085694: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085698: f003 0304 and.w r3, r3, #4 808569c: 2b00 cmp r3, #0 808569e: d033 beq.n 8085708 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80856a0: 496f ldr r1, [pc, #444] ; (8085860 ) 80856a2: 4870 ldr r0, [pc, #448] ; (8085864 ) 80856a4: f7ce ffb4 bl 8054610 if(pardata.IIN != VOLTS) 80856a8: 4b68 ldr r3, [pc, #416] ; (808584c ) 80856aa: 799b ldrb r3, [r3, #6] 80856ac: b2db uxtb r3, r3 80856ae: 2b02 cmp r3, #2 80856b0: d010 beq.n 80856d4 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80856b2: 4b66 ldr r3, [pc, #408] ; (808584c ) 80856b4: 7b1b ldrb r3, [r3, #12] 80856b6: b2db uxtb r3, r3 80856b8: 4619 mov r1, r3 80856ba: 4a6b ldr r2, [pc, #428] ; (8085868 ) 80856bc: 232c movs r3, #44 ; 0x2c 80856be: fb03 f301 mul.w r3, r3, r1 80856c2: 4413 add r3, r2 80856c4: 3324 adds r3, #36 ; 0x24 80856c6: 681b ldr r3, [r3, #0] 80856c8: 461a mov r2, r3 80856ca: 21ca movs r1, #202 ; 0xca 80856cc: 200a movs r0, #10 80856ce: f7cf fd47 bl 8055160 80856d2: e00f b.n 80856f4 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80856d4: 4b5d ldr r3, [pc, #372] ; (808584c ) 80856d6: 7b1b ldrb r3, [r3, #12] 80856d8: b2db uxtb r3, r3 80856da: 4619 mov r1, r3 80856dc: 4a63 ldr r2, [pc, #396] ; (808586c ) 80856de: 232c movs r3, #44 ; 0x2c 80856e0: fb03 f301 mul.w r3, r3, r1 80856e4: 4413 add r3, r2 80856e6: 3324 adds r3, #36 ; 0x24 80856e8: 681b ldr r3, [r3, #0] 80856ea: 461a mov r2, r3 80856ec: 21ca movs r1, #202 ; 0xca 80856ee: 200a movs r0, #10 80856f0: f7cf fd36 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 80856f4: f507 733b add.w r3, r7, #748 ; 0x2ec 80856f8: 461a mov r2, r3 80856fa: 21ca movs r1, #202 ; 0xca 80856fc: f44f 7082 mov.w r0, #260 ; 0x104 8085700: f7cf fd46 bl 8055190 8085704: f001 be84 b.w 8087410 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085708: 4955 ldr r1, [pc, #340] ; (8085860 ) 808570a: f04f 30ff mov.w r0, #4294967295 808570e: f7ce ff7f bl 8054610 if(pardata.IIN != VOLTS) 8085712: 4b4e ldr r3, [pc, #312] ; (808584c ) 8085714: 799b ldrb r3, [r3, #6] 8085716: b2db uxtb r3, r3 8085718: 2b02 cmp r3, #2 808571a: d010 beq.n 808573e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808571c: 4b4b ldr r3, [pc, #300] ; (808584c ) 808571e: 7b1b ldrb r3, [r3, #12] 8085720: b2db uxtb r3, r3 8085722: 4619 mov r1, r3 8085724: 4a50 ldr r2, [pc, #320] ; (8085868 ) 8085726: 232c movs r3, #44 ; 0x2c 8085728: fb03 f301 mul.w r3, r3, r1 808572c: 4413 add r3, r2 808572e: 3324 adds r3, #36 ; 0x24 8085730: 681b ldr r3, [r3, #0] 8085732: 461a mov r2, r3 8085734: 21ca movs r1, #202 ; 0xca 8085736: 200a movs r0, #10 8085738: f7cf fd12 bl 8055160 808573c: e00f b.n 808575e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808573e: 4b43 ldr r3, [pc, #268] ; (808584c ) 8085740: 7b1b ldrb r3, [r3, #12] 8085742: b2db uxtb r3, r3 8085744: 4619 mov r1, r3 8085746: 4a49 ldr r2, [pc, #292] ; (808586c ) 8085748: 232c movs r3, #44 ; 0x2c 808574a: fb03 f301 mul.w r3, r3, r1 808574e: 4413 add r3, r2 8085750: 3324 adds r3, #36 ; 0x24 8085752: 681b ldr r3, [r3, #0] 8085754: 461a mov r2, r3 8085756: 21ca movs r1, #202 ; 0xca 8085758: 200a movs r0, #10 808575a: f7cf fd01 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808575e: 4940 ldr r1, [pc, #256] ; (8085860 ) 8085760: 4843 ldr r0, [pc, #268] ; (8085870 ) 8085762: f7ce ff55 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 8085766: f507 733b add.w r3, r7, #748 ; 0x2ec 808576a: 461a mov r2, r3 808576c: 21ca movs r1, #202 ; 0xca 808576e: f44f 7082 mov.w r0, #260 ; 0x104 8085772: f7cf fd0d bl 8055190 8085776: f001 be4b b.w 8087410 if(menupos == SpecWin) 808577a: 4b3e ldr r3, [pc, #248] ; (8085874 ) 808577c: 781b ldrb r3, [r3, #0] 808577e: b2db uxtb r3, r3 8085780: 2b06 cmp r3, #6 8085782: f040 8158 bne.w 8085a36 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085786: 4936 ldr r1, [pc, #216] ; (8085860 ) 8085788: f04f 30ff mov.w r0, #4294967295 808578c: f7ce ff40 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8085790: 4b2e ldr r3, [pc, #184] ; (808584c ) 8085792: 7b1b ldrb r3, [r3, #12] 8085794: b2db uxtb r3, r3 8085796: 461a mov r2, r3 8085798: 4b37 ldr r3, [pc, #220] ; (8085878 ) 808579a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808579e: 461a mov r2, r3 80857a0: 2127 movs r1, #39 ; 0x27 80857a2: 200a movs r0, #10 80857a4: f7cf fcdc bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80857a8: 492d ldr r1, [pc, #180] ; (8085860 ) 80857aa: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80857ae: f7ce ff2f bl 8054610 if(focused) 80857b2: 4b32 ldr r3, [pc, #200] ; (808587c ) 80857b4: 781b ldrb r3, [r3, #0] 80857b6: b2db uxtb r3, r3 80857b8: 2b00 cmp r3, #0 80857ba: d019 beq.n 80857f0 if(blk) 80857bc: 4b30 ldr r3, [pc, #192] ; (8085880 ) 80857be: 681b ldr r3, [r3, #0] 80857c0: 2b00 cmp r3, #0 80857c2: d02a beq.n 808581a LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80857c4: 4b21 ldr r3, [pc, #132] ; (808584c ) 80857c6: 7b1b ldrb r3, [r3, #12] 80857c8: b2db uxtb r3, r3 80857ca: 4619 mov r1, r3 80857cc: 4b1f ldr r3, [pc, #124] ; (808584c ) 80857ce: 7a5b ldrb r3, [r3, #9] 80857d0: b2db uxtb r3, r3 80857d2: 4618 mov r0, r3 80857d4: 4a20 ldr r2, [pc, #128] ; (8085858 ) 80857d6: 460b mov r3, r1 80857d8: 009b lsls r3, r3, #2 80857da: 440b add r3, r1 80857dc: 4403 add r3, r0 80857de: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80857e2: 461a mov r2, r3 80857e4: 219a movs r1, #154 ; 0x9a 80857e6: f44f 7082 mov.w r0, #260 ; 0x104 80857ea: f7cf fcd1 bl 8055190 80857ee: e014 b.n 808581a LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80857f0: 4b16 ldr r3, [pc, #88] ; (808584c ) 80857f2: 7b1b ldrb r3, [r3, #12] 80857f4: b2db uxtb r3, r3 80857f6: 4619 mov r1, r3 80857f8: 4b14 ldr r3, [pc, #80] ; (808584c ) 80857fa: 7a5b ldrb r3, [r3, #9] 80857fc: b2db uxtb r3, r3 80857fe: 4618 mov r0, r3 8085800: 4a15 ldr r2, [pc, #84] ; (8085858 ) 8085802: 460b mov r3, r1 8085804: 009b lsls r3, r3, #2 8085806: 440b add r3, r1 8085808: 4403 add r3, r0 808580a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808580e: 461a mov r2, r3 8085810: 219a movs r1, #154 ; 0x9a 8085812: f44f 7082 mov.w r0, #260 ; 0x104 8085816: f7cf fcbb bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808581a: 4911 ldr r1, [pc, #68] ; (8085860 ) 808581c: 4814 ldr r0, [pc, #80] ; (8085870 ) 808581e: f7ce fef7 bl 8054610 if((pardata.OPTIONS & maskFFT) == fft) 8085822: 4b0a ldr r3, [pc, #40] ; (808584c ) 8085824: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085828: f003 0330 and.w r3, r3, #48 ; 0x30 808582c: 2b00 cmp r3, #0 808582e: d129 bne.n 8085884 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8085830: 4b06 ldr r3, [pc, #24] ; (808584c ) 8085832: 7b1b ldrb r3, [r3, #12] 8085834: b2db uxtb r3, r3 8085836: 4a06 ldr r2, [pc, #24] ; (8085850 ) 8085838: 011b lsls r3, r3, #4 808583a: 4413 add r3, r2 808583c: 681b ldr r3, [r3, #0] 808583e: 461a mov r2, r3 8085840: 213a movs r1, #58 ; 0x3a 8085842: f44f 7082 mov.w r0, #260 ; 0x104 8085846: f7cf fca3 bl 8055190 808584a: e029 b.n 80858a0 808584c: 20023ea8 .word 0x20023ea8 8085850: 200202a4 .word 0x200202a4 8085854: 200201a4 .word 0x200201a4 8085858: 200201f4 .word 0x200201f4 808585c: 2002022c .word 0x2002022c 8085860: ff0a0f1f .word 0xff0a0f1f 8085864: ff808080 .word 0xff808080 8085868: 200206bc .word 0x200206bc 808586c: 20020714 .word 0x20020714 8085870: ffd8aa57 .word 0xffd8aa57 8085874: 20020070 .word 0x20020070 8085878: 200205cc .word 0x200205cc 808587c: 20020fc8 .word 0x20020fc8 8085880: 200216a4 .word 0x200216a4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8085884: 4b98 ldr r3, [pc, #608] ; (8085ae8 ) 8085886: 7b1b ldrb r3, [r3, #12] 8085888: b2db uxtb r3, r3 808588a: 4a98 ldr r2, [pc, #608] ; (8085aec ) 808588c: 011b lsls r3, r3, #4 808588e: 4413 add r3, r2 8085890: 3304 adds r3, #4 8085892: 681b ldr r3, [r3, #0] 8085894: 461a mov r2, r3 8085896: 213a movs r1, #58 ; 0x3a 8085898: f44f 7082 mov.w r0, #260 ; 0x104 808589c: f7cf fc78 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80858a0: 4b91 ldr r3, [pc, #580] ; (8085ae8 ) 80858a2: 7b1b ldrb r3, [r3, #12] 80858a4: b2db uxtb r3, r3 80858a6: 4618 mov r0, r3 80858a8: 4b8f ldr r3, [pc, #572] ; (8085ae8 ) 80858aa: 785b ldrb r3, [r3, #1] 80858ac: b2db uxtb r3, r3 80858ae: 005b lsls r3, r3, #1 80858b0: 4a8d ldr r2, [pc, #564] ; (8085ae8 ) 80858b2: 7852 ldrb r2, [r2, #1] 80858b4: b2d2 uxtb r2, r2 80858b6: 4611 mov r1, r2 80858b8: 4a8b ldr r2, [pc, #556] ; (8085ae8 ) 80858ba: 440a add r2, r1 80858bc: 7892 ldrb r2, [r2, #2] 80858be: b2d2 uxtb r2, r2 80858c0: 431a orrs r2, r3 80858c2: 498b ldr r1, [pc, #556] ; (8085af0 ) 80858c4: 4603 mov r3, r0 80858c6: 005b lsls r3, r3, #1 80858c8: 4403 add r3, r0 80858ca: 005b lsls r3, r3, #1 80858cc: 4413 add r3, r2 80858ce: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80858d2: 461a mov r2, r3 80858d4: 214a movs r1, #74 ; 0x4a 80858d6: f44f 7082 mov.w r0, #260 ; 0x104 80858da: f7cf fc59 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80858de: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80858e2: 461a mov r2, r3 80858e4: 215a movs r1, #90 ; 0x5a 80858e6: f44f 7082 mov.w r0, #260 ; 0x104 80858ea: f7cf fc51 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80858ee: f507 73cc add.w r3, r7, #408 ; 0x198 80858f2: 461a mov r2, r3 80858f4: 216a movs r1, #106 ; 0x6a 80858f6: f44f 7082 mov.w r0, #260 ; 0x104 80858fa: f7cf fc49 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str1); 80858fe: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8085902: 461a mov r2, r3 8085904: 217a movs r1, #122 ; 0x7a 8085906: f44f 7082 mov.w r0, #260 ; 0x104 808590a: f7cf fc41 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 808590e: 4b76 ldr r3, [pc, #472] ; (8085ae8 ) 8085910: 7b1b ldrb r3, [r3, #12] 8085912: b2db uxtb r3, r3 8085914: 4618 mov r0, r3 8085916: 4b74 ldr r3, [pc, #464] ; (8085ae8 ) 8085918: 7a9b ldrb r3, [r3, #10] 808591a: b2db uxtb r3, r3 808591c: 4619 mov r1, r3 808591e: 4a75 ldr r2, [pc, #468] ; (8085af4 ) 8085920: 0043 lsls r3, r0, #1 8085922: 440b add r3, r1 8085924: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085928: 461a mov r2, r3 808592a: 218a movs r1, #138 ; 0x8a 808592c: f44f 7082 mov.w r0, #260 ; 0x104 8085930: f7cf fc2e bl 8055190 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8085934: 4b6c ldr r3, [pc, #432] ; (8085ae8 ) 8085936: 7b5b ldrb r3, [r3, #13] 8085938: b2db uxtb r3, r3 808593a: 461a mov r2, r3 808593c: 4b6e ldr r3, [pc, #440] ; (8085af8 ) 808593e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085942: 461a mov r2, r3 8085944: 21aa movs r1, #170 ; 0xaa 8085946: f44f 7082 mov.w r0, #260 ; 0x104 808594a: f7cf fc21 bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808594e: 4b66 ldr r3, [pc, #408] ; (8085ae8 ) 8085950: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085954: f003 0304 and.w r3, r3, #4 8085958: 2b00 cmp r3, #0 808595a: d033 beq.n 80859c4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808595c: 4967 ldr r1, [pc, #412] ; (8085afc ) 808595e: 4868 ldr r0, [pc, #416] ; (8085b00 ) 8085960: f7ce fe56 bl 8054610 if(pardata.IIN != VOLTS) 8085964: 4b60 ldr r3, [pc, #384] ; (8085ae8 ) 8085966: 799b ldrb r3, [r3, #6] 8085968: b2db uxtb r3, r3 808596a: 2b02 cmp r3, #2 808596c: d010 beq.n 8085990 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808596e: 4b5e ldr r3, [pc, #376] ; (8085ae8 ) 8085970: 7b1b ldrb r3, [r3, #12] 8085972: b2db uxtb r3, r3 8085974: 4619 mov r1, r3 8085976: 4a63 ldr r2, [pc, #396] ; (8085b04 ) 8085978: 232c movs r3, #44 ; 0x2c 808597a: fb03 f301 mul.w r3, r3, r1 808597e: 4413 add r3, r2 8085980: 3324 adds r3, #36 ; 0x24 8085982: 681b ldr r3, [r3, #0] 8085984: 461a mov r2, r3 8085986: 21ca movs r1, #202 ; 0xca 8085988: 200a movs r0, #10 808598a: f7cf fbe9 bl 8055160 808598e: e00f b.n 80859b0 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085990: 4b55 ldr r3, [pc, #340] ; (8085ae8 ) 8085992: 7b1b ldrb r3, [r3, #12] 8085994: b2db uxtb r3, r3 8085996: 4619 mov r1, r3 8085998: 4a5b ldr r2, [pc, #364] ; (8085b08 ) 808599a: 232c movs r3, #44 ; 0x2c 808599c: fb03 f301 mul.w r3, r3, r1 80859a0: 4413 add r3, r2 80859a2: 3324 adds r3, #36 ; 0x24 80859a4: 681b ldr r3, [r3, #0] 80859a6: 461a mov r2, r3 80859a8: 21ca movs r1, #202 ; 0xca 80859aa: 200a movs r0, #10 80859ac: f7cf fbd8 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 80859b0: f507 733b add.w r3, r7, #748 ; 0x2ec 80859b4: 461a mov r2, r3 80859b6: 21ca movs r1, #202 ; 0xca 80859b8: f44f 7082 mov.w r0, #260 ; 0x104 80859bc: f7cf fbe8 bl 8055190 80859c0: f001 bd26 b.w 8087410 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80859c4: 494d ldr r1, [pc, #308] ; (8085afc ) 80859c6: f04f 30ff mov.w r0, #4294967295 80859ca: f7ce fe21 bl 8054610 if(pardata.IIN != VOLTS) 80859ce: 4b46 ldr r3, [pc, #280] ; (8085ae8 ) 80859d0: 799b ldrb r3, [r3, #6] 80859d2: b2db uxtb r3, r3 80859d4: 2b02 cmp r3, #2 80859d6: d010 beq.n 80859fa LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80859d8: 4b43 ldr r3, [pc, #268] ; (8085ae8 ) 80859da: 7b1b ldrb r3, [r3, #12] 80859dc: b2db uxtb r3, r3 80859de: 4619 mov r1, r3 80859e0: 4a48 ldr r2, [pc, #288] ; (8085b04 ) 80859e2: 232c movs r3, #44 ; 0x2c 80859e4: fb03 f301 mul.w r3, r3, r1 80859e8: 4413 add r3, r2 80859ea: 3324 adds r3, #36 ; 0x24 80859ec: 681b ldr r3, [r3, #0] 80859ee: 461a mov r2, r3 80859f0: 21ca movs r1, #202 ; 0xca 80859f2: 200a movs r0, #10 80859f4: f7cf fbb4 bl 8055160 80859f8: e00f b.n 8085a1a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80859fa: 4b3b ldr r3, [pc, #236] ; (8085ae8 ) 80859fc: 7b1b ldrb r3, [r3, #12] 80859fe: b2db uxtb r3, r3 8085a00: 4619 mov r1, r3 8085a02: 4a41 ldr r2, [pc, #260] ; (8085b08 ) 8085a04: 232c movs r3, #44 ; 0x2c 8085a06: fb03 f301 mul.w r3, r3, r1 8085a0a: 4413 add r3, r2 8085a0c: 3324 adds r3, #36 ; 0x24 8085a0e: 681b ldr r3, [r3, #0] 8085a10: 461a mov r2, r3 8085a12: 21ca movs r1, #202 ; 0xca 8085a14: 200a movs r0, #10 8085a16: f7cf fba3 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085a1a: 4938 ldr r1, [pc, #224] ; (8085afc ) 8085a1c: 483b ldr r0, [pc, #236] ; (8085b0c ) 8085a1e: f7ce fdf7 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 8085a22: f507 733b add.w r3, r7, #748 ; 0x2ec 8085a26: 461a mov r2, r3 8085a28: 21ca movs r1, #202 ; 0xca 8085a2a: f44f 7082 mov.w r0, #260 ; 0x104 8085a2e: f7cf fbaf bl 8055190 8085a32: f001 bced b.w 8087410 if(menupos == SAverage) 8085a36: 4b36 ldr r3, [pc, #216] ; (8085b10 ) 8085a38: 781b ldrb r3, [r3, #0] 8085a3a: b2db uxtb r3, r3 8085a3c: 2b07 cmp r3, #7 8085a3e: f040 8150 bne.w 8085ce2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085a42: 492e ldr r1, [pc, #184] ; (8085afc ) 8085a44: f04f 30ff mov.w r0, #4294967295 8085a48: f7ce fde2 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8085a4c: 4b26 ldr r3, [pc, #152] ; (8085ae8 ) 8085a4e: 7b1b ldrb r3, [r3, #12] 8085a50: b2db uxtb r3, r3 8085a52: 461a mov r2, r3 8085a54: 4b2f ldr r3, [pc, #188] ; (8085b14 ) 8085a56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085a5a: 461a mov r2, r3 8085a5c: 2127 movs r1, #39 ; 0x27 8085a5e: 200a movs r0, #10 8085a60: f7cf fb7e bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085a64: 4925 ldr r1, [pc, #148] ; (8085afc ) 8085a66: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085a6a: f7ce fdd1 bl 8054610 if(focused) 8085a6e: 4b2a ldr r3, [pc, #168] ; (8085b18 ) 8085a70: 781b ldrb r3, [r3, #0] 8085a72: b2db uxtb r3, r3 8085a74: 2b00 cmp r3, #0 8085a76: d011 beq.n 8085a9c if(blk) 8085a78: 4b28 ldr r3, [pc, #160] ; (8085b1c ) 8085a7a: 681b ldr r3, [r3, #0] 8085a7c: 2b00 cmp r3, #0 8085a7e: d01a beq.n 8085ab6 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8085a80: 4b19 ldr r3, [pc, #100] ; (8085ae8 ) 8085a82: 7b5b ldrb r3, [r3, #13] 8085a84: b2db uxtb r3, r3 8085a86: 461a mov r2, r3 8085a88: 4b1b ldr r3, [pc, #108] ; (8085af8 ) 8085a8a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085a8e: 461a mov r2, r3 8085a90: 21aa movs r1, #170 ; 0xaa 8085a92: f44f 7082 mov.w r0, #260 ; 0x104 8085a96: f7cf fb7b bl 8055190 8085a9a: e00c b.n 8085ab6 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8085a9c: 4b12 ldr r3, [pc, #72] ; (8085ae8 ) 8085a9e: 7b5b ldrb r3, [r3, #13] 8085aa0: b2db uxtb r3, r3 8085aa2: 461a mov r2, r3 8085aa4: 4b14 ldr r3, [pc, #80] ; (8085af8 ) 8085aa6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085aaa: 461a mov r2, r3 8085aac: 21aa movs r1, #170 ; 0xaa 8085aae: f44f 7082 mov.w r0, #260 ; 0x104 8085ab2: f7cf fb6d bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085ab6: 4911 ldr r1, [pc, #68] ; (8085afc ) 8085ab8: 4814 ldr r0, [pc, #80] ; (8085b0c ) 8085aba: f7ce fda9 bl 8054610 if((pardata.OPTIONS & maskFFT) == fft) 8085abe: 4b0a ldr r3, [pc, #40] ; (8085ae8 ) 8085ac0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085ac4: f003 0330 and.w r3, r3, #48 ; 0x30 8085ac8: 2b00 cmp r3, #0 8085aca: d129 bne.n 8085b20 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8085acc: 4b06 ldr r3, [pc, #24] ; (8085ae8 ) 8085ace: 7b1b ldrb r3, [r3, #12] 8085ad0: b2db uxtb r3, r3 8085ad2: 4a06 ldr r2, [pc, #24] ; (8085aec ) 8085ad4: 011b lsls r3, r3, #4 8085ad6: 4413 add r3, r2 8085ad8: 681b ldr r3, [r3, #0] 8085ada: 461a mov r2, r3 8085adc: 213a movs r1, #58 ; 0x3a 8085ade: f44f 7082 mov.w r0, #260 ; 0x104 8085ae2: f7cf fb55 bl 8055190 8085ae6: e029 b.n 8085b3c 8085ae8: 20023ea8 .word 0x20023ea8 8085aec: 200202a4 .word 0x200202a4 8085af0: 200201a4 .word 0x200201a4 8085af4: 2002021c .word 0x2002021c 8085af8: 2002022c .word 0x2002022c 8085afc: ff0a0f1f .word 0xff0a0f1f 8085b00: ff808080 .word 0xff808080 8085b04: 200206bc .word 0x200206bc 8085b08: 20020714 .word 0x20020714 8085b0c: ffd8aa57 .word 0xffd8aa57 8085b10: 20020070 .word 0x20020070 8085b14: 200205cc .word 0x200205cc 8085b18: 20020fc8 .word 0x20020fc8 8085b1c: 200216a4 .word 0x200216a4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8085b20: 4b88 ldr r3, [pc, #544] ; (8085d44 ) 8085b22: 7b1b ldrb r3, [r3, #12] 8085b24: b2db uxtb r3, r3 8085b26: 4a88 ldr r2, [pc, #544] ; (8085d48 ) 8085b28: 011b lsls r3, r3, #4 8085b2a: 4413 add r3, r2 8085b2c: 3304 adds r3, #4 8085b2e: 681b ldr r3, [r3, #0] 8085b30: 461a mov r2, r3 8085b32: 213a movs r1, #58 ; 0x3a 8085b34: f44f 7082 mov.w r0, #260 ; 0x104 8085b38: f7cf fb2a bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8085b3c: 4b81 ldr r3, [pc, #516] ; (8085d44 ) 8085b3e: 7b1b ldrb r3, [r3, #12] 8085b40: b2db uxtb r3, r3 8085b42: 4618 mov r0, r3 8085b44: 4b7f ldr r3, [pc, #508] ; (8085d44 ) 8085b46: 785b ldrb r3, [r3, #1] 8085b48: b2db uxtb r3, r3 8085b4a: 005b lsls r3, r3, #1 8085b4c: 4a7d ldr r2, [pc, #500] ; (8085d44 ) 8085b4e: 7852 ldrb r2, [r2, #1] 8085b50: b2d2 uxtb r2, r2 8085b52: 4611 mov r1, r2 8085b54: 4a7b ldr r2, [pc, #492] ; (8085d44 ) 8085b56: 440a add r2, r1 8085b58: 7892 ldrb r2, [r2, #2] 8085b5a: b2d2 uxtb r2, r2 8085b5c: 431a orrs r2, r3 8085b5e: 497b ldr r1, [pc, #492] ; (8085d4c ) 8085b60: 4603 mov r3, r0 8085b62: 005b lsls r3, r3, #1 8085b64: 4403 add r3, r0 8085b66: 005b lsls r3, r3, #1 8085b68: 4413 add r3, r2 8085b6a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8085b6e: 461a mov r2, r3 8085b70: 214a movs r1, #74 ; 0x4a 8085b72: f44f 7082 mov.w r0, #260 ; 0x104 8085b76: f7cf fb0b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8085b7a: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8085b7e: 461a mov r2, r3 8085b80: 215a movs r1, #90 ; 0x5a 8085b82: f44f 7082 mov.w r0, #260 ; 0x104 8085b86: f7cf fb03 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8085b8a: f507 73cc add.w r3, r7, #408 ; 0x198 8085b8e: 461a mov r2, r3 8085b90: 216a movs r1, #106 ; 0x6a 8085b92: f44f 7082 mov.w r0, #260 ; 0x104 8085b96: f7cf fafb bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8085b9a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8085b9e: 461a mov r2, r3 8085ba0: 217a movs r1, #122 ; 0x7a 8085ba2: f44f 7082 mov.w r0, #260 ; 0x104 8085ba6: f7cf faf3 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8085baa: 4b66 ldr r3, [pc, #408] ; (8085d44 ) 8085bac: 7b1b ldrb r3, [r3, #12] 8085bae: b2db uxtb r3, r3 8085bb0: 4618 mov r0, r3 8085bb2: 4b64 ldr r3, [pc, #400] ; (8085d44 ) 8085bb4: 7a9b ldrb r3, [r3, #10] 8085bb6: b2db uxtb r3, r3 8085bb8: 4619 mov r1, r3 8085bba: 4a65 ldr r2, [pc, #404] ; (8085d50 ) 8085bbc: 0043 lsls r3, r0, #1 8085bbe: 440b add r3, r1 8085bc0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085bc4: 461a mov r2, r3 8085bc6: 218a movs r1, #138 ; 0x8a 8085bc8: f44f 7082 mov.w r0, #260 ; 0x104 8085bcc: f7cf fae0 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8085bd0: 4b5c ldr r3, [pc, #368] ; (8085d44 ) 8085bd2: 7b1b ldrb r3, [r3, #12] 8085bd4: b2db uxtb r3, r3 8085bd6: 4619 mov r1, r3 8085bd8: 4b5a ldr r3, [pc, #360] ; (8085d44 ) 8085bda: 7a5b ldrb r3, [r3, #9] 8085bdc: b2db uxtb r3, r3 8085bde: 4618 mov r0, r3 8085be0: 4a5c ldr r2, [pc, #368] ; (8085d54 ) 8085be2: 460b mov r3, r1 8085be4: 009b lsls r3, r3, #2 8085be6: 440b add r3, r1 8085be8: 4403 add r3, r0 8085bea: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085bee: 461a mov r2, r3 8085bf0: 219a movs r1, #154 ; 0x9a 8085bf2: f44f 7082 mov.w r0, #260 ; 0x104 8085bf6: f7cf facb bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8085bfa: 4b52 ldr r3, [pc, #328] ; (8085d44 ) 8085bfc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085c00: f003 0304 and.w r3, r3, #4 8085c04: 2b00 cmp r3, #0 8085c06: d033 beq.n 8085c70 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8085c08: 4953 ldr r1, [pc, #332] ; (8085d58 ) 8085c0a: 4854 ldr r0, [pc, #336] ; (8085d5c ) 8085c0c: f7ce fd00 bl 8054610 if(pardata.IIN != VOLTS) 8085c10: 4b4c ldr r3, [pc, #304] ; (8085d44 ) 8085c12: 799b ldrb r3, [r3, #6] 8085c14: b2db uxtb r3, r3 8085c16: 2b02 cmp r3, #2 8085c18: d010 beq.n 8085c3c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085c1a: 4b4a ldr r3, [pc, #296] ; (8085d44 ) 8085c1c: 7b1b ldrb r3, [r3, #12] 8085c1e: b2db uxtb r3, r3 8085c20: 4619 mov r1, r3 8085c22: 4a4f ldr r2, [pc, #316] ; (8085d60 ) 8085c24: 232c movs r3, #44 ; 0x2c 8085c26: fb03 f301 mul.w r3, r3, r1 8085c2a: 4413 add r3, r2 8085c2c: 3324 adds r3, #36 ; 0x24 8085c2e: 681b ldr r3, [r3, #0] 8085c30: 461a mov r2, r3 8085c32: 21ca movs r1, #202 ; 0xca 8085c34: 200a movs r0, #10 8085c36: f7cf fa93 bl 8055160 8085c3a: e00f b.n 8085c5c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085c3c: 4b41 ldr r3, [pc, #260] ; (8085d44 ) 8085c3e: 7b1b ldrb r3, [r3, #12] 8085c40: b2db uxtb r3, r3 8085c42: 4619 mov r1, r3 8085c44: 4a47 ldr r2, [pc, #284] ; (8085d64 ) 8085c46: 232c movs r3, #44 ; 0x2c 8085c48: fb03 f301 mul.w r3, r3, r1 8085c4c: 4413 add r3, r2 8085c4e: 3324 adds r3, #36 ; 0x24 8085c50: 681b ldr r3, [r3, #0] 8085c52: 461a mov r2, r3 8085c54: 21ca movs r1, #202 ; 0xca 8085c56: 200a movs r0, #10 8085c58: f7cf fa82 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 8085c5c: f507 733b add.w r3, r7, #748 ; 0x2ec 8085c60: 461a mov r2, r3 8085c62: 21ca movs r1, #202 ; 0xca 8085c64: f44f 7082 mov.w r0, #260 ; 0x104 8085c68: f7cf fa92 bl 8055190 8085c6c: f001 bbd0 b.w 8087410 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085c70: 4939 ldr r1, [pc, #228] ; (8085d58 ) 8085c72: f04f 30ff mov.w r0, #4294967295 8085c76: f7ce fccb bl 8054610 if(pardata.IIN != VOLTS) 8085c7a: 4b32 ldr r3, [pc, #200] ; (8085d44 ) 8085c7c: 799b ldrb r3, [r3, #6] 8085c7e: b2db uxtb r3, r3 8085c80: 2b02 cmp r3, #2 8085c82: d010 beq.n 8085ca6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085c84: 4b2f ldr r3, [pc, #188] ; (8085d44 ) 8085c86: 7b1b ldrb r3, [r3, #12] 8085c88: b2db uxtb r3, r3 8085c8a: 4619 mov r1, r3 8085c8c: 4a34 ldr r2, [pc, #208] ; (8085d60 ) 8085c8e: 232c movs r3, #44 ; 0x2c 8085c90: fb03 f301 mul.w r3, r3, r1 8085c94: 4413 add r3, r2 8085c96: 3324 adds r3, #36 ; 0x24 8085c98: 681b ldr r3, [r3, #0] 8085c9a: 461a mov r2, r3 8085c9c: 21ca movs r1, #202 ; 0xca 8085c9e: 200a movs r0, #10 8085ca0: f7cf fa5e bl 8055160 8085ca4: e00f b.n 8085cc6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085ca6: 4b27 ldr r3, [pc, #156] ; (8085d44 ) 8085ca8: 7b1b ldrb r3, [r3, #12] 8085caa: b2db uxtb r3, r3 8085cac: 4619 mov r1, r3 8085cae: 4a2d ldr r2, [pc, #180] ; (8085d64 ) 8085cb0: 232c movs r3, #44 ; 0x2c 8085cb2: fb03 f301 mul.w r3, r3, r1 8085cb6: 4413 add r3, r2 8085cb8: 3324 adds r3, #36 ; 0x24 8085cba: 681b ldr r3, [r3, #0] 8085cbc: 461a mov r2, r3 8085cbe: 21ca movs r1, #202 ; 0xca 8085cc0: 200a movs r0, #10 8085cc2: f7cf fa4d bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085cc6: 4924 ldr r1, [pc, #144] ; (8085d58 ) 8085cc8: 4827 ldr r0, [pc, #156] ; (8085d68 ) 8085cca: f7ce fca1 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 8085cce: f507 733b add.w r3, r7, #748 ; 0x2ec 8085cd2: 461a mov r2, r3 8085cd4: 21ca movs r1, #202 ; 0xca 8085cd6: f44f 7082 mov.w r0, #260 ; 0x104 8085cda: f7cf fa59 bl 8055190 8085cde: f001 bb97 b.w 8087410 if(menupos == VibAutoKu) 8085ce2: 4b22 ldr r3, [pc, #136] ; (8085d6c ) 8085ce4: 781b ldrb r3, [r3, #0] 8085ce6: b2db uxtb r3, r3 8085ce8: 2b08 cmp r3, #8 8085cea: f040 8147 bne.w 8085f7c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085cee: 491a ldr r1, [pc, #104] ; (8085d58 ) 8085cf0: f04f 30ff mov.w r0, #4294967295 8085cf4: f7ce fc8c bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8085cf8: 4b12 ldr r3, [pc, #72] ; (8085d44 ) 8085cfa: 7b1b ldrb r3, [r3, #12] 8085cfc: b2db uxtb r3, r3 8085cfe: 461a mov r2, r3 8085d00: 4b1b ldr r3, [pc, #108] ; (8085d70 ) 8085d02: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085d06: 461a mov r2, r3 8085d08: 2127 movs r1, #39 ; 0x27 8085d0a: 200a movs r0, #10 8085d0c: f7cf fa28 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085d10: 4911 ldr r1, [pc, #68] ; (8085d58 ) 8085d12: 4815 ldr r0, [pc, #84] ; (8085d68 ) 8085d14: f7ce fc7c bl 8054610 if((pardata.OPTIONS & maskFFT) == fft) 8085d18: 4b0a ldr r3, [pc, #40] ; (8085d44 ) 8085d1a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085d1e: f003 0330 and.w r3, r3, #48 ; 0x30 8085d22: 2b00 cmp r3, #0 8085d24: d126 bne.n 8085d74 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8085d26: 4b07 ldr r3, [pc, #28] ; (8085d44 ) 8085d28: 7b1b ldrb r3, [r3, #12] 8085d2a: b2db uxtb r3, r3 8085d2c: 4a06 ldr r2, [pc, #24] ; (8085d48 ) 8085d2e: 011b lsls r3, r3, #4 8085d30: 4413 add r3, r2 8085d32: 681b ldr r3, [r3, #0] 8085d34: 461a mov r2, r3 8085d36: 213a movs r1, #58 ; 0x3a 8085d38: f44f 7082 mov.w r0, #260 ; 0x104 8085d3c: f7cf fa28 bl 8055190 8085d40: e026 b.n 8085d90 8085d42: bf00 nop 8085d44: 20023ea8 .word 0x20023ea8 8085d48: 200202a4 .word 0x200202a4 8085d4c: 200201a4 .word 0x200201a4 8085d50: 2002021c .word 0x2002021c 8085d54: 200201f4 .word 0x200201f4 8085d58: ff0a0f1f .word 0xff0a0f1f 8085d5c: ff808080 .word 0xff808080 8085d60: 200206bc .word 0x200206bc 8085d64: 20020714 .word 0x20020714 8085d68: ffd8aa57 .word 0xffd8aa57 8085d6c: 20020070 .word 0x20020070 8085d70: 200205cc .word 0x200205cc else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8085d74: 4b99 ldr r3, [pc, #612] ; (8085fdc ) 8085d76: 7b1b ldrb r3, [r3, #12] 8085d78: b2db uxtb r3, r3 8085d7a: 4a99 ldr r2, [pc, #612] ; (8085fe0 ) 8085d7c: 011b lsls r3, r3, #4 8085d7e: 4413 add r3, r2 8085d80: 3304 adds r3, #4 8085d82: 681b ldr r3, [r3, #0] 8085d84: 461a mov r2, r3 8085d86: 213a movs r1, #58 ; 0x3a 8085d88: f44f 7082 mov.w r0, #260 ; 0x104 8085d8c: f7cf fa00 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8085d90: 4b92 ldr r3, [pc, #584] ; (8085fdc ) 8085d92: 7b1b ldrb r3, [r3, #12] 8085d94: b2db uxtb r3, r3 8085d96: 4618 mov r0, r3 8085d98: 4b90 ldr r3, [pc, #576] ; (8085fdc ) 8085d9a: 785b ldrb r3, [r3, #1] 8085d9c: b2db uxtb r3, r3 8085d9e: 005b lsls r3, r3, #1 8085da0: 4a8e ldr r2, [pc, #568] ; (8085fdc ) 8085da2: 7852 ldrb r2, [r2, #1] 8085da4: b2d2 uxtb r2, r2 8085da6: 4611 mov r1, r2 8085da8: 4a8c ldr r2, [pc, #560] ; (8085fdc ) 8085daa: 440a add r2, r1 8085dac: 7892 ldrb r2, [r2, #2] 8085dae: b2d2 uxtb r2, r2 8085db0: 431a orrs r2, r3 8085db2: 498c ldr r1, [pc, #560] ; (8085fe4 ) 8085db4: 4603 mov r3, r0 8085db6: 005b lsls r3, r3, #1 8085db8: 4403 add r3, r0 8085dba: 005b lsls r3, r3, #1 8085dbc: 4413 add r3, r2 8085dbe: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8085dc2: 461a mov r2, r3 8085dc4: 214a movs r1, #74 ; 0x4a 8085dc6: f44f 7082 mov.w r0, #260 ; 0x104 8085dca: f7cf f9e1 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8085dce: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8085dd2: 461a mov r2, r3 8085dd4: 215a movs r1, #90 ; 0x5a 8085dd6: f44f 7082 mov.w r0, #260 ; 0x104 8085dda: f7cf f9d9 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8085dde: f507 73cc add.w r3, r7, #408 ; 0x198 8085de2: 461a mov r2, r3 8085de4: 216a movs r1, #106 ; 0x6a 8085de6: f44f 7082 mov.w r0, #260 ; 0x104 8085dea: f7cf f9d1 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8085dee: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8085df2: 461a mov r2, r3 8085df4: 217a movs r1, #122 ; 0x7a 8085df6: f44f 7082 mov.w r0, #260 ; 0x104 8085dfa: f7cf f9c9 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8085dfe: 4b77 ldr r3, [pc, #476] ; (8085fdc ) 8085e00: 7b1b ldrb r3, [r3, #12] 8085e02: b2db uxtb r3, r3 8085e04: 4618 mov r0, r3 8085e06: 4b75 ldr r3, [pc, #468] ; (8085fdc ) 8085e08: 7a9b ldrb r3, [r3, #10] 8085e0a: b2db uxtb r3, r3 8085e0c: 4619 mov r1, r3 8085e0e: 4a76 ldr r2, [pc, #472] ; (8085fe8 ) 8085e10: 0043 lsls r3, r0, #1 8085e12: 440b add r3, r1 8085e14: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085e18: 461a mov r2, r3 8085e1a: 218a movs r1, #138 ; 0x8a 8085e1c: f44f 7082 mov.w r0, #260 ; 0x104 8085e20: f7cf f9b6 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8085e24: 4b6d ldr r3, [pc, #436] ; (8085fdc ) 8085e26: 7b1b ldrb r3, [r3, #12] 8085e28: b2db uxtb r3, r3 8085e2a: 4619 mov r1, r3 8085e2c: 4b6b ldr r3, [pc, #428] ; (8085fdc ) 8085e2e: 7a5b ldrb r3, [r3, #9] 8085e30: b2db uxtb r3, r3 8085e32: 4618 mov r0, r3 8085e34: 4a6d ldr r2, [pc, #436] ; (8085fec ) 8085e36: 460b mov r3, r1 8085e38: 009b lsls r3, r3, #2 8085e3a: 440b add r3, r1 8085e3c: 4403 add r3, r0 8085e3e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085e42: 461a mov r2, r3 8085e44: 219a movs r1, #154 ; 0x9a 8085e46: f44f 7082 mov.w r0, #260 ; 0x104 8085e4a: f7cf f9a1 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8085e4e: 4b63 ldr r3, [pc, #396] ; (8085fdc ) 8085e50: 7b5b ldrb r3, [r3, #13] 8085e52: b2db uxtb r3, r3 8085e54: 461a mov r2, r3 8085e56: 4b66 ldr r3, [pc, #408] ; (8085ff0 ) 8085e58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085e5c: 461a mov r2, r3 8085e5e: 21aa movs r1, #170 ; 0xaa 8085e60: f44f 7082 mov.w r0, #260 ; 0x104 8085e64: f7cf f994 bl 8055190 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085e68: 4962 ldr r1, [pc, #392] ; (8085ff4 ) 8085e6a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085e6e: f7ce fbcf bl 8054610 BSP_LCD_FillRect(253, 187, 14, 14); 8085e72: 230e movs r3, #14 8085e74: 220e movs r2, #14 8085e76: 21bb movs r1, #187 ; 0xbb 8085e78: 20fd movs r0, #253 ; 0xfd 8085e7a: f7cf f857 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085e7e: 495d ldr r1, [pc, #372] ; (8085ff4 ) 8085e80: f04f 30ff mov.w r0, #4294967295 8085e84: f7ce fbc4 bl 8054610 BSP_LCD_FillRect(255, 189, 10, 10); 8085e88: 230a movs r3, #10 8085e8a: 220a movs r2, #10 8085e8c: 21bd movs r1, #189 ; 0xbd 8085e8e: 20ff movs r0, #255 ; 0xff 8085e90: f7cf f84c bl 8054f2c if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8085e94: 4b51 ldr r3, [pc, #324] ; (8085fdc ) 8085e96: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085e9a: f003 0304 and.w r3, r3, #4 8085e9e: 2b00 cmp r3, #0 8085ea0: d033 beq.n 8085f0a LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8085ea2: 4954 ldr r1, [pc, #336] ; (8085ff4 ) 8085ea4: 4854 ldr r0, [pc, #336] ; (8085ff8 ) 8085ea6: f7ce fbb3 bl 8054610 if(pardata.IIN != VOLTS) 8085eaa: 4b4c ldr r3, [pc, #304] ; (8085fdc ) 8085eac: 799b ldrb r3, [r3, #6] 8085eae: b2db uxtb r3, r3 8085eb0: 2b02 cmp r3, #2 8085eb2: d010 beq.n 8085ed6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085eb4: 4b49 ldr r3, [pc, #292] ; (8085fdc ) 8085eb6: 7b1b ldrb r3, [r3, #12] 8085eb8: b2db uxtb r3, r3 8085eba: 4619 mov r1, r3 8085ebc: 4a4f ldr r2, [pc, #316] ; (8085ffc ) 8085ebe: 232c movs r3, #44 ; 0x2c 8085ec0: fb03 f301 mul.w r3, r3, r1 8085ec4: 4413 add r3, r2 8085ec6: 3324 adds r3, #36 ; 0x24 8085ec8: 681b ldr r3, [r3, #0] 8085eca: 461a mov r2, r3 8085ecc: 21ca movs r1, #202 ; 0xca 8085ece: 200a movs r0, #10 8085ed0: f7cf f946 bl 8055160 8085ed4: e00f b.n 8085ef6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085ed6: 4b41 ldr r3, [pc, #260] ; (8085fdc ) 8085ed8: 7b1b ldrb r3, [r3, #12] 8085eda: b2db uxtb r3, r3 8085edc: 4619 mov r1, r3 8085ede: 4a48 ldr r2, [pc, #288] ; (8086000 ) 8085ee0: 232c movs r3, #44 ; 0x2c 8085ee2: fb03 f301 mul.w r3, r3, r1 8085ee6: 4413 add r3, r2 8085ee8: 3324 adds r3, #36 ; 0x24 8085eea: 681b ldr r3, [r3, #0] 8085eec: 461a mov r2, r3 8085eee: 21ca movs r1, #202 ; 0xca 8085ef0: 200a movs r0, #10 8085ef2: f7cf f935 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 8085ef6: f507 733b add.w r3, r7, #748 ; 0x2ec 8085efa: 461a mov r2, r3 8085efc: 21ca movs r1, #202 ; 0xca 8085efe: f44f 7082 mov.w r0, #260 ; 0x104 8085f02: f7cf f945 bl 8055190 8085f06: f001 ba83 b.w 8087410 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085f0a: 493a ldr r1, [pc, #232] ; (8085ff4 ) 8085f0c: f04f 30ff mov.w r0, #4294967295 8085f10: f7ce fb7e bl 8054610 if(pardata.IIN != VOLTS) 8085f14: 4b31 ldr r3, [pc, #196] ; (8085fdc ) 8085f16: 799b ldrb r3, [r3, #6] 8085f18: b2db uxtb r3, r3 8085f1a: 2b02 cmp r3, #2 8085f1c: d010 beq.n 8085f40 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085f1e: 4b2f ldr r3, [pc, #188] ; (8085fdc ) 8085f20: 7b1b ldrb r3, [r3, #12] 8085f22: b2db uxtb r3, r3 8085f24: 4619 mov r1, r3 8085f26: 4a35 ldr r2, [pc, #212] ; (8085ffc ) 8085f28: 232c movs r3, #44 ; 0x2c 8085f2a: fb03 f301 mul.w r3, r3, r1 8085f2e: 4413 add r3, r2 8085f30: 3324 adds r3, #36 ; 0x24 8085f32: 681b ldr r3, [r3, #0] 8085f34: 461a mov r2, r3 8085f36: 21ca movs r1, #202 ; 0xca 8085f38: 200a movs r0, #10 8085f3a: f7cf f911 bl 8055160 8085f3e: e00f b.n 8085f60 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085f40: 4b26 ldr r3, [pc, #152] ; (8085fdc ) 8085f42: 7b1b ldrb r3, [r3, #12] 8085f44: b2db uxtb r3, r3 8085f46: 4619 mov r1, r3 8085f48: 4a2d ldr r2, [pc, #180] ; (8086000 ) 8085f4a: 232c movs r3, #44 ; 0x2c 8085f4c: fb03 f301 mul.w r3, r3, r1 8085f50: 4413 add r3, r2 8085f52: 3324 adds r3, #36 ; 0x24 8085f54: 681b ldr r3, [r3, #0] 8085f56: 461a mov r2, r3 8085f58: 21ca movs r1, #202 ; 0xca 8085f5a: 200a movs r0, #10 8085f5c: f7cf f900 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085f60: 4924 ldr r1, [pc, #144] ; (8085ff4 ) 8085f62: 4828 ldr r0, [pc, #160] ; (8086004 ) 8085f64: f7ce fb54 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 8085f68: f507 733b add.w r3, r7, #748 ; 0x2ec 8085f6c: 461a mov r2, r3 8085f6e: 21ca movs r1, #202 ; 0xca 8085f70: f44f 7082 mov.w r0, #260 ; 0x104 8085f74: f7cf f90c bl 8055190 8085f78: f001 ba4a b.w 8087410 if(menupos == VibMax_ALL) 8085f7c: 4b22 ldr r3, [pc, #136] ; (8086008 ) 8085f7e: 781b ldrb r3, [r3, #0] 8085f80: b2db uxtb r3, r3 8085f82: 2b09 cmp r3, #9 8085f84: f040 80f9 bne.w 808617a LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085f88: 491a ldr r1, [pc, #104] ; (8085ff4 ) 8085f8a: f04f 30ff mov.w r0, #4294967295 8085f8e: f7ce fb3f bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8085f92: 4b12 ldr r3, [pc, #72] ; (8085fdc ) 8085f94: 7b1b ldrb r3, [r3, #12] 8085f96: b2db uxtb r3, r3 8085f98: 461a mov r2, r3 8085f9a: 4b1c ldr r3, [pc, #112] ; (808600c ) 8085f9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085fa0: 461a mov r2, r3 8085fa2: 2127 movs r1, #39 ; 0x27 8085fa4: 200a movs r0, #10 8085fa6: f7cf f8db bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085faa: 4912 ldr r1, [pc, #72] ; (8085ff4 ) 8085fac: 4815 ldr r0, [pc, #84] ; (8086004 ) 8085fae: f7ce fb2f bl 8054610 if((pardata.OPTIONS & maskFFT) == fft) 8085fb2: 4b0a ldr r3, [pc, #40] ; (8085fdc ) 8085fb4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085fb8: f003 0330 and.w r3, r3, #48 ; 0x30 8085fbc: 2b00 cmp r3, #0 8085fbe: d127 bne.n 8086010 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8085fc0: 4b06 ldr r3, [pc, #24] ; (8085fdc ) 8085fc2: 7b1b ldrb r3, [r3, #12] 8085fc4: b2db uxtb r3, r3 8085fc6: 4a06 ldr r2, [pc, #24] ; (8085fe0 ) 8085fc8: 011b lsls r3, r3, #4 8085fca: 4413 add r3, r2 8085fcc: 681b ldr r3, [r3, #0] 8085fce: 461a mov r2, r3 8085fd0: 213a movs r1, #58 ; 0x3a 8085fd2: f44f 7082 mov.w r0, #260 ; 0x104 8085fd6: f7cf f8db bl 8055190 8085fda: e027 b.n 808602c 8085fdc: 20023ea8 .word 0x20023ea8 8085fe0: 200202a4 .word 0x200202a4 8085fe4: 200201a4 .word 0x200201a4 8085fe8: 2002021c .word 0x2002021c 8085fec: 200201f4 .word 0x200201f4 8085ff0: 2002022c .word 0x2002022c 8085ff4: ff0a0f1f .word 0xff0a0f1f 8085ff8: ff808080 .word 0xff808080 8085ffc: 200206bc .word 0x200206bc 8086000: 20020714 .word 0x20020714 8086004: ffd8aa57 .word 0xffd8aa57 8086008: 20020070 .word 0x20020070 808600c: 200205cc .word 0x200205cc else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8086010: 4bc3 ldr r3, [pc, #780] ; (8086320 ) 8086012: 7b1b ldrb r3, [r3, #12] 8086014: b2db uxtb r3, r3 8086016: 4ac3 ldr r2, [pc, #780] ; (8086324 ) 8086018: 011b lsls r3, r3, #4 808601a: 4413 add r3, r2 808601c: 3304 adds r3, #4 808601e: 681b ldr r3, [r3, #0] 8086020: 461a mov r2, r3 8086022: 213a movs r1, #58 ; 0x3a 8086024: f44f 7082 mov.w r0, #260 ; 0x104 8086028: f7cf f8b2 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 808602c: 4bbc ldr r3, [pc, #752] ; (8086320 ) 808602e: 7b1b ldrb r3, [r3, #12] 8086030: b2db uxtb r3, r3 8086032: 4618 mov r0, r3 8086034: 4bba ldr r3, [pc, #744] ; (8086320 ) 8086036: 785b ldrb r3, [r3, #1] 8086038: b2db uxtb r3, r3 808603a: 005b lsls r3, r3, #1 808603c: 4ab8 ldr r2, [pc, #736] ; (8086320 ) 808603e: 7852 ldrb r2, [r2, #1] 8086040: b2d2 uxtb r2, r2 8086042: 4611 mov r1, r2 8086044: 4ab6 ldr r2, [pc, #728] ; (8086320 ) 8086046: 440a add r2, r1 8086048: 7892 ldrb r2, [r2, #2] 808604a: b2d2 uxtb r2, r2 808604c: 431a orrs r2, r3 808604e: 49b6 ldr r1, [pc, #728] ; (8086328 ) 8086050: 4603 mov r3, r0 8086052: 005b lsls r3, r3, #1 8086054: 4403 add r3, r0 8086056: 005b lsls r3, r3, #1 8086058: 4413 add r3, r2 808605a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808605e: 461a mov r2, r3 8086060: 214a movs r1, #74 ; 0x4a 8086062: f44f 7082 mov.w r0, #260 ; 0x104 8086066: f7cf f893 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 808606a: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808606e: 461a mov r2, r3 8086070: 215a movs r1, #90 ; 0x5a 8086072: f44f 7082 mov.w r0, #260 ; 0x104 8086076: f7cf f88b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 808607a: f507 73cc add.w r3, r7, #408 ; 0x198 808607e: 461a mov r2, r3 8086080: 216a movs r1, #106 ; 0x6a 8086082: f44f 7082 mov.w r0, #260 ; 0x104 8086086: f7cf f883 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str1); 808608a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808608e: 461a mov r2, r3 8086090: 217a movs r1, #122 ; 0x7a 8086092: f44f 7082 mov.w r0, #260 ; 0x104 8086096: f7cf f87b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 808609a: 4ba1 ldr r3, [pc, #644] ; (8086320 ) 808609c: 7b1b ldrb r3, [r3, #12] 808609e: b2db uxtb r3, r3 80860a0: 4618 mov r0, r3 80860a2: 4b9f ldr r3, [pc, #636] ; (8086320 ) 80860a4: 7a9b ldrb r3, [r3, #10] 80860a6: b2db uxtb r3, r3 80860a8: 4619 mov r1, r3 80860aa: 4aa0 ldr r2, [pc, #640] ; (808632c ) 80860ac: 0043 lsls r3, r0, #1 80860ae: 440b add r3, r1 80860b0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80860b4: 461a mov r2, r3 80860b6: 218a movs r1, #138 ; 0x8a 80860b8: f44f 7082 mov.w r0, #260 ; 0x104 80860bc: f7cf f868 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80860c0: 4b97 ldr r3, [pc, #604] ; (8086320 ) 80860c2: 7b1b ldrb r3, [r3, #12] 80860c4: b2db uxtb r3, r3 80860c6: 4619 mov r1, r3 80860c8: 4b95 ldr r3, [pc, #596] ; (8086320 ) 80860ca: 7a5b ldrb r3, [r3, #9] 80860cc: b2db uxtb r3, r3 80860ce: 4618 mov r0, r3 80860d0: 4a97 ldr r2, [pc, #604] ; (8086330 ) 80860d2: 460b mov r3, r1 80860d4: 009b lsls r3, r3, #2 80860d6: 440b add r3, r1 80860d8: 4403 add r3, r0 80860da: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80860de: 461a mov r2, r3 80860e0: 219a movs r1, #154 ; 0x9a 80860e2: f44f 7082 mov.w r0, #260 ; 0x104 80860e6: f7cf f853 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 80860ea: 4b8d ldr r3, [pc, #564] ; (8086320 ) 80860ec: 7b5b ldrb r3, [r3, #13] 80860ee: b2db uxtb r3, r3 80860f0: 461a mov r2, r3 80860f2: 4b90 ldr r3, [pc, #576] ; (8086334 ) 80860f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80860f8: 461a mov r2, r3 80860fa: 21aa movs r1, #170 ; 0xaa 80860fc: f44f 7082 mov.w r0, #260 ; 0x104 8086100: f7cf f846 bl 8055190 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086104: 498c ldr r1, [pc, #560] ; (8086338 ) 8086106: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808610a: f7ce fa81 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 808610e: f507 733b add.w r3, r7, #748 ; 0x2ec 8086112: 461a mov r2, r3 8086114: 21ca movs r1, #202 ; 0xca 8086116: f44f 7082 mov.w r0, #260 ; 0x104 808611a: f7cf f839 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808611e: 4986 ldr r1, [pc, #536] ; (8086338 ) 8086120: f04f 30ff mov.w r0, #4294967295 8086124: f7ce fa74 bl 8054610 if(pardata.IIN != VOLTS) 8086128: 4b7d ldr r3, [pc, #500] ; (8086320 ) 808612a: 799b ldrb r3, [r3, #6] 808612c: b2db uxtb r3, r3 808612e: 2b02 cmp r3, #2 8086130: d011 beq.n 8086156 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086132: 4b7b ldr r3, [pc, #492] ; (8086320 ) 8086134: 7b1b ldrb r3, [r3, #12] 8086136: b2db uxtb r3, r3 8086138: 4619 mov r1, r3 808613a: 4a80 ldr r2, [pc, #512] ; (808633c ) 808613c: 232c movs r3, #44 ; 0x2c 808613e: fb03 f301 mul.w r3, r3, r1 8086142: 4413 add r3, r2 8086144: 3324 adds r3, #36 ; 0x24 8086146: 681b ldr r3, [r3, #0] 8086148: 461a mov r2, r3 808614a: 21ca movs r1, #202 ; 0xca 808614c: 200a movs r0, #10 808614e: f7cf f807 bl 8055160 8086152: f001 b95d b.w 8087410 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086156: 4b72 ldr r3, [pc, #456] ; (8086320 ) 8086158: 7b1b ldrb r3, [r3, #12] 808615a: b2db uxtb r3, r3 808615c: 4619 mov r1, r3 808615e: 4a78 ldr r2, [pc, #480] ; (8086340 ) 8086160: 232c movs r3, #44 ; 0x2c 8086162: fb03 f301 mul.w r3, r3, r1 8086166: 4413 add r3, r2 8086168: 3324 adds r3, #36 ; 0x24 808616a: 681b ldr r3, [r3, #0] 808616c: 461a mov r2, r3 808616e: 21ca movs r1, #202 ; 0xca 8086170: 200a movs r0, #10 8086172: f7ce fff5 bl 8055160 8086176: f001 b94b b.w 8087410 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808617a: 496f ldr r1, [pc, #444] ; (8086338 ) 808617c: f04f 30ff mov.w r0, #4294967295 8086180: f7ce fa46 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086184: 4b66 ldr r3, [pc, #408] ; (8086320 ) 8086186: 7b1b ldrb r3, [r3, #12] 8086188: b2db uxtb r3, r3 808618a: 461a mov r2, r3 808618c: 4b6d ldr r3, [pc, #436] ; (8086344 ) 808618e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086192: 461a mov r2, r3 8086194: 2127 movs r1, #39 ; 0x27 8086196: 200a movs r0, #10 8086198: f7ce ffe2 bl 8055160 if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 808619c: 4b6a ldr r3, [pc, #424] ; (8086348 ) 808619e: 781b ldrb r3, [r3, #0] 80861a0: b2db uxtb r3, r3 80861a2: 2b18 cmp r3, #24 80861a4: f240 8083 bls.w 80862ae 80861a8: 4b67 ldr r3, [pc, #412] ; (8086348 ) 80861aa: 781b ldrb r3, [r3, #0] 80861ac: b2db uxtb r3, r3 80861ae: 2b1e cmp r3, #30 80861b0: d87d bhi.n 80862ae LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80861b2: 4961 ldr r1, [pc, #388] ; (8086338 ) 80861b4: 4865 ldr r0, [pc, #404] ; (808634c ) 80861b6: f7ce fa2b bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80861ba: f507 73cc add.w r3, r7, #408 ; 0x198 80861be: 461a mov r2, r3 80861c0: 216a movs r1, #106 ; 0x6a 80861c2: f44f 7082 mov.w r0, #260 ; 0x104 80861c6: f7ce ffe3 bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80861ca: 4b55 ldr r3, [pc, #340] ; (8086320 ) 80861cc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80861d0: f003 0304 and.w r3, r3, #4 80861d4: 2b00 cmp r3, #0 80861d6: d032 beq.n 808623e LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80861d8: 4957 ldr r1, [pc, #348] ; (8086338 ) 80861da: 485d ldr r0, [pc, #372] ; (8086350 ) 80861dc: f7ce fa18 bl 8054610 if(pardata.IIN != VOLTS) 80861e0: 4b4f ldr r3, [pc, #316] ; (8086320 ) 80861e2: 799b ldrb r3, [r3, #6] 80861e4: b2db uxtb r3, r3 80861e6: 2b02 cmp r3, #2 80861e8: d010 beq.n 808620c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80861ea: 4b4d ldr r3, [pc, #308] ; (8086320 ) 80861ec: 7b1b ldrb r3, [r3, #12] 80861ee: b2db uxtb r3, r3 80861f0: 4619 mov r1, r3 80861f2: 4a52 ldr r2, [pc, #328] ; (808633c ) 80861f4: 232c movs r3, #44 ; 0x2c 80861f6: fb03 f301 mul.w r3, r3, r1 80861fa: 4413 add r3, r2 80861fc: 3324 adds r3, #36 ; 0x24 80861fe: 681b ldr r3, [r3, #0] 8086200: 461a mov r2, r3 8086202: 21ca movs r1, #202 ; 0xca 8086204: 200a movs r0, #10 8086206: f7ce ffab bl 8055160 808620a: e00f b.n 808622c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808620c: 4b44 ldr r3, [pc, #272] ; (8086320 ) 808620e: 7b1b ldrb r3, [r3, #12] 8086210: b2db uxtb r3, r3 8086212: 4619 mov r1, r3 8086214: 4a4a ldr r2, [pc, #296] ; (8086340 ) 8086216: 232c movs r3, #44 ; 0x2c 8086218: fb03 f301 mul.w r3, r3, r1 808621c: 4413 add r3, r2 808621e: 3324 adds r3, #36 ; 0x24 8086220: 681b ldr r3, [r3, #0] 8086222: 461a mov r2, r3 8086224: 21ca movs r1, #202 ; 0xca 8086226: 200a movs r0, #10 8086228: f7ce ff9a bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 808622c: f507 733b add.w r3, r7, #748 ; 0x2ec 8086230: 461a mov r2, r3 8086232: 21ca movs r1, #202 ; 0xca 8086234: f44f 7082 mov.w r0, #260 ; 0x104 8086238: f7ce ffaa bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808623c: e124 b.n 8086488 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808623e: 493e ldr r1, [pc, #248] ; (8086338 ) 8086240: f04f 30ff mov.w r0, #4294967295 8086244: f7ce f9e4 bl 8054610 if(pardata.IIN != VOLTS) 8086248: 4b35 ldr r3, [pc, #212] ; (8086320 ) 808624a: 799b ldrb r3, [r3, #6] 808624c: b2db uxtb r3, r3 808624e: 2b02 cmp r3, #2 8086250: d010 beq.n 8086274 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086252: 4b33 ldr r3, [pc, #204] ; (8086320 ) 8086254: 7b1b ldrb r3, [r3, #12] 8086256: b2db uxtb r3, r3 8086258: 4619 mov r1, r3 808625a: 4a38 ldr r2, [pc, #224] ; (808633c ) 808625c: 232c movs r3, #44 ; 0x2c 808625e: fb03 f301 mul.w r3, r3, r1 8086262: 4413 add r3, r2 8086264: 3324 adds r3, #36 ; 0x24 8086266: 681b ldr r3, [r3, #0] 8086268: 461a mov r2, r3 808626a: 21ca movs r1, #202 ; 0xca 808626c: 200a movs r0, #10 808626e: f7ce ff77 bl 8055160 8086272: e00f b.n 8086294 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086274: 4b2a ldr r3, [pc, #168] ; (8086320 ) 8086276: 7b1b ldrb r3, [r3, #12] 8086278: b2db uxtb r3, r3 808627a: 4619 mov r1, r3 808627c: 4a30 ldr r2, [pc, #192] ; (8086340 ) 808627e: 232c movs r3, #44 ; 0x2c 8086280: fb03 f301 mul.w r3, r3, r1 8086284: 4413 add r3, r2 8086286: 3324 adds r3, #36 ; 0x24 8086288: 681b ldr r3, [r3, #0] 808628a: 461a mov r2, r3 808628c: 21ca movs r1, #202 ; 0xca 808628e: 200a movs r0, #10 8086290: f7ce ff66 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086294: 4928 ldr r1, [pc, #160] ; (8086338 ) 8086296: 482d ldr r0, [pc, #180] ; (808634c ) 8086298: f7ce f9ba bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 808629c: f507 733b add.w r3, r7, #748 ; 0x2ec 80862a0: 461a mov r2, r3 80862a2: 21ca movs r1, #202 ; 0xca 80862a4: f44f 7082 mov.w r0, #260 ; 0x104 80862a8: f7ce ff72 bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80862ac: e0ec b.n 8086488 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 80862ae: 4b26 ldr r3, [pc, #152] ; (8086348 ) 80862b0: 781b ldrb r3, [r3, #0] 80862b2: b2db uxtb r3, r3 80862b4: 2b1e cmp r3, #30 80862b6: f240 809e bls.w 80863f6 80862ba: 4b23 ldr r3, [pc, #140] ; (8086348 ) 80862bc: 781b ldrb r3, [r3, #0] 80862be: b2db uxtb r3, r3 80862c0: 2b24 cmp r3, #36 ; 0x24 80862c2: f200 8098 bhi.w 80863f6 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80862c6: 491c ldr r1, [pc, #112] ; (8086338 ) 80862c8: 4820 ldr r0, [pc, #128] ; (808634c ) 80862ca: f7ce f9a1 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80862ce: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80862d2: 461a mov r2, r3 80862d4: 215a movs r1, #90 ; 0x5a 80862d6: f44f 7082 mov.w r0, #260 ; 0x104 80862da: f7ce ff59 bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80862de: 4b10 ldr r3, [pc, #64] ; (8086320 ) 80862e0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80862e4: f003 0304 and.w r3, r3, #4 80862e8: 2b00 cmp r3, #0 80862ea: d04c beq.n 8086386 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80862ec: 4912 ldr r1, [pc, #72] ; (8086338 ) 80862ee: 4818 ldr r0, [pc, #96] ; (8086350 ) 80862f0: f7ce f98e bl 8054610 if(pardata.IIN != VOLTS) 80862f4: 4b0a ldr r3, [pc, #40] ; (8086320 ) 80862f6: 799b ldrb r3, [r3, #6] 80862f8: b2db uxtb r3, r3 80862fa: 2b02 cmp r3, #2 80862fc: d02a beq.n 8086354 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80862fe: 4b08 ldr r3, [pc, #32] ; (8086320 ) 8086300: 7b1b ldrb r3, [r3, #12] 8086302: b2db uxtb r3, r3 8086304: 4619 mov r1, r3 8086306: 4a0d ldr r2, [pc, #52] ; (808633c ) 8086308: 232c movs r3, #44 ; 0x2c 808630a: fb03 f301 mul.w r3, r3, r1 808630e: 4413 add r3, r2 8086310: 3324 adds r3, #36 ; 0x24 8086312: 681b ldr r3, [r3, #0] 8086314: 461a mov r2, r3 8086316: 21ca movs r1, #202 ; 0xca 8086318: 200a movs r0, #10 808631a: f7ce ff21 bl 8055160 808631e: e029 b.n 8086374 8086320: 20023ea8 .word 0x20023ea8 8086324: 200202a4 .word 0x200202a4 8086328: 200201a4 .word 0x200201a4 808632c: 2002021c .word 0x2002021c 8086330: 200201f4 .word 0x200201f4 8086334: 2002022c .word 0x2002022c 8086338: ff0a0f1f .word 0xff0a0f1f 808633c: 200206bc .word 0x200206bc 8086340: 20020714 .word 0x20020714 8086344: 200205cc .word 0x200205cc 8086348: 20020070 .word 0x20020070 808634c: ffd8aa57 .word 0xffd8aa57 8086350: ff808080 .word 0xff808080 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086354: 4bbf ldr r3, [pc, #764] ; (8086654 ) 8086356: 7b1b ldrb r3, [r3, #12] 8086358: b2db uxtb r3, r3 808635a: 4619 mov r1, r3 808635c: 4abe ldr r2, [pc, #760] ; (8086658 ) 808635e: 232c movs r3, #44 ; 0x2c 8086360: fb03 f301 mul.w r3, r3, r1 8086364: 4413 add r3, r2 8086366: 3324 adds r3, #36 ; 0x24 8086368: 681b ldr r3, [r3, #0] 808636a: 461a mov r2, r3 808636c: 21ca movs r1, #202 ; 0xca 808636e: 200a movs r0, #10 8086370: f7ce fef6 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_12, str); 8086374: f507 733b add.w r3, r7, #748 ; 0x2ec 8086378: 461a mov r2, r3 808637a: 21ca movs r1, #202 ; 0xca 808637c: f44f 7082 mov.w r0, #260 ; 0x104 8086380: f7ce ff06 bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8086384: e080 b.n 8086488 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086386: 49b5 ldr r1, [pc, #724] ; (808665c ) 8086388: f04f 30ff mov.w r0, #4294967295 808638c: f7ce f940 bl 8054610 if(pardata.IIN != VOLTS) 8086390: 4bb0 ldr r3, [pc, #704] ; (8086654 ) 8086392: 799b ldrb r3, [r3, #6] 8086394: b2db uxtb r3, r3 8086396: 2b02 cmp r3, #2 8086398: d010 beq.n 80863bc LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808639a: 4bae ldr r3, [pc, #696] ; (8086654 ) 808639c: 7b1b ldrb r3, [r3, #12] 808639e: b2db uxtb r3, r3 80863a0: 4619 mov r1, r3 80863a2: 4aaf ldr r2, [pc, #700] ; (8086660 ) 80863a4: 232c movs r3, #44 ; 0x2c 80863a6: fb03 f301 mul.w r3, r3, r1 80863aa: 4413 add r3, r2 80863ac: 3324 adds r3, #36 ; 0x24 80863ae: 681b ldr r3, [r3, #0] 80863b0: 461a mov r2, r3 80863b2: 21ca movs r1, #202 ; 0xca 80863b4: 200a movs r0, #10 80863b6: f7ce fed3 bl 8055160 80863ba: e00f b.n 80863dc else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80863bc: 4ba5 ldr r3, [pc, #660] ; (8086654 ) 80863be: 7b1b ldrb r3, [r3, #12] 80863c0: b2db uxtb r3, r3 80863c2: 4619 mov r1, r3 80863c4: 4aa4 ldr r2, [pc, #656] ; (8086658 ) 80863c6: 232c movs r3, #44 ; 0x2c 80863c8: fb03 f301 mul.w r3, r3, r1 80863cc: 4413 add r3, r2 80863ce: 3324 adds r3, #36 ; 0x24 80863d0: 681b ldr r3, [r3, #0] 80863d2: 461a mov r2, r3 80863d4: 21ca movs r1, #202 ; 0xca 80863d6: 200a movs r0, #10 80863d8: f7ce fec2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80863dc: 499f ldr r1, [pc, #636] ; (808665c ) 80863de: 48a1 ldr r0, [pc, #644] ; (8086664 ) 80863e0: f7ce f916 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, str); 80863e4: f507 733b add.w r3, r7, #748 ; 0x2ec 80863e8: 461a mov r2, r3 80863ea: 21ca movs r1, #202 ; 0xca 80863ec: f44f 7082 mov.w r0, #260 ; 0x104 80863f0: f7ce fece bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80863f4: e048 b.n 8086488 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 80863f6: 4b9c ldr r3, [pc, #624] ; (8086668 ) 80863f8: 781b ldrb r3, [r3, #0] 80863fa: b2db uxtb r3, r3 80863fc: 2b0a cmp r3, #10 80863fe: d943 bls.n 8086488 8086400: 4b99 ldr r3, [pc, #612] ; (8086668 ) 8086402: 781b ldrb r3, [r3, #0] 8086404: b2db uxtb r3, r3 8086406: 2b10 cmp r3, #16 8086408: d83e bhi.n 8086488 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808640a: 4994 ldr r1, [pc, #592] ; (808665c ) 808640c: 4895 ldr r0, [pc, #596] ; (8086664 ) 808640e: f7ce f8ff bl 8054610 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8086412: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8086416: 461a mov r2, r3 8086418: 215a movs r1, #90 ; 0x5a 808641a: f44f 7082 mov.w r0, #260 ; 0x104 808641e: f7ce feb7 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8086422: f507 73cc add.w r3, r7, #408 ; 0x198 8086426: 461a mov r2, r3 8086428: 216a movs r1, #106 ; 0x6a 808642a: f44f 7082 mov.w r0, #260 ; 0x104 808642e: f7ce feaf bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086432: 498a ldr r1, [pc, #552] ; (808665c ) 8086434: f04f 30ff mov.w r0, #4294967295 8086438: f7ce f8ea bl 8054610 if(pardata.IIN != VOLTS) 808643c: 4b85 ldr r3, [pc, #532] ; (8086654 ) 808643e: 799b ldrb r3, [r3, #6] 8086440: b2db uxtb r3, r3 8086442: 2b02 cmp r3, #2 8086444: d010 beq.n 8086468 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086446: 4b83 ldr r3, [pc, #524] ; (8086654 ) 8086448: 7b1b ldrb r3, [r3, #12] 808644a: b2db uxtb r3, r3 808644c: 4619 mov r1, r3 808644e: 4a84 ldr r2, [pc, #528] ; (8086660 ) 8086450: 232c movs r3, #44 ; 0x2c 8086452: fb03 f301 mul.w r3, r3, r1 8086456: 4413 add r3, r2 8086458: 3324 adds r3, #36 ; 0x24 808645a: 681b ldr r3, [r3, #0] 808645c: 461a mov r2, r3 808645e: 21ca movs r1, #202 ; 0xca 8086460: 200a movs r0, #10 8086462: f7ce fe7d bl 8055160 8086466: e00f b.n 8086488 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086468: 4b7a ldr r3, [pc, #488] ; (8086654 ) 808646a: 7b1b ldrb r3, [r3, #12] 808646c: b2db uxtb r3, r3 808646e: 4619 mov r1, r3 8086470: 4a79 ldr r2, [pc, #484] ; (8086658 ) 8086472: 232c movs r3, #44 ; 0x2c 8086474: fb03 f301 mul.w r3, r3, r1 8086478: 4413 add r3, r2 808647a: 3324 adds r3, #36 ; 0x24 808647c: 681b ldr r3, [r3, #0] 808647e: 461a mov r2, r3 8086480: 21ca movs r1, #202 ; 0xca 8086482: 200a movs r0, #10 8086484: f7ce fe6c bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086488: 4974 ldr r1, [pc, #464] ; (808665c ) 808648a: 4876 ldr r0, [pc, #472] ; (8086664 ) 808648c: f7ce f8c0 bl 8054610 if((pardata.OPTIONS & maskFFT) == fft) 8086490: 4b70 ldr r3, [pc, #448] ; (8086654 ) 8086492: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086496: f003 0330 and.w r3, r3, #48 ; 0x30 808649a: 2b00 cmp r3, #0 808649c: d10d bne.n 80864ba LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 808649e: 4b6d ldr r3, [pc, #436] ; (8086654 ) 80864a0: 7b1b ldrb r3, [r3, #12] 80864a2: b2db uxtb r3, r3 80864a4: 4a71 ldr r2, [pc, #452] ; (808666c ) 80864a6: 011b lsls r3, r3, #4 80864a8: 4413 add r3, r2 80864aa: 681b ldr r3, [r3, #0] 80864ac: 461a mov r2, r3 80864ae: 213a movs r1, #58 ; 0x3a 80864b0: f44f 7082 mov.w r0, #260 ; 0x104 80864b4: f7ce fe6c bl 8055190 80864b8: e00d b.n 80864d6 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 80864ba: 4b66 ldr r3, [pc, #408] ; (8086654 ) 80864bc: 7b1b ldrb r3, [r3, #12] 80864be: b2db uxtb r3, r3 80864c0: 4a6a ldr r2, [pc, #424] ; (808666c ) 80864c2: 011b lsls r3, r3, #4 80864c4: 4413 add r3, r2 80864c6: 3304 adds r3, #4 80864c8: 681b ldr r3, [r3, #0] 80864ca: 461a mov r2, r3 80864cc: 213a movs r1, #58 ; 0x3a 80864ce: f44f 7082 mov.w r0, #260 ; 0x104 80864d2: f7ce fe5d bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80864d6: 4b5f ldr r3, [pc, #380] ; (8086654 ) 80864d8: 7b1b ldrb r3, [r3, #12] 80864da: b2db uxtb r3, r3 80864dc: 4618 mov r0, r3 80864de: 4b5d ldr r3, [pc, #372] ; (8086654 ) 80864e0: 785b ldrb r3, [r3, #1] 80864e2: b2db uxtb r3, r3 80864e4: 005b lsls r3, r3, #1 80864e6: 4a5b ldr r2, [pc, #364] ; (8086654 ) 80864e8: 7852 ldrb r2, [r2, #1] 80864ea: b2d2 uxtb r2, r2 80864ec: 4611 mov r1, r2 80864ee: 4a59 ldr r2, [pc, #356] ; (8086654 ) 80864f0: 440a add r2, r1 80864f2: 7892 ldrb r2, [r2, #2] 80864f4: b2d2 uxtb r2, r2 80864f6: 431a orrs r2, r3 80864f8: 495d ldr r1, [pc, #372] ; (8086670 ) 80864fa: 4603 mov r3, r0 80864fc: 005b lsls r3, r3, #1 80864fe: 4403 add r3, r0 8086500: 005b lsls r3, r3, #1 8086502: 4413 add r3, r2 8086504: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8086508: 461a mov r2, r3 808650a: 214a movs r1, #74 ; 0x4a 808650c: f44f 7082 mov.w r0, #260 ; 0x104 8086510: f7ce fe3e bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8086514: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8086518: 461a mov r2, r3 808651a: 217a movs r1, #122 ; 0x7a 808651c: f44f 7082 mov.w r0, #260 ; 0x104 8086520: f7ce fe36 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086524: 4b4b ldr r3, [pc, #300] ; (8086654 ) 8086526: 7b1b ldrb r3, [r3, #12] 8086528: b2db uxtb r3, r3 808652a: 4618 mov r0, r3 808652c: 4b49 ldr r3, [pc, #292] ; (8086654 ) 808652e: 7a9b ldrb r3, [r3, #10] 8086530: b2db uxtb r3, r3 8086532: 4619 mov r1, r3 8086534: 4a4f ldr r2, [pc, #316] ; (8086674 ) 8086536: 0043 lsls r3, r0, #1 8086538: 440b add r3, r1 808653a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808653e: 461a mov r2, r3 8086540: 218a movs r1, #138 ; 0x8a 8086542: f44f 7082 mov.w r0, #260 ; 0x104 8086546: f7ce fe23 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 808654a: 4b42 ldr r3, [pc, #264] ; (8086654 ) 808654c: 7b1b ldrb r3, [r3, #12] 808654e: b2db uxtb r3, r3 8086550: 4619 mov r1, r3 8086552: 4b40 ldr r3, [pc, #256] ; (8086654 ) 8086554: 7a5b ldrb r3, [r3, #9] 8086556: b2db uxtb r3, r3 8086558: 4618 mov r0, r3 808655a: 4a47 ldr r2, [pc, #284] ; (8086678 ) 808655c: 460b mov r3, r1 808655e: 009b lsls r3, r3, #2 8086560: 440b add r3, r1 8086562: 4403 add r3, r0 8086564: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086568: 461a mov r2, r3 808656a: 219a movs r1, #154 ; 0x9a 808656c: f44f 7082 mov.w r0, #260 ; 0x104 8086570: f7ce fe0e bl 8055190 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8086574: 4b37 ldr r3, [pc, #220] ; (8086654 ) 8086576: 7b5b ldrb r3, [r3, #13] 8086578: b2db uxtb r3, r3 808657a: 461a mov r2, r3 808657c: 4b3f ldr r3, [pc, #252] ; (808667c ) 808657e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086582: 461a mov r2, r3 8086584: 21aa movs r1, #170 ; 0xaa 8086586: f44f 7082 mov.w r0, #260 ; 0x104 808658a: f7ce fe01 bl 8055190 if(menupos == FilterHP_IDT) 808658e: 4b36 ldr r3, [pc, #216] ; (8086668 ) 8086590: 781b ldrb r3, [r3, #0] 8086592: b2db uxtb r3, r3 8086594: 2b19 cmp r3, #25 8086596: d179 bne.n 808668c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086598: 4930 ldr r1, [pc, #192] ; (808665c ) 808659a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808659e: f7ce f837 bl 8054610 if(blk) 80865a2: 4b37 ldr r3, [pc, #220] ; (8086680 ) 80865a4: 681b ldr r3, [r3, #0] 80865a6: 2b00 cmp r3, #0 80865a8: d00b beq.n 80865c2 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 80865aa: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80865ae: b2db uxtb r3, r3 80865b0: 461a mov r2, r3 80865b2: 4b34 ldr r3, [pc, #208] ; (8086684 ) 80865b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80865b8: 461a mov r2, r3 80865ba: 215a movs r1, #90 ; 0x5a 80865bc: 20c6 movs r0, #198 ; 0xc6 80865be: f7ce fdcf bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80865c2: 4926 ldr r1, [pc, #152] ; (808665c ) 80865c4: 4827 ldr r0, [pc, #156] ; (8086664 ) 80865c6: f7ce f823 bl 8054610 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 80865ca: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80865ce: b2db uxtb r3, r3 80865d0: 461a mov r2, r3 80865d2: 4b2c ldr r3, [pc, #176] ; (8086684 ) 80865d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80865d8: 461a mov r2, r3 80865da: 215a movs r1, #90 ; 0x5a 80865dc: 20d6 movs r0, #214 ; 0xd6 80865de: f7ce fdbf bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 80865e2: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 80865e6: b2db uxtb r3, r3 80865e8: 461a mov r2, r3 80865ea: 4b26 ldr r3, [pc, #152] ; (8086684 ) 80865ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80865f0: 461a mov r2, r3 80865f2: 215a movs r1, #90 ; 0x5a 80865f4: 20e6 movs r0, #230 ; 0xe6 80865f6: f7ce fdb3 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80865fa: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80865fe: b2db uxtb r3, r3 8086600: 461a mov r2, r3 8086602: 4b20 ldr r3, [pc, #128] ; (8086684 ) 8086604: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086608: 461a mov r2, r3 808660a: 215a movs r1, #90 ; 0x5a 808660c: 20f6 movs r0, #246 ; 0xf6 808660e: f7ce fda7 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8086612: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8086616: b2db uxtb r3, r3 8086618: 461a mov r2, r3 808661a: 4b1a ldr r3, [pc, #104] ; (8086684 ) 808661c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086620: 461a mov r2, r3 8086622: 215a movs r1, #90 ; 0x5a 8086624: f44f 7083 mov.w r0, #262 ; 0x106 8086628: f7ce fd9a bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 808662c: 4a16 ldr r2, [pc, #88] ; (8086688 ) 808662e: 215a movs r1, #90 ; 0x5a 8086630: f44f 708b mov.w r0, #278 ; 0x116 8086634: f7ce fd94 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8086638: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808663c: b2db uxtb r3, r3 808663e: 461a mov r2, r3 8086640: 4b10 ldr r3, [pc, #64] ; (8086684 ) 8086642: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086646: 461a mov r2, r3 8086648: 215a movs r1, #90 ; 0x5a 808664a: f44f 7093 mov.w r0, #294 ; 0x126 808664e: f7ce fd87 bl 8055160 8086652: e215 b.n 8086a80 8086654: 20023ea8 .word 0x20023ea8 8086658: 20020714 .word 0x20020714 808665c: ff0a0f1f .word 0xff0a0f1f 8086660: 200206bc .word 0x200206bc 8086664: ffd8aa57 .word 0xffd8aa57 8086668: 20020070 .word 0x20020070 808666c: 200202a4 .word 0x200202a4 8086670: 200201a4 .word 0x200201a4 8086674: 2002021c .word 0x2002021c 8086678: 200201f4 .word 0x200201f4 808667c: 2002022c .word 0x2002022c 8086680: 200216a4 .word 0x200216a4 8086684: 2002096c .word 0x2002096c 8086688: 080d3b58 .word 0x080d3b58 if(menupos == FilterHP_IET) 808668c: 4bc5 ldr r3, [pc, #788] ; (80869a4 ) 808668e: 781b ldrb r3, [r3, #0] 8086690: b2db uxtb r3, r3 8086692: 2b1a cmp r3, #26 8086694: d15d bne.n 8086752 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086696: 49c4 ldr r1, [pc, #784] ; (80869a8 ) 8086698: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808669c: f7cd ffb8 bl 8054610 if(blk) 80866a0: 4bc2 ldr r3, [pc, #776] ; (80869ac ) 80866a2: 681b ldr r3, [r3, #0] 80866a4: 2b00 cmp r3, #0 80866a6: d00b beq.n 80866c0 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 80866a8: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80866ac: b2db uxtb r3, r3 80866ae: 461a mov r2, r3 80866b0: 4bbf ldr r3, [pc, #764] ; (80869b0 ) 80866b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80866b6: 461a mov r2, r3 80866b8: 215a movs r1, #90 ; 0x5a 80866ba: 20d6 movs r0, #214 ; 0xd6 80866bc: f7ce fd50 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80866c0: 49b9 ldr r1, [pc, #740] ; (80869a8 ) 80866c2: 48bc ldr r0, [pc, #752] ; (80869b4 ) 80866c4: f7cd ffa4 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 80866c8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80866cc: b2db uxtb r3, r3 80866ce: 461a mov r2, r3 80866d0: 4bb7 ldr r3, [pc, #732] ; (80869b0 ) 80866d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80866d6: 461a mov r2, r3 80866d8: 215a movs r1, #90 ; 0x5a 80866da: 20c6 movs r0, #198 ; 0xc6 80866dc: f7ce fd40 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 80866e0: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 80866e4: b2db uxtb r3, r3 80866e6: 461a mov r2, r3 80866e8: 4bb1 ldr r3, [pc, #708] ; (80869b0 ) 80866ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80866ee: 461a mov r2, r3 80866f0: 215a movs r1, #90 ; 0x5a 80866f2: 20e6 movs r0, #230 ; 0xe6 80866f4: f7ce fd34 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80866f8: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80866fc: b2db uxtb r3, r3 80866fe: 461a mov r2, r3 8086700: 4bab ldr r3, [pc, #684] ; (80869b0 ) 8086702: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086706: 461a mov r2, r3 8086708: 215a movs r1, #90 ; 0x5a 808670a: 20f6 movs r0, #246 ; 0xf6 808670c: f7ce fd28 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8086710: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8086714: b2db uxtb r3, r3 8086716: 461a mov r2, r3 8086718: 4ba5 ldr r3, [pc, #660] ; (80869b0 ) 808671a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808671e: 461a mov r2, r3 8086720: 215a movs r1, #90 ; 0x5a 8086722: f44f 7083 mov.w r0, #262 ; 0x106 8086726: f7ce fd1b bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 808672a: 4aa3 ldr r2, [pc, #652] ; (80869b8 ) 808672c: 215a movs r1, #90 ; 0x5a 808672e: f44f 708b mov.w r0, #278 ; 0x116 8086732: f7ce fd15 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8086736: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808673a: b2db uxtb r3, r3 808673c: 461a mov r2, r3 808673e: 4b9c ldr r3, [pc, #624] ; (80869b0 ) 8086740: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086744: 461a mov r2, r3 8086746: 215a movs r1, #90 ; 0x5a 8086748: f44f 7093 mov.w r0, #294 ; 0x126 808674c: f7ce fd08 bl 8055160 8086750: e196 b.n 8086a80 if(menupos == FilterHP_IES) 8086752: 4b94 ldr r3, [pc, #592] ; (80869a4 ) 8086754: 781b ldrb r3, [r3, #0] 8086756: b2db uxtb r3, r3 8086758: 2b1b cmp r3, #27 808675a: d15d bne.n 8086818 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808675c: 4992 ldr r1, [pc, #584] ; (80869a8 ) 808675e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086762: f7cd ff55 bl 8054610 if(blk) 8086766: 4b91 ldr r3, [pc, #580] ; (80869ac ) 8086768: 681b ldr r3, [r3, #0] 808676a: 2b00 cmp r3, #0 808676c: d00b beq.n 8086786 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 808676e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8086772: b2db uxtb r3, r3 8086774: 461a mov r2, r3 8086776: 4b8e ldr r3, [pc, #568] ; (80869b0 ) 8086778: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808677c: 461a mov r2, r3 808677e: 215a movs r1, #90 ; 0x5a 8086780: 20e6 movs r0, #230 ; 0xe6 8086782: f7ce fced bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086786: 4988 ldr r1, [pc, #544] ; (80869a8 ) 8086788: 488a ldr r0, [pc, #552] ; (80869b4 ) 808678a: f7cd ff41 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 808678e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8086792: b2db uxtb r3, r3 8086794: 461a mov r2, r3 8086796: 4b86 ldr r3, [pc, #536] ; (80869b0 ) 8086798: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808679c: 461a mov r2, r3 808679e: 215a movs r1, #90 ; 0x5a 80867a0: 20c6 movs r0, #198 ; 0xc6 80867a2: f7ce fcdd bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 80867a6: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80867aa: b2db uxtb r3, r3 80867ac: 461a mov r2, r3 80867ae: 4b80 ldr r3, [pc, #512] ; (80869b0 ) 80867b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80867b4: 461a mov r2, r3 80867b6: 215a movs r1, #90 ; 0x5a 80867b8: 20d6 movs r0, #214 ; 0xd6 80867ba: f7ce fcd1 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80867be: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80867c2: b2db uxtb r3, r3 80867c4: 461a mov r2, r3 80867c6: 4b7a ldr r3, [pc, #488] ; (80869b0 ) 80867c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80867cc: 461a mov r2, r3 80867ce: 215a movs r1, #90 ; 0x5a 80867d0: 20f6 movs r0, #246 ; 0xf6 80867d2: f7ce fcc5 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 80867d6: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 80867da: b2db uxtb r3, r3 80867dc: 461a mov r2, r3 80867de: 4b74 ldr r3, [pc, #464] ; (80869b0 ) 80867e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80867e4: 461a mov r2, r3 80867e6: 215a movs r1, #90 ; 0x5a 80867e8: f44f 7083 mov.w r0, #262 ; 0x106 80867ec: f7ce fcb8 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 80867f0: 4a71 ldr r2, [pc, #452] ; (80869b8 ) 80867f2: 215a movs r1, #90 ; 0x5a 80867f4: f44f 708b mov.w r0, #278 ; 0x116 80867f8: f7ce fcb2 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 80867fc: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8086800: b2db uxtb r3, r3 8086802: 461a mov r2, r3 8086804: 4b6a ldr r3, [pc, #424] ; (80869b0 ) 8086806: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808680a: 461a mov r2, r3 808680c: 215a movs r1, #90 ; 0x5a 808680e: f44f 7093 mov.w r0, #294 ; 0x126 8086812: f7ce fca5 bl 8055160 8086816: e133 b.n 8086a80 if(menupos == FilterHP_IED) 8086818: 4b62 ldr r3, [pc, #392] ; (80869a4 ) 808681a: 781b ldrb r3, [r3, #0] 808681c: b2db uxtb r3, r3 808681e: 2b1c cmp r3, #28 8086820: d15d bne.n 80868de LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086822: 4961 ldr r1, [pc, #388] ; (80869a8 ) 8086824: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086828: f7cd fef2 bl 8054610 if(blk) 808682c: 4b5f ldr r3, [pc, #380] ; (80869ac ) 808682e: 681b ldr r3, [r3, #0] 8086830: 2b00 cmp r3, #0 8086832: d00b beq.n 808684c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8086834: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8086838: b2db uxtb r3, r3 808683a: 461a mov r2, r3 808683c: 4b5c ldr r3, [pc, #368] ; (80869b0 ) 808683e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086842: 461a mov r2, r3 8086844: 215a movs r1, #90 ; 0x5a 8086846: 20f6 movs r0, #246 ; 0xf6 8086848: f7ce fc8a bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808684c: 4956 ldr r1, [pc, #344] ; (80869a8 ) 808684e: 4859 ldr r0, [pc, #356] ; (80869b4 ) 8086850: f7cd fede bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8086854: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8086858: b2db uxtb r3, r3 808685a: 461a mov r2, r3 808685c: 4b54 ldr r3, [pc, #336] ; (80869b0 ) 808685e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086862: 461a mov r2, r3 8086864: 215a movs r1, #90 ; 0x5a 8086866: 20c6 movs r0, #198 ; 0xc6 8086868: f7ce fc7a bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 808686c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8086870: b2db uxtb r3, r3 8086872: 461a mov r2, r3 8086874: 4b4e ldr r3, [pc, #312] ; (80869b0 ) 8086876: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808687a: 461a mov r2, r3 808687c: 215a movs r1, #90 ; 0x5a 808687e: 20d6 movs r0, #214 ; 0xd6 8086880: f7ce fc6e bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8086884: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8086888: b2db uxtb r3, r3 808688a: 461a mov r2, r3 808688c: 4b48 ldr r3, [pc, #288] ; (80869b0 ) 808688e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086892: 461a mov r2, r3 8086894: 215a movs r1, #90 ; 0x5a 8086896: 20e6 movs r0, #230 ; 0xe6 8086898: f7ce fc62 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 808689c: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 80868a0: b2db uxtb r3, r3 80868a2: 461a mov r2, r3 80868a4: 4b42 ldr r3, [pc, #264] ; (80869b0 ) 80868a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80868aa: 461a mov r2, r3 80868ac: 215a movs r1, #90 ; 0x5a 80868ae: f44f 7083 mov.w r0, #262 ; 0x106 80868b2: f7ce fc55 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 80868b6: 4a40 ldr r2, [pc, #256] ; (80869b8 ) 80868b8: 215a movs r1, #90 ; 0x5a 80868ba: f44f 708b mov.w r0, #278 ; 0x116 80868be: f7ce fc4f bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 80868c2: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 80868c6: b2db uxtb r3, r3 80868c8: 461a mov r2, r3 80868ca: 4b39 ldr r3, [pc, #228] ; (80869b0 ) 80868cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80868d0: 461a mov r2, r3 80868d2: 215a movs r1, #90 ; 0x5a 80868d4: f44f 7093 mov.w r0, #294 ; 0x126 80868d8: f7ce fc42 bl 8055160 80868dc: e0d0 b.n 8086a80 if(menupos == FilterHP_IEE) 80868de: 4b31 ldr r3, [pc, #196] ; (80869a4 ) 80868e0: 781b ldrb r3, [r3, #0] 80868e2: b2db uxtb r3, r3 80868e4: 2b1d cmp r3, #29 80868e6: d169 bne.n 80869bc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80868e8: 492f ldr r1, [pc, #188] ; (80869a8 ) 80868ea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80868ee: f7cd fe8f bl 8054610 if(blk) 80868f2: 4b2e ldr r3, [pc, #184] ; (80869ac ) 80868f4: 681b ldr r3, [r3, #0] 80868f6: 2b00 cmp r3, #0 80868f8: d00c beq.n 8086914 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 80868fa: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 80868fe: b2db uxtb r3, r3 8086900: 461a mov r2, r3 8086902: 4b2b ldr r3, [pc, #172] ; (80869b0 ) 8086904: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086908: 461a mov r2, r3 808690a: 215a movs r1, #90 ; 0x5a 808690c: f44f 7083 mov.w r0, #262 ; 0x106 8086910: f7ce fc26 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086914: 4924 ldr r1, [pc, #144] ; (80869a8 ) 8086916: 4827 ldr r0, [pc, #156] ; (80869b4 ) 8086918: f7cd fe7a bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 808691c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8086920: b2db uxtb r3, r3 8086922: 461a mov r2, r3 8086924: 4b22 ldr r3, [pc, #136] ; (80869b0 ) 8086926: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808692a: 461a mov r2, r3 808692c: 215a movs r1, #90 ; 0x5a 808692e: 20c6 movs r0, #198 ; 0xc6 8086930: f7ce fc16 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8086934: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8086938: b2db uxtb r3, r3 808693a: 461a mov r2, r3 808693c: 4b1c ldr r3, [pc, #112] ; (80869b0 ) 808693e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086942: 461a mov r2, r3 8086944: 215a movs r1, #90 ; 0x5a 8086946: 20d6 movs r0, #214 ; 0xd6 8086948: f7ce fc0a bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 808694c: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8086950: b2db uxtb r3, r3 8086952: 461a mov r2, r3 8086954: 4b16 ldr r3, [pc, #88] ; (80869b0 ) 8086956: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808695a: 461a mov r2, r3 808695c: 215a movs r1, #90 ; 0x5a 808695e: 20e6 movs r0, #230 ; 0xe6 8086960: f7ce fbfe bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8086964: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8086968: b2db uxtb r3, r3 808696a: 461a mov r2, r3 808696c: 4b10 ldr r3, [pc, #64] ; (80869b0 ) 808696e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086972: 461a mov r2, r3 8086974: 215a movs r1, #90 ; 0x5a 8086976: 20f6 movs r0, #246 ; 0xf6 8086978: f7ce fbf2 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 808697c: 4a0e ldr r2, [pc, #56] ; (80869b8 ) 808697e: 215a movs r1, #90 ; 0x5a 8086980: f44f 708b mov.w r0, #278 ; 0x116 8086984: f7ce fbec bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8086988: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808698c: b2db uxtb r3, r3 808698e: 461a mov r2, r3 8086990: 4b07 ldr r3, [pc, #28] ; (80869b0 ) 8086992: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086996: 461a mov r2, r3 8086998: 215a movs r1, #90 ; 0x5a 808699a: f44f 7093 mov.w r0, #294 ; 0x126 808699e: f7ce fbdf bl 8055160 80869a2: e06d b.n 8086a80 80869a4: 20020070 .word 0x20020070 80869a8: ff0a0f1f .word 0xff0a0f1f 80869ac: 200216a4 .word 0x200216a4 80869b0: 2002096c .word 0x2002096c 80869b4: ffd8aa57 .word 0xffd8aa57 80869b8: 080d3b58 .word 0x080d3b58 if(menupos == FilterHP_IKD) 80869bc: 4bc5 ldr r3, [pc, #788] ; (8086cd4 ) 80869be: 781b ldrb r3, [r3, #0] 80869c0: b2db uxtb r3, r3 80869c2: 2b1e cmp r3, #30 80869c4: d15c bne.n 8086a80 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80869c6: 49c4 ldr r1, [pc, #784] ; (8086cd8 ) 80869c8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80869cc: f7cd fe20 bl 8054610 if(blk) 80869d0: 4bc2 ldr r3, [pc, #776] ; (8086cdc ) 80869d2: 681b ldr r3, [r3, #0] 80869d4: 2b00 cmp r3, #0 80869d6: d00c beq.n 80869f2 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 80869d8: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 80869dc: b2db uxtb r3, r3 80869de: 461a mov r2, r3 80869e0: 4bbf ldr r3, [pc, #764] ; (8086ce0 ) 80869e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80869e6: 461a mov r2, r3 80869e8: 215a movs r1, #90 ; 0x5a 80869ea: f44f 7093 mov.w r0, #294 ; 0x126 80869ee: f7ce fbb7 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80869f2: 49b9 ldr r1, [pc, #740] ; (8086cd8 ) 80869f4: 48bb ldr r0, [pc, #748] ; (8086ce4 ) 80869f6: f7cd fe0b bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 80869fa: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80869fe: b2db uxtb r3, r3 8086a00: 461a mov r2, r3 8086a02: 4bb7 ldr r3, [pc, #732] ; (8086ce0 ) 8086a04: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086a08: 461a mov r2, r3 8086a0a: 215a movs r1, #90 ; 0x5a 8086a0c: 20c6 movs r0, #198 ; 0xc6 8086a0e: f7ce fba7 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8086a12: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8086a16: b2db uxtb r3, r3 8086a18: 461a mov r2, r3 8086a1a: 4bb1 ldr r3, [pc, #708] ; (8086ce0 ) 8086a1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086a20: 461a mov r2, r3 8086a22: 215a movs r1, #90 ; 0x5a 8086a24: 20d6 movs r0, #214 ; 0xd6 8086a26: f7ce fb9b bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8086a2a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8086a2e: b2db uxtb r3, r3 8086a30: 461a mov r2, r3 8086a32: 4bab ldr r3, [pc, #684] ; (8086ce0 ) 8086a34: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086a38: 461a mov r2, r3 8086a3a: 215a movs r1, #90 ; 0x5a 8086a3c: 20e6 movs r0, #230 ; 0xe6 8086a3e: f7ce fb8f bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8086a42: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8086a46: b2db uxtb r3, r3 8086a48: 461a mov r2, r3 8086a4a: 4ba5 ldr r3, [pc, #660] ; (8086ce0 ) 8086a4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086a50: 461a mov r2, r3 8086a52: 215a movs r1, #90 ; 0x5a 8086a54: 20f6 movs r0, #246 ; 0xf6 8086a56: f7ce fb83 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8086a5a: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8086a5e: b2db uxtb r3, r3 8086a60: 461a mov r2, r3 8086a62: 4b9f ldr r3, [pc, #636] ; (8086ce0 ) 8086a64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086a68: 461a mov r2, r3 8086a6a: 215a movs r1, #90 ; 0x5a 8086a6c: f44f 7083 mov.w r0, #262 ; 0x106 8086a70: f7ce fb76 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 8086a74: 4a9c ldr r2, [pc, #624] ; (8086ce8 ) 8086a76: 215a movs r1, #90 ; 0x5a 8086a78: f44f 708b mov.w r0, #278 ; 0x116 8086a7c: f7ce fb70 bl 8055160 if(menupos == FilterLP_IDT) 8086a80: 4b94 ldr r3, [pc, #592] ; (8086cd4 ) 8086a82: 781b ldrb r3, [r3, #0] 8086a84: b2db uxtb r3, r3 8086a86: 2b1f cmp r3, #31 8086a88: d15d bne.n 8086b46 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086a8a: 4993 ldr r1, [pc, #588] ; (8086cd8 ) 8086a8c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086a90: f7cd fdbe bl 8054610 if(blk) 8086a94: 4b91 ldr r3, [pc, #580] ; (8086cdc ) 8086a96: 681b ldr r3, [r3, #0] 8086a98: 2b00 cmp r3, #0 8086a9a: d00b beq.n 8086ab4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8086a9c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8086aa0: b2db uxtb r3, r3 8086aa2: 461a mov r2, r3 8086aa4: 4b8e ldr r3, [pc, #568] ; (8086ce0 ) 8086aa6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086aaa: 461a mov r2, r3 8086aac: 216a movs r1, #106 ; 0x6a 8086aae: 20c6 movs r0, #198 ; 0xc6 8086ab0: f7ce fb56 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086ab4: 4988 ldr r1, [pc, #544] ; (8086cd8 ) 8086ab6: 488b ldr r0, [pc, #556] ; (8086ce4 ) 8086ab8: f7cd fdaa bl 8054610 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8086abc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8086ac0: b2db uxtb r3, r3 8086ac2: 461a mov r2, r3 8086ac4: 4b86 ldr r3, [pc, #536] ; (8086ce0 ) 8086ac6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086aca: 461a mov r2, r3 8086acc: 216a movs r1, #106 ; 0x6a 8086ace: 20d6 movs r0, #214 ; 0xd6 8086ad0: f7ce fb46 bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8086ad4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8086ad8: b2db uxtb r3, r3 8086ada: 461a mov r2, r3 8086adc: 4b80 ldr r3, [pc, #512] ; (8086ce0 ) 8086ade: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086ae2: 461a mov r2, r3 8086ae4: 216a movs r1, #106 ; 0x6a 8086ae6: 20e6 movs r0, #230 ; 0xe6 8086ae8: f7ce fb3a bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8086aec: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8086af0: b2db uxtb r3, r3 8086af2: 461a mov r2, r3 8086af4: 4b7a ldr r3, [pc, #488] ; (8086ce0 ) 8086af6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086afa: 461a mov r2, r3 8086afc: 216a movs r1, #106 ; 0x6a 8086afe: 20f6 movs r0, #246 ; 0xf6 8086b00: f7ce fb2e bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8086b04: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8086b08: b2db uxtb r3, r3 8086b0a: 461a mov r2, r3 8086b0c: 4b74 ldr r3, [pc, #464] ; (8086ce0 ) 8086b0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086b12: 461a mov r2, r3 8086b14: 216a movs r1, #106 ; 0x6a 8086b16: f44f 7083 mov.w r0, #262 ; 0x106 8086b1a: f7ce fb21 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 8086b1e: 4a72 ldr r2, [pc, #456] ; (8086ce8 ) 8086b20: 216a movs r1, #106 ; 0x6a 8086b22: f44f 708b mov.w r0, #278 ; 0x116 8086b26: f7ce fb1b bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8086b2a: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8086b2e: b2db uxtb r3, r3 8086b30: 461a mov r2, r3 8086b32: 4b6b ldr r3, [pc, #428] ; (8086ce0 ) 8086b34: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086b38: 461a mov r2, r3 8086b3a: 216a movs r1, #106 ; 0x6a 8086b3c: f44f 7093 mov.w r0, #294 ; 0x126 8086b40: f7ce fb0e bl 8055160 8086b44: e1fa b.n 8086f3c if(menupos == FilterLP_IET) 8086b46: 4b63 ldr r3, [pc, #396] ; (8086cd4 ) 8086b48: 781b ldrb r3, [r3, #0] 8086b4a: b2db uxtb r3, r3 8086b4c: 2b20 cmp r3, #32 8086b4e: d15d bne.n 8086c0c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086b50: 4961 ldr r1, [pc, #388] ; (8086cd8 ) 8086b52: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086b56: f7cd fd5b bl 8054610 if(blk) 8086b5a: 4b60 ldr r3, [pc, #384] ; (8086cdc ) 8086b5c: 681b ldr r3, [r3, #0] 8086b5e: 2b00 cmp r3, #0 8086b60: d00b beq.n 8086b7a LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8086b62: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8086b66: b2db uxtb r3, r3 8086b68: 461a mov r2, r3 8086b6a: 4b5d ldr r3, [pc, #372] ; (8086ce0 ) 8086b6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086b70: 461a mov r2, r3 8086b72: 216a movs r1, #106 ; 0x6a 8086b74: 20d6 movs r0, #214 ; 0xd6 8086b76: f7ce faf3 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086b7a: 4957 ldr r1, [pc, #348] ; (8086cd8 ) 8086b7c: 4859 ldr r0, [pc, #356] ; (8086ce4 ) 8086b7e: f7cd fd47 bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8086b82: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8086b86: b2db uxtb r3, r3 8086b88: 461a mov r2, r3 8086b8a: 4b55 ldr r3, [pc, #340] ; (8086ce0 ) 8086b8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086b90: 461a mov r2, r3 8086b92: 216a movs r1, #106 ; 0x6a 8086b94: 20c6 movs r0, #198 ; 0xc6 8086b96: f7ce fae3 bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8086b9a: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8086b9e: b2db uxtb r3, r3 8086ba0: 461a mov r2, r3 8086ba2: 4b4f ldr r3, [pc, #316] ; (8086ce0 ) 8086ba4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086ba8: 461a mov r2, r3 8086baa: 216a movs r1, #106 ; 0x6a 8086bac: 20e6 movs r0, #230 ; 0xe6 8086bae: f7ce fad7 bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8086bb2: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8086bb6: b2db uxtb r3, r3 8086bb8: 461a mov r2, r3 8086bba: 4b49 ldr r3, [pc, #292] ; (8086ce0 ) 8086bbc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086bc0: 461a mov r2, r3 8086bc2: 216a movs r1, #106 ; 0x6a 8086bc4: 20f6 movs r0, #246 ; 0xf6 8086bc6: f7ce facb bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8086bca: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8086bce: b2db uxtb r3, r3 8086bd0: 461a mov r2, r3 8086bd2: 4b43 ldr r3, [pc, #268] ; (8086ce0 ) 8086bd4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086bd8: 461a mov r2, r3 8086bda: 216a movs r1, #106 ; 0x6a 8086bdc: f44f 7083 mov.w r0, #262 ; 0x106 8086be0: f7ce fabe bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 8086be4: 4a40 ldr r2, [pc, #256] ; (8086ce8 ) 8086be6: 216a movs r1, #106 ; 0x6a 8086be8: f44f 708b mov.w r0, #278 ; 0x116 8086bec: f7ce fab8 bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8086bf0: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8086bf4: b2db uxtb r3, r3 8086bf6: 461a mov r2, r3 8086bf8: 4b39 ldr r3, [pc, #228] ; (8086ce0 ) 8086bfa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086bfe: 461a mov r2, r3 8086c00: 216a movs r1, #106 ; 0x6a 8086c02: f44f 7093 mov.w r0, #294 ; 0x126 8086c06: f7ce faab bl 8055160 8086c0a: e197 b.n 8086f3c if(menupos == FilterLP_IES) 8086c0c: 4b31 ldr r3, [pc, #196] ; (8086cd4 ) 8086c0e: 781b ldrb r3, [r3, #0] 8086c10: b2db uxtb r3, r3 8086c12: 2b21 cmp r3, #33 ; 0x21 8086c14: d16a bne.n 8086cec LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086c16: 4930 ldr r1, [pc, #192] ; (8086cd8 ) 8086c18: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086c1c: f7cd fcf8 bl 8054610 if(blk) 8086c20: 4b2e ldr r3, [pc, #184] ; (8086cdc ) 8086c22: 681b ldr r3, [r3, #0] 8086c24: 2b00 cmp r3, #0 8086c26: d00b beq.n 8086c40 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8086c28: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8086c2c: b2db uxtb r3, r3 8086c2e: 461a mov r2, r3 8086c30: 4b2b ldr r3, [pc, #172] ; (8086ce0 ) 8086c32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086c36: 461a mov r2, r3 8086c38: 216a movs r1, #106 ; 0x6a 8086c3a: 20e6 movs r0, #230 ; 0xe6 8086c3c: f7ce fa90 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086c40: 4925 ldr r1, [pc, #148] ; (8086cd8 ) 8086c42: 4828 ldr r0, [pc, #160] ; (8086ce4 ) 8086c44: f7cd fce4 bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8086c48: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8086c4c: b2db uxtb r3, r3 8086c4e: 461a mov r2, r3 8086c50: 4b23 ldr r3, [pc, #140] ; (8086ce0 ) 8086c52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086c56: 461a mov r2, r3 8086c58: 216a movs r1, #106 ; 0x6a 8086c5a: 20c6 movs r0, #198 ; 0xc6 8086c5c: f7ce fa80 bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8086c60: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8086c64: b2db uxtb r3, r3 8086c66: 461a mov r2, r3 8086c68: 4b1d ldr r3, [pc, #116] ; (8086ce0 ) 8086c6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086c6e: 461a mov r2, r3 8086c70: 216a movs r1, #106 ; 0x6a 8086c72: 20d6 movs r0, #214 ; 0xd6 8086c74: f7ce fa74 bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8086c78: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8086c7c: b2db uxtb r3, r3 8086c7e: 461a mov r2, r3 8086c80: 4b17 ldr r3, [pc, #92] ; (8086ce0 ) 8086c82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086c86: 461a mov r2, r3 8086c88: 216a movs r1, #106 ; 0x6a 8086c8a: 20f6 movs r0, #246 ; 0xf6 8086c8c: f7ce fa68 bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8086c90: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8086c94: b2db uxtb r3, r3 8086c96: 461a mov r2, r3 8086c98: 4b11 ldr r3, [pc, #68] ; (8086ce0 ) 8086c9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086c9e: 461a mov r2, r3 8086ca0: 216a movs r1, #106 ; 0x6a 8086ca2: f44f 7083 mov.w r0, #262 ; 0x106 8086ca6: f7ce fa5b bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 8086caa: 4a0f ldr r2, [pc, #60] ; (8086ce8 ) 8086cac: 216a movs r1, #106 ; 0x6a 8086cae: f44f 708b mov.w r0, #278 ; 0x116 8086cb2: f7ce fa55 bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8086cb6: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8086cba: b2db uxtb r3, r3 8086cbc: 461a mov r2, r3 8086cbe: 4b08 ldr r3, [pc, #32] ; (8086ce0 ) 8086cc0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086cc4: 461a mov r2, r3 8086cc6: 216a movs r1, #106 ; 0x6a 8086cc8: f44f 7093 mov.w r0, #294 ; 0x126 8086ccc: f7ce fa48 bl 8055160 8086cd0: e134 b.n 8086f3c 8086cd2: bf00 nop 8086cd4: 20020070 .word 0x20020070 8086cd8: ff0a0f1f .word 0xff0a0f1f 8086cdc: 200216a4 .word 0x200216a4 8086ce0: 2002096c .word 0x2002096c 8086ce4: ffd8aa57 .word 0xffd8aa57 8086ce8: 080d3b58 .word 0x080d3b58 if(menupos == FilterLP_IED) 8086cec: 4bc5 ldr r3, [pc, #788] ; (8087004 ) 8086cee: 781b ldrb r3, [r3, #0] 8086cf0: b2db uxtb r3, r3 8086cf2: 2b22 cmp r3, #34 ; 0x22 8086cf4: d15d bne.n 8086db2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086cf6: 49c4 ldr r1, [pc, #784] ; (8087008 ) 8086cf8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086cfc: f7cd fc88 bl 8054610 if(blk) 8086d00: 4bc2 ldr r3, [pc, #776] ; (808700c ) 8086d02: 681b ldr r3, [r3, #0] 8086d04: 2b00 cmp r3, #0 8086d06: d00b beq.n 8086d20 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8086d08: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8086d0c: b2db uxtb r3, r3 8086d0e: 461a mov r2, r3 8086d10: 4bbf ldr r3, [pc, #764] ; (8087010 ) 8086d12: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086d16: 461a mov r2, r3 8086d18: 216a movs r1, #106 ; 0x6a 8086d1a: 20f6 movs r0, #246 ; 0xf6 8086d1c: f7ce fa20 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086d20: 49b9 ldr r1, [pc, #740] ; (8087008 ) 8086d22: 48bc ldr r0, [pc, #752] ; (8087014 ) 8086d24: f7cd fc74 bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8086d28: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8086d2c: b2db uxtb r3, r3 8086d2e: 461a mov r2, r3 8086d30: 4bb7 ldr r3, [pc, #732] ; (8087010 ) 8086d32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086d36: 461a mov r2, r3 8086d38: 216a movs r1, #106 ; 0x6a 8086d3a: 20c6 movs r0, #198 ; 0xc6 8086d3c: f7ce fa10 bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8086d40: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8086d44: b2db uxtb r3, r3 8086d46: 461a mov r2, r3 8086d48: 4bb1 ldr r3, [pc, #708] ; (8087010 ) 8086d4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086d4e: 461a mov r2, r3 8086d50: 216a movs r1, #106 ; 0x6a 8086d52: 20d6 movs r0, #214 ; 0xd6 8086d54: f7ce fa04 bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8086d58: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8086d5c: b2db uxtb r3, r3 8086d5e: 461a mov r2, r3 8086d60: 4bab ldr r3, [pc, #684] ; (8087010 ) 8086d62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086d66: 461a mov r2, r3 8086d68: 216a movs r1, #106 ; 0x6a 8086d6a: 20e6 movs r0, #230 ; 0xe6 8086d6c: f7ce f9f8 bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8086d70: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8086d74: b2db uxtb r3, r3 8086d76: 461a mov r2, r3 8086d78: 4ba5 ldr r3, [pc, #660] ; (8087010 ) 8086d7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086d7e: 461a mov r2, r3 8086d80: 216a movs r1, #106 ; 0x6a 8086d82: f44f 7083 mov.w r0, #262 ; 0x106 8086d86: f7ce f9eb bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 8086d8a: 4aa3 ldr r2, [pc, #652] ; (8087018 ) 8086d8c: 216a movs r1, #106 ; 0x6a 8086d8e: f44f 708b mov.w r0, #278 ; 0x116 8086d92: f7ce f9e5 bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8086d96: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8086d9a: b2db uxtb r3, r3 8086d9c: 461a mov r2, r3 8086d9e: 4b9c ldr r3, [pc, #624] ; (8087010 ) 8086da0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086da4: 461a mov r2, r3 8086da6: 216a movs r1, #106 ; 0x6a 8086da8: f44f 7093 mov.w r0, #294 ; 0x126 8086dac: f7ce f9d8 bl 8055160 8086db0: e0c4 b.n 8086f3c if(menupos == FilterLP_IEE) 8086db2: 4b94 ldr r3, [pc, #592] ; (8087004 ) 8086db4: 781b ldrb r3, [r3, #0] 8086db6: b2db uxtb r3, r3 8086db8: 2b23 cmp r3, #35 ; 0x23 8086dba: d15d bne.n 8086e78 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086dbc: 4992 ldr r1, [pc, #584] ; (8087008 ) 8086dbe: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086dc2: f7cd fc25 bl 8054610 if(blk) 8086dc6: 4b91 ldr r3, [pc, #580] ; (808700c ) 8086dc8: 681b ldr r3, [r3, #0] 8086dca: 2b00 cmp r3, #0 8086dcc: d00c beq.n 8086de8 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8086dce: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8086dd2: b2db uxtb r3, r3 8086dd4: 461a mov r2, r3 8086dd6: 4b8e ldr r3, [pc, #568] ; (8087010 ) 8086dd8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086ddc: 461a mov r2, r3 8086dde: 216a movs r1, #106 ; 0x6a 8086de0: f44f 7083 mov.w r0, #262 ; 0x106 8086de4: f7ce f9bc bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086de8: 4987 ldr r1, [pc, #540] ; (8087008 ) 8086dea: 488a ldr r0, [pc, #552] ; (8087014 ) 8086dec: f7cd fc10 bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8086df0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8086df4: b2db uxtb r3, r3 8086df6: 461a mov r2, r3 8086df8: 4b85 ldr r3, [pc, #532] ; (8087010 ) 8086dfa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086dfe: 461a mov r2, r3 8086e00: 216a movs r1, #106 ; 0x6a 8086e02: 20c6 movs r0, #198 ; 0xc6 8086e04: f7ce f9ac bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8086e08: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8086e0c: b2db uxtb r3, r3 8086e0e: 461a mov r2, r3 8086e10: 4b7f ldr r3, [pc, #508] ; (8087010 ) 8086e12: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086e16: 461a mov r2, r3 8086e18: 216a movs r1, #106 ; 0x6a 8086e1a: 20d6 movs r0, #214 ; 0xd6 8086e1c: f7ce f9a0 bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8086e20: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8086e24: b2db uxtb r3, r3 8086e26: 461a mov r2, r3 8086e28: 4b79 ldr r3, [pc, #484] ; (8087010 ) 8086e2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086e2e: 461a mov r2, r3 8086e30: 216a movs r1, #106 ; 0x6a 8086e32: 20e6 movs r0, #230 ; 0xe6 8086e34: f7ce f994 bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8086e38: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8086e3c: b2db uxtb r3, r3 8086e3e: 461a mov r2, r3 8086e40: 4b73 ldr r3, [pc, #460] ; (8087010 ) 8086e42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086e46: 461a mov r2, r3 8086e48: 216a movs r1, #106 ; 0x6a 8086e4a: 20f6 movs r0, #246 ; 0xf6 8086e4c: f7ce f988 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 8086e50: 4a71 ldr r2, [pc, #452] ; (8087018 ) 8086e52: 216a movs r1, #106 ; 0x6a 8086e54: f44f 708b mov.w r0, #278 ; 0x116 8086e58: f7ce f982 bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8086e5c: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8086e60: b2db uxtb r3, r3 8086e62: 461a mov r2, r3 8086e64: 4b6a ldr r3, [pc, #424] ; (8087010 ) 8086e66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086e6a: 461a mov r2, r3 8086e6c: 216a movs r1, #106 ; 0x6a 8086e6e: f44f 7093 mov.w r0, #294 ; 0x126 8086e72: f7ce f975 bl 8055160 8086e76: e061 b.n 8086f3c if(menupos == FilterLP_IKD) 8086e78: 4b62 ldr r3, [pc, #392] ; (8087004 ) 8086e7a: 781b ldrb r3, [r3, #0] 8086e7c: b2db uxtb r3, r3 8086e7e: 2b24 cmp r3, #36 ; 0x24 8086e80: d15c bne.n 8086f3c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086e82: 4961 ldr r1, [pc, #388] ; (8087008 ) 8086e84: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086e88: f7cd fbc2 bl 8054610 if(blk) 8086e8c: 4b5f ldr r3, [pc, #380] ; (808700c ) 8086e8e: 681b ldr r3, [r3, #0] 8086e90: 2b00 cmp r3, #0 8086e92: d00c beq.n 8086eae LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8086e94: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8086e98: b2db uxtb r3, r3 8086e9a: 461a mov r2, r3 8086e9c: 4b5c ldr r3, [pc, #368] ; (8087010 ) 8086e9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086ea2: 461a mov r2, r3 8086ea4: 216a movs r1, #106 ; 0x6a 8086ea6: f44f 7093 mov.w r0, #294 ; 0x126 8086eaa: f7ce f959 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086eae: 4956 ldr r1, [pc, #344] ; (8087008 ) 8086eb0: 4858 ldr r0, [pc, #352] ; (8087014 ) 8086eb2: f7cd fbad bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8086eb6: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8086eba: b2db uxtb r3, r3 8086ebc: 461a mov r2, r3 8086ebe: 4b54 ldr r3, [pc, #336] ; (8087010 ) 8086ec0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086ec4: 461a mov r2, r3 8086ec6: 216a movs r1, #106 ; 0x6a 8086ec8: 20c6 movs r0, #198 ; 0xc6 8086eca: f7ce f949 bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8086ece: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8086ed2: b2db uxtb r3, r3 8086ed4: 461a mov r2, r3 8086ed6: 4b4e ldr r3, [pc, #312] ; (8087010 ) 8086ed8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086edc: 461a mov r2, r3 8086ede: 216a movs r1, #106 ; 0x6a 8086ee0: 20d6 movs r0, #214 ; 0xd6 8086ee2: f7ce f93d bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8086ee6: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8086eea: b2db uxtb r3, r3 8086eec: 461a mov r2, r3 8086eee: 4b48 ldr r3, [pc, #288] ; (8087010 ) 8086ef0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086ef4: 461a mov r2, r3 8086ef6: 216a movs r1, #106 ; 0x6a 8086ef8: 20e6 movs r0, #230 ; 0xe6 8086efa: f7ce f931 bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8086efe: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8086f02: b2db uxtb r3, r3 8086f04: 461a mov r2, r3 8086f06: 4b42 ldr r3, [pc, #264] ; (8087010 ) 8086f08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086f0c: 461a mov r2, r3 8086f0e: 216a movs r1, #106 ; 0x6a 8086f10: 20f6 movs r0, #246 ; 0xf6 8086f12: f7ce f925 bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8086f16: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8086f1a: b2db uxtb r3, r3 8086f1c: 461a mov r2, r3 8086f1e: 4b3c ldr r3, [pc, #240] ; (8087010 ) 8086f20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086f24: 461a mov r2, r3 8086f26: 216a movs r1, #106 ; 0x6a 8086f28: f44f 7083 mov.w r0, #262 ; 0x106 8086f2c: f7ce f918 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 8086f30: 4a39 ldr r2, [pc, #228] ; (8087018 ) 8086f32: 216a movs r1, #106 ; 0x6a 8086f34: f44f 708b mov.w r0, #278 ; 0x116 8086f38: f7ce f912 bl 8055160 if(menupos == VibMax_IDT) 8086f3c: 4b31 ldr r3, [pc, #196] ; (8087004 ) 8086f3e: 781b ldrb r3, [r3, #0] 8086f40: b2db uxtb r3, r3 8086f42: 2b0b cmp r3, #11 8086f44: d16a bne.n 808701c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086f46: 4930 ldr r1, [pc, #192] ; (8087008 ) 8086f48: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086f4c: f7cd fb60 bl 8054610 if(blk) 8086f50: 4b2e ldr r3, [pc, #184] ; (808700c ) 8086f52: 681b ldr r3, [r3, #0] 8086f54: 2b00 cmp r3, #0 8086f56: d00b beq.n 8086f70 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 8086f58: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8086f5c: b2db uxtb r3, r3 8086f5e: 461a mov r2, r3 8086f60: 4b2b ldr r3, [pc, #172] ; (8087010 ) 8086f62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086f66: 461a mov r2, r3 8086f68: 21ca movs r1, #202 ; 0xca 8086f6a: 20c6 movs r0, #198 ; 0xc6 8086f6c: f7ce f8f8 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086f70: 4925 ldr r1, [pc, #148] ; (8087008 ) 8086f72: 4828 ldr r0, [pc, #160] ; (8087014 ) 8086f74: f7cd fb4c bl 8054610 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8086f78: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8086f7c: b2db uxtb r3, r3 8086f7e: 461a mov r2, r3 8086f80: 4b23 ldr r3, [pc, #140] ; (8087010 ) 8086f82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086f86: 461a mov r2, r3 8086f88: 21ca movs r1, #202 ; 0xca 8086f8a: 20d6 movs r0, #214 ; 0xd6 8086f8c: f7ce f8e8 bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 8086f90: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8086f94: b2db uxtb r3, r3 8086f96: 461a mov r2, r3 8086f98: 4b1d ldr r3, [pc, #116] ; (8087010 ) 8086f9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086f9e: 461a mov r2, r3 8086fa0: 21ca movs r1, #202 ; 0xca 8086fa2: 20e6 movs r0, #230 ; 0xe6 8086fa4: f7ce f8dc bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8086fa8: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8086fac: b2db uxtb r3, r3 8086fae: 461a mov r2, r3 8086fb0: 4b17 ldr r3, [pc, #92] ; (8087010 ) 8086fb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086fb6: 461a mov r2, r3 8086fb8: 21ca movs r1, #202 ; 0xca 8086fba: 20f6 movs r0, #246 ; 0xf6 8086fbc: f7ce f8d0 bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8086fc0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8086fc4: b2db uxtb r3, r3 8086fc6: 461a mov r2, r3 8086fc8: 4b11 ldr r3, [pc, #68] ; (8087010 ) 8086fca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086fce: 461a mov r2, r3 8086fd0: 21ca movs r1, #202 ; 0xca 8086fd2: f44f 7083 mov.w r0, #262 ; 0x106 8086fd6: f7ce f8c3 bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 8086fda: 4a0f ldr r2, [pc, #60] ; (8087018 ) 8086fdc: 21ca movs r1, #202 ; 0xca 8086fde: f44f 708b mov.w r0, #278 ; 0x116 8086fe2: f7ce f8bd bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8086fe6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8086fea: b2db uxtb r3, r3 8086fec: 461a mov r2, r3 8086fee: 4b08 ldr r3, [pc, #32] ; (8087010 ) 8086ff0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086ff4: 461a mov r2, r3 8086ff6: 21ca movs r1, #202 ; 0xca 8086ff8: f44f 7093 mov.w r0, #294 ; 0x126 8086ffc: f7ce f8b0 bl 8055160 8087000: e206 b.n 8087410 8087002: bf00 nop 8087004: 20020070 .word 0x20020070 8087008: ff0a0f1f .word 0xff0a0f1f 808700c: 200216a4 .word 0x200216a4 8087010: 2002096c .word 0x2002096c 8087014: ffd8aa57 .word 0xffd8aa57 8087018: 080d3b58 .word 0x080d3b58 if(menupos == VibMax_IET) 808701c: 4bc5 ldr r3, [pc, #788] ; (8087334 ) 808701e: 781b ldrb r3, [r3, #0] 8087020: b2db uxtb r3, r3 8087022: 2b0c cmp r3, #12 8087024: d15d bne.n 80870e2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087026: 49c4 ldr r1, [pc, #784] ; (8087338 ) 8087028: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808702c: f7cd faf0 bl 8054610 if(blk) 8087030: 4bc2 ldr r3, [pc, #776] ; (808733c ) 8087032: 681b ldr r3, [r3, #0] 8087034: 2b00 cmp r3, #0 8087036: d00b beq.n 8087050 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8087038: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808703c: b2db uxtb r3, r3 808703e: 461a mov r2, r3 8087040: 4bbf ldr r3, [pc, #764] ; (8087340 ) 8087042: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087046: 461a mov r2, r3 8087048: 21ca movs r1, #202 ; 0xca 808704a: 20d6 movs r0, #214 ; 0xd6 808704c: f7ce f888 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087050: 49b9 ldr r1, [pc, #740] ; (8087338 ) 8087052: 48bc ldr r0, [pc, #752] ; (8087344 ) 8087054: f7cd fadc bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 8087058: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808705c: b2db uxtb r3, r3 808705e: 461a mov r2, r3 8087060: 4bb7 ldr r3, [pc, #732] ; (8087340 ) 8087062: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087066: 461a mov r2, r3 8087068: 21ca movs r1, #202 ; 0xca 808706a: 20c6 movs r0, #198 ; 0xc6 808706c: f7ce f878 bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 8087070: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8087074: b2db uxtb r3, r3 8087076: 461a mov r2, r3 8087078: 4bb1 ldr r3, [pc, #708] ; (8087340 ) 808707a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808707e: 461a mov r2, r3 8087080: 21ca movs r1, #202 ; 0xca 8087082: 20e6 movs r0, #230 ; 0xe6 8087084: f7ce f86c bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8087088: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808708c: b2db uxtb r3, r3 808708e: 461a mov r2, r3 8087090: 4bab ldr r3, [pc, #684] ; (8087340 ) 8087092: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087096: 461a mov r2, r3 8087098: 21ca movs r1, #202 ; 0xca 808709a: 20f6 movs r0, #246 ; 0xf6 808709c: f7ce f860 bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 80870a0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80870a4: b2db uxtb r3, r3 80870a6: 461a mov r2, r3 80870a8: 4ba5 ldr r3, [pc, #660] ; (8087340 ) 80870aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80870ae: 461a mov r2, r3 80870b0: 21ca movs r1, #202 ; 0xca 80870b2: f44f 7083 mov.w r0, #262 ; 0x106 80870b6: f7ce f853 bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 80870ba: 4aa3 ldr r2, [pc, #652] ; (8087348 ) 80870bc: 21ca movs r1, #202 ; 0xca 80870be: f44f 708b mov.w r0, #278 ; 0x116 80870c2: f7ce f84d bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 80870c6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80870ca: b2db uxtb r3, r3 80870cc: 461a mov r2, r3 80870ce: 4b9c ldr r3, [pc, #624] ; (8087340 ) 80870d0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80870d4: 461a mov r2, r3 80870d6: 21ca movs r1, #202 ; 0xca 80870d8: f44f 7093 mov.w r0, #294 ; 0x126 80870dc: f7ce f840 bl 8055160 80870e0: e196 b.n 8087410 if(menupos == VibMax_IES) 80870e2: 4b94 ldr r3, [pc, #592] ; (8087334 ) 80870e4: 781b ldrb r3, [r3, #0] 80870e6: b2db uxtb r3, r3 80870e8: 2b0d cmp r3, #13 80870ea: d15d bne.n 80871a8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80870ec: 4992 ldr r1, [pc, #584] ; (8087338 ) 80870ee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80870f2: f7cd fa8d bl 8054610 if(blk) 80870f6: 4b91 ldr r3, [pc, #580] ; (808733c ) 80870f8: 681b ldr r3, [r3, #0] 80870fa: 2b00 cmp r3, #0 80870fc: d00b beq.n 8087116 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 80870fe: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8087102: b2db uxtb r3, r3 8087104: 461a mov r2, r3 8087106: 4b8e ldr r3, [pc, #568] ; (8087340 ) 8087108: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808710c: 461a mov r2, r3 808710e: 21ca movs r1, #202 ; 0xca 8087110: 20e6 movs r0, #230 ; 0xe6 8087112: f7ce f825 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087116: 4988 ldr r1, [pc, #544] ; (8087338 ) 8087118: 488a ldr r0, [pc, #552] ; (8087344 ) 808711a: f7cd fa79 bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 808711e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8087122: b2db uxtb r3, r3 8087124: 461a mov r2, r3 8087126: 4b86 ldr r3, [pc, #536] ; (8087340 ) 8087128: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808712c: 461a mov r2, r3 808712e: 21ca movs r1, #202 ; 0xca 8087130: 20c6 movs r0, #198 ; 0xc6 8087132: f7ce f815 bl 8055160 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8087136: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808713a: b2db uxtb r3, r3 808713c: 461a mov r2, r3 808713e: 4b80 ldr r3, [pc, #512] ; (8087340 ) 8087140: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087144: 461a mov r2, r3 8087146: 21ca movs r1, #202 ; 0xca 8087148: 20d6 movs r0, #214 ; 0xd6 808714a: f7ce f809 bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 808714e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8087152: b2db uxtb r3, r3 8087154: 461a mov r2, r3 8087156: 4b7a ldr r3, [pc, #488] ; (8087340 ) 8087158: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808715c: 461a mov r2, r3 808715e: 21ca movs r1, #202 ; 0xca 8087160: 20f6 movs r0, #246 ; 0xf6 8087162: f7cd fffd bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8087166: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808716a: b2db uxtb r3, r3 808716c: 461a mov r2, r3 808716e: 4b74 ldr r3, [pc, #464] ; (8087340 ) 8087170: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087174: 461a mov r2, r3 8087176: 21ca movs r1, #202 ; 0xca 8087178: f44f 7083 mov.w r0, #262 ; 0x106 808717c: f7cd fff0 bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 8087180: 4a71 ldr r2, [pc, #452] ; (8087348 ) 8087182: 21ca movs r1, #202 ; 0xca 8087184: f44f 708b mov.w r0, #278 ; 0x116 8087188: f7cd ffea bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 808718c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8087190: b2db uxtb r3, r3 8087192: 461a mov r2, r3 8087194: 4b6a ldr r3, [pc, #424] ; (8087340 ) 8087196: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808719a: 461a mov r2, r3 808719c: 21ca movs r1, #202 ; 0xca 808719e: f44f 7093 mov.w r0, #294 ; 0x126 80871a2: f7cd ffdd bl 8055160 80871a6: e133 b.n 8087410 if(menupos == VibMax_IED) 80871a8: 4b62 ldr r3, [pc, #392] ; (8087334 ) 80871aa: 781b ldrb r3, [r3, #0] 80871ac: b2db uxtb r3, r3 80871ae: 2b0e cmp r3, #14 80871b0: d15d bne.n 808726e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80871b2: 4961 ldr r1, [pc, #388] ; (8087338 ) 80871b4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80871b8: f7cd fa2a bl 8054610 if(blk) 80871bc: 4b5f ldr r3, [pc, #380] ; (808733c ) 80871be: 681b ldr r3, [r3, #0] 80871c0: 2b00 cmp r3, #0 80871c2: d00b beq.n 80871dc LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 80871c4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80871c8: b2db uxtb r3, r3 80871ca: 461a mov r2, r3 80871cc: 4b5c ldr r3, [pc, #368] ; (8087340 ) 80871ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80871d2: 461a mov r2, r3 80871d4: 21ca movs r1, #202 ; 0xca 80871d6: 20f6 movs r0, #246 ; 0xf6 80871d8: f7cd ffc2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80871dc: 4956 ldr r1, [pc, #344] ; (8087338 ) 80871de: 4859 ldr r0, [pc, #356] ; (8087344 ) 80871e0: f7cd fa16 bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 80871e4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80871e8: b2db uxtb r3, r3 80871ea: 461a mov r2, r3 80871ec: 4b54 ldr r3, [pc, #336] ; (8087340 ) 80871ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80871f2: 461a mov r2, r3 80871f4: 21ca movs r1, #202 ; 0xca 80871f6: 20c6 movs r0, #198 ; 0xc6 80871f8: f7cd ffb2 bl 8055160 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 80871fc: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8087200: b2db uxtb r3, r3 8087202: 461a mov r2, r3 8087204: 4b4e ldr r3, [pc, #312] ; (8087340 ) 8087206: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808720a: 461a mov r2, r3 808720c: 21ca movs r1, #202 ; 0xca 808720e: 20d6 movs r0, #214 ; 0xd6 8087210: f7cd ffa6 bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 8087214: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8087218: b2db uxtb r3, r3 808721a: 461a mov r2, r3 808721c: 4b48 ldr r3, [pc, #288] ; (8087340 ) 808721e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087222: 461a mov r2, r3 8087224: 21ca movs r1, #202 ; 0xca 8087226: 20e6 movs r0, #230 ; 0xe6 8087228: f7cd ff9a bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 808722c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8087230: b2db uxtb r3, r3 8087232: 461a mov r2, r3 8087234: 4b42 ldr r3, [pc, #264] ; (8087340 ) 8087236: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808723a: 461a mov r2, r3 808723c: 21ca movs r1, #202 ; 0xca 808723e: f44f 7083 mov.w r0, #262 ; 0x106 8087242: f7cd ff8d bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 8087246: 4a40 ldr r2, [pc, #256] ; (8087348 ) 8087248: 21ca movs r1, #202 ; 0xca 808724a: f44f 708b mov.w r0, #278 ; 0x116 808724e: f7cd ff87 bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8087252: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8087256: b2db uxtb r3, r3 8087258: 461a mov r2, r3 808725a: 4b39 ldr r3, [pc, #228] ; (8087340 ) 808725c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087260: 461a mov r2, r3 8087262: 21ca movs r1, #202 ; 0xca 8087264: f44f 7093 mov.w r0, #294 ; 0x126 8087268: f7cd ff7a bl 8055160 808726c: e0d0 b.n 8087410 if(menupos == VibMax_IEE) 808726e: 4b31 ldr r3, [pc, #196] ; (8087334 ) 8087270: 781b ldrb r3, [r3, #0] 8087272: b2db uxtb r3, r3 8087274: 2b0f cmp r3, #15 8087276: d169 bne.n 808734c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087278: 492f ldr r1, [pc, #188] ; (8087338 ) 808727a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808727e: f7cd f9c7 bl 8054610 if(blk) 8087282: 4b2e ldr r3, [pc, #184] ; (808733c ) 8087284: 681b ldr r3, [r3, #0] 8087286: 2b00 cmp r3, #0 8087288: d00c beq.n 80872a4 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 808728a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808728e: b2db uxtb r3, r3 8087290: 461a mov r2, r3 8087292: 4b2b ldr r3, [pc, #172] ; (8087340 ) 8087294: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087298: 461a mov r2, r3 808729a: 21ca movs r1, #202 ; 0xca 808729c: f44f 7083 mov.w r0, #262 ; 0x106 80872a0: f7cd ff5e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80872a4: 4924 ldr r1, [pc, #144] ; (8087338 ) 80872a6: 4827 ldr r0, [pc, #156] ; (8087344 ) 80872a8: f7cd f9b2 bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 80872ac: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80872b0: b2db uxtb r3, r3 80872b2: 461a mov r2, r3 80872b4: 4b22 ldr r3, [pc, #136] ; (8087340 ) 80872b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80872ba: 461a mov r2, r3 80872bc: 21ca movs r1, #202 ; 0xca 80872be: 20c6 movs r0, #198 ; 0xc6 80872c0: f7cd ff4e bl 8055160 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 80872c4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80872c8: b2db uxtb r3, r3 80872ca: 461a mov r2, r3 80872cc: 4b1c ldr r3, [pc, #112] ; (8087340 ) 80872ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80872d2: 461a mov r2, r3 80872d4: 21ca movs r1, #202 ; 0xca 80872d6: 20d6 movs r0, #214 ; 0xd6 80872d8: f7cd ff42 bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 80872dc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80872e0: b2db uxtb r3, r3 80872e2: 461a mov r2, r3 80872e4: 4b16 ldr r3, [pc, #88] ; (8087340 ) 80872e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80872ea: 461a mov r2, r3 80872ec: 21ca movs r1, #202 ; 0xca 80872ee: 20e6 movs r0, #230 ; 0xe6 80872f0: f7cd ff36 bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 80872f4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80872f8: b2db uxtb r3, r3 80872fa: 461a mov r2, r3 80872fc: 4b10 ldr r3, [pc, #64] ; (8087340 ) 80872fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087302: 461a mov r2, r3 8087304: 21ca movs r1, #202 ; 0xca 8087306: 20f6 movs r0, #246 ; 0xf6 8087308: f7cd ff2a bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 808730c: 4a0e ldr r2, [pc, #56] ; (8087348 ) 808730e: 21ca movs r1, #202 ; 0xca 8087310: f44f 708b mov.w r0, #278 ; 0x116 8087314: f7cd ff24 bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8087318: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808731c: b2db uxtb r3, r3 808731e: 461a mov r2, r3 8087320: 4b07 ldr r3, [pc, #28] ; (8087340 ) 8087322: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087326: 461a mov r2, r3 8087328: 21ca movs r1, #202 ; 0xca 808732a: f44f 7093 mov.w r0, #294 ; 0x126 808732e: f7cd ff17 bl 8055160 8087332: e06d b.n 8087410 8087334: 20020070 .word 0x20020070 8087338: ff0a0f1f .word 0xff0a0f1f 808733c: 200216a4 .word 0x200216a4 8087340: 2002096c .word 0x2002096c 8087344: ffd8aa57 .word 0xffd8aa57 8087348: 080d3b58 .word 0x080d3b58 if(menupos == VibMax_IKD) 808734c: 4b99 ldr r3, [pc, #612] ; (80875b4 ) 808734e: 781b ldrb r3, [r3, #0] 8087350: b2db uxtb r3, r3 8087352: 2b10 cmp r3, #16 8087354: d15c bne.n 8087410 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087356: 4998 ldr r1, [pc, #608] ; (80875b8 ) 8087358: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808735c: f7cd f958 bl 8054610 if(blk) 8087360: 4b96 ldr r3, [pc, #600] ; (80875bc ) 8087362: 681b ldr r3, [r3, #0] 8087364: 2b00 cmp r3, #0 8087366: d00c beq.n 8087382 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8087368: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808736c: b2db uxtb r3, r3 808736e: 461a mov r2, r3 8087370: 4b93 ldr r3, [pc, #588] ; (80875c0 ) 8087372: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087376: 461a mov r2, r3 8087378: 21ca movs r1, #202 ; 0xca 808737a: f44f 7093 mov.w r0, #294 ; 0x126 808737e: f7cd feef bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087382: 498d ldr r1, [pc, #564] ; (80875b8 ) 8087384: 488f ldr r0, [pc, #572] ; (80875c4 ) 8087386: f7cd f943 bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 808738a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808738e: b2db uxtb r3, r3 8087390: 461a mov r2, r3 8087392: 4b8b ldr r3, [pc, #556] ; (80875c0 ) 8087394: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087398: 461a mov r2, r3 808739a: 21ca movs r1, #202 ; 0xca 808739c: 20c6 movs r0, #198 ; 0xc6 808739e: f7cd fedf bl 8055160 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 80873a2: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80873a6: b2db uxtb r3, r3 80873a8: 461a mov r2, r3 80873aa: 4b85 ldr r3, [pc, #532] ; (80875c0 ) 80873ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80873b0: 461a mov r2, r3 80873b2: 21ca movs r1, #202 ; 0xca 80873b4: 20d6 movs r0, #214 ; 0xd6 80873b6: f7cd fed3 bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 80873ba: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80873be: b2db uxtb r3, r3 80873c0: 461a mov r2, r3 80873c2: 4b7f ldr r3, [pc, #508] ; (80875c0 ) 80873c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80873c8: 461a mov r2, r3 80873ca: 21ca movs r1, #202 ; 0xca 80873cc: 20e6 movs r0, #230 ; 0xe6 80873ce: f7cd fec7 bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 80873d2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80873d6: b2db uxtb r3, r3 80873d8: 461a mov r2, r3 80873da: 4b79 ldr r3, [pc, #484] ; (80875c0 ) 80873dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80873e0: 461a mov r2, r3 80873e2: 21ca movs r1, #202 ; 0xca 80873e4: 20f6 movs r0, #246 ; 0xf6 80873e6: f7cd febb bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 80873ea: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80873ee: b2db uxtb r3, r3 80873f0: 461a mov r2, r3 80873f2: 4b73 ldr r3, [pc, #460] ; (80875c0 ) 80873f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80873f8: 461a mov r2, r3 80873fa: 21ca movs r1, #202 ; 0xca 80873fc: f44f 7083 mov.w r0, #262 ; 0x106 8087400: f7cd feae bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 8087404: 4a70 ldr r2, [pc, #448] ; (80875c8 ) 8087406: 21ca movs r1, #202 ; 0xca 8087408: f44f 708b mov.w r0, #278 ; 0x116 808740c: f7cd fea8 bl 8055160 if(pardata.OPTIONS & BIT2) // Åñëè àâòîóñèëåíèå 8087410: 4b6e ldr r3, [pc, #440] ; (80875cc ) 8087412: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087416: f003 0304 and.w r3, r3, #4 808741a: 2b00 cmp r3, #0 808741c: f002 8303 beq.w 8089a26 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8087420: 4965 ldr r1, [pc, #404] ; (80875b8 ) 8087422: 486b ldr r0, [pc, #428] ; (80875d0 ) 8087424: f7cd f8f4 bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_11 + 2, 6, 6); 8087428: 2306 movs r3, #6 808742a: 2206 movs r2, #6 808742c: 21bf movs r1, #191 ; 0xbf 808742e: f240 1001 movw r0, #257 ; 0x101 8087432: f7cd fd7b bl 8054f2c break; 8087436: f002 baf6 b.w 8089a26 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808743a: 495f ldr r1, [pc, #380] ; (80875b8 ) 808743c: 4865 ldr r0, [pc, #404] ; (80875d4 ) 808743e: f7cd f8e7 bl 8054610 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8087442: 4b62 ldr r3, [pc, #392] ; (80875cc ) 8087444: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087448: f003 0304 and.w r3, r3, #4 808744c: 2b00 cmp r3, #0 808744e: d02d beq.n 80874ac if(pardata.IIN != VOLTS) 8087450: 4b5e ldr r3, [pc, #376] ; (80875cc ) 8087452: 799b ldrb r3, [r3, #6] 8087454: b2db uxtb r3, r3 8087456: 2b02 cmp r3, #2 8087458: d010 beq.n 808747c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808745a: 4b5c ldr r3, [pc, #368] ; (80875cc ) 808745c: 7b1b ldrb r3, [r3, #12] 808745e: b2db uxtb r3, r3 8087460: 4619 mov r1, r3 8087462: 4a5d ldr r2, [pc, #372] ; (80875d8 ) 8087464: 232c movs r3, #44 ; 0x2c 8087466: fb03 f301 mul.w r3, r3, r1 808746a: 4413 add r3, r2 808746c: 3324 adds r3, #36 ; 0x24 808746e: 681b ldr r3, [r3, #0] 8087470: 461a mov r2, r3 8087472: 21aa movs r1, #170 ; 0xaa 8087474: 200a movs r0, #10 8087476: f7cd fe73 bl 8055160 808747a: e00f b.n 808749c else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808747c: 4b53 ldr r3, [pc, #332] ; (80875cc ) 808747e: 7b1b ldrb r3, [r3, #12] 8087480: b2db uxtb r3, r3 8087482: 4619 mov r1, r3 8087484: 4a55 ldr r2, [pc, #340] ; (80875dc ) 8087486: 232c movs r3, #44 ; 0x2c 8087488: fb03 f301 mul.w r3, r3, r1 808748c: 4413 add r3, r2 808748e: 3324 adds r3, #36 ; 0x24 8087490: 681b ldr r3, [r3, #0] 8087492: 461a mov r2, r3 8087494: 21aa movs r1, #170 ; 0xaa 8087496: 200a movs r0, #10 8087498: f7cd fe62 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_10, str); 808749c: f507 733b add.w r3, r7, #748 ; 0x2ec 80874a0: 461a mov r2, r3 80874a2: 21aa movs r1, #170 ; 0xaa 80874a4: f44f 7082 mov.w r0, #260 ; 0x104 80874a8: f7cd fe72 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80874ac: 4942 ldr r1, [pc, #264] ; (80875b8 ) 80874ae: f04f 30ff mov.w r0, #4294967295 80874b2: f7cd f8ad bl 8054610 if(pardata.LANG == RUS) 80874b6: 4b45 ldr r3, [pc, #276] ; (80875cc ) 80874b8: 7b1b ldrb r3, [r3, #12] 80874ba: b2db uxtb r3, r3 80874bc: 2b00 cmp r3, #0 80874be: d119 bne.n 80874f4 LCD_DisplayString(10, LCD_LINE_4, "Âåëè÷èíà"); 80874c0: 4a47 ldr r2, [pc, #284] ; (80875e0 ) 80874c2: 214a movs r1, #74 ; 0x4a 80874c4: 200a movs r0, #10 80874c6: f7cd fe4b bl 8055160 LCD_DisplayString(10, LCD_LINE_5, "Ôèëüòð Â×(Ãö)"); 80874ca: 4a46 ldr r2, [pc, #280] ; (80875e4 ) 80874cc: 215a movs r1, #90 ; 0x5a 80874ce: 200a movs r0, #10 80874d0: f7cd fe46 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Ôèëüòð Í×(Ãö)"); 80874d4: 4a44 ldr r2, [pc, #272] ; (80875e8 ) 80874d6: 216a movs r1, #106 ; 0x6a 80874d8: 200a movs r0, #10 80874da: f7cd fe41 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Ìàñøòàá ïî Y"); 80874de: 4a43 ldr r2, [pc, #268] ; (80875ec ) 80874e0: 217a movs r1, #122 ; 0x7a 80874e2: 200a movs r0, #10 80874e4: f7cd fe3c bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Âðåìåííîé èíòåðâàë"); 80874e8: 4a41 ldr r2, [pc, #260] ; (80875f0 ) 80874ea: 218a movs r1, #138 ; 0x8a 80874ec: 200a movs r0, #10 80874ee: f7cd fe37 bl 8055160 80874f2: e018 b.n 8087526 LCD_DisplayString(10, LCD_LINE_4, "Parameter"); 80874f4: 4a3f ldr r2, [pc, #252] ; (80875f4 ) 80874f6: 214a movs r1, #74 ; 0x4a 80874f8: 200a movs r0, #10 80874fa: f7cd fe31 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, "HPF(Hz)"); 80874fe: 4a3e ldr r2, [pc, #248] ; (80875f8 ) 8087500: 215a movs r1, #90 ; 0x5a 8087502: 200a movs r0, #10 8087504: f7cd fe2c bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "LPF(Hz)"); 8087508: 4a3c ldr r2, [pc, #240] ; (80875fc ) 808750a: 216a movs r1, #106 ; 0x6a 808750c: 200a movs r0, #10 808750e: f7cd fe27 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Scale Y"); 8087512: 4a3b ldr r2, [pc, #236] ; (8087600 ) 8087514: 217a movs r1, #122 ; 0x7a 8087516: 200a movs r0, #10 8087518: f7cd fe22 bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Time period"); 808751c: 4a39 ldr r2, [pc, #228] ; (8087604 ) 808751e: 218a movs r1, #138 ; 0x8a 8087520: 200a movs r0, #10 8087522: f7cd fe1d bl 8055160 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][8]);//"Óñèëåíèå" 8087526: 4b29 ldr r3, [pc, #164] ; (80875cc ) 8087528: 7b1b ldrb r3, [r3, #12] 808752a: b2db uxtb r3, r3 808752c: 4619 mov r1, r3 808752e: 4a2a ldr r2, [pc, #168] ; (80875d8 ) 8087530: 232c movs r3, #44 ; 0x2c 8087532: fb03 f301 mul.w r3, r3, r1 8087536: 4413 add r3, r2 8087538: 3320 adds r3, #32 808753a: 681b ldr r3, [r3, #0] 808753c: 461a mov r2, r3 808753e: 219a movs r1, #154 ; 0x9a 8087540: 200a movs r0, #10 8087542: f7cd fe0d bl 8055160 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8087546: 230a movs r3, #10 8087548: 220a movs r2, #10 808754a: 219d movs r1, #157 ; 0x9d 808754c: 20ff movs r0, #255 ; 0xff 808754e: f7cd fced bl 8054f2c if(menupos == Ok) 8087552: 4b18 ldr r3, [pc, #96] ; (80875b4 ) 8087554: 781b ldrb r3, [r3, #0] 8087556: b2db uxtb r3, r3 8087558: 2b00 cmp r3, #0 808755a: f040 8100 bne.w 808775e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808755e: 4916 ldr r1, [pc, #88] ; (80875b8 ) 8087560: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087564: f7cd f854 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8087568: 4b18 ldr r3, [pc, #96] ; (80875cc ) 808756a: 7b1b ldrb r3, [r3, #12] 808756c: b2db uxtb r3, r3 808756e: 461a mov r2, r3 8087570: 4b25 ldr r3, [pc, #148] ; (8087608 ) 8087572: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087576: 461a mov r2, r3 8087578: 2127 movs r1, #39 ; 0x27 808757a: 200a movs r0, #10 808757c: f7cd fdf0 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087580: 490d ldr r1, [pc, #52] ; (80875b8 ) 8087582: 4810 ldr r0, [pc, #64] ; (80875c4 ) 8087584: f7cd f844 bl 8054610 if((pardata.OPTIONS & maskFFT) == okt) 8087588: 4b10 ldr r3, [pc, #64] ; (80875cc ) 808758a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808758e: f003 0330 and.w r3, r3, #48 ; 0x30 8087592: 2b20 cmp r3, #32 8087594: d13c bne.n 8087610 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8087596: 4b0d ldr r3, [pc, #52] ; (80875cc ) 8087598: 7b1b ldrb r3, [r3, #12] 808759a: b2db uxtb r3, r3 808759c: 4a1b ldr r2, [pc, #108] ; (808760c ) 808759e: 011b lsls r3, r3, #4 80875a0: 4413 add r3, r2 80875a2: 3308 adds r3, #8 80875a4: 681b ldr r3, [r3, #0] 80875a6: 461a mov r2, r3 80875a8: 213a movs r1, #58 ; 0x3a 80875aa: f44f 7082 mov.w r0, #260 ; 0x104 80875ae: f7cd fdef bl 8055190 80875b2: e03b b.n 808762c 80875b4: 20020070 .word 0x20020070 80875b8: ff0a0f1f .word 0xff0a0f1f 80875bc: 200216a4 .word 0x200216a4 80875c0: 2002096c .word 0x2002096c 80875c4: ffd8aa57 .word 0xffd8aa57 80875c8: 080d3b58 .word 0x080d3b58 80875cc: 20023ea8 .word 0x20023ea8 80875d0: ff404040 .word 0xff404040 80875d4: ff808080 .word 0xff808080 80875d8: 200206bc .word 0x200206bc 80875dc: 20020714 .word 0x20020714 80875e0: 080d3a98 .word 0x080d3a98 80875e4: 080d3540 .word 0x080d3540 80875e8: 080d3550 .word 0x080d3550 80875ec: 080d43d0 .word 0x080d43d0 80875f0: 080d3584 .word 0x080d3584 80875f4: 080d3aa4 .word 0x080d3aa4 80875f8: 080d35f0 .word 0x080d35f0 80875fc: 080d35f8 .word 0x080d35f8 8087600: 080d43f0 .word 0x080d43f0 8087604: 080d3618 .word 0x080d3618 8087608: 200205cc .word 0x200205cc 808760c: 200202a4 .word 0x200202a4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8087610: 4b83 ldr r3, [pc, #524] ; (8087820 ) 8087612: 7b1b ldrb r3, [r3, #12] 8087614: b2db uxtb r3, r3 8087616: 4a83 ldr r2, [pc, #524] ; (8087824 ) 8087618: 011b lsls r3, r3, #4 808761a: 4413 add r3, r2 808761c: 330c adds r3, #12 808761e: 681b ldr r3, [r3, #0] 8087620: 461a mov r2, r3 8087622: 213a movs r1, #58 ; 0x3a 8087624: f44f 7082 mov.w r0, #260 ; 0x104 8087628: f7cd fdb2 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 808762c: 4b7c ldr r3, [pc, #496] ; (8087820 ) 808762e: 7b1b ldrb r3, [r3, #12] 8087630: b2db uxtb r3, r3 8087632: 4618 mov r0, r3 8087634: 4b7a ldr r3, [pc, #488] ; (8087820 ) 8087636: 7a9b ldrb r3, [r3, #10] 8087638: b2db uxtb r3, r3 808763a: 4619 mov r1, r3 808763c: 4a7a ldr r2, [pc, #488] ; (8087828 ) 808763e: 0043 lsls r3, r0, #1 8087640: 440b add r3, r1 8087642: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087646: 461a mov r2, r3 8087648: 217a movs r1, #122 ; 0x7a 808764a: f44f 7082 mov.w r0, #260 ; 0x104 808764e: f7cd fd9f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8087652: 4b73 ldr r3, [pc, #460] ; (8087820 ) 8087654: 7b1b ldrb r3, [r3, #12] 8087656: b2db uxtb r3, r3 8087658: 4619 mov r1, r3 808765a: 4b71 ldr r3, [pc, #452] ; (8087820 ) 808765c: 7b5b ldrb r3, [r3, #13] 808765e: b2db uxtb r3, r3 8087660: 4618 mov r0, r3 8087662: 4a72 ldr r2, [pc, #456] ; (808782c ) 8087664: 460b mov r3, r1 8087666: 009b lsls r3, r3, #2 8087668: 440b add r3, r1 808766a: 005b lsls r3, r3, #1 808766c: 4403 add r3, r0 808766e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087672: 461a mov r2, r3 8087674: 218a movs r1, #138 ; 0x8a 8087676: f44f 7082 mov.w r0, #260 ; 0x104 808767a: f7cd fd89 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 808767e: 4b68 ldr r3, [pc, #416] ; (8087820 ) 8087680: 7b1b ldrb r3, [r3, #12] 8087682: b2db uxtb r3, r3 8087684: 4618 mov r0, r3 8087686: 4b66 ldr r3, [pc, #408] ; (8087820 ) 8087688: 785b ldrb r3, [r3, #1] 808768a: b2db uxtb r3, r3 808768c: 005b lsls r3, r3, #1 808768e: 4a64 ldr r2, [pc, #400] ; (8087820 ) 8087690: 7852 ldrb r2, [r2, #1] 8087692: b2d2 uxtb r2, r2 8087694: 4611 mov r1, r2 8087696: 4a62 ldr r2, [pc, #392] ; (8087820 ) 8087698: 440a add r2, r1 808769a: 7892 ldrb r2, [r2, #2] 808769c: b2d2 uxtb r2, r2 808769e: 431a orrs r2, r3 80876a0: 4963 ldr r1, [pc, #396] ; (8087830 ) 80876a2: 4603 mov r3, r0 80876a4: 005b lsls r3, r3, #1 80876a6: 4403 add r3, r0 80876a8: 005b lsls r3, r3, #1 80876aa: 4413 add r3, r2 80876ac: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80876b0: 461a mov r2, r3 80876b2: 214a movs r1, #74 ; 0x4a 80876b4: f44f 7082 mov.w r0, #260 ; 0x104 80876b8: f7cd fd6a bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80876bc: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80876c0: 461a mov r2, r3 80876c2: 215a movs r1, #90 ; 0x5a 80876c4: f44f 7082 mov.w r0, #260 ; 0x104 80876c8: f7cd fd62 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80876cc: f507 73cc add.w r3, r7, #408 ; 0x198 80876d0: 461a mov r2, r3 80876d2: 216a movs r1, #106 ; 0x6a 80876d4: f44f 7082 mov.w r0, #260 ; 0x104 80876d8: f7cd fd5a bl 8055190 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 80876dc: 4b50 ldr r3, [pc, #320] ; (8087820 ) 80876de: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80876e2: f003 0304 and.w r3, r3, #4 80876e6: 2b00 cmp r3, #0 80876e8: f042 818a bne.w 8089a00 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80876ec: 4951 ldr r1, [pc, #324] ; (8087834 ) 80876ee: f04f 30ff mov.w r0, #4294967295 80876f2: f7cc ff8d bl 8054610 if(pardata.IIN != VOLTS) 80876f6: 4b4a ldr r3, [pc, #296] ; (8087820 ) 80876f8: 799b ldrb r3, [r3, #6] 80876fa: b2db uxtb r3, r3 80876fc: 2b02 cmp r3, #2 80876fe: d010 beq.n 8087722 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087700: 4b47 ldr r3, [pc, #284] ; (8087820 ) 8087702: 7b1b ldrb r3, [r3, #12] 8087704: b2db uxtb r3, r3 8087706: 4619 mov r1, r3 8087708: 4a4b ldr r2, [pc, #300] ; (8087838 ) 808770a: 232c movs r3, #44 ; 0x2c 808770c: fb03 f301 mul.w r3, r3, r1 8087710: 4413 add r3, r2 8087712: 3324 adds r3, #36 ; 0x24 8087714: 681b ldr r3, [r3, #0] 8087716: 461a mov r2, r3 8087718: 21aa movs r1, #170 ; 0xaa 808771a: 200a movs r0, #10 808771c: f7cd fd20 bl 8055160 8087720: e00f b.n 8087742 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087722: 4b3f ldr r3, [pc, #252] ; (8087820 ) 8087724: 7b1b ldrb r3, [r3, #12] 8087726: b2db uxtb r3, r3 8087728: 4619 mov r1, r3 808772a: 4a44 ldr r2, [pc, #272] ; (808783c ) 808772c: 232c movs r3, #44 ; 0x2c 808772e: fb03 f301 mul.w r3, r3, r1 8087732: 4413 add r3, r2 8087734: 3324 adds r3, #36 ; 0x24 8087736: 681b ldr r3, [r3, #0] 8087738: 461a mov r2, r3 808773a: 21aa movs r1, #170 ; 0xaa 808773c: 200a movs r0, #10 808773e: f7cd fd0f bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087742: 493c ldr r1, [pc, #240] ; (8087834 ) 8087744: 483e ldr r0, [pc, #248] ; (8087840 ) 8087746: f7cc ff63 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, str); 808774a: f507 733b add.w r3, r7, #748 ; 0x2ec 808774e: 461a mov r2, r3 8087750: 21aa movs r1, #170 ; 0xaa 8087752: f44f 7082 mov.w r0, #260 ; 0x104 8087756: f7cd fd1b bl 8055190 808775a: f002 b951 b.w 8089a00 if(menupos == SpecType) 808775e: 4b39 ldr r3, [pc, #228] ; (8087844 ) 8087760: 781b ldrb r3, [r3, #0] 8087762: b2db uxtb r3, r3 8087764: 2b01 cmp r3, #1 8087766: f040 8120 bne.w 80879aa LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808776a: 4932 ldr r1, [pc, #200] ; (8087834 ) 808776c: f04f 30ff mov.w r0, #4294967295 8087770: f7cc ff4e bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8087774: 4b2a ldr r3, [pc, #168] ; (8087820 ) 8087776: 7b1b ldrb r3, [r3, #12] 8087778: b2db uxtb r3, r3 808777a: 461a mov r2, r3 808777c: 4b32 ldr r3, [pc, #200] ; (8087848 ) 808777e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087782: 461a mov r2, r3 8087784: 2127 movs r1, #39 ; 0x27 8087786: 200a movs r0, #10 8087788: f7cd fcea bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808778c: 4929 ldr r1, [pc, #164] ; (8087834 ) 808778e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087792: f7cc ff3d bl 8054610 if(focused) 8087796: 4b2d ldr r3, [pc, #180] ; (808784c ) 8087798: 781b ldrb r3, [r3, #0] 808779a: b2db uxtb r3, r3 808779c: 2b00 cmp r3, #0 808779e: d028 beq.n 80877f2 if(blk) 80877a0: 4b2b ldr r3, [pc, #172] ; (8087850 ) 80877a2: 681b ldr r3, [r3, #0] 80877a4: 2b00 cmp r3, #0 80877a6: d063 beq.n 8087870 if((pardata.OPTIONS & maskFFT) == okt) 80877a8: 4b1d ldr r3, [pc, #116] ; (8087820 ) 80877aa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80877ae: f003 0330 and.w r3, r3, #48 ; 0x30 80877b2: 2b20 cmp r3, #32 80877b4: d10e bne.n 80877d4 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 80877b6: 4b1a ldr r3, [pc, #104] ; (8087820 ) 80877b8: 7b1b ldrb r3, [r3, #12] 80877ba: b2db uxtb r3, r3 80877bc: 4a19 ldr r2, [pc, #100] ; (8087824 ) 80877be: 011b lsls r3, r3, #4 80877c0: 4413 add r3, r2 80877c2: 3308 adds r3, #8 80877c4: 681b ldr r3, [r3, #0] 80877c6: 461a mov r2, r3 80877c8: 213a movs r1, #58 ; 0x3a 80877ca: f44f 7082 mov.w r0, #260 ; 0x104 80877ce: f7cd fcdf bl 8055190 80877d2: e04d b.n 8087870 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 80877d4: 4b12 ldr r3, [pc, #72] ; (8087820 ) 80877d6: 7b1b ldrb r3, [r3, #12] 80877d8: b2db uxtb r3, r3 80877da: 4a12 ldr r2, [pc, #72] ; (8087824 ) 80877dc: 011b lsls r3, r3, #4 80877de: 4413 add r3, r2 80877e0: 330c adds r3, #12 80877e2: 681b ldr r3, [r3, #0] 80877e4: 461a mov r2, r3 80877e6: 213a movs r1, #58 ; 0x3a 80877e8: f44f 7082 mov.w r0, #260 ; 0x104 80877ec: f7cd fcd0 bl 8055190 80877f0: e03e b.n 8087870 if((pardata.OPTIONS & maskFFT) == okt) 80877f2: 4b0b ldr r3, [pc, #44] ; (8087820 ) 80877f4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80877f8: f003 0330 and.w r3, r3, #48 ; 0x30 80877fc: 2b20 cmp r3, #32 80877fe: d129 bne.n 8087854 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8087800: 4b07 ldr r3, [pc, #28] ; (8087820 ) 8087802: 7b1b ldrb r3, [r3, #12] 8087804: b2db uxtb r3, r3 8087806: 4a07 ldr r2, [pc, #28] ; (8087824 ) 8087808: 011b lsls r3, r3, #4 808780a: 4413 add r3, r2 808780c: 3308 adds r3, #8 808780e: 681b ldr r3, [r3, #0] 8087810: 461a mov r2, r3 8087812: 213a movs r1, #58 ; 0x3a 8087814: f44f 7082 mov.w r0, #260 ; 0x104 8087818: f7cd fcba bl 8055190 808781c: e028 b.n 8087870 808781e: bf00 nop 8087820: 20023ea8 .word 0x20023ea8 8087824: 200202a4 .word 0x200202a4 8087828: 2002021c .word 0x2002021c 808782c: 20020254 .word 0x20020254 8087830: 200201a4 .word 0x200201a4 8087834: ff0a0f1f .word 0xff0a0f1f 8087838: 200206bc .word 0x200206bc 808783c: 20020714 .word 0x20020714 8087840: ffd8aa57 .word 0xffd8aa57 8087844: 20020070 .word 0x20020070 8087848: 200205cc .word 0x200205cc 808784c: 20020fc8 .word 0x20020fc8 8087850: 200216a4 .word 0x200216a4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8087854: 4b94 ldr r3, [pc, #592] ; (8087aa8 ) 8087856: 7b1b ldrb r3, [r3, #12] 8087858: b2db uxtb r3, r3 808785a: 4a94 ldr r2, [pc, #592] ; (8087aac ) 808785c: 011b lsls r3, r3, #4 808785e: 4413 add r3, r2 8087860: 330c adds r3, #12 8087862: 681b ldr r3, [r3, #0] 8087864: 461a mov r2, r3 8087866: 213a movs r1, #58 ; 0x3a 8087868: f44f 7082 mov.w r0, #260 ; 0x104 808786c: f7cd fc90 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087870: 498f ldr r1, [pc, #572] ; (8087ab0 ) 8087872: 4890 ldr r0, [pc, #576] ; (8087ab4 ) 8087874: f7cc fecc bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8087878: 4b8b ldr r3, [pc, #556] ; (8087aa8 ) 808787a: 7b1b ldrb r3, [r3, #12] 808787c: b2db uxtb r3, r3 808787e: 4618 mov r0, r3 8087880: 4b89 ldr r3, [pc, #548] ; (8087aa8 ) 8087882: 7a9b ldrb r3, [r3, #10] 8087884: b2db uxtb r3, r3 8087886: 4619 mov r1, r3 8087888: 4a8b ldr r2, [pc, #556] ; (8087ab8 ) 808788a: 0043 lsls r3, r0, #1 808788c: 440b add r3, r1 808788e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087892: 461a mov r2, r3 8087894: 217a movs r1, #122 ; 0x7a 8087896: f44f 7082 mov.w r0, #260 ; 0x104 808789a: f7cd fc79 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 808789e: 4b82 ldr r3, [pc, #520] ; (8087aa8 ) 80878a0: 7b1b ldrb r3, [r3, #12] 80878a2: b2db uxtb r3, r3 80878a4: 4619 mov r1, r3 80878a6: 4b80 ldr r3, [pc, #512] ; (8087aa8 ) 80878a8: 7b5b ldrb r3, [r3, #13] 80878aa: b2db uxtb r3, r3 80878ac: 4618 mov r0, r3 80878ae: 4a83 ldr r2, [pc, #524] ; (8087abc ) 80878b0: 460b mov r3, r1 80878b2: 009b lsls r3, r3, #2 80878b4: 440b add r3, r1 80878b6: 005b lsls r3, r3, #1 80878b8: 4403 add r3, r0 80878ba: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80878be: 461a mov r2, r3 80878c0: 218a movs r1, #138 ; 0x8a 80878c2: f44f 7082 mov.w r0, #260 ; 0x104 80878c6: f7cd fc63 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80878ca: 4b77 ldr r3, [pc, #476] ; (8087aa8 ) 80878cc: 7b1b ldrb r3, [r3, #12] 80878ce: b2db uxtb r3, r3 80878d0: 4618 mov r0, r3 80878d2: 4b75 ldr r3, [pc, #468] ; (8087aa8 ) 80878d4: 785b ldrb r3, [r3, #1] 80878d6: b2db uxtb r3, r3 80878d8: 005b lsls r3, r3, #1 80878da: 4a73 ldr r2, [pc, #460] ; (8087aa8 ) 80878dc: 7852 ldrb r2, [r2, #1] 80878de: b2d2 uxtb r2, r2 80878e0: 4611 mov r1, r2 80878e2: 4a71 ldr r2, [pc, #452] ; (8087aa8 ) 80878e4: 440a add r2, r1 80878e6: 7892 ldrb r2, [r2, #2] 80878e8: b2d2 uxtb r2, r2 80878ea: 431a orrs r2, r3 80878ec: 4974 ldr r1, [pc, #464] ; (8087ac0 ) 80878ee: 4603 mov r3, r0 80878f0: 005b lsls r3, r3, #1 80878f2: 4403 add r3, r0 80878f4: 005b lsls r3, r3, #1 80878f6: 4413 add r3, r2 80878f8: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80878fc: 461a mov r2, r3 80878fe: 214a movs r1, #74 ; 0x4a 8087900: f44f 7082 mov.w r0, #260 ; 0x104 8087904: f7cd fc44 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8087908: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808790c: 461a mov r2, r3 808790e: 215a movs r1, #90 ; 0x5a 8087910: f44f 7082 mov.w r0, #260 ; 0x104 8087914: f7cd fc3c bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8087918: f507 73cc add.w r3, r7, #408 ; 0x198 808791c: 461a mov r2, r3 808791e: 216a movs r1, #106 ; 0x6a 8087920: f44f 7082 mov.w r0, #260 ; 0x104 8087924: f7cd fc34 bl 8055190 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8087928: 4b5f ldr r3, [pc, #380] ; (8087aa8 ) 808792a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808792e: f003 0304 and.w r3, r3, #4 8087932: 2b00 cmp r3, #0 8087934: f042 8064 bne.w 8089a00 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087938: 495d ldr r1, [pc, #372] ; (8087ab0 ) 808793a: f04f 30ff mov.w r0, #4294967295 808793e: f7cc fe67 bl 8054610 if(pardata.IIN != VOLTS) 8087942: 4b59 ldr r3, [pc, #356] ; (8087aa8 ) 8087944: 799b ldrb r3, [r3, #6] 8087946: b2db uxtb r3, r3 8087948: 2b02 cmp r3, #2 808794a: d010 beq.n 808796e LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808794c: 4b56 ldr r3, [pc, #344] ; (8087aa8 ) 808794e: 7b1b ldrb r3, [r3, #12] 8087950: b2db uxtb r3, r3 8087952: 4619 mov r1, r3 8087954: 4a5b ldr r2, [pc, #364] ; (8087ac4 ) 8087956: 232c movs r3, #44 ; 0x2c 8087958: fb03 f301 mul.w r3, r3, r1 808795c: 4413 add r3, r2 808795e: 3324 adds r3, #36 ; 0x24 8087960: 681b ldr r3, [r3, #0] 8087962: 461a mov r2, r3 8087964: 21aa movs r1, #170 ; 0xaa 8087966: 200a movs r0, #10 8087968: f7cd fbfa bl 8055160 808796c: e00f b.n 808798e else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808796e: 4b4e ldr r3, [pc, #312] ; (8087aa8 ) 8087970: 7b1b ldrb r3, [r3, #12] 8087972: b2db uxtb r3, r3 8087974: 4619 mov r1, r3 8087976: 4a54 ldr r2, [pc, #336] ; (8087ac8 ) 8087978: 232c movs r3, #44 ; 0x2c 808797a: fb03 f301 mul.w r3, r3, r1 808797e: 4413 add r3, r2 8087980: 3324 adds r3, #36 ; 0x24 8087982: 681b ldr r3, [r3, #0] 8087984: 461a mov r2, r3 8087986: 21aa movs r1, #170 ; 0xaa 8087988: 200a movs r0, #10 808798a: f7cd fbe9 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808798e: 4948 ldr r1, [pc, #288] ; (8087ab0 ) 8087990: 4848 ldr r0, [pc, #288] ; (8087ab4 ) 8087992: f7cc fe3d bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, str); 8087996: f507 733b add.w r3, r7, #748 ; 0x2ec 808799a: 461a mov r2, r3 808799c: 21aa movs r1, #170 ; 0xaa 808799e: f44f 7082 mov.w r0, #260 ; 0x104 80879a2: f7cd fbf5 bl 8055190 80879a6: f002 b82b b.w 8089a00 if(menupos == SpecValue) 80879aa: 4b48 ldr r3, [pc, #288] ; (8087acc ) 80879ac: 781b ldrb r3, [r3, #0] 80879ae: b2db uxtb r3, r3 80879b0: 2b02 cmp r3, #2 80879b2: f040 811b bne.w 8087bec LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80879b6: 493e ldr r1, [pc, #248] ; (8087ab0 ) 80879b8: f04f 30ff mov.w r0, #4294967295 80879bc: f7cc fe28 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80879c0: 4b39 ldr r3, [pc, #228] ; (8087aa8 ) 80879c2: 7b1b ldrb r3, [r3, #12] 80879c4: b2db uxtb r3, r3 80879c6: 461a mov r2, r3 80879c8: 4b41 ldr r3, [pc, #260] ; (8087ad0 ) 80879ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80879ce: 461a mov r2, r3 80879d0: 2127 movs r1, #39 ; 0x27 80879d2: 200a movs r0, #10 80879d4: f7cd fbc4 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80879d8: 4935 ldr r1, [pc, #212] ; (8087ab0 ) 80879da: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80879de: f7cc fe17 bl 8054610 if(focused) 80879e2: 4b3c ldr r3, [pc, #240] ; (8087ad4 ) 80879e4: 781b ldrb r3, [r3, #0] 80879e6: b2db uxtb r3, r3 80879e8: 2b00 cmp r3, #0 80879ea: d023 beq.n 8087a34 if(blk) 80879ec: 4b3a ldr r3, [pc, #232] ; (8087ad8 ) 80879ee: 681b ldr r3, [r3, #0] 80879f0: 2b00 cmp r3, #0 80879f2: d03e beq.n 8087a72 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80879f4: 4b2c ldr r3, [pc, #176] ; (8087aa8 ) 80879f6: 7b1b ldrb r3, [r3, #12] 80879f8: b2db uxtb r3, r3 80879fa: 4618 mov r0, r3 80879fc: 4b2a ldr r3, [pc, #168] ; (8087aa8 ) 80879fe: 785b ldrb r3, [r3, #1] 8087a00: b2db uxtb r3, r3 8087a02: 005b lsls r3, r3, #1 8087a04: 4a28 ldr r2, [pc, #160] ; (8087aa8 ) 8087a06: 7852 ldrb r2, [r2, #1] 8087a08: b2d2 uxtb r2, r2 8087a0a: 4611 mov r1, r2 8087a0c: 4a26 ldr r2, [pc, #152] ; (8087aa8 ) 8087a0e: 440a add r2, r1 8087a10: 7892 ldrb r2, [r2, #2] 8087a12: b2d2 uxtb r2, r2 8087a14: 431a orrs r2, r3 8087a16: 492a ldr r1, [pc, #168] ; (8087ac0 ) 8087a18: 4603 mov r3, r0 8087a1a: 005b lsls r3, r3, #1 8087a1c: 4403 add r3, r0 8087a1e: 005b lsls r3, r3, #1 8087a20: 4413 add r3, r2 8087a22: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8087a26: 461a mov r2, r3 8087a28: 214a movs r1, #74 ; 0x4a 8087a2a: f44f 7082 mov.w r0, #260 ; 0x104 8087a2e: f7cd fbaf bl 8055190 8087a32: e01e b.n 8087a72 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8087a34: 4b1c ldr r3, [pc, #112] ; (8087aa8 ) 8087a36: 7b1b ldrb r3, [r3, #12] 8087a38: b2db uxtb r3, r3 8087a3a: 4618 mov r0, r3 8087a3c: 4b1a ldr r3, [pc, #104] ; (8087aa8 ) 8087a3e: 785b ldrb r3, [r3, #1] 8087a40: b2db uxtb r3, r3 8087a42: 005b lsls r3, r3, #1 8087a44: 4a18 ldr r2, [pc, #96] ; (8087aa8 ) 8087a46: 7852 ldrb r2, [r2, #1] 8087a48: b2d2 uxtb r2, r2 8087a4a: 4611 mov r1, r2 8087a4c: 4a16 ldr r2, [pc, #88] ; (8087aa8 ) 8087a4e: 440a add r2, r1 8087a50: 7892 ldrb r2, [r2, #2] 8087a52: b2d2 uxtb r2, r2 8087a54: 431a orrs r2, r3 8087a56: 491a ldr r1, [pc, #104] ; (8087ac0 ) 8087a58: 4603 mov r3, r0 8087a5a: 005b lsls r3, r3, #1 8087a5c: 4403 add r3, r0 8087a5e: 005b lsls r3, r3, #1 8087a60: 4413 add r3, r2 8087a62: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8087a66: 461a mov r2, r3 8087a68: 214a movs r1, #74 ; 0x4a 8087a6a: f44f 7082 mov.w r0, #260 ; 0x104 8087a6e: f7cd fb8f bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087a72: 490f ldr r1, [pc, #60] ; (8087ab0 ) 8087a74: 480f ldr r0, [pc, #60] ; (8087ab4 ) 8087a76: f7cc fdcb bl 8054610 if((pardata.OPTIONS & maskFFT) == okt) 8087a7a: 4b0b ldr r3, [pc, #44] ; (8087aa8 ) 8087a7c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087a80: f003 0330 and.w r3, r3, #48 ; 0x30 8087a84: 2b20 cmp r3, #32 8087a86: d129 bne.n 8087adc LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8087a88: 4b07 ldr r3, [pc, #28] ; (8087aa8 ) 8087a8a: 7b1b ldrb r3, [r3, #12] 8087a8c: b2db uxtb r3, r3 8087a8e: 4a07 ldr r2, [pc, #28] ; (8087aac ) 8087a90: 011b lsls r3, r3, #4 8087a92: 4413 add r3, r2 8087a94: 3308 adds r3, #8 8087a96: 681b ldr r3, [r3, #0] 8087a98: 461a mov r2, r3 8087a9a: 213a movs r1, #58 ; 0x3a 8087a9c: f44f 7082 mov.w r0, #260 ; 0x104 8087aa0: f7cd fb76 bl 8055190 8087aa4: e028 b.n 8087af8 8087aa6: bf00 nop 8087aa8: 20023ea8 .word 0x20023ea8 8087aac: 200202a4 .word 0x200202a4 8087ab0: ff0a0f1f .word 0xff0a0f1f 8087ab4: ffd8aa57 .word 0xffd8aa57 8087ab8: 2002021c .word 0x2002021c 8087abc: 20020254 .word 0x20020254 8087ac0: 200201a4 .word 0x200201a4 8087ac4: 200206bc .word 0x200206bc 8087ac8: 20020714 .word 0x20020714 8087acc: 20020070 .word 0x20020070 8087ad0: 200205cc .word 0x200205cc 8087ad4: 20020fc8 .word 0x20020fc8 8087ad8: 200216a4 .word 0x200216a4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8087adc: 4bb2 ldr r3, [pc, #712] ; (8087da8 ) 8087ade: 7b1b ldrb r3, [r3, #12] 8087ae0: b2db uxtb r3, r3 8087ae2: 4ab2 ldr r2, [pc, #712] ; (8087dac ) 8087ae4: 011b lsls r3, r3, #4 8087ae6: 4413 add r3, r2 8087ae8: 330c adds r3, #12 8087aea: 681b ldr r3, [r3, #0] 8087aec: 461a mov r2, r3 8087aee: 213a movs r1, #58 ; 0x3a 8087af0: f44f 7082 mov.w r0, #260 ; 0x104 8087af4: f7cd fb4c bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8087af8: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8087afc: 461a mov r2, r3 8087afe: 215a movs r1, #90 ; 0x5a 8087b00: f44f 7082 mov.w r0, #260 ; 0x104 8087b04: f7cd fb44 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8087b08: f507 73cc add.w r3, r7, #408 ; 0x198 8087b0c: 461a mov r2, r3 8087b0e: 216a movs r1, #106 ; 0x6a 8087b10: f44f 7082 mov.w r0, #260 ; 0x104 8087b14: f7cd fb3c bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8087b18: 4ba3 ldr r3, [pc, #652] ; (8087da8 ) 8087b1a: 7b1b ldrb r3, [r3, #12] 8087b1c: b2db uxtb r3, r3 8087b1e: 4618 mov r0, r3 8087b20: 4ba1 ldr r3, [pc, #644] ; (8087da8 ) 8087b22: 7a9b ldrb r3, [r3, #10] 8087b24: b2db uxtb r3, r3 8087b26: 4619 mov r1, r3 8087b28: 4aa1 ldr r2, [pc, #644] ; (8087db0 ) 8087b2a: 0043 lsls r3, r0, #1 8087b2c: 440b add r3, r1 8087b2e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087b32: 461a mov r2, r3 8087b34: 217a movs r1, #122 ; 0x7a 8087b36: f44f 7082 mov.w r0, #260 ; 0x104 8087b3a: f7cd fb29 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8087b3e: 4b9a ldr r3, [pc, #616] ; (8087da8 ) 8087b40: 7b1b ldrb r3, [r3, #12] 8087b42: b2db uxtb r3, r3 8087b44: 4619 mov r1, r3 8087b46: 4b98 ldr r3, [pc, #608] ; (8087da8 ) 8087b48: 7b5b ldrb r3, [r3, #13] 8087b4a: b2db uxtb r3, r3 8087b4c: 4618 mov r0, r3 8087b4e: 4a99 ldr r2, [pc, #612] ; (8087db4 ) 8087b50: 460b mov r3, r1 8087b52: 009b lsls r3, r3, #2 8087b54: 440b add r3, r1 8087b56: 005b lsls r3, r3, #1 8087b58: 4403 add r3, r0 8087b5a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087b5e: 461a mov r2, r3 8087b60: 218a movs r1, #138 ; 0x8a 8087b62: f44f 7082 mov.w r0, #260 ; 0x104 8087b66: f7cd fb13 bl 8055190 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8087b6a: 4b8f ldr r3, [pc, #572] ; (8087da8 ) 8087b6c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087b70: f003 0304 and.w r3, r3, #4 8087b74: 2b00 cmp r3, #0 8087b76: f041 8743 bne.w 8089a00 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087b7a: 498f ldr r1, [pc, #572] ; (8087db8 ) 8087b7c: f04f 30ff mov.w r0, #4294967295 8087b80: f7cc fd46 bl 8054610 if(pardata.IIN != VOLTS) 8087b84: 4b88 ldr r3, [pc, #544] ; (8087da8 ) 8087b86: 799b ldrb r3, [r3, #6] 8087b88: b2db uxtb r3, r3 8087b8a: 2b02 cmp r3, #2 8087b8c: d010 beq.n 8087bb0 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087b8e: 4b86 ldr r3, [pc, #536] ; (8087da8 ) 8087b90: 7b1b ldrb r3, [r3, #12] 8087b92: b2db uxtb r3, r3 8087b94: 4619 mov r1, r3 8087b96: 4a89 ldr r2, [pc, #548] ; (8087dbc ) 8087b98: 232c movs r3, #44 ; 0x2c 8087b9a: fb03 f301 mul.w r3, r3, r1 8087b9e: 4413 add r3, r2 8087ba0: 3324 adds r3, #36 ; 0x24 8087ba2: 681b ldr r3, [r3, #0] 8087ba4: 461a mov r2, r3 8087ba6: 21aa movs r1, #170 ; 0xaa 8087ba8: 200a movs r0, #10 8087baa: f7cd fad9 bl 8055160 8087bae: e00f b.n 8087bd0 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087bb0: 4b7d ldr r3, [pc, #500] ; (8087da8 ) 8087bb2: 7b1b ldrb r3, [r3, #12] 8087bb4: b2db uxtb r3, r3 8087bb6: 4619 mov r1, r3 8087bb8: 4a81 ldr r2, [pc, #516] ; (8087dc0 ) 8087bba: 232c movs r3, #44 ; 0x2c 8087bbc: fb03 f301 mul.w r3, r3, r1 8087bc0: 4413 add r3, r2 8087bc2: 3324 adds r3, #36 ; 0x24 8087bc4: 681b ldr r3, [r3, #0] 8087bc6: 461a mov r2, r3 8087bc8: 21aa movs r1, #170 ; 0xaa 8087bca: 200a movs r0, #10 8087bcc: f7cd fac8 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087bd0: 4979 ldr r1, [pc, #484] ; (8087db8 ) 8087bd2: 487c ldr r0, [pc, #496] ; (8087dc4 ) 8087bd4: f7cc fd1c bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, str); 8087bd8: f507 733b add.w r3, r7, #748 ; 0x2ec 8087bdc: 461a mov r2, r3 8087bde: 21aa movs r1, #170 ; 0xaa 8087be0: f44f 7082 mov.w r0, #260 ; 0x104 8087be4: f7cd fad4 bl 8055190 8087be8: f001 bf0a b.w 8089a00 if(menupos == FilterHP) 8087bec: 4b76 ldr r3, [pc, #472] ; (8087dc8 ) 8087bee: 781b ldrb r3, [r3, #0] 8087bf0: b2db uxtb r3, r3 8087bf2: 2b17 cmp r3, #23 8087bf4: f040 80ee bne.w 8087dd4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087bf8: 496f ldr r1, [pc, #444] ; (8087db8 ) 8087bfa: f04f 30ff mov.w r0, #4294967295 8087bfe: f7cc fd07 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8087c02: 4b69 ldr r3, [pc, #420] ; (8087da8 ) 8087c04: 7b1b ldrb r3, [r3, #12] 8087c06: b2db uxtb r3, r3 8087c08: 461a mov r2, r3 8087c0a: 4b70 ldr r3, [pc, #448] ; (8087dcc ) 8087c0c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087c10: 461a mov r2, r3 8087c12: 2127 movs r1, #39 ; 0x27 8087c14: 200a movs r0, #10 8087c16: f7cd faa3 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087c1a: 4967 ldr r1, [pc, #412] ; (8087db8 ) 8087c1c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087c20: f7cc fcf6 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8087c24: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8087c28: 461a mov r2, r3 8087c2a: 215a movs r1, #90 ; 0x5a 8087c2c: f44f 7082 mov.w r0, #260 ; 0x104 8087c30: f7cd faae bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087c34: 4960 ldr r1, [pc, #384] ; (8087db8 ) 8087c36: 4863 ldr r0, [pc, #396] ; (8087dc4 ) 8087c38: f7cc fcea bl 8054610 if((pardata.OPTIONS & maskFFT) == okt) 8087c3c: 4b5a ldr r3, [pc, #360] ; (8087da8 ) 8087c3e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087c42: f003 0330 and.w r3, r3, #48 ; 0x30 8087c46: 2b20 cmp r3, #32 8087c48: d10e bne.n 8087c68 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8087c4a: 4b57 ldr r3, [pc, #348] ; (8087da8 ) 8087c4c: 7b1b ldrb r3, [r3, #12] 8087c4e: b2db uxtb r3, r3 8087c50: 4a56 ldr r2, [pc, #344] ; (8087dac ) 8087c52: 011b lsls r3, r3, #4 8087c54: 4413 add r3, r2 8087c56: 3308 adds r3, #8 8087c58: 681b ldr r3, [r3, #0] 8087c5a: 461a mov r2, r3 8087c5c: 213a movs r1, #58 ; 0x3a 8087c5e: f44f 7082 mov.w r0, #260 ; 0x104 8087c62: f7cd fa95 bl 8055190 8087c66: e00d b.n 8087c84 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8087c68: 4b4f ldr r3, [pc, #316] ; (8087da8 ) 8087c6a: 7b1b ldrb r3, [r3, #12] 8087c6c: b2db uxtb r3, r3 8087c6e: 4a4f ldr r2, [pc, #316] ; (8087dac ) 8087c70: 011b lsls r3, r3, #4 8087c72: 4413 add r3, r2 8087c74: 330c adds r3, #12 8087c76: 681b ldr r3, [r3, #0] 8087c78: 461a mov r2, r3 8087c7a: 213a movs r1, #58 ; 0x3a 8087c7c: f44f 7082 mov.w r0, #260 ; 0x104 8087c80: f7cd fa86 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8087c84: 4b48 ldr r3, [pc, #288] ; (8087da8 ) 8087c86: 7b1b ldrb r3, [r3, #12] 8087c88: b2db uxtb r3, r3 8087c8a: 4618 mov r0, r3 8087c8c: 4b46 ldr r3, [pc, #280] ; (8087da8 ) 8087c8e: 785b ldrb r3, [r3, #1] 8087c90: b2db uxtb r3, r3 8087c92: 005b lsls r3, r3, #1 8087c94: 4a44 ldr r2, [pc, #272] ; (8087da8 ) 8087c96: 7852 ldrb r2, [r2, #1] 8087c98: b2d2 uxtb r2, r2 8087c9a: 4611 mov r1, r2 8087c9c: 4a42 ldr r2, [pc, #264] ; (8087da8 ) 8087c9e: 440a add r2, r1 8087ca0: 7892 ldrb r2, [r2, #2] 8087ca2: b2d2 uxtb r2, r2 8087ca4: 431a orrs r2, r3 8087ca6: 494a ldr r1, [pc, #296] ; (8087dd0 ) 8087ca8: 4603 mov r3, r0 8087caa: 005b lsls r3, r3, #1 8087cac: 4403 add r3, r0 8087cae: 005b lsls r3, r3, #1 8087cb0: 4413 add r3, r2 8087cb2: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8087cb6: 461a mov r2, r3 8087cb8: 214a movs r1, #74 ; 0x4a 8087cba: f44f 7082 mov.w r0, #260 ; 0x104 8087cbe: f7cd fa67 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8087cc2: f507 73cc add.w r3, r7, #408 ; 0x198 8087cc6: 461a mov r2, r3 8087cc8: 216a movs r1, #106 ; 0x6a 8087cca: f44f 7082 mov.w r0, #260 ; 0x104 8087cce: f7cd fa5f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8087cd2: 4b35 ldr r3, [pc, #212] ; (8087da8 ) 8087cd4: 7b1b ldrb r3, [r3, #12] 8087cd6: b2db uxtb r3, r3 8087cd8: 4618 mov r0, r3 8087cda: 4b33 ldr r3, [pc, #204] ; (8087da8 ) 8087cdc: 7a9b ldrb r3, [r3, #10] 8087cde: b2db uxtb r3, r3 8087ce0: 4619 mov r1, r3 8087ce2: 4a33 ldr r2, [pc, #204] ; (8087db0 ) 8087ce4: 0043 lsls r3, r0, #1 8087ce6: 440b add r3, r1 8087ce8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087cec: 461a mov r2, r3 8087cee: 217a movs r1, #122 ; 0x7a 8087cf0: f44f 7082 mov.w r0, #260 ; 0x104 8087cf4: f7cd fa4c bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8087cf8: 4b2b ldr r3, [pc, #172] ; (8087da8 ) 8087cfa: 7b1b ldrb r3, [r3, #12] 8087cfc: b2db uxtb r3, r3 8087cfe: 4619 mov r1, r3 8087d00: 4b29 ldr r3, [pc, #164] ; (8087da8 ) 8087d02: 7b5b ldrb r3, [r3, #13] 8087d04: b2db uxtb r3, r3 8087d06: 4618 mov r0, r3 8087d08: 4a2a ldr r2, [pc, #168] ; (8087db4 ) 8087d0a: 460b mov r3, r1 8087d0c: 009b lsls r3, r3, #2 8087d0e: 440b add r3, r1 8087d10: 005b lsls r3, r3, #1 8087d12: 4403 add r3, r0 8087d14: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087d18: 461a mov r2, r3 8087d1a: 218a movs r1, #138 ; 0x8a 8087d1c: f44f 7082 mov.w r0, #260 ; 0x104 8087d20: f7cd fa36 bl 8055190 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8087d24: 4b20 ldr r3, [pc, #128] ; (8087da8 ) 8087d26: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087d2a: f003 0304 and.w r3, r3, #4 8087d2e: 2b00 cmp r3, #0 8087d30: f041 8666 bne.w 8089a00 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087d34: 4920 ldr r1, [pc, #128] ; (8087db8 ) 8087d36: f04f 30ff mov.w r0, #4294967295 8087d3a: f7cc fc69 bl 8054610 if(pardata.IIN != VOLTS) 8087d3e: 4b1a ldr r3, [pc, #104] ; (8087da8 ) 8087d40: 799b ldrb r3, [r3, #6] 8087d42: b2db uxtb r3, r3 8087d44: 2b02 cmp r3, #2 8087d46: d010 beq.n 8087d6a LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087d48: 4b17 ldr r3, [pc, #92] ; (8087da8 ) 8087d4a: 7b1b ldrb r3, [r3, #12] 8087d4c: b2db uxtb r3, r3 8087d4e: 4619 mov r1, r3 8087d50: 4a1a ldr r2, [pc, #104] ; (8087dbc ) 8087d52: 232c movs r3, #44 ; 0x2c 8087d54: fb03 f301 mul.w r3, r3, r1 8087d58: 4413 add r3, r2 8087d5a: 3324 adds r3, #36 ; 0x24 8087d5c: 681b ldr r3, [r3, #0] 8087d5e: 461a mov r2, r3 8087d60: 21aa movs r1, #170 ; 0xaa 8087d62: 200a movs r0, #10 8087d64: f7cd f9fc bl 8055160 8087d68: e00f b.n 8087d8a else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087d6a: 4b0f ldr r3, [pc, #60] ; (8087da8 ) 8087d6c: 7b1b ldrb r3, [r3, #12] 8087d6e: b2db uxtb r3, r3 8087d70: 4619 mov r1, r3 8087d72: 4a13 ldr r2, [pc, #76] ; (8087dc0 ) 8087d74: 232c movs r3, #44 ; 0x2c 8087d76: fb03 f301 mul.w r3, r3, r1 8087d7a: 4413 add r3, r2 8087d7c: 3324 adds r3, #36 ; 0x24 8087d7e: 681b ldr r3, [r3, #0] 8087d80: 461a mov r2, r3 8087d82: 21aa movs r1, #170 ; 0xaa 8087d84: 200a movs r0, #10 8087d86: f7cd f9eb bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087d8a: 490b ldr r1, [pc, #44] ; (8087db8 ) 8087d8c: 480d ldr r0, [pc, #52] ; (8087dc4 ) 8087d8e: f7cc fc3f bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, str); 8087d92: f507 733b add.w r3, r7, #748 ; 0x2ec 8087d96: 461a mov r2, r3 8087d98: 21aa movs r1, #170 ; 0xaa 8087d9a: f44f 7082 mov.w r0, #260 ; 0x104 8087d9e: f7cd f9f7 bl 8055190 8087da2: f001 be2d b.w 8089a00 8087da6: bf00 nop 8087da8: 20023ea8 .word 0x20023ea8 8087dac: 200202a4 .word 0x200202a4 8087db0: 2002021c .word 0x2002021c 8087db4: 20020254 .word 0x20020254 8087db8: ff0a0f1f .word 0xff0a0f1f 8087dbc: 200206bc .word 0x200206bc 8087dc0: 20020714 .word 0x20020714 8087dc4: ffd8aa57 .word 0xffd8aa57 8087dc8: 20020070 .word 0x20020070 8087dcc: 200205cc .word 0x200205cc 8087dd0: 200201a4 .word 0x200201a4 if(menupos == FilterLP) 8087dd4: 4ba1 ldr r3, [pc, #644] ; (808805c ) 8087dd6: 781b ldrb r3, [r3, #0] 8087dd8: b2db uxtb r3, r3 8087dda: 2b18 cmp r3, #24 8087ddc: f040 80d7 bne.w 8087f8e LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087de0: 499f ldr r1, [pc, #636] ; (8088060 ) 8087de2: f04f 30ff mov.w r0, #4294967295 8087de6: f7cc fc13 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8087dea: 4b9e ldr r3, [pc, #632] ; (8088064 ) 8087dec: 7b1b ldrb r3, [r3, #12] 8087dee: b2db uxtb r3, r3 8087df0: 461a mov r2, r3 8087df2: 4b9d ldr r3, [pc, #628] ; (8088068 ) 8087df4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087df8: 461a mov r2, r3 8087dfa: 2127 movs r1, #39 ; 0x27 8087dfc: 200a movs r0, #10 8087dfe: f7cd f9af bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087e02: 4997 ldr r1, [pc, #604] ; (8088060 ) 8087e04: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087e08: f7cc fc02 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8087e0c: f507 73cc add.w r3, r7, #408 ; 0x198 8087e10: 461a mov r2, r3 8087e12: 216a movs r1, #106 ; 0x6a 8087e14: f44f 7082 mov.w r0, #260 ; 0x104 8087e18: f7cd f9ba bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087e1c: 4990 ldr r1, [pc, #576] ; (8088060 ) 8087e1e: 4893 ldr r0, [pc, #588] ; (808806c ) 8087e20: f7cc fbf6 bl 8054610 if((pardata.OPTIONS & maskFFT) == okt) 8087e24: 4b8f ldr r3, [pc, #572] ; (8088064 ) 8087e26: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087e2a: f003 0330 and.w r3, r3, #48 ; 0x30 8087e2e: 2b20 cmp r3, #32 8087e30: d10e bne.n 8087e50 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8087e32: 4b8c ldr r3, [pc, #560] ; (8088064 ) 8087e34: 7b1b ldrb r3, [r3, #12] 8087e36: b2db uxtb r3, r3 8087e38: 4a8d ldr r2, [pc, #564] ; (8088070 ) 8087e3a: 011b lsls r3, r3, #4 8087e3c: 4413 add r3, r2 8087e3e: 3308 adds r3, #8 8087e40: 681b ldr r3, [r3, #0] 8087e42: 461a mov r2, r3 8087e44: 213a movs r1, #58 ; 0x3a 8087e46: f44f 7082 mov.w r0, #260 ; 0x104 8087e4a: f7cd f9a1 bl 8055190 8087e4e: e00d b.n 8087e6c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8087e50: 4b84 ldr r3, [pc, #528] ; (8088064 ) 8087e52: 7b1b ldrb r3, [r3, #12] 8087e54: b2db uxtb r3, r3 8087e56: 4a86 ldr r2, [pc, #536] ; (8088070 ) 8087e58: 011b lsls r3, r3, #4 8087e5a: 4413 add r3, r2 8087e5c: 330c adds r3, #12 8087e5e: 681b ldr r3, [r3, #0] 8087e60: 461a mov r2, r3 8087e62: 213a movs r1, #58 ; 0x3a 8087e64: f44f 7082 mov.w r0, #260 ; 0x104 8087e68: f7cd f992 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8087e6c: 4b7d ldr r3, [pc, #500] ; (8088064 ) 8087e6e: 7b1b ldrb r3, [r3, #12] 8087e70: b2db uxtb r3, r3 8087e72: 4618 mov r0, r3 8087e74: 4b7b ldr r3, [pc, #492] ; (8088064 ) 8087e76: 785b ldrb r3, [r3, #1] 8087e78: b2db uxtb r3, r3 8087e7a: 005b lsls r3, r3, #1 8087e7c: 4a79 ldr r2, [pc, #484] ; (8088064 ) 8087e7e: 7852 ldrb r2, [r2, #1] 8087e80: b2d2 uxtb r2, r2 8087e82: 4611 mov r1, r2 8087e84: 4a77 ldr r2, [pc, #476] ; (8088064 ) 8087e86: 440a add r2, r1 8087e88: 7892 ldrb r2, [r2, #2] 8087e8a: b2d2 uxtb r2, r2 8087e8c: 431a orrs r2, r3 8087e8e: 4979 ldr r1, [pc, #484] ; (8088074 ) 8087e90: 4603 mov r3, r0 8087e92: 005b lsls r3, r3, #1 8087e94: 4403 add r3, r0 8087e96: 005b lsls r3, r3, #1 8087e98: 4413 add r3, r2 8087e9a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8087e9e: 461a mov r2, r3 8087ea0: 214a movs r1, #74 ; 0x4a 8087ea2: f44f 7082 mov.w r0, #260 ; 0x104 8087ea6: f7cd f973 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8087eaa: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8087eae: 461a mov r2, r3 8087eb0: 215a movs r1, #90 ; 0x5a 8087eb2: f44f 7082 mov.w r0, #260 ; 0x104 8087eb6: f7cd f96b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8087eba: 4b6a ldr r3, [pc, #424] ; (8088064 ) 8087ebc: 7b1b ldrb r3, [r3, #12] 8087ebe: b2db uxtb r3, r3 8087ec0: 4618 mov r0, r3 8087ec2: 4b68 ldr r3, [pc, #416] ; (8088064 ) 8087ec4: 7a9b ldrb r3, [r3, #10] 8087ec6: b2db uxtb r3, r3 8087ec8: 4619 mov r1, r3 8087eca: 4a6b ldr r2, [pc, #428] ; (8088078 ) 8087ecc: 0043 lsls r3, r0, #1 8087ece: 440b add r3, r1 8087ed0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087ed4: 461a mov r2, r3 8087ed6: 217a movs r1, #122 ; 0x7a 8087ed8: f44f 7082 mov.w r0, #260 ; 0x104 8087edc: f7cd f958 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8087ee0: 4b60 ldr r3, [pc, #384] ; (8088064 ) 8087ee2: 7b1b ldrb r3, [r3, #12] 8087ee4: b2db uxtb r3, r3 8087ee6: 4619 mov r1, r3 8087ee8: 4b5e ldr r3, [pc, #376] ; (8088064 ) 8087eea: 7b5b ldrb r3, [r3, #13] 8087eec: b2db uxtb r3, r3 8087eee: 4618 mov r0, r3 8087ef0: 4a62 ldr r2, [pc, #392] ; (808807c ) 8087ef2: 460b mov r3, r1 8087ef4: 009b lsls r3, r3, #2 8087ef6: 440b add r3, r1 8087ef8: 005b lsls r3, r3, #1 8087efa: 4403 add r3, r0 8087efc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087f00: 461a mov r2, r3 8087f02: 218a movs r1, #138 ; 0x8a 8087f04: f44f 7082 mov.w r0, #260 ; 0x104 8087f08: f7cd f942 bl 8055190 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8087f0c: 4b55 ldr r3, [pc, #340] ; (8088064 ) 8087f0e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087f12: f003 0304 and.w r3, r3, #4 8087f16: 2b00 cmp r3, #0 8087f18: f041 8572 bne.w 8089a00 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087f1c: 4950 ldr r1, [pc, #320] ; (8088060 ) 8087f1e: f04f 30ff mov.w r0, #4294967295 8087f22: f7cc fb75 bl 8054610 if(pardata.IIN != VOLTS) 8087f26: 4b4f ldr r3, [pc, #316] ; (8088064 ) 8087f28: 799b ldrb r3, [r3, #6] 8087f2a: b2db uxtb r3, r3 8087f2c: 2b02 cmp r3, #2 8087f2e: d010 beq.n 8087f52 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087f30: 4b4c ldr r3, [pc, #304] ; (8088064 ) 8087f32: 7b1b ldrb r3, [r3, #12] 8087f34: b2db uxtb r3, r3 8087f36: 4619 mov r1, r3 8087f38: 4a51 ldr r2, [pc, #324] ; (8088080 ) 8087f3a: 232c movs r3, #44 ; 0x2c 8087f3c: fb03 f301 mul.w r3, r3, r1 8087f40: 4413 add r3, r2 8087f42: 3324 adds r3, #36 ; 0x24 8087f44: 681b ldr r3, [r3, #0] 8087f46: 461a mov r2, r3 8087f48: 21aa movs r1, #170 ; 0xaa 8087f4a: 200a movs r0, #10 8087f4c: f7cd f908 bl 8055160 8087f50: e00f b.n 8087f72 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087f52: 4b44 ldr r3, [pc, #272] ; (8088064 ) 8087f54: 7b1b ldrb r3, [r3, #12] 8087f56: b2db uxtb r3, r3 8087f58: 4619 mov r1, r3 8087f5a: 4a4a ldr r2, [pc, #296] ; (8088084 ) 8087f5c: 232c movs r3, #44 ; 0x2c 8087f5e: fb03 f301 mul.w r3, r3, r1 8087f62: 4413 add r3, r2 8087f64: 3324 adds r3, #36 ; 0x24 8087f66: 681b ldr r3, [r3, #0] 8087f68: 461a mov r2, r3 8087f6a: 21aa movs r1, #170 ; 0xaa 8087f6c: 200a movs r0, #10 8087f6e: f7cd f8f7 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087f72: 493b ldr r1, [pc, #236] ; (8088060 ) 8087f74: 483d ldr r0, [pc, #244] ; (808806c ) 8087f76: f7cc fb4b bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, str); 8087f7a: f507 733b add.w r3, r7, #748 ; 0x2ec 8087f7e: 461a mov r2, r3 8087f80: 21aa movs r1, #170 ; 0xaa 8087f82: f44f 7082 mov.w r0, #260 ; 0x104 8087f86: f7cd f903 bl 8055190 8087f8a: f001 bd39 b.w 8089a00 if(menupos == LinLog) 8087f8e: 4b33 ldr r3, [pc, #204] ; (808805c ) 8087f90: 781b ldrb r3, [r3, #0] 8087f92: b2db uxtb r3, r3 8087f94: 2b05 cmp r3, #5 8087f96: f040 810f bne.w 80881b8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087f9a: 4931 ldr r1, [pc, #196] ; (8088060 ) 8087f9c: f04f 30ff mov.w r0, #4294967295 8087fa0: f7cc fb36 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8087fa4: 4b2f ldr r3, [pc, #188] ; (8088064 ) 8087fa6: 7b1b ldrb r3, [r3, #12] 8087fa8: b2db uxtb r3, r3 8087faa: 461a mov r2, r3 8087fac: 4b2e ldr r3, [pc, #184] ; (8088068 ) 8087fae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087fb2: 461a mov r2, r3 8087fb4: 2127 movs r1, #39 ; 0x27 8087fb6: 200a movs r0, #10 8087fb8: f7cd f8d2 bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087fbc: 4928 ldr r1, [pc, #160] ; (8088060 ) 8087fbe: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087fc2: f7cc fb25 bl 8054610 if(focused) 8087fc6: 4b30 ldr r3, [pc, #192] ; (8088088 ) 8087fc8: 781b ldrb r3, [r3, #0] 8087fca: b2db uxtb r3, r3 8087fcc: 2b00 cmp r3, #0 8087fce: d017 beq.n 8088000 if(blk) 8087fd0: 4b2e ldr r3, [pc, #184] ; (808808c ) 8087fd2: 681b ldr r3, [r3, #0] 8087fd4: 2b00 cmp r3, #0 8087fd6: d026 beq.n 8088026 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8087fd8: 4b22 ldr r3, [pc, #136] ; (8088064 ) 8087fda: 7b1b ldrb r3, [r3, #12] 8087fdc: b2db uxtb r3, r3 8087fde: 4618 mov r0, r3 8087fe0: 4b20 ldr r3, [pc, #128] ; (8088064 ) 8087fe2: 7a9b ldrb r3, [r3, #10] 8087fe4: b2db uxtb r3, r3 8087fe6: 4619 mov r1, r3 8087fe8: 4a23 ldr r2, [pc, #140] ; (8088078 ) 8087fea: 0043 lsls r3, r0, #1 8087fec: 440b add r3, r1 8087fee: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087ff2: 461a mov r2, r3 8087ff4: 217a movs r1, #122 ; 0x7a 8087ff6: f44f 7082 mov.w r0, #260 ; 0x104 8087ffa: f7cd f8c9 bl 8055190 8087ffe: e012 b.n 8088026 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8088000: 4b18 ldr r3, [pc, #96] ; (8088064 ) 8088002: 7b1b ldrb r3, [r3, #12] 8088004: b2db uxtb r3, r3 8088006: 4618 mov r0, r3 8088008: 4b16 ldr r3, [pc, #88] ; (8088064 ) 808800a: 7a9b ldrb r3, [r3, #10] 808800c: b2db uxtb r3, r3 808800e: 4619 mov r1, r3 8088010: 4a19 ldr r2, [pc, #100] ; (8088078 ) 8088012: 0043 lsls r3, r0, #1 8088014: 440b add r3, r1 8088016: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808801a: 461a mov r2, r3 808801c: 217a movs r1, #122 ; 0x7a 808801e: f44f 7082 mov.w r0, #260 ; 0x104 8088022: f7cd f8b5 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088026: 490e ldr r1, [pc, #56] ; (8088060 ) 8088028: 4810 ldr r0, [pc, #64] ; (808806c ) 808802a: f7cc faf1 bl 8054610 if((pardata.OPTIONS & maskFFT) == okt) 808802e: 4b0d ldr r3, [pc, #52] ; (8088064 ) 8088030: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088034: f003 0330 and.w r3, r3, #48 ; 0x30 8088038: 2b20 cmp r3, #32 808803a: d129 bne.n 8088090 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 808803c: 4b09 ldr r3, [pc, #36] ; (8088064 ) 808803e: 7b1b ldrb r3, [r3, #12] 8088040: b2db uxtb r3, r3 8088042: 4a0b ldr r2, [pc, #44] ; (8088070 ) 8088044: 011b lsls r3, r3, #4 8088046: 4413 add r3, r2 8088048: 3308 adds r3, #8 808804a: 681b ldr r3, [r3, #0] 808804c: 461a mov r2, r3 808804e: 213a movs r1, #58 ; 0x3a 8088050: f44f 7082 mov.w r0, #260 ; 0x104 8088054: f7cd f89c bl 8055190 8088058: e028 b.n 80880ac 808805a: bf00 nop 808805c: 20020070 .word 0x20020070 8088060: ff0a0f1f .word 0xff0a0f1f 8088064: 20023ea8 .word 0x20023ea8 8088068: 200205cc .word 0x200205cc 808806c: ffd8aa57 .word 0xffd8aa57 8088070: 200202a4 .word 0x200202a4 8088074: 200201a4 .word 0x200201a4 8088078: 2002021c .word 0x2002021c 808807c: 20020254 .word 0x20020254 8088080: 200206bc .word 0x200206bc 8088084: 20020714 .word 0x20020714 8088088: 20020fc8 .word 0x20020fc8 808808c: 200216a4 .word 0x200216a4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8088090: 4bc8 ldr r3, [pc, #800] ; (80883b4 ) 8088092: 7b1b ldrb r3, [r3, #12] 8088094: b2db uxtb r3, r3 8088096: 4ac8 ldr r2, [pc, #800] ; (80883b8 ) 8088098: 011b lsls r3, r3, #4 808809a: 4413 add r3, r2 808809c: 330c adds r3, #12 808809e: 681b ldr r3, [r3, #0] 80880a0: 461a mov r2, r3 80880a2: 213a movs r1, #58 ; 0x3a 80880a4: f44f 7082 mov.w r0, #260 ; 0x104 80880a8: f7cd f872 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80880ac: 4bc1 ldr r3, [pc, #772] ; (80883b4 ) 80880ae: 7b1b ldrb r3, [r3, #12] 80880b0: b2db uxtb r3, r3 80880b2: 4618 mov r0, r3 80880b4: 4bbf ldr r3, [pc, #764] ; (80883b4 ) 80880b6: 785b ldrb r3, [r3, #1] 80880b8: b2db uxtb r3, r3 80880ba: 005b lsls r3, r3, #1 80880bc: 4abd ldr r2, [pc, #756] ; (80883b4 ) 80880be: 7852 ldrb r2, [r2, #1] 80880c0: b2d2 uxtb r2, r2 80880c2: 4611 mov r1, r2 80880c4: 4abb ldr r2, [pc, #748] ; (80883b4 ) 80880c6: 440a add r2, r1 80880c8: 7892 ldrb r2, [r2, #2] 80880ca: b2d2 uxtb r2, r2 80880cc: 431a orrs r2, r3 80880ce: 49bb ldr r1, [pc, #748] ; (80883bc ) 80880d0: 4603 mov r3, r0 80880d2: 005b lsls r3, r3, #1 80880d4: 4403 add r3, r0 80880d6: 005b lsls r3, r3, #1 80880d8: 4413 add r3, r2 80880da: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80880de: 461a mov r2, r3 80880e0: 214a movs r1, #74 ; 0x4a 80880e2: f44f 7082 mov.w r0, #260 ; 0x104 80880e6: f7cd f853 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80880ea: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80880ee: 461a mov r2, r3 80880f0: 215a movs r1, #90 ; 0x5a 80880f2: f44f 7082 mov.w r0, #260 ; 0x104 80880f6: f7cd f84b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80880fa: f507 73cc add.w r3, r7, #408 ; 0x198 80880fe: 461a mov r2, r3 8088100: 216a movs r1, #106 ; 0x6a 8088102: f44f 7082 mov.w r0, #260 ; 0x104 8088106: f7cd f843 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 808810a: 4baa ldr r3, [pc, #680] ; (80883b4 ) 808810c: 7b1b ldrb r3, [r3, #12] 808810e: b2db uxtb r3, r3 8088110: 4619 mov r1, r3 8088112: 4ba8 ldr r3, [pc, #672] ; (80883b4 ) 8088114: 7b5b ldrb r3, [r3, #13] 8088116: b2db uxtb r3, r3 8088118: 4618 mov r0, r3 808811a: 4aa9 ldr r2, [pc, #676] ; (80883c0 ) 808811c: 460b mov r3, r1 808811e: 009b lsls r3, r3, #2 8088120: 440b add r3, r1 8088122: 005b lsls r3, r3, #1 8088124: 4403 add r3, r0 8088126: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808812a: 461a mov r2, r3 808812c: 218a movs r1, #138 ; 0x8a 808812e: f44f 7082 mov.w r0, #260 ; 0x104 8088132: f7cd f82d bl 8055190 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8088136: 4b9f ldr r3, [pc, #636] ; (80883b4 ) 8088138: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808813c: f003 0304 and.w r3, r3, #4 8088140: 2b00 cmp r3, #0 8088142: f041 845d bne.w 8089a00 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088146: 499f ldr r1, [pc, #636] ; (80883c4 ) 8088148: f04f 30ff mov.w r0, #4294967295 808814c: f7cc fa60 bl 8054610 if(pardata.IIN != VOLTS) 8088150: 4b98 ldr r3, [pc, #608] ; (80883b4 ) 8088152: 799b ldrb r3, [r3, #6] 8088154: b2db uxtb r3, r3 8088156: 2b02 cmp r3, #2 8088158: d010 beq.n 808817c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808815a: 4b96 ldr r3, [pc, #600] ; (80883b4 ) 808815c: 7b1b ldrb r3, [r3, #12] 808815e: b2db uxtb r3, r3 8088160: 4619 mov r1, r3 8088162: 4a99 ldr r2, [pc, #612] ; (80883c8 ) 8088164: 232c movs r3, #44 ; 0x2c 8088166: fb03 f301 mul.w r3, r3, r1 808816a: 4413 add r3, r2 808816c: 3324 adds r3, #36 ; 0x24 808816e: 681b ldr r3, [r3, #0] 8088170: 461a mov r2, r3 8088172: 21aa movs r1, #170 ; 0xaa 8088174: 200a movs r0, #10 8088176: f7cc fff3 bl 8055160 808817a: e00f b.n 808819c else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808817c: 4b8d ldr r3, [pc, #564] ; (80883b4 ) 808817e: 7b1b ldrb r3, [r3, #12] 8088180: b2db uxtb r3, r3 8088182: 4619 mov r1, r3 8088184: 4a91 ldr r2, [pc, #580] ; (80883cc ) 8088186: 232c movs r3, #44 ; 0x2c 8088188: fb03 f301 mul.w r3, r3, r1 808818c: 4413 add r3, r2 808818e: 3324 adds r3, #36 ; 0x24 8088190: 681b ldr r3, [r3, #0] 8088192: 461a mov r2, r3 8088194: 21aa movs r1, #170 ; 0xaa 8088196: 200a movs r0, #10 8088198: f7cc ffe2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808819c: 4989 ldr r1, [pc, #548] ; (80883c4 ) 808819e: 488c ldr r0, [pc, #560] ; (80883d0 ) 80881a0: f7cc fa36 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, str); 80881a4: f507 733b add.w r3, r7, #748 ; 0x2ec 80881a8: 461a mov r2, r3 80881aa: 21aa movs r1, #170 ; 0xaa 80881ac: f44f 7082 mov.w r0, #260 ; 0x104 80881b0: f7cc ffee bl 8055190 80881b4: f001 bc24 b.w 8089a00 if(menupos == SAverage) 80881b8: 4b86 ldr r3, [pc, #536] ; (80883d4 ) 80881ba: 781b ldrb r3, [r3, #0] 80881bc: b2db uxtb r3, r3 80881be: 2b07 cmp r3, #7 80881c0: f040 8112 bne.w 80883e8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80881c4: 497f ldr r1, [pc, #508] ; (80883c4 ) 80881c6: f04f 30ff mov.w r0, #4294967295 80881ca: f7cc fa21 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80881ce: 4b79 ldr r3, [pc, #484] ; (80883b4 ) 80881d0: 7b1b ldrb r3, [r3, #12] 80881d2: b2db uxtb r3, r3 80881d4: 461a mov r2, r3 80881d6: 4b80 ldr r3, [pc, #512] ; (80883d8 ) 80881d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80881dc: 461a mov r2, r3 80881de: 2127 movs r1, #39 ; 0x27 80881e0: 200a movs r0, #10 80881e2: f7cc ffbd bl 8055160 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80881e6: 4977 ldr r1, [pc, #476] ; (80883c4 ) 80881e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80881ec: f7cc fa10 bl 8054610 if(focused) 80881f0: 4b7a ldr r3, [pc, #488] ; (80883dc ) 80881f2: 781b ldrb r3, [r3, #0] 80881f4: b2db uxtb r3, r3 80881f6: 2b00 cmp r3, #0 80881f8: d01a beq.n 8088230 if(blk) 80881fa: 4b79 ldr r3, [pc, #484] ; (80883e0 ) 80881fc: 681b ldr r3, [r3, #0] 80881fe: 2b00 cmp r3, #0 8088200: d02c beq.n 808825c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8088202: 4b6c ldr r3, [pc, #432] ; (80883b4 ) 8088204: 7b1b ldrb r3, [r3, #12] 8088206: b2db uxtb r3, r3 8088208: 4619 mov r1, r3 808820a: 4b6a ldr r3, [pc, #424] ; (80883b4 ) 808820c: 7b5b ldrb r3, [r3, #13] 808820e: b2db uxtb r3, r3 8088210: 4618 mov r0, r3 8088212: 4a6b ldr r2, [pc, #428] ; (80883c0 ) 8088214: 460b mov r3, r1 8088216: 009b lsls r3, r3, #2 8088218: 440b add r3, r1 808821a: 005b lsls r3, r3, #1 808821c: 4403 add r3, r0 808821e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088222: 461a mov r2, r3 8088224: 218a movs r1, #138 ; 0x8a 8088226: f44f 7082 mov.w r0, #260 ; 0x104 808822a: f7cc ffb1 bl 8055190 808822e: e015 b.n 808825c LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8088230: 4b60 ldr r3, [pc, #384] ; (80883b4 ) 8088232: 7b1b ldrb r3, [r3, #12] 8088234: b2db uxtb r3, r3 8088236: 4619 mov r1, r3 8088238: 4b5e ldr r3, [pc, #376] ; (80883b4 ) 808823a: 7b5b ldrb r3, [r3, #13] 808823c: b2db uxtb r3, r3 808823e: 4618 mov r0, r3 8088240: 4a5f ldr r2, [pc, #380] ; (80883c0 ) 8088242: 460b mov r3, r1 8088244: 009b lsls r3, r3, #2 8088246: 440b add r3, r1 8088248: 005b lsls r3, r3, #1 808824a: 4403 add r3, r0 808824c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088250: 461a mov r2, r3 8088252: 218a movs r1, #138 ; 0x8a 8088254: f44f 7082 mov.w r0, #260 ; 0x104 8088258: f7cc ff9a bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808825c: 4959 ldr r1, [pc, #356] ; (80883c4 ) 808825e: 485c ldr r0, [pc, #368] ; (80883d0 ) 8088260: f7cc f9d6 bl 8054610 if((pardata.OPTIONS & maskFFT) == okt) 8088264: 4b53 ldr r3, [pc, #332] ; (80883b4 ) 8088266: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808826a: f003 0330 and.w r3, r3, #48 ; 0x30 808826e: 2b20 cmp r3, #32 8088270: d10e bne.n 8088290 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8088272: 4b50 ldr r3, [pc, #320] ; (80883b4 ) 8088274: 7b1b ldrb r3, [r3, #12] 8088276: b2db uxtb r3, r3 8088278: 4a4f ldr r2, [pc, #316] ; (80883b8 ) 808827a: 011b lsls r3, r3, #4 808827c: 4413 add r3, r2 808827e: 3308 adds r3, #8 8088280: 681b ldr r3, [r3, #0] 8088282: 461a mov r2, r3 8088284: 213a movs r1, #58 ; 0x3a 8088286: f44f 7082 mov.w r0, #260 ; 0x104 808828a: f7cc ff81 bl 8055190 808828e: e00d b.n 80882ac else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8088290: 4b48 ldr r3, [pc, #288] ; (80883b4 ) 8088292: 7b1b ldrb r3, [r3, #12] 8088294: b2db uxtb r3, r3 8088296: 4a48 ldr r2, [pc, #288] ; (80883b8 ) 8088298: 011b lsls r3, r3, #4 808829a: 4413 add r3, r2 808829c: 330c adds r3, #12 808829e: 681b ldr r3, [r3, #0] 80882a0: 461a mov r2, r3 80882a2: 213a movs r1, #58 ; 0x3a 80882a4: f44f 7082 mov.w r0, #260 ; 0x104 80882a8: f7cc ff72 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80882ac: 4b41 ldr r3, [pc, #260] ; (80883b4 ) 80882ae: 7b1b ldrb r3, [r3, #12] 80882b0: b2db uxtb r3, r3 80882b2: 4618 mov r0, r3 80882b4: 4b3f ldr r3, [pc, #252] ; (80883b4 ) 80882b6: 785b ldrb r3, [r3, #1] 80882b8: b2db uxtb r3, r3 80882ba: 005b lsls r3, r3, #1 80882bc: 4a3d ldr r2, [pc, #244] ; (80883b4 ) 80882be: 7852 ldrb r2, [r2, #1] 80882c0: b2d2 uxtb r2, r2 80882c2: 4611 mov r1, r2 80882c4: 4a3b ldr r2, [pc, #236] ; (80883b4 ) 80882c6: 440a add r2, r1 80882c8: 7892 ldrb r2, [r2, #2] 80882ca: b2d2 uxtb r2, r2 80882cc: 431a orrs r2, r3 80882ce: 493b ldr r1, [pc, #236] ; (80883bc ) 80882d0: 4603 mov r3, r0 80882d2: 005b lsls r3, r3, #1 80882d4: 4403 add r3, r0 80882d6: 005b lsls r3, r3, #1 80882d8: 4413 add r3, r2 80882da: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80882de: 461a mov r2, r3 80882e0: 214a movs r1, #74 ; 0x4a 80882e2: f44f 7082 mov.w r0, #260 ; 0x104 80882e6: f7cc ff53 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80882ea: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80882ee: 461a mov r2, r3 80882f0: 215a movs r1, #90 ; 0x5a 80882f2: f44f 7082 mov.w r0, #260 ; 0x104 80882f6: f7cc ff4b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80882fa: f507 73cc add.w r3, r7, #408 ; 0x198 80882fe: 461a mov r2, r3 8088300: 216a movs r1, #106 ; 0x6a 8088302: f44f 7082 mov.w r0, #260 ; 0x104 8088306: f7cc ff43 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 808830a: 4b2a ldr r3, [pc, #168] ; (80883b4 ) 808830c: 7b1b ldrb r3, [r3, #12] 808830e: b2db uxtb r3, r3 8088310: 4618 mov r0, r3 8088312: 4b28 ldr r3, [pc, #160] ; (80883b4 ) 8088314: 7a9b ldrb r3, [r3, #10] 8088316: b2db uxtb r3, r3 8088318: 4619 mov r1, r3 808831a: 4a32 ldr r2, [pc, #200] ; (80883e4 ) 808831c: 0043 lsls r3, r0, #1 808831e: 440b add r3, r1 8088320: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088324: 461a mov r2, r3 8088326: 217a movs r1, #122 ; 0x7a 8088328: f44f 7082 mov.w r0, #260 ; 0x104 808832c: f7cc ff30 bl 8055190 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8088330: 4b20 ldr r3, [pc, #128] ; (80883b4 ) 8088332: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088336: f003 0304 and.w r3, r3, #4 808833a: 2b00 cmp r3, #0 808833c: f041 8360 bne.w 8089a00 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088340: 4920 ldr r1, [pc, #128] ; (80883c4 ) 8088342: f04f 30ff mov.w r0, #4294967295 8088346: f7cc f963 bl 8054610 if(pardata.IIN != VOLTS) 808834a: 4b1a ldr r3, [pc, #104] ; (80883b4 ) 808834c: 799b ldrb r3, [r3, #6] 808834e: b2db uxtb r3, r3 8088350: 2b02 cmp r3, #2 8088352: d010 beq.n 8088376 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8088354: 4b17 ldr r3, [pc, #92] ; (80883b4 ) 8088356: 7b1b ldrb r3, [r3, #12] 8088358: b2db uxtb r3, r3 808835a: 4619 mov r1, r3 808835c: 4a1a ldr r2, [pc, #104] ; (80883c8 ) 808835e: 232c movs r3, #44 ; 0x2c 8088360: fb03 f301 mul.w r3, r3, r1 8088364: 4413 add r3, r2 8088366: 3324 adds r3, #36 ; 0x24 8088368: 681b ldr r3, [r3, #0] 808836a: 461a mov r2, r3 808836c: 21aa movs r1, #170 ; 0xaa 808836e: 200a movs r0, #10 8088370: f7cc fef6 bl 8055160 8088374: e00f b.n 8088396 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088376: 4b0f ldr r3, [pc, #60] ; (80883b4 ) 8088378: 7b1b ldrb r3, [r3, #12] 808837a: b2db uxtb r3, r3 808837c: 4619 mov r1, r3 808837e: 4a13 ldr r2, [pc, #76] ; (80883cc ) 8088380: 232c movs r3, #44 ; 0x2c 8088382: fb03 f301 mul.w r3, r3, r1 8088386: 4413 add r3, r2 8088388: 3324 adds r3, #36 ; 0x24 808838a: 681b ldr r3, [r3, #0] 808838c: 461a mov r2, r3 808838e: 21aa movs r1, #170 ; 0xaa 8088390: 200a movs r0, #10 8088392: f7cc fee5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088396: 490b ldr r1, [pc, #44] ; (80883c4 ) 8088398: 480d ldr r0, [pc, #52] ; (80883d0 ) 808839a: f7cc f939 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, str); 808839e: f507 733b add.w r3, r7, #748 ; 0x2ec 80883a2: 461a mov r2, r3 80883a4: 21aa movs r1, #170 ; 0xaa 80883a6: f44f 7082 mov.w r0, #260 ; 0x104 80883aa: f7cc fef1 bl 8055190 80883ae: f001 bb27 b.w 8089a00 80883b2: bf00 nop 80883b4: 20023ea8 .word 0x20023ea8 80883b8: 200202a4 .word 0x200202a4 80883bc: 200201a4 .word 0x200201a4 80883c0: 20020254 .word 0x20020254 80883c4: ff0a0f1f .word 0xff0a0f1f 80883c8: 200206bc .word 0x200206bc 80883cc: 20020714 .word 0x20020714 80883d0: ffd8aa57 .word 0xffd8aa57 80883d4: 20020070 .word 0x20020070 80883d8: 200205cc .word 0x200205cc 80883dc: 20020fc8 .word 0x20020fc8 80883e0: 200216a4 .word 0x200216a4 80883e4: 2002021c .word 0x2002021c if(menupos == VibAutoKu) 80883e8: 4b8f ldr r3, [pc, #572] ; (8088628 ) 80883ea: 781b ldrb r3, [r3, #0] 80883ec: b2db uxtb r3, r3 80883ee: 2b08 cmp r3, #8 80883f0: f040 80e8 bne.w 80885c4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80883f4: 498d ldr r1, [pc, #564] ; (808862c ) 80883f6: f04f 30ff mov.w r0, #4294967295 80883fa: f7cc f909 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80883fe: 4b8c ldr r3, [pc, #560] ; (8088630 ) 8088400: 7b1b ldrb r3, [r3, #12] 8088402: b2db uxtb r3, r3 8088404: 461a mov r2, r3 8088406: 4b8b ldr r3, [pc, #556] ; (8088634 ) 8088408: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808840c: 461a mov r2, r3 808840e: 2127 movs r1, #39 ; 0x27 8088410: 200a movs r0, #10 8088412: f7cc fea5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088416: 4985 ldr r1, [pc, #532] ; (808862c ) 8088418: 4887 ldr r0, [pc, #540] ; (8088638 ) 808841a: f7cc f8f9 bl 8054610 if((pardata.OPTIONS & maskFFT) == okt) 808841e: 4b84 ldr r3, [pc, #528] ; (8088630 ) 8088420: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088424: f003 0330 and.w r3, r3, #48 ; 0x30 8088428: 2b20 cmp r3, #32 808842a: d10e bne.n 808844a LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 808842c: 4b80 ldr r3, [pc, #512] ; (8088630 ) 808842e: 7b1b ldrb r3, [r3, #12] 8088430: b2db uxtb r3, r3 8088432: 4a82 ldr r2, [pc, #520] ; (808863c ) 8088434: 011b lsls r3, r3, #4 8088436: 4413 add r3, r2 8088438: 3308 adds r3, #8 808843a: 681b ldr r3, [r3, #0] 808843c: 461a mov r2, r3 808843e: 213a movs r1, #58 ; 0x3a 8088440: f44f 7082 mov.w r0, #260 ; 0x104 8088444: f7cc fea4 bl 8055190 8088448: e00d b.n 8088466 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 808844a: 4b79 ldr r3, [pc, #484] ; (8088630 ) 808844c: 7b1b ldrb r3, [r3, #12] 808844e: b2db uxtb r3, r3 8088450: 4a7a ldr r2, [pc, #488] ; (808863c ) 8088452: 011b lsls r3, r3, #4 8088454: 4413 add r3, r2 8088456: 330c adds r3, #12 8088458: 681b ldr r3, [r3, #0] 808845a: 461a mov r2, r3 808845c: 213a movs r1, #58 ; 0x3a 808845e: f44f 7082 mov.w r0, #260 ; 0x104 8088462: f7cc fe95 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8088466: 4b72 ldr r3, [pc, #456] ; (8088630 ) 8088468: 7b1b ldrb r3, [r3, #12] 808846a: b2db uxtb r3, r3 808846c: 4618 mov r0, r3 808846e: 4b70 ldr r3, [pc, #448] ; (8088630 ) 8088470: 785b ldrb r3, [r3, #1] 8088472: b2db uxtb r3, r3 8088474: 005b lsls r3, r3, #1 8088476: 4a6e ldr r2, [pc, #440] ; (8088630 ) 8088478: 7852 ldrb r2, [r2, #1] 808847a: b2d2 uxtb r2, r2 808847c: 4611 mov r1, r2 808847e: 4a6c ldr r2, [pc, #432] ; (8088630 ) 8088480: 440a add r2, r1 8088482: 7892 ldrb r2, [r2, #2] 8088484: b2d2 uxtb r2, r2 8088486: 431a orrs r2, r3 8088488: 496d ldr r1, [pc, #436] ; (8088640 ) 808848a: 4603 mov r3, r0 808848c: 005b lsls r3, r3, #1 808848e: 4403 add r3, r0 8088490: 005b lsls r3, r3, #1 8088492: 4413 add r3, r2 8088494: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8088498: 461a mov r2, r3 808849a: 214a movs r1, #74 ; 0x4a 808849c: f44f 7082 mov.w r0, #260 ; 0x104 80884a0: f7cc fe76 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80884a4: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80884a8: 461a mov r2, r3 80884aa: 215a movs r1, #90 ; 0x5a 80884ac: f44f 7082 mov.w r0, #260 ; 0x104 80884b0: f7cc fe6e bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80884b4: f507 73cc add.w r3, r7, #408 ; 0x198 80884b8: 461a mov r2, r3 80884ba: 216a movs r1, #106 ; 0x6a 80884bc: f44f 7082 mov.w r0, #260 ; 0x104 80884c0: f7cc fe66 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 80884c4: 4b5a ldr r3, [pc, #360] ; (8088630 ) 80884c6: 7b1b ldrb r3, [r3, #12] 80884c8: b2db uxtb r3, r3 80884ca: 4618 mov r0, r3 80884cc: 4b58 ldr r3, [pc, #352] ; (8088630 ) 80884ce: 7a9b ldrb r3, [r3, #10] 80884d0: b2db uxtb r3, r3 80884d2: 4619 mov r1, r3 80884d4: 4a5b ldr r2, [pc, #364] ; (8088644 ) 80884d6: 0043 lsls r3, r0, #1 80884d8: 440b add r3, r1 80884da: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80884de: 461a mov r2, r3 80884e0: 217a movs r1, #122 ; 0x7a 80884e2: f44f 7082 mov.w r0, #260 ; 0x104 80884e6: f7cc fe53 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 80884ea: 4b51 ldr r3, [pc, #324] ; (8088630 ) 80884ec: 7b1b ldrb r3, [r3, #12] 80884ee: b2db uxtb r3, r3 80884f0: 4619 mov r1, r3 80884f2: 4b4f ldr r3, [pc, #316] ; (8088630 ) 80884f4: 7b5b ldrb r3, [r3, #13] 80884f6: b2db uxtb r3, r3 80884f8: 4618 mov r0, r3 80884fa: 4a53 ldr r2, [pc, #332] ; (8088648 ) 80884fc: 460b mov r3, r1 80884fe: 009b lsls r3, r3, #2 8088500: 440b add r3, r1 8088502: 005b lsls r3, r3, #1 8088504: 4403 add r3, r0 8088506: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808850a: 461a mov r2, r3 808850c: 218a movs r1, #138 ; 0x8a 808850e: f44f 7082 mov.w r0, #260 ; 0x104 8088512: f7cc fe3d bl 8055190 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088516: 4945 ldr r1, [pc, #276] ; (808862c ) 8088518: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808851c: f7cc f878 bl 8054610 BSP_LCD_FillRect(253, CHECKBOX_LINE_9 - 2, 14, 14); 8088520: 230e movs r3, #14 8088522: 220e movs r2, #14 8088524: 219b movs r1, #155 ; 0x9b 8088526: 20fd movs r0, #253 ; 0xfd 8088528: f7cc fd00 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808852c: 493f ldr r1, [pc, #252] ; (808862c ) 808852e: f04f 30ff mov.w r0, #4294967295 8088532: f7cc f86d bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8088536: 230a movs r3, #10 8088538: 220a movs r2, #10 808853a: 219d movs r1, #157 ; 0x9d 808853c: 20ff movs r0, #255 ; 0xff 808853e: f7cc fcf5 bl 8054f2c if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8088542: 4b3b ldr r3, [pc, #236] ; (8088630 ) 8088544: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088548: f003 0304 and.w r3, r3, #4 808854c: 2b00 cmp r3, #0 808854e: f041 8257 bne.w 8089a00 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088552: 4936 ldr r1, [pc, #216] ; (808862c ) 8088554: f04f 30ff mov.w r0, #4294967295 8088558: f7cc f85a bl 8054610 if(pardata.IIN != VOLTS) 808855c: 4b34 ldr r3, [pc, #208] ; (8088630 ) 808855e: 799b ldrb r3, [r3, #6] 8088560: b2db uxtb r3, r3 8088562: 2b02 cmp r3, #2 8088564: d010 beq.n 8088588 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8088566: 4b32 ldr r3, [pc, #200] ; (8088630 ) 8088568: 7b1b ldrb r3, [r3, #12] 808856a: b2db uxtb r3, r3 808856c: 4619 mov r1, r3 808856e: 4a37 ldr r2, [pc, #220] ; (808864c ) 8088570: 232c movs r3, #44 ; 0x2c 8088572: fb03 f301 mul.w r3, r3, r1 8088576: 4413 add r3, r2 8088578: 3324 adds r3, #36 ; 0x24 808857a: 681b ldr r3, [r3, #0] 808857c: 461a mov r2, r3 808857e: 21aa movs r1, #170 ; 0xaa 8088580: 200a movs r0, #10 8088582: f7cc fded bl 8055160 8088586: e00f b.n 80885a8 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088588: 4b29 ldr r3, [pc, #164] ; (8088630 ) 808858a: 7b1b ldrb r3, [r3, #12] 808858c: b2db uxtb r3, r3 808858e: 4619 mov r1, r3 8088590: 4a2f ldr r2, [pc, #188] ; (8088650 ) 8088592: 232c movs r3, #44 ; 0x2c 8088594: fb03 f301 mul.w r3, r3, r1 8088598: 4413 add r3, r2 808859a: 3324 adds r3, #36 ; 0x24 808859c: 681b ldr r3, [r3, #0] 808859e: 461a mov r2, r3 80885a0: 21aa movs r1, #170 ; 0xaa 80885a2: 200a movs r0, #10 80885a4: f7cc fddc bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80885a8: 4920 ldr r1, [pc, #128] ; (808862c ) 80885aa: 4823 ldr r0, [pc, #140] ; (8088638 ) 80885ac: f7cc f830 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, str); 80885b0: f507 733b add.w r3, r7, #748 ; 0x2ec 80885b4: 461a mov r2, r3 80885b6: 21aa movs r1, #170 ; 0xaa 80885b8: f44f 7082 mov.w r0, #260 ; 0x104 80885bc: f7cc fde8 bl 8055190 80885c0: f001 ba1e b.w 8089a00 if(menupos == VibMax_ALL) 80885c4: 4b18 ldr r3, [pc, #96] ; (8088628 ) 80885c6: 781b ldrb r3, [r3, #0] 80885c8: b2db uxtb r3, r3 80885ca: 2b09 cmp r3, #9 80885cc: f040 80e3 bne.w 8088796 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80885d0: 4916 ldr r1, [pc, #88] ; (808862c ) 80885d2: f04f 30ff mov.w r0, #4294967295 80885d6: f7cc f81b bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80885da: 4b15 ldr r3, [pc, #84] ; (8088630 ) 80885dc: 7b1b ldrb r3, [r3, #12] 80885de: b2db uxtb r3, r3 80885e0: 461a mov r2, r3 80885e2: 4b14 ldr r3, [pc, #80] ; (8088634 ) 80885e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80885e8: 461a mov r2, r3 80885ea: 2127 movs r1, #39 ; 0x27 80885ec: 200a movs r0, #10 80885ee: f7cc fdb7 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80885f2: 490e ldr r1, [pc, #56] ; (808862c ) 80885f4: 4810 ldr r0, [pc, #64] ; (8088638 ) 80885f6: f7cc f80b bl 8054610 if((pardata.OPTIONS & maskFFT) == okt) 80885fa: 4b0d ldr r3, [pc, #52] ; (8088630 ) 80885fc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088600: f003 0330 and.w r3, r3, #48 ; 0x30 8088604: 2b20 cmp r3, #32 8088606: d125 bne.n 8088654 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8088608: 4b09 ldr r3, [pc, #36] ; (8088630 ) 808860a: 7b1b ldrb r3, [r3, #12] 808860c: b2db uxtb r3, r3 808860e: 4a0b ldr r2, [pc, #44] ; (808863c ) 8088610: 011b lsls r3, r3, #4 8088612: 4413 add r3, r2 8088614: 3308 adds r3, #8 8088616: 681b ldr r3, [r3, #0] 8088618: 461a mov r2, r3 808861a: 213a movs r1, #58 ; 0x3a 808861c: f44f 7082 mov.w r0, #260 ; 0x104 8088620: f7cc fdb6 bl 8055190 8088624: e024 b.n 8088670 8088626: bf00 nop 8088628: 20020070 .word 0x20020070 808862c: ff0a0f1f .word 0xff0a0f1f 8088630: 20023ea8 .word 0x20023ea8 8088634: 200205cc .word 0x200205cc 8088638: ffd8aa57 .word 0xffd8aa57 808863c: 200202a4 .word 0x200202a4 8088640: 200201a4 .word 0x200201a4 8088644: 2002021c .word 0x2002021c 8088648: 20020254 .word 0x20020254 808864c: 200206bc .word 0x200206bc 8088650: 20020714 .word 0x20020714 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8088654: 4bc6 ldr r3, [pc, #792] ; (8088970 ) 8088656: 7b1b ldrb r3, [r3, #12] 8088658: b2db uxtb r3, r3 808865a: 4ac6 ldr r2, [pc, #792] ; (8088974 ) 808865c: 011b lsls r3, r3, #4 808865e: 4413 add r3, r2 8088660: 330c adds r3, #12 8088662: 681b ldr r3, [r3, #0] 8088664: 461a mov r2, r3 8088666: 213a movs r1, #58 ; 0x3a 8088668: f44f 7082 mov.w r0, #260 ; 0x104 808866c: f7cc fd90 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8088670: 4bbf ldr r3, [pc, #764] ; (8088970 ) 8088672: 7b1b ldrb r3, [r3, #12] 8088674: b2db uxtb r3, r3 8088676: 4618 mov r0, r3 8088678: 4bbd ldr r3, [pc, #756] ; (8088970 ) 808867a: 785b ldrb r3, [r3, #1] 808867c: b2db uxtb r3, r3 808867e: 005b lsls r3, r3, #1 8088680: 4abb ldr r2, [pc, #748] ; (8088970 ) 8088682: 7852 ldrb r2, [r2, #1] 8088684: b2d2 uxtb r2, r2 8088686: 4611 mov r1, r2 8088688: 4ab9 ldr r2, [pc, #740] ; (8088970 ) 808868a: 440a add r2, r1 808868c: 7892 ldrb r2, [r2, #2] 808868e: b2d2 uxtb r2, r2 8088690: 431a orrs r2, r3 8088692: 49b9 ldr r1, [pc, #740] ; (8088978 ) 8088694: 4603 mov r3, r0 8088696: 005b lsls r3, r3, #1 8088698: 4403 add r3, r0 808869a: 005b lsls r3, r3, #1 808869c: 4413 add r3, r2 808869e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80886a2: 461a mov r2, r3 80886a4: 214a movs r1, #74 ; 0x4a 80886a6: f44f 7082 mov.w r0, #260 ; 0x104 80886aa: f7cc fd71 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80886ae: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80886b2: 461a mov r2, r3 80886b4: 215a movs r1, #90 ; 0x5a 80886b6: f44f 7082 mov.w r0, #260 ; 0x104 80886ba: f7cc fd69 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80886be: f507 73cc add.w r3, r7, #408 ; 0x198 80886c2: 461a mov r2, r3 80886c4: 216a movs r1, #106 ; 0x6a 80886c6: f44f 7082 mov.w r0, #260 ; 0x104 80886ca: f7cc fd61 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 80886ce: 4ba8 ldr r3, [pc, #672] ; (8088970 ) 80886d0: 7b1b ldrb r3, [r3, #12] 80886d2: b2db uxtb r3, r3 80886d4: 4618 mov r0, r3 80886d6: 4ba6 ldr r3, [pc, #664] ; (8088970 ) 80886d8: 7a9b ldrb r3, [r3, #10] 80886da: b2db uxtb r3, r3 80886dc: 4619 mov r1, r3 80886de: 4aa7 ldr r2, [pc, #668] ; (808897c ) 80886e0: 0043 lsls r3, r0, #1 80886e2: 440b add r3, r1 80886e4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80886e8: 461a mov r2, r3 80886ea: 217a movs r1, #122 ; 0x7a 80886ec: f44f 7082 mov.w r0, #260 ; 0x104 80886f0: f7cc fd4e bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 80886f4: 4b9e ldr r3, [pc, #632] ; (8088970 ) 80886f6: 7b1b ldrb r3, [r3, #12] 80886f8: b2db uxtb r3, r3 80886fa: 4619 mov r1, r3 80886fc: 4b9c ldr r3, [pc, #624] ; (8088970 ) 80886fe: 7b5b ldrb r3, [r3, #13] 8088700: b2db uxtb r3, r3 8088702: 4618 mov r0, r3 8088704: 4a9e ldr r2, [pc, #632] ; (8088980 ) 8088706: 460b mov r3, r1 8088708: 009b lsls r3, r3, #2 808870a: 440b add r3, r1 808870c: 005b lsls r3, r3, #1 808870e: 4403 add r3, r0 8088710: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088714: 461a mov r2, r3 8088716: 218a movs r1, #138 ; 0x8a 8088718: f44f 7082 mov.w r0, #260 ; 0x104 808871c: f7cc fd38 bl 8055190 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088720: 4998 ldr r1, [pc, #608] ; (8088984 ) 8088722: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088726: f7cb ff73 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, str); 808872a: f507 733b add.w r3, r7, #748 ; 0x2ec 808872e: 461a mov r2, r3 8088730: 21aa movs r1, #170 ; 0xaa 8088732: f44f 7082 mov.w r0, #260 ; 0x104 8088736: f7cc fd2b bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808873a: 4992 ldr r1, [pc, #584] ; (8088984 ) 808873c: f04f 30ff mov.w r0, #4294967295 8088740: f7cb ff66 bl 8054610 if(pardata.IIN != VOLTS) 8088744: 4b8a ldr r3, [pc, #552] ; (8088970 ) 8088746: 799b ldrb r3, [r3, #6] 8088748: b2db uxtb r3, r3 808874a: 2b02 cmp r3, #2 808874c: d011 beq.n 8088772 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808874e: 4b88 ldr r3, [pc, #544] ; (8088970 ) 8088750: 7b1b ldrb r3, [r3, #12] 8088752: b2db uxtb r3, r3 8088754: 4619 mov r1, r3 8088756: 4a8c ldr r2, [pc, #560] ; (8088988 ) 8088758: 232c movs r3, #44 ; 0x2c 808875a: fb03 f301 mul.w r3, r3, r1 808875e: 4413 add r3, r2 8088760: 3324 adds r3, #36 ; 0x24 8088762: 681b ldr r3, [r3, #0] 8088764: 461a mov r2, r3 8088766: 21aa movs r1, #170 ; 0xaa 8088768: 200a movs r0, #10 808876a: f7cc fcf9 bl 8055160 808876e: f001 b947 b.w 8089a00 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088772: 4b7f ldr r3, [pc, #508] ; (8088970 ) 8088774: 7b1b ldrb r3, [r3, #12] 8088776: b2db uxtb r3, r3 8088778: 4619 mov r1, r3 808877a: 4a84 ldr r2, [pc, #528] ; (808898c ) 808877c: 232c movs r3, #44 ; 0x2c 808877e: fb03 f301 mul.w r3, r3, r1 8088782: 4413 add r3, r2 8088784: 3324 adds r3, #36 ; 0x24 8088786: 681b ldr r3, [r3, #0] 8088788: 461a mov r2, r3 808878a: 21aa movs r1, #170 ; 0xaa 808878c: 200a movs r0, #10 808878e: f7cc fce7 bl 8055160 8088792: f001 b935 b.w 8089a00 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088796: 497b ldr r1, [pc, #492] ; (8088984 ) 8088798: f04f 30ff mov.w r0, #4294967295 808879c: f7cb ff38 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80887a0: 4b73 ldr r3, [pc, #460] ; (8088970 ) 80887a2: 7b1b ldrb r3, [r3, #12] 80887a4: b2db uxtb r3, r3 80887a6: 461a mov r2, r3 80887a8: 4b79 ldr r3, [pc, #484] ; (8088990 ) 80887aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80887ae: 461a mov r2, r3 80887b0: 2127 movs r1, #39 ; 0x27 80887b2: 200a movs r0, #10 80887b4: f7cc fcd4 bl 8055160 if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 80887b8: 4b76 ldr r3, [pc, #472] ; (8088994 ) 80887ba: 781b ldrb r3, [r3, #0] 80887bc: b2db uxtb r3, r3 80887be: 2b18 cmp r3, #24 80887c0: f240 8083 bls.w 80888ca 80887c4: 4b73 ldr r3, [pc, #460] ; (8088994 ) 80887c6: 781b ldrb r3, [r3, #0] 80887c8: b2db uxtb r3, r3 80887ca: 2b1e cmp r3, #30 80887cc: d87d bhi.n 80888ca LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80887ce: 496d ldr r1, [pc, #436] ; (8088984 ) 80887d0: 4871 ldr r0, [pc, #452] ; (8088998 ) 80887d2: f7cb ff1d bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80887d6: f507 73cc add.w r3, r7, #408 ; 0x198 80887da: 461a mov r2, r3 80887dc: 216a movs r1, #106 ; 0x6a 80887de: f44f 7082 mov.w r0, #260 ; 0x104 80887e2: f7cc fcd5 bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80887e6: 4b62 ldr r3, [pc, #392] ; (8088970 ) 80887e8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80887ec: f003 0304 and.w r3, r3, #4 80887f0: 2b00 cmp r3, #0 80887f2: d032 beq.n 808885a LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80887f4: 4963 ldr r1, [pc, #396] ; (8088984 ) 80887f6: 4869 ldr r0, [pc, #420] ; (808899c ) 80887f8: f7cb ff0a bl 8054610 if(pardata.IIN != VOLTS) 80887fc: 4b5c ldr r3, [pc, #368] ; (8088970 ) 80887fe: 799b ldrb r3, [r3, #6] 8088800: b2db uxtb r3, r3 8088802: 2b02 cmp r3, #2 8088804: d010 beq.n 8088828 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8088806: 4b5a ldr r3, [pc, #360] ; (8088970 ) 8088808: 7b1b ldrb r3, [r3, #12] 808880a: b2db uxtb r3, r3 808880c: 4619 mov r1, r3 808880e: 4a5e ldr r2, [pc, #376] ; (8088988 ) 8088810: 232c movs r3, #44 ; 0x2c 8088812: fb03 f301 mul.w r3, r3, r1 8088816: 4413 add r3, r2 8088818: 3324 adds r3, #36 ; 0x24 808881a: 681b ldr r3, [r3, #0] 808881c: 461a mov r2, r3 808881e: 21aa movs r1, #170 ; 0xaa 8088820: 200a movs r0, #10 8088822: f7cc fc9d bl 8055160 8088826: e00f b.n 8088848 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088828: 4b51 ldr r3, [pc, #324] ; (8088970 ) 808882a: 7b1b ldrb r3, [r3, #12] 808882c: b2db uxtb r3, r3 808882e: 4619 mov r1, r3 8088830: 4a56 ldr r2, [pc, #344] ; (808898c ) 8088832: 232c movs r3, #44 ; 0x2c 8088834: fb03 f301 mul.w r3, r3, r1 8088838: 4413 add r3, r2 808883a: 3324 adds r3, #36 ; 0x24 808883c: 681b ldr r3, [r3, #0] 808883e: 461a mov r2, r3 8088840: 21aa movs r1, #170 ; 0xaa 8088842: 200a movs r0, #10 8088844: f7cc fc8c bl 8055160 LCD_DisplayStringC(260, LCD_LINE_10, str); 8088848: f507 733b add.w r3, r7, #748 ; 0x2ec 808884c: 461a mov r2, r3 808884e: 21aa movs r1, #170 ; 0xaa 8088850: f44f 7082 mov.w r0, #260 ; 0x104 8088854: f7cc fc9c bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8088858: e123 b.n 8088aa2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808885a: 494a ldr r1, [pc, #296] ; (8088984 ) 808885c: f04f 30ff mov.w r0, #4294967295 8088860: f7cb fed6 bl 8054610 if(pardata.IIN != VOLTS) 8088864: 4b42 ldr r3, [pc, #264] ; (8088970 ) 8088866: 799b ldrb r3, [r3, #6] 8088868: b2db uxtb r3, r3 808886a: 2b02 cmp r3, #2 808886c: d010 beq.n 8088890 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808886e: 4b40 ldr r3, [pc, #256] ; (8088970 ) 8088870: 7b1b ldrb r3, [r3, #12] 8088872: b2db uxtb r3, r3 8088874: 4619 mov r1, r3 8088876: 4a44 ldr r2, [pc, #272] ; (8088988 ) 8088878: 232c movs r3, #44 ; 0x2c 808887a: fb03 f301 mul.w r3, r3, r1 808887e: 4413 add r3, r2 8088880: 3324 adds r3, #36 ; 0x24 8088882: 681b ldr r3, [r3, #0] 8088884: 461a mov r2, r3 8088886: 21aa movs r1, #170 ; 0xaa 8088888: 200a movs r0, #10 808888a: f7cc fc69 bl 8055160 808888e: e00f b.n 80888b0 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088890: 4b37 ldr r3, [pc, #220] ; (8088970 ) 8088892: 7b1b ldrb r3, [r3, #12] 8088894: b2db uxtb r3, r3 8088896: 4619 mov r1, r3 8088898: 4a3c ldr r2, [pc, #240] ; (808898c ) 808889a: 232c movs r3, #44 ; 0x2c 808889c: fb03 f301 mul.w r3, r3, r1 80888a0: 4413 add r3, r2 80888a2: 3324 adds r3, #36 ; 0x24 80888a4: 681b ldr r3, [r3, #0] 80888a6: 461a mov r2, r3 80888a8: 21aa movs r1, #170 ; 0xaa 80888aa: 200a movs r0, #10 80888ac: f7cc fc58 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80888b0: 4934 ldr r1, [pc, #208] ; (8088984 ) 80888b2: 4839 ldr r0, [pc, #228] ; (8088998 ) 80888b4: f7cb feac bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, str); 80888b8: f507 733b add.w r3, r7, #748 ; 0x2ec 80888bc: 461a mov r2, r3 80888be: 21aa movs r1, #170 ; 0xaa 80888c0: f44f 7082 mov.w r0, #260 ; 0x104 80888c4: f7cc fc64 bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80888c8: e0eb b.n 8088aa2 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 80888ca: 4b32 ldr r3, [pc, #200] ; (8088994 ) 80888cc: 781b ldrb r3, [r3, #0] 80888ce: b2db uxtb r3, r3 80888d0: 2b1e cmp r3, #30 80888d2: f240 809d bls.w 8088a10 80888d6: 4b2f ldr r3, [pc, #188] ; (8088994 ) 80888d8: 781b ldrb r3, [r3, #0] 80888da: b2db uxtb r3, r3 80888dc: 2b24 cmp r3, #36 ; 0x24 80888de: f200 8097 bhi.w 8088a10 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80888e2: 4928 ldr r1, [pc, #160] ; (8088984 ) 80888e4: 482c ldr r0, [pc, #176] ; (8088998 ) 80888e6: f7cb fe93 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80888ea: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80888ee: 461a mov r2, r3 80888f0: 215a movs r1, #90 ; 0x5a 80888f2: f44f 7082 mov.w r0, #260 ; 0x104 80888f6: f7cc fc4b bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80888fa: 4b1d ldr r3, [pc, #116] ; (8088970 ) 80888fc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088900: f003 0304 and.w r3, r3, #4 8088904: 2b00 cmp r3, #0 8088906: d04b beq.n 80889a0 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8088908: 491e ldr r1, [pc, #120] ; (8088984 ) 808890a: 4824 ldr r0, [pc, #144] ; (808899c ) 808890c: f7cb fe80 bl 8054610 if(pardata.IIN != VOLTS) 8088910: 4b17 ldr r3, [pc, #92] ; (8088970 ) 8088912: 799b ldrb r3, [r3, #6] 8088914: b2db uxtb r3, r3 8088916: 2b02 cmp r3, #2 8088918: d010 beq.n 808893c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808891a: 4b15 ldr r3, [pc, #84] ; (8088970 ) 808891c: 7b1b ldrb r3, [r3, #12] 808891e: b2db uxtb r3, r3 8088920: 4619 mov r1, r3 8088922: 4a19 ldr r2, [pc, #100] ; (8088988 ) 8088924: 232c movs r3, #44 ; 0x2c 8088926: fb03 f301 mul.w r3, r3, r1 808892a: 4413 add r3, r2 808892c: 3324 adds r3, #36 ; 0x24 808892e: 681b ldr r3, [r3, #0] 8088930: 461a mov r2, r3 8088932: 21aa movs r1, #170 ; 0xaa 8088934: 200a movs r0, #10 8088936: f7cc fc13 bl 8055160 808893a: e00f b.n 808895c else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808893c: 4b0c ldr r3, [pc, #48] ; (8088970 ) 808893e: 7b1b ldrb r3, [r3, #12] 8088940: b2db uxtb r3, r3 8088942: 4619 mov r1, r3 8088944: 4a11 ldr r2, [pc, #68] ; (808898c ) 8088946: 232c movs r3, #44 ; 0x2c 8088948: fb03 f301 mul.w r3, r3, r1 808894c: 4413 add r3, r2 808894e: 3324 adds r3, #36 ; 0x24 8088950: 681b ldr r3, [r3, #0] 8088952: 461a mov r2, r3 8088954: 21aa movs r1, #170 ; 0xaa 8088956: 200a movs r0, #10 8088958: f7cc fc02 bl 8055160 LCD_DisplayStringC(260, LCD_LINE_10, str); 808895c: f507 733b add.w r3, r7, #748 ; 0x2ec 8088960: 461a mov r2, r3 8088962: 21aa movs r1, #170 ; 0xaa 8088964: f44f 7082 mov.w r0, #260 ; 0x104 8088968: f7cc fc12 bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808896c: e099 b.n 8088aa2 808896e: bf00 nop 8088970: 20023ea8 .word 0x20023ea8 8088974: 200202a4 .word 0x200202a4 8088978: 200201a4 .word 0x200201a4 808897c: 2002021c .word 0x2002021c 8088980: 20020254 .word 0x20020254 8088984: ff0a0f1f .word 0xff0a0f1f 8088988: 200206bc .word 0x200206bc 808898c: 20020714 .word 0x20020714 8088990: 200205cc .word 0x200205cc 8088994: 20020070 .word 0x20020070 8088998: ffd8aa57 .word 0xffd8aa57 808899c: ff808080 .word 0xff808080 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80889a0: 49a9 ldr r1, [pc, #676] ; (8088c48 ) 80889a2: f04f 30ff mov.w r0, #4294967295 80889a6: f7cb fe33 bl 8054610 if(pardata.IIN != VOLTS) 80889aa: 4ba8 ldr r3, [pc, #672] ; (8088c4c ) 80889ac: 799b ldrb r3, [r3, #6] 80889ae: b2db uxtb r3, r3 80889b0: 2b02 cmp r3, #2 80889b2: d010 beq.n 80889d6 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80889b4: 4ba5 ldr r3, [pc, #660] ; (8088c4c ) 80889b6: 7b1b ldrb r3, [r3, #12] 80889b8: b2db uxtb r3, r3 80889ba: 4619 mov r1, r3 80889bc: 4aa4 ldr r2, [pc, #656] ; (8088c50 ) 80889be: 232c movs r3, #44 ; 0x2c 80889c0: fb03 f301 mul.w r3, r3, r1 80889c4: 4413 add r3, r2 80889c6: 3324 adds r3, #36 ; 0x24 80889c8: 681b ldr r3, [r3, #0] 80889ca: 461a mov r2, r3 80889cc: 21aa movs r1, #170 ; 0xaa 80889ce: 200a movs r0, #10 80889d0: f7cc fbc6 bl 8055160 80889d4: e00f b.n 80889f6 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 80889d6: 4b9d ldr r3, [pc, #628] ; (8088c4c ) 80889d8: 7b1b ldrb r3, [r3, #12] 80889da: b2db uxtb r3, r3 80889dc: 4619 mov r1, r3 80889de: 4a9d ldr r2, [pc, #628] ; (8088c54 ) 80889e0: 232c movs r3, #44 ; 0x2c 80889e2: fb03 f301 mul.w r3, r3, r1 80889e6: 4413 add r3, r2 80889e8: 3324 adds r3, #36 ; 0x24 80889ea: 681b ldr r3, [r3, #0] 80889ec: 461a mov r2, r3 80889ee: 21aa movs r1, #170 ; 0xaa 80889f0: 200a movs r0, #10 80889f2: f7cc fbb5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80889f6: 4994 ldr r1, [pc, #592] ; (8088c48 ) 80889f8: 4897 ldr r0, [pc, #604] ; (8088c58 ) 80889fa: f7cb fe09 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, str); 80889fe: f507 733b add.w r3, r7, #748 ; 0x2ec 8088a02: 461a mov r2, r3 8088a04: 21aa movs r1, #170 ; 0xaa 8088a06: f44f 7082 mov.w r0, #260 ; 0x104 8088a0a: f7cc fbc1 bl 8055190 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8088a0e: e048 b.n 8088aa2 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8088a10: 4b92 ldr r3, [pc, #584] ; (8088c5c ) 8088a12: 781b ldrb r3, [r3, #0] 8088a14: b2db uxtb r3, r3 8088a16: 2b0a cmp r3, #10 8088a18: d943 bls.n 8088aa2 8088a1a: 4b90 ldr r3, [pc, #576] ; (8088c5c ) 8088a1c: 781b ldrb r3, [r3, #0] 8088a1e: b2db uxtb r3, r3 8088a20: 2b10 cmp r3, #16 8088a22: d83e bhi.n 8088aa2 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088a24: 4988 ldr r1, [pc, #544] ; (8088c48 ) 8088a26: 488c ldr r0, [pc, #560] ; (8088c58 ) 8088a28: f7cb fdf2 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8088a2c: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8088a30: 461a mov r2, r3 8088a32: 215a movs r1, #90 ; 0x5a 8088a34: f44f 7082 mov.w r0, #260 ; 0x104 8088a38: f7cc fbaa bl 8055190 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8088a3c: f507 73cc add.w r3, r7, #408 ; 0x198 8088a40: 461a mov r2, r3 8088a42: 216a movs r1, #106 ; 0x6a 8088a44: f44f 7082 mov.w r0, #260 ; 0x104 8088a48: f7cc fba2 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088a4c: 497e ldr r1, [pc, #504] ; (8088c48 ) 8088a4e: f04f 30ff mov.w r0, #4294967295 8088a52: f7cb fddd bl 8054610 if(pardata.IIN != VOLTS) 8088a56: 4b7d ldr r3, [pc, #500] ; (8088c4c ) 8088a58: 799b ldrb r3, [r3, #6] 8088a5a: b2db uxtb r3, r3 8088a5c: 2b02 cmp r3, #2 8088a5e: d010 beq.n 8088a82 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8088a60: 4b7a ldr r3, [pc, #488] ; (8088c4c ) 8088a62: 7b1b ldrb r3, [r3, #12] 8088a64: b2db uxtb r3, r3 8088a66: 4619 mov r1, r3 8088a68: 4a79 ldr r2, [pc, #484] ; (8088c50 ) 8088a6a: 232c movs r3, #44 ; 0x2c 8088a6c: fb03 f301 mul.w r3, r3, r1 8088a70: 4413 add r3, r2 8088a72: 3324 adds r3, #36 ; 0x24 8088a74: 681b ldr r3, [r3, #0] 8088a76: 461a mov r2, r3 8088a78: 21aa movs r1, #170 ; 0xaa 8088a7a: 200a movs r0, #10 8088a7c: f7cc fb70 bl 8055160 8088a80: e00f b.n 8088aa2 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088a82: 4b72 ldr r3, [pc, #456] ; (8088c4c ) 8088a84: 7b1b ldrb r3, [r3, #12] 8088a86: b2db uxtb r3, r3 8088a88: 4619 mov r1, r3 8088a8a: 4a72 ldr r2, [pc, #456] ; (8088c54 ) 8088a8c: 232c movs r3, #44 ; 0x2c 8088a8e: fb03 f301 mul.w r3, r3, r1 8088a92: 4413 add r3, r2 8088a94: 3324 adds r3, #36 ; 0x24 8088a96: 681b ldr r3, [r3, #0] 8088a98: 461a mov r2, r3 8088a9a: 21aa movs r1, #170 ; 0xaa 8088a9c: 200a movs r0, #10 8088a9e: f7cc fb5f bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088aa2: 4969 ldr r1, [pc, #420] ; (8088c48 ) 8088aa4: 486c ldr r0, [pc, #432] ; (8088c58 ) 8088aa6: f7cb fdb3 bl 8054610 if((pardata.OPTIONS & maskFFT) == okt) 8088aaa: 4b68 ldr r3, [pc, #416] ; (8088c4c ) 8088aac: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088ab0: f003 0330 and.w r3, r3, #48 ; 0x30 8088ab4: 2b20 cmp r3, #32 8088ab6: d10e bne.n 8088ad6 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8088ab8: 4b64 ldr r3, [pc, #400] ; (8088c4c ) 8088aba: 7b1b ldrb r3, [r3, #12] 8088abc: b2db uxtb r3, r3 8088abe: 4a68 ldr r2, [pc, #416] ; (8088c60 ) 8088ac0: 011b lsls r3, r3, #4 8088ac2: 4413 add r3, r2 8088ac4: 3308 adds r3, #8 8088ac6: 681b ldr r3, [r3, #0] 8088ac8: 461a mov r2, r3 8088aca: 213a movs r1, #58 ; 0x3a 8088acc: f44f 7082 mov.w r0, #260 ; 0x104 8088ad0: f7cc fb5e bl 8055190 8088ad4: e00d b.n 8088af2 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8088ad6: 4b5d ldr r3, [pc, #372] ; (8088c4c ) 8088ad8: 7b1b ldrb r3, [r3, #12] 8088ada: b2db uxtb r3, r3 8088adc: 4a60 ldr r2, [pc, #384] ; (8088c60 ) 8088ade: 011b lsls r3, r3, #4 8088ae0: 4413 add r3, r2 8088ae2: 330c adds r3, #12 8088ae4: 681b ldr r3, [r3, #0] 8088ae6: 461a mov r2, r3 8088ae8: 213a movs r1, #58 ; 0x3a 8088aea: f44f 7082 mov.w r0, #260 ; 0x104 8088aee: f7cc fb4f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8088af2: 4b56 ldr r3, [pc, #344] ; (8088c4c ) 8088af4: 7b1b ldrb r3, [r3, #12] 8088af6: b2db uxtb r3, r3 8088af8: 4618 mov r0, r3 8088afa: 4b54 ldr r3, [pc, #336] ; (8088c4c ) 8088afc: 785b ldrb r3, [r3, #1] 8088afe: b2db uxtb r3, r3 8088b00: 005b lsls r3, r3, #1 8088b02: 4a52 ldr r2, [pc, #328] ; (8088c4c ) 8088b04: 7852 ldrb r2, [r2, #1] 8088b06: b2d2 uxtb r2, r2 8088b08: 4611 mov r1, r2 8088b0a: 4a50 ldr r2, [pc, #320] ; (8088c4c ) 8088b0c: 440a add r2, r1 8088b0e: 7892 ldrb r2, [r2, #2] 8088b10: b2d2 uxtb r2, r2 8088b12: 431a orrs r2, r3 8088b14: 4953 ldr r1, [pc, #332] ; (8088c64 ) 8088b16: 4603 mov r3, r0 8088b18: 005b lsls r3, r3, #1 8088b1a: 4403 add r3, r0 8088b1c: 005b lsls r3, r3, #1 8088b1e: 4413 add r3, r2 8088b20: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8088b24: 461a mov r2, r3 8088b26: 214a movs r1, #74 ; 0x4a 8088b28: f44f 7082 mov.w r0, #260 ; 0x104 8088b2c: f7cc fb30 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8088b30: 4b46 ldr r3, [pc, #280] ; (8088c4c ) 8088b32: 7b1b ldrb r3, [r3, #12] 8088b34: b2db uxtb r3, r3 8088b36: 4618 mov r0, r3 8088b38: 4b44 ldr r3, [pc, #272] ; (8088c4c ) 8088b3a: 7a9b ldrb r3, [r3, #10] 8088b3c: b2db uxtb r3, r3 8088b3e: 4619 mov r1, r3 8088b40: 4a49 ldr r2, [pc, #292] ; (8088c68 ) 8088b42: 0043 lsls r3, r0, #1 8088b44: 440b add r3, r1 8088b46: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088b4a: 461a mov r2, r3 8088b4c: 217a movs r1, #122 ; 0x7a 8088b4e: f44f 7082 mov.w r0, #260 ; 0x104 8088b52: f7cc fb1d bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8088b56: 4b3d ldr r3, [pc, #244] ; (8088c4c ) 8088b58: 7b1b ldrb r3, [r3, #12] 8088b5a: b2db uxtb r3, r3 8088b5c: 4619 mov r1, r3 8088b5e: 4b3b ldr r3, [pc, #236] ; (8088c4c ) 8088b60: 7b5b ldrb r3, [r3, #13] 8088b62: b2db uxtb r3, r3 8088b64: 4618 mov r0, r3 8088b66: 4a41 ldr r2, [pc, #260] ; (8088c6c ) 8088b68: 460b mov r3, r1 8088b6a: 009b lsls r3, r3, #2 8088b6c: 440b add r3, r1 8088b6e: 005b lsls r3, r3, #1 8088b70: 4403 add r3, r0 8088b72: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8088b76: 461a mov r2, r3 8088b78: 218a movs r1, #138 ; 0x8a 8088b7a: f44f 7082 mov.w r0, #260 ; 0x104 8088b7e: f7cc fb07 bl 8055190 if(menupos == FilterHP_IDT) 8088b82: 4b36 ldr r3, [pc, #216] ; (8088c5c ) 8088b84: 781b ldrb r3, [r3, #0] 8088b86: b2db uxtb r3, r3 8088b88: 2b19 cmp r3, #25 8088b8a: d177 bne.n 8088c7c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088b8c: 492e ldr r1, [pc, #184] ; (8088c48 ) 8088b8e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088b92: f7cb fd3d bl 8054610 if(blk) 8088b96: 4b36 ldr r3, [pc, #216] ; (8088c70 ) 8088b98: 681b ldr r3, [r3, #0] 8088b9a: 2b00 cmp r3, #0 8088b9c: d00b beq.n 8088bb6 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8088b9e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8088ba2: b2db uxtb r3, r3 8088ba4: 461a mov r2, r3 8088ba6: 4b33 ldr r3, [pc, #204] ; (8088c74 ) 8088ba8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088bac: 461a mov r2, r3 8088bae: 215a movs r1, #90 ; 0x5a 8088bb0: 20c6 movs r0, #198 ; 0xc6 8088bb2: f7cc fad5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088bb6: 4924 ldr r1, [pc, #144] ; (8088c48 ) 8088bb8: 4827 ldr r0, [pc, #156] ; (8088c58 ) 8088bba: f7cb fd29 bl 8054610 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8088bbe: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8088bc2: b2db uxtb r3, r3 8088bc4: 461a mov r2, r3 8088bc6: 4b2b ldr r3, [pc, #172] ; (8088c74 ) 8088bc8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088bcc: 461a mov r2, r3 8088bce: 215a movs r1, #90 ; 0x5a 8088bd0: 20d6 movs r0, #214 ; 0xd6 8088bd2: f7cc fac5 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8088bd6: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8088bda: b2db uxtb r3, r3 8088bdc: 461a mov r2, r3 8088bde: 4b25 ldr r3, [pc, #148] ; (8088c74 ) 8088be0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088be4: 461a mov r2, r3 8088be6: 215a movs r1, #90 ; 0x5a 8088be8: 20e6 movs r0, #230 ; 0xe6 8088bea: f7cc fab9 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8088bee: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8088bf2: b2db uxtb r3, r3 8088bf4: 461a mov r2, r3 8088bf6: 4b1f ldr r3, [pc, #124] ; (8088c74 ) 8088bf8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088bfc: 461a mov r2, r3 8088bfe: 215a movs r1, #90 ; 0x5a 8088c00: 20f6 movs r0, #246 ; 0xf6 8088c02: f7cc faad bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8088c06: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8088c0a: b2db uxtb r3, r3 8088c0c: 461a mov r2, r3 8088c0e: 4b19 ldr r3, [pc, #100] ; (8088c74 ) 8088c10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088c14: 461a mov r2, r3 8088c16: 215a movs r1, #90 ; 0x5a 8088c18: f44f 7083 mov.w r0, #262 ; 0x106 8088c1c: f7cc faa0 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 8088c20: 4a15 ldr r2, [pc, #84] ; (8088c78 ) 8088c22: 215a movs r1, #90 ; 0x5a 8088c24: f44f 708b mov.w r0, #278 ; 0x116 8088c28: f7cc fa9a bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8088c2c: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8088c30: b2db uxtb r3, r3 8088c32: 461a mov r2, r3 8088c34: 4b0f ldr r3, [pc, #60] ; (8088c74 ) 8088c36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088c3a: 461a mov r2, r3 8088c3c: 215a movs r1, #90 ; 0x5a 8088c3e: f44f 7093 mov.w r0, #294 ; 0x126 8088c42: f7cc fa8d bl 8055160 8088c46: e213 b.n 8089070 8088c48: ff0a0f1f .word 0xff0a0f1f 8088c4c: 20023ea8 .word 0x20023ea8 8088c50: 200206bc .word 0x200206bc 8088c54: 20020714 .word 0x20020714 8088c58: ffd8aa57 .word 0xffd8aa57 8088c5c: 20020070 .word 0x20020070 8088c60: 200202a4 .word 0x200202a4 8088c64: 200201a4 .word 0x200201a4 8088c68: 2002021c .word 0x2002021c 8088c6c: 20020254 .word 0x20020254 8088c70: 200216a4 .word 0x200216a4 8088c74: 2002096c .word 0x2002096c 8088c78: 080d3b58 .word 0x080d3b58 if(menupos == FilterHP_IET) 8088c7c: 4bc5 ldr r3, [pc, #788] ; (8088f94 ) 8088c7e: 781b ldrb r3, [r3, #0] 8088c80: b2db uxtb r3, r3 8088c82: 2b1a cmp r3, #26 8088c84: d15d bne.n 8088d42 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088c86: 49c4 ldr r1, [pc, #784] ; (8088f98 ) 8088c88: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088c8c: f7cb fcc0 bl 8054610 if(blk) 8088c90: 4bc2 ldr r3, [pc, #776] ; (8088f9c ) 8088c92: 681b ldr r3, [r3, #0] 8088c94: 2b00 cmp r3, #0 8088c96: d00b beq.n 8088cb0 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8088c98: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8088c9c: b2db uxtb r3, r3 8088c9e: 461a mov r2, r3 8088ca0: 4bbf ldr r3, [pc, #764] ; (8088fa0 ) 8088ca2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088ca6: 461a mov r2, r3 8088ca8: 215a movs r1, #90 ; 0x5a 8088caa: 20d6 movs r0, #214 ; 0xd6 8088cac: f7cc fa58 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088cb0: 49b9 ldr r1, [pc, #740] ; (8088f98 ) 8088cb2: 48bc ldr r0, [pc, #752] ; (8088fa4 ) 8088cb4: f7cb fcac bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8088cb8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8088cbc: b2db uxtb r3, r3 8088cbe: 461a mov r2, r3 8088cc0: 4bb7 ldr r3, [pc, #732] ; (8088fa0 ) 8088cc2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088cc6: 461a mov r2, r3 8088cc8: 215a movs r1, #90 ; 0x5a 8088cca: 20c6 movs r0, #198 ; 0xc6 8088ccc: f7cc fa48 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8088cd0: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8088cd4: b2db uxtb r3, r3 8088cd6: 461a mov r2, r3 8088cd8: 4bb1 ldr r3, [pc, #708] ; (8088fa0 ) 8088cda: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088cde: 461a mov r2, r3 8088ce0: 215a movs r1, #90 ; 0x5a 8088ce2: 20e6 movs r0, #230 ; 0xe6 8088ce4: f7cc fa3c bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8088ce8: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8088cec: b2db uxtb r3, r3 8088cee: 461a mov r2, r3 8088cf0: 4bab ldr r3, [pc, #684] ; (8088fa0 ) 8088cf2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088cf6: 461a mov r2, r3 8088cf8: 215a movs r1, #90 ; 0x5a 8088cfa: 20f6 movs r0, #246 ; 0xf6 8088cfc: f7cc fa30 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8088d00: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8088d04: b2db uxtb r3, r3 8088d06: 461a mov r2, r3 8088d08: 4ba5 ldr r3, [pc, #660] ; (8088fa0 ) 8088d0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088d0e: 461a mov r2, r3 8088d10: 215a movs r1, #90 ; 0x5a 8088d12: f44f 7083 mov.w r0, #262 ; 0x106 8088d16: f7cc fa23 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 8088d1a: 4aa3 ldr r2, [pc, #652] ; (8088fa8 ) 8088d1c: 215a movs r1, #90 ; 0x5a 8088d1e: f44f 708b mov.w r0, #278 ; 0x116 8088d22: f7cc fa1d bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8088d26: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8088d2a: b2db uxtb r3, r3 8088d2c: 461a mov r2, r3 8088d2e: 4b9c ldr r3, [pc, #624] ; (8088fa0 ) 8088d30: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088d34: 461a mov r2, r3 8088d36: 215a movs r1, #90 ; 0x5a 8088d38: f44f 7093 mov.w r0, #294 ; 0x126 8088d3c: f7cc fa10 bl 8055160 8088d40: e196 b.n 8089070 if(menupos == FilterHP_IES) 8088d42: 4b94 ldr r3, [pc, #592] ; (8088f94 ) 8088d44: 781b ldrb r3, [r3, #0] 8088d46: b2db uxtb r3, r3 8088d48: 2b1b cmp r3, #27 8088d4a: d15d bne.n 8088e08 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088d4c: 4992 ldr r1, [pc, #584] ; (8088f98 ) 8088d4e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088d52: f7cb fc5d bl 8054610 if(blk) 8088d56: 4b91 ldr r3, [pc, #580] ; (8088f9c ) 8088d58: 681b ldr r3, [r3, #0] 8088d5a: 2b00 cmp r3, #0 8088d5c: d00b beq.n 8088d76 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8088d5e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8088d62: b2db uxtb r3, r3 8088d64: 461a mov r2, r3 8088d66: 4b8e ldr r3, [pc, #568] ; (8088fa0 ) 8088d68: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088d6c: 461a mov r2, r3 8088d6e: 215a movs r1, #90 ; 0x5a 8088d70: 20e6 movs r0, #230 ; 0xe6 8088d72: f7cc f9f5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088d76: 4988 ldr r1, [pc, #544] ; (8088f98 ) 8088d78: 488a ldr r0, [pc, #552] ; (8088fa4 ) 8088d7a: f7cb fc49 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8088d7e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8088d82: b2db uxtb r3, r3 8088d84: 461a mov r2, r3 8088d86: 4b86 ldr r3, [pc, #536] ; (8088fa0 ) 8088d88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088d8c: 461a mov r2, r3 8088d8e: 215a movs r1, #90 ; 0x5a 8088d90: 20c6 movs r0, #198 ; 0xc6 8088d92: f7cc f9e5 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8088d96: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8088d9a: b2db uxtb r3, r3 8088d9c: 461a mov r2, r3 8088d9e: 4b80 ldr r3, [pc, #512] ; (8088fa0 ) 8088da0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088da4: 461a mov r2, r3 8088da6: 215a movs r1, #90 ; 0x5a 8088da8: 20d6 movs r0, #214 ; 0xd6 8088daa: f7cc f9d9 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8088dae: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8088db2: b2db uxtb r3, r3 8088db4: 461a mov r2, r3 8088db6: 4b7a ldr r3, [pc, #488] ; (8088fa0 ) 8088db8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088dbc: 461a mov r2, r3 8088dbe: 215a movs r1, #90 ; 0x5a 8088dc0: 20f6 movs r0, #246 ; 0xf6 8088dc2: f7cc f9cd bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8088dc6: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8088dca: b2db uxtb r3, r3 8088dcc: 461a mov r2, r3 8088dce: 4b74 ldr r3, [pc, #464] ; (8088fa0 ) 8088dd0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088dd4: 461a mov r2, r3 8088dd6: 215a movs r1, #90 ; 0x5a 8088dd8: f44f 7083 mov.w r0, #262 ; 0x106 8088ddc: f7cc f9c0 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 8088de0: 4a71 ldr r2, [pc, #452] ; (8088fa8 ) 8088de2: 215a movs r1, #90 ; 0x5a 8088de4: f44f 708b mov.w r0, #278 ; 0x116 8088de8: f7cc f9ba bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8088dec: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8088df0: b2db uxtb r3, r3 8088df2: 461a mov r2, r3 8088df4: 4b6a ldr r3, [pc, #424] ; (8088fa0 ) 8088df6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088dfa: 461a mov r2, r3 8088dfc: 215a movs r1, #90 ; 0x5a 8088dfe: f44f 7093 mov.w r0, #294 ; 0x126 8088e02: f7cc f9ad bl 8055160 8088e06: e133 b.n 8089070 if(menupos == FilterHP_IED) 8088e08: 4b62 ldr r3, [pc, #392] ; (8088f94 ) 8088e0a: 781b ldrb r3, [r3, #0] 8088e0c: b2db uxtb r3, r3 8088e0e: 2b1c cmp r3, #28 8088e10: d15d bne.n 8088ece LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088e12: 4961 ldr r1, [pc, #388] ; (8088f98 ) 8088e14: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088e18: f7cb fbfa bl 8054610 if(blk) 8088e1c: 4b5f ldr r3, [pc, #380] ; (8088f9c ) 8088e1e: 681b ldr r3, [r3, #0] 8088e20: 2b00 cmp r3, #0 8088e22: d00b beq.n 8088e3c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8088e24: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8088e28: b2db uxtb r3, r3 8088e2a: 461a mov r2, r3 8088e2c: 4b5c ldr r3, [pc, #368] ; (8088fa0 ) 8088e2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088e32: 461a mov r2, r3 8088e34: 215a movs r1, #90 ; 0x5a 8088e36: 20f6 movs r0, #246 ; 0xf6 8088e38: f7cc f992 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088e3c: 4956 ldr r1, [pc, #344] ; (8088f98 ) 8088e3e: 4859 ldr r0, [pc, #356] ; (8088fa4 ) 8088e40: f7cb fbe6 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8088e44: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8088e48: b2db uxtb r3, r3 8088e4a: 461a mov r2, r3 8088e4c: 4b54 ldr r3, [pc, #336] ; (8088fa0 ) 8088e4e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088e52: 461a mov r2, r3 8088e54: 215a movs r1, #90 ; 0x5a 8088e56: 20c6 movs r0, #198 ; 0xc6 8088e58: f7cc f982 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8088e5c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8088e60: b2db uxtb r3, r3 8088e62: 461a mov r2, r3 8088e64: 4b4e ldr r3, [pc, #312] ; (8088fa0 ) 8088e66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088e6a: 461a mov r2, r3 8088e6c: 215a movs r1, #90 ; 0x5a 8088e6e: 20d6 movs r0, #214 ; 0xd6 8088e70: f7cc f976 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8088e74: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8088e78: b2db uxtb r3, r3 8088e7a: 461a mov r2, r3 8088e7c: 4b48 ldr r3, [pc, #288] ; (8088fa0 ) 8088e7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088e82: 461a mov r2, r3 8088e84: 215a movs r1, #90 ; 0x5a 8088e86: 20e6 movs r0, #230 ; 0xe6 8088e88: f7cc f96a bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8088e8c: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8088e90: b2db uxtb r3, r3 8088e92: 461a mov r2, r3 8088e94: 4b42 ldr r3, [pc, #264] ; (8088fa0 ) 8088e96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088e9a: 461a mov r2, r3 8088e9c: 215a movs r1, #90 ; 0x5a 8088e9e: f44f 7083 mov.w r0, #262 ; 0x106 8088ea2: f7cc f95d bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 8088ea6: 4a40 ldr r2, [pc, #256] ; (8088fa8 ) 8088ea8: 215a movs r1, #90 ; 0x5a 8088eaa: f44f 708b mov.w r0, #278 ; 0x116 8088eae: f7cc f957 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8088eb2: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8088eb6: b2db uxtb r3, r3 8088eb8: 461a mov r2, r3 8088eba: 4b39 ldr r3, [pc, #228] ; (8088fa0 ) 8088ebc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088ec0: 461a mov r2, r3 8088ec2: 215a movs r1, #90 ; 0x5a 8088ec4: f44f 7093 mov.w r0, #294 ; 0x126 8088ec8: f7cc f94a bl 8055160 8088ecc: e0d0 b.n 8089070 if(menupos == FilterHP_IEE) 8088ece: 4b31 ldr r3, [pc, #196] ; (8088f94 ) 8088ed0: 781b ldrb r3, [r3, #0] 8088ed2: b2db uxtb r3, r3 8088ed4: 2b1d cmp r3, #29 8088ed6: d169 bne.n 8088fac LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088ed8: 492f ldr r1, [pc, #188] ; (8088f98 ) 8088eda: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088ede: f7cb fb97 bl 8054610 if(blk) 8088ee2: 4b2e ldr r3, [pc, #184] ; (8088f9c ) 8088ee4: 681b ldr r3, [r3, #0] 8088ee6: 2b00 cmp r3, #0 8088ee8: d00c beq.n 8088f04 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8088eea: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8088eee: b2db uxtb r3, r3 8088ef0: 461a mov r2, r3 8088ef2: 4b2b ldr r3, [pc, #172] ; (8088fa0 ) 8088ef4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088ef8: 461a mov r2, r3 8088efa: 215a movs r1, #90 ; 0x5a 8088efc: f44f 7083 mov.w r0, #262 ; 0x106 8088f00: f7cc f92e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088f04: 4924 ldr r1, [pc, #144] ; (8088f98 ) 8088f06: 4827 ldr r0, [pc, #156] ; (8088fa4 ) 8088f08: f7cb fb82 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8088f0c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8088f10: b2db uxtb r3, r3 8088f12: 461a mov r2, r3 8088f14: 4b22 ldr r3, [pc, #136] ; (8088fa0 ) 8088f16: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088f1a: 461a mov r2, r3 8088f1c: 215a movs r1, #90 ; 0x5a 8088f1e: 20c6 movs r0, #198 ; 0xc6 8088f20: f7cc f91e bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8088f24: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8088f28: b2db uxtb r3, r3 8088f2a: 461a mov r2, r3 8088f2c: 4b1c ldr r3, [pc, #112] ; (8088fa0 ) 8088f2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088f32: 461a mov r2, r3 8088f34: 215a movs r1, #90 ; 0x5a 8088f36: 20d6 movs r0, #214 ; 0xd6 8088f38: f7cc f912 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8088f3c: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8088f40: b2db uxtb r3, r3 8088f42: 461a mov r2, r3 8088f44: 4b16 ldr r3, [pc, #88] ; (8088fa0 ) 8088f46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088f4a: 461a mov r2, r3 8088f4c: 215a movs r1, #90 ; 0x5a 8088f4e: 20e6 movs r0, #230 ; 0xe6 8088f50: f7cc f906 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8088f54: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8088f58: b2db uxtb r3, r3 8088f5a: 461a mov r2, r3 8088f5c: 4b10 ldr r3, [pc, #64] ; (8088fa0 ) 8088f5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088f62: 461a mov r2, r3 8088f64: 215a movs r1, #90 ; 0x5a 8088f66: 20f6 movs r0, #246 ; 0xf6 8088f68: f7cc f8fa bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 8088f6c: 4a0e ldr r2, [pc, #56] ; (8088fa8 ) 8088f6e: 215a movs r1, #90 ; 0x5a 8088f70: f44f 708b mov.w r0, #278 ; 0x116 8088f74: f7cc f8f4 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8088f78: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8088f7c: b2db uxtb r3, r3 8088f7e: 461a mov r2, r3 8088f80: 4b07 ldr r3, [pc, #28] ; (8088fa0 ) 8088f82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088f86: 461a mov r2, r3 8088f88: 215a movs r1, #90 ; 0x5a 8088f8a: f44f 7093 mov.w r0, #294 ; 0x126 8088f8e: f7cc f8e7 bl 8055160 8088f92: e06d b.n 8089070 8088f94: 20020070 .word 0x20020070 8088f98: ff0a0f1f .word 0xff0a0f1f 8088f9c: 200216a4 .word 0x200216a4 8088fa0: 2002096c .word 0x2002096c 8088fa4: ffd8aa57 .word 0xffd8aa57 8088fa8: 080d3b58 .word 0x080d3b58 if(menupos == FilterHP_IKD) 8088fac: 4bc5 ldr r3, [pc, #788] ; (80892c4 ) 8088fae: 781b ldrb r3, [r3, #0] 8088fb0: b2db uxtb r3, r3 8088fb2: 2b1e cmp r3, #30 8088fb4: d15c bne.n 8089070 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088fb6: 49c4 ldr r1, [pc, #784] ; (80892c8 ) 8088fb8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088fbc: f7cb fb28 bl 8054610 if(blk) 8088fc0: 4bc2 ldr r3, [pc, #776] ; (80892cc ) 8088fc2: 681b ldr r3, [r3, #0] 8088fc4: 2b00 cmp r3, #0 8088fc6: d00c beq.n 8088fe2 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8088fc8: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8088fcc: b2db uxtb r3, r3 8088fce: 461a mov r2, r3 8088fd0: 4bbf ldr r3, [pc, #764] ; (80892d0 ) 8088fd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088fd6: 461a mov r2, r3 8088fd8: 215a movs r1, #90 ; 0x5a 8088fda: f44f 7093 mov.w r0, #294 ; 0x126 8088fde: f7cc f8bf bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088fe2: 49b9 ldr r1, [pc, #740] ; (80892c8 ) 8088fe4: 48bb ldr r0, [pc, #748] ; (80892d4 ) 8088fe6: f7cb fb13 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8088fea: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8088fee: b2db uxtb r3, r3 8088ff0: 461a mov r2, r3 8088ff2: 4bb7 ldr r3, [pc, #732] ; (80892d0 ) 8088ff4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088ff8: 461a mov r2, r3 8088ffa: 215a movs r1, #90 ; 0x5a 8088ffc: 20c6 movs r0, #198 ; 0xc6 8088ffe: f7cc f8af bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8089002: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8089006: b2db uxtb r3, r3 8089008: 461a mov r2, r3 808900a: 4bb1 ldr r3, [pc, #708] ; (80892d0 ) 808900c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089010: 461a mov r2, r3 8089012: 215a movs r1, #90 ; 0x5a 8089014: 20d6 movs r0, #214 ; 0xd6 8089016: f7cc f8a3 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 808901a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808901e: b2db uxtb r3, r3 8089020: 461a mov r2, r3 8089022: 4bab ldr r3, [pc, #684] ; (80892d0 ) 8089024: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089028: 461a mov r2, r3 808902a: 215a movs r1, #90 ; 0x5a 808902c: 20e6 movs r0, #230 ; 0xe6 808902e: f7cc f897 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8089032: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8089036: b2db uxtb r3, r3 8089038: 461a mov r2, r3 808903a: 4ba5 ldr r3, [pc, #660] ; (80892d0 ) 808903c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089040: 461a mov r2, r3 8089042: 215a movs r1, #90 ; 0x5a 8089044: 20f6 movs r0, #246 ; 0xf6 8089046: f7cc f88b bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 808904a: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808904e: b2db uxtb r3, r3 8089050: 461a mov r2, r3 8089052: 4b9f ldr r3, [pc, #636] ; (80892d0 ) 8089054: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089058: 461a mov r2, r3 808905a: 215a movs r1, #90 ; 0x5a 808905c: f44f 7083 mov.w r0, #262 ; 0x106 8089060: f7cc f87e bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 8089064: 4a9c ldr r2, [pc, #624] ; (80892d8 ) 8089066: 215a movs r1, #90 ; 0x5a 8089068: f44f 708b mov.w r0, #278 ; 0x116 808906c: f7cc f878 bl 8055160 if(menupos == FilterLP_IDT) 8089070: 4b94 ldr r3, [pc, #592] ; (80892c4 ) 8089072: 781b ldrb r3, [r3, #0] 8089074: b2db uxtb r3, r3 8089076: 2b1f cmp r3, #31 8089078: d15d bne.n 8089136 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808907a: 4993 ldr r1, [pc, #588] ; (80892c8 ) 808907c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089080: f7cb fac6 bl 8054610 if(blk) 8089084: 4b91 ldr r3, [pc, #580] ; (80892cc ) 8089086: 681b ldr r3, [r3, #0] 8089088: 2b00 cmp r3, #0 808908a: d00b beq.n 80890a4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 808908c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8089090: b2db uxtb r3, r3 8089092: 461a mov r2, r3 8089094: 4b8e ldr r3, [pc, #568] ; (80892d0 ) 8089096: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808909a: 461a mov r2, r3 808909c: 216a movs r1, #106 ; 0x6a 808909e: 20c6 movs r0, #198 ; 0xc6 80890a0: f7cc f85e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80890a4: 4988 ldr r1, [pc, #544] ; (80892c8 ) 80890a6: 488b ldr r0, [pc, #556] ; (80892d4 ) 80890a8: f7cb fab2 bl 8054610 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 80890ac: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80890b0: b2db uxtb r3, r3 80890b2: 461a mov r2, r3 80890b4: 4b86 ldr r3, [pc, #536] ; (80892d0 ) 80890b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80890ba: 461a mov r2, r3 80890bc: 216a movs r1, #106 ; 0x6a 80890be: 20d6 movs r0, #214 ; 0xd6 80890c0: f7cc f84e bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 80890c4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80890c8: b2db uxtb r3, r3 80890ca: 461a mov r2, r3 80890cc: 4b80 ldr r3, [pc, #512] ; (80892d0 ) 80890ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80890d2: 461a mov r2, r3 80890d4: 216a movs r1, #106 ; 0x6a 80890d6: 20e6 movs r0, #230 ; 0xe6 80890d8: f7cc f842 bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 80890dc: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80890e0: b2db uxtb r3, r3 80890e2: 461a mov r2, r3 80890e4: 4b7a ldr r3, [pc, #488] ; (80892d0 ) 80890e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80890ea: 461a mov r2, r3 80890ec: 216a movs r1, #106 ; 0x6a 80890ee: 20f6 movs r0, #246 ; 0xf6 80890f0: f7cc f836 bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 80890f4: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 80890f8: b2db uxtb r3, r3 80890fa: 461a mov r2, r3 80890fc: 4b74 ldr r3, [pc, #464] ; (80892d0 ) 80890fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089102: 461a mov r2, r3 8089104: 216a movs r1, #106 ; 0x6a 8089106: f44f 7083 mov.w r0, #262 ; 0x106 808910a: f7cc f829 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 808910e: 4a72 ldr r2, [pc, #456] ; (80892d8 ) 8089110: 216a movs r1, #106 ; 0x6a 8089112: f44f 708b mov.w r0, #278 ; 0x116 8089116: f7cc f823 bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 808911a: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808911e: b2db uxtb r3, r3 8089120: 461a mov r2, r3 8089122: 4b6b ldr r3, [pc, #428] ; (80892d0 ) 8089124: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089128: 461a mov r2, r3 808912a: 216a movs r1, #106 ; 0x6a 808912c: f44f 7093 mov.w r0, #294 ; 0x126 8089130: f7cc f816 bl 8055160 8089134: e1fa b.n 808952c if(menupos == FilterLP_IET) 8089136: 4b63 ldr r3, [pc, #396] ; (80892c4 ) 8089138: 781b ldrb r3, [r3, #0] 808913a: b2db uxtb r3, r3 808913c: 2b20 cmp r3, #32 808913e: d15d bne.n 80891fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089140: 4961 ldr r1, [pc, #388] ; (80892c8 ) 8089142: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089146: f7cb fa63 bl 8054610 if(blk) 808914a: 4b60 ldr r3, [pc, #384] ; (80892cc ) 808914c: 681b ldr r3, [r3, #0] 808914e: 2b00 cmp r3, #0 8089150: d00b beq.n 808916a LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8089152: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8089156: b2db uxtb r3, r3 8089158: 461a mov r2, r3 808915a: 4b5d ldr r3, [pc, #372] ; (80892d0 ) 808915c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089160: 461a mov r2, r3 8089162: 216a movs r1, #106 ; 0x6a 8089164: 20d6 movs r0, #214 ; 0xd6 8089166: f7cb fffb bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808916a: 4957 ldr r1, [pc, #348] ; (80892c8 ) 808916c: 4859 ldr r0, [pc, #356] ; (80892d4 ) 808916e: f7cb fa4f bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8089172: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8089176: b2db uxtb r3, r3 8089178: 461a mov r2, r3 808917a: 4b55 ldr r3, [pc, #340] ; (80892d0 ) 808917c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089180: 461a mov r2, r3 8089182: 216a movs r1, #106 ; 0x6a 8089184: 20c6 movs r0, #198 ; 0xc6 8089186: f7cb ffeb bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 808918a: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808918e: b2db uxtb r3, r3 8089190: 461a mov r2, r3 8089192: 4b4f ldr r3, [pc, #316] ; (80892d0 ) 8089194: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089198: 461a mov r2, r3 808919a: 216a movs r1, #106 ; 0x6a 808919c: 20e6 movs r0, #230 ; 0xe6 808919e: f7cb ffdf bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 80891a2: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80891a6: b2db uxtb r3, r3 80891a8: 461a mov r2, r3 80891aa: 4b49 ldr r3, [pc, #292] ; (80892d0 ) 80891ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80891b0: 461a mov r2, r3 80891b2: 216a movs r1, #106 ; 0x6a 80891b4: 20f6 movs r0, #246 ; 0xf6 80891b6: f7cb ffd3 bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 80891ba: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 80891be: b2db uxtb r3, r3 80891c0: 461a mov r2, r3 80891c2: 4b43 ldr r3, [pc, #268] ; (80892d0 ) 80891c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80891c8: 461a mov r2, r3 80891ca: 216a movs r1, #106 ; 0x6a 80891cc: f44f 7083 mov.w r0, #262 ; 0x106 80891d0: f7cb ffc6 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 80891d4: 4a40 ldr r2, [pc, #256] ; (80892d8 ) 80891d6: 216a movs r1, #106 ; 0x6a 80891d8: f44f 708b mov.w r0, #278 ; 0x116 80891dc: f7cb ffc0 bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 80891e0: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 80891e4: b2db uxtb r3, r3 80891e6: 461a mov r2, r3 80891e8: 4b39 ldr r3, [pc, #228] ; (80892d0 ) 80891ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80891ee: 461a mov r2, r3 80891f0: 216a movs r1, #106 ; 0x6a 80891f2: f44f 7093 mov.w r0, #294 ; 0x126 80891f6: f7cb ffb3 bl 8055160 80891fa: e197 b.n 808952c if(menupos == FilterLP_IES) 80891fc: 4b31 ldr r3, [pc, #196] ; (80892c4 ) 80891fe: 781b ldrb r3, [r3, #0] 8089200: b2db uxtb r3, r3 8089202: 2b21 cmp r3, #33 ; 0x21 8089204: d16a bne.n 80892dc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089206: 4930 ldr r1, [pc, #192] ; (80892c8 ) 8089208: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808920c: f7cb fa00 bl 8054610 if(blk) 8089210: 4b2e ldr r3, [pc, #184] ; (80892cc ) 8089212: 681b ldr r3, [r3, #0] 8089214: 2b00 cmp r3, #0 8089216: d00b beq.n 8089230 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8089218: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808921c: b2db uxtb r3, r3 808921e: 461a mov r2, r3 8089220: 4b2b ldr r3, [pc, #172] ; (80892d0 ) 8089222: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089226: 461a mov r2, r3 8089228: 216a movs r1, #106 ; 0x6a 808922a: 20e6 movs r0, #230 ; 0xe6 808922c: f7cb ff98 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089230: 4925 ldr r1, [pc, #148] ; (80892c8 ) 8089232: 4828 ldr r0, [pc, #160] ; (80892d4 ) 8089234: f7cb f9ec bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8089238: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808923c: b2db uxtb r3, r3 808923e: 461a mov r2, r3 8089240: 4b23 ldr r3, [pc, #140] ; (80892d0 ) 8089242: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089246: 461a mov r2, r3 8089248: 216a movs r1, #106 ; 0x6a 808924a: 20c6 movs r0, #198 ; 0xc6 808924c: f7cb ff88 bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8089250: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8089254: b2db uxtb r3, r3 8089256: 461a mov r2, r3 8089258: 4b1d ldr r3, [pc, #116] ; (80892d0 ) 808925a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808925e: 461a mov r2, r3 8089260: 216a movs r1, #106 ; 0x6a 8089262: 20d6 movs r0, #214 ; 0xd6 8089264: f7cb ff7c bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8089268: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808926c: b2db uxtb r3, r3 808926e: 461a mov r2, r3 8089270: 4b17 ldr r3, [pc, #92] ; (80892d0 ) 8089272: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089276: 461a mov r2, r3 8089278: 216a movs r1, #106 ; 0x6a 808927a: 20f6 movs r0, #246 ; 0xf6 808927c: f7cb ff70 bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8089280: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8089284: b2db uxtb r3, r3 8089286: 461a mov r2, r3 8089288: 4b11 ldr r3, [pc, #68] ; (80892d0 ) 808928a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808928e: 461a mov r2, r3 8089290: 216a movs r1, #106 ; 0x6a 8089292: f44f 7083 mov.w r0, #262 ; 0x106 8089296: f7cb ff63 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 808929a: 4a0f ldr r2, [pc, #60] ; (80892d8 ) 808929c: 216a movs r1, #106 ; 0x6a 808929e: f44f 708b mov.w r0, #278 ; 0x116 80892a2: f7cb ff5d bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 80892a6: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 80892aa: b2db uxtb r3, r3 80892ac: 461a mov r2, r3 80892ae: 4b08 ldr r3, [pc, #32] ; (80892d0 ) 80892b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80892b4: 461a mov r2, r3 80892b6: 216a movs r1, #106 ; 0x6a 80892b8: f44f 7093 mov.w r0, #294 ; 0x126 80892bc: f7cb ff50 bl 8055160 80892c0: e134 b.n 808952c 80892c2: bf00 nop 80892c4: 20020070 .word 0x20020070 80892c8: ff0a0f1f .word 0xff0a0f1f 80892cc: 200216a4 .word 0x200216a4 80892d0: 2002096c .word 0x2002096c 80892d4: ffd8aa57 .word 0xffd8aa57 80892d8: 080d3b58 .word 0x080d3b58 if(menupos == FilterLP_IED) 80892dc: 4bc5 ldr r3, [pc, #788] ; (80895f4 ) 80892de: 781b ldrb r3, [r3, #0] 80892e0: b2db uxtb r3, r3 80892e2: 2b22 cmp r3, #34 ; 0x22 80892e4: d15d bne.n 80893a2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80892e6: 49c4 ldr r1, [pc, #784] ; (80895f8 ) 80892e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80892ec: f7cb f990 bl 8054610 if(blk) 80892f0: 4bc2 ldr r3, [pc, #776] ; (80895fc ) 80892f2: 681b ldr r3, [r3, #0] 80892f4: 2b00 cmp r3, #0 80892f6: d00b beq.n 8089310 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 80892f8: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80892fc: b2db uxtb r3, r3 80892fe: 461a mov r2, r3 8089300: 4bbf ldr r3, [pc, #764] ; (8089600 ) 8089302: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089306: 461a mov r2, r3 8089308: 216a movs r1, #106 ; 0x6a 808930a: 20f6 movs r0, #246 ; 0xf6 808930c: f7cb ff28 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089310: 49b9 ldr r1, [pc, #740] ; (80895f8 ) 8089312: 48bc ldr r0, [pc, #752] ; (8089604 ) 8089314: f7cb f97c bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8089318: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808931c: b2db uxtb r3, r3 808931e: 461a mov r2, r3 8089320: 4bb7 ldr r3, [pc, #732] ; (8089600 ) 8089322: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089326: 461a mov r2, r3 8089328: 216a movs r1, #106 ; 0x6a 808932a: 20c6 movs r0, #198 ; 0xc6 808932c: f7cb ff18 bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8089330: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8089334: b2db uxtb r3, r3 8089336: 461a mov r2, r3 8089338: 4bb1 ldr r3, [pc, #708] ; (8089600 ) 808933a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808933e: 461a mov r2, r3 8089340: 216a movs r1, #106 ; 0x6a 8089342: 20d6 movs r0, #214 ; 0xd6 8089344: f7cb ff0c bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8089348: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808934c: b2db uxtb r3, r3 808934e: 461a mov r2, r3 8089350: 4bab ldr r3, [pc, #684] ; (8089600 ) 8089352: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089356: 461a mov r2, r3 8089358: 216a movs r1, #106 ; 0x6a 808935a: 20e6 movs r0, #230 ; 0xe6 808935c: f7cb ff00 bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8089360: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8089364: b2db uxtb r3, r3 8089366: 461a mov r2, r3 8089368: 4ba5 ldr r3, [pc, #660] ; (8089600 ) 808936a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808936e: 461a mov r2, r3 8089370: 216a movs r1, #106 ; 0x6a 8089372: f44f 7083 mov.w r0, #262 ; 0x106 8089376: f7cb fef3 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 808937a: 4aa3 ldr r2, [pc, #652] ; (8089608 ) 808937c: 216a movs r1, #106 ; 0x6a 808937e: f44f 708b mov.w r0, #278 ; 0x116 8089382: f7cb feed bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8089386: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808938a: b2db uxtb r3, r3 808938c: 461a mov r2, r3 808938e: 4b9c ldr r3, [pc, #624] ; (8089600 ) 8089390: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089394: 461a mov r2, r3 8089396: 216a movs r1, #106 ; 0x6a 8089398: f44f 7093 mov.w r0, #294 ; 0x126 808939c: f7cb fee0 bl 8055160 80893a0: e0c4 b.n 808952c if(menupos == FilterLP_IEE) 80893a2: 4b94 ldr r3, [pc, #592] ; (80895f4 ) 80893a4: 781b ldrb r3, [r3, #0] 80893a6: b2db uxtb r3, r3 80893a8: 2b23 cmp r3, #35 ; 0x23 80893aa: d15d bne.n 8089468 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80893ac: 4992 ldr r1, [pc, #584] ; (80895f8 ) 80893ae: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80893b2: f7cb f92d bl 8054610 if(blk) 80893b6: 4b91 ldr r3, [pc, #580] ; (80895fc ) 80893b8: 681b ldr r3, [r3, #0] 80893ba: 2b00 cmp r3, #0 80893bc: d00c beq.n 80893d8 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 80893be: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 80893c2: b2db uxtb r3, r3 80893c4: 461a mov r2, r3 80893c6: 4b8e ldr r3, [pc, #568] ; (8089600 ) 80893c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80893cc: 461a mov r2, r3 80893ce: 216a movs r1, #106 ; 0x6a 80893d0: f44f 7083 mov.w r0, #262 ; 0x106 80893d4: f7cb fec4 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80893d8: 4987 ldr r1, [pc, #540] ; (80895f8 ) 80893da: 488a ldr r0, [pc, #552] ; (8089604 ) 80893dc: f7cb f918 bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 80893e0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80893e4: b2db uxtb r3, r3 80893e6: 461a mov r2, r3 80893e8: 4b85 ldr r3, [pc, #532] ; (8089600 ) 80893ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80893ee: 461a mov r2, r3 80893f0: 216a movs r1, #106 ; 0x6a 80893f2: 20c6 movs r0, #198 ; 0xc6 80893f4: f7cb feb4 bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 80893f8: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80893fc: b2db uxtb r3, r3 80893fe: 461a mov r2, r3 8089400: 4b7f ldr r3, [pc, #508] ; (8089600 ) 8089402: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089406: 461a mov r2, r3 8089408: 216a movs r1, #106 ; 0x6a 808940a: 20d6 movs r0, #214 ; 0xd6 808940c: f7cb fea8 bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8089410: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8089414: b2db uxtb r3, r3 8089416: 461a mov r2, r3 8089418: 4b79 ldr r3, [pc, #484] ; (8089600 ) 808941a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808941e: 461a mov r2, r3 8089420: 216a movs r1, #106 ; 0x6a 8089422: 20e6 movs r0, #230 ; 0xe6 8089424: f7cb fe9c bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8089428: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808942c: b2db uxtb r3, r3 808942e: 461a mov r2, r3 8089430: 4b73 ldr r3, [pc, #460] ; (8089600 ) 8089432: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089436: 461a mov r2, r3 8089438: 216a movs r1, #106 ; 0x6a 808943a: 20f6 movs r0, #246 ; 0xf6 808943c: f7cb fe90 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 8089440: 4a71 ldr r2, [pc, #452] ; (8089608 ) 8089442: 216a movs r1, #106 ; 0x6a 8089444: f44f 708b mov.w r0, #278 ; 0x116 8089448: f7cb fe8a bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 808944c: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8089450: b2db uxtb r3, r3 8089452: 461a mov r2, r3 8089454: 4b6a ldr r3, [pc, #424] ; (8089600 ) 8089456: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808945a: 461a mov r2, r3 808945c: 216a movs r1, #106 ; 0x6a 808945e: f44f 7093 mov.w r0, #294 ; 0x126 8089462: f7cb fe7d bl 8055160 8089466: e061 b.n 808952c if(menupos == FilterLP_IKD) 8089468: 4b62 ldr r3, [pc, #392] ; (80895f4 ) 808946a: 781b ldrb r3, [r3, #0] 808946c: b2db uxtb r3, r3 808946e: 2b24 cmp r3, #36 ; 0x24 8089470: d15c bne.n 808952c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089472: 4961 ldr r1, [pc, #388] ; (80895f8 ) 8089474: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089478: f7cb f8ca bl 8054610 if(blk) 808947c: 4b5f ldr r3, [pc, #380] ; (80895fc ) 808947e: 681b ldr r3, [r3, #0] 8089480: 2b00 cmp r3, #0 8089482: d00c beq.n 808949e LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8089484: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8089488: b2db uxtb r3, r3 808948a: 461a mov r2, r3 808948c: 4b5c ldr r3, [pc, #368] ; (8089600 ) 808948e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089492: 461a mov r2, r3 8089494: 216a movs r1, #106 ; 0x6a 8089496: f44f 7093 mov.w r0, #294 ; 0x126 808949a: f7cb fe61 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808949e: 4956 ldr r1, [pc, #344] ; (80895f8 ) 80894a0: 4858 ldr r0, [pc, #352] ; (8089604 ) 80894a2: f7cb f8b5 bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 80894a6: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80894aa: b2db uxtb r3, r3 80894ac: 461a mov r2, r3 80894ae: 4b54 ldr r3, [pc, #336] ; (8089600 ) 80894b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80894b4: 461a mov r2, r3 80894b6: 216a movs r1, #106 ; 0x6a 80894b8: 20c6 movs r0, #198 ; 0xc6 80894ba: f7cb fe51 bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 80894be: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80894c2: b2db uxtb r3, r3 80894c4: 461a mov r2, r3 80894c6: 4b4e ldr r3, [pc, #312] ; (8089600 ) 80894c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80894cc: 461a mov r2, r3 80894ce: 216a movs r1, #106 ; 0x6a 80894d0: 20d6 movs r0, #214 ; 0xd6 80894d2: f7cb fe45 bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 80894d6: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80894da: b2db uxtb r3, r3 80894dc: 461a mov r2, r3 80894de: 4b48 ldr r3, [pc, #288] ; (8089600 ) 80894e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80894e4: 461a mov r2, r3 80894e6: 216a movs r1, #106 ; 0x6a 80894e8: 20e6 movs r0, #230 ; 0xe6 80894ea: f7cb fe39 bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 80894ee: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80894f2: b2db uxtb r3, r3 80894f4: 461a mov r2, r3 80894f6: 4b42 ldr r3, [pc, #264] ; (8089600 ) 80894f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80894fc: 461a mov r2, r3 80894fe: 216a movs r1, #106 ; 0x6a 8089500: 20f6 movs r0, #246 ; 0xf6 8089502: f7cb fe2d bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8089506: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808950a: b2db uxtb r3, r3 808950c: 461a mov r2, r3 808950e: 4b3c ldr r3, [pc, #240] ; (8089600 ) 8089510: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089514: 461a mov r2, r3 8089516: 216a movs r1, #106 ; 0x6a 8089518: f44f 7083 mov.w r0, #262 ; 0x106 808951c: f7cb fe20 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 8089520: 4a39 ldr r2, [pc, #228] ; (8089608 ) 8089522: 216a movs r1, #106 ; 0x6a 8089524: f44f 708b mov.w r0, #278 ; 0x116 8089528: f7cb fe1a bl 8055160 if(menupos == VibMax_IDT) 808952c: 4b31 ldr r3, [pc, #196] ; (80895f4 ) 808952e: 781b ldrb r3, [r3, #0] 8089530: b2db uxtb r3, r3 8089532: 2b0b cmp r3, #11 8089534: d16a bne.n 808960c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089536: 4930 ldr r1, [pc, #192] ; (80895f8 ) 8089538: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808953c: f7cb f868 bl 8054610 if(blk) 8089540: 4b2e ldr r3, [pc, #184] ; (80895fc ) 8089542: 681b ldr r3, [r3, #0] 8089544: 2b00 cmp r3, #0 8089546: d00b beq.n 8089560 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8089548: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808954c: b2db uxtb r3, r3 808954e: 461a mov r2, r3 8089550: 4b2b ldr r3, [pc, #172] ; (8089600 ) 8089552: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089556: 461a mov r2, r3 8089558: 21aa movs r1, #170 ; 0xaa 808955a: 20c6 movs r0, #198 ; 0xc6 808955c: f7cb fe00 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089560: 4925 ldr r1, [pc, #148] ; (80895f8 ) 8089562: 4828 ldr r0, [pc, #160] ; (8089604 ) 8089564: f7cb f854 bl 8054610 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8089568: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808956c: b2db uxtb r3, r3 808956e: 461a mov r2, r3 8089570: 4b23 ldr r3, [pc, #140] ; (8089600 ) 8089572: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089576: 461a mov r2, r3 8089578: 21aa movs r1, #170 ; 0xaa 808957a: 20d6 movs r0, #214 ; 0xd6 808957c: f7cb fdf0 bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8089580: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8089584: b2db uxtb r3, r3 8089586: 461a mov r2, r3 8089588: 4b1d ldr r3, [pc, #116] ; (8089600 ) 808958a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808958e: 461a mov r2, r3 8089590: 21aa movs r1, #170 ; 0xaa 8089592: 20e6 movs r0, #230 ; 0xe6 8089594: f7cb fde4 bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8089598: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808959c: b2db uxtb r3, r3 808959e: 461a mov r2, r3 80895a0: 4b17 ldr r3, [pc, #92] ; (8089600 ) 80895a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80895a6: 461a mov r2, r3 80895a8: 21aa movs r1, #170 ; 0xaa 80895aa: 20f6 movs r0, #246 ; 0xf6 80895ac: f7cb fdd8 bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 80895b0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80895b4: b2db uxtb r3, r3 80895b6: 461a mov r2, r3 80895b8: 4b11 ldr r3, [pc, #68] ; (8089600 ) 80895ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80895be: 461a mov r2, r3 80895c0: 21aa movs r1, #170 ; 0xaa 80895c2: f44f 7083 mov.w r0, #262 ; 0x106 80895c6: f7cb fdcb bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 80895ca: 4a0f ldr r2, [pc, #60] ; (8089608 ) 80895cc: 21aa movs r1, #170 ; 0xaa 80895ce: f44f 708b mov.w r0, #278 ; 0x116 80895d2: f7cb fdc5 bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 80895d6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80895da: b2db uxtb r3, r3 80895dc: 461a mov r2, r3 80895de: 4b08 ldr r3, [pc, #32] ; (8089600 ) 80895e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80895e4: 461a mov r2, r3 80895e6: 21aa movs r1, #170 ; 0xaa 80895e8: f44f 7093 mov.w r0, #294 ; 0x126 80895ec: f7cb fdb8 bl 8055160 80895f0: e206 b.n 8089a00 80895f2: bf00 nop 80895f4: 20020070 .word 0x20020070 80895f8: ff0a0f1f .word 0xff0a0f1f 80895fc: 200216a4 .word 0x200216a4 8089600: 2002096c .word 0x2002096c 8089604: ffd8aa57 .word 0xffd8aa57 8089608: 080d3b58 .word 0x080d3b58 if(menupos == VibMax_IET) 808960c: 4bc5 ldr r3, [pc, #788] ; (8089924 ) 808960e: 781b ldrb r3, [r3, #0] 8089610: b2db uxtb r3, r3 8089612: 2b0c cmp r3, #12 8089614: d15d bne.n 80896d2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089616: 49c4 ldr r1, [pc, #784] ; (8089928 ) 8089618: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808961c: f7ca fff8 bl 8054610 if(blk) 8089620: 4bc2 ldr r3, [pc, #776] ; (808992c ) 8089622: 681b ldr r3, [r3, #0] 8089624: 2b00 cmp r3, #0 8089626: d00b beq.n 8089640 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8089628: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808962c: b2db uxtb r3, r3 808962e: 461a mov r2, r3 8089630: 4bbf ldr r3, [pc, #764] ; (8089930 ) 8089632: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089636: 461a mov r2, r3 8089638: 21aa movs r1, #170 ; 0xaa 808963a: 20d6 movs r0, #214 ; 0xd6 808963c: f7cb fd90 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089640: 49b9 ldr r1, [pc, #740] ; (8089928 ) 8089642: 48bc ldr r0, [pc, #752] ; (8089934 ) 8089644: f7ca ffe4 bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8089648: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808964c: b2db uxtb r3, r3 808964e: 461a mov r2, r3 8089650: 4bb7 ldr r3, [pc, #732] ; (8089930 ) 8089652: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089656: 461a mov r2, r3 8089658: 21aa movs r1, #170 ; 0xaa 808965a: 20c6 movs r0, #198 ; 0xc6 808965c: f7cb fd80 bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8089660: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8089664: b2db uxtb r3, r3 8089666: 461a mov r2, r3 8089668: 4bb1 ldr r3, [pc, #708] ; (8089930 ) 808966a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808966e: 461a mov r2, r3 8089670: 21aa movs r1, #170 ; 0xaa 8089672: 20e6 movs r0, #230 ; 0xe6 8089674: f7cb fd74 bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8089678: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808967c: b2db uxtb r3, r3 808967e: 461a mov r2, r3 8089680: 4bab ldr r3, [pc, #684] ; (8089930 ) 8089682: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089686: 461a mov r2, r3 8089688: 21aa movs r1, #170 ; 0xaa 808968a: 20f6 movs r0, #246 ; 0xf6 808968c: f7cb fd68 bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8089690: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8089694: b2db uxtb r3, r3 8089696: 461a mov r2, r3 8089698: 4ba5 ldr r3, [pc, #660] ; (8089930 ) 808969a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808969e: 461a mov r2, r3 80896a0: 21aa movs r1, #170 ; 0xaa 80896a2: f44f 7083 mov.w r0, #262 ; 0x106 80896a6: f7cb fd5b bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 80896aa: 4aa3 ldr r2, [pc, #652] ; (8089938 ) 80896ac: 21aa movs r1, #170 ; 0xaa 80896ae: f44f 708b mov.w r0, #278 ; 0x116 80896b2: f7cb fd55 bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 80896b6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80896ba: b2db uxtb r3, r3 80896bc: 461a mov r2, r3 80896be: 4b9c ldr r3, [pc, #624] ; (8089930 ) 80896c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80896c4: 461a mov r2, r3 80896c6: 21aa movs r1, #170 ; 0xaa 80896c8: f44f 7093 mov.w r0, #294 ; 0x126 80896cc: f7cb fd48 bl 8055160 80896d0: e196 b.n 8089a00 if(menupos == VibMax_IES) 80896d2: 4b94 ldr r3, [pc, #592] ; (8089924 ) 80896d4: 781b ldrb r3, [r3, #0] 80896d6: b2db uxtb r3, r3 80896d8: 2b0d cmp r3, #13 80896da: d15d bne.n 8089798 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80896dc: 4992 ldr r1, [pc, #584] ; (8089928 ) 80896de: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80896e2: f7ca ff95 bl 8054610 if(blk) 80896e6: 4b91 ldr r3, [pc, #580] ; (808992c ) 80896e8: 681b ldr r3, [r3, #0] 80896ea: 2b00 cmp r3, #0 80896ec: d00b beq.n 8089706 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80896ee: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80896f2: b2db uxtb r3, r3 80896f4: 461a mov r2, r3 80896f6: 4b8e ldr r3, [pc, #568] ; (8089930 ) 80896f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80896fc: 461a mov r2, r3 80896fe: 21aa movs r1, #170 ; 0xaa 8089700: 20e6 movs r0, #230 ; 0xe6 8089702: f7cb fd2d bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089706: 4988 ldr r1, [pc, #544] ; (8089928 ) 8089708: 488a ldr r0, [pc, #552] ; (8089934 ) 808970a: f7ca ff81 bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 808970e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8089712: b2db uxtb r3, r3 8089714: 461a mov r2, r3 8089716: 4b86 ldr r3, [pc, #536] ; (8089930 ) 8089718: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808971c: 461a mov r2, r3 808971e: 21aa movs r1, #170 ; 0xaa 8089720: 20c6 movs r0, #198 ; 0xc6 8089722: f7cb fd1d bl 8055160 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8089726: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808972a: b2db uxtb r3, r3 808972c: 461a mov r2, r3 808972e: 4b80 ldr r3, [pc, #512] ; (8089930 ) 8089730: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089734: 461a mov r2, r3 8089736: 21aa movs r1, #170 ; 0xaa 8089738: 20d6 movs r0, #214 ; 0xd6 808973a: f7cb fd11 bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 808973e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8089742: b2db uxtb r3, r3 8089744: 461a mov r2, r3 8089746: 4b7a ldr r3, [pc, #488] ; (8089930 ) 8089748: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808974c: 461a mov r2, r3 808974e: 21aa movs r1, #170 ; 0xaa 8089750: 20f6 movs r0, #246 ; 0xf6 8089752: f7cb fd05 bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8089756: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808975a: b2db uxtb r3, r3 808975c: 461a mov r2, r3 808975e: 4b74 ldr r3, [pc, #464] ; (8089930 ) 8089760: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089764: 461a mov r2, r3 8089766: 21aa movs r1, #170 ; 0xaa 8089768: f44f 7083 mov.w r0, #262 ; 0x106 808976c: f7cb fcf8 bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 8089770: 4a71 ldr r2, [pc, #452] ; (8089938 ) 8089772: 21aa movs r1, #170 ; 0xaa 8089774: f44f 708b mov.w r0, #278 ; 0x116 8089778: f7cb fcf2 bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 808977c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8089780: b2db uxtb r3, r3 8089782: 461a mov r2, r3 8089784: 4b6a ldr r3, [pc, #424] ; (8089930 ) 8089786: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808978a: 461a mov r2, r3 808978c: 21aa movs r1, #170 ; 0xaa 808978e: f44f 7093 mov.w r0, #294 ; 0x126 8089792: f7cb fce5 bl 8055160 8089796: e133 b.n 8089a00 if(menupos == VibMax_IED) 8089798: 4b62 ldr r3, [pc, #392] ; (8089924 ) 808979a: 781b ldrb r3, [r3, #0] 808979c: b2db uxtb r3, r3 808979e: 2b0e cmp r3, #14 80897a0: d15d bne.n 808985e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80897a2: 4961 ldr r1, [pc, #388] ; (8089928 ) 80897a4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80897a8: f7ca ff32 bl 8054610 if(blk) 80897ac: 4b5f ldr r3, [pc, #380] ; (808992c ) 80897ae: 681b ldr r3, [r3, #0] 80897b0: 2b00 cmp r3, #0 80897b2: d00b beq.n 80897cc LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 80897b4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80897b8: b2db uxtb r3, r3 80897ba: 461a mov r2, r3 80897bc: 4b5c ldr r3, [pc, #368] ; (8089930 ) 80897be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80897c2: 461a mov r2, r3 80897c4: 21aa movs r1, #170 ; 0xaa 80897c6: 20f6 movs r0, #246 ; 0xf6 80897c8: f7cb fcca bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80897cc: 4956 ldr r1, [pc, #344] ; (8089928 ) 80897ce: 4859 ldr r0, [pc, #356] ; (8089934 ) 80897d0: f7ca ff1e bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 80897d4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80897d8: b2db uxtb r3, r3 80897da: 461a mov r2, r3 80897dc: 4b54 ldr r3, [pc, #336] ; (8089930 ) 80897de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80897e2: 461a mov r2, r3 80897e4: 21aa movs r1, #170 ; 0xaa 80897e6: 20c6 movs r0, #198 ; 0xc6 80897e8: f7cb fcba bl 8055160 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80897ec: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80897f0: b2db uxtb r3, r3 80897f2: 461a mov r2, r3 80897f4: 4b4e ldr r3, [pc, #312] ; (8089930 ) 80897f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80897fa: 461a mov r2, r3 80897fc: 21aa movs r1, #170 ; 0xaa 80897fe: 20d6 movs r0, #214 ; 0xd6 8089800: f7cb fcae bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8089804: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8089808: b2db uxtb r3, r3 808980a: 461a mov r2, r3 808980c: 4b48 ldr r3, [pc, #288] ; (8089930 ) 808980e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089812: 461a mov r2, r3 8089814: 21aa movs r1, #170 ; 0xaa 8089816: 20e6 movs r0, #230 ; 0xe6 8089818: f7cb fca2 bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 808981c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8089820: b2db uxtb r3, r3 8089822: 461a mov r2, r3 8089824: 4b42 ldr r3, [pc, #264] ; (8089930 ) 8089826: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808982a: 461a mov r2, r3 808982c: 21aa movs r1, #170 ; 0xaa 808982e: f44f 7083 mov.w r0, #262 ; 0x106 8089832: f7cb fc95 bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 8089836: 4a40 ldr r2, [pc, #256] ; (8089938 ) 8089838: 21aa movs r1, #170 ; 0xaa 808983a: f44f 708b mov.w r0, #278 ; 0x116 808983e: f7cb fc8f bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8089842: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8089846: b2db uxtb r3, r3 8089848: 461a mov r2, r3 808984a: 4b39 ldr r3, [pc, #228] ; (8089930 ) 808984c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089850: 461a mov r2, r3 8089852: 21aa movs r1, #170 ; 0xaa 8089854: f44f 7093 mov.w r0, #294 ; 0x126 8089858: f7cb fc82 bl 8055160 808985c: e0d0 b.n 8089a00 if(menupos == VibMax_IEE) 808985e: 4b31 ldr r3, [pc, #196] ; (8089924 ) 8089860: 781b ldrb r3, [r3, #0] 8089862: b2db uxtb r3, r3 8089864: 2b0f cmp r3, #15 8089866: d169 bne.n 808993c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089868: 492f ldr r1, [pc, #188] ; (8089928 ) 808986a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808986e: f7ca fecf bl 8054610 if(blk) 8089872: 4b2e ldr r3, [pc, #184] ; (808992c ) 8089874: 681b ldr r3, [r3, #0] 8089876: 2b00 cmp r3, #0 8089878: d00c beq.n 8089894 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 808987a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808987e: b2db uxtb r3, r3 8089880: 461a mov r2, r3 8089882: 4b2b ldr r3, [pc, #172] ; (8089930 ) 8089884: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089888: 461a mov r2, r3 808988a: 21aa movs r1, #170 ; 0xaa 808988c: f44f 7083 mov.w r0, #262 ; 0x106 8089890: f7cb fc66 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089894: 4924 ldr r1, [pc, #144] ; (8089928 ) 8089896: 4827 ldr r0, [pc, #156] ; (8089934 ) 8089898: f7ca feba bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 808989c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80898a0: b2db uxtb r3, r3 80898a2: 461a mov r2, r3 80898a4: 4b22 ldr r3, [pc, #136] ; (8089930 ) 80898a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80898aa: 461a mov r2, r3 80898ac: 21aa movs r1, #170 ; 0xaa 80898ae: 20c6 movs r0, #198 ; 0xc6 80898b0: f7cb fc56 bl 8055160 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80898b4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80898b8: b2db uxtb r3, r3 80898ba: 461a mov r2, r3 80898bc: 4b1c ldr r3, [pc, #112] ; (8089930 ) 80898be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80898c2: 461a mov r2, r3 80898c4: 21aa movs r1, #170 ; 0xaa 80898c6: 20d6 movs r0, #214 ; 0xd6 80898c8: f7cb fc4a bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80898cc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80898d0: b2db uxtb r3, r3 80898d2: 461a mov r2, r3 80898d4: 4b16 ldr r3, [pc, #88] ; (8089930 ) 80898d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80898da: 461a mov r2, r3 80898dc: 21aa movs r1, #170 ; 0xaa 80898de: 20e6 movs r0, #230 ; 0xe6 80898e0: f7cb fc3e bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 80898e4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80898e8: b2db uxtb r3, r3 80898ea: 461a mov r2, r3 80898ec: 4b10 ldr r3, [pc, #64] ; (8089930 ) 80898ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80898f2: 461a mov r2, r3 80898f4: 21aa movs r1, #170 ; 0xaa 80898f6: 20f6 movs r0, #246 ; 0xf6 80898f8: f7cb fc32 bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 80898fc: 4a0e ldr r2, [pc, #56] ; (8089938 ) 80898fe: 21aa movs r1, #170 ; 0xaa 8089900: f44f 708b mov.w r0, #278 ; 0x116 8089904: f7cb fc2c bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8089908: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808990c: b2db uxtb r3, r3 808990e: 461a mov r2, r3 8089910: 4b07 ldr r3, [pc, #28] ; (8089930 ) 8089912: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089916: 461a mov r2, r3 8089918: 21aa movs r1, #170 ; 0xaa 808991a: f44f 7093 mov.w r0, #294 ; 0x126 808991e: f7cb fc1f bl 8055160 8089922: e06d b.n 8089a00 8089924: 20020070 .word 0x20020070 8089928: ff0a0f1f .word 0xff0a0f1f 808992c: 200216a4 .word 0x200216a4 8089930: 2002096c .word 0x2002096c 8089934: ffd8aa57 .word 0xffd8aa57 8089938: 080d3b58 .word 0x080d3b58 if(menupos == VibMax_IKD) 808993c: 4bc5 ldr r3, [pc, #788] ; (8089c54 ) 808993e: 781b ldrb r3, [r3, #0] 8089940: b2db uxtb r3, r3 8089942: 2b10 cmp r3, #16 8089944: d15c bne.n 8089a00 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089946: 49c4 ldr r1, [pc, #784] ; (8089c58 ) 8089948: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808994c: f7ca fe60 bl 8054610 if(blk) 8089950: 4bc2 ldr r3, [pc, #776] ; (8089c5c ) 8089952: 681b ldr r3, [r3, #0] 8089954: 2b00 cmp r3, #0 8089956: d00c beq.n 8089972 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8089958: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808995c: b2db uxtb r3, r3 808995e: 461a mov r2, r3 8089960: 4bbf ldr r3, [pc, #764] ; (8089c60 ) 8089962: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089966: 461a mov r2, r3 8089968: 21aa movs r1, #170 ; 0xaa 808996a: f44f 7093 mov.w r0, #294 ; 0x126 808996e: f7cb fbf7 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089972: 49b9 ldr r1, [pc, #740] ; (8089c58 ) 8089974: 48bb ldr r0, [pc, #748] ; (8089c64 ) 8089976: f7ca fe4b bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 808997a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808997e: b2db uxtb r3, r3 8089980: 461a mov r2, r3 8089982: 4bb7 ldr r3, [pc, #732] ; (8089c60 ) 8089984: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089988: 461a mov r2, r3 808998a: 21aa movs r1, #170 ; 0xaa 808998c: 20c6 movs r0, #198 ; 0xc6 808998e: f7cb fbe7 bl 8055160 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8089992: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8089996: b2db uxtb r3, r3 8089998: 461a mov r2, r3 808999a: 4bb1 ldr r3, [pc, #708] ; (8089c60 ) 808999c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80899a0: 461a mov r2, r3 80899a2: 21aa movs r1, #170 ; 0xaa 80899a4: 20d6 movs r0, #214 ; 0xd6 80899a6: f7cb fbdb bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80899aa: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80899ae: b2db uxtb r3, r3 80899b0: 461a mov r2, r3 80899b2: 4bab ldr r3, [pc, #684] ; (8089c60 ) 80899b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80899b8: 461a mov r2, r3 80899ba: 21aa movs r1, #170 ; 0xaa 80899bc: 20e6 movs r0, #230 ; 0xe6 80899be: f7cb fbcf bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 80899c2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80899c6: b2db uxtb r3, r3 80899c8: 461a mov r2, r3 80899ca: 4ba5 ldr r3, [pc, #660] ; (8089c60 ) 80899cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80899d0: 461a mov r2, r3 80899d2: 21aa movs r1, #170 ; 0xaa 80899d4: 20f6 movs r0, #246 ; 0xf6 80899d6: f7cb fbc3 bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 80899da: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80899de: b2db uxtb r3, r3 80899e0: 461a mov r2, r3 80899e2: 4b9f ldr r3, [pc, #636] ; (8089c60 ) 80899e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80899e8: 461a mov r2, r3 80899ea: 21aa movs r1, #170 ; 0xaa 80899ec: f44f 7083 mov.w r0, #262 ; 0x106 80899f0: f7cb fbb6 bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 80899f4: 4a9c ldr r2, [pc, #624] ; (8089c68 ) 80899f6: 21aa movs r1, #170 ; 0xaa 80899f8: f44f 708b mov.w r0, #278 ; 0x116 80899fc: f7cb fbb0 bl 8055160 if(pardata.OPTIONS & BIT2) // Åñëè àâòîóñèëåíèå 8089a00: 4b9a ldr r3, [pc, #616] ; (8089c6c ) 8089a02: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8089a06: f003 0304 and.w r3, r3, #4 8089a0a: 2b00 cmp r3, #0 8089a0c: d00e beq.n 8089a2c LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8089a0e: 4992 ldr r1, [pc, #584] ; (8089c58 ) 8089a10: 4897 ldr r0, [pc, #604] ; (8089c70 ) 8089a12: f7ca fdfd bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_9 + 2, 6, 6); 8089a16: 2306 movs r3, #6 8089a18: 2206 movs r2, #6 8089a1a: 219f movs r1, #159 ; 0x9f 8089a1c: f240 1001 movw r0, #257 ; 0x101 8089a20: f7cb fa84 bl 8054f2c break; 8089a24: e002 b.n 8089a2c break; 8089a26: bf00 nop 8089a28: f00e be00 b.w 809862c break; 8089a2c: bf00 nop break; 8089a2e: f00e bdfd b.w 809862c 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); 8089a32: 4989 ldr r1, [pc, #548] ; (8089c58 ) 8089a34: 488f ldr r0, [pc, #572] ; (8089c74 ) 8089a36: f7ca fdeb bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 8089a3a: 23c9 movs r3, #201 ; 0xc9 8089a3c: f44f 729d mov.w r2, #314 ; 0x13a 8089a40: 2123 movs r1, #35 ; 0x23 8089a42: 2002 movs r0, #2 8089a44: f7cb f8ea bl 8054c1c k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8089a48: 4b88 ldr r3, [pc, #544] ; (8089c6c ) 8089a4a: edd3 7a06 vldr s15, [r3, #24] 8089a4e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8089a52: ee67 7a87 vmul.f32 s15, s15, s14 8089a56: eefc 7ae7 vcvt.u32.f32 s15, s15 8089a5a: ee17 3a90 vmov r3, s15 8089a5e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 8089a62: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8089a66: 095b lsrs r3, r3, #5 8089a68: 4a83 ldr r2, [pc, #524] ; (8089c78 ) 8089a6a: fba2 2303 umull r2, r3, r2, r3 8089a6e: 09db lsrs r3, r3, #7 8089a70: b2db uxtb r3, r3 8089a72: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 8089a76: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089a7a: 0953 lsrs r3, r2, #5 8089a7c: 497e ldr r1, [pc, #504] ; (8089c78 ) 8089a7e: fba1 1303 umull r1, r3, r1, r3 8089a82: 09db lsrs r3, r3, #7 8089a84: 497d ldr r1, [pc, #500] ; (8089c7c ) 8089a86: fb01 f303 mul.w r3, r1, r3 8089a8a: 1ad3 subs r3, r2, r3 8089a8c: 4a7c ldr r2, [pc, #496] ; (8089c80 ) 8089a8e: fba2 2303 umull r2, r3, r2, r3 8089a92: 0b5b lsrs r3, r3, #13 8089a94: b2db uxtb r3, r3 8089a96: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 8089a9a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089a9e: 0953 lsrs r3, r2, #5 8089aa0: 4975 ldr r1, [pc, #468] ; (8089c78 ) 8089aa2: fba1 1303 umull r1, r3, r1, r3 8089aa6: 09db lsrs r3, r3, #7 8089aa8: 4974 ldr r1, [pc, #464] ; (8089c7c ) 8089aaa: fb01 f303 mul.w r3, r1, r3 8089aae: 1ad3 subs r3, r2, r3 8089ab0: 4a73 ldr r2, [pc, #460] ; (8089c80 ) 8089ab2: fba2 1203 umull r1, r2, r2, r3 8089ab6: 0b52 lsrs r2, r2, #13 8089ab8: f242 7110 movw r1, #10000 ; 0x2710 8089abc: fb01 f202 mul.w r2, r1, r2 8089ac0: 1a9a subs r2, r3, r2 8089ac2: 4b70 ldr r3, [pc, #448] ; (8089c84 ) 8089ac4: fba3 2302 umull r2, r3, r3, r2 8089ac8: 099b lsrs r3, r3, #6 8089aca: b2db uxtb r3, r3 8089acc: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8089ad0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8089ad4: 095a lsrs r2, r3, #5 8089ad6: 4968 ldr r1, [pc, #416] ; (8089c78 ) 8089ad8: fba1 1202 umull r1, r2, r1, r2 8089adc: 09d2 lsrs r2, r2, #7 8089ade: 4967 ldr r1, [pc, #412] ; (8089c7c ) 8089ae0: fb01 f202 mul.w r2, r1, r2 8089ae4: 1a9a subs r2, r3, r2 8089ae6: 4b66 ldr r3, [pc, #408] ; (8089c80 ) 8089ae8: fba3 1302 umull r1, r3, r3, r2 8089aec: 0b5b lsrs r3, r3, #13 8089aee: f242 7110 movw r1, #10000 ; 0x2710 8089af2: fb01 f303 mul.w r3, r1, r3 8089af6: 1ad3 subs r3, r2, r3 8089af8: 4a62 ldr r2, [pc, #392] ; (8089c84 ) 8089afa: fba2 1203 umull r1, r2, r2, r3 8089afe: 0992 lsrs r2, r2, #6 8089b00: f44f 717a mov.w r1, #1000 ; 0x3e8 8089b04: fb01 f202 mul.w r2, r1, r2 8089b08: 1a9a subs r2, r3, r2 8089b0a: 4b5f ldr r3, [pc, #380] ; (8089c88 ) 8089b0c: fba3 2302 umull r2, r3, r3, r2 8089b10: 095b lsrs r3, r3, #5 8089b12: b2db uxtb r3, r3 8089b14: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8089b18: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089b1c: 0953 lsrs r3, r2, #5 8089b1e: 4956 ldr r1, [pc, #344] ; (8089c78 ) 8089b20: fba1 1303 umull r1, r3, r1, r3 8089b24: 09db lsrs r3, r3, #7 8089b26: 4955 ldr r1, [pc, #340] ; (8089c7c ) 8089b28: fb01 f303 mul.w r3, r1, r3 8089b2c: 1ad3 subs r3, r2, r3 8089b2e: 4a54 ldr r2, [pc, #336] ; (8089c80 ) 8089b30: fba2 1203 umull r1, r2, r2, r3 8089b34: 0b52 lsrs r2, r2, #13 8089b36: f242 7110 movw r1, #10000 ; 0x2710 8089b3a: fb01 f202 mul.w r2, r1, r2 8089b3e: 1a9a subs r2, r3, r2 8089b40: 4b50 ldr r3, [pc, #320] ; (8089c84 ) 8089b42: fba3 1302 umull r1, r3, r3, r2 8089b46: 099b lsrs r3, r3, #6 8089b48: f44f 717a mov.w r1, #1000 ; 0x3e8 8089b4c: fb01 f303 mul.w r3, r1, r3 8089b50: 1ad3 subs r3, r2, r3 8089b52: 4a4d ldr r2, [pc, #308] ; (8089c88 ) 8089b54: fba2 1203 umull r1, r2, r2, r3 8089b58: 0952 lsrs r2, r2, #5 8089b5a: 2164 movs r1, #100 ; 0x64 8089b5c: fb01 f202 mul.w r2, r1, r2 8089b60: 1a9a subs r2, r3, r2 8089b62: 4b4a ldr r3, [pc, #296] ; (8089c8c ) 8089b64: fba3 2302 umull r2, r3, r3, r2 8089b68: 08db lsrs r3, r3, #3 8089b6a: b2db uxtb r3, r3 8089b6c: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8089b70: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089b74: 0953 lsrs r3, r2, #5 8089b76: 4940 ldr r1, [pc, #256] ; (8089c78 ) 8089b78: fba1 1303 umull r1, r3, r1, r3 8089b7c: 09db lsrs r3, r3, #7 8089b7e: 493f ldr r1, [pc, #252] ; (8089c7c ) 8089b80: fb01 f303 mul.w r3, r1, r3 8089b84: 1ad3 subs r3, r2, r3 8089b86: 4a3e ldr r2, [pc, #248] ; (8089c80 ) 8089b88: fba2 1203 umull r1, r2, r2, r3 8089b8c: 0b52 lsrs r2, r2, #13 8089b8e: f242 7110 movw r1, #10000 ; 0x2710 8089b92: fb01 f202 mul.w r2, r1, r2 8089b96: 1a9a subs r2, r3, r2 8089b98: 4b3a ldr r3, [pc, #232] ; (8089c84 ) 8089b9a: fba3 1302 umull r1, r3, r3, r2 8089b9e: 099b lsrs r3, r3, #6 8089ba0: f44f 717a mov.w r1, #1000 ; 0x3e8 8089ba4: fb01 f303 mul.w r3, r1, r3 8089ba8: 1ad3 subs r3, r2, r3 8089baa: 4a37 ldr r2, [pc, #220] ; (8089c88 ) 8089bac: fba2 1203 umull r1, r2, r2, r3 8089bb0: 0952 lsrs r2, r2, #5 8089bb2: 2164 movs r1, #100 ; 0x64 8089bb4: fb01 f202 mul.w r2, r1, r2 8089bb8: 1a9a subs r2, r3, r2 8089bba: 4b34 ldr r3, [pc, #208] ; (8089c8c ) 8089bbc: fba3 1302 umull r1, r3, r3, r2 8089bc0: 08d9 lsrs r1, r3, #3 8089bc2: 460b mov r3, r1 8089bc4: 009b lsls r3, r3, #2 8089bc6: 440b add r3, r1 8089bc8: 005b lsls r3, r3, #1 8089bca: 1ad1 subs r1, r2, r3 8089bcc: b2cb uxtb r3, r1 8089bce: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 //**************************************************************** l = strlen(DiagFileName); 8089bd2: 482f ldr r0, [pc, #188] ; (8089c90 ) 8089bd4: f796 fb9e bl 8020314 8089bd8: 4603 mov r3, r0 8089bda: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 8089bde: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089be2: 2b09 cmp r3, #9 8089be4: d806 bhi.n 8089bf4 { strcpy(str1, DiagFileName); 8089be6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089bea: 4929 ldr r1, [pc, #164] ; (8089c90 ) 8089bec: 4618 mov r0, r3 8089bee: f047 fcf4 bl 80d15da 8089bf2: e084 b.n 8089cfe } else { memset(str1, 0x20, sizeof(str1)); 8089bf4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089bf8: f44f 7280 mov.w r2, #256 ; 0x100 8089bfc: 2120 movs r1, #32 8089bfe: 4618 mov r0, r3 8089c00: f047 fbce bl 80d13a0 if(tme <= l) 8089c04: 4b23 ldr r3, [pc, #140] ; (8089c94 ) 8089c06: 681a ldr r2, [r3, #0] 8089c08: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089c0c: 429a cmp r2, r3 8089c0e: d843 bhi.n 8089c98 { if(l - tme >= 9) 8089c10: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089c14: 4b1f ldr r3, [pc, #124] ; (8089c94 ) 8089c16: 681b ldr r3, [r3, #0] 8089c18: 1ad3 subs r3, r2, r3 8089c1a: 2b08 cmp r3, #8 8089c1c: d90a bls.n 8089c34 memcpy(str1, &DiagFileName[tme], 9); 8089c1e: 4b1d ldr r3, [pc, #116] ; (8089c94 ) 8089c20: 681b ldr r3, [r3, #0] 8089c22: 4a1b ldr r2, [pc, #108] ; (8089c90 ) 8089c24: 1899 adds r1, r3, r2 8089c26: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089c2a: 2209 movs r2, #9 8089c2c: 4618 mov r0, r3 8089c2e: f047 fbac bl 80d138a 8089c32: e043 b.n 8089cbc else memcpy(str1, &DiagFileName[tme], l - tme); 8089c34: 4b17 ldr r3, [pc, #92] ; (8089c94 ) 8089c36: 681b ldr r3, [r3, #0] 8089c38: 4a15 ldr r2, [pc, #84] ; (8089c90 ) 8089c3a: 1899 adds r1, r3, r2 8089c3c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089c40: 4b14 ldr r3, [pc, #80] ; (8089c94 ) 8089c42: 681b ldr r3, [r3, #0] 8089c44: 1ad2 subs r2, r2, r3 8089c46: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089c4a: 4618 mov r0, r3 8089c4c: f047 fb9d bl 80d138a 8089c50: e034 b.n 8089cbc 8089c52: bf00 nop 8089c54: 20020070 .word 0x20020070 8089c58: ff0a0f1f .word 0xff0a0f1f 8089c5c: 200216a4 .word 0x200216a4 8089c60: 2002096c .word 0x2002096c 8089c64: ffd8aa57 .word 0xffd8aa57 8089c68: 080d3b58 .word 0x080d3b58 8089c6c: 20023ea8 .word 0x20023ea8 8089c70: ff404040 .word 0xff404040 8089c74: ffd3d3d3 .word 0xffd3d3d3 8089c78: 0a7c5ac5 .word 0x0a7c5ac5 8089c7c: 000186a0 .word 0x000186a0 8089c80: d1b71759 .word 0xd1b71759 8089c84: 10624dd3 .word 0x10624dd3 8089c88: 51eb851f .word 0x51eb851f 8089c8c: cccccccd .word 0xcccccccd 8089c90: 20020e9c .word 0x20020e9c 8089c94: 200216b0 .word 0x200216b0 } else { memcpy(&str1[9 - (tme - l)], DiagFileName, tme - l); 8089c98: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089c9c: 4bb5 ldr r3, [pc, #724] ; (8089f74 ) 8089c9e: 681b ldr r3, [r3, #0] 8089ca0: 1ad3 subs r3, r2, r3 8089ca2: 3309 adds r3, #9 8089ca4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8089ca8: 18d0 adds r0, r2, r3 8089caa: 4bb2 ldr r3, [pc, #712] ; (8089f74 ) 8089cac: 681a ldr r2, [r3, #0] 8089cae: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089cb2: 1ad3 subs r3, r2, r3 8089cb4: 461a mov r2, r3 8089cb6: 49b0 ldr r1, [pc, #704] ; (8089f78 ) 8089cb8: f047 fb67 bl 80d138a } str1[10] = '\0'; 8089cbc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089cc0: 2200 movs r2, #0 8089cc2: 729a strb r2, [r3, #10] tt++; 8089cc4: 4bad ldr r3, [pc, #692] ; (8089f7c ) 8089cc6: 781b ldrb r3, [r3, #0] 8089cc8: 3301 adds r3, #1 8089cca: b2da uxtb r2, r3 8089ccc: 4bab ldr r3, [pc, #684] ; (8089f7c ) 8089cce: 701a strb r2, [r3, #0] if(tt >= 4) 8089cd0: 4baa ldr r3, [pc, #680] ; (8089f7c ) 8089cd2: 781b ldrb r3, [r3, #0] 8089cd4: 2b03 cmp r3, #3 8089cd6: d912 bls.n 8089cfe { tt = 0; 8089cd8: 4ba8 ldr r3, [pc, #672] ; (8089f7c ) 8089cda: 2200 movs r2, #0 8089cdc: 701a strb r2, [r3, #0] tme++; 8089cde: 4ba5 ldr r3, [pc, #660] ; (8089f74 ) 8089ce0: 681b ldr r3, [r3, #0] 8089ce2: 3301 adds r3, #1 8089ce4: 4aa3 ldr r2, [pc, #652] ; (8089f74 ) 8089ce6: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 8089ce8: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089cec: 4ba1 ldr r3, [pc, #644] ; (8089f74 ) 8089cee: 681b ldr r3, [r3, #0] 8089cf0: 1ad3 subs r3, r2, r3 8089cf2: f113 0f09 cmn.w r3, #9 8089cf6: d102 bne.n 8089cfe { tme = 0; 8089cf8: 4b9e ldr r3, [pc, #632] ; (8089f74 ) 8089cfa: 2200 movs r2, #0 8089cfc: 601a str r2, [r3, #0] } } } //**************************************************************** if(pardata.LANG == RUS) 8089cfe: 4ba0 ldr r3, [pc, #640] ; (8089f80 ) 8089d00: 7b1b ldrb r3, [r3, #12] 8089d02: b2db uxtb r3, r3 8089d04: 2b00 cmp r3, #0 8089d06: d140 bne.n 8089d8a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089d08: 499e ldr r1, [pc, #632] ; (8089f84 ) 8089d0a: f04f 30ff mov.w r0, #4294967295 8089d0e: f7ca fc7f bl 8054610 //LCD_DisplayString(10, LCD_LINE_3, "Ïðîãðàììà èçìåðåíèé"); LCD_DisplayString(10, LCD_LINE_4, "Óñðåäíåíèå(êîë-âî)"); 8089d12: 4a9d ldr r2, [pc, #628] ; (8089f88 ) 8089d14: 214a movs r1, #74 ; 0x4a 8089d16: 200a movs r0, #10 8089d18: f7cb fa22 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, "Àâòîóñèëåíèå"); 8089d1c: 4a9b ldr r2, [pc, #620] ; (8089f8c ) 8089d1e: 215a movs r1, #90 ; 0x5a 8089d20: 200a movs r0, #10 8089d22: f7cb fa1d bl 8055160 //LCD_DisplayString(10, LCD_LINE_7, "Çàïèñü â ôàéë"); if(pardata.OPTIONS & 0x4) 8089d26: 4b96 ldr r3, [pc, #600] ; (8089f80 ) 8089d28: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8089d2c: f003 0304 and.w r3, r3, #4 8089d30: 2b00 cmp r3, #0 8089d32: d003 beq.n 8089d3c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8089d34: 4993 ldr r1, [pc, #588] ; (8089f84 ) 8089d36: 4896 ldr r0, [pc, #600] ; (8089f90 ) 8089d38: f7ca fc6a bl 8054610 if(pardata.IIN != VOLTS) 8089d3c: 4b90 ldr r3, [pc, #576] ; (8089f80 ) 8089d3e: 799b ldrb r3, [r3, #6] 8089d40: b2db uxtb r3, r3 8089d42: 2b02 cmp r3, #2 8089d44: d010 beq.n 8089d68 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8089d46: 4b8e ldr r3, [pc, #568] ; (8089f80 ) 8089d48: 7b1b ldrb r3, [r3, #12] 8089d4a: b2db uxtb r3, r3 8089d4c: 4619 mov r1, r3 8089d4e: 4a91 ldr r2, [pc, #580] ; (8089f94 ) 8089d50: 232c movs r3, #44 ; 0x2c 8089d52: fb03 f301 mul.w r3, r3, r1 8089d56: 4413 add r3, r2 8089d58: 3324 adds r3, #36 ; 0x24 8089d5a: 681b ldr r3, [r3, #0] 8089d5c: 461a mov r2, r3 8089d5e: 216a movs r1, #106 ; 0x6a 8089d60: 200a movs r0, #10 8089d62: f7cb f9fd bl 8055160 8089d66: e050 b.n 8089e0a else LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8089d68: 4b85 ldr r3, [pc, #532] ; (8089f80 ) 8089d6a: 7b1b ldrb r3, [r3, #12] 8089d6c: b2db uxtb r3, r3 8089d6e: 4619 mov r1, r3 8089d70: 4a89 ldr r2, [pc, #548] ; (8089f98 ) 8089d72: 232c movs r3, #44 ; 0x2c 8089d74: fb03 f301 mul.w r3, r3, r1 8089d78: 4413 add r3, r2 8089d7a: 3324 adds r3, #36 ; 0x24 8089d7c: 681b ldr r3, [r3, #0] 8089d7e: 461a mov r2, r3 8089d80: 216a movs r1, #106 ; 0x6a 8089d82: 200a movs r0, #10 8089d84: f7cb f9ec bl 8055160 8089d88: e03f b.n 8089e0a } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089d8a: 497e ldr r1, [pc, #504] ; (8089f84 ) 8089d8c: f04f 30ff mov.w r0, #4294967295 8089d90: f7ca fc3e bl 8054610 //LCD_DisplayString(10, LCD_LINE_3, "Measurement program"); LCD_DisplayString(10, LCD_LINE_4, "Num.average"); 8089d94: 4a81 ldr r2, [pc, #516] ; (8089f9c ) 8089d96: 214a movs r1, #74 ; 0x4a 8089d98: 200a movs r0, #10 8089d9a: f7cb f9e1 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, "Autogain"); 8089d9e: 4a80 ldr r2, [pc, #512] ; (8089fa0 ) 8089da0: 215a movs r1, #90 ; 0x5a 8089da2: 200a movs r0, #10 8089da4: f7cb f9dc bl 8055160 //LCD_DisplayString(10, LCD_LINE_7, "Save to file"); if(pardata.OPTIONS & 0x4) 8089da8: 4b75 ldr r3, [pc, #468] ; (8089f80 ) 8089daa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8089dae: f003 0304 and.w r3, r3, #4 8089db2: 2b00 cmp r3, #0 8089db4: d003 beq.n 8089dbe LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8089db6: 4973 ldr r1, [pc, #460] ; (8089f84 ) 8089db8: 4875 ldr r0, [pc, #468] ; (8089f90 ) 8089dba: f7ca fc29 bl 8054610 if(pardata.IIN != VOLTS) 8089dbe: 4b70 ldr r3, [pc, #448] ; (8089f80 ) 8089dc0: 799b ldrb r3, [r3, #6] 8089dc2: b2db uxtb r3, r3 8089dc4: 2b02 cmp r3, #2 8089dc6: d010 beq.n 8089dea LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8089dc8: 4b6d ldr r3, [pc, #436] ; (8089f80 ) 8089dca: 7b1b ldrb r3, [r3, #12] 8089dcc: b2db uxtb r3, r3 8089dce: 4619 mov r1, r3 8089dd0: 4a70 ldr r2, [pc, #448] ; (8089f94 ) 8089dd2: 232c movs r3, #44 ; 0x2c 8089dd4: fb03 f301 mul.w r3, r3, r1 8089dd8: 4413 add r3, r2 8089dda: 3324 adds r3, #36 ; 0x24 8089ddc: 681b ldr r3, [r3, #0] 8089dde: 461a mov r2, r3 8089de0: 216a movs r1, #106 ; 0x6a 8089de2: 200a movs r0, #10 8089de4: f7cb f9bc bl 8055160 8089de8: e00f b.n 8089e0a else LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8089dea: 4b65 ldr r3, [pc, #404] ; (8089f80 ) 8089dec: 7b1b ldrb r3, [r3, #12] 8089dee: b2db uxtb r3, r3 8089df0: 4619 mov r1, r3 8089df2: 4a69 ldr r2, [pc, #420] ; (8089f98 ) 8089df4: 232c movs r3, #44 ; 0x2c 8089df6: fb03 f301 mul.w r3, r3, r1 8089dfa: 4413 add r3, r2 8089dfc: 3324 adds r3, #36 ; 0x24 8089dfe: 681b ldr r3, [r3, #0] 8089e00: 461a mov r2, r3 8089e02: 216a movs r1, #106 ; 0x6a 8089e04: 200a movs r0, #10 8089e06: f7cb f9ab bl 8055160 // if(menupos != DiagUs) 8089e0a: 4b66 ldr r3, [pc, #408] ; (8089fa4 ) 8089e0c: 781b ldrb r3, [r3, #0] 8089e0e: b2db uxtb r3, r3 8089e10: 2b00 cmp r3, #0 8089e12: d005 beq.n 8089e20 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089e14: 495b ldr r1, [pc, #364] ; (8089f84 ) 8089e16: f04f 30ff mov.w r0, #4294967295 8089e1a: f7ca fbf9 bl 8054610 8089e1e: e004 b.n 8089e2a else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089e20: 4958 ldr r1, [pc, #352] ; (8089f84 ) 8089e22: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089e26: f7ca fbf3 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *) TEXT_PARAM_DIAGN[pardata.LANG][DiagUs]); 8089e2a: 4b55 ldr r3, [pc, #340] ; (8089f80 ) 8089e2c: 7b1b ldrb r3, [r3, #12] 8089e2e: b2db uxtb r3, r3 8089e30: 4619 mov r1, r3 8089e32: 4a5d ldr r2, [pc, #372] ; (8089fa8 ) 8089e34: 460b mov r3, r1 8089e36: 009b lsls r3, r3, #2 8089e38: 440b add r3, r1 8089e3a: 009b lsls r3, r3, #2 8089e3c: 4413 add r3, r2 8089e3e: 681b ldr r3, [r3, #0] 8089e40: 461a mov r2, r3 8089e42: 213a movs r1, #58 ; 0x3a 8089e44: 200a movs r0, #10 8089e46: f7cb f98b bl 8055160 // if(menupos != DiagAverage) 8089e4a: 4b56 ldr r3, [pc, #344] ; (8089fa4 ) 8089e4c: 781b ldrb r3, [r3, #0] 8089e4e: b2db uxtb r3, r3 8089e50: 2b01 cmp r3, #1 8089e52: d004 beq.n 8089e5e LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089e54: 494b ldr r1, [pc, #300] ; (8089f84 ) 8089e56: 4855 ldr r0, [pc, #340] ; (8089fac ) 8089e58: f7ca fbda bl 8054610 8089e5c: e004 b.n 8089e68 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089e5e: 4949 ldr r1, [pc, #292] ; (8089f84 ) 8089e60: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089e64: f7ca fbd4 bl 8054610 if((focused) && (menupos == DiagAverage)) 8089e68: 4b51 ldr r3, [pc, #324] ; (8089fb0 ) 8089e6a: 781b ldrb r3, [r3, #0] 8089e6c: b2db uxtb r3, r3 8089e6e: 2b00 cmp r3, #0 8089e70: d016 beq.n 8089ea0 8089e72: 4b4c ldr r3, [pc, #304] ; (8089fa4 ) 8089e74: 781b ldrb r3, [r3, #0] 8089e76: b2db uxtb r3, r3 8089e78: 2b01 cmp r3, #1 8089e7a: d111 bne.n 8089ea0 { if(blk) 8089e7c: 4b4d ldr r3, [pc, #308] ; (8089fb4 ) 8089e7e: 681b ldr r3, [r3, #0] 8089e80: 2b00 cmp r3, #0 8089e82: d01a beq.n 8089eba LCD_DisplayStringC(260, LCD_LINE_4, (char *) pAVERAGE[pardata.AVG]); 8089e84: 4b3e ldr r3, [pc, #248] ; (8089f80 ) 8089e86: 7b5b ldrb r3, [r3, #13] 8089e88: b2db uxtb r3, r3 8089e8a: 461a mov r2, r3 8089e8c: 4b4a ldr r3, [pc, #296] ; (8089fb8 ) 8089e8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089e92: 461a mov r2, r3 8089e94: 214a movs r1, #74 ; 0x4a 8089e96: f44f 7082 mov.w r0, #260 ; 0x104 8089e9a: f7cb f979 bl 8055190 if(blk) 8089e9e: e00c b.n 8089eba } else LCD_DisplayStringC(260, LCD_LINE_4, (char *) pAVERAGE[pardata.AVG]); 8089ea0: 4b37 ldr r3, [pc, #220] ; (8089f80 ) 8089ea2: 7b5b ldrb r3, [r3, #13] 8089ea4: b2db uxtb r3, r3 8089ea6: 461a mov r2, r3 8089ea8: 4b43 ldr r3, [pc, #268] ; (8089fb8 ) 8089eaa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089eae: 461a mov r2, r3 8089eb0: 214a movs r1, #74 ; 0x4a 8089eb2: f44f 7082 mov.w r0, #260 ; 0x104 8089eb6: f7cb f96b bl 8055190 // if(menupos == DiagAutoKu) 8089eba: 4b3a ldr r3, [pc, #232] ; (8089fa4 ) 8089ebc: 781b ldrb r3, [r3, #0] 8089ebe: b2db uxtb r3, r3 8089ec0: 2b02 cmp r3, #2 8089ec2: d10a bne.n 8089eda { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089ec4: 492f ldr r1, [pc, #188] ; (8089f84 ) 8089ec6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089eca: f7ca fba1 bl 8054610 BSP_LCD_FillRect(253, CHECKBOX_LINE_5-2, 14, 14); 8089ece: 230e movs r3, #14 8089ed0: 220e movs r2, #14 8089ed2: 215b movs r1, #91 ; 0x5b 8089ed4: 20fd movs r0, #253 ; 0xfd 8089ed6: f7cb f829 bl 8054f2c } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089eda: 492a ldr r1, [pc, #168] ; (8089f84 ) 8089edc: f04f 30ff mov.w r0, #4294967295 8089ee0: f7ca fb96 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_5, 10, 10); 8089ee4: 230a movs r3, #10 8089ee6: 220a movs r2, #10 8089ee8: 215d movs r1, #93 ; 0x5d 8089eea: 20ff movs r0, #255 ; 0xff 8089eec: f7cb f81e bl 8054f2c // if(menupos == DiagSaveToFile) 8089ef0: 4b2c ldr r3, [pc, #176] ; (8089fa4 ) 8089ef2: 781b ldrb r3, [r3, #0] 8089ef4: b2db uxtb r3, r3 8089ef6: 2b04 cmp r3, #4 8089ef8: d160 bne.n 8089fbc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089efa: 4922 ldr r1, [pc, #136] ; (8089f84 ) 8089efc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089f00: f7ca fb86 bl 8054610 if(strlen(DiagFileName)) 8089f04: 4b1c ldr r3, [pc, #112] ; (8089f78 ) 8089f06: 781b ldrb r3, [r3, #0] 8089f08: 2b00 cmp r3, #0 8089f0a: d022 beq.n 8089f52 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089f0c: 491d ldr r1, [pc, #116] ; (8089f84 ) 8089f0e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089f12: f7ca fb7d bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8089f16: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089f1a: 461a mov r2, r3 8089f1c: 217a movs r1, #122 ; 0x7a 8089f1e: f44f 7082 mov.w r0, #260 ; 0x104 8089f22: f7cb f935 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089f26: 4917 ldr r1, [pc, #92] ; (8089f84 ) 8089f28: f04f 30ff mov.w r0, #4294967295 8089f2c: f7ca fb70 bl 8054610 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 8089f30: 4b13 ldr r3, [pc, #76] ; (8089f80 ) 8089f32: 7b1b ldrb r3, [r3, #12] 8089f34: b2db uxtb r3, r3 8089f36: 4619 mov r1, r3 8089f38: 4a16 ldr r2, [pc, #88] ; (8089f94 ) 8089f3a: 232c movs r3, #44 ; 0x2c 8089f3c: fb03 f301 mul.w r3, r3, r1 8089f40: 4413 add r3, r2 8089f42: 3328 adds r3, #40 ; 0x28 8089f44: 681b ldr r3, [r3, #0] 8089f46: 461a mov r2, r3 8089f48: 217a movs r1, #122 ; 0x7a 8089f4a: 200a movs r0, #10 8089f4c: f7cb f908 bl 8055160 8089f50: e06f b.n 808a032 } else LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 8089f52: 4b0b ldr r3, [pc, #44] ; (8089f80 ) 8089f54: 7b1b ldrb r3, [r3, #12] 8089f56: b2db uxtb r3, r3 8089f58: 4619 mov r1, r3 8089f5a: 4a0e ldr r2, [pc, #56] ; (8089f94 ) 8089f5c: 232c movs r3, #44 ; 0x2c 8089f5e: fb03 f301 mul.w r3, r3, r1 8089f62: 4413 add r3, r2 8089f64: 3328 adds r3, #40 ; 0x28 8089f66: 681b ldr r3, [r3, #0] 8089f68: 461a mov r2, r3 8089f6a: 217a movs r1, #122 ; 0x7a 8089f6c: 200a movs r0, #10 8089f6e: f7cb f8f7 bl 8055160 8089f72: e05e b.n 808a032 8089f74: 200216b0 .word 0x200216b0 8089f78: 20020e9c .word 0x20020e9c 8089f7c: 200216b4 .word 0x200216b4 8089f80: 20023ea8 .word 0x20023ea8 8089f84: ff0a0f1f .word 0xff0a0f1f 8089f88: 080d36ec .word 0x080d36ec 8089f8c: 080d35c0 .word 0x080d35c0 8089f90: ff808080 .word 0xff808080 8089f94: 200206bc .word 0x200206bc 8089f98: 20020714 .word 0x20020714 8089f9c: 080d375c .word 0x080d375c 8089fa0: 080d364c .word 0x080d364c 8089fa4: 20020070 .word 0x20020070 8089fa8: 20020934 .word 0x20020934 8089fac: ffd8aa57 .word 0xffd8aa57 8089fb0: 20020fc8 .word 0x20020fc8 8089fb4: 200216a4 .word 0x200216a4 8089fb8: 2002022c .word 0x2002022c } else { if(strlen(DiagFileName)) 8089fbc: 4bb1 ldr r3, [pc, #708] ; (808a284 ) 8089fbe: 781b ldrb r3, [r3, #0] 8089fc0: 2b00 cmp r3, #0 8089fc2: d021 beq.n 808a008 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089fc4: 49b0 ldr r1, [pc, #704] ; (808a288 ) 8089fc6: 48b1 ldr r0, [pc, #708] ; (808a28c ) 8089fc8: f7ca fb22 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8089fcc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089fd0: 461a mov r2, r3 8089fd2: 217a movs r1, #122 ; 0x7a 8089fd4: f44f 7082 mov.w r0, #260 ; 0x104 8089fd8: f7cb f8da bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089fdc: 49aa ldr r1, [pc, #680] ; (808a288 ) 8089fde: f04f 30ff mov.w r0, #4294967295 8089fe2: f7ca fb15 bl 8054610 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 8089fe6: 4baa ldr r3, [pc, #680] ; (808a290 ) 8089fe8: 7b1b ldrb r3, [r3, #12] 8089fea: b2db uxtb r3, r3 8089fec: 4619 mov r1, r3 8089fee: 4aa9 ldr r2, [pc, #676] ; (808a294 ) 8089ff0: 232c movs r3, #44 ; 0x2c 8089ff2: fb03 f301 mul.w r3, r3, r1 8089ff6: 4413 add r3, r2 8089ff8: 3328 adds r3, #40 ; 0x28 8089ffa: 681b ldr r3, [r3, #0] 8089ffc: 461a mov r2, r3 8089ffe: 217a movs r1, #122 ; 0x7a 808a000: 200a movs r0, #10 808a002: f7cb f8ad bl 8055160 808a006: e014 b.n 808a032 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a008: 499f ldr r1, [pc, #636] ; (808a288 ) 808a00a: f04f 30ff mov.w r0, #4294967295 808a00e: f7ca faff bl 8054610 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 808a012: 4b9f ldr r3, [pc, #636] ; (808a290 ) 808a014: 7b1b ldrb r3, [r3, #12] 808a016: b2db uxtb r3, r3 808a018: 4619 mov r1, r3 808a01a: 4a9e ldr r2, [pc, #632] ; (808a294 ) 808a01c: 232c movs r3, #44 ; 0x2c 808a01e: fb03 f301 mul.w r3, r3, r1 808a022: 4413 add r3, r2 808a024: 3328 adds r3, #40 ; 0x28 808a026: 681b ldr r3, [r3, #0] 808a028: 461a mov r2, r3 808a02a: 217a movs r1, #122 ; 0x7a 808a02c: 200a movs r0, #10 808a02e: f7cb f897 bl 8055160 } } // if(menupos == DiagMax_IDT) 808a032: 4b99 ldr r3, [pc, #612] ; (808a298 ) 808a034: 781b ldrb r3, [r3, #0] 808a036: b2db uxtb r3, r3 808a038: 2b05 cmp r3, #5 808a03a: d15d bne.n 808a0f8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a03c: 4992 ldr r1, [pc, #584] ; (808a288 ) 808a03e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a042: f7ca fae5 bl 8054610 if(blk) 808a046: 4b95 ldr r3, [pc, #596] ; (808a29c ) 808a048: 681b ldr r3, [r3, #0] 808a04a: 2b00 cmp r3, #0 808a04c: d00b beq.n 808a066 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808a04e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a052: b2db uxtb r3, r3 808a054: 461a mov r2, r3 808a056: 4b92 ldr r3, [pc, #584] ; (808a2a0 ) 808a058: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a05c: 461a mov r2, r3 808a05e: 216a movs r1, #106 ; 0x6a 808a060: 20c6 movs r0, #198 ; 0xc6 808a062: f7cb f87d bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a066: 4988 ldr r1, [pc, #544] ; (808a288 ) 808a068: 4888 ldr r0, [pc, #544] ; (808a28c ) 808a06a: f7ca fad1 bl 8054610 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808a06e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a072: b2db uxtb r3, r3 808a074: 461a mov r2, r3 808a076: 4b8a ldr r3, [pc, #552] ; (808a2a0 ) 808a078: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a07c: 461a mov r2, r3 808a07e: 216a movs r1, #106 ; 0x6a 808a080: 20d6 movs r0, #214 ; 0xd6 808a082: f7cb f86d bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808a086: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a08a: b2db uxtb r3, r3 808a08c: 461a mov r2, r3 808a08e: 4b84 ldr r3, [pc, #528] ; (808a2a0 ) 808a090: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a094: 461a mov r2, r3 808a096: 216a movs r1, #106 ; 0x6a 808a098: 20e6 movs r0, #230 ; 0xe6 808a09a: f7cb f861 bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 808a09e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808a0a2: b2db uxtb r3, r3 808a0a4: 461a mov r2, r3 808a0a6: 4b7e ldr r3, [pc, #504] ; (808a2a0 ) 808a0a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a0ac: 461a mov r2, r3 808a0ae: 216a movs r1, #106 ; 0x6a 808a0b0: 20f6 movs r0, #246 ; 0xf6 808a0b2: f7cb f855 bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808a0b6: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808a0ba: b2db uxtb r3, r3 808a0bc: 461a mov r2, r3 808a0be: 4b78 ldr r3, [pc, #480] ; (808a2a0 ) 808a0c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a0c4: 461a mov r2, r3 808a0c6: 216a movs r1, #106 ; 0x6a 808a0c8: f44f 7083 mov.w r0, #262 ; 0x106 808a0cc: f7cb f848 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 808a0d0: 4a74 ldr r2, [pc, #464] ; (808a2a4 ) 808a0d2: 216a movs r1, #106 ; 0x6a 808a0d4: f44f 708b mov.w r0, #278 ; 0x116 808a0d8: f7cb f842 bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808a0dc: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808a0e0: b2db uxtb r3, r3 808a0e2: 461a mov r2, r3 808a0e4: 4b6e ldr r3, [pc, #440] ; (808a2a0 ) 808a0e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a0ea: 461a mov r2, r3 808a0ec: 216a movs r1, #106 ; 0x6a 808a0ee: f44f 7093 mov.w r0, #294 ; 0x126 808a0f2: f7cb f835 bl 8055160 808a0f6: e20b b.n 808a510 } else if(menupos == DiagMax_IET) 808a0f8: 4b67 ldr r3, [pc, #412] ; (808a298 ) 808a0fa: 781b ldrb r3, [r3, #0] 808a0fc: b2db uxtb r3, r3 808a0fe: 2b06 cmp r3, #6 808a100: d15d bne.n 808a1be { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a102: 4961 ldr r1, [pc, #388] ; (808a288 ) 808a104: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a108: f7ca fa82 bl 8054610 if(blk) 808a10c: 4b63 ldr r3, [pc, #396] ; (808a29c ) 808a10e: 681b ldr r3, [r3, #0] 808a110: 2b00 cmp r3, #0 808a112: d00b beq.n 808a12c LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808a114: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a118: b2db uxtb r3, r3 808a11a: 461a mov r2, r3 808a11c: 4b60 ldr r3, [pc, #384] ; (808a2a0 ) 808a11e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a122: 461a mov r2, r3 808a124: 216a movs r1, #106 ; 0x6a 808a126: 20d6 movs r0, #214 ; 0xd6 808a128: f7cb f81a bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a12c: 4956 ldr r1, [pc, #344] ; (808a288 ) 808a12e: 4857 ldr r0, [pc, #348] ; (808a28c ) 808a130: f7ca fa6e bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808a134: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a138: b2db uxtb r3, r3 808a13a: 461a mov r2, r3 808a13c: 4b58 ldr r3, [pc, #352] ; (808a2a0 ) 808a13e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a142: 461a mov r2, r3 808a144: 216a movs r1, #106 ; 0x6a 808a146: 20c6 movs r0, #198 ; 0xc6 808a148: f7cb f80a bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808a14c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a150: b2db uxtb r3, r3 808a152: 461a mov r2, r3 808a154: 4b52 ldr r3, [pc, #328] ; (808a2a0 ) 808a156: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a15a: 461a mov r2, r3 808a15c: 216a movs r1, #106 ; 0x6a 808a15e: 20e6 movs r0, #230 ; 0xe6 808a160: f7ca fffe bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 808a164: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808a168: b2db uxtb r3, r3 808a16a: 461a mov r2, r3 808a16c: 4b4c ldr r3, [pc, #304] ; (808a2a0 ) 808a16e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a172: 461a mov r2, r3 808a174: 216a movs r1, #106 ; 0x6a 808a176: 20f6 movs r0, #246 ; 0xf6 808a178: f7ca fff2 bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808a17c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808a180: b2db uxtb r3, r3 808a182: 461a mov r2, r3 808a184: 4b46 ldr r3, [pc, #280] ; (808a2a0 ) 808a186: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a18a: 461a mov r2, r3 808a18c: 216a movs r1, #106 ; 0x6a 808a18e: f44f 7083 mov.w r0, #262 ; 0x106 808a192: f7ca ffe5 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 808a196: 4a43 ldr r2, [pc, #268] ; (808a2a4 ) 808a198: 216a movs r1, #106 ; 0x6a 808a19a: f44f 708b mov.w r0, #278 ; 0x116 808a19e: f7ca ffdf bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808a1a2: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808a1a6: b2db uxtb r3, r3 808a1a8: 461a mov r2, r3 808a1aa: 4b3d ldr r3, [pc, #244] ; (808a2a0 ) 808a1ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a1b0: 461a mov r2, r3 808a1b2: 216a movs r1, #106 ; 0x6a 808a1b4: f44f 7093 mov.w r0, #294 ; 0x126 808a1b8: f7ca ffd2 bl 8055160 808a1bc: e1a8 b.n 808a510 } else if(menupos == DiagMax_IES) 808a1be: 4b36 ldr r3, [pc, #216] ; (808a298 ) 808a1c0: 781b ldrb r3, [r3, #0] 808a1c2: b2db uxtb r3, r3 808a1c4: 2b07 cmp r3, #7 808a1c6: d16f bne.n 808a2a8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a1c8: 492f ldr r1, [pc, #188] ; (808a288 ) 808a1ca: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a1ce: f7ca fa1f bl 8054610 if(blk) 808a1d2: 4b32 ldr r3, [pc, #200] ; (808a29c ) 808a1d4: 681b ldr r3, [r3, #0] 808a1d6: 2b00 cmp r3, #0 808a1d8: d00b beq.n 808a1f2 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808a1da: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a1de: b2db uxtb r3, r3 808a1e0: 461a mov r2, r3 808a1e2: 4b2f ldr r3, [pc, #188] ; (808a2a0 ) 808a1e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a1e8: 461a mov r2, r3 808a1ea: 216a movs r1, #106 ; 0x6a 808a1ec: 20e6 movs r0, #230 ; 0xe6 808a1ee: f7ca ffb7 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a1f2: 4925 ldr r1, [pc, #148] ; (808a288 ) 808a1f4: 4825 ldr r0, [pc, #148] ; (808a28c ) 808a1f6: f7ca fa0b bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808a1fa: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a1fe: b2db uxtb r3, r3 808a200: 461a mov r2, r3 808a202: 4b27 ldr r3, [pc, #156] ; (808a2a0 ) 808a204: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a208: 461a mov r2, r3 808a20a: 216a movs r1, #106 ; 0x6a 808a20c: 20c6 movs r0, #198 ; 0xc6 808a20e: f7ca ffa7 bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808a212: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a216: b2db uxtb r3, r3 808a218: 461a mov r2, r3 808a21a: 4b21 ldr r3, [pc, #132] ; (808a2a0 ) 808a21c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a220: 461a mov r2, r3 808a222: 216a movs r1, #106 ; 0x6a 808a224: 20d6 movs r0, #214 ; 0xd6 808a226: f7ca ff9b bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 808a22a: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808a22e: b2db uxtb r3, r3 808a230: 461a mov r2, r3 808a232: 4b1b ldr r3, [pc, #108] ; (808a2a0 ) 808a234: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a238: 461a mov r2, r3 808a23a: 216a movs r1, #106 ; 0x6a 808a23c: 20f6 movs r0, #246 ; 0xf6 808a23e: f7ca ff8f bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808a242: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808a246: b2db uxtb r3, r3 808a248: 461a mov r2, r3 808a24a: 4b15 ldr r3, [pc, #84] ; (808a2a0 ) 808a24c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a250: 461a mov r2, r3 808a252: 216a movs r1, #106 ; 0x6a 808a254: f44f 7083 mov.w r0, #262 ; 0x106 808a258: f7ca ff82 bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 808a25c: 4a11 ldr r2, [pc, #68] ; (808a2a4 ) 808a25e: 216a movs r1, #106 ; 0x6a 808a260: f44f 708b mov.w r0, #278 ; 0x116 808a264: f7ca ff7c bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808a268: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808a26c: b2db uxtb r3, r3 808a26e: 461a mov r2, r3 808a270: 4b0b ldr r3, [pc, #44] ; (808a2a0 ) 808a272: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a276: 461a mov r2, r3 808a278: 216a movs r1, #106 ; 0x6a 808a27a: f44f 7093 mov.w r0, #294 ; 0x126 808a27e: f7ca ff6f bl 8055160 808a282: e145 b.n 808a510 808a284: 20020e9c .word 0x20020e9c 808a288: ff0a0f1f .word 0xff0a0f1f 808a28c: ffd8aa57 .word 0xffd8aa57 808a290: 20023ea8 .word 0x20023ea8 808a294: 200206bc .word 0x200206bc 808a298: 20020070 .word 0x20020070 808a29c: 200216a4 .word 0x200216a4 808a2a0: 2002096c .word 0x2002096c 808a2a4: 080d3b58 .word 0x080d3b58 } else if(menupos == DiagMax_IED) 808a2a8: 4b62 ldr r3, [pc, #392] ; (808a434 ) 808a2aa: 781b ldrb r3, [r3, #0] 808a2ac: b2db uxtb r3, r3 808a2ae: 2b08 cmp r3, #8 808a2b0: d15d bne.n 808a36e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a2b2: 4961 ldr r1, [pc, #388] ; (808a438 ) 808a2b4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a2b8: f7ca f9aa bl 8054610 if(blk) 808a2bc: 4b5f ldr r3, [pc, #380] ; (808a43c ) 808a2be: 681b ldr r3, [r3, #0] 808a2c0: 2b00 cmp r3, #0 808a2c2: d00b beq.n 808a2dc LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 808a2c4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808a2c8: b2db uxtb r3, r3 808a2ca: 461a mov r2, r3 808a2cc: 4b5c ldr r3, [pc, #368] ; (808a440 ) 808a2ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a2d2: 461a mov r2, r3 808a2d4: 216a movs r1, #106 ; 0x6a 808a2d6: 20f6 movs r0, #246 ; 0xf6 808a2d8: f7ca ff42 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a2dc: 4956 ldr r1, [pc, #344] ; (808a438 ) 808a2de: 4859 ldr r0, [pc, #356] ; (808a444 ) 808a2e0: f7ca f996 bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808a2e4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a2e8: b2db uxtb r3, r3 808a2ea: 461a mov r2, r3 808a2ec: 4b54 ldr r3, [pc, #336] ; (808a440 ) 808a2ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a2f2: 461a mov r2, r3 808a2f4: 216a movs r1, #106 ; 0x6a 808a2f6: 20c6 movs r0, #198 ; 0xc6 808a2f8: f7ca ff32 bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808a2fc: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a300: b2db uxtb r3, r3 808a302: 461a mov r2, r3 808a304: 4b4e ldr r3, [pc, #312] ; (808a440 ) 808a306: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a30a: 461a mov r2, r3 808a30c: 216a movs r1, #106 ; 0x6a 808a30e: 20d6 movs r0, #214 ; 0xd6 808a310: f7ca ff26 bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808a314: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a318: b2db uxtb r3, r3 808a31a: 461a mov r2, r3 808a31c: 4b48 ldr r3, [pc, #288] ; (808a440 ) 808a31e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a322: 461a mov r2, r3 808a324: 216a movs r1, #106 ; 0x6a 808a326: 20e6 movs r0, #230 ; 0xe6 808a328: f7ca ff1a bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808a32c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808a330: b2db uxtb r3, r3 808a332: 461a mov r2, r3 808a334: 4b42 ldr r3, [pc, #264] ; (808a440 ) 808a336: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a33a: 461a mov r2, r3 808a33c: 216a movs r1, #106 ; 0x6a 808a33e: f44f 7083 mov.w r0, #262 ; 0x106 808a342: f7ca ff0d bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 808a346: 4a40 ldr r2, [pc, #256] ; (808a448 ) 808a348: 216a movs r1, #106 ; 0x6a 808a34a: f44f 708b mov.w r0, #278 ; 0x116 808a34e: f7ca ff07 bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808a352: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808a356: b2db uxtb r3, r3 808a358: 461a mov r2, r3 808a35a: 4b39 ldr r3, [pc, #228] ; (808a440 ) 808a35c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a360: 461a mov r2, r3 808a362: 216a movs r1, #106 ; 0x6a 808a364: f44f 7093 mov.w r0, #294 ; 0x126 808a368: f7ca fefa bl 8055160 808a36c: e0d0 b.n 808a510 } else if(menupos == DiagMax_IEE) 808a36e: 4b31 ldr r3, [pc, #196] ; (808a434 ) 808a370: 781b ldrb r3, [r3, #0] 808a372: b2db uxtb r3, r3 808a374: 2b09 cmp r3, #9 808a376: d169 bne.n 808a44c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a378: 492f ldr r1, [pc, #188] ; (808a438 ) 808a37a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a37e: f7ca f947 bl 8054610 if(blk) 808a382: 4b2e ldr r3, [pc, #184] ; (808a43c ) 808a384: 681b ldr r3, [r3, #0] 808a386: 2b00 cmp r3, #0 808a388: d00c beq.n 808a3a4 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808a38a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808a38e: b2db uxtb r3, r3 808a390: 461a mov r2, r3 808a392: 4b2b ldr r3, [pc, #172] ; (808a440 ) 808a394: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a398: 461a mov r2, r3 808a39a: 216a movs r1, #106 ; 0x6a 808a39c: f44f 7083 mov.w r0, #262 ; 0x106 808a3a0: f7ca fede bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a3a4: 4924 ldr r1, [pc, #144] ; (808a438 ) 808a3a6: 4827 ldr r0, [pc, #156] ; (808a444 ) 808a3a8: f7ca f932 bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808a3ac: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a3b0: b2db uxtb r3, r3 808a3b2: 461a mov r2, r3 808a3b4: 4b22 ldr r3, [pc, #136] ; (808a440 ) 808a3b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a3ba: 461a mov r2, r3 808a3bc: 216a movs r1, #106 ; 0x6a 808a3be: 20c6 movs r0, #198 ; 0xc6 808a3c0: f7ca fece bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808a3c4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a3c8: b2db uxtb r3, r3 808a3ca: 461a mov r2, r3 808a3cc: 4b1c ldr r3, [pc, #112] ; (808a440 ) 808a3ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a3d2: 461a mov r2, r3 808a3d4: 216a movs r1, #106 ; 0x6a 808a3d6: 20d6 movs r0, #214 ; 0xd6 808a3d8: f7ca fec2 bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808a3dc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a3e0: b2db uxtb r3, r3 808a3e2: 461a mov r2, r3 808a3e4: 4b16 ldr r3, [pc, #88] ; (808a440 ) 808a3e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a3ea: 461a mov r2, r3 808a3ec: 216a movs r1, #106 ; 0x6a 808a3ee: 20e6 movs r0, #230 ; 0xe6 808a3f0: f7ca feb6 bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 808a3f4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808a3f8: b2db uxtb r3, r3 808a3fa: 461a mov r2, r3 808a3fc: 4b10 ldr r3, [pc, #64] ; (808a440 ) 808a3fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a402: 461a mov r2, r3 808a404: 216a movs r1, #106 ; 0x6a 808a406: 20f6 movs r0, #246 ; 0xf6 808a408: f7ca feaa bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 808a40c: 4a0e ldr r2, [pc, #56] ; (808a448 ) 808a40e: 216a movs r1, #106 ; 0x6a 808a410: f44f 708b mov.w r0, #278 ; 0x116 808a414: f7ca fea4 bl 8055160 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808a418: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808a41c: b2db uxtb r3, r3 808a41e: 461a mov r2, r3 808a420: 4b07 ldr r3, [pc, #28] ; (808a440 ) 808a422: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a426: 461a mov r2, r3 808a428: 216a movs r1, #106 ; 0x6a 808a42a: f44f 7093 mov.w r0, #294 ; 0x126 808a42e: f7ca fe97 bl 8055160 808a432: e06d b.n 808a510 808a434: 20020070 .word 0x20020070 808a438: ff0a0f1f .word 0xff0a0f1f 808a43c: 200216a4 .word 0x200216a4 808a440: 2002096c .word 0x2002096c 808a444: ffd8aa57 .word 0xffd8aa57 808a448: 080d3b58 .word 0x080d3b58 } else if(menupos == DiagMax_IKD) 808a44c: 4bc4 ldr r3, [pc, #784] ; (808a760 ) 808a44e: 781b ldrb r3, [r3, #0] 808a450: b2db uxtb r3, r3 808a452: 2b0a cmp r3, #10 808a454: d15c bne.n 808a510 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a456: 49c3 ldr r1, [pc, #780] ; (808a764 ) 808a458: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a45c: f7ca f8d8 bl 8054610 if(blk) 808a460: 4bc1 ldr r3, [pc, #772] ; (808a768 ) 808a462: 681b ldr r3, [r3, #0] 808a464: 2b00 cmp r3, #0 808a466: d00c beq.n 808a482 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808a468: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808a46c: b2db uxtb r3, r3 808a46e: 461a mov r2, r3 808a470: 4bbe ldr r3, [pc, #760] ; (808a76c ) 808a472: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a476: 461a mov r2, r3 808a478: 216a movs r1, #106 ; 0x6a 808a47a: f44f 7093 mov.w r0, #294 ; 0x126 808a47e: f7ca fe6f bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a482: 49b8 ldr r1, [pc, #736] ; (808a764 ) 808a484: 48ba ldr r0, [pc, #744] ; (808a770 ) 808a486: f7ca f8c3 bl 8054610 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808a48a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a48e: b2db uxtb r3, r3 808a490: 461a mov r2, r3 808a492: 4bb6 ldr r3, [pc, #728] ; (808a76c ) 808a494: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a498: 461a mov r2, r3 808a49a: 216a movs r1, #106 ; 0x6a 808a49c: 20c6 movs r0, #198 ; 0xc6 808a49e: f7ca fe5f bl 8055160 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808a4a2: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a4a6: b2db uxtb r3, r3 808a4a8: 461a mov r2, r3 808a4aa: 4bb0 ldr r3, [pc, #704] ; (808a76c ) 808a4ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a4b0: 461a mov r2, r3 808a4b2: 216a movs r1, #106 ; 0x6a 808a4b4: 20d6 movs r0, #214 ; 0xd6 808a4b6: f7ca fe53 bl 8055160 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 808a4ba: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a4be: b2db uxtb r3, r3 808a4c0: 461a mov r2, r3 808a4c2: 4baa ldr r3, [pc, #680] ; (808a76c ) 808a4c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a4c8: 461a mov r2, r3 808a4ca: 216a movs r1, #106 ; 0x6a 808a4cc: 20e6 movs r0, #230 ; 0xe6 808a4ce: f7ca fe47 bl 8055160 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 808a4d2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808a4d6: b2db uxtb r3, r3 808a4d8: 461a mov r2, r3 808a4da: 4ba4 ldr r3, [pc, #656] ; (808a76c ) 808a4dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a4e0: 461a mov r2, r3 808a4e2: 216a movs r1, #106 ; 0x6a 808a4e4: 20f6 movs r0, #246 ; 0xf6 808a4e6: f7ca fe3b bl 8055160 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808a4ea: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808a4ee: b2db uxtb r3, r3 808a4f0: 461a mov r2, r3 808a4f2: 4b9e ldr r3, [pc, #632] ; (808a76c ) 808a4f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808a4f8: 461a mov r2, r3 808a4fa: 216a movs r1, #106 ; 0x6a 808a4fc: f44f 7083 mov.w r0, #262 ; 0x106 808a500: f7ca fe2e bl 8055160 LCD_DisplayString(278, LCD_LINE_6, "."); 808a504: 4a9b ldr r2, [pc, #620] ; (808a774 ) 808a506: 216a movs r1, #106 ; 0x6a 808a508: f44f 708b mov.w r0, #278 ; 0x116 808a50c: f7ca fe28 bl 8055160 } // if(menupos < DiagMax_IDT) 808a510: 4b93 ldr r3, [pc, #588] ; (808a760 ) 808a512: 781b ldrb r3, [r3, #0] 808a514: b2db uxtb r3, r3 808a516: 2b04 cmp r3, #4 808a518: f200 80b9 bhi.w 808a68e { i = 0; 808a51c: 2300 movs r3, #0 808a51e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808a522: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808a526: 223c movs r2, #60 ; 0x3c 808a528: 2100 movs r1, #0 808a52a: 4618 mov r0, r3 808a52c: f046 ff38 bl 80d13a0 if(idt2 != 0) 808a530: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a534: b2db uxtb r3, r3 808a536: 2b00 cmp r3, #0 808a538: d00c beq.n 808a554 str2[i++] = idt2 + 48; 808a53a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a53e: 1c5a adds r2, r3, #1 808a540: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a544: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 808a548: b2d2 uxtb r2, r2 808a54a: 3230 adds r2, #48 ; 0x30 808a54c: b2d1 uxtb r1, r2 808a54e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808a552: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 808a554: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a558: b2db uxtb r3, r3 808a55a: 2b00 cmp r3, #0 808a55c: d104 bne.n 808a568 808a55e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a562: b2db uxtb r3, r3 808a564: 2b00 cmp r3, #0 808a566: d00c beq.n 808a582 str2[i++] = iet2 + 48; 808a568: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a56c: 1c5a adds r2, r3, #1 808a56e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a572: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 808a576: b2d2 uxtb r2, r2 808a578: 3230 adds r2, #48 ; 0x30 808a57a: b2d1 uxtb r1, r2 808a57c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808a580: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808a582: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a586: b2db uxtb r3, r3 808a588: 2b00 cmp r3, #0 808a58a: d109 bne.n 808a5a0 808a58c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a590: b2db uxtb r3, r3 808a592: 2b00 cmp r3, #0 808a594: d104 bne.n 808a5a0 808a596: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a59a: b2db uxtb r3, r3 808a59c: 2b00 cmp r3, #0 808a59e: d00c beq.n 808a5ba str2[i++] = ies2 + 48; 808a5a0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a5a4: 1c5a adds r2, r3, #1 808a5a6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a5aa: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 808a5ae: b2d2 uxtb r2, r2 808a5b0: 3230 adds r2, #48 ; 0x30 808a5b2: b2d1 uxtb r1, r2 808a5b4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808a5b8: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808a5ba: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808a5be: b2db uxtb r3, r3 808a5c0: 2b00 cmp r3, #0 808a5c2: d10e bne.n 808a5e2 808a5c4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808a5c8: b2db uxtb r3, r3 808a5ca: 2b00 cmp r3, #0 808a5cc: d109 bne.n 808a5e2 808a5ce: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808a5d2: b2db uxtb r3, r3 808a5d4: 2b00 cmp r3, #0 808a5d6: d104 bne.n 808a5e2 808a5d8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808a5dc: b2db uxtb r3, r3 808a5de: 2b00 cmp r3, #0 808a5e0: d00c beq.n 808a5fc str2[i++] = ied2 + 48; 808a5e2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a5e6: 1c5a adds r2, r3, #1 808a5e8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a5ec: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 808a5f0: b2d2 uxtb r2, r2 808a5f2: 3230 adds r2, #48 ; 0x30 808a5f4: b2d1 uxtb r1, r2 808a5f6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808a5fa: 54d1 strb r1, [r2, r3] str2[i++] = iee2 + 48; 808a5fc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a600: 1c5a adds r2, r3, #1 808a602: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a606: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 808a60a: b2d2 uxtb r2, r2 808a60c: 3230 adds r2, #48 ; 0x30 808a60e: b2d1 uxtb r1, r2 808a610: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808a614: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808a616: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a61a: 1c5a adds r2, r3, #1 808a61c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a620: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808a624: 212e movs r1, #46 ; 0x2e 808a626: 54d1 strb r1, [r2, r3] str2[i++] = ikd2 + 48; 808a628: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a62c: 1c5a adds r2, r3, #1 808a62e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a632: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 808a636: b2d2 uxtb r2, r2 808a638: 3230 adds r2, #48 ; 0x30 808a63a: b2d1 uxtb r1, r2 808a63c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808a640: 54d1 strb r1, [r2, r3] if(pardata.OPTIONS & 0x4) 808a642: 4b4d ldr r3, [pc, #308] ; (808a778 ) 808a644: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808a648: f003 0304 and.w r3, r3, #4 808a64c: 2b00 cmp r3, #0 808a64e: d003 beq.n 808a658 cl2 = LCD_COLOR_GRAY; 808a650: 4b4a ldr r3, [pc, #296] ; (808a77c ) 808a652: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808a656: e002 b.n 808a65e else cl2 = LCD_COLOR_MY_YELLOW; 808a658: 4b45 ldr r3, [pc, #276] ; (808a770 ) 808a65a: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == DiagMax_ALL) 808a65e: 4b40 ldr r3, [pc, #256] ; (808a760 ) 808a660: 781b ldrb r3, [r3, #0] 808a662: b2db uxtb r3, r3 808a664: 2b03 cmp r3, #3 808a666: d105 bne.n 808a674 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a668: 493e ldr r1, [pc, #248] ; (808a764 ) 808a66a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a66e: f7c9 ffcf bl 8054610 808a672: e004 b.n 808a67e else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808a674: 493b ldr r1, [pc, #236] ; (808a764 ) 808a676: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808a67a: f7c9 ffc9 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_6, str2); 808a67e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808a682: 461a mov r2, r3 808a684: 216a movs r1, #106 ; 0x6a 808a686: f44f 7082 mov.w r0, #260 ; 0x104 808a68a: f7ca fd81 bl 8055190 } //asd if(pardata.OPTIONS & 0x4) 808a68e: 4b3a ldr r3, [pc, #232] ; (808a778 ) 808a690: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808a694: f003 0304 and.w r3, r3, #4 808a698: 2b00 cmp r3, #0 808a69a: f00d 87b2 beq.w 8098602 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808a69e: 4931 ldr r1, [pc, #196] ; (808a764 ) 808a6a0: 4837 ldr r0, [pc, #220] ; (808a780 ) 808a6a2: f7c9 ffb5 bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_5+2, 6, 6); 808a6a6: 2306 movs r3, #6 808a6a8: 2206 movs r2, #6 808a6aa: 215f movs r1, #95 ; 0x5f 808a6ac: f240 1001 movw r0, #257 ; 0x101 808a6b0: f7ca fc3c bl 8054f2c //LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); // BSP_LCD_FillRect(255, CHECKBOX_LINE_5, 10, 10); } break; 808a6b4: f00d bfa5 b.w 8098602 case PARAM_DIAGN_1: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 808a6b8: 492a ldr r1, [pc, #168] ; (808a764 ) 808a6ba: 4832 ldr r0, [pc, #200] ; (808a784 ) 808a6bc: f7c9 ffa8 bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 808a6c0: 23c9 movs r3, #201 ; 0xc9 808a6c2: f44f 729d mov.w r2, #314 ; 0x13a 808a6c6: 2123 movs r1, #35 ; 0x23 808a6c8: 2002 movs r0, #2 808a6ca: f7ca faa7 bl 8054c1c //**************************************************************** for(i = 0; i < 8; i++) 808a6ce: 2300 movs r3, #0 808a6d0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 808a6d4: e11e b.n 808a914 { memset(str, 0, sizeof(str)); 808a6d6: f507 733b add.w r3, r7, #748 ; 0x2ec 808a6da: 223c movs r2, #60 ; 0x3c 808a6dc: 2100 movs r1, #0 808a6de: 4618 mov r0, r3 808a6e0: f046 fe5e bl 80d13a0 memset(str1, 0, sizeof(str1)); 808a6e4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808a6e8: f44f 7280 mov.w r2, #256 ; 0x100 808a6ec: 2100 movs r1, #0 808a6ee: 4618 mov r0, r3 808a6f0: f046 fe56 bl 80d13a0 memset(&s[i][0], 0, 40u); 808a6f4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808a6f8: f107 0114 add.w r1, r7, #20 808a6fc: 4613 mov r3, r2 808a6fe: 009b lsls r3, r3, #2 808a700: 4413 add r3, r2 808a702: 00db lsls r3, r3, #3 808a704: 440b add r3, r1 808a706: 2228 movs r2, #40 ; 0x28 808a708: 2100 movs r1, #0 808a70a: 4618 mov r0, r3 808a70c: f046 fe48 bl 80d13a0 memcpy(str, (void *) &pardata.DIAGN_NAME[i][0], 40); 808a710: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808a714: 4613 mov r3, r2 808a716: 009b lsls r3, r3, #2 808a718: 4413 add r3, r2 808a71a: 00db lsls r3, r3, #3 808a71c: 33d8 adds r3, #216 ; 0xd8 808a71e: 4a16 ldr r2, [pc, #88] ; (808a778 ) 808a720: 4413 add r3, r2 808a722: 1d19 adds r1, r3, #4 808a724: f507 733b add.w r3, r7, #748 ; 0x2ec 808a728: 2228 movs r2, #40 ; 0x28 808a72a: 4618 mov r0, r3 808a72c: f046 fe2d bl 80d138a l = strlen(str); 808a730: f507 733b add.w r3, r7, #748 ; 0x2ec 808a734: 4618 mov r0, r3 808a736: f795 fded bl 8020314 808a73a: 4603 mov r3, r0 808a73c: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l == 0) 808a740: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808a744: 2b00 cmp r3, #0 808a746: d15f bne.n 808a808 { if(pardata.LANG == RUS) 808a748: 4b0b ldr r3, [pc, #44] ; (808a778 ) 808a74a: 7b1b ldrb r3, [r3, #12] 808a74c: b2db uxtb r3, r3 808a74e: 2b00 cmp r3, #0 808a750: d11c bne.n 808a78c strcpy(str, "Ïðîãðàììà"); 808a752: f507 733b add.w r3, r7, #748 ; 0x2ec 808a756: 4a0c ldr r2, [pc, #48] ; (808a788 ) 808a758: ca07 ldmia r2, {r0, r1, r2} 808a75a: c303 stmia r3!, {r0, r1} 808a75c: 801a strh r2, [r3, #0] 808a75e: e01c b.n 808a79a 808a760: 20020070 .word 0x20020070 808a764: ff0a0f1f .word 0xff0a0f1f 808a768: 200216a4 .word 0x200216a4 808a76c: 2002096c .word 0x2002096c 808a770: ffd8aa57 .word 0xffd8aa57 808a774: 080d3b58 .word 0x080d3b58 808a778: 20023ea8 .word 0x20023ea8 808a77c: ff808080 .word 0xff808080 808a780: ff404040 .word 0xff404040 808a784: ffd3d3d3 .word 0xffd3d3d3 808a788: 080d43f8 .word 0x080d43f8 else strcpy(str, "Program"); 808a78c: f507 733b add.w r3, r7, #748 ; 0x2ec 808a790: 4acd ldr r2, [pc, #820] ; (808aac8 ) 808a792: e892 0003 ldmia.w r2, {r0, r1} 808a796: e883 0003 stmia.w r3, {r0, r1} l = strlen(str); 808a79a: f507 733b add.w r3, r7, #748 ; 0x2ec 808a79e: 4618 mov r0, r3 808a7a0: f795 fdb8 bl 8020314 808a7a4: 4603 mov r3, r0 808a7a6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l++] = ' '; 808a7aa: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808a7ae: 1c5a adds r2, r3, #1 808a7b0: f8c7 23f4 str.w r2, [r7, #1012] ; 0x3f4 808a7b4: f507 723b add.w r2, r7, #748 ; 0x2ec 808a7b8: 2120 movs r1, #32 808a7ba: 54d1 strb r1, [r2, r3] str[l++] = (char) (i + 49); 808a7bc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808a7c0: 1c5a adds r2, r3, #1 808a7c2: f8c7 23f4 str.w r2, [r7, #1012] ; 0x3f4 808a7c6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808a7ca: b2d2 uxtb r2, r2 808a7cc: 3231 adds r2, #49 ; 0x31 808a7ce: b2d1 uxtb r1, r2 808a7d0: f507 723b add.w r2, r7, #748 ; 0x2ec 808a7d4: 54d1 strb r1, [r2, r3] str[l++] = 0; 808a7d6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808a7da: 1c5a adds r2, r3, #1 808a7dc: f8c7 23f4 str.w r2, [r7, #1012] ; 0x3f4 808a7e0: f507 723b add.w r2, r7, #748 ; 0x2ec 808a7e4: 2100 movs r1, #0 808a7e6: 54d1 strb r1, [r2, r3] strcpy(&s[i][0], str); 808a7e8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808a7ec: f107 0114 add.w r1, r7, #20 808a7f0: 4613 mov r3, r2 808a7f2: 009b lsls r3, r3, #2 808a7f4: 4413 add r3, r2 808a7f6: 00db lsls r3, r3, #3 808a7f8: 440b add r3, r1 808a7fa: f507 723b add.w r2, r7, #748 ; 0x2ec 808a7fe: 4611 mov r1, r2 808a800: 4618 mov r0, r3 808a802: f046 feea bl 80d15da 808a806: e080 b.n 808a90a } else { if(l < 27) 808a808: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808a80c: 2b1a cmp r3, #26 808a80e: d808 bhi.n 808a822 { strcpy(str1, str); 808a810: f507 723b add.w r2, r7, #748 ; 0x2ec 808a814: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808a818: 4611 mov r1, r2 808a81a: 4618 mov r0, r3 808a81c: f046 fedd bl 80d15da 808a820: e064 b.n 808a8ec } else { memset(str1, 0x20, sizeof(str1)); 808a822: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808a826: f44f 7280 mov.w r2, #256 ; 0x100 808a82a: 2120 movs r1, #32 808a82c: 4618 mov r0, r3 808a82e: f046 fdb7 bl 80d13a0 if(tme <= l) 808a832: 4ba6 ldr r3, [pc, #664] ; (808aacc ) 808a834: 681a ldr r2, [r3, #0] 808a836: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808a83a: 429a cmp r2, r3 808a83c: d822 bhi.n 808a884 { if(l - tme >= 26) 808a83e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808a842: 4ba2 ldr r3, [pc, #648] ; (808aacc ) 808a844: 681b ldr r3, [r3, #0] 808a846: 1ad3 subs r3, r2, r3 808a848: 2b19 cmp r3, #25 808a84a: d90b bls.n 808a864 memcpy(str1, &str[tme], 26); 808a84c: 4b9f ldr r3, [pc, #636] ; (808aacc ) 808a84e: 681b ldr r3, [r3, #0] 808a850: f507 723b add.w r2, r7, #748 ; 0x2ec 808a854: 18d1 adds r1, r2, r3 808a856: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808a85a: 221a movs r2, #26 808a85c: 4618 mov r0, r3 808a85e: f046 fd94 bl 80d138a 808a862: e022 b.n 808a8aa else memcpy(str1, &str[tme], l - tme); 808a864: 4b99 ldr r3, [pc, #612] ; (808aacc ) 808a866: 681b ldr r3, [r3, #0] 808a868: f507 723b add.w r2, r7, #748 ; 0x2ec 808a86c: 18d1 adds r1, r2, r3 808a86e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808a872: 4b96 ldr r3, [pc, #600] ; (808aacc ) 808a874: 681b ldr r3, [r3, #0] 808a876: 1ad2 subs r2, r2, r3 808a878: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808a87c: 4618 mov r0, r3 808a87e: f046 fd84 bl 80d138a 808a882: e012 b.n 808a8aa } else { memcpy(&str1[26 - (tme - l)], str, tme - l); 808a884: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808a888: 4b90 ldr r3, [pc, #576] ; (808aacc ) 808a88a: 681b ldr r3, [r3, #0] 808a88c: 1ad3 subs r3, r2, r3 808a88e: 331a adds r3, #26 808a890: f507 72f6 add.w r2, r7, #492 ; 0x1ec 808a894: 18d0 adds r0, r2, r3 808a896: 4b8d ldr r3, [pc, #564] ; (808aacc ) 808a898: 681a ldr r2, [r3, #0] 808a89a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808a89e: 1ad2 subs r2, r2, r3 808a8a0: f507 733b add.w r3, r7, #748 ; 0x2ec 808a8a4: 4619 mov r1, r3 808a8a6: f046 fd70 bl 80d138a } str1[27] = '\0'; 808a8aa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808a8ae: 2200 movs r2, #0 808a8b0: 76da strb r2, [r3, #27] tt++; 808a8b2: 4b87 ldr r3, [pc, #540] ; (808aad0 ) 808a8b4: 781b ldrb r3, [r3, #0] 808a8b6: 3301 adds r3, #1 808a8b8: b2da uxtb r2, r3 808a8ba: 4b85 ldr r3, [pc, #532] ; (808aad0 ) 808a8bc: 701a strb r2, [r3, #0] if(tt >= 2) 808a8be: 4b84 ldr r3, [pc, #528] ; (808aad0 ) 808a8c0: 781b ldrb r3, [r3, #0] 808a8c2: 2b01 cmp r3, #1 808a8c4: d912 bls.n 808a8ec { tt = 0; 808a8c6: 4b82 ldr r3, [pc, #520] ; (808aad0 ) 808a8c8: 2200 movs r2, #0 808a8ca: 701a strb r2, [r3, #0] tme++; 808a8cc: 4b7f ldr r3, [pc, #508] ; (808aacc ) 808a8ce: 681b ldr r3, [r3, #0] 808a8d0: 3301 adds r3, #1 808a8d2: 4a7e ldr r2, [pc, #504] ; (808aacc ) 808a8d4: 6013 str r3, [r2, #0] if(26 - (tme - l) == 0) 808a8d6: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808a8da: 4b7c ldr r3, [pc, #496] ; (808aacc ) 808a8dc: 681b ldr r3, [r3, #0] 808a8de: 1ad3 subs r3, r2, r3 808a8e0: f113 0f1a cmn.w r3, #26 808a8e4: d102 bne.n 808a8ec { tme = 0; 808a8e6: 4b79 ldr r3, [pc, #484] ; (808aacc ) 808a8e8: 2200 movs r2, #0 808a8ea: 601a str r2, [r3, #0] } } } strcpy(&s[i][0], str1); 808a8ec: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808a8f0: f107 0114 add.w r1, r7, #20 808a8f4: 4613 mov r3, r2 808a8f6: 009b lsls r3, r3, #2 808a8f8: 4413 add r3, r2 808a8fa: 00db lsls r3, r3, #3 808a8fc: 440b add r3, r1 808a8fe: f507 72f6 add.w r2, r7, #492 ; 0x1ec 808a902: 4611 mov r1, r2 808a904: 4618 mov r0, r3 808a906: f046 fe68 bl 80d15da for(i = 0; i < 8; i++) 808a90a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a90e: 3301 adds r3, #1 808a910: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 808a914: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a918: 2b07 cmp r3, #7 808a91a: f67f aedc bls.w 808a6d6 } } //**************************************************************** k = 0; 808a91e: 2300 movs r3, #0 808a920: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(menupos == Diag1) 808a924: 4b6b ldr r3, [pc, #428] ; (808aad4 ) 808a926: 781b ldrb r3, [r3, #0] 808a928: b2db uxtb r3, r3 808a92a: 2b00 cmp r3, #0 808a92c: d105 bne.n 808a93a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a92e: 496a ldr r1, [pc, #424] ; (808aad8 ) 808a930: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a934: f7c9 fe6c bl 8054610 808a938: e004 b.n 808a944 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a93a: 4967 ldr r1, [pc, #412] ; (808aad8 ) 808a93c: f04f 30ff mov.w r0, #4294967295 808a940: f7c9 fe66 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, &s[k++][0]); 808a944: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a948: 1c53 adds r3, r2, #1 808a94a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808a94e: f107 0114 add.w r1, r7, #20 808a952: 4613 mov r3, r2 808a954: 009b lsls r3, r3, #2 808a956: 4413 add r3, r2 808a958: 00db lsls r3, r3, #3 808a95a: 440b add r3, r1 808a95c: 461a mov r2, r3 808a95e: 213a movs r1, #58 ; 0x3a 808a960: 200a movs r0, #10 808a962: f7ca fbfd bl 8055160 if(menupos == Diag2) 808a966: 4b5b ldr r3, [pc, #364] ; (808aad4 ) 808a968: 781b ldrb r3, [r3, #0] 808a96a: b2db uxtb r3, r3 808a96c: 2b01 cmp r3, #1 808a96e: d105 bne.n 808a97c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a970: 4959 ldr r1, [pc, #356] ; (808aad8 ) 808a972: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a976: f7c9 fe4b bl 8054610 808a97a: e004 b.n 808a986 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a97c: 4956 ldr r1, [pc, #344] ; (808aad8 ) 808a97e: f04f 30ff mov.w r0, #4294967295 808a982: f7c9 fe45 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, &s[k++][0]); 808a986: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a98a: 1c53 adds r3, r2, #1 808a98c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808a990: f107 0114 add.w r1, r7, #20 808a994: 4613 mov r3, r2 808a996: 009b lsls r3, r3, #2 808a998: 4413 add r3, r2 808a99a: 00db lsls r3, r3, #3 808a99c: 440b add r3, r1 808a99e: 461a mov r2, r3 808a9a0: 214a movs r1, #74 ; 0x4a 808a9a2: 200a movs r0, #10 808a9a4: f7ca fbdc bl 8055160 if(menupos == Diag3) 808a9a8: 4b4a ldr r3, [pc, #296] ; (808aad4 ) 808a9aa: 781b ldrb r3, [r3, #0] 808a9ac: b2db uxtb r3, r3 808a9ae: 2b02 cmp r3, #2 808a9b0: d105 bne.n 808a9be LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a9b2: 4949 ldr r1, [pc, #292] ; (808aad8 ) 808a9b4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a9b8: f7c9 fe2a bl 8054610 808a9bc: e004 b.n 808a9c8 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a9be: 4946 ldr r1, [pc, #280] ; (808aad8 ) 808a9c0: f04f 30ff mov.w r0, #4294967295 808a9c4: f7c9 fe24 bl 8054610 LCD_DisplayString(10, LCD_LINE_5, &s[k++][0]); 808a9c8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a9cc: 1c53 adds r3, r2, #1 808a9ce: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808a9d2: f107 0114 add.w r1, r7, #20 808a9d6: 4613 mov r3, r2 808a9d8: 009b lsls r3, r3, #2 808a9da: 4413 add r3, r2 808a9dc: 00db lsls r3, r3, #3 808a9de: 440b add r3, r1 808a9e0: 461a mov r2, r3 808a9e2: 215a movs r1, #90 ; 0x5a 808a9e4: 200a movs r0, #10 808a9e6: f7ca fbbb bl 8055160 if(menupos == Diag4) 808a9ea: 4b3a ldr r3, [pc, #232] ; (808aad4 ) 808a9ec: 781b ldrb r3, [r3, #0] 808a9ee: b2db uxtb r3, r3 808a9f0: 2b03 cmp r3, #3 808a9f2: d105 bne.n 808aa00 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a9f4: 4938 ldr r1, [pc, #224] ; (808aad8 ) 808a9f6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a9fa: f7c9 fe09 bl 8054610 808a9fe: e004 b.n 808aa0a else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808aa00: 4935 ldr r1, [pc, #212] ; (808aad8 ) 808aa02: f04f 30ff mov.w r0, #4294967295 808aa06: f7c9 fe03 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, &s[k++][0]); 808aa0a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808aa0e: 1c53 adds r3, r2, #1 808aa10: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808aa14: f107 0114 add.w r1, r7, #20 808aa18: 4613 mov r3, r2 808aa1a: 009b lsls r3, r3, #2 808aa1c: 4413 add r3, r2 808aa1e: 00db lsls r3, r3, #3 808aa20: 440b add r3, r1 808aa22: 461a mov r2, r3 808aa24: 216a movs r1, #106 ; 0x6a 808aa26: 200a movs r0, #10 808aa28: f7ca fb9a bl 8055160 if(menupos == Diag5) 808aa2c: 4b29 ldr r3, [pc, #164] ; (808aad4 ) 808aa2e: 781b ldrb r3, [r3, #0] 808aa30: b2db uxtb r3, r3 808aa32: 2b04 cmp r3, #4 808aa34: d105 bne.n 808aa42 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808aa36: 4928 ldr r1, [pc, #160] ; (808aad8 ) 808aa38: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808aa3c: f7c9 fde8 bl 8054610 808aa40: e004 b.n 808aa4c else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808aa42: 4925 ldr r1, [pc, #148] ; (808aad8 ) 808aa44: f04f 30ff mov.w r0, #4294967295 808aa48: f7c9 fde2 bl 8054610 LCD_DisplayString(10, LCD_LINE_7, &s[k++][0]); 808aa4c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808aa50: 1c53 adds r3, r2, #1 808aa52: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808aa56: f107 0114 add.w r1, r7, #20 808aa5a: 4613 mov r3, r2 808aa5c: 009b lsls r3, r3, #2 808aa5e: 4413 add r3, r2 808aa60: 00db lsls r3, r3, #3 808aa62: 440b add r3, r1 808aa64: 461a mov r2, r3 808aa66: 217a movs r1, #122 ; 0x7a 808aa68: 200a movs r0, #10 808aa6a: f7ca fb79 bl 8055160 if(menupos == Diag6) 808aa6e: 4b19 ldr r3, [pc, #100] ; (808aad4 ) 808aa70: 781b ldrb r3, [r3, #0] 808aa72: b2db uxtb r3, r3 808aa74: 2b05 cmp r3, #5 808aa76: d105 bne.n 808aa84 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808aa78: 4917 ldr r1, [pc, #92] ; (808aad8 ) 808aa7a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808aa7e: f7c9 fdc7 bl 8054610 808aa82: e004 b.n 808aa8e else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808aa84: 4914 ldr r1, [pc, #80] ; (808aad8 ) 808aa86: f04f 30ff mov.w r0, #4294967295 808aa8a: f7c9 fdc1 bl 8054610 LCD_DisplayString(10, LCD_LINE_8, &s[k++][0]); 808aa8e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808aa92: 1c53 adds r3, r2, #1 808aa94: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808aa98: f107 0114 add.w r1, r7, #20 808aa9c: 4613 mov r3, r2 808aa9e: 009b lsls r3, r3, #2 808aaa0: 4413 add r3, r2 808aaa2: 00db lsls r3, r3, #3 808aaa4: 440b add r3, r1 808aaa6: 461a mov r2, r3 808aaa8: 218a movs r1, #138 ; 0x8a 808aaaa: 200a movs r0, #10 808aaac: f7ca fb58 bl 8055160 if(menupos == Diag7) 808aab0: 4b08 ldr r3, [pc, #32] ; (808aad4 ) 808aab2: 781b ldrb r3, [r3, #0] 808aab4: b2db uxtb r3, r3 808aab6: 2b06 cmp r3, #6 808aab8: d110 bne.n 808aadc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808aaba: 4907 ldr r1, [pc, #28] ; (808aad8 ) 808aabc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808aac0: f7c9 fda6 bl 8054610 808aac4: e00f b.n 808aae6 808aac6: bf00 nop 808aac8: 080d4404 .word 0x080d4404 808aacc: 200216b0 .word 0x200216b0 808aad0: 200216b4 .word 0x200216b4 808aad4: 20020070 .word 0x20020070 808aad8: ff0a0f1f .word 0xff0a0f1f else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808aadc: 494d ldr r1, [pc, #308] ; (808ac14 ) 808aade: f04f 30ff mov.w r0, #4294967295 808aae2: f7c9 fd95 bl 8054610 LCD_DisplayString(10, LCD_LINE_9, &s[k++][0]); 808aae6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808aaea: 1c53 adds r3, r2, #1 808aaec: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808aaf0: f107 0114 add.w r1, r7, #20 808aaf4: 4613 mov r3, r2 808aaf6: 009b lsls r3, r3, #2 808aaf8: 4413 add r3, r2 808aafa: 00db lsls r3, r3, #3 808aafc: 440b add r3, r1 808aafe: 461a mov r2, r3 808ab00: 219a movs r1, #154 ; 0x9a 808ab02: 200a movs r0, #10 808ab04: f7ca fb2c bl 8055160 if(menupos == Diag8) 808ab08: 4b43 ldr r3, [pc, #268] ; (808ac18 ) 808ab0a: 781b ldrb r3, [r3, #0] 808ab0c: b2db uxtb r3, r3 808ab0e: 2b07 cmp r3, #7 808ab10: d105 bne.n 808ab1e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ab12: 4940 ldr r1, [pc, #256] ; (808ac14 ) 808ab14: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ab18: f7c9 fd7a bl 8054610 808ab1c: e004 b.n 808ab28 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ab1e: 493d ldr r1, [pc, #244] ; (808ac14 ) 808ab20: f04f 30ff mov.w r0, #4294967295 808ab24: f7c9 fd74 bl 8054610 LCD_DisplayString(10, LCD_LINE_10, &s[k++][0]); 808ab28: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ab2c: 1c53 adds r3, r2, #1 808ab2e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808ab32: f107 0114 add.w r1, r7, #20 808ab36: 4613 mov r3, r2 808ab38: 009b lsls r3, r3, #2 808ab3a: 4413 add r3, r2 808ab3c: 00db lsls r3, r3, #3 808ab3e: 440b add r3, r1 808ab40: 461a mov r2, r3 808ab42: 21aa movs r1, #170 ; 0xaa 808ab44: 200a movs r0, #10 808ab46: f7ca fb0b bl 8055160 break; 808ab4a: f00d bd6f b.w 809862c case PARAM_DIAGN_2: //todo LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 808ab4e: 4931 ldr r1, [pc, #196] ; (808ac14 ) 808ab50: 4832 ldr r0, [pc, #200] ; (808ac1c ) 808ab52: f7c9 fd5d bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 808ab56: 23c9 movs r3, #201 ; 0xc9 808ab58: f44f 729d mov.w r2, #314 ; 0x13a 808ab5c: 2123 movs r1, #35 ; 0x23 808ab5e: 2002 movs r0, #2 808ab60: f7ca f85c bl 8054c1c //**************************************************************** memcpy(str, (void *) &pardata.DIAGN_NAME[CURR_POINT][0], 40u); 808ab64: 4b2e ldr r3, [pc, #184] ; (808ac20 ) 808ab66: 781b ldrb r3, [r3, #0] 808ab68: b2db uxtb r3, r3 808ab6a: 461a mov r2, r3 808ab6c: 4613 mov r3, r2 808ab6e: 009b lsls r3, r3, #2 808ab70: 4413 add r3, r2 808ab72: 00db lsls r3, r3, #3 808ab74: 33d8 adds r3, #216 ; 0xd8 808ab76: 4a2b ldr r2, [pc, #172] ; (808ac24 ) 808ab78: 4413 add r3, r2 808ab7a: 1d19 adds r1, r3, #4 808ab7c: f507 733b add.w r3, r7, #748 ; 0x2ec 808ab80: 2228 movs r2, #40 ; 0x28 808ab82: 4618 mov r0, r3 808ab84: f046 fc01 bl 80d138a l = strlen(str); 808ab88: f507 733b add.w r3, r7, #748 ; 0x2ec 808ab8c: 4618 mov r0, r3 808ab8e: f795 fbc1 bl 8020314 808ab92: 4603 mov r3, r0 808ab94: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 808ab98: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808ab9c: 2b09 cmp r3, #9 808ab9e: d808 bhi.n 808abb2 { strcpy(str1, str); 808aba0: f507 723b add.w r2, r7, #748 ; 0x2ec 808aba4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808aba8: 4611 mov r1, r2 808abaa: 4618 mov r0, r3 808abac: f046 fd15 bl 80d15da 808abb0: e070 b.n 808ac94 } else { memset(str1, 0x20, sizeof(str1)); 808abb2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808abb6: f44f 7280 mov.w r2, #256 ; 0x100 808abba: 2120 movs r1, #32 808abbc: 4618 mov r0, r3 808abbe: f046 fbef bl 80d13a0 if(tme <= l) 808abc2: 4b19 ldr r3, [pc, #100] ; (808ac28 ) 808abc4: 681a ldr r2, [r3, #0] 808abc6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808abca: 429a cmp r2, r3 808abcc: d82e bhi.n 808ac2c { if(l - tme >= 9) 808abce: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808abd2: 4b15 ldr r3, [pc, #84] ; (808ac28 ) 808abd4: 681b ldr r3, [r3, #0] 808abd6: 1ad3 subs r3, r2, r3 808abd8: 2b08 cmp r3, #8 808abda: d90b bls.n 808abf4 memcpy(str1, &str[tme], 9); 808abdc: 4b12 ldr r3, [pc, #72] ; (808ac28 ) 808abde: 681b ldr r3, [r3, #0] 808abe0: f507 723b add.w r2, r7, #748 ; 0x2ec 808abe4: 18d1 adds r1, r2, r3 808abe6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808abea: 2209 movs r2, #9 808abec: 4618 mov r0, r3 808abee: f046 fbcc bl 80d138a 808abf2: e02e b.n 808ac52 else memcpy(str1, &str[tme], l - tme); 808abf4: 4b0c ldr r3, [pc, #48] ; (808ac28 ) 808abf6: 681b ldr r3, [r3, #0] 808abf8: f507 723b add.w r2, r7, #748 ; 0x2ec 808abfc: 18d1 adds r1, r2, r3 808abfe: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808ac02: 4b09 ldr r3, [pc, #36] ; (808ac28 ) 808ac04: 681b ldr r3, [r3, #0] 808ac06: 1ad2 subs r2, r2, r3 808ac08: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ac0c: 4618 mov r0, r3 808ac0e: f046 fbbc bl 80d138a 808ac12: e01e b.n 808ac52 808ac14: ff0a0f1f .word 0xff0a0f1f 808ac18: 20020070 .word 0x20020070 808ac1c: ffd3d3d3 .word 0xffd3d3d3 808ac20: 20021055 .word 0x20021055 808ac24: 20023ea8 .word 0x20023ea8 808ac28: 200216b0 .word 0x200216b0 } else { memcpy(&str1[9 - (tme - l)], str, tme - l); 808ac2c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808ac30: 4bb9 ldr r3, [pc, #740] ; (808af18 ) 808ac32: 681b ldr r3, [r3, #0] 808ac34: 1ad3 subs r3, r2, r3 808ac36: 3309 adds r3, #9 808ac38: f507 72f6 add.w r2, r7, #492 ; 0x1ec 808ac3c: 18d0 adds r0, r2, r3 808ac3e: 4bb6 ldr r3, [pc, #728] ; (808af18 ) 808ac40: 681a ldr r2, [r3, #0] 808ac42: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808ac46: 1ad2 subs r2, r2, r3 808ac48: f507 733b add.w r3, r7, #748 ; 0x2ec 808ac4c: 4619 mov r1, r3 808ac4e: f046 fb9c bl 80d138a } str1[10] = '\0'; 808ac52: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ac56: 2200 movs r2, #0 808ac58: 729a strb r2, [r3, #10] tt++; 808ac5a: 4bb0 ldr r3, [pc, #704] ; (808af1c ) 808ac5c: 781b ldrb r3, [r3, #0] 808ac5e: 3301 adds r3, #1 808ac60: b2da uxtb r2, r3 808ac62: 4bae ldr r3, [pc, #696] ; (808af1c ) 808ac64: 701a strb r2, [r3, #0] if(tt >= 4) 808ac66: 4bad ldr r3, [pc, #692] ; (808af1c ) 808ac68: 781b ldrb r3, [r3, #0] 808ac6a: 2b03 cmp r3, #3 808ac6c: d912 bls.n 808ac94 { tt = 0; 808ac6e: 4bab ldr r3, [pc, #684] ; (808af1c ) 808ac70: 2200 movs r2, #0 808ac72: 701a strb r2, [r3, #0] tme++; 808ac74: 4ba8 ldr r3, [pc, #672] ; (808af18 ) 808ac76: 681b ldr r3, [r3, #0] 808ac78: 3301 adds r3, #1 808ac7a: 4aa7 ldr r2, [pc, #668] ; (808af18 ) 808ac7c: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 808ac7e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808ac82: 4ba5 ldr r3, [pc, #660] ; (808af18 ) 808ac84: 681b ldr r3, [r3, #0] 808ac86: 1ad3 subs r3, r2, r3 808ac88: f113 0f09 cmn.w r3, #9 808ac8c: d102 bne.n 808ac94 { tme = 0; 808ac8e: 4ba2 ldr r3, [pc, #648] ; (808af18 ) 808ac90: 2200 movs r2, #0 808ac92: 601a str r2, [r3, #0] } } } //**************************************************************** LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ac94: 49a2 ldr r1, [pc, #648] ; (808af20 ) 808ac96: f04f 30ff mov.w r0, #4294967295 808ac9a: f7c9 fcb9 bl 8054610 LCD_DisplayString(12, LCD_LINE_2, "( )"); 808ac9e: 4aa1 ldr r2, [pc, #644] ; (808af24 ) 808aca0: 2127 movs r1, #39 ; 0x27 808aca2: 200c movs r0, #12 808aca4: f7ca fa5c bl 8055160 // OP1[12 + 11*4] // OP2[12 + 11*12] // OP3[12 + 11*20] k = (uint32_t) (pardata.DIAGN_HP[CURR_POINT][CURR_USL] * 10.0f); 808aca8: 4b9f ldr r3, [pc, #636] ; (808af28 ) 808acaa: 781b ldrb r3, [r3, #0] 808acac: b2db uxtb r3, r3 808acae: 4618 mov r0, r3 808acb0: 4b9e ldr r3, [pc, #632] ; (808af2c ) 808acb2: 781b ldrb r3, [r3, #0] 808acb4: b2db uxtb r3, r3 808acb6: 4619 mov r1, r3 808acb8: 4a9d ldr r2, [pc, #628] ; (808af30 ) 808acba: 0083 lsls r3, r0, #2 808acbc: 440b add r3, r1 808acbe: 3396 adds r3, #150 ; 0x96 808acc0: 009b lsls r3, r3, #2 808acc2: 4413 add r3, r2 808acc4: 3304 adds r3, #4 808acc6: edd3 7a00 vldr s15, [r3] 808acca: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808acce: ee67 7a87 vmul.f32 s15, s15, s14 808acd2: eefc 7ae7 vcvt.u32.f32 s15, s15 808acd6: ee17 3a90 vmov r3, s15 808acda: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 808acde: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808ace2: 095b lsrs r3, r3, #5 808ace4: 4a93 ldr r2, [pc, #588] ; (808af34 ) 808ace6: fba2 2303 umull r2, r3, r2, r3 808acea: 09db lsrs r3, r3, #7 808acec: b2db uxtb r3, r3 808acee: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 808acf2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808acf6: 0953 lsrs r3, r2, #5 808acf8: 498e ldr r1, [pc, #568] ; (808af34 ) 808acfa: fba1 1303 umull r1, r3, r1, r3 808acfe: 09db lsrs r3, r3, #7 808ad00: 498d ldr r1, [pc, #564] ; (808af38 ) 808ad02: fb01 f303 mul.w r3, r1, r3 808ad06: 1ad3 subs r3, r2, r3 808ad08: 4a8c ldr r2, [pc, #560] ; (808af3c ) 808ad0a: fba2 2303 umull r2, r3, r2, r3 808ad0e: 0b5b lsrs r3, r3, #13 808ad10: b2db uxtb r3, r3 808ad12: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 808ad16: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ad1a: 0953 lsrs r3, r2, #5 808ad1c: 4985 ldr r1, [pc, #532] ; (808af34 ) 808ad1e: fba1 1303 umull r1, r3, r1, r3 808ad22: 09db lsrs r3, r3, #7 808ad24: 4984 ldr r1, [pc, #528] ; (808af38 ) 808ad26: fb01 f303 mul.w r3, r1, r3 808ad2a: 1ad3 subs r3, r2, r3 808ad2c: 4a83 ldr r2, [pc, #524] ; (808af3c ) 808ad2e: fba2 1203 umull r1, r2, r2, r3 808ad32: 0b52 lsrs r2, r2, #13 808ad34: f242 7110 movw r1, #10000 ; 0x2710 808ad38: fb01 f202 mul.w r2, r1, r2 808ad3c: 1a9a subs r2, r3, r2 808ad3e: 4b80 ldr r3, [pc, #512] ; (808af40 ) 808ad40: fba3 2302 umull r2, r3, r3, r2 808ad44: 099b lsrs r3, r3, #6 808ad46: b2db uxtb r3, r3 808ad48: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808ad4c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808ad50: 095a lsrs r2, r3, #5 808ad52: 4978 ldr r1, [pc, #480] ; (808af34 ) 808ad54: fba1 1202 umull r1, r2, r1, r2 808ad58: 09d2 lsrs r2, r2, #7 808ad5a: 4977 ldr r1, [pc, #476] ; (808af38 ) 808ad5c: fb01 f202 mul.w r2, r1, r2 808ad60: 1a9a subs r2, r3, r2 808ad62: 4b76 ldr r3, [pc, #472] ; (808af3c ) 808ad64: fba3 1302 umull r1, r3, r3, r2 808ad68: 0b5b lsrs r3, r3, #13 808ad6a: f242 7110 movw r1, #10000 ; 0x2710 808ad6e: fb01 f303 mul.w r3, r1, r3 808ad72: 1ad3 subs r3, r2, r3 808ad74: 4a72 ldr r2, [pc, #456] ; (808af40 ) 808ad76: fba2 1203 umull r1, r2, r2, r3 808ad7a: 0992 lsrs r2, r2, #6 808ad7c: f44f 717a mov.w r1, #1000 ; 0x3e8 808ad80: fb01 f202 mul.w r2, r1, r2 808ad84: 1a9a subs r2, r3, r2 808ad86: 4b6f ldr r3, [pc, #444] ; (808af44 ) 808ad88: fba3 2302 umull r2, r3, r3, r2 808ad8c: 095b lsrs r3, r3, #5 808ad8e: b2db uxtb r3, r3 808ad90: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808ad94: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ad98: 0953 lsrs r3, r2, #5 808ad9a: 4966 ldr r1, [pc, #408] ; (808af34 ) 808ad9c: fba1 1303 umull r1, r3, r1, r3 808ada0: 09db lsrs r3, r3, #7 808ada2: 4965 ldr r1, [pc, #404] ; (808af38 ) 808ada4: fb01 f303 mul.w r3, r1, r3 808ada8: 1ad3 subs r3, r2, r3 808adaa: 4a64 ldr r2, [pc, #400] ; (808af3c ) 808adac: fba2 1203 umull r1, r2, r2, r3 808adb0: 0b52 lsrs r2, r2, #13 808adb2: f242 7110 movw r1, #10000 ; 0x2710 808adb6: fb01 f202 mul.w r2, r1, r2 808adba: 1a9a subs r2, r3, r2 808adbc: 4b60 ldr r3, [pc, #384] ; (808af40 ) 808adbe: fba3 1302 umull r1, r3, r3, r2 808adc2: 099b lsrs r3, r3, #6 808adc4: f44f 717a mov.w r1, #1000 ; 0x3e8 808adc8: fb01 f303 mul.w r3, r1, r3 808adcc: 1ad3 subs r3, r2, r3 808adce: 4a5d ldr r2, [pc, #372] ; (808af44 ) 808add0: fba2 1203 umull r1, r2, r2, r3 808add4: 0952 lsrs r2, r2, #5 808add6: 2164 movs r1, #100 ; 0x64 808add8: fb01 f202 mul.w r2, r1, r2 808addc: 1a9a subs r2, r3, r2 808adde: 4b5a ldr r3, [pc, #360] ; (808af48 ) 808ade0: fba3 2302 umull r2, r3, r3, r2 808ade4: 08db lsrs r3, r3, #3 808ade6: b2db uxtb r3, r3 808ade8: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808adec: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808adf0: 0953 lsrs r3, r2, #5 808adf2: 4950 ldr r1, [pc, #320] ; (808af34 ) 808adf4: fba1 1303 umull r1, r3, r1, r3 808adf8: 09db lsrs r3, r3, #7 808adfa: 494f ldr r1, [pc, #316] ; (808af38 ) 808adfc: fb01 f303 mul.w r3, r1, r3 808ae00: 1ad3 subs r3, r2, r3 808ae02: 4a4e ldr r2, [pc, #312] ; (808af3c ) 808ae04: fba2 1203 umull r1, r2, r2, r3 808ae08: 0b52 lsrs r2, r2, #13 808ae0a: f242 7110 movw r1, #10000 ; 0x2710 808ae0e: fb01 f202 mul.w r2, r1, r2 808ae12: 1a9a subs r2, r3, r2 808ae14: 4b4a ldr r3, [pc, #296] ; (808af40 ) 808ae16: fba3 1302 umull r1, r3, r3, r2 808ae1a: 099b lsrs r3, r3, #6 808ae1c: f44f 717a mov.w r1, #1000 ; 0x3e8 808ae20: fb01 f303 mul.w r3, r1, r3 808ae24: 1ad3 subs r3, r2, r3 808ae26: 4a47 ldr r2, [pc, #284] ; (808af44 ) 808ae28: fba2 1203 umull r1, r2, r2, r3 808ae2c: 0952 lsrs r2, r2, #5 808ae2e: 2164 movs r1, #100 ; 0x64 808ae30: fb01 f202 mul.w r2, r1, r2 808ae34: 1a9a subs r2, r3, r2 808ae36: 4b44 ldr r3, [pc, #272] ; (808af48 ) 808ae38: fba3 1302 umull r1, r3, r3, r2 808ae3c: 08d9 lsrs r1, r3, #3 808ae3e: 460b mov r3, r1 808ae40: 009b lsls r3, r3, #2 808ae42: 440b add r3, r1 808ae44: 005b lsls r3, r3, #1 808ae46: 1ad1 subs r1, r2, r3 808ae48: b2cb uxtb r3, r1 808ae4a: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 808ae4e: 2300 movs r3, #0 808ae50: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 808ae54: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808ae58: 220c movs r2, #12 808ae5a: 2100 movs r1, #0 808ae5c: 4618 mov r0, r3 808ae5e: f046 fa9f bl 80d13a0 if(idtHP != 0) 808ae62: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ae66: b2db uxtb r3, r3 808ae68: 2b00 cmp r3, #0 808ae6a: d00c beq.n 808ae86 strHP[i++] = idtHP + 48; 808ae6c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ae70: 1c5a adds r2, r3, #1 808ae72: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ae76: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 808ae7a: b2d2 uxtb r2, r2 808ae7c: 3230 adds r2, #48 ; 0x30 808ae7e: b2d1 uxtb r1, r2 808ae80: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808ae84: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 808ae86: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808ae8a: b2db uxtb r3, r3 808ae8c: 2b00 cmp r3, #0 808ae8e: d104 bne.n 808ae9a 808ae90: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ae94: b2db uxtb r3, r3 808ae96: 2b00 cmp r3, #0 808ae98: d00c beq.n 808aeb4 strHP[i++] = ietHP + 48; 808ae9a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ae9e: 1c5a adds r2, r3, #1 808aea0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808aea4: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 808aea8: b2d2 uxtb r2, r2 808aeaa: 3230 adds r2, #48 ; 0x30 808aeac: b2d1 uxtb r1, r2 808aeae: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808aeb2: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808aeb4: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808aeb8: b2db uxtb r3, r3 808aeba: 2b00 cmp r3, #0 808aebc: d109 bne.n 808aed2 808aebe: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808aec2: b2db uxtb r3, r3 808aec4: 2b00 cmp r3, #0 808aec6: d104 bne.n 808aed2 808aec8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808aecc: b2db uxtb r3, r3 808aece: 2b00 cmp r3, #0 808aed0: d00c beq.n 808aeec strHP[i++] = iesHP + 48; 808aed2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808aed6: 1c5a adds r2, r3, #1 808aed8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808aedc: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808aee0: b2d2 uxtb r2, r2 808aee2: 3230 adds r2, #48 ; 0x30 808aee4: b2d1 uxtb r1, r2 808aee6: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808aeea: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808aeec: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808aef0: b2db uxtb r3, r3 808aef2: 2b00 cmp r3, #0 808aef4: d12a bne.n 808af4c 808aef6: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808aefa: b2db uxtb r3, r3 808aefc: 2b00 cmp r3, #0 808aefe: d125 bne.n 808af4c 808af00: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808af04: b2db uxtb r3, r3 808af06: 2b00 cmp r3, #0 808af08: d120 bne.n 808af4c 808af0a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808af0e: b2db uxtb r3, r3 808af10: 2b00 cmp r3, #0 808af12: d028 beq.n 808af66 808af14: e01a b.n 808af4c 808af16: bf00 nop 808af18: 200216b0 .word 0x200216b0 808af1c: 200216b4 .word 0x200216b4 808af20: ff0a0f1f .word 0xff0a0f1f 808af24: 080d440c .word 0x080d440c 808af28: 20021055 .word 0x20021055 808af2c: 20021057 .word 0x20021057 808af30: 20023ea8 .word 0x20023ea8 808af34: 0a7c5ac5 .word 0x0a7c5ac5 808af38: 000186a0 .word 0x000186a0 808af3c: d1b71759 .word 0xd1b71759 808af40: 10624dd3 .word 0x10624dd3 808af44: 51eb851f .word 0x51eb851f 808af48: cccccccd .word 0xcccccccd strHP[i++] = iedHP + 48; 808af4c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808af50: 1c5a adds r2, r3, #1 808af52: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808af56: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 808af5a: b2d2 uxtb r2, r2 808af5c: 3230 adds r2, #48 ; 0x30 808af5e: b2d1 uxtb r1, r2 808af60: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808af64: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 808af66: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808af6a: 1c5a adds r2, r3, #1 808af6c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808af70: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808af74: b2d2 uxtb r2, r2 808af76: 3230 adds r2, #48 ; 0x30 808af78: b2d1 uxtb r1, r2 808af7a: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808af7e: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 808af80: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808af84: 1c5a adds r2, r3, #1 808af86: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808af8a: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808af8e: 212e movs r1, #46 ; 0x2e 808af90: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 808af92: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808af96: 1c5a adds r2, r3, #1 808af98: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808af9c: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 808afa0: b2d2 uxtb r2, r2 808afa2: 3230 adds r2, #48 ; 0x30 808afa4: b2d1 uxtb r1, r2 808afa6: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808afaa: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.DIAGN_LP[CURR_POINT][CURR_USL] * 10.0f); 808afac: 4bd4 ldr r3, [pc, #848] ; (808b300 ) 808afae: 781b ldrb r3, [r3, #0] 808afb0: b2db uxtb r3, r3 808afb2: 4618 mov r0, r3 808afb4: 4bd3 ldr r3, [pc, #844] ; (808b304 ) 808afb6: 781b ldrb r3, [r3, #0] 808afb8: b2db uxtb r3, r3 808afba: 4619 mov r1, r3 808afbc: 4ad2 ldr r2, [pc, #840] ; (808b308 ) 808afbe: 0083 lsls r3, r0, #2 808afc0: 440b add r3, r1 808afc2: 33b6 adds r3, #182 ; 0xb6 808afc4: 009b lsls r3, r3, #2 808afc6: 4413 add r3, r2 808afc8: 3304 adds r3, #4 808afca: edd3 7a00 vldr s15, [r3] 808afce: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808afd2: ee67 7a87 vmul.f32 s15, s15, s14 808afd6: eefc 7ae7 vcvt.u32.f32 s15, s15 808afda: ee17 3a90 vmov r3, s15 808afde: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 808afe2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808afe6: 095b lsrs r3, r3, #5 808afe8: 4ac8 ldr r2, [pc, #800] ; (808b30c ) 808afea: fba2 2303 umull r2, r3, r2, r3 808afee: 09db lsrs r3, r3, #7 808aff0: b2db uxtb r3, r3 808aff2: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 808aff6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808affa: 0953 lsrs r3, r2, #5 808affc: 49c3 ldr r1, [pc, #780] ; (808b30c ) 808affe: fba1 1303 umull r1, r3, r1, r3 808b002: 09db lsrs r3, r3, #7 808b004: 49c2 ldr r1, [pc, #776] ; (808b310 ) 808b006: fb01 f303 mul.w r3, r1, r3 808b00a: 1ad3 subs r3, r2, r3 808b00c: 4ac1 ldr r2, [pc, #772] ; (808b314 ) 808b00e: fba2 2303 umull r2, r3, r2, r3 808b012: 0b5b lsrs r3, r3, #13 808b014: b2db uxtb r3, r3 808b016: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 808b01a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b01e: 0953 lsrs r3, r2, #5 808b020: 49ba ldr r1, [pc, #744] ; (808b30c ) 808b022: fba1 1303 umull r1, r3, r1, r3 808b026: 09db lsrs r3, r3, #7 808b028: 49b9 ldr r1, [pc, #740] ; (808b310 ) 808b02a: fb01 f303 mul.w r3, r1, r3 808b02e: 1ad3 subs r3, r2, r3 808b030: 4ab8 ldr r2, [pc, #736] ; (808b314 ) 808b032: fba2 1203 umull r1, r2, r2, r3 808b036: 0b52 lsrs r2, r2, #13 808b038: f242 7110 movw r1, #10000 ; 0x2710 808b03c: fb01 f202 mul.w r2, r1, r2 808b040: 1a9a subs r2, r3, r2 808b042: 4bb5 ldr r3, [pc, #724] ; (808b318 ) 808b044: fba3 2302 umull r2, r3, r3, r2 808b048: 099b lsrs r3, r3, #6 808b04a: b2db uxtb r3, r3 808b04c: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808b050: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808b054: 095a lsrs r2, r3, #5 808b056: 49ad ldr r1, [pc, #692] ; (808b30c ) 808b058: fba1 1202 umull r1, r2, r1, r2 808b05c: 09d2 lsrs r2, r2, #7 808b05e: 49ac ldr r1, [pc, #688] ; (808b310 ) 808b060: fb01 f202 mul.w r2, r1, r2 808b064: 1a9a subs r2, r3, r2 808b066: 4bab ldr r3, [pc, #684] ; (808b314 ) 808b068: fba3 1302 umull r1, r3, r3, r2 808b06c: 0b5b lsrs r3, r3, #13 808b06e: f242 7110 movw r1, #10000 ; 0x2710 808b072: fb01 f303 mul.w r3, r1, r3 808b076: 1ad3 subs r3, r2, r3 808b078: 4aa7 ldr r2, [pc, #668] ; (808b318 ) 808b07a: fba2 1203 umull r1, r2, r2, r3 808b07e: 0992 lsrs r2, r2, #6 808b080: f44f 717a mov.w r1, #1000 ; 0x3e8 808b084: fb01 f202 mul.w r2, r1, r2 808b088: 1a9a subs r2, r3, r2 808b08a: 4ba4 ldr r3, [pc, #656] ; (808b31c ) 808b08c: fba3 2302 umull r2, r3, r3, r2 808b090: 095b lsrs r3, r3, #5 808b092: b2db uxtb r3, r3 808b094: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808b098: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b09c: 0953 lsrs r3, r2, #5 808b09e: 499b ldr r1, [pc, #620] ; (808b30c ) 808b0a0: fba1 1303 umull r1, r3, r1, r3 808b0a4: 09db lsrs r3, r3, #7 808b0a6: 499a ldr r1, [pc, #616] ; (808b310 ) 808b0a8: fb01 f303 mul.w r3, r1, r3 808b0ac: 1ad3 subs r3, r2, r3 808b0ae: 4a99 ldr r2, [pc, #612] ; (808b314 ) 808b0b0: fba2 1203 umull r1, r2, r2, r3 808b0b4: 0b52 lsrs r2, r2, #13 808b0b6: f242 7110 movw r1, #10000 ; 0x2710 808b0ba: fb01 f202 mul.w r2, r1, r2 808b0be: 1a9a subs r2, r3, r2 808b0c0: 4b95 ldr r3, [pc, #596] ; (808b318 ) 808b0c2: fba3 1302 umull r1, r3, r3, r2 808b0c6: 099b lsrs r3, r3, #6 808b0c8: f44f 717a mov.w r1, #1000 ; 0x3e8 808b0cc: fb01 f303 mul.w r3, r1, r3 808b0d0: 1ad3 subs r3, r2, r3 808b0d2: 4a92 ldr r2, [pc, #584] ; (808b31c ) 808b0d4: fba2 1203 umull r1, r2, r2, r3 808b0d8: 0952 lsrs r2, r2, #5 808b0da: 2164 movs r1, #100 ; 0x64 808b0dc: fb01 f202 mul.w r2, r1, r2 808b0e0: 1a9a subs r2, r3, r2 808b0e2: 4b8f ldr r3, [pc, #572] ; (808b320 ) 808b0e4: fba3 2302 umull r2, r3, r3, r2 808b0e8: 08db lsrs r3, r3, #3 808b0ea: b2db uxtb r3, r3 808b0ec: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808b0f0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b0f4: 0953 lsrs r3, r2, #5 808b0f6: 4985 ldr r1, [pc, #532] ; (808b30c ) 808b0f8: fba1 1303 umull r1, r3, r1, r3 808b0fc: 09db lsrs r3, r3, #7 808b0fe: 4984 ldr r1, [pc, #528] ; (808b310 ) 808b100: fb01 f303 mul.w r3, r1, r3 808b104: 1ad3 subs r3, r2, r3 808b106: 4a83 ldr r2, [pc, #524] ; (808b314 ) 808b108: fba2 1203 umull r1, r2, r2, r3 808b10c: 0b52 lsrs r2, r2, #13 808b10e: f242 7110 movw r1, #10000 ; 0x2710 808b112: fb01 f202 mul.w r2, r1, r2 808b116: 1a9a subs r2, r3, r2 808b118: 4b7f ldr r3, [pc, #508] ; (808b318 ) 808b11a: fba3 1302 umull r1, r3, r3, r2 808b11e: 099b lsrs r3, r3, #6 808b120: f44f 717a mov.w r1, #1000 ; 0x3e8 808b124: fb01 f303 mul.w r3, r1, r3 808b128: 1ad3 subs r3, r2, r3 808b12a: 4a7c ldr r2, [pc, #496] ; (808b31c ) 808b12c: fba2 1203 umull r1, r2, r2, r3 808b130: 0952 lsrs r2, r2, #5 808b132: 2164 movs r1, #100 ; 0x64 808b134: fb01 f202 mul.w r2, r1, r2 808b138: 1a9a subs r2, r3, r2 808b13a: 4b79 ldr r3, [pc, #484] ; (808b320 ) 808b13c: fba3 1302 umull r1, r3, r3, r2 808b140: 08d9 lsrs r1, r3, #3 808b142: 460b mov r3, r1 808b144: 009b lsls r3, r3, #2 808b146: 440b add r3, r1 808b148: 005b lsls r3, r3, #1 808b14a: 1ad1 subs r1, r2, r3 808b14c: b2cb uxtb r3, r1 808b14e: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 808b152: 2300 movs r3, #0 808b154: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 808b158: f507 73cc add.w r3, r7, #408 ; 0x198 808b15c: 220c movs r2, #12 808b15e: 2100 movs r1, #0 808b160: 4618 mov r0, r3 808b162: f046 f91d bl 80d13a0 if(idtLP != 0) 808b166: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b16a: b2db uxtb r3, r3 808b16c: 2b00 cmp r3, #0 808b16e: d00c beq.n 808b18a strLP[i++] = idtLP + 48; 808b170: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b174: 1c5a adds r2, r3, #1 808b176: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b17a: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808b17e: b2d2 uxtb r2, r2 808b180: 3230 adds r2, #48 ; 0x30 808b182: b2d1 uxtb r1, r2 808b184: f507 72cc add.w r2, r7, #408 ; 0x198 808b188: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808b18a: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b18e: b2db uxtb r3, r3 808b190: 2b00 cmp r3, #0 808b192: d104 bne.n 808b19e 808b194: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b198: b2db uxtb r3, r3 808b19a: 2b00 cmp r3, #0 808b19c: d00c beq.n 808b1b8 strLP[i++] = ietLP + 48; 808b19e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b1a2: 1c5a adds r2, r3, #1 808b1a4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b1a8: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808b1ac: b2d2 uxtb r2, r2 808b1ae: 3230 adds r2, #48 ; 0x30 808b1b0: b2d1 uxtb r1, r2 808b1b2: f507 72cc add.w r2, r7, #408 ; 0x198 808b1b6: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808b1b8: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b1bc: b2db uxtb r3, r3 808b1be: 2b00 cmp r3, #0 808b1c0: d109 bne.n 808b1d6 808b1c2: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b1c6: b2db uxtb r3, r3 808b1c8: 2b00 cmp r3, #0 808b1ca: d104 bne.n 808b1d6 808b1cc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b1d0: b2db uxtb r3, r3 808b1d2: 2b00 cmp r3, #0 808b1d4: d00c beq.n 808b1f0 strLP[i++] = iesLP + 48; 808b1d6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b1da: 1c5a adds r2, r3, #1 808b1dc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b1e0: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808b1e4: b2d2 uxtb r2, r2 808b1e6: 3230 adds r2, #48 ; 0x30 808b1e8: b2d1 uxtb r1, r2 808b1ea: f507 72cc add.w r2, r7, #408 ; 0x198 808b1ee: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808b1f0: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808b1f4: b2db uxtb r3, r3 808b1f6: 2b00 cmp r3, #0 808b1f8: d10e bne.n 808b218 808b1fa: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b1fe: b2db uxtb r3, r3 808b200: 2b00 cmp r3, #0 808b202: d109 bne.n 808b218 808b204: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b208: b2db uxtb r3, r3 808b20a: 2b00 cmp r3, #0 808b20c: d104 bne.n 808b218 808b20e: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b212: b2db uxtb r3, r3 808b214: 2b00 cmp r3, #0 808b216: d00c beq.n 808b232 strLP[i++] = iedLP + 48; 808b218: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b21c: 1c5a adds r2, r3, #1 808b21e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b222: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808b226: b2d2 uxtb r2, r2 808b228: 3230 adds r2, #48 ; 0x30 808b22a: b2d1 uxtb r1, r2 808b22c: f507 72cc add.w r2, r7, #408 ; 0x198 808b230: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 808b232: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b236: 1c5a adds r2, r3, #1 808b238: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b23c: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808b240: b2d2 uxtb r2, r2 808b242: 3230 adds r2, #48 ; 0x30 808b244: b2d1 uxtb r1, r2 808b246: f507 72cc add.w r2, r7, #408 ; 0x198 808b24a: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 808b24c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b250: 1c5a adds r2, r3, #1 808b252: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b256: f507 72cc add.w r2, r7, #408 ; 0x198 808b25a: 212e movs r1, #46 ; 0x2e 808b25c: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 808b25e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b262: 1c5a adds r2, r3, #1 808b264: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b268: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808b26c: b2d2 uxtb r2, r2 808b26e: 3230 adds r2, #48 ; 0x30 808b270: b2d1 uxtb r1, r2 808b272: f507 72cc add.w r2, r7, #408 ; 0x198 808b276: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.DIAGN_W[CURR_POINT][CURR_USL] * 10.0f); 808b278: 4b21 ldr r3, [pc, #132] ; (808b300 ) 808b27a: 781b ldrb r3, [r3, #0] 808b27c: b2db uxtb r3, r3 808b27e: 4618 mov r0, r3 808b280: 4b20 ldr r3, [pc, #128] ; (808b304 ) 808b282: 781b ldrb r3, [r3, #0] 808b284: b2db uxtb r3, r3 808b286: 4619 mov r1, r3 808b288: 4a1f ldr r2, [pc, #124] ; (808b308 ) 808b28a: 0083 lsls r3, r0, #2 808b28c: 440b add r3, r1 808b28e: 33d6 adds r3, #214 ; 0xd6 808b290: 009b lsls r3, r3, #2 808b292: 4413 add r3, r2 808b294: 3304 adds r3, #4 808b296: edd3 7a00 vldr s15, [r3] 808b29a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808b29e: ee67 7a87 vmul.f32 s15, s15, s14 808b2a2: eefc 7ae7 vcvt.u32.f32 s15, s15 808b2a6: ee17 3a90 vmov r3, s15 808b2aa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt_W = (uint8_t) (k / 100000); 808b2ae: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808b2b2: 095b lsrs r3, r3, #5 808b2b4: 4a15 ldr r2, [pc, #84] ; (808b30c ) 808b2b6: fba2 2303 umull r2, r3, r2, r3 808b2ba: 09db lsrs r3, r3, #7 808b2bc: b2db uxtb r3, r3 808b2be: f887 33c3 strb.w r3, [r7, #963] ; 0x3c3 iet_W = (uint8_t) (k % 100000 / 10000); 808b2c2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b2c6: 0953 lsrs r3, r2, #5 808b2c8: 4910 ldr r1, [pc, #64] ; (808b30c ) 808b2ca: fba1 1303 umull r1, r3, r1, r3 808b2ce: 09db lsrs r3, r3, #7 808b2d0: 490f ldr r1, [pc, #60] ; (808b310 ) 808b2d2: fb01 f303 mul.w r3, r1, r3 808b2d6: 1ad3 subs r3, r2, r3 808b2d8: 4a0e ldr r2, [pc, #56] ; (808b314 ) 808b2da: fba2 2303 umull r2, r3, r2, r3 808b2de: 0b5b lsrs r3, r3, #13 808b2e0: b2db uxtb r3, r3 808b2e2: f887 33c2 strb.w r3, [r7, #962] ; 0x3c2 ies_W = (uint8_t) (k % 100000 % 10000 / 1000); 808b2e6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b2ea: 0953 lsrs r3, r2, #5 808b2ec: 4907 ldr r1, [pc, #28] ; (808b30c ) 808b2ee: fba1 1303 umull r1, r3, r1, r3 808b2f2: 09db lsrs r3, r3, #7 808b2f4: 4906 ldr r1, [pc, #24] ; (808b310 ) 808b2f6: fb01 f303 mul.w r3, r1, r3 808b2fa: 1ad3 subs r3, r2, r3 808b2fc: e012 b.n 808b324 808b2fe: bf00 nop 808b300: 20021055 .word 0x20021055 808b304: 20021057 .word 0x20021057 808b308: 20023ea8 .word 0x20023ea8 808b30c: 0a7c5ac5 .word 0x0a7c5ac5 808b310: 000186a0 .word 0x000186a0 808b314: d1b71759 .word 0xd1b71759 808b318: 10624dd3 .word 0x10624dd3 808b31c: 51eb851f .word 0x51eb851f 808b320: cccccccd .word 0xcccccccd 808b324: 4ad4 ldr r2, [pc, #848] ; (808b678 ) 808b326: fba2 1203 umull r1, r2, r2, r3 808b32a: 0b52 lsrs r2, r2, #13 808b32c: f242 7110 movw r1, #10000 ; 0x2710 808b330: fb01 f202 mul.w r2, r1, r2 808b334: 1a9a subs r2, r3, r2 808b336: 4bd1 ldr r3, [pc, #836] ; (808b67c ) 808b338: fba3 2302 umull r2, r3, r3, r2 808b33c: 099b lsrs r3, r3, #6 808b33e: b2db uxtb r3, r3 808b340: f887 33c1 strb.w r3, [r7, #961] ; 0x3c1 ied_W = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808b344: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808b348: 095a lsrs r2, r3, #5 808b34a: 49cd ldr r1, [pc, #820] ; (808b680 ) 808b34c: fba1 1202 umull r1, r2, r1, r2 808b350: 09d2 lsrs r2, r2, #7 808b352: 49cc ldr r1, [pc, #816] ; (808b684 ) 808b354: fb01 f202 mul.w r2, r1, r2 808b358: 1a9a subs r2, r3, r2 808b35a: 4bc7 ldr r3, [pc, #796] ; (808b678 ) 808b35c: fba3 1302 umull r1, r3, r3, r2 808b360: 0b5b lsrs r3, r3, #13 808b362: f242 7110 movw r1, #10000 ; 0x2710 808b366: fb01 f303 mul.w r3, r1, r3 808b36a: 1ad3 subs r3, r2, r3 808b36c: 4ac3 ldr r2, [pc, #780] ; (808b67c ) 808b36e: fba2 1203 umull r1, r2, r2, r3 808b372: 0992 lsrs r2, r2, #6 808b374: f44f 717a mov.w r1, #1000 ; 0x3e8 808b378: fb01 f202 mul.w r2, r1, r2 808b37c: 1a9a subs r2, r3, r2 808b37e: 4bc2 ldr r3, [pc, #776] ; (808b688 ) 808b380: fba3 2302 umull r2, r3, r3, r2 808b384: 095b lsrs r3, r3, #5 808b386: b2db uxtb r3, r3 808b388: f887 33c0 strb.w r3, [r7, #960] ; 0x3c0 iee_W = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808b38c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b390: 0953 lsrs r3, r2, #5 808b392: 49bb ldr r1, [pc, #748] ; (808b680 ) 808b394: fba1 1303 umull r1, r3, r1, r3 808b398: 09db lsrs r3, r3, #7 808b39a: 49ba ldr r1, [pc, #744] ; (808b684 ) 808b39c: fb01 f303 mul.w r3, r1, r3 808b3a0: 1ad3 subs r3, r2, r3 808b3a2: 4ab5 ldr r2, [pc, #724] ; (808b678 ) 808b3a4: fba2 1203 umull r1, r2, r2, r3 808b3a8: 0b52 lsrs r2, r2, #13 808b3aa: f242 7110 movw r1, #10000 ; 0x2710 808b3ae: fb01 f202 mul.w r2, r1, r2 808b3b2: 1a9a subs r2, r3, r2 808b3b4: 4bb1 ldr r3, [pc, #708] ; (808b67c ) 808b3b6: fba3 1302 umull r1, r3, r3, r2 808b3ba: 099b lsrs r3, r3, #6 808b3bc: f44f 717a mov.w r1, #1000 ; 0x3e8 808b3c0: fb01 f303 mul.w r3, r1, r3 808b3c4: 1ad3 subs r3, r2, r3 808b3c6: 4ab0 ldr r2, [pc, #704] ; (808b688 ) 808b3c8: fba2 1203 umull r1, r2, r2, r3 808b3cc: 0952 lsrs r2, r2, #5 808b3ce: 2164 movs r1, #100 ; 0x64 808b3d0: fb01 f202 mul.w r2, r1, r2 808b3d4: 1a9a subs r2, r3, r2 808b3d6: 4bad ldr r3, [pc, #692] ; (808b68c ) 808b3d8: fba3 2302 umull r2, r3, r3, r2 808b3dc: 08db lsrs r3, r3, #3 808b3de: b2db uxtb r3, r3 808b3e0: f887 33bf strb.w r3, [r7, #959] ; 0x3bf ikd_W = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808b3e4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b3e8: 0953 lsrs r3, r2, #5 808b3ea: 49a5 ldr r1, [pc, #660] ; (808b680 ) 808b3ec: fba1 1303 umull r1, r3, r1, r3 808b3f0: 09db lsrs r3, r3, #7 808b3f2: 49a4 ldr r1, [pc, #656] ; (808b684 ) 808b3f4: fb01 f303 mul.w r3, r1, r3 808b3f8: 1ad3 subs r3, r2, r3 808b3fa: 4a9f ldr r2, [pc, #636] ; (808b678 ) 808b3fc: fba2 1203 umull r1, r2, r2, r3 808b400: 0b52 lsrs r2, r2, #13 808b402: f242 7110 movw r1, #10000 ; 0x2710 808b406: fb01 f202 mul.w r2, r1, r2 808b40a: 1a9a subs r2, r3, r2 808b40c: 4b9b ldr r3, [pc, #620] ; (808b67c ) 808b40e: fba3 1302 umull r1, r3, r3, r2 808b412: 099b lsrs r3, r3, #6 808b414: f44f 717a mov.w r1, #1000 ; 0x3e8 808b418: fb01 f303 mul.w r3, r1, r3 808b41c: 1ad3 subs r3, r2, r3 808b41e: 4a9a ldr r2, [pc, #616] ; (808b688 ) 808b420: fba2 1203 umull r1, r2, r2, r3 808b424: 0952 lsrs r2, r2, #5 808b426: 2164 movs r1, #100 ; 0x64 808b428: fb01 f202 mul.w r2, r1, r2 808b42c: 1a9a subs r2, r3, r2 808b42e: 4b97 ldr r3, [pc, #604] ; (808b68c ) 808b430: fba3 1302 umull r1, r3, r3, r2 808b434: 08d9 lsrs r1, r3, #3 808b436: 460b mov r3, r1 808b438: 009b lsls r3, r3, #2 808b43a: 440b add r3, r1 808b43c: 005b lsls r3, r3, #1 808b43e: 1ad1 subs r1, r2, r3 808b440: b2cb uxtb r3, r1 808b442: f887 33be strb.w r3, [r7, #958] ; 0x3be i = 0; 808b446: 2300 movs r3, #0 808b448: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_W, 0, sizeof(str_W)); 808b44c: f507 73aa add.w r3, r7, #340 ; 0x154 808b450: 220c movs r2, #12 808b452: 2100 movs r1, #0 808b454: 4618 mov r0, r3 808b456: f045 ffa3 bl 80d13a0 if(idt_W != 0) 808b45a: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808b45e: b2db uxtb r3, r3 808b460: 2b00 cmp r3, #0 808b462: d00c beq.n 808b47e str_W[i++] = idt_W + 48; 808b464: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b468: 1c5a adds r2, r3, #1 808b46a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b46e: f897 23c3 ldrb.w r2, [r7, #963] ; 0x3c3 808b472: b2d2 uxtb r2, r2 808b474: 3230 adds r2, #48 ; 0x30 808b476: b2d1 uxtb r1, r2 808b478: f507 72aa add.w r2, r7, #340 ; 0x154 808b47c: 54d1 strb r1, [r2, r3] if((iet_W != 0) || (idt_W != 0)) 808b47e: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808b482: b2db uxtb r3, r3 808b484: 2b00 cmp r3, #0 808b486: d104 bne.n 808b492 808b488: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808b48c: b2db uxtb r3, r3 808b48e: 2b00 cmp r3, #0 808b490: d00c beq.n 808b4ac str_W[i++] = iet_W + 48; 808b492: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b496: 1c5a adds r2, r3, #1 808b498: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b49c: f897 23c2 ldrb.w r2, [r7, #962] ; 0x3c2 808b4a0: b2d2 uxtb r2, r2 808b4a2: 3230 adds r2, #48 ; 0x30 808b4a4: b2d1 uxtb r1, r2 808b4a6: f507 72aa add.w r2, r7, #340 ; 0x154 808b4aa: 54d1 strb r1, [r2, r3] if((ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808b4ac: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808b4b0: b2db uxtb r3, r3 808b4b2: 2b00 cmp r3, #0 808b4b4: d109 bne.n 808b4ca 808b4b6: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808b4ba: b2db uxtb r3, r3 808b4bc: 2b00 cmp r3, #0 808b4be: d104 bne.n 808b4ca 808b4c0: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808b4c4: b2db uxtb r3, r3 808b4c6: 2b00 cmp r3, #0 808b4c8: d00c beq.n 808b4e4 str_W[i++] = ies_W + 48; 808b4ca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b4ce: 1c5a adds r2, r3, #1 808b4d0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b4d4: f897 23c1 ldrb.w r2, [r7, #961] ; 0x3c1 808b4d8: b2d2 uxtb r2, r2 808b4da: 3230 adds r2, #48 ; 0x30 808b4dc: b2d1 uxtb r1, r2 808b4de: f507 72aa add.w r2, r7, #340 ; 0x154 808b4e2: 54d1 strb r1, [r2, r3] if((ied_W != 0) || (ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808b4e4: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808b4e8: b2db uxtb r3, r3 808b4ea: 2b00 cmp r3, #0 808b4ec: d10e bne.n 808b50c 808b4ee: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808b4f2: b2db uxtb r3, r3 808b4f4: 2b00 cmp r3, #0 808b4f6: d109 bne.n 808b50c 808b4f8: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808b4fc: b2db uxtb r3, r3 808b4fe: 2b00 cmp r3, #0 808b500: d104 bne.n 808b50c 808b502: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808b506: b2db uxtb r3, r3 808b508: 2b00 cmp r3, #0 808b50a: d00c beq.n 808b526 str_W[i++] = ied_W + 48; 808b50c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b510: 1c5a adds r2, r3, #1 808b512: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b516: f897 23c0 ldrb.w r2, [r7, #960] ; 0x3c0 808b51a: b2d2 uxtb r2, r2 808b51c: 3230 adds r2, #48 ; 0x30 808b51e: b2d1 uxtb r1, r2 808b520: f507 72aa add.w r2, r7, #340 ; 0x154 808b524: 54d1 strb r1, [r2, r3] str_W[i++] = iee_W + 48; 808b526: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b52a: 1c5a adds r2, r3, #1 808b52c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b530: f897 23bf ldrb.w r2, [r7, #959] ; 0x3bf 808b534: b2d2 uxtb r2, r2 808b536: 3230 adds r2, #48 ; 0x30 808b538: b2d1 uxtb r1, r2 808b53a: f507 72aa add.w r2, r7, #340 ; 0x154 808b53e: 54d1 strb r1, [r2, r3] str_W[i++] = '.'; 808b540: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b544: 1c5a adds r2, r3, #1 808b546: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b54a: f507 72aa add.w r2, r7, #340 ; 0x154 808b54e: 212e movs r1, #46 ; 0x2e 808b550: 54d1 strb r1, [r2, r3] str_W[i++] = ikd_W + 48; 808b552: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b556: 1c5a adds r2, r3, #1 808b558: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b55c: f897 23be ldrb.w r2, [r7, #958] ; 0x3be 808b560: b2d2 uxtb r2, r2 808b562: 3230 adds r2, #48 ; 0x30 808b564: b2d1 uxtb r1, r2 808b566: f507 72aa add.w r2, r7, #340 ; 0x154 808b56a: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.DIAGN_A[CURR_POINT][CURR_USL] * 10.0f); 808b56c: 4b48 ldr r3, [pc, #288] ; (808b690 ) 808b56e: 781b ldrb r3, [r3, #0] 808b570: b2db uxtb r3, r3 808b572: 4618 mov r0, r3 808b574: 4b47 ldr r3, [pc, #284] ; (808b694 ) 808b576: 781b ldrb r3, [r3, #0] 808b578: b2db uxtb r3, r3 808b57a: 4619 mov r1, r3 808b57c: 4a46 ldr r2, [pc, #280] ; (808b698 ) 808b57e: 0083 lsls r3, r0, #2 808b580: 440b add r3, r1 808b582: 33f6 adds r3, #246 ; 0xf6 808b584: 009b lsls r3, r3, #2 808b586: 4413 add r3, r2 808b588: 3304 adds r3, #4 808b58a: edd3 7a00 vldr s15, [r3] 808b58e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808b592: ee67 7a87 vmul.f32 s15, s15, s14 808b596: eefc 7ae7 vcvt.u32.f32 s15, s15 808b59a: ee17 3a90 vmov r3, s15 808b59e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt_A = (uint8_t) (k / 100000); 808b5a2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808b5a6: 095b lsrs r3, r3, #5 808b5a8: 4a35 ldr r2, [pc, #212] ; (808b680 ) 808b5aa: fba2 2303 umull r2, r3, r2, r3 808b5ae: 09db lsrs r3, r3, #7 808b5b0: b2db uxtb r3, r3 808b5b2: f887 33bc strb.w r3, [r7, #956] ; 0x3bc iet_A = (uint8_t) (k % 100000 / 10000); 808b5b6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b5ba: 0953 lsrs r3, r2, #5 808b5bc: 4930 ldr r1, [pc, #192] ; (808b680 ) 808b5be: fba1 1303 umull r1, r3, r1, r3 808b5c2: 09db lsrs r3, r3, #7 808b5c4: 492f ldr r1, [pc, #188] ; (808b684 ) 808b5c6: fb01 f303 mul.w r3, r1, r3 808b5ca: 1ad3 subs r3, r2, r3 808b5cc: 4a2a ldr r2, [pc, #168] ; (808b678 ) 808b5ce: fba2 2303 umull r2, r3, r2, r3 808b5d2: 0b5b lsrs r3, r3, #13 808b5d4: b2db uxtb r3, r3 808b5d6: f887 33bb strb.w r3, [r7, #955] ; 0x3bb ies_A = (uint8_t) (k % 100000 % 10000 / 1000); 808b5da: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b5de: 0953 lsrs r3, r2, #5 808b5e0: 4927 ldr r1, [pc, #156] ; (808b680 ) 808b5e2: fba1 1303 umull r1, r3, r1, r3 808b5e6: 09db lsrs r3, r3, #7 808b5e8: 4926 ldr r1, [pc, #152] ; (808b684 ) 808b5ea: fb01 f303 mul.w r3, r1, r3 808b5ee: 1ad3 subs r3, r2, r3 808b5f0: 4a21 ldr r2, [pc, #132] ; (808b678 ) 808b5f2: fba2 1203 umull r1, r2, r2, r3 808b5f6: 0b52 lsrs r2, r2, #13 808b5f8: f242 7110 movw r1, #10000 ; 0x2710 808b5fc: fb01 f202 mul.w r2, r1, r2 808b600: 1a9a subs r2, r3, r2 808b602: 4b1e ldr r3, [pc, #120] ; (808b67c ) 808b604: fba3 2302 umull r2, r3, r3, r2 808b608: 099b lsrs r3, r3, #6 808b60a: b2db uxtb r3, r3 808b60c: f887 33ba strb.w r3, [r7, #954] ; 0x3ba ied_A = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808b610: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808b614: 095a lsrs r2, r3, #5 808b616: 491a ldr r1, [pc, #104] ; (808b680 ) 808b618: fba1 1202 umull r1, r2, r1, r2 808b61c: 09d2 lsrs r2, r2, #7 808b61e: 4919 ldr r1, [pc, #100] ; (808b684 ) 808b620: fb01 f202 mul.w r2, r1, r2 808b624: 1a9a subs r2, r3, r2 808b626: 4b14 ldr r3, [pc, #80] ; (808b678 ) 808b628: fba3 1302 umull r1, r3, r3, r2 808b62c: 0b5b lsrs r3, r3, #13 808b62e: f242 7110 movw r1, #10000 ; 0x2710 808b632: fb01 f303 mul.w r3, r1, r3 808b636: 1ad3 subs r3, r2, r3 808b638: 4a10 ldr r2, [pc, #64] ; (808b67c ) 808b63a: fba2 1203 umull r1, r2, r2, r3 808b63e: 0992 lsrs r2, r2, #6 808b640: f44f 717a mov.w r1, #1000 ; 0x3e8 808b644: fb01 f202 mul.w r2, r1, r2 808b648: 1a9a subs r2, r3, r2 808b64a: 4b0f ldr r3, [pc, #60] ; (808b688 ) 808b64c: fba3 2302 umull r2, r3, r3, r2 808b650: 095b lsrs r3, r3, #5 808b652: b2db uxtb r3, r3 808b654: f887 33b9 strb.w r3, [r7, #953] ; 0x3b9 iee_A = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808b658: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b65c: 0953 lsrs r3, r2, #5 808b65e: 4908 ldr r1, [pc, #32] ; (808b680 ) 808b660: fba1 1303 umull r1, r3, r1, r3 808b664: 09db lsrs r3, r3, #7 808b666: 4907 ldr r1, [pc, #28] ; (808b684 ) 808b668: fb01 f303 mul.w r3, r1, r3 808b66c: 1ad3 subs r3, r2, r3 808b66e: 4a02 ldr r2, [pc, #8] ; (808b678 ) 808b670: fba2 1203 umull r1, r2, r2, r3 808b674: 0b52 lsrs r2, r2, #13 808b676: e011 b.n 808b69c 808b678: d1b71759 .word 0xd1b71759 808b67c: 10624dd3 .word 0x10624dd3 808b680: 0a7c5ac5 .word 0x0a7c5ac5 808b684: 000186a0 .word 0x000186a0 808b688: 51eb851f .word 0x51eb851f 808b68c: cccccccd .word 0xcccccccd 808b690: 20021055 .word 0x20021055 808b694: 20021057 .word 0x20021057 808b698: 20023ea8 .word 0x20023ea8 808b69c: f242 7110 movw r1, #10000 ; 0x2710 808b6a0: fb01 f202 mul.w r2, r1, r2 808b6a4: 1a9a subs r2, r3, r2 808b6a6: 4bc3 ldr r3, [pc, #780] ; (808b9b4 ) 808b6a8: fba3 1302 umull r1, r3, r3, r2 808b6ac: 099b lsrs r3, r3, #6 808b6ae: f44f 717a mov.w r1, #1000 ; 0x3e8 808b6b2: fb01 f303 mul.w r3, r1, r3 808b6b6: 1ad3 subs r3, r2, r3 808b6b8: 4abf ldr r2, [pc, #764] ; (808b9b8 ) 808b6ba: fba2 1203 umull r1, r2, r2, r3 808b6be: 0952 lsrs r2, r2, #5 808b6c0: 2164 movs r1, #100 ; 0x64 808b6c2: fb01 f202 mul.w r2, r1, r2 808b6c6: 1a9a subs r2, r3, r2 808b6c8: 4bbc ldr r3, [pc, #752] ; (808b9bc ) 808b6ca: fba3 2302 umull r2, r3, r3, r2 808b6ce: 08db lsrs r3, r3, #3 808b6d0: b2db uxtb r3, r3 808b6d2: f887 33b8 strb.w r3, [r7, #952] ; 0x3b8 ikd_A = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808b6d6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808b6da: 0953 lsrs r3, r2, #5 808b6dc: 49b8 ldr r1, [pc, #736] ; (808b9c0 ) 808b6de: fba1 1303 umull r1, r3, r1, r3 808b6e2: 09db lsrs r3, r3, #7 808b6e4: 49b7 ldr r1, [pc, #732] ; (808b9c4 ) 808b6e6: fb01 f303 mul.w r3, r1, r3 808b6ea: 1ad3 subs r3, r2, r3 808b6ec: 4ab6 ldr r2, [pc, #728] ; (808b9c8 ) 808b6ee: fba2 1203 umull r1, r2, r2, r3 808b6f2: 0b52 lsrs r2, r2, #13 808b6f4: f242 7110 movw r1, #10000 ; 0x2710 808b6f8: fb01 f202 mul.w r2, r1, r2 808b6fc: 1a9a subs r2, r3, r2 808b6fe: 4bad ldr r3, [pc, #692] ; (808b9b4 ) 808b700: fba3 1302 umull r1, r3, r3, r2 808b704: 099b lsrs r3, r3, #6 808b706: f44f 717a mov.w r1, #1000 ; 0x3e8 808b70a: fb01 f303 mul.w r3, r1, r3 808b70e: 1ad3 subs r3, r2, r3 808b710: 4aa9 ldr r2, [pc, #676] ; (808b9b8 ) 808b712: fba2 1203 umull r1, r2, r2, r3 808b716: 0952 lsrs r2, r2, #5 808b718: 2164 movs r1, #100 ; 0x64 808b71a: fb01 f202 mul.w r2, r1, r2 808b71e: 1a9a subs r2, r3, r2 808b720: 4ba6 ldr r3, [pc, #664] ; (808b9bc ) 808b722: fba3 1302 umull r1, r3, r3, r2 808b726: 08d9 lsrs r1, r3, #3 808b728: 460b mov r3, r1 808b72a: 009b lsls r3, r3, #2 808b72c: 440b add r3, r1 808b72e: 005b lsls r3, r3, #1 808b730: 1ad1 subs r1, r2, r3 808b732: b2cb uxtb r3, r1 808b734: f887 33b7 strb.w r3, [r7, #951] ; 0x3b7 i = 0; 808b738: 2300 movs r3, #0 808b73a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_A, 0, sizeof(str_A)); 808b73e: f507 73b0 add.w r3, r7, #352 ; 0x160 808b742: 220c movs r2, #12 808b744: 2100 movs r1, #0 808b746: 4618 mov r0, r3 808b748: f045 fe2a bl 80d13a0 if(idt_A != 0) 808b74c: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808b750: b2db uxtb r3, r3 808b752: 2b00 cmp r3, #0 808b754: d00c beq.n 808b770 str_A[i++] = idt_A + 48; 808b756: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b75a: 1c5a adds r2, r3, #1 808b75c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b760: f897 23bc ldrb.w r2, [r7, #956] ; 0x3bc 808b764: b2d2 uxtb r2, r2 808b766: 3230 adds r2, #48 ; 0x30 808b768: b2d1 uxtb r1, r2 808b76a: f507 72b0 add.w r2, r7, #352 ; 0x160 808b76e: 54d1 strb r1, [r2, r3] if((iet_A != 0) || (idt_A != 0)) 808b770: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808b774: b2db uxtb r3, r3 808b776: 2b00 cmp r3, #0 808b778: d104 bne.n 808b784 808b77a: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808b77e: b2db uxtb r3, r3 808b780: 2b00 cmp r3, #0 808b782: d00c beq.n 808b79e str_A[i++] = iet_A + 48; 808b784: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b788: 1c5a adds r2, r3, #1 808b78a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b78e: f897 23bb ldrb.w r2, [r7, #955] ; 0x3bb 808b792: b2d2 uxtb r2, r2 808b794: 3230 adds r2, #48 ; 0x30 808b796: b2d1 uxtb r1, r2 808b798: f507 72b0 add.w r2, r7, #352 ; 0x160 808b79c: 54d1 strb r1, [r2, r3] if((ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808b79e: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808b7a2: b2db uxtb r3, r3 808b7a4: 2b00 cmp r3, #0 808b7a6: d109 bne.n 808b7bc 808b7a8: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808b7ac: b2db uxtb r3, r3 808b7ae: 2b00 cmp r3, #0 808b7b0: d104 bne.n 808b7bc 808b7b2: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808b7b6: b2db uxtb r3, r3 808b7b8: 2b00 cmp r3, #0 808b7ba: d00c beq.n 808b7d6 str_A[i++] = ies_A + 48; 808b7bc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b7c0: 1c5a adds r2, r3, #1 808b7c2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b7c6: f897 23ba ldrb.w r2, [r7, #954] ; 0x3ba 808b7ca: b2d2 uxtb r2, r2 808b7cc: 3230 adds r2, #48 ; 0x30 808b7ce: b2d1 uxtb r1, r2 808b7d0: f507 72b0 add.w r2, r7, #352 ; 0x160 808b7d4: 54d1 strb r1, [r2, r3] if((ied_A != 0) || (ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808b7d6: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808b7da: b2db uxtb r3, r3 808b7dc: 2b00 cmp r3, #0 808b7de: d10e bne.n 808b7fe 808b7e0: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808b7e4: b2db uxtb r3, r3 808b7e6: 2b00 cmp r3, #0 808b7e8: d109 bne.n 808b7fe 808b7ea: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808b7ee: b2db uxtb r3, r3 808b7f0: 2b00 cmp r3, #0 808b7f2: d104 bne.n 808b7fe 808b7f4: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808b7f8: b2db uxtb r3, r3 808b7fa: 2b00 cmp r3, #0 808b7fc: d00c beq.n 808b818 str_A[i++] = ied_A + 48; 808b7fe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b802: 1c5a adds r2, r3, #1 808b804: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b808: f897 23b9 ldrb.w r2, [r7, #953] ; 0x3b9 808b80c: b2d2 uxtb r2, r2 808b80e: 3230 adds r2, #48 ; 0x30 808b810: b2d1 uxtb r1, r2 808b812: f507 72b0 add.w r2, r7, #352 ; 0x160 808b816: 54d1 strb r1, [r2, r3] str_A[i++] = iee_A + 48; 808b818: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b81c: 1c5a adds r2, r3, #1 808b81e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b822: f897 23b8 ldrb.w r2, [r7, #952] ; 0x3b8 808b826: b2d2 uxtb r2, r2 808b828: 3230 adds r2, #48 ; 0x30 808b82a: b2d1 uxtb r1, r2 808b82c: f507 72b0 add.w r2, r7, #352 ; 0x160 808b830: 54d1 strb r1, [r2, r3] str_A[i++] = '.'; 808b832: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b836: 1c5a adds r2, r3, #1 808b838: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b83c: f507 72b0 add.w r2, r7, #352 ; 0x160 808b840: 212e movs r1, #46 ; 0x2e 808b842: 54d1 strb r1, [r2, r3] str_A[i++] = ikd_A + 48; 808b844: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808b848: 1c5a adds r2, r3, #1 808b84a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808b84e: f897 23b7 ldrb.w r2, [r7, #951] ; 0x3b7 808b852: b2d2 uxtb r2, r2 808b854: 3230 adds r2, #48 ; 0x30 808b856: b2d1 uxtb r1, r2 808b858: f507 72b0 add.w r2, r7, #352 ; 0x160 808b85c: 54d1 strb r1, [r2, r3] // OP1[12 + 11*4] // OP2[12 + 11*12] // OP3[12 + 11*20] // if(menupos != DiagUs1) 808b85e: 4b5b ldr r3, [pc, #364] ; (808b9cc ) 808b860: 781b ldrb r3, [r3, #0] 808b862: b2db uxtb r3, r3 808b864: 2b01 cmp r3, #1 808b866: d00f beq.n 808b888 { if(CURR_USL == Us1) 808b868: 4b59 ldr r3, [pc, #356] ; (808b9d0 ) 808b86a: 781b ldrb r3, [r3, #0] 808b86c: b2db uxtb r3, r3 808b86e: 2b00 cmp r3, #0 808b870: d104 bne.n 808b87c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b872: 4958 ldr r1, [pc, #352] ; (808b9d4 ) 808b874: 4858 ldr r0, [pc, #352] ; (808b9d8 ) 808b876: f7c8 fecb bl 8054610 808b87a: e00a b.n 808b892 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808b87c: 4955 ldr r1, [pc, #340] ; (808b9d4 ) 808b87e: f04f 30ff mov.w r0, #4294967295 808b882: f7c8 fec5 bl 8054610 808b886: e004 b.n 808b892 } else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b888: 4952 ldr r1, [pc, #328] ; (808b9d4 ) 808b88a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b88e: f7c8 febf bl 8054610 LCD_DisplayString(12 + 11*1, LCD_LINE_2, (char *) pUS[pardata.LANG][Us1]); 808b892: 4b52 ldr r3, [pc, #328] ; (808b9dc ) 808b894: 7b1b ldrb r3, [r3, #12] 808b896: b2db uxtb r3, r3 808b898: 4a51 ldr r2, [pc, #324] ; (808b9e0 ) 808b89a: 011b lsls r3, r3, #4 808b89c: 4413 add r3, r2 808b89e: 681b ldr r3, [r3, #0] 808b8a0: 461a mov r2, r3 808b8a2: 2127 movs r1, #39 ; 0x27 808b8a4: 2017 movs r0, #23 808b8a6: f7c9 fc5b bl 8055160 // if(menupos != DiagUs2) 808b8aa: 4b48 ldr r3, [pc, #288] ; (808b9cc ) 808b8ac: 781b ldrb r3, [r3, #0] 808b8ae: b2db uxtb r3, r3 808b8b0: 2b03 cmp r3, #3 808b8b2: d00f beq.n 808b8d4 { if(CURR_USL == Us2) 808b8b4: 4b46 ldr r3, [pc, #280] ; (808b9d0 ) 808b8b6: 781b ldrb r3, [r3, #0] 808b8b8: b2db uxtb r3, r3 808b8ba: 2b01 cmp r3, #1 808b8bc: d104 bne.n 808b8c8 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b8be: 4945 ldr r1, [pc, #276] ; (808b9d4 ) 808b8c0: 4845 ldr r0, [pc, #276] ; (808b9d8 ) 808b8c2: f7c8 fea5 bl 8054610 808b8c6: e00a b.n 808b8de else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808b8c8: 4942 ldr r1, [pc, #264] ; (808b9d4 ) 808b8ca: f04f 30ff mov.w r0, #4294967295 808b8ce: f7c8 fe9f bl 8054610 808b8d2: e004 b.n 808b8de } else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b8d4: 493f ldr r1, [pc, #252] ; (808b9d4 ) 808b8d6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b8da: f7c8 fe99 bl 8054610 LCD_DisplayString(12 + 11*8, LCD_LINE_2, (char *) pUS[pardata.LANG][Us2]); 808b8de: 4b3f ldr r3, [pc, #252] ; (808b9dc ) 808b8e0: 7b1b ldrb r3, [r3, #12] 808b8e2: b2db uxtb r3, r3 808b8e4: 4a3e ldr r2, [pc, #248] ; (808b9e0 ) 808b8e6: 011b lsls r3, r3, #4 808b8e8: 4413 add r3, r2 808b8ea: 3304 adds r3, #4 808b8ec: 681b ldr r3, [r3, #0] 808b8ee: 461a mov r2, r3 808b8f0: 2127 movs r1, #39 ; 0x27 808b8f2: 2064 movs r0, #100 ; 0x64 808b8f4: f7c9 fc34 bl 8055160 // if(menupos != DiagUs3) 808b8f8: 4b34 ldr r3, [pc, #208] ; (808b9cc ) 808b8fa: 781b ldrb r3, [r3, #0] 808b8fc: b2db uxtb r3, r3 808b8fe: 2b05 cmp r3, #5 808b900: d00f beq.n 808b922 { if(CURR_USL == Us3) 808b902: 4b33 ldr r3, [pc, #204] ; (808b9d0 ) 808b904: 781b ldrb r3, [r3, #0] 808b906: b2db uxtb r3, r3 808b908: 2b02 cmp r3, #2 808b90a: d104 bne.n 808b916 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b90c: 4931 ldr r1, [pc, #196] ; (808b9d4 ) 808b90e: 4832 ldr r0, [pc, #200] ; (808b9d8 ) 808b910: f7c8 fe7e bl 8054610 808b914: e00a b.n 808b92c else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808b916: 492f ldr r1, [pc, #188] ; (808b9d4 ) 808b918: f04f 30ff mov.w r0, #4294967295 808b91c: f7c8 fe78 bl 8054610 808b920: e004 b.n 808b92c } else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b922: 492c ldr r1, [pc, #176] ; (808b9d4 ) 808b924: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b928: f7c8 fe72 bl 8054610 LCD_DisplayString(12 + 11*17, LCD_LINE_2, (char *) pUS[pardata.LANG][Us3]); 808b92c: 4b2b ldr r3, [pc, #172] ; (808b9dc ) 808b92e: 7b1b ldrb r3, [r3, #12] 808b930: b2db uxtb r3, r3 808b932: 4a2b ldr r2, [pc, #172] ; (808b9e0 ) 808b934: 011b lsls r3, r3, #4 808b936: 4413 add r3, r2 808b938: 3308 adds r3, #8 808b93a: 681b ldr r3, [r3, #0] 808b93c: 461a mov r2, r3 808b93e: 2127 movs r1, #39 ; 0x27 808b940: 20c7 movs r0, #199 ; 0xc7 808b942: f7c9 fc0d bl 8055160 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) 808b946: 4b21 ldr r3, [pc, #132] ; (808b9cc ) 808b948: 781b ldrb r3, [r3, #0] 808b94a: b2db uxtb r3, r3 808b94c: 2b02 cmp r3, #2 808b94e: d005 beq.n 808b95c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808b950: 4920 ldr r1, [pc, #128] ; (808b9d4 ) 808b952: f04f 30ff mov.w r0, #4294967295 808b956: f7c8 fe5b bl 8054610 808b95a: e004 b.n 808b966 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b95c: 491d ldr r1, [pc, #116] ; (808b9d4 ) 808b95e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b962: f7c8 fe55 bl 8054610 if((focused) && (menupos == DiagOp1)) 808b966: 4b1f ldr r3, [pc, #124] ; (808b9e4 ) 808b968: 781b ldrb r3, [r3, #0] 808b96a: b2db uxtb r3, r3 808b96c: 2b00 cmp r3, #0 808b96e: d041 beq.n 808b9f4 808b970: 4b16 ldr r3, [pc, #88] ; (808b9cc ) 808b972: 781b ldrb r3, [r3, #0] 808b974: b2db uxtb r3, r3 808b976: 2b02 cmp r3, #2 808b978: d13c bne.n 808b9f4 { if(blk) 808b97a: 4b1b ldr r3, [pc, #108] ; (808b9e8 ) 808b97c: 681b ldr r3, [r3, #0] 808b97e: 2b00 cmp r3, #0 808b980: d050 beq.n 808ba24 { LCD_DisplayString(12 + 11*4, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][0]]); 808b982: 4b16 ldr r3, [pc, #88] ; (808b9dc ) 808b984: 7b1b ldrb r3, [r3, #12] 808b986: b2db uxtb r3, r3 808b988: 4618 mov r0, r3 808b98a: 4b18 ldr r3, [pc, #96] ; (808b9ec ) 808b98c: 781b ldrb r3, [r3, #0] 808b98e: b2db uxtb r3, r3 808b990: 4a12 ldr r2, [pc, #72] ; (808b9dc ) 808b992: 3386 adds r3, #134 ; 0x86 808b994: 009b lsls r3, r3, #2 808b996: 4413 add r3, r2 808b998: 791b ldrb r3, [r3, #4] 808b99a: b2db uxtb r3, r3 808b99c: 4619 mov r1, r3 808b99e: 4a14 ldr r2, [pc, #80] ; (808b9f0 ) 808b9a0: 0043 lsls r3, r0, #1 808b9a2: 440b add r3, r1 808b9a4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808b9a8: 461a mov r2, r3 808b9aa: 2127 movs r1, #39 ; 0x27 808b9ac: 2038 movs r0, #56 ; 0x38 808b9ae: f7c9 fbd7 bl 8055160 if(blk) 808b9b2: e037 b.n 808ba24 808b9b4: 10624dd3 .word 0x10624dd3 808b9b8: 51eb851f .word 0x51eb851f 808b9bc: cccccccd .word 0xcccccccd 808b9c0: 0a7c5ac5 .word 0x0a7c5ac5 808b9c4: 000186a0 .word 0x000186a0 808b9c8: d1b71759 .word 0xd1b71759 808b9cc: 20020070 .word 0x20020070 808b9d0: 20021057 .word 0x20021057 808b9d4: ff0a0f1f .word 0xff0a0f1f 808b9d8: ffd8aa57 .word 0xffd8aa57 808b9dc: 20023ea8 .word 0x20023ea8 808b9e0: 200205f4 .word 0x200205f4 808b9e4: 20020fc8 .word 0x20020fc8 808b9e8: 200216a4 .word 0x200216a4 808b9ec: 20021055 .word 0x20021055 808b9f0: 20020614 .word 0x20020614 } } else LCD_DisplayString(12 + 11*4, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][0]]); 808b9f4: 4bbf ldr r3, [pc, #764] ; (808bcf4 ) 808b9f6: 7b1b ldrb r3, [r3, #12] 808b9f8: b2db uxtb r3, r3 808b9fa: 4618 mov r0, r3 808b9fc: 4bbe ldr r3, [pc, #760] ; (808bcf8 ) 808b9fe: 781b ldrb r3, [r3, #0] 808ba00: b2db uxtb r3, r3 808ba02: 4abc ldr r2, [pc, #752] ; (808bcf4 ) 808ba04: 3386 adds r3, #134 ; 0x86 808ba06: 009b lsls r3, r3, #2 808ba08: 4413 add r3, r2 808ba0a: 791b ldrb r3, [r3, #4] 808ba0c: b2db uxtb r3, r3 808ba0e: 4619 mov r1, r3 808ba10: 4aba ldr r2, [pc, #744] ; (808bcfc ) 808ba12: 0043 lsls r3, r0, #1 808ba14: 440b add r3, r1 808ba16: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808ba1a: 461a mov r2, r3 808ba1c: 2127 movs r1, #39 ; 0x27 808ba1e: 2038 movs r0, #56 ; 0x38 808ba20: f7c9 fb9e bl 8055160 ////// OP2 if(menupos != DiagOp2) 808ba24: 4bb6 ldr r3, [pc, #728] ; (808bd00 ) 808ba26: 781b ldrb r3, [r3, #0] 808ba28: b2db uxtb r3, r3 808ba2a: 2b04 cmp r3, #4 808ba2c: d005 beq.n 808ba3a LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ba2e: 49b5 ldr r1, [pc, #724] ; (808bd04 ) 808ba30: f04f 30ff mov.w r0, #4294967295 808ba34: f7c8 fdec bl 8054610 808ba38: e004 b.n 808ba44 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ba3a: 49b2 ldr r1, [pc, #712] ; (808bd04 ) 808ba3c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ba40: f7c8 fde6 bl 8054610 if((focused) && (menupos == DiagOp2)) 808ba44: 4bb0 ldr r3, [pc, #704] ; (808bd08 ) 808ba46: 781b ldrb r3, [r3, #0] 808ba48: b2db uxtb r3, r3 808ba4a: 2b00 cmp r3, #0 808ba4c: d021 beq.n 808ba92 808ba4e: 4bac ldr r3, [pc, #688] ; (808bd00 ) 808ba50: 781b ldrb r3, [r3, #0] 808ba52: b2db uxtb r3, r3 808ba54: 2b04 cmp r3, #4 808ba56: d11c bne.n 808ba92 { if(blk) 808ba58: 4bac ldr r3, [pc, #688] ; (808bd0c ) 808ba5a: 681b ldr r3, [r3, #0] 808ba5c: 2b00 cmp r3, #0 808ba5e: d030 beq.n 808bac2 { LCD_DisplayString(12 + 11*12, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][1]]); 808ba60: 4ba4 ldr r3, [pc, #656] ; (808bcf4 ) 808ba62: 7b1b ldrb r3, [r3, #12] 808ba64: b2db uxtb r3, r3 808ba66: 4618 mov r0, r3 808ba68: 4ba3 ldr r3, [pc, #652] ; (808bcf8 ) 808ba6a: 781b ldrb r3, [r3, #0] 808ba6c: b2db uxtb r3, r3 808ba6e: 4aa1 ldr r2, [pc, #644] ; (808bcf4 ) 808ba70: 009b lsls r3, r3, #2 808ba72: 4413 add r3, r2 808ba74: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 808ba78: b2db uxtb r3, r3 808ba7a: 4619 mov r1, r3 808ba7c: 4a9f ldr r2, [pc, #636] ; (808bcfc ) 808ba7e: 0043 lsls r3, r0, #1 808ba80: 440b add r3, r1 808ba82: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808ba86: 461a mov r2, r3 808ba88: 2127 movs r1, #39 ; 0x27 808ba8a: 2090 movs r0, #144 ; 0x90 808ba8c: f7c9 fb68 bl 8055160 if(blk) 808ba90: e017 b.n 808bac2 } } else LCD_DisplayString(12 + 11*12, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][1]]); 808ba92: 4b98 ldr r3, [pc, #608] ; (808bcf4 ) 808ba94: 7b1b ldrb r3, [r3, #12] 808ba96: b2db uxtb r3, r3 808ba98: 4618 mov r0, r3 808ba9a: 4b97 ldr r3, [pc, #604] ; (808bcf8 ) 808ba9c: 781b ldrb r3, [r3, #0] 808ba9e: b2db uxtb r3, r3 808baa0: 4a94 ldr r2, [pc, #592] ; (808bcf4 ) 808baa2: 009b lsls r3, r3, #2 808baa4: 4413 add r3, r2 808baa6: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 808baaa: b2db uxtb r3, r3 808baac: 4619 mov r1, r3 808baae: 4a93 ldr r2, [pc, #588] ; (808bcfc ) 808bab0: 0043 lsls r3, r0, #1 808bab2: 440b add r3, r1 808bab4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808bab8: 461a mov r2, r3 808baba: 2127 movs r1, #39 ; 0x27 808babc: 2090 movs r0, #144 ; 0x90 808babe: f7c9 fb4f bl 8055160 if(pardata.LANG == RUS) 808bac2: 4b8c ldr r3, [pc, #560] ; (808bcf4 ) 808bac4: 7b1b ldrb r3, [r3, #12] 808bac6: b2db uxtb r3, r3 808bac8: 2b00 cmp r3, #0 808baca: f040 808f bne.w 808bbec { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808bace: 498d ldr r1, [pc, #564] ; (808bd04 ) 808bad0: f04f 30ff mov.w r0, #4294967295 808bad4: f7c8 fd9c bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Âåëè÷èíà"); 808bad8: 4a8d ldr r2, [pc, #564] ; (808bd10 ) 808bada: 215a movs r1, #90 ; 0x5a 808badc: 200a movs r0, #10 808bade: f7c9 fb3f bl 8055160 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808bae2: 4b85 ldr r3, [pc, #532] ; (808bcf8 ) 808bae4: 781b ldrb r3, [r3, #0] 808bae6: b2db uxtb r3, r3 808bae8: 4618 mov r0, r3 808baea: 4b8a ldr r3, [pc, #552] ; (808bd14 ) 808baec: 781b ldrb r3, [r3, #0] 808baee: b2db uxtb r3, r3 808baf0: 4619 mov r1, r3 808baf2: 4a80 ldr r2, [pc, #512] ; (808bcf4 ) 808baf4: 0083 lsls r3, r0, #2 808baf6: 4413 add r3, r2 808baf8: 440b add r3, r1 808bafa: f503 730f add.w r3, r3, #572 ; 0x23c 808bafe: 781b ldrb r3, [r3, #0] 808bb00: b2db uxtb r3, r3 808bb02: f003 0307 and.w r3, r3, #7 808bb06: 2b00 cmp r3, #0 808bb08: d103 bne.n 808bb12 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808bb0a: 497e ldr r1, [pc, #504] ; (808bd04 ) 808bb0c: 4882 ldr r0, [pc, #520] ; (808bd18 ) 808bb0e: f7c8 fd7f bl 8054610 LCD_DisplayString(10, LCD_LINE_6, "Çíà÷åíèå"); 808bb12: 4a82 ldr r2, [pc, #520] ; (808bd1c ) 808bb14: 216a movs r1, #106 ; 0x6a 808bb16: 200a movs r0, #10 808bb18: f7c9 fb22 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Ôèëüòð Â×(Ãö)"); 808bb1c: 4a80 ldr r2, [pc, #512] ; (808bd20 ) 808bb1e: 217a movs r1, #122 ; 0x7a 808bb20: 200a movs r0, #10 808bb22: f7c9 fb1d bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "Ôèëüòð Í×(Ãö)"); 808bb26: 4a7f ldr r2, [pc, #508] ; (808bd24 ) 808bb28: 218a movs r1, #138 ; 0x8a 808bb2a: 200a movs r0, #10 808bb2c: f7c9 fb18 bl 8055160 LCD_DisplayString(10, LCD_LINE_9, "Ïðåäóïðåæäåíèå"); 808bb30: 4a7d ldr r2, [pc, #500] ; (808bd28 ) 808bb32: 219a movs r1, #154 ; 0x9a 808bb34: 200a movs r0, #10 808bb36: f7c9 fb13 bl 8055160 LCD_DisplayString(10, LCD_LINE_10, "Àâàðèÿ"); 808bb3a: 4a7c ldr r2, [pc, #496] ; (808bd2c ) 808bb3c: 21aa movs r1, #170 ; 0xaa 808bb3e: 200a movs r0, #10 808bb40: f7c9 fb0e bl 8055160 if(menupos == DiagName) 808bb44: 4b6e ldr r3, [pc, #440] ; (808bd00 ) 808bb46: 781b ldrb r3, [r3, #0] 808bb48: b2db uxtb r3, r3 808bb4a: 2b06 cmp r3, #6 808bb4c: d127 bne.n 808bb9e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bb4e: 496d ldr r1, [pc, #436] ; (808bd04 ) 808bb50: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bb54: f7c8 fd5c bl 8054610 if(strlen(str1)) 808bb58: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808bb5c: 781b ldrb r3, [r3, #0] 808bb5e: 2b00 cmp r3, #0 808bb60: d017 beq.n 808bb92 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bb62: 4968 ldr r1, [pc, #416] ; (808bd04 ) 808bb64: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bb68: f7c8 fd52 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 808bb6c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808bb70: 461a mov r2, r3 808bb72: 214a movs r1, #74 ; 0x4a 808bb74: f44f 7082 mov.w r0, #260 ; 0x104 808bb78: f7c9 fb0a bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808bb7c: 4961 ldr r1, [pc, #388] ; (808bd04 ) 808bb7e: f04f 30ff mov.w r0, #4294967295 808bb82: f7c8 fd45 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, "Íàçâàíèå"); 808bb86: 4a6a ldr r2, [pc, #424] ; (808bd30 ) 808bb88: 214a movs r1, #74 ; 0x4a 808bb8a: 200a movs r0, #10 808bb8c: f7c9 fae8 bl 8055160 808bb90: e0ea b.n 808bd68 } else LCD_DisplayString(10, LCD_LINE_4, "Íàçâàíèå"); 808bb92: 4a67 ldr r2, [pc, #412] ; (808bd30 ) 808bb94: 214a movs r1, #74 ; 0x4a 808bb96: 200a movs r0, #10 808bb98: f7c9 fae2 bl 8055160 808bb9c: e0e4 b.n 808bd68 } else { if(strlen(str1)) 808bb9e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808bba2: 781b ldrb r3, [r3, #0] 808bba4: 2b00 cmp r3, #0 808bba6: d016 beq.n 808bbd6 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bba8: 4956 ldr r1, [pc, #344] ; (808bd04 ) 808bbaa: 4862 ldr r0, [pc, #392] ; (808bd34 ) 808bbac: f7c8 fd30 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 808bbb0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808bbb4: 461a mov r2, r3 808bbb6: 214a movs r1, #74 ; 0x4a 808bbb8: f44f 7082 mov.w r0, #260 ; 0x104 808bbbc: f7c9 fae8 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808bbc0: 4950 ldr r1, [pc, #320] ; (808bd04 ) 808bbc2: f04f 30ff mov.w r0, #4294967295 808bbc6: f7c8 fd23 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, "Íàçâàíèå"); //"Çàïèñü â ôàéë" 808bbca: 4a59 ldr r2, [pc, #356] ; (808bd30 ) 808bbcc: 214a movs r1, #74 ; 0x4a 808bbce: 200a movs r0, #10 808bbd0: f7c9 fac6 bl 8055160 808bbd4: e0c8 b.n 808bd68 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808bbd6: 494b ldr r1, [pc, #300] ; (808bd04 ) 808bbd8: f04f 30ff mov.w r0, #4294967295 808bbdc: f7c8 fd18 bl 8054610 LCD_DisplayString(10, LCD_LINE_4,"Íàçâàíèå"); //"Çàïèñü â ôàéë" 808bbe0: 4a53 ldr r2, [pc, #332] ; (808bd30 ) 808bbe2: 214a movs r1, #74 ; 0x4a 808bbe4: 200a movs r0, #10 808bbe6: f7c9 fabb bl 8055160 808bbea: e0bd b.n 808bd68 } } } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808bbec: 4945 ldr r1, [pc, #276] ; (808bd04 ) 808bbee: f04f 30ff mov.w r0, #4294967295 808bbf2: f7c8 fd0d bl 8054610 LCD_DisplayString(10, LCD_LINE_5, "Parameter"); 808bbf6: 4a50 ldr r2, [pc, #320] ; (808bd38 ) 808bbf8: 215a movs r1, #90 ; 0x5a 808bbfa: 200a movs r0, #10 808bbfc: f7c9 fab0 bl 8055160 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808bc00: 4b3d ldr r3, [pc, #244] ; (808bcf8 ) 808bc02: 781b ldrb r3, [r3, #0] 808bc04: b2db uxtb r3, r3 808bc06: 4618 mov r0, r3 808bc08: 4b42 ldr r3, [pc, #264] ; (808bd14 ) 808bc0a: 781b ldrb r3, [r3, #0] 808bc0c: b2db uxtb r3, r3 808bc0e: 4619 mov r1, r3 808bc10: 4a38 ldr r2, [pc, #224] ; (808bcf4 ) 808bc12: 0083 lsls r3, r0, #2 808bc14: 4413 add r3, r2 808bc16: 440b add r3, r1 808bc18: f503 730f add.w r3, r3, #572 ; 0x23c 808bc1c: 781b ldrb r3, [r3, #0] 808bc1e: b2db uxtb r3, r3 808bc20: f003 0307 and.w r3, r3, #7 808bc24: 2b00 cmp r3, #0 808bc26: d103 bne.n 808bc30 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808bc28: 4936 ldr r1, [pc, #216] ; (808bd04 ) 808bc2a: 483b ldr r0, [pc, #236] ; (808bd18 ) 808bc2c: f7c8 fcf0 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, "Value"); 808bc30: 4a42 ldr r2, [pc, #264] ; (808bd3c ) 808bc32: 216a movs r1, #106 ; 0x6a 808bc34: 200a movs r0, #10 808bc36: f7c9 fa93 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "HPF(Hz)"); 808bc3a: 4a41 ldr r2, [pc, #260] ; (808bd40 ) 808bc3c: 217a movs r1, #122 ; 0x7a 808bc3e: 200a movs r0, #10 808bc40: f7c9 fa8e bl 8055160 LCD_DisplayString(10, LCD_LINE_8, "LPF(Hz)"); 808bc44: 4a3f ldr r2, [pc, #252] ; (808bd44 ) 808bc46: 218a movs r1, #138 ; 0x8a 808bc48: 200a movs r0, #10 808bc4a: f7c9 fa89 bl 8055160 LCD_DisplayString(10, LCD_LINE_9, "Warning lvl"); 808bc4e: 4a3e ldr r2, [pc, #248] ; (808bd48 ) 808bc50: 219a movs r1, #154 ; 0x9a 808bc52: 200a movs r0, #10 808bc54: f7c9 fa84 bl 8055160 LCD_DisplayString(10, LCD_LINE_10, "Crash lvl"); 808bc58: 4a3c ldr r2, [pc, #240] ; (808bd4c ) 808bc5a: 21aa movs r1, #170 ; 0xaa 808bc5c: 200a movs r0, #10 808bc5e: f7c9 fa7f bl 8055160 if(menupos == DiagName) 808bc62: 4b27 ldr r3, [pc, #156] ; (808bd00 ) 808bc64: 781b ldrb r3, [r3, #0] 808bc66: b2db uxtb r3, r3 808bc68: 2b06 cmp r3, #6 808bc6a: d127 bne.n 808bcbc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bc6c: 4925 ldr r1, [pc, #148] ; (808bd04 ) 808bc6e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bc72: f7c8 fccd bl 8054610 if(strlen(str1)) 808bc76: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808bc7a: 781b ldrb r3, [r3, #0] 808bc7c: 2b00 cmp r3, #0 808bc7e: d017 beq.n 808bcb0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bc80: 4920 ldr r1, [pc, #128] ; (808bd04 ) 808bc82: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bc86: f7c8 fcc3 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 808bc8a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808bc8e: 461a mov r2, r3 808bc90: 214a movs r1, #74 ; 0x4a 808bc92: f44f 7082 mov.w r0, #260 ; 0x104 808bc96: f7c9 fa7b bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808bc9a: 491a ldr r1, [pc, #104] ; (808bd04 ) 808bc9c: f04f 30ff mov.w r0, #4294967295 808bca0: f7c8 fcb6 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, "Name"); 808bca4: 4a2a ldr r2, [pc, #168] ; (808bd50 ) 808bca6: 214a movs r1, #74 ; 0x4a 808bca8: 200a movs r0, #10 808bcaa: f7c9 fa59 bl 8055160 808bcae: e05b b.n 808bd68 } else LCD_DisplayString(10, LCD_LINE_4, "Name"); 808bcb0: 4a27 ldr r2, [pc, #156] ; (808bd50 ) 808bcb2: 214a movs r1, #74 ; 0x4a 808bcb4: 200a movs r0, #10 808bcb6: f7c9 fa53 bl 8055160 808bcba: e055 b.n 808bd68 } else { if(strlen(str1)) 808bcbc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808bcc0: 781b ldrb r3, [r3, #0] 808bcc2: 2b00 cmp r3, #0 808bcc4: d046 beq.n 808bd54 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bcc6: 490f ldr r1, [pc, #60] ; (808bd04 ) 808bcc8: 481a ldr r0, [pc, #104] ; (808bd34 ) 808bcca: f7c8 fca1 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_4, str1); 808bcce: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808bcd2: 461a mov r2, r3 808bcd4: 214a movs r1, #74 ; 0x4a 808bcd6: f44f 7082 mov.w r0, #260 ; 0x104 808bcda: f7c9 fa59 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808bcde: 4909 ldr r1, [pc, #36] ; (808bd04 ) 808bce0: f04f 30ff mov.w r0, #4294967295 808bce4: f7c8 fc94 bl 8054610 LCD_DisplayString(10, LCD_LINE_4, "Name"); //"Çàïèñü â ôàéë" 808bce8: 4a19 ldr r2, [pc, #100] ; (808bd50 ) 808bcea: 214a movs r1, #74 ; 0x4a 808bcec: 200a movs r0, #10 808bcee: f7c9 fa37 bl 8055160 808bcf2: e039 b.n 808bd68 808bcf4: 20023ea8 .word 0x20023ea8 808bcf8: 20021055 .word 0x20021055 808bcfc: 20020614 .word 0x20020614 808bd00: 20020070 .word 0x20020070 808bd04: ff0a0f1f .word 0xff0a0f1f 808bd08: 20020fc8 .word 0x20020fc8 808bd0c: 200216a4 .word 0x200216a4 808bd10: 080d3a98 .word 0x080d3a98 808bd14: 20021057 .word 0x20021057 808bd18: ff808080 .word 0xff808080 808bd1c: 080d4418 .word 0x080d4418 808bd20: 080d3540 .word 0x080d3540 808bd24: 080d3550 .word 0x080d3550 808bd28: 080d4424 .word 0x080d4424 808bd2c: 080d4434 .word 0x080d4434 808bd30: 080d443c .word 0x080d443c 808bd34: ffd8aa57 .word 0xffd8aa57 808bd38: 080d3aa4 .word 0x080d3aa4 808bd3c: 080d4448 .word 0x080d4448 808bd40: 080d35f0 .word 0x080d35f0 808bd44: 080d35f8 .word 0x080d35f8 808bd48: 080d4450 .word 0x080d4450 808bd4c: 080d445c .word 0x080d445c 808bd50: 080d4468 .word 0x080d4468 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808bd54: 498c ldr r1, [pc, #560] ; (808bf88 ) 808bd56: f04f 30ff mov.w r0, #4294967295 808bd5a: f7c8 fc59 bl 8054610 LCD_DisplayString(10, LCD_LINE_4,"Name"); //"Çàïèñü â ôàéë" 808bd5e: 4a8b ldr r2, [pc, #556] ; (808bf8c ) 808bd60: 214a movs r1, #74 ; 0x4a 808bd62: 200a movs r0, #10 808bd64: f7c9 f9fc bl 8055160 } } // if(menupos != Ok) 808bd68: 4b89 ldr r3, [pc, #548] ; (808bf90 ) 808bd6a: 781b ldrb r3, [r3, #0] 808bd6c: b2db uxtb r3, r3 808bd6e: 2b00 cmp r3, #0 808bd70: d005 beq.n 808bd7e LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808bd72: 4985 ldr r1, [pc, #532] ; (808bf88 ) 808bd74: f04f 30ff mov.w r0, #4294967295 808bd78: f7c8 fc4a bl 8054610 808bd7c: e004 b.n 808bd88 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bd7e: 4982 ldr r1, [pc, #520] ; (808bf88 ) 808bd80: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bd84: f7c8 fc44 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]); 808bd88: 4b82 ldr r3, [pc, #520] ; (808bf94 ) 808bd8a: 7b1b ldrb r3, [r3, #12] 808bd8c: b2db uxtb r3, r3 808bd8e: 461a mov r2, r3 808bd90: 4b81 ldr r3, [pc, #516] ; (808bf98 ) 808bd92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bd96: 461a mov r2, r3 808bd98: 213a movs r1, #58 ; 0x3a 808bd9a: 200a movs r0, #10 808bd9c: f7c9 f9e0 bl 8055160 // k = pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7; 808bda0: 4b7e ldr r3, [pc, #504] ; (808bf9c ) 808bda2: 781b ldrb r3, [r3, #0] 808bda4: b2db uxtb r3, r3 808bda6: 4618 mov r0, r3 808bda8: 4b7d ldr r3, [pc, #500] ; (808bfa0 ) 808bdaa: 781b ldrb r3, [r3, #0] 808bdac: b2db uxtb r3, r3 808bdae: 4619 mov r1, r3 808bdb0: 4a78 ldr r2, [pc, #480] ; (808bf94 ) 808bdb2: 0083 lsls r3, r0, #2 808bdb4: 4413 add r3, r2 808bdb6: 440b add r3, r1 808bdb8: f503 730f add.w r3, r3, #572 ; 0x23c 808bdbc: 781b ldrb r3, [r3, #0] 808bdbe: b2db uxtb r3, r3 808bdc0: f003 0307 and.w r3, r3, #7 808bdc4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 i = 0; 808bdc8: 2300 movs r3, #0 808bdca: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 for(j = 0; j < 3; j++) 808bdce: 2300 movs r3, #0 808bdd0: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808bdd4: e015 b.n 808be02 { if(k & (1 << j)) 808bdd6: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808bdda: 2201 movs r2, #1 808bddc: fa02 f303 lsl.w r3, r2, r3 808bde0: 461a mov r2, r3 808bde2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808bde6: 4013 ands r3, r2 808bde8: 2b00 cmp r3, #0 808bdea: d005 beq.n 808bdf8 { i = (j + 1); 808bdec: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808bdf0: 3301 adds r3, #1 808bdf2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 break; 808bdf6: e008 b.n 808be0a for(j = 0; j < 3; j++) 808bdf8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808bdfc: 3301 adds r3, #1 808bdfe: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808be02: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808be06: 2b02 cmp r3, #2 808be08: d9e5 bls.n 808bdd6 } } if(menupos != DiagAVS) 808be0a: 4b61 ldr r3, [pc, #388] ; (808bf90 ) 808be0c: 781b ldrb r3, [r3, #0] 808be0e: b2db uxtb r3, r3 808be10: 2b07 cmp r3, #7 808be12: d004 beq.n 808be1e LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808be14: 495c ldr r1, [pc, #368] ; (808bf88 ) 808be16: 4863 ldr r0, [pc, #396] ; (808bfa4 ) 808be18: f7c8 fbfa bl 8054610 808be1c: e004 b.n 808be28 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808be1e: 495a ldr r1, [pc, #360] ; (808bf88 ) 808be20: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808be24: f7c8 fbf4 bl 8054610 if((focused) && (menupos == DiagAVS)) 808be28: 4b5f ldr r3, [pc, #380] ; (808bfa8 ) 808be2a: 781b ldrb r3, [r3, #0] 808be2c: b2db uxtb r3, r3 808be2e: 2b00 cmp r3, #0 808be30: d01a beq.n 808be68 808be32: 4b57 ldr r3, [pc, #348] ; (808bf90 ) 808be34: 781b ldrb r3, [r3, #0] 808be36: b2db uxtb r3, r3 808be38: 2b07 cmp r3, #7 808be3a: d115 bne.n 808be68 { if(blk) 808be3c: 4b5b ldr r3, [pc, #364] ; (808bfac ) 808be3e: 681b ldr r3, [r3, #0] 808be40: 2b00 cmp r3, #0 808be42: d022 beq.n 808be8a { LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIPR_1[pardata.LANG][i]); 808be44: 4b53 ldr r3, [pc, #332] ; (808bf94 ) 808be46: 7b1b ldrb r3, [r3, #12] 808be48: b2db uxtb r3, r3 808be4a: 461a mov r2, r3 808be4c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808be50: 4957 ldr r1, [pc, #348] ; (808bfb0 ) 808be52: 0092 lsls r2, r2, #2 808be54: 4413 add r3, r2 808be56: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808be5a: 461a mov r2, r3 808be5c: 215a movs r1, #90 ; 0x5a 808be5e: f44f 7082 mov.w r0, #260 ; 0x104 808be62: f7c9 f995 bl 8055190 if(blk) 808be66: e010 b.n 808be8a } } else LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIPR_1[pardata.LANG][i]); 808be68: 4b4a ldr r3, [pc, #296] ; (808bf94 ) 808be6a: 7b1b ldrb r3, [r3, #12] 808be6c: b2db uxtb r3, r3 808be6e: 461a mov r2, r3 808be70: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808be74: 494e ldr r1, [pc, #312] ; (808bfb0 ) 808be76: 0092 lsls r2, r2, #2 808be78: 4413 add r3, r2 808be7a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808be7e: 461a mov r2, r3 808be80: 215a movs r1, #90 ; 0x5a 808be82: f44f 7082 mov.w r0, #260 ; 0x104 808be86: f7c9 f983 bl 8055190 // k = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 808be8a: 4b44 ldr r3, [pc, #272] ; (808bf9c ) 808be8c: 781b ldrb r3, [r3, #0] 808be8e: b2db uxtb r3, r3 808be90: 4618 mov r0, r3 808be92: 4b43 ldr r3, [pc, #268] ; (808bfa0 ) 808be94: 781b ldrb r3, [r3, #0] 808be96: b2db uxtb r3, r3 808be98: 4619 mov r1, r3 808be9a: 4a3e ldr r2, [pc, #248] ; (808bf94 ) 808be9c: 0083 lsls r3, r0, #2 808be9e: 4413 add r3, r2 808bea0: 440b add r3, r1 808bea2: f503 730f add.w r3, r3, #572 ; 0x23c 808bea6: 781b ldrb r3, [r3, #0] 808bea8: b2db uxtb r3, r3 808beaa: 08db lsrs r3, r3, #3 808beac: b2db uxtb r3, r3 808beae: f003 031f and.w r3, r3, #31 808beb2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 i = 0; 808beb6: 2300 movs r3, #0 808beb8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 for(j = 0; j < 5; j++) 808bebc: 2300 movs r3, #0 808bebe: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808bec2: e014 b.n 808beee { if(k & (1 << j)) 808bec4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808bec8: 2201 movs r2, #1 808beca: fa02 f303 lsl.w r3, r2, r3 808bece: 461a mov r2, r3 808bed0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808bed4: 4013 ands r3, r2 808bed6: 2b00 cmp r3, #0 808bed8: d004 beq.n 808bee4 { i = j; 808beda: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808bede: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 break; 808bee2: e008 b.n 808bef6 for(j = 0; j < 5; j++) 808bee4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808bee8: 3301 adds r3, #1 808beea: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808beee: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808bef2: 2b04 cmp r3, #4 808bef4: d9e6 bls.n 808bec4 } } if(menupos != DiagValue) 808bef6: 4b26 ldr r3, [pc, #152] ; (808bf90 ) 808bef8: 781b ldrb r3, [r3, #0] 808befa: b2db uxtb r3, r3 808befc: 2b08 cmp r3, #8 808befe: d004 beq.n 808bf0a LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bf00: 4921 ldr r1, [pc, #132] ; (808bf88 ) 808bf02: 4828 ldr r0, [pc, #160] ; (808bfa4 ) 808bf04: f7c8 fb84 bl 8054610 808bf08: e004 b.n 808bf14 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bf0a: 491f ldr r1, [pc, #124] ; (808bf88 ) 808bf0c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bf10: f7c8 fb7e bl 8054610 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808bf14: 4b21 ldr r3, [pc, #132] ; (808bf9c ) 808bf16: 781b ldrb r3, [r3, #0] 808bf18: b2db uxtb r3, r3 808bf1a: 4618 mov r0, r3 808bf1c: 4b20 ldr r3, [pc, #128] ; (808bfa0 ) 808bf1e: 781b ldrb r3, [r3, #0] 808bf20: b2db uxtb r3, r3 808bf22: 4619 mov r1, r3 808bf24: 4a1b ldr r2, [pc, #108] ; (808bf94 ) 808bf26: 0083 lsls r3, r0, #2 808bf28: 4413 add r3, r2 808bf2a: 440b add r3, r1 808bf2c: f503 730f add.w r3, r3, #572 ; 0x23c 808bf30: 781b ldrb r3, [r3, #0] 808bf32: b2db uxtb r3, r3 808bf34: f003 0307 and.w r3, r3, #7 808bf38: 2b00 cmp r3, #0 808bf3a: d103 bne.n 808bf44 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808bf3c: 4912 ldr r1, [pc, #72] ; (808bf88 ) 808bf3e: 481d ldr r0, [pc, #116] ; (808bfb4 ) 808bf40: f7c8 fb66 bl 8054610 if((focused) && (menupos == DiagValue)) 808bf44: 4b18 ldr r3, [pc, #96] ; (808bfa8 ) 808bf46: 781b ldrb r3, [r3, #0] 808bf48: b2db uxtb r3, r3 808bf4a: 2b00 cmp r3, #0 808bf4c: d036 beq.n 808bfbc 808bf4e: 4b10 ldr r3, [pc, #64] ; (808bf90 ) 808bf50: 781b ldrb r3, [r3, #0] 808bf52: b2db uxtb r3, r3 808bf54: 2b08 cmp r3, #8 808bf56: d131 bne.n 808bfbc { if(blk) 808bf58: 4b14 ldr r3, [pc, #80] ; (808bfac ) 808bf5a: 681b ldr r3, [r3, #0] 808bf5c: 2b00 cmp r3, #0 808bf5e: d040 beq.n 808bfe2 { LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][i]); 808bf60: 4b0c ldr r3, [pc, #48] ; (808bf94 ) 808bf62: 7b1b ldrb r3, [r3, #12] 808bf64: b2db uxtb r3, r3 808bf66: 4618 mov r0, r3 808bf68: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808bf6c: 4912 ldr r1, [pc, #72] ; (808bfb8 ) 808bf6e: 4603 mov r3, r0 808bf70: 009b lsls r3, r3, #2 808bf72: 4403 add r3, r0 808bf74: 4413 add r3, r2 808bf76: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808bf7a: 461a mov r2, r3 808bf7c: 216a movs r1, #106 ; 0x6a 808bf7e: f44f 7082 mov.w r0, #260 ; 0x104 808bf82: f7c9 f905 bl 8055190 if(blk) 808bf86: e02c b.n 808bfe2 808bf88: ff0a0f1f .word 0xff0a0f1f 808bf8c: 080d4468 .word 0x080d4468 808bf90: 20020070 .word 0x20020070 808bf94: 20023ea8 .word 0x20023ea8 808bf98: 200205cc .word 0x200205cc 808bf9c: 20021055 .word 0x20021055 808bfa0: 20021057 .word 0x20021057 808bfa4: ffd8aa57 .word 0xffd8aa57 808bfa8: 20020fc8 .word 0x20020fc8 808bfac: 200216a4 .word 0x200216a4 808bfb0: 20020184 .word 0x20020184 808bfb4: ff808080 .word 0xff808080 808bfb8: 200202c4 .word 0x200202c4 } } else LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][i]); 808bfbc: 4b9d ldr r3, [pc, #628] ; (808c234 ) 808bfbe: 7b1b ldrb r3, [r3, #12] 808bfc0: b2db uxtb r3, r3 808bfc2: 4618 mov r0, r3 808bfc4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808bfc8: 499b ldr r1, [pc, #620] ; (808c238 ) 808bfca: 4603 mov r3, r0 808bfcc: 009b lsls r3, r3, #2 808bfce: 4403 add r3, r0 808bfd0: 4413 add r3, r2 808bfd2: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808bfd6: 461a mov r2, r3 808bfd8: 216a movs r1, #106 ; 0x6a 808bfda: f44f 7082 mov.w r0, #260 ; 0x104 808bfde: f7c9 f8d7 bl 8055190 if(menupos == DiagHP_IDT) 808bfe2: 4b96 ldr r3, [pc, #600] ; (808c23c ) 808bfe4: 781b ldrb r3, [r3, #0] 808bfe6: b2db uxtb r3, r3 808bfe8: 2b0d cmp r3, #13 808bfea: d15d bne.n 808c0a8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bfec: 4994 ldr r1, [pc, #592] ; (808c240 ) 808bfee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bff2: f7c8 fb0d bl 8054610 if(blk) 808bff6: 4b93 ldr r3, [pc, #588] ; (808c244 ) 808bff8: 681b ldr r3, [r3, #0] 808bffa: 2b00 cmp r3, #0 808bffc: d00b beq.n 808c016 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808bffe: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c002: b2db uxtb r3, r3 808c004: 461a mov r2, r3 808c006: 4b90 ldr r3, [pc, #576] ; (808c248 ) 808c008: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c00c: 461a mov r2, r3 808c00e: 217a movs r1, #122 ; 0x7a 808c010: 20c6 movs r0, #198 ; 0xc6 808c012: f7c9 f8a5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c016: 498a ldr r1, [pc, #552] ; (808c240 ) 808c018: 488c ldr r0, [pc, #560] ; (808c24c ) 808c01a: f7c8 faf9 bl 8054610 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808c01e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808c022: b2db uxtb r3, r3 808c024: 461a mov r2, r3 808c026: 4b88 ldr r3, [pc, #544] ; (808c248 ) 808c028: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c02c: 461a mov r2, r3 808c02e: 217a movs r1, #122 ; 0x7a 808c030: 20d6 movs r0, #214 ; 0xd6 808c032: f7c9 f895 bl 8055160 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808c036: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808c03a: b2db uxtb r3, r3 808c03c: 461a mov r2, r3 808c03e: 4b82 ldr r3, [pc, #520] ; (808c248 ) 808c040: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c044: 461a mov r2, r3 808c046: 217a movs r1, #122 ; 0x7a 808c048: 20e6 movs r0, #230 ; 0xe6 808c04a: f7c9 f889 bl 8055160 LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808c04e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808c052: b2db uxtb r3, r3 808c054: 461a mov r2, r3 808c056: 4b7c ldr r3, [pc, #496] ; (808c248 ) 808c058: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c05c: 461a mov r2, r3 808c05e: 217a movs r1, #122 ; 0x7a 808c060: 20f6 movs r0, #246 ; 0xf6 808c062: f7c9 f87d bl 8055160 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808c066: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808c06a: b2db uxtb r3, r3 808c06c: 461a mov r2, r3 808c06e: 4b76 ldr r3, [pc, #472] ; (808c248 ) 808c070: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c074: 461a mov r2, r3 808c076: 217a movs r1, #122 ; 0x7a 808c078: f44f 7083 mov.w r0, #262 ; 0x106 808c07c: f7c9 f870 bl 8055160 LCD_DisplayString(278, LCD_LINE_7, "."); 808c080: 4a73 ldr r2, [pc, #460] ; (808c250 ) 808c082: 217a movs r1, #122 ; 0x7a 808c084: f44f 708b mov.w r0, #278 ; 0x116 808c088: f7c9 f86a bl 8055160 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808c08c: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808c090: b2db uxtb r3, r3 808c092: 461a mov r2, r3 808c094: 4b6c ldr r3, [pc, #432] ; (808c248 ) 808c096: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c09a: 461a mov r2, r3 808c09c: 217a movs r1, #122 ; 0x7a 808c09e: f44f 7093 mov.w r0, #294 ; 0x126 808c0a2: f7c9 f85d bl 8055160 808c0a6: e1fd b.n 808c4a4 } else if(menupos == DiagHP_IET) 808c0a8: 4b64 ldr r3, [pc, #400] ; (808c23c ) 808c0aa: 781b ldrb r3, [r3, #0] 808c0ac: b2db uxtb r3, r3 808c0ae: 2b0e cmp r3, #14 808c0b0: d15d bne.n 808c16e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c0b2: 4963 ldr r1, [pc, #396] ; (808c240 ) 808c0b4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c0b8: f7c8 faaa bl 8054610 if(blk) 808c0bc: 4b61 ldr r3, [pc, #388] ; (808c244 ) 808c0be: 681b ldr r3, [r3, #0] 808c0c0: 2b00 cmp r3, #0 808c0c2: d00b beq.n 808c0dc LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808c0c4: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808c0c8: b2db uxtb r3, r3 808c0ca: 461a mov r2, r3 808c0cc: 4b5e ldr r3, [pc, #376] ; (808c248 ) 808c0ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c0d2: 461a mov r2, r3 808c0d4: 217a movs r1, #122 ; 0x7a 808c0d6: 20d6 movs r0, #214 ; 0xd6 808c0d8: f7c9 f842 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c0dc: 4958 ldr r1, [pc, #352] ; (808c240 ) 808c0de: 485b ldr r0, [pc, #364] ; (808c24c ) 808c0e0: f7c8 fa96 bl 8054610 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808c0e4: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c0e8: b2db uxtb r3, r3 808c0ea: 461a mov r2, r3 808c0ec: 4b56 ldr r3, [pc, #344] ; (808c248 ) 808c0ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c0f2: 461a mov r2, r3 808c0f4: 217a movs r1, #122 ; 0x7a 808c0f6: 20c6 movs r0, #198 ; 0xc6 808c0f8: f7c9 f832 bl 8055160 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808c0fc: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808c100: b2db uxtb r3, r3 808c102: 461a mov r2, r3 808c104: 4b50 ldr r3, [pc, #320] ; (808c248 ) 808c106: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c10a: 461a mov r2, r3 808c10c: 217a movs r1, #122 ; 0x7a 808c10e: 20e6 movs r0, #230 ; 0xe6 808c110: f7c9 f826 bl 8055160 LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808c114: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808c118: b2db uxtb r3, r3 808c11a: 461a mov r2, r3 808c11c: 4b4a ldr r3, [pc, #296] ; (808c248 ) 808c11e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c122: 461a mov r2, r3 808c124: 217a movs r1, #122 ; 0x7a 808c126: 20f6 movs r0, #246 ; 0xf6 808c128: f7c9 f81a bl 8055160 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808c12c: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808c130: b2db uxtb r3, r3 808c132: 461a mov r2, r3 808c134: 4b44 ldr r3, [pc, #272] ; (808c248 ) 808c136: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c13a: 461a mov r2, r3 808c13c: 217a movs r1, #122 ; 0x7a 808c13e: f44f 7083 mov.w r0, #262 ; 0x106 808c142: f7c9 f80d bl 8055160 LCD_DisplayString(278, LCD_LINE_7, "."); 808c146: 4a42 ldr r2, [pc, #264] ; (808c250 ) 808c148: 217a movs r1, #122 ; 0x7a 808c14a: f44f 708b mov.w r0, #278 ; 0x116 808c14e: f7c9 f807 bl 8055160 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808c152: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808c156: b2db uxtb r3, r3 808c158: 461a mov r2, r3 808c15a: 4b3b ldr r3, [pc, #236] ; (808c248 ) 808c15c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c160: 461a mov r2, r3 808c162: 217a movs r1, #122 ; 0x7a 808c164: f44f 7093 mov.w r0, #294 ; 0x126 808c168: f7c8 fffa bl 8055160 808c16c: e19a b.n 808c4a4 } else if(menupos == DiagHP_IES) 808c16e: 4b33 ldr r3, [pc, #204] ; (808c23c ) 808c170: 781b ldrb r3, [r3, #0] 808c172: b2db uxtb r3, r3 808c174: 2b0f cmp r3, #15 808c176: d16d bne.n 808c254 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c178: 4931 ldr r1, [pc, #196] ; (808c240 ) 808c17a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c17e: f7c8 fa47 bl 8054610 if(blk) 808c182: 4b30 ldr r3, [pc, #192] ; (808c244 ) 808c184: 681b ldr r3, [r3, #0] 808c186: 2b00 cmp r3, #0 808c188: d00b beq.n 808c1a2 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808c18a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808c18e: b2db uxtb r3, r3 808c190: 461a mov r2, r3 808c192: 4b2d ldr r3, [pc, #180] ; (808c248 ) 808c194: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c198: 461a mov r2, r3 808c19a: 217a movs r1, #122 ; 0x7a 808c19c: 20e6 movs r0, #230 ; 0xe6 808c19e: f7c8 ffdf bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c1a2: 4927 ldr r1, [pc, #156] ; (808c240 ) 808c1a4: 4829 ldr r0, [pc, #164] ; (808c24c ) 808c1a6: f7c8 fa33 bl 8054610 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808c1aa: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c1ae: b2db uxtb r3, r3 808c1b0: 461a mov r2, r3 808c1b2: 4b25 ldr r3, [pc, #148] ; (808c248 ) 808c1b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c1b8: 461a mov r2, r3 808c1ba: 217a movs r1, #122 ; 0x7a 808c1bc: 20c6 movs r0, #198 ; 0xc6 808c1be: f7c8 ffcf bl 8055160 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808c1c2: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808c1c6: b2db uxtb r3, r3 808c1c8: 461a mov r2, r3 808c1ca: 4b1f ldr r3, [pc, #124] ; (808c248 ) 808c1cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c1d0: 461a mov r2, r3 808c1d2: 217a movs r1, #122 ; 0x7a 808c1d4: 20d6 movs r0, #214 ; 0xd6 808c1d6: f7c8 ffc3 bl 8055160 LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808c1da: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808c1de: b2db uxtb r3, r3 808c1e0: 461a mov r2, r3 808c1e2: 4b19 ldr r3, [pc, #100] ; (808c248 ) 808c1e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c1e8: 461a mov r2, r3 808c1ea: 217a movs r1, #122 ; 0x7a 808c1ec: 20f6 movs r0, #246 ; 0xf6 808c1ee: f7c8 ffb7 bl 8055160 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808c1f2: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808c1f6: b2db uxtb r3, r3 808c1f8: 461a mov r2, r3 808c1fa: 4b13 ldr r3, [pc, #76] ; (808c248 ) 808c1fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c200: 461a mov r2, r3 808c202: 217a movs r1, #122 ; 0x7a 808c204: f44f 7083 mov.w r0, #262 ; 0x106 808c208: f7c8 ffaa bl 8055160 LCD_DisplayString(278, LCD_LINE_7, "."); 808c20c: 4a10 ldr r2, [pc, #64] ; (808c250 ) 808c20e: 217a movs r1, #122 ; 0x7a 808c210: f44f 708b mov.w r0, #278 ; 0x116 808c214: f7c8 ffa4 bl 8055160 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808c218: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808c21c: b2db uxtb r3, r3 808c21e: 461a mov r2, r3 808c220: 4b09 ldr r3, [pc, #36] ; (808c248 ) 808c222: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c226: 461a mov r2, r3 808c228: 217a movs r1, #122 ; 0x7a 808c22a: f44f 7093 mov.w r0, #294 ; 0x126 808c22e: f7c8 ff97 bl 8055160 808c232: e137 b.n 808c4a4 808c234: 20023ea8 .word 0x20023ea8 808c238: 200202c4 .word 0x200202c4 808c23c: 20020070 .word 0x20020070 808c240: ff0a0f1f .word 0xff0a0f1f 808c244: 200216a4 .word 0x200216a4 808c248: 2002096c .word 0x2002096c 808c24c: ffd8aa57 .word 0xffd8aa57 808c250: 080d3b58 .word 0x080d3b58 } else if(menupos == DiagHP_IED) 808c254: 4bc5 ldr r3, [pc, #788] ; (808c56c ) 808c256: 781b ldrb r3, [r3, #0] 808c258: b2db uxtb r3, r3 808c25a: 2b10 cmp r3, #16 808c25c: d15d bne.n 808c31a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c25e: 49c4 ldr r1, [pc, #784] ; (808c570 ) 808c260: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c264: f7c8 f9d4 bl 8054610 if(blk) 808c268: 4bc2 ldr r3, [pc, #776] ; (808c574 ) 808c26a: 681b ldr r3, [r3, #0] 808c26c: 2b00 cmp r3, #0 808c26e: d00b beq.n 808c288 LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808c270: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808c274: b2db uxtb r3, r3 808c276: 461a mov r2, r3 808c278: 4bbf ldr r3, [pc, #764] ; (808c578 ) 808c27a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c27e: 461a mov r2, r3 808c280: 217a movs r1, #122 ; 0x7a 808c282: 20f6 movs r0, #246 ; 0xf6 808c284: f7c8 ff6c bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c288: 49b9 ldr r1, [pc, #740] ; (808c570 ) 808c28a: 48bc ldr r0, [pc, #752] ; (808c57c ) 808c28c: f7c8 f9c0 bl 8054610 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808c290: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c294: b2db uxtb r3, r3 808c296: 461a mov r2, r3 808c298: 4bb7 ldr r3, [pc, #732] ; (808c578 ) 808c29a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c29e: 461a mov r2, r3 808c2a0: 217a movs r1, #122 ; 0x7a 808c2a2: 20c6 movs r0, #198 ; 0xc6 808c2a4: f7c8 ff5c bl 8055160 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808c2a8: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808c2ac: b2db uxtb r3, r3 808c2ae: 461a mov r2, r3 808c2b0: 4bb1 ldr r3, [pc, #708] ; (808c578 ) 808c2b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c2b6: 461a mov r2, r3 808c2b8: 217a movs r1, #122 ; 0x7a 808c2ba: 20d6 movs r0, #214 ; 0xd6 808c2bc: f7c8 ff50 bl 8055160 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808c2c0: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808c2c4: b2db uxtb r3, r3 808c2c6: 461a mov r2, r3 808c2c8: 4bab ldr r3, [pc, #684] ; (808c578 ) 808c2ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c2ce: 461a mov r2, r3 808c2d0: 217a movs r1, #122 ; 0x7a 808c2d2: 20e6 movs r0, #230 ; 0xe6 808c2d4: f7c8 ff44 bl 8055160 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808c2d8: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808c2dc: b2db uxtb r3, r3 808c2de: 461a mov r2, r3 808c2e0: 4ba5 ldr r3, [pc, #660] ; (808c578 ) 808c2e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c2e6: 461a mov r2, r3 808c2e8: 217a movs r1, #122 ; 0x7a 808c2ea: f44f 7083 mov.w r0, #262 ; 0x106 808c2ee: f7c8 ff37 bl 8055160 LCD_DisplayString(278, LCD_LINE_7, "."); 808c2f2: 4aa3 ldr r2, [pc, #652] ; (808c580 ) 808c2f4: 217a movs r1, #122 ; 0x7a 808c2f6: f44f 708b mov.w r0, #278 ; 0x116 808c2fa: f7c8 ff31 bl 8055160 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808c2fe: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808c302: b2db uxtb r3, r3 808c304: 461a mov r2, r3 808c306: 4b9c ldr r3, [pc, #624] ; (808c578 ) 808c308: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c30c: 461a mov r2, r3 808c30e: 217a movs r1, #122 ; 0x7a 808c310: f44f 7093 mov.w r0, #294 ; 0x126 808c314: f7c8 ff24 bl 8055160 808c318: e0c4 b.n 808c4a4 } else if(menupos == DiagHP_IEE) 808c31a: 4b94 ldr r3, [pc, #592] ; (808c56c ) 808c31c: 781b ldrb r3, [r3, #0] 808c31e: b2db uxtb r3, r3 808c320: 2b11 cmp r3, #17 808c322: d15d bne.n 808c3e0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c324: 4992 ldr r1, [pc, #584] ; (808c570 ) 808c326: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c32a: f7c8 f971 bl 8054610 if(blk) 808c32e: 4b91 ldr r3, [pc, #580] ; (808c574 ) 808c330: 681b ldr r3, [r3, #0] 808c332: 2b00 cmp r3, #0 808c334: d00c beq.n 808c350 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808c336: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808c33a: b2db uxtb r3, r3 808c33c: 461a mov r2, r3 808c33e: 4b8e ldr r3, [pc, #568] ; (808c578 ) 808c340: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c344: 461a mov r2, r3 808c346: 217a movs r1, #122 ; 0x7a 808c348: f44f 7083 mov.w r0, #262 ; 0x106 808c34c: f7c8 ff08 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c350: 4987 ldr r1, [pc, #540] ; (808c570 ) 808c352: 488a ldr r0, [pc, #552] ; (808c57c ) 808c354: f7c8 f95c bl 8054610 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808c358: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c35c: b2db uxtb r3, r3 808c35e: 461a mov r2, r3 808c360: 4b85 ldr r3, [pc, #532] ; (808c578 ) 808c362: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c366: 461a mov r2, r3 808c368: 217a movs r1, #122 ; 0x7a 808c36a: 20c6 movs r0, #198 ; 0xc6 808c36c: f7c8 fef8 bl 8055160 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808c370: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808c374: b2db uxtb r3, r3 808c376: 461a mov r2, r3 808c378: 4b7f ldr r3, [pc, #508] ; (808c578 ) 808c37a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c37e: 461a mov r2, r3 808c380: 217a movs r1, #122 ; 0x7a 808c382: 20d6 movs r0, #214 ; 0xd6 808c384: f7c8 feec bl 8055160 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808c388: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808c38c: b2db uxtb r3, r3 808c38e: 461a mov r2, r3 808c390: 4b79 ldr r3, [pc, #484] ; (808c578 ) 808c392: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c396: 461a mov r2, r3 808c398: 217a movs r1, #122 ; 0x7a 808c39a: 20e6 movs r0, #230 ; 0xe6 808c39c: f7c8 fee0 bl 8055160 LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808c3a0: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808c3a4: b2db uxtb r3, r3 808c3a6: 461a mov r2, r3 808c3a8: 4b73 ldr r3, [pc, #460] ; (808c578 ) 808c3aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c3ae: 461a mov r2, r3 808c3b0: 217a movs r1, #122 ; 0x7a 808c3b2: 20f6 movs r0, #246 ; 0xf6 808c3b4: f7c8 fed4 bl 8055160 LCD_DisplayString(278, LCD_LINE_7, "."); 808c3b8: 4a71 ldr r2, [pc, #452] ; (808c580 ) 808c3ba: 217a movs r1, #122 ; 0x7a 808c3bc: f44f 708b mov.w r0, #278 ; 0x116 808c3c0: f7c8 fece bl 8055160 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808c3c4: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808c3c8: b2db uxtb r3, r3 808c3ca: 461a mov r2, r3 808c3cc: 4b6a ldr r3, [pc, #424] ; (808c578 ) 808c3ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c3d2: 461a mov r2, r3 808c3d4: 217a movs r1, #122 ; 0x7a 808c3d6: f44f 7093 mov.w r0, #294 ; 0x126 808c3da: f7c8 fec1 bl 8055160 808c3de: e061 b.n 808c4a4 } else if(menupos == DiagHP_IKD) 808c3e0: 4b62 ldr r3, [pc, #392] ; (808c56c ) 808c3e2: 781b ldrb r3, [r3, #0] 808c3e4: b2db uxtb r3, r3 808c3e6: 2b12 cmp r3, #18 808c3e8: d15c bne.n 808c4a4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c3ea: 4961 ldr r1, [pc, #388] ; (808c570 ) 808c3ec: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c3f0: f7c8 f90e bl 8054610 if(blk) 808c3f4: 4b5f ldr r3, [pc, #380] ; (808c574 ) 808c3f6: 681b ldr r3, [r3, #0] 808c3f8: 2b00 cmp r3, #0 808c3fa: d00c beq.n 808c416 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808c3fc: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808c400: b2db uxtb r3, r3 808c402: 461a mov r2, r3 808c404: 4b5c ldr r3, [pc, #368] ; (808c578 ) 808c406: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c40a: 461a mov r2, r3 808c40c: 217a movs r1, #122 ; 0x7a 808c40e: f44f 7093 mov.w r0, #294 ; 0x126 808c412: f7c8 fea5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c416: 4956 ldr r1, [pc, #344] ; (808c570 ) 808c418: 4858 ldr r0, [pc, #352] ; (808c57c ) 808c41a: f7c8 f8f9 bl 8054610 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808c41e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c422: b2db uxtb r3, r3 808c424: 461a mov r2, r3 808c426: 4b54 ldr r3, [pc, #336] ; (808c578 ) 808c428: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c42c: 461a mov r2, r3 808c42e: 217a movs r1, #122 ; 0x7a 808c430: 20c6 movs r0, #198 ; 0xc6 808c432: f7c8 fe95 bl 8055160 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808c436: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808c43a: b2db uxtb r3, r3 808c43c: 461a mov r2, r3 808c43e: 4b4e ldr r3, [pc, #312] ; (808c578 ) 808c440: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c444: 461a mov r2, r3 808c446: 217a movs r1, #122 ; 0x7a 808c448: 20d6 movs r0, #214 ; 0xd6 808c44a: f7c8 fe89 bl 8055160 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808c44e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808c452: b2db uxtb r3, r3 808c454: 461a mov r2, r3 808c456: 4b48 ldr r3, [pc, #288] ; (808c578 ) 808c458: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c45c: 461a mov r2, r3 808c45e: 217a movs r1, #122 ; 0x7a 808c460: 20e6 movs r0, #230 ; 0xe6 808c462: f7c8 fe7d bl 8055160 LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808c466: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808c46a: b2db uxtb r3, r3 808c46c: 461a mov r2, r3 808c46e: 4b42 ldr r3, [pc, #264] ; (808c578 ) 808c470: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c474: 461a mov r2, r3 808c476: 217a movs r1, #122 ; 0x7a 808c478: 20f6 movs r0, #246 ; 0xf6 808c47a: f7c8 fe71 bl 8055160 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808c47e: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808c482: b2db uxtb r3, r3 808c484: 461a mov r2, r3 808c486: 4b3c ldr r3, [pc, #240] ; (808c578 ) 808c488: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c48c: 461a mov r2, r3 808c48e: 217a movs r1, #122 ; 0x7a 808c490: f44f 7083 mov.w r0, #262 ; 0x106 808c494: f7c8 fe64 bl 8055160 LCD_DisplayString(278, LCD_LINE_7, "."); 808c498: 4a39 ldr r2, [pc, #228] ; (808c580 ) 808c49a: 217a movs r1, #122 ; 0x7a 808c49c: f44f 708b mov.w r0, #278 ; 0x116 808c4a0: f7c8 fe5e bl 8055160 } //LP if(menupos == DiagLP_IDT) 808c4a4: 4b31 ldr r3, [pc, #196] ; (808c56c ) 808c4a6: 781b ldrb r3, [r3, #0] 808c4a8: b2db uxtb r3, r3 808c4aa: 2b13 cmp r3, #19 808c4ac: d16a bne.n 808c584 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c4ae: 4930 ldr r1, [pc, #192] ; (808c570 ) 808c4b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c4b4: f7c8 f8ac bl 8054610 if(blk) 808c4b8: 4b2e ldr r3, [pc, #184] ; (808c574 ) 808c4ba: 681b ldr r3, [r3, #0] 808c4bc: 2b00 cmp r3, #0 808c4be: d00b beq.n 808c4d8 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808c4c0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c4c4: b2db uxtb r3, r3 808c4c6: 461a mov r2, r3 808c4c8: 4b2b ldr r3, [pc, #172] ; (808c578 ) 808c4ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c4ce: 461a mov r2, r3 808c4d0: 218a movs r1, #138 ; 0x8a 808c4d2: 20c6 movs r0, #198 ; 0xc6 808c4d4: f7c8 fe44 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c4d8: 4925 ldr r1, [pc, #148] ; (808c570 ) 808c4da: 4828 ldr r0, [pc, #160] ; (808c57c ) 808c4dc: f7c8 f898 bl 8054610 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808c4e0: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808c4e4: b2db uxtb r3, r3 808c4e6: 461a mov r2, r3 808c4e8: 4b23 ldr r3, [pc, #140] ; (808c578 ) 808c4ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c4ee: 461a mov r2, r3 808c4f0: 218a movs r1, #138 ; 0x8a 808c4f2: 20d6 movs r0, #214 ; 0xd6 808c4f4: f7c8 fe34 bl 8055160 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808c4f8: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808c4fc: b2db uxtb r3, r3 808c4fe: 461a mov r2, r3 808c500: 4b1d ldr r3, [pc, #116] ; (808c578 ) 808c502: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c506: 461a mov r2, r3 808c508: 218a movs r1, #138 ; 0x8a 808c50a: 20e6 movs r0, #230 ; 0xe6 808c50c: f7c8 fe28 bl 8055160 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808c510: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808c514: b2db uxtb r3, r3 808c516: 461a mov r2, r3 808c518: 4b17 ldr r3, [pc, #92] ; (808c578 ) 808c51a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c51e: 461a mov r2, r3 808c520: 218a movs r1, #138 ; 0x8a 808c522: 20f6 movs r0, #246 ; 0xf6 808c524: f7c8 fe1c bl 8055160 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808c528: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808c52c: b2db uxtb r3, r3 808c52e: 461a mov r2, r3 808c530: 4b11 ldr r3, [pc, #68] ; (808c578 ) 808c532: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c536: 461a mov r2, r3 808c538: 218a movs r1, #138 ; 0x8a 808c53a: f44f 7083 mov.w r0, #262 ; 0x106 808c53e: f7c8 fe0f bl 8055160 LCD_DisplayString(278, LCD_LINE_8, "."); 808c542: 4a0f ldr r2, [pc, #60] ; (808c580 ) 808c544: 218a movs r1, #138 ; 0x8a 808c546: f44f 708b mov.w r0, #278 ; 0x116 808c54a: f7c8 fe09 bl 8055160 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808c54e: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808c552: b2db uxtb r3, r3 808c554: 461a mov r2, r3 808c556: 4b08 ldr r3, [pc, #32] ; (808c578 ) 808c558: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c55c: 461a mov r2, r3 808c55e: 218a movs r1, #138 ; 0x8a 808c560: f44f 7093 mov.w r0, #294 ; 0x126 808c564: f7c8 fdfc bl 8055160 808c568: e206 b.n 808c978 808c56a: bf00 nop 808c56c: 20020070 .word 0x20020070 808c570: ff0a0f1f .word 0xff0a0f1f 808c574: 200216a4 .word 0x200216a4 808c578: 2002096c .word 0x2002096c 808c57c: ffd8aa57 .word 0xffd8aa57 808c580: 080d3b58 .word 0x080d3b58 } else if(menupos == DiagLP_IET) 808c584: 4bc5 ldr r3, [pc, #788] ; (808c89c ) 808c586: 781b ldrb r3, [r3, #0] 808c588: b2db uxtb r3, r3 808c58a: 2b14 cmp r3, #20 808c58c: d15d bne.n 808c64a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c58e: 49c4 ldr r1, [pc, #784] ; (808c8a0 ) 808c590: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c594: f7c8 f83c bl 8054610 if(blk) 808c598: 4bc2 ldr r3, [pc, #776] ; (808c8a4 ) 808c59a: 681b ldr r3, [r3, #0] 808c59c: 2b00 cmp r3, #0 808c59e: d00b beq.n 808c5b8 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808c5a0: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808c5a4: b2db uxtb r3, r3 808c5a6: 461a mov r2, r3 808c5a8: 4bbf ldr r3, [pc, #764] ; (808c8a8 ) 808c5aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c5ae: 461a mov r2, r3 808c5b0: 218a movs r1, #138 ; 0x8a 808c5b2: 20d6 movs r0, #214 ; 0xd6 808c5b4: f7c8 fdd4 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c5b8: 49b9 ldr r1, [pc, #740] ; (808c8a0 ) 808c5ba: 48bc ldr r0, [pc, #752] ; (808c8ac ) 808c5bc: f7c8 f828 bl 8054610 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808c5c0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c5c4: b2db uxtb r3, r3 808c5c6: 461a mov r2, r3 808c5c8: 4bb7 ldr r3, [pc, #732] ; (808c8a8 ) 808c5ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c5ce: 461a mov r2, r3 808c5d0: 218a movs r1, #138 ; 0x8a 808c5d2: 20c6 movs r0, #198 ; 0xc6 808c5d4: f7c8 fdc4 bl 8055160 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808c5d8: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808c5dc: b2db uxtb r3, r3 808c5de: 461a mov r2, r3 808c5e0: 4bb1 ldr r3, [pc, #708] ; (808c8a8 ) 808c5e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c5e6: 461a mov r2, r3 808c5e8: 218a movs r1, #138 ; 0x8a 808c5ea: 20e6 movs r0, #230 ; 0xe6 808c5ec: f7c8 fdb8 bl 8055160 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808c5f0: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808c5f4: b2db uxtb r3, r3 808c5f6: 461a mov r2, r3 808c5f8: 4bab ldr r3, [pc, #684] ; (808c8a8 ) 808c5fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c5fe: 461a mov r2, r3 808c600: 218a movs r1, #138 ; 0x8a 808c602: 20f6 movs r0, #246 ; 0xf6 808c604: f7c8 fdac bl 8055160 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808c608: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808c60c: b2db uxtb r3, r3 808c60e: 461a mov r2, r3 808c610: 4ba5 ldr r3, [pc, #660] ; (808c8a8 ) 808c612: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c616: 461a mov r2, r3 808c618: 218a movs r1, #138 ; 0x8a 808c61a: f44f 7083 mov.w r0, #262 ; 0x106 808c61e: f7c8 fd9f bl 8055160 LCD_DisplayString(278, LCD_LINE_8, "."); 808c622: 4aa3 ldr r2, [pc, #652] ; (808c8b0 ) 808c624: 218a movs r1, #138 ; 0x8a 808c626: f44f 708b mov.w r0, #278 ; 0x116 808c62a: f7c8 fd99 bl 8055160 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808c62e: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808c632: b2db uxtb r3, r3 808c634: 461a mov r2, r3 808c636: 4b9c ldr r3, [pc, #624] ; (808c8a8 ) 808c638: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c63c: 461a mov r2, r3 808c63e: 218a movs r1, #138 ; 0x8a 808c640: f44f 7093 mov.w r0, #294 ; 0x126 808c644: f7c8 fd8c bl 8055160 808c648: e196 b.n 808c978 } else if(menupos == DiagLP_IES) 808c64a: 4b94 ldr r3, [pc, #592] ; (808c89c ) 808c64c: 781b ldrb r3, [r3, #0] 808c64e: b2db uxtb r3, r3 808c650: 2b15 cmp r3, #21 808c652: d15d bne.n 808c710 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c654: 4992 ldr r1, [pc, #584] ; (808c8a0 ) 808c656: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c65a: f7c7 ffd9 bl 8054610 if(blk) 808c65e: 4b91 ldr r3, [pc, #580] ; (808c8a4 ) 808c660: 681b ldr r3, [r3, #0] 808c662: 2b00 cmp r3, #0 808c664: d00b beq.n 808c67e LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808c666: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808c66a: b2db uxtb r3, r3 808c66c: 461a mov r2, r3 808c66e: 4b8e ldr r3, [pc, #568] ; (808c8a8 ) 808c670: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c674: 461a mov r2, r3 808c676: 218a movs r1, #138 ; 0x8a 808c678: 20e6 movs r0, #230 ; 0xe6 808c67a: f7c8 fd71 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c67e: 4988 ldr r1, [pc, #544] ; (808c8a0 ) 808c680: 488a ldr r0, [pc, #552] ; (808c8ac ) 808c682: f7c7 ffc5 bl 8054610 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808c686: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c68a: b2db uxtb r3, r3 808c68c: 461a mov r2, r3 808c68e: 4b86 ldr r3, [pc, #536] ; (808c8a8 ) 808c690: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c694: 461a mov r2, r3 808c696: 218a movs r1, #138 ; 0x8a 808c698: 20c6 movs r0, #198 ; 0xc6 808c69a: f7c8 fd61 bl 8055160 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808c69e: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808c6a2: b2db uxtb r3, r3 808c6a4: 461a mov r2, r3 808c6a6: 4b80 ldr r3, [pc, #512] ; (808c8a8 ) 808c6a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c6ac: 461a mov r2, r3 808c6ae: 218a movs r1, #138 ; 0x8a 808c6b0: 20d6 movs r0, #214 ; 0xd6 808c6b2: f7c8 fd55 bl 8055160 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808c6b6: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808c6ba: b2db uxtb r3, r3 808c6bc: 461a mov r2, r3 808c6be: 4b7a ldr r3, [pc, #488] ; (808c8a8 ) 808c6c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c6c4: 461a mov r2, r3 808c6c6: 218a movs r1, #138 ; 0x8a 808c6c8: 20f6 movs r0, #246 ; 0xf6 808c6ca: f7c8 fd49 bl 8055160 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808c6ce: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808c6d2: b2db uxtb r3, r3 808c6d4: 461a mov r2, r3 808c6d6: 4b74 ldr r3, [pc, #464] ; (808c8a8 ) 808c6d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c6dc: 461a mov r2, r3 808c6de: 218a movs r1, #138 ; 0x8a 808c6e0: f44f 7083 mov.w r0, #262 ; 0x106 808c6e4: f7c8 fd3c bl 8055160 LCD_DisplayString(278, LCD_LINE_8, "."); 808c6e8: 4a71 ldr r2, [pc, #452] ; (808c8b0 ) 808c6ea: 218a movs r1, #138 ; 0x8a 808c6ec: f44f 708b mov.w r0, #278 ; 0x116 808c6f0: f7c8 fd36 bl 8055160 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808c6f4: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808c6f8: b2db uxtb r3, r3 808c6fa: 461a mov r2, r3 808c6fc: 4b6a ldr r3, [pc, #424] ; (808c8a8 ) 808c6fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c702: 461a mov r2, r3 808c704: 218a movs r1, #138 ; 0x8a 808c706: f44f 7093 mov.w r0, #294 ; 0x126 808c70a: f7c8 fd29 bl 8055160 808c70e: e133 b.n 808c978 } else if(menupos == DiagLP_IED) 808c710: 4b62 ldr r3, [pc, #392] ; (808c89c ) 808c712: 781b ldrb r3, [r3, #0] 808c714: b2db uxtb r3, r3 808c716: 2b16 cmp r3, #22 808c718: d15d bne.n 808c7d6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c71a: 4961 ldr r1, [pc, #388] ; (808c8a0 ) 808c71c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c720: f7c7 ff76 bl 8054610 if(blk) 808c724: 4b5f ldr r3, [pc, #380] ; (808c8a4 ) 808c726: 681b ldr r3, [r3, #0] 808c728: 2b00 cmp r3, #0 808c72a: d00b beq.n 808c744 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808c72c: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808c730: b2db uxtb r3, r3 808c732: 461a mov r2, r3 808c734: 4b5c ldr r3, [pc, #368] ; (808c8a8 ) 808c736: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c73a: 461a mov r2, r3 808c73c: 218a movs r1, #138 ; 0x8a 808c73e: 20f6 movs r0, #246 ; 0xf6 808c740: f7c8 fd0e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c744: 4956 ldr r1, [pc, #344] ; (808c8a0 ) 808c746: 4859 ldr r0, [pc, #356] ; (808c8ac ) 808c748: f7c7 ff62 bl 8054610 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808c74c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c750: b2db uxtb r3, r3 808c752: 461a mov r2, r3 808c754: 4b54 ldr r3, [pc, #336] ; (808c8a8 ) 808c756: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c75a: 461a mov r2, r3 808c75c: 218a movs r1, #138 ; 0x8a 808c75e: 20c6 movs r0, #198 ; 0xc6 808c760: f7c8 fcfe bl 8055160 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808c764: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808c768: b2db uxtb r3, r3 808c76a: 461a mov r2, r3 808c76c: 4b4e ldr r3, [pc, #312] ; (808c8a8 ) 808c76e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c772: 461a mov r2, r3 808c774: 218a movs r1, #138 ; 0x8a 808c776: 20d6 movs r0, #214 ; 0xd6 808c778: f7c8 fcf2 bl 8055160 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808c77c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808c780: b2db uxtb r3, r3 808c782: 461a mov r2, r3 808c784: 4b48 ldr r3, [pc, #288] ; (808c8a8 ) 808c786: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c78a: 461a mov r2, r3 808c78c: 218a movs r1, #138 ; 0x8a 808c78e: 20e6 movs r0, #230 ; 0xe6 808c790: f7c8 fce6 bl 8055160 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808c794: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808c798: b2db uxtb r3, r3 808c79a: 461a mov r2, r3 808c79c: 4b42 ldr r3, [pc, #264] ; (808c8a8 ) 808c79e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c7a2: 461a mov r2, r3 808c7a4: 218a movs r1, #138 ; 0x8a 808c7a6: f44f 7083 mov.w r0, #262 ; 0x106 808c7aa: f7c8 fcd9 bl 8055160 LCD_DisplayString(278, LCD_LINE_8, "."); 808c7ae: 4a40 ldr r2, [pc, #256] ; (808c8b0 ) 808c7b0: 218a movs r1, #138 ; 0x8a 808c7b2: f44f 708b mov.w r0, #278 ; 0x116 808c7b6: f7c8 fcd3 bl 8055160 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808c7ba: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808c7be: b2db uxtb r3, r3 808c7c0: 461a mov r2, r3 808c7c2: 4b39 ldr r3, [pc, #228] ; (808c8a8 ) 808c7c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c7c8: 461a mov r2, r3 808c7ca: 218a movs r1, #138 ; 0x8a 808c7cc: f44f 7093 mov.w r0, #294 ; 0x126 808c7d0: f7c8 fcc6 bl 8055160 808c7d4: e0d0 b.n 808c978 } else if(menupos == DiagLP_IEE) 808c7d6: 4b31 ldr r3, [pc, #196] ; (808c89c ) 808c7d8: 781b ldrb r3, [r3, #0] 808c7da: b2db uxtb r3, r3 808c7dc: 2b17 cmp r3, #23 808c7de: d169 bne.n 808c8b4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c7e0: 492f ldr r1, [pc, #188] ; (808c8a0 ) 808c7e2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c7e6: f7c7 ff13 bl 8054610 if(blk) 808c7ea: 4b2e ldr r3, [pc, #184] ; (808c8a4 ) 808c7ec: 681b ldr r3, [r3, #0] 808c7ee: 2b00 cmp r3, #0 808c7f0: d00c beq.n 808c80c LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808c7f2: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808c7f6: b2db uxtb r3, r3 808c7f8: 461a mov r2, r3 808c7fa: 4b2b ldr r3, [pc, #172] ; (808c8a8 ) 808c7fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c800: 461a mov r2, r3 808c802: 218a movs r1, #138 ; 0x8a 808c804: f44f 7083 mov.w r0, #262 ; 0x106 808c808: f7c8 fcaa bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c80c: 4924 ldr r1, [pc, #144] ; (808c8a0 ) 808c80e: 4827 ldr r0, [pc, #156] ; (808c8ac ) 808c810: f7c7 fefe bl 8054610 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808c814: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c818: b2db uxtb r3, r3 808c81a: 461a mov r2, r3 808c81c: 4b22 ldr r3, [pc, #136] ; (808c8a8 ) 808c81e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c822: 461a mov r2, r3 808c824: 218a movs r1, #138 ; 0x8a 808c826: 20c6 movs r0, #198 ; 0xc6 808c828: f7c8 fc9a bl 8055160 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808c82c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808c830: b2db uxtb r3, r3 808c832: 461a mov r2, r3 808c834: 4b1c ldr r3, [pc, #112] ; (808c8a8 ) 808c836: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c83a: 461a mov r2, r3 808c83c: 218a movs r1, #138 ; 0x8a 808c83e: 20d6 movs r0, #214 ; 0xd6 808c840: f7c8 fc8e bl 8055160 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808c844: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808c848: b2db uxtb r3, r3 808c84a: 461a mov r2, r3 808c84c: 4b16 ldr r3, [pc, #88] ; (808c8a8 ) 808c84e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c852: 461a mov r2, r3 808c854: 218a movs r1, #138 ; 0x8a 808c856: 20e6 movs r0, #230 ; 0xe6 808c858: f7c8 fc82 bl 8055160 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808c85c: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808c860: b2db uxtb r3, r3 808c862: 461a mov r2, r3 808c864: 4b10 ldr r3, [pc, #64] ; (808c8a8 ) 808c866: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c86a: 461a mov r2, r3 808c86c: 218a movs r1, #138 ; 0x8a 808c86e: 20f6 movs r0, #246 ; 0xf6 808c870: f7c8 fc76 bl 8055160 LCD_DisplayString(278, LCD_LINE_8, "."); 808c874: 4a0e ldr r2, [pc, #56] ; (808c8b0 ) 808c876: 218a movs r1, #138 ; 0x8a 808c878: f44f 708b mov.w r0, #278 ; 0x116 808c87c: f7c8 fc70 bl 8055160 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808c880: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808c884: b2db uxtb r3, r3 808c886: 461a mov r2, r3 808c888: 4b07 ldr r3, [pc, #28] ; (808c8a8 ) 808c88a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c88e: 461a mov r2, r3 808c890: 218a movs r1, #138 ; 0x8a 808c892: f44f 7093 mov.w r0, #294 ; 0x126 808c896: f7c8 fc63 bl 8055160 808c89a: e06d b.n 808c978 808c89c: 20020070 .word 0x20020070 808c8a0: ff0a0f1f .word 0xff0a0f1f 808c8a4: 200216a4 .word 0x200216a4 808c8a8: 2002096c .word 0x2002096c 808c8ac: ffd8aa57 .word 0xffd8aa57 808c8b0: 080d3b58 .word 0x080d3b58 } else if(menupos == DiagLP_IKD) 808c8b4: 4bc5 ldr r3, [pc, #788] ; (808cbcc ) 808c8b6: 781b ldrb r3, [r3, #0] 808c8b8: b2db uxtb r3, r3 808c8ba: 2b18 cmp r3, #24 808c8bc: d15c bne.n 808c978 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c8be: 49c4 ldr r1, [pc, #784] ; (808cbd0 ) 808c8c0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c8c4: f7c7 fea4 bl 8054610 if(blk) 808c8c8: 4bc2 ldr r3, [pc, #776] ; (808cbd4 ) 808c8ca: 681b ldr r3, [r3, #0] 808c8cc: 2b00 cmp r3, #0 808c8ce: d00c beq.n 808c8ea LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808c8d0: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808c8d4: b2db uxtb r3, r3 808c8d6: 461a mov r2, r3 808c8d8: 4bbf ldr r3, [pc, #764] ; (808cbd8 ) 808c8da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c8de: 461a mov r2, r3 808c8e0: 218a movs r1, #138 ; 0x8a 808c8e2: f44f 7093 mov.w r0, #294 ; 0x126 808c8e6: f7c8 fc3b bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c8ea: 49b9 ldr r1, [pc, #740] ; (808cbd0 ) 808c8ec: 48bb ldr r0, [pc, #748] ; (808cbdc ) 808c8ee: f7c7 fe8f bl 8054610 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808c8f2: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c8f6: b2db uxtb r3, r3 808c8f8: 461a mov r2, r3 808c8fa: 4bb7 ldr r3, [pc, #732] ; (808cbd8 ) 808c8fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c900: 461a mov r2, r3 808c902: 218a movs r1, #138 ; 0x8a 808c904: 20c6 movs r0, #198 ; 0xc6 808c906: f7c8 fc2b bl 8055160 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808c90a: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808c90e: b2db uxtb r3, r3 808c910: 461a mov r2, r3 808c912: 4bb1 ldr r3, [pc, #708] ; (808cbd8 ) 808c914: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c918: 461a mov r2, r3 808c91a: 218a movs r1, #138 ; 0x8a 808c91c: 20d6 movs r0, #214 ; 0xd6 808c91e: f7c8 fc1f bl 8055160 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808c922: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808c926: b2db uxtb r3, r3 808c928: 461a mov r2, r3 808c92a: 4bab ldr r3, [pc, #684] ; (808cbd8 ) 808c92c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c930: 461a mov r2, r3 808c932: 218a movs r1, #138 ; 0x8a 808c934: 20e6 movs r0, #230 ; 0xe6 808c936: f7c8 fc13 bl 8055160 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808c93a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808c93e: b2db uxtb r3, r3 808c940: 461a mov r2, r3 808c942: 4ba5 ldr r3, [pc, #660] ; (808cbd8 ) 808c944: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c948: 461a mov r2, r3 808c94a: 218a movs r1, #138 ; 0x8a 808c94c: 20f6 movs r0, #246 ; 0xf6 808c94e: f7c8 fc07 bl 8055160 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808c952: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808c956: b2db uxtb r3, r3 808c958: 461a mov r2, r3 808c95a: 4b9f ldr r3, [pc, #636] ; (808cbd8 ) 808c95c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c960: 461a mov r2, r3 808c962: 218a movs r1, #138 ; 0x8a 808c964: f44f 7083 mov.w r0, #262 ; 0x106 808c968: f7c8 fbfa bl 8055160 LCD_DisplayString(278, LCD_LINE_8, "."); 808c96c: 4a9c ldr r2, [pc, #624] ; (808cbe0 ) 808c96e: 218a movs r1, #138 ; 0x8a 808c970: f44f 708b mov.w r0, #278 ; 0x116 808c974: f7c8 fbf4 bl 8055160 } //_W if(menupos == DiagW_IDT) 808c978: 4b94 ldr r3, [pc, #592] ; (808cbcc ) 808c97a: 781b ldrb r3, [r3, #0] 808c97c: b2db uxtb r3, r3 808c97e: 2b19 cmp r3, #25 808c980: d15d bne.n 808ca3e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c982: 4993 ldr r1, [pc, #588] ; (808cbd0 ) 808c984: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c988: f7c7 fe42 bl 8054610 if(blk) 808c98c: 4b91 ldr r3, [pc, #580] ; (808cbd4 ) 808c98e: 681b ldr r3, [r3, #0] 808c990: 2b00 cmp r3, #0 808c992: d00b beq.n 808c9ac LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808c994: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808c998: b2db uxtb r3, r3 808c99a: 461a mov r2, r3 808c99c: 4b8e ldr r3, [pc, #568] ; (808cbd8 ) 808c99e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c9a2: 461a mov r2, r3 808c9a4: 219a movs r1, #154 ; 0x9a 808c9a6: 20c6 movs r0, #198 ; 0xc6 808c9a8: f7c8 fbda bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c9ac: 4988 ldr r1, [pc, #544] ; (808cbd0 ) 808c9ae: 488b ldr r0, [pc, #556] ; (808cbdc ) 808c9b0: f7c7 fe2e bl 8054610 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808c9b4: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808c9b8: b2db uxtb r3, r3 808c9ba: 461a mov r2, r3 808c9bc: 4b86 ldr r3, [pc, #536] ; (808cbd8 ) 808c9be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c9c2: 461a mov r2, r3 808c9c4: 219a movs r1, #154 ; 0x9a 808c9c6: 20d6 movs r0, #214 ; 0xd6 808c9c8: f7c8 fbca bl 8055160 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808c9cc: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808c9d0: b2db uxtb r3, r3 808c9d2: 461a mov r2, r3 808c9d4: 4b80 ldr r3, [pc, #512] ; (808cbd8 ) 808c9d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c9da: 461a mov r2, r3 808c9dc: 219a movs r1, #154 ; 0x9a 808c9de: 20e6 movs r0, #230 ; 0xe6 808c9e0: f7c8 fbbe bl 8055160 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808c9e4: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808c9e8: b2db uxtb r3, r3 808c9ea: 461a mov r2, r3 808c9ec: 4b7a ldr r3, [pc, #488] ; (808cbd8 ) 808c9ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c9f2: 461a mov r2, r3 808c9f4: 219a movs r1, #154 ; 0x9a 808c9f6: 20f6 movs r0, #246 ; 0xf6 808c9f8: f7c8 fbb2 bl 8055160 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808c9fc: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808ca00: b2db uxtb r3, r3 808ca02: 461a mov r2, r3 808ca04: 4b74 ldr r3, [pc, #464] ; (808cbd8 ) 808ca06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ca0a: 461a mov r2, r3 808ca0c: 219a movs r1, #154 ; 0x9a 808ca0e: f44f 7083 mov.w r0, #262 ; 0x106 808ca12: f7c8 fba5 bl 8055160 LCD_DisplayString(278, LCD_LINE_9, "."); 808ca16: 4a72 ldr r2, [pc, #456] ; (808cbe0 ) 808ca18: 219a movs r1, #154 ; 0x9a 808ca1a: f44f 708b mov.w r0, #278 ; 0x116 808ca1e: f7c8 fb9f bl 8055160 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808ca22: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808ca26: b2db uxtb r3, r3 808ca28: 461a mov r2, r3 808ca2a: 4b6b ldr r3, [pc, #428] ; (808cbd8 ) 808ca2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ca30: 461a mov r2, r3 808ca32: 219a movs r1, #154 ; 0x9a 808ca34: f44f 7093 mov.w r0, #294 ; 0x126 808ca38: f7c8 fb92 bl 8055160 808ca3c: e1fa b.n 808ce34 } else if(menupos == DiagW_IET) 808ca3e: 4b63 ldr r3, [pc, #396] ; (808cbcc ) 808ca40: 781b ldrb r3, [r3, #0] 808ca42: b2db uxtb r3, r3 808ca44: 2b1a cmp r3, #26 808ca46: d15d bne.n 808cb04 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ca48: 4961 ldr r1, [pc, #388] ; (808cbd0 ) 808ca4a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ca4e: f7c7 fddf bl 8054610 if(blk) 808ca52: 4b60 ldr r3, [pc, #384] ; (808cbd4 ) 808ca54: 681b ldr r3, [r3, #0] 808ca56: 2b00 cmp r3, #0 808ca58: d00b beq.n 808ca72 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808ca5a: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808ca5e: b2db uxtb r3, r3 808ca60: 461a mov r2, r3 808ca62: 4b5d ldr r3, [pc, #372] ; (808cbd8 ) 808ca64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ca68: 461a mov r2, r3 808ca6a: 219a movs r1, #154 ; 0x9a 808ca6c: 20d6 movs r0, #214 ; 0xd6 808ca6e: f7c8 fb77 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ca72: 4957 ldr r1, [pc, #348] ; (808cbd0 ) 808ca74: 4859 ldr r0, [pc, #356] ; (808cbdc ) 808ca76: f7c7 fdcb bl 8054610 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808ca7a: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808ca7e: b2db uxtb r3, r3 808ca80: 461a mov r2, r3 808ca82: 4b55 ldr r3, [pc, #340] ; (808cbd8 ) 808ca84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ca88: 461a mov r2, r3 808ca8a: 219a movs r1, #154 ; 0x9a 808ca8c: 20c6 movs r0, #198 ; 0xc6 808ca8e: f7c8 fb67 bl 8055160 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808ca92: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808ca96: b2db uxtb r3, r3 808ca98: 461a mov r2, r3 808ca9a: 4b4f ldr r3, [pc, #316] ; (808cbd8 ) 808ca9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808caa0: 461a mov r2, r3 808caa2: 219a movs r1, #154 ; 0x9a 808caa4: 20e6 movs r0, #230 ; 0xe6 808caa6: f7c8 fb5b bl 8055160 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808caaa: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808caae: b2db uxtb r3, r3 808cab0: 461a mov r2, r3 808cab2: 4b49 ldr r3, [pc, #292] ; (808cbd8 ) 808cab4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cab8: 461a mov r2, r3 808caba: 219a movs r1, #154 ; 0x9a 808cabc: 20f6 movs r0, #246 ; 0xf6 808cabe: f7c8 fb4f bl 8055160 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808cac2: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808cac6: b2db uxtb r3, r3 808cac8: 461a mov r2, r3 808caca: 4b43 ldr r3, [pc, #268] ; (808cbd8 ) 808cacc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cad0: 461a mov r2, r3 808cad2: 219a movs r1, #154 ; 0x9a 808cad4: f44f 7083 mov.w r0, #262 ; 0x106 808cad8: f7c8 fb42 bl 8055160 LCD_DisplayString(278, LCD_LINE_9, "."); 808cadc: 4a40 ldr r2, [pc, #256] ; (808cbe0 ) 808cade: 219a movs r1, #154 ; 0x9a 808cae0: f44f 708b mov.w r0, #278 ; 0x116 808cae4: f7c8 fb3c bl 8055160 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808cae8: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808caec: b2db uxtb r3, r3 808caee: 461a mov r2, r3 808caf0: 4b39 ldr r3, [pc, #228] ; (808cbd8 ) 808caf2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808caf6: 461a mov r2, r3 808caf8: 219a movs r1, #154 ; 0x9a 808cafa: f44f 7093 mov.w r0, #294 ; 0x126 808cafe: f7c8 fb2f bl 8055160 808cb02: e197 b.n 808ce34 } else if(menupos == DiagW_IES) 808cb04: 4b31 ldr r3, [pc, #196] ; (808cbcc ) 808cb06: 781b ldrb r3, [r3, #0] 808cb08: b2db uxtb r3, r3 808cb0a: 2b1b cmp r3, #27 808cb0c: d16a bne.n 808cbe4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808cb0e: 4930 ldr r1, [pc, #192] ; (808cbd0 ) 808cb10: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808cb14: f7c7 fd7c bl 8054610 if(blk) 808cb18: 4b2e ldr r3, [pc, #184] ; (808cbd4 ) 808cb1a: 681b ldr r3, [r3, #0] 808cb1c: 2b00 cmp r3, #0 808cb1e: d00b beq.n 808cb38 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808cb20: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808cb24: b2db uxtb r3, r3 808cb26: 461a mov r2, r3 808cb28: 4b2b ldr r3, [pc, #172] ; (808cbd8 ) 808cb2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cb2e: 461a mov r2, r3 808cb30: 219a movs r1, #154 ; 0x9a 808cb32: 20e6 movs r0, #230 ; 0xe6 808cb34: f7c8 fb14 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808cb38: 4925 ldr r1, [pc, #148] ; (808cbd0 ) 808cb3a: 4828 ldr r0, [pc, #160] ; (808cbdc ) 808cb3c: f7c7 fd68 bl 8054610 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808cb40: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808cb44: b2db uxtb r3, r3 808cb46: 461a mov r2, r3 808cb48: 4b23 ldr r3, [pc, #140] ; (808cbd8 ) 808cb4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cb4e: 461a mov r2, r3 808cb50: 219a movs r1, #154 ; 0x9a 808cb52: 20c6 movs r0, #198 ; 0xc6 808cb54: f7c8 fb04 bl 8055160 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808cb58: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808cb5c: b2db uxtb r3, r3 808cb5e: 461a mov r2, r3 808cb60: 4b1d ldr r3, [pc, #116] ; (808cbd8 ) 808cb62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cb66: 461a mov r2, r3 808cb68: 219a movs r1, #154 ; 0x9a 808cb6a: 20d6 movs r0, #214 ; 0xd6 808cb6c: f7c8 faf8 bl 8055160 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808cb70: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808cb74: b2db uxtb r3, r3 808cb76: 461a mov r2, r3 808cb78: 4b17 ldr r3, [pc, #92] ; (808cbd8 ) 808cb7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cb7e: 461a mov r2, r3 808cb80: 219a movs r1, #154 ; 0x9a 808cb82: 20f6 movs r0, #246 ; 0xf6 808cb84: f7c8 faec bl 8055160 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808cb88: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808cb8c: b2db uxtb r3, r3 808cb8e: 461a mov r2, r3 808cb90: 4b11 ldr r3, [pc, #68] ; (808cbd8 ) 808cb92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cb96: 461a mov r2, r3 808cb98: 219a movs r1, #154 ; 0x9a 808cb9a: f44f 7083 mov.w r0, #262 ; 0x106 808cb9e: f7c8 fadf bl 8055160 LCD_DisplayString(278, LCD_LINE_9, "."); 808cba2: 4a0f ldr r2, [pc, #60] ; (808cbe0 ) 808cba4: 219a movs r1, #154 ; 0x9a 808cba6: f44f 708b mov.w r0, #278 ; 0x116 808cbaa: f7c8 fad9 bl 8055160 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808cbae: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808cbb2: b2db uxtb r3, r3 808cbb4: 461a mov r2, r3 808cbb6: 4b08 ldr r3, [pc, #32] ; (808cbd8 ) 808cbb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cbbc: 461a mov r2, r3 808cbbe: 219a movs r1, #154 ; 0x9a 808cbc0: f44f 7093 mov.w r0, #294 ; 0x126 808cbc4: f7c8 facc bl 8055160 808cbc8: e134 b.n 808ce34 808cbca: bf00 nop 808cbcc: 20020070 .word 0x20020070 808cbd0: ff0a0f1f .word 0xff0a0f1f 808cbd4: 200216a4 .word 0x200216a4 808cbd8: 2002096c .word 0x2002096c 808cbdc: ffd8aa57 .word 0xffd8aa57 808cbe0: 080d3b58 .word 0x080d3b58 } else if(menupos == DiagW_IED) 808cbe4: 4bc5 ldr r3, [pc, #788] ; (808cefc ) 808cbe6: 781b ldrb r3, [r3, #0] 808cbe8: b2db uxtb r3, r3 808cbea: 2b1c cmp r3, #28 808cbec: d15d bne.n 808ccaa { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808cbee: 49c4 ldr r1, [pc, #784] ; (808cf00 ) 808cbf0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808cbf4: f7c7 fd0c bl 8054610 if(blk) 808cbf8: 4bc2 ldr r3, [pc, #776] ; (808cf04 ) 808cbfa: 681b ldr r3, [r3, #0] 808cbfc: 2b00 cmp r3, #0 808cbfe: d00b beq.n 808cc18 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808cc00: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808cc04: b2db uxtb r3, r3 808cc06: 461a mov r2, r3 808cc08: 4bbf ldr r3, [pc, #764] ; (808cf08 ) 808cc0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cc0e: 461a mov r2, r3 808cc10: 219a movs r1, #154 ; 0x9a 808cc12: 20f6 movs r0, #246 ; 0xf6 808cc14: f7c8 faa4 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808cc18: 49b9 ldr r1, [pc, #740] ; (808cf00 ) 808cc1a: 48bc ldr r0, [pc, #752] ; (808cf0c ) 808cc1c: f7c7 fcf8 bl 8054610 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808cc20: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808cc24: b2db uxtb r3, r3 808cc26: 461a mov r2, r3 808cc28: 4bb7 ldr r3, [pc, #732] ; (808cf08 ) 808cc2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cc2e: 461a mov r2, r3 808cc30: 219a movs r1, #154 ; 0x9a 808cc32: 20c6 movs r0, #198 ; 0xc6 808cc34: f7c8 fa94 bl 8055160 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808cc38: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808cc3c: b2db uxtb r3, r3 808cc3e: 461a mov r2, r3 808cc40: 4bb1 ldr r3, [pc, #708] ; (808cf08 ) 808cc42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cc46: 461a mov r2, r3 808cc48: 219a movs r1, #154 ; 0x9a 808cc4a: 20d6 movs r0, #214 ; 0xd6 808cc4c: f7c8 fa88 bl 8055160 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808cc50: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808cc54: b2db uxtb r3, r3 808cc56: 461a mov r2, r3 808cc58: 4bab ldr r3, [pc, #684] ; (808cf08 ) 808cc5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cc5e: 461a mov r2, r3 808cc60: 219a movs r1, #154 ; 0x9a 808cc62: 20e6 movs r0, #230 ; 0xe6 808cc64: f7c8 fa7c bl 8055160 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808cc68: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808cc6c: b2db uxtb r3, r3 808cc6e: 461a mov r2, r3 808cc70: 4ba5 ldr r3, [pc, #660] ; (808cf08 ) 808cc72: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cc76: 461a mov r2, r3 808cc78: 219a movs r1, #154 ; 0x9a 808cc7a: f44f 7083 mov.w r0, #262 ; 0x106 808cc7e: f7c8 fa6f bl 8055160 LCD_DisplayString(278, LCD_LINE_9, "."); 808cc82: 4aa3 ldr r2, [pc, #652] ; (808cf10 ) 808cc84: 219a movs r1, #154 ; 0x9a 808cc86: f44f 708b mov.w r0, #278 ; 0x116 808cc8a: f7c8 fa69 bl 8055160 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808cc8e: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808cc92: b2db uxtb r3, r3 808cc94: 461a mov r2, r3 808cc96: 4b9c ldr r3, [pc, #624] ; (808cf08 ) 808cc98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cc9c: 461a mov r2, r3 808cc9e: 219a movs r1, #154 ; 0x9a 808cca0: f44f 7093 mov.w r0, #294 ; 0x126 808cca4: f7c8 fa5c bl 8055160 808cca8: e0c4 b.n 808ce34 } else if(menupos == DiagW_IEE) 808ccaa: 4b94 ldr r3, [pc, #592] ; (808cefc ) 808ccac: 781b ldrb r3, [r3, #0] 808ccae: b2db uxtb r3, r3 808ccb0: 2b1d cmp r3, #29 808ccb2: d15d bne.n 808cd70 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ccb4: 4992 ldr r1, [pc, #584] ; (808cf00 ) 808ccb6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ccba: f7c7 fca9 bl 8054610 if(blk) 808ccbe: 4b91 ldr r3, [pc, #580] ; (808cf04 ) 808ccc0: 681b ldr r3, [r3, #0] 808ccc2: 2b00 cmp r3, #0 808ccc4: d00c beq.n 808cce0 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808ccc6: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808ccca: b2db uxtb r3, r3 808cccc: 461a mov r2, r3 808ccce: 4b8e ldr r3, [pc, #568] ; (808cf08 ) 808ccd0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ccd4: 461a mov r2, r3 808ccd6: 219a movs r1, #154 ; 0x9a 808ccd8: f44f 7083 mov.w r0, #262 ; 0x106 808ccdc: f7c8 fa40 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808cce0: 4987 ldr r1, [pc, #540] ; (808cf00 ) 808cce2: 488a ldr r0, [pc, #552] ; (808cf0c ) 808cce4: f7c7 fc94 bl 8054610 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808cce8: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808ccec: b2db uxtb r3, r3 808ccee: 461a mov r2, r3 808ccf0: 4b85 ldr r3, [pc, #532] ; (808cf08 ) 808ccf2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ccf6: 461a mov r2, r3 808ccf8: 219a movs r1, #154 ; 0x9a 808ccfa: 20c6 movs r0, #198 ; 0xc6 808ccfc: f7c8 fa30 bl 8055160 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808cd00: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808cd04: b2db uxtb r3, r3 808cd06: 461a mov r2, r3 808cd08: 4b7f ldr r3, [pc, #508] ; (808cf08 ) 808cd0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cd0e: 461a mov r2, r3 808cd10: 219a movs r1, #154 ; 0x9a 808cd12: 20d6 movs r0, #214 ; 0xd6 808cd14: f7c8 fa24 bl 8055160 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808cd18: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808cd1c: b2db uxtb r3, r3 808cd1e: 461a mov r2, r3 808cd20: 4b79 ldr r3, [pc, #484] ; (808cf08 ) 808cd22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cd26: 461a mov r2, r3 808cd28: 219a movs r1, #154 ; 0x9a 808cd2a: 20e6 movs r0, #230 ; 0xe6 808cd2c: f7c8 fa18 bl 8055160 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808cd30: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808cd34: b2db uxtb r3, r3 808cd36: 461a mov r2, r3 808cd38: 4b73 ldr r3, [pc, #460] ; (808cf08 ) 808cd3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cd3e: 461a mov r2, r3 808cd40: 219a movs r1, #154 ; 0x9a 808cd42: 20f6 movs r0, #246 ; 0xf6 808cd44: f7c8 fa0c bl 8055160 LCD_DisplayString(278, LCD_LINE_9, "."); 808cd48: 4a71 ldr r2, [pc, #452] ; (808cf10 ) 808cd4a: 219a movs r1, #154 ; 0x9a 808cd4c: f44f 708b mov.w r0, #278 ; 0x116 808cd50: f7c8 fa06 bl 8055160 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808cd54: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808cd58: b2db uxtb r3, r3 808cd5a: 461a mov r2, r3 808cd5c: 4b6a ldr r3, [pc, #424] ; (808cf08 ) 808cd5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cd62: 461a mov r2, r3 808cd64: 219a movs r1, #154 ; 0x9a 808cd66: f44f 7093 mov.w r0, #294 ; 0x126 808cd6a: f7c8 f9f9 bl 8055160 808cd6e: e061 b.n 808ce34 } else if(menupos == DiagW_IKD) 808cd70: 4b62 ldr r3, [pc, #392] ; (808cefc ) 808cd72: 781b ldrb r3, [r3, #0] 808cd74: b2db uxtb r3, r3 808cd76: 2b1e cmp r3, #30 808cd78: d15c bne.n 808ce34 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808cd7a: 4961 ldr r1, [pc, #388] ; (808cf00 ) 808cd7c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808cd80: f7c7 fc46 bl 8054610 if(blk) 808cd84: 4b5f ldr r3, [pc, #380] ; (808cf04 ) 808cd86: 681b ldr r3, [r3, #0] 808cd88: 2b00 cmp r3, #0 808cd8a: d00c beq.n 808cda6 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808cd8c: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808cd90: b2db uxtb r3, r3 808cd92: 461a mov r2, r3 808cd94: 4b5c ldr r3, [pc, #368] ; (808cf08 ) 808cd96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cd9a: 461a mov r2, r3 808cd9c: 219a movs r1, #154 ; 0x9a 808cd9e: f44f 7093 mov.w r0, #294 ; 0x126 808cda2: f7c8 f9dd bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808cda6: 4956 ldr r1, [pc, #344] ; (808cf00 ) 808cda8: 4858 ldr r0, [pc, #352] ; (808cf0c ) 808cdaa: f7c7 fc31 bl 8054610 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808cdae: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808cdb2: b2db uxtb r3, r3 808cdb4: 461a mov r2, r3 808cdb6: 4b54 ldr r3, [pc, #336] ; (808cf08 ) 808cdb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cdbc: 461a mov r2, r3 808cdbe: 219a movs r1, #154 ; 0x9a 808cdc0: 20c6 movs r0, #198 ; 0xc6 808cdc2: f7c8 f9cd bl 8055160 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808cdc6: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808cdca: b2db uxtb r3, r3 808cdcc: 461a mov r2, r3 808cdce: 4b4e ldr r3, [pc, #312] ; (808cf08 ) 808cdd0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cdd4: 461a mov r2, r3 808cdd6: 219a movs r1, #154 ; 0x9a 808cdd8: 20d6 movs r0, #214 ; 0xd6 808cdda: f7c8 f9c1 bl 8055160 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808cdde: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808cde2: b2db uxtb r3, r3 808cde4: 461a mov r2, r3 808cde6: 4b48 ldr r3, [pc, #288] ; (808cf08 ) 808cde8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cdec: 461a mov r2, r3 808cdee: 219a movs r1, #154 ; 0x9a 808cdf0: 20e6 movs r0, #230 ; 0xe6 808cdf2: f7c8 f9b5 bl 8055160 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808cdf6: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808cdfa: b2db uxtb r3, r3 808cdfc: 461a mov r2, r3 808cdfe: 4b42 ldr r3, [pc, #264] ; (808cf08 ) 808ce00: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ce04: 461a mov r2, r3 808ce06: 219a movs r1, #154 ; 0x9a 808ce08: 20f6 movs r0, #246 ; 0xf6 808ce0a: f7c8 f9a9 bl 8055160 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808ce0e: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808ce12: b2db uxtb r3, r3 808ce14: 461a mov r2, r3 808ce16: 4b3c ldr r3, [pc, #240] ; (808cf08 ) 808ce18: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ce1c: 461a mov r2, r3 808ce1e: 219a movs r1, #154 ; 0x9a 808ce20: f44f 7083 mov.w r0, #262 ; 0x106 808ce24: f7c8 f99c bl 8055160 LCD_DisplayString(278, LCD_LINE_9, "."); 808ce28: 4a39 ldr r2, [pc, #228] ; (808cf10 ) 808ce2a: 219a movs r1, #154 ; 0x9a 808ce2c: f44f 708b mov.w r0, #278 ; 0x116 808ce30: f7c8 f996 bl 8055160 } //_A if(menupos == DiagA_IDT) 808ce34: 4b31 ldr r3, [pc, #196] ; (808cefc ) 808ce36: 781b ldrb r3, [r3, #0] 808ce38: b2db uxtb r3, r3 808ce3a: 2b1f cmp r3, #31 808ce3c: d16a bne.n 808cf14 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ce3e: 4930 ldr r1, [pc, #192] ; (808cf00 ) 808ce40: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ce44: f7c7 fbe4 bl 8054610 if(blk) 808ce48: 4b2e ldr r3, [pc, #184] ; (808cf04 ) 808ce4a: 681b ldr r3, [r3, #0] 808ce4c: 2b00 cmp r3, #0 808ce4e: d00b beq.n 808ce68 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808ce50: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808ce54: b2db uxtb r3, r3 808ce56: 461a mov r2, r3 808ce58: 4b2b ldr r3, [pc, #172] ; (808cf08 ) 808ce5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ce5e: 461a mov r2, r3 808ce60: 21aa movs r1, #170 ; 0xaa 808ce62: 20c6 movs r0, #198 ; 0xc6 808ce64: f7c8 f97c bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ce68: 4925 ldr r1, [pc, #148] ; (808cf00 ) 808ce6a: 4828 ldr r0, [pc, #160] ; (808cf0c ) 808ce6c: f7c7 fbd0 bl 8054610 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808ce70: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808ce74: b2db uxtb r3, r3 808ce76: 461a mov r2, r3 808ce78: 4b23 ldr r3, [pc, #140] ; (808cf08 ) 808ce7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ce7e: 461a mov r2, r3 808ce80: 21aa movs r1, #170 ; 0xaa 808ce82: 20d6 movs r0, #214 ; 0xd6 808ce84: f7c8 f96c bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808ce88: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808ce8c: b2db uxtb r3, r3 808ce8e: 461a mov r2, r3 808ce90: 4b1d ldr r3, [pc, #116] ; (808cf08 ) 808ce92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ce96: 461a mov r2, r3 808ce98: 21aa movs r1, #170 ; 0xaa 808ce9a: 20e6 movs r0, #230 ; 0xe6 808ce9c: f7c8 f960 bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808cea0: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808cea4: b2db uxtb r3, r3 808cea6: 461a mov r2, r3 808cea8: 4b17 ldr r3, [pc, #92] ; (808cf08 ) 808ceaa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ceae: 461a mov r2, r3 808ceb0: 21aa movs r1, #170 ; 0xaa 808ceb2: 20f6 movs r0, #246 ; 0xf6 808ceb4: f7c8 f954 bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808ceb8: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808cebc: b2db uxtb r3, r3 808cebe: 461a mov r2, r3 808cec0: 4b11 ldr r3, [pc, #68] ; (808cf08 ) 808cec2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cec6: 461a mov r2, r3 808cec8: 21aa movs r1, #170 ; 0xaa 808ceca: f44f 7083 mov.w r0, #262 ; 0x106 808cece: f7c8 f947 bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 808ced2: 4a0f ldr r2, [pc, #60] ; (808cf10 ) 808ced4: 21aa movs r1, #170 ; 0xaa 808ced6: f44f 708b mov.w r0, #278 ; 0x116 808ceda: f7c8 f941 bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808cede: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808cee2: b2db uxtb r3, r3 808cee4: 461a mov r2, r3 808cee6: 4b08 ldr r3, [pc, #32] ; (808cf08 ) 808cee8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ceec: 461a mov r2, r3 808ceee: 21aa movs r1, #170 ; 0xaa 808cef0: f44f 7093 mov.w r0, #294 ; 0x126 808cef4: f7c8 f934 bl 8055160 808cef8: e206 b.n 808d308 808cefa: bf00 nop 808cefc: 20020070 .word 0x20020070 808cf00: ff0a0f1f .word 0xff0a0f1f 808cf04: 200216a4 .word 0x200216a4 808cf08: 2002096c .word 0x2002096c 808cf0c: ffd8aa57 .word 0xffd8aa57 808cf10: 080d3b58 .word 0x080d3b58 } else if(menupos == DiagA_IET) 808cf14: 4bc5 ldr r3, [pc, #788] ; (808d22c ) 808cf16: 781b ldrb r3, [r3, #0] 808cf18: b2db uxtb r3, r3 808cf1a: 2b20 cmp r3, #32 808cf1c: d15d bne.n 808cfda { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808cf1e: 49c4 ldr r1, [pc, #784] ; (808d230 ) 808cf20: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808cf24: f7c7 fb74 bl 8054610 if(blk) 808cf28: 4bc2 ldr r3, [pc, #776] ; (808d234 ) 808cf2a: 681b ldr r3, [r3, #0] 808cf2c: 2b00 cmp r3, #0 808cf2e: d00b beq.n 808cf48 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808cf30: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808cf34: b2db uxtb r3, r3 808cf36: 461a mov r2, r3 808cf38: 4bbf ldr r3, [pc, #764] ; (808d238 ) 808cf3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cf3e: 461a mov r2, r3 808cf40: 21aa movs r1, #170 ; 0xaa 808cf42: 20d6 movs r0, #214 ; 0xd6 808cf44: f7c8 f90c bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808cf48: 49b9 ldr r1, [pc, #740] ; (808d230 ) 808cf4a: 48bc ldr r0, [pc, #752] ; (808d23c ) 808cf4c: f7c7 fb60 bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808cf50: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808cf54: b2db uxtb r3, r3 808cf56: 461a mov r2, r3 808cf58: 4bb7 ldr r3, [pc, #732] ; (808d238 ) 808cf5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cf5e: 461a mov r2, r3 808cf60: 21aa movs r1, #170 ; 0xaa 808cf62: 20c6 movs r0, #198 ; 0xc6 808cf64: f7c8 f8fc bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808cf68: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808cf6c: b2db uxtb r3, r3 808cf6e: 461a mov r2, r3 808cf70: 4bb1 ldr r3, [pc, #708] ; (808d238 ) 808cf72: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cf76: 461a mov r2, r3 808cf78: 21aa movs r1, #170 ; 0xaa 808cf7a: 20e6 movs r0, #230 ; 0xe6 808cf7c: f7c8 f8f0 bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808cf80: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808cf84: b2db uxtb r3, r3 808cf86: 461a mov r2, r3 808cf88: 4bab ldr r3, [pc, #684] ; (808d238 ) 808cf8a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cf8e: 461a mov r2, r3 808cf90: 21aa movs r1, #170 ; 0xaa 808cf92: 20f6 movs r0, #246 ; 0xf6 808cf94: f7c8 f8e4 bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808cf98: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808cf9c: b2db uxtb r3, r3 808cf9e: 461a mov r2, r3 808cfa0: 4ba5 ldr r3, [pc, #660] ; (808d238 ) 808cfa2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cfa6: 461a mov r2, r3 808cfa8: 21aa movs r1, #170 ; 0xaa 808cfaa: f44f 7083 mov.w r0, #262 ; 0x106 808cfae: f7c8 f8d7 bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 808cfb2: 4aa3 ldr r2, [pc, #652] ; (808d240 ) 808cfb4: 21aa movs r1, #170 ; 0xaa 808cfb6: f44f 708b mov.w r0, #278 ; 0x116 808cfba: f7c8 f8d1 bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808cfbe: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808cfc2: b2db uxtb r3, r3 808cfc4: 461a mov r2, r3 808cfc6: 4b9c ldr r3, [pc, #624] ; (808d238 ) 808cfc8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808cfcc: 461a mov r2, r3 808cfce: 21aa movs r1, #170 ; 0xaa 808cfd0: f44f 7093 mov.w r0, #294 ; 0x126 808cfd4: f7c8 f8c4 bl 8055160 808cfd8: e196 b.n 808d308 } else if(menupos == DiagA_IES) 808cfda: 4b94 ldr r3, [pc, #592] ; (808d22c ) 808cfdc: 781b ldrb r3, [r3, #0] 808cfde: b2db uxtb r3, r3 808cfe0: 2b21 cmp r3, #33 ; 0x21 808cfe2: d15d bne.n 808d0a0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808cfe4: 4992 ldr r1, [pc, #584] ; (808d230 ) 808cfe6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808cfea: f7c7 fb11 bl 8054610 if(blk) 808cfee: 4b91 ldr r3, [pc, #580] ; (808d234 ) 808cff0: 681b ldr r3, [r3, #0] 808cff2: 2b00 cmp r3, #0 808cff4: d00b beq.n 808d00e LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808cff6: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808cffa: b2db uxtb r3, r3 808cffc: 461a mov r2, r3 808cffe: 4b8e ldr r3, [pc, #568] ; (808d238 ) 808d000: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d004: 461a mov r2, r3 808d006: 21aa movs r1, #170 ; 0xaa 808d008: 20e6 movs r0, #230 ; 0xe6 808d00a: f7c8 f8a9 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d00e: 4988 ldr r1, [pc, #544] ; (808d230 ) 808d010: 488a ldr r0, [pc, #552] ; (808d23c ) 808d012: f7c7 fafd bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808d016: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808d01a: b2db uxtb r3, r3 808d01c: 461a mov r2, r3 808d01e: 4b86 ldr r3, [pc, #536] ; (808d238 ) 808d020: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d024: 461a mov r2, r3 808d026: 21aa movs r1, #170 ; 0xaa 808d028: 20c6 movs r0, #198 ; 0xc6 808d02a: f7c8 f899 bl 8055160 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808d02e: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808d032: b2db uxtb r3, r3 808d034: 461a mov r2, r3 808d036: 4b80 ldr r3, [pc, #512] ; (808d238 ) 808d038: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d03c: 461a mov r2, r3 808d03e: 21aa movs r1, #170 ; 0xaa 808d040: 20d6 movs r0, #214 ; 0xd6 808d042: f7c8 f88d bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808d046: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808d04a: b2db uxtb r3, r3 808d04c: 461a mov r2, r3 808d04e: 4b7a ldr r3, [pc, #488] ; (808d238 ) 808d050: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d054: 461a mov r2, r3 808d056: 21aa movs r1, #170 ; 0xaa 808d058: 20f6 movs r0, #246 ; 0xf6 808d05a: f7c8 f881 bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808d05e: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808d062: b2db uxtb r3, r3 808d064: 461a mov r2, r3 808d066: 4b74 ldr r3, [pc, #464] ; (808d238 ) 808d068: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d06c: 461a mov r2, r3 808d06e: 21aa movs r1, #170 ; 0xaa 808d070: f44f 7083 mov.w r0, #262 ; 0x106 808d074: f7c8 f874 bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 808d078: 4a71 ldr r2, [pc, #452] ; (808d240 ) 808d07a: 21aa movs r1, #170 ; 0xaa 808d07c: f44f 708b mov.w r0, #278 ; 0x116 808d080: f7c8 f86e bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808d084: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808d088: b2db uxtb r3, r3 808d08a: 461a mov r2, r3 808d08c: 4b6a ldr r3, [pc, #424] ; (808d238 ) 808d08e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d092: 461a mov r2, r3 808d094: 21aa movs r1, #170 ; 0xaa 808d096: f44f 7093 mov.w r0, #294 ; 0x126 808d09a: f7c8 f861 bl 8055160 808d09e: e133 b.n 808d308 } else if(menupos == DiagA_IED) 808d0a0: 4b62 ldr r3, [pc, #392] ; (808d22c ) 808d0a2: 781b ldrb r3, [r3, #0] 808d0a4: b2db uxtb r3, r3 808d0a6: 2b22 cmp r3, #34 ; 0x22 808d0a8: d15d bne.n 808d166 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d0aa: 4961 ldr r1, [pc, #388] ; (808d230 ) 808d0ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d0b0: f7c7 faae bl 8054610 if(blk) 808d0b4: 4b5f ldr r3, [pc, #380] ; (808d234 ) 808d0b6: 681b ldr r3, [r3, #0] 808d0b8: 2b00 cmp r3, #0 808d0ba: d00b beq.n 808d0d4 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808d0bc: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808d0c0: b2db uxtb r3, r3 808d0c2: 461a mov r2, r3 808d0c4: 4b5c ldr r3, [pc, #368] ; (808d238 ) 808d0c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d0ca: 461a mov r2, r3 808d0cc: 21aa movs r1, #170 ; 0xaa 808d0ce: 20f6 movs r0, #246 ; 0xf6 808d0d0: f7c8 f846 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d0d4: 4956 ldr r1, [pc, #344] ; (808d230 ) 808d0d6: 4859 ldr r0, [pc, #356] ; (808d23c ) 808d0d8: f7c7 fa9a bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808d0dc: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808d0e0: b2db uxtb r3, r3 808d0e2: 461a mov r2, r3 808d0e4: 4b54 ldr r3, [pc, #336] ; (808d238 ) 808d0e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d0ea: 461a mov r2, r3 808d0ec: 21aa movs r1, #170 ; 0xaa 808d0ee: 20c6 movs r0, #198 ; 0xc6 808d0f0: f7c8 f836 bl 8055160 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808d0f4: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808d0f8: b2db uxtb r3, r3 808d0fa: 461a mov r2, r3 808d0fc: 4b4e ldr r3, [pc, #312] ; (808d238 ) 808d0fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d102: 461a mov r2, r3 808d104: 21aa movs r1, #170 ; 0xaa 808d106: 20d6 movs r0, #214 ; 0xd6 808d108: f7c8 f82a bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808d10c: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808d110: b2db uxtb r3, r3 808d112: 461a mov r2, r3 808d114: 4b48 ldr r3, [pc, #288] ; (808d238 ) 808d116: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d11a: 461a mov r2, r3 808d11c: 21aa movs r1, #170 ; 0xaa 808d11e: 20e6 movs r0, #230 ; 0xe6 808d120: f7c8 f81e bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808d124: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808d128: b2db uxtb r3, r3 808d12a: 461a mov r2, r3 808d12c: 4b42 ldr r3, [pc, #264] ; (808d238 ) 808d12e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d132: 461a mov r2, r3 808d134: 21aa movs r1, #170 ; 0xaa 808d136: f44f 7083 mov.w r0, #262 ; 0x106 808d13a: f7c8 f811 bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 808d13e: 4a40 ldr r2, [pc, #256] ; (808d240 ) 808d140: 21aa movs r1, #170 ; 0xaa 808d142: f44f 708b mov.w r0, #278 ; 0x116 808d146: f7c8 f80b bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808d14a: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808d14e: b2db uxtb r3, r3 808d150: 461a mov r2, r3 808d152: 4b39 ldr r3, [pc, #228] ; (808d238 ) 808d154: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d158: 461a mov r2, r3 808d15a: 21aa movs r1, #170 ; 0xaa 808d15c: f44f 7093 mov.w r0, #294 ; 0x126 808d160: f7c7 fffe bl 8055160 808d164: e0d0 b.n 808d308 } else if(menupos == DiagA_IEE) 808d166: 4b31 ldr r3, [pc, #196] ; (808d22c ) 808d168: 781b ldrb r3, [r3, #0] 808d16a: b2db uxtb r3, r3 808d16c: 2b23 cmp r3, #35 ; 0x23 808d16e: d169 bne.n 808d244 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d170: 492f ldr r1, [pc, #188] ; (808d230 ) 808d172: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d176: f7c7 fa4b bl 8054610 if(blk) 808d17a: 4b2e ldr r3, [pc, #184] ; (808d234 ) 808d17c: 681b ldr r3, [r3, #0] 808d17e: 2b00 cmp r3, #0 808d180: d00c beq.n 808d19c LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808d182: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808d186: b2db uxtb r3, r3 808d188: 461a mov r2, r3 808d18a: 4b2b ldr r3, [pc, #172] ; (808d238 ) 808d18c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d190: 461a mov r2, r3 808d192: 21aa movs r1, #170 ; 0xaa 808d194: f44f 7083 mov.w r0, #262 ; 0x106 808d198: f7c7 ffe2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d19c: 4924 ldr r1, [pc, #144] ; (808d230 ) 808d19e: 4827 ldr r0, [pc, #156] ; (808d23c ) 808d1a0: f7c7 fa36 bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808d1a4: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808d1a8: b2db uxtb r3, r3 808d1aa: 461a mov r2, r3 808d1ac: 4b22 ldr r3, [pc, #136] ; (808d238 ) 808d1ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d1b2: 461a mov r2, r3 808d1b4: 21aa movs r1, #170 ; 0xaa 808d1b6: 20c6 movs r0, #198 ; 0xc6 808d1b8: f7c7 ffd2 bl 8055160 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808d1bc: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808d1c0: b2db uxtb r3, r3 808d1c2: 461a mov r2, r3 808d1c4: 4b1c ldr r3, [pc, #112] ; (808d238 ) 808d1c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d1ca: 461a mov r2, r3 808d1cc: 21aa movs r1, #170 ; 0xaa 808d1ce: 20d6 movs r0, #214 ; 0xd6 808d1d0: f7c7 ffc6 bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808d1d4: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808d1d8: b2db uxtb r3, r3 808d1da: 461a mov r2, r3 808d1dc: 4b16 ldr r3, [pc, #88] ; (808d238 ) 808d1de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d1e2: 461a mov r2, r3 808d1e4: 21aa movs r1, #170 ; 0xaa 808d1e6: 20e6 movs r0, #230 ; 0xe6 808d1e8: f7c7 ffba bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808d1ec: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808d1f0: b2db uxtb r3, r3 808d1f2: 461a mov r2, r3 808d1f4: 4b10 ldr r3, [pc, #64] ; (808d238 ) 808d1f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d1fa: 461a mov r2, r3 808d1fc: 21aa movs r1, #170 ; 0xaa 808d1fe: 20f6 movs r0, #246 ; 0xf6 808d200: f7c7 ffae bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 808d204: 4a0e ldr r2, [pc, #56] ; (808d240 ) 808d206: 21aa movs r1, #170 ; 0xaa 808d208: f44f 708b mov.w r0, #278 ; 0x116 808d20c: f7c7 ffa8 bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808d210: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808d214: b2db uxtb r3, r3 808d216: 461a mov r2, r3 808d218: 4b07 ldr r3, [pc, #28] ; (808d238 ) 808d21a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d21e: 461a mov r2, r3 808d220: 21aa movs r1, #170 ; 0xaa 808d222: f44f 7093 mov.w r0, #294 ; 0x126 808d226: f7c7 ff9b bl 8055160 808d22a: e06d b.n 808d308 808d22c: 20020070 .word 0x20020070 808d230: ff0a0f1f .word 0xff0a0f1f 808d234: 200216a4 .word 0x200216a4 808d238: 2002096c .word 0x2002096c 808d23c: ffd8aa57 .word 0xffd8aa57 808d240: 080d3b58 .word 0x080d3b58 } else if(menupos == DiagA_IKD) 808d244: 4b92 ldr r3, [pc, #584] ; (808d490 ) 808d246: 781b ldrb r3, [r3, #0] 808d248: b2db uxtb r3, r3 808d24a: 2b24 cmp r3, #36 ; 0x24 808d24c: d15c bne.n 808d308 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d24e: 4991 ldr r1, [pc, #580] ; (808d494 ) 808d250: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d254: f7c7 f9dc bl 8054610 if(blk) 808d258: 4b8f ldr r3, [pc, #572] ; (808d498 ) 808d25a: 681b ldr r3, [r3, #0] 808d25c: 2b00 cmp r3, #0 808d25e: d00c beq.n 808d27a LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808d260: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808d264: b2db uxtb r3, r3 808d266: 461a mov r2, r3 808d268: 4b8c ldr r3, [pc, #560] ; (808d49c ) 808d26a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d26e: 461a mov r2, r3 808d270: 21aa movs r1, #170 ; 0xaa 808d272: f44f 7093 mov.w r0, #294 ; 0x126 808d276: f7c7 ff73 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d27a: 4986 ldr r1, [pc, #536] ; (808d494 ) 808d27c: 4888 ldr r0, [pc, #544] ; (808d4a0 ) 808d27e: f7c7 f9c7 bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808d282: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808d286: b2db uxtb r3, r3 808d288: 461a mov r2, r3 808d28a: 4b84 ldr r3, [pc, #528] ; (808d49c ) 808d28c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d290: 461a mov r2, r3 808d292: 21aa movs r1, #170 ; 0xaa 808d294: 20c6 movs r0, #198 ; 0xc6 808d296: f7c7 ff63 bl 8055160 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808d29a: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808d29e: b2db uxtb r3, r3 808d2a0: 461a mov r2, r3 808d2a2: 4b7e ldr r3, [pc, #504] ; (808d49c ) 808d2a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d2a8: 461a mov r2, r3 808d2aa: 21aa movs r1, #170 ; 0xaa 808d2ac: 20d6 movs r0, #214 ; 0xd6 808d2ae: f7c7 ff57 bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808d2b2: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808d2b6: b2db uxtb r3, r3 808d2b8: 461a mov r2, r3 808d2ba: 4b78 ldr r3, [pc, #480] ; (808d49c ) 808d2bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d2c0: 461a mov r2, r3 808d2c2: 21aa movs r1, #170 ; 0xaa 808d2c4: 20e6 movs r0, #230 ; 0xe6 808d2c6: f7c7 ff4b bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808d2ca: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808d2ce: b2db uxtb r3, r3 808d2d0: 461a mov r2, r3 808d2d2: 4b72 ldr r3, [pc, #456] ; (808d49c ) 808d2d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d2d8: 461a mov r2, r3 808d2da: 21aa movs r1, #170 ; 0xaa 808d2dc: 20f6 movs r0, #246 ; 0xf6 808d2de: f7c7 ff3f bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808d2e2: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808d2e6: b2db uxtb r3, r3 808d2e8: 461a mov r2, r3 808d2ea: 4b6c ldr r3, [pc, #432] ; (808d49c ) 808d2ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d2f0: 461a mov r2, r3 808d2f2: 21aa movs r1, #170 ; 0xaa 808d2f4: f44f 7083 mov.w r0, #262 ; 0x106 808d2f8: f7c7 ff32 bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 808d2fc: 4a69 ldr r2, [pc, #420] ; (808d4a4 ) 808d2fe: 21aa movs r1, #170 ; 0xaa 808d300: f44f 708b mov.w r0, #278 ; 0x116 808d304: f7c7 ff2c bl 8055160 // if((menupos < DiagHP_IDT) || (menupos > DiagHP_IKD)) 808d308: 4b61 ldr r3, [pc, #388] ; (808d490 ) 808d30a: 781b ldrb r3, [r3, #0] 808d30c: b2db uxtb r3, r3 808d30e: 2b0c cmp r3, #12 808d310: d905 bls.n 808d31e 808d312: 4b5f ldr r3, [pc, #380] ; (808d490 ) 808d314: 781b ldrb r3, [r3, #0] 808d316: b2db uxtb r3, r3 808d318: 2b12 cmp r3, #18 808d31a: f240 80da bls.w 808d4d2 { ///////// i = 0; 808d31e: 2300 movs r3, #0 808d320: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808d324: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808d328: 223c movs r2, #60 ; 0x3c 808d32a: 2100 movs r1, #0 808d32c: 4618 mov r0, r3 808d32e: f044 f837 bl 80d13a0 if(idtHP != 0) 808d332: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808d336: b2db uxtb r3, r3 808d338: 2b00 cmp r3, #0 808d33a: d00c beq.n 808d356 str2[i++] = idtHP + 48; 808d33c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d340: 1c5a adds r2, r3, #1 808d342: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d346: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 808d34a: b2d2 uxtb r2, r2 808d34c: 3230 adds r2, #48 ; 0x30 808d34e: b2d1 uxtb r1, r2 808d350: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d354: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 808d356: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808d35a: b2db uxtb r3, r3 808d35c: 2b00 cmp r3, #0 808d35e: d104 bne.n 808d36a 808d360: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808d364: b2db uxtb r3, r3 808d366: 2b00 cmp r3, #0 808d368: d00c beq.n 808d384 str2[i++] = ietHP + 48; 808d36a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d36e: 1c5a adds r2, r3, #1 808d370: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d374: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 808d378: b2d2 uxtb r2, r2 808d37a: 3230 adds r2, #48 ; 0x30 808d37c: b2d1 uxtb r1, r2 808d37e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d382: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808d384: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808d388: b2db uxtb r3, r3 808d38a: 2b00 cmp r3, #0 808d38c: d109 bne.n 808d3a2 808d38e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808d392: b2db uxtb r3, r3 808d394: 2b00 cmp r3, #0 808d396: d104 bne.n 808d3a2 808d398: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808d39c: b2db uxtb r3, r3 808d39e: 2b00 cmp r3, #0 808d3a0: d00c beq.n 808d3bc str2[i++] = iesHP + 48; 808d3a2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d3a6: 1c5a adds r2, r3, #1 808d3a8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d3ac: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808d3b0: b2d2 uxtb r2, r2 808d3b2: 3230 adds r2, #48 ; 0x30 808d3b4: b2d1 uxtb r1, r2 808d3b6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d3ba: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808d3bc: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808d3c0: b2db uxtb r3, r3 808d3c2: 2b00 cmp r3, #0 808d3c4: d10e bne.n 808d3e4 808d3c6: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808d3ca: b2db uxtb r3, r3 808d3cc: 2b00 cmp r3, #0 808d3ce: d109 bne.n 808d3e4 808d3d0: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808d3d4: b2db uxtb r3, r3 808d3d6: 2b00 cmp r3, #0 808d3d8: d104 bne.n 808d3e4 808d3da: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808d3de: b2db uxtb r3, r3 808d3e0: 2b00 cmp r3, #0 808d3e2: d00c beq.n 808d3fe str2[i++] = iedHP + 48; 808d3e4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d3e8: 1c5a adds r2, r3, #1 808d3ea: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d3ee: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 808d3f2: b2d2 uxtb r2, r2 808d3f4: 3230 adds r2, #48 ; 0x30 808d3f6: b2d1 uxtb r1, r2 808d3f8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d3fc: 54d1 strb r1, [r2, r3] str2[i++] = ieeHP + 48; 808d3fe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d402: 1c5a adds r2, r3, #1 808d404: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d408: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808d40c: b2d2 uxtb r2, r2 808d40e: 3230 adds r2, #48 ; 0x30 808d410: b2d1 uxtb r1, r2 808d412: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d416: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808d418: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d41c: 1c5a adds r2, r3, #1 808d41e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d422: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d426: 212e movs r1, #46 ; 0x2e 808d428: 54d1 strb r1, [r2, r3] str2[i++] = ikdHP + 48; 808d42a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d42e: 1c5a adds r2, r3, #1 808d430: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d434: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 808d438: b2d2 uxtb r2, r2 808d43a: 3230 adds r2, #48 ; 0x30 808d43c: b2d1 uxtb r1, r2 808d43e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d442: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808d444: 4b18 ldr r3, [pc, #96] ; (808d4a8 ) 808d446: 781b ldrb r3, [r3, #0] 808d448: b2db uxtb r3, r3 808d44a: 4618 mov r0, r3 808d44c: 4b17 ldr r3, [pc, #92] ; (808d4ac ) 808d44e: 781b ldrb r3, [r3, #0] 808d450: b2db uxtb r3, r3 808d452: 4619 mov r1, r3 808d454: 4a16 ldr r2, [pc, #88] ; (808d4b0 ) 808d456: 0083 lsls r3, r0, #2 808d458: 4413 add r3, r2 808d45a: 440b add r3, r1 808d45c: f503 730f add.w r3, r3, #572 ; 0x23c 808d460: 781b ldrb r3, [r3, #0] 808d462: b2db uxtb r3, r3 808d464: f003 0307 and.w r3, r3, #7 808d468: 2b00 cmp r3, #0 808d46a: d103 bne.n 808d474 cl2 = LCD_COLOR_GRAY; 808d46c: 4b11 ldr r3, [pc, #68] ; (808d4b4 ) 808d46e: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808d472: e002 b.n 808d47a else cl2 = LCD_COLOR_MY_YELLOW; 808d474: 4b0a ldr r3, [pc, #40] ; (808d4a0 ) 808d476: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == DiagHP) 808d47a: 4b05 ldr r3, [pc, #20] ; (808d490 ) 808d47c: 781b ldrb r3, [r3, #0] 808d47e: b2db uxtb r3, r3 808d480: 2b09 cmp r3, #9 808d482: d119 bne.n 808d4b8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d484: 4903 ldr r1, [pc, #12] ; (808d494 ) 808d486: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d48a: f7c7 f8c1 bl 8054610 808d48e: e018 b.n 808d4c2 808d490: 20020070 .word 0x20020070 808d494: ff0a0f1f .word 0xff0a0f1f 808d498: 200216a4 .word 0x200216a4 808d49c: 2002096c .word 0x2002096c 808d4a0: ffd8aa57 .word 0xffd8aa57 808d4a4: 080d3b58 .word 0x080d3b58 808d4a8: 20021055 .word 0x20021055 808d4ac: 20021057 .word 0x20021057 808d4b0: 20023ea8 .word 0x20023ea8 808d4b4: ff808080 .word 0xff808080 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808d4b8: 49c9 ldr r1, [pc, #804] ; (808d7e0 ) 808d4ba: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808d4be: f7c7 f8a7 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str2); 808d4c2: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808d4c6: 461a mov r2, r3 808d4c8: 217a movs r1, #122 ; 0x7a 808d4ca: f44f 7082 mov.w r0, #260 ; 0x104 808d4ce: f7c7 fe5f bl 8055190 } // if((menupos < DiagLP_IDT) || (menupos > DiagLP_IKD)) 808d4d2: 4bc4 ldr r3, [pc, #784] ; (808d7e4 ) 808d4d4: 781b ldrb r3, [r3, #0] 808d4d6: b2db uxtb r3, r3 808d4d8: 2b12 cmp r3, #18 808d4da: d905 bls.n 808d4e8 808d4dc: 4bc1 ldr r3, [pc, #772] ; (808d7e4 ) 808d4de: 781b ldrb r3, [r3, #0] 808d4e0: b2db uxtb r3, r3 808d4e2: 2b18 cmp r3, #24 808d4e4: f240 80c6 bls.w 808d674 { ///////// i = 0; 808d4e8: 2300 movs r3, #0 808d4ea: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808d4ee: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808d4f2: 223c movs r2, #60 ; 0x3c 808d4f4: 2100 movs r1, #0 808d4f6: 4618 mov r0, r3 808d4f8: f043 ff52 bl 80d13a0 if(idtLP != 0) 808d4fc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d500: b2db uxtb r3, r3 808d502: 2b00 cmp r3, #0 808d504: d00c beq.n 808d520 str2[i++] = idtLP + 48; 808d506: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d50a: 1c5a adds r2, r3, #1 808d50c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d510: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808d514: b2d2 uxtb r2, r2 808d516: 3230 adds r2, #48 ; 0x30 808d518: b2d1 uxtb r1, r2 808d51a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d51e: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808d520: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d524: b2db uxtb r3, r3 808d526: 2b00 cmp r3, #0 808d528: d104 bne.n 808d534 808d52a: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d52e: b2db uxtb r3, r3 808d530: 2b00 cmp r3, #0 808d532: d00c beq.n 808d54e str2[i++] = ietLP + 48; 808d534: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d538: 1c5a adds r2, r3, #1 808d53a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d53e: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808d542: b2d2 uxtb r2, r2 808d544: 3230 adds r2, #48 ; 0x30 808d546: b2d1 uxtb r1, r2 808d548: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d54c: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808d54e: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808d552: b2db uxtb r3, r3 808d554: 2b00 cmp r3, #0 808d556: d109 bne.n 808d56c 808d558: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d55c: b2db uxtb r3, r3 808d55e: 2b00 cmp r3, #0 808d560: d104 bne.n 808d56c 808d562: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d566: b2db uxtb r3, r3 808d568: 2b00 cmp r3, #0 808d56a: d00c beq.n 808d586 str2[i++] = iesLP + 48; 808d56c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d570: 1c5a adds r2, r3, #1 808d572: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d576: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808d57a: b2d2 uxtb r2, r2 808d57c: 3230 adds r2, #48 ; 0x30 808d57e: b2d1 uxtb r1, r2 808d580: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d584: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808d586: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808d58a: b2db uxtb r3, r3 808d58c: 2b00 cmp r3, #0 808d58e: d10e bne.n 808d5ae 808d590: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808d594: b2db uxtb r3, r3 808d596: 2b00 cmp r3, #0 808d598: d109 bne.n 808d5ae 808d59a: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d59e: b2db uxtb r3, r3 808d5a0: 2b00 cmp r3, #0 808d5a2: d104 bne.n 808d5ae 808d5a4: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d5a8: b2db uxtb r3, r3 808d5aa: 2b00 cmp r3, #0 808d5ac: d00c beq.n 808d5c8 str2[i++] = iedLP + 48; 808d5ae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d5b2: 1c5a adds r2, r3, #1 808d5b4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d5b8: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808d5bc: b2d2 uxtb r2, r2 808d5be: 3230 adds r2, #48 ; 0x30 808d5c0: b2d1 uxtb r1, r2 808d5c2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d5c6: 54d1 strb r1, [r2, r3] str2[i++] = ieeLP + 48; 808d5c8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d5cc: 1c5a adds r2, r3, #1 808d5ce: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d5d2: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808d5d6: b2d2 uxtb r2, r2 808d5d8: 3230 adds r2, #48 ; 0x30 808d5da: b2d1 uxtb r1, r2 808d5dc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d5e0: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808d5e2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d5e6: 1c5a adds r2, r3, #1 808d5e8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d5ec: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d5f0: 212e movs r1, #46 ; 0x2e 808d5f2: 54d1 strb r1, [r2, r3] str2[i++] = ikdLP + 48; 808d5f4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d5f8: 1c5a adds r2, r3, #1 808d5fa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d5fe: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808d602: b2d2 uxtb r2, r2 808d604: 3230 adds r2, #48 ; 0x30 808d606: b2d1 uxtb r1, r2 808d608: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d60c: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808d60e: 4b76 ldr r3, [pc, #472] ; (808d7e8 ) 808d610: 781b ldrb r3, [r3, #0] 808d612: b2db uxtb r3, r3 808d614: 4618 mov r0, r3 808d616: 4b75 ldr r3, [pc, #468] ; (808d7ec ) 808d618: 781b ldrb r3, [r3, #0] 808d61a: b2db uxtb r3, r3 808d61c: 4619 mov r1, r3 808d61e: 4a74 ldr r2, [pc, #464] ; (808d7f0 ) 808d620: 0083 lsls r3, r0, #2 808d622: 4413 add r3, r2 808d624: 440b add r3, r1 808d626: f503 730f add.w r3, r3, #572 ; 0x23c 808d62a: 781b ldrb r3, [r3, #0] 808d62c: b2db uxtb r3, r3 808d62e: f003 0307 and.w r3, r3, #7 808d632: 2b00 cmp r3, #0 808d634: d103 bne.n 808d63e cl2 = LCD_COLOR_GRAY; 808d636: 4b6f ldr r3, [pc, #444] ; (808d7f4 ) 808d638: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808d63c: e002 b.n 808d644 else cl2 = LCD_COLOR_MY_YELLOW; 808d63e: 4b6e ldr r3, [pc, #440] ; (808d7f8 ) 808d640: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == DiagLP) 808d644: 4b67 ldr r3, [pc, #412] ; (808d7e4 ) 808d646: 781b ldrb r3, [r3, #0] 808d648: b2db uxtb r3, r3 808d64a: 2b0a cmp r3, #10 808d64c: d105 bne.n 808d65a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d64e: 4964 ldr r1, [pc, #400] ; (808d7e0 ) 808d650: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d654: f7c6 ffdc bl 8054610 808d658: e004 b.n 808d664 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808d65a: 4961 ldr r1, [pc, #388] ; (808d7e0 ) 808d65c: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808d660: f7c6 ffd6 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_8, str2); 808d664: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808d668: 461a mov r2, r3 808d66a: 218a movs r1, #138 ; 0x8a 808d66c: f44f 7082 mov.w r0, #260 ; 0x104 808d670: f7c7 fd8e bl 8055190 } // if((menupos < DiagW_IDT) || (menupos > DiagW_IKD)) 808d674: 4b5b ldr r3, [pc, #364] ; (808d7e4 ) 808d676: 781b ldrb r3, [r3, #0] 808d678: b2db uxtb r3, r3 808d67a: 2b18 cmp r3, #24 808d67c: d905 bls.n 808d68a 808d67e: 4b59 ldr r3, [pc, #356] ; (808d7e4 ) 808d680: 781b ldrb r3, [r3, #0] 808d682: b2db uxtb r3, r3 808d684: 2b1e cmp r3, #30 808d686: f240 80d4 bls.w 808d832 { ///////// i = 0; 808d68a: 2300 movs r3, #0 808d68c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808d690: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808d694: 223c movs r2, #60 ; 0x3c 808d696: 2100 movs r1, #0 808d698: 4618 mov r0, r3 808d69a: f043 fe81 bl 80d13a0 if(idt_W != 0) 808d69e: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808d6a2: b2db uxtb r3, r3 808d6a4: 2b00 cmp r3, #0 808d6a6: d00c beq.n 808d6c2 str2[i++] = idt_W + 48; 808d6a8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d6ac: 1c5a adds r2, r3, #1 808d6ae: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d6b2: f897 23c3 ldrb.w r2, [r7, #963] ; 0x3c3 808d6b6: b2d2 uxtb r2, r2 808d6b8: 3230 adds r2, #48 ; 0x30 808d6ba: b2d1 uxtb r1, r2 808d6bc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d6c0: 54d1 strb r1, [r2, r3] if((iet_W != 0) || (idt_W != 0)) 808d6c2: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808d6c6: b2db uxtb r3, r3 808d6c8: 2b00 cmp r3, #0 808d6ca: d104 bne.n 808d6d6 808d6cc: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808d6d0: b2db uxtb r3, r3 808d6d2: 2b00 cmp r3, #0 808d6d4: d00c beq.n 808d6f0 str2[i++] = iet_W + 48; 808d6d6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d6da: 1c5a adds r2, r3, #1 808d6dc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d6e0: f897 23c2 ldrb.w r2, [r7, #962] ; 0x3c2 808d6e4: b2d2 uxtb r2, r2 808d6e6: 3230 adds r2, #48 ; 0x30 808d6e8: b2d1 uxtb r1, r2 808d6ea: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d6ee: 54d1 strb r1, [r2, r3] if((ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808d6f0: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808d6f4: b2db uxtb r3, r3 808d6f6: 2b00 cmp r3, #0 808d6f8: d109 bne.n 808d70e 808d6fa: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808d6fe: b2db uxtb r3, r3 808d700: 2b00 cmp r3, #0 808d702: d104 bne.n 808d70e 808d704: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808d708: b2db uxtb r3, r3 808d70a: 2b00 cmp r3, #0 808d70c: d00c beq.n 808d728 str2[i++] = ies_W + 48; 808d70e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d712: 1c5a adds r2, r3, #1 808d714: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d718: f897 23c1 ldrb.w r2, [r7, #961] ; 0x3c1 808d71c: b2d2 uxtb r2, r2 808d71e: 3230 adds r2, #48 ; 0x30 808d720: b2d1 uxtb r1, r2 808d722: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d726: 54d1 strb r1, [r2, r3] if((ied_W != 0) || (ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808d728: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808d72c: b2db uxtb r3, r3 808d72e: 2b00 cmp r3, #0 808d730: d10e bne.n 808d750 808d732: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808d736: b2db uxtb r3, r3 808d738: 2b00 cmp r3, #0 808d73a: d109 bne.n 808d750 808d73c: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808d740: b2db uxtb r3, r3 808d742: 2b00 cmp r3, #0 808d744: d104 bne.n 808d750 808d746: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808d74a: b2db uxtb r3, r3 808d74c: 2b00 cmp r3, #0 808d74e: d00c beq.n 808d76a str2[i++] = ied_W + 48; 808d750: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d754: 1c5a adds r2, r3, #1 808d756: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d75a: f897 23c0 ldrb.w r2, [r7, #960] ; 0x3c0 808d75e: b2d2 uxtb r2, r2 808d760: 3230 adds r2, #48 ; 0x30 808d762: b2d1 uxtb r1, r2 808d764: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d768: 54d1 strb r1, [r2, r3] str2[i++] = iee_W + 48; 808d76a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d76e: 1c5a adds r2, r3, #1 808d770: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d774: f897 23bf ldrb.w r2, [r7, #959] ; 0x3bf 808d778: b2d2 uxtb r2, r2 808d77a: 3230 adds r2, #48 ; 0x30 808d77c: b2d1 uxtb r1, r2 808d77e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d782: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808d784: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d788: 1c5a adds r2, r3, #1 808d78a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d78e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d792: 212e movs r1, #46 ; 0x2e 808d794: 54d1 strb r1, [r2, r3] str2[i++] = ikd_W + 48; 808d796: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d79a: 1c5a adds r2, r3, #1 808d79c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d7a0: f897 23be ldrb.w r2, [r7, #958] ; 0x3be 808d7a4: b2d2 uxtb r2, r2 808d7a6: 3230 adds r2, #48 ; 0x30 808d7a8: b2d1 uxtb r1, r2 808d7aa: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d7ae: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808d7b0: 4b0d ldr r3, [pc, #52] ; (808d7e8 ) 808d7b2: 781b ldrb r3, [r3, #0] 808d7b4: b2db uxtb r3, r3 808d7b6: 4618 mov r0, r3 808d7b8: 4b0c ldr r3, [pc, #48] ; (808d7ec ) 808d7ba: 781b ldrb r3, [r3, #0] 808d7bc: b2db uxtb r3, r3 808d7be: 4619 mov r1, r3 808d7c0: 4a0b ldr r2, [pc, #44] ; (808d7f0 ) 808d7c2: 0083 lsls r3, r0, #2 808d7c4: 4413 add r3, r2 808d7c6: 440b add r3, r1 808d7c8: f503 730f add.w r3, r3, #572 ; 0x23c 808d7cc: 781b ldrb r3, [r3, #0] 808d7ce: b2db uxtb r3, r3 808d7d0: f003 0307 and.w r3, r3, #7 808d7d4: 2b00 cmp r3, #0 808d7d6: d111 bne.n 808d7fc cl2 = LCD_COLOR_GRAY; 808d7d8: 4b06 ldr r3, [pc, #24] ; (808d7f4 ) 808d7da: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808d7de: e010 b.n 808d802 808d7e0: ff0a0f1f .word 0xff0a0f1f 808d7e4: 20020070 .word 0x20020070 808d7e8: 20021055 .word 0x20021055 808d7ec: 20021057 .word 0x20021057 808d7f0: 20023ea8 .word 0x20023ea8 808d7f4: ff808080 .word 0xff808080 808d7f8: ffd8aa57 .word 0xffd8aa57 else cl2 = LCD_COLOR_MY_YELLOW; 808d7fc: 4b76 ldr r3, [pc, #472] ; (808d9d8 ) 808d7fe: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == Diag_W) 808d802: 4b76 ldr r3, [pc, #472] ; (808d9dc ) 808d804: 781b ldrb r3, [r3, #0] 808d806: b2db uxtb r3, r3 808d808: 2b0b cmp r3, #11 808d80a: d105 bne.n 808d818 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d80c: 4974 ldr r1, [pc, #464] ; (808d9e0 ) 808d80e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d812: f7c6 fefd bl 8054610 808d816: e004 b.n 808d822 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808d818: 4971 ldr r1, [pc, #452] ; (808d9e0 ) 808d81a: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808d81e: f7c6 fef7 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, str2); 808d822: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808d826: 461a mov r2, r3 808d828: 219a movs r1, #154 ; 0x9a 808d82a: f44f 7082 mov.w r0, #260 ; 0x104 808d82e: f7c7 fcaf bl 8055190 } // if((menupos < DiagA_IDT) || (menupos > DiagA_IKD)) 808d832: 4b6a ldr r3, [pc, #424] ; (808d9dc ) 808d834: 781b ldrb r3, [r3, #0] 808d836: b2db uxtb r3, r3 808d838: 2b1e cmp r3, #30 808d83a: d905 bls.n 808d848 808d83c: 4b67 ldr r3, [pc, #412] ; (808d9dc ) 808d83e: 781b ldrb r3, [r3, #0] 808d840: b2db uxtb r3, r3 808d842: 2b24 cmp r3, #36 ; 0x24 808d844: f24a 86df bls.w 8098606 { ///////// i = 0; 808d848: 2300 movs r3, #0 808d84a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808d84e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808d852: 223c movs r2, #60 ; 0x3c 808d854: 2100 movs r1, #0 808d856: 4618 mov r0, r3 808d858: f043 fda2 bl 80d13a0 if(idt_A != 0) 808d85c: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808d860: b2db uxtb r3, r3 808d862: 2b00 cmp r3, #0 808d864: d00c beq.n 808d880 str2[i++] = idt_A + 48; 808d866: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d86a: 1c5a adds r2, r3, #1 808d86c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d870: f897 23bc ldrb.w r2, [r7, #956] ; 0x3bc 808d874: b2d2 uxtb r2, r2 808d876: 3230 adds r2, #48 ; 0x30 808d878: b2d1 uxtb r1, r2 808d87a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d87e: 54d1 strb r1, [r2, r3] if((iet_A != 0) || (idt_A != 0)) 808d880: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808d884: b2db uxtb r3, r3 808d886: 2b00 cmp r3, #0 808d888: d104 bne.n 808d894 808d88a: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808d88e: b2db uxtb r3, r3 808d890: 2b00 cmp r3, #0 808d892: d00c beq.n 808d8ae str2[i++] = iet_A + 48; 808d894: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d898: 1c5a adds r2, r3, #1 808d89a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d89e: f897 23bb ldrb.w r2, [r7, #955] ; 0x3bb 808d8a2: b2d2 uxtb r2, r2 808d8a4: 3230 adds r2, #48 ; 0x30 808d8a6: b2d1 uxtb r1, r2 808d8a8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d8ac: 54d1 strb r1, [r2, r3] if((ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808d8ae: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808d8b2: b2db uxtb r3, r3 808d8b4: 2b00 cmp r3, #0 808d8b6: d109 bne.n 808d8cc 808d8b8: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808d8bc: b2db uxtb r3, r3 808d8be: 2b00 cmp r3, #0 808d8c0: d104 bne.n 808d8cc 808d8c2: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808d8c6: b2db uxtb r3, r3 808d8c8: 2b00 cmp r3, #0 808d8ca: d00c beq.n 808d8e6 str2[i++] = ies_A + 48; 808d8cc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d8d0: 1c5a adds r2, r3, #1 808d8d2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d8d6: f897 23ba ldrb.w r2, [r7, #954] ; 0x3ba 808d8da: b2d2 uxtb r2, r2 808d8dc: 3230 adds r2, #48 ; 0x30 808d8de: b2d1 uxtb r1, r2 808d8e0: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d8e4: 54d1 strb r1, [r2, r3] if((ied_A != 0) || (ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808d8e6: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808d8ea: b2db uxtb r3, r3 808d8ec: 2b00 cmp r3, #0 808d8ee: d10e bne.n 808d90e 808d8f0: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808d8f4: b2db uxtb r3, r3 808d8f6: 2b00 cmp r3, #0 808d8f8: d109 bne.n 808d90e 808d8fa: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808d8fe: b2db uxtb r3, r3 808d900: 2b00 cmp r3, #0 808d902: d104 bne.n 808d90e 808d904: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808d908: b2db uxtb r3, r3 808d90a: 2b00 cmp r3, #0 808d90c: d00c beq.n 808d928 str2[i++] = ied_A + 48; 808d90e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d912: 1c5a adds r2, r3, #1 808d914: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d918: f897 23b9 ldrb.w r2, [r7, #953] ; 0x3b9 808d91c: b2d2 uxtb r2, r2 808d91e: 3230 adds r2, #48 ; 0x30 808d920: b2d1 uxtb r1, r2 808d922: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d926: 54d1 strb r1, [r2, r3] str2[i++] = iee_A + 48; 808d928: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d92c: 1c5a adds r2, r3, #1 808d92e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d932: f897 23b8 ldrb.w r2, [r7, #952] ; 0x3b8 808d936: b2d2 uxtb r2, r2 808d938: 3230 adds r2, #48 ; 0x30 808d93a: b2d1 uxtb r1, r2 808d93c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d940: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808d942: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d946: 1c5a adds r2, r3, #1 808d948: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d94c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d950: 212e movs r1, #46 ; 0x2e 808d952: 54d1 strb r1, [r2, r3] str2[i++] = ikd_A + 48; 808d954: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d958: 1c5a adds r2, r3, #1 808d95a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d95e: f897 23b7 ldrb.w r2, [r7, #951] ; 0x3b7 808d962: b2d2 uxtb r2, r2 808d964: 3230 adds r2, #48 ; 0x30 808d966: b2d1 uxtb r1, r2 808d968: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808d96c: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808d96e: 4b1d ldr r3, [pc, #116] ; (808d9e4 ) 808d970: 781b ldrb r3, [r3, #0] 808d972: b2db uxtb r3, r3 808d974: 4618 mov r0, r3 808d976: 4b1c ldr r3, [pc, #112] ; (808d9e8 ) 808d978: 781b ldrb r3, [r3, #0] 808d97a: b2db uxtb r3, r3 808d97c: 4619 mov r1, r3 808d97e: 4a1b ldr r2, [pc, #108] ; (808d9ec ) 808d980: 0083 lsls r3, r0, #2 808d982: 4413 add r3, r2 808d984: 440b add r3, r1 808d986: f503 730f add.w r3, r3, #572 ; 0x23c 808d98a: 781b ldrb r3, [r3, #0] 808d98c: b2db uxtb r3, r3 808d98e: f003 0307 and.w r3, r3, #7 808d992: 2b00 cmp r3, #0 808d994: d103 bne.n 808d99e cl2 = LCD_COLOR_GRAY; 808d996: 4b16 ldr r3, [pc, #88] ; (808d9f0 ) 808d998: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808d99c: e002 b.n 808d9a4 else cl2 = LCD_COLOR_MY_YELLOW; 808d99e: 4b0e ldr r3, [pc, #56] ; (808d9d8 ) 808d9a0: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == Diag_A) 808d9a4: 4b0d ldr r3, [pc, #52] ; (808d9dc ) 808d9a6: 781b ldrb r3, [r3, #0] 808d9a8: b2db uxtb r3, r3 808d9aa: 2b0c cmp r3, #12 808d9ac: d105 bne.n 808d9ba LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d9ae: 490c ldr r1, [pc, #48] ; (808d9e0 ) 808d9b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d9b4: f7c6 fe2c bl 8054610 808d9b8: e004 b.n 808d9c4 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808d9ba: 4909 ldr r1, [pc, #36] ; (808d9e0 ) 808d9bc: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808d9c0: f7c6 fe26 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, str2); 808d9c4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808d9c8: 461a mov r2, r3 808d9ca: 21aa movs r1, #170 ; 0xaa 808d9cc: f44f 7082 mov.w r0, #260 ; 0x104 808d9d0: f7c7 fbde bl 8055190 } break; 808d9d4: f00a be17 b.w 8098606 808d9d8: ffd8aa57 .word 0xffd8aa57 808d9dc: 20020070 .word 0x20020070 808d9e0: ff0a0f1f .word 0xff0a0f1f 808d9e4: 20021055 .word 0x20021055 808d9e8: 20021057 .word 0x20021057 808d9ec: 20023ea8 .word 0x20023ea8 808d9f0: ff808080 .word 0xff808080 case PARAM_OSC: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 808d9f4: 49d9 ldr r1, [pc, #868] ; (808dd5c ) 808d9f6: 48da ldr r0, [pc, #872] ; (808dd60 ) 808d9f8: f7c6 fe0a bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 808d9fc: 23c9 movs r3, #201 ; 0xc9 808d9fe: f44f 729d mov.w r2, #314 ; 0x13a 808da02: 2123 movs r1, #35 ; 0x23 808da04: 2002 movs r0, #2 808da06: f7c7 f909 bl 8054c1c k = (uint32_t) (pardata.THR_VAL * 10.0f); 808da0a: 4bd6 ldr r3, [pc, #856] ; (808dd64 ) 808da0c: edd3 7a05 vldr s15, [r3, #20] 808da10: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808da14: ee67 7a87 vmul.f32 s15, s15, s14 808da18: eefc 7ae7 vcvt.u32.f32 s15, s15 808da1c: ee17 3a90 vmov r3, s15 808da20: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt = (uint8_t) (k / 100000); 808da24: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808da28: 095b lsrs r3, r3, #5 808da2a: 4acf ldr r2, [pc, #828] ; (808dd68 ) 808da2c: fba2 2303 umull r2, r3, r2, r3 808da30: 09db lsrs r3, r3, #7 808da32: b2db uxtb r3, r3 808da34: f887 33e7 strb.w r3, [r7, #999] ; 0x3e7 iet = (uint8_t) (k % 100000 / 10000); 808da38: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808da3c: 0953 lsrs r3, r2, #5 808da3e: 49ca ldr r1, [pc, #808] ; (808dd68 ) 808da40: fba1 1303 umull r1, r3, r1, r3 808da44: 09db lsrs r3, r3, #7 808da46: 49c9 ldr r1, [pc, #804] ; (808dd6c ) 808da48: fb01 f303 mul.w r3, r1, r3 808da4c: 1ad3 subs r3, r2, r3 808da4e: 4ac8 ldr r2, [pc, #800] ; (808dd70 ) 808da50: fba2 2303 umull r2, r3, r2, r3 808da54: 0b5b lsrs r3, r3, #13 808da56: b2db uxtb r3, r3 808da58: f887 33e6 strb.w r3, [r7, #998] ; 0x3e6 ies = (uint8_t) (k % 100000 % 10000 / 1000); 808da5c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808da60: 0953 lsrs r3, r2, #5 808da62: 49c1 ldr r1, [pc, #772] ; (808dd68 ) 808da64: fba1 1303 umull r1, r3, r1, r3 808da68: 09db lsrs r3, r3, #7 808da6a: 49c0 ldr r1, [pc, #768] ; (808dd6c ) 808da6c: fb01 f303 mul.w r3, r1, r3 808da70: 1ad3 subs r3, r2, r3 808da72: 4abf ldr r2, [pc, #764] ; (808dd70 ) 808da74: fba2 1203 umull r1, r2, r2, r3 808da78: 0b52 lsrs r2, r2, #13 808da7a: f242 7110 movw r1, #10000 ; 0x2710 808da7e: fb01 f202 mul.w r2, r1, r2 808da82: 1a9a subs r2, r3, r2 808da84: 4bbb ldr r3, [pc, #748] ; (808dd74 ) 808da86: fba3 2302 umull r2, r3, r3, r2 808da8a: 099b lsrs r3, r3, #6 808da8c: b2db uxtb r3, r3 808da8e: f887 33e5 strb.w r3, [r7, #997] ; 0x3e5 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808da92: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808da96: 095a lsrs r2, r3, #5 808da98: 49b3 ldr r1, [pc, #716] ; (808dd68 ) 808da9a: fba1 1202 umull r1, r2, r1, r2 808da9e: 09d2 lsrs r2, r2, #7 808daa0: 49b2 ldr r1, [pc, #712] ; (808dd6c ) 808daa2: fb01 f202 mul.w r2, r1, r2 808daa6: 1a9a subs r2, r3, r2 808daa8: 4bb1 ldr r3, [pc, #708] ; (808dd70 ) 808daaa: fba3 1302 umull r1, r3, r3, r2 808daae: 0b5b lsrs r3, r3, #13 808dab0: f242 7110 movw r1, #10000 ; 0x2710 808dab4: fb01 f303 mul.w r3, r1, r3 808dab8: 1ad3 subs r3, r2, r3 808daba: 4aae ldr r2, [pc, #696] ; (808dd74 ) 808dabc: fba2 1203 umull r1, r2, r2, r3 808dac0: 0992 lsrs r2, r2, #6 808dac2: f44f 717a mov.w r1, #1000 ; 0x3e8 808dac6: fb01 f202 mul.w r2, r1, r2 808daca: 1a9a subs r2, r3, r2 808dacc: 4baa ldr r3, [pc, #680] ; (808dd78 ) 808dace: fba3 2302 umull r2, r3, r3, r2 808dad2: 095b lsrs r3, r3, #5 808dad4: b2db uxtb r3, r3 808dad6: f887 33e4 strb.w r3, [r7, #996] ; 0x3e4 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808dada: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808dade: 0953 lsrs r3, r2, #5 808dae0: 49a1 ldr r1, [pc, #644] ; (808dd68 ) 808dae2: fba1 1303 umull r1, r3, r1, r3 808dae6: 09db lsrs r3, r3, #7 808dae8: 49a0 ldr r1, [pc, #640] ; (808dd6c ) 808daea: fb01 f303 mul.w r3, r1, r3 808daee: 1ad3 subs r3, r2, r3 808daf0: 4a9f ldr r2, [pc, #636] ; (808dd70 ) 808daf2: fba2 1203 umull r1, r2, r2, r3 808daf6: 0b52 lsrs r2, r2, #13 808daf8: f242 7110 movw r1, #10000 ; 0x2710 808dafc: fb01 f202 mul.w r2, r1, r2 808db00: 1a9a subs r2, r3, r2 808db02: 4b9c ldr r3, [pc, #624] ; (808dd74 ) 808db04: fba3 1302 umull r1, r3, r3, r2 808db08: 099b lsrs r3, r3, #6 808db0a: f44f 717a mov.w r1, #1000 ; 0x3e8 808db0e: fb01 f303 mul.w r3, r1, r3 808db12: 1ad3 subs r3, r2, r3 808db14: 4a98 ldr r2, [pc, #608] ; (808dd78 ) 808db16: fba2 1203 umull r1, r2, r2, r3 808db1a: 0952 lsrs r2, r2, #5 808db1c: 2164 movs r1, #100 ; 0x64 808db1e: fb01 f202 mul.w r2, r1, r2 808db22: 1a9a subs r2, r3, r2 808db24: 4b95 ldr r3, [pc, #596] ; (808dd7c ) 808db26: fba3 2302 umull r2, r3, r3, r2 808db2a: 08db lsrs r3, r3, #3 808db2c: b2db uxtb r3, r3 808db2e: f887 33e3 strb.w r3, [r7, #995] ; 0x3e3 ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808db32: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808db36: 0953 lsrs r3, r2, #5 808db38: 498b ldr r1, [pc, #556] ; (808dd68 ) 808db3a: fba1 1303 umull r1, r3, r1, r3 808db3e: 09db lsrs r3, r3, #7 808db40: 498a ldr r1, [pc, #552] ; (808dd6c ) 808db42: fb01 f303 mul.w r3, r1, r3 808db46: 1ad3 subs r3, r2, r3 808db48: 4a89 ldr r2, [pc, #548] ; (808dd70 ) 808db4a: fba2 1203 umull r1, r2, r2, r3 808db4e: 0b52 lsrs r2, r2, #13 808db50: f242 7110 movw r1, #10000 ; 0x2710 808db54: fb01 f202 mul.w r2, r1, r2 808db58: 1a9a subs r2, r3, r2 808db5a: 4b86 ldr r3, [pc, #536] ; (808dd74 ) 808db5c: fba3 1302 umull r1, r3, r3, r2 808db60: 099b lsrs r3, r3, #6 808db62: f44f 717a mov.w r1, #1000 ; 0x3e8 808db66: fb01 f303 mul.w r3, r1, r3 808db6a: 1ad3 subs r3, r2, r3 808db6c: 4a82 ldr r2, [pc, #520] ; (808dd78 ) 808db6e: fba2 1203 umull r1, r2, r2, r3 808db72: 0952 lsrs r2, r2, #5 808db74: 2164 movs r1, #100 ; 0x64 808db76: fb01 f202 mul.w r2, r1, r2 808db7a: 1a9a subs r2, r3, r2 808db7c: 4b7f ldr r3, [pc, #508] ; (808dd7c ) 808db7e: fba3 1302 umull r1, r3, r3, r2 808db82: 08d9 lsrs r1, r3, #3 808db84: 460b mov r3, r1 808db86: 009b lsls r3, r3, #2 808db88: 440b add r3, r1 808db8a: 005b lsls r3, r3, #1 808db8c: 1ad1 subs r1, r2, r3 808db8e: b2cb uxtb r3, r1 808db90: f887 33e2 strb.w r3, [r7, #994] ; 0x3e2 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 808db94: 4b73 ldr r3, [pc, #460] ; (808dd64 ) 808db96: edd3 7a06 vldr s15, [r3, #24] 808db9a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808db9e: ee67 7a87 vmul.f32 s15, s15, s14 808dba2: eefc 7ae7 vcvt.u32.f32 s15, s15 808dba6: ee17 3a90 vmov r3, s15 808dbaa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 808dbae: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808dbb2: 095b lsrs r3, r3, #5 808dbb4: 4a6c ldr r2, [pc, #432] ; (808dd68 ) 808dbb6: fba2 2303 umull r2, r3, r2, r3 808dbba: 09db lsrs r3, r3, #7 808dbbc: b2db uxtb r3, r3 808dbbe: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 808dbc2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808dbc6: 0953 lsrs r3, r2, #5 808dbc8: 4967 ldr r1, [pc, #412] ; (808dd68 ) 808dbca: fba1 1303 umull r1, r3, r1, r3 808dbce: 09db lsrs r3, r3, #7 808dbd0: 4966 ldr r1, [pc, #408] ; (808dd6c ) 808dbd2: fb01 f303 mul.w r3, r1, r3 808dbd6: 1ad3 subs r3, r2, r3 808dbd8: 4a65 ldr r2, [pc, #404] ; (808dd70 ) 808dbda: fba2 2303 umull r2, r3, r2, r3 808dbde: 0b5b lsrs r3, r3, #13 808dbe0: b2db uxtb r3, r3 808dbe2: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 808dbe6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808dbea: 0953 lsrs r3, r2, #5 808dbec: 495e ldr r1, [pc, #376] ; (808dd68 ) 808dbee: fba1 1303 umull r1, r3, r1, r3 808dbf2: 09db lsrs r3, r3, #7 808dbf4: 495d ldr r1, [pc, #372] ; (808dd6c ) 808dbf6: fb01 f303 mul.w r3, r1, r3 808dbfa: 1ad3 subs r3, r2, r3 808dbfc: 4a5c ldr r2, [pc, #368] ; (808dd70 ) 808dbfe: fba2 1203 umull r1, r2, r2, r3 808dc02: 0b52 lsrs r2, r2, #13 808dc04: f242 7110 movw r1, #10000 ; 0x2710 808dc08: fb01 f202 mul.w r2, r1, r2 808dc0c: 1a9a subs r2, r3, r2 808dc0e: 4b59 ldr r3, [pc, #356] ; (808dd74 ) 808dc10: fba3 2302 umull r2, r3, r3, r2 808dc14: 099b lsrs r3, r3, #6 808dc16: b2db uxtb r3, r3 808dc18: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808dc1c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808dc20: 095a lsrs r2, r3, #5 808dc22: 4951 ldr r1, [pc, #324] ; (808dd68 ) 808dc24: fba1 1202 umull r1, r2, r1, r2 808dc28: 09d2 lsrs r2, r2, #7 808dc2a: 4950 ldr r1, [pc, #320] ; (808dd6c ) 808dc2c: fb01 f202 mul.w r2, r1, r2 808dc30: 1a9a subs r2, r3, r2 808dc32: 4b4f ldr r3, [pc, #316] ; (808dd70 ) 808dc34: fba3 1302 umull r1, r3, r3, r2 808dc38: 0b5b lsrs r3, r3, #13 808dc3a: f242 7110 movw r1, #10000 ; 0x2710 808dc3e: fb01 f303 mul.w r3, r1, r3 808dc42: 1ad3 subs r3, r2, r3 808dc44: 4a4b ldr r2, [pc, #300] ; (808dd74 ) 808dc46: fba2 1203 umull r1, r2, r2, r3 808dc4a: 0992 lsrs r2, r2, #6 808dc4c: f44f 717a mov.w r1, #1000 ; 0x3e8 808dc50: fb01 f202 mul.w r2, r1, r2 808dc54: 1a9a subs r2, r3, r2 808dc56: 4b48 ldr r3, [pc, #288] ; (808dd78 ) 808dc58: fba3 2302 umull r2, r3, r3, r2 808dc5c: 095b lsrs r3, r3, #5 808dc5e: b2db uxtb r3, r3 808dc60: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808dc64: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808dc68: 0953 lsrs r3, r2, #5 808dc6a: 493f ldr r1, [pc, #252] ; (808dd68 ) 808dc6c: fba1 1303 umull r1, r3, r1, r3 808dc70: 09db lsrs r3, r3, #7 808dc72: 493e ldr r1, [pc, #248] ; (808dd6c ) 808dc74: fb01 f303 mul.w r3, r1, r3 808dc78: 1ad3 subs r3, r2, r3 808dc7a: 4a3d ldr r2, [pc, #244] ; (808dd70 ) 808dc7c: fba2 1203 umull r1, r2, r2, r3 808dc80: 0b52 lsrs r2, r2, #13 808dc82: f242 7110 movw r1, #10000 ; 0x2710 808dc86: fb01 f202 mul.w r2, r1, r2 808dc8a: 1a9a subs r2, r3, r2 808dc8c: 4b39 ldr r3, [pc, #228] ; (808dd74 ) 808dc8e: fba3 1302 umull r1, r3, r3, r2 808dc92: 099b lsrs r3, r3, #6 808dc94: f44f 717a mov.w r1, #1000 ; 0x3e8 808dc98: fb01 f303 mul.w r3, r1, r3 808dc9c: 1ad3 subs r3, r2, r3 808dc9e: 4a36 ldr r2, [pc, #216] ; (808dd78 ) 808dca0: fba2 1203 umull r1, r2, r2, r3 808dca4: 0952 lsrs r2, r2, #5 808dca6: 2164 movs r1, #100 ; 0x64 808dca8: fb01 f202 mul.w r2, r1, r2 808dcac: 1a9a subs r2, r3, r2 808dcae: 4b33 ldr r3, [pc, #204] ; (808dd7c ) 808dcb0: fba3 2302 umull r2, r3, r3, r2 808dcb4: 08db lsrs r3, r3, #3 808dcb6: b2db uxtb r3, r3 808dcb8: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808dcbc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808dcc0: 0953 lsrs r3, r2, #5 808dcc2: 4929 ldr r1, [pc, #164] ; (808dd68 ) 808dcc4: fba1 1303 umull r1, r3, r1, r3 808dcc8: 09db lsrs r3, r3, #7 808dcca: 4928 ldr r1, [pc, #160] ; (808dd6c ) 808dccc: fb01 f303 mul.w r3, r1, r3 808dcd0: 1ad3 subs r3, r2, r3 808dcd2: 4a27 ldr r2, [pc, #156] ; (808dd70 ) 808dcd4: fba2 1203 umull r1, r2, r2, r3 808dcd8: 0b52 lsrs r2, r2, #13 808dcda: f242 7110 movw r1, #10000 ; 0x2710 808dcde: fb01 f202 mul.w r2, r1, r2 808dce2: 1a9a subs r2, r3, r2 808dce4: 4b23 ldr r3, [pc, #140] ; (808dd74 ) 808dce6: fba3 1302 umull r1, r3, r3, r2 808dcea: 099b lsrs r3, r3, #6 808dcec: f44f 717a mov.w r1, #1000 ; 0x3e8 808dcf0: fb01 f303 mul.w r3, r1, r3 808dcf4: 1ad3 subs r3, r2, r3 808dcf6: 4a20 ldr r2, [pc, #128] ; (808dd78 ) 808dcf8: fba2 1203 umull r1, r2, r2, r3 808dcfc: 0952 lsrs r2, r2, #5 808dcfe: 2164 movs r1, #100 ; 0x64 808dd00: fb01 f202 mul.w r2, r1, r2 808dd04: 1a9a subs r2, r3, r2 808dd06: 4b1d ldr r3, [pc, #116] ; (808dd7c ) 808dd08: fba3 1302 umull r1, r3, r3, r2 808dd0c: 08d9 lsrs r1, r3, #3 808dd0e: 460b mov r3, r1 808dd10: 009b lsls r3, r3, #2 808dd12: 440b add r3, r1 808dd14: 005b lsls r3, r3, #1 808dd16: 1ad1 subs r1, r2, r3 808dd18: b2cb uxtb r3, r1 808dd1a: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 k = (uint32_t) (pardata.HP * 10.0f); 808dd1e: 4b11 ldr r3, [pc, #68] ; (808dd64 ) 808dd20: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 808dd24: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808dd28: ee67 7a87 vmul.f32 s15, s15, s14 808dd2c: eefc 7ae7 vcvt.u32.f32 s15, s15 808dd30: ee17 3a90 vmov r3, s15 808dd34: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 808dd38: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808dd3c: 095b lsrs r3, r3, #5 808dd3e: 4a0a ldr r2, [pc, #40] ; (808dd68 ) 808dd40: fba2 2303 umull r2, r3, r2, r3 808dd44: 09db lsrs r3, r3, #7 808dd46: b2db uxtb r3, r3 808dd48: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 808dd4c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808dd50: 0953 lsrs r3, r2, #5 808dd52: 4905 ldr r1, [pc, #20] ; (808dd68 ) 808dd54: fba1 1303 umull r1, r3, r1, r3 808dd58: 09db lsrs r3, r3, #7 808dd5a: e011 b.n 808dd80 808dd5c: ff0a0f1f .word 0xff0a0f1f 808dd60: ffd3d3d3 .word 0xffd3d3d3 808dd64: 20023ea8 .word 0x20023ea8 808dd68: 0a7c5ac5 .word 0x0a7c5ac5 808dd6c: 000186a0 .word 0x000186a0 808dd70: d1b71759 .word 0xd1b71759 808dd74: 10624dd3 .word 0x10624dd3 808dd78: 51eb851f .word 0x51eb851f 808dd7c: cccccccd .word 0xcccccccd 808dd80: 49d4 ldr r1, [pc, #848] ; (808e0d4 ) 808dd82: fb01 f303 mul.w r3, r1, r3 808dd86: 1ad3 subs r3, r2, r3 808dd88: 4ad3 ldr r2, [pc, #844] ; (808e0d8 ) 808dd8a: fba2 2303 umull r2, r3, r2, r3 808dd8e: 0b5b lsrs r3, r3, #13 808dd90: b2db uxtb r3, r3 808dd92: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 808dd96: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808dd9a: 0953 lsrs r3, r2, #5 808dd9c: 49cf ldr r1, [pc, #828] ; (808e0dc ) 808dd9e: fba1 1303 umull r1, r3, r1, r3 808dda2: 09db lsrs r3, r3, #7 808dda4: 49cb ldr r1, [pc, #812] ; (808e0d4 ) 808dda6: fb01 f303 mul.w r3, r1, r3 808ddaa: 1ad3 subs r3, r2, r3 808ddac: 4aca ldr r2, [pc, #808] ; (808e0d8 ) 808ddae: fba2 1203 umull r1, r2, r2, r3 808ddb2: 0b52 lsrs r2, r2, #13 808ddb4: f242 7110 movw r1, #10000 ; 0x2710 808ddb8: fb01 f202 mul.w r2, r1, r2 808ddbc: 1a9a subs r2, r3, r2 808ddbe: 4bc8 ldr r3, [pc, #800] ; (808e0e0 ) 808ddc0: fba3 2302 umull r2, r3, r3, r2 808ddc4: 099b lsrs r3, r3, #6 808ddc6: b2db uxtb r3, r3 808ddc8: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808ddcc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808ddd0: 095a lsrs r2, r3, #5 808ddd2: 49c2 ldr r1, [pc, #776] ; (808e0dc ) 808ddd4: fba1 1202 umull r1, r2, r1, r2 808ddd8: 09d2 lsrs r2, r2, #7 808ddda: 49be ldr r1, [pc, #760] ; (808e0d4 ) 808dddc: fb01 f202 mul.w r2, r1, r2 808dde0: 1a9a subs r2, r3, r2 808dde2: 4bbd ldr r3, [pc, #756] ; (808e0d8 ) 808dde4: fba3 1302 umull r1, r3, r3, r2 808dde8: 0b5b lsrs r3, r3, #13 808ddea: f242 7110 movw r1, #10000 ; 0x2710 808ddee: fb01 f303 mul.w r3, r1, r3 808ddf2: 1ad3 subs r3, r2, r3 808ddf4: 4aba ldr r2, [pc, #744] ; (808e0e0 ) 808ddf6: fba2 1203 umull r1, r2, r2, r3 808ddfa: 0992 lsrs r2, r2, #6 808ddfc: f44f 717a mov.w r1, #1000 ; 0x3e8 808de00: fb01 f202 mul.w r2, r1, r2 808de04: 1a9a subs r2, r3, r2 808de06: 4bb7 ldr r3, [pc, #732] ; (808e0e4 ) 808de08: fba3 2302 umull r2, r3, r3, r2 808de0c: 095b lsrs r3, r3, #5 808de0e: b2db uxtb r3, r3 808de10: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808de14: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808de18: 0953 lsrs r3, r2, #5 808de1a: 49b0 ldr r1, [pc, #704] ; (808e0dc ) 808de1c: fba1 1303 umull r1, r3, r1, r3 808de20: 09db lsrs r3, r3, #7 808de22: 49ac ldr r1, [pc, #688] ; (808e0d4 ) 808de24: fb01 f303 mul.w r3, r1, r3 808de28: 1ad3 subs r3, r2, r3 808de2a: 4aab ldr r2, [pc, #684] ; (808e0d8 ) 808de2c: fba2 1203 umull r1, r2, r2, r3 808de30: 0b52 lsrs r2, r2, #13 808de32: f242 7110 movw r1, #10000 ; 0x2710 808de36: fb01 f202 mul.w r2, r1, r2 808de3a: 1a9a subs r2, r3, r2 808de3c: 4ba8 ldr r3, [pc, #672] ; (808e0e0 ) 808de3e: fba3 1302 umull r1, r3, r3, r2 808de42: 099b lsrs r3, r3, #6 808de44: f44f 717a mov.w r1, #1000 ; 0x3e8 808de48: fb01 f303 mul.w r3, r1, r3 808de4c: 1ad3 subs r3, r2, r3 808de4e: 4aa5 ldr r2, [pc, #660] ; (808e0e4 ) 808de50: fba2 1203 umull r1, r2, r2, r3 808de54: 0952 lsrs r2, r2, #5 808de56: 2164 movs r1, #100 ; 0x64 808de58: fb01 f202 mul.w r2, r1, r2 808de5c: 1a9a subs r2, r3, r2 808de5e: 4ba2 ldr r3, [pc, #648] ; (808e0e8 ) 808de60: fba3 2302 umull r2, r3, r3, r2 808de64: 08db lsrs r3, r3, #3 808de66: b2db uxtb r3, r3 808de68: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808de6c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808de70: 0953 lsrs r3, r2, #5 808de72: 499a ldr r1, [pc, #616] ; (808e0dc ) 808de74: fba1 1303 umull r1, r3, r1, r3 808de78: 09db lsrs r3, r3, #7 808de7a: 4996 ldr r1, [pc, #600] ; (808e0d4 ) 808de7c: fb01 f303 mul.w r3, r1, r3 808de80: 1ad3 subs r3, r2, r3 808de82: 4a95 ldr r2, [pc, #596] ; (808e0d8 ) 808de84: fba2 1203 umull r1, r2, r2, r3 808de88: 0b52 lsrs r2, r2, #13 808de8a: f242 7110 movw r1, #10000 ; 0x2710 808de8e: fb01 f202 mul.w r2, r1, r2 808de92: 1a9a subs r2, r3, r2 808de94: 4b92 ldr r3, [pc, #584] ; (808e0e0 ) 808de96: fba3 1302 umull r1, r3, r3, r2 808de9a: 099b lsrs r3, r3, #6 808de9c: f44f 717a mov.w r1, #1000 ; 0x3e8 808dea0: fb01 f303 mul.w r3, r1, r3 808dea4: 1ad3 subs r3, r2, r3 808dea6: 4a8f ldr r2, [pc, #572] ; (808e0e4 ) 808dea8: fba2 1203 umull r1, r2, r2, r3 808deac: 0952 lsrs r2, r2, #5 808deae: 2164 movs r1, #100 ; 0x64 808deb0: fb01 f202 mul.w r2, r1, r2 808deb4: 1a9a subs r2, r3, r2 808deb6: 4b8c ldr r3, [pc, #560] ; (808e0e8 ) 808deb8: fba3 1302 umull r1, r3, r3, r2 808debc: 08d9 lsrs r1, r3, #3 808debe: 460b mov r3, r1 808dec0: 009b lsls r3, r3, #2 808dec2: 440b add r3, r1 808dec4: 005b lsls r3, r3, #1 808dec6: 1ad1 subs r1, r2, r3 808dec8: b2cb uxtb r3, r1 808deca: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 808dece: 2300 movs r3, #0 808ded0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 808ded4: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808ded8: 220c movs r2, #12 808deda: 2100 movs r1, #0 808dedc: 4618 mov r0, r3 808dede: f043 fa5f bl 80d13a0 if(idtHP != 0) 808dee2: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808dee6: b2db uxtb r3, r3 808dee8: 2b00 cmp r3, #0 808deea: d00c beq.n 808df06 strHP[i++] = idtHP + 48; 808deec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808def0: 1c5a adds r2, r3, #1 808def2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808def6: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 808defa: b2d2 uxtb r2, r2 808defc: 3230 adds r2, #48 ; 0x30 808defe: b2d1 uxtb r1, r2 808df00: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808df04: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 808df06: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808df0a: b2db uxtb r3, r3 808df0c: 2b00 cmp r3, #0 808df0e: d104 bne.n 808df1a 808df10: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808df14: b2db uxtb r3, r3 808df16: 2b00 cmp r3, #0 808df18: d00c beq.n 808df34 strHP[i++] = ietHP + 48; 808df1a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808df1e: 1c5a adds r2, r3, #1 808df20: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808df24: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 808df28: b2d2 uxtb r2, r2 808df2a: 3230 adds r2, #48 ; 0x30 808df2c: b2d1 uxtb r1, r2 808df2e: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808df32: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808df34: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808df38: b2db uxtb r3, r3 808df3a: 2b00 cmp r3, #0 808df3c: d109 bne.n 808df52 808df3e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808df42: b2db uxtb r3, r3 808df44: 2b00 cmp r3, #0 808df46: d104 bne.n 808df52 808df48: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808df4c: b2db uxtb r3, r3 808df4e: 2b00 cmp r3, #0 808df50: d00c beq.n 808df6c strHP[i++] = iesHP + 48; 808df52: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808df56: 1c5a adds r2, r3, #1 808df58: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808df5c: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808df60: b2d2 uxtb r2, r2 808df62: 3230 adds r2, #48 ; 0x30 808df64: b2d1 uxtb r1, r2 808df66: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808df6a: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808df6c: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808df70: b2db uxtb r3, r3 808df72: 2b00 cmp r3, #0 808df74: d10e bne.n 808df94 808df76: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808df7a: b2db uxtb r3, r3 808df7c: 2b00 cmp r3, #0 808df7e: d109 bne.n 808df94 808df80: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808df84: b2db uxtb r3, r3 808df86: 2b00 cmp r3, #0 808df88: d104 bne.n 808df94 808df8a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808df8e: b2db uxtb r3, r3 808df90: 2b00 cmp r3, #0 808df92: d00c beq.n 808dfae strHP[i++] = iedHP + 48; 808df94: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808df98: 1c5a adds r2, r3, #1 808df9a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808df9e: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 808dfa2: b2d2 uxtb r2, r2 808dfa4: 3230 adds r2, #48 ; 0x30 808dfa6: b2d1 uxtb r1, r2 808dfa8: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808dfac: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 808dfae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808dfb2: 1c5a adds r2, r3, #1 808dfb4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808dfb8: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808dfbc: b2d2 uxtb r2, r2 808dfbe: 3230 adds r2, #48 ; 0x30 808dfc0: b2d1 uxtb r1, r2 808dfc2: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808dfc6: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 808dfc8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808dfcc: 1c5a adds r2, r3, #1 808dfce: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808dfd2: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808dfd6: 212e movs r1, #46 ; 0x2e 808dfd8: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 808dfda: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808dfde: 1c5a adds r2, r3, #1 808dfe0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808dfe4: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 808dfe8: b2d2 uxtb r2, r2 808dfea: 3230 adds r2, #48 ; 0x30 808dfec: b2d1 uxtb r1, r2 808dfee: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808dff2: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.LP * 10.0f); 808dff4: 4b3d ldr r3, [pc, #244] ; (808e0ec ) 808dff6: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 808dffa: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808dffe: ee67 7a87 vmul.f32 s15, s15, s14 808e002: eefc 7ae7 vcvt.u32.f32 s15, s15 808e006: ee17 3a90 vmov r3, s15 808e00a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 808e00e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808e012: 095b lsrs r3, r3, #5 808e014: 4a31 ldr r2, [pc, #196] ; (808e0dc ) 808e016: fba2 2303 umull r2, r3, r2, r3 808e01a: 09db lsrs r3, r3, #7 808e01c: b2db uxtb r3, r3 808e01e: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 808e022: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e026: 0953 lsrs r3, r2, #5 808e028: 492c ldr r1, [pc, #176] ; (808e0dc ) 808e02a: fba1 1303 umull r1, r3, r1, r3 808e02e: 09db lsrs r3, r3, #7 808e030: 4928 ldr r1, [pc, #160] ; (808e0d4 ) 808e032: fb01 f303 mul.w r3, r1, r3 808e036: 1ad3 subs r3, r2, r3 808e038: 4a27 ldr r2, [pc, #156] ; (808e0d8 ) 808e03a: fba2 2303 umull r2, r3, r2, r3 808e03e: 0b5b lsrs r3, r3, #13 808e040: b2db uxtb r3, r3 808e042: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 808e046: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e04a: 0953 lsrs r3, r2, #5 808e04c: 4923 ldr r1, [pc, #140] ; (808e0dc ) 808e04e: fba1 1303 umull r1, r3, r1, r3 808e052: 09db lsrs r3, r3, #7 808e054: 491f ldr r1, [pc, #124] ; (808e0d4 ) 808e056: fb01 f303 mul.w r3, r1, r3 808e05a: 1ad3 subs r3, r2, r3 808e05c: 4a1e ldr r2, [pc, #120] ; (808e0d8 ) 808e05e: fba2 1203 umull r1, r2, r2, r3 808e062: 0b52 lsrs r2, r2, #13 808e064: f242 7110 movw r1, #10000 ; 0x2710 808e068: fb01 f202 mul.w r2, r1, r2 808e06c: 1a9a subs r2, r3, r2 808e06e: 4b1c ldr r3, [pc, #112] ; (808e0e0 ) 808e070: fba3 2302 umull r2, r3, r3, r2 808e074: 099b lsrs r3, r3, #6 808e076: b2db uxtb r3, r3 808e078: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808e07c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808e080: 095a lsrs r2, r3, #5 808e082: 4916 ldr r1, [pc, #88] ; (808e0dc ) 808e084: fba1 1202 umull r1, r2, r1, r2 808e088: 09d2 lsrs r2, r2, #7 808e08a: 4912 ldr r1, [pc, #72] ; (808e0d4 ) 808e08c: fb01 f202 mul.w r2, r1, r2 808e090: 1a9a subs r2, r3, r2 808e092: 4b11 ldr r3, [pc, #68] ; (808e0d8 ) 808e094: fba3 1302 umull r1, r3, r3, r2 808e098: 0b5b lsrs r3, r3, #13 808e09a: f242 7110 movw r1, #10000 ; 0x2710 808e09e: fb01 f303 mul.w r3, r1, r3 808e0a2: 1ad3 subs r3, r2, r3 808e0a4: 4a0e ldr r2, [pc, #56] ; (808e0e0 ) 808e0a6: fba2 1203 umull r1, r2, r2, r3 808e0aa: 0992 lsrs r2, r2, #6 808e0ac: f44f 717a mov.w r1, #1000 ; 0x3e8 808e0b0: fb01 f202 mul.w r2, r1, r2 808e0b4: 1a9a subs r2, r3, r2 808e0b6: 4b0b ldr r3, [pc, #44] ; (808e0e4 ) 808e0b8: fba3 2302 umull r2, r3, r3, r2 808e0bc: 095b lsrs r3, r3, #5 808e0be: b2db uxtb r3, r3 808e0c0: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808e0c4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e0c8: 0953 lsrs r3, r2, #5 808e0ca: 4904 ldr r1, [pc, #16] ; (808e0dc ) 808e0cc: fba1 1303 umull r1, r3, r1, r3 808e0d0: 09db lsrs r3, r3, #7 808e0d2: e00d b.n 808e0f0 808e0d4: 000186a0 .word 0x000186a0 808e0d8: d1b71759 .word 0xd1b71759 808e0dc: 0a7c5ac5 .word 0x0a7c5ac5 808e0e0: 10624dd3 .word 0x10624dd3 808e0e4: 51eb851f .word 0x51eb851f 808e0e8: cccccccd .word 0xcccccccd 808e0ec: 20023ea8 .word 0x20023ea8 808e0f0: 49bd ldr r1, [pc, #756] ; (808e3e8 ) 808e0f2: fb01 f303 mul.w r3, r1, r3 808e0f6: 1ad3 subs r3, r2, r3 808e0f8: 4abc ldr r2, [pc, #752] ; (808e3ec ) 808e0fa: fba2 1203 umull r1, r2, r2, r3 808e0fe: 0b52 lsrs r2, r2, #13 808e100: f242 7110 movw r1, #10000 ; 0x2710 808e104: fb01 f202 mul.w r2, r1, r2 808e108: 1a9a subs r2, r3, r2 808e10a: 4bb9 ldr r3, [pc, #740] ; (808e3f0 ) 808e10c: fba3 1302 umull r1, r3, r3, r2 808e110: 099b lsrs r3, r3, #6 808e112: f44f 717a mov.w r1, #1000 ; 0x3e8 808e116: fb01 f303 mul.w r3, r1, r3 808e11a: 1ad3 subs r3, r2, r3 808e11c: 4ab5 ldr r2, [pc, #724] ; (808e3f4 ) 808e11e: fba2 1203 umull r1, r2, r2, r3 808e122: 0952 lsrs r2, r2, #5 808e124: 2164 movs r1, #100 ; 0x64 808e126: fb01 f202 mul.w r2, r1, r2 808e12a: 1a9a subs r2, r3, r2 808e12c: 4bb2 ldr r3, [pc, #712] ; (808e3f8 ) 808e12e: fba3 2302 umull r2, r3, r3, r2 808e132: 08db lsrs r3, r3, #3 808e134: b2db uxtb r3, r3 808e136: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808e13a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808e13e: 0953 lsrs r3, r2, #5 808e140: 49ae ldr r1, [pc, #696] ; (808e3fc ) 808e142: fba1 1303 umull r1, r3, r1, r3 808e146: 09db lsrs r3, r3, #7 808e148: 49a7 ldr r1, [pc, #668] ; (808e3e8 ) 808e14a: fb01 f303 mul.w r3, r1, r3 808e14e: 1ad3 subs r3, r2, r3 808e150: 4aa6 ldr r2, [pc, #664] ; (808e3ec ) 808e152: fba2 1203 umull r1, r2, r2, r3 808e156: 0b52 lsrs r2, r2, #13 808e158: f242 7110 movw r1, #10000 ; 0x2710 808e15c: fb01 f202 mul.w r2, r1, r2 808e160: 1a9a subs r2, r3, r2 808e162: 4ba3 ldr r3, [pc, #652] ; (808e3f0 ) 808e164: fba3 1302 umull r1, r3, r3, r2 808e168: 099b lsrs r3, r3, #6 808e16a: f44f 717a mov.w r1, #1000 ; 0x3e8 808e16e: fb01 f303 mul.w r3, r1, r3 808e172: 1ad3 subs r3, r2, r3 808e174: 4a9f ldr r2, [pc, #636] ; (808e3f4 ) 808e176: fba2 1203 umull r1, r2, r2, r3 808e17a: 0952 lsrs r2, r2, #5 808e17c: 2164 movs r1, #100 ; 0x64 808e17e: fb01 f202 mul.w r2, r1, r2 808e182: 1a9a subs r2, r3, r2 808e184: 4b9c ldr r3, [pc, #624] ; (808e3f8 ) 808e186: fba3 1302 umull r1, r3, r3, r2 808e18a: 08d9 lsrs r1, r3, #3 808e18c: 460b mov r3, r1 808e18e: 009b lsls r3, r3, #2 808e190: 440b add r3, r1 808e192: 005b lsls r3, r3, #1 808e194: 1ad1 subs r1, r2, r3 808e196: b2cb uxtb r3, r1 808e198: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 808e19c: 2300 movs r3, #0 808e19e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 808e1a2: f507 73cc add.w r3, r7, #408 ; 0x198 808e1a6: 220c movs r2, #12 808e1a8: 2100 movs r1, #0 808e1aa: 4618 mov r0, r3 808e1ac: f043 f8f8 bl 80d13a0 if(idtLP != 0) 808e1b0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808e1b4: b2db uxtb r3, r3 808e1b6: 2b00 cmp r3, #0 808e1b8: d00c beq.n 808e1d4 strLP[i++] = idtLP + 48; 808e1ba: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e1be: 1c5a adds r2, r3, #1 808e1c0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e1c4: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808e1c8: b2d2 uxtb r2, r2 808e1ca: 3230 adds r2, #48 ; 0x30 808e1cc: b2d1 uxtb r1, r2 808e1ce: f507 72cc add.w r2, r7, #408 ; 0x198 808e1d2: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808e1d4: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808e1d8: b2db uxtb r3, r3 808e1da: 2b00 cmp r3, #0 808e1dc: d104 bne.n 808e1e8 808e1de: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808e1e2: b2db uxtb r3, r3 808e1e4: 2b00 cmp r3, #0 808e1e6: d00c beq.n 808e202 strLP[i++] = ietLP + 48; 808e1e8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e1ec: 1c5a adds r2, r3, #1 808e1ee: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e1f2: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808e1f6: b2d2 uxtb r2, r2 808e1f8: 3230 adds r2, #48 ; 0x30 808e1fa: b2d1 uxtb r1, r2 808e1fc: f507 72cc add.w r2, r7, #408 ; 0x198 808e200: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808e202: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808e206: b2db uxtb r3, r3 808e208: 2b00 cmp r3, #0 808e20a: d109 bne.n 808e220 808e20c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808e210: b2db uxtb r3, r3 808e212: 2b00 cmp r3, #0 808e214: d104 bne.n 808e220 808e216: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808e21a: b2db uxtb r3, r3 808e21c: 2b00 cmp r3, #0 808e21e: d00c beq.n 808e23a strLP[i++] = iesLP + 48; 808e220: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e224: 1c5a adds r2, r3, #1 808e226: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e22a: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808e22e: b2d2 uxtb r2, r2 808e230: 3230 adds r2, #48 ; 0x30 808e232: b2d1 uxtb r1, r2 808e234: f507 72cc add.w r2, r7, #408 ; 0x198 808e238: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808e23a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808e23e: b2db uxtb r3, r3 808e240: 2b00 cmp r3, #0 808e242: d10e bne.n 808e262 808e244: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808e248: b2db uxtb r3, r3 808e24a: 2b00 cmp r3, #0 808e24c: d109 bne.n 808e262 808e24e: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808e252: b2db uxtb r3, r3 808e254: 2b00 cmp r3, #0 808e256: d104 bne.n 808e262 808e258: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808e25c: b2db uxtb r3, r3 808e25e: 2b00 cmp r3, #0 808e260: d00c beq.n 808e27c strLP[i++] = iedLP + 48; 808e262: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e266: 1c5a adds r2, r3, #1 808e268: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e26c: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808e270: b2d2 uxtb r2, r2 808e272: 3230 adds r2, #48 ; 0x30 808e274: b2d1 uxtb r1, r2 808e276: f507 72cc add.w r2, r7, #408 ; 0x198 808e27a: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 808e27c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e280: 1c5a adds r2, r3, #1 808e282: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e286: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808e28a: b2d2 uxtb r2, r2 808e28c: 3230 adds r2, #48 ; 0x30 808e28e: b2d1 uxtb r1, r2 808e290: f507 72cc add.w r2, r7, #408 ; 0x198 808e294: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 808e296: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e29a: 1c5a adds r2, r3, #1 808e29c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e2a0: f507 72cc add.w r2, r7, #408 ; 0x198 808e2a4: 212e movs r1, #46 ; 0x2e 808e2a6: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 808e2a8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e2ac: 1c5a adds r2, r3, #1 808e2ae: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e2b2: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808e2b6: b2d2 uxtb r2, r2 808e2b8: 3230 adds r2, #48 ; 0x30 808e2ba: b2d1 uxtb r1, r2 808e2bc: f507 72cc add.w r2, r7, #408 ; 0x198 808e2c0: 54d1 strb r1, [r2, r3] if(pardata.LANG == RUS) 808e2c2: 4b4f ldr r3, [pc, #316] ; (808e400 ) 808e2c4: 7b1b ldrb r3, [r3, #12] 808e2c6: b2db uxtb r3, r3 808e2c8: 2b00 cmp r3, #0 808e2ca: d133 bne.n 808e334 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808e2cc: 494d ldr r1, [pc, #308] ; (808e404 ) 808e2ce: f04f 30ff mov.w r0, #4294967295 808e2d2: f7c6 f99d bl 8054610 LCD_DisplayString(10, LCD_LINE_3, "Âåëè÷èíà"); 808e2d6: 4a4c ldr r2, [pc, #304] ; (808e408 ) 808e2d8: 213a movs r1, #58 ; 0x3a 808e2da: 200a movs r0, #10 808e2dc: f7c6 ff40 bl 8055160 LCD_DisplayString(10, LCD_LINE_4, "Ôèëüòð Â×(Ãö)"); 808e2e0: 4a4a ldr r2, [pc, #296] ; (808e40c ) 808e2e2: 214a movs r1, #74 ; 0x4a 808e2e4: 200a movs r0, #10 808e2e6: f7c6 ff3b bl 8055160 LCD_DisplayString(10, LCD_LINE_5, "Ôèëüòð Í×(Ãö)"); 808e2ea: 4a49 ldr r2, [pc, #292] ; (808e410 ) 808e2ec: 215a movs r1, #90 ; 0x5a 808e2ee: 200a movs r0, #10 808e2f0: f7c6 ff36 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "×àñòîòà âûáîðêè"); 808e2f4: 4a47 ldr r2, [pc, #284] ; (808e414 ) 808e2f6: 216a movs r1, #106 ; 0x6a 808e2f8: 200a movs r0, #10 808e2fa: f7c6 ff31 bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Âðåìÿ âûáîðêè"); 808e2fe: 4a46 ldr r2, [pc, #280] ; (808e418 ) 808e300: 217a movs r1, #122 ; 0x7a 808e302: 200a movs r0, #10 808e304: f7c6 ff2c bl 8055160 if((pardata.IPR > ACC) || (pardata.OPTIONS & 0x4)) 808e308: 4b3d ldr r3, [pc, #244] ; (808e400 ) 808e30a: 785b ldrb r3, [r3, #1] 808e30c: b2db uxtb r3, r3 808e30e: 2b00 cmp r3, #0 808e310: d106 bne.n 808e320 808e312: 4b3b ldr r3, [pc, #236] ; (808e400 ) 808e314: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808e318: f003 0304 and.w r3, r3, #4 808e31c: 2b00 cmp r3, #0 808e31e: d003 beq.n 808e328 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808e320: 4938 ldr r1, [pc, #224] ; (808e404 ) 808e322: 483e ldr r0, [pc, #248] ; (808e41c ) 808e324: f7c6 f974 bl 8054610 LCD_DisplayString(10, LCD_LINE_10, "Ñòîï ïî ïîðîãó"); 808e328: 4a3d ldr r2, [pc, #244] ; (808e420 ) 808e32a: 21aa movs r1, #170 ; 0xaa 808e32c: 200a movs r0, #10 808e32e: f7c6 ff17 bl 8055160 808e332: e032 b.n 808e39a } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808e334: 4933 ldr r1, [pc, #204] ; (808e404 ) 808e336: f04f 30ff mov.w r0, #4294967295 808e33a: f7c6 f969 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, "Parameter"); 808e33e: 4a39 ldr r2, [pc, #228] ; (808e424 ) 808e340: 213a movs r1, #58 ; 0x3a 808e342: 200a movs r0, #10 808e344: f7c6 ff0c bl 8055160 LCD_DisplayString(10, LCD_LINE_4, "HPF(Hz)"); 808e348: 4a37 ldr r2, [pc, #220] ; (808e428 ) 808e34a: 214a movs r1, #74 ; 0x4a 808e34c: 200a movs r0, #10 808e34e: f7c6 ff07 bl 8055160 LCD_DisplayString(10, LCD_LINE_5, "LPF(Hz)"); 808e352: 4a36 ldr r2, [pc, #216] ; (808e42c ) 808e354: 215a movs r1, #90 ; 0x5a 808e356: 200a movs r0, #10 808e358: f7c6 ff02 bl 8055160 LCD_DisplayString(10, LCD_LINE_6, "Sample rate"); 808e35c: 4a34 ldr r2, [pc, #208] ; (808e430 ) 808e35e: 216a movs r1, #106 ; 0x6a 808e360: 200a movs r0, #10 808e362: f7c6 fefd bl 8055160 LCD_DisplayString(10, LCD_LINE_7, "Time interval"); 808e366: 4a33 ldr r2, [pc, #204] ; (808e434 ) 808e368: 217a movs r1, #122 ; 0x7a 808e36a: 200a movs r0, #10 808e36c: f7c6 fef8 bl 8055160 if((pardata.IPR > ACC) || (pardata.OPTIONS & 0x4)) 808e370: 4b23 ldr r3, [pc, #140] ; (808e400 ) 808e372: 785b ldrb r3, [r3, #1] 808e374: b2db uxtb r3, r3 808e376: 2b00 cmp r3, #0 808e378: d106 bne.n 808e388 808e37a: 4b21 ldr r3, [pc, #132] ; (808e400 ) 808e37c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808e380: f003 0304 and.w r3, r3, #4 808e384: 2b00 cmp r3, #0 808e386: d003 beq.n 808e390 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808e388: 491e ldr r1, [pc, #120] ; (808e404 ) 808e38a: 4824 ldr r0, [pc, #144] ; (808e41c ) 808e38c: f7c6 f940 bl 8054610 LCD_DisplayString(10, LCD_LINE_10, "Stop on threshold"); 808e390: 4a29 ldr r2, [pc, #164] ; (808e438 ) 808e392: 21aa movs r1, #170 ; 0xaa 808e394: 200a movs r0, #10 808e396: f7c6 fee3 bl 8055160 } if(menupos != Ok) 808e39a: 4b28 ldr r3, [pc, #160] ; (808e43c ) 808e39c: 781b ldrb r3, [r3, #0] 808e39e: b2db uxtb r3, r3 808e3a0: 2b00 cmp r3, #0 808e3a2: d005 beq.n 808e3b0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808e3a4: 4917 ldr r1, [pc, #92] ; (808e404 ) 808e3a6: f04f 30ff mov.w r0, #4294967295 808e3aa: f7c6 f931 bl 8054610 808e3ae: e004 b.n 808e3ba else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e3b0: 4914 ldr r1, [pc, #80] ; (808e404 ) 808e3b2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e3b6: f7c6 f92b bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]); 808e3ba: 4b11 ldr r3, [pc, #68] ; (808e400 ) 808e3bc: 7b1b ldrb r3, [r3, #12] 808e3be: b2db uxtb r3, r3 808e3c0: 461a mov r2, r3 808e3c2: 4b1f ldr r3, [pc, #124] ; (808e440 ) 808e3c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e3c8: 461a mov r2, r3 808e3ca: 2127 movs r1, #39 ; 0x27 808e3cc: 200a movs r0, #10 808e3ce: f7c6 fec7 bl 8055160 if(menupos != OscValue) 808e3d2: 4b1a ldr r3, [pc, #104] ; (808e43c ) 808e3d4: 781b ldrb r3, [r3, #0] 808e3d6: b2db uxtb r3, r3 808e3d8: 2b01 cmp r3, #1 808e3da: d035 beq.n 808e448 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e3dc: 4909 ldr r1, [pc, #36] ; (808e404 ) 808e3de: 4819 ldr r0, [pc, #100] ; (808e444 ) 808e3e0: f7c6 f916 bl 8054610 808e3e4: e035 b.n 808e452 808e3e6: bf00 nop 808e3e8: 000186a0 .word 0x000186a0 808e3ec: d1b71759 .word 0xd1b71759 808e3f0: 10624dd3 .word 0x10624dd3 808e3f4: 51eb851f .word 0x51eb851f 808e3f8: cccccccd .word 0xcccccccd 808e3fc: 0a7c5ac5 .word 0x0a7c5ac5 808e400: 20023ea8 .word 0x20023ea8 808e404: ff0a0f1f .word 0xff0a0f1f 808e408: 080d3a98 .word 0x080d3a98 808e40c: 080d3540 .word 0x080d3540 808e410: 080d3550 .word 0x080d3550 808e414: 080d379c .word 0x080d379c 808e418: 080d4470 .word 0x080d4470 808e41c: ff808080 .word 0xff808080 808e420: 080d4480 .word 0x080d4480 808e424: 080d3aa4 .word 0x080d3aa4 808e428: 080d35f0 .word 0x080d35f0 808e42c: 080d35f8 .word 0x080d35f8 808e430: 080d37ec .word 0x080d37ec 808e434: 080d4490 .word 0x080d4490 808e438: 080d44a0 .word 0x080d44a0 808e43c: 20020070 .word 0x20020070 808e440: 200205cc .word 0x200205cc 808e444: ffd8aa57 .word 0xffd8aa57 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e448: 49b8 ldr r1, [pc, #736] ; (808e72c ) 808e44a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e44e: f7c6 f8df bl 8054610 if((focused) && (menupos == OscValue)) 808e452: 4bb7 ldr r3, [pc, #732] ; (808e730 ) 808e454: 781b ldrb r3, [r3, #0] 808e456: b2db uxtb r3, r3 808e458: 2b00 cmp r3, #0 808e45a: d01e beq.n 808e49a 808e45c: 4bb5 ldr r3, [pc, #724] ; (808e734 ) 808e45e: 781b ldrb r3, [r3, #0] 808e460: b2db uxtb r3, r3 808e462: 2b01 cmp r3, #1 808e464: d119 bne.n 808e49a { if(blk) 808e466: 4bb4 ldr r3, [pc, #720] ; (808e738 ) 808e468: 681b ldr r3, [r3, #0] 808e46a: 2b00 cmp r3, #0 808e46c: d02a beq.n 808e4c4 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pIPR[pardata.LANG][pardata.IPR]); 808e46e: 4bb3 ldr r3, [pc, #716] ; (808e73c ) 808e470: 7b1b ldrb r3, [r3, #12] 808e472: b2db uxtb r3, r3 808e474: 4619 mov r1, r3 808e476: 4bb1 ldr r3, [pc, #708] ; (808e73c ) 808e478: 785b ldrb r3, [r3, #1] 808e47a: b2db uxtb r3, r3 808e47c: 4618 mov r0, r3 808e47e: 4ab0 ldr r2, [pc, #704] ; (808e740 ) 808e480: 460b mov r3, r1 808e482: 005b lsls r3, r3, #1 808e484: 440b add r3, r1 808e486: 4403 add r3, r0 808e488: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e48c: 461a mov r2, r3 808e48e: 213a movs r1, #58 ; 0x3a 808e490: f44f 7082 mov.w r0, #260 ; 0x104 808e494: f7c6 fe7c bl 8055190 if(blk) 808e498: e014 b.n 808e4c4 } else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pIPR[pardata.LANG][pardata.IPR]); 808e49a: 4ba8 ldr r3, [pc, #672] ; (808e73c ) 808e49c: 7b1b ldrb r3, [r3, #12] 808e49e: b2db uxtb r3, r3 808e4a0: 4619 mov r1, r3 808e4a2: 4ba6 ldr r3, [pc, #664] ; (808e73c ) 808e4a4: 785b ldrb r3, [r3, #1] 808e4a6: b2db uxtb r3, r3 808e4a8: 4618 mov r0, r3 808e4aa: 4aa5 ldr r2, [pc, #660] ; (808e740 ) 808e4ac: 460b mov r3, r1 808e4ae: 005b lsls r3, r3, #1 808e4b0: 440b add r3, r1 808e4b2: 4403 add r3, r0 808e4b4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e4b8: 461a mov r2, r3 808e4ba: 213a movs r1, #58 ; 0x3a 808e4bc: f44f 7082 mov.w r0, #260 ; 0x104 808e4c0: f7c6 fe66 bl 8055190 if(menupos != FilterHP) 808e4c4: 4b9b ldr r3, [pc, #620] ; (808e734 ) 808e4c6: 781b ldrb r3, [r3, #0] 808e4c8: b2db uxtb r3, r3 808e4ca: 2b17 cmp r3, #23 808e4cc: d004 beq.n 808e4d8 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e4ce: 4997 ldr r1, [pc, #604] ; (808e72c ) 808e4d0: 489c ldr r0, [pc, #624] ; (808e744 ) 808e4d2: f7c6 f89d bl 8054610 808e4d6: e004 b.n 808e4e2 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e4d8: 4994 ldr r1, [pc, #592] ; (808e72c ) 808e4da: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e4de: f7c6 f897 bl 8054610 if((menupos < FilterHP_IDT) || (menupos > FilterHP_IKD)) 808e4e2: 4b94 ldr r3, [pc, #592] ; (808e734 ) 808e4e4: 781b ldrb r3, [r3, #0] 808e4e6: b2db uxtb r3, r3 808e4e8: 2b18 cmp r3, #24 808e4ea: d904 bls.n 808e4f6 808e4ec: 4b91 ldr r3, [pc, #580] ; (808e734 ) 808e4ee: 781b ldrb r3, [r3, #0] 808e4f0: b2db uxtb r3, r3 808e4f2: 2b1e cmp r3, #30 808e4f4: d907 bls.n 808e506 LCD_DisplayStringC(260, LCD_LINE_4, strHP); 808e4f6: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808e4fa: 461a mov r2, r3 808e4fc: 214a movs r1, #74 ; 0x4a 808e4fe: f44f 7082 mov.w r0, #260 ; 0x104 808e502: f7c6 fe45 bl 8055190 if(menupos != FilterLP) 808e506: 4b8b ldr r3, [pc, #556] ; (808e734 ) 808e508: 781b ldrb r3, [r3, #0] 808e50a: b2db uxtb r3, r3 808e50c: 2b18 cmp r3, #24 808e50e: d004 beq.n 808e51a LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e510: 4986 ldr r1, [pc, #536] ; (808e72c ) 808e512: 488c ldr r0, [pc, #560] ; (808e744 ) 808e514: f7c6 f87c bl 8054610 808e518: e004 b.n 808e524 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e51a: 4984 ldr r1, [pc, #528] ; (808e72c ) 808e51c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e520: f7c6 f876 bl 8054610 if((menupos < FilterLP_IDT) || (menupos > FilterLP_IKD)) 808e524: 4b83 ldr r3, [pc, #524] ; (808e734 ) 808e526: 781b ldrb r3, [r3, #0] 808e528: b2db uxtb r3, r3 808e52a: 2b1e cmp r3, #30 808e52c: d904 bls.n 808e538 808e52e: 4b81 ldr r3, [pc, #516] ; (808e734 ) 808e530: 781b ldrb r3, [r3, #0] 808e532: b2db uxtb r3, r3 808e534: 2b24 cmp r3, #36 ; 0x24 808e536: d907 bls.n 808e548 LCD_DisplayStringC(260, LCD_LINE_5, strLP); 808e538: f507 73cc add.w r3, r7, #408 ; 0x198 808e53c: 461a mov r2, r3 808e53e: 215a movs r1, #90 ; 0x5a 808e540: f44f 7082 mov.w r0, #260 ; 0x104 808e544: f7c6 fe24 bl 8055190 if(menupos != OscRate) 808e548: 4b7a ldr r3, [pc, #488] ; (808e734 ) 808e54a: 781b ldrb r3, [r3, #0] 808e54c: b2db uxtb r3, r3 808e54e: 2b03 cmp r3, #3 808e550: d004 beq.n 808e55c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e552: 4976 ldr r1, [pc, #472] ; (808e72c ) 808e554: 487b ldr r0, [pc, #492] ; (808e744 ) 808e556: f7c6 f85b bl 8054610 808e55a: e004 b.n 808e566 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e55c: 4973 ldr r1, [pc, #460] ; (808e72c ) 808e55e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e562: f7c6 f855 bl 8054610 if((focused) && (menupos == OscRate)) 808e566: 4b72 ldr r3, [pc, #456] ; (808e730 ) 808e568: 781b ldrb r3, [r3, #0] 808e56a: b2db uxtb r3, r3 808e56c: 2b00 cmp r3, #0 808e56e: d01f beq.n 808e5b0 808e570: 4b70 ldr r3, [pc, #448] ; (808e734 ) 808e572: 781b ldrb r3, [r3, #0] 808e574: b2db uxtb r3, r3 808e576: 2b03 cmp r3, #3 808e578: d11a bne.n 808e5b0 { if(blk) 808e57a: 4b6f ldr r3, [pc, #444] ; (808e738 ) 808e57c: 681b ldr r3, [r3, #0] 808e57e: 2b00 cmp r3, #0 808e580: d02c beq.n 808e5dc LCD_DisplayStringC(260, LCD_LINE_6, (char *) pFRQ[pardata.LANG][pardata.FRQ]); 808e582: 4b6e ldr r3, [pc, #440] ; (808e73c ) 808e584: 7b1b ldrb r3, [r3, #12] 808e586: b2db uxtb r3, r3 808e588: 4619 mov r1, r3 808e58a: 4b6c ldr r3, [pc, #432] ; (808e73c ) 808e58c: 7adb ldrb r3, [r3, #11] 808e58e: b2db uxtb r3, r3 808e590: 4618 mov r0, r3 808e592: 4a6d ldr r2, [pc, #436] ; (808e748 ) 808e594: 460b mov r3, r1 808e596: 009b lsls r3, r3, #2 808e598: 440b add r3, r1 808e59a: 005b lsls r3, r3, #1 808e59c: 4403 add r3, r0 808e59e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e5a2: 461a mov r2, r3 808e5a4: 216a movs r1, #106 ; 0x6a 808e5a6: f44f 7082 mov.w r0, #260 ; 0x104 808e5aa: f7c6 fdf1 bl 8055190 if(blk) 808e5ae: e015 b.n 808e5dc } else LCD_DisplayStringC(260, LCD_LINE_6, (char *) pFRQ[pardata.LANG][pardata.FRQ]); 808e5b0: 4b62 ldr r3, [pc, #392] ; (808e73c ) 808e5b2: 7b1b ldrb r3, [r3, #12] 808e5b4: b2db uxtb r3, r3 808e5b6: 4619 mov r1, r3 808e5b8: 4b60 ldr r3, [pc, #384] ; (808e73c ) 808e5ba: 7adb ldrb r3, [r3, #11] 808e5bc: b2db uxtb r3, r3 808e5be: 4618 mov r0, r3 808e5c0: 4a61 ldr r2, [pc, #388] ; (808e748 ) 808e5c2: 460b mov r3, r1 808e5c4: 009b lsls r3, r3, #2 808e5c6: 440b add r3, r1 808e5c8: 005b lsls r3, r3, #1 808e5ca: 4403 add r3, r0 808e5cc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e5d0: 461a mov r2, r3 808e5d2: 216a movs r1, #106 ; 0x6a 808e5d4: f44f 7082 mov.w r0, #260 ; 0x104 808e5d8: f7c6 fdda bl 8055190 if(menupos != OscLen) 808e5dc: 4b55 ldr r3, [pc, #340] ; (808e734 ) 808e5de: 781b ldrb r3, [r3, #0] 808e5e0: b2db uxtb r3, r3 808e5e2: 2b04 cmp r3, #4 808e5e4: d004 beq.n 808e5f0 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e5e6: 4951 ldr r1, [pc, #324] ; (808e72c ) 808e5e8: 4856 ldr r0, [pc, #344] ; (808e744 ) 808e5ea: f7c6 f811 bl 8054610 808e5ee: e004 b.n 808e5fa else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e5f0: 494e ldr r1, [pc, #312] ; (808e72c ) 808e5f2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e5f6: f7c6 f80b bl 8054610 if((focused) && (menupos == OscLen)) 808e5fa: 4b4d ldr r3, [pc, #308] ; (808e730 ) 808e5fc: 781b ldrb r3, [r3, #0] 808e5fe: b2db uxtb r3, r3 808e600: 2b00 cmp r3, #0 808e602: f000 8135 beq.w 808e870 808e606: 4b4b ldr r3, [pc, #300] ; (808e734 ) 808e608: 781b ldrb r3, [r3, #0] 808e60a: b2db uxtb r3, r3 808e60c: 2b04 cmp r3, #4 808e60e: f040 812f bne.w 808e870 { if(blk) 808e612: 4b49 ldr r3, [pc, #292] ; (808e738 ) 808e614: 681b ldr r3, [r3, #0] 808e616: 2b00 cmp r3, #0 808e618: f000 824f beq.w 808eaba { if(pardata.FRQ == _125Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_125[pardata.LANG][pardata.LNE]); 808e61c: 4b47 ldr r3, [pc, #284] ; (808e73c ) 808e61e: 7adb ldrb r3, [r3, #11] 808e620: b2db uxtb r3, r3 808e622: 2b00 cmp r3, #0 808e624: d115 bne.n 808e652 808e626: 4b45 ldr r3, [pc, #276] ; (808e73c ) 808e628: 7b1b ldrb r3, [r3, #12] 808e62a: b2db uxtb r3, r3 808e62c: 4619 mov r1, r3 808e62e: 4b43 ldr r3, [pc, #268] ; (808e73c ) 808e630: 79db ldrb r3, [r3, #7] 808e632: b2db uxtb r3, r3 808e634: 4618 mov r0, r3 808e636: 4a45 ldr r2, [pc, #276] ; (808e74c ) 808e638: 460b mov r3, r1 808e63a: 009b lsls r3, r3, #2 808e63c: 440b add r3, r1 808e63e: 4403 add r3, r0 808e640: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e644: 461a mov r2, r3 808e646: 217a movs r1, #122 ; 0x7a 808e648: f44f 7082 mov.w r0, #260 ; 0x104 808e64c: f7c6 fda0 bl 8055190 if(blk) 808e650: e233 b.n 808eaba else if(pardata.FRQ == _250Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_250[pardata.LANG][pardata.LNE]); 808e652: 4b3a ldr r3, [pc, #232] ; (808e73c ) 808e654: 7adb ldrb r3, [r3, #11] 808e656: b2db uxtb r3, r3 808e658: 2b01 cmp r3, #1 808e65a: d115 bne.n 808e688 808e65c: 4b37 ldr r3, [pc, #220] ; (808e73c ) 808e65e: 7b1b ldrb r3, [r3, #12] 808e660: b2db uxtb r3, r3 808e662: 4619 mov r1, r3 808e664: 4b35 ldr r3, [pc, #212] ; (808e73c ) 808e666: 79db ldrb r3, [r3, #7] 808e668: b2db uxtb r3, r3 808e66a: 4618 mov r0, r3 808e66c: 4a38 ldr r2, [pc, #224] ; (808e750 ) 808e66e: 460b mov r3, r1 808e670: 009b lsls r3, r3, #2 808e672: 440b add r3, r1 808e674: 4403 add r3, r0 808e676: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e67a: 461a mov r2, r3 808e67c: 217a movs r1, #122 ; 0x7a 808e67e: f44f 7082 mov.w r0, #260 ; 0x104 808e682: f7c6 fd85 bl 8055190 if(blk) 808e686: e218 b.n 808eaba else if(pardata.FRQ == _500Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_500[pardata.LANG][pardata.LNE]); 808e688: 4b2c ldr r3, [pc, #176] ; (808e73c ) 808e68a: 7adb ldrb r3, [r3, #11] 808e68c: b2db uxtb r3, r3 808e68e: 2b02 cmp r3, #2 808e690: d115 bne.n 808e6be 808e692: 4b2a ldr r3, [pc, #168] ; (808e73c ) 808e694: 7b1b ldrb r3, [r3, #12] 808e696: b2db uxtb r3, r3 808e698: 4619 mov r1, r3 808e69a: 4b28 ldr r3, [pc, #160] ; (808e73c ) 808e69c: 79db ldrb r3, [r3, #7] 808e69e: b2db uxtb r3, r3 808e6a0: 4618 mov r0, r3 808e6a2: 4a2c ldr r2, [pc, #176] ; (808e754 ) 808e6a4: 460b mov r3, r1 808e6a6: 009b lsls r3, r3, #2 808e6a8: 440b add r3, r1 808e6aa: 4403 add r3, r0 808e6ac: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e6b0: 461a mov r2, r3 808e6b2: 217a movs r1, #122 ; 0x7a 808e6b4: f44f 7082 mov.w r0, #260 ; 0x104 808e6b8: f7c6 fd6a bl 8055190 if(blk) 808e6bc: e1fd b.n 808eaba else if(pardata.FRQ == _1000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_1000[pardata.LANG][pardata.LNE]); 808e6be: 4b1f ldr r3, [pc, #124] ; (808e73c ) 808e6c0: 7adb ldrb r3, [r3, #11] 808e6c2: b2db uxtb r3, r3 808e6c4: 2b03 cmp r3, #3 808e6c6: d115 bne.n 808e6f4 808e6c8: 4b1c ldr r3, [pc, #112] ; (808e73c ) 808e6ca: 7b1b ldrb r3, [r3, #12] 808e6cc: b2db uxtb r3, r3 808e6ce: 4619 mov r1, r3 808e6d0: 4b1a ldr r3, [pc, #104] ; (808e73c ) 808e6d2: 79db ldrb r3, [r3, #7] 808e6d4: b2db uxtb r3, r3 808e6d6: 4618 mov r0, r3 808e6d8: 4a1f ldr r2, [pc, #124] ; (808e758 ) 808e6da: 460b mov r3, r1 808e6dc: 009b lsls r3, r3, #2 808e6de: 440b add r3, r1 808e6e0: 4403 add r3, r0 808e6e2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e6e6: 461a mov r2, r3 808e6e8: 217a movs r1, #122 ; 0x7a 808e6ea: f44f 7082 mov.w r0, #260 ; 0x104 808e6ee: f7c6 fd4f bl 8055190 if(blk) 808e6f2: e1e2 b.n 808eaba else if(pardata.FRQ == _2000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_2000[pardata.LANG][pardata.LNE]); 808e6f4: 4b11 ldr r3, [pc, #68] ; (808e73c ) 808e6f6: 7adb ldrb r3, [r3, #11] 808e6f8: b2db uxtb r3, r3 808e6fa: 2b04 cmp r3, #4 808e6fc: d130 bne.n 808e760 808e6fe: 4b0f ldr r3, [pc, #60] ; (808e73c ) 808e700: 7b1b ldrb r3, [r3, #12] 808e702: b2db uxtb r3, r3 808e704: 4619 mov r1, r3 808e706: 4b0d ldr r3, [pc, #52] ; (808e73c ) 808e708: 79db ldrb r3, [r3, #7] 808e70a: b2db uxtb r3, r3 808e70c: 4618 mov r0, r3 808e70e: 4a13 ldr r2, [pc, #76] ; (808e75c ) 808e710: 460b mov r3, r1 808e712: 009b lsls r3, r3, #2 808e714: 440b add r3, r1 808e716: 4403 add r3, r0 808e718: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e71c: 461a mov r2, r3 808e71e: 217a movs r1, #122 ; 0x7a 808e720: f44f 7082 mov.w r0, #260 ; 0x104 808e724: f7c6 fd34 bl 8055190 if(blk) 808e728: e1c7 b.n 808eaba 808e72a: bf00 nop 808e72c: ff0a0f1f .word 0xff0a0f1f 808e730: 20020fc8 .word 0x20020fc8 808e734: 20020070 .word 0x20020070 808e738: 200216a4 .word 0x200216a4 808e73c: 20023ea8 .word 0x20023ea8 808e740: 2002016c .word 0x2002016c 808e744: ffd8aa57 .word 0xffd8aa57 808e748: 200202ec .word 0x200202ec 808e74c: 20020434 .word 0x20020434 808e750: 2002045c .word 0x2002045c 808e754: 20020484 .word 0x20020484 808e758: 200204ac .word 0x200204ac 808e75c: 200204d4 .word 0x200204d4 else if(pardata.FRQ == _4000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_4000[pardata.LANG][pardata.LNE]); 808e760: 4bbd ldr r3, [pc, #756] ; (808ea58 ) 808e762: 7adb ldrb r3, [r3, #11] 808e764: b2db uxtb r3, r3 808e766: 2b05 cmp r3, #5 808e768: d115 bne.n 808e796 808e76a: 4bbb ldr r3, [pc, #748] ; (808ea58 ) 808e76c: 7b1b ldrb r3, [r3, #12] 808e76e: b2db uxtb r3, r3 808e770: 4619 mov r1, r3 808e772: 4bb9 ldr r3, [pc, #740] ; (808ea58 ) 808e774: 79db ldrb r3, [r3, #7] 808e776: b2db uxtb r3, r3 808e778: 4618 mov r0, r3 808e77a: 4ab8 ldr r2, [pc, #736] ; (808ea5c ) 808e77c: 460b mov r3, r1 808e77e: 009b lsls r3, r3, #2 808e780: 440b add r3, r1 808e782: 4403 add r3, r0 808e784: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e788: 461a mov r2, r3 808e78a: 217a movs r1, #122 ; 0x7a 808e78c: f44f 7082 mov.w r0, #260 ; 0x104 808e790: f7c6 fcfe bl 8055190 if(blk) 808e794: e191 b.n 808eaba else if(pardata.FRQ == _8000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_8000[pardata.LANG][pardata.LNE]); 808e796: 4bb0 ldr r3, [pc, #704] ; (808ea58 ) 808e798: 7adb ldrb r3, [r3, #11] 808e79a: b2db uxtb r3, r3 808e79c: 2b06 cmp r3, #6 808e79e: d115 bne.n 808e7cc 808e7a0: 4bad ldr r3, [pc, #692] ; (808ea58 ) 808e7a2: 7b1b ldrb r3, [r3, #12] 808e7a4: b2db uxtb r3, r3 808e7a6: 4619 mov r1, r3 808e7a8: 4bab ldr r3, [pc, #684] ; (808ea58 ) 808e7aa: 79db ldrb r3, [r3, #7] 808e7ac: b2db uxtb r3, r3 808e7ae: 4618 mov r0, r3 808e7b0: 4aab ldr r2, [pc, #684] ; (808ea60 ) 808e7b2: 460b mov r3, r1 808e7b4: 009b lsls r3, r3, #2 808e7b6: 440b add r3, r1 808e7b8: 4403 add r3, r0 808e7ba: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e7be: 461a mov r2, r3 808e7c0: 217a movs r1, #122 ; 0x7a 808e7c2: f44f 7082 mov.w r0, #260 ; 0x104 808e7c6: f7c6 fce3 bl 8055190 if(blk) 808e7ca: e176 b.n 808eaba else if(pardata.FRQ == _16000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_16000[pardata.LANG][pardata.LNE]); 808e7cc: 4ba2 ldr r3, [pc, #648] ; (808ea58 ) 808e7ce: 7adb ldrb r3, [r3, #11] 808e7d0: b2db uxtb r3, r3 808e7d2: 2b07 cmp r3, #7 808e7d4: d115 bne.n 808e802 808e7d6: 4ba0 ldr r3, [pc, #640] ; (808ea58 ) 808e7d8: 7b1b ldrb r3, [r3, #12] 808e7da: b2db uxtb r3, r3 808e7dc: 4619 mov r1, r3 808e7de: 4b9e ldr r3, [pc, #632] ; (808ea58 ) 808e7e0: 79db ldrb r3, [r3, #7] 808e7e2: b2db uxtb r3, r3 808e7e4: 4618 mov r0, r3 808e7e6: 4a9f ldr r2, [pc, #636] ; (808ea64 ) 808e7e8: 460b mov r3, r1 808e7ea: 009b lsls r3, r3, #2 808e7ec: 440b add r3, r1 808e7ee: 4403 add r3, r0 808e7f0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e7f4: 461a mov r2, r3 808e7f6: 217a movs r1, #122 ; 0x7a 808e7f8: f44f 7082 mov.w r0, #260 ; 0x104 808e7fc: f7c6 fcc8 bl 8055190 if(blk) 808e800: e15b b.n 808eaba else if(pardata.FRQ == _32000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_32000[pardata.LANG][pardata.LNE]); 808e802: 4b95 ldr r3, [pc, #596] ; (808ea58 ) 808e804: 7adb ldrb r3, [r3, #11] 808e806: b2db uxtb r3, r3 808e808: 2b08 cmp r3, #8 808e80a: d115 bne.n 808e838 808e80c: 4b92 ldr r3, [pc, #584] ; (808ea58 ) 808e80e: 7b1b ldrb r3, [r3, #12] 808e810: b2db uxtb r3, r3 808e812: 4619 mov r1, r3 808e814: 4b90 ldr r3, [pc, #576] ; (808ea58 ) 808e816: 79db ldrb r3, [r3, #7] 808e818: b2db uxtb r3, r3 808e81a: 4618 mov r0, r3 808e81c: 4a92 ldr r2, [pc, #584] ; (808ea68 ) 808e81e: 460b mov r3, r1 808e820: 009b lsls r3, r3, #2 808e822: 440b add r3, r1 808e824: 4403 add r3, r0 808e826: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e82a: 461a mov r2, r3 808e82c: 217a movs r1, #122 ; 0x7a 808e82e: f44f 7082 mov.w r0, #260 ; 0x104 808e832: f7c6 fcad bl 8055190 if(blk) 808e836: e140 b.n 808eaba else if(pardata.FRQ == _64000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_64000[pardata.LANG][pardata.LNE]); 808e838: 4b87 ldr r3, [pc, #540] ; (808ea58 ) 808e83a: 7adb ldrb r3, [r3, #11] 808e83c: b2db uxtb r3, r3 808e83e: 2b09 cmp r3, #9 808e840: f040 813b bne.w 808eaba 808e844: 4b84 ldr r3, [pc, #528] ; (808ea58 ) 808e846: 7b1b ldrb r3, [r3, #12] 808e848: b2db uxtb r3, r3 808e84a: 4619 mov r1, r3 808e84c: 4b82 ldr r3, [pc, #520] ; (808ea58 ) 808e84e: 79db ldrb r3, [r3, #7] 808e850: b2db uxtb r3, r3 808e852: 4618 mov r0, r3 808e854: 4a85 ldr r2, [pc, #532] ; (808ea6c ) 808e856: 460b mov r3, r1 808e858: 009b lsls r3, r3, #2 808e85a: 440b add r3, r1 808e85c: 4403 add r3, r0 808e85e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e862: 461a mov r2, r3 808e864: 217a movs r1, #122 ; 0x7a 808e866: f44f 7082 mov.w r0, #260 ; 0x104 808e86a: f7c6 fc91 bl 8055190 if(blk) 808e86e: e124 b.n 808eaba } } else { if(pardata.FRQ == _125Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_125[pardata.LANG][pardata.LNE]); 808e870: 4b79 ldr r3, [pc, #484] ; (808ea58 ) 808e872: 7adb ldrb r3, [r3, #11] 808e874: b2db uxtb r3, r3 808e876: 2b00 cmp r3, #0 808e878: d115 bne.n 808e8a6 808e87a: 4b77 ldr r3, [pc, #476] ; (808ea58 ) 808e87c: 7b1b ldrb r3, [r3, #12] 808e87e: b2db uxtb r3, r3 808e880: 4619 mov r1, r3 808e882: 4b75 ldr r3, [pc, #468] ; (808ea58 ) 808e884: 79db ldrb r3, [r3, #7] 808e886: b2db uxtb r3, r3 808e888: 4618 mov r0, r3 808e88a: 4a79 ldr r2, [pc, #484] ; (808ea70 ) 808e88c: 460b mov r3, r1 808e88e: 009b lsls r3, r3, #2 808e890: 440b add r3, r1 808e892: 4403 add r3, r0 808e894: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e898: 461a mov r2, r3 808e89a: 217a movs r1, #122 ; 0x7a 808e89c: f44f 7082 mov.w r0, #260 ; 0x104 808e8a0: f7c6 fc76 bl 8055190 808e8a4: e10a b.n 808eabc else if(pardata.FRQ == _250Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_250[pardata.LANG][pardata.LNE]); 808e8a6: 4b6c ldr r3, [pc, #432] ; (808ea58 ) 808e8a8: 7adb ldrb r3, [r3, #11] 808e8aa: b2db uxtb r3, r3 808e8ac: 2b01 cmp r3, #1 808e8ae: d115 bne.n 808e8dc 808e8b0: 4b69 ldr r3, [pc, #420] ; (808ea58 ) 808e8b2: 7b1b ldrb r3, [r3, #12] 808e8b4: b2db uxtb r3, r3 808e8b6: 4619 mov r1, r3 808e8b8: 4b67 ldr r3, [pc, #412] ; (808ea58 ) 808e8ba: 79db ldrb r3, [r3, #7] 808e8bc: b2db uxtb r3, r3 808e8be: 4618 mov r0, r3 808e8c0: 4a6c ldr r2, [pc, #432] ; (808ea74 ) 808e8c2: 460b mov r3, r1 808e8c4: 009b lsls r3, r3, #2 808e8c6: 440b add r3, r1 808e8c8: 4403 add r3, r0 808e8ca: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e8ce: 461a mov r2, r3 808e8d0: 217a movs r1, #122 ; 0x7a 808e8d2: f44f 7082 mov.w r0, #260 ; 0x104 808e8d6: f7c6 fc5b bl 8055190 808e8da: e0ef b.n 808eabc else if(pardata.FRQ == _500Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_500[pardata.LANG][pardata.LNE]); 808e8dc: 4b5e ldr r3, [pc, #376] ; (808ea58 ) 808e8de: 7adb ldrb r3, [r3, #11] 808e8e0: b2db uxtb r3, r3 808e8e2: 2b02 cmp r3, #2 808e8e4: d115 bne.n 808e912 808e8e6: 4b5c ldr r3, [pc, #368] ; (808ea58 ) 808e8e8: 7b1b ldrb r3, [r3, #12] 808e8ea: b2db uxtb r3, r3 808e8ec: 4619 mov r1, r3 808e8ee: 4b5a ldr r3, [pc, #360] ; (808ea58 ) 808e8f0: 79db ldrb r3, [r3, #7] 808e8f2: b2db uxtb r3, r3 808e8f4: 4618 mov r0, r3 808e8f6: 4a60 ldr r2, [pc, #384] ; (808ea78 ) 808e8f8: 460b mov r3, r1 808e8fa: 009b lsls r3, r3, #2 808e8fc: 440b add r3, r1 808e8fe: 4403 add r3, r0 808e900: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e904: 461a mov r2, r3 808e906: 217a movs r1, #122 ; 0x7a 808e908: f44f 7082 mov.w r0, #260 ; 0x104 808e90c: f7c6 fc40 bl 8055190 808e910: e0d4 b.n 808eabc else if(pardata.FRQ == _1000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_1000[pardata.LANG][pardata.LNE]); 808e912: 4b51 ldr r3, [pc, #324] ; (808ea58 ) 808e914: 7adb ldrb r3, [r3, #11] 808e916: b2db uxtb r3, r3 808e918: 2b03 cmp r3, #3 808e91a: d115 bne.n 808e948 808e91c: 4b4e ldr r3, [pc, #312] ; (808ea58 ) 808e91e: 7b1b ldrb r3, [r3, #12] 808e920: b2db uxtb r3, r3 808e922: 4619 mov r1, r3 808e924: 4b4c ldr r3, [pc, #304] ; (808ea58 ) 808e926: 79db ldrb r3, [r3, #7] 808e928: b2db uxtb r3, r3 808e92a: 4618 mov r0, r3 808e92c: 4a53 ldr r2, [pc, #332] ; (808ea7c ) 808e92e: 460b mov r3, r1 808e930: 009b lsls r3, r3, #2 808e932: 440b add r3, r1 808e934: 4403 add r3, r0 808e936: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e93a: 461a mov r2, r3 808e93c: 217a movs r1, #122 ; 0x7a 808e93e: f44f 7082 mov.w r0, #260 ; 0x104 808e942: f7c6 fc25 bl 8055190 808e946: e0b9 b.n 808eabc else if(pardata.FRQ == _2000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_2000[pardata.LANG][pardata.LNE]); 808e948: 4b43 ldr r3, [pc, #268] ; (808ea58 ) 808e94a: 7adb ldrb r3, [r3, #11] 808e94c: b2db uxtb r3, r3 808e94e: 2b04 cmp r3, #4 808e950: d115 bne.n 808e97e 808e952: 4b41 ldr r3, [pc, #260] ; (808ea58 ) 808e954: 7b1b ldrb r3, [r3, #12] 808e956: b2db uxtb r3, r3 808e958: 4619 mov r1, r3 808e95a: 4b3f ldr r3, [pc, #252] ; (808ea58 ) 808e95c: 79db ldrb r3, [r3, #7] 808e95e: b2db uxtb r3, r3 808e960: 4618 mov r0, r3 808e962: 4a47 ldr r2, [pc, #284] ; (808ea80 ) 808e964: 460b mov r3, r1 808e966: 009b lsls r3, r3, #2 808e968: 440b add r3, r1 808e96a: 4403 add r3, r0 808e96c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e970: 461a mov r2, r3 808e972: 217a movs r1, #122 ; 0x7a 808e974: f44f 7082 mov.w r0, #260 ; 0x104 808e978: f7c6 fc0a bl 8055190 808e97c: e09e b.n 808eabc else if(pardata.FRQ == _4000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_4000[pardata.LANG][pardata.LNE]); 808e97e: 4b36 ldr r3, [pc, #216] ; (808ea58 ) 808e980: 7adb ldrb r3, [r3, #11] 808e982: b2db uxtb r3, r3 808e984: 2b05 cmp r3, #5 808e986: d115 bne.n 808e9b4 808e988: 4b33 ldr r3, [pc, #204] ; (808ea58 ) 808e98a: 7b1b ldrb r3, [r3, #12] 808e98c: b2db uxtb r3, r3 808e98e: 4619 mov r1, r3 808e990: 4b31 ldr r3, [pc, #196] ; (808ea58 ) 808e992: 79db ldrb r3, [r3, #7] 808e994: b2db uxtb r3, r3 808e996: 4618 mov r0, r3 808e998: 4a30 ldr r2, [pc, #192] ; (808ea5c ) 808e99a: 460b mov r3, r1 808e99c: 009b lsls r3, r3, #2 808e99e: 440b add r3, r1 808e9a0: 4403 add r3, r0 808e9a2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e9a6: 461a mov r2, r3 808e9a8: 217a movs r1, #122 ; 0x7a 808e9aa: f44f 7082 mov.w r0, #260 ; 0x104 808e9ae: f7c6 fbef bl 8055190 808e9b2: e083 b.n 808eabc else if(pardata.FRQ == _8000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_8000[pardata.LANG][pardata.LNE]); 808e9b4: 4b28 ldr r3, [pc, #160] ; (808ea58 ) 808e9b6: 7adb ldrb r3, [r3, #11] 808e9b8: b2db uxtb r3, r3 808e9ba: 2b06 cmp r3, #6 808e9bc: d115 bne.n 808e9ea 808e9be: 4b26 ldr r3, [pc, #152] ; (808ea58 ) 808e9c0: 7b1b ldrb r3, [r3, #12] 808e9c2: b2db uxtb r3, r3 808e9c4: 4619 mov r1, r3 808e9c6: 4b24 ldr r3, [pc, #144] ; (808ea58 ) 808e9c8: 79db ldrb r3, [r3, #7] 808e9ca: b2db uxtb r3, r3 808e9cc: 4618 mov r0, r3 808e9ce: 4a24 ldr r2, [pc, #144] ; (808ea60 ) 808e9d0: 460b mov r3, r1 808e9d2: 009b lsls r3, r3, #2 808e9d4: 440b add r3, r1 808e9d6: 4403 add r3, r0 808e9d8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808e9dc: 461a mov r2, r3 808e9de: 217a movs r1, #122 ; 0x7a 808e9e0: f44f 7082 mov.w r0, #260 ; 0x104 808e9e4: f7c6 fbd4 bl 8055190 808e9e8: e068 b.n 808eabc else if(pardata.FRQ == _16000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_16000[pardata.LANG][pardata.LNE]); 808e9ea: 4b1b ldr r3, [pc, #108] ; (808ea58 ) 808e9ec: 7adb ldrb r3, [r3, #11] 808e9ee: b2db uxtb r3, r3 808e9f0: 2b07 cmp r3, #7 808e9f2: d115 bne.n 808ea20 808e9f4: 4b18 ldr r3, [pc, #96] ; (808ea58 ) 808e9f6: 7b1b ldrb r3, [r3, #12] 808e9f8: b2db uxtb r3, r3 808e9fa: 4619 mov r1, r3 808e9fc: 4b16 ldr r3, [pc, #88] ; (808ea58 ) 808e9fe: 79db ldrb r3, [r3, #7] 808ea00: b2db uxtb r3, r3 808ea02: 4618 mov r0, r3 808ea04: 4a17 ldr r2, [pc, #92] ; (808ea64 ) 808ea06: 460b mov r3, r1 808ea08: 009b lsls r3, r3, #2 808ea0a: 440b add r3, r1 808ea0c: 4403 add r3, r0 808ea0e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808ea12: 461a mov r2, r3 808ea14: 217a movs r1, #122 ; 0x7a 808ea16: f44f 7082 mov.w r0, #260 ; 0x104 808ea1a: f7c6 fbb9 bl 8055190 808ea1e: e04d b.n 808eabc else if(pardata.FRQ == _32000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_32000[pardata.LANG][pardata.LNE]); 808ea20: 4b0d ldr r3, [pc, #52] ; (808ea58 ) 808ea22: 7adb ldrb r3, [r3, #11] 808ea24: b2db uxtb r3, r3 808ea26: 2b08 cmp r3, #8 808ea28: d12c bne.n 808ea84 808ea2a: 4b0b ldr r3, [pc, #44] ; (808ea58 ) 808ea2c: 7b1b ldrb r3, [r3, #12] 808ea2e: b2db uxtb r3, r3 808ea30: 4619 mov r1, r3 808ea32: 4b09 ldr r3, [pc, #36] ; (808ea58 ) 808ea34: 79db ldrb r3, [r3, #7] 808ea36: b2db uxtb r3, r3 808ea38: 4618 mov r0, r3 808ea3a: 4a0b ldr r2, [pc, #44] ; (808ea68 ) 808ea3c: 460b mov r3, r1 808ea3e: 009b lsls r3, r3, #2 808ea40: 440b add r3, r1 808ea42: 4403 add r3, r0 808ea44: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808ea48: 461a mov r2, r3 808ea4a: 217a movs r1, #122 ; 0x7a 808ea4c: f44f 7082 mov.w r0, #260 ; 0x104 808ea50: f7c6 fb9e bl 8055190 808ea54: e032 b.n 808eabc 808ea56: bf00 nop 808ea58: 20023ea8 .word 0x20023ea8 808ea5c: 200204fc .word 0x200204fc 808ea60: 20020524 .word 0x20020524 808ea64: 2002054c .word 0x2002054c 808ea68: 20020574 .word 0x20020574 808ea6c: 2002059c .word 0x2002059c 808ea70: 20020434 .word 0x20020434 808ea74: 2002045c .word 0x2002045c 808ea78: 20020484 .word 0x20020484 808ea7c: 200204ac .word 0x200204ac 808ea80: 200204d4 .word 0x200204d4 else if(pardata.FRQ == _64000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_64000[pardata.LANG][pardata.LNE]); 808ea84: 4bb7 ldr r3, [pc, #732] ; (808ed64 ) 808ea86: 7adb ldrb r3, [r3, #11] 808ea88: b2db uxtb r3, r3 808ea8a: 2b09 cmp r3, #9 808ea8c: d116 bne.n 808eabc 808ea8e: 4bb5 ldr r3, [pc, #724] ; (808ed64 ) 808ea90: 7b1b ldrb r3, [r3, #12] 808ea92: b2db uxtb r3, r3 808ea94: 4619 mov r1, r3 808ea96: 4bb3 ldr r3, [pc, #716] ; (808ed64 ) 808ea98: 79db ldrb r3, [r3, #7] 808ea9a: b2db uxtb r3, r3 808ea9c: 4618 mov r0, r3 808ea9e: 4ab2 ldr r2, [pc, #712] ; (808ed68 ) 808eaa0: 460b mov r3, r1 808eaa2: 009b lsls r3, r3, #2 808eaa4: 440b add r3, r1 808eaa6: 4403 add r3, r0 808eaa8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808eaac: 461a mov r2, r3 808eaae: 217a movs r1, #122 ; 0x7a 808eab0: f44f 7082 mov.w r0, #260 ; 0x104 808eab4: f7c6 fb6c bl 8055190 808eab8: e000 b.n 808eabc if(blk) 808eaba: bf00 nop } if(menupos == OscThr) 808eabc: 4bab ldr r3, [pc, #684] ; (808ed6c ) 808eabe: 781b ldrb r3, [r3, #0] 808eac0: b2db uxtb r3, r3 808eac2: 2b07 cmp r3, #7 808eac4: d10a bne.n 808eadc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808eac6: 49aa ldr r1, [pc, #680] ; (808ed70 ) 808eac8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808eacc: f7c5 fda0 bl 8054610 BSP_LCD_FillRect(253, CHECKBOX_LINE_10-2, 14, 14); 808ead0: 230e movs r3, #14 808ead2: 220e movs r2, #14 808ead4: 21ab movs r1, #171 ; 0xab 808ead6: 20fd movs r0, #253 ; 0xfd 808ead8: f7c6 fa28 bl 8054f2c } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808eadc: 49a4 ldr r1, [pc, #656] ; (808ed70 ) 808eade: f04f 30ff mov.w r0, #4294967295 808eae2: f7c5 fd95 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 808eae6: 230a movs r3, #10 808eae8: 220a movs r2, #10 808eaea: 21ad movs r1, #173 ; 0xad 808eaec: 20ff movs r0, #255 ; 0xff 808eaee: f7c6 fa1d bl 8054f2c if(menupos == OscAutoKu) 808eaf2: 4b9e ldr r3, [pc, #632] ; (808ed6c ) 808eaf4: 781b ldrb r3, [r3, #0] 808eaf6: b2db uxtb r3, r3 808eaf8: 2b05 cmp r3, #5 808eafa: d10a bne.n 808eb12 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808eafc: 499c ldr r1, [pc, #624] ; (808ed70 ) 808eafe: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808eb02: f7c5 fd85 bl 8054610 BSP_LCD_FillRect(253, CHECKBOX_LINE_8-2, 14, 14); 808eb06: 230e movs r3, #14 808eb08: 220e movs r2, #14 808eb0a: 218b movs r1, #139 ; 0x8b 808eb0c: 20fd movs r0, #253 ; 0xfd 808eb0e: f7c6 fa0d bl 8054f2c } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808eb12: 4997 ldr r1, [pc, #604] ; (808ed70 ) 808eb14: f04f 30ff mov.w r0, #4294967295 808eb18: f7c5 fd7a bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 808eb1c: 230a movs r3, #10 808eb1e: 220a movs r2, #10 808eb20: 218d movs r1, #141 ; 0x8d 808eb22: 20ff movs r0, #255 ; 0xff 808eb24: f7c6 fa02 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808eb28: 4991 ldr r1, [pc, #580] ; (808ed70 ) 808eb2a: f04f 30ff mov.w r0, #4294967295 808eb2e: f7c5 fd6f bl 8054610 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_PARAM_VIB[pardata.LANG][8]);//"Óñèëåíèå" 808eb32: 4b8c ldr r3, [pc, #560] ; (808ed64 ) 808eb34: 7b1b ldrb r3, [r3, #12] 808eb36: b2db uxtb r3, r3 808eb38: 4619 mov r1, r3 808eb3a: 4a8e ldr r2, [pc, #568] ; (808ed74 ) 808eb3c: 232c movs r3, #44 ; 0x2c 808eb3e: fb03 f301 mul.w r3, r3, r1 808eb42: 4413 add r3, r2 808eb44: 3320 adds r3, #32 808eb46: 681b ldr r3, [r3, #0] 808eb48: 461a mov r2, r3 808eb4a: 218a movs r1, #138 ; 0x8a 808eb4c: 200a movs r0, #10 808eb4e: f7c6 fb07 bl 8055160 if(pardata.THR & 0x80) 808eb52: 4b84 ldr r3, [pc, #528] ; (808ed64 ) 808eb54: 7bdb ldrb r3, [r3, #15] 808eb56: b2db uxtb r3, r3 808eb58: b25b sxtb r3, r3 808eb5a: 2b00 cmp r3, #0 808eb5c: f280 80cb bge.w 808ecf6 { if(pardata.IPR == ACC) 808eb60: 4b80 ldr r3, [pc, #512] ; (808ed64 ) 808eb62: 785b ldrb r3, [r3, #1] 808eb64: b2db uxtb r3, r3 808eb66: 2b00 cmp r3, #0 808eb68: d151 bne.n 808ec0e { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808eb6a: 4981 ldr r1, [pc, #516] ; (808ed70 ) 808eb6c: f04f 30ff mov.w r0, #4294967295 808eb70: f7c5 fd4e bl 8054610 if(pardata.IIN != VOLTS) 808eb74: 4b7b ldr r3, [pc, #492] ; (808ed64 ) 808eb76: 799b ldrb r3, [r3, #6] 808eb78: b2db uxtb r3, r3 808eb7a: 2b02 cmp r3, #2 808eb7c: d010 beq.n 808eba0 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808eb7e: 4b79 ldr r3, [pc, #484] ; (808ed64 ) 808eb80: 7b1b ldrb r3, [r3, #12] 808eb82: b2db uxtb r3, r3 808eb84: 4619 mov r1, r3 808eb86: 4a7b ldr r2, [pc, #492] ; (808ed74 ) 808eb88: 232c movs r3, #44 ; 0x2c 808eb8a: fb03 f301 mul.w r3, r3, r1 808eb8e: 4413 add r3, r2 808eb90: 3324 adds r3, #36 ; 0x24 808eb92: 681b ldr r3, [r3, #0] 808eb94: 461a mov r2, r3 808eb96: 219a movs r1, #154 ; 0x9a 808eb98: 200a movs r0, #10 808eb9a: f7c6 fae1 bl 8055160 808eb9e: e00f b.n 808ebc0 else LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808eba0: 4b70 ldr r3, [pc, #448] ; (808ed64 ) 808eba2: 7b1b ldrb r3, [r3, #12] 808eba4: b2db uxtb r3, r3 808eba6: 4619 mov r1, r3 808eba8: 4a73 ldr r2, [pc, #460] ; (808ed78 ) 808ebaa: 232c movs r3, #44 ; 0x2c 808ebac: fb03 f301 mul.w r3, r3, r1 808ebb0: 4413 add r3, r2 808ebb2: 3324 adds r3, #36 ; 0x24 808ebb4: 681b ldr r3, [r3, #0] 808ebb6: 461a mov r2, r3 808ebb8: 219a movs r1, #154 ; 0x9a 808ebba: 200a movs r0, #10 808ebbc: f7c6 fad0 bl 8055160 if(pardata.IIN != VOLTS) 808ebc0: 4b68 ldr r3, [pc, #416] ; (808ed64 ) 808ebc2: 799b ldrb r3, [r3, #6] 808ebc4: b2db uxtb r3, r3 808ebc6: 2b02 cmp r3, #2 808ebc8: d010 beq.n 808ebec { if(pardata.LANG == RUS) 808ebca: 4b66 ldr r3, [pc, #408] ; (808ed64 ) 808ebcc: 7b1b ldrb r3, [r3, #12] 808ebce: b2db uxtb r3, r3 808ebd0: 2b00 cmp r3, #0 808ebd2: d105 bne.n 808ebe0 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ì/c^)"); 808ebd4: 4a69 ldr r2, [pc, #420] ; (808ed7c ) 808ebd6: 21ba movs r1, #186 ; 0xba 808ebd8: 200a movs r0, #10 808ebda: f7c6 fac1 bl 8055160 808ebde: e115 b.n 808ee0c else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(m/s^)"); 808ebe0: 4a67 ldr r2, [pc, #412] ; (808ed80 ) 808ebe2: 21ba movs r1, #186 ; 0xba 808ebe4: 200a movs r0, #10 808ebe6: f7c6 fabb bl 8055160 808ebea: e10f b.n 808ee0c } else { if(pardata.LANG == RUS) 808ebec: 4b5d ldr r3, [pc, #372] ; (808ed64 ) 808ebee: 7b1b ldrb r3, [r3, #12] 808ebf0: b2db uxtb r3, r3 808ebf2: 2b00 cmp r3, #0 808ebf4: d105 bne.n 808ec02 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ìÂ)"); 808ebf6: 4a63 ldr r2, [pc, #396] ; (808ed84 ) 808ebf8: 21ba movs r1, #186 ; 0xba 808ebfa: 200a movs r0, #10 808ebfc: f7c6 fab0 bl 8055160 808ec00: e104 b.n 808ee0c else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(mV)"); 808ec02: 4a61 ldr r2, [pc, #388] ; (808ed88 ) 808ec04: 21ba movs r1, #186 ; 0xba 808ec06: 200a movs r0, #10 808ec08: f7c6 faaa bl 8055160 808ec0c: e0fe b.n 808ee0c } } else { if(pardata.OPTIONS & 0x4) 808ec0e: 4b55 ldr r3, [pc, #340] ; (808ed64 ) 808ec10: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808ec14: f003 0304 and.w r3, r3, #4 808ec18: 2b00 cmp r3, #0 808ec1a: d00a beq.n 808ec32 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808ec1c: 4954 ldr r1, [pc, #336] ; (808ed70 ) 808ec1e: 485b ldr r0, [pc, #364] ; (808ed8c ) 808ec20: f7c5 fcf6 bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 808ec24: 2306 movs r3, #6 808ec26: 2206 movs r2, #6 808ec28: 218f movs r1, #143 ; 0x8f 808ec2a: f240 1001 movw r0, #257 ; 0x101 808ec2e: f7c6 f97d bl 8054f2c } LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808ec32: 494f ldr r1, [pc, #316] ; (808ed70 ) 808ec34: 4856 ldr r0, [pc, #344] ; (808ed90 ) 808ec36: f7c5 fceb bl 8054610 if(pardata.IIN != VOLTS) 808ec3a: 4b4a ldr r3, [pc, #296] ; (808ed64 ) 808ec3c: 799b ldrb r3, [r3, #6] 808ec3e: b2db uxtb r3, r3 808ec40: 2b02 cmp r3, #2 808ec42: d010 beq.n 808ec66 { if(pardata.LANG == RUS) 808ec44: 4b47 ldr r3, [pc, #284] ; (808ed64 ) 808ec46: 7b1b ldrb r3, [r3, #12] 808ec48: b2db uxtb r3, r3 808ec4a: 2b00 cmp r3, #0 808ec4c: d105 bne.n 808ec5a LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ì/c^)"); 808ec4e: 4a4b ldr r2, [pc, #300] ; (808ed7c ) 808ec50: 21ba movs r1, #186 ; 0xba 808ec52: 200a movs r0, #10 808ec54: f7c6 fa84 bl 8055160 808ec58: e015 b.n 808ec86 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(m/s^)"); 808ec5a: 4a49 ldr r2, [pc, #292] ; (808ed80 ) 808ec5c: 21ba movs r1, #186 ; 0xba 808ec5e: 200a movs r0, #10 808ec60: f7c6 fa7e bl 8055160 808ec64: e00f b.n 808ec86 } else { if(pardata.LANG == RUS) 808ec66: 4b3f ldr r3, [pc, #252] ; (808ed64 ) 808ec68: 7b1b ldrb r3, [r3, #12] 808ec6a: b2db uxtb r3, r3 808ec6c: 2b00 cmp r3, #0 808ec6e: d105 bne.n 808ec7c LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ìÂ)"); 808ec70: 4a44 ldr r2, [pc, #272] ; (808ed84 ) 808ec72: 21ba movs r1, #186 ; 0xba 808ec74: 200a movs r0, #10 808ec76: f7c6 fa73 bl 8055160 808ec7a: e004 b.n 808ec86 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(mV)"); 808ec7c: 4a42 ldr r2, [pc, #264] ; (808ed88 ) 808ec7e: 21ba movs r1, #186 ; 0xba 808ec80: 200a movs r0, #10 808ec82: f7c6 fa6d bl 8055160 } if(pardata.OPTIONS & 0x4) 808ec86: 4b37 ldr r3, [pc, #220] ; (808ed64 ) 808ec88: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808ec8c: f003 0304 and.w r3, r3, #4 808ec90: 2b00 cmp r3, #0 808ec92: d004 beq.n 808ec9e LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808ec94: 4936 ldr r1, [pc, #216] ; (808ed70 ) 808ec96: 483e ldr r0, [pc, #248] ; (808ed90 ) 808ec98: f7c5 fcba bl 8054610 808ec9c: e004 b.n 808eca8 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ec9e: 4934 ldr r1, [pc, #208] ; (808ed70 ) 808eca0: f04f 30ff mov.w r0, #4294967295 808eca4: f7c5 fcb4 bl 8054610 if(pardata.IIN != VOLTS) 808eca8: 4b2e ldr r3, [pc, #184] ; (808ed64 ) 808ecaa: 799b ldrb r3, [r3, #6] 808ecac: b2db uxtb r3, r3 808ecae: 2b02 cmp r3, #2 808ecb0: d010 beq.n 808ecd4 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808ecb2: 4b2c ldr r3, [pc, #176] ; (808ed64 ) 808ecb4: 7b1b ldrb r3, [r3, #12] 808ecb6: b2db uxtb r3, r3 808ecb8: 4619 mov r1, r3 808ecba: 4a2e ldr r2, [pc, #184] ; (808ed74 ) 808ecbc: 232c movs r3, #44 ; 0x2c 808ecbe: fb03 f301 mul.w r3, r3, r1 808ecc2: 4413 add r3, r2 808ecc4: 3324 adds r3, #36 ; 0x24 808ecc6: 681b ldr r3, [r3, #0] 808ecc8: 461a mov r2, r3 808ecca: 219a movs r1, #154 ; 0x9a 808eccc: 200a movs r0, #10 808ecce: f7c6 fa47 bl 8055160 808ecd2: e09b b.n 808ee0c else LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808ecd4: 4b23 ldr r3, [pc, #140] ; (808ed64 ) 808ecd6: 7b1b ldrb r3, [r3, #12] 808ecd8: b2db uxtb r3, r3 808ecda: 4619 mov r1, r3 808ecdc: 4a26 ldr r2, [pc, #152] ; (808ed78 ) 808ecde: 232c movs r3, #44 ; 0x2c 808ece0: fb03 f301 mul.w r3, r3, r1 808ece4: 4413 add r3, r2 808ece6: 3324 adds r3, #36 ; 0x24 808ece8: 681b ldr r3, [r3, #0] 808ecea: 461a mov r2, r3 808ecec: 219a movs r1, #154 ; 0x9a 808ecee: 200a movs r0, #10 808ecf0: f7c6 fa36 bl 8055160 808ecf4: e08a b.n 808ee0c } } else { if(pardata.OPTIONS & 0x4) 808ecf6: 4b1b ldr r3, [pc, #108] ; (808ed64 ) 808ecf8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808ecfc: f003 0304 and.w r3, r3, #4 808ed00: 2b00 cmp r3, #0 808ed02: d00a beq.n 808ed1a { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808ed04: 491a ldr r1, [pc, #104] ; (808ed70 ) 808ed06: 4821 ldr r0, [pc, #132] ; (808ed8c ) 808ed08: f7c5 fc82 bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 808ed0c: 2306 movs r3, #6 808ed0e: 2206 movs r2, #6 808ed10: 218f movs r1, #143 ; 0x8f 808ed12: f240 1001 movw r0, #257 ; 0x101 808ed16: f7c6 f909 bl 8054f2c } LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808ed1a: 4915 ldr r1, [pc, #84] ; (808ed70 ) 808ed1c: 481c ldr r0, [pc, #112] ; (808ed90 ) 808ed1e: f7c5 fc77 bl 8054610 if(pardata.IIN != VOLTS) 808ed22: 4b10 ldr r3, [pc, #64] ; (808ed64 ) 808ed24: 799b ldrb r3, [r3, #6] 808ed26: b2db uxtb r3, r3 808ed28: 2b02 cmp r3, #2 808ed2a: d010 beq.n 808ed4e { if(pardata.LANG == RUS) 808ed2c: 4b0d ldr r3, [pc, #52] ; (808ed64 ) 808ed2e: 7b1b ldrb r3, [r3, #12] 808ed30: b2db uxtb r3, r3 808ed32: 2b00 cmp r3, #0 808ed34: d105 bne.n 808ed42 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ì/c^)"); 808ed36: 4a11 ldr r2, [pc, #68] ; (808ed7c ) 808ed38: 21ba movs r1, #186 ; 0xba 808ed3a: 200a movs r0, #10 808ed3c: f7c6 fa10 bl 8055160 808ed40: e02d b.n 808ed9e else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(m/s^)"); 808ed42: 4a0f ldr r2, [pc, #60] ; (808ed80 ) 808ed44: 21ba movs r1, #186 ; 0xba 808ed46: 200a movs r0, #10 808ed48: f7c6 fa0a bl 8055160 808ed4c: e027 b.n 808ed9e } else { if(pardata.LANG == RUS) 808ed4e: 4b05 ldr r3, [pc, #20] ; (808ed64 ) 808ed50: 7b1b ldrb r3, [r3, #12] 808ed52: b2db uxtb r3, r3 808ed54: 2b00 cmp r3, #0 808ed56: d11d bne.n 808ed94 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ìÂ)"); 808ed58: 4a0a ldr r2, [pc, #40] ; (808ed84 ) 808ed5a: 21ba movs r1, #186 ; 0xba 808ed5c: 200a movs r0, #10 808ed5e: f7c6 f9ff bl 8055160 808ed62: e01c b.n 808ed9e 808ed64: 20023ea8 .word 0x20023ea8 808ed68: 2002059c .word 0x2002059c 808ed6c: 20020070 .word 0x20020070 808ed70: ff0a0f1f .word 0xff0a0f1f 808ed74: 200206bc .word 0x200206bc 808ed78: 20020714 .word 0x20020714 808ed7c: 080d37cc .word 0x080d37cc 808ed80: 080d381c .word 0x080d381c 808ed84: 080d3838 .word 0x080d3838 808ed88: 080d3848 .word 0x080d3848 808ed8c: ff404040 .word 0xff404040 808ed90: ff808080 .word 0xff808080 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(mV)"); 808ed94: 4ab3 ldr r2, [pc, #716] ; (808f064 ) 808ed96: 21ba movs r1, #186 ; 0xba 808ed98: 200a movs r0, #10 808ed9a: f7c6 f9e1 bl 8055160 } if(pardata.OPTIONS & 0x4) 808ed9e: 4bb2 ldr r3, [pc, #712] ; (808f068 ) 808eda0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808eda4: f003 0304 and.w r3, r3, #4 808eda8: 2b00 cmp r3, #0 808edaa: d004 beq.n 808edb6 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808edac: 49af ldr r1, [pc, #700] ; (808f06c ) 808edae: 48b0 ldr r0, [pc, #704] ; (808f070 ) 808edb0: f7c5 fc2e bl 8054610 808edb4: e004 b.n 808edc0 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808edb6: 49ad ldr r1, [pc, #692] ; (808f06c ) 808edb8: f04f 30ff mov.w r0, #4294967295 808edbc: f7c5 fc28 bl 8054610 if(pardata.IIN != VOLTS) 808edc0: 4ba9 ldr r3, [pc, #676] ; (808f068 ) 808edc2: 799b ldrb r3, [r3, #6] 808edc4: b2db uxtb r3, r3 808edc6: 2b02 cmp r3, #2 808edc8: d010 beq.n 808edec LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808edca: 4ba7 ldr r3, [pc, #668] ; (808f068 ) 808edcc: 7b1b ldrb r3, [r3, #12] 808edce: b2db uxtb r3, r3 808edd0: 4619 mov r1, r3 808edd2: 4aa8 ldr r2, [pc, #672] ; (808f074 ) 808edd4: 232c movs r3, #44 ; 0x2c 808edd6: fb03 f301 mul.w r3, r3, r1 808edda: 4413 add r3, r2 808eddc: 3324 adds r3, #36 ; 0x24 808edde: 681b ldr r3, [r3, #0] 808ede0: 461a mov r2, r3 808ede2: 219a movs r1, #154 ; 0x9a 808ede4: 200a movs r0, #10 808ede6: f7c6 f9bb bl 8055160 808edea: e00f b.n 808ee0c else LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808edec: 4b9e ldr r3, [pc, #632] ; (808f068 ) 808edee: 7b1b ldrb r3, [r3, #12] 808edf0: b2db uxtb r3, r3 808edf2: 4619 mov r1, r3 808edf4: 4aa0 ldr r2, [pc, #640] ; (808f078 ) 808edf6: 232c movs r3, #44 ; 0x2c 808edf8: fb03 f301 mul.w r3, r3, r1 808edfc: 4413 add r3, r2 808edfe: 3324 adds r3, #36 ; 0x24 808ee00: 681b ldr r3, [r3, #0] 808ee02: 461a mov r2, r3 808ee04: 219a movs r1, #154 ; 0x9a 808ee06: 200a movs r0, #10 808ee08: f7c6 f9aa bl 8055160 } if(menupos == OscThr_IDT) 808ee0c: 4b9b ldr r3, [pc, #620] ; (808f07c ) 808ee0e: 781b ldrb r3, [r3, #0] 808ee10: b2db uxtb r3, r3 808ee12: 2b09 cmp r3, #9 808ee14: d15e bne.n 808eed4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ee16: 4995 ldr r1, [pc, #596] ; (808f06c ) 808ee18: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ee1c: f7c5 fbf8 bl 8054610 if(blk) 808ee20: 4b97 ldr r3, [pc, #604] ; (808f080 ) 808ee22: 681b ldr r3, [r3, #0] 808ee24: 2b00 cmp r3, #0 808ee26: d00b beq.n 808ee40 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808ee28: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808ee2c: b2db uxtb r3, r3 808ee2e: 461a mov r2, r3 808ee30: 4b94 ldr r3, [pc, #592] ; (808f084 ) 808ee32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee36: 461a mov r2, r3 808ee38: 21ba movs r1, #186 ; 0xba 808ee3a: 20c6 movs r0, #198 ; 0xc6 808ee3c: f7c6 f990 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ee40: 498a ldr r1, [pc, #552] ; (808f06c ) 808ee42: 4891 ldr r0, [pc, #580] ; (808f088 ) 808ee44: f7c5 fbe4 bl 8054610 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808ee48: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808ee4c: b2db uxtb r3, r3 808ee4e: 461a mov r2, r3 808ee50: 4b8c ldr r3, [pc, #560] ; (808f084 ) 808ee52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee56: 461a mov r2, r3 808ee58: 21ba movs r1, #186 ; 0xba 808ee5a: 20d6 movs r0, #214 ; 0xd6 808ee5c: f7c6 f980 bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808ee60: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808ee64: b2db uxtb r3, r3 808ee66: 461a mov r2, r3 808ee68: 4b86 ldr r3, [pc, #536] ; (808f084 ) 808ee6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee6e: 461a mov r2, r3 808ee70: 21ba movs r1, #186 ; 0xba 808ee72: 20e6 movs r0, #230 ; 0xe6 808ee74: f7c6 f974 bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808ee78: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808ee7c: b2db uxtb r3, r3 808ee7e: 461a mov r2, r3 808ee80: 4b80 ldr r3, [pc, #512] ; (808f084 ) 808ee82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee86: 461a mov r2, r3 808ee88: 21ba movs r1, #186 ; 0xba 808ee8a: 20f6 movs r0, #246 ; 0xf6 808ee8c: f7c6 f968 bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808ee90: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808ee94: b2db uxtb r3, r3 808ee96: 461a mov r2, r3 808ee98: 4b7a ldr r3, [pc, #488] ; (808f084 ) 808ee9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee9e: 461a mov r2, r3 808eea0: 21ba movs r1, #186 ; 0xba 808eea2: f44f 7083 mov.w r0, #262 ; 0x106 808eea6: f7c6 f95b bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 808eeaa: 4a78 ldr r2, [pc, #480] ; (808f08c ) 808eeac: 21ba movs r1, #186 ; 0xba 808eeae: f44f 708b mov.w r0, #278 ; 0x116 808eeb2: f7c6 f955 bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808eeb6: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808eeba: b2db uxtb r3, r3 808eebc: 461a mov r2, r3 808eebe: 4b71 ldr r3, [pc, #452] ; (808f084 ) 808eec0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eec4: 461a mov r2, r3 808eec6: 21ba movs r1, #186 ; 0xba 808eec8: f44f 7093 mov.w r0, #294 ; 0x126 808eecc: f7c6 f948 bl 8055160 808eed0: f000 bc70 b.w 808f7b4 } else if(menupos == OscThr_IET) 808eed4: 4b69 ldr r3, [pc, #420] ; (808f07c ) 808eed6: 781b ldrb r3, [r3, #0] 808eed8: b2db uxtb r3, r3 808eeda: 2b0a cmp r3, #10 808eedc: d15e bne.n 808ef9c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808eede: 4963 ldr r1, [pc, #396] ; (808f06c ) 808eee0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808eee4: f7c5 fb94 bl 8054610 if(blk) 808eee8: 4b65 ldr r3, [pc, #404] ; (808f080 ) 808eeea: 681b ldr r3, [r3, #0] 808eeec: 2b00 cmp r3, #0 808eeee: d00b beq.n 808ef08 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808eef0: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808eef4: b2db uxtb r3, r3 808eef6: 461a mov r2, r3 808eef8: 4b62 ldr r3, [pc, #392] ; (808f084 ) 808eefa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eefe: 461a mov r2, r3 808ef00: 21ba movs r1, #186 ; 0xba 808ef02: 20d6 movs r0, #214 ; 0xd6 808ef04: f7c6 f92c bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ef08: 4958 ldr r1, [pc, #352] ; (808f06c ) 808ef0a: 485f ldr r0, [pc, #380] ; (808f088 ) 808ef0c: f7c5 fb80 bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808ef10: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808ef14: b2db uxtb r3, r3 808ef16: 461a mov r2, r3 808ef18: 4b5a ldr r3, [pc, #360] ; (808f084 ) 808ef1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef1e: 461a mov r2, r3 808ef20: 21ba movs r1, #186 ; 0xba 808ef22: 20c6 movs r0, #198 ; 0xc6 808ef24: f7c6 f91c bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808ef28: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808ef2c: b2db uxtb r3, r3 808ef2e: 461a mov r2, r3 808ef30: 4b54 ldr r3, [pc, #336] ; (808f084 ) 808ef32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef36: 461a mov r2, r3 808ef38: 21ba movs r1, #186 ; 0xba 808ef3a: 20e6 movs r0, #230 ; 0xe6 808ef3c: f7c6 f910 bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808ef40: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808ef44: b2db uxtb r3, r3 808ef46: 461a mov r2, r3 808ef48: 4b4e ldr r3, [pc, #312] ; (808f084 ) 808ef4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef4e: 461a mov r2, r3 808ef50: 21ba movs r1, #186 ; 0xba 808ef52: 20f6 movs r0, #246 ; 0xf6 808ef54: f7c6 f904 bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808ef58: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808ef5c: b2db uxtb r3, r3 808ef5e: 461a mov r2, r3 808ef60: 4b48 ldr r3, [pc, #288] ; (808f084 ) 808ef62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef66: 461a mov r2, r3 808ef68: 21ba movs r1, #186 ; 0xba 808ef6a: f44f 7083 mov.w r0, #262 ; 0x106 808ef6e: f7c6 f8f7 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 808ef72: 4a46 ldr r2, [pc, #280] ; (808f08c ) 808ef74: 21ba movs r1, #186 ; 0xba 808ef76: f44f 708b mov.w r0, #278 ; 0x116 808ef7a: f7c6 f8f1 bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808ef7e: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808ef82: b2db uxtb r3, r3 808ef84: 461a mov r2, r3 808ef86: 4b3f ldr r3, [pc, #252] ; (808f084 ) 808ef88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef8c: 461a mov r2, r3 808ef8e: 21ba movs r1, #186 ; 0xba 808ef90: f44f 7093 mov.w r0, #294 ; 0x126 808ef94: f7c6 f8e4 bl 8055160 808ef98: f000 bc0c b.w 808f7b4 } else if(menupos == OscThr_IES) 808ef9c: 4b37 ldr r3, [pc, #220] ; (808f07c ) 808ef9e: 781b ldrb r3, [r3, #0] 808efa0: b2db uxtb r3, r3 808efa2: 2b0b cmp r3, #11 808efa4: d174 bne.n 808f090 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808efa6: 4931 ldr r1, [pc, #196] ; (808f06c ) 808efa8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808efac: f7c5 fb30 bl 8054610 if(blk) 808efb0: 4b33 ldr r3, [pc, #204] ; (808f080 ) 808efb2: 681b ldr r3, [r3, #0] 808efb4: 2b00 cmp r3, #0 808efb6: d00b beq.n 808efd0 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808efb8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808efbc: b2db uxtb r3, r3 808efbe: 461a mov r2, r3 808efc0: 4b30 ldr r3, [pc, #192] ; (808f084 ) 808efc2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808efc6: 461a mov r2, r3 808efc8: 21ba movs r1, #186 ; 0xba 808efca: 20e6 movs r0, #230 ; 0xe6 808efcc: f7c6 f8c8 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808efd0: 4926 ldr r1, [pc, #152] ; (808f06c ) 808efd2: 482d ldr r0, [pc, #180] ; (808f088 ) 808efd4: f7c5 fb1c bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808efd8: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808efdc: b2db uxtb r3, r3 808efde: 461a mov r2, r3 808efe0: 4b28 ldr r3, [pc, #160] ; (808f084 ) 808efe2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808efe6: 461a mov r2, r3 808efe8: 21ba movs r1, #186 ; 0xba 808efea: 20c6 movs r0, #198 ; 0xc6 808efec: f7c6 f8b8 bl 8055160 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808eff0: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808eff4: b2db uxtb r3, r3 808eff6: 461a mov r2, r3 808eff8: 4b22 ldr r3, [pc, #136] ; (808f084 ) 808effa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808effe: 461a mov r2, r3 808f000: 21ba movs r1, #186 ; 0xba 808f002: 20d6 movs r0, #214 ; 0xd6 808f004: f7c6 f8ac bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808f008: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808f00c: b2db uxtb r3, r3 808f00e: 461a mov r2, r3 808f010: 4b1c ldr r3, [pc, #112] ; (808f084 ) 808f012: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f016: 461a mov r2, r3 808f018: 21ba movs r1, #186 ; 0xba 808f01a: 20f6 movs r0, #246 ; 0xf6 808f01c: f7c6 f8a0 bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808f020: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808f024: b2db uxtb r3, r3 808f026: 461a mov r2, r3 808f028: 4b16 ldr r3, [pc, #88] ; (808f084 ) 808f02a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f02e: 461a mov r2, r3 808f030: 21ba movs r1, #186 ; 0xba 808f032: f44f 7083 mov.w r0, #262 ; 0x106 808f036: f7c6 f893 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 808f03a: 4a14 ldr r2, [pc, #80] ; (808f08c ) 808f03c: 21ba movs r1, #186 ; 0xba 808f03e: f44f 708b mov.w r0, #278 ; 0x116 808f042: f7c6 f88d bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808f046: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808f04a: b2db uxtb r3, r3 808f04c: 461a mov r2, r3 808f04e: 4b0d ldr r3, [pc, #52] ; (808f084 ) 808f050: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f054: 461a mov r2, r3 808f056: 21ba movs r1, #186 ; 0xba 808f058: f44f 7093 mov.w r0, #294 ; 0x126 808f05c: f7c6 f880 bl 8055160 808f060: e3a8 b.n 808f7b4 808f062: bf00 nop 808f064: 080d3848 .word 0x080d3848 808f068: 20023ea8 .word 0x20023ea8 808f06c: ff0a0f1f .word 0xff0a0f1f 808f070: ff808080 .word 0xff808080 808f074: 200206bc .word 0x200206bc 808f078: 20020714 .word 0x20020714 808f07c: 20020070 .word 0x20020070 808f080: 200216a4 .word 0x200216a4 808f084: 2002096c .word 0x2002096c 808f088: ffd8aa57 .word 0xffd8aa57 808f08c: 080d3b58 .word 0x080d3b58 } else if(menupos == OscThr_IED) 808f090: 4bc5 ldr r3, [pc, #788] ; (808f3a8 ) 808f092: 781b ldrb r3, [r3, #0] 808f094: b2db uxtb r3, r3 808f096: 2b0c cmp r3, #12 808f098: d15d bne.n 808f156 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f09a: 49c4 ldr r1, [pc, #784] ; (808f3ac ) 808f09c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f0a0: f7c5 fab6 bl 8054610 if(blk) 808f0a4: 4bc2 ldr r3, [pc, #776] ; (808f3b0 ) 808f0a6: 681b ldr r3, [r3, #0] 808f0a8: 2b00 cmp r3, #0 808f0aa: d00b beq.n 808f0c4 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808f0ac: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808f0b0: b2db uxtb r3, r3 808f0b2: 461a mov r2, r3 808f0b4: 4bbf ldr r3, [pc, #764] ; (808f3b4 ) 808f0b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f0ba: 461a mov r2, r3 808f0bc: 21ba movs r1, #186 ; 0xba 808f0be: 20f6 movs r0, #246 ; 0xf6 808f0c0: f7c6 f84e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f0c4: 49b9 ldr r1, [pc, #740] ; (808f3ac ) 808f0c6: 48bc ldr r0, [pc, #752] ; (808f3b8 ) 808f0c8: f7c5 faa2 bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808f0cc: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f0d0: b2db uxtb r3, r3 808f0d2: 461a mov r2, r3 808f0d4: 4bb7 ldr r3, [pc, #732] ; (808f3b4 ) 808f0d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f0da: 461a mov r2, r3 808f0dc: 21ba movs r1, #186 ; 0xba 808f0de: 20c6 movs r0, #198 ; 0xc6 808f0e0: f7c6 f83e bl 8055160 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808f0e4: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808f0e8: b2db uxtb r3, r3 808f0ea: 461a mov r2, r3 808f0ec: 4bb1 ldr r3, [pc, #708] ; (808f3b4 ) 808f0ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f0f2: 461a mov r2, r3 808f0f4: 21ba movs r1, #186 ; 0xba 808f0f6: 20d6 movs r0, #214 ; 0xd6 808f0f8: f7c6 f832 bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808f0fc: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808f100: b2db uxtb r3, r3 808f102: 461a mov r2, r3 808f104: 4bab ldr r3, [pc, #684] ; (808f3b4 ) 808f106: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f10a: 461a mov r2, r3 808f10c: 21ba movs r1, #186 ; 0xba 808f10e: 20e6 movs r0, #230 ; 0xe6 808f110: f7c6 f826 bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808f114: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808f118: b2db uxtb r3, r3 808f11a: 461a mov r2, r3 808f11c: 4ba5 ldr r3, [pc, #660] ; (808f3b4 ) 808f11e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f122: 461a mov r2, r3 808f124: 21ba movs r1, #186 ; 0xba 808f126: f44f 7083 mov.w r0, #262 ; 0x106 808f12a: f7c6 f819 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 808f12e: 4aa3 ldr r2, [pc, #652] ; (808f3bc ) 808f130: 21ba movs r1, #186 ; 0xba 808f132: f44f 708b mov.w r0, #278 ; 0x116 808f136: f7c6 f813 bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808f13a: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808f13e: b2db uxtb r3, r3 808f140: 461a mov r2, r3 808f142: 4b9c ldr r3, [pc, #624] ; (808f3b4 ) 808f144: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f148: 461a mov r2, r3 808f14a: 21ba movs r1, #186 ; 0xba 808f14c: f44f 7093 mov.w r0, #294 ; 0x126 808f150: f7c6 f806 bl 8055160 808f154: e32e b.n 808f7b4 } else if(menupos == OscThr_IEE) 808f156: 4b94 ldr r3, [pc, #592] ; (808f3a8 ) 808f158: 781b ldrb r3, [r3, #0] 808f15a: b2db uxtb r3, r3 808f15c: 2b0d cmp r3, #13 808f15e: d15d bne.n 808f21c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f160: 4992 ldr r1, [pc, #584] ; (808f3ac ) 808f162: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f166: f7c5 fa53 bl 8054610 if(blk) 808f16a: 4b91 ldr r3, [pc, #580] ; (808f3b0 ) 808f16c: 681b ldr r3, [r3, #0] 808f16e: 2b00 cmp r3, #0 808f170: d00c beq.n 808f18c LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808f172: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808f176: b2db uxtb r3, r3 808f178: 461a mov r2, r3 808f17a: 4b8e ldr r3, [pc, #568] ; (808f3b4 ) 808f17c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f180: 461a mov r2, r3 808f182: 21ba movs r1, #186 ; 0xba 808f184: f44f 7083 mov.w r0, #262 ; 0x106 808f188: f7c5 ffea bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f18c: 4987 ldr r1, [pc, #540] ; (808f3ac ) 808f18e: 488a ldr r0, [pc, #552] ; (808f3b8 ) 808f190: f7c5 fa3e bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808f194: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f198: b2db uxtb r3, r3 808f19a: 461a mov r2, r3 808f19c: 4b85 ldr r3, [pc, #532] ; (808f3b4 ) 808f19e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f1a2: 461a mov r2, r3 808f1a4: 21ba movs r1, #186 ; 0xba 808f1a6: 20c6 movs r0, #198 ; 0xc6 808f1a8: f7c5 ffda bl 8055160 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808f1ac: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808f1b0: b2db uxtb r3, r3 808f1b2: 461a mov r2, r3 808f1b4: 4b7f ldr r3, [pc, #508] ; (808f3b4 ) 808f1b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f1ba: 461a mov r2, r3 808f1bc: 21ba movs r1, #186 ; 0xba 808f1be: 20d6 movs r0, #214 ; 0xd6 808f1c0: f7c5 ffce bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808f1c4: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808f1c8: b2db uxtb r3, r3 808f1ca: 461a mov r2, r3 808f1cc: 4b79 ldr r3, [pc, #484] ; (808f3b4 ) 808f1ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f1d2: 461a mov r2, r3 808f1d4: 21ba movs r1, #186 ; 0xba 808f1d6: 20e6 movs r0, #230 ; 0xe6 808f1d8: f7c5 ffc2 bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808f1dc: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808f1e0: b2db uxtb r3, r3 808f1e2: 461a mov r2, r3 808f1e4: 4b73 ldr r3, [pc, #460] ; (808f3b4 ) 808f1e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f1ea: 461a mov r2, r3 808f1ec: 21ba movs r1, #186 ; 0xba 808f1ee: 20f6 movs r0, #246 ; 0xf6 808f1f0: f7c5 ffb6 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 808f1f4: 4a71 ldr r2, [pc, #452] ; (808f3bc ) 808f1f6: 21ba movs r1, #186 ; 0xba 808f1f8: f44f 708b mov.w r0, #278 ; 0x116 808f1fc: f7c5 ffb0 bl 8055160 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808f200: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808f204: b2db uxtb r3, r3 808f206: 461a mov r2, r3 808f208: 4b6a ldr r3, [pc, #424] ; (808f3b4 ) 808f20a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f20e: 461a mov r2, r3 808f210: 21ba movs r1, #186 ; 0xba 808f212: f44f 7093 mov.w r0, #294 ; 0x126 808f216: f7c5 ffa3 bl 8055160 808f21a: e2cb b.n 808f7b4 } else if(menupos == OscThr_IKD) 808f21c: 4b62 ldr r3, [pc, #392] ; (808f3a8 ) 808f21e: 781b ldrb r3, [r3, #0] 808f220: b2db uxtb r3, r3 808f222: 2b0e cmp r3, #14 808f224: d15d bne.n 808f2e2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f226: 4961 ldr r1, [pc, #388] ; (808f3ac ) 808f228: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f22c: f7c5 f9f0 bl 8054610 if(blk) 808f230: 4b5f ldr r3, [pc, #380] ; (808f3b0 ) 808f232: 681b ldr r3, [r3, #0] 808f234: 2b00 cmp r3, #0 808f236: d00c beq.n 808f252 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808f238: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808f23c: b2db uxtb r3, r3 808f23e: 461a mov r2, r3 808f240: 4b5c ldr r3, [pc, #368] ; (808f3b4 ) 808f242: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f246: 461a mov r2, r3 808f248: 21ba movs r1, #186 ; 0xba 808f24a: f44f 7093 mov.w r0, #294 ; 0x126 808f24e: f7c5 ff87 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f252: 4956 ldr r1, [pc, #344] ; (808f3ac ) 808f254: 4858 ldr r0, [pc, #352] ; (808f3b8 ) 808f256: f7c5 f9db bl 8054610 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808f25a: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f25e: b2db uxtb r3, r3 808f260: 461a mov r2, r3 808f262: 4b54 ldr r3, [pc, #336] ; (808f3b4 ) 808f264: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f268: 461a mov r2, r3 808f26a: 21ba movs r1, #186 ; 0xba 808f26c: 20c6 movs r0, #198 ; 0xc6 808f26e: f7c5 ff77 bl 8055160 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808f272: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808f276: b2db uxtb r3, r3 808f278: 461a mov r2, r3 808f27a: 4b4e ldr r3, [pc, #312] ; (808f3b4 ) 808f27c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f280: 461a mov r2, r3 808f282: 21ba movs r1, #186 ; 0xba 808f284: 20d6 movs r0, #214 ; 0xd6 808f286: f7c5 ff6b bl 8055160 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808f28a: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808f28e: b2db uxtb r3, r3 808f290: 461a mov r2, r3 808f292: 4b48 ldr r3, [pc, #288] ; (808f3b4 ) 808f294: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f298: 461a mov r2, r3 808f29a: 21ba movs r1, #186 ; 0xba 808f29c: 20e6 movs r0, #230 ; 0xe6 808f29e: f7c5 ff5f bl 8055160 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808f2a2: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808f2a6: b2db uxtb r3, r3 808f2a8: 461a mov r2, r3 808f2aa: 4b42 ldr r3, [pc, #264] ; (808f3b4 ) 808f2ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f2b0: 461a mov r2, r3 808f2b2: 21ba movs r1, #186 ; 0xba 808f2b4: 20f6 movs r0, #246 ; 0xf6 808f2b6: f7c5 ff53 bl 8055160 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808f2ba: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808f2be: b2db uxtb r3, r3 808f2c0: 461a mov r2, r3 808f2c2: 4b3c ldr r3, [pc, #240] ; (808f3b4 ) 808f2c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f2c8: 461a mov r2, r3 808f2ca: 21ba movs r1, #186 ; 0xba 808f2cc: f44f 7083 mov.w r0, #262 ; 0x106 808f2d0: f7c5 ff46 bl 8055160 LCD_DisplayString(278, LCD_LINE_11, "."); 808f2d4: 4a39 ldr r2, [pc, #228] ; (808f3bc ) 808f2d6: 21ba movs r1, #186 ; 0xba 808f2d8: f44f 708b mov.w r0, #278 ; 0x116 808f2dc: f7c5 ff40 bl 8055160 808f2e0: e268 b.n 808f7b4 } else if(menupos == OscMax_IDT) 808f2e2: 4b31 ldr r3, [pc, #196] ; (808f3a8 ) 808f2e4: 781b ldrb r3, [r3, #0] 808f2e6: b2db uxtb r3, r3 808f2e8: 2b0f cmp r3, #15 808f2ea: d169 bne.n 808f3c0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f2ec: 492f ldr r1, [pc, #188] ; (808f3ac ) 808f2ee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f2f2: f7c5 f98d bl 8054610 if(blk) 808f2f6: 4b2e ldr r3, [pc, #184] ; (808f3b0 ) 808f2f8: 681b ldr r3, [r3, #0] 808f2fa: 2b00 cmp r3, #0 808f2fc: d00b beq.n 808f316 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808f2fe: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f302: b2db uxtb r3, r3 808f304: 461a mov r2, r3 808f306: 4b2b ldr r3, [pc, #172] ; (808f3b4 ) 808f308: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f30c: 461a mov r2, r3 808f30e: 219a movs r1, #154 ; 0x9a 808f310: 20c6 movs r0, #198 ; 0xc6 808f312: f7c5 ff25 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f316: 4925 ldr r1, [pc, #148] ; (808f3ac ) 808f318: 4827 ldr r0, [pc, #156] ; (808f3b8 ) 808f31a: f7c5 f979 bl 8054610 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808f31e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808f322: b2db uxtb r3, r3 808f324: 461a mov r2, r3 808f326: 4b23 ldr r3, [pc, #140] ; (808f3b4 ) 808f328: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f32c: 461a mov r2, r3 808f32e: 219a movs r1, #154 ; 0x9a 808f330: 20d6 movs r0, #214 ; 0xd6 808f332: f7c5 ff15 bl 8055160 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808f336: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808f33a: b2db uxtb r3, r3 808f33c: 461a mov r2, r3 808f33e: 4b1d ldr r3, [pc, #116] ; (808f3b4 ) 808f340: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f344: 461a mov r2, r3 808f346: 219a movs r1, #154 ; 0x9a 808f348: 20e6 movs r0, #230 ; 0xe6 808f34a: f7c5 ff09 bl 8055160 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808f34e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808f352: b2db uxtb r3, r3 808f354: 461a mov r2, r3 808f356: 4b17 ldr r3, [pc, #92] ; (808f3b4 ) 808f358: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f35c: 461a mov r2, r3 808f35e: 219a movs r1, #154 ; 0x9a 808f360: 20f6 movs r0, #246 ; 0xf6 808f362: f7c5 fefd bl 8055160 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808f366: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808f36a: b2db uxtb r3, r3 808f36c: 461a mov r2, r3 808f36e: 4b11 ldr r3, [pc, #68] ; (808f3b4 ) 808f370: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f374: 461a mov r2, r3 808f376: 219a movs r1, #154 ; 0x9a 808f378: f44f 7083 mov.w r0, #262 ; 0x106 808f37c: f7c5 fef0 bl 8055160 LCD_DisplayString(278, LCD_LINE_9, "."); 808f380: 4a0e ldr r2, [pc, #56] ; (808f3bc ) 808f382: 219a movs r1, #154 ; 0x9a 808f384: f44f 708b mov.w r0, #278 ; 0x116 808f388: f7c5 feea bl 8055160 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808f38c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808f390: b2db uxtb r3, r3 808f392: 461a mov r2, r3 808f394: 4b07 ldr r3, [pc, #28] ; (808f3b4 ) 808f396: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f39a: 461a mov r2, r3 808f39c: 219a movs r1, #154 ; 0x9a 808f39e: f44f 7093 mov.w r0, #294 ; 0x126 808f3a2: f7c5 fedd bl 8055160 808f3a6: e205 b.n 808f7b4 808f3a8: 20020070 .word 0x20020070 808f3ac: ff0a0f1f .word 0xff0a0f1f 808f3b0: 200216a4 .word 0x200216a4 808f3b4: 2002096c .word 0x2002096c 808f3b8: ffd8aa57 .word 0xffd8aa57 808f3bc: 080d3b58 .word 0x080d3b58 } else if(menupos == OscMax_IET) 808f3c0: 4bc5 ldr r3, [pc, #788] ; (808f6d8 ) 808f3c2: 781b ldrb r3, [r3, #0] 808f3c4: b2db uxtb r3, r3 808f3c6: 2b10 cmp r3, #16 808f3c8: d15d bne.n 808f486 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f3ca: 49c4 ldr r1, [pc, #784] ; (808f6dc ) 808f3cc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f3d0: f7c5 f91e bl 8054610 if(blk) 808f3d4: 4bc2 ldr r3, [pc, #776] ; (808f6e0 ) 808f3d6: 681b ldr r3, [r3, #0] 808f3d8: 2b00 cmp r3, #0 808f3da: d00b beq.n 808f3f4 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808f3dc: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808f3e0: b2db uxtb r3, r3 808f3e2: 461a mov r2, r3 808f3e4: 4bbf ldr r3, [pc, #764] ; (808f6e4 ) 808f3e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f3ea: 461a mov r2, r3 808f3ec: 219a movs r1, #154 ; 0x9a 808f3ee: 20d6 movs r0, #214 ; 0xd6 808f3f0: f7c5 feb6 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f3f4: 49b9 ldr r1, [pc, #740] ; (808f6dc ) 808f3f6: 48bc ldr r0, [pc, #752] ; (808f6e8 ) 808f3f8: f7c5 f90a bl 8054610 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808f3fc: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f400: b2db uxtb r3, r3 808f402: 461a mov r2, r3 808f404: 4bb7 ldr r3, [pc, #732] ; (808f6e4 ) 808f406: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f40a: 461a mov r2, r3 808f40c: 219a movs r1, #154 ; 0x9a 808f40e: 20c6 movs r0, #198 ; 0xc6 808f410: f7c5 fea6 bl 8055160 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808f414: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808f418: b2db uxtb r3, r3 808f41a: 461a mov r2, r3 808f41c: 4bb1 ldr r3, [pc, #708] ; (808f6e4 ) 808f41e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f422: 461a mov r2, r3 808f424: 219a movs r1, #154 ; 0x9a 808f426: 20e6 movs r0, #230 ; 0xe6 808f428: f7c5 fe9a bl 8055160 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808f42c: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808f430: b2db uxtb r3, r3 808f432: 461a mov r2, r3 808f434: 4bab ldr r3, [pc, #684] ; (808f6e4 ) 808f436: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f43a: 461a mov r2, r3 808f43c: 219a movs r1, #154 ; 0x9a 808f43e: 20f6 movs r0, #246 ; 0xf6 808f440: f7c5 fe8e bl 8055160 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808f444: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808f448: b2db uxtb r3, r3 808f44a: 461a mov r2, r3 808f44c: 4ba5 ldr r3, [pc, #660] ; (808f6e4 ) 808f44e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f452: 461a mov r2, r3 808f454: 219a movs r1, #154 ; 0x9a 808f456: f44f 7083 mov.w r0, #262 ; 0x106 808f45a: f7c5 fe81 bl 8055160 LCD_DisplayString(278, LCD_LINE_9, "."); 808f45e: 4aa3 ldr r2, [pc, #652] ; (808f6ec ) 808f460: 219a movs r1, #154 ; 0x9a 808f462: f44f 708b mov.w r0, #278 ; 0x116 808f466: f7c5 fe7b bl 8055160 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808f46a: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808f46e: b2db uxtb r3, r3 808f470: 461a mov r2, r3 808f472: 4b9c ldr r3, [pc, #624] ; (808f6e4 ) 808f474: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f478: 461a mov r2, r3 808f47a: 219a movs r1, #154 ; 0x9a 808f47c: f44f 7093 mov.w r0, #294 ; 0x126 808f480: f7c5 fe6e bl 8055160 808f484: e196 b.n 808f7b4 } else if(menupos == OscMax_IES) 808f486: 4b94 ldr r3, [pc, #592] ; (808f6d8 ) 808f488: 781b ldrb r3, [r3, #0] 808f48a: b2db uxtb r3, r3 808f48c: 2b11 cmp r3, #17 808f48e: d15d bne.n 808f54c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f490: 4992 ldr r1, [pc, #584] ; (808f6dc ) 808f492: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f496: f7c5 f8bb bl 8054610 if(blk) 808f49a: 4b91 ldr r3, [pc, #580] ; (808f6e0 ) 808f49c: 681b ldr r3, [r3, #0] 808f49e: 2b00 cmp r3, #0 808f4a0: d00b beq.n 808f4ba LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808f4a2: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808f4a6: b2db uxtb r3, r3 808f4a8: 461a mov r2, r3 808f4aa: 4b8e ldr r3, [pc, #568] ; (808f6e4 ) 808f4ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f4b0: 461a mov r2, r3 808f4b2: 219a movs r1, #154 ; 0x9a 808f4b4: 20e6 movs r0, #230 ; 0xe6 808f4b6: f7c5 fe53 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f4ba: 4988 ldr r1, [pc, #544] ; (808f6dc ) 808f4bc: 488a ldr r0, [pc, #552] ; (808f6e8 ) 808f4be: f7c5 f8a7 bl 8054610 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808f4c2: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f4c6: b2db uxtb r3, r3 808f4c8: 461a mov r2, r3 808f4ca: 4b86 ldr r3, [pc, #536] ; (808f6e4 ) 808f4cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f4d0: 461a mov r2, r3 808f4d2: 219a movs r1, #154 ; 0x9a 808f4d4: 20c6 movs r0, #198 ; 0xc6 808f4d6: f7c5 fe43 bl 8055160 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808f4da: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808f4de: b2db uxtb r3, r3 808f4e0: 461a mov r2, r3 808f4e2: 4b80 ldr r3, [pc, #512] ; (808f6e4 ) 808f4e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f4e8: 461a mov r2, r3 808f4ea: 219a movs r1, #154 ; 0x9a 808f4ec: 20d6 movs r0, #214 ; 0xd6 808f4ee: f7c5 fe37 bl 8055160 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808f4f2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808f4f6: b2db uxtb r3, r3 808f4f8: 461a mov r2, r3 808f4fa: 4b7a ldr r3, [pc, #488] ; (808f6e4 ) 808f4fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f500: 461a mov r2, r3 808f502: 219a movs r1, #154 ; 0x9a 808f504: 20f6 movs r0, #246 ; 0xf6 808f506: f7c5 fe2b bl 8055160 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808f50a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808f50e: b2db uxtb r3, r3 808f510: 461a mov r2, r3 808f512: 4b74 ldr r3, [pc, #464] ; (808f6e4 ) 808f514: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f518: 461a mov r2, r3 808f51a: 219a movs r1, #154 ; 0x9a 808f51c: f44f 7083 mov.w r0, #262 ; 0x106 808f520: f7c5 fe1e bl 8055160 LCD_DisplayString(278, LCD_LINE_9, "."); 808f524: 4a71 ldr r2, [pc, #452] ; (808f6ec ) 808f526: 219a movs r1, #154 ; 0x9a 808f528: f44f 708b mov.w r0, #278 ; 0x116 808f52c: f7c5 fe18 bl 8055160 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808f530: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808f534: b2db uxtb r3, r3 808f536: 461a mov r2, r3 808f538: 4b6a ldr r3, [pc, #424] ; (808f6e4 ) 808f53a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f53e: 461a mov r2, r3 808f540: 219a movs r1, #154 ; 0x9a 808f542: f44f 7093 mov.w r0, #294 ; 0x126 808f546: f7c5 fe0b bl 8055160 808f54a: e133 b.n 808f7b4 } else if(menupos == OscMax_IED) 808f54c: 4b62 ldr r3, [pc, #392] ; (808f6d8 ) 808f54e: 781b ldrb r3, [r3, #0] 808f550: b2db uxtb r3, r3 808f552: 2b12 cmp r3, #18 808f554: d15d bne.n 808f612 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f556: 4961 ldr r1, [pc, #388] ; (808f6dc ) 808f558: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f55c: f7c5 f858 bl 8054610 if(blk) 808f560: 4b5f ldr r3, [pc, #380] ; (808f6e0 ) 808f562: 681b ldr r3, [r3, #0] 808f564: 2b00 cmp r3, #0 808f566: d00b beq.n 808f580 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808f568: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808f56c: b2db uxtb r3, r3 808f56e: 461a mov r2, r3 808f570: 4b5c ldr r3, [pc, #368] ; (808f6e4 ) 808f572: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f576: 461a mov r2, r3 808f578: 219a movs r1, #154 ; 0x9a 808f57a: 20f6 movs r0, #246 ; 0xf6 808f57c: f7c5 fdf0 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f580: 4956 ldr r1, [pc, #344] ; (808f6dc ) 808f582: 4859 ldr r0, [pc, #356] ; (808f6e8 ) 808f584: f7c5 f844 bl 8054610 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808f588: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f58c: b2db uxtb r3, r3 808f58e: 461a mov r2, r3 808f590: 4b54 ldr r3, [pc, #336] ; (808f6e4 ) 808f592: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f596: 461a mov r2, r3 808f598: 219a movs r1, #154 ; 0x9a 808f59a: 20c6 movs r0, #198 ; 0xc6 808f59c: f7c5 fde0 bl 8055160 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808f5a0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808f5a4: b2db uxtb r3, r3 808f5a6: 461a mov r2, r3 808f5a8: 4b4e ldr r3, [pc, #312] ; (808f6e4 ) 808f5aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f5ae: 461a mov r2, r3 808f5b0: 219a movs r1, #154 ; 0x9a 808f5b2: 20d6 movs r0, #214 ; 0xd6 808f5b4: f7c5 fdd4 bl 8055160 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808f5b8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808f5bc: b2db uxtb r3, r3 808f5be: 461a mov r2, r3 808f5c0: 4b48 ldr r3, [pc, #288] ; (808f6e4 ) 808f5c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f5c6: 461a mov r2, r3 808f5c8: 219a movs r1, #154 ; 0x9a 808f5ca: 20e6 movs r0, #230 ; 0xe6 808f5cc: f7c5 fdc8 bl 8055160 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808f5d0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808f5d4: b2db uxtb r3, r3 808f5d6: 461a mov r2, r3 808f5d8: 4b42 ldr r3, [pc, #264] ; (808f6e4 ) 808f5da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f5de: 461a mov r2, r3 808f5e0: 219a movs r1, #154 ; 0x9a 808f5e2: f44f 7083 mov.w r0, #262 ; 0x106 808f5e6: f7c5 fdbb bl 8055160 LCD_DisplayString(278, LCD_LINE_9, "."); 808f5ea: 4a40 ldr r2, [pc, #256] ; (808f6ec ) 808f5ec: 219a movs r1, #154 ; 0x9a 808f5ee: f44f 708b mov.w r0, #278 ; 0x116 808f5f2: f7c5 fdb5 bl 8055160 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808f5f6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808f5fa: b2db uxtb r3, r3 808f5fc: 461a mov r2, r3 808f5fe: 4b39 ldr r3, [pc, #228] ; (808f6e4 ) 808f600: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f604: 461a mov r2, r3 808f606: 219a movs r1, #154 ; 0x9a 808f608: f44f 7093 mov.w r0, #294 ; 0x126 808f60c: f7c5 fda8 bl 8055160 808f610: e0d0 b.n 808f7b4 } else if(menupos == OscMax_IEE) 808f612: 4b31 ldr r3, [pc, #196] ; (808f6d8 ) 808f614: 781b ldrb r3, [r3, #0] 808f616: b2db uxtb r3, r3 808f618: 2b13 cmp r3, #19 808f61a: d169 bne.n 808f6f0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f61c: 492f ldr r1, [pc, #188] ; (808f6dc ) 808f61e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f622: f7c4 fff5 bl 8054610 if(blk) 808f626: 4b2e ldr r3, [pc, #184] ; (808f6e0 ) 808f628: 681b ldr r3, [r3, #0] 808f62a: 2b00 cmp r3, #0 808f62c: d00c beq.n 808f648 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808f62e: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808f632: b2db uxtb r3, r3 808f634: 461a mov r2, r3 808f636: 4b2b ldr r3, [pc, #172] ; (808f6e4 ) 808f638: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f63c: 461a mov r2, r3 808f63e: 219a movs r1, #154 ; 0x9a 808f640: f44f 7083 mov.w r0, #262 ; 0x106 808f644: f7c5 fd8c bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f648: 4924 ldr r1, [pc, #144] ; (808f6dc ) 808f64a: 4827 ldr r0, [pc, #156] ; (808f6e8 ) 808f64c: f7c4 ffe0 bl 8054610 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808f650: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f654: b2db uxtb r3, r3 808f656: 461a mov r2, r3 808f658: 4b22 ldr r3, [pc, #136] ; (808f6e4 ) 808f65a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f65e: 461a mov r2, r3 808f660: 219a movs r1, #154 ; 0x9a 808f662: 20c6 movs r0, #198 ; 0xc6 808f664: f7c5 fd7c bl 8055160 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808f668: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808f66c: b2db uxtb r3, r3 808f66e: 461a mov r2, r3 808f670: 4b1c ldr r3, [pc, #112] ; (808f6e4 ) 808f672: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f676: 461a mov r2, r3 808f678: 219a movs r1, #154 ; 0x9a 808f67a: 20d6 movs r0, #214 ; 0xd6 808f67c: f7c5 fd70 bl 8055160 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808f680: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808f684: b2db uxtb r3, r3 808f686: 461a mov r2, r3 808f688: 4b16 ldr r3, [pc, #88] ; (808f6e4 ) 808f68a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f68e: 461a mov r2, r3 808f690: 219a movs r1, #154 ; 0x9a 808f692: 20e6 movs r0, #230 ; 0xe6 808f694: f7c5 fd64 bl 8055160 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808f698: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808f69c: b2db uxtb r3, r3 808f69e: 461a mov r2, r3 808f6a0: 4b10 ldr r3, [pc, #64] ; (808f6e4 ) 808f6a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f6a6: 461a mov r2, r3 808f6a8: 219a movs r1, #154 ; 0x9a 808f6aa: 20f6 movs r0, #246 ; 0xf6 808f6ac: f7c5 fd58 bl 8055160 LCD_DisplayString(278, LCD_LINE_9, "."); 808f6b0: 4a0e ldr r2, [pc, #56] ; (808f6ec ) 808f6b2: 219a movs r1, #154 ; 0x9a 808f6b4: f44f 708b mov.w r0, #278 ; 0x116 808f6b8: f7c5 fd52 bl 8055160 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808f6bc: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808f6c0: b2db uxtb r3, r3 808f6c2: 461a mov r2, r3 808f6c4: 4b07 ldr r3, [pc, #28] ; (808f6e4 ) 808f6c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f6ca: 461a mov r2, r3 808f6cc: 219a movs r1, #154 ; 0x9a 808f6ce: f44f 7093 mov.w r0, #294 ; 0x126 808f6d2: f7c5 fd45 bl 8055160 808f6d6: e06d b.n 808f7b4 808f6d8: 20020070 .word 0x20020070 808f6dc: ff0a0f1f .word 0xff0a0f1f 808f6e0: 200216a4 .word 0x200216a4 808f6e4: 2002096c .word 0x2002096c 808f6e8: ffd8aa57 .word 0xffd8aa57 808f6ec: 080d3b58 .word 0x080d3b58 } else if(menupos == OscMax_IKD) 808f6f0: 4b8e ldr r3, [pc, #568] ; (808f92c ) 808f6f2: 781b ldrb r3, [r3, #0] 808f6f4: b2db uxtb r3, r3 808f6f6: 2b14 cmp r3, #20 808f6f8: d15c bne.n 808f7b4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f6fa: 498d ldr r1, [pc, #564] ; (808f930 ) 808f6fc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f700: f7c4 ff86 bl 8054610 if(blk) 808f704: 4b8b ldr r3, [pc, #556] ; (808f934 ) 808f706: 681b ldr r3, [r3, #0] 808f708: 2b00 cmp r3, #0 808f70a: d00c beq.n 808f726 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808f70c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808f710: b2db uxtb r3, r3 808f712: 461a mov r2, r3 808f714: 4b88 ldr r3, [pc, #544] ; (808f938 ) 808f716: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f71a: 461a mov r2, r3 808f71c: 219a movs r1, #154 ; 0x9a 808f71e: f44f 7093 mov.w r0, #294 ; 0x126 808f722: f7c5 fd1d bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f726: 4982 ldr r1, [pc, #520] ; (808f930 ) 808f728: 4884 ldr r0, [pc, #528] ; (808f93c ) 808f72a: f7c4 ff71 bl 8054610 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808f72e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f732: b2db uxtb r3, r3 808f734: 461a mov r2, r3 808f736: 4b80 ldr r3, [pc, #512] ; (808f938 ) 808f738: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f73c: 461a mov r2, r3 808f73e: 219a movs r1, #154 ; 0x9a 808f740: 20c6 movs r0, #198 ; 0xc6 808f742: f7c5 fd0d bl 8055160 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808f746: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808f74a: b2db uxtb r3, r3 808f74c: 461a mov r2, r3 808f74e: 4b7a ldr r3, [pc, #488] ; (808f938 ) 808f750: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f754: 461a mov r2, r3 808f756: 219a movs r1, #154 ; 0x9a 808f758: 20d6 movs r0, #214 ; 0xd6 808f75a: f7c5 fd01 bl 8055160 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808f75e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808f762: b2db uxtb r3, r3 808f764: 461a mov r2, r3 808f766: 4b74 ldr r3, [pc, #464] ; (808f938 ) 808f768: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f76c: 461a mov r2, r3 808f76e: 219a movs r1, #154 ; 0x9a 808f770: 20e6 movs r0, #230 ; 0xe6 808f772: f7c5 fcf5 bl 8055160 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808f776: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808f77a: b2db uxtb r3, r3 808f77c: 461a mov r2, r3 808f77e: 4b6e ldr r3, [pc, #440] ; (808f938 ) 808f780: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f784: 461a mov r2, r3 808f786: 219a movs r1, #154 ; 0x9a 808f788: 20f6 movs r0, #246 ; 0xf6 808f78a: f7c5 fce9 bl 8055160 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808f78e: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808f792: b2db uxtb r3, r3 808f794: 461a mov r2, r3 808f796: 4b68 ldr r3, [pc, #416] ; (808f938 ) 808f798: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f79c: 461a mov r2, r3 808f79e: 219a movs r1, #154 ; 0x9a 808f7a0: f44f 7083 mov.w r0, #262 ; 0x106 808f7a4: f7c5 fcdc bl 8055160 LCD_DisplayString(278, LCD_LINE_9, "."); 808f7a8: 4a65 ldr r2, [pc, #404] ; (808f940 ) 808f7aa: 219a movs r1, #154 ; 0x9a 808f7ac: f44f 708b mov.w r0, #278 ; 0x116 808f7b0: f7c5 fcd6 bl 8055160 } if((menupos < OscThr_IDT) || (menupos > OscThr_IKD)) 808f7b4: 4b5d ldr r3, [pc, #372] ; (808f92c ) 808f7b6: 781b ldrb r3, [r3, #0] 808f7b8: b2db uxtb r3, r3 808f7ba: 2b08 cmp r3, #8 808f7bc: d905 bls.n 808f7ca 808f7be: 4b5b ldr r3, [pc, #364] ; (808f92c ) 808f7c0: 781b ldrb r3, [r3, #0] 808f7c2: b2db uxtb r3, r3 808f7c4: 2b0e cmp r3, #14 808f7c6: f240 80ce bls.w 808f966 { i = 0; 808f7ca: 2300 movs r3, #0 808f7cc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 808f7d0: f507 733b add.w r3, r7, #748 ; 0x2ec 808f7d4: 223c movs r2, #60 ; 0x3c 808f7d6: 2100 movs r1, #0 808f7d8: 4618 mov r0, r3 808f7da: f041 fde1 bl 80d13a0 if(idt != 0) 808f7de: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f7e2: b2db uxtb r3, r3 808f7e4: 2b00 cmp r3, #0 808f7e6: d00c beq.n 808f802 str[i++] = idt + 48; 808f7e8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f7ec: 1c5a adds r2, r3, #1 808f7ee: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f7f2: f897 23e7 ldrb.w r2, [r7, #999] ; 0x3e7 808f7f6: b2d2 uxtb r2, r2 808f7f8: 3230 adds r2, #48 ; 0x30 808f7fa: b2d1 uxtb r1, r2 808f7fc: f507 723b add.w r2, r7, #748 ; 0x2ec 808f800: 54d1 strb r1, [r2, r3] if((iet != 0) || (idt != 0)) 808f802: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808f806: b2db uxtb r3, r3 808f808: 2b00 cmp r3, #0 808f80a: d104 bne.n 808f816 808f80c: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f810: b2db uxtb r3, r3 808f812: 2b00 cmp r3, #0 808f814: d00c beq.n 808f830 str[i++] = iet + 48; 808f816: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f81a: 1c5a adds r2, r3, #1 808f81c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f820: f897 23e6 ldrb.w r2, [r7, #998] ; 0x3e6 808f824: b2d2 uxtb r2, r2 808f826: 3230 adds r2, #48 ; 0x30 808f828: b2d1 uxtb r1, r2 808f82a: f507 723b add.w r2, r7, #748 ; 0x2ec 808f82e: 54d1 strb r1, [r2, r3] if((ies != 0) || (iet != 0) || (idt != 0)) 808f830: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808f834: b2db uxtb r3, r3 808f836: 2b00 cmp r3, #0 808f838: d109 bne.n 808f84e 808f83a: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808f83e: b2db uxtb r3, r3 808f840: 2b00 cmp r3, #0 808f842: d104 bne.n 808f84e 808f844: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f848: b2db uxtb r3, r3 808f84a: 2b00 cmp r3, #0 808f84c: d00c beq.n 808f868 str[i++] = ies + 48; 808f84e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f852: 1c5a adds r2, r3, #1 808f854: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f858: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 808f85c: b2d2 uxtb r2, r2 808f85e: 3230 adds r2, #48 ; 0x30 808f860: b2d1 uxtb r1, r2 808f862: f507 723b add.w r2, r7, #748 ; 0x2ec 808f866: 54d1 strb r1, [r2, r3] if((ied != 0) || (ies != 0) || (iet != 0) || (idt != 0)) 808f868: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808f86c: b2db uxtb r3, r3 808f86e: 2b00 cmp r3, #0 808f870: d10e bne.n 808f890 808f872: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808f876: b2db uxtb r3, r3 808f878: 2b00 cmp r3, #0 808f87a: d109 bne.n 808f890 808f87c: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808f880: b2db uxtb r3, r3 808f882: 2b00 cmp r3, #0 808f884: d104 bne.n 808f890 808f886: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f88a: b2db uxtb r3, r3 808f88c: 2b00 cmp r3, #0 808f88e: d00c beq.n 808f8aa str[i++] = ied + 48; 808f890: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f894: 1c5a adds r2, r3, #1 808f896: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f89a: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 808f89e: b2d2 uxtb r2, r2 808f8a0: 3230 adds r2, #48 ; 0x30 808f8a2: b2d1 uxtb r1, r2 808f8a4: f507 723b add.w r2, r7, #748 ; 0x2ec 808f8a8: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 808f8aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f8ae: 1c5a adds r2, r3, #1 808f8b0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f8b4: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 808f8b8: b2d2 uxtb r2, r2 808f8ba: 3230 adds r2, #48 ; 0x30 808f8bc: b2d1 uxtb r1, r2 808f8be: f507 723b add.w r2, r7, #748 ; 0x2ec 808f8c2: 54d1 strb r1, [r2, r3] str[i++] = '.'; 808f8c4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f8c8: 1c5a adds r2, r3, #1 808f8ca: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f8ce: f507 723b add.w r2, r7, #748 ; 0x2ec 808f8d2: 212e movs r1, #46 ; 0x2e 808f8d4: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 808f8d6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f8da: 1c5a adds r2, r3, #1 808f8dc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f8e0: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 808f8e4: b2d2 uxtb r2, r2 808f8e6: 3230 adds r2, #48 ; 0x30 808f8e8: b2d1 uxtb r1, r2 808f8ea: f507 723b add.w r2, r7, #748 ; 0x2ec 808f8ee: 54d1 strb r1, [r2, r3] if((pardata.THR & 0x80) && (pardata.IPR == ACC)) 808f8f0: 4b14 ldr r3, [pc, #80] ; (808f944 ) 808f8f2: 7bdb ldrb r3, [r3, #15] 808f8f4: b2db uxtb r3, r3 808f8f6: b25b sxtb r3, r3 808f8f8: 2b00 cmp r3, #0 808f8fa: da08 bge.n 808f90e 808f8fc: 4b11 ldr r3, [pc, #68] ; (808f944 ) 808f8fe: 785b ldrb r3, [r3, #1] 808f900: b2db uxtb r3, r3 808f902: 2b00 cmp r3, #0 808f904: d103 bne.n 808f90e cl2 = LCD_COLOR_MY_YELLOW; 808f906: 4b0d ldr r3, [pc, #52] ; (808f93c ) 808f908: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808f90c: e002 b.n 808f914 else cl2 = LCD_COLOR_GRAY; 808f90e: 4b0e ldr r3, [pc, #56] ; (808f948 ) 808f910: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == OscThr_ALL) 808f914: 4b05 ldr r3, [pc, #20] ; (808f92c ) 808f916: 781b ldrb r3, [r3, #0] 808f918: b2db uxtb r3, r3 808f91a: 2b08 cmp r3, #8 808f91c: d116 bne.n 808f94c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f91e: 4904 ldr r1, [pc, #16] ; (808f930 ) 808f920: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f924: f7c4 fe74 bl 8054610 808f928: e015 b.n 808f956 808f92a: bf00 nop 808f92c: 20020070 .word 0x20020070 808f930: ff0a0f1f .word 0xff0a0f1f 808f934: 200216a4 .word 0x200216a4 808f938: 2002096c .word 0x2002096c 808f93c: ffd8aa57 .word 0xffd8aa57 808f940: 080d3b58 .word 0x080d3b58 808f944: 20023ea8 .word 0x20023ea8 808f948: ff808080 .word 0xff808080 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808f94c: 49a4 ldr r1, [pc, #656] ; (808fbe0 ) 808f94e: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808f952: f7c4 fe5d bl 8054610 LCD_DisplayStringC(260, LCD_LINE_11, str); 808f956: f507 733b add.w r3, r7, #748 ; 0x2ec 808f95a: 461a mov r2, r3 808f95c: 21ba movs r1, #186 ; 0xba 808f95e: f44f 7082 mov.w r0, #260 ; 0x104 808f962: f7c5 fc15 bl 8055190 } if((menupos < OscMax_IDT) || (menupos == Ok) || (menupos >= FilterHP)) 808f966: 4b9f ldr r3, [pc, #636] ; (808fbe4 ) 808f968: 781b ldrb r3, [r3, #0] 808f96a: b2db uxtb r3, r3 808f96c: 2b0e cmp r3, #14 808f96e: d90a bls.n 808f986 808f970: 4b9c ldr r3, [pc, #624] ; (808fbe4 ) 808f972: 781b ldrb r3, [r3, #0] 808f974: b2db uxtb r3, r3 808f976: 2b00 cmp r3, #0 808f978: d005 beq.n 808f986 808f97a: 4b9a ldr r3, [pc, #616] ; (808fbe4 ) 808f97c: 781b ldrb r3, [r3, #0] 808f97e: b2db uxtb r3, r3 808f980: 2b16 cmp r3, #22 808f982: f240 80b9 bls.w 808faf8 { i = 0; 808f986: 2300 movs r3, #0 808f988: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808f98c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808f990: 223c movs r2, #60 ; 0x3c 808f992: 2100 movs r1, #0 808f994: 4618 mov r0, r3 808f996: f041 fd03 bl 80d13a0 if(idt2 != 0) 808f99a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f99e: b2db uxtb r3, r3 808f9a0: 2b00 cmp r3, #0 808f9a2: d00c beq.n 808f9be str2[i++] = idt2 + 48; 808f9a4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f9a8: 1c5a adds r2, r3, #1 808f9aa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f9ae: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 808f9b2: b2d2 uxtb r2, r2 808f9b4: 3230 adds r2, #48 ; 0x30 808f9b6: b2d1 uxtb r1, r2 808f9b8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808f9bc: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 808f9be: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808f9c2: b2db uxtb r3, r3 808f9c4: 2b00 cmp r3, #0 808f9c6: d104 bne.n 808f9d2 808f9c8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f9cc: b2db uxtb r3, r3 808f9ce: 2b00 cmp r3, #0 808f9d0: d00c beq.n 808f9ec str2[i++] = iet2 + 48; 808f9d2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f9d6: 1c5a adds r2, r3, #1 808f9d8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f9dc: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 808f9e0: b2d2 uxtb r2, r2 808f9e2: 3230 adds r2, #48 ; 0x30 808f9e4: b2d1 uxtb r1, r2 808f9e6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808f9ea: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808f9ec: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808f9f0: b2db uxtb r3, r3 808f9f2: 2b00 cmp r3, #0 808f9f4: d109 bne.n 808fa0a 808f9f6: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808f9fa: b2db uxtb r3, r3 808f9fc: 2b00 cmp r3, #0 808f9fe: d104 bne.n 808fa0a 808fa00: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808fa04: b2db uxtb r3, r3 808fa06: 2b00 cmp r3, #0 808fa08: d00c beq.n 808fa24 str2[i++] = ies2 + 48; 808fa0a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fa0e: 1c5a adds r2, r3, #1 808fa10: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fa14: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 808fa18: b2d2 uxtb r2, r2 808fa1a: 3230 adds r2, #48 ; 0x30 808fa1c: b2d1 uxtb r1, r2 808fa1e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808fa22: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808fa24: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808fa28: b2db uxtb r3, r3 808fa2a: 2b00 cmp r3, #0 808fa2c: d10e bne.n 808fa4c 808fa2e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808fa32: b2db uxtb r3, r3 808fa34: 2b00 cmp r3, #0 808fa36: d109 bne.n 808fa4c 808fa38: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808fa3c: b2db uxtb r3, r3 808fa3e: 2b00 cmp r3, #0 808fa40: d104 bne.n 808fa4c 808fa42: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808fa46: b2db uxtb r3, r3 808fa48: 2b00 cmp r3, #0 808fa4a: d00c beq.n 808fa66 str2[i++] = ied2 + 48; 808fa4c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fa50: 1c5a adds r2, r3, #1 808fa52: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fa56: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 808fa5a: b2d2 uxtb r2, r2 808fa5c: 3230 adds r2, #48 ; 0x30 808fa5e: b2d1 uxtb r1, r2 808fa60: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808fa64: 54d1 strb r1, [r2, r3] str2[i++] = iee2 + 48; 808fa66: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fa6a: 1c5a adds r2, r3, #1 808fa6c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fa70: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 808fa74: b2d2 uxtb r2, r2 808fa76: 3230 adds r2, #48 ; 0x30 808fa78: b2d1 uxtb r1, r2 808fa7a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808fa7e: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808fa80: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fa84: 1c5a adds r2, r3, #1 808fa86: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fa8a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808fa8e: 212e movs r1, #46 ; 0x2e 808fa90: 54d1 strb r1, [r2, r3] str2[i++] = ikd2 + 48; 808fa92: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fa96: 1c5a adds r2, r3, #1 808fa98: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fa9c: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 808faa0: b2d2 uxtb r2, r2 808faa2: 3230 adds r2, #48 ; 0x30 808faa4: b2d1 uxtb r1, r2 808faa6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808faaa: 54d1 strb r1, [r2, r3] if(pardata.OPTIONS & 0x4) 808faac: 4b4e ldr r3, [pc, #312] ; (808fbe8 ) 808faae: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808fab2: f003 0304 and.w r3, r3, #4 808fab6: 2b00 cmp r3, #0 808fab8: d003 beq.n 808fac2 cl2 = LCD_COLOR_GRAY; 808faba: 4b4c ldr r3, [pc, #304] ; (808fbec ) 808fabc: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808fac0: e002 b.n 808fac8 else cl2 = LCD_COLOR_MY_YELLOW; 808fac2: 4b4b ldr r3, [pc, #300] ; (808fbf0 ) 808fac4: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == OscMax_ALL) 808fac8: 4b46 ldr r3, [pc, #280] ; (808fbe4 ) 808faca: 781b ldrb r3, [r3, #0] 808facc: b2db uxtb r3, r3 808face: 2b06 cmp r3, #6 808fad0: d105 bne.n 808fade LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808fad2: 4943 ldr r1, [pc, #268] ; (808fbe0 ) 808fad4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808fad8: f7c4 fd9a bl 8054610 808fadc: e004 b.n 808fae8 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808fade: 4940 ldr r1, [pc, #256] ; (808fbe0 ) 808fae0: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808fae4: f7c4 fd94 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_9, str2); 808fae8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808faec: 461a mov r2, r3 808faee: 219a movs r1, #154 ; 0x9a 808faf0: f44f 7082 mov.w r0, #260 ; 0x104 808faf4: f7c5 fb4c bl 8055190 } if(pardata.THR & 0x80) // Åñëè ïîðîã åíåéáëåä // 808faf8: 4b3b ldr r3, [pc, #236] ; (808fbe8 ) 808fafa: 7bdb ldrb r3, [r3, #15] 808fafc: b2db uxtb r3, r3 808fafe: b25b sxtb r3, r3 808fb00: 2b00 cmp r3, #0 808fb02: da0a bge.n 808fb1a { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808fb04: 4936 ldr r1, [pc, #216] ; (808fbe0 ) 808fb06: 483b ldr r0, [pc, #236] ; (808fbf4 ) 808fb08: f7c4 fd82 bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 808fb0c: 2306 movs r3, #6 808fb0e: 2206 movs r2, #6 808fb10: 21af movs r1, #175 ; 0xaf 808fb12: f240 1001 movw r0, #257 ; 0x101 808fb16: f7c5 fa09 bl 8054f2c } if(menupos == FilterHP_IDT) 808fb1a: 4b32 ldr r3, [pc, #200] ; (808fbe4 ) 808fb1c: 781b ldrb r3, [r3, #0] 808fb1e: b2db uxtb r3, r3 808fb20: 2b19 cmp r3, #25 808fb22: d16f bne.n 808fc04 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808fb24: 492e ldr r1, [pc, #184] ; (808fbe0 ) 808fb26: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808fb2a: f7c4 fd71 bl 8054610 if(blk) 808fb2e: 4b32 ldr r3, [pc, #200] ; (808fbf8 ) 808fb30: 681b ldr r3, [r3, #0] 808fb32: 2b00 cmp r3, #0 808fb34: d00b beq.n 808fb4e LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808fb36: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808fb3a: b2db uxtb r3, r3 808fb3c: 461a mov r2, r3 808fb3e: 4b2f ldr r3, [pc, #188] ; (808fbfc ) 808fb40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fb44: 461a mov r2, r3 808fb46: 214a movs r1, #74 ; 0x4a 808fb48: 20c6 movs r0, #198 ; 0xc6 808fb4a: f7c5 fb09 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808fb4e: 4924 ldr r1, [pc, #144] ; (808fbe0 ) 808fb50: 4827 ldr r0, [pc, #156] ; (808fbf0 ) 808fb52: f7c4 fd5d bl 8054610 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808fb56: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808fb5a: b2db uxtb r3, r3 808fb5c: 461a mov r2, r3 808fb5e: 4b27 ldr r3, [pc, #156] ; (808fbfc ) 808fb60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fb64: 461a mov r2, r3 808fb66: 214a movs r1, #74 ; 0x4a 808fb68: 20d6 movs r0, #214 ; 0xd6 808fb6a: f7c5 faf9 bl 8055160 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808fb6e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808fb72: b2db uxtb r3, r3 808fb74: 461a mov r2, r3 808fb76: 4b21 ldr r3, [pc, #132] ; (808fbfc ) 808fb78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fb7c: 461a mov r2, r3 808fb7e: 214a movs r1, #74 ; 0x4a 808fb80: 20e6 movs r0, #230 ; 0xe6 808fb82: f7c5 faed bl 8055160 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808fb86: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808fb8a: b2db uxtb r3, r3 808fb8c: 461a mov r2, r3 808fb8e: 4b1b ldr r3, [pc, #108] ; (808fbfc ) 808fb90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fb94: 461a mov r2, r3 808fb96: 214a movs r1, #74 ; 0x4a 808fb98: 20f6 movs r0, #246 ; 0xf6 808fb9a: f7c5 fae1 bl 8055160 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808fb9e: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808fba2: b2db uxtb r3, r3 808fba4: 461a mov r2, r3 808fba6: 4b15 ldr r3, [pc, #84] ; (808fbfc ) 808fba8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fbac: 461a mov r2, r3 808fbae: 214a movs r1, #74 ; 0x4a 808fbb0: f44f 7083 mov.w r0, #262 ; 0x106 808fbb4: f7c5 fad4 bl 8055160 LCD_DisplayString(278, LCD_LINE_4, "."); 808fbb8: 4a11 ldr r2, [pc, #68] ; (808fc00 ) 808fbba: 214a movs r1, #74 ; 0x4a 808fbbc: f44f 708b mov.w r0, #278 ; 0x116 808fbc0: f7c5 face bl 8055160 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808fbc4: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808fbc8: b2db uxtb r3, r3 808fbca: 461a mov r2, r3 808fbcc: 4b0b ldr r3, [pc, #44] ; (808fbfc ) 808fbce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fbd2: 461a mov r2, r3 808fbd4: 214a movs r1, #74 ; 0x4a 808fbd6: f44f 7093 mov.w r0, #294 ; 0x126 808fbda: f7c5 fac1 bl 8055160 808fbde: e20b b.n 808fff8 808fbe0: ff0a0f1f .word 0xff0a0f1f 808fbe4: 20020070 .word 0x20020070 808fbe8: 20023ea8 .word 0x20023ea8 808fbec: ff808080 .word 0xff808080 808fbf0: ffd8aa57 .word 0xffd8aa57 808fbf4: ff404040 .word 0xff404040 808fbf8: 200216a4 .word 0x200216a4 808fbfc: 2002096c .word 0x2002096c 808fc00: 080d3b58 .word 0x080d3b58 } else if(menupos == FilterHP_IET) 808fc04: 4bc5 ldr r3, [pc, #788] ; (808ff1c ) 808fc06: 781b ldrb r3, [r3, #0] 808fc08: b2db uxtb r3, r3 808fc0a: 2b1a cmp r3, #26 808fc0c: d15d bne.n 808fcca { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808fc0e: 49c4 ldr r1, [pc, #784] ; (808ff20 ) 808fc10: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808fc14: f7c4 fcfc bl 8054610 if(blk) 808fc18: 4bc2 ldr r3, [pc, #776] ; (808ff24 ) 808fc1a: 681b ldr r3, [r3, #0] 808fc1c: 2b00 cmp r3, #0 808fc1e: d00b beq.n 808fc38 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808fc20: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808fc24: b2db uxtb r3, r3 808fc26: 461a mov r2, r3 808fc28: 4bbf ldr r3, [pc, #764] ; (808ff28 ) 808fc2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fc2e: 461a mov r2, r3 808fc30: 214a movs r1, #74 ; 0x4a 808fc32: 20d6 movs r0, #214 ; 0xd6 808fc34: f7c5 fa94 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808fc38: 49b9 ldr r1, [pc, #740] ; (808ff20 ) 808fc3a: 48bc ldr r0, [pc, #752] ; (808ff2c ) 808fc3c: f7c4 fce8 bl 8054610 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808fc40: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808fc44: b2db uxtb r3, r3 808fc46: 461a mov r2, r3 808fc48: 4bb7 ldr r3, [pc, #732] ; (808ff28 ) 808fc4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fc4e: 461a mov r2, r3 808fc50: 214a movs r1, #74 ; 0x4a 808fc52: 20c6 movs r0, #198 ; 0xc6 808fc54: f7c5 fa84 bl 8055160 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808fc58: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808fc5c: b2db uxtb r3, r3 808fc5e: 461a mov r2, r3 808fc60: 4bb1 ldr r3, [pc, #708] ; (808ff28 ) 808fc62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fc66: 461a mov r2, r3 808fc68: 214a movs r1, #74 ; 0x4a 808fc6a: 20e6 movs r0, #230 ; 0xe6 808fc6c: f7c5 fa78 bl 8055160 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808fc70: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808fc74: b2db uxtb r3, r3 808fc76: 461a mov r2, r3 808fc78: 4bab ldr r3, [pc, #684] ; (808ff28 ) 808fc7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fc7e: 461a mov r2, r3 808fc80: 214a movs r1, #74 ; 0x4a 808fc82: 20f6 movs r0, #246 ; 0xf6 808fc84: f7c5 fa6c bl 8055160 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808fc88: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808fc8c: b2db uxtb r3, r3 808fc8e: 461a mov r2, r3 808fc90: 4ba5 ldr r3, [pc, #660] ; (808ff28 ) 808fc92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fc96: 461a mov r2, r3 808fc98: 214a movs r1, #74 ; 0x4a 808fc9a: f44f 7083 mov.w r0, #262 ; 0x106 808fc9e: f7c5 fa5f bl 8055160 LCD_DisplayString(278, LCD_LINE_4, "."); 808fca2: 4aa3 ldr r2, [pc, #652] ; (808ff30 ) 808fca4: 214a movs r1, #74 ; 0x4a 808fca6: f44f 708b mov.w r0, #278 ; 0x116 808fcaa: f7c5 fa59 bl 8055160 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808fcae: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808fcb2: b2db uxtb r3, r3 808fcb4: 461a mov r2, r3 808fcb6: 4b9c ldr r3, [pc, #624] ; (808ff28 ) 808fcb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fcbc: 461a mov r2, r3 808fcbe: 214a movs r1, #74 ; 0x4a 808fcc0: f44f 7093 mov.w r0, #294 ; 0x126 808fcc4: f7c5 fa4c bl 8055160 808fcc8: e196 b.n 808fff8 } else if(menupos == FilterHP_IES) 808fcca: 4b94 ldr r3, [pc, #592] ; (808ff1c ) 808fccc: 781b ldrb r3, [r3, #0] 808fcce: b2db uxtb r3, r3 808fcd0: 2b1b cmp r3, #27 808fcd2: d15d bne.n 808fd90 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808fcd4: 4992 ldr r1, [pc, #584] ; (808ff20 ) 808fcd6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808fcda: f7c4 fc99 bl 8054610 if(blk) 808fcde: 4b91 ldr r3, [pc, #580] ; (808ff24 ) 808fce0: 681b ldr r3, [r3, #0] 808fce2: 2b00 cmp r3, #0 808fce4: d00b beq.n 808fcfe LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808fce6: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808fcea: b2db uxtb r3, r3 808fcec: 461a mov r2, r3 808fcee: 4b8e ldr r3, [pc, #568] ; (808ff28 ) 808fcf0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fcf4: 461a mov r2, r3 808fcf6: 214a movs r1, #74 ; 0x4a 808fcf8: 20e6 movs r0, #230 ; 0xe6 808fcfa: f7c5 fa31 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808fcfe: 4988 ldr r1, [pc, #544] ; (808ff20 ) 808fd00: 488a ldr r0, [pc, #552] ; (808ff2c ) 808fd02: f7c4 fc85 bl 8054610 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808fd06: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808fd0a: b2db uxtb r3, r3 808fd0c: 461a mov r2, r3 808fd0e: 4b86 ldr r3, [pc, #536] ; (808ff28 ) 808fd10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fd14: 461a mov r2, r3 808fd16: 214a movs r1, #74 ; 0x4a 808fd18: 20c6 movs r0, #198 ; 0xc6 808fd1a: f7c5 fa21 bl 8055160 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808fd1e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808fd22: b2db uxtb r3, r3 808fd24: 461a mov r2, r3 808fd26: 4b80 ldr r3, [pc, #512] ; (808ff28 ) 808fd28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fd2c: 461a mov r2, r3 808fd2e: 214a movs r1, #74 ; 0x4a 808fd30: 20d6 movs r0, #214 ; 0xd6 808fd32: f7c5 fa15 bl 8055160 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808fd36: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808fd3a: b2db uxtb r3, r3 808fd3c: 461a mov r2, r3 808fd3e: 4b7a ldr r3, [pc, #488] ; (808ff28 ) 808fd40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fd44: 461a mov r2, r3 808fd46: 214a movs r1, #74 ; 0x4a 808fd48: 20f6 movs r0, #246 ; 0xf6 808fd4a: f7c5 fa09 bl 8055160 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808fd4e: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808fd52: b2db uxtb r3, r3 808fd54: 461a mov r2, r3 808fd56: 4b74 ldr r3, [pc, #464] ; (808ff28 ) 808fd58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fd5c: 461a mov r2, r3 808fd5e: 214a movs r1, #74 ; 0x4a 808fd60: f44f 7083 mov.w r0, #262 ; 0x106 808fd64: f7c5 f9fc bl 8055160 LCD_DisplayString(278, LCD_LINE_4, "."); 808fd68: 4a71 ldr r2, [pc, #452] ; (808ff30 ) 808fd6a: 214a movs r1, #74 ; 0x4a 808fd6c: f44f 708b mov.w r0, #278 ; 0x116 808fd70: f7c5 f9f6 bl 8055160 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808fd74: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808fd78: b2db uxtb r3, r3 808fd7a: 461a mov r2, r3 808fd7c: 4b6a ldr r3, [pc, #424] ; (808ff28 ) 808fd7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fd82: 461a mov r2, r3 808fd84: 214a movs r1, #74 ; 0x4a 808fd86: f44f 7093 mov.w r0, #294 ; 0x126 808fd8a: f7c5 f9e9 bl 8055160 808fd8e: e133 b.n 808fff8 } else if(menupos == FilterHP_IED) 808fd90: 4b62 ldr r3, [pc, #392] ; (808ff1c ) 808fd92: 781b ldrb r3, [r3, #0] 808fd94: b2db uxtb r3, r3 808fd96: 2b1c cmp r3, #28 808fd98: d15d bne.n 808fe56 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808fd9a: 4961 ldr r1, [pc, #388] ; (808ff20 ) 808fd9c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808fda0: f7c4 fc36 bl 8054610 if(blk) 808fda4: 4b5f ldr r3, [pc, #380] ; (808ff24 ) 808fda6: 681b ldr r3, [r3, #0] 808fda8: 2b00 cmp r3, #0 808fdaa: d00b beq.n 808fdc4 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808fdac: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808fdb0: b2db uxtb r3, r3 808fdb2: 461a mov r2, r3 808fdb4: 4b5c ldr r3, [pc, #368] ; (808ff28 ) 808fdb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fdba: 461a mov r2, r3 808fdbc: 214a movs r1, #74 ; 0x4a 808fdbe: 20f6 movs r0, #246 ; 0xf6 808fdc0: f7c5 f9ce bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808fdc4: 4956 ldr r1, [pc, #344] ; (808ff20 ) 808fdc6: 4859 ldr r0, [pc, #356] ; (808ff2c ) 808fdc8: f7c4 fc22 bl 8054610 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808fdcc: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808fdd0: b2db uxtb r3, r3 808fdd2: 461a mov r2, r3 808fdd4: 4b54 ldr r3, [pc, #336] ; (808ff28 ) 808fdd6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fdda: 461a mov r2, r3 808fddc: 214a movs r1, #74 ; 0x4a 808fdde: 20c6 movs r0, #198 ; 0xc6 808fde0: f7c5 f9be bl 8055160 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808fde4: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808fde8: b2db uxtb r3, r3 808fdea: 461a mov r2, r3 808fdec: 4b4e ldr r3, [pc, #312] ; (808ff28 ) 808fdee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fdf2: 461a mov r2, r3 808fdf4: 214a movs r1, #74 ; 0x4a 808fdf6: 20d6 movs r0, #214 ; 0xd6 808fdf8: f7c5 f9b2 bl 8055160 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808fdfc: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808fe00: b2db uxtb r3, r3 808fe02: 461a mov r2, r3 808fe04: 4b48 ldr r3, [pc, #288] ; (808ff28 ) 808fe06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fe0a: 461a mov r2, r3 808fe0c: 214a movs r1, #74 ; 0x4a 808fe0e: 20e6 movs r0, #230 ; 0xe6 808fe10: f7c5 f9a6 bl 8055160 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808fe14: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808fe18: b2db uxtb r3, r3 808fe1a: 461a mov r2, r3 808fe1c: 4b42 ldr r3, [pc, #264] ; (808ff28 ) 808fe1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fe22: 461a mov r2, r3 808fe24: 214a movs r1, #74 ; 0x4a 808fe26: f44f 7083 mov.w r0, #262 ; 0x106 808fe2a: f7c5 f999 bl 8055160 LCD_DisplayString(278, LCD_LINE_4, "."); 808fe2e: 4a40 ldr r2, [pc, #256] ; (808ff30 ) 808fe30: 214a movs r1, #74 ; 0x4a 808fe32: f44f 708b mov.w r0, #278 ; 0x116 808fe36: f7c5 f993 bl 8055160 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808fe3a: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808fe3e: b2db uxtb r3, r3 808fe40: 461a mov r2, r3 808fe42: 4b39 ldr r3, [pc, #228] ; (808ff28 ) 808fe44: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fe48: 461a mov r2, r3 808fe4a: 214a movs r1, #74 ; 0x4a 808fe4c: f44f 7093 mov.w r0, #294 ; 0x126 808fe50: f7c5 f986 bl 8055160 808fe54: e0d0 b.n 808fff8 } else if(menupos == FilterHP_IEE) 808fe56: 4b31 ldr r3, [pc, #196] ; (808ff1c ) 808fe58: 781b ldrb r3, [r3, #0] 808fe5a: b2db uxtb r3, r3 808fe5c: 2b1d cmp r3, #29 808fe5e: d169 bne.n 808ff34 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808fe60: 492f ldr r1, [pc, #188] ; (808ff20 ) 808fe62: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808fe66: f7c4 fbd3 bl 8054610 if(blk) 808fe6a: 4b2e ldr r3, [pc, #184] ; (808ff24 ) 808fe6c: 681b ldr r3, [r3, #0] 808fe6e: 2b00 cmp r3, #0 808fe70: d00c beq.n 808fe8c LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808fe72: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808fe76: b2db uxtb r3, r3 808fe78: 461a mov r2, r3 808fe7a: 4b2b ldr r3, [pc, #172] ; (808ff28 ) 808fe7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fe80: 461a mov r2, r3 808fe82: 214a movs r1, #74 ; 0x4a 808fe84: f44f 7083 mov.w r0, #262 ; 0x106 808fe88: f7c5 f96a bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808fe8c: 4924 ldr r1, [pc, #144] ; (808ff20 ) 808fe8e: 4827 ldr r0, [pc, #156] ; (808ff2c ) 808fe90: f7c4 fbbe bl 8054610 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808fe94: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808fe98: b2db uxtb r3, r3 808fe9a: 461a mov r2, r3 808fe9c: 4b22 ldr r3, [pc, #136] ; (808ff28 ) 808fe9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fea2: 461a mov r2, r3 808fea4: 214a movs r1, #74 ; 0x4a 808fea6: 20c6 movs r0, #198 ; 0xc6 808fea8: f7c5 f95a bl 8055160 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808feac: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808feb0: b2db uxtb r3, r3 808feb2: 461a mov r2, r3 808feb4: 4b1c ldr r3, [pc, #112] ; (808ff28 ) 808feb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808feba: 461a mov r2, r3 808febc: 214a movs r1, #74 ; 0x4a 808febe: 20d6 movs r0, #214 ; 0xd6 808fec0: f7c5 f94e bl 8055160 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808fec4: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808fec8: b2db uxtb r3, r3 808feca: 461a mov r2, r3 808fecc: 4b16 ldr r3, [pc, #88] ; (808ff28 ) 808fece: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808fed2: 461a mov r2, r3 808fed4: 214a movs r1, #74 ; 0x4a 808fed6: 20e6 movs r0, #230 ; 0xe6 808fed8: f7c5 f942 bl 8055160 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808fedc: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808fee0: b2db uxtb r3, r3 808fee2: 461a mov r2, r3 808fee4: 4b10 ldr r3, [pc, #64] ; (808ff28 ) 808fee6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808feea: 461a mov r2, r3 808feec: 214a movs r1, #74 ; 0x4a 808feee: 20f6 movs r0, #246 ; 0xf6 808fef0: f7c5 f936 bl 8055160 LCD_DisplayString(278, LCD_LINE_4, "."); 808fef4: 4a0e ldr r2, [pc, #56] ; (808ff30 ) 808fef6: 214a movs r1, #74 ; 0x4a 808fef8: f44f 708b mov.w r0, #278 ; 0x116 808fefc: f7c5 f930 bl 8055160 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808ff00: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808ff04: b2db uxtb r3, r3 808ff06: 461a mov r2, r3 808ff08: 4b07 ldr r3, [pc, #28] ; (808ff28 ) 808ff0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ff0e: 461a mov r2, r3 808ff10: 214a movs r1, #74 ; 0x4a 808ff12: f44f 7093 mov.w r0, #294 ; 0x126 808ff16: f7c5 f923 bl 8055160 808ff1a: e06d b.n 808fff8 808ff1c: 20020070 .word 0x20020070 808ff20: ff0a0f1f .word 0xff0a0f1f 808ff24: 200216a4 .word 0x200216a4 808ff28: 2002096c .word 0x2002096c 808ff2c: ffd8aa57 .word 0xffd8aa57 808ff30: 080d3b58 .word 0x080d3b58 } else if(menupos == FilterHP_IKD) 808ff34: 4bc6 ldr r3, [pc, #792] ; (8090250 ) 808ff36: 781b ldrb r3, [r3, #0] 808ff38: b2db uxtb r3, r3 808ff3a: 2b1e cmp r3, #30 808ff3c: d15c bne.n 808fff8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ff3e: 49c5 ldr r1, [pc, #788] ; (8090254 ) 808ff40: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ff44: f7c4 fb64 bl 8054610 if(blk) 808ff48: 4bc3 ldr r3, [pc, #780] ; (8090258 ) 808ff4a: 681b ldr r3, [r3, #0] 808ff4c: 2b00 cmp r3, #0 808ff4e: d00c beq.n 808ff6a LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808ff50: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808ff54: b2db uxtb r3, r3 808ff56: 461a mov r2, r3 808ff58: 4bc0 ldr r3, [pc, #768] ; (809025c ) 808ff5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ff5e: 461a mov r2, r3 808ff60: 214a movs r1, #74 ; 0x4a 808ff62: f44f 7093 mov.w r0, #294 ; 0x126 808ff66: f7c5 f8fb bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ff6a: 49ba ldr r1, [pc, #744] ; (8090254 ) 808ff6c: 48bc ldr r0, [pc, #752] ; (8090260 ) 808ff6e: f7c4 fb4f bl 8054610 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808ff72: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ff76: b2db uxtb r3, r3 808ff78: 461a mov r2, r3 808ff7a: 4bb8 ldr r3, [pc, #736] ; (809025c ) 808ff7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ff80: 461a mov r2, r3 808ff82: 214a movs r1, #74 ; 0x4a 808ff84: 20c6 movs r0, #198 ; 0xc6 808ff86: f7c5 f8eb bl 8055160 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808ff8a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808ff8e: b2db uxtb r3, r3 808ff90: 461a mov r2, r3 808ff92: 4bb2 ldr r3, [pc, #712] ; (809025c ) 808ff94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ff98: 461a mov r2, r3 808ff9a: 214a movs r1, #74 ; 0x4a 808ff9c: 20d6 movs r0, #214 ; 0xd6 808ff9e: f7c5 f8df bl 8055160 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808ffa2: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808ffa6: b2db uxtb r3, r3 808ffa8: 461a mov r2, r3 808ffaa: 4bac ldr r3, [pc, #688] ; (809025c ) 808ffac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ffb0: 461a mov r2, r3 808ffb2: 214a movs r1, #74 ; 0x4a 808ffb4: 20e6 movs r0, #230 ; 0xe6 808ffb6: f7c5 f8d3 bl 8055160 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808ffba: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808ffbe: b2db uxtb r3, r3 808ffc0: 461a mov r2, r3 808ffc2: 4ba6 ldr r3, [pc, #664] ; (809025c ) 808ffc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ffc8: 461a mov r2, r3 808ffca: 214a movs r1, #74 ; 0x4a 808ffcc: 20f6 movs r0, #246 ; 0xf6 808ffce: f7c5 f8c7 bl 8055160 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808ffd2: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808ffd6: b2db uxtb r3, r3 808ffd8: 461a mov r2, r3 808ffda: 4ba0 ldr r3, [pc, #640] ; (809025c ) 808ffdc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ffe0: 461a mov r2, r3 808ffe2: 214a movs r1, #74 ; 0x4a 808ffe4: f44f 7083 mov.w r0, #262 ; 0x106 808ffe8: f7c5 f8ba bl 8055160 LCD_DisplayString(278, LCD_LINE_4, "."); 808ffec: 4a9d ldr r2, [pc, #628] ; (8090264 ) 808ffee: 214a movs r1, #74 ; 0x4a 808fff0: f44f 708b mov.w r0, #278 ; 0x116 808fff4: f7c5 f8b4 bl 8055160 if(menupos == FilterLP_IDT) 808fff8: 4b95 ldr r3, [pc, #596] ; (8090250 ) 808fffa: 781b ldrb r3, [r3, #0] 808fffc: b2db uxtb r3, r3 808fffe: 2b1f cmp r3, #31 8090000: d15e bne.n 80900c0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090002: 4994 ldr r1, [pc, #592] ; (8090254 ) 8090004: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090008: f7c4 fb02 bl 8054610 if(blk) 809000c: 4b92 ldr r3, [pc, #584] ; (8090258 ) 809000e: 681b ldr r3, [r3, #0] 8090010: 2b00 cmp r3, #0 8090012: d00b beq.n 809002c LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 8090014: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8090018: b2db uxtb r3, r3 809001a: 461a mov r2, r3 809001c: 4b8f ldr r3, [pc, #572] ; (809025c ) 809001e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090022: 461a mov r2, r3 8090024: 215a movs r1, #90 ; 0x5a 8090026: 20c6 movs r0, #198 ; 0xc6 8090028: f7c5 f89a bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809002c: 4989 ldr r1, [pc, #548] ; (8090254 ) 809002e: 488c ldr r0, [pc, #560] ; (8090260 ) 8090030: f7c4 faee bl 8054610 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 8090034: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8090038: b2db uxtb r3, r3 809003a: 461a mov r2, r3 809003c: 4b87 ldr r3, [pc, #540] ; (809025c ) 809003e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090042: 461a mov r2, r3 8090044: 215a movs r1, #90 ; 0x5a 8090046: 20d6 movs r0, #214 ; 0xd6 8090048: f7c5 f88a bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 809004c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8090050: b2db uxtb r3, r3 8090052: 461a mov r2, r3 8090054: 4b81 ldr r3, [pc, #516] ; (809025c ) 8090056: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809005a: 461a mov r2, r3 809005c: 215a movs r1, #90 ; 0x5a 809005e: 20e6 movs r0, #230 ; 0xe6 8090060: f7c5 f87e bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 8090064: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8090068: b2db uxtb r3, r3 809006a: 461a mov r2, r3 809006c: 4b7b ldr r3, [pc, #492] ; (809025c ) 809006e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090072: 461a mov r2, r3 8090074: 215a movs r1, #90 ; 0x5a 8090076: 20f6 movs r0, #246 ; 0xf6 8090078: f7c5 f872 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 809007c: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8090080: b2db uxtb r3, r3 8090082: 461a mov r2, r3 8090084: 4b75 ldr r3, [pc, #468] ; (809025c ) 8090086: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809008a: 461a mov r2, r3 809008c: 215a movs r1, #90 ; 0x5a 809008e: f44f 7083 mov.w r0, #262 ; 0x106 8090092: f7c5 f865 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 8090096: 4a73 ldr r2, [pc, #460] ; (8090264 ) 8090098: 215a movs r1, #90 ; 0x5a 809009a: f44f 708b mov.w r0, #278 ; 0x116 809009e: f7c5 f85f bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 80900a2: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 80900a6: b2db uxtb r3, r3 80900a8: 461a mov r2, r3 80900aa: 4b6c ldr r3, [pc, #432] ; (809025c ) 80900ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80900b0: 461a mov r2, r3 80900b2: 215a movs r1, #90 ; 0x5a 80900b4: f44f 7093 mov.w r0, #294 ; 0x126 80900b8: f7c5 f852 bl 8055160 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; 80900bc: f008 baa5 b.w 809860a if(menupos == FilterLP_IET) 80900c0: 4b63 ldr r3, [pc, #396] ; (8090250 ) 80900c2: 781b ldrb r3, [r3, #0] 80900c4: b2db uxtb r3, r3 80900c6: 2b20 cmp r3, #32 80900c8: d15e bne.n 8090188 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80900ca: 4962 ldr r1, [pc, #392] ; (8090254 ) 80900cc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80900d0: f7c4 fa9e bl 8054610 if(blk) 80900d4: 4b60 ldr r3, [pc, #384] ; (8090258 ) 80900d6: 681b ldr r3, [r3, #0] 80900d8: 2b00 cmp r3, #0 80900da: d00b beq.n 80900f4 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 80900dc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80900e0: b2db uxtb r3, r3 80900e2: 461a mov r2, r3 80900e4: 4b5d ldr r3, [pc, #372] ; (809025c ) 80900e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80900ea: 461a mov r2, r3 80900ec: 215a movs r1, #90 ; 0x5a 80900ee: 20d6 movs r0, #214 ; 0xd6 80900f0: f7c5 f836 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80900f4: 4957 ldr r1, [pc, #348] ; (8090254 ) 80900f6: 485a ldr r0, [pc, #360] ; (8090260 ) 80900f8: f7c4 fa8a bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 80900fc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8090100: b2db uxtb r3, r3 8090102: 461a mov r2, r3 8090104: 4b55 ldr r3, [pc, #340] ; (809025c ) 8090106: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809010a: 461a mov r2, r3 809010c: 215a movs r1, #90 ; 0x5a 809010e: 20c6 movs r0, #198 ; 0xc6 8090110: f7c5 f826 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 8090114: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8090118: b2db uxtb r3, r3 809011a: 461a mov r2, r3 809011c: 4b4f ldr r3, [pc, #316] ; (809025c ) 809011e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090122: 461a mov r2, r3 8090124: 215a movs r1, #90 ; 0x5a 8090126: 20e6 movs r0, #230 ; 0xe6 8090128: f7c5 f81a bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 809012c: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8090130: b2db uxtb r3, r3 8090132: 461a mov r2, r3 8090134: 4b49 ldr r3, [pc, #292] ; (809025c ) 8090136: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809013a: 461a mov r2, r3 809013c: 215a movs r1, #90 ; 0x5a 809013e: 20f6 movs r0, #246 ; 0xf6 8090140: f7c5 f80e bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 8090144: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8090148: b2db uxtb r3, r3 809014a: 461a mov r2, r3 809014c: 4b43 ldr r3, [pc, #268] ; (809025c ) 809014e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090152: 461a mov r2, r3 8090154: 215a movs r1, #90 ; 0x5a 8090156: f44f 7083 mov.w r0, #262 ; 0x106 809015a: f7c5 f801 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 809015e: 4a41 ldr r2, [pc, #260] ; (8090264 ) 8090160: 215a movs r1, #90 ; 0x5a 8090162: f44f 708b mov.w r0, #278 ; 0x116 8090166: f7c4 fffb bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 809016a: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 809016e: b2db uxtb r3, r3 8090170: 461a mov r2, r3 8090172: 4b3a ldr r3, [pc, #232] ; (809025c ) 8090174: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090178: 461a mov r2, r3 809017a: 215a movs r1, #90 ; 0x5a 809017c: f44f 7093 mov.w r0, #294 ; 0x126 8090180: f7c4 ffee bl 8055160 break; 8090184: f008 ba41 b.w 809860a if(menupos == FilterLP_IES) 8090188: 4b31 ldr r3, [pc, #196] ; (8090250 ) 809018a: 781b ldrb r3, [r3, #0] 809018c: b2db uxtb r3, r3 809018e: 2b21 cmp r3, #33 ; 0x21 8090190: d16a bne.n 8090268 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090192: 4930 ldr r1, [pc, #192] ; (8090254 ) 8090194: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090198: f7c4 fa3a bl 8054610 if(blk) 809019c: 4b2e ldr r3, [pc, #184] ; (8090258 ) 809019e: 681b ldr r3, [r3, #0] 80901a0: 2b00 cmp r3, #0 80901a2: d00b beq.n 80901bc LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 80901a4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80901a8: b2db uxtb r3, r3 80901aa: 461a mov r2, r3 80901ac: 4b2b ldr r3, [pc, #172] ; (809025c ) 80901ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80901b2: 461a mov r2, r3 80901b4: 215a movs r1, #90 ; 0x5a 80901b6: 20e6 movs r0, #230 ; 0xe6 80901b8: f7c4 ffd2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80901bc: 4925 ldr r1, [pc, #148] ; (8090254 ) 80901be: 4828 ldr r0, [pc, #160] ; (8090260 ) 80901c0: f7c4 fa26 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 80901c4: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80901c8: b2db uxtb r3, r3 80901ca: 461a mov r2, r3 80901cc: 4b23 ldr r3, [pc, #140] ; (809025c ) 80901ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80901d2: 461a mov r2, r3 80901d4: 215a movs r1, #90 ; 0x5a 80901d6: 20c6 movs r0, #198 ; 0xc6 80901d8: f7c4 ffc2 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 80901dc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80901e0: b2db uxtb r3, r3 80901e2: 461a mov r2, r3 80901e4: 4b1d ldr r3, [pc, #116] ; (809025c ) 80901e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80901ea: 461a mov r2, r3 80901ec: 215a movs r1, #90 ; 0x5a 80901ee: 20d6 movs r0, #214 ; 0xd6 80901f0: f7c4 ffb6 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 80901f4: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80901f8: b2db uxtb r3, r3 80901fa: 461a mov r2, r3 80901fc: 4b17 ldr r3, [pc, #92] ; (809025c ) 80901fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090202: 461a mov r2, r3 8090204: 215a movs r1, #90 ; 0x5a 8090206: 20f6 movs r0, #246 ; 0xf6 8090208: f7c4 ffaa bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 809020c: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8090210: b2db uxtb r3, r3 8090212: 461a mov r2, r3 8090214: 4b11 ldr r3, [pc, #68] ; (809025c ) 8090216: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809021a: 461a mov r2, r3 809021c: 215a movs r1, #90 ; 0x5a 809021e: f44f 7083 mov.w r0, #262 ; 0x106 8090222: f7c4 ff9d bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 8090226: 4a0f ldr r2, [pc, #60] ; (8090264 ) 8090228: 215a movs r1, #90 ; 0x5a 809022a: f44f 708b mov.w r0, #278 ; 0x116 809022e: f7c4 ff97 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 8090232: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8090236: b2db uxtb r3, r3 8090238: 461a mov r2, r3 809023a: 4b08 ldr r3, [pc, #32] ; (809025c ) 809023c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090240: 461a mov r2, r3 8090242: 215a movs r1, #90 ; 0x5a 8090244: f44f 7093 mov.w r0, #294 ; 0x126 8090248: f7c4 ff8a bl 8055160 break; 809024c: f008 b9dd b.w 809860a 8090250: 20020070 .word 0x20020070 8090254: ff0a0f1f .word 0xff0a0f1f 8090258: 200216a4 .word 0x200216a4 809025c: 2002096c .word 0x2002096c 8090260: ffd8aa57 .word 0xffd8aa57 8090264: 080d3b58 .word 0x080d3b58 if(menupos == FilterLP_IED) 8090268: 4b96 ldr r3, [pc, #600] ; (80904c4 ) 809026a: 781b ldrb r3, [r3, #0] 809026c: b2db uxtb r3, r3 809026e: 2b22 cmp r3, #34 ; 0x22 8090270: d15e bne.n 8090330 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090272: 4995 ldr r1, [pc, #596] ; (80904c8 ) 8090274: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090278: f7c4 f9ca bl 8054610 if(blk) 809027c: 4b93 ldr r3, [pc, #588] ; (80904cc ) 809027e: 681b ldr r3, [r3, #0] 8090280: 2b00 cmp r3, #0 8090282: d00b beq.n 809029c LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 8090284: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8090288: b2db uxtb r3, r3 809028a: 461a mov r2, r3 809028c: 4b90 ldr r3, [pc, #576] ; (80904d0 ) 809028e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090292: 461a mov r2, r3 8090294: 215a movs r1, #90 ; 0x5a 8090296: 20f6 movs r0, #246 ; 0xf6 8090298: f7c4 ff62 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809029c: 498a ldr r1, [pc, #552] ; (80904c8 ) 809029e: 488d ldr r0, [pc, #564] ; (80904d4 ) 80902a0: f7c4 f9b6 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 80902a4: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80902a8: b2db uxtb r3, r3 80902aa: 461a mov r2, r3 80902ac: 4b88 ldr r3, [pc, #544] ; (80904d0 ) 80902ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80902b2: 461a mov r2, r3 80902b4: 215a movs r1, #90 ; 0x5a 80902b6: 20c6 movs r0, #198 ; 0xc6 80902b8: f7c4 ff52 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 80902bc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80902c0: b2db uxtb r3, r3 80902c2: 461a mov r2, r3 80902c4: 4b82 ldr r3, [pc, #520] ; (80904d0 ) 80902c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80902ca: 461a mov r2, r3 80902cc: 215a movs r1, #90 ; 0x5a 80902ce: 20d6 movs r0, #214 ; 0xd6 80902d0: f7c4 ff46 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 80902d4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80902d8: b2db uxtb r3, r3 80902da: 461a mov r2, r3 80902dc: 4b7c ldr r3, [pc, #496] ; (80904d0 ) 80902de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80902e2: 461a mov r2, r3 80902e4: 215a movs r1, #90 ; 0x5a 80902e6: 20e6 movs r0, #230 ; 0xe6 80902e8: f7c4 ff3a bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 80902ec: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 80902f0: b2db uxtb r3, r3 80902f2: 461a mov r2, r3 80902f4: 4b76 ldr r3, [pc, #472] ; (80904d0 ) 80902f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80902fa: 461a mov r2, r3 80902fc: 215a movs r1, #90 ; 0x5a 80902fe: f44f 7083 mov.w r0, #262 ; 0x106 8090302: f7c4 ff2d bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 8090306: 4a74 ldr r2, [pc, #464] ; (80904d8 ) 8090308: 215a movs r1, #90 ; 0x5a 809030a: f44f 708b mov.w r0, #278 ; 0x116 809030e: f7c4 ff27 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 8090312: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8090316: b2db uxtb r3, r3 8090318: 461a mov r2, r3 809031a: 4b6d ldr r3, [pc, #436] ; (80904d0 ) 809031c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090320: 461a mov r2, r3 8090322: 215a movs r1, #90 ; 0x5a 8090324: f44f 7093 mov.w r0, #294 ; 0x126 8090328: f7c4 ff1a bl 8055160 break; 809032c: f008 b96d b.w 809860a if(menupos == FilterLP_IEE) 8090330: 4b64 ldr r3, [pc, #400] ; (80904c4 ) 8090332: 781b ldrb r3, [r3, #0] 8090334: b2db uxtb r3, r3 8090336: 2b23 cmp r3, #35 ; 0x23 8090338: d15e bne.n 80903f8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809033a: 4963 ldr r1, [pc, #396] ; (80904c8 ) 809033c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090340: f7c4 f966 bl 8054610 if(blk) 8090344: 4b61 ldr r3, [pc, #388] ; (80904cc ) 8090346: 681b ldr r3, [r3, #0] 8090348: 2b00 cmp r3, #0 809034a: d00c beq.n 8090366 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 809034c: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8090350: b2db uxtb r3, r3 8090352: 461a mov r2, r3 8090354: 4b5e ldr r3, [pc, #376] ; (80904d0 ) 8090356: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809035a: 461a mov r2, r3 809035c: 215a movs r1, #90 ; 0x5a 809035e: f44f 7083 mov.w r0, #262 ; 0x106 8090362: f7c4 fefd bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090366: 4958 ldr r1, [pc, #352] ; (80904c8 ) 8090368: 485a ldr r0, [pc, #360] ; (80904d4 ) 809036a: f7c4 f951 bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 809036e: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8090372: b2db uxtb r3, r3 8090374: 461a mov r2, r3 8090376: 4b56 ldr r3, [pc, #344] ; (80904d0 ) 8090378: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809037c: 461a mov r2, r3 809037e: 215a movs r1, #90 ; 0x5a 8090380: 20c6 movs r0, #198 ; 0xc6 8090382: f7c4 feed bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 8090386: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 809038a: b2db uxtb r3, r3 809038c: 461a mov r2, r3 809038e: 4b50 ldr r3, [pc, #320] ; (80904d0 ) 8090390: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090394: 461a mov r2, r3 8090396: 215a movs r1, #90 ; 0x5a 8090398: 20d6 movs r0, #214 ; 0xd6 809039a: f7c4 fee1 bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 809039e: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80903a2: b2db uxtb r3, r3 80903a4: 461a mov r2, r3 80903a6: 4b4a ldr r3, [pc, #296] ; (80904d0 ) 80903a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80903ac: 461a mov r2, r3 80903ae: 215a movs r1, #90 ; 0x5a 80903b0: 20e6 movs r0, #230 ; 0xe6 80903b2: f7c4 fed5 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 80903b6: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80903ba: b2db uxtb r3, r3 80903bc: 461a mov r2, r3 80903be: 4b44 ldr r3, [pc, #272] ; (80904d0 ) 80903c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80903c4: 461a mov r2, r3 80903c6: 215a movs r1, #90 ; 0x5a 80903c8: 20f6 movs r0, #246 ; 0xf6 80903ca: f7c4 fec9 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 80903ce: 4a42 ldr r2, [pc, #264] ; (80904d8 ) 80903d0: 215a movs r1, #90 ; 0x5a 80903d2: f44f 708b mov.w r0, #278 ; 0x116 80903d6: f7c4 fec3 bl 8055160 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 80903da: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 80903de: b2db uxtb r3, r3 80903e0: 461a mov r2, r3 80903e2: 4b3b ldr r3, [pc, #236] ; (80904d0 ) 80903e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80903e8: 461a mov r2, r3 80903ea: 215a movs r1, #90 ; 0x5a 80903ec: f44f 7093 mov.w r0, #294 ; 0x126 80903f0: f7c4 feb6 bl 8055160 break; 80903f4: f008 b909 b.w 809860a if(menupos == FilterLP_IKD) 80903f8: 4b32 ldr r3, [pc, #200] ; (80904c4 ) 80903fa: 781b ldrb r3, [r3, #0] 80903fc: b2db uxtb r3, r3 80903fe: 2b24 cmp r3, #36 ; 0x24 8090400: f048 8103 bne.w 809860a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090404: 4930 ldr r1, [pc, #192] ; (80904c8 ) 8090406: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809040a: f7c4 f901 bl 8054610 if(blk) 809040e: 4b2f ldr r3, [pc, #188] ; (80904cc ) 8090410: 681b ldr r3, [r3, #0] 8090412: 2b00 cmp r3, #0 8090414: d00c beq.n 8090430 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 8090416: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 809041a: b2db uxtb r3, r3 809041c: 461a mov r2, r3 809041e: 4b2c ldr r3, [pc, #176] ; (80904d0 ) 8090420: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090424: 461a mov r2, r3 8090426: 215a movs r1, #90 ; 0x5a 8090428: f44f 7093 mov.w r0, #294 ; 0x126 809042c: f7c4 fe98 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090430: 4925 ldr r1, [pc, #148] ; (80904c8 ) 8090432: 4828 ldr r0, [pc, #160] ; (80904d4 ) 8090434: f7c4 f8ec bl 8054610 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 8090438: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 809043c: b2db uxtb r3, r3 809043e: 461a mov r2, r3 8090440: 4b23 ldr r3, [pc, #140] ; (80904d0 ) 8090442: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090446: 461a mov r2, r3 8090448: 215a movs r1, #90 ; 0x5a 809044a: 20c6 movs r0, #198 ; 0xc6 809044c: f7c4 fe88 bl 8055160 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 8090450: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8090454: b2db uxtb r3, r3 8090456: 461a mov r2, r3 8090458: 4b1d ldr r3, [pc, #116] ; (80904d0 ) 809045a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809045e: 461a mov r2, r3 8090460: 215a movs r1, #90 ; 0x5a 8090462: 20d6 movs r0, #214 ; 0xd6 8090464: f7c4 fe7c bl 8055160 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 8090468: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 809046c: b2db uxtb r3, r3 809046e: 461a mov r2, r3 8090470: 4b17 ldr r3, [pc, #92] ; (80904d0 ) 8090472: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090476: 461a mov r2, r3 8090478: 215a movs r1, #90 ; 0x5a 809047a: 20e6 movs r0, #230 ; 0xe6 809047c: f7c4 fe70 bl 8055160 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 8090480: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8090484: b2db uxtb r3, r3 8090486: 461a mov r2, r3 8090488: 4b11 ldr r3, [pc, #68] ; (80904d0 ) 809048a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809048e: 461a mov r2, r3 8090490: 215a movs r1, #90 ; 0x5a 8090492: 20f6 movs r0, #246 ; 0xf6 8090494: f7c4 fe64 bl 8055160 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 8090498: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 809049c: b2db uxtb r3, r3 809049e: 461a mov r2, r3 80904a0: 4b0b ldr r3, [pc, #44] ; (80904d0 ) 80904a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80904a6: 461a mov r2, r3 80904a8: 215a movs r1, #90 ; 0x5a 80904aa: f44f 7083 mov.w r0, #262 ; 0x106 80904ae: f7c4 fe57 bl 8055160 LCD_DisplayString(278, LCD_LINE_5, "."); 80904b2: 4a09 ldr r2, [pc, #36] ; (80904d8 ) 80904b4: 215a movs r1, #90 ; 0x5a 80904b6: f44f 708b mov.w r0, #278 ; 0x116 80904ba: f7c4 fe51 bl 8055160 break; 80904be: f008 b8a4 b.w 809860a 80904c2: bf00 nop 80904c4: 20020070 .word 0x20020070 80904c8: ff0a0f1f .word 0xff0a0f1f 80904cc: 200216a4 .word 0x200216a4 80904d0: 2002096c .word 0x2002096c 80904d4: ffd8aa57 .word 0xffd8aa57 80904d8: 080d3b58 .word 0x080d3b58 case PARAM_WAVE: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80904dc: 49d5 ldr r1, [pc, #852] ; (8090834 ) 80904de: 48d6 ldr r0, [pc, #856] ; (8090838 ) 80904e0: f7c4 f896 bl 8054610 BSP_LCD_DrawRect(2, 35, 314, 201); 80904e4: 23c9 movs r3, #201 ; 0xc9 80904e6: f44f 729d mov.w r2, #314 ; 0x13a 80904ea: 2123 movs r1, #35 ; 0x23 80904ec: 2002 movs r0, #2 80904ee: f7c4 fb95 bl 8054c1c k = (uint32_t) (pardata.THR_VAL * 10.0f); 80904f2: 4bd2 ldr r3, [pc, #840] ; (809083c ) 80904f4: edd3 7a05 vldr s15, [r3, #20] 80904f8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80904fc: ee67 7a87 vmul.f32 s15, s15, s14 8090500: eefc 7ae7 vcvt.u32.f32 s15, s15 8090504: ee17 3a90 vmov r3, s15 8090508: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt = (uint8_t) (k / 100000); 809050c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8090510: 095b lsrs r3, r3, #5 8090512: 4acb ldr r2, [pc, #812] ; (8090840 ) 8090514: fba2 2303 umull r2, r3, r2, r3 8090518: 09db lsrs r3, r3, #7 809051a: b2db uxtb r3, r3 809051c: f887 33e7 strb.w r3, [r7, #999] ; 0x3e7 iet = (uint8_t) (k % 100000 / 10000); 8090520: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8090524: 0953 lsrs r3, r2, #5 8090526: 49c6 ldr r1, [pc, #792] ; (8090840 ) 8090528: fba1 1303 umull r1, r3, r1, r3 809052c: 09db lsrs r3, r3, #7 809052e: 49c5 ldr r1, [pc, #788] ; (8090844 ) 8090530: fb01 f303 mul.w r3, r1, r3 8090534: 1ad3 subs r3, r2, r3 8090536: 4ac4 ldr r2, [pc, #784] ; (8090848 ) 8090538: fba2 2303 umull r2, r3, r2, r3 809053c: 0b5b lsrs r3, r3, #13 809053e: b2db uxtb r3, r3 8090540: f887 33e6 strb.w r3, [r7, #998] ; 0x3e6 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8090544: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8090548: 0953 lsrs r3, r2, #5 809054a: 49bd ldr r1, [pc, #756] ; (8090840 ) 809054c: fba1 1303 umull r1, r3, r1, r3 8090550: 09db lsrs r3, r3, #7 8090552: 49bc ldr r1, [pc, #752] ; (8090844 ) 8090554: fb01 f303 mul.w r3, r1, r3 8090558: 1ad3 subs r3, r2, r3 809055a: 4abb ldr r2, [pc, #748] ; (8090848 ) 809055c: fba2 1203 umull r1, r2, r2, r3 8090560: 0b52 lsrs r2, r2, #13 8090562: f242 7110 movw r1, #10000 ; 0x2710 8090566: fb01 f202 mul.w r2, r1, r2 809056a: 1a9a subs r2, r3, r2 809056c: 4bb7 ldr r3, [pc, #732] ; (809084c ) 809056e: fba3 2302 umull r2, r3, r3, r2 8090572: 099b lsrs r3, r3, #6 8090574: b2db uxtb r3, r3 8090576: f887 33e5 strb.w r3, [r7, #997] ; 0x3e5 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 809057a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809057e: 095a lsrs r2, r3, #5 8090580: 49af ldr r1, [pc, #700] ; (8090840 ) 8090582: fba1 1202 umull r1, r2, r1, r2 8090586: 09d2 lsrs r2, r2, #7 8090588: 49ae ldr r1, [pc, #696] ; (8090844 ) 809058a: fb01 f202 mul.w r2, r1, r2 809058e: 1a9a subs r2, r3, r2 8090590: 4bad ldr r3, [pc, #692] ; (8090848 ) 8090592: fba3 1302 umull r1, r3, r3, r2 8090596: 0b5b lsrs r3, r3, #13 8090598: f242 7110 movw r1, #10000 ; 0x2710 809059c: fb01 f303 mul.w r3, r1, r3 80905a0: 1ad3 subs r3, r2, r3 80905a2: 4aaa ldr r2, [pc, #680] ; (809084c ) 80905a4: fba2 1203 umull r1, r2, r2, r3 80905a8: 0992 lsrs r2, r2, #6 80905aa: f44f 717a mov.w r1, #1000 ; 0x3e8 80905ae: fb01 f202 mul.w r2, r1, r2 80905b2: 1a9a subs r2, r3, r2 80905b4: 4ba6 ldr r3, [pc, #664] ; (8090850 ) 80905b6: fba3 2302 umull r2, r3, r3, r2 80905ba: 095b lsrs r3, r3, #5 80905bc: b2db uxtb r3, r3 80905be: f887 33e4 strb.w r3, [r7, #996] ; 0x3e4 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80905c2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80905c6: 0953 lsrs r3, r2, #5 80905c8: 499d ldr r1, [pc, #628] ; (8090840 ) 80905ca: fba1 1303 umull r1, r3, r1, r3 80905ce: 09db lsrs r3, r3, #7 80905d0: 499c ldr r1, [pc, #624] ; (8090844 ) 80905d2: fb01 f303 mul.w r3, r1, r3 80905d6: 1ad3 subs r3, r2, r3 80905d8: 4a9b ldr r2, [pc, #620] ; (8090848 ) 80905da: fba2 1203 umull r1, r2, r2, r3 80905de: 0b52 lsrs r2, r2, #13 80905e0: f242 7110 movw r1, #10000 ; 0x2710 80905e4: fb01 f202 mul.w r2, r1, r2 80905e8: 1a9a subs r2, r3, r2 80905ea: 4b98 ldr r3, [pc, #608] ; (809084c ) 80905ec: fba3 1302 umull r1, r3, r3, r2 80905f0: 099b lsrs r3, r3, #6 80905f2: f44f 717a mov.w r1, #1000 ; 0x3e8 80905f6: fb01 f303 mul.w r3, r1, r3 80905fa: 1ad3 subs r3, r2, r3 80905fc: 4a94 ldr r2, [pc, #592] ; (8090850 ) 80905fe: fba2 1203 umull r1, r2, r2, r3 8090602: 0952 lsrs r2, r2, #5 8090604: 2164 movs r1, #100 ; 0x64 8090606: fb01 f202 mul.w r2, r1, r2 809060a: 1a9a subs r2, r3, r2 809060c: 4b91 ldr r3, [pc, #580] ; (8090854 ) 809060e: fba3 2302 umull r2, r3, r3, r2 8090612: 08db lsrs r3, r3, #3 8090614: b2db uxtb r3, r3 8090616: f887 33e3 strb.w r3, [r7, #995] ; 0x3e3 ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 809061a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809061e: 0953 lsrs r3, r2, #5 8090620: 4987 ldr r1, [pc, #540] ; (8090840 ) 8090622: fba1 1303 umull r1, r3, r1, r3 8090626: 09db lsrs r3, r3, #7 8090628: 4986 ldr r1, [pc, #536] ; (8090844 ) 809062a: fb01 f303 mul.w r3, r1, r3 809062e: 1ad3 subs r3, r2, r3 8090630: 4a85 ldr r2, [pc, #532] ; (8090848 ) 8090632: fba2 1203 umull r1, r2, r2, r3 8090636: 0b52 lsrs r2, r2, #13 8090638: f242 7110 movw r1, #10000 ; 0x2710 809063c: fb01 f202 mul.w r2, r1, r2 8090640: 1a9a subs r2, r3, r2 8090642: 4b82 ldr r3, [pc, #520] ; (809084c ) 8090644: fba3 1302 umull r1, r3, r3, r2 8090648: 099b lsrs r3, r3, #6 809064a: f44f 717a mov.w r1, #1000 ; 0x3e8 809064e: fb01 f303 mul.w r3, r1, r3 8090652: 1ad3 subs r3, r2, r3 8090654: 4a7e ldr r2, [pc, #504] ; (8090850 ) 8090656: fba2 1203 umull r1, r2, r2, r3 809065a: 0952 lsrs r2, r2, #5 809065c: 2164 movs r1, #100 ; 0x64 809065e: fb01 f202 mul.w r2, r1, r2 8090662: 1a9a subs r2, r3, r2 8090664: 4b7b ldr r3, [pc, #492] ; (8090854 ) 8090666: fba3 1302 umull r1, r3, r3, r2 809066a: 08d9 lsrs r1, r3, #3 809066c: 460b mov r3, r1 809066e: 009b lsls r3, r3, #2 8090670: 440b add r3, r1 8090672: 005b lsls r3, r3, #1 8090674: 1ad1 subs r1, r2, r3 8090676: b2cb uxtb r3, r1 8090678: f887 33e2 strb.w r3, [r7, #994] ; 0x3e2 i = 0; 809067c: 2300 movs r3, #0 809067e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strThr, 0, sizeof(strThr)); 8090682: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090686: 220c movs r2, #12 8090688: 2100 movs r1, #0 809068a: 4618 mov r0, r3 809068c: f040 fe88 bl 80d13a0 if(idt != 0) 8090690: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8090694: b2db uxtb r3, r3 8090696: 2b00 cmp r3, #0 8090698: d00c beq.n 80906b4 strThr[i++] = idt + 48; 809069a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809069e: 1c5a adds r2, r3, #1 80906a0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80906a4: f897 23e7 ldrb.w r2, [r7, #999] ; 0x3e7 80906a8: b2d2 uxtb r2, r2 80906aa: 3230 adds r2, #48 ; 0x30 80906ac: b2d1 uxtb r1, r2 80906ae: f507 72c6 add.w r2, r7, #396 ; 0x18c 80906b2: 54d1 strb r1, [r2, r3] if((iet != 0) || (idt != 0)) 80906b4: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 80906b8: b2db uxtb r3, r3 80906ba: 2b00 cmp r3, #0 80906bc: d104 bne.n 80906c8 80906be: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 80906c2: b2db uxtb r3, r3 80906c4: 2b00 cmp r3, #0 80906c6: d00c beq.n 80906e2 strThr[i++] = iet + 48; 80906c8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80906cc: 1c5a adds r2, r3, #1 80906ce: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80906d2: f897 23e6 ldrb.w r2, [r7, #998] ; 0x3e6 80906d6: b2d2 uxtb r2, r2 80906d8: 3230 adds r2, #48 ; 0x30 80906da: b2d1 uxtb r1, r2 80906dc: f507 72c6 add.w r2, r7, #396 ; 0x18c 80906e0: 54d1 strb r1, [r2, r3] if((ies != 0) || (iet != 0) || (idt != 0)) 80906e2: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80906e6: b2db uxtb r3, r3 80906e8: 2b00 cmp r3, #0 80906ea: d109 bne.n 8090700 80906ec: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 80906f0: b2db uxtb r3, r3 80906f2: 2b00 cmp r3, #0 80906f4: d104 bne.n 8090700 80906f6: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 80906fa: b2db uxtb r3, r3 80906fc: 2b00 cmp r3, #0 80906fe: d00c beq.n 809071a strThr[i++] = ies + 48; 8090700: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090704: 1c5a adds r2, r3, #1 8090706: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 809070a: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 809070e: b2d2 uxtb r2, r2 8090710: 3230 adds r2, #48 ; 0x30 8090712: b2d1 uxtb r1, r2 8090714: f507 72c6 add.w r2, r7, #396 ; 0x18c 8090718: 54d1 strb r1, [r2, r3] if((ied != 0) || (ies != 0) || (iet != 0) || (idt != 0)) 809071a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 809071e: b2db uxtb r3, r3 8090720: 2b00 cmp r3, #0 8090722: d10e bne.n 8090742 8090724: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8090728: b2db uxtb r3, r3 809072a: 2b00 cmp r3, #0 809072c: d109 bne.n 8090742 809072e: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8090732: b2db uxtb r3, r3 8090734: 2b00 cmp r3, #0 8090736: d104 bne.n 8090742 8090738: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 809073c: b2db uxtb r3, r3 809073e: 2b00 cmp r3, #0 8090740: d00c beq.n 809075c strThr[i++] = ied + 48; 8090742: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090746: 1c5a adds r2, r3, #1 8090748: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 809074c: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8090750: b2d2 uxtb r2, r2 8090752: 3230 adds r2, #48 ; 0x30 8090754: b2d1 uxtb r1, r2 8090756: f507 72c6 add.w r2, r7, #396 ; 0x18c 809075a: 54d1 strb r1, [r2, r3] strThr[i++] = iee + 48; 809075c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090760: 1c5a adds r2, r3, #1 8090762: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090766: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 809076a: b2d2 uxtb r2, r2 809076c: 3230 adds r2, #48 ; 0x30 809076e: b2d1 uxtb r1, r2 8090770: f507 72c6 add.w r2, r7, #396 ; 0x18c 8090774: 54d1 strb r1, [r2, r3] strThr[i++] = '.'; 8090776: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809077a: 1c5a adds r2, r3, #1 809077c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090780: f507 72c6 add.w r2, r7, #396 ; 0x18c 8090784: 212e movs r1, #46 ; 0x2e 8090786: 54d1 strb r1, [r2, r3] strThr[i++] = ikd + 48; 8090788: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809078c: 1c5a adds r2, r3, #1 809078e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090792: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8090796: b2d2 uxtb r2, r2 8090798: 3230 adds r2, #48 ; 0x30 809079a: b2d1 uxtb r1, r2 809079c: f507 72c6 add.w r2, r7, #396 ; 0x18c 80907a0: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80907a2: 4b26 ldr r3, [pc, #152] ; (809083c ) 80907a4: edd3 7a06 vldr s15, [r3, #24] 80907a8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80907ac: ee67 7a87 vmul.f32 s15, s15, s14 80907b0: eefc 7ae7 vcvt.u32.f32 s15, s15 80907b4: ee17 3a90 vmov r3, s15 80907b8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 80907bc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80907c0: 095b lsrs r3, r3, #5 80907c2: 4a1f ldr r2, [pc, #124] ; (8090840 ) 80907c4: fba2 2303 umull r2, r3, r2, r3 80907c8: 09db lsrs r3, r3, #7 80907ca: b2db uxtb r3, r3 80907cc: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 80907d0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80907d4: 0953 lsrs r3, r2, #5 80907d6: 491a ldr r1, [pc, #104] ; (8090840 ) 80907d8: fba1 1303 umull r1, r3, r1, r3 80907dc: 09db lsrs r3, r3, #7 80907de: 4919 ldr r1, [pc, #100] ; (8090844 ) 80907e0: fb01 f303 mul.w r3, r1, r3 80907e4: 1ad3 subs r3, r2, r3 80907e6: 4a18 ldr r2, [pc, #96] ; (8090848 ) 80907e8: fba2 2303 umull r2, r3, r2, r3 80907ec: 0b5b lsrs r3, r3, #13 80907ee: b2db uxtb r3, r3 80907f0: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 80907f4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80907f8: 0953 lsrs r3, r2, #5 80907fa: 4911 ldr r1, [pc, #68] ; (8090840 ) 80907fc: fba1 1303 umull r1, r3, r1, r3 8090800: 09db lsrs r3, r3, #7 8090802: 4910 ldr r1, [pc, #64] ; (8090844 ) 8090804: fb01 f303 mul.w r3, r1, r3 8090808: 1ad3 subs r3, r2, r3 809080a: 4a0f ldr r2, [pc, #60] ; (8090848 ) 809080c: fba2 1203 umull r1, r2, r2, r3 8090810: 0b52 lsrs r2, r2, #13 8090812: f242 7110 movw r1, #10000 ; 0x2710 8090816: fb01 f202 mul.w r2, r1, r2 809081a: 1a9a subs r2, r3, r2 809081c: 4b0b ldr r3, [pc, #44] ; (809084c ) 809081e: fba3 2302 umull r2, r3, r3, r2 8090822: 099b lsrs r3, r3, #6 8090824: b2db uxtb r3, r3 8090826: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 809082a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809082e: 095a lsrs r2, r3, #5 8090830: e012 b.n 8090858 8090832: bf00 nop 8090834: ff0a0f1f .word 0xff0a0f1f 8090838: ffd3d3d3 .word 0xffd3d3d3 809083c: 20023ea8 .word 0x20023ea8 8090840: 0a7c5ac5 .word 0x0a7c5ac5 8090844: 000186a0 .word 0x000186a0 8090848: d1b71759 .word 0xd1b71759 809084c: 10624dd3 .word 0x10624dd3 8090850: 51eb851f .word 0x51eb851f 8090854: cccccccd .word 0xcccccccd 8090858: 49d5 ldr r1, [pc, #852] ; (8090bb0 ) 809085a: fba1 1202 umull r1, r2, r1, r2 809085e: 09d2 lsrs r2, r2, #7 8090860: 49d4 ldr r1, [pc, #848] ; (8090bb4 ) 8090862: fb01 f202 mul.w r2, r1, r2 8090866: 1a9a subs r2, r3, r2 8090868: 4bd3 ldr r3, [pc, #844] ; (8090bb8 ) 809086a: fba3 1302 umull r1, r3, r3, r2 809086e: 0b5b lsrs r3, r3, #13 8090870: f242 7110 movw r1, #10000 ; 0x2710 8090874: fb01 f303 mul.w r3, r1, r3 8090878: 1ad3 subs r3, r2, r3 809087a: 4ad0 ldr r2, [pc, #832] ; (8090bbc ) 809087c: fba2 1203 umull r1, r2, r2, r3 8090880: 0992 lsrs r2, r2, #6 8090882: f44f 717a mov.w r1, #1000 ; 0x3e8 8090886: fb01 f202 mul.w r2, r1, r2 809088a: 1a9a subs r2, r3, r2 809088c: 4bcc ldr r3, [pc, #816] ; (8090bc0 ) 809088e: fba3 2302 umull r2, r3, r3, r2 8090892: 095b lsrs r3, r3, #5 8090894: b2db uxtb r3, r3 8090896: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 809089a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809089e: 0953 lsrs r3, r2, #5 80908a0: 49c3 ldr r1, [pc, #780] ; (8090bb0 ) 80908a2: fba1 1303 umull r1, r3, r1, r3 80908a6: 09db lsrs r3, r3, #7 80908a8: 49c2 ldr r1, [pc, #776] ; (8090bb4 ) 80908aa: fb01 f303 mul.w r3, r1, r3 80908ae: 1ad3 subs r3, r2, r3 80908b0: 4ac1 ldr r2, [pc, #772] ; (8090bb8 ) 80908b2: fba2 1203 umull r1, r2, r2, r3 80908b6: 0b52 lsrs r2, r2, #13 80908b8: f242 7110 movw r1, #10000 ; 0x2710 80908bc: fb01 f202 mul.w r2, r1, r2 80908c0: 1a9a subs r2, r3, r2 80908c2: 4bbe ldr r3, [pc, #760] ; (8090bbc ) 80908c4: fba3 1302 umull r1, r3, r3, r2 80908c8: 099b lsrs r3, r3, #6 80908ca: f44f 717a mov.w r1, #1000 ; 0x3e8 80908ce: fb01 f303 mul.w r3, r1, r3 80908d2: 1ad3 subs r3, r2, r3 80908d4: 4aba ldr r2, [pc, #744] ; (8090bc0 ) 80908d6: fba2 1203 umull r1, r2, r2, r3 80908da: 0952 lsrs r2, r2, #5 80908dc: 2164 movs r1, #100 ; 0x64 80908de: fb01 f202 mul.w r2, r1, r2 80908e2: 1a9a subs r2, r3, r2 80908e4: 4bb7 ldr r3, [pc, #732] ; (8090bc4 ) 80908e6: fba3 2302 umull r2, r3, r3, r2 80908ea: 08db lsrs r3, r3, #3 80908ec: b2db uxtb r3, r3 80908ee: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80908f2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80908f6: 0953 lsrs r3, r2, #5 80908f8: 49ad ldr r1, [pc, #692] ; (8090bb0 ) 80908fa: fba1 1303 umull r1, r3, r1, r3 80908fe: 09db lsrs r3, r3, #7 8090900: 49ac ldr r1, [pc, #688] ; (8090bb4 ) 8090902: fb01 f303 mul.w r3, r1, r3 8090906: 1ad3 subs r3, r2, r3 8090908: 4aab ldr r2, [pc, #684] ; (8090bb8 ) 809090a: fba2 1203 umull r1, r2, r2, r3 809090e: 0b52 lsrs r2, r2, #13 8090910: f242 7110 movw r1, #10000 ; 0x2710 8090914: fb01 f202 mul.w r2, r1, r2 8090918: 1a9a subs r2, r3, r2 809091a: 4ba8 ldr r3, [pc, #672] ; (8090bbc ) 809091c: fba3 1302 umull r1, r3, r3, r2 8090920: 099b lsrs r3, r3, #6 8090922: f44f 717a mov.w r1, #1000 ; 0x3e8 8090926: fb01 f303 mul.w r3, r1, r3 809092a: 1ad3 subs r3, r2, r3 809092c: 4aa4 ldr r2, [pc, #656] ; (8090bc0 ) 809092e: fba2 1203 umull r1, r2, r2, r3 8090932: 0952 lsrs r2, r2, #5 8090934: 2164 movs r1, #100 ; 0x64 8090936: fb01 f202 mul.w r2, r1, r2 809093a: 1a9a subs r2, r3, r2 809093c: 4ba1 ldr r3, [pc, #644] ; (8090bc4 ) 809093e: fba3 1302 umull r1, r3, r3, r2 8090942: 08d9 lsrs r1, r3, #3 8090944: 460b mov r3, r1 8090946: 009b lsls r3, r3, #2 8090948: 440b add r3, r1 809094a: 005b lsls r3, r3, #1 809094c: 1ad1 subs r1, r2, r3 809094e: b2cb uxtb r3, r1 8090950: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 8090954: 2300 movs r3, #0 8090956: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strMax, 0, sizeof(strMax)); 809095a: f507 73c0 add.w r3, r7, #384 ; 0x180 809095e: 220c movs r2, #12 8090960: 2100 movs r1, #0 8090962: 4618 mov r0, r3 8090964: f040 fd1c bl 80d13a0 if(idt2 != 0) 8090968: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 809096c: b2db uxtb r3, r3 809096e: 2b00 cmp r3, #0 8090970: d00c beq.n 809098c strMax[i++] = idt2 + 48; 8090972: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090976: 1c5a adds r2, r3, #1 8090978: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 809097c: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 8090980: b2d2 uxtb r2, r2 8090982: 3230 adds r2, #48 ; 0x30 8090984: b2d1 uxtb r1, r2 8090986: f507 72c0 add.w r2, r7, #384 ; 0x180 809098a: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 809098c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8090990: b2db uxtb r3, r3 8090992: 2b00 cmp r3, #0 8090994: d104 bne.n 80909a0 8090996: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 809099a: b2db uxtb r3, r3 809099c: 2b00 cmp r3, #0 809099e: d00c beq.n 80909ba strMax[i++] = iet2 + 48; 80909a0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80909a4: 1c5a adds r2, r3, #1 80909a6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80909aa: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 80909ae: b2d2 uxtb r2, r2 80909b0: 3230 adds r2, #48 ; 0x30 80909b2: b2d1 uxtb r1, r2 80909b4: f507 72c0 add.w r2, r7, #384 ; 0x180 80909b8: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 80909ba: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80909be: b2db uxtb r3, r3 80909c0: 2b00 cmp r3, #0 80909c2: d109 bne.n 80909d8 80909c4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80909c8: b2db uxtb r3, r3 80909ca: 2b00 cmp r3, #0 80909cc: d104 bne.n 80909d8 80909ce: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80909d2: b2db uxtb r3, r3 80909d4: 2b00 cmp r3, #0 80909d6: d00c beq.n 80909f2 strMax[i++] = ies2 + 48; 80909d8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80909dc: 1c5a adds r2, r3, #1 80909de: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80909e2: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 80909e6: b2d2 uxtb r2, r2 80909e8: 3230 adds r2, #48 ; 0x30 80909ea: b2d1 uxtb r1, r2 80909ec: f507 72c0 add.w r2, r7, #384 ; 0x180 80909f0: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 80909f2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80909f6: b2db uxtb r3, r3 80909f8: 2b00 cmp r3, #0 80909fa: d10e bne.n 8090a1a 80909fc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8090a00: b2db uxtb r3, r3 8090a02: 2b00 cmp r3, #0 8090a04: d109 bne.n 8090a1a 8090a06: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8090a0a: b2db uxtb r3, r3 8090a0c: 2b00 cmp r3, #0 8090a0e: d104 bne.n 8090a1a 8090a10: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8090a14: b2db uxtb r3, r3 8090a16: 2b00 cmp r3, #0 8090a18: d00c beq.n 8090a34 strMax[i++] = ied2 + 48; 8090a1a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090a1e: 1c5a adds r2, r3, #1 8090a20: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090a24: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 8090a28: b2d2 uxtb r2, r2 8090a2a: 3230 adds r2, #48 ; 0x30 8090a2c: b2d1 uxtb r1, r2 8090a2e: f507 72c0 add.w r2, r7, #384 ; 0x180 8090a32: 54d1 strb r1, [r2, r3] strMax[i++] = iee2 + 48; 8090a34: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090a38: 1c5a adds r2, r3, #1 8090a3a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090a3e: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 8090a42: b2d2 uxtb r2, r2 8090a44: 3230 adds r2, #48 ; 0x30 8090a46: b2d1 uxtb r1, r2 8090a48: f507 72c0 add.w r2, r7, #384 ; 0x180 8090a4c: 54d1 strb r1, [r2, r3] strMax[i++] = '.'; 8090a4e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090a52: 1c5a adds r2, r3, #1 8090a54: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090a58: f507 72c0 add.w r2, r7, #384 ; 0x180 8090a5c: 212e movs r1, #46 ; 0x2e 8090a5e: 54d1 strb r1, [r2, r3] strMax[i++] = ikd2 + 48; 8090a60: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090a64: 1c5a adds r2, r3, #1 8090a66: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090a6a: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 8090a6e: b2d2 uxtb r2, r2 8090a70: 3230 adds r2, #48 ; 0x30 8090a72: b2d1 uxtb r1, r2 8090a74: f507 72c0 add.w r2, r7, #384 ; 0x180 8090a78: 54d1 strb r1, [r2, r3] k = (uint32_t) (0.5000011f * 10.0f); 8090a7a: 2305 movs r3, #5 8090a7c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 8090a80: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8090a84: 095b lsrs r3, r3, #5 8090a86: 4a4a ldr r2, [pc, #296] ; (8090bb0 ) 8090a88: fba2 2303 umull r2, r3, r2, r3 8090a8c: 09db lsrs r3, r3, #7 8090a8e: b2db uxtb r3, r3 8090a90: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 8090a94: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8090a98: 0953 lsrs r3, r2, #5 8090a9a: 4945 ldr r1, [pc, #276] ; (8090bb0 ) 8090a9c: fba1 1303 umull r1, r3, r1, r3 8090aa0: 09db lsrs r3, r3, #7 8090aa2: 4944 ldr r1, [pc, #272] ; (8090bb4 ) 8090aa4: fb01 f303 mul.w r3, r1, r3 8090aa8: 1ad3 subs r3, r2, r3 8090aaa: 4a43 ldr r2, [pc, #268] ; (8090bb8 ) 8090aac: fba2 2303 umull r2, r3, r2, r3 8090ab0: 0b5b lsrs r3, r3, #13 8090ab2: b2db uxtb r3, r3 8090ab4: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 8090ab8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8090abc: 0953 lsrs r3, r2, #5 8090abe: 493c ldr r1, [pc, #240] ; (8090bb0 ) 8090ac0: fba1 1303 umull r1, r3, r1, r3 8090ac4: 09db lsrs r3, r3, #7 8090ac6: 493b ldr r1, [pc, #236] ; (8090bb4 ) 8090ac8: fb01 f303 mul.w r3, r1, r3 8090acc: 1ad3 subs r3, r2, r3 8090ace: 4a3a ldr r2, [pc, #232] ; (8090bb8 ) 8090ad0: fba2 1203 umull r1, r2, r2, r3 8090ad4: 0b52 lsrs r2, r2, #13 8090ad6: f242 7110 movw r1, #10000 ; 0x2710 8090ada: fb01 f202 mul.w r2, r1, r2 8090ade: 1a9a subs r2, r3, r2 8090ae0: 4b36 ldr r3, [pc, #216] ; (8090bbc ) 8090ae2: fba3 2302 umull r2, r3, r3, r2 8090ae6: 099b lsrs r3, r3, #6 8090ae8: b2db uxtb r3, r3 8090aea: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8090aee: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8090af2: 095a lsrs r2, r3, #5 8090af4: 492e ldr r1, [pc, #184] ; (8090bb0 ) 8090af6: fba1 1202 umull r1, r2, r1, r2 8090afa: 09d2 lsrs r2, r2, #7 8090afc: 492d ldr r1, [pc, #180] ; (8090bb4 ) 8090afe: fb01 f202 mul.w r2, r1, r2 8090b02: 1a9a subs r2, r3, r2 8090b04: 4b2c ldr r3, [pc, #176] ; (8090bb8 ) 8090b06: fba3 1302 umull r1, r3, r3, r2 8090b0a: 0b5b lsrs r3, r3, #13 8090b0c: f242 7110 movw r1, #10000 ; 0x2710 8090b10: fb01 f303 mul.w r3, r1, r3 8090b14: 1ad3 subs r3, r2, r3 8090b16: 4a29 ldr r2, [pc, #164] ; (8090bbc ) 8090b18: fba2 1203 umull r1, r2, r2, r3 8090b1c: 0992 lsrs r2, r2, #6 8090b1e: f44f 717a mov.w r1, #1000 ; 0x3e8 8090b22: fb01 f202 mul.w r2, r1, r2 8090b26: 1a9a subs r2, r3, r2 8090b28: 4b25 ldr r3, [pc, #148] ; (8090bc0 ) 8090b2a: fba3 2302 umull r2, r3, r3, r2 8090b2e: 095b lsrs r3, r3, #5 8090b30: b2db uxtb r3, r3 8090b32: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8090b36: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8090b3a: 0953 lsrs r3, r2, #5 8090b3c: 491c ldr r1, [pc, #112] ; (8090bb0 ) 8090b3e: fba1 1303 umull r1, r3, r1, r3 8090b42: 09db lsrs r3, r3, #7 8090b44: 491b ldr r1, [pc, #108] ; (8090bb4 ) 8090b46: fb01 f303 mul.w r3, r1, r3 8090b4a: 1ad3 subs r3, r2, r3 8090b4c: 4a1a ldr r2, [pc, #104] ; (8090bb8 ) 8090b4e: fba2 1203 umull r1, r2, r2, r3 8090b52: 0b52 lsrs r2, r2, #13 8090b54: f242 7110 movw r1, #10000 ; 0x2710 8090b58: fb01 f202 mul.w r2, r1, r2 8090b5c: 1a9a subs r2, r3, r2 8090b5e: 4b17 ldr r3, [pc, #92] ; (8090bbc ) 8090b60: fba3 1302 umull r1, r3, r3, r2 8090b64: 099b lsrs r3, r3, #6 8090b66: f44f 717a mov.w r1, #1000 ; 0x3e8 8090b6a: fb01 f303 mul.w r3, r1, r3 8090b6e: 1ad3 subs r3, r2, r3 8090b70: 4a13 ldr r2, [pc, #76] ; (8090bc0 ) 8090b72: fba2 1203 umull r1, r2, r2, r3 8090b76: 0952 lsrs r2, r2, #5 8090b78: 2164 movs r1, #100 ; 0x64 8090b7a: fb01 f202 mul.w r2, r1, r2 8090b7e: 1a9a subs r2, r3, r2 8090b80: 4b10 ldr r3, [pc, #64] ; (8090bc4 ) 8090b82: fba3 2302 umull r2, r3, r3, r2 8090b86: 08db lsrs r3, r3, #3 8090b88: b2db uxtb r3, r3 8090b8a: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8090b8e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8090b92: 0953 lsrs r3, r2, #5 8090b94: 4906 ldr r1, [pc, #24] ; (8090bb0 ) 8090b96: fba1 1303 umull r1, r3, r1, r3 8090b9a: 09db lsrs r3, r3, #7 8090b9c: 4905 ldr r1, [pc, #20] ; (8090bb4 ) 8090b9e: fb01 f303 mul.w r3, r1, r3 8090ba2: 1ad3 subs r3, r2, r3 8090ba4: 4a04 ldr r2, [pc, #16] ; (8090bb8 ) 8090ba6: fba2 1203 umull r1, r2, r2, r3 8090baa: 0b52 lsrs r2, r2, #13 8090bac: e00c b.n 8090bc8 8090bae: bf00 nop 8090bb0: 0a7c5ac5 .word 0x0a7c5ac5 8090bb4: 000186a0 .word 0x000186a0 8090bb8: d1b71759 .word 0xd1b71759 8090bbc: 10624dd3 .word 0x10624dd3 8090bc0: 51eb851f .word 0x51eb851f 8090bc4: cccccccd .word 0xcccccccd 8090bc8: f242 7110 movw r1, #10000 ; 0x2710 8090bcc: fb01 f202 mul.w r2, r1, r2 8090bd0: 1a9a subs r2, r3, r2 8090bd2: 4bc9 ldr r3, [pc, #804] ; (8090ef8 ) 8090bd4: fba3 1302 umull r1, r3, r3, r2 8090bd8: 099b lsrs r3, r3, #6 8090bda: f44f 717a mov.w r1, #1000 ; 0x3e8 8090bde: fb01 f303 mul.w r3, r1, r3 8090be2: 1ad3 subs r3, r2, r3 8090be4: 4ac5 ldr r2, [pc, #788] ; (8090efc ) 8090be6: fba2 1203 umull r1, r2, r2, r3 8090bea: 0952 lsrs r2, r2, #5 8090bec: 2164 movs r1, #100 ; 0x64 8090bee: fb01 f202 mul.w r2, r1, r2 8090bf2: 1a9a subs r2, r3, r2 8090bf4: 4bc2 ldr r3, [pc, #776] ; (8090f00 ) 8090bf6: fba3 1302 umull r1, r3, r3, r2 8090bfa: 08d9 lsrs r1, r3, #3 8090bfc: 460b mov r3, r1 8090bfe: 009b lsls r3, r3, #2 8090c00: 440b add r3, r1 8090c02: 005b lsls r3, r3, #1 8090c04: 1ad1 subs r1, r2, r3 8090c06: b2cb uxtb r3, r1 8090c08: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 8090c0c: 2300 movs r3, #0 8090c0e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 8090c12: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8090c16: 220c movs r2, #12 8090c18: 2100 movs r1, #0 8090c1a: 4618 mov r0, r3 8090c1c: f040 fbc0 bl 80d13a0 if(idtHP != 0) 8090c20: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8090c24: b2db uxtb r3, r3 8090c26: 2b00 cmp r3, #0 8090c28: d00c beq.n 8090c44 strHP[i++] = idtHP + 48; 8090c2a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090c2e: 1c5a adds r2, r3, #1 8090c30: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090c34: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 8090c38: b2d2 uxtb r2, r2 8090c3a: 3230 adds r2, #48 ; 0x30 8090c3c: b2d1 uxtb r1, r2 8090c3e: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8090c42: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 8090c44: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8090c48: b2db uxtb r3, r3 8090c4a: 2b00 cmp r3, #0 8090c4c: d104 bne.n 8090c58 8090c4e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8090c52: b2db uxtb r3, r3 8090c54: 2b00 cmp r3, #0 8090c56: d00c beq.n 8090c72 strHP[i++] = ietHP + 48; 8090c58: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090c5c: 1c5a adds r2, r3, #1 8090c5e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090c62: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 8090c66: b2d2 uxtb r2, r2 8090c68: 3230 adds r2, #48 ; 0x30 8090c6a: b2d1 uxtb r1, r2 8090c6c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8090c70: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8090c72: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8090c76: b2db uxtb r3, r3 8090c78: 2b00 cmp r3, #0 8090c7a: d109 bne.n 8090c90 8090c7c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8090c80: b2db uxtb r3, r3 8090c82: 2b00 cmp r3, #0 8090c84: d104 bne.n 8090c90 8090c86: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8090c8a: b2db uxtb r3, r3 8090c8c: 2b00 cmp r3, #0 8090c8e: d00c beq.n 8090caa strHP[i++] = iesHP + 48; 8090c90: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090c94: 1c5a adds r2, r3, #1 8090c96: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090c9a: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 8090c9e: b2d2 uxtb r2, r2 8090ca0: 3230 adds r2, #48 ; 0x30 8090ca2: b2d1 uxtb r1, r2 8090ca4: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8090ca8: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8090caa: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8090cae: b2db uxtb r3, r3 8090cb0: 2b00 cmp r3, #0 8090cb2: d10e bne.n 8090cd2 8090cb4: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8090cb8: b2db uxtb r3, r3 8090cba: 2b00 cmp r3, #0 8090cbc: d109 bne.n 8090cd2 8090cbe: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8090cc2: b2db uxtb r3, r3 8090cc4: 2b00 cmp r3, #0 8090cc6: d104 bne.n 8090cd2 8090cc8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8090ccc: b2db uxtb r3, r3 8090cce: 2b00 cmp r3, #0 8090cd0: d00c beq.n 8090cec strHP[i++] = iedHP + 48; 8090cd2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090cd6: 1c5a adds r2, r3, #1 8090cd8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090cdc: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 8090ce0: b2d2 uxtb r2, r2 8090ce2: 3230 adds r2, #48 ; 0x30 8090ce4: b2d1 uxtb r1, r2 8090ce6: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8090cea: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 8090cec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090cf0: 1c5a adds r2, r3, #1 8090cf2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090cf6: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 8090cfa: b2d2 uxtb r2, r2 8090cfc: 3230 adds r2, #48 ; 0x30 8090cfe: b2d1 uxtb r1, r2 8090d00: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8090d04: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 8090d06: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090d0a: 1c5a adds r2, r3, #1 8090d0c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090d10: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8090d14: 212e movs r1, #46 ; 0x2e 8090d16: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 8090d18: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090d1c: 1c5a adds r2, r3, #1 8090d1e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090d22: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 8090d26: b2d2 uxtb r2, r2 8090d28: 3230 adds r2, #48 ; 0x30 8090d2a: b2d1 uxtb r1, r2 8090d2c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8090d30: 54d1 strb r1, [r2, r3] k = (uint32_t) (12800.000011f * 10.0f); 8090d32: f44f 33fa mov.w r3, #128000 ; 0x1f400 8090d36: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 8090d3a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8090d3e: 095b lsrs r3, r3, #5 8090d40: 4a70 ldr r2, [pc, #448] ; (8090f04 ) 8090d42: fba2 2303 umull r2, r3, r2, r3 8090d46: 09db lsrs r3, r3, #7 8090d48: b2db uxtb r3, r3 8090d4a: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 8090d4e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8090d52: 0953 lsrs r3, r2, #5 8090d54: 496b ldr r1, [pc, #428] ; (8090f04 ) 8090d56: fba1 1303 umull r1, r3, r1, r3 8090d5a: 09db lsrs r3, r3, #7 8090d5c: 496a ldr r1, [pc, #424] ; (8090f08 ) 8090d5e: fb01 f303 mul.w r3, r1, r3 8090d62: 1ad3 subs r3, r2, r3 8090d64: 4a69 ldr r2, [pc, #420] ; (8090f0c ) 8090d66: fba2 2303 umull r2, r3, r2, r3 8090d6a: 0b5b lsrs r3, r3, #13 8090d6c: b2db uxtb r3, r3 8090d6e: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 8090d72: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8090d76: 0953 lsrs r3, r2, #5 8090d78: 4962 ldr r1, [pc, #392] ; (8090f04 ) 8090d7a: fba1 1303 umull r1, r3, r1, r3 8090d7e: 09db lsrs r3, r3, #7 8090d80: 4961 ldr r1, [pc, #388] ; (8090f08 ) 8090d82: fb01 f303 mul.w r3, r1, r3 8090d86: 1ad3 subs r3, r2, r3 8090d88: 4a60 ldr r2, [pc, #384] ; (8090f0c ) 8090d8a: fba2 1203 umull r1, r2, r2, r3 8090d8e: 0b52 lsrs r2, r2, #13 8090d90: f242 7110 movw r1, #10000 ; 0x2710 8090d94: fb01 f202 mul.w r2, r1, r2 8090d98: 1a9a subs r2, r3, r2 8090d9a: 4b57 ldr r3, [pc, #348] ; (8090ef8 ) 8090d9c: fba3 2302 umull r2, r3, r3, r2 8090da0: 099b lsrs r3, r3, #6 8090da2: b2db uxtb r3, r3 8090da4: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8090da8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8090dac: 095a lsrs r2, r3, #5 8090dae: 4955 ldr r1, [pc, #340] ; (8090f04 ) 8090db0: fba1 1202 umull r1, r2, r1, r2 8090db4: 09d2 lsrs r2, r2, #7 8090db6: 4954 ldr r1, [pc, #336] ; (8090f08 ) 8090db8: fb01 f202 mul.w r2, r1, r2 8090dbc: 1a9a subs r2, r3, r2 8090dbe: 4b53 ldr r3, [pc, #332] ; (8090f0c ) 8090dc0: fba3 1302 umull r1, r3, r3, r2 8090dc4: 0b5b lsrs r3, r3, #13 8090dc6: f242 7110 movw r1, #10000 ; 0x2710 8090dca: fb01 f303 mul.w r3, r1, r3 8090dce: 1ad3 subs r3, r2, r3 8090dd0: 4a49 ldr r2, [pc, #292] ; (8090ef8 ) 8090dd2: fba2 1203 umull r1, r2, r2, r3 8090dd6: 0992 lsrs r2, r2, #6 8090dd8: f44f 717a mov.w r1, #1000 ; 0x3e8 8090ddc: fb01 f202 mul.w r2, r1, r2 8090de0: 1a9a subs r2, r3, r2 8090de2: 4b46 ldr r3, [pc, #280] ; (8090efc ) 8090de4: fba3 2302 umull r2, r3, r3, r2 8090de8: 095b lsrs r3, r3, #5 8090dea: b2db uxtb r3, r3 8090dec: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8090df0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8090df4: 0953 lsrs r3, r2, #5 8090df6: 4943 ldr r1, [pc, #268] ; (8090f04 ) 8090df8: fba1 1303 umull r1, r3, r1, r3 8090dfc: 09db lsrs r3, r3, #7 8090dfe: 4942 ldr r1, [pc, #264] ; (8090f08 ) 8090e00: fb01 f303 mul.w r3, r1, r3 8090e04: 1ad3 subs r3, r2, r3 8090e06: 4a41 ldr r2, [pc, #260] ; (8090f0c ) 8090e08: fba2 1203 umull r1, r2, r2, r3 8090e0c: 0b52 lsrs r2, r2, #13 8090e0e: f242 7110 movw r1, #10000 ; 0x2710 8090e12: fb01 f202 mul.w r2, r1, r2 8090e16: 1a9a subs r2, r3, r2 8090e18: 4b37 ldr r3, [pc, #220] ; (8090ef8 ) 8090e1a: fba3 1302 umull r1, r3, r3, r2 8090e1e: 099b lsrs r3, r3, #6 8090e20: f44f 717a mov.w r1, #1000 ; 0x3e8 8090e24: fb01 f303 mul.w r3, r1, r3 8090e28: 1ad3 subs r3, r2, r3 8090e2a: 4a34 ldr r2, [pc, #208] ; (8090efc ) 8090e2c: fba2 1203 umull r1, r2, r2, r3 8090e30: 0952 lsrs r2, r2, #5 8090e32: 2164 movs r1, #100 ; 0x64 8090e34: fb01 f202 mul.w r2, r1, r2 8090e38: 1a9a subs r2, r3, r2 8090e3a: 4b31 ldr r3, [pc, #196] ; (8090f00 ) 8090e3c: fba3 2302 umull r2, r3, r3, r2 8090e40: 08db lsrs r3, r3, #3 8090e42: b2db uxtb r3, r3 8090e44: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8090e48: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8090e4c: 0953 lsrs r3, r2, #5 8090e4e: 492d ldr r1, [pc, #180] ; (8090f04 ) 8090e50: fba1 1303 umull r1, r3, r1, r3 8090e54: 09db lsrs r3, r3, #7 8090e56: 492c ldr r1, [pc, #176] ; (8090f08 ) 8090e58: fb01 f303 mul.w r3, r1, r3 8090e5c: 1ad3 subs r3, r2, r3 8090e5e: 4a2b ldr r2, [pc, #172] ; (8090f0c ) 8090e60: fba2 1203 umull r1, r2, r2, r3 8090e64: 0b52 lsrs r2, r2, #13 8090e66: f242 7110 movw r1, #10000 ; 0x2710 8090e6a: fb01 f202 mul.w r2, r1, r2 8090e6e: 1a9a subs r2, r3, r2 8090e70: 4b21 ldr r3, [pc, #132] ; (8090ef8 ) 8090e72: fba3 1302 umull r1, r3, r3, r2 8090e76: 099b lsrs r3, r3, #6 8090e78: f44f 717a mov.w r1, #1000 ; 0x3e8 8090e7c: fb01 f303 mul.w r3, r1, r3 8090e80: 1ad3 subs r3, r2, r3 8090e82: 4a1e ldr r2, [pc, #120] ; (8090efc ) 8090e84: fba2 1203 umull r1, r2, r2, r3 8090e88: 0952 lsrs r2, r2, #5 8090e8a: 2164 movs r1, #100 ; 0x64 8090e8c: fb01 f202 mul.w r2, r1, r2 8090e90: 1a9a subs r2, r3, r2 8090e92: 4b1b ldr r3, [pc, #108] ; (8090f00 ) 8090e94: fba3 1302 umull r1, r3, r3, r2 8090e98: 08d9 lsrs r1, r3, #3 8090e9a: 460b mov r3, r1 8090e9c: 009b lsls r3, r3, #2 8090e9e: 440b add r3, r1 8090ea0: 005b lsls r3, r3, #1 8090ea2: 1ad1 subs r1, r2, r3 8090ea4: b2cb uxtb r3, r1 8090ea6: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 8090eaa: 2300 movs r3, #0 8090eac: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 8090eb0: f507 73cc add.w r3, r7, #408 ; 0x198 8090eb4: 220c movs r2, #12 8090eb6: 2100 movs r1, #0 8090eb8: 4618 mov r0, r3 8090eba: f040 fa71 bl 80d13a0 if(idtLP != 0) 8090ebe: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8090ec2: b2db uxtb r3, r3 8090ec4: 2b00 cmp r3, #0 8090ec6: d00c beq.n 8090ee2 strLP[i++] = idtLP + 48; 8090ec8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090ecc: 1c5a adds r2, r3, #1 8090ece: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090ed2: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 8090ed6: b2d2 uxtb r2, r2 8090ed8: 3230 adds r2, #48 ; 0x30 8090eda: b2d1 uxtb r1, r2 8090edc: f507 72cc add.w r2, r7, #408 ; 0x198 8090ee0: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 8090ee2: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8090ee6: b2db uxtb r3, r3 8090ee8: 2b00 cmp r3, #0 8090eea: d111 bne.n 8090f10 8090eec: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8090ef0: b2db uxtb r3, r3 8090ef2: 2b00 cmp r3, #0 8090ef4: d019 beq.n 8090f2a 8090ef6: e00b b.n 8090f10 8090ef8: 10624dd3 .word 0x10624dd3 8090efc: 51eb851f .word 0x51eb851f 8090f00: cccccccd .word 0xcccccccd 8090f04: 0a7c5ac5 .word 0x0a7c5ac5 8090f08: 000186a0 .word 0x000186a0 8090f0c: d1b71759 .word 0xd1b71759 strLP[i++] = ietLP + 48; 8090f10: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090f14: 1c5a adds r2, r3, #1 8090f16: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090f1a: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 8090f1e: b2d2 uxtb r2, r2 8090f20: 3230 adds r2, #48 ; 0x30 8090f22: b2d1 uxtb r1, r2 8090f24: f507 72cc add.w r2, r7, #408 ; 0x198 8090f28: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 8090f2a: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8090f2e: b2db uxtb r3, r3 8090f30: 2b00 cmp r3, #0 8090f32: d109 bne.n 8090f48 8090f34: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8090f38: b2db uxtb r3, r3 8090f3a: 2b00 cmp r3, #0 8090f3c: d104 bne.n 8090f48 8090f3e: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8090f42: b2db uxtb r3, r3 8090f44: 2b00 cmp r3, #0 8090f46: d00c beq.n 8090f62 strLP[i++] = iesLP + 48; 8090f48: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090f4c: 1c5a adds r2, r3, #1 8090f4e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090f52: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 8090f56: b2d2 uxtb r2, r2 8090f58: 3230 adds r2, #48 ; 0x30 8090f5a: b2d1 uxtb r1, r2 8090f5c: f507 72cc add.w r2, r7, #408 ; 0x198 8090f60: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 8090f62: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8090f66: b2db uxtb r3, r3 8090f68: 2b00 cmp r3, #0 8090f6a: d10e bne.n 8090f8a 8090f6c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8090f70: b2db uxtb r3, r3 8090f72: 2b00 cmp r3, #0 8090f74: d109 bne.n 8090f8a 8090f76: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8090f7a: b2db uxtb r3, r3 8090f7c: 2b00 cmp r3, #0 8090f7e: d104 bne.n 8090f8a 8090f80: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8090f84: b2db uxtb r3, r3 8090f86: 2b00 cmp r3, #0 8090f88: d00c beq.n 8090fa4 strLP[i++] = iedLP + 48; 8090f8a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090f8e: 1c5a adds r2, r3, #1 8090f90: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090f94: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 8090f98: b2d2 uxtb r2, r2 8090f9a: 3230 adds r2, #48 ; 0x30 8090f9c: b2d1 uxtb r1, r2 8090f9e: f507 72cc add.w r2, r7, #408 ; 0x198 8090fa2: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 8090fa4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090fa8: 1c5a adds r2, r3, #1 8090faa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090fae: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 8090fb2: b2d2 uxtb r2, r2 8090fb4: 3230 adds r2, #48 ; 0x30 8090fb6: b2d1 uxtb r1, r2 8090fb8: f507 72cc add.w r2, r7, #408 ; 0x198 8090fbc: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 8090fbe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090fc2: 1c5a adds r2, r3, #1 8090fc4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090fc8: f507 72cc add.w r2, r7, #408 ; 0x198 8090fcc: 212e movs r1, #46 ; 0x2e 8090fce: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 8090fd0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8090fd4: 1c5a adds r2, r3, #1 8090fd6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8090fda: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 8090fde: b2d2 uxtb r2, r2 8090fe0: 3230 adds r2, #48 ; 0x30 8090fe2: b2d1 uxtb r1, r2 8090fe4: f507 72cc add.w r2, r7, #408 ; 0x198 8090fe8: 54d1 strb r1, [r2, r3] //**************************************************************** strcpy(str, WavFileName); 8090fea: f507 733b add.w r3, r7, #748 ; 0x2ec 8090fee: 49b2 ldr r1, [pc, #712] ; (80912b8 ) 8090ff0: 4618 mov r0, r3 8090ff2: f040 faf2 bl 80d15da l = strlen(str); 8090ff6: f507 733b add.w r3, r7, #748 ; 0x2ec 8090ffa: 4618 mov r0, r3 8090ffc: f78f f98a bl 8020314 8091000: 4603 mov r3, r0 8091002: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if((l >= 4) && (str[l - 4] == '.')) 8091006: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 809100a: 2b03 cmp r3, #3 809100c: d90e bls.n 809102c 809100e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8091012: 3b04 subs r3, #4 8091014: f507 723b add.w r2, r7, #748 ; 0x2ec 8091018: 5cd3 ldrb r3, [r2, r3] 809101a: 2b2e cmp r3, #46 ; 0x2e 809101c: d106 bne.n 809102c str[l - 4] = '\0'; 809101e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8091022: 3b04 subs r3, #4 8091024: f507 723b add.w r2, r7, #748 ; 0x2ec 8091028: 2100 movs r1, #0 809102a: 54d1 strb r1, [r2, r3] static uint8_t tw = 0; l = strlen(str); 809102c: f507 733b add.w r3, r7, #748 ; 0x2ec 8091030: 4618 mov r0, r3 8091032: f78f f96f bl 8020314 8091036: 4603 mov r3, r0 8091038: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 809103c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8091040: 2b09 cmp r3, #9 8091042: d808 bhi.n 8091056 { strcpy(str1, str); 8091044: f507 723b add.w r2, r7, #748 ; 0x2ec 8091048: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809104c: 4611 mov r1, r2 809104e: 4618 mov r0, r3 8091050: f040 fac3 bl 80d15da 8091054: e064 b.n 8091120 } else { static uint32_t tmw = 0; memset(str1, 0x20, sizeof(str1)); 8091056: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809105a: f44f 7280 mov.w r2, #256 ; 0x100 809105e: 2120 movs r1, #32 8091060: 4618 mov r0, r3 8091062: f040 f99d bl 80d13a0 if(tmw <= l) 8091066: 4b95 ldr r3, [pc, #596] ; (80912bc ) 8091068: 681a ldr r2, [r3, #0] 809106a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 809106e: 429a cmp r2, r3 8091070: d822 bhi.n 80910b8 { if(l - tmw >= 9) 8091072: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8091076: 4b91 ldr r3, [pc, #580] ; (80912bc ) 8091078: 681b ldr r3, [r3, #0] 809107a: 1ad3 subs r3, r2, r3 809107c: 2b08 cmp r3, #8 809107e: d90b bls.n 8091098 memcpy(str1, &str[tmw], 9); 8091080: 4b8e ldr r3, [pc, #568] ; (80912bc ) 8091082: 681b ldr r3, [r3, #0] 8091084: f507 723b add.w r2, r7, #748 ; 0x2ec 8091088: 18d1 adds r1, r2, r3 809108a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809108e: 2209 movs r2, #9 8091090: 4618 mov r0, r3 8091092: f040 f97a bl 80d138a 8091096: e022 b.n 80910de else memcpy(str1, &str[tmw], l - tmw); 8091098: 4b88 ldr r3, [pc, #544] ; (80912bc ) 809109a: 681b ldr r3, [r3, #0] 809109c: f507 723b add.w r2, r7, #748 ; 0x2ec 80910a0: 18d1 adds r1, r2, r3 80910a2: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 80910a6: 4b85 ldr r3, [pc, #532] ; (80912bc ) 80910a8: 681b ldr r3, [r3, #0] 80910aa: 1ad2 subs r2, r2, r3 80910ac: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80910b0: 4618 mov r0, r3 80910b2: f040 f96a bl 80d138a 80910b6: e012 b.n 80910de } else { memcpy(&str1[9 - (tmw - l)], str, tmw - l); 80910b8: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 80910bc: 4b7f ldr r3, [pc, #508] ; (80912bc ) 80910be: 681b ldr r3, [r3, #0] 80910c0: 1ad3 subs r3, r2, r3 80910c2: 3309 adds r3, #9 80910c4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80910c8: 18d0 adds r0, r2, r3 80910ca: 4b7c ldr r3, [pc, #496] ; (80912bc ) 80910cc: 681a ldr r2, [r3, #0] 80910ce: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80910d2: 1ad2 subs r2, r2, r3 80910d4: f507 733b add.w r3, r7, #748 ; 0x2ec 80910d8: 4619 mov r1, r3 80910da: f040 f956 bl 80d138a } str1[10] = '\0'; 80910de: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80910e2: 2200 movs r2, #0 80910e4: 729a strb r2, [r3, #10] tw++; 80910e6: 4b76 ldr r3, [pc, #472] ; (80912c0 ) 80910e8: 781b ldrb r3, [r3, #0] 80910ea: 3301 adds r3, #1 80910ec: b2da uxtb r2, r3 80910ee: 4b74 ldr r3, [pc, #464] ; (80912c0 ) 80910f0: 701a strb r2, [r3, #0] if(tw >= 2) 80910f2: 4b73 ldr r3, [pc, #460] ; (80912c0 ) 80910f4: 781b ldrb r3, [r3, #0] 80910f6: 2b01 cmp r3, #1 80910f8: d912 bls.n 8091120 { tw = 0; 80910fa: 4b71 ldr r3, [pc, #452] ; (80912c0 ) 80910fc: 2200 movs r2, #0 80910fe: 701a strb r2, [r3, #0] tmw++; 8091100: 4b6e ldr r3, [pc, #440] ; (80912bc ) 8091102: 681b ldr r3, [r3, #0] 8091104: 3301 adds r3, #1 8091106: 4a6d ldr r2, [pc, #436] ; (80912bc ) 8091108: 6013 str r3, [r2, #0] if(9 - (tmw - l) == 0) 809110a: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 809110e: 4b6b ldr r3, [pc, #428] ; (80912bc ) 8091110: 681b ldr r3, [r3, #0] 8091112: 1ad3 subs r3, r2, r3 8091114: f113 0f09 cmn.w r3, #9 8091118: d102 bne.n 8091120 { tmw = 0; 809111a: 4b68 ldr r3, [pc, #416] ; (80912bc ) 809111c: 2200 movs r2, #0 809111e: 601a str r2, [r3, #0] } } } //**************************************************************** LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091120: 4968 ldr r1, [pc, #416] ; (80912c4 ) 8091122: 4869 ldr r0, [pc, #420] ; (80912c8 ) 8091124: f7c3 fa74 bl 8054610 LCD_DisplayString(10, LCD_LINE_3, (char *) TEXT_PARAM_WAV[pardata.LANG][0]); //FVH 8091128: 4b68 ldr r3, [pc, #416] ; (80912cc ) 809112a: 7b1b ldrb r3, [r3, #12] 809112c: b2db uxtb r3, r3 809112e: 4619 mov r1, r3 8091130: 4a67 ldr r2, [pc, #412] ; (80912d0 ) 8091132: 460b mov r3, r1 8091134: 009b lsls r3, r3, #2 8091136: 440b add r3, r1 8091138: 00db lsls r3, r3, #3 809113a: 4413 add r3, r2 809113c: 681b ldr r3, [r3, #0] 809113e: 461a mov r2, r3 8091140: 213a movs r1, #58 ; 0x3a 8091142: 200a movs r0, #10 8091144: f7c4 f80c bl 8055160 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_PARAM_WAV[pardata.LANG][1]); //FNH 8091148: 4b60 ldr r3, [pc, #384] ; (80912cc ) 809114a: 7b1b ldrb r3, [r3, #12] 809114c: b2db uxtb r3, r3 809114e: 4619 mov r1, r3 8091150: 4a5f ldr r2, [pc, #380] ; (80912d0 ) 8091152: 460b mov r3, r1 8091154: 009b lsls r3, r3, #2 8091156: 440b add r3, r1 8091158: 00db lsls r3, r3, #3 809115a: 4413 add r3, r2 809115c: 3304 adds r3, #4 809115e: 681b ldr r3, [r3, #0] 8091160: 461a mov r2, r3 8091162: 214a movs r1, #74 ; 0x4a 8091164: 200a movs r0, #10 8091166: f7c3 fffb bl 8055160 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_PARAM_WAV[pardata.LANG][2]); //×àñòîòà âûáîðêè 809116a: 4b58 ldr r3, [pc, #352] ; (80912cc ) 809116c: 7b1b ldrb r3, [r3, #12] 809116e: b2db uxtb r3, r3 8091170: 4619 mov r1, r3 8091172: 4a57 ldr r2, [pc, #348] ; (80912d0 ) 8091174: 460b mov r3, r1 8091176: 009b lsls r3, r3, #2 8091178: 440b add r3, r1 809117a: 00db lsls r3, r3, #3 809117c: 4413 add r3, r2 809117e: 3308 adds r3, #8 8091180: 681b ldr r3, [r3, #0] 8091182: 461a mov r2, r3 8091184: 215a movs r1, #90 ; 0x5a 8091186: 200a movs r0, #10 8091188: f7c3 ffea bl 8055160 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pFRQ[pardata.LANG][pardata.FRQ]); 809118c: 4b4f ldr r3, [pc, #316] ; (80912cc ) 809118e: 7b1b ldrb r3, [r3, #12] 8091190: b2db uxtb r3, r3 8091192: 4619 mov r1, r3 8091194: 4b4d ldr r3, [pc, #308] ; (80912cc ) 8091196: 7adb ldrb r3, [r3, #11] 8091198: b2db uxtb r3, r3 809119a: 4618 mov r0, r3 809119c: 4a4d ldr r2, [pc, #308] ; (80912d4 ) 809119e: 460b mov r3, r1 80911a0: 009b lsls r3, r3, #2 80911a2: 440b add r3, r1 80911a4: 005b lsls r3, r3, #1 80911a6: 4403 add r3, r0 80911a8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80911ac: 461a mov r2, r3 80911ae: 215a movs r1, #90 ; 0x5a 80911b0: f44f 7082 mov.w r0, #260 ; 0x104 80911b4: f7c3 ffec bl 8055190 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 80911b8: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80911bc: 461a mov r2, r3 80911be: 213a movs r1, #58 ; 0x3a 80911c0: f44f 7082 mov.w r0, #260 ; 0x104 80911c4: f7c3 ffe4 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 80911c8: f507 73cc add.w r3, r7, #408 ; 0x198 80911cc: 461a mov r2, r3 80911ce: 214a movs r1, #74 ; 0x4a 80911d0: f44f 7082 mov.w r0, #260 ; 0x104 80911d4: f7c3 ffdc bl 8055190 #ifndef USE_D101 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80911d8: 493a ldr r1, [pc, #232] ; (80912c4 ) 80911da: f04f 30ff mov.w r0, #4294967295 80911de: f7c3 fa17 bl 8054610 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_WAV[pardata.LANG][9]); //Âðåìÿ çàïèñè 80911e2: 4b3a ldr r3, [pc, #232] ; (80912cc ) 80911e4: 7b1b ldrb r3, [r3, #12] 80911e6: b2db uxtb r3, r3 80911e8: 4619 mov r1, r3 80911ea: 4a39 ldr r2, [pc, #228] ; (80912d0 ) 80911ec: 460b mov r3, r1 80911ee: 009b lsls r3, r3, #2 80911f0: 440b add r3, r1 80911f2: 00db lsls r3, r3, #3 80911f4: 4413 add r3, r2 80911f6: 3324 adds r3, #36 ; 0x24 80911f8: 681b ldr r3, [r3, #0] 80911fa: 461a mov r2, r3 80911fc: 216a movs r1, #106 ; 0x6a 80911fe: 200a movs r0, #10 8091200: f7c3 ffae bl 8055160 #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); 8091204: 492f ldr r1, [pc, #188] ; (80912c4 ) 8091206: f04f 30ff mov.w r0, #4294967295 809120a: f7c3 fa01 bl 8054610 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_PARAM_WAV[pardata.LANG][4]); //Âðåìÿ çàïèñè 809120e: 4b2f ldr r3, [pc, #188] ; (80912cc ) 8091210: 7b1b ldrb r3, [r3, #12] 8091212: b2db uxtb r3, r3 8091214: 4619 mov r1, r3 8091216: 4a2e ldr r2, [pc, #184] ; (80912d0 ) 8091218: 460b mov r3, r1 809121a: 009b lsls r3, r3, #2 809121c: 440b add r3, r1 809121e: 00db lsls r3, r3, #3 8091220: 4413 add r3, r2 8091222: 3310 adds r3, #16 8091224: 681b ldr r3, [r3, #0] 8091226: 461a mov r2, r3 8091228: 218a movs r1, #138 ; 0x8a 809122a: 200a movs r0, #10 809122c: f7c3 ff98 bl 8055160 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_WAV[pardata.LANG][5]); //Àâòîóñèëåíèå 8091230: 4b26 ldr r3, [pc, #152] ; (80912cc ) 8091232: 7b1b ldrb r3, [r3, #12] 8091234: b2db uxtb r3, r3 8091236: 4619 mov r1, r3 8091238: 4a25 ldr r2, [pc, #148] ; (80912d0 ) 809123a: 460b mov r3, r1 809123c: 009b lsls r3, r3, #2 809123e: 440b add r3, r1 8091240: 00db lsls r3, r3, #3 8091242: 4413 add r3, r2 8091244: 3314 adds r3, #20 8091246: 681b ldr r3, [r3, #0] 8091248: 461a mov r2, r3 809124a: 219a movs r1, #154 ; 0x9a 809124c: 200a movs r0, #10 809124e: f7c3 ff87 bl 8055160 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_WAV[pardata.LANG][7]); //Çàïèñü ïî ïîðîãó 8091252: 4b1e ldr r3, [pc, #120] ; (80912cc ) 8091254: 7b1b ldrb r3, [r3, #12] 8091256: b2db uxtb r3, r3 8091258: 4619 mov r1, r3 809125a: 4a1d ldr r2, [pc, #116] ; (80912d0 ) 809125c: 460b mov r3, r1 809125e: 009b lsls r3, r3, #2 8091260: 440b add r3, r1 8091262: 00db lsls r3, r3, #3 8091264: 4413 add r3, r2 8091266: 331c adds r3, #28 8091268: 681b ldr r3, [r3, #0] 809126a: 461a mov r2, r3 809126c: 21ba movs r1, #186 ; 0xba 809126e: 200a movs r0, #10 8091270: f7c3 ff76 bl 8055160 if(menupos != WaveName) 8091274: 4b18 ldr r3, [pc, #96] ; (80912d8 ) 8091276: 781b ldrb r3, [r3, #0] 8091278: b2db uxtb r3, r3 809127a: 2b04 cmp r3, #4 809127c: d011 beq.n 80912a2 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_PARAM_WAV[pardata.LANG][3]); //Äèðåêòîðèÿ 809127e: 4b13 ldr r3, [pc, #76] ; (80912cc ) 8091280: 7b1b ldrb r3, [r3, #12] 8091282: b2db uxtb r3, r3 8091284: 4619 mov r1, r3 8091286: 4a12 ldr r2, [pc, #72] ; (80912d0 ) 8091288: 460b mov r3, r1 809128a: 009b lsls r3, r3, #2 809128c: 440b add r3, r1 809128e: 00db lsls r3, r3, #3 8091290: 4413 add r3, r2 8091292: 330c adds r3, #12 8091294: 681b ldr r3, [r3, #0] 8091296: 461a mov r2, r3 8091298: 217a movs r1, #122 ; 0x7a 809129a: 200a movs r0, #10 809129c: f7c3 ff60 bl 8055160 80912a0: e032 b.n 8091308 else { if(!strlen(WavFileName)) 80912a2: 4b05 ldr r3, [pc, #20] ; (80912b8 ) 80912a4: 781b ldrb r3, [r3, #0] 80912a6: 2b00 cmp r3, #0 80912a8: d118 bne.n 80912dc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80912aa: 4906 ldr r1, [pc, #24] ; (80912c4 ) 80912ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80912b0: f7c3 f9ae bl 8054610 80912b4: e017 b.n 80912e6 80912b6: bf00 nop 80912b8: 20020e54 .word 0x20020e54 80912bc: 200216b8 .word 0x200216b8 80912c0: 200216bc .word 0x200216bc 80912c4: ff0a0f1f .word 0xff0a0f1f 80912c8: ff808080 .word 0xff808080 80912cc: 20023ea8 .word 0x20023ea8 80912d0: 20020844 .word 0x20020844 80912d4: 200202ec .word 0x200202ec 80912d8: 20020070 .word 0x20020070 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80912dc: 49c9 ldr r1, [pc, #804] ; (8091604 ) 80912de: f04f 30ff mov.w r0, #4294967295 80912e2: f7c3 f995 bl 8054610 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_PARAM_WAV[pardata.LANG][3]); //Äèðåêòîðèÿ 80912e6: 4bc8 ldr r3, [pc, #800] ; (8091608 ) 80912e8: 7b1b ldrb r3, [r3, #12] 80912ea: b2db uxtb r3, r3 80912ec: 4619 mov r1, r3 80912ee: 4ac7 ldr r2, [pc, #796] ; (809160c ) 80912f0: 460b mov r3, r1 80912f2: 009b lsls r3, r3, #2 80912f4: 440b add r3, r1 80912f6: 00db lsls r3, r3, #3 80912f8: 4413 add r3, r2 80912fa: 330c adds r3, #12 80912fc: 681b ldr r3, [r3, #0] 80912fe: 461a mov r2, r3 8091300: 217a movs r1, #122 ; 0x7a 8091302: 200a movs r0, #10 8091304: f7c3 ff2c bl 8055160 } if(pardata.THR & 0x80) 8091308: 4bbf ldr r3, [pc, #764] ; (8091608 ) 809130a: 7bdb ldrb r3, [r3, #15] 809130c: b2db uxtb r3, r3 809130e: b25b sxtb r3, r3 8091310: 2b00 cmp r3, #0 8091312: da4f bge.n 80913b4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091314: 49bb ldr r1, [pc, #748] ; (8091604 ) 8091316: f04f 30ff mov.w r0, #4294967295 809131a: f7c3 f979 bl 8054610 if(pardata.IIN != VOLTS) 809131e: 4bba ldr r3, [pc, #744] ; (8091608 ) 8091320: 799b ldrb r3, [r3, #6] 8091322: b2db uxtb r3, r3 8091324: 2b02 cmp r3, #2 8091326: d022 beq.n 809136e { LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV[pardata.LANG][6]); //Ìax.àìïë.(ì/c^) 8091328: 4bb7 ldr r3, [pc, #732] ; (8091608 ) 809132a: 7b1b ldrb r3, [r3, #12] 809132c: b2db uxtb r3, r3 809132e: 4619 mov r1, r3 8091330: 4ab6 ldr r2, [pc, #728] ; (809160c ) 8091332: 460b mov r3, r1 8091334: 009b lsls r3, r3, #2 8091336: 440b add r3, r1 8091338: 00db lsls r3, r3, #3 809133a: 4413 add r3, r2 809133c: 3318 adds r3, #24 809133e: 681b ldr r3, [r3, #0] 8091340: 461a mov r2, r3 8091342: 21aa movs r1, #170 ; 0xaa 8091344: 200a movs r0, #10 8091346: f7c3 ff0b bl 8055160 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV[pardata.LANG][8]); //Ïîðîã(ïèê)(ì/c^) 809134a: 4baf ldr r3, [pc, #700] ; (8091608 ) 809134c: 7b1b ldrb r3, [r3, #12] 809134e: b2db uxtb r3, r3 8091350: 4619 mov r1, r3 8091352: 4aae ldr r2, [pc, #696] ; (809160c ) 8091354: 460b mov r3, r1 8091356: 009b lsls r3, r3, #2 8091358: 440b add r3, r1 809135a: 00db lsls r3, r3, #3 809135c: 4413 add r3, r2 809135e: 3320 adds r3, #32 8091360: 681b ldr r3, [r3, #0] 8091362: 461a mov r2, r3 8091364: 21ca movs r1, #202 ; 0xca 8091366: 200a movs r0, #10 8091368: f7c3 fefa bl 8055160 809136c: e087 b.n 809147e } else { LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][6]); //Ìax.àìïë.(ìÂ) 809136e: 4ba6 ldr r3, [pc, #664] ; (8091608 ) 8091370: 7b1b ldrb r3, [r3, #12] 8091372: b2db uxtb r3, r3 8091374: 4619 mov r1, r3 8091376: 4aa6 ldr r2, [pc, #664] ; (8091610 ) 8091378: 460b mov r3, r1 809137a: 009b lsls r3, r3, #2 809137c: 440b add r3, r1 809137e: 00db lsls r3, r3, #3 8091380: 4413 add r3, r2 8091382: 3318 adds r3, #24 8091384: 681b ldr r3, [r3, #0] 8091386: 461a mov r2, r3 8091388: 21aa movs r1, #170 ; 0xaa 809138a: 200a movs r0, #10 809138c: f7c3 fee8 bl 8055160 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][8]); //Ïîðîã(ïèê)(ìV) 8091390: 4b9d ldr r3, [pc, #628] ; (8091608 ) 8091392: 7b1b ldrb r3, [r3, #12] 8091394: b2db uxtb r3, r3 8091396: 4619 mov r1, r3 8091398: 4a9d ldr r2, [pc, #628] ; (8091610 ) 809139a: 460b mov r3, r1 809139c: 009b lsls r3, r3, #2 809139e: 440b add r3, r1 80913a0: 00db lsls r3, r3, #3 80913a2: 4413 add r3, r2 80913a4: 3320 adds r3, #32 80913a6: 681b ldr r3, [r3, #0] 80913a8: 461a mov r2, r3 80913aa: 21ca movs r1, #202 ; 0xca 80913ac: 200a movs r0, #10 80913ae: f7c3 fed7 bl 8055160 80913b2: e064 b.n 809147e } } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80913b4: 4993 ldr r1, [pc, #588] ; (8091604 ) 80913b6: 4897 ldr r0, [pc, #604] ; (8091614 ) 80913b8: f7c3 f92a bl 8054610 if(pardata.IIN != VOLTS) 80913bc: 4b92 ldr r3, [pc, #584] ; (8091608 ) 80913be: 799b ldrb r3, [r3, #6] 80913c0: b2db uxtb r3, r3 80913c2: 2b02 cmp r3, #2 80913c4: d011 beq.n 80913ea LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV[pardata.LANG][8]); //Ïîðîã(ïèê)(ì/c^) 80913c6: 4b90 ldr r3, [pc, #576] ; (8091608 ) 80913c8: 7b1b ldrb r3, [r3, #12] 80913ca: b2db uxtb r3, r3 80913cc: 4619 mov r1, r3 80913ce: 4a8f ldr r2, [pc, #572] ; (809160c ) 80913d0: 460b mov r3, r1 80913d2: 009b lsls r3, r3, #2 80913d4: 440b add r3, r1 80913d6: 00db lsls r3, r3, #3 80913d8: 4413 add r3, r2 80913da: 3320 adds r3, #32 80913dc: 681b ldr r3, [r3, #0] 80913de: 461a mov r2, r3 80913e0: 21ca movs r1, #202 ; 0xca 80913e2: 200a movs r0, #10 80913e4: f7c3 febc bl 8055160 80913e8: e010 b.n 809140c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][8]); //Ïîðîã(ïèê)(ìÂ) 80913ea: 4b87 ldr r3, [pc, #540] ; (8091608 ) 80913ec: 7b1b ldrb r3, [r3, #12] 80913ee: b2db uxtb r3, r3 80913f0: 4619 mov r1, r3 80913f2: 4a87 ldr r2, [pc, #540] ; (8091610 ) 80913f4: 460b mov r3, r1 80913f6: 009b lsls r3, r3, #2 80913f8: 440b add r3, r1 80913fa: 00db lsls r3, r3, #3 80913fc: 4413 add r3, r2 80913fe: 3320 adds r3, #32 8091400: 681b ldr r3, [r3, #0] 8091402: 461a mov r2, r3 8091404: 21ca movs r1, #202 ; 0xca 8091406: 200a movs r0, #10 8091408: f7c3 feaa bl 8055160 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 809140c: 4b7e ldr r3, [pc, #504] ; (8091608 ) 809140e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8091412: f003 0304 and.w r3, r3, #4 8091416: 2b00 cmp r3, #0 8091418: d105 bne.n 8091426 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809141a: 497a ldr r1, [pc, #488] ; (8091604 ) 809141c: f04f 30ff mov.w r0, #4294967295 8091420: f7c3 f8f6 bl 8054610 8091424: e003 b.n 809142e else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091426: 4977 ldr r1, [pc, #476] ; (8091604 ) 8091428: 487a ldr r0, [pc, #488] ; (8091614 ) 809142a: f7c3 f8f1 bl 8054610 if(pardata.IIN != VOLTS) 809142e: 4b76 ldr r3, [pc, #472] ; (8091608 ) 8091430: 799b ldrb r3, [r3, #6] 8091432: b2db uxtb r3, r3 8091434: 2b02 cmp r3, #2 8091436: d011 beq.n 809145c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV[pardata.LANG][6]); //Ìax.àìïë.(ì/c^) 8091438: 4b73 ldr r3, [pc, #460] ; (8091608 ) 809143a: 7b1b ldrb r3, [r3, #12] 809143c: b2db uxtb r3, r3 809143e: 4619 mov r1, r3 8091440: 4a72 ldr r2, [pc, #456] ; (809160c ) 8091442: 460b mov r3, r1 8091444: 009b lsls r3, r3, #2 8091446: 440b add r3, r1 8091448: 00db lsls r3, r3, #3 809144a: 4413 add r3, r2 809144c: 3318 adds r3, #24 809144e: 681b ldr r3, [r3, #0] 8091450: 461a mov r2, r3 8091452: 21aa movs r1, #170 ; 0xaa 8091454: 200a movs r0, #10 8091456: f7c3 fe83 bl 8055160 809145a: e010 b.n 809147e else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][6]); //Ìax.àìïë.(ìV) 809145c: 4b6a ldr r3, [pc, #424] ; (8091608 ) 809145e: 7b1b ldrb r3, [r3, #12] 8091460: b2db uxtb r3, r3 8091462: 4619 mov r1, r3 8091464: 4a6a ldr r2, [pc, #424] ; (8091610 ) 8091466: 460b mov r3, r1 8091468: 009b lsls r3, r3, #2 809146a: 440b add r3, r1 809146c: 00db lsls r3, r3, #3 809146e: 4413 add r3, r2 8091470: 3318 adds r3, #24 8091472: 681b ldr r3, [r3, #0] 8091474: 461a mov r2, r3 8091476: 21aa movs r1, #170 ; 0xaa 8091478: 200a movs r0, #10 809147a: f7c3 fe71 bl 8055160 switch(menupos) 809147e: 4b66 ldr r3, [pc, #408] ; (8091618 ) 8091480: 781b ldrb r3, [r3, #0] 8091482: b2db uxtb r3, r3 8091484: 2b15 cmp r3, #21 8091486: f201 8746 bhi.w 8093316 809148a: a201 add r2, pc, #4 ; (adr r2, 8091490 ) 809148c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8091490: 080914e9 .word 0x080914e9 8091494: 08093317 .word 0x08093317 8091498: 08093317 .word 0x08093317 809149c: 080931e1 .word 0x080931e1 80914a0: 08091629 .word 0x08091629 80914a4: 0809174d .word 0x0809174d 80914a8: 080918d5 .word 0x080918d5 80914ac: 08091b35 .word 0x08091b35 80914b0: 08091a05 .word 0x08091a05 80914b4: 08091c5b .word 0x08091c5b 80914b8: 08091d81 .word 0x08091d81 80914bc: 08091f39 .word 0x08091f39 80914c0: 080920cb .word 0x080920cb 80914c4: 08092281 .word 0x08092281 80914c8: 08092413 .word 0x08092413 80914cc: 080925c9 .word 0x080925c9 80914d0: 0809275b .word 0x0809275b 80914d4: 08092929 .word 0x08092929 80914d8: 08092ad3 .word 0x08092ad3 80914dc: 08092ca1 .word 0x08092ca1 80914e0: 08092e49 .word 0x08092e49 80914e4: 08093015 .word 0x08093015 { case Ok: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80914e8: 4946 ldr r1, [pc, #280] ; (8091604 ) 80914ea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80914ee: f7c3 f88f bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80914f2: 4b45 ldr r3, [pc, #276] ; (8091608 ) 80914f4: 7b1b ldrb r3, [r3, #12] 80914f6: b2db uxtb r3, r3 80914f8: 461a mov r2, r3 80914fa: 4b48 ldr r3, [pc, #288] ; (809161c ) 80914fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091500: 461a mov r2, r3 8091502: 2127 movs r1, #39 ; 0x27 8091504: 200a movs r0, #10 8091506: f7c3 fe2b bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809150a: 493e ldr r1, [pc, #248] ; (8091604 ) 809150c: 4844 ldr r0, [pc, #272] ; (8091620 ) 809150e: f7c3 f87f bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091512: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091516: 461a mov r2, r3 8091518: 217a movs r1, #122 ; 0x7a 809151a: f44f 7082 mov.w r0, #260 ; 0x104 809151e: f7c3 fe37 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091522: 4b39 ldr r3, [pc, #228] ; (8091608 ) 8091524: 7b1b ldrb r3, [r3, #12] 8091526: b2db uxtb r3, r3 8091528: 461a mov r2, r3 809152a: 4b37 ldr r3, [pc, #220] ; (8091608 ) 809152c: 7b9b ldrb r3, [r3, #14] 809152e: b2db uxtb r3, r3 8091530: 4618 mov r0, r3 8091532: 493c ldr r1, [pc, #240] ; (8091624 ) 8091534: 4613 mov r3, r2 8091536: 009b lsls r3, r3, #2 8091538: 4413 add r3, r2 809153a: 005b lsls r3, r3, #1 809153c: 4413 add r3, r2 809153e: 4403 add r3, r0 8091540: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091544: 461a mov r2, r3 8091546: 218a movs r1, #138 ; 0x8a 8091548: f44f 7082 mov.w r0, #260 ; 0x104 809154c: f7c3 fe20 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091550: 492c ldr r1, [pc, #176] ; (8091604 ) 8091552: f04f 30ff mov.w r0, #4294967295 8091556: f7c3 f85b bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809155a: 230a movs r3, #10 809155c: 220a movs r2, #10 809155e: 219d movs r1, #157 ; 0x9d 8091560: 20ff movs r0, #255 ; 0xff 8091562: f7c3 fce3 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091566: 230a movs r3, #10 8091568: 220a movs r2, #10 809156a: 21bd movs r1, #189 ; 0xbd 809156c: 20ff movs r0, #255 ; 0xff 809156e: f7c3 fcdd bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091572: 230a movs r3, #10 8091574: 220a movs r2, #10 8091576: 216d movs r1, #109 ; 0x6d 8091578: 20ff movs r0, #255 ; 0xff 809157a: f7c3 fcd7 bl 8054f2c if(pardata.THR & 0x80) 809157e: 4b22 ldr r3, [pc, #136] ; (8091608 ) 8091580: 7bdb ldrb r3, [r3, #15] 8091582: b2db uxtb r3, r3 8091584: b25b sxtb r3, r3 8091586: 2b00 cmp r3, #0 8091588: da15 bge.n 80915b6 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809158a: 491e ldr r1, [pc, #120] ; (8091604 ) 809158c: 4824 ldr r0, [pc, #144] ; (8091620 ) 809158e: f7c3 f83f bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091592: f507 73c0 add.w r3, r7, #384 ; 0x180 8091596: 461a mov r2, r3 8091598: 21aa movs r1, #170 ; 0xaa 809159a: f44f 7082 mov.w r0, #260 ; 0x104 809159e: f7c3 fdf7 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80915a2: f507 73c6 add.w r3, r7, #396 ; 0x18c 80915a6: 461a mov r2, r3 80915a8: 21ca movs r1, #202 ; 0xca 80915aa: f44f 7082 mov.w r0, #260 ; 0x104 80915ae: f7c3 fdef bl 8055190 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; 80915b2: f001 beb0 b.w 8093316 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80915b6: 4913 ldr r1, [pc, #76] ; (8091604 ) 80915b8: 4816 ldr r0, [pc, #88] ; (8091614 ) 80915ba: f7c3 f829 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80915be: f507 73c6 add.w r3, r7, #396 ; 0x18c 80915c2: 461a mov r2, r3 80915c4: 21ca movs r1, #202 ; 0xca 80915c6: f44f 7082 mov.w r0, #260 ; 0x104 80915ca: f7c3 fde1 bl 8055190 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80915ce: 4b0e ldr r3, [pc, #56] ; (8091608 ) 80915d0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80915d4: f003 0304 and.w r3, r3, #4 80915d8: 2b00 cmp r3, #0 80915da: d104 bne.n 80915e6 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80915dc: 4909 ldr r1, [pc, #36] ; (8091604 ) 80915de: 4810 ldr r0, [pc, #64] ; (8091620 ) 80915e0: f7c3 f816 bl 8054610 80915e4: e003 b.n 80915ee else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80915e6: 4907 ldr r1, [pc, #28] ; (8091604 ) 80915e8: 480a ldr r0, [pc, #40] ; (8091614 ) 80915ea: f7c3 f811 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80915ee: f507 73c0 add.w r3, r7, #384 ; 0x180 80915f2: 461a mov r2, r3 80915f4: 21aa movs r1, #170 ; 0xaa 80915f6: f44f 7082 mov.w r0, #260 ; 0x104 80915fa: f7c3 fdc9 bl 8055190 break; 80915fe: f001 be8a b.w 8093316 8091602: bf00 nop 8091604: ff0a0f1f .word 0xff0a0f1f 8091608: 20023ea8 .word 0x20023ea8 809160c: 20020844 .word 0x20020844 8091610: 20020894 .word 0x20020894 8091614: ff808080 .word 0xff808080 8091618: 20020070 .word 0x20020070 809161c: 200205cc .word 0x200205cc 8091620: ffd8aa57 .word 0xffd8aa57 8091624: 2002033c .word 0x2002033c case WaveName: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091628: 49a2 ldr r1, [pc, #648] ; (80918b4 ) 809162a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809162e: f7c2 ffef bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091632: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091636: 461a mov r2, r3 8091638: 217a movs r1, #122 ; 0x7a 809163a: f44f 7082 mov.w r0, #260 ; 0x104 809163e: f7c3 fda7 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091642: 499c ldr r1, [pc, #624] ; (80918b4 ) 8091644: f04f 30ff mov.w r0, #4294967295 8091648: f7c2 ffe2 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 809164c: 4b9a ldr r3, [pc, #616] ; (80918b8 ) 809164e: 7b1b ldrb r3, [r3, #12] 8091650: b2db uxtb r3, r3 8091652: 461a mov r2, r3 8091654: 4b99 ldr r3, [pc, #612] ; (80918bc ) 8091656: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809165a: 461a mov r2, r3 809165c: 2127 movs r1, #39 ; 0x27 809165e: 200a movs r0, #10 8091660: f7c3 fd7e bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091664: 4993 ldr r1, [pc, #588] ; (80918b4 ) 8091666: 4896 ldr r0, [pc, #600] ; (80918c0 ) 8091668: f7c2 ffd2 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809166c: 4b92 ldr r3, [pc, #584] ; (80918b8 ) 809166e: 7b1b ldrb r3, [r3, #12] 8091670: b2db uxtb r3, r3 8091672: 461a mov r2, r3 8091674: 4b90 ldr r3, [pc, #576] ; (80918b8 ) 8091676: 7b9b ldrb r3, [r3, #14] 8091678: b2db uxtb r3, r3 809167a: 4618 mov r0, r3 809167c: 4991 ldr r1, [pc, #580] ; (80918c4 ) 809167e: 4613 mov r3, r2 8091680: 009b lsls r3, r3, #2 8091682: 4413 add r3, r2 8091684: 005b lsls r3, r3, #1 8091686: 4413 add r3, r2 8091688: 4403 add r3, r0 809168a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809168e: 461a mov r2, r3 8091690: 218a movs r1, #138 ; 0x8a 8091692: f44f 7082 mov.w r0, #260 ; 0x104 8091696: f7c3 fd7b bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809169a: 4986 ldr r1, [pc, #536] ; (80918b4 ) 809169c: f04f 30ff mov.w r0, #4294967295 80916a0: f7c2 ffb6 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80916a4: 230a movs r3, #10 80916a6: 220a movs r2, #10 80916a8: 219d movs r1, #157 ; 0x9d 80916aa: 20ff movs r0, #255 ; 0xff 80916ac: f7c3 fc3e bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80916b0: 230a movs r3, #10 80916b2: 220a movs r2, #10 80916b4: 21bd movs r1, #189 ; 0xbd 80916b6: 20ff movs r0, #255 ; 0xff 80916b8: f7c3 fc38 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80916bc: 230a movs r3, #10 80916be: 220a movs r2, #10 80916c0: 216d movs r1, #109 ; 0x6d 80916c2: 20ff movs r0, #255 ; 0xff 80916c4: f7c3 fc32 bl 8054f2c if(pardata.THR & 0x80) 80916c8: 4b7b ldr r3, [pc, #492] ; (80918b8 ) 80916ca: 7bdb ldrb r3, [r3, #15] 80916cc: b2db uxtb r3, r3 80916ce: b25b sxtb r3, r3 80916d0: 2b00 cmp r3, #0 80916d2: da15 bge.n 8091700 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80916d4: 4977 ldr r1, [pc, #476] ; (80918b4 ) 80916d6: 487a ldr r0, [pc, #488] ; (80918c0 ) 80916d8: f7c2 ff9a bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80916dc: f507 73c0 add.w r3, r7, #384 ; 0x180 80916e0: 461a mov r2, r3 80916e2: 21aa movs r1, #170 ; 0xaa 80916e4: f44f 7082 mov.w r0, #260 ; 0x104 80916e8: f7c3 fd52 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80916ec: f507 73c6 add.w r3, r7, #396 ; 0x18c 80916f0: 461a mov r2, r3 80916f2: 21ca movs r1, #202 ; 0xca 80916f4: f44f 7082 mov.w r0, #260 ; 0x104 80916f8: f7c3 fd4a bl 8055190 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; 80916fc: f001 be0b b.w 8093316 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091700: 496c ldr r1, [pc, #432] ; (80918b4 ) 8091702: 4871 ldr r0, [pc, #452] ; (80918c8 ) 8091704: f7c2 ff84 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091708: f507 73c6 add.w r3, r7, #396 ; 0x18c 809170c: 461a mov r2, r3 809170e: 21ca movs r1, #202 ; 0xca 8091710: f44f 7082 mov.w r0, #260 ; 0x104 8091714: f7c3 fd3c bl 8055190 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8091718: 4b67 ldr r3, [pc, #412] ; (80918b8 ) 809171a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 809171e: f003 0304 and.w r3, r3, #4 8091722: 2b00 cmp r3, #0 8091724: d104 bne.n 8091730 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091726: 4963 ldr r1, [pc, #396] ; (80918b4 ) 8091728: 4865 ldr r0, [pc, #404] ; (80918c0 ) 809172a: f7c2 ff71 bl 8054610 809172e: e003 b.n 8091738 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091730: 4960 ldr r1, [pc, #384] ; (80918b4 ) 8091732: 4865 ldr r0, [pc, #404] ; (80918c8 ) 8091734: f7c2 ff6c bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091738: f507 73c0 add.w r3, r7, #384 ; 0x180 809173c: 461a mov r2, r3 809173e: 21aa movs r1, #170 ; 0xaa 8091740: f44f 7082 mov.w r0, #260 ; 0x104 8091744: f7c3 fd24 bl 8055190 break; 8091748: f001 bde5 b.w 8093316 case WaveTime: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809174c: 4959 ldr r1, [pc, #356] ; (80918b4 ) 809174e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091752: f7c2 ff5d bl 8054610 if(focused) 8091756: 4b5d ldr r3, [pc, #372] ; (80918cc ) 8091758: 781b ldrb r3, [r3, #0] 809175a: b2db uxtb r3, r3 809175c: 2b00 cmp r3, #0 809175e: d01b beq.n 8091798 { if(blk) 8091760: 4b5b ldr r3, [pc, #364] ; (80918d0 ) 8091762: 681b ldr r3, [r3, #0] 8091764: 2b00 cmp r3, #0 8091766: d02e beq.n 80917c6 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091768: 4b53 ldr r3, [pc, #332] ; (80918b8 ) 809176a: 7b1b ldrb r3, [r3, #12] 809176c: b2db uxtb r3, r3 809176e: 461a mov r2, r3 8091770: 4b51 ldr r3, [pc, #324] ; (80918b8 ) 8091772: 7b9b ldrb r3, [r3, #14] 8091774: b2db uxtb r3, r3 8091776: 4618 mov r0, r3 8091778: 4952 ldr r1, [pc, #328] ; (80918c4 ) 809177a: 4613 mov r3, r2 809177c: 009b lsls r3, r3, #2 809177e: 4413 add r3, r2 8091780: 005b lsls r3, r3, #1 8091782: 4413 add r3, r2 8091784: 4403 add r3, r0 8091786: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809178a: 461a mov r2, r3 809178c: 218a movs r1, #138 ; 0x8a 809178e: f44f 7082 mov.w r0, #260 ; 0x104 8091792: f7c3 fcfd bl 8055190 8091796: e016 b.n 80917c6 } else LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091798: 4b47 ldr r3, [pc, #284] ; (80918b8 ) 809179a: 7b1b ldrb r3, [r3, #12] 809179c: b2db uxtb r3, r3 809179e: 461a mov r2, r3 80917a0: 4b45 ldr r3, [pc, #276] ; (80918b8 ) 80917a2: 7b9b ldrb r3, [r3, #14] 80917a4: b2db uxtb r3, r3 80917a6: 4618 mov r0, r3 80917a8: 4946 ldr r1, [pc, #280] ; (80918c4 ) 80917aa: 4613 mov r3, r2 80917ac: 009b lsls r3, r3, #2 80917ae: 4413 add r3, r2 80917b0: 005b lsls r3, r3, #1 80917b2: 4413 add r3, r2 80917b4: 4403 add r3, r0 80917b6: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80917ba: 461a mov r2, r3 80917bc: 218a movs r1, #138 ; 0x8a 80917be: f44f 7082 mov.w r0, #260 ; 0x104 80917c2: f7c3 fce5 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80917c6: 493b ldr r1, [pc, #236] ; (80918b4 ) 80917c8: f04f 30ff mov.w r0, #4294967295 80917cc: f7c2 ff20 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80917d0: 4b39 ldr r3, [pc, #228] ; (80918b8 ) 80917d2: 7b1b ldrb r3, [r3, #12] 80917d4: b2db uxtb r3, r3 80917d6: 461a mov r2, r3 80917d8: 4b38 ldr r3, [pc, #224] ; (80918bc ) 80917da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80917de: 461a mov r2, r3 80917e0: 2127 movs r1, #39 ; 0x27 80917e2: 200a movs r0, #10 80917e4: f7c3 fcbc bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80917e8: 4932 ldr r1, [pc, #200] ; (80918b4 ) 80917ea: 4835 ldr r0, [pc, #212] ; (80918c0 ) 80917ec: f7c2 ff10 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 80917f0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80917f4: 461a mov r2, r3 80917f6: 217a movs r1, #122 ; 0x7a 80917f8: f44f 7082 mov.w r0, #260 ; 0x104 80917fc: f7c3 fcc8 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091800: 492c ldr r1, [pc, #176] ; (80918b4 ) 8091802: f04f 30ff mov.w r0, #4294967295 8091806: f7c2 ff03 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809180a: 230a movs r3, #10 809180c: 220a movs r2, #10 809180e: 219d movs r1, #157 ; 0x9d 8091810: 20ff movs r0, #255 ; 0xff 8091812: f7c3 fb8b bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091816: 230a movs r3, #10 8091818: 220a movs r2, #10 809181a: 21bd movs r1, #189 ; 0xbd 809181c: 20ff movs r0, #255 ; 0xff 809181e: f7c3 fb85 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091822: 230a movs r3, #10 8091824: 220a movs r2, #10 8091826: 216d movs r1, #109 ; 0x6d 8091828: 20ff movs r0, #255 ; 0xff 809182a: f7c3 fb7f bl 8054f2c if(pardata.THR & 0x80) 809182e: 4b22 ldr r3, [pc, #136] ; (80918b8 ) 8091830: 7bdb ldrb r3, [r3, #15] 8091832: b2db uxtb r3, r3 8091834: b25b sxtb r3, r3 8091836: 2b00 cmp r3, #0 8091838: da15 bge.n 8091866 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809183a: 491e ldr r1, [pc, #120] ; (80918b4 ) 809183c: 4820 ldr r0, [pc, #128] ; (80918c0 ) 809183e: f7c2 fee7 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091842: f507 73c0 add.w r3, r7, #384 ; 0x180 8091846: 461a mov r2, r3 8091848: 21aa movs r1, #170 ; 0xaa 809184a: f44f 7082 mov.w r0, #260 ; 0x104 809184e: f7c3 fc9f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091852: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091856: 461a mov r2, r3 8091858: 21ca movs r1, #202 ; 0xca 809185a: f44f 7082 mov.w r0, #260 ; 0x104 809185e: f7c3 fc97 bl 8055190 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; 8091862: f001 bd58 b.w 8093316 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091866: 4913 ldr r1, [pc, #76] ; (80918b4 ) 8091868: 4817 ldr r0, [pc, #92] ; (80918c8 ) 809186a: f7c2 fed1 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809186e: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091872: 461a mov r2, r3 8091874: 21ca movs r1, #202 ; 0xca 8091876: f44f 7082 mov.w r0, #260 ; 0x104 809187a: f7c3 fc89 bl 8055190 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 809187e: 4b0e ldr r3, [pc, #56] ; (80918b8 ) 8091880: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8091884: f003 0304 and.w r3, r3, #4 8091888: 2b00 cmp r3, #0 809188a: d104 bne.n 8091896 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809188c: 4909 ldr r1, [pc, #36] ; (80918b4 ) 809188e: 480c ldr r0, [pc, #48] ; (80918c0 ) 8091890: f7c2 febe bl 8054610 8091894: e003 b.n 809189e else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091896: 4907 ldr r1, [pc, #28] ; (80918b4 ) 8091898: 480b ldr r0, [pc, #44] ; (80918c8 ) 809189a: f7c2 feb9 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 809189e: f507 73c0 add.w r3, r7, #384 ; 0x180 80918a2: 461a mov r2, r3 80918a4: 21aa movs r1, #170 ; 0xaa 80918a6: f44f 7082 mov.w r0, #260 ; 0x104 80918aa: f7c3 fc71 bl 8055190 break; 80918ae: f001 bd32 b.w 8093316 80918b2: bf00 nop 80918b4: ff0a0f1f .word 0xff0a0f1f 80918b8: 20023ea8 .word 0x20023ea8 80918bc: 200205cc .word 0x200205cc 80918c0: ffd8aa57 .word 0xffd8aa57 80918c4: 2002033c .word 0x2002033c 80918c8: ff808080 .word 0xff808080 80918cc: 20020fc8 .word 0x20020fc8 80918d0: 200216a4 .word 0x200216a4 case WaveAutoKu: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80918d4: 49cd ldr r1, [pc, #820] ; (8091c0c ) 80918d6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80918da: f7c2 fe99 bl 8054610 BSP_LCD_FillRect(253, CHECKBOX_LINE_9-2, 14, 14); 80918de: 230e movs r3, #14 80918e0: 220e movs r2, #14 80918e2: 219b movs r1, #155 ; 0x9b 80918e4: 20fd movs r0, #253 ; 0xfd 80918e6: f7c3 fb21 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80918ea: 49c8 ldr r1, [pc, #800] ; (8091c0c ) 80918ec: f04f 30ff mov.w r0, #4294967295 80918f0: f7c2 fe8e bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80918f4: 4bc6 ldr r3, [pc, #792] ; (8091c10 ) 80918f6: 7b1b ldrb r3, [r3, #12] 80918f8: b2db uxtb r3, r3 80918fa: 461a mov r2, r3 80918fc: 4bc5 ldr r3, [pc, #788] ; (8091c14 ) 80918fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091902: 461a mov r2, r3 8091904: 2127 movs r1, #39 ; 0x27 8091906: 200a movs r0, #10 8091908: f7c3 fc2a bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809190c: 49bf ldr r1, [pc, #764] ; (8091c0c ) 809190e: 48c2 ldr r0, [pc, #776] ; (8091c18 ) 8091910: f7c2 fe7e bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091914: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091918: 461a mov r2, r3 809191a: 217a movs r1, #122 ; 0x7a 809191c: f44f 7082 mov.w r0, #260 ; 0x104 8091920: f7c3 fc36 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091924: 4bba ldr r3, [pc, #744] ; (8091c10 ) 8091926: 7b1b ldrb r3, [r3, #12] 8091928: b2db uxtb r3, r3 809192a: 461a mov r2, r3 809192c: 4bb8 ldr r3, [pc, #736] ; (8091c10 ) 809192e: 7b9b ldrb r3, [r3, #14] 8091930: b2db uxtb r3, r3 8091932: 4618 mov r0, r3 8091934: 49b9 ldr r1, [pc, #740] ; (8091c1c ) 8091936: 4613 mov r3, r2 8091938: 009b lsls r3, r3, #2 809193a: 4413 add r3, r2 809193c: 005b lsls r3, r3, #1 809193e: 4413 add r3, r2 8091940: 4403 add r3, r0 8091942: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091946: 461a mov r2, r3 8091948: 218a movs r1, #138 ; 0x8a 809194a: f44f 7082 mov.w r0, #260 ; 0x104 809194e: f7c3 fc1f bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091952: 49ae ldr r1, [pc, #696] ; (8091c0c ) 8091954: f04f 30ff mov.w r0, #4294967295 8091958: f7c2 fe5a bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809195c: 230a movs r3, #10 809195e: 220a movs r2, #10 8091960: 219d movs r1, #157 ; 0x9d 8091962: 20ff movs r0, #255 ; 0xff 8091964: f7c3 fae2 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091968: 230a movs r3, #10 809196a: 220a movs r2, #10 809196c: 21bd movs r1, #189 ; 0xbd 809196e: 20ff movs r0, #255 ; 0xff 8091970: f7c3 fadc bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091974: 230a movs r3, #10 8091976: 220a movs r2, #10 8091978: 216d movs r1, #109 ; 0x6d 809197a: 20ff movs r0, #255 ; 0xff 809197c: f7c3 fad6 bl 8054f2c if(pardata.THR & 0x80) 8091980: 4ba3 ldr r3, [pc, #652] ; (8091c10 ) 8091982: 7bdb ldrb r3, [r3, #15] 8091984: b2db uxtb r3, r3 8091986: b25b sxtb r3, r3 8091988: 2b00 cmp r3, #0 809198a: da15 bge.n 80919b8 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809198c: 499f ldr r1, [pc, #636] ; (8091c0c ) 809198e: 48a2 ldr r0, [pc, #648] ; (8091c18 ) 8091990: f7c2 fe3e bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091994: f507 73c0 add.w r3, r7, #384 ; 0x180 8091998: 461a mov r2, r3 809199a: 21aa movs r1, #170 ; 0xaa 809199c: f44f 7082 mov.w r0, #260 ; 0x104 80919a0: f7c3 fbf6 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80919a4: f507 73c6 add.w r3, r7, #396 ; 0x18c 80919a8: 461a mov r2, r3 80919aa: 21ca movs r1, #202 ; 0xca 80919ac: f44f 7082 mov.w r0, #260 ; 0x104 80919b0: f7c3 fbee bl 8055190 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; 80919b4: f001 bcaf b.w 8093316 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80919b8: 4994 ldr r1, [pc, #592] ; (8091c0c ) 80919ba: 4899 ldr r0, [pc, #612] ; (8091c20 ) 80919bc: f7c2 fe28 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80919c0: f507 73c6 add.w r3, r7, #396 ; 0x18c 80919c4: 461a mov r2, r3 80919c6: 21ca movs r1, #202 ; 0xca 80919c8: f44f 7082 mov.w r0, #260 ; 0x104 80919cc: f7c3 fbe0 bl 8055190 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80919d0: 4b8f ldr r3, [pc, #572] ; (8091c10 ) 80919d2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80919d6: f003 0304 and.w r3, r3, #4 80919da: 2b00 cmp r3, #0 80919dc: d104 bne.n 80919e8 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80919de: 498b ldr r1, [pc, #556] ; (8091c0c ) 80919e0: 488d ldr r0, [pc, #564] ; (8091c18 ) 80919e2: f7c2 fe15 bl 8054610 80919e6: e003 b.n 80919f0 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80919e8: 4988 ldr r1, [pc, #544] ; (8091c0c ) 80919ea: 488d ldr r0, [pc, #564] ; (8091c20 ) 80919ec: f7c2 fe10 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80919f0: f507 73c0 add.w r3, r7, #384 ; 0x180 80919f4: 461a mov r2, r3 80919f6: 21aa movs r1, #170 ; 0xaa 80919f8: f44f 7082 mov.w r0, #260 ; 0x104 80919fc: f7c3 fbc8 bl 8055190 break; 8091a00: f001 bc89 b.w 8093316 case WaveThr: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091a04: 4981 ldr r1, [pc, #516] ; (8091c0c ) 8091a06: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091a0a: f7c2 fe01 bl 8054610 BSP_LCD_FillRect(253, CHECKBOX_LINE_11-2, 14, 14); 8091a0e: 230e movs r3, #14 8091a10: 220e movs r2, #14 8091a12: 21bb movs r1, #187 ; 0xbb 8091a14: 20fd movs r0, #253 ; 0xfd 8091a16: f7c3 fa89 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091a1a: 497c ldr r1, [pc, #496] ; (8091c0c ) 8091a1c: f04f 30ff mov.w r0, #4294967295 8091a20: f7c2 fdf6 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091a24: 4b7a ldr r3, [pc, #488] ; (8091c10 ) 8091a26: 7b1b ldrb r3, [r3, #12] 8091a28: b2db uxtb r3, r3 8091a2a: 461a mov r2, r3 8091a2c: 4b79 ldr r3, [pc, #484] ; (8091c14 ) 8091a2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091a32: 461a mov r2, r3 8091a34: 2127 movs r1, #39 ; 0x27 8091a36: 200a movs r0, #10 8091a38: f7c3 fb92 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091a3c: 4973 ldr r1, [pc, #460] ; (8091c0c ) 8091a3e: 4876 ldr r0, [pc, #472] ; (8091c18 ) 8091a40: f7c2 fde6 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091a44: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091a48: 461a mov r2, r3 8091a4a: 217a movs r1, #122 ; 0x7a 8091a4c: f44f 7082 mov.w r0, #260 ; 0x104 8091a50: f7c3 fb9e bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091a54: 4b6e ldr r3, [pc, #440] ; (8091c10 ) 8091a56: 7b1b ldrb r3, [r3, #12] 8091a58: b2db uxtb r3, r3 8091a5a: 461a mov r2, r3 8091a5c: 4b6c ldr r3, [pc, #432] ; (8091c10 ) 8091a5e: 7b9b ldrb r3, [r3, #14] 8091a60: b2db uxtb r3, r3 8091a62: 4618 mov r0, r3 8091a64: 496d ldr r1, [pc, #436] ; (8091c1c ) 8091a66: 4613 mov r3, r2 8091a68: 009b lsls r3, r3, #2 8091a6a: 4413 add r3, r2 8091a6c: 005b lsls r3, r3, #1 8091a6e: 4413 add r3, r2 8091a70: 4403 add r3, r0 8091a72: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091a76: 461a mov r2, r3 8091a78: 218a movs r1, #138 ; 0x8a 8091a7a: f44f 7082 mov.w r0, #260 ; 0x104 8091a7e: f7c3 fb87 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091a82: 4962 ldr r1, [pc, #392] ; (8091c0c ) 8091a84: f04f 30ff mov.w r0, #4294967295 8091a88: f7c2 fdc2 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091a8c: 230a movs r3, #10 8091a8e: 220a movs r2, #10 8091a90: 219d movs r1, #157 ; 0x9d 8091a92: 20ff movs r0, #255 ; 0xff 8091a94: f7c3 fa4a bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091a98: 230a movs r3, #10 8091a9a: 220a movs r2, #10 8091a9c: 21bd movs r1, #189 ; 0xbd 8091a9e: 20ff movs r0, #255 ; 0xff 8091aa0: f7c3 fa44 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091aa4: 230a movs r3, #10 8091aa6: 220a movs r2, #10 8091aa8: 216d movs r1, #109 ; 0x6d 8091aaa: 20ff movs r0, #255 ; 0xff 8091aac: f7c3 fa3e bl 8054f2c if(pardata.THR & 0x80) 8091ab0: 4b57 ldr r3, [pc, #348] ; (8091c10 ) 8091ab2: 7bdb ldrb r3, [r3, #15] 8091ab4: b2db uxtb r3, r3 8091ab6: b25b sxtb r3, r3 8091ab8: 2b00 cmp r3, #0 8091aba: da15 bge.n 8091ae8 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091abc: 4953 ldr r1, [pc, #332] ; (8091c0c ) 8091abe: 4856 ldr r0, [pc, #344] ; (8091c18 ) 8091ac0: f7c2 fda6 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091ac4: f507 73c0 add.w r3, r7, #384 ; 0x180 8091ac8: 461a mov r2, r3 8091aca: 21aa movs r1, #170 ; 0xaa 8091acc: f44f 7082 mov.w r0, #260 ; 0x104 8091ad0: f7c3 fb5e bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091ad4: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091ad8: 461a mov r2, r3 8091ada: 21ca movs r1, #202 ; 0xca 8091adc: f44f 7082 mov.w r0, #260 ; 0x104 8091ae0: f7c3 fb56 bl 8055190 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; 8091ae4: f001 bc17 b.w 8093316 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091ae8: 4948 ldr r1, [pc, #288] ; (8091c0c ) 8091aea: 484d ldr r0, [pc, #308] ; (8091c20 ) 8091aec: f7c2 fd90 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091af0: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091af4: 461a mov r2, r3 8091af6: 21ca movs r1, #202 ; 0xca 8091af8: f44f 7082 mov.w r0, #260 ; 0x104 8091afc: f7c3 fb48 bl 8055190 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8091b00: 4b43 ldr r3, [pc, #268] ; (8091c10 ) 8091b02: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8091b06: f003 0304 and.w r3, r3, #4 8091b0a: 2b00 cmp r3, #0 8091b0c: d104 bne.n 8091b18 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091b0e: 493f ldr r1, [pc, #252] ; (8091c0c ) 8091b10: 4841 ldr r0, [pc, #260] ; (8091c18 ) 8091b12: f7c2 fd7d bl 8054610 8091b16: e003 b.n 8091b20 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091b18: 493c ldr r1, [pc, #240] ; (8091c0c ) 8091b1a: 4841 ldr r0, [pc, #260] ; (8091c20 ) 8091b1c: f7c2 fd78 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091b20: f507 73c0 add.w r3, r7, #384 ; 0x180 8091b24: 461a mov r2, r3 8091b26: 21aa movs r1, #170 ; 0xaa 8091b28: f44f 7082 mov.w r0, #260 ; 0x104 8091b2c: f7c3 fb30 bl 8055190 break; 8091b30: f001 bbf1 b.w 8093316 case WaveMax_ALL: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091b34: 4935 ldr r1, [pc, #212] ; (8091c0c ) 8091b36: f04f 30ff mov.w r0, #4294967295 8091b3a: f7c2 fd69 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091b3e: 4b34 ldr r3, [pc, #208] ; (8091c10 ) 8091b40: 7b1b ldrb r3, [r3, #12] 8091b42: b2db uxtb r3, r3 8091b44: 461a mov r2, r3 8091b46: 4b33 ldr r3, [pc, #204] ; (8091c14 ) 8091b48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091b4c: 461a mov r2, r3 8091b4e: 2127 movs r1, #39 ; 0x27 8091b50: 200a movs r0, #10 8091b52: f7c3 fb05 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091b56: 492d ldr r1, [pc, #180] ; (8091c0c ) 8091b58: 482f ldr r0, [pc, #188] ; (8091c18 ) 8091b5a: f7c2 fd59 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091b5e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091b62: 461a mov r2, r3 8091b64: 217a movs r1, #122 ; 0x7a 8091b66: f44f 7082 mov.w r0, #260 ; 0x104 8091b6a: f7c3 fb11 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091b6e: 4b28 ldr r3, [pc, #160] ; (8091c10 ) 8091b70: 7b1b ldrb r3, [r3, #12] 8091b72: b2db uxtb r3, r3 8091b74: 461a mov r2, r3 8091b76: 4b26 ldr r3, [pc, #152] ; (8091c10 ) 8091b78: 7b9b ldrb r3, [r3, #14] 8091b7a: b2db uxtb r3, r3 8091b7c: 4618 mov r0, r3 8091b7e: 4927 ldr r1, [pc, #156] ; (8091c1c ) 8091b80: 4613 mov r3, r2 8091b82: 009b lsls r3, r3, #2 8091b84: 4413 add r3, r2 8091b86: 005b lsls r3, r3, #1 8091b88: 4413 add r3, r2 8091b8a: 4403 add r3, r0 8091b8c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091b90: 461a mov r2, r3 8091b92: 218a movs r1, #138 ; 0x8a 8091b94: f44f 7082 mov.w r0, #260 ; 0x104 8091b98: f7c3 fafa bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091b9c: 491b ldr r1, [pc, #108] ; (8091c0c ) 8091b9e: f04f 30ff mov.w r0, #4294967295 8091ba2: f7c2 fd35 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091ba6: 230a movs r3, #10 8091ba8: 220a movs r2, #10 8091baa: 219d movs r1, #157 ; 0x9d 8091bac: 20ff movs r0, #255 ; 0xff 8091bae: f7c3 f9bd bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091bb2: 230a movs r3, #10 8091bb4: 220a movs r2, #10 8091bb6: 21bd movs r1, #189 ; 0xbd 8091bb8: 20ff movs r0, #255 ; 0xff 8091bba: f7c3 f9b7 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091bbe: 230a movs r3, #10 8091bc0: 220a movs r2, #10 8091bc2: 216d movs r1, #109 ; 0x6d 8091bc4: 20ff movs r0, #255 ; 0xff 8091bc6: f7c3 f9b1 bl 8054f2c if(pardata.THR & 0x80) 8091bca: 4b11 ldr r3, [pc, #68] ; (8091c10 ) 8091bcc: 7bdb ldrb r3, [r3, #15] 8091bce: b2db uxtb r3, r3 8091bd0: b25b sxtb r3, r3 8091bd2: 2b00 cmp r3, #0 8091bd4: da26 bge.n 8091c24 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091bd6: 490d ldr r1, [pc, #52] ; (8091c0c ) 8091bd8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091bdc: f7c2 fd18 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091be0: f507 73c0 add.w r3, r7, #384 ; 0x180 8091be4: 461a mov r2, r3 8091be6: 21aa movs r1, #170 ; 0xaa 8091be8: f44f 7082 mov.w r0, #260 ; 0x104 8091bec: f7c3 fad0 bl 8055190 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091bf0: 4906 ldr r1, [pc, #24] ; (8091c0c ) 8091bf2: 4809 ldr r0, [pc, #36] ; (8091c18 ) 8091bf4: f7c2 fd0c bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091bf8: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091bfc: 461a mov r2, r3 8091bfe: 21ca movs r1, #202 ; 0xca 8091c00: f44f 7082 mov.w r0, #260 ; 0x104 8091c04: f7c3 fac4 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, strThr); LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); LCD_DisplayStringC(260, LCD_LINE_10, strMax); } break; 8091c08: f001 bb85 b.w 8093316 8091c0c: ff0a0f1f .word 0xff0a0f1f 8091c10: 20023ea8 .word 0x20023ea8 8091c14: 200205cc .word 0x200205cc 8091c18: ffd8aa57 .word 0xffd8aa57 8091c1c: 2002033c .word 0x2002033c 8091c20: ff808080 .word 0xff808080 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091c24: 49bb ldr r1, [pc, #748] ; (8091f14 ) 8091c26: 48bc ldr r0, [pc, #752] ; (8091f18 ) 8091c28: f7c2 fcf2 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091c2c: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091c30: 461a mov r2, r3 8091c32: 21ca movs r1, #202 ; 0xca 8091c34: f44f 7082 mov.w r0, #260 ; 0x104 8091c38: f7c3 faaa bl 8055190 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091c3c: 49b5 ldr r1, [pc, #724] ; (8091f14 ) 8091c3e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091c42: f7c2 fce5 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091c46: f507 73c0 add.w r3, r7, #384 ; 0x180 8091c4a: 461a mov r2, r3 8091c4c: 21aa movs r1, #170 ; 0xaa 8091c4e: f44f 7082 mov.w r0, #260 ; 0x104 8091c52: f7c3 fa9d bl 8055190 break; 8091c56: f001 bb5e b.w 8093316 case WaveThr_ALL: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091c5a: 49ae ldr r1, [pc, #696] ; (8091f14 ) 8091c5c: f04f 30ff mov.w r0, #4294967295 8091c60: f7c2 fcd6 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091c64: 4bad ldr r3, [pc, #692] ; (8091f1c ) 8091c66: 7b1b ldrb r3, [r3, #12] 8091c68: b2db uxtb r3, r3 8091c6a: 461a mov r2, r3 8091c6c: 4bac ldr r3, [pc, #688] ; (8091f20 ) 8091c6e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091c72: 461a mov r2, r3 8091c74: 2127 movs r1, #39 ; 0x27 8091c76: 200a movs r0, #10 8091c78: f7c3 fa72 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091c7c: 49a5 ldr r1, [pc, #660] ; (8091f14 ) 8091c7e: 48a9 ldr r0, [pc, #676] ; (8091f24 ) 8091c80: f7c2 fcc6 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091c84: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091c88: 461a mov r2, r3 8091c8a: 217a movs r1, #122 ; 0x7a 8091c8c: f44f 7082 mov.w r0, #260 ; 0x104 8091c90: f7c3 fa7e bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091c94: 4ba1 ldr r3, [pc, #644] ; (8091f1c ) 8091c96: 7b1b ldrb r3, [r3, #12] 8091c98: b2db uxtb r3, r3 8091c9a: 461a mov r2, r3 8091c9c: 4b9f ldr r3, [pc, #636] ; (8091f1c ) 8091c9e: 7b9b ldrb r3, [r3, #14] 8091ca0: b2db uxtb r3, r3 8091ca2: 4618 mov r0, r3 8091ca4: 49a0 ldr r1, [pc, #640] ; (8091f28 ) 8091ca6: 4613 mov r3, r2 8091ca8: 009b lsls r3, r3, #2 8091caa: 4413 add r3, r2 8091cac: 005b lsls r3, r3, #1 8091cae: 4413 add r3, r2 8091cb0: 4403 add r3, r0 8091cb2: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091cb6: 461a mov r2, r3 8091cb8: 218a movs r1, #138 ; 0x8a 8091cba: f44f 7082 mov.w r0, #260 ; 0x104 8091cbe: f7c3 fa67 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091cc2: 4994 ldr r1, [pc, #592] ; (8091f14 ) 8091cc4: f04f 30ff mov.w r0, #4294967295 8091cc8: f7c2 fca2 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091ccc: 230a movs r3, #10 8091cce: 220a movs r2, #10 8091cd0: 219d movs r1, #157 ; 0x9d 8091cd2: 20ff movs r0, #255 ; 0xff 8091cd4: f7c3 f92a bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091cd8: 230a movs r3, #10 8091cda: 220a movs r2, #10 8091cdc: 21bd movs r1, #189 ; 0xbd 8091cde: 20ff movs r0, #255 ; 0xff 8091ce0: f7c3 f924 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091ce4: 230a movs r3, #10 8091ce6: 220a movs r2, #10 8091ce8: 216d movs r1, #109 ; 0x6d 8091cea: 20ff movs r0, #255 ; 0xff 8091cec: f7c3 f91e bl 8054f2c if(pardata.THR & 0x80) 8091cf0: 4b8a ldr r3, [pc, #552] ; (8091f1c ) 8091cf2: 7bdb ldrb r3, [r3, #15] 8091cf4: b2db uxtb r3, r3 8091cf6: b25b sxtb r3, r3 8091cf8: 2b00 cmp r3, #0 8091cfa: da1a bge.n 8091d32 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091cfc: 4985 ldr r1, [pc, #532] ; (8091f14 ) 8091cfe: 4889 ldr r0, [pc, #548] ; (8091f24 ) 8091d00: f7c2 fc86 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091d04: f507 73c0 add.w r3, r7, #384 ; 0x180 8091d08: 461a mov r2, r3 8091d0a: 21aa movs r1, #170 ; 0xaa 8091d0c: f44f 7082 mov.w r0, #260 ; 0x104 8091d10: f7c3 fa3e bl 8055190 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091d14: 497f ldr r1, [pc, #508] ; (8091f14 ) 8091d16: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091d1a: f7c2 fc79 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091d1e: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091d22: 461a mov r2, r3 8091d24: 21ca movs r1, #202 ; 0xca 8091d26: f44f 7082 mov.w r0, #260 ; 0x104 8091d2a: f7c3 fa31 bl 8055190 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; 8091d2e: f001 baf2 b.w 8093316 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091d32: 4978 ldr r1, [pc, #480] ; (8091f14 ) 8091d34: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091d38: f7c2 fc6a bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091d3c: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091d40: 461a mov r2, r3 8091d42: 21ca movs r1, #202 ; 0xca 8091d44: f44f 7082 mov.w r0, #260 ; 0x104 8091d48: f7c3 fa22 bl 8055190 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8091d4c: 4b73 ldr r3, [pc, #460] ; (8091f1c ) 8091d4e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8091d52: f003 0304 and.w r3, r3, #4 8091d56: 2b00 cmp r3, #0 8091d58: d104 bne.n 8091d64 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091d5a: 496e ldr r1, [pc, #440] ; (8091f14 ) 8091d5c: 4871 ldr r0, [pc, #452] ; (8091f24 ) 8091d5e: f7c2 fc57 bl 8054610 8091d62: e003 b.n 8091d6c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091d64: 496b ldr r1, [pc, #428] ; (8091f14 ) 8091d66: 486c ldr r0, [pc, #432] ; (8091f18 ) 8091d68: f7c2 fc52 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091d6c: f507 73c0 add.w r3, r7, #384 ; 0x180 8091d70: 461a mov r2, r3 8091d72: 21aa movs r1, #170 ; 0xaa 8091d74: f44f 7082 mov.w r0, #260 ; 0x104 8091d78: f7c3 fa0a bl 8055190 break; 8091d7c: f001 bacb b.w 8093316 case WaveMax_IDT: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091d80: 4964 ldr r1, [pc, #400] ; (8091f14 ) 8091d82: f04f 30ff mov.w r0, #4294967295 8091d86: f7c2 fc43 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091d8a: 4b64 ldr r3, [pc, #400] ; (8091f1c ) 8091d8c: 7b1b ldrb r3, [r3, #12] 8091d8e: b2db uxtb r3, r3 8091d90: 461a mov r2, r3 8091d92: 4b63 ldr r3, [pc, #396] ; (8091f20 ) 8091d94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091d98: 461a mov r2, r3 8091d9a: 2127 movs r1, #39 ; 0x27 8091d9c: 200a movs r0, #10 8091d9e: f7c3 f9df bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091da2: 495c ldr r1, [pc, #368] ; (8091f14 ) 8091da4: 485f ldr r0, [pc, #380] ; (8091f24 ) 8091da6: f7c2 fc33 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091daa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091dae: 461a mov r2, r3 8091db0: 217a movs r1, #122 ; 0x7a 8091db2: f44f 7082 mov.w r0, #260 ; 0x104 8091db6: f7c3 f9eb bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091dba: 4b58 ldr r3, [pc, #352] ; (8091f1c ) 8091dbc: 7b1b ldrb r3, [r3, #12] 8091dbe: b2db uxtb r3, r3 8091dc0: 461a mov r2, r3 8091dc2: 4b56 ldr r3, [pc, #344] ; (8091f1c ) 8091dc4: 7b9b ldrb r3, [r3, #14] 8091dc6: b2db uxtb r3, r3 8091dc8: 4618 mov r0, r3 8091dca: 4957 ldr r1, [pc, #348] ; (8091f28 ) 8091dcc: 4613 mov r3, r2 8091dce: 009b lsls r3, r3, #2 8091dd0: 4413 add r3, r2 8091dd2: 005b lsls r3, r3, #1 8091dd4: 4413 add r3, r2 8091dd6: 4403 add r3, r0 8091dd8: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091ddc: 461a mov r2, r3 8091dde: 218a movs r1, #138 ; 0x8a 8091de0: f44f 7082 mov.w r0, #260 ; 0x104 8091de4: f7c3 f9d4 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091de8: 494a ldr r1, [pc, #296] ; (8091f14 ) 8091dea: f04f 30ff mov.w r0, #4294967295 8091dee: f7c2 fc0f bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091df2: 230a movs r3, #10 8091df4: 220a movs r2, #10 8091df6: 219d movs r1, #157 ; 0x9d 8091df8: 20ff movs r0, #255 ; 0xff 8091dfa: f7c3 f897 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091dfe: 230a movs r3, #10 8091e00: 220a movs r2, #10 8091e02: 21bd movs r1, #189 ; 0xbd 8091e04: 20ff movs r0, #255 ; 0xff 8091e06: f7c3 f891 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091e0a: 230a movs r3, #10 8091e0c: 220a movs r2, #10 8091e0e: 216d movs r1, #109 ; 0x6d 8091e10: 20ff movs r0, #255 ; 0xff 8091e12: f7c3 f88b bl 8054f2c if(pardata.THR & 0x80) 8091e16: 4b41 ldr r3, [pc, #260] ; (8091f1c ) 8091e18: 7bdb ldrb r3, [r3, #15] 8091e1a: b2db uxtb r3, r3 8091e1c: b25b sxtb r3, r3 8091e1e: 2b00 cmp r3, #0 8091e20: da0c bge.n 8091e3c { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091e22: 493c ldr r1, [pc, #240] ; (8091f14 ) 8091e24: 483f ldr r0, [pc, #252] ; (8091f24 ) 8091e26: f7c2 fbf3 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091e2a: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091e2e: 461a mov r2, r3 8091e30: 21ca movs r1, #202 ; 0xca 8091e32: f44f 7082 mov.w r0, #260 ; 0x104 8091e36: f7c3 f9ab bl 8055190 8091e3a: e00b b.n 8091e54 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091e3c: 4935 ldr r1, [pc, #212] ; (8091f14 ) 8091e3e: 4836 ldr r0, [pc, #216] ; (8091f18 ) 8091e40: f7c2 fbe6 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091e44: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091e48: 461a mov r2, r3 8091e4a: 21ca movs r1, #202 ; 0xca 8091e4c: f44f 7082 mov.w r0, #260 ; 0x104 8091e50: f7c3 f99e bl 8055190 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091e54: 492f ldr r1, [pc, #188] ; (8091f14 ) 8091e56: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091e5a: f7c2 fbd9 bl 8054610 if(blk) 8091e5e: 4b33 ldr r3, [pc, #204] ; (8091f2c ) 8091e60: 681b ldr r3, [r3, #0] 8091e62: 2b00 cmp r3, #0 8091e64: d00b beq.n 8091e7e LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8091e66: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8091e6a: b2db uxtb r3, r3 8091e6c: 461a mov r2, r3 8091e6e: 4b30 ldr r3, [pc, #192] ; (8091f30 ) 8091e70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091e74: 461a mov r2, r3 8091e76: 21aa movs r1, #170 ; 0xaa 8091e78: 20c6 movs r0, #198 ; 0xc6 8091e7a: f7c3 f971 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091e7e: 4925 ldr r1, [pc, #148] ; (8091f14 ) 8091e80: 4828 ldr r0, [pc, #160] ; (8091f24 ) 8091e82: f7c2 fbc5 bl 8054610 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8091e86: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8091e8a: b2db uxtb r3, r3 8091e8c: 461a mov r2, r3 8091e8e: 4b28 ldr r3, [pc, #160] ; (8091f30 ) 8091e90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091e94: 461a mov r2, r3 8091e96: 21aa movs r1, #170 ; 0xaa 8091e98: 20d6 movs r0, #214 ; 0xd6 8091e9a: f7c3 f961 bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8091e9e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8091ea2: b2db uxtb r3, r3 8091ea4: 461a mov r2, r3 8091ea6: 4b22 ldr r3, [pc, #136] ; (8091f30 ) 8091ea8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091eac: 461a mov r2, r3 8091eae: 21aa movs r1, #170 ; 0xaa 8091eb0: 20e6 movs r0, #230 ; 0xe6 8091eb2: f7c3 f955 bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8091eb6: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8091eba: b2db uxtb r3, r3 8091ebc: 461a mov r2, r3 8091ebe: 4b1c ldr r3, [pc, #112] ; (8091f30 ) 8091ec0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091ec4: 461a mov r2, r3 8091ec6: 21aa movs r1, #170 ; 0xaa 8091ec8: 20f6 movs r0, #246 ; 0xf6 8091eca: f7c3 f949 bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8091ece: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8091ed2: b2db uxtb r3, r3 8091ed4: 461a mov r2, r3 8091ed6: 4b16 ldr r3, [pc, #88] ; (8091f30 ) 8091ed8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091edc: 461a mov r2, r3 8091ede: 21aa movs r1, #170 ; 0xaa 8091ee0: f44f 7083 mov.w r0, #262 ; 0x106 8091ee4: f7c3 f93c bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 8091ee8: 4a12 ldr r2, [pc, #72] ; (8091f34 ) 8091eea: 21aa movs r1, #170 ; 0xaa 8091eec: f44f 708b mov.w r0, #278 ; 0x116 8091ef0: f7c3 f936 bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8091ef4: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8091ef8: b2db uxtb r3, r3 8091efa: 461a mov r2, r3 8091efc: 4b0c ldr r3, [pc, #48] ; (8091f30 ) 8091efe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091f02: 461a mov r2, r3 8091f04: 21aa movs r1, #170 ; 0xaa 8091f06: f44f 7093 mov.w r0, #294 ; 0x126 8091f0a: f7c3 f929 bl 8055160 break; 8091f0e: f001 ba02 b.w 8093316 8091f12: bf00 nop 8091f14: ff0a0f1f .word 0xff0a0f1f 8091f18: ff808080 .word 0xff808080 8091f1c: 20023ea8 .word 0x20023ea8 8091f20: 200205cc .word 0x200205cc 8091f24: ffd8aa57 .word 0xffd8aa57 8091f28: 2002033c .word 0x2002033c 8091f2c: 200216a4 .word 0x200216a4 8091f30: 2002096c .word 0x2002096c 8091f34: 080d3b58 .word 0x080d3b58 case WaveMax_IET: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091f38: 49c8 ldr r1, [pc, #800] ; (809225c ) 8091f3a: f04f 30ff mov.w r0, #4294967295 8091f3e: f7c2 fb67 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091f42: 4bc7 ldr r3, [pc, #796] ; (8092260 ) 8091f44: 7b1b ldrb r3, [r3, #12] 8091f46: b2db uxtb r3, r3 8091f48: 461a mov r2, r3 8091f4a: 4bc6 ldr r3, [pc, #792] ; (8092264 ) 8091f4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091f50: 461a mov r2, r3 8091f52: 2127 movs r1, #39 ; 0x27 8091f54: 200a movs r0, #10 8091f56: f7c3 f903 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091f5a: 49c0 ldr r1, [pc, #768] ; (809225c ) 8091f5c: 48c2 ldr r0, [pc, #776] ; (8092268 ) 8091f5e: f7c2 fb57 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091f62: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091f66: 461a mov r2, r3 8091f68: 217a movs r1, #122 ; 0x7a 8091f6a: f44f 7082 mov.w r0, #260 ; 0x104 8091f6e: f7c3 f90f bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091f72: 4bbb ldr r3, [pc, #748] ; (8092260 ) 8091f74: 7b1b ldrb r3, [r3, #12] 8091f76: b2db uxtb r3, r3 8091f78: 461a mov r2, r3 8091f7a: 4bb9 ldr r3, [pc, #740] ; (8092260 ) 8091f7c: 7b9b ldrb r3, [r3, #14] 8091f7e: b2db uxtb r3, r3 8091f80: 4618 mov r0, r3 8091f82: 49ba ldr r1, [pc, #744] ; (809226c ) 8091f84: 4613 mov r3, r2 8091f86: 009b lsls r3, r3, #2 8091f88: 4413 add r3, r2 8091f8a: 005b lsls r3, r3, #1 8091f8c: 4413 add r3, r2 8091f8e: 4403 add r3, r0 8091f90: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091f94: 461a mov r2, r3 8091f96: 218a movs r1, #138 ; 0x8a 8091f98: f44f 7082 mov.w r0, #260 ; 0x104 8091f9c: f7c3 f8f8 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091fa0: 49ae ldr r1, [pc, #696] ; (809225c ) 8091fa2: f04f 30ff mov.w r0, #4294967295 8091fa6: f7c2 fb33 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091faa: 230a movs r3, #10 8091fac: 220a movs r2, #10 8091fae: 219d movs r1, #157 ; 0x9d 8091fb0: 20ff movs r0, #255 ; 0xff 8091fb2: f7c2 ffbb bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091fb6: 230a movs r3, #10 8091fb8: 220a movs r2, #10 8091fba: 21bd movs r1, #189 ; 0xbd 8091fbc: 20ff movs r0, #255 ; 0xff 8091fbe: f7c2 ffb5 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091fc2: 230a movs r3, #10 8091fc4: 220a movs r2, #10 8091fc6: 216d movs r1, #109 ; 0x6d 8091fc8: 20ff movs r0, #255 ; 0xff 8091fca: f7c2 ffaf bl 8054f2c if(pardata.THR & 0x80) 8091fce: 4ba4 ldr r3, [pc, #656] ; (8092260 ) 8091fd0: 7bdb ldrb r3, [r3, #15] 8091fd2: b2db uxtb r3, r3 8091fd4: b25b sxtb r3, r3 8091fd6: 2b00 cmp r3, #0 8091fd8: da0c bge.n 8091ff4 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091fda: 49a0 ldr r1, [pc, #640] ; (809225c ) 8091fdc: 48a2 ldr r0, [pc, #648] ; (8092268 ) 8091fde: f7c2 fb17 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091fe2: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091fe6: 461a mov r2, r3 8091fe8: 21ca movs r1, #202 ; 0xca 8091fea: f44f 7082 mov.w r0, #260 ; 0x104 8091fee: f7c3 f8cf bl 8055190 8091ff2: e00b b.n 809200c } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091ff4: 4999 ldr r1, [pc, #612] ; (809225c ) 8091ff6: 489e ldr r0, [pc, #632] ; (8092270 ) 8091ff8: f7c2 fb0a bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091ffc: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092000: 461a mov r2, r3 8092002: 21ca movs r1, #202 ; 0xca 8092004: f44f 7082 mov.w r0, #260 ; 0x104 8092008: f7c3 f8c2 bl 8055190 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809200c: 4993 ldr r1, [pc, #588] ; (809225c ) 809200e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8092012: f7c2 fafd bl 8054610 if(blk) 8092016: 4b97 ldr r3, [pc, #604] ; (8092274 ) 8092018: 681b ldr r3, [r3, #0] 809201a: 2b00 cmp r3, #0 809201c: d00b beq.n 8092036 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 809201e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8092022: b2db uxtb r3, r3 8092024: 461a mov r2, r3 8092026: 4b94 ldr r3, [pc, #592] ; (8092278 ) 8092028: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809202c: 461a mov r2, r3 809202e: 21aa movs r1, #170 ; 0xaa 8092030: 20d6 movs r0, #214 ; 0xd6 8092032: f7c3 f895 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092036: 4989 ldr r1, [pc, #548] ; (809225c ) 8092038: 488b ldr r0, [pc, #556] ; (8092268 ) 809203a: f7c2 fae9 bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 809203e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8092042: b2db uxtb r3, r3 8092044: 461a mov r2, r3 8092046: 4b8c ldr r3, [pc, #560] ; (8092278 ) 8092048: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809204c: 461a mov r2, r3 809204e: 21aa movs r1, #170 ; 0xaa 8092050: 20c6 movs r0, #198 ; 0xc6 8092052: f7c3 f885 bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8092056: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 809205a: b2db uxtb r3, r3 809205c: 461a mov r2, r3 809205e: 4b86 ldr r3, [pc, #536] ; (8092278 ) 8092060: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092064: 461a mov r2, r3 8092066: 21aa movs r1, #170 ; 0xaa 8092068: 20e6 movs r0, #230 ; 0xe6 809206a: f7c3 f879 bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 809206e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8092072: b2db uxtb r3, r3 8092074: 461a mov r2, r3 8092076: 4b80 ldr r3, [pc, #512] ; (8092278 ) 8092078: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809207c: 461a mov r2, r3 809207e: 21aa movs r1, #170 ; 0xaa 8092080: 20f6 movs r0, #246 ; 0xf6 8092082: f7c3 f86d bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8092086: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 809208a: b2db uxtb r3, r3 809208c: 461a mov r2, r3 809208e: 4b7a ldr r3, [pc, #488] ; (8092278 ) 8092090: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092094: 461a mov r2, r3 8092096: 21aa movs r1, #170 ; 0xaa 8092098: f44f 7083 mov.w r0, #262 ; 0x106 809209c: f7c3 f860 bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 80920a0: 4a76 ldr r2, [pc, #472] ; (809227c ) 80920a2: 21aa movs r1, #170 ; 0xaa 80920a4: f44f 708b mov.w r0, #278 ; 0x116 80920a8: f7c3 f85a bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 80920ac: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80920b0: b2db uxtb r3, r3 80920b2: 461a mov r2, r3 80920b4: 4b70 ldr r3, [pc, #448] ; (8092278 ) 80920b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80920ba: 461a mov r2, r3 80920bc: 21aa movs r1, #170 ; 0xaa 80920be: f44f 7093 mov.w r0, #294 ; 0x126 80920c2: f7c3 f84d bl 8055160 break; 80920c6: f001 b926 b.w 8093316 case WaveMax_IES: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80920ca: 4964 ldr r1, [pc, #400] ; (809225c ) 80920cc: f04f 30ff mov.w r0, #4294967295 80920d0: f7c2 fa9e bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80920d4: 4b62 ldr r3, [pc, #392] ; (8092260 ) 80920d6: 7b1b ldrb r3, [r3, #12] 80920d8: b2db uxtb r3, r3 80920da: 461a mov r2, r3 80920dc: 4b61 ldr r3, [pc, #388] ; (8092264 ) 80920de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80920e2: 461a mov r2, r3 80920e4: 2127 movs r1, #39 ; 0x27 80920e6: 200a movs r0, #10 80920e8: f7c3 f83a bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80920ec: 495b ldr r1, [pc, #364] ; (809225c ) 80920ee: 485e ldr r0, [pc, #376] ; (8092268 ) 80920f0: f7c2 fa8e bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 80920f4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80920f8: 461a mov r2, r3 80920fa: 217a movs r1, #122 ; 0x7a 80920fc: f44f 7082 mov.w r0, #260 ; 0x104 8092100: f7c3 f846 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092104: 4b56 ldr r3, [pc, #344] ; (8092260 ) 8092106: 7b1b ldrb r3, [r3, #12] 8092108: b2db uxtb r3, r3 809210a: 461a mov r2, r3 809210c: 4b54 ldr r3, [pc, #336] ; (8092260 ) 809210e: 7b9b ldrb r3, [r3, #14] 8092110: b2db uxtb r3, r3 8092112: 4618 mov r0, r3 8092114: 4955 ldr r1, [pc, #340] ; (809226c ) 8092116: 4613 mov r3, r2 8092118: 009b lsls r3, r3, #2 809211a: 4413 add r3, r2 809211c: 005b lsls r3, r3, #1 809211e: 4413 add r3, r2 8092120: 4403 add r3, r0 8092122: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092126: 461a mov r2, r3 8092128: 218a movs r1, #138 ; 0x8a 809212a: f44f 7082 mov.w r0, #260 ; 0x104 809212e: f7c3 f82f bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092132: 494a ldr r1, [pc, #296] ; (809225c ) 8092134: f04f 30ff mov.w r0, #4294967295 8092138: f7c2 fa6a bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809213c: 230a movs r3, #10 809213e: 220a movs r2, #10 8092140: 219d movs r1, #157 ; 0x9d 8092142: 20ff movs r0, #255 ; 0xff 8092144: f7c2 fef2 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092148: 230a movs r3, #10 809214a: 220a movs r2, #10 809214c: 21bd movs r1, #189 ; 0xbd 809214e: 20ff movs r0, #255 ; 0xff 8092150: f7c2 feec bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8092154: 230a movs r3, #10 8092156: 220a movs r2, #10 8092158: 216d movs r1, #109 ; 0x6d 809215a: 20ff movs r0, #255 ; 0xff 809215c: f7c2 fee6 bl 8054f2c if(pardata.THR & 0x80) 8092160: 4b3f ldr r3, [pc, #252] ; (8092260 ) 8092162: 7bdb ldrb r3, [r3, #15] 8092164: b2db uxtb r3, r3 8092166: b25b sxtb r3, r3 8092168: 2b00 cmp r3, #0 809216a: da0c bge.n 8092186 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809216c: 493b ldr r1, [pc, #236] ; (809225c ) 809216e: 483e ldr r0, [pc, #248] ; (8092268 ) 8092170: f7c2 fa4e bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092174: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092178: 461a mov r2, r3 809217a: 21ca movs r1, #202 ; 0xca 809217c: f44f 7082 mov.w r0, #260 ; 0x104 8092180: f7c3 f806 bl 8055190 8092184: e00b b.n 809219e } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092186: 4935 ldr r1, [pc, #212] ; (809225c ) 8092188: 4839 ldr r0, [pc, #228] ; (8092270 ) 809218a: f7c2 fa41 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809218e: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092192: 461a mov r2, r3 8092194: 21ca movs r1, #202 ; 0xca 8092196: f44f 7082 mov.w r0, #260 ; 0x104 809219a: f7c2 fff9 bl 8055190 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809219e: 492f ldr r1, [pc, #188] ; (809225c ) 80921a0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80921a4: f7c2 fa34 bl 8054610 if(blk) 80921a8: 4b32 ldr r3, [pc, #200] ; (8092274 ) 80921aa: 681b ldr r3, [r3, #0] 80921ac: 2b00 cmp r3, #0 80921ae: d00b beq.n 80921c8 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80921b0: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80921b4: b2db uxtb r3, r3 80921b6: 461a mov r2, r3 80921b8: 4b2f ldr r3, [pc, #188] ; (8092278 ) 80921ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80921be: 461a mov r2, r3 80921c0: 21aa movs r1, #170 ; 0xaa 80921c2: 20e6 movs r0, #230 ; 0xe6 80921c4: f7c2 ffcc bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80921c8: 4924 ldr r1, [pc, #144] ; (809225c ) 80921ca: 4827 ldr r0, [pc, #156] ; (8092268 ) 80921cc: f7c2 fa20 bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 80921d0: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80921d4: b2db uxtb r3, r3 80921d6: 461a mov r2, r3 80921d8: 4b27 ldr r3, [pc, #156] ; (8092278 ) 80921da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80921de: 461a mov r2, r3 80921e0: 21aa movs r1, #170 ; 0xaa 80921e2: 20c6 movs r0, #198 ; 0xc6 80921e4: f7c2 ffbc bl 8055160 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80921e8: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80921ec: b2db uxtb r3, r3 80921ee: 461a mov r2, r3 80921f0: 4b21 ldr r3, [pc, #132] ; (8092278 ) 80921f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80921f6: 461a mov r2, r3 80921f8: 21aa movs r1, #170 ; 0xaa 80921fa: 20d6 movs r0, #214 ; 0xd6 80921fc: f7c2 ffb0 bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8092200: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8092204: b2db uxtb r3, r3 8092206: 461a mov r2, r3 8092208: 4b1b ldr r3, [pc, #108] ; (8092278 ) 809220a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809220e: 461a mov r2, r3 8092210: 21aa movs r1, #170 ; 0xaa 8092212: 20f6 movs r0, #246 ; 0xf6 8092214: f7c2 ffa4 bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8092218: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 809221c: b2db uxtb r3, r3 809221e: 461a mov r2, r3 8092220: 4b15 ldr r3, [pc, #84] ; (8092278 ) 8092222: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092226: 461a mov r2, r3 8092228: 21aa movs r1, #170 ; 0xaa 809222a: f44f 7083 mov.w r0, #262 ; 0x106 809222e: f7c2 ff97 bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 8092232: 4a12 ldr r2, [pc, #72] ; (809227c ) 8092234: 21aa movs r1, #170 ; 0xaa 8092236: f44f 708b mov.w r0, #278 ; 0x116 809223a: f7c2 ff91 bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 809223e: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8092242: b2db uxtb r3, r3 8092244: 461a mov r2, r3 8092246: 4b0c ldr r3, [pc, #48] ; (8092278 ) 8092248: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809224c: 461a mov r2, r3 809224e: 21aa movs r1, #170 ; 0xaa 8092250: f44f 7093 mov.w r0, #294 ; 0x126 8092254: f7c2 ff84 bl 8055160 break; 8092258: f001 b85d b.w 8093316 809225c: ff0a0f1f .word 0xff0a0f1f 8092260: 20023ea8 .word 0x20023ea8 8092264: 200205cc .word 0x200205cc 8092268: ffd8aa57 .word 0xffd8aa57 809226c: 2002033c .word 0x2002033c 8092270: ff808080 .word 0xff808080 8092274: 200216a4 .word 0x200216a4 8092278: 2002096c .word 0x2002096c 809227c: 080d3b58 .word 0x080d3b58 case WaveMax_IED: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092280: 49c8 ldr r1, [pc, #800] ; (80925a4 ) 8092282: f04f 30ff mov.w r0, #4294967295 8092286: f7c2 f9c3 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 809228a: 4bc7 ldr r3, [pc, #796] ; (80925a8 ) 809228c: 7b1b ldrb r3, [r3, #12] 809228e: b2db uxtb r3, r3 8092290: 461a mov r2, r3 8092292: 4bc6 ldr r3, [pc, #792] ; (80925ac ) 8092294: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092298: 461a mov r2, r3 809229a: 2127 movs r1, #39 ; 0x27 809229c: 200a movs r0, #10 809229e: f7c2 ff5f bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80922a2: 49c0 ldr r1, [pc, #768] ; (80925a4 ) 80922a4: 48c2 ldr r0, [pc, #776] ; (80925b0 ) 80922a6: f7c2 f9b3 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 80922aa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80922ae: 461a mov r2, r3 80922b0: 217a movs r1, #122 ; 0x7a 80922b2: f44f 7082 mov.w r0, #260 ; 0x104 80922b6: f7c2 ff6b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 80922ba: 4bbb ldr r3, [pc, #748] ; (80925a8 ) 80922bc: 7b1b ldrb r3, [r3, #12] 80922be: b2db uxtb r3, r3 80922c0: 461a mov r2, r3 80922c2: 4bb9 ldr r3, [pc, #740] ; (80925a8 ) 80922c4: 7b9b ldrb r3, [r3, #14] 80922c6: b2db uxtb r3, r3 80922c8: 4618 mov r0, r3 80922ca: 49ba ldr r1, [pc, #744] ; (80925b4 ) 80922cc: 4613 mov r3, r2 80922ce: 009b lsls r3, r3, #2 80922d0: 4413 add r3, r2 80922d2: 005b lsls r3, r3, #1 80922d4: 4413 add r3, r2 80922d6: 4403 add r3, r0 80922d8: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80922dc: 461a mov r2, r3 80922de: 218a movs r1, #138 ; 0x8a 80922e0: f44f 7082 mov.w r0, #260 ; 0x104 80922e4: f7c2 ff54 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80922e8: 49ae ldr r1, [pc, #696] ; (80925a4 ) 80922ea: f04f 30ff mov.w r0, #4294967295 80922ee: f7c2 f98f bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80922f2: 230a movs r3, #10 80922f4: 220a movs r2, #10 80922f6: 219d movs r1, #157 ; 0x9d 80922f8: 20ff movs r0, #255 ; 0xff 80922fa: f7c2 fe17 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80922fe: 230a movs r3, #10 8092300: 220a movs r2, #10 8092302: 21bd movs r1, #189 ; 0xbd 8092304: 20ff movs r0, #255 ; 0xff 8092306: f7c2 fe11 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 809230a: 230a movs r3, #10 809230c: 220a movs r2, #10 809230e: 216d movs r1, #109 ; 0x6d 8092310: 20ff movs r0, #255 ; 0xff 8092312: f7c2 fe0b bl 8054f2c if(pardata.THR & 0x80) 8092316: 4ba4 ldr r3, [pc, #656] ; (80925a8 ) 8092318: 7bdb ldrb r3, [r3, #15] 809231a: b2db uxtb r3, r3 809231c: b25b sxtb r3, r3 809231e: 2b00 cmp r3, #0 8092320: da0c bge.n 809233c { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092322: 49a0 ldr r1, [pc, #640] ; (80925a4 ) 8092324: 48a2 ldr r0, [pc, #648] ; (80925b0 ) 8092326: f7c2 f973 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809232a: f507 73c6 add.w r3, r7, #396 ; 0x18c 809232e: 461a mov r2, r3 8092330: 21ca movs r1, #202 ; 0xca 8092332: f44f 7082 mov.w r0, #260 ; 0x104 8092336: f7c2 ff2b bl 8055190 809233a: e00b b.n 8092354 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809233c: 4999 ldr r1, [pc, #612] ; (80925a4 ) 809233e: 489e ldr r0, [pc, #632] ; (80925b8 ) 8092340: f7c2 f966 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092344: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092348: 461a mov r2, r3 809234a: 21ca movs r1, #202 ; 0xca 809234c: f44f 7082 mov.w r0, #260 ; 0x104 8092350: f7c2 ff1e bl 8055190 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092354: 4993 ldr r1, [pc, #588] ; (80925a4 ) 8092356: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809235a: f7c2 f959 bl 8054610 if(blk) 809235e: 4b97 ldr r3, [pc, #604] ; (80925bc ) 8092360: 681b ldr r3, [r3, #0] 8092362: 2b00 cmp r3, #0 8092364: d00b beq.n 809237e LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8092366: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 809236a: b2db uxtb r3, r3 809236c: 461a mov r2, r3 809236e: 4b94 ldr r3, [pc, #592] ; (80925c0 ) 8092370: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092374: 461a mov r2, r3 8092376: 21aa movs r1, #170 ; 0xaa 8092378: 20f6 movs r0, #246 ; 0xf6 809237a: f7c2 fef1 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809237e: 4989 ldr r1, [pc, #548] ; (80925a4 ) 8092380: 488b ldr r0, [pc, #556] ; (80925b0 ) 8092382: f7c2 f945 bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8092386: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 809238a: b2db uxtb r3, r3 809238c: 461a mov r2, r3 809238e: 4b8c ldr r3, [pc, #560] ; (80925c0 ) 8092390: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092394: 461a mov r2, r3 8092396: 21aa movs r1, #170 ; 0xaa 8092398: 20c6 movs r0, #198 ; 0xc6 809239a: f7c2 fee1 bl 8055160 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 809239e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80923a2: b2db uxtb r3, r3 80923a4: 461a mov r2, r3 80923a6: 4b86 ldr r3, [pc, #536] ; (80925c0 ) 80923a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80923ac: 461a mov r2, r3 80923ae: 21aa movs r1, #170 ; 0xaa 80923b0: 20d6 movs r0, #214 ; 0xd6 80923b2: f7c2 fed5 bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80923b6: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80923ba: b2db uxtb r3, r3 80923bc: 461a mov r2, r3 80923be: 4b80 ldr r3, [pc, #512] ; (80925c0 ) 80923c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80923c4: 461a mov r2, r3 80923c6: 21aa movs r1, #170 ; 0xaa 80923c8: 20e6 movs r0, #230 ; 0xe6 80923ca: f7c2 fec9 bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 80923ce: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80923d2: b2db uxtb r3, r3 80923d4: 461a mov r2, r3 80923d6: 4b7a ldr r3, [pc, #488] ; (80925c0 ) 80923d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80923dc: 461a mov r2, r3 80923de: 21aa movs r1, #170 ; 0xaa 80923e0: f44f 7083 mov.w r0, #262 ; 0x106 80923e4: f7c2 febc bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 80923e8: 4a76 ldr r2, [pc, #472] ; (80925c4 ) 80923ea: 21aa movs r1, #170 ; 0xaa 80923ec: f44f 708b mov.w r0, #278 ; 0x116 80923f0: f7c2 feb6 bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 80923f4: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80923f8: b2db uxtb r3, r3 80923fa: 461a mov r2, r3 80923fc: 4b70 ldr r3, [pc, #448] ; (80925c0 ) 80923fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092402: 461a mov r2, r3 8092404: 21aa movs r1, #170 ; 0xaa 8092406: f44f 7093 mov.w r0, #294 ; 0x126 809240a: f7c2 fea9 bl 8055160 break; 809240e: f000 bf82 b.w 8093316 case WaveMax_IEE: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092412: 4964 ldr r1, [pc, #400] ; (80925a4 ) 8092414: f04f 30ff mov.w r0, #4294967295 8092418: f7c2 f8fa bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 809241c: 4b62 ldr r3, [pc, #392] ; (80925a8 ) 809241e: 7b1b ldrb r3, [r3, #12] 8092420: b2db uxtb r3, r3 8092422: 461a mov r2, r3 8092424: 4b61 ldr r3, [pc, #388] ; (80925ac ) 8092426: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809242a: 461a mov r2, r3 809242c: 2127 movs r1, #39 ; 0x27 809242e: 200a movs r0, #10 8092430: f7c2 fe96 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092434: 495b ldr r1, [pc, #364] ; (80925a4 ) 8092436: 485e ldr r0, [pc, #376] ; (80925b0 ) 8092438: f7c2 f8ea bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 809243c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092440: 461a mov r2, r3 8092442: 217a movs r1, #122 ; 0x7a 8092444: f44f 7082 mov.w r0, #260 ; 0x104 8092448: f7c2 fea2 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809244c: 4b56 ldr r3, [pc, #344] ; (80925a8 ) 809244e: 7b1b ldrb r3, [r3, #12] 8092450: b2db uxtb r3, r3 8092452: 461a mov r2, r3 8092454: 4b54 ldr r3, [pc, #336] ; (80925a8 ) 8092456: 7b9b ldrb r3, [r3, #14] 8092458: b2db uxtb r3, r3 809245a: 4618 mov r0, r3 809245c: 4955 ldr r1, [pc, #340] ; (80925b4 ) 809245e: 4613 mov r3, r2 8092460: 009b lsls r3, r3, #2 8092462: 4413 add r3, r2 8092464: 005b lsls r3, r3, #1 8092466: 4413 add r3, r2 8092468: 4403 add r3, r0 809246a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809246e: 461a mov r2, r3 8092470: 218a movs r1, #138 ; 0x8a 8092472: f44f 7082 mov.w r0, #260 ; 0x104 8092476: f7c2 fe8b bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809247a: 494a ldr r1, [pc, #296] ; (80925a4 ) 809247c: f04f 30ff mov.w r0, #4294967295 8092480: f7c2 f8c6 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8092484: 230a movs r3, #10 8092486: 220a movs r2, #10 8092488: 219d movs r1, #157 ; 0x9d 809248a: 20ff movs r0, #255 ; 0xff 809248c: f7c2 fd4e bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092490: 230a movs r3, #10 8092492: 220a movs r2, #10 8092494: 21bd movs r1, #189 ; 0xbd 8092496: 20ff movs r0, #255 ; 0xff 8092498: f7c2 fd48 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 809249c: 230a movs r3, #10 809249e: 220a movs r2, #10 80924a0: 216d movs r1, #109 ; 0x6d 80924a2: 20ff movs r0, #255 ; 0xff 80924a4: f7c2 fd42 bl 8054f2c if(pardata.THR & 0x80) 80924a8: 4b3f ldr r3, [pc, #252] ; (80925a8 ) 80924aa: 7bdb ldrb r3, [r3, #15] 80924ac: b2db uxtb r3, r3 80924ae: b25b sxtb r3, r3 80924b0: 2b00 cmp r3, #0 80924b2: da0c bge.n 80924ce { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80924b4: 493b ldr r1, [pc, #236] ; (80925a4 ) 80924b6: 483e ldr r0, [pc, #248] ; (80925b0 ) 80924b8: f7c2 f8aa bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80924bc: f507 73c6 add.w r3, r7, #396 ; 0x18c 80924c0: 461a mov r2, r3 80924c2: 21ca movs r1, #202 ; 0xca 80924c4: f44f 7082 mov.w r0, #260 ; 0x104 80924c8: f7c2 fe62 bl 8055190 80924cc: e00b b.n 80924e6 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80924ce: 4935 ldr r1, [pc, #212] ; (80925a4 ) 80924d0: 4839 ldr r0, [pc, #228] ; (80925b8 ) 80924d2: f7c2 f89d bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80924d6: f507 73c6 add.w r3, r7, #396 ; 0x18c 80924da: 461a mov r2, r3 80924dc: 21ca movs r1, #202 ; 0xca 80924de: f44f 7082 mov.w r0, #260 ; 0x104 80924e2: f7c2 fe55 bl 8055190 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80924e6: 492f ldr r1, [pc, #188] ; (80925a4 ) 80924e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80924ec: f7c2 f890 bl 8054610 if(blk) 80924f0: 4b32 ldr r3, [pc, #200] ; (80925bc ) 80924f2: 681b ldr r3, [r3, #0] 80924f4: 2b00 cmp r3, #0 80924f6: d00c beq.n 8092512 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 80924f8: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80924fc: b2db uxtb r3, r3 80924fe: 461a mov r2, r3 8092500: 4b2f ldr r3, [pc, #188] ; (80925c0 ) 8092502: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092506: 461a mov r2, r3 8092508: 21aa movs r1, #170 ; 0xaa 809250a: f44f 7083 mov.w r0, #262 ; 0x106 809250e: f7c2 fe27 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092512: 4924 ldr r1, [pc, #144] ; (80925a4 ) 8092514: 4826 ldr r0, [pc, #152] ; (80925b0 ) 8092516: f7c2 f87b bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 809251a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 809251e: b2db uxtb r3, r3 8092520: 461a mov r2, r3 8092522: 4b27 ldr r3, [pc, #156] ; (80925c0 ) 8092524: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092528: 461a mov r2, r3 809252a: 21aa movs r1, #170 ; 0xaa 809252c: 20c6 movs r0, #198 ; 0xc6 809252e: f7c2 fe17 bl 8055160 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8092532: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8092536: b2db uxtb r3, r3 8092538: 461a mov r2, r3 809253a: 4b21 ldr r3, [pc, #132] ; (80925c0 ) 809253c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092540: 461a mov r2, r3 8092542: 21aa movs r1, #170 ; 0xaa 8092544: 20d6 movs r0, #214 ; 0xd6 8092546: f7c2 fe0b bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 809254a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 809254e: b2db uxtb r3, r3 8092550: 461a mov r2, r3 8092552: 4b1b ldr r3, [pc, #108] ; (80925c0 ) 8092554: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092558: 461a mov r2, r3 809255a: 21aa movs r1, #170 ; 0xaa 809255c: 20e6 movs r0, #230 ; 0xe6 809255e: f7c2 fdff bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8092562: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8092566: b2db uxtb r3, r3 8092568: 461a mov r2, r3 809256a: 4b15 ldr r3, [pc, #84] ; (80925c0 ) 809256c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092570: 461a mov r2, r3 8092572: 21aa movs r1, #170 ; 0xaa 8092574: 20f6 movs r0, #246 ; 0xf6 8092576: f7c2 fdf3 bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 809257a: 4a12 ldr r2, [pc, #72] ; (80925c4 ) 809257c: 21aa movs r1, #170 ; 0xaa 809257e: f44f 708b mov.w r0, #278 ; 0x116 8092582: f7c2 fded bl 8055160 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8092586: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 809258a: b2db uxtb r3, r3 809258c: 461a mov r2, r3 809258e: 4b0c ldr r3, [pc, #48] ; (80925c0 ) 8092590: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092594: 461a mov r2, r3 8092596: 21aa movs r1, #170 ; 0xaa 8092598: f44f 7093 mov.w r0, #294 ; 0x126 809259c: f7c2 fde0 bl 8055160 break; 80925a0: f000 beb9 b.w 8093316 80925a4: ff0a0f1f .word 0xff0a0f1f 80925a8: 20023ea8 .word 0x20023ea8 80925ac: 200205cc .word 0x200205cc 80925b0: ffd8aa57 .word 0xffd8aa57 80925b4: 2002033c .word 0x2002033c 80925b8: ff808080 .word 0xff808080 80925bc: 200216a4 .word 0x200216a4 80925c0: 2002096c .word 0x2002096c 80925c4: 080d3b58 .word 0x080d3b58 case WaveMax_IKD: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80925c8: 49ce ldr r1, [pc, #824] ; (8092904 ) 80925ca: f04f 30ff mov.w r0, #4294967295 80925ce: f7c2 f81f bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80925d2: 4bcd ldr r3, [pc, #820] ; (8092908 ) 80925d4: 7b1b ldrb r3, [r3, #12] 80925d6: b2db uxtb r3, r3 80925d8: 461a mov r2, r3 80925da: 4bcc ldr r3, [pc, #816] ; (809290c ) 80925dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80925e0: 461a mov r2, r3 80925e2: 2127 movs r1, #39 ; 0x27 80925e4: 200a movs r0, #10 80925e6: f7c2 fdbb bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80925ea: 49c6 ldr r1, [pc, #792] ; (8092904 ) 80925ec: 48c8 ldr r0, [pc, #800] ; (8092910 ) 80925ee: f7c2 f80f bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 80925f2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80925f6: 461a mov r2, r3 80925f8: 217a movs r1, #122 ; 0x7a 80925fa: f44f 7082 mov.w r0, #260 ; 0x104 80925fe: f7c2 fdc7 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092602: 4bc1 ldr r3, [pc, #772] ; (8092908 ) 8092604: 7b1b ldrb r3, [r3, #12] 8092606: b2db uxtb r3, r3 8092608: 461a mov r2, r3 809260a: 4bbf ldr r3, [pc, #764] ; (8092908 ) 809260c: 7b9b ldrb r3, [r3, #14] 809260e: b2db uxtb r3, r3 8092610: 4618 mov r0, r3 8092612: 49c0 ldr r1, [pc, #768] ; (8092914 ) 8092614: 4613 mov r3, r2 8092616: 009b lsls r3, r3, #2 8092618: 4413 add r3, r2 809261a: 005b lsls r3, r3, #1 809261c: 4413 add r3, r2 809261e: 4403 add r3, r0 8092620: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092624: 461a mov r2, r3 8092626: 218a movs r1, #138 ; 0x8a 8092628: f44f 7082 mov.w r0, #260 ; 0x104 809262c: f7c2 fdb0 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092630: 49b4 ldr r1, [pc, #720] ; (8092904 ) 8092632: f04f 30ff mov.w r0, #4294967295 8092636: f7c1 ffeb bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809263a: 230a movs r3, #10 809263c: 220a movs r2, #10 809263e: 219d movs r1, #157 ; 0x9d 8092640: 20ff movs r0, #255 ; 0xff 8092642: f7c2 fc73 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092646: 230a movs r3, #10 8092648: 220a movs r2, #10 809264a: 21bd movs r1, #189 ; 0xbd 809264c: 20ff movs r0, #255 ; 0xff 809264e: f7c2 fc6d bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8092652: 230a movs r3, #10 8092654: 220a movs r2, #10 8092656: 216d movs r1, #109 ; 0x6d 8092658: 20ff movs r0, #255 ; 0xff 809265a: f7c2 fc67 bl 8054f2c if(pardata.THR & 0x80) 809265e: 4baa ldr r3, [pc, #680] ; (8092908 ) 8092660: 7bdb ldrb r3, [r3, #15] 8092662: b2db uxtb r3, r3 8092664: b25b sxtb r3, r3 8092666: 2b00 cmp r3, #0 8092668: da0c bge.n 8092684 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809266a: 49a6 ldr r1, [pc, #664] ; (8092904 ) 809266c: 48a8 ldr r0, [pc, #672] ; (8092910 ) 809266e: f7c1 ffcf bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8092672: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092676: 461a mov r2, r3 8092678: 21ca movs r1, #202 ; 0xca 809267a: f44f 7082 mov.w r0, #260 ; 0x104 809267e: f7c2 fd87 bl 8055190 8092682: e00b b.n 809269c } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092684: 499f ldr r1, [pc, #636] ; (8092904 ) 8092686: 48a4 ldr r0, [pc, #656] ; (8092918 ) 8092688: f7c1 ffc2 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809268c: f507 73c6 add.w r3, r7, #396 ; 0x18c 8092690: 461a mov r2, r3 8092692: 21ca movs r1, #202 ; 0xca 8092694: f44f 7082 mov.w r0, #260 ; 0x104 8092698: f7c2 fd7a bl 8055190 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809269c: 4999 ldr r1, [pc, #612] ; (8092904 ) 809269e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80926a2: f7c1 ffb5 bl 8054610 if(blk) 80926a6: 4b9d ldr r3, [pc, #628] ; (809291c ) 80926a8: 681b ldr r3, [r3, #0] 80926aa: 2b00 cmp r3, #0 80926ac: d00c beq.n 80926c8 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 80926ae: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80926b2: b2db uxtb r3, r3 80926b4: 461a mov r2, r3 80926b6: 4b9a ldr r3, [pc, #616] ; (8092920 ) 80926b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80926bc: 461a mov r2, r3 80926be: 21aa movs r1, #170 ; 0xaa 80926c0: f44f 7093 mov.w r0, #294 ; 0x126 80926c4: f7c2 fd4c bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80926c8: 498e ldr r1, [pc, #568] ; (8092904 ) 80926ca: 4891 ldr r0, [pc, #580] ; (8092910 ) 80926cc: f7c1 ffa0 bl 8054610 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 80926d0: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80926d4: b2db uxtb r3, r3 80926d6: 461a mov r2, r3 80926d8: 4b91 ldr r3, [pc, #580] ; (8092920 ) 80926da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80926de: 461a mov r2, r3 80926e0: 21aa movs r1, #170 ; 0xaa 80926e2: 20c6 movs r0, #198 ; 0xc6 80926e4: f7c2 fd3c bl 8055160 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80926e8: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80926ec: b2db uxtb r3, r3 80926ee: 461a mov r2, r3 80926f0: 4b8b ldr r3, [pc, #556] ; (8092920 ) 80926f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80926f6: 461a mov r2, r3 80926f8: 21aa movs r1, #170 ; 0xaa 80926fa: 20d6 movs r0, #214 ; 0xd6 80926fc: f7c2 fd30 bl 8055160 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8092700: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8092704: b2db uxtb r3, r3 8092706: 461a mov r2, r3 8092708: 4b85 ldr r3, [pc, #532] ; (8092920 ) 809270a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809270e: 461a mov r2, r3 8092710: 21aa movs r1, #170 ; 0xaa 8092712: 20e6 movs r0, #230 ; 0xe6 8092714: f7c2 fd24 bl 8055160 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8092718: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 809271c: b2db uxtb r3, r3 809271e: 461a mov r2, r3 8092720: 4b7f ldr r3, [pc, #508] ; (8092920 ) 8092722: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092726: 461a mov r2, r3 8092728: 21aa movs r1, #170 ; 0xaa 809272a: 20f6 movs r0, #246 ; 0xf6 809272c: f7c2 fd18 bl 8055160 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8092730: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8092734: b2db uxtb r3, r3 8092736: 461a mov r2, r3 8092738: 4b79 ldr r3, [pc, #484] ; (8092920 ) 809273a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809273e: 461a mov r2, r3 8092740: 21aa movs r1, #170 ; 0xaa 8092742: f44f 7083 mov.w r0, #262 ; 0x106 8092746: f7c2 fd0b bl 8055160 LCD_DisplayString(278, LCD_LINE_10, "."); 809274a: 4a76 ldr r2, [pc, #472] ; (8092924 ) 809274c: 21aa movs r1, #170 ; 0xaa 809274e: f44f 708b mov.w r0, #278 ; 0x116 8092752: f7c2 fd05 bl 8055160 break; 8092756: f000 bdde b.w 8093316 case WaveThr_IDT: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809275a: 496a ldr r1, [pc, #424] ; (8092904 ) 809275c: f04f 30ff mov.w r0, #4294967295 8092760: f7c1 ff56 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8092764: 4b68 ldr r3, [pc, #416] ; (8092908 ) 8092766: 7b1b ldrb r3, [r3, #12] 8092768: b2db uxtb r3, r3 809276a: 461a mov r2, r3 809276c: 4b67 ldr r3, [pc, #412] ; (809290c ) 809276e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092772: 461a mov r2, r3 8092774: 2127 movs r1, #39 ; 0x27 8092776: 200a movs r0, #10 8092778: f7c2 fcf2 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809277c: 4961 ldr r1, [pc, #388] ; (8092904 ) 809277e: 4864 ldr r0, [pc, #400] ; (8092910 ) 8092780: f7c1 ff46 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092784: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092788: 461a mov r2, r3 809278a: 217a movs r1, #122 ; 0x7a 809278c: f44f 7082 mov.w r0, #260 ; 0x104 8092790: f7c2 fcfe bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092794: 4b5c ldr r3, [pc, #368] ; (8092908 ) 8092796: 7b1b ldrb r3, [r3, #12] 8092798: b2db uxtb r3, r3 809279a: 461a mov r2, r3 809279c: 4b5a ldr r3, [pc, #360] ; (8092908 ) 809279e: 7b9b ldrb r3, [r3, #14] 80927a0: b2db uxtb r3, r3 80927a2: 4618 mov r0, r3 80927a4: 495b ldr r1, [pc, #364] ; (8092914 ) 80927a6: 4613 mov r3, r2 80927a8: 009b lsls r3, r3, #2 80927aa: 4413 add r3, r2 80927ac: 005b lsls r3, r3, #1 80927ae: 4413 add r3, r2 80927b0: 4403 add r3, r0 80927b2: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80927b6: 461a mov r2, r3 80927b8: 218a movs r1, #138 ; 0x8a 80927ba: f44f 7082 mov.w r0, #260 ; 0x104 80927be: f7c2 fce7 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80927c2: 4950 ldr r1, [pc, #320] ; (8092904 ) 80927c4: f04f 30ff mov.w r0, #4294967295 80927c8: f7c1 ff22 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80927cc: 230a movs r3, #10 80927ce: 220a movs r2, #10 80927d0: 219d movs r1, #157 ; 0x9d 80927d2: 20ff movs r0, #255 ; 0xff 80927d4: f7c2 fbaa bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80927d8: 230a movs r3, #10 80927da: 220a movs r2, #10 80927dc: 21bd movs r1, #189 ; 0xbd 80927de: 20ff movs r0, #255 ; 0xff 80927e0: f7c2 fba4 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80927e4: 230a movs r3, #10 80927e6: 220a movs r2, #10 80927e8: 216d movs r1, #109 ; 0x6d 80927ea: 20ff movs r0, #255 ; 0xff 80927ec: f7c2 fb9e bl 8054f2c if(pardata.THR & 0x80) 80927f0: 4b45 ldr r3, [pc, #276] ; (8092908 ) 80927f2: 7bdb ldrb r3, [r3, #15] 80927f4: b2db uxtb r3, r3 80927f6: b25b sxtb r3, r3 80927f8: 2b00 cmp r3, #0 80927fa: da0c bge.n 8092816 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80927fc: 4941 ldr r1, [pc, #260] ; (8092904 ) 80927fe: 4844 ldr r0, [pc, #272] ; (8092910 ) 8092800: f7c1 ff06 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092804: f507 73c0 add.w r3, r7, #384 ; 0x180 8092808: 461a mov r2, r3 809280a: 21aa movs r1, #170 ; 0xaa 809280c: f44f 7082 mov.w r0, #260 ; 0x104 8092810: f7c2 fcbe bl 8055190 8092814: e017 b.n 8092846 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8092816: 4b3c ldr r3, [pc, #240] ; (8092908 ) 8092818: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 809281c: f003 0304 and.w r3, r3, #4 8092820: 2b00 cmp r3, #0 8092822: d104 bne.n 809282e LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092824: 4937 ldr r1, [pc, #220] ; (8092904 ) 8092826: 483a ldr r0, [pc, #232] ; (8092910 ) 8092828: f7c1 fef2 bl 8054610 809282c: e003 b.n 8092836 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809282e: 4935 ldr r1, [pc, #212] ; (8092904 ) 8092830: 4839 ldr r0, [pc, #228] ; (8092918 ) 8092832: f7c1 feed bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092836: f507 73c0 add.w r3, r7, #384 ; 0x180 809283a: 461a mov r2, r3 809283c: 21aa movs r1, #170 ; 0xaa 809283e: f44f 7082 mov.w r0, #260 ; 0x104 8092842: f7c2 fca5 bl 8055190 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092846: 492f ldr r1, [pc, #188] ; (8092904 ) 8092848: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809284c: f7c1 fee0 bl 8054610 if(blk) 8092850: 4b32 ldr r3, [pc, #200] ; (809291c ) 8092852: 681b ldr r3, [r3, #0] 8092854: 2b00 cmp r3, #0 8092856: d00b beq.n 8092870 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8092858: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 809285c: b2db uxtb r3, r3 809285e: 461a mov r2, r3 8092860: 4b2f ldr r3, [pc, #188] ; (8092920 ) 8092862: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092866: 461a mov r2, r3 8092868: 21ca movs r1, #202 ; 0xca 809286a: 20c6 movs r0, #198 ; 0xc6 809286c: f7c2 fc78 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092870: 4924 ldr r1, [pc, #144] ; (8092904 ) 8092872: 4827 ldr r0, [pc, #156] ; (8092910 ) 8092874: f7c1 fecc bl 8054610 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8092878: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 809287c: b2db uxtb r3, r3 809287e: 461a mov r2, r3 8092880: 4b27 ldr r3, [pc, #156] ; (8092920 ) 8092882: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092886: 461a mov r2, r3 8092888: 21ca movs r1, #202 ; 0xca 809288a: 20d6 movs r0, #214 ; 0xd6 809288c: f7c2 fc68 bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8092890: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8092894: b2db uxtb r3, r3 8092896: 461a mov r2, r3 8092898: 4b21 ldr r3, [pc, #132] ; (8092920 ) 809289a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809289e: 461a mov r2, r3 80928a0: 21ca movs r1, #202 ; 0xca 80928a2: 20e6 movs r0, #230 ; 0xe6 80928a4: f7c2 fc5c bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 80928a8: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80928ac: b2db uxtb r3, r3 80928ae: 461a mov r2, r3 80928b0: 4b1b ldr r3, [pc, #108] ; (8092920 ) 80928b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80928b6: 461a mov r2, r3 80928b8: 21ca movs r1, #202 ; 0xca 80928ba: 20f6 movs r0, #246 ; 0xf6 80928bc: f7c2 fc50 bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 80928c0: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 80928c4: b2db uxtb r3, r3 80928c6: 461a mov r2, r3 80928c8: 4b15 ldr r3, [pc, #84] ; (8092920 ) 80928ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80928ce: 461a mov r2, r3 80928d0: 21ca movs r1, #202 ; 0xca 80928d2: f44f 7083 mov.w r0, #262 ; 0x106 80928d6: f7c2 fc43 bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 80928da: 4a12 ldr r2, [pc, #72] ; (8092924 ) 80928dc: 21ca movs r1, #202 ; 0xca 80928de: f44f 708b mov.w r0, #278 ; 0x116 80928e2: f7c2 fc3d bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 80928e6: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 80928ea: b2db uxtb r3, r3 80928ec: 461a mov r2, r3 80928ee: 4b0c ldr r3, [pc, #48] ; (8092920 ) 80928f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80928f4: 461a mov r2, r3 80928f6: 21ca movs r1, #202 ; 0xca 80928f8: f44f 7093 mov.w r0, #294 ; 0x126 80928fc: f7c2 fc30 bl 8055160 break; 8092900: f000 bd09 b.w 8093316 8092904: ff0a0f1f .word 0xff0a0f1f 8092908: 20023ea8 .word 0x20023ea8 809290c: 200205cc .word 0x200205cc 8092910: ffd8aa57 .word 0xffd8aa57 8092914: 2002033c .word 0x2002033c 8092918: ff808080 .word 0xff808080 809291c: 200216a4 .word 0x200216a4 8092920: 2002096c .word 0x2002096c 8092924: 080d3b58 .word 0x080d3b58 case WaveThr_IET: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092928: 499f ldr r1, [pc, #636] ; (8092ba8 ) 809292a: f04f 30ff mov.w r0, #4294967295 809292e: f7c1 fe6f bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8092932: 4b9e ldr r3, [pc, #632] ; (8092bac ) 8092934: 7b1b ldrb r3, [r3, #12] 8092936: b2db uxtb r3, r3 8092938: 461a mov r2, r3 809293a: 4b9d ldr r3, [pc, #628] ; (8092bb0 ) 809293c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092940: 461a mov r2, r3 8092942: 2127 movs r1, #39 ; 0x27 8092944: 200a movs r0, #10 8092946: f7c2 fc0b bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809294a: 4997 ldr r1, [pc, #604] ; (8092ba8 ) 809294c: 4899 ldr r0, [pc, #612] ; (8092bb4 ) 809294e: f7c1 fe5f bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092952: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092956: 461a mov r2, r3 8092958: 217a movs r1, #122 ; 0x7a 809295a: f44f 7082 mov.w r0, #260 ; 0x104 809295e: f7c2 fc17 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092962: 4b92 ldr r3, [pc, #584] ; (8092bac ) 8092964: 7b1b ldrb r3, [r3, #12] 8092966: b2db uxtb r3, r3 8092968: 461a mov r2, r3 809296a: 4b90 ldr r3, [pc, #576] ; (8092bac ) 809296c: 7b9b ldrb r3, [r3, #14] 809296e: b2db uxtb r3, r3 8092970: 4618 mov r0, r3 8092972: 4991 ldr r1, [pc, #580] ; (8092bb8 ) 8092974: 4613 mov r3, r2 8092976: 009b lsls r3, r3, #2 8092978: 4413 add r3, r2 809297a: 005b lsls r3, r3, #1 809297c: 4413 add r3, r2 809297e: 4403 add r3, r0 8092980: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092984: 461a mov r2, r3 8092986: 218a movs r1, #138 ; 0x8a 8092988: f44f 7082 mov.w r0, #260 ; 0x104 809298c: f7c2 fc00 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092990: 4985 ldr r1, [pc, #532] ; (8092ba8 ) 8092992: f04f 30ff mov.w r0, #4294967295 8092996: f7c1 fe3b bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809299a: 230a movs r3, #10 809299c: 220a movs r2, #10 809299e: 219d movs r1, #157 ; 0x9d 80929a0: 20ff movs r0, #255 ; 0xff 80929a2: f7c2 fac3 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80929a6: 230a movs r3, #10 80929a8: 220a movs r2, #10 80929aa: 21bd movs r1, #189 ; 0xbd 80929ac: 20ff movs r0, #255 ; 0xff 80929ae: f7c2 fabd bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80929b2: 230a movs r3, #10 80929b4: 220a movs r2, #10 80929b6: 216d movs r1, #109 ; 0x6d 80929b8: 20ff movs r0, #255 ; 0xff 80929ba: f7c2 fab7 bl 8054f2c if(pardata.THR & 0x80) 80929be: 4b7b ldr r3, [pc, #492] ; (8092bac ) 80929c0: 7bdb ldrb r3, [r3, #15] 80929c2: b2db uxtb r3, r3 80929c4: b25b sxtb r3, r3 80929c6: 2b00 cmp r3, #0 80929c8: da0c bge.n 80929e4 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80929ca: 4977 ldr r1, [pc, #476] ; (8092ba8 ) 80929cc: 4879 ldr r0, [pc, #484] ; (8092bb4 ) 80929ce: f7c1 fe1f bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80929d2: f507 73c0 add.w r3, r7, #384 ; 0x180 80929d6: 461a mov r2, r3 80929d8: 21aa movs r1, #170 ; 0xaa 80929da: f44f 7082 mov.w r0, #260 ; 0x104 80929de: f7c2 fbd7 bl 8055190 80929e2: e017 b.n 8092a14 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80929e4: 4b71 ldr r3, [pc, #452] ; (8092bac ) 80929e6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80929ea: f003 0304 and.w r3, r3, #4 80929ee: 2b00 cmp r3, #0 80929f0: d104 bne.n 80929fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80929f2: 496d ldr r1, [pc, #436] ; (8092ba8 ) 80929f4: 486f ldr r0, [pc, #444] ; (8092bb4 ) 80929f6: f7c1 fe0b bl 8054610 80929fa: e003 b.n 8092a04 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80929fc: 496a ldr r1, [pc, #424] ; (8092ba8 ) 80929fe: 486f ldr r0, [pc, #444] ; (8092bbc ) 8092a00: f7c1 fe06 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092a04: f507 73c0 add.w r3, r7, #384 ; 0x180 8092a08: 461a mov r2, r3 8092a0a: 21aa movs r1, #170 ; 0xaa 8092a0c: f44f 7082 mov.w r0, #260 ; 0x104 8092a10: f7c2 fbbe bl 8055190 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092a14: 4964 ldr r1, [pc, #400] ; (8092ba8 ) 8092a16: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8092a1a: f7c1 fdf9 bl 8054610 if(blk) 8092a1e: 4b68 ldr r3, [pc, #416] ; (8092bc0 ) 8092a20: 681b ldr r3, [r3, #0] 8092a22: 2b00 cmp r3, #0 8092a24: d00b beq.n 8092a3e LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8092a26: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8092a2a: b2db uxtb r3, r3 8092a2c: 461a mov r2, r3 8092a2e: 4b65 ldr r3, [pc, #404] ; (8092bc4 ) 8092a30: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092a34: 461a mov r2, r3 8092a36: 21ca movs r1, #202 ; 0xca 8092a38: 20d6 movs r0, #214 ; 0xd6 8092a3a: f7c2 fb91 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092a3e: 495a ldr r1, [pc, #360] ; (8092ba8 ) 8092a40: 485c ldr r0, [pc, #368] ; (8092bb4 ) 8092a42: f7c1 fde5 bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8092a46: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8092a4a: b2db uxtb r3, r3 8092a4c: 461a mov r2, r3 8092a4e: 4b5d ldr r3, [pc, #372] ; (8092bc4 ) 8092a50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092a54: 461a mov r2, r3 8092a56: 21ca movs r1, #202 ; 0xca 8092a58: 20c6 movs r0, #198 ; 0xc6 8092a5a: f7c2 fb81 bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8092a5e: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8092a62: b2db uxtb r3, r3 8092a64: 461a mov r2, r3 8092a66: 4b57 ldr r3, [pc, #348] ; (8092bc4 ) 8092a68: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092a6c: 461a mov r2, r3 8092a6e: 21ca movs r1, #202 ; 0xca 8092a70: 20e6 movs r0, #230 ; 0xe6 8092a72: f7c2 fb75 bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8092a76: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8092a7a: b2db uxtb r3, r3 8092a7c: 461a mov r2, r3 8092a7e: 4b51 ldr r3, [pc, #324] ; (8092bc4 ) 8092a80: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092a84: 461a mov r2, r3 8092a86: 21ca movs r1, #202 ; 0xca 8092a88: 20f6 movs r0, #246 ; 0xf6 8092a8a: f7c2 fb69 bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8092a8e: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8092a92: b2db uxtb r3, r3 8092a94: 461a mov r2, r3 8092a96: 4b4b ldr r3, [pc, #300] ; (8092bc4 ) 8092a98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092a9c: 461a mov r2, r3 8092a9e: 21ca movs r1, #202 ; 0xca 8092aa0: f44f 7083 mov.w r0, #262 ; 0x106 8092aa4: f7c2 fb5c bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 8092aa8: 4a47 ldr r2, [pc, #284] ; (8092bc8 ) 8092aaa: 21ca movs r1, #202 ; 0xca 8092aac: f44f 708b mov.w r0, #278 ; 0x116 8092ab0: f7c2 fb56 bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8092ab4: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8092ab8: b2db uxtb r3, r3 8092aba: 461a mov r2, r3 8092abc: 4b41 ldr r3, [pc, #260] ; (8092bc4 ) 8092abe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092ac2: 461a mov r2, r3 8092ac4: 21ca movs r1, #202 ; 0xca 8092ac6: f44f 7093 mov.w r0, #294 ; 0x126 8092aca: f7c2 fb49 bl 8055160 break; 8092ace: f000 bc22 b.w 8093316 case WaveThr_IES: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092ad2: 4935 ldr r1, [pc, #212] ; (8092ba8 ) 8092ad4: f04f 30ff mov.w r0, #4294967295 8092ad8: f7c1 fd9a bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8092adc: 4b33 ldr r3, [pc, #204] ; (8092bac ) 8092ade: 7b1b ldrb r3, [r3, #12] 8092ae0: b2db uxtb r3, r3 8092ae2: 461a mov r2, r3 8092ae4: 4b32 ldr r3, [pc, #200] ; (8092bb0 ) 8092ae6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092aea: 461a mov r2, r3 8092aec: 2127 movs r1, #39 ; 0x27 8092aee: 200a movs r0, #10 8092af0: f7c2 fb36 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092af4: 492c ldr r1, [pc, #176] ; (8092ba8 ) 8092af6: 482f ldr r0, [pc, #188] ; (8092bb4 ) 8092af8: f7c1 fd8a bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092afc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092b00: 461a mov r2, r3 8092b02: 217a movs r1, #122 ; 0x7a 8092b04: f44f 7082 mov.w r0, #260 ; 0x104 8092b08: f7c2 fb42 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092b0c: 4b27 ldr r3, [pc, #156] ; (8092bac ) 8092b0e: 7b1b ldrb r3, [r3, #12] 8092b10: b2db uxtb r3, r3 8092b12: 461a mov r2, r3 8092b14: 4b25 ldr r3, [pc, #148] ; (8092bac ) 8092b16: 7b9b ldrb r3, [r3, #14] 8092b18: b2db uxtb r3, r3 8092b1a: 4618 mov r0, r3 8092b1c: 4926 ldr r1, [pc, #152] ; (8092bb8 ) 8092b1e: 4613 mov r3, r2 8092b20: 009b lsls r3, r3, #2 8092b22: 4413 add r3, r2 8092b24: 005b lsls r3, r3, #1 8092b26: 4413 add r3, r2 8092b28: 4403 add r3, r0 8092b2a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092b2e: 461a mov r2, r3 8092b30: 218a movs r1, #138 ; 0x8a 8092b32: f44f 7082 mov.w r0, #260 ; 0x104 8092b36: f7c2 fb2b bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092b3a: 491b ldr r1, [pc, #108] ; (8092ba8 ) 8092b3c: f04f 30ff mov.w r0, #4294967295 8092b40: f7c1 fd66 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8092b44: 230a movs r3, #10 8092b46: 220a movs r2, #10 8092b48: 219d movs r1, #157 ; 0x9d 8092b4a: 20ff movs r0, #255 ; 0xff 8092b4c: f7c2 f9ee bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092b50: 230a movs r3, #10 8092b52: 220a movs r2, #10 8092b54: 21bd movs r1, #189 ; 0xbd 8092b56: 20ff movs r0, #255 ; 0xff 8092b58: f7c2 f9e8 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8092b5c: 230a movs r3, #10 8092b5e: 220a movs r2, #10 8092b60: 216d movs r1, #109 ; 0x6d 8092b62: 20ff movs r0, #255 ; 0xff 8092b64: f7c2 f9e2 bl 8054f2c if(pardata.THR & 0x80) 8092b68: 4b10 ldr r3, [pc, #64] ; (8092bac ) 8092b6a: 7bdb ldrb r3, [r3, #15] 8092b6c: b2db uxtb r3, r3 8092b6e: b25b sxtb r3, r3 8092b70: 2b00 cmp r3, #0 8092b72: da0c bge.n 8092b8e { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092b74: 490c ldr r1, [pc, #48] ; (8092ba8 ) 8092b76: 480f ldr r0, [pc, #60] ; (8092bb4 ) 8092b78: f7c1 fd4a bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092b7c: f507 73c0 add.w r3, r7, #384 ; 0x180 8092b80: 461a mov r2, r3 8092b82: 21aa movs r1, #170 ; 0xaa 8092b84: f44f 7082 mov.w r0, #260 ; 0x104 8092b88: f7c2 fb02 bl 8055190 8092b8c: e02a b.n 8092be4 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8092b8e: 4b07 ldr r3, [pc, #28] ; (8092bac ) 8092b90: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8092b94: f003 0304 and.w r3, r3, #4 8092b98: 2b00 cmp r3, #0 8092b9a: d117 bne.n 8092bcc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092b9c: 4902 ldr r1, [pc, #8] ; (8092ba8 ) 8092b9e: 4805 ldr r0, [pc, #20] ; (8092bb4 ) 8092ba0: f7c1 fd36 bl 8054610 8092ba4: e016 b.n 8092bd4 8092ba6: bf00 nop 8092ba8: ff0a0f1f .word 0xff0a0f1f 8092bac: 20023ea8 .word 0x20023ea8 8092bb0: 200205cc .word 0x200205cc 8092bb4: ffd8aa57 .word 0xffd8aa57 8092bb8: 2002033c .word 0x2002033c 8092bbc: ff808080 .word 0xff808080 8092bc0: 200216a4 .word 0x200216a4 8092bc4: 2002096c .word 0x2002096c 8092bc8: 080d3b58 .word 0x080d3b58 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092bcc: 49cd ldr r1, [pc, #820] ; (8092f04 ) 8092bce: 48ce ldr r0, [pc, #824] ; (8092f08 ) 8092bd0: f7c1 fd1e bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092bd4: f507 73c0 add.w r3, r7, #384 ; 0x180 8092bd8: 461a mov r2, r3 8092bda: 21aa movs r1, #170 ; 0xaa 8092bdc: f44f 7082 mov.w r0, #260 ; 0x104 8092be0: f7c2 fad6 bl 8055190 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092be4: 49c7 ldr r1, [pc, #796] ; (8092f04 ) 8092be6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8092bea: f7c1 fd11 bl 8054610 if(blk) 8092bee: 4bc7 ldr r3, [pc, #796] ; (8092f0c ) 8092bf0: 681b ldr r3, [r3, #0] 8092bf2: 2b00 cmp r3, #0 8092bf4: d00b beq.n 8092c0e LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8092bf6: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8092bfa: b2db uxtb r3, r3 8092bfc: 461a mov r2, r3 8092bfe: 4bc4 ldr r3, [pc, #784] ; (8092f10 ) 8092c00: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092c04: 461a mov r2, r3 8092c06: 21ca movs r1, #202 ; 0xca 8092c08: 20e6 movs r0, #230 ; 0xe6 8092c0a: f7c2 faa9 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092c0e: 49bd ldr r1, [pc, #756] ; (8092f04 ) 8092c10: 48c0 ldr r0, [pc, #768] ; (8092f14 ) 8092c12: f7c1 fcfd bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8092c16: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8092c1a: b2db uxtb r3, r3 8092c1c: 461a mov r2, r3 8092c1e: 4bbc ldr r3, [pc, #752] ; (8092f10 ) 8092c20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092c24: 461a mov r2, r3 8092c26: 21ca movs r1, #202 ; 0xca 8092c28: 20c6 movs r0, #198 ; 0xc6 8092c2a: f7c2 fa99 bl 8055160 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8092c2e: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8092c32: b2db uxtb r3, r3 8092c34: 461a mov r2, r3 8092c36: 4bb6 ldr r3, [pc, #728] ; (8092f10 ) 8092c38: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092c3c: 461a mov r2, r3 8092c3e: 21ca movs r1, #202 ; 0xca 8092c40: 20d6 movs r0, #214 ; 0xd6 8092c42: f7c2 fa8d bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8092c46: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8092c4a: b2db uxtb r3, r3 8092c4c: 461a mov r2, r3 8092c4e: 4bb0 ldr r3, [pc, #704] ; (8092f10 ) 8092c50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092c54: 461a mov r2, r3 8092c56: 21ca movs r1, #202 ; 0xca 8092c58: 20f6 movs r0, #246 ; 0xf6 8092c5a: f7c2 fa81 bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8092c5e: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8092c62: b2db uxtb r3, r3 8092c64: 461a mov r2, r3 8092c66: 4baa ldr r3, [pc, #680] ; (8092f10 ) 8092c68: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092c6c: 461a mov r2, r3 8092c6e: 21ca movs r1, #202 ; 0xca 8092c70: f44f 7083 mov.w r0, #262 ; 0x106 8092c74: f7c2 fa74 bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 8092c78: 4aa7 ldr r2, [pc, #668] ; (8092f18 ) 8092c7a: 21ca movs r1, #202 ; 0xca 8092c7c: f44f 708b mov.w r0, #278 ; 0x116 8092c80: f7c2 fa6e bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8092c84: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8092c88: b2db uxtb r3, r3 8092c8a: 461a mov r2, r3 8092c8c: 4ba0 ldr r3, [pc, #640] ; (8092f10 ) 8092c8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092c92: 461a mov r2, r3 8092c94: 21ca movs r1, #202 ; 0xca 8092c96: f44f 7093 mov.w r0, #294 ; 0x126 8092c9a: f7c2 fa61 bl 8055160 break; 8092c9e: e33a b.n 8093316 case WaveThr_IED: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092ca0: 4998 ldr r1, [pc, #608] ; (8092f04 ) 8092ca2: f04f 30ff mov.w r0, #4294967295 8092ca6: f7c1 fcb3 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8092caa: 4b9c ldr r3, [pc, #624] ; (8092f1c ) 8092cac: 7b1b ldrb r3, [r3, #12] 8092cae: b2db uxtb r3, r3 8092cb0: 461a mov r2, r3 8092cb2: 4b9b ldr r3, [pc, #620] ; (8092f20 ) 8092cb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092cb8: 461a mov r2, r3 8092cba: 2127 movs r1, #39 ; 0x27 8092cbc: 200a movs r0, #10 8092cbe: f7c2 fa4f bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092cc2: 4990 ldr r1, [pc, #576] ; (8092f04 ) 8092cc4: 4893 ldr r0, [pc, #588] ; (8092f14 ) 8092cc6: f7c1 fca3 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092cca: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092cce: 461a mov r2, r3 8092cd0: 217a movs r1, #122 ; 0x7a 8092cd2: f44f 7082 mov.w r0, #260 ; 0x104 8092cd6: f7c2 fa5b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092cda: 4b90 ldr r3, [pc, #576] ; (8092f1c ) 8092cdc: 7b1b ldrb r3, [r3, #12] 8092cde: b2db uxtb r3, r3 8092ce0: 461a mov r2, r3 8092ce2: 4b8e ldr r3, [pc, #568] ; (8092f1c ) 8092ce4: 7b9b ldrb r3, [r3, #14] 8092ce6: b2db uxtb r3, r3 8092ce8: 4618 mov r0, r3 8092cea: 498e ldr r1, [pc, #568] ; (8092f24 ) 8092cec: 4613 mov r3, r2 8092cee: 009b lsls r3, r3, #2 8092cf0: 4413 add r3, r2 8092cf2: 005b lsls r3, r3, #1 8092cf4: 4413 add r3, r2 8092cf6: 4403 add r3, r0 8092cf8: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092cfc: 461a mov r2, r3 8092cfe: 218a movs r1, #138 ; 0x8a 8092d00: f44f 7082 mov.w r0, #260 ; 0x104 8092d04: f7c2 fa44 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092d08: 497e ldr r1, [pc, #504] ; (8092f04 ) 8092d0a: f04f 30ff mov.w r0, #4294967295 8092d0e: f7c1 fc7f bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8092d12: 230a movs r3, #10 8092d14: 220a movs r2, #10 8092d16: 219d movs r1, #157 ; 0x9d 8092d18: 20ff movs r0, #255 ; 0xff 8092d1a: f7c2 f907 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092d1e: 230a movs r3, #10 8092d20: 220a movs r2, #10 8092d22: 21bd movs r1, #189 ; 0xbd 8092d24: 20ff movs r0, #255 ; 0xff 8092d26: f7c2 f901 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8092d2a: 230a movs r3, #10 8092d2c: 220a movs r2, #10 8092d2e: 216d movs r1, #109 ; 0x6d 8092d30: 20ff movs r0, #255 ; 0xff 8092d32: f7c2 f8fb bl 8054f2c if(pardata.THR & 0x80) 8092d36: 4b79 ldr r3, [pc, #484] ; (8092f1c ) 8092d38: 7bdb ldrb r3, [r3, #15] 8092d3a: b2db uxtb r3, r3 8092d3c: b25b sxtb r3, r3 8092d3e: 2b00 cmp r3, #0 8092d40: da0c bge.n 8092d5c { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092d42: 4970 ldr r1, [pc, #448] ; (8092f04 ) 8092d44: 4873 ldr r0, [pc, #460] ; (8092f14 ) 8092d46: f7c1 fc63 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092d4a: f507 73c0 add.w r3, r7, #384 ; 0x180 8092d4e: 461a mov r2, r3 8092d50: 21aa movs r1, #170 ; 0xaa 8092d52: f44f 7082 mov.w r0, #260 ; 0x104 8092d56: f7c2 fa1b bl 8055190 8092d5a: e017 b.n 8092d8c } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8092d5c: 4b6f ldr r3, [pc, #444] ; (8092f1c ) 8092d5e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8092d62: f003 0304 and.w r3, r3, #4 8092d66: 2b00 cmp r3, #0 8092d68: d104 bne.n 8092d74 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092d6a: 4966 ldr r1, [pc, #408] ; (8092f04 ) 8092d6c: 4869 ldr r0, [pc, #420] ; (8092f14 ) 8092d6e: f7c1 fc4f bl 8054610 8092d72: e003 b.n 8092d7c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092d74: 4963 ldr r1, [pc, #396] ; (8092f04 ) 8092d76: 4864 ldr r0, [pc, #400] ; (8092f08 ) 8092d78: f7c1 fc4a bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092d7c: f507 73c0 add.w r3, r7, #384 ; 0x180 8092d80: 461a mov r2, r3 8092d82: 21aa movs r1, #170 ; 0xaa 8092d84: f44f 7082 mov.w r0, #260 ; 0x104 8092d88: f7c2 fa02 bl 8055190 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092d8c: 495d ldr r1, [pc, #372] ; (8092f04 ) 8092d8e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8092d92: f7c1 fc3d bl 8054610 if(blk) 8092d96: 4b5d ldr r3, [pc, #372] ; (8092f0c ) 8092d98: 681b ldr r3, [r3, #0] 8092d9a: 2b00 cmp r3, #0 8092d9c: d00b beq.n 8092db6 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8092d9e: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8092da2: b2db uxtb r3, r3 8092da4: 461a mov r2, r3 8092da6: 4b5a ldr r3, [pc, #360] ; (8092f10 ) 8092da8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092dac: 461a mov r2, r3 8092dae: 21ca movs r1, #202 ; 0xca 8092db0: 20f6 movs r0, #246 ; 0xf6 8092db2: f7c2 f9d5 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092db6: 4953 ldr r1, [pc, #332] ; (8092f04 ) 8092db8: 4856 ldr r0, [pc, #344] ; (8092f14 ) 8092dba: f7c1 fc29 bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8092dbe: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8092dc2: b2db uxtb r3, r3 8092dc4: 461a mov r2, r3 8092dc6: 4b52 ldr r3, [pc, #328] ; (8092f10 ) 8092dc8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092dcc: 461a mov r2, r3 8092dce: 21ca movs r1, #202 ; 0xca 8092dd0: 20c6 movs r0, #198 ; 0xc6 8092dd2: f7c2 f9c5 bl 8055160 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8092dd6: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8092dda: b2db uxtb r3, r3 8092ddc: 461a mov r2, r3 8092dde: 4b4c ldr r3, [pc, #304] ; (8092f10 ) 8092de0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092de4: 461a mov r2, r3 8092de6: 21ca movs r1, #202 ; 0xca 8092de8: 20d6 movs r0, #214 ; 0xd6 8092dea: f7c2 f9b9 bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8092dee: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8092df2: b2db uxtb r3, r3 8092df4: 461a mov r2, r3 8092df6: 4b46 ldr r3, [pc, #280] ; (8092f10 ) 8092df8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092dfc: 461a mov r2, r3 8092dfe: 21ca movs r1, #202 ; 0xca 8092e00: 20e6 movs r0, #230 ; 0xe6 8092e02: f7c2 f9ad bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8092e06: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8092e0a: b2db uxtb r3, r3 8092e0c: 461a mov r2, r3 8092e0e: 4b40 ldr r3, [pc, #256] ; (8092f10 ) 8092e10: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092e14: 461a mov r2, r3 8092e16: 21ca movs r1, #202 ; 0xca 8092e18: f44f 7083 mov.w r0, #262 ; 0x106 8092e1c: f7c2 f9a0 bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 8092e20: 4a3d ldr r2, [pc, #244] ; (8092f18 ) 8092e22: 21ca movs r1, #202 ; 0xca 8092e24: f44f 708b mov.w r0, #278 ; 0x116 8092e28: f7c2 f99a bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8092e2c: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8092e30: b2db uxtb r3, r3 8092e32: 461a mov r2, r3 8092e34: 4b36 ldr r3, [pc, #216] ; (8092f10 ) 8092e36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092e3a: 461a mov r2, r3 8092e3c: 21ca movs r1, #202 ; 0xca 8092e3e: f44f 7093 mov.w r0, #294 ; 0x126 8092e42: f7c2 f98d bl 8055160 break; 8092e46: e266 b.n 8093316 case WaveThr_IEE: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092e48: 492e ldr r1, [pc, #184] ; (8092f04 ) 8092e4a: f04f 30ff mov.w r0, #4294967295 8092e4e: f7c1 fbdf bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8092e52: 4b32 ldr r3, [pc, #200] ; (8092f1c ) 8092e54: 7b1b ldrb r3, [r3, #12] 8092e56: b2db uxtb r3, r3 8092e58: 461a mov r2, r3 8092e5a: 4b31 ldr r3, [pc, #196] ; (8092f20 ) 8092e5c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092e60: 461a mov r2, r3 8092e62: 2127 movs r1, #39 ; 0x27 8092e64: 200a movs r0, #10 8092e66: f7c2 f97b bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092e6a: 4926 ldr r1, [pc, #152] ; (8092f04 ) 8092e6c: 4829 ldr r0, [pc, #164] ; (8092f14 ) 8092e6e: f7c1 fbcf bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092e72: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092e76: 461a mov r2, r3 8092e78: 217a movs r1, #122 ; 0x7a 8092e7a: f44f 7082 mov.w r0, #260 ; 0x104 8092e7e: f7c2 f987 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092e82: 4b26 ldr r3, [pc, #152] ; (8092f1c ) 8092e84: 7b1b ldrb r3, [r3, #12] 8092e86: b2db uxtb r3, r3 8092e88: 461a mov r2, r3 8092e8a: 4b24 ldr r3, [pc, #144] ; (8092f1c ) 8092e8c: 7b9b ldrb r3, [r3, #14] 8092e8e: b2db uxtb r3, r3 8092e90: 4618 mov r0, r3 8092e92: 4924 ldr r1, [pc, #144] ; (8092f24 ) 8092e94: 4613 mov r3, r2 8092e96: 009b lsls r3, r3, #2 8092e98: 4413 add r3, r2 8092e9a: 005b lsls r3, r3, #1 8092e9c: 4413 add r3, r2 8092e9e: 4403 add r3, r0 8092ea0: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092ea4: 461a mov r2, r3 8092ea6: 218a movs r1, #138 ; 0x8a 8092ea8: f44f 7082 mov.w r0, #260 ; 0x104 8092eac: f7c2 f970 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092eb0: 4914 ldr r1, [pc, #80] ; (8092f04 ) 8092eb2: f04f 30ff mov.w r0, #4294967295 8092eb6: f7c1 fbab bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8092eba: 230a movs r3, #10 8092ebc: 220a movs r2, #10 8092ebe: 219d movs r1, #157 ; 0x9d 8092ec0: 20ff movs r0, #255 ; 0xff 8092ec2: f7c2 f833 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092ec6: 230a movs r3, #10 8092ec8: 220a movs r2, #10 8092eca: 21bd movs r1, #189 ; 0xbd 8092ecc: 20ff movs r0, #255 ; 0xff 8092ece: f7c2 f82d bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8092ed2: 230a movs r3, #10 8092ed4: 220a movs r2, #10 8092ed6: 216d movs r1, #109 ; 0x6d 8092ed8: 20ff movs r0, #255 ; 0xff 8092eda: f7c2 f827 bl 8054f2c if(pardata.THR & 0x80) 8092ede: 4b0f ldr r3, [pc, #60] ; (8092f1c ) 8092ee0: 7bdb ldrb r3, [r3, #15] 8092ee2: b2db uxtb r3, r3 8092ee4: b25b sxtb r3, r3 8092ee6: 2b00 cmp r3, #0 8092ee8: da1e bge.n 8092f28 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092eea: 4906 ldr r1, [pc, #24] ; (8092f04 ) 8092eec: 4809 ldr r0, [pc, #36] ; (8092f14 ) 8092eee: f7c1 fb8f bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092ef2: f507 73c0 add.w r3, r7, #384 ; 0x180 8092ef6: 461a mov r2, r3 8092ef8: 21aa movs r1, #170 ; 0xaa 8092efa: f44f 7082 mov.w r0, #260 ; 0x104 8092efe: f7c2 f947 bl 8055190 8092f02: e029 b.n 8092f58 8092f04: ff0a0f1f .word 0xff0a0f1f 8092f08: ff808080 .word 0xff808080 8092f0c: 200216a4 .word 0x200216a4 8092f10: 2002096c .word 0x2002096c 8092f14: ffd8aa57 .word 0xffd8aa57 8092f18: 080d3b58 .word 0x080d3b58 8092f1c: 20023ea8 .word 0x20023ea8 8092f20: 200205cc .word 0x200205cc 8092f24: 2002033c .word 0x2002033c } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8092f28: 4ba4 ldr r3, [pc, #656] ; (80931bc ) 8092f2a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8092f2e: f003 0304 and.w r3, r3, #4 8092f32: 2b00 cmp r3, #0 8092f34: d104 bne.n 8092f40 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092f36: 49a2 ldr r1, [pc, #648] ; (80931c0 ) 8092f38: 48a2 ldr r0, [pc, #648] ; (80931c4 ) 8092f3a: f7c1 fb69 bl 8054610 8092f3e: e003 b.n 8092f48 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8092f40: 499f ldr r1, [pc, #636] ; (80931c0 ) 8092f42: 48a1 ldr r0, [pc, #644] ; (80931c8 ) 8092f44: f7c1 fb64 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092f48: f507 73c0 add.w r3, r7, #384 ; 0x180 8092f4c: 461a mov r2, r3 8092f4e: 21aa movs r1, #170 ; 0xaa 8092f50: f44f 7082 mov.w r0, #260 ; 0x104 8092f54: f7c2 f91c bl 8055190 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8092f58: 4999 ldr r1, [pc, #612] ; (80931c0 ) 8092f5a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8092f5e: f7c1 fb57 bl 8054610 if(blk) 8092f62: 4b9a ldr r3, [pc, #616] ; (80931cc ) 8092f64: 681b ldr r3, [r3, #0] 8092f66: 2b00 cmp r3, #0 8092f68: d00c beq.n 8092f84 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8092f6a: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8092f6e: b2db uxtb r3, r3 8092f70: 461a mov r2, r3 8092f72: 4b97 ldr r3, [pc, #604] ; (80931d0 ) 8092f74: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092f78: 461a mov r2, r3 8092f7a: 21ca movs r1, #202 ; 0xca 8092f7c: f44f 7083 mov.w r0, #262 ; 0x106 8092f80: f7c2 f8ee bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092f84: 498e ldr r1, [pc, #568] ; (80931c0 ) 8092f86: 488f ldr r0, [pc, #572] ; (80931c4 ) 8092f88: f7c1 fb42 bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8092f8c: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8092f90: b2db uxtb r3, r3 8092f92: 461a mov r2, r3 8092f94: 4b8e ldr r3, [pc, #568] ; (80931d0 ) 8092f96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092f9a: 461a mov r2, r3 8092f9c: 21ca movs r1, #202 ; 0xca 8092f9e: 20c6 movs r0, #198 ; 0xc6 8092fa0: f7c2 f8de bl 8055160 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8092fa4: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8092fa8: b2db uxtb r3, r3 8092faa: 461a mov r2, r3 8092fac: 4b88 ldr r3, [pc, #544] ; (80931d0 ) 8092fae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092fb2: 461a mov r2, r3 8092fb4: 21ca movs r1, #202 ; 0xca 8092fb6: 20d6 movs r0, #214 ; 0xd6 8092fb8: f7c2 f8d2 bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8092fbc: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8092fc0: b2db uxtb r3, r3 8092fc2: 461a mov r2, r3 8092fc4: 4b82 ldr r3, [pc, #520] ; (80931d0 ) 8092fc6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092fca: 461a mov r2, r3 8092fcc: 21ca movs r1, #202 ; 0xca 8092fce: 20e6 movs r0, #230 ; 0xe6 8092fd0: f7c2 f8c6 bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8092fd4: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8092fd8: b2db uxtb r3, r3 8092fda: 461a mov r2, r3 8092fdc: 4b7c ldr r3, [pc, #496] ; (80931d0 ) 8092fde: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092fe2: 461a mov r2, r3 8092fe4: 21ca movs r1, #202 ; 0xca 8092fe6: 20f6 movs r0, #246 ; 0xf6 8092fe8: f7c2 f8ba bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 8092fec: 4a79 ldr r2, [pc, #484] ; (80931d4 ) 8092fee: 21ca movs r1, #202 ; 0xca 8092ff0: f44f 708b mov.w r0, #278 ; 0x116 8092ff4: f7c2 f8b4 bl 8055160 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8092ff8: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8092ffc: b2db uxtb r3, r3 8092ffe: 461a mov r2, r3 8093000: 4b73 ldr r3, [pc, #460] ; (80931d0 ) 8093002: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093006: 461a mov r2, r3 8093008: 21ca movs r1, #202 ; 0xca 809300a: f44f 7093 mov.w r0, #294 ; 0x126 809300e: f7c2 f8a7 bl 8055160 break; 8093012: e180 b.n 8093316 case WaveThr_IKD: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093014: 496a ldr r1, [pc, #424] ; (80931c0 ) 8093016: f04f 30ff mov.w r0, #4294967295 809301a: f7c1 faf9 bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 809301e: 4b67 ldr r3, [pc, #412] ; (80931bc ) 8093020: 7b1b ldrb r3, [r3, #12] 8093022: b2db uxtb r3, r3 8093024: 461a mov r2, r3 8093026: 4b6c ldr r3, [pc, #432] ; (80931d8 ) 8093028: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809302c: 461a mov r2, r3 809302e: 2127 movs r1, #39 ; 0x27 8093030: 200a movs r0, #10 8093032: f7c2 f895 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8093036: 4962 ldr r1, [pc, #392] ; (80931c0 ) 8093038: 4862 ldr r0, [pc, #392] ; (80931c4 ) 809303a: f7c1 fae9 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 809303e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093042: 461a mov r2, r3 8093044: 217a movs r1, #122 ; 0x7a 8093046: f44f 7082 mov.w r0, #260 ; 0x104 809304a: f7c2 f8a1 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809304e: 4b5b ldr r3, [pc, #364] ; (80931bc ) 8093050: 7b1b ldrb r3, [r3, #12] 8093052: b2db uxtb r3, r3 8093054: 461a mov r2, r3 8093056: 4b59 ldr r3, [pc, #356] ; (80931bc ) 8093058: 7b9b ldrb r3, [r3, #14] 809305a: b2db uxtb r3, r3 809305c: 4618 mov r0, r3 809305e: 495f ldr r1, [pc, #380] ; (80931dc ) 8093060: 4613 mov r3, r2 8093062: 009b lsls r3, r3, #2 8093064: 4413 add r3, r2 8093066: 005b lsls r3, r3, #1 8093068: 4413 add r3, r2 809306a: 4403 add r3, r0 809306c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8093070: 461a mov r2, r3 8093072: 218a movs r1, #138 ; 0x8a 8093074: f44f 7082 mov.w r0, #260 ; 0x104 8093078: f7c2 f88a bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809307c: 4950 ldr r1, [pc, #320] ; (80931c0 ) 809307e: f04f 30ff mov.w r0, #4294967295 8093082: f7c1 fac5 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8093086: 230a movs r3, #10 8093088: 220a movs r2, #10 809308a: 219d movs r1, #157 ; 0x9d 809308c: 20ff movs r0, #255 ; 0xff 809308e: f7c1 ff4d bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8093092: 230a movs r3, #10 8093094: 220a movs r2, #10 8093096: 21bd movs r1, #189 ; 0xbd 8093098: 20ff movs r0, #255 ; 0xff 809309a: f7c1 ff47 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 809309e: 230a movs r3, #10 80930a0: 220a movs r2, #10 80930a2: 216d movs r1, #109 ; 0x6d 80930a4: 20ff movs r0, #255 ; 0xff 80930a6: f7c1 ff41 bl 8054f2c if(pardata.THR & 0x80) 80930aa: 4b44 ldr r3, [pc, #272] ; (80931bc ) 80930ac: 7bdb ldrb r3, [r3, #15] 80930ae: b2db uxtb r3, r3 80930b0: b25b sxtb r3, r3 80930b2: 2b00 cmp r3, #0 80930b4: da0c bge.n 80930d0 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80930b6: 4942 ldr r1, [pc, #264] ; (80931c0 ) 80930b8: 4842 ldr r0, [pc, #264] ; (80931c4 ) 80930ba: f7c1 faa9 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80930be: f507 73c0 add.w r3, r7, #384 ; 0x180 80930c2: 461a mov r2, r3 80930c4: 21aa movs r1, #170 ; 0xaa 80930c6: f44f 7082 mov.w r0, #260 ; 0x104 80930ca: f7c2 f861 bl 8055190 80930ce: e017 b.n 8093100 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80930d0: 4b3a ldr r3, [pc, #232] ; (80931bc ) 80930d2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80930d6: f003 0304 and.w r3, r3, #4 80930da: 2b00 cmp r3, #0 80930dc: d104 bne.n 80930e8 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80930de: 4938 ldr r1, [pc, #224] ; (80931c0 ) 80930e0: 4838 ldr r0, [pc, #224] ; (80931c4 ) 80930e2: f7c1 fa95 bl 8054610 80930e6: e003 b.n 80930f0 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80930e8: 4935 ldr r1, [pc, #212] ; (80931c0 ) 80930ea: 4837 ldr r0, [pc, #220] ; (80931c8 ) 80930ec: f7c1 fa90 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80930f0: f507 73c0 add.w r3, r7, #384 ; 0x180 80930f4: 461a mov r2, r3 80930f6: 21aa movs r1, #170 ; 0xaa 80930f8: f44f 7082 mov.w r0, #260 ; 0x104 80930fc: f7c2 f848 bl 8055190 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8093100: 492f ldr r1, [pc, #188] ; (80931c0 ) 8093102: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8093106: f7c1 fa83 bl 8054610 if(blk) 809310a: 4b30 ldr r3, [pc, #192] ; (80931cc ) 809310c: 681b ldr r3, [r3, #0] 809310e: 2b00 cmp r3, #0 8093110: d00c beq.n 809312c LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8093112: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8093116: b2db uxtb r3, r3 8093118: 461a mov r2, r3 809311a: 4b2d ldr r3, [pc, #180] ; (80931d0 ) 809311c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093120: 461a mov r2, r3 8093122: 21ca movs r1, #202 ; 0xca 8093124: f44f 7093 mov.w r0, #294 ; 0x126 8093128: f7c2 f81a bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809312c: 4924 ldr r1, [pc, #144] ; (80931c0 ) 809312e: 4825 ldr r0, [pc, #148] ; (80931c4 ) 8093130: f7c1 fa6e bl 8054610 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8093134: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8093138: b2db uxtb r3, r3 809313a: 461a mov r2, r3 809313c: 4b24 ldr r3, [pc, #144] ; (80931d0 ) 809313e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093142: 461a mov r2, r3 8093144: 21ca movs r1, #202 ; 0xca 8093146: 20c6 movs r0, #198 ; 0xc6 8093148: f7c2 f80a bl 8055160 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 809314c: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8093150: b2db uxtb r3, r3 8093152: 461a mov r2, r3 8093154: 4b1e ldr r3, [pc, #120] ; (80931d0 ) 8093156: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809315a: 461a mov r2, r3 809315c: 21ca movs r1, #202 ; 0xca 809315e: 20d6 movs r0, #214 ; 0xd6 8093160: f7c1 fffe bl 8055160 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8093164: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8093168: b2db uxtb r3, r3 809316a: 461a mov r2, r3 809316c: 4b18 ldr r3, [pc, #96] ; (80931d0 ) 809316e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093172: 461a mov r2, r3 8093174: 21ca movs r1, #202 ; 0xca 8093176: 20e6 movs r0, #230 ; 0xe6 8093178: f7c1 fff2 bl 8055160 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 809317c: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8093180: b2db uxtb r3, r3 8093182: 461a mov r2, r3 8093184: 4b12 ldr r3, [pc, #72] ; (80931d0 ) 8093186: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809318a: 461a mov r2, r3 809318c: 21ca movs r1, #202 ; 0xca 809318e: 20f6 movs r0, #246 ; 0xf6 8093190: f7c1 ffe6 bl 8055160 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8093194: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8093198: b2db uxtb r3, r3 809319a: 461a mov r2, r3 809319c: 4b0c ldr r3, [pc, #48] ; (80931d0 ) 809319e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80931a2: 461a mov r2, r3 80931a4: 21ca movs r1, #202 ; 0xca 80931a6: f44f 7083 mov.w r0, #262 ; 0x106 80931aa: f7c1 ffd9 bl 8055160 LCD_DisplayString(278, LCD_LINE_12, "."); 80931ae: 4a09 ldr r2, [pc, #36] ; (80931d4 ) 80931b0: 21ca movs r1, #202 ; 0xca 80931b2: f44f 708b mov.w r0, #278 ; 0x116 80931b6: f7c1 ffd3 bl 8055160 break; 80931ba: e0ac b.n 8093316 80931bc: 20023ea8 .word 0x20023ea8 80931c0: ff0a0f1f .word 0xff0a0f1f 80931c4: ffd8aa57 .word 0xffd8aa57 80931c8: ff808080 .word 0xff808080 80931cc: 200216a4 .word 0x200216a4 80931d0: 2002096c .word 0x2002096c 80931d4: 080d3b58 .word 0x080d3b58 80931d8: 200205cc .word 0x200205cc 80931dc: 2002033c .word 0x2002033c case WaveTacho: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80931e0: 49ad ldr r1, [pc, #692] ; (8093498 ) 80931e2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80931e6: f7c1 fa13 bl 8054610 BSP_LCD_FillRect(253, CHECKBOX_LINE_6-2, 14, 14); 80931ea: 230e movs r3, #14 80931ec: 220e movs r2, #14 80931ee: 216b movs r1, #107 ; 0x6b 80931f0: 20fd movs r0, #253 ; 0xfd 80931f2: f7c1 fe9b bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80931f6: 49a8 ldr r1, [pc, #672] ; (8093498 ) 80931f8: f04f 30ff mov.w r0, #4294967295 80931fc: f7c1 fa08 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8093200: 230a movs r3, #10 8093202: 220a movs r2, #10 8093204: 216d movs r1, #109 ; 0x6d 8093206: 20ff movs r0, #255 ; 0xff 8093208: f7c1 fe90 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809320c: 49a2 ldr r1, [pc, #648] ; (8093498 ) 809320e: f04f 30ff mov.w r0, #4294967295 8093212: f7c1 f9fd bl 8054610 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8093216: 4ba1 ldr r3, [pc, #644] ; (809349c ) 8093218: 7b1b ldrb r3, [r3, #12] 809321a: b2db uxtb r3, r3 809321c: 461a mov r2, r3 809321e: 4ba0 ldr r3, [pc, #640] ; (80934a0 ) 8093220: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8093224: 461a mov r2, r3 8093226: 2127 movs r1, #39 ; 0x27 8093228: 200a movs r0, #10 809322a: f7c1 ff99 bl 8055160 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809322e: 499a ldr r1, [pc, #616] ; (8093498 ) 8093230: 489c ldr r0, [pc, #624] ; (80934a4 ) 8093232: f7c1 f9ed bl 8054610 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8093236: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809323a: 461a mov r2, r3 809323c: 217a movs r1, #122 ; 0x7a 809323e: f44f 7082 mov.w r0, #260 ; 0x104 8093242: f7c1 ffa5 bl 8055190 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8093246: 4b95 ldr r3, [pc, #596] ; (809349c ) 8093248: 7b1b ldrb r3, [r3, #12] 809324a: b2db uxtb r3, r3 809324c: 461a mov r2, r3 809324e: 4b93 ldr r3, [pc, #588] ; (809349c ) 8093250: 7b9b ldrb r3, [r3, #14] 8093252: b2db uxtb r3, r3 8093254: 4618 mov r0, r3 8093256: 4994 ldr r1, [pc, #592] ; (80934a8 ) 8093258: 4613 mov r3, r2 809325a: 009b lsls r3, r3, #2 809325c: 4413 add r3, r2 809325e: 005b lsls r3, r3, #1 8093260: 4413 add r3, r2 8093262: 4403 add r3, r0 8093264: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8093268: 461a mov r2, r3 809326a: 218a movs r1, #138 ; 0x8a 809326c: f44f 7082 mov.w r0, #260 ; 0x104 8093270: f7c1 ff8e bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093274: 4988 ldr r1, [pc, #544] ; (8093498 ) 8093276: f04f 30ff mov.w r0, #4294967295 809327a: f7c1 f9c9 bl 8054610 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809327e: 230a movs r3, #10 8093280: 220a movs r2, #10 8093282: 219d movs r1, #157 ; 0x9d 8093284: 20ff movs r0, #255 ; 0xff 8093286: f7c1 fe51 bl 8054f2c BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 809328a: 230a movs r3, #10 809328c: 220a movs r2, #10 809328e: 21bd movs r1, #189 ; 0xbd 8093290: 20ff movs r0, #255 ; 0xff 8093292: f7c1 fe4b bl 8054f2c if(pardata.THR & 0x80) 8093296: 4b81 ldr r3, [pc, #516] ; (809349c ) 8093298: 7bdb ldrb r3, [r3, #15] 809329a: b2db uxtb r3, r3 809329c: b25b sxtb r3, r3 809329e: 2b00 cmp r3, #0 80932a0: da14 bge.n 80932cc { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80932a2: 497d ldr r1, [pc, #500] ; (8093498 ) 80932a4: 487f ldr r0, [pc, #508] ; (80934a4 ) 80932a6: f7c1 f9b3 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80932aa: f507 73c0 add.w r3, r7, #384 ; 0x180 80932ae: 461a mov r2, r3 80932b0: 21aa movs r1, #170 ; 0xaa 80932b2: f44f 7082 mov.w r0, #260 ; 0x104 80932b6: f7c1 ff6b bl 8055190 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80932ba: f507 73c6 add.w r3, r7, #396 ; 0x18c 80932be: 461a mov r2, r3 80932c0: 21ca movs r1, #202 ; 0xca 80932c2: f44f 7082 mov.w r0, #260 ; 0x104 80932c6: f7c1 ff63 bl 8055190 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; 80932ca: e023 b.n 8093314 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80932cc: 4972 ldr r1, [pc, #456] ; (8093498 ) 80932ce: 4877 ldr r0, [pc, #476] ; (80934ac ) 80932d0: f7c1 f99e bl 8054610 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80932d4: f507 73c6 add.w r3, r7, #396 ; 0x18c 80932d8: 461a mov r2, r3 80932da: 21ca movs r1, #202 ; 0xca 80932dc: f44f 7082 mov.w r0, #260 ; 0x104 80932e0: f7c1 ff56 bl 8055190 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80932e4: 4b6d ldr r3, [pc, #436] ; (809349c ) 80932e6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80932ea: f003 0304 and.w r3, r3, #4 80932ee: 2b00 cmp r3, #0 80932f0: d104 bne.n 80932fc LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80932f2: 4969 ldr r1, [pc, #420] ; (8093498 ) 80932f4: 486b ldr r0, [pc, #428] ; (80934a4 ) 80932f6: f7c1 f98b bl 8054610 80932fa: e003 b.n 8093304 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80932fc: 4966 ldr r1, [pc, #408] ; (8093498 ) 80932fe: 486b ldr r0, [pc, #428] ; (80934ac ) 8093300: f7c1 f986 bl 8054610 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8093304: f507 73c0 add.w r3, r7, #384 ; 0x180 8093308: 461a mov r2, r3 809330a: 21aa movs r1, #170 ; 0xaa 809330c: f44f 7082 mov.w r0, #260 ; 0x104 8093310: f7c1 ff3e bl 8055190 break; 8093314: bf00 nop } if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 8093316: 4b61 ldr r3, [pc, #388] ; (809349c ) 8093318: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 809331c: f003 0304 and.w r3, r3, #4 8093320: 2b00 cmp r3, #0 8093322: d00a beq.n 809333a { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8093324: 495c ldr r1, [pc, #368] ; (8093498 ) 8093326: 4862 ldr r0, [pc, #392] ; (80934b0 ) 8093328: f7c1 f972 bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_9+2, 6, 6); 809332c: 2306 movs r3, #6 809332e: 2206 movs r2, #6 8093330: 219f movs r1, #159 ; 0x9f 8093332: f240 1001 movw r0, #257 ; 0x101 8093336: f7c1 fdf9 bl 8054f2c } if(pardata.OPTIONS & BIT7) 809333a: 4b58 ldr r3, [pc, #352] ; (809349c ) 809333c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8093340: f003 0380 and.w r3, r3, #128 ; 0x80 8093344: 2b00 cmp r3, #0 8093346: d00a beq.n 809335e { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8093348: 4953 ldr r1, [pc, #332] ; (8093498 ) 809334a: 4859 ldr r0, [pc, #356] ; (80934b0 ) 809334c: f7c1 f960 bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_6+2, 6, 6); 8093350: 2306 movs r3, #6 8093352: 2206 movs r2, #6 8093354: 216f movs r1, #111 ; 0x6f 8093356: f240 1001 movw r0, #257 ; 0x101 809335a: f7c1 fde7 bl 8054f2c } if(pardata.THR & 0x80) // Åñëè ïîðîã åíåéáëåä 809335e: 4b4f ldr r3, [pc, #316] ; (809349c ) 8093360: 7bdb ldrb r3, [r3, #15] 8093362: b2db uxtb r3, r3 8093364: b25b sxtb r3, r3 8093366: 2b00 cmp r3, #0 8093368: f285 8151 bge.w 809860e { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 809336c: 494a ldr r1, [pc, #296] ; (8093498 ) 809336e: 4850 ldr r0, [pc, #320] ; (80934b0 ) 8093370: f7c1 f94e bl 8054610 BSP_LCD_FillRect(257, CHECKBOX_LINE_11+2, 6, 6); 8093374: 2306 movs r3, #6 8093376: 2206 movs r2, #6 8093378: 21bf movs r1, #191 ; 0xbf 809337a: f240 1001 movw r0, #257 ; 0x101 809337e: f7c1 fdd5 bl 8054f2c } break; 8093382: f005 b944 b.w 809860e case EXPLORER: if(pardata.LANG == RUS) 8093386: 4b45 ldr r3, [pc, #276] ; (809349c ) 8093388: 7b1b ldrb r3, [r3, #12] 809338a: b2db uxtb r3, r3 809338c: 2b00 cmp r3, #0 809338e: d105 bne.n 809339c DrawImage(&bmLEGEND_PTM_RUS, 0, 45); 8093390: 222d movs r2, #45 ; 0x2d 8093392: 2100 movs r1, #0 8093394: 4847 ldr r0, [pc, #284] ; (80934b4 ) 8093396: f7c2 f82f bl 80553f8 809339a: e004 b.n 80933a6 else DrawImage(&bmLEGEND_PTM_ENG, 0, 45); 809339c: 222d movs r2, #45 ; 0x2d 809339e: 2100 movs r1, #0 80933a0: 4845 ldr r0, [pc, #276] ; (80934b8 ) 80933a2: f7c2 f829 bl 80553f8 if(menupos == NoFilesPTM) 80933a6: 4b45 ldr r3, [pc, #276] ; (80934bc ) 80933a8: 781b ldrb r3, [r3, #0] 80933aa: b2db uxtb r3, r3 80933ac: 2b01 cmp r3, #1 80933ae: d13a bne.n 8093426 { BSP_LCD_SetFont(&Font12); 80933b0: 4843 ldr r0, [pc, #268] ; (80934c0 ) 80933b2: f7c1 f969 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80933b6: 4938 ldr r1, [pc, #224] ; (8093498 ) 80933b8: f04f 30ff mov.w r0, #4294967295 80933bc: f7c1 f928 bl 8054610 if(pardata.LANG == RUS) 80933c0: 4b36 ldr r3, [pc, #216] ; (809349c ) 80933c2: 7b1b ldrb r3, [r3, #12] 80933c4: b2db uxtb r3, r3 80933c6: 2b00 cmp r3, #0 80933c8: d113 bne.n 80933f2 { BSP_LCD_DisplayStringAt(160, 111, "Ôàéëû èçìåðåíèé îòñóòñòâóþò.", CENTER_MODE); 80933ca: 2301 movs r3, #1 80933cc: 4a3d ldr r2, [pc, #244] ; (80934c4 ) 80933ce: 216f movs r1, #111 ; 0x6f 80933d0: 20a0 movs r0, #160 ; 0xa0 80933d2: f7c1 f9e3 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "Äëÿ ñîõðàíåíèÿ ðåçóëüòàòîâ", CENTER_MODE); 80933d6: 2301 movs r3, #1 80933d8: 4a3b ldr r2, [pc, #236] ; (80934c8 ) 80933da: 217e movs r1, #126 ; 0x7e 80933dc: 20a0 movs r0, #160 ; 0xa0 80933de: f7c1 f9dd bl 805479c BSP_LCD_DisplayStringAt(160, 111+30, "èçìåðåíèé ñîçäàéòå íîâûé ôàéë.", CENTER_MODE); 80933e2: 2301 movs r3, #1 80933e4: 4a39 ldr r2, [pc, #228] ; (80934cc ) 80933e6: 218d movs r1, #141 ; 0x8d 80933e8: 20a0 movs r0, #160 ; 0xa0 80933ea: f7c1 f9d7 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 80933ee: f005 b910 b.w 8098612 BSP_LCD_DisplayStringAt(160, 111, "The file measurements are not", CENTER_MODE); 80933f2: 2301 movs r3, #1 80933f4: 4a36 ldr r2, [pc, #216] ; (80934d0 ) 80933f6: 216f movs r1, #111 ; 0x6f 80933f8: 20a0 movs r0, #160 ; 0xa0 80933fa: f7c1 f9cf bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "available. To save the", CENTER_MODE); 80933fe: 2301 movs r3, #1 8093400: 4a34 ldr r2, [pc, #208] ; (80934d4 ) 8093402: 217e movs r1, #126 ; 0x7e 8093404: 20a0 movs r0, #160 ; 0xa0 8093406: f7c1 f9c9 bl 805479c BSP_LCD_DisplayStringAt(160, 111+30, "measurement results, create", CENTER_MODE); 809340a: 2301 movs r3, #1 809340c: 4a32 ldr r2, [pc, #200] ; (80934d8 ) 809340e: 218d movs r1, #141 ; 0x8d 8093410: 20a0 movs r0, #160 ; 0xa0 8093412: f7c1 f9c3 bl 805479c BSP_LCD_DisplayStringAt(160, 111+45, "a new file.", CENTER_MODE); 8093416: 2301 movs r3, #1 8093418: 4a30 ldr r2, [pc, #192] ; (80934dc ) 809341a: 219c movs r1, #156 ; 0x9c 809341c: 20a0 movs r0, #160 ; 0xa0 809341e: f7c1 f9bd bl 805479c break; 8093422: f005 b8f6 b.w 8098612 if((menupos == FilesPTM) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 8093426: 4b25 ldr r3, [pc, #148] ; (80934bc ) 8093428: 781b ldrb r3, [r3, #0] 809342a: b2db uxtb r3, r3 809342c: 2b02 cmp r3, #2 809342e: d00f beq.n 8093450 8093430: 4b22 ldr r3, [pc, #136] ; (80934bc ) 8093432: 781b ldrb r3, [r3, #0] 8093434: b2db uxtb r3, r3 8093436: 2b06 cmp r3, #6 8093438: d00a beq.n 8093450 809343a: 4b20 ldr r3, [pc, #128] ; (80934bc ) 809343c: 781b ldrb r3, [r3, #0] 809343e: b2db uxtb r3, r3 8093440: 2b07 cmp r3, #7 8093442: d005 beq.n 8093450 8093444: 4b1d ldr r3, [pc, #116] ; (80934bc ) 8093446: 781b ldrb r3, [r3, #0] 8093448: b2db uxtb r3, r3 809344a: 2b0a cmp r3, #10 809344c: f045 80e1 bne.w 8098612 BSP_LCD_SetFont(&Font12); 8093450: 481b ldr r0, [pc, #108] ; (80934c0 ) 8093452: f7c1 f919 bl 8054688 for(i = 0; i < VIEW_FILES; i++) 8093456: 2300 movs r3, #0 8093458: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 809345c: e1a8 b.n 80937b0 if(CursorIndex == i) 809345e: 4b20 ldr r3, [pc, #128] ; (80934e0 ) 8093460: 681a ldr r2, [r3, #0] 8093462: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093466: 429a cmp r2, r3 8093468: d142 bne.n 80934f0 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 809346a: 491e ldr r1, [pc, #120] ; (80934e4 ) 809346c: 481d ldr r0, [pc, #116] ; (80934e4 ) 809346e: f7c1 f8cf bl 8054610 BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 8093472: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093476: 4a1c ldr r2, [pc, #112] ; (80934e8 ) 8093478: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809347c: 4b1b ldr r3, [pc, #108] ; (80934ec ) 809347e: 681b ldr r3, [r3, #0] 8093480: 88db ldrh r3, [r3, #6] 8093482: f44f 729c mov.w r2, #312 ; 0x138 8093486: 2003 movs r0, #3 8093488: f7c1 fd50 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809348c: 4915 ldr r1, [pc, #84] ; (80934e4 ) 809348e: f04f 30ff mov.w r0, #4294967295 8093492: f7c1 f8bd bl 8054610 8093496: e030 b.n 80934fa 8093498: ff0a0f1f .word 0xff0a0f1f 809349c: 20023ea8 .word 0x20023ea8 80934a0: 200205cc .word 0x200205cc 80934a4: ffd8aa57 .word 0xffd8aa57 80934a8: 2002033c .word 0x2002033c 80934ac: ff808080 .word 0xff808080 80934b0: ff404040 .word 0xff404040 80934b4: 08132188 .word 0x08132188 80934b8: 0812d67c .word 0x0812d67c 80934bc: 20020070 .word 0x20020070 80934c0: 20020038 .word 0x20020038 80934c4: 080d44b4 .word 0x080d44b4 80934c8: 080d44d4 .word 0x080d44d4 80934cc: 080d44f0 .word 0x080d44f0 80934d0: 080d4510 .word 0x080d4510 80934d4: 080d4530 .word 0x080d4530 80934d8: 080d4548 .word 0x080d4548 80934dc: 080d4564 .word 0x080d4564 80934e0: 20020e00 .word 0x20020e00 80934e4: ff606060 .word 0xff606060 80934e8: 080f3818 .word 0x080f3818 80934ec: 20025d6c .word 0x20025d6c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80934f0: 499e ldr r1, [pc, #632] ; (809376c ) 80934f2: f04f 30ff mov.w r0, #4294967295 80934f6: f7c1 f88b bl 8054610 if(ExplorerFiles[i].fname[0] != 0) 80934fa: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80934fe: 499c ldr r1, [pc, #624] ; (8093770 ) 8093500: 4613 mov r3, r2 8093502: 00db lsls r3, r3, #3 8093504: 1a9b subs r3, r3, r2 8093506: 00db lsls r3, r3, #3 8093508: 440b add r3, r1 809350a: 330c adds r3, #12 809350c: 781b ldrb r3, [r3, #0] 809350e: 2b00 cmp r3, #0 8093510: f000 8149 beq.w 80937a6 BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8093514: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093518: 4a96 ldr r2, [pc, #600] ; (8093774 ) 809351a: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809351e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8093522: 4613 mov r3, r2 8093524: 00db lsls r3, r3, #3 8093526: 1a9b subs r3, r3, r2 8093528: 00db lsls r3, r3, #3 809352a: 3308 adds r3, #8 809352c: 4a90 ldr r2, [pc, #576] ; (8093770 ) 809352e: 4413 add r3, r2 8093530: 1d1a adds r2, r3, #4 8093532: 2303 movs r3, #3 8093534: 2005 movs r0, #5 8093536: f7c1 f931 bl 805479c k = 0; 809353a: 2300 movs r3, #0 809353c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 8093540: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8093544: 498a ldr r1, [pc, #552] ; (8093770 ) 8093546: 4613 mov r3, r2 8093548: 00db lsls r3, r3, #3 809354a: 1a9b subs r3, r3, r2 809354c: 00db lsls r3, r3, #3 809354e: 440b add r3, r1 8093550: 3308 adds r3, #8 8093552: 681a ldr r2, [r3, #0] 8093554: f107 030c add.w r3, r7, #12 8093558: 4611 mov r1, r2 809355a: 4618 mov r0, r3 809355c: f7d4 ff46 bl 80683ec str1[k++] = (FatTime.Date / 10) + 48; 8093560: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093564: 1c5a adds r2, r3, #1 8093566: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809356a: f107 020c add.w r2, r7, #12 809356e: 7852 ldrb r2, [r2, #1] 8093570: 4981 ldr r1, [pc, #516] ; (8093778 ) 8093572: fba1 1202 umull r1, r2, r1, r2 8093576: 08d2 lsrs r2, r2, #3 8093578: b2d2 uxtb r2, r2 809357a: 3230 adds r2, #48 ; 0x30 809357c: b2d1 uxtb r1, r2 809357e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093582: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8093584: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093588: 1c53 adds r3, r2, #1 809358a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809358e: f107 030c add.w r3, r7, #12 8093592: 7859 ldrb r1, [r3, #1] 8093594: 4b78 ldr r3, [pc, #480] ; (8093778 ) 8093596: fba3 0301 umull r0, r3, r3, r1 809359a: 08d8 lsrs r0, r3, #3 809359c: 4603 mov r3, r0 809359e: 009b lsls r3, r3, #2 80935a0: 4403 add r3, r0 80935a2: 005b lsls r3, r3, #1 80935a4: 1acb subs r3, r1, r3 80935a6: b2db uxtb r3, r3 80935a8: 3330 adds r3, #48 ; 0x30 80935aa: b2d9 uxtb r1, r3 80935ac: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80935b0: 5499 strb r1, [r3, r2] str1[k++] = '.'; 80935b2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80935b6: 1c5a adds r2, r3, #1 80935b8: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80935bc: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80935c0: 212e movs r1, #46 ; 0x2e 80935c2: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 80935c4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80935c8: 1c5a adds r2, r3, #1 80935ca: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80935ce: f107 020c add.w r2, r7, #12 80935d2: 7812 ldrb r2, [r2, #0] 80935d4: 4968 ldr r1, [pc, #416] ; (8093778 ) 80935d6: fba1 1202 umull r1, r2, r1, r2 80935da: 08d2 lsrs r2, r2, #3 80935dc: b2d2 uxtb r2, r2 80935de: 3230 adds r2, #48 ; 0x30 80935e0: b2d1 uxtb r1, r2 80935e2: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80935e6: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 80935e8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80935ec: 1c53 adds r3, r2, #1 80935ee: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80935f2: f107 030c add.w r3, r7, #12 80935f6: 7819 ldrb r1, [r3, #0] 80935f8: 4b5f ldr r3, [pc, #380] ; (8093778 ) 80935fa: fba3 0301 umull r0, r3, r3, r1 80935fe: 08d8 lsrs r0, r3, #3 8093600: 4603 mov r3, r0 8093602: 009b lsls r3, r3, #2 8093604: 4403 add r3, r0 8093606: 005b lsls r3, r3, #1 8093608: 1acb subs r3, r1, r3 809360a: b2db uxtb r3, r3 809360c: 3330 adds r3, #48 ; 0x30 809360e: b2d9 uxtb r1, r3 8093610: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093614: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8093616: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809361a: 1c5a adds r2, r3, #1 809361c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093620: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093624: 212e movs r1, #46 ; 0x2e 8093626: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 8093628: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809362c: 1c5a adds r2, r3, #1 809362e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093632: f107 020c add.w r2, r7, #12 8093636: 7892 ldrb r2, [r2, #2] 8093638: 494f ldr r1, [pc, #316] ; (8093778 ) 809363a: fba1 1202 umull r1, r2, r1, r2 809363e: 08d2 lsrs r2, r2, #3 8093640: b2d2 uxtb r2, r2 8093642: 3230 adds r2, #48 ; 0x30 8093644: b2d1 uxtb r1, r2 8093646: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809364a: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 809364c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093650: 1c53 adds r3, r2, #1 8093652: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093656: f107 030c add.w r3, r7, #12 809365a: 7899 ldrb r1, [r3, #2] 809365c: 4b46 ldr r3, [pc, #280] ; (8093778 ) 809365e: fba3 0301 umull r0, r3, r3, r1 8093662: 08d8 lsrs r0, r3, #3 8093664: 4603 mov r3, r0 8093666: 009b lsls r3, r3, #2 8093668: 4403 add r3, r0 809366a: 005b lsls r3, r3, #1 809366c: 1acb subs r3, r1, r3 809366e: b2db uxtb r3, r3 8093670: 3330 adds r3, #48 ; 0x30 8093672: b2d9 uxtb r1, r3 8093674: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093678: 5499 strb r1, [r3, r2] str1[k++] = ' '; 809367a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809367e: 1c5a adds r2, r3, #1 8093680: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093684: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093688: 2120 movs r1, #32 809368a: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 809368c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093690: 1c5a adds r2, r3, #1 8093692: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093696: f107 020c add.w r2, r7, #12 809369a: 78d2 ldrb r2, [r2, #3] 809369c: 4936 ldr r1, [pc, #216] ; (8093778 ) 809369e: fba1 1202 umull r1, r2, r1, r2 80936a2: 08d2 lsrs r2, r2, #3 80936a4: b2d2 uxtb r2, r2 80936a6: 3230 adds r2, #48 ; 0x30 80936a8: b2d1 uxtb r1, r2 80936aa: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80936ae: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 80936b0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80936b4: 1c53 adds r3, r2, #1 80936b6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80936ba: f107 030c add.w r3, r7, #12 80936be: 78d9 ldrb r1, [r3, #3] 80936c0: 4b2d ldr r3, [pc, #180] ; (8093778 ) 80936c2: fba3 0301 umull r0, r3, r3, r1 80936c6: 08d8 lsrs r0, r3, #3 80936c8: 4603 mov r3, r0 80936ca: 009b lsls r3, r3, #2 80936cc: 4403 add r3, r0 80936ce: 005b lsls r3, r3, #1 80936d0: 1acb subs r3, r1, r3 80936d2: b2db uxtb r3, r3 80936d4: 3330 adds r3, #48 ; 0x30 80936d6: b2d9 uxtb r1, r3 80936d8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80936dc: 5499 strb r1, [r3, r2] str1[k++] = ':'; 80936de: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80936e2: 1c5a adds r2, r3, #1 80936e4: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80936e8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80936ec: 213a movs r1, #58 ; 0x3a 80936ee: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 80936f0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80936f4: 1c5a adds r2, r3, #1 80936f6: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80936fa: f107 020c add.w r2, r7, #12 80936fe: 7912 ldrb r2, [r2, #4] 8093700: 491d ldr r1, [pc, #116] ; (8093778 ) 8093702: fba1 1202 umull r1, r2, r1, r2 8093706: 08d2 lsrs r2, r2, #3 8093708: b2d2 uxtb r2, r2 809370a: 3230 adds r2, #48 ; 0x30 809370c: b2d1 uxtb r1, r2 809370e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093712: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 8093714: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093718: 1c53 adds r3, r2, #1 809371a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809371e: f107 030c add.w r3, r7, #12 8093722: 7919 ldrb r1, [r3, #4] 8093724: 4b14 ldr r3, [pc, #80] ; (8093778 ) 8093726: fba3 0301 umull r0, r3, r3, r1 809372a: 08d8 lsrs r0, r3, #3 809372c: 4603 mov r3, r0 809372e: 009b lsls r3, r3, #2 8093730: 4403 add r3, r0 8093732: 005b lsls r3, r3, #1 8093734: 1acb subs r3, r1, r3 8093736: b2db uxtb r3, r3 8093738: 3330 adds r3, #48 ; 0x30 809373a: b2d9 uxtb r1, r3 809373c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093740: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 8093742: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093746: 1c5a adds r2, r3, #1 8093748: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809374c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093750: 2100 movs r1, #0 8093752: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8093754: 4b09 ldr r3, [pc, #36] ; (809377c ) 8093756: 681a ldr r2, [r3, #0] 8093758: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809375c: 429a cmp r2, r3 809375e: d111 bne.n 8093784 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093760: 4907 ldr r1, [pc, #28] ; (8093780 ) 8093762: f04f 30ff mov.w r0, #4294967295 8093766: f7c0 ff53 bl 8054610 809376a: e010 b.n 809378e 809376c: ff0a0f1f .word 0xff0a0f1f 8093770: 20022398 .word 0x20022398 8093774: 080f3818 .word 0x080f3818 8093778: cccccccd .word 0xcccccccd 809377c: 20020e00 .word 0x20020e00 8093780: ff606060 .word 0xff606060 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093784: 49c0 ldr r1, [pc, #768] ; (8093a88 ) 8093786: f04f 30ff mov.w r0, #4294967295 809378a: f7c0 ff41 bl 8054610 BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 809378e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093792: 4abe ldr r2, [pc, #760] ; (8093a8c ) 8093794: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8093798: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809379c: 2302 movs r3, #2 809379e: f44f 709c mov.w r0, #312 ; 0x138 80937a2: f7c0 fffb bl 805479c for(i = 0; i < VIEW_FILES; i++) 80937a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80937aa: 3301 adds r3, #1 80937ac: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80937b0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80937b4: 2b0b cmp r3, #11 80937b6: f67f ae52 bls.w 809345e if(NumFilesPTM > VIEW_FILES) 80937ba: 4bb5 ldr r3, [pc, #724] ; (8093a90 ) 80937bc: 681b ldr r3, [r3, #0] 80937be: 2b0c cmp r3, #12 80937c0: d95f bls.n 8093882 k = (140 * VIEW_FILES) / NumFilesPTM; //äëèíà ïîëçóíêà 80937c2: 4bb3 ldr r3, [pc, #716] ; (8093a90 ) 80937c4: 681b ldr r3, [r3, #0] 80937c6: f44f 62d2 mov.w r2, #1680 ; 0x690 80937ca: fbb2 f3f3 udiv r3, r2, r3 80937ce: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 80937d2: 4bb0 ldr r3, [pc, #704] ; (8093a94 ) 80937d4: 681b ldr r3, [r3, #0] 80937d6: 228c movs r2, #140 ; 0x8c 80937d8: fb02 f303 mul.w r3, r2, r3 80937dc: ee07 3a90 vmov s15, r3 80937e0: eef8 7a67 vcvt.f32.u32 s15, s15 80937e4: f507 638b add.w r3, r7, #1112 ; 0x458 80937e8: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesPTM) + 96.0f; 80937ec: 4ba8 ldr r3, [pc, #672] ; (8093a90 ) 80937ee: 681b ldr r3, [r3, #0] 80937f0: ee07 3a90 vmov s15, r3 80937f4: eeb8 7a67 vcvt.f32.u32 s14, s15 80937f8: f507 638b add.w r3, r7, #1112 ; 0x458 80937fc: edd3 6a00 vldr s13, [r3] 8093800: eec6 7a87 vdiv.f32 s15, s13, s14 8093804: ed9f 7aa4 vldr s14, [pc, #656] ; 8093a98 8093808: ee77 7a87 vadd.f32 s15, s15, s14 809380c: f507 638b add.w r3, r7, #1112 ; 0x458 8093810: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8093814: f507 638b add.w r3, r7, #1112 ; 0x458 8093818: edd3 7a00 vldr s15, [r3] 809381c: eefc 7ae7 vcvt.u32.f32 s15, s15 8093820: edc7 7a01 vstr s15, [r7, #4] 8093824: 88bb ldrh r3, [r7, #4] 8093826: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 809382a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809382e: b29a uxth r2, r3 8093830: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8093834: 4413 add r3, r2 8093836: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 809383a: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 809383e: 2bec cmp r3, #236 ; 0xec 8093840: d905 bls.n 809384e k = 236 - y0; 8093842: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8093846: f1c3 03ec rsb r3, r3, #236 ; 0xec 809384a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809384e: 498e ldr r1, [pc, #568] ; (8093a88 ) 8093850: 4892 ldr r0, [pc, #584] ; (8093a9c ) 8093852: f7c0 fedd bl 8054610 BSP_LCD_DrawRect(314, 94, 5, 143); 8093856: 238f movs r3, #143 ; 0x8f 8093858: 2205 movs r2, #5 809385a: 215e movs r1, #94 ; 0x5e 809385c: f44f 709d mov.w r0, #314 ; 0x13a 8093860: f7c1 f9dc bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093864: 4988 ldr r1, [pc, #544] ; (8093a88 ) 8093866: f04f 30ff mov.w r0, #4294967295 809386a: f7c0 fed1 bl 8054610 BSP_LCD_FillRect(316, y0, 2, k); 809386e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093872: b29b uxth r3, r3 8093874: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8093878: 2202 movs r2, #2 809387a: f44f 709e mov.w r0, #316 ; 0x13c 809387e: f7c1 fb55 bl 8054f2c if((menupos != NoFilesGTR) && (menupos != FilesGTR)) 8093882: 4b87 ldr r3, [pc, #540] ; (8093aa0 ) 8093884: 781b ldrb r3, [r3, #0] 8093886: b2db uxtb r3, r3 8093888: 2b01 cmp r3, #1 809388a: f004 86c2 beq.w 8098612 809388e: 4b84 ldr r3, [pc, #528] ; (8093aa0 ) 8093890: 781b ldrb r3, [r3, #0] 8093892: b2db uxtb r3, r3 8093894: 2b02 cmp r3, #2 8093896: f004 86bc beq.w 8098612 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809389a: 497b ldr r1, [pc, #492] ; (8093a88 ) 809389c: 487f ldr r0, [pc, #508] ; (8093a9c ) 809389e: f7c0 feb7 bl 8054610 BSP_LCD_FillRect(60, 73, 200, 124); 80938a2: 237c movs r3, #124 ; 0x7c 80938a4: 22c8 movs r2, #200 ; 0xc8 80938a6: 2149 movs r1, #73 ; 0x49 80938a8: 203c movs r0, #60 ; 0x3c 80938aa: f7c1 fb3f bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80938ae: 4976 ldr r1, [pc, #472] ; (8093a88 ) 80938b0: 4875 ldr r0, [pc, #468] ; (8093a88 ) 80938b2: f7c0 fead bl 8054610 BSP_LCD_FillRect(61, 74, 198, 122); 80938b6: 237a movs r3, #122 ; 0x7a 80938b8: 22c6 movs r2, #198 ; 0xc6 80938ba: 214a movs r1, #74 ; 0x4a 80938bc: 203d movs r0, #61 ; 0x3d 80938be: f7c1 fb35 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80938c2: 4971 ldr r1, [pc, #452] ; (8093a88 ) 80938c4: f04f 30ff mov.w r0, #4294967295 80938c8: f7c0 fea2 bl 8054610 BSP_LCD_SetFont(&Font12); 80938cc: 4875 ldr r0, [pc, #468] ; (8093aa4 ) 80938ce: f7c0 fedb bl 8054688 if((menupos == UpNo) || (menupos == UpYes)) 80938d2: 4b73 ldr r3, [pc, #460] ; (8093aa0 ) 80938d4: 781b ldrb r3, [r3, #0] 80938d6: b2db uxtb r3, r3 80938d8: 2b06 cmp r3, #6 80938da: d004 beq.n 80938e6 80938dc: 4b70 ldr r3, [pc, #448] ; (8093aa0 ) 80938de: 781b ldrb r3, [r3, #0] 80938e0: b2db uxtb r3, r3 80938e2: 2b07 cmp r3, #7 80938e4: d179 bne.n 80939da if(pardata.LANG == RUS) 80938e6: 4b70 ldr r3, [pc, #448] ; (8093aa8 ) 80938e8: 7b1b ldrb r3, [r3, #12] 80938ea: b2db uxtb r3, r3 80938ec: 2b00 cmp r3, #0 80938ee: d10c bne.n 809390a BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûé ôàéë áóäåò", CENTER_MODE); 80938f0: 2301 movs r3, #1 80938f2: 4a6e ldr r2, [pc, #440] ; (8093aac ) 80938f4: 216f movs r1, #111 ; 0x6f 80938f6: 20a0 movs r0, #160 ; 0xa0 80938f8: f7c0 ff50 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 80938fc: 2301 movs r3, #1 80938fe: 4a6c ldr r2, [pc, #432] ; (8093ab0 ) 8093900: 217e movs r1, #126 ; 0x7e 8093902: 20a0 movs r0, #160 ; 0xa0 8093904: f7c0 ff4a bl 805479c 8093908: e00b b.n 8093922 BSP_LCD_DisplayStringAt(160, 111, "The selected file will", CENTER_MODE); 809390a: 2301 movs r3, #1 809390c: 4a69 ldr r2, [pc, #420] ; (8093ab4 ) 809390e: 216f movs r1, #111 ; 0x6f 8093910: 20a0 movs r0, #160 ; 0xa0 8093912: f7c0 ff43 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 8093916: 2301 movs r3, #1 8093918: 4a67 ldr r2, [pc, #412] ; (8093ab8 ) 809391a: 217e movs r1, #126 ; 0x7e 809391c: 20a0 movs r0, #160 ; 0xa0 809391e: f7c0 ff3d bl 805479c if(menupos == UpNo) 8093922: 4b5f ldr r3, [pc, #380] ; (8093aa0 ) 8093924: 781b ldrb r3, [r3, #0] 8093926: b2db uxtb r3, r3 8093928: 2b06 cmp r3, #6 809392a: d128 bne.n 809397e if(pardata.LANG == RUS) 809392c: 4b5e ldr r3, [pc, #376] ; (8093aa8 ) 809392e: 7b1b ldrb r3, [r3, #12] 8093930: b2db uxtb r3, r3 8093932: 2b00 cmp r3, #0 8093934: d111 bne.n 809395a BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8093936: 2301 movs r3, #1 8093938: 4a60 ldr r2, [pc, #384] ; (8093abc ) 809393a: 21af movs r1, #175 ; 0xaf 809393c: 20e6 movs r0, #230 ; 0xe6 809393e: f7c0 ff2d bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093942: 495f ldr r1, [pc, #380] ; (8093ac0 ) 8093944: f04f 30ff mov.w r0, #4294967295 8093948: f7c0 fe62 bl 8054610 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 809394c: 2301 movs r3, #1 809394e: 4a5d ldr r2, [pc, #372] ; (8093ac4 ) 8093950: 21af movs r1, #175 ; 0xaf 8093952: 205a movs r0, #90 ; 0x5a 8093954: f7c0 ff22 bl 805479c if(menupos == UpNo) 8093958: e088 b.n 8093a6c BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 809395a: 2301 movs r3, #1 809395c: 4a5a ldr r2, [pc, #360] ; (8093ac8 ) 809395e: 21af movs r1, #175 ; 0xaf 8093960: 20e6 movs r0, #230 ; 0xe6 8093962: f7c0 ff1b bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093966: 4956 ldr r1, [pc, #344] ; (8093ac0 ) 8093968: f04f 30ff mov.w r0, #4294967295 809396c: f7c0 fe50 bl 8054610 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8093970: 2301 movs r3, #1 8093972: 4a56 ldr r2, [pc, #344] ; (8093acc ) 8093974: 21af movs r1, #175 ; 0xaf 8093976: 205a movs r0, #90 ; 0x5a 8093978: f7c0 ff10 bl 805479c if(menupos == UpNo) 809397c: e076 b.n 8093a6c if(menupos == UpYes) 809397e: 4b48 ldr r3, [pc, #288] ; (8093aa0 ) 8093980: 781b ldrb r3, [r3, #0] 8093982: b2db uxtb r3, r3 8093984: 2b07 cmp r3, #7 8093986: d171 bne.n 8093a6c if(pardata.LANG == RUS) 8093988: 4b47 ldr r3, [pc, #284] ; (8093aa8 ) 809398a: 7b1b ldrb r3, [r3, #12] 809398c: b2db uxtb r3, r3 809398e: 2b00 cmp r3, #0 8093990: d111 bne.n 80939b6 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8093992: 2301 movs r3, #1 8093994: 4a4b ldr r2, [pc, #300] ; (8093ac4 ) 8093996: 21af movs r1, #175 ; 0xaf 8093998: 205a movs r0, #90 ; 0x5a 809399a: f7c0 feff bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809399e: 4948 ldr r1, [pc, #288] ; (8093ac0 ) 80939a0: f04f 30ff mov.w r0, #4294967295 80939a4: f7c0 fe34 bl 8054610 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 80939a8: 2301 movs r3, #1 80939aa: 4a44 ldr r2, [pc, #272] ; (8093abc ) 80939ac: 21af movs r1, #175 ; 0xaf 80939ae: 20e6 movs r0, #230 ; 0xe6 80939b0: f7c0 fef4 bl 805479c if(menupos == UpNo) 80939b4: e05a b.n 8093a6c BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 80939b6: 2301 movs r3, #1 80939b8: 4a44 ldr r2, [pc, #272] ; (8093acc ) 80939ba: 21af movs r1, #175 ; 0xaf 80939bc: 205a movs r0, #90 ; 0x5a 80939be: f7c0 feed bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80939c2: 493f ldr r1, [pc, #252] ; (8093ac0 ) 80939c4: f04f 30ff mov.w r0, #4294967295 80939c8: f7c0 fe22 bl 8054610 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 80939cc: 2301 movs r3, #1 80939ce: 4a3e ldr r2, [pc, #248] ; (8093ac8 ) 80939d0: 21af movs r1, #175 ; 0xaf 80939d2: 20e6 movs r0, #230 ; 0xe6 80939d4: f7c0 fee2 bl 805479c if(menupos == UpNo) 80939d8: e048 b.n 8093a6c if(menupos == CleanUpResult) 80939da: 4b31 ldr r3, [pc, #196] ; (8093aa0 ) 80939dc: 781b ldrb r3, [r3, #0] 80939de: b2db uxtb r3, r3 80939e0: 2b0a cmp r3, #10 80939e2: f044 8616 bne.w 8098612 if(CleanStatus == AP_OK) 80939e6: 4b3a ldr r3, [pc, #232] ; (8093ad0 ) 80939e8: 781b ldrb r3, [r3, #0] 80939ea: b2db uxtb r3, r3 80939ec: 2b00 cmp r3, #0 80939ee: d118 bne.n 8093a22 if(pardata.LANG == RUS) 80939f0: 4b2d ldr r3, [pc, #180] ; (8093aa8 ) 80939f2: 7b1b ldrb r3, [r3, #12] 80939f4: b2db uxtb r3, r3 80939f6: 2b00 cmp r3, #0 80939f8: d10c bne.n 8093a14 BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 80939fa: 2301 movs r3, #1 80939fc: 4a35 ldr r2, [pc, #212] ; (8093ad4 ) 80939fe: 216f movs r1, #111 ; 0x6f 8093a00: 20a0 movs r0, #160 ; 0xa0 8093a02: f7c0 fecb bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 8093a06: 2301 movs r3, #1 8093a08: 4a33 ldr r2, [pc, #204] ; (8093ad8 ) 8093a0a: 217e movs r1, #126 ; 0x7e 8093a0c: 20a0 movs r0, #160 ; 0xa0 8093a0e: f7c0 fec5 bl 805479c 8093a12: e01e b.n 8093a52 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 8093a14: 2301 movs r3, #1 8093a16: 4a31 ldr r2, [pc, #196] ; (8093adc ) 8093a18: 217e movs r1, #126 ; 0x7e 8093a1a: 20a0 movs r0, #160 ; 0xa0 8093a1c: f7c0 febe bl 805479c 8093a20: e017 b.n 8093a52 if(pardata.LANG == RUS) 8093a22: 4b21 ldr r3, [pc, #132] ; (8093aa8 ) 8093a24: 7b1b ldrb r3, [r3, #12] 8093a26: b2db uxtb r3, r3 8093a28: 2b00 cmp r3, #0 8093a2a: d10c bne.n 8093a46 BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8093a2c: 2301 movs r3, #1 8093a2e: 4a2c ldr r2, [pc, #176] ; (8093ae0 ) 8093a30: 216f movs r1, #111 ; 0x6f 8093a32: 20a0 movs r0, #160 ; 0xa0 8093a34: f7c0 feb2 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 8093a38: 2301 movs r3, #1 8093a3a: 4a2a ldr r2, [pc, #168] ; (8093ae4 ) 8093a3c: 217e movs r1, #126 ; 0x7e 8093a3e: 20a0 movs r0, #160 ; 0xa0 8093a40: f7c0 feac bl 805479c 8093a44: e005 b.n 8093a52 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 8093a46: 2301 movs r3, #1 8093a48: 4a27 ldr r2, [pc, #156] ; (8093ae8 ) 8093a4a: 217e movs r1, #126 ; 0x7e 8093a4c: 20a0 movs r0, #160 ; 0xa0 8093a4e: f7c0 fea5 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093a52: 491b ldr r1, [pc, #108] ; (8093ac0 ) 8093a54: f04f 30ff mov.w r0, #4294967295 8093a58: f7c0 fdda bl 8054610 BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8093a5c: 2301 movs r3, #1 8093a5e: 4a23 ldr r2, [pc, #140] ; (8093aec ) 8093a60: 21af movs r1, #175 ; 0xaf 8093a62: 20a0 movs r0, #160 ; 0xa0 8093a64: f7c0 fe9a bl 805479c break; 8093a68: f004 bdd3 b.w 8098612 if(menupos == UpNo) 8093a6c: bf00 nop break; 8093a6e: f004 bdd0 b.w 8098612 case EXPLORER_DIAGN: if(pardata.LANG == RUS) 8093a72: 4b0d ldr r3, [pc, #52] ; (8093aa8 ) 8093a74: 7b1b ldrb r3, [r3, #12] 8093a76: b2db uxtb r3, r3 8093a78: 2b00 cmp r3, #0 8093a7a: d13b bne.n 8093af4 DrawImage(&bmLEGEND_PTM_RUS, 0, 45); 8093a7c: 222d movs r2, #45 ; 0x2d 8093a7e: 2100 movs r1, #0 8093a80: 481b ldr r0, [pc, #108] ; (8093af0 ) 8093a82: f7c1 fcb9 bl 80553f8 8093a86: e03a b.n 8093afe 8093a88: ff0a0f1f .word 0xff0a0f1f 8093a8c: 080f3818 .word 0x080f3818 8093a90: 20020e14 .word 0x20020e14 8093a94: 20020e04 .word 0x20020e04 8093a98: 42c00000 .word 0x42c00000 8093a9c: ffd3d3d3 .word 0xffd3d3d3 8093aa0: 20020070 .word 0x20020070 8093aa4: 20020038 .word 0x20020038 8093aa8: 20023ea8 .word 0x20023ea8 8093aac: 080d4570 .word 0x080d4570 8093ab0: 080d4588 .word 0x080d4588 8093ab4: 080d45a0 .word 0x080d45a0 8093ab8: 080d45b8 .word 0x080d45b8 8093abc: 080d45d0 .word 0x080d45d0 8093ac0: ff606060 .word 0xff606060 8093ac4: 080d45d4 .word 0x080d45d4 8093ac8: 080d45d8 .word 0x080d45d8 8093acc: 080d45dc .word 0x080d45dc 8093ad0: 20020df0 .word 0x20020df0 8093ad4: 080d45e0 .word 0x080d45e0 8093ad8: 080d4368 .word 0x080d4368 8093adc: 080d45f4 .word 0x080d45f4 8093ae0: 080d4374 .word 0x080d4374 8093ae4: 080d460c .word 0x080d460c 8093ae8: 080d4618 .word 0x080d4618 8093aec: 080d4628 .word 0x080d4628 8093af0: 08132188 .word 0x08132188 else DrawImage(&bmLEGEND_PTM_ENG, 0, 45); 8093af4: 222d movs r2, #45 ; 0x2d 8093af6: 2100 movs r1, #0 8093af8: 483d ldr r0, [pc, #244] ; (8093bf0 ) 8093afa: f7c1 fc7d bl 80553f8 if(menupos == NoFilesDGN) 8093afe: 4b3d ldr r3, [pc, #244] ; (8093bf4 ) 8093b00: 781b ldrb r3, [r3, #0] 8093b02: b2db uxtb r3, r3 8093b04: 2b01 cmp r3, #1 8093b06: d13a bne.n 8093b7e { BSP_LCD_SetFont(&Font12); 8093b08: 483b ldr r0, [pc, #236] ; (8093bf8 ) 8093b0a: f7c0 fdbd bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093b0e: 493b ldr r1, [pc, #236] ; (8093bfc ) 8093b10: f04f 30ff mov.w r0, #4294967295 8093b14: f7c0 fd7c bl 8054610 if(pardata.LANG == RUS) 8093b18: 4b39 ldr r3, [pc, #228] ; (8093c00 ) 8093b1a: 7b1b ldrb r3, [r3, #12] 8093b1c: b2db uxtb r3, r3 8093b1e: 2b00 cmp r3, #0 8093b20: d113 bne.n 8093b4a { BSP_LCD_DisplayStringAt(160, 111, "Ôàéëû èçìåðåíèé îòñóòñòâóþò.", CENTER_MODE); 8093b22: 2301 movs r3, #1 8093b24: 4a37 ldr r2, [pc, #220] ; (8093c04 ) 8093b26: 216f movs r1, #111 ; 0x6f 8093b28: 20a0 movs r0, #160 ; 0xa0 8093b2a: f7c0 fe37 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "Äëÿ ñîõðàíåíèÿ ðåçóëüòàòîâ", CENTER_MODE); 8093b2e: 2301 movs r3, #1 8093b30: 4a35 ldr r2, [pc, #212] ; (8093c08 ) 8093b32: 217e movs r1, #126 ; 0x7e 8093b34: 20a0 movs r0, #160 ; 0xa0 8093b36: f7c0 fe31 bl 805479c BSP_LCD_DisplayStringAt(160, 111+30, "èçìåðåíèé ñîçäàéòå íîâûé ôàéë.", CENTER_MODE); 8093b3a: 2301 movs r3, #1 8093b3c: 4a33 ldr r2, [pc, #204] ; (8093c0c ) 8093b3e: 218d movs r1, #141 ; 0x8d 8093b40: 20a0 movs r0, #160 ; 0xa0 8093b42: f7c0 fe2b bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 8093b46: f004 bd66 b.w 8098616 BSP_LCD_DisplayStringAt(160, 111, "The file measurements are not", CENTER_MODE); 8093b4a: 2301 movs r3, #1 8093b4c: 4a30 ldr r2, [pc, #192] ; (8093c10 ) 8093b4e: 216f movs r1, #111 ; 0x6f 8093b50: 20a0 movs r0, #160 ; 0xa0 8093b52: f7c0 fe23 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "available. To save the", CENTER_MODE); 8093b56: 2301 movs r3, #1 8093b58: 4a2e ldr r2, [pc, #184] ; (8093c14 ) 8093b5a: 217e movs r1, #126 ; 0x7e 8093b5c: 20a0 movs r0, #160 ; 0xa0 8093b5e: f7c0 fe1d bl 805479c BSP_LCD_DisplayStringAt(160, 111+30, "measurement results, create", CENTER_MODE); 8093b62: 2301 movs r3, #1 8093b64: 4a2c ldr r2, [pc, #176] ; (8093c18 ) 8093b66: 218d movs r1, #141 ; 0x8d 8093b68: 20a0 movs r0, #160 ; 0xa0 8093b6a: f7c0 fe17 bl 805479c BSP_LCD_DisplayStringAt(160, 111+45, "a new file.", CENTER_MODE); 8093b6e: 2301 movs r3, #1 8093b70: 4a2a ldr r2, [pc, #168] ; (8093c1c ) 8093b72: 219c movs r1, #156 ; 0x9c 8093b74: 20a0 movs r0, #160 ; 0xa0 8093b76: f7c0 fe11 bl 805479c break; 8093b7a: f004 bd4c b.w 8098616 if((menupos == FilesDGN) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 8093b7e: 4b1d ldr r3, [pc, #116] ; (8093bf4 ) 8093b80: 781b ldrb r3, [r3, #0] 8093b82: b2db uxtb r3, r3 8093b84: 2b02 cmp r3, #2 8093b86: d00f beq.n 8093ba8 8093b88: 4b1a ldr r3, [pc, #104] ; (8093bf4 ) 8093b8a: 781b ldrb r3, [r3, #0] 8093b8c: b2db uxtb r3, r3 8093b8e: 2b06 cmp r3, #6 8093b90: d00a beq.n 8093ba8 8093b92: 4b18 ldr r3, [pc, #96] ; (8093bf4 ) 8093b94: 781b ldrb r3, [r3, #0] 8093b96: b2db uxtb r3, r3 8093b98: 2b07 cmp r3, #7 8093b9a: d005 beq.n 8093ba8 8093b9c: 4b15 ldr r3, [pc, #84] ; (8093bf4 ) 8093b9e: 781b ldrb r3, [r3, #0] 8093ba0: b2db uxtb r3, r3 8093ba2: 2b0a cmp r3, #10 8093ba4: f044 8537 bne.w 8098616 BSP_LCD_SetFont(&Font12); 8093ba8: 4813 ldr r0, [pc, #76] ; (8093bf8 ) 8093baa: f7c0 fd6d bl 8054688 for(i = 0; i < VIEW_FILES; i++) 8093bae: 2300 movs r3, #0 8093bb0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8093bb4: e19c b.n 8093ef0 if(CursorIndex == i) 8093bb6: 4b1a ldr r3, [pc, #104] ; (8093c20 ) 8093bb8: 681a ldr r2, [r3, #0] 8093bba: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093bbe: 429a cmp r2, r3 8093bc0: d136 bne.n 8093c30 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8093bc2: 4918 ldr r1, [pc, #96] ; (8093c24 ) 8093bc4: 4817 ldr r0, [pc, #92] ; (8093c24 ) 8093bc6: f7c0 fd23 bl 8054610 BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 8093bca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093bce: 4a16 ldr r2, [pc, #88] ; (8093c28 ) 8093bd0: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8093bd4: 4b15 ldr r3, [pc, #84] ; (8093c2c ) 8093bd6: 681b ldr r3, [r3, #0] 8093bd8: 88db ldrh r3, [r3, #6] 8093bda: f44f 729c mov.w r2, #312 ; 0x138 8093bde: 2003 movs r0, #3 8093be0: f7c1 f9a4 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093be4: 490f ldr r1, [pc, #60] ; (8093c24 ) 8093be6: f04f 30ff mov.w r0, #4294967295 8093bea: f7c0 fd11 bl 8054610 8093bee: e024 b.n 8093c3a 8093bf0: 0812d67c .word 0x0812d67c 8093bf4: 20020070 .word 0x20020070 8093bf8: 20020038 .word 0x20020038 8093bfc: ff0a0f1f .word 0xff0a0f1f 8093c00: 20023ea8 .word 0x20023ea8 8093c04: 080d44b4 .word 0x080d44b4 8093c08: 080d44d4 .word 0x080d44d4 8093c0c: 080d44f0 .word 0x080d44f0 8093c10: 080d4510 .word 0x080d4510 8093c14: 080d4530 .word 0x080d4530 8093c18: 080d4548 .word 0x080d4548 8093c1c: 080d4564 .word 0x080d4564 8093c20: 20020e00 .word 0x20020e00 8093c24: ff606060 .word 0xff606060 8093c28: 080f3818 .word 0x080f3818 8093c2c: 20025d6c .word 0x20025d6c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093c30: 499e ldr r1, [pc, #632] ; (8093eac ) 8093c32: f04f 30ff mov.w r0, #4294967295 8093c36: f7c0 fceb bl 8054610 if(ExplorerFiles[i].fname[0] != 0) 8093c3a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8093c3e: 499c ldr r1, [pc, #624] ; (8093eb0 ) 8093c40: 4613 mov r3, r2 8093c42: 00db lsls r3, r3, #3 8093c44: 1a9b subs r3, r3, r2 8093c46: 00db lsls r3, r3, #3 8093c48: 440b add r3, r1 8093c4a: 330c adds r3, #12 8093c4c: 781b ldrb r3, [r3, #0] 8093c4e: 2b00 cmp r3, #0 8093c50: f000 8149 beq.w 8093ee6 BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8093c54: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093c58: 4a96 ldr r2, [pc, #600] ; (8093eb4 ) 8093c5a: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8093c5e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8093c62: 4613 mov r3, r2 8093c64: 00db lsls r3, r3, #3 8093c66: 1a9b subs r3, r3, r2 8093c68: 00db lsls r3, r3, #3 8093c6a: 3308 adds r3, #8 8093c6c: 4a90 ldr r2, [pc, #576] ; (8093eb0 ) 8093c6e: 4413 add r3, r2 8093c70: 1d1a adds r2, r3, #4 8093c72: 2303 movs r3, #3 8093c74: 2005 movs r0, #5 8093c76: f7c0 fd91 bl 805479c k = 0; 8093c7a: 2300 movs r3, #0 8093c7c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 8093c80: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8093c84: 498a ldr r1, [pc, #552] ; (8093eb0 ) 8093c86: 4613 mov r3, r2 8093c88: 00db lsls r3, r3, #3 8093c8a: 1a9b subs r3, r3, r2 8093c8c: 00db lsls r3, r3, #3 8093c8e: 440b add r3, r1 8093c90: 3308 adds r3, #8 8093c92: 681a ldr r2, [r3, #0] 8093c94: f107 030c add.w r3, r7, #12 8093c98: 4611 mov r1, r2 8093c9a: 4618 mov r0, r3 8093c9c: f7d4 fba6 bl 80683ec str1[k++] = (FatTime.Date / 10) + 48; 8093ca0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093ca4: 1c5a adds r2, r3, #1 8093ca6: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093caa: f107 020c add.w r2, r7, #12 8093cae: 7852 ldrb r2, [r2, #1] 8093cb0: 4981 ldr r1, [pc, #516] ; (8093eb8 ) 8093cb2: fba1 1202 umull r1, r2, r1, r2 8093cb6: 08d2 lsrs r2, r2, #3 8093cb8: b2d2 uxtb r2, r2 8093cba: 3230 adds r2, #48 ; 0x30 8093cbc: b2d1 uxtb r1, r2 8093cbe: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093cc2: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8093cc4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093cc8: 1c53 adds r3, r2, #1 8093cca: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093cce: f107 030c add.w r3, r7, #12 8093cd2: 7859 ldrb r1, [r3, #1] 8093cd4: 4b78 ldr r3, [pc, #480] ; (8093eb8 ) 8093cd6: fba3 0301 umull r0, r3, r3, r1 8093cda: 08d8 lsrs r0, r3, #3 8093cdc: 4603 mov r3, r0 8093cde: 009b lsls r3, r3, #2 8093ce0: 4403 add r3, r0 8093ce2: 005b lsls r3, r3, #1 8093ce4: 1acb subs r3, r1, r3 8093ce6: b2db uxtb r3, r3 8093ce8: 3330 adds r3, #48 ; 0x30 8093cea: b2d9 uxtb r1, r3 8093cec: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093cf0: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8093cf2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093cf6: 1c5a adds r2, r3, #1 8093cf8: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093cfc: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093d00: 212e movs r1, #46 ; 0x2e 8093d02: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 8093d04: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093d08: 1c5a adds r2, r3, #1 8093d0a: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093d0e: f107 020c add.w r2, r7, #12 8093d12: 7812 ldrb r2, [r2, #0] 8093d14: 4968 ldr r1, [pc, #416] ; (8093eb8 ) 8093d16: fba1 1202 umull r1, r2, r1, r2 8093d1a: 08d2 lsrs r2, r2, #3 8093d1c: b2d2 uxtb r2, r2 8093d1e: 3230 adds r2, #48 ; 0x30 8093d20: b2d1 uxtb r1, r2 8093d22: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093d26: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 8093d28: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093d2c: 1c53 adds r3, r2, #1 8093d2e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093d32: f107 030c add.w r3, r7, #12 8093d36: 7819 ldrb r1, [r3, #0] 8093d38: 4b5f ldr r3, [pc, #380] ; (8093eb8 ) 8093d3a: fba3 0301 umull r0, r3, r3, r1 8093d3e: 08d8 lsrs r0, r3, #3 8093d40: 4603 mov r3, r0 8093d42: 009b lsls r3, r3, #2 8093d44: 4403 add r3, r0 8093d46: 005b lsls r3, r3, #1 8093d48: 1acb subs r3, r1, r3 8093d4a: b2db uxtb r3, r3 8093d4c: 3330 adds r3, #48 ; 0x30 8093d4e: b2d9 uxtb r1, r3 8093d50: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093d54: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8093d56: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093d5a: 1c5a adds r2, r3, #1 8093d5c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093d60: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093d64: 212e movs r1, #46 ; 0x2e 8093d66: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 8093d68: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093d6c: 1c5a adds r2, r3, #1 8093d6e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093d72: f107 020c add.w r2, r7, #12 8093d76: 7892 ldrb r2, [r2, #2] 8093d78: 494f ldr r1, [pc, #316] ; (8093eb8 ) 8093d7a: fba1 1202 umull r1, r2, r1, r2 8093d7e: 08d2 lsrs r2, r2, #3 8093d80: b2d2 uxtb r2, r2 8093d82: 3230 adds r2, #48 ; 0x30 8093d84: b2d1 uxtb r1, r2 8093d86: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093d8a: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 8093d8c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093d90: 1c53 adds r3, r2, #1 8093d92: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093d96: f107 030c add.w r3, r7, #12 8093d9a: 7899 ldrb r1, [r3, #2] 8093d9c: 4b46 ldr r3, [pc, #280] ; (8093eb8 ) 8093d9e: fba3 0301 umull r0, r3, r3, r1 8093da2: 08d8 lsrs r0, r3, #3 8093da4: 4603 mov r3, r0 8093da6: 009b lsls r3, r3, #2 8093da8: 4403 add r3, r0 8093daa: 005b lsls r3, r3, #1 8093dac: 1acb subs r3, r1, r3 8093dae: b2db uxtb r3, r3 8093db0: 3330 adds r3, #48 ; 0x30 8093db2: b2d9 uxtb r1, r3 8093db4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093db8: 5499 strb r1, [r3, r2] str1[k++] = ' '; 8093dba: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093dbe: 1c5a adds r2, r3, #1 8093dc0: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093dc4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093dc8: 2120 movs r1, #32 8093dca: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 8093dcc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093dd0: 1c5a adds r2, r3, #1 8093dd2: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093dd6: f107 020c add.w r2, r7, #12 8093dda: 78d2 ldrb r2, [r2, #3] 8093ddc: 4936 ldr r1, [pc, #216] ; (8093eb8 ) 8093dde: fba1 1202 umull r1, r2, r1, r2 8093de2: 08d2 lsrs r2, r2, #3 8093de4: b2d2 uxtb r2, r2 8093de6: 3230 adds r2, #48 ; 0x30 8093de8: b2d1 uxtb r1, r2 8093dea: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093dee: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 8093df0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093df4: 1c53 adds r3, r2, #1 8093df6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093dfa: f107 030c add.w r3, r7, #12 8093dfe: 78d9 ldrb r1, [r3, #3] 8093e00: 4b2d ldr r3, [pc, #180] ; (8093eb8 ) 8093e02: fba3 0301 umull r0, r3, r3, r1 8093e06: 08d8 lsrs r0, r3, #3 8093e08: 4603 mov r3, r0 8093e0a: 009b lsls r3, r3, #2 8093e0c: 4403 add r3, r0 8093e0e: 005b lsls r3, r3, #1 8093e10: 1acb subs r3, r1, r3 8093e12: b2db uxtb r3, r3 8093e14: 3330 adds r3, #48 ; 0x30 8093e16: b2d9 uxtb r1, r3 8093e18: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093e1c: 5499 strb r1, [r3, r2] str1[k++] = ':'; 8093e1e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093e22: 1c5a adds r2, r3, #1 8093e24: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093e28: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093e2c: 213a movs r1, #58 ; 0x3a 8093e2e: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 8093e30: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093e34: 1c5a adds r2, r3, #1 8093e36: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093e3a: f107 020c add.w r2, r7, #12 8093e3e: 7912 ldrb r2, [r2, #4] 8093e40: 491d ldr r1, [pc, #116] ; (8093eb8 ) 8093e42: fba1 1202 umull r1, r2, r1, r2 8093e46: 08d2 lsrs r2, r2, #3 8093e48: b2d2 uxtb r2, r2 8093e4a: 3230 adds r2, #48 ; 0x30 8093e4c: b2d1 uxtb r1, r2 8093e4e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093e52: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 8093e54: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093e58: 1c53 adds r3, r2, #1 8093e5a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093e5e: f107 030c add.w r3, r7, #12 8093e62: 7919 ldrb r1, [r3, #4] 8093e64: 4b14 ldr r3, [pc, #80] ; (8093eb8 ) 8093e66: fba3 0301 umull r0, r3, r3, r1 8093e6a: 08d8 lsrs r0, r3, #3 8093e6c: 4603 mov r3, r0 8093e6e: 009b lsls r3, r3, #2 8093e70: 4403 add r3, r0 8093e72: 005b lsls r3, r3, #1 8093e74: 1acb subs r3, r1, r3 8093e76: b2db uxtb r3, r3 8093e78: 3330 adds r3, #48 ; 0x30 8093e7a: b2d9 uxtb r1, r3 8093e7c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093e80: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 8093e82: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093e86: 1c5a adds r2, r3, #1 8093e88: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093e8c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093e90: 2100 movs r1, #0 8093e92: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8093e94: 4b09 ldr r3, [pc, #36] ; (8093ebc ) 8093e96: 681a ldr r2, [r3, #0] 8093e98: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093e9c: 429a cmp r2, r3 8093e9e: d111 bne.n 8093ec4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093ea0: 4907 ldr r1, [pc, #28] ; (8093ec0 ) 8093ea2: f04f 30ff mov.w r0, #4294967295 8093ea6: f7c0 fbb3 bl 8054610 8093eaa: e010 b.n 8093ece 8093eac: ff0a0f1f .word 0xff0a0f1f 8093eb0: 20022398 .word 0x20022398 8093eb4: 080f3818 .word 0x080f3818 8093eb8: cccccccd .word 0xcccccccd 8093ebc: 20020e00 .word 0x20020e00 8093ec0: ff606060 .word 0xff606060 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093ec4: 49bb ldr r1, [pc, #748] ; (80941b4 ) 8093ec6: f04f 30ff mov.w r0, #4294967295 8093eca: f7c0 fba1 bl 8054610 BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8093ece: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093ed2: 4ab9 ldr r2, [pc, #740] ; (80941b8 ) 8093ed4: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8093ed8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093edc: 2302 movs r3, #2 8093ede: f44f 709c mov.w r0, #312 ; 0x138 8093ee2: f7c0 fc5b bl 805479c for(i = 0; i < VIEW_FILES; i++) 8093ee6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093eea: 3301 adds r3, #1 8093eec: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8093ef0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093ef4: 2b0b cmp r3, #11 8093ef6: f67f ae5e bls.w 8093bb6 if(NumFilesDGN > VIEW_FILES) 8093efa: 4bb0 ldr r3, [pc, #704] ; (80941bc ) 8093efc: 681b ldr r3, [r3, #0] 8093efe: 2b0c cmp r3, #12 8093f00: d95f bls.n 8093fc2 k = (140 * VIEW_FILES) / NumFilesDGN; //äëèíà ïîëçóíêà 8093f02: 4bae ldr r3, [pc, #696] ; (80941bc ) 8093f04: 681b ldr r3, [r3, #0] 8093f06: f44f 62d2 mov.w r2, #1680 ; 0x690 8093f0a: fbb2 f3f3 udiv r3, r2, r3 8093f0e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8093f12: 4bab ldr r3, [pc, #684] ; (80941c0 ) 8093f14: 681b ldr r3, [r3, #0] 8093f16: 228c movs r2, #140 ; 0x8c 8093f18: fb02 f303 mul.w r3, r2, r3 8093f1c: ee07 3a90 vmov s15, r3 8093f20: eef8 7a67 vcvt.f32.u32 s15, s15 8093f24: f507 638b add.w r3, r7, #1112 ; 0x458 8093f28: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesDGN) + 96.0f; 8093f2c: 4ba3 ldr r3, [pc, #652] ; (80941bc ) 8093f2e: 681b ldr r3, [r3, #0] 8093f30: ee07 3a90 vmov s15, r3 8093f34: eeb8 7a67 vcvt.f32.u32 s14, s15 8093f38: f507 638b add.w r3, r7, #1112 ; 0x458 8093f3c: edd3 6a00 vldr s13, [r3] 8093f40: eec6 7a87 vdiv.f32 s15, s13, s14 8093f44: ed9f 7a9f vldr s14, [pc, #636] ; 80941c4 8093f48: ee77 7a87 vadd.f32 s15, s15, s14 8093f4c: f507 638b add.w r3, r7, #1112 ; 0x458 8093f50: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8093f54: f507 638b add.w r3, r7, #1112 ; 0x458 8093f58: edd3 7a00 vldr s15, [r3] 8093f5c: eefc 7ae7 vcvt.u32.f32 s15, s15 8093f60: edc7 7a01 vstr s15, [r7, #4] 8093f64: 88bb ldrh r3, [r7, #4] 8093f66: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 8093f6a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093f6e: b29a uxth r2, r3 8093f70: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8093f74: 4413 add r3, r2 8093f76: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 8093f7a: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8093f7e: 2bec cmp r3, #236 ; 0xec 8093f80: d905 bls.n 8093f8e k = 236 - y0; 8093f82: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8093f86: f1c3 03ec rsb r3, r3, #236 ; 0xec 8093f8a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8093f8e: 4989 ldr r1, [pc, #548] ; (80941b4 ) 8093f90: 488d ldr r0, [pc, #564] ; (80941c8 ) 8093f92: f7c0 fb3d bl 8054610 BSP_LCD_DrawRect(314, 94, 5, 143); 8093f96: 238f movs r3, #143 ; 0x8f 8093f98: 2205 movs r2, #5 8093f9a: 215e movs r1, #94 ; 0x5e 8093f9c: f44f 709d mov.w r0, #314 ; 0x13a 8093fa0: f7c0 fe3c bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093fa4: 4983 ldr r1, [pc, #524] ; (80941b4 ) 8093fa6: f04f 30ff mov.w r0, #4294967295 8093faa: f7c0 fb31 bl 8054610 BSP_LCD_FillRect(316, y0, 2, k); 8093fae: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093fb2: b29b uxth r3, r3 8093fb4: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8093fb8: 2202 movs r2, #2 8093fba: f44f 709e mov.w r0, #316 ; 0x13c 8093fbe: f7c0 ffb5 bl 8054f2c if((menupos != NoFilesDGN) && (menupos != FilesDGN)) 8093fc2: 4b82 ldr r3, [pc, #520] ; (80941cc ) 8093fc4: 781b ldrb r3, [r3, #0] 8093fc6: b2db uxtb r3, r3 8093fc8: 2b01 cmp r3, #1 8093fca: f004 8324 beq.w 8098616 8093fce: 4b7f ldr r3, [pc, #508] ; (80941cc ) 8093fd0: 781b ldrb r3, [r3, #0] 8093fd2: b2db uxtb r3, r3 8093fd4: 2b02 cmp r3, #2 8093fd6: f004 831e beq.w 8098616 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8093fda: 4976 ldr r1, [pc, #472] ; (80941b4 ) 8093fdc: 487a ldr r0, [pc, #488] ; (80941c8 ) 8093fde: f7c0 fb17 bl 8054610 BSP_LCD_FillRect(60, 73, 200, 124); 8093fe2: 237c movs r3, #124 ; 0x7c 8093fe4: 22c8 movs r2, #200 ; 0xc8 8093fe6: 2149 movs r1, #73 ; 0x49 8093fe8: 203c movs r0, #60 ; 0x3c 8093fea: f7c0 ff9f bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8093fee: 4971 ldr r1, [pc, #452] ; (80941b4 ) 8093ff0: 4870 ldr r0, [pc, #448] ; (80941b4 ) 8093ff2: f7c0 fb0d bl 8054610 BSP_LCD_FillRect(61, 74, 198, 122); 8093ff6: 237a movs r3, #122 ; 0x7a 8093ff8: 22c6 movs r2, #198 ; 0xc6 8093ffa: 214a movs r1, #74 ; 0x4a 8093ffc: 203d movs r0, #61 ; 0x3d 8093ffe: f7c0 ff95 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094002: 496c ldr r1, [pc, #432] ; (80941b4 ) 8094004: f04f 30ff mov.w r0, #4294967295 8094008: f7c0 fb02 bl 8054610 BSP_LCD_SetFont(&Font12); 809400c: 4870 ldr r0, [pc, #448] ; (80941d0 ) 809400e: f7c0 fb3b bl 8054688 if((menupos == UpNo) || (menupos == UpYes)) 8094012: 4b6e ldr r3, [pc, #440] ; (80941cc ) 8094014: 781b ldrb r3, [r3, #0] 8094016: b2db uxtb r3, r3 8094018: 2b06 cmp r3, #6 809401a: d004 beq.n 8094026 809401c: 4b6b ldr r3, [pc, #428] ; (80941cc ) 809401e: 781b ldrb r3, [r3, #0] 8094020: b2db uxtb r3, r3 8094022: 2b07 cmp r3, #7 8094024: d179 bne.n 809411a if(pardata.LANG == RUS) 8094026: 4b6b ldr r3, [pc, #428] ; (80941d4 ) 8094028: 7b1b ldrb r3, [r3, #12] 809402a: b2db uxtb r3, r3 809402c: 2b00 cmp r3, #0 809402e: d10c bne.n 809404a BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûé ôàéë áóäåò", CENTER_MODE); 8094030: 2301 movs r3, #1 8094032: 4a69 ldr r2, [pc, #420] ; (80941d8 ) 8094034: 216f movs r1, #111 ; 0x6f 8094036: 20a0 movs r0, #160 ; 0xa0 8094038: f7c0 fbb0 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 809403c: 2301 movs r3, #1 809403e: 4a67 ldr r2, [pc, #412] ; (80941dc ) 8094040: 217e movs r1, #126 ; 0x7e 8094042: 20a0 movs r0, #160 ; 0xa0 8094044: f7c0 fbaa bl 805479c 8094048: e00b b.n 8094062 BSP_LCD_DisplayStringAt(160, 111, "The selected file will", CENTER_MODE); 809404a: 2301 movs r3, #1 809404c: 4a64 ldr r2, [pc, #400] ; (80941e0 ) 809404e: 216f movs r1, #111 ; 0x6f 8094050: 20a0 movs r0, #160 ; 0xa0 8094052: f7c0 fba3 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 8094056: 2301 movs r3, #1 8094058: 4a62 ldr r2, [pc, #392] ; (80941e4 ) 809405a: 217e movs r1, #126 ; 0x7e 809405c: 20a0 movs r0, #160 ; 0xa0 809405e: f7c0 fb9d bl 805479c if(menupos == UpNo) 8094062: 4b5a ldr r3, [pc, #360] ; (80941cc ) 8094064: 781b ldrb r3, [r3, #0] 8094066: b2db uxtb r3, r3 8094068: 2b06 cmp r3, #6 809406a: d128 bne.n 80940be if(pardata.LANG == RUS) 809406c: 4b59 ldr r3, [pc, #356] ; (80941d4 ) 809406e: 7b1b ldrb r3, [r3, #12] 8094070: b2db uxtb r3, r3 8094072: 2b00 cmp r3, #0 8094074: d111 bne.n 809409a BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8094076: 2301 movs r3, #1 8094078: 4a5b ldr r2, [pc, #364] ; (80941e8 ) 809407a: 21af movs r1, #175 ; 0xaf 809407c: 20e6 movs r0, #230 ; 0xe6 809407e: f7c0 fb8d bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094082: 495a ldr r1, [pc, #360] ; (80941ec ) 8094084: f04f 30ff mov.w r0, #4294967295 8094088: f7c0 fac2 bl 8054610 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 809408c: 2301 movs r3, #1 809408e: 4a58 ldr r2, [pc, #352] ; (80941f0 ) 8094090: 21af movs r1, #175 ; 0xaf 8094092: 205a movs r0, #90 ; 0x5a 8094094: f7c0 fb82 bl 805479c if(menupos == UpNo) 8094098: e088 b.n 80941ac BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 809409a: 2301 movs r3, #1 809409c: 4a55 ldr r2, [pc, #340] ; (80941f4 ) 809409e: 21af movs r1, #175 ; 0xaf 80940a0: 20e6 movs r0, #230 ; 0xe6 80940a2: f7c0 fb7b bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80940a6: 4951 ldr r1, [pc, #324] ; (80941ec ) 80940a8: f04f 30ff mov.w r0, #4294967295 80940ac: f7c0 fab0 bl 8054610 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 80940b0: 2301 movs r3, #1 80940b2: 4a51 ldr r2, [pc, #324] ; (80941f8 ) 80940b4: 21af movs r1, #175 ; 0xaf 80940b6: 205a movs r0, #90 ; 0x5a 80940b8: f7c0 fb70 bl 805479c if(menupos == UpNo) 80940bc: e076 b.n 80941ac if(menupos == UpYes) 80940be: 4b43 ldr r3, [pc, #268] ; (80941cc ) 80940c0: 781b ldrb r3, [r3, #0] 80940c2: b2db uxtb r3, r3 80940c4: 2b07 cmp r3, #7 80940c6: d171 bne.n 80941ac if(pardata.LANG == RUS) 80940c8: 4b42 ldr r3, [pc, #264] ; (80941d4 ) 80940ca: 7b1b ldrb r3, [r3, #12] 80940cc: b2db uxtb r3, r3 80940ce: 2b00 cmp r3, #0 80940d0: d111 bne.n 80940f6 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 80940d2: 2301 movs r3, #1 80940d4: 4a46 ldr r2, [pc, #280] ; (80941f0 ) 80940d6: 21af movs r1, #175 ; 0xaf 80940d8: 205a movs r0, #90 ; 0x5a 80940da: f7c0 fb5f bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80940de: 4943 ldr r1, [pc, #268] ; (80941ec ) 80940e0: f04f 30ff mov.w r0, #4294967295 80940e4: f7c0 fa94 bl 8054610 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 80940e8: 2301 movs r3, #1 80940ea: 4a3f ldr r2, [pc, #252] ; (80941e8 ) 80940ec: 21af movs r1, #175 ; 0xaf 80940ee: 20e6 movs r0, #230 ; 0xe6 80940f0: f7c0 fb54 bl 805479c if(menupos == UpNo) 80940f4: e05a b.n 80941ac BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 80940f6: 2301 movs r3, #1 80940f8: 4a3f ldr r2, [pc, #252] ; (80941f8 ) 80940fa: 21af movs r1, #175 ; 0xaf 80940fc: 205a movs r0, #90 ; 0x5a 80940fe: f7c0 fb4d bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094102: 493a ldr r1, [pc, #232] ; (80941ec ) 8094104: f04f 30ff mov.w r0, #4294967295 8094108: f7c0 fa82 bl 8054610 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 809410c: 2301 movs r3, #1 809410e: 4a39 ldr r2, [pc, #228] ; (80941f4 ) 8094110: 21af movs r1, #175 ; 0xaf 8094112: 20e6 movs r0, #230 ; 0xe6 8094114: f7c0 fb42 bl 805479c if(menupos == UpNo) 8094118: e048 b.n 80941ac if(menupos == CleanUpResult) 809411a: 4b2c ldr r3, [pc, #176] ; (80941cc ) 809411c: 781b ldrb r3, [r3, #0] 809411e: b2db uxtb r3, r3 8094120: 2b0a cmp r3, #10 8094122: f044 8278 bne.w 8098616 if(CleanStatus == AP_OK) 8094126: 4b35 ldr r3, [pc, #212] ; (80941fc ) 8094128: 781b ldrb r3, [r3, #0] 809412a: b2db uxtb r3, r3 809412c: 2b00 cmp r3, #0 809412e: d118 bne.n 8094162 if(pardata.LANG == RUS) 8094130: 4b28 ldr r3, [pc, #160] ; (80941d4 ) 8094132: 7b1b ldrb r3, [r3, #12] 8094134: b2db uxtb r3, r3 8094136: 2b00 cmp r3, #0 8094138: d10c bne.n 8094154 BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 809413a: 2301 movs r3, #1 809413c: 4a30 ldr r2, [pc, #192] ; (8094200 ) 809413e: 216f movs r1, #111 ; 0x6f 8094140: 20a0 movs r0, #160 ; 0xa0 8094142: f7c0 fb2b bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 8094146: 2301 movs r3, #1 8094148: 4a2e ldr r2, [pc, #184] ; (8094204 ) 809414a: 217e movs r1, #126 ; 0x7e 809414c: 20a0 movs r0, #160 ; 0xa0 809414e: f7c0 fb25 bl 805479c 8094152: e01e b.n 8094192 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 8094154: 2301 movs r3, #1 8094156: 4a2c ldr r2, [pc, #176] ; (8094208 ) 8094158: 217e movs r1, #126 ; 0x7e 809415a: 20a0 movs r0, #160 ; 0xa0 809415c: f7c0 fb1e bl 805479c 8094160: e017 b.n 8094192 if(pardata.LANG == RUS) 8094162: 4b1c ldr r3, [pc, #112] ; (80941d4 ) 8094164: 7b1b ldrb r3, [r3, #12] 8094166: b2db uxtb r3, r3 8094168: 2b00 cmp r3, #0 809416a: d10c bne.n 8094186 BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 809416c: 2301 movs r3, #1 809416e: 4a27 ldr r2, [pc, #156] ; (809420c ) 8094170: 216f movs r1, #111 ; 0x6f 8094172: 20a0 movs r0, #160 ; 0xa0 8094174: f7c0 fb12 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 8094178: 2301 movs r3, #1 809417a: 4a25 ldr r2, [pc, #148] ; (8094210 ) 809417c: 217e movs r1, #126 ; 0x7e 809417e: 20a0 movs r0, #160 ; 0xa0 8094180: f7c0 fb0c bl 805479c 8094184: e005 b.n 8094192 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 8094186: 2301 movs r3, #1 8094188: 4a22 ldr r2, [pc, #136] ; (8094214 ) 809418a: 217e movs r1, #126 ; 0x7e 809418c: 20a0 movs r0, #160 ; 0xa0 809418e: f7c0 fb05 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094192: 4916 ldr r1, [pc, #88] ; (80941ec ) 8094194: f04f 30ff mov.w r0, #4294967295 8094198: f7c0 fa3a bl 8054610 BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 809419c: 2301 movs r3, #1 809419e: 4a1e ldr r2, [pc, #120] ; (8094218 ) 80941a0: 21af movs r1, #175 ; 0xaf 80941a2: 20a0 movs r0, #160 ; 0xa0 80941a4: f7c0 fafa bl 805479c break; 80941a8: f004 ba35 b.w 8098616 if(menupos == UpNo) 80941ac: bf00 nop break; 80941ae: f004 ba32 b.w 8098616 80941b2: bf00 nop 80941b4: ff0a0f1f .word 0xff0a0f1f 80941b8: 080f3818 .word 0x080f3818 80941bc: 20020e18 .word 0x20020e18 80941c0: 20020e04 .word 0x20020e04 80941c4: 42c00000 .word 0x42c00000 80941c8: ffd3d3d3 .word 0xffd3d3d3 80941cc: 20020070 .word 0x20020070 80941d0: 20020038 .word 0x20020038 80941d4: 20023ea8 .word 0x20023ea8 80941d8: 080d4570 .word 0x080d4570 80941dc: 080d4588 .word 0x080d4588 80941e0: 080d45a0 .word 0x080d45a0 80941e4: 080d45b8 .word 0x080d45b8 80941e8: 080d45d0 .word 0x080d45d0 80941ec: ff606060 .word 0xff606060 80941f0: 080d45d4 .word 0x080d45d4 80941f4: 080d45d8 .word 0x080d45d8 80941f8: 080d45dc .word 0x080d45dc 80941fc: 20020df0 .word 0x20020df0 8094200: 080d45e0 .word 0x080d45e0 8094204: 080d4368 .word 0x080d4368 8094208: 080d45f4 .word 0x080d45f4 809420c: 080d4374 .word 0x080d4374 8094210: 080d460c .word 0x080d460c 8094214: 080d4618 .word 0x080d4618 8094218: 080d4628 .word 0x080d4628 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); 809421c: 49b4 ldr r1, [pc, #720] ; (80944f0 ) 809421e: 48b5 ldr r0, [pc, #724] ; (80944f4 ) 8094220: f7c0 f9f6 bl 8054610 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094224: 49b2 ldr r1, [pc, #712] ; (80944f0 ) 8094226: f04f 30ff mov.w r0, #4294967295 809422a: f7c0 f9f1 bl 8054610 BSP_LCD_DrawRect(10, 60, 300, 175); 809422e: 23af movs r3, #175 ; 0xaf 8094230: f44f 7296 mov.w r2, #300 ; 0x12c 8094234: 213c movs r1, #60 ; 0x3c 8094236: 200a movs r0, #10 8094238: f7c0 fcf0 bl 8054c1c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 809423c: 49ac ldr r1, [pc, #688] ; (80944f0 ) 809423e: 48ac ldr r0, [pc, #688] ; (80944f0 ) 8094240: f7c0 f9e6 bl 8054610 BSP_LCD_DrawRect(12, 62, 296, 171); 8094244: 23ab movs r3, #171 ; 0xab 8094246: f44f 7294 mov.w r2, #296 ; 0x128 809424a: 213e movs r1, #62 ; 0x3e 809424c: 200c movs r0, #12 809424e: f7c0 fce5 bl 8054c1c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8094252: 49a7 ldr r1, [pc, #668] ; (80944f0 ) 8094254: 48a7 ldr r0, [pc, #668] ; (80944f4 ) 8094256: f7c0 f9db bl 8054610 if(menu == INPUT_NAME_GTR) 809425a: 4ba7 ldr r3, [pc, #668] ; (80944f8 ) 809425c: 781b ldrb r3, [r3, #0] 809425e: b2db uxtb r3, r3 8094260: 2b30 cmp r3, #48 ; 0x30 8094262: d110 bne.n 8094286 { if(pardata.LANG == RUS) 8094264: 4ba5 ldr r3, [pc, #660] ; (80944fc ) 8094266: 7b1b ldrb r3, [r3, #12] 8094268: b2db uxtb r3, r3 809426a: 2b00 cmp r3, #0 809426c: d105 bne.n 809427a LCD_DisplayStringC(164, 70, "Èìÿ äèðåêòîðèè:"); 809426e: 4aa4 ldr r2, [pc, #656] ; (8094500 ) 8094270: 2146 movs r1, #70 ; 0x46 8094272: 20a4 movs r0, #164 ; 0xa4 8094274: f7c0 ff8c bl 8055190 8094278: e046 b.n 8094308 else LCD_DisplayStringC(164, 70, "Enter a folder name:"); 809427a: 4aa2 ldr r2, [pc, #648] ; (8094504 ) 809427c: 2146 movs r1, #70 ; 0x46 809427e: 20a4 movs r0, #164 ; 0xa4 8094280: f7c0 ff86 bl 8055190 8094284: e040 b.n 8094308 } else if(menu == INPUT_NAME) 8094286: 4b9c ldr r3, [pc, #624] ; (80944f8 ) 8094288: 781b ldrb r3, [r3, #0] 809428a: b2db uxtb r3, r3 809428c: 2b33 cmp r3, #51 ; 0x33 809428e: d110 bne.n 80942b2 { if(pardata.LANG == RUS) 8094290: 4b9a ldr r3, [pc, #616] ; (80944fc ) 8094292: 7b1b ldrb r3, [r3, #12] 8094294: b2db uxtb r3, r3 8094296: 2b00 cmp r3, #0 8094298: d105 bne.n 80942a6 LCD_DisplayStringC(164, 70, "Èìÿ:"); 809429a: 4a9b ldr r2, [pc, #620] ; (8094508 ) 809429c: 2146 movs r1, #70 ; 0x46 809429e: 20a4 movs r0, #164 ; 0xa4 80942a0: f7c0 ff76 bl 8055190 80942a4: e030 b.n 8094308 else LCD_DisplayStringC(164, 70, "Enter a name:"); 80942a6: 4a99 ldr r2, [pc, #612] ; (809450c ) 80942a8: 2146 movs r1, #70 ; 0x46 80942aa: 20a4 movs r0, #164 ; 0xa4 80942ac: f7c0 ff70 bl 8055190 80942b0: e02a b.n 8094308 } else if((menu == INPUT_COMMENT) || (menu == INPUT_COMMENT_DIAGN)) 80942b2: 4b91 ldr r3, [pc, #580] ; (80944f8 ) 80942b4: 781b ldrb r3, [r3, #0] 80942b6: b2db uxtb r3, r3 80942b8: 2b31 cmp r3, #49 ; 0x31 80942ba: d004 beq.n 80942c6 80942bc: 4b8e ldr r3, [pc, #568] ; (80944f8 ) 80942be: 781b ldrb r3, [r3, #0] 80942c0: b2db uxtb r3, r3 80942c2: 2b32 cmp r3, #50 ; 0x32 80942c4: d110 bne.n 80942e8 { if(pardata.LANG == RUS) 80942c6: 4b8d ldr r3, [pc, #564] ; (80944fc ) 80942c8: 7b1b ldrb r3, [r3, #12] 80942ca: b2db uxtb r3, r3 80942cc: 2b00 cmp r3, #0 80942ce: d105 bne.n 80942dc LCD_DisplayStringC(164, 70, "Íàçâàíèå òî÷êè èçìåðåíèé"); 80942d0: 4a8f ldr r2, [pc, #572] ; (8094510 ) 80942d2: 2146 movs r1, #70 ; 0x46 80942d4: 20a4 movs r0, #164 ; 0xa4 80942d6: f7c0 ff5b bl 8055190 if(pardata.LANG == RUS) 80942da: e015 b.n 8094308 else LCD_DisplayStringC(164, 70, "Point description"); 80942dc: 4a8d ldr r2, [pc, #564] ; (8094514 ) 80942de: 2146 movs r1, #70 ; 0x46 80942e0: 20a4 movs r0, #164 ; 0xa4 80942e2: f7c0 ff55 bl 8055190 if(pardata.LANG == RUS) 80942e6: e00f b.n 8094308 } else { if(pardata.LANG == RUS) 80942e8: 4b84 ldr r3, [pc, #528] ; (80944fc ) 80942ea: 7b1b ldrb r3, [r3, #12] 80942ec: b2db uxtb r3, r3 80942ee: 2b00 cmp r3, #0 80942f0: d105 bne.n 80942fe LCD_DisplayStringC (164, 70, "Ââåäèòå èìÿ ôàéëà:"); 80942f2: 4a89 ldr r2, [pc, #548] ; (8094518 ) 80942f4: 2146 movs r1, #70 ; 0x46 80942f6: 20a4 movs r0, #164 ; 0xa4 80942f8: f7c0 ff4a bl 8055190 80942fc: e004 b.n 8094308 else LCD_DisplayStringC (164, 70, "Enter a file name:"); 80942fe: 4a87 ldr r2, [pc, #540] ; (809451c ) 8094300: 2146 movs r1, #70 ; 0x46 8094302: 20a4 movs r0, #164 ; 0xa4 8094304: f7c0 ff44 bl 8055190 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094308: 4979 ldr r1, [pc, #484] ; (80944f0 ) 809430a: f04f 30ff mov.w r0, #4294967295 809430e: f7c0 f97f bl 8054610 BSP_LCD_DrawHLine(115, 110, 79); 8094312: 224f movs r2, #79 ; 0x4f 8094314: 216e movs r1, #110 ; 0x6e 8094316: 2073 movs r0, #115 ; 0x73 8094318: f7c0 faf4 bl 8054904 DrawKeyboard(); 809431c: f01d f8ce bl 80b14bc if(DrawStatus) 8094320: 4b7f ldr r3, [pc, #508] ; (8094520 ) 8094322: 781b ldrb r3, [r3, #0] 8094324: b2db uxtb r3, r3 8094326: 2b00 cmp r3, #0 8094328: d00e beq.n 8094348 { if(STATUS == AP_FILE_EXIST) 809432a: 4b7e ldr r3, [pc, #504] ; (8094524 ) 809432c: 681b ldr r3, [r3, #0] 809432e: 2b06 cmp r3, #6 8094330: d104 bne.n 809433c LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 8094332: 496f ldr r1, [pc, #444] ; (80944f0 ) 8094334: 487c ldr r0, [pc, #496] ; (8094528 ) 8094336: f7c0 f96b bl 8054610 809433a: e00a b.n 8094352 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK);//GUI_SetColor(GUI_YELLOW); 809433c: 496c ldr r1, [pc, #432] ; (80944f0 ) 809433e: f06f 00ff mvn.w r0, #255 ; 0xff 8094342: f7c0 f965 bl 8054610 8094346: e004 b.n 8094352 } else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8094348: 4969 ldr r1, [pc, #420] ; (80944f0 ) 809434a: f06f 00ff mvn.w r0, #255 ; 0xff 809434e: f7c0 f95f bl 8054610 memset(str1, 0, sizeof(str1)); 8094352: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094356: f44f 7280 mov.w r2, #256 ; 0x100 809435a: 2100 movs r1, #0 809435c: 4618 mov r0, r3 809435e: f03d f81f bl 80d13a0 if(menu == INPUT_NAME_GTR) 8094362: 4b65 ldr r3, [pc, #404] ; (80944f8 ) 8094364: 781b ldrb r3, [r3, #0] 8094366: b2db uxtb r3, r3 8094368: 2b30 cmp r3, #48 ; 0x30 809436a: d106 bne.n 809437a { strcpy(str1, TEMP_WavFileName); 809436c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094370: 496e ldr r1, [pc, #440] ; (809452c ) 8094372: 4618 mov r0, r3 8094374: f03d f931 bl 80d15da 8094378: e02e b.n 80943d8 } else if(menu == INPUT_NAME_DGN) 809437a: 4b5f ldr r3, [pc, #380] ; (80944f8 ) 809437c: 781b ldrb r3, [r3, #0] 809437e: b2db uxtb r3, r3 8094380: 2b2c cmp r3, #44 ; 0x2c 8094382: d106 bne.n 8094392 { strcpy(str1, TEMP_DiagFileName); 8094384: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094388: 4969 ldr r1, [pc, #420] ; (8094530 ) 809438a: 4618 mov r0, r3 809438c: f03d f925 bl 80d15da 8094390: e022 b.n 80943d8 } else if(menu == INPUT_NAME) 8094392: 4b59 ldr r3, [pc, #356] ; (80944f8 ) 8094394: 781b ldrb r3, [r3, #0] 8094396: b2db uxtb r3, r3 8094398: 2b33 cmp r3, #51 ; 0x33 809439a: d106 bne.n 80943aa { strcpy(str1, TEMP_Name); 809439c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80943a0: 4964 ldr r1, [pc, #400] ; (8094534 ) 80943a2: 4618 mov r0, r3 80943a4: f03d f919 bl 80d15da 80943a8: e016 b.n 80943d8 } else if((menu == INPUT_COMMENT) || (menu == INPUT_COMMENT_DIAGN)) 80943aa: 4b53 ldr r3, [pc, #332] ; (80944f8 ) 80943ac: 781b ldrb r3, [r3, #0] 80943ae: b2db uxtb r3, r3 80943b0: 2b31 cmp r3, #49 ; 0x31 80943b2: d004 beq.n 80943be 80943b4: 4b50 ldr r3, [pc, #320] ; (80944f8 ) 80943b6: 781b ldrb r3, [r3, #0] 80943b8: b2db uxtb r3, r3 80943ba: 2b32 cmp r3, #50 ; 0x32 80943bc: d106 bne.n 80943cc { strcpy(str1, TEMP_Comment); 80943be: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80943c2: 495d ldr r1, [pc, #372] ; (8094538 ) 80943c4: 4618 mov r0, r3 80943c6: f03d f908 bl 80d15da 80943ca: e005 b.n 80943d8 } else strcpy(str1, TEMP_MeasFileName); 80943cc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80943d0: 495a ldr r1, [pc, #360] ; (809453c ) 80943d2: 4618 mov r0, r3 80943d4: f03d f901 bl 80d15da if(blink) 80943d8: 4b59 ldr r3, [pc, #356] ; (8094540 ) 80943da: 681b ldr r3, [r3, #0] 80943dc: 2b00 cmp r3, #0 80943de: d00a beq.n 80943f6 str1[strlen(str1)] = '|'; 80943e0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80943e4: 4618 mov r0, r3 80943e6: f78b ff95 bl 8020314 80943ea: 4602 mov r2, r0 80943ec: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80943f0: 217c movs r1, #124 ; 0x7c 80943f2: 5499 strb r1, [r3, r2] 80943f4: e009 b.n 809440a else str1[strlen(str1)] = ' '; 80943f6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80943fa: 4618 mov r0, r3 80943fc: f78b ff8a bl 8020314 8094400: 4602 mov r2, r0 8094402: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094406: 2120 movs r1, #32 8094408: 5499 strb r1, [r3, r2] BSP_LCD_SetFont(&Font12); 809440a: 484e ldr r0, [pc, #312] ; (8094544 ) 809440c: f7c0 f93c bl 8054688 BSP_LCD_DisplayStringAt(160, 95, str1, CENTER_MODE); 8094410: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094414: 2301 movs r3, #1 8094416: 215f movs r1, #95 ; 0x5f 8094418: 20a0 movs r0, #160 ; 0xa0 809441a: f7c0 f9bf bl 805479c break; 809441e: f004 b905 b.w 809862c case ARCHIVE_SPEC: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8094422: 4933 ldr r1, [pc, #204] ; (80944f0 ) 8094424: 4848 ldr r0, [pc, #288] ; (8094548 ) 8094426: f7c0 f8f3 bl 8054610 BSP_LCD_DrawHLine(7, 52, 308); 809442a: f44f 729a mov.w r2, #308 ; 0x134 809442e: 2134 movs r1, #52 ; 0x34 8094430: 2007 movs r0, #7 8094432: f7c0 fa67 bl 8054904 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8094436: 492e ldr r1, [pc, #184] ; (80944f0 ) 8094438: 482e ldr r0, [pc, #184] ; (80944f4 ) 809443a: f7c0 f8e9 bl 8054610 if(pardata.LANG == RUS) 809443e: 4b2f ldr r3, [pc, #188] ; (80944fc ) 8094440: 7b1b ldrb r3, [r3, #12] 8094442: b2db uxtb r3, r3 8094444: 2b00 cmp r3, #0 8094446: d105 bne.n 8094454 LCD_DisplayString(7, LCD_LINE_2, "..|Îòêðûòü ôàéë"); 8094448: 4a40 ldr r2, [pc, #256] ; (809454c ) 809444a: 2127 movs r1, #39 ; 0x27 809444c: 2007 movs r0, #7 809444e: f7c0 fe87 bl 8055160 8094452: e004 b.n 809445e else LCD_DisplayString(7, LCD_LINE_2, "..|Open file"); 8094454: 4a3e ldr r2, [pc, #248] ; (8094550 ) 8094456: 2127 movs r1, #39 ; 0x27 8094458: 2007 movs r0, #7 809445a: f7c0 fe81 bl 8055160 if(pardata.LANG == RUS) 809445e: 4b27 ldr r3, [pc, #156] ; (80944fc ) 8094460: 7b1b ldrb r3, [r3, #12] 8094462: b2db uxtb r3, r3 8094464: 2b00 cmp r3, #0 8094466: d105 bne.n 8094474 DrawImage(&bmLEGEND_CLEAN, 0, 65); 8094468: 2241 movs r2, #65 ; 0x41 809446a: 2100 movs r1, #0 809446c: 4839 ldr r0, [pc, #228] ; (8094554 ) 809446e: f7c0 ffc3 bl 80553f8 8094472: e004 b.n 809447e else DrawImage(&bmLEGEND_CLEAN_ENG, 0, 65); 8094474: 2241 movs r2, #65 ; 0x41 8094476: 2100 movs r1, #0 8094478: 4837 ldr r0, [pc, #220] ; (8094558 ) 809447a: f7c0 ffbd bl 80553f8 if(menupos == NoFilesSPEC) 809447e: 4b37 ldr r3, [pc, #220] ; (809455c ) 8094480: 781b ldrb r3, [r3, #0] 8094482: b2db uxtb r3, r3 8094484: 2b01 cmp r3, #1 8094486: d117 bne.n 80944b8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094488: 4919 ldr r1, [pc, #100] ; (80944f0 ) 809448a: f04f 30ff mov.w r0, #4294967295 809448e: f7c0 f8bf bl 8054610 if(pardata.LANG == RUS) 8094492: 4b1a ldr r3, [pc, #104] ; (80944fc ) 8094494: 7b1b ldrb r3, [r3, #12] 8094496: b2db uxtb r3, r3 8094498: 2b00 cmp r3, #0 809449a: d106 bne.n 80944aa LCD_DisplayStringC(160, LCD_LINE_8, "Ôàéëû îòñóòñòâóþò."); 809449c: 4a30 ldr r2, [pc, #192] ; (8094560 ) 809449e: 218a movs r1, #138 ; 0x8a 80944a0: 20a0 movs r0, #160 ; 0xa0 80944a2: f7c0 fe75 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); LCD_DisplayStringC(160, 170, "Ok"); } } } break; 80944a6: f004 b8b8 b.w 809861a else LCD_DisplayStringC(160, LCD_LINE_8, "No files..."); 80944aa: 4a2e ldr r2, [pc, #184] ; (8094564 ) 80944ac: 218a movs r1, #138 ; 0x8a 80944ae: 20a0 movs r0, #160 ; 0xa0 80944b0: f7c0 fe6e bl 8055190 break; 80944b4: f004 b8b1 b.w 809861a if((menupos == FilesSPEC) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 80944b8: 4b28 ldr r3, [pc, #160] ; (809455c ) 80944ba: 781b ldrb r3, [r3, #0] 80944bc: b2db uxtb r3, r3 80944be: 2b02 cmp r3, #2 80944c0: d00f beq.n 80944e2 80944c2: 4b26 ldr r3, [pc, #152] ; (809455c ) 80944c4: 781b ldrb r3, [r3, #0] 80944c6: b2db uxtb r3, r3 80944c8: 2b06 cmp r3, #6 80944ca: d00a beq.n 80944e2 80944cc: 4b23 ldr r3, [pc, #140] ; (809455c ) 80944ce: 781b ldrb r3, [r3, #0] 80944d0: b2db uxtb r3, r3 80944d2: 2b07 cmp r3, #7 80944d4: d005 beq.n 80944e2 80944d6: 4b21 ldr r3, [pc, #132] ; (809455c ) 80944d8: 781b ldrb r3, [r3, #0] 80944da: b2db uxtb r3, r3 80944dc: 2b0a cmp r3, #10 80944de: f044 809c bne.w 809861a BSP_LCD_SetFont(&Font12); 80944e2: 4818 ldr r0, [pc, #96] ; (8094544 ) 80944e4: f7c0 f8d0 bl 8054688 for(i = 0; i < VIEW_FILES; i++) 80944e8: 2300 movs r3, #0 80944ea: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80944ee: e1bb b.n 8094868 80944f0: ff0a0f1f .word 0xff0a0f1f 80944f4: ff808080 .word 0xff808080 80944f8: 20020fbd .word 0x20020fbd 80944fc: 20023ea8 .word 0x20023ea8 8094500: 080d462c .word 0x080d462c 8094504: 080d463c .word 0x080d463c 8094508: 080d4654 .word 0x080d4654 809450c: 080d465c .word 0x080d465c 8094510: 080d466c .word 0x080d466c 8094514: 080d4688 .word 0x080d4688 8094518: 080d469c .word 0x080d469c 809451c: 080d46b0 .word 0x080d46b0 8094520: 20020df2 .word 0x20020df2 8094524: 20020dec .word 0x20020dec 8094528: ffff0000 .word 0xffff0000 809452c: 20025cec .word 0x20025cec 8094530: 20025d10 .word 0x20025d10 8094534: 20025d3c .word 0x20025d3c 8094538: 20025c88 .word 0x20025c88 809453c: 20025cc8 .word 0x20025cc8 8094540: 200216a8 .word 0x200216a8 8094544: 20020038 .word 0x20020038 8094548: ffd3d3d3 .word 0xffd3d3d3 809454c: 080d46c4 .word 0x080d46c4 8094550: 080d46d4 .word 0x080d46d4 8094554: 0811c34c .word 0x0811c34c 8094558: 0811f558 .word 0x0811f558 809455c: 20020070 .word 0x20020070 8094560: 080d46e4 .word 0x080d46e4 8094564: 080d46f8 .word 0x080d46f8 if(CursorIndex == i) 8094568: 4bad ldr r3, [pc, #692] ; (8094820 ) 809456a: 681a ldr r2, [r3, #0] 809456c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094570: 429a cmp r2, r3 8094572: d116 bne.n 80945a2 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8094574: 49ab ldr r1, [pc, #684] ; (8094824 ) 8094576: 48ab ldr r0, [pc, #684] ; (8094824 ) 8094578: f7c0 f84a bl 8054610 BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 809457c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094580: 4aa9 ldr r2, [pc, #676] ; (8094828 ) 8094582: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8094586: 4ba9 ldr r3, [pc, #676] ; (809482c ) 8094588: 681b ldr r3, [r3, #0] 809458a: 88db ldrh r3, [r3, #6] 809458c: f44f 729c mov.w r2, #312 ; 0x138 8094590: 2003 movs r0, #3 8094592: f7c0 fccb bl 8054f2c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_CURSOR); 8094596: 49a3 ldr r1, [pc, #652] ; (8094824 ) 8094598: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809459c: f7c0 f838 bl 8054610 80945a0: e004 b.n 80945ac LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80945a2: 49a3 ldr r1, [pc, #652] ; (8094830 ) 80945a4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80945a8: f7c0 f832 bl 8054610 if(ExplorerFiles[i].fname[0] != 0) 80945ac: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80945b0: 49a0 ldr r1, [pc, #640] ; (8094834 ) 80945b2: 4613 mov r3, r2 80945b4: 00db lsls r3, r3, #3 80945b6: 1a9b subs r3, r3, r2 80945b8: 00db lsls r3, r3, #3 80945ba: 440b add r3, r1 80945bc: 330c adds r3, #12 80945be: 781b ldrb r3, [r3, #0] 80945c0: 2b00 cmp r3, #0 80945c2: f000 814c beq.w 809485e BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 80945c6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80945ca: 4a97 ldr r2, [pc, #604] ; (8094828 ) 80945cc: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 80945d0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80945d4: 4613 mov r3, r2 80945d6: 00db lsls r3, r3, #3 80945d8: 1a9b subs r3, r3, r2 80945da: 00db lsls r3, r3, #3 80945dc: 3308 adds r3, #8 80945de: 4a95 ldr r2, [pc, #596] ; (8094834 ) 80945e0: 4413 add r3, r2 80945e2: 1d1a adds r2, r3, #4 80945e4: 2303 movs r3, #3 80945e6: 2005 movs r0, #5 80945e8: f7c0 f8d8 bl 805479c k = 0; 80945ec: 2300 movs r3, #0 80945ee: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 80945f2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80945f6: 498f ldr r1, [pc, #572] ; (8094834 ) 80945f8: 4613 mov r3, r2 80945fa: 00db lsls r3, r3, #3 80945fc: 1a9b subs r3, r3, r2 80945fe: 00db lsls r3, r3, #3 8094600: 440b add r3, r1 8094602: 3308 adds r3, #8 8094604: 681a ldr r2, [r3, #0] 8094606: f107 030c add.w r3, r7, #12 809460a: 4611 mov r1, r2 809460c: 4618 mov r0, r3 809460e: f7d3 feed bl 80683ec str1[k++] = (FatTime.Date / 10) + 48; 8094612: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094616: 1c5a adds r2, r3, #1 8094618: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809461c: f107 020c add.w r2, r7, #12 8094620: 7852 ldrb r2, [r2, #1] 8094622: 4985 ldr r1, [pc, #532] ; (8094838 ) 8094624: fba1 1202 umull r1, r2, r1, r2 8094628: 08d2 lsrs r2, r2, #3 809462a: b2d2 uxtb r2, r2 809462c: 3230 adds r2, #48 ; 0x30 809462e: b2d1 uxtb r1, r2 8094630: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094634: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8094636: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809463a: 1c53 adds r3, r2, #1 809463c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094640: f107 030c add.w r3, r7, #12 8094644: 7859 ldrb r1, [r3, #1] 8094646: 4b7c ldr r3, [pc, #496] ; (8094838 ) 8094648: fba3 0301 umull r0, r3, r3, r1 809464c: 08d8 lsrs r0, r3, #3 809464e: 4603 mov r3, r0 8094650: 009b lsls r3, r3, #2 8094652: 4403 add r3, r0 8094654: 005b lsls r3, r3, #1 8094656: 1acb subs r3, r1, r3 8094658: b2db uxtb r3, r3 809465a: 3330 adds r3, #48 ; 0x30 809465c: b2d9 uxtb r1, r3 809465e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094662: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8094664: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094668: 1c5a adds r2, r3, #1 809466a: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809466e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094672: 212e movs r1, #46 ; 0x2e 8094674: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 8094676: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809467a: 1c5a adds r2, r3, #1 809467c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094680: f107 020c add.w r2, r7, #12 8094684: 7812 ldrb r2, [r2, #0] 8094686: 496c ldr r1, [pc, #432] ; (8094838 ) 8094688: fba1 1202 umull r1, r2, r1, r2 809468c: 08d2 lsrs r2, r2, #3 809468e: b2d2 uxtb r2, r2 8094690: 3230 adds r2, #48 ; 0x30 8094692: b2d1 uxtb r1, r2 8094694: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094698: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 809469a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809469e: 1c53 adds r3, r2, #1 80946a0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80946a4: f107 030c add.w r3, r7, #12 80946a8: 7819 ldrb r1, [r3, #0] 80946aa: 4b63 ldr r3, [pc, #396] ; (8094838 ) 80946ac: fba3 0301 umull r0, r3, r3, r1 80946b0: 08d8 lsrs r0, r3, #3 80946b2: 4603 mov r3, r0 80946b4: 009b lsls r3, r3, #2 80946b6: 4403 add r3, r0 80946b8: 005b lsls r3, r3, #1 80946ba: 1acb subs r3, r1, r3 80946bc: b2db uxtb r3, r3 80946be: 3330 adds r3, #48 ; 0x30 80946c0: b2d9 uxtb r1, r3 80946c2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80946c6: 5499 strb r1, [r3, r2] str1[k++] = '.'; 80946c8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80946cc: 1c5a adds r2, r3, #1 80946ce: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80946d2: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80946d6: 212e movs r1, #46 ; 0x2e 80946d8: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 80946da: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80946de: 1c5a adds r2, r3, #1 80946e0: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80946e4: f107 020c add.w r2, r7, #12 80946e8: 7892 ldrb r2, [r2, #2] 80946ea: 4953 ldr r1, [pc, #332] ; (8094838 ) 80946ec: fba1 1202 umull r1, r2, r1, r2 80946f0: 08d2 lsrs r2, r2, #3 80946f2: b2d2 uxtb r2, r2 80946f4: 3230 adds r2, #48 ; 0x30 80946f6: b2d1 uxtb r1, r2 80946f8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80946fc: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 80946fe: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8094702: 1c53 adds r3, r2, #1 8094704: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094708: f107 030c add.w r3, r7, #12 809470c: 7899 ldrb r1, [r3, #2] 809470e: 4b4a ldr r3, [pc, #296] ; (8094838 ) 8094710: fba3 0301 umull r0, r3, r3, r1 8094714: 08d8 lsrs r0, r3, #3 8094716: 4603 mov r3, r0 8094718: 009b lsls r3, r3, #2 809471a: 4403 add r3, r0 809471c: 005b lsls r3, r3, #1 809471e: 1acb subs r3, r1, r3 8094720: b2db uxtb r3, r3 8094722: 3330 adds r3, #48 ; 0x30 8094724: b2d9 uxtb r1, r3 8094726: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809472a: 5499 strb r1, [r3, r2] str1[k++] = ' '; 809472c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094730: 1c5a adds r2, r3, #1 8094732: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094736: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809473a: 2120 movs r1, #32 809473c: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 809473e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094742: 1c5a adds r2, r3, #1 8094744: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094748: f107 020c add.w r2, r7, #12 809474c: 78d2 ldrb r2, [r2, #3] 809474e: 493a ldr r1, [pc, #232] ; (8094838 ) 8094750: fba1 1202 umull r1, r2, r1, r2 8094754: 08d2 lsrs r2, r2, #3 8094756: b2d2 uxtb r2, r2 8094758: 3230 adds r2, #48 ; 0x30 809475a: b2d1 uxtb r1, r2 809475c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094760: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 8094762: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8094766: 1c53 adds r3, r2, #1 8094768: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809476c: f107 030c add.w r3, r7, #12 8094770: 78d9 ldrb r1, [r3, #3] 8094772: 4b31 ldr r3, [pc, #196] ; (8094838 ) 8094774: fba3 0301 umull r0, r3, r3, r1 8094778: 08d8 lsrs r0, r3, #3 809477a: 4603 mov r3, r0 809477c: 009b lsls r3, r3, #2 809477e: 4403 add r3, r0 8094780: 005b lsls r3, r3, #1 8094782: 1acb subs r3, r1, r3 8094784: b2db uxtb r3, r3 8094786: 3330 adds r3, #48 ; 0x30 8094788: b2d9 uxtb r1, r3 809478a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809478e: 5499 strb r1, [r3, r2] str1[k++] = ':'; 8094790: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094794: 1c5a adds r2, r3, #1 8094796: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809479a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809479e: 213a movs r1, #58 ; 0x3a 80947a0: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 80947a2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80947a6: 1c5a adds r2, r3, #1 80947a8: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80947ac: f107 020c add.w r2, r7, #12 80947b0: 7912 ldrb r2, [r2, #4] 80947b2: 4921 ldr r1, [pc, #132] ; (8094838 ) 80947b4: fba1 1202 umull r1, r2, r1, r2 80947b8: 08d2 lsrs r2, r2, #3 80947ba: b2d2 uxtb r2, r2 80947bc: 3230 adds r2, #48 ; 0x30 80947be: b2d1 uxtb r1, r2 80947c0: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80947c4: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 80947c6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80947ca: 1c53 adds r3, r2, #1 80947cc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80947d0: f107 030c add.w r3, r7, #12 80947d4: 7919 ldrb r1, [r3, #4] 80947d6: 4b18 ldr r3, [pc, #96] ; (8094838 ) 80947d8: fba3 0301 umull r0, r3, r3, r1 80947dc: 08d8 lsrs r0, r3, #3 80947de: 4603 mov r3, r0 80947e0: 009b lsls r3, r3, #2 80947e2: 4403 add r3, r0 80947e4: 005b lsls r3, r3, #1 80947e6: 1acb subs r3, r1, r3 80947e8: b2db uxtb r3, r3 80947ea: 3330 adds r3, #48 ; 0x30 80947ec: b2d9 uxtb r1, r3 80947ee: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80947f2: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 80947f4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80947f8: 1c5a adds r2, r3, #1 80947fa: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80947fe: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094802: 2100 movs r1, #0 8094804: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8094806: 4b06 ldr r3, [pc, #24] ; (8094820 ) 8094808: 681a ldr r2, [r3, #0] 809480a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809480e: 429a cmp r2, r3 8094810: d114 bne.n 809483c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094812: 4904 ldr r1, [pc, #16] ; (8094824 ) 8094814: f04f 30ff mov.w r0, #4294967295 8094818: f7bf fefa bl 8054610 809481c: e013 b.n 8094846 809481e: bf00 nop 8094820: 20020e00 .word 0x20020e00 8094824: ff606060 .word 0xff606060 8094828: 080f3818 .word 0x080f3818 809482c: 20025d6c .word 0x20025d6c 8094830: ff0a0f1f .word 0xff0a0f1f 8094834: 20022398 .word 0x20022398 8094838: cccccccd .word 0xcccccccd else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809483c: 49bc ldr r1, [pc, #752] ; (8094b30 ) 809483e: f04f 30ff mov.w r0, #4294967295 8094842: f7bf fee5 bl 8054610 BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8094846: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809484a: 4aba ldr r2, [pc, #744] ; (8094b34 ) 809484c: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8094850: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094854: 2302 movs r3, #2 8094856: f44f 709c mov.w r0, #312 ; 0x138 809485a: f7bf ff9f bl 805479c for(i = 0; i < VIEW_FILES; i++) 809485e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094862: 3301 adds r3, #1 8094864: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8094868: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809486c: 2b0b cmp r3, #11 809486e: f67f ae7b bls.w 8094568 if(NumFilesSPEC > VIEW_FILES) 8094872: 4bb1 ldr r3, [pc, #708] ; (8094b38 ) 8094874: 681b ldr r3, [r3, #0] 8094876: 2b0c cmp r3, #12 8094878: d95f bls.n 809493a k = (140 * VIEW_FILES) / NumFilesSPEC; //äëèíà ïîëçóíêà 809487a: 4baf ldr r3, [pc, #700] ; (8094b38 ) 809487c: 681b ldr r3, [r3, #0] 809487e: f44f 62d2 mov.w r2, #1680 ; 0x690 8094882: fbb2 f3f3 udiv r3, r2, r3 8094886: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 809488a: 4bac ldr r3, [pc, #688] ; (8094b3c ) 809488c: 681b ldr r3, [r3, #0] 809488e: 228c movs r2, #140 ; 0x8c 8094890: fb02 f303 mul.w r3, r2, r3 8094894: ee07 3a90 vmov s15, r3 8094898: eef8 7a67 vcvt.f32.u32 s15, s15 809489c: f507 638b add.w r3, r7, #1112 ; 0x458 80948a0: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesSPEC) + 96.0f; 80948a4: 4ba4 ldr r3, [pc, #656] ; (8094b38 ) 80948a6: 681b ldr r3, [r3, #0] 80948a8: ee07 3a90 vmov s15, r3 80948ac: eeb8 7a67 vcvt.f32.u32 s14, s15 80948b0: f507 638b add.w r3, r7, #1112 ; 0x458 80948b4: edd3 6a00 vldr s13, [r3] 80948b8: eec6 7a87 vdiv.f32 s15, s13, s14 80948bc: ed9f 7aa0 vldr s14, [pc, #640] ; 8094b40 80948c0: ee77 7a87 vadd.f32 s15, s15, s14 80948c4: f507 638b add.w r3, r7, #1112 ; 0x458 80948c8: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 80948cc: f507 638b add.w r3, r7, #1112 ; 0x458 80948d0: edd3 7a00 vldr s15, [r3] 80948d4: eefc 7ae7 vcvt.u32.f32 s15, s15 80948d8: edc7 7a01 vstr s15, [r7, #4] 80948dc: 88bb ldrh r3, [r7, #4] 80948de: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 80948e2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80948e6: b29a uxth r2, r3 80948e8: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80948ec: 4413 add r3, r2 80948ee: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 80948f2: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80948f6: 2bec cmp r3, #236 ; 0xec 80948f8: d905 bls.n 8094906 k = 236 - y0; 80948fa: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80948fe: f1c3 03ec rsb r3, r3, #236 ; 0xec 8094902: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8094906: 498a ldr r1, [pc, #552] ; (8094b30 ) 8094908: 488e ldr r0, [pc, #568] ; (8094b44 ) 809490a: f7bf fe81 bl 8054610 BSP_LCD_DrawRect(314, 94, 5, 143); 809490e: 238f movs r3, #143 ; 0x8f 8094910: 2205 movs r2, #5 8094912: 215e movs r1, #94 ; 0x5e 8094914: f44f 709d mov.w r0, #314 ; 0x13a 8094918: f7c0 f980 bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809491c: 4984 ldr r1, [pc, #528] ; (8094b30 ) 809491e: f04f 30ff mov.w r0, #4294967295 8094922: f7bf fe75 bl 8054610 BSP_LCD_FillRect(316, y0, 2, k); 8094926: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809492a: b29b uxth r3, r3 809492c: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8094930: 2202 movs r2, #2 8094932: f44f 709e mov.w r0, #316 ; 0x13c 8094936: f7c0 faf9 bl 8054f2c if((menupos != NoFilesSPEC) && (menupos != FilesSPEC)) 809493a: 4b83 ldr r3, [pc, #524] ; (8094b48 ) 809493c: 781b ldrb r3, [r3, #0] 809493e: b2db uxtb r3, r3 8094940: 2b01 cmp r3, #1 8094942: f003 866a beq.w 809861a 8094946: 4b80 ldr r3, [pc, #512] ; (8094b48 ) 8094948: 781b ldrb r3, [r3, #0] 809494a: b2db uxtb r3, r3 809494c: 2b02 cmp r3, #2 809494e: f003 8664 beq.w 809861a LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8094952: 4977 ldr r1, [pc, #476] ; (8094b30 ) 8094954: 487b ldr r0, [pc, #492] ; (8094b44 ) 8094956: f7bf fe5b bl 8054610 BSP_LCD_FillRect(60, 73, 200, 124); 809495a: 237c movs r3, #124 ; 0x7c 809495c: 22c8 movs r2, #200 ; 0xc8 809495e: 2149 movs r1, #73 ; 0x49 8094960: 203c movs r0, #60 ; 0x3c 8094962: f7c0 fae3 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8094966: 4972 ldr r1, [pc, #456] ; (8094b30 ) 8094968: 4871 ldr r0, [pc, #452] ; (8094b30 ) 809496a: f7bf fe51 bl 8054610 BSP_LCD_FillRect(61, 74, 198, 122); 809496e: 237a movs r3, #122 ; 0x7a 8094970: 22c6 movs r2, #198 ; 0xc6 8094972: 214a movs r1, #74 ; 0x4a 8094974: 203d movs r0, #61 ; 0x3d 8094976: f7c0 fad9 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809497a: 496d ldr r1, [pc, #436] ; (8094b30 ) 809497c: f04f 30ff mov.w r0, #4294967295 8094980: f7bf fe46 bl 8054610 if((menupos == UpNo) || (menupos == UpYes)) 8094984: 4b70 ldr r3, [pc, #448] ; (8094b48 ) 8094986: 781b ldrb r3, [r3, #0] 8094988: b2db uxtb r3, r3 809498a: 2b06 cmp r3, #6 809498c: d004 beq.n 8094998 809498e: 4b6e ldr r3, [pc, #440] ; (8094b48 ) 8094990: 781b ldrb r3, [r3, #0] 8094992: b2db uxtb r3, r3 8094994: 2b07 cmp r3, #7 8094996: d172 bne.n 8094a7e if(pardata.LANG == RUS) 8094998: 4b6c ldr r3, [pc, #432] ; (8094b4c ) 809499a: 7b1b ldrb r3, [r3, #12] 809499c: b2db uxtb r3, r3 809499e: 2b00 cmp r3, #0 80949a0: d10f bne.n 80949c2 LCD_DisplayStringC(160, LCD_LINE_6, "Ôàéë áóäåò"); 80949a2: 4a6b ldr r2, [pc, #428] ; (8094b50 ) 80949a4: 216a movs r1, #106 ; 0x6a 80949a6: 20a0 movs r0, #160 ; 0xa0 80949a8: f7c0 fbf2 bl 8055190 LCD_DisplayStringC(160, LCD_LINE_7, "óäàëåí."); 80949ac: 4a69 ldr r2, [pc, #420] ; (8094b54 ) 80949ae: 217a movs r1, #122 ; 0x7a 80949b0: 20a0 movs r0, #160 ; 0xa0 80949b2: f7c0 fbed bl 8055190 LCD_DisplayStringC(160, LCD_LINE_8, "Ïðîäîëæèòü?"); 80949b6: 4a68 ldr r2, [pc, #416] ; (8094b58 ) 80949b8: 218a movs r1, #138 ; 0x8a 80949ba: 20a0 movs r0, #160 ; 0xa0 80949bc: f7c0 fbe8 bl 8055190 80949c0: e00e b.n 80949e0 LCD_DisplayStringC(160, LCD_LINE_6, "The selected file"); 80949c2: 4a66 ldr r2, [pc, #408] ; (8094b5c ) 80949c4: 216a movs r1, #106 ; 0x6a 80949c6: 20a0 movs r0, #160 ; 0xa0 80949c8: f7c0 fbe2 bl 8055190 LCD_DisplayStringC(160, LCD_LINE_7, "will be deleted."); 80949cc: 4a64 ldr r2, [pc, #400] ; (8094b60 ) 80949ce: 217a movs r1, #122 ; 0x7a 80949d0: 20a0 movs r0, #160 ; 0xa0 80949d2: f7c0 fbdd bl 8055190 LCD_DisplayStringC(160, LCD_LINE_8, "Continue?"); 80949d6: 4a63 ldr r2, [pc, #396] ; (8094b64 ) 80949d8: 218a movs r1, #138 ; 0x8a 80949da: 20a0 movs r0, #160 ; 0xa0 80949dc: f7c0 fbd8 bl 8055190 if(menupos == UpNo) 80949e0: 4b59 ldr r3, [pc, #356] ; (8094b48 ) 80949e2: 781b ldrb r3, [r3, #0] 80949e4: b2db uxtb r3, r3 80949e6: 2b06 cmp r3, #6 80949e8: d124 bne.n 8094a34 if(pardata.LANG == RUS) 80949ea: 4b58 ldr r3, [pc, #352] ; (8094b4c ) 80949ec: 7b1b ldrb r3, [r3, #12] 80949ee: b2db uxtb r3, r3 80949f0: 2b00 cmp r3, #0 80949f2: d10f bne.n 8094a14 LCD_DisplayString(210, 170, "Äà"); 80949f4: 4a5c ldr r2, [pc, #368] ; (8094b68 ) 80949f6: 21aa movs r1, #170 ; 0xaa 80949f8: 20d2 movs r0, #210 ; 0xd2 80949fa: f7c0 fbb1 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80949fe: 495b ldr r1, [pc, #364] ; (8094b6c ) 8094a00: f04f 30ff mov.w r0, #4294967295 8094a04: f7bf fe04 bl 8054610 LCD_DisplayString(70, 170, "Íåò"); 8094a08: 4a59 ldr r2, [pc, #356] ; (8094b70 ) 8094a0a: 21aa movs r1, #170 ; 0xaa 8094a0c: 2046 movs r0, #70 ; 0x46 8094a0e: f7c0 fba7 bl 8055160 if(menupos == UpNo) 8094a12: e08a b.n 8094b2a LCD_DisplayString(210, 170, "Yes"); 8094a14: 4a57 ldr r2, [pc, #348] ; (8094b74 ) 8094a16: 21aa movs r1, #170 ; 0xaa 8094a18: 20d2 movs r0, #210 ; 0xd2 8094a1a: f7c0 fba1 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094a1e: 4953 ldr r1, [pc, #332] ; (8094b6c ) 8094a20: f04f 30ff mov.w r0, #4294967295 8094a24: f7bf fdf4 bl 8054610 LCD_DisplayString(70, 170, "No"); 8094a28: 4a53 ldr r2, [pc, #332] ; (8094b78 ) 8094a2a: 21aa movs r1, #170 ; 0xaa 8094a2c: 2046 movs r0, #70 ; 0x46 8094a2e: f7c0 fb97 bl 8055160 if(menupos == UpNo) 8094a32: e07a b.n 8094b2a if(menupos == UpYes) 8094a34: 4b44 ldr r3, [pc, #272] ; (8094b48 ) 8094a36: 781b ldrb r3, [r3, #0] 8094a38: b2db uxtb r3, r3 8094a3a: 2b07 cmp r3, #7 8094a3c: d175 bne.n 8094b2a if(pardata.LANG == RUS) 8094a3e: 4b43 ldr r3, [pc, #268] ; (8094b4c ) 8094a40: 7b1b ldrb r3, [r3, #12] 8094a42: b2db uxtb r3, r3 8094a44: 2b00 cmp r3, #0 8094a46: d10f bne.n 8094a68 LCD_DisplayString(70, 170, "Íåò"); 8094a48: 4a49 ldr r2, [pc, #292] ; (8094b70 ) 8094a4a: 21aa movs r1, #170 ; 0xaa 8094a4c: 2046 movs r0, #70 ; 0x46 8094a4e: f7c0 fb87 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094a52: 4946 ldr r1, [pc, #280] ; (8094b6c ) 8094a54: f04f 30ff mov.w r0, #4294967295 8094a58: f7bf fdda bl 8054610 LCD_DisplayString(210, 170, "Äà"); 8094a5c: 4a42 ldr r2, [pc, #264] ; (8094b68 ) 8094a5e: 21aa movs r1, #170 ; 0xaa 8094a60: 20d2 movs r0, #210 ; 0xd2 8094a62: f7c0 fb7d bl 8055160 if(menupos == UpNo) 8094a66: e060 b.n 8094b2a LCD_DisplayString(70, 170, "No"); 8094a68: 4a43 ldr r2, [pc, #268] ; (8094b78 ) 8094a6a: 21aa movs r1, #170 ; 0xaa 8094a6c: 2046 movs r0, #70 ; 0x46 8094a6e: f7c0 fb77 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094a72: 493e ldr r1, [pc, #248] ; (8094b6c ) 8094a74: f04f 30ff mov.w r0, #4294967295 8094a78: f7bf fdca bl 8054610 if(menupos == UpNo) 8094a7c: e055 b.n 8094b2a if(menupos == CleanUpResult) 8094a7e: 4b32 ldr r3, [pc, #200] ; (8094b48 ) 8094a80: 781b ldrb r3, [r3, #0] 8094a82: b2db uxtb r3, r3 8094a84: 2b0a cmp r3, #10 8094a86: f043 85c8 bne.w 809861a if(CleanStatus == AP_OK) 8094a8a: 4b3c ldr r3, [pc, #240] ; (8094b7c ) 8094a8c: 781b ldrb r3, [r3, #0] 8094a8e: b2db uxtb r3, r3 8094a90: 2b00 cmp r3, #0 8094a92: d11f bne.n 8094ad4 if(pardata.LANG == RUS) 8094a94: 4b2d ldr r3, [pc, #180] ; (8094b4c ) 8094a96: 7b1b ldrb r3, [r3, #12] 8094a98: b2db uxtb r3, r3 8094a9a: 2b00 cmp r3, #0 8094a9c: d10f bne.n 8094abe LCD_DisplayStringC(160, LCD_LINE_6, "Óäàëåíèå"); 8094a9e: 4a38 ldr r2, [pc, #224] ; (8094b80 ) 8094aa0: 216a movs r1, #106 ; 0x6a 8094aa2: 20a0 movs r0, #160 ; 0xa0 8094aa4: f7c0 fb74 bl 8055190 LCD_DisplayStringC(160, LCD_LINE_7, "çàâåðøåíî"); 8094aa8: 4a36 ldr r2, [pc, #216] ; (8094b84 ) 8094aaa: 217a movs r1, #122 ; 0x7a 8094aac: 20a0 movs r0, #160 ; 0xa0 8094aae: f7c0 fb6f bl 8055190 LCD_DisplayStringC(160, LCD_LINE_8, "óñïåøíî!"); 8094ab2: 4a35 ldr r2, [pc, #212] ; (8094b88 ) 8094ab4: 218a movs r1, #138 ; 0x8a 8094ab6: 20a0 movs r0, #160 ; 0xa0 8094ab8: f7c0 fb6a bl 8055190 8094abc: e029 b.n 8094b12 LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 8094abe: 4a33 ldr r2, [pc, #204] ; (8094b8c ) 8094ac0: 216a movs r1, #106 ; 0x6a 8094ac2: 20a0 movs r0, #160 ; 0xa0 8094ac4: f7c0 fb64 bl 8055190 LCD_DisplayStringC(160, LCD_LINE_7, "successful!"); 8094ac8: 4a31 ldr r2, [pc, #196] ; (8094b90 ) 8094aca: 217a movs r1, #122 ; 0x7a 8094acc: 20a0 movs r0, #160 ; 0xa0 8094ace: f7c0 fb5f bl 8055190 8094ad2: e01e b.n 8094b12 if(pardata.LANG == RUS) 8094ad4: 4b1d ldr r3, [pc, #116] ; (8094b4c ) 8094ad6: 7b1b ldrb r3, [r3, #12] 8094ad8: b2db uxtb r3, r3 8094ada: 2b00 cmp r3, #0 8094adc: d10f bne.n 8094afe LCD_DisplayStringC(160, LCD_LINE_6, "Îøèáêà â"); 8094ade: 4a2d ldr r2, [pc, #180] ; (8094b94 ) 8094ae0: 216a movs r1, #106 ; 0x6a 8094ae2: 20a0 movs r0, #160 ; 0xa0 8094ae4: f7c0 fb54 bl 8055190 LCD_DisplayStringC(160, LCD_LINE_7, "ïðîöåññå"); 8094ae8: 4a2b ldr r2, [pc, #172] ; (8094b98 ) 8094aea: 217a movs r1, #122 ; 0x7a 8094aec: 20a0 movs r0, #160 ; 0xa0 8094aee: f7c0 fb4f bl 8055190 LCD_DisplayStringC(160, LCD_LINE_8, "óäàëåíèÿ..."); 8094af2: 4a2a ldr r2, [pc, #168] ; (8094b9c ) 8094af4: 218a movs r1, #138 ; 0x8a 8094af6: 20a0 movs r0, #160 ; 0xa0 8094af8: f7c0 fb4a bl 8055190 8094afc: e009 b.n 8094b12 LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 8094afe: 4a23 ldr r2, [pc, #140] ; (8094b8c ) 8094b00: 216a movs r1, #106 ; 0x6a 8094b02: 20a0 movs r0, #160 ; 0xa0 8094b04: f7c0 fb44 bl 8055190 LCD_DisplayStringC(160, LCD_LINE_7, "error!"); 8094b08: 4a25 ldr r2, [pc, #148] ; (8094ba0 ) 8094b0a: 217a movs r1, #122 ; 0x7a 8094b0c: 20a0 movs r0, #160 ; 0xa0 8094b0e: f7c0 fb3f bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094b12: 4916 ldr r1, [pc, #88] ; (8094b6c ) 8094b14: f04f 30ff mov.w r0, #4294967295 8094b18: f7bf fd7a bl 8054610 LCD_DisplayStringC(160, 170, "Ok"); 8094b1c: 4a21 ldr r2, [pc, #132] ; (8094ba4 ) 8094b1e: 21aa movs r1, #170 ; 0xaa 8094b20: 20a0 movs r0, #160 ; 0xa0 8094b22: f7c0 fb35 bl 8055190 break; 8094b26: f003 bd78 b.w 809861a if(menupos == UpNo) 8094b2a: bf00 nop break; 8094b2c: f003 bd75 b.w 809861a 8094b30: ff0a0f1f .word 0xff0a0f1f 8094b34: 080f3818 .word 0x080f3818 8094b38: 20020e1c .word 0x20020e1c 8094b3c: 20020e04 .word 0x20020e04 8094b40: 42c00000 .word 0x42c00000 8094b44: ffd3d3d3 .word 0xffd3d3d3 8094b48: 20020070 .word 0x20020070 8094b4c: 20023ea8 .word 0x20023ea8 8094b50: 080d4704 .word 0x080d4704 8094b54: 080d4710 .word 0x080d4710 8094b58: 080d4718 .word 0x080d4718 8094b5c: 080d4724 .word 0x080d4724 8094b60: 080d4738 .word 0x080d4738 8094b64: 080d474c .word 0x080d474c 8094b68: 080d3bc8 .word 0x080d3bc8 8094b6c: ff606060 .word 0xff606060 8094b70: 080d2a18 .word 0x080d2a18 8094b74: 080d4134 .word 0x080d4134 8094b78: 080d4138 .word 0x080d4138 8094b7c: 20020df0 .word 0x20020df0 8094b80: 080d4758 .word 0x080d4758 8094b84: 080d4764 .word 0x080d4764 8094b88: 080d4368 .word 0x080d4368 8094b8c: 080d4770 .word 0x080d4770 8094b90: 080d477c .word 0x080d477c 8094b94: 080d4788 .word 0x080d4788 8094b98: 080d4794 .word 0x080d4794 8094b9c: 080d460c .word 0x080d460c 8094ba0: 080d47a0 .word 0x080d47a0 8094ba4: 080d4214 .word 0x080d4214 case ARCHIVE_FRAN: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8094ba8: 4941 ldr r1, [pc, #260] ; (8094cb0 ) 8094baa: 4842 ldr r0, [pc, #264] ; (8094cb4 ) 8094bac: f7bf fd30 bl 8054610 BSP_LCD_DrawHLine(7, 52, 308); 8094bb0: f44f 729a mov.w r2, #308 ; 0x134 8094bb4: 2134 movs r1, #52 ; 0x34 8094bb6: 2007 movs r0, #7 8094bb8: f7bf fea4 bl 8054904 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8094bbc: 493c ldr r1, [pc, #240] ; (8094cb0 ) 8094bbe: 483e ldr r0, [pc, #248] ; (8094cb8 ) 8094bc0: f7bf fd26 bl 8054610 if(pardata.LANG == RUS) 8094bc4: 4b3d ldr r3, [pc, #244] ; (8094cbc ) 8094bc6: 7b1b ldrb r3, [r3, #12] 8094bc8: b2db uxtb r3, r3 8094bca: 2b00 cmp r3, #0 8094bcc: d105 bne.n 8094bda LCD_DisplayString(7, LCD_LINE_2, "..|Îòêðûòü ôàéë"); 8094bce: 4a3c ldr r2, [pc, #240] ; (8094cc0 ) 8094bd0: 2127 movs r1, #39 ; 0x27 8094bd2: 2007 movs r0, #7 8094bd4: f7c0 fac4 bl 8055160 8094bd8: e004 b.n 8094be4 else LCD_DisplayString(7, LCD_LINE_2, "..|Open file"); 8094bda: 4a3a ldr r2, [pc, #232] ; (8094cc4 ) 8094bdc: 2127 movs r1, #39 ; 0x27 8094bde: 2007 movs r0, #7 8094be0: f7c0 fabe bl 8055160 if(pardata.LANG == RUS) 8094be4: 4b35 ldr r3, [pc, #212] ; (8094cbc ) 8094be6: 7b1b ldrb r3, [r3, #12] 8094be8: b2db uxtb r3, r3 8094bea: 2b00 cmp r3, #0 8094bec: d105 bne.n 8094bfa DrawImage(&bmLEGEND_CLEAN, 0, 65); 8094bee: 2241 movs r2, #65 ; 0x41 8094bf0: 2100 movs r1, #0 8094bf2: 4835 ldr r0, [pc, #212] ; (8094cc8 ) 8094bf4: f7c0 fc00 bl 80553f8 8094bf8: e004 b.n 8094c04 else DrawImage(&bmLEGEND_CLEAN_ENG, 0, 65); 8094bfa: 2241 movs r2, #65 ; 0x41 8094bfc: 2100 movs r1, #0 8094bfe: 4833 ldr r0, [pc, #204] ; (8094ccc ) 8094c00: f7c0 fbfa bl 80553f8 if(menupos == NoFilesFRAN) 8094c04: 4b32 ldr r3, [pc, #200] ; (8094cd0 ) 8094c06: 781b ldrb r3, [r3, #0] 8094c08: b2db uxtb r3, r3 8094c0a: 2b01 cmp r3, #1 8094c0c: d117 bne.n 8094c3e { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094c0e: 4928 ldr r1, [pc, #160] ; (8094cb0 ) 8094c10: f04f 30ff mov.w r0, #4294967295 8094c14: f7bf fcfc bl 8054610 if(pardata.LANG == RUS) 8094c18: 4b28 ldr r3, [pc, #160] ; (8094cbc ) 8094c1a: 7b1b ldrb r3, [r3, #12] 8094c1c: b2db uxtb r3, r3 8094c1e: 2b00 cmp r3, #0 8094c20: d106 bne.n 8094c30 LCD_DisplayStringC(160, LCD_LINE_8, "Ôàéëû îòñóòñòâóþò."); 8094c22: 4a2c ldr r2, [pc, #176] ; (8094cd4 ) 8094c24: 218a movs r1, #138 ; 0x8a 8094c26: 20a0 movs r0, #160 ; 0xa0 8094c28: f7c0 fab2 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); LCD_DisplayStringC(160, 170, "Ok"); } } } break; 8094c2c: f003 bcf7 b.w 809861e else LCD_DisplayStringC(160, LCD_LINE_8, "No files..."); 8094c30: 4a29 ldr r2, [pc, #164] ; (8094cd8 ) 8094c32: 218a movs r1, #138 ; 0x8a 8094c34: 20a0 movs r0, #160 ; 0xa0 8094c36: f7c0 faab bl 8055190 break; 8094c3a: f003 bcf0 b.w 809861e if((menupos == FilesFRAN) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 8094c3e: 4b24 ldr r3, [pc, #144] ; (8094cd0 ) 8094c40: 781b ldrb r3, [r3, #0] 8094c42: b2db uxtb r3, r3 8094c44: 2b02 cmp r3, #2 8094c46: d00f beq.n 8094c68 8094c48: 4b21 ldr r3, [pc, #132] ; (8094cd0 ) 8094c4a: 781b ldrb r3, [r3, #0] 8094c4c: b2db uxtb r3, r3 8094c4e: 2b06 cmp r3, #6 8094c50: d00a beq.n 8094c68 8094c52: 4b1f ldr r3, [pc, #124] ; (8094cd0 ) 8094c54: 781b ldrb r3, [r3, #0] 8094c56: b2db uxtb r3, r3 8094c58: 2b07 cmp r3, #7 8094c5a: d005 beq.n 8094c68 8094c5c: 4b1c ldr r3, [pc, #112] ; (8094cd0 ) 8094c5e: 781b ldrb r3, [r3, #0] 8094c60: b2db uxtb r3, r3 8094c62: 2b0a cmp r3, #10 8094c64: f043 84db bne.w 809861e BSP_LCD_SetFont(&Font12); 8094c68: 481c ldr r0, [pc, #112] ; (8094cdc ) 8094c6a: f7bf fd0d bl 8054688 for(i = 0; i < VIEW_FILES; i++) 8094c6e: 2300 movs r3, #0 8094c70: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8094c74: e19c b.n 8094fb0 if(CursorIndex == i) 8094c76: 4b1a ldr r3, [pc, #104] ; (8094ce0 ) 8094c78: 681a ldr r2, [r3, #0] 8094c7a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094c7e: 429a cmp r2, r3 8094c80: d136 bne.n 8094cf0 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8094c82: 4918 ldr r1, [pc, #96] ; (8094ce4 ) 8094c84: 4817 ldr r0, [pc, #92] ; (8094ce4 ) 8094c86: f7bf fcc3 bl 8054610 BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 8094c8a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094c8e: 4a16 ldr r2, [pc, #88] ; (8094ce8 ) 8094c90: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8094c94: 4b15 ldr r3, [pc, #84] ; (8094cec ) 8094c96: 681b ldr r3, [r3, #0] 8094c98: 88db ldrh r3, [r3, #6] 8094c9a: f44f 729c mov.w r2, #312 ; 0x138 8094c9e: 2003 movs r0, #3 8094ca0: f7c0 f944 bl 8054f2c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_CURSOR); 8094ca4: 490f ldr r1, [pc, #60] ; (8094ce4 ) 8094ca6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8094caa: f7bf fcb1 bl 8054610 8094cae: e024 b.n 8094cfa 8094cb0: ff0a0f1f .word 0xff0a0f1f 8094cb4: ffd3d3d3 .word 0xffd3d3d3 8094cb8: ff808080 .word 0xff808080 8094cbc: 20023ea8 .word 0x20023ea8 8094cc0: 080d46c4 .word 0x080d46c4 8094cc4: 080d46d4 .word 0x080d46d4 8094cc8: 0811c34c .word 0x0811c34c 8094ccc: 0811f558 .word 0x0811f558 8094cd0: 20020070 .word 0x20020070 8094cd4: 080d46e4 .word 0x080d46e4 8094cd8: 080d46f8 .word 0x080d46f8 8094cdc: 20020038 .word 0x20020038 8094ce0: 20020e00 .word 0x20020e00 8094ce4: ff606060 .word 0xff606060 8094ce8: 080f3818 .word 0x080f3818 8094cec: 20025d6c .word 0x20025d6c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8094cf0: 499e ldr r1, [pc, #632] ; (8094f6c ) 8094cf2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8094cf6: f7bf fc8b bl 8054610 if(ExplorerFiles[i].fname[0] != 0) 8094cfa: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8094cfe: 499c ldr r1, [pc, #624] ; (8094f70 ) 8094d00: 4613 mov r3, r2 8094d02: 00db lsls r3, r3, #3 8094d04: 1a9b subs r3, r3, r2 8094d06: 00db lsls r3, r3, #3 8094d08: 440b add r3, r1 8094d0a: 330c adds r3, #12 8094d0c: 781b ldrb r3, [r3, #0] 8094d0e: 2b00 cmp r3, #0 8094d10: f000 8149 beq.w 8094fa6 BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8094d14: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094d18: 4a96 ldr r2, [pc, #600] ; (8094f74 ) 8094d1a: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8094d1e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8094d22: 4613 mov r3, r2 8094d24: 00db lsls r3, r3, #3 8094d26: 1a9b subs r3, r3, r2 8094d28: 00db lsls r3, r3, #3 8094d2a: 3308 adds r3, #8 8094d2c: 4a90 ldr r2, [pc, #576] ; (8094f70 ) 8094d2e: 4413 add r3, r2 8094d30: 1d1a adds r2, r3, #4 8094d32: 2303 movs r3, #3 8094d34: 2005 movs r0, #5 8094d36: f7bf fd31 bl 805479c k = 0; 8094d3a: 2300 movs r3, #0 8094d3c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 8094d40: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8094d44: 498a ldr r1, [pc, #552] ; (8094f70 ) 8094d46: 4613 mov r3, r2 8094d48: 00db lsls r3, r3, #3 8094d4a: 1a9b subs r3, r3, r2 8094d4c: 00db lsls r3, r3, #3 8094d4e: 440b add r3, r1 8094d50: 3308 adds r3, #8 8094d52: 681a ldr r2, [r3, #0] 8094d54: f107 030c add.w r3, r7, #12 8094d58: 4611 mov r1, r2 8094d5a: 4618 mov r0, r3 8094d5c: f7d3 fb46 bl 80683ec str1[k++] = (FatTime.Date / 10) + 48; 8094d60: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094d64: 1c5a adds r2, r3, #1 8094d66: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094d6a: f107 020c add.w r2, r7, #12 8094d6e: 7852 ldrb r2, [r2, #1] 8094d70: 4981 ldr r1, [pc, #516] ; (8094f78 ) 8094d72: fba1 1202 umull r1, r2, r1, r2 8094d76: 08d2 lsrs r2, r2, #3 8094d78: b2d2 uxtb r2, r2 8094d7a: 3230 adds r2, #48 ; 0x30 8094d7c: b2d1 uxtb r1, r2 8094d7e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094d82: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8094d84: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8094d88: 1c53 adds r3, r2, #1 8094d8a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094d8e: f107 030c add.w r3, r7, #12 8094d92: 7859 ldrb r1, [r3, #1] 8094d94: 4b78 ldr r3, [pc, #480] ; (8094f78 ) 8094d96: fba3 0301 umull r0, r3, r3, r1 8094d9a: 08d8 lsrs r0, r3, #3 8094d9c: 4603 mov r3, r0 8094d9e: 009b lsls r3, r3, #2 8094da0: 4403 add r3, r0 8094da2: 005b lsls r3, r3, #1 8094da4: 1acb subs r3, r1, r3 8094da6: b2db uxtb r3, r3 8094da8: 3330 adds r3, #48 ; 0x30 8094daa: b2d9 uxtb r1, r3 8094dac: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094db0: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8094db2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094db6: 1c5a adds r2, r3, #1 8094db8: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094dbc: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094dc0: 212e movs r1, #46 ; 0x2e 8094dc2: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 8094dc4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094dc8: 1c5a adds r2, r3, #1 8094dca: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094dce: f107 020c add.w r2, r7, #12 8094dd2: 7812 ldrb r2, [r2, #0] 8094dd4: 4968 ldr r1, [pc, #416] ; (8094f78 ) 8094dd6: fba1 1202 umull r1, r2, r1, r2 8094dda: 08d2 lsrs r2, r2, #3 8094ddc: b2d2 uxtb r2, r2 8094dde: 3230 adds r2, #48 ; 0x30 8094de0: b2d1 uxtb r1, r2 8094de2: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094de6: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 8094de8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8094dec: 1c53 adds r3, r2, #1 8094dee: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094df2: f107 030c add.w r3, r7, #12 8094df6: 7819 ldrb r1, [r3, #0] 8094df8: 4b5f ldr r3, [pc, #380] ; (8094f78 ) 8094dfa: fba3 0301 umull r0, r3, r3, r1 8094dfe: 08d8 lsrs r0, r3, #3 8094e00: 4603 mov r3, r0 8094e02: 009b lsls r3, r3, #2 8094e04: 4403 add r3, r0 8094e06: 005b lsls r3, r3, #1 8094e08: 1acb subs r3, r1, r3 8094e0a: b2db uxtb r3, r3 8094e0c: 3330 adds r3, #48 ; 0x30 8094e0e: b2d9 uxtb r1, r3 8094e10: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094e14: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8094e16: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094e1a: 1c5a adds r2, r3, #1 8094e1c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094e20: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094e24: 212e movs r1, #46 ; 0x2e 8094e26: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 8094e28: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094e2c: 1c5a adds r2, r3, #1 8094e2e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094e32: f107 020c add.w r2, r7, #12 8094e36: 7892 ldrb r2, [r2, #2] 8094e38: 494f ldr r1, [pc, #316] ; (8094f78 ) 8094e3a: fba1 1202 umull r1, r2, r1, r2 8094e3e: 08d2 lsrs r2, r2, #3 8094e40: b2d2 uxtb r2, r2 8094e42: 3230 adds r2, #48 ; 0x30 8094e44: b2d1 uxtb r1, r2 8094e46: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094e4a: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 8094e4c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8094e50: 1c53 adds r3, r2, #1 8094e52: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094e56: f107 030c add.w r3, r7, #12 8094e5a: 7899 ldrb r1, [r3, #2] 8094e5c: 4b46 ldr r3, [pc, #280] ; (8094f78 ) 8094e5e: fba3 0301 umull r0, r3, r3, r1 8094e62: 08d8 lsrs r0, r3, #3 8094e64: 4603 mov r3, r0 8094e66: 009b lsls r3, r3, #2 8094e68: 4403 add r3, r0 8094e6a: 005b lsls r3, r3, #1 8094e6c: 1acb subs r3, r1, r3 8094e6e: b2db uxtb r3, r3 8094e70: 3330 adds r3, #48 ; 0x30 8094e72: b2d9 uxtb r1, r3 8094e74: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094e78: 5499 strb r1, [r3, r2] str1[k++] = ' '; 8094e7a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094e7e: 1c5a adds r2, r3, #1 8094e80: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094e84: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094e88: 2120 movs r1, #32 8094e8a: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 8094e8c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094e90: 1c5a adds r2, r3, #1 8094e92: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094e96: f107 020c add.w r2, r7, #12 8094e9a: 78d2 ldrb r2, [r2, #3] 8094e9c: 4936 ldr r1, [pc, #216] ; (8094f78 ) 8094e9e: fba1 1202 umull r1, r2, r1, r2 8094ea2: 08d2 lsrs r2, r2, #3 8094ea4: b2d2 uxtb r2, r2 8094ea6: 3230 adds r2, #48 ; 0x30 8094ea8: b2d1 uxtb r1, r2 8094eaa: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094eae: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 8094eb0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8094eb4: 1c53 adds r3, r2, #1 8094eb6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094eba: f107 030c add.w r3, r7, #12 8094ebe: 78d9 ldrb r1, [r3, #3] 8094ec0: 4b2d ldr r3, [pc, #180] ; (8094f78 ) 8094ec2: fba3 0301 umull r0, r3, r3, r1 8094ec6: 08d8 lsrs r0, r3, #3 8094ec8: 4603 mov r3, r0 8094eca: 009b lsls r3, r3, #2 8094ecc: 4403 add r3, r0 8094ece: 005b lsls r3, r3, #1 8094ed0: 1acb subs r3, r1, r3 8094ed2: b2db uxtb r3, r3 8094ed4: 3330 adds r3, #48 ; 0x30 8094ed6: b2d9 uxtb r1, r3 8094ed8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094edc: 5499 strb r1, [r3, r2] str1[k++] = ':'; 8094ede: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094ee2: 1c5a adds r2, r3, #1 8094ee4: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094ee8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094eec: 213a movs r1, #58 ; 0x3a 8094eee: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 8094ef0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094ef4: 1c5a adds r2, r3, #1 8094ef6: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094efa: f107 020c add.w r2, r7, #12 8094efe: 7912 ldrb r2, [r2, #4] 8094f00: 491d ldr r1, [pc, #116] ; (8094f78 ) 8094f02: fba1 1202 umull r1, r2, r1, r2 8094f06: 08d2 lsrs r2, r2, #3 8094f08: b2d2 uxtb r2, r2 8094f0a: 3230 adds r2, #48 ; 0x30 8094f0c: b2d1 uxtb r1, r2 8094f0e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094f12: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 8094f14: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8094f18: 1c53 adds r3, r2, #1 8094f1a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094f1e: f107 030c add.w r3, r7, #12 8094f22: 7919 ldrb r1, [r3, #4] 8094f24: 4b14 ldr r3, [pc, #80] ; (8094f78 ) 8094f26: fba3 0301 umull r0, r3, r3, r1 8094f2a: 08d8 lsrs r0, r3, #3 8094f2c: 4603 mov r3, r0 8094f2e: 009b lsls r3, r3, #2 8094f30: 4403 add r3, r0 8094f32: 005b lsls r3, r3, #1 8094f34: 1acb subs r3, r1, r3 8094f36: b2db uxtb r3, r3 8094f38: 3330 adds r3, #48 ; 0x30 8094f3a: b2d9 uxtb r1, r3 8094f3c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094f40: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 8094f42: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094f46: 1c5a adds r2, r3, #1 8094f48: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094f4c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094f50: 2100 movs r1, #0 8094f52: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8094f54: 4b09 ldr r3, [pc, #36] ; (8094f7c ) 8094f56: 681a ldr r2, [r3, #0] 8094f58: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094f5c: 429a cmp r2, r3 8094f5e: d111 bne.n 8094f84 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094f60: 4907 ldr r1, [pc, #28] ; (8094f80 ) 8094f62: f04f 30ff mov.w r0, #4294967295 8094f66: f7bf fb53 bl 8054610 8094f6a: e010 b.n 8094f8e 8094f6c: ff0a0f1f .word 0xff0a0f1f 8094f70: 20022398 .word 0x20022398 8094f74: 080f3818 .word 0x080f3818 8094f78: cccccccd .word 0xcccccccd 8094f7c: 20020e00 .word 0x20020e00 8094f80: ff606060 .word 0xff606060 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094f84: 49c2 ldr r1, [pc, #776] ; (8095290 ) 8094f86: f04f 30ff mov.w r0, #4294967295 8094f8a: f7bf fb41 bl 8054610 BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8094f8e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094f92: 4ac0 ldr r2, [pc, #768] ; (8095294 ) 8094f94: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8094f98: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094f9c: 2302 movs r3, #2 8094f9e: f44f 709c mov.w r0, #312 ; 0x138 8094fa2: f7bf fbfb bl 805479c for(i = 0; i < VIEW_FILES; i++) 8094fa6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094faa: 3301 adds r3, #1 8094fac: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8094fb0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094fb4: 2b0b cmp r3, #11 8094fb6: f67f ae5e bls.w 8094c76 if(NumFilesFRAN > VIEW_FILES) 8094fba: 4bb7 ldr r3, [pc, #732] ; (8095298 ) 8094fbc: 681b ldr r3, [r3, #0] 8094fbe: 2b0c cmp r3, #12 8094fc0: d95f bls.n 8095082 k = (140 * VIEW_FILES) / NumFilesFRAN; //äëèíà ïîëçóíêà 8094fc2: 4bb5 ldr r3, [pc, #724] ; (8095298 ) 8094fc4: 681b ldr r3, [r3, #0] 8094fc6: f44f 62d2 mov.w r2, #1680 ; 0x690 8094fca: fbb2 f3f3 udiv r3, r2, r3 8094fce: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8094fd2: 4bb2 ldr r3, [pc, #712] ; (809529c ) 8094fd4: 681b ldr r3, [r3, #0] 8094fd6: 228c movs r2, #140 ; 0x8c 8094fd8: fb02 f303 mul.w r3, r2, r3 8094fdc: ee07 3a90 vmov s15, r3 8094fe0: eef8 7a67 vcvt.f32.u32 s15, s15 8094fe4: f507 638b add.w r3, r7, #1112 ; 0x458 8094fe8: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesFRAN) + 96.0f; 8094fec: 4baa ldr r3, [pc, #680] ; (8095298 ) 8094fee: 681b ldr r3, [r3, #0] 8094ff0: ee07 3a90 vmov s15, r3 8094ff4: eeb8 7a67 vcvt.f32.u32 s14, s15 8094ff8: f507 638b add.w r3, r7, #1112 ; 0x458 8094ffc: edd3 6a00 vldr s13, [r3] 8095000: eec6 7a87 vdiv.f32 s15, s13, s14 8095004: ed9f 7aa6 vldr s14, [pc, #664] ; 80952a0 8095008: ee77 7a87 vadd.f32 s15, s15, s14 809500c: f507 638b add.w r3, r7, #1112 ; 0x458 8095010: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8095014: f507 638b add.w r3, r7, #1112 ; 0x458 8095018: edd3 7a00 vldr s15, [r3] 809501c: eefc 7ae7 vcvt.u32.f32 s15, s15 8095020: edc7 7a01 vstr s15, [r7, #4] 8095024: 88bb ldrh r3, [r7, #4] 8095026: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 809502a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809502e: b29a uxth r2, r3 8095030: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8095034: 4413 add r3, r2 8095036: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 809503a: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 809503e: 2bec cmp r3, #236 ; 0xec 8095040: d905 bls.n 809504e k = 236 - y0; 8095042: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8095046: f1c3 03ec rsb r3, r3, #236 ; 0xec 809504a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809504e: 4990 ldr r1, [pc, #576] ; (8095290 ) 8095050: 4894 ldr r0, [pc, #592] ; (80952a4 ) 8095052: f7bf fadd bl 8054610 BSP_LCD_DrawRect(314, 94, 5, 143); 8095056: 238f movs r3, #143 ; 0x8f 8095058: 2205 movs r2, #5 809505a: 215e movs r1, #94 ; 0x5e 809505c: f44f 709d mov.w r0, #314 ; 0x13a 8095060: f7bf fddc bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095064: 498a ldr r1, [pc, #552] ; (8095290 ) 8095066: f04f 30ff mov.w r0, #4294967295 809506a: f7bf fad1 bl 8054610 BSP_LCD_FillRect(316, y0, 2, k); 809506e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095072: b29b uxth r3, r3 8095074: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8095078: 2202 movs r2, #2 809507a: f44f 709e mov.w r0, #316 ; 0x13c 809507e: f7bf ff55 bl 8054f2c if((menupos != NoFilesFRAN) && (menupos != FilesFRAN)) 8095082: 4b89 ldr r3, [pc, #548] ; (80952a8 ) 8095084: 781b ldrb r3, [r3, #0] 8095086: b2db uxtb r3, r3 8095088: 2b01 cmp r3, #1 809508a: f003 82c8 beq.w 809861e 809508e: 4b86 ldr r3, [pc, #536] ; (80952a8 ) 8095090: 781b ldrb r3, [r3, #0] 8095092: b2db uxtb r3, r3 8095094: 2b02 cmp r3, #2 8095096: f003 82c2 beq.w 809861e LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809509a: 497d ldr r1, [pc, #500] ; (8095290 ) 809509c: 4881 ldr r0, [pc, #516] ; (80952a4 ) 809509e: f7bf fab7 bl 8054610 BSP_LCD_FillRect(60, 73, 200, 124); 80950a2: 237c movs r3, #124 ; 0x7c 80950a4: 22c8 movs r2, #200 ; 0xc8 80950a6: 2149 movs r1, #73 ; 0x49 80950a8: 203c movs r0, #60 ; 0x3c 80950aa: f7bf ff3f bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80950ae: 4978 ldr r1, [pc, #480] ; (8095290 ) 80950b0: 4877 ldr r0, [pc, #476] ; (8095290 ) 80950b2: f7bf faad bl 8054610 BSP_LCD_FillRect(61, 74, 198, 122); 80950b6: 237a movs r3, #122 ; 0x7a 80950b8: 22c6 movs r2, #198 ; 0xc6 80950ba: 214a movs r1, #74 ; 0x4a 80950bc: 203d movs r0, #61 ; 0x3d 80950be: f7bf ff35 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80950c2: 4973 ldr r1, [pc, #460] ; (8095290 ) 80950c4: f04f 30ff mov.w r0, #4294967295 80950c8: f7bf faa2 bl 8054610 if((menupos == UpNo) || (menupos == UpYes)) 80950cc: 4b76 ldr r3, [pc, #472] ; (80952a8 ) 80950ce: 781b ldrb r3, [r3, #0] 80950d0: b2db uxtb r3, r3 80950d2: 2b06 cmp r3, #6 80950d4: d004 beq.n 80950e0 80950d6: 4b74 ldr r3, [pc, #464] ; (80952a8 ) 80950d8: 781b ldrb r3, [r3, #0] 80950da: b2db uxtb r3, r3 80950dc: 2b07 cmp r3, #7 80950de: d172 bne.n 80951c6 if(pardata.LANG == RUS) 80950e0: 4b72 ldr r3, [pc, #456] ; (80952ac ) 80950e2: 7b1b ldrb r3, [r3, #12] 80950e4: b2db uxtb r3, r3 80950e6: 2b00 cmp r3, #0 80950e8: d10f bne.n 809510a LCD_DisplayStringC(160, LCD_LINE_6, "Ôàéë áóäåò"); 80950ea: 4a71 ldr r2, [pc, #452] ; (80952b0 ) 80950ec: 216a movs r1, #106 ; 0x6a 80950ee: 20a0 movs r0, #160 ; 0xa0 80950f0: f7c0 f84e bl 8055190 LCD_DisplayStringC(160, LCD_LINE_7, "óäàëåí."); 80950f4: 4a6f ldr r2, [pc, #444] ; (80952b4 ) 80950f6: 217a movs r1, #122 ; 0x7a 80950f8: 20a0 movs r0, #160 ; 0xa0 80950fa: f7c0 f849 bl 8055190 LCD_DisplayStringC(160, LCD_LINE_8, "Ïðîäîëæèòü?"); 80950fe: 4a6e ldr r2, [pc, #440] ; (80952b8 ) 8095100: 218a movs r1, #138 ; 0x8a 8095102: 20a0 movs r0, #160 ; 0xa0 8095104: f7c0 f844 bl 8055190 8095108: e00e b.n 8095128 LCD_DisplayStringC(160, LCD_LINE_6, "The selected file"); 809510a: 4a6c ldr r2, [pc, #432] ; (80952bc ) 809510c: 216a movs r1, #106 ; 0x6a 809510e: 20a0 movs r0, #160 ; 0xa0 8095110: f7c0 f83e bl 8055190 LCD_DisplayStringC(160, LCD_LINE_7, "will be deleted."); 8095114: 4a6a ldr r2, [pc, #424] ; (80952c0 ) 8095116: 217a movs r1, #122 ; 0x7a 8095118: 20a0 movs r0, #160 ; 0xa0 809511a: f7c0 f839 bl 8055190 LCD_DisplayStringC(160, LCD_LINE_8, "Continue?"); 809511e: 4a69 ldr r2, [pc, #420] ; (80952c4 ) 8095120: 218a movs r1, #138 ; 0x8a 8095122: 20a0 movs r0, #160 ; 0xa0 8095124: f7c0 f834 bl 8055190 if(menupos == UpNo) 8095128: 4b5f ldr r3, [pc, #380] ; (80952a8 ) 809512a: 781b ldrb r3, [r3, #0] 809512c: b2db uxtb r3, r3 809512e: 2b06 cmp r3, #6 8095130: d124 bne.n 809517c if(pardata.LANG == RUS) 8095132: 4b5e ldr r3, [pc, #376] ; (80952ac ) 8095134: 7b1b ldrb r3, [r3, #12] 8095136: b2db uxtb r3, r3 8095138: 2b00 cmp r3, #0 809513a: d10f bne.n 809515c LCD_DisplayString(210, 170, "Äà"); 809513c: 4a62 ldr r2, [pc, #392] ; (80952c8 ) 809513e: 21aa movs r1, #170 ; 0xaa 8095140: 20d2 movs r0, #210 ; 0xd2 8095142: f7c0 f80d bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095146: 4961 ldr r1, [pc, #388] ; (80952cc ) 8095148: f04f 30ff mov.w r0, #4294967295 809514c: f7bf fa60 bl 8054610 LCD_DisplayString(70, 170, "Íåò"); 8095150: 4a5f ldr r2, [pc, #380] ; (80952d0 ) 8095152: 21aa movs r1, #170 ; 0xaa 8095154: 2046 movs r0, #70 ; 0x46 8095156: f7c0 f803 bl 8055160 if(menupos == UpNo) 809515a: e08a b.n 8095272 LCD_DisplayString(210, 170, "Yes"); 809515c: 4a5d ldr r2, [pc, #372] ; (80952d4 ) 809515e: 21aa movs r1, #170 ; 0xaa 8095160: 20d2 movs r0, #210 ; 0xd2 8095162: f7bf fffd bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095166: 4959 ldr r1, [pc, #356] ; (80952cc ) 8095168: f04f 30ff mov.w r0, #4294967295 809516c: f7bf fa50 bl 8054610 LCD_DisplayString(70, 170, "No"); 8095170: 4a59 ldr r2, [pc, #356] ; (80952d8 ) 8095172: 21aa movs r1, #170 ; 0xaa 8095174: 2046 movs r0, #70 ; 0x46 8095176: f7bf fff3 bl 8055160 if(menupos == UpNo) 809517a: e07a b.n 8095272 if(menupos == UpYes) 809517c: 4b4a ldr r3, [pc, #296] ; (80952a8 ) 809517e: 781b ldrb r3, [r3, #0] 8095180: b2db uxtb r3, r3 8095182: 2b07 cmp r3, #7 8095184: d175 bne.n 8095272 if(pardata.LANG == RUS) 8095186: 4b49 ldr r3, [pc, #292] ; (80952ac ) 8095188: 7b1b ldrb r3, [r3, #12] 809518a: b2db uxtb r3, r3 809518c: 2b00 cmp r3, #0 809518e: d10f bne.n 80951b0 LCD_DisplayString(70, 170, "Íåò"); 8095190: 4a4f ldr r2, [pc, #316] ; (80952d0 ) 8095192: 21aa movs r1, #170 ; 0xaa 8095194: 2046 movs r0, #70 ; 0x46 8095196: f7bf ffe3 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809519a: 494c ldr r1, [pc, #304] ; (80952cc ) 809519c: f04f 30ff mov.w r0, #4294967295 80951a0: f7bf fa36 bl 8054610 LCD_DisplayString(210, 170, "Äà"); 80951a4: 4a48 ldr r2, [pc, #288] ; (80952c8 ) 80951a6: 21aa movs r1, #170 ; 0xaa 80951a8: 20d2 movs r0, #210 ; 0xd2 80951aa: f7bf ffd9 bl 8055160 if(menupos == UpNo) 80951ae: e060 b.n 8095272 LCD_DisplayString(70, 170, "No"); 80951b0: 4a49 ldr r2, [pc, #292] ; (80952d8 ) 80951b2: 21aa movs r1, #170 ; 0xaa 80951b4: 2046 movs r0, #70 ; 0x46 80951b6: f7bf ffd3 bl 8055160 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80951ba: 4944 ldr r1, [pc, #272] ; (80952cc ) 80951bc: f04f 30ff mov.w r0, #4294967295 80951c0: f7bf fa26 bl 8054610 if(menupos == UpNo) 80951c4: e055 b.n 8095272 if(menupos == CleanUpResult) 80951c6: 4b38 ldr r3, [pc, #224] ; (80952a8 ) 80951c8: 781b ldrb r3, [r3, #0] 80951ca: b2db uxtb r3, r3 80951cc: 2b0a cmp r3, #10 80951ce: f043 8226 bne.w 809861e if(CleanStatus == AP_OK) 80951d2: 4b42 ldr r3, [pc, #264] ; (80952dc ) 80951d4: 781b ldrb r3, [r3, #0] 80951d6: b2db uxtb r3, r3 80951d8: 2b00 cmp r3, #0 80951da: d11f bne.n 809521c if(pardata.LANG == RUS) 80951dc: 4b33 ldr r3, [pc, #204] ; (80952ac ) 80951de: 7b1b ldrb r3, [r3, #12] 80951e0: b2db uxtb r3, r3 80951e2: 2b00 cmp r3, #0 80951e4: d10f bne.n 8095206 LCD_DisplayStringC(160, LCD_LINE_6, "Óäàëåíèå"); 80951e6: 4a3e ldr r2, [pc, #248] ; (80952e0 ) 80951e8: 216a movs r1, #106 ; 0x6a 80951ea: 20a0 movs r0, #160 ; 0xa0 80951ec: f7bf ffd0 bl 8055190 LCD_DisplayStringC(160, LCD_LINE_7, "çàâåðøåíî"); 80951f0: 4a3c ldr r2, [pc, #240] ; (80952e4 ) 80951f2: 217a movs r1, #122 ; 0x7a 80951f4: 20a0 movs r0, #160 ; 0xa0 80951f6: f7bf ffcb bl 8055190 LCD_DisplayStringC(160, LCD_LINE_8, "óñïåøíî!"); 80951fa: 4a3b ldr r2, [pc, #236] ; (80952e8 ) 80951fc: 218a movs r1, #138 ; 0x8a 80951fe: 20a0 movs r0, #160 ; 0xa0 8095200: f7bf ffc6 bl 8055190 8095204: e029 b.n 809525a LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 8095206: 4a39 ldr r2, [pc, #228] ; (80952ec ) 8095208: 216a movs r1, #106 ; 0x6a 809520a: 20a0 movs r0, #160 ; 0xa0 809520c: f7bf ffc0 bl 8055190 LCD_DisplayStringC(160, LCD_LINE_7, "successful!"); 8095210: 4a37 ldr r2, [pc, #220] ; (80952f0 ) 8095212: 217a movs r1, #122 ; 0x7a 8095214: 20a0 movs r0, #160 ; 0xa0 8095216: f7bf ffbb bl 8055190 809521a: e01e b.n 809525a if(pardata.LANG == RUS) 809521c: 4b23 ldr r3, [pc, #140] ; (80952ac ) 809521e: 7b1b ldrb r3, [r3, #12] 8095220: b2db uxtb r3, r3 8095222: 2b00 cmp r3, #0 8095224: d10f bne.n 8095246 LCD_DisplayStringC(160, LCD_LINE_6, "Îøèáêà â"); 8095226: 4a33 ldr r2, [pc, #204] ; (80952f4 ) 8095228: 216a movs r1, #106 ; 0x6a 809522a: 20a0 movs r0, #160 ; 0xa0 809522c: f7bf ffb0 bl 8055190 LCD_DisplayStringC(160, LCD_LINE_7, "ïðîöåññå"); 8095230: 4a31 ldr r2, [pc, #196] ; (80952f8 ) 8095232: 217a movs r1, #122 ; 0x7a 8095234: 20a0 movs r0, #160 ; 0xa0 8095236: f7bf ffab bl 8055190 LCD_DisplayStringC(160, LCD_LINE_8, "óäàëåíèÿ..."); 809523a: 4a30 ldr r2, [pc, #192] ; (80952fc ) 809523c: 218a movs r1, #138 ; 0x8a 809523e: 20a0 movs r0, #160 ; 0xa0 8095240: f7bf ffa6 bl 8055190 8095244: e009 b.n 809525a LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 8095246: 4a29 ldr r2, [pc, #164] ; (80952ec ) 8095248: 216a movs r1, #106 ; 0x6a 809524a: 20a0 movs r0, #160 ; 0xa0 809524c: f7bf ffa0 bl 8055190 LCD_DisplayStringC(160, LCD_LINE_7, "error!"); 8095250: 4a2b ldr r2, [pc, #172] ; (8095300 ) 8095252: 217a movs r1, #122 ; 0x7a 8095254: 20a0 movs r0, #160 ; 0xa0 8095256: f7bf ff9b bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809525a: 491c ldr r1, [pc, #112] ; (80952cc ) 809525c: f04f 30ff mov.w r0, #4294967295 8095260: f7bf f9d6 bl 8054610 LCD_DisplayStringC(160, 170, "Ok"); 8095264: 4a27 ldr r2, [pc, #156] ; (8095304 ) 8095266: 21aa movs r1, #170 ; 0xaa 8095268: 20a0 movs r0, #160 ; 0xa0 809526a: f7bf ff91 bl 8055190 break; 809526e: f003 b9d6 b.w 809861e if(menupos == UpNo) 8095272: bf00 nop break; 8095274: f003 b9d3 b.w 809861e case ARCHIVE_WAVE: if(pardata.LANG == RUS) 8095278: 4b0c ldr r3, [pc, #48] ; (80952ac ) 809527a: 7b1b ldrb r3, [r3, #12] 809527c: b2db uxtb r3, r3 809527e: 2b00 cmp r3, #0 8095280: d144 bne.n 809530c DrawImage(&bmLEGEND_GTR_RUS, 0, 45); 8095282: 222d movs r2, #45 ; 0x2d 8095284: 2100 movs r1, #0 8095286: 4820 ldr r0, [pc, #128] ; (8095308 ) 8095288: f7c0 f8b6 bl 80553f8 809528c: e043 b.n 8095316 809528e: bf00 nop 8095290: ff0a0f1f .word 0xff0a0f1f 8095294: 080f3818 .word 0x080f3818 8095298: 20020e20 .word 0x20020e20 809529c: 20020e04 .word 0x20020e04 80952a0: 42c00000 .word 0x42c00000 80952a4: ffd3d3d3 .word 0xffd3d3d3 80952a8: 20020070 .word 0x20020070 80952ac: 20023ea8 .word 0x20023ea8 80952b0: 080d4704 .word 0x080d4704 80952b4: 080d4710 .word 0x080d4710 80952b8: 080d4718 .word 0x080d4718 80952bc: 080d4724 .word 0x080d4724 80952c0: 080d4738 .word 0x080d4738 80952c4: 080d474c .word 0x080d474c 80952c8: 080d3bc8 .word 0x080d3bc8 80952cc: ff606060 .word 0xff606060 80952d0: 080d2a18 .word 0x080d2a18 80952d4: 080d4134 .word 0x080d4134 80952d8: 080d4138 .word 0x080d4138 80952dc: 20020df0 .word 0x20020df0 80952e0: 080d4758 .word 0x080d4758 80952e4: 080d4764 .word 0x080d4764 80952e8: 080d4368 .word 0x080d4368 80952ec: 080d4770 .word 0x080d4770 80952f0: 080d477c .word 0x080d477c 80952f4: 080d4788 .word 0x080d4788 80952f8: 080d4794 .word 0x080d4794 80952fc: 080d460c .word 0x080d460c 8095300: 080d47a0 .word 0x080d47a0 8095304: 080d4214 .word 0x080d4214 8095308: 08128b70 .word 0x08128b70 else DrawImage(&bmLEGEND_GTR_ENG, 0, 45); 809530c: 222d movs r2, #45 ; 0x2d 809530e: 2100 movs r1, #0 8095310: 48c3 ldr r0, [pc, #780] ; (8095620 ) 8095312: f7c0 f871 bl 80553f8 if(menupos == NoFilesGTR) 8095316: 4bc3 ldr r3, [pc, #780] ; (8095624 ) 8095318: 781b ldrb r3, [r3, #0] 809531a: b2db uxtb r3, r3 809531c: 2b01 cmp r3, #1 809531e: d11c bne.n 809535a { BSP_LCD_SetFont(&Font12); 8095320: 48c1 ldr r0, [pc, #772] ; (8095628 ) 8095322: f7bf f9b1 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095326: 49c1 ldr r1, [pc, #772] ; (809562c ) 8095328: f04f 30ff mov.w r0, #4294967295 809532c: f7bf f970 bl 8054610 if(pardata.LANG == RUS) 8095330: 4bbf ldr r3, [pc, #764] ; (8095630 ) 8095332: 7b1b ldrb r3, [r3, #12] 8095334: b2db uxtb r3, r3 8095336: 2b00 cmp r3, #0 8095338: d107 bne.n 809534a BSP_LCD_DisplayStringAt(160, 111+15, "Ôàéëû îòñóòñòâóþò...", CENTER_MODE); 809533a: 2301 movs r3, #1 809533c: 4abd ldr r2, [pc, #756] ; (8095634 ) 809533e: 217e movs r1, #126 ; 0x7e 8095340: 20a0 movs r0, #160 ; 0xa0 8095342: f7bf fa2b bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 8095346: f003 b96c b.w 8098622 else BSP_LCD_DisplayStringAt(160, 111+15, "No files...", CENTER_MODE); 809534a: 2301 movs r3, #1 809534c: 4aba ldr r2, [pc, #744] ; (8095638 ) 809534e: 217e movs r1, #126 ; 0x7e 8095350: 20a0 movs r0, #160 ; 0xa0 8095352: f7bf fa23 bl 805479c break; 8095356: f003 b964 b.w 8098622 if((menupos == FilesGTR) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) // 809535a: 4bb2 ldr r3, [pc, #712] ; (8095624 ) 809535c: 781b ldrb r3, [r3, #0] 809535e: b2db uxtb r3, r3 8095360: 2b02 cmp r3, #2 8095362: d00f beq.n 8095384 8095364: 4baf ldr r3, [pc, #700] ; (8095624 ) 8095366: 781b ldrb r3, [r3, #0] 8095368: b2db uxtb r3, r3 809536a: 2b06 cmp r3, #6 809536c: d00a beq.n 8095384 809536e: 4bad ldr r3, [pc, #692] ; (8095624 ) 8095370: 781b ldrb r3, [r3, #0] 8095372: b2db uxtb r3, r3 8095374: 2b07 cmp r3, #7 8095376: d005 beq.n 8095384 8095378: 4baa ldr r3, [pc, #680] ; (8095624 ) 809537a: 781b ldrb r3, [r3, #0] 809537c: b2db uxtb r3, r3 809537e: 2b0a cmp r3, #10 8095380: f043 814f bne.w 8098622 BSP_LCD_SetFont(&Font12); 8095384: 48a8 ldr r0, [pc, #672] ; (8095628 ) 8095386: f7bf f97f bl 8054688 for(i = 0; i < VIEW_FILES; i++) 809538a: 2300 movs r3, #0 809538c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8095390: f000 bffc b.w 809638c if(CursorIndex == i) 8095394: 4ba9 ldr r3, [pc, #676] ; (809563c ) 8095396: 681a ldr r2, [r3, #0] 8095398: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809539c: 429a cmp r2, r3 809539e: d119 bne.n 80953d4 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 80953a0: 49a7 ldr r1, [pc, #668] ; (8095640 ) 80953a2: 48a7 ldr r0, [pc, #668] ; (8095640 ) 80953a4: f7bf f934 bl 8054610 BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 80953a8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80953ac: 4aa5 ldr r2, [pc, #660] ; (8095644 ) 80953ae: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 80953b2: 4ba5 ldr r3, [pc, #660] ; (8095648 ) 80953b4: 681b ldr r3, [r3, #0] 80953b6: 88db ldrh r3, [r3, #6] 80953b8: f44f 729c mov.w r2, #312 ; 0x138 80953bc: 2003 movs r0, #3 80953be: f7bf fdb5 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80953c2: 499f ldr r1, [pc, #636] ; (8095640 ) 80953c4: f04f 30ff mov.w r0, #4294967295 80953c8: f7bf f922 bl 8054610 j = LCD_COLOR_CURSOR; 80953cc: 4b9c ldr r3, [pc, #624] ; (8095640 ) 80953ce: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 80953d2: e007 b.n 80953e4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80953d4: 4995 ldr r1, [pc, #596] ; (809562c ) 80953d6: f04f 30ff mov.w r0, #4294967295 80953da: f7bf f919 bl 8054610 j = LCD_COLOR_BLACK; 80953de: 4b93 ldr r3, [pc, #588] ; (809562c ) 80953e0: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc if(ExplorerFiles[i].fname[0] != 0) 80953e4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80953e8: 4998 ldr r1, [pc, #608] ; (809564c ) 80953ea: 4613 mov r3, r2 80953ec: 00db lsls r3, r3, #3 80953ee: 1a9b subs r3, r3, r2 80953f0: 00db lsls r3, r3, #3 80953f2: 440b add r3, r1 80953f4: 330c adds r3, #12 80953f6: 781b ldrb r3, [r3, #0] 80953f8: 2b00 cmp r3, #0 80953fa: f000 87c2 beq.w 8096382 if(NumFilesDelete != 0) 80953fe: 4b94 ldr r3, [pc, #592] ; (8095650 ) 8095400: 681b ldr r3, [r3, #0] 8095402: 2b00 cmp r3, #0 8095404: d02e beq.n 8095464 for(k = 0; k < MAX_CHECKED_FILES; k++) 8095406: 2300 movs r3, #0 8095408: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809540c: e025 b.n 809545a if(strcmp(ExplorerFiles[i].fname, &StrRAM(k, 0)) == 0) 809540e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8095412: 4613 mov r3, r2 8095414: 00db lsls r3, r3, #3 8095416: 1a9b subs r3, r3, r2 8095418: 00db lsls r3, r3, #3 809541a: 3308 adds r3, #8 809541c: 4a8b ldr r2, [pc, #556] ; (809564c ) 809541e: 4413 add r3, r2 8095420: 1d18 adds r0, r3, #4 8095422: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8095426: 4613 mov r3, r2 8095428: 009b lsls r3, r3, #2 809542a: 4413 add r3, r2 809542c: 00db lsls r3, r3, #3 809542e: 461a mov r2, r3 8095430: 4b88 ldr r3, [pc, #544] ; (8095654 ) 8095432: 4413 add r3, r2 8095434: 4619 mov r1, r3 8095436: f78a ff63 bl 8020300 809543a: 4603 mov r3, r0 809543c: 2b00 cmp r3, #0 809543e: d107 bne.n 8095450 LCD_SetColors(LCD_COLOR_GREEN, j); 8095440: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8095444: 4619 mov r1, r3 8095446: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809544a: f7bf f8e1 bl 8054610 break; 809544e: e009 b.n 8095464 for(k = 0; k < MAX_CHECKED_FILES; k++) 8095450: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095454: 3301 adds r3, #1 8095456: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809545a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809545e: f5b3 7f00 cmp.w r3, #512 ; 0x200 8095462: d3d4 bcc.n 809540e BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8095464: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095468: 4a76 ldr r2, [pc, #472] ; (8095644 ) 809546a: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809546e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8095472: 4613 mov r3, r2 8095474: 00db lsls r3, r3, #3 8095476: 1a9b subs r3, r3, r2 8095478: 00db lsls r3, r3, #3 809547a: 3308 adds r3, #8 809547c: 4a73 ldr r2, [pc, #460] ; (809564c ) 809547e: 4413 add r3, r2 8095480: 1d1a adds r2, r3, #4 8095482: 2303 movs r3, #3 8095484: 2005 movs r0, #5 8095486: f7bf f989 bl 805479c k = 0; 809548a: 2300 movs r3, #0 809548c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Size = ExplorerFiles[i].size; 8095490: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8095494: 496d ldr r1, [pc, #436] ; (809564c ) 8095496: 4613 mov r3, r2 8095498: 00db lsls r3, r3, #3 809549a: 1a9b subs r3, r3, r2 809549c: 00db lsls r3, r3, #3 809549e: 440b add r3, r1 80954a0: e9d3 2300 ldrd r2, r3, [r3] 80954a4: f507 717a add.w r1, r7, #1000 ; 0x3e8 80954a8: e9c1 2300 strd r2, r3, [r1] if(Size < 1024) // If size below 1KB 80954ac: f507 737a add.w r3, r7, #1000 ; 0x3e8 80954b0: e9d3 2300 ldrd r2, r3, [r3] 80954b4: f240 30ff movw r0, #1023 ; 0x3ff 80954b8: f04f 0100 mov.w r1, #0 80954bc: 4299 cmp r1, r3 80954be: bf08 it eq 80954c0: 4290 cmpeq r0, r2 80954c2: f0c0 815f bcc.w 8095784 if(Size < 10) 80954c6: f507 737a add.w r3, r7, #1000 ; 0x3e8 80954ca: e9d3 2300 ldrd r2, r3, [r3] 80954ce: 2b00 cmp r3, #0 80954d0: bf08 it eq 80954d2: 2a0a cmpeq r2, #10 80954d4: d20e bcs.n 80954f4 str1[k++] = Size + 48; 80954d6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80954da: 1c5a adds r2, r3, #1 80954dc: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80954e0: f507 727a add.w r2, r7, #1000 ; 0x3e8 80954e4: ca06 ldmia r2, {r1, r2} 80954e6: b2ca uxtb r2, r1 80954e8: 3230 adds r2, #48 ; 0x30 80954ea: b2d1 uxtb r1, r2 80954ec: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80954f0: 54d1 strb r1, [r2, r3] 80954f2: e133 b.n 809575c if(Size < 100) 80954f4: f507 737a add.w r3, r7, #1000 ; 0x3e8 80954f8: e9d3 2300 ldrd r2, r3, [r3] 80954fc: 2b00 cmp r3, #0 80954fe: bf08 it eq 8095500: 2a64 cmpeq r2, #100 ; 0x64 8095502: d22c bcs.n 809555e str1[k++] = (Size / 10) + 48; 8095504: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095508: 1c73 adds r3, r6, #1 809550a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809550e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095512: e9d3 0100 ldrd r0, r1, [r3] 8095516: f04f 020a mov.w r2, #10 809551a: f04f 0300 mov.w r3, #0 809551e: f78b f865 bl 80205ec <__aeabi_uldivmod> 8095522: 4602 mov r2, r0 8095524: 460b mov r3, r1 8095526: b2d3 uxtb r3, r2 8095528: 3330 adds r3, #48 ; 0x30 809552a: b2da uxtb r2, r3 809552c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095530: 559a strb r2, [r3, r6] str1[k++] = (Size % 10) + 48; 8095532: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095536: 1c73 adds r3, r6, #1 8095538: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809553c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095540: e9d3 0100 ldrd r0, r1, [r3] 8095544: f04f 020a mov.w r2, #10 8095548: f04f 0300 mov.w r3, #0 809554c: f78b f84e bl 80205ec <__aeabi_uldivmod> 8095550: b2d3 uxtb r3, r2 8095552: 3330 adds r3, #48 ; 0x30 8095554: b2da uxtb r2, r3 8095556: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809555a: 559a strb r2, [r3, r6] 809555c: e0fe b.n 809575c if(Size < 1000) 809555e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095562: e9d3 2300 ldrd r2, r3, [r3] 8095566: f240 30e7 movw r0, #999 ; 0x3e7 809556a: f04f 0100 mov.w r1, #0 809556e: 4299 cmp r1, r3 8095570: bf08 it eq 8095572: 4290 cmpeq r0, r2 8095574: d370 bcc.n 8095658 str1[k++] = (Size / 100) + 48; 8095576: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809557a: 1c73 adds r3, r6, #1 809557c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095580: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095584: e9d3 0100 ldrd r0, r1, [r3] 8095588: f04f 0264 mov.w r2, #100 ; 0x64 809558c: f04f 0300 mov.w r3, #0 8095590: f78b f82c bl 80205ec <__aeabi_uldivmod> 8095594: 4602 mov r2, r0 8095596: 460b mov r3, r1 8095598: b2d3 uxtb r3, r2 809559a: 3330 adds r3, #48 ; 0x30 809559c: b2da uxtb r2, r3 809559e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80955a2: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 / 10) + 48; 80955a4: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80955a8: 1c73 adds r3, r6, #1 80955aa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80955ae: f507 737a add.w r3, r7, #1000 ; 0x3e8 80955b2: e9d3 0100 ldrd r0, r1, [r3] 80955b6: f04f 0264 mov.w r2, #100 ; 0x64 80955ba: f04f 0300 mov.w r3, #0 80955be: f78b f815 bl 80205ec <__aeabi_uldivmod> 80955c2: 4610 mov r0, r2 80955c4: 4619 mov r1, r3 80955c6: f04f 020a mov.w r2, #10 80955ca: f04f 0300 mov.w r3, #0 80955ce: f78b f80d bl 80205ec <__aeabi_uldivmod> 80955d2: 4602 mov r2, r0 80955d4: 460b mov r3, r1 80955d6: b2d3 uxtb r3, r2 80955d8: 3330 adds r3, #48 ; 0x30 80955da: b2da uxtb r2, r3 80955dc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80955e0: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 % 10) + 48; 80955e2: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80955e6: 1c73 adds r3, r6, #1 80955e8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80955ec: f507 737a add.w r3, r7, #1000 ; 0x3e8 80955f0: e9d3 0100 ldrd r0, r1, [r3] 80955f4: f04f 0264 mov.w r2, #100 ; 0x64 80955f8: f04f 0300 mov.w r3, #0 80955fc: f78a fff6 bl 80205ec <__aeabi_uldivmod> 8095600: 4610 mov r0, r2 8095602: 4619 mov r1, r3 8095604: f04f 020a mov.w r2, #10 8095608: f04f 0300 mov.w r3, #0 809560c: f78a ffee bl 80205ec <__aeabi_uldivmod> 8095610: b2d3 uxtb r3, r2 8095612: 3330 adds r3, #48 ; 0x30 8095614: b2da uxtb r2, r3 8095616: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809561a: 559a strb r2, [r3, r6] 809561c: e09e b.n 809575c 809561e: bf00 nop 8095620: 08124064 .word 0x08124064 8095624: 20020070 .word 0x20020070 8095628: 20020038 .word 0x20020038 809562c: ff0a0f1f .word 0xff0a0f1f 8095630: 20023ea8 .word 0x20023ea8 8095634: 080d47a8 .word 0x080d47a8 8095638: 080d46f8 .word 0x080d46f8 809563c: 20020e00 .word 0x20020e00 8095640: ff606060 .word 0xff606060 8095644: 080f3818 .word 0x080f3818 8095648: 20025d6c .word 0x20025d6c 809564c: 20022398 .word 0x20022398 8095650: 20020e2c .word 0x20020e2c 8095654: 6404b000 .word 0x6404b000 str1[k++] = (Size / 1000) + 48; 8095658: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809565c: 1c73 adds r3, r6, #1 809565e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095662: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095666: e9d3 0100 ldrd r0, r1, [r3] 809566a: f44f 727a mov.w r2, #1000 ; 0x3e8 809566e: f04f 0300 mov.w r3, #0 8095672: f78a ffbb bl 80205ec <__aeabi_uldivmod> 8095676: 4602 mov r2, r0 8095678: 460b mov r3, r1 809567a: b2d3 uxtb r3, r2 809567c: 3330 adds r3, #48 ; 0x30 809567e: b2da uxtb r2, r3 8095680: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095684: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 / 100) + 48; 8095686: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809568a: 1c73 adds r3, r6, #1 809568c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095690: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095694: e9d3 0100 ldrd r0, r1, [r3] 8095698: f44f 727a mov.w r2, #1000 ; 0x3e8 809569c: f04f 0300 mov.w r3, #0 80956a0: f78a ffa4 bl 80205ec <__aeabi_uldivmod> 80956a4: 4610 mov r0, r2 80956a6: 4619 mov r1, r3 80956a8: f04f 0264 mov.w r2, #100 ; 0x64 80956ac: f04f 0300 mov.w r3, #0 80956b0: f78a ff9c bl 80205ec <__aeabi_uldivmod> 80956b4: 4602 mov r2, r0 80956b6: 460b mov r3, r1 80956b8: b2d3 uxtb r3, r2 80956ba: 3330 adds r3, #48 ; 0x30 80956bc: b2da uxtb r2, r3 80956be: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80956c2: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 / 10) + 48; 80956c4: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80956c8: 1c73 adds r3, r6, #1 80956ca: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80956ce: f507 737a add.w r3, r7, #1000 ; 0x3e8 80956d2: e9d3 0100 ldrd r0, r1, [r3] 80956d6: f44f 727a mov.w r2, #1000 ; 0x3e8 80956da: f04f 0300 mov.w r3, #0 80956de: f78a ff85 bl 80205ec <__aeabi_uldivmod> 80956e2: 4610 mov r0, r2 80956e4: 4619 mov r1, r3 80956e6: f04f 0264 mov.w r2, #100 ; 0x64 80956ea: f04f 0300 mov.w r3, #0 80956ee: f78a ff7d bl 80205ec <__aeabi_uldivmod> 80956f2: 4610 mov r0, r2 80956f4: 4619 mov r1, r3 80956f6: f04f 020a mov.w r2, #10 80956fa: f04f 0300 mov.w r3, #0 80956fe: f78a ff75 bl 80205ec <__aeabi_uldivmod> 8095702: 4602 mov r2, r0 8095704: 460b mov r3, r1 8095706: b2d3 uxtb r3, r2 8095708: 3330 adds r3, #48 ; 0x30 809570a: b2da uxtb r2, r3 809570c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095710: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 % 10) + 48; 8095712: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095716: 1c73 adds r3, r6, #1 8095718: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809571c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095720: e9d3 0100 ldrd r0, r1, [r3] 8095724: f44f 727a mov.w r2, #1000 ; 0x3e8 8095728: f04f 0300 mov.w r3, #0 809572c: f78a ff5e bl 80205ec <__aeabi_uldivmod> 8095730: 4610 mov r0, r2 8095732: 4619 mov r1, r3 8095734: f04f 0264 mov.w r2, #100 ; 0x64 8095738: f04f 0300 mov.w r3, #0 809573c: f78a ff56 bl 80205ec <__aeabi_uldivmod> 8095740: 4610 mov r0, r2 8095742: 4619 mov r1, r3 8095744: f04f 020a mov.w r2, #10 8095748: f04f 0300 mov.w r3, #0 809574c: f78a ff4e bl 80205ec <__aeabi_uldivmod> 8095750: b2d3 uxtb r3, r2 8095752: 3330 adds r3, #48 ; 0x30 8095754: b2da uxtb r2, r3 8095756: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809575a: 559a strb r2, [r3, r6] str1[k++] = 'B'; 809575c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095760: 1c5a adds r2, r3, #1 8095762: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095766: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809576a: 2142 movs r1, #66 ; 0x42 809576c: 54d1 strb r1, [r2, r3] str1[k++] = '\0'; 809576e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095772: 1c5a adds r2, r3, #1 8095774: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095778: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809577c: 2100 movs r1, #0 809577e: 54d1 strb r1, [r2, r3] 8095780: f000 bdd5 b.w 809632e if(Size < 1048576) // If size below 1MB 8095784: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095788: e9d3 2300 ldrd r2, r3, [r3] 809578c: 48c2 ldr r0, [pc, #776] ; (8095a98 ) 809578e: f04f 0100 mov.w r1, #0 8095792: 4299 cmp r1, r3 8095794: bf08 it eq 8095796: 4290 cmpeq r0, r2 8095798: f0c0 8157 bcc.w 8095a4a Size /= 1024; 809579c: f507 737a add.w r3, r7, #1000 ; 0x3e8 80957a0: e9d3 2300 ldrd r2, r3, [r3] 80957a4: 0a94 lsrs r4, r2, #10 80957a6: ea44 5483 orr.w r4, r4, r3, lsl #22 80957aa: 0a9d lsrs r5, r3, #10 80957ac: f507 737a add.w r3, r7, #1000 ; 0x3e8 80957b0: e9c3 4500 strd r4, r5, [r3] if(Size < 10) 80957b4: f507 737a add.w r3, r7, #1000 ; 0x3e8 80957b8: e9d3 2300 ldrd r2, r3, [r3] 80957bc: 2b00 cmp r3, #0 80957be: bf08 it eq 80957c0: 2a0a cmpeq r2, #10 80957c2: d20e bcs.n 80957e2 str1[k++] = Size + 48; 80957c4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80957c8: 1c5a adds r2, r3, #1 80957ca: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80957ce: f507 727a add.w r2, r7, #1000 ; 0x3e8 80957d2: ca06 ldmia r2, {r1, r2} 80957d4: b2ca uxtb r2, r1 80957d6: 3230 adds r2, #48 ; 0x30 80957d8: b2d1 uxtb r1, r2 80957da: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80957de: 54d1 strb r1, [r2, r3] 80957e0: e116 b.n 8095a10 if(Size < 100) 80957e2: f507 737a add.w r3, r7, #1000 ; 0x3e8 80957e6: e9d3 2300 ldrd r2, r3, [r3] 80957ea: 2b00 cmp r3, #0 80957ec: bf08 it eq 80957ee: 2a64 cmpeq r2, #100 ; 0x64 80957f0: d22c bcs.n 809584c str1[k++] = (Size / 10) + 48; 80957f2: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80957f6: 1c73 adds r3, r6, #1 80957f8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80957fc: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095800: e9d3 0100 ldrd r0, r1, [r3] 8095804: f04f 020a mov.w r2, #10 8095808: f04f 0300 mov.w r3, #0 809580c: f78a feee bl 80205ec <__aeabi_uldivmod> 8095810: 4602 mov r2, r0 8095812: 460b mov r3, r1 8095814: b2d3 uxtb r3, r2 8095816: 3330 adds r3, #48 ; 0x30 8095818: b2da uxtb r2, r3 809581a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809581e: 559a strb r2, [r3, r6] str1[k++] = (Size % 10) + 48; 8095820: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095824: 1c73 adds r3, r6, #1 8095826: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809582a: f507 737a add.w r3, r7, #1000 ; 0x3e8 809582e: e9d3 0100 ldrd r0, r1, [r3] 8095832: f04f 020a mov.w r2, #10 8095836: f04f 0300 mov.w r3, #0 809583a: f78a fed7 bl 80205ec <__aeabi_uldivmod> 809583e: b2d3 uxtb r3, r2 8095840: 3330 adds r3, #48 ; 0x30 8095842: b2da uxtb r2, r3 8095844: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095848: 559a strb r2, [r3, r6] 809584a: e0e1 b.n 8095a10 if(Size < 1000) 809584c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095850: e9d3 2300 ldrd r2, r3, [r3] 8095854: f240 30e7 movw r0, #999 ; 0x3e7 8095858: f04f 0100 mov.w r1, #0 809585c: 4299 cmp r1, r3 809585e: bf08 it eq 8095860: 4290 cmpeq r0, r2 8095862: d353 bcc.n 809590c str1[k++] = (Size / 100) + 48; 8095864: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095868: 1c73 adds r3, r6, #1 809586a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809586e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095872: e9d3 0100 ldrd r0, r1, [r3] 8095876: f04f 0264 mov.w r2, #100 ; 0x64 809587a: f04f 0300 mov.w r3, #0 809587e: f78a feb5 bl 80205ec <__aeabi_uldivmod> 8095882: 4602 mov r2, r0 8095884: 460b mov r3, r1 8095886: b2d3 uxtb r3, r2 8095888: 3330 adds r3, #48 ; 0x30 809588a: b2da uxtb r2, r3 809588c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095890: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 / 10) + 48; 8095892: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095896: 1c73 adds r3, r6, #1 8095898: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809589c: f507 737a add.w r3, r7, #1000 ; 0x3e8 80958a0: e9d3 0100 ldrd r0, r1, [r3] 80958a4: f04f 0264 mov.w r2, #100 ; 0x64 80958a8: f04f 0300 mov.w r3, #0 80958ac: f78a fe9e bl 80205ec <__aeabi_uldivmod> 80958b0: 4610 mov r0, r2 80958b2: 4619 mov r1, r3 80958b4: f04f 020a mov.w r2, #10 80958b8: f04f 0300 mov.w r3, #0 80958bc: f78a fe96 bl 80205ec <__aeabi_uldivmod> 80958c0: 4602 mov r2, r0 80958c2: 460b mov r3, r1 80958c4: b2d3 uxtb r3, r2 80958c6: 3330 adds r3, #48 ; 0x30 80958c8: b2da uxtb r2, r3 80958ca: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80958ce: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 % 10) + 48; 80958d0: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80958d4: 1c73 adds r3, r6, #1 80958d6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80958da: f507 737a add.w r3, r7, #1000 ; 0x3e8 80958de: e9d3 0100 ldrd r0, r1, [r3] 80958e2: f04f 0264 mov.w r2, #100 ; 0x64 80958e6: f04f 0300 mov.w r3, #0 80958ea: f78a fe7f bl 80205ec <__aeabi_uldivmod> 80958ee: 4610 mov r0, r2 80958f0: 4619 mov r1, r3 80958f2: f04f 020a mov.w r2, #10 80958f6: f04f 0300 mov.w r3, #0 80958fa: f78a fe77 bl 80205ec <__aeabi_uldivmod> 80958fe: b2d3 uxtb r3, r2 8095900: 3330 adds r3, #48 ; 0x30 8095902: b2da uxtb r2, r3 8095904: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095908: 559a strb r2, [r3, r6] 809590a: e081 b.n 8095a10 str1[k++] = (Size / 1000) + 48; 809590c: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095910: 1c73 adds r3, r6, #1 8095912: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095916: f507 737a add.w r3, r7, #1000 ; 0x3e8 809591a: e9d3 0100 ldrd r0, r1, [r3] 809591e: f44f 727a mov.w r2, #1000 ; 0x3e8 8095922: f04f 0300 mov.w r3, #0 8095926: f78a fe61 bl 80205ec <__aeabi_uldivmod> 809592a: 4602 mov r2, r0 809592c: 460b mov r3, r1 809592e: b2d3 uxtb r3, r2 8095930: 3330 adds r3, #48 ; 0x30 8095932: b2da uxtb r2, r3 8095934: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095938: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 / 100) + 48; 809593a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809593e: 1c73 adds r3, r6, #1 8095940: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095944: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095948: e9d3 0100 ldrd r0, r1, [r3] 809594c: f44f 727a mov.w r2, #1000 ; 0x3e8 8095950: f04f 0300 mov.w r3, #0 8095954: f78a fe4a bl 80205ec <__aeabi_uldivmod> 8095958: 4610 mov r0, r2 809595a: 4619 mov r1, r3 809595c: f04f 0264 mov.w r2, #100 ; 0x64 8095960: f04f 0300 mov.w r3, #0 8095964: f78a fe42 bl 80205ec <__aeabi_uldivmod> 8095968: 4602 mov r2, r0 809596a: 460b mov r3, r1 809596c: b2d3 uxtb r3, r2 809596e: 3330 adds r3, #48 ; 0x30 8095970: b2da uxtb r2, r3 8095972: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095976: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 / 10) + 48; 8095978: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809597c: 1c73 adds r3, r6, #1 809597e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095982: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095986: e9d3 0100 ldrd r0, r1, [r3] 809598a: f44f 727a mov.w r2, #1000 ; 0x3e8 809598e: f04f 0300 mov.w r3, #0 8095992: f78a fe2b bl 80205ec <__aeabi_uldivmod> 8095996: 4610 mov r0, r2 8095998: 4619 mov r1, r3 809599a: f04f 0264 mov.w r2, #100 ; 0x64 809599e: f04f 0300 mov.w r3, #0 80959a2: f78a fe23 bl 80205ec <__aeabi_uldivmod> 80959a6: 4610 mov r0, r2 80959a8: 4619 mov r1, r3 80959aa: f04f 020a mov.w r2, #10 80959ae: f04f 0300 mov.w r3, #0 80959b2: f78a fe1b bl 80205ec <__aeabi_uldivmod> 80959b6: 4602 mov r2, r0 80959b8: 460b mov r3, r1 80959ba: b2d3 uxtb r3, r2 80959bc: 3330 adds r3, #48 ; 0x30 80959be: b2da uxtb r2, r3 80959c0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80959c4: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 % 10) + 48; 80959c6: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80959ca: 1c73 adds r3, r6, #1 80959cc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80959d0: f507 737a add.w r3, r7, #1000 ; 0x3e8 80959d4: e9d3 0100 ldrd r0, r1, [r3] 80959d8: f44f 727a mov.w r2, #1000 ; 0x3e8 80959dc: f04f 0300 mov.w r3, #0 80959e0: f78a fe04 bl 80205ec <__aeabi_uldivmod> 80959e4: 4610 mov r0, r2 80959e6: 4619 mov r1, r3 80959e8: f04f 0264 mov.w r2, #100 ; 0x64 80959ec: f04f 0300 mov.w r3, #0 80959f0: f78a fdfc bl 80205ec <__aeabi_uldivmod> 80959f4: 4610 mov r0, r2 80959f6: 4619 mov r1, r3 80959f8: f04f 020a mov.w r2, #10 80959fc: f04f 0300 mov.w r3, #0 8095a00: f78a fdf4 bl 80205ec <__aeabi_uldivmod> 8095a04: b2d3 uxtb r3, r2 8095a06: 3330 adds r3, #48 ; 0x30 8095a08: b2da uxtb r2, r3 8095a0a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095a0e: 559a strb r2, [r3, r6] str1[k++] = 'K'; 8095a10: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095a14: 1c5a adds r2, r3, #1 8095a16: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095a1a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095a1e: 214b movs r1, #75 ; 0x4b 8095a20: 54d1 strb r1, [r2, r3] str1[k++] = 'B'; 8095a22: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095a26: 1c5a adds r2, r3, #1 8095a28: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095a2c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095a30: 2142 movs r1, #66 ; 0x42 8095a32: 54d1 strb r1, [r2, r3] str1[k++] = '\0'; 8095a34: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095a38: 1c5a adds r2, r3, #1 8095a3a: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095a3e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095a42: 2100 movs r1, #0 8095a44: 54d1 strb r1, [r2, r3] 8095a46: f000 bc72 b.w 809632e Size /= 1048576; 8095a4a: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095a4e: e9d3 2300 ldrd r2, r3, [r3] 8095a52: ea4f 5812 mov.w r8, r2, lsr #20 8095a56: ea48 3803 orr.w r8, r8, r3, lsl #12 8095a5a: ea4f 5913 mov.w r9, r3, lsr #20 8095a5e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095a62: e9c3 8900 strd r8, r9, [r3] if(Size < 10) 8095a66: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095a6a: e9d3 2300 ldrd r2, r3, [r3] 8095a6e: 2b00 cmp r3, #0 8095a70: bf08 it eq 8095a72: 2a0a cmpeq r2, #10 8095a74: d212 bcs.n 8095a9c str1[k++] = Size + 48; 8095a76: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095a7a: 1c5a adds r2, r3, #1 8095a7c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095a80: f507 727a add.w r2, r7, #1000 ; 0x3e8 8095a84: ca06 ldmia r2, {r1, r2} 8095a86: b2ca uxtb r2, r1 8095a88: 3230 adds r2, #48 ; 0x30 8095a8a: b2d1 uxtb r1, r2 8095a8c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095a90: 54d1 strb r1, [r2, r3] 8095a92: f000 bc31 b.w 80962f8 8095a96: bf00 nop 8095a98: 000fffff .word 0x000fffff if(Size < 100) 8095a9c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095aa0: e9d3 2300 ldrd r2, r3, [r3] 8095aa4: 2b00 cmp r3, #0 8095aa6: bf08 it eq 8095aa8: 2a64 cmpeq r2, #100 ; 0x64 8095aaa: d22c bcs.n 8095b06 str1[k++] = (Size / 10) + 48; 8095aac: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095ab0: 1c73 adds r3, r6, #1 8095ab2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095ab6: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095aba: e9d3 0100 ldrd r0, r1, [r3] 8095abe: f04f 020a mov.w r2, #10 8095ac2: f04f 0300 mov.w r3, #0 8095ac6: f78a fd91 bl 80205ec <__aeabi_uldivmod> 8095aca: 4602 mov r2, r0 8095acc: 460b mov r3, r1 8095ace: b2d3 uxtb r3, r2 8095ad0: 3330 adds r3, #48 ; 0x30 8095ad2: b2da uxtb r2, r3 8095ad4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095ad8: 559a strb r2, [r3, r6] str1[k++] = (Size % 10) + 48; 8095ada: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095ade: 1c73 adds r3, r6, #1 8095ae0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095ae4: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095ae8: e9d3 0100 ldrd r0, r1, [r3] 8095aec: f04f 020a mov.w r2, #10 8095af0: f04f 0300 mov.w r3, #0 8095af4: f78a fd7a bl 80205ec <__aeabi_uldivmod> 8095af8: b2d3 uxtb r3, r2 8095afa: 3330 adds r3, #48 ; 0x30 8095afc: b2da uxtb r2, r3 8095afe: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095b02: 559a strb r2, [r3, r6] 8095b04: e3f8 b.n 80962f8 if(Size < 1000) 8095b06: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095b0a: e9d3 2300 ldrd r2, r3, [r3] 8095b0e: f240 30e7 movw r0, #999 ; 0x3e7 8095b12: f04f 0100 mov.w r1, #0 8095b16: 4299 cmp r1, r3 8095b18: bf08 it eq 8095b1a: 4290 cmpeq r0, r2 8095b1c: d353 bcc.n 8095bc6 str1[k++] = (Size / 100) + 48; 8095b1e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095b22: 1c73 adds r3, r6, #1 8095b24: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095b28: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095b2c: e9d3 0100 ldrd r0, r1, [r3] 8095b30: f04f 0264 mov.w r2, #100 ; 0x64 8095b34: f04f 0300 mov.w r3, #0 8095b38: f78a fd58 bl 80205ec <__aeabi_uldivmod> 8095b3c: 4602 mov r2, r0 8095b3e: 460b mov r3, r1 8095b40: b2d3 uxtb r3, r2 8095b42: 3330 adds r3, #48 ; 0x30 8095b44: b2da uxtb r2, r3 8095b46: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095b4a: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 / 10) + 48; 8095b4c: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095b50: 1c73 adds r3, r6, #1 8095b52: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095b56: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095b5a: e9d3 0100 ldrd r0, r1, [r3] 8095b5e: f04f 0264 mov.w r2, #100 ; 0x64 8095b62: f04f 0300 mov.w r3, #0 8095b66: f78a fd41 bl 80205ec <__aeabi_uldivmod> 8095b6a: 4610 mov r0, r2 8095b6c: 4619 mov r1, r3 8095b6e: f04f 020a mov.w r2, #10 8095b72: f04f 0300 mov.w r3, #0 8095b76: f78a fd39 bl 80205ec <__aeabi_uldivmod> 8095b7a: 4602 mov r2, r0 8095b7c: 460b mov r3, r1 8095b7e: b2d3 uxtb r3, r2 8095b80: 3330 adds r3, #48 ; 0x30 8095b82: b2da uxtb r2, r3 8095b84: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095b88: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 % 10) + 48; 8095b8a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095b8e: 1c73 adds r3, r6, #1 8095b90: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095b94: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095b98: e9d3 0100 ldrd r0, r1, [r3] 8095b9c: f04f 0264 mov.w r2, #100 ; 0x64 8095ba0: f04f 0300 mov.w r3, #0 8095ba4: f78a fd22 bl 80205ec <__aeabi_uldivmod> 8095ba8: 4610 mov r0, r2 8095baa: 4619 mov r1, r3 8095bac: f04f 020a mov.w r2, #10 8095bb0: f04f 0300 mov.w r3, #0 8095bb4: f78a fd1a bl 80205ec <__aeabi_uldivmod> 8095bb8: b2d3 uxtb r3, r2 8095bba: 3330 adds r3, #48 ; 0x30 8095bbc: b2da uxtb r2, r3 8095bbe: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095bc2: 559a strb r2, [r3, r6] 8095bc4: e398 b.n 80962f8 if(Size < 10000) 8095bc6: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095bca: e9d3 2300 ldrd r2, r3, [r3] 8095bce: f242 700f movw r0, #9999 ; 0x270f 8095bd2: f04f 0100 mov.w r1, #0 8095bd6: 4299 cmp r1, r3 8095bd8: bf08 it eq 8095bda: 4290 cmpeq r0, r2 8095bdc: f0c0 8083 bcc.w 8095ce6 str1[k++] = (Size / 1000) + 48; 8095be0: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095be4: 1c73 adds r3, r6, #1 8095be6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095bea: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095bee: e9d3 0100 ldrd r0, r1, [r3] 8095bf2: f44f 727a mov.w r2, #1000 ; 0x3e8 8095bf6: f04f 0300 mov.w r3, #0 8095bfa: f78a fcf7 bl 80205ec <__aeabi_uldivmod> 8095bfe: 4602 mov r2, r0 8095c00: 460b mov r3, r1 8095c02: b2d3 uxtb r3, r2 8095c04: 3330 adds r3, #48 ; 0x30 8095c06: b2da uxtb r2, r3 8095c08: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095c0c: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 / 100) + 48; 8095c0e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095c12: 1c73 adds r3, r6, #1 8095c14: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095c18: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095c1c: e9d3 0100 ldrd r0, r1, [r3] 8095c20: f44f 727a mov.w r2, #1000 ; 0x3e8 8095c24: f04f 0300 mov.w r3, #0 8095c28: f78a fce0 bl 80205ec <__aeabi_uldivmod> 8095c2c: 4610 mov r0, r2 8095c2e: 4619 mov r1, r3 8095c30: f04f 0264 mov.w r2, #100 ; 0x64 8095c34: f04f 0300 mov.w r3, #0 8095c38: f78a fcd8 bl 80205ec <__aeabi_uldivmod> 8095c3c: 4602 mov r2, r0 8095c3e: 460b mov r3, r1 8095c40: b2d3 uxtb r3, r2 8095c42: 3330 adds r3, #48 ; 0x30 8095c44: b2da uxtb r2, r3 8095c46: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095c4a: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 / 10) + 48; 8095c4c: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095c50: 1c73 adds r3, r6, #1 8095c52: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095c56: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095c5a: e9d3 0100 ldrd r0, r1, [r3] 8095c5e: f44f 727a mov.w r2, #1000 ; 0x3e8 8095c62: f04f 0300 mov.w r3, #0 8095c66: f78a fcc1 bl 80205ec <__aeabi_uldivmod> 8095c6a: 4610 mov r0, r2 8095c6c: 4619 mov r1, r3 8095c6e: f04f 0264 mov.w r2, #100 ; 0x64 8095c72: f04f 0300 mov.w r3, #0 8095c76: f78a fcb9 bl 80205ec <__aeabi_uldivmod> 8095c7a: 4610 mov r0, r2 8095c7c: 4619 mov r1, r3 8095c7e: f04f 020a mov.w r2, #10 8095c82: f04f 0300 mov.w r3, #0 8095c86: f78a fcb1 bl 80205ec <__aeabi_uldivmod> 8095c8a: 4602 mov r2, r0 8095c8c: 460b mov r3, r1 8095c8e: b2d3 uxtb r3, r2 8095c90: 3330 adds r3, #48 ; 0x30 8095c92: b2da uxtb r2, r3 8095c94: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095c98: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 % 10) + 48; 8095c9a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095c9e: 1c73 adds r3, r6, #1 8095ca0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095ca4: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095ca8: e9d3 0100 ldrd r0, r1, [r3] 8095cac: f44f 727a mov.w r2, #1000 ; 0x3e8 8095cb0: f04f 0300 mov.w r3, #0 8095cb4: f78a fc9a bl 80205ec <__aeabi_uldivmod> 8095cb8: 4610 mov r0, r2 8095cba: 4619 mov r1, r3 8095cbc: f04f 0264 mov.w r2, #100 ; 0x64 8095cc0: f04f 0300 mov.w r3, #0 8095cc4: f78a fc92 bl 80205ec <__aeabi_uldivmod> 8095cc8: 4610 mov r0, r2 8095cca: 4619 mov r1, r3 8095ccc: f04f 020a mov.w r2, #10 8095cd0: f04f 0300 mov.w r3, #0 8095cd4: f78a fc8a bl 80205ec <__aeabi_uldivmod> 8095cd8: b2d3 uxtb r3, r2 8095cda: 3330 adds r3, #48 ; 0x30 8095cdc: b2da uxtb r2, r3 8095cde: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095ce2: 559a strb r2, [r3, r6] 8095ce4: e308 b.n 80962f8 if(Size < 100000) 8095ce6: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095cea: e9d3 2300 ldrd r2, r3, [r3] 8095cee: 48e0 ldr r0, [pc, #896] ; (8096070 ) 8095cf0: f04f 0100 mov.w r1, #0 8095cf4: 4299 cmp r1, r3 8095cf6: bf08 it eq 8095cf8: 4290 cmpeq r0, r2 8095cfa: f0c0 80ba bcc.w 8095e72 str1[k++] = (Size / 10000) + 48; 8095cfe: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095d02: 1c73 adds r3, r6, #1 8095d04: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095d08: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095d0c: e9d3 0100 ldrd r0, r1, [r3] 8095d10: f242 7210 movw r2, #10000 ; 0x2710 8095d14: f04f 0300 mov.w r3, #0 8095d18: f78a fc68 bl 80205ec <__aeabi_uldivmod> 8095d1c: 4602 mov r2, r0 8095d1e: 460b mov r3, r1 8095d20: b2d3 uxtb r3, r2 8095d22: 3330 adds r3, #48 ; 0x30 8095d24: b2da uxtb r2, r3 8095d26: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095d2a: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 / 1000) + 48; 8095d2c: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095d30: 1c73 adds r3, r6, #1 8095d32: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095d36: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095d3a: e9d3 0100 ldrd r0, r1, [r3] 8095d3e: f242 7210 movw r2, #10000 ; 0x2710 8095d42: f04f 0300 mov.w r3, #0 8095d46: f78a fc51 bl 80205ec <__aeabi_uldivmod> 8095d4a: 4610 mov r0, r2 8095d4c: 4619 mov r1, r3 8095d4e: f44f 727a mov.w r2, #1000 ; 0x3e8 8095d52: f04f 0300 mov.w r3, #0 8095d56: f78a fc49 bl 80205ec <__aeabi_uldivmod> 8095d5a: 4602 mov r2, r0 8095d5c: 460b mov r3, r1 8095d5e: b2d3 uxtb r3, r2 8095d60: 3330 adds r3, #48 ; 0x30 8095d62: b2da uxtb r2, r3 8095d64: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095d68: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 % 1000 / 100) + 48; 8095d6a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095d6e: 1c73 adds r3, r6, #1 8095d70: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095d74: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095d78: e9d3 0100 ldrd r0, r1, [r3] 8095d7c: f242 7210 movw r2, #10000 ; 0x2710 8095d80: f04f 0300 mov.w r3, #0 8095d84: f78a fc32 bl 80205ec <__aeabi_uldivmod> 8095d88: 4610 mov r0, r2 8095d8a: 4619 mov r1, r3 8095d8c: f44f 727a mov.w r2, #1000 ; 0x3e8 8095d90: f04f 0300 mov.w r3, #0 8095d94: f78a fc2a bl 80205ec <__aeabi_uldivmod> 8095d98: 4610 mov r0, r2 8095d9a: 4619 mov r1, r3 8095d9c: f04f 0264 mov.w r2, #100 ; 0x64 8095da0: f04f 0300 mov.w r3, #0 8095da4: f78a fc22 bl 80205ec <__aeabi_uldivmod> 8095da8: 4602 mov r2, r0 8095daa: 460b mov r3, r1 8095dac: b2d3 uxtb r3, r2 8095dae: 3330 adds r3, #48 ; 0x30 8095db0: b2da uxtb r2, r3 8095db2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095db6: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 % 1000 % 100 / 10) + 48; 8095db8: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095dbc: 1c73 adds r3, r6, #1 8095dbe: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095dc2: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095dc6: e9d3 0100 ldrd r0, r1, [r3] 8095dca: f242 7210 movw r2, #10000 ; 0x2710 8095dce: f04f 0300 mov.w r3, #0 8095dd2: f78a fc0b bl 80205ec <__aeabi_uldivmod> 8095dd6: 4610 mov r0, r2 8095dd8: 4619 mov r1, r3 8095dda: f44f 727a mov.w r2, #1000 ; 0x3e8 8095dde: f04f 0300 mov.w r3, #0 8095de2: f78a fc03 bl 80205ec <__aeabi_uldivmod> 8095de6: 4610 mov r0, r2 8095de8: 4619 mov r1, r3 8095dea: f04f 0264 mov.w r2, #100 ; 0x64 8095dee: f04f 0300 mov.w r3, #0 8095df2: f78a fbfb bl 80205ec <__aeabi_uldivmod> 8095df6: 4610 mov r0, r2 8095df8: 4619 mov r1, r3 8095dfa: f04f 020a mov.w r2, #10 8095dfe: f04f 0300 mov.w r3, #0 8095e02: f78a fbf3 bl 80205ec <__aeabi_uldivmod> 8095e06: 4602 mov r2, r0 8095e08: 460b mov r3, r1 8095e0a: b2d3 uxtb r3, r2 8095e0c: 3330 adds r3, #48 ; 0x30 8095e0e: b2da uxtb r2, r3 8095e10: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095e14: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 % 1000 % 100 % 10) + 48; 8095e16: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095e1a: 1c73 adds r3, r6, #1 8095e1c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095e20: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095e24: e9d3 0100 ldrd r0, r1, [r3] 8095e28: f242 7210 movw r2, #10000 ; 0x2710 8095e2c: f04f 0300 mov.w r3, #0 8095e30: f78a fbdc bl 80205ec <__aeabi_uldivmod> 8095e34: 4610 mov r0, r2 8095e36: 4619 mov r1, r3 8095e38: f44f 727a mov.w r2, #1000 ; 0x3e8 8095e3c: f04f 0300 mov.w r3, #0 8095e40: f78a fbd4 bl 80205ec <__aeabi_uldivmod> 8095e44: 4610 mov r0, r2 8095e46: 4619 mov r1, r3 8095e48: f04f 0264 mov.w r2, #100 ; 0x64 8095e4c: f04f 0300 mov.w r3, #0 8095e50: f78a fbcc bl 80205ec <__aeabi_uldivmod> 8095e54: 4610 mov r0, r2 8095e56: 4619 mov r1, r3 8095e58: f04f 020a mov.w r2, #10 8095e5c: f04f 0300 mov.w r3, #0 8095e60: f78a fbc4 bl 80205ec <__aeabi_uldivmod> 8095e64: b2d3 uxtb r3, r2 8095e66: 3330 adds r3, #48 ; 0x30 8095e68: b2da uxtb r2, r3 8095e6a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095e6e: 559a strb r2, [r3, r6] 8095e70: e242 b.n 80962f8 if(Size < 1000000) 8095e72: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095e76: e9d3 2300 ldrd r2, r3, [r3] 8095e7a: 487e ldr r0, [pc, #504] ; (8096074 ) 8095e7c: f04f 0100 mov.w r1, #0 8095e80: 4299 cmp r1, r3 8095e82: bf08 it eq 8095e84: 4290 cmpeq r0, r2 8095e86: f0c0 80f9 bcc.w 809607c str1[k++] = (Size / 100000) + 48; 8095e8a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095e8e: 1c73 adds r3, r6, #1 8095e90: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095e94: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095e98: e9d3 0100 ldrd r0, r1, [r3] 8095e9c: 4a76 ldr r2, [pc, #472] ; (8096078 ) 8095e9e: f04f 0300 mov.w r3, #0 8095ea2: f78a fba3 bl 80205ec <__aeabi_uldivmod> 8095ea6: 4602 mov r2, r0 8095ea8: 460b mov r3, r1 8095eaa: b2d3 uxtb r3, r2 8095eac: 3330 adds r3, #48 ; 0x30 8095eae: b2da uxtb r2, r3 8095eb0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095eb4: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 / 10000) + 48; 8095eb6: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095eba: 1c73 adds r3, r6, #1 8095ebc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095ec0: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095ec4: e9d3 0100 ldrd r0, r1, [r3] 8095ec8: 4a6b ldr r2, [pc, #428] ; (8096078 ) 8095eca: f04f 0300 mov.w r3, #0 8095ece: f78a fb8d bl 80205ec <__aeabi_uldivmod> 8095ed2: 4610 mov r0, r2 8095ed4: 4619 mov r1, r3 8095ed6: f242 7210 movw r2, #10000 ; 0x2710 8095eda: f04f 0300 mov.w r3, #0 8095ede: f78a fb85 bl 80205ec <__aeabi_uldivmod> 8095ee2: 4602 mov r2, r0 8095ee4: 460b mov r3, r1 8095ee6: b2d3 uxtb r3, r2 8095ee8: 3330 adds r3, #48 ; 0x30 8095eea: b2da uxtb r2, r3 8095eec: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095ef0: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 / 1000) + 48; 8095ef2: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095ef6: 1c73 adds r3, r6, #1 8095ef8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095efc: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095f00: e9d3 0100 ldrd r0, r1, [r3] 8095f04: 4a5c ldr r2, [pc, #368] ; (8096078 ) 8095f06: f04f 0300 mov.w r3, #0 8095f0a: f78a fb6f bl 80205ec <__aeabi_uldivmod> 8095f0e: 4610 mov r0, r2 8095f10: 4619 mov r1, r3 8095f12: f242 7210 movw r2, #10000 ; 0x2710 8095f16: f04f 0300 mov.w r3, #0 8095f1a: f78a fb67 bl 80205ec <__aeabi_uldivmod> 8095f1e: 4610 mov r0, r2 8095f20: 4619 mov r1, r3 8095f22: f44f 727a mov.w r2, #1000 ; 0x3e8 8095f26: f04f 0300 mov.w r3, #0 8095f2a: f78a fb5f bl 80205ec <__aeabi_uldivmod> 8095f2e: 4602 mov r2, r0 8095f30: 460b mov r3, r1 8095f32: b2d3 uxtb r3, r2 8095f34: 3330 adds r3, #48 ; 0x30 8095f36: b2da uxtb r2, r3 8095f38: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095f3c: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 % 1000 / 100) + 48; 8095f3e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095f42: 1c73 adds r3, r6, #1 8095f44: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095f48: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095f4c: e9d3 0100 ldrd r0, r1, [r3] 8095f50: 4a49 ldr r2, [pc, #292] ; (8096078 ) 8095f52: f04f 0300 mov.w r3, #0 8095f56: f78a fb49 bl 80205ec <__aeabi_uldivmod> 8095f5a: 4610 mov r0, r2 8095f5c: 4619 mov r1, r3 8095f5e: f242 7210 movw r2, #10000 ; 0x2710 8095f62: f04f 0300 mov.w r3, #0 8095f66: f78a fb41 bl 80205ec <__aeabi_uldivmod> 8095f6a: 4610 mov r0, r2 8095f6c: 4619 mov r1, r3 8095f6e: f44f 727a mov.w r2, #1000 ; 0x3e8 8095f72: f04f 0300 mov.w r3, #0 8095f76: f78a fb39 bl 80205ec <__aeabi_uldivmod> 8095f7a: 4610 mov r0, r2 8095f7c: 4619 mov r1, r3 8095f7e: f04f 0264 mov.w r2, #100 ; 0x64 8095f82: f04f 0300 mov.w r3, #0 8095f86: f78a fb31 bl 80205ec <__aeabi_uldivmod> 8095f8a: 4602 mov r2, r0 8095f8c: 460b mov r3, r1 8095f8e: b2d3 uxtb r3, r2 8095f90: 3330 adds r3, #48 ; 0x30 8095f92: b2da uxtb r2, r3 8095f94: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095f98: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 % 1000 % 100 / 10) + 48; 8095f9a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095f9e: 1c73 adds r3, r6, #1 8095fa0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095fa4: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095fa8: e9d3 0100 ldrd r0, r1, [r3] 8095fac: 4a32 ldr r2, [pc, #200] ; (8096078 ) 8095fae: f04f 0300 mov.w r3, #0 8095fb2: f78a fb1b bl 80205ec <__aeabi_uldivmod> 8095fb6: 4610 mov r0, r2 8095fb8: 4619 mov r1, r3 8095fba: f242 7210 movw r2, #10000 ; 0x2710 8095fbe: f04f 0300 mov.w r3, #0 8095fc2: f78a fb13 bl 80205ec <__aeabi_uldivmod> 8095fc6: 4610 mov r0, r2 8095fc8: 4619 mov r1, r3 8095fca: f44f 727a mov.w r2, #1000 ; 0x3e8 8095fce: f04f 0300 mov.w r3, #0 8095fd2: f78a fb0b bl 80205ec <__aeabi_uldivmod> 8095fd6: 4610 mov r0, r2 8095fd8: 4619 mov r1, r3 8095fda: f04f 0264 mov.w r2, #100 ; 0x64 8095fde: f04f 0300 mov.w r3, #0 8095fe2: f78a fb03 bl 80205ec <__aeabi_uldivmod> 8095fe6: 4610 mov r0, r2 8095fe8: 4619 mov r1, r3 8095fea: f04f 020a mov.w r2, #10 8095fee: f04f 0300 mov.w r3, #0 8095ff2: f78a fafb bl 80205ec <__aeabi_uldivmod> 8095ff6: 4602 mov r2, r0 8095ff8: 460b mov r3, r1 8095ffa: b2d3 uxtb r3, r2 8095ffc: 3330 adds r3, #48 ; 0x30 8095ffe: b2da uxtb r2, r3 8096000: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096004: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 % 1000 % 100 % 10) + 48; 8096006: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809600a: 1c73 adds r3, r6, #1 809600c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096010: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096014: e9d3 0100 ldrd r0, r1, [r3] 8096018: 4a17 ldr r2, [pc, #92] ; (8096078 ) 809601a: f04f 0300 mov.w r3, #0 809601e: f78a fae5 bl 80205ec <__aeabi_uldivmod> 8096022: 4610 mov r0, r2 8096024: 4619 mov r1, r3 8096026: f242 7210 movw r2, #10000 ; 0x2710 809602a: f04f 0300 mov.w r3, #0 809602e: f78a fadd bl 80205ec <__aeabi_uldivmod> 8096032: 4610 mov r0, r2 8096034: 4619 mov r1, r3 8096036: f44f 727a mov.w r2, #1000 ; 0x3e8 809603a: f04f 0300 mov.w r3, #0 809603e: f78a fad5 bl 80205ec <__aeabi_uldivmod> 8096042: 4610 mov r0, r2 8096044: 4619 mov r1, r3 8096046: f04f 0264 mov.w r2, #100 ; 0x64 809604a: f04f 0300 mov.w r3, #0 809604e: f78a facd bl 80205ec <__aeabi_uldivmod> 8096052: 4610 mov r0, r2 8096054: 4619 mov r1, r3 8096056: f04f 020a mov.w r2, #10 809605a: f04f 0300 mov.w r3, #0 809605e: f78a fac5 bl 80205ec <__aeabi_uldivmod> 8096062: b2d3 uxtb r3, r2 8096064: 3330 adds r3, #48 ; 0x30 8096066: b2da uxtb r2, r3 8096068: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809606c: 559a strb r2, [r3, r6] 809606e: e143 b.n 80962f8 8096070: 0001869f .word 0x0001869f 8096074: 000f423f .word 0x000f423f 8096078: 000186a0 .word 0x000186a0 if(Size < 10000000) 809607c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096080: e9d3 2300 ldrd r2, r3, [r3] 8096084: a1b4 add r1, pc, #720 ; (adr r1, 8096358 ) 8096086: e9d1 0100 ldrd r0, r1, [r1] 809608a: 4299 cmp r1, r3 809608c: bf08 it eq 809608e: 4290 cmpeq r0, r2 8096090: f0c0 8132 bcc.w 80962f8 str1[k++] = (Size / 1000000) + 48; 8096094: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096098: 1c73 adds r3, r6, #1 809609a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809609e: f507 737a add.w r3, r7, #1000 ; 0x3e8 80960a2: e9d3 0100 ldrd r0, r1, [r3] 80960a6: 4aa8 ldr r2, [pc, #672] ; (8096348 ) 80960a8: f04f 0300 mov.w r3, #0 80960ac: f78a fa9e bl 80205ec <__aeabi_uldivmod> 80960b0: 4602 mov r2, r0 80960b2: 460b mov r3, r1 80960b4: b2d3 uxtb r3, r2 80960b6: 3330 adds r3, #48 ; 0x30 80960b8: b2da uxtb r2, r3 80960ba: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80960be: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 / 100000) + 48; 80960c0: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80960c4: 1c73 adds r3, r6, #1 80960c6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80960ca: f507 737a add.w r3, r7, #1000 ; 0x3e8 80960ce: e9d3 0100 ldrd r0, r1, [r3] 80960d2: 4a9d ldr r2, [pc, #628] ; (8096348 ) 80960d4: f04f 0300 mov.w r3, #0 80960d8: f78a fa88 bl 80205ec <__aeabi_uldivmod> 80960dc: 4610 mov r0, r2 80960de: 4619 mov r1, r3 80960e0: 4a9a ldr r2, [pc, #616] ; (809634c ) 80960e2: f04f 0300 mov.w r3, #0 80960e6: f78a fa81 bl 80205ec <__aeabi_uldivmod> 80960ea: 4602 mov r2, r0 80960ec: 460b mov r3, r1 80960ee: b2d3 uxtb r3, r2 80960f0: 3330 adds r3, #48 ; 0x30 80960f2: b2da uxtb r2, r3 80960f4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80960f8: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 / 10000) + 48; 80960fa: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80960fe: 1c73 adds r3, r6, #1 8096100: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096104: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096108: e9d3 0100 ldrd r0, r1, [r3] 809610c: 4a8e ldr r2, [pc, #568] ; (8096348 ) 809610e: f04f 0300 mov.w r3, #0 8096112: f78a fa6b bl 80205ec <__aeabi_uldivmod> 8096116: 4610 mov r0, r2 8096118: 4619 mov r1, r3 809611a: 4a8c ldr r2, [pc, #560] ; (809634c ) 809611c: f04f 0300 mov.w r3, #0 8096120: f78a fa64 bl 80205ec <__aeabi_uldivmod> 8096124: 4610 mov r0, r2 8096126: 4619 mov r1, r3 8096128: f242 7210 movw r2, #10000 ; 0x2710 809612c: f04f 0300 mov.w r3, #0 8096130: f78a fa5c bl 80205ec <__aeabi_uldivmod> 8096134: 4602 mov r2, r0 8096136: 460b mov r3, r1 8096138: b2d3 uxtb r3, r2 809613a: 3330 adds r3, #48 ; 0x30 809613c: b2da uxtb r2, r3 809613e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096142: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 / 1000) + 48; 8096144: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096148: 1c73 adds r3, r6, #1 809614a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809614e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096152: e9d3 0100 ldrd r0, r1, [r3] 8096156: 4a7c ldr r2, [pc, #496] ; (8096348 ) 8096158: f04f 0300 mov.w r3, #0 809615c: f78a fa46 bl 80205ec <__aeabi_uldivmod> 8096160: 4610 mov r0, r2 8096162: 4619 mov r1, r3 8096164: 4a79 ldr r2, [pc, #484] ; (809634c ) 8096166: f04f 0300 mov.w r3, #0 809616a: f78a fa3f bl 80205ec <__aeabi_uldivmod> 809616e: 4610 mov r0, r2 8096170: 4619 mov r1, r3 8096172: f242 7210 movw r2, #10000 ; 0x2710 8096176: f04f 0300 mov.w r3, #0 809617a: f78a fa37 bl 80205ec <__aeabi_uldivmod> 809617e: 4610 mov r0, r2 8096180: 4619 mov r1, r3 8096182: f44f 727a mov.w r2, #1000 ; 0x3e8 8096186: f04f 0300 mov.w r3, #0 809618a: f78a fa2f bl 80205ec <__aeabi_uldivmod> 809618e: 4602 mov r2, r0 8096190: 460b mov r3, r1 8096192: b2d3 uxtb r3, r2 8096194: 3330 adds r3, #48 ; 0x30 8096196: b2da uxtb r2, r3 8096198: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809619c: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 % 1000 / 100) + 48; 809619e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80961a2: 1c73 adds r3, r6, #1 80961a4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80961a8: f507 737a add.w r3, r7, #1000 ; 0x3e8 80961ac: e9d3 0100 ldrd r0, r1, [r3] 80961b0: 4a65 ldr r2, [pc, #404] ; (8096348 ) 80961b2: f04f 0300 mov.w r3, #0 80961b6: f78a fa19 bl 80205ec <__aeabi_uldivmod> 80961ba: 4610 mov r0, r2 80961bc: 4619 mov r1, r3 80961be: 4a63 ldr r2, [pc, #396] ; (809634c ) 80961c0: f04f 0300 mov.w r3, #0 80961c4: f78a fa12 bl 80205ec <__aeabi_uldivmod> 80961c8: 4610 mov r0, r2 80961ca: 4619 mov r1, r3 80961cc: f242 7210 movw r2, #10000 ; 0x2710 80961d0: f04f 0300 mov.w r3, #0 80961d4: f78a fa0a bl 80205ec <__aeabi_uldivmod> 80961d8: 4610 mov r0, r2 80961da: 4619 mov r1, r3 80961dc: f44f 727a mov.w r2, #1000 ; 0x3e8 80961e0: f04f 0300 mov.w r3, #0 80961e4: f78a fa02 bl 80205ec <__aeabi_uldivmod> 80961e8: 4610 mov r0, r2 80961ea: 4619 mov r1, r3 80961ec: f04f 0264 mov.w r2, #100 ; 0x64 80961f0: f04f 0300 mov.w r3, #0 80961f4: f78a f9fa bl 80205ec <__aeabi_uldivmod> 80961f8: 4602 mov r2, r0 80961fa: 460b mov r3, r1 80961fc: b2d3 uxtb r3, r2 80961fe: 3330 adds r3, #48 ; 0x30 8096200: b2da uxtb r2, r3 8096202: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096206: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 % 1000 % 100 / 10) + 48; 8096208: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809620c: 1c73 adds r3, r6, #1 809620e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8096212: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096216: e9d3 0100 ldrd r0, r1, [r3] 809621a: 4a4b ldr r2, [pc, #300] ; (8096348 ) 809621c: f04f 0300 mov.w r3, #0 8096220: f78a f9e4 bl 80205ec <__aeabi_uldivmod> 8096224: 4610 mov r0, r2 8096226: 4619 mov r1, r3 8096228: 4a48 ldr r2, [pc, #288] ; (809634c ) 809622a: f04f 0300 mov.w r3, #0 809622e: f78a f9dd bl 80205ec <__aeabi_uldivmod> 8096232: 4610 mov r0, r2 8096234: 4619 mov r1, r3 8096236: f242 7210 movw r2, #10000 ; 0x2710 809623a: f04f 0300 mov.w r3, #0 809623e: f78a f9d5 bl 80205ec <__aeabi_uldivmod> 8096242: 4610 mov r0, r2 8096244: 4619 mov r1, r3 8096246: f44f 727a mov.w r2, #1000 ; 0x3e8 809624a: f04f 0300 mov.w r3, #0 809624e: f78a f9cd bl 80205ec <__aeabi_uldivmod> 8096252: 4610 mov r0, r2 8096254: 4619 mov r1, r3 8096256: f04f 0264 mov.w r2, #100 ; 0x64 809625a: f04f 0300 mov.w r3, #0 809625e: f78a f9c5 bl 80205ec <__aeabi_uldivmod> 8096262: 4610 mov r0, r2 8096264: 4619 mov r1, r3 8096266: f04f 020a mov.w r2, #10 809626a: f04f 0300 mov.w r3, #0 809626e: f78a f9bd bl 80205ec <__aeabi_uldivmod> 8096272: 4602 mov r2, r0 8096274: 460b mov r3, r1 8096276: b2d3 uxtb r3, r2 8096278: 3330 adds r3, #48 ; 0x30 809627a: b2da uxtb r2, r3 809627c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8096280: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 % 1000 % 100 % 10) + 48; 8096282: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8096286: 1c73 adds r3, r6, #1 8096288: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809628c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8096290: e9d3 0100 ldrd r0, r1, [r3] 8096294: 4a2c ldr r2, [pc, #176] ; (8096348 ) 8096296: f04f 0300 mov.w r3, #0 809629a: f78a f9a7 bl 80205ec <__aeabi_uldivmod> 809629e: 4610 mov r0, r2 80962a0: 4619 mov r1, r3 80962a2: 4a2a ldr r2, [pc, #168] ; (809634c ) 80962a4: f04f 0300 mov.w r3, #0 80962a8: f78a f9a0 bl 80205ec <__aeabi_uldivmod> 80962ac: 4610 mov r0, r2 80962ae: 4619 mov r1, r3 80962b0: f242 7210 movw r2, #10000 ; 0x2710 80962b4: f04f 0300 mov.w r3, #0 80962b8: f78a f998 bl 80205ec <__aeabi_uldivmod> 80962bc: 4610 mov r0, r2 80962be: 4619 mov r1, r3 80962c0: f44f 727a mov.w r2, #1000 ; 0x3e8 80962c4: f04f 0300 mov.w r3, #0 80962c8: f78a f990 bl 80205ec <__aeabi_uldivmod> 80962cc: 4610 mov r0, r2 80962ce: 4619 mov r1, r3 80962d0: f04f 0264 mov.w r2, #100 ; 0x64 80962d4: f04f 0300 mov.w r3, #0 80962d8: f78a f988 bl 80205ec <__aeabi_uldivmod> 80962dc: 4610 mov r0, r2 80962de: 4619 mov r1, r3 80962e0: f04f 020a mov.w r2, #10 80962e4: f04f 0300 mov.w r3, #0 80962e8: f78a f980 bl 80205ec <__aeabi_uldivmod> 80962ec: b2d3 uxtb r3, r2 80962ee: 3330 adds r3, #48 ; 0x30 80962f0: b2da uxtb r2, r3 80962f2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80962f6: 559a strb r2, [r3, r6] str1[k++] = 'M'; 80962f8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80962fc: 1c5a adds r2, r3, #1 80962fe: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8096302: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8096306: 214d movs r1, #77 ; 0x4d 8096308: 54d1 strb r1, [r2, r3] str1[k++] = 'B'; 809630a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809630e: 1c5a adds r2, r3, #1 8096310: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8096314: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8096318: 2142 movs r1, #66 ; 0x42 809631a: 54d1 strb r1, [r2, r3] str1[k++] = '\0'; 809631c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8096320: 1c5a adds r2, r3, #1 8096322: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8096326: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809632a: 2100 movs r1, #0 809632c: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 809632e: 4b08 ldr r3, [pc, #32] ; (8096350 ) 8096330: 681a ldr r2, [r3, #0] 8096332: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8096336: 429a cmp r2, r3 8096338: d112 bne.n 8096360 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809633a: 4906 ldr r1, [pc, #24] ; (8096354 ) 809633c: f04f 30ff mov.w r0, #4294967295 8096340: f7be f966 bl 8054610 8096344: e011 b.n 809636a 8096346: bf00 nop 8096348: 000f4240 .word 0x000f4240 809634c: 000186a0 .word 0x000186a0 8096350: 20020e00 .word 0x20020e00 8096354: ff606060 .word 0xff606060 8096358: 0098967f .word 0x0098967f 809635c: 00000000 .word 0x00000000 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096360: 49c0 ldr r1, [pc, #768] ; (8096664 ) 8096362: f04f 30ff mov.w r0, #4294967295 8096366: f7be f953 bl 8054610 BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 809636a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809636e: 4abe ldr r2, [pc, #760] ; (8096668 ) 8096370: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8096374: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8096378: 2302 movs r3, #2 809637a: f44f 709c mov.w r0, #312 ; 0x138 809637e: f7be fa0d bl 805479c for(i = 0; i < VIEW_FILES; i++) 8096382: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8096386: 3301 adds r3, #1 8096388: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 809638c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8096390: 2b0b cmp r3, #11 8096392: f67e afff bls.w 8095394 if(NumFilesGTR > VIEW_FILES) 8096396: 4bb5 ldr r3, [pc, #724] ; (809666c ) 8096398: 681b ldr r3, [r3, #0] 809639a: 2b0c cmp r3, #12 809639c: d95f bls.n 809645e k = (140 * VIEW_FILES) / NumFilesGTR; //äëèíà ïîëçóíêà 809639e: 4bb3 ldr r3, [pc, #716] ; (809666c ) 80963a0: 681b ldr r3, [r3, #0] 80963a2: f44f 62d2 mov.w r2, #1680 ; 0x690 80963a6: fbb2 f3f3 udiv r3, r2, r3 80963aa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 80963ae: 4bb0 ldr r3, [pc, #704] ; (8096670 ) 80963b0: 681b ldr r3, [r3, #0] 80963b2: 228c movs r2, #140 ; 0x8c 80963b4: fb02 f303 mul.w r3, r2, r3 80963b8: ee07 3a90 vmov s15, r3 80963bc: eef8 7a67 vcvt.f32.u32 s15, s15 80963c0: f507 638b add.w r3, r7, #1112 ; 0x458 80963c4: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesGTR) + 96.0f; 80963c8: 4ba8 ldr r3, [pc, #672] ; (809666c ) 80963ca: 681b ldr r3, [r3, #0] 80963cc: ee07 3a90 vmov s15, r3 80963d0: eeb8 7a67 vcvt.f32.u32 s14, s15 80963d4: f507 638b add.w r3, r7, #1112 ; 0x458 80963d8: edd3 6a00 vldr s13, [r3] 80963dc: eec6 7a87 vdiv.f32 s15, s13, s14 80963e0: ed9f 7aa4 vldr s14, [pc, #656] ; 8096674 80963e4: ee77 7a87 vadd.f32 s15, s15, s14 80963e8: f507 638b add.w r3, r7, #1112 ; 0x458 80963ec: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 80963f0: f507 638b add.w r3, r7, #1112 ; 0x458 80963f4: edd3 7a00 vldr s15, [r3] 80963f8: eefc 7ae7 vcvt.u32.f32 s15, s15 80963fc: edc7 7a01 vstr s15, [r7, #4] 8096400: 88bb ldrh r3, [r7, #4] 8096402: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 8096406: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809640a: b29a uxth r2, r3 809640c: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8096410: 4413 add r3, r2 8096412: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 8096416: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 809641a: 2bec cmp r3, #236 ; 0xec 809641c: d905 bls.n 809642a k = 236 - y0; 809641e: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8096422: f1c3 03ec rsb r3, r3, #236 ; 0xec 8096426: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809642a: 498e ldr r1, [pc, #568] ; (8096664 ) 809642c: 4892 ldr r0, [pc, #584] ; (8096678 ) 809642e: f7be f8ef bl 8054610 BSP_LCD_DrawRect(314, 94, 5, 143); 8096432: 238f movs r3, #143 ; 0x8f 8096434: 2205 movs r2, #5 8096436: 215e movs r1, #94 ; 0x5e 8096438: f44f 709d mov.w r0, #314 ; 0x13a 809643c: f7be fbee bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096440: 4988 ldr r1, [pc, #544] ; (8096664 ) 8096442: f04f 30ff mov.w r0, #4294967295 8096446: f7be f8e3 bl 8054610 BSP_LCD_FillRect(316, y0, 2, k); 809644a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809644e: b29b uxth r3, r3 8096450: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8096454: 2202 movs r2, #2 8096456: f44f 709e mov.w r0, #316 ; 0x13c 809645a: f7be fd67 bl 8054f2c if((menupos != NoFilesGTR) && (menupos != FilesGTR)) 809645e: 4b87 ldr r3, [pc, #540] ; (809667c ) 8096460: 781b ldrb r3, [r3, #0] 8096462: b2db uxtb r3, r3 8096464: 2b01 cmp r3, #1 8096466: f002 80dc beq.w 8098622 809646a: 4b84 ldr r3, [pc, #528] ; (809667c ) 809646c: 781b ldrb r3, [r3, #0] 809646e: b2db uxtb r3, r3 8096470: 2b02 cmp r3, #2 8096472: f002 80d6 beq.w 8098622 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8096476: 497b ldr r1, [pc, #492] ; (8096664 ) 8096478: 487f ldr r0, [pc, #508] ; (8096678 ) 809647a: f7be f8c9 bl 8054610 BSP_LCD_FillRect(60, 73, 200, 124); 809647e: 237c movs r3, #124 ; 0x7c 8096480: 22c8 movs r2, #200 ; 0xc8 8096482: 2149 movs r1, #73 ; 0x49 8096484: 203c movs r0, #60 ; 0x3c 8096486: f7be fd51 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 809648a: 4976 ldr r1, [pc, #472] ; (8096664 ) 809648c: 4875 ldr r0, [pc, #468] ; (8096664 ) 809648e: f7be f8bf bl 8054610 BSP_LCD_FillRect(61, 74, 198, 122); 8096492: 237a movs r3, #122 ; 0x7a 8096494: 22c6 movs r2, #198 ; 0xc6 8096496: 214a movs r1, #74 ; 0x4a 8096498: 203d movs r0, #61 ; 0x3d 809649a: f7be fd47 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809649e: 4971 ldr r1, [pc, #452] ; (8096664 ) 80964a0: f04f 30ff mov.w r0, #4294967295 80964a4: f7be f8b4 bl 8054610 BSP_LCD_SetFont(&Font12); 80964a8: 4875 ldr r0, [pc, #468] ; (8096680 ) 80964aa: f7be f8ed bl 8054688 if((menupos == UpNo) || (menupos == UpYes)) 80964ae: 4b73 ldr r3, [pc, #460] ; (809667c ) 80964b0: 781b ldrb r3, [r3, #0] 80964b2: b2db uxtb r3, r3 80964b4: 2b06 cmp r3, #6 80964b6: d004 beq.n 80964c2 80964b8: 4b70 ldr r3, [pc, #448] ; (809667c ) 80964ba: 781b ldrb r3, [r3, #0] 80964bc: b2db uxtb r3, r3 80964be: 2b07 cmp r3, #7 80964c0: d179 bne.n 80965b6 if(pardata.LANG == RUS) 80964c2: 4b70 ldr r3, [pc, #448] ; (8096684 ) 80964c4: 7b1b ldrb r3, [r3, #12] 80964c6: b2db uxtb r3, r3 80964c8: 2b00 cmp r3, #0 80964ca: d10c bne.n 80964e6 BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûå ôàéëû áóäóò", CENTER_MODE); 80964cc: 2301 movs r3, #1 80964ce: 4a6e ldr r2, [pc, #440] ; (8096688 ) 80964d0: 216f movs r1, #111 ; 0x6f 80964d2: 20a0 movs r0, #160 ; 0xa0 80964d4: f7be f962 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 80964d8: 2301 movs r3, #1 80964da: 4a6c ldr r2, [pc, #432] ; (809668c ) 80964dc: 217e movs r1, #126 ; 0x7e 80964de: 20a0 movs r0, #160 ; 0xa0 80964e0: f7be f95c bl 805479c 80964e4: e00b b.n 80964fe BSP_LCD_DisplayStringAt(160, 111, "The selected files will", CENTER_MODE); 80964e6: 2301 movs r3, #1 80964e8: 4a69 ldr r2, [pc, #420] ; (8096690 ) 80964ea: 216f movs r1, #111 ; 0x6f 80964ec: 20a0 movs r0, #160 ; 0xa0 80964ee: f7be f955 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 80964f2: 2301 movs r3, #1 80964f4: 4a67 ldr r2, [pc, #412] ; (8096694 ) 80964f6: 217e movs r1, #126 ; 0x7e 80964f8: 20a0 movs r0, #160 ; 0xa0 80964fa: f7be f94f bl 805479c if(menupos == UpNo) 80964fe: 4b5f ldr r3, [pc, #380] ; (809667c ) 8096500: 781b ldrb r3, [r3, #0] 8096502: b2db uxtb r3, r3 8096504: 2b06 cmp r3, #6 8096506: d128 bne.n 809655a if(pardata.LANG == RUS) 8096508: 4b5e ldr r3, [pc, #376] ; (8096684 ) 809650a: 7b1b ldrb r3, [r3, #12] 809650c: b2db uxtb r3, r3 809650e: 2b00 cmp r3, #0 8096510: d111 bne.n 8096536 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8096512: 2301 movs r3, #1 8096514: 4a60 ldr r2, [pc, #384] ; (8096698 ) 8096516: 21af movs r1, #175 ; 0xaf 8096518: 20e6 movs r0, #230 ; 0xe6 809651a: f7be f93f bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809651e: 495f ldr r1, [pc, #380] ; (809669c ) 8096520: f04f 30ff mov.w r0, #4294967295 8096524: f7be f874 bl 8054610 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8096528: 2301 movs r3, #1 809652a: 4a5d ldr r2, [pc, #372] ; (80966a0 ) 809652c: 21af movs r1, #175 ; 0xaf 809652e: 205a movs r0, #90 ; 0x5a 8096530: f7be f934 bl 805479c if(menupos == UpNo) 8096534: e088 b.n 8096648 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8096536: 2301 movs r3, #1 8096538: 4a5a ldr r2, [pc, #360] ; (80966a4 ) 809653a: 21af movs r1, #175 ; 0xaf 809653c: 20e6 movs r0, #230 ; 0xe6 809653e: f7be f92d bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096542: 4956 ldr r1, [pc, #344] ; (809669c ) 8096544: f04f 30ff mov.w r0, #4294967295 8096548: f7be f862 bl 8054610 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 809654c: 2301 movs r3, #1 809654e: 4a56 ldr r2, [pc, #344] ; (80966a8 ) 8096550: 21af movs r1, #175 ; 0xaf 8096552: 205a movs r0, #90 ; 0x5a 8096554: f7be f922 bl 805479c if(menupos == UpNo) 8096558: e076 b.n 8096648 if(menupos == UpYes) 809655a: 4b48 ldr r3, [pc, #288] ; (809667c ) 809655c: 781b ldrb r3, [r3, #0] 809655e: b2db uxtb r3, r3 8096560: 2b07 cmp r3, #7 8096562: d171 bne.n 8096648 if(pardata.LANG == RUS) 8096564: 4b47 ldr r3, [pc, #284] ; (8096684 ) 8096566: 7b1b ldrb r3, [r3, #12] 8096568: b2db uxtb r3, r3 809656a: 2b00 cmp r3, #0 809656c: d111 bne.n 8096592 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 809656e: 2301 movs r3, #1 8096570: 4a4b ldr r2, [pc, #300] ; (80966a0 ) 8096572: 21af movs r1, #175 ; 0xaf 8096574: 205a movs r0, #90 ; 0x5a 8096576: f7be f911 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809657a: 4948 ldr r1, [pc, #288] ; (809669c ) 809657c: f04f 30ff mov.w r0, #4294967295 8096580: f7be f846 bl 8054610 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8096584: 2301 movs r3, #1 8096586: 4a44 ldr r2, [pc, #272] ; (8096698 ) 8096588: 21af movs r1, #175 ; 0xaf 809658a: 20e6 movs r0, #230 ; 0xe6 809658c: f7be f906 bl 805479c if(menupos == UpNo) 8096590: e05a b.n 8096648 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8096592: 2301 movs r3, #1 8096594: 4a44 ldr r2, [pc, #272] ; (80966a8 ) 8096596: 21af movs r1, #175 ; 0xaf 8096598: 205a movs r0, #90 ; 0x5a 809659a: f7be f8ff bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809659e: 493f ldr r1, [pc, #252] ; (809669c ) 80965a0: f04f 30ff mov.w r0, #4294967295 80965a4: f7be f834 bl 8054610 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 80965a8: 2301 movs r3, #1 80965aa: 4a3e ldr r2, [pc, #248] ; (80966a4 ) 80965ac: 21af movs r1, #175 ; 0xaf 80965ae: 20e6 movs r0, #230 ; 0xe6 80965b0: f7be f8f4 bl 805479c if(menupos == UpNo) 80965b4: e048 b.n 8096648 if(menupos == CleanUpResult) 80965b6: 4b31 ldr r3, [pc, #196] ; (809667c ) 80965b8: 781b ldrb r3, [r3, #0] 80965ba: b2db uxtb r3, r3 80965bc: 2b0a cmp r3, #10 80965be: f042 8030 bne.w 8098622 if(CleanStatus == AP_OK) 80965c2: 4b3a ldr r3, [pc, #232] ; (80966ac ) 80965c4: 781b ldrb r3, [r3, #0] 80965c6: b2db uxtb r3, r3 80965c8: 2b00 cmp r3, #0 80965ca: d118 bne.n 80965fe if(pardata.LANG == RUS) 80965cc: 4b2d ldr r3, [pc, #180] ; (8096684 ) 80965ce: 7b1b ldrb r3, [r3, #12] 80965d0: b2db uxtb r3, r3 80965d2: 2b00 cmp r3, #0 80965d4: d10c bne.n 80965f0 BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 80965d6: 2301 movs r3, #1 80965d8: 4a35 ldr r2, [pc, #212] ; (80966b0 ) 80965da: 216f movs r1, #111 ; 0x6f 80965dc: 20a0 movs r0, #160 ; 0xa0 80965de: f7be f8dd bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 80965e2: 2301 movs r3, #1 80965e4: 4a33 ldr r2, [pc, #204] ; (80966b4 ) 80965e6: 217e movs r1, #126 ; 0x7e 80965e8: 20a0 movs r0, #160 ; 0xa0 80965ea: f7be f8d7 bl 805479c 80965ee: e01e b.n 809662e BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 80965f0: 2301 movs r3, #1 80965f2: 4a31 ldr r2, [pc, #196] ; (80966b8 ) 80965f4: 217e movs r1, #126 ; 0x7e 80965f6: 20a0 movs r0, #160 ; 0xa0 80965f8: f7be f8d0 bl 805479c 80965fc: e017 b.n 809662e if(pardata.LANG == RUS) 80965fe: 4b21 ldr r3, [pc, #132] ; (8096684 ) 8096600: 7b1b ldrb r3, [r3, #12] 8096602: b2db uxtb r3, r3 8096604: 2b00 cmp r3, #0 8096606: d10c bne.n 8096622 BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8096608: 2301 movs r3, #1 809660a: 4a2c ldr r2, [pc, #176] ; (80966bc ) 809660c: 216f movs r1, #111 ; 0x6f 809660e: 20a0 movs r0, #160 ; 0xa0 8096610: f7be f8c4 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 8096614: 2301 movs r3, #1 8096616: 4a2a ldr r2, [pc, #168] ; (80966c0 ) 8096618: 217e movs r1, #126 ; 0x7e 809661a: 20a0 movs r0, #160 ; 0xa0 809661c: f7be f8be bl 805479c 8096620: e005 b.n 809662e BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 8096622: 2301 movs r3, #1 8096624: 4a27 ldr r2, [pc, #156] ; (80966c4 ) 8096626: 217e movs r1, #126 ; 0x7e 8096628: 20a0 movs r0, #160 ; 0xa0 809662a: f7be f8b7 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809662e: 491b ldr r1, [pc, #108] ; (809669c ) 8096630: f04f 30ff mov.w r0, #4294967295 8096634: f7bd ffec bl 8054610 BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8096638: 2301 movs r3, #1 809663a: 4a23 ldr r2, [pc, #140] ; (80966c8 ) 809663c: 21af movs r1, #175 ; 0xaf 809663e: 20a0 movs r0, #160 ; 0xa0 8096640: f7be f8ac bl 805479c break; 8096644: f001 bfed b.w 8098622 if(menupos == UpNo) 8096648: bf00 nop break; 809664a: f001 bfea b.w 8098622 case ROUTE: if(pardata.LANG == RUS) 809664e: 4b0d ldr r3, [pc, #52] ; (8096684 ) 8096650: 7b1b ldrb r3, [r3, #12] 8096652: b2db uxtb r3, r3 8096654: 2b00 cmp r3, #0 8096656: d13b bne.n 80966d0 DrawImage(&bmLEGEND_GTR_RUS, 0, 45); 8096658: 222d movs r2, #45 ; 0x2d 809665a: 2100 movs r1, #0 809665c: 481b ldr r0, [pc, #108] ; (80966cc ) 809665e: f7be fecb bl 80553f8 8096662: e03a b.n 80966da 8096664: ff0a0f1f .word 0xff0a0f1f 8096668: 080f3818 .word 0x080f3818 809666c: 20020e24 .word 0x20020e24 8096670: 20020e04 .word 0x20020e04 8096674: 42c00000 .word 0x42c00000 8096678: ffd3d3d3 .word 0xffd3d3d3 809667c: 20020070 .word 0x20020070 8096680: 20020038 .word 0x20020038 8096684: 20023ea8 .word 0x20023ea8 8096688: 080d47c0 .word 0x080d47c0 809668c: 080d4588 .word 0x080d4588 8096690: 080d47d8 .word 0x080d47d8 8096694: 080d45b8 .word 0x080d45b8 8096698: 080d45d0 .word 0x080d45d0 809669c: ff606060 .word 0xff606060 80966a0: 080d45d4 .word 0x080d45d4 80966a4: 080d45d8 .word 0x080d45d8 80966a8: 080d45dc .word 0x080d45dc 80966ac: 20020df0 .word 0x20020df0 80966b0: 080d45e0 .word 0x080d45e0 80966b4: 080d4368 .word 0x080d4368 80966b8: 080d45f4 .word 0x080d45f4 80966bc: 080d4374 .word 0x080d4374 80966c0: 080d460c .word 0x080d460c 80966c4: 080d4618 .word 0x080d4618 80966c8: 080d4628 .word 0x080d4628 80966cc: 08128b70 .word 0x08128b70 else DrawImage(&bmLEGEND_GTR_ENG, 0, 45); 80966d0: 222d movs r2, #45 ; 0x2d 80966d2: 2100 movs r1, #0 80966d4: 48b6 ldr r0, [pc, #728] ; (80969b0 ) 80966d6: f7be fe8f bl 80553f8 if(menupos == NoFilesCSV) 80966da: 4bb6 ldr r3, [pc, #728] ; (80969b4 ) 80966dc: 781b ldrb r3, [r3, #0] 80966de: b2db uxtb r3, r3 80966e0: 2b01 cmp r3, #1 80966e2: d11c bne.n 809671e { BSP_LCD_SetFont(&Font12); 80966e4: 48b4 ldr r0, [pc, #720] ; (80969b8 ) 80966e6: f7bd ffcf bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80966ea: 49b4 ldr r1, [pc, #720] ; (80969bc ) 80966ec: f04f 30ff mov.w r0, #4294967295 80966f0: f7bd ff8e bl 8054610 if(pardata.LANG == RUS) 80966f4: 4bb2 ldr r3, [pc, #712] ; (80969c0 ) 80966f6: 7b1b ldrb r3, [r3, #12] 80966f8: b2db uxtb r3, r3 80966fa: 2b00 cmp r3, #0 80966fc: d107 bne.n 809670e BSP_LCD_DisplayStringAt(160, 111+15, "Ôàéëû îòñóòñòâóþò...", CENTER_MODE); 80966fe: 2301 movs r3, #1 8096700: 4ab0 ldr r2, [pc, #704] ; (80969c4 ) 8096702: 217e movs r1, #126 ; 0x7e 8096704: 20a0 movs r0, #160 ; 0xa0 8096706: f7be f849 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 809670a: f001 bf8c b.w 8098626 else BSP_LCD_DisplayStringAt(160, 111+15, "No files...", CENTER_MODE); 809670e: 2301 movs r3, #1 8096710: 4aad ldr r2, [pc, #692] ; (80969c8 ) 8096712: 217e movs r1, #126 ; 0x7e 8096714: 20a0 movs r0, #160 ; 0xa0 8096716: f7be f841 bl 805479c break; 809671a: f001 bf84 b.w 8098626 if((menupos == FilesCSV) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) // 809671e: 4ba5 ldr r3, [pc, #660] ; (80969b4 ) 8096720: 781b ldrb r3, [r3, #0] 8096722: b2db uxtb r3, r3 8096724: 2b02 cmp r3, #2 8096726: d00f beq.n 8096748 8096728: 4ba2 ldr r3, [pc, #648] ; (80969b4 ) 809672a: 781b ldrb r3, [r3, #0] 809672c: b2db uxtb r3, r3 809672e: 2b06 cmp r3, #6 8096730: d00a beq.n 8096748 8096732: 4ba0 ldr r3, [pc, #640] ; (80969b4 ) 8096734: 781b ldrb r3, [r3, #0] 8096736: b2db uxtb r3, r3 8096738: 2b07 cmp r3, #7 809673a: d005 beq.n 8096748 809673c: 4b9d ldr r3, [pc, #628] ; (80969b4 ) 809673e: 781b ldrb r3, [r3, #0] 8096740: b2db uxtb r3, r3 8096742: 2b0a cmp r3, #10 8096744: f041 876f bne.w 8098626 BSP_LCD_SetFont(&Font12); 8096748: 489b ldr r0, [pc, #620] ; (80969b8 ) 809674a: f7bd ff9d bl 8054688 for(i = 0; i < VIEW_FILES; i++) 809674e: 2300 movs r3, #0 8096750: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8096754: e07e b.n 8096854 if(CursorIndex == i) 8096756: 4b9d ldr r3, [pc, #628] ; (80969cc ) 8096758: 681a ldr r2, [r3, #0] 809675a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809675e: 429a cmp r2, r3 8096760: d119 bne.n 8096796 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8096762: 499b ldr r1, [pc, #620] ; (80969d0 ) 8096764: 489a ldr r0, [pc, #616] ; (80969d0 ) 8096766: f7bd ff53 bl 8054610 BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 809676a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809676e: 4a99 ldr r2, [pc, #612] ; (80969d4 ) 8096770: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8096774: 4b98 ldr r3, [pc, #608] ; (80969d8 ) 8096776: 681b ldr r3, [r3, #0] 8096778: 88db ldrh r3, [r3, #6] 809677a: f44f 729c mov.w r2, #312 ; 0x138 809677e: 2003 movs r0, #3 8096780: f7be fbd4 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096784: 4992 ldr r1, [pc, #584] ; (80969d0 ) 8096786: f04f 30ff mov.w r0, #4294967295 809678a: f7bd ff41 bl 8054610 j = LCD_COLOR_CURSOR; 809678e: 4b90 ldr r3, [pc, #576] ; (80969d0 ) 8096790: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 8096794: e007 b.n 80967a6 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096796: 4989 ldr r1, [pc, #548] ; (80969bc ) 8096798: f04f 30ff mov.w r0, #4294967295 809679c: f7bd ff38 bl 8054610 j = LCD_COLOR_BLACK; 80967a0: 4b86 ldr r3, [pc, #536] ; (80969bc ) 80967a2: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc if(ExplorerFiles[i].fname[0] != 0) 80967a6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80967aa: 498c ldr r1, [pc, #560] ; (80969dc ) 80967ac: 4613 mov r3, r2 80967ae: 00db lsls r3, r3, #3 80967b0: 1a9b subs r3, r3, r2 80967b2: 00db lsls r3, r3, #3 80967b4: 440b add r3, r1 80967b6: 330c adds r3, #12 80967b8: 781b ldrb r3, [r3, #0] 80967ba: 2b00 cmp r3, #0 80967bc: d045 beq.n 809684a if(NumFilesDelete != 0) 80967be: 4b88 ldr r3, [pc, #544] ; (80969e0 ) 80967c0: 681b ldr r3, [r3, #0] 80967c2: 2b00 cmp r3, #0 80967c4: d02e beq.n 8096824 for(k = 0; k < MAX_CHECKED_FILES; k++) 80967c6: 2300 movs r3, #0 80967c8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80967cc: e025 b.n 809681a if(strcmp(ExplorerFiles[i].fname, &StrRAM(k, 0)) == 0) 80967ce: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80967d2: 4613 mov r3, r2 80967d4: 00db lsls r3, r3, #3 80967d6: 1a9b subs r3, r3, r2 80967d8: 00db lsls r3, r3, #3 80967da: 3308 adds r3, #8 80967dc: 4a7f ldr r2, [pc, #508] ; (80969dc ) 80967de: 4413 add r3, r2 80967e0: 1d18 adds r0, r3, #4 80967e2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80967e6: 4613 mov r3, r2 80967e8: 009b lsls r3, r3, #2 80967ea: 4413 add r3, r2 80967ec: 00db lsls r3, r3, #3 80967ee: 461a mov r2, r3 80967f0: 4b7c ldr r3, [pc, #496] ; (80969e4 ) 80967f2: 4413 add r3, r2 80967f4: 4619 mov r1, r3 80967f6: f789 fd83 bl 8020300 80967fa: 4603 mov r3, r0 80967fc: 2b00 cmp r3, #0 80967fe: d107 bne.n 8096810 LCD_SetColors(LCD_COLOR_GREEN, j); 8096800: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8096804: 4619 mov r1, r3 8096806: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809680a: f7bd ff01 bl 8054610 break; 809680e: e009 b.n 8096824 for(k = 0; k < MAX_CHECKED_FILES; k++) 8096810: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8096814: 3301 adds r3, #1 8096816: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809681a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809681e: f5b3 7f00 cmp.w r3, #512 ; 0x200 8096822: d3d4 bcc.n 80967ce BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8096824: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8096828: 4a6a ldr r2, [pc, #424] ; (80969d4 ) 809682a: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809682e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8096832: 4613 mov r3, r2 8096834: 00db lsls r3, r3, #3 8096836: 1a9b subs r3, r3, r2 8096838: 00db lsls r3, r3, #3 809683a: 3308 adds r3, #8 809683c: 4a67 ldr r2, [pc, #412] ; (80969dc ) 809683e: 4413 add r3, r2 8096840: 1d1a adds r2, r3, #4 8096842: 2303 movs r3, #3 8096844: 2005 movs r0, #5 8096846: f7bd ffa9 bl 805479c for(i = 0; i < VIEW_FILES; i++) 809684a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809684e: 3301 adds r3, #1 8096850: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8096854: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8096858: 2b0b cmp r3, #11 809685a: f67f af7c bls.w 8096756 if(NumFilesCSV > VIEW_FILES) 809685e: 4b62 ldr r3, [pc, #392] ; (80969e8 ) 8096860: 681b ldr r3, [r3, #0] 8096862: 2b0c cmp r3, #12 8096864: d95f bls.n 8096926 k = (140 * VIEW_FILES) / NumFilesCSV; //äëèíà ïîëçóíêà 8096866: 4b60 ldr r3, [pc, #384] ; (80969e8 ) 8096868: 681b ldr r3, [r3, #0] 809686a: f44f 62d2 mov.w r2, #1680 ; 0x690 809686e: fbb2 f3f3 udiv r3, r2, r3 8096872: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8096876: 4b5d ldr r3, [pc, #372] ; (80969ec ) 8096878: 681b ldr r3, [r3, #0] 809687a: 228c movs r2, #140 ; 0x8c 809687c: fb02 f303 mul.w r3, r2, r3 8096880: ee07 3a90 vmov s15, r3 8096884: eef8 7a67 vcvt.f32.u32 s15, s15 8096888: f507 638b add.w r3, r7, #1112 ; 0x458 809688c: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesCSV) + 96.0f; 8096890: 4b55 ldr r3, [pc, #340] ; (80969e8 ) 8096892: 681b ldr r3, [r3, #0] 8096894: ee07 3a90 vmov s15, r3 8096898: eeb8 7a67 vcvt.f32.u32 s14, s15 809689c: f507 638b add.w r3, r7, #1112 ; 0x458 80968a0: edd3 6a00 vldr s13, [r3] 80968a4: eec6 7a87 vdiv.f32 s15, s13, s14 80968a8: ed9f 7a51 vldr s14, [pc, #324] ; 80969f0 80968ac: ee77 7a87 vadd.f32 s15, s15, s14 80968b0: f507 638b add.w r3, r7, #1112 ; 0x458 80968b4: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 80968b8: f507 638b add.w r3, r7, #1112 ; 0x458 80968bc: edd3 7a00 vldr s15, [r3] 80968c0: eefc 7ae7 vcvt.u32.f32 s15, s15 80968c4: edc7 7a01 vstr s15, [r7, #4] 80968c8: 88bb ldrh r3, [r7, #4] 80968ca: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 80968ce: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80968d2: b29a uxth r2, r3 80968d4: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80968d8: 4413 add r3, r2 80968da: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 80968de: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80968e2: 2bec cmp r3, #236 ; 0xec 80968e4: d905 bls.n 80968f2 k = 236 - y0; 80968e6: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80968ea: f1c3 03ec rsb r3, r3, #236 ; 0xec 80968ee: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80968f2: 4932 ldr r1, [pc, #200] ; (80969bc ) 80968f4: 483f ldr r0, [pc, #252] ; (80969f4 ) 80968f6: f7bd fe8b bl 8054610 BSP_LCD_DrawRect(314, 94, 5, 143); 80968fa: 238f movs r3, #143 ; 0x8f 80968fc: 2205 movs r2, #5 80968fe: 215e movs r1, #94 ; 0x5e 8096900: f44f 709d mov.w r0, #314 ; 0x13a 8096904: f7be f98a bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096908: 492c ldr r1, [pc, #176] ; (80969bc ) 809690a: f04f 30ff mov.w r0, #4294967295 809690e: f7bd fe7f bl 8054610 BSP_LCD_FillRect(316, y0, 2, k); 8096912: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8096916: b29b uxth r3, r3 8096918: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 809691c: 2202 movs r2, #2 809691e: f44f 709e mov.w r0, #316 ; 0x13c 8096922: f7be fb03 bl 8054f2c if((menupos != NoFilesCSV) && (menupos != FilesCSV)) 8096926: 4b23 ldr r3, [pc, #140] ; (80969b4 ) 8096928: 781b ldrb r3, [r3, #0] 809692a: b2db uxtb r3, r3 809692c: 2b01 cmp r3, #1 809692e: f001 867a beq.w 8098626 8096932: 4b20 ldr r3, [pc, #128] ; (80969b4 ) 8096934: 781b ldrb r3, [r3, #0] 8096936: b2db uxtb r3, r3 8096938: 2b02 cmp r3, #2 809693a: f001 8674 beq.w 8098626 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809693e: 491f ldr r1, [pc, #124] ; (80969bc ) 8096940: 482c ldr r0, [pc, #176] ; (80969f4 ) 8096942: f7bd fe65 bl 8054610 BSP_LCD_FillRect(60, 73, 200, 124); 8096946: 237c movs r3, #124 ; 0x7c 8096948: 22c8 movs r2, #200 ; 0xc8 809694a: 2149 movs r1, #73 ; 0x49 809694c: 203c movs r0, #60 ; 0x3c 809694e: f7be faed bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8096952: 491a ldr r1, [pc, #104] ; (80969bc ) 8096954: 4819 ldr r0, [pc, #100] ; (80969bc ) 8096956: f7bd fe5b bl 8054610 BSP_LCD_FillRect(61, 74, 198, 122); 809695a: 237a movs r3, #122 ; 0x7a 809695c: 22c6 movs r2, #198 ; 0xc6 809695e: 214a movs r1, #74 ; 0x4a 8096960: 203d movs r0, #61 ; 0x3d 8096962: f7be fae3 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096966: 4915 ldr r1, [pc, #84] ; (80969bc ) 8096968: f04f 30ff mov.w r0, #4294967295 809696c: f7bd fe50 bl 8054610 BSP_LCD_SetFont(&Font12); 8096970: 4811 ldr r0, [pc, #68] ; (80969b8 ) 8096972: f7bd fe89 bl 8054688 if((menupos == UpNo) || (menupos == UpYes)) 8096976: 4b0f ldr r3, [pc, #60] ; (80969b4 ) 8096978: 781b ldrb r3, [r3, #0] 809697a: b2db uxtb r3, r3 809697c: 2b06 cmp r3, #6 809697e: d005 beq.n 809698c 8096980: 4b0c ldr r3, [pc, #48] ; (80969b4 ) 8096982: 781b ldrb r3, [r3, #0] 8096984: b2db uxtb r3, r3 8096986: 2b07 cmp r3, #7 8096988: f040 80a2 bne.w 8096ad0 if(pardata.LANG == RUS) 809698c: 4b0c ldr r3, [pc, #48] ; (80969c0 ) 809698e: 7b1b ldrb r3, [r3, #12] 8096990: b2db uxtb r3, r3 8096992: 2b00 cmp r3, #0 8096994: d134 bne.n 8096a00 BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûå ôàéëû áóäóò", CENTER_MODE); 8096996: 2301 movs r3, #1 8096998: 4a17 ldr r2, [pc, #92] ; (80969f8 ) 809699a: 216f movs r1, #111 ; 0x6f 809699c: 20a0 movs r0, #160 ; 0xa0 809699e: f7bd fefd bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 80969a2: 2301 movs r3, #1 80969a4: 4a15 ldr r2, [pc, #84] ; (80969fc ) 80969a6: 217e movs r1, #126 ; 0x7e 80969a8: 20a0 movs r0, #160 ; 0xa0 80969aa: f7bd fef7 bl 805479c 80969ae: e033 b.n 8096a18 80969b0: 08124064 .word 0x08124064 80969b4: 20020070 .word 0x20020070 80969b8: 20020038 .word 0x20020038 80969bc: ff0a0f1f .word 0xff0a0f1f 80969c0: 20023ea8 .word 0x20023ea8 80969c4: 080d47a8 .word 0x080d47a8 80969c8: 080d46f8 .word 0x080d46f8 80969cc: 20020e00 .word 0x20020e00 80969d0: ff606060 .word 0xff606060 80969d4: 080f3818 .word 0x080f3818 80969d8: 20025d6c .word 0x20025d6c 80969dc: 20022398 .word 0x20022398 80969e0: 20020e2c .word 0x20020e2c 80969e4: 6404b000 .word 0x6404b000 80969e8: 20020e28 .word 0x20020e28 80969ec: 20020e04 .word 0x20020e04 80969f0: 42c00000 .word 0x42c00000 80969f4: ffd3d3d3 .word 0xffd3d3d3 80969f8: 080d47c0 .word 0x080d47c0 80969fc: 080d4588 .word 0x080d4588 BSP_LCD_DisplayStringAt(160, 111, "The selected files will", CENTER_MODE); 8096a00: 2301 movs r3, #1 8096a02: 4ac8 ldr r2, [pc, #800] ; (8096d24 ) 8096a04: 216f movs r1, #111 ; 0x6f 8096a06: 20a0 movs r0, #160 ; 0xa0 8096a08: f7bd fec8 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 8096a0c: 2301 movs r3, #1 8096a0e: 4ac6 ldr r2, [pc, #792] ; (8096d28 ) 8096a10: 217e movs r1, #126 ; 0x7e 8096a12: 20a0 movs r0, #160 ; 0xa0 8096a14: f7bd fec2 bl 805479c if(menupos == UpNo) 8096a18: 4bc4 ldr r3, [pc, #784] ; (8096d2c ) 8096a1a: 781b ldrb r3, [r3, #0] 8096a1c: b2db uxtb r3, r3 8096a1e: 2b06 cmp r3, #6 8096a20: d128 bne.n 8096a74 if(pardata.LANG == RUS) 8096a22: 4bc3 ldr r3, [pc, #780] ; (8096d30 ) 8096a24: 7b1b ldrb r3, [r3, #12] 8096a26: b2db uxtb r3, r3 8096a28: 2b00 cmp r3, #0 8096a2a: d111 bne.n 8096a50 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8096a2c: 2301 movs r3, #1 8096a2e: 4ac1 ldr r2, [pc, #772] ; (8096d34 ) 8096a30: 21af movs r1, #175 ; 0xaf 8096a32: 20e6 movs r0, #230 ; 0xe6 8096a34: f7bd feb2 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096a38: 49bf ldr r1, [pc, #764] ; (8096d38 ) 8096a3a: f04f 30ff mov.w r0, #4294967295 8096a3e: f7bd fde7 bl 8054610 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8096a42: 2301 movs r3, #1 8096a44: 4abd ldr r2, [pc, #756] ; (8096d3c ) 8096a46: 21af movs r1, #175 ; 0xaf 8096a48: 205a movs r0, #90 ; 0x5a 8096a4a: f7bd fea7 bl 805479c if(menupos == UpNo) 8096a4e: e088 b.n 8096b62 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8096a50: 2301 movs r3, #1 8096a52: 4abb ldr r2, [pc, #748] ; (8096d40 ) 8096a54: 21af movs r1, #175 ; 0xaf 8096a56: 20e6 movs r0, #230 ; 0xe6 8096a58: f7bd fea0 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096a5c: 49b6 ldr r1, [pc, #728] ; (8096d38 ) 8096a5e: f04f 30ff mov.w r0, #4294967295 8096a62: f7bd fdd5 bl 8054610 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8096a66: 2301 movs r3, #1 8096a68: 4ab6 ldr r2, [pc, #728] ; (8096d44 ) 8096a6a: 21af movs r1, #175 ; 0xaf 8096a6c: 205a movs r0, #90 ; 0x5a 8096a6e: f7bd fe95 bl 805479c if(menupos == UpNo) 8096a72: e076 b.n 8096b62 if(menupos == UpYes) 8096a74: 4bad ldr r3, [pc, #692] ; (8096d2c ) 8096a76: 781b ldrb r3, [r3, #0] 8096a78: b2db uxtb r3, r3 8096a7a: 2b07 cmp r3, #7 8096a7c: d171 bne.n 8096b62 if(pardata.LANG == RUS) 8096a7e: 4bac ldr r3, [pc, #688] ; (8096d30 ) 8096a80: 7b1b ldrb r3, [r3, #12] 8096a82: b2db uxtb r3, r3 8096a84: 2b00 cmp r3, #0 8096a86: d111 bne.n 8096aac BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8096a88: 2301 movs r3, #1 8096a8a: 4aac ldr r2, [pc, #688] ; (8096d3c ) 8096a8c: 21af movs r1, #175 ; 0xaf 8096a8e: 205a movs r0, #90 ; 0x5a 8096a90: f7bd fe84 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096a94: 49a8 ldr r1, [pc, #672] ; (8096d38 ) 8096a96: f04f 30ff mov.w r0, #4294967295 8096a9a: f7bd fdb9 bl 8054610 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8096a9e: 2301 movs r3, #1 8096aa0: 4aa4 ldr r2, [pc, #656] ; (8096d34 ) 8096aa2: 21af movs r1, #175 ; 0xaf 8096aa4: 20e6 movs r0, #230 ; 0xe6 8096aa6: f7bd fe79 bl 805479c if(menupos == UpNo) 8096aaa: e05a b.n 8096b62 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8096aac: 2301 movs r3, #1 8096aae: 4aa5 ldr r2, [pc, #660] ; (8096d44 ) 8096ab0: 21af movs r1, #175 ; 0xaf 8096ab2: 205a movs r0, #90 ; 0x5a 8096ab4: f7bd fe72 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096ab8: 499f ldr r1, [pc, #636] ; (8096d38 ) 8096aba: f04f 30ff mov.w r0, #4294967295 8096abe: f7bd fda7 bl 8054610 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8096ac2: 2301 movs r3, #1 8096ac4: 4a9e ldr r2, [pc, #632] ; (8096d40 ) 8096ac6: 21af movs r1, #175 ; 0xaf 8096ac8: 20e6 movs r0, #230 ; 0xe6 8096aca: f7bd fe67 bl 805479c if(menupos == UpNo) 8096ace: e048 b.n 8096b62 if(menupos == CleanUpResult) 8096ad0: 4b96 ldr r3, [pc, #600] ; (8096d2c ) 8096ad2: 781b ldrb r3, [r3, #0] 8096ad4: b2db uxtb r3, r3 8096ad6: 2b0a cmp r3, #10 8096ad8: f041 85a5 bne.w 8098626 if(CleanStatus == AP_OK) 8096adc: 4b9a ldr r3, [pc, #616] ; (8096d48 ) 8096ade: 781b ldrb r3, [r3, #0] 8096ae0: b2db uxtb r3, r3 8096ae2: 2b00 cmp r3, #0 8096ae4: d118 bne.n 8096b18 if(pardata.LANG == RUS) 8096ae6: 4b92 ldr r3, [pc, #584] ; (8096d30 ) 8096ae8: 7b1b ldrb r3, [r3, #12] 8096aea: b2db uxtb r3, r3 8096aec: 2b00 cmp r3, #0 8096aee: d10c bne.n 8096b0a BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 8096af0: 2301 movs r3, #1 8096af2: 4a96 ldr r2, [pc, #600] ; (8096d4c ) 8096af4: 216f movs r1, #111 ; 0x6f 8096af6: 20a0 movs r0, #160 ; 0xa0 8096af8: f7bd fe50 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 8096afc: 2301 movs r3, #1 8096afe: 4a94 ldr r2, [pc, #592] ; (8096d50 ) 8096b00: 217e movs r1, #126 ; 0x7e 8096b02: 20a0 movs r0, #160 ; 0xa0 8096b04: f7bd fe4a bl 805479c 8096b08: e01e b.n 8096b48 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 8096b0a: 2301 movs r3, #1 8096b0c: 4a91 ldr r2, [pc, #580] ; (8096d54 ) 8096b0e: 217e movs r1, #126 ; 0x7e 8096b10: 20a0 movs r0, #160 ; 0xa0 8096b12: f7bd fe43 bl 805479c 8096b16: e017 b.n 8096b48 if(pardata.LANG == RUS) 8096b18: 4b85 ldr r3, [pc, #532] ; (8096d30 ) 8096b1a: 7b1b ldrb r3, [r3, #12] 8096b1c: b2db uxtb r3, r3 8096b1e: 2b00 cmp r3, #0 8096b20: d10c bne.n 8096b3c BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8096b22: 2301 movs r3, #1 8096b24: 4a8c ldr r2, [pc, #560] ; (8096d58 ) 8096b26: 216f movs r1, #111 ; 0x6f 8096b28: 20a0 movs r0, #160 ; 0xa0 8096b2a: f7bd fe37 bl 805479c BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 8096b2e: 2301 movs r3, #1 8096b30: 4a8a ldr r2, [pc, #552] ; (8096d5c ) 8096b32: 217e movs r1, #126 ; 0x7e 8096b34: 20a0 movs r0, #160 ; 0xa0 8096b36: f7bd fe31 bl 805479c 8096b3a: e005 b.n 8096b48 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 8096b3c: 2301 movs r3, #1 8096b3e: 4a88 ldr r2, [pc, #544] ; (8096d60 ) 8096b40: 217e movs r1, #126 ; 0x7e 8096b42: 20a0 movs r0, #160 ; 0xa0 8096b44: f7bd fe2a bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096b48: 497b ldr r1, [pc, #492] ; (8096d38 ) 8096b4a: f04f 30ff mov.w r0, #4294967295 8096b4e: f7bd fd5f bl 8054610 BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8096b52: 2301 movs r3, #1 8096b54: 4a83 ldr r2, [pc, #524] ; (8096d64 ) 8096b56: 21af movs r1, #175 ; 0xaf 8096b58: 20a0 movs r0, #160 ; 0xa0 8096b5a: f7bd fe1f bl 805479c break; 8096b5e: f001 bd62 b.w 8098626 if(menupos == UpNo) 8096b62: bf00 nop break; 8096b64: f001 bd5f b.w 8098626 /******************************************************************************************************************************/ case CALIBR_00: // Êàëèáðîâêà 0, ââîä ñåðèéíîãî íîìåðà LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096b68: 497f ldr r1, [pc, #508] ; (8096d68 ) 8096b6a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8096b6e: f7bd fd4f bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8096b72: 4a7e ldr r2, [pc, #504] ; (8096d6c ) 8096b74: 2128 movs r1, #40 ; 0x28 8096b76: 20a5 movs r0, #165 ; 0xa5 8096b78: f7be fb0a bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 8096b7c: 233b movs r3, #59 ; 0x3b 8096b7e: f240 123d movw r2, #317 ; 0x13d 8096b82: 213b movs r1, #59 ; 0x3b 8096b84: 2002 movs r0, #2 8096b86: f7bd ff7d bl 8054a84 BSP_LCD_SetFont(&Font12); 8096b8a: 4879 ldr r0, [pc, #484] ; (8096d70 ) 8096b8c: f7bd fd7c bl 8054688 BSP_LCD_DisplayStringAt(310, 36, "[1 / 13]", RIGHT_MODE); 8096b90: 2302 movs r3, #2 8096b92: 4a78 ldr r2, [pc, #480] ; (8096d74 ) 8096b94: 2124 movs r1, #36 ; 0x24 8096b96: f44f 709b mov.w r0, #310 ; 0x136 8096b9a: f7bd fdff bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096b9e: 4972 ldr r1, [pc, #456] ; (8096d68 ) 8096ba0: f04f 30ff mov.w r0, #4294967295 8096ba4: f7bd fd34 bl 8054610 LCD_DisplayString(5, 70, "Ââåäèòå ñåðèéíûé íîìåð"); 8096ba8: 4a73 ldr r2, [pc, #460] ; (8096d78 ) 8096baa: 2146 movs r1, #70 ; 0x46 8096bac: 2005 movs r0, #5 8096bae: f7be fad7 bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096bb2: 496d ldr r1, [pc, #436] ; (8096d68 ) 8096bb4: f06f 00ff mvn.w r0, #255 ; 0xff 8096bb8: f7bd fd2a bl 8054610 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8096bbc: 4b6f ldr r3, [pc, #444] ; (8096d7c ) 8096bbe: edd3 7a00 vldr s15, [r3] 8096bc2: f06f 0002 mvn.w r0, #2 8096bc6: eeb0 0a67 vmov.f32 s0, s15 8096bca: f7d0 fce9 bl 80675a0 8096bce: 4603 mov r3, r0 8096bd0: 461a mov r2, r3 8096bd2: 2128 movs r1, #40 ; 0x28 8096bd4: 204b movs r0, #75 ; 0x4b 8096bd6: f7be faf3 bl 80551c0 str[1] = '\0'; 8096bda: f507 733b add.w r3, r7, #748 ; 0x2ec 8096bde: 2200 movs r2, #0 8096be0: 705a strb r2, [r3, #1] switch(menupos) 8096be2: 4b52 ldr r3, [pc, #328] ; (8096d2c ) 8096be4: 781b ldrb r3, [r3, #0] 8096be6: b2db uxtb r3, r3 8096be8: 2b04 cmp r3, #4 8096bea: f201 851e bhi.w 809862a 8096bee: a201 add r2, pc, #4 ; (adr r2, 8096bf4 ) 8096bf0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8096bf4: 08096c09 .word 0x08096c09 8096bf8: 08096c97 .word 0x08096c97 8096bfc: 08096d85 .word 0x08096d85 8096c00: 08096e13 .word 0x08096e13 8096c04: 08096ea1 .word 0x08096ea1 { case 0: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8096c08: 494b ldr r1, [pc, #300] ; (8096d38 ) 8096c0a: f06f 00ff mvn.w r0, #255 ; 0xff 8096c0e: f7bd fcff bl 8054610 str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8096c12: 4b5b ldr r3, [pc, #364] ; (8096d80 ) 8096c14: 781a ldrb r2, [r3, #0] 8096c16: f507 733b add.w r3, r7, #748 ; 0x2ec 8096c1a: 701a strb r2, [r3, #0] 8096c1c: f507 733b add.w r3, r7, #748 ; 0x2ec 8096c20: 461a mov r2, r3 8096c22: 216e movs r1, #110 ; 0x6e 8096c24: 2078 movs r0, #120 ; 0x78 8096c26: f7be fa9b bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096c2a: 494f ldr r1, [pc, #316] ; (8096d68 ) 8096c2c: f06f 00ff mvn.w r0, #255 ; 0xff 8096c30: f7bd fcee bl 8054610 str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8096c34: 4b52 ldr r3, [pc, #328] ; (8096d80 ) 8096c36: 785a ldrb r2, [r3, #1] 8096c38: f507 733b add.w r3, r7, #748 ; 0x2ec 8096c3c: 701a strb r2, [r3, #0] 8096c3e: f507 733b add.w r3, r7, #748 ; 0x2ec 8096c42: 461a mov r2, r3 8096c44: 216e movs r1, #110 ; 0x6e 8096c46: 208c movs r0, #140 ; 0x8c 8096c48: f7be fa8a bl 8055160 str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8096c4c: 4b4c ldr r3, [pc, #304] ; (8096d80 ) 8096c4e: 789a ldrb r2, [r3, #2] 8096c50: f507 733b add.w r3, r7, #748 ; 0x2ec 8096c54: 701a strb r2, [r3, #0] 8096c56: f507 733b add.w r3, r7, #748 ; 0x2ec 8096c5a: 461a mov r2, r3 8096c5c: 216e movs r1, #110 ; 0x6e 8096c5e: 20a0 movs r0, #160 ; 0xa0 8096c60: f7be fa7e bl 8055160 str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8096c64: 4b46 ldr r3, [pc, #280] ; (8096d80 ) 8096c66: 78da ldrb r2, [r3, #3] 8096c68: f507 733b add.w r3, r7, #748 ; 0x2ec 8096c6c: 701a strb r2, [r3, #0] 8096c6e: f507 733b add.w r3, r7, #748 ; 0x2ec 8096c72: 461a mov r2, r3 8096c74: 216e movs r1, #110 ; 0x6e 8096c76: 20b4 movs r0, #180 ; 0xb4 8096c78: f7be fa72 bl 8055160 str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8096c7c: 4b40 ldr r3, [pc, #256] ; (8096d80 ) 8096c7e: 791a ldrb r2, [r3, #4] 8096c80: f507 733b add.w r3, r7, #748 ; 0x2ec 8096c84: 701a strb r2, [r3, #0] 8096c86: f507 733b add.w r3, r7, #748 ; 0x2ec 8096c8a: 461a mov r2, r3 8096c8c: 216e movs r1, #110 ; 0x6e 8096c8e: 20c8 movs r0, #200 ; 0xc8 8096c90: f7be fa66 bl 8055160 break; 8096c94: e14b b.n 8096f2e case 1: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8096c96: 4928 ldr r1, [pc, #160] ; (8096d38 ) 8096c98: f06f 00ff mvn.w r0, #255 ; 0xff 8096c9c: f7bd fcb8 bl 8054610 str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8096ca0: 4b37 ldr r3, [pc, #220] ; (8096d80 ) 8096ca2: 785a ldrb r2, [r3, #1] 8096ca4: f507 733b add.w r3, r7, #748 ; 0x2ec 8096ca8: 701a strb r2, [r3, #0] 8096caa: f507 733b add.w r3, r7, #748 ; 0x2ec 8096cae: 461a mov r2, r3 8096cb0: 216e movs r1, #110 ; 0x6e 8096cb2: 208c movs r0, #140 ; 0x8c 8096cb4: f7be fa54 bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096cb8: 492b ldr r1, [pc, #172] ; (8096d68 ) 8096cba: f06f 00ff mvn.w r0, #255 ; 0xff 8096cbe: f7bd fca7 bl 8054610 str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8096cc2: 4b2f ldr r3, [pc, #188] ; (8096d80 ) 8096cc4: 781a ldrb r2, [r3, #0] 8096cc6: f507 733b add.w r3, r7, #748 ; 0x2ec 8096cca: 701a strb r2, [r3, #0] 8096ccc: f507 733b add.w r3, r7, #748 ; 0x2ec 8096cd0: 461a mov r2, r3 8096cd2: 216e movs r1, #110 ; 0x6e 8096cd4: 2078 movs r0, #120 ; 0x78 8096cd6: f7be fa43 bl 8055160 str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8096cda: 4b29 ldr r3, [pc, #164] ; (8096d80 ) 8096cdc: 789a ldrb r2, [r3, #2] 8096cde: f507 733b add.w r3, r7, #748 ; 0x2ec 8096ce2: 701a strb r2, [r3, #0] 8096ce4: f507 733b add.w r3, r7, #748 ; 0x2ec 8096ce8: 461a mov r2, r3 8096cea: 216e movs r1, #110 ; 0x6e 8096cec: 20a0 movs r0, #160 ; 0xa0 8096cee: f7be fa37 bl 8055160 str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8096cf2: 4b23 ldr r3, [pc, #140] ; (8096d80 ) 8096cf4: 78da ldrb r2, [r3, #3] 8096cf6: f507 733b add.w r3, r7, #748 ; 0x2ec 8096cfa: 701a strb r2, [r3, #0] 8096cfc: f507 733b add.w r3, r7, #748 ; 0x2ec 8096d00: 461a mov r2, r3 8096d02: 216e movs r1, #110 ; 0x6e 8096d04: 20b4 movs r0, #180 ; 0xb4 8096d06: f7be fa2b bl 8055160 str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8096d0a: 4b1d ldr r3, [pc, #116] ; (8096d80 ) 8096d0c: 791a ldrb r2, [r3, #4] 8096d0e: f507 733b add.w r3, r7, #748 ; 0x2ec 8096d12: 701a strb r2, [r3, #0] 8096d14: f507 733b add.w r3, r7, #748 ; 0x2ec 8096d18: 461a mov r2, r3 8096d1a: 216e movs r1, #110 ; 0x6e 8096d1c: 20c8 movs r0, #200 ; 0xc8 8096d1e: f7be fa1f bl 8055160 break; 8096d22: e104 b.n 8096f2e 8096d24: 080d47d8 .word 0x080d47d8 8096d28: 080d45b8 .word 0x080d45b8 8096d2c: 20020070 .word 0x20020070 8096d30: 20023ea8 .word 0x20023ea8 8096d34: 080d45d0 .word 0x080d45d0 8096d38: ff606060 .word 0xff606060 8096d3c: 080d45d4 .word 0x080d45d4 8096d40: 080d45d8 .word 0x080d45d8 8096d44: 080d45dc .word 0x080d45dc 8096d48: 20020df0 .word 0x20020df0 8096d4c: 080d45e0 .word 0x080d45e0 8096d50: 080d4368 .word 0x080d4368 8096d54: 080d45f4 .word 0x080d45f4 8096d58: 080d4374 .word 0x080d4374 8096d5c: 080d460c .word 0x080d460c 8096d60: 080d4618 .word 0x080d4618 8096d64: 080d4628 .word 0x080d4628 8096d68: ff0a0f1f .word 0xff0a0f1f 8096d6c: 080d47f0 .word 0x080d47f0 8096d70: 20020038 .word 0x20020038 8096d74: 080d47fc .word 0x080d47fc 8096d78: 080d4808 .word 0x080d4808 8096d7c: 20020000 .word 0x20020000 8096d80: 20026d44 .word 0x20026d44 case 2: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8096d84: 49cf ldr r1, [pc, #828] ; (80970c4 ) 8096d86: f06f 00ff mvn.w r0, #255 ; 0xff 8096d8a: f7bd fc41 bl 8054610 str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8096d8e: 4bce ldr r3, [pc, #824] ; (80970c8 ) 8096d90: 789a ldrb r2, [r3, #2] 8096d92: f507 733b add.w r3, r7, #748 ; 0x2ec 8096d96: 701a strb r2, [r3, #0] 8096d98: f507 733b add.w r3, r7, #748 ; 0x2ec 8096d9c: 461a mov r2, r3 8096d9e: 216e movs r1, #110 ; 0x6e 8096da0: 20a0 movs r0, #160 ; 0xa0 8096da2: f7be f9dd bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096da6: 49c9 ldr r1, [pc, #804] ; (80970cc ) 8096da8: f06f 00ff mvn.w r0, #255 ; 0xff 8096dac: f7bd fc30 bl 8054610 str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8096db0: 4bc5 ldr r3, [pc, #788] ; (80970c8 ) 8096db2: 781a ldrb r2, [r3, #0] 8096db4: f507 733b add.w r3, r7, #748 ; 0x2ec 8096db8: 701a strb r2, [r3, #0] 8096dba: f507 733b add.w r3, r7, #748 ; 0x2ec 8096dbe: 461a mov r2, r3 8096dc0: 216e movs r1, #110 ; 0x6e 8096dc2: 2078 movs r0, #120 ; 0x78 8096dc4: f7be f9cc bl 8055160 str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8096dc8: 4bbf ldr r3, [pc, #764] ; (80970c8 ) 8096dca: 785a ldrb r2, [r3, #1] 8096dcc: f507 733b add.w r3, r7, #748 ; 0x2ec 8096dd0: 701a strb r2, [r3, #0] 8096dd2: f507 733b add.w r3, r7, #748 ; 0x2ec 8096dd6: 461a mov r2, r3 8096dd8: 216e movs r1, #110 ; 0x6e 8096dda: 208c movs r0, #140 ; 0x8c 8096ddc: f7be f9c0 bl 8055160 str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8096de0: 4bb9 ldr r3, [pc, #740] ; (80970c8 ) 8096de2: 78da ldrb r2, [r3, #3] 8096de4: f507 733b add.w r3, r7, #748 ; 0x2ec 8096de8: 701a strb r2, [r3, #0] 8096dea: f507 733b add.w r3, r7, #748 ; 0x2ec 8096dee: 461a mov r2, r3 8096df0: 216e movs r1, #110 ; 0x6e 8096df2: 20b4 movs r0, #180 ; 0xb4 8096df4: f7be f9b4 bl 8055160 str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8096df8: 4bb3 ldr r3, [pc, #716] ; (80970c8 ) 8096dfa: 791a ldrb r2, [r3, #4] 8096dfc: f507 733b add.w r3, r7, #748 ; 0x2ec 8096e00: 701a strb r2, [r3, #0] 8096e02: f507 733b add.w r3, r7, #748 ; 0x2ec 8096e06: 461a mov r2, r3 8096e08: 216e movs r1, #110 ; 0x6e 8096e0a: 20c8 movs r0, #200 ; 0xc8 8096e0c: f7be f9a8 bl 8055160 break; 8096e10: e08d b.n 8096f2e case 3: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8096e12: 49ac ldr r1, [pc, #688] ; (80970c4 ) 8096e14: f06f 00ff mvn.w r0, #255 ; 0xff 8096e18: f7bd fbfa bl 8054610 str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8096e1c: 4baa ldr r3, [pc, #680] ; (80970c8 ) 8096e1e: 78da ldrb r2, [r3, #3] 8096e20: f507 733b add.w r3, r7, #748 ; 0x2ec 8096e24: 701a strb r2, [r3, #0] 8096e26: f507 733b add.w r3, r7, #748 ; 0x2ec 8096e2a: 461a mov r2, r3 8096e2c: 216e movs r1, #110 ; 0x6e 8096e2e: 20b4 movs r0, #180 ; 0xb4 8096e30: f7be f996 bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096e34: 49a5 ldr r1, [pc, #660] ; (80970cc ) 8096e36: f06f 00ff mvn.w r0, #255 ; 0xff 8096e3a: f7bd fbe9 bl 8054610 str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8096e3e: 4ba2 ldr r3, [pc, #648] ; (80970c8 ) 8096e40: 781a ldrb r2, [r3, #0] 8096e42: f507 733b add.w r3, r7, #748 ; 0x2ec 8096e46: 701a strb r2, [r3, #0] 8096e48: f507 733b add.w r3, r7, #748 ; 0x2ec 8096e4c: 461a mov r2, r3 8096e4e: 216e movs r1, #110 ; 0x6e 8096e50: 2078 movs r0, #120 ; 0x78 8096e52: f7be f985 bl 8055160 str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8096e56: 4b9c ldr r3, [pc, #624] ; (80970c8 ) 8096e58: 785a ldrb r2, [r3, #1] 8096e5a: f507 733b add.w r3, r7, #748 ; 0x2ec 8096e5e: 701a strb r2, [r3, #0] 8096e60: f507 733b add.w r3, r7, #748 ; 0x2ec 8096e64: 461a mov r2, r3 8096e66: 216e movs r1, #110 ; 0x6e 8096e68: 208c movs r0, #140 ; 0x8c 8096e6a: f7be f979 bl 8055160 str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8096e6e: 4b96 ldr r3, [pc, #600] ; (80970c8 ) 8096e70: 789a ldrb r2, [r3, #2] 8096e72: f507 733b add.w r3, r7, #748 ; 0x2ec 8096e76: 701a strb r2, [r3, #0] 8096e78: f507 733b add.w r3, r7, #748 ; 0x2ec 8096e7c: 461a mov r2, r3 8096e7e: 216e movs r1, #110 ; 0x6e 8096e80: 20a0 movs r0, #160 ; 0xa0 8096e82: f7be f96d bl 8055160 str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8096e86: 4b90 ldr r3, [pc, #576] ; (80970c8 ) 8096e88: 791a ldrb r2, [r3, #4] 8096e8a: f507 733b add.w r3, r7, #748 ; 0x2ec 8096e8e: 701a strb r2, [r3, #0] 8096e90: f507 733b add.w r3, r7, #748 ; 0x2ec 8096e94: 461a mov r2, r3 8096e96: 216e movs r1, #110 ; 0x6e 8096e98: 20c8 movs r0, #200 ; 0xc8 8096e9a: f7be f961 bl 8055160 break; 8096e9e: e046 b.n 8096f2e case 4: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8096ea0: 4988 ldr r1, [pc, #544] ; (80970c4 ) 8096ea2: f06f 00ff mvn.w r0, #255 ; 0xff 8096ea6: f7bd fbb3 bl 8054610 str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8096eaa: 4b87 ldr r3, [pc, #540] ; (80970c8 ) 8096eac: 791a ldrb r2, [r3, #4] 8096eae: f507 733b add.w r3, r7, #748 ; 0x2ec 8096eb2: 701a strb r2, [r3, #0] 8096eb4: f507 733b add.w r3, r7, #748 ; 0x2ec 8096eb8: 461a mov r2, r3 8096eba: 216e movs r1, #110 ; 0x6e 8096ebc: 20c8 movs r0, #200 ; 0xc8 8096ebe: f7be f94f bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096ec2: 4982 ldr r1, [pc, #520] ; (80970cc ) 8096ec4: f06f 00ff mvn.w r0, #255 ; 0xff 8096ec8: f7bd fba2 bl 8054610 str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8096ecc: 4b7e ldr r3, [pc, #504] ; (80970c8 ) 8096ece: 781a ldrb r2, [r3, #0] 8096ed0: f507 733b add.w r3, r7, #748 ; 0x2ec 8096ed4: 701a strb r2, [r3, #0] 8096ed6: f507 733b add.w r3, r7, #748 ; 0x2ec 8096eda: 461a mov r2, r3 8096edc: 216e movs r1, #110 ; 0x6e 8096ede: 2078 movs r0, #120 ; 0x78 8096ee0: f7be f93e bl 8055160 str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8096ee4: 4b78 ldr r3, [pc, #480] ; (80970c8 ) 8096ee6: 785a ldrb r2, [r3, #1] 8096ee8: f507 733b add.w r3, r7, #748 ; 0x2ec 8096eec: 701a strb r2, [r3, #0] 8096eee: f507 733b add.w r3, r7, #748 ; 0x2ec 8096ef2: 461a mov r2, r3 8096ef4: 216e movs r1, #110 ; 0x6e 8096ef6: 208c movs r0, #140 ; 0x8c 8096ef8: f7be f932 bl 8055160 str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8096efc: 4b72 ldr r3, [pc, #456] ; (80970c8 ) 8096efe: 789a ldrb r2, [r3, #2] 8096f00: f507 733b add.w r3, r7, #748 ; 0x2ec 8096f04: 701a strb r2, [r3, #0] 8096f06: f507 733b add.w r3, r7, #748 ; 0x2ec 8096f0a: 461a mov r2, r3 8096f0c: 216e movs r1, #110 ; 0x6e 8096f0e: 20a0 movs r0, #160 ; 0xa0 8096f10: f7be f926 bl 8055160 str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8096f14: 4b6c ldr r3, [pc, #432] ; (80970c8 ) 8096f16: 78da ldrb r2, [r3, #3] 8096f18: f507 733b add.w r3, r7, #748 ; 0x2ec 8096f1c: 701a strb r2, [r3, #0] 8096f1e: f507 733b add.w r3, r7, #748 ; 0x2ec 8096f22: 461a mov r2, r3 8096f24: 216e movs r1, #110 ; 0x6e 8096f26: 20b4 movs r0, #180 ; 0xb4 8096f28: f7be f91a bl 8055160 break; 8096f2c: bf00 nop } break; 8096f2e: f001 bb7c b.w 809862a case CALIBR_0: /* Êàëèáðîâêà Êcorr[1] (ÇÀÐßÄ, Êâõ = 1, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096f32: 4966 ldr r1, [pc, #408] ; (80970cc ) 8096f34: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8096f38: f7bd fb6a bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8096f3c: 4a64 ldr r2, [pc, #400] ; (80970d0 ) 8096f3e: 2128 movs r1, #40 ; 0x28 8096f40: 20a5 movs r0, #165 ; 0xa5 8096f42: f7be f925 bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 8096f46: 233b movs r3, #59 ; 0x3b 8096f48: f240 123d movw r2, #317 ; 0x13d 8096f4c: 213b movs r1, #59 ; 0x3b 8096f4e: 2002 movs r0, #2 8096f50: f7bd fd98 bl 8054a84 BSP_LCD_SetFont(&Font12); 8096f54: 485f ldr r0, [pc, #380] ; (80970d4 ) 8096f56: f7bd fb97 bl 8054688 BSP_LCD_DisplayStringAt(310, 36, "[2 / 13]", RIGHT_MODE); 8096f5a: 2302 movs r3, #2 8096f5c: 4a5e ldr r2, [pc, #376] ; (80970d8 ) 8096f5e: 2124 movs r1, #36 ; 0x24 8096f60: f44f 709b mov.w r0, #310 ; 0x136 8096f64: f7bd fc1a bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096f68: 4958 ldr r1, [pc, #352] ; (80970cc ) 8096f6a: f04f 30ff mov.w r0, #4294967295 8096f6e: f7bd fb4f bl 8054610 LCD_DisplayString(5, 70, "[ICP 1] [Êó 1]"); 8096f72: 4a5a ldr r2, [pc, #360] ; (80970dc ) 8096f74: 2146 movs r1, #70 ; 0x46 8096f76: 2005 movs r0, #5 8096f78: f7be f8f2 bl 8055160 LCD_DisplayString(5, 95, "Input:RMS=1024ìÂ,1êÃö"); 8096f7c: 4a58 ldr r2, [pc, #352] ; (80970e0 ) 8096f7e: 215f movs r1, #95 ; 0x5f 8096f80: 2005 movs r0, #5 8096f82: f7be f8ed bl 8055160 LCD_DisplayString(15, 145, "Output="); 8096f86: 4a57 ldr r2, [pc, #348] ; (80970e4 ) 8096f88: 2191 movs r1, #145 ; 0x91 8096f8a: 200f movs r0, #15 8096f8c: f7be f8e8 bl 8055160 LCD_DisplayString(15, 170, "Kcorr="); 8096f90: 4a55 ldr r2, [pc, #340] ; (80970e8 ) 8096f92: 21aa movs r1, #170 ; 0xaa 8096f94: 200f movs r0, #15 8096f96: f7be f8e3 bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096f9a: 494c ldr r1, [pc, #304] ; (80970cc ) 8096f9c: f06f 00ff mvn.w r0, #255 ; 0xff 8096fa0: f7bd fb36 bl 8054610 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8096fa4: 4b51 ldr r3, [pc, #324] ; (80970ec ) 8096fa6: edd3 7a00 vldr s15, [r3] 8096faa: f06f 0003 mvn.w r0, #3 8096fae: eeb0 0a67 vmov.f32 s0, s15 8096fb2: f7d0 faf5 bl 80675a0 8096fb6: 4603 mov r3, r0 8096fb8: 461a mov r2, r3 8096fba: 2191 movs r1, #145 ; 0x91 8096fbc: 207d movs r0, #125 ; 0x7d 8096fbe: f7be f8cf bl 8055160 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8096fc2: 4b4b ldr r3, [pc, #300] ; (80970f0 ) 8096fc4: 781b ldrb r3, [r3, #0] 8096fc6: b2db uxtb r3, r3 8096fc8: 3b35 subs r3, #53 ; 0x35 8096fca: 4a4a ldr r2, [pc, #296] ; (80970f4 ) 8096fcc: 009b lsls r3, r3, #2 8096fce: 4413 add r3, r2 8096fd0: edd3 7a00 vldr s15, [r3] 8096fd4: f06f 0007 mvn.w r0, #7 8096fd8: eeb0 0a67 vmov.f32 s0, s15 8096fdc: f7d0 fae0 bl 80675a0 8096fe0: 4603 mov r3, r0 8096fe2: 461a mov r2, r3 8096fe4: 21aa movs r1, #170 ; 0xaa 8096fe6: 207d movs r0, #125 ; 0x7d 8096fe8: f7be f8ba bl 8055160 LCD_DisplayString(80, 40, "V"); 8096fec: 4a42 ldr r2, [pc, #264] ; (80970f8 ) 8096fee: 2128 movs r1, #40 ; 0x28 8096ff0: 2050 movs r0, #80 ; 0x50 8096ff2: f7be f8b5 bl 8055160 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8096ff6: 4b41 ldr r3, [pc, #260] ; (80970fc ) 8096ff8: edd3 7a00 vldr s15, [r3] 8096ffc: f06f 0002 mvn.w r0, #2 8097000: eeb0 0a67 vmov.f32 s0, s15 8097004: f7d0 facc bl 80675a0 8097008: 4603 mov r3, r0 809700a: 461a mov r2, r3 809700c: 2128 movs r1, #40 ; 0x28 809700e: 204b movs r0, #75 ; 0x4b 8097010: f7be f8d6 bl 80551c0 switch(menupos) 8097014: 4b3a ldr r3, [pc, #232] ; (8097100 ) 8097016: 781b ldrb r3, [r3, #0] 8097018: b2db uxtb r3, r3 809701a: 2b01 cmp r3, #1 809701c: d02b beq.n 8097076 809701e: 2b02 cmp r3, #2 8097020: d07a beq.n 8097118 8097022: 2b00 cmp r3, #0 8097024: d001 beq.n 809702a else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Âûõîä"); break; } break; 8097026: f001 bb01 b.w 809862c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809702a: 4926 ldr r1, [pc, #152] ; (80970c4 ) 809702c: f04f 30ff mov.w r0, #4294967295 8097030: f7bd faee bl 8054610 LCD_DisplayStringC(50, 210, "Âûõîä"); 8097034: 4a33 ldr r2, [pc, #204] ; (8097104 ) 8097036: 21d2 movs r1, #210 ; 0xd2 8097038: 2032 movs r0, #50 ; 0x32 809703a: f7be f8a9 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809703e: 4923 ldr r1, [pc, #140] ; (80970cc ) 8097040: f04f 30ff mov.w r0, #4294967295 8097044: f7bd fae4 bl 8054610 if(measuring) 8097048: 4b2f ldr r3, [pc, #188] ; (8097108 ) 809704a: 781b ldrb r3, [r3, #0] 809704c: b2db uxtb r3, r3 809704e: 2b00 cmp r3, #0 8097050: d005 beq.n 809705e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097052: 4a2e ldr r2, [pc, #184] ; (809710c ) 8097054: 21d2 movs r1, #210 ; 0xd2 8097056: 20a5 movs r0, #165 ; 0xa5 8097058: f7be f89a bl 8055190 809705c: e004 b.n 8097068 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809705e: 4a2c ldr r2, [pc, #176] ; (8097110 ) 8097060: 21d2 movs r1, #210 ; 0xd2 8097062: 20a5 movs r0, #165 ; 0xa5 8097064: f7be f894 bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097068: 4a2a ldr r2, [pc, #168] ; (8097114 ) 809706a: 21d2 movs r1, #210 ; 0xd2 809706c: f44f 7087 mov.w r0, #270 ; 0x10e 8097070: f7be f88e bl 8055190 break; 8097074: e076 b.n 8097164 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097076: 4913 ldr r1, [pc, #76] ; (80970c4 ) 8097078: f04f 30ff mov.w r0, #4294967295 809707c: f7bd fac8 bl 8054610 if(measuring) 8097080: 4b21 ldr r3, [pc, #132] ; (8097108 ) 8097082: 781b ldrb r3, [r3, #0] 8097084: b2db uxtb r3, r3 8097086: 2b00 cmp r3, #0 8097088: d005 beq.n 8097096 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 809708a: 4a20 ldr r2, [pc, #128] ; (809710c ) 809708c: 21d2 movs r1, #210 ; 0xd2 809708e: 20a5 movs r0, #165 ; 0xa5 8097090: f7be f87e bl 8055190 8097094: e004 b.n 80970a0 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097096: 4a1e ldr r2, [pc, #120] ; (8097110 ) 8097098: 21d2 movs r1, #210 ; 0xd2 809709a: 20a5 movs r0, #165 ; 0xa5 809709c: f7be f878 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80970a0: 490a ldr r1, [pc, #40] ; (80970cc ) 80970a2: f04f 30ff mov.w r0, #4294967295 80970a6: f7bd fab3 bl 8054610 LCD_DisplayStringC(50, 210, "Âûõîä"); 80970aa: 4a16 ldr r2, [pc, #88] ; (8097104 ) 80970ac: 21d2 movs r1, #210 ; 0xd2 80970ae: 2032 movs r0, #50 ; 0x32 80970b0: f7be f86e bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 80970b4: 4a17 ldr r2, [pc, #92] ; (8097114 ) 80970b6: 21d2 movs r1, #210 ; 0xd2 80970b8: f44f 7087 mov.w r0, #270 ; 0x10e 80970bc: f7be f868 bl 8055190 break; 80970c0: e050 b.n 8097164 80970c2: bf00 nop 80970c4: ff606060 .word 0xff606060 80970c8: 20026d44 .word 0x20026d44 80970cc: ff0a0f1f .word 0xff0a0f1f 80970d0: 080d47f0 .word 0x080d47f0 80970d4: 20020038 .word 0x20020038 80970d8: 080d4820 .word 0x080d4820 80970dc: 080d482c .word 0x080d482c 80970e0: 080d483c .word 0x080d483c 80970e4: 080d4854 .word 0x080d4854 80970e8: 080d485c .word 0x080d485c 80970ec: 20021588 .word 0x20021588 80970f0: 20020fbd .word 0x20020fbd 80970f4: 200261d4 .word 0x200261d4 80970f8: 080d2a10 .word 0x080d2a10 80970fc: 20020000 .word 0x20020000 8097100: 20020070 .word 0x20020070 8097104: 080d3114 .word 0x080d3114 8097108: 20020dcf .word 0x20020dcf 809710c: 080d4864 .word 0x080d4864 8097110: 080d4870 .word 0x080d4870 8097114: 080d3104 .word 0x080d3104 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097118: 49c9 ldr r1, [pc, #804] ; (8097440 ) 809711a: f04f 30ff mov.w r0, #4294967295 809711e: f7bd fa77 bl 8054610 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097122: 4ac8 ldr r2, [pc, #800] ; (8097444 ) 8097124: 21d2 movs r1, #210 ; 0xd2 8097126: f44f 7087 mov.w r0, #270 ; 0x10e 809712a: f7be f831 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809712e: 49c6 ldr r1, [pc, #792] ; (8097448 ) 8097130: f04f 30ff mov.w r0, #4294967295 8097134: f7bd fa6c bl 8054610 if(measuring) 8097138: 4bc4 ldr r3, [pc, #784] ; (809744c ) 809713a: 781b ldrb r3, [r3, #0] 809713c: b2db uxtb r3, r3 809713e: 2b00 cmp r3, #0 8097140: d005 beq.n 809714e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097142: 4ac3 ldr r2, [pc, #780] ; (8097450 ) 8097144: 21d2 movs r1, #210 ; 0xd2 8097146: 20a5 movs r0, #165 ; 0xa5 8097148: f7be f822 bl 8055190 809714c: e004 b.n 8097158 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809714e: 4ac1 ldr r2, [pc, #772] ; (8097454 ) 8097150: 21d2 movs r1, #210 ; 0xd2 8097152: 20a5 movs r0, #165 ; 0xa5 8097154: f7be f81c bl 8055190 LCD_DisplayStringC(50, 210, "Âûõîä"); 8097158: 4abf ldr r2, [pc, #764] ; (8097458 ) 809715a: 21d2 movs r1, #210 ; 0xd2 809715c: 2032 movs r0, #50 ; 0x32 809715e: f7be f817 bl 8055190 break; 8097162: bf00 nop break; 8097164: f001 ba62 b.w 809862c case CALIBR_1: /* Êàëèáðîâêà Êcorr[5] (ÇÀÐßÄ 1, Êóñ = 2) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8097168: 49b7 ldr r1, [pc, #732] ; (8097448 ) 809716a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809716e: f7bd fa4f bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8097172: 4aba ldr r2, [pc, #744] ; (809745c ) 8097174: 2128 movs r1, #40 ; 0x28 8097176: 20a5 movs r0, #165 ; 0xa5 8097178: f7be f80a bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 809717c: 233b movs r3, #59 ; 0x3b 809717e: f240 123d movw r2, #317 ; 0x13d 8097182: 213b movs r1, #59 ; 0x3b 8097184: 2002 movs r0, #2 8097186: f7bd fc7d bl 8054a84 BSP_LCD_SetFont(&Font12); 809718a: 48b5 ldr r0, [pc, #724] ; (8097460 ) 809718c: f7bd fa7c bl 8054688 BSP_LCD_DisplayStringAt(310, 36, "[3 / 13]", RIGHT_MODE); 8097190: 2302 movs r3, #2 8097192: 4ab4 ldr r2, [pc, #720] ; (8097464 ) 8097194: 2124 movs r1, #36 ; 0x24 8097196: f44f 709b mov.w r0, #310 ; 0x136 809719a: f7bd faff bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809719e: 49aa ldr r1, [pc, #680] ; (8097448 ) 80971a0: f04f 30ff mov.w r0, #4294967295 80971a4: f7bd fa34 bl 8054610 LCD_DisplayString(5, 70, "[ICP 2] [Ky 1]"); 80971a8: 4aaf ldr r2, [pc, #700] ; (8097468 ) 80971aa: 2146 movs r1, #70 ; 0x46 80971ac: 2005 movs r0, #5 80971ae: f7bd ffd7 bl 8055160 LCD_DisplayString(5, 95, "Input:RMS=512ìÂ,1êÃö"); 80971b2: 4aae ldr r2, [pc, #696] ; (809746c ) 80971b4: 215f movs r1, #95 ; 0x5f 80971b6: 2005 movs r0, #5 80971b8: f7bd ffd2 bl 8055160 LCD_DisplayString(5, 145, "Output="); 80971bc: 4aac ldr r2, [pc, #688] ; (8097470 ) 80971be: 2191 movs r1, #145 ; 0x91 80971c0: 2005 movs r0, #5 80971c2: f7bd ffcd bl 8055160 LCD_DisplayString(5, 170, "Kcorr="); 80971c6: 4aab ldr r2, [pc, #684] ; (8097474 ) 80971c8: 21aa movs r1, #170 ; 0xaa 80971ca: 2005 movs r0, #5 80971cc: f7bd ffc8 bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80971d0: 499d ldr r1, [pc, #628] ; (8097448 ) 80971d2: f06f 00ff mvn.w r0, #255 ; 0xff 80971d6: f7bd fa1b bl 8054610 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 80971da: 4ba7 ldr r3, [pc, #668] ; (8097478 ) 80971dc: edd3 7a00 vldr s15, [r3] 80971e0: f06f 0003 mvn.w r0, #3 80971e4: eeb0 0a67 vmov.f32 s0, s15 80971e8: f7d0 f9da bl 80675a0 80971ec: 4603 mov r3, r0 80971ee: 461a mov r2, r3 80971f0: 2191 movs r1, #145 ; 0x91 80971f2: 207d movs r0, #125 ; 0x7d 80971f4: f7bd ffb4 bl 8055160 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 80971f8: 4ba0 ldr r3, [pc, #640] ; (809747c ) 80971fa: 781b ldrb r3, [r3, #0] 80971fc: b2db uxtb r3, r3 80971fe: 3b35 subs r3, #53 ; 0x35 8097200: 4a9f ldr r2, [pc, #636] ; (8097480 ) 8097202: 009b lsls r3, r3, #2 8097204: 4413 add r3, r2 8097206: edd3 7a00 vldr s15, [r3] 809720a: f06f 0007 mvn.w r0, #7 809720e: eeb0 0a67 vmov.f32 s0, s15 8097212: f7d0 f9c5 bl 80675a0 8097216: 4603 mov r3, r0 8097218: 461a mov r2, r3 809721a: 21aa movs r1, #170 ; 0xaa 809721c: 207d movs r0, #125 ; 0x7d 809721e: f7bd ff9f bl 8055160 LCD_DisplayString(80, 40, "V"); 8097222: 4a98 ldr r2, [pc, #608] ; (8097484 ) 8097224: 2128 movs r1, #40 ; 0x28 8097226: 2050 movs r0, #80 ; 0x50 8097228: f7bd ff9a bl 8055160 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809722c: 4b96 ldr r3, [pc, #600] ; (8097488 ) 809722e: edd3 7a00 vldr s15, [r3] 8097232: f06f 0002 mvn.w r0, #2 8097236: eeb0 0a67 vmov.f32 s0, s15 809723a: f7d0 f9b1 bl 80675a0 809723e: 4603 mov r3, r0 8097240: 461a mov r2, r3 8097242: 2128 movs r1, #40 ; 0x28 8097244: 204b movs r0, #75 ; 0x4b 8097246: f7bd ffbb bl 80551c0 switch(menupos) 809724a: 4b90 ldr r3, [pc, #576] ; (809748c ) 809724c: 781b ldrb r3, [r3, #0] 809724e: b2db uxtb r3, r3 8097250: 2b01 cmp r3, #1 8097252: d02b beq.n 80972ac 8097254: 2b02 cmp r3, #2 8097256: d04f beq.n 80972f8 8097258: 2b00 cmp r3, #0 809725a: d001 beq.n 8097260 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 809725c: f001 b9e6 b.w 809862c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097260: 4977 ldr r1, [pc, #476] ; (8097440 ) 8097262: f04f 30ff mov.w r0, #4294967295 8097266: f7bd f9d3 bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 809726a: 4a89 ldr r2, [pc, #548] ; (8097490 ) 809726c: 21d2 movs r1, #210 ; 0xd2 809726e: 2032 movs r0, #50 ; 0x32 8097270: f7bd ff8e bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097274: 4974 ldr r1, [pc, #464] ; (8097448 ) 8097276: f04f 30ff mov.w r0, #4294967295 809727a: f7bd f9c9 bl 8054610 if(measuring) 809727e: 4b73 ldr r3, [pc, #460] ; (809744c ) 8097280: 781b ldrb r3, [r3, #0] 8097282: b2db uxtb r3, r3 8097284: 2b00 cmp r3, #0 8097286: d005 beq.n 8097294 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097288: 4a71 ldr r2, [pc, #452] ; (8097450 ) 809728a: 21d2 movs r1, #210 ; 0xd2 809728c: 20a5 movs r0, #165 ; 0xa5 809728e: f7bd ff7f bl 8055190 8097292: e004 b.n 809729e else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097294: 4a6f ldr r2, [pc, #444] ; (8097454 ) 8097296: 21d2 movs r1, #210 ; 0xd2 8097298: 20a5 movs r0, #165 ; 0xa5 809729a: f7bd ff79 bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 809729e: 4a69 ldr r2, [pc, #420] ; (8097444 ) 80972a0: 21d2 movs r1, #210 ; 0xd2 80972a2: f44f 7087 mov.w r0, #270 ; 0x10e 80972a6: f7bd ff73 bl 8055190 break; 80972aa: e04b b.n 8097344 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80972ac: 4964 ldr r1, [pc, #400] ; (8097440 ) 80972ae: f04f 30ff mov.w r0, #4294967295 80972b2: f7bd f9ad bl 8054610 if(measuring) 80972b6: 4b65 ldr r3, [pc, #404] ; (809744c ) 80972b8: 781b ldrb r3, [r3, #0] 80972ba: b2db uxtb r3, r3 80972bc: 2b00 cmp r3, #0 80972be: d005 beq.n 80972cc LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80972c0: 4a63 ldr r2, [pc, #396] ; (8097450 ) 80972c2: 21d2 movs r1, #210 ; 0xd2 80972c4: 20a5 movs r0, #165 ; 0xa5 80972c6: f7bd ff63 bl 8055190 80972ca: e004 b.n 80972d6 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80972cc: 4a61 ldr r2, [pc, #388] ; (8097454 ) 80972ce: 21d2 movs r1, #210 ; 0xd2 80972d0: 20a5 movs r0, #165 ; 0xa5 80972d2: f7bd ff5d bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80972d6: 495c ldr r1, [pc, #368] ; (8097448 ) 80972d8: f04f 30ff mov.w r0, #4294967295 80972dc: f7bd f998 bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 80972e0: 4a6b ldr r2, [pc, #428] ; (8097490 ) 80972e2: 21d2 movs r1, #210 ; 0xd2 80972e4: 2032 movs r0, #50 ; 0x32 80972e6: f7bd ff53 bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 80972ea: 4a56 ldr r2, [pc, #344] ; (8097444 ) 80972ec: 21d2 movs r1, #210 ; 0xd2 80972ee: f44f 7087 mov.w r0, #270 ; 0x10e 80972f2: f7bd ff4d bl 8055190 break; 80972f6: e025 b.n 8097344 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80972f8: 4951 ldr r1, [pc, #324] ; (8097440 ) 80972fa: f04f 30ff mov.w r0, #4294967295 80972fe: f7bd f987 bl 8054610 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097302: 4a50 ldr r2, [pc, #320] ; (8097444 ) 8097304: 21d2 movs r1, #210 ; 0xd2 8097306: f44f 7087 mov.w r0, #270 ; 0x10e 809730a: f7bd ff41 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809730e: 494e ldr r1, [pc, #312] ; (8097448 ) 8097310: f04f 30ff mov.w r0, #4294967295 8097314: f7bd f97c bl 8054610 if(measuring) 8097318: 4b4c ldr r3, [pc, #304] ; (809744c ) 809731a: 781b ldrb r3, [r3, #0] 809731c: b2db uxtb r3, r3 809731e: 2b00 cmp r3, #0 8097320: d005 beq.n 809732e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097322: 4a4b ldr r2, [pc, #300] ; (8097450 ) 8097324: 21d2 movs r1, #210 ; 0xd2 8097326: 20a5 movs r0, #165 ; 0xa5 8097328: f7bd ff32 bl 8055190 809732c: e004 b.n 8097338 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809732e: 4a49 ldr r2, [pc, #292] ; (8097454 ) 8097330: 21d2 movs r1, #210 ; 0xd2 8097332: 20a5 movs r0, #165 ; 0xa5 8097334: f7bd ff2c bl 8055190 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097338: 4a55 ldr r2, [pc, #340] ; (8097490 ) 809733a: 21d2 movs r1, #210 ; 0xd2 809733c: 2032 movs r0, #50 ; 0x32 809733e: f7bd ff27 bl 8055190 break; 8097342: bf00 nop break; 8097344: f001 b972 b.w 809862c case CALIBR_2: /* Êàëèáðîâêà Êcorr[6] (ÇÀÐßÄ 1, Êóñ = 5) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8097348: 493f ldr r1, [pc, #252] ; (8097448 ) 809734a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809734e: f7bd f95f bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8097352: 4a42 ldr r2, [pc, #264] ; (809745c ) 8097354: 2128 movs r1, #40 ; 0x28 8097356: 20a5 movs r0, #165 ; 0xa5 8097358: f7bd ff1a bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 809735c: 233b movs r3, #59 ; 0x3b 809735e: f240 123d movw r2, #317 ; 0x13d 8097362: 213b movs r1, #59 ; 0x3b 8097364: 2002 movs r0, #2 8097366: f7bd fb8d bl 8054a84 BSP_LCD_SetFont(&Font12); 809736a: 483d ldr r0, [pc, #244] ; (8097460 ) 809736c: f7bd f98c bl 8054688 BSP_LCD_DisplayStringAt(310, 36, "[4 / 13]", RIGHT_MODE); 8097370: 2302 movs r3, #2 8097372: 4a48 ldr r2, [pc, #288] ; (8097494 ) 8097374: 2124 movs r1, #36 ; 0x24 8097376: f44f 709b mov.w r0, #310 ; 0x136 809737a: f7bd fa0f bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809737e: 4932 ldr r1, [pc, #200] ; (8097448 ) 8097380: f04f 30ff mov.w r0, #4294967295 8097384: f7bd f944 bl 8054610 LCD_DisplayString(5, 70, "[ICP 4] [Ky 1]"); 8097388: 4a43 ldr r2, [pc, #268] ; (8097498 ) 809738a: 2146 movs r1, #70 ; 0x46 809738c: 2005 movs r0, #5 809738e: f7bd fee7 bl 8055160 LCD_DisplayString(5, 95, "Input:RMS=256ìÂ,1êÃö"); 8097392: 4a42 ldr r2, [pc, #264] ; (809749c ) 8097394: 215f movs r1, #95 ; 0x5f 8097396: 2005 movs r0, #5 8097398: f7bd fee2 bl 8055160 LCD_DisplayString(5, 145, "Output="); 809739c: 4a34 ldr r2, [pc, #208] ; (8097470 ) 809739e: 2191 movs r1, #145 ; 0x91 80973a0: 2005 movs r0, #5 80973a2: f7bd fedd bl 8055160 LCD_DisplayString(5, 170, "Kcorr="); 80973a6: 4a33 ldr r2, [pc, #204] ; (8097474 ) 80973a8: 21aa movs r1, #170 ; 0xaa 80973aa: 2005 movs r0, #5 80973ac: f7bd fed8 bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80973b0: 4925 ldr r1, [pc, #148] ; (8097448 ) 80973b2: f06f 00ff mvn.w r0, #255 ; 0xff 80973b6: f7bd f92b bl 8054610 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 80973ba: 4b2f ldr r3, [pc, #188] ; (8097478 ) 80973bc: edd3 7a00 vldr s15, [r3] 80973c0: f06f 0003 mvn.w r0, #3 80973c4: eeb0 0a67 vmov.f32 s0, s15 80973c8: f7d0 f8ea bl 80675a0 80973cc: 4603 mov r3, r0 80973ce: 461a mov r2, r3 80973d0: 2191 movs r1, #145 ; 0x91 80973d2: 207d movs r0, #125 ; 0x7d 80973d4: f7bd fec4 bl 8055160 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 80973d8: 4b28 ldr r3, [pc, #160] ; (809747c ) 80973da: 781b ldrb r3, [r3, #0] 80973dc: b2db uxtb r3, r3 80973de: 3b35 subs r3, #53 ; 0x35 80973e0: 4a27 ldr r2, [pc, #156] ; (8097480 ) 80973e2: 009b lsls r3, r3, #2 80973e4: 4413 add r3, r2 80973e6: edd3 7a00 vldr s15, [r3] 80973ea: f06f 0007 mvn.w r0, #7 80973ee: eeb0 0a67 vmov.f32 s0, s15 80973f2: f7d0 f8d5 bl 80675a0 80973f6: 4603 mov r3, r0 80973f8: 461a mov r2, r3 80973fa: 21aa movs r1, #170 ; 0xaa 80973fc: 207d movs r0, #125 ; 0x7d 80973fe: f7bd feaf bl 8055160 LCD_DisplayString(80, 40, "V"); 8097402: 4a20 ldr r2, [pc, #128] ; (8097484 ) 8097404: 2128 movs r1, #40 ; 0x28 8097406: 2050 movs r0, #80 ; 0x50 8097408: f7bd feaa bl 8055160 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809740c: 4b1e ldr r3, [pc, #120] ; (8097488 ) 809740e: edd3 7a00 vldr s15, [r3] 8097412: f06f 0002 mvn.w r0, #2 8097416: eeb0 0a67 vmov.f32 s0, s15 809741a: f7d0 f8c1 bl 80675a0 809741e: 4603 mov r3, r0 8097420: 461a mov r2, r3 8097422: 2128 movs r1, #40 ; 0x28 8097424: 204b movs r0, #75 ; 0x4b 8097426: f7bd fecb bl 80551c0 switch(menupos) 809742a: 4b18 ldr r3, [pc, #96] ; (809748c ) 809742c: 781b ldrb r3, [r3, #0] 809742e: b2db uxtb r3, r3 8097430: 2b01 cmp r3, #1 8097432: d05b beq.n 80974ec 8097434: 2b02 cmp r3, #2 8097436: d07f beq.n 8097538 8097438: 2b00 cmp r3, #0 809743a: d031 beq.n 80974a0 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 809743c: f001 b8f6 b.w 809862c 8097440: ff606060 .word 0xff606060 8097444: 080d3104 .word 0x080d3104 8097448: ff0a0f1f .word 0xff0a0f1f 809744c: 20020dcf .word 0x20020dcf 8097450: 080d4864 .word 0x080d4864 8097454: 080d4870 .word 0x080d4870 8097458: 080d3114 .word 0x080d3114 809745c: 080d47f0 .word 0x080d47f0 8097460: 20020038 .word 0x20020038 8097464: 080d487c .word 0x080d487c 8097468: 080d4888 .word 0x080d4888 809746c: 080d4898 .word 0x080d4898 8097470: 080d4854 .word 0x080d4854 8097474: 080d485c .word 0x080d485c 8097478: 20021588 .word 0x20021588 809747c: 20020fbd .word 0x20020fbd 8097480: 200261d4 .word 0x200261d4 8097484: 080d2a10 .word 0x080d2a10 8097488: 20020000 .word 0x20020000 809748c: 20020070 .word 0x20020070 8097490: 080d48b0 .word 0x080d48b0 8097494: 080d48b8 .word 0x080d48b8 8097498: 080d48c4 .word 0x080d48c4 809749c: 080d48d4 .word 0x080d48d4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80974a0: 49b1 ldr r1, [pc, #708] ; (8097768 ) 80974a2: f04f 30ff mov.w r0, #4294967295 80974a6: f7bd f8b3 bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 80974aa: 4ab0 ldr r2, [pc, #704] ; (809776c ) 80974ac: 21d2 movs r1, #210 ; 0xd2 80974ae: 2032 movs r0, #50 ; 0x32 80974b0: f7bd fe6e bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80974b4: 49ae ldr r1, [pc, #696] ; (8097770 ) 80974b6: f04f 30ff mov.w r0, #4294967295 80974ba: f7bd f8a9 bl 8054610 if(measuring) 80974be: 4bad ldr r3, [pc, #692] ; (8097774 ) 80974c0: 781b ldrb r3, [r3, #0] 80974c2: b2db uxtb r3, r3 80974c4: 2b00 cmp r3, #0 80974c6: d005 beq.n 80974d4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80974c8: 4aab ldr r2, [pc, #684] ; (8097778 ) 80974ca: 21d2 movs r1, #210 ; 0xd2 80974cc: 20a5 movs r0, #165 ; 0xa5 80974ce: f7bd fe5f bl 8055190 80974d2: e004 b.n 80974de else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80974d4: 4aa9 ldr r2, [pc, #676] ; (809777c ) 80974d6: 21d2 movs r1, #210 ; 0xd2 80974d8: 20a5 movs r0, #165 ; 0xa5 80974da: f7bd fe59 bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 80974de: 4aa8 ldr r2, [pc, #672] ; (8097780 ) 80974e0: 21d2 movs r1, #210 ; 0xd2 80974e2: f44f 7087 mov.w r0, #270 ; 0x10e 80974e6: f7bd fe53 bl 8055190 break; 80974ea: e04b b.n 8097584 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80974ec: 499e ldr r1, [pc, #632] ; (8097768 ) 80974ee: f04f 30ff mov.w r0, #4294967295 80974f2: f7bd f88d bl 8054610 if(measuring) 80974f6: 4b9f ldr r3, [pc, #636] ; (8097774 ) 80974f8: 781b ldrb r3, [r3, #0] 80974fa: b2db uxtb r3, r3 80974fc: 2b00 cmp r3, #0 80974fe: d005 beq.n 809750c LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097500: 4a9d ldr r2, [pc, #628] ; (8097778 ) 8097502: 21d2 movs r1, #210 ; 0xd2 8097504: 20a5 movs r0, #165 ; 0xa5 8097506: f7bd fe43 bl 8055190 809750a: e004 b.n 8097516 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809750c: 4a9b ldr r2, [pc, #620] ; (809777c ) 809750e: 21d2 movs r1, #210 ; 0xd2 8097510: 20a5 movs r0, #165 ; 0xa5 8097512: f7bd fe3d bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097516: 4996 ldr r1, [pc, #600] ; (8097770 ) 8097518: f04f 30ff mov.w r0, #4294967295 809751c: f7bd f878 bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097520: 4a92 ldr r2, [pc, #584] ; (809776c ) 8097522: 21d2 movs r1, #210 ; 0xd2 8097524: 2032 movs r0, #50 ; 0x32 8097526: f7bd fe33 bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 809752a: 4a95 ldr r2, [pc, #596] ; (8097780 ) 809752c: 21d2 movs r1, #210 ; 0xd2 809752e: f44f 7087 mov.w r0, #270 ; 0x10e 8097532: f7bd fe2d bl 8055190 break; 8097536: e025 b.n 8097584 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097538: 498b ldr r1, [pc, #556] ; (8097768 ) 809753a: f04f 30ff mov.w r0, #4294967295 809753e: f7bd f867 bl 8054610 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097542: 4a8f ldr r2, [pc, #572] ; (8097780 ) 8097544: 21d2 movs r1, #210 ; 0xd2 8097546: f44f 7087 mov.w r0, #270 ; 0x10e 809754a: f7bd fe21 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809754e: 4988 ldr r1, [pc, #544] ; (8097770 ) 8097550: f04f 30ff mov.w r0, #4294967295 8097554: f7bd f85c bl 8054610 if(measuring) 8097558: 4b86 ldr r3, [pc, #536] ; (8097774 ) 809755a: 781b ldrb r3, [r3, #0] 809755c: b2db uxtb r3, r3 809755e: 2b00 cmp r3, #0 8097560: d005 beq.n 809756e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097562: 4a85 ldr r2, [pc, #532] ; (8097778 ) 8097564: 21d2 movs r1, #210 ; 0xd2 8097566: 20a5 movs r0, #165 ; 0xa5 8097568: f7bd fe12 bl 8055190 809756c: e004 b.n 8097578 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809756e: 4a83 ldr r2, [pc, #524] ; (809777c ) 8097570: 21d2 movs r1, #210 ; 0xd2 8097572: 20a5 movs r0, #165 ; 0xa5 8097574: f7bd fe0c bl 8055190 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097578: 4a7c ldr r2, [pc, #496] ; (809776c ) 809757a: 21d2 movs r1, #210 ; 0xd2 809757c: 2032 movs r0, #50 ; 0x32 809757e: f7bd fe07 bl 8055190 break; 8097582: bf00 nop break; 8097584: f001 b852 b.w 809862c case CALIBR_3: /* Êàëèáðîâêà Êcorr[7] (ÇÀÐßÄ 1, Êóñ = 10) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8097588: 4979 ldr r1, [pc, #484] ; (8097770 ) 809758a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809758e: f7bd f83f bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8097592: 4a7c ldr r2, [pc, #496] ; (8097784 ) 8097594: 2128 movs r1, #40 ; 0x28 8097596: 20a5 movs r0, #165 ; 0xa5 8097598: f7bd fdfa bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 809759c: 233b movs r3, #59 ; 0x3b 809759e: f240 123d movw r2, #317 ; 0x13d 80975a2: 213b movs r1, #59 ; 0x3b 80975a4: 2002 movs r0, #2 80975a6: f7bd fa6d bl 8054a84 BSP_LCD_SetFont(&Font12); 80975aa: 4877 ldr r0, [pc, #476] ; (8097788 ) 80975ac: f7bd f86c bl 8054688 BSP_LCD_DisplayStringAt(310, 36, "[5 / 13]", RIGHT_MODE); 80975b0: 2302 movs r3, #2 80975b2: 4a76 ldr r2, [pc, #472] ; (809778c ) 80975b4: 2124 movs r1, #36 ; 0x24 80975b6: f44f 709b mov.w r0, #310 ; 0x136 80975ba: f7bd f8ef bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80975be: 496c ldr r1, [pc, #432] ; (8097770 ) 80975c0: f04f 30ff mov.w r0, #4294967295 80975c4: f7bd f824 bl 8054610 LCD_DisplayString(5, 70, "[ICP 8] [Ky 1]"); 80975c8: 4a71 ldr r2, [pc, #452] ; (8097790 ) 80975ca: 2146 movs r1, #70 ; 0x46 80975cc: 2005 movs r0, #5 80975ce: f7bd fdc7 bl 8055160 LCD_DisplayString(5, 95, "Input:RMS=128ìÂ,1êÃö"); 80975d2: 4a70 ldr r2, [pc, #448] ; (8097794 ) 80975d4: 215f movs r1, #95 ; 0x5f 80975d6: 2005 movs r0, #5 80975d8: f7bd fdc2 bl 8055160 LCD_DisplayString(5, 145, "Output="); 80975dc: 4a6e ldr r2, [pc, #440] ; (8097798 ) 80975de: 2191 movs r1, #145 ; 0x91 80975e0: 2005 movs r0, #5 80975e2: f7bd fdbd bl 8055160 LCD_DisplayString(5, 170, "Kcorr="); 80975e6: 4a6d ldr r2, [pc, #436] ; (809779c ) 80975e8: 21aa movs r1, #170 ; 0xaa 80975ea: 2005 movs r0, #5 80975ec: f7bd fdb8 bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80975f0: 495f ldr r1, [pc, #380] ; (8097770 ) 80975f2: f06f 00ff mvn.w r0, #255 ; 0xff 80975f6: f7bd f80b bl 8054610 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 80975fa: 4b69 ldr r3, [pc, #420] ; (80977a0 ) 80975fc: edd3 7a00 vldr s15, [r3] 8097600: f06f 0003 mvn.w r0, #3 8097604: eeb0 0a67 vmov.f32 s0, s15 8097608: f7cf ffca bl 80675a0 809760c: 4603 mov r3, r0 809760e: 461a mov r2, r3 8097610: 2191 movs r1, #145 ; 0x91 8097612: 207d movs r0, #125 ; 0x7d 8097614: f7bd fda4 bl 8055160 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8097618: 4b62 ldr r3, [pc, #392] ; (80977a4 ) 809761a: 781b ldrb r3, [r3, #0] 809761c: b2db uxtb r3, r3 809761e: 3b35 subs r3, #53 ; 0x35 8097620: 4a61 ldr r2, [pc, #388] ; (80977a8 ) 8097622: 009b lsls r3, r3, #2 8097624: 4413 add r3, r2 8097626: edd3 7a00 vldr s15, [r3] 809762a: f06f 0007 mvn.w r0, #7 809762e: eeb0 0a67 vmov.f32 s0, s15 8097632: f7cf ffb5 bl 80675a0 8097636: 4603 mov r3, r0 8097638: 461a mov r2, r3 809763a: 21aa movs r1, #170 ; 0xaa 809763c: 207d movs r0, #125 ; 0x7d 809763e: f7bd fd8f bl 8055160 LCD_DisplayString(80, 40, "V"); 8097642: 4a5a ldr r2, [pc, #360] ; (80977ac ) 8097644: 2128 movs r1, #40 ; 0x28 8097646: 2050 movs r0, #80 ; 0x50 8097648: f7bd fd8a bl 8055160 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809764c: 4b58 ldr r3, [pc, #352] ; (80977b0 ) 809764e: edd3 7a00 vldr s15, [r3] 8097652: f06f 0002 mvn.w r0, #2 8097656: eeb0 0a67 vmov.f32 s0, s15 809765a: f7cf ffa1 bl 80675a0 809765e: 4603 mov r3, r0 8097660: 461a mov r2, r3 8097662: 2128 movs r1, #40 ; 0x28 8097664: 204b movs r0, #75 ; 0x4b 8097666: f7bd fdab bl 80551c0 switch(menupos) 809766a: 4b52 ldr r3, [pc, #328] ; (80977b4 ) 809766c: 781b ldrb r3, [r3, #0] 809766e: b2db uxtb r3, r3 8097670: 2b01 cmp r3, #1 8097672: d02b beq.n 80976cc 8097674: 2b02 cmp r3, #2 8097676: d04f beq.n 8097718 8097678: 2b00 cmp r3, #0 809767a: d001 beq.n 8097680 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 809767c: f000 bfd6 b.w 809862c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097680: 4939 ldr r1, [pc, #228] ; (8097768 ) 8097682: f04f 30ff mov.w r0, #4294967295 8097686: f7bc ffc3 bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 809768a: 4a38 ldr r2, [pc, #224] ; (809776c ) 809768c: 21d2 movs r1, #210 ; 0xd2 809768e: 2032 movs r0, #50 ; 0x32 8097690: f7bd fd7e bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097694: 4936 ldr r1, [pc, #216] ; (8097770 ) 8097696: f04f 30ff mov.w r0, #4294967295 809769a: f7bc ffb9 bl 8054610 if(measuring) 809769e: 4b35 ldr r3, [pc, #212] ; (8097774 ) 80976a0: 781b ldrb r3, [r3, #0] 80976a2: b2db uxtb r3, r3 80976a4: 2b00 cmp r3, #0 80976a6: d005 beq.n 80976b4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80976a8: 4a33 ldr r2, [pc, #204] ; (8097778 ) 80976aa: 21d2 movs r1, #210 ; 0xd2 80976ac: 20a5 movs r0, #165 ; 0xa5 80976ae: f7bd fd6f bl 8055190 80976b2: e004 b.n 80976be else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80976b4: 4a31 ldr r2, [pc, #196] ; (809777c ) 80976b6: 21d2 movs r1, #210 ; 0xd2 80976b8: 20a5 movs r0, #165 ; 0xa5 80976ba: f7bd fd69 bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 80976be: 4a30 ldr r2, [pc, #192] ; (8097780 ) 80976c0: 21d2 movs r1, #210 ; 0xd2 80976c2: f44f 7087 mov.w r0, #270 ; 0x10e 80976c6: f7bd fd63 bl 8055190 break; 80976ca: e04b b.n 8097764 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80976cc: 4926 ldr r1, [pc, #152] ; (8097768 ) 80976ce: f04f 30ff mov.w r0, #4294967295 80976d2: f7bc ff9d bl 8054610 if(measuring) 80976d6: 4b27 ldr r3, [pc, #156] ; (8097774 ) 80976d8: 781b ldrb r3, [r3, #0] 80976da: b2db uxtb r3, r3 80976dc: 2b00 cmp r3, #0 80976de: d005 beq.n 80976ec LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80976e0: 4a25 ldr r2, [pc, #148] ; (8097778 ) 80976e2: 21d2 movs r1, #210 ; 0xd2 80976e4: 20a5 movs r0, #165 ; 0xa5 80976e6: f7bd fd53 bl 8055190 80976ea: e004 b.n 80976f6 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80976ec: 4a23 ldr r2, [pc, #140] ; (809777c ) 80976ee: 21d2 movs r1, #210 ; 0xd2 80976f0: 20a5 movs r0, #165 ; 0xa5 80976f2: f7bd fd4d bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80976f6: 491e ldr r1, [pc, #120] ; (8097770 ) 80976f8: f04f 30ff mov.w r0, #4294967295 80976fc: f7bc ff88 bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097700: 4a1a ldr r2, [pc, #104] ; (809776c ) 8097702: 21d2 movs r1, #210 ; 0xd2 8097704: 2032 movs r0, #50 ; 0x32 8097706: f7bd fd43 bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 809770a: 4a1d ldr r2, [pc, #116] ; (8097780 ) 809770c: 21d2 movs r1, #210 ; 0xd2 809770e: f44f 7087 mov.w r0, #270 ; 0x10e 8097712: f7bd fd3d bl 8055190 break; 8097716: e025 b.n 8097764 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097718: 4913 ldr r1, [pc, #76] ; (8097768 ) 809771a: f04f 30ff mov.w r0, #4294967295 809771e: f7bc ff77 bl 8054610 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097722: 4a17 ldr r2, [pc, #92] ; (8097780 ) 8097724: 21d2 movs r1, #210 ; 0xd2 8097726: f44f 7087 mov.w r0, #270 ; 0x10e 809772a: f7bd fd31 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809772e: 4910 ldr r1, [pc, #64] ; (8097770 ) 8097730: f04f 30ff mov.w r0, #4294967295 8097734: f7bc ff6c bl 8054610 if(measuring) 8097738: 4b0e ldr r3, [pc, #56] ; (8097774 ) 809773a: 781b ldrb r3, [r3, #0] 809773c: b2db uxtb r3, r3 809773e: 2b00 cmp r3, #0 8097740: d005 beq.n 809774e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097742: 4a0d ldr r2, [pc, #52] ; (8097778 ) 8097744: 21d2 movs r1, #210 ; 0xd2 8097746: 20a5 movs r0, #165 ; 0xa5 8097748: f7bd fd22 bl 8055190 809774c: e004 b.n 8097758 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809774e: 4a0b ldr r2, [pc, #44] ; (809777c ) 8097750: 21d2 movs r1, #210 ; 0xd2 8097752: 20a5 movs r0, #165 ; 0xa5 8097754: f7bd fd1c bl 8055190 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097758: 4a04 ldr r2, [pc, #16] ; (809776c ) 809775a: 21d2 movs r1, #210 ; 0xd2 809775c: 2032 movs r0, #50 ; 0x32 809775e: f7bd fd17 bl 8055190 break; 8097762: bf00 nop break; 8097764: f000 bf62 b.w 809862c 8097768: ff606060 .word 0xff606060 809776c: 080d48b0 .word 0x080d48b0 8097770: ff0a0f1f .word 0xff0a0f1f 8097774: 20020dcf .word 0x20020dcf 8097778: 080d4864 .word 0x080d4864 809777c: 080d4870 .word 0x080d4870 8097780: 080d3104 .word 0x080d3104 8097784: 080d47f0 .word 0x080d47f0 8097788: 20020038 .word 0x20020038 809778c: 080d48ec .word 0x080d48ec 8097790: 080d48f8 .word 0x080d48f8 8097794: 080d4908 .word 0x080d4908 8097798: 080d4854 .word 0x080d4854 809779c: 080d485c .word 0x080d485c 80977a0: 20021588 .word 0x20021588 80977a4: 20020fbd .word 0x20020fbd 80977a8: 200261d4 .word 0x200261d4 80977ac: 080d2a10 .word 0x080d2a10 80977b0: 20020000 .word 0x20020000 80977b4: 20020070 .word 0x20020070 case CALIBR_4: /* Êàëèáðîâêà Êcorr[2] (ÇÀÐßÄ 10, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80977b8: 49c8 ldr r1, [pc, #800] ; (8097adc ) 80977ba: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80977be: f7bc ff27 bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 80977c2: 4ac7 ldr r2, [pc, #796] ; (8097ae0 ) 80977c4: 2128 movs r1, #40 ; 0x28 80977c6: 20a5 movs r0, #165 ; 0xa5 80977c8: f7bd fce2 bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 80977cc: 233b movs r3, #59 ; 0x3b 80977ce: f240 123d movw r2, #317 ; 0x13d 80977d2: 213b movs r1, #59 ; 0x3b 80977d4: 2002 movs r0, #2 80977d6: f7bd f955 bl 8054a84 BSP_LCD_SetFont(&Font12); 80977da: 48c2 ldr r0, [pc, #776] ; (8097ae4 ) 80977dc: f7bc ff54 bl 8054688 BSP_LCD_DisplayStringAt(310, 36, "[6 / 13]", RIGHT_MODE); 80977e0: 2302 movs r3, #2 80977e2: 4ac1 ldr r2, [pc, #772] ; (8097ae8 ) 80977e4: 2124 movs r1, #36 ; 0x24 80977e6: f44f 709b mov.w r0, #310 ; 0x136 80977ea: f7bc ffd7 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80977ee: 49bb ldr r1, [pc, #748] ; (8097adc ) 80977f0: f04f 30ff mov.w r0, #4294967295 80977f4: f7bc ff0c bl 8054610 LCD_DisplayString(5, 70, "[ICP 16] [Ky 1]"); 80977f8: 4abc ldr r2, [pc, #752] ; (8097aec ) 80977fa: 2146 movs r1, #70 ; 0x46 80977fc: 2005 movs r0, #5 80977fe: f7bd fcaf bl 8055160 LCD_DisplayString(5, 95, "Input:RMS=64ìÂ,1êÃö"); 8097802: 4abb ldr r2, [pc, #748] ; (8097af0 ) 8097804: 215f movs r1, #95 ; 0x5f 8097806: 2005 movs r0, #5 8097808: f7bd fcaa bl 8055160 LCD_DisplayString(5, 145, "Output="); 809780c: 4ab9 ldr r2, [pc, #740] ; (8097af4 ) 809780e: 2191 movs r1, #145 ; 0x91 8097810: 2005 movs r0, #5 8097812: f7bd fca5 bl 8055160 LCD_DisplayString(5, 170, "Kcorr="); 8097816: 4ab8 ldr r2, [pc, #736] ; (8097af8 ) 8097818: 21aa movs r1, #170 ; 0xaa 809781a: 2005 movs r0, #5 809781c: f7bd fca0 bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097820: 49ae ldr r1, [pc, #696] ; (8097adc ) 8097822: f06f 00ff mvn.w r0, #255 ; 0xff 8097826: f7bc fef3 bl 8054610 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 809782a: 4bb4 ldr r3, [pc, #720] ; (8097afc ) 809782c: edd3 7a00 vldr s15, [r3] 8097830: f06f 0003 mvn.w r0, #3 8097834: eeb0 0a67 vmov.f32 s0, s15 8097838: f7cf feb2 bl 80675a0 809783c: 4603 mov r3, r0 809783e: 461a mov r2, r3 8097840: 2191 movs r1, #145 ; 0x91 8097842: 207d movs r0, #125 ; 0x7d 8097844: f7bd fc8c bl 8055160 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8097848: 4bad ldr r3, [pc, #692] ; (8097b00 ) 809784a: 781b ldrb r3, [r3, #0] 809784c: b2db uxtb r3, r3 809784e: 3b35 subs r3, #53 ; 0x35 8097850: 4aac ldr r2, [pc, #688] ; (8097b04 ) 8097852: 009b lsls r3, r3, #2 8097854: 4413 add r3, r2 8097856: edd3 7a00 vldr s15, [r3] 809785a: f06f 0007 mvn.w r0, #7 809785e: eeb0 0a67 vmov.f32 s0, s15 8097862: f7cf fe9d bl 80675a0 8097866: 4603 mov r3, r0 8097868: 461a mov r2, r3 809786a: 21aa movs r1, #170 ; 0xaa 809786c: 207d movs r0, #125 ; 0x7d 809786e: f7bd fc77 bl 8055160 LCD_DisplayString(80, 40, "V"); 8097872: 4aa5 ldr r2, [pc, #660] ; (8097b08 ) 8097874: 2128 movs r1, #40 ; 0x28 8097876: 2050 movs r0, #80 ; 0x50 8097878: f7bd fc72 bl 8055160 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809787c: 4ba3 ldr r3, [pc, #652] ; (8097b0c ) 809787e: edd3 7a00 vldr s15, [r3] 8097882: f06f 0002 mvn.w r0, #2 8097886: eeb0 0a67 vmov.f32 s0, s15 809788a: f7cf fe89 bl 80675a0 809788e: 4603 mov r3, r0 8097890: 461a mov r2, r3 8097892: 2128 movs r1, #40 ; 0x28 8097894: 204b movs r0, #75 ; 0x4b 8097896: f7bd fc93 bl 80551c0 switch(menupos) 809789a: 4b9d ldr r3, [pc, #628] ; (8097b10 ) 809789c: 781b ldrb r3, [r3, #0] 809789e: b2db uxtb r3, r3 80978a0: 2b01 cmp r3, #1 80978a2: d02b beq.n 80978fc 80978a4: 2b02 cmp r3, #2 80978a6: d04f beq.n 8097948 80978a8: 2b00 cmp r3, #0 80978aa: d001 beq.n 80978b0 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 80978ac: f000 bebe b.w 809862c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80978b0: 4998 ldr r1, [pc, #608] ; (8097b14 ) 80978b2: f04f 30ff mov.w r0, #4294967295 80978b6: f7bc feab bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 80978ba: 4a97 ldr r2, [pc, #604] ; (8097b18 ) 80978bc: 21d2 movs r1, #210 ; 0xd2 80978be: 2032 movs r0, #50 ; 0x32 80978c0: f7bd fc66 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80978c4: 4985 ldr r1, [pc, #532] ; (8097adc ) 80978c6: f04f 30ff mov.w r0, #4294967295 80978ca: f7bc fea1 bl 8054610 if(measuring) 80978ce: 4b93 ldr r3, [pc, #588] ; (8097b1c ) 80978d0: 781b ldrb r3, [r3, #0] 80978d2: b2db uxtb r3, r3 80978d4: 2b00 cmp r3, #0 80978d6: d005 beq.n 80978e4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80978d8: 4a91 ldr r2, [pc, #580] ; (8097b20 ) 80978da: 21d2 movs r1, #210 ; 0xd2 80978dc: 20a5 movs r0, #165 ; 0xa5 80978de: f7bd fc57 bl 8055190 80978e2: e004 b.n 80978ee else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80978e4: 4a8f ldr r2, [pc, #572] ; (8097b24 ) 80978e6: 21d2 movs r1, #210 ; 0xd2 80978e8: 20a5 movs r0, #165 ; 0xa5 80978ea: f7bd fc51 bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 80978ee: 4a8e ldr r2, [pc, #568] ; (8097b28 ) 80978f0: 21d2 movs r1, #210 ; 0xd2 80978f2: f44f 7087 mov.w r0, #270 ; 0x10e 80978f6: f7bd fc4b bl 8055190 break; 80978fa: e04b b.n 8097994 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80978fc: 4985 ldr r1, [pc, #532] ; (8097b14 ) 80978fe: f04f 30ff mov.w r0, #4294967295 8097902: f7bc fe85 bl 8054610 if(measuring) 8097906: 4b85 ldr r3, [pc, #532] ; (8097b1c ) 8097908: 781b ldrb r3, [r3, #0] 809790a: b2db uxtb r3, r3 809790c: 2b00 cmp r3, #0 809790e: d005 beq.n 809791c LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097910: 4a83 ldr r2, [pc, #524] ; (8097b20 ) 8097912: 21d2 movs r1, #210 ; 0xd2 8097914: 20a5 movs r0, #165 ; 0xa5 8097916: f7bd fc3b bl 8055190 809791a: e004 b.n 8097926 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809791c: 4a81 ldr r2, [pc, #516] ; (8097b24 ) 809791e: 21d2 movs r1, #210 ; 0xd2 8097920: 20a5 movs r0, #165 ; 0xa5 8097922: f7bd fc35 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097926: 496d ldr r1, [pc, #436] ; (8097adc ) 8097928: f04f 30ff mov.w r0, #4294967295 809792c: f7bc fe70 bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097930: 4a79 ldr r2, [pc, #484] ; (8097b18 ) 8097932: 21d2 movs r1, #210 ; 0xd2 8097934: 2032 movs r0, #50 ; 0x32 8097936: f7bd fc2b bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 809793a: 4a7b ldr r2, [pc, #492] ; (8097b28 ) 809793c: 21d2 movs r1, #210 ; 0xd2 809793e: f44f 7087 mov.w r0, #270 ; 0x10e 8097942: f7bd fc25 bl 8055190 break; 8097946: e025 b.n 8097994 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097948: 4972 ldr r1, [pc, #456] ; (8097b14 ) 809794a: f04f 30ff mov.w r0, #4294967295 809794e: f7bc fe5f bl 8054610 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097952: 4a75 ldr r2, [pc, #468] ; (8097b28 ) 8097954: 21d2 movs r1, #210 ; 0xd2 8097956: f44f 7087 mov.w r0, #270 ; 0x10e 809795a: f7bd fc19 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809795e: 495f ldr r1, [pc, #380] ; (8097adc ) 8097960: f04f 30ff mov.w r0, #4294967295 8097964: f7bc fe54 bl 8054610 if(measuring) 8097968: 4b6c ldr r3, [pc, #432] ; (8097b1c ) 809796a: 781b ldrb r3, [r3, #0] 809796c: b2db uxtb r3, r3 809796e: 2b00 cmp r3, #0 8097970: d005 beq.n 809797e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097972: 4a6b ldr r2, [pc, #428] ; (8097b20 ) 8097974: 21d2 movs r1, #210 ; 0xd2 8097976: 20a5 movs r0, #165 ; 0xa5 8097978: f7bd fc0a bl 8055190 809797c: e004 b.n 8097988 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809797e: 4a69 ldr r2, [pc, #420] ; (8097b24 ) 8097980: 21d2 movs r1, #210 ; 0xd2 8097982: 20a5 movs r0, #165 ; 0xa5 8097984: f7bd fc04 bl 8055190 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097988: 4a63 ldr r2, [pc, #396] ; (8097b18 ) 809798a: 21d2 movs r1, #210 ; 0xd2 809798c: 2032 movs r0, #50 ; 0x32 809798e: f7bd fbff bl 8055190 break; 8097992: bf00 nop break; 8097994: f000 be4a b.w 809862c case CALIBR_5: /* Êàëèáðîâêà Êcorr[0] (ÇÀÐßÄ 0.1, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8097998: 4950 ldr r1, [pc, #320] ; (8097adc ) 809799a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809799e: f7bc fe37 bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 80979a2: 4a4f ldr r2, [pc, #316] ; (8097ae0 ) 80979a4: 2128 movs r1, #40 ; 0x28 80979a6: 20a5 movs r0, #165 ; 0xa5 80979a8: f7bd fbf2 bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 80979ac: 233b movs r3, #59 ; 0x3b 80979ae: f240 123d movw r2, #317 ; 0x13d 80979b2: 213b movs r1, #59 ; 0x3b 80979b4: 2002 movs r0, #2 80979b6: f7bd f865 bl 8054a84 BSP_LCD_SetFont(&Font12); 80979ba: 484a ldr r0, [pc, #296] ; (8097ae4 ) 80979bc: f7bc fe64 bl 8054688 BSP_LCD_DisplayStringAt(310, 36, "[7 / 13]", RIGHT_MODE); 80979c0: 2302 movs r3, #2 80979c2: 4a5a ldr r2, [pc, #360] ; (8097b2c ) 80979c4: 2124 movs r1, #36 ; 0x24 80979c6: f44f 709b mov.w r0, #310 ; 0x136 80979ca: f7bc fee7 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80979ce: 4943 ldr r1, [pc, #268] ; (8097adc ) 80979d0: f04f 30ff mov.w r0, #4294967295 80979d4: f7bc fe1c bl 8054610 LCD_DisplayString(5, 70, "[ICP 32] [Ky 1]"); 80979d8: 4a55 ldr r2, [pc, #340] ; (8097b30 ) 80979da: 2146 movs r1, #70 ; 0x46 80979dc: 2005 movs r0, #5 80979de: f7bd fbbf bl 8055160 LCD_DisplayString(5, 95, "Input:RMS=32ìÂ,1êÃö"); 80979e2: 4a54 ldr r2, [pc, #336] ; (8097b34 ) 80979e4: 215f movs r1, #95 ; 0x5f 80979e6: 2005 movs r0, #5 80979e8: f7bd fbba bl 8055160 LCD_DisplayString(5, 145, "Output="); 80979ec: 4a41 ldr r2, [pc, #260] ; (8097af4 ) 80979ee: 2191 movs r1, #145 ; 0x91 80979f0: 2005 movs r0, #5 80979f2: f7bd fbb5 bl 8055160 LCD_DisplayString(5, 170, "Kcorr="); 80979f6: 4a40 ldr r2, [pc, #256] ; (8097af8 ) 80979f8: 21aa movs r1, #170 ; 0xaa 80979fa: 2005 movs r0, #5 80979fc: f7bd fbb0 bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097a00: 4936 ldr r1, [pc, #216] ; (8097adc ) 8097a02: f06f 00ff mvn.w r0, #255 ; 0xff 8097a06: f7bc fe03 bl 8054610 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8097a0a: 4b3c ldr r3, [pc, #240] ; (8097afc ) 8097a0c: edd3 7a00 vldr s15, [r3] 8097a10: f06f 0003 mvn.w r0, #3 8097a14: eeb0 0a67 vmov.f32 s0, s15 8097a18: f7cf fdc2 bl 80675a0 8097a1c: 4603 mov r3, r0 8097a1e: 461a mov r2, r3 8097a20: 2191 movs r1, #145 ; 0x91 8097a22: 207d movs r0, #125 ; 0x7d 8097a24: f7bd fb9c bl 8055160 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8097a28: 4b35 ldr r3, [pc, #212] ; (8097b00 ) 8097a2a: 781b ldrb r3, [r3, #0] 8097a2c: b2db uxtb r3, r3 8097a2e: 3b35 subs r3, #53 ; 0x35 8097a30: 4a34 ldr r2, [pc, #208] ; (8097b04 ) 8097a32: 009b lsls r3, r3, #2 8097a34: 4413 add r3, r2 8097a36: edd3 7a00 vldr s15, [r3] 8097a3a: f06f 0007 mvn.w r0, #7 8097a3e: eeb0 0a67 vmov.f32 s0, s15 8097a42: f7cf fdad bl 80675a0 8097a46: 4603 mov r3, r0 8097a48: 461a mov r2, r3 8097a4a: 21aa movs r1, #170 ; 0xaa 8097a4c: 207d movs r0, #125 ; 0x7d 8097a4e: f7bd fb87 bl 8055160 LCD_DisplayString(80, 40, "V"); 8097a52: 4a2d ldr r2, [pc, #180] ; (8097b08 ) 8097a54: 2128 movs r1, #40 ; 0x28 8097a56: 2050 movs r0, #80 ; 0x50 8097a58: f7bd fb82 bl 8055160 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8097a5c: 4b2b ldr r3, [pc, #172] ; (8097b0c ) 8097a5e: edd3 7a00 vldr s15, [r3] 8097a62: f06f 0002 mvn.w r0, #2 8097a66: eeb0 0a67 vmov.f32 s0, s15 8097a6a: f7cf fd99 bl 80675a0 8097a6e: 4603 mov r3, r0 8097a70: 461a mov r2, r3 8097a72: 2128 movs r1, #40 ; 0x28 8097a74: 204b movs r0, #75 ; 0x4b 8097a76: f7bd fba3 bl 80551c0 switch(menupos) 8097a7a: 4b25 ldr r3, [pc, #148] ; (8097b10 ) 8097a7c: 781b ldrb r3, [r3, #0] 8097a7e: b2db uxtb r3, r3 8097a80: 2b01 cmp r3, #1 8097a82: d059 beq.n 8097b38 8097a84: 2b02 cmp r3, #2 8097a86: d07d beq.n 8097b84 8097a88: 2b00 cmp r3, #0 8097a8a: d001 beq.n 8097a90 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8097a8c: f000 bdce b.w 809862c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097a90: 4920 ldr r1, [pc, #128] ; (8097b14 ) 8097a92: f04f 30ff mov.w r0, #4294967295 8097a96: f7bc fdbb bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097a9a: 4a1f ldr r2, [pc, #124] ; (8097b18 ) 8097a9c: 21d2 movs r1, #210 ; 0xd2 8097a9e: 2032 movs r0, #50 ; 0x32 8097aa0: f7bd fb76 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097aa4: 490d ldr r1, [pc, #52] ; (8097adc ) 8097aa6: f04f 30ff mov.w r0, #4294967295 8097aaa: f7bc fdb1 bl 8054610 if(measuring) 8097aae: 4b1b ldr r3, [pc, #108] ; (8097b1c ) 8097ab0: 781b ldrb r3, [r3, #0] 8097ab2: b2db uxtb r3, r3 8097ab4: 2b00 cmp r3, #0 8097ab6: d005 beq.n 8097ac4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097ab8: 4a19 ldr r2, [pc, #100] ; (8097b20 ) 8097aba: 21d2 movs r1, #210 ; 0xd2 8097abc: 20a5 movs r0, #165 ; 0xa5 8097abe: f7bd fb67 bl 8055190 8097ac2: e004 b.n 8097ace else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097ac4: 4a17 ldr r2, [pc, #92] ; (8097b24 ) 8097ac6: 21d2 movs r1, #210 ; 0xd2 8097ac8: 20a5 movs r0, #165 ; 0xa5 8097aca: f7bd fb61 bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097ace: 4a16 ldr r2, [pc, #88] ; (8097b28 ) 8097ad0: 21d2 movs r1, #210 ; 0xd2 8097ad2: f44f 7087 mov.w r0, #270 ; 0x10e 8097ad6: f7bd fb5b bl 8055190 break; 8097ada: e079 b.n 8097bd0 8097adc: ff0a0f1f .word 0xff0a0f1f 8097ae0: 080d47f0 .word 0x080d47f0 8097ae4: 20020038 .word 0x20020038 8097ae8: 080d4920 .word 0x080d4920 8097aec: 080d492c .word 0x080d492c 8097af0: 080d493c .word 0x080d493c 8097af4: 080d4854 .word 0x080d4854 8097af8: 080d485c .word 0x080d485c 8097afc: 20021588 .word 0x20021588 8097b00: 20020fbd .word 0x20020fbd 8097b04: 200261d4 .word 0x200261d4 8097b08: 080d2a10 .word 0x080d2a10 8097b0c: 20020000 .word 0x20020000 8097b10: 20020070 .word 0x20020070 8097b14: ff606060 .word 0xff606060 8097b18: 080d48b0 .word 0x080d48b0 8097b1c: 20020dcf .word 0x20020dcf 8097b20: 080d4864 .word 0x080d4864 8097b24: 080d4870 .word 0x080d4870 8097b28: 080d3104 .word 0x080d3104 8097b2c: 080d4950 .word 0x080d4950 8097b30: 080d495c .word 0x080d495c 8097b34: 080d496c .word 0x080d496c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097b38: 499e ldr r1, [pc, #632] ; (8097db4 ) 8097b3a: f04f 30ff mov.w r0, #4294967295 8097b3e: f7bc fd67 bl 8054610 if(measuring) 8097b42: 4b9d ldr r3, [pc, #628] ; (8097db8 ) 8097b44: 781b ldrb r3, [r3, #0] 8097b46: b2db uxtb r3, r3 8097b48: 2b00 cmp r3, #0 8097b4a: d005 beq.n 8097b58 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097b4c: 4a9b ldr r2, [pc, #620] ; (8097dbc ) 8097b4e: 21d2 movs r1, #210 ; 0xd2 8097b50: 20a5 movs r0, #165 ; 0xa5 8097b52: f7bd fb1d bl 8055190 8097b56: e004 b.n 8097b62 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097b58: 4a99 ldr r2, [pc, #612] ; (8097dc0 ) 8097b5a: 21d2 movs r1, #210 ; 0xd2 8097b5c: 20a5 movs r0, #165 ; 0xa5 8097b5e: f7bd fb17 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097b62: 4998 ldr r1, [pc, #608] ; (8097dc4 ) 8097b64: f04f 30ff mov.w r0, #4294967295 8097b68: f7bc fd52 bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097b6c: 4a96 ldr r2, [pc, #600] ; (8097dc8 ) 8097b6e: 21d2 movs r1, #210 ; 0xd2 8097b70: 2032 movs r0, #50 ; 0x32 8097b72: f7bd fb0d bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097b76: 4a95 ldr r2, [pc, #596] ; (8097dcc ) 8097b78: 21d2 movs r1, #210 ; 0xd2 8097b7a: f44f 7087 mov.w r0, #270 ; 0x10e 8097b7e: f7bd fb07 bl 8055190 break; 8097b82: e025 b.n 8097bd0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097b84: 498b ldr r1, [pc, #556] ; (8097db4 ) 8097b86: f04f 30ff mov.w r0, #4294967295 8097b8a: f7bc fd41 bl 8054610 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097b8e: 4a8f ldr r2, [pc, #572] ; (8097dcc ) 8097b90: 21d2 movs r1, #210 ; 0xd2 8097b92: f44f 7087 mov.w r0, #270 ; 0x10e 8097b96: f7bd fafb bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097b9a: 498a ldr r1, [pc, #552] ; (8097dc4 ) 8097b9c: f04f 30ff mov.w r0, #4294967295 8097ba0: f7bc fd36 bl 8054610 if(measuring) 8097ba4: 4b84 ldr r3, [pc, #528] ; (8097db8 ) 8097ba6: 781b ldrb r3, [r3, #0] 8097ba8: b2db uxtb r3, r3 8097baa: 2b00 cmp r3, #0 8097bac: d005 beq.n 8097bba LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097bae: 4a83 ldr r2, [pc, #524] ; (8097dbc ) 8097bb0: 21d2 movs r1, #210 ; 0xd2 8097bb2: 20a5 movs r0, #165 ; 0xa5 8097bb4: f7bd faec bl 8055190 8097bb8: e004 b.n 8097bc4 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097bba: 4a81 ldr r2, [pc, #516] ; (8097dc0 ) 8097bbc: 21d2 movs r1, #210 ; 0xd2 8097bbe: 20a5 movs r0, #165 ; 0xa5 8097bc0: f7bd fae6 bl 8055190 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097bc4: 4a80 ldr r2, [pc, #512] ; (8097dc8 ) 8097bc6: 21d2 movs r1, #210 ; 0xd2 8097bc8: 2032 movs r0, #50 ; 0x32 8097bca: f7bd fae1 bl 8055190 break; 8097bce: bf00 nop break; 8097bd0: f000 bd2c b.w 809862c case CALIBR_6: /* Êàëèáðîâêà Êcorr[3] (IEPE 1, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8097bd4: 497b ldr r1, [pc, #492] ; (8097dc4 ) 8097bd6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8097bda: f7bc fd19 bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8097bde: 4a7c ldr r2, [pc, #496] ; (8097dd0 ) 8097be0: 2128 movs r1, #40 ; 0x28 8097be2: 20a5 movs r0, #165 ; 0xa5 8097be4: f7bd fad4 bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 8097be8: 233b movs r3, #59 ; 0x3b 8097bea: f240 123d movw r2, #317 ; 0x13d 8097bee: 213b movs r1, #59 ; 0x3b 8097bf0: 2002 movs r0, #2 8097bf2: f7bc ff47 bl 8054a84 BSP_LCD_SetFont(&Font12); 8097bf6: 4877 ldr r0, [pc, #476] ; (8097dd4 ) 8097bf8: f7bc fd46 bl 8054688 BSP_LCD_DisplayStringAt(310, 36, "[8 / 13]", RIGHT_MODE); 8097bfc: 2302 movs r3, #2 8097bfe: 4a76 ldr r2, [pc, #472] ; (8097dd8 ) 8097c00: 2124 movs r1, #36 ; 0x24 8097c02: f44f 709b mov.w r0, #310 ; 0x136 8097c06: f7bc fdc9 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097c0a: 496e ldr r1, [pc, #440] ; (8097dc4 ) 8097c0c: f04f 30ff mov.w r0, #4294967295 8097c10: f7bc fcfe bl 8054610 LCD_DisplayString(5, 70, "[ICP 64] [Ky 1]"); 8097c14: 4a71 ldr r2, [pc, #452] ; (8097ddc ) 8097c16: 2146 movs r1, #70 ; 0x46 8097c18: 2005 movs r0, #5 8097c1a: f7bd faa1 bl 8055160 LCD_DisplayString(5, 95, "Input:RMS=16ìÂ,1êÃö"); 8097c1e: 4a70 ldr r2, [pc, #448] ; (8097de0 ) 8097c20: 215f movs r1, #95 ; 0x5f 8097c22: 2005 movs r0, #5 8097c24: f7bd fa9c bl 8055160 LCD_DisplayString(5, 145, "Output="); 8097c28: 4a6e ldr r2, [pc, #440] ; (8097de4 ) 8097c2a: 2191 movs r1, #145 ; 0x91 8097c2c: 2005 movs r0, #5 8097c2e: f7bd fa97 bl 8055160 LCD_DisplayString(5, 170, "Kcorr="); 8097c32: 4a6d ldr r2, [pc, #436] ; (8097de8 ) 8097c34: 21aa movs r1, #170 ; 0xaa 8097c36: 2005 movs r0, #5 8097c38: f7bd fa92 bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097c3c: 4961 ldr r1, [pc, #388] ; (8097dc4 ) 8097c3e: f06f 00ff mvn.w r0, #255 ; 0xff 8097c42: f7bc fce5 bl 8054610 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8097c46: 4b69 ldr r3, [pc, #420] ; (8097dec ) 8097c48: edd3 7a00 vldr s15, [r3] 8097c4c: f06f 0003 mvn.w r0, #3 8097c50: eeb0 0a67 vmov.f32 s0, s15 8097c54: f7cf fca4 bl 80675a0 8097c58: 4603 mov r3, r0 8097c5a: 461a mov r2, r3 8097c5c: 2191 movs r1, #145 ; 0x91 8097c5e: 207d movs r0, #125 ; 0x7d 8097c60: f7bd fa7e bl 8055160 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8097c64: 4b62 ldr r3, [pc, #392] ; (8097df0 ) 8097c66: 781b ldrb r3, [r3, #0] 8097c68: b2db uxtb r3, r3 8097c6a: 3b35 subs r3, #53 ; 0x35 8097c6c: 4a61 ldr r2, [pc, #388] ; (8097df4 ) 8097c6e: 009b lsls r3, r3, #2 8097c70: 4413 add r3, r2 8097c72: edd3 7a00 vldr s15, [r3] 8097c76: f06f 0007 mvn.w r0, #7 8097c7a: eeb0 0a67 vmov.f32 s0, s15 8097c7e: f7cf fc8f bl 80675a0 8097c82: 4603 mov r3, r0 8097c84: 461a mov r2, r3 8097c86: 21aa movs r1, #170 ; 0xaa 8097c88: 207d movs r0, #125 ; 0x7d 8097c8a: f7bd fa69 bl 8055160 LCD_DisplayString(80, 40, "V"); 8097c8e: 4a5a ldr r2, [pc, #360] ; (8097df8 ) 8097c90: 2128 movs r1, #40 ; 0x28 8097c92: 2050 movs r0, #80 ; 0x50 8097c94: f7bd fa64 bl 8055160 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8097c98: 4b58 ldr r3, [pc, #352] ; (8097dfc ) 8097c9a: edd3 7a00 vldr s15, [r3] 8097c9e: f06f 0002 mvn.w r0, #2 8097ca2: eeb0 0a67 vmov.f32 s0, s15 8097ca6: f7cf fc7b bl 80675a0 8097caa: 4603 mov r3, r0 8097cac: 461a mov r2, r3 8097cae: 2128 movs r1, #40 ; 0x28 8097cb0: 204b movs r0, #75 ; 0x4b 8097cb2: f7bd fa85 bl 80551c0 switch(menupos) 8097cb6: 4b52 ldr r3, [pc, #328] ; (8097e00 ) 8097cb8: 781b ldrb r3, [r3, #0] 8097cba: b2db uxtb r3, r3 8097cbc: 2b01 cmp r3, #1 8097cbe: d02b beq.n 8097d18 8097cc0: 2b02 cmp r3, #2 8097cc2: d04f beq.n 8097d64 8097cc4: 2b00 cmp r3, #0 8097cc6: d001 beq.n 8097ccc else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8097cc8: f000 bcb0 b.w 809862c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097ccc: 4939 ldr r1, [pc, #228] ; (8097db4 ) 8097cce: f04f 30ff mov.w r0, #4294967295 8097cd2: f7bc fc9d bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097cd6: 4a3c ldr r2, [pc, #240] ; (8097dc8 ) 8097cd8: 21d2 movs r1, #210 ; 0xd2 8097cda: 2032 movs r0, #50 ; 0x32 8097cdc: f7bd fa58 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097ce0: 4938 ldr r1, [pc, #224] ; (8097dc4 ) 8097ce2: f04f 30ff mov.w r0, #4294967295 8097ce6: f7bc fc93 bl 8054610 if(measuring) 8097cea: 4b33 ldr r3, [pc, #204] ; (8097db8 ) 8097cec: 781b ldrb r3, [r3, #0] 8097cee: b2db uxtb r3, r3 8097cf0: 2b00 cmp r3, #0 8097cf2: d005 beq.n 8097d00 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097cf4: 4a31 ldr r2, [pc, #196] ; (8097dbc ) 8097cf6: 21d2 movs r1, #210 ; 0xd2 8097cf8: 20a5 movs r0, #165 ; 0xa5 8097cfa: f7bd fa49 bl 8055190 8097cfe: e004 b.n 8097d0a else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097d00: 4a2f ldr r2, [pc, #188] ; (8097dc0 ) 8097d02: 21d2 movs r1, #210 ; 0xd2 8097d04: 20a5 movs r0, #165 ; 0xa5 8097d06: f7bd fa43 bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097d0a: 4a30 ldr r2, [pc, #192] ; (8097dcc ) 8097d0c: 21d2 movs r1, #210 ; 0xd2 8097d0e: f44f 7087 mov.w r0, #270 ; 0x10e 8097d12: f7bd fa3d bl 8055190 break; 8097d16: e04b b.n 8097db0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097d18: 4926 ldr r1, [pc, #152] ; (8097db4 ) 8097d1a: f04f 30ff mov.w r0, #4294967295 8097d1e: f7bc fc77 bl 8054610 if(measuring) 8097d22: 4b25 ldr r3, [pc, #148] ; (8097db8 ) 8097d24: 781b ldrb r3, [r3, #0] 8097d26: b2db uxtb r3, r3 8097d28: 2b00 cmp r3, #0 8097d2a: d005 beq.n 8097d38 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097d2c: 4a23 ldr r2, [pc, #140] ; (8097dbc ) 8097d2e: 21d2 movs r1, #210 ; 0xd2 8097d30: 20a5 movs r0, #165 ; 0xa5 8097d32: f7bd fa2d bl 8055190 8097d36: e004 b.n 8097d42 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097d38: 4a21 ldr r2, [pc, #132] ; (8097dc0 ) 8097d3a: 21d2 movs r1, #210 ; 0xd2 8097d3c: 20a5 movs r0, #165 ; 0xa5 8097d3e: f7bd fa27 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097d42: 4920 ldr r1, [pc, #128] ; (8097dc4 ) 8097d44: f04f 30ff mov.w r0, #4294967295 8097d48: f7bc fc62 bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097d4c: 4a1e ldr r2, [pc, #120] ; (8097dc8 ) 8097d4e: 21d2 movs r1, #210 ; 0xd2 8097d50: 2032 movs r0, #50 ; 0x32 8097d52: f7bd fa1d bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097d56: 4a1d ldr r2, [pc, #116] ; (8097dcc ) 8097d58: 21d2 movs r1, #210 ; 0xd2 8097d5a: f44f 7087 mov.w r0, #270 ; 0x10e 8097d5e: f7bd fa17 bl 8055190 break; 8097d62: e025 b.n 8097db0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097d64: 4913 ldr r1, [pc, #76] ; (8097db4 ) 8097d66: f04f 30ff mov.w r0, #4294967295 8097d6a: f7bc fc51 bl 8054610 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097d6e: 4a17 ldr r2, [pc, #92] ; (8097dcc ) 8097d70: 21d2 movs r1, #210 ; 0xd2 8097d72: f44f 7087 mov.w r0, #270 ; 0x10e 8097d76: f7bd fa0b bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097d7a: 4912 ldr r1, [pc, #72] ; (8097dc4 ) 8097d7c: f04f 30ff mov.w r0, #4294967295 8097d80: f7bc fc46 bl 8054610 if(measuring) 8097d84: 4b0c ldr r3, [pc, #48] ; (8097db8 ) 8097d86: 781b ldrb r3, [r3, #0] 8097d88: b2db uxtb r3, r3 8097d8a: 2b00 cmp r3, #0 8097d8c: d005 beq.n 8097d9a LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097d8e: 4a0b ldr r2, [pc, #44] ; (8097dbc ) 8097d90: 21d2 movs r1, #210 ; 0xd2 8097d92: 20a5 movs r0, #165 ; 0xa5 8097d94: f7bd f9fc bl 8055190 8097d98: e004 b.n 8097da4 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097d9a: 4a09 ldr r2, [pc, #36] ; (8097dc0 ) 8097d9c: 21d2 movs r1, #210 ; 0xd2 8097d9e: 20a5 movs r0, #165 ; 0xa5 8097da0: f7bd f9f6 bl 8055190 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097da4: 4a08 ldr r2, [pc, #32] ; (8097dc8 ) 8097da6: 21d2 movs r1, #210 ; 0xd2 8097da8: 2032 movs r0, #50 ; 0x32 8097daa: f7bd f9f1 bl 8055190 break; 8097dae: bf00 nop break; 8097db0: f000 bc3c b.w 809862c 8097db4: ff606060 .word 0xff606060 8097db8: 20020dcf .word 0x20020dcf 8097dbc: 080d4864 .word 0x080d4864 8097dc0: 080d4870 .word 0x080d4870 8097dc4: ff0a0f1f .word 0xff0a0f1f 8097dc8: 080d48b0 .word 0x080d48b0 8097dcc: 080d3104 .word 0x080d3104 8097dd0: 080d47f0 .word 0x080d47f0 8097dd4: 20020038 .word 0x20020038 8097dd8: 080d4980 .word 0x080d4980 8097ddc: 080d498c .word 0x080d498c 8097de0: 080d499c .word 0x080d499c 8097de4: 080d4854 .word 0x080d4854 8097de8: 080d485c .word 0x080d485c 8097dec: 20021588 .word 0x20021588 8097df0: 20020fbd .word 0x20020fbd 8097df4: 200261d4 .word 0x200261d4 8097df8: 080d2a10 .word 0x080d2a10 8097dfc: 20020000 .word 0x20020000 8097e00: 20020070 .word 0x20020070 case CALIBR_7: /* Êàëèáðîâêà Êcorr[4] (IEPE 10, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8097e04: 49c7 ldr r1, [pc, #796] ; (8098124 ) 8097e06: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8097e0a: f7bc fc01 bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8097e0e: 4ac6 ldr r2, [pc, #792] ; (8098128 ) 8097e10: 2128 movs r1, #40 ; 0x28 8097e12: 20a5 movs r0, #165 ; 0xa5 8097e14: f7bd f9bc bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 8097e18: 233b movs r3, #59 ; 0x3b 8097e1a: f240 123d movw r2, #317 ; 0x13d 8097e1e: 213b movs r1, #59 ; 0x3b 8097e20: 2002 movs r0, #2 8097e22: f7bc fe2f bl 8054a84 BSP_LCD_SetFont(&Font12); 8097e26: 48c1 ldr r0, [pc, #772] ; (809812c ) 8097e28: f7bc fc2e bl 8054688 BSP_LCD_DisplayStringAt(310, 36, "[9 / 13]", RIGHT_MODE); 8097e2c: 2302 movs r3, #2 8097e2e: 4ac0 ldr r2, [pc, #768] ; (8098130 ) 8097e30: 2124 movs r1, #36 ; 0x24 8097e32: f44f 709b mov.w r0, #310 ; 0x136 8097e36: f7bc fcb1 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097e3a: 49ba ldr r1, [pc, #744] ; (8098124 ) 8097e3c: f04f 30ff mov.w r0, #4294967295 8097e40: f7bc fbe6 bl 8054610 LCD_DisplayString(5, 70, "[ICP 1] [Ky 10]"); 8097e44: 4abb ldr r2, [pc, #748] ; (8098134 ) 8097e46: 2146 movs r1, #70 ; 0x46 8097e48: 2005 movs r0, #5 8097e4a: f7bd f989 bl 8055160 LCD_DisplayString(5, 95, "Input:RMS=100ìÂ,1êÃö"); 8097e4e: 4aba ldr r2, [pc, #744] ; (8098138 ) 8097e50: 215f movs r1, #95 ; 0x5f 8097e52: 2005 movs r0, #5 8097e54: f7bd f984 bl 8055160 LCD_DisplayString(5, 145, "Output="); 8097e58: 4ab8 ldr r2, [pc, #736] ; (809813c ) 8097e5a: 2191 movs r1, #145 ; 0x91 8097e5c: 2005 movs r0, #5 8097e5e: f7bd f97f bl 8055160 LCD_DisplayString(5, 170, "Kcorr="); 8097e62: 4ab7 ldr r2, [pc, #732] ; (8098140 ) 8097e64: 21aa movs r1, #170 ; 0xaa 8097e66: 2005 movs r0, #5 8097e68: f7bd f97a bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097e6c: 49ad ldr r1, [pc, #692] ; (8098124 ) 8097e6e: f06f 00ff mvn.w r0, #255 ; 0xff 8097e72: f7bc fbcd bl 8054610 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8097e76: 4bb3 ldr r3, [pc, #716] ; (8098144 ) 8097e78: edd3 7a00 vldr s15, [r3] 8097e7c: f06f 0003 mvn.w r0, #3 8097e80: eeb0 0a67 vmov.f32 s0, s15 8097e84: f7cf fb8c bl 80675a0 8097e88: 4603 mov r3, r0 8097e8a: 461a mov r2, r3 8097e8c: 2191 movs r1, #145 ; 0x91 8097e8e: 207d movs r0, #125 ; 0x7d 8097e90: f7bd f966 bl 8055160 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8097e94: 4bac ldr r3, [pc, #688] ; (8098148 ) 8097e96: 781b ldrb r3, [r3, #0] 8097e98: b2db uxtb r3, r3 8097e9a: 3b35 subs r3, #53 ; 0x35 8097e9c: 4aab ldr r2, [pc, #684] ; (809814c ) 8097e9e: 009b lsls r3, r3, #2 8097ea0: 4413 add r3, r2 8097ea2: edd3 7a00 vldr s15, [r3] 8097ea6: f06f 0007 mvn.w r0, #7 8097eaa: eeb0 0a67 vmov.f32 s0, s15 8097eae: f7cf fb77 bl 80675a0 8097eb2: 4603 mov r3, r0 8097eb4: 461a mov r2, r3 8097eb6: 21aa movs r1, #170 ; 0xaa 8097eb8: 207d movs r0, #125 ; 0x7d 8097eba: f7bd f951 bl 8055160 LCD_DisplayString(80, 40, "V"); 8097ebe: 4aa4 ldr r2, [pc, #656] ; (8098150 ) 8097ec0: 2128 movs r1, #40 ; 0x28 8097ec2: 2050 movs r0, #80 ; 0x50 8097ec4: f7bd f94c bl 8055160 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8097ec8: 4ba2 ldr r3, [pc, #648] ; (8098154 ) 8097eca: edd3 7a00 vldr s15, [r3] 8097ece: f06f 0002 mvn.w r0, #2 8097ed2: eeb0 0a67 vmov.f32 s0, s15 8097ed6: f7cf fb63 bl 80675a0 8097eda: 4603 mov r3, r0 8097edc: 461a mov r2, r3 8097ede: 2128 movs r1, #40 ; 0x28 8097ee0: 204b movs r0, #75 ; 0x4b 8097ee2: f7bd f96d bl 80551c0 switch(menupos) 8097ee6: 4b9c ldr r3, [pc, #624] ; (8098158 ) 8097ee8: 781b ldrb r3, [r3, #0] 8097eea: b2db uxtb r3, r3 8097eec: 2b01 cmp r3, #1 8097eee: d02a beq.n 8097f46 8097ef0: 2b02 cmp r3, #2 8097ef2: d04e beq.n 8097f92 8097ef4: 2b00 cmp r3, #0 8097ef6: d000 beq.n 8097efa else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8097ef8: e398 b.n 809862c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097efa: 4998 ldr r1, [pc, #608] ; (809815c ) 8097efc: f04f 30ff mov.w r0, #4294967295 8097f00: f7bc fb86 bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097f04: 4a96 ldr r2, [pc, #600] ; (8098160 ) 8097f06: 21d2 movs r1, #210 ; 0xd2 8097f08: 2032 movs r0, #50 ; 0x32 8097f0a: f7bd f941 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097f0e: 4985 ldr r1, [pc, #532] ; (8098124 ) 8097f10: f04f 30ff mov.w r0, #4294967295 8097f14: f7bc fb7c bl 8054610 if(measuring) 8097f18: 4b92 ldr r3, [pc, #584] ; (8098164 ) 8097f1a: 781b ldrb r3, [r3, #0] 8097f1c: b2db uxtb r3, r3 8097f1e: 2b00 cmp r3, #0 8097f20: d005 beq.n 8097f2e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097f22: 4a91 ldr r2, [pc, #580] ; (8098168 ) 8097f24: 21d2 movs r1, #210 ; 0xd2 8097f26: 20a5 movs r0, #165 ; 0xa5 8097f28: f7bd f932 bl 8055190 8097f2c: e004 b.n 8097f38 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097f2e: 4a8f ldr r2, [pc, #572] ; (809816c ) 8097f30: 21d2 movs r1, #210 ; 0xd2 8097f32: 20a5 movs r0, #165 ; 0xa5 8097f34: f7bd f92c bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097f38: 4a8d ldr r2, [pc, #564] ; (8098170 ) 8097f3a: 21d2 movs r1, #210 ; 0xd2 8097f3c: f44f 7087 mov.w r0, #270 ; 0x10e 8097f40: f7bd f926 bl 8055190 break; 8097f44: e04b b.n 8097fde LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097f46: 4985 ldr r1, [pc, #532] ; (809815c ) 8097f48: f04f 30ff mov.w r0, #4294967295 8097f4c: f7bc fb60 bl 8054610 if(measuring) 8097f50: 4b84 ldr r3, [pc, #528] ; (8098164 ) 8097f52: 781b ldrb r3, [r3, #0] 8097f54: b2db uxtb r3, r3 8097f56: 2b00 cmp r3, #0 8097f58: d005 beq.n 8097f66 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097f5a: 4a83 ldr r2, [pc, #524] ; (8098168 ) 8097f5c: 21d2 movs r1, #210 ; 0xd2 8097f5e: 20a5 movs r0, #165 ; 0xa5 8097f60: f7bd f916 bl 8055190 8097f64: e004 b.n 8097f70 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097f66: 4a81 ldr r2, [pc, #516] ; (809816c ) 8097f68: 21d2 movs r1, #210 ; 0xd2 8097f6a: 20a5 movs r0, #165 ; 0xa5 8097f6c: f7bd f910 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097f70: 496c ldr r1, [pc, #432] ; (8098124 ) 8097f72: f04f 30ff mov.w r0, #4294967295 8097f76: f7bc fb4b bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097f7a: 4a79 ldr r2, [pc, #484] ; (8098160 ) 8097f7c: 21d2 movs r1, #210 ; 0xd2 8097f7e: 2032 movs r0, #50 ; 0x32 8097f80: f7bd f906 bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097f84: 4a7a ldr r2, [pc, #488] ; (8098170 ) 8097f86: 21d2 movs r1, #210 ; 0xd2 8097f88: f44f 7087 mov.w r0, #270 ; 0x10e 8097f8c: f7bd f900 bl 8055190 break; 8097f90: e025 b.n 8097fde LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097f92: 4972 ldr r1, [pc, #456] ; (809815c ) 8097f94: f04f 30ff mov.w r0, #4294967295 8097f98: f7bc fb3a bl 8054610 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097f9c: 4a74 ldr r2, [pc, #464] ; (8098170 ) 8097f9e: 21d2 movs r1, #210 ; 0xd2 8097fa0: f44f 7087 mov.w r0, #270 ; 0x10e 8097fa4: f7bd f8f4 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097fa8: 495e ldr r1, [pc, #376] ; (8098124 ) 8097faa: f04f 30ff mov.w r0, #4294967295 8097fae: f7bc fb2f bl 8054610 if(measuring) 8097fb2: 4b6c ldr r3, [pc, #432] ; (8098164 ) 8097fb4: 781b ldrb r3, [r3, #0] 8097fb6: b2db uxtb r3, r3 8097fb8: 2b00 cmp r3, #0 8097fba: d005 beq.n 8097fc8 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097fbc: 4a6a ldr r2, [pc, #424] ; (8098168 ) 8097fbe: 21d2 movs r1, #210 ; 0xd2 8097fc0: 20a5 movs r0, #165 ; 0xa5 8097fc2: f7bd f8e5 bl 8055190 8097fc6: e004 b.n 8097fd2 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097fc8: 4a68 ldr r2, [pc, #416] ; (809816c ) 8097fca: 21d2 movs r1, #210 ; 0xd2 8097fcc: 20a5 movs r0, #165 ; 0xa5 8097fce: f7bd f8df bl 8055190 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097fd2: 4a63 ldr r2, [pc, #396] ; (8098160 ) 8097fd4: 21d2 movs r1, #210 ; 0xd2 8097fd6: 2032 movs r0, #50 ; 0x32 8097fd8: f7bd f8da bl 8055190 break; 8097fdc: bf00 nop break; 8097fde: e325 b.n 809862c case CALIBR_8: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8097fe0: 4950 ldr r1, [pc, #320] ; (8098124 ) 8097fe2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8097fe6: f7bc fb13 bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8097fea: 4a4f ldr r2, [pc, #316] ; (8098128 ) 8097fec: 2128 movs r1, #40 ; 0x28 8097fee: 20a5 movs r0, #165 ; 0xa5 8097ff0: f7bd f8ce bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 8097ff4: 233b movs r3, #59 ; 0x3b 8097ff6: f240 123d movw r2, #317 ; 0x13d 8097ffa: 213b movs r1, #59 ; 0x3b 8097ffc: 2002 movs r0, #2 8097ffe: f7bc fd41 bl 8054a84 BSP_LCD_SetFont(&Font12); 8098002: 484a ldr r0, [pc, #296] ; (809812c ) 8098004: f7bc fb40 bl 8054688 BSP_LCD_DisplayStringAt(310, 36, "[10 / 13]", RIGHT_MODE); 8098008: 2302 movs r3, #2 809800a: 4a5a ldr r2, [pc, #360] ; (8098174 ) 809800c: 2124 movs r1, #36 ; 0x24 809800e: f44f 709b mov.w r0, #310 ; 0x136 8098012: f7bc fbc3 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098016: 4943 ldr r1, [pc, #268] ; (8098124 ) 8098018: f04f 30ff mov.w r0, #4294967295 809801c: f7bc faf8 bl 8054610 LCD_DisplayString(5, 70, "[ZAR 1] [Ky 1]"); 8098020: 4a55 ldr r2, [pc, #340] ; (8098178 ) 8098022: 2146 movs r1, #70 ; 0x46 8098024: 2005 movs r0, #5 8098026: f7bd f89b bl 8055160 LCD_DisplayString(5, 95, "Input:RMS=1024ìÂ,1êÃö"); 809802a: 4a54 ldr r2, [pc, #336] ; (809817c ) 809802c: 215f movs r1, #95 ; 0x5f 809802e: 2005 movs r0, #5 8098030: f7bd f896 bl 8055160 LCD_DisplayString(5, 145, "Output="); 8098034: 4a41 ldr r2, [pc, #260] ; (809813c ) 8098036: 2191 movs r1, #145 ; 0x91 8098038: 2005 movs r0, #5 809803a: f7bd f891 bl 8055160 LCD_DisplayString(5, 170, "Kcorr="); 809803e: 4a40 ldr r2, [pc, #256] ; (8098140 ) 8098040: 21aa movs r1, #170 ; 0xaa 8098042: 2005 movs r0, #5 8098044: f7bd f88c bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8098048: 4936 ldr r1, [pc, #216] ; (8098124 ) 809804a: f06f 00ff mvn.w r0, #255 ; 0xff 809804e: f7bc fadf bl 8054610 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8098052: 4b3c ldr r3, [pc, #240] ; (8098144 ) 8098054: edd3 7a00 vldr s15, [r3] 8098058: f06f 0003 mvn.w r0, #3 809805c: eeb0 0a67 vmov.f32 s0, s15 8098060: f7cf fa9e bl 80675a0 8098064: 4603 mov r3, r0 8098066: 461a mov r2, r3 8098068: 2191 movs r1, #145 ; 0x91 809806a: 207d movs r0, #125 ; 0x7d 809806c: f7bd f878 bl 8055160 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8098070: 4b35 ldr r3, [pc, #212] ; (8098148 ) 8098072: 781b ldrb r3, [r3, #0] 8098074: b2db uxtb r3, r3 8098076: 3b35 subs r3, #53 ; 0x35 8098078: 4a34 ldr r2, [pc, #208] ; (809814c ) 809807a: 009b lsls r3, r3, #2 809807c: 4413 add r3, r2 809807e: edd3 7a00 vldr s15, [r3] 8098082: f06f 0007 mvn.w r0, #7 8098086: eeb0 0a67 vmov.f32 s0, s15 809808a: f7cf fa89 bl 80675a0 809808e: 4603 mov r3, r0 8098090: 461a mov r2, r3 8098092: 21aa movs r1, #170 ; 0xaa 8098094: 207d movs r0, #125 ; 0x7d 8098096: f7bd f863 bl 8055160 LCD_DisplayString(80, 40, "V"); 809809a: 4a2d ldr r2, [pc, #180] ; (8098150 ) 809809c: 2128 movs r1, #40 ; 0x28 809809e: 2050 movs r0, #80 ; 0x50 80980a0: f7bd f85e bl 8055160 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 80980a4: 4b2b ldr r3, [pc, #172] ; (8098154 ) 80980a6: edd3 7a00 vldr s15, [r3] 80980aa: f06f 0002 mvn.w r0, #2 80980ae: eeb0 0a67 vmov.f32 s0, s15 80980b2: f7cf fa75 bl 80675a0 80980b6: 4603 mov r3, r0 80980b8: 461a mov r2, r3 80980ba: 2128 movs r1, #40 ; 0x28 80980bc: 204b movs r0, #75 ; 0x4b 80980be: f7bd f87f bl 80551c0 switch(menupos) 80980c2: 4b25 ldr r3, [pc, #148] ; (8098158 ) 80980c4: 781b ldrb r3, [r3, #0] 80980c6: b2db uxtb r3, r3 80980c8: 2b01 cmp r3, #1 80980ca: d059 beq.n 8098180 80980cc: 2b02 cmp r3, #2 80980ce: d07d beq.n 80981cc 80980d0: 2b00 cmp r3, #0 80980d2: d000 beq.n 80980d6 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 80980d4: e2aa b.n 809862c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80980d6: 4921 ldr r1, [pc, #132] ; (809815c ) 80980d8: f04f 30ff mov.w r0, #4294967295 80980dc: f7bc fa98 bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 80980e0: 4a1f ldr r2, [pc, #124] ; (8098160 ) 80980e2: 21d2 movs r1, #210 ; 0xd2 80980e4: 2032 movs r0, #50 ; 0x32 80980e6: f7bd f853 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80980ea: 490e ldr r1, [pc, #56] ; (8098124 ) 80980ec: f04f 30ff mov.w r0, #4294967295 80980f0: f7bc fa8e bl 8054610 if(measuring) 80980f4: 4b1b ldr r3, [pc, #108] ; (8098164 ) 80980f6: 781b ldrb r3, [r3, #0] 80980f8: b2db uxtb r3, r3 80980fa: 2b00 cmp r3, #0 80980fc: d005 beq.n 809810a LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80980fe: 4a1a ldr r2, [pc, #104] ; (8098168 ) 8098100: 21d2 movs r1, #210 ; 0xd2 8098102: 20a5 movs r0, #165 ; 0xa5 8098104: f7bd f844 bl 8055190 8098108: e004 b.n 8098114 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809810a: 4a18 ldr r2, [pc, #96] ; (809816c ) 809810c: 21d2 movs r1, #210 ; 0xd2 809810e: 20a5 movs r0, #165 ; 0xa5 8098110: f7bd f83e bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 8098114: 4a16 ldr r2, [pc, #88] ; (8098170 ) 8098116: 21d2 movs r1, #210 ; 0xd2 8098118: f44f 7087 mov.w r0, #270 ; 0x10e 809811c: f7bd f838 bl 8055190 break; 8098120: e07a b.n 8098218 8098122: bf00 nop 8098124: ff0a0f1f .word 0xff0a0f1f 8098128: 080d47f0 .word 0x080d47f0 809812c: 20020038 .word 0x20020038 8098130: 080d49b0 .word 0x080d49b0 8098134: 080d49bc .word 0x080d49bc 8098138: 080d49cc .word 0x080d49cc 809813c: 080d4854 .word 0x080d4854 8098140: 080d485c .word 0x080d485c 8098144: 20021588 .word 0x20021588 8098148: 20020fbd .word 0x20020fbd 809814c: 200261d4 .word 0x200261d4 8098150: 080d2a10 .word 0x080d2a10 8098154: 20020000 .word 0x20020000 8098158: 20020070 .word 0x20020070 809815c: ff606060 .word 0xff606060 8098160: 080d48b0 .word 0x080d48b0 8098164: 20020dcf .word 0x20020dcf 8098168: 080d4864 .word 0x080d4864 809816c: 080d4870 .word 0x080d4870 8098170: 080d3104 .word 0x080d3104 8098174: 080d49e4 .word 0x080d49e4 8098178: 080d49f0 .word 0x080d49f0 809817c: 080d483c .word 0x080d483c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098180: 49c7 ldr r1, [pc, #796] ; (80984a0 ) 8098182: f04f 30ff mov.w r0, #4294967295 8098186: f7bc fa43 bl 8054610 if(measuring) 809818a: 4bc6 ldr r3, [pc, #792] ; (80984a4 ) 809818c: 781b ldrb r3, [r3, #0] 809818e: b2db uxtb r3, r3 8098190: 2b00 cmp r3, #0 8098192: d005 beq.n 80981a0 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8098194: 4ac4 ldr r2, [pc, #784] ; (80984a8 ) 8098196: 21d2 movs r1, #210 ; 0xd2 8098198: 20a5 movs r0, #165 ; 0xa5 809819a: f7bc fff9 bl 8055190 809819e: e004 b.n 80981aa else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80981a0: 4ac2 ldr r2, [pc, #776] ; (80984ac ) 80981a2: 21d2 movs r1, #210 ; 0xd2 80981a4: 20a5 movs r0, #165 ; 0xa5 80981a6: f7bc fff3 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80981aa: 49c1 ldr r1, [pc, #772] ; (80984b0 ) 80981ac: f04f 30ff mov.w r0, #4294967295 80981b0: f7bc fa2e bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 80981b4: 4abf ldr r2, [pc, #764] ; (80984b4 ) 80981b6: 21d2 movs r1, #210 ; 0xd2 80981b8: 2032 movs r0, #50 ; 0x32 80981ba: f7bc ffe9 bl 8055190 LCD_DisplayStringC(270, 210, "Äàëåå"); 80981be: 4abe ldr r2, [pc, #760] ; (80984b8 ) 80981c0: 21d2 movs r1, #210 ; 0xd2 80981c2: f44f 7087 mov.w r0, #270 ; 0x10e 80981c6: f7bc ffe3 bl 8055190 break; 80981ca: e025 b.n 8098218 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80981cc: 49b4 ldr r1, [pc, #720] ; (80984a0 ) 80981ce: f04f 30ff mov.w r0, #4294967295 80981d2: f7bc fa1d bl 8054610 LCD_DisplayStringC(270, 210, "Äàëåå"); 80981d6: 4ab8 ldr r2, [pc, #736] ; (80984b8 ) 80981d8: 21d2 movs r1, #210 ; 0xd2 80981da: f44f 7087 mov.w r0, #270 ; 0x10e 80981de: f7bc ffd7 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80981e2: 49b3 ldr r1, [pc, #716] ; (80984b0 ) 80981e4: f04f 30ff mov.w r0, #4294967295 80981e8: f7bc fa12 bl 8054610 if(measuring) 80981ec: 4bad ldr r3, [pc, #692] ; (80984a4 ) 80981ee: 781b ldrb r3, [r3, #0] 80981f0: b2db uxtb r3, r3 80981f2: 2b00 cmp r3, #0 80981f4: d005 beq.n 8098202 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80981f6: 4aac ldr r2, [pc, #688] ; (80984a8 ) 80981f8: 21d2 movs r1, #210 ; 0xd2 80981fa: 20a5 movs r0, #165 ; 0xa5 80981fc: f7bc ffc8 bl 8055190 8098200: e004 b.n 809820c else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8098202: 4aaa ldr r2, [pc, #680] ; (80984ac ) 8098204: 21d2 movs r1, #210 ; 0xd2 8098206: 20a5 movs r0, #165 ; 0xa5 8098208: f7bc ffc2 bl 8055190 LCD_DisplayStringC(50, 210, "Íàçàä"); 809820c: 4aa9 ldr r2, [pc, #676] ; (80984b4 ) 809820e: 21d2 movs r1, #210 ; 0xd2 8098210: 2032 movs r0, #50 ; 0x32 8098212: f7bc ffbd bl 8055190 break; 8098216: bf00 nop break; 8098218: e208 b.n 809862c case CALIBR_9: // LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809821a: 49a5 ldr r1, [pc, #660] ; (80984b0 ) 809821c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8098220: f7bc f9f6 bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8098224: 4aa5 ldr r2, [pc, #660] ; (80984bc ) 8098226: 2128 movs r1, #40 ; 0x28 8098228: 20a5 movs r0, #165 ; 0xa5 809822a: f7bc ffb1 bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 809822e: 233b movs r3, #59 ; 0x3b 8098230: f240 123d movw r2, #317 ; 0x13d 8098234: 213b movs r1, #59 ; 0x3b 8098236: 2002 movs r0, #2 8098238: f7bc fc24 bl 8054a84 BSP_LCD_SetFont(&Font12); 809823c: 48a0 ldr r0, [pc, #640] ; (80984c0 ) 809823e: f7bc fa23 bl 8054688 BSP_LCD_DisplayStringAt(310, 36, "[11 / 13]", RIGHT_MODE); 8098242: 2302 movs r3, #2 8098244: 4a9f ldr r2, [pc, #636] ; (80984c4 ) 8098246: 2124 movs r1, #36 ; 0x24 8098248: f44f 709b mov.w r0, #310 ; 0x136 809824c: f7bc faa6 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098250: 4997 ldr r1, [pc, #604] ; (80984b0 ) 8098252: f04f 30ff mov.w r0, #4294967295 8098256: f7bc f9db bl 8054610 LCD_DisplayString(5, 70, "Óñòàíîâèòü íàïðÿæåíèå"); 809825a: 4a9b ldr r2, [pc, #620] ; (80984c8 ) 809825c: 2146 movs r1, #70 ; 0x46 809825e: 2005 movs r0, #5 8098260: f7bc ff7e bl 8055160 LCD_DisplayString(5, 95, "íà áàòàðåå 3.50 Â"); 8098264: 4a99 ldr r2, [pc, #612] ; (80984cc ) 8098266: 215f movs r1, #95 ; 0x5f 8098268: 2005 movs r0, #5 809826a: f7bc ff79 bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809826e: 4990 ldr r1, [pc, #576] ; (80984b0 ) 8098270: f06f 00ff mvn.w r0, #255 ; 0xff 8098274: f7bc f9cc bl 8054610 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8098278: 4b95 ldr r3, [pc, #596] ; (80984d0 ) 809827a: edd3 7a00 vldr s15, [r3] 809827e: f06f 0002 mvn.w r0, #2 8098282: eeb0 0a67 vmov.f32 s0, s15 8098286: f7cf f98b bl 80675a0 809828a: 4603 mov r3, r0 809828c: 461a mov r2, r3 809828e: 2128 movs r1, #40 ; 0x28 8098290: 204b movs r0, #75 ; 0x4b 8098292: f7bc ff95 bl 80551c0 switch(menupos) 8098296: 4b8f ldr r3, [pc, #572] ; (80984d4 ) 8098298: 781b ldrb r3, [r3, #0] 809829a: b2db uxtb r3, r3 809829c: 2b00 cmp r3, #0 809829e: d002 beq.n 80982a6 80982a0: 2b01 cmp r3, #1 80982a2: d016 beq.n 80982d2 LCD_DisplayStringC(270, 210, "Äàëåå"); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 80982a4: e1c2 b.n 809862c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80982a6: 497e ldr r1, [pc, #504] ; (80984a0 ) 80982a8: f04f 30ff mov.w r0, #4294967295 80982ac: f7bc f9b0 bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 80982b0: 4a80 ldr r2, [pc, #512] ; (80984b4 ) 80982b2: 21d2 movs r1, #210 ; 0xd2 80982b4: 2032 movs r0, #50 ; 0x32 80982b6: f7bc ff6b bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80982ba: 497d ldr r1, [pc, #500] ; (80984b0 ) 80982bc: f04f 30ff mov.w r0, #4294967295 80982c0: f7bc f9a6 bl 8054610 LCD_DisplayStringC(270, 210, "Äàëåå"); 80982c4: 4a7c ldr r2, [pc, #496] ; (80984b8 ) 80982c6: 21d2 movs r1, #210 ; 0xd2 80982c8: f44f 7087 mov.w r0, #270 ; 0x10e 80982cc: f7bc ff60 bl 8055190 break; 80982d0: e015 b.n 80982fe LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80982d2: 4973 ldr r1, [pc, #460] ; (80984a0 ) 80982d4: f04f 30ff mov.w r0, #4294967295 80982d8: f7bc f99a bl 8054610 LCD_DisplayStringC(270, 210, "Äàëåå"); 80982dc: 4a76 ldr r2, [pc, #472] ; (80984b8 ) 80982de: 21d2 movs r1, #210 ; 0xd2 80982e0: f44f 7087 mov.w r0, #270 ; 0x10e 80982e4: f7bc ff54 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80982e8: 4971 ldr r1, [pc, #452] ; (80984b0 ) 80982ea: f04f 30ff mov.w r0, #4294967295 80982ee: f7bc f98f bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 80982f2: 4a70 ldr r2, [pc, #448] ; (80984b4 ) 80982f4: 21d2 movs r1, #210 ; 0xd2 80982f6: 2032 movs r0, #50 ; 0x32 80982f8: f7bc ff4a bl 8055190 break; 80982fc: bf00 nop break; 80982fe: e195 b.n 809862c case CALIBR_10: // LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8098300: 496b ldr r1, [pc, #428] ; (80984b0 ) 8098302: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8098306: f7bc f983 bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 809830a: 4a6c ldr r2, [pc, #432] ; (80984bc ) 809830c: 2128 movs r1, #40 ; 0x28 809830e: 20a5 movs r0, #165 ; 0xa5 8098310: f7bc ff3e bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 8098314: 233b movs r3, #59 ; 0x3b 8098316: f240 123d movw r2, #317 ; 0x13d 809831a: 213b movs r1, #59 ; 0x3b 809831c: 2002 movs r0, #2 809831e: f7bc fbb1 bl 8054a84 BSP_LCD_SetFont(&Font12); 8098322: 4867 ldr r0, [pc, #412] ; (80984c0 ) 8098324: f7bc f9b0 bl 8054688 BSP_LCD_DisplayStringAt(310, 36, "[12 / 13]", RIGHT_MODE); 8098328: 2302 movs r3, #2 809832a: 4a6b ldr r2, [pc, #428] ; (80984d8 ) 809832c: 2124 movs r1, #36 ; 0x24 809832e: f44f 709b mov.w r0, #310 ; 0x136 8098332: f7bc fa33 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098336: 495e ldr r1, [pc, #376] ; (80984b0 ) 8098338: f04f 30ff mov.w r0, #4294967295 809833c: f7bc f968 bl 8054610 LCD_DisplayString(5, 70, "Óñòàíîâèòü íàïðÿæåíèå"); 8098340: 4a61 ldr r2, [pc, #388] ; (80984c8 ) 8098342: 2146 movs r1, #70 ; 0x46 8098344: 2005 movs r0, #5 8098346: f7bc ff0b bl 8055160 LCD_DisplayString(5, 95, "íà áàòàðåå 4.20 Â"); 809834a: 4a64 ldr r2, [pc, #400] ; (80984dc ) 809834c: 215f movs r1, #95 ; 0x5f 809834e: 2005 movs r0, #5 8098350: f7bc ff06 bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8098354: 4956 ldr r1, [pc, #344] ; (80984b0 ) 8098356: f06f 00ff mvn.w r0, #255 ; 0xff 809835a: f7bc f959 bl 8054610 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809835e: 4b5c ldr r3, [pc, #368] ; (80984d0 ) 8098360: edd3 7a00 vldr s15, [r3] 8098364: f06f 0002 mvn.w r0, #2 8098368: eeb0 0a67 vmov.f32 s0, s15 809836c: f7cf f918 bl 80675a0 8098370: 4603 mov r3, r0 8098372: 461a mov r2, r3 8098374: 2128 movs r1, #40 ; 0x28 8098376: 204b movs r0, #75 ; 0x4b 8098378: f7bc ff22 bl 80551c0 switch(menupos) 809837c: 4b55 ldr r3, [pc, #340] ; (80984d4 ) 809837e: 781b ldrb r3, [r3, #0] 8098380: b2db uxtb r3, r3 8098382: 2b00 cmp r3, #0 8098384: d002 beq.n 809838c 8098386: 2b01 cmp r3, #1 8098388: d016 beq.n 80983b8 LCD_DisplayStringC(270, 210, "Äàëåå"); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 809838a: e14f b.n 809862c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809838c: 4944 ldr r1, [pc, #272] ; (80984a0 ) 809838e: f04f 30ff mov.w r0, #4294967295 8098392: f7bc f93d bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 8098396: 4a47 ldr r2, [pc, #284] ; (80984b4 ) 8098398: 21d2 movs r1, #210 ; 0xd2 809839a: 2032 movs r0, #50 ; 0x32 809839c: f7bc fef8 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80983a0: 4943 ldr r1, [pc, #268] ; (80984b0 ) 80983a2: f04f 30ff mov.w r0, #4294967295 80983a6: f7bc f933 bl 8054610 LCD_DisplayStringC(270, 210, "Äàëåå"); 80983aa: 4a43 ldr r2, [pc, #268] ; (80984b8 ) 80983ac: 21d2 movs r1, #210 ; 0xd2 80983ae: f44f 7087 mov.w r0, #270 ; 0x10e 80983b2: f7bc feed bl 8055190 break; 80983b6: e015 b.n 80983e4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80983b8: 4939 ldr r1, [pc, #228] ; (80984a0 ) 80983ba: f04f 30ff mov.w r0, #4294967295 80983be: f7bc f927 bl 8054610 LCD_DisplayStringC(270, 210, "Äàëåå"); 80983c2: 4a3d ldr r2, [pc, #244] ; (80984b8 ) 80983c4: 21d2 movs r1, #210 ; 0xd2 80983c6: f44f 7087 mov.w r0, #270 ; 0x10e 80983ca: f7bc fee1 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80983ce: 4938 ldr r1, [pc, #224] ; (80984b0 ) 80983d0: f04f 30ff mov.w r0, #4294967295 80983d4: f7bc f91c bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 80983d8: 4a36 ldr r2, [pc, #216] ; (80984b4 ) 80983da: 21d2 movs r1, #210 ; 0xd2 80983dc: 2032 movs r0, #50 ; 0x32 80983de: f7bc fed7 bl 8055190 break; 80983e2: bf00 nop break; 80983e4: e122 b.n 809862c case CALIBR_11: // LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80983e6: 4932 ldr r1, [pc, #200] ; (80984b0 ) 80983e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80983ec: f7bc f910 bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 80983f0: 4a32 ldr r2, [pc, #200] ; (80984bc ) 80983f2: 2128 movs r1, #40 ; 0x28 80983f4: 20a5 movs r0, #165 ; 0xa5 80983f6: f7bc fecb bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 80983fa: 233b movs r3, #59 ; 0x3b 80983fc: f240 123d movw r2, #317 ; 0x13d 8098400: 213b movs r1, #59 ; 0x3b 8098402: 2002 movs r0, #2 8098404: f7bc fb3e bl 8054a84 BSP_LCD_SetFont(&Font12); 8098408: 482d ldr r0, [pc, #180] ; (80984c0 ) 809840a: f7bc f93d bl 8054688 BSP_LCD_DisplayStringAt(310, 36, "[13 / 13]", RIGHT_MODE); 809840e: 2302 movs r3, #2 8098410: 4a33 ldr r2, [pc, #204] ; (80984e0 ) 8098412: 2124 movs r1, #36 ; 0x24 8098414: f44f 709b mov.w r0, #310 ; 0x136 8098418: f7bc f9c0 bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809841c: 4924 ldr r1, [pc, #144] ; (80984b0 ) 809841e: f04f 30ff mov.w r0, #4294967295 8098422: f7bc f8f5 bl 8054610 LCD_DisplayString(5, 70, "Êàëèáðîâêà îêîí÷åíà!"); 8098426: 4a2f ldr r2, [pc, #188] ; (80984e4 ) 8098428: 2146 movs r1, #70 ; 0x46 809842a: 2005 movs r0, #5 809842c: f7bc fe98 bl 8055160 LCD_DisplayString(5, 95, "Íå çàáóäü ñîõðàíèòü!"); 8098430: 4a2d ldr r2, [pc, #180] ; (80984e8 ) 8098432: 215f movs r1, #95 ; 0x5f 8098434: 2005 movs r0, #5 8098436: f7bc fe93 bl 8055160 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809843a: 491d ldr r1, [pc, #116] ; (80984b0 ) 809843c: f06f 00ff mvn.w r0, #255 ; 0xff 8098440: f7bc f8e6 bl 8054610 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8098444: 4b22 ldr r3, [pc, #136] ; (80984d0 ) 8098446: edd3 7a00 vldr s15, [r3] 809844a: f06f 0002 mvn.w r0, #2 809844e: eeb0 0a67 vmov.f32 s0, s15 8098452: f7cf f8a5 bl 80675a0 8098456: 4603 mov r3, r0 8098458: 461a mov r2, r3 809845a: 2128 movs r1, #40 ; 0x28 809845c: 204b movs r0, #75 ; 0x4b 809845e: f7bc feaf bl 80551c0 switch(menupos) 8098462: 4b1c ldr r3, [pc, #112] ; (80984d4 ) 8098464: 781b ldrb r3, [r3, #0] 8098466: b2db uxtb r3, r3 8098468: 2b00 cmp r3, #0 809846a: d002 beq.n 8098472 809846c: 2b01 cmp r3, #1 809846e: d03f beq.n 80984f0 LCD_DisplayStringC(270, 210, "Ñîõð"); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8098470: e0dc b.n 809862c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8098472: 490b ldr r1, [pc, #44] ; (80984a0 ) 8098474: f04f 30ff mov.w r0, #4294967295 8098478: f7bc f8ca bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 809847c: 4a0d ldr r2, [pc, #52] ; (80984b4 ) 809847e: 21d2 movs r1, #210 ; 0xd2 8098480: 2032 movs r0, #50 ; 0x32 8098482: f7bc fe85 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098486: 490a ldr r1, [pc, #40] ; (80984b0 ) 8098488: f04f 30ff mov.w r0, #4294967295 809848c: f7bc f8c0 bl 8054610 LCD_DisplayStringC(270, 210, "Ñîõð"); 8098490: 4a16 ldr r2, [pc, #88] ; (80984ec ) 8098492: 21d2 movs r1, #210 ; 0xd2 8098494: f44f 7087 mov.w r0, #270 ; 0x10e 8098498: f7bc fe7a bl 8055190 break; 809849c: e03e b.n 809851c 809849e: bf00 nop 80984a0: ff606060 .word 0xff606060 80984a4: 20020dcf .word 0x20020dcf 80984a8: 080d4864 .word 0x080d4864 80984ac: 080d4870 .word 0x080d4870 80984b0: ff0a0f1f .word 0xff0a0f1f 80984b4: 080d48b0 .word 0x080d48b0 80984b8: 080d3104 .word 0x080d3104 80984bc: 080d47f0 .word 0x080d47f0 80984c0: 20020038 .word 0x20020038 80984c4: 080d4a00 .word 0x080d4a00 80984c8: 080d4a0c .word 0x080d4a0c 80984cc: 080d4a24 .word 0x080d4a24 80984d0: 20020000 .word 0x20020000 80984d4: 20020070 .word 0x20020070 80984d8: 080d4a38 .word 0x080d4a38 80984dc: 080d4a44 .word 0x080d4a44 80984e0: 080d4a58 .word 0x080d4a58 80984e4: 080d4a64 .word 0x080d4a64 80984e8: 080d4a7c .word 0x080d4a7c 80984ec: 080d4a94 .word 0x080d4a94 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80984f0: 495b ldr r1, [pc, #364] ; (8098660 ) 80984f2: f04f 30ff mov.w r0, #4294967295 80984f6: f7bc f88b bl 8054610 LCD_DisplayStringC(270, 210, "Ñîõð"); 80984fa: 4a5a ldr r2, [pc, #360] ; (8098664 ) 80984fc: 21d2 movs r1, #210 ; 0xd2 80984fe: f44f 7087 mov.w r0, #270 ; 0x10e 8098502: f7bc fe45 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098506: 4958 ldr r1, [pc, #352] ; (8098668 ) 8098508: f04f 30ff mov.w r0, #4294967295 809850c: f7bc f880 bl 8054610 LCD_DisplayStringC(50, 210, "Íàçàä"); 8098510: 4a56 ldr r2, [pc, #344] ; (809866c ) 8098512: 21d2 movs r1, #210 ; 0xd2 8098514: 2032 movs r0, #50 ; 0x32 8098516: f7bc fe3b bl 8055190 break; 809851a: bf00 nop break; 809851c: e086 b.n 809862c case CALIBR_OFFSET: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809851e: 4952 ldr r1, [pc, #328] ; (8098668 ) 8098520: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8098524: f7bc f874 bl 8054610 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ ÍÓËß"); 8098528: 4a51 ldr r2, [pc, #324] ; (8098670 ) 809852a: 2128 movs r1, #40 ; 0x28 809852c: 20a5 movs r0, #165 ; 0xa5 809852e: f7bc fe2f bl 8055190 BSP_LCD_DrawLine(2, 59, 317, 59); 8098532: 233b movs r3, #59 ; 0x3b 8098534: f240 123d movw r2, #317 ; 0x13d 8098538: 213b movs r1, #59 ; 0x3b 809853a: 2002 movs r0, #2 809853c: f7bc faa2 bl 8054a84 BSP_LCD_SetFont(&Font12); 8098540: 484c ldr r0, [pc, #304] ; (8098674 ) 8098542: f7bc f8a1 bl 8054688 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8098546: 4948 ldr r1, [pc, #288] ; (8098668 ) 8098548: f06f 00ff mvn.w r0, #255 ; 0xff 809854c: f7bc f860 bl 8054610 LCD_DisplayStringC(165, 120, (char *) FloatToASCII(MEAN_TEMP, -3)); 8098550: 4b49 ldr r3, [pc, #292] ; (8098678 ) 8098552: edd3 7a00 vldr s15, [r3] 8098556: f06f 0002 mvn.w r0, #2 809855a: eeb0 0a67 vmov.f32 s0, s15 809855e: f7cf f81f bl 80675a0 8098562: 4603 mov r3, r0 8098564: 461a mov r2, r3 8098566: 2178 movs r1, #120 ; 0x78 8098568: 20a5 movs r0, #165 ; 0xa5 809856a: f7bc fe11 bl 8055190 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809856e: 493c ldr r1, [pc, #240] ; (8098660 ) 8098570: f04f 30ff mov.w r0, #4294967295 8098574: f7bc f84c bl 8054610 LCD_DisplayStringC(165, 210, "Ñîõðàíèòü"); 8098578: 4a40 ldr r2, [pc, #256] ; (809867c ) 809857a: 21d2 movs r1, #210 ; 0xd2 809857c: 20a5 movs r0, #165 ; 0xa5 809857e: f7bc fe07 bl 8055190 break; 8098582: e053 b.n 809862c case LINK_PC: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098584: 4938 ldr r1, [pc, #224] ; (8098668 ) 8098586: f04f 30ff mov.w r0, #4294967295 809858a: f7bc f841 bl 8054610 BSP_LCD_SetFont(&Font12); 809858e: 4839 ldr r0, [pc, #228] ; (8098674 ) 8098590: f7bc f87a bl 8054688 if(pardata.LANG == RUS) 8098594: 4b3a ldr r3, [pc, #232] ; (8098680 ) 8098596: 7b1b ldrb r3, [r3, #12] 8098598: b2db uxtb r3, r3 809859a: 2b00 cmp r3, #0 809859c: d106 bne.n 80985ac BSP_LCD_DisplayStringAt(160, 120, "[USB ñîåäèíåíèå óñòàíîâëåíî]", CENTER_MODE); 809859e: 2301 movs r3, #1 80985a0: 4a38 ldr r2, [pc, #224] ; (8098684 ) 80985a2: 2178 movs r1, #120 ; 0x78 80985a4: 20a0 movs r0, #160 ; 0xa0 80985a6: f7bc f8f9 bl 805479c 80985aa: e005 b.n 80985b8 else BSP_LCD_DisplayStringAt(160, 120, "[USB connection is done]", CENTER_MODE); 80985ac: 2301 movs r3, #1 80985ae: 4a36 ldr r2, [pc, #216] ; (8098688 ) 80985b0: 2178 movs r1, #120 ; 0x78 80985b2: 20a0 movs r0, #160 ; 0xa0 80985b4: f7bc f8f2 bl 805479c DrawImage(&bmLINK_PC, 225, 5); 80985b8: 2205 movs r2, #5 80985ba: 21e1 movs r1, #225 ; 0xe1 80985bc: 4833 ldr r0, [pc, #204] ; (809868c ) 80985be: f7bc ff1b bl 80553f8 break; 80985c2: e033 b.n 809862c case POWER_OFF: BSP_LCD_Clear(0xFF000000); 80985c4: f04f 407f mov.w r0, #4278190080 ; 0xff000000 80985c8: f7bc f87c bl 80546c4 DrawBat(); 80985cc: f7d0 fd2c bl 8069028 break; 80985d0: e02c b.n 809862c break; 80985d2: bf00 nop 80985d4: e02a b.n 809862c break; 80985d6: bf00 nop 80985d8: e028 b.n 809862c break; 80985da: bf00 nop 80985dc: e026 b.n 809862c break; 80985de: bf00 nop 80985e0: e024 b.n 809862c break; 80985e2: bf00 nop 80985e4: e022 b.n 809862c break; 80985e6: bf00 nop 80985e8: e020 b.n 809862c break; 80985ea: bf00 nop 80985ec: e01e b.n 809862c break; 80985ee: bf00 nop 80985f0: e01c b.n 809862c break; 80985f2: bf00 nop 80985f4: e01a b.n 809862c break; 80985f6: bf00 nop 80985f8: e018 b.n 809862c break; 80985fa: bf00 nop 80985fc: e016 b.n 809862c break; 80985fe: bf00 nop 8098600: e014 b.n 809862c break; 8098602: bf00 nop 8098604: e012 b.n 809862c break; 8098606: bf00 nop 8098608: e010 b.n 809862c break; 809860a: bf00 nop 809860c: e00e b.n 809862c break; 809860e: bf00 nop 8098610: e00c b.n 809862c break; 8098612: bf00 nop 8098614: e00a b.n 809862c break; 8098616: bf00 nop 8098618: e008 b.n 809862c break; 809861a: bf00 nop 809861c: e006 b.n 809862c break; 809861e: bf00 nop 8098620: e004 b.n 809862c break; 8098622: bf00 nop 8098624: e002 b.n 809862c break; 8098626: bf00 nop 8098628: e000 b.n 809862c break; 809862a: bf00 nop //******************************************************************************************************************************** } if(menu != LOW_BAT) 809862c: 4b18 ldr r3, [pc, #96] ; (8098690 ) 809862e: 781b ldrb r3, [r3, #0] 8098630: b2db uxtb r3, r3 8098632: 2b48 cmp r3, #72 ; 0x48 8098634: d003 beq.n 809863e { DrawSpinner(); 8098636: f000 fb4f bl 8098cd8 DisplayStatus(); 809863a: f000 fc91 bl 8098f60 } Redrawing = false; 809863e: 4b15 ldr r3, [pc, #84] ; (8098694 ) 8098640: 2200 movs r2, #0 8098642: 701a strb r2, [r3, #0] RefreshScreen = true; 8098644: 4b14 ldr r3, [pc, #80] ; (8098698 ) 8098646: 2201 movs r2, #1 8098648: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 809864a: 2100 movs r1, #0 809864c: 4813 ldr r0, [pc, #76] ; (809869c ) 809864e: f021 fa9d bl 80b9b8c 8098652: e000 b.n 8098656 return; 8098654: bf00 nop //************************************************************************************************************** //************************************************************************************************************** } 8098656: f207 4774 addw r7, r7, #1140 ; 0x474 809865a: 46bd mov sp, r7 809865c: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 8098660: ff606060 .word 0xff606060 8098664: 080d4a94 .word 0x080d4a94 8098668: ff0a0f1f .word 0xff0a0f1f 809866c: 080d48b0 .word 0x080d48b0 8098670: 080d4a9c .word 0x080d4a9c 8098674: 20020038 .word 0x20020038 8098678: 200209dc .word 0x200209dc 809867c: 080d4aac .word 0x080d4aac 8098680: 20023ea8 .word 0x20023ea8 8098684: 080d4ab8 .word 0x080d4ab8 8098688: 080d4ad8 .word 0x080d4ad8 809868c: 081327b4 .word 0x081327b4 8098690: 20020fbd .word 0x20020fbd 8098694: 20021680 .word 0x20021680 8098698: 20021044 .word 0x20021044 809869c: 20025d70 .word 0x20025d70 080986a0 : void DrawMySpinner(uint16_t x, uint16_t y) // { 80986a0: b580 push {r7, lr} 80986a2: b082 sub sp, #8 80986a4: af00 add r7, sp, #0 80986a6: 4603 mov r3, r0 80986a8: 460a mov r2, r1 80986aa: 80fb strh r3, [r7, #6] 80986ac: 4613 mov r3, r2 80986ae: 80bb strh r3, [r7, #4] static uint32_t rotate = 0; switch(rotate) 80986b0: 4b92 ldr r3, [pc, #584] ; (80988fc ) 80986b2: 681b ldr r3, [r3, #0] 80986b4: 2b07 cmp r3, #7 80986b6: f200 82f5 bhi.w 8098ca4 80986ba: a201 add r2, pc, #4 ; (adr r2, 80986c0 ) 80986bc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80986c0: 080986e1 .word 0x080986e1 80986c4: 08098795 .word 0x08098795 80986c8: 08098849 .word 0x08098849 80986cc: 08098911 .word 0x08098911 80986d0: 080989c5 .word 0x080989c5 80986d4: 08098a79 .word 0x08098a79 80986d8: 08098b2d .word 0x08098b2d 80986dc: 08098bf1 .word 0x08098bf1 { case 0: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80986e0: 4987 ldr r1, [pc, #540] ; (8098900 ) 80986e2: f04f 30ff mov.w r0, #4294967295 80986e6: f7bb ff93 bl 8054610 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 80986ea: 88bb ldrh r3, [r7, #4] 80986ec: 330a adds r3, #10 80986ee: b299 uxth r1, r3 80986f0: 88fb ldrh r3, [r7, #6] 80986f2: 2203 movs r2, #3 80986f4: 4618 mov r0, r3 80986f6: f7bc fc93 bl 8055020 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80986fa: 4981 ldr r1, [pc, #516] ; (8098900 ) 80986fc: 4881 ldr r0, [pc, #516] ; (8098904 ) 80986fe: f7bb ff87 bl 8054610 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8098702: 88fb ldrh r3, [r7, #6] 8098704: 3307 adds r3, #7 8098706: b298 uxth r0, r3 8098708: 88bb ldrh r3, [r7, #4] 809870a: 3307 adds r3, #7 809870c: b29b uxth r3, r3 809870e: 2203 movs r2, #3 8098710: 4619 mov r1, r3 8098712: f7bc fc85 bl 8055020 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8098716: 497a ldr r1, [pc, #488] ; (8098900 ) 8098718: 487b ldr r0, [pc, #492] ; (8098908 ) 809871a: f7bb ff79 bl 8054610 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 809871e: 88fb ldrh r3, [r7, #6] 8098720: 330a adds r3, #10 8098722: b29b uxth r3, r3 8098724: 88b9 ldrh r1, [r7, #4] 8098726: 2203 movs r2, #3 8098728: 4618 mov r0, r3 809872a: f7bc fc79 bl 8055020 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 809872e: 4974 ldr r1, [pc, #464] ; (8098900 ) 8098730: 4876 ldr r0, [pc, #472] ; (809890c ) 8098732: f7bb ff6d bl 8054610 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8098736: 88fb ldrh r3, [r7, #6] 8098738: 3b07 subs r3, #7 809873a: b298 uxth r0, r3 809873c: 88bb ldrh r3, [r7, #4] 809873e: 3307 adds r3, #7 8098740: b29b uxth r3, r3 8098742: 2203 movs r2, #3 8098744: 4619 mov r1, r3 8098746: f7bc fc6b bl 8055020 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 809874a: 88fb ldrh r3, [r7, #6] 809874c: 3b0a subs r3, #10 809874e: b29b uxth r3, r3 8098750: 88b9 ldrh r1, [r7, #4] 8098752: 2203 movs r2, #3 8098754: 4618 mov r0, r3 8098756: f7bc fc63 bl 8055020 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 809875a: 88fb ldrh r3, [r7, #6] 809875c: 3b07 subs r3, #7 809875e: b298 uxth r0, r3 8098760: 88bb ldrh r3, [r7, #4] 8098762: 3b07 subs r3, #7 8098764: b29b uxth r3, r3 8098766: 2203 movs r2, #3 8098768: 4619 mov r1, r3 809876a: f7bc fc59 bl 8055020 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 809876e: 88bb ldrh r3, [r7, #4] 8098770: 3b0a subs r3, #10 8098772: b299 uxth r1, r3 8098774: 88fb ldrh r3, [r7, #6] 8098776: 2203 movs r2, #3 8098778: 4618 mov r0, r3 809877a: f7bc fc51 bl 8055020 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 809877e: 88fb ldrh r3, [r7, #6] 8098780: 3307 adds r3, #7 8098782: b298 uxth r0, r3 8098784: 88bb ldrh r3, [r7, #4] 8098786: 3b07 subs r3, #7 8098788: b29b uxth r3, r3 809878a: 2203 movs r2, #3 809878c: 4619 mov r1, r3 809878e: f7bc fc47 bl 8055020 break; 8098792: e287 b.n 8098ca4 case 1: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098794: 495a ldr r1, [pc, #360] ; (8098900 ) 8098796: f04f 30ff mov.w r0, #4294967295 809879a: f7bb ff39 bl 8054610 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 809879e: 88fb ldrh r3, [r7, #6] 80987a0: 3b07 subs r3, #7 80987a2: b298 uxth r0, r3 80987a4: 88bb ldrh r3, [r7, #4] 80987a6: 3307 adds r3, #7 80987a8: b29b uxth r3, r3 80987aa: 2203 movs r2, #3 80987ac: 4619 mov r1, r3 80987ae: f7bc fc37 bl 8055020 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80987b2: 4953 ldr r1, [pc, #332] ; (8098900 ) 80987b4: 4853 ldr r0, [pc, #332] ; (8098904 ) 80987b6: f7bb ff2b bl 8054610 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 80987ba: 88bb ldrh r3, [r7, #4] 80987bc: 330a adds r3, #10 80987be: b299 uxth r1, r3 80987c0: 88fb ldrh r3, [r7, #6] 80987c2: 2203 movs r2, #3 80987c4: 4618 mov r0, r3 80987c6: f7bc fc2b bl 8055020 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80987ca: 494d ldr r1, [pc, #308] ; (8098900 ) 80987cc: 484e ldr r0, [pc, #312] ; (8098908 ) 80987ce: f7bb ff1f bl 8054610 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 80987d2: 88fb ldrh r3, [r7, #6] 80987d4: 3307 adds r3, #7 80987d6: b298 uxth r0, r3 80987d8: 88bb ldrh r3, [r7, #4] 80987da: 3307 adds r3, #7 80987dc: b29b uxth r3, r3 80987de: 2203 movs r2, #3 80987e0: 4619 mov r1, r3 80987e2: f7bc fc1d bl 8055020 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80987e6: 4946 ldr r1, [pc, #280] ; (8098900 ) 80987e8: 4848 ldr r0, [pc, #288] ; (809890c ) 80987ea: f7bb ff11 bl 8054610 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 80987ee: 88fb ldrh r3, [r7, #6] 80987f0: 3b0a subs r3, #10 80987f2: b29b uxth r3, r3 80987f4: 88b9 ldrh r1, [r7, #4] 80987f6: 2203 movs r2, #3 80987f8: 4618 mov r0, r3 80987fa: f7bc fc11 bl 8055020 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 80987fe: 88fb ldrh r3, [r7, #6] 8098800: 3b07 subs r3, #7 8098802: b298 uxth r0, r3 8098804: 88bb ldrh r3, [r7, #4] 8098806: 3b07 subs r3, #7 8098808: b29b uxth r3, r3 809880a: 2203 movs r2, #3 809880c: 4619 mov r1, r3 809880e: f7bc fc07 bl 8055020 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8098812: 88bb ldrh r3, [r7, #4] 8098814: 3b0a subs r3, #10 8098816: b299 uxth r1, r3 8098818: 88fb ldrh r3, [r7, #6] 809881a: 2203 movs r2, #3 809881c: 4618 mov r0, r3 809881e: f7bc fbff bl 8055020 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8098822: 88fb ldrh r3, [r7, #6] 8098824: 3307 adds r3, #7 8098826: b298 uxth r0, r3 8098828: 88bb ldrh r3, [r7, #4] 809882a: 3b07 subs r3, #7 809882c: b29b uxth r3, r3 809882e: 2203 movs r2, #3 8098830: 4619 mov r1, r3 8098832: f7bc fbf5 bl 8055020 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8098836: 88fb ldrh r3, [r7, #6] 8098838: 330a adds r3, #10 809883a: b29b uxth r3, r3 809883c: 88b9 ldrh r1, [r7, #4] 809883e: 2203 movs r2, #3 8098840: 4618 mov r0, r3 8098842: f7bc fbed bl 8055020 break; 8098846: e22d b.n 8098ca4 case 2: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098848: 492d ldr r1, [pc, #180] ; (8098900 ) 809884a: f04f 30ff mov.w r0, #4294967295 809884e: f7bb fedf bl 8054610 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8098852: 88fb ldrh r3, [r7, #6] 8098854: 3b0a subs r3, #10 8098856: b29b uxth r3, r3 8098858: 88b9 ldrh r1, [r7, #4] 809885a: 2203 movs r2, #3 809885c: 4618 mov r0, r3 809885e: f7bc fbdf bl 8055020 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8098862: 4927 ldr r1, [pc, #156] ; (8098900 ) 8098864: 4827 ldr r0, [pc, #156] ; (8098904 ) 8098866: f7bb fed3 bl 8054610 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 809886a: 88fb ldrh r3, [r7, #6] 809886c: 3b07 subs r3, #7 809886e: b298 uxth r0, r3 8098870: 88bb ldrh r3, [r7, #4] 8098872: 3307 adds r3, #7 8098874: b29b uxth r3, r3 8098876: 2203 movs r2, #3 8098878: 4619 mov r1, r3 809887a: f7bc fbd1 bl 8055020 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809887e: 4920 ldr r1, [pc, #128] ; (8098900 ) 8098880: 4821 ldr r0, [pc, #132] ; (8098908 ) 8098882: f7bb fec5 bl 8054610 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8098886: 88bb ldrh r3, [r7, #4] 8098888: 330a adds r3, #10 809888a: b299 uxth r1, r3 809888c: 88fb ldrh r3, [r7, #6] 809888e: 2203 movs r2, #3 8098890: 4618 mov r0, r3 8098892: f7bc fbc5 bl 8055020 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8098896: 491a ldr r1, [pc, #104] ; (8098900 ) 8098898: 481c ldr r0, [pc, #112] ; (809890c ) 809889a: f7bb feb9 bl 8054610 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 809889e: 88fb ldrh r3, [r7, #6] 80988a0: 3b07 subs r3, #7 80988a2: b298 uxth r0, r3 80988a4: 88bb ldrh r3, [r7, #4] 80988a6: 3b07 subs r3, #7 80988a8: b29b uxth r3, r3 80988aa: 2203 movs r2, #3 80988ac: 4619 mov r1, r3 80988ae: f7bc fbb7 bl 8055020 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 80988b2: 88bb ldrh r3, [r7, #4] 80988b4: 3b0a subs r3, #10 80988b6: b299 uxth r1, r3 80988b8: 88fb ldrh r3, [r7, #6] 80988ba: 2203 movs r2, #3 80988bc: 4618 mov r0, r3 80988be: f7bc fbaf bl 8055020 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 80988c2: 88fb ldrh r3, [r7, #6] 80988c4: 3307 adds r3, #7 80988c6: b298 uxth r0, r3 80988c8: 88bb ldrh r3, [r7, #4] 80988ca: 3b07 subs r3, #7 80988cc: b29b uxth r3, r3 80988ce: 2203 movs r2, #3 80988d0: 4619 mov r1, r3 80988d2: f7bc fba5 bl 8055020 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 80988d6: 88fb ldrh r3, [r7, #6] 80988d8: 330a adds r3, #10 80988da: b29b uxth r3, r3 80988dc: 88b9 ldrh r1, [r7, #4] 80988de: 2203 movs r2, #3 80988e0: 4618 mov r0, r3 80988e2: f7bc fb9d bl 8055020 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 80988e6: 88fb ldrh r3, [r7, #6] 80988e8: 3307 adds r3, #7 80988ea: b298 uxth r0, r3 80988ec: 88bb ldrh r3, [r7, #4] 80988ee: 3307 adds r3, #7 80988f0: b29b uxth r3, r3 80988f2: 2203 movs r2, #3 80988f4: 4619 mov r1, r3 80988f6: f7bc fb93 bl 8055020 break; 80988fa: e1d3 b.n 8098ca4 80988fc: 200216c0 .word 0x200216c0 8098900: ff0a0f1f .word 0xff0a0f1f 8098904: ffd3d3d3 .word 0xffd3d3d3 8098908: ff808080 .word 0xff808080 809890c: ff404040 .word 0xff404040 case 3: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098910: 49b3 ldr r1, [pc, #716] ; (8098be0 ) 8098912: f04f 30ff mov.w r0, #4294967295 8098916: f7bb fe7b bl 8054610 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 809891a: 88fb ldrh r3, [r7, #6] 809891c: 3b07 subs r3, #7 809891e: b298 uxth r0, r3 8098920: 88bb ldrh r3, [r7, #4] 8098922: 3b07 subs r3, #7 8098924: b29b uxth r3, r3 8098926: 2203 movs r2, #3 8098928: 4619 mov r1, r3 809892a: f7bc fb79 bl 8055020 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809892e: 49ac ldr r1, [pc, #688] ; (8098be0 ) 8098930: 48ac ldr r0, [pc, #688] ; (8098be4 ) 8098932: f7bb fe6d bl 8054610 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8098936: 88fb ldrh r3, [r7, #6] 8098938: 3b0a subs r3, #10 809893a: b29b uxth r3, r3 809893c: 88b9 ldrh r1, [r7, #4] 809893e: 2203 movs r2, #3 8098940: 4618 mov r0, r3 8098942: f7bc fb6d bl 8055020 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8098946: 49a6 ldr r1, [pc, #664] ; (8098be0 ) 8098948: 48a7 ldr r0, [pc, #668] ; (8098be8 ) 809894a: f7bb fe61 bl 8054610 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 809894e: 88fb ldrh r3, [r7, #6] 8098950: 3b07 subs r3, #7 8098952: b298 uxth r0, r3 8098954: 88bb ldrh r3, [r7, #4] 8098956: 3307 adds r3, #7 8098958: b29b uxth r3, r3 809895a: 2203 movs r2, #3 809895c: 4619 mov r1, r3 809895e: f7bc fb5f bl 8055020 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8098962: 499f ldr r1, [pc, #636] ; (8098be0 ) 8098964: 48a1 ldr r0, [pc, #644] ; (8098bec ) 8098966: f7bb fe53 bl 8054610 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 809896a: 88bb ldrh r3, [r7, #4] 809896c: 3b0a subs r3, #10 809896e: b299 uxth r1, r3 8098970: 88fb ldrh r3, [r7, #6] 8098972: 2203 movs r2, #3 8098974: 4618 mov r0, r3 8098976: f7bc fb53 bl 8055020 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 809897a: 88fb ldrh r3, [r7, #6] 809897c: 3307 adds r3, #7 809897e: b298 uxth r0, r3 8098980: 88bb ldrh r3, [r7, #4] 8098982: 3b07 subs r3, #7 8098984: b29b uxth r3, r3 8098986: 2203 movs r2, #3 8098988: 4619 mov r1, r3 809898a: f7bc fb49 bl 8055020 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 809898e: 88fb ldrh r3, [r7, #6] 8098990: 330a adds r3, #10 8098992: b29b uxth r3, r3 8098994: 88b9 ldrh r1, [r7, #4] 8098996: 2203 movs r2, #3 8098998: 4618 mov r0, r3 809899a: f7bc fb41 bl 8055020 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 809899e: 88fb ldrh r3, [r7, #6] 80989a0: 3307 adds r3, #7 80989a2: b298 uxth r0, r3 80989a4: 88bb ldrh r3, [r7, #4] 80989a6: 3307 adds r3, #7 80989a8: b29b uxth r3, r3 80989aa: 2203 movs r2, #3 80989ac: 4619 mov r1, r3 80989ae: f7bc fb37 bl 8055020 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 80989b2: 88bb ldrh r3, [r7, #4] 80989b4: 330a adds r3, #10 80989b6: b299 uxth r1, r3 80989b8: 88fb ldrh r3, [r7, #6] 80989ba: 2203 movs r2, #3 80989bc: 4618 mov r0, r3 80989be: f7bc fb2f bl 8055020 break; 80989c2: e16f b.n 8098ca4 case 4: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80989c4: 4986 ldr r1, [pc, #536] ; (8098be0 ) 80989c6: f04f 30ff mov.w r0, #4294967295 80989ca: f7bb fe21 bl 8054610 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 80989ce: 88bb ldrh r3, [r7, #4] 80989d0: 3b0a subs r3, #10 80989d2: b299 uxth r1, r3 80989d4: 88fb ldrh r3, [r7, #6] 80989d6: 2203 movs r2, #3 80989d8: 4618 mov r0, r3 80989da: f7bc fb21 bl 8055020 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80989de: 4980 ldr r1, [pc, #512] ; (8098be0 ) 80989e0: 4880 ldr r0, [pc, #512] ; (8098be4 ) 80989e2: f7bb fe15 bl 8054610 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 80989e6: 88fb ldrh r3, [r7, #6] 80989e8: 3b07 subs r3, #7 80989ea: b298 uxth r0, r3 80989ec: 88bb ldrh r3, [r7, #4] 80989ee: 3b07 subs r3, #7 80989f0: b29b uxth r3, r3 80989f2: 2203 movs r2, #3 80989f4: 4619 mov r1, r3 80989f6: f7bc fb13 bl 8055020 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80989fa: 4979 ldr r1, [pc, #484] ; (8098be0 ) 80989fc: 487a ldr r0, [pc, #488] ; (8098be8 ) 80989fe: f7bb fe07 bl 8054610 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8098a02: 88fb ldrh r3, [r7, #6] 8098a04: 3b0a subs r3, #10 8098a06: b29b uxth r3, r3 8098a08: 88b9 ldrh r1, [r7, #4] 8098a0a: 2203 movs r2, #3 8098a0c: 4618 mov r0, r3 8098a0e: f7bc fb07 bl 8055020 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8098a12: 4973 ldr r1, [pc, #460] ; (8098be0 ) 8098a14: 4875 ldr r0, [pc, #468] ; (8098bec ) 8098a16: f7bb fdfb bl 8054610 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8098a1a: 88fb ldrh r3, [r7, #6] 8098a1c: 3307 adds r3, #7 8098a1e: b298 uxth r0, r3 8098a20: 88bb ldrh r3, [r7, #4] 8098a22: 3b07 subs r3, #7 8098a24: b29b uxth r3, r3 8098a26: 2203 movs r2, #3 8098a28: 4619 mov r1, r3 8098a2a: f7bc faf9 bl 8055020 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8098a2e: 88fb ldrh r3, [r7, #6] 8098a30: 330a adds r3, #10 8098a32: b29b uxth r3, r3 8098a34: 88b9 ldrh r1, [r7, #4] 8098a36: 2203 movs r2, #3 8098a38: 4618 mov r0, r3 8098a3a: f7bc faf1 bl 8055020 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8098a3e: 88fb ldrh r3, [r7, #6] 8098a40: 3307 adds r3, #7 8098a42: b298 uxth r0, r3 8098a44: 88bb ldrh r3, [r7, #4] 8098a46: 3307 adds r3, #7 8098a48: b29b uxth r3, r3 8098a4a: 2203 movs r2, #3 8098a4c: 4619 mov r1, r3 8098a4e: f7bc fae7 bl 8055020 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8098a52: 88bb ldrh r3, [r7, #4] 8098a54: 330a adds r3, #10 8098a56: b299 uxth r1, r3 8098a58: 88fb ldrh r3, [r7, #6] 8098a5a: 2203 movs r2, #3 8098a5c: 4618 mov r0, r3 8098a5e: f7bc fadf bl 8055020 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8098a62: 88fb ldrh r3, [r7, #6] 8098a64: 3b07 subs r3, #7 8098a66: b298 uxth r0, r3 8098a68: 88bb ldrh r3, [r7, #4] 8098a6a: 3307 adds r3, #7 8098a6c: b29b uxth r3, r3 8098a6e: 2203 movs r2, #3 8098a70: 4619 mov r1, r3 8098a72: f7bc fad5 bl 8055020 break; 8098a76: e115 b.n 8098ca4 case 5: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098a78: 4959 ldr r1, [pc, #356] ; (8098be0 ) 8098a7a: f04f 30ff mov.w r0, #4294967295 8098a7e: f7bb fdc7 bl 8054610 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8098a82: 88fb ldrh r3, [r7, #6] 8098a84: 3307 adds r3, #7 8098a86: b298 uxth r0, r3 8098a88: 88bb ldrh r3, [r7, #4] 8098a8a: 3b07 subs r3, #7 8098a8c: b29b uxth r3, r3 8098a8e: 2203 movs r2, #3 8098a90: 4619 mov r1, r3 8098a92: f7bc fac5 bl 8055020 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8098a96: 4952 ldr r1, [pc, #328] ; (8098be0 ) 8098a98: 4852 ldr r0, [pc, #328] ; (8098be4 ) 8098a9a: f7bb fdb9 bl 8054610 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8098a9e: 88bb ldrh r3, [r7, #4] 8098aa0: 3b0a subs r3, #10 8098aa2: b299 uxth r1, r3 8098aa4: 88fb ldrh r3, [r7, #6] 8098aa6: 2203 movs r2, #3 8098aa8: 4618 mov r0, r3 8098aaa: f7bc fab9 bl 8055020 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8098aae: 494c ldr r1, [pc, #304] ; (8098be0 ) 8098ab0: 484d ldr r0, [pc, #308] ; (8098be8 ) 8098ab2: f7bb fdad bl 8054610 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 8098ab6: 88fb ldrh r3, [r7, #6] 8098ab8: 3b07 subs r3, #7 8098aba: b298 uxth r0, r3 8098abc: 88bb ldrh r3, [r7, #4] 8098abe: 3b07 subs r3, #7 8098ac0: b29b uxth r3, r3 8098ac2: 2203 movs r2, #3 8098ac4: 4619 mov r1, r3 8098ac6: f7bc faab bl 8055020 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8098aca: 4945 ldr r1, [pc, #276] ; (8098be0 ) 8098acc: 4847 ldr r0, [pc, #284] ; (8098bec ) 8098ace: f7bb fd9f bl 8054610 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8098ad2: 88fb ldrh r3, [r7, #6] 8098ad4: 330a adds r3, #10 8098ad6: b29b uxth r3, r3 8098ad8: 88b9 ldrh r1, [r7, #4] 8098ada: 2203 movs r2, #3 8098adc: 4618 mov r0, r3 8098ade: f7bc fa9f bl 8055020 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8098ae2: 88fb ldrh r3, [r7, #6] 8098ae4: 3307 adds r3, #7 8098ae6: b298 uxth r0, r3 8098ae8: 88bb ldrh r3, [r7, #4] 8098aea: 3307 adds r3, #7 8098aec: b29b uxth r3, r3 8098aee: 2203 movs r2, #3 8098af0: 4619 mov r1, r3 8098af2: f7bc fa95 bl 8055020 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8098af6: 88bb ldrh r3, [r7, #4] 8098af8: 330a adds r3, #10 8098afa: b299 uxth r1, r3 8098afc: 88fb ldrh r3, [r7, #6] 8098afe: 2203 movs r2, #3 8098b00: 4618 mov r0, r3 8098b02: f7bc fa8d bl 8055020 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8098b06: 88fb ldrh r3, [r7, #6] 8098b08: 3b07 subs r3, #7 8098b0a: b298 uxth r0, r3 8098b0c: 88bb ldrh r3, [r7, #4] 8098b0e: 3307 adds r3, #7 8098b10: b29b uxth r3, r3 8098b12: 2203 movs r2, #3 8098b14: 4619 mov r1, r3 8098b16: f7bc fa83 bl 8055020 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8098b1a: 88fb ldrh r3, [r7, #6] 8098b1c: 3b0a subs r3, #10 8098b1e: b29b uxth r3, r3 8098b20: 88b9 ldrh r1, [r7, #4] 8098b22: 2203 movs r2, #3 8098b24: 4618 mov r0, r3 8098b26: f7bc fa7b bl 8055020 break; 8098b2a: e0bb b.n 8098ca4 case 6: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098b2c: 492c ldr r1, [pc, #176] ; (8098be0 ) 8098b2e: f04f 30ff mov.w r0, #4294967295 8098b32: f7bb fd6d bl 8054610 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8098b36: 88fb ldrh r3, [r7, #6] 8098b38: 330a adds r3, #10 8098b3a: b29b uxth r3, r3 8098b3c: 88b9 ldrh r1, [r7, #4] 8098b3e: 2203 movs r2, #3 8098b40: 4618 mov r0, r3 8098b42: f7bc fa6d bl 8055020 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8098b46: 4926 ldr r1, [pc, #152] ; (8098be0 ) 8098b48: 4826 ldr r0, [pc, #152] ; (8098be4 ) 8098b4a: f7bb fd61 bl 8054610 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8098b4e: 88fb ldrh r3, [r7, #6] 8098b50: 3307 adds r3, #7 8098b52: b298 uxth r0, r3 8098b54: 88bb ldrh r3, [r7, #4] 8098b56: 3b07 subs r3, #7 8098b58: b29b uxth r3, r3 8098b5a: 2203 movs r2, #3 8098b5c: 4619 mov r1, r3 8098b5e: f7bc fa5f bl 8055020 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8098b62: 491f ldr r1, [pc, #124] ; (8098be0 ) 8098b64: 4820 ldr r0, [pc, #128] ; (8098be8 ) 8098b66: f7bb fd53 bl 8054610 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8098b6a: 88bb ldrh r3, [r7, #4] 8098b6c: 3b0a subs r3, #10 8098b6e: b299 uxth r1, r3 8098b70: 88fb ldrh r3, [r7, #6] 8098b72: 2203 movs r2, #3 8098b74: 4618 mov r0, r3 8098b76: f7bc fa53 bl 8055020 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8098b7a: 4919 ldr r1, [pc, #100] ; (8098be0 ) 8098b7c: 481b ldr r0, [pc, #108] ; (8098bec ) 8098b7e: f7bb fd47 bl 8054610 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8098b82: 88fb ldrh r3, [r7, #6] 8098b84: 3307 adds r3, #7 8098b86: b298 uxth r0, r3 8098b88: 88bb ldrh r3, [r7, #4] 8098b8a: 3307 adds r3, #7 8098b8c: b29b uxth r3, r3 8098b8e: 2203 movs r2, #3 8098b90: 4619 mov r1, r3 8098b92: f7bc fa45 bl 8055020 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8098b96: 88bb ldrh r3, [r7, #4] 8098b98: 330a adds r3, #10 8098b9a: b299 uxth r1, r3 8098b9c: 88fb ldrh r3, [r7, #6] 8098b9e: 2203 movs r2, #3 8098ba0: 4618 mov r0, r3 8098ba2: f7bc fa3d bl 8055020 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8098ba6: 88fb ldrh r3, [r7, #6] 8098ba8: 3b07 subs r3, #7 8098baa: b298 uxth r0, r3 8098bac: 88bb ldrh r3, [r7, #4] 8098bae: 3307 adds r3, #7 8098bb0: b29b uxth r3, r3 8098bb2: 2203 movs r2, #3 8098bb4: 4619 mov r1, r3 8098bb6: f7bc fa33 bl 8055020 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8098bba: 88fb ldrh r3, [r7, #6] 8098bbc: 3b0a subs r3, #10 8098bbe: b29b uxth r3, r3 8098bc0: 88b9 ldrh r1, [r7, #4] 8098bc2: 2203 movs r2, #3 8098bc4: 4618 mov r0, r3 8098bc6: f7bc fa2b bl 8055020 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 8098bca: 88fb ldrh r3, [r7, #6] 8098bcc: 3b07 subs r3, #7 8098bce: b298 uxth r0, r3 8098bd0: 88bb ldrh r3, [r7, #4] 8098bd2: 3b07 subs r3, #7 8098bd4: b29b uxth r3, r3 8098bd6: 2203 movs r2, #3 8098bd8: 4619 mov r1, r3 8098bda: f7bc fa21 bl 8055020 break; 8098bde: e061 b.n 8098ca4 8098be0: ff0a0f1f .word 0xff0a0f1f 8098be4: ffd3d3d3 .word 0xffd3d3d3 8098be8: ff808080 .word 0xff808080 8098bec: ff404040 .word 0xff404040 case 7: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098bf0: 4934 ldr r1, [pc, #208] ; (8098cc4 ) 8098bf2: f04f 30ff mov.w r0, #4294967295 8098bf6: f7bb fd0b bl 8054610 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8098bfa: 88fb ldrh r3, [r7, #6] 8098bfc: 3307 adds r3, #7 8098bfe: b298 uxth r0, r3 8098c00: 88bb ldrh r3, [r7, #4] 8098c02: 3307 adds r3, #7 8098c04: b29b uxth r3, r3 8098c06: 2203 movs r2, #3 8098c08: 4619 mov r1, r3 8098c0a: f7bc fa09 bl 8055020 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8098c0e: 492d ldr r1, [pc, #180] ; (8098cc4 ) 8098c10: 482d ldr r0, [pc, #180] ; (8098cc8 ) 8098c12: f7bb fcfd bl 8054610 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8098c16: 88fb ldrh r3, [r7, #6] 8098c18: 330a adds r3, #10 8098c1a: b29b uxth r3, r3 8098c1c: 88b9 ldrh r1, [r7, #4] 8098c1e: 2203 movs r2, #3 8098c20: 4618 mov r0, r3 8098c22: f7bc f9fd bl 8055020 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8098c26: 4927 ldr r1, [pc, #156] ; (8098cc4 ) 8098c28: 4828 ldr r0, [pc, #160] ; (8098ccc ) 8098c2a: f7bb fcf1 bl 8054610 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8098c2e: 88fb ldrh r3, [r7, #6] 8098c30: 3307 adds r3, #7 8098c32: b298 uxth r0, r3 8098c34: 88bb ldrh r3, [r7, #4] 8098c36: 3b07 subs r3, #7 8098c38: b29b uxth r3, r3 8098c3a: 2203 movs r2, #3 8098c3c: 4619 mov r1, r3 8098c3e: f7bc f9ef bl 8055020 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8098c42: 4920 ldr r1, [pc, #128] ; (8098cc4 ) 8098c44: 4822 ldr r0, [pc, #136] ; (8098cd0 ) 8098c46: f7bb fce3 bl 8054610 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8098c4a: 88bb ldrh r3, [r7, #4] 8098c4c: 330a adds r3, #10 8098c4e: b299 uxth r1, r3 8098c50: 88fb ldrh r3, [r7, #6] 8098c52: 2203 movs r2, #3 8098c54: 4618 mov r0, r3 8098c56: f7bc f9e3 bl 8055020 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8098c5a: 88fb ldrh r3, [r7, #6] 8098c5c: 3b07 subs r3, #7 8098c5e: b298 uxth r0, r3 8098c60: 88bb ldrh r3, [r7, #4] 8098c62: 3307 adds r3, #7 8098c64: b29b uxth r3, r3 8098c66: 2203 movs r2, #3 8098c68: 4619 mov r1, r3 8098c6a: f7bc f9d9 bl 8055020 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8098c6e: 88fb ldrh r3, [r7, #6] 8098c70: 3b0a subs r3, #10 8098c72: b29b uxth r3, r3 8098c74: 88b9 ldrh r1, [r7, #4] 8098c76: 2203 movs r2, #3 8098c78: 4618 mov r0, r3 8098c7a: f7bc f9d1 bl 8055020 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 8098c7e: 88fb ldrh r3, [r7, #6] 8098c80: 3b07 subs r3, #7 8098c82: b298 uxth r0, r3 8098c84: 88bb ldrh r3, [r7, #4] 8098c86: 3b07 subs r3, #7 8098c88: b29b uxth r3, r3 8098c8a: 2203 movs r2, #3 8098c8c: 4619 mov r1, r3 8098c8e: f7bc f9c7 bl 8055020 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8098c92: 88bb ldrh r3, [r7, #4] 8098c94: 3b0a subs r3, #10 8098c96: b299 uxth r1, r3 8098c98: 88fb ldrh r3, [r7, #6] 8098c9a: 2203 movs r2, #3 8098c9c: 4618 mov r0, r3 8098c9e: f7bc f9bf bl 8055020 break; 8098ca2: bf00 nop } rotate++; 8098ca4: 4b0b ldr r3, [pc, #44] ; (8098cd4 ) 8098ca6: 681b ldr r3, [r3, #0] 8098ca8: 3301 adds r3, #1 8098caa: 4a0a ldr r2, [pc, #40] ; (8098cd4 ) 8098cac: 6013 str r3, [r2, #0] if(rotate >= 8) 8098cae: 4b09 ldr r3, [pc, #36] ; (8098cd4 ) 8098cb0: 681b ldr r3, [r3, #0] 8098cb2: 2b07 cmp r3, #7 8098cb4: d902 bls.n 8098cbc rotate = 0; 8098cb6: 4b07 ldr r3, [pc, #28] ; (8098cd4 ) 8098cb8: 2200 movs r2, #0 8098cba: 601a str r2, [r3, #0] } 8098cbc: bf00 nop 8098cbe: 3708 adds r7, #8 8098cc0: 46bd mov sp, r7 8098cc2: bd80 pop {r7, pc} 8098cc4: ff0a0f1f .word 0xff0a0f1f 8098cc8: ffd3d3d3 .word 0xffd3d3d3 8098ccc: ff808080 .word 0xff808080 8098cd0: ff404040 .word 0xff404040 8098cd4: 200216c0 .word 0x200216c0 08098cd8 : void DrawSpinner(void) { 8098cd8: b580 push {r7, lr} 8098cda: af00 add r7, sp, #0 if(!clbr) 8098cdc: 4b94 ldr r3, [pc, #592] ; (8098f30 ) 8098cde: 781b ldrb r3, [r3, #0] 8098ce0: b2db uxtb r3, r3 8098ce2: f083 0301 eor.w r3, r3, #1 8098ce6: b2db uxtb r3, r3 8098ce8: 2b00 cmp r3, #0 8098cea: f000 811f beq.w 8098f2c { //if(pardata.SYG != WAVE) //{ if(measuring) 8098cee: 4b91 ldr r3, [pc, #580] ; (8098f34 ) 8098cf0: 781b ldrb r3, [r3, #0] 8098cf2: b2db uxtb r3, r3 8098cf4: 2b00 cmp r3, #0 8098cf6: f000 8119 beq.w 8098f2c { spinner++; 8098cfa: 4b8f ldr r3, [pc, #572] ; (8098f38 ) 8098cfc: 781b ldrb r3, [r3, #0] 8098cfe: 3301 adds r3, #1 8098d00: b2da uxtb r2, r3 8098d02: 4b8d ldr r3, [pc, #564] ; (8098f38 ) 8098d04: 701a strb r2, [r3, #0] if(spinner >= 10) 8098d06: 4b8c ldr r3, [pc, #560] ; (8098f38 ) 8098d08: 781b ldrb r3, [r3, #0] 8098d0a: 2b09 cmp r3, #9 8098d0c: d902 bls.n 8098d14 spinner = 0; 8098d0e: 4b8a ldr r3, [pc, #552] ; (8098f38 ) 8098d10: 2200 movs r2, #0 8098d12: 701a strb r2, [r3, #0] if(pardata.SYG == WAVE) 8098d14: 4b89 ldr r3, [pc, #548] ; (8098f3c ) 8098d16: 781b ldrb r3, [r3, #0] 8098d18: b2db uxtb r3, r3 8098d1a: 2b04 cmp r3, #4 8098d1c: d113 bne.n 8098d46 { if((CALC_FREQ) && (FreqFran == 0.0f)) 8098d1e: 4b88 ldr r3, [pc, #544] ; (8098f40 ) 8098d20: 781b ldrb r3, [r3, #0] 8098d22: b2db uxtb r3, r3 8098d24: 2b00 cmp r3, #0 8098d26: f000 8101 beq.w 8098f2c 8098d2a: 4b86 ldr r3, [pc, #536] ; (8098f44 ) 8098d2c: edd3 7a00 vldr s15, [r3] 8098d30: eef5 7a40 vcmp.f32 s15, #0.0 8098d34: eef1 fa10 vmrs APSR_nzcv, fpscr 8098d38: f040 80f8 bne.w 8098f2c DrawMySpinner(165, 124); 8098d3c: 217c movs r1, #124 ; 0x7c 8098d3e: 20a5 movs r0, #165 ; 0xa5 8098d40: f7ff fcae bl 80986a0 } } } } } 8098d44: e0f2 b.n 8098f2c if(RepeatKm) 8098d46: 4b80 ldr r3, [pc, #512] ; (8098f48 ) 8098d48: 781b ldrb r3, [r3, #0] 8098d4a: b2db uxtb r3, r3 8098d4c: 2b00 cmp r3, #0 8098d4e: d01a beq.n 8098d86 if(pardata.SYG == FRAN) 8098d50: 4b7a ldr r3, [pc, #488] ; (8098f3c ) 8098d52: 781b ldrb r3, [r3, #0] 8098d54: b2db uxtb r3, r3 8098d56: 2b03 cmp r3, #3 8098d58: d110 bne.n 8098d7c if(pardata.OPTIONS & 0x2) 8098d5a: 4b78 ldr r3, [pc, #480] ; (8098f3c ) 8098d5c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8098d60: f003 0302 and.w r3, r3, #2 8098d64: 2b00 cmp r3, #0 8098d66: d004 beq.n 8098d72 DrawMySpinner(69, 125); 8098d68: 217d movs r1, #125 ; 0x7d 8098d6a: 2045 movs r0, #69 ; 0x45 8098d6c: f7ff fc98 bl 80986a0 } 8098d70: e0dc b.n 8098f2c else DrawMySpinner(189, 141); 8098d72: 218d movs r1, #141 ; 0x8d 8098d74: 20bd movs r0, #189 ; 0xbd 8098d76: f7ff fc93 bl 80986a0 } 8098d7a: e0d7 b.n 8098f2c DrawMySpinner(189, 141); 8098d7c: 218d movs r1, #141 ; 0x8d 8098d7e: 20bd movs r0, #189 ; 0xbd 8098d80: f7ff fc8e bl 80986a0 } 8098d84: e0d2 b.n 8098f2c if((pardata.SYG == VIB) && (timeRelax)) 8098d86: 4b6d ldr r3, [pc, #436] ; (8098f3c ) 8098d88: 781b ldrb r3, [r3, #0] 8098d8a: b2db uxtb r3, r3 8098d8c: 2b00 cmp r3, #0 8098d8e: d108 bne.n 8098da2 8098d90: 4b6e ldr r3, [pc, #440] ; (8098f4c ) 8098d92: 681b ldr r3, [r3, #0] 8098d94: 2b00 cmp r3, #0 8098d96: d004 beq.n 8098da2 DrawMySpinner(189, 141); 8098d98: 218d movs r1, #141 ; 0x8d 8098d9a: 20bd movs r0, #189 ; 0xbd 8098d9c: f7ff fc80 bl 80986a0 8098da0: e0c4 b.n 8098f2c if((pardata.SYG == VIB) && (Stability <= (Nr * 4))) 8098da2: 4b66 ldr r3, [pc, #408] ; (8098f3c ) 8098da4: 781b ldrb r3, [r3, #0] 8098da6: b2db uxtb r3, r3 8098da8: 2b00 cmp r3, #0 8098daa: d10d bne.n 8098dc8 8098dac: 4b68 ldr r3, [pc, #416] ; (8098f50 ) 8098dae: 881b ldrh r3, [r3, #0] 8098db0: b29b uxth r3, r3 8098db2: 009b lsls r3, r3, #2 8098db4: 461a mov r2, r3 8098db6: 4b67 ldr r3, [pc, #412] ; (8098f54 ) 8098db8: 681b ldr r3, [r3, #0] 8098dba: 429a cmp r2, r3 8098dbc: d304 bcc.n 8098dc8 DrawMySpinner(189, 141); 8098dbe: 218d movs r1, #141 ; 0x8d 8098dc0: 20bd movs r0, #189 ; 0xbd 8098dc2: f7ff fc6d bl 80986a0 8098dc6: e0b1 b.n 8098f2c if((pardata.SYG == DIAGN) && ((Stability <= (Nr * 4)) || (timeRelax))) 8098dc8: 4b5c ldr r3, [pc, #368] ; (8098f3c ) 8098dca: 781b ldrb r3, [r3, #0] 8098dcc: b2db uxtb r3, r3 8098dce: 2b0a cmp r3, #10 8098dd0: d111 bne.n 8098df6 8098dd2: 4b5f ldr r3, [pc, #380] ; (8098f50 ) 8098dd4: 881b ldrh r3, [r3, #0] 8098dd6: b29b uxth r3, r3 8098dd8: 009b lsls r3, r3, #2 8098dda: 461a mov r2, r3 8098ddc: 4b5d ldr r3, [pc, #372] ; (8098f54 ) 8098dde: 681b ldr r3, [r3, #0] 8098de0: 429a cmp r2, r3 8098de2: d203 bcs.n 8098dec 8098de4: 4b59 ldr r3, [pc, #356] ; (8098f4c ) 8098de6: 681b ldr r3, [r3, #0] 8098de8: 2b00 cmp r3, #0 8098dea: d004 beq.n 8098df6 DrawMySpinner(189, 141); 8098dec: 218d movs r1, #141 ; 0x8d 8098dee: 20bd movs r0, #189 ; 0xbd 8098df0: f7ff fc56 bl 80986a0 8098df4: e09a b.n 8098f2c if((pardata.SYG == FRAN) && (timeRelax)) 8098df6: 4b51 ldr r3, [pc, #324] ; (8098f3c ) 8098df8: 781b ldrb r3, [r3, #0] 8098dfa: b2db uxtb r3, r3 8098dfc: 2b03 cmp r3, #3 8098dfe: d108 bne.n 8098e12 8098e00: 4b52 ldr r3, [pc, #328] ; (8098f4c ) 8098e02: 681b ldr r3, [r3, #0] 8098e04: 2b00 cmp r3, #0 8098e06: d004 beq.n 8098e12 DrawMySpinner(189, 141); 8098e08: 218d movs r1, #141 ; 0x8d 8098e0a: 20bd movs r0, #189 ; 0xbd 8098e0c: f7ff fc48 bl 80986a0 8098e10: e08c b.n 8098f2c if((pardata.SYG == FRAN) && (Stability <= (Nr * 4))) 8098e12: 4b4a ldr r3, [pc, #296] ; (8098f3c ) 8098e14: 781b ldrb r3, [r3, #0] 8098e16: b2db uxtb r3, r3 8098e18: 2b03 cmp r3, #3 8098e1a: d10d bne.n 8098e38 8098e1c: 4b4c ldr r3, [pc, #304] ; (8098f50 ) 8098e1e: 881b ldrh r3, [r3, #0] 8098e20: b29b uxth r3, r3 8098e22: 009b lsls r3, r3, #2 8098e24: 461a mov r2, r3 8098e26: 4b4b ldr r3, [pc, #300] ; (8098f54 ) 8098e28: 681b ldr r3, [r3, #0] 8098e2a: 429a cmp r2, r3 8098e2c: d304 bcc.n 8098e38 DrawMySpinner(189, 141); 8098e2e: 218d movs r1, #141 ; 0x8d 8098e30: 20bd movs r0, #189 ; 0xbd 8098e32: f7ff fc35 bl 80986a0 8098e36: e079 b.n 8098f2c if((pardata.SYG == OSC) && (timeRelax)) 8098e38: 4b40 ldr r3, [pc, #256] ; (8098f3c ) 8098e3a: 781b ldrb r3, [r3, #0] 8098e3c: b2db uxtb r3, r3 8098e3e: 2b02 cmp r3, #2 8098e40: d108 bne.n 8098e54 8098e42: 4b42 ldr r3, [pc, #264] ; (8098f4c ) 8098e44: 681b ldr r3, [r3, #0] 8098e46: 2b00 cmp r3, #0 8098e48: d004 beq.n 8098e54 DrawMySpinner(189, 141); 8098e4a: 218d movs r1, #141 ; 0x8d 8098e4c: 20bd movs r0, #189 ; 0xbd 8098e4e: f7ff fc27 bl 80986a0 8098e52: e06b b.n 8098f2c if((pardata.SYG == UDAR) && (timeRelax)) 8098e54: 4b39 ldr r3, [pc, #228] ; (8098f3c ) 8098e56: 781b ldrb r3, [r3, #0] 8098e58: b2db uxtb r3, r3 8098e5a: 2b09 cmp r3, #9 8098e5c: d108 bne.n 8098e70 8098e5e: 4b3b ldr r3, [pc, #236] ; (8098f4c ) 8098e60: 681b ldr r3, [r3, #0] 8098e62: 2b00 cmp r3, #0 8098e64: d004 beq.n 8098e70 DrawMySpinner(160, 120); 8098e66: 2178 movs r1, #120 ; 0x78 8098e68: 20a0 movs r0, #160 ; 0xa0 8098e6a: f7ff fc19 bl 80986a0 8098e6e: e05d b.n 8098f2c if((pardata.SYG == OSC) && (!Threshold) && (Stability <= (Nr * 4))) 8098e70: 4b32 ldr r3, [pc, #200] ; (8098f3c ) 8098e72: 781b ldrb r3, [r3, #0] 8098e74: b2db uxtb r3, r3 8098e76: 2b02 cmp r3, #2 8098e78: d115 bne.n 8098ea6 8098e7a: 4b37 ldr r3, [pc, #220] ; (8098f58 ) 8098e7c: 781b ldrb r3, [r3, #0] 8098e7e: b2db uxtb r3, r3 8098e80: f083 0301 eor.w r3, r3, #1 8098e84: b2db uxtb r3, r3 8098e86: 2b00 cmp r3, #0 8098e88: d00d beq.n 8098ea6 8098e8a: 4b31 ldr r3, [pc, #196] ; (8098f50 ) 8098e8c: 881b ldrh r3, [r3, #0] 8098e8e: b29b uxth r3, r3 8098e90: 009b lsls r3, r3, #2 8098e92: 461a mov r2, r3 8098e94: 4b2f ldr r3, [pc, #188] ; (8098f54 ) 8098e96: 681b ldr r3, [r3, #0] 8098e98: 429a cmp r2, r3 8098e9a: d304 bcc.n 8098ea6 DrawMySpinner(189, 141); 8098e9c: 218d movs r1, #141 ; 0x8d 8098e9e: 20bd movs r0, #189 ; 0xbd 8098ea0: f7ff fbfe bl 80986a0 8098ea4: e042 b.n 8098f2c 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))) 8098ea6: 4b25 ldr r3, [pc, #148] ; (8098f3c ) 8098ea8: 781b ldrb r3, [r3, #0] 8098eaa: b2db uxtb r3, r3 8098eac: 2b01 cmp r3, #1 8098eae: d018 beq.n 8098ee2 8098eb0: 4b22 ldr r3, [pc, #136] ; (8098f3c ) 8098eb2: 781b ldrb r3, [r3, #0] 8098eb4: b2db uxtb r3, r3 8098eb6: 2b08 cmp r3, #8 8098eb8: d013 beq.n 8098ee2 8098eba: 4b20 ldr r3, [pc, #128] ; (8098f3c ) 8098ebc: 781b ldrb r3, [r3, #0] 8098ebe: b2db uxtb r3, r3 8098ec0: 2b05 cmp r3, #5 8098ec2: d00e beq.n 8098ee2 8098ec4: 4b1d ldr r3, [pc, #116] ; (8098f3c ) 8098ec6: 781b ldrb r3, [r3, #0] 8098ec8: b2db uxtb r3, r3 8098eca: 2b06 cmp r3, #6 8098ecc: d009 beq.n 8098ee2 8098ece: 4b1b ldr r3, [pc, #108] ; (8098f3c ) 8098ed0: 781b ldrb r3, [r3, #0] 8098ed2: b2db uxtb r3, r3 8098ed4: 2b07 cmp r3, #7 8098ed6: d004 beq.n 8098ee2 8098ed8: 4b18 ldr r3, [pc, #96] ; (8098f3c ) 8098eda: 781b ldrb r3, [r3, #0] 8098edc: b2db uxtb r3, r3 8098ede: 2b09 cmp r3, #9 8098ee0: d10d bne.n 8098efe 8098ee2: 4b1b ldr r3, [pc, #108] ; (8098f50 ) 8098ee4: 881b ldrh r3, [r3, #0] 8098ee6: b29b uxth r3, r3 8098ee8: 009b lsls r3, r3, #2 8098eea: 461a mov r2, r3 8098eec: 4b19 ldr r3, [pc, #100] ; (8098f54 ) 8098eee: 681b ldr r3, [r3, #0] 8098ef0: 429a cmp r2, r3 8098ef2: d304 bcc.n 8098efe DrawMySpinner(189, 141); 8098ef4: 218d movs r1, #141 ; 0x8d 8098ef6: 20bd movs r0, #189 ; 0xbd 8098ef8: f7ff fbd2 bl 80986a0 8098efc: e016 b.n 8098f2c if((pardata.SYG == ROLL) && (NSamples < 20) && (Stability > (Nr * 4))) 8098efe: 4b0f ldr r3, [pc, #60] ; (8098f3c ) 8098f00: 781b ldrb r3, [r3, #0] 8098f02: b2db uxtb r3, r3 8098f04: 2b08 cmp r3, #8 8098f06: d111 bne.n 8098f2c 8098f08: 4b14 ldr r3, [pc, #80] ; (8098f5c ) 8098f0a: 681b ldr r3, [r3, #0] 8098f0c: 2b13 cmp r3, #19 8098f0e: d80d bhi.n 8098f2c 8098f10: 4b0f ldr r3, [pc, #60] ; (8098f50 ) 8098f12: 881b ldrh r3, [r3, #0] 8098f14: b29b uxth r3, r3 8098f16: 009b lsls r3, r3, #2 8098f18: 461a mov r2, r3 8098f1a: 4b0e ldr r3, [pc, #56] ; (8098f54 ) 8098f1c: 681b ldr r3, [r3, #0] 8098f1e: 429a cmp r2, r3 8098f20: d204 bcs.n 8098f2c DrawMySpinner(189, 141); 8098f22: 218d movs r1, #141 ; 0x8d 8098f24: 20bd movs r0, #189 ; 0xbd 8098f26: f7ff fbbb bl 80986a0 } 8098f2a: e7ff b.n 8098f2c 8098f2c: bf00 nop 8098f2e: bd80 pop {r7, pc} 8098f30: 20020f88 .word 0x20020f88 8098f34: 20020dcf .word 0x20020dcf 8098f38: 200216a0 .word 0x200216a0 8098f3c: 20023ea8 .word 0x20023ea8 8098f40: 20021054 .word 0x20021054 8098f44: 200215ac .word 0x200215ac 8098f48: 20020dcc .word 0x20020dcc 8098f4c: 20020d8c .word 0x20020d8c 8098f50: 20021d68 .word 0x20021d68 8098f54: 20020dc8 .word 0x20020dc8 8098f58: 20020dd1 .word 0x20020dd1 8098f5c: 20020da8 .word 0x20020da8 08098f60 : void DisplayStatus(void) { 8098f60: b580 push {r7, lr} 8098f62: af00 add r7, sp, #0 if(DrawStatus) 8098f64: 4baa ldr r3, [pc, #680] ; (8099210 ) 8098f66: 781b ldrb r3, [r3, #0] 8098f68: b2db uxtb r3, r3 8098f6a: 2b00 cmp r3, #0 8098f6c: f000 814d beq.w 809920a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098f70: 49a8 ldr r1, [pc, #672] ; (8099214 ) 8098f72: f04f 30ff mov.w r0, #4294967295 8098f76: f7bb fb4b bl 8054610 BSP_LCD_FillRect(60, 73, 200, 124); 8098f7a: 237c movs r3, #124 ; 0x7c 8098f7c: 22c8 movs r2, #200 ; 0xc8 8098f7e: 2149 movs r1, #73 ; 0x49 8098f80: 203c movs r0, #60 ; 0x3c 8098f82: f7bb ffd3 bl 8054f2c LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8098f86: 49a3 ldr r1, [pc, #652] ; (8099214 ) 8098f88: 48a2 ldr r0, [pc, #648] ; (8099214 ) 8098f8a: f7bb fb41 bl 8054610 BSP_LCD_FillRect(61, 74, 198, 122); 8098f8e: 237a movs r3, #122 ; 0x7a 8098f90: 22c6 movs r2, #198 ; 0xc6 8098f92: 214a movs r1, #74 ; 0x4a 8098f94: 203d movs r0, #61 ; 0x3d 8098f96: f7bb ffc9 bl 8054f2c BSP_LCD_SetFont(&Font12); 8098f9a: 489f ldr r0, [pc, #636] ; (8099218 ) 8098f9c: f7bb fb74 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8098fa0: 499c ldr r1, [pc, #624] ; (8099214 ) 8098fa2: f04f 30ff mov.w r0, #4294967295 8098fa6: f7bb fb33 bl 8054610 switch(STATUS) 8098faa: 4b9c ldr r3, [pc, #624] ; (809921c ) 8098fac: 681b ldr r3, [r3, #0] 8098fae: 2b12 cmp r3, #18 8098fb0: f200 812b bhi.w 809920a 8098fb4: a201 add r2, pc, #4 ; (adr r2, 8098fbc ) 8098fb6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8098fba: bf00 nop 8098fbc: 08099209 .word 0x08099209 8098fc0: 0809920b .word 0x0809920b 8098fc4: 0809910d .word 0x0809910d 8098fc8: 08099189 .word 0x08099189 8098fcc: 0809920b .word 0x0809920b 8098fd0: 0809920b .word 0x0809920b 8098fd4: 08099053 .word 0x08099053 8098fd8: 08099091 .word 0x08099091 8098fdc: 080990cf .word 0x080990cf 8098fe0: 0809920b .word 0x0809920b 8098fe4: 0809920b .word 0x0809920b 8098fe8: 080991c7 .word 0x080991c7 8098fec: 0809920b .word 0x0809920b 8098ff0: 0809920b .word 0x0809920b 8098ff4: 0809920b .word 0x0809920b 8098ff8: 0809920b .word 0x0809920b 8098ffc: 0809920b .word 0x0809920b 8099000: 0809914b .word 0x0809914b 8099004: 08099009 .word 0x08099009 { case AP_ADC_FAIL: if(pardata.LANG == RUS) 8099008: 4b85 ldr r3, [pc, #532] ; (8099220 ) 809900a: 7b1b ldrb r3, [r3, #12] 809900c: b2db uxtb r3, r3 809900e: 2b00 cmp r3, #0 8099010: d10c bne.n 809902c { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Îøèáêà ÀÖÏ!", CENTER_MODE); 8099012: 2301 movs r3, #1 8099014: 4a83 ldr r2, [pc, #524] ; (8099224 ) 8099016: 217a movs r1, #122 ; 0x7a 8099018: 20a0 movs r0, #160 ; 0xa0 809901a: f7bb fbbf bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Ïåðåçàãðóçèòå ïðèáîð...", CENTER_MODE); 809901e: 2301 movs r3, #1 8099020: 4a81 ldr r2, [pc, #516] ; (8099228 ) 8099022: 218a movs r1, #138 ; 0x8a 8099024: 20a0 movs r0, #160 ; 0xa0 8099026: f7bb fbb9 bl 805479c { 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; 809902a: e0ee b.n 809920a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "ADC Error!", CENTER_MODE); 809902c: 2301 movs r3, #1 809902e: 4a7f ldr r2, [pc, #508] ; (809922c ) 8099030: 217a movs r1, #122 ; 0x7a 8099032: 20a0 movs r0, #160 ; 0xa0 8099034: f7bb fbb2 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Please,", CENTER_MODE); 8099038: 2301 movs r3, #1 809903a: 4a7d ldr r2, [pc, #500] ; (8099230 ) 809903c: 218a movs r1, #138 ; 0x8a 809903e: 20a0 movs r0, #160 ; 0xa0 8099040: f7bb fbac bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_9, "reboot device.", CENTER_MODE); 8099044: 2301 movs r3, #1 8099046: 4a7b ldr r2, [pc, #492] ; (8099234 ) 8099048: 219a movs r1, #154 ; 0x9a 809904a: 20a0 movs r0, #160 ; 0xa0 809904c: f7bb fba6 bl 805479c break; 8099050: e0db b.n 809920a case AP_OK: break; case AP_FILE_EXIST: if(pardata.LANG == RUS) 8099052: 4b73 ldr r3, [pc, #460] ; (8099220 ) 8099054: 7b1b ldrb r3, [r3, #12] 8099056: b2db uxtb r3, r3 8099058: 2b00 cmp r3, #0 809905a: d10c bne.n 8099076 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôàéë óæå", CENTER_MODE); 809905c: 2301 movs r3, #1 809905e: 4a76 ldr r2, [pc, #472] ; (8099238 ) 8099060: 217a movs r1, #122 ; 0x7a 8099062: 20a0 movs r0, #160 ; 0xa0 8099064: f7bb fb9a bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "ñóùåñòâóåò!", CENTER_MODE); 8099068: 2301 movs r3, #1 809906a: 4a74 ldr r2, [pc, #464] ; (809923c ) 809906c: 218a movs r1, #138 ; 0x8a 809906e: 20a0 movs r0, #160 ; 0xa0 8099070: f7bb fb94 bl 805479c else { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "File already ", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "exists!", CENTER_MODE); } break; 8099074: e0c9 b.n 809920a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "File already ", CENTER_MODE); 8099076: 2301 movs r3, #1 8099078: 4a71 ldr r2, [pc, #452] ; (8099240 ) 809907a: 217a movs r1, #122 ; 0x7a 809907c: 20a0 movs r0, #160 ; 0xa0 809907e: f7bb fb8d bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "exists!", CENTER_MODE); 8099082: 2301 movs r3, #1 8099084: 4a6f ldr r2, [pc, #444] ; (8099244 ) 8099086: 218a movs r1, #138 ; 0x8a 8099088: 20a0 movs r0, #160 ; 0xa0 809908a: f7bb fb87 bl 805479c break; 809908e: e0bc b.n 809920a case AP_SAVING_SUCCESS: if(pardata.LANG == RUS) 8099090: 4b63 ldr r3, [pc, #396] ; (8099220 ) 8099092: 7b1b ldrb r3, [r3, #12] 8099094: b2db uxtb r3, r3 8099096: 2b00 cmp r3, #0 8099098: d10c bne.n 80990b4 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ñîõðàíåíèå", CENTER_MODE); 809909a: 2301 movs r3, #1 809909c: 4a6a ldr r2, [pc, #424] ; (8099248 ) 809909e: 217a movs r1, #122 ; 0x7a 80990a0: 20a0 movs r0, #160 ; 0xa0 80990a2: f7bb fb7b bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "óñïåøíî!", CENTER_MODE); 80990a6: 2301 movs r3, #1 80990a8: 4a68 ldr r2, [pc, #416] ; (809924c ) 80990aa: 218a movs r1, #138 ; 0x8a 80990ac: 20a0 movs r0, #160 ; 0xa0 80990ae: f7bb fb75 bl 805479c else { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Saving", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "done!", CENTER_MODE); } break; 80990b2: e0aa b.n 809920a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Saving", CENTER_MODE); 80990b4: 2301 movs r3, #1 80990b6: 4a66 ldr r2, [pc, #408] ; (8099250 ) 80990b8: 217a movs r1, #122 ; 0x7a 80990ba: 20a0 movs r0, #160 ; 0xa0 80990bc: f7bb fb6e bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "done!", CENTER_MODE); 80990c0: 2301 movs r3, #1 80990c2: 4a64 ldr r2, [pc, #400] ; (8099254 ) 80990c4: 218a movs r1, #138 ; 0x8a 80990c6: 20a0 movs r0, #160 ; 0xa0 80990c8: f7bb fb68 bl 805479c break; 80990cc: e09d b.n 809920a case AP_SAVING_ERROR: if(pardata.LANG == RUS) 80990ce: 4b54 ldr r3, [pc, #336] ; (8099220 ) 80990d0: 7b1b ldrb r3, [r3, #12] 80990d2: b2db uxtb r3, r3 80990d4: 2b00 cmp r3, #0 80990d6: d10c bne.n 80990f2 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Îøèáêà", CENTER_MODE); 80990d8: 2301 movs r3, #1 80990da: 4a5f ldr r2, [pc, #380] ; (8099258 ) 80990dc: 217a movs r1, #122 ; 0x7a 80990de: 20a0 movs r0, #160 ; 0xa0 80990e0: f7bb fb5c bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "ñîõðàíåíèÿ!", CENTER_MODE); 80990e4: 2301 movs r3, #1 80990e6: 4a5d ldr r2, [pc, #372] ; (809925c ) 80990e8: 218a movs r1, #138 ; 0x8a 80990ea: 20a0 movs r0, #160 ; 0xa0 80990ec: f7bb fb56 bl 805479c { 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; 80990f0: e08b b.n 809920a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Saving", CENTER_MODE); 80990f2: 2301 movs r3, #1 80990f4: 4a56 ldr r2, [pc, #344] ; (8099250 ) 80990f6: 217a movs r1, #122 ; 0x7a 80990f8: 20a0 movs r0, #160 ; 0xa0 80990fa: f7bb fb4f bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "failed!", CENTER_MODE); 80990fe: 2301 movs r3, #1 8099100: 4a57 ldr r2, [pc, #348] ; (8099260 ) 8099102: 218a movs r1, #138 ; 0x8a 8099104: 20a0 movs r0, #160 ; 0xa0 8099106: f7bb fb49 bl 805479c break; 809910a: e07e b.n 809920a case AP_INVALID_FILE: if(pardata.LANG == RUS) 809910c: 4b44 ldr r3, [pc, #272] ; (8099220 ) 809910e: 7b1b ldrb r3, [r3, #12] 8099110: b2db uxtb r3, r3 8099112: 2b00 cmp r3, #0 8099114: d10c bne.n 8099130 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôàéë ïîâðåæäåí", CENTER_MODE); 8099116: 2301 movs r3, #1 8099118: 4a52 ldr r2, [pc, #328] ; (8099264 ) 809911a: 217a movs r1, #122 ; 0x7a 809911c: 20a0 movs r0, #160 ; 0xa0 809911e: f7bb fb3d bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "èëè îòñóòñòâóåò!", CENTER_MODE); 8099122: 2301 movs r3, #1 8099124: 4a50 ldr r2, [pc, #320] ; (8099268 ) 8099126: 217a movs r1, #122 ; 0x7a 8099128: 20a0 movs r0, #160 ; 0xa0 809912a: f7bb fb37 bl 805479c { 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; 809912e: e06c b.n 809920a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "File is damaged", CENTER_MODE); 8099130: 2301 movs r3, #1 8099132: 4a4e ldr r2, [pc, #312] ; (809926c ) 8099134: 217a movs r1, #122 ; 0x7a 8099136: 20a0 movs r0, #160 ; 0xa0 8099138: f7bb fb30 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "or missing!", CENTER_MODE); 809913c: 2301 movs r3, #1 809913e: 4a4c ldr r2, [pc, #304] ; (8099270 ) 8099140: 218a movs r1, #138 ; 0x8a 8099142: 20a0 movs r0, #160 ; 0xa0 8099144: f7bb fb2a bl 805479c break; 8099148: e05f b.n 809920a case AP_NO_CARD: if(pardata.LANG == RUS) 809914a: 4b35 ldr r3, [pc, #212] ; (8099220 ) 809914c: 7b1b ldrb r3, [r3, #12] 809914e: b2db uxtb r3, r3 8099150: 2b00 cmp r3, #0 8099152: d10c bne.n 809916e { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Íàêîïèòåëü", CENTER_MODE); 8099154: 2301 movs r3, #1 8099156: 4a47 ldr r2, [pc, #284] ; (8099274 ) 8099158: 217a movs r1, #122 ; 0x7a 809915a: 20a0 movs r0, #160 ; 0xa0 809915c: f7bb fb1e bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "îòñóòñòâóåò!", CENTER_MODE); 8099160: 2301 movs r3, #1 8099162: 4a45 ldr r2, [pc, #276] ; (8099278 ) 8099164: 218a movs r1, #138 ; 0x8a 8099166: 20a0 movs r0, #160 ; 0xa0 8099168: f7bb fb18 bl 805479c { 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; 809916c: e04d b.n 809920a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Drive is", CENTER_MODE); 809916e: 2301 movs r3, #1 8099170: 4a42 ldr r2, [pc, #264] ; (809927c ) 8099172: 217a movs r1, #122 ; 0x7a 8099174: 20a0 movs r0, #160 ; 0xa0 8099176: f7bb fb11 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "not present!", CENTER_MODE); 809917a: 2301 movs r3, #1 809917c: 4a40 ldr r2, [pc, #256] ; (8099280 ) 809917e: 218a movs r1, #138 ; 0x8a 8099180: 20a0 movs r0, #160 ; 0xa0 8099182: f7bb fb0b bl 805479c break; 8099186: e040 b.n 809920a case AP_BAD_DATA: if(pardata.LANG == RUS) 8099188: 4b25 ldr r3, [pc, #148] ; (8099220 ) 809918a: 7b1b ldrb r3, [r3, #12] 809918c: b2db uxtb r3, r3 809918e: 2b00 cmp r3, #0 8099190: d10c bne.n 80991ac { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Íåâåðíûå", CENTER_MODE); 8099192: 2301 movs r3, #1 8099194: 4a3b ldr r2, [pc, #236] ; (8099284 ) 8099196: 217a movs r1, #122 ; 0x7a 8099198: 20a0 movs r0, #160 ; 0xa0 809919a: f7bb faff bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "äàííûå!", CENTER_MODE); 809919e: 2301 movs r3, #1 80991a0: 4a39 ldr r2, [pc, #228] ; (8099288 ) 80991a2: 218a movs r1, #138 ; 0x8a 80991a4: 20a0 movs r0, #160 ; 0xa0 80991a6: f7bb faf9 bl 805479c { 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; 80991aa: e02e b.n 809920a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Incorrect", CENTER_MODE); 80991ac: 2301 movs r3, #1 80991ae: 4a37 ldr r2, [pc, #220] ; (809928c ) 80991b0: 217a movs r1, #122 ; 0x7a 80991b2: 20a0 movs r0, #160 ; 0xa0 80991b4: f7bb faf2 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "data!", CENTER_MODE); 80991b8: 2301 movs r3, #1 80991ba: 4a35 ldr r2, [pc, #212] ; (8099290 ) 80991bc: 218a movs r1, #138 ; 0x8a 80991be: 20a0 movs r0, #160 ; 0xa0 80991c0: f7bb faec bl 805479c break; 80991c4: e021 b.n 809920a case AP_DISK_ERROR: if(pardata.LANG == RUS) 80991c6: 4b16 ldr r3, [pc, #88] ; (8099220 ) 80991c8: 7b1b ldrb r3, [r3, #12] 80991ca: b2db uxtb r3, r3 80991cc: 2b00 cmp r3, #0 80991ce: d10c bne.n 80991ea { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Êàðòà ïàìÿòè", CENTER_MODE); 80991d0: 2301 movs r3, #1 80991d2: 4a30 ldr r2, [pc, #192] ; (8099294 ) 80991d4: 217a movs r1, #122 ; 0x7a 80991d6: 20a0 movs r0, #160 ; 0xa0 80991d8: f7bb fae0 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "íå ÷èòàåòñÿ!", CENTER_MODE); 80991dc: 2301 movs r3, #1 80991de: 4a2e ldr r2, [pc, #184] ; (8099298 ) 80991e0: 218a movs r1, #138 ; 0x8a 80991e2: 20a0 movs r0, #160 ; 0xa0 80991e4: f7bb fada bl 805479c 80991e8: e00b b.n 8099202 } else { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "SD card not", CENTER_MODE); 80991ea: 2301 movs r3, #1 80991ec: 4a2b ldr r2, [pc, #172] ; (809929c ) 80991ee: 217a movs r1, #122 ; 0x7a 80991f0: 20a0 movs r0, #160 ; 0xa0 80991f2: f7bb fad3 bl 805479c BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "responding!", CENTER_MODE); 80991f6: 2301 movs r3, #1 80991f8: 4a29 ldr r2, [pc, #164] ; (80992a0 ) 80991fa: 218a movs r1, #138 ; 0x8a 80991fc: 20a0 movs r0, #160 ; 0xa0 80991fe: f7bb facd bl 805479c } BSP_SD_Init(); 8099202: f02a fc6b bl 80c3adc break; 8099206: e000 b.n 809920a break; 8099208: bf00 nop } } } 809920a: bf00 nop 809920c: bd80 pop {r7, pc} 809920e: bf00 nop 8099210: 20020df2 .word 0x20020df2 8099214: ff0a0f1f .word 0xff0a0f1f 8099218: 20020038 .word 0x20020038 809921c: 20020dec .word 0x20020dec 8099220: 20023ea8 .word 0x20023ea8 8099224: 080d4af4 .word 0x080d4af4 8099228: 080d4b00 .word 0x080d4b00 809922c: 080d4b18 .word 0x080d4b18 8099230: 080d4b24 .word 0x080d4b24 8099234: 080d4b2c .word 0x080d4b2c 8099238: 080d4b3c .word 0x080d4b3c 809923c: 080d4b48 .word 0x080d4b48 8099240: 080d4b54 .word 0x080d4b54 8099244: 080d4b64 .word 0x080d4b64 8099248: 080d4b6c .word 0x080d4b6c 809924c: 080d4368 .word 0x080d4368 8099250: 080d4b78 .word 0x080d4b78 8099254: 080d4b80 .word 0x080d4b80 8099258: 080d4b88 .word 0x080d4b88 809925c: 080d4b90 .word 0x080d4b90 8099260: 080d4b9c .word 0x080d4b9c 8099264: 080d4ba4 .word 0x080d4ba4 8099268: 080d4bb4 .word 0x080d4bb4 809926c: 080d4bc8 .word 0x080d4bc8 8099270: 080d4bd8 .word 0x080d4bd8 8099274: 080d4be4 .word 0x080d4be4 8099278: 080d4bf0 .word 0x080d4bf0 809927c: 080d4c00 .word 0x080d4c00 8099280: 080d4c0c .word 0x080d4c0c 8099284: 080d4c1c .word 0x080d4c1c 8099288: 080d4c28 .word 0x080d4c28 809928c: 080d4c30 .word 0x080d4c30 8099290: 080d4c3c .word 0x080d4c3c 8099294: 080d4c44 .word 0x080d4c44 8099298: 080d4c54 .word 0x080d4c54 809929c: 080d4c64 .word 0x080d4c64 80992a0: 080d4c70 .word 0x080d4c70 080992a4 : void DrawDetectorType(void) { 80992a4: b580 push {r7, lr} 80992a6: af00 add r7, sp, #0 if((DrawSavedData) || (NextIndexMeas < IndexMeas[NextIndexPoint])) 80992a8: 4ba8 ldr r3, [pc, #672] ; (809954c ) 80992aa: 781b ldrb r3, [r3, #0] 80992ac: b2db uxtb r3, r3 80992ae: 2b00 cmp r3, #0 80992b0: d109 bne.n 80992c6 80992b2: 4ba7 ldr r3, [pc, #668] ; (8099550 ) 80992b4: 681b ldr r3, [r3, #0] 80992b6: 4aa7 ldr r2, [pc, #668] ; (8099554 ) 80992b8: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80992bc: 4ba6 ldr r3, [pc, #664] ; (8099558 ) 80992be: 681b ldr r3, [r3, #0] 80992c0: 429a cmp r2, r3 80992c2: f240 818d bls.w 80995e0 { if((ReadFileData.Aivs == 'P') || (ReadFileData.Aivs == 'Ï')) 80992c6: 4ba5 ldr r3, [pc, #660] ; (809955c ) 80992c8: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80992cc: b2db uxtb r3, r3 80992ce: 2b50 cmp r3, #80 ; 0x50 80992d0: d005 beq.n 80992de 80992d2: 4ba2 ldr r3, [pc, #648] ; (809955c ) 80992d4: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80992d8: b2db uxtb r3, r3 80992da: 2bcf cmp r3, #207 ; 0xcf 80992dc: d10c bne.n 80992f8 DrawImage(BM_PEAK[pardata.LANG], 46, 65+18); 80992de: 4ba0 ldr r3, [pc, #640] ; (8099560 ) 80992e0: 7b1b ldrb r3, [r3, #12] 80992e2: b2db uxtb r3, r3 80992e4: 461a mov r2, r3 80992e6: 4b9f ldr r3, [pc, #636] ; (8099564 ) 80992e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80992ec: 2253 movs r2, #83 ; 0x53 80992ee: 212e movs r1, #46 ; 0x2e 80992f0: 4618 mov r0, r3 80992f2: f7bc f881 bl 80553f8 80992f6: e062 b.n 80993be else if((ReadFileData.Aivs == 'S') || (ReadFileData.Aivs == 'Ñ')) 80992f8: 4b98 ldr r3, [pc, #608] ; (809955c ) 80992fa: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80992fe: b2db uxtb r3, r3 8099300: 2b53 cmp r3, #83 ; 0x53 8099302: d005 beq.n 8099310 8099304: 4b95 ldr r3, [pc, #596] ; (809955c ) 8099306: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809930a: b2db uxtb r3, r3 809930c: 2bd1 cmp r3, #209 ; 0xd1 809930e: d10c bne.n 809932a DrawImage(BM_RMS[pardata.LANG], 46, 65+18); 8099310: 4b93 ldr r3, [pc, #588] ; (8099560 ) 8099312: 7b1b ldrb r3, [r3, #12] 8099314: b2db uxtb r3, r3 8099316: 461a mov r2, r3 8099318: 4b93 ldr r3, [pc, #588] ; (8099568 ) 809931a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809931e: 2253 movs r2, #83 ; 0x53 8099320: 212e movs r1, #46 ; 0x2e 8099322: 4618 mov r0, r3 8099324: f7bc f868 bl 80553f8 8099328: e049 b.n 80993be else if((ReadFileData.Aivs == 'R') || (ReadFileData.Aivs == 'Ð')) 809932a: 4b8c ldr r3, [pc, #560] ; (809955c ) 809932c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099330: b2db uxtb r3, r3 8099332: 2b52 cmp r3, #82 ; 0x52 8099334: d005 beq.n 8099342 8099336: 4b89 ldr r3, [pc, #548] ; (809955c ) 8099338: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809933c: b2db uxtb r3, r3 809933e: 2bd0 cmp r3, #208 ; 0xd0 8099340: d10c bne.n 809935c DrawImage(BM_RAZMAH[pardata.LANG], 46, 65+18); 8099342: 4b87 ldr r3, [pc, #540] ; (8099560 ) 8099344: 7b1b ldrb r3, [r3, #12] 8099346: b2db uxtb r3, r3 8099348: 461a mov r2, r3 809934a: 4b88 ldr r3, [pc, #544] ; (809956c ) 809934c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099350: 2253 movs r2, #83 ; 0x53 8099352: 212e movs r1, #46 ; 0x2e 8099354: 4618 mov r0, r3 8099356: f7bc f84f bl 80553f8 809935a: e030 b.n 80993be else if((ReadFileData.Aivs == 'F') || (ReadFileData.Aivs == 'Ô')) 809935c: 4b7f ldr r3, [pc, #508] ; (809955c ) 809935e: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099362: b2db uxtb r3, r3 8099364: 2b46 cmp r3, #70 ; 0x46 8099366: d005 beq.n 8099374 8099368: 4b7c ldr r3, [pc, #496] ; (809955c ) 809936a: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809936e: b2db uxtb r3, r3 8099370: 2bd4 cmp r3, #212 ; 0xd4 8099372: d10c bne.n 809938e DrawImage(BM_FACTOR[pardata.LANG], 46, 65+18); 8099374: 4b7a ldr r3, [pc, #488] ; (8099560 ) 8099376: 7b1b ldrb r3, [r3, #12] 8099378: b2db uxtb r3, r3 809937a: 461a mov r2, r3 809937c: 4b7c ldr r3, [pc, #496] ; (8099570 ) 809937e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099382: 2253 movs r2, #83 ; 0x53 8099384: 212e movs r1, #46 ; 0x2e 8099386: 4618 mov r0, r3 8099388: f7bc f836 bl 80553f8 809938c: e017 b.n 80993be else if((ReadFileData.Aivs == 'E') || (ReadFileData.Aivs == 'Ý')) 809938e: 4b73 ldr r3, [pc, #460] ; (809955c ) 8099390: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099394: b2db uxtb r3, r3 8099396: 2b45 cmp r3, #69 ; 0x45 8099398: d005 beq.n 80993a6 809939a: 4b70 ldr r3, [pc, #448] ; (809955c ) 809939c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80993a0: b2db uxtb r3, r3 80993a2: 2bdd cmp r3, #221 ; 0xdd 80993a4: d10b bne.n 80993be DrawImage(BM_EXCESS[pardata.LANG], 46, 65+18); 80993a6: 4b6e ldr r3, [pc, #440] ; (8099560 ) 80993a8: 7b1b ldrb r3, [r3, #12] 80993aa: b2db uxtb r3, r3 80993ac: 461a mov r2, r3 80993ae: 4b71 ldr r3, [pc, #452] ; (8099574 ) 80993b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80993b4: 2253 movs r2, #83 ; 0x53 80993b6: 212e movs r1, #46 ; 0x2e 80993b8: 4618 mov r0, r3 80993ba: f7bc f81d bl 80553f8 if((ReadFileData.Vivs == 'P') || (ReadFileData.Vivs == 'Ï')) 80993be: 4b67 ldr r3, [pc, #412] ; (809955c ) 80993c0: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80993c4: b2db uxtb r3, r3 80993c6: 2b50 cmp r3, #80 ; 0x50 80993c8: d005 beq.n 80993d6 80993ca: 4b64 ldr r3, [pc, #400] ; (809955c ) 80993cc: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80993d0: b2db uxtb r3, r3 80993d2: 2bcf cmp r3, #207 ; 0xcf 80993d4: d10c bne.n 80993f0 DrawImage(BM_PEAK[pardata.LANG], 46, 119+8); 80993d6: 4b62 ldr r3, [pc, #392] ; (8099560 ) 80993d8: 7b1b ldrb r3, [r3, #12] 80993da: b2db uxtb r3, r3 80993dc: 461a mov r2, r3 80993de: 4b61 ldr r3, [pc, #388] ; (8099564 ) 80993e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80993e4: 227f movs r2, #127 ; 0x7f 80993e6: 212e movs r1, #46 ; 0x2e 80993e8: 4618 mov r0, r3 80993ea: f7bc f805 bl 80553f8 80993ee: e062 b.n 80994b6 else if((ReadFileData.Vivs == 'S') || (ReadFileData.Vivs == 'Ñ')) 80993f0: 4b5a ldr r3, [pc, #360] ; (809955c ) 80993f2: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80993f6: b2db uxtb r3, r3 80993f8: 2b53 cmp r3, #83 ; 0x53 80993fa: d005 beq.n 8099408 80993fc: 4b57 ldr r3, [pc, #348] ; (809955c ) 80993fe: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8099402: b2db uxtb r3, r3 8099404: 2bd1 cmp r3, #209 ; 0xd1 8099406: d10c bne.n 8099422 DrawImage(BM_RMS[pardata.LANG], 46, 119+8); 8099408: 4b55 ldr r3, [pc, #340] ; (8099560 ) 809940a: 7b1b ldrb r3, [r3, #12] 809940c: b2db uxtb r3, r3 809940e: 461a mov r2, r3 8099410: 4b55 ldr r3, [pc, #340] ; (8099568 ) 8099412: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099416: 227f movs r2, #127 ; 0x7f 8099418: 212e movs r1, #46 ; 0x2e 809941a: 4618 mov r0, r3 809941c: f7bb ffec bl 80553f8 8099420: e049 b.n 80994b6 else if((ReadFileData.Vivs == 'R') || (ReadFileData.Vivs == 'Ð')) 8099422: 4b4e ldr r3, [pc, #312] ; (809955c ) 8099424: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8099428: b2db uxtb r3, r3 809942a: 2b52 cmp r3, #82 ; 0x52 809942c: d005 beq.n 809943a 809942e: 4b4b ldr r3, [pc, #300] ; (809955c ) 8099430: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8099434: b2db uxtb r3, r3 8099436: 2bd0 cmp r3, #208 ; 0xd0 8099438: d10c bne.n 8099454 DrawImage(BM_RAZMAH[pardata.LANG], 46, 119+8); 809943a: 4b49 ldr r3, [pc, #292] ; (8099560 ) 809943c: 7b1b ldrb r3, [r3, #12] 809943e: b2db uxtb r3, r3 8099440: 461a mov r2, r3 8099442: 4b4a ldr r3, [pc, #296] ; (809956c ) 8099444: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099448: 227f movs r2, #127 ; 0x7f 809944a: 212e movs r1, #46 ; 0x2e 809944c: 4618 mov r0, r3 809944e: f7bb ffd3 bl 80553f8 8099452: e030 b.n 80994b6 else if((ReadFileData.Vivs == 'F') || (ReadFileData.Vivs == 'Ô')) 8099454: 4b41 ldr r3, [pc, #260] ; (809955c ) 8099456: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809945a: b2db uxtb r3, r3 809945c: 2b46 cmp r3, #70 ; 0x46 809945e: d005 beq.n 809946c 8099460: 4b3e ldr r3, [pc, #248] ; (809955c ) 8099462: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8099466: b2db uxtb r3, r3 8099468: 2bd4 cmp r3, #212 ; 0xd4 809946a: d10c bne.n 8099486 DrawImage(BM_FACTOR[pardata.LANG], 46, 119+8); 809946c: 4b3c ldr r3, [pc, #240] ; (8099560 ) 809946e: 7b1b ldrb r3, [r3, #12] 8099470: b2db uxtb r3, r3 8099472: 461a mov r2, r3 8099474: 4b3e ldr r3, [pc, #248] ; (8099570 ) 8099476: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809947a: 227f movs r2, #127 ; 0x7f 809947c: 212e movs r1, #46 ; 0x2e 809947e: 4618 mov r0, r3 8099480: f7bb ffba bl 80553f8 8099484: e017 b.n 80994b6 else if((ReadFileData.Vivs == 'E') || (ReadFileData.Vivs == 'Ý')) 8099486: 4b35 ldr r3, [pc, #212] ; (809955c ) 8099488: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809948c: b2db uxtb r3, r3 809948e: 2b45 cmp r3, #69 ; 0x45 8099490: d005 beq.n 809949e 8099492: 4b32 ldr r3, [pc, #200] ; (809955c ) 8099494: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8099498: b2db uxtb r3, r3 809949a: 2bdd cmp r3, #221 ; 0xdd 809949c: d10b bne.n 80994b6 DrawImage(BM_EXCESS[pardata.LANG], 46, 119+8); 809949e: 4b30 ldr r3, [pc, #192] ; (8099560 ) 80994a0: 7b1b ldrb r3, [r3, #12] 80994a2: b2db uxtb r3, r3 80994a4: 461a mov r2, r3 80994a6: 4b33 ldr r3, [pc, #204] ; (8099574 ) 80994a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80994ac: 227f movs r2, #127 ; 0x7f 80994ae: 212e movs r1, #46 ; 0x2e 80994b0: 4618 mov r0, r3 80994b2: f7bb ffa1 bl 80553f8 if((ReadFileData.Sivs == 'P') || (ReadFileData.Sivs == 'Ï')) 80994b6: 4b29 ldr r3, [pc, #164] ; (809955c ) 80994b8: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80994bc: b2db uxtb r3, r3 80994be: 2b50 cmp r3, #80 ; 0x50 80994c0: d005 beq.n 80994ce 80994c2: 4b26 ldr r3, [pc, #152] ; (809955c ) 80994c4: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80994c8: b2db uxtb r3, r3 80994ca: 2bcf cmp r3, #207 ; 0xcf 80994cc: d10c bne.n 80994e8 DrawImage(BM_PEAK[pardata.LANG], 46, 169); 80994ce: 4b24 ldr r3, [pc, #144] ; (8099560 ) 80994d0: 7b1b ldrb r3, [r3, #12] 80994d2: b2db uxtb r3, r3 80994d4: 461a mov r2, r3 80994d6: 4b23 ldr r3, [pc, #140] ; (8099564 ) 80994d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80994dc: 22a9 movs r2, #169 ; 0xa9 80994de: 212e movs r1, #46 ; 0x2e 80994e0: 4618 mov r0, r3 80994e2: f7bb ff89 bl 80553f8 80994e6: e07a b.n 80995de else if((ReadFileData.Sivs == 'S') || (ReadFileData.Sivs == 'Ñ')) 80994e8: 4b1c ldr r3, [pc, #112] ; (809955c ) 80994ea: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80994ee: b2db uxtb r3, r3 80994f0: 2b53 cmp r3, #83 ; 0x53 80994f2: d005 beq.n 8099500 80994f4: 4b19 ldr r3, [pc, #100] ; (809955c ) 80994f6: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80994fa: b2db uxtb r3, r3 80994fc: 2bd1 cmp r3, #209 ; 0xd1 80994fe: d10c bne.n 809951a DrawImage(BM_RMS[pardata.LANG], 46, 169); 8099500: 4b17 ldr r3, [pc, #92] ; (8099560 ) 8099502: 7b1b ldrb r3, [r3, #12] 8099504: b2db uxtb r3, r3 8099506: 461a mov r2, r3 8099508: 4b17 ldr r3, [pc, #92] ; (8099568 ) 809950a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809950e: 22a9 movs r2, #169 ; 0xa9 8099510: 212e movs r1, #46 ; 0x2e 8099512: 4618 mov r0, r3 8099514: f7bb ff70 bl 80553f8 8099518: e061 b.n 80995de else if((ReadFileData.Sivs == 'R') || (ReadFileData.Sivs == 'Ð')) 809951a: 4b10 ldr r3, [pc, #64] ; (809955c ) 809951c: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8099520: b2db uxtb r3, r3 8099522: 2b52 cmp r3, #82 ; 0x52 8099524: d005 beq.n 8099532 8099526: 4b0d ldr r3, [pc, #52] ; (809955c ) 8099528: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809952c: b2db uxtb r3, r3 809952e: 2bd0 cmp r3, #208 ; 0xd0 8099530: d122 bne.n 8099578 DrawImage(BM_RAZMAH[pardata.LANG], 46, 169); 8099532: 4b0b ldr r3, [pc, #44] ; (8099560 ) 8099534: 7b1b ldrb r3, [r3, #12] 8099536: b2db uxtb r3, r3 8099538: 461a mov r2, r3 809953a: 4b0c ldr r3, [pc, #48] ; (809956c ) 809953c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099540: 22a9 movs r2, #169 ; 0xa9 8099542: 212e movs r1, #46 ; 0x2e 8099544: 4618 mov r0, r3 8099546: f7bb ff57 bl 80553f8 809954a: e048 b.n 80995de 809954c: 20020dea .word 0x20020dea 8099550: 20021fe4 .word 0x20021fe4 8099554: 20022ee8 .word 0x20022ee8 8099558: 20022358 .word 0x20022358 809955c: 200226e8 .word 0x200226e8 8099560: 20023ea8 .word 0x20023ea8 8099564: 200200cc .word 0x200200cc 8099568: 200200d4 .word 0x200200d4 809956c: 200200dc .word 0x200200dc 8099570: 200200e4 .word 0x200200e4 8099574: 200200ec .word 0x200200ec else if((ReadFileData.Sivs == 'F') || (ReadFileData.Sivs == 'Ô')) 8099578: 4ba1 ldr r3, [pc, #644] ; (8099800 ) 809957a: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809957e: b2db uxtb r3, r3 8099580: 2b46 cmp r3, #70 ; 0x46 8099582: d005 beq.n 8099590 8099584: 4b9e ldr r3, [pc, #632] ; (8099800 ) 8099586: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809958a: b2db uxtb r3, r3 809958c: 2bd4 cmp r3, #212 ; 0xd4 809958e: d10c bne.n 80995aa DrawImage(BM_FACTOR[pardata.LANG], 46, 169); 8099590: 4b9c ldr r3, [pc, #624] ; (8099804 ) 8099592: 7b1b ldrb r3, [r3, #12] 8099594: b2db uxtb r3, r3 8099596: 461a mov r2, r3 8099598: 4b9b ldr r3, [pc, #620] ; (8099808 ) 809959a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809959e: 22a9 movs r2, #169 ; 0xa9 80995a0: 212e movs r1, #46 ; 0x2e 80995a2: 4618 mov r0, r3 80995a4: f7bb ff28 bl 80553f8 80995a8: e019 b.n 80995de else if((ReadFileData.Sivs == 'E') || (ReadFileData.Sivs == 'Ý')) 80995aa: 4b95 ldr r3, [pc, #596] ; (8099800 ) 80995ac: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80995b0: b2db uxtb r3, r3 80995b2: 2b45 cmp r3, #69 ; 0x45 80995b4: d006 beq.n 80995c4 80995b6: 4b92 ldr r3, [pc, #584] ; (8099800 ) 80995b8: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80995bc: b2db uxtb r3, r3 80995be: 2bdd cmp r3, #221 ; 0xdd 80995c0: f040 811a bne.w 80997f8 DrawImage(BM_EXCESS[pardata.LANG], 46, 169); 80995c4: 4b8f ldr r3, [pc, #572] ; (8099804 ) 80995c6: 7b1b ldrb r3, [r3, #12] 80995c8: b2db uxtb r3, r3 80995ca: 461a mov r2, r3 80995cc: 4b8f ldr r3, [pc, #572] ; (809980c ) 80995ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80995d2: 22a9 movs r2, #169 ; 0xa9 80995d4: 212e movs r1, #46 ; 0x2e 80995d6: 4618 mov r0, r3 80995d8: f7bb ff0e bl 80553f8 if((ReadFileData.Sivs == 'P') || (ReadFileData.Sivs == 'Ï')) 80995dc: e10c b.n 80997f8 80995de: e10b b.n 80997f8 } else { if(pardata.IVS[ACC] == PEAK) DrawImage(BM_PEAK[pardata.LANG], 46, 65+18); 80995e0: 4b88 ldr r3, [pc, #544] ; (8099804 ) 80995e2: 789b ldrb r3, [r3, #2] 80995e4: b2db uxtb r3, r3 80995e6: 2b00 cmp r3, #0 80995e8: d10c bne.n 8099604 80995ea: 4b86 ldr r3, [pc, #536] ; (8099804 ) 80995ec: 7b1b ldrb r3, [r3, #12] 80995ee: b2db uxtb r3, r3 80995f0: 461a mov r2, r3 80995f2: 4b87 ldr r3, [pc, #540] ; (8099810 ) 80995f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80995f8: 2253 movs r2, #83 ; 0x53 80995fa: 212e movs r1, #46 ; 0x2e 80995fc: 4618 mov r0, r3 80995fe: f7bb fefb bl 80553f8 8099602: e046 b.n 8099692 else if(pardata.IVS[ACC] == RMS) DrawImage(BM_RMS[pardata.LANG], 46, 65+18); 8099604: 4b7f ldr r3, [pc, #508] ; (8099804 ) 8099606: 789b ldrb r3, [r3, #2] 8099608: b2db uxtb r3, r3 809960a: 2b01 cmp r3, #1 809960c: d10c bne.n 8099628 809960e: 4b7d ldr r3, [pc, #500] ; (8099804 ) 8099610: 7b1b ldrb r3, [r3, #12] 8099612: b2db uxtb r3, r3 8099614: 461a mov r2, r3 8099616: 4b7f ldr r3, [pc, #508] ; (8099814 ) 8099618: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809961c: 2253 movs r2, #83 ; 0x53 809961e: 212e movs r1, #46 ; 0x2e 8099620: 4618 mov r0, r3 8099622: f7bb fee9 bl 80553f8 8099626: e034 b.n 8099692 else if(pardata.IVS[ACC] == PEAK_TO_PEAK) DrawImage(BM_RAZMAH[pardata.LANG], 46, 65+18); 8099628: 4b76 ldr r3, [pc, #472] ; (8099804 ) 809962a: 789b ldrb r3, [r3, #2] 809962c: b2db uxtb r3, r3 809962e: 2b02 cmp r3, #2 8099630: d10c bne.n 809964c 8099632: 4b74 ldr r3, [pc, #464] ; (8099804 ) 8099634: 7b1b ldrb r3, [r3, #12] 8099636: b2db uxtb r3, r3 8099638: 461a mov r2, r3 809963a: 4b77 ldr r3, [pc, #476] ; (8099818 ) 809963c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099640: 2253 movs r2, #83 ; 0x53 8099642: 212e movs r1, #46 ; 0x2e 8099644: 4618 mov r0, r3 8099646: f7bb fed7 bl 80553f8 809964a: e022 b.n 8099692 else if(pardata.IVS[ACC] == PEAK_FACTOR) DrawImage(BM_FACTOR[pardata.LANG], 46, 65+18); 809964c: 4b6d ldr r3, [pc, #436] ; (8099804 ) 809964e: 789b ldrb r3, [r3, #2] 8099650: b2db uxtb r3, r3 8099652: 2b03 cmp r3, #3 8099654: d10c bne.n 8099670 8099656: 4b6b ldr r3, [pc, #428] ; (8099804 ) 8099658: 7b1b ldrb r3, [r3, #12] 809965a: b2db uxtb r3, r3 809965c: 461a mov r2, r3 809965e: 4b6a ldr r3, [pc, #424] ; (8099808 ) 8099660: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099664: 2253 movs r2, #83 ; 0x53 8099666: 212e movs r1, #46 ; 0x2e 8099668: 4618 mov r0, r3 809966a: f7bb fec5 bl 80553f8 809966e: e010 b.n 8099692 else if(pardata.IVS[ACC] == EXCESS ) DrawImage(BM_EXCESS[pardata.LANG], 46, 65+18); 8099670: 4b64 ldr r3, [pc, #400] ; (8099804 ) 8099672: 789b ldrb r3, [r3, #2] 8099674: b2db uxtb r3, r3 8099676: 2b04 cmp r3, #4 8099678: d10b bne.n 8099692 809967a: 4b62 ldr r3, [pc, #392] ; (8099804 ) 809967c: 7b1b ldrb r3, [r3, #12] 809967e: b2db uxtb r3, r3 8099680: 461a mov r2, r3 8099682: 4b62 ldr r3, [pc, #392] ; (809980c ) 8099684: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099688: 2253 movs r2, #83 ; 0x53 809968a: 212e movs r1, #46 ; 0x2e 809968c: 4618 mov r0, r3 809968e: f7bb feb3 bl 80553f8 if(pardata.IVS[VEL] == PEAK) DrawImage(BM_PEAK[pardata.LANG], 46, 119+8); 8099692: 4b5c ldr r3, [pc, #368] ; (8099804 ) 8099694: 78db ldrb r3, [r3, #3] 8099696: b2db uxtb r3, r3 8099698: 2b00 cmp r3, #0 809969a: d10c bne.n 80996b6 809969c: 4b59 ldr r3, [pc, #356] ; (8099804 ) 809969e: 7b1b ldrb r3, [r3, #12] 80996a0: b2db uxtb r3, r3 80996a2: 461a mov r2, r3 80996a4: 4b5a ldr r3, [pc, #360] ; (8099810 ) 80996a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80996aa: 227f movs r2, #127 ; 0x7f 80996ac: 212e movs r1, #46 ; 0x2e 80996ae: 4618 mov r0, r3 80996b0: f7bb fea2 bl 80553f8 80996b4: e046 b.n 8099744 else if(pardata.IVS[VEL] == RMS) DrawImage(BM_RMS[pardata.LANG], 46, 119+8); 80996b6: 4b53 ldr r3, [pc, #332] ; (8099804 ) 80996b8: 78db ldrb r3, [r3, #3] 80996ba: b2db uxtb r3, r3 80996bc: 2b01 cmp r3, #1 80996be: d10c bne.n 80996da 80996c0: 4b50 ldr r3, [pc, #320] ; (8099804 ) 80996c2: 7b1b ldrb r3, [r3, #12] 80996c4: b2db uxtb r3, r3 80996c6: 461a mov r2, r3 80996c8: 4b52 ldr r3, [pc, #328] ; (8099814 ) 80996ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80996ce: 227f movs r2, #127 ; 0x7f 80996d0: 212e movs r1, #46 ; 0x2e 80996d2: 4618 mov r0, r3 80996d4: f7bb fe90 bl 80553f8 80996d8: e034 b.n 8099744 else if(pardata.IVS[VEL] == PEAK_TO_PEAK) DrawImage(BM_RAZMAH[pardata.LANG], 46, 119+8); 80996da: 4b4a ldr r3, [pc, #296] ; (8099804 ) 80996dc: 78db ldrb r3, [r3, #3] 80996de: b2db uxtb r3, r3 80996e0: 2b02 cmp r3, #2 80996e2: d10c bne.n 80996fe 80996e4: 4b47 ldr r3, [pc, #284] ; (8099804 ) 80996e6: 7b1b ldrb r3, [r3, #12] 80996e8: b2db uxtb r3, r3 80996ea: 461a mov r2, r3 80996ec: 4b4a ldr r3, [pc, #296] ; (8099818 ) 80996ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80996f2: 227f movs r2, #127 ; 0x7f 80996f4: 212e movs r1, #46 ; 0x2e 80996f6: 4618 mov r0, r3 80996f8: f7bb fe7e bl 80553f8 80996fc: e022 b.n 8099744 else if(pardata.IVS[VEL] == PEAK_FACTOR) DrawImage(BM_FACTOR[pardata.LANG], 46, 119+8); 80996fe: 4b41 ldr r3, [pc, #260] ; (8099804 ) 8099700: 78db ldrb r3, [r3, #3] 8099702: b2db uxtb r3, r3 8099704: 2b03 cmp r3, #3 8099706: d10c bne.n 8099722 8099708: 4b3e ldr r3, [pc, #248] ; (8099804 ) 809970a: 7b1b ldrb r3, [r3, #12] 809970c: b2db uxtb r3, r3 809970e: 461a mov r2, r3 8099710: 4b3d ldr r3, [pc, #244] ; (8099808 ) 8099712: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099716: 227f movs r2, #127 ; 0x7f 8099718: 212e movs r1, #46 ; 0x2e 809971a: 4618 mov r0, r3 809971c: f7bb fe6c bl 80553f8 8099720: e010 b.n 8099744 else if(pardata.IVS[VEL] == EXCESS) DrawImage(BM_EXCESS[pardata.LANG], 46, 119+8); 8099722: 4b38 ldr r3, [pc, #224] ; (8099804 ) 8099724: 78db ldrb r3, [r3, #3] 8099726: b2db uxtb r3, r3 8099728: 2b04 cmp r3, #4 809972a: d10b bne.n 8099744 809972c: 4b35 ldr r3, [pc, #212] ; (8099804 ) 809972e: 7b1b ldrb r3, [r3, #12] 8099730: b2db uxtb r3, r3 8099732: 461a mov r2, r3 8099734: 4b35 ldr r3, [pc, #212] ; (809980c ) 8099736: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809973a: 227f movs r2, #127 ; 0x7f 809973c: 212e movs r1, #46 ; 0x2e 809973e: 4618 mov r0, r3 8099740: f7bb fe5a bl 80553f8 if(pardata.IVS[DIS] == PEAK) DrawImage(BM_PEAK[pardata.LANG], 46, 169); 8099744: 4b2f ldr r3, [pc, #188] ; (8099804 ) 8099746: 791b ldrb r3, [r3, #4] 8099748: b2db uxtb r3, r3 809974a: 2b00 cmp r3, #0 809974c: d10c bne.n 8099768 809974e: 4b2d ldr r3, [pc, #180] ; (8099804 ) 8099750: 7b1b ldrb r3, [r3, #12] 8099752: b2db uxtb r3, r3 8099754: 461a mov r2, r3 8099756: 4b2e ldr r3, [pc, #184] ; (8099810 ) 8099758: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809975c: 22a9 movs r2, #169 ; 0xa9 809975e: 212e movs r1, #46 ; 0x2e 8099760: 4618 mov r0, r3 8099762: f7bb fe49 bl 80553f8 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); } } 8099766: e048 b.n 80997fa else if(pardata.IVS[DIS] == RMS) DrawImage(BM_RMS[pardata.LANG], 46, 169); 8099768: 4b26 ldr r3, [pc, #152] ; (8099804 ) 809976a: 791b ldrb r3, [r3, #4] 809976c: b2db uxtb r3, r3 809976e: 2b01 cmp r3, #1 8099770: d10c bne.n 809978c 8099772: 4b24 ldr r3, [pc, #144] ; (8099804 ) 8099774: 7b1b ldrb r3, [r3, #12] 8099776: b2db uxtb r3, r3 8099778: 461a mov r2, r3 809977a: 4b26 ldr r3, [pc, #152] ; (8099814 ) 809977c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8099780: 22a9 movs r2, #169 ; 0xa9 8099782: 212e movs r1, #46 ; 0x2e 8099784: 4618 mov r0, r3 8099786: f7bb fe37 bl 80553f8 } 809978a: e036 b.n 80997fa else if(pardata.IVS[DIS] == PEAK_TO_PEAK) DrawImage(BM_RAZMAH[pardata.LANG], 46, 169); 809978c: 4b1d ldr r3, [pc, #116] ; (8099804 ) 809978e: 791b ldrb r3, [r3, #4] 8099790: b2db uxtb r3, r3 8099792: 2b02 cmp r3, #2 8099794: d10c bne.n 80997b0 8099796: 4b1b ldr r3, [pc, #108] ; (8099804 ) 8099798: 7b1b ldrb r3, [r3, #12] 809979a: b2db uxtb r3, r3 809979c: 461a mov r2, r3 809979e: 4b1e ldr r3, [pc, #120] ; (8099818 ) 80997a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80997a4: 22a9 movs r2, #169 ; 0xa9 80997a6: 212e movs r1, #46 ; 0x2e 80997a8: 4618 mov r0, r3 80997aa: f7bb fe25 bl 80553f8 } 80997ae: e024 b.n 80997fa else if(pardata.IVS[DIS] == PEAK_FACTOR) DrawImage(BM_FACTOR[pardata.LANG], 46, 169); 80997b0: 4b14 ldr r3, [pc, #80] ; (8099804 ) 80997b2: 791b ldrb r3, [r3, #4] 80997b4: b2db uxtb r3, r3 80997b6: 2b03 cmp r3, #3 80997b8: d10c bne.n 80997d4 80997ba: 4b12 ldr r3, [pc, #72] ; (8099804 ) 80997bc: 7b1b ldrb r3, [r3, #12] 80997be: b2db uxtb r3, r3 80997c0: 461a mov r2, r3 80997c2: 4b11 ldr r3, [pc, #68] ; (8099808 ) 80997c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80997c8: 22a9 movs r2, #169 ; 0xa9 80997ca: 212e movs r1, #46 ; 0x2e 80997cc: 4618 mov r0, r3 80997ce: f7bb fe13 bl 80553f8 } 80997d2: e012 b.n 80997fa else if(pardata.IVS[DIS] == EXCESS) DrawImage(BM_EXCESS[pardata.LANG], 46, 169); 80997d4: 4b0b ldr r3, [pc, #44] ; (8099804 ) 80997d6: 791b ldrb r3, [r3, #4] 80997d8: b2db uxtb r3, r3 80997da: 2b04 cmp r3, #4 80997dc: d10d bne.n 80997fa 80997de: 4b09 ldr r3, [pc, #36] ; (8099804 ) 80997e0: 7b1b ldrb r3, [r3, #12] 80997e2: b2db uxtb r3, r3 80997e4: 461a mov r2, r3 80997e6: 4b09 ldr r3, [pc, #36] ; (809980c ) 80997e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80997ec: 22a9 movs r2, #169 ; 0xa9 80997ee: 212e movs r1, #46 ; 0x2e 80997f0: 4618 mov r0, r3 80997f2: f7bb fe01 bl 80553f8 } 80997f6: e000 b.n 80997fa if((ReadFileData.Sivs == 'P') || (ReadFileData.Sivs == 'Ï')) 80997f8: bf00 nop } 80997fa: bf00 nop 80997fc: bd80 pop {r7, pc} 80997fe: bf00 nop 8099800: 200226e8 .word 0x200226e8 8099804: 20023ea8 .word 0x20023ea8 8099808: 200200e4 .word 0x200200e4 809980c: 200200ec .word 0x200200ec 8099810: 200200cc .word 0x200200cc 8099814: 200200d4 .word 0x200200d4 8099818: 200200dc .word 0x200200dc 0809981c : void RedrawNums(void) //TODO { 809981c: b580 push {r7, lr} 809981e: b09a sub sp, #104 ; 0x68 8099820: af00 add r7, sp, #0 char *p8; TimeDate_TypeDef FatTime; uint8_t ivs[3]; bool log; log = SeeLog; 8099822: 4bbd ldr r3, [pc, #756] ; (8099b18 ) 8099824: 781b ldrb r3, [r3, #0] 8099826: f887 3067 strb.w r3, [r7, #103] ; 0x67 switch(menu) 809982a: 4bbc ldr r3, [pc, #752] ; (8099b1c ) 809982c: 781b ldrb r3, [r3, #0] 809982e: b2db uxtb r3, r3 8099830: 2b1f cmp r3, #31 8099832: f006 8706 beq.w 80a0642 8099836: 2b26 cmp r3, #38 ; 0x26 8099838: d004 beq.n 8099844 809983a: 2b00 cmp r3, #0 809983c: f002 857c beq.w 809c338 } } } break; } } 8099840: f00b b93b b.w 80a4aba if(DrawSavedData) //todo 8099844: 4bb6 ldr r3, [pc, #728] ; (8099b20 ) 8099846: 781b ldrb r3, [r3, #0] 8099848: b2db uxtb r3, r3 809984a: 2b00 cmp r3, #0 809984c: f001 8223 beq.w 809ac96 DrawImage(&bmSAVED, 298, 39); 8099850: 2227 movs r2, #39 ; 0x27 8099852: f44f 7195 mov.w r1, #298 ; 0x12a 8099856: 48b3 ldr r0, [pc, #716] ; (8099b24 ) 8099858: f7bb fdce bl 80553f8 memset(str, 0, sizeof(str)); 809985c: f107 030c add.w r3, r7, #12 8099860: 2228 movs r2, #40 ; 0x28 8099862: 2100 movs r1, #0 8099864: 4618 mov r0, r3 8099866: f037 fd9b bl 80d13a0 BSP_LCD_SetFont(&Font8); 809986a: 48af ldr r0, [pc, #700] ; (8099b28 ) 809986c: f7ba ff0c bl 8054688 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8099870: 49ae ldr r1, [pc, #696] ; (8099b2c ) 8099872: 48af ldr r0, [pc, #700] ; (8099b30 ) 8099874: f7ba fecc bl 8054610 str[0] = (DateFileData.Date / 10) + 48; 8099878: 4bae ldr r3, [pc, #696] ; (8099b34 ) 809987a: 789b ldrb r3, [r3, #2] 809987c: b2db uxtb r3, r3 809987e: 4aae ldr r2, [pc, #696] ; (8099b38 ) 8099880: fba2 2303 umull r2, r3, r2, r3 8099884: 08db lsrs r3, r3, #3 8099886: b2db uxtb r3, r3 8099888: 3330 adds r3, #48 ; 0x30 809988a: b2db uxtb r3, r3 809988c: 733b strb r3, [r7, #12] str[1] = (DateFileData.Date % 10) + 48; 809988e: 4ba9 ldr r3, [pc, #676] ; (8099b34 ) 8099890: 789b ldrb r3, [r3, #2] 8099892: b2da uxtb r2, r3 8099894: 4ba8 ldr r3, [pc, #672] ; (8099b38 ) 8099896: fba3 1302 umull r1, r3, r3, r2 809989a: 08d9 lsrs r1, r3, #3 809989c: 460b mov r3, r1 809989e: 009b lsls r3, r3, #2 80998a0: 440b add r3, r1 80998a2: 005b lsls r3, r3, #1 80998a4: 1ad3 subs r3, r2, r3 80998a6: b2db uxtb r3, r3 80998a8: 3330 adds r3, #48 ; 0x30 80998aa: b2db uxtb r3, r3 80998ac: 737b strb r3, [r7, #13] str[2] = '.'; 80998ae: 232e movs r3, #46 ; 0x2e 80998b0: 73bb strb r3, [r7, #14] str[3] = (DateFileData.Month / 10) + 48; 80998b2: 4ba0 ldr r3, [pc, #640] ; (8099b34 ) 80998b4: 785b ldrb r3, [r3, #1] 80998b6: b2db uxtb r3, r3 80998b8: 4a9f ldr r2, [pc, #636] ; (8099b38 ) 80998ba: fba2 2303 umull r2, r3, r2, r3 80998be: 08db lsrs r3, r3, #3 80998c0: b2db uxtb r3, r3 80998c2: 3330 adds r3, #48 ; 0x30 80998c4: b2db uxtb r3, r3 80998c6: 73fb strb r3, [r7, #15] str[4] = (DateFileData.Month % 10) + 48; 80998c8: 4b9a ldr r3, [pc, #616] ; (8099b34 ) 80998ca: 785b ldrb r3, [r3, #1] 80998cc: b2da uxtb r2, r3 80998ce: 4b9a ldr r3, [pc, #616] ; (8099b38 ) 80998d0: fba3 1302 umull r1, r3, r3, r2 80998d4: 08d9 lsrs r1, r3, #3 80998d6: 460b mov r3, r1 80998d8: 009b lsls r3, r3, #2 80998da: 440b add r3, r1 80998dc: 005b lsls r3, r3, #1 80998de: 1ad3 subs r3, r2, r3 80998e0: b2db uxtb r3, r3 80998e2: 3330 adds r3, #48 ; 0x30 80998e4: b2db uxtb r3, r3 80998e6: 743b strb r3, [r7, #16] str[5] = '.'; 80998e8: 232e movs r3, #46 ; 0x2e 80998ea: 747b strb r3, [r7, #17] str[6] = '2'; 80998ec: 2332 movs r3, #50 ; 0x32 80998ee: 74bb strb r3, [r7, #18] str[7] = '0'; 80998f0: 2330 movs r3, #48 ; 0x30 80998f2: 74fb strb r3, [r7, #19] str[8] = (DateFileData.Year / 10) + 48; 80998f4: 4b8f ldr r3, [pc, #572] ; (8099b34 ) 80998f6: 78db ldrb r3, [r3, #3] 80998f8: b2db uxtb r3, r3 80998fa: 4a8f ldr r2, [pc, #572] ; (8099b38 ) 80998fc: fba2 2303 umull r2, r3, r2, r3 8099900: 08db lsrs r3, r3, #3 8099902: b2db uxtb r3, r3 8099904: 3330 adds r3, #48 ; 0x30 8099906: b2db uxtb r3, r3 8099908: 753b strb r3, [r7, #20] str[9] = (DateFileData.Year % 10) + 48; 809990a: 4b8a ldr r3, [pc, #552] ; (8099b34 ) 809990c: 78db ldrb r3, [r3, #3] 809990e: b2da uxtb r2, r3 8099910: 4b89 ldr r3, [pc, #548] ; (8099b38 ) 8099912: fba3 1302 umull r1, r3, r3, r2 8099916: 08d9 lsrs r1, r3, #3 8099918: 460b mov r3, r1 809991a: 009b lsls r3, r3, #2 809991c: 440b add r3, r1 809991e: 005b lsls r3, r3, #1 8099920: 1ad3 subs r3, r2, r3 8099922: b2db uxtb r3, r3 8099924: 3330 adds r3, #48 ; 0x30 8099926: b2db uxtb r3, r3 8099928: 757b strb r3, [r7, #21] BSP_LCD_DisplayStringAt(295, 42, str, RIGHT_MODE); 809992a: f107 020c add.w r2, r7, #12 809992e: 2302 movs r3, #2 8099930: 212a movs r1, #42 ; 0x2a 8099932: f240 1027 movw r0, #295 ; 0x127 8099936: f7ba ff31 bl 805479c memset(str, 0, sizeof(str)); 809993a: f107 030c add.w r3, r7, #12 809993e: 2228 movs r2, #40 ; 0x28 8099940: 2100 movs r1, #0 8099942: 4618 mov r0, r3 8099944: f037 fd2c bl 80d13a0 str[0] = (TimeFileData.Hours / 10) + 48; 8099948: 4b7c ldr r3, [pc, #496] ; (8099b3c ) 809994a: 781b ldrb r3, [r3, #0] 809994c: b2db uxtb r3, r3 809994e: 4a7a ldr r2, [pc, #488] ; (8099b38 ) 8099950: fba2 2303 umull r2, r3, r2, r3 8099954: 08db lsrs r3, r3, #3 8099956: b2db uxtb r3, r3 8099958: 3330 adds r3, #48 ; 0x30 809995a: b2db uxtb r3, r3 809995c: 733b strb r3, [r7, #12] str[1] = (TimeFileData.Hours % 10) + 48; 809995e: 4b77 ldr r3, [pc, #476] ; (8099b3c ) 8099960: 781b ldrb r3, [r3, #0] 8099962: b2da uxtb r2, r3 8099964: 4b74 ldr r3, [pc, #464] ; (8099b38 ) 8099966: fba3 1302 umull r1, r3, r3, r2 809996a: 08d9 lsrs r1, r3, #3 809996c: 460b mov r3, r1 809996e: 009b lsls r3, r3, #2 8099970: 440b add r3, r1 8099972: 005b lsls r3, r3, #1 8099974: 1ad3 subs r3, r2, r3 8099976: b2db uxtb r3, r3 8099978: 3330 adds r3, #48 ; 0x30 809997a: b2db uxtb r3, r3 809997c: 737b strb r3, [r7, #13] str[2] = ':'; 809997e: 233a movs r3, #58 ; 0x3a 8099980: 73bb strb r3, [r7, #14] str[3] = (TimeFileData.Minutes / 10) + 48; 8099982: 4b6e ldr r3, [pc, #440] ; (8099b3c ) 8099984: 785b ldrb r3, [r3, #1] 8099986: b2db uxtb r3, r3 8099988: 4a6b ldr r2, [pc, #428] ; (8099b38 ) 809998a: fba2 2303 umull r2, r3, r2, r3 809998e: 08db lsrs r3, r3, #3 8099990: b2db uxtb r3, r3 8099992: 3330 adds r3, #48 ; 0x30 8099994: b2db uxtb r3, r3 8099996: 73fb strb r3, [r7, #15] str[4] = (TimeFileData.Minutes % 10) + 48; 8099998: 4b68 ldr r3, [pc, #416] ; (8099b3c ) 809999a: 785b ldrb r3, [r3, #1] 809999c: b2da uxtb r2, r3 809999e: 4b66 ldr r3, [pc, #408] ; (8099b38 ) 80999a0: fba3 1302 umull r1, r3, r3, r2 80999a4: 08d9 lsrs r1, r3, #3 80999a6: 460b mov r3, r1 80999a8: 009b lsls r3, r3, #2 80999aa: 440b add r3, r1 80999ac: 005b lsls r3, r3, #1 80999ae: 1ad3 subs r3, r2, r3 80999b0: b2db uxtb r3, r3 80999b2: 3330 adds r3, #48 ; 0x30 80999b4: b2db uxtb r3, r3 80999b6: 743b strb r3, [r7, #16] str[5] = ':'; 80999b8: 233a movs r3, #58 ; 0x3a 80999ba: 747b strb r3, [r7, #17] str[6] = (TimeFileData.Seconds / 10) + 48; 80999bc: 4b5f ldr r3, [pc, #380] ; (8099b3c ) 80999be: 789b ldrb r3, [r3, #2] 80999c0: b2db uxtb r3, r3 80999c2: 4a5d ldr r2, [pc, #372] ; (8099b38 ) 80999c4: fba2 2303 umull r2, r3, r2, r3 80999c8: 08db lsrs r3, r3, #3 80999ca: b2db uxtb r3, r3 80999cc: 3330 adds r3, #48 ; 0x30 80999ce: b2db uxtb r3, r3 80999d0: 74bb strb r3, [r7, #18] str[7] = (TimeFileData.Seconds % 10) + 48; 80999d2: 4b5a ldr r3, [pc, #360] ; (8099b3c ) 80999d4: 789b ldrb r3, [r3, #2] 80999d6: b2da uxtb r2, r3 80999d8: 4b57 ldr r3, [pc, #348] ; (8099b38 ) 80999da: fba3 1302 umull r1, r3, r3, r2 80999de: 08d9 lsrs r1, r3, #3 80999e0: 460b mov r3, r1 80999e2: 009b lsls r3, r3, #2 80999e4: 440b add r3, r1 80999e6: 005b lsls r3, r3, #1 80999e8: 1ad3 subs r3, r2, r3 80999ea: b2db uxtb r3, r3 80999ec: 3330 adds r3, #48 ; 0x30 80999ee: b2db uxtb r3, r3 80999f0: 74fb strb r3, [r7, #19] BSP_LCD_DisplayStringAt(295, 52, str, RIGHT_MODE); 80999f2: f107 020c add.w r2, r7, #12 80999f6: 2302 movs r3, #2 80999f8: 2134 movs r1, #52 ; 0x34 80999fa: f240 1027 movw r0, #295 ; 0x127 80999fe: f7ba fecd bl 805479c BSP_LCD_SetFont(&Font12); 8099a02: 484f ldr r0, [pc, #316] ; (8099b40 ) 8099a04: f7ba fe40 bl 8054688 if((DrawSavedData) || (NextIndexMeas < IndexMeas[NextIndexPoint])) 8099a08: 4b45 ldr r3, [pc, #276] ; (8099b20 ) 8099a0a: 781b ldrb r3, [r3, #0] 8099a0c: b2db uxtb r3, r3 8099a0e: 2b00 cmp r3, #0 8099a10: d109 bne.n 8099a26 8099a12: 4b4c ldr r3, [pc, #304] ; (8099b44 ) 8099a14: 681b ldr r3, [r3, #0] 8099a16: 4a4c ldr r2, [pc, #304] ; (8099b48 ) 8099a18: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8099a1c: 4b4b ldr r3, [pc, #300] ; (8099b4c ) 8099a1e: 681b ldr r3, [r3, #0] 8099a20: 429a cmp r2, r3 8099a22: f24b 8045 bls.w 80a4ab0 memset(str, 0, sizeof(str)); 8099a26: f107 030c add.w r3, r7, #12 8099a2a: 2228 movs r2, #40 ; 0x28 8099a2c: 2100 movs r1, #0 8099a2e: 4618 mov r0, r3 8099a30: f037 fcb6 bl 80d13a0 if(DiagnFileData.d_Op1_ipr) 8099a34: 4b46 ldr r3, [pc, #280] ; (8099b50 ) 8099a36: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8099a3a: b2db uxtb r3, r3 8099a3c: 2b00 cmp r3, #0 8099a3e: f000 8101 beq.w 8099c44 switch(DiagnFileData.d_Op1_ipr) 8099a42: 4b43 ldr r3, [pc, #268] ; (8099b50 ) 8099a44: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8099a48: b2db uxtb r3, r3 8099a4a: 2b02 cmp r3, #2 8099a4c: d049 beq.n 8099ae2 8099a4e: 2b04 cmp r3, #4 8099a50: f000 80b3 beq.w 8099bba 8099a54: 2b01 cmp r3, #1 8099a56: f040 80fb bne.w 8099c50 switch(DiagnFileData.d_Op1_ivs) 8099a5a: 4b3d ldr r3, [pc, #244] ; (8099b50 ) 8099a5c: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8099a60: b2db uxtb r3, r3 8099a62: 2b53 cmp r3, #83 ; 0x53 8099a64: d020 beq.n 8099aa8 8099a66: 2b53 cmp r3, #83 ; 0x53 8099a68: dc0b bgt.n 8099a82 8099a6a: 2b46 cmp r3, #70 ; 0x46 8099a6c: d02a beq.n 8099ac4 8099a6e: 2b46 cmp r3, #70 ; 0x46 8099a70: dc02 bgt.n 8099a78 8099a72: 2b45 cmp r3, #69 ; 0x45 8099a74: d02d beq.n 8099ad2 break; 8099a76: e0eb b.n 8099c50 switch(DiagnFileData.d_Op1_ivs) 8099a78: 2b50 cmp r3, #80 ; 0x50 8099a7a: d00e beq.n 8099a9a 8099a7c: 2b52 cmp r3, #82 ; 0x52 8099a7e: d01a beq.n 8099ab6 break; 8099a80: e0e6 b.n 8099c50 switch(DiagnFileData.d_Op1_ivs) 8099a82: 2bd0 cmp r3, #208 ; 0xd0 8099a84: d017 beq.n 8099ab6 8099a86: 2bd0 cmp r3, #208 ; 0xd0 8099a88: dc02 bgt.n 8099a90 8099a8a: 2bcf cmp r3, #207 ; 0xcf 8099a8c: d005 beq.n 8099a9a break; 8099a8e: e0df b.n 8099c50 switch(DiagnFileData.d_Op1_ivs) 8099a90: 2bd1 cmp r3, #209 ; 0xd1 8099a92: d009 beq.n 8099aa8 8099a94: 2bd4 cmp r3, #212 ; 0xd4 8099a96: d015 beq.n 8099ac4 break; 8099a98: e0da b.n 8099c50 BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê]", LEFT_MODE); 8099a9a: 2303 movs r3, #3 8099a9c: 4a2d ldr r2, [pc, #180] ; (8099b54 ) 8099a9e: 2165 movs r1, #101 ; 0x65 8099aa0: 201e movs r0, #30 8099aa2: f7ba fe7b bl 805479c break; 8099aa6: e01b b.n 8099ae0 BSP_LCD_DisplayStringAt( 30, 101, "A[ñêç]", LEFT_MODE); 8099aa8: 2303 movs r3, #3 8099aaa: 4a2b ldr r2, [pc, #172] ; (8099b58 ) 8099aac: 2165 movs r1, #101 ; 0x65 8099aae: 201e movs r0, #30 8099ab0: f7ba fe74 bl 805479c break; 8099ab4: e014 b.n 8099ae0 BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê-ïèê]", LEFT_MODE); 8099ab6: 2303 movs r3, #3 8099ab8: 4a28 ldr r2, [pc, #160] ; (8099b5c ) 8099aba: 2165 movs r1, #101 ; 0x65 8099abc: 201e movs r0, #30 8099abe: f7ba fe6d bl 805479c break; 8099ac2: e00d b.n 8099ae0 BSP_LCD_DisplayStringAt( 30, 101, "A[ïô]", LEFT_MODE); 8099ac4: 2303 movs r3, #3 8099ac6: 4a26 ldr r2, [pc, #152] ; (8099b60 ) 8099ac8: 2165 movs r1, #101 ; 0x65 8099aca: 201e movs r0, #30 8099acc: f7ba fe66 bl 805479c break; 8099ad0: e006 b.n 8099ae0 BSP_LCD_DisplayStringAt( 30, 101, "A[ýêñö]", LEFT_MODE); 8099ad2: 2303 movs r3, #3 8099ad4: 4a23 ldr r2, [pc, #140] ; (8099b64 ) 8099ad6: 2165 movs r1, #101 ; 0x65 8099ad8: 201e movs r0, #30 8099ada: f7ba fe5f bl 805479c break; 8099ade: bf00 nop break; 8099ae0: e0b6 b.n 8099c50 switch(DiagnFileData.d_Op1_ivs) 8099ae2: 4b1b ldr r3, [pc, #108] ; (8099b50 ) 8099ae4: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8099ae8: b2db uxtb r3, r3 8099aea: 2b53 cmp r3, #83 ; 0x53 8099aec: d048 beq.n 8099b80 8099aee: 2b53 cmp r3, #83 ; 0x53 8099af0: dc0b bgt.n 8099b0a 8099af2: 2b46 cmp r3, #70 ; 0x46 8099af4: d052 beq.n 8099b9c 8099af6: 2b46 cmp r3, #70 ; 0x46 8099af8: dc02 bgt.n 8099b00 8099afa: 2b45 cmp r3, #69 ; 0x45 8099afc: d055 beq.n 8099baa break; 8099afe: e0a7 b.n 8099c50 switch(DiagnFileData.d_Op1_ivs) 8099b00: 2b50 cmp r3, #80 ; 0x50 8099b02: d036 beq.n 8099b72 8099b04: 2b52 cmp r3, #82 ; 0x52 8099b06: d042 beq.n 8099b8e break; 8099b08: e0a2 b.n 8099c50 switch(DiagnFileData.d_Op1_ivs) 8099b0a: 2bd0 cmp r3, #208 ; 0xd0 8099b0c: d03f beq.n 8099b8e 8099b0e: 2bd0 cmp r3, #208 ; 0xd0 8099b10: dc2a bgt.n 8099b68 8099b12: 2bcf cmp r3, #207 ; 0xcf 8099b14: d02d beq.n 8099b72 break; 8099b16: e09b b.n 8099c50 8099b18: 20020fbc .word 0x20020fbc 8099b1c: 20020fbd .word 0x20020fbd 8099b20: 20020dea .word 0x20020dea 8099b24: 0814be4c .word 0x0814be4c 8099b28: 20020060 .word 0x20020060 8099b2c: ff0a0f1f .word 0xff0a0f1f 8099b30: ffd3d3d3 .word 0xffd3d3d3 8099b34: 20022638 .word 0x20022638 8099b38: cccccccd .word 0xcccccccd 8099b3c: 200229b0 .word 0x200229b0 8099b40: 20020038 .word 0x20020038 8099b44: 20021fe4 .word 0x20021fe4 8099b48: 20022ee8 .word 0x20022ee8 8099b4c: 20022358 .word 0x20022358 8099b50: 2002263c .word 0x2002263c 8099b54: 080d4c7c .word 0x080d4c7c 8099b58: 080d4c84 .word 0x080d4c84 8099b5c: 080d4c8c .word 0x080d4c8c 8099b60: 080d4c98 .word 0x080d4c98 8099b64: 080d4ca0 .word 0x080d4ca0 switch(DiagnFileData.d_Op1_ivs) 8099b68: 2bd1 cmp r3, #209 ; 0xd1 8099b6a: d009 beq.n 8099b80 8099b6c: 2bd4 cmp r3, #212 ; 0xd4 8099b6e: d015 beq.n 8099b9c break; 8099b70: e06e b.n 8099c50 BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê]", LEFT_MODE); 8099b72: 2303 movs r3, #3 8099b74: 4aaa ldr r2, [pc, #680] ; (8099e20 ) 8099b76: 2165 movs r1, #101 ; 0x65 8099b78: 201e movs r0, #30 8099b7a: f7ba fe0f bl 805479c break; 8099b7e: e01b b.n 8099bb8 BSP_LCD_DisplayStringAt( 30, 101, "V[ñêç]", LEFT_MODE); 8099b80: 2303 movs r3, #3 8099b82: 4aa8 ldr r2, [pc, #672] ; (8099e24 ) 8099b84: 2165 movs r1, #101 ; 0x65 8099b86: 201e movs r0, #30 8099b88: f7ba fe08 bl 805479c break; 8099b8c: e014 b.n 8099bb8 BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê-ïèê]", LEFT_MODE); 8099b8e: 2303 movs r3, #3 8099b90: 4aa5 ldr r2, [pc, #660] ; (8099e28 ) 8099b92: 2165 movs r1, #101 ; 0x65 8099b94: 201e movs r0, #30 8099b96: f7ba fe01 bl 805479c break; 8099b9a: e00d b.n 8099bb8 BSP_LCD_DisplayStringAt( 30, 101, "V[ïô]", LEFT_MODE); 8099b9c: 2303 movs r3, #3 8099b9e: 4aa3 ldr r2, [pc, #652] ; (8099e2c ) 8099ba0: 2165 movs r1, #101 ; 0x65 8099ba2: 201e movs r0, #30 8099ba4: f7ba fdfa bl 805479c break; 8099ba8: e006 b.n 8099bb8 BSP_LCD_DisplayStringAt( 30, 101, "V[ýêñö]", LEFT_MODE); 8099baa: 2303 movs r3, #3 8099bac: 4aa0 ldr r2, [pc, #640] ; (8099e30 ) 8099bae: 2165 movs r1, #101 ; 0x65 8099bb0: 201e movs r0, #30 8099bb2: f7ba fdf3 bl 805479c break; 8099bb6: bf00 nop break; 8099bb8: e04a b.n 8099c50 switch(DiagnFileData.d_Op1_ivs) 8099bba: 4b9e ldr r3, [pc, #632] ; (8099e34 ) 8099bbc: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8099bc0: b2db uxtb r3, r3 8099bc2: 2b53 cmp r3, #83 ; 0x53 8099bc4: d020 beq.n 8099c08 8099bc6: 2b53 cmp r3, #83 ; 0x53 8099bc8: dc0b bgt.n 8099be2 8099bca: 2b46 cmp r3, #70 ; 0x46 8099bcc: d02a beq.n 8099c24 8099bce: 2b46 cmp r3, #70 ; 0x46 8099bd0: dc02 bgt.n 8099bd8 8099bd2: 2b45 cmp r3, #69 ; 0x45 8099bd4: d02d beq.n 8099c32 break; 8099bd6: e03b b.n 8099c50 switch(DiagnFileData.d_Op1_ivs) 8099bd8: 2b50 cmp r3, #80 ; 0x50 8099bda: d00e beq.n 8099bfa 8099bdc: 2b52 cmp r3, #82 ; 0x52 8099bde: d01a beq.n 8099c16 break; 8099be0: e036 b.n 8099c50 switch(DiagnFileData.d_Op1_ivs) 8099be2: 2bd0 cmp r3, #208 ; 0xd0 8099be4: d017 beq.n 8099c16 8099be6: 2bd0 cmp r3, #208 ; 0xd0 8099be8: dc02 bgt.n 8099bf0 8099bea: 2bcf cmp r3, #207 ; 0xcf 8099bec: d005 beq.n 8099bfa break; 8099bee: e02f b.n 8099c50 switch(DiagnFileData.d_Op1_ivs) 8099bf0: 2bd1 cmp r3, #209 ; 0xd1 8099bf2: d009 beq.n 8099c08 8099bf4: 2bd4 cmp r3, #212 ; 0xd4 8099bf6: d015 beq.n 8099c24 break; 8099bf8: e02a b.n 8099c50 BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê]", LEFT_MODE); 8099bfa: 2303 movs r3, #3 8099bfc: 4a8e ldr r2, [pc, #568] ; (8099e38 ) 8099bfe: 2165 movs r1, #101 ; 0x65 8099c00: 201e movs r0, #30 8099c02: f7ba fdcb bl 805479c break; 8099c06: e01b b.n 8099c40 BSP_LCD_DisplayStringAt( 30, 101, "S[ñêç]", LEFT_MODE); 8099c08: 2303 movs r3, #3 8099c0a: 4a8c ldr r2, [pc, #560] ; (8099e3c ) 8099c0c: 2165 movs r1, #101 ; 0x65 8099c0e: 201e movs r0, #30 8099c10: f7ba fdc4 bl 805479c break; 8099c14: e014 b.n 8099c40 BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê-ïèê]", LEFT_MODE); 8099c16: 2303 movs r3, #3 8099c18: 4a89 ldr r2, [pc, #548] ; (8099e40 ) 8099c1a: 2165 movs r1, #101 ; 0x65 8099c1c: 201e movs r0, #30 8099c1e: f7ba fdbd bl 805479c break; 8099c22: e00d b.n 8099c40 BSP_LCD_DisplayStringAt( 30, 101, "S[ïô]", LEFT_MODE); 8099c24: 2303 movs r3, #3 8099c26: 4a87 ldr r2, [pc, #540] ; (8099e44 ) 8099c28: 2165 movs r1, #101 ; 0x65 8099c2a: 201e movs r0, #30 8099c2c: f7ba fdb6 bl 805479c break; 8099c30: e006 b.n 8099c40 BSP_LCD_DisplayStringAt( 30, 101, "S[ýêñö]", LEFT_MODE); 8099c32: 2303 movs r3, #3 8099c34: 4a84 ldr r2, [pc, #528] ; (8099e48 ) 8099c36: 2165 movs r1, #101 ; 0x65 8099c38: 201e movs r0, #30 8099c3a: f7ba fdaf bl 805479c break; 8099c3e: bf00 nop break; 8099c40: bf00 nop 8099c42: e005 b.n 8099c50 BSP_LCD_DisplayStringAt(30, 101, "----", LEFT_MODE); 8099c44: 2303 movs r3, #3 8099c46: 4a81 ldr r2, [pc, #516] ; (8099e4c ) 8099c48: 2165 movs r1, #101 ; 0x65 8099c4a: 201e movs r0, #30 8099c4c: f7ba fda6 bl 805479c memset(str, 0, sizeof(str)); 8099c50: f107 030c add.w r3, r7, #12 8099c54: 2228 movs r2, #40 ; 0x28 8099c56: 2100 movs r1, #0 8099c58: 4618 mov r0, r3 8099c5a: f037 fba1 bl 80d13a0 if(DiagnFileData.d_Op2_ipr) 8099c5e: 4b75 ldr r3, [pc, #468] ; (8099e34 ) 8099c60: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8099c64: b2db uxtb r3, r3 8099c66: 2b00 cmp r3, #0 8099c68: f000 80fc beq.w 8099e64 switch(DiagnFileData.d_Op2_ipr) 8099c6c: 4b71 ldr r3, [pc, #452] ; (8099e34 ) 8099c6e: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8099c72: b2db uxtb r3, r3 8099c74: 2b02 cmp r3, #2 8099c76: d049 beq.n 8099d0c 8099c78: 2b04 cmp r3, #4 8099c7a: f000 808b beq.w 8099d94 8099c7e: 2b01 cmp r3, #1 8099c80: f040 80f6 bne.w 8099e70 switch(DiagnFileData.d_Op2_ivs) 8099c84: 4b6b ldr r3, [pc, #428] ; (8099e34 ) 8099c86: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099c8a: b2db uxtb r3, r3 8099c8c: 2b53 cmp r3, #83 ; 0x53 8099c8e: d020 beq.n 8099cd2 8099c90: 2b53 cmp r3, #83 ; 0x53 8099c92: dc0b bgt.n 8099cac 8099c94: 2b46 cmp r3, #70 ; 0x46 8099c96: d02a beq.n 8099cee 8099c98: 2b46 cmp r3, #70 ; 0x46 8099c9a: dc02 bgt.n 8099ca2 8099c9c: 2b45 cmp r3, #69 ; 0x45 8099c9e: d02d beq.n 8099cfc break; 8099ca0: e0e6 b.n 8099e70 switch(DiagnFileData.d_Op2_ivs) 8099ca2: 2b50 cmp r3, #80 ; 0x50 8099ca4: d00e beq.n 8099cc4 8099ca6: 2b52 cmp r3, #82 ; 0x52 8099ca8: d01a beq.n 8099ce0 break; 8099caa: e0e1 b.n 8099e70 switch(DiagnFileData.d_Op2_ivs) 8099cac: 2bd0 cmp r3, #208 ; 0xd0 8099cae: d017 beq.n 8099ce0 8099cb0: 2bd0 cmp r3, #208 ; 0xd0 8099cb2: dc02 bgt.n 8099cba 8099cb4: 2bcf cmp r3, #207 ; 0xcf 8099cb6: d005 beq.n 8099cc4 break; 8099cb8: e0da b.n 8099e70 switch(DiagnFileData.d_Op2_ivs) 8099cba: 2bd1 cmp r3, #209 ; 0xd1 8099cbc: d009 beq.n 8099cd2 8099cbe: 2bd4 cmp r3, #212 ; 0xd4 8099cc0: d015 beq.n 8099cee break; 8099cc2: e0d5 b.n 8099e70 BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê]", LEFT_MODE); 8099cc4: 2303 movs r3, #3 8099cc6: 4a62 ldr r2, [pc, #392] ; (8099e50 ) 8099cc8: 2189 movs r1, #137 ; 0x89 8099cca: 201e movs r0, #30 8099ccc: f7ba fd66 bl 805479c break; 8099cd0: e01b b.n 8099d0a BSP_LCD_DisplayStringAt( 30, 137, "A[ñêç]", LEFT_MODE); 8099cd2: 2303 movs r3, #3 8099cd4: 4a5f ldr r2, [pc, #380] ; (8099e54 ) 8099cd6: 2189 movs r1, #137 ; 0x89 8099cd8: 201e movs r0, #30 8099cda: f7ba fd5f bl 805479c break; 8099cde: e014 b.n 8099d0a BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê-ïèê]", LEFT_MODE); 8099ce0: 2303 movs r3, #3 8099ce2: 4a5d ldr r2, [pc, #372] ; (8099e58 ) 8099ce4: 2189 movs r1, #137 ; 0x89 8099ce6: 201e movs r0, #30 8099ce8: f7ba fd58 bl 805479c break; 8099cec: e00d b.n 8099d0a BSP_LCD_DisplayStringAt( 30, 137, "A[ïô]", LEFT_MODE); 8099cee: 2303 movs r3, #3 8099cf0: 4a5a ldr r2, [pc, #360] ; (8099e5c ) 8099cf2: 2189 movs r1, #137 ; 0x89 8099cf4: 201e movs r0, #30 8099cf6: f7ba fd51 bl 805479c break; 8099cfa: e006 b.n 8099d0a BSP_LCD_DisplayStringAt( 30, 137, "A[ýêñö]", LEFT_MODE); 8099cfc: 2303 movs r3, #3 8099cfe: 4a58 ldr r2, [pc, #352] ; (8099e60 ) 8099d00: 2189 movs r1, #137 ; 0x89 8099d02: 201e movs r0, #30 8099d04: f7ba fd4a bl 805479c break; 8099d08: bf00 nop break; 8099d0a: e0b1 b.n 8099e70 switch(DiagnFileData.d_Op2_ivs) 8099d0c: 4b49 ldr r3, [pc, #292] ; (8099e34 ) 8099d0e: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099d12: b2db uxtb r3, r3 8099d14: 2b53 cmp r3, #83 ; 0x53 8099d16: d020 beq.n 8099d5a 8099d18: 2b53 cmp r3, #83 ; 0x53 8099d1a: dc0b bgt.n 8099d34 8099d1c: 2b46 cmp r3, #70 ; 0x46 8099d1e: d02a beq.n 8099d76 8099d20: 2b46 cmp r3, #70 ; 0x46 8099d22: dc02 bgt.n 8099d2a 8099d24: 2b45 cmp r3, #69 ; 0x45 8099d26: d02d beq.n 8099d84 break; 8099d28: e0a2 b.n 8099e70 switch(DiagnFileData.d_Op2_ivs) 8099d2a: 2b50 cmp r3, #80 ; 0x50 8099d2c: d00e beq.n 8099d4c 8099d2e: 2b52 cmp r3, #82 ; 0x52 8099d30: d01a beq.n 8099d68 break; 8099d32: e09d b.n 8099e70 switch(DiagnFileData.d_Op2_ivs) 8099d34: 2bd0 cmp r3, #208 ; 0xd0 8099d36: d017 beq.n 8099d68 8099d38: 2bd0 cmp r3, #208 ; 0xd0 8099d3a: dc02 bgt.n 8099d42 8099d3c: 2bcf cmp r3, #207 ; 0xcf 8099d3e: d005 beq.n 8099d4c break; 8099d40: e096 b.n 8099e70 switch(DiagnFileData.d_Op2_ivs) 8099d42: 2bd1 cmp r3, #209 ; 0xd1 8099d44: d009 beq.n 8099d5a 8099d46: 2bd4 cmp r3, #212 ; 0xd4 8099d48: d015 beq.n 8099d76 break; 8099d4a: e091 b.n 8099e70 BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê]", LEFT_MODE); 8099d4c: 2303 movs r3, #3 8099d4e: 4a34 ldr r2, [pc, #208] ; (8099e20 ) 8099d50: 2189 movs r1, #137 ; 0x89 8099d52: 201e movs r0, #30 8099d54: f7ba fd22 bl 805479c break; 8099d58: e01b b.n 8099d92 BSP_LCD_DisplayStringAt( 30, 137, "V[ñêç]", LEFT_MODE); 8099d5a: 2303 movs r3, #3 8099d5c: 4a31 ldr r2, [pc, #196] ; (8099e24 ) 8099d5e: 2189 movs r1, #137 ; 0x89 8099d60: 201e movs r0, #30 8099d62: f7ba fd1b bl 805479c break; 8099d66: e014 b.n 8099d92 BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê-ïèê]", LEFT_MODE); 8099d68: 2303 movs r3, #3 8099d6a: 4a2f ldr r2, [pc, #188] ; (8099e28 ) 8099d6c: 2189 movs r1, #137 ; 0x89 8099d6e: 201e movs r0, #30 8099d70: f7ba fd14 bl 805479c break; 8099d74: e00d b.n 8099d92 BSP_LCD_DisplayStringAt( 30, 137, "V[ïô]", LEFT_MODE); 8099d76: 2303 movs r3, #3 8099d78: 4a2c ldr r2, [pc, #176] ; (8099e2c ) 8099d7a: 2189 movs r1, #137 ; 0x89 8099d7c: 201e movs r0, #30 8099d7e: f7ba fd0d bl 805479c break; 8099d82: e006 b.n 8099d92 BSP_LCD_DisplayStringAt( 30, 137, "V[ýêñö]", LEFT_MODE); 8099d84: 2303 movs r3, #3 8099d86: 4a2a ldr r2, [pc, #168] ; (8099e30 ) 8099d88: 2189 movs r1, #137 ; 0x89 8099d8a: 201e movs r0, #30 8099d8c: f7ba fd06 bl 805479c break; 8099d90: bf00 nop break; 8099d92: e06d b.n 8099e70 switch(DiagnFileData.d_Op2_ivs) 8099d94: 4b27 ldr r3, [pc, #156] ; (8099e34 ) 8099d96: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8099d9a: b2db uxtb r3, r3 8099d9c: 2b53 cmp r3, #83 ; 0x53 8099d9e: d020 beq.n 8099de2 8099da0: 2b53 cmp r3, #83 ; 0x53 8099da2: dc0b bgt.n 8099dbc 8099da4: 2b46 cmp r3, #70 ; 0x46 8099da6: d02a beq.n 8099dfe 8099da8: 2b46 cmp r3, #70 ; 0x46 8099daa: dc02 bgt.n 8099db2 8099dac: 2b45 cmp r3, #69 ; 0x45 8099dae: d02d beq.n 8099e0c break; 8099db0: e05e b.n 8099e70 switch(DiagnFileData.d_Op2_ivs) 8099db2: 2b50 cmp r3, #80 ; 0x50 8099db4: d00e beq.n 8099dd4 8099db6: 2b52 cmp r3, #82 ; 0x52 8099db8: d01a beq.n 8099df0 break; 8099dba: e059 b.n 8099e70 switch(DiagnFileData.d_Op2_ivs) 8099dbc: 2bd0 cmp r3, #208 ; 0xd0 8099dbe: d017 beq.n 8099df0 8099dc0: 2bd0 cmp r3, #208 ; 0xd0 8099dc2: dc02 bgt.n 8099dca 8099dc4: 2bcf cmp r3, #207 ; 0xcf 8099dc6: d005 beq.n 8099dd4 break; 8099dc8: e052 b.n 8099e70 switch(DiagnFileData.d_Op2_ivs) 8099dca: 2bd1 cmp r3, #209 ; 0xd1 8099dcc: d009 beq.n 8099de2 8099dce: 2bd4 cmp r3, #212 ; 0xd4 8099dd0: d015 beq.n 8099dfe break; 8099dd2: e04d b.n 8099e70 BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê]", LEFT_MODE); 8099dd4: 2303 movs r3, #3 8099dd6: 4a18 ldr r2, [pc, #96] ; (8099e38 ) 8099dd8: 2189 movs r1, #137 ; 0x89 8099dda: 201e movs r0, #30 8099ddc: f7ba fcde bl 805479c break; 8099de0: e01b b.n 8099e1a BSP_LCD_DisplayStringAt( 30, 137, "S[ñêç]", LEFT_MODE); 8099de2: 2303 movs r3, #3 8099de4: 4a15 ldr r2, [pc, #84] ; (8099e3c ) 8099de6: 2189 movs r1, #137 ; 0x89 8099de8: 201e movs r0, #30 8099dea: f7ba fcd7 bl 805479c break; 8099dee: e014 b.n 8099e1a BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê-ïèê]", LEFT_MODE); 8099df0: 2303 movs r3, #3 8099df2: 4a13 ldr r2, [pc, #76] ; (8099e40 ) 8099df4: 2189 movs r1, #137 ; 0x89 8099df6: 201e movs r0, #30 8099df8: f7ba fcd0 bl 805479c break; 8099dfc: e00d b.n 8099e1a BSP_LCD_DisplayStringAt( 30, 137, "S[ïô]", LEFT_MODE); 8099dfe: 2303 movs r3, #3 8099e00: 4a10 ldr r2, [pc, #64] ; (8099e44 ) 8099e02: 2189 movs r1, #137 ; 0x89 8099e04: 201e movs r0, #30 8099e06: f7ba fcc9 bl 805479c break; 8099e0a: e006 b.n 8099e1a BSP_LCD_DisplayStringAt( 30, 137, "S[ýêñö]", LEFT_MODE); 8099e0c: 2303 movs r3, #3 8099e0e: 4a0e ldr r2, [pc, #56] ; (8099e48 ) 8099e10: 2189 movs r1, #137 ; 0x89 8099e12: 201e movs r0, #30 8099e14: f7ba fcc2 bl 805479c break; 8099e18: bf00 nop break; 8099e1a: bf00 nop 8099e1c: e028 b.n 8099e70 8099e1e: bf00 nop 8099e20: 080d4ca8 .word 0x080d4ca8 8099e24: 080d4cb0 .word 0x080d4cb0 8099e28: 080d4cb8 .word 0x080d4cb8 8099e2c: 080d4cc4 .word 0x080d4cc4 8099e30: 080d4ccc .word 0x080d4ccc 8099e34: 2002263c .word 0x2002263c 8099e38: 080d4cd4 .word 0x080d4cd4 8099e3c: 080d4cdc .word 0x080d4cdc 8099e40: 080d4ce4 .word 0x080d4ce4 8099e44: 080d4cf0 .word 0x080d4cf0 8099e48: 080d4cf8 .word 0x080d4cf8 8099e4c: 080d4d00 .word 0x080d4d00 8099e50: 080d4c7c .word 0x080d4c7c 8099e54: 080d4c84 .word 0x080d4c84 8099e58: 080d4c8c .word 0x080d4c8c 8099e5c: 080d4c98 .word 0x080d4c98 8099e60: 080d4ca0 .word 0x080d4ca0 BSP_LCD_DisplayStringAt(30, 137, "----", LEFT_MODE); 8099e64: 2303 movs r3, #3 8099e66: 4aba ldr r2, [pc, #744] ; (809a150 ) 8099e68: 2189 movs r1, #137 ; 0x89 8099e6a: 201e movs r0, #30 8099e6c: f7ba fc96 bl 805479c memset(str, 0, sizeof(str)); 8099e70: f107 030c add.w r3, r7, #12 8099e74: 2228 movs r2, #40 ; 0x28 8099e76: 2100 movs r1, #0 8099e78: 4618 mov r0, r3 8099e7a: f037 fa91 bl 80d13a0 if(DiagnFileData.d_Op3_ipr) 8099e7e: 4bb5 ldr r3, [pc, #724] ; (809a154 ) 8099e80: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099e84: b2db uxtb r3, r3 8099e86: 2b00 cmp r3, #0 8099e88: f000 80d9 beq.w 809a03e switch(DiagnFileData.d_Op3_ipr) 8099e8c: 4bb1 ldr r3, [pc, #708] ; (809a154 ) 8099e8e: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099e92: b2db uxtb r3, r3 8099e94: 2b02 cmp r3, #2 8099e96: d049 beq.n 8099f2c 8099e98: 2b04 cmp r3, #4 8099e9a: f000 808b beq.w 8099fb4 8099e9e: 2b01 cmp r3, #1 8099ea0: f040 80d3 bne.w 809a04a switch(DiagnFileData.d_Op3_ivs) 8099ea4: 4bab ldr r3, [pc, #684] ; (809a154 ) 8099ea6: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8099eaa: b2db uxtb r3, r3 8099eac: 2b53 cmp r3, #83 ; 0x53 8099eae: d020 beq.n 8099ef2 8099eb0: 2b53 cmp r3, #83 ; 0x53 8099eb2: dc0b bgt.n 8099ecc 8099eb4: 2b46 cmp r3, #70 ; 0x46 8099eb6: d02a beq.n 8099f0e 8099eb8: 2b46 cmp r3, #70 ; 0x46 8099eba: dc02 bgt.n 8099ec2 8099ebc: 2b45 cmp r3, #69 ; 0x45 8099ebe: d02d beq.n 8099f1c break; 8099ec0: e0c3 b.n 809a04a switch(DiagnFileData.d_Op3_ivs) 8099ec2: 2b50 cmp r3, #80 ; 0x50 8099ec4: d00e beq.n 8099ee4 8099ec6: 2b52 cmp r3, #82 ; 0x52 8099ec8: d01a beq.n 8099f00 break; 8099eca: e0be b.n 809a04a switch(DiagnFileData.d_Op3_ivs) 8099ecc: 2bd0 cmp r3, #208 ; 0xd0 8099ece: d017 beq.n 8099f00 8099ed0: 2bd0 cmp r3, #208 ; 0xd0 8099ed2: dc02 bgt.n 8099eda 8099ed4: 2bcf cmp r3, #207 ; 0xcf 8099ed6: d005 beq.n 8099ee4 break; 8099ed8: e0b7 b.n 809a04a switch(DiagnFileData.d_Op3_ivs) 8099eda: 2bd1 cmp r3, #209 ; 0xd1 8099edc: d009 beq.n 8099ef2 8099ede: 2bd4 cmp r3, #212 ; 0xd4 8099ee0: d015 beq.n 8099f0e break; 8099ee2: e0b2 b.n 809a04a BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê]", LEFT_MODE); 8099ee4: 2303 movs r3, #3 8099ee6: 4a9c ldr r2, [pc, #624] ; (809a158 ) 8099ee8: 21ad movs r1, #173 ; 0xad 8099eea: 201e movs r0, #30 8099eec: f7ba fc56 bl 805479c break; 8099ef0: e01b b.n 8099f2a BSP_LCD_DisplayStringAt( 30, 173, "A[ñêç]", LEFT_MODE); 8099ef2: 2303 movs r3, #3 8099ef4: 4a99 ldr r2, [pc, #612] ; (809a15c ) 8099ef6: 21ad movs r1, #173 ; 0xad 8099ef8: 201e movs r0, #30 8099efa: f7ba fc4f bl 805479c break; 8099efe: e014 b.n 8099f2a BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê-ïèê]", LEFT_MODE); 8099f00: 2303 movs r3, #3 8099f02: 4a97 ldr r2, [pc, #604] ; (809a160 ) 8099f04: 21ad movs r1, #173 ; 0xad 8099f06: 201e movs r0, #30 8099f08: f7ba fc48 bl 805479c break; 8099f0c: e00d b.n 8099f2a BSP_LCD_DisplayStringAt( 30, 173, "A[ïô]", LEFT_MODE); 8099f0e: 2303 movs r3, #3 8099f10: 4a94 ldr r2, [pc, #592] ; (809a164 ) 8099f12: 21ad movs r1, #173 ; 0xad 8099f14: 201e movs r0, #30 8099f16: f7ba fc41 bl 805479c break; 8099f1a: e006 b.n 8099f2a BSP_LCD_DisplayStringAt( 30, 173, "A[ýêñö]", LEFT_MODE); 8099f1c: 2303 movs r3, #3 8099f1e: 4a92 ldr r2, [pc, #584] ; (809a168 ) 8099f20: 21ad movs r1, #173 ; 0xad 8099f22: 201e movs r0, #30 8099f24: f7ba fc3a bl 805479c break; 8099f28: bf00 nop break; 8099f2a: e08e b.n 809a04a switch(DiagnFileData.d_Op3_ivs) 8099f2c: 4b89 ldr r3, [pc, #548] ; (809a154 ) 8099f2e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8099f32: b2db uxtb r3, r3 8099f34: 2b53 cmp r3, #83 ; 0x53 8099f36: d020 beq.n 8099f7a 8099f38: 2b53 cmp r3, #83 ; 0x53 8099f3a: dc0b bgt.n 8099f54 8099f3c: 2b46 cmp r3, #70 ; 0x46 8099f3e: d02a beq.n 8099f96 8099f40: 2b46 cmp r3, #70 ; 0x46 8099f42: dc02 bgt.n 8099f4a 8099f44: 2b45 cmp r3, #69 ; 0x45 8099f46: d02d beq.n 8099fa4 break; 8099f48: e07f b.n 809a04a switch(DiagnFileData.d_Op3_ivs) 8099f4a: 2b50 cmp r3, #80 ; 0x50 8099f4c: d00e beq.n 8099f6c 8099f4e: 2b52 cmp r3, #82 ; 0x52 8099f50: d01a beq.n 8099f88 break; 8099f52: e07a b.n 809a04a switch(DiagnFileData.d_Op3_ivs) 8099f54: 2bd0 cmp r3, #208 ; 0xd0 8099f56: d017 beq.n 8099f88 8099f58: 2bd0 cmp r3, #208 ; 0xd0 8099f5a: dc02 bgt.n 8099f62 8099f5c: 2bcf cmp r3, #207 ; 0xcf 8099f5e: d005 beq.n 8099f6c break; 8099f60: e073 b.n 809a04a switch(DiagnFileData.d_Op3_ivs) 8099f62: 2bd1 cmp r3, #209 ; 0xd1 8099f64: d009 beq.n 8099f7a 8099f66: 2bd4 cmp r3, #212 ; 0xd4 8099f68: d015 beq.n 8099f96 break; 8099f6a: e06e b.n 809a04a BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê]", LEFT_MODE); 8099f6c: 2303 movs r3, #3 8099f6e: 4a7f ldr r2, [pc, #508] ; (809a16c ) 8099f70: 21ad movs r1, #173 ; 0xad 8099f72: 201e movs r0, #30 8099f74: f7ba fc12 bl 805479c break; 8099f78: e01b b.n 8099fb2 BSP_LCD_DisplayStringAt( 30, 173, "V[ñêç]", LEFT_MODE); 8099f7a: 2303 movs r3, #3 8099f7c: 4a7c ldr r2, [pc, #496] ; (809a170 ) 8099f7e: 21ad movs r1, #173 ; 0xad 8099f80: 201e movs r0, #30 8099f82: f7ba fc0b bl 805479c break; 8099f86: e014 b.n 8099fb2 BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê-ïèê]", LEFT_MODE); 8099f88: 2303 movs r3, #3 8099f8a: 4a7a ldr r2, [pc, #488] ; (809a174 ) 8099f8c: 21ad movs r1, #173 ; 0xad 8099f8e: 201e movs r0, #30 8099f90: f7ba fc04 bl 805479c break; 8099f94: e00d b.n 8099fb2 BSP_LCD_DisplayStringAt( 30, 173, "V[ïô]", LEFT_MODE); 8099f96: 2303 movs r3, #3 8099f98: 4a77 ldr r2, [pc, #476] ; (809a178 ) 8099f9a: 21ad movs r1, #173 ; 0xad 8099f9c: 201e movs r0, #30 8099f9e: f7ba fbfd bl 805479c break; 8099fa2: e006 b.n 8099fb2 BSP_LCD_DisplayStringAt( 30, 173, "V[ýêñö]", LEFT_MODE); 8099fa4: 2303 movs r3, #3 8099fa6: 4a75 ldr r2, [pc, #468] ; (809a17c ) 8099fa8: 21ad movs r1, #173 ; 0xad 8099faa: 201e movs r0, #30 8099fac: f7ba fbf6 bl 805479c break; 8099fb0: bf00 nop break; 8099fb2: e04a b.n 809a04a switch(DiagnFileData.d_Op3_ivs) 8099fb4: 4b67 ldr r3, [pc, #412] ; (809a154 ) 8099fb6: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8099fba: b2db uxtb r3, r3 8099fbc: 2b53 cmp r3, #83 ; 0x53 8099fbe: d020 beq.n 809a002 8099fc0: 2b53 cmp r3, #83 ; 0x53 8099fc2: dc0b bgt.n 8099fdc 8099fc4: 2b46 cmp r3, #70 ; 0x46 8099fc6: d02a beq.n 809a01e 8099fc8: 2b46 cmp r3, #70 ; 0x46 8099fca: dc02 bgt.n 8099fd2 8099fcc: 2b45 cmp r3, #69 ; 0x45 8099fce: d02d beq.n 809a02c break; 8099fd0: e03b b.n 809a04a switch(DiagnFileData.d_Op3_ivs) 8099fd2: 2b50 cmp r3, #80 ; 0x50 8099fd4: d00e beq.n 8099ff4 8099fd6: 2b52 cmp r3, #82 ; 0x52 8099fd8: d01a beq.n 809a010 break; 8099fda: e036 b.n 809a04a switch(DiagnFileData.d_Op3_ivs) 8099fdc: 2bd0 cmp r3, #208 ; 0xd0 8099fde: d017 beq.n 809a010 8099fe0: 2bd0 cmp r3, #208 ; 0xd0 8099fe2: dc02 bgt.n 8099fea 8099fe4: 2bcf cmp r3, #207 ; 0xcf 8099fe6: d005 beq.n 8099ff4 break; 8099fe8: e02f b.n 809a04a switch(DiagnFileData.d_Op3_ivs) 8099fea: 2bd1 cmp r3, #209 ; 0xd1 8099fec: d009 beq.n 809a002 8099fee: 2bd4 cmp r3, #212 ; 0xd4 8099ff0: d015 beq.n 809a01e break; 8099ff2: e02a b.n 809a04a BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê]", LEFT_MODE); 8099ff4: 2303 movs r3, #3 8099ff6: 4a62 ldr r2, [pc, #392] ; (809a180 ) 8099ff8: 21ad movs r1, #173 ; 0xad 8099ffa: 201e movs r0, #30 8099ffc: f7ba fbce bl 805479c break; 809a000: e01b b.n 809a03a BSP_LCD_DisplayStringAt( 30, 173, "S[ñêç]", LEFT_MODE); 809a002: 2303 movs r3, #3 809a004: 4a5f ldr r2, [pc, #380] ; (809a184 ) 809a006: 21ad movs r1, #173 ; 0xad 809a008: 201e movs r0, #30 809a00a: f7ba fbc7 bl 805479c break; 809a00e: e014 b.n 809a03a BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê-ïèê]", LEFT_MODE); 809a010: 2303 movs r3, #3 809a012: 4a5d ldr r2, [pc, #372] ; (809a188 ) 809a014: 21ad movs r1, #173 ; 0xad 809a016: 201e movs r0, #30 809a018: f7ba fbc0 bl 805479c break; 809a01c: e00d b.n 809a03a BSP_LCD_DisplayStringAt( 30, 173, "S[ïô]", LEFT_MODE); 809a01e: 2303 movs r3, #3 809a020: 4a5a ldr r2, [pc, #360] ; (809a18c ) 809a022: 21ad movs r1, #173 ; 0xad 809a024: 201e movs r0, #30 809a026: f7ba fbb9 bl 805479c break; 809a02a: e006 b.n 809a03a BSP_LCD_DisplayStringAt( 30, 173, "S[ýêñö]", LEFT_MODE); 809a02c: 2303 movs r3, #3 809a02e: 4a58 ldr r2, [pc, #352] ; (809a190 ) 809a030: 21ad movs r1, #173 ; 0xad 809a032: 201e movs r0, #30 809a034: f7ba fbb2 bl 805479c break; 809a038: bf00 nop break; 809a03a: bf00 nop 809a03c: e005 b.n 809a04a BSP_LCD_DisplayStringAt(30, 173, "----", LEFT_MODE); 809a03e: 2303 movs r3, #3 809a040: 4a43 ldr r2, [pc, #268] ; (809a150 ) 809a042: 21ad movs r1, #173 ; 0xad 809a044: 201e movs r0, #30 809a046: f7ba fba9 bl 805479c if((DiagnFileData.d_Op1_ipr!= DIAGN_NO) && (DiagnFileData.Op_1.fl != -1.0f)) 809a04a: 4b42 ldr r3, [pc, #264] ; (809a154 ) 809a04c: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809a050: b2db uxtb r3, r3 809a052: 2b00 cmp r3, #0 809a054: f000 81e9 beq.w 809a42a 809a058: 4b3e ldr r3, [pc, #248] ; (809a154 ) 809a05a: edd3 7a00 vldr s15, [r3] 809a05e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809a062: eef4 7a47 vcmp.f32 s15, s14 809a066: eef1 fa10 vmrs APSR_nzcv, fpscr 809a06a: f000 81de beq.w 809a42a if(DiagnFileData.d_Op1_Color == 0) LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809a06e: 4b39 ldr r3, [pc, #228] ; (809a154 ) 809a070: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809a074: b2db uxtb r3, r3 809a076: 2b00 cmp r3, #0 809a078: d105 bne.n 809a086 809a07a: 4946 ldr r1, [pc, #280] ; (809a194 ) 809a07c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809a080: f7ba fac6 bl 8054610 809a084: e015 b.n 809a0b2 else if(DiagnFileData.d_Op1_Color == 1) LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809a086: 4b33 ldr r3, [pc, #204] ; (809a154 ) 809a088: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809a08c: b2db uxtb r3, r3 809a08e: 2b01 cmp r3, #1 809a090: d105 bne.n 809a09e 809a092: 4940 ldr r1, [pc, #256] ; (809a194 ) 809a094: f06f 00ff mvn.w r0, #255 ; 0xff 809a098: f7ba faba bl 8054610 809a09c: e009 b.n 809a0b2 else if(DiagnFileData.d_Op1_Color == 2) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809a09e: 4b2d ldr r3, [pc, #180] ; (809a154 ) 809a0a0: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809a0a4: b2db uxtb r3, r3 809a0a6: 2b02 cmp r3, #2 809a0a8: d103 bne.n 809a0b2 809a0aa: 493a ldr r1, [pc, #232] ; (809a194 ) 809a0ac: 483a ldr r0, [pc, #232] ; (809a198 ) 809a0ae: f7ba faaf bl 8054610 f = DiagnFileData.Op_1.fl; 809a0b2: 4b28 ldr r3, [pc, #160] ; (809a154 ) 809a0b4: 681b ldr r3, [r3, #0] 809a0b6: 647b str r3, [r7, #68] ; 0x44 if((DiagnFileData.d_Op1_ivs != 'E') && (DiagnFileData.d_Op1_ivs != 'F')) 809a0b8: 4b26 ldr r3, [pc, #152] ; (809a154 ) 809a0ba: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 809a0be: b2db uxtb r3, r3 809a0c0: 2b45 cmp r3, #69 ; 0x45 809a0c2: f000 813c beq.w 809a33e 809a0c6: 4b23 ldr r3, [pc, #140] ; (809a154 ) 809a0c8: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 809a0cc: b2db uxtb r3, r3 809a0ce: 2b46 cmp r3, #70 ; 0x46 809a0d0: f000 8135 beq.w 809a33e if(f >= 1000.0f) 809a0d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a0d8: ed9f 7a30 vldr s14, [pc, #192] ; 809a19c 809a0dc: eef4 7ac7 vcmpe.f32 s15, s14 809a0e0: eef1 fa10 vmrs APSR_nzcv, fpscr 809a0e4: f2c0 8087 blt.w 809a1f6 f *= 0.001f; 809a0e8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a0ec: ed9f 7a2c vldr s14, [pc, #176] ; 809a1a0 809a0f0: ee67 7a87 vmul.f32 s15, s15, s14 809a0f4: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op1_ipr == DIAGN_ACC) 809a0f8: 4b16 ldr r3, [pc, #88] ; (809a154 ) 809a0fa: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809a0fe: b2db uxtb r3, r3 809a100: 2b01 cmp r3, #1 809a102: d112 bne.n 809a12a if(pardata.LANG == RUS) 809a104: 4b27 ldr r3, [pc, #156] ; (809a1a4 ) 809a106: 7b1b ldrb r3, [r3, #12] 809a108: b2db uxtb r3, r3 809a10a: 2b00 cmp r3, #0 809a10c: d106 bne.n 809a11c BSP_LCD_DisplayStringAt(170, 101, "kì/c^", LEFT_MODE); 809a10e: 2303 movs r3, #3 809a110: 4a25 ldr r2, [pc, #148] ; (809a1a8 ) 809a112: 2165 movs r1, #101 ; 0x65 809a114: 20aa movs r0, #170 ; 0xaa 809a116: f7ba fb41 bl 805479c 809a11a: e110 b.n 809a33e else BSP_LCD_DisplayStringAt(170, 101, "km/s^", LEFT_MODE); 809a11c: 2303 movs r3, #3 809a11e: 4a23 ldr r2, [pc, #140] ; (809a1ac ) 809a120: 2165 movs r1, #101 ; 0x65 809a122: 20aa movs r0, #170 ; 0xaa 809a124: f7ba fb3a bl 805479c 809a128: e109 b.n 809a33e if(DiagnFileData.d_Op1_ipr == DIAGN_VEL) 809a12a: 4b0a ldr r3, [pc, #40] ; (809a154 ) 809a12c: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809a130: b2db uxtb r3, r3 809a132: 2b02 cmp r3, #2 809a134: d145 bne.n 809a1c2 if(pardata.LANG == RUS) 809a136: 4b1b ldr r3, [pc, #108] ; (809a1a4 ) 809a138: 7b1b ldrb r3, [r3, #12] 809a13a: b2db uxtb r3, r3 809a13c: 2b00 cmp r3, #0 809a13e: d139 bne.n 809a1b4 BSP_LCD_DisplayStringAt(170, 101, "ì/c", LEFT_MODE); 809a140: 2303 movs r3, #3 809a142: 4a1b ldr r2, [pc, #108] ; (809a1b0 ) 809a144: 2165 movs r1, #101 ; 0x65 809a146: 20aa movs r0, #170 ; 0xaa 809a148: f7ba fb28 bl 805479c 809a14c: e0f7 b.n 809a33e 809a14e: bf00 nop 809a150: 080d4d00 .word 0x080d4d00 809a154: 2002263c .word 0x2002263c 809a158: 080d4c7c .word 0x080d4c7c 809a15c: 080d4c84 .word 0x080d4c84 809a160: 080d4c8c .word 0x080d4c8c 809a164: 080d4c98 .word 0x080d4c98 809a168: 080d4ca0 .word 0x080d4ca0 809a16c: 080d4ca8 .word 0x080d4ca8 809a170: 080d4cb0 .word 0x080d4cb0 809a174: 080d4cb8 .word 0x080d4cb8 809a178: 080d4cc4 .word 0x080d4cc4 809a17c: 080d4ccc .word 0x080d4ccc 809a180: 080d4cd4 .word 0x080d4cd4 809a184: 080d4cdc .word 0x080d4cdc 809a188: 080d4ce4 .word 0x080d4ce4 809a18c: 080d4cf0 .word 0x080d4cf0 809a190: 080d4cf8 .word 0x080d4cf8 809a194: ff0a0f1f .word 0xff0a0f1f 809a198: ffff0000 .word 0xffff0000 809a19c: 447a0000 .word 0x447a0000 809a1a0: 3a83126f .word 0x3a83126f 809a1a4: 20023ea8 .word 0x20023ea8 809a1a8: 080d4d08 .word 0x080d4d08 809a1ac: 080d4d10 .word 0x080d4d10 809a1b0: 080d4d18 .word 0x080d4d18 else BSP_LCD_DisplayStringAt(170, 101, "m/s", LEFT_MODE); 809a1b4: 2303 movs r3, #3 809a1b6: 4ab2 ldr r2, [pc, #712] ; (809a480 ) 809a1b8: 2165 movs r1, #101 ; 0x65 809a1ba: 20aa movs r0, #170 ; 0xaa 809a1bc: f7ba faee bl 805479c 809a1c0: e0bd b.n 809a33e if(DiagnFileData.d_Op1_ipr == DIAGN_DIS) 809a1c2: 4bb0 ldr r3, [pc, #704] ; (809a484 ) 809a1c4: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809a1c8: b2db uxtb r3, r3 809a1ca: 2b04 cmp r3, #4 809a1cc: f040 80b7 bne.w 809a33e if(pardata.LANG == RUS) 809a1d0: 4bad ldr r3, [pc, #692] ; (809a488 ) 809a1d2: 7b1b ldrb r3, [r3, #12] 809a1d4: b2db uxtb r3, r3 809a1d6: 2b00 cmp r3, #0 809a1d8: d106 bne.n 809a1e8 BSP_LCD_DisplayStringAt(170, 101, "ìì", LEFT_MODE); 809a1da: 2303 movs r3, #3 809a1dc: 4aab ldr r2, [pc, #684] ; (809a48c ) 809a1de: 2165 movs r1, #101 ; 0x65 809a1e0: 20aa movs r0, #170 ; 0xaa 809a1e2: f7ba fadb bl 805479c 809a1e6: e0aa b.n 809a33e else BSP_LCD_DisplayStringAt(170, 101, "mm", LEFT_MODE); 809a1e8: 2303 movs r3, #3 809a1ea: 4aa9 ldr r2, [pc, #676] ; (809a490 ) 809a1ec: 2165 movs r1, #101 ; 0x65 809a1ee: 20aa movs r0, #170 ; 0xaa 809a1f0: f7ba fad4 bl 805479c 809a1f4: e0a3 b.n 809a33e if(f >= 0.1f) 809a1f6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a1fa: ed9f 7aa6 vldr s14, [pc, #664] ; 809a494 809a1fe: eef4 7ac7 vcmpe.f32 s15, s14 809a202: eef1 fa10 vmrs APSR_nzcv, fpscr 809a206: db48 blt.n 809a29a if(DiagnFileData.d_Op1_ipr == DIAGN_ACC) 809a208: 4b9e ldr r3, [pc, #632] ; (809a484 ) 809a20a: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809a20e: b2db uxtb r3, r3 809a210: 2b01 cmp r3, #1 809a212: d111 bne.n 809a238 if(pardata.LANG == RUS) 809a214: 4b9c ldr r3, [pc, #624] ; (809a488 ) 809a216: 7b1b ldrb r3, [r3, #12] 809a218: b2db uxtb r3, r3 809a21a: 2b00 cmp r3, #0 809a21c: d106 bne.n 809a22c BSP_LCD_DisplayStringAt(170, 101, "ì/c^", LEFT_MODE); 809a21e: 2303 movs r3, #3 809a220: 4a9d ldr r2, [pc, #628] ; (809a498 ) 809a222: 2165 movs r1, #101 ; 0x65 809a224: 20aa movs r0, #170 ; 0xaa 809a226: f7ba fab9 bl 805479c 809a22a: e005 b.n 809a238 else BSP_LCD_DisplayStringAt(170, 101, "m/s^", LEFT_MODE); 809a22c: 2303 movs r3, #3 809a22e: 4a9b ldr r2, [pc, #620] ; (809a49c ) 809a230: 2165 movs r1, #101 ; 0x65 809a232: 20aa movs r0, #170 ; 0xaa 809a234: f7ba fab2 bl 805479c if(DiagnFileData.d_Op1_ipr == DIAGN_VEL) 809a238: 4b92 ldr r3, [pc, #584] ; (809a484 ) 809a23a: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809a23e: b2db uxtb r3, r3 809a240: 2b02 cmp r3, #2 809a242: d111 bne.n 809a268 if(pardata.LANG == RUS) 809a244: 4b90 ldr r3, [pc, #576] ; (809a488 ) 809a246: 7b1b ldrb r3, [r3, #12] 809a248: b2db uxtb r3, r3 809a24a: 2b00 cmp r3, #0 809a24c: d106 bne.n 809a25c BSP_LCD_DisplayStringAt(170, 101, "ìì/c", LEFT_MODE); 809a24e: 2303 movs r3, #3 809a250: 4a93 ldr r2, [pc, #588] ; (809a4a0 ) 809a252: 2165 movs r1, #101 ; 0x65 809a254: 20aa movs r0, #170 ; 0xaa 809a256: f7ba faa1 bl 805479c 809a25a: e005 b.n 809a268 else BSP_LCD_DisplayStringAt(170, 101, "mm/s", LEFT_MODE); 809a25c: 2303 movs r3, #3 809a25e: 4a91 ldr r2, [pc, #580] ; (809a4a4 ) 809a260: 2165 movs r1, #101 ; 0x65 809a262: 20aa movs r0, #170 ; 0xaa 809a264: f7ba fa9a bl 805479c if(DiagnFileData.d_Op1_ipr == DIAGN_DIS) 809a268: 4b86 ldr r3, [pc, #536] ; (809a484 ) 809a26a: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809a26e: b2db uxtb r3, r3 809a270: 2b04 cmp r3, #4 809a272: d164 bne.n 809a33e if(pardata.LANG == RUS) 809a274: 4b84 ldr r3, [pc, #528] ; (809a488 ) 809a276: 7b1b ldrb r3, [r3, #12] 809a278: b2db uxtb r3, r3 809a27a: 2b00 cmp r3, #0 809a27c: d106 bne.n 809a28c BSP_LCD_DisplayStringAt(170, 101, "ìkì", LEFT_MODE); 809a27e: 2303 movs r3, #3 809a280: 4a89 ldr r2, [pc, #548] ; (809a4a8 ) 809a282: 2165 movs r1, #101 ; 0x65 809a284: 20aa movs r0, #170 ; 0xaa 809a286: f7ba fa89 bl 805479c 809a28a: e058 b.n 809a33e else BSP_LCD_DisplayStringAt(170, 101, "um", LEFT_MODE); 809a28c: 2303 movs r3, #3 809a28e: 4a87 ldr r2, [pc, #540] ; (809a4ac ) 809a290: 2165 movs r1, #101 ; 0x65 809a292: 20aa movs r0, #170 ; 0xaa 809a294: f7ba fa82 bl 805479c 809a298: e051 b.n 809a33e f *= 1000.0f; 809a29a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a29e: ed9f 7a84 vldr s14, [pc, #528] ; 809a4b0 809a2a2: ee67 7a87 vmul.f32 s15, s15, s14 809a2a6: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op1_ipr == DIAGN_ACC) 809a2aa: 4b76 ldr r3, [pc, #472] ; (809a484 ) 809a2ac: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809a2b0: b2db uxtb r3, r3 809a2b2: 2b01 cmp r3, #1 809a2b4: d112 bne.n 809a2dc if(pardata.LANG == RUS) 809a2b6: 4b74 ldr r3, [pc, #464] ; (809a488 ) 809a2b8: 7b1b ldrb r3, [r3, #12] 809a2ba: b2db uxtb r3, r3 809a2bc: 2b00 cmp r3, #0 809a2be: d106 bne.n 809a2ce BSP_LCD_DisplayStringAt(170, 101, "ìì/c^", LEFT_MODE); 809a2c0: 2303 movs r3, #3 809a2c2: 4a7c ldr r2, [pc, #496] ; (809a4b4 ) 809a2c4: 2165 movs r1, #101 ; 0x65 809a2c6: 20aa movs r0, #170 ; 0xaa 809a2c8: f7ba fa68 bl 805479c 809a2cc: e037 b.n 809a33e else BSP_LCD_DisplayStringAt(170, 101, "mm/s^", LEFT_MODE); 809a2ce: 2303 movs r3, #3 809a2d0: 4a79 ldr r2, [pc, #484] ; (809a4b8 ) 809a2d2: 2165 movs r1, #101 ; 0x65 809a2d4: 20aa movs r0, #170 ; 0xaa 809a2d6: f7ba fa61 bl 805479c 809a2da: e030 b.n 809a33e if(DiagnFileData.d_Op1_ipr== DIAGN_VEL) 809a2dc: 4b69 ldr r3, [pc, #420] ; (809a484 ) 809a2de: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809a2e2: b2db uxtb r3, r3 809a2e4: 2b02 cmp r3, #2 809a2e6: d112 bne.n 809a30e if(pardata.LANG == RUS) 809a2e8: 4b67 ldr r3, [pc, #412] ; (809a488 ) 809a2ea: 7b1b ldrb r3, [r3, #12] 809a2ec: b2db uxtb r3, r3 809a2ee: 2b00 cmp r3, #0 809a2f0: d106 bne.n 809a300 BSP_LCD_DisplayStringAt(170, 101, "ìêì/c", LEFT_MODE); 809a2f2: 2303 movs r3, #3 809a2f4: 4a71 ldr r2, [pc, #452] ; (809a4bc ) 809a2f6: 2165 movs r1, #101 ; 0x65 809a2f8: 20aa movs r0, #170 ; 0xaa 809a2fa: f7ba fa4f bl 805479c 809a2fe: e01e b.n 809a33e else BSP_LCD_DisplayStringAt(170, 101, "mkm/s", LEFT_MODE); 809a300: 2303 movs r3, #3 809a302: 4a6f ldr r2, [pc, #444] ; (809a4c0 ) 809a304: 2165 movs r1, #101 ; 0x65 809a306: 20aa movs r0, #170 ; 0xaa 809a308: f7ba fa48 bl 805479c 809a30c: e017 b.n 809a33e if(DiagnFileData.d_Op1_ipr == DIAGN_DIS) 809a30e: 4b5d ldr r3, [pc, #372] ; (809a484 ) 809a310: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809a314: b2db uxtb r3, r3 809a316: 2b04 cmp r3, #4 809a318: d111 bne.n 809a33e if(pardata.LANG == RUS) 809a31a: 4b5b ldr r3, [pc, #364] ; (809a488 ) 809a31c: 7b1b ldrb r3, [r3, #12] 809a31e: b2db uxtb r3, r3 809a320: 2b00 cmp r3, #0 809a322: d106 bne.n 809a332 BSP_LCD_DisplayStringAt(170, 101, "íì", LEFT_MODE); 809a324: 2303 movs r3, #3 809a326: 4a67 ldr r2, [pc, #412] ; (809a4c4 ) 809a328: 2165 movs r1, #101 ; 0x65 809a32a: 20aa movs r0, #170 ; 0xaa 809a32c: f7ba fa36 bl 805479c 809a330: e005 b.n 809a33e else BSP_LCD_DisplayStringAt(170, 101, "nm", LEFT_MODE); 809a332: 2303 movs r3, #3 809a334: 4a64 ldr r2, [pc, #400] ; (809a4c8 ) 809a336: 2165 movs r1, #101 ; 0x65 809a338: 20aa movs r0, #170 ; 0xaa 809a33a: f7ba fa2f bl 805479c if(f < 10.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809a33e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a342: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809a346: eef4 7ac7 vcmpe.f32 s15, s14 809a34a: eef1 fa10 vmrs APSR_nzcv, fpscr 809a34e: d50e bpl.n 809a36e 809a350: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a354: f06f 0003 mvn.w r0, #3 809a358: eeb0 0a67 vmov.f32 s0, s15 809a35c: f7cd f920 bl 80675a0 809a360: 4602 mov r2, r0 809a362: 2302 movs r3, #2 809a364: 2165 movs r1, #101 ; 0x65 809a366: 20a0 movs r0, #160 ; 0xa0 809a368: f7ba fa18 bl 805479c 809a36c: e05d b.n 809a42a else if(f < 100.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809a36e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a372: ed9f 7a56 vldr s14, [pc, #344] ; 809a4cc 809a376: eef4 7ac7 vcmpe.f32 s15, s14 809a37a: eef1 fa10 vmrs APSR_nzcv, fpscr 809a37e: d50e bpl.n 809a39e 809a380: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a384: f06f 0002 mvn.w r0, #2 809a388: eeb0 0a67 vmov.f32 s0, s15 809a38c: f7cd f908 bl 80675a0 809a390: 4602 mov r2, r0 809a392: 2302 movs r3, #2 809a394: 2165 movs r1, #101 ; 0x65 809a396: 20a0 movs r0, #160 ; 0xa0 809a398: f7ba fa00 bl 805479c 809a39c: e045 b.n 809a42a else if(f < 1000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809a39e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a3a2: ed9f 7a43 vldr s14, [pc, #268] ; 809a4b0 809a3a6: eef4 7ac7 vcmpe.f32 s15, s14 809a3aa: eef1 fa10 vmrs APSR_nzcv, fpscr 809a3ae: d50e bpl.n 809a3ce 809a3b0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a3b4: f06f 0001 mvn.w r0, #1 809a3b8: eeb0 0a67 vmov.f32 s0, s15 809a3bc: f7cd f8f0 bl 80675a0 809a3c0: 4602 mov r2, r0 809a3c2: 2302 movs r3, #2 809a3c4: 2165 movs r1, #101 ; 0x65 809a3c6: 20a0 movs r0, #160 ; 0xa0 809a3c8: f7ba f9e8 bl 805479c 809a3cc: e02d b.n 809a42a else if(f < 10000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809a3ce: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a3d2: ed9f 7a3f vldr s14, [pc, #252] ; 809a4d0 809a3d6: eef4 7ac7 vcmpe.f32 s15, s14 809a3da: eef1 fa10 vmrs APSR_nzcv, fpscr 809a3de: d50e bpl.n 809a3fe 809a3e0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a3e4: f04f 30ff mov.w r0, #4294967295 809a3e8: eeb0 0a67 vmov.f32 s0, s15 809a3ec: f7cd f8d8 bl 80675a0 809a3f0: 4602 mov r2, r0 809a3f2: 2302 movs r3, #2 809a3f4: 2165 movs r1, #101 ; 0x65 809a3f6: 20a0 movs r0, #160 ; 0xa0 809a3f8: f7ba f9d0 bl 805479c 809a3fc: e015 b.n 809a42a else if(f < 100000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809a3fe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a402: ed9f 7a34 vldr s14, [pc, #208] ; 809a4d4 809a406: eef4 7ac7 vcmpe.f32 s15, s14 809a40a: eef1 fa10 vmrs APSR_nzcv, fpscr 809a40e: d50c bpl.n 809a42a 809a410: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a414: 2000 movs r0, #0 809a416: eeb0 0a67 vmov.f32 s0, s15 809a41a: f7cd f8c1 bl 80675a0 809a41e: 4602 mov r2, r0 809a420: 2302 movs r3, #2 809a422: 2165 movs r1, #101 ; 0x65 809a424: 20a0 movs r0, #160 ; 0xa0 809a426: f7ba f9b9 bl 805479c if((DiagnFileData.d_Op2_ipr != DIAGN_NO) && (DiagnFileData.Op_2.fl != -1.0f)) 809a42a: 4b16 ldr r3, [pc, #88] ; (809a484 ) 809a42c: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809a430: b2db uxtb r3, r3 809a432: 2b00 cmp r3, #0 809a434: f000 821e beq.w 809a874 809a438: 4b12 ldr r3, [pc, #72] ; (809a484 ) 809a43a: edd3 7a01 vldr s15, [r3, #4] 809a43e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809a442: eef4 7a47 vcmp.f32 s15, s14 809a446: eef1 fa10 vmrs APSR_nzcv, fpscr 809a44a: f000 8213 beq.w 809a874 if(DiagnFileData.d_Op2_Color == 0) LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809a44e: 4b0d ldr r3, [pc, #52] ; (809a484 ) 809a450: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 809a454: b2db uxtb r3, r3 809a456: 2b00 cmp r3, #0 809a458: d105 bne.n 809a466 809a45a: 491f ldr r1, [pc, #124] ; (809a4d8 ) 809a45c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809a460: f7ba f8d6 bl 8054610 809a464: e044 b.n 809a4f0 else if(DiagnFileData.d_Op2_Color == 1) LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809a466: 4b07 ldr r3, [pc, #28] ; (809a484 ) 809a468: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 809a46c: b2db uxtb r3, r3 809a46e: 2b01 cmp r3, #1 809a470: d134 bne.n 809a4dc 809a472: 4919 ldr r1, [pc, #100] ; (809a4d8 ) 809a474: f06f 00ff mvn.w r0, #255 ; 0xff 809a478: f7ba f8ca bl 8054610 809a47c: e038 b.n 809a4f0 809a47e: bf00 nop 809a480: 080d4d1c .word 0x080d4d1c 809a484: 2002263c .word 0x2002263c 809a488: 20023ea8 .word 0x20023ea8 809a48c: 080d4d20 .word 0x080d4d20 809a490: 080d4d24 .word 0x080d4d24 809a494: 3dcccccd .word 0x3dcccccd 809a498: 080d4d28 .word 0x080d4d28 809a49c: 080d4d30 .word 0x080d4d30 809a4a0: 080d4d38 .word 0x080d4d38 809a4a4: 080d4d40 .word 0x080d4d40 809a4a8: 080d4d48 .word 0x080d4d48 809a4ac: 080d4d4c .word 0x080d4d4c 809a4b0: 447a0000 .word 0x447a0000 809a4b4: 080d4d50 .word 0x080d4d50 809a4b8: 080d4d58 .word 0x080d4d58 809a4bc: 080d4d60 .word 0x080d4d60 809a4c0: 080d4d68 .word 0x080d4d68 809a4c4: 080d4d70 .word 0x080d4d70 809a4c8: 080d4d74 .word 0x080d4d74 809a4cc: 42c80000 .word 0x42c80000 809a4d0: 461c4000 .word 0x461c4000 809a4d4: 47c35000 .word 0x47c35000 809a4d8: ff0a0f1f .word 0xff0a0f1f else if(DiagnFileData.d_Op2_Color == 2) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809a4dc: 4bbe ldr r3, [pc, #760] ; (809a7d8 ) 809a4de: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 809a4e2: b2db uxtb r3, r3 809a4e4: 2b02 cmp r3, #2 809a4e6: d103 bne.n 809a4f0 809a4e8: 49bc ldr r1, [pc, #752] ; (809a7dc ) 809a4ea: 48bd ldr r0, [pc, #756] ; (809a7e0 ) 809a4ec: f7ba f890 bl 8054610 f = DiagnFileData.Op_2.fl; 809a4f0: 4bb9 ldr r3, [pc, #740] ; (809a7d8 ) 809a4f2: 685b ldr r3, [r3, #4] 809a4f4: 647b str r3, [r7, #68] ; 0x44 if((DiagnFileData.d_Op2_ivs != 'E') && (DiagnFileData.d_Op2_ivs != 'F')) 809a4f6: 4bb8 ldr r3, [pc, #736] ; (809a7d8 ) 809a4f8: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809a4fc: b2db uxtb r3, r3 809a4fe: 2b45 cmp r3, #69 ; 0x45 809a500: f000 810a beq.w 809a718 809a504: 4bb4 ldr r3, [pc, #720] ; (809a7d8 ) 809a506: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809a50a: b2db uxtb r3, r3 809a50c: 2b46 cmp r3, #70 ; 0x46 809a50e: f000 8103 beq.w 809a718 if(f >= 1000.0f) 809a512: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a516: ed9f 7ab3 vldr s14, [pc, #716] ; 809a7e4 809a51a: eef4 7ac7 vcmpe.f32 s15, s14 809a51e: eef1 fa10 vmrs APSR_nzcv, fpscr 809a522: db53 blt.n 809a5cc f *= 0.001f; 809a524: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a528: ed9f 7aaf vldr s14, [pc, #700] ; 809a7e8 809a52c: ee67 7a87 vmul.f32 s15, s15, s14 809a530: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op2_ipr == DIAGN_ACC) 809a534: 4ba8 ldr r3, [pc, #672] ; (809a7d8 ) 809a536: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809a53a: b2db uxtb r3, r3 809a53c: 2b01 cmp r3, #1 809a53e: d112 bne.n 809a566 if(pardata.LANG == RUS) 809a540: 4baa ldr r3, [pc, #680] ; (809a7ec ) 809a542: 7b1b ldrb r3, [r3, #12] 809a544: b2db uxtb r3, r3 809a546: 2b00 cmp r3, #0 809a548: d106 bne.n 809a558 BSP_LCD_DisplayStringAt(170, 137, "kì/c^", LEFT_MODE); 809a54a: 2303 movs r3, #3 809a54c: 4aa8 ldr r2, [pc, #672] ; (809a7f0 ) 809a54e: 2189 movs r1, #137 ; 0x89 809a550: 20aa movs r0, #170 ; 0xaa 809a552: f7ba f923 bl 805479c 809a556: e0df b.n 809a718 else BSP_LCD_DisplayStringAt(170, 137, "km/s^", LEFT_MODE); 809a558: 2303 movs r3, #3 809a55a: 4aa6 ldr r2, [pc, #664] ; (809a7f4 ) 809a55c: 2189 movs r1, #137 ; 0x89 809a55e: 20aa movs r0, #170 ; 0xaa 809a560: f7ba f91c bl 805479c 809a564: e0d8 b.n 809a718 if(DiagnFileData.d_Op2_ipr == DIAGN_VEL) 809a566: 4b9c ldr r3, [pc, #624] ; (809a7d8 ) 809a568: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809a56c: b2db uxtb r3, r3 809a56e: 2b02 cmp r3, #2 809a570: d112 bne.n 809a598 if(pardata.LANG == RUS) 809a572: 4b9e ldr r3, [pc, #632] ; (809a7ec ) 809a574: 7b1b ldrb r3, [r3, #12] 809a576: b2db uxtb r3, r3 809a578: 2b00 cmp r3, #0 809a57a: d106 bne.n 809a58a BSP_LCD_DisplayStringAt(170, 137, "ì/c", LEFT_MODE); 809a57c: 2303 movs r3, #3 809a57e: 4a9e ldr r2, [pc, #632] ; (809a7f8 ) 809a580: 2189 movs r1, #137 ; 0x89 809a582: 20aa movs r0, #170 ; 0xaa 809a584: f7ba f90a bl 805479c 809a588: e0c6 b.n 809a718 else BSP_LCD_DisplayStringAt(170, 137, "m/s", LEFT_MODE); 809a58a: 2303 movs r3, #3 809a58c: 4a9b ldr r2, [pc, #620] ; (809a7fc ) 809a58e: 2189 movs r1, #137 ; 0x89 809a590: 20aa movs r0, #170 ; 0xaa 809a592: f7ba f903 bl 805479c 809a596: e0bf b.n 809a718 if(DiagnFileData.d_Op2_ipr== DIAGN_DIS) 809a598: 4b8f ldr r3, [pc, #572] ; (809a7d8 ) 809a59a: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809a59e: b2db uxtb r3, r3 809a5a0: 2b04 cmp r3, #4 809a5a2: f040 80b9 bne.w 809a718 if(pardata.LANG == RUS) 809a5a6: 4b91 ldr r3, [pc, #580] ; (809a7ec ) 809a5a8: 7b1b ldrb r3, [r3, #12] 809a5aa: b2db uxtb r3, r3 809a5ac: 2b00 cmp r3, #0 809a5ae: d106 bne.n 809a5be BSP_LCD_DisplayStringAt(170, 137, "ìì", LEFT_MODE); 809a5b0: 2303 movs r3, #3 809a5b2: 4a93 ldr r2, [pc, #588] ; (809a800 ) 809a5b4: 2189 movs r1, #137 ; 0x89 809a5b6: 20aa movs r0, #170 ; 0xaa 809a5b8: f7ba f8f0 bl 805479c 809a5bc: e0ac b.n 809a718 else BSP_LCD_DisplayStringAt(170, 137, "mm", LEFT_MODE); 809a5be: 2303 movs r3, #3 809a5c0: 4a90 ldr r2, [pc, #576] ; (809a804 ) 809a5c2: 2189 movs r1, #137 ; 0x89 809a5c4: 20aa movs r0, #170 ; 0xaa 809a5c6: f7ba f8e9 bl 805479c 809a5ca: e0a5 b.n 809a718 if(f >= 0.1f) 809a5cc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a5d0: ed9f 7a8d vldr s14, [pc, #564] ; 809a808 809a5d4: eef4 7ac7 vcmpe.f32 s15, s14 809a5d8: eef1 fa10 vmrs APSR_nzcv, fpscr 809a5dc: db4a blt.n 809a674 if(DiagnFileData.d_Op2_ipr == DIAGN_ACC) 809a5de: 4b7e ldr r3, [pc, #504] ; (809a7d8 ) 809a5e0: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809a5e4: b2db uxtb r3, r3 809a5e6: 2b01 cmp r3, #1 809a5e8: d112 bne.n 809a610 if(pardata.LANG == RUS) 809a5ea: 4b80 ldr r3, [pc, #512] ; (809a7ec ) 809a5ec: 7b1b ldrb r3, [r3, #12] 809a5ee: b2db uxtb r3, r3 809a5f0: 2b00 cmp r3, #0 809a5f2: d106 bne.n 809a602 BSP_LCD_DisplayStringAt(170, 137, "ì/c^", LEFT_MODE); 809a5f4: 2303 movs r3, #3 809a5f6: 4a85 ldr r2, [pc, #532] ; (809a80c ) 809a5f8: 2189 movs r1, #137 ; 0x89 809a5fa: 20aa movs r0, #170 ; 0xaa 809a5fc: f7ba f8ce bl 805479c 809a600: e08a b.n 809a718 else BSP_LCD_DisplayStringAt(170, 137, "m/s^", LEFT_MODE); 809a602: 2303 movs r3, #3 809a604: 4a82 ldr r2, [pc, #520] ; (809a810 ) 809a606: 2189 movs r1, #137 ; 0x89 809a608: 20aa movs r0, #170 ; 0xaa 809a60a: f7ba f8c7 bl 805479c 809a60e: e083 b.n 809a718 else if(DiagnFileData.d_Op2_ipr == DIAGN_VEL) 809a610: 4b71 ldr r3, [pc, #452] ; (809a7d8 ) 809a612: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809a616: b2db uxtb r3, r3 809a618: 2b02 cmp r3, #2 809a61a: d112 bne.n 809a642 if(pardata.LANG == RUS) 809a61c: 4b73 ldr r3, [pc, #460] ; (809a7ec ) 809a61e: 7b1b ldrb r3, [r3, #12] 809a620: b2db uxtb r3, r3 809a622: 2b00 cmp r3, #0 809a624: d106 bne.n 809a634 BSP_LCD_DisplayStringAt(170, 137, "ìì/c", LEFT_MODE); 809a626: 2303 movs r3, #3 809a628: 4a7a ldr r2, [pc, #488] ; (809a814 ) 809a62a: 2189 movs r1, #137 ; 0x89 809a62c: 20aa movs r0, #170 ; 0xaa 809a62e: f7ba f8b5 bl 805479c 809a632: e071 b.n 809a718 else BSP_LCD_DisplayStringAt(170, 137, "mm/s", LEFT_MODE); 809a634: 2303 movs r3, #3 809a636: 4a78 ldr r2, [pc, #480] ; (809a818 ) 809a638: 2189 movs r1, #137 ; 0x89 809a63a: 20aa movs r0, #170 ; 0xaa 809a63c: f7ba f8ae bl 805479c 809a640: e06a b.n 809a718 else if(DiagnFileData.d_Op2_ipr == DIAGN_DIS) 809a642: 4b65 ldr r3, [pc, #404] ; (809a7d8 ) 809a644: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809a648: b2db uxtb r3, r3 809a64a: 2b04 cmp r3, #4 809a64c: d164 bne.n 809a718 if(pardata.LANG == RUS) 809a64e: 4b67 ldr r3, [pc, #412] ; (809a7ec ) 809a650: 7b1b ldrb r3, [r3, #12] 809a652: b2db uxtb r3, r3 809a654: 2b00 cmp r3, #0 809a656: d106 bne.n 809a666 BSP_LCD_DisplayStringAt(170, 137, "ìkì", LEFT_MODE); 809a658: 2303 movs r3, #3 809a65a: 4a70 ldr r2, [pc, #448] ; (809a81c ) 809a65c: 2189 movs r1, #137 ; 0x89 809a65e: 20aa movs r0, #170 ; 0xaa 809a660: f7ba f89c bl 805479c 809a664: e058 b.n 809a718 else BSP_LCD_DisplayStringAt(170, 137, "um", LEFT_MODE); 809a666: 2303 movs r3, #3 809a668: 4a6d ldr r2, [pc, #436] ; (809a820 ) 809a66a: 2189 movs r1, #137 ; 0x89 809a66c: 20aa movs r0, #170 ; 0xaa 809a66e: f7ba f895 bl 805479c 809a672: e051 b.n 809a718 f *= 1000.0f; 809a674: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a678: ed9f 7a5a vldr s14, [pc, #360] ; 809a7e4 809a67c: ee67 7a87 vmul.f32 s15, s15, s14 809a680: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op2_ipr == DIAGN_ACC) 809a684: 4b54 ldr r3, [pc, #336] ; (809a7d8 ) 809a686: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809a68a: b2db uxtb r3, r3 809a68c: 2b01 cmp r3, #1 809a68e: d112 bne.n 809a6b6 if(pardata.LANG == RUS) 809a690: 4b56 ldr r3, [pc, #344] ; (809a7ec ) 809a692: 7b1b ldrb r3, [r3, #12] 809a694: b2db uxtb r3, r3 809a696: 2b00 cmp r3, #0 809a698: d106 bne.n 809a6a8 BSP_LCD_DisplayStringAt(170, 137, "ìì/c^", LEFT_MODE); 809a69a: 2303 movs r3, #3 809a69c: 4a61 ldr r2, [pc, #388] ; (809a824 ) 809a69e: 2189 movs r1, #137 ; 0x89 809a6a0: 20aa movs r0, #170 ; 0xaa 809a6a2: f7ba f87b bl 805479c 809a6a6: e037 b.n 809a718 else BSP_LCD_DisplayStringAt(170, 137, "mm/s^", LEFT_MODE); 809a6a8: 2303 movs r3, #3 809a6aa: 4a5f ldr r2, [pc, #380] ; (809a828 ) 809a6ac: 2189 movs r1, #137 ; 0x89 809a6ae: 20aa movs r0, #170 ; 0xaa 809a6b0: f7ba f874 bl 805479c 809a6b4: e030 b.n 809a718 else if(DiagnFileData.d_Op2_ipr == DIAGN_VEL) 809a6b6: 4b48 ldr r3, [pc, #288] ; (809a7d8 ) 809a6b8: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809a6bc: b2db uxtb r3, r3 809a6be: 2b02 cmp r3, #2 809a6c0: d112 bne.n 809a6e8 if(pardata.LANG == RUS) 809a6c2: 4b4a ldr r3, [pc, #296] ; (809a7ec ) 809a6c4: 7b1b ldrb r3, [r3, #12] 809a6c6: b2db uxtb r3, r3 809a6c8: 2b00 cmp r3, #0 809a6ca: d106 bne.n 809a6da BSP_LCD_DisplayStringAt(170, 137, "ìêì/c", LEFT_MODE); 809a6cc: 2303 movs r3, #3 809a6ce: 4a57 ldr r2, [pc, #348] ; (809a82c ) 809a6d0: 2189 movs r1, #137 ; 0x89 809a6d2: 20aa movs r0, #170 ; 0xaa 809a6d4: f7ba f862 bl 805479c 809a6d8: e01e b.n 809a718 else BSP_LCD_DisplayStringAt(170, 137, "mkm/s", LEFT_MODE); 809a6da: 2303 movs r3, #3 809a6dc: 4a54 ldr r2, [pc, #336] ; (809a830 ) 809a6de: 2189 movs r1, #137 ; 0x89 809a6e0: 20aa movs r0, #170 ; 0xaa 809a6e2: f7ba f85b bl 805479c 809a6e6: e017 b.n 809a718 else if(DiagnFileData.d_Op2_ipr == DIAGN_DIS) 809a6e8: 4b3b ldr r3, [pc, #236] ; (809a7d8 ) 809a6ea: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809a6ee: b2db uxtb r3, r3 809a6f0: 2b04 cmp r3, #4 809a6f2: d111 bne.n 809a718 if(pardata.LANG == RUS) 809a6f4: 4b3d ldr r3, [pc, #244] ; (809a7ec ) 809a6f6: 7b1b ldrb r3, [r3, #12] 809a6f8: b2db uxtb r3, r3 809a6fa: 2b00 cmp r3, #0 809a6fc: d106 bne.n 809a70c BSP_LCD_DisplayStringAt(170, 137, "íì", LEFT_MODE); 809a6fe: 2303 movs r3, #3 809a700: 4a4c ldr r2, [pc, #304] ; (809a834 ) 809a702: 2189 movs r1, #137 ; 0x89 809a704: 20aa movs r0, #170 ; 0xaa 809a706: f7ba f849 bl 805479c 809a70a: e005 b.n 809a718 else BSP_LCD_DisplayStringAt(170, 137, "nm", LEFT_MODE); 809a70c: 2303 movs r3, #3 809a70e: 4a4a ldr r2, [pc, #296] ; (809a838 ) 809a710: 2189 movs r1, #137 ; 0x89 809a712: 20aa movs r0, #170 ; 0xaa 809a714: f7ba f842 bl 805479c if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809a718: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a71c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809a720: eef4 7ac7 vcmpe.f32 s15, s14 809a724: eef1 fa10 vmrs APSR_nzcv, fpscr 809a728: d50e bpl.n 809a748 809a72a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a72e: f06f 0003 mvn.w r0, #3 809a732: eeb0 0a67 vmov.f32 s0, s15 809a736: f7cc ff33 bl 80675a0 809a73a: 4602 mov r2, r0 809a73c: 2302 movs r3, #2 809a73e: 2189 movs r1, #137 ; 0x89 809a740: 20a0 movs r0, #160 ; 0xa0 809a742: f7ba f82b bl 805479c 809a746: e095 b.n 809a874 else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809a748: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a74c: ed9f 7a3b vldr s14, [pc, #236] ; 809a83c 809a750: eef4 7ac7 vcmpe.f32 s15, s14 809a754: eef1 fa10 vmrs APSR_nzcv, fpscr 809a758: d50e bpl.n 809a778 809a75a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a75e: f06f 0002 mvn.w r0, #2 809a762: eeb0 0a67 vmov.f32 s0, s15 809a766: f7cc ff1b bl 80675a0 809a76a: 4602 mov r2, r0 809a76c: 2302 movs r3, #2 809a76e: 2189 movs r1, #137 ; 0x89 809a770: 20a0 movs r0, #160 ; 0xa0 809a772: f7ba f813 bl 805479c 809a776: e07d b.n 809a874 else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809a778: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a77c: ed9f 7a19 vldr s14, [pc, #100] ; 809a7e4 809a780: eef4 7ac7 vcmpe.f32 s15, s14 809a784: eef1 fa10 vmrs APSR_nzcv, fpscr 809a788: d50e bpl.n 809a7a8 809a78a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a78e: f06f 0001 mvn.w r0, #1 809a792: eeb0 0a67 vmov.f32 s0, s15 809a796: f7cc ff03 bl 80675a0 809a79a: 4602 mov r2, r0 809a79c: 2302 movs r3, #2 809a79e: 2189 movs r1, #137 ; 0x89 809a7a0: 20a0 movs r0, #160 ; 0xa0 809a7a2: f7b9 fffb bl 805479c 809a7a6: e065 b.n 809a874 else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809a7a8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a7ac: ed9f 7a24 vldr s14, [pc, #144] ; 809a840 809a7b0: eef4 7ac7 vcmpe.f32 s15, s14 809a7b4: eef1 fa10 vmrs APSR_nzcv, fpscr 809a7b8: d546 bpl.n 809a848 809a7ba: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a7be: f04f 30ff mov.w r0, #4294967295 809a7c2: eeb0 0a67 vmov.f32 s0, s15 809a7c6: f7cc feeb bl 80675a0 809a7ca: 4602 mov r2, r0 809a7cc: 2302 movs r3, #2 809a7ce: 2189 movs r1, #137 ; 0x89 809a7d0: 20a0 movs r0, #160 ; 0xa0 809a7d2: f7b9 ffe3 bl 805479c 809a7d6: e04d b.n 809a874 809a7d8: 2002263c .word 0x2002263c 809a7dc: ff0a0f1f .word 0xff0a0f1f 809a7e0: ffff0000 .word 0xffff0000 809a7e4: 447a0000 .word 0x447a0000 809a7e8: 3a83126f .word 0x3a83126f 809a7ec: 20023ea8 .word 0x20023ea8 809a7f0: 080d4d08 .word 0x080d4d08 809a7f4: 080d4d10 .word 0x080d4d10 809a7f8: 080d4d18 .word 0x080d4d18 809a7fc: 080d4d1c .word 0x080d4d1c 809a800: 080d4d20 .word 0x080d4d20 809a804: 080d4d24 .word 0x080d4d24 809a808: 3dcccccd .word 0x3dcccccd 809a80c: 080d4d28 .word 0x080d4d28 809a810: 080d4d30 .word 0x080d4d30 809a814: 080d4d38 .word 0x080d4d38 809a818: 080d4d40 .word 0x080d4d40 809a81c: 080d4d48 .word 0x080d4d48 809a820: 080d4d4c .word 0x080d4d4c 809a824: 080d4d50 .word 0x080d4d50 809a828: 080d4d58 .word 0x080d4d58 809a82c: 080d4d60 .word 0x080d4d60 809a830: 080d4d68 .word 0x080d4d68 809a834: 080d4d70 .word 0x080d4d70 809a838: 080d4d74 .word 0x080d4d74 809a83c: 42c80000 .word 0x42c80000 809a840: 461c4000 .word 0x461c4000 809a844: 47c35000 .word 0x47c35000 else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809a848: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a84c: ed1f 7a03 vldr s14, [pc, #-12] ; 809a844 809a850: eef4 7ac7 vcmpe.f32 s15, s14 809a854: eef1 fa10 vmrs APSR_nzcv, fpscr 809a858: d50c bpl.n 809a874 809a85a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a85e: 2000 movs r0, #0 809a860: eeb0 0a67 vmov.f32 s0, s15 809a864: f7cc fe9c bl 80675a0 809a868: 4602 mov r2, r0 809a86a: 2302 movs r3, #2 809a86c: 2189 movs r1, #137 ; 0x89 809a86e: 20a0 movs r0, #160 ; 0xa0 809a870: f7b9 ff94 bl 805479c if((DiagnFileData.d_Op3_ipr != DIAGN_NO) && (DiagnFileData.Op_3.fl != -1.0f)) 809a874: 4bbb ldr r3, [pc, #748] ; (809ab64 ) 809a876: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809a87a: b2db uxtb r3, r3 809a87c: 2b00 cmp r3, #0 809a87e: f000 81ef beq.w 809ac60 809a882: 4bb8 ldr r3, [pc, #736] ; (809ab64 ) 809a884: edd3 7a02 vldr s15, [r3, #8] 809a888: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809a88c: eef4 7a47 vcmp.f32 s15, s14 809a890: eef1 fa10 vmrs APSR_nzcv, fpscr 809a894: f000 81e4 beq.w 809ac60 if(DiagnFileData.d_Op3_Color == 0) LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809a898: 4bb2 ldr r3, [pc, #712] ; (809ab64 ) 809a89a: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 809a89e: b2db uxtb r3, r3 809a8a0: 2b00 cmp r3, #0 809a8a2: d105 bne.n 809a8b0 809a8a4: 49b0 ldr r1, [pc, #704] ; (809ab68 ) 809a8a6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809a8aa: f7b9 feb1 bl 8054610 809a8ae: e015 b.n 809a8dc else if(DiagnFileData.d_Op3_Color == 1) LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809a8b0: 4bac ldr r3, [pc, #688] ; (809ab64 ) 809a8b2: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 809a8b6: b2db uxtb r3, r3 809a8b8: 2b01 cmp r3, #1 809a8ba: d105 bne.n 809a8c8 809a8bc: 49aa ldr r1, [pc, #680] ; (809ab68 ) 809a8be: f06f 00ff mvn.w r0, #255 ; 0xff 809a8c2: f7b9 fea5 bl 8054610 809a8c6: e009 b.n 809a8dc else if(DiagnFileData.d_Op3_Color == 2) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809a8c8: 4ba6 ldr r3, [pc, #664] ; (809ab64 ) 809a8ca: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 809a8ce: b2db uxtb r3, r3 809a8d0: 2b02 cmp r3, #2 809a8d2: d103 bne.n 809a8dc 809a8d4: 49a4 ldr r1, [pc, #656] ; (809ab68 ) 809a8d6: 48a5 ldr r0, [pc, #660] ; (809ab6c ) 809a8d8: f7b9 fe9a bl 8054610 f = DiagnFileData.Op_3.fl; 809a8dc: 4ba1 ldr r3, [pc, #644] ; (809ab64 ) 809a8de: 689b ldr r3, [r3, #8] 809a8e0: 647b str r3, [r7, #68] ; 0x44 if((DiagnFileData.d_Op3_ivs != 'E') && (DiagnFileData.d_Op3_ivs != 'F')) 809a8e2: 4ba0 ldr r3, [pc, #640] ; (809ab64 ) 809a8e4: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809a8e8: b2db uxtb r3, r3 809a8ea: 2b45 cmp r3, #69 ; 0x45 809a8ec: f000 810a beq.w 809ab04 809a8f0: 4b9c ldr r3, [pc, #624] ; (809ab64 ) 809a8f2: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809a8f6: b2db uxtb r3, r3 809a8f8: 2b46 cmp r3, #70 ; 0x46 809a8fa: f000 8103 beq.w 809ab04 if(f >= 1000.0f) 809a8fe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a902: ed9f 7ab1 vldr s14, [pc, #708] ; 809abc8 809a906: eef4 7ac7 vcmpe.f32 s15, s14 809a90a: eef1 fa10 vmrs APSR_nzcv, fpscr 809a90e: db53 blt.n 809a9b8 f *= 0.001f; 809a910: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a914: ed9f 7a96 vldr s14, [pc, #600] ; 809ab70 809a918: ee67 7a87 vmul.f32 s15, s15, s14 809a91c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op3_ipr == DIAGN_ACC) 809a920: 4b90 ldr r3, [pc, #576] ; (809ab64 ) 809a922: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809a926: b2db uxtb r3, r3 809a928: 2b01 cmp r3, #1 809a92a: d112 bne.n 809a952 if(pardata.LANG == RUS) 809a92c: 4b91 ldr r3, [pc, #580] ; (809ab74 ) 809a92e: 7b1b ldrb r3, [r3, #12] 809a930: b2db uxtb r3, r3 809a932: 2b00 cmp r3, #0 809a934: d106 bne.n 809a944 BSP_LCD_DisplayStringAt(170, 173, "kì/c^", LEFT_MODE); 809a936: 2303 movs r3, #3 809a938: 4a8f ldr r2, [pc, #572] ; (809ab78 ) 809a93a: 21ad movs r1, #173 ; 0xad 809a93c: 20aa movs r0, #170 ; 0xaa 809a93e: f7b9 ff2d bl 805479c 809a942: e0df b.n 809ab04 else BSP_LCD_DisplayStringAt(170, 173, "km/s^", LEFT_MODE); 809a944: 2303 movs r3, #3 809a946: 4a8d ldr r2, [pc, #564] ; (809ab7c ) 809a948: 21ad movs r1, #173 ; 0xad 809a94a: 20aa movs r0, #170 ; 0xaa 809a94c: f7b9 ff26 bl 805479c 809a950: e0d8 b.n 809ab04 else if(DiagnFileData.d_Op3_ipr == DIAGN_VEL) 809a952: 4b84 ldr r3, [pc, #528] ; (809ab64 ) 809a954: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809a958: b2db uxtb r3, r3 809a95a: 2b02 cmp r3, #2 809a95c: d112 bne.n 809a984 if(pardata.LANG == RUS) 809a95e: 4b85 ldr r3, [pc, #532] ; (809ab74 ) 809a960: 7b1b ldrb r3, [r3, #12] 809a962: b2db uxtb r3, r3 809a964: 2b00 cmp r3, #0 809a966: d106 bne.n 809a976 BSP_LCD_DisplayStringAt(170, 173, "ì/c", LEFT_MODE); 809a968: 2303 movs r3, #3 809a96a: 4a85 ldr r2, [pc, #532] ; (809ab80 ) 809a96c: 21ad movs r1, #173 ; 0xad 809a96e: 20aa movs r0, #170 ; 0xaa 809a970: f7b9 ff14 bl 805479c 809a974: e0c6 b.n 809ab04 else BSP_LCD_DisplayStringAt(170, 173, "m/s", LEFT_MODE); 809a976: 2303 movs r3, #3 809a978: 4a82 ldr r2, [pc, #520] ; (809ab84 ) 809a97a: 21ad movs r1, #173 ; 0xad 809a97c: 20aa movs r0, #170 ; 0xaa 809a97e: f7b9 ff0d bl 805479c 809a982: e0bf b.n 809ab04 else if(DiagnFileData.d_Op3_ipr == DIAGN_DIS) 809a984: 4b77 ldr r3, [pc, #476] ; (809ab64 ) 809a986: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809a98a: b2db uxtb r3, r3 809a98c: 2b04 cmp r3, #4 809a98e: f040 80b9 bne.w 809ab04 if(pardata.LANG == RUS) 809a992: 4b78 ldr r3, [pc, #480] ; (809ab74 ) 809a994: 7b1b ldrb r3, [r3, #12] 809a996: b2db uxtb r3, r3 809a998: 2b00 cmp r3, #0 809a99a: d106 bne.n 809a9aa BSP_LCD_DisplayStringAt(170, 173, "ìì", LEFT_MODE); 809a99c: 2303 movs r3, #3 809a99e: 4a7a ldr r2, [pc, #488] ; (809ab88 ) 809a9a0: 21ad movs r1, #173 ; 0xad 809a9a2: 20aa movs r0, #170 ; 0xaa 809a9a4: f7b9 fefa bl 805479c 809a9a8: e0ac b.n 809ab04 else BSP_LCD_DisplayStringAt(170, 173, "mm", LEFT_MODE); 809a9aa: 2303 movs r3, #3 809a9ac: 4a77 ldr r2, [pc, #476] ; (809ab8c ) 809a9ae: 21ad movs r1, #173 ; 0xad 809a9b0: 20aa movs r0, #170 ; 0xaa 809a9b2: f7b9 fef3 bl 805479c 809a9b6: e0a5 b.n 809ab04 if(f >= 0.1f) 809a9b8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a9bc: ed9f 7a74 vldr s14, [pc, #464] ; 809ab90 809a9c0: eef4 7ac7 vcmpe.f32 s15, s14 809a9c4: eef1 fa10 vmrs APSR_nzcv, fpscr 809a9c8: db4a blt.n 809aa60 if(DiagnFileData.d_Op3_ipr == DIAGN_ACC) 809a9ca: 4b66 ldr r3, [pc, #408] ; (809ab64 ) 809a9cc: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809a9d0: b2db uxtb r3, r3 809a9d2: 2b01 cmp r3, #1 809a9d4: d112 bne.n 809a9fc if(pardata.LANG == RUS) 809a9d6: 4b67 ldr r3, [pc, #412] ; (809ab74 ) 809a9d8: 7b1b ldrb r3, [r3, #12] 809a9da: b2db uxtb r3, r3 809a9dc: 2b00 cmp r3, #0 809a9de: d106 bne.n 809a9ee BSP_LCD_DisplayStringAt(170, 173, "ì/c^", LEFT_MODE); 809a9e0: 2303 movs r3, #3 809a9e2: 4a6c ldr r2, [pc, #432] ; (809ab94 ) 809a9e4: 21ad movs r1, #173 ; 0xad 809a9e6: 20aa movs r0, #170 ; 0xaa 809a9e8: f7b9 fed8 bl 805479c 809a9ec: e08a b.n 809ab04 else BSP_LCD_DisplayStringAt(170, 173, "m/s^", LEFT_MODE); 809a9ee: 2303 movs r3, #3 809a9f0: 4a69 ldr r2, [pc, #420] ; (809ab98 ) 809a9f2: 21ad movs r1, #173 ; 0xad 809a9f4: 20aa movs r0, #170 ; 0xaa 809a9f6: f7b9 fed1 bl 805479c 809a9fa: e083 b.n 809ab04 else if(DiagnFileData.d_Op3_ipr == DIAGN_VEL) 809a9fc: 4b59 ldr r3, [pc, #356] ; (809ab64 ) 809a9fe: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809aa02: b2db uxtb r3, r3 809aa04: 2b02 cmp r3, #2 809aa06: d112 bne.n 809aa2e if(pardata.LANG == RUS) 809aa08: 4b5a ldr r3, [pc, #360] ; (809ab74 ) 809aa0a: 7b1b ldrb r3, [r3, #12] 809aa0c: b2db uxtb r3, r3 809aa0e: 2b00 cmp r3, #0 809aa10: d106 bne.n 809aa20 BSP_LCD_DisplayStringAt(170, 173, "ìì/c", LEFT_MODE); 809aa12: 2303 movs r3, #3 809aa14: 4a61 ldr r2, [pc, #388] ; (809ab9c ) 809aa16: 21ad movs r1, #173 ; 0xad 809aa18: 20aa movs r0, #170 ; 0xaa 809aa1a: f7b9 febf bl 805479c 809aa1e: e071 b.n 809ab04 else BSP_LCD_DisplayStringAt(170, 173, "mm/s", LEFT_MODE); 809aa20: 2303 movs r3, #3 809aa22: 4a5f ldr r2, [pc, #380] ; (809aba0 ) 809aa24: 21ad movs r1, #173 ; 0xad 809aa26: 20aa movs r0, #170 ; 0xaa 809aa28: f7b9 feb8 bl 805479c 809aa2c: e06a b.n 809ab04 else if(DiagnFileData.d_Op3_ipr == DIAGN_DIS) 809aa2e: 4b4d ldr r3, [pc, #308] ; (809ab64 ) 809aa30: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809aa34: b2db uxtb r3, r3 809aa36: 2b04 cmp r3, #4 809aa38: d164 bne.n 809ab04 if(pardata.LANG == RUS) 809aa3a: 4b4e ldr r3, [pc, #312] ; (809ab74 ) 809aa3c: 7b1b ldrb r3, [r3, #12] 809aa3e: b2db uxtb r3, r3 809aa40: 2b00 cmp r3, #0 809aa42: d106 bne.n 809aa52 BSP_LCD_DisplayStringAt(170, 173, "ìkì", LEFT_MODE); 809aa44: 2303 movs r3, #3 809aa46: 4a57 ldr r2, [pc, #348] ; (809aba4 ) 809aa48: 21ad movs r1, #173 ; 0xad 809aa4a: 20aa movs r0, #170 ; 0xaa 809aa4c: f7b9 fea6 bl 805479c 809aa50: e058 b.n 809ab04 else BSP_LCD_DisplayStringAt(170, 173, "um", LEFT_MODE); 809aa52: 2303 movs r3, #3 809aa54: 4a54 ldr r2, [pc, #336] ; (809aba8 ) 809aa56: 21ad movs r1, #173 ; 0xad 809aa58: 20aa movs r0, #170 ; 0xaa 809aa5a: f7b9 fe9f bl 805479c 809aa5e: e051 b.n 809ab04 f *= 1000.0f; 809aa60: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809aa64: ed9f 7a58 vldr s14, [pc, #352] ; 809abc8 809aa68: ee67 7a87 vmul.f32 s15, s15, s14 809aa6c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op3_ipr == DIAGN_ACC) 809aa70: 4b3c ldr r3, [pc, #240] ; (809ab64 ) 809aa72: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809aa76: b2db uxtb r3, r3 809aa78: 2b01 cmp r3, #1 809aa7a: d112 bne.n 809aaa2 if(pardata.LANG == RUS) 809aa7c: 4b3d ldr r3, [pc, #244] ; (809ab74 ) 809aa7e: 7b1b ldrb r3, [r3, #12] 809aa80: b2db uxtb r3, r3 809aa82: 2b00 cmp r3, #0 809aa84: d106 bne.n 809aa94 BSP_LCD_DisplayStringAt(170, 173, "ìì/c^", LEFT_MODE); 809aa86: 2303 movs r3, #3 809aa88: 4a48 ldr r2, [pc, #288] ; (809abac ) 809aa8a: 21ad movs r1, #173 ; 0xad 809aa8c: 20aa movs r0, #170 ; 0xaa 809aa8e: f7b9 fe85 bl 805479c 809aa92: e037 b.n 809ab04 else BSP_LCD_DisplayStringAt(170, 173, "mm/s^", LEFT_MODE); 809aa94: 2303 movs r3, #3 809aa96: 4a46 ldr r2, [pc, #280] ; (809abb0 ) 809aa98: 21ad movs r1, #173 ; 0xad 809aa9a: 20aa movs r0, #170 ; 0xaa 809aa9c: f7b9 fe7e bl 805479c 809aaa0: e030 b.n 809ab04 else if(DiagnFileData.d_Op3_ipr == DIAGN_VEL) 809aaa2: 4b30 ldr r3, [pc, #192] ; (809ab64 ) 809aaa4: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809aaa8: b2db uxtb r3, r3 809aaaa: 2b02 cmp r3, #2 809aaac: d112 bne.n 809aad4 if(pardata.LANG == RUS) 809aaae: 4b31 ldr r3, [pc, #196] ; (809ab74 ) 809aab0: 7b1b ldrb r3, [r3, #12] 809aab2: b2db uxtb r3, r3 809aab4: 2b00 cmp r3, #0 809aab6: d106 bne.n 809aac6 BSP_LCD_DisplayStringAt(170, 173, "ìêì/c", LEFT_MODE); 809aab8: 2303 movs r3, #3 809aaba: 4a3e ldr r2, [pc, #248] ; (809abb4 ) 809aabc: 21ad movs r1, #173 ; 0xad 809aabe: 20aa movs r0, #170 ; 0xaa 809aac0: f7b9 fe6c bl 805479c 809aac4: e01e b.n 809ab04 else BSP_LCD_DisplayStringAt(170, 173, "mkm/s", LEFT_MODE); 809aac6: 2303 movs r3, #3 809aac8: 4a3b ldr r2, [pc, #236] ; (809abb8 ) 809aaca: 21ad movs r1, #173 ; 0xad 809aacc: 20aa movs r0, #170 ; 0xaa 809aace: f7b9 fe65 bl 805479c 809aad2: e017 b.n 809ab04 else if(DiagnFileData.d_Op3_ipr == DIAGN_DIS) 809aad4: 4b23 ldr r3, [pc, #140] ; (809ab64 ) 809aad6: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809aada: b2db uxtb r3, r3 809aadc: 2b04 cmp r3, #4 809aade: d111 bne.n 809ab04 if(pardata.LANG == RUS) 809aae0: 4b24 ldr r3, [pc, #144] ; (809ab74 ) 809aae2: 7b1b ldrb r3, [r3, #12] 809aae4: b2db uxtb r3, r3 809aae6: 2b00 cmp r3, #0 809aae8: d106 bne.n 809aaf8 BSP_LCD_DisplayStringAt(170, 173, "íì", LEFT_MODE); 809aaea: 2303 movs r3, #3 809aaec: 4a33 ldr r2, [pc, #204] ; (809abbc ) 809aaee: 21ad movs r1, #173 ; 0xad 809aaf0: 20aa movs r0, #170 ; 0xaa 809aaf2: f7b9 fe53 bl 805479c 809aaf6: e005 b.n 809ab04 else BSP_LCD_DisplayStringAt(170, 173, "nm", LEFT_MODE); 809aaf8: 2303 movs r3, #3 809aafa: 4a31 ldr r2, [pc, #196] ; (809abc0 ) 809aafc: 21ad movs r1, #173 ; 0xad 809aafe: 20aa movs r0, #170 ; 0xaa 809ab00: f7b9 fe4c bl 805479c if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809ab04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ab08: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ab0c: eef4 7ac7 vcmpe.f32 s15, s14 809ab10: eef1 fa10 vmrs APSR_nzcv, fpscr 809ab14: d50e bpl.n 809ab34 809ab16: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ab1a: f06f 0003 mvn.w r0, #3 809ab1e: eeb0 0a67 vmov.f32 s0, s15 809ab22: f7cc fd3d bl 80675a0 809ab26: 4602 mov r2, r0 809ab28: 2302 movs r3, #2 809ab2a: 21ad movs r1, #173 ; 0xad 809ab2c: 20a0 movs r0, #160 ; 0xa0 809ab2e: f7b9 fe35 bl 805479c 809ab32: e095 b.n 809ac60 else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809ab34: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ab38: ed9f 7a22 vldr s14, [pc, #136] ; 809abc4 809ab3c: eef4 7ac7 vcmpe.f32 s15, s14 809ab40: eef1 fa10 vmrs APSR_nzcv, fpscr 809ab44: d546 bpl.n 809abd4 809ab46: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ab4a: f06f 0002 mvn.w r0, #2 809ab4e: eeb0 0a67 vmov.f32 s0, s15 809ab52: f7cc fd25 bl 80675a0 809ab56: 4602 mov r2, r0 809ab58: 2302 movs r3, #2 809ab5a: 21ad movs r1, #173 ; 0xad 809ab5c: 20a0 movs r0, #160 ; 0xa0 809ab5e: f7b9 fe1d bl 805479c 809ab62: e07d b.n 809ac60 809ab64: 2002263c .word 0x2002263c 809ab68: ff0a0f1f .word 0xff0a0f1f 809ab6c: ffff0000 .word 0xffff0000 809ab70: 3a83126f .word 0x3a83126f 809ab74: 20023ea8 .word 0x20023ea8 809ab78: 080d4d08 .word 0x080d4d08 809ab7c: 080d4d10 .word 0x080d4d10 809ab80: 080d4d18 .word 0x080d4d18 809ab84: 080d4d1c .word 0x080d4d1c 809ab88: 080d4d20 .word 0x080d4d20 809ab8c: 080d4d24 .word 0x080d4d24 809ab90: 3dcccccd .word 0x3dcccccd 809ab94: 080d4d28 .word 0x080d4d28 809ab98: 080d4d30 .word 0x080d4d30 809ab9c: 080d4d38 .word 0x080d4d38 809aba0: 080d4d40 .word 0x080d4d40 809aba4: 080d4d48 .word 0x080d4d48 809aba8: 080d4d4c .word 0x080d4d4c 809abac: 080d4d50 .word 0x080d4d50 809abb0: 080d4d58 .word 0x080d4d58 809abb4: 080d4d60 .word 0x080d4d60 809abb8: 080d4d68 .word 0x080d4d68 809abbc: 080d4d70 .word 0x080d4d70 809abc0: 080d4d74 .word 0x080d4d74 809abc4: 42c80000 .word 0x42c80000 809abc8: 447a0000 .word 0x447a0000 809abcc: 461c4000 .word 0x461c4000 809abd0: 47c35000 .word 0x47c35000 else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809abd4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809abd8: ed1f 7a05 vldr s14, [pc, #-20] ; 809abc8 809abdc: eef4 7ac7 vcmpe.f32 s15, s14 809abe0: eef1 fa10 vmrs APSR_nzcv, fpscr 809abe4: d50e bpl.n 809ac04 809abe6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809abea: f06f 0001 mvn.w r0, #1 809abee: eeb0 0a67 vmov.f32 s0, s15 809abf2: f7cc fcd5 bl 80675a0 809abf6: 4602 mov r2, r0 809abf8: 2302 movs r3, #2 809abfa: 21ad movs r1, #173 ; 0xad 809abfc: 20a0 movs r0, #160 ; 0xa0 809abfe: f7b9 fdcd bl 805479c 809ac02: e02d b.n 809ac60 else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809ac04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ac08: ed1f 7a10 vldr s14, [pc, #-64] ; 809abcc 809ac0c: eef4 7ac7 vcmpe.f32 s15, s14 809ac10: eef1 fa10 vmrs APSR_nzcv, fpscr 809ac14: d50e bpl.n 809ac34 809ac16: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ac1a: f04f 30ff mov.w r0, #4294967295 809ac1e: eeb0 0a67 vmov.f32 s0, s15 809ac22: f7cc fcbd bl 80675a0 809ac26: 4602 mov r2, r0 809ac28: 2302 movs r3, #2 809ac2a: 21ad movs r1, #173 ; 0xad 809ac2c: 20a0 movs r0, #160 ; 0xa0 809ac2e: f7b9 fdb5 bl 805479c 809ac32: e015 b.n 809ac60 else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809ac34: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ac38: ed1f 7a1b vldr s14, [pc, #-108] ; 809abd0 809ac3c: eef4 7ac7 vcmpe.f32 s15, s14 809ac40: eef1 fa10 vmrs APSR_nzcv, fpscr 809ac44: d50c bpl.n 809ac60 809ac46: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ac4a: 2000 movs r0, #0 809ac4c: eeb0 0a67 vmov.f32 s0, s15 809ac50: f7cc fca6 bl 80675a0 809ac54: 4602 mov r2, r0 809ac56: 2302 movs r3, #2 809ac58: 21ad movs r1, #173 ; 0xad 809ac5a: 20a0 movs r0, #160 ; 0xa0 809ac5c: f7b9 fd9e bl 805479c if(DiagnFileData.d_Alarm) 809ac60: 4bc8 ldr r3, [pc, #800] ; (809af84 ) 809ac62: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 809ac66: b2db uxtb r3, r3 809ac68: 2b00 cmp r3, #0 809ac6a: d006 beq.n 809ac7a DrawImage(&bmmy_A, 316-65, 121); 809ac6c: 2279 movs r2, #121 ; 0x79 809ac6e: 21fb movs r1, #251 ; 0xfb 809ac70: 48c5 ldr r0, [pc, #788] ; (809af88 ) 809ac72: f7ba fbc1 bl 80553f8 break; 809ac76: f009 bf1b b.w 80a4ab0 if(DiagnFileData.d_Warning) 809ac7a: 4bc2 ldr r3, [pc, #776] ; (809af84 ) 809ac7c: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 809ac80: b2db uxtb r3, r3 809ac82: 2b00 cmp r3, #0 809ac84: f009 8714 beq.w 80a4ab0 DrawImage(&bmmy_W, 316-65, 121); 809ac88: 2279 movs r2, #121 ; 0x79 809ac8a: 21fb movs r1, #251 ; 0xfb 809ac8c: 48bf ldr r0, [pc, #764] ; (809af8c ) 809ac8e: f7ba fbb3 bl 80553f8 break; 809ac92: f009 bf0d b.w 80a4ab0 if(NextIndexMeas < IndexMeas[NextIndexPoint]) 809ac96: 4bbe ldr r3, [pc, #760] ; (809af90 ) 809ac98: 681b ldr r3, [r3, #0] 809ac9a: 4abe ldr r2, [pc, #760] ; (809af94 ) 809ac9c: f852 2023 ldr.w r2, [r2, r3, lsl #2] 809aca0: 4bbd ldr r3, [pc, #756] ; (809af98 ) 809aca2: 681b ldr r3, [r3, #0] 809aca4: 429a cmp r2, r3 809aca6: d905 bls.n 809acb4 DrawImage(&bmSAVED, 298, 39); 809aca8: 2227 movs r2, #39 ; 0x27 809acaa: f44f 7195 mov.w r1, #298 ; 0x12a 809acae: 48bb ldr r0, [pc, #748] ; (809af9c ) 809acb0: f7ba fba2 bl 80553f8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809acb4: 49ba ldr r1, [pc, #744] ; (809afa0 ) 809acb6: f04f 30ff mov.w r0, #4294967295 809acba: f7b9 fca9 bl 8054610 memset(str, 0, sizeof(str)); 809acbe: f107 030c add.w r3, r7, #12 809acc2: 2228 movs r2, #40 ; 0x28 809acc4: 2100 movs r1, #0 809acc6: 4618 mov r0, r3 809acc8: f036 fb6a bl 80d13a0 switch(pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) 809accc: 4bb5 ldr r3, [pc, #724] ; (809afa4 ) 809acce: 781b ldrb r3, [r3, #0] 809acd0: b2db uxtb r3, r3 809acd2: 4ab5 ldr r2, [pc, #724] ; (809afa8 ) 809acd4: 338e adds r3, #142 ; 0x8e 809acd6: 009b lsls r3, r3, #2 809acd8: 4413 add r3, r2 809acda: 791b ldrb r3, [r3, #4] 809acdc: b2db uxtb r3, r3 809acde: f003 0307 and.w r3, r3, #7 809ace2: 2b04 cmp r3, #4 809ace4: f200 8123 bhi.w 809af2e 809ace8: a201 add r2, pc, #4 ; (adr r2, 809acf0 ) 809acea: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809acee: bf00 nop 809acf0: 0809ad05 .word 0x0809ad05 809acf4: 0809ad13 .word 0x0809ad13 809acf8: 0809adc5 .word 0x0809adc5 809acfc: 0809af2f .word 0x0809af2f 809ad00: 0809ae75 .word 0x0809ae75 case DIAGN_NO: BSP_LCD_DisplayStringAt(30, 101, "----", LEFT_MODE); break; 809ad04: 2303 movs r3, #3 809ad06: 4aa9 ldr r2, [pc, #676] ; (809afac ) 809ad08: 2165 movs r1, #101 ; 0x65 809ad0a: 201e movs r0, #30 809ad0c: f7b9 fd46 bl 805479c 809ad10: e10d b.n 809af2e switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 809ad12: 4ba4 ldr r3, [pc, #656] ; (809afa4 ) 809ad14: 781b ldrb r3, [r3, #0] 809ad16: b2db uxtb r3, r3 809ad18: 4aa3 ldr r2, [pc, #652] ; (809afa8 ) 809ad1a: 338e adds r3, #142 ; 0x8e 809ad1c: 009b lsls r3, r3, #2 809ad1e: 4413 add r3, r2 809ad20: 791b ldrb r3, [r3, #4] 809ad22: b2db uxtb r3, r3 809ad24: 08db lsrs r3, r3, #3 809ad26: b2db uxtb r3, r3 809ad28: f003 031f and.w r3, r3, #31 809ad2c: 3b01 subs r3, #1 809ad2e: 2b0f cmp r3, #15 809ad30: f200 80f8 bhi.w 809af24 809ad34: a201 add r2, pc, #4 ; (adr r2, 809ad3c ) 809ad36: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809ad3a: bf00 nop 809ad3c: 0809ad7d .word 0x0809ad7d 809ad40: 0809ad8b .word 0x0809ad8b 809ad44: 0809af25 .word 0x0809af25 809ad48: 0809ad99 .word 0x0809ad99 809ad4c: 0809af25 .word 0x0809af25 809ad50: 0809af25 .word 0x0809af25 809ad54: 0809af25 .word 0x0809af25 809ad58: 0809ada7 .word 0x0809ada7 809ad5c: 0809af25 .word 0x0809af25 809ad60: 0809af25 .word 0x0809af25 809ad64: 0809af25 .word 0x0809af25 809ad68: 0809af25 .word 0x0809af25 809ad6c: 0809af25 .word 0x0809af25 809ad70: 0809af25 .word 0x0809af25 809ad74: 0809af25 .word 0x0809af25 809ad78: 0809adb5 .word 0x0809adb5 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê]", LEFT_MODE); break; 809ad7c: 2303 movs r3, #3 809ad7e: 4a8c ldr r2, [pc, #560] ; (809afb0 ) 809ad80: 2165 movs r1, #101 ; 0x65 809ad82: 201e movs r0, #30 809ad84: f7b9 fd0a bl 805479c 809ad88: e01b b.n 809adc2 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 101, "A[ñêç]", LEFT_MODE); break; 809ad8a: 2303 movs r3, #3 809ad8c: 4a89 ldr r2, [pc, #548] ; (809afb4 ) 809ad8e: 2165 movs r1, #101 ; 0x65 809ad90: 201e movs r0, #30 809ad92: f7b9 fd03 bl 805479c 809ad96: e014 b.n 809adc2 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê-ïèê]", LEFT_MODE); break; 809ad98: 2303 movs r3, #3 809ad9a: 4a87 ldr r2, [pc, #540] ; (809afb8 ) 809ad9c: 2165 movs r1, #101 ; 0x65 809ad9e: 201e movs r0, #30 809ada0: f7b9 fcfc bl 805479c 809ada4: e00d b.n 809adc2 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 101, "A[ïô]", LEFT_MODE); break; 809ada6: 2303 movs r3, #3 809ada8: 4a84 ldr r2, [pc, #528] ; (809afbc ) 809adaa: 2165 movs r1, #101 ; 0x65 809adac: 201e movs r0, #30 809adae: f7b9 fcf5 bl 805479c 809adb2: e006 b.n 809adc2 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 101, "A[ýêñö]", LEFT_MODE); break; 809adb4: 2303 movs r3, #3 809adb6: 4a82 ldr r2, [pc, #520] ; (809afc0 ) 809adb8: 2165 movs r1, #101 ; 0x65 809adba: 201e movs r0, #30 809adbc: f7b9 fcee bl 805479c 809adc0: bf00 nop break; 809adc2: e0af b.n 809af24 switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 809adc4: 4b77 ldr r3, [pc, #476] ; (809afa4 ) 809adc6: 781b ldrb r3, [r3, #0] 809adc8: b2db uxtb r3, r3 809adca: 4a77 ldr r2, [pc, #476] ; (809afa8 ) 809adcc: 338e adds r3, #142 ; 0x8e 809adce: 009b lsls r3, r3, #2 809add0: 4413 add r3, r2 809add2: 791b ldrb r3, [r3, #4] 809add4: b2db uxtb r3, r3 809add6: 08db lsrs r3, r3, #3 809add8: b2db uxtb r3, r3 809adda: f003 031f and.w r3, r3, #31 809adde: 3b01 subs r3, #1 809ade0: 2b0f cmp r3, #15 809ade2: f200 80a1 bhi.w 809af28 809ade6: a201 add r2, pc, #4 ; (adr r2, 809adec ) 809ade8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809adec: 0809ae2d .word 0x0809ae2d 809adf0: 0809ae3b .word 0x0809ae3b 809adf4: 0809af29 .word 0x0809af29 809adf8: 0809ae49 .word 0x0809ae49 809adfc: 0809af29 .word 0x0809af29 809ae00: 0809af29 .word 0x0809af29 809ae04: 0809af29 .word 0x0809af29 809ae08: 0809ae57 .word 0x0809ae57 809ae0c: 0809af29 .word 0x0809af29 809ae10: 0809af29 .word 0x0809af29 809ae14: 0809af29 .word 0x0809af29 809ae18: 0809af29 .word 0x0809af29 809ae1c: 0809af29 .word 0x0809af29 809ae20: 0809af29 .word 0x0809af29 809ae24: 0809af29 .word 0x0809af29 809ae28: 0809ae65 .word 0x0809ae65 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê]", LEFT_MODE); break; 809ae2c: 2303 movs r3, #3 809ae2e: 4a65 ldr r2, [pc, #404] ; (809afc4 ) 809ae30: 2165 movs r1, #101 ; 0x65 809ae32: 201e movs r0, #30 809ae34: f7b9 fcb2 bl 805479c 809ae38: e01b b.n 809ae72 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 101, "V[ñêç]", LEFT_MODE); break; 809ae3a: 2303 movs r3, #3 809ae3c: 4a62 ldr r2, [pc, #392] ; (809afc8 ) 809ae3e: 2165 movs r1, #101 ; 0x65 809ae40: 201e movs r0, #30 809ae42: f7b9 fcab bl 805479c 809ae46: e014 b.n 809ae72 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê-ïèê]", LEFT_MODE); break; 809ae48: 2303 movs r3, #3 809ae4a: 4a60 ldr r2, [pc, #384] ; (809afcc ) 809ae4c: 2165 movs r1, #101 ; 0x65 809ae4e: 201e movs r0, #30 809ae50: f7b9 fca4 bl 805479c 809ae54: e00d b.n 809ae72 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 101, "V[ïô]", LEFT_MODE); break; 809ae56: 2303 movs r3, #3 809ae58: 4a5d ldr r2, [pc, #372] ; (809afd0 ) 809ae5a: 2165 movs r1, #101 ; 0x65 809ae5c: 201e movs r0, #30 809ae5e: f7b9 fc9d bl 805479c 809ae62: e006 b.n 809ae72 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 101, "V[ýêñö]", LEFT_MODE); break; 809ae64: 2303 movs r3, #3 809ae66: 4a5b ldr r2, [pc, #364] ; (809afd4 ) 809ae68: 2165 movs r1, #101 ; 0x65 809ae6a: 201e movs r0, #30 809ae6c: f7b9 fc96 bl 805479c 809ae70: bf00 nop break; 809ae72: e059 b.n 809af28 switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 809ae74: 4b4b ldr r3, [pc, #300] ; (809afa4 ) 809ae76: 781b ldrb r3, [r3, #0] 809ae78: b2db uxtb r3, r3 809ae7a: 4a4b ldr r2, [pc, #300] ; (809afa8 ) 809ae7c: 338e adds r3, #142 ; 0x8e 809ae7e: 009b lsls r3, r3, #2 809ae80: 4413 add r3, r2 809ae82: 791b ldrb r3, [r3, #4] 809ae84: b2db uxtb r3, r3 809ae86: 08db lsrs r3, r3, #3 809ae88: b2db uxtb r3, r3 809ae8a: f003 031f and.w r3, r3, #31 809ae8e: 3b01 subs r3, #1 809ae90: 2b0f cmp r3, #15 809ae92: d84b bhi.n 809af2c 809ae94: a201 add r2, pc, #4 ; (adr r2, 809ae9c ) 809ae96: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809ae9a: bf00 nop 809ae9c: 0809aedd .word 0x0809aedd 809aea0: 0809aeeb .word 0x0809aeeb 809aea4: 0809af2d .word 0x0809af2d 809aea8: 0809aef9 .word 0x0809aef9 809aeac: 0809af2d .word 0x0809af2d 809aeb0: 0809af2d .word 0x0809af2d 809aeb4: 0809af2d .word 0x0809af2d 809aeb8: 0809af07 .word 0x0809af07 809aebc: 0809af2d .word 0x0809af2d 809aec0: 0809af2d .word 0x0809af2d 809aec4: 0809af2d .word 0x0809af2d 809aec8: 0809af2d .word 0x0809af2d 809aecc: 0809af2d .word 0x0809af2d 809aed0: 0809af2d .word 0x0809af2d 809aed4: 0809af2d .word 0x0809af2d 809aed8: 0809af15 .word 0x0809af15 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê]", LEFT_MODE); break; 809aedc: 2303 movs r3, #3 809aede: 4a3e ldr r2, [pc, #248] ; (809afd8 ) 809aee0: 2165 movs r1, #101 ; 0x65 809aee2: 201e movs r0, #30 809aee4: f7b9 fc5a bl 805479c 809aee8: e01b b.n 809af22 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 101, "S[ñêç]", LEFT_MODE); break; 809aeea: 2303 movs r3, #3 809aeec: 4a3b ldr r2, [pc, #236] ; (809afdc ) 809aeee: 2165 movs r1, #101 ; 0x65 809aef0: 201e movs r0, #30 809aef2: f7b9 fc53 bl 805479c 809aef6: e014 b.n 809af22 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê-ïèê]", LEFT_MODE); break; 809aef8: 2303 movs r3, #3 809aefa: 4a39 ldr r2, [pc, #228] ; (809afe0 ) 809aefc: 2165 movs r1, #101 ; 0x65 809aefe: 201e movs r0, #30 809af00: f7b9 fc4c bl 805479c 809af04: e00d b.n 809af22 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 101, "S[ïô]", LEFT_MODE); break; 809af06: 2303 movs r3, #3 809af08: 4a36 ldr r2, [pc, #216] ; (809afe4 ) 809af0a: 2165 movs r1, #101 ; 0x65 809af0c: 201e movs r0, #30 809af0e: f7b9 fc45 bl 805479c 809af12: e006 b.n 809af22 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 101, "S[ýêñö]", LEFT_MODE); break; 809af14: 2303 movs r3, #3 809af16: 4a34 ldr r2, [pc, #208] ; (809afe8 ) 809af18: 2165 movs r1, #101 ; 0x65 809af1a: 201e movs r0, #30 809af1c: f7b9 fc3e bl 805479c 809af20: bf00 nop break; 809af22: e003 b.n 809af2c break; 809af24: bf00 nop 809af26: e002 b.n 809af2e break; 809af28: bf00 nop 809af2a: e000 b.n 809af2e break; 809af2c: bf00 nop memset(str, 0, sizeof(str)); 809af2e: f107 030c add.w r3, r7, #12 809af32: 2228 movs r2, #40 ; 0x28 809af34: 2100 movs r1, #0 809af36: 4618 mov r0, r3 809af38: f036 fa32 bl 80d13a0 switch(pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) 809af3c: 4b19 ldr r3, [pc, #100] ; (809afa4 ) 809af3e: 781b ldrb r3, [r3, #0] 809af40: b2db uxtb r3, r3 809af42: 4a19 ldr r2, [pc, #100] ; (809afa8 ) 809af44: 009b lsls r3, r3, #2 809af46: 4413 add r3, r2 809af48: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809af4c: b2db uxtb r3, r3 809af4e: f003 0307 and.w r3, r3, #7 809af52: 2b04 cmp r3, #4 809af54: f200 8157 bhi.w 809b206 809af58: a201 add r2, pc, #4 ; (adr r2, 809af60 ) 809af5a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809af5e: bf00 nop 809af60: 0809af75 .word 0x0809af75 809af64: 0809afed .word 0x0809afed 809af68: 0809b09d .word 0x0809b09d 809af6c: 0809b207 .word 0x0809b207 809af70: 0809b14d .word 0x0809b14d case DIAGN_NO: BSP_LCD_DisplayStringAt(197, 137, "----", LEFT_MODE); break; 809af74: 2303 movs r3, #3 809af76: 4a0d ldr r2, [pc, #52] ; (809afac ) 809af78: 2189 movs r1, #137 ; 0x89 809af7a: 20c5 movs r0, #197 ; 0xc5 809af7c: f7b9 fc0e bl 805479c 809af80: e141 b.n 809b206 809af82: bf00 nop 809af84: 2002263c .word 0x2002263c 809af88: 0816cef8 .word 0x0816cef8 809af8c: 0816dfd0 .word 0x0816dfd0 809af90: 20021fe4 .word 0x20021fe4 809af94: 20022ee8 .word 0x20022ee8 809af98: 20022358 .word 0x20022358 809af9c: 0814be4c .word 0x0814be4c 809afa0: ff0a0f1f .word 0xff0a0f1f 809afa4: 20021055 .word 0x20021055 809afa8: 20023ea8 .word 0x20023ea8 809afac: 080d4d00 .word 0x080d4d00 809afb0: 080d4c7c .word 0x080d4c7c 809afb4: 080d4c84 .word 0x080d4c84 809afb8: 080d4c8c .word 0x080d4c8c 809afbc: 080d4c98 .word 0x080d4c98 809afc0: 080d4ca0 .word 0x080d4ca0 809afc4: 080d4ca8 .word 0x080d4ca8 809afc8: 080d4cb0 .word 0x080d4cb0 809afcc: 080d4cb8 .word 0x080d4cb8 809afd0: 080d4cc4 .word 0x080d4cc4 809afd4: 080d4ccc .word 0x080d4ccc 809afd8: 080d4cd4 .word 0x080d4cd4 809afdc: 080d4cdc .word 0x080d4cdc 809afe0: 080d4ce4 .word 0x080d4ce4 809afe4: 080d4cf0 .word 0x080d4cf0 809afe8: 080d4cf8 .word 0x080d4cf8 switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 809afec: 4bc7 ldr r3, [pc, #796] ; (809b30c ) 809afee: 781b ldrb r3, [r3, #0] 809aff0: b2db uxtb r3, r3 809aff2: 4ac7 ldr r2, [pc, #796] ; (809b310 ) 809aff4: 009b lsls r3, r3, #2 809aff6: 4413 add r3, r2 809aff8: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809affc: b2db uxtb r3, r3 809affe: 08db lsrs r3, r3, #3 809b000: b2db uxtb r3, r3 809b002: f003 031f and.w r3, r3, #31 809b006: 3b01 subs r3, #1 809b008: 2b0f cmp r3, #15 809b00a: f200 80f7 bhi.w 809b1fc 809b00e: a201 add r2, pc, #4 ; (adr r2, 809b014 ) 809b010: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809b014: 0809b055 .word 0x0809b055 809b018: 0809b063 .word 0x0809b063 809b01c: 0809b1fd .word 0x0809b1fd 809b020: 0809b071 .word 0x0809b071 809b024: 0809b1fd .word 0x0809b1fd 809b028: 0809b1fd .word 0x0809b1fd 809b02c: 0809b1fd .word 0x0809b1fd 809b030: 0809b07f .word 0x0809b07f 809b034: 0809b1fd .word 0x0809b1fd 809b038: 0809b1fd .word 0x0809b1fd 809b03c: 0809b1fd .word 0x0809b1fd 809b040: 0809b1fd .word 0x0809b1fd 809b044: 0809b1fd .word 0x0809b1fd 809b048: 0809b1fd .word 0x0809b1fd 809b04c: 0809b1fd .word 0x0809b1fd 809b050: 0809b08d .word 0x0809b08d case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê]", LEFT_MODE); break; 809b054: 2303 movs r3, #3 809b056: 4aaf ldr r2, [pc, #700] ; (809b314 ) 809b058: 2189 movs r1, #137 ; 0x89 809b05a: 201e movs r0, #30 809b05c: f7b9 fb9e bl 805479c 809b060: e01b b.n 809b09a case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 137, "A[ñêç]", LEFT_MODE); break; 809b062: 2303 movs r3, #3 809b064: 4aac ldr r2, [pc, #688] ; (809b318 ) 809b066: 2189 movs r1, #137 ; 0x89 809b068: 201e movs r0, #30 809b06a: f7b9 fb97 bl 805479c 809b06e: e014 b.n 809b09a case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê-ïèê]", LEFT_MODE); break; 809b070: 2303 movs r3, #3 809b072: 4aaa ldr r2, [pc, #680] ; (809b31c ) 809b074: 2189 movs r1, #137 ; 0x89 809b076: 201e movs r0, #30 809b078: f7b9 fb90 bl 805479c 809b07c: e00d b.n 809b09a case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 137, "A[ïô]", LEFT_MODE); break; 809b07e: 2303 movs r3, #3 809b080: 4aa7 ldr r2, [pc, #668] ; (809b320 ) 809b082: 2189 movs r1, #137 ; 0x89 809b084: 201e movs r0, #30 809b086: f7b9 fb89 bl 805479c 809b08a: e006 b.n 809b09a case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 137, "A[ýêñö]", LEFT_MODE); break; 809b08c: 2303 movs r3, #3 809b08e: 4aa5 ldr r2, [pc, #660] ; (809b324 ) 809b090: 2189 movs r1, #137 ; 0x89 809b092: 201e movs r0, #30 809b094: f7b9 fb82 bl 805479c 809b098: bf00 nop break; 809b09a: e0af b.n 809b1fc switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 809b09c: 4b9b ldr r3, [pc, #620] ; (809b30c ) 809b09e: 781b ldrb r3, [r3, #0] 809b0a0: b2db uxtb r3, r3 809b0a2: 4a9b ldr r2, [pc, #620] ; (809b310 ) 809b0a4: 009b lsls r3, r3, #2 809b0a6: 4413 add r3, r2 809b0a8: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809b0ac: b2db uxtb r3, r3 809b0ae: 08db lsrs r3, r3, #3 809b0b0: b2db uxtb r3, r3 809b0b2: f003 031f and.w r3, r3, #31 809b0b6: 3b01 subs r3, #1 809b0b8: 2b0f cmp r3, #15 809b0ba: f200 80a1 bhi.w 809b200 809b0be: a201 add r2, pc, #4 ; (adr r2, 809b0c4 ) 809b0c0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809b0c4: 0809b105 .word 0x0809b105 809b0c8: 0809b113 .word 0x0809b113 809b0cc: 0809b201 .word 0x0809b201 809b0d0: 0809b121 .word 0x0809b121 809b0d4: 0809b201 .word 0x0809b201 809b0d8: 0809b201 .word 0x0809b201 809b0dc: 0809b201 .word 0x0809b201 809b0e0: 0809b12f .word 0x0809b12f 809b0e4: 0809b201 .word 0x0809b201 809b0e8: 0809b201 .word 0x0809b201 809b0ec: 0809b201 .word 0x0809b201 809b0f0: 0809b201 .word 0x0809b201 809b0f4: 0809b201 .word 0x0809b201 809b0f8: 0809b201 .word 0x0809b201 809b0fc: 0809b201 .word 0x0809b201 809b100: 0809b13d .word 0x0809b13d case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê]", LEFT_MODE); break; 809b104: 2303 movs r3, #3 809b106: 4a88 ldr r2, [pc, #544] ; (809b328 ) 809b108: 2189 movs r1, #137 ; 0x89 809b10a: 201e movs r0, #30 809b10c: f7b9 fb46 bl 805479c 809b110: e01b b.n 809b14a case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 137, "V[ñêç]", LEFT_MODE); break; 809b112: 2303 movs r3, #3 809b114: 4a85 ldr r2, [pc, #532] ; (809b32c ) 809b116: 2189 movs r1, #137 ; 0x89 809b118: 201e movs r0, #30 809b11a: f7b9 fb3f bl 805479c 809b11e: e014 b.n 809b14a case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê-ïèê]", LEFT_MODE); break; 809b120: 2303 movs r3, #3 809b122: 4a83 ldr r2, [pc, #524] ; (809b330 ) 809b124: 2189 movs r1, #137 ; 0x89 809b126: 201e movs r0, #30 809b128: f7b9 fb38 bl 805479c 809b12c: e00d b.n 809b14a case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 137, "V[ïô]", LEFT_MODE); break; 809b12e: 2303 movs r3, #3 809b130: 4a80 ldr r2, [pc, #512] ; (809b334 ) 809b132: 2189 movs r1, #137 ; 0x89 809b134: 201e movs r0, #30 809b136: f7b9 fb31 bl 805479c 809b13a: e006 b.n 809b14a case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 137, "V[ýêñö]", LEFT_MODE); break; 809b13c: 2303 movs r3, #3 809b13e: 4a7e ldr r2, [pc, #504] ; (809b338 ) 809b140: 2189 movs r1, #137 ; 0x89 809b142: 201e movs r0, #30 809b144: f7b9 fb2a bl 805479c 809b148: bf00 nop break; 809b14a: e059 b.n 809b200 switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 809b14c: 4b6f ldr r3, [pc, #444] ; (809b30c ) 809b14e: 781b ldrb r3, [r3, #0] 809b150: b2db uxtb r3, r3 809b152: 4a6f ldr r2, [pc, #444] ; (809b310 ) 809b154: 009b lsls r3, r3, #2 809b156: 4413 add r3, r2 809b158: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809b15c: b2db uxtb r3, r3 809b15e: 08db lsrs r3, r3, #3 809b160: b2db uxtb r3, r3 809b162: f003 031f and.w r3, r3, #31 809b166: 3b01 subs r3, #1 809b168: 2b0f cmp r3, #15 809b16a: d84b bhi.n 809b204 809b16c: a201 add r2, pc, #4 ; (adr r2, 809b174 ) 809b16e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809b172: bf00 nop 809b174: 0809b1b5 .word 0x0809b1b5 809b178: 0809b1c3 .word 0x0809b1c3 809b17c: 0809b205 .word 0x0809b205 809b180: 0809b1d1 .word 0x0809b1d1 809b184: 0809b205 .word 0x0809b205 809b188: 0809b205 .word 0x0809b205 809b18c: 0809b205 .word 0x0809b205 809b190: 0809b1df .word 0x0809b1df 809b194: 0809b205 .word 0x0809b205 809b198: 0809b205 .word 0x0809b205 809b19c: 0809b205 .word 0x0809b205 809b1a0: 0809b205 .word 0x0809b205 809b1a4: 0809b205 .word 0x0809b205 809b1a8: 0809b205 .word 0x0809b205 809b1ac: 0809b205 .word 0x0809b205 809b1b0: 0809b1ed .word 0x0809b1ed case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê]", LEFT_MODE); break; 809b1b4: 2303 movs r3, #3 809b1b6: 4a61 ldr r2, [pc, #388] ; (809b33c ) 809b1b8: 2189 movs r1, #137 ; 0x89 809b1ba: 201e movs r0, #30 809b1bc: f7b9 faee bl 805479c 809b1c0: e01b b.n 809b1fa case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 137, "S[ñêç]", LEFT_MODE); break; 809b1c2: 2303 movs r3, #3 809b1c4: 4a5e ldr r2, [pc, #376] ; (809b340 ) 809b1c6: 2189 movs r1, #137 ; 0x89 809b1c8: 201e movs r0, #30 809b1ca: f7b9 fae7 bl 805479c 809b1ce: e014 b.n 809b1fa case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê-ïèê]", LEFT_MODE); break; 809b1d0: 2303 movs r3, #3 809b1d2: 4a5c ldr r2, [pc, #368] ; (809b344 ) 809b1d4: 2189 movs r1, #137 ; 0x89 809b1d6: 201e movs r0, #30 809b1d8: f7b9 fae0 bl 805479c 809b1dc: e00d b.n 809b1fa case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 137, "S[ïô]", LEFT_MODE); break; 809b1de: 2303 movs r3, #3 809b1e0: 4a59 ldr r2, [pc, #356] ; (809b348 ) 809b1e2: 2189 movs r1, #137 ; 0x89 809b1e4: 201e movs r0, #30 809b1e6: f7b9 fad9 bl 805479c 809b1ea: e006 b.n 809b1fa case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 137, "S[ýêñö]", LEFT_MODE); break; 809b1ec: 2303 movs r3, #3 809b1ee: 4a57 ldr r2, [pc, #348] ; (809b34c ) 809b1f0: 2189 movs r1, #137 ; 0x89 809b1f2: 201e movs r0, #30 809b1f4: f7b9 fad2 bl 805479c 809b1f8: bf00 nop break; 809b1fa: e003 b.n 809b204 break; 809b1fc: bf00 nop 809b1fe: e002 b.n 809b206 break; 809b200: bf00 nop 809b202: e000 b.n 809b206 break; 809b204: bf00 nop memset(str, 0, sizeof(str)); 809b206: f107 030c add.w r3, r7, #12 809b20a: 2228 movs r2, #40 ; 0x28 809b20c: 2100 movs r1, #0 809b20e: 4618 mov r0, r3 809b210: f036 f8c6 bl 80d13a0 switch(pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) 809b214: 4b3d ldr r3, [pc, #244] ; (809b30c ) 809b216: 781b ldrb r3, [r3, #0] 809b218: b2db uxtb r3, r3 809b21a: 4a3d ldr r2, [pc, #244] ; (809b310 ) 809b21c: 009b lsls r3, r3, #2 809b21e: 4413 add r3, r2 809b220: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b224: b2db uxtb r3, r3 809b226: f003 0307 and.w r3, r3, #7 809b22a: 2b04 cmp r3, #4 809b22c: f200 8147 bhi.w 809b4be 809b230: a201 add r2, pc, #4 ; (adr r2, 809b238 ) 809b232: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809b236: bf00 nop 809b238: 0809b24d .word 0x0809b24d 809b23c: 0809b25b .word 0x0809b25b 809b240: 0809b355 .word 0x0809b355 809b244: 0809b4bf .word 0x0809b4bf 809b248: 0809b405 .word 0x0809b405 case DIAGN_NO: BSP_LCD_DisplayStringAt(72, 173, "----", LEFT_MODE); break; 809b24c: 2303 movs r3, #3 809b24e: 4a40 ldr r2, [pc, #256] ; (809b350 ) 809b250: 21ad movs r1, #173 ; 0xad 809b252: 2048 movs r0, #72 ; 0x48 809b254: f7b9 faa2 bl 805479c 809b258: e131 b.n 809b4be switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 809b25a: 4b2c ldr r3, [pc, #176] ; (809b30c ) 809b25c: 781b ldrb r3, [r3, #0] 809b25e: b2db uxtb r3, r3 809b260: 4a2b ldr r2, [pc, #172] ; (809b310 ) 809b262: 009b lsls r3, r3, #2 809b264: 4413 add r3, r2 809b266: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b26a: b2db uxtb r3, r3 809b26c: 08db lsrs r3, r3, #3 809b26e: b2db uxtb r3, r3 809b270: f003 031f and.w r3, r3, #31 809b274: 3b01 subs r3, #1 809b276: 2b0f cmp r3, #15 809b278: f200 811c bhi.w 809b4b4 809b27c: a201 add r2, pc, #4 ; (adr r2, 809b284 ) 809b27e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809b282: bf00 nop 809b284: 0809b2c5 .word 0x0809b2c5 809b288: 0809b2d3 .word 0x0809b2d3 809b28c: 0809b4b5 .word 0x0809b4b5 809b290: 0809b2e1 .word 0x0809b2e1 809b294: 0809b4b5 .word 0x0809b4b5 809b298: 0809b4b5 .word 0x0809b4b5 809b29c: 0809b4b5 .word 0x0809b4b5 809b2a0: 0809b2ef .word 0x0809b2ef 809b2a4: 0809b4b5 .word 0x0809b4b5 809b2a8: 0809b4b5 .word 0x0809b4b5 809b2ac: 0809b4b5 .word 0x0809b4b5 809b2b0: 0809b4b5 .word 0x0809b4b5 809b2b4: 0809b4b5 .word 0x0809b4b5 809b2b8: 0809b4b5 .word 0x0809b4b5 809b2bc: 0809b4b5 .word 0x0809b4b5 809b2c0: 0809b2fd .word 0x0809b2fd case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê]", LEFT_MODE); break; 809b2c4: 2303 movs r3, #3 809b2c6: 4a13 ldr r2, [pc, #76] ; (809b314 ) 809b2c8: 21ad movs r1, #173 ; 0xad 809b2ca: 201e movs r0, #30 809b2cc: f7b9 fa66 bl 805479c 809b2d0: e01b b.n 809b30a case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 173, "A[ñêç]", LEFT_MODE); break; 809b2d2: 2303 movs r3, #3 809b2d4: 4a10 ldr r2, [pc, #64] ; (809b318 ) 809b2d6: 21ad movs r1, #173 ; 0xad 809b2d8: 201e movs r0, #30 809b2da: f7b9 fa5f bl 805479c 809b2de: e014 b.n 809b30a case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê-ïèê]", LEFT_MODE); break; 809b2e0: 2303 movs r3, #3 809b2e2: 4a0e ldr r2, [pc, #56] ; (809b31c ) 809b2e4: 21ad movs r1, #173 ; 0xad 809b2e6: 201e movs r0, #30 809b2e8: f7b9 fa58 bl 805479c 809b2ec: e00d b.n 809b30a case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 173, "A[ïô]", LEFT_MODE); break; 809b2ee: 2303 movs r3, #3 809b2f0: 4a0b ldr r2, [pc, #44] ; (809b320 ) 809b2f2: 21ad movs r1, #173 ; 0xad 809b2f4: 201e movs r0, #30 809b2f6: f7b9 fa51 bl 805479c 809b2fa: e006 b.n 809b30a case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 173, "A[ýêñö]", LEFT_MODE); break; 809b2fc: 2303 movs r3, #3 809b2fe: 4a09 ldr r2, [pc, #36] ; (809b324 ) 809b300: 21ad movs r1, #173 ; 0xad 809b302: 201e movs r0, #30 809b304: f7b9 fa4a bl 805479c 809b308: bf00 nop break; 809b30a: e0d3 b.n 809b4b4 809b30c: 20021055 .word 0x20021055 809b310: 20023ea8 .word 0x20023ea8 809b314: 080d4c7c .word 0x080d4c7c 809b318: 080d4c84 .word 0x080d4c84 809b31c: 080d4c8c .word 0x080d4c8c 809b320: 080d4c98 .word 0x080d4c98 809b324: 080d4ca0 .word 0x080d4ca0 809b328: 080d4ca8 .word 0x080d4ca8 809b32c: 080d4cb0 .word 0x080d4cb0 809b330: 080d4cb8 .word 0x080d4cb8 809b334: 080d4cc4 .word 0x080d4cc4 809b338: 080d4ccc .word 0x080d4ccc 809b33c: 080d4cd4 .word 0x080d4cd4 809b340: 080d4cdc .word 0x080d4cdc 809b344: 080d4ce4 .word 0x080d4ce4 809b348: 080d4cf0 .word 0x080d4cf0 809b34c: 080d4cf8 .word 0x080d4cf8 809b350: 080d4d00 .word 0x080d4d00 switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 809b354: 4bc3 ldr r3, [pc, #780] ; (809b664 ) 809b356: 781b ldrb r3, [r3, #0] 809b358: b2db uxtb r3, r3 809b35a: 4ac3 ldr r2, [pc, #780] ; (809b668 ) 809b35c: 009b lsls r3, r3, #2 809b35e: 4413 add r3, r2 809b360: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b364: b2db uxtb r3, r3 809b366: 08db lsrs r3, r3, #3 809b368: b2db uxtb r3, r3 809b36a: f003 031f and.w r3, r3, #31 809b36e: 3b01 subs r3, #1 809b370: 2b0f cmp r3, #15 809b372: f200 80a1 bhi.w 809b4b8 809b376: a201 add r2, pc, #4 ; (adr r2, 809b37c ) 809b378: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809b37c: 0809b3bd .word 0x0809b3bd 809b380: 0809b3cb .word 0x0809b3cb 809b384: 0809b4b9 .word 0x0809b4b9 809b388: 0809b3d9 .word 0x0809b3d9 809b38c: 0809b4b9 .word 0x0809b4b9 809b390: 0809b4b9 .word 0x0809b4b9 809b394: 0809b4b9 .word 0x0809b4b9 809b398: 0809b3e7 .word 0x0809b3e7 809b39c: 0809b4b9 .word 0x0809b4b9 809b3a0: 0809b4b9 .word 0x0809b4b9 809b3a4: 0809b4b9 .word 0x0809b4b9 809b3a8: 0809b4b9 .word 0x0809b4b9 809b3ac: 0809b4b9 .word 0x0809b4b9 809b3b0: 0809b4b9 .word 0x0809b4b9 809b3b4: 0809b4b9 .word 0x0809b4b9 809b3b8: 0809b3f5 .word 0x0809b3f5 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê]", LEFT_MODE); break; 809b3bc: 2303 movs r3, #3 809b3be: 4aab ldr r2, [pc, #684] ; (809b66c ) 809b3c0: 21ad movs r1, #173 ; 0xad 809b3c2: 201e movs r0, #30 809b3c4: f7b9 f9ea bl 805479c 809b3c8: e01b b.n 809b402 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 173, "V[ñêç]", LEFT_MODE); break; 809b3ca: 2303 movs r3, #3 809b3cc: 4aa8 ldr r2, [pc, #672] ; (809b670 ) 809b3ce: 21ad movs r1, #173 ; 0xad 809b3d0: 201e movs r0, #30 809b3d2: f7b9 f9e3 bl 805479c 809b3d6: e014 b.n 809b402 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê-ïèê]", LEFT_MODE); break; 809b3d8: 2303 movs r3, #3 809b3da: 4aa6 ldr r2, [pc, #664] ; (809b674 ) 809b3dc: 21ad movs r1, #173 ; 0xad 809b3de: 201e movs r0, #30 809b3e0: f7b9 f9dc bl 805479c 809b3e4: e00d b.n 809b402 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 173, "V[ïô]", LEFT_MODE); break; 809b3e6: 2303 movs r3, #3 809b3e8: 4aa3 ldr r2, [pc, #652] ; (809b678 ) 809b3ea: 21ad movs r1, #173 ; 0xad 809b3ec: 201e movs r0, #30 809b3ee: f7b9 f9d5 bl 805479c 809b3f2: e006 b.n 809b402 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 173, "V[ýêñö]", LEFT_MODE); break; 809b3f4: 2303 movs r3, #3 809b3f6: 4aa1 ldr r2, [pc, #644] ; (809b67c ) 809b3f8: 21ad movs r1, #173 ; 0xad 809b3fa: 201e movs r0, #30 809b3fc: f7b9 f9ce bl 805479c 809b400: bf00 nop break; 809b402: e059 b.n 809b4b8 switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 809b404: 4b97 ldr r3, [pc, #604] ; (809b664 ) 809b406: 781b ldrb r3, [r3, #0] 809b408: b2db uxtb r3, r3 809b40a: 4a97 ldr r2, [pc, #604] ; (809b668 ) 809b40c: 009b lsls r3, r3, #2 809b40e: 4413 add r3, r2 809b410: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b414: b2db uxtb r3, r3 809b416: 08db lsrs r3, r3, #3 809b418: b2db uxtb r3, r3 809b41a: f003 031f and.w r3, r3, #31 809b41e: 3b01 subs r3, #1 809b420: 2b0f cmp r3, #15 809b422: d84b bhi.n 809b4bc 809b424: a201 add r2, pc, #4 ; (adr r2, 809b42c ) 809b426: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809b42a: bf00 nop 809b42c: 0809b46d .word 0x0809b46d 809b430: 0809b47b .word 0x0809b47b 809b434: 0809b4bd .word 0x0809b4bd 809b438: 0809b489 .word 0x0809b489 809b43c: 0809b4bd .word 0x0809b4bd 809b440: 0809b4bd .word 0x0809b4bd 809b444: 0809b4bd .word 0x0809b4bd 809b448: 0809b497 .word 0x0809b497 809b44c: 0809b4bd .word 0x0809b4bd 809b450: 0809b4bd .word 0x0809b4bd 809b454: 0809b4bd .word 0x0809b4bd 809b458: 0809b4bd .word 0x0809b4bd 809b45c: 0809b4bd .word 0x0809b4bd 809b460: 0809b4bd .word 0x0809b4bd 809b464: 0809b4bd .word 0x0809b4bd 809b468: 0809b4a5 .word 0x0809b4a5 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê]", LEFT_MODE); break; 809b46c: 2303 movs r3, #3 809b46e: 4a84 ldr r2, [pc, #528] ; (809b680 ) 809b470: 21ad movs r1, #173 ; 0xad 809b472: 201e movs r0, #30 809b474: f7b9 f992 bl 805479c 809b478: e01b b.n 809b4b2 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 173, "S[ñêç]", LEFT_MODE); break; 809b47a: 2303 movs r3, #3 809b47c: 4a81 ldr r2, [pc, #516] ; (809b684 ) 809b47e: 21ad movs r1, #173 ; 0xad 809b480: 201e movs r0, #30 809b482: f7b9 f98b bl 805479c 809b486: e014 b.n 809b4b2 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê-ïèê]", LEFT_MODE); break; 809b488: 2303 movs r3, #3 809b48a: 4a7f ldr r2, [pc, #508] ; (809b688 ) 809b48c: 21ad movs r1, #173 ; 0xad 809b48e: 201e movs r0, #30 809b490: f7b9 f984 bl 805479c 809b494: e00d b.n 809b4b2 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 173, "S[ïô]", LEFT_MODE); break; 809b496: 2303 movs r3, #3 809b498: 4a7c ldr r2, [pc, #496] ; (809b68c ) 809b49a: 21ad movs r1, #173 ; 0xad 809b49c: 201e movs r0, #30 809b49e: f7b9 f97d bl 805479c 809b4a2: e006 b.n 809b4b2 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 173, "S[ýêñö]", LEFT_MODE); break; 809b4a4: 2303 movs r3, #3 809b4a6: 4a7a ldr r2, [pc, #488] ; (809b690 ) 809b4a8: 21ad movs r1, #173 ; 0xad 809b4aa: 201e movs r0, #30 809b4ac: f7b9 f976 bl 805479c 809b4b0: bf00 nop break; 809b4b2: e003 b.n 809b4bc break; 809b4b4: bf00 nop 809b4b6: e002 b.n 809b4be break; 809b4b8: bf00 nop 809b4ba: e000 b.n 809b4be break; 809b4bc: bf00 nop if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (!timeRelax)) 809b4be: 4b75 ldr r3, [pc, #468] ; (809b694 ) 809b4c0: 781b ldrb r3, [r3, #0] 809b4c2: b2db uxtb r3, r3 809b4c4: f083 0301 eor.w r3, r3, #1 809b4c8: b2db uxtb r3, r3 809b4ca: 2b00 cmp r3, #0 809b4cc: f009 82f0 beq.w 80a4ab0 809b4d0: 4b71 ldr r3, [pc, #452] ; (809b698 ) 809b4d2: 781b ldrb r3, [r3, #0] 809b4d4: b2db uxtb r3, r3 809b4d6: f083 0301 eor.w r3, r3, #1 809b4da: b2db uxtb r3, r3 809b4dc: 2b00 cmp r3, #0 809b4de: f009 82e7 beq.w 80a4ab0 809b4e2: 4b6e ldr r3, [pc, #440] ; (809b69c ) 809b4e4: 881b ldrh r3, [r3, #0] 809b4e6: b29b uxth r3, r3 809b4e8: 009b lsls r3, r3, #2 809b4ea: 461a mov r2, r3 809b4ec: 4b6c ldr r3, [pc, #432] ; (809b6a0 ) 809b4ee: 681b ldr r3, [r3, #0] 809b4f0: 429a cmp r2, r3 809b4f2: f089 82dd bcs.w 80a4ab0 809b4f6: 4b6b ldr r3, [pc, #428] ; (809b6a4 ) 809b4f8: 681b ldr r3, [r3, #0] 809b4fa: 2b00 cmp r3, #0 809b4fc: f049 82d8 bne.w 80a4ab0 if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) != DIAGN_NO) && (operand[Us1] != -1.0f)) 809b500: 4b58 ldr r3, [pc, #352] ; (809b664 ) 809b502: 781b ldrb r3, [r3, #0] 809b504: b2db uxtb r3, r3 809b506: 4a58 ldr r2, [pc, #352] ; (809b668 ) 809b508: 338e adds r3, #142 ; 0x8e 809b50a: 009b lsls r3, r3, #2 809b50c: 4413 add r3, r2 809b50e: 791b ldrb r3, [r3, #4] 809b510: b2db uxtb r3, r3 809b512: f003 0307 and.w r3, r3, #7 809b516: 2b00 cmp r3, #0 809b518: f000 8268 beq.w 809b9ec 809b51c: 4b62 ldr r3, [pc, #392] ; (809b6a8 ) 809b51e: edd3 7a00 vldr s15, [r3] 809b522: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809b526: eef4 7a47 vcmp.f32 s15, s14 809b52a: eef1 fa10 vmrs APSR_nzcv, fpscr 809b52e: f000 825d beq.w 809b9ec if(operand[Us1] < pardata.DIAGN_A[CURR_POINT][Us1]) 809b532: 4b5d ldr r3, [pc, #372] ; (809b6a8 ) 809b534: ed93 7a00 vldr s14, [r3] 809b538: 4b4a ldr r3, [pc, #296] ; (809b664 ) 809b53a: 781b ldrb r3, [r3, #0] 809b53c: b2db uxtb r3, r3 809b53e: 4a4a ldr r2, [pc, #296] ; (809b668 ) 809b540: 011b lsls r3, r3, #4 809b542: 4413 add r3, r2 809b544: f503 7377 add.w r3, r3, #988 ; 0x3dc 809b548: edd3 7a00 vldr s15, [r3] 809b54c: eeb4 7ae7 vcmpe.f32 s14, s15 809b550: eef1 fa10 vmrs APSR_nzcv, fpscr 809b554: d51d bpl.n 809b592 if(operand[Us1] < pardata.DIAGN_W[CURR_POINT][Us1]) 809b556: 4b54 ldr r3, [pc, #336] ; (809b6a8 ) 809b558: ed93 7a00 vldr s14, [r3] 809b55c: 4b41 ldr r3, [pc, #260] ; (809b664 ) 809b55e: 781b ldrb r3, [r3, #0] 809b560: b2db uxtb r3, r3 809b562: 4a41 ldr r2, [pc, #260] ; (809b668 ) 809b564: 011b lsls r3, r3, #4 809b566: 4413 add r3, r2 809b568: f503 7357 add.w r3, r3, #860 ; 0x35c 809b56c: edd3 7a00 vldr s15, [r3] 809b570: eeb4 7ae7 vcmpe.f32 s14, s15 809b574: eef1 fa10 vmrs APSR_nzcv, fpscr 809b578: d505 bpl.n 809b586 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809b57a: 494c ldr r1, [pc, #304] ; (809b6ac ) 809b57c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809b580: f7b9 f846 bl 8054610 809b584: e009 b.n 809b59a else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809b586: 4949 ldr r1, [pc, #292] ; (809b6ac ) 809b588: f06f 00ff mvn.w r0, #255 ; 0xff 809b58c: f7b9 f840 bl 8054610 809b590: e003 b.n 809b59a LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809b592: 4946 ldr r1, [pc, #280] ; (809b6ac ) 809b594: 4846 ldr r0, [pc, #280] ; (809b6b0 ) 809b596: f7b9 f83b bl 8054610 f = operand[Us1]; 809b59a: 4b43 ldr r3, [pc, #268] ; (809b6a8 ) 809b59c: 681b ldr r3, [r3, #0] 809b59e: 647b str r3, [r7, #68] ; 0x44 if(((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) >= DIAGN_PEAK_FACTOR) 809b5a0: 4b30 ldr r3, [pc, #192] ; (809b664 ) 809b5a2: 781b ldrb r3, [r3, #0] 809b5a4: b2db uxtb r3, r3 809b5a6: 4a30 ldr r2, [pc, #192] ; (809b668 ) 809b5a8: 338e adds r3, #142 ; 0x8e 809b5aa: 009b lsls r3, r3, #2 809b5ac: 4413 add r3, r2 809b5ae: 791b ldrb r3, [r3, #4] 809b5b0: b2db uxtb r3, r3 809b5b2: 08db lsrs r3, r3, #3 809b5b4: b2db uxtb r3, r3 809b5b6: f003 031f and.w r3, r3, #31 809b5ba: 2b07 cmp r3, #7 809b5bc: f300 8175 bgt.w 809b8aa if(f >= 1000.0f) 809b5c0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b5c4: ed9f 7a3b vldr s14, [pc, #236] ; 809b6b4 809b5c8: eef4 7ac7 vcmpe.f32 s15, s14 809b5cc: eef1 fa10 vmrs APSR_nzcv, fpscr 809b5d0: f2c0 809d blt.w 809b70e f *= 0.001f; 809b5d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b5d8: ed9f 7a37 vldr s14, [pc, #220] ; 809b6b8 809b5dc: ee67 7a87 vmul.f32 s15, s15, s14 809b5e0: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_ACC) 809b5e4: 4b1f ldr r3, [pc, #124] ; (809b664 ) 809b5e6: 781b ldrb r3, [r3, #0] 809b5e8: b2db uxtb r3, r3 809b5ea: 4a1f ldr r2, [pc, #124] ; (809b668 ) 809b5ec: 338e adds r3, #142 ; 0x8e 809b5ee: 009b lsls r3, r3, #2 809b5f0: 4413 add r3, r2 809b5f2: 791b ldrb r3, [r3, #4] 809b5f4: b2db uxtb r3, r3 809b5f6: f003 0307 and.w r3, r3, #7 809b5fa: 2b01 cmp r3, #1 809b5fc: d112 bne.n 809b624 if(pardata.LANG == RUS) 809b5fe: 4b1a ldr r3, [pc, #104] ; (809b668 ) 809b600: 7b1b ldrb r3, [r3, #12] 809b602: b2db uxtb r3, r3 809b604: 2b00 cmp r3, #0 809b606: d106 bne.n 809b616 BSP_LCD_DisplayStringAt(170, 101, "kì/c^", LEFT_MODE); 809b608: 2303 movs r3, #3 809b60a: 4a2c ldr r2, [pc, #176] ; (809b6bc ) 809b60c: 2165 movs r1, #101 ; 0x65 809b60e: 20aa movs r0, #170 ; 0xaa 809b610: f7b9 f8c4 bl 805479c 809b614: e149 b.n 809b8aa else BSP_LCD_DisplayStringAt(170, 101, "km/s^", LEFT_MODE); 809b616: 2303 movs r3, #3 809b618: 4a29 ldr r2, [pc, #164] ; (809b6c0 ) 809b61a: 2165 movs r1, #101 ; 0x65 809b61c: 20aa movs r0, #170 ; 0xaa 809b61e: f7b9 f8bd bl 805479c 809b622: e142 b.n 809b8aa if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_VEL) 809b624: 4b0f ldr r3, [pc, #60] ; (809b664 ) 809b626: 781b ldrb r3, [r3, #0] 809b628: b2db uxtb r3, r3 809b62a: 4a0f ldr r2, [pc, #60] ; (809b668 ) 809b62c: 338e adds r3, #142 ; 0x8e 809b62e: 009b lsls r3, r3, #2 809b630: 4413 add r3, r2 809b632: 791b ldrb r3, [r3, #4] 809b634: b2db uxtb r3, r3 809b636: f003 0307 and.w r3, r3, #7 809b63a: 2b02 cmp r3, #2 809b63c: d146 bne.n 809b6cc if(pardata.LANG == RUS) 809b63e: 4b0a ldr r3, [pc, #40] ; (809b668 ) 809b640: 7b1b ldrb r3, [r3, #12] 809b642: b2db uxtb r3, r3 809b644: 2b00 cmp r3, #0 809b646: d106 bne.n 809b656 BSP_LCD_DisplayStringAt(170, 101, "ì/c", LEFT_MODE); 809b648: 2303 movs r3, #3 809b64a: 4a1e ldr r2, [pc, #120] ; (809b6c4 ) 809b64c: 2165 movs r1, #101 ; 0x65 809b64e: 20aa movs r0, #170 ; 0xaa 809b650: f7b9 f8a4 bl 805479c 809b654: e129 b.n 809b8aa else BSP_LCD_DisplayStringAt(170, 101, "m/s", LEFT_MODE); 809b656: 2303 movs r3, #3 809b658: 4a1b ldr r2, [pc, #108] ; (809b6c8 ) 809b65a: 2165 movs r1, #101 ; 0x65 809b65c: 20aa movs r0, #170 ; 0xaa 809b65e: f7b9 f89d bl 805479c 809b662: e122 b.n 809b8aa 809b664: 20021055 .word 0x20021055 809b668: 20023ea8 .word 0x20023ea8 809b66c: 080d4ca8 .word 0x080d4ca8 809b670: 080d4cb0 .word 0x080d4cb0 809b674: 080d4cb8 .word 0x080d4cb8 809b678: 080d4cc4 .word 0x080d4cc4 809b67c: 080d4ccc .word 0x080d4ccc 809b680: 080d4cd4 .word 0x080d4cd4 809b684: 080d4cdc .word 0x080d4cdc 809b688: 080d4ce4 .word 0x080d4ce4 809b68c: 080d4cf0 .word 0x080d4cf0 809b690: 080d4cf8 .word 0x080d4cf8 809b694: 20020dd2 .word 0x20020dd2 809b698: 20020dcc .word 0x20020dcc 809b69c: 20021d68 .word 0x20021d68 809b6a0: 20020dc8 .word 0x20020dc8 809b6a4: 20020d8c .word 0x20020d8c 809b6a8: 20026918 .word 0x20026918 809b6ac: ff0a0f1f .word 0xff0a0f1f 809b6b0: ffff0000 .word 0xffff0000 809b6b4: 447a0000 .word 0x447a0000 809b6b8: 3a83126f .word 0x3a83126f 809b6bc: 080d4d08 .word 0x080d4d08 809b6c0: 080d4d10 .word 0x080d4d10 809b6c4: 080d4d18 .word 0x080d4d18 809b6c8: 080d4d1c .word 0x080d4d1c if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_DIS) 809b6cc: 4ba7 ldr r3, [pc, #668] ; (809b96c ) 809b6ce: 781b ldrb r3, [r3, #0] 809b6d0: b2db uxtb r3, r3 809b6d2: 4aa7 ldr r2, [pc, #668] ; (809b970 ) 809b6d4: 338e adds r3, #142 ; 0x8e 809b6d6: 009b lsls r3, r3, #2 809b6d8: 4413 add r3, r2 809b6da: 791b ldrb r3, [r3, #4] 809b6dc: b2db uxtb r3, r3 809b6de: f003 0307 and.w r3, r3, #7 809b6e2: 2b04 cmp r3, #4 809b6e4: f040 80e1 bne.w 809b8aa if(pardata.LANG == RUS) 809b6e8: 4ba1 ldr r3, [pc, #644] ; (809b970 ) 809b6ea: 7b1b ldrb r3, [r3, #12] 809b6ec: b2db uxtb r3, r3 809b6ee: 2b00 cmp r3, #0 809b6f0: d106 bne.n 809b700 BSP_LCD_DisplayStringAt(170, 101, "ìì", LEFT_MODE); 809b6f2: 2303 movs r3, #3 809b6f4: 4a9f ldr r2, [pc, #636] ; (809b974 ) 809b6f6: 2165 movs r1, #101 ; 0x65 809b6f8: 20aa movs r0, #170 ; 0xaa 809b6fa: f7b9 f84f bl 805479c 809b6fe: e0d4 b.n 809b8aa else BSP_LCD_DisplayStringAt(170, 101, "mm", LEFT_MODE); 809b700: 2303 movs r3, #3 809b702: 4a9d ldr r2, [pc, #628] ; (809b978 ) 809b704: 2165 movs r1, #101 ; 0x65 809b706: 20aa movs r0, #170 ; 0xaa 809b708: f7b9 f848 bl 805479c 809b70c: e0cd b.n 809b8aa if(f >= 0.1f) 809b70e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b712: ed9f 7a9a vldr s14, [pc, #616] ; 809b97c 809b716: eef4 7ac7 vcmpe.f32 s15, s14 809b71a: eef1 fa10 vmrs APSR_nzcv, fpscr 809b71e: db5d blt.n 809b7dc if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_ACC) 809b720: 4b92 ldr r3, [pc, #584] ; (809b96c ) 809b722: 781b ldrb r3, [r3, #0] 809b724: b2db uxtb r3, r3 809b726: 4a92 ldr r2, [pc, #584] ; (809b970 ) 809b728: 338e adds r3, #142 ; 0x8e 809b72a: 009b lsls r3, r3, #2 809b72c: 4413 add r3, r2 809b72e: 791b ldrb r3, [r3, #4] 809b730: b2db uxtb r3, r3 809b732: f003 0307 and.w r3, r3, #7 809b736: 2b01 cmp r3, #1 809b738: d111 bne.n 809b75e if(pardata.LANG == RUS) 809b73a: 4b8d ldr r3, [pc, #564] ; (809b970 ) 809b73c: 7b1b ldrb r3, [r3, #12] 809b73e: b2db uxtb r3, r3 809b740: 2b00 cmp r3, #0 809b742: d106 bne.n 809b752 BSP_LCD_DisplayStringAt(170, 101, "ì/c^", LEFT_MODE); 809b744: 2303 movs r3, #3 809b746: 4a8e ldr r2, [pc, #568] ; (809b980 ) 809b748: 2165 movs r1, #101 ; 0x65 809b74a: 20aa movs r0, #170 ; 0xaa 809b74c: f7b9 f826 bl 805479c 809b750: e005 b.n 809b75e else BSP_LCD_DisplayStringAt(170, 101, "m/s^", LEFT_MODE); 809b752: 2303 movs r3, #3 809b754: 4a8b ldr r2, [pc, #556] ; (809b984 ) 809b756: 2165 movs r1, #101 ; 0x65 809b758: 20aa movs r0, #170 ; 0xaa 809b75a: f7b9 f81f bl 805479c if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_VEL) 809b75e: 4b83 ldr r3, [pc, #524] ; (809b96c ) 809b760: 781b ldrb r3, [r3, #0] 809b762: b2db uxtb r3, r3 809b764: 4a82 ldr r2, [pc, #520] ; (809b970 ) 809b766: 338e adds r3, #142 ; 0x8e 809b768: 009b lsls r3, r3, #2 809b76a: 4413 add r3, r2 809b76c: 791b ldrb r3, [r3, #4] 809b76e: b2db uxtb r3, r3 809b770: f003 0307 and.w r3, r3, #7 809b774: 2b02 cmp r3, #2 809b776: d111 bne.n 809b79c if(pardata.LANG == RUS) 809b778: 4b7d ldr r3, [pc, #500] ; (809b970 ) 809b77a: 7b1b ldrb r3, [r3, #12] 809b77c: b2db uxtb r3, r3 809b77e: 2b00 cmp r3, #0 809b780: d106 bne.n 809b790 BSP_LCD_DisplayStringAt(170, 101, "ìì/c", LEFT_MODE); 809b782: 2303 movs r3, #3 809b784: 4a80 ldr r2, [pc, #512] ; (809b988 ) 809b786: 2165 movs r1, #101 ; 0x65 809b788: 20aa movs r0, #170 ; 0xaa 809b78a: f7b9 f807 bl 805479c 809b78e: e005 b.n 809b79c else BSP_LCD_DisplayStringAt(170, 101, "mm/s", LEFT_MODE); 809b790: 2303 movs r3, #3 809b792: 4a7e ldr r2, [pc, #504] ; (809b98c ) 809b794: 2165 movs r1, #101 ; 0x65 809b796: 20aa movs r0, #170 ; 0xaa 809b798: f7b9 f800 bl 805479c if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_DIS) 809b79c: 4b73 ldr r3, [pc, #460] ; (809b96c ) 809b79e: 781b ldrb r3, [r3, #0] 809b7a0: b2db uxtb r3, r3 809b7a2: 4a73 ldr r2, [pc, #460] ; (809b970 ) 809b7a4: 338e adds r3, #142 ; 0x8e 809b7a6: 009b lsls r3, r3, #2 809b7a8: 4413 add r3, r2 809b7aa: 791b ldrb r3, [r3, #4] 809b7ac: b2db uxtb r3, r3 809b7ae: f003 0307 and.w r3, r3, #7 809b7b2: 2b04 cmp r3, #4 809b7b4: d179 bne.n 809b8aa if(pardata.LANG == RUS) 809b7b6: 4b6e ldr r3, [pc, #440] ; (809b970 ) 809b7b8: 7b1b ldrb r3, [r3, #12] 809b7ba: b2db uxtb r3, r3 809b7bc: 2b00 cmp r3, #0 809b7be: d106 bne.n 809b7ce BSP_LCD_DisplayStringAt(170, 101, "ìkì", LEFT_MODE); 809b7c0: 2303 movs r3, #3 809b7c2: 4a73 ldr r2, [pc, #460] ; (809b990 ) 809b7c4: 2165 movs r1, #101 ; 0x65 809b7c6: 20aa movs r0, #170 ; 0xaa 809b7c8: f7b8 ffe8 bl 805479c 809b7cc: e06d b.n 809b8aa else BSP_LCD_DisplayStringAt(170, 101, "um", LEFT_MODE); 809b7ce: 2303 movs r3, #3 809b7d0: 4a70 ldr r2, [pc, #448] ; (809b994 ) 809b7d2: 2165 movs r1, #101 ; 0x65 809b7d4: 20aa movs r0, #170 ; 0xaa 809b7d6: f7b8 ffe1 bl 805479c 809b7da: e066 b.n 809b8aa f *= 1000.0f; 809b7dc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b7e0: ed9f 7a6d vldr s14, [pc, #436] ; 809b998 809b7e4: ee67 7a87 vmul.f32 s15, s15, s14 809b7e8: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_ACC) 809b7ec: 4b5f ldr r3, [pc, #380] ; (809b96c ) 809b7ee: 781b ldrb r3, [r3, #0] 809b7f0: b2db uxtb r3, r3 809b7f2: 4a5f ldr r2, [pc, #380] ; (809b970 ) 809b7f4: 338e adds r3, #142 ; 0x8e 809b7f6: 009b lsls r3, r3, #2 809b7f8: 4413 add r3, r2 809b7fa: 791b ldrb r3, [r3, #4] 809b7fc: b2db uxtb r3, r3 809b7fe: f003 0307 and.w r3, r3, #7 809b802: 2b01 cmp r3, #1 809b804: d112 bne.n 809b82c if(pardata.LANG == RUS) 809b806: 4b5a ldr r3, [pc, #360] ; (809b970 ) 809b808: 7b1b ldrb r3, [r3, #12] 809b80a: b2db uxtb r3, r3 809b80c: 2b00 cmp r3, #0 809b80e: d106 bne.n 809b81e BSP_LCD_DisplayStringAt(170, 101, "ìì/c^", LEFT_MODE); 809b810: 2303 movs r3, #3 809b812: 4a62 ldr r2, [pc, #392] ; (809b99c ) 809b814: 2165 movs r1, #101 ; 0x65 809b816: 20aa movs r0, #170 ; 0xaa 809b818: f7b8 ffc0 bl 805479c 809b81c: e045 b.n 809b8aa else BSP_LCD_DisplayStringAt(170, 101, "mm/s^", LEFT_MODE); 809b81e: 2303 movs r3, #3 809b820: 4a5f ldr r2, [pc, #380] ; (809b9a0 ) 809b822: 2165 movs r1, #101 ; 0x65 809b824: 20aa movs r0, #170 ; 0xaa 809b826: f7b8 ffb9 bl 805479c 809b82a: e03e b.n 809b8aa else if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_VEL) 809b82c: 4b4f ldr r3, [pc, #316] ; (809b96c ) 809b82e: 781b ldrb r3, [r3, #0] 809b830: b2db uxtb r3, r3 809b832: 4a4f ldr r2, [pc, #316] ; (809b970 ) 809b834: 338e adds r3, #142 ; 0x8e 809b836: 009b lsls r3, r3, #2 809b838: 4413 add r3, r2 809b83a: 791b ldrb r3, [r3, #4] 809b83c: b2db uxtb r3, r3 809b83e: f003 0307 and.w r3, r3, #7 809b842: 2b02 cmp r3, #2 809b844: d112 bne.n 809b86c if(pardata.LANG == RUS) 809b846: 4b4a ldr r3, [pc, #296] ; (809b970 ) 809b848: 7b1b ldrb r3, [r3, #12] 809b84a: b2db uxtb r3, r3 809b84c: 2b00 cmp r3, #0 809b84e: d106 bne.n 809b85e BSP_LCD_DisplayStringAt(170, 101, "ìêì/c", LEFT_MODE); 809b850: 2303 movs r3, #3 809b852: 4a54 ldr r2, [pc, #336] ; (809b9a4 ) 809b854: 2165 movs r1, #101 ; 0x65 809b856: 20aa movs r0, #170 ; 0xaa 809b858: f7b8 ffa0 bl 805479c 809b85c: e025 b.n 809b8aa else BSP_LCD_DisplayStringAt(170, 101, "mkm/s", LEFT_MODE); 809b85e: 2303 movs r3, #3 809b860: 4a51 ldr r2, [pc, #324] ; (809b9a8 ) 809b862: 2165 movs r1, #101 ; 0x65 809b864: 20aa movs r0, #170 ; 0xaa 809b866: f7b8 ff99 bl 805479c 809b86a: e01e b.n 809b8aa else if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_DIS) 809b86c: 4b3f ldr r3, [pc, #252] ; (809b96c ) 809b86e: 781b ldrb r3, [r3, #0] 809b870: b2db uxtb r3, r3 809b872: 4a3f ldr r2, [pc, #252] ; (809b970 ) 809b874: 338e adds r3, #142 ; 0x8e 809b876: 009b lsls r3, r3, #2 809b878: 4413 add r3, r2 809b87a: 791b ldrb r3, [r3, #4] 809b87c: b2db uxtb r3, r3 809b87e: f003 0307 and.w r3, r3, #7 809b882: 2b04 cmp r3, #4 809b884: d111 bne.n 809b8aa if(pardata.LANG == RUS) 809b886: 4b3a ldr r3, [pc, #232] ; (809b970 ) 809b888: 7b1b ldrb r3, [r3, #12] 809b88a: b2db uxtb r3, r3 809b88c: 2b00 cmp r3, #0 809b88e: d106 bne.n 809b89e BSP_LCD_DisplayStringAt(170, 101, "íì", LEFT_MODE); 809b890: 2303 movs r3, #3 809b892: 4a46 ldr r2, [pc, #280] ; (809b9ac ) 809b894: 2165 movs r1, #101 ; 0x65 809b896: 20aa movs r0, #170 ; 0xaa 809b898: f7b8 ff80 bl 805479c 809b89c: e005 b.n 809b8aa else BSP_LCD_DisplayStringAt(170, 101, "nm", LEFT_MODE); 809b89e: 2303 movs r3, #3 809b8a0: 4a43 ldr r2, [pc, #268] ; (809b9b0 ) 809b8a2: 2165 movs r1, #101 ; 0x65 809b8a4: 20aa movs r0, #170 ; 0xaa 809b8a6: f7b8 ff79 bl 805479c if(f < 10.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809b8aa: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b8ae: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809b8b2: eef4 7ac7 vcmpe.f32 s15, s14 809b8b6: eef1 fa10 vmrs APSR_nzcv, fpscr 809b8ba: d50e bpl.n 809b8da 809b8bc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b8c0: f06f 0003 mvn.w r0, #3 809b8c4: eeb0 0a67 vmov.f32 s0, s15 809b8c8: f7cb fe6a bl 80675a0 809b8cc: 4602 mov r2, r0 809b8ce: 2302 movs r3, #2 809b8d0: 2165 movs r1, #101 ; 0x65 809b8d2: 20a0 movs r0, #160 ; 0xa0 809b8d4: f7b8 ff62 bl 805479c 809b8d8: e088 b.n 809b9ec else if(f < 100.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809b8da: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b8de: ed9f 7a35 vldr s14, [pc, #212] ; 809b9b4 809b8e2: eef4 7ac7 vcmpe.f32 s15, s14 809b8e6: eef1 fa10 vmrs APSR_nzcv, fpscr 809b8ea: d50e bpl.n 809b90a 809b8ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b8f0: f06f 0002 mvn.w r0, #2 809b8f4: eeb0 0a67 vmov.f32 s0, s15 809b8f8: f7cb fe52 bl 80675a0 809b8fc: 4602 mov r2, r0 809b8fe: 2302 movs r3, #2 809b900: 2165 movs r1, #101 ; 0x65 809b902: 20a0 movs r0, #160 ; 0xa0 809b904: f7b8 ff4a bl 805479c 809b908: e070 b.n 809b9ec else if(f < 1000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809b90a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b90e: ed9f 7a22 vldr s14, [pc, #136] ; 809b998 809b912: eef4 7ac7 vcmpe.f32 s15, s14 809b916: eef1 fa10 vmrs APSR_nzcv, fpscr 809b91a: d50e bpl.n 809b93a 809b91c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b920: f06f 0001 mvn.w r0, #1 809b924: eeb0 0a67 vmov.f32 s0, s15 809b928: f7cb fe3a bl 80675a0 809b92c: 4602 mov r2, r0 809b92e: 2302 movs r3, #2 809b930: 2165 movs r1, #101 ; 0x65 809b932: 20a0 movs r0, #160 ; 0xa0 809b934: f7b8 ff32 bl 805479c 809b938: e058 b.n 809b9ec else if(f < 10000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809b93a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b93e: ed9f 7a1e vldr s14, [pc, #120] ; 809b9b8 809b942: eef4 7ac7 vcmpe.f32 s15, s14 809b946: eef1 fa10 vmrs APSR_nzcv, fpscr 809b94a: d539 bpl.n 809b9c0 809b94c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b950: f04f 30ff mov.w r0, #4294967295 809b954: eeb0 0a67 vmov.f32 s0, s15 809b958: f7cb fe22 bl 80675a0 809b95c: 4602 mov r2, r0 809b95e: 2302 movs r3, #2 809b960: 2165 movs r1, #101 ; 0x65 809b962: 20a0 movs r0, #160 ; 0xa0 809b964: f7b8 ff1a bl 805479c 809b968: e040 b.n 809b9ec 809b96a: bf00 nop 809b96c: 20021055 .word 0x20021055 809b970: 20023ea8 .word 0x20023ea8 809b974: 080d4d20 .word 0x080d4d20 809b978: 080d4d24 .word 0x080d4d24 809b97c: 3dcccccd .word 0x3dcccccd 809b980: 080d4d28 .word 0x080d4d28 809b984: 080d4d30 .word 0x080d4d30 809b988: 080d4d38 .word 0x080d4d38 809b98c: 080d4d40 .word 0x080d4d40 809b990: 080d4d48 .word 0x080d4d48 809b994: 080d4d4c .word 0x080d4d4c 809b998: 447a0000 .word 0x447a0000 809b99c: 080d4d50 .word 0x080d4d50 809b9a0: 080d4d58 .word 0x080d4d58 809b9a4: 080d4d60 .word 0x080d4d60 809b9a8: 080d4d68 .word 0x080d4d68 809b9ac: 080d4d70 .word 0x080d4d70 809b9b0: 080d4d74 .word 0x080d4d74 809b9b4: 42c80000 .word 0x42c80000 809b9b8: 461c4000 .word 0x461c4000 809b9bc: 47c35000 .word 0x47c35000 else if(f < 100000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809b9c0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b9c4: ed1f 7a03 vldr s14, [pc, #-12] ; 809b9bc 809b9c8: eef4 7ac7 vcmpe.f32 s15, s14 809b9cc: eef1 fa10 vmrs APSR_nzcv, fpscr 809b9d0: d50c bpl.n 809b9ec 809b9d2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b9d6: 2000 movs r0, #0 809b9d8: eeb0 0a67 vmov.f32 s0, s15 809b9dc: f7cb fde0 bl 80675a0 809b9e0: 4602 mov r2, r0 809b9e2: 2302 movs r3, #2 809b9e4: 2165 movs r1, #101 ; 0x65 809b9e6: 20a0 movs r0, #160 ; 0xa0 809b9e8: f7b8 fed8 bl 805479c if(((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) != DIAGN_NO) && (operand[Us2] != -1.0f)) 809b9ec: 4bbe ldr r3, [pc, #760] ; (809bce8 ) 809b9ee: 781b ldrb r3, [r3, #0] 809b9f0: b2db uxtb r3, r3 809b9f2: 4abe ldr r2, [pc, #760] ; (809bcec ) 809b9f4: 009b lsls r3, r3, #2 809b9f6: 4413 add r3, r2 809b9f8: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809b9fc: b2db uxtb r3, r3 809b9fe: f003 0307 and.w r3, r3, #7 809ba02: 2b00 cmp r3, #0 809ba04: f000 823a beq.w 809be7c 809ba08: 4bb9 ldr r3, [pc, #740] ; (809bcf0 ) 809ba0a: edd3 7a01 vldr s15, [r3, #4] 809ba0e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809ba12: eef4 7a47 vcmp.f32 s15, s14 809ba16: eef1 fa10 vmrs APSR_nzcv, fpscr 809ba1a: f000 822f beq.w 809be7c if(operand[Us2] < pardata.DIAGN_A[CURR_POINT][Us2]) 809ba1e: 4bb4 ldr r3, [pc, #720] ; (809bcf0 ) 809ba20: ed93 7a01 vldr s14, [r3, #4] 809ba24: 4bb0 ldr r3, [pc, #704] ; (809bce8 ) 809ba26: 781b ldrb r3, [r3, #0] 809ba28: b2db uxtb r3, r3 809ba2a: 4ab0 ldr r2, [pc, #704] ; (809bcec ) 809ba2c: 011b lsls r3, r3, #4 809ba2e: 4413 add r3, r2 809ba30: f503 7378 add.w r3, r3, #992 ; 0x3e0 809ba34: edd3 7a00 vldr s15, [r3] 809ba38: eeb4 7ae7 vcmpe.f32 s14, s15 809ba3c: eef1 fa10 vmrs APSR_nzcv, fpscr 809ba40: d51d bpl.n 809ba7e if(operand[Us2] < pardata.DIAGN_W[CURR_POINT][Us2]) 809ba42: 4bab ldr r3, [pc, #684] ; (809bcf0 ) 809ba44: ed93 7a01 vldr s14, [r3, #4] 809ba48: 4ba7 ldr r3, [pc, #668] ; (809bce8 ) 809ba4a: 781b ldrb r3, [r3, #0] 809ba4c: b2db uxtb r3, r3 809ba4e: 4aa7 ldr r2, [pc, #668] ; (809bcec ) 809ba50: 011b lsls r3, r3, #4 809ba52: 4413 add r3, r2 809ba54: f503 7358 add.w r3, r3, #864 ; 0x360 809ba58: edd3 7a00 vldr s15, [r3] 809ba5c: eeb4 7ae7 vcmpe.f32 s14, s15 809ba60: eef1 fa10 vmrs APSR_nzcv, fpscr 809ba64: d505 bpl.n 809ba72 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809ba66: 49a3 ldr r1, [pc, #652] ; (809bcf4 ) 809ba68: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809ba6c: f7b8 fdd0 bl 8054610 809ba70: e009 b.n 809ba86 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809ba72: 49a0 ldr r1, [pc, #640] ; (809bcf4 ) 809ba74: f06f 00ff mvn.w r0, #255 ; 0xff 809ba78: f7b8 fdca bl 8054610 809ba7c: e003 b.n 809ba86 LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809ba7e: 499d ldr r1, [pc, #628] ; (809bcf4 ) 809ba80: 489d ldr r0, [pc, #628] ; (809bcf8 ) 809ba82: f7b8 fdc5 bl 8054610 f = operand[Us2]; 809ba86: 4b9a ldr r3, [pc, #616] ; (809bcf0 ) 809ba88: 685b ldr r3, [r3, #4] 809ba8a: 647b str r3, [r7, #68] ; 0x44 if(((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) >= DIAGN_PEAK_FACTOR) 809ba8c: 4b96 ldr r3, [pc, #600] ; (809bce8 ) 809ba8e: 781b ldrb r3, [r3, #0] 809ba90: b2db uxtb r3, r3 809ba92: 4a96 ldr r2, [pc, #600] ; (809bcec ) 809ba94: 009b lsls r3, r3, #2 809ba96: 4413 add r3, r2 809ba98: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809ba9c: b2db uxtb r3, r3 809ba9e: 08db lsrs r3, r3, #3 809baa0: b2db uxtb r3, r3 809baa2: f003 031f and.w r3, r3, #31 809baa6: 2b07 cmp r3, #7 809baa8: f300 8172 bgt.w 809bd90 if(f >= 1000.0f) 809baac: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bab0: ed9f 7a92 vldr s14, [pc, #584] ; 809bcfc 809bab4: eef4 7ac7 vcmpe.f32 s15, s14 809bab8: eef1 fa10 vmrs APSR_nzcv, fpscr 809babc: db68 blt.n 809bb90 f *= 0.001f; 809babe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bac2: ed9f 7a8f vldr s14, [pc, #572] ; 809bd00 809bac6: ee67 7a87 vmul.f32 s15, s15, s14 809baca: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_ACC) 809bace: 4b86 ldr r3, [pc, #536] ; (809bce8 ) 809bad0: 781b ldrb r3, [r3, #0] 809bad2: b2db uxtb r3, r3 809bad4: 4a85 ldr r2, [pc, #532] ; (809bcec ) 809bad6: 009b lsls r3, r3, #2 809bad8: 4413 add r3, r2 809bada: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809bade: b2db uxtb r3, r3 809bae0: f003 0307 and.w r3, r3, #7 809bae4: 2b01 cmp r3, #1 809bae6: d112 bne.n 809bb0e if(pardata.LANG == RUS) 809bae8: 4b80 ldr r3, [pc, #512] ; (809bcec ) 809baea: 7b1b ldrb r3, [r3, #12] 809baec: b2db uxtb r3, r3 809baee: 2b00 cmp r3, #0 809baf0: d106 bne.n 809bb00 BSP_LCD_DisplayStringAt(170, 137, "kì/c^", LEFT_MODE); 809baf2: 2303 movs r3, #3 809baf4: 4a83 ldr r2, [pc, #524] ; (809bd04 ) 809baf6: 2189 movs r1, #137 ; 0x89 809baf8: 20aa movs r0, #170 ; 0xaa 809bafa: f7b8 fe4f bl 805479c 809bafe: e147 b.n 809bd90 else BSP_LCD_DisplayStringAt(170, 137, "km/s^", LEFT_MODE); 809bb00: 2303 movs r3, #3 809bb02: 4a81 ldr r2, [pc, #516] ; (809bd08 ) 809bb04: 2189 movs r1, #137 ; 0x89 809bb06: 20aa movs r0, #170 ; 0xaa 809bb08: f7b8 fe48 bl 805479c 809bb0c: e140 b.n 809bd90 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_VEL) 809bb0e: 4b76 ldr r3, [pc, #472] ; (809bce8 ) 809bb10: 781b ldrb r3, [r3, #0] 809bb12: b2db uxtb r3, r3 809bb14: 4a75 ldr r2, [pc, #468] ; (809bcec ) 809bb16: 009b lsls r3, r3, #2 809bb18: 4413 add r3, r2 809bb1a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809bb1e: b2db uxtb r3, r3 809bb20: f003 0307 and.w r3, r3, #7 809bb24: 2b02 cmp r3, #2 809bb26: d112 bne.n 809bb4e if(pardata.LANG == RUS) 809bb28: 4b70 ldr r3, [pc, #448] ; (809bcec ) 809bb2a: 7b1b ldrb r3, [r3, #12] 809bb2c: b2db uxtb r3, r3 809bb2e: 2b00 cmp r3, #0 809bb30: d106 bne.n 809bb40 BSP_LCD_DisplayStringAt(170, 137, "ì/c", LEFT_MODE); 809bb32: 2303 movs r3, #3 809bb34: 4a75 ldr r2, [pc, #468] ; (809bd0c ) 809bb36: 2189 movs r1, #137 ; 0x89 809bb38: 20aa movs r0, #170 ; 0xaa 809bb3a: f7b8 fe2f bl 805479c 809bb3e: e127 b.n 809bd90 else BSP_LCD_DisplayStringAt(170, 137, "m/s", LEFT_MODE); 809bb40: 2303 movs r3, #3 809bb42: 4a73 ldr r2, [pc, #460] ; (809bd10 ) 809bb44: 2189 movs r1, #137 ; 0x89 809bb46: 20aa movs r0, #170 ; 0xaa 809bb48: f7b8 fe28 bl 805479c 809bb4c: e120 b.n 809bd90 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_DIS) 809bb4e: 4b66 ldr r3, [pc, #408] ; (809bce8 ) 809bb50: 781b ldrb r3, [r3, #0] 809bb52: b2db uxtb r3, r3 809bb54: 4a65 ldr r2, [pc, #404] ; (809bcec ) 809bb56: 009b lsls r3, r3, #2 809bb58: 4413 add r3, r2 809bb5a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809bb5e: b2db uxtb r3, r3 809bb60: f003 0307 and.w r3, r3, #7 809bb64: 2b04 cmp r3, #4 809bb66: f040 8113 bne.w 809bd90 if(pardata.LANG == RUS) 809bb6a: 4b60 ldr r3, [pc, #384] ; (809bcec ) 809bb6c: 7b1b ldrb r3, [r3, #12] 809bb6e: b2db uxtb r3, r3 809bb70: 2b00 cmp r3, #0 809bb72: d106 bne.n 809bb82 BSP_LCD_DisplayStringAt(170, 137, "ìì", LEFT_MODE); 809bb74: 2303 movs r3, #3 809bb76: 4a67 ldr r2, [pc, #412] ; (809bd14 ) 809bb78: 2189 movs r1, #137 ; 0x89 809bb7a: 20aa movs r0, #170 ; 0xaa 809bb7c: f7b8 fe0e bl 805479c 809bb80: e106 b.n 809bd90 else BSP_LCD_DisplayStringAt(170, 137, "mm", LEFT_MODE); 809bb82: 2303 movs r3, #3 809bb84: 4a64 ldr r2, [pc, #400] ; (809bd18 ) 809bb86: 2189 movs r1, #137 ; 0x89 809bb88: 20aa movs r0, #170 ; 0xaa 809bb8a: f7b8 fe07 bl 805479c 809bb8e: e0ff b.n 809bd90 if(f >= 0.1f) 809bb90: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bb94: ed9f 7a61 vldr s14, [pc, #388] ; 809bd1c 809bb98: eef4 7ac7 vcmpe.f32 s15, s14 809bb9c: eef1 fa10 vmrs APSR_nzcv, fpscr 809bba0: db60 blt.n 809bc64 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_ACC) 809bba2: 4b51 ldr r3, [pc, #324] ; (809bce8 ) 809bba4: 781b ldrb r3, [r3, #0] 809bba6: b2db uxtb r3, r3 809bba8: 4a50 ldr r2, [pc, #320] ; (809bcec ) 809bbaa: 009b lsls r3, r3, #2 809bbac: 4413 add r3, r2 809bbae: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809bbb2: b2db uxtb r3, r3 809bbb4: f003 0307 and.w r3, r3, #7 809bbb8: 2b01 cmp r3, #1 809bbba: d112 bne.n 809bbe2 if(pardata.LANG == RUS) 809bbbc: 4b4b ldr r3, [pc, #300] ; (809bcec ) 809bbbe: 7b1b ldrb r3, [r3, #12] 809bbc0: b2db uxtb r3, r3 809bbc2: 2b00 cmp r3, #0 809bbc4: d106 bne.n 809bbd4 BSP_LCD_DisplayStringAt(170, 137, "ì/c^", LEFT_MODE); 809bbc6: 2303 movs r3, #3 809bbc8: 4a55 ldr r2, [pc, #340] ; (809bd20 ) 809bbca: 2189 movs r1, #137 ; 0x89 809bbcc: 20aa movs r0, #170 ; 0xaa 809bbce: f7b8 fde5 bl 805479c 809bbd2: e0dd b.n 809bd90 else BSP_LCD_DisplayStringAt(170, 137, "m/s^", LEFT_MODE); 809bbd4: 2303 movs r3, #3 809bbd6: 4a53 ldr r2, [pc, #332] ; (809bd24 ) 809bbd8: 2189 movs r1, #137 ; 0x89 809bbda: 20aa movs r0, #170 ; 0xaa 809bbdc: f7b8 fdde bl 805479c 809bbe0: e0d6 b.n 809bd90 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_VEL) 809bbe2: 4b41 ldr r3, [pc, #260] ; (809bce8 ) 809bbe4: 781b ldrb r3, [r3, #0] 809bbe6: b2db uxtb r3, r3 809bbe8: 4a40 ldr r2, [pc, #256] ; (809bcec ) 809bbea: 009b lsls r3, r3, #2 809bbec: 4413 add r3, r2 809bbee: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809bbf2: b2db uxtb r3, r3 809bbf4: f003 0307 and.w r3, r3, #7 809bbf8: 2b02 cmp r3, #2 809bbfa: d112 bne.n 809bc22 if(pardata.LANG == RUS) 809bbfc: 4b3b ldr r3, [pc, #236] ; (809bcec ) 809bbfe: 7b1b ldrb r3, [r3, #12] 809bc00: b2db uxtb r3, r3 809bc02: 2b00 cmp r3, #0 809bc04: d106 bne.n 809bc14 BSP_LCD_DisplayStringAt(170, 137, "ìì/c", LEFT_MODE); 809bc06: 2303 movs r3, #3 809bc08: 4a47 ldr r2, [pc, #284] ; (809bd28 ) 809bc0a: 2189 movs r1, #137 ; 0x89 809bc0c: 20aa movs r0, #170 ; 0xaa 809bc0e: f7b8 fdc5 bl 805479c 809bc12: e0bd b.n 809bd90 else BSP_LCD_DisplayStringAt(170, 137, "mm/s", LEFT_MODE); 809bc14: 2303 movs r3, #3 809bc16: 4a45 ldr r2, [pc, #276] ; (809bd2c ) 809bc18: 2189 movs r1, #137 ; 0x89 809bc1a: 20aa movs r0, #170 ; 0xaa 809bc1c: f7b8 fdbe bl 805479c 809bc20: e0b6 b.n 809bd90 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_DIS) 809bc22: 4b31 ldr r3, [pc, #196] ; (809bce8 ) 809bc24: 781b ldrb r3, [r3, #0] 809bc26: b2db uxtb r3, r3 809bc28: 4a30 ldr r2, [pc, #192] ; (809bcec ) 809bc2a: 009b lsls r3, r3, #2 809bc2c: 4413 add r3, r2 809bc2e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809bc32: b2db uxtb r3, r3 809bc34: f003 0307 and.w r3, r3, #7 809bc38: 2b04 cmp r3, #4 809bc3a: f040 80a9 bne.w 809bd90 if(pardata.LANG == RUS) 809bc3e: 4b2b ldr r3, [pc, #172] ; (809bcec ) 809bc40: 7b1b ldrb r3, [r3, #12] 809bc42: b2db uxtb r3, r3 809bc44: 2b00 cmp r3, #0 809bc46: d106 bne.n 809bc56 BSP_LCD_DisplayStringAt(170, 137, "ìkì", LEFT_MODE); 809bc48: 2303 movs r3, #3 809bc4a: 4a39 ldr r2, [pc, #228] ; (809bd30 ) 809bc4c: 2189 movs r1, #137 ; 0x89 809bc4e: 20aa movs r0, #170 ; 0xaa 809bc50: f7b8 fda4 bl 805479c 809bc54: e09c b.n 809bd90 else BSP_LCD_DisplayStringAt(170, 137, "um", LEFT_MODE); 809bc56: 2303 movs r3, #3 809bc58: 4a36 ldr r2, [pc, #216] ; (809bd34 ) 809bc5a: 2189 movs r1, #137 ; 0x89 809bc5c: 20aa movs r0, #170 ; 0xaa 809bc5e: f7b8 fd9d bl 805479c 809bc62: e095 b.n 809bd90 f *= 1000.0f; 809bc64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bc68: ed9f 7a24 vldr s14, [pc, #144] ; 809bcfc 809bc6c: ee67 7a87 vmul.f32 s15, s15, s14 809bc70: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_ACC) 809bc74: 4b1c ldr r3, [pc, #112] ; (809bce8 ) 809bc76: 781b ldrb r3, [r3, #0] 809bc78: b2db uxtb r3, r3 809bc7a: 4a1c ldr r2, [pc, #112] ; (809bcec ) 809bc7c: 009b lsls r3, r3, #2 809bc7e: 4413 add r3, r2 809bc80: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809bc84: b2db uxtb r3, r3 809bc86: f003 0307 and.w r3, r3, #7 809bc8a: 2b01 cmp r3, #1 809bc8c: d112 bne.n 809bcb4 if(pardata.LANG == RUS) 809bc8e: 4b17 ldr r3, [pc, #92] ; (809bcec ) 809bc90: 7b1b ldrb r3, [r3, #12] 809bc92: b2db uxtb r3, r3 809bc94: 2b00 cmp r3, #0 809bc96: d106 bne.n 809bca6 BSP_LCD_DisplayStringAt(170, 137, "ìì/c^", LEFT_MODE); 809bc98: 2303 movs r3, #3 809bc9a: 4a27 ldr r2, [pc, #156] ; (809bd38 ) 809bc9c: 2189 movs r1, #137 ; 0x89 809bc9e: 20aa movs r0, #170 ; 0xaa 809bca0: f7b8 fd7c bl 805479c 809bca4: e074 b.n 809bd90 else BSP_LCD_DisplayStringAt(170, 137, "mm/s^", LEFT_MODE); 809bca6: 2303 movs r3, #3 809bca8: 4a24 ldr r2, [pc, #144] ; (809bd3c ) 809bcaa: 2189 movs r1, #137 ; 0x89 809bcac: 20aa movs r0, #170 ; 0xaa 809bcae: f7b8 fd75 bl 805479c 809bcb2: e06d b.n 809bd90 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_VEL) 809bcb4: 4b0c ldr r3, [pc, #48] ; (809bce8 ) 809bcb6: 781b ldrb r3, [r3, #0] 809bcb8: b2db uxtb r3, r3 809bcba: 4a0c ldr r2, [pc, #48] ; (809bcec ) 809bcbc: 009b lsls r3, r3, #2 809bcbe: 4413 add r3, r2 809bcc0: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809bcc4: b2db uxtb r3, r3 809bcc6: f003 0307 and.w r3, r3, #7 809bcca: 2b02 cmp r3, #2 809bccc: d141 bne.n 809bd52 if(pardata.LANG == RUS) 809bcce: 4b07 ldr r3, [pc, #28] ; (809bcec ) 809bcd0: 7b1b ldrb r3, [r3, #12] 809bcd2: b2db uxtb r3, r3 809bcd4: 2b00 cmp r3, #0 809bcd6: d135 bne.n 809bd44 BSP_LCD_DisplayStringAt(170, 137, "ìêì/c", LEFT_MODE); 809bcd8: 2303 movs r3, #3 809bcda: 4a19 ldr r2, [pc, #100] ; (809bd40 ) 809bcdc: 2189 movs r1, #137 ; 0x89 809bcde: 20aa movs r0, #170 ; 0xaa 809bce0: f7b8 fd5c bl 805479c 809bce4: e054 b.n 809bd90 809bce6: bf00 nop 809bce8: 20021055 .word 0x20021055 809bcec: 20023ea8 .word 0x20023ea8 809bcf0: 20026918 .word 0x20026918 809bcf4: ff0a0f1f .word 0xff0a0f1f 809bcf8: ffff0000 .word 0xffff0000 809bcfc: 447a0000 .word 0x447a0000 809bd00: 3a83126f .word 0x3a83126f 809bd04: 080d4d08 .word 0x080d4d08 809bd08: 080d4d10 .word 0x080d4d10 809bd0c: 080d4d18 .word 0x080d4d18 809bd10: 080d4d1c .word 0x080d4d1c 809bd14: 080d4d20 .word 0x080d4d20 809bd18: 080d4d24 .word 0x080d4d24 809bd1c: 3dcccccd .word 0x3dcccccd 809bd20: 080d4d28 .word 0x080d4d28 809bd24: 080d4d30 .word 0x080d4d30 809bd28: 080d4d38 .word 0x080d4d38 809bd2c: 080d4d40 .word 0x080d4d40 809bd30: 080d4d48 .word 0x080d4d48 809bd34: 080d4d4c .word 0x080d4d4c 809bd38: 080d4d50 .word 0x080d4d50 809bd3c: 080d4d58 .word 0x080d4d58 809bd40: 080d4d60 .word 0x080d4d60 else BSP_LCD_DisplayStringAt(170, 137, "mkm/s", LEFT_MODE); 809bd44: 2303 movs r3, #3 809bd46: 4acb ldr r2, [pc, #812] ; (809c074 ) 809bd48: 2189 movs r1, #137 ; 0x89 809bd4a: 20aa movs r0, #170 ; 0xaa 809bd4c: f7b8 fd26 bl 805479c 809bd50: e01e b.n 809bd90 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_DIS) 809bd52: 4bc9 ldr r3, [pc, #804] ; (809c078 ) 809bd54: 781b ldrb r3, [r3, #0] 809bd56: b2db uxtb r3, r3 809bd58: 4ac8 ldr r2, [pc, #800] ; (809c07c ) 809bd5a: 009b lsls r3, r3, #2 809bd5c: 4413 add r3, r2 809bd5e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809bd62: b2db uxtb r3, r3 809bd64: f003 0307 and.w r3, r3, #7 809bd68: 2b04 cmp r3, #4 809bd6a: d111 bne.n 809bd90 if(pardata.LANG == RUS) 809bd6c: 4bc3 ldr r3, [pc, #780] ; (809c07c ) 809bd6e: 7b1b ldrb r3, [r3, #12] 809bd70: b2db uxtb r3, r3 809bd72: 2b00 cmp r3, #0 809bd74: d106 bne.n 809bd84 BSP_LCD_DisplayStringAt(170, 137, "íì", LEFT_MODE); 809bd76: 2303 movs r3, #3 809bd78: 4ac1 ldr r2, [pc, #772] ; (809c080 ) 809bd7a: 2189 movs r1, #137 ; 0x89 809bd7c: 20aa movs r0, #170 ; 0xaa 809bd7e: f7b8 fd0d bl 805479c 809bd82: e005 b.n 809bd90 else BSP_LCD_DisplayStringAt(170, 137, "nm", LEFT_MODE); 809bd84: 2303 movs r3, #3 809bd86: 4abf ldr r2, [pc, #764] ; (809c084 ) 809bd88: 2189 movs r1, #137 ; 0x89 809bd8a: 20aa movs r0, #170 ; 0xaa 809bd8c: f7b8 fd06 bl 805479c if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809bd90: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bd94: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809bd98: eef4 7ac7 vcmpe.f32 s15, s14 809bd9c: eef1 fa10 vmrs APSR_nzcv, fpscr 809bda0: d50e bpl.n 809bdc0 809bda2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bda6: f06f 0003 mvn.w r0, #3 809bdaa: eeb0 0a67 vmov.f32 s0, s15 809bdae: f7cb fbf7 bl 80675a0 809bdb2: 4602 mov r2, r0 809bdb4: 2302 movs r3, #2 809bdb6: 2189 movs r1, #137 ; 0x89 809bdb8: 20a0 movs r0, #160 ; 0xa0 809bdba: f7b8 fcef bl 805479c 809bdbe: e05d b.n 809be7c else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809bdc0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bdc4: ed9f 7ab0 vldr s14, [pc, #704] ; 809c088 809bdc8: eef4 7ac7 vcmpe.f32 s15, s14 809bdcc: eef1 fa10 vmrs APSR_nzcv, fpscr 809bdd0: d50e bpl.n 809bdf0 809bdd2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bdd6: f06f 0002 mvn.w r0, #2 809bdda: eeb0 0a67 vmov.f32 s0, s15 809bdde: f7cb fbdf bl 80675a0 809bde2: 4602 mov r2, r0 809bde4: 2302 movs r3, #2 809bde6: 2189 movs r1, #137 ; 0x89 809bde8: 20a0 movs r0, #160 ; 0xa0 809bdea: f7b8 fcd7 bl 805479c 809bdee: e045 b.n 809be7c else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809bdf0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bdf4: ed9f 7aa5 vldr s14, [pc, #660] ; 809c08c 809bdf8: eef4 7ac7 vcmpe.f32 s15, s14 809bdfc: eef1 fa10 vmrs APSR_nzcv, fpscr 809be00: d50e bpl.n 809be20 809be02: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809be06: f06f 0001 mvn.w r0, #1 809be0a: eeb0 0a67 vmov.f32 s0, s15 809be0e: f7cb fbc7 bl 80675a0 809be12: 4602 mov r2, r0 809be14: 2302 movs r3, #2 809be16: 2189 movs r1, #137 ; 0x89 809be18: 20a0 movs r0, #160 ; 0xa0 809be1a: f7b8 fcbf bl 805479c 809be1e: e02d b.n 809be7c else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809be20: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809be24: ed9f 7a9a vldr s14, [pc, #616] ; 809c090 809be28: eef4 7ac7 vcmpe.f32 s15, s14 809be2c: eef1 fa10 vmrs APSR_nzcv, fpscr 809be30: d50e bpl.n 809be50 809be32: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809be36: f04f 30ff mov.w r0, #4294967295 809be3a: eeb0 0a67 vmov.f32 s0, s15 809be3e: f7cb fbaf bl 80675a0 809be42: 4602 mov r2, r0 809be44: 2302 movs r3, #2 809be46: 2189 movs r1, #137 ; 0x89 809be48: 20a0 movs r0, #160 ; 0xa0 809be4a: f7b8 fca7 bl 805479c 809be4e: e015 b.n 809be7c else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809be50: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809be54: ed9f 7a8f vldr s14, [pc, #572] ; 809c094 809be58: eef4 7ac7 vcmpe.f32 s15, s14 809be5c: eef1 fa10 vmrs APSR_nzcv, fpscr 809be60: d50c bpl.n 809be7c 809be62: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809be66: 2000 movs r0, #0 809be68: eeb0 0a67 vmov.f32 s0, s15 809be6c: f7cb fb98 bl 80675a0 809be70: 4602 mov r2, r0 809be72: 2302 movs r3, #2 809be74: 2189 movs r1, #137 ; 0x89 809be76: 20a0 movs r0, #160 ; 0xa0 809be78: f7b8 fc90 bl 805479c if(((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) != DIAGN_NO) && (operand[Us3] != -1.0f)) 809be7c: 4b7e ldr r3, [pc, #504] ; (809c078 ) 809be7e: 781b ldrb r3, [r3, #0] 809be80: b2db uxtb r3, r3 809be82: 4a7e ldr r2, [pc, #504] ; (809c07c ) 809be84: 009b lsls r3, r3, #2 809be86: 4413 add r3, r2 809be88: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809be8c: b2db uxtb r3, r3 809be8e: f003 0307 and.w r3, r3, #7 809be92: 2b00 cmp r3, #0 809be94: f000 8237 beq.w 809c306 809be98: 4b7f ldr r3, [pc, #508] ; (809c098 ) 809be9a: edd3 7a02 vldr s15, [r3, #8] 809be9e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809bea2: eef4 7a47 vcmp.f32 s15, s14 809bea6: eef1 fa10 vmrs APSR_nzcv, fpscr 809beaa: f000 822c beq.w 809c306 if(operand[Us3] < pardata.DIAGN_A[CURR_POINT][Us3]) 809beae: 4b7a ldr r3, [pc, #488] ; (809c098 ) 809beb0: ed93 7a02 vldr s14, [r3, #8] 809beb4: 4b70 ldr r3, [pc, #448] ; (809c078 ) 809beb6: 781b ldrb r3, [r3, #0] 809beb8: b2db uxtb r3, r3 809beba: 4a70 ldr r2, [pc, #448] ; (809c07c ) 809bebc: 333e adds r3, #62 ; 0x3e 809bebe: 011b lsls r3, r3, #4 809bec0: 4413 add r3, r2 809bec2: 3304 adds r3, #4 809bec4: edd3 7a00 vldr s15, [r3] 809bec8: eeb4 7ae7 vcmpe.f32 s14, s15 809becc: eef1 fa10 vmrs APSR_nzcv, fpscr 809bed0: d51d bpl.n 809bf0e if(operand[Us3] < pardata.DIAGN_W[CURR_POINT][Us3]) 809bed2: 4b71 ldr r3, [pc, #452] ; (809c098 ) 809bed4: ed93 7a02 vldr s14, [r3, #8] 809bed8: 4b67 ldr r3, [pc, #412] ; (809c078 ) 809beda: 781b ldrb r3, [r3, #0] 809bedc: b2db uxtb r3, r3 809bede: 4a67 ldr r2, [pc, #412] ; (809c07c ) 809bee0: 3336 adds r3, #54 ; 0x36 809bee2: 011b lsls r3, r3, #4 809bee4: 4413 add r3, r2 809bee6: 3304 adds r3, #4 809bee8: edd3 7a00 vldr s15, [r3] 809beec: eeb4 7ae7 vcmpe.f32 s14, s15 809bef0: eef1 fa10 vmrs APSR_nzcv, fpscr 809bef4: d505 bpl.n 809bf02 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809bef6: 4969 ldr r1, [pc, #420] ; (809c09c ) 809bef8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809befc: f7b8 fb88 bl 8054610 809bf00: e009 b.n 809bf16 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809bf02: 4966 ldr r1, [pc, #408] ; (809c09c ) 809bf04: f06f 00ff mvn.w r0, #255 ; 0xff 809bf08: f7b8 fb82 bl 8054610 809bf0c: e003 b.n 809bf16 LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809bf0e: 4963 ldr r1, [pc, #396] ; (809c09c ) 809bf10: 4863 ldr r0, [pc, #396] ; (809c0a0 ) 809bf12: f7b8 fb7d bl 8054610 f = operand[Us3]; 809bf16: 4b60 ldr r3, [pc, #384] ; (809c098 ) 809bf18: 689b ldr r3, [r3, #8] 809bf1a: 647b str r3, [r7, #68] ; 0x44 if(((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) >= DIAGN_PEAK_FACTOR) 809bf1c: 4b56 ldr r3, [pc, #344] ; (809c078 ) 809bf1e: 781b ldrb r3, [r3, #0] 809bf20: b2db uxtb r3, r3 809bf22: 4a56 ldr r2, [pc, #344] ; (809c07c ) 809bf24: 009b lsls r3, r3, #2 809bf26: 4413 add r3, r2 809bf28: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809bf2c: b2db uxtb r3, r3 809bf2e: 08db lsrs r3, r3, #3 809bf30: b2db uxtb r3, r3 809bf32: f003 031f and.w r3, r3, #31 809bf36: 2b07 cmp r3, #7 809bf38: f300 816f bgt.w 809c21a if(f >= 1000.0f) 809bf3c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bf40: ed9f 7a52 vldr s14, [pc, #328] ; 809c08c 809bf44: eef4 7ac7 vcmpe.f32 s15, s14 809bf48: eef1 fa10 vmrs APSR_nzcv, fpscr 809bf4c: db68 blt.n 809c020 f *= 0.001f; 809bf4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bf52: ed9f 7a54 vldr s14, [pc, #336] ; 809c0a4 809bf56: ee67 7a87 vmul.f32 s15, s15, s14 809bf5a: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_ACC) 809bf5e: 4b46 ldr r3, [pc, #280] ; (809c078 ) 809bf60: 781b ldrb r3, [r3, #0] 809bf62: b2db uxtb r3, r3 809bf64: 4a45 ldr r2, [pc, #276] ; (809c07c ) 809bf66: 009b lsls r3, r3, #2 809bf68: 4413 add r3, r2 809bf6a: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809bf6e: b2db uxtb r3, r3 809bf70: f003 0307 and.w r3, r3, #7 809bf74: 2b01 cmp r3, #1 809bf76: d112 bne.n 809bf9e if(pardata.LANG == RUS) 809bf78: 4b40 ldr r3, [pc, #256] ; (809c07c ) 809bf7a: 7b1b ldrb r3, [r3, #12] 809bf7c: b2db uxtb r3, r3 809bf7e: 2b00 cmp r3, #0 809bf80: d106 bne.n 809bf90 BSP_LCD_DisplayStringAt(170, 173, "kì/c^", LEFT_MODE); 809bf82: 2303 movs r3, #3 809bf84: 4a48 ldr r2, [pc, #288] ; (809c0a8 ) 809bf86: 21ad movs r1, #173 ; 0xad 809bf88: 20aa movs r0, #170 ; 0xaa 809bf8a: f7b8 fc07 bl 805479c 809bf8e: e144 b.n 809c21a else BSP_LCD_DisplayStringAt(170, 173, "km/s^", LEFT_MODE); 809bf90: 2303 movs r3, #3 809bf92: 4a46 ldr r2, [pc, #280] ; (809c0ac ) 809bf94: 21ad movs r1, #173 ; 0xad 809bf96: 20aa movs r0, #170 ; 0xaa 809bf98: f7b8 fc00 bl 805479c 809bf9c: e13d b.n 809c21a if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_VEL) 809bf9e: 4b36 ldr r3, [pc, #216] ; (809c078 ) 809bfa0: 781b ldrb r3, [r3, #0] 809bfa2: b2db uxtb r3, r3 809bfa4: 4a35 ldr r2, [pc, #212] ; (809c07c ) 809bfa6: 009b lsls r3, r3, #2 809bfa8: 4413 add r3, r2 809bfaa: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809bfae: b2db uxtb r3, r3 809bfb0: f003 0307 and.w r3, r3, #7 809bfb4: 2b02 cmp r3, #2 809bfb6: d112 bne.n 809bfde if(pardata.LANG == RUS) 809bfb8: 4b30 ldr r3, [pc, #192] ; (809c07c ) 809bfba: 7b1b ldrb r3, [r3, #12] 809bfbc: b2db uxtb r3, r3 809bfbe: 2b00 cmp r3, #0 809bfc0: d106 bne.n 809bfd0 BSP_LCD_DisplayStringAt(170, 173, "ì/c", LEFT_MODE); 809bfc2: 2303 movs r3, #3 809bfc4: 4a3a ldr r2, [pc, #232] ; (809c0b0 ) 809bfc6: 21ad movs r1, #173 ; 0xad 809bfc8: 20aa movs r0, #170 ; 0xaa 809bfca: f7b8 fbe7 bl 805479c 809bfce: e124 b.n 809c21a else BSP_LCD_DisplayStringAt(170, 173, "m/s", LEFT_MODE); 809bfd0: 2303 movs r3, #3 809bfd2: 4a38 ldr r2, [pc, #224] ; (809c0b4 ) 809bfd4: 21ad movs r1, #173 ; 0xad 809bfd6: 20aa movs r0, #170 ; 0xaa 809bfd8: f7b8 fbe0 bl 805479c 809bfdc: e11d b.n 809c21a if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_DIS) 809bfde: 4b26 ldr r3, [pc, #152] ; (809c078 ) 809bfe0: 781b ldrb r3, [r3, #0] 809bfe2: b2db uxtb r3, r3 809bfe4: 4a25 ldr r2, [pc, #148] ; (809c07c ) 809bfe6: 009b lsls r3, r3, #2 809bfe8: 4413 add r3, r2 809bfea: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809bfee: b2db uxtb r3, r3 809bff0: f003 0307 and.w r3, r3, #7 809bff4: 2b04 cmp r3, #4 809bff6: f040 8110 bne.w 809c21a if(pardata.LANG == RUS) 809bffa: 4b20 ldr r3, [pc, #128] ; (809c07c ) 809bffc: 7b1b ldrb r3, [r3, #12] 809bffe: b2db uxtb r3, r3 809c000: 2b00 cmp r3, #0 809c002: d106 bne.n 809c012 BSP_LCD_DisplayStringAt(170, 173, "ìì", LEFT_MODE); 809c004: 2303 movs r3, #3 809c006: 4a2c ldr r2, [pc, #176] ; (809c0b8 ) 809c008: 21ad movs r1, #173 ; 0xad 809c00a: 20aa movs r0, #170 ; 0xaa 809c00c: f7b8 fbc6 bl 805479c 809c010: e103 b.n 809c21a else BSP_LCD_DisplayStringAt(170, 173, "mm", LEFT_MODE); 809c012: 2303 movs r3, #3 809c014: 4a29 ldr r2, [pc, #164] ; (809c0bc ) 809c016: 21ad movs r1, #173 ; 0xad 809c018: 20aa movs r0, #170 ; 0xaa 809c01a: f7b8 fbbf bl 805479c 809c01e: e0fc b.n 809c21a if(f >= 0.1f) 809c020: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c024: ed9f 7a26 vldr s14, [pc, #152] ; 809c0c0 809c028: eef4 7ac7 vcmpe.f32 s15, s14 809c02c: eef1 fa10 vmrs APSR_nzcv, fpscr 809c030: f2c0 808c blt.w 809c14c if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_ACC) 809c034: 4b10 ldr r3, [pc, #64] ; (809c078 ) 809c036: 781b ldrb r3, [r3, #0] 809c038: b2db uxtb r3, r3 809c03a: 4a10 ldr r2, [pc, #64] ; (809c07c ) 809c03c: 009b lsls r3, r3, #2 809c03e: 4413 add r3, r2 809c040: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809c044: b2db uxtb r3, r3 809c046: f003 0307 and.w r3, r3, #7 809c04a: 2b01 cmp r3, #1 809c04c: d13e bne.n 809c0cc if(pardata.LANG == RUS) 809c04e: 4b0b ldr r3, [pc, #44] ; (809c07c ) 809c050: 7b1b ldrb r3, [r3, #12] 809c052: b2db uxtb r3, r3 809c054: 2b00 cmp r3, #0 809c056: d106 bne.n 809c066 BSP_LCD_DisplayStringAt(170, 173, "ì/c^", LEFT_MODE); 809c058: 2303 movs r3, #3 809c05a: 4a1a ldr r2, [pc, #104] ; (809c0c4 ) 809c05c: 21ad movs r1, #173 ; 0xad 809c05e: 20aa movs r0, #170 ; 0xaa 809c060: f7b8 fb9c bl 805479c 809c064: e0d9 b.n 809c21a else BSP_LCD_DisplayStringAt(170, 173, "m/s^", LEFT_MODE); 809c066: 2303 movs r3, #3 809c068: 4a17 ldr r2, [pc, #92] ; (809c0c8 ) 809c06a: 21ad movs r1, #173 ; 0xad 809c06c: 20aa movs r0, #170 ; 0xaa 809c06e: f7b8 fb95 bl 805479c 809c072: e0d2 b.n 809c21a 809c074: 080d4d68 .word 0x080d4d68 809c078: 20021055 .word 0x20021055 809c07c: 20023ea8 .word 0x20023ea8 809c080: 080d4d70 .word 0x080d4d70 809c084: 080d4d74 .word 0x080d4d74 809c088: 42c80000 .word 0x42c80000 809c08c: 447a0000 .word 0x447a0000 809c090: 461c4000 .word 0x461c4000 809c094: 47c35000 .word 0x47c35000 809c098: 20026918 .word 0x20026918 809c09c: ff0a0f1f .word 0xff0a0f1f 809c0a0: ffff0000 .word 0xffff0000 809c0a4: 3a83126f .word 0x3a83126f 809c0a8: 080d4d08 .word 0x080d4d08 809c0ac: 080d4d10 .word 0x080d4d10 809c0b0: 080d4d18 .word 0x080d4d18 809c0b4: 080d4d1c .word 0x080d4d1c 809c0b8: 080d4d20 .word 0x080d4d20 809c0bc: 080d4d24 .word 0x080d4d24 809c0c0: 3dcccccd .word 0x3dcccccd 809c0c4: 080d4d28 .word 0x080d4d28 809c0c8: 080d4d30 .word 0x080d4d30 else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_VEL) 809c0cc: 4bbc ldr r3, [pc, #752] ; (809c3c0 ) 809c0ce: 781b ldrb r3, [r3, #0] 809c0d0: b2db uxtb r3, r3 809c0d2: 4abc ldr r2, [pc, #752] ; (809c3c4 ) 809c0d4: 009b lsls r3, r3, #2 809c0d6: 4413 add r3, r2 809c0d8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809c0dc: b2db uxtb r3, r3 809c0de: f003 0307 and.w r3, r3, #7 809c0e2: 2b02 cmp r3, #2 809c0e4: d112 bne.n 809c10c if(pardata.LANG == RUS) 809c0e6: 4bb7 ldr r3, [pc, #732] ; (809c3c4 ) 809c0e8: 7b1b ldrb r3, [r3, #12] 809c0ea: b2db uxtb r3, r3 809c0ec: 2b00 cmp r3, #0 809c0ee: d106 bne.n 809c0fe BSP_LCD_DisplayStringAt(170, 173, "ìì/c", LEFT_MODE); 809c0f0: 2303 movs r3, #3 809c0f2: 4ab5 ldr r2, [pc, #724] ; (809c3c8 ) 809c0f4: 21ad movs r1, #173 ; 0xad 809c0f6: 20aa movs r0, #170 ; 0xaa 809c0f8: f7b8 fb50 bl 805479c 809c0fc: e08d b.n 809c21a else BSP_LCD_DisplayStringAt(170, 173, "mm/s", LEFT_MODE); 809c0fe: 2303 movs r3, #3 809c100: 4ab2 ldr r2, [pc, #712] ; (809c3cc ) 809c102: 21ad movs r1, #173 ; 0xad 809c104: 20aa movs r0, #170 ; 0xaa 809c106: f7b8 fb49 bl 805479c 809c10a: e086 b.n 809c21a else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_DIS) 809c10c: 4bac ldr r3, [pc, #688] ; (809c3c0 ) 809c10e: 781b ldrb r3, [r3, #0] 809c110: b2db uxtb r3, r3 809c112: 4aac ldr r2, [pc, #688] ; (809c3c4 ) 809c114: 009b lsls r3, r3, #2 809c116: 4413 add r3, r2 809c118: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809c11c: b2db uxtb r3, r3 809c11e: f003 0307 and.w r3, r3, #7 809c122: 2b04 cmp r3, #4 809c124: d179 bne.n 809c21a if(pardata.LANG == RUS) 809c126: 4ba7 ldr r3, [pc, #668] ; (809c3c4 ) 809c128: 7b1b ldrb r3, [r3, #12] 809c12a: b2db uxtb r3, r3 809c12c: 2b00 cmp r3, #0 809c12e: d106 bne.n 809c13e BSP_LCD_DisplayStringAt(170, 173, "ìkì", LEFT_MODE); 809c130: 2303 movs r3, #3 809c132: 4aa7 ldr r2, [pc, #668] ; (809c3d0 ) 809c134: 21ad movs r1, #173 ; 0xad 809c136: 20aa movs r0, #170 ; 0xaa 809c138: f7b8 fb30 bl 805479c 809c13c: e06d b.n 809c21a else BSP_LCD_DisplayStringAt(170, 173, "um", LEFT_MODE); 809c13e: 2303 movs r3, #3 809c140: 4aa4 ldr r2, [pc, #656] ; (809c3d4 ) 809c142: 21ad movs r1, #173 ; 0xad 809c144: 20aa movs r0, #170 ; 0xaa 809c146: f7b8 fb29 bl 805479c 809c14a: e066 b.n 809c21a f *= 1000.0f; 809c14c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c150: ed9f 7aa1 vldr s14, [pc, #644] ; 809c3d8 809c154: ee67 7a87 vmul.f32 s15, s15, s14 809c158: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_ACC) 809c15c: 4b98 ldr r3, [pc, #608] ; (809c3c0 ) 809c15e: 781b ldrb r3, [r3, #0] 809c160: b2db uxtb r3, r3 809c162: 4a98 ldr r2, [pc, #608] ; (809c3c4 ) 809c164: 009b lsls r3, r3, #2 809c166: 4413 add r3, r2 809c168: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809c16c: b2db uxtb r3, r3 809c16e: f003 0307 and.w r3, r3, #7 809c172: 2b01 cmp r3, #1 809c174: d112 bne.n 809c19c if(pardata.LANG == RUS) 809c176: 4b93 ldr r3, [pc, #588] ; (809c3c4 ) 809c178: 7b1b ldrb r3, [r3, #12] 809c17a: b2db uxtb r3, r3 809c17c: 2b00 cmp r3, #0 809c17e: d106 bne.n 809c18e BSP_LCD_DisplayStringAt(170, 173, "ìêÂ", LEFT_MODE); 809c180: 2303 movs r3, #3 809c182: 4a96 ldr r2, [pc, #600] ; (809c3dc ) 809c184: 21ad movs r1, #173 ; 0xad 809c186: 20aa movs r0, #170 ; 0xaa 809c188: f7b8 fb08 bl 805479c 809c18c: e045 b.n 809c21a else BSP_LCD_DisplayStringAt(170, 173, "uV", LEFT_MODE); 809c18e: 2303 movs r3, #3 809c190: 4a93 ldr r2, [pc, #588] ; (809c3e0 ) 809c192: 21ad movs r1, #173 ; 0xad 809c194: 20aa movs r0, #170 ; 0xaa 809c196: f7b8 fb01 bl 805479c 809c19a: e03e b.n 809c21a else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_VEL) 809c19c: 4b88 ldr r3, [pc, #544] ; (809c3c0 ) 809c19e: 781b ldrb r3, [r3, #0] 809c1a0: b2db uxtb r3, r3 809c1a2: 4a88 ldr r2, [pc, #544] ; (809c3c4 ) 809c1a4: 009b lsls r3, r3, #2 809c1a6: 4413 add r3, r2 809c1a8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809c1ac: b2db uxtb r3, r3 809c1ae: f003 0307 and.w r3, r3, #7 809c1b2: 2b02 cmp r3, #2 809c1b4: d112 bne.n 809c1dc if(pardata.LANG == RUS) 809c1b6: 4b83 ldr r3, [pc, #524] ; (809c3c4 ) 809c1b8: 7b1b ldrb r3, [r3, #12] 809c1ba: b2db uxtb r3, r3 809c1bc: 2b00 cmp r3, #0 809c1be: d106 bne.n 809c1ce BSP_LCD_DisplayStringAt(170, 173, "ìêì/c", LEFT_MODE); 809c1c0: 2303 movs r3, #3 809c1c2: 4a88 ldr r2, [pc, #544] ; (809c3e4 ) 809c1c4: 21ad movs r1, #173 ; 0xad 809c1c6: 20aa movs r0, #170 ; 0xaa 809c1c8: f7b8 fae8 bl 805479c 809c1cc: e025 b.n 809c21a else BSP_LCD_DisplayStringAt(170, 173, "mkm/s", LEFT_MODE); 809c1ce: 2303 movs r3, #3 809c1d0: 4a85 ldr r2, [pc, #532] ; (809c3e8 ) 809c1d2: 21ad movs r1, #173 ; 0xad 809c1d4: 20aa movs r0, #170 ; 0xaa 809c1d6: f7b8 fae1 bl 805479c 809c1da: e01e b.n 809c21a else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_DIS) 809c1dc: 4b78 ldr r3, [pc, #480] ; (809c3c0 ) 809c1de: 781b ldrb r3, [r3, #0] 809c1e0: b2db uxtb r3, r3 809c1e2: 4a78 ldr r2, [pc, #480] ; (809c3c4 ) 809c1e4: 009b lsls r3, r3, #2 809c1e6: 4413 add r3, r2 809c1e8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809c1ec: b2db uxtb r3, r3 809c1ee: f003 0307 and.w r3, r3, #7 809c1f2: 2b04 cmp r3, #4 809c1f4: d111 bne.n 809c21a if(pardata.LANG == RUS) 809c1f6: 4b73 ldr r3, [pc, #460] ; (809c3c4 ) 809c1f8: 7b1b ldrb r3, [r3, #12] 809c1fa: b2db uxtb r3, r3 809c1fc: 2b00 cmp r3, #0 809c1fe: d106 bne.n 809c20e BSP_LCD_DisplayStringAt(170, 173, "íì", LEFT_MODE); 809c200: 2303 movs r3, #3 809c202: 4a7a ldr r2, [pc, #488] ; (809c3ec ) 809c204: 21ad movs r1, #173 ; 0xad 809c206: 20aa movs r0, #170 ; 0xaa 809c208: f7b8 fac8 bl 805479c 809c20c: e005 b.n 809c21a else BSP_LCD_DisplayStringAt(170, 173, "nm", LEFT_MODE); 809c20e: 2303 movs r3, #3 809c210: 4a77 ldr r2, [pc, #476] ; (809c3f0 ) 809c212: 21ad movs r1, #173 ; 0xad 809c214: 20aa movs r0, #170 ; 0xaa 809c216: f7b8 fac1 bl 805479c if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809c21a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c21e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809c222: eef4 7ac7 vcmpe.f32 s15, s14 809c226: eef1 fa10 vmrs APSR_nzcv, fpscr 809c22a: d50e bpl.n 809c24a 809c22c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c230: f06f 0003 mvn.w r0, #3 809c234: eeb0 0a67 vmov.f32 s0, s15 809c238: f7cb f9b2 bl 80675a0 809c23c: 4602 mov r2, r0 809c23e: 2302 movs r3, #2 809c240: 21ad movs r1, #173 ; 0xad 809c242: 20a0 movs r0, #160 ; 0xa0 809c244: f7b8 faaa bl 805479c 809c248: e05d b.n 809c306 else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809c24a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c24e: ed9f 7a69 vldr s14, [pc, #420] ; 809c3f4 809c252: eef4 7ac7 vcmpe.f32 s15, s14 809c256: eef1 fa10 vmrs APSR_nzcv, fpscr 809c25a: d50e bpl.n 809c27a 809c25c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c260: f06f 0002 mvn.w r0, #2 809c264: eeb0 0a67 vmov.f32 s0, s15 809c268: f7cb f99a bl 80675a0 809c26c: 4602 mov r2, r0 809c26e: 2302 movs r3, #2 809c270: 21ad movs r1, #173 ; 0xad 809c272: 20a0 movs r0, #160 ; 0xa0 809c274: f7b8 fa92 bl 805479c 809c278: e045 b.n 809c306 else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809c27a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c27e: ed9f 7a56 vldr s14, [pc, #344] ; 809c3d8 809c282: eef4 7ac7 vcmpe.f32 s15, s14 809c286: eef1 fa10 vmrs APSR_nzcv, fpscr 809c28a: d50e bpl.n 809c2aa 809c28c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c290: f06f 0001 mvn.w r0, #1 809c294: eeb0 0a67 vmov.f32 s0, s15 809c298: f7cb f982 bl 80675a0 809c29c: 4602 mov r2, r0 809c29e: 2302 movs r3, #2 809c2a0: 21ad movs r1, #173 ; 0xad 809c2a2: 20a0 movs r0, #160 ; 0xa0 809c2a4: f7b8 fa7a bl 805479c 809c2a8: e02d b.n 809c306 else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809c2aa: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c2ae: ed9f 7a52 vldr s14, [pc, #328] ; 809c3f8 809c2b2: eef4 7ac7 vcmpe.f32 s15, s14 809c2b6: eef1 fa10 vmrs APSR_nzcv, fpscr 809c2ba: d50e bpl.n 809c2da 809c2bc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c2c0: f04f 30ff mov.w r0, #4294967295 809c2c4: eeb0 0a67 vmov.f32 s0, s15 809c2c8: f7cb f96a bl 80675a0 809c2cc: 4602 mov r2, r0 809c2ce: 2302 movs r3, #2 809c2d0: 21ad movs r1, #173 ; 0xad 809c2d2: 20a0 movs r0, #160 ; 0xa0 809c2d4: f7b8 fa62 bl 805479c 809c2d8: e015 b.n 809c306 else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809c2da: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c2de: ed9f 7a47 vldr s14, [pc, #284] ; 809c3fc 809c2e2: eef4 7ac7 vcmpe.f32 s15, s14 809c2e6: eef1 fa10 vmrs APSR_nzcv, fpscr 809c2ea: d50c bpl.n 809c306 809c2ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c2f0: 2000 movs r0, #0 809c2f2: eeb0 0a67 vmov.f32 s0, s15 809c2f6: f7cb f953 bl 80675a0 809c2fa: 4602 mov r2, r0 809c2fc: 2302 movs r3, #2 809c2fe: 21ad movs r1, #173 ; 0xad 809c300: 20a0 movs r0, #160 ; 0xa0 809c302: f7b8 fa4b bl 805479c if(ALARM) 809c306: 4b3e ldr r3, [pc, #248] ; (809c400 ) 809c308: 781b ldrb r3, [r3, #0] 809c30a: b2db uxtb r3, r3 809c30c: 2b00 cmp r3, #0 809c30e: d006 beq.n 809c31e DrawImage(&bmmy_A, 316-65, 121); 809c310: 2279 movs r2, #121 ; 0x79 809c312: 21fb movs r1, #251 ; 0xfb 809c314: 483b ldr r0, [pc, #236] ; (809c404 ) 809c316: f7b9 f86f bl 80553f8 break; 809c31a: f008 bbc9 b.w 80a4ab0 if(WARNING) 809c31e: 4b3a ldr r3, [pc, #232] ; (809c408 ) 809c320: 781b ldrb r3, [r3, #0] 809c322: b2db uxtb r3, r3 809c324: 2b00 cmp r3, #0 809c326: f008 83c3 beq.w 80a4ab0 DrawImage(&bmmy_W, 316-65, 121); 809c32a: 2279 movs r2, #121 ; 0x79 809c32c: 21fb movs r1, #251 ; 0xfb 809c32e: 4837 ldr r0, [pc, #220] ; (809c40c ) 809c330: f7b9 f862 bl 80553f8 break; 809c334: f008 bbbc b.w 80a4ab0 DrawImage(&bmAVS, 8, 84); 809c338: 2254 movs r2, #84 ; 0x54 809c33a: 2108 movs r1, #8 809c33c: 4834 ldr r0, [pc, #208] ; (809c410 ) 809c33e: f7b9 f85b bl 80553f8 if(DrawSavedData) 809c342: 4b34 ldr r3, [pc, #208] ; (809c414 ) 809c344: 781b ldrb r3, [r3, #0] 809c346: b2db uxtb r3, r3 809c348: 2b00 cmp r3, #0 809c34a: f002 8179 beq.w 809e640 ivs[ACC] = ReadFileData.Aivs; 809c34e: 4b32 ldr r3, [pc, #200] ; (809c418 ) 809c350: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809c354: b2db uxtb r3, r3 809c356: 703b strb r3, [r7, #0] ivs[VEL] = ReadFileData.Vivs; 809c358: 4b2f ldr r3, [pc, #188] ; (809c418 ) 809c35a: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809c35e: b2db uxtb r3, r3 809c360: 707b strb r3, [r7, #1] ivs[DIS] = ReadFileData.Sivs; 809c362: 4b2d ldr r3, [pc, #180] ; (809c418 ) 809c364: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809c368: b2db uxtb r3, r3 809c36a: 70bb strb r3, [r7, #2] if(((!ReadFileData.Aivs) && (!ReadFileData.Vivs) && (!ReadFileData.Sivs)) || (ReadFileData.Aval.fl == -1.0f)) 809c36c: 4b2a ldr r3, [pc, #168] ; (809c418 ) 809c36e: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809c372: b2db uxtb r3, r3 809c374: 2b00 cmp r3, #0 809c376: d10b bne.n 809c390 809c378: 4b27 ldr r3, [pc, #156] ; (809c418 ) 809c37a: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809c37e: b2db uxtb r3, r3 809c380: 2b00 cmp r3, #0 809c382: d105 bne.n 809c390 809c384: 4b24 ldr r3, [pc, #144] ; (809c418 ) 809c386: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809c38a: b2db uxtb r3, r3 809c38c: 2b00 cmp r3, #0 809c38e: d009 beq.n 809c3a4 809c390: 4b21 ldr r3, [pc, #132] ; (809c418 ) 809c392: edd3 7a00 vldr s15, [r3] 809c396: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809c39a: eef4 7a47 vcmp.f32 s15, s14 809c39e: eef1 fa10 vmrs APSR_nzcv, fpscr 809c3a2: d141 bne.n 809c428 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 809c3a4: 4b1d ldr r3, [pc, #116] ; (809c41c ) 809c3a6: 681b ldr r3, [r3, #0] 809c3a8: 4a1d ldr r2, [pc, #116] ; (809c420 ) 809c3aa: f852 2023 ldr.w r2, [r2, r3, lsl #2] 809c3ae: 4b1d ldr r3, [pc, #116] ; (809c424 ) 809c3b0: 681b ldr r3, [r3, #0] 809c3b2: 429a cmp r2, r3 809c3b4: f044 8143 bne.w 80a063e DrawDetectorType(); 809c3b8: f7fc ff74 bl 80992a4 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 809c3bc: f004 b93f b.w 80a063e 809c3c0: 20021055 .word 0x20021055 809c3c4: 20023ea8 .word 0x20023ea8 809c3c8: 080d4d38 .word 0x080d4d38 809c3cc: 080d4d40 .word 0x080d4d40 809c3d0: 080d4d48 .word 0x080d4d48 809c3d4: 080d4d4c .word 0x080d4d4c 809c3d8: 447a0000 .word 0x447a0000 809c3dc: 080d4d78 .word 0x080d4d78 809c3e0: 080d4d7c .word 0x080d4d7c 809c3e4: 080d4d60 .word 0x080d4d60 809c3e8: 080d4d68 .word 0x080d4d68 809c3ec: 080d4d70 .word 0x080d4d70 809c3f0: 080d4d74 .word 0x080d4d74 809c3f4: 42c80000 .word 0x42c80000 809c3f8: 461c4000 .word 0x461c4000 809c3fc: 47c35000 .word 0x47c35000 809c400: 20021059 .word 0x20021059 809c404: 0816cef8 .word 0x0816cef8 809c408: 20021058 .word 0x20021058 809c40c: 0816dfd0 .word 0x0816dfd0 809c410: 081080c4 .word 0x081080c4 809c414: 20020dea .word 0x20020dea 809c418: 200226e8 .word 0x200226e8 809c41c: 20021fe4 .word 0x20021fe4 809c420: 20022ee8 .word 0x20022ee8 809c424: 20022358 .word 0x20022358 DrawImage(&bmSAVED, 298, 39); 809c428: 2227 movs r2, #39 ; 0x27 809c42a: f44f 7195 mov.w r1, #298 ; 0x12a 809c42e: 48bc ldr r0, [pc, #752] ; (809c720 ) 809c430: f7b8 ffe2 bl 80553f8 memset(str, 0, sizeof(str)); 809c434: f107 030c add.w r3, r7, #12 809c438: 2228 movs r2, #40 ; 0x28 809c43a: 2100 movs r1, #0 809c43c: 4618 mov r0, r3 809c43e: f034 ffaf bl 80d13a0 BSP_LCD_SetFont(&Font8); 809c442: 48b8 ldr r0, [pc, #736] ; (809c724 ) 809c444: f7b8 f920 bl 8054688 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809c448: 49b7 ldr r1, [pc, #732] ; (809c728 ) 809c44a: 48b8 ldr r0, [pc, #736] ; (809c72c ) 809c44c: f7b8 f8e0 bl 8054610 str[0] = (DateFileData.Date / 10) + 48; 809c450: 4bb7 ldr r3, [pc, #732] ; (809c730 ) 809c452: 789b ldrb r3, [r3, #2] 809c454: b2db uxtb r3, r3 809c456: 4ab7 ldr r2, [pc, #732] ; (809c734 ) 809c458: fba2 2303 umull r2, r3, r2, r3 809c45c: 08db lsrs r3, r3, #3 809c45e: b2db uxtb r3, r3 809c460: 3330 adds r3, #48 ; 0x30 809c462: b2db uxtb r3, r3 809c464: 733b strb r3, [r7, #12] str[1] = (DateFileData.Date % 10) + 48; 809c466: 4bb2 ldr r3, [pc, #712] ; (809c730 ) 809c468: 789b ldrb r3, [r3, #2] 809c46a: b2da uxtb r2, r3 809c46c: 4bb1 ldr r3, [pc, #708] ; (809c734 ) 809c46e: fba3 1302 umull r1, r3, r3, r2 809c472: 08d9 lsrs r1, r3, #3 809c474: 460b mov r3, r1 809c476: 009b lsls r3, r3, #2 809c478: 440b add r3, r1 809c47a: 005b lsls r3, r3, #1 809c47c: 1ad3 subs r3, r2, r3 809c47e: b2db uxtb r3, r3 809c480: 3330 adds r3, #48 ; 0x30 809c482: b2db uxtb r3, r3 809c484: 737b strb r3, [r7, #13] str[2] = '.'; 809c486: 232e movs r3, #46 ; 0x2e 809c488: 73bb strb r3, [r7, #14] str[3] = (DateFileData.Month / 10) + 48; 809c48a: 4ba9 ldr r3, [pc, #676] ; (809c730 ) 809c48c: 785b ldrb r3, [r3, #1] 809c48e: b2db uxtb r3, r3 809c490: 4aa8 ldr r2, [pc, #672] ; (809c734 ) 809c492: fba2 2303 umull r2, r3, r2, r3 809c496: 08db lsrs r3, r3, #3 809c498: b2db uxtb r3, r3 809c49a: 3330 adds r3, #48 ; 0x30 809c49c: b2db uxtb r3, r3 809c49e: 73fb strb r3, [r7, #15] str[4] = (DateFileData.Month % 10) + 48; 809c4a0: 4ba3 ldr r3, [pc, #652] ; (809c730 ) 809c4a2: 785b ldrb r3, [r3, #1] 809c4a4: b2da uxtb r2, r3 809c4a6: 4ba3 ldr r3, [pc, #652] ; (809c734 ) 809c4a8: fba3 1302 umull r1, r3, r3, r2 809c4ac: 08d9 lsrs r1, r3, #3 809c4ae: 460b mov r3, r1 809c4b0: 009b lsls r3, r3, #2 809c4b2: 440b add r3, r1 809c4b4: 005b lsls r3, r3, #1 809c4b6: 1ad3 subs r3, r2, r3 809c4b8: b2db uxtb r3, r3 809c4ba: 3330 adds r3, #48 ; 0x30 809c4bc: b2db uxtb r3, r3 809c4be: 743b strb r3, [r7, #16] str[5] = '.'; 809c4c0: 232e movs r3, #46 ; 0x2e 809c4c2: 747b strb r3, [r7, #17] str[6] = '2'; 809c4c4: 2332 movs r3, #50 ; 0x32 809c4c6: 74bb strb r3, [r7, #18] str[7] = '0'; 809c4c8: 2330 movs r3, #48 ; 0x30 809c4ca: 74fb strb r3, [r7, #19] str[8] = (DateFileData.Year / 10) + 48; 809c4cc: 4b98 ldr r3, [pc, #608] ; (809c730 ) 809c4ce: 78db ldrb r3, [r3, #3] 809c4d0: b2db uxtb r3, r3 809c4d2: 4a98 ldr r2, [pc, #608] ; (809c734 ) 809c4d4: fba2 2303 umull r2, r3, r2, r3 809c4d8: 08db lsrs r3, r3, #3 809c4da: b2db uxtb r3, r3 809c4dc: 3330 adds r3, #48 ; 0x30 809c4de: b2db uxtb r3, r3 809c4e0: 753b strb r3, [r7, #20] str[9] = (DateFileData.Year % 10) + 48; 809c4e2: 4b93 ldr r3, [pc, #588] ; (809c730 ) 809c4e4: 78db ldrb r3, [r3, #3] 809c4e6: b2da uxtb r2, r3 809c4e8: 4b92 ldr r3, [pc, #584] ; (809c734 ) 809c4ea: fba3 1302 umull r1, r3, r3, r2 809c4ee: 08d9 lsrs r1, r3, #3 809c4f0: 460b mov r3, r1 809c4f2: 009b lsls r3, r3, #2 809c4f4: 440b add r3, r1 809c4f6: 005b lsls r3, r3, #1 809c4f8: 1ad3 subs r3, r2, r3 809c4fa: b2db uxtb r3, r3 809c4fc: 3330 adds r3, #48 ; 0x30 809c4fe: b2db uxtb r3, r3 809c500: 757b strb r3, [r7, #21] BSP_LCD_DisplayStringAt(295, 42, str, RIGHT_MODE); 809c502: f107 020c add.w r2, r7, #12 809c506: 2302 movs r3, #2 809c508: 212a movs r1, #42 ; 0x2a 809c50a: f240 1027 movw r0, #295 ; 0x127 809c50e: f7b8 f945 bl 805479c memset(str, 0, sizeof(str)); 809c512: f107 030c add.w r3, r7, #12 809c516: 2228 movs r2, #40 ; 0x28 809c518: 2100 movs r1, #0 809c51a: 4618 mov r0, r3 809c51c: f034 ff40 bl 80d13a0 str[0] = (TimeFileData.Hours / 10) + 48; 809c520: 4b85 ldr r3, [pc, #532] ; (809c738 ) 809c522: 781b ldrb r3, [r3, #0] 809c524: b2db uxtb r3, r3 809c526: 4a83 ldr r2, [pc, #524] ; (809c734 ) 809c528: fba2 2303 umull r2, r3, r2, r3 809c52c: 08db lsrs r3, r3, #3 809c52e: b2db uxtb r3, r3 809c530: 3330 adds r3, #48 ; 0x30 809c532: b2db uxtb r3, r3 809c534: 733b strb r3, [r7, #12] str[1] = (TimeFileData.Hours % 10) + 48; 809c536: 4b80 ldr r3, [pc, #512] ; (809c738 ) 809c538: 781b ldrb r3, [r3, #0] 809c53a: b2da uxtb r2, r3 809c53c: 4b7d ldr r3, [pc, #500] ; (809c734 ) 809c53e: fba3 1302 umull r1, r3, r3, r2 809c542: 08d9 lsrs r1, r3, #3 809c544: 460b mov r3, r1 809c546: 009b lsls r3, r3, #2 809c548: 440b add r3, r1 809c54a: 005b lsls r3, r3, #1 809c54c: 1ad3 subs r3, r2, r3 809c54e: b2db uxtb r3, r3 809c550: 3330 adds r3, #48 ; 0x30 809c552: b2db uxtb r3, r3 809c554: 737b strb r3, [r7, #13] str[2] = ':'; 809c556: 233a movs r3, #58 ; 0x3a 809c558: 73bb strb r3, [r7, #14] str[3] = (TimeFileData.Minutes / 10) + 48; 809c55a: 4b77 ldr r3, [pc, #476] ; (809c738 ) 809c55c: 785b ldrb r3, [r3, #1] 809c55e: b2db uxtb r3, r3 809c560: 4a74 ldr r2, [pc, #464] ; (809c734 ) 809c562: fba2 2303 umull r2, r3, r2, r3 809c566: 08db lsrs r3, r3, #3 809c568: b2db uxtb r3, r3 809c56a: 3330 adds r3, #48 ; 0x30 809c56c: b2db uxtb r3, r3 809c56e: 73fb strb r3, [r7, #15] str[4] = (TimeFileData.Minutes % 10) + 48; 809c570: 4b71 ldr r3, [pc, #452] ; (809c738 ) 809c572: 785b ldrb r3, [r3, #1] 809c574: b2da uxtb r2, r3 809c576: 4b6f ldr r3, [pc, #444] ; (809c734 ) 809c578: fba3 1302 umull r1, r3, r3, r2 809c57c: 08d9 lsrs r1, r3, #3 809c57e: 460b mov r3, r1 809c580: 009b lsls r3, r3, #2 809c582: 440b add r3, r1 809c584: 005b lsls r3, r3, #1 809c586: 1ad3 subs r3, r2, r3 809c588: b2db uxtb r3, r3 809c58a: 3330 adds r3, #48 ; 0x30 809c58c: b2db uxtb r3, r3 809c58e: 743b strb r3, [r7, #16] str[5] = ':'; 809c590: 233a movs r3, #58 ; 0x3a 809c592: 747b strb r3, [r7, #17] str[6] = (TimeFileData.Seconds / 10) + 48; 809c594: 4b68 ldr r3, [pc, #416] ; (809c738 ) 809c596: 789b ldrb r3, [r3, #2] 809c598: b2db uxtb r3, r3 809c59a: 4a66 ldr r2, [pc, #408] ; (809c734 ) 809c59c: fba2 2303 umull r2, r3, r2, r3 809c5a0: 08db lsrs r3, r3, #3 809c5a2: b2db uxtb r3, r3 809c5a4: 3330 adds r3, #48 ; 0x30 809c5a6: b2db uxtb r3, r3 809c5a8: 74bb strb r3, [r7, #18] str[7] = (TimeFileData.Seconds % 10) + 48; 809c5aa: 4b63 ldr r3, [pc, #396] ; (809c738 ) 809c5ac: 789b ldrb r3, [r3, #2] 809c5ae: b2da uxtb r2, r3 809c5b0: 4b60 ldr r3, [pc, #384] ; (809c734 ) 809c5b2: fba3 1302 umull r1, r3, r3, r2 809c5b6: 08d9 lsrs r1, r3, #3 809c5b8: 460b mov r3, r1 809c5ba: 009b lsls r3, r3, #2 809c5bc: 440b add r3, r1 809c5be: 005b lsls r3, r3, #1 809c5c0: 1ad3 subs r3, r2, r3 809c5c2: b2db uxtb r3, r3 809c5c4: 3330 adds r3, #48 ; 0x30 809c5c6: b2db uxtb r3, r3 809c5c8: 74fb strb r3, [r7, #19] BSP_LCD_DisplayStringAt(295, 52, str, RIGHT_MODE); 809c5ca: f107 020c add.w r2, r7, #12 809c5ce: 2302 movs r3, #2 809c5d0: 2134 movs r1, #52 ; 0x34 809c5d2: f240 1027 movw r0, #295 ; 0x127 809c5d6: f7b8 f8e1 bl 805479c DrawDetectorType(); 809c5da: f7fc fe63 bl 80992a4 if(ReadFileData.Fval.fl != -1.0f) 809c5de: 4b57 ldr r3, [pc, #348] ; (809c73c ) 809c5e0: edd3 7a03 vldr s15, [r3, #12] 809c5e4: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809c5e8: eef4 7a47 vcmp.f32 s15, s14 809c5ec: eef1 fa10 vmrs APSR_nzcv, fpscr 809c5f0: f000 80fc beq.w 809c7ec DrawImage(&bmf, 100, 57); 809c5f4: 2239 movs r2, #57 ; 0x39 809c5f6: 2164 movs r1, #100 ; 0x64 809c5f8: 4851 ldr r0, [pc, #324] ; (809c740 ) 809c5fa: f7b8 fefd bl 80553f8 BSP_LCD_SetFont(&Font15); 809c5fe: 4851 ldr r0, [pc, #324] ; (809c744 ) 809c600: f7b8 f842 bl 8054688 f = ReadFileData.Fval.fl; 809c604: 4b4d ldr r3, [pc, #308] ; (809c73c ) 809c606: 68db ldr r3, [r3, #12] 809c608: 647b str r3, [r7, #68] ; 0x44 LCD_SetColors(LCD_COLOR_WHITE/*0xFFFBFF1C*/, LCD_COLOR_BLACK); 809c60a: 4947 ldr r1, [pc, #284] ; (809c728 ) 809c60c: f04f 30ff mov.w r0, #4294967295 809c610: f7b7 fffe bl 8054610 memset(str, 0, sizeof(str)); 809c614: f107 030c add.w r3, r7, #12 809c618: 2228 movs r2, #40 ; 0x28 809c61a: 2100 movs r1, #0 809c61c: 4618 mov r0, r3 809c61e: f034 febf bl 80d13a0 if(f >= 1000.0f) 809c622: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c626: ed9f 7a4f vldr s14, [pc, #316] ; 809c764 809c62a: eef4 7ac7 vcmpe.f32 s15, s14 809c62e: eef1 fa10 vmrs APSR_nzcv, fpscr 809c632: db3b blt.n 809c6ac f *= 0.001f; 809c634: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c638: ed9f 7a43 vldr s14, [pc, #268] ; 809c748 809c63c: ee67 7a87 vmul.f32 s15, s15, s14 809c640: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -4); 809c644: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c648: f06f 0003 mvn.w r0, #3 809c64c: eeb0 0a67 vmov.f32 s0, s15 809c650: f7ca ffa6 bl 80675a0 809c654: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809c656: f107 030c add.w r3, r7, #12 809c65a: 6e39 ldr r1, [r7, #96] ; 0x60 809c65c: 4618 mov r0, r3 809c65e: f034 ffbc bl 80d15da if(pardata.LANG == RUS) strcat(str, " êÃö"); 809c662: 4b3a ldr r3, [pc, #232] ; (809c74c ) 809c664: 7b1b ldrb r3, [r3, #12] 809c666: b2db uxtb r3, r3 809c668: 2b00 cmp r3, #0 809c66a: d10f bne.n 809c68c 809c66c: f107 030c add.w r3, r7, #12 809c670: 4618 mov r0, r3 809c672: f783 fe4f bl 8020314 809c676: 4603 mov r3, r0 809c678: 461a mov r2, r3 809c67a: f107 030c add.w r3, r7, #12 809c67e: 4413 add r3, r2 809c680: 4a33 ldr r2, [pc, #204] ; (809c750 ) 809c682: 6810 ldr r0, [r2, #0] 809c684: 6018 str r0, [r3, #0] 809c686: 7912 ldrb r2, [r2, #4] 809c688: 711a strb r2, [r3, #4] 809c68a: e0a8 b.n 809c7de else strcat(str, " kHz"); 809c68c: f107 030c add.w r3, r7, #12 809c690: 4618 mov r0, r3 809c692: f783 fe3f bl 8020314 809c696: 4603 mov r3, r0 809c698: 461a mov r2, r3 809c69a: f107 030c add.w r3, r7, #12 809c69e: 4413 add r3, r2 809c6a0: 4a2c ldr r2, [pc, #176] ; (809c754 ) 809c6a2: 6810 ldr r0, [r2, #0] 809c6a4: 6018 str r0, [r3, #0] 809c6a6: 7912 ldrb r2, [r2, #4] 809c6a8: 711a strb r2, [r3, #4] 809c6aa: e098 b.n 809c7de if(f >= 0.1f) 809c6ac: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c6b0: ed9f 7a29 vldr s14, [pc, #164] ; 809c758 809c6b4: eef4 7ac7 vcmpe.f32 s15, s14 809c6b8: eef1 fa10 vmrs APSR_nzcv, fpscr 809c6bc: db54 blt.n 809c768 p8 = (char *) FloatToASCII(f, -3); 809c6be: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c6c2: f06f 0002 mvn.w r0, #2 809c6c6: eeb0 0a67 vmov.f32 s0, s15 809c6ca: f7ca ff69 bl 80675a0 809c6ce: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809c6d0: f107 030c add.w r3, r7, #12 809c6d4: 6e39 ldr r1, [r7, #96] ; 0x60 809c6d6: 4618 mov r0, r3 809c6d8: f034 ff7f bl 80d15da if(pardata.LANG == RUS) strcat(str, " Ãö"); 809c6dc: 4b1b ldr r3, [pc, #108] ; (809c74c ) 809c6de: 7b1b ldrb r3, [r3, #12] 809c6e0: b2db uxtb r3, r3 809c6e2: 2b00 cmp r3, #0 809c6e4: d10d bne.n 809c702 809c6e6: f107 030c add.w r3, r7, #12 809c6ea: 4618 mov r0, r3 809c6ec: f783 fe12 bl 8020314 809c6f0: 4603 mov r3, r0 809c6f2: 461a mov r2, r3 809c6f4: f107 030c add.w r3, r7, #12 809c6f8: 4413 add r3, r2 809c6fa: 4a18 ldr r2, [pc, #96] ; (809c75c ) 809c6fc: 6810 ldr r0, [r2, #0] 809c6fe: 6018 str r0, [r3, #0] 809c700: e06d b.n 809c7de else strcat(str, " Hz"); 809c702: f107 030c add.w r3, r7, #12 809c706: 4618 mov r0, r3 809c708: f783 fe04 bl 8020314 809c70c: 4603 mov r3, r0 809c70e: 461a mov r2, r3 809c710: f107 030c add.w r3, r7, #12 809c714: 4413 add r3, r2 809c716: 4a12 ldr r2, [pc, #72] ; (809c760 ) 809c718: 6810 ldr r0, [r2, #0] 809c71a: 6018 str r0, [r3, #0] 809c71c: e05f b.n 809c7de 809c71e: bf00 nop 809c720: 0814be4c .word 0x0814be4c 809c724: 20020060 .word 0x20020060 809c728: ff0a0f1f .word 0xff0a0f1f 809c72c: ffd3d3d3 .word 0xffd3d3d3 809c730: 20022638 .word 0x20022638 809c734: cccccccd .word 0xcccccccd 809c738: 200229b0 .word 0x200229b0 809c73c: 200226e8 .word 0x200226e8 809c740: 08161bbc .word 0x08161bbc 809c744: 20020040 .word 0x20020040 809c748: 3a83126f .word 0x3a83126f 809c74c: 20023ea8 .word 0x20023ea8 809c750: 080d4d80 .word 0x080d4d80 809c754: 080d4d88 .word 0x080d4d88 809c758: 3dcccccd .word 0x3dcccccd 809c75c: 080d4d90 .word 0x080d4d90 809c760: 080d4d94 .word 0x080d4d94 809c764: 447a0000 .word 0x447a0000 f *= 1000.0f; 809c768: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c76c: ed1f 7a03 vldr s14, [pc, #-12] ; 809c764 809c770: ee67 7a87 vmul.f32 s15, s15, s14 809c774: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -3); 809c778: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c77c: f06f 0002 mvn.w r0, #2 809c780: eeb0 0a67 vmov.f32 s0, s15 809c784: f7ca ff0c bl 80675a0 809c788: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809c78a: f107 030c add.w r3, r7, #12 809c78e: 6e39 ldr r1, [r7, #96] ; 0x60 809c790: 4618 mov r0, r3 809c792: f034 ff22 bl 80d15da if(pardata.LANG == RUS) strcat(str, " ìÃö"); 809c796: 4bcd ldr r3, [pc, #820] ; (809cacc ) 809c798: 7b1b ldrb r3, [r3, #12] 809c79a: b2db uxtb r3, r3 809c79c: 2b00 cmp r3, #0 809c79e: d10f bne.n 809c7c0 809c7a0: f107 030c add.w r3, r7, #12 809c7a4: 4618 mov r0, r3 809c7a6: f783 fdb5 bl 8020314 809c7aa: 4603 mov r3, r0 809c7ac: 461a mov r2, r3 809c7ae: f107 030c add.w r3, r7, #12 809c7b2: 4413 add r3, r2 809c7b4: 4ac6 ldr r2, [pc, #792] ; (809cad0 ) 809c7b6: 6810 ldr r0, [r2, #0] 809c7b8: 6018 str r0, [r3, #0] 809c7ba: 7912 ldrb r2, [r2, #4] 809c7bc: 711a strb r2, [r3, #4] 809c7be: e00e b.n 809c7de else strcat(str, " mHz"); 809c7c0: f107 030c add.w r3, r7, #12 809c7c4: 4618 mov r0, r3 809c7c6: f783 fda5 bl 8020314 809c7ca: 4603 mov r3, r0 809c7cc: 461a mov r2, r3 809c7ce: f107 030c add.w r3, r7, #12 809c7d2: 4413 add r3, r2 809c7d4: 4abf ldr r2, [pc, #764] ; (809cad4 ) 809c7d6: 6810 ldr r0, [r2, #0] 809c7d8: 6018 str r0, [r3, #0] 809c7da: 7912 ldrb r2, [r2, #4] 809c7dc: 711a strb r2, [r3, #4] BSP_LCD_DisplayStringAt(132, 61, str, LEFT_MODE); 809c7de: f107 020c add.w r2, r7, #12 809c7e2: 2303 movs r3, #3 809c7e4: 213d movs r1, #61 ; 0x3d 809c7e6: 2084 movs r0, #132 ; 0x84 809c7e8: f7b7 ffd8 bl 805479c if(log == false) //Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 809c7ec: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 809c7f0: f083 0301 eor.w r3, r3, #1 809c7f4: b2db uxtb r3, r3 809c7f6: 2b00 cmp r3, #0 809c7f8: f000 8594 beq.w 809d324 for(ipr = ACC; ipr <= DIS; ipr++) 809c7fc: 2300 movs r3, #0 809c7fe: 653b str r3, [r7, #80] ; 0x50 809c800: f000 bd8a b.w 809d318 if(ipr == ACC) f = ABS(ReadFileData.Aval.fl); 809c804: 6d3b ldr r3, [r7, #80] ; 0x50 809c806: 2b00 cmp r3, #0 809c808: d113 bne.n 809c832 809c80a: 4bb3 ldr r3, [pc, #716] ; (809cad8 ) 809c80c: edd3 7a00 vldr s15, [r3] 809c810: eef5 7ac0 vcmpe.f32 s15, #0.0 809c814: eef1 fa10 vmrs APSR_nzcv, fpscr 809c818: dd03 ble.n 809c822 809c81a: 4baf ldr r3, [pc, #700] ; (809cad8 ) 809c81c: edd3 7a00 vldr s15, [r3] 809c820: e004 b.n 809c82c 809c822: 4bad ldr r3, [pc, #692] ; (809cad8 ) 809c824: edd3 7a00 vldr s15, [r3] 809c828: eef1 7a67 vneg.f32 s15, s15 809c82c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 809c830: e02c b.n 809c88c else if(ipr == VEL) f = ABS(ReadFileData.Vval.fl); 809c832: 6d3b ldr r3, [r7, #80] ; 0x50 809c834: 2b01 cmp r3, #1 809c836: d113 bne.n 809c860 809c838: 4ba7 ldr r3, [pc, #668] ; (809cad8 ) 809c83a: edd3 7a01 vldr s15, [r3, #4] 809c83e: eef5 7ac0 vcmpe.f32 s15, #0.0 809c842: eef1 fa10 vmrs APSR_nzcv, fpscr 809c846: dd03 ble.n 809c850 809c848: 4ba3 ldr r3, [pc, #652] ; (809cad8 ) 809c84a: edd3 7a01 vldr s15, [r3, #4] 809c84e: e004 b.n 809c85a 809c850: 4ba1 ldr r3, [pc, #644] ; (809cad8 ) 809c852: edd3 7a01 vldr s15, [r3, #4] 809c856: eef1 7a67 vneg.f32 s15, s15 809c85a: edc7 7a11 vstr s15, [r7, #68] ; 0x44 809c85e: e015 b.n 809c88c else if(ipr == DIS) f = ABS(ReadFileData.Sval.fl); 809c860: 6d3b ldr r3, [r7, #80] ; 0x50 809c862: 2b02 cmp r3, #2 809c864: d112 bne.n 809c88c 809c866: 4b9c ldr r3, [pc, #624] ; (809cad8 ) 809c868: edd3 7a02 vldr s15, [r3, #8] 809c86c: eef5 7ac0 vcmpe.f32 s15, #0.0 809c870: eef1 fa10 vmrs APSR_nzcv, fpscr 809c874: dd03 ble.n 809c87e 809c876: 4b98 ldr r3, [pc, #608] ; (809cad8 ) 809c878: edd3 7a02 vldr s15, [r3, #8] 809c87c: e004 b.n 809c888 809c87e: 4b96 ldr r3, [pc, #600] ; (809cad8 ) 809c880: edd3 7a02 vldr s15, [r3, #8] 809c884: eef1 7a67 vneg.f32 s15, s15 809c888: edc7 7a11 vstr s15, [r7, #68] ; 0x44 memset(str, 0, sizeof(str)); 809c88c: f107 030c add.w r3, r7, #12 809c890: 2228 movs r2, #40 ; 0x28 809c892: 2100 movs r1, #0 809c894: 4618 mov r0, r3 809c896: f034 fd83 bl 80d13a0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809c89a: 4990 ldr r1, [pc, #576] ; (809cadc ) 809c89c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809c8a0: f7b7 feb6 bl 8054610 BSP_LCD_SetFont(&Font12); 809c8a4: 488e ldr r0, [pc, #568] ; (809cae0 ) 809c8a6: f7b7 feef bl 8054688 if(ipr < DIS) 809c8aa: 6d3b ldr r3, [r7, #80] ; 0x50 809c8ac: 2b01 cmp r3, #1 809c8ae: f200 80af bhi.w 809ca10 if(f < 10.0f) 809c8b2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c8b6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809c8ba: eef4 7ac7 vcmpe.f32 s15, s14 809c8be: eef1 fa10 vmrs APSR_nzcv, fpscr 809c8c2: d513 bpl.n 809c8ec k = (uint32_t) (roundf(f * 10000)); 809c8c4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c8c8: ed9f 7a8a vldr s14, [pc, #552] ; 809caf4 809c8cc: ee67 7a87 vmul.f32 s15, s15, s14 809c8d0: eeb0 0a67 vmov.f32 s0, s15 809c8d4: f032 fb66 bl 80cefa4 809c8d8: eef0 7a40 vmov.f32 s15, s0 809c8dc: eefc 7ae7 vcvt.u32.f32 s15, s15 809c8e0: ee17 3a90 vmov r3, s15 809c8e4: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809c8e6: 2301 movs r3, #1 809c8e8: 657b str r3, [r7, #84] ; 0x54 809c8ea: e1cc b.n 809cc86 if(f < 100.0f) 809c8ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c8f0: ed9f 7a7c vldr s14, [pc, #496] ; 809cae4 809c8f4: eef4 7ac7 vcmpe.f32 s15, s14 809c8f8: eef1 fa10 vmrs APSR_nzcv, fpscr 809c8fc: d513 bpl.n 809c926 k = (uint32_t) (roundf(f * 1000)); 809c8fe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c902: ed9f 7a79 vldr s14, [pc, #484] ; 809cae8 809c906: ee67 7a87 vmul.f32 s15, s15, s14 809c90a: eeb0 0a67 vmov.f32 s0, s15 809c90e: f032 fb49 bl 80cefa4 809c912: eef0 7a40 vmov.f32 s15, s0 809c916: eefc 7ae7 vcvt.u32.f32 s15, s15 809c91a: ee17 3a90 vmov r3, s15 809c91e: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809c920: 2302 movs r3, #2 809c922: 657b str r3, [r7, #84] ; 0x54 809c924: e1af b.n 809cc86 if(f < 1000.0f) 809c926: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c92a: ed9f 7a6f vldr s14, [pc, #444] ; 809cae8 809c92e: eef4 7ac7 vcmpe.f32 s15, s14 809c932: eef1 fa10 vmrs APSR_nzcv, fpscr 809c936: d513 bpl.n 809c960 k = (uint32_t) (roundf(f * 100)); 809c938: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c93c: ed9f 7a69 vldr s14, [pc, #420] ; 809cae4 809c940: ee67 7a87 vmul.f32 s15, s15, s14 809c944: eeb0 0a67 vmov.f32 s0, s15 809c948: f032 fb2c bl 80cefa4 809c94c: eef0 7a40 vmov.f32 s15, s0 809c950: eefc 7ae7 vcvt.u32.f32 s15, s15 809c954: ee17 3a90 vmov r3, s15 809c958: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809c95a: 2303 movs r3, #3 809c95c: 657b str r3, [r7, #84] ; 0x54 809c95e: e192 b.n 809cc86 if(f < 10000.0f) 809c960: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c964: ed9f 7a63 vldr s14, [pc, #396] ; 809caf4 809c968: eef4 7ac7 vcmpe.f32 s15, s14 809c96c: eef1 fa10 vmrs APSR_nzcv, fpscr 809c970: d513 bpl.n 809c99a k = (uint32_t) (roundf(f * 10)); 809c972: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c976: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809c97a: ee67 7a87 vmul.f32 s15, s15, s14 809c97e: eeb0 0a67 vmov.f32 s0, s15 809c982: f032 fb0f bl 80cefa4 809c986: eef0 7a40 vmov.f32 s15, s0 809c98a: eefc 7ae7 vcvt.u32.f32 s15, s15 809c98e: ee17 3a90 vmov r3, s15 809c992: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809c994: 2304 movs r3, #4 809c996: 657b str r3, [r7, #84] ; 0x54 809c998: e175 b.n 809cc86 if(f < 100000.0f) 809c99a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c99e: ed9f 7a56 vldr s14, [pc, #344] ; 809caf8 809c9a2: eef4 7ac7 vcmpe.f32 s15, s14 809c9a6: eef1 fa10 vmrs APSR_nzcv, fpscr 809c9aa: d515 bpl.n 809c9d8 k = (uint32_t) (roundf(f)); 809c9ac: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c9b0: eeb0 0a67 vmov.f32 s0, s15 809c9b4: f032 faf6 bl 80cefa4 809c9b8: eef0 7a40 vmov.f32 s15, s0 809c9bc: eefc 7ae7 vcvt.u32.f32 s15, s15 809c9c0: ee17 3a90 vmov r3, s15 809c9c4: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809c9c6: 6dbb ldr r3, [r7, #88] ; 0x58 809c9c8: 4a48 ldr r2, [pc, #288] ; (809caec ) 809c9ca: 4293 cmp r3, r2 809c9cc: d901 bls.n 809c9d2 k = 99999; 809c9ce: 4b47 ldr r3, [pc, #284] ; (809caec ) 809c9d0: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809c9d2: 2300 movs r3, #0 809c9d4: 657b str r3, [r7, #84] ; 0x54 809c9d6: e156 b.n 809cc86 if(f >= 100000.0f) 809c9d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c9dc: ed9f 7a46 vldr s14, [pc, #280] ; 809caf8 809c9e0: eef4 7ac7 vcmpe.f32 s15, s14 809c9e4: eef1 fa10 vmrs APSR_nzcv, fpscr 809c9e8: f2c0 814d blt.w 809cc86 f = 99999.0f; 809c9ec: 4b40 ldr r3, [pc, #256] ; (809caf0 ) 809c9ee: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809c9f0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c9f4: eeb0 0a67 vmov.f32 s0, s15 809c9f8: f032 fad4 bl 80cefa4 809c9fc: eef0 7a40 vmov.f32 s15, s0 809ca00: eefc 7ae7 vcvt.u32.f32 s15, s15 809ca04: ee17 3a90 vmov r3, s15 809ca08: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809ca0a: 2300 movs r3, #0 809ca0c: 657b str r3, [r7, #84] ; 0x54 809ca0e: e13a b.n 809cc86 if(f < 10.0f) 809ca10: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ca14: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ca18: eef4 7ac7 vcmpe.f32 s15, s14 809ca1c: eef1 fa10 vmrs APSR_nzcv, fpscr 809ca20: d515 bpl.n 809ca4e k = (uint32_t) (roundf(f * 10000)); 809ca22: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ca26: ed9f 7a33 vldr s14, [pc, #204] ; 809caf4 809ca2a: ee67 7a87 vmul.f32 s15, s15, s14 809ca2e: eeb0 0a67 vmov.f32 s0, s15 809ca32: f032 fab7 bl 80cefa4 809ca36: eef0 7a40 vmov.f32 s15, s0 809ca3a: eefc 7ae7 vcvt.u32.f32 s15, s15 809ca3e: ee17 3a90 vmov r3, s15 809ca42: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809ca44: 2301 movs r3, #1 809ca46: 657b str r3, [r7, #84] ; 0x54 m = 0; 809ca48: 2300 movs r3, #0 809ca4a: 64fb str r3, [r7, #76] ; 0x4c 809ca4c: e11b b.n 809cc86 if(f < 100.0f) 809ca4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ca52: ed9f 7a24 vldr s14, [pc, #144] ; 809cae4 809ca56: eef4 7ac7 vcmpe.f32 s15, s14 809ca5a: eef1 fa10 vmrs APSR_nzcv, fpscr 809ca5e: d515 bpl.n 809ca8c k = (uint32_t) (roundf(f * 1000)); 809ca60: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ca64: ed9f 7a20 vldr s14, [pc, #128] ; 809cae8 809ca68: ee67 7a87 vmul.f32 s15, s15, s14 809ca6c: eeb0 0a67 vmov.f32 s0, s15 809ca70: f032 fa98 bl 80cefa4 809ca74: eef0 7a40 vmov.f32 s15, s0 809ca78: eefc 7ae7 vcvt.u32.f32 s15, s15 809ca7c: ee17 3a90 vmov r3, s15 809ca80: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809ca82: 2302 movs r3, #2 809ca84: 657b str r3, [r7, #84] ; 0x54 m = 0; 809ca86: 2300 movs r3, #0 809ca88: 64fb str r3, [r7, #76] ; 0x4c 809ca8a: e0fc b.n 809cc86 if(f < 1000.0f) 809ca8c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ca90: ed9f 7a15 vldr s14, [pc, #84] ; 809cae8 809ca94: eef4 7ac7 vcmpe.f32 s15, s14 809ca98: eef1 fa10 vmrs APSR_nzcv, fpscr 809ca9c: d53a bpl.n 809cb14 k = (uint32_t) (roundf(f * 100)); 809ca9e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809caa2: ed9f 7a10 vldr s14, [pc, #64] ; 809cae4 809caa6: ee67 7a87 vmul.f32 s15, s15, s14 809caaa: eeb0 0a67 vmov.f32 s0, s15 809caae: f032 fa79 bl 80cefa4 809cab2: eef0 7a40 vmov.f32 s15, s0 809cab6: eefc 7ae7 vcvt.u32.f32 s15, s15 809caba: ee17 3a90 vmov r3, s15 809cabe: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809cac0: 2303 movs r3, #3 809cac2: 657b str r3, [r7, #84] ; 0x54 m = 0; 809cac4: 2300 movs r3, #0 809cac6: 64fb str r3, [r7, #76] ; 0x4c 809cac8: e0dd b.n 809cc86 809caca: bf00 nop 809cacc: 20023ea8 .word 0x20023ea8 809cad0: 080d4d98 .word 0x080d4d98 809cad4: 080d4da0 .word 0x080d4da0 809cad8: 200226e8 .word 0x200226e8 809cadc: ff0a0f1f .word 0xff0a0f1f 809cae0: 20020038 .word 0x20020038 809cae4: 42c80000 .word 0x42c80000 809cae8: 447a0000 .word 0x447a0000 809caec: 0001869f .word 0x0001869f 809caf0: 47c34f80 .word 0x47c34f80 809caf4: 461c4000 .word 0x461c4000 809caf8: 47c35000 .word 0x47c35000 809cafc: 49742400 .word 0x49742400 809cb00: 3dcccccd .word 0x3dcccccd 809cb04: 4b189680 .word 0x4b189680 809cb08: 3c23d70a .word 0x3c23d70a 809cb0c: 4cbebc20 .word 0x4cbebc20 809cb10: 3a83126f .word 0x3a83126f if(f < 10000.0f) 809cb14: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cb18: ed1f 7a0a vldr s14, [pc, #-40] ; 809caf4 809cb1c: eef4 7ac7 vcmpe.f32 s15, s14 809cb20: eef1 fa10 vmrs APSR_nzcv, fpscr 809cb24: d515 bpl.n 809cb52 k = (uint32_t) (roundf(f * 10)); 809cb26: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cb2a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809cb2e: ee67 7a87 vmul.f32 s15, s15, s14 809cb32: eeb0 0a67 vmov.f32 s0, s15 809cb36: f032 fa35 bl 80cefa4 809cb3a: eef0 7a40 vmov.f32 s15, s0 809cb3e: eefc 7ae7 vcvt.u32.f32 s15, s15 809cb42: ee17 3a90 vmov r3, s15 809cb46: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809cb48: 2301 movs r3, #1 809cb4a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809cb4c: 2301 movs r3, #1 809cb4e: 64fb str r3, [r7, #76] ; 0x4c 809cb50: e099 b.n 809cc86 if(f < 100000.0f) 809cb52: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cb56: ed1f 7a18 vldr s14, [pc, #-96] ; 809caf8 809cb5a: eef4 7ac7 vcmpe.f32 s15, s14 809cb5e: eef1 fa10 vmrs APSR_nzcv, fpscr 809cb62: d511 bpl.n 809cb88 k = (uint32_t) (roundf(f)); 809cb64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cb68: eeb0 0a67 vmov.f32 s0, s15 809cb6c: f032 fa1a bl 80cefa4 809cb70: eef0 7a40 vmov.f32 s15, s0 809cb74: eefc 7ae7 vcvt.u32.f32 s15, s15 809cb78: ee17 3a90 vmov r3, s15 809cb7c: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809cb7e: 2302 movs r3, #2 809cb80: 657b str r3, [r7, #84] ; 0x54 m = 1; 809cb82: 2301 movs r3, #1 809cb84: 64fb str r3, [r7, #76] ; 0x4c 809cb86: e07e b.n 809cc86 if(f < 1000000.0f) 809cb88: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cb8c: ed1f 7a25 vldr s14, [pc, #-148] ; 809cafc 809cb90: eef4 7ac7 vcmpe.f32 s15, s14 809cb94: eef1 fa10 vmrs APSR_nzcv, fpscr 809cb98: d515 bpl.n 809cbc6 k = (uint32_t) (roundf(f * 0.1f)); 809cb9a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cb9e: ed1f 7a28 vldr s14, [pc, #-160] ; 809cb00 809cba2: ee67 7a87 vmul.f32 s15, s15, s14 809cba6: eeb0 0a67 vmov.f32 s0, s15 809cbaa: f032 f9fb bl 80cefa4 809cbae: eef0 7a40 vmov.f32 s15, s0 809cbb2: eefc 7ae7 vcvt.u32.f32 s15, s15 809cbb6: ee17 3a90 vmov r3, s15 809cbba: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809cbbc: 2303 movs r3, #3 809cbbe: 657b str r3, [r7, #84] ; 0x54 m = 1; 809cbc0: 2301 movs r3, #1 809cbc2: 64fb str r3, [r7, #76] ; 0x4c 809cbc4: e05f b.n 809cc86 if(f < 10000000.0f) 809cbc6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cbca: ed1f 7a32 vldr s14, [pc, #-200] ; 809cb04 809cbce: eef4 7ac7 vcmpe.f32 s15, s14 809cbd2: eef1 fa10 vmrs APSR_nzcv, fpscr 809cbd6: d515 bpl.n 809cc04 k = (uint32_t) (roundf(f * 0.01f)); 809cbd8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cbdc: ed1f 7a36 vldr s14, [pc, #-216] ; 809cb08 809cbe0: ee67 7a87 vmul.f32 s15, s15, s14 809cbe4: eeb0 0a67 vmov.f32 s0, s15 809cbe8: f032 f9dc bl 80cefa4 809cbec: eef0 7a40 vmov.f32 s15, s0 809cbf0: eefc 7ae7 vcvt.u32.f32 s15, s15 809cbf4: ee17 3a90 vmov r3, s15 809cbf8: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809cbfa: 2304 movs r3, #4 809cbfc: 657b str r3, [r7, #84] ; 0x54 m = 1; 809cbfe: 2301 movs r3, #1 809cc00: 64fb str r3, [r7, #76] ; 0x4c 809cc02: e040 b.n 809cc86 if(f < 100000000.0f) 809cc04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cc08: ed1f 7a40 vldr s14, [pc, #-256] ; 809cb0c 809cc0c: eef4 7ac7 vcmpe.f32 s15, s14 809cc10: eef1 fa10 vmrs APSR_nzcv, fpscr 809cc14: d51b bpl.n 809cc4e k = (uint32_t) (roundf(f * 0.001f)); 809cc16: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cc1a: ed1f 7a43 vldr s14, [pc, #-268] ; 809cb10 809cc1e: ee67 7a87 vmul.f32 s15, s15, s14 809cc22: eeb0 0a67 vmov.f32 s0, s15 809cc26: f032 f9bd bl 80cefa4 809cc2a: eef0 7a40 vmov.f32 s15, s0 809cc2e: eefc 7ae7 vcvt.u32.f32 s15, s15 809cc32: ee17 3a90 vmov r3, s15 809cc36: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809cc38: 6dbb ldr r3, [r7, #88] ; 0x58 809cc3a: 4abf ldr r2, [pc, #764] ; (809cf38 ) 809cc3c: 4293 cmp r3, r2 809cc3e: d901 bls.n 809cc44 k = 99999; 809cc40: 4bbd ldr r3, [pc, #756] ; (809cf38 ) 809cc42: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809cc44: 2300 movs r3, #0 809cc46: 657b str r3, [r7, #84] ; 0x54 m = 1; 809cc48: 2301 movs r3, #1 809cc4a: 64fb str r3, [r7, #76] ; 0x4c 809cc4c: e01b b.n 809cc86 if(f >= 100000000.0f) 809cc4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cc52: ed9f 7aba vldr s14, [pc, #744] ; 809cf3c 809cc56: eef4 7ac7 vcmpe.f32 s15, s14 809cc5a: eef1 fa10 vmrs APSR_nzcv, fpscr 809cc5e: db12 blt.n 809cc86 f = 99999.0f; 809cc60: 4bb7 ldr r3, [pc, #732] ; (809cf40 ) 809cc62: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809cc64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809cc68: eeb0 0a67 vmov.f32 s0, s15 809cc6c: f032 f99a bl 80cefa4 809cc70: eef0 7a40 vmov.f32 s15, s0 809cc74: eefc 7ae7 vcvt.u32.f32 s15, s15 809cc78: ee17 3a90 vmov r3, s15 809cc7c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809cc7e: 2300 movs r3, #0 809cc80: 657b str r3, [r7, #84] ; 0x54 m = 1; 809cc82: 2301 movs r3, #1 809cc84: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809cc86: 6d3a ldr r2, [r7, #80] ; 0x50 809cc88: 6dbb ldr r3, [r7, #88] ; 0x58 809cc8a: 49ae ldr r1, [pc, #696] ; (809cf44 ) 809cc8c: fba1 1303 umull r1, r3, r1, r3 809cc90: 0b5b lsrs r3, r3, #13 809cc92: b2d9 uxtb r1, r3 809cc94: 4613 mov r3, r2 809cc96: 009b lsls r3, r3, #2 809cc98: 4413 add r3, r2 809cc9a: f107 0268 add.w r2, r7, #104 ; 0x68 809cc9e: 4413 add r3, r2 809cca0: 3b34 subs r3, #52 ; 0x34 809cca2: 460a mov r2, r1 809cca4: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809cca6: 6d39 ldr r1, [r7, #80] ; 0x50 809cca8: 6dba ldr r2, [r7, #88] ; 0x58 809ccaa: 4ba6 ldr r3, [pc, #664] ; (809cf44 ) 809ccac: fba3 0302 umull r0, r3, r3, r2 809ccb0: 0b5b lsrs r3, r3, #13 809ccb2: f242 7010 movw r0, #10000 ; 0x2710 809ccb6: fb00 f303 mul.w r3, r0, r3 809ccba: 1ad3 subs r3, r2, r3 809ccbc: 4aa2 ldr r2, [pc, #648] ; (809cf48 ) 809ccbe: fba2 2303 umull r2, r3, r2, r3 809ccc2: 099b lsrs r3, r3, #6 809ccc4: b2da uxtb r2, r3 809ccc6: 460b mov r3, r1 809ccc8: 009b lsls r3, r3, #2 809ccca: 440b add r3, r1 809cccc: f107 0168 add.w r1, r7, #104 ; 0x68 809ccd0: 440b add r3, r1 809ccd2: 3b33 subs r3, #51 ; 0x33 809ccd4: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809ccd6: 6d39 ldr r1, [r7, #80] ; 0x50 809ccd8: 6dba ldr r2, [r7, #88] ; 0x58 809ccda: 4b9a ldr r3, [pc, #616] ; (809cf44 ) 809ccdc: fba3 0302 umull r0, r3, r3, r2 809cce0: 0b5b lsrs r3, r3, #13 809cce2: f242 7010 movw r0, #10000 ; 0x2710 809cce6: fb00 f303 mul.w r3, r0, r3 809ccea: 1ad3 subs r3, r2, r3 809ccec: 4a96 ldr r2, [pc, #600] ; (809cf48 ) 809ccee: fba2 0203 umull r0, r2, r2, r3 809ccf2: 0992 lsrs r2, r2, #6 809ccf4: f44f 707a mov.w r0, #1000 ; 0x3e8 809ccf8: fb00 f202 mul.w r2, r0, r2 809ccfc: 1a9a subs r2, r3, r2 809ccfe: 4b93 ldr r3, [pc, #588] ; (809cf4c ) 809cd00: fba3 2302 umull r2, r3, r3, r2 809cd04: 095b lsrs r3, r3, #5 809cd06: b2da uxtb r2, r3 809cd08: 460b mov r3, r1 809cd0a: 009b lsls r3, r3, #2 809cd0c: 440b add r3, r1 809cd0e: f107 0168 add.w r1, r7, #104 ; 0x68 809cd12: 440b add r3, r1 809cd14: 3b32 subs r3, #50 ; 0x32 809cd16: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809cd18: 6d39 ldr r1, [r7, #80] ; 0x50 809cd1a: 6dbb ldr r3, [r7, #88] ; 0x58 809cd1c: 4a89 ldr r2, [pc, #548] ; (809cf44 ) 809cd1e: fba2 0203 umull r0, r2, r2, r3 809cd22: 0b52 lsrs r2, r2, #13 809cd24: f242 7010 movw r0, #10000 ; 0x2710 809cd28: fb00 f202 mul.w r2, r0, r2 809cd2c: 1a9a subs r2, r3, r2 809cd2e: 4b86 ldr r3, [pc, #536] ; (809cf48 ) 809cd30: fba3 0302 umull r0, r3, r3, r2 809cd34: 099b lsrs r3, r3, #6 809cd36: f44f 707a mov.w r0, #1000 ; 0x3e8 809cd3a: fb00 f303 mul.w r3, r0, r3 809cd3e: 1ad3 subs r3, r2, r3 809cd40: 4a82 ldr r2, [pc, #520] ; (809cf4c ) 809cd42: fba2 0203 umull r0, r2, r2, r3 809cd46: 0952 lsrs r2, r2, #5 809cd48: 2064 movs r0, #100 ; 0x64 809cd4a: fb00 f202 mul.w r2, r0, r2 809cd4e: 1a9a subs r2, r3, r2 809cd50: 4b7f ldr r3, [pc, #508] ; (809cf50 ) 809cd52: fba3 2302 umull r2, r3, r3, r2 809cd56: 08db lsrs r3, r3, #3 809cd58: b2da uxtb r2, r3 809cd5a: 460b mov r3, r1 809cd5c: 009b lsls r3, r3, #2 809cd5e: 440b add r3, r1 809cd60: f107 0168 add.w r1, r7, #104 ; 0x68 809cd64: 440b add r3, r1 809cd66: 3b31 subs r3, #49 ; 0x31 809cd68: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809cd6a: 6d38 ldr r0, [r7, #80] ; 0x50 809cd6c: 6dbb ldr r3, [r7, #88] ; 0x58 809cd6e: 4a75 ldr r2, [pc, #468] ; (809cf44 ) 809cd70: fba2 1203 umull r1, r2, r2, r3 809cd74: 0b52 lsrs r2, r2, #13 809cd76: f242 7110 movw r1, #10000 ; 0x2710 809cd7a: fb01 f202 mul.w r2, r1, r2 809cd7e: 1a9a subs r2, r3, r2 809cd80: 4b71 ldr r3, [pc, #452] ; (809cf48 ) 809cd82: fba3 1302 umull r1, r3, r3, r2 809cd86: 099b lsrs r3, r3, #6 809cd88: f44f 717a mov.w r1, #1000 ; 0x3e8 809cd8c: fb01 f303 mul.w r3, r1, r3 809cd90: 1ad3 subs r3, r2, r3 809cd92: 4a6e ldr r2, [pc, #440] ; (809cf4c ) 809cd94: fba2 1203 umull r1, r2, r2, r3 809cd98: 0952 lsrs r2, r2, #5 809cd9a: 2164 movs r1, #100 ; 0x64 809cd9c: fb01 f202 mul.w r2, r1, r2 809cda0: 1a9a subs r2, r3, r2 809cda2: 4b6b ldr r3, [pc, #428] ; (809cf50 ) 809cda4: fba3 1302 umull r1, r3, r3, r2 809cda8: 08d9 lsrs r1, r3, #3 809cdaa: 460b mov r3, r1 809cdac: 009b lsls r3, r3, #2 809cdae: 440b add r3, r1 809cdb0: 005b lsls r3, r3, #1 809cdb2: 1ad1 subs r1, r2, r3 809cdb4: b2ca uxtb r2, r1 809cdb6: 4603 mov r3, r0 809cdb8: 009b lsls r3, r3, #2 809cdba: 4403 add r3, r0 809cdbc: f107 0168 add.w r1, r7, #104 ; 0x68 809cdc0: 440b add r3, r1 809cdc2: 3b30 subs r3, #48 ; 0x30 809cdc4: 701a strb r2, [r3, #0] if(ipr == ACC) 809cdc6: 6d3b ldr r3, [r7, #80] ; 0x50 809cdc8: 2b00 cmp r3, #0 809cdca: f040 80cf bne.w 809cf6c if(!t) 809cdce: 6d7b ldr r3, [r7, #84] ; 0x54 809cdd0: 2b00 cmp r3, #0 809cdd2: d126 bne.n 809ce22 for(i = 0; i < 5; i++) 809cdd4: 2300 movs r3, #0 809cdd6: 65fb str r3, [r7, #92] ; 0x5c 809cdd8: e01f b.n 809ce1a DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809cdda: 6d3a ldr r2, [r7, #80] ; 0x50 809cddc: 6df9 ldr r1, [r7, #92] ; 0x5c 809cdde: 4613 mov r3, r2 809cde0: 009b lsls r3, r3, #2 809cde2: 4413 add r3, r2 809cde4: f107 0268 add.w r2, r7, #104 ; 0x68 809cde8: 4413 add r3, r2 809cdea: 440b add r3, r1 809cdec: 3b34 subs r3, #52 ; 0x34 809cdee: 781b ldrb r3, [r3, #0] 809cdf0: b2db uxtb r3, r3 809cdf2: 461a mov r2, r3 809cdf4: 4b57 ldr r3, [pc, #348] ; (809cf54 ) 809cdf6: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809cdfa: 6dfb ldr r3, [r7, #92] ; 0x5c 809cdfc: b29b uxth r3, r3 809cdfe: 461a mov r2, r3 809ce00: 0112 lsls r2, r2, #4 809ce02: 1ad3 subs r3, r2, r3 809ce04: 005b lsls r3, r3, #1 809ce06: b29b uxth r3, r3 809ce08: 335a adds r3, #90 ; 0x5a 809ce0a: b29b uxth r3, r3 809ce0c: 2256 movs r2, #86 ; 0x56 809ce0e: 4619 mov r1, r3 809ce10: f7b8 faf2 bl 80553f8 for(i = 0; i < 5; i++) 809ce14: 6dfb ldr r3, [r7, #92] ; 0x5c 809ce16: 3301 adds r3, #1 809ce18: 65fb str r3, [r7, #92] ; 0x5c 809ce1a: 6dfb ldr r3, [r7, #92] ; 0x5c 809ce1c: 2b04 cmp r3, #4 809ce1e: d9dc bls.n 809cdda 809ce20: e05a b.n 809ced8 for(i = 0; i < t; i++) 809ce22: 2300 movs r3, #0 809ce24: 65fb str r3, [r7, #92] ; 0x5c 809ce26: e01f b.n 809ce68 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809ce28: 6d3a ldr r2, [r7, #80] ; 0x50 809ce2a: 6df9 ldr r1, [r7, #92] ; 0x5c 809ce2c: 4613 mov r3, r2 809ce2e: 009b lsls r3, r3, #2 809ce30: 4413 add r3, r2 809ce32: f107 0268 add.w r2, r7, #104 ; 0x68 809ce36: 4413 add r3, r2 809ce38: 440b add r3, r1 809ce3a: 3b34 subs r3, #52 ; 0x34 809ce3c: 781b ldrb r3, [r3, #0] 809ce3e: b2db uxtb r3, r3 809ce40: 461a mov r2, r3 809ce42: 4b44 ldr r3, [pc, #272] ; (809cf54 ) 809ce44: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ce48: 6dfb ldr r3, [r7, #92] ; 0x5c 809ce4a: b29b uxth r3, r3 809ce4c: 461a mov r2, r3 809ce4e: 0112 lsls r2, r2, #4 809ce50: 1ad3 subs r3, r2, r3 809ce52: 005b lsls r3, r3, #1 809ce54: b29b uxth r3, r3 809ce56: 335a adds r3, #90 ; 0x5a 809ce58: b29b uxth r3, r3 809ce5a: 2256 movs r2, #86 ; 0x56 809ce5c: 4619 mov r1, r3 809ce5e: f7b8 facb bl 80553f8 for(i = 0; i < t; i++) 809ce62: 6dfb ldr r3, [r7, #92] ; 0x5c 809ce64: 3301 adds r3, #1 809ce66: 65fb str r3, [r7, #92] ; 0x5c 809ce68: 6dfa ldr r2, [r7, #92] ; 0x5c 809ce6a: 6d7b ldr r3, [r7, #84] ; 0x54 809ce6c: 429a cmp r2, r3 809ce6e: d3db bcc.n 809ce28 DrawImage(&bmgpt, 95 + 30*t, 92+18); 809ce70: 6d7b ldr r3, [r7, #84] ; 0x54 809ce72: b29b uxth r3, r3 809ce74: 461a mov r2, r3 809ce76: 0112 lsls r2, r2, #4 809ce78: 1ad3 subs r3, r2, r3 809ce7a: 005b lsls r3, r3, #1 809ce7c: b29b uxth r3, r3 809ce7e: 335f adds r3, #95 ; 0x5f 809ce80: b29b uxth r3, r3 809ce82: 226e movs r2, #110 ; 0x6e 809ce84: 4619 mov r1, r3 809ce86: 4834 ldr r0, [pc, #208] ; (809cf58 ) 809ce88: f7b8 fab6 bl 80553f8 for(i = t; i < 5; i++) 809ce8c: 6d7b ldr r3, [r7, #84] ; 0x54 809ce8e: 65fb str r3, [r7, #92] ; 0x5c 809ce90: e01f b.n 809ced2 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809ce92: 6d3a ldr r2, [r7, #80] ; 0x50 809ce94: 6df9 ldr r1, [r7, #92] ; 0x5c 809ce96: 4613 mov r3, r2 809ce98: 009b lsls r3, r3, #2 809ce9a: 4413 add r3, r2 809ce9c: f107 0268 add.w r2, r7, #104 ; 0x68 809cea0: 4413 add r3, r2 809cea2: 440b add r3, r1 809cea4: 3b34 subs r3, #52 ; 0x34 809cea6: 781b ldrb r3, [r3, #0] 809cea8: b2db uxtb r3, r3 809ceaa: 461a mov r2, r3 809ceac: 4b29 ldr r3, [pc, #164] ; (809cf54 ) 809ceae: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ceb2: 6dfb ldr r3, [r7, #92] ; 0x5c 809ceb4: b29b uxth r3, r3 809ceb6: 461a mov r2, r3 809ceb8: 0112 lsls r2, r2, #4 809ceba: 1ad3 subs r3, r2, r3 809cebc: 005b lsls r3, r3, #1 809cebe: b29b uxth r3, r3 809cec0: 336e adds r3, #110 ; 0x6e 809cec2: b29b uxth r3, r3 809cec4: 2256 movs r2, #86 ; 0x56 809cec6: 4619 mov r1, r3 809cec8: f7b8 fa96 bl 80553f8 for(i = t; i < 5; i++) 809cecc: 6dfb ldr r3, [r7, #92] ; 0x5c 809cece: 3301 adds r3, #1 809ced0: 65fb str r3, [r7, #92] ; 0x5c 809ced2: 6dfb ldr r3, [r7, #92] ; 0x5c 809ced4: 2b04 cmp r3, #4 809ced6: d9dc bls.n 809ce92 if((ReadFileData.Aivs != 'E') && (ReadFileData.Aivs != 'F')) 809ced8: 4b20 ldr r3, [pc, #128] ; (809cf5c ) 809ceda: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809cede: b2db uxtb r3, r3 809cee0: 2b45 cmp r3, #69 ; 0x45 809cee2: d012 beq.n 809cf0a 809cee4: 4b1d ldr r3, [pc, #116] ; (809cf5c ) 809cee6: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809ceea: b2db uxtb r3, r3 809ceec: 2b46 cmp r3, #70 ; 0x46 809ceee: d00c beq.n 809cf0a DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809cef0: 4b1b ldr r3, [pc, #108] ; (809cf60 ) 809cef2: 7b1b ldrb r3, [r3, #12] 809cef4: b2db uxtb r3, r3 809cef6: 461a mov r2, r3 809cef8: 4b1a ldr r3, [pc, #104] ; (809cf64 ) 809cefa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cefe: 225c movs r2, #92 ; 0x5c 809cf00: f240 1109 movw r1, #265 ; 0x109 809cf04: 4618 mov r0, r3 809cf06: f7b8 fa77 bl 80553f8 if(ReadFileData.Aivs == 'E') 809cf0a: 4b14 ldr r3, [pc, #80] ; (809cf5c ) 809cf0c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809cf10: b2db uxtb r3, r3 809cf12: 2b45 cmp r3, #69 ; 0x45 809cf14: f040 81fd bne.w 809d312 if(ReadFileData.Aval.fl < 0.0f) { 809cf18: 4b10 ldr r3, [pc, #64] ; (809cf5c ) 809cf1a: edd3 7a00 vldr s15, [r3] 809cf1e: eef5 7ac0 vcmpe.f32 s15, #0.0 809cf22: eef1 fa10 vmrs APSR_nzcv, fpscr 809cf26: f140 81f4 bpl.w 809d312 DrawImage(&bmgminus, 78, 84+18); 809cf2a: 2266 movs r2, #102 ; 0x66 809cf2c: 214e movs r1, #78 ; 0x4e 809cf2e: 480e ldr r0, [pc, #56] ; (809cf68 ) 809cf30: f7b8 fa62 bl 80553f8 809cf34: e1ed b.n 809d312 809cf36: bf00 nop 809cf38: 0001869f .word 0x0001869f 809cf3c: 4cbebc20 .word 0x4cbebc20 809cf40: 47c34f80 .word 0x47c34f80 809cf44: d1b71759 .word 0xd1b71759 809cf48: 10624dd3 .word 0x10624dd3 809cf4c: 51eb851f .word 0x51eb851f 809cf50: cccccccd .word 0xcccccccd 809cf54: 20020124 .word 0x20020124 809cf58: 0816be20 .word 0x0816be20 809cf5c: 200226e8 .word 0x200226e8 809cf60: 20023ea8 .word 0x20023ea8 809cf64: 200200f4 .word 0x200200f4 809cf68: 0816bd94 .word 0x0816bd94 if(ipr == VEL) 809cf6c: 6d3b ldr r3, [r7, #80] ; 0x50 809cf6e: 2b01 cmp r3, #1 809cf70: f040 80d4 bne.w 809d11c if(ReadFileData.Vval.fl != -1.0f) 809cf74: 4ba2 ldr r3, [pc, #648] ; (809d200 ) 809cf76: edd3 7a01 vldr s15, [r3, #4] 809cf7a: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809cf7e: eef4 7a47 vcmp.f32 s15, s14 809cf82: eef1 fa10 vmrs APSR_nzcv, fpscr 809cf86: f000 80b4 beq.w 809d0f2 if(!t) 809cf8a: 6d7b ldr r3, [r7, #84] ; 0x54 809cf8c: 2b00 cmp r3, #0 809cf8e: d126 bne.n 809cfde for(i = 0; i < 5; i++) 809cf90: 2300 movs r3, #0 809cf92: 65fb str r3, [r7, #92] ; 0x5c 809cf94: e01f b.n 809cfd6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809cf96: 6d3a ldr r2, [r7, #80] ; 0x50 809cf98: 6df9 ldr r1, [r7, #92] ; 0x5c 809cf9a: 4613 mov r3, r2 809cf9c: 009b lsls r3, r3, #2 809cf9e: 4413 add r3, r2 809cfa0: f107 0268 add.w r2, r7, #104 ; 0x68 809cfa4: 4413 add r3, r2 809cfa6: 440b add r3, r1 809cfa8: 3b34 subs r3, #52 ; 0x34 809cfaa: 781b ldrb r3, [r3, #0] 809cfac: b2db uxtb r3, r3 809cfae: 461a mov r2, r3 809cfb0: 4b94 ldr r3, [pc, #592] ; (809d204 ) 809cfb2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809cfb6: 6dfb ldr r3, [r7, #92] ; 0x5c 809cfb8: b29b uxth r3, r3 809cfba: 461a mov r2, r3 809cfbc: 0112 lsls r2, r2, #4 809cfbe: 1ad3 subs r3, r2, r3 809cfc0: 005b lsls r3, r3, #1 809cfc2: b29b uxth r3, r3 809cfc4: 335a adds r3, #90 ; 0x5a 809cfc6: b29b uxth r3, r3 809cfc8: 2282 movs r2, #130 ; 0x82 809cfca: 4619 mov r1, r3 809cfcc: f7b8 fa14 bl 80553f8 for(i = 0; i < 5; i++) 809cfd0: 6dfb ldr r3, [r7, #92] ; 0x5c 809cfd2: 3301 adds r3, #1 809cfd4: 65fb str r3, [r7, #92] ; 0x5c 809cfd6: 6dfb ldr r3, [r7, #92] ; 0x5c 809cfd8: 2b04 cmp r3, #4 809cfda: d9dc bls.n 809cf96 809cfdc: e05a b.n 809d094 for(i = 0; i < t; i++) 809cfde: 2300 movs r3, #0 809cfe0: 65fb str r3, [r7, #92] ; 0x5c 809cfe2: e01f b.n 809d024 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809cfe4: 6d3a ldr r2, [r7, #80] ; 0x50 809cfe6: 6df9 ldr r1, [r7, #92] ; 0x5c 809cfe8: 4613 mov r3, r2 809cfea: 009b lsls r3, r3, #2 809cfec: 4413 add r3, r2 809cfee: f107 0268 add.w r2, r7, #104 ; 0x68 809cff2: 4413 add r3, r2 809cff4: 440b add r3, r1 809cff6: 3b34 subs r3, #52 ; 0x34 809cff8: 781b ldrb r3, [r3, #0] 809cffa: b2db uxtb r3, r3 809cffc: 461a mov r2, r3 809cffe: 4b81 ldr r3, [pc, #516] ; (809d204 ) 809d000: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809d004: 6dfb ldr r3, [r7, #92] ; 0x5c 809d006: b29b uxth r3, r3 809d008: 461a mov r2, r3 809d00a: 0112 lsls r2, r2, #4 809d00c: 1ad3 subs r3, r2, r3 809d00e: 005b lsls r3, r3, #1 809d010: b29b uxth r3, r3 809d012: 335a adds r3, #90 ; 0x5a 809d014: b29b uxth r3, r3 809d016: 2282 movs r2, #130 ; 0x82 809d018: 4619 mov r1, r3 809d01a: f7b8 f9ed bl 80553f8 for(i = 0; i < t; i++) 809d01e: 6dfb ldr r3, [r7, #92] ; 0x5c 809d020: 3301 adds r3, #1 809d022: 65fb str r3, [r7, #92] ; 0x5c 809d024: 6dfa ldr r2, [r7, #92] ; 0x5c 809d026: 6d7b ldr r3, [r7, #84] ; 0x54 809d028: 429a cmp r2, r3 809d02a: d3db bcc.n 809cfe4 DrawImage(&bmgpt, 95 + 30*t, 145+9); 809d02c: 6d7b ldr r3, [r7, #84] ; 0x54 809d02e: b29b uxth r3, r3 809d030: 461a mov r2, r3 809d032: 0112 lsls r2, r2, #4 809d034: 1ad3 subs r3, r2, r3 809d036: 005b lsls r3, r3, #1 809d038: b29b uxth r3, r3 809d03a: 335f adds r3, #95 ; 0x5f 809d03c: b29b uxth r3, r3 809d03e: 229a movs r2, #154 ; 0x9a 809d040: 4619 mov r1, r3 809d042: 4871 ldr r0, [pc, #452] ; (809d208 ) 809d044: f7b8 f9d8 bl 80553f8 for(i = t; i < 5; i++) 809d048: 6d7b ldr r3, [r7, #84] ; 0x54 809d04a: 65fb str r3, [r7, #92] ; 0x5c 809d04c: e01f b.n 809d08e DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809d04e: 6d3a ldr r2, [r7, #80] ; 0x50 809d050: 6df9 ldr r1, [r7, #92] ; 0x5c 809d052: 4613 mov r3, r2 809d054: 009b lsls r3, r3, #2 809d056: 4413 add r3, r2 809d058: f107 0268 add.w r2, r7, #104 ; 0x68 809d05c: 4413 add r3, r2 809d05e: 440b add r3, r1 809d060: 3b34 subs r3, #52 ; 0x34 809d062: 781b ldrb r3, [r3, #0] 809d064: b2db uxtb r3, r3 809d066: 461a mov r2, r3 809d068: 4b66 ldr r3, [pc, #408] ; (809d204 ) 809d06a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809d06e: 6dfb ldr r3, [r7, #92] ; 0x5c 809d070: b29b uxth r3, r3 809d072: 461a mov r2, r3 809d074: 0112 lsls r2, r2, #4 809d076: 1ad3 subs r3, r2, r3 809d078: 005b lsls r3, r3, #1 809d07a: b29b uxth r3, r3 809d07c: 336e adds r3, #110 ; 0x6e 809d07e: b29b uxth r3, r3 809d080: 2282 movs r2, #130 ; 0x82 809d082: 4619 mov r1, r3 809d084: f7b8 f9b8 bl 80553f8 for(i = t; i < 5; i++) 809d088: 6dfb ldr r3, [r7, #92] ; 0x5c 809d08a: 3301 adds r3, #1 809d08c: 65fb str r3, [r7, #92] ; 0x5c 809d08e: 6dfb ldr r3, [r7, #92] ; 0x5c 809d090: 2b04 cmp r3, #4 809d092: d9dc bls.n 809d04e if((ReadFileData.Vivs != 'E') && (ReadFileData.Vivs != 'F')) 809d094: 4b5a ldr r3, [pc, #360] ; (809d200 ) 809d096: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809d09a: b2db uxtb r3, r3 809d09c: 2b45 cmp r3, #69 ; 0x45 809d09e: d012 beq.n 809d0c6 809d0a0: 4b57 ldr r3, [pc, #348] ; (809d200 ) 809d0a2: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809d0a6: b2db uxtb r3, r3 809d0a8: 2b46 cmp r3, #70 ; 0x46 809d0aa: d00c beq.n 809d0c6 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809d0ac: 4b57 ldr r3, [pc, #348] ; (809d20c ) 809d0ae: 7b1b ldrb r3, [r3, #12] 809d0b0: b2db uxtb r3, r3 809d0b2: 461a mov r2, r3 809d0b4: 4b56 ldr r3, [pc, #344] ; (809d210 ) 809d0b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d0ba: 2289 movs r2, #137 ; 0x89 809d0bc: f240 1109 movw r1, #265 ; 0x109 809d0c0: 4618 mov r0, r3 809d0c2: f7b8 f999 bl 80553f8 if(ReadFileData.Vivs == 'E') 809d0c6: 4b4e ldr r3, [pc, #312] ; (809d200 ) 809d0c8: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809d0cc: b2db uxtb r3, r3 809d0ce: 2b45 cmp r3, #69 ; 0x45 809d0d0: f040 811f bne.w 809d312 if(ReadFileData.Vval.fl < 0.0f) { 809d0d4: 4b4a ldr r3, [pc, #296] ; (809d200 ) 809d0d6: edd3 7a01 vldr s15, [r3, #4] 809d0da: eef5 7ac0 vcmpe.f32 s15, #0.0 809d0de: eef1 fa10 vmrs APSR_nzcv, fpscr 809d0e2: f140 8116 bpl.w 809d312 DrawImage(&bmgminus, 78, 138+9); 809d0e6: 2293 movs r2, #147 ; 0x93 809d0e8: 214e movs r1, #78 ; 0x4e 809d0ea: 484a ldr r0, [pc, #296] ; (809d214 ) 809d0ec: f7b8 f984 bl 80553f8 809d0f0: e10f b.n 809d312 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809d0f2: 4949 ldr r1, [pc, #292] ; (809d218 ) 809d0f4: 4849 ldr r0, [pc, #292] ; (809d21c ) 809d0f6: f7b7 fa8b bl 8054610 if(pardata.LANG == RUS) 809d0fa: 4b44 ldr r3, [pc, #272] ; (809d20c ) 809d0fc: 7b1b ldrb r3, [r3, #12] 809d0fe: b2db uxtb r3, r3 809d100: 2b00 cmp r3, #0 809d102: d105 bne.n 809d110 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809d104: 4a46 ldr r2, [pc, #280] ; (809d220 ) 809d106: 2187 movs r1, #135 ; 0x87 809d108: 20a7 movs r0, #167 ; 0xa7 809d10a: f7b8 f841 bl 8055190 809d10e: e100 b.n 809d312 else LCD_DisplayStringC(167, 135, "NO DATA"); 809d110: 4a44 ldr r2, [pc, #272] ; (809d224 ) 809d112: 2187 movs r1, #135 ; 0x87 809d114: 20a7 movs r0, #167 ; 0xa7 809d116: f7b8 f83b bl 8055190 809d11a: e0fa b.n 809d312 if(ipr == DIS) 809d11c: 6d3b ldr r3, [r7, #80] ; 0x50 809d11e: 2b02 cmp r3, #2 809d120: f040 80f7 bne.w 809d312 if(ReadFileData.Sval.fl != -1.0f) 809d124: 4b36 ldr r3, [pc, #216] ; (809d200 ) 809d126: edd3 7a02 vldr s15, [r3, #8] 809d12a: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809d12e: eef4 7a47 vcmp.f32 s15, s14 809d132: eef1 fa10 vmrs APSR_nzcv, fpscr 809d136: f000 80d8 beq.w 809d2ea if(!t) 809d13a: 6d7b ldr r3, [r7, #84] ; 0x54 809d13c: 2b00 cmp r3, #0 809d13e: d126 bne.n 809d18e for(i = 0; i < 5; i++) 809d140: 2300 movs r3, #0 809d142: 65fb str r3, [r7, #92] ; 0x5c 809d144: e01f b.n 809d186 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809d146: 6d3a ldr r2, [r7, #80] ; 0x50 809d148: 6df9 ldr r1, [r7, #92] ; 0x5c 809d14a: 4613 mov r3, r2 809d14c: 009b lsls r3, r3, #2 809d14e: 4413 add r3, r2 809d150: f107 0268 add.w r2, r7, #104 ; 0x68 809d154: 4413 add r3, r2 809d156: 440b add r3, r1 809d158: 3b34 subs r3, #52 ; 0x34 809d15a: 781b ldrb r3, [r3, #0] 809d15c: b2db uxtb r3, r3 809d15e: 461a mov r2, r3 809d160: 4b28 ldr r3, [pc, #160] ; (809d204 ) 809d162: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809d166: 6dfb ldr r3, [r7, #92] ; 0x5c 809d168: b29b uxth r3, r3 809d16a: 461a mov r2, r3 809d16c: 0112 lsls r2, r2, #4 809d16e: 1ad3 subs r3, r2, r3 809d170: 005b lsls r3, r3, #1 809d172: b29b uxth r3, r3 809d174: 335a adds r3, #90 ; 0x5a 809d176: b29b uxth r3, r3 809d178: 22ae movs r2, #174 ; 0xae 809d17a: 4619 mov r1, r3 809d17c: f7b8 f93c bl 80553f8 for(i = 0; i < 5; i++) 809d180: 6dfb ldr r3, [r7, #92] ; 0x5c 809d182: 3301 adds r3, #1 809d184: 65fb str r3, [r7, #92] ; 0x5c 809d186: 6dfb ldr r3, [r7, #92] ; 0x5c 809d188: 2b04 cmp r3, #4 809d18a: d9dc bls.n 809d146 809d18c: e06f b.n 809d26e for(i = 0; i < t; i++) 809d18e: 2300 movs r3, #0 809d190: 65fb str r3, [r7, #92] ; 0x5c 809d192: e01f b.n 809d1d4 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809d194: 6d3a ldr r2, [r7, #80] ; 0x50 809d196: 6df9 ldr r1, [r7, #92] ; 0x5c 809d198: 4613 mov r3, r2 809d19a: 009b lsls r3, r3, #2 809d19c: 4413 add r3, r2 809d19e: f107 0268 add.w r2, r7, #104 ; 0x68 809d1a2: 4413 add r3, r2 809d1a4: 440b add r3, r1 809d1a6: 3b34 subs r3, #52 ; 0x34 809d1a8: 781b ldrb r3, [r3, #0] 809d1aa: b2db uxtb r3, r3 809d1ac: 461a mov r2, r3 809d1ae: 4b15 ldr r3, [pc, #84] ; (809d204 ) 809d1b0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809d1b4: 6dfb ldr r3, [r7, #92] ; 0x5c 809d1b6: b29b uxth r3, r3 809d1b8: 461a mov r2, r3 809d1ba: 0112 lsls r2, r2, #4 809d1bc: 1ad3 subs r3, r2, r3 809d1be: 005b lsls r3, r3, #1 809d1c0: b29b uxth r3, r3 809d1c2: 335a adds r3, #90 ; 0x5a 809d1c4: b29b uxth r3, r3 809d1c6: 22ae movs r2, #174 ; 0xae 809d1c8: 4619 mov r1, r3 809d1ca: f7b8 f915 bl 80553f8 for(i = 0; i < t; i++) 809d1ce: 6dfb ldr r3, [r7, #92] ; 0x5c 809d1d0: 3301 adds r3, #1 809d1d2: 65fb str r3, [r7, #92] ; 0x5c 809d1d4: 6dfa ldr r2, [r7, #92] ; 0x5c 809d1d6: 6d7b ldr r3, [r7, #84] ; 0x54 809d1d8: 429a cmp r2, r3 809d1da: d3db bcc.n 809d194 DrawImage(&bmgpt, 95 + 30*t, 198); 809d1dc: 6d7b ldr r3, [r7, #84] ; 0x54 809d1de: b29b uxth r3, r3 809d1e0: 461a mov r2, r3 809d1e2: 0112 lsls r2, r2, #4 809d1e4: 1ad3 subs r3, r2, r3 809d1e6: 005b lsls r3, r3, #1 809d1e8: b29b uxth r3, r3 809d1ea: 335f adds r3, #95 ; 0x5f 809d1ec: b29b uxth r3, r3 809d1ee: 22c6 movs r2, #198 ; 0xc6 809d1f0: 4619 mov r1, r3 809d1f2: 4805 ldr r0, [pc, #20] ; (809d208 ) 809d1f4: f7b8 f900 bl 80553f8 for(i = t; i < 5; i++) 809d1f8: 6d7b ldr r3, [r7, #84] ; 0x54 809d1fa: 65fb str r3, [r7, #92] ; 0x5c 809d1fc: e034 b.n 809d268 809d1fe: bf00 nop 809d200: 200226e8 .word 0x200226e8 809d204: 20020124 .word 0x20020124 809d208: 0816be20 .word 0x0816be20 809d20c: 20023ea8 .word 0x20023ea8 809d210: 200200fc .word 0x200200fc 809d214: 0816bd94 .word 0x0816bd94 809d218: ff0a0f1f .word 0xff0a0f1f 809d21c: ffb8e828 .word 0xffb8e828 809d220: 080d3e64 .word 0x080d3e64 809d224: 080d3e70 .word 0x080d3e70 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809d228: 6d3a ldr r2, [r7, #80] ; 0x50 809d22a: 6df9 ldr r1, [r7, #92] ; 0x5c 809d22c: 4613 mov r3, r2 809d22e: 009b lsls r3, r3, #2 809d230: 4413 add r3, r2 809d232: f107 0268 add.w r2, r7, #104 ; 0x68 809d236: 4413 add r3, r2 809d238: 440b add r3, r1 809d23a: 3b34 subs r3, #52 ; 0x34 809d23c: 781b ldrb r3, [r3, #0] 809d23e: b2db uxtb r3, r3 809d240: 461a mov r2, r3 809d242: 4bc5 ldr r3, [pc, #788] ; (809d558 ) 809d244: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809d248: 6dfb ldr r3, [r7, #92] ; 0x5c 809d24a: b29b uxth r3, r3 809d24c: 461a mov r2, r3 809d24e: 0112 lsls r2, r2, #4 809d250: 1ad3 subs r3, r2, r3 809d252: 005b lsls r3, r3, #1 809d254: b29b uxth r3, r3 809d256: 336e adds r3, #110 ; 0x6e 809d258: b29b uxth r3, r3 809d25a: 22ae movs r2, #174 ; 0xae 809d25c: 4619 mov r1, r3 809d25e: f7b8 f8cb bl 80553f8 for(i = t; i < 5; i++) 809d262: 6dfb ldr r3, [r7, #92] ; 0x5c 809d264: 3301 adds r3, #1 809d266: 65fb str r3, [r7, #92] ; 0x5c 809d268: 6dfb ldr r3, [r7, #92] ; 0x5c 809d26a: 2b04 cmp r3, #4 809d26c: d9dc bls.n 809d228 if((ReadFileData.Sivs != 'E') && (ReadFileData.Sivs != 'F')) 809d26e: 4bbb ldr r3, [pc, #748] ; (809d55c ) 809d270: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809d274: b2db uxtb r3, r3 809d276: 2b45 cmp r3, #69 ; 0x45 809d278: d023 beq.n 809d2c2 809d27a: 4bb8 ldr r3, [pc, #736] ; (809d55c ) 809d27c: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809d280: b2db uxtb r3, r3 809d282: 2b46 cmp r3, #70 ; 0x46 809d284: d01d beq.n 809d2c2 if(m == 0) 809d286: 6cfb ldr r3, [r7, #76] ; 0x4c 809d288: 2b00 cmp r3, #0 809d28a: d10d bne.n 809d2a8 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809d28c: 4bb4 ldr r3, [pc, #720] ; (809d560 ) 809d28e: 7b1b ldrb r3, [r3, #12] 809d290: b2db uxtb r3, r3 809d292: 461a mov r2, r3 809d294: 4bb3 ldr r3, [pc, #716] ; (809d564 ) 809d296: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d29a: 22b4 movs r2, #180 ; 0xb4 809d29c: f240 1109 movw r1, #265 ; 0x109 809d2a0: 4618 mov r0, r3 809d2a2: f7b8 f8a9 bl 80553f8 809d2a6: e00c b.n 809d2c2 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809d2a8: 4bad ldr r3, [pc, #692] ; (809d560 ) 809d2aa: 7b1b ldrb r3, [r3, #12] 809d2ac: b2db uxtb r3, r3 809d2ae: 461a mov r2, r3 809d2b0: 4bad ldr r3, [pc, #692] ; (809d568 ) 809d2b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d2b6: 22b4 movs r2, #180 ; 0xb4 809d2b8: f240 1109 movw r1, #265 ; 0x109 809d2bc: 4618 mov r0, r3 809d2be: f7b8 f89b bl 80553f8 if(ReadFileData.Sivs == 'E') 809d2c2: 4ba6 ldr r3, [pc, #664] ; (809d55c ) 809d2c4: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809d2c8: b2db uxtb r3, r3 809d2ca: 2b45 cmp r3, #69 ; 0x45 809d2cc: d121 bne.n 809d312 if(ReadFileData.Sval.fl < 0.0f) { 809d2ce: 4ba3 ldr r3, [pc, #652] ; (809d55c ) 809d2d0: edd3 7a02 vldr s15, [r3, #8] 809d2d4: eef5 7ac0 vcmpe.f32 s15, #0.0 809d2d8: eef1 fa10 vmrs APSR_nzcv, fpscr 809d2dc: d519 bpl.n 809d312 DrawImage(&bmgminus, 78, 190); 809d2de: 22be movs r2, #190 ; 0xbe 809d2e0: 214e movs r1, #78 ; 0x4e 809d2e2: 48a2 ldr r0, [pc, #648] ; (809d56c ) 809d2e4: f7b8 f888 bl 80553f8 809d2e8: e013 b.n 809d312 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809d2ea: 49a1 ldr r1, [pc, #644] ; (809d570 ) 809d2ec: 48a1 ldr r0, [pc, #644] ; (809d574 ) 809d2ee: f7b7 f98f bl 8054610 if(pardata.LANG == RUS) 809d2f2: 4b9b ldr r3, [pc, #620] ; (809d560 ) 809d2f4: 7b1b ldrb r3, [r3, #12] 809d2f6: b2db uxtb r3, r3 809d2f8: 2b00 cmp r3, #0 809d2fa: d105 bne.n 809d308 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809d2fc: 4a9e ldr r2, [pc, #632] ; (809d578 ) 809d2fe: 21b9 movs r1, #185 ; 0xb9 809d300: 20a7 movs r0, #167 ; 0xa7 809d302: f7b7 ff45 bl 8055190 809d306: e004 b.n 809d312 else LCD_DisplayStringC(167, 185, "NO DATA"); 809d308: 4a9c ldr r2, [pc, #624] ; (809d57c ) 809d30a: 21b9 movs r1, #185 ; 0xb9 809d30c: 20a7 movs r0, #167 ; 0xa7 809d30e: f7b7 ff3f bl 8055190 for(ipr = ACC; ipr <= DIS; ipr++) 809d312: 6d3b ldr r3, [r7, #80] ; 0x50 809d314: 3301 adds r3, #1 809d316: 653b str r3, [r7, #80] ; 0x50 809d318: 6d3b ldr r3, [r7, #80] ; 0x50 809d31a: 2b02 cmp r3, #2 809d31c: f67f aa72 bls.w 809c804 break; 809d320: f007 bbc8 b.w 80a4ab4 for(ipr = ACC; ipr <= DIS; ipr++) 809d324: 2300 movs r3, #0 809d326: 653b str r3, [r7, #80] ; 0x50 809d328: f001 b984 b.w 809e634 if(ipr == ACC) f = ReadFileData.Aval.fl; 809d32c: 6d3b ldr r3, [r7, #80] ; 0x50 809d32e: 2b00 cmp r3, #0 809d330: d103 bne.n 809d33a 809d332: 4b8a ldr r3, [pc, #552] ; (809d55c ) 809d334: 681b ldr r3, [r3, #0] 809d336: 647b str r3, [r7, #68] ; 0x44 809d338: e00c b.n 809d354 else if(ipr == VEL) f = ReadFileData.Vval.fl; 809d33a: 6d3b ldr r3, [r7, #80] ; 0x50 809d33c: 2b01 cmp r3, #1 809d33e: d103 bne.n 809d348 809d340: 4b86 ldr r3, [pc, #536] ; (809d55c ) 809d342: 685b ldr r3, [r3, #4] 809d344: 647b str r3, [r7, #68] ; 0x44 809d346: e005 b.n 809d354 else if(ipr == DIS) f = ReadFileData.Sval.fl; 809d348: 6d3b ldr r3, [r7, #80] ; 0x50 809d34a: 2b02 cmp r3, #2 809d34c: d102 bne.n 809d354 809d34e: 4b83 ldr r3, [pc, #524] ; (809d55c ) 809d350: 689b ldr r3, [r3, #8] 809d352: 647b str r3, [r7, #68] ; 0x44 if((ivs[ipr] == 'F') || (ivs[ipr] == 'E')) 809d354: 6d3b ldr r3, [r7, #80] ; 0x50 809d356: f107 0268 add.w r2, r7, #104 ; 0x68 809d35a: 4413 add r3, r2 809d35c: f813 3c68 ldrb.w r3, [r3, #-104] 809d360: 2b46 cmp r3, #70 ; 0x46 809d362: d008 beq.n 809d376 809d364: 6d3b ldr r3, [r7, #80] ; 0x50 809d366: f107 0268 add.w r2, r7, #104 ; 0x68 809d36a: 4413 add r3, r2 809d36c: f813 3c68 ldrb.w r3, [r3, #-104] 809d370: 2b45 cmp r3, #69 ; 0x45 809d372: f040 8547 bne.w 809de04 if(ipr < DIS) 809d376: 6d3b ldr r3, [r7, #80] ; 0x50 809d378: 2b01 cmp r3, #1 809d37a: f200 80af bhi.w 809d4dc if(f < 10.0f) 809d37e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d382: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d386: eef4 7ac7 vcmpe.f32 s15, s14 809d38a: eef1 fa10 vmrs APSR_nzcv, fpscr 809d38e: d513 bpl.n 809d3b8 k = (uint32_t) (roundf(f * 10000)); 809d390: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d394: ed9f 7a7e vldr s14, [pc, #504] ; 809d590 809d398: ee67 7a87 vmul.f32 s15, s15, s14 809d39c: eeb0 0a67 vmov.f32 s0, s15 809d3a0: f031 fe00 bl 80cefa4 809d3a4: eef0 7a40 vmov.f32 s15, s0 809d3a8: eefc 7ae7 vcvt.u32.f32 s15, s15 809d3ac: ee17 3a90 vmov r3, s15 809d3b0: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809d3b2: 2301 movs r3, #1 809d3b4: 657b str r3, [r7, #84] ; 0x54 809d3b6: e1d3 b.n 809d760 if(f < 100.0f) 809d3b8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d3bc: ed9f 7a73 vldr s14, [pc, #460] ; 809d58c 809d3c0: eef4 7ac7 vcmpe.f32 s15, s14 809d3c4: eef1 fa10 vmrs APSR_nzcv, fpscr 809d3c8: d513 bpl.n 809d3f2 k = (uint32_t) (roundf(f * 1000)); 809d3ca: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d3ce: ed9f 7a6e vldr s14, [pc, #440] ; 809d588 809d3d2: ee67 7a87 vmul.f32 s15, s15, s14 809d3d6: eeb0 0a67 vmov.f32 s0, s15 809d3da: f031 fde3 bl 80cefa4 809d3de: eef0 7a40 vmov.f32 s15, s0 809d3e2: eefc 7ae7 vcvt.u32.f32 s15, s15 809d3e6: ee17 3a90 vmov r3, s15 809d3ea: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809d3ec: 2302 movs r3, #2 809d3ee: 657b str r3, [r7, #84] ; 0x54 809d3f0: e1b6 b.n 809d760 if(f < 1000.0f) 809d3f2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d3f6: ed9f 7a64 vldr s14, [pc, #400] ; 809d588 809d3fa: eef4 7ac7 vcmpe.f32 s15, s14 809d3fe: eef1 fa10 vmrs APSR_nzcv, fpscr 809d402: d513 bpl.n 809d42c k = (uint32_t) (roundf(f * 100)); 809d404: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d408: ed9f 7a60 vldr s14, [pc, #384] ; 809d58c 809d40c: ee67 7a87 vmul.f32 s15, s15, s14 809d410: eeb0 0a67 vmov.f32 s0, s15 809d414: f031 fdc6 bl 80cefa4 809d418: eef0 7a40 vmov.f32 s15, s0 809d41c: eefc 7ae7 vcvt.u32.f32 s15, s15 809d420: ee17 3a90 vmov r3, s15 809d424: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809d426: 2303 movs r3, #3 809d428: 657b str r3, [r7, #84] ; 0x54 809d42a: e199 b.n 809d760 if(f < 10000.0f) 809d42c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d430: ed9f 7a57 vldr s14, [pc, #348] ; 809d590 809d434: eef4 7ac7 vcmpe.f32 s15, s14 809d438: eef1 fa10 vmrs APSR_nzcv, fpscr 809d43c: d513 bpl.n 809d466 k = (uint32_t) (roundf(f * 10)); 809d43e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d442: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d446: ee67 7a87 vmul.f32 s15, s15, s14 809d44a: eeb0 0a67 vmov.f32 s0, s15 809d44e: f031 fda9 bl 80cefa4 809d452: eef0 7a40 vmov.f32 s15, s0 809d456: eefc 7ae7 vcvt.u32.f32 s15, s15 809d45a: ee17 3a90 vmov r3, s15 809d45e: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809d460: 2304 movs r3, #4 809d462: 657b str r3, [r7, #84] ; 0x54 809d464: e17c b.n 809d760 if(f < 100000.0f) 809d466: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d46a: ed9f 7a4a vldr s14, [pc, #296] ; 809d594 809d46e: eef4 7ac7 vcmpe.f32 s15, s14 809d472: eef1 fa10 vmrs APSR_nzcv, fpscr 809d476: d515 bpl.n 809d4a4 k = (uint32_t) (roundf(f)); 809d478: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d47c: eeb0 0a67 vmov.f32 s0, s15 809d480: f031 fd90 bl 80cefa4 809d484: eef0 7a40 vmov.f32 s15, s0 809d488: eefc 7ae7 vcvt.u32.f32 s15, s15 809d48c: ee17 3a90 vmov r3, s15 809d490: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809d492: 6dbb ldr r3, [r7, #88] ; 0x58 809d494: 4a3a ldr r2, [pc, #232] ; (809d580 ) 809d496: 4293 cmp r3, r2 809d498: d901 bls.n 809d49e k = 99999; 809d49a: 4b39 ldr r3, [pc, #228] ; (809d580 ) 809d49c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809d49e: 2300 movs r3, #0 809d4a0: 657b str r3, [r7, #84] ; 0x54 809d4a2: e15d b.n 809d760 if(f >= 100000.0f) 809d4a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d4a8: ed9f 7a3a vldr s14, [pc, #232] ; 809d594 809d4ac: eef4 7ac7 vcmpe.f32 s15, s14 809d4b0: eef1 fa10 vmrs APSR_nzcv, fpscr 809d4b4: f2c0 8154 blt.w 809d760 f = 99999.0f; 809d4b8: 4b32 ldr r3, [pc, #200] ; (809d584 ) 809d4ba: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809d4bc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d4c0: eeb0 0a67 vmov.f32 s0, s15 809d4c4: f031 fd6e bl 80cefa4 809d4c8: eef0 7a40 vmov.f32 s15, s0 809d4cc: eefc 7ae7 vcvt.u32.f32 s15, s15 809d4d0: ee17 3a90 vmov r3, s15 809d4d4: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809d4d6: 2300 movs r3, #0 809d4d8: 657b str r3, [r7, #84] ; 0x54 809d4da: e141 b.n 809d760 if(f < 10.0f) 809d4dc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d4e0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d4e4: eef4 7ac7 vcmpe.f32 s15, s14 809d4e8: eef1 fa10 vmrs APSR_nzcv, fpscr 809d4ec: d515 bpl.n 809d51a k = (uint32_t) (roundf(f * 10000)); 809d4ee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d4f2: ed9f 7a27 vldr s14, [pc, #156] ; 809d590 809d4f6: ee67 7a87 vmul.f32 s15, s15, s14 809d4fa: eeb0 0a67 vmov.f32 s0, s15 809d4fe: f031 fd51 bl 80cefa4 809d502: eef0 7a40 vmov.f32 s15, s0 809d506: eefc 7ae7 vcvt.u32.f32 s15, s15 809d50a: ee17 3a90 vmov r3, s15 809d50e: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809d510: 2301 movs r3, #1 809d512: 657b str r3, [r7, #84] ; 0x54 m = 0; 809d514: 2300 movs r3, #0 809d516: 64fb str r3, [r7, #76] ; 0x4c 809d518: e122 b.n 809d760 if(f < 100.0f) 809d51a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d51e: ed9f 7a1b vldr s14, [pc, #108] ; 809d58c 809d522: eef4 7ac7 vcmpe.f32 s15, s14 809d526: eef1 fa10 vmrs APSR_nzcv, fpscr 809d52a: d541 bpl.n 809d5b0 k = (uint32_t) (roundf(f * 1000)); 809d52c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d530: ed9f 7a15 vldr s14, [pc, #84] ; 809d588 809d534: ee67 7a87 vmul.f32 s15, s15, s14 809d538: eeb0 0a67 vmov.f32 s0, s15 809d53c: f031 fd32 bl 80cefa4 809d540: eef0 7a40 vmov.f32 s15, s0 809d544: eefc 7ae7 vcvt.u32.f32 s15, s15 809d548: ee17 3a90 vmov r3, s15 809d54c: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809d54e: 2302 movs r3, #2 809d550: 657b str r3, [r7, #84] ; 0x54 m = 0; 809d552: 2300 movs r3, #0 809d554: 64fb str r3, [r7, #76] ; 0x4c 809d556: e103 b.n 809d760 809d558: 20020124 .word 0x20020124 809d55c: 200226e8 .word 0x200226e8 809d560: 20023ea8 .word 0x20023ea8 809d564: 20020104 .word 0x20020104 809d568: 2002010c .word 0x2002010c 809d56c: 0816bd94 .word 0x0816bd94 809d570: ff0a0f1f .word 0xff0a0f1f 809d574: ffb8e828 .word 0xffb8e828 809d578: 080d3e64 .word 0x080d3e64 809d57c: 080d3e70 .word 0x080d3e70 809d580: 0001869f .word 0x0001869f 809d584: 47c34f80 .word 0x47c34f80 809d588: 447a0000 .word 0x447a0000 809d58c: 42c80000 .word 0x42c80000 809d590: 461c4000 .word 0x461c4000 809d594: 47c35000 .word 0x47c35000 809d598: 49742400 .word 0x49742400 809d59c: 3dcccccd .word 0x3dcccccd 809d5a0: 4b189680 .word 0x4b189680 809d5a4: 3c23d70a .word 0x3c23d70a 809d5a8: 4cbebc20 .word 0x4cbebc20 809d5ac: 3a83126f .word 0x3a83126f if(f < 1000.0f) 809d5b0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d5b4: ed1f 7a0c vldr s14, [pc, #-48] ; 809d588 809d5b8: eef4 7ac7 vcmpe.f32 s15, s14 809d5bc: eef1 fa10 vmrs APSR_nzcv, fpscr 809d5c0: d515 bpl.n 809d5ee k = (uint32_t) (roundf(f * 100)); 809d5c2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d5c6: ed1f 7a0f vldr s14, [pc, #-60] ; 809d58c 809d5ca: ee67 7a87 vmul.f32 s15, s15, s14 809d5ce: eeb0 0a67 vmov.f32 s0, s15 809d5d2: f031 fce7 bl 80cefa4 809d5d6: eef0 7a40 vmov.f32 s15, s0 809d5da: eefc 7ae7 vcvt.u32.f32 s15, s15 809d5de: ee17 3a90 vmov r3, s15 809d5e2: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809d5e4: 2303 movs r3, #3 809d5e6: 657b str r3, [r7, #84] ; 0x54 m = 0; 809d5e8: 2300 movs r3, #0 809d5ea: 64fb str r3, [r7, #76] ; 0x4c 809d5ec: e0b8 b.n 809d760 if(f < 10000.0f) 809d5ee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d5f2: ed1f 7a19 vldr s14, [pc, #-100] ; 809d590 809d5f6: eef4 7ac7 vcmpe.f32 s15, s14 809d5fa: eef1 fa10 vmrs APSR_nzcv, fpscr 809d5fe: d515 bpl.n 809d62c k = (uint32_t) (roundf(f * 10)); 809d600: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d604: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d608: ee67 7a87 vmul.f32 s15, s15, s14 809d60c: eeb0 0a67 vmov.f32 s0, s15 809d610: f031 fcc8 bl 80cefa4 809d614: eef0 7a40 vmov.f32 s15, s0 809d618: eefc 7ae7 vcvt.u32.f32 s15, s15 809d61c: ee17 3a90 vmov r3, s15 809d620: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809d622: 2301 movs r3, #1 809d624: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d626: 2301 movs r3, #1 809d628: 64fb str r3, [r7, #76] ; 0x4c 809d62a: e099 b.n 809d760 if(f < 100000.0f) 809d62c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d630: ed1f 7a28 vldr s14, [pc, #-160] ; 809d594 809d634: eef4 7ac7 vcmpe.f32 s15, s14 809d638: eef1 fa10 vmrs APSR_nzcv, fpscr 809d63c: d511 bpl.n 809d662 k = (uint32_t) (roundf(f)); 809d63e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d642: eeb0 0a67 vmov.f32 s0, s15 809d646: f031 fcad bl 80cefa4 809d64a: eef0 7a40 vmov.f32 s15, s0 809d64e: eefc 7ae7 vcvt.u32.f32 s15, s15 809d652: ee17 3a90 vmov r3, s15 809d656: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809d658: 2302 movs r3, #2 809d65a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d65c: 2301 movs r3, #1 809d65e: 64fb str r3, [r7, #76] ; 0x4c 809d660: e07e b.n 809d760 if(f < 1000000.0f) 809d662: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d666: ed1f 7a34 vldr s14, [pc, #-208] ; 809d598 809d66a: eef4 7ac7 vcmpe.f32 s15, s14 809d66e: eef1 fa10 vmrs APSR_nzcv, fpscr 809d672: d515 bpl.n 809d6a0 k = (uint32_t) (roundf(f * 0.1f)); 809d674: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d678: ed1f 7a38 vldr s14, [pc, #-224] ; 809d59c 809d67c: ee67 7a87 vmul.f32 s15, s15, s14 809d680: eeb0 0a67 vmov.f32 s0, s15 809d684: f031 fc8e bl 80cefa4 809d688: eef0 7a40 vmov.f32 s15, s0 809d68c: eefc 7ae7 vcvt.u32.f32 s15, s15 809d690: ee17 3a90 vmov r3, s15 809d694: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809d696: 2303 movs r3, #3 809d698: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d69a: 2301 movs r3, #1 809d69c: 64fb str r3, [r7, #76] ; 0x4c 809d69e: e05f b.n 809d760 if(f < 10000000.0f) 809d6a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d6a4: ed1f 7a42 vldr s14, [pc, #-264] ; 809d5a0 809d6a8: eef4 7ac7 vcmpe.f32 s15, s14 809d6ac: eef1 fa10 vmrs APSR_nzcv, fpscr 809d6b0: d515 bpl.n 809d6de k = (uint32_t) (roundf(f * 0.01f)); 809d6b2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d6b6: ed1f 7a45 vldr s14, [pc, #-276] ; 809d5a4 809d6ba: ee67 7a87 vmul.f32 s15, s15, s14 809d6be: eeb0 0a67 vmov.f32 s0, s15 809d6c2: f031 fc6f bl 80cefa4 809d6c6: eef0 7a40 vmov.f32 s15, s0 809d6ca: eefc 7ae7 vcvt.u32.f32 s15, s15 809d6ce: ee17 3a90 vmov r3, s15 809d6d2: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809d6d4: 2304 movs r3, #4 809d6d6: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d6d8: 2301 movs r3, #1 809d6da: 64fb str r3, [r7, #76] ; 0x4c 809d6dc: e040 b.n 809d760 if(f < 100000000.0f) 809d6de: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d6e2: ed1f 7a4f vldr s14, [pc, #-316] ; 809d5a8 809d6e6: eef4 7ac7 vcmpe.f32 s15, s14 809d6ea: eef1 fa10 vmrs APSR_nzcv, fpscr 809d6ee: d51b bpl.n 809d728 k = (uint32_t) (roundf(f * 0.001f)); 809d6f0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d6f4: ed1f 7a53 vldr s14, [pc, #-332] ; 809d5ac 809d6f8: ee67 7a87 vmul.f32 s15, s15, s14 809d6fc: eeb0 0a67 vmov.f32 s0, s15 809d700: f031 fc50 bl 80cefa4 809d704: eef0 7a40 vmov.f32 s15, s0 809d708: eefc 7ae7 vcvt.u32.f32 s15, s15 809d70c: ee17 3a90 vmov r3, s15 809d710: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809d712: 6dbb ldr r3, [r7, #88] ; 0x58 809d714: 4abf ldr r2, [pc, #764] ; (809da14 ) 809d716: 4293 cmp r3, r2 809d718: d901 bls.n 809d71e k = 99999; 809d71a: 4bbe ldr r3, [pc, #760] ; (809da14 ) 809d71c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809d71e: 2300 movs r3, #0 809d720: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d722: 2301 movs r3, #1 809d724: 64fb str r3, [r7, #76] ; 0x4c 809d726: e01b b.n 809d760 if(f >= 100000000.0f) 809d728: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d72c: ed9f 7aba vldr s14, [pc, #744] ; 809da18 809d730: eef4 7ac7 vcmpe.f32 s15, s14 809d734: eef1 fa10 vmrs APSR_nzcv, fpscr 809d738: db12 blt.n 809d760 f = 99999.0f; 809d73a: 4bb8 ldr r3, [pc, #736] ; (809da1c ) 809d73c: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809d73e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d742: eeb0 0a67 vmov.f32 s0, s15 809d746: f031 fc2d bl 80cefa4 809d74a: eef0 7a40 vmov.f32 s15, s0 809d74e: eefc 7ae7 vcvt.u32.f32 s15, s15 809d752: ee17 3a90 vmov r3, s15 809d756: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809d758: 2300 movs r3, #0 809d75a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d75c: 2301 movs r3, #1 809d75e: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809d760: 6d3a ldr r2, [r7, #80] ; 0x50 809d762: 6dbb ldr r3, [r7, #88] ; 0x58 809d764: 49ae ldr r1, [pc, #696] ; (809da20 ) 809d766: fba1 1303 umull r1, r3, r1, r3 809d76a: 0b5b lsrs r3, r3, #13 809d76c: b2d9 uxtb r1, r3 809d76e: 4613 mov r3, r2 809d770: 009b lsls r3, r3, #2 809d772: 4413 add r3, r2 809d774: f107 0268 add.w r2, r7, #104 ; 0x68 809d778: 4413 add r3, r2 809d77a: 3b34 subs r3, #52 ; 0x34 809d77c: 460a mov r2, r1 809d77e: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809d780: 6d39 ldr r1, [r7, #80] ; 0x50 809d782: 6dba ldr r2, [r7, #88] ; 0x58 809d784: 4ba6 ldr r3, [pc, #664] ; (809da20 ) 809d786: fba3 0302 umull r0, r3, r3, r2 809d78a: 0b5b lsrs r3, r3, #13 809d78c: f242 7010 movw r0, #10000 ; 0x2710 809d790: fb00 f303 mul.w r3, r0, r3 809d794: 1ad3 subs r3, r2, r3 809d796: 4aa3 ldr r2, [pc, #652] ; (809da24 ) 809d798: fba2 2303 umull r2, r3, r2, r3 809d79c: 099b lsrs r3, r3, #6 809d79e: b2da uxtb r2, r3 809d7a0: 460b mov r3, r1 809d7a2: 009b lsls r3, r3, #2 809d7a4: 440b add r3, r1 809d7a6: f107 0168 add.w r1, r7, #104 ; 0x68 809d7aa: 440b add r3, r1 809d7ac: 3b33 subs r3, #51 ; 0x33 809d7ae: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809d7b0: 6d39 ldr r1, [r7, #80] ; 0x50 809d7b2: 6dba ldr r2, [r7, #88] ; 0x58 809d7b4: 4b9a ldr r3, [pc, #616] ; (809da20 ) 809d7b6: fba3 0302 umull r0, r3, r3, r2 809d7ba: 0b5b lsrs r3, r3, #13 809d7bc: f242 7010 movw r0, #10000 ; 0x2710 809d7c0: fb00 f303 mul.w r3, r0, r3 809d7c4: 1ad3 subs r3, r2, r3 809d7c6: 4a97 ldr r2, [pc, #604] ; (809da24 ) 809d7c8: fba2 0203 umull r0, r2, r2, r3 809d7cc: 0992 lsrs r2, r2, #6 809d7ce: f44f 707a mov.w r0, #1000 ; 0x3e8 809d7d2: fb00 f202 mul.w r2, r0, r2 809d7d6: 1a9a subs r2, r3, r2 809d7d8: 4b93 ldr r3, [pc, #588] ; (809da28 ) 809d7da: fba3 2302 umull r2, r3, r3, r2 809d7de: 095b lsrs r3, r3, #5 809d7e0: b2da uxtb r2, r3 809d7e2: 460b mov r3, r1 809d7e4: 009b lsls r3, r3, #2 809d7e6: 440b add r3, r1 809d7e8: f107 0168 add.w r1, r7, #104 ; 0x68 809d7ec: 440b add r3, r1 809d7ee: 3b32 subs r3, #50 ; 0x32 809d7f0: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809d7f2: 6d39 ldr r1, [r7, #80] ; 0x50 809d7f4: 6dbb ldr r3, [r7, #88] ; 0x58 809d7f6: 4a8a ldr r2, [pc, #552] ; (809da20 ) 809d7f8: fba2 0203 umull r0, r2, r2, r3 809d7fc: 0b52 lsrs r2, r2, #13 809d7fe: f242 7010 movw r0, #10000 ; 0x2710 809d802: fb00 f202 mul.w r2, r0, r2 809d806: 1a9a subs r2, r3, r2 809d808: 4b86 ldr r3, [pc, #536] ; (809da24 ) 809d80a: fba3 0302 umull r0, r3, r3, r2 809d80e: 099b lsrs r3, r3, #6 809d810: f44f 707a mov.w r0, #1000 ; 0x3e8 809d814: fb00 f303 mul.w r3, r0, r3 809d818: 1ad3 subs r3, r2, r3 809d81a: 4a83 ldr r2, [pc, #524] ; (809da28 ) 809d81c: fba2 0203 umull r0, r2, r2, r3 809d820: 0952 lsrs r2, r2, #5 809d822: 2064 movs r0, #100 ; 0x64 809d824: fb00 f202 mul.w r2, r0, r2 809d828: 1a9a subs r2, r3, r2 809d82a: 4b80 ldr r3, [pc, #512] ; (809da2c ) 809d82c: fba3 2302 umull r2, r3, r3, r2 809d830: 08db lsrs r3, r3, #3 809d832: b2da uxtb r2, r3 809d834: 460b mov r3, r1 809d836: 009b lsls r3, r3, #2 809d838: 440b add r3, r1 809d83a: f107 0168 add.w r1, r7, #104 ; 0x68 809d83e: 440b add r3, r1 809d840: 3b31 subs r3, #49 ; 0x31 809d842: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809d844: 6d38 ldr r0, [r7, #80] ; 0x50 809d846: 6dbb ldr r3, [r7, #88] ; 0x58 809d848: 4a75 ldr r2, [pc, #468] ; (809da20 ) 809d84a: fba2 1203 umull r1, r2, r2, r3 809d84e: 0b52 lsrs r2, r2, #13 809d850: f242 7110 movw r1, #10000 ; 0x2710 809d854: fb01 f202 mul.w r2, r1, r2 809d858: 1a9a subs r2, r3, r2 809d85a: 4b72 ldr r3, [pc, #456] ; (809da24 ) 809d85c: fba3 1302 umull r1, r3, r3, r2 809d860: 099b lsrs r3, r3, #6 809d862: f44f 717a mov.w r1, #1000 ; 0x3e8 809d866: fb01 f303 mul.w r3, r1, r3 809d86a: 1ad3 subs r3, r2, r3 809d86c: 4a6e ldr r2, [pc, #440] ; (809da28 ) 809d86e: fba2 1203 umull r1, r2, r2, r3 809d872: 0952 lsrs r2, r2, #5 809d874: 2164 movs r1, #100 ; 0x64 809d876: fb01 f202 mul.w r2, r1, r2 809d87a: 1a9a subs r2, r3, r2 809d87c: 4b6b ldr r3, [pc, #428] ; (809da2c ) 809d87e: fba3 1302 umull r1, r3, r3, r2 809d882: 08d9 lsrs r1, r3, #3 809d884: 460b mov r3, r1 809d886: 009b lsls r3, r3, #2 809d888: 440b add r3, r1 809d88a: 005b lsls r3, r3, #1 809d88c: 1ad1 subs r1, r2, r3 809d88e: b2ca uxtb r2, r1 809d890: 4603 mov r3, r0 809d892: 009b lsls r3, r3, #2 809d894: 4403 add r3, r0 809d896: f107 0168 add.w r1, r7, #104 ; 0x68 809d89a: 440b add r3, r1 809d89c: 3b30 subs r3, #48 ; 0x30 809d89e: 701a strb r2, [r3, #0] if(ipr == ACC) 809d8a0: 6d3b ldr r3, [r7, #80] ; 0x50 809d8a2: 2b00 cmp r3, #0 809d8a4: f040 80d0 bne.w 809da48 if(!t) 809d8a8: 6d7b ldr r3, [r7, #84] ; 0x54 809d8aa: 2b00 cmp r3, #0 809d8ac: d126 bne.n 809d8fc for(i = 0; i < 5; i++) 809d8ae: 2300 movs r3, #0 809d8b0: 65fb str r3, [r7, #92] ; 0x5c 809d8b2: e01f b.n 809d8f4 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809d8b4: 6d3a ldr r2, [r7, #80] ; 0x50 809d8b6: 6df9 ldr r1, [r7, #92] ; 0x5c 809d8b8: 4613 mov r3, r2 809d8ba: 009b lsls r3, r3, #2 809d8bc: 4413 add r3, r2 809d8be: f107 0268 add.w r2, r7, #104 ; 0x68 809d8c2: 4413 add r3, r2 809d8c4: 440b add r3, r1 809d8c6: 3b34 subs r3, #52 ; 0x34 809d8c8: 781b ldrb r3, [r3, #0] 809d8ca: b2db uxtb r3, r3 809d8cc: 461a mov r2, r3 809d8ce: 4b58 ldr r3, [pc, #352] ; (809da30 ) 809d8d0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809d8d4: 6dfb ldr r3, [r7, #92] ; 0x5c 809d8d6: b29b uxth r3, r3 809d8d8: 461a mov r2, r3 809d8da: 0112 lsls r2, r2, #4 809d8dc: 1ad3 subs r3, r2, r3 809d8de: 005b lsls r3, r3, #1 809d8e0: b29b uxth r3, r3 809d8e2: 335a adds r3, #90 ; 0x5a 809d8e4: b29b uxth r3, r3 809d8e6: 2256 movs r2, #86 ; 0x56 809d8e8: 4619 mov r1, r3 809d8ea: f7b7 fd85 bl 80553f8 for(i = 0; i < 5; i++) 809d8ee: 6dfb ldr r3, [r7, #92] ; 0x5c 809d8f0: 3301 adds r3, #1 809d8f2: 65fb str r3, [r7, #92] ; 0x5c 809d8f4: 6dfb ldr r3, [r7, #92] ; 0x5c 809d8f6: 2b04 cmp r3, #4 809d8f8: d9dc bls.n 809d8b4 809d8fa: e05a b.n 809d9b2 for(i = 0; i < t; i++) 809d8fc: 2300 movs r3, #0 809d8fe: 65fb str r3, [r7, #92] ; 0x5c 809d900: e01f b.n 809d942 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809d902: 6d3a ldr r2, [r7, #80] ; 0x50 809d904: 6df9 ldr r1, [r7, #92] ; 0x5c 809d906: 4613 mov r3, r2 809d908: 009b lsls r3, r3, #2 809d90a: 4413 add r3, r2 809d90c: f107 0268 add.w r2, r7, #104 ; 0x68 809d910: 4413 add r3, r2 809d912: 440b add r3, r1 809d914: 3b34 subs r3, #52 ; 0x34 809d916: 781b ldrb r3, [r3, #0] 809d918: b2db uxtb r3, r3 809d91a: 461a mov r2, r3 809d91c: 4b44 ldr r3, [pc, #272] ; (809da30 ) 809d91e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809d922: 6dfb ldr r3, [r7, #92] ; 0x5c 809d924: b29b uxth r3, r3 809d926: 461a mov r2, r3 809d928: 0112 lsls r2, r2, #4 809d92a: 1ad3 subs r3, r2, r3 809d92c: 005b lsls r3, r3, #1 809d92e: b29b uxth r3, r3 809d930: 335a adds r3, #90 ; 0x5a 809d932: b29b uxth r3, r3 809d934: 2256 movs r2, #86 ; 0x56 809d936: 4619 mov r1, r3 809d938: f7b7 fd5e bl 80553f8 for(i = 0; i < t; i++) 809d93c: 6dfb ldr r3, [r7, #92] ; 0x5c 809d93e: 3301 adds r3, #1 809d940: 65fb str r3, [r7, #92] ; 0x5c 809d942: 6dfa ldr r2, [r7, #92] ; 0x5c 809d944: 6d7b ldr r3, [r7, #84] ; 0x54 809d946: 429a cmp r2, r3 809d948: d3db bcc.n 809d902 DrawImage(&bmgpt, 95 + 30*t, 92+18); 809d94a: 6d7b ldr r3, [r7, #84] ; 0x54 809d94c: b29b uxth r3, r3 809d94e: 461a mov r2, r3 809d950: 0112 lsls r2, r2, #4 809d952: 1ad3 subs r3, r2, r3 809d954: 005b lsls r3, r3, #1 809d956: b29b uxth r3, r3 809d958: 335f adds r3, #95 ; 0x5f 809d95a: b29b uxth r3, r3 809d95c: 226e movs r2, #110 ; 0x6e 809d95e: 4619 mov r1, r3 809d960: 4834 ldr r0, [pc, #208] ; (809da34 ) 809d962: f7b7 fd49 bl 80553f8 for(i = t; i < 5; i++) 809d966: 6d7b ldr r3, [r7, #84] ; 0x54 809d968: 65fb str r3, [r7, #92] ; 0x5c 809d96a: e01f b.n 809d9ac DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809d96c: 6d3a ldr r2, [r7, #80] ; 0x50 809d96e: 6df9 ldr r1, [r7, #92] ; 0x5c 809d970: 4613 mov r3, r2 809d972: 009b lsls r3, r3, #2 809d974: 4413 add r3, r2 809d976: f107 0268 add.w r2, r7, #104 ; 0x68 809d97a: 4413 add r3, r2 809d97c: 440b add r3, r1 809d97e: 3b34 subs r3, #52 ; 0x34 809d980: 781b ldrb r3, [r3, #0] 809d982: b2db uxtb r3, r3 809d984: 461a mov r2, r3 809d986: 4b2a ldr r3, [pc, #168] ; (809da30 ) 809d988: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809d98c: 6dfb ldr r3, [r7, #92] ; 0x5c 809d98e: b29b uxth r3, r3 809d990: 461a mov r2, r3 809d992: 0112 lsls r2, r2, #4 809d994: 1ad3 subs r3, r2, r3 809d996: 005b lsls r3, r3, #1 809d998: b29b uxth r3, r3 809d99a: 336e adds r3, #110 ; 0x6e 809d99c: b29b uxth r3, r3 809d99e: 2256 movs r2, #86 ; 0x56 809d9a0: 4619 mov r1, r3 809d9a2: f7b7 fd29 bl 80553f8 for(i = t; i < 5; i++) 809d9a6: 6dfb ldr r3, [r7, #92] ; 0x5c 809d9a8: 3301 adds r3, #1 809d9aa: 65fb str r3, [r7, #92] ; 0x5c 809d9ac: 6dfb ldr r3, [r7, #92] ; 0x5c 809d9ae: 2b04 cmp r3, #4 809d9b0: d9dc bls.n 809d96c if((ReadFileData.Aivs != 'E') && (ReadFileData.Aivs != 'F')) 809d9b2: 4b21 ldr r3, [pc, #132] ; (809da38 ) 809d9b4: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809d9b8: b2db uxtb r3, r3 809d9ba: 2b45 cmp r3, #69 ; 0x45 809d9bc: d012 beq.n 809d9e4 809d9be: 4b1e ldr r3, [pc, #120] ; (809da38 ) 809d9c0: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809d9c4: b2db uxtb r3, r3 809d9c6: 2b46 cmp r3, #70 ; 0x46 809d9c8: d00c beq.n 809d9e4 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809d9ca: 4b1c ldr r3, [pc, #112] ; (809da3c ) 809d9cc: 7b1b ldrb r3, [r3, #12] 809d9ce: b2db uxtb r3, r3 809d9d0: 461a mov r2, r3 809d9d2: 4b1b ldr r3, [pc, #108] ; (809da40 ) 809d9d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d9d8: 225c movs r2, #92 ; 0x5c 809d9da: f240 1109 movw r1, #265 ; 0x109 809d9de: 4618 mov r0, r3 809d9e0: f7b7 fd0a bl 80553f8 if(ReadFileData.Aivs == 'E') 809d9e4: 4b14 ldr r3, [pc, #80] ; (809da38 ) 809d9e6: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809d9ea: b2db uxtb r3, r3 809d9ec: 2b45 cmp r3, #69 ; 0x45 809d9ee: f040 861d bne.w 809e62c if(ReadFileData.Aval.fl < 0.0f) { 809d9f2: 4b11 ldr r3, [pc, #68] ; (809da38 ) 809d9f4: edd3 7a00 vldr s15, [r3] 809d9f8: eef5 7ac0 vcmpe.f32 s15, #0.0 809d9fc: eef1 fa10 vmrs APSR_nzcv, fpscr 809da00: d401 bmi.n 809da06 if(ipr == ACC) 809da02: f000 be13 b.w 809e62c DrawImage(&bmgminus, 78, 84+18); 809da06: 2266 movs r2, #102 ; 0x66 809da08: 214e movs r1, #78 ; 0x4e 809da0a: 480e ldr r0, [pc, #56] ; (809da44 ) 809da0c: f7b7 fcf4 bl 80553f8 if(ipr == ACC) 809da10: f000 be0c b.w 809e62c 809da14: 0001869f .word 0x0001869f 809da18: 4cbebc20 .word 0x4cbebc20 809da1c: 47c34f80 .word 0x47c34f80 809da20: d1b71759 .word 0xd1b71759 809da24: 10624dd3 .word 0x10624dd3 809da28: 51eb851f .word 0x51eb851f 809da2c: cccccccd .word 0xcccccccd 809da30: 20020124 .word 0x20020124 809da34: 0816be20 .word 0x0816be20 809da38: 200226e8 .word 0x200226e8 809da3c: 20023ea8 .word 0x20023ea8 809da40: 200200f4 .word 0x200200f4 809da44: 0816bd94 .word 0x0816bd94 if(ipr == VEL) 809da48: 6d3b ldr r3, [r7, #80] ; 0x50 809da4a: 2b01 cmp r3, #1 809da4c: f040 80d8 bne.w 809dc00 if(ReadFileData.Vval.fl != -1.0f) 809da50: 4ba4 ldr r3, [pc, #656] ; (809dce4 ) 809da52: edd3 7a01 vldr s15, [r3, #4] 809da56: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809da5a: eef4 7a47 vcmp.f32 s15, s14 809da5e: eef1 fa10 vmrs APSR_nzcv, fpscr 809da62: f000 80b6 beq.w 809dbd2 if(!t) 809da66: 6d7b ldr r3, [r7, #84] ; 0x54 809da68: 2b00 cmp r3, #0 809da6a: d126 bne.n 809daba for(i = 0; i < 5; i++) 809da6c: 2300 movs r3, #0 809da6e: 65fb str r3, [r7, #92] ; 0x5c 809da70: e01f b.n 809dab2 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809da72: 6d3a ldr r2, [r7, #80] ; 0x50 809da74: 6df9 ldr r1, [r7, #92] ; 0x5c 809da76: 4613 mov r3, r2 809da78: 009b lsls r3, r3, #2 809da7a: 4413 add r3, r2 809da7c: f107 0268 add.w r2, r7, #104 ; 0x68 809da80: 4413 add r3, r2 809da82: 440b add r3, r1 809da84: 3b34 subs r3, #52 ; 0x34 809da86: 781b ldrb r3, [r3, #0] 809da88: b2db uxtb r3, r3 809da8a: 461a mov r2, r3 809da8c: 4b96 ldr r3, [pc, #600] ; (809dce8 ) 809da8e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809da92: 6dfb ldr r3, [r7, #92] ; 0x5c 809da94: b29b uxth r3, r3 809da96: 461a mov r2, r3 809da98: 0112 lsls r2, r2, #4 809da9a: 1ad3 subs r3, r2, r3 809da9c: 005b lsls r3, r3, #1 809da9e: b29b uxth r3, r3 809daa0: 335a adds r3, #90 ; 0x5a 809daa2: b29b uxth r3, r3 809daa4: 2282 movs r2, #130 ; 0x82 809daa6: 4619 mov r1, r3 809daa8: f7b7 fca6 bl 80553f8 for(i = 0; i < 5; i++) 809daac: 6dfb ldr r3, [r7, #92] ; 0x5c 809daae: 3301 adds r3, #1 809dab0: 65fb str r3, [r7, #92] ; 0x5c 809dab2: 6dfb ldr r3, [r7, #92] ; 0x5c 809dab4: 2b04 cmp r3, #4 809dab6: d9dc bls.n 809da72 809dab8: e05a b.n 809db70 for(i = 0; i < t; i++) 809daba: 2300 movs r3, #0 809dabc: 65fb str r3, [r7, #92] ; 0x5c 809dabe: e01f b.n 809db00 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809dac0: 6d3a ldr r2, [r7, #80] ; 0x50 809dac2: 6df9 ldr r1, [r7, #92] ; 0x5c 809dac4: 4613 mov r3, r2 809dac6: 009b lsls r3, r3, #2 809dac8: 4413 add r3, r2 809daca: f107 0268 add.w r2, r7, #104 ; 0x68 809dace: 4413 add r3, r2 809dad0: 440b add r3, r1 809dad2: 3b34 subs r3, #52 ; 0x34 809dad4: 781b ldrb r3, [r3, #0] 809dad6: b2db uxtb r3, r3 809dad8: 461a mov r2, r3 809dada: 4b83 ldr r3, [pc, #524] ; (809dce8 ) 809dadc: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dae0: 6dfb ldr r3, [r7, #92] ; 0x5c 809dae2: b29b uxth r3, r3 809dae4: 461a mov r2, r3 809dae6: 0112 lsls r2, r2, #4 809dae8: 1ad3 subs r3, r2, r3 809daea: 005b lsls r3, r3, #1 809daec: b29b uxth r3, r3 809daee: 335a adds r3, #90 ; 0x5a 809daf0: b29b uxth r3, r3 809daf2: 2282 movs r2, #130 ; 0x82 809daf4: 4619 mov r1, r3 809daf6: f7b7 fc7f bl 80553f8 for(i = 0; i < t; i++) 809dafa: 6dfb ldr r3, [r7, #92] ; 0x5c 809dafc: 3301 adds r3, #1 809dafe: 65fb str r3, [r7, #92] ; 0x5c 809db00: 6dfa ldr r2, [r7, #92] ; 0x5c 809db02: 6d7b ldr r3, [r7, #84] ; 0x54 809db04: 429a cmp r2, r3 809db06: d3db bcc.n 809dac0 DrawImage(&bmgpt, 95 + 30*t, 145+9); 809db08: 6d7b ldr r3, [r7, #84] ; 0x54 809db0a: b29b uxth r3, r3 809db0c: 461a mov r2, r3 809db0e: 0112 lsls r2, r2, #4 809db10: 1ad3 subs r3, r2, r3 809db12: 005b lsls r3, r3, #1 809db14: b29b uxth r3, r3 809db16: 335f adds r3, #95 ; 0x5f 809db18: b29b uxth r3, r3 809db1a: 229a movs r2, #154 ; 0x9a 809db1c: 4619 mov r1, r3 809db1e: 4873 ldr r0, [pc, #460] ; (809dcec ) 809db20: f7b7 fc6a bl 80553f8 for(i = t; i < 5; i++) 809db24: 6d7b ldr r3, [r7, #84] ; 0x54 809db26: 65fb str r3, [r7, #92] ; 0x5c 809db28: e01f b.n 809db6a DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809db2a: 6d3a ldr r2, [r7, #80] ; 0x50 809db2c: 6df9 ldr r1, [r7, #92] ; 0x5c 809db2e: 4613 mov r3, r2 809db30: 009b lsls r3, r3, #2 809db32: 4413 add r3, r2 809db34: f107 0268 add.w r2, r7, #104 ; 0x68 809db38: 4413 add r3, r2 809db3a: 440b add r3, r1 809db3c: 3b34 subs r3, #52 ; 0x34 809db3e: 781b ldrb r3, [r3, #0] 809db40: b2db uxtb r3, r3 809db42: 461a mov r2, r3 809db44: 4b68 ldr r3, [pc, #416] ; (809dce8 ) 809db46: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809db4a: 6dfb ldr r3, [r7, #92] ; 0x5c 809db4c: b29b uxth r3, r3 809db4e: 461a mov r2, r3 809db50: 0112 lsls r2, r2, #4 809db52: 1ad3 subs r3, r2, r3 809db54: 005b lsls r3, r3, #1 809db56: b29b uxth r3, r3 809db58: 336e adds r3, #110 ; 0x6e 809db5a: b29b uxth r3, r3 809db5c: 2282 movs r2, #130 ; 0x82 809db5e: 4619 mov r1, r3 809db60: f7b7 fc4a bl 80553f8 for(i = t; i < 5; i++) 809db64: 6dfb ldr r3, [r7, #92] ; 0x5c 809db66: 3301 adds r3, #1 809db68: 65fb str r3, [r7, #92] ; 0x5c 809db6a: 6dfb ldr r3, [r7, #92] ; 0x5c 809db6c: 2b04 cmp r3, #4 809db6e: d9dc bls.n 809db2a if((ReadFileData.Vivs != 'E') && (ReadFileData.Vivs != 'F')) 809db70: 4b5c ldr r3, [pc, #368] ; (809dce4 ) 809db72: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809db76: b2db uxtb r3, r3 809db78: 2b45 cmp r3, #69 ; 0x45 809db7a: d012 beq.n 809dba2 809db7c: 4b59 ldr r3, [pc, #356] ; (809dce4 ) 809db7e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809db82: b2db uxtb r3, r3 809db84: 2b46 cmp r3, #70 ; 0x46 809db86: d00c beq.n 809dba2 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809db88: 4b59 ldr r3, [pc, #356] ; (809dcf0 ) 809db8a: 7b1b ldrb r3, [r3, #12] 809db8c: b2db uxtb r3, r3 809db8e: 461a mov r2, r3 809db90: 4b58 ldr r3, [pc, #352] ; (809dcf4 ) 809db92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809db96: 2289 movs r2, #137 ; 0x89 809db98: f240 1109 movw r1, #265 ; 0x109 809db9c: 4618 mov r0, r3 809db9e: f7b7 fc2b bl 80553f8 if(ReadFileData.Vivs == 'E') 809dba2: 4b50 ldr r3, [pc, #320] ; (809dce4 ) 809dba4: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809dba8: b2db uxtb r3, r3 809dbaa: 2b45 cmp r3, #69 ; 0x45 809dbac: f040 853e bne.w 809e62c if(ReadFileData.Vval.fl < 0.0f) { 809dbb0: 4b4c ldr r3, [pc, #304] ; (809dce4 ) 809dbb2: edd3 7a01 vldr s15, [r3, #4] 809dbb6: eef5 7ac0 vcmpe.f32 s15, #0.0 809dbba: eef1 fa10 vmrs APSR_nzcv, fpscr 809dbbe: d401 bmi.n 809dbc4 if(ipr == ACC) 809dbc0: f000 bd34 b.w 809e62c DrawImage(&bmgminus, 78, 138+9); 809dbc4: 2293 movs r2, #147 ; 0x93 809dbc6: 214e movs r1, #78 ; 0x4e 809dbc8: 484b ldr r0, [pc, #300] ; (809dcf8 ) 809dbca: f7b7 fc15 bl 80553f8 if(ipr == ACC) 809dbce: f000 bd2d b.w 809e62c LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809dbd2: 494a ldr r1, [pc, #296] ; (809dcfc ) 809dbd4: 484a ldr r0, [pc, #296] ; (809dd00 ) 809dbd6: f7b6 fd1b bl 8054610 if(pardata.LANG == RUS) 809dbda: 4b45 ldr r3, [pc, #276] ; (809dcf0 ) 809dbdc: 7b1b ldrb r3, [r3, #12] 809dbde: b2db uxtb r3, r3 809dbe0: 2b00 cmp r3, #0 809dbe2: d106 bne.n 809dbf2 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809dbe4: 4a47 ldr r2, [pc, #284] ; (809dd04 ) 809dbe6: 2187 movs r1, #135 ; 0x87 809dbe8: 20a7 movs r0, #167 ; 0xa7 809dbea: f7b7 fad1 bl 8055190 if(ipr == ACC) 809dbee: f000 bd1d b.w 809e62c else LCD_DisplayStringC(167, 135, "NO DATA"); 809dbf2: 4a45 ldr r2, [pc, #276] ; (809dd08 ) 809dbf4: 2187 movs r1, #135 ; 0x87 809dbf6: 20a7 movs r0, #167 ; 0xa7 809dbf8: f7b7 faca bl 8055190 if(ipr == ACC) 809dbfc: f000 bd16 b.w 809e62c if(ipr == DIS) 809dc00: 6d3b ldr r3, [r7, #80] ; 0x50 809dc02: 2b02 cmp r3, #2 809dc04: f040 8512 bne.w 809e62c if(ReadFileData.Sval.fl != -1.0f) 809dc08: 4b36 ldr r3, [pc, #216] ; (809dce4 ) 809dc0a: edd3 7a02 vldr s15, [r3, #8] 809dc0e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809dc12: eef4 7a47 vcmp.f32 s15, s14 809dc16: eef1 fa10 vmrs APSR_nzcv, fpscr 809dc1a: f000 80dc beq.w 809ddd6 if(!t) 809dc1e: 6d7b ldr r3, [r7, #84] ; 0x54 809dc20: 2b00 cmp r3, #0 809dc22: d126 bne.n 809dc72 for(i = 0; i < 5; i++) 809dc24: 2300 movs r3, #0 809dc26: 65fb str r3, [r7, #92] ; 0x5c 809dc28: e01f b.n 809dc6a DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809dc2a: 6d3a ldr r2, [r7, #80] ; 0x50 809dc2c: 6df9 ldr r1, [r7, #92] ; 0x5c 809dc2e: 4613 mov r3, r2 809dc30: 009b lsls r3, r3, #2 809dc32: 4413 add r3, r2 809dc34: f107 0268 add.w r2, r7, #104 ; 0x68 809dc38: 4413 add r3, r2 809dc3a: 440b add r3, r1 809dc3c: 3b34 subs r3, #52 ; 0x34 809dc3e: 781b ldrb r3, [r3, #0] 809dc40: b2db uxtb r3, r3 809dc42: 461a mov r2, r3 809dc44: 4b28 ldr r3, [pc, #160] ; (809dce8 ) 809dc46: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dc4a: 6dfb ldr r3, [r7, #92] ; 0x5c 809dc4c: b29b uxth r3, r3 809dc4e: 461a mov r2, r3 809dc50: 0112 lsls r2, r2, #4 809dc52: 1ad3 subs r3, r2, r3 809dc54: 005b lsls r3, r3, #1 809dc56: b29b uxth r3, r3 809dc58: 335a adds r3, #90 ; 0x5a 809dc5a: b29b uxth r3, r3 809dc5c: 22ae movs r2, #174 ; 0xae 809dc5e: 4619 mov r1, r3 809dc60: f7b7 fbca bl 80553f8 for(i = 0; i < 5; i++) 809dc64: 6dfb ldr r3, [r7, #92] ; 0x5c 809dc66: 3301 adds r3, #1 809dc68: 65fb str r3, [r7, #92] ; 0x5c 809dc6a: 6dfb ldr r3, [r7, #92] ; 0x5c 809dc6c: 2b04 cmp r3, #4 809dc6e: d9dc bls.n 809dc2a 809dc70: e06f b.n 809dd52 for(i = 0; i < t; i++) 809dc72: 2300 movs r3, #0 809dc74: 65fb str r3, [r7, #92] ; 0x5c 809dc76: e01f b.n 809dcb8 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809dc78: 6d3a ldr r2, [r7, #80] ; 0x50 809dc7a: 6df9 ldr r1, [r7, #92] ; 0x5c 809dc7c: 4613 mov r3, r2 809dc7e: 009b lsls r3, r3, #2 809dc80: 4413 add r3, r2 809dc82: f107 0268 add.w r2, r7, #104 ; 0x68 809dc86: 4413 add r3, r2 809dc88: 440b add r3, r1 809dc8a: 3b34 subs r3, #52 ; 0x34 809dc8c: 781b ldrb r3, [r3, #0] 809dc8e: b2db uxtb r3, r3 809dc90: 461a mov r2, r3 809dc92: 4b15 ldr r3, [pc, #84] ; (809dce8 ) 809dc94: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dc98: 6dfb ldr r3, [r7, #92] ; 0x5c 809dc9a: b29b uxth r3, r3 809dc9c: 461a mov r2, r3 809dc9e: 0112 lsls r2, r2, #4 809dca0: 1ad3 subs r3, r2, r3 809dca2: 005b lsls r3, r3, #1 809dca4: b29b uxth r3, r3 809dca6: 335a adds r3, #90 ; 0x5a 809dca8: b29b uxth r3, r3 809dcaa: 22ae movs r2, #174 ; 0xae 809dcac: 4619 mov r1, r3 809dcae: f7b7 fba3 bl 80553f8 for(i = 0; i < t; i++) 809dcb2: 6dfb ldr r3, [r7, #92] ; 0x5c 809dcb4: 3301 adds r3, #1 809dcb6: 65fb str r3, [r7, #92] ; 0x5c 809dcb8: 6dfa ldr r2, [r7, #92] ; 0x5c 809dcba: 6d7b ldr r3, [r7, #84] ; 0x54 809dcbc: 429a cmp r2, r3 809dcbe: d3db bcc.n 809dc78 DrawImage(&bmgpt, 95 + 30*t, 198); 809dcc0: 6d7b ldr r3, [r7, #84] ; 0x54 809dcc2: b29b uxth r3, r3 809dcc4: 461a mov r2, r3 809dcc6: 0112 lsls r2, r2, #4 809dcc8: 1ad3 subs r3, r2, r3 809dcca: 005b lsls r3, r3, #1 809dccc: b29b uxth r3, r3 809dcce: 335f adds r3, #95 ; 0x5f 809dcd0: b29b uxth r3, r3 809dcd2: 22c6 movs r2, #198 ; 0xc6 809dcd4: 4619 mov r1, r3 809dcd6: 4805 ldr r0, [pc, #20] ; (809dcec ) 809dcd8: f7b7 fb8e bl 80553f8 for(i = t; i < 5; i++) 809dcdc: 6d7b ldr r3, [r7, #84] ; 0x54 809dcde: 65fb str r3, [r7, #92] ; 0x5c 809dce0: e034 b.n 809dd4c 809dce2: bf00 nop 809dce4: 200226e8 .word 0x200226e8 809dce8: 20020124 .word 0x20020124 809dcec: 0816be20 .word 0x0816be20 809dcf0: 20023ea8 .word 0x20023ea8 809dcf4: 200200fc .word 0x200200fc 809dcf8: 0816bd94 .word 0x0816bd94 809dcfc: ff0a0f1f .word 0xff0a0f1f 809dd00: ffb8e828 .word 0xffb8e828 809dd04: 080d3e64 .word 0x080d3e64 809dd08: 080d3e70 .word 0x080d3e70 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809dd0c: 6d3a ldr r2, [r7, #80] ; 0x50 809dd0e: 6df9 ldr r1, [r7, #92] ; 0x5c 809dd10: 4613 mov r3, r2 809dd12: 009b lsls r3, r3, #2 809dd14: 4413 add r3, r2 809dd16: f107 0268 add.w r2, r7, #104 ; 0x68 809dd1a: 4413 add r3, r2 809dd1c: 440b add r3, r1 809dd1e: 3b34 subs r3, #52 ; 0x34 809dd20: 781b ldrb r3, [r3, #0] 809dd22: b2db uxtb r3, r3 809dd24: 461a mov r2, r3 809dd26: 4bb2 ldr r3, [pc, #712] ; (809dff0 ) 809dd28: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dd2c: 6dfb ldr r3, [r7, #92] ; 0x5c 809dd2e: b29b uxth r3, r3 809dd30: 461a mov r2, r3 809dd32: 0112 lsls r2, r2, #4 809dd34: 1ad3 subs r3, r2, r3 809dd36: 005b lsls r3, r3, #1 809dd38: b29b uxth r3, r3 809dd3a: 336e adds r3, #110 ; 0x6e 809dd3c: b29b uxth r3, r3 809dd3e: 22ae movs r2, #174 ; 0xae 809dd40: 4619 mov r1, r3 809dd42: f7b7 fb59 bl 80553f8 for(i = t; i < 5; i++) 809dd46: 6dfb ldr r3, [r7, #92] ; 0x5c 809dd48: 3301 adds r3, #1 809dd4a: 65fb str r3, [r7, #92] ; 0x5c 809dd4c: 6dfb ldr r3, [r7, #92] ; 0x5c 809dd4e: 2b04 cmp r3, #4 809dd50: d9dc bls.n 809dd0c if((ReadFileData.Sivs != 'E') && (ReadFileData.Sivs != 'F')) 809dd52: 4ba8 ldr r3, [pc, #672] ; (809dff4 ) 809dd54: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809dd58: b2db uxtb r3, r3 809dd5a: 2b45 cmp r3, #69 ; 0x45 809dd5c: d023 beq.n 809dda6 809dd5e: 4ba5 ldr r3, [pc, #660] ; (809dff4 ) 809dd60: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809dd64: b2db uxtb r3, r3 809dd66: 2b46 cmp r3, #70 ; 0x46 809dd68: d01d beq.n 809dda6 if(m == 0) 809dd6a: 6cfb ldr r3, [r7, #76] ; 0x4c 809dd6c: 2b00 cmp r3, #0 809dd6e: d10d bne.n 809dd8c DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809dd70: 4ba1 ldr r3, [pc, #644] ; (809dff8 ) 809dd72: 7b1b ldrb r3, [r3, #12] 809dd74: b2db uxtb r3, r3 809dd76: 461a mov r2, r3 809dd78: 4ba0 ldr r3, [pc, #640] ; (809dffc ) 809dd7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809dd7e: 22b4 movs r2, #180 ; 0xb4 809dd80: f240 1109 movw r1, #265 ; 0x109 809dd84: 4618 mov r0, r3 809dd86: f7b7 fb37 bl 80553f8 809dd8a: e00c b.n 809dda6 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809dd8c: 4b9a ldr r3, [pc, #616] ; (809dff8 ) 809dd8e: 7b1b ldrb r3, [r3, #12] 809dd90: b2db uxtb r3, r3 809dd92: 461a mov r2, r3 809dd94: 4b9a ldr r3, [pc, #616] ; (809e000 ) 809dd96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809dd9a: 22b4 movs r2, #180 ; 0xb4 809dd9c: f240 1109 movw r1, #265 ; 0x109 809dda0: 4618 mov r0, r3 809dda2: f7b7 fb29 bl 80553f8 if(ReadFileData.Sivs == 'E') 809dda6: 4b93 ldr r3, [pc, #588] ; (809dff4 ) 809dda8: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809ddac: b2db uxtb r3, r3 809ddae: 2b45 cmp r3, #69 ; 0x45 809ddb0: f040 843c bne.w 809e62c if(ReadFileData.Sval.fl < 0.0f) { 809ddb4: 4b8f ldr r3, [pc, #572] ; (809dff4 ) 809ddb6: edd3 7a02 vldr s15, [r3, #8] 809ddba: eef5 7ac0 vcmpe.f32 s15, #0.0 809ddbe: eef1 fa10 vmrs APSR_nzcv, fpscr 809ddc2: d401 bmi.n 809ddc8 if(ipr == ACC) 809ddc4: f000 bc32 b.w 809e62c DrawImage(&bmgminus, 78, 190); 809ddc8: 22be movs r2, #190 ; 0xbe 809ddca: 214e movs r1, #78 ; 0x4e 809ddcc: 488d ldr r0, [pc, #564] ; (809e004 ) 809ddce: f7b7 fb13 bl 80553f8 if(ipr == ACC) 809ddd2: f000 bc2b b.w 809e62c LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809ddd6: 498c ldr r1, [pc, #560] ; (809e008 ) 809ddd8: 488c ldr r0, [pc, #560] ; (809e00c ) 809ddda: f7b6 fc19 bl 8054610 if(pardata.LANG == RUS) 809ddde: 4b86 ldr r3, [pc, #536] ; (809dff8 ) 809dde0: 7b1b ldrb r3, [r3, #12] 809dde2: b2db uxtb r3, r3 809dde4: 2b00 cmp r3, #0 809dde6: d106 bne.n 809ddf6 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809dde8: 4a89 ldr r2, [pc, #548] ; (809e010 ) 809ddea: 21b9 movs r1, #185 ; 0xb9 809ddec: 20a7 movs r0, #167 ; 0xa7 809ddee: f7b7 f9cf bl 8055190 if(ipr == ACC) 809ddf2: f000 bc1b b.w 809e62c else LCD_DisplayStringC(167, 185, "NO DATA"); 809ddf6: 4a87 ldr r2, [pc, #540] ; (809e014 ) 809ddf8: 21b9 movs r1, #185 ; 0xb9 809ddfa: 20a7 movs r0, #167 ; 0xa7 809ddfc: f7b7 f9c8 bl 8055190 if(ipr == ACC) 809de00: f000 bc14 b.w 809e62c if(f != -1.0f) 809de04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809de08: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809de0c: eef4 7a47 vcmp.f32 s15, s14 809de10: eef1 fa10 vmrs APSR_nzcv, fpscr 809de14: f000 83c3 beq.w 809e59e LinToLog(&f, &f); 809de18: f107 0244 add.w r2, r7, #68 ; 0x44 809de1c: f107 0344 add.w r3, r7, #68 ; 0x44 809de20: 4611 mov r1, r2 809de22: 4618 mov r0, r3 809de24: f7c7 ff90 bl 8065d48 k = (uint32_t) (roundf(f * 10 + 0.5f)); 809de28: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809de2c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809de30: ee67 7a87 vmul.f32 s15, s15, s14 809de34: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 809de38: ee77 7a87 vadd.f32 s15, s15, s14 809de3c: eeb0 0a67 vmov.f32 s0, s15 809de40: f031 f8b0 bl 80cefa4 809de44: eef0 7a40 vmov.f32 s15, s0 809de48: eefc 7ae7 vcvt.u32.f32 s15, s15 809de4c: ee17 3a90 vmov r3, s15 809de50: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 809de52: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809de56: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809de5a: eef4 7ac7 vcmpe.f32 s15, s14 809de5e: eef1 fa10 vmrs APSR_nzcv, fpscr 809de62: f140 80e1 bpl.w 809e028 ik[ipr][0] = (uint8_t) (k / 10); 809de66: 6d3a ldr r2, [r7, #80] ; 0x50 809de68: 6dbb ldr r3, [r7, #88] ; 0x58 809de6a: 496b ldr r1, [pc, #428] ; (809e018 ) 809de6c: fba1 1303 umull r1, r3, r1, r3 809de70: 08db lsrs r3, r3, #3 809de72: b2d9 uxtb r1, r3 809de74: 4613 mov r3, r2 809de76: 009b lsls r3, r3, #2 809de78: 4413 add r3, r2 809de7a: f107 0268 add.w r2, r7, #104 ; 0x68 809de7e: 4413 add r3, r2 809de80: 3b34 subs r3, #52 ; 0x34 809de82: 460a mov r2, r1 809de84: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 809de86: 6d38 ldr r0, [r7, #80] ; 0x50 809de88: 6db9 ldr r1, [r7, #88] ; 0x58 809de8a: 4b63 ldr r3, [pc, #396] ; (809e018 ) 809de8c: fba3 2301 umull r2, r3, r3, r1 809de90: 08da lsrs r2, r3, #3 809de92: 4613 mov r3, r2 809de94: 009b lsls r3, r3, #2 809de96: 4413 add r3, r2 809de98: 005b lsls r3, r3, #1 809de9a: 1aca subs r2, r1, r3 809de9c: b2d2 uxtb r2, r2 809de9e: 4603 mov r3, r0 809dea0: 009b lsls r3, r3, #2 809dea2: 4403 add r3, r0 809dea4: f107 0168 add.w r1, r7, #104 ; 0x68 809dea8: 440b add r3, r1 809deaa: 3b33 subs r3, #51 ; 0x33 809deac: 701a strb r2, [r3, #0] if(ipr == ACC) 809deae: 6d3b ldr r3, [r7, #80] ; 0x50 809deb0: 2b00 cmp r3, #0 809deb2: d131 bne.n 809df18 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 809deb4: 6d3a ldr r2, [r7, #80] ; 0x50 809deb6: 4613 mov r3, r2 809deb8: 009b lsls r3, r3, #2 809deba: 4413 add r3, r2 809debc: f107 0268 add.w r2, r7, #104 ; 0x68 809dec0: 4413 add r3, r2 809dec2: 3b33 subs r3, #51 ; 0x33 809dec4: 781b ldrb r3, [r3, #0] 809dec6: b2db uxtb r3, r3 809dec8: 461a mov r2, r3 809deca: 4b49 ldr r3, [pc, #292] ; (809dff0 ) 809decc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ded0: 2256 movs r2, #86 ; 0x56 809ded2: 21e6 movs r1, #230 ; 0xe6 809ded4: 4618 mov r0, r3 809ded6: f7b7 fa8f bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 92+18); 809deda: 226e movs r2, #110 ; 0x6e 809dedc: 21d7 movs r1, #215 ; 0xd7 809dede: 484f ldr r0, [pc, #316] ; (809e01c ) 809dee0: f7b7 fa8a bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 809dee4: 6d3a ldr r2, [r7, #80] ; 0x50 809dee6: 4613 mov r3, r2 809dee8: 009b lsls r3, r3, #2 809deea: 4413 add r3, r2 809deec: f107 0268 add.w r2, r7, #104 ; 0x68 809def0: 4413 add r3, r2 809def2: 3b34 subs r3, #52 ; 0x34 809def4: 781b ldrb r3, [r3, #0] 809def6: b2db uxtb r3, r3 809def8: 461a mov r2, r3 809defa: 4b3d ldr r3, [pc, #244] ; (809dff0 ) 809defc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809df00: 2256 movs r2, #86 ; 0x56 809df02: 21b4 movs r1, #180 ; 0xb4 809df04: 4618 mov r0, r3 809df06: f7b7 fa77 bl 80553f8 DrawImage(&bmg_dB, 265, 74+18); 809df0a: 225c movs r2, #92 ; 0x5c 809df0c: f240 1109 movw r1, #265 ; 0x109 809df10: 4843 ldr r0, [pc, #268] ; (809e020 ) 809df12: f7b7 fa71 bl 80553f8 809df16: e38a b.n 809e62e if(ipr == VEL) 809df18: 6d3b ldr r3, [r7, #80] ; 0x50 809df1a: 2b01 cmp r3, #1 809df1c: d131 bne.n 809df82 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 809df1e: 6d3a ldr r2, [r7, #80] ; 0x50 809df20: 4613 mov r3, r2 809df22: 009b lsls r3, r3, #2 809df24: 4413 add r3, r2 809df26: f107 0268 add.w r2, r7, #104 ; 0x68 809df2a: 4413 add r3, r2 809df2c: 3b33 subs r3, #51 ; 0x33 809df2e: 781b ldrb r3, [r3, #0] 809df30: b2db uxtb r3, r3 809df32: 461a mov r2, r3 809df34: 4b2e ldr r3, [pc, #184] ; (809dff0 ) 809df36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809df3a: 2282 movs r2, #130 ; 0x82 809df3c: 21e6 movs r1, #230 ; 0xe6 809df3e: 4618 mov r0, r3 809df40: f7b7 fa5a bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 145+9); 809df44: 229a movs r2, #154 ; 0x9a 809df46: 21d7 movs r1, #215 ; 0xd7 809df48: 4834 ldr r0, [pc, #208] ; (809e01c ) 809df4a: f7b7 fa55 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 809df4e: 6d3a ldr r2, [r7, #80] ; 0x50 809df50: 4613 mov r3, r2 809df52: 009b lsls r3, r3, #2 809df54: 4413 add r3, r2 809df56: f107 0268 add.w r2, r7, #104 ; 0x68 809df5a: 4413 add r3, r2 809df5c: 3b34 subs r3, #52 ; 0x34 809df5e: 781b ldrb r3, [r3, #0] 809df60: b2db uxtb r3, r3 809df62: 461a mov r2, r3 809df64: 4b22 ldr r3, [pc, #136] ; (809dff0 ) 809df66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809df6a: 2282 movs r2, #130 ; 0x82 809df6c: 21b4 movs r1, #180 ; 0xb4 809df6e: 4618 mov r0, r3 809df70: f7b7 fa42 bl 80553f8 DrawImage(&bmg_dB, 265, 128+9); 809df74: 2289 movs r2, #137 ; 0x89 809df76: f240 1109 movw r1, #265 ; 0x109 809df7a: 4829 ldr r0, [pc, #164] ; (809e020 ) 809df7c: f7b7 fa3c bl 80553f8 809df80: e355 b.n 809e62e if(ipr == DIS) 809df82: 6d3b ldr r3, [r7, #80] ; 0x50 809df84: 2b02 cmp r3, #2 809df86: f040 8352 bne.w 809e62e DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 809df8a: 6d3a ldr r2, [r7, #80] ; 0x50 809df8c: 4613 mov r3, r2 809df8e: 009b lsls r3, r3, #2 809df90: 4413 add r3, r2 809df92: f107 0268 add.w r2, r7, #104 ; 0x68 809df96: 4413 add r3, r2 809df98: 3b33 subs r3, #51 ; 0x33 809df9a: 781b ldrb r3, [r3, #0] 809df9c: b2db uxtb r3, r3 809df9e: 461a mov r2, r3 809dfa0: 4b13 ldr r3, [pc, #76] ; (809dff0 ) 809dfa2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809dfa6: 22ae movs r2, #174 ; 0xae 809dfa8: 21e6 movs r1, #230 ; 0xe6 809dfaa: 4618 mov r0, r3 809dfac: f7b7 fa24 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 198); 809dfb0: 22c6 movs r2, #198 ; 0xc6 809dfb2: 21d7 movs r1, #215 ; 0xd7 809dfb4: 4819 ldr r0, [pc, #100] ; (809e01c ) 809dfb6: f7b7 fa1f bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 809dfba: 6d3a ldr r2, [r7, #80] ; 0x50 809dfbc: 4613 mov r3, r2 809dfbe: 009b lsls r3, r3, #2 809dfc0: 4413 add r3, r2 809dfc2: f107 0268 add.w r2, r7, #104 ; 0x68 809dfc6: 4413 add r3, r2 809dfc8: 3b34 subs r3, #52 ; 0x34 809dfca: 781b ldrb r3, [r3, #0] 809dfcc: b2db uxtb r3, r3 809dfce: 461a mov r2, r3 809dfd0: 4b07 ldr r3, [pc, #28] ; (809dff0 ) 809dfd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809dfd6: 22ae movs r2, #174 ; 0xae 809dfd8: 21b4 movs r1, #180 ; 0xb4 809dfda: 4618 mov r0, r3 809dfdc: f7b7 fa0c bl 80553f8 DrawImage(&bmg_dB, 265, 180); 809dfe0: 22b4 movs r2, #180 ; 0xb4 809dfe2: f240 1109 movw r1, #265 ; 0x109 809dfe6: 480e ldr r0, [pc, #56] ; (809e020 ) 809dfe8: f7b7 fa06 bl 80553f8 809dfec: e31f b.n 809e62e 809dfee: bf00 nop 809dff0: 20020124 .word 0x20020124 809dff4: 200226e8 .word 0x200226e8 809dff8: 20023ea8 .word 0x20023ea8 809dffc: 20020104 .word 0x20020104 809e000: 2002010c .word 0x2002010c 809e004: 0816bd94 .word 0x0816bd94 809e008: ff0a0f1f .word 0xff0a0f1f 809e00c: ffb8e828 .word 0xffb8e828 809e010: 080d3e64 .word 0x080d3e64 809e014: 080d3e70 .word 0x080d3e70 809e018: cccccccd .word 0xcccccccd 809e01c: 0816be20 .word 0x0816be20 809e020: 0816706c .word 0x0816706c 809e024: 42c80000 .word 0x42c80000 if(f < 100.0f) 809e028: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e02c: ed1f 7a03 vldr s14, [pc, #-12] ; 809e024 809e030: eef4 7ac7 vcmpe.f32 s15, s14 809e034: eef1 fa10 vmrs APSR_nzcv, fpscr 809e038: f140 8128 bpl.w 809e28c ik[ipr][0] = (uint8_t) (k / 100); 809e03c: 6d3a ldr r2, [r7, #80] ; 0x50 809e03e: 6dbb ldr r3, [r7, #88] ; 0x58 809e040: 498c ldr r1, [pc, #560] ; (809e274 ) 809e042: fba1 1303 umull r1, r3, r1, r3 809e046: 095b lsrs r3, r3, #5 809e048: b2d9 uxtb r1, r3 809e04a: 4613 mov r3, r2 809e04c: 009b lsls r3, r3, #2 809e04e: 4413 add r3, r2 809e050: f107 0268 add.w r2, r7, #104 ; 0x68 809e054: 4413 add r3, r2 809e056: 3b34 subs r3, #52 ; 0x34 809e058: 460a mov r2, r1 809e05a: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 809e05c: 6d39 ldr r1, [r7, #80] ; 0x50 809e05e: 6dba ldr r2, [r7, #88] ; 0x58 809e060: 4b84 ldr r3, [pc, #528] ; (809e274 ) 809e062: fba3 0302 umull r0, r3, r3, r2 809e066: 095b lsrs r3, r3, #5 809e068: 2064 movs r0, #100 ; 0x64 809e06a: fb00 f303 mul.w r3, r0, r3 809e06e: 1ad3 subs r3, r2, r3 809e070: 4a81 ldr r2, [pc, #516] ; (809e278 ) 809e072: fba2 2303 umull r2, r3, r2, r3 809e076: 08db lsrs r3, r3, #3 809e078: b2da uxtb r2, r3 809e07a: 460b mov r3, r1 809e07c: 009b lsls r3, r3, #2 809e07e: 440b add r3, r1 809e080: f107 0168 add.w r1, r7, #104 ; 0x68 809e084: 440b add r3, r1 809e086: 3b33 subs r3, #51 ; 0x33 809e088: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 809e08a: 6d38 ldr r0, [r7, #80] ; 0x50 809e08c: 6dbb ldr r3, [r7, #88] ; 0x58 809e08e: 4a79 ldr r2, [pc, #484] ; (809e274 ) 809e090: fba2 1203 umull r1, r2, r2, r3 809e094: 0952 lsrs r2, r2, #5 809e096: 2164 movs r1, #100 ; 0x64 809e098: fb01 f202 mul.w r2, r1, r2 809e09c: 1a9a subs r2, r3, r2 809e09e: 4b76 ldr r3, [pc, #472] ; (809e278 ) 809e0a0: fba3 1302 umull r1, r3, r3, r2 809e0a4: 08d9 lsrs r1, r3, #3 809e0a6: 460b mov r3, r1 809e0a8: 009b lsls r3, r3, #2 809e0aa: 440b add r3, r1 809e0ac: 005b lsls r3, r3, #1 809e0ae: 1ad1 subs r1, r2, r3 809e0b0: b2ca uxtb r2, r1 809e0b2: 4603 mov r3, r0 809e0b4: 009b lsls r3, r3, #2 809e0b6: 4403 add r3, r0 809e0b8: f107 0168 add.w r1, r7, #104 ; 0x68 809e0bc: 440b add r3, r1 809e0be: 3b32 subs r3, #50 ; 0x32 809e0c0: 701a strb r2, [r3, #0] if(ipr == ACC) 809e0c2: 6d3b ldr r3, [r7, #80] ; 0x50 809e0c4: 2b00 cmp r3, #0 809e0c6: d144 bne.n 809e152 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 809e0c8: 6d3a ldr r2, [r7, #80] ; 0x50 809e0ca: 4613 mov r3, r2 809e0cc: 009b lsls r3, r3, #2 809e0ce: 4413 add r3, r2 809e0d0: f107 0268 add.w r2, r7, #104 ; 0x68 809e0d4: 4413 add r3, r2 809e0d6: 3b32 subs r3, #50 ; 0x32 809e0d8: 781b ldrb r3, [r3, #0] 809e0da: b2db uxtb r3, r3 809e0dc: 461a mov r2, r3 809e0de: 4b67 ldr r3, [pc, #412] ; (809e27c ) 809e0e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e0e4: 2256 movs r2, #86 ; 0x56 809e0e6: 21e6 movs r1, #230 ; 0xe6 809e0e8: 4618 mov r0, r3 809e0ea: f7b7 f985 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 92+18); 809e0ee: 226e movs r2, #110 ; 0x6e 809e0f0: 21d7 movs r1, #215 ; 0xd7 809e0f2: 4863 ldr r0, [pc, #396] ; (809e280 ) 809e0f4: f7b7 f980 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 809e0f8: 6d3a ldr r2, [r7, #80] ; 0x50 809e0fa: 4613 mov r3, r2 809e0fc: 009b lsls r3, r3, #2 809e0fe: 4413 add r3, r2 809e100: f107 0268 add.w r2, r7, #104 ; 0x68 809e104: 4413 add r3, r2 809e106: 3b33 subs r3, #51 ; 0x33 809e108: 781b ldrb r3, [r3, #0] 809e10a: b2db uxtb r3, r3 809e10c: 461a mov r2, r3 809e10e: 4b5b ldr r3, [pc, #364] ; (809e27c ) 809e110: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e114: 2256 movs r2, #86 ; 0x56 809e116: 21b4 movs r1, #180 ; 0xb4 809e118: 4618 mov r0, r3 809e11a: f7b7 f96d bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 809e11e: 6d3a ldr r2, [r7, #80] ; 0x50 809e120: 4613 mov r3, r2 809e122: 009b lsls r3, r3, #2 809e124: 4413 add r3, r2 809e126: f107 0268 add.w r2, r7, #104 ; 0x68 809e12a: 4413 add r3, r2 809e12c: 3b34 subs r3, #52 ; 0x34 809e12e: 781b ldrb r3, [r3, #0] 809e130: b2db uxtb r3, r3 809e132: 461a mov r2, r3 809e134: 4b51 ldr r3, [pc, #324] ; (809e27c ) 809e136: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e13a: 2256 movs r2, #86 ; 0x56 809e13c: 2196 movs r1, #150 ; 0x96 809e13e: 4618 mov r0, r3 809e140: f7b7 f95a bl 80553f8 DrawImage(&bmg_dB, 265, 74+18); 809e144: 225c movs r2, #92 ; 0x5c 809e146: f240 1109 movw r1, #265 ; 0x109 809e14a: 484e ldr r0, [pc, #312] ; (809e284 ) 809e14c: f7b7 f954 bl 80553f8 809e150: e26d b.n 809e62e if(ipr == VEL) 809e152: 6d3b ldr r3, [r7, #80] ; 0x50 809e154: 2b01 cmp r3, #1 809e156: d144 bne.n 809e1e2 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 809e158: 6d3a ldr r2, [r7, #80] ; 0x50 809e15a: 4613 mov r3, r2 809e15c: 009b lsls r3, r3, #2 809e15e: 4413 add r3, r2 809e160: f107 0268 add.w r2, r7, #104 ; 0x68 809e164: 4413 add r3, r2 809e166: 3b32 subs r3, #50 ; 0x32 809e168: 781b ldrb r3, [r3, #0] 809e16a: b2db uxtb r3, r3 809e16c: 461a mov r2, r3 809e16e: 4b43 ldr r3, [pc, #268] ; (809e27c ) 809e170: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e174: 2282 movs r2, #130 ; 0x82 809e176: 21e6 movs r1, #230 ; 0xe6 809e178: 4618 mov r0, r3 809e17a: f7b7 f93d bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 145+9); 809e17e: 229a movs r2, #154 ; 0x9a 809e180: 21d7 movs r1, #215 ; 0xd7 809e182: 483f ldr r0, [pc, #252] ; (809e280 ) 809e184: f7b7 f938 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 809e188: 6d3a ldr r2, [r7, #80] ; 0x50 809e18a: 4613 mov r3, r2 809e18c: 009b lsls r3, r3, #2 809e18e: 4413 add r3, r2 809e190: f107 0268 add.w r2, r7, #104 ; 0x68 809e194: 4413 add r3, r2 809e196: 3b33 subs r3, #51 ; 0x33 809e198: 781b ldrb r3, [r3, #0] 809e19a: b2db uxtb r3, r3 809e19c: 461a mov r2, r3 809e19e: 4b37 ldr r3, [pc, #220] ; (809e27c ) 809e1a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e1a4: 2282 movs r2, #130 ; 0x82 809e1a6: 21b4 movs r1, #180 ; 0xb4 809e1a8: 4618 mov r0, r3 809e1aa: f7b7 f925 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 809e1ae: 6d3a ldr r2, [r7, #80] ; 0x50 809e1b0: 4613 mov r3, r2 809e1b2: 009b lsls r3, r3, #2 809e1b4: 4413 add r3, r2 809e1b6: f107 0268 add.w r2, r7, #104 ; 0x68 809e1ba: 4413 add r3, r2 809e1bc: 3b34 subs r3, #52 ; 0x34 809e1be: 781b ldrb r3, [r3, #0] 809e1c0: b2db uxtb r3, r3 809e1c2: 461a mov r2, r3 809e1c4: 4b2d ldr r3, [pc, #180] ; (809e27c ) 809e1c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e1ca: 2282 movs r2, #130 ; 0x82 809e1cc: 2196 movs r1, #150 ; 0x96 809e1ce: 4618 mov r0, r3 809e1d0: f7b7 f912 bl 80553f8 DrawImage(&bmg_dB, 265, 128+9); 809e1d4: 2289 movs r2, #137 ; 0x89 809e1d6: f240 1109 movw r1, #265 ; 0x109 809e1da: 482a ldr r0, [pc, #168] ; (809e284 ) 809e1dc: f7b7 f90c bl 80553f8 809e1e0: e225 b.n 809e62e if(ipr == DIS) 809e1e2: 6d3b ldr r3, [r7, #80] ; 0x50 809e1e4: 2b02 cmp r3, #2 809e1e6: f040 8222 bne.w 809e62e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 809e1ea: 6d3a ldr r2, [r7, #80] ; 0x50 809e1ec: 4613 mov r3, r2 809e1ee: 009b lsls r3, r3, #2 809e1f0: 4413 add r3, r2 809e1f2: f107 0268 add.w r2, r7, #104 ; 0x68 809e1f6: 4413 add r3, r2 809e1f8: 3b32 subs r3, #50 ; 0x32 809e1fa: 781b ldrb r3, [r3, #0] 809e1fc: b2db uxtb r3, r3 809e1fe: 461a mov r2, r3 809e200: 4b1e ldr r3, [pc, #120] ; (809e27c ) 809e202: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e206: 22ae movs r2, #174 ; 0xae 809e208: 21e6 movs r1, #230 ; 0xe6 809e20a: 4618 mov r0, r3 809e20c: f7b7 f8f4 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 198); 809e210: 22c6 movs r2, #198 ; 0xc6 809e212: 21d7 movs r1, #215 ; 0xd7 809e214: 481a ldr r0, [pc, #104] ; (809e280 ) 809e216: f7b7 f8ef bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 809e21a: 6d3a ldr r2, [r7, #80] ; 0x50 809e21c: 4613 mov r3, r2 809e21e: 009b lsls r3, r3, #2 809e220: 4413 add r3, r2 809e222: f107 0268 add.w r2, r7, #104 ; 0x68 809e226: 4413 add r3, r2 809e228: 3b33 subs r3, #51 ; 0x33 809e22a: 781b ldrb r3, [r3, #0] 809e22c: b2db uxtb r3, r3 809e22e: 461a mov r2, r3 809e230: 4b12 ldr r3, [pc, #72] ; (809e27c ) 809e232: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e236: 22ae movs r2, #174 ; 0xae 809e238: 21b4 movs r1, #180 ; 0xb4 809e23a: 4618 mov r0, r3 809e23c: f7b7 f8dc bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 809e240: 6d3a ldr r2, [r7, #80] ; 0x50 809e242: 4613 mov r3, r2 809e244: 009b lsls r3, r3, #2 809e246: 4413 add r3, r2 809e248: f107 0268 add.w r2, r7, #104 ; 0x68 809e24c: 4413 add r3, r2 809e24e: 3b34 subs r3, #52 ; 0x34 809e250: 781b ldrb r3, [r3, #0] 809e252: b2db uxtb r3, r3 809e254: 461a mov r2, r3 809e256: 4b09 ldr r3, [pc, #36] ; (809e27c ) 809e258: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e25c: 22ae movs r2, #174 ; 0xae 809e25e: 2196 movs r1, #150 ; 0x96 809e260: 4618 mov r0, r3 809e262: f7b7 f8c9 bl 80553f8 DrawImage(&bmg_dB, 265, 180); 809e266: 22b4 movs r2, #180 ; 0xb4 809e268: f240 1109 movw r1, #265 ; 0x109 809e26c: 4805 ldr r0, [pc, #20] ; (809e284 ) 809e26e: f7b7 f8c3 bl 80553f8 809e272: e1dc b.n 809e62e 809e274: 51eb851f .word 0x51eb851f 809e278: cccccccd .word 0xcccccccd 809e27c: 20020124 .word 0x20020124 809e280: 0816be20 .word 0x0816be20 809e284: 0816706c .word 0x0816706c 809e288: 447a0000 .word 0x447a0000 if(f < 1000.0f) 809e28c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e290: ed1f 7a03 vldr s14, [pc, #-12] ; 809e288 809e294: eef4 7ac7 vcmpe.f32 s15, s14 809e298: eef1 fa10 vmrs APSR_nzcv, fpscr 809e29c: f140 81c7 bpl.w 809e62e ik[ipr][0] = (uint8_t) (k / 1000); 809e2a0: 6d3a ldr r2, [r7, #80] ; 0x50 809e2a2: 6dbb ldr r3, [r7, #88] ; 0x58 809e2a4: 49ca ldr r1, [pc, #808] ; (809e5d0 ) 809e2a6: fba1 1303 umull r1, r3, r1, r3 809e2aa: 099b lsrs r3, r3, #6 809e2ac: b2d9 uxtb r1, r3 809e2ae: 4613 mov r3, r2 809e2b0: 009b lsls r3, r3, #2 809e2b2: 4413 add r3, r2 809e2b4: f107 0268 add.w r2, r7, #104 ; 0x68 809e2b8: 4413 add r3, r2 809e2ba: 3b34 subs r3, #52 ; 0x34 809e2bc: 460a mov r2, r1 809e2be: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 809e2c0: 6d39 ldr r1, [r7, #80] ; 0x50 809e2c2: 6dba ldr r2, [r7, #88] ; 0x58 809e2c4: 4bc2 ldr r3, [pc, #776] ; (809e5d0 ) 809e2c6: fba3 0302 umull r0, r3, r3, r2 809e2ca: 099b lsrs r3, r3, #6 809e2cc: f44f 707a mov.w r0, #1000 ; 0x3e8 809e2d0: fb00 f303 mul.w r3, r0, r3 809e2d4: 1ad3 subs r3, r2, r3 809e2d6: 4abf ldr r2, [pc, #764] ; (809e5d4 ) 809e2d8: fba2 2303 umull r2, r3, r2, r3 809e2dc: 095b lsrs r3, r3, #5 809e2de: b2da uxtb r2, r3 809e2e0: 460b mov r3, r1 809e2e2: 009b lsls r3, r3, #2 809e2e4: 440b add r3, r1 809e2e6: f107 0168 add.w r1, r7, #104 ; 0x68 809e2ea: 440b add r3, r1 809e2ec: 3b33 subs r3, #51 ; 0x33 809e2ee: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 809e2f0: 6d39 ldr r1, [r7, #80] ; 0x50 809e2f2: 6dba ldr r2, [r7, #88] ; 0x58 809e2f4: 4bb6 ldr r3, [pc, #728] ; (809e5d0 ) 809e2f6: fba3 0302 umull r0, r3, r3, r2 809e2fa: 099b lsrs r3, r3, #6 809e2fc: f44f 707a mov.w r0, #1000 ; 0x3e8 809e300: fb00 f303 mul.w r3, r0, r3 809e304: 1ad3 subs r3, r2, r3 809e306: 4ab3 ldr r2, [pc, #716] ; (809e5d4 ) 809e308: fba2 0203 umull r0, r2, r2, r3 809e30c: 0952 lsrs r2, r2, #5 809e30e: 2064 movs r0, #100 ; 0x64 809e310: fb00 f202 mul.w r2, r0, r2 809e314: 1a9a subs r2, r3, r2 809e316: 4bb0 ldr r3, [pc, #704] ; (809e5d8 ) 809e318: fba3 2302 umull r2, r3, r3, r2 809e31c: 08db lsrs r3, r3, #3 809e31e: b2da uxtb r2, r3 809e320: 460b mov r3, r1 809e322: 009b lsls r3, r3, #2 809e324: 440b add r3, r1 809e326: f107 0168 add.w r1, r7, #104 ; 0x68 809e32a: 440b add r3, r1 809e32c: 3b32 subs r3, #50 ; 0x32 809e32e: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 809e330: 6d38 ldr r0, [r7, #80] ; 0x50 809e332: 6dba ldr r2, [r7, #88] ; 0x58 809e334: 4ba6 ldr r3, [pc, #664] ; (809e5d0 ) 809e336: fba3 1302 umull r1, r3, r3, r2 809e33a: 099b lsrs r3, r3, #6 809e33c: f44f 717a mov.w r1, #1000 ; 0x3e8 809e340: fb01 f303 mul.w r3, r1, r3 809e344: 1ad3 subs r3, r2, r3 809e346: 4aa3 ldr r2, [pc, #652] ; (809e5d4 ) 809e348: fba2 1203 umull r1, r2, r2, r3 809e34c: 0952 lsrs r2, r2, #5 809e34e: 2164 movs r1, #100 ; 0x64 809e350: fb01 f202 mul.w r2, r1, r2 809e354: 1a9a subs r2, r3, r2 809e356: 4ba0 ldr r3, [pc, #640] ; (809e5d8 ) 809e358: fba3 1302 umull r1, r3, r3, r2 809e35c: 08d9 lsrs r1, r3, #3 809e35e: 460b mov r3, r1 809e360: 009b lsls r3, r3, #2 809e362: 440b add r3, r1 809e364: 005b lsls r3, r3, #1 809e366: 1ad1 subs r1, r2, r3 809e368: b2ca uxtb r2, r1 809e36a: 4603 mov r3, r0 809e36c: 009b lsls r3, r3, #2 809e36e: 4403 add r3, r0 809e370: f107 0168 add.w r1, r7, #104 ; 0x68 809e374: 440b add r3, r1 809e376: 3b31 subs r3, #49 ; 0x31 809e378: 701a strb r2, [r3, #0] if(ipr == ACC) 809e37a: 6d3b ldr r3, [r7, #80] ; 0x50 809e37c: 2b00 cmp r3, #0 809e37e: d157 bne.n 809e430 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 809e380: 6d3a ldr r2, [r7, #80] ; 0x50 809e382: 4613 mov r3, r2 809e384: 009b lsls r3, r3, #2 809e386: 4413 add r3, r2 809e388: f107 0268 add.w r2, r7, #104 ; 0x68 809e38c: 4413 add r3, r2 809e38e: 3b31 subs r3, #49 ; 0x31 809e390: 781b ldrb r3, [r3, #0] 809e392: b2db uxtb r3, r3 809e394: 461a mov r2, r3 809e396: 4b91 ldr r3, [pc, #580] ; (809e5dc ) 809e398: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e39c: 2256 movs r2, #86 ; 0x56 809e39e: 21e6 movs r1, #230 ; 0xe6 809e3a0: 4618 mov r0, r3 809e3a2: f7b7 f829 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 92+18); 809e3a6: 226e movs r2, #110 ; 0x6e 809e3a8: 21d7 movs r1, #215 ; 0xd7 809e3aa: 488d ldr r0, [pc, #564] ; (809e5e0 ) 809e3ac: f7b7 f824 bl 80553f8 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 809e3b0: 6d3a ldr r2, [r7, #80] ; 0x50 809e3b2: 4613 mov r3, r2 809e3b4: 009b lsls r3, r3, #2 809e3b6: 4413 add r3, r2 809e3b8: f107 0268 add.w r2, r7, #104 ; 0x68 809e3bc: 4413 add r3, r2 809e3be: 3b32 subs r3, #50 ; 0x32 809e3c0: 781b ldrb r3, [r3, #0] 809e3c2: b2db uxtb r3, r3 809e3c4: 461a mov r2, r3 809e3c6: 4b85 ldr r3, [pc, #532] ; (809e5dc ) 809e3c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e3cc: 2256 movs r2, #86 ; 0x56 809e3ce: 21b4 movs r1, #180 ; 0xb4 809e3d0: 4618 mov r0, r3 809e3d2: f7b7 f811 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 809e3d6: 6d3a ldr r2, [r7, #80] ; 0x50 809e3d8: 4613 mov r3, r2 809e3da: 009b lsls r3, r3, #2 809e3dc: 4413 add r3, r2 809e3de: f107 0268 add.w r2, r7, #104 ; 0x68 809e3e2: 4413 add r3, r2 809e3e4: 3b33 subs r3, #51 ; 0x33 809e3e6: 781b ldrb r3, [r3, #0] 809e3e8: b2db uxtb r3, r3 809e3ea: 461a mov r2, r3 809e3ec: 4b7b ldr r3, [pc, #492] ; (809e5dc ) 809e3ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e3f2: 2256 movs r2, #86 ; 0x56 809e3f4: 2196 movs r1, #150 ; 0x96 809e3f6: 4618 mov r0, r3 809e3f8: f7b6 fffe bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 809e3fc: 6d3a ldr r2, [r7, #80] ; 0x50 809e3fe: 4613 mov r3, r2 809e400: 009b lsls r3, r3, #2 809e402: 4413 add r3, r2 809e404: f107 0268 add.w r2, r7, #104 ; 0x68 809e408: 4413 add r3, r2 809e40a: 3b34 subs r3, #52 ; 0x34 809e40c: 781b ldrb r3, [r3, #0] 809e40e: b2db uxtb r3, r3 809e410: 461a mov r2, r3 809e412: 4b72 ldr r3, [pc, #456] ; (809e5dc ) 809e414: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e418: 2256 movs r2, #86 ; 0x56 809e41a: 2178 movs r1, #120 ; 0x78 809e41c: 4618 mov r0, r3 809e41e: f7b6 ffeb bl 80553f8 DrawImage(&bmg_dB, 265, 74+18); 809e422: 225c movs r2, #92 ; 0x5c 809e424: f240 1109 movw r1, #265 ; 0x109 809e428: 486e ldr r0, [pc, #440] ; (809e5e4 ) 809e42a: f7b6 ffe5 bl 80553f8 809e42e: e0fe b.n 809e62e if(ipr == VEL) 809e430: 6d3b ldr r3, [r7, #80] ; 0x50 809e432: 2b01 cmp r3, #1 809e434: d157 bne.n 809e4e6 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 809e436: 6d3a ldr r2, [r7, #80] ; 0x50 809e438: 4613 mov r3, r2 809e43a: 009b lsls r3, r3, #2 809e43c: 4413 add r3, r2 809e43e: f107 0268 add.w r2, r7, #104 ; 0x68 809e442: 4413 add r3, r2 809e444: 3b31 subs r3, #49 ; 0x31 809e446: 781b ldrb r3, [r3, #0] 809e448: b2db uxtb r3, r3 809e44a: 461a mov r2, r3 809e44c: 4b63 ldr r3, [pc, #396] ; (809e5dc ) 809e44e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e452: 2282 movs r2, #130 ; 0x82 809e454: 21e6 movs r1, #230 ; 0xe6 809e456: 4618 mov r0, r3 809e458: f7b6 ffce bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 145+9); 809e45c: 229a movs r2, #154 ; 0x9a 809e45e: 21d7 movs r1, #215 ; 0xd7 809e460: 485f ldr r0, [pc, #380] ; (809e5e0 ) 809e462: f7b6 ffc9 bl 80553f8 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 809e466: 6d3a ldr r2, [r7, #80] ; 0x50 809e468: 4613 mov r3, r2 809e46a: 009b lsls r3, r3, #2 809e46c: 4413 add r3, r2 809e46e: f107 0268 add.w r2, r7, #104 ; 0x68 809e472: 4413 add r3, r2 809e474: 3b32 subs r3, #50 ; 0x32 809e476: 781b ldrb r3, [r3, #0] 809e478: b2db uxtb r3, r3 809e47a: 461a mov r2, r3 809e47c: 4b57 ldr r3, [pc, #348] ; (809e5dc ) 809e47e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e482: 2282 movs r2, #130 ; 0x82 809e484: 21b4 movs r1, #180 ; 0xb4 809e486: 4618 mov r0, r3 809e488: f7b6 ffb6 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 809e48c: 6d3a ldr r2, [r7, #80] ; 0x50 809e48e: 4613 mov r3, r2 809e490: 009b lsls r3, r3, #2 809e492: 4413 add r3, r2 809e494: f107 0268 add.w r2, r7, #104 ; 0x68 809e498: 4413 add r3, r2 809e49a: 3b33 subs r3, #51 ; 0x33 809e49c: 781b ldrb r3, [r3, #0] 809e49e: b2db uxtb r3, r3 809e4a0: 461a mov r2, r3 809e4a2: 4b4e ldr r3, [pc, #312] ; (809e5dc ) 809e4a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e4a8: 2282 movs r2, #130 ; 0x82 809e4aa: 2196 movs r1, #150 ; 0x96 809e4ac: 4618 mov r0, r3 809e4ae: f7b6 ffa3 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 809e4b2: 6d3a ldr r2, [r7, #80] ; 0x50 809e4b4: 4613 mov r3, r2 809e4b6: 009b lsls r3, r3, #2 809e4b8: 4413 add r3, r2 809e4ba: f107 0268 add.w r2, r7, #104 ; 0x68 809e4be: 4413 add r3, r2 809e4c0: 3b34 subs r3, #52 ; 0x34 809e4c2: 781b ldrb r3, [r3, #0] 809e4c4: b2db uxtb r3, r3 809e4c6: 461a mov r2, r3 809e4c8: 4b44 ldr r3, [pc, #272] ; (809e5dc ) 809e4ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e4ce: 2282 movs r2, #130 ; 0x82 809e4d0: 2178 movs r1, #120 ; 0x78 809e4d2: 4618 mov r0, r3 809e4d4: f7b6 ff90 bl 80553f8 DrawImage(&bmg_dB, 265, 128+9); 809e4d8: 2289 movs r2, #137 ; 0x89 809e4da: f240 1109 movw r1, #265 ; 0x109 809e4de: 4841 ldr r0, [pc, #260] ; (809e5e4 ) 809e4e0: f7b6 ff8a bl 80553f8 809e4e4: e0a3 b.n 809e62e if(ipr == DIS) 809e4e6: 6d3b ldr r3, [r7, #80] ; 0x50 809e4e8: 2b02 cmp r3, #2 809e4ea: f040 80a0 bne.w 809e62e DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 809e4ee: 6d3a ldr r2, [r7, #80] ; 0x50 809e4f0: 4613 mov r3, r2 809e4f2: 009b lsls r3, r3, #2 809e4f4: 4413 add r3, r2 809e4f6: f107 0268 add.w r2, r7, #104 ; 0x68 809e4fa: 4413 add r3, r2 809e4fc: 3b31 subs r3, #49 ; 0x31 809e4fe: 781b ldrb r3, [r3, #0] 809e500: b2db uxtb r3, r3 809e502: 461a mov r2, r3 809e504: 4b35 ldr r3, [pc, #212] ; (809e5dc ) 809e506: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e50a: 22ae movs r2, #174 ; 0xae 809e50c: 21e6 movs r1, #230 ; 0xe6 809e50e: 4618 mov r0, r3 809e510: f7b6 ff72 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 198); 809e514: 22c6 movs r2, #198 ; 0xc6 809e516: 21d7 movs r1, #215 ; 0xd7 809e518: 4831 ldr r0, [pc, #196] ; (809e5e0 ) 809e51a: f7b6 ff6d bl 80553f8 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 809e51e: 6d3a ldr r2, [r7, #80] ; 0x50 809e520: 4613 mov r3, r2 809e522: 009b lsls r3, r3, #2 809e524: 4413 add r3, r2 809e526: f107 0268 add.w r2, r7, #104 ; 0x68 809e52a: 4413 add r3, r2 809e52c: 3b32 subs r3, #50 ; 0x32 809e52e: 781b ldrb r3, [r3, #0] 809e530: b2db uxtb r3, r3 809e532: 461a mov r2, r3 809e534: 4b29 ldr r3, [pc, #164] ; (809e5dc ) 809e536: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e53a: 22ae movs r2, #174 ; 0xae 809e53c: 21b4 movs r1, #180 ; 0xb4 809e53e: 4618 mov r0, r3 809e540: f7b6 ff5a bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 809e544: 6d3a ldr r2, [r7, #80] ; 0x50 809e546: 4613 mov r3, r2 809e548: 009b lsls r3, r3, #2 809e54a: 4413 add r3, r2 809e54c: f107 0268 add.w r2, r7, #104 ; 0x68 809e550: 4413 add r3, r2 809e552: 3b33 subs r3, #51 ; 0x33 809e554: 781b ldrb r3, [r3, #0] 809e556: b2db uxtb r3, r3 809e558: 461a mov r2, r3 809e55a: 4b20 ldr r3, [pc, #128] ; (809e5dc ) 809e55c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e560: 22ae movs r2, #174 ; 0xae 809e562: 2196 movs r1, #150 ; 0x96 809e564: 4618 mov r0, r3 809e566: f7b6 ff47 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 809e56a: 6d3a ldr r2, [r7, #80] ; 0x50 809e56c: 4613 mov r3, r2 809e56e: 009b lsls r3, r3, #2 809e570: 4413 add r3, r2 809e572: f107 0268 add.w r2, r7, #104 ; 0x68 809e576: 4413 add r3, r2 809e578: 3b34 subs r3, #52 ; 0x34 809e57a: 781b ldrb r3, [r3, #0] 809e57c: b2db uxtb r3, r3 809e57e: 461a mov r2, r3 809e580: 4b16 ldr r3, [pc, #88] ; (809e5dc ) 809e582: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e586: 22ae movs r2, #174 ; 0xae 809e588: 2178 movs r1, #120 ; 0x78 809e58a: 4618 mov r0, r3 809e58c: f7b6 ff34 bl 80553f8 DrawImage(&bmg_dB, 265, 180); 809e590: 22b4 movs r2, #180 ; 0xb4 809e592: f240 1109 movw r1, #265 ; 0x109 809e596: 4813 ldr r0, [pc, #76] ; (809e5e4 ) 809e598: f7b6 ff2e bl 80553f8 809e59c: e047 b.n 809e62e if(ipr == VEL) 809e59e: 6d3b ldr r3, [r7, #80] ; 0x50 809e5a0: 2b01 cmp r3, #1 809e5a2: d12b bne.n 809e5fc LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809e5a4: 4910 ldr r1, [pc, #64] ; (809e5e8 ) 809e5a6: 4811 ldr r0, [pc, #68] ; (809e5ec ) 809e5a8: f7b6 f832 bl 8054610 if(pardata.LANG == RUS) 809e5ac: 4b10 ldr r3, [pc, #64] ; (809e5f0 ) 809e5ae: 7b1b ldrb r3, [r3, #12] 809e5b0: b2db uxtb r3, r3 809e5b2: 2b00 cmp r3, #0 809e5b4: d105 bne.n 809e5c2 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809e5b6: 4a0f ldr r2, [pc, #60] ; (809e5f4 ) 809e5b8: 2187 movs r1, #135 ; 0x87 809e5ba: 20a7 movs r0, #167 ; 0xa7 809e5bc: f7b6 fde8 bl 8055190 809e5c0: e035 b.n 809e62e else LCD_DisplayStringC(167, 135, "NO DATA"); 809e5c2: 4a0d ldr r2, [pc, #52] ; (809e5f8 ) 809e5c4: 2187 movs r1, #135 ; 0x87 809e5c6: 20a7 movs r0, #167 ; 0xa7 809e5c8: f7b6 fde2 bl 8055190 809e5cc: e02f b.n 809e62e 809e5ce: bf00 nop 809e5d0: 10624dd3 .word 0x10624dd3 809e5d4: 51eb851f .word 0x51eb851f 809e5d8: cccccccd .word 0xcccccccd 809e5dc: 20020124 .word 0x20020124 809e5e0: 0816be20 .word 0x0816be20 809e5e4: 0816706c .word 0x0816706c 809e5e8: ff0a0f1f .word 0xff0a0f1f 809e5ec: ffb8e828 .word 0xffb8e828 809e5f0: 20023ea8 .word 0x20023ea8 809e5f4: 080d3e64 .word 0x080d3e64 809e5f8: 080d3e70 .word 0x080d3e70 if(ipr == DIS) 809e5fc: 6d3b ldr r3, [r7, #80] ; 0x50 809e5fe: 2b02 cmp r3, #2 809e600: d115 bne.n 809e62e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809e602: 49cb ldr r1, [pc, #812] ; (809e930 ) 809e604: 48cb ldr r0, [pc, #812] ; (809e934 ) 809e606: f7b6 f803 bl 8054610 if(pardata.LANG == RUS) 809e60a: 4bcb ldr r3, [pc, #812] ; (809e938 ) 809e60c: 7b1b ldrb r3, [r3, #12] 809e60e: b2db uxtb r3, r3 809e610: 2b00 cmp r3, #0 809e612: d105 bne.n 809e620 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809e614: 4ac9 ldr r2, [pc, #804] ; (809e93c ) 809e616: 21b9 movs r1, #185 ; 0xb9 809e618: 20a7 movs r0, #167 ; 0xa7 809e61a: f7b6 fdb9 bl 8055190 809e61e: e006 b.n 809e62e else LCD_DisplayStringC(167, 185, "NO DATA"); 809e620: 4ac7 ldr r2, [pc, #796] ; (809e940 ) 809e622: 21b9 movs r1, #185 ; 0xb9 809e624: 20a7 movs r0, #167 ; 0xa7 809e626: f7b6 fdb3 bl 8055190 809e62a: e000 b.n 809e62e if(ipr == ACC) 809e62c: bf00 nop for(ipr = ACC; ipr <= DIS; ipr++) 809e62e: 6d3b ldr r3, [r7, #80] ; 0x50 809e630: 3301 adds r3, #1 809e632: 653b str r3, [r7, #80] ; 0x50 809e634: 6d3b ldr r3, [r7, #80] ; 0x50 809e636: 2b02 cmp r3, #2 809e638: f67e ae78 bls.w 809d32c break; 809e63c: f006 ba3a b.w 80a4ab4 if(NextIndexMeas < IndexMeas[NextIndexPoint]) 809e640: 4bc0 ldr r3, [pc, #768] ; (809e944 ) 809e642: 681b ldr r3, [r3, #0] 809e644: 4ac0 ldr r2, [pc, #768] ; (809e948 ) 809e646: f852 2023 ldr.w r2, [r2, r3, lsl #2] 809e64a: 4bc0 ldr r3, [pc, #768] ; (809e94c ) 809e64c: 681b ldr r3, [r3, #0] 809e64e: 429a cmp r2, r3 809e650: d905 bls.n 809e65e DrawImage(&bmSAVED, 298, 39); 809e652: 2227 movs r2, #39 ; 0x27 809e654: f44f 7195 mov.w r1, #298 ; 0x12a 809e658: 48bd ldr r0, [pc, #756] ; (809e950 ) 809e65a: f7b6 fecd bl 80553f8 DrawDetectorType(); //TODO 809e65e: f7fa fe21 bl 80992a4 if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (!timeRelax)) // 809e662: 4bbc ldr r3, [pc, #752] ; (809e954 ) 809e664: 781b ldrb r3, [r3, #0] 809e666: b2db uxtb r3, r3 809e668: f083 0301 eor.w r3, r3, #1 809e66c: b2db uxtb r3, r3 809e66e: 2b00 cmp r3, #0 809e670: f006 8220 beq.w 80a4ab4 809e674: 4bb8 ldr r3, [pc, #736] ; (809e958 ) 809e676: 781b ldrb r3, [r3, #0] 809e678: b2db uxtb r3, r3 809e67a: f083 0301 eor.w r3, r3, #1 809e67e: b2db uxtb r3, r3 809e680: 2b00 cmp r3, #0 809e682: f006 8217 beq.w 80a4ab4 809e686: 4bb5 ldr r3, [pc, #724] ; (809e95c ) 809e688: 881b ldrh r3, [r3, #0] 809e68a: b29b uxth r3, r3 809e68c: 009b lsls r3, r3, #2 809e68e: 461a mov r2, r3 809e690: 4bb3 ldr r3, [pc, #716] ; (809e960 ) 809e692: 681b ldr r3, [r3, #0] 809e694: 429a cmp r2, r3 809e696: f086 820d bcs.w 80a4ab4 809e69a: 4bb2 ldr r3, [pc, #712] ; (809e964 ) 809e69c: 681b ldr r3, [r3, #0] 809e69e: 2b00 cmp r3, #0 809e6a0: f046 8208 bne.w 80a4ab4 switch(pardata.SYG) 809e6a4: 4ba4 ldr r3, [pc, #656] ; (809e938 ) 809e6a6: 781b ldrb r3, [r3, #0] 809e6a8: b2db uxtb r3, r3 809e6aa: 2b00 cmp r3, #0 809e6ac: d001 beq.n 809e6b2 break; 809e6ae: f006 ba01 b.w 80a4ab4 if(log == false) // Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 809e6b2: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 809e6b6: f083 0301 eor.w r3, r3, #1 809e6ba: b2db uxtb r3, r3 809e6bc: 2b00 cmp r3, #0 809e6be: f000 85b5 beq.w 809f22c for(ipr = ACC; ipr <= DIS; ipr++) 809e6c2: 2300 movs r3, #0 809e6c4: 653b str r3, [r7, #80] ; 0x50 809e6c6: f000 bdab b.w 809f220 memset(str, 0, sizeof(str)); 809e6ca: f107 030c add.w r3, r7, #12 809e6ce: 2228 movs r2, #40 ; 0x28 809e6d0: 2100 movs r1, #0 809e6d2: 4618 mov r0, r3 809e6d4: f032 fe64 bl 80d13a0 f = ABS(skz[ipr]); 809e6d8: 6d3b ldr r3, [r7, #80] ; 0x50 809e6da: 4aa3 ldr r2, [pc, #652] ; (809e968 ) 809e6dc: 009b lsls r3, r3, #2 809e6de: 4413 add r3, r2 809e6e0: edd3 7a00 vldr s15, [r3] 809e6e4: eef5 7ac0 vcmpe.f32 s15, #0.0 809e6e8: eef1 fa10 vmrs APSR_nzcv, fpscr 809e6ec: dd06 ble.n 809e6fc 809e6ee: 6d3b ldr r3, [r7, #80] ; 0x50 809e6f0: 4a9d ldr r2, [pc, #628] ; (809e968 ) 809e6f2: 009b lsls r3, r3, #2 809e6f4: 4413 add r3, r2 809e6f6: edd3 7a00 vldr s15, [r3] 809e6fa: e007 b.n 809e70c 809e6fc: 6d3b ldr r3, [r7, #80] ; 0x50 809e6fe: 4a9a ldr r2, [pc, #616] ; (809e968 ) 809e700: 009b lsls r3, r3, #2 809e702: 4413 add r3, r2 809e704: edd3 7a00 vldr s15, [r3] 809e708: eef1 7a67 vneg.f32 s15, s15 809e70c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 809e710: 6d3b ldr r3, [r7, #80] ; 0x50 809e712: 2b01 cmp r3, #1 809e714: f200 80af bhi.w 809e876 if(f < 10.0f) 809e718: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e71c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e720: eef4 7ac7 vcmpe.f32 s15, s14 809e724: eef1 fa10 vmrs APSR_nzcv, fpscr 809e728: d513 bpl.n 809e752 k = (uint32_t) (roundf(f * 10000)); 809e72a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e72e: ed9f 7a93 vldr s14, [pc, #588] ; 809e97c 809e732: ee67 7a87 vmul.f32 s15, s15, s14 809e736: eeb0 0a67 vmov.f32 s0, s15 809e73a: f030 fc33 bl 80cefa4 809e73e: eef0 7a40 vmov.f32 s15, s0 809e742: eefc 7ae7 vcvt.u32.f32 s15, s15 809e746: ee17 3a90 vmov r3, s15 809e74a: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809e74c: 2301 movs r3, #1 809e74e: 657b str r3, [r7, #84] ; 0x54 809e750: e1dd b.n 809eb0e if(f < 100.0f) 809e752: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e756: ed9f 7a85 vldr s14, [pc, #532] ; 809e96c 809e75a: eef4 7ac7 vcmpe.f32 s15, s14 809e75e: eef1 fa10 vmrs APSR_nzcv, fpscr 809e762: d513 bpl.n 809e78c k = (uint32_t) (roundf(f * 1000)); 809e764: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e768: ed9f 7a81 vldr s14, [pc, #516] ; 809e970 809e76c: ee67 7a87 vmul.f32 s15, s15, s14 809e770: eeb0 0a67 vmov.f32 s0, s15 809e774: f030 fc16 bl 80cefa4 809e778: eef0 7a40 vmov.f32 s15, s0 809e77c: eefc 7ae7 vcvt.u32.f32 s15, s15 809e780: ee17 3a90 vmov r3, s15 809e784: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809e786: 2302 movs r3, #2 809e788: 657b str r3, [r7, #84] ; 0x54 809e78a: e1c0 b.n 809eb0e if(f < 1000.0f) 809e78c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e790: ed9f 7a77 vldr s14, [pc, #476] ; 809e970 809e794: eef4 7ac7 vcmpe.f32 s15, s14 809e798: eef1 fa10 vmrs APSR_nzcv, fpscr 809e79c: d513 bpl.n 809e7c6 k = (uint32_t) (roundf(f * 100)); 809e79e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e7a2: ed9f 7a72 vldr s14, [pc, #456] ; 809e96c 809e7a6: ee67 7a87 vmul.f32 s15, s15, s14 809e7aa: eeb0 0a67 vmov.f32 s0, s15 809e7ae: f030 fbf9 bl 80cefa4 809e7b2: eef0 7a40 vmov.f32 s15, s0 809e7b6: eefc 7ae7 vcvt.u32.f32 s15, s15 809e7ba: ee17 3a90 vmov r3, s15 809e7be: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809e7c0: 2303 movs r3, #3 809e7c2: 657b str r3, [r7, #84] ; 0x54 809e7c4: e1a3 b.n 809eb0e if(f < 10000.0f) 809e7c6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e7ca: ed9f 7a6c vldr s14, [pc, #432] ; 809e97c 809e7ce: eef4 7ac7 vcmpe.f32 s15, s14 809e7d2: eef1 fa10 vmrs APSR_nzcv, fpscr 809e7d6: d513 bpl.n 809e800 k = (uint32_t) (roundf(f * 10)); 809e7d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e7dc: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e7e0: ee67 7a87 vmul.f32 s15, s15, s14 809e7e4: eeb0 0a67 vmov.f32 s0, s15 809e7e8: f030 fbdc bl 80cefa4 809e7ec: eef0 7a40 vmov.f32 s15, s0 809e7f0: eefc 7ae7 vcvt.u32.f32 s15, s15 809e7f4: ee17 3a90 vmov r3, s15 809e7f8: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809e7fa: 2304 movs r3, #4 809e7fc: 657b str r3, [r7, #84] ; 0x54 809e7fe: e186 b.n 809eb0e if(f < 100000.0f) 809e800: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e804: ed9f 7a5e vldr s14, [pc, #376] ; 809e980 809e808: eef4 7ac7 vcmpe.f32 s15, s14 809e80c: eef1 fa10 vmrs APSR_nzcv, fpscr 809e810: d515 bpl.n 809e83e k = (uint32_t) (roundf(f)); 809e812: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e816: eeb0 0a67 vmov.f32 s0, s15 809e81a: f030 fbc3 bl 80cefa4 809e81e: eef0 7a40 vmov.f32 s15, s0 809e822: eefc 7ae7 vcvt.u32.f32 s15, s15 809e826: ee17 3a90 vmov r3, s15 809e82a: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809e82c: 6dbb ldr r3, [r7, #88] ; 0x58 809e82e: 4a51 ldr r2, [pc, #324] ; (809e974 ) 809e830: 4293 cmp r3, r2 809e832: d901 bls.n 809e838 k = 99999; 809e834: 4b4f ldr r3, [pc, #316] ; (809e974 ) 809e836: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e838: 2300 movs r3, #0 809e83a: 657b str r3, [r7, #84] ; 0x54 809e83c: e167 b.n 809eb0e if(f >= 100000.0f) 809e83e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e842: ed9f 7a4f vldr s14, [pc, #316] ; 809e980 809e846: eef4 7ac7 vcmpe.f32 s15, s14 809e84a: eef1 fa10 vmrs APSR_nzcv, fpscr 809e84e: f2c0 815e blt.w 809eb0e f = 99999.0f; 809e852: 4b49 ldr r3, [pc, #292] ; (809e978 ) 809e854: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809e856: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e85a: eeb0 0a67 vmov.f32 s0, s15 809e85e: f030 fba1 bl 80cefa4 809e862: eef0 7a40 vmov.f32 s15, s0 809e866: eefc 7ae7 vcvt.u32.f32 s15, s15 809e86a: ee17 3a90 vmov r3, s15 809e86e: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e870: 2300 movs r3, #0 809e872: 657b str r3, [r7, #84] ; 0x54 809e874: e14b b.n 809eb0e if(f < 10.0f) 809e876: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e87a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e87e: eef4 7ac7 vcmpe.f32 s15, s14 809e882: eef1 fa10 vmrs APSR_nzcv, fpscr 809e886: d515 bpl.n 809e8b4 k = (uint32_t) (roundf(f * 10000)); 809e888: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e88c: ed9f 7a3b vldr s14, [pc, #236] ; 809e97c 809e890: ee67 7a87 vmul.f32 s15, s15, s14 809e894: eeb0 0a67 vmov.f32 s0, s15 809e898: f030 fb84 bl 80cefa4 809e89c: eef0 7a40 vmov.f32 s15, s0 809e8a0: eefc 7ae7 vcvt.u32.f32 s15, s15 809e8a4: ee17 3a90 vmov r3, s15 809e8a8: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809e8aa: 2301 movs r3, #1 809e8ac: 657b str r3, [r7, #84] ; 0x54 m = 0; 809e8ae: 2300 movs r3, #0 809e8b0: 64fb str r3, [r7, #76] ; 0x4c 809e8b2: e12c b.n 809eb0e if(f < 100.0f) 809e8b4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e8b8: ed9f 7a2c vldr s14, [pc, #176] ; 809e96c 809e8bc: eef4 7ac7 vcmpe.f32 s15, s14 809e8c0: eef1 fa10 vmrs APSR_nzcv, fpscr 809e8c4: d515 bpl.n 809e8f2 k = (uint32_t) (roundf(f * 1000)); 809e8c6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e8ca: ed9f 7a29 vldr s14, [pc, #164] ; 809e970 809e8ce: ee67 7a87 vmul.f32 s15, s15, s14 809e8d2: eeb0 0a67 vmov.f32 s0, s15 809e8d6: f030 fb65 bl 80cefa4 809e8da: eef0 7a40 vmov.f32 s15, s0 809e8de: eefc 7ae7 vcvt.u32.f32 s15, s15 809e8e2: ee17 3a90 vmov r3, s15 809e8e6: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809e8e8: 2302 movs r3, #2 809e8ea: 657b str r3, [r7, #84] ; 0x54 m = 0; 809e8ec: 2300 movs r3, #0 809e8ee: 64fb str r3, [r7, #76] ; 0x4c 809e8f0: e10d b.n 809eb0e if(f < 1000.0f) 809e8f2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e8f6: ed9f 7a1e vldr s14, [pc, #120] ; 809e970 809e8fa: eef4 7ac7 vcmpe.f32 s15, s14 809e8fe: eef1 fa10 vmrs APSR_nzcv, fpscr 809e902: d54b bpl.n 809e99c k = (uint32_t) (roundf(f * 100)); 809e904: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e908: ed9f 7a18 vldr s14, [pc, #96] ; 809e96c 809e90c: ee67 7a87 vmul.f32 s15, s15, s14 809e910: eeb0 0a67 vmov.f32 s0, s15 809e914: f030 fb46 bl 80cefa4 809e918: eef0 7a40 vmov.f32 s15, s0 809e91c: eefc 7ae7 vcvt.u32.f32 s15, s15 809e920: ee17 3a90 vmov r3, s15 809e924: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809e926: 2303 movs r3, #3 809e928: 657b str r3, [r7, #84] ; 0x54 m = 0; 809e92a: 2300 movs r3, #0 809e92c: 64fb str r3, [r7, #76] ; 0x4c 809e92e: e0ee b.n 809eb0e 809e930: ff0a0f1f .word 0xff0a0f1f 809e934: ffb8e828 .word 0xffb8e828 809e938: 20023ea8 .word 0x20023ea8 809e93c: 080d3e64 .word 0x080d3e64 809e940: 080d3e70 .word 0x080d3e70 809e944: 20021fe4 .word 0x20021fe4 809e948: 20022ee8 .word 0x20022ee8 809e94c: 20022358 .word 0x20022358 809e950: 0814be4c .word 0x0814be4c 809e954: 20020dd2 .word 0x20020dd2 809e958: 20020dcc .word 0x20020dcc 809e95c: 20021d68 .word 0x20021d68 809e960: 20020dc8 .word 0x20020dc8 809e964: 20020d8c .word 0x20020d8c 809e968: 20021588 .word 0x20021588 809e96c: 42c80000 .word 0x42c80000 809e970: 447a0000 .word 0x447a0000 809e974: 0001869f .word 0x0001869f 809e978: 47c34f80 .word 0x47c34f80 809e97c: 461c4000 .word 0x461c4000 809e980: 47c35000 .word 0x47c35000 809e984: 49742400 .word 0x49742400 809e988: 3dcccccd .word 0x3dcccccd 809e98c: 4b189680 .word 0x4b189680 809e990: 3c23d70a .word 0x3c23d70a 809e994: 4cbebc20 .word 0x4cbebc20 809e998: 3a83126f .word 0x3a83126f if(f < 10000.0f) 809e99c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e9a0: ed1f 7a0a vldr s14, [pc, #-40] ; 809e97c 809e9a4: eef4 7ac7 vcmpe.f32 s15, s14 809e9a8: eef1 fa10 vmrs APSR_nzcv, fpscr 809e9ac: d515 bpl.n 809e9da k = (uint32_t) (roundf(f * 10)); 809e9ae: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e9b2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e9b6: ee67 7a87 vmul.f32 s15, s15, s14 809e9ba: eeb0 0a67 vmov.f32 s0, s15 809e9be: f030 faf1 bl 80cefa4 809e9c2: eef0 7a40 vmov.f32 s15, s0 809e9c6: eefc 7ae7 vcvt.u32.f32 s15, s15 809e9ca: ee17 3a90 vmov r3, s15 809e9ce: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809e9d0: 2301 movs r3, #1 809e9d2: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e9d4: 2301 movs r3, #1 809e9d6: 64fb str r3, [r7, #76] ; 0x4c 809e9d8: e099 b.n 809eb0e if(f < 100000.0f) 809e9da: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e9de: ed1f 7a18 vldr s14, [pc, #-96] ; 809e980 809e9e2: eef4 7ac7 vcmpe.f32 s15, s14 809e9e6: eef1 fa10 vmrs APSR_nzcv, fpscr 809e9ea: d511 bpl.n 809ea10 k = (uint32_t) (roundf(f)); 809e9ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e9f0: eeb0 0a67 vmov.f32 s0, s15 809e9f4: f030 fad6 bl 80cefa4 809e9f8: eef0 7a40 vmov.f32 s15, s0 809e9fc: eefc 7ae7 vcvt.u32.f32 s15, s15 809ea00: ee17 3a90 vmov r3, s15 809ea04: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809ea06: 2302 movs r3, #2 809ea08: 657b str r3, [r7, #84] ; 0x54 m = 1; 809ea0a: 2301 movs r3, #1 809ea0c: 64fb str r3, [r7, #76] ; 0x4c 809ea0e: e07e b.n 809eb0e if(f < 1000000.0f) 809ea10: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ea14: ed1f 7a25 vldr s14, [pc, #-148] ; 809e984 809ea18: eef4 7ac7 vcmpe.f32 s15, s14 809ea1c: eef1 fa10 vmrs APSR_nzcv, fpscr 809ea20: d515 bpl.n 809ea4e k = (uint32_t) (roundf(f * 0.1f)); 809ea22: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ea26: ed1f 7a28 vldr s14, [pc, #-160] ; 809e988 809ea2a: ee67 7a87 vmul.f32 s15, s15, s14 809ea2e: eeb0 0a67 vmov.f32 s0, s15 809ea32: f030 fab7 bl 80cefa4 809ea36: eef0 7a40 vmov.f32 s15, s0 809ea3a: eefc 7ae7 vcvt.u32.f32 s15, s15 809ea3e: ee17 3a90 vmov r3, s15 809ea42: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809ea44: 2303 movs r3, #3 809ea46: 657b str r3, [r7, #84] ; 0x54 m = 1; 809ea48: 2301 movs r3, #1 809ea4a: 64fb str r3, [r7, #76] ; 0x4c 809ea4c: e05f b.n 809eb0e if(f < 10000000.0f) 809ea4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ea52: ed1f 7a32 vldr s14, [pc, #-200] ; 809e98c 809ea56: eef4 7ac7 vcmpe.f32 s15, s14 809ea5a: eef1 fa10 vmrs APSR_nzcv, fpscr 809ea5e: d515 bpl.n 809ea8c k = (uint32_t) (roundf(f * 0.01f)); 809ea60: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ea64: ed1f 7a36 vldr s14, [pc, #-216] ; 809e990 809ea68: ee67 7a87 vmul.f32 s15, s15, s14 809ea6c: eeb0 0a67 vmov.f32 s0, s15 809ea70: f030 fa98 bl 80cefa4 809ea74: eef0 7a40 vmov.f32 s15, s0 809ea78: eefc 7ae7 vcvt.u32.f32 s15, s15 809ea7c: ee17 3a90 vmov r3, s15 809ea80: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809ea82: 2304 movs r3, #4 809ea84: 657b str r3, [r7, #84] ; 0x54 m = 1; 809ea86: 2301 movs r3, #1 809ea88: 64fb str r3, [r7, #76] ; 0x4c 809ea8a: e040 b.n 809eb0e if(f < 100000000.0f) 809ea8c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ea90: ed1f 7a40 vldr s14, [pc, #-256] ; 809e994 809ea94: eef4 7ac7 vcmpe.f32 s15, s14 809ea98: eef1 fa10 vmrs APSR_nzcv, fpscr 809ea9c: d51b bpl.n 809ead6 k = (uint32_t) (roundf(f * 0.001f)); 809ea9e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809eaa2: ed1f 7a43 vldr s14, [pc, #-268] ; 809e998 809eaa6: ee67 7a87 vmul.f32 s15, s15, s14 809eaaa: eeb0 0a67 vmov.f32 s0, s15 809eaae: f030 fa79 bl 80cefa4 809eab2: eef0 7a40 vmov.f32 s15, s0 809eab6: eefc 7ae7 vcvt.u32.f32 s15, s15 809eaba: ee17 3a90 vmov r3, s15 809eabe: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809eac0: 6dbb ldr r3, [r7, #88] ; 0x58 809eac2: 4aba ldr r2, [pc, #744] ; (809edac ) 809eac4: 4293 cmp r3, r2 809eac6: d901 bls.n 809eacc k = 99999; 809eac8: 4bb8 ldr r3, [pc, #736] ; (809edac ) 809eaca: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809eacc: 2300 movs r3, #0 809eace: 657b str r3, [r7, #84] ; 0x54 m = 1; 809ead0: 2301 movs r3, #1 809ead2: 64fb str r3, [r7, #76] ; 0x4c 809ead4: e01b b.n 809eb0e if(f >= 100000000.0f) 809ead6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809eada: ed9f 7ab5 vldr s14, [pc, #724] ; 809edb0 809eade: eef4 7ac7 vcmpe.f32 s15, s14 809eae2: eef1 fa10 vmrs APSR_nzcv, fpscr 809eae6: db12 blt.n 809eb0e f = 99999.0f; 809eae8: 4bb2 ldr r3, [pc, #712] ; (809edb4 ) 809eaea: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809eaec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809eaf0: eeb0 0a67 vmov.f32 s0, s15 809eaf4: f030 fa56 bl 80cefa4 809eaf8: eef0 7a40 vmov.f32 s15, s0 809eafc: eefc 7ae7 vcvt.u32.f32 s15, s15 809eb00: ee17 3a90 vmov r3, s15 809eb04: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809eb06: 2300 movs r3, #0 809eb08: 657b str r3, [r7, #84] ; 0x54 m = 1; 809eb0a: 2301 movs r3, #1 809eb0c: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809eb0e: 6d3a ldr r2, [r7, #80] ; 0x50 809eb10: 6dbb ldr r3, [r7, #88] ; 0x58 809eb12: 49a9 ldr r1, [pc, #676] ; (809edb8 ) 809eb14: fba1 1303 umull r1, r3, r1, r3 809eb18: 0b5b lsrs r3, r3, #13 809eb1a: b2d9 uxtb r1, r3 809eb1c: 4613 mov r3, r2 809eb1e: 009b lsls r3, r3, #2 809eb20: 4413 add r3, r2 809eb22: f107 0268 add.w r2, r7, #104 ; 0x68 809eb26: 4413 add r3, r2 809eb28: 3b34 subs r3, #52 ; 0x34 809eb2a: 460a mov r2, r1 809eb2c: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809eb2e: 6d39 ldr r1, [r7, #80] ; 0x50 809eb30: 6dba ldr r2, [r7, #88] ; 0x58 809eb32: 4ba1 ldr r3, [pc, #644] ; (809edb8 ) 809eb34: fba3 0302 umull r0, r3, r3, r2 809eb38: 0b5b lsrs r3, r3, #13 809eb3a: f242 7010 movw r0, #10000 ; 0x2710 809eb3e: fb00 f303 mul.w r3, r0, r3 809eb42: 1ad3 subs r3, r2, r3 809eb44: 4a9d ldr r2, [pc, #628] ; (809edbc ) 809eb46: fba2 2303 umull r2, r3, r2, r3 809eb4a: 099b lsrs r3, r3, #6 809eb4c: b2da uxtb r2, r3 809eb4e: 460b mov r3, r1 809eb50: 009b lsls r3, r3, #2 809eb52: 440b add r3, r1 809eb54: f107 0168 add.w r1, r7, #104 ; 0x68 809eb58: 440b add r3, r1 809eb5a: 3b33 subs r3, #51 ; 0x33 809eb5c: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809eb5e: 6d39 ldr r1, [r7, #80] ; 0x50 809eb60: 6dba ldr r2, [r7, #88] ; 0x58 809eb62: 4b95 ldr r3, [pc, #596] ; (809edb8 ) 809eb64: fba3 0302 umull r0, r3, r3, r2 809eb68: 0b5b lsrs r3, r3, #13 809eb6a: f242 7010 movw r0, #10000 ; 0x2710 809eb6e: fb00 f303 mul.w r3, r0, r3 809eb72: 1ad3 subs r3, r2, r3 809eb74: 4a91 ldr r2, [pc, #580] ; (809edbc ) 809eb76: fba2 0203 umull r0, r2, r2, r3 809eb7a: 0992 lsrs r2, r2, #6 809eb7c: f44f 707a mov.w r0, #1000 ; 0x3e8 809eb80: fb00 f202 mul.w r2, r0, r2 809eb84: 1a9a subs r2, r3, r2 809eb86: 4b8e ldr r3, [pc, #568] ; (809edc0 ) 809eb88: fba3 2302 umull r2, r3, r3, r2 809eb8c: 095b lsrs r3, r3, #5 809eb8e: b2da uxtb r2, r3 809eb90: 460b mov r3, r1 809eb92: 009b lsls r3, r3, #2 809eb94: 440b add r3, r1 809eb96: f107 0168 add.w r1, r7, #104 ; 0x68 809eb9a: 440b add r3, r1 809eb9c: 3b32 subs r3, #50 ; 0x32 809eb9e: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809eba0: 6d39 ldr r1, [r7, #80] ; 0x50 809eba2: 6dbb ldr r3, [r7, #88] ; 0x58 809eba4: 4a84 ldr r2, [pc, #528] ; (809edb8 ) 809eba6: fba2 0203 umull r0, r2, r2, r3 809ebaa: 0b52 lsrs r2, r2, #13 809ebac: f242 7010 movw r0, #10000 ; 0x2710 809ebb0: fb00 f202 mul.w r2, r0, r2 809ebb4: 1a9a subs r2, r3, r2 809ebb6: 4b81 ldr r3, [pc, #516] ; (809edbc ) 809ebb8: fba3 0302 umull r0, r3, r3, r2 809ebbc: 099b lsrs r3, r3, #6 809ebbe: f44f 707a mov.w r0, #1000 ; 0x3e8 809ebc2: fb00 f303 mul.w r3, r0, r3 809ebc6: 1ad3 subs r3, r2, r3 809ebc8: 4a7d ldr r2, [pc, #500] ; (809edc0 ) 809ebca: fba2 0203 umull r0, r2, r2, r3 809ebce: 0952 lsrs r2, r2, #5 809ebd0: 2064 movs r0, #100 ; 0x64 809ebd2: fb00 f202 mul.w r2, r0, r2 809ebd6: 1a9a subs r2, r3, r2 809ebd8: 4b7a ldr r3, [pc, #488] ; (809edc4 ) 809ebda: fba3 2302 umull r2, r3, r3, r2 809ebde: 08db lsrs r3, r3, #3 809ebe0: b2da uxtb r2, r3 809ebe2: 460b mov r3, r1 809ebe4: 009b lsls r3, r3, #2 809ebe6: 440b add r3, r1 809ebe8: f107 0168 add.w r1, r7, #104 ; 0x68 809ebec: 440b add r3, r1 809ebee: 3b31 subs r3, #49 ; 0x31 809ebf0: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809ebf2: 6d38 ldr r0, [r7, #80] ; 0x50 809ebf4: 6dbb ldr r3, [r7, #88] ; 0x58 809ebf6: 4a70 ldr r2, [pc, #448] ; (809edb8 ) 809ebf8: fba2 1203 umull r1, r2, r2, r3 809ebfc: 0b52 lsrs r2, r2, #13 809ebfe: f242 7110 movw r1, #10000 ; 0x2710 809ec02: fb01 f202 mul.w r2, r1, r2 809ec06: 1a9a subs r2, r3, r2 809ec08: 4b6c ldr r3, [pc, #432] ; (809edbc ) 809ec0a: fba3 1302 umull r1, r3, r3, r2 809ec0e: 099b lsrs r3, r3, #6 809ec10: f44f 717a mov.w r1, #1000 ; 0x3e8 809ec14: fb01 f303 mul.w r3, r1, r3 809ec18: 1ad3 subs r3, r2, r3 809ec1a: 4a69 ldr r2, [pc, #420] ; (809edc0 ) 809ec1c: fba2 1203 umull r1, r2, r2, r3 809ec20: 0952 lsrs r2, r2, #5 809ec22: 2164 movs r1, #100 ; 0x64 809ec24: fb01 f202 mul.w r2, r1, r2 809ec28: 1a9a subs r2, r3, r2 809ec2a: 4b66 ldr r3, [pc, #408] ; (809edc4 ) 809ec2c: fba3 1302 umull r1, r3, r3, r2 809ec30: 08d9 lsrs r1, r3, #3 809ec32: 460b mov r3, r1 809ec34: 009b lsls r3, r3, #2 809ec36: 440b add r3, r1 809ec38: 005b lsls r3, r3, #1 809ec3a: 1ad1 subs r1, r2, r3 809ec3c: b2ca uxtb r2, r1 809ec3e: 4603 mov r3, r0 809ec40: 009b lsls r3, r3, #2 809ec42: 4403 add r3, r0 809ec44: f107 0168 add.w r1, r7, #104 ; 0x68 809ec48: 440b add r3, r1 809ec4a: 3b30 subs r3, #48 ; 0x30 809ec4c: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 809ec4e: 6d3b ldr r3, [r7, #80] ; 0x50 809ec50: 4a5d ldr r2, [pc, #372] ; (809edc8 ) 809ec52: 009b lsls r3, r3, #2 809ec54: 4413 add r3, r2 809ec56: edd3 7a00 vldr s15, [r3] 809ec5a: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809ec5e: eef4 7a47 vcmp.f32 s15, s14 809ec62: eef1 fa10 vmrs APSR_nzcv, fpscr 809ec66: f000 829f beq.w 809f1a8 if(ipr == ACC) 809ec6a: 6d3b ldr r3, [r7, #80] ; 0x50 809ec6c: 2b00 cmp r3, #0 809ec6e: f040 80dc bne.w 809ee2a if(!t) 809ec72: 6d7b ldr r3, [r7, #84] ; 0x54 809ec74: 2b00 cmp r3, #0 809ec76: d126 bne.n 809ecc6 for(i = 0; i < 5; i++) 809ec78: 2300 movs r3, #0 809ec7a: 65fb str r3, [r7, #92] ; 0x5c 809ec7c: e01f b.n 809ecbe DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809ec7e: 6d3a ldr r2, [r7, #80] ; 0x50 809ec80: 6df9 ldr r1, [r7, #92] ; 0x5c 809ec82: 4613 mov r3, r2 809ec84: 009b lsls r3, r3, #2 809ec86: 4413 add r3, r2 809ec88: f107 0268 add.w r2, r7, #104 ; 0x68 809ec8c: 4413 add r3, r2 809ec8e: 440b add r3, r1 809ec90: 3b34 subs r3, #52 ; 0x34 809ec92: 781b ldrb r3, [r3, #0] 809ec94: b2db uxtb r3, r3 809ec96: 461a mov r2, r3 809ec98: 4b4c ldr r3, [pc, #304] ; (809edcc ) 809ec9a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ec9e: 6dfb ldr r3, [r7, #92] ; 0x5c 809eca0: b29b uxth r3, r3 809eca2: 461a mov r2, r3 809eca4: 0112 lsls r2, r2, #4 809eca6: 1ad3 subs r3, r2, r3 809eca8: 005b lsls r3, r3, #1 809ecaa: b29b uxth r3, r3 809ecac: 335a adds r3, #90 ; 0x5a 809ecae: b29b uxth r3, r3 809ecb0: 2256 movs r2, #86 ; 0x56 809ecb2: 4619 mov r1, r3 809ecb4: f7b6 fba0 bl 80553f8 for(i = 0; i < 5; i++) 809ecb8: 6dfb ldr r3, [r7, #92] ; 0x5c 809ecba: 3301 adds r3, #1 809ecbc: 65fb str r3, [r7, #92] ; 0x5c 809ecbe: 6dfb ldr r3, [r7, #92] ; 0x5c 809ecc0: 2b04 cmp r3, #4 809ecc2: d9dc bls.n 809ec7e 809ecc4: e05a b.n 809ed7c for(i = 0; i < t; i++) 809ecc6: 2300 movs r3, #0 809ecc8: 65fb str r3, [r7, #92] ; 0x5c 809ecca: e01f b.n 809ed0c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809eccc: 6d3a ldr r2, [r7, #80] ; 0x50 809ecce: 6df9 ldr r1, [r7, #92] ; 0x5c 809ecd0: 4613 mov r3, r2 809ecd2: 009b lsls r3, r3, #2 809ecd4: 4413 add r3, r2 809ecd6: f107 0268 add.w r2, r7, #104 ; 0x68 809ecda: 4413 add r3, r2 809ecdc: 440b add r3, r1 809ecde: 3b34 subs r3, #52 ; 0x34 809ece0: 781b ldrb r3, [r3, #0] 809ece2: b2db uxtb r3, r3 809ece4: 461a mov r2, r3 809ece6: 4b39 ldr r3, [pc, #228] ; (809edcc ) 809ece8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ecec: 6dfb ldr r3, [r7, #92] ; 0x5c 809ecee: b29b uxth r3, r3 809ecf0: 461a mov r2, r3 809ecf2: 0112 lsls r2, r2, #4 809ecf4: 1ad3 subs r3, r2, r3 809ecf6: 005b lsls r3, r3, #1 809ecf8: b29b uxth r3, r3 809ecfa: 335a adds r3, #90 ; 0x5a 809ecfc: b29b uxth r3, r3 809ecfe: 2256 movs r2, #86 ; 0x56 809ed00: 4619 mov r1, r3 809ed02: f7b6 fb79 bl 80553f8 for(i = 0; i < t; i++) 809ed06: 6dfb ldr r3, [r7, #92] ; 0x5c 809ed08: 3301 adds r3, #1 809ed0a: 65fb str r3, [r7, #92] ; 0x5c 809ed0c: 6dfa ldr r2, [r7, #92] ; 0x5c 809ed0e: 6d7b ldr r3, [r7, #84] ; 0x54 809ed10: 429a cmp r2, r3 809ed12: d3db bcc.n 809eccc DrawImage(&bmgpt, 95 + 30*t, 92+18); 809ed14: 6d7b ldr r3, [r7, #84] ; 0x54 809ed16: b29b uxth r3, r3 809ed18: 461a mov r2, r3 809ed1a: 0112 lsls r2, r2, #4 809ed1c: 1ad3 subs r3, r2, r3 809ed1e: 005b lsls r3, r3, #1 809ed20: b29b uxth r3, r3 809ed22: 335f adds r3, #95 ; 0x5f 809ed24: b29b uxth r3, r3 809ed26: 226e movs r2, #110 ; 0x6e 809ed28: 4619 mov r1, r3 809ed2a: 4829 ldr r0, [pc, #164] ; (809edd0 ) 809ed2c: f7b6 fb64 bl 80553f8 for(i = t; i < 5; i++) 809ed30: 6d7b ldr r3, [r7, #84] ; 0x54 809ed32: 65fb str r3, [r7, #92] ; 0x5c 809ed34: e01f b.n 809ed76 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809ed36: 6d3a ldr r2, [r7, #80] ; 0x50 809ed38: 6df9 ldr r1, [r7, #92] ; 0x5c 809ed3a: 4613 mov r3, r2 809ed3c: 009b lsls r3, r3, #2 809ed3e: 4413 add r3, r2 809ed40: f107 0268 add.w r2, r7, #104 ; 0x68 809ed44: 4413 add r3, r2 809ed46: 440b add r3, r1 809ed48: 3b34 subs r3, #52 ; 0x34 809ed4a: 781b ldrb r3, [r3, #0] 809ed4c: b2db uxtb r3, r3 809ed4e: 461a mov r2, r3 809ed50: 4b1e ldr r3, [pc, #120] ; (809edcc ) 809ed52: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ed56: 6dfb ldr r3, [r7, #92] ; 0x5c 809ed58: b29b uxth r3, r3 809ed5a: 461a mov r2, r3 809ed5c: 0112 lsls r2, r2, #4 809ed5e: 1ad3 subs r3, r2, r3 809ed60: 005b lsls r3, r3, #1 809ed62: b29b uxth r3, r3 809ed64: 336e adds r3, #110 ; 0x6e 809ed66: b29b uxth r3, r3 809ed68: 2256 movs r2, #86 ; 0x56 809ed6a: 4619 mov r1, r3 809ed6c: f7b6 fb44 bl 80553f8 for(i = t; i < 5; i++) 809ed70: 6dfb ldr r3, [r7, #92] ; 0x5c 809ed72: 3301 adds r3, #1 809ed74: 65fb str r3, [r7, #92] ; 0x5c 809ed76: 6dfb ldr r3, [r7, #92] ; 0x5c 809ed78: 2b04 cmp r3, #4 809ed7a: d9dc bls.n 809ed36 if(pardata.IVS[ACC] < PEAK_FACTOR) 809ed7c: 4b15 ldr r3, [pc, #84] ; (809edd4 ) 809ed7e: 789b ldrb r3, [r3, #2] 809ed80: b2db uxtb r3, r3 809ed82: 2b02 cmp r3, #2 809ed84: d837 bhi.n 809edf6 if(pardata.IIN != VOLTS) 809ed86: 4b13 ldr r3, [pc, #76] ; (809edd4 ) 809ed88: 799b ldrb r3, [r3, #6] 809ed8a: b2db uxtb r3, r3 809ed8c: 2b02 cmp r3, #2 809ed8e: d025 beq.n 809eddc DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809ed90: 4b10 ldr r3, [pc, #64] ; (809edd4 ) 809ed92: 7b1b ldrb r3, [r3, #12] 809ed94: b2db uxtb r3, r3 809ed96: 461a mov r2, r3 809ed98: 4b0f ldr r3, [pc, #60] ; (809edd8 ) 809ed9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ed9e: 225c movs r2, #92 ; 0x5c 809eda0: f240 1109 movw r1, #265 ; 0x109 809eda4: 4618 mov r0, r3 809eda6: f7b6 fb27 bl 80553f8 809edaa: e024 b.n 809edf6 809edac: 0001869f .word 0x0001869f 809edb0: 4cbebc20 .word 0x4cbebc20 809edb4: 47c34f80 .word 0x47c34f80 809edb8: d1b71759 .word 0xd1b71759 809edbc: 10624dd3 .word 0x10624dd3 809edc0: 51eb851f .word 0x51eb851f 809edc4: cccccccd .word 0xcccccccd 809edc8: 20021588 .word 0x20021588 809edcc: 20020124 .word 0x20020124 809edd0: 0816be20 .word 0x0816be20 809edd4: 20023ea8 .word 0x20023ea8 809edd8: 200200f4 .word 0x200200f4 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 809eddc: 4baa ldr r3, [pc, #680] ; (809f088 ) 809edde: 7b1b ldrb r3, [r3, #12] 809ede0: b2db uxtb r3, r3 809ede2: 461a mov r2, r3 809ede4: 4ba9 ldr r3, [pc, #676] ; (809f08c ) 809ede6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809edea: 225c movs r2, #92 ; 0x5c 809edec: f240 1109 movw r1, #265 ; 0x109 809edf0: 4618 mov r0, r3 809edf2: f7b6 fb01 bl 80553f8 if(pardata.IVS[ipr] == EXCESS) 809edf6: 6d3b ldr r3, [r7, #80] ; 0x50 809edf8: 4aa3 ldr r2, [pc, #652] ; (809f088 ) 809edfa: 4413 add r3, r2 809edfc: 789b ldrb r3, [r3, #2] 809edfe: b2db uxtb r3, r3 809ee00: 2b04 cmp r3, #4 809ee02: f040 820a bne.w 809f21a if(skz[ipr] < 0.0f) { 809ee06: 6d3b ldr r3, [r7, #80] ; 0x50 809ee08: 4aa1 ldr r2, [pc, #644] ; (809f090 ) 809ee0a: 009b lsls r3, r3, #2 809ee0c: 4413 add r3, r2 809ee0e: edd3 7a00 vldr s15, [r3] 809ee12: eef5 7ac0 vcmpe.f32 s15, #0.0 809ee16: eef1 fa10 vmrs APSR_nzcv, fpscr 809ee1a: f140 81fe bpl.w 809f21a DrawImage(&bmgminus, 78, 84+18); 809ee1e: 2266 movs r2, #102 ; 0x66 809ee20: 214e movs r1, #78 ; 0x4e 809ee22: 489c ldr r0, [pc, #624] ; (809f094 ) 809ee24: f7b6 fae8 bl 80553f8 809ee28: e1f7 b.n 809f21a if(ipr == VEL) 809ee2a: 6d3b ldr r3, [r7, #80] ; 0x50 809ee2c: 2b01 cmp r3, #1 809ee2e: f040 80c4 bne.w 809efba if(!t) 809ee32: 6d7b ldr r3, [r7, #84] ; 0x54 809ee34: 2b00 cmp r3, #0 809ee36: d126 bne.n 809ee86 for(i = 0; i < 5; i++) 809ee38: 2300 movs r3, #0 809ee3a: 65fb str r3, [r7, #92] ; 0x5c 809ee3c: e01f b.n 809ee7e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809ee3e: 6d3a ldr r2, [r7, #80] ; 0x50 809ee40: 6df9 ldr r1, [r7, #92] ; 0x5c 809ee42: 4613 mov r3, r2 809ee44: 009b lsls r3, r3, #2 809ee46: 4413 add r3, r2 809ee48: f107 0268 add.w r2, r7, #104 ; 0x68 809ee4c: 4413 add r3, r2 809ee4e: 440b add r3, r1 809ee50: 3b34 subs r3, #52 ; 0x34 809ee52: 781b ldrb r3, [r3, #0] 809ee54: b2db uxtb r3, r3 809ee56: 461a mov r2, r3 809ee58: 4b8f ldr r3, [pc, #572] ; (809f098 ) 809ee5a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ee5e: 6dfb ldr r3, [r7, #92] ; 0x5c 809ee60: b29b uxth r3, r3 809ee62: 461a mov r2, r3 809ee64: 0112 lsls r2, r2, #4 809ee66: 1ad3 subs r3, r2, r3 809ee68: 005b lsls r3, r3, #1 809ee6a: b29b uxth r3, r3 809ee6c: 335a adds r3, #90 ; 0x5a 809ee6e: b29b uxth r3, r3 809ee70: 2282 movs r2, #130 ; 0x82 809ee72: 4619 mov r1, r3 809ee74: f7b6 fac0 bl 80553f8 for(i = 0; i < 5; i++) 809ee78: 6dfb ldr r3, [r7, #92] ; 0x5c 809ee7a: 3301 adds r3, #1 809ee7c: 65fb str r3, [r7, #92] ; 0x5c 809ee7e: 6dfb ldr r3, [r7, #92] ; 0x5c 809ee80: 2b04 cmp r3, #4 809ee82: d9dc bls.n 809ee3e 809ee84: e05a b.n 809ef3c for(i = 0; i < t; i++) 809ee86: 2300 movs r3, #0 809ee88: 65fb str r3, [r7, #92] ; 0x5c 809ee8a: e01f b.n 809eecc DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809ee8c: 6d3a ldr r2, [r7, #80] ; 0x50 809ee8e: 6df9 ldr r1, [r7, #92] ; 0x5c 809ee90: 4613 mov r3, r2 809ee92: 009b lsls r3, r3, #2 809ee94: 4413 add r3, r2 809ee96: f107 0268 add.w r2, r7, #104 ; 0x68 809ee9a: 4413 add r3, r2 809ee9c: 440b add r3, r1 809ee9e: 3b34 subs r3, #52 ; 0x34 809eea0: 781b ldrb r3, [r3, #0] 809eea2: b2db uxtb r3, r3 809eea4: 461a mov r2, r3 809eea6: 4b7c ldr r3, [pc, #496] ; (809f098 ) 809eea8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809eeac: 6dfb ldr r3, [r7, #92] ; 0x5c 809eeae: b29b uxth r3, r3 809eeb0: 461a mov r2, r3 809eeb2: 0112 lsls r2, r2, #4 809eeb4: 1ad3 subs r3, r2, r3 809eeb6: 005b lsls r3, r3, #1 809eeb8: b29b uxth r3, r3 809eeba: 335a adds r3, #90 ; 0x5a 809eebc: b29b uxth r3, r3 809eebe: 2282 movs r2, #130 ; 0x82 809eec0: 4619 mov r1, r3 809eec2: f7b6 fa99 bl 80553f8 for(i = 0; i < t; i++) 809eec6: 6dfb ldr r3, [r7, #92] ; 0x5c 809eec8: 3301 adds r3, #1 809eeca: 65fb str r3, [r7, #92] ; 0x5c 809eecc: 6dfa ldr r2, [r7, #92] ; 0x5c 809eece: 6d7b ldr r3, [r7, #84] ; 0x54 809eed0: 429a cmp r2, r3 809eed2: d3db bcc.n 809ee8c DrawImage(&bmgpt, 95 + 30*t, 145+9); 809eed4: 6d7b ldr r3, [r7, #84] ; 0x54 809eed6: b29b uxth r3, r3 809eed8: 461a mov r2, r3 809eeda: 0112 lsls r2, r2, #4 809eedc: 1ad3 subs r3, r2, r3 809eede: 005b lsls r3, r3, #1 809eee0: b29b uxth r3, r3 809eee2: 335f adds r3, #95 ; 0x5f 809eee4: b29b uxth r3, r3 809eee6: 229a movs r2, #154 ; 0x9a 809eee8: 4619 mov r1, r3 809eeea: 486c ldr r0, [pc, #432] ; (809f09c ) 809eeec: f7b6 fa84 bl 80553f8 for(i = t; i < 5; i++) 809eef0: 6d7b ldr r3, [r7, #84] ; 0x54 809eef2: 65fb str r3, [r7, #92] ; 0x5c 809eef4: e01f b.n 809ef36 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809eef6: 6d3a ldr r2, [r7, #80] ; 0x50 809eef8: 6df9 ldr r1, [r7, #92] ; 0x5c 809eefa: 4613 mov r3, r2 809eefc: 009b lsls r3, r3, #2 809eefe: 4413 add r3, r2 809ef00: f107 0268 add.w r2, r7, #104 ; 0x68 809ef04: 4413 add r3, r2 809ef06: 440b add r3, r1 809ef08: 3b34 subs r3, #52 ; 0x34 809ef0a: 781b ldrb r3, [r3, #0] 809ef0c: b2db uxtb r3, r3 809ef0e: 461a mov r2, r3 809ef10: 4b61 ldr r3, [pc, #388] ; (809f098 ) 809ef12: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ef16: 6dfb ldr r3, [r7, #92] ; 0x5c 809ef18: b29b uxth r3, r3 809ef1a: 461a mov r2, r3 809ef1c: 0112 lsls r2, r2, #4 809ef1e: 1ad3 subs r3, r2, r3 809ef20: 005b lsls r3, r3, #1 809ef22: b29b uxth r3, r3 809ef24: 336e adds r3, #110 ; 0x6e 809ef26: b29b uxth r3, r3 809ef28: 2282 movs r2, #130 ; 0x82 809ef2a: 4619 mov r1, r3 809ef2c: f7b6 fa64 bl 80553f8 for(i = t; i < 5; i++) 809ef30: 6dfb ldr r3, [r7, #92] ; 0x5c 809ef32: 3301 adds r3, #1 809ef34: 65fb str r3, [r7, #92] ; 0x5c 809ef36: 6dfb ldr r3, [r7, #92] ; 0x5c 809ef38: 2b04 cmp r3, #4 809ef3a: d9dc bls.n 809eef6 if(pardata.IVS[VEL] < PEAK_FACTOR) 809ef3c: 4b52 ldr r3, [pc, #328] ; (809f088 ) 809ef3e: 78db ldrb r3, [r3, #3] 809ef40: b2db uxtb r3, r3 809ef42: 2b02 cmp r3, #2 809ef44: d81f bhi.n 809ef86 if(pardata.IIN != VOLTS) 809ef46: 4b50 ldr r3, [pc, #320] ; (809f088 ) 809ef48: 799b ldrb r3, [r3, #6] 809ef4a: b2db uxtb r3, r3 809ef4c: 2b02 cmp r3, #2 809ef4e: d00d beq.n 809ef6c DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809ef50: 4b4d ldr r3, [pc, #308] ; (809f088 ) 809ef52: 7b1b ldrb r3, [r3, #12] 809ef54: b2db uxtb r3, r3 809ef56: 461a mov r2, r3 809ef58: 4b51 ldr r3, [pc, #324] ; (809f0a0 ) 809ef5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ef5e: 2289 movs r2, #137 ; 0x89 809ef60: f240 1109 movw r1, #265 ; 0x109 809ef64: 4618 mov r0, r3 809ef66: f7b6 fa47 bl 80553f8 809ef6a: e00c b.n 809ef86 else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 809ef6c: 4b46 ldr r3, [pc, #280] ; (809f088 ) 809ef6e: 7b1b ldrb r3, [r3, #12] 809ef70: b2db uxtb r3, r3 809ef72: 461a mov r2, r3 809ef74: 4b45 ldr r3, [pc, #276] ; (809f08c ) 809ef76: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ef7a: 2289 movs r2, #137 ; 0x89 809ef7c: f240 1109 movw r1, #265 ; 0x109 809ef80: 4618 mov r0, r3 809ef82: f7b6 fa39 bl 80553f8 if(pardata.IVS[ipr] == EXCESS) 809ef86: 6d3b ldr r3, [r7, #80] ; 0x50 809ef88: 4a3f ldr r2, [pc, #252] ; (809f088 ) 809ef8a: 4413 add r3, r2 809ef8c: 789b ldrb r3, [r3, #2] 809ef8e: b2db uxtb r3, r3 809ef90: 2b04 cmp r3, #4 809ef92: f040 8142 bne.w 809f21a if(skz[ipr] < 0.0f) { 809ef96: 6d3b ldr r3, [r7, #80] ; 0x50 809ef98: 4a3d ldr r2, [pc, #244] ; (809f090 ) 809ef9a: 009b lsls r3, r3, #2 809ef9c: 4413 add r3, r2 809ef9e: edd3 7a00 vldr s15, [r3] 809efa2: eef5 7ac0 vcmpe.f32 s15, #0.0 809efa6: eef1 fa10 vmrs APSR_nzcv, fpscr 809efaa: f140 8136 bpl.w 809f21a DrawImage(&bmgminus, 78, 138+9); 809efae: 2293 movs r2, #147 ; 0x93 809efb0: 214e movs r1, #78 ; 0x4e 809efb2: 4838 ldr r0, [pc, #224] ; (809f094 ) 809efb4: f7b6 fa20 bl 80553f8 809efb8: e12f b.n 809f21a if(ipr == DIS) 809efba: 6d3b ldr r3, [r7, #80] ; 0x50 809efbc: 2b02 cmp r3, #2 809efbe: f040 812c bne.w 809f21a if(!t) 809efc2: 6d7b ldr r3, [r7, #84] ; 0x54 809efc4: 2b00 cmp r3, #0 809efc6: d126 bne.n 809f016 for(i = 0; i < 5; i++) 809efc8: 2300 movs r3, #0 809efca: 65fb str r3, [r7, #92] ; 0x5c 809efcc: e01f b.n 809f00e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809efce: 6d3a ldr r2, [r7, #80] ; 0x50 809efd0: 6df9 ldr r1, [r7, #92] ; 0x5c 809efd2: 4613 mov r3, r2 809efd4: 009b lsls r3, r3, #2 809efd6: 4413 add r3, r2 809efd8: f107 0268 add.w r2, r7, #104 ; 0x68 809efdc: 4413 add r3, r2 809efde: 440b add r3, r1 809efe0: 3b34 subs r3, #52 ; 0x34 809efe2: 781b ldrb r3, [r3, #0] 809efe4: b2db uxtb r3, r3 809efe6: 461a mov r2, r3 809efe8: 4b2b ldr r3, [pc, #172] ; (809f098 ) 809efea: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809efee: 6dfb ldr r3, [r7, #92] ; 0x5c 809eff0: b29b uxth r3, r3 809eff2: 461a mov r2, r3 809eff4: 0112 lsls r2, r2, #4 809eff6: 1ad3 subs r3, r2, r3 809eff8: 005b lsls r3, r3, #1 809effa: b29b uxth r3, r3 809effc: 335a adds r3, #90 ; 0x5a 809effe: b29b uxth r3, r3 809f000: 22ae movs r2, #174 ; 0xae 809f002: 4619 mov r1, r3 809f004: f7b6 f9f8 bl 80553f8 for(i = 0; i < 5; i++) 809f008: 6dfb ldr r3, [r7, #92] ; 0x5c 809f00a: 3301 adds r3, #1 809f00c: 65fb str r3, [r7, #92] ; 0x5c 809f00e: 6dfb ldr r3, [r7, #92] ; 0x5c 809f010: 2b04 cmp r3, #4 809f012: d9dc bls.n 809efce 809f014: e069 b.n 809f0ea for(i = 0; i < t; i++) 809f016: 2300 movs r3, #0 809f018: 65fb str r3, [r7, #92] ; 0x5c 809f01a: e01f b.n 809f05c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809f01c: 6d3a ldr r2, [r7, #80] ; 0x50 809f01e: 6df9 ldr r1, [r7, #92] ; 0x5c 809f020: 4613 mov r3, r2 809f022: 009b lsls r3, r3, #2 809f024: 4413 add r3, r2 809f026: f107 0268 add.w r2, r7, #104 ; 0x68 809f02a: 4413 add r3, r2 809f02c: 440b add r3, r1 809f02e: 3b34 subs r3, #52 ; 0x34 809f030: 781b ldrb r3, [r3, #0] 809f032: b2db uxtb r3, r3 809f034: 461a mov r2, r3 809f036: 4b18 ldr r3, [pc, #96] ; (809f098 ) 809f038: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809f03c: 6dfb ldr r3, [r7, #92] ; 0x5c 809f03e: b29b uxth r3, r3 809f040: 461a mov r2, r3 809f042: 0112 lsls r2, r2, #4 809f044: 1ad3 subs r3, r2, r3 809f046: 005b lsls r3, r3, #1 809f048: b29b uxth r3, r3 809f04a: 335a adds r3, #90 ; 0x5a 809f04c: b29b uxth r3, r3 809f04e: 22ae movs r2, #174 ; 0xae 809f050: 4619 mov r1, r3 809f052: f7b6 f9d1 bl 80553f8 for(i = 0; i < t; i++) 809f056: 6dfb ldr r3, [r7, #92] ; 0x5c 809f058: 3301 adds r3, #1 809f05a: 65fb str r3, [r7, #92] ; 0x5c 809f05c: 6dfa ldr r2, [r7, #92] ; 0x5c 809f05e: 6d7b ldr r3, [r7, #84] ; 0x54 809f060: 429a cmp r2, r3 809f062: d3db bcc.n 809f01c DrawImage(&bmgpt, 95 + 30*t, 198); 809f064: 6d7b ldr r3, [r7, #84] ; 0x54 809f066: b29b uxth r3, r3 809f068: 461a mov r2, r3 809f06a: 0112 lsls r2, r2, #4 809f06c: 1ad3 subs r3, r2, r3 809f06e: 005b lsls r3, r3, #1 809f070: b29b uxth r3, r3 809f072: 335f adds r3, #95 ; 0x5f 809f074: b29b uxth r3, r3 809f076: 22c6 movs r2, #198 ; 0xc6 809f078: 4619 mov r1, r3 809f07a: 4808 ldr r0, [pc, #32] ; (809f09c ) 809f07c: f7b6 f9bc bl 80553f8 for(i = t; i < 5; i++) 809f080: 6d7b ldr r3, [r7, #84] ; 0x54 809f082: 65fb str r3, [r7, #92] ; 0x5c 809f084: e02e b.n 809f0e4 809f086: bf00 nop 809f088: 20023ea8 .word 0x20023ea8 809f08c: 20020114 .word 0x20020114 809f090: 20021588 .word 0x20021588 809f094: 0816bd94 .word 0x0816bd94 809f098: 20020124 .word 0x20020124 809f09c: 0816be20 .word 0x0816be20 809f0a0: 200200fc .word 0x200200fc DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809f0a4: 6d3a ldr r2, [r7, #80] ; 0x50 809f0a6: 6df9 ldr r1, [r7, #92] ; 0x5c 809f0a8: 4613 mov r3, r2 809f0aa: 009b lsls r3, r3, #2 809f0ac: 4413 add r3, r2 809f0ae: f107 0268 add.w r2, r7, #104 ; 0x68 809f0b2: 4413 add r3, r2 809f0b4: 440b add r3, r1 809f0b6: 3b34 subs r3, #52 ; 0x34 809f0b8: 781b ldrb r3, [r3, #0] 809f0ba: b2db uxtb r3, r3 809f0bc: 461a mov r2, r3 809f0be: 4bbe ldr r3, [pc, #760] ; (809f3b8 ) 809f0c0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809f0c4: 6dfb ldr r3, [r7, #92] ; 0x5c 809f0c6: b29b uxth r3, r3 809f0c8: 461a mov r2, r3 809f0ca: 0112 lsls r2, r2, #4 809f0cc: 1ad3 subs r3, r2, r3 809f0ce: 005b lsls r3, r3, #1 809f0d0: b29b uxth r3, r3 809f0d2: 336e adds r3, #110 ; 0x6e 809f0d4: b29b uxth r3, r3 809f0d6: 22ae movs r2, #174 ; 0xae 809f0d8: 4619 mov r1, r3 809f0da: f7b6 f98d bl 80553f8 for(i = t; i < 5; i++) 809f0de: 6dfb ldr r3, [r7, #92] ; 0x5c 809f0e0: 3301 adds r3, #1 809f0e2: 65fb str r3, [r7, #92] ; 0x5c 809f0e4: 6dfb ldr r3, [r7, #92] ; 0x5c 809f0e6: 2b04 cmp r3, #4 809f0e8: d9dc bls.n 809f0a4 if(pardata.IVS[DIS] < PEAK_FACTOR) 809f0ea: 4bb4 ldr r3, [pc, #720] ; (809f3bc ) 809f0ec: 791b ldrb r3, [r3, #4] 809f0ee: b2db uxtb r3, r3 809f0f0: 2b02 cmp r3, #2 809f0f2: d841 bhi.n 809f178 if(pardata.IIN != VOLTS) 809f0f4: 4bb1 ldr r3, [pc, #708] ; (809f3bc ) 809f0f6: 799b ldrb r3, [r3, #6] 809f0f8: b2db uxtb r3, r3 809f0fa: 2b02 cmp r3, #2 809f0fc: d01e beq.n 809f13c if(m == 0) 809f0fe: 6cfb ldr r3, [r7, #76] ; 0x4c 809f100: 2b00 cmp r3, #0 809f102: d10d bne.n 809f120 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809f104: 4bad ldr r3, [pc, #692] ; (809f3bc ) 809f106: 7b1b ldrb r3, [r3, #12] 809f108: b2db uxtb r3, r3 809f10a: 461a mov r2, r3 809f10c: 4bac ldr r3, [pc, #688] ; (809f3c0 ) 809f10e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f112: 22b4 movs r2, #180 ; 0xb4 809f114: f240 1109 movw r1, #265 ; 0x109 809f118: 4618 mov r0, r3 809f11a: f7b6 f96d bl 80553f8 809f11e: e02b b.n 809f178 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809f120: 4ba6 ldr r3, [pc, #664] ; (809f3bc ) 809f122: 7b1b ldrb r3, [r3, #12] 809f124: b2db uxtb r3, r3 809f126: 461a mov r2, r3 809f128: 4ba6 ldr r3, [pc, #664] ; (809f3c4 ) 809f12a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f12e: 22b4 movs r2, #180 ; 0xb4 809f130: f240 1109 movw r1, #265 ; 0x109 809f134: 4618 mov r0, r3 809f136: f7b6 f95f bl 80553f8 809f13a: e01d b.n 809f178 if(m == 0) 809f13c: 6cfb ldr r3, [r7, #76] ; 0x4c 809f13e: 2b00 cmp r3, #0 809f140: d10d bne.n 809f15e DrawImage(BMG_MV[pardata.LANG], 265, 180); 809f142: 4b9e ldr r3, [pc, #632] ; (809f3bc ) 809f144: 7b1b ldrb r3, [r3, #12] 809f146: b2db uxtb r3, r3 809f148: 461a mov r2, r3 809f14a: 4b9f ldr r3, [pc, #636] ; (809f3c8 ) 809f14c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f150: 22b4 movs r2, #180 ; 0xb4 809f152: f240 1109 movw r1, #265 ; 0x109 809f156: 4618 mov r0, r3 809f158: f7b6 f94e bl 80553f8 809f15c: e00c b.n 809f178 else DrawImage(BMG_V[pardata.LANG], 265, 180); 809f15e: 4b97 ldr r3, [pc, #604] ; (809f3bc ) 809f160: 7b1b ldrb r3, [r3, #12] 809f162: b2db uxtb r3, r3 809f164: 461a mov r2, r3 809f166: 4b99 ldr r3, [pc, #612] ; (809f3cc ) 809f168: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f16c: 22b4 movs r2, #180 ; 0xb4 809f16e: f240 1109 movw r1, #265 ; 0x109 809f172: 4618 mov r0, r3 809f174: f7b6 f940 bl 80553f8 if(pardata.IVS[ipr] == EXCESS) 809f178: 6d3b ldr r3, [r7, #80] ; 0x50 809f17a: 4a90 ldr r2, [pc, #576] ; (809f3bc ) 809f17c: 4413 add r3, r2 809f17e: 789b ldrb r3, [r3, #2] 809f180: b2db uxtb r3, r3 809f182: 2b04 cmp r3, #4 809f184: d149 bne.n 809f21a if(skz[ipr] < 0.0f) { 809f186: 6d3b ldr r3, [r7, #80] ; 0x50 809f188: 4a91 ldr r2, [pc, #580] ; (809f3d0 ) 809f18a: 009b lsls r3, r3, #2 809f18c: 4413 add r3, r2 809f18e: edd3 7a00 vldr s15, [r3] 809f192: eef5 7ac0 vcmpe.f32 s15, #0.0 809f196: eef1 fa10 vmrs APSR_nzcv, fpscr 809f19a: d53e bpl.n 809f21a DrawImage(&bmgminus, 78, 190); 809f19c: 22be movs r2, #190 ; 0xbe 809f19e: 214e movs r1, #78 ; 0x4e 809f1a0: 488c ldr r0, [pc, #560] ; (809f3d4 ) 809f1a2: f7b6 f929 bl 80553f8 809f1a6: e038 b.n 809f21a if(skz[ACC] != -1.0f) 809f1a8: 4b89 ldr r3, [pc, #548] ; (809f3d0 ) 809f1aa: edd3 7a00 vldr s15, [r3] 809f1ae: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809f1b2: eef4 7a47 vcmp.f32 s15, s14 809f1b6: eef1 fa10 vmrs APSR_nzcv, fpscr 809f1ba: d02e beq.n 809f21a if(ipr == VEL) 809f1bc: 6d3b ldr r3, [r7, #80] ; 0x50 809f1be: 2b01 cmp r3, #1 809f1c0: d114 bne.n 809f1ec LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809f1c2: 4985 ldr r1, [pc, #532] ; (809f3d8 ) 809f1c4: 4885 ldr r0, [pc, #532] ; (809f3dc ) 809f1c6: f7b5 fa23 bl 8054610 if(pardata.LANG == RUS) 809f1ca: 4b7c ldr r3, [pc, #496] ; (809f3bc ) 809f1cc: 7b1b ldrb r3, [r3, #12] 809f1ce: b2db uxtb r3, r3 809f1d0: 2b00 cmp r3, #0 809f1d2: d105 bne.n 809f1e0 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809f1d4: 4a82 ldr r2, [pc, #520] ; (809f3e0 ) 809f1d6: 2187 movs r1, #135 ; 0x87 809f1d8: 20a7 movs r0, #167 ; 0xa7 809f1da: f7b5 ffd9 bl 8055190 809f1de: e01c b.n 809f21a else LCD_DisplayStringC(167, 135, "NO DATA"); 809f1e0: 4a80 ldr r2, [pc, #512] ; (809f3e4 ) 809f1e2: 2187 movs r1, #135 ; 0x87 809f1e4: 20a7 movs r0, #167 ; 0xa7 809f1e6: f7b5 ffd3 bl 8055190 809f1ea: e016 b.n 809f21a if(ipr == DIS) 809f1ec: 6d3b ldr r3, [r7, #80] ; 0x50 809f1ee: 2b02 cmp r3, #2 809f1f0: d113 bne.n 809f21a LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809f1f2: 4979 ldr r1, [pc, #484] ; (809f3d8 ) 809f1f4: 4879 ldr r0, [pc, #484] ; (809f3dc ) 809f1f6: f7b5 fa0b bl 8054610 if(pardata.LANG == RUS) 809f1fa: 4b70 ldr r3, [pc, #448] ; (809f3bc ) 809f1fc: 7b1b ldrb r3, [r3, #12] 809f1fe: b2db uxtb r3, r3 809f200: 2b00 cmp r3, #0 809f202: d105 bne.n 809f210 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809f204: 4a76 ldr r2, [pc, #472] ; (809f3e0 ) 809f206: 21b9 movs r1, #185 ; 0xb9 809f208: 20a7 movs r0, #167 ; 0xa7 809f20a: f7b5 ffc1 bl 8055190 809f20e: e004 b.n 809f21a else LCD_DisplayStringC(167, 185, "NO DATA"); 809f210: 4a74 ldr r2, [pc, #464] ; (809f3e4 ) 809f212: 21b9 movs r1, #185 ; 0xb9 809f214: 20a7 movs r0, #167 ; 0xa7 809f216: f7b5 ffbb bl 8055190 for(ipr = ACC; ipr <= DIS; ipr++) 809f21a: 6d3b ldr r3, [r7, #80] ; 0x50 809f21c: 3301 adds r3, #1 809f21e: 653b str r3, [r7, #80] ; 0x50 809f220: 6d3b ldr r3, [r7, #80] ; 0x50 809f222: 2b02 cmp r3, #2 809f224: f67f aa51 bls.w 809e6ca break; 809f228: f001 ba08 b.w 80a063c for(ipr = ACC; ipr <= DIS; ipr++) 809f22c: 2300 movs r3, #0 809f22e: 653b str r3, [r7, #80] ; 0x50 809f230: f001 ba00 b.w 80a0634 if(pardata.IVS[ipr] >= PEAK_FACTOR) 809f234: 6d3b ldr r3, [r7, #80] ; 0x50 809f236: 4a61 ldr r2, [pc, #388] ; (809f3bc ) 809f238: 4413 add r3, r2 809f23a: 789b ldrb r3, [r3, #2] 809f23c: b2db uxtb r3, r3 809f23e: 2b02 cmp r3, #2 809f240: f240 85bd bls.w 809fdbe memset(str, 0, sizeof(str)); 809f244: f107 030c add.w r3, r7, #12 809f248: 2228 movs r2, #40 ; 0x28 809f24a: 2100 movs r1, #0 809f24c: 4618 mov r0, r3 809f24e: f032 f8a7 bl 80d13a0 f = ABS(skz[ipr]); 809f252: 6d3b ldr r3, [r7, #80] ; 0x50 809f254: 4a5e ldr r2, [pc, #376] ; (809f3d0 ) 809f256: 009b lsls r3, r3, #2 809f258: 4413 add r3, r2 809f25a: edd3 7a00 vldr s15, [r3] 809f25e: eef5 7ac0 vcmpe.f32 s15, #0.0 809f262: eef1 fa10 vmrs APSR_nzcv, fpscr 809f266: dd06 ble.n 809f276 809f268: 6d3b ldr r3, [r7, #80] ; 0x50 809f26a: 4a59 ldr r2, [pc, #356] ; (809f3d0 ) 809f26c: 009b lsls r3, r3, #2 809f26e: 4413 add r3, r2 809f270: edd3 7a00 vldr s15, [r3] 809f274: e007 b.n 809f286 809f276: 6d3b ldr r3, [r7, #80] ; 0x50 809f278: 4a55 ldr r2, [pc, #340] ; (809f3d0 ) 809f27a: 009b lsls r3, r3, #2 809f27c: 4413 add r3, r2 809f27e: edd3 7a00 vldr s15, [r3] 809f282: eef1 7a67 vneg.f32 s15, s15 809f286: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 809f28a: 6d3b ldr r3, [r7, #80] ; 0x50 809f28c: 2b01 cmp r3, #1 809f28e: f200 80d1 bhi.w 809f434 if(f < 10.0f) 809f292: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f296: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809f29a: eef4 7ac7 vcmpe.f32 s15, s14 809f29e: eef1 fa10 vmrs APSR_nzcv, fpscr 809f2a2: d513 bpl.n 809f2cc k = (uint32_t) (roundf(f * 10000)); 809f2a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f2a8: ed9f 7a4f vldr s14, [pc, #316] ; 809f3e8 809f2ac: ee67 7a87 vmul.f32 s15, s15, s14 809f2b0: eeb0 0a67 vmov.f32 s0, s15 809f2b4: f02f fe76 bl 80cefa4 809f2b8: eef0 7a40 vmov.f32 s15, s0 809f2bc: eefc 7ae7 vcvt.u32.f32 s15, s15 809f2c0: ee17 3a90 vmov r3, s15 809f2c4: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809f2c6: 2301 movs r3, #1 809f2c8: 657b str r3, [r7, #84] ; 0x54 809f2ca: e1e1 b.n 809f690 if(f < 100.0f) 809f2cc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f2d0: ed9f 7a46 vldr s14, [pc, #280] ; 809f3ec 809f2d4: eef4 7ac7 vcmpe.f32 s15, s14 809f2d8: eef1 fa10 vmrs APSR_nzcv, fpscr 809f2dc: d513 bpl.n 809f306 k = (uint32_t) (roundf(f * 1000)); 809f2de: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f2e2: ed9f 7a43 vldr s14, [pc, #268] ; 809f3f0 809f2e6: ee67 7a87 vmul.f32 s15, s15, s14 809f2ea: eeb0 0a67 vmov.f32 s0, s15 809f2ee: f02f fe59 bl 80cefa4 809f2f2: eef0 7a40 vmov.f32 s15, s0 809f2f6: eefc 7ae7 vcvt.u32.f32 s15, s15 809f2fa: ee17 3a90 vmov r3, s15 809f2fe: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809f300: 2302 movs r3, #2 809f302: 657b str r3, [r7, #84] ; 0x54 809f304: e1c4 b.n 809f690 if(f < 1000.0f) 809f306: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f30a: ed9f 7a39 vldr s14, [pc, #228] ; 809f3f0 809f30e: eef4 7ac7 vcmpe.f32 s15, s14 809f312: eef1 fa10 vmrs APSR_nzcv, fpscr 809f316: d513 bpl.n 809f340 k = (uint32_t) (roundf(f * 100)); 809f318: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f31c: ed9f 7a33 vldr s14, [pc, #204] ; 809f3ec 809f320: ee67 7a87 vmul.f32 s15, s15, s14 809f324: eeb0 0a67 vmov.f32 s0, s15 809f328: f02f fe3c bl 80cefa4 809f32c: eef0 7a40 vmov.f32 s15, s0 809f330: eefc 7ae7 vcvt.u32.f32 s15, s15 809f334: ee17 3a90 vmov r3, s15 809f338: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809f33a: 2303 movs r3, #3 809f33c: 657b str r3, [r7, #84] ; 0x54 809f33e: e1a7 b.n 809f690 if(f < 10000.0f) 809f340: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f344: ed9f 7a28 vldr s14, [pc, #160] ; 809f3e8 809f348: eef4 7ac7 vcmpe.f32 s15, s14 809f34c: eef1 fa10 vmrs APSR_nzcv, fpscr 809f350: d513 bpl.n 809f37a k = (uint32_t) (roundf(f * 10)); 809f352: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f356: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809f35a: ee67 7a87 vmul.f32 s15, s15, s14 809f35e: eeb0 0a67 vmov.f32 s0, s15 809f362: f02f fe1f bl 80cefa4 809f366: eef0 7a40 vmov.f32 s15, s0 809f36a: eefc 7ae7 vcvt.u32.f32 s15, s15 809f36e: ee17 3a90 vmov r3, s15 809f372: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809f374: 2304 movs r3, #4 809f376: 657b str r3, [r7, #84] ; 0x54 809f378: e18a b.n 809f690 if(f < 100000.0f) 809f37a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f37e: ed9f 7a1e vldr s14, [pc, #120] ; 809f3f8 809f382: eef4 7ac7 vcmpe.f32 s15, s14 809f386: eef1 fa10 vmrs APSR_nzcv, fpscr 809f38a: d537 bpl.n 809f3fc k = (uint32_t) (roundf(f)); 809f38c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f390: eeb0 0a67 vmov.f32 s0, s15 809f394: f02f fe06 bl 80cefa4 809f398: eef0 7a40 vmov.f32 s15, s0 809f39c: eefc 7ae7 vcvt.u32.f32 s15, s15 809f3a0: ee17 3a90 vmov r3, s15 809f3a4: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809f3a6: 6dbb ldr r3, [r7, #88] ; 0x58 809f3a8: 4a12 ldr r2, [pc, #72] ; (809f3f4 ) 809f3aa: 4293 cmp r3, r2 809f3ac: d901 bls.n 809f3b2 k = 99999; 809f3ae: 4b11 ldr r3, [pc, #68] ; (809f3f4 ) 809f3b0: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809f3b2: 2300 movs r3, #0 809f3b4: 657b str r3, [r7, #84] ; 0x54 809f3b6: e16b b.n 809f690 809f3b8: 20020124 .word 0x20020124 809f3bc: 20023ea8 .word 0x20023ea8 809f3c0: 20020104 .word 0x20020104 809f3c4: 2002010c .word 0x2002010c 809f3c8: 20020114 .word 0x20020114 809f3cc: 2002011c .word 0x2002011c 809f3d0: 20021588 .word 0x20021588 809f3d4: 0816bd94 .word 0x0816bd94 809f3d8: ff0a0f1f .word 0xff0a0f1f 809f3dc: ffb8e828 .word 0xffb8e828 809f3e0: 080d3e64 .word 0x080d3e64 809f3e4: 080d3e70 .word 0x080d3e70 809f3e8: 461c4000 .word 0x461c4000 809f3ec: 42c80000 .word 0x42c80000 809f3f0: 447a0000 .word 0x447a0000 809f3f4: 0001869f .word 0x0001869f 809f3f8: 47c35000 .word 0x47c35000 if(f >= 100000.0f) 809f3fc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f400: ed1f 7a03 vldr s14, [pc, #-12] ; 809f3f8 809f404: eef4 7ac7 vcmpe.f32 s15, s14 809f408: eef1 fa10 vmrs APSR_nzcv, fpscr 809f40c: f2c0 8140 blt.w 809f690 f = 99999.0f; 809f410: 4b85 ldr r3, [pc, #532] ; (809f628 ) 809f412: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809f414: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f418: eeb0 0a67 vmov.f32 s0, s15 809f41c: f02f fdc2 bl 80cefa4 809f420: eef0 7a40 vmov.f32 s15, s0 809f424: eefc 7ae7 vcvt.u32.f32 s15, s15 809f428: ee17 3a90 vmov r3, s15 809f42c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809f42e: 2300 movs r3, #0 809f430: 657b str r3, [r7, #84] ; 0x54 809f432: e12d b.n 809f690 if(f < 10.0f) 809f434: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f438: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809f43c: eef4 7ac7 vcmpe.f32 s15, s14 809f440: eef1 fa10 vmrs APSR_nzcv, fpscr 809f444: d515 bpl.n 809f472 k = (uint32_t) (roundf(f * 10000)); 809f446: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f44a: ed9f 7a78 vldr s14, [pc, #480] ; 809f62c 809f44e: ee67 7a87 vmul.f32 s15, s15, s14 809f452: eeb0 0a67 vmov.f32 s0, s15 809f456: f02f fda5 bl 80cefa4 809f45a: eef0 7a40 vmov.f32 s15, s0 809f45e: eefc 7ae7 vcvt.u32.f32 s15, s15 809f462: ee17 3a90 vmov r3, s15 809f466: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809f468: 2301 movs r3, #1 809f46a: 657b str r3, [r7, #84] ; 0x54 m = 0; 809f46c: 2300 movs r3, #0 809f46e: 64fb str r3, [r7, #76] ; 0x4c 809f470: e10e b.n 809f690 if(f < 100.0f) 809f472: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f476: ed9f 7a6e vldr s14, [pc, #440] ; 809f630 809f47a: eef4 7ac7 vcmpe.f32 s15, s14 809f47e: eef1 fa10 vmrs APSR_nzcv, fpscr 809f482: d515 bpl.n 809f4b0 k = (uint32_t) (roundf(f * 1000)); 809f484: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f488: ed9f 7a6a vldr s14, [pc, #424] ; 809f634 809f48c: ee67 7a87 vmul.f32 s15, s15, s14 809f490: eeb0 0a67 vmov.f32 s0, s15 809f494: f02f fd86 bl 80cefa4 809f498: eef0 7a40 vmov.f32 s15, s0 809f49c: eefc 7ae7 vcvt.u32.f32 s15, s15 809f4a0: ee17 3a90 vmov r3, s15 809f4a4: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809f4a6: 2302 movs r3, #2 809f4a8: 657b str r3, [r7, #84] ; 0x54 m = 0; 809f4aa: 2300 movs r3, #0 809f4ac: 64fb str r3, [r7, #76] ; 0x4c 809f4ae: e0ef b.n 809f690 if(f < 1000.0f) 809f4b0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f4b4: ed9f 7a5f vldr s14, [pc, #380] ; 809f634 809f4b8: eef4 7ac7 vcmpe.f32 s15, s14 809f4bc: eef1 fa10 vmrs APSR_nzcv, fpscr 809f4c0: d515 bpl.n 809f4ee k = (uint32_t) (roundf(f * 100)); 809f4c2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f4c6: ed9f 7a5a vldr s14, [pc, #360] ; 809f630 809f4ca: ee67 7a87 vmul.f32 s15, s15, s14 809f4ce: eeb0 0a67 vmov.f32 s0, s15 809f4d2: f02f fd67 bl 80cefa4 809f4d6: eef0 7a40 vmov.f32 s15, s0 809f4da: eefc 7ae7 vcvt.u32.f32 s15, s15 809f4de: ee17 3a90 vmov r3, s15 809f4e2: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809f4e4: 2303 movs r3, #3 809f4e6: 657b str r3, [r7, #84] ; 0x54 m = 0; 809f4e8: 2300 movs r3, #0 809f4ea: 64fb str r3, [r7, #76] ; 0x4c 809f4ec: e0d0 b.n 809f690 if(f < 10000.0f) 809f4ee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f4f2: ed9f 7a4e vldr s14, [pc, #312] ; 809f62c 809f4f6: eef4 7ac7 vcmpe.f32 s15, s14 809f4fa: eef1 fa10 vmrs APSR_nzcv, fpscr 809f4fe: d515 bpl.n 809f52c k = (uint32_t) (roundf(f * 10)); 809f500: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f504: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809f508: ee67 7a87 vmul.f32 s15, s15, s14 809f50c: eeb0 0a67 vmov.f32 s0, s15 809f510: f02f fd48 bl 80cefa4 809f514: eef0 7a40 vmov.f32 s15, s0 809f518: eefc 7ae7 vcvt.u32.f32 s15, s15 809f51c: ee17 3a90 vmov r3, s15 809f520: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809f522: 2301 movs r3, #1 809f524: 657b str r3, [r7, #84] ; 0x54 m = 1; 809f526: 2301 movs r3, #1 809f528: 64fb str r3, [r7, #76] ; 0x4c 809f52a: e0b1 b.n 809f690 if(f < 100000.0f) 809f52c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f530: ed9f 7a41 vldr s14, [pc, #260] ; 809f638 809f534: eef4 7ac7 vcmpe.f32 s15, s14 809f538: eef1 fa10 vmrs APSR_nzcv, fpscr 809f53c: d511 bpl.n 809f562 k = (uint32_t) (roundf(f)); 809f53e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f542: eeb0 0a67 vmov.f32 s0, s15 809f546: f02f fd2d bl 80cefa4 809f54a: eef0 7a40 vmov.f32 s15, s0 809f54e: eefc 7ae7 vcvt.u32.f32 s15, s15 809f552: ee17 3a90 vmov r3, s15 809f556: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809f558: 2302 movs r3, #2 809f55a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809f55c: 2301 movs r3, #1 809f55e: 64fb str r3, [r7, #76] ; 0x4c 809f560: e096 b.n 809f690 if(f < 1000000.0f) 809f562: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f566: ed9f 7a35 vldr s14, [pc, #212] ; 809f63c 809f56a: eef4 7ac7 vcmpe.f32 s15, s14 809f56e: eef1 fa10 vmrs APSR_nzcv, fpscr 809f572: d515 bpl.n 809f5a0 k = (uint32_t) (roundf(f * 0.1f)); 809f574: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f578: ed9f 7a31 vldr s14, [pc, #196] ; 809f640 809f57c: ee67 7a87 vmul.f32 s15, s15, s14 809f580: eeb0 0a67 vmov.f32 s0, s15 809f584: f02f fd0e bl 80cefa4 809f588: eef0 7a40 vmov.f32 s15, s0 809f58c: eefc 7ae7 vcvt.u32.f32 s15, s15 809f590: ee17 3a90 vmov r3, s15 809f594: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809f596: 2303 movs r3, #3 809f598: 657b str r3, [r7, #84] ; 0x54 m = 1; 809f59a: 2301 movs r3, #1 809f59c: 64fb str r3, [r7, #76] ; 0x4c 809f59e: e077 b.n 809f690 if(f < 10000000.0f) 809f5a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f5a4: ed9f 7a27 vldr s14, [pc, #156] ; 809f644 809f5a8: eef4 7ac7 vcmpe.f32 s15, s14 809f5ac: eef1 fa10 vmrs APSR_nzcv, fpscr 809f5b0: d515 bpl.n 809f5de k = (uint32_t) (roundf(f * 0.01f)); 809f5b2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f5b6: ed9f 7a24 vldr s14, [pc, #144] ; 809f648 809f5ba: ee67 7a87 vmul.f32 s15, s15, s14 809f5be: eeb0 0a67 vmov.f32 s0, s15 809f5c2: f02f fcef bl 80cefa4 809f5c6: eef0 7a40 vmov.f32 s15, s0 809f5ca: eefc 7ae7 vcvt.u32.f32 s15, s15 809f5ce: ee17 3a90 vmov r3, s15 809f5d2: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809f5d4: 2304 movs r3, #4 809f5d6: 657b str r3, [r7, #84] ; 0x54 m = 1; 809f5d8: 2301 movs r3, #1 809f5da: 64fb str r3, [r7, #76] ; 0x4c 809f5dc: e058 b.n 809f690 if(f < 100000000.0f) 809f5de: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f5e2: ed9f 7a1c vldr s14, [pc, #112] ; 809f654 809f5e6: eef4 7ac7 vcmpe.f32 s15, s14 809f5ea: eef1 fa10 vmrs APSR_nzcv, fpscr 809f5ee: d533 bpl.n 809f658 k = (uint32_t) (roundf(f * 0.001f)); 809f5f0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f5f4: ed9f 7a15 vldr s14, [pc, #84] ; 809f64c 809f5f8: ee67 7a87 vmul.f32 s15, s15, s14 809f5fc: eeb0 0a67 vmov.f32 s0, s15 809f600: f02f fcd0 bl 80cefa4 809f604: eef0 7a40 vmov.f32 s15, s0 809f608: eefc 7ae7 vcvt.u32.f32 s15, s15 809f60c: ee17 3a90 vmov r3, s15 809f610: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809f612: 6dbb ldr r3, [r7, #88] ; 0x58 809f614: 4a0e ldr r2, [pc, #56] ; (809f650 ) 809f616: 4293 cmp r3, r2 809f618: d901 bls.n 809f61e k = 99999; 809f61a: 4b0d ldr r3, [pc, #52] ; (809f650 ) 809f61c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809f61e: 2300 movs r3, #0 809f620: 657b str r3, [r7, #84] ; 0x54 m = 1; 809f622: 2301 movs r3, #1 809f624: 64fb str r3, [r7, #76] ; 0x4c 809f626: e033 b.n 809f690 809f628: 47c34f80 .word 0x47c34f80 809f62c: 461c4000 .word 0x461c4000 809f630: 42c80000 .word 0x42c80000 809f634: 447a0000 .word 0x447a0000 809f638: 47c35000 .word 0x47c35000 809f63c: 49742400 .word 0x49742400 809f640: 3dcccccd .word 0x3dcccccd 809f644: 4b189680 .word 0x4b189680 809f648: 3c23d70a .word 0x3c23d70a 809f64c: 3a83126f .word 0x3a83126f 809f650: 0001869f .word 0x0001869f 809f654: 4cbebc20 .word 0x4cbebc20 if(f >= 100000000.0f) 809f658: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f65c: ed1f 7a03 vldr s14, [pc, #-12] ; 809f654 809f660: eef4 7ac7 vcmpe.f32 s15, s14 809f664: eef1 fa10 vmrs APSR_nzcv, fpscr 809f668: db12 blt.n 809f690 f = 99999.0f; 809f66a: 4bc5 ldr r3, [pc, #788] ; (809f980 ) 809f66c: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809f66e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f672: eeb0 0a67 vmov.f32 s0, s15 809f676: f02f fc95 bl 80cefa4 809f67a: eef0 7a40 vmov.f32 s15, s0 809f67e: eefc 7ae7 vcvt.u32.f32 s15, s15 809f682: ee17 3a90 vmov r3, s15 809f686: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809f688: 2300 movs r3, #0 809f68a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809f68c: 2301 movs r3, #1 809f68e: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809f690: 6d3a ldr r2, [r7, #80] ; 0x50 809f692: 6dbb ldr r3, [r7, #88] ; 0x58 809f694: 49bb ldr r1, [pc, #748] ; (809f984 ) 809f696: fba1 1303 umull r1, r3, r1, r3 809f69a: 0b5b lsrs r3, r3, #13 809f69c: b2d9 uxtb r1, r3 809f69e: 4613 mov r3, r2 809f6a0: 009b lsls r3, r3, #2 809f6a2: 4413 add r3, r2 809f6a4: f107 0268 add.w r2, r7, #104 ; 0x68 809f6a8: 4413 add r3, r2 809f6aa: 3b34 subs r3, #52 ; 0x34 809f6ac: 460a mov r2, r1 809f6ae: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809f6b0: 6d39 ldr r1, [r7, #80] ; 0x50 809f6b2: 6dba ldr r2, [r7, #88] ; 0x58 809f6b4: 4bb3 ldr r3, [pc, #716] ; (809f984 ) 809f6b6: fba3 0302 umull r0, r3, r3, r2 809f6ba: 0b5b lsrs r3, r3, #13 809f6bc: f242 7010 movw r0, #10000 ; 0x2710 809f6c0: fb00 f303 mul.w r3, r0, r3 809f6c4: 1ad3 subs r3, r2, r3 809f6c6: 4ab0 ldr r2, [pc, #704] ; (809f988 ) 809f6c8: fba2 2303 umull r2, r3, r2, r3 809f6cc: 099b lsrs r3, r3, #6 809f6ce: b2da uxtb r2, r3 809f6d0: 460b mov r3, r1 809f6d2: 009b lsls r3, r3, #2 809f6d4: 440b add r3, r1 809f6d6: f107 0168 add.w r1, r7, #104 ; 0x68 809f6da: 440b add r3, r1 809f6dc: 3b33 subs r3, #51 ; 0x33 809f6de: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809f6e0: 6d39 ldr r1, [r7, #80] ; 0x50 809f6e2: 6dba ldr r2, [r7, #88] ; 0x58 809f6e4: 4ba7 ldr r3, [pc, #668] ; (809f984 ) 809f6e6: fba3 0302 umull r0, r3, r3, r2 809f6ea: 0b5b lsrs r3, r3, #13 809f6ec: f242 7010 movw r0, #10000 ; 0x2710 809f6f0: fb00 f303 mul.w r3, r0, r3 809f6f4: 1ad3 subs r3, r2, r3 809f6f6: 4aa4 ldr r2, [pc, #656] ; (809f988 ) 809f6f8: fba2 0203 umull r0, r2, r2, r3 809f6fc: 0992 lsrs r2, r2, #6 809f6fe: f44f 707a mov.w r0, #1000 ; 0x3e8 809f702: fb00 f202 mul.w r2, r0, r2 809f706: 1a9a subs r2, r3, r2 809f708: 4ba0 ldr r3, [pc, #640] ; (809f98c ) 809f70a: fba3 2302 umull r2, r3, r3, r2 809f70e: 095b lsrs r3, r3, #5 809f710: b2da uxtb r2, r3 809f712: 460b mov r3, r1 809f714: 009b lsls r3, r3, #2 809f716: 440b add r3, r1 809f718: f107 0168 add.w r1, r7, #104 ; 0x68 809f71c: 440b add r3, r1 809f71e: 3b32 subs r3, #50 ; 0x32 809f720: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809f722: 6d39 ldr r1, [r7, #80] ; 0x50 809f724: 6dbb ldr r3, [r7, #88] ; 0x58 809f726: 4a97 ldr r2, [pc, #604] ; (809f984 ) 809f728: fba2 0203 umull r0, r2, r2, r3 809f72c: 0b52 lsrs r2, r2, #13 809f72e: f242 7010 movw r0, #10000 ; 0x2710 809f732: fb00 f202 mul.w r2, r0, r2 809f736: 1a9a subs r2, r3, r2 809f738: 4b93 ldr r3, [pc, #588] ; (809f988 ) 809f73a: fba3 0302 umull r0, r3, r3, r2 809f73e: 099b lsrs r3, r3, #6 809f740: f44f 707a mov.w r0, #1000 ; 0x3e8 809f744: fb00 f303 mul.w r3, r0, r3 809f748: 1ad3 subs r3, r2, r3 809f74a: 4a90 ldr r2, [pc, #576] ; (809f98c ) 809f74c: fba2 0203 umull r0, r2, r2, r3 809f750: 0952 lsrs r2, r2, #5 809f752: 2064 movs r0, #100 ; 0x64 809f754: fb00 f202 mul.w r2, r0, r2 809f758: 1a9a subs r2, r3, r2 809f75a: 4b8d ldr r3, [pc, #564] ; (809f990 ) 809f75c: fba3 2302 umull r2, r3, r3, r2 809f760: 08db lsrs r3, r3, #3 809f762: b2da uxtb r2, r3 809f764: 460b mov r3, r1 809f766: 009b lsls r3, r3, #2 809f768: 440b add r3, r1 809f76a: f107 0168 add.w r1, r7, #104 ; 0x68 809f76e: 440b add r3, r1 809f770: 3b31 subs r3, #49 ; 0x31 809f772: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809f774: 6d38 ldr r0, [r7, #80] ; 0x50 809f776: 6dbb ldr r3, [r7, #88] ; 0x58 809f778: 4a82 ldr r2, [pc, #520] ; (809f984 ) 809f77a: fba2 1203 umull r1, r2, r2, r3 809f77e: 0b52 lsrs r2, r2, #13 809f780: f242 7110 movw r1, #10000 ; 0x2710 809f784: fb01 f202 mul.w r2, r1, r2 809f788: 1a9a subs r2, r3, r2 809f78a: 4b7f ldr r3, [pc, #508] ; (809f988 ) 809f78c: fba3 1302 umull r1, r3, r3, r2 809f790: 099b lsrs r3, r3, #6 809f792: f44f 717a mov.w r1, #1000 ; 0x3e8 809f796: fb01 f303 mul.w r3, r1, r3 809f79a: 1ad3 subs r3, r2, r3 809f79c: 4a7b ldr r2, [pc, #492] ; (809f98c ) 809f79e: fba2 1203 umull r1, r2, r2, r3 809f7a2: 0952 lsrs r2, r2, #5 809f7a4: 2164 movs r1, #100 ; 0x64 809f7a6: fb01 f202 mul.w r2, r1, r2 809f7aa: 1a9a subs r2, r3, r2 809f7ac: 4b78 ldr r3, [pc, #480] ; (809f990 ) 809f7ae: fba3 1302 umull r1, r3, r3, r2 809f7b2: 08d9 lsrs r1, r3, #3 809f7b4: 460b mov r3, r1 809f7b6: 009b lsls r3, r3, #2 809f7b8: 440b add r3, r1 809f7ba: 005b lsls r3, r3, #1 809f7bc: 1ad1 subs r1, r2, r3 809f7be: b2ca uxtb r2, r1 809f7c0: 4603 mov r3, r0 809f7c2: 009b lsls r3, r3, #2 809f7c4: 4403 add r3, r0 809f7c6: f107 0168 add.w r1, r7, #104 ; 0x68 809f7ca: 440b add r3, r1 809f7cc: 3b30 subs r3, #48 ; 0x30 809f7ce: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 809f7d0: 6d3b ldr r3, [r7, #80] ; 0x50 809f7d2: 4a70 ldr r2, [pc, #448] ; (809f994 ) 809f7d4: 009b lsls r3, r3, #2 809f7d6: 4413 add r3, r2 809f7d8: edd3 7a00 vldr s15, [r3] 809f7dc: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809f7e0: eef4 7a47 vcmp.f32 s15, s14 809f7e4: eef1 fa10 vmrs APSR_nzcv, fpscr 809f7e8: f000 82a9 beq.w 809fd3e if(ipr == ACC) 809f7ec: 6d3b ldr r3, [r7, #80] ; 0x50 809f7ee: 2b00 cmp r3, #0 809f7f0: f040 80de bne.w 809f9b0 if(!t) 809f7f4: 6d7b ldr r3, [r7, #84] ; 0x54 809f7f6: 2b00 cmp r3, #0 809f7f8: d126 bne.n 809f848 for(i = 0; i < 5; i++) 809f7fa: 2300 movs r3, #0 809f7fc: 65fb str r3, [r7, #92] ; 0x5c 809f7fe: e01f b.n 809f840 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809f800: 6d3a ldr r2, [r7, #80] ; 0x50 809f802: 6df9 ldr r1, [r7, #92] ; 0x5c 809f804: 4613 mov r3, r2 809f806: 009b lsls r3, r3, #2 809f808: 4413 add r3, r2 809f80a: f107 0268 add.w r2, r7, #104 ; 0x68 809f80e: 4413 add r3, r2 809f810: 440b add r3, r1 809f812: 3b34 subs r3, #52 ; 0x34 809f814: 781b ldrb r3, [r3, #0] 809f816: b2db uxtb r3, r3 809f818: 461a mov r2, r3 809f81a: 4b5f ldr r3, [pc, #380] ; (809f998 ) 809f81c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809f820: 6dfb ldr r3, [r7, #92] ; 0x5c 809f822: b29b uxth r3, r3 809f824: 461a mov r2, r3 809f826: 0112 lsls r2, r2, #4 809f828: 1ad3 subs r3, r2, r3 809f82a: 005b lsls r3, r3, #1 809f82c: b29b uxth r3, r3 809f82e: 335a adds r3, #90 ; 0x5a 809f830: b29b uxth r3, r3 809f832: 2256 movs r2, #86 ; 0x56 809f834: 4619 mov r1, r3 809f836: f7b5 fddf bl 80553f8 for(i = 0; i < 5; i++) 809f83a: 6dfb ldr r3, [r7, #92] ; 0x5c 809f83c: 3301 adds r3, #1 809f83e: 65fb str r3, [r7, #92] ; 0x5c 809f840: 6dfb ldr r3, [r7, #92] ; 0x5c 809f842: 2b04 cmp r3, #4 809f844: d9dc bls.n 809f800 809f846: e05a b.n 809f8fe for(i = 0; i < t; i++) 809f848: 2300 movs r3, #0 809f84a: 65fb str r3, [r7, #92] ; 0x5c 809f84c: e01f b.n 809f88e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809f84e: 6d3a ldr r2, [r7, #80] ; 0x50 809f850: 6df9 ldr r1, [r7, #92] ; 0x5c 809f852: 4613 mov r3, r2 809f854: 009b lsls r3, r3, #2 809f856: 4413 add r3, r2 809f858: f107 0268 add.w r2, r7, #104 ; 0x68 809f85c: 4413 add r3, r2 809f85e: 440b add r3, r1 809f860: 3b34 subs r3, #52 ; 0x34 809f862: 781b ldrb r3, [r3, #0] 809f864: b2db uxtb r3, r3 809f866: 461a mov r2, r3 809f868: 4b4b ldr r3, [pc, #300] ; (809f998 ) 809f86a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809f86e: 6dfb ldr r3, [r7, #92] ; 0x5c 809f870: b29b uxth r3, r3 809f872: 461a mov r2, r3 809f874: 0112 lsls r2, r2, #4 809f876: 1ad3 subs r3, r2, r3 809f878: 005b lsls r3, r3, #1 809f87a: b29b uxth r3, r3 809f87c: 335a adds r3, #90 ; 0x5a 809f87e: b29b uxth r3, r3 809f880: 2256 movs r2, #86 ; 0x56 809f882: 4619 mov r1, r3 809f884: f7b5 fdb8 bl 80553f8 for(i = 0; i < t; i++) 809f888: 6dfb ldr r3, [r7, #92] ; 0x5c 809f88a: 3301 adds r3, #1 809f88c: 65fb str r3, [r7, #92] ; 0x5c 809f88e: 6dfa ldr r2, [r7, #92] ; 0x5c 809f890: 6d7b ldr r3, [r7, #84] ; 0x54 809f892: 429a cmp r2, r3 809f894: d3db bcc.n 809f84e DrawImage(&bmgpt, 95 + 30*t, 92+18); 809f896: 6d7b ldr r3, [r7, #84] ; 0x54 809f898: b29b uxth r3, r3 809f89a: 461a mov r2, r3 809f89c: 0112 lsls r2, r2, #4 809f89e: 1ad3 subs r3, r2, r3 809f8a0: 005b lsls r3, r3, #1 809f8a2: b29b uxth r3, r3 809f8a4: 335f adds r3, #95 ; 0x5f 809f8a6: b29b uxth r3, r3 809f8a8: 226e movs r2, #110 ; 0x6e 809f8aa: 4619 mov r1, r3 809f8ac: 483b ldr r0, [pc, #236] ; (809f99c ) 809f8ae: f7b5 fda3 bl 80553f8 for(i = t; i < 5; i++) 809f8b2: 6d7b ldr r3, [r7, #84] ; 0x54 809f8b4: 65fb str r3, [r7, #92] ; 0x5c 809f8b6: e01f b.n 809f8f8 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809f8b8: 6d3a ldr r2, [r7, #80] ; 0x50 809f8ba: 6df9 ldr r1, [r7, #92] ; 0x5c 809f8bc: 4613 mov r3, r2 809f8be: 009b lsls r3, r3, #2 809f8c0: 4413 add r3, r2 809f8c2: f107 0268 add.w r2, r7, #104 ; 0x68 809f8c6: 4413 add r3, r2 809f8c8: 440b add r3, r1 809f8ca: 3b34 subs r3, #52 ; 0x34 809f8cc: 781b ldrb r3, [r3, #0] 809f8ce: b2db uxtb r3, r3 809f8d0: 461a mov r2, r3 809f8d2: 4b31 ldr r3, [pc, #196] ; (809f998 ) 809f8d4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809f8d8: 6dfb ldr r3, [r7, #92] ; 0x5c 809f8da: b29b uxth r3, r3 809f8dc: 461a mov r2, r3 809f8de: 0112 lsls r2, r2, #4 809f8e0: 1ad3 subs r3, r2, r3 809f8e2: 005b lsls r3, r3, #1 809f8e4: b29b uxth r3, r3 809f8e6: 336e adds r3, #110 ; 0x6e 809f8e8: b29b uxth r3, r3 809f8ea: 2256 movs r2, #86 ; 0x56 809f8ec: 4619 mov r1, r3 809f8ee: f7b5 fd83 bl 80553f8 for(i = t; i < 5; i++) 809f8f2: 6dfb ldr r3, [r7, #92] ; 0x5c 809f8f4: 3301 adds r3, #1 809f8f6: 65fb str r3, [r7, #92] ; 0x5c 809f8f8: 6dfb ldr r3, [r7, #92] ; 0x5c 809f8fa: 2b04 cmp r3, #4 809f8fc: d9dc bls.n 809f8b8 if(pardata.IVS[ACC] < PEAK_FACTOR) 809f8fe: 4b28 ldr r3, [pc, #160] ; (809f9a0 ) 809f900: 789b ldrb r3, [r3, #2] 809f902: b2db uxtb r3, r3 809f904: 2b02 cmp r3, #2 809f906: d81f bhi.n 809f948 if(pardata.IIN != VOLTS) 809f908: 4b25 ldr r3, [pc, #148] ; (809f9a0 ) 809f90a: 799b ldrb r3, [r3, #6] 809f90c: b2db uxtb r3, r3 809f90e: 2b02 cmp r3, #2 809f910: d00d beq.n 809f92e DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809f912: 4b23 ldr r3, [pc, #140] ; (809f9a0 ) 809f914: 7b1b ldrb r3, [r3, #12] 809f916: b2db uxtb r3, r3 809f918: 461a mov r2, r3 809f91a: 4b22 ldr r3, [pc, #136] ; (809f9a4 ) 809f91c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f920: 225c movs r2, #92 ; 0x5c 809f922: f240 1109 movw r1, #265 ; 0x109 809f926: 4618 mov r0, r3 809f928: f7b5 fd66 bl 80553f8 809f92c: e00c b.n 809f948 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 809f92e: 4b1c ldr r3, [pc, #112] ; (809f9a0 ) 809f930: 7b1b ldrb r3, [r3, #12] 809f932: b2db uxtb r3, r3 809f934: 461a mov r2, r3 809f936: 4b1c ldr r3, [pc, #112] ; (809f9a8 ) 809f938: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f93c: 225c movs r2, #92 ; 0x5c 809f93e: f240 1109 movw r1, #265 ; 0x109 809f942: 4618 mov r0, r3 809f944: f7b5 fd58 bl 80553f8 if(pardata.IVS[ipr] == EXCESS) 809f948: 6d3b ldr r3, [r7, #80] ; 0x50 809f94a: 4a15 ldr r2, [pc, #84] ; (809f9a0 ) 809f94c: 4413 add r3, r2 809f94e: 789b ldrb r3, [r3, #2] 809f950: b2db uxtb r3, r3 809f952: 2b04 cmp r3, #4 809f954: f040 866b bne.w 80a062e if(skz[ipr] < 0.0f) { 809f958: 6d3b ldr r3, [r7, #80] ; 0x50 809f95a: 4a0e ldr r2, [pc, #56] ; (809f994 ) 809f95c: 009b lsls r3, r3, #2 809f95e: 4413 add r3, r2 809f960: edd3 7a00 vldr s15, [r3] 809f964: eef5 7ac0 vcmpe.f32 s15, #0.0 809f968: eef1 fa10 vmrs APSR_nzcv, fpscr 809f96c: f140 865f bpl.w 80a062e DrawImage(&bmgminus, 78, 84+18); 809f970: 2266 movs r2, #102 ; 0x66 809f972: 214e movs r1, #78 ; 0x4e 809f974: 480d ldr r0, [pc, #52] ; (809f9ac ) 809f976: f7b5 fd3f bl 80553f8 809f97a: f000 be58 b.w 80a062e 809f97e: bf00 nop 809f980: 47c34f80 .word 0x47c34f80 809f984: d1b71759 .word 0xd1b71759 809f988: 10624dd3 .word 0x10624dd3 809f98c: 51eb851f .word 0x51eb851f 809f990: cccccccd .word 0xcccccccd 809f994: 20021588 .word 0x20021588 809f998: 20020124 .word 0x20020124 809f99c: 0816be20 .word 0x0816be20 809f9a0: 20023ea8 .word 0x20023ea8 809f9a4: 200200f4 .word 0x200200f4 809f9a8: 20020114 .word 0x20020114 809f9ac: 0816bd94 .word 0x0816bd94 if(ipr == VEL) 809f9b0: 6d3b ldr r3, [r7, #80] ; 0x50 809f9b2: 2b01 cmp r3, #1 809f9b4: f040 80c5 bne.w 809fb42 if(!t) 809f9b8: 6d7b ldr r3, [r7, #84] ; 0x54 809f9ba: 2b00 cmp r3, #0 809f9bc: d126 bne.n 809fa0c for(i = 0; i < 5; i++) 809f9be: 2300 movs r3, #0 809f9c0: 65fb str r3, [r7, #92] ; 0x5c 809f9c2: e01f b.n 809fa04 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809f9c4: 6d3a ldr r2, [r7, #80] ; 0x50 809f9c6: 6df9 ldr r1, [r7, #92] ; 0x5c 809f9c8: 4613 mov r3, r2 809f9ca: 009b lsls r3, r3, #2 809f9cc: 4413 add r3, r2 809f9ce: f107 0268 add.w r2, r7, #104 ; 0x68 809f9d2: 4413 add r3, r2 809f9d4: 440b add r3, r1 809f9d6: 3b34 subs r3, #52 ; 0x34 809f9d8: 781b ldrb r3, [r3, #0] 809f9da: b2db uxtb r3, r3 809f9dc: 461a mov r2, r3 809f9de: 4bb2 ldr r3, [pc, #712] ; (809fca8 ) 809f9e0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809f9e4: 6dfb ldr r3, [r7, #92] ; 0x5c 809f9e6: b29b uxth r3, r3 809f9e8: 461a mov r2, r3 809f9ea: 0112 lsls r2, r2, #4 809f9ec: 1ad3 subs r3, r2, r3 809f9ee: 005b lsls r3, r3, #1 809f9f0: b29b uxth r3, r3 809f9f2: 335a adds r3, #90 ; 0x5a 809f9f4: b29b uxth r3, r3 809f9f6: 2282 movs r2, #130 ; 0x82 809f9f8: 4619 mov r1, r3 809f9fa: f7b5 fcfd bl 80553f8 for(i = 0; i < 5; i++) 809f9fe: 6dfb ldr r3, [r7, #92] ; 0x5c 809fa00: 3301 adds r3, #1 809fa02: 65fb str r3, [r7, #92] ; 0x5c 809fa04: 6dfb ldr r3, [r7, #92] ; 0x5c 809fa06: 2b04 cmp r3, #4 809fa08: d9dc bls.n 809f9c4 809fa0a: e05a b.n 809fac2 for(i = 0; i < t; i++) 809fa0c: 2300 movs r3, #0 809fa0e: 65fb str r3, [r7, #92] ; 0x5c 809fa10: e01f b.n 809fa52 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809fa12: 6d3a ldr r2, [r7, #80] ; 0x50 809fa14: 6df9 ldr r1, [r7, #92] ; 0x5c 809fa16: 4613 mov r3, r2 809fa18: 009b lsls r3, r3, #2 809fa1a: 4413 add r3, r2 809fa1c: f107 0268 add.w r2, r7, #104 ; 0x68 809fa20: 4413 add r3, r2 809fa22: 440b add r3, r1 809fa24: 3b34 subs r3, #52 ; 0x34 809fa26: 781b ldrb r3, [r3, #0] 809fa28: b2db uxtb r3, r3 809fa2a: 461a mov r2, r3 809fa2c: 4b9e ldr r3, [pc, #632] ; (809fca8 ) 809fa2e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809fa32: 6dfb ldr r3, [r7, #92] ; 0x5c 809fa34: b29b uxth r3, r3 809fa36: 461a mov r2, r3 809fa38: 0112 lsls r2, r2, #4 809fa3a: 1ad3 subs r3, r2, r3 809fa3c: 005b lsls r3, r3, #1 809fa3e: b29b uxth r3, r3 809fa40: 335a adds r3, #90 ; 0x5a 809fa42: b29b uxth r3, r3 809fa44: 2282 movs r2, #130 ; 0x82 809fa46: 4619 mov r1, r3 809fa48: f7b5 fcd6 bl 80553f8 for(i = 0; i < t; i++) 809fa4c: 6dfb ldr r3, [r7, #92] ; 0x5c 809fa4e: 3301 adds r3, #1 809fa50: 65fb str r3, [r7, #92] ; 0x5c 809fa52: 6dfa ldr r2, [r7, #92] ; 0x5c 809fa54: 6d7b ldr r3, [r7, #84] ; 0x54 809fa56: 429a cmp r2, r3 809fa58: d3db bcc.n 809fa12 DrawImage(&bmgpt, 95 + 30*t, 145+9); 809fa5a: 6d7b ldr r3, [r7, #84] ; 0x54 809fa5c: b29b uxth r3, r3 809fa5e: 461a mov r2, r3 809fa60: 0112 lsls r2, r2, #4 809fa62: 1ad3 subs r3, r2, r3 809fa64: 005b lsls r3, r3, #1 809fa66: b29b uxth r3, r3 809fa68: 335f adds r3, #95 ; 0x5f 809fa6a: b29b uxth r3, r3 809fa6c: 229a movs r2, #154 ; 0x9a 809fa6e: 4619 mov r1, r3 809fa70: 488e ldr r0, [pc, #568] ; (809fcac ) 809fa72: f7b5 fcc1 bl 80553f8 for(i = t; i < 5; i++) 809fa76: 6d7b ldr r3, [r7, #84] ; 0x54 809fa78: 65fb str r3, [r7, #92] ; 0x5c 809fa7a: e01f b.n 809fabc DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809fa7c: 6d3a ldr r2, [r7, #80] ; 0x50 809fa7e: 6df9 ldr r1, [r7, #92] ; 0x5c 809fa80: 4613 mov r3, r2 809fa82: 009b lsls r3, r3, #2 809fa84: 4413 add r3, r2 809fa86: f107 0268 add.w r2, r7, #104 ; 0x68 809fa8a: 4413 add r3, r2 809fa8c: 440b add r3, r1 809fa8e: 3b34 subs r3, #52 ; 0x34 809fa90: 781b ldrb r3, [r3, #0] 809fa92: b2db uxtb r3, r3 809fa94: 461a mov r2, r3 809fa96: 4b84 ldr r3, [pc, #528] ; (809fca8 ) 809fa98: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809fa9c: 6dfb ldr r3, [r7, #92] ; 0x5c 809fa9e: b29b uxth r3, r3 809faa0: 461a mov r2, r3 809faa2: 0112 lsls r2, r2, #4 809faa4: 1ad3 subs r3, r2, r3 809faa6: 005b lsls r3, r3, #1 809faa8: b29b uxth r3, r3 809faaa: 336e adds r3, #110 ; 0x6e 809faac: b29b uxth r3, r3 809faae: 2282 movs r2, #130 ; 0x82 809fab0: 4619 mov r1, r3 809fab2: f7b5 fca1 bl 80553f8 for(i = t; i < 5; i++) 809fab6: 6dfb ldr r3, [r7, #92] ; 0x5c 809fab8: 3301 adds r3, #1 809faba: 65fb str r3, [r7, #92] ; 0x5c 809fabc: 6dfb ldr r3, [r7, #92] ; 0x5c 809fabe: 2b04 cmp r3, #4 809fac0: d9dc bls.n 809fa7c if(pardata.IVS[VEL] < PEAK_FACTOR) 809fac2: 4b7b ldr r3, [pc, #492] ; (809fcb0 ) 809fac4: 78db ldrb r3, [r3, #3] 809fac6: b2db uxtb r3, r3 809fac8: 2b02 cmp r3, #2 809faca: d81f bhi.n 809fb0c if(pardata.IIN != VOLTS) 809facc: 4b78 ldr r3, [pc, #480] ; (809fcb0 ) 809face: 799b ldrb r3, [r3, #6] 809fad0: b2db uxtb r3, r3 809fad2: 2b02 cmp r3, #2 809fad4: d00d beq.n 809faf2 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809fad6: 4b76 ldr r3, [pc, #472] ; (809fcb0 ) 809fad8: 7b1b ldrb r3, [r3, #12] 809fada: b2db uxtb r3, r3 809fadc: 461a mov r2, r3 809fade: 4b75 ldr r3, [pc, #468] ; (809fcb4 ) 809fae0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809fae4: 2289 movs r2, #137 ; 0x89 809fae6: f240 1109 movw r1, #265 ; 0x109 809faea: 4618 mov r0, r3 809faec: f7b5 fc84 bl 80553f8 809faf0: e00c b.n 809fb0c else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 809faf2: 4b6f ldr r3, [pc, #444] ; (809fcb0 ) 809faf4: 7b1b ldrb r3, [r3, #12] 809faf6: b2db uxtb r3, r3 809faf8: 461a mov r2, r3 809fafa: 4b6f ldr r3, [pc, #444] ; (809fcb8 ) 809fafc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809fb00: 2289 movs r2, #137 ; 0x89 809fb02: f240 1109 movw r1, #265 ; 0x109 809fb06: 4618 mov r0, r3 809fb08: f7b5 fc76 bl 80553f8 if(pardata.IVS[ipr] == EXCESS) 809fb0c: 6d3b ldr r3, [r7, #80] ; 0x50 809fb0e: 4a68 ldr r2, [pc, #416] ; (809fcb0 ) 809fb10: 4413 add r3, r2 809fb12: 789b ldrb r3, [r3, #2] 809fb14: b2db uxtb r3, r3 809fb16: 2b04 cmp r3, #4 809fb18: f040 8589 bne.w 80a062e if(skz[ipr] < 0.0f) { 809fb1c: 6d3b ldr r3, [r7, #80] ; 0x50 809fb1e: 4a67 ldr r2, [pc, #412] ; (809fcbc ) 809fb20: 009b lsls r3, r3, #2 809fb22: 4413 add r3, r2 809fb24: edd3 7a00 vldr s15, [r3] 809fb28: eef5 7ac0 vcmpe.f32 s15, #0.0 809fb2c: eef1 fa10 vmrs APSR_nzcv, fpscr 809fb30: f140 857d bpl.w 80a062e DrawImage(&bmgminus, 78, 138+9); 809fb34: 2293 movs r2, #147 ; 0x93 809fb36: 214e movs r1, #78 ; 0x4e 809fb38: 4861 ldr r0, [pc, #388] ; (809fcc0 ) 809fb3a: f7b5 fc5d bl 80553f8 809fb3e: f000 bd76 b.w 80a062e if(ipr == DIS) 809fb42: 6d3b ldr r3, [r7, #80] ; 0x50 809fb44: 2b02 cmp r3, #2 809fb46: f040 8572 bne.w 80a062e if(!t) 809fb4a: 6d7b ldr r3, [r7, #84] ; 0x54 809fb4c: 2b00 cmp r3, #0 809fb4e: d126 bne.n 809fb9e for(i = 0; i < 5; i++) 809fb50: 2300 movs r3, #0 809fb52: 65fb str r3, [r7, #92] ; 0x5c 809fb54: e01f b.n 809fb96 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809fb56: 6d3a ldr r2, [r7, #80] ; 0x50 809fb58: 6df9 ldr r1, [r7, #92] ; 0x5c 809fb5a: 4613 mov r3, r2 809fb5c: 009b lsls r3, r3, #2 809fb5e: 4413 add r3, r2 809fb60: f107 0268 add.w r2, r7, #104 ; 0x68 809fb64: 4413 add r3, r2 809fb66: 440b add r3, r1 809fb68: 3b34 subs r3, #52 ; 0x34 809fb6a: 781b ldrb r3, [r3, #0] 809fb6c: b2db uxtb r3, r3 809fb6e: 461a mov r2, r3 809fb70: 4b4d ldr r3, [pc, #308] ; (809fca8 ) 809fb72: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809fb76: 6dfb ldr r3, [r7, #92] ; 0x5c 809fb78: b29b uxth r3, r3 809fb7a: 461a mov r2, r3 809fb7c: 0112 lsls r2, r2, #4 809fb7e: 1ad3 subs r3, r2, r3 809fb80: 005b lsls r3, r3, #1 809fb82: b29b uxth r3, r3 809fb84: 335a adds r3, #90 ; 0x5a 809fb86: b29b uxth r3, r3 809fb88: 22ae movs r2, #174 ; 0xae 809fb8a: 4619 mov r1, r3 809fb8c: f7b5 fc34 bl 80553f8 for(i = 0; i < 5; i++) 809fb90: 6dfb ldr r3, [r7, #92] ; 0x5c 809fb92: 3301 adds r3, #1 809fb94: 65fb str r3, [r7, #92] ; 0x5c 809fb96: 6dfb ldr r3, [r7, #92] ; 0x5c 809fb98: 2b04 cmp r3, #4 809fb9a: d9dc bls.n 809fb56 809fb9c: e05a b.n 809fc54 for(i = 0; i < t; i++) 809fb9e: 2300 movs r3, #0 809fba0: 65fb str r3, [r7, #92] ; 0x5c 809fba2: e01f b.n 809fbe4 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809fba4: 6d3a ldr r2, [r7, #80] ; 0x50 809fba6: 6df9 ldr r1, [r7, #92] ; 0x5c 809fba8: 4613 mov r3, r2 809fbaa: 009b lsls r3, r3, #2 809fbac: 4413 add r3, r2 809fbae: f107 0268 add.w r2, r7, #104 ; 0x68 809fbb2: 4413 add r3, r2 809fbb4: 440b add r3, r1 809fbb6: 3b34 subs r3, #52 ; 0x34 809fbb8: 781b ldrb r3, [r3, #0] 809fbba: b2db uxtb r3, r3 809fbbc: 461a mov r2, r3 809fbbe: 4b3a ldr r3, [pc, #232] ; (809fca8 ) 809fbc0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809fbc4: 6dfb ldr r3, [r7, #92] ; 0x5c 809fbc6: b29b uxth r3, r3 809fbc8: 461a mov r2, r3 809fbca: 0112 lsls r2, r2, #4 809fbcc: 1ad3 subs r3, r2, r3 809fbce: 005b lsls r3, r3, #1 809fbd0: b29b uxth r3, r3 809fbd2: 335a adds r3, #90 ; 0x5a 809fbd4: b29b uxth r3, r3 809fbd6: 22ae movs r2, #174 ; 0xae 809fbd8: 4619 mov r1, r3 809fbda: f7b5 fc0d bl 80553f8 for(i = 0; i < t; i++) 809fbde: 6dfb ldr r3, [r7, #92] ; 0x5c 809fbe0: 3301 adds r3, #1 809fbe2: 65fb str r3, [r7, #92] ; 0x5c 809fbe4: 6dfa ldr r2, [r7, #92] ; 0x5c 809fbe6: 6d7b ldr r3, [r7, #84] ; 0x54 809fbe8: 429a cmp r2, r3 809fbea: d3db bcc.n 809fba4 DrawImage(&bmgpt, 95 + 30*t, 198); 809fbec: 6d7b ldr r3, [r7, #84] ; 0x54 809fbee: b29b uxth r3, r3 809fbf0: 461a mov r2, r3 809fbf2: 0112 lsls r2, r2, #4 809fbf4: 1ad3 subs r3, r2, r3 809fbf6: 005b lsls r3, r3, #1 809fbf8: b29b uxth r3, r3 809fbfa: 335f adds r3, #95 ; 0x5f 809fbfc: b29b uxth r3, r3 809fbfe: 22c6 movs r2, #198 ; 0xc6 809fc00: 4619 mov r1, r3 809fc02: 482a ldr r0, [pc, #168] ; (809fcac ) 809fc04: f7b5 fbf8 bl 80553f8 for(i = t; i < 5; i++) 809fc08: 6d7b ldr r3, [r7, #84] ; 0x54 809fc0a: 65fb str r3, [r7, #92] ; 0x5c 809fc0c: e01f b.n 809fc4e DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809fc0e: 6d3a ldr r2, [r7, #80] ; 0x50 809fc10: 6df9 ldr r1, [r7, #92] ; 0x5c 809fc12: 4613 mov r3, r2 809fc14: 009b lsls r3, r3, #2 809fc16: 4413 add r3, r2 809fc18: f107 0268 add.w r2, r7, #104 ; 0x68 809fc1c: 4413 add r3, r2 809fc1e: 440b add r3, r1 809fc20: 3b34 subs r3, #52 ; 0x34 809fc22: 781b ldrb r3, [r3, #0] 809fc24: b2db uxtb r3, r3 809fc26: 461a mov r2, r3 809fc28: 4b1f ldr r3, [pc, #124] ; (809fca8 ) 809fc2a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809fc2e: 6dfb ldr r3, [r7, #92] ; 0x5c 809fc30: b29b uxth r3, r3 809fc32: 461a mov r2, r3 809fc34: 0112 lsls r2, r2, #4 809fc36: 1ad3 subs r3, r2, r3 809fc38: 005b lsls r3, r3, #1 809fc3a: b29b uxth r3, r3 809fc3c: 336e adds r3, #110 ; 0x6e 809fc3e: b29b uxth r3, r3 809fc40: 22ae movs r2, #174 ; 0xae 809fc42: 4619 mov r1, r3 809fc44: f7b5 fbd8 bl 80553f8 for(i = t; i < 5; i++) 809fc48: 6dfb ldr r3, [r7, #92] ; 0x5c 809fc4a: 3301 adds r3, #1 809fc4c: 65fb str r3, [r7, #92] ; 0x5c 809fc4e: 6dfb ldr r3, [r7, #92] ; 0x5c 809fc50: 2b04 cmp r3, #4 809fc52: d9dc bls.n 809fc0e if(pardata.IVS[DIS] < PEAK_FACTOR) 809fc54: 4b16 ldr r3, [pc, #88] ; (809fcb0 ) 809fc56: 791b ldrb r3, [r3, #4] 809fc58: b2db uxtb r3, r3 809fc5a: 2b02 cmp r3, #2 809fc5c: d854 bhi.n 809fd08 if(pardata.IIN != VOLTS) 809fc5e: 4b14 ldr r3, [pc, #80] ; (809fcb0 ) 809fc60: 799b ldrb r3, [r3, #6] 809fc62: b2db uxtb r3, r3 809fc64: 2b02 cmp r3, #2 809fc66: d031 beq.n 809fccc if(m == 0) 809fc68: 6cfb ldr r3, [r7, #76] ; 0x4c 809fc6a: 2b00 cmp r3, #0 809fc6c: d10d bne.n 809fc8a DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809fc6e: 4b10 ldr r3, [pc, #64] ; (809fcb0 ) 809fc70: 7b1b ldrb r3, [r3, #12] 809fc72: b2db uxtb r3, r3 809fc74: 461a mov r2, r3 809fc76: 4b13 ldr r3, [pc, #76] ; (809fcc4 ) 809fc78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809fc7c: 22b4 movs r2, #180 ; 0xb4 809fc7e: f240 1109 movw r1, #265 ; 0x109 809fc82: 4618 mov r0, r3 809fc84: f7b5 fbb8 bl 80553f8 809fc88: e03e b.n 809fd08 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809fc8a: 4b09 ldr r3, [pc, #36] ; (809fcb0 ) 809fc8c: 7b1b ldrb r3, [r3, #12] 809fc8e: b2db uxtb r3, r3 809fc90: 461a mov r2, r3 809fc92: 4b0d ldr r3, [pc, #52] ; (809fcc8 ) 809fc94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809fc98: 22b4 movs r2, #180 ; 0xb4 809fc9a: f240 1109 movw r1, #265 ; 0x109 809fc9e: 4618 mov r0, r3 809fca0: f7b5 fbaa bl 80553f8 809fca4: e030 b.n 809fd08 809fca6: bf00 nop 809fca8: 20020124 .word 0x20020124 809fcac: 0816be20 .word 0x0816be20 809fcb0: 20023ea8 .word 0x20023ea8 809fcb4: 200200fc .word 0x200200fc 809fcb8: 20020114 .word 0x20020114 809fcbc: 20021588 .word 0x20021588 809fcc0: 0816bd94 .word 0x0816bd94 809fcc4: 20020104 .word 0x20020104 809fcc8: 2002010c .word 0x2002010c if(m == 0) 809fccc: 6cfb ldr r3, [r7, #76] ; 0x4c 809fcce: 2b00 cmp r3, #0 809fcd0: d10d bne.n 809fcee DrawImage(BMG_MV[pardata.LANG], 265, 180); 809fcd2: 4bc1 ldr r3, [pc, #772] ; (809ffd8 ) 809fcd4: 7b1b ldrb r3, [r3, #12] 809fcd6: b2db uxtb r3, r3 809fcd8: 461a mov r2, r3 809fcda: 4bc0 ldr r3, [pc, #768] ; (809ffdc ) 809fcdc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809fce0: 22b4 movs r2, #180 ; 0xb4 809fce2: f240 1109 movw r1, #265 ; 0x109 809fce6: 4618 mov r0, r3 809fce8: f7b5 fb86 bl 80553f8 809fcec: e00c b.n 809fd08 else DrawImage(BMG_V[pardata.LANG], 265, 180); 809fcee: 4bba ldr r3, [pc, #744] ; (809ffd8 ) 809fcf0: 7b1b ldrb r3, [r3, #12] 809fcf2: b2db uxtb r3, r3 809fcf4: 461a mov r2, r3 809fcf6: 4bba ldr r3, [pc, #744] ; (809ffe0 ) 809fcf8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809fcfc: 22b4 movs r2, #180 ; 0xb4 809fcfe: f240 1109 movw r1, #265 ; 0x109 809fd02: 4618 mov r0, r3 809fd04: f7b5 fb78 bl 80553f8 if(pardata.IVS[ipr] == EXCESS) 809fd08: 6d3b ldr r3, [r7, #80] ; 0x50 809fd0a: 4ab3 ldr r2, [pc, #716] ; (809ffd8 ) 809fd0c: 4413 add r3, r2 809fd0e: 789b ldrb r3, [r3, #2] 809fd10: b2db uxtb r3, r3 809fd12: 2b04 cmp r3, #4 809fd14: f040 848b bne.w 80a062e if(skz[ipr] < 0.0f) { 809fd18: 6d3b ldr r3, [r7, #80] ; 0x50 809fd1a: 4ab2 ldr r2, [pc, #712] ; (809ffe4 ) 809fd1c: 009b lsls r3, r3, #2 809fd1e: 4413 add r3, r2 809fd20: edd3 7a00 vldr s15, [r3] 809fd24: eef5 7ac0 vcmpe.f32 s15, #0.0 809fd28: eef1 fa10 vmrs APSR_nzcv, fpscr 809fd2c: f140 847f bpl.w 80a062e DrawImage(&bmgminus, 78, 190); 809fd30: 22be movs r2, #190 ; 0xbe 809fd32: 214e movs r1, #78 ; 0x4e 809fd34: 48ac ldr r0, [pc, #688] ; (809ffe8 ) 809fd36: f7b5 fb5f bl 80553f8 809fd3a: f000 bc78 b.w 80a062e if(skz[ACC] != -1.0f) 809fd3e: 4ba9 ldr r3, [pc, #676] ; (809ffe4 ) 809fd40: edd3 7a00 vldr s15, [r3] 809fd44: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809fd48: eef4 7a47 vcmp.f32 s15, s14 809fd4c: eef1 fa10 vmrs APSR_nzcv, fpscr 809fd50: f000 846d beq.w 80a062e if(ipr == VEL) 809fd54: 6d3b ldr r3, [r7, #80] ; 0x50 809fd56: 2b01 cmp r3, #1 809fd58: d116 bne.n 809fd88 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809fd5a: 49a4 ldr r1, [pc, #656] ; (809ffec ) 809fd5c: 48a4 ldr r0, [pc, #656] ; (809fff0 ) 809fd5e: f7b4 fc57 bl 8054610 if(pardata.LANG == RUS) 809fd62: 4b9d ldr r3, [pc, #628] ; (809ffd8 ) 809fd64: 7b1b ldrb r3, [r3, #12] 809fd66: b2db uxtb r3, r3 809fd68: 2b00 cmp r3, #0 809fd6a: d106 bne.n 809fd7a LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809fd6c: 4aa1 ldr r2, [pc, #644] ; (809fff4 ) 809fd6e: 2187 movs r1, #135 ; 0x87 809fd70: 20a7 movs r0, #167 ; 0xa7 809fd72: f7b5 fa0d bl 8055190 809fd76: f000 bc5a b.w 80a062e else LCD_DisplayStringC(167, 135, "NO DATA"); 809fd7a: 4a9f ldr r2, [pc, #636] ; (809fff8 ) 809fd7c: 2187 movs r1, #135 ; 0x87 809fd7e: 20a7 movs r0, #167 ; 0xa7 809fd80: f7b5 fa06 bl 8055190 809fd84: f000 bc53 b.w 80a062e if(ipr == DIS) 809fd88: 6d3b ldr r3, [r7, #80] ; 0x50 809fd8a: 2b02 cmp r3, #2 809fd8c: f040 844f bne.w 80a062e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809fd90: 4996 ldr r1, [pc, #600] ; (809ffec ) 809fd92: 4897 ldr r0, [pc, #604] ; (809fff0 ) 809fd94: f7b4 fc3c bl 8054610 if(pardata.LANG == RUS) 809fd98: 4b8f ldr r3, [pc, #572] ; (809ffd8 ) 809fd9a: 7b1b ldrb r3, [r3, #12] 809fd9c: b2db uxtb r3, r3 809fd9e: 2b00 cmp r3, #0 809fda0: d106 bne.n 809fdb0 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809fda2: 4a94 ldr r2, [pc, #592] ; (809fff4 ) 809fda4: 21b9 movs r1, #185 ; 0xb9 809fda6: 20a7 movs r0, #167 ; 0xa7 809fda8: f7b5 f9f2 bl 8055190 809fdac: f000 bc3f b.w 80a062e else LCD_DisplayStringC(167, 185, "NO DATA"); 809fdb0: 4a91 ldr r2, [pc, #580] ; (809fff8 ) 809fdb2: 21b9 movs r1, #185 ; 0xb9 809fdb4: 20a7 movs r0, #167 ; 0xa7 809fdb6: f7b5 f9eb bl 8055190 809fdba: f000 bc38 b.w 80a062e if(skz[ipr] != -1.0f) 809fdbe: 6d3b ldr r3, [r7, #80] ; 0x50 809fdc0: 4a88 ldr r2, [pc, #544] ; (809ffe4 ) 809fdc2: 009b lsls r3, r3, #2 809fdc4: 4413 add r3, r2 809fdc6: edd3 7a00 vldr s15, [r3] 809fdca: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809fdce: eef4 7a47 vcmp.f32 s15, s14 809fdd2: eef1 fa10 vmrs APSR_nzcv, fpscr 809fdd6: f000 83d8 beq.w 80a058a f = ABS(skzDB[ipr]); 809fdda: 6d3b ldr r3, [r7, #80] ; 0x50 809fddc: 4a87 ldr r2, [pc, #540] ; (809fffc ) 809fdde: 009b lsls r3, r3, #2 809fde0: 4413 add r3, r2 809fde2: edd3 7a00 vldr s15, [r3] 809fde6: eef5 7ac0 vcmpe.f32 s15, #0.0 809fdea: eef1 fa10 vmrs APSR_nzcv, fpscr 809fdee: dd06 ble.n 809fdfe 809fdf0: 6d3b ldr r3, [r7, #80] ; 0x50 809fdf2: 4a82 ldr r2, [pc, #520] ; (809fffc ) 809fdf4: 009b lsls r3, r3, #2 809fdf6: 4413 add r3, r2 809fdf8: edd3 7a00 vldr s15, [r3] 809fdfc: e007 b.n 809fe0e 809fdfe: 6d3b ldr r3, [r7, #80] ; 0x50 809fe00: 4a7e ldr r2, [pc, #504] ; (809fffc ) 809fe02: 009b lsls r3, r3, #2 809fe04: 4413 add r3, r2 809fe06: edd3 7a00 vldr s15, [r3] 809fe0a: eef1 7a67 vneg.f32 s15, s15 809fe0e: edc7 7a11 vstr s15, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f * 10 + 0.5f)); 809fe12: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fe16: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809fe1a: ee67 7a87 vmul.f32 s15, s15, s14 809fe1e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 809fe22: ee77 7a87 vadd.f32 s15, s15, s14 809fe26: eeb0 0a67 vmov.f32 s0, s15 809fe2a: f02f f8bb bl 80cefa4 809fe2e: eef0 7a40 vmov.f32 s15, s0 809fe32: eefc 7ae7 vcvt.u32.f32 s15, s15 809fe36: ee17 3a90 vmov r3, s15 809fe3a: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 809fe3c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fe40: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809fe44: eef4 7ac7 vcmpe.f32 s15, s14 809fe48: eef1 fa10 vmrs APSR_nzcv, fpscr 809fe4c: f140 80e2 bpl.w 80a0014 ik[ipr][0] = (uint8_t) (k / 10); 809fe50: 6d3a ldr r2, [r7, #80] ; 0x50 809fe52: 6dbb ldr r3, [r7, #88] ; 0x58 809fe54: 496a ldr r1, [pc, #424] ; (80a0000 ) 809fe56: fba1 1303 umull r1, r3, r1, r3 809fe5a: 08db lsrs r3, r3, #3 809fe5c: b2d9 uxtb r1, r3 809fe5e: 4613 mov r3, r2 809fe60: 009b lsls r3, r3, #2 809fe62: 4413 add r3, r2 809fe64: f107 0268 add.w r2, r7, #104 ; 0x68 809fe68: 4413 add r3, r2 809fe6a: 3b34 subs r3, #52 ; 0x34 809fe6c: 460a mov r2, r1 809fe6e: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 809fe70: 6d38 ldr r0, [r7, #80] ; 0x50 809fe72: 6db9 ldr r1, [r7, #88] ; 0x58 809fe74: 4b62 ldr r3, [pc, #392] ; (80a0000 ) 809fe76: fba3 2301 umull r2, r3, r3, r1 809fe7a: 08da lsrs r2, r3, #3 809fe7c: 4613 mov r3, r2 809fe7e: 009b lsls r3, r3, #2 809fe80: 4413 add r3, r2 809fe82: 005b lsls r3, r3, #1 809fe84: 1aca subs r2, r1, r3 809fe86: b2d2 uxtb r2, r2 809fe88: 4603 mov r3, r0 809fe8a: 009b lsls r3, r3, #2 809fe8c: 4403 add r3, r0 809fe8e: f107 0168 add.w r1, r7, #104 ; 0x68 809fe92: 440b add r3, r1 809fe94: 3b33 subs r3, #51 ; 0x33 809fe96: 701a strb r2, [r3, #0] if(ipr == ACC) 809fe98: 6d3b ldr r3, [r7, #80] ; 0x50 809fe9a: 2b00 cmp r3, #0 809fe9c: d131 bne.n 809ff02 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 809fe9e: 6d3a ldr r2, [r7, #80] ; 0x50 809fea0: 4613 mov r3, r2 809fea2: 009b lsls r3, r3, #2 809fea4: 4413 add r3, r2 809fea6: f107 0268 add.w r2, r7, #104 ; 0x68 809feaa: 4413 add r3, r2 809feac: 3b33 subs r3, #51 ; 0x33 809feae: 781b ldrb r3, [r3, #0] 809feb0: b2db uxtb r3, r3 809feb2: 461a mov r2, r3 809feb4: 4b53 ldr r3, [pc, #332] ; (80a0004 ) 809feb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809feba: 2256 movs r2, #86 ; 0x56 809febc: 21e6 movs r1, #230 ; 0xe6 809febe: 4618 mov r0, r3 809fec0: f7b5 fa9a bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 92+18); 809fec4: 226e movs r2, #110 ; 0x6e 809fec6: 21d7 movs r1, #215 ; 0xd7 809fec8: 484f ldr r0, [pc, #316] ; (80a0008 ) 809feca: f7b5 fa95 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 809fece: 6d3a ldr r2, [r7, #80] ; 0x50 809fed0: 4613 mov r3, r2 809fed2: 009b lsls r3, r3, #2 809fed4: 4413 add r3, r2 809fed6: f107 0268 add.w r2, r7, #104 ; 0x68 809feda: 4413 add r3, r2 809fedc: 3b34 subs r3, #52 ; 0x34 809fede: 781b ldrb r3, [r3, #0] 809fee0: b2db uxtb r3, r3 809fee2: 461a mov r2, r3 809fee4: 4b47 ldr r3, [pc, #284] ; (80a0004 ) 809fee6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809feea: 2256 movs r2, #86 ; 0x56 809feec: 21b4 movs r1, #180 ; 0xb4 809feee: 4618 mov r0, r3 809fef0: f7b5 fa82 bl 80553f8 DrawImage(&bmg_dB, 265, 74+18); 809fef4: 225c movs r2, #92 ; 0x5c 809fef6: f240 1109 movw r1, #265 ; 0x109 809fefa: 4844 ldr r0, [pc, #272] ; (80a000c ) 809fefc: f7b5 fa7c bl 80553f8 809ff00: e395 b.n 80a062e if(ipr == VEL) 809ff02: 6d3b ldr r3, [r7, #80] ; 0x50 809ff04: 2b01 cmp r3, #1 809ff06: d131 bne.n 809ff6c DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 809ff08: 6d3a ldr r2, [r7, #80] ; 0x50 809ff0a: 4613 mov r3, r2 809ff0c: 009b lsls r3, r3, #2 809ff0e: 4413 add r3, r2 809ff10: f107 0268 add.w r2, r7, #104 ; 0x68 809ff14: 4413 add r3, r2 809ff16: 3b33 subs r3, #51 ; 0x33 809ff18: 781b ldrb r3, [r3, #0] 809ff1a: b2db uxtb r3, r3 809ff1c: 461a mov r2, r3 809ff1e: 4b39 ldr r3, [pc, #228] ; (80a0004 ) 809ff20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ff24: 2282 movs r2, #130 ; 0x82 809ff26: 21e6 movs r1, #230 ; 0xe6 809ff28: 4618 mov r0, r3 809ff2a: f7b5 fa65 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 145+9); 809ff2e: 229a movs r2, #154 ; 0x9a 809ff30: 21d7 movs r1, #215 ; 0xd7 809ff32: 4835 ldr r0, [pc, #212] ; (80a0008 ) 809ff34: f7b5 fa60 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 809ff38: 6d3a ldr r2, [r7, #80] ; 0x50 809ff3a: 4613 mov r3, r2 809ff3c: 009b lsls r3, r3, #2 809ff3e: 4413 add r3, r2 809ff40: f107 0268 add.w r2, r7, #104 ; 0x68 809ff44: 4413 add r3, r2 809ff46: 3b34 subs r3, #52 ; 0x34 809ff48: 781b ldrb r3, [r3, #0] 809ff4a: b2db uxtb r3, r3 809ff4c: 461a mov r2, r3 809ff4e: 4b2d ldr r3, [pc, #180] ; (80a0004 ) 809ff50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ff54: 2282 movs r2, #130 ; 0x82 809ff56: 21b4 movs r1, #180 ; 0xb4 809ff58: 4618 mov r0, r3 809ff5a: f7b5 fa4d bl 80553f8 DrawImage(&bmg_dB, 265, 128+9); 809ff5e: 2289 movs r2, #137 ; 0x89 809ff60: f240 1109 movw r1, #265 ; 0x109 809ff64: 4829 ldr r0, [pc, #164] ; (80a000c ) 809ff66: f7b5 fa47 bl 80553f8 809ff6a: e360 b.n 80a062e if(ipr == DIS) 809ff6c: 6d3b ldr r3, [r7, #80] ; 0x50 809ff6e: 2b02 cmp r3, #2 809ff70: f040 835d bne.w 80a062e DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 809ff74: 6d3a ldr r2, [r7, #80] ; 0x50 809ff76: 4613 mov r3, r2 809ff78: 009b lsls r3, r3, #2 809ff7a: 4413 add r3, r2 809ff7c: f107 0268 add.w r2, r7, #104 ; 0x68 809ff80: 4413 add r3, r2 809ff82: 3b33 subs r3, #51 ; 0x33 809ff84: 781b ldrb r3, [r3, #0] 809ff86: b2db uxtb r3, r3 809ff88: 461a mov r2, r3 809ff8a: 4b1e ldr r3, [pc, #120] ; (80a0004 ) 809ff8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ff90: 22ae movs r2, #174 ; 0xae 809ff92: 21e6 movs r1, #230 ; 0xe6 809ff94: 4618 mov r0, r3 809ff96: f7b5 fa2f bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 198); 809ff9a: 22c6 movs r2, #198 ; 0xc6 809ff9c: 21d7 movs r1, #215 ; 0xd7 809ff9e: 481a ldr r0, [pc, #104] ; (80a0008 ) 809ffa0: f7b5 fa2a bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 809ffa4: 6d3a ldr r2, [r7, #80] ; 0x50 809ffa6: 4613 mov r3, r2 809ffa8: 009b lsls r3, r3, #2 809ffaa: 4413 add r3, r2 809ffac: f107 0268 add.w r2, r7, #104 ; 0x68 809ffb0: 4413 add r3, r2 809ffb2: 3b34 subs r3, #52 ; 0x34 809ffb4: 781b ldrb r3, [r3, #0] 809ffb6: b2db uxtb r3, r3 809ffb8: 461a mov r2, r3 809ffba: 4b12 ldr r3, [pc, #72] ; (80a0004 ) 809ffbc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ffc0: 22ae movs r2, #174 ; 0xae 809ffc2: 21b4 movs r1, #180 ; 0xb4 809ffc4: 4618 mov r0, r3 809ffc6: f7b5 fa17 bl 80553f8 DrawImage(&bmg_dB, 265, 180); 809ffca: 22b4 movs r2, #180 ; 0xb4 809ffcc: f240 1109 movw r1, #265 ; 0x109 809ffd0: 480e ldr r0, [pc, #56] ; (80a000c ) 809ffd2: f7b5 fa11 bl 80553f8 809ffd6: e32a b.n 80a062e 809ffd8: 20023ea8 .word 0x20023ea8 809ffdc: 20020114 .word 0x20020114 809ffe0: 2002011c .word 0x2002011c 809ffe4: 20021588 .word 0x20021588 809ffe8: 0816bd94 .word 0x0816bd94 809ffec: ff0a0f1f .word 0xff0a0f1f 809fff0: ffb8e828 .word 0xffb8e828 809fff4: 080d3e64 .word 0x080d3e64 809fff8: 080d3e70 .word 0x080d3e70 809fffc: 20021594 .word 0x20021594 80a0000: cccccccd .word 0xcccccccd 80a0004: 20020124 .word 0x20020124 80a0008: 0816be20 .word 0x0816be20 80a000c: 0816706c .word 0x0816706c 80a0010: 42c80000 .word 0x42c80000 if(f < 100.0f) 80a0014: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0018: ed1f 7a03 vldr s14, [pc, #-12] ; 80a0010 80a001c: eef4 7ac7 vcmpe.f32 s15, s14 80a0020: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0024: f140 8128 bpl.w 80a0278 ik[ipr][0] = (uint8_t) (k / 100); 80a0028: 6d3a ldr r2, [r7, #80] ; 0x50 80a002a: 6dbb ldr r3, [r7, #88] ; 0x58 80a002c: 498c ldr r1, [pc, #560] ; (80a0260 ) 80a002e: fba1 1303 umull r1, r3, r1, r3 80a0032: 095b lsrs r3, r3, #5 80a0034: b2d9 uxtb r1, r3 80a0036: 4613 mov r3, r2 80a0038: 009b lsls r3, r3, #2 80a003a: 4413 add r3, r2 80a003c: f107 0268 add.w r2, r7, #104 ; 0x68 80a0040: 4413 add r3, r2 80a0042: 3b34 subs r3, #52 ; 0x34 80a0044: 460a mov r2, r1 80a0046: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 80a0048: 6d39 ldr r1, [r7, #80] ; 0x50 80a004a: 6dba ldr r2, [r7, #88] ; 0x58 80a004c: 4b84 ldr r3, [pc, #528] ; (80a0260 ) 80a004e: fba3 0302 umull r0, r3, r3, r2 80a0052: 095b lsrs r3, r3, #5 80a0054: 2064 movs r0, #100 ; 0x64 80a0056: fb00 f303 mul.w r3, r0, r3 80a005a: 1ad3 subs r3, r2, r3 80a005c: 4a81 ldr r2, [pc, #516] ; (80a0264 ) 80a005e: fba2 2303 umull r2, r3, r2, r3 80a0062: 08db lsrs r3, r3, #3 80a0064: b2da uxtb r2, r3 80a0066: 460b mov r3, r1 80a0068: 009b lsls r3, r3, #2 80a006a: 440b add r3, r1 80a006c: f107 0168 add.w r1, r7, #104 ; 0x68 80a0070: 440b add r3, r1 80a0072: 3b33 subs r3, #51 ; 0x33 80a0074: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 80a0076: 6d38 ldr r0, [r7, #80] ; 0x50 80a0078: 6dbb ldr r3, [r7, #88] ; 0x58 80a007a: 4a79 ldr r2, [pc, #484] ; (80a0260 ) 80a007c: fba2 1203 umull r1, r2, r2, r3 80a0080: 0952 lsrs r2, r2, #5 80a0082: 2164 movs r1, #100 ; 0x64 80a0084: fb01 f202 mul.w r2, r1, r2 80a0088: 1a9a subs r2, r3, r2 80a008a: 4b76 ldr r3, [pc, #472] ; (80a0264 ) 80a008c: fba3 1302 umull r1, r3, r3, r2 80a0090: 08d9 lsrs r1, r3, #3 80a0092: 460b mov r3, r1 80a0094: 009b lsls r3, r3, #2 80a0096: 440b add r3, r1 80a0098: 005b lsls r3, r3, #1 80a009a: 1ad1 subs r1, r2, r3 80a009c: b2ca uxtb r2, r1 80a009e: 4603 mov r3, r0 80a00a0: 009b lsls r3, r3, #2 80a00a2: 4403 add r3, r0 80a00a4: f107 0168 add.w r1, r7, #104 ; 0x68 80a00a8: 440b add r3, r1 80a00aa: 3b32 subs r3, #50 ; 0x32 80a00ac: 701a strb r2, [r3, #0] if(ipr == ACC) 80a00ae: 6d3b ldr r3, [r7, #80] ; 0x50 80a00b0: 2b00 cmp r3, #0 80a00b2: d144 bne.n 80a013e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 80a00b4: 6d3a ldr r2, [r7, #80] ; 0x50 80a00b6: 4613 mov r3, r2 80a00b8: 009b lsls r3, r3, #2 80a00ba: 4413 add r3, r2 80a00bc: f107 0268 add.w r2, r7, #104 ; 0x68 80a00c0: 4413 add r3, r2 80a00c2: 3b32 subs r3, #50 ; 0x32 80a00c4: 781b ldrb r3, [r3, #0] 80a00c6: b2db uxtb r3, r3 80a00c8: 461a mov r2, r3 80a00ca: 4b67 ldr r3, [pc, #412] ; (80a0268 ) 80a00cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a00d0: 2256 movs r2, #86 ; 0x56 80a00d2: 21e6 movs r1, #230 ; 0xe6 80a00d4: 4618 mov r0, r3 80a00d6: f7b5 f98f bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a00da: 226e movs r2, #110 ; 0x6e 80a00dc: 21d7 movs r1, #215 ; 0xd7 80a00de: 4863 ldr r0, [pc, #396] ; (80a026c ) 80a00e0: f7b5 f98a bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 80a00e4: 6d3a ldr r2, [r7, #80] ; 0x50 80a00e6: 4613 mov r3, r2 80a00e8: 009b lsls r3, r3, #2 80a00ea: 4413 add r3, r2 80a00ec: f107 0268 add.w r2, r7, #104 ; 0x68 80a00f0: 4413 add r3, r2 80a00f2: 3b33 subs r3, #51 ; 0x33 80a00f4: 781b ldrb r3, [r3, #0] 80a00f6: b2db uxtb r3, r3 80a00f8: 461a mov r2, r3 80a00fa: 4b5b ldr r3, [pc, #364] ; (80a0268 ) 80a00fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0100: 2256 movs r2, #86 ; 0x56 80a0102: 21b4 movs r1, #180 ; 0xb4 80a0104: 4618 mov r0, r3 80a0106: f7b5 f977 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 80a010a: 6d3a ldr r2, [r7, #80] ; 0x50 80a010c: 4613 mov r3, r2 80a010e: 009b lsls r3, r3, #2 80a0110: 4413 add r3, r2 80a0112: f107 0268 add.w r2, r7, #104 ; 0x68 80a0116: 4413 add r3, r2 80a0118: 3b34 subs r3, #52 ; 0x34 80a011a: 781b ldrb r3, [r3, #0] 80a011c: b2db uxtb r3, r3 80a011e: 461a mov r2, r3 80a0120: 4b51 ldr r3, [pc, #324] ; (80a0268 ) 80a0122: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0126: 2256 movs r2, #86 ; 0x56 80a0128: 2196 movs r1, #150 ; 0x96 80a012a: 4618 mov r0, r3 80a012c: f7b5 f964 bl 80553f8 DrawImage(&bmg_dB, 265, 74+18); 80a0130: 225c movs r2, #92 ; 0x5c 80a0132: f240 1109 movw r1, #265 ; 0x109 80a0136: 484e ldr r0, [pc, #312] ; (80a0270 ) 80a0138: f7b5 f95e bl 80553f8 80a013c: e277 b.n 80a062e if(ipr == VEL) 80a013e: 6d3b ldr r3, [r7, #80] ; 0x50 80a0140: 2b01 cmp r3, #1 80a0142: d144 bne.n 80a01ce DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 80a0144: 6d3a ldr r2, [r7, #80] ; 0x50 80a0146: 4613 mov r3, r2 80a0148: 009b lsls r3, r3, #2 80a014a: 4413 add r3, r2 80a014c: f107 0268 add.w r2, r7, #104 ; 0x68 80a0150: 4413 add r3, r2 80a0152: 3b32 subs r3, #50 ; 0x32 80a0154: 781b ldrb r3, [r3, #0] 80a0156: b2db uxtb r3, r3 80a0158: 461a mov r2, r3 80a015a: 4b43 ldr r3, [pc, #268] ; (80a0268 ) 80a015c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0160: 2282 movs r2, #130 ; 0x82 80a0162: 21e6 movs r1, #230 ; 0xe6 80a0164: 4618 mov r0, r3 80a0166: f7b5 f947 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a016a: 229a movs r2, #154 ; 0x9a 80a016c: 21d7 movs r1, #215 ; 0xd7 80a016e: 483f ldr r0, [pc, #252] ; (80a026c ) 80a0170: f7b5 f942 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 80a0174: 6d3a ldr r2, [r7, #80] ; 0x50 80a0176: 4613 mov r3, r2 80a0178: 009b lsls r3, r3, #2 80a017a: 4413 add r3, r2 80a017c: f107 0268 add.w r2, r7, #104 ; 0x68 80a0180: 4413 add r3, r2 80a0182: 3b33 subs r3, #51 ; 0x33 80a0184: 781b ldrb r3, [r3, #0] 80a0186: b2db uxtb r3, r3 80a0188: 461a mov r2, r3 80a018a: 4b37 ldr r3, [pc, #220] ; (80a0268 ) 80a018c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0190: 2282 movs r2, #130 ; 0x82 80a0192: 21b4 movs r1, #180 ; 0xb4 80a0194: 4618 mov r0, r3 80a0196: f7b5 f92f bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 80a019a: 6d3a ldr r2, [r7, #80] ; 0x50 80a019c: 4613 mov r3, r2 80a019e: 009b lsls r3, r3, #2 80a01a0: 4413 add r3, r2 80a01a2: f107 0268 add.w r2, r7, #104 ; 0x68 80a01a6: 4413 add r3, r2 80a01a8: 3b34 subs r3, #52 ; 0x34 80a01aa: 781b ldrb r3, [r3, #0] 80a01ac: b2db uxtb r3, r3 80a01ae: 461a mov r2, r3 80a01b0: 4b2d ldr r3, [pc, #180] ; (80a0268 ) 80a01b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a01b6: 2282 movs r2, #130 ; 0x82 80a01b8: 2196 movs r1, #150 ; 0x96 80a01ba: 4618 mov r0, r3 80a01bc: f7b5 f91c bl 80553f8 DrawImage(&bmg_dB, 265, 128+9); 80a01c0: 2289 movs r2, #137 ; 0x89 80a01c2: f240 1109 movw r1, #265 ; 0x109 80a01c6: 482a ldr r0, [pc, #168] ; (80a0270 ) 80a01c8: f7b5 f916 bl 80553f8 80a01cc: e22f b.n 80a062e if(ipr == DIS) 80a01ce: 6d3b ldr r3, [r7, #80] ; 0x50 80a01d0: 2b02 cmp r3, #2 80a01d2: f040 822c bne.w 80a062e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 80a01d6: 6d3a ldr r2, [r7, #80] ; 0x50 80a01d8: 4613 mov r3, r2 80a01da: 009b lsls r3, r3, #2 80a01dc: 4413 add r3, r2 80a01de: f107 0268 add.w r2, r7, #104 ; 0x68 80a01e2: 4413 add r3, r2 80a01e4: 3b32 subs r3, #50 ; 0x32 80a01e6: 781b ldrb r3, [r3, #0] 80a01e8: b2db uxtb r3, r3 80a01ea: 461a mov r2, r3 80a01ec: 4b1e ldr r3, [pc, #120] ; (80a0268 ) 80a01ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a01f2: 22ae movs r2, #174 ; 0xae 80a01f4: 21e6 movs r1, #230 ; 0xe6 80a01f6: 4618 mov r0, r3 80a01f8: f7b5 f8fe bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 198); 80a01fc: 22c6 movs r2, #198 ; 0xc6 80a01fe: 21d7 movs r1, #215 ; 0xd7 80a0200: 481a ldr r0, [pc, #104] ; (80a026c ) 80a0202: f7b5 f8f9 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 80a0206: 6d3a ldr r2, [r7, #80] ; 0x50 80a0208: 4613 mov r3, r2 80a020a: 009b lsls r3, r3, #2 80a020c: 4413 add r3, r2 80a020e: f107 0268 add.w r2, r7, #104 ; 0x68 80a0212: 4413 add r3, r2 80a0214: 3b33 subs r3, #51 ; 0x33 80a0216: 781b ldrb r3, [r3, #0] 80a0218: b2db uxtb r3, r3 80a021a: 461a mov r2, r3 80a021c: 4b12 ldr r3, [pc, #72] ; (80a0268 ) 80a021e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0222: 22ae movs r2, #174 ; 0xae 80a0224: 21b4 movs r1, #180 ; 0xb4 80a0226: 4618 mov r0, r3 80a0228: f7b5 f8e6 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 80a022c: 6d3a ldr r2, [r7, #80] ; 0x50 80a022e: 4613 mov r3, r2 80a0230: 009b lsls r3, r3, #2 80a0232: 4413 add r3, r2 80a0234: f107 0268 add.w r2, r7, #104 ; 0x68 80a0238: 4413 add r3, r2 80a023a: 3b34 subs r3, #52 ; 0x34 80a023c: 781b ldrb r3, [r3, #0] 80a023e: b2db uxtb r3, r3 80a0240: 461a mov r2, r3 80a0242: 4b09 ldr r3, [pc, #36] ; (80a0268 ) 80a0244: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0248: 22ae movs r2, #174 ; 0xae 80a024a: 2196 movs r1, #150 ; 0x96 80a024c: 4618 mov r0, r3 80a024e: f7b5 f8d3 bl 80553f8 DrawImage(&bmg_dB, 265, 180); 80a0252: 22b4 movs r2, #180 ; 0xb4 80a0254: f240 1109 movw r1, #265 ; 0x109 80a0258: 4805 ldr r0, [pc, #20] ; (80a0270 ) 80a025a: f7b5 f8cd bl 80553f8 80a025e: e1e6 b.n 80a062e 80a0260: 51eb851f .word 0x51eb851f 80a0264: cccccccd .word 0xcccccccd 80a0268: 20020124 .word 0x20020124 80a026c: 0816be20 .word 0x0816be20 80a0270: 0816706c .word 0x0816706c 80a0274: 447a0000 .word 0x447a0000 if(f < 1000.0f) 80a0278: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a027c: ed1f 7a03 vldr s14, [pc, #-12] ; 80a0274 80a0280: eef4 7ac7 vcmpe.f32 s15, s14 80a0284: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0288: f140 81d1 bpl.w 80a062e ik[ipr][0] = (uint8_t) (k / 1000); 80a028c: 6d3a ldr r2, [r7, #80] ; 0x50 80a028e: 6dbb ldr r3, [r7, #88] ; 0x58 80a0290: 49cf ldr r1, [pc, #828] ; (80a05d0 ) 80a0292: fba1 1303 umull r1, r3, r1, r3 80a0296: 099b lsrs r3, r3, #6 80a0298: b2d9 uxtb r1, r3 80a029a: 4613 mov r3, r2 80a029c: 009b lsls r3, r3, #2 80a029e: 4413 add r3, r2 80a02a0: f107 0268 add.w r2, r7, #104 ; 0x68 80a02a4: 4413 add r3, r2 80a02a6: 3b34 subs r3, #52 ; 0x34 80a02a8: 460a mov r2, r1 80a02aa: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 80a02ac: 6d39 ldr r1, [r7, #80] ; 0x50 80a02ae: 6dba ldr r2, [r7, #88] ; 0x58 80a02b0: 4bc7 ldr r3, [pc, #796] ; (80a05d0 ) 80a02b2: fba3 0302 umull r0, r3, r3, r2 80a02b6: 099b lsrs r3, r3, #6 80a02b8: f44f 707a mov.w r0, #1000 ; 0x3e8 80a02bc: fb00 f303 mul.w r3, r0, r3 80a02c0: 1ad3 subs r3, r2, r3 80a02c2: 4ac4 ldr r2, [pc, #784] ; (80a05d4 ) 80a02c4: fba2 2303 umull r2, r3, r2, r3 80a02c8: 095b lsrs r3, r3, #5 80a02ca: b2da uxtb r2, r3 80a02cc: 460b mov r3, r1 80a02ce: 009b lsls r3, r3, #2 80a02d0: 440b add r3, r1 80a02d2: f107 0168 add.w r1, r7, #104 ; 0x68 80a02d6: 440b add r3, r1 80a02d8: 3b33 subs r3, #51 ; 0x33 80a02da: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 80a02dc: 6d39 ldr r1, [r7, #80] ; 0x50 80a02de: 6dba ldr r2, [r7, #88] ; 0x58 80a02e0: 4bbb ldr r3, [pc, #748] ; (80a05d0 ) 80a02e2: fba3 0302 umull r0, r3, r3, r2 80a02e6: 099b lsrs r3, r3, #6 80a02e8: f44f 707a mov.w r0, #1000 ; 0x3e8 80a02ec: fb00 f303 mul.w r3, r0, r3 80a02f0: 1ad3 subs r3, r2, r3 80a02f2: 4ab8 ldr r2, [pc, #736] ; (80a05d4 ) 80a02f4: fba2 0203 umull r0, r2, r2, r3 80a02f8: 0952 lsrs r2, r2, #5 80a02fa: 2064 movs r0, #100 ; 0x64 80a02fc: fb00 f202 mul.w r2, r0, r2 80a0300: 1a9a subs r2, r3, r2 80a0302: 4bb5 ldr r3, [pc, #724] ; (80a05d8 ) 80a0304: fba3 2302 umull r2, r3, r3, r2 80a0308: 08db lsrs r3, r3, #3 80a030a: b2da uxtb r2, r3 80a030c: 460b mov r3, r1 80a030e: 009b lsls r3, r3, #2 80a0310: 440b add r3, r1 80a0312: f107 0168 add.w r1, r7, #104 ; 0x68 80a0316: 440b add r3, r1 80a0318: 3b32 subs r3, #50 ; 0x32 80a031a: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 80a031c: 6d38 ldr r0, [r7, #80] ; 0x50 80a031e: 6dba ldr r2, [r7, #88] ; 0x58 80a0320: 4bab ldr r3, [pc, #684] ; (80a05d0 ) 80a0322: fba3 1302 umull r1, r3, r3, r2 80a0326: 099b lsrs r3, r3, #6 80a0328: f44f 717a mov.w r1, #1000 ; 0x3e8 80a032c: fb01 f303 mul.w r3, r1, r3 80a0330: 1ad3 subs r3, r2, r3 80a0332: 4aa8 ldr r2, [pc, #672] ; (80a05d4 ) 80a0334: fba2 1203 umull r1, r2, r2, r3 80a0338: 0952 lsrs r2, r2, #5 80a033a: 2164 movs r1, #100 ; 0x64 80a033c: fb01 f202 mul.w r2, r1, r2 80a0340: 1a9a subs r2, r3, r2 80a0342: 4ba5 ldr r3, [pc, #660] ; (80a05d8 ) 80a0344: fba3 1302 umull r1, r3, r3, r2 80a0348: 08d9 lsrs r1, r3, #3 80a034a: 460b mov r3, r1 80a034c: 009b lsls r3, r3, #2 80a034e: 440b add r3, r1 80a0350: 005b lsls r3, r3, #1 80a0352: 1ad1 subs r1, r2, r3 80a0354: b2ca uxtb r2, r1 80a0356: 4603 mov r3, r0 80a0358: 009b lsls r3, r3, #2 80a035a: 4403 add r3, r0 80a035c: f107 0168 add.w r1, r7, #104 ; 0x68 80a0360: 440b add r3, r1 80a0362: 3b31 subs r3, #49 ; 0x31 80a0364: 701a strb r2, [r3, #0] if(ipr == ACC) 80a0366: 6d3b ldr r3, [r7, #80] ; 0x50 80a0368: 2b00 cmp r3, #0 80a036a: d157 bne.n 80a041c DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 80a036c: 6d3a ldr r2, [r7, #80] ; 0x50 80a036e: 4613 mov r3, r2 80a0370: 009b lsls r3, r3, #2 80a0372: 4413 add r3, r2 80a0374: f107 0268 add.w r2, r7, #104 ; 0x68 80a0378: 4413 add r3, r2 80a037a: 3b31 subs r3, #49 ; 0x31 80a037c: 781b ldrb r3, [r3, #0] 80a037e: b2db uxtb r3, r3 80a0380: 461a mov r2, r3 80a0382: 4b96 ldr r3, [pc, #600] ; (80a05dc ) 80a0384: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0388: 2256 movs r2, #86 ; 0x56 80a038a: 21e6 movs r1, #230 ; 0xe6 80a038c: 4618 mov r0, r3 80a038e: f7b5 f833 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a0392: 226e movs r2, #110 ; 0x6e 80a0394: 21d7 movs r1, #215 ; 0xd7 80a0396: 4892 ldr r0, [pc, #584] ; (80a05e0 ) 80a0398: f7b5 f82e bl 80553f8 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 80a039c: 6d3a ldr r2, [r7, #80] ; 0x50 80a039e: 4613 mov r3, r2 80a03a0: 009b lsls r3, r3, #2 80a03a2: 4413 add r3, r2 80a03a4: f107 0268 add.w r2, r7, #104 ; 0x68 80a03a8: 4413 add r3, r2 80a03aa: 3b32 subs r3, #50 ; 0x32 80a03ac: 781b ldrb r3, [r3, #0] 80a03ae: b2db uxtb r3, r3 80a03b0: 461a mov r2, r3 80a03b2: 4b8a ldr r3, [pc, #552] ; (80a05dc ) 80a03b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a03b8: 2256 movs r2, #86 ; 0x56 80a03ba: 21b4 movs r1, #180 ; 0xb4 80a03bc: 4618 mov r0, r3 80a03be: f7b5 f81b bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 80a03c2: 6d3a ldr r2, [r7, #80] ; 0x50 80a03c4: 4613 mov r3, r2 80a03c6: 009b lsls r3, r3, #2 80a03c8: 4413 add r3, r2 80a03ca: f107 0268 add.w r2, r7, #104 ; 0x68 80a03ce: 4413 add r3, r2 80a03d0: 3b33 subs r3, #51 ; 0x33 80a03d2: 781b ldrb r3, [r3, #0] 80a03d4: b2db uxtb r3, r3 80a03d6: 461a mov r2, r3 80a03d8: 4b80 ldr r3, [pc, #512] ; (80a05dc ) 80a03da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a03de: 2256 movs r2, #86 ; 0x56 80a03e0: 2196 movs r1, #150 ; 0x96 80a03e2: 4618 mov r0, r3 80a03e4: f7b5 f808 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 80a03e8: 6d3a ldr r2, [r7, #80] ; 0x50 80a03ea: 4613 mov r3, r2 80a03ec: 009b lsls r3, r3, #2 80a03ee: 4413 add r3, r2 80a03f0: f107 0268 add.w r2, r7, #104 ; 0x68 80a03f4: 4413 add r3, r2 80a03f6: 3b34 subs r3, #52 ; 0x34 80a03f8: 781b ldrb r3, [r3, #0] 80a03fa: b2db uxtb r3, r3 80a03fc: 461a mov r2, r3 80a03fe: 4b77 ldr r3, [pc, #476] ; (80a05dc ) 80a0400: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0404: 2256 movs r2, #86 ; 0x56 80a0406: 2178 movs r1, #120 ; 0x78 80a0408: 4618 mov r0, r3 80a040a: f7b4 fff5 bl 80553f8 DrawImage(&bmg_dB, 265, 74+18); 80a040e: 225c movs r2, #92 ; 0x5c 80a0410: f240 1109 movw r1, #265 ; 0x109 80a0414: 4873 ldr r0, [pc, #460] ; (80a05e4 ) 80a0416: f7b4 ffef bl 80553f8 80a041a: e108 b.n 80a062e if(ipr == VEL) 80a041c: 6d3b ldr r3, [r7, #80] ; 0x50 80a041e: 2b01 cmp r3, #1 80a0420: d157 bne.n 80a04d2 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 80a0422: 6d3a ldr r2, [r7, #80] ; 0x50 80a0424: 4613 mov r3, r2 80a0426: 009b lsls r3, r3, #2 80a0428: 4413 add r3, r2 80a042a: f107 0268 add.w r2, r7, #104 ; 0x68 80a042e: 4413 add r3, r2 80a0430: 3b31 subs r3, #49 ; 0x31 80a0432: 781b ldrb r3, [r3, #0] 80a0434: b2db uxtb r3, r3 80a0436: 461a mov r2, r3 80a0438: 4b68 ldr r3, [pc, #416] ; (80a05dc ) 80a043a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a043e: 2282 movs r2, #130 ; 0x82 80a0440: 21e6 movs r1, #230 ; 0xe6 80a0442: 4618 mov r0, r3 80a0444: f7b4 ffd8 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a0448: 229a movs r2, #154 ; 0x9a 80a044a: 21d7 movs r1, #215 ; 0xd7 80a044c: 4864 ldr r0, [pc, #400] ; (80a05e0 ) 80a044e: f7b4 ffd3 bl 80553f8 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 80a0452: 6d3a ldr r2, [r7, #80] ; 0x50 80a0454: 4613 mov r3, r2 80a0456: 009b lsls r3, r3, #2 80a0458: 4413 add r3, r2 80a045a: f107 0268 add.w r2, r7, #104 ; 0x68 80a045e: 4413 add r3, r2 80a0460: 3b32 subs r3, #50 ; 0x32 80a0462: 781b ldrb r3, [r3, #0] 80a0464: b2db uxtb r3, r3 80a0466: 461a mov r2, r3 80a0468: 4b5c ldr r3, [pc, #368] ; (80a05dc ) 80a046a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a046e: 2282 movs r2, #130 ; 0x82 80a0470: 21b4 movs r1, #180 ; 0xb4 80a0472: 4618 mov r0, r3 80a0474: f7b4 ffc0 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 80a0478: 6d3a ldr r2, [r7, #80] ; 0x50 80a047a: 4613 mov r3, r2 80a047c: 009b lsls r3, r3, #2 80a047e: 4413 add r3, r2 80a0480: f107 0268 add.w r2, r7, #104 ; 0x68 80a0484: 4413 add r3, r2 80a0486: 3b33 subs r3, #51 ; 0x33 80a0488: 781b ldrb r3, [r3, #0] 80a048a: b2db uxtb r3, r3 80a048c: 461a mov r2, r3 80a048e: 4b53 ldr r3, [pc, #332] ; (80a05dc ) 80a0490: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0494: 2282 movs r2, #130 ; 0x82 80a0496: 2196 movs r1, #150 ; 0x96 80a0498: 4618 mov r0, r3 80a049a: f7b4 ffad bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 80a049e: 6d3a ldr r2, [r7, #80] ; 0x50 80a04a0: 4613 mov r3, r2 80a04a2: 009b lsls r3, r3, #2 80a04a4: 4413 add r3, r2 80a04a6: f107 0268 add.w r2, r7, #104 ; 0x68 80a04aa: 4413 add r3, r2 80a04ac: 3b34 subs r3, #52 ; 0x34 80a04ae: 781b ldrb r3, [r3, #0] 80a04b0: b2db uxtb r3, r3 80a04b2: 461a mov r2, r3 80a04b4: 4b49 ldr r3, [pc, #292] ; (80a05dc ) 80a04b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a04ba: 2282 movs r2, #130 ; 0x82 80a04bc: 2178 movs r1, #120 ; 0x78 80a04be: 4618 mov r0, r3 80a04c0: f7b4 ff9a bl 80553f8 DrawImage(&bmg_dB, 265, 128+9); 80a04c4: 2289 movs r2, #137 ; 0x89 80a04c6: f240 1109 movw r1, #265 ; 0x109 80a04ca: 4846 ldr r0, [pc, #280] ; (80a05e4 ) 80a04cc: f7b4 ff94 bl 80553f8 80a04d0: e0ad b.n 80a062e if(ipr == DIS) 80a04d2: 6d3b ldr r3, [r7, #80] ; 0x50 80a04d4: 2b02 cmp r3, #2 80a04d6: f040 80aa bne.w 80a062e DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 80a04da: 6d3a ldr r2, [r7, #80] ; 0x50 80a04dc: 4613 mov r3, r2 80a04de: 009b lsls r3, r3, #2 80a04e0: 4413 add r3, r2 80a04e2: f107 0268 add.w r2, r7, #104 ; 0x68 80a04e6: 4413 add r3, r2 80a04e8: 3b31 subs r3, #49 ; 0x31 80a04ea: 781b ldrb r3, [r3, #0] 80a04ec: b2db uxtb r3, r3 80a04ee: 461a mov r2, r3 80a04f0: 4b3a ldr r3, [pc, #232] ; (80a05dc ) 80a04f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a04f6: 22ae movs r2, #174 ; 0xae 80a04f8: 21e6 movs r1, #230 ; 0xe6 80a04fa: 4618 mov r0, r3 80a04fc: f7b4 ff7c bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 198); 80a0500: 22c6 movs r2, #198 ; 0xc6 80a0502: 21d7 movs r1, #215 ; 0xd7 80a0504: 4836 ldr r0, [pc, #216] ; (80a05e0 ) 80a0506: f7b4 ff77 bl 80553f8 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 80a050a: 6d3a ldr r2, [r7, #80] ; 0x50 80a050c: 4613 mov r3, r2 80a050e: 009b lsls r3, r3, #2 80a0510: 4413 add r3, r2 80a0512: f107 0268 add.w r2, r7, #104 ; 0x68 80a0516: 4413 add r3, r2 80a0518: 3b32 subs r3, #50 ; 0x32 80a051a: 781b ldrb r3, [r3, #0] 80a051c: b2db uxtb r3, r3 80a051e: 461a mov r2, r3 80a0520: 4b2e ldr r3, [pc, #184] ; (80a05dc ) 80a0522: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0526: 22ae movs r2, #174 ; 0xae 80a0528: 21b4 movs r1, #180 ; 0xb4 80a052a: 4618 mov r0, r3 80a052c: f7b4 ff64 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 80a0530: 6d3a ldr r2, [r7, #80] ; 0x50 80a0532: 4613 mov r3, r2 80a0534: 009b lsls r3, r3, #2 80a0536: 4413 add r3, r2 80a0538: f107 0268 add.w r2, r7, #104 ; 0x68 80a053c: 4413 add r3, r2 80a053e: 3b33 subs r3, #51 ; 0x33 80a0540: 781b ldrb r3, [r3, #0] 80a0542: b2db uxtb r3, r3 80a0544: 461a mov r2, r3 80a0546: 4b25 ldr r3, [pc, #148] ; (80a05dc ) 80a0548: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a054c: 22ae movs r2, #174 ; 0xae 80a054e: 2196 movs r1, #150 ; 0x96 80a0550: 4618 mov r0, r3 80a0552: f7b4 ff51 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 80a0556: 6d3a ldr r2, [r7, #80] ; 0x50 80a0558: 4613 mov r3, r2 80a055a: 009b lsls r3, r3, #2 80a055c: 4413 add r3, r2 80a055e: f107 0268 add.w r2, r7, #104 ; 0x68 80a0562: 4413 add r3, r2 80a0564: 3b34 subs r3, #52 ; 0x34 80a0566: 781b ldrb r3, [r3, #0] 80a0568: b2db uxtb r3, r3 80a056a: 461a mov r2, r3 80a056c: 4b1b ldr r3, [pc, #108] ; (80a05dc ) 80a056e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0572: 22ae movs r2, #174 ; 0xae 80a0574: 2178 movs r1, #120 ; 0x78 80a0576: 4618 mov r0, r3 80a0578: f7b4 ff3e bl 80553f8 DrawImage(&bmg_dB, 265, 180); 80a057c: 22b4 movs r2, #180 ; 0xb4 80a057e: f240 1109 movw r1, #265 ; 0x109 80a0582: 4818 ldr r0, [pc, #96] ; (80a05e4 ) 80a0584: f7b4 ff38 bl 80553f8 80a0588: e051 b.n 80a062e if(skz[ACC] != -1.0f) 80a058a: 4b17 ldr r3, [pc, #92] ; (80a05e8 ) 80a058c: edd3 7a00 vldr s15, [r3] 80a0590: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a0594: eef4 7a47 vcmp.f32 s15, s14 80a0598: eef1 fa10 vmrs APSR_nzcv, fpscr 80a059c: d047 beq.n 80a062e if(ipr == VEL) 80a059e: 6d3b ldr r3, [r7, #80] ; 0x50 80a05a0: 2b01 cmp r3, #1 80a05a2: d12d bne.n 80a0600 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a05a4: 4911 ldr r1, [pc, #68] ; (80a05ec ) 80a05a6: 4812 ldr r0, [pc, #72] ; (80a05f0 ) 80a05a8: f7b4 f832 bl 8054610 if(pardata.LANG == RUS) 80a05ac: 4b11 ldr r3, [pc, #68] ; (80a05f4 ) 80a05ae: 7b1b ldrb r3, [r3, #12] 80a05b0: b2db uxtb r3, r3 80a05b2: 2b00 cmp r3, #0 80a05b4: d105 bne.n 80a05c2 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a05b6: 4a10 ldr r2, [pc, #64] ; (80a05f8 ) 80a05b8: 2187 movs r1, #135 ; 0x87 80a05ba: 20a7 movs r0, #167 ; 0xa7 80a05bc: f7b4 fde8 bl 8055190 80a05c0: e035 b.n 80a062e else LCD_DisplayStringC(167, 135, "NO DATA"); 80a05c2: 4a0e ldr r2, [pc, #56] ; (80a05fc ) 80a05c4: 2187 movs r1, #135 ; 0x87 80a05c6: 20a7 movs r0, #167 ; 0xa7 80a05c8: f7b4 fde2 bl 8055190 80a05cc: e02f b.n 80a062e 80a05ce: bf00 nop 80a05d0: 10624dd3 .word 0x10624dd3 80a05d4: 51eb851f .word 0x51eb851f 80a05d8: cccccccd .word 0xcccccccd 80a05dc: 20020124 .word 0x20020124 80a05e0: 0816be20 .word 0x0816be20 80a05e4: 0816706c .word 0x0816706c 80a05e8: 20021588 .word 0x20021588 80a05ec: ff0a0f1f .word 0xff0a0f1f 80a05f0: ffb8e828 .word 0xffb8e828 80a05f4: 20023ea8 .word 0x20023ea8 80a05f8: 080d3e64 .word 0x080d3e64 80a05fc: 080d3e70 .word 0x080d3e70 if(ipr == DIS) 80a0600: 6d3b ldr r3, [r7, #80] ; 0x50 80a0602: 2b02 cmp r3, #2 80a0604: d113 bne.n 80a062e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a0606: 4933 ldr r1, [pc, #204] ; (80a06d4 ) 80a0608: 4833 ldr r0, [pc, #204] ; (80a06d8 ) 80a060a: f7b4 f801 bl 8054610 if(pardata.LANG == RUS) 80a060e: 4b33 ldr r3, [pc, #204] ; (80a06dc ) 80a0610: 7b1b ldrb r3, [r3, #12] 80a0612: b2db uxtb r3, r3 80a0614: 2b00 cmp r3, #0 80a0616: d105 bne.n 80a0624 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a0618: 4a31 ldr r2, [pc, #196] ; (80a06e0 ) 80a061a: 21b9 movs r1, #185 ; 0xb9 80a061c: 20a7 movs r0, #167 ; 0xa7 80a061e: f7b4 fdb7 bl 8055190 80a0622: e004 b.n 80a062e else LCD_DisplayStringC(167, 185, "NO DATA"); 80a0624: 4a2f ldr r2, [pc, #188] ; (80a06e4 ) 80a0626: 21b9 movs r1, #185 ; 0xb9 80a0628: 20a7 movs r0, #167 ; 0xa7 80a062a: f7b4 fdb1 bl 8055190 for(ipr = ACC; ipr <= DIS; ipr++) 80a062e: 6d3b ldr r3, [r7, #80] ; 0x50 80a0630: 3301 adds r3, #1 80a0632: 653b str r3, [r7, #80] ; 0x50 80a0634: 6d3b ldr r3, [r7, #80] ; 0x50 80a0636: 2b02 cmp r3, #2 80a0638: f67e adfc bls.w 809f234 break; 80a063c: bf00 nop break; 80a063e: f004 ba39 b.w 80a4ab4 DrawImage(&bmAVS, 8, 84); 80a0642: 2254 movs r2, #84 ; 0x54 80a0644: 2108 movs r1, #8 80a0646: 4828 ldr r0, [pc, #160] ; (80a06e8 ) 80a0648: f7b4 fed6 bl 80553f8 if(DrawSavedData) 80a064c: 4b27 ldr r3, [pc, #156] ; (80a06ec ) 80a064e: 781b ldrb r3, [r3, #0] 80a0650: b2db uxtb r3, r3 80a0652: 2b00 cmp r3, #0 80a0654: f002 8130 beq.w 80a28b8 ivs[ACC] = ReadFileData.Aivs; 80a0658: 4b25 ldr r3, [pc, #148] ; (80a06f0 ) 80a065a: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a065e: b2db uxtb r3, r3 80a0660: 703b strb r3, [r7, #0] ivs[VEL] = ReadFileData.Vivs; 80a0662: 4b23 ldr r3, [pc, #140] ; (80a06f0 ) 80a0664: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a0668: b2db uxtb r3, r3 80a066a: 707b strb r3, [r7, #1] ivs[DIS] = ReadFileData.Sivs; 80a066c: 4b20 ldr r3, [pc, #128] ; (80a06f0 ) 80a066e: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a0672: b2db uxtb r3, r3 80a0674: 70bb strb r3, [r7, #2] if(((!ReadFileData.Aivs) && (!ReadFileData.Vivs) && (!ReadFileData.Sivs)) || (ReadFileData.Aval.fl == -1.0f)) 80a0676: 4b1e ldr r3, [pc, #120] ; (80a06f0 ) 80a0678: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a067c: b2db uxtb r3, r3 80a067e: 2b00 cmp r3, #0 80a0680: d10b bne.n 80a069a 80a0682: 4b1b ldr r3, [pc, #108] ; (80a06f0 ) 80a0684: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a0688: b2db uxtb r3, r3 80a068a: 2b00 cmp r3, #0 80a068c: d105 bne.n 80a069a 80a068e: 4b18 ldr r3, [pc, #96] ; (80a06f0 ) 80a0690: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a0694: b2db uxtb r3, r3 80a0696: 2b00 cmp r3, #0 80a0698: d009 beq.n 80a06ae 80a069a: 4b15 ldr r3, [pc, #84] ; (80a06f0 ) 80a069c: edd3 7a00 vldr s15, [r3] 80a06a0: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a06a4: eef4 7a47 vcmp.f32 s15, s14 80a06a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a06ac: d12a bne.n 80a0704 DrawImage(&bmf, 100, 57+3); 80a06ae: 223c movs r2, #60 ; 0x3c 80a06b0: 2164 movs r1, #100 ; 0x64 80a06b2: 4810 ldr r0, [pc, #64] ; (80a06f4 ) 80a06b4: f7b4 fea0 bl 80553f8 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 80a06b8: 4b0f ldr r3, [pc, #60] ; (80a06f8 ) 80a06ba: 681b ldr r3, [r3, #0] 80a06bc: 4a0f ldr r2, [pc, #60] ; (80a06fc ) 80a06be: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80a06c2: 4b0f ldr r3, [pc, #60] ; (80a0700 ) 80a06c4: 681b ldr r3, [r3, #0] 80a06c6: 429a cmp r2, r3 80a06c8: f044 81f1 bne.w 80a4aae DrawDetectorType(); 80a06cc: f7f8 fdea bl 80992a4 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 80a06d0: f004 b9ed b.w 80a4aae 80a06d4: ff0a0f1f .word 0xff0a0f1f 80a06d8: ffb8e828 .word 0xffb8e828 80a06dc: 20023ea8 .word 0x20023ea8 80a06e0: 080d3e64 .word 0x080d3e64 80a06e4: 080d3e70 .word 0x080d3e70 80a06e8: 081080c4 .word 0x081080c4 80a06ec: 20020dea .word 0x20020dea 80a06f0: 200226e8 .word 0x200226e8 80a06f4: 08161bbc .word 0x08161bbc 80a06f8: 20021fe4 .word 0x20021fe4 80a06fc: 20022ee8 .word 0x20022ee8 80a0700: 20022358 .word 0x20022358 DrawImage(&bmSAVED, 298, 39); 80a0704: 2227 movs r2, #39 ; 0x27 80a0706: f44f 7195 mov.w r1, #298 ; 0x12a 80a070a: 48bc ldr r0, [pc, #752] ; (80a09fc ) 80a070c: f7b4 fe74 bl 80553f8 memset(str, 0, sizeof(str)); 80a0710: f107 030c add.w r3, r7, #12 80a0714: 2228 movs r2, #40 ; 0x28 80a0716: 2100 movs r1, #0 80a0718: 4618 mov r0, r3 80a071a: f030 fe41 bl 80d13a0 BSP_LCD_SetFont(&Font8); 80a071e: 48b8 ldr r0, [pc, #736] ; (80a0a00 ) 80a0720: f7b3 ffb2 bl 8054688 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80a0724: 49b7 ldr r1, [pc, #732] ; (80a0a04 ) 80a0726: 48b8 ldr r0, [pc, #736] ; (80a0a08 ) 80a0728: f7b3 ff72 bl 8054610 str[0] = (DateFileData.Date / 10) + 48; 80a072c: 4bb7 ldr r3, [pc, #732] ; (80a0a0c ) 80a072e: 789b ldrb r3, [r3, #2] 80a0730: b2db uxtb r3, r3 80a0732: 4ab7 ldr r2, [pc, #732] ; (80a0a10 ) 80a0734: fba2 2303 umull r2, r3, r2, r3 80a0738: 08db lsrs r3, r3, #3 80a073a: b2db uxtb r3, r3 80a073c: 3330 adds r3, #48 ; 0x30 80a073e: b2db uxtb r3, r3 80a0740: 733b strb r3, [r7, #12] str[1] = (DateFileData.Date % 10) + 48; 80a0742: 4bb2 ldr r3, [pc, #712] ; (80a0a0c ) 80a0744: 789b ldrb r3, [r3, #2] 80a0746: b2da uxtb r2, r3 80a0748: 4bb1 ldr r3, [pc, #708] ; (80a0a10 ) 80a074a: fba3 1302 umull r1, r3, r3, r2 80a074e: 08d9 lsrs r1, r3, #3 80a0750: 460b mov r3, r1 80a0752: 009b lsls r3, r3, #2 80a0754: 440b add r3, r1 80a0756: 005b lsls r3, r3, #1 80a0758: 1ad3 subs r3, r2, r3 80a075a: b2db uxtb r3, r3 80a075c: 3330 adds r3, #48 ; 0x30 80a075e: b2db uxtb r3, r3 80a0760: 737b strb r3, [r7, #13] str[2] = '.'; 80a0762: 232e movs r3, #46 ; 0x2e 80a0764: 73bb strb r3, [r7, #14] str[3] = (DateFileData.Month / 10) + 48; 80a0766: 4ba9 ldr r3, [pc, #676] ; (80a0a0c ) 80a0768: 785b ldrb r3, [r3, #1] 80a076a: b2db uxtb r3, r3 80a076c: 4aa8 ldr r2, [pc, #672] ; (80a0a10 ) 80a076e: fba2 2303 umull r2, r3, r2, r3 80a0772: 08db lsrs r3, r3, #3 80a0774: b2db uxtb r3, r3 80a0776: 3330 adds r3, #48 ; 0x30 80a0778: b2db uxtb r3, r3 80a077a: 73fb strb r3, [r7, #15] str[4] = (DateFileData.Month % 10) + 48; 80a077c: 4ba3 ldr r3, [pc, #652] ; (80a0a0c ) 80a077e: 785b ldrb r3, [r3, #1] 80a0780: b2da uxtb r2, r3 80a0782: 4ba3 ldr r3, [pc, #652] ; (80a0a10 ) 80a0784: fba3 1302 umull r1, r3, r3, r2 80a0788: 08d9 lsrs r1, r3, #3 80a078a: 460b mov r3, r1 80a078c: 009b lsls r3, r3, #2 80a078e: 440b add r3, r1 80a0790: 005b lsls r3, r3, #1 80a0792: 1ad3 subs r3, r2, r3 80a0794: b2db uxtb r3, r3 80a0796: 3330 adds r3, #48 ; 0x30 80a0798: b2db uxtb r3, r3 80a079a: 743b strb r3, [r7, #16] str[5] = '.'; 80a079c: 232e movs r3, #46 ; 0x2e 80a079e: 747b strb r3, [r7, #17] str[6] = '2'; 80a07a0: 2332 movs r3, #50 ; 0x32 80a07a2: 74bb strb r3, [r7, #18] str[7] = '0'; 80a07a4: 2330 movs r3, #48 ; 0x30 80a07a6: 74fb strb r3, [r7, #19] str[8] = (DateFileData.Year / 10) + 48; 80a07a8: 4b98 ldr r3, [pc, #608] ; (80a0a0c ) 80a07aa: 78db ldrb r3, [r3, #3] 80a07ac: b2db uxtb r3, r3 80a07ae: 4a98 ldr r2, [pc, #608] ; (80a0a10 ) 80a07b0: fba2 2303 umull r2, r3, r2, r3 80a07b4: 08db lsrs r3, r3, #3 80a07b6: b2db uxtb r3, r3 80a07b8: 3330 adds r3, #48 ; 0x30 80a07ba: b2db uxtb r3, r3 80a07bc: 753b strb r3, [r7, #20] str[9] = (DateFileData.Year % 10) + 48; 80a07be: 4b93 ldr r3, [pc, #588] ; (80a0a0c ) 80a07c0: 78db ldrb r3, [r3, #3] 80a07c2: b2da uxtb r2, r3 80a07c4: 4b92 ldr r3, [pc, #584] ; (80a0a10 ) 80a07c6: fba3 1302 umull r1, r3, r3, r2 80a07ca: 08d9 lsrs r1, r3, #3 80a07cc: 460b mov r3, r1 80a07ce: 009b lsls r3, r3, #2 80a07d0: 440b add r3, r1 80a07d2: 005b lsls r3, r3, #1 80a07d4: 1ad3 subs r3, r2, r3 80a07d6: b2db uxtb r3, r3 80a07d8: 3330 adds r3, #48 ; 0x30 80a07da: b2db uxtb r3, r3 80a07dc: 757b strb r3, [r7, #21] BSP_LCD_DisplayStringAt(295, 42, str, RIGHT_MODE); 80a07de: f107 020c add.w r2, r7, #12 80a07e2: 2302 movs r3, #2 80a07e4: 212a movs r1, #42 ; 0x2a 80a07e6: f240 1027 movw r0, #295 ; 0x127 80a07ea: f7b3 ffd7 bl 805479c memset(str, 0, sizeof(str)); 80a07ee: f107 030c add.w r3, r7, #12 80a07f2: 2228 movs r2, #40 ; 0x28 80a07f4: 2100 movs r1, #0 80a07f6: 4618 mov r0, r3 80a07f8: f030 fdd2 bl 80d13a0 str[0] = (TimeFileData.Hours / 10) + 48; 80a07fc: 4b85 ldr r3, [pc, #532] ; (80a0a14 ) 80a07fe: 781b ldrb r3, [r3, #0] 80a0800: b2db uxtb r3, r3 80a0802: 4a83 ldr r2, [pc, #524] ; (80a0a10 ) 80a0804: fba2 2303 umull r2, r3, r2, r3 80a0808: 08db lsrs r3, r3, #3 80a080a: b2db uxtb r3, r3 80a080c: 3330 adds r3, #48 ; 0x30 80a080e: b2db uxtb r3, r3 80a0810: 733b strb r3, [r7, #12] str[1] = (TimeFileData.Hours % 10) + 48; 80a0812: 4b80 ldr r3, [pc, #512] ; (80a0a14 ) 80a0814: 781b ldrb r3, [r3, #0] 80a0816: b2da uxtb r2, r3 80a0818: 4b7d ldr r3, [pc, #500] ; (80a0a10 ) 80a081a: fba3 1302 umull r1, r3, r3, r2 80a081e: 08d9 lsrs r1, r3, #3 80a0820: 460b mov r3, r1 80a0822: 009b lsls r3, r3, #2 80a0824: 440b add r3, r1 80a0826: 005b lsls r3, r3, #1 80a0828: 1ad3 subs r3, r2, r3 80a082a: b2db uxtb r3, r3 80a082c: 3330 adds r3, #48 ; 0x30 80a082e: b2db uxtb r3, r3 80a0830: 737b strb r3, [r7, #13] str[2] = ':'; 80a0832: 233a movs r3, #58 ; 0x3a 80a0834: 73bb strb r3, [r7, #14] str[3] = (TimeFileData.Minutes / 10) + 48; 80a0836: 4b77 ldr r3, [pc, #476] ; (80a0a14 ) 80a0838: 785b ldrb r3, [r3, #1] 80a083a: b2db uxtb r3, r3 80a083c: 4a74 ldr r2, [pc, #464] ; (80a0a10 ) 80a083e: fba2 2303 umull r2, r3, r2, r3 80a0842: 08db lsrs r3, r3, #3 80a0844: b2db uxtb r3, r3 80a0846: 3330 adds r3, #48 ; 0x30 80a0848: b2db uxtb r3, r3 80a084a: 73fb strb r3, [r7, #15] str[4] = (TimeFileData.Minutes % 10) + 48; 80a084c: 4b71 ldr r3, [pc, #452] ; (80a0a14 ) 80a084e: 785b ldrb r3, [r3, #1] 80a0850: b2da uxtb r2, r3 80a0852: 4b6f ldr r3, [pc, #444] ; (80a0a10 ) 80a0854: fba3 1302 umull r1, r3, r3, r2 80a0858: 08d9 lsrs r1, r3, #3 80a085a: 460b mov r3, r1 80a085c: 009b lsls r3, r3, #2 80a085e: 440b add r3, r1 80a0860: 005b lsls r3, r3, #1 80a0862: 1ad3 subs r3, r2, r3 80a0864: b2db uxtb r3, r3 80a0866: 3330 adds r3, #48 ; 0x30 80a0868: b2db uxtb r3, r3 80a086a: 743b strb r3, [r7, #16] str[5] = ':'; 80a086c: 233a movs r3, #58 ; 0x3a 80a086e: 747b strb r3, [r7, #17] str[6] = (TimeFileData.Seconds / 10) + 48; 80a0870: 4b68 ldr r3, [pc, #416] ; (80a0a14 ) 80a0872: 789b ldrb r3, [r3, #2] 80a0874: b2db uxtb r3, r3 80a0876: 4a66 ldr r2, [pc, #408] ; (80a0a10 ) 80a0878: fba2 2303 umull r2, r3, r2, r3 80a087c: 08db lsrs r3, r3, #3 80a087e: b2db uxtb r3, r3 80a0880: 3330 adds r3, #48 ; 0x30 80a0882: b2db uxtb r3, r3 80a0884: 74bb strb r3, [r7, #18] str[7] = (TimeFileData.Seconds % 10) + 48; 80a0886: 4b63 ldr r3, [pc, #396] ; (80a0a14 ) 80a0888: 789b ldrb r3, [r3, #2] 80a088a: b2da uxtb r2, r3 80a088c: 4b60 ldr r3, [pc, #384] ; (80a0a10 ) 80a088e: fba3 1302 umull r1, r3, r3, r2 80a0892: 08d9 lsrs r1, r3, #3 80a0894: 460b mov r3, r1 80a0896: 009b lsls r3, r3, #2 80a0898: 440b add r3, r1 80a089a: 005b lsls r3, r3, #1 80a089c: 1ad3 subs r3, r2, r3 80a089e: b2db uxtb r3, r3 80a08a0: 3330 adds r3, #48 ; 0x30 80a08a2: b2db uxtb r3, r3 80a08a4: 74fb strb r3, [r7, #19] BSP_LCD_DisplayStringAt(295, 52, str, RIGHT_MODE); 80a08a6: f107 020c add.w r2, r7, #12 80a08aa: 2302 movs r3, #2 80a08ac: 2134 movs r1, #52 ; 0x34 80a08ae: f240 1027 movw r0, #295 ; 0x127 80a08b2: f7b3 ff73 bl 805479c DrawDetectorType(); 80a08b6: f7f8 fcf5 bl 80992a4 if(ReadFileData.Fval.fl != -1.0f) 80a08ba: 4b57 ldr r3, [pc, #348] ; (80a0a18 ) 80a08bc: edd3 7a03 vldr s15, [r3, #12] 80a08c0: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a08c4: eef4 7a47 vcmp.f32 s15, s14 80a08c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a08cc: f000 80fc beq.w 80a0ac8 DrawImage(&bmf, 100, 57+3); 80a08d0: 223c movs r2, #60 ; 0x3c 80a08d2: 2164 movs r1, #100 ; 0x64 80a08d4: 4851 ldr r0, [pc, #324] ; (80a0a1c ) 80a08d6: f7b4 fd8f bl 80553f8 BSP_LCD_SetFont(&Font15); 80a08da: 4851 ldr r0, [pc, #324] ; (80a0a20 ) 80a08dc: f7b3 fed4 bl 8054688 f = ReadFileData.Fval.fl; 80a08e0: 4b4d ldr r3, [pc, #308] ; (80a0a18 ) 80a08e2: 68db ldr r3, [r3, #12] 80a08e4: 647b str r3, [r7, #68] ; 0x44 LCD_SetColors(LCD_COLOR_WHITE/*0xFFFBFF1C*/, LCD_COLOR_BLACK); 80a08e6: 4947 ldr r1, [pc, #284] ; (80a0a04 ) 80a08e8: f04f 30ff mov.w r0, #4294967295 80a08ec: f7b3 fe90 bl 8054610 memset(str, 0, sizeof(str)); 80a08f0: f107 030c add.w r3, r7, #12 80a08f4: 2228 movs r2, #40 ; 0x28 80a08f6: 2100 movs r1, #0 80a08f8: 4618 mov r0, r3 80a08fa: f030 fd51 bl 80d13a0 if(f >= 1000.0f) 80a08fe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0902: ed9f 7a4f vldr s14, [pc, #316] ; 80a0a40 80a0906: eef4 7ac7 vcmpe.f32 s15, s14 80a090a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a090e: db3b blt.n 80a0988 f *= 0.001f; 80a0910: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0914: ed9f 7a43 vldr s14, [pc, #268] ; 80a0a24 80a0918: ee67 7a87 vmul.f32 s15, s15, s14 80a091c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -4); 80a0920: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0924: f06f 0003 mvn.w r0, #3 80a0928: eeb0 0a67 vmov.f32 s0, s15 80a092c: f7c6 fe38 bl 80675a0 80a0930: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a0932: f107 030c add.w r3, r7, #12 80a0936: 6e39 ldr r1, [r7, #96] ; 0x60 80a0938: 4618 mov r0, r3 80a093a: f030 fe4e bl 80d15da if(pardata.LANG == RUS) strcat(str, " êÃö"); 80a093e: 4b3a ldr r3, [pc, #232] ; (80a0a28 ) 80a0940: 7b1b ldrb r3, [r3, #12] 80a0942: b2db uxtb r3, r3 80a0944: 2b00 cmp r3, #0 80a0946: d10f bne.n 80a0968 80a0948: f107 030c add.w r3, r7, #12 80a094c: 4618 mov r0, r3 80a094e: f77f fce1 bl 8020314 80a0952: 4603 mov r3, r0 80a0954: 461a mov r2, r3 80a0956: f107 030c add.w r3, r7, #12 80a095a: 4413 add r3, r2 80a095c: 4a33 ldr r2, [pc, #204] ; (80a0a2c ) 80a095e: 6810 ldr r0, [r2, #0] 80a0960: 6018 str r0, [r3, #0] 80a0962: 7912 ldrb r2, [r2, #4] 80a0964: 711a strb r2, [r3, #4] 80a0966: e0a8 b.n 80a0aba else strcat(str, " kHz"); 80a0968: f107 030c add.w r3, r7, #12 80a096c: 4618 mov r0, r3 80a096e: f77f fcd1 bl 8020314 80a0972: 4603 mov r3, r0 80a0974: 461a mov r2, r3 80a0976: f107 030c add.w r3, r7, #12 80a097a: 4413 add r3, r2 80a097c: 4a2c ldr r2, [pc, #176] ; (80a0a30 ) 80a097e: 6810 ldr r0, [r2, #0] 80a0980: 6018 str r0, [r3, #0] 80a0982: 7912 ldrb r2, [r2, #4] 80a0984: 711a strb r2, [r3, #4] 80a0986: e098 b.n 80a0aba if(f >= 0.1f) 80a0988: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a098c: ed9f 7a29 vldr s14, [pc, #164] ; 80a0a34 80a0990: eef4 7ac7 vcmpe.f32 s15, s14 80a0994: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0998: db54 blt.n 80a0a44 p8 = (char *) FloatToASCII(f, -3); 80a099a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a099e: f06f 0002 mvn.w r0, #2 80a09a2: eeb0 0a67 vmov.f32 s0, s15 80a09a6: f7c6 fdfb bl 80675a0 80a09aa: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a09ac: f107 030c add.w r3, r7, #12 80a09b0: 6e39 ldr r1, [r7, #96] ; 0x60 80a09b2: 4618 mov r0, r3 80a09b4: f030 fe11 bl 80d15da if(pardata.LANG == RUS) strcat(str, " Ãö"); 80a09b8: 4b1b ldr r3, [pc, #108] ; (80a0a28 ) 80a09ba: 7b1b ldrb r3, [r3, #12] 80a09bc: b2db uxtb r3, r3 80a09be: 2b00 cmp r3, #0 80a09c0: d10d bne.n 80a09de 80a09c2: f107 030c add.w r3, r7, #12 80a09c6: 4618 mov r0, r3 80a09c8: f77f fca4 bl 8020314 80a09cc: 4603 mov r3, r0 80a09ce: 461a mov r2, r3 80a09d0: f107 030c add.w r3, r7, #12 80a09d4: 4413 add r3, r2 80a09d6: 4a18 ldr r2, [pc, #96] ; (80a0a38 ) 80a09d8: 6810 ldr r0, [r2, #0] 80a09da: 6018 str r0, [r3, #0] 80a09dc: e06d b.n 80a0aba else strcat(str, " Hz"); 80a09de: f107 030c add.w r3, r7, #12 80a09e2: 4618 mov r0, r3 80a09e4: f77f fc96 bl 8020314 80a09e8: 4603 mov r3, r0 80a09ea: 461a mov r2, r3 80a09ec: f107 030c add.w r3, r7, #12 80a09f0: 4413 add r3, r2 80a09f2: 4a12 ldr r2, [pc, #72] ; (80a0a3c ) 80a09f4: 6810 ldr r0, [r2, #0] 80a09f6: 6018 str r0, [r3, #0] 80a09f8: e05f b.n 80a0aba 80a09fa: bf00 nop 80a09fc: 0814be4c .word 0x0814be4c 80a0a00: 20020060 .word 0x20020060 80a0a04: ff0a0f1f .word 0xff0a0f1f 80a0a08: ffd3d3d3 .word 0xffd3d3d3 80a0a0c: 20022638 .word 0x20022638 80a0a10: cccccccd .word 0xcccccccd 80a0a14: 200229b0 .word 0x200229b0 80a0a18: 200226e8 .word 0x200226e8 80a0a1c: 08161bbc .word 0x08161bbc 80a0a20: 20020040 .word 0x20020040 80a0a24: 3a83126f .word 0x3a83126f 80a0a28: 20023ea8 .word 0x20023ea8 80a0a2c: 080d4d80 .word 0x080d4d80 80a0a30: 080d4d88 .word 0x080d4d88 80a0a34: 3dcccccd .word 0x3dcccccd 80a0a38: 080d4d90 .word 0x080d4d90 80a0a3c: 080d4d94 .word 0x080d4d94 80a0a40: 447a0000 .word 0x447a0000 f *= 1000.0f; 80a0a44: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0a48: ed1f 7a03 vldr s14, [pc, #-12] ; 80a0a40 80a0a4c: ee67 7a87 vmul.f32 s15, s15, s14 80a0a50: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -3); 80a0a54: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0a58: f06f 0002 mvn.w r0, #2 80a0a5c: eeb0 0a67 vmov.f32 s0, s15 80a0a60: f7c6 fd9e bl 80675a0 80a0a64: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a0a66: f107 030c add.w r3, r7, #12 80a0a6a: 6e39 ldr r1, [r7, #96] ; 0x60 80a0a6c: 4618 mov r0, r3 80a0a6e: f030 fdb4 bl 80d15da if(pardata.LANG == RUS) strcat(str, " ìÃö"); 80a0a72: 4bcd ldr r3, [pc, #820] ; (80a0da8 ) 80a0a74: 7b1b ldrb r3, [r3, #12] 80a0a76: b2db uxtb r3, r3 80a0a78: 2b00 cmp r3, #0 80a0a7a: d10f bne.n 80a0a9c 80a0a7c: f107 030c add.w r3, r7, #12 80a0a80: 4618 mov r0, r3 80a0a82: f77f fc47 bl 8020314 80a0a86: 4603 mov r3, r0 80a0a88: 461a mov r2, r3 80a0a8a: f107 030c add.w r3, r7, #12 80a0a8e: 4413 add r3, r2 80a0a90: 4ac6 ldr r2, [pc, #792] ; (80a0dac ) 80a0a92: 6810 ldr r0, [r2, #0] 80a0a94: 6018 str r0, [r3, #0] 80a0a96: 7912 ldrb r2, [r2, #4] 80a0a98: 711a strb r2, [r3, #4] 80a0a9a: e00e b.n 80a0aba else strcat(str, " mHz"); 80a0a9c: f107 030c add.w r3, r7, #12 80a0aa0: 4618 mov r0, r3 80a0aa2: f77f fc37 bl 8020314 80a0aa6: 4603 mov r3, r0 80a0aa8: 461a mov r2, r3 80a0aaa: f107 030c add.w r3, r7, #12 80a0aae: 4413 add r3, r2 80a0ab0: 4abf ldr r2, [pc, #764] ; (80a0db0 ) 80a0ab2: 6810 ldr r0, [r2, #0] 80a0ab4: 6018 str r0, [r3, #0] 80a0ab6: 7912 ldrb r2, [r2, #4] 80a0ab8: 711a strb r2, [r3, #4] BSP_LCD_DisplayStringAt(132, 61+3, str, LEFT_MODE); 80a0aba: f107 020c add.w r2, r7, #12 80a0abe: 2303 movs r3, #3 80a0ac0: 2140 movs r1, #64 ; 0x40 80a0ac2: 2084 movs r0, #132 ; 0x84 80a0ac4: f7b3 fe6a bl 805479c if(log == false) // Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 80a0ac8: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80a0acc: f083 0301 eor.w r3, r3, #1 80a0ad0: b2db uxtb r3, r3 80a0ad2: 2b00 cmp r3, #0 80a0ad4: f000 8582 beq.w 80a15dc for(ipr = ACC; ipr <= DIS; ipr++) 80a0ad8: 2300 movs r3, #0 80a0ada: 653b str r3, [r7, #80] ; 0x50 80a0adc: f000 bd78 b.w 80a15d0 if(ipr == ACC) f = ABS(ReadFileData.Aval.fl); 80a0ae0: 6d3b ldr r3, [r7, #80] ; 0x50 80a0ae2: 2b00 cmp r3, #0 80a0ae4: d113 bne.n 80a0b0e 80a0ae6: 4bb3 ldr r3, [pc, #716] ; (80a0db4 ) 80a0ae8: edd3 7a00 vldr s15, [r3] 80a0aec: eef5 7ac0 vcmpe.f32 s15, #0.0 80a0af0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0af4: dd03 ble.n 80a0afe 80a0af6: 4baf ldr r3, [pc, #700] ; (80a0db4 ) 80a0af8: edd3 7a00 vldr s15, [r3] 80a0afc: e004 b.n 80a0b08 80a0afe: 4bad ldr r3, [pc, #692] ; (80a0db4 ) 80a0b00: edd3 7a00 vldr s15, [r3] 80a0b04: eef1 7a67 vneg.f32 s15, s15 80a0b08: edc7 7a11 vstr s15, [r7, #68] ; 0x44 80a0b0c: e02c b.n 80a0b68 else if(ipr == VEL) f = ABS(ReadFileData.Vval.fl); 80a0b0e: 6d3b ldr r3, [r7, #80] ; 0x50 80a0b10: 2b01 cmp r3, #1 80a0b12: d113 bne.n 80a0b3c 80a0b14: 4ba7 ldr r3, [pc, #668] ; (80a0db4 ) 80a0b16: edd3 7a01 vldr s15, [r3, #4] 80a0b1a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a0b1e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0b22: dd03 ble.n 80a0b2c 80a0b24: 4ba3 ldr r3, [pc, #652] ; (80a0db4 ) 80a0b26: edd3 7a01 vldr s15, [r3, #4] 80a0b2a: e004 b.n 80a0b36 80a0b2c: 4ba1 ldr r3, [pc, #644] ; (80a0db4 ) 80a0b2e: edd3 7a01 vldr s15, [r3, #4] 80a0b32: eef1 7a67 vneg.f32 s15, s15 80a0b36: edc7 7a11 vstr s15, [r7, #68] ; 0x44 80a0b3a: e015 b.n 80a0b68 else if(ipr == DIS) f = ABS(ReadFileData.Sval.fl); 80a0b3c: 6d3b ldr r3, [r7, #80] ; 0x50 80a0b3e: 2b02 cmp r3, #2 80a0b40: d112 bne.n 80a0b68 80a0b42: 4b9c ldr r3, [pc, #624] ; (80a0db4 ) 80a0b44: edd3 7a02 vldr s15, [r3, #8] 80a0b48: eef5 7ac0 vcmpe.f32 s15, #0.0 80a0b4c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0b50: dd03 ble.n 80a0b5a 80a0b52: 4b98 ldr r3, [pc, #608] ; (80a0db4 ) 80a0b54: edd3 7a02 vldr s15, [r3, #8] 80a0b58: e004 b.n 80a0b64 80a0b5a: 4b96 ldr r3, [pc, #600] ; (80a0db4 ) 80a0b5c: edd3 7a02 vldr s15, [r3, #8] 80a0b60: eef1 7a67 vneg.f32 s15, s15 80a0b64: edc7 7a11 vstr s15, [r7, #68] ; 0x44 memset(str, 0, sizeof(str)); 80a0b68: f107 030c add.w r3, r7, #12 80a0b6c: 2228 movs r2, #40 ; 0x28 80a0b6e: 2100 movs r1, #0 80a0b70: 4618 mov r0, r3 80a0b72: f030 fc15 bl 80d13a0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80a0b76: 4990 ldr r1, [pc, #576] ; (80a0db8 ) 80a0b78: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80a0b7c: f7b3 fd48 bl 8054610 BSP_LCD_SetFont(&Font12); 80a0b80: 488e ldr r0, [pc, #568] ; (80a0dbc ) 80a0b82: f7b3 fd81 bl 8054688 if(ipr < DIS) 80a0b86: 6d3b ldr r3, [r7, #80] ; 0x50 80a0b88: 2b01 cmp r3, #1 80a0b8a: f200 80af bhi.w 80a0cec if(f < 10.0f) 80a0b8e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0b92: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a0b96: eef4 7ac7 vcmpe.f32 s15, s14 80a0b9a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0b9e: d513 bpl.n 80a0bc8 k = (uint32_t) (roundf(f * 10000)); 80a0ba0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0ba4: ed9f 7a8a vldr s14, [pc, #552] ; 80a0dd0 80a0ba8: ee67 7a87 vmul.f32 s15, s15, s14 80a0bac: eeb0 0a67 vmov.f32 s0, s15 80a0bb0: f02e f9f8 bl 80cefa4 80a0bb4: eef0 7a40 vmov.f32 s15, s0 80a0bb8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0bbc: ee17 3a90 vmov r3, s15 80a0bc0: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a0bc2: 2301 movs r3, #1 80a0bc4: 657b str r3, [r7, #84] ; 0x54 80a0bc6: e1cc b.n 80a0f62 if(f < 100.0f) 80a0bc8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0bcc: ed9f 7a7c vldr s14, [pc, #496] ; 80a0dc0 80a0bd0: eef4 7ac7 vcmpe.f32 s15, s14 80a0bd4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0bd8: d513 bpl.n 80a0c02 k = (uint32_t) (roundf(f * 1000)); 80a0bda: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0bde: ed9f 7a79 vldr s14, [pc, #484] ; 80a0dc4 80a0be2: ee67 7a87 vmul.f32 s15, s15, s14 80a0be6: eeb0 0a67 vmov.f32 s0, s15 80a0bea: f02e f9db bl 80cefa4 80a0bee: eef0 7a40 vmov.f32 s15, s0 80a0bf2: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0bf6: ee17 3a90 vmov r3, s15 80a0bfa: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a0bfc: 2302 movs r3, #2 80a0bfe: 657b str r3, [r7, #84] ; 0x54 80a0c00: e1af b.n 80a0f62 if(f < 1000.0f) 80a0c02: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0c06: ed9f 7a6f vldr s14, [pc, #444] ; 80a0dc4 80a0c0a: eef4 7ac7 vcmpe.f32 s15, s14 80a0c0e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0c12: d513 bpl.n 80a0c3c k = (uint32_t) (roundf(f * 100)); 80a0c14: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0c18: ed9f 7a69 vldr s14, [pc, #420] ; 80a0dc0 80a0c1c: ee67 7a87 vmul.f32 s15, s15, s14 80a0c20: eeb0 0a67 vmov.f32 s0, s15 80a0c24: f02e f9be bl 80cefa4 80a0c28: eef0 7a40 vmov.f32 s15, s0 80a0c2c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0c30: ee17 3a90 vmov r3, s15 80a0c34: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a0c36: 2303 movs r3, #3 80a0c38: 657b str r3, [r7, #84] ; 0x54 80a0c3a: e192 b.n 80a0f62 if(f < 10000.0f) 80a0c3c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0c40: ed9f 7a63 vldr s14, [pc, #396] ; 80a0dd0 80a0c44: eef4 7ac7 vcmpe.f32 s15, s14 80a0c48: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0c4c: d513 bpl.n 80a0c76 k = (uint32_t) (roundf(f * 10)); 80a0c4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0c52: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a0c56: ee67 7a87 vmul.f32 s15, s15, s14 80a0c5a: eeb0 0a67 vmov.f32 s0, s15 80a0c5e: f02e f9a1 bl 80cefa4 80a0c62: eef0 7a40 vmov.f32 s15, s0 80a0c66: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0c6a: ee17 3a90 vmov r3, s15 80a0c6e: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a0c70: 2304 movs r3, #4 80a0c72: 657b str r3, [r7, #84] ; 0x54 80a0c74: e175 b.n 80a0f62 if(f < 100000.0f) 80a0c76: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0c7a: ed9f 7a56 vldr s14, [pc, #344] ; 80a0dd4 80a0c7e: eef4 7ac7 vcmpe.f32 s15, s14 80a0c82: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0c86: d515 bpl.n 80a0cb4 k = (uint32_t) (roundf(f)); 80a0c88: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0c8c: eeb0 0a67 vmov.f32 s0, s15 80a0c90: f02e f988 bl 80cefa4 80a0c94: eef0 7a40 vmov.f32 s15, s0 80a0c98: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0c9c: ee17 3a90 vmov r3, s15 80a0ca0: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a0ca2: 6dbb ldr r3, [r7, #88] ; 0x58 80a0ca4: 4a48 ldr r2, [pc, #288] ; (80a0dc8 ) 80a0ca6: 4293 cmp r3, r2 80a0ca8: d901 bls.n 80a0cae k = 99999; 80a0caa: 4b47 ldr r3, [pc, #284] ; (80a0dc8 ) 80a0cac: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a0cae: 2300 movs r3, #0 80a0cb0: 657b str r3, [r7, #84] ; 0x54 80a0cb2: e156 b.n 80a0f62 if(f >= 100000.0f) 80a0cb4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0cb8: ed9f 7a46 vldr s14, [pc, #280] ; 80a0dd4 80a0cbc: eef4 7ac7 vcmpe.f32 s15, s14 80a0cc0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0cc4: f2c0 814d blt.w 80a0f62 f = 99999.0f; 80a0cc8: 4b40 ldr r3, [pc, #256] ; (80a0dcc ) 80a0cca: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a0ccc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0cd0: eeb0 0a67 vmov.f32 s0, s15 80a0cd4: f02e f966 bl 80cefa4 80a0cd8: eef0 7a40 vmov.f32 s15, s0 80a0cdc: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0ce0: ee17 3a90 vmov r3, s15 80a0ce4: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a0ce6: 2300 movs r3, #0 80a0ce8: 657b str r3, [r7, #84] ; 0x54 80a0cea: e13a b.n 80a0f62 if(f < 10.0f) 80a0cec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0cf0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a0cf4: eef4 7ac7 vcmpe.f32 s15, s14 80a0cf8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0cfc: d515 bpl.n 80a0d2a k = (uint32_t) (roundf(f * 10000)); 80a0cfe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0d02: ed9f 7a33 vldr s14, [pc, #204] ; 80a0dd0 80a0d06: ee67 7a87 vmul.f32 s15, s15, s14 80a0d0a: eeb0 0a67 vmov.f32 s0, s15 80a0d0e: f02e f949 bl 80cefa4 80a0d12: eef0 7a40 vmov.f32 s15, s0 80a0d16: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0d1a: ee17 3a90 vmov r3, s15 80a0d1e: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a0d20: 2301 movs r3, #1 80a0d22: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a0d24: 2300 movs r3, #0 80a0d26: 64fb str r3, [r7, #76] ; 0x4c 80a0d28: e11b b.n 80a0f62 if(f < 100.0f) 80a0d2a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0d2e: ed9f 7a24 vldr s14, [pc, #144] ; 80a0dc0 80a0d32: eef4 7ac7 vcmpe.f32 s15, s14 80a0d36: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0d3a: d515 bpl.n 80a0d68 k = (uint32_t) (roundf(f * 1000)); 80a0d3c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0d40: ed9f 7a20 vldr s14, [pc, #128] ; 80a0dc4 80a0d44: ee67 7a87 vmul.f32 s15, s15, s14 80a0d48: eeb0 0a67 vmov.f32 s0, s15 80a0d4c: f02e f92a bl 80cefa4 80a0d50: eef0 7a40 vmov.f32 s15, s0 80a0d54: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0d58: ee17 3a90 vmov r3, s15 80a0d5c: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a0d5e: 2302 movs r3, #2 80a0d60: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a0d62: 2300 movs r3, #0 80a0d64: 64fb str r3, [r7, #76] ; 0x4c 80a0d66: e0fc b.n 80a0f62 if(f < 1000.0f) 80a0d68: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0d6c: ed9f 7a15 vldr s14, [pc, #84] ; 80a0dc4 80a0d70: eef4 7ac7 vcmpe.f32 s15, s14 80a0d74: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0d78: d53a bpl.n 80a0df0 k = (uint32_t) (roundf(f * 100)); 80a0d7a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0d7e: ed9f 7a10 vldr s14, [pc, #64] ; 80a0dc0 80a0d82: ee67 7a87 vmul.f32 s15, s15, s14 80a0d86: eeb0 0a67 vmov.f32 s0, s15 80a0d8a: f02e f90b bl 80cefa4 80a0d8e: eef0 7a40 vmov.f32 s15, s0 80a0d92: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0d96: ee17 3a90 vmov r3, s15 80a0d9a: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a0d9c: 2303 movs r3, #3 80a0d9e: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a0da0: 2300 movs r3, #0 80a0da2: 64fb str r3, [r7, #76] ; 0x4c 80a0da4: e0dd b.n 80a0f62 80a0da6: bf00 nop 80a0da8: 20023ea8 .word 0x20023ea8 80a0dac: 080d4d98 .word 0x080d4d98 80a0db0: 080d4da0 .word 0x080d4da0 80a0db4: 200226e8 .word 0x200226e8 80a0db8: ff0a0f1f .word 0xff0a0f1f 80a0dbc: 20020038 .word 0x20020038 80a0dc0: 42c80000 .word 0x42c80000 80a0dc4: 447a0000 .word 0x447a0000 80a0dc8: 0001869f .word 0x0001869f 80a0dcc: 47c34f80 .word 0x47c34f80 80a0dd0: 461c4000 .word 0x461c4000 80a0dd4: 47c35000 .word 0x47c35000 80a0dd8: 49742400 .word 0x49742400 80a0ddc: 3dcccccd .word 0x3dcccccd 80a0de0: 4b189680 .word 0x4b189680 80a0de4: 3c23d70a .word 0x3c23d70a 80a0de8: 4cbebc20 .word 0x4cbebc20 80a0dec: 3a83126f .word 0x3a83126f if(f < 10000.0f) 80a0df0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0df4: ed1f 7a0a vldr s14, [pc, #-40] ; 80a0dd0 80a0df8: eef4 7ac7 vcmpe.f32 s15, s14 80a0dfc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0e00: d515 bpl.n 80a0e2e k = (uint32_t) (roundf(f * 10)); 80a0e02: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0e06: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a0e0a: ee67 7a87 vmul.f32 s15, s15, s14 80a0e0e: eeb0 0a67 vmov.f32 s0, s15 80a0e12: f02e f8c7 bl 80cefa4 80a0e16: eef0 7a40 vmov.f32 s15, s0 80a0e1a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0e1e: ee17 3a90 vmov r3, s15 80a0e22: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a0e24: 2301 movs r3, #1 80a0e26: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0e28: 2301 movs r3, #1 80a0e2a: 64fb str r3, [r7, #76] ; 0x4c 80a0e2c: e099 b.n 80a0f62 if(f < 100000.0f) 80a0e2e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0e32: ed1f 7a18 vldr s14, [pc, #-96] ; 80a0dd4 80a0e36: eef4 7ac7 vcmpe.f32 s15, s14 80a0e3a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0e3e: d511 bpl.n 80a0e64 k = (uint32_t) (roundf(f)); 80a0e40: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0e44: eeb0 0a67 vmov.f32 s0, s15 80a0e48: f02e f8ac bl 80cefa4 80a0e4c: eef0 7a40 vmov.f32 s15, s0 80a0e50: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0e54: ee17 3a90 vmov r3, s15 80a0e58: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a0e5a: 2302 movs r3, #2 80a0e5c: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0e5e: 2301 movs r3, #1 80a0e60: 64fb str r3, [r7, #76] ; 0x4c 80a0e62: e07e b.n 80a0f62 if(f < 1000000.0f) 80a0e64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0e68: ed1f 7a25 vldr s14, [pc, #-148] ; 80a0dd8 80a0e6c: eef4 7ac7 vcmpe.f32 s15, s14 80a0e70: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0e74: d515 bpl.n 80a0ea2 k = (uint32_t) (roundf(f * 0.1f)); 80a0e76: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0e7a: ed1f 7a28 vldr s14, [pc, #-160] ; 80a0ddc 80a0e7e: ee67 7a87 vmul.f32 s15, s15, s14 80a0e82: eeb0 0a67 vmov.f32 s0, s15 80a0e86: f02e f88d bl 80cefa4 80a0e8a: eef0 7a40 vmov.f32 s15, s0 80a0e8e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0e92: ee17 3a90 vmov r3, s15 80a0e96: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a0e98: 2303 movs r3, #3 80a0e9a: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0e9c: 2301 movs r3, #1 80a0e9e: 64fb str r3, [r7, #76] ; 0x4c 80a0ea0: e05f b.n 80a0f62 if(f < 10000000.0f) 80a0ea2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0ea6: ed1f 7a32 vldr s14, [pc, #-200] ; 80a0de0 80a0eaa: eef4 7ac7 vcmpe.f32 s15, s14 80a0eae: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0eb2: d515 bpl.n 80a0ee0 k = (uint32_t) (roundf(f * 0.01f)); 80a0eb4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0eb8: ed1f 7a36 vldr s14, [pc, #-216] ; 80a0de4 80a0ebc: ee67 7a87 vmul.f32 s15, s15, s14 80a0ec0: eeb0 0a67 vmov.f32 s0, s15 80a0ec4: f02e f86e bl 80cefa4 80a0ec8: eef0 7a40 vmov.f32 s15, s0 80a0ecc: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0ed0: ee17 3a90 vmov r3, s15 80a0ed4: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a0ed6: 2304 movs r3, #4 80a0ed8: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0eda: 2301 movs r3, #1 80a0edc: 64fb str r3, [r7, #76] ; 0x4c 80a0ede: e040 b.n 80a0f62 if(f < 100000000.0f) 80a0ee0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0ee4: ed1f 7a40 vldr s14, [pc, #-256] ; 80a0de8 80a0ee8: eef4 7ac7 vcmpe.f32 s15, s14 80a0eec: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0ef0: d51b bpl.n 80a0f2a k = (uint32_t) (roundf(f * 0.001f)); 80a0ef2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0ef6: ed1f 7a43 vldr s14, [pc, #-268] ; 80a0dec 80a0efa: ee67 7a87 vmul.f32 s15, s15, s14 80a0efe: eeb0 0a67 vmov.f32 s0, s15 80a0f02: f02e f84f bl 80cefa4 80a0f06: eef0 7a40 vmov.f32 s15, s0 80a0f0a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0f0e: ee17 3a90 vmov r3, s15 80a0f12: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a0f14: 6dbb ldr r3, [r7, #88] ; 0x58 80a0f16: 4abc ldr r2, [pc, #752] ; (80a1208 ) 80a0f18: 4293 cmp r3, r2 80a0f1a: d901 bls.n 80a0f20 k = 99999; 80a0f1c: 4bba ldr r3, [pc, #744] ; (80a1208 ) 80a0f1e: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a0f20: 2300 movs r3, #0 80a0f22: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0f24: 2301 movs r3, #1 80a0f26: 64fb str r3, [r7, #76] ; 0x4c 80a0f28: e01b b.n 80a0f62 if(f >= 100000000.0f) 80a0f2a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0f2e: ed9f 7ab7 vldr s14, [pc, #732] ; 80a120c 80a0f32: eef4 7ac7 vcmpe.f32 s15, s14 80a0f36: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0f3a: db12 blt.n 80a0f62 f = 99999.0f; 80a0f3c: 4bb4 ldr r3, [pc, #720] ; (80a1210 ) 80a0f3e: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a0f40: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0f44: eeb0 0a67 vmov.f32 s0, s15 80a0f48: f02e f82c bl 80cefa4 80a0f4c: eef0 7a40 vmov.f32 s15, s0 80a0f50: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0f54: ee17 3a90 vmov r3, s15 80a0f58: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a0f5a: 2300 movs r3, #0 80a0f5c: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0f5e: 2301 movs r3, #1 80a0f60: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a0f62: 6d3a ldr r2, [r7, #80] ; 0x50 80a0f64: 6dbb ldr r3, [r7, #88] ; 0x58 80a0f66: 49ab ldr r1, [pc, #684] ; (80a1214 ) 80a0f68: fba1 1303 umull r1, r3, r1, r3 80a0f6c: 0b5b lsrs r3, r3, #13 80a0f6e: b2d9 uxtb r1, r3 80a0f70: 4613 mov r3, r2 80a0f72: 009b lsls r3, r3, #2 80a0f74: 4413 add r3, r2 80a0f76: f107 0268 add.w r2, r7, #104 ; 0x68 80a0f7a: 4413 add r3, r2 80a0f7c: 3b34 subs r3, #52 ; 0x34 80a0f7e: 460a mov r2, r1 80a0f80: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a0f82: 6d39 ldr r1, [r7, #80] ; 0x50 80a0f84: 6dba ldr r2, [r7, #88] ; 0x58 80a0f86: 4ba3 ldr r3, [pc, #652] ; (80a1214 ) 80a0f88: fba3 0302 umull r0, r3, r3, r2 80a0f8c: 0b5b lsrs r3, r3, #13 80a0f8e: f242 7010 movw r0, #10000 ; 0x2710 80a0f92: fb00 f303 mul.w r3, r0, r3 80a0f96: 1ad3 subs r3, r2, r3 80a0f98: 4a9f ldr r2, [pc, #636] ; (80a1218 ) 80a0f9a: fba2 2303 umull r2, r3, r2, r3 80a0f9e: 099b lsrs r3, r3, #6 80a0fa0: b2da uxtb r2, r3 80a0fa2: 460b mov r3, r1 80a0fa4: 009b lsls r3, r3, #2 80a0fa6: 440b add r3, r1 80a0fa8: f107 0168 add.w r1, r7, #104 ; 0x68 80a0fac: 440b add r3, r1 80a0fae: 3b33 subs r3, #51 ; 0x33 80a0fb0: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a0fb2: 6d39 ldr r1, [r7, #80] ; 0x50 80a0fb4: 6dba ldr r2, [r7, #88] ; 0x58 80a0fb6: 4b97 ldr r3, [pc, #604] ; (80a1214 ) 80a0fb8: fba3 0302 umull r0, r3, r3, r2 80a0fbc: 0b5b lsrs r3, r3, #13 80a0fbe: f242 7010 movw r0, #10000 ; 0x2710 80a0fc2: fb00 f303 mul.w r3, r0, r3 80a0fc6: 1ad3 subs r3, r2, r3 80a0fc8: 4a93 ldr r2, [pc, #588] ; (80a1218 ) 80a0fca: fba2 0203 umull r0, r2, r2, r3 80a0fce: 0992 lsrs r2, r2, #6 80a0fd0: f44f 707a mov.w r0, #1000 ; 0x3e8 80a0fd4: fb00 f202 mul.w r2, r0, r2 80a0fd8: 1a9a subs r2, r3, r2 80a0fda: 4b90 ldr r3, [pc, #576] ; (80a121c ) 80a0fdc: fba3 2302 umull r2, r3, r3, r2 80a0fe0: 095b lsrs r3, r3, #5 80a0fe2: b2da uxtb r2, r3 80a0fe4: 460b mov r3, r1 80a0fe6: 009b lsls r3, r3, #2 80a0fe8: 440b add r3, r1 80a0fea: f107 0168 add.w r1, r7, #104 ; 0x68 80a0fee: 440b add r3, r1 80a0ff0: 3b32 subs r3, #50 ; 0x32 80a0ff2: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a0ff4: 6d39 ldr r1, [r7, #80] ; 0x50 80a0ff6: 6dbb ldr r3, [r7, #88] ; 0x58 80a0ff8: 4a86 ldr r2, [pc, #536] ; (80a1214 ) 80a0ffa: fba2 0203 umull r0, r2, r2, r3 80a0ffe: 0b52 lsrs r2, r2, #13 80a1000: f242 7010 movw r0, #10000 ; 0x2710 80a1004: fb00 f202 mul.w r2, r0, r2 80a1008: 1a9a subs r2, r3, r2 80a100a: 4b83 ldr r3, [pc, #524] ; (80a1218 ) 80a100c: fba3 0302 umull r0, r3, r3, r2 80a1010: 099b lsrs r3, r3, #6 80a1012: f44f 707a mov.w r0, #1000 ; 0x3e8 80a1016: fb00 f303 mul.w r3, r0, r3 80a101a: 1ad3 subs r3, r2, r3 80a101c: 4a7f ldr r2, [pc, #508] ; (80a121c ) 80a101e: fba2 0203 umull r0, r2, r2, r3 80a1022: 0952 lsrs r2, r2, #5 80a1024: 2064 movs r0, #100 ; 0x64 80a1026: fb00 f202 mul.w r2, r0, r2 80a102a: 1a9a subs r2, r3, r2 80a102c: 4b7c ldr r3, [pc, #496] ; (80a1220 ) 80a102e: fba3 2302 umull r2, r3, r3, r2 80a1032: 08db lsrs r3, r3, #3 80a1034: b2da uxtb r2, r3 80a1036: 460b mov r3, r1 80a1038: 009b lsls r3, r3, #2 80a103a: 440b add r3, r1 80a103c: f107 0168 add.w r1, r7, #104 ; 0x68 80a1040: 440b add r3, r1 80a1042: 3b31 subs r3, #49 ; 0x31 80a1044: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a1046: 6d38 ldr r0, [r7, #80] ; 0x50 80a1048: 6dbb ldr r3, [r7, #88] ; 0x58 80a104a: 4a72 ldr r2, [pc, #456] ; (80a1214 ) 80a104c: fba2 1203 umull r1, r2, r2, r3 80a1050: 0b52 lsrs r2, r2, #13 80a1052: f242 7110 movw r1, #10000 ; 0x2710 80a1056: fb01 f202 mul.w r2, r1, r2 80a105a: 1a9a subs r2, r3, r2 80a105c: 4b6e ldr r3, [pc, #440] ; (80a1218 ) 80a105e: fba3 1302 umull r1, r3, r3, r2 80a1062: 099b lsrs r3, r3, #6 80a1064: f44f 717a mov.w r1, #1000 ; 0x3e8 80a1068: fb01 f303 mul.w r3, r1, r3 80a106c: 1ad3 subs r3, r2, r3 80a106e: 4a6b ldr r2, [pc, #428] ; (80a121c ) 80a1070: fba2 1203 umull r1, r2, r2, r3 80a1074: 0952 lsrs r2, r2, #5 80a1076: 2164 movs r1, #100 ; 0x64 80a1078: fb01 f202 mul.w r2, r1, r2 80a107c: 1a9a subs r2, r3, r2 80a107e: 4b68 ldr r3, [pc, #416] ; (80a1220 ) 80a1080: fba3 1302 umull r1, r3, r3, r2 80a1084: 08d9 lsrs r1, r3, #3 80a1086: 460b mov r3, r1 80a1088: 009b lsls r3, r3, #2 80a108a: 440b add r3, r1 80a108c: 005b lsls r3, r3, #1 80a108e: 1ad1 subs r1, r2, r3 80a1090: b2ca uxtb r2, r1 80a1092: 4603 mov r3, r0 80a1094: 009b lsls r3, r3, #2 80a1096: 4403 add r3, r0 80a1098: f107 0168 add.w r1, r7, #104 ; 0x68 80a109c: 440b add r3, r1 80a109e: 3b30 subs r3, #48 ; 0x30 80a10a0: 701a strb r2, [r3, #0] if(ipr == ACC) 80a10a2: 6d3b ldr r3, [r7, #80] ; 0x50 80a10a4: 2b00 cmp r3, #0 80a10a6: f040 80c9 bne.w 80a123c if(!t) 80a10aa: 6d7b ldr r3, [r7, #84] ; 0x54 80a10ac: 2b00 cmp r3, #0 80a10ae: d126 bne.n 80a10fe for(i = 0; i < 5; i++) 80a10b0: 2300 movs r3, #0 80a10b2: 65fb str r3, [r7, #92] ; 0x5c 80a10b4: e01f b.n 80a10f6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a10b6: 6d3a ldr r2, [r7, #80] ; 0x50 80a10b8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a10ba: 4613 mov r3, r2 80a10bc: 009b lsls r3, r3, #2 80a10be: 4413 add r3, r2 80a10c0: f107 0268 add.w r2, r7, #104 ; 0x68 80a10c4: 4413 add r3, r2 80a10c6: 440b add r3, r1 80a10c8: 3b34 subs r3, #52 ; 0x34 80a10ca: 781b ldrb r3, [r3, #0] 80a10cc: b2db uxtb r3, r3 80a10ce: 461a mov r2, r3 80a10d0: 4b54 ldr r3, [pc, #336] ; (80a1224 ) 80a10d2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a10d6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a10d8: b29b uxth r3, r3 80a10da: 461a mov r2, r3 80a10dc: 0112 lsls r2, r2, #4 80a10de: 1ad3 subs r3, r2, r3 80a10e0: 005b lsls r3, r3, #1 80a10e2: b29b uxth r3, r3 80a10e4: 335a adds r3, #90 ; 0x5a 80a10e6: b29b uxth r3, r3 80a10e8: 2256 movs r2, #86 ; 0x56 80a10ea: 4619 mov r1, r3 80a10ec: f7b4 f984 bl 80553f8 for(i = 0; i < 5; i++) 80a10f0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a10f2: 3301 adds r3, #1 80a10f4: 65fb str r3, [r7, #92] ; 0x5c 80a10f6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a10f8: 2b04 cmp r3, #4 80a10fa: d9dc bls.n 80a10b6 80a10fc: e05a b.n 80a11b4 for(i = 0; i < t; i++) 80a10fe: 2300 movs r3, #0 80a1100: 65fb str r3, [r7, #92] ; 0x5c 80a1102: e01f b.n 80a1144 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a1104: 6d3a ldr r2, [r7, #80] ; 0x50 80a1106: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1108: 4613 mov r3, r2 80a110a: 009b lsls r3, r3, #2 80a110c: 4413 add r3, r2 80a110e: f107 0268 add.w r2, r7, #104 ; 0x68 80a1112: 4413 add r3, r2 80a1114: 440b add r3, r1 80a1116: 3b34 subs r3, #52 ; 0x34 80a1118: 781b ldrb r3, [r3, #0] 80a111a: b2db uxtb r3, r3 80a111c: 461a mov r2, r3 80a111e: 4b41 ldr r3, [pc, #260] ; (80a1224 ) 80a1120: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1124: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1126: b29b uxth r3, r3 80a1128: 461a mov r2, r3 80a112a: 0112 lsls r2, r2, #4 80a112c: 1ad3 subs r3, r2, r3 80a112e: 005b lsls r3, r3, #1 80a1130: b29b uxth r3, r3 80a1132: 335a adds r3, #90 ; 0x5a 80a1134: b29b uxth r3, r3 80a1136: 2256 movs r2, #86 ; 0x56 80a1138: 4619 mov r1, r3 80a113a: f7b4 f95d bl 80553f8 for(i = 0; i < t; i++) 80a113e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1140: 3301 adds r3, #1 80a1142: 65fb str r3, [r7, #92] ; 0x5c 80a1144: 6dfa ldr r2, [r7, #92] ; 0x5c 80a1146: 6d7b ldr r3, [r7, #84] ; 0x54 80a1148: 429a cmp r2, r3 80a114a: d3db bcc.n 80a1104 DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a114c: 6d7b ldr r3, [r7, #84] ; 0x54 80a114e: b29b uxth r3, r3 80a1150: 461a mov r2, r3 80a1152: 0112 lsls r2, r2, #4 80a1154: 1ad3 subs r3, r2, r3 80a1156: 005b lsls r3, r3, #1 80a1158: b29b uxth r3, r3 80a115a: 335f adds r3, #95 ; 0x5f 80a115c: b29b uxth r3, r3 80a115e: 226e movs r2, #110 ; 0x6e 80a1160: 4619 mov r1, r3 80a1162: 4831 ldr r0, [pc, #196] ; (80a1228 ) 80a1164: f7b4 f948 bl 80553f8 for(i = t; i < 5; i++) 80a1168: 6d7b ldr r3, [r7, #84] ; 0x54 80a116a: 65fb str r3, [r7, #92] ; 0x5c 80a116c: e01f b.n 80a11ae DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a116e: 6d3a ldr r2, [r7, #80] ; 0x50 80a1170: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1172: 4613 mov r3, r2 80a1174: 009b lsls r3, r3, #2 80a1176: 4413 add r3, r2 80a1178: f107 0268 add.w r2, r7, #104 ; 0x68 80a117c: 4413 add r3, r2 80a117e: 440b add r3, r1 80a1180: 3b34 subs r3, #52 ; 0x34 80a1182: 781b ldrb r3, [r3, #0] 80a1184: b2db uxtb r3, r3 80a1186: 461a mov r2, r3 80a1188: 4b26 ldr r3, [pc, #152] ; (80a1224 ) 80a118a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a118e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1190: b29b uxth r3, r3 80a1192: 461a mov r2, r3 80a1194: 0112 lsls r2, r2, #4 80a1196: 1ad3 subs r3, r2, r3 80a1198: 005b lsls r3, r3, #1 80a119a: b29b uxth r3, r3 80a119c: 336e adds r3, #110 ; 0x6e 80a119e: b29b uxth r3, r3 80a11a0: 2256 movs r2, #86 ; 0x56 80a11a2: 4619 mov r1, r3 80a11a4: f7b4 f928 bl 80553f8 for(i = t; i < 5; i++) 80a11a8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a11aa: 3301 adds r3, #1 80a11ac: 65fb str r3, [r7, #92] ; 0x5c 80a11ae: 6dfb ldr r3, [r7, #92] ; 0x5c 80a11b0: 2b04 cmp r3, #4 80a11b2: d9dc bls.n 80a116e if(ReadFileData.Aivs < 'E') 80a11b4: 4b1d ldr r3, [pc, #116] ; (80a122c ) 80a11b6: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a11ba: b2db uxtb r3, r3 80a11bc: 2b44 cmp r3, #68 ; 0x44 80a11be: d80c bhi.n 80a11da DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a11c0: 4b1b ldr r3, [pc, #108] ; (80a1230 ) 80a11c2: 7b1b ldrb r3, [r3, #12] 80a11c4: b2db uxtb r3, r3 80a11c6: 461a mov r2, r3 80a11c8: 4b1a ldr r3, [pc, #104] ; (80a1234 ) 80a11ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a11ce: 225c movs r2, #92 ; 0x5c 80a11d0: f240 1109 movw r1, #265 ; 0x109 80a11d4: 4618 mov r0, r3 80a11d6: f7b4 f90f bl 80553f8 if(ReadFileData.Aivs == 'E') 80a11da: 4b14 ldr r3, [pc, #80] ; (80a122c ) 80a11dc: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a11e0: b2db uxtb r3, r3 80a11e2: 2b45 cmp r3, #69 ; 0x45 80a11e4: f040 81f1 bne.w 80a15ca if(ReadFileData.Vval.fl < 0.0f) { 80a11e8: 4b10 ldr r3, [pc, #64] ; (80a122c ) 80a11ea: edd3 7a01 vldr s15, [r3, #4] 80a11ee: eef5 7ac0 vcmpe.f32 s15, #0.0 80a11f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a11f6: f140 81e8 bpl.w 80a15ca DrawImage(&bmgminus, 78, 84+18); 80a11fa: 2266 movs r2, #102 ; 0x66 80a11fc: 214e movs r1, #78 ; 0x4e 80a11fe: 480e ldr r0, [pc, #56] ; (80a1238 ) 80a1200: f7b4 f8fa bl 80553f8 80a1204: e1e1 b.n 80a15ca 80a1206: bf00 nop 80a1208: 0001869f .word 0x0001869f 80a120c: 4cbebc20 .word 0x4cbebc20 80a1210: 47c34f80 .word 0x47c34f80 80a1214: d1b71759 .word 0xd1b71759 80a1218: 10624dd3 .word 0x10624dd3 80a121c: 51eb851f .word 0x51eb851f 80a1220: cccccccd .word 0xcccccccd 80a1224: 20020124 .word 0x20020124 80a1228: 0816be20 .word 0x0816be20 80a122c: 200226e8 .word 0x200226e8 80a1230: 20023ea8 .word 0x20023ea8 80a1234: 200200f4 .word 0x200200f4 80a1238: 0816bd94 .word 0x0816bd94 if(ipr == VEL) 80a123c: 6d3b ldr r3, [r7, #80] ; 0x50 80a123e: 2b01 cmp r3, #1 80a1240: f040 80ce bne.w 80a13e0 if(ReadFileData.Vval.fl != -1.0f) 80a1244: 4b9f ldr r3, [pc, #636] ; (80a14c4 ) 80a1246: edd3 7a01 vldr s15, [r3, #4] 80a124a: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a124e: eef4 7a47 vcmp.f32 s15, s14 80a1252: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1256: f000 80ae beq.w 80a13b6 if(!t) 80a125a: 6d7b ldr r3, [r7, #84] ; 0x54 80a125c: 2b00 cmp r3, #0 80a125e: d126 bne.n 80a12ae for(i = 0; i < 5; i++) 80a1260: 2300 movs r3, #0 80a1262: 65fb str r3, [r7, #92] ; 0x5c 80a1264: e01f b.n 80a12a6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a1266: 6d3a ldr r2, [r7, #80] ; 0x50 80a1268: 6df9 ldr r1, [r7, #92] ; 0x5c 80a126a: 4613 mov r3, r2 80a126c: 009b lsls r3, r3, #2 80a126e: 4413 add r3, r2 80a1270: f107 0268 add.w r2, r7, #104 ; 0x68 80a1274: 4413 add r3, r2 80a1276: 440b add r3, r1 80a1278: 3b34 subs r3, #52 ; 0x34 80a127a: 781b ldrb r3, [r3, #0] 80a127c: b2db uxtb r3, r3 80a127e: 461a mov r2, r3 80a1280: 4b91 ldr r3, [pc, #580] ; (80a14c8 ) 80a1282: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1286: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1288: b29b uxth r3, r3 80a128a: 461a mov r2, r3 80a128c: 0112 lsls r2, r2, #4 80a128e: 1ad3 subs r3, r2, r3 80a1290: 005b lsls r3, r3, #1 80a1292: b29b uxth r3, r3 80a1294: 335a adds r3, #90 ; 0x5a 80a1296: b29b uxth r3, r3 80a1298: 2282 movs r2, #130 ; 0x82 80a129a: 4619 mov r1, r3 80a129c: f7b4 f8ac bl 80553f8 for(i = 0; i < 5; i++) 80a12a0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a12a2: 3301 adds r3, #1 80a12a4: 65fb str r3, [r7, #92] ; 0x5c 80a12a6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a12a8: 2b04 cmp r3, #4 80a12aa: d9dc bls.n 80a1266 80a12ac: e05a b.n 80a1364 for(i = 0; i < t; i++) 80a12ae: 2300 movs r3, #0 80a12b0: 65fb str r3, [r7, #92] ; 0x5c 80a12b2: e01f b.n 80a12f4 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a12b4: 6d3a ldr r2, [r7, #80] ; 0x50 80a12b6: 6df9 ldr r1, [r7, #92] ; 0x5c 80a12b8: 4613 mov r3, r2 80a12ba: 009b lsls r3, r3, #2 80a12bc: 4413 add r3, r2 80a12be: f107 0268 add.w r2, r7, #104 ; 0x68 80a12c2: 4413 add r3, r2 80a12c4: 440b add r3, r1 80a12c6: 3b34 subs r3, #52 ; 0x34 80a12c8: 781b ldrb r3, [r3, #0] 80a12ca: b2db uxtb r3, r3 80a12cc: 461a mov r2, r3 80a12ce: 4b7e ldr r3, [pc, #504] ; (80a14c8 ) 80a12d0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a12d4: 6dfb ldr r3, [r7, #92] ; 0x5c 80a12d6: b29b uxth r3, r3 80a12d8: 461a mov r2, r3 80a12da: 0112 lsls r2, r2, #4 80a12dc: 1ad3 subs r3, r2, r3 80a12de: 005b lsls r3, r3, #1 80a12e0: b29b uxth r3, r3 80a12e2: 335a adds r3, #90 ; 0x5a 80a12e4: b29b uxth r3, r3 80a12e6: 2282 movs r2, #130 ; 0x82 80a12e8: 4619 mov r1, r3 80a12ea: f7b4 f885 bl 80553f8 for(i = 0; i < t; i++) 80a12ee: 6dfb ldr r3, [r7, #92] ; 0x5c 80a12f0: 3301 adds r3, #1 80a12f2: 65fb str r3, [r7, #92] ; 0x5c 80a12f4: 6dfa ldr r2, [r7, #92] ; 0x5c 80a12f6: 6d7b ldr r3, [r7, #84] ; 0x54 80a12f8: 429a cmp r2, r3 80a12fa: d3db bcc.n 80a12b4 DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a12fc: 6d7b ldr r3, [r7, #84] ; 0x54 80a12fe: b29b uxth r3, r3 80a1300: 461a mov r2, r3 80a1302: 0112 lsls r2, r2, #4 80a1304: 1ad3 subs r3, r2, r3 80a1306: 005b lsls r3, r3, #1 80a1308: b29b uxth r3, r3 80a130a: 335f adds r3, #95 ; 0x5f 80a130c: b29b uxth r3, r3 80a130e: 229a movs r2, #154 ; 0x9a 80a1310: 4619 mov r1, r3 80a1312: 486e ldr r0, [pc, #440] ; (80a14cc ) 80a1314: f7b4 f870 bl 80553f8 for(i = t; i < 5; i++) 80a1318: 6d7b ldr r3, [r7, #84] ; 0x54 80a131a: 65fb str r3, [r7, #92] ; 0x5c 80a131c: e01f b.n 80a135e DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a131e: 6d3a ldr r2, [r7, #80] ; 0x50 80a1320: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1322: 4613 mov r3, r2 80a1324: 009b lsls r3, r3, #2 80a1326: 4413 add r3, r2 80a1328: f107 0268 add.w r2, r7, #104 ; 0x68 80a132c: 4413 add r3, r2 80a132e: 440b add r3, r1 80a1330: 3b34 subs r3, #52 ; 0x34 80a1332: 781b ldrb r3, [r3, #0] 80a1334: b2db uxtb r3, r3 80a1336: 461a mov r2, r3 80a1338: 4b63 ldr r3, [pc, #396] ; (80a14c8 ) 80a133a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a133e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1340: b29b uxth r3, r3 80a1342: 461a mov r2, r3 80a1344: 0112 lsls r2, r2, #4 80a1346: 1ad3 subs r3, r2, r3 80a1348: 005b lsls r3, r3, #1 80a134a: b29b uxth r3, r3 80a134c: 336e adds r3, #110 ; 0x6e 80a134e: b29b uxth r3, r3 80a1350: 2282 movs r2, #130 ; 0x82 80a1352: 4619 mov r1, r3 80a1354: f7b4 f850 bl 80553f8 for(i = t; i < 5; i++) 80a1358: 6dfb ldr r3, [r7, #92] ; 0x5c 80a135a: 3301 adds r3, #1 80a135c: 65fb str r3, [r7, #92] ; 0x5c 80a135e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1360: 2b04 cmp r3, #4 80a1362: d9dc bls.n 80a131e if(ReadFileData.Vivs < 'E') 80a1364: 4b57 ldr r3, [pc, #348] ; (80a14c4 ) 80a1366: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a136a: b2db uxtb r3, r3 80a136c: 2b44 cmp r3, #68 ; 0x44 80a136e: d80c bhi.n 80a138a DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a1370: 4b57 ldr r3, [pc, #348] ; (80a14d0 ) 80a1372: 7b1b ldrb r3, [r3, #12] 80a1374: b2db uxtb r3, r3 80a1376: 461a mov r2, r3 80a1378: 4b56 ldr r3, [pc, #344] ; (80a14d4 ) 80a137a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a137e: 2289 movs r2, #137 ; 0x89 80a1380: f240 1109 movw r1, #265 ; 0x109 80a1384: 4618 mov r0, r3 80a1386: f7b4 f837 bl 80553f8 if(ReadFileData.Vivs == 'E') 80a138a: 4b4e ldr r3, [pc, #312] ; (80a14c4 ) 80a138c: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a1390: b2db uxtb r3, r3 80a1392: 2b45 cmp r3, #69 ; 0x45 80a1394: f040 8119 bne.w 80a15ca if(ReadFileData.Vval.fl < 0.0f) { 80a1398: 4b4a ldr r3, [pc, #296] ; (80a14c4 ) 80a139a: edd3 7a01 vldr s15, [r3, #4] 80a139e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a13a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a13a6: f140 8110 bpl.w 80a15ca DrawImage(&bmgminus, 78, 138+9); 80a13aa: 2293 movs r2, #147 ; 0x93 80a13ac: 214e movs r1, #78 ; 0x4e 80a13ae: 484a ldr r0, [pc, #296] ; (80a14d8 ) 80a13b0: f7b4 f822 bl 80553f8 80a13b4: e109 b.n 80a15ca LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a13b6: 4949 ldr r1, [pc, #292] ; (80a14dc ) 80a13b8: 4849 ldr r0, [pc, #292] ; (80a14e0 ) 80a13ba: f7b3 f929 bl 8054610 if(pardata.LANG == RUS) 80a13be: 4b44 ldr r3, [pc, #272] ; (80a14d0 ) 80a13c0: 7b1b ldrb r3, [r3, #12] 80a13c2: b2db uxtb r3, r3 80a13c4: 2b00 cmp r3, #0 80a13c6: d105 bne.n 80a13d4 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a13c8: 4a46 ldr r2, [pc, #280] ; (80a14e4 ) 80a13ca: 2187 movs r1, #135 ; 0x87 80a13cc: 20a7 movs r0, #167 ; 0xa7 80a13ce: f7b3 fedf bl 8055190 80a13d2: e0fa b.n 80a15ca else LCD_DisplayStringC(167, 135, "NO DATA"); 80a13d4: 4a44 ldr r2, [pc, #272] ; (80a14e8 ) 80a13d6: 2187 movs r1, #135 ; 0x87 80a13d8: 20a7 movs r0, #167 ; 0xa7 80a13da: f7b3 fed9 bl 8055190 80a13de: e0f4 b.n 80a15ca if(ipr == DIS) 80a13e0: 6d3b ldr r3, [r7, #80] ; 0x50 80a13e2: 2b02 cmp r3, #2 80a13e4: f040 80f1 bne.w 80a15ca if(ReadFileData.Sval.fl != -1.0f) 80a13e8: 4b36 ldr r3, [pc, #216] ; (80a14c4 ) 80a13ea: edd3 7a02 vldr s15, [r3, #8] 80a13ee: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a13f2: eef4 7a47 vcmp.f32 s15, s14 80a13f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a13fa: f000 80d2 beq.w 80a15a2 if(!t) 80a13fe: 6d7b ldr r3, [r7, #84] ; 0x54 80a1400: 2b00 cmp r3, #0 80a1402: d126 bne.n 80a1452 for(i = 0; i < 5; i++) 80a1404: 2300 movs r3, #0 80a1406: 65fb str r3, [r7, #92] ; 0x5c 80a1408: e01f b.n 80a144a DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a140a: 6d3a ldr r2, [r7, #80] ; 0x50 80a140c: 6df9 ldr r1, [r7, #92] ; 0x5c 80a140e: 4613 mov r3, r2 80a1410: 009b lsls r3, r3, #2 80a1412: 4413 add r3, r2 80a1414: f107 0268 add.w r2, r7, #104 ; 0x68 80a1418: 4413 add r3, r2 80a141a: 440b add r3, r1 80a141c: 3b34 subs r3, #52 ; 0x34 80a141e: 781b ldrb r3, [r3, #0] 80a1420: b2db uxtb r3, r3 80a1422: 461a mov r2, r3 80a1424: 4b28 ldr r3, [pc, #160] ; (80a14c8 ) 80a1426: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a142a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a142c: b29b uxth r3, r3 80a142e: 461a mov r2, r3 80a1430: 0112 lsls r2, r2, #4 80a1432: 1ad3 subs r3, r2, r3 80a1434: 005b lsls r3, r3, #1 80a1436: b29b uxth r3, r3 80a1438: 335a adds r3, #90 ; 0x5a 80a143a: b29b uxth r3, r3 80a143c: 22ae movs r2, #174 ; 0xae 80a143e: 4619 mov r1, r3 80a1440: f7b3 ffda bl 80553f8 for(i = 0; i < 5; i++) 80a1444: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1446: 3301 adds r3, #1 80a1448: 65fb str r3, [r7, #92] ; 0x5c 80a144a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a144c: 2b04 cmp r3, #4 80a144e: d9dc bls.n 80a140a 80a1450: e06f b.n 80a1532 for(i = 0; i < t; i++) 80a1452: 2300 movs r3, #0 80a1454: 65fb str r3, [r7, #92] ; 0x5c 80a1456: e01f b.n 80a1498 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a1458: 6d3a ldr r2, [r7, #80] ; 0x50 80a145a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a145c: 4613 mov r3, r2 80a145e: 009b lsls r3, r3, #2 80a1460: 4413 add r3, r2 80a1462: f107 0268 add.w r2, r7, #104 ; 0x68 80a1466: 4413 add r3, r2 80a1468: 440b add r3, r1 80a146a: 3b34 subs r3, #52 ; 0x34 80a146c: 781b ldrb r3, [r3, #0] 80a146e: b2db uxtb r3, r3 80a1470: 461a mov r2, r3 80a1472: 4b15 ldr r3, [pc, #84] ; (80a14c8 ) 80a1474: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1478: 6dfb ldr r3, [r7, #92] ; 0x5c 80a147a: b29b uxth r3, r3 80a147c: 461a mov r2, r3 80a147e: 0112 lsls r2, r2, #4 80a1480: 1ad3 subs r3, r2, r3 80a1482: 005b lsls r3, r3, #1 80a1484: b29b uxth r3, r3 80a1486: 335a adds r3, #90 ; 0x5a 80a1488: b29b uxth r3, r3 80a148a: 22ae movs r2, #174 ; 0xae 80a148c: 4619 mov r1, r3 80a148e: f7b3 ffb3 bl 80553f8 for(i = 0; i < t; i++) 80a1492: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1494: 3301 adds r3, #1 80a1496: 65fb str r3, [r7, #92] ; 0x5c 80a1498: 6dfa ldr r2, [r7, #92] ; 0x5c 80a149a: 6d7b ldr r3, [r7, #84] ; 0x54 80a149c: 429a cmp r2, r3 80a149e: d3db bcc.n 80a1458 DrawImage(&bmgpt, 95 + 30*t, 198); 80a14a0: 6d7b ldr r3, [r7, #84] ; 0x54 80a14a2: b29b uxth r3, r3 80a14a4: 461a mov r2, r3 80a14a6: 0112 lsls r2, r2, #4 80a14a8: 1ad3 subs r3, r2, r3 80a14aa: 005b lsls r3, r3, #1 80a14ac: b29b uxth r3, r3 80a14ae: 335f adds r3, #95 ; 0x5f 80a14b0: b29b uxth r3, r3 80a14b2: 22c6 movs r2, #198 ; 0xc6 80a14b4: 4619 mov r1, r3 80a14b6: 4805 ldr r0, [pc, #20] ; (80a14cc ) 80a14b8: f7b3 ff9e bl 80553f8 for(i = t; i < 5; i++) 80a14bc: 6d7b ldr r3, [r7, #84] ; 0x54 80a14be: 65fb str r3, [r7, #92] ; 0x5c 80a14c0: e034 b.n 80a152c 80a14c2: bf00 nop 80a14c4: 200226e8 .word 0x200226e8 80a14c8: 20020124 .word 0x20020124 80a14cc: 0816be20 .word 0x0816be20 80a14d0: 20023ea8 .word 0x20023ea8 80a14d4: 200200fc .word 0x200200fc 80a14d8: 0816bd94 .word 0x0816bd94 80a14dc: ff0a0f1f .word 0xff0a0f1f 80a14e0: ffb8e828 .word 0xffb8e828 80a14e4: 080d3e64 .word 0x080d3e64 80a14e8: 080d3e70 .word 0x080d3e70 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a14ec: 6d3a ldr r2, [r7, #80] ; 0x50 80a14ee: 6df9 ldr r1, [r7, #92] ; 0x5c 80a14f0: 4613 mov r3, r2 80a14f2: 009b lsls r3, r3, #2 80a14f4: 4413 add r3, r2 80a14f6: f107 0268 add.w r2, r7, #104 ; 0x68 80a14fa: 4413 add r3, r2 80a14fc: 440b add r3, r1 80a14fe: 3b34 subs r3, #52 ; 0x34 80a1500: 781b ldrb r3, [r3, #0] 80a1502: b2db uxtb r3, r3 80a1504: 461a mov r2, r3 80a1506: 4bbe ldr r3, [pc, #760] ; (80a1800 ) 80a1508: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a150c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a150e: b29b uxth r3, r3 80a1510: 461a mov r2, r3 80a1512: 0112 lsls r2, r2, #4 80a1514: 1ad3 subs r3, r2, r3 80a1516: 005b lsls r3, r3, #1 80a1518: b29b uxth r3, r3 80a151a: 336e adds r3, #110 ; 0x6e 80a151c: b29b uxth r3, r3 80a151e: 22ae movs r2, #174 ; 0xae 80a1520: 4619 mov r1, r3 80a1522: f7b3 ff69 bl 80553f8 for(i = t; i < 5; i++) 80a1526: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1528: 3301 adds r3, #1 80a152a: 65fb str r3, [r7, #92] ; 0x5c 80a152c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a152e: 2b04 cmp r3, #4 80a1530: d9dc bls.n 80a14ec if(ReadFileData.Sivs < 'E') 80a1532: 4bb4 ldr r3, [pc, #720] ; (80a1804 ) 80a1534: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a1538: b2db uxtb r3, r3 80a153a: 2b44 cmp r3, #68 ; 0x44 80a153c: d81d bhi.n 80a157a if(m == 0) 80a153e: 6cfb ldr r3, [r7, #76] ; 0x4c 80a1540: 2b00 cmp r3, #0 80a1542: d10d bne.n 80a1560 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a1544: 4bb0 ldr r3, [pc, #704] ; (80a1808 ) 80a1546: 7b1b ldrb r3, [r3, #12] 80a1548: b2db uxtb r3, r3 80a154a: 461a mov r2, r3 80a154c: 4baf ldr r3, [pc, #700] ; (80a180c ) 80a154e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1552: 22b4 movs r2, #180 ; 0xb4 80a1554: f240 1109 movw r1, #265 ; 0x109 80a1558: 4618 mov r0, r3 80a155a: f7b3 ff4d bl 80553f8 80a155e: e00c b.n 80a157a else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a1560: 4ba9 ldr r3, [pc, #676] ; (80a1808 ) 80a1562: 7b1b ldrb r3, [r3, #12] 80a1564: b2db uxtb r3, r3 80a1566: 461a mov r2, r3 80a1568: 4ba9 ldr r3, [pc, #676] ; (80a1810 ) 80a156a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a156e: 22b4 movs r2, #180 ; 0xb4 80a1570: f240 1109 movw r1, #265 ; 0x109 80a1574: 4618 mov r0, r3 80a1576: f7b3 ff3f bl 80553f8 if(ReadFileData.Sivs == 'E') 80a157a: 4ba2 ldr r3, [pc, #648] ; (80a1804 ) 80a157c: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a1580: b2db uxtb r3, r3 80a1582: 2b45 cmp r3, #69 ; 0x45 80a1584: d121 bne.n 80a15ca if(ReadFileData.Sval.fl < 0.0f) { 80a1586: 4b9f ldr r3, [pc, #636] ; (80a1804 ) 80a1588: edd3 7a02 vldr s15, [r3, #8] 80a158c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a1590: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1594: d519 bpl.n 80a15ca DrawImage(&bmgminus, 78, 190); 80a1596: 22be movs r2, #190 ; 0xbe 80a1598: 214e movs r1, #78 ; 0x4e 80a159a: 489e ldr r0, [pc, #632] ; (80a1814 ) 80a159c: f7b3 ff2c bl 80553f8 80a15a0: e013 b.n 80a15ca LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a15a2: 499d ldr r1, [pc, #628] ; (80a1818 ) 80a15a4: 489d ldr r0, [pc, #628] ; (80a181c ) 80a15a6: f7b3 f833 bl 8054610 if(pardata.LANG == RUS) 80a15aa: 4b97 ldr r3, [pc, #604] ; (80a1808 ) 80a15ac: 7b1b ldrb r3, [r3, #12] 80a15ae: b2db uxtb r3, r3 80a15b0: 2b00 cmp r3, #0 80a15b2: d105 bne.n 80a15c0 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a15b4: 4a9a ldr r2, [pc, #616] ; (80a1820 ) 80a15b6: 21b9 movs r1, #185 ; 0xb9 80a15b8: 20a7 movs r0, #167 ; 0xa7 80a15ba: f7b3 fde9 bl 8055190 80a15be: e004 b.n 80a15ca else LCD_DisplayStringC(167, 185, "NO DATA"); 80a15c0: 4a98 ldr r2, [pc, #608] ; (80a1824 ) 80a15c2: 21b9 movs r1, #185 ; 0xb9 80a15c4: 20a7 movs r0, #167 ; 0xa7 80a15c6: f7b3 fde3 bl 8055190 for(ipr = ACC; ipr <= DIS; ipr++) 80a15ca: 6d3b ldr r3, [r7, #80] ; 0x50 80a15cc: 3301 adds r3, #1 80a15ce: 653b str r3, [r7, #80] ; 0x50 80a15d0: 6d3b ldr r3, [r7, #80] ; 0x50 80a15d2: 2b02 cmp r3, #2 80a15d4: f67f aa84 bls.w 80a0ae0 break; 80a15d8: f003 ba6e b.w 80a4ab8 for(ipr = ACC; ipr <= DIS; ipr++) 80a15dc: 2300 movs r3, #0 80a15de: 653b str r3, [r7, #80] ; 0x50 80a15e0: f001 b964 b.w 80a28ac if(ipr == ACC) f = ReadFileData.Aval.fl; 80a15e4: 6d3b ldr r3, [r7, #80] ; 0x50 80a15e6: 2b00 cmp r3, #0 80a15e8: d103 bne.n 80a15f2 80a15ea: 4b86 ldr r3, [pc, #536] ; (80a1804 ) 80a15ec: 681b ldr r3, [r3, #0] 80a15ee: 647b str r3, [r7, #68] ; 0x44 80a15f0: e00c b.n 80a160c else if(ipr == VEL) f = ReadFileData.Vval.fl; 80a15f2: 6d3b ldr r3, [r7, #80] ; 0x50 80a15f4: 2b01 cmp r3, #1 80a15f6: d103 bne.n 80a1600 80a15f8: 4b82 ldr r3, [pc, #520] ; (80a1804 ) 80a15fa: 685b ldr r3, [r3, #4] 80a15fc: 647b str r3, [r7, #68] ; 0x44 80a15fe: e005 b.n 80a160c else if(ipr == DIS) f = ReadFileData.Sval.fl; 80a1600: 6d3b ldr r3, [r7, #80] ; 0x50 80a1602: 2b02 cmp r3, #2 80a1604: d102 bne.n 80a160c 80a1606: 4b7f ldr r3, [pc, #508] ; (80a1804 ) 80a1608: 689b ldr r3, [r3, #8] 80a160a: 647b str r3, [r7, #68] ; 0x44 if(ivs[ipr] >= 'F') 80a160c: 6d3b ldr r3, [r7, #80] ; 0x50 80a160e: f107 0268 add.w r2, r7, #104 ; 0x68 80a1612: 4413 add r3, r2 80a1614: f813 3c68 ldrb.w r3, [r3, #-104] 80a1618: 2b45 cmp r3, #69 ; 0x45 80a161a: f240 8532 bls.w 80a2082 if(ipr < DIS) 80a161e: 6d3b ldr r3, [r7, #80] ; 0x50 80a1620: 2b01 cmp r3, #1 80a1622: f200 80af bhi.w 80a1784 if(f < 10.0f) 80a1626: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a162a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a162e: eef4 7ac7 vcmpe.f32 s15, s14 80a1632: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1636: d513 bpl.n 80a1660 k = (uint32_t) (roundf(f * 10000)); 80a1638: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a163c: ed9f 7a7e vldr s14, [pc, #504] ; 80a1838 80a1640: ee67 7a87 vmul.f32 s15, s15, s14 80a1644: eeb0 0a67 vmov.f32 s0, s15 80a1648: f02d fcac bl 80cefa4 80a164c: eef0 7a40 vmov.f32 s15, s0 80a1650: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1654: ee17 3a90 vmov r3, s15 80a1658: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a165a: 2301 movs r3, #1 80a165c: 657b str r3, [r7, #84] ; 0x54 80a165e: e1d3 b.n 80a1a08 if(f < 100.0f) 80a1660: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1664: ed9f 7a73 vldr s14, [pc, #460] ; 80a1834 80a1668: eef4 7ac7 vcmpe.f32 s15, s14 80a166c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1670: d513 bpl.n 80a169a k = (uint32_t) (roundf(f * 1000)); 80a1672: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1676: ed9f 7a6e vldr s14, [pc, #440] ; 80a1830 80a167a: ee67 7a87 vmul.f32 s15, s15, s14 80a167e: eeb0 0a67 vmov.f32 s0, s15 80a1682: f02d fc8f bl 80cefa4 80a1686: eef0 7a40 vmov.f32 s15, s0 80a168a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a168e: ee17 3a90 vmov r3, s15 80a1692: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a1694: 2302 movs r3, #2 80a1696: 657b str r3, [r7, #84] ; 0x54 80a1698: e1b6 b.n 80a1a08 if(f < 1000.0f) 80a169a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a169e: ed9f 7a64 vldr s14, [pc, #400] ; 80a1830 80a16a2: eef4 7ac7 vcmpe.f32 s15, s14 80a16a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a16aa: d513 bpl.n 80a16d4 k = (uint32_t) (roundf(f * 100)); 80a16ac: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a16b0: ed9f 7a60 vldr s14, [pc, #384] ; 80a1834 80a16b4: ee67 7a87 vmul.f32 s15, s15, s14 80a16b8: eeb0 0a67 vmov.f32 s0, s15 80a16bc: f02d fc72 bl 80cefa4 80a16c0: eef0 7a40 vmov.f32 s15, s0 80a16c4: eefc 7ae7 vcvt.u32.f32 s15, s15 80a16c8: ee17 3a90 vmov r3, s15 80a16cc: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a16ce: 2303 movs r3, #3 80a16d0: 657b str r3, [r7, #84] ; 0x54 80a16d2: e199 b.n 80a1a08 if(f < 10000.0f) 80a16d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a16d8: ed9f 7a57 vldr s14, [pc, #348] ; 80a1838 80a16dc: eef4 7ac7 vcmpe.f32 s15, s14 80a16e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a16e4: d513 bpl.n 80a170e k = (uint32_t) (roundf(f * 10)); 80a16e6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a16ea: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a16ee: ee67 7a87 vmul.f32 s15, s15, s14 80a16f2: eeb0 0a67 vmov.f32 s0, s15 80a16f6: f02d fc55 bl 80cefa4 80a16fa: eef0 7a40 vmov.f32 s15, s0 80a16fe: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1702: ee17 3a90 vmov r3, s15 80a1706: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a1708: 2304 movs r3, #4 80a170a: 657b str r3, [r7, #84] ; 0x54 80a170c: e17c b.n 80a1a08 if(f < 100000.0f) 80a170e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1712: ed9f 7a4a vldr s14, [pc, #296] ; 80a183c 80a1716: eef4 7ac7 vcmpe.f32 s15, s14 80a171a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a171e: d515 bpl.n 80a174c k = (uint32_t) (roundf(f)); 80a1720: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1724: eeb0 0a67 vmov.f32 s0, s15 80a1728: f02d fc3c bl 80cefa4 80a172c: eef0 7a40 vmov.f32 s15, s0 80a1730: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1734: ee17 3a90 vmov r3, s15 80a1738: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a173a: 6dbb ldr r3, [r7, #88] ; 0x58 80a173c: 4a3a ldr r2, [pc, #232] ; (80a1828 ) 80a173e: 4293 cmp r3, r2 80a1740: d901 bls.n 80a1746 k = 99999; 80a1742: 4b39 ldr r3, [pc, #228] ; (80a1828 ) 80a1744: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a1746: 2300 movs r3, #0 80a1748: 657b str r3, [r7, #84] ; 0x54 80a174a: e15d b.n 80a1a08 if(f >= 100000.0f) 80a174c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1750: ed9f 7a3a vldr s14, [pc, #232] ; 80a183c 80a1754: eef4 7ac7 vcmpe.f32 s15, s14 80a1758: eef1 fa10 vmrs APSR_nzcv, fpscr 80a175c: f2c0 8154 blt.w 80a1a08 f = 99999.0f; 80a1760: 4b32 ldr r3, [pc, #200] ; (80a182c ) 80a1762: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a1764: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1768: eeb0 0a67 vmov.f32 s0, s15 80a176c: f02d fc1a bl 80cefa4 80a1770: eef0 7a40 vmov.f32 s15, s0 80a1774: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1778: ee17 3a90 vmov r3, s15 80a177c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a177e: 2300 movs r3, #0 80a1780: 657b str r3, [r7, #84] ; 0x54 80a1782: e141 b.n 80a1a08 if(f < 10.0f) 80a1784: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1788: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a178c: eef4 7ac7 vcmpe.f32 s15, s14 80a1790: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1794: d515 bpl.n 80a17c2 k = (uint32_t) (roundf(f * 10000)); 80a1796: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a179a: ed9f 7a27 vldr s14, [pc, #156] ; 80a1838 80a179e: ee67 7a87 vmul.f32 s15, s15, s14 80a17a2: eeb0 0a67 vmov.f32 s0, s15 80a17a6: f02d fbfd bl 80cefa4 80a17aa: eef0 7a40 vmov.f32 s15, s0 80a17ae: eefc 7ae7 vcvt.u32.f32 s15, s15 80a17b2: ee17 3a90 vmov r3, s15 80a17b6: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a17b8: 2301 movs r3, #1 80a17ba: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a17bc: 2300 movs r3, #0 80a17be: 64fb str r3, [r7, #76] ; 0x4c 80a17c0: e122 b.n 80a1a08 if(f < 100.0f) 80a17c2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a17c6: ed9f 7a1b vldr s14, [pc, #108] ; 80a1834 80a17ca: eef4 7ac7 vcmpe.f32 s15, s14 80a17ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80a17d2: d541 bpl.n 80a1858 k = (uint32_t) (roundf(f * 1000)); 80a17d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a17d8: ed9f 7a15 vldr s14, [pc, #84] ; 80a1830 80a17dc: ee67 7a87 vmul.f32 s15, s15, s14 80a17e0: eeb0 0a67 vmov.f32 s0, s15 80a17e4: f02d fbde bl 80cefa4 80a17e8: eef0 7a40 vmov.f32 s15, s0 80a17ec: eefc 7ae7 vcvt.u32.f32 s15, s15 80a17f0: ee17 3a90 vmov r3, s15 80a17f4: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a17f6: 2302 movs r3, #2 80a17f8: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a17fa: 2300 movs r3, #0 80a17fc: 64fb str r3, [r7, #76] ; 0x4c 80a17fe: e103 b.n 80a1a08 80a1800: 20020124 .word 0x20020124 80a1804: 200226e8 .word 0x200226e8 80a1808: 20023ea8 .word 0x20023ea8 80a180c: 20020104 .word 0x20020104 80a1810: 2002010c .word 0x2002010c 80a1814: 0816bd94 .word 0x0816bd94 80a1818: ff0a0f1f .word 0xff0a0f1f 80a181c: ffb8e828 .word 0xffb8e828 80a1820: 080d3e64 .word 0x080d3e64 80a1824: 080d3e70 .word 0x080d3e70 80a1828: 0001869f .word 0x0001869f 80a182c: 47c34f80 .word 0x47c34f80 80a1830: 447a0000 .word 0x447a0000 80a1834: 42c80000 .word 0x42c80000 80a1838: 461c4000 .word 0x461c4000 80a183c: 47c35000 .word 0x47c35000 80a1840: 49742400 .word 0x49742400 80a1844: 3dcccccd .word 0x3dcccccd 80a1848: 4b189680 .word 0x4b189680 80a184c: 3c23d70a .word 0x3c23d70a 80a1850: 4cbebc20 .word 0x4cbebc20 80a1854: 3a83126f .word 0x3a83126f if(f < 1000.0f) 80a1858: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a185c: ed1f 7a0c vldr s14, [pc, #-48] ; 80a1830 80a1860: eef4 7ac7 vcmpe.f32 s15, s14 80a1864: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1868: d515 bpl.n 80a1896 k = (uint32_t) (roundf(f * 100)); 80a186a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a186e: ed1f 7a0f vldr s14, [pc, #-60] ; 80a1834 80a1872: ee67 7a87 vmul.f32 s15, s15, s14 80a1876: eeb0 0a67 vmov.f32 s0, s15 80a187a: f02d fb93 bl 80cefa4 80a187e: eef0 7a40 vmov.f32 s15, s0 80a1882: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1886: ee17 3a90 vmov r3, s15 80a188a: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a188c: 2303 movs r3, #3 80a188e: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a1890: 2300 movs r3, #0 80a1892: 64fb str r3, [r7, #76] ; 0x4c 80a1894: e0b8 b.n 80a1a08 if(f < 10000.0f) 80a1896: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a189a: ed1f 7a19 vldr s14, [pc, #-100] ; 80a1838 80a189e: eef4 7ac7 vcmpe.f32 s15, s14 80a18a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a18a6: d515 bpl.n 80a18d4 k = (uint32_t) (roundf(f * 10)); 80a18a8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a18ac: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a18b0: ee67 7a87 vmul.f32 s15, s15, s14 80a18b4: eeb0 0a67 vmov.f32 s0, s15 80a18b8: f02d fb74 bl 80cefa4 80a18bc: eef0 7a40 vmov.f32 s15, s0 80a18c0: eefc 7ae7 vcvt.u32.f32 s15, s15 80a18c4: ee17 3a90 vmov r3, s15 80a18c8: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a18ca: 2301 movs r3, #1 80a18cc: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a18ce: 2301 movs r3, #1 80a18d0: 64fb str r3, [r7, #76] ; 0x4c 80a18d2: e099 b.n 80a1a08 if(f < 100000.0f) 80a18d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a18d8: ed1f 7a28 vldr s14, [pc, #-160] ; 80a183c 80a18dc: eef4 7ac7 vcmpe.f32 s15, s14 80a18e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a18e4: d511 bpl.n 80a190a k = (uint32_t) (roundf(f)); 80a18e6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a18ea: eeb0 0a67 vmov.f32 s0, s15 80a18ee: f02d fb59 bl 80cefa4 80a18f2: eef0 7a40 vmov.f32 s15, s0 80a18f6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a18fa: ee17 3a90 vmov r3, s15 80a18fe: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a1900: 2302 movs r3, #2 80a1902: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1904: 2301 movs r3, #1 80a1906: 64fb str r3, [r7, #76] ; 0x4c 80a1908: e07e b.n 80a1a08 if(f < 1000000.0f) 80a190a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a190e: ed1f 7a34 vldr s14, [pc, #-208] ; 80a1840 80a1912: eef4 7ac7 vcmpe.f32 s15, s14 80a1916: eef1 fa10 vmrs APSR_nzcv, fpscr 80a191a: d515 bpl.n 80a1948 k = (uint32_t) (roundf(f * 0.1f)); 80a191c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1920: ed1f 7a38 vldr s14, [pc, #-224] ; 80a1844 80a1924: ee67 7a87 vmul.f32 s15, s15, s14 80a1928: eeb0 0a67 vmov.f32 s0, s15 80a192c: f02d fb3a bl 80cefa4 80a1930: eef0 7a40 vmov.f32 s15, s0 80a1934: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1938: ee17 3a90 vmov r3, s15 80a193c: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a193e: 2303 movs r3, #3 80a1940: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1942: 2301 movs r3, #1 80a1944: 64fb str r3, [r7, #76] ; 0x4c 80a1946: e05f b.n 80a1a08 if(f < 10000000.0f) 80a1948: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a194c: ed1f 7a42 vldr s14, [pc, #-264] ; 80a1848 80a1950: eef4 7ac7 vcmpe.f32 s15, s14 80a1954: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1958: d515 bpl.n 80a1986 k = (uint32_t) (roundf(f * 0.01f)); 80a195a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a195e: ed1f 7a45 vldr s14, [pc, #-276] ; 80a184c 80a1962: ee67 7a87 vmul.f32 s15, s15, s14 80a1966: eeb0 0a67 vmov.f32 s0, s15 80a196a: f02d fb1b bl 80cefa4 80a196e: eef0 7a40 vmov.f32 s15, s0 80a1972: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1976: ee17 3a90 vmov r3, s15 80a197a: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a197c: 2304 movs r3, #4 80a197e: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1980: 2301 movs r3, #1 80a1982: 64fb str r3, [r7, #76] ; 0x4c 80a1984: e040 b.n 80a1a08 if(f < 100000000.0f) 80a1986: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a198a: ed1f 7a4f vldr s14, [pc, #-316] ; 80a1850 80a198e: eef4 7ac7 vcmpe.f32 s15, s14 80a1992: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1996: d51b bpl.n 80a19d0 k = (uint32_t) (roundf(f * 0.001f)); 80a1998: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a199c: ed1f 7a53 vldr s14, [pc, #-332] ; 80a1854 80a19a0: ee67 7a87 vmul.f32 s15, s15, s14 80a19a4: eeb0 0a67 vmov.f32 s0, s15 80a19a8: f02d fafc bl 80cefa4 80a19ac: eef0 7a40 vmov.f32 s15, s0 80a19b0: eefc 7ae7 vcvt.u32.f32 s15, s15 80a19b4: ee17 3a90 vmov r3, s15 80a19b8: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a19ba: 6dbb ldr r3, [r7, #88] ; 0x58 80a19bc: 4abc ldr r2, [pc, #752] ; (80a1cb0 ) 80a19be: 4293 cmp r3, r2 80a19c0: d901 bls.n 80a19c6 k = 99999; 80a19c2: 4bbb ldr r3, [pc, #748] ; (80a1cb0 ) 80a19c4: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a19c6: 2300 movs r3, #0 80a19c8: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a19ca: 2301 movs r3, #1 80a19cc: 64fb str r3, [r7, #76] ; 0x4c 80a19ce: e01b b.n 80a1a08 if(f >= 100000000.0f) 80a19d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a19d4: ed9f 7ab7 vldr s14, [pc, #732] ; 80a1cb4 80a19d8: eef4 7ac7 vcmpe.f32 s15, s14 80a19dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a19e0: db12 blt.n 80a1a08 f = 99999.0f; 80a19e2: 4bb5 ldr r3, [pc, #724] ; (80a1cb8 ) 80a19e4: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a19e6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a19ea: eeb0 0a67 vmov.f32 s0, s15 80a19ee: f02d fad9 bl 80cefa4 80a19f2: eef0 7a40 vmov.f32 s15, s0 80a19f6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a19fa: ee17 3a90 vmov r3, s15 80a19fe: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a1a00: 2300 movs r3, #0 80a1a02: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1a04: 2301 movs r3, #1 80a1a06: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a1a08: 6d3a ldr r2, [r7, #80] ; 0x50 80a1a0a: 6dbb ldr r3, [r7, #88] ; 0x58 80a1a0c: 49ab ldr r1, [pc, #684] ; (80a1cbc ) 80a1a0e: fba1 1303 umull r1, r3, r1, r3 80a1a12: 0b5b lsrs r3, r3, #13 80a1a14: b2d9 uxtb r1, r3 80a1a16: 4613 mov r3, r2 80a1a18: 009b lsls r3, r3, #2 80a1a1a: 4413 add r3, r2 80a1a1c: f107 0268 add.w r2, r7, #104 ; 0x68 80a1a20: 4413 add r3, r2 80a1a22: 3b34 subs r3, #52 ; 0x34 80a1a24: 460a mov r2, r1 80a1a26: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a1a28: 6d39 ldr r1, [r7, #80] ; 0x50 80a1a2a: 6dba ldr r2, [r7, #88] ; 0x58 80a1a2c: 4ba3 ldr r3, [pc, #652] ; (80a1cbc ) 80a1a2e: fba3 0302 umull r0, r3, r3, r2 80a1a32: 0b5b lsrs r3, r3, #13 80a1a34: f242 7010 movw r0, #10000 ; 0x2710 80a1a38: fb00 f303 mul.w r3, r0, r3 80a1a3c: 1ad3 subs r3, r2, r3 80a1a3e: 4aa0 ldr r2, [pc, #640] ; (80a1cc0 ) 80a1a40: fba2 2303 umull r2, r3, r2, r3 80a1a44: 099b lsrs r3, r3, #6 80a1a46: b2da uxtb r2, r3 80a1a48: 460b mov r3, r1 80a1a4a: 009b lsls r3, r3, #2 80a1a4c: 440b add r3, r1 80a1a4e: f107 0168 add.w r1, r7, #104 ; 0x68 80a1a52: 440b add r3, r1 80a1a54: 3b33 subs r3, #51 ; 0x33 80a1a56: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a1a58: 6d39 ldr r1, [r7, #80] ; 0x50 80a1a5a: 6dba ldr r2, [r7, #88] ; 0x58 80a1a5c: 4b97 ldr r3, [pc, #604] ; (80a1cbc ) 80a1a5e: fba3 0302 umull r0, r3, r3, r2 80a1a62: 0b5b lsrs r3, r3, #13 80a1a64: f242 7010 movw r0, #10000 ; 0x2710 80a1a68: fb00 f303 mul.w r3, r0, r3 80a1a6c: 1ad3 subs r3, r2, r3 80a1a6e: 4a94 ldr r2, [pc, #592] ; (80a1cc0 ) 80a1a70: fba2 0203 umull r0, r2, r2, r3 80a1a74: 0992 lsrs r2, r2, #6 80a1a76: f44f 707a mov.w r0, #1000 ; 0x3e8 80a1a7a: fb00 f202 mul.w r2, r0, r2 80a1a7e: 1a9a subs r2, r3, r2 80a1a80: 4b90 ldr r3, [pc, #576] ; (80a1cc4 ) 80a1a82: fba3 2302 umull r2, r3, r3, r2 80a1a86: 095b lsrs r3, r3, #5 80a1a88: b2da uxtb r2, r3 80a1a8a: 460b mov r3, r1 80a1a8c: 009b lsls r3, r3, #2 80a1a8e: 440b add r3, r1 80a1a90: f107 0168 add.w r1, r7, #104 ; 0x68 80a1a94: 440b add r3, r1 80a1a96: 3b32 subs r3, #50 ; 0x32 80a1a98: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a1a9a: 6d39 ldr r1, [r7, #80] ; 0x50 80a1a9c: 6dbb ldr r3, [r7, #88] ; 0x58 80a1a9e: 4a87 ldr r2, [pc, #540] ; (80a1cbc ) 80a1aa0: fba2 0203 umull r0, r2, r2, r3 80a1aa4: 0b52 lsrs r2, r2, #13 80a1aa6: f242 7010 movw r0, #10000 ; 0x2710 80a1aaa: fb00 f202 mul.w r2, r0, r2 80a1aae: 1a9a subs r2, r3, r2 80a1ab0: 4b83 ldr r3, [pc, #524] ; (80a1cc0 ) 80a1ab2: fba3 0302 umull r0, r3, r3, r2 80a1ab6: 099b lsrs r3, r3, #6 80a1ab8: f44f 707a mov.w r0, #1000 ; 0x3e8 80a1abc: fb00 f303 mul.w r3, r0, r3 80a1ac0: 1ad3 subs r3, r2, r3 80a1ac2: 4a80 ldr r2, [pc, #512] ; (80a1cc4 ) 80a1ac4: fba2 0203 umull r0, r2, r2, r3 80a1ac8: 0952 lsrs r2, r2, #5 80a1aca: 2064 movs r0, #100 ; 0x64 80a1acc: fb00 f202 mul.w r2, r0, r2 80a1ad0: 1a9a subs r2, r3, r2 80a1ad2: 4b7d ldr r3, [pc, #500] ; (80a1cc8 ) 80a1ad4: fba3 2302 umull r2, r3, r3, r2 80a1ad8: 08db lsrs r3, r3, #3 80a1ada: b2da uxtb r2, r3 80a1adc: 460b mov r3, r1 80a1ade: 009b lsls r3, r3, #2 80a1ae0: 440b add r3, r1 80a1ae2: f107 0168 add.w r1, r7, #104 ; 0x68 80a1ae6: 440b add r3, r1 80a1ae8: 3b31 subs r3, #49 ; 0x31 80a1aea: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a1aec: 6d38 ldr r0, [r7, #80] ; 0x50 80a1aee: 6dbb ldr r3, [r7, #88] ; 0x58 80a1af0: 4a72 ldr r2, [pc, #456] ; (80a1cbc ) 80a1af2: fba2 1203 umull r1, r2, r2, r3 80a1af6: 0b52 lsrs r2, r2, #13 80a1af8: f242 7110 movw r1, #10000 ; 0x2710 80a1afc: fb01 f202 mul.w r2, r1, r2 80a1b00: 1a9a subs r2, r3, r2 80a1b02: 4b6f ldr r3, [pc, #444] ; (80a1cc0 ) 80a1b04: fba3 1302 umull r1, r3, r3, r2 80a1b08: 099b lsrs r3, r3, #6 80a1b0a: f44f 717a mov.w r1, #1000 ; 0x3e8 80a1b0e: fb01 f303 mul.w r3, r1, r3 80a1b12: 1ad3 subs r3, r2, r3 80a1b14: 4a6b ldr r2, [pc, #428] ; (80a1cc4 ) 80a1b16: fba2 1203 umull r1, r2, r2, r3 80a1b1a: 0952 lsrs r2, r2, #5 80a1b1c: 2164 movs r1, #100 ; 0x64 80a1b1e: fb01 f202 mul.w r2, r1, r2 80a1b22: 1a9a subs r2, r3, r2 80a1b24: 4b68 ldr r3, [pc, #416] ; (80a1cc8 ) 80a1b26: fba3 1302 umull r1, r3, r3, r2 80a1b2a: 08d9 lsrs r1, r3, #3 80a1b2c: 460b mov r3, r1 80a1b2e: 009b lsls r3, r3, #2 80a1b30: 440b add r3, r1 80a1b32: 005b lsls r3, r3, #1 80a1b34: 1ad1 subs r1, r2, r3 80a1b36: b2ca uxtb r2, r1 80a1b38: 4603 mov r3, r0 80a1b3a: 009b lsls r3, r3, #2 80a1b3c: 4403 add r3, r0 80a1b3e: f107 0168 add.w r1, r7, #104 ; 0x68 80a1b42: 440b add r3, r1 80a1b44: 3b30 subs r3, #48 ; 0x30 80a1b46: 701a strb r2, [r3, #0] if(ipr == ACC) 80a1b48: 6d3b ldr r3, [r7, #80] ; 0x50 80a1b4a: 2b00 cmp r3, #0 80a1b4c: f040 80ca bne.w 80a1ce4 if(!t) 80a1b50: 6d7b ldr r3, [r7, #84] ; 0x54 80a1b52: 2b00 cmp r3, #0 80a1b54: d126 bne.n 80a1ba4 for(i = 0; i < 5; i++) 80a1b56: 2300 movs r3, #0 80a1b58: 65fb str r3, [r7, #92] ; 0x5c 80a1b5a: e01f b.n 80a1b9c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a1b5c: 6d3a ldr r2, [r7, #80] ; 0x50 80a1b5e: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1b60: 4613 mov r3, r2 80a1b62: 009b lsls r3, r3, #2 80a1b64: 4413 add r3, r2 80a1b66: f107 0268 add.w r2, r7, #104 ; 0x68 80a1b6a: 4413 add r3, r2 80a1b6c: 440b add r3, r1 80a1b6e: 3b34 subs r3, #52 ; 0x34 80a1b70: 781b ldrb r3, [r3, #0] 80a1b72: b2db uxtb r3, r3 80a1b74: 461a mov r2, r3 80a1b76: 4b55 ldr r3, [pc, #340] ; (80a1ccc ) 80a1b78: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1b7c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1b7e: b29b uxth r3, r3 80a1b80: 461a mov r2, r3 80a1b82: 0112 lsls r2, r2, #4 80a1b84: 1ad3 subs r3, r2, r3 80a1b86: 005b lsls r3, r3, #1 80a1b88: b29b uxth r3, r3 80a1b8a: 335a adds r3, #90 ; 0x5a 80a1b8c: b29b uxth r3, r3 80a1b8e: 2256 movs r2, #86 ; 0x56 80a1b90: 4619 mov r1, r3 80a1b92: f7b3 fc31 bl 80553f8 for(i = 0; i < 5; i++) 80a1b96: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1b98: 3301 adds r3, #1 80a1b9a: 65fb str r3, [r7, #92] ; 0x5c 80a1b9c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1b9e: 2b04 cmp r3, #4 80a1ba0: d9dc bls.n 80a1b5c 80a1ba2: e05a b.n 80a1c5a for(i = 0; i < t; i++) 80a1ba4: 2300 movs r3, #0 80a1ba6: 65fb str r3, [r7, #92] ; 0x5c 80a1ba8: e01f b.n 80a1bea DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a1baa: 6d3a ldr r2, [r7, #80] ; 0x50 80a1bac: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1bae: 4613 mov r3, r2 80a1bb0: 009b lsls r3, r3, #2 80a1bb2: 4413 add r3, r2 80a1bb4: f107 0268 add.w r2, r7, #104 ; 0x68 80a1bb8: 4413 add r3, r2 80a1bba: 440b add r3, r1 80a1bbc: 3b34 subs r3, #52 ; 0x34 80a1bbe: 781b ldrb r3, [r3, #0] 80a1bc0: b2db uxtb r3, r3 80a1bc2: 461a mov r2, r3 80a1bc4: 4b41 ldr r3, [pc, #260] ; (80a1ccc ) 80a1bc6: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1bca: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1bcc: b29b uxth r3, r3 80a1bce: 461a mov r2, r3 80a1bd0: 0112 lsls r2, r2, #4 80a1bd2: 1ad3 subs r3, r2, r3 80a1bd4: 005b lsls r3, r3, #1 80a1bd6: b29b uxth r3, r3 80a1bd8: 335a adds r3, #90 ; 0x5a 80a1bda: b29b uxth r3, r3 80a1bdc: 2256 movs r2, #86 ; 0x56 80a1bde: 4619 mov r1, r3 80a1be0: f7b3 fc0a bl 80553f8 for(i = 0; i < t; i++) 80a1be4: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1be6: 3301 adds r3, #1 80a1be8: 65fb str r3, [r7, #92] ; 0x5c 80a1bea: 6dfa ldr r2, [r7, #92] ; 0x5c 80a1bec: 6d7b ldr r3, [r7, #84] ; 0x54 80a1bee: 429a cmp r2, r3 80a1bf0: d3db bcc.n 80a1baa DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a1bf2: 6d7b ldr r3, [r7, #84] ; 0x54 80a1bf4: b29b uxth r3, r3 80a1bf6: 461a mov r2, r3 80a1bf8: 0112 lsls r2, r2, #4 80a1bfa: 1ad3 subs r3, r2, r3 80a1bfc: 005b lsls r3, r3, #1 80a1bfe: b29b uxth r3, r3 80a1c00: 335f adds r3, #95 ; 0x5f 80a1c02: b29b uxth r3, r3 80a1c04: 226e movs r2, #110 ; 0x6e 80a1c06: 4619 mov r1, r3 80a1c08: 4831 ldr r0, [pc, #196] ; (80a1cd0 ) 80a1c0a: f7b3 fbf5 bl 80553f8 for(i = t; i < 5; i++) 80a1c0e: 6d7b ldr r3, [r7, #84] ; 0x54 80a1c10: 65fb str r3, [r7, #92] ; 0x5c 80a1c12: e01f b.n 80a1c54 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a1c14: 6d3a ldr r2, [r7, #80] ; 0x50 80a1c16: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1c18: 4613 mov r3, r2 80a1c1a: 009b lsls r3, r3, #2 80a1c1c: 4413 add r3, r2 80a1c1e: f107 0268 add.w r2, r7, #104 ; 0x68 80a1c22: 4413 add r3, r2 80a1c24: 440b add r3, r1 80a1c26: 3b34 subs r3, #52 ; 0x34 80a1c28: 781b ldrb r3, [r3, #0] 80a1c2a: b2db uxtb r3, r3 80a1c2c: 461a mov r2, r3 80a1c2e: 4b27 ldr r3, [pc, #156] ; (80a1ccc ) 80a1c30: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1c34: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1c36: b29b uxth r3, r3 80a1c38: 461a mov r2, r3 80a1c3a: 0112 lsls r2, r2, #4 80a1c3c: 1ad3 subs r3, r2, r3 80a1c3e: 005b lsls r3, r3, #1 80a1c40: b29b uxth r3, r3 80a1c42: 336e adds r3, #110 ; 0x6e 80a1c44: b29b uxth r3, r3 80a1c46: 2256 movs r2, #86 ; 0x56 80a1c48: 4619 mov r1, r3 80a1c4a: f7b3 fbd5 bl 80553f8 for(i = t; i < 5; i++) 80a1c4e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1c50: 3301 adds r3, #1 80a1c52: 65fb str r3, [r7, #92] ; 0x5c 80a1c54: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1c56: 2b04 cmp r3, #4 80a1c58: d9dc bls.n 80a1c14 if(ReadFileData.Aivs < 'E') 80a1c5a: 4b1e ldr r3, [pc, #120] ; (80a1cd4 ) 80a1c5c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a1c60: b2db uxtb r3, r3 80a1c62: 2b44 cmp r3, #68 ; 0x44 80a1c64: d80c bhi.n 80a1c80 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a1c66: 4b1c ldr r3, [pc, #112] ; (80a1cd8 ) 80a1c68: 7b1b ldrb r3, [r3, #12] 80a1c6a: b2db uxtb r3, r3 80a1c6c: 461a mov r2, r3 80a1c6e: 4b1b ldr r3, [pc, #108] ; (80a1cdc ) 80a1c70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1c74: 225c movs r2, #92 ; 0x5c 80a1c76: f240 1109 movw r1, #265 ; 0x109 80a1c7a: 4618 mov r0, r3 80a1c7c: f7b3 fbbc bl 80553f8 if(ReadFileData.Aivs == 'E') 80a1c80: 4b14 ldr r3, [pc, #80] ; (80a1cd4 ) 80a1c82: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a1c86: b2db uxtb r3, r3 80a1c88: 2b45 cmp r3, #69 ; 0x45 80a1c8a: f040 860c bne.w 80a28a6 if(ReadFileData.Aval.fl < 0.0f) { 80a1c8e: 4b11 ldr r3, [pc, #68] ; (80a1cd4 ) 80a1c90: edd3 7a00 vldr s15, [r3] 80a1c94: eef5 7ac0 vcmpe.f32 s15, #0.0 80a1c98: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1c9c: f140 8603 bpl.w 80a28a6 DrawImage(&bmgminus, 78, 84+18); 80a1ca0: 2266 movs r2, #102 ; 0x66 80a1ca2: 214e movs r1, #78 ; 0x4e 80a1ca4: 480e ldr r0, [pc, #56] ; (80a1ce0 ) 80a1ca6: f7b3 fba7 bl 80553f8 80a1caa: f000 bdfc b.w 80a28a6 80a1cae: bf00 nop 80a1cb0: 0001869f .word 0x0001869f 80a1cb4: 4cbebc20 .word 0x4cbebc20 80a1cb8: 47c34f80 .word 0x47c34f80 80a1cbc: d1b71759 .word 0xd1b71759 80a1cc0: 10624dd3 .word 0x10624dd3 80a1cc4: 51eb851f .word 0x51eb851f 80a1cc8: cccccccd .word 0xcccccccd 80a1ccc: 20020124 .word 0x20020124 80a1cd0: 0816be20 .word 0x0816be20 80a1cd4: 200226e8 .word 0x200226e8 80a1cd8: 20023ea8 .word 0x20023ea8 80a1cdc: 200200f4 .word 0x200200f4 80a1ce0: 0816bd94 .word 0x0816bd94 if(ipr == VEL) 80a1ce4: 6d3b ldr r3, [r7, #80] ; 0x50 80a1ce6: 2b01 cmp r3, #1 80a1ce8: f040 80d1 bne.w 80a1e8e if(ReadFileData.Vval.fl != -1.0f) 80a1cec: 4ba0 ldr r3, [pc, #640] ; (80a1f70 ) 80a1cee: edd3 7a01 vldr s15, [r3, #4] 80a1cf2: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a1cf6: eef4 7a47 vcmp.f32 s15, s14 80a1cfa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1cfe: f000 80af beq.w 80a1e60 if(!t) 80a1d02: 6d7b ldr r3, [r7, #84] ; 0x54 80a1d04: 2b00 cmp r3, #0 80a1d06: d126 bne.n 80a1d56 for(i = 0; i < 5; i++) 80a1d08: 2300 movs r3, #0 80a1d0a: 65fb str r3, [r7, #92] ; 0x5c 80a1d0c: e01f b.n 80a1d4e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a1d0e: 6d3a ldr r2, [r7, #80] ; 0x50 80a1d10: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1d12: 4613 mov r3, r2 80a1d14: 009b lsls r3, r3, #2 80a1d16: 4413 add r3, r2 80a1d18: f107 0268 add.w r2, r7, #104 ; 0x68 80a1d1c: 4413 add r3, r2 80a1d1e: 440b add r3, r1 80a1d20: 3b34 subs r3, #52 ; 0x34 80a1d22: 781b ldrb r3, [r3, #0] 80a1d24: b2db uxtb r3, r3 80a1d26: 461a mov r2, r3 80a1d28: 4b92 ldr r3, [pc, #584] ; (80a1f74 ) 80a1d2a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1d2e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1d30: b29b uxth r3, r3 80a1d32: 461a mov r2, r3 80a1d34: 0112 lsls r2, r2, #4 80a1d36: 1ad3 subs r3, r2, r3 80a1d38: 005b lsls r3, r3, #1 80a1d3a: b29b uxth r3, r3 80a1d3c: 335a adds r3, #90 ; 0x5a 80a1d3e: b29b uxth r3, r3 80a1d40: 2282 movs r2, #130 ; 0x82 80a1d42: 4619 mov r1, r3 80a1d44: f7b3 fb58 bl 80553f8 for(i = 0; i < 5; i++) 80a1d48: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1d4a: 3301 adds r3, #1 80a1d4c: 65fb str r3, [r7, #92] ; 0x5c 80a1d4e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1d50: 2b04 cmp r3, #4 80a1d52: d9dc bls.n 80a1d0e 80a1d54: e05a b.n 80a1e0c for(i = 0; i < t; i++) 80a1d56: 2300 movs r3, #0 80a1d58: 65fb str r3, [r7, #92] ; 0x5c 80a1d5a: e01f b.n 80a1d9c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a1d5c: 6d3a ldr r2, [r7, #80] ; 0x50 80a1d5e: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1d60: 4613 mov r3, r2 80a1d62: 009b lsls r3, r3, #2 80a1d64: 4413 add r3, r2 80a1d66: f107 0268 add.w r2, r7, #104 ; 0x68 80a1d6a: 4413 add r3, r2 80a1d6c: 440b add r3, r1 80a1d6e: 3b34 subs r3, #52 ; 0x34 80a1d70: 781b ldrb r3, [r3, #0] 80a1d72: b2db uxtb r3, r3 80a1d74: 461a mov r2, r3 80a1d76: 4b7f ldr r3, [pc, #508] ; (80a1f74 ) 80a1d78: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1d7c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1d7e: b29b uxth r3, r3 80a1d80: 461a mov r2, r3 80a1d82: 0112 lsls r2, r2, #4 80a1d84: 1ad3 subs r3, r2, r3 80a1d86: 005b lsls r3, r3, #1 80a1d88: b29b uxth r3, r3 80a1d8a: 335a adds r3, #90 ; 0x5a 80a1d8c: b29b uxth r3, r3 80a1d8e: 2282 movs r2, #130 ; 0x82 80a1d90: 4619 mov r1, r3 80a1d92: f7b3 fb31 bl 80553f8 for(i = 0; i < t; i++) 80a1d96: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1d98: 3301 adds r3, #1 80a1d9a: 65fb str r3, [r7, #92] ; 0x5c 80a1d9c: 6dfa ldr r2, [r7, #92] ; 0x5c 80a1d9e: 6d7b ldr r3, [r7, #84] ; 0x54 80a1da0: 429a cmp r2, r3 80a1da2: d3db bcc.n 80a1d5c DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a1da4: 6d7b ldr r3, [r7, #84] ; 0x54 80a1da6: b29b uxth r3, r3 80a1da8: 461a mov r2, r3 80a1daa: 0112 lsls r2, r2, #4 80a1dac: 1ad3 subs r3, r2, r3 80a1dae: 005b lsls r3, r3, #1 80a1db0: b29b uxth r3, r3 80a1db2: 335f adds r3, #95 ; 0x5f 80a1db4: b29b uxth r3, r3 80a1db6: 229a movs r2, #154 ; 0x9a 80a1db8: 4619 mov r1, r3 80a1dba: 486f ldr r0, [pc, #444] ; (80a1f78 ) 80a1dbc: f7b3 fb1c bl 80553f8 for(i = t; i < 5; i++) 80a1dc0: 6d7b ldr r3, [r7, #84] ; 0x54 80a1dc2: 65fb str r3, [r7, #92] ; 0x5c 80a1dc4: e01f b.n 80a1e06 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a1dc6: 6d3a ldr r2, [r7, #80] ; 0x50 80a1dc8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1dca: 4613 mov r3, r2 80a1dcc: 009b lsls r3, r3, #2 80a1dce: 4413 add r3, r2 80a1dd0: f107 0268 add.w r2, r7, #104 ; 0x68 80a1dd4: 4413 add r3, r2 80a1dd6: 440b add r3, r1 80a1dd8: 3b34 subs r3, #52 ; 0x34 80a1dda: 781b ldrb r3, [r3, #0] 80a1ddc: b2db uxtb r3, r3 80a1dde: 461a mov r2, r3 80a1de0: 4b64 ldr r3, [pc, #400] ; (80a1f74 ) 80a1de2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1de6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1de8: b29b uxth r3, r3 80a1dea: 461a mov r2, r3 80a1dec: 0112 lsls r2, r2, #4 80a1dee: 1ad3 subs r3, r2, r3 80a1df0: 005b lsls r3, r3, #1 80a1df2: b29b uxth r3, r3 80a1df4: 336e adds r3, #110 ; 0x6e 80a1df6: b29b uxth r3, r3 80a1df8: 2282 movs r2, #130 ; 0x82 80a1dfa: 4619 mov r1, r3 80a1dfc: f7b3 fafc bl 80553f8 for(i = t; i < 5; i++) 80a1e00: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1e02: 3301 adds r3, #1 80a1e04: 65fb str r3, [r7, #92] ; 0x5c 80a1e06: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1e08: 2b04 cmp r3, #4 80a1e0a: d9dc bls.n 80a1dc6 if(ReadFileData.Vivs < 'E') 80a1e0c: 4b58 ldr r3, [pc, #352] ; (80a1f70 ) 80a1e0e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a1e12: b2db uxtb r3, r3 80a1e14: 2b44 cmp r3, #68 ; 0x44 80a1e16: d80c bhi.n 80a1e32 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a1e18: 4b58 ldr r3, [pc, #352] ; (80a1f7c ) 80a1e1a: 7b1b ldrb r3, [r3, #12] 80a1e1c: b2db uxtb r3, r3 80a1e1e: 461a mov r2, r3 80a1e20: 4b57 ldr r3, [pc, #348] ; (80a1f80 ) 80a1e22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1e26: 2289 movs r2, #137 ; 0x89 80a1e28: f240 1109 movw r1, #265 ; 0x109 80a1e2c: 4618 mov r0, r3 80a1e2e: f7b3 fae3 bl 80553f8 if(ReadFileData.Vivs == 'E') 80a1e32: 4b4f ldr r3, [pc, #316] ; (80a1f70 ) 80a1e34: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a1e38: b2db uxtb r3, r3 80a1e3a: 2b45 cmp r3, #69 ; 0x45 80a1e3c: f040 8533 bne.w 80a28a6 if(ReadFileData.Vval.fl < 0.0f) { 80a1e40: 4b4b ldr r3, [pc, #300] ; (80a1f70 ) 80a1e42: edd3 7a01 vldr s15, [r3, #4] 80a1e46: eef5 7ac0 vcmpe.f32 s15, #0.0 80a1e4a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1e4e: f140 852a bpl.w 80a28a6 DrawImage(&bmgminus, 78, 138+9); 80a1e52: 2293 movs r2, #147 ; 0x93 80a1e54: 214e movs r1, #78 ; 0x4e 80a1e56: 484b ldr r0, [pc, #300] ; (80a1f84 ) 80a1e58: f7b3 face bl 80553f8 80a1e5c: f000 bd23 b.w 80a28a6 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a1e60: 4949 ldr r1, [pc, #292] ; (80a1f88 ) 80a1e62: 484a ldr r0, [pc, #296] ; (80a1f8c ) 80a1e64: f7b2 fbd4 bl 8054610 if(pardata.LANG == RUS) 80a1e68: 4b44 ldr r3, [pc, #272] ; (80a1f7c ) 80a1e6a: 7b1b ldrb r3, [r3, #12] 80a1e6c: b2db uxtb r3, r3 80a1e6e: 2b00 cmp r3, #0 80a1e70: d106 bne.n 80a1e80 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a1e72: 4a47 ldr r2, [pc, #284] ; (80a1f90 ) 80a1e74: 2187 movs r1, #135 ; 0x87 80a1e76: 20a7 movs r0, #167 ; 0xa7 80a1e78: f7b3 f98a bl 8055190 80a1e7c: f000 bd13 b.w 80a28a6 else LCD_DisplayStringC(167, 135, "NO DATA"); 80a1e80: 4a44 ldr r2, [pc, #272] ; (80a1f94 ) 80a1e82: 2187 movs r1, #135 ; 0x87 80a1e84: 20a7 movs r0, #167 ; 0xa7 80a1e86: f7b3 f983 bl 8055190 80a1e8a: f000 bd0c b.w 80a28a6 if(ipr == DIS) 80a1e8e: 6d3b ldr r3, [r7, #80] ; 0x50 80a1e90: 2b02 cmp r3, #2 80a1e92: f040 8508 bne.w 80a28a6 if(ReadFileData.Sval.fl != -1.0f) 80a1e96: 4b36 ldr r3, [pc, #216] ; (80a1f70 ) 80a1e98: edd3 7a02 vldr s15, [r3, #8] 80a1e9c: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a1ea0: eef4 7a47 vcmp.f32 s15, s14 80a1ea4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1ea8: f000 80d4 beq.w 80a2054 if(!t) 80a1eac: 6d7b ldr r3, [r7, #84] ; 0x54 80a1eae: 2b00 cmp r3, #0 80a1eb0: d126 bne.n 80a1f00 for(i = 0; i < 5; i++) 80a1eb2: 2300 movs r3, #0 80a1eb4: 65fb str r3, [r7, #92] ; 0x5c 80a1eb6: e01f b.n 80a1ef8 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a1eb8: 6d3a ldr r2, [r7, #80] ; 0x50 80a1eba: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1ebc: 4613 mov r3, r2 80a1ebe: 009b lsls r3, r3, #2 80a1ec0: 4413 add r3, r2 80a1ec2: f107 0268 add.w r2, r7, #104 ; 0x68 80a1ec6: 4413 add r3, r2 80a1ec8: 440b add r3, r1 80a1eca: 3b34 subs r3, #52 ; 0x34 80a1ecc: 781b ldrb r3, [r3, #0] 80a1ece: b2db uxtb r3, r3 80a1ed0: 461a mov r2, r3 80a1ed2: 4b28 ldr r3, [pc, #160] ; (80a1f74 ) 80a1ed4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1ed8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1eda: b29b uxth r3, r3 80a1edc: 461a mov r2, r3 80a1ede: 0112 lsls r2, r2, #4 80a1ee0: 1ad3 subs r3, r2, r3 80a1ee2: 005b lsls r3, r3, #1 80a1ee4: b29b uxth r3, r3 80a1ee6: 335a adds r3, #90 ; 0x5a 80a1ee8: b29b uxth r3, r3 80a1eea: 22ae movs r2, #174 ; 0xae 80a1eec: 4619 mov r1, r3 80a1eee: f7b3 fa83 bl 80553f8 for(i = 0; i < 5; i++) 80a1ef2: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1ef4: 3301 adds r3, #1 80a1ef6: 65fb str r3, [r7, #92] ; 0x5c 80a1ef8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1efa: 2b04 cmp r3, #4 80a1efc: d9dc bls.n 80a1eb8 80a1efe: e06e b.n 80a1fde for(i = 0; i < t; i++) 80a1f00: 2300 movs r3, #0 80a1f02: 65fb str r3, [r7, #92] ; 0x5c 80a1f04: e01f b.n 80a1f46 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a1f06: 6d3a ldr r2, [r7, #80] ; 0x50 80a1f08: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1f0a: 4613 mov r3, r2 80a1f0c: 009b lsls r3, r3, #2 80a1f0e: 4413 add r3, r2 80a1f10: f107 0268 add.w r2, r7, #104 ; 0x68 80a1f14: 4413 add r3, r2 80a1f16: 440b add r3, r1 80a1f18: 3b34 subs r3, #52 ; 0x34 80a1f1a: 781b ldrb r3, [r3, #0] 80a1f1c: b2db uxtb r3, r3 80a1f1e: 461a mov r2, r3 80a1f20: 4b14 ldr r3, [pc, #80] ; (80a1f74 ) 80a1f22: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1f26: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1f28: b29b uxth r3, r3 80a1f2a: 461a mov r2, r3 80a1f2c: 0112 lsls r2, r2, #4 80a1f2e: 1ad3 subs r3, r2, r3 80a1f30: 005b lsls r3, r3, #1 80a1f32: b29b uxth r3, r3 80a1f34: 335a adds r3, #90 ; 0x5a 80a1f36: b29b uxth r3, r3 80a1f38: 22ae movs r2, #174 ; 0xae 80a1f3a: 4619 mov r1, r3 80a1f3c: f7b3 fa5c bl 80553f8 for(i = 0; i < t; i++) 80a1f40: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1f42: 3301 adds r3, #1 80a1f44: 65fb str r3, [r7, #92] ; 0x5c 80a1f46: 6dfa ldr r2, [r7, #92] ; 0x5c 80a1f48: 6d7b ldr r3, [r7, #84] ; 0x54 80a1f4a: 429a cmp r2, r3 80a1f4c: d3db bcc.n 80a1f06 DrawImage(&bmgpt, 95 + 30*t, 198); 80a1f4e: 6d7b ldr r3, [r7, #84] ; 0x54 80a1f50: b29b uxth r3, r3 80a1f52: 461a mov r2, r3 80a1f54: 0112 lsls r2, r2, #4 80a1f56: 1ad3 subs r3, r2, r3 80a1f58: 005b lsls r3, r3, #1 80a1f5a: b29b uxth r3, r3 80a1f5c: 335f adds r3, #95 ; 0x5f 80a1f5e: b29b uxth r3, r3 80a1f60: 22c6 movs r2, #198 ; 0xc6 80a1f62: 4619 mov r1, r3 80a1f64: 4804 ldr r0, [pc, #16] ; (80a1f78 ) 80a1f66: f7b3 fa47 bl 80553f8 for(i = t; i < 5; i++) 80a1f6a: 6d7b ldr r3, [r7, #84] ; 0x54 80a1f6c: 65fb str r3, [r7, #92] ; 0x5c 80a1f6e: e033 b.n 80a1fd8 80a1f70: 200226e8 .word 0x200226e8 80a1f74: 20020124 .word 0x20020124 80a1f78: 0816be20 .word 0x0816be20 80a1f7c: 20023ea8 .word 0x20023ea8 80a1f80: 200200fc .word 0x200200fc 80a1f84: 0816bd94 .word 0x0816bd94 80a1f88: ff0a0f1f .word 0xff0a0f1f 80a1f8c: ffb8e828 .word 0xffb8e828 80a1f90: 080d3e64 .word 0x080d3e64 80a1f94: 080d3e70 .word 0x080d3e70 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a1f98: 6d3a ldr r2, [r7, #80] ; 0x50 80a1f9a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a1f9c: 4613 mov r3, r2 80a1f9e: 009b lsls r3, r3, #2 80a1fa0: 4413 add r3, r2 80a1fa2: f107 0268 add.w r2, r7, #104 ; 0x68 80a1fa6: 4413 add r3, r2 80a1fa8: 440b add r3, r1 80a1faa: 3b34 subs r3, #52 ; 0x34 80a1fac: 781b ldrb r3, [r3, #0] 80a1fae: b2db uxtb r3, r3 80a1fb0: 461a mov r2, r3 80a1fb2: 4bae ldr r3, [pc, #696] ; (80a226c ) 80a1fb4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a1fb8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1fba: b29b uxth r3, r3 80a1fbc: 461a mov r2, r3 80a1fbe: 0112 lsls r2, r2, #4 80a1fc0: 1ad3 subs r3, r2, r3 80a1fc2: 005b lsls r3, r3, #1 80a1fc4: b29b uxth r3, r3 80a1fc6: 336e adds r3, #110 ; 0x6e 80a1fc8: b29b uxth r3, r3 80a1fca: 22ae movs r2, #174 ; 0xae 80a1fcc: 4619 mov r1, r3 80a1fce: f7b3 fa13 bl 80553f8 for(i = t; i < 5; i++) 80a1fd2: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1fd4: 3301 adds r3, #1 80a1fd6: 65fb str r3, [r7, #92] ; 0x5c 80a1fd8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a1fda: 2b04 cmp r3, #4 80a1fdc: d9dc bls.n 80a1f98 if(ReadFileData.Sivs < 'E') 80a1fde: 4ba4 ldr r3, [pc, #656] ; (80a2270 ) 80a1fe0: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a1fe4: b2db uxtb r3, r3 80a1fe6: 2b44 cmp r3, #68 ; 0x44 80a1fe8: d81d bhi.n 80a2026 if(m == 0) 80a1fea: 6cfb ldr r3, [r7, #76] ; 0x4c 80a1fec: 2b00 cmp r3, #0 80a1fee: d10d bne.n 80a200c DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a1ff0: 4ba0 ldr r3, [pc, #640] ; (80a2274 ) 80a1ff2: 7b1b ldrb r3, [r3, #12] 80a1ff4: b2db uxtb r3, r3 80a1ff6: 461a mov r2, r3 80a1ff8: 4b9f ldr r3, [pc, #636] ; (80a2278 ) 80a1ffa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1ffe: 22b4 movs r2, #180 ; 0xb4 80a2000: f240 1109 movw r1, #265 ; 0x109 80a2004: 4618 mov r0, r3 80a2006: f7b3 f9f7 bl 80553f8 80a200a: e00c b.n 80a2026 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a200c: 4b99 ldr r3, [pc, #612] ; (80a2274 ) 80a200e: 7b1b ldrb r3, [r3, #12] 80a2010: b2db uxtb r3, r3 80a2012: 461a mov r2, r3 80a2014: 4b99 ldr r3, [pc, #612] ; (80a227c ) 80a2016: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a201a: 22b4 movs r2, #180 ; 0xb4 80a201c: f240 1109 movw r1, #265 ; 0x109 80a2020: 4618 mov r0, r3 80a2022: f7b3 f9e9 bl 80553f8 if(ReadFileData.Sivs == 'E') 80a2026: 4b92 ldr r3, [pc, #584] ; (80a2270 ) 80a2028: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a202c: b2db uxtb r3, r3 80a202e: 2b45 cmp r3, #69 ; 0x45 80a2030: f040 8439 bne.w 80a28a6 if(ReadFileData.Sval.fl < 0.0f) { 80a2034: 4b8e ldr r3, [pc, #568] ; (80a2270 ) 80a2036: edd3 7a02 vldr s15, [r3, #8] 80a203a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a203e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2042: f140 8430 bpl.w 80a28a6 DrawImage(&bmgminus, 78, 190); 80a2046: 22be movs r2, #190 ; 0xbe 80a2048: 214e movs r1, #78 ; 0x4e 80a204a: 488d ldr r0, [pc, #564] ; (80a2280 ) 80a204c: f7b3 f9d4 bl 80553f8 80a2050: f000 bc29 b.w 80a28a6 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a2054: 498b ldr r1, [pc, #556] ; (80a2284 ) 80a2056: 488c ldr r0, [pc, #560] ; (80a2288 ) 80a2058: f7b2 fada bl 8054610 if(pardata.LANG == RUS) 80a205c: 4b85 ldr r3, [pc, #532] ; (80a2274 ) 80a205e: 7b1b ldrb r3, [r3, #12] 80a2060: b2db uxtb r3, r3 80a2062: 2b00 cmp r3, #0 80a2064: d106 bne.n 80a2074 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a2066: 4a89 ldr r2, [pc, #548] ; (80a228c ) 80a2068: 21b9 movs r1, #185 ; 0xb9 80a206a: 20a7 movs r0, #167 ; 0xa7 80a206c: f7b3 f890 bl 8055190 80a2070: f000 bc19 b.w 80a28a6 else LCD_DisplayStringC(167, 185, "NO DATA"); 80a2074: 4a86 ldr r2, [pc, #536] ; (80a2290 ) 80a2076: 21b9 movs r1, #185 ; 0xb9 80a2078: 20a7 movs r0, #167 ; 0xa7 80a207a: f7b3 f889 bl 8055190 80a207e: f000 bc12 b.w 80a28a6 if(f != -1.0f) 80a2082: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2086: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a208a: eef4 7a47 vcmp.f32 s15, s14 80a208e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2092: f000 83c2 beq.w 80a281a LinToLog(&f, &f); 80a2096: f107 0244 add.w r2, r7, #68 ; 0x44 80a209a: f107 0344 add.w r3, r7, #68 ; 0x44 80a209e: 4611 mov r1, r2 80a20a0: 4618 mov r0, r3 80a20a2: f7c3 fe51 bl 8065d48 k = (uint32_t) (roundf(f * 10 + 0.5f)); 80a20a6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a20aa: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a20ae: ee67 7a87 vmul.f32 s15, s15, s14 80a20b2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a20b6: ee77 7a87 vadd.f32 s15, s15, s14 80a20ba: eeb0 0a67 vmov.f32 s0, s15 80a20be: f02c ff71 bl 80cefa4 80a20c2: eef0 7a40 vmov.f32 s15, s0 80a20c6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a20ca: ee17 3a90 vmov r3, s15 80a20ce: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 80a20d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a20d4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a20d8: eef4 7ac7 vcmpe.f32 s15, s14 80a20dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a20e0: f140 80e0 bpl.w 80a22a4 ik[ipr][0] = (uint8_t) (k / 10); 80a20e4: 6d3a ldr r2, [r7, #80] ; 0x50 80a20e6: 6dbb ldr r3, [r7, #88] ; 0x58 80a20e8: 496a ldr r1, [pc, #424] ; (80a2294 ) 80a20ea: fba1 1303 umull r1, r3, r1, r3 80a20ee: 08db lsrs r3, r3, #3 80a20f0: b2d9 uxtb r1, r3 80a20f2: 4613 mov r3, r2 80a20f4: 009b lsls r3, r3, #2 80a20f6: 4413 add r3, r2 80a20f8: f107 0268 add.w r2, r7, #104 ; 0x68 80a20fc: 4413 add r3, r2 80a20fe: 3b34 subs r3, #52 ; 0x34 80a2100: 460a mov r2, r1 80a2102: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 80a2104: 6d38 ldr r0, [r7, #80] ; 0x50 80a2106: 6db9 ldr r1, [r7, #88] ; 0x58 80a2108: 4b62 ldr r3, [pc, #392] ; (80a2294 ) 80a210a: fba3 2301 umull r2, r3, r3, r1 80a210e: 08da lsrs r2, r3, #3 80a2110: 4613 mov r3, r2 80a2112: 009b lsls r3, r3, #2 80a2114: 4413 add r3, r2 80a2116: 005b lsls r3, r3, #1 80a2118: 1aca subs r2, r1, r3 80a211a: b2d2 uxtb r2, r2 80a211c: 4603 mov r3, r0 80a211e: 009b lsls r3, r3, #2 80a2120: 4403 add r3, r0 80a2122: f107 0168 add.w r1, r7, #104 ; 0x68 80a2126: 440b add r3, r1 80a2128: 3b33 subs r3, #51 ; 0x33 80a212a: 701a strb r2, [r3, #0] if(ipr == ACC) 80a212c: 6d3b ldr r3, [r7, #80] ; 0x50 80a212e: 2b00 cmp r3, #0 80a2130: d131 bne.n 80a2196 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 80a2132: 6d3a ldr r2, [r7, #80] ; 0x50 80a2134: 4613 mov r3, r2 80a2136: 009b lsls r3, r3, #2 80a2138: 4413 add r3, r2 80a213a: f107 0268 add.w r2, r7, #104 ; 0x68 80a213e: 4413 add r3, r2 80a2140: 3b33 subs r3, #51 ; 0x33 80a2142: 781b ldrb r3, [r3, #0] 80a2144: b2db uxtb r3, r3 80a2146: 461a mov r2, r3 80a2148: 4b48 ldr r3, [pc, #288] ; (80a226c ) 80a214a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a214e: 2256 movs r2, #86 ; 0x56 80a2150: 21e6 movs r1, #230 ; 0xe6 80a2152: 4618 mov r0, r3 80a2154: f7b3 f950 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a2158: 226e movs r2, #110 ; 0x6e 80a215a: 21d7 movs r1, #215 ; 0xd7 80a215c: 484e ldr r0, [pc, #312] ; (80a2298 ) 80a215e: f7b3 f94b bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 80a2162: 6d3a ldr r2, [r7, #80] ; 0x50 80a2164: 4613 mov r3, r2 80a2166: 009b lsls r3, r3, #2 80a2168: 4413 add r3, r2 80a216a: f107 0268 add.w r2, r7, #104 ; 0x68 80a216e: 4413 add r3, r2 80a2170: 3b34 subs r3, #52 ; 0x34 80a2172: 781b ldrb r3, [r3, #0] 80a2174: b2db uxtb r3, r3 80a2176: 461a mov r2, r3 80a2178: 4b3c ldr r3, [pc, #240] ; (80a226c ) 80a217a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a217e: 2256 movs r2, #86 ; 0x56 80a2180: 21b4 movs r1, #180 ; 0xb4 80a2182: 4618 mov r0, r3 80a2184: f7b3 f938 bl 80553f8 DrawImage(&bmg_dB, 265, 74+18); 80a2188: 225c movs r2, #92 ; 0x5c 80a218a: f240 1109 movw r1, #265 ; 0x109 80a218e: 4843 ldr r0, [pc, #268] ; (80a229c ) 80a2190: f7b3 f932 bl 80553f8 80a2194: e387 b.n 80a28a6 if(ipr == VEL) 80a2196: 6d3b ldr r3, [r7, #80] ; 0x50 80a2198: 2b01 cmp r3, #1 80a219a: d131 bne.n 80a2200 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 80a219c: 6d3a ldr r2, [r7, #80] ; 0x50 80a219e: 4613 mov r3, r2 80a21a0: 009b lsls r3, r3, #2 80a21a2: 4413 add r3, r2 80a21a4: f107 0268 add.w r2, r7, #104 ; 0x68 80a21a8: 4413 add r3, r2 80a21aa: 3b33 subs r3, #51 ; 0x33 80a21ac: 781b ldrb r3, [r3, #0] 80a21ae: b2db uxtb r3, r3 80a21b0: 461a mov r2, r3 80a21b2: 4b2e ldr r3, [pc, #184] ; (80a226c ) 80a21b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a21b8: 2282 movs r2, #130 ; 0x82 80a21ba: 21e6 movs r1, #230 ; 0xe6 80a21bc: 4618 mov r0, r3 80a21be: f7b3 f91b bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a21c2: 229a movs r2, #154 ; 0x9a 80a21c4: 21d7 movs r1, #215 ; 0xd7 80a21c6: 4834 ldr r0, [pc, #208] ; (80a2298 ) 80a21c8: f7b3 f916 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 80a21cc: 6d3a ldr r2, [r7, #80] ; 0x50 80a21ce: 4613 mov r3, r2 80a21d0: 009b lsls r3, r3, #2 80a21d2: 4413 add r3, r2 80a21d4: f107 0268 add.w r2, r7, #104 ; 0x68 80a21d8: 4413 add r3, r2 80a21da: 3b34 subs r3, #52 ; 0x34 80a21dc: 781b ldrb r3, [r3, #0] 80a21de: b2db uxtb r3, r3 80a21e0: 461a mov r2, r3 80a21e2: 4b22 ldr r3, [pc, #136] ; (80a226c ) 80a21e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a21e8: 2282 movs r2, #130 ; 0x82 80a21ea: 21b4 movs r1, #180 ; 0xb4 80a21ec: 4618 mov r0, r3 80a21ee: f7b3 f903 bl 80553f8 DrawImage(&bmg_dB, 265, 128+9); 80a21f2: 2289 movs r2, #137 ; 0x89 80a21f4: f240 1109 movw r1, #265 ; 0x109 80a21f8: 4828 ldr r0, [pc, #160] ; (80a229c ) 80a21fa: f7b3 f8fd bl 80553f8 80a21fe: e352 b.n 80a28a6 if(ipr == DIS) 80a2200: 6d3b ldr r3, [r7, #80] ; 0x50 80a2202: 2b02 cmp r3, #2 80a2204: f040 834f bne.w 80a28a6 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 80a2208: 6d3a ldr r2, [r7, #80] ; 0x50 80a220a: 4613 mov r3, r2 80a220c: 009b lsls r3, r3, #2 80a220e: 4413 add r3, r2 80a2210: f107 0268 add.w r2, r7, #104 ; 0x68 80a2214: 4413 add r3, r2 80a2216: 3b33 subs r3, #51 ; 0x33 80a2218: 781b ldrb r3, [r3, #0] 80a221a: b2db uxtb r3, r3 80a221c: 461a mov r2, r3 80a221e: 4b13 ldr r3, [pc, #76] ; (80a226c ) 80a2220: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2224: 22ae movs r2, #174 ; 0xae 80a2226: 21e6 movs r1, #230 ; 0xe6 80a2228: 4618 mov r0, r3 80a222a: f7b3 f8e5 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 198); 80a222e: 22c6 movs r2, #198 ; 0xc6 80a2230: 21d7 movs r1, #215 ; 0xd7 80a2232: 4819 ldr r0, [pc, #100] ; (80a2298 ) 80a2234: f7b3 f8e0 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 80a2238: 6d3a ldr r2, [r7, #80] ; 0x50 80a223a: 4613 mov r3, r2 80a223c: 009b lsls r3, r3, #2 80a223e: 4413 add r3, r2 80a2240: f107 0268 add.w r2, r7, #104 ; 0x68 80a2244: 4413 add r3, r2 80a2246: 3b34 subs r3, #52 ; 0x34 80a2248: 781b ldrb r3, [r3, #0] 80a224a: b2db uxtb r3, r3 80a224c: 461a mov r2, r3 80a224e: 4b07 ldr r3, [pc, #28] ; (80a226c ) 80a2250: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2254: 22ae movs r2, #174 ; 0xae 80a2256: 21b4 movs r1, #180 ; 0xb4 80a2258: 4618 mov r0, r3 80a225a: f7b3 f8cd bl 80553f8 DrawImage(&bmg_dB, 265, 180); 80a225e: 22b4 movs r2, #180 ; 0xb4 80a2260: f240 1109 movw r1, #265 ; 0x109 80a2264: 480d ldr r0, [pc, #52] ; (80a229c ) 80a2266: f7b3 f8c7 bl 80553f8 80a226a: e31c b.n 80a28a6 80a226c: 20020124 .word 0x20020124 80a2270: 200226e8 .word 0x200226e8 80a2274: 20023ea8 .word 0x20023ea8 80a2278: 20020104 .word 0x20020104 80a227c: 2002010c .word 0x2002010c 80a2280: 0816bd94 .word 0x0816bd94 80a2284: ff0a0f1f .word 0xff0a0f1f 80a2288: ffb8e828 .word 0xffb8e828 80a228c: 080d3e64 .word 0x080d3e64 80a2290: 080d3e70 .word 0x080d3e70 80a2294: cccccccd .word 0xcccccccd 80a2298: 0816be20 .word 0x0816be20 80a229c: 0816706c .word 0x0816706c 80a22a0: 42c80000 .word 0x42c80000 if(f < 100.0f) 80a22a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a22a8: ed1f 7a03 vldr s14, [pc, #-12] ; 80a22a0 80a22ac: eef4 7ac7 vcmpe.f32 s15, s14 80a22b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a22b4: f140 8128 bpl.w 80a2508 ik[ipr][0] = (uint8_t) (k / 100); 80a22b8: 6d3a ldr r2, [r7, #80] ; 0x50 80a22ba: 6dbb ldr r3, [r7, #88] ; 0x58 80a22bc: 498c ldr r1, [pc, #560] ; (80a24f0 ) 80a22be: fba1 1303 umull r1, r3, r1, r3 80a22c2: 095b lsrs r3, r3, #5 80a22c4: b2d9 uxtb r1, r3 80a22c6: 4613 mov r3, r2 80a22c8: 009b lsls r3, r3, #2 80a22ca: 4413 add r3, r2 80a22cc: f107 0268 add.w r2, r7, #104 ; 0x68 80a22d0: 4413 add r3, r2 80a22d2: 3b34 subs r3, #52 ; 0x34 80a22d4: 460a mov r2, r1 80a22d6: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 80a22d8: 6d39 ldr r1, [r7, #80] ; 0x50 80a22da: 6dba ldr r2, [r7, #88] ; 0x58 80a22dc: 4b84 ldr r3, [pc, #528] ; (80a24f0 ) 80a22de: fba3 0302 umull r0, r3, r3, r2 80a22e2: 095b lsrs r3, r3, #5 80a22e4: 2064 movs r0, #100 ; 0x64 80a22e6: fb00 f303 mul.w r3, r0, r3 80a22ea: 1ad3 subs r3, r2, r3 80a22ec: 4a81 ldr r2, [pc, #516] ; (80a24f4 ) 80a22ee: fba2 2303 umull r2, r3, r2, r3 80a22f2: 08db lsrs r3, r3, #3 80a22f4: b2da uxtb r2, r3 80a22f6: 460b mov r3, r1 80a22f8: 009b lsls r3, r3, #2 80a22fa: 440b add r3, r1 80a22fc: f107 0168 add.w r1, r7, #104 ; 0x68 80a2300: 440b add r3, r1 80a2302: 3b33 subs r3, #51 ; 0x33 80a2304: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 80a2306: 6d38 ldr r0, [r7, #80] ; 0x50 80a2308: 6dbb ldr r3, [r7, #88] ; 0x58 80a230a: 4a79 ldr r2, [pc, #484] ; (80a24f0 ) 80a230c: fba2 1203 umull r1, r2, r2, r3 80a2310: 0952 lsrs r2, r2, #5 80a2312: 2164 movs r1, #100 ; 0x64 80a2314: fb01 f202 mul.w r2, r1, r2 80a2318: 1a9a subs r2, r3, r2 80a231a: 4b76 ldr r3, [pc, #472] ; (80a24f4 ) 80a231c: fba3 1302 umull r1, r3, r3, r2 80a2320: 08d9 lsrs r1, r3, #3 80a2322: 460b mov r3, r1 80a2324: 009b lsls r3, r3, #2 80a2326: 440b add r3, r1 80a2328: 005b lsls r3, r3, #1 80a232a: 1ad1 subs r1, r2, r3 80a232c: b2ca uxtb r2, r1 80a232e: 4603 mov r3, r0 80a2330: 009b lsls r3, r3, #2 80a2332: 4403 add r3, r0 80a2334: f107 0168 add.w r1, r7, #104 ; 0x68 80a2338: 440b add r3, r1 80a233a: 3b32 subs r3, #50 ; 0x32 80a233c: 701a strb r2, [r3, #0] if(ipr == ACC) 80a233e: 6d3b ldr r3, [r7, #80] ; 0x50 80a2340: 2b00 cmp r3, #0 80a2342: d144 bne.n 80a23ce DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 80a2344: 6d3a ldr r2, [r7, #80] ; 0x50 80a2346: 4613 mov r3, r2 80a2348: 009b lsls r3, r3, #2 80a234a: 4413 add r3, r2 80a234c: f107 0268 add.w r2, r7, #104 ; 0x68 80a2350: 4413 add r3, r2 80a2352: 3b32 subs r3, #50 ; 0x32 80a2354: 781b ldrb r3, [r3, #0] 80a2356: b2db uxtb r3, r3 80a2358: 461a mov r2, r3 80a235a: 4b67 ldr r3, [pc, #412] ; (80a24f8 ) 80a235c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2360: 2256 movs r2, #86 ; 0x56 80a2362: 21e6 movs r1, #230 ; 0xe6 80a2364: 4618 mov r0, r3 80a2366: f7b3 f847 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a236a: 226e movs r2, #110 ; 0x6e 80a236c: 21d7 movs r1, #215 ; 0xd7 80a236e: 4863 ldr r0, [pc, #396] ; (80a24fc ) 80a2370: f7b3 f842 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 80a2374: 6d3a ldr r2, [r7, #80] ; 0x50 80a2376: 4613 mov r3, r2 80a2378: 009b lsls r3, r3, #2 80a237a: 4413 add r3, r2 80a237c: f107 0268 add.w r2, r7, #104 ; 0x68 80a2380: 4413 add r3, r2 80a2382: 3b33 subs r3, #51 ; 0x33 80a2384: 781b ldrb r3, [r3, #0] 80a2386: b2db uxtb r3, r3 80a2388: 461a mov r2, r3 80a238a: 4b5b ldr r3, [pc, #364] ; (80a24f8 ) 80a238c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2390: 2256 movs r2, #86 ; 0x56 80a2392: 21b4 movs r1, #180 ; 0xb4 80a2394: 4618 mov r0, r3 80a2396: f7b3 f82f bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 80a239a: 6d3a ldr r2, [r7, #80] ; 0x50 80a239c: 4613 mov r3, r2 80a239e: 009b lsls r3, r3, #2 80a23a0: 4413 add r3, r2 80a23a2: f107 0268 add.w r2, r7, #104 ; 0x68 80a23a6: 4413 add r3, r2 80a23a8: 3b34 subs r3, #52 ; 0x34 80a23aa: 781b ldrb r3, [r3, #0] 80a23ac: b2db uxtb r3, r3 80a23ae: 461a mov r2, r3 80a23b0: 4b51 ldr r3, [pc, #324] ; (80a24f8 ) 80a23b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a23b6: 2256 movs r2, #86 ; 0x56 80a23b8: 2196 movs r1, #150 ; 0x96 80a23ba: 4618 mov r0, r3 80a23bc: f7b3 f81c bl 80553f8 DrawImage(&bmg_dB, 265, 74+18); 80a23c0: 225c movs r2, #92 ; 0x5c 80a23c2: f240 1109 movw r1, #265 ; 0x109 80a23c6: 484e ldr r0, [pc, #312] ; (80a2500 ) 80a23c8: f7b3 f816 bl 80553f8 80a23cc: e26b b.n 80a28a6 if(ipr == VEL) 80a23ce: 6d3b ldr r3, [r7, #80] ; 0x50 80a23d0: 2b01 cmp r3, #1 80a23d2: d144 bne.n 80a245e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 80a23d4: 6d3a ldr r2, [r7, #80] ; 0x50 80a23d6: 4613 mov r3, r2 80a23d8: 009b lsls r3, r3, #2 80a23da: 4413 add r3, r2 80a23dc: f107 0268 add.w r2, r7, #104 ; 0x68 80a23e0: 4413 add r3, r2 80a23e2: 3b32 subs r3, #50 ; 0x32 80a23e4: 781b ldrb r3, [r3, #0] 80a23e6: b2db uxtb r3, r3 80a23e8: 461a mov r2, r3 80a23ea: 4b43 ldr r3, [pc, #268] ; (80a24f8 ) 80a23ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a23f0: 2282 movs r2, #130 ; 0x82 80a23f2: 21e6 movs r1, #230 ; 0xe6 80a23f4: 4618 mov r0, r3 80a23f6: f7b2 ffff bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a23fa: 229a movs r2, #154 ; 0x9a 80a23fc: 21d7 movs r1, #215 ; 0xd7 80a23fe: 483f ldr r0, [pc, #252] ; (80a24fc ) 80a2400: f7b2 fffa bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 80a2404: 6d3a ldr r2, [r7, #80] ; 0x50 80a2406: 4613 mov r3, r2 80a2408: 009b lsls r3, r3, #2 80a240a: 4413 add r3, r2 80a240c: f107 0268 add.w r2, r7, #104 ; 0x68 80a2410: 4413 add r3, r2 80a2412: 3b33 subs r3, #51 ; 0x33 80a2414: 781b ldrb r3, [r3, #0] 80a2416: b2db uxtb r3, r3 80a2418: 461a mov r2, r3 80a241a: 4b37 ldr r3, [pc, #220] ; (80a24f8 ) 80a241c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2420: 2282 movs r2, #130 ; 0x82 80a2422: 21b4 movs r1, #180 ; 0xb4 80a2424: 4618 mov r0, r3 80a2426: f7b2 ffe7 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 80a242a: 6d3a ldr r2, [r7, #80] ; 0x50 80a242c: 4613 mov r3, r2 80a242e: 009b lsls r3, r3, #2 80a2430: 4413 add r3, r2 80a2432: f107 0268 add.w r2, r7, #104 ; 0x68 80a2436: 4413 add r3, r2 80a2438: 3b34 subs r3, #52 ; 0x34 80a243a: 781b ldrb r3, [r3, #0] 80a243c: b2db uxtb r3, r3 80a243e: 461a mov r2, r3 80a2440: 4b2d ldr r3, [pc, #180] ; (80a24f8 ) 80a2442: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2446: 2282 movs r2, #130 ; 0x82 80a2448: 2196 movs r1, #150 ; 0x96 80a244a: 4618 mov r0, r3 80a244c: f7b2 ffd4 bl 80553f8 DrawImage(&bmg_dB, 265, 128+9); 80a2450: 2289 movs r2, #137 ; 0x89 80a2452: f240 1109 movw r1, #265 ; 0x109 80a2456: 482a ldr r0, [pc, #168] ; (80a2500 ) 80a2458: f7b2 ffce bl 80553f8 80a245c: e223 b.n 80a28a6 if(ipr == DIS) 80a245e: 6d3b ldr r3, [r7, #80] ; 0x50 80a2460: 2b02 cmp r3, #2 80a2462: f040 8220 bne.w 80a28a6 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 80a2466: 6d3a ldr r2, [r7, #80] ; 0x50 80a2468: 4613 mov r3, r2 80a246a: 009b lsls r3, r3, #2 80a246c: 4413 add r3, r2 80a246e: f107 0268 add.w r2, r7, #104 ; 0x68 80a2472: 4413 add r3, r2 80a2474: 3b32 subs r3, #50 ; 0x32 80a2476: 781b ldrb r3, [r3, #0] 80a2478: b2db uxtb r3, r3 80a247a: 461a mov r2, r3 80a247c: 4b1e ldr r3, [pc, #120] ; (80a24f8 ) 80a247e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2482: 22ae movs r2, #174 ; 0xae 80a2484: 21e6 movs r1, #230 ; 0xe6 80a2486: 4618 mov r0, r3 80a2488: f7b2 ffb6 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 198); 80a248c: 22c6 movs r2, #198 ; 0xc6 80a248e: 21d7 movs r1, #215 ; 0xd7 80a2490: 481a ldr r0, [pc, #104] ; (80a24fc ) 80a2492: f7b2 ffb1 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 80a2496: 6d3a ldr r2, [r7, #80] ; 0x50 80a2498: 4613 mov r3, r2 80a249a: 009b lsls r3, r3, #2 80a249c: 4413 add r3, r2 80a249e: f107 0268 add.w r2, r7, #104 ; 0x68 80a24a2: 4413 add r3, r2 80a24a4: 3b33 subs r3, #51 ; 0x33 80a24a6: 781b ldrb r3, [r3, #0] 80a24a8: b2db uxtb r3, r3 80a24aa: 461a mov r2, r3 80a24ac: 4b12 ldr r3, [pc, #72] ; (80a24f8 ) 80a24ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a24b2: 22ae movs r2, #174 ; 0xae 80a24b4: 21b4 movs r1, #180 ; 0xb4 80a24b6: 4618 mov r0, r3 80a24b8: f7b2 ff9e bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 80a24bc: 6d3a ldr r2, [r7, #80] ; 0x50 80a24be: 4613 mov r3, r2 80a24c0: 009b lsls r3, r3, #2 80a24c2: 4413 add r3, r2 80a24c4: f107 0268 add.w r2, r7, #104 ; 0x68 80a24c8: 4413 add r3, r2 80a24ca: 3b34 subs r3, #52 ; 0x34 80a24cc: 781b ldrb r3, [r3, #0] 80a24ce: b2db uxtb r3, r3 80a24d0: 461a mov r2, r3 80a24d2: 4b09 ldr r3, [pc, #36] ; (80a24f8 ) 80a24d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a24d8: 22ae movs r2, #174 ; 0xae 80a24da: 2196 movs r1, #150 ; 0x96 80a24dc: 4618 mov r0, r3 80a24de: f7b2 ff8b bl 80553f8 DrawImage(&bmg_dB, 265, 180); 80a24e2: 22b4 movs r2, #180 ; 0xb4 80a24e4: f240 1109 movw r1, #265 ; 0x109 80a24e8: 4805 ldr r0, [pc, #20] ; (80a2500 ) 80a24ea: f7b2 ff85 bl 80553f8 80a24ee: e1da b.n 80a28a6 80a24f0: 51eb851f .word 0x51eb851f 80a24f4: cccccccd .word 0xcccccccd 80a24f8: 20020124 .word 0x20020124 80a24fc: 0816be20 .word 0x0816be20 80a2500: 0816706c .word 0x0816706c 80a2504: 447a0000 .word 0x447a0000 if(f < 1000.0f) 80a2508: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a250c: ed1f 7a03 vldr s14, [pc, #-12] ; 80a2504 80a2510: eef4 7ac7 vcmpe.f32 s15, s14 80a2514: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2518: f140 81c5 bpl.w 80a28a6 ik[ipr][0] = (uint8_t) (k / 1000); 80a251c: 6d3a ldr r2, [r7, #80] ; 0x50 80a251e: 6dbb ldr r3, [r7, #88] ; 0x58 80a2520: 49ca ldr r1, [pc, #808] ; (80a284c ) 80a2522: fba1 1303 umull r1, r3, r1, r3 80a2526: 099b lsrs r3, r3, #6 80a2528: b2d9 uxtb r1, r3 80a252a: 4613 mov r3, r2 80a252c: 009b lsls r3, r3, #2 80a252e: 4413 add r3, r2 80a2530: f107 0268 add.w r2, r7, #104 ; 0x68 80a2534: 4413 add r3, r2 80a2536: 3b34 subs r3, #52 ; 0x34 80a2538: 460a mov r2, r1 80a253a: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 80a253c: 6d39 ldr r1, [r7, #80] ; 0x50 80a253e: 6dba ldr r2, [r7, #88] ; 0x58 80a2540: 4bc2 ldr r3, [pc, #776] ; (80a284c ) 80a2542: fba3 0302 umull r0, r3, r3, r2 80a2546: 099b lsrs r3, r3, #6 80a2548: f44f 707a mov.w r0, #1000 ; 0x3e8 80a254c: fb00 f303 mul.w r3, r0, r3 80a2550: 1ad3 subs r3, r2, r3 80a2552: 4abf ldr r2, [pc, #764] ; (80a2850 ) 80a2554: fba2 2303 umull r2, r3, r2, r3 80a2558: 095b lsrs r3, r3, #5 80a255a: b2da uxtb r2, r3 80a255c: 460b mov r3, r1 80a255e: 009b lsls r3, r3, #2 80a2560: 440b add r3, r1 80a2562: f107 0168 add.w r1, r7, #104 ; 0x68 80a2566: 440b add r3, r1 80a2568: 3b33 subs r3, #51 ; 0x33 80a256a: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 80a256c: 6d39 ldr r1, [r7, #80] ; 0x50 80a256e: 6dba ldr r2, [r7, #88] ; 0x58 80a2570: 4bb6 ldr r3, [pc, #728] ; (80a284c ) 80a2572: fba3 0302 umull r0, r3, r3, r2 80a2576: 099b lsrs r3, r3, #6 80a2578: f44f 707a mov.w r0, #1000 ; 0x3e8 80a257c: fb00 f303 mul.w r3, r0, r3 80a2580: 1ad3 subs r3, r2, r3 80a2582: 4ab3 ldr r2, [pc, #716] ; (80a2850 ) 80a2584: fba2 0203 umull r0, r2, r2, r3 80a2588: 0952 lsrs r2, r2, #5 80a258a: 2064 movs r0, #100 ; 0x64 80a258c: fb00 f202 mul.w r2, r0, r2 80a2590: 1a9a subs r2, r3, r2 80a2592: 4bb0 ldr r3, [pc, #704] ; (80a2854 ) 80a2594: fba3 2302 umull r2, r3, r3, r2 80a2598: 08db lsrs r3, r3, #3 80a259a: b2da uxtb r2, r3 80a259c: 460b mov r3, r1 80a259e: 009b lsls r3, r3, #2 80a25a0: 440b add r3, r1 80a25a2: f107 0168 add.w r1, r7, #104 ; 0x68 80a25a6: 440b add r3, r1 80a25a8: 3b32 subs r3, #50 ; 0x32 80a25aa: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 80a25ac: 6d38 ldr r0, [r7, #80] ; 0x50 80a25ae: 6dba ldr r2, [r7, #88] ; 0x58 80a25b0: 4ba6 ldr r3, [pc, #664] ; (80a284c ) 80a25b2: fba3 1302 umull r1, r3, r3, r2 80a25b6: 099b lsrs r3, r3, #6 80a25b8: f44f 717a mov.w r1, #1000 ; 0x3e8 80a25bc: fb01 f303 mul.w r3, r1, r3 80a25c0: 1ad3 subs r3, r2, r3 80a25c2: 4aa3 ldr r2, [pc, #652] ; (80a2850 ) 80a25c4: fba2 1203 umull r1, r2, r2, r3 80a25c8: 0952 lsrs r2, r2, #5 80a25ca: 2164 movs r1, #100 ; 0x64 80a25cc: fb01 f202 mul.w r2, r1, r2 80a25d0: 1a9a subs r2, r3, r2 80a25d2: 4ba0 ldr r3, [pc, #640] ; (80a2854 ) 80a25d4: fba3 1302 umull r1, r3, r3, r2 80a25d8: 08d9 lsrs r1, r3, #3 80a25da: 460b mov r3, r1 80a25dc: 009b lsls r3, r3, #2 80a25de: 440b add r3, r1 80a25e0: 005b lsls r3, r3, #1 80a25e2: 1ad1 subs r1, r2, r3 80a25e4: b2ca uxtb r2, r1 80a25e6: 4603 mov r3, r0 80a25e8: 009b lsls r3, r3, #2 80a25ea: 4403 add r3, r0 80a25ec: f107 0168 add.w r1, r7, #104 ; 0x68 80a25f0: 440b add r3, r1 80a25f2: 3b31 subs r3, #49 ; 0x31 80a25f4: 701a strb r2, [r3, #0] if(ipr == ACC) 80a25f6: 6d3b ldr r3, [r7, #80] ; 0x50 80a25f8: 2b00 cmp r3, #0 80a25fa: d157 bne.n 80a26ac DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 80a25fc: 6d3a ldr r2, [r7, #80] ; 0x50 80a25fe: 4613 mov r3, r2 80a2600: 009b lsls r3, r3, #2 80a2602: 4413 add r3, r2 80a2604: f107 0268 add.w r2, r7, #104 ; 0x68 80a2608: 4413 add r3, r2 80a260a: 3b31 subs r3, #49 ; 0x31 80a260c: 781b ldrb r3, [r3, #0] 80a260e: b2db uxtb r3, r3 80a2610: 461a mov r2, r3 80a2612: 4b91 ldr r3, [pc, #580] ; (80a2858 ) 80a2614: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2618: 2256 movs r2, #86 ; 0x56 80a261a: 21e6 movs r1, #230 ; 0xe6 80a261c: 4618 mov r0, r3 80a261e: f7b2 feeb bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a2622: 226e movs r2, #110 ; 0x6e 80a2624: 21d7 movs r1, #215 ; 0xd7 80a2626: 488d ldr r0, [pc, #564] ; (80a285c ) 80a2628: f7b2 fee6 bl 80553f8 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 80a262c: 6d3a ldr r2, [r7, #80] ; 0x50 80a262e: 4613 mov r3, r2 80a2630: 009b lsls r3, r3, #2 80a2632: 4413 add r3, r2 80a2634: f107 0268 add.w r2, r7, #104 ; 0x68 80a2638: 4413 add r3, r2 80a263a: 3b32 subs r3, #50 ; 0x32 80a263c: 781b ldrb r3, [r3, #0] 80a263e: b2db uxtb r3, r3 80a2640: 461a mov r2, r3 80a2642: 4b85 ldr r3, [pc, #532] ; (80a2858 ) 80a2644: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2648: 2256 movs r2, #86 ; 0x56 80a264a: 21b4 movs r1, #180 ; 0xb4 80a264c: 4618 mov r0, r3 80a264e: f7b2 fed3 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 80a2652: 6d3a ldr r2, [r7, #80] ; 0x50 80a2654: 4613 mov r3, r2 80a2656: 009b lsls r3, r3, #2 80a2658: 4413 add r3, r2 80a265a: f107 0268 add.w r2, r7, #104 ; 0x68 80a265e: 4413 add r3, r2 80a2660: 3b33 subs r3, #51 ; 0x33 80a2662: 781b ldrb r3, [r3, #0] 80a2664: b2db uxtb r3, r3 80a2666: 461a mov r2, r3 80a2668: 4b7b ldr r3, [pc, #492] ; (80a2858 ) 80a266a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a266e: 2256 movs r2, #86 ; 0x56 80a2670: 2196 movs r1, #150 ; 0x96 80a2672: 4618 mov r0, r3 80a2674: f7b2 fec0 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 80a2678: 6d3a ldr r2, [r7, #80] ; 0x50 80a267a: 4613 mov r3, r2 80a267c: 009b lsls r3, r3, #2 80a267e: 4413 add r3, r2 80a2680: f107 0268 add.w r2, r7, #104 ; 0x68 80a2684: 4413 add r3, r2 80a2686: 3b34 subs r3, #52 ; 0x34 80a2688: 781b ldrb r3, [r3, #0] 80a268a: b2db uxtb r3, r3 80a268c: 461a mov r2, r3 80a268e: 4b72 ldr r3, [pc, #456] ; (80a2858 ) 80a2690: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2694: 2256 movs r2, #86 ; 0x56 80a2696: 2178 movs r1, #120 ; 0x78 80a2698: 4618 mov r0, r3 80a269a: f7b2 fead bl 80553f8 DrawImage(&bmg_dB, 265, 74+18); 80a269e: 225c movs r2, #92 ; 0x5c 80a26a0: f240 1109 movw r1, #265 ; 0x109 80a26a4: 486e ldr r0, [pc, #440] ; (80a2860 ) 80a26a6: f7b2 fea7 bl 80553f8 80a26aa: e0fc b.n 80a28a6 if(ipr == VEL) 80a26ac: 6d3b ldr r3, [r7, #80] ; 0x50 80a26ae: 2b01 cmp r3, #1 80a26b0: d157 bne.n 80a2762 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 80a26b2: 6d3a ldr r2, [r7, #80] ; 0x50 80a26b4: 4613 mov r3, r2 80a26b6: 009b lsls r3, r3, #2 80a26b8: 4413 add r3, r2 80a26ba: f107 0268 add.w r2, r7, #104 ; 0x68 80a26be: 4413 add r3, r2 80a26c0: 3b31 subs r3, #49 ; 0x31 80a26c2: 781b ldrb r3, [r3, #0] 80a26c4: b2db uxtb r3, r3 80a26c6: 461a mov r2, r3 80a26c8: 4b63 ldr r3, [pc, #396] ; (80a2858 ) 80a26ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a26ce: 2282 movs r2, #130 ; 0x82 80a26d0: 21e6 movs r1, #230 ; 0xe6 80a26d2: 4618 mov r0, r3 80a26d4: f7b2 fe90 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a26d8: 229a movs r2, #154 ; 0x9a 80a26da: 21d7 movs r1, #215 ; 0xd7 80a26dc: 485f ldr r0, [pc, #380] ; (80a285c ) 80a26de: f7b2 fe8b bl 80553f8 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 80a26e2: 6d3a ldr r2, [r7, #80] ; 0x50 80a26e4: 4613 mov r3, r2 80a26e6: 009b lsls r3, r3, #2 80a26e8: 4413 add r3, r2 80a26ea: f107 0268 add.w r2, r7, #104 ; 0x68 80a26ee: 4413 add r3, r2 80a26f0: 3b32 subs r3, #50 ; 0x32 80a26f2: 781b ldrb r3, [r3, #0] 80a26f4: b2db uxtb r3, r3 80a26f6: 461a mov r2, r3 80a26f8: 4b57 ldr r3, [pc, #348] ; (80a2858 ) 80a26fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a26fe: 2282 movs r2, #130 ; 0x82 80a2700: 21b4 movs r1, #180 ; 0xb4 80a2702: 4618 mov r0, r3 80a2704: f7b2 fe78 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 80a2708: 6d3a ldr r2, [r7, #80] ; 0x50 80a270a: 4613 mov r3, r2 80a270c: 009b lsls r3, r3, #2 80a270e: 4413 add r3, r2 80a2710: f107 0268 add.w r2, r7, #104 ; 0x68 80a2714: 4413 add r3, r2 80a2716: 3b33 subs r3, #51 ; 0x33 80a2718: 781b ldrb r3, [r3, #0] 80a271a: b2db uxtb r3, r3 80a271c: 461a mov r2, r3 80a271e: 4b4e ldr r3, [pc, #312] ; (80a2858 ) 80a2720: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2724: 2282 movs r2, #130 ; 0x82 80a2726: 2196 movs r1, #150 ; 0x96 80a2728: 4618 mov r0, r3 80a272a: f7b2 fe65 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 80a272e: 6d3a ldr r2, [r7, #80] ; 0x50 80a2730: 4613 mov r3, r2 80a2732: 009b lsls r3, r3, #2 80a2734: 4413 add r3, r2 80a2736: f107 0268 add.w r2, r7, #104 ; 0x68 80a273a: 4413 add r3, r2 80a273c: 3b34 subs r3, #52 ; 0x34 80a273e: 781b ldrb r3, [r3, #0] 80a2740: b2db uxtb r3, r3 80a2742: 461a mov r2, r3 80a2744: 4b44 ldr r3, [pc, #272] ; (80a2858 ) 80a2746: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a274a: 2282 movs r2, #130 ; 0x82 80a274c: 2178 movs r1, #120 ; 0x78 80a274e: 4618 mov r0, r3 80a2750: f7b2 fe52 bl 80553f8 DrawImage(&bmg_dB, 265, 128+9); 80a2754: 2289 movs r2, #137 ; 0x89 80a2756: f240 1109 movw r1, #265 ; 0x109 80a275a: 4841 ldr r0, [pc, #260] ; (80a2860 ) 80a275c: f7b2 fe4c bl 80553f8 80a2760: e0a1 b.n 80a28a6 if(ipr == DIS) 80a2762: 6d3b ldr r3, [r7, #80] ; 0x50 80a2764: 2b02 cmp r3, #2 80a2766: f040 809e bne.w 80a28a6 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 80a276a: 6d3a ldr r2, [r7, #80] ; 0x50 80a276c: 4613 mov r3, r2 80a276e: 009b lsls r3, r3, #2 80a2770: 4413 add r3, r2 80a2772: f107 0268 add.w r2, r7, #104 ; 0x68 80a2776: 4413 add r3, r2 80a2778: 3b31 subs r3, #49 ; 0x31 80a277a: 781b ldrb r3, [r3, #0] 80a277c: b2db uxtb r3, r3 80a277e: 461a mov r2, r3 80a2780: 4b35 ldr r3, [pc, #212] ; (80a2858 ) 80a2782: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2786: 22ae movs r2, #174 ; 0xae 80a2788: 21e6 movs r1, #230 ; 0xe6 80a278a: 4618 mov r0, r3 80a278c: f7b2 fe34 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 198); 80a2790: 22c6 movs r2, #198 ; 0xc6 80a2792: 21d7 movs r1, #215 ; 0xd7 80a2794: 4831 ldr r0, [pc, #196] ; (80a285c ) 80a2796: f7b2 fe2f bl 80553f8 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 80a279a: 6d3a ldr r2, [r7, #80] ; 0x50 80a279c: 4613 mov r3, r2 80a279e: 009b lsls r3, r3, #2 80a27a0: 4413 add r3, r2 80a27a2: f107 0268 add.w r2, r7, #104 ; 0x68 80a27a6: 4413 add r3, r2 80a27a8: 3b32 subs r3, #50 ; 0x32 80a27aa: 781b ldrb r3, [r3, #0] 80a27ac: b2db uxtb r3, r3 80a27ae: 461a mov r2, r3 80a27b0: 4b29 ldr r3, [pc, #164] ; (80a2858 ) 80a27b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a27b6: 22ae movs r2, #174 ; 0xae 80a27b8: 21b4 movs r1, #180 ; 0xb4 80a27ba: 4618 mov r0, r3 80a27bc: f7b2 fe1c bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 80a27c0: 6d3a ldr r2, [r7, #80] ; 0x50 80a27c2: 4613 mov r3, r2 80a27c4: 009b lsls r3, r3, #2 80a27c6: 4413 add r3, r2 80a27c8: f107 0268 add.w r2, r7, #104 ; 0x68 80a27cc: 4413 add r3, r2 80a27ce: 3b33 subs r3, #51 ; 0x33 80a27d0: 781b ldrb r3, [r3, #0] 80a27d2: b2db uxtb r3, r3 80a27d4: 461a mov r2, r3 80a27d6: 4b20 ldr r3, [pc, #128] ; (80a2858 ) 80a27d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a27dc: 22ae movs r2, #174 ; 0xae 80a27de: 2196 movs r1, #150 ; 0x96 80a27e0: 4618 mov r0, r3 80a27e2: f7b2 fe09 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 80a27e6: 6d3a ldr r2, [r7, #80] ; 0x50 80a27e8: 4613 mov r3, r2 80a27ea: 009b lsls r3, r3, #2 80a27ec: 4413 add r3, r2 80a27ee: f107 0268 add.w r2, r7, #104 ; 0x68 80a27f2: 4413 add r3, r2 80a27f4: 3b34 subs r3, #52 ; 0x34 80a27f6: 781b ldrb r3, [r3, #0] 80a27f8: b2db uxtb r3, r3 80a27fa: 461a mov r2, r3 80a27fc: 4b16 ldr r3, [pc, #88] ; (80a2858 ) 80a27fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2802: 22ae movs r2, #174 ; 0xae 80a2804: 2178 movs r1, #120 ; 0x78 80a2806: 4618 mov r0, r3 80a2808: f7b2 fdf6 bl 80553f8 DrawImage(&bmg_dB, 265, 180); 80a280c: 22b4 movs r2, #180 ; 0xb4 80a280e: f240 1109 movw r1, #265 ; 0x109 80a2812: 4813 ldr r0, [pc, #76] ; (80a2860 ) 80a2814: f7b2 fdf0 bl 80553f8 80a2818: e045 b.n 80a28a6 if(ipr == VEL) 80a281a: 6d3b ldr r3, [r7, #80] ; 0x50 80a281c: 2b01 cmp r3, #1 80a281e: d12b bne.n 80a2878 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a2820: 4910 ldr r1, [pc, #64] ; (80a2864 ) 80a2822: 4811 ldr r0, [pc, #68] ; (80a2868 ) 80a2824: f7b1 fef4 bl 8054610 if(pardata.LANG == RUS) 80a2828: 4b10 ldr r3, [pc, #64] ; (80a286c ) 80a282a: 7b1b ldrb r3, [r3, #12] 80a282c: b2db uxtb r3, r3 80a282e: 2b00 cmp r3, #0 80a2830: d105 bne.n 80a283e LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a2832: 4a0f ldr r2, [pc, #60] ; (80a2870 ) 80a2834: 2187 movs r1, #135 ; 0x87 80a2836: 20a7 movs r0, #167 ; 0xa7 80a2838: f7b2 fcaa bl 8055190 80a283c: e033 b.n 80a28a6 else LCD_DisplayStringC(167, 135, "NO DATA"); 80a283e: 4a0d ldr r2, [pc, #52] ; (80a2874 ) 80a2840: 2187 movs r1, #135 ; 0x87 80a2842: 20a7 movs r0, #167 ; 0xa7 80a2844: f7b2 fca4 bl 8055190 80a2848: e02d b.n 80a28a6 80a284a: bf00 nop 80a284c: 10624dd3 .word 0x10624dd3 80a2850: 51eb851f .word 0x51eb851f 80a2854: cccccccd .word 0xcccccccd 80a2858: 20020124 .word 0x20020124 80a285c: 0816be20 .word 0x0816be20 80a2860: 0816706c .word 0x0816706c 80a2864: ff0a0f1f .word 0xff0a0f1f 80a2868: ffb8e828 .word 0xffb8e828 80a286c: 20023ea8 .word 0x20023ea8 80a2870: 080d3e64 .word 0x080d3e64 80a2874: 080d3e70 .word 0x080d3e70 if(ipr == DIS) 80a2878: 6d3b ldr r3, [r7, #80] ; 0x50 80a287a: 2b02 cmp r3, #2 80a287c: d113 bne.n 80a28a6 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a287e: 49c8 ldr r1, [pc, #800] ; (80a2ba0 ) 80a2880: 48c8 ldr r0, [pc, #800] ; (80a2ba4 ) 80a2882: f7b1 fec5 bl 8054610 if(pardata.LANG == RUS) 80a2886: 4bc8 ldr r3, [pc, #800] ; (80a2ba8 ) 80a2888: 7b1b ldrb r3, [r3, #12] 80a288a: b2db uxtb r3, r3 80a288c: 2b00 cmp r3, #0 80a288e: d105 bne.n 80a289c LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a2890: 4ac6 ldr r2, [pc, #792] ; (80a2bac ) 80a2892: 21b9 movs r1, #185 ; 0xb9 80a2894: 20a7 movs r0, #167 ; 0xa7 80a2896: f7b2 fc7b bl 8055190 80a289a: e004 b.n 80a28a6 else LCD_DisplayStringC(167, 185, "NO DATA"); 80a289c: 4ac4 ldr r2, [pc, #784] ; (80a2bb0 ) 80a289e: 21b9 movs r1, #185 ; 0xb9 80a28a0: 20a7 movs r0, #167 ; 0xa7 80a28a2: f7b2 fc75 bl 8055190 for(ipr = ACC; ipr <= DIS; ipr++) 80a28a6: 6d3b ldr r3, [r7, #80] ; 0x50 80a28a8: 3301 adds r3, #1 80a28aa: 653b str r3, [r7, #80] ; 0x50 80a28ac: 6d3b ldr r3, [r7, #80] ; 0x50 80a28ae: 2b02 cmp r3, #2 80a28b0: f67e ae98 bls.w 80a15e4 break; 80a28b4: f002 b900 b.w 80a4ab8 DrawImage(&bmf, 100, 57+3); 80a28b8: 223c movs r2, #60 ; 0x3c 80a28ba: 2164 movs r1, #100 ; 0x64 80a28bc: 48bd ldr r0, [pc, #756] ; (80a2bb4 ) 80a28be: f7b2 fd9b bl 80553f8 if(NextIndexMeas < IndexMeas[NextIndexPoint]) 80a28c2: 4bbd ldr r3, [pc, #756] ; (80a2bb8 ) 80a28c4: 681b ldr r3, [r3, #0] 80a28c6: 4abd ldr r2, [pc, #756] ; (80a2bbc ) 80a28c8: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80a28cc: 4bbc ldr r3, [pc, #752] ; (80a2bc0 ) 80a28ce: 681b ldr r3, [r3, #0] 80a28d0: 429a cmp r2, r3 80a28d2: d905 bls.n 80a28e0 DrawImage(&bmSAVED, 298, 39); 80a28d4: 2227 movs r2, #39 ; 0x27 80a28d6: f44f 7195 mov.w r1, #298 ; 0x12a 80a28da: 48ba ldr r0, [pc, #744] ; (80a2bc4 ) 80a28dc: f7b2 fd8c bl 80553f8 DrawDetectorType(); 80a28e0: f7f6 fce0 bl 80992a4 if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (FreqFran >= 0.0f) && (!timeRelax)) // 80a28e4: 4bb8 ldr r3, [pc, #736] ; (80a2bc8 ) 80a28e6: 781b ldrb r3, [r3, #0] 80a28e8: b2db uxtb r3, r3 80a28ea: f083 0301 eor.w r3, r3, #1 80a28ee: b2db uxtb r3, r3 80a28f0: 2b00 cmp r3, #0 80a28f2: f002 80e1 beq.w 80a4ab8 80a28f6: 4bb5 ldr r3, [pc, #724] ; (80a2bcc ) 80a28f8: 781b ldrb r3, [r3, #0] 80a28fa: b2db uxtb r3, r3 80a28fc: f083 0301 eor.w r3, r3, #1 80a2900: b2db uxtb r3, r3 80a2902: 2b00 cmp r3, #0 80a2904: f002 80d8 beq.w 80a4ab8 80a2908: 4bb1 ldr r3, [pc, #708] ; (80a2bd0 ) 80a290a: 881b ldrh r3, [r3, #0] 80a290c: b29b uxth r3, r3 80a290e: 009b lsls r3, r3, #2 80a2910: 461a mov r2, r3 80a2912: 4bb0 ldr r3, [pc, #704] ; (80a2bd4 ) 80a2914: 681b ldr r3, [r3, #0] 80a2916: 429a cmp r2, r3 80a2918: f082 80ce bcs.w 80a4ab8 80a291c: 4bae ldr r3, [pc, #696] ; (80a2bd8 ) 80a291e: edd3 7a00 vldr s15, [r3] 80a2922: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2926: eef1 fa10 vmrs APSR_nzcv, fpscr 80a292a: da01 bge.n 80a2930 break; 80a292c: f002 b8c4 b.w 80a4ab8 if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (FreqFran >= 0.0f) && (!timeRelax)) // 80a2930: 4baa ldr r3, [pc, #680] ; (80a2bdc ) 80a2932: 681b ldr r3, [r3, #0] 80a2934: 2b00 cmp r3, #0 80a2936: f042 80bf bne.w 80a4ab8 BSP_LCD_SetFont(&Font15); 80a293a: 48a9 ldr r0, [pc, #676] ; (80a2be0 ) 80a293c: f7b1 fea4 bl 8054688 f = FreqFran; 80a2940: 4ba5 ldr r3, [pc, #660] ; (80a2bd8 ) 80a2942: 681b ldr r3, [r3, #0] 80a2944: 647b str r3, [r7, #68] ; 0x44 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80a2946: 4996 ldr r1, [pc, #600] ; (80a2ba0 ) 80a2948: f04f 30ff mov.w r0, #4294967295 80a294c: f7b1 fe60 bl 8054610 memset(str, 0, sizeof(str)); 80a2950: f107 030c add.w r3, r7, #12 80a2954: 2228 movs r2, #40 ; 0x28 80a2956: 2100 movs r1, #0 80a2958: 4618 mov r0, r3 80a295a: f02e fd21 bl 80d13a0 if(f <= 0.0f) 80a295e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2962: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2966: eef1 fa10 vmrs APSR_nzcv, fpscr 80a296a: d808 bhi.n 80a297e strcpy(str, "--?--"); 80a296c: f107 030c add.w r3, r7, #12 80a2970: 4a9c ldr r2, [pc, #624] ; (80a2be4 ) 80a2972: e892 0003 ldmia.w r2, {r0, r1} 80a2976: 6018 str r0, [r3, #0] 80a2978: 3304 adds r3, #4 80a297a: 8019 strh r1, [r3, #0] 80a297c: e0b8 b.n 80a2af0 if(f >= 1000.0f) 80a297e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2982: ed9f 7aa1 vldr s14, [pc, #644] ; 80a2c08 80a2986: eef4 7ac7 vcmpe.f32 s15, s14 80a298a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a298e: db3b blt.n 80a2a08 f *= 0.001f; 80a2990: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2994: ed9f 7a94 vldr s14, [pc, #592] ; 80a2be8 80a2998: ee67 7a87 vmul.f32 s15, s15, s14 80a299c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -2); 80a29a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a29a4: f06f 0001 mvn.w r0, #1 80a29a8: eeb0 0a67 vmov.f32 s0, s15 80a29ac: f7c4 fdf8 bl 80675a0 80a29b0: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a29b2: f107 030c add.w r3, r7, #12 80a29b6: 6e39 ldr r1, [r7, #96] ; 0x60 80a29b8: 4618 mov r0, r3 80a29ba: f02e fe0e bl 80d15da if(pardata.LANG == RUS) strcat(str, " êÃö"); 80a29be: 4b7a ldr r3, [pc, #488] ; (80a2ba8 ) 80a29c0: 7b1b ldrb r3, [r3, #12] 80a29c2: b2db uxtb r3, r3 80a29c4: 2b00 cmp r3, #0 80a29c6: d10f bne.n 80a29e8 80a29c8: f107 030c add.w r3, r7, #12 80a29cc: 4618 mov r0, r3 80a29ce: f77d fca1 bl 8020314 80a29d2: 4603 mov r3, r0 80a29d4: 461a mov r2, r3 80a29d6: f107 030c add.w r3, r7, #12 80a29da: 4413 add r3, r2 80a29dc: 4a83 ldr r2, [pc, #524] ; (80a2bec ) 80a29de: 6810 ldr r0, [r2, #0] 80a29e0: 6018 str r0, [r3, #0] 80a29e2: 7912 ldrb r2, [r2, #4] 80a29e4: 711a strb r2, [r3, #4] 80a29e6: e083 b.n 80a2af0 else strcat(str, " kHz"); 80a29e8: f107 030c add.w r3, r7, #12 80a29ec: 4618 mov r0, r3 80a29ee: f77d fc91 bl 8020314 80a29f2: 4603 mov r3, r0 80a29f4: 461a mov r2, r3 80a29f6: f107 030c add.w r3, r7, #12 80a29fa: 4413 add r3, r2 80a29fc: 4a7c ldr r2, [pc, #496] ; (80a2bf0 ) 80a29fe: 6810 ldr r0, [r2, #0] 80a2a00: 6018 str r0, [r3, #0] 80a2a02: 7912 ldrb r2, [r2, #4] 80a2a04: 711a strb r2, [r3, #4] 80a2a06: e073 b.n 80a2af0 if(f >= 1.0f) 80a2a08: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a0c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80a2a10: eef4 7ac7 vcmpe.f32 s15, s14 80a2a14: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2a18: db2f blt.n 80a2a7a p8 = (char *) FloatToASCII(f, -2); 80a2a1a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a1e: f06f 0001 mvn.w r0, #1 80a2a22: eeb0 0a67 vmov.f32 s0, s15 80a2a26: f7c4 fdbb bl 80675a0 80a2a2a: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a2a2c: f107 030c add.w r3, r7, #12 80a2a30: 6e39 ldr r1, [r7, #96] ; 0x60 80a2a32: 4618 mov r0, r3 80a2a34: f02e fdd1 bl 80d15da if(pardata.LANG == RUS) strcat(str, " Ãö"); 80a2a38: 4b5b ldr r3, [pc, #364] ; (80a2ba8 ) 80a2a3a: 7b1b ldrb r3, [r3, #12] 80a2a3c: b2db uxtb r3, r3 80a2a3e: 2b00 cmp r3, #0 80a2a40: d10d bne.n 80a2a5e 80a2a42: f107 030c add.w r3, r7, #12 80a2a46: 4618 mov r0, r3 80a2a48: f77d fc64 bl 8020314 80a2a4c: 4603 mov r3, r0 80a2a4e: 461a mov r2, r3 80a2a50: f107 030c add.w r3, r7, #12 80a2a54: 4413 add r3, r2 80a2a56: 4a67 ldr r2, [pc, #412] ; (80a2bf4 ) 80a2a58: 6810 ldr r0, [r2, #0] 80a2a5a: 6018 str r0, [r3, #0] 80a2a5c: e048 b.n 80a2af0 else strcat(str, " Hz"); 80a2a5e: f107 030c add.w r3, r7, #12 80a2a62: 4618 mov r0, r3 80a2a64: f77d fc56 bl 8020314 80a2a68: 4603 mov r3, r0 80a2a6a: 461a mov r2, r3 80a2a6c: f107 030c add.w r3, r7, #12 80a2a70: 4413 add r3, r2 80a2a72: 4a61 ldr r2, [pc, #388] ; (80a2bf8 ) 80a2a74: 6810 ldr r0, [r2, #0] 80a2a76: 6018 str r0, [r3, #0] 80a2a78: e03a b.n 80a2af0 f *= 1000.0f; 80a2a7a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a7e: ed9f 7a62 vldr s14, [pc, #392] ; 80a2c08 80a2a82: ee67 7a87 vmul.f32 s15, s15, s14 80a2a86: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -3); 80a2a8a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a8e: f06f 0002 mvn.w r0, #2 80a2a92: eeb0 0a67 vmov.f32 s0, s15 80a2a96: f7c4 fd83 bl 80675a0 80a2a9a: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a2a9c: f107 030c add.w r3, r7, #12 80a2aa0: 6e39 ldr r1, [r7, #96] ; 0x60 80a2aa2: 4618 mov r0, r3 80a2aa4: f02e fd99 bl 80d15da if(pardata.LANG == RUS) strcat(str, " ìÃö"); 80a2aa8: 4b3f ldr r3, [pc, #252] ; (80a2ba8 ) 80a2aaa: 7b1b ldrb r3, [r3, #12] 80a2aac: b2db uxtb r3, r3 80a2aae: 2b00 cmp r3, #0 80a2ab0: d10f bne.n 80a2ad2 80a2ab2: f107 030c add.w r3, r7, #12 80a2ab6: 4618 mov r0, r3 80a2ab8: f77d fc2c bl 8020314 80a2abc: 4603 mov r3, r0 80a2abe: 461a mov r2, r3 80a2ac0: f107 030c add.w r3, r7, #12 80a2ac4: 4413 add r3, r2 80a2ac6: 4a4d ldr r2, [pc, #308] ; (80a2bfc ) 80a2ac8: 6810 ldr r0, [r2, #0] 80a2aca: 6018 str r0, [r3, #0] 80a2acc: 7912 ldrb r2, [r2, #4] 80a2ace: 711a strb r2, [r3, #4] 80a2ad0: e00e b.n 80a2af0 else strcat(str, " mHz"); 80a2ad2: f107 030c add.w r3, r7, #12 80a2ad6: 4618 mov r0, r3 80a2ad8: f77d fc1c bl 8020314 80a2adc: 4603 mov r3, r0 80a2ade: 461a mov r2, r3 80a2ae0: f107 030c add.w r3, r7, #12 80a2ae4: 4413 add r3, r2 80a2ae6: 4a46 ldr r2, [pc, #280] ; (80a2c00 ) 80a2ae8: 6810 ldr r0, [r2, #0] 80a2aea: 6018 str r0, [r3, #0] 80a2aec: 7912 ldrb r2, [r2, #4] 80a2aee: 711a strb r2, [r3, #4] BSP_LCD_DisplayStringAt(132, 61+3, str, LEFT_MODE); 80a2af0: f107 020c add.w r2, r7, #12 80a2af4: 2303 movs r3, #3 80a2af6: 2140 movs r1, #64 ; 0x40 80a2af8: 2084 movs r0, #132 ; 0x84 80a2afa: f7b1 fe4f bl 805479c if(log == false) // Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 80a2afe: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80a2b02: f083 0301 eor.w r3, r3, #1 80a2b06: b2db uxtb r3, r3 80a2b08: 2b00 cmp r3, #0 80a2b0a: f000 85d7 beq.w 80a36bc for(ipr = ACC; ipr <= DIS; ipr++) 80a2b0e: 2300 movs r3, #0 80a2b10: 653b str r3, [r7, #80] ; 0x50 80a2b12: f000 bdcd b.w 80a36b0 memset(str, 0, sizeof(str)); 80a2b16: f107 030c add.w r3, r7, #12 80a2b1a: 2228 movs r2, #40 ; 0x28 80a2b1c: 2100 movs r1, #0 80a2b1e: 4618 mov r0, r3 80a2b20: f02e fc3e bl 80d13a0 f = ABS(skz[ipr]); 80a2b24: 6d3b ldr r3, [r7, #80] ; 0x50 80a2b26: 4a37 ldr r2, [pc, #220] ; (80a2c04 ) 80a2b28: 009b lsls r3, r3, #2 80a2b2a: 4413 add r3, r2 80a2b2c: edd3 7a00 vldr s15, [r3] 80a2b30: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2b34: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2b38: dd06 ble.n 80a2b48 80a2b3a: 6d3b ldr r3, [r7, #80] ; 0x50 80a2b3c: 4a31 ldr r2, [pc, #196] ; (80a2c04 ) 80a2b3e: 009b lsls r3, r3, #2 80a2b40: 4413 add r3, r2 80a2b42: edd3 7a00 vldr s15, [r3] 80a2b46: e007 b.n 80a2b58 80a2b48: 6d3b ldr r3, [r7, #80] ; 0x50 80a2b4a: 4a2e ldr r2, [pc, #184] ; (80a2c04 ) 80a2b4c: 009b lsls r3, r3, #2 80a2b4e: 4413 add r3, r2 80a2b50: edd3 7a00 vldr s15, [r3] 80a2b54: eef1 7a67 vneg.f32 s15, s15 80a2b58: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 80a2b5c: 6d3b ldr r3, [r7, #80] ; 0x50 80a2b5e: 2b01 cmp r3, #1 80a2b60: f200 80ec bhi.w 80a2d3c if(f < 10.0f) 80a2b64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2b68: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a2b6c: eef4 7ac7 vcmpe.f32 s15, s14 80a2b70: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2b74: d550 bpl.n 80a2c18 k = (uint32_t) (roundf(f * 10000)); 80a2b76: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2b7a: ed9f 7a25 vldr s14, [pc, #148] ; 80a2c10 80a2b7e: ee67 7a87 vmul.f32 s15, s15, s14 80a2b82: eeb0 0a67 vmov.f32 s0, s15 80a2b86: f02c fa0d bl 80cefa4 80a2b8a: eef0 7a40 vmov.f32 s15, s0 80a2b8e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2b92: ee17 3a90 vmov r3, s15 80a2b96: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a2b98: 2301 movs r3, #1 80a2b9a: 657b str r3, [r7, #84] ; 0x54 80a2b9c: e1fc b.n 80a2f98 80a2b9e: bf00 nop 80a2ba0: ff0a0f1f .word 0xff0a0f1f 80a2ba4: ffb8e828 .word 0xffb8e828 80a2ba8: 20023ea8 .word 0x20023ea8 80a2bac: 080d3e64 .word 0x080d3e64 80a2bb0: 080d3e70 .word 0x080d3e70 80a2bb4: 08161bbc .word 0x08161bbc 80a2bb8: 20021fe4 .word 0x20021fe4 80a2bbc: 20022ee8 .word 0x20022ee8 80a2bc0: 20022358 .word 0x20022358 80a2bc4: 0814be4c .word 0x0814be4c 80a2bc8: 20020dd2 .word 0x20020dd2 80a2bcc: 20020dcc .word 0x20020dcc 80a2bd0: 20021d68 .word 0x20021d68 80a2bd4: 20020dc8 .word 0x20020dc8 80a2bd8: 200215ac .word 0x200215ac 80a2bdc: 20020d8c .word 0x20020d8c 80a2be0: 20020040 .word 0x20020040 80a2be4: 080d4da8 .word 0x080d4da8 80a2be8: 3a83126f .word 0x3a83126f 80a2bec: 080d4d80 .word 0x080d4d80 80a2bf0: 080d4d88 .word 0x080d4d88 80a2bf4: 080d4d90 .word 0x080d4d90 80a2bf8: 080d4d94 .word 0x080d4d94 80a2bfc: 080d4d98 .word 0x080d4d98 80a2c00: 080d4da0 .word 0x080d4da0 80a2c04: 20021588 .word 0x20021588 80a2c08: 447a0000 .word 0x447a0000 80a2c0c: 42c80000 .word 0x42c80000 80a2c10: 461c4000 .word 0x461c4000 80a2c14: 47c35000 .word 0x47c35000 if(f < 100.0f) 80a2c18: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2c1c: ed1f 7a05 vldr s14, [pc, #-20] ; 80a2c0c 80a2c20: eef4 7ac7 vcmpe.f32 s15, s14 80a2c24: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2c28: d513 bpl.n 80a2c52 k = (uint32_t) (roundf(f * 1000)); 80a2c2a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2c2e: ed1f 7a0a vldr s14, [pc, #-40] ; 80a2c08 80a2c32: ee67 7a87 vmul.f32 s15, s15, s14 80a2c36: eeb0 0a67 vmov.f32 s0, s15 80a2c3a: f02c f9b3 bl 80cefa4 80a2c3e: eef0 7a40 vmov.f32 s15, s0 80a2c42: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2c46: ee17 3a90 vmov r3, s15 80a2c4a: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a2c4c: 2302 movs r3, #2 80a2c4e: 657b str r3, [r7, #84] ; 0x54 80a2c50: e1a2 b.n 80a2f98 if(f < 1000.0f) 80a2c52: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2c56: ed1f 7a14 vldr s14, [pc, #-80] ; 80a2c08 80a2c5a: eef4 7ac7 vcmpe.f32 s15, s14 80a2c5e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2c62: d513 bpl.n 80a2c8c k = (uint32_t) (roundf(f * 100)); 80a2c64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2c68: ed1f 7a18 vldr s14, [pc, #-96] ; 80a2c0c 80a2c6c: ee67 7a87 vmul.f32 s15, s15, s14 80a2c70: eeb0 0a67 vmov.f32 s0, s15 80a2c74: f02c f996 bl 80cefa4 80a2c78: eef0 7a40 vmov.f32 s15, s0 80a2c7c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2c80: ee17 3a90 vmov r3, s15 80a2c84: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a2c86: 2303 movs r3, #3 80a2c88: 657b str r3, [r7, #84] ; 0x54 80a2c8a: e185 b.n 80a2f98 if(f < 10000.0f) 80a2c8c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2c90: ed1f 7a21 vldr s14, [pc, #-132] ; 80a2c10 80a2c94: eef4 7ac7 vcmpe.f32 s15, s14 80a2c98: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2c9c: d513 bpl.n 80a2cc6 k = (uint32_t) (roundf(f * 10)); 80a2c9e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2ca2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a2ca6: ee67 7a87 vmul.f32 s15, s15, s14 80a2caa: eeb0 0a67 vmov.f32 s0, s15 80a2cae: f02c f979 bl 80cefa4 80a2cb2: eef0 7a40 vmov.f32 s15, s0 80a2cb6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2cba: ee17 3a90 vmov r3, s15 80a2cbe: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a2cc0: 2304 movs r3, #4 80a2cc2: 657b str r3, [r7, #84] ; 0x54 80a2cc4: e168 b.n 80a2f98 if(f < 100000.0f) 80a2cc6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2cca: ed1f 7a2e vldr s14, [pc, #-184] ; 80a2c14 80a2cce: eef4 7ac7 vcmpe.f32 s15, s14 80a2cd2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2cd6: d515 bpl.n 80a2d04 k = (uint32_t) (roundf(f)); 80a2cd8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2cdc: eeb0 0a67 vmov.f32 s0, s15 80a2ce0: f02c f960 bl 80cefa4 80a2ce4: eef0 7a40 vmov.f32 s15, s0 80a2ce8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2cec: ee17 3a90 vmov r3, s15 80a2cf0: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a2cf2: 6dbb ldr r3, [r7, #88] ; 0x58 80a2cf4: 4a8e ldr r2, [pc, #568] ; (80a2f30 ) 80a2cf6: 4293 cmp r3, r2 80a2cf8: d901 bls.n 80a2cfe k = 99999; 80a2cfa: 4b8d ldr r3, [pc, #564] ; (80a2f30 ) 80a2cfc: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a2cfe: 2300 movs r3, #0 80a2d00: 657b str r3, [r7, #84] ; 0x54 80a2d02: e149 b.n 80a2f98 if(f >= 100000.0f) 80a2d04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2d08: ed9f 7a8a vldr s14, [pc, #552] ; 80a2f34 80a2d0c: eef4 7ac7 vcmpe.f32 s15, s14 80a2d10: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2d14: f2c0 8140 blt.w 80a2f98 f = 99999.0f; 80a2d18: 4b87 ldr r3, [pc, #540] ; (80a2f38 ) 80a2d1a: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a2d1c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2d20: eeb0 0a67 vmov.f32 s0, s15 80a2d24: f02c f93e bl 80cefa4 80a2d28: eef0 7a40 vmov.f32 s15, s0 80a2d2c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2d30: ee17 3a90 vmov r3, s15 80a2d34: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a2d36: 2300 movs r3, #0 80a2d38: 657b str r3, [r7, #84] ; 0x54 80a2d3a: e12d b.n 80a2f98 if(f < 10.0f) 80a2d3c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2d40: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a2d44: eef4 7ac7 vcmpe.f32 s15, s14 80a2d48: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2d4c: d515 bpl.n 80a2d7a k = (uint32_t) (roundf(f * 10000)); 80a2d4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2d52: ed9f 7a7a vldr s14, [pc, #488] ; 80a2f3c 80a2d56: ee67 7a87 vmul.f32 s15, s15, s14 80a2d5a: eeb0 0a67 vmov.f32 s0, s15 80a2d5e: f02c f921 bl 80cefa4 80a2d62: eef0 7a40 vmov.f32 s15, s0 80a2d66: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2d6a: ee17 3a90 vmov r3, s15 80a2d6e: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a2d70: 2301 movs r3, #1 80a2d72: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a2d74: 2300 movs r3, #0 80a2d76: 64fb str r3, [r7, #76] ; 0x4c 80a2d78: e10e b.n 80a2f98 if(f < 100.0f) 80a2d7a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2d7e: ed9f 7a70 vldr s14, [pc, #448] ; 80a2f40 80a2d82: eef4 7ac7 vcmpe.f32 s15, s14 80a2d86: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2d8a: d515 bpl.n 80a2db8 k = (uint32_t) (roundf(f * 1000)); 80a2d8c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2d90: ed9f 7a6c vldr s14, [pc, #432] ; 80a2f44 80a2d94: ee67 7a87 vmul.f32 s15, s15, s14 80a2d98: eeb0 0a67 vmov.f32 s0, s15 80a2d9c: f02c f902 bl 80cefa4 80a2da0: eef0 7a40 vmov.f32 s15, s0 80a2da4: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2da8: ee17 3a90 vmov r3, s15 80a2dac: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a2dae: 2302 movs r3, #2 80a2db0: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a2db2: 2300 movs r3, #0 80a2db4: 64fb str r3, [r7, #76] ; 0x4c 80a2db6: e0ef b.n 80a2f98 if(f < 1000.0f) 80a2db8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2dbc: ed9f 7a61 vldr s14, [pc, #388] ; 80a2f44 80a2dc0: eef4 7ac7 vcmpe.f32 s15, s14 80a2dc4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2dc8: d515 bpl.n 80a2df6 k = (uint32_t) (roundf(f * 100)); 80a2dca: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2dce: ed9f 7a5c vldr s14, [pc, #368] ; 80a2f40 80a2dd2: ee67 7a87 vmul.f32 s15, s15, s14 80a2dd6: eeb0 0a67 vmov.f32 s0, s15 80a2dda: f02c f8e3 bl 80cefa4 80a2dde: eef0 7a40 vmov.f32 s15, s0 80a2de2: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2de6: ee17 3a90 vmov r3, s15 80a2dea: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a2dec: 2303 movs r3, #3 80a2dee: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a2df0: 2300 movs r3, #0 80a2df2: 64fb str r3, [r7, #76] ; 0x4c 80a2df4: e0d0 b.n 80a2f98 if(f < 10000.0f) 80a2df6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2dfa: ed9f 7a50 vldr s14, [pc, #320] ; 80a2f3c 80a2dfe: eef4 7ac7 vcmpe.f32 s15, s14 80a2e02: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2e06: d515 bpl.n 80a2e34 k = (uint32_t) (roundf(f * 10)); 80a2e08: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2e0c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a2e10: ee67 7a87 vmul.f32 s15, s15, s14 80a2e14: eeb0 0a67 vmov.f32 s0, s15 80a2e18: f02c f8c4 bl 80cefa4 80a2e1c: eef0 7a40 vmov.f32 s15, s0 80a2e20: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2e24: ee17 3a90 vmov r3, s15 80a2e28: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a2e2a: 2301 movs r3, #1 80a2e2c: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2e2e: 2301 movs r3, #1 80a2e30: 64fb str r3, [r7, #76] ; 0x4c 80a2e32: e0b1 b.n 80a2f98 if(f < 100000.0f) 80a2e34: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2e38: ed9f 7a3e vldr s14, [pc, #248] ; 80a2f34 80a2e3c: eef4 7ac7 vcmpe.f32 s15, s14 80a2e40: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2e44: d511 bpl.n 80a2e6a k = (uint32_t) (roundf(f)); 80a2e46: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2e4a: eeb0 0a67 vmov.f32 s0, s15 80a2e4e: f02c f8a9 bl 80cefa4 80a2e52: eef0 7a40 vmov.f32 s15, s0 80a2e56: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2e5a: ee17 3a90 vmov r3, s15 80a2e5e: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a2e60: 2302 movs r3, #2 80a2e62: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2e64: 2301 movs r3, #1 80a2e66: 64fb str r3, [r7, #76] ; 0x4c 80a2e68: e096 b.n 80a2f98 if(f < 1000000.0f) 80a2e6a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2e6e: ed9f 7a36 vldr s14, [pc, #216] ; 80a2f48 80a2e72: eef4 7ac7 vcmpe.f32 s15, s14 80a2e76: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2e7a: d515 bpl.n 80a2ea8 k = (uint32_t) (roundf(f * 0.1f)); 80a2e7c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2e80: ed9f 7a32 vldr s14, [pc, #200] ; 80a2f4c 80a2e84: ee67 7a87 vmul.f32 s15, s15, s14 80a2e88: eeb0 0a67 vmov.f32 s0, s15 80a2e8c: f02c f88a bl 80cefa4 80a2e90: eef0 7a40 vmov.f32 s15, s0 80a2e94: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2e98: ee17 3a90 vmov r3, s15 80a2e9c: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a2e9e: 2303 movs r3, #3 80a2ea0: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2ea2: 2301 movs r3, #1 80a2ea4: 64fb str r3, [r7, #76] ; 0x4c 80a2ea6: e077 b.n 80a2f98 if(f < 10000000.0f) 80a2ea8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2eac: ed9f 7a28 vldr s14, [pc, #160] ; 80a2f50 80a2eb0: eef4 7ac7 vcmpe.f32 s15, s14 80a2eb4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2eb8: d515 bpl.n 80a2ee6 k = (uint32_t) (roundf(f * 0.01f)); 80a2eba: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2ebe: ed9f 7a25 vldr s14, [pc, #148] ; 80a2f54 80a2ec2: ee67 7a87 vmul.f32 s15, s15, s14 80a2ec6: eeb0 0a67 vmov.f32 s0, s15 80a2eca: f02c f86b bl 80cefa4 80a2ece: eef0 7a40 vmov.f32 s15, s0 80a2ed2: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2ed6: ee17 3a90 vmov r3, s15 80a2eda: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a2edc: 2304 movs r3, #4 80a2ede: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2ee0: 2301 movs r3, #1 80a2ee2: 64fb str r3, [r7, #76] ; 0x4c 80a2ee4: e058 b.n 80a2f98 if(f < 100000000.0f) 80a2ee6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2eea: ed9f 7a1c vldr s14, [pc, #112] ; 80a2f5c 80a2eee: eef4 7ac7 vcmpe.f32 s15, s14 80a2ef2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2ef6: d533 bpl.n 80a2f60 k = (uint32_t) (roundf(f * 0.001f)); 80a2ef8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2efc: ed9f 7a16 vldr s14, [pc, #88] ; 80a2f58 80a2f00: ee67 7a87 vmul.f32 s15, s15, s14 80a2f04: eeb0 0a67 vmov.f32 s0, s15 80a2f08: f02c f84c bl 80cefa4 80a2f0c: eef0 7a40 vmov.f32 s15, s0 80a2f10: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2f14: ee17 3a90 vmov r3, s15 80a2f18: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a2f1a: 6dbb ldr r3, [r7, #88] ; 0x58 80a2f1c: 4a04 ldr r2, [pc, #16] ; (80a2f30 ) 80a2f1e: 4293 cmp r3, r2 80a2f20: d901 bls.n 80a2f26 k = 99999; 80a2f22: 4b03 ldr r3, [pc, #12] ; (80a2f30 ) 80a2f24: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a2f26: 2300 movs r3, #0 80a2f28: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2f2a: 2301 movs r3, #1 80a2f2c: 64fb str r3, [r7, #76] ; 0x4c 80a2f2e: e033 b.n 80a2f98 80a2f30: 0001869f .word 0x0001869f 80a2f34: 47c35000 .word 0x47c35000 80a2f38: 47c34f80 .word 0x47c34f80 80a2f3c: 461c4000 .word 0x461c4000 80a2f40: 42c80000 .word 0x42c80000 80a2f44: 447a0000 .word 0x447a0000 80a2f48: 49742400 .word 0x49742400 80a2f4c: 3dcccccd .word 0x3dcccccd 80a2f50: 4b189680 .word 0x4b189680 80a2f54: 3c23d70a .word 0x3c23d70a 80a2f58: 3a83126f .word 0x3a83126f 80a2f5c: 4cbebc20 .word 0x4cbebc20 if(f >= 100000000.0f) 80a2f60: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2f64: ed1f 7a03 vldr s14, [pc, #-12] ; 80a2f5c 80a2f68: eef4 7ac7 vcmpe.f32 s15, s14 80a2f6c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2f70: db12 blt.n 80a2f98 f = 99999.0f; 80a2f72: 4bc4 ldr r3, [pc, #784] ; (80a3284 ) 80a2f74: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a2f76: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2f7a: eeb0 0a67 vmov.f32 s0, s15 80a2f7e: f02c f811 bl 80cefa4 80a2f82: eef0 7a40 vmov.f32 s15, s0 80a2f86: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2f8a: ee17 3a90 vmov r3, s15 80a2f8e: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a2f90: 2300 movs r3, #0 80a2f92: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2f94: 2301 movs r3, #1 80a2f96: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a2f98: 6d3a ldr r2, [r7, #80] ; 0x50 80a2f9a: 6dbb ldr r3, [r7, #88] ; 0x58 80a2f9c: 49ba ldr r1, [pc, #744] ; (80a3288 ) 80a2f9e: fba1 1303 umull r1, r3, r1, r3 80a2fa2: 0b5b lsrs r3, r3, #13 80a2fa4: b2d9 uxtb r1, r3 80a2fa6: 4613 mov r3, r2 80a2fa8: 009b lsls r3, r3, #2 80a2faa: 4413 add r3, r2 80a2fac: f107 0268 add.w r2, r7, #104 ; 0x68 80a2fb0: 4413 add r3, r2 80a2fb2: 3b34 subs r3, #52 ; 0x34 80a2fb4: 460a mov r2, r1 80a2fb6: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a2fb8: 6d39 ldr r1, [r7, #80] ; 0x50 80a2fba: 6dba ldr r2, [r7, #88] ; 0x58 80a2fbc: 4bb2 ldr r3, [pc, #712] ; (80a3288 ) 80a2fbe: fba3 0302 umull r0, r3, r3, r2 80a2fc2: 0b5b lsrs r3, r3, #13 80a2fc4: f242 7010 movw r0, #10000 ; 0x2710 80a2fc8: fb00 f303 mul.w r3, r0, r3 80a2fcc: 1ad3 subs r3, r2, r3 80a2fce: 4aaf ldr r2, [pc, #700] ; (80a328c ) 80a2fd0: fba2 2303 umull r2, r3, r2, r3 80a2fd4: 099b lsrs r3, r3, #6 80a2fd6: b2da uxtb r2, r3 80a2fd8: 460b mov r3, r1 80a2fda: 009b lsls r3, r3, #2 80a2fdc: 440b add r3, r1 80a2fde: f107 0168 add.w r1, r7, #104 ; 0x68 80a2fe2: 440b add r3, r1 80a2fe4: 3b33 subs r3, #51 ; 0x33 80a2fe6: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a2fe8: 6d39 ldr r1, [r7, #80] ; 0x50 80a2fea: 6dba ldr r2, [r7, #88] ; 0x58 80a2fec: 4ba6 ldr r3, [pc, #664] ; (80a3288 ) 80a2fee: fba3 0302 umull r0, r3, r3, r2 80a2ff2: 0b5b lsrs r3, r3, #13 80a2ff4: f242 7010 movw r0, #10000 ; 0x2710 80a2ff8: fb00 f303 mul.w r3, r0, r3 80a2ffc: 1ad3 subs r3, r2, r3 80a2ffe: 4aa3 ldr r2, [pc, #652] ; (80a328c ) 80a3000: fba2 0203 umull r0, r2, r2, r3 80a3004: 0992 lsrs r2, r2, #6 80a3006: f44f 707a mov.w r0, #1000 ; 0x3e8 80a300a: fb00 f202 mul.w r2, r0, r2 80a300e: 1a9a subs r2, r3, r2 80a3010: 4b9f ldr r3, [pc, #636] ; (80a3290 ) 80a3012: fba3 2302 umull r2, r3, r3, r2 80a3016: 095b lsrs r3, r3, #5 80a3018: b2da uxtb r2, r3 80a301a: 460b mov r3, r1 80a301c: 009b lsls r3, r3, #2 80a301e: 440b add r3, r1 80a3020: f107 0168 add.w r1, r7, #104 ; 0x68 80a3024: 440b add r3, r1 80a3026: 3b32 subs r3, #50 ; 0x32 80a3028: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a302a: 6d39 ldr r1, [r7, #80] ; 0x50 80a302c: 6dbb ldr r3, [r7, #88] ; 0x58 80a302e: 4a96 ldr r2, [pc, #600] ; (80a3288 ) 80a3030: fba2 0203 umull r0, r2, r2, r3 80a3034: 0b52 lsrs r2, r2, #13 80a3036: f242 7010 movw r0, #10000 ; 0x2710 80a303a: fb00 f202 mul.w r2, r0, r2 80a303e: 1a9a subs r2, r3, r2 80a3040: 4b92 ldr r3, [pc, #584] ; (80a328c ) 80a3042: fba3 0302 umull r0, r3, r3, r2 80a3046: 099b lsrs r3, r3, #6 80a3048: f44f 707a mov.w r0, #1000 ; 0x3e8 80a304c: fb00 f303 mul.w r3, r0, r3 80a3050: 1ad3 subs r3, r2, r3 80a3052: 4a8f ldr r2, [pc, #572] ; (80a3290 ) 80a3054: fba2 0203 umull r0, r2, r2, r3 80a3058: 0952 lsrs r2, r2, #5 80a305a: 2064 movs r0, #100 ; 0x64 80a305c: fb00 f202 mul.w r2, r0, r2 80a3060: 1a9a subs r2, r3, r2 80a3062: 4b8c ldr r3, [pc, #560] ; (80a3294 ) 80a3064: fba3 2302 umull r2, r3, r3, r2 80a3068: 08db lsrs r3, r3, #3 80a306a: b2da uxtb r2, r3 80a306c: 460b mov r3, r1 80a306e: 009b lsls r3, r3, #2 80a3070: 440b add r3, r1 80a3072: f107 0168 add.w r1, r7, #104 ; 0x68 80a3076: 440b add r3, r1 80a3078: 3b31 subs r3, #49 ; 0x31 80a307a: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a307c: 6d38 ldr r0, [r7, #80] ; 0x50 80a307e: 6dbb ldr r3, [r7, #88] ; 0x58 80a3080: 4a81 ldr r2, [pc, #516] ; (80a3288 ) 80a3082: fba2 1203 umull r1, r2, r2, r3 80a3086: 0b52 lsrs r2, r2, #13 80a3088: f242 7110 movw r1, #10000 ; 0x2710 80a308c: fb01 f202 mul.w r2, r1, r2 80a3090: 1a9a subs r2, r3, r2 80a3092: 4b7e ldr r3, [pc, #504] ; (80a328c ) 80a3094: fba3 1302 umull r1, r3, r3, r2 80a3098: 099b lsrs r3, r3, #6 80a309a: f44f 717a mov.w r1, #1000 ; 0x3e8 80a309e: fb01 f303 mul.w r3, r1, r3 80a30a2: 1ad3 subs r3, r2, r3 80a30a4: 4a7a ldr r2, [pc, #488] ; (80a3290 ) 80a30a6: fba2 1203 umull r1, r2, r2, r3 80a30aa: 0952 lsrs r2, r2, #5 80a30ac: 2164 movs r1, #100 ; 0x64 80a30ae: fb01 f202 mul.w r2, r1, r2 80a30b2: 1a9a subs r2, r3, r2 80a30b4: 4b77 ldr r3, [pc, #476] ; (80a3294 ) 80a30b6: fba3 1302 umull r1, r3, r3, r2 80a30ba: 08d9 lsrs r1, r3, #3 80a30bc: 460b mov r3, r1 80a30be: 009b lsls r3, r3, #2 80a30c0: 440b add r3, r1 80a30c2: 005b lsls r3, r3, #1 80a30c4: 1ad1 subs r1, r2, r3 80a30c6: b2ca uxtb r2, r1 80a30c8: 4603 mov r3, r0 80a30ca: 009b lsls r3, r3, #2 80a30cc: 4403 add r3, r0 80a30ce: f107 0168 add.w r1, r7, #104 ; 0x68 80a30d2: 440b add r3, r1 80a30d4: 3b30 subs r3, #48 ; 0x30 80a30d6: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 80a30d8: 6d3b ldr r3, [r7, #80] ; 0x50 80a30da: 4a6f ldr r2, [pc, #444] ; (80a3298 ) 80a30dc: 009b lsls r3, r3, #2 80a30de: 4413 add r3, r2 80a30e0: edd3 7a00 vldr s15, [r3] 80a30e4: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a30e8: eef4 7a47 vcmp.f32 s15, s14 80a30ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80a30f0: f000 82a2 beq.w 80a3638 if(ipr == ACC) 80a30f4: 6d3b ldr r3, [r7, #80] ; 0x50 80a30f6: 2b00 cmp r3, #0 80a30f8: f040 80dc bne.w 80a32b4 if(!t) 80a30fc: 6d7b ldr r3, [r7, #84] ; 0x54 80a30fe: 2b00 cmp r3, #0 80a3100: d126 bne.n 80a3150 for(i = 0; i < 5; i++) 80a3102: 2300 movs r3, #0 80a3104: 65fb str r3, [r7, #92] ; 0x5c 80a3106: e01f b.n 80a3148 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a3108: 6d3a ldr r2, [r7, #80] ; 0x50 80a310a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a310c: 4613 mov r3, r2 80a310e: 009b lsls r3, r3, #2 80a3110: 4413 add r3, r2 80a3112: f107 0268 add.w r2, r7, #104 ; 0x68 80a3116: 4413 add r3, r2 80a3118: 440b add r3, r1 80a311a: 3b34 subs r3, #52 ; 0x34 80a311c: 781b ldrb r3, [r3, #0] 80a311e: b2db uxtb r3, r3 80a3120: 461a mov r2, r3 80a3122: 4b5e ldr r3, [pc, #376] ; (80a329c ) 80a3124: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3128: 6dfb ldr r3, [r7, #92] ; 0x5c 80a312a: b29b uxth r3, r3 80a312c: 461a mov r2, r3 80a312e: 0112 lsls r2, r2, #4 80a3130: 1ad3 subs r3, r2, r3 80a3132: 005b lsls r3, r3, #1 80a3134: b29b uxth r3, r3 80a3136: 335a adds r3, #90 ; 0x5a 80a3138: b29b uxth r3, r3 80a313a: 2256 movs r2, #86 ; 0x56 80a313c: 4619 mov r1, r3 80a313e: f7b2 f95b bl 80553f8 for(i = 0; i < 5; i++) 80a3142: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3144: 3301 adds r3, #1 80a3146: 65fb str r3, [r7, #92] ; 0x5c 80a3148: 6dfb ldr r3, [r7, #92] ; 0x5c 80a314a: 2b04 cmp r3, #4 80a314c: d9dc bls.n 80a3108 80a314e: e05a b.n 80a3206 for(i = 0; i < t; i++) 80a3150: 2300 movs r3, #0 80a3152: 65fb str r3, [r7, #92] ; 0x5c 80a3154: e01f b.n 80a3196 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a3156: 6d3a ldr r2, [r7, #80] ; 0x50 80a3158: 6df9 ldr r1, [r7, #92] ; 0x5c 80a315a: 4613 mov r3, r2 80a315c: 009b lsls r3, r3, #2 80a315e: 4413 add r3, r2 80a3160: f107 0268 add.w r2, r7, #104 ; 0x68 80a3164: 4413 add r3, r2 80a3166: 440b add r3, r1 80a3168: 3b34 subs r3, #52 ; 0x34 80a316a: 781b ldrb r3, [r3, #0] 80a316c: b2db uxtb r3, r3 80a316e: 461a mov r2, r3 80a3170: 4b4a ldr r3, [pc, #296] ; (80a329c ) 80a3172: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3176: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3178: b29b uxth r3, r3 80a317a: 461a mov r2, r3 80a317c: 0112 lsls r2, r2, #4 80a317e: 1ad3 subs r3, r2, r3 80a3180: 005b lsls r3, r3, #1 80a3182: b29b uxth r3, r3 80a3184: 335a adds r3, #90 ; 0x5a 80a3186: b29b uxth r3, r3 80a3188: 2256 movs r2, #86 ; 0x56 80a318a: 4619 mov r1, r3 80a318c: f7b2 f934 bl 80553f8 for(i = 0; i < t; i++) 80a3190: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3192: 3301 adds r3, #1 80a3194: 65fb str r3, [r7, #92] ; 0x5c 80a3196: 6dfa ldr r2, [r7, #92] ; 0x5c 80a3198: 6d7b ldr r3, [r7, #84] ; 0x54 80a319a: 429a cmp r2, r3 80a319c: d3db bcc.n 80a3156 DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a319e: 6d7b ldr r3, [r7, #84] ; 0x54 80a31a0: b29b uxth r3, r3 80a31a2: 461a mov r2, r3 80a31a4: 0112 lsls r2, r2, #4 80a31a6: 1ad3 subs r3, r2, r3 80a31a8: 005b lsls r3, r3, #1 80a31aa: b29b uxth r3, r3 80a31ac: 335f adds r3, #95 ; 0x5f 80a31ae: b29b uxth r3, r3 80a31b0: 226e movs r2, #110 ; 0x6e 80a31b2: 4619 mov r1, r3 80a31b4: 483a ldr r0, [pc, #232] ; (80a32a0 ) 80a31b6: f7b2 f91f bl 80553f8 for(i = t; i < 5; i++) 80a31ba: 6d7b ldr r3, [r7, #84] ; 0x54 80a31bc: 65fb str r3, [r7, #92] ; 0x5c 80a31be: e01f b.n 80a3200 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a31c0: 6d3a ldr r2, [r7, #80] ; 0x50 80a31c2: 6df9 ldr r1, [r7, #92] ; 0x5c 80a31c4: 4613 mov r3, r2 80a31c6: 009b lsls r3, r3, #2 80a31c8: 4413 add r3, r2 80a31ca: f107 0268 add.w r2, r7, #104 ; 0x68 80a31ce: 4413 add r3, r2 80a31d0: 440b add r3, r1 80a31d2: 3b34 subs r3, #52 ; 0x34 80a31d4: 781b ldrb r3, [r3, #0] 80a31d6: b2db uxtb r3, r3 80a31d8: 461a mov r2, r3 80a31da: 4b30 ldr r3, [pc, #192] ; (80a329c ) 80a31dc: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a31e0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a31e2: b29b uxth r3, r3 80a31e4: 461a mov r2, r3 80a31e6: 0112 lsls r2, r2, #4 80a31e8: 1ad3 subs r3, r2, r3 80a31ea: 005b lsls r3, r3, #1 80a31ec: b29b uxth r3, r3 80a31ee: 336e adds r3, #110 ; 0x6e 80a31f0: b29b uxth r3, r3 80a31f2: 2256 movs r2, #86 ; 0x56 80a31f4: 4619 mov r1, r3 80a31f6: f7b2 f8ff bl 80553f8 for(i = t; i < 5; i++) 80a31fa: 6dfb ldr r3, [r7, #92] ; 0x5c 80a31fc: 3301 adds r3, #1 80a31fe: 65fb str r3, [r7, #92] ; 0x5c 80a3200: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3202: 2b04 cmp r3, #4 80a3204: d9dc bls.n 80a31c0 if(pardata.IVS[ACC] < PEAK_FACTOR) 80a3206: 4b27 ldr r3, [pc, #156] ; (80a32a4 ) 80a3208: 789b ldrb r3, [r3, #2] 80a320a: b2db uxtb r3, r3 80a320c: 2b02 cmp r3, #2 80a320e: d81f bhi.n 80a3250 if(pardata.IIN != VOLTS) 80a3210: 4b24 ldr r3, [pc, #144] ; (80a32a4 ) 80a3212: 799b ldrb r3, [r3, #6] 80a3214: b2db uxtb r3, r3 80a3216: 2b02 cmp r3, #2 80a3218: d00d beq.n 80a3236 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a321a: 4b22 ldr r3, [pc, #136] ; (80a32a4 ) 80a321c: 7b1b ldrb r3, [r3, #12] 80a321e: b2db uxtb r3, r3 80a3220: 461a mov r2, r3 80a3222: 4b21 ldr r3, [pc, #132] ; (80a32a8 ) 80a3224: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3228: 225c movs r2, #92 ; 0x5c 80a322a: f240 1109 movw r1, #265 ; 0x109 80a322e: 4618 mov r0, r3 80a3230: f7b2 f8e2 bl 80553f8 80a3234: e00c b.n 80a3250 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 80a3236: 4b1b ldr r3, [pc, #108] ; (80a32a4 ) 80a3238: 7b1b ldrb r3, [r3, #12] 80a323a: b2db uxtb r3, r3 80a323c: 461a mov r2, r3 80a323e: 4b1b ldr r3, [pc, #108] ; (80a32ac ) 80a3240: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3244: 225c movs r2, #92 ; 0x5c 80a3246: f240 1109 movw r1, #265 ; 0x109 80a324a: 4618 mov r0, r3 80a324c: f7b2 f8d4 bl 80553f8 if(pardata.IVS[ipr] == EXCESS) 80a3250: 6d3b ldr r3, [r7, #80] ; 0x50 80a3252: 4a14 ldr r2, [pc, #80] ; (80a32a4 ) 80a3254: 4413 add r3, r2 80a3256: 789b ldrb r3, [r3, #2] 80a3258: b2db uxtb r3, r3 80a325a: 2b04 cmp r3, #4 80a325c: f040 8225 bne.w 80a36aa if(skz[ipr] < 0.0f) { 80a3260: 6d3b ldr r3, [r7, #80] ; 0x50 80a3262: 4a0d ldr r2, [pc, #52] ; (80a3298 ) 80a3264: 009b lsls r3, r3, #2 80a3266: 4413 add r3, r2 80a3268: edd3 7a00 vldr s15, [r3] 80a326c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3270: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3274: f140 8219 bpl.w 80a36aa DrawImage(&bmgminus, 78, 84+18); 80a3278: 2266 movs r2, #102 ; 0x66 80a327a: 214e movs r1, #78 ; 0x4e 80a327c: 480c ldr r0, [pc, #48] ; (80a32b0 ) 80a327e: f7b2 f8bb bl 80553f8 80a3282: e212 b.n 80a36aa 80a3284: 47c34f80 .word 0x47c34f80 80a3288: d1b71759 .word 0xd1b71759 80a328c: 10624dd3 .word 0x10624dd3 80a3290: 51eb851f .word 0x51eb851f 80a3294: cccccccd .word 0xcccccccd 80a3298: 20021588 .word 0x20021588 80a329c: 20020124 .word 0x20020124 80a32a0: 0816be20 .word 0x0816be20 80a32a4: 20023ea8 .word 0x20023ea8 80a32a8: 200200f4 .word 0x200200f4 80a32ac: 20020114 .word 0x20020114 80a32b0: 0816bd94 .word 0x0816bd94 if(ipr == VEL) 80a32b4: 6d3b ldr r3, [r7, #80] ; 0x50 80a32b6: 2b01 cmp r3, #1 80a32b8: f040 80c4 bne.w 80a3444 if(!t) 80a32bc: 6d7b ldr r3, [r7, #84] ; 0x54 80a32be: 2b00 cmp r3, #0 80a32c0: d126 bne.n 80a3310 for(i = 0; i < 5; i++) 80a32c2: 2300 movs r3, #0 80a32c4: 65fb str r3, [r7, #92] ; 0x5c 80a32c6: e01f b.n 80a3308 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a32c8: 6d3a ldr r2, [r7, #80] ; 0x50 80a32ca: 6df9 ldr r1, [r7, #92] ; 0x5c 80a32cc: 4613 mov r3, r2 80a32ce: 009b lsls r3, r3, #2 80a32d0: 4413 add r3, r2 80a32d2: f107 0268 add.w r2, r7, #104 ; 0x68 80a32d6: 4413 add r3, r2 80a32d8: 440b add r3, r1 80a32da: 3b34 subs r3, #52 ; 0x34 80a32dc: 781b ldrb r3, [r3, #0] 80a32de: b2db uxtb r3, r3 80a32e0: 461a mov r2, r3 80a32e2: 4bb1 ldr r3, [pc, #708] ; (80a35a8 ) 80a32e4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a32e8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a32ea: b29b uxth r3, r3 80a32ec: 461a mov r2, r3 80a32ee: 0112 lsls r2, r2, #4 80a32f0: 1ad3 subs r3, r2, r3 80a32f2: 005b lsls r3, r3, #1 80a32f4: b29b uxth r3, r3 80a32f6: 335a adds r3, #90 ; 0x5a 80a32f8: b29b uxth r3, r3 80a32fa: 2282 movs r2, #130 ; 0x82 80a32fc: 4619 mov r1, r3 80a32fe: f7b2 f87b bl 80553f8 for(i = 0; i < 5; i++) 80a3302: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3304: 3301 adds r3, #1 80a3306: 65fb str r3, [r7, #92] ; 0x5c 80a3308: 6dfb ldr r3, [r7, #92] ; 0x5c 80a330a: 2b04 cmp r3, #4 80a330c: d9dc bls.n 80a32c8 80a330e: e05a b.n 80a33c6 for(i = 0; i < t; i++) 80a3310: 2300 movs r3, #0 80a3312: 65fb str r3, [r7, #92] ; 0x5c 80a3314: e01f b.n 80a3356 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a3316: 6d3a ldr r2, [r7, #80] ; 0x50 80a3318: 6df9 ldr r1, [r7, #92] ; 0x5c 80a331a: 4613 mov r3, r2 80a331c: 009b lsls r3, r3, #2 80a331e: 4413 add r3, r2 80a3320: f107 0268 add.w r2, r7, #104 ; 0x68 80a3324: 4413 add r3, r2 80a3326: 440b add r3, r1 80a3328: 3b34 subs r3, #52 ; 0x34 80a332a: 781b ldrb r3, [r3, #0] 80a332c: b2db uxtb r3, r3 80a332e: 461a mov r2, r3 80a3330: 4b9d ldr r3, [pc, #628] ; (80a35a8 ) 80a3332: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3336: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3338: b29b uxth r3, r3 80a333a: 461a mov r2, r3 80a333c: 0112 lsls r2, r2, #4 80a333e: 1ad3 subs r3, r2, r3 80a3340: 005b lsls r3, r3, #1 80a3342: b29b uxth r3, r3 80a3344: 335a adds r3, #90 ; 0x5a 80a3346: b29b uxth r3, r3 80a3348: 2282 movs r2, #130 ; 0x82 80a334a: 4619 mov r1, r3 80a334c: f7b2 f854 bl 80553f8 for(i = 0; i < t; i++) 80a3350: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3352: 3301 adds r3, #1 80a3354: 65fb str r3, [r7, #92] ; 0x5c 80a3356: 6dfa ldr r2, [r7, #92] ; 0x5c 80a3358: 6d7b ldr r3, [r7, #84] ; 0x54 80a335a: 429a cmp r2, r3 80a335c: d3db bcc.n 80a3316 DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a335e: 6d7b ldr r3, [r7, #84] ; 0x54 80a3360: b29b uxth r3, r3 80a3362: 461a mov r2, r3 80a3364: 0112 lsls r2, r2, #4 80a3366: 1ad3 subs r3, r2, r3 80a3368: 005b lsls r3, r3, #1 80a336a: b29b uxth r3, r3 80a336c: 335f adds r3, #95 ; 0x5f 80a336e: b29b uxth r3, r3 80a3370: 229a movs r2, #154 ; 0x9a 80a3372: 4619 mov r1, r3 80a3374: 488d ldr r0, [pc, #564] ; (80a35ac ) 80a3376: f7b2 f83f bl 80553f8 for(i = t; i < 5; i++) 80a337a: 6d7b ldr r3, [r7, #84] ; 0x54 80a337c: 65fb str r3, [r7, #92] ; 0x5c 80a337e: e01f b.n 80a33c0 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a3380: 6d3a ldr r2, [r7, #80] ; 0x50 80a3382: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3384: 4613 mov r3, r2 80a3386: 009b lsls r3, r3, #2 80a3388: 4413 add r3, r2 80a338a: f107 0268 add.w r2, r7, #104 ; 0x68 80a338e: 4413 add r3, r2 80a3390: 440b add r3, r1 80a3392: 3b34 subs r3, #52 ; 0x34 80a3394: 781b ldrb r3, [r3, #0] 80a3396: b2db uxtb r3, r3 80a3398: 461a mov r2, r3 80a339a: 4b83 ldr r3, [pc, #524] ; (80a35a8 ) 80a339c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a33a0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a33a2: b29b uxth r3, r3 80a33a4: 461a mov r2, r3 80a33a6: 0112 lsls r2, r2, #4 80a33a8: 1ad3 subs r3, r2, r3 80a33aa: 005b lsls r3, r3, #1 80a33ac: b29b uxth r3, r3 80a33ae: 336e adds r3, #110 ; 0x6e 80a33b0: b29b uxth r3, r3 80a33b2: 2282 movs r2, #130 ; 0x82 80a33b4: 4619 mov r1, r3 80a33b6: f7b2 f81f bl 80553f8 for(i = t; i < 5; i++) 80a33ba: 6dfb ldr r3, [r7, #92] ; 0x5c 80a33bc: 3301 adds r3, #1 80a33be: 65fb str r3, [r7, #92] ; 0x5c 80a33c0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a33c2: 2b04 cmp r3, #4 80a33c4: d9dc bls.n 80a3380 if(pardata.IVS[VEL] < PEAK_FACTOR) 80a33c6: 4b7a ldr r3, [pc, #488] ; (80a35b0 ) 80a33c8: 78db ldrb r3, [r3, #3] 80a33ca: b2db uxtb r3, r3 80a33cc: 2b02 cmp r3, #2 80a33ce: d81f bhi.n 80a3410 if(pardata.IIN != VOLTS) 80a33d0: 4b77 ldr r3, [pc, #476] ; (80a35b0 ) 80a33d2: 799b ldrb r3, [r3, #6] 80a33d4: b2db uxtb r3, r3 80a33d6: 2b02 cmp r3, #2 80a33d8: d00d beq.n 80a33f6 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a33da: 4b75 ldr r3, [pc, #468] ; (80a35b0 ) 80a33dc: 7b1b ldrb r3, [r3, #12] 80a33de: b2db uxtb r3, r3 80a33e0: 461a mov r2, r3 80a33e2: 4b74 ldr r3, [pc, #464] ; (80a35b4 ) 80a33e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a33e8: 2289 movs r2, #137 ; 0x89 80a33ea: f240 1109 movw r1, #265 ; 0x109 80a33ee: 4618 mov r0, r3 80a33f0: f7b2 f802 bl 80553f8 80a33f4: e00c b.n 80a3410 else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 80a33f6: 4b6e ldr r3, [pc, #440] ; (80a35b0 ) 80a33f8: 7b1b ldrb r3, [r3, #12] 80a33fa: b2db uxtb r3, r3 80a33fc: 461a mov r2, r3 80a33fe: 4b6e ldr r3, [pc, #440] ; (80a35b8 ) 80a3400: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3404: 2289 movs r2, #137 ; 0x89 80a3406: f240 1109 movw r1, #265 ; 0x109 80a340a: 4618 mov r0, r3 80a340c: f7b1 fff4 bl 80553f8 if(pardata.IVS[ipr] == EXCESS) 80a3410: 6d3b ldr r3, [r7, #80] ; 0x50 80a3412: 4a67 ldr r2, [pc, #412] ; (80a35b0 ) 80a3414: 4413 add r3, r2 80a3416: 789b ldrb r3, [r3, #2] 80a3418: b2db uxtb r3, r3 80a341a: 2b04 cmp r3, #4 80a341c: f040 8145 bne.w 80a36aa if(skz[ipr] < 0.0f) { 80a3420: 6d3b ldr r3, [r7, #80] ; 0x50 80a3422: 4a66 ldr r2, [pc, #408] ; (80a35bc ) 80a3424: 009b lsls r3, r3, #2 80a3426: 4413 add r3, r2 80a3428: edd3 7a00 vldr s15, [r3] 80a342c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3430: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3434: f140 8139 bpl.w 80a36aa DrawImage(&bmgminus, 78, 138+9); 80a3438: 2293 movs r2, #147 ; 0x93 80a343a: 214e movs r1, #78 ; 0x4e 80a343c: 4860 ldr r0, [pc, #384] ; (80a35c0 ) 80a343e: f7b1 ffdb bl 80553f8 80a3442: e132 b.n 80a36aa if(ipr == DIS) 80a3444: 6d3b ldr r3, [r7, #80] ; 0x50 80a3446: 2b02 cmp r3, #2 80a3448: f040 812f bne.w 80a36aa if(!t) 80a344c: 6d7b ldr r3, [r7, #84] ; 0x54 80a344e: 2b00 cmp r3, #0 80a3450: d126 bne.n 80a34a0 for(i = 0; i < 5; i++) 80a3452: 2300 movs r3, #0 80a3454: 65fb str r3, [r7, #92] ; 0x5c 80a3456: e01f b.n 80a3498 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a3458: 6d3a ldr r2, [r7, #80] ; 0x50 80a345a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a345c: 4613 mov r3, r2 80a345e: 009b lsls r3, r3, #2 80a3460: 4413 add r3, r2 80a3462: f107 0268 add.w r2, r7, #104 ; 0x68 80a3466: 4413 add r3, r2 80a3468: 440b add r3, r1 80a346a: 3b34 subs r3, #52 ; 0x34 80a346c: 781b ldrb r3, [r3, #0] 80a346e: b2db uxtb r3, r3 80a3470: 461a mov r2, r3 80a3472: 4b4d ldr r3, [pc, #308] ; (80a35a8 ) 80a3474: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3478: 6dfb ldr r3, [r7, #92] ; 0x5c 80a347a: b29b uxth r3, r3 80a347c: 461a mov r2, r3 80a347e: 0112 lsls r2, r2, #4 80a3480: 1ad3 subs r3, r2, r3 80a3482: 005b lsls r3, r3, #1 80a3484: b29b uxth r3, r3 80a3486: 335a adds r3, #90 ; 0x5a 80a3488: b29b uxth r3, r3 80a348a: 22ae movs r2, #174 ; 0xae 80a348c: 4619 mov r1, r3 80a348e: f7b1 ffb3 bl 80553f8 for(i = 0; i < 5; i++) 80a3492: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3494: 3301 adds r3, #1 80a3496: 65fb str r3, [r7, #92] ; 0x5c 80a3498: 6dfb ldr r3, [r7, #92] ; 0x5c 80a349a: 2b04 cmp r3, #4 80a349c: d9dc bls.n 80a3458 80a349e: e05a b.n 80a3556 for(i = 0; i < t; i++) 80a34a0: 2300 movs r3, #0 80a34a2: 65fb str r3, [r7, #92] ; 0x5c 80a34a4: e01f b.n 80a34e6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a34a6: 6d3a ldr r2, [r7, #80] ; 0x50 80a34a8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a34aa: 4613 mov r3, r2 80a34ac: 009b lsls r3, r3, #2 80a34ae: 4413 add r3, r2 80a34b0: f107 0268 add.w r2, r7, #104 ; 0x68 80a34b4: 4413 add r3, r2 80a34b6: 440b add r3, r1 80a34b8: 3b34 subs r3, #52 ; 0x34 80a34ba: 781b ldrb r3, [r3, #0] 80a34bc: b2db uxtb r3, r3 80a34be: 461a mov r2, r3 80a34c0: 4b39 ldr r3, [pc, #228] ; (80a35a8 ) 80a34c2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a34c6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a34c8: b29b uxth r3, r3 80a34ca: 461a mov r2, r3 80a34cc: 0112 lsls r2, r2, #4 80a34ce: 1ad3 subs r3, r2, r3 80a34d0: 005b lsls r3, r3, #1 80a34d2: b29b uxth r3, r3 80a34d4: 335a adds r3, #90 ; 0x5a 80a34d6: b29b uxth r3, r3 80a34d8: 22ae movs r2, #174 ; 0xae 80a34da: 4619 mov r1, r3 80a34dc: f7b1 ff8c bl 80553f8 for(i = 0; i < t; i++) 80a34e0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a34e2: 3301 adds r3, #1 80a34e4: 65fb str r3, [r7, #92] ; 0x5c 80a34e6: 6dfa ldr r2, [r7, #92] ; 0x5c 80a34e8: 6d7b ldr r3, [r7, #84] ; 0x54 80a34ea: 429a cmp r2, r3 80a34ec: d3db bcc.n 80a34a6 DrawImage(&bmgpt, 95 + 30*t, 198); 80a34ee: 6d7b ldr r3, [r7, #84] ; 0x54 80a34f0: b29b uxth r3, r3 80a34f2: 461a mov r2, r3 80a34f4: 0112 lsls r2, r2, #4 80a34f6: 1ad3 subs r3, r2, r3 80a34f8: 005b lsls r3, r3, #1 80a34fa: b29b uxth r3, r3 80a34fc: 335f adds r3, #95 ; 0x5f 80a34fe: b29b uxth r3, r3 80a3500: 22c6 movs r2, #198 ; 0xc6 80a3502: 4619 mov r1, r3 80a3504: 4829 ldr r0, [pc, #164] ; (80a35ac ) 80a3506: f7b1 ff77 bl 80553f8 for(i = t; i < 5; i++) 80a350a: 6d7b ldr r3, [r7, #84] ; 0x54 80a350c: 65fb str r3, [r7, #92] ; 0x5c 80a350e: e01f b.n 80a3550 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a3510: 6d3a ldr r2, [r7, #80] ; 0x50 80a3512: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3514: 4613 mov r3, r2 80a3516: 009b lsls r3, r3, #2 80a3518: 4413 add r3, r2 80a351a: f107 0268 add.w r2, r7, #104 ; 0x68 80a351e: 4413 add r3, r2 80a3520: 440b add r3, r1 80a3522: 3b34 subs r3, #52 ; 0x34 80a3524: 781b ldrb r3, [r3, #0] 80a3526: b2db uxtb r3, r3 80a3528: 461a mov r2, r3 80a352a: 4b1f ldr r3, [pc, #124] ; (80a35a8 ) 80a352c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3530: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3532: b29b uxth r3, r3 80a3534: 461a mov r2, r3 80a3536: 0112 lsls r2, r2, #4 80a3538: 1ad3 subs r3, r2, r3 80a353a: 005b lsls r3, r3, #1 80a353c: b29b uxth r3, r3 80a353e: 336e adds r3, #110 ; 0x6e 80a3540: b29b uxth r3, r3 80a3542: 22ae movs r2, #174 ; 0xae 80a3544: 4619 mov r1, r3 80a3546: f7b1 ff57 bl 80553f8 for(i = t; i < 5; i++) 80a354a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a354c: 3301 adds r3, #1 80a354e: 65fb str r3, [r7, #92] ; 0x5c 80a3550: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3552: 2b04 cmp r3, #4 80a3554: d9dc bls.n 80a3510 if(pardata.IVS[DIS] < PEAK_FACTOR) 80a3556: 4b16 ldr r3, [pc, #88] ; (80a35b0 ) 80a3558: 791b ldrb r3, [r3, #4] 80a355a: b2db uxtb r3, r3 80a355c: 2b02 cmp r3, #2 80a355e: d853 bhi.n 80a3608 if(pardata.IIN != VOLTS) 80a3560: 4b13 ldr r3, [pc, #76] ; (80a35b0 ) 80a3562: 799b ldrb r3, [r3, #6] 80a3564: b2db uxtb r3, r3 80a3566: 2b02 cmp r3, #2 80a3568: d030 beq.n 80a35cc if(m == 0) 80a356a: 6cfb ldr r3, [r7, #76] ; 0x4c 80a356c: 2b00 cmp r3, #0 80a356e: d10d bne.n 80a358c DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a3570: 4b0f ldr r3, [pc, #60] ; (80a35b0 ) 80a3572: 7b1b ldrb r3, [r3, #12] 80a3574: b2db uxtb r3, r3 80a3576: 461a mov r2, r3 80a3578: 4b12 ldr r3, [pc, #72] ; (80a35c4 ) 80a357a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a357e: 22b4 movs r2, #180 ; 0xb4 80a3580: f240 1109 movw r1, #265 ; 0x109 80a3584: 4618 mov r0, r3 80a3586: f7b1 ff37 bl 80553f8 80a358a: e03d b.n 80a3608 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a358c: 4b08 ldr r3, [pc, #32] ; (80a35b0 ) 80a358e: 7b1b ldrb r3, [r3, #12] 80a3590: b2db uxtb r3, r3 80a3592: 461a mov r2, r3 80a3594: 4b0c ldr r3, [pc, #48] ; (80a35c8 ) 80a3596: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a359a: 22b4 movs r2, #180 ; 0xb4 80a359c: f240 1109 movw r1, #265 ; 0x109 80a35a0: 4618 mov r0, r3 80a35a2: f7b1 ff29 bl 80553f8 80a35a6: e02f b.n 80a3608 80a35a8: 20020124 .word 0x20020124 80a35ac: 0816be20 .word 0x0816be20 80a35b0: 20023ea8 .word 0x20023ea8 80a35b4: 200200fc .word 0x200200fc 80a35b8: 20020114 .word 0x20020114 80a35bc: 20021588 .word 0x20021588 80a35c0: 0816bd94 .word 0x0816bd94 80a35c4: 20020104 .word 0x20020104 80a35c8: 2002010c .word 0x2002010c if(m == 0) 80a35cc: 6cfb ldr r3, [r7, #76] ; 0x4c 80a35ce: 2b00 cmp r3, #0 80a35d0: d10d bne.n 80a35ee DrawImage(BMG_MV[pardata.LANG], 265, 180); 80a35d2: 4bca ldr r3, [pc, #808] ; (80a38fc ) 80a35d4: 7b1b ldrb r3, [r3, #12] 80a35d6: b2db uxtb r3, r3 80a35d8: 461a mov r2, r3 80a35da: 4bc9 ldr r3, [pc, #804] ; (80a3900 ) 80a35dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a35e0: 22b4 movs r2, #180 ; 0xb4 80a35e2: f240 1109 movw r1, #265 ; 0x109 80a35e6: 4618 mov r0, r3 80a35e8: f7b1 ff06 bl 80553f8 80a35ec: e00c b.n 80a3608 else DrawImage(BMG_V[pardata.LANG], 265, 180); 80a35ee: 4bc3 ldr r3, [pc, #780] ; (80a38fc ) 80a35f0: 7b1b ldrb r3, [r3, #12] 80a35f2: b2db uxtb r3, r3 80a35f4: 461a mov r2, r3 80a35f6: 4bc3 ldr r3, [pc, #780] ; (80a3904 ) 80a35f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a35fc: 22b4 movs r2, #180 ; 0xb4 80a35fe: f240 1109 movw r1, #265 ; 0x109 80a3602: 4618 mov r0, r3 80a3604: f7b1 fef8 bl 80553f8 if(pardata.IVS[ipr] == EXCESS) 80a3608: 6d3b ldr r3, [r7, #80] ; 0x50 80a360a: 4abc ldr r2, [pc, #752] ; (80a38fc ) 80a360c: 4413 add r3, r2 80a360e: 789b ldrb r3, [r3, #2] 80a3610: b2db uxtb r3, r3 80a3612: 2b04 cmp r3, #4 80a3614: d149 bne.n 80a36aa if(skz[ipr] < 0.0f) { 80a3616: 6d3b ldr r3, [r7, #80] ; 0x50 80a3618: 4abb ldr r2, [pc, #748] ; (80a3908 ) 80a361a: 009b lsls r3, r3, #2 80a361c: 4413 add r3, r2 80a361e: edd3 7a00 vldr s15, [r3] 80a3622: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3626: eef1 fa10 vmrs APSR_nzcv, fpscr 80a362a: d53e bpl.n 80a36aa DrawImage(&bmgminus, 78, 190); 80a362c: 22be movs r2, #190 ; 0xbe 80a362e: 214e movs r1, #78 ; 0x4e 80a3630: 48b6 ldr r0, [pc, #728] ; (80a390c ) 80a3632: f7b1 fee1 bl 80553f8 80a3636: e038 b.n 80a36aa if(skz[ACC] != -1.0f) 80a3638: 4bb3 ldr r3, [pc, #716] ; (80a3908 ) 80a363a: edd3 7a00 vldr s15, [r3] 80a363e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a3642: eef4 7a47 vcmp.f32 s15, s14 80a3646: eef1 fa10 vmrs APSR_nzcv, fpscr 80a364a: d02e beq.n 80a36aa if(ipr == VEL) 80a364c: 6d3b ldr r3, [r7, #80] ; 0x50 80a364e: 2b01 cmp r3, #1 80a3650: d114 bne.n 80a367c LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a3652: 49af ldr r1, [pc, #700] ; (80a3910 ) 80a3654: 48af ldr r0, [pc, #700] ; (80a3914 ) 80a3656: f7b0 ffdb bl 8054610 if(pardata.LANG == RUS) 80a365a: 4ba8 ldr r3, [pc, #672] ; (80a38fc ) 80a365c: 7b1b ldrb r3, [r3, #12] 80a365e: b2db uxtb r3, r3 80a3660: 2b00 cmp r3, #0 80a3662: d105 bne.n 80a3670 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a3664: 4aac ldr r2, [pc, #688] ; (80a3918 ) 80a3666: 2187 movs r1, #135 ; 0x87 80a3668: 20a7 movs r0, #167 ; 0xa7 80a366a: f7b1 fd91 bl 8055190 80a366e: e01c b.n 80a36aa else LCD_DisplayStringC(167, 135, "NO DATA"); 80a3670: 4aaa ldr r2, [pc, #680] ; (80a391c ) 80a3672: 2187 movs r1, #135 ; 0x87 80a3674: 20a7 movs r0, #167 ; 0xa7 80a3676: f7b1 fd8b bl 8055190 80a367a: e016 b.n 80a36aa if(ipr == DIS) 80a367c: 6d3b ldr r3, [r7, #80] ; 0x50 80a367e: 2b02 cmp r3, #2 80a3680: d113 bne.n 80a36aa LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a3682: 49a3 ldr r1, [pc, #652] ; (80a3910 ) 80a3684: 48a3 ldr r0, [pc, #652] ; (80a3914 ) 80a3686: f7b0 ffc3 bl 8054610 if(pardata.LANG == RUS) 80a368a: 4b9c ldr r3, [pc, #624] ; (80a38fc ) 80a368c: 7b1b ldrb r3, [r3, #12] 80a368e: b2db uxtb r3, r3 80a3690: 2b00 cmp r3, #0 80a3692: d105 bne.n 80a36a0 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a3694: 4aa0 ldr r2, [pc, #640] ; (80a3918 ) 80a3696: 21b9 movs r1, #185 ; 0xb9 80a3698: 20a7 movs r0, #167 ; 0xa7 80a369a: f7b1 fd79 bl 8055190 80a369e: e004 b.n 80a36aa else LCD_DisplayStringC(167, 185, "NO DATA"); 80a36a0: 4a9e ldr r2, [pc, #632] ; (80a391c ) 80a36a2: 21b9 movs r1, #185 ; 0xb9 80a36a4: 20a7 movs r0, #167 ; 0xa7 80a36a6: f7b1 fd73 bl 8055190 for(ipr = ACC; ipr <= DIS; ipr++) 80a36aa: 6d3b ldr r3, [r7, #80] ; 0x50 80a36ac: 3301 adds r3, #1 80a36ae: 653b str r3, [r7, #80] ; 0x50 80a36b0: 6d3b ldr r3, [r7, #80] ; 0x50 80a36b2: 2b02 cmp r3, #2 80a36b4: f67f aa2f bls.w 80a2b16 break; 80a36b8: f001 b9fe b.w 80a4ab8 for(ipr = ACC; ipr <= DIS; ipr++) 80a36bc: 2300 movs r3, #0 80a36be: 653b str r3, [r7, #80] ; 0x50 80a36c0: f001 b9f0 b.w 80a4aa4 if(pardata.IVS[ipr] >= PEAK_FACTOR) 80a36c4: 6d3b ldr r3, [r7, #80] ; 0x50 80a36c6: 4a8d ldr r2, [pc, #564] ; (80a38fc ) 80a36c8: 4413 add r3, r2 80a36ca: 789b ldrb r3, [r3, #2] 80a36cc: b2db uxtb r3, r3 80a36ce: 2b02 cmp r3, #2 80a36d0: f240 85a9 bls.w 80a4226 memset(str, 0, sizeof(str)); 80a36d4: f107 030c add.w r3, r7, #12 80a36d8: 2228 movs r2, #40 ; 0x28 80a36da: 2100 movs r1, #0 80a36dc: 4618 mov r0, r3 80a36de: f02d fe5f bl 80d13a0 f = ABS(skz[ipr]); 80a36e2: 6d3b ldr r3, [r7, #80] ; 0x50 80a36e4: 4a88 ldr r2, [pc, #544] ; (80a3908 ) 80a36e6: 009b lsls r3, r3, #2 80a36e8: 4413 add r3, r2 80a36ea: edd3 7a00 vldr s15, [r3] 80a36ee: eef5 7ac0 vcmpe.f32 s15, #0.0 80a36f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a36f6: dd06 ble.n 80a3706 80a36f8: 6d3b ldr r3, [r7, #80] ; 0x50 80a36fa: 4a83 ldr r2, [pc, #524] ; (80a3908 ) 80a36fc: 009b lsls r3, r3, #2 80a36fe: 4413 add r3, r2 80a3700: edd3 7a00 vldr s15, [r3] 80a3704: e007 b.n 80a3716 80a3706: 6d3b ldr r3, [r7, #80] ; 0x50 80a3708: 4a7f ldr r2, [pc, #508] ; (80a3908 ) 80a370a: 009b lsls r3, r3, #2 80a370c: 4413 add r3, r2 80a370e: edd3 7a00 vldr s15, [r3] 80a3712: eef1 7a67 vneg.f32 s15, s15 80a3716: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 80a371a: 6d3b ldr r3, [r7, #80] ; 0x50 80a371c: 2b01 cmp r3, #1 80a371e: f200 80af bhi.w 80a3880 if(f < 10.0f) 80a3722: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3726: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a372a: eef4 7ac7 vcmpe.f32 s15, s14 80a372e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3732: d513 bpl.n 80a375c k = (uint32_t) (roundf(f * 10000)); 80a3734: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3738: ed9f 7a7d vldr s14, [pc, #500] ; 80a3930 80a373c: ee67 7a87 vmul.f32 s15, s15, s14 80a3740: eeb0 0a67 vmov.f32 s0, s15 80a3744: f02b fc2e bl 80cefa4 80a3748: eef0 7a40 vmov.f32 s15, s0 80a374c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3750: ee17 3a90 vmov r3, s15 80a3754: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a3756: 2301 movs r3, #1 80a3758: 657b str r3, [r7, #84] ; 0x54 80a375a: e1d1 b.n 80a3b00 if(f < 100.0f) 80a375c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3760: ed9f 7a72 vldr s14, [pc, #456] ; 80a392c 80a3764: eef4 7ac7 vcmpe.f32 s15, s14 80a3768: eef1 fa10 vmrs APSR_nzcv, fpscr 80a376c: d513 bpl.n 80a3796 k = (uint32_t) (roundf(f * 1000)); 80a376e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3772: ed9f 7a6d vldr s14, [pc, #436] ; 80a3928 80a3776: ee67 7a87 vmul.f32 s15, s15, s14 80a377a: eeb0 0a67 vmov.f32 s0, s15 80a377e: f02b fc11 bl 80cefa4 80a3782: eef0 7a40 vmov.f32 s15, s0 80a3786: eefc 7ae7 vcvt.u32.f32 s15, s15 80a378a: ee17 3a90 vmov r3, s15 80a378e: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a3790: 2302 movs r3, #2 80a3792: 657b str r3, [r7, #84] ; 0x54 80a3794: e1b4 b.n 80a3b00 if(f < 1000.0f) 80a3796: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a379a: ed9f 7a63 vldr s14, [pc, #396] ; 80a3928 80a379e: eef4 7ac7 vcmpe.f32 s15, s14 80a37a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a37a6: d513 bpl.n 80a37d0 k = (uint32_t) (roundf(f * 100)); 80a37a8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a37ac: ed9f 7a5f vldr s14, [pc, #380] ; 80a392c 80a37b0: ee67 7a87 vmul.f32 s15, s15, s14 80a37b4: eeb0 0a67 vmov.f32 s0, s15 80a37b8: f02b fbf4 bl 80cefa4 80a37bc: eef0 7a40 vmov.f32 s15, s0 80a37c0: eefc 7ae7 vcvt.u32.f32 s15, s15 80a37c4: ee17 3a90 vmov r3, s15 80a37c8: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a37ca: 2303 movs r3, #3 80a37cc: 657b str r3, [r7, #84] ; 0x54 80a37ce: e197 b.n 80a3b00 if(f < 10000.0f) 80a37d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a37d4: ed9f 7a56 vldr s14, [pc, #344] ; 80a3930 80a37d8: eef4 7ac7 vcmpe.f32 s15, s14 80a37dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a37e0: d513 bpl.n 80a380a k = (uint32_t) (roundf(f * 10)); 80a37e2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a37e6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a37ea: ee67 7a87 vmul.f32 s15, s15, s14 80a37ee: eeb0 0a67 vmov.f32 s0, s15 80a37f2: f02b fbd7 bl 80cefa4 80a37f6: eef0 7a40 vmov.f32 s15, s0 80a37fa: eefc 7ae7 vcvt.u32.f32 s15, s15 80a37fe: ee17 3a90 vmov r3, s15 80a3802: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a3804: 2304 movs r3, #4 80a3806: 657b str r3, [r7, #84] ; 0x54 80a3808: e17a b.n 80a3b00 if(f < 100000.0f) 80a380a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a380e: ed9f 7a49 vldr s14, [pc, #292] ; 80a3934 80a3812: eef4 7ac7 vcmpe.f32 s15, s14 80a3816: eef1 fa10 vmrs APSR_nzcv, fpscr 80a381a: d515 bpl.n 80a3848 k = (uint32_t) (roundf(f)); 80a381c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3820: eeb0 0a67 vmov.f32 s0, s15 80a3824: f02b fbbe bl 80cefa4 80a3828: eef0 7a40 vmov.f32 s15, s0 80a382c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3830: ee17 3a90 vmov r3, s15 80a3834: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a3836: 6dbb ldr r3, [r7, #88] ; 0x58 80a3838: 4a39 ldr r2, [pc, #228] ; (80a3920 ) 80a383a: 4293 cmp r3, r2 80a383c: d901 bls.n 80a3842 k = 99999; 80a383e: 4b38 ldr r3, [pc, #224] ; (80a3920 ) 80a3840: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a3842: 2300 movs r3, #0 80a3844: 657b str r3, [r7, #84] ; 0x54 80a3846: e15b b.n 80a3b00 if(f >= 100000.0f) 80a3848: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a384c: ed9f 7a39 vldr s14, [pc, #228] ; 80a3934 80a3850: eef4 7ac7 vcmpe.f32 s15, s14 80a3854: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3858: f2c0 8152 blt.w 80a3b00 f = 99999.0f; 80a385c: 4b31 ldr r3, [pc, #196] ; (80a3924 ) 80a385e: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a3860: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3864: eeb0 0a67 vmov.f32 s0, s15 80a3868: f02b fb9c bl 80cefa4 80a386c: eef0 7a40 vmov.f32 s15, s0 80a3870: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3874: ee17 3a90 vmov r3, s15 80a3878: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a387a: 2300 movs r3, #0 80a387c: 657b str r3, [r7, #84] ; 0x54 80a387e: e13f b.n 80a3b00 if(f < 10.0f) 80a3880: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3884: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a3888: eef4 7ac7 vcmpe.f32 s15, s14 80a388c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3890: d515 bpl.n 80a38be k = (uint32_t) (roundf(f * 10000)); 80a3892: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3896: ed9f 7a26 vldr s14, [pc, #152] ; 80a3930 80a389a: ee67 7a87 vmul.f32 s15, s15, s14 80a389e: eeb0 0a67 vmov.f32 s0, s15 80a38a2: f02b fb7f bl 80cefa4 80a38a6: eef0 7a40 vmov.f32 s15, s0 80a38aa: eefc 7ae7 vcvt.u32.f32 s15, s15 80a38ae: ee17 3a90 vmov r3, s15 80a38b2: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a38b4: 2301 movs r3, #1 80a38b6: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a38b8: 2300 movs r3, #0 80a38ba: 64fb str r3, [r7, #76] ; 0x4c 80a38bc: e120 b.n 80a3b00 if(f < 100.0f) 80a38be: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a38c2: ed9f 7a1a vldr s14, [pc, #104] ; 80a392c 80a38c6: eef4 7ac7 vcmpe.f32 s15, s14 80a38ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80a38ce: d53f bpl.n 80a3950 k = (uint32_t) (roundf(f * 1000)); 80a38d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a38d4: ed9f 7a14 vldr s14, [pc, #80] ; 80a3928 80a38d8: ee67 7a87 vmul.f32 s15, s15, s14 80a38dc: eeb0 0a67 vmov.f32 s0, s15 80a38e0: f02b fb60 bl 80cefa4 80a38e4: eef0 7a40 vmov.f32 s15, s0 80a38e8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a38ec: ee17 3a90 vmov r3, s15 80a38f0: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a38f2: 2302 movs r3, #2 80a38f4: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a38f6: 2300 movs r3, #0 80a38f8: 64fb str r3, [r7, #76] ; 0x4c 80a38fa: e101 b.n 80a3b00 80a38fc: 20023ea8 .word 0x20023ea8 80a3900: 20020114 .word 0x20020114 80a3904: 2002011c .word 0x2002011c 80a3908: 20021588 .word 0x20021588 80a390c: 0816bd94 .word 0x0816bd94 80a3910: ff0a0f1f .word 0xff0a0f1f 80a3914: ffb8e828 .word 0xffb8e828 80a3918: 080d3e64 .word 0x080d3e64 80a391c: 080d3e70 .word 0x080d3e70 80a3920: 0001869f .word 0x0001869f 80a3924: 47c34f80 .word 0x47c34f80 80a3928: 447a0000 .word 0x447a0000 80a392c: 42c80000 .word 0x42c80000 80a3930: 461c4000 .word 0x461c4000 80a3934: 47c35000 .word 0x47c35000 80a3938: 49742400 .word 0x49742400 80a393c: 3dcccccd .word 0x3dcccccd 80a3940: 4b189680 .word 0x4b189680 80a3944: 3c23d70a .word 0x3c23d70a 80a3948: 4cbebc20 .word 0x4cbebc20 80a394c: 3a83126f .word 0x3a83126f if(f < 1000.0f) 80a3950: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3954: ed1f 7a0c vldr s14, [pc, #-48] ; 80a3928 80a3958: eef4 7ac7 vcmpe.f32 s15, s14 80a395c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3960: d515 bpl.n 80a398e k = (uint32_t) (roundf(f * 100)); 80a3962: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3966: ed1f 7a0f vldr s14, [pc, #-60] ; 80a392c 80a396a: ee67 7a87 vmul.f32 s15, s15, s14 80a396e: eeb0 0a67 vmov.f32 s0, s15 80a3972: f02b fb17 bl 80cefa4 80a3976: eef0 7a40 vmov.f32 s15, s0 80a397a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a397e: ee17 3a90 vmov r3, s15 80a3982: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a3984: 2303 movs r3, #3 80a3986: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a3988: 2300 movs r3, #0 80a398a: 64fb str r3, [r7, #76] ; 0x4c 80a398c: e0b8 b.n 80a3b00 if(f < 10000.0f) 80a398e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3992: ed1f 7a19 vldr s14, [pc, #-100] ; 80a3930 80a3996: eef4 7ac7 vcmpe.f32 s15, s14 80a399a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a399e: d515 bpl.n 80a39cc k = (uint32_t) (roundf(f * 10)); 80a39a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a39a4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a39a8: ee67 7a87 vmul.f32 s15, s15, s14 80a39ac: eeb0 0a67 vmov.f32 s0, s15 80a39b0: f02b faf8 bl 80cefa4 80a39b4: eef0 7a40 vmov.f32 s15, s0 80a39b8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a39bc: ee17 3a90 vmov r3, s15 80a39c0: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a39c2: 2301 movs r3, #1 80a39c4: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a39c6: 2301 movs r3, #1 80a39c8: 64fb str r3, [r7, #76] ; 0x4c 80a39ca: e099 b.n 80a3b00 if(f < 100000.0f) 80a39cc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a39d0: ed1f 7a28 vldr s14, [pc, #-160] ; 80a3934 80a39d4: eef4 7ac7 vcmpe.f32 s15, s14 80a39d8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a39dc: d511 bpl.n 80a3a02 k = (uint32_t) (roundf(f)); 80a39de: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a39e2: eeb0 0a67 vmov.f32 s0, s15 80a39e6: f02b fadd bl 80cefa4 80a39ea: eef0 7a40 vmov.f32 s15, s0 80a39ee: eefc 7ae7 vcvt.u32.f32 s15, s15 80a39f2: ee17 3a90 vmov r3, s15 80a39f6: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a39f8: 2302 movs r3, #2 80a39fa: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a39fc: 2301 movs r3, #1 80a39fe: 64fb str r3, [r7, #76] ; 0x4c 80a3a00: e07e b.n 80a3b00 if(f < 1000000.0f) 80a3a02: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3a06: ed1f 7a34 vldr s14, [pc, #-208] ; 80a3938 80a3a0a: eef4 7ac7 vcmpe.f32 s15, s14 80a3a0e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3a12: d515 bpl.n 80a3a40 k = (uint32_t) (roundf(f * 0.1f)); 80a3a14: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3a18: ed1f 7a38 vldr s14, [pc, #-224] ; 80a393c 80a3a1c: ee67 7a87 vmul.f32 s15, s15, s14 80a3a20: eeb0 0a67 vmov.f32 s0, s15 80a3a24: f02b fabe bl 80cefa4 80a3a28: eef0 7a40 vmov.f32 s15, s0 80a3a2c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3a30: ee17 3a90 vmov r3, s15 80a3a34: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a3a36: 2303 movs r3, #3 80a3a38: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a3a3a: 2301 movs r3, #1 80a3a3c: 64fb str r3, [r7, #76] ; 0x4c 80a3a3e: e05f b.n 80a3b00 if(f < 10000000.0f) 80a3a40: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3a44: ed1f 7a42 vldr s14, [pc, #-264] ; 80a3940 80a3a48: eef4 7ac7 vcmpe.f32 s15, s14 80a3a4c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3a50: d515 bpl.n 80a3a7e k = (uint32_t) (roundf(f * 0.01f)); 80a3a52: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3a56: ed1f 7a45 vldr s14, [pc, #-276] ; 80a3944 80a3a5a: ee67 7a87 vmul.f32 s15, s15, s14 80a3a5e: eeb0 0a67 vmov.f32 s0, s15 80a3a62: f02b fa9f bl 80cefa4 80a3a66: eef0 7a40 vmov.f32 s15, s0 80a3a6a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3a6e: ee17 3a90 vmov r3, s15 80a3a72: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a3a74: 2304 movs r3, #4 80a3a76: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a3a78: 2301 movs r3, #1 80a3a7a: 64fb str r3, [r7, #76] ; 0x4c 80a3a7c: e040 b.n 80a3b00 if(f < 100000000.0f) 80a3a7e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3a82: ed1f 7a4f vldr s14, [pc, #-316] ; 80a3948 80a3a86: eef4 7ac7 vcmpe.f32 s15, s14 80a3a8a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3a8e: d51b bpl.n 80a3ac8 k = (uint32_t) (roundf(f * 0.001f)); 80a3a90: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3a94: ed1f 7a53 vldr s14, [pc, #-332] ; 80a394c 80a3a98: ee67 7a87 vmul.f32 s15, s15, s14 80a3a9c: eeb0 0a67 vmov.f32 s0, s15 80a3aa0: f02b fa80 bl 80cefa4 80a3aa4: eef0 7a40 vmov.f32 s15, s0 80a3aa8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3aac: ee17 3a90 vmov r3, s15 80a3ab0: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a3ab2: 6dbb ldr r3, [r7, #88] ; 0x58 80a3ab4: 4aba ldr r2, [pc, #744] ; (80a3da0 ) 80a3ab6: 4293 cmp r3, r2 80a3ab8: d901 bls.n 80a3abe k = 99999; 80a3aba: 4bb9 ldr r3, [pc, #740] ; (80a3da0 ) 80a3abc: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a3abe: 2300 movs r3, #0 80a3ac0: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a3ac2: 2301 movs r3, #1 80a3ac4: 64fb str r3, [r7, #76] ; 0x4c 80a3ac6: e01b b.n 80a3b00 if(f >= 100000000.0f) 80a3ac8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3acc: ed9f 7ab5 vldr s14, [pc, #724] ; 80a3da4 80a3ad0: eef4 7ac7 vcmpe.f32 s15, s14 80a3ad4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3ad8: db12 blt.n 80a3b00 f = 99999.0f; 80a3ada: 4bb3 ldr r3, [pc, #716] ; (80a3da8 ) 80a3adc: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a3ade: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3ae2: eeb0 0a67 vmov.f32 s0, s15 80a3ae6: f02b fa5d bl 80cefa4 80a3aea: eef0 7a40 vmov.f32 s15, s0 80a3aee: eefc 7ae7 vcvt.u32.f32 s15, s15 80a3af2: ee17 3a90 vmov r3, s15 80a3af6: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a3af8: 2300 movs r3, #0 80a3afa: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a3afc: 2301 movs r3, #1 80a3afe: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a3b00: 6d3a ldr r2, [r7, #80] ; 0x50 80a3b02: 6dbb ldr r3, [r7, #88] ; 0x58 80a3b04: 49a9 ldr r1, [pc, #676] ; (80a3dac ) 80a3b06: fba1 1303 umull r1, r3, r1, r3 80a3b0a: 0b5b lsrs r3, r3, #13 80a3b0c: b2d9 uxtb r1, r3 80a3b0e: 4613 mov r3, r2 80a3b10: 009b lsls r3, r3, #2 80a3b12: 4413 add r3, r2 80a3b14: f107 0268 add.w r2, r7, #104 ; 0x68 80a3b18: 4413 add r3, r2 80a3b1a: 3b34 subs r3, #52 ; 0x34 80a3b1c: 460a mov r2, r1 80a3b1e: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a3b20: 6d39 ldr r1, [r7, #80] ; 0x50 80a3b22: 6dba ldr r2, [r7, #88] ; 0x58 80a3b24: 4ba1 ldr r3, [pc, #644] ; (80a3dac ) 80a3b26: fba3 0302 umull r0, r3, r3, r2 80a3b2a: 0b5b lsrs r3, r3, #13 80a3b2c: f242 7010 movw r0, #10000 ; 0x2710 80a3b30: fb00 f303 mul.w r3, r0, r3 80a3b34: 1ad3 subs r3, r2, r3 80a3b36: 4a9e ldr r2, [pc, #632] ; (80a3db0 ) 80a3b38: fba2 2303 umull r2, r3, r2, r3 80a3b3c: 099b lsrs r3, r3, #6 80a3b3e: b2da uxtb r2, r3 80a3b40: 460b mov r3, r1 80a3b42: 009b lsls r3, r3, #2 80a3b44: 440b add r3, r1 80a3b46: f107 0168 add.w r1, r7, #104 ; 0x68 80a3b4a: 440b add r3, r1 80a3b4c: 3b33 subs r3, #51 ; 0x33 80a3b4e: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a3b50: 6d39 ldr r1, [r7, #80] ; 0x50 80a3b52: 6dba ldr r2, [r7, #88] ; 0x58 80a3b54: 4b95 ldr r3, [pc, #596] ; (80a3dac ) 80a3b56: fba3 0302 umull r0, r3, r3, r2 80a3b5a: 0b5b lsrs r3, r3, #13 80a3b5c: f242 7010 movw r0, #10000 ; 0x2710 80a3b60: fb00 f303 mul.w r3, r0, r3 80a3b64: 1ad3 subs r3, r2, r3 80a3b66: 4a92 ldr r2, [pc, #584] ; (80a3db0 ) 80a3b68: fba2 0203 umull r0, r2, r2, r3 80a3b6c: 0992 lsrs r2, r2, #6 80a3b6e: f44f 707a mov.w r0, #1000 ; 0x3e8 80a3b72: fb00 f202 mul.w r2, r0, r2 80a3b76: 1a9a subs r2, r3, r2 80a3b78: 4b8e ldr r3, [pc, #568] ; (80a3db4 ) 80a3b7a: fba3 2302 umull r2, r3, r3, r2 80a3b7e: 095b lsrs r3, r3, #5 80a3b80: b2da uxtb r2, r3 80a3b82: 460b mov r3, r1 80a3b84: 009b lsls r3, r3, #2 80a3b86: 440b add r3, r1 80a3b88: f107 0168 add.w r1, r7, #104 ; 0x68 80a3b8c: 440b add r3, r1 80a3b8e: 3b32 subs r3, #50 ; 0x32 80a3b90: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a3b92: 6d39 ldr r1, [r7, #80] ; 0x50 80a3b94: 6dbb ldr r3, [r7, #88] ; 0x58 80a3b96: 4a85 ldr r2, [pc, #532] ; (80a3dac ) 80a3b98: fba2 0203 umull r0, r2, r2, r3 80a3b9c: 0b52 lsrs r2, r2, #13 80a3b9e: f242 7010 movw r0, #10000 ; 0x2710 80a3ba2: fb00 f202 mul.w r2, r0, r2 80a3ba6: 1a9a subs r2, r3, r2 80a3ba8: 4b81 ldr r3, [pc, #516] ; (80a3db0 ) 80a3baa: fba3 0302 umull r0, r3, r3, r2 80a3bae: 099b lsrs r3, r3, #6 80a3bb0: f44f 707a mov.w r0, #1000 ; 0x3e8 80a3bb4: fb00 f303 mul.w r3, r0, r3 80a3bb8: 1ad3 subs r3, r2, r3 80a3bba: 4a7e ldr r2, [pc, #504] ; (80a3db4 ) 80a3bbc: fba2 0203 umull r0, r2, r2, r3 80a3bc0: 0952 lsrs r2, r2, #5 80a3bc2: 2064 movs r0, #100 ; 0x64 80a3bc4: fb00 f202 mul.w r2, r0, r2 80a3bc8: 1a9a subs r2, r3, r2 80a3bca: 4b7b ldr r3, [pc, #492] ; (80a3db8 ) 80a3bcc: fba3 2302 umull r2, r3, r3, r2 80a3bd0: 08db lsrs r3, r3, #3 80a3bd2: b2da uxtb r2, r3 80a3bd4: 460b mov r3, r1 80a3bd6: 009b lsls r3, r3, #2 80a3bd8: 440b add r3, r1 80a3bda: f107 0168 add.w r1, r7, #104 ; 0x68 80a3bde: 440b add r3, r1 80a3be0: 3b31 subs r3, #49 ; 0x31 80a3be2: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a3be4: 6d38 ldr r0, [r7, #80] ; 0x50 80a3be6: 6dbb ldr r3, [r7, #88] ; 0x58 80a3be8: 4a70 ldr r2, [pc, #448] ; (80a3dac ) 80a3bea: fba2 1203 umull r1, r2, r2, r3 80a3bee: 0b52 lsrs r2, r2, #13 80a3bf0: f242 7110 movw r1, #10000 ; 0x2710 80a3bf4: fb01 f202 mul.w r2, r1, r2 80a3bf8: 1a9a subs r2, r3, r2 80a3bfa: 4b6d ldr r3, [pc, #436] ; (80a3db0 ) 80a3bfc: fba3 1302 umull r1, r3, r3, r2 80a3c00: 099b lsrs r3, r3, #6 80a3c02: f44f 717a mov.w r1, #1000 ; 0x3e8 80a3c06: fb01 f303 mul.w r3, r1, r3 80a3c0a: 1ad3 subs r3, r2, r3 80a3c0c: 4a69 ldr r2, [pc, #420] ; (80a3db4 ) 80a3c0e: fba2 1203 umull r1, r2, r2, r3 80a3c12: 0952 lsrs r2, r2, #5 80a3c14: 2164 movs r1, #100 ; 0x64 80a3c16: fb01 f202 mul.w r2, r1, r2 80a3c1a: 1a9a subs r2, r3, r2 80a3c1c: 4b66 ldr r3, [pc, #408] ; (80a3db8 ) 80a3c1e: fba3 1302 umull r1, r3, r3, r2 80a3c22: 08d9 lsrs r1, r3, #3 80a3c24: 460b mov r3, r1 80a3c26: 009b lsls r3, r3, #2 80a3c28: 440b add r3, r1 80a3c2a: 005b lsls r3, r3, #1 80a3c2c: 1ad1 subs r1, r2, r3 80a3c2e: b2ca uxtb r2, r1 80a3c30: 4603 mov r3, r0 80a3c32: 009b lsls r3, r3, #2 80a3c34: 4403 add r3, r0 80a3c36: f107 0168 add.w r1, r7, #104 ; 0x68 80a3c3a: 440b add r3, r1 80a3c3c: 3b30 subs r3, #48 ; 0x30 80a3c3e: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 80a3c40: 6d3b ldr r3, [r7, #80] ; 0x50 80a3c42: 4a5e ldr r2, [pc, #376] ; (80a3dbc ) 80a3c44: 009b lsls r3, r3, #2 80a3c46: 4413 add r3, r2 80a3c48: edd3 7a00 vldr s15, [r3] 80a3c4c: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a3c50: eef4 7a47 vcmp.f32 s15, s14 80a3c54: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3c58: f000 82a5 beq.w 80a41a6 if(ipr == ACC) 80a3c5c: 6d3b ldr r3, [r7, #80] ; 0x50 80a3c5e: 2b00 cmp r3, #0 80a3c60: f040 80de bne.w 80a3e20 if(!t) 80a3c64: 6d7b ldr r3, [r7, #84] ; 0x54 80a3c66: 2b00 cmp r3, #0 80a3c68: d126 bne.n 80a3cb8 for(i = 0; i < 5; i++) 80a3c6a: 2300 movs r3, #0 80a3c6c: 65fb str r3, [r7, #92] ; 0x5c 80a3c6e: e01f b.n 80a3cb0 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a3c70: 6d3a ldr r2, [r7, #80] ; 0x50 80a3c72: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3c74: 4613 mov r3, r2 80a3c76: 009b lsls r3, r3, #2 80a3c78: 4413 add r3, r2 80a3c7a: f107 0268 add.w r2, r7, #104 ; 0x68 80a3c7e: 4413 add r3, r2 80a3c80: 440b add r3, r1 80a3c82: 3b34 subs r3, #52 ; 0x34 80a3c84: 781b ldrb r3, [r3, #0] 80a3c86: b2db uxtb r3, r3 80a3c88: 461a mov r2, r3 80a3c8a: 4b4d ldr r3, [pc, #308] ; (80a3dc0 ) 80a3c8c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3c90: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3c92: b29b uxth r3, r3 80a3c94: 461a mov r2, r3 80a3c96: 0112 lsls r2, r2, #4 80a3c98: 1ad3 subs r3, r2, r3 80a3c9a: 005b lsls r3, r3, #1 80a3c9c: b29b uxth r3, r3 80a3c9e: 335a adds r3, #90 ; 0x5a 80a3ca0: b29b uxth r3, r3 80a3ca2: 2256 movs r2, #86 ; 0x56 80a3ca4: 4619 mov r1, r3 80a3ca6: f7b1 fba7 bl 80553f8 for(i = 0; i < 5; i++) 80a3caa: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3cac: 3301 adds r3, #1 80a3cae: 65fb str r3, [r7, #92] ; 0x5c 80a3cb0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3cb2: 2b04 cmp r3, #4 80a3cb4: d9dc bls.n 80a3c70 80a3cb6: e05a b.n 80a3d6e for(i = 0; i < t; i++) 80a3cb8: 2300 movs r3, #0 80a3cba: 65fb str r3, [r7, #92] ; 0x5c 80a3cbc: e01f b.n 80a3cfe DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a3cbe: 6d3a ldr r2, [r7, #80] ; 0x50 80a3cc0: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3cc2: 4613 mov r3, r2 80a3cc4: 009b lsls r3, r3, #2 80a3cc6: 4413 add r3, r2 80a3cc8: f107 0268 add.w r2, r7, #104 ; 0x68 80a3ccc: 4413 add r3, r2 80a3cce: 440b add r3, r1 80a3cd0: 3b34 subs r3, #52 ; 0x34 80a3cd2: 781b ldrb r3, [r3, #0] 80a3cd4: b2db uxtb r3, r3 80a3cd6: 461a mov r2, r3 80a3cd8: 4b39 ldr r3, [pc, #228] ; (80a3dc0 ) 80a3cda: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3cde: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3ce0: b29b uxth r3, r3 80a3ce2: 461a mov r2, r3 80a3ce4: 0112 lsls r2, r2, #4 80a3ce6: 1ad3 subs r3, r2, r3 80a3ce8: 005b lsls r3, r3, #1 80a3cea: b29b uxth r3, r3 80a3cec: 335a adds r3, #90 ; 0x5a 80a3cee: b29b uxth r3, r3 80a3cf0: 2256 movs r2, #86 ; 0x56 80a3cf2: 4619 mov r1, r3 80a3cf4: f7b1 fb80 bl 80553f8 for(i = 0; i < t; i++) 80a3cf8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3cfa: 3301 adds r3, #1 80a3cfc: 65fb str r3, [r7, #92] ; 0x5c 80a3cfe: 6dfa ldr r2, [r7, #92] ; 0x5c 80a3d00: 6d7b ldr r3, [r7, #84] ; 0x54 80a3d02: 429a cmp r2, r3 80a3d04: d3db bcc.n 80a3cbe DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a3d06: 6d7b ldr r3, [r7, #84] ; 0x54 80a3d08: b29b uxth r3, r3 80a3d0a: 461a mov r2, r3 80a3d0c: 0112 lsls r2, r2, #4 80a3d0e: 1ad3 subs r3, r2, r3 80a3d10: 005b lsls r3, r3, #1 80a3d12: b29b uxth r3, r3 80a3d14: 335f adds r3, #95 ; 0x5f 80a3d16: b29b uxth r3, r3 80a3d18: 226e movs r2, #110 ; 0x6e 80a3d1a: 4619 mov r1, r3 80a3d1c: 4829 ldr r0, [pc, #164] ; (80a3dc4 ) 80a3d1e: f7b1 fb6b bl 80553f8 for(i = t; i < 5; i++) 80a3d22: 6d7b ldr r3, [r7, #84] ; 0x54 80a3d24: 65fb str r3, [r7, #92] ; 0x5c 80a3d26: e01f b.n 80a3d68 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a3d28: 6d3a ldr r2, [r7, #80] ; 0x50 80a3d2a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3d2c: 4613 mov r3, r2 80a3d2e: 009b lsls r3, r3, #2 80a3d30: 4413 add r3, r2 80a3d32: f107 0268 add.w r2, r7, #104 ; 0x68 80a3d36: 4413 add r3, r2 80a3d38: 440b add r3, r1 80a3d3a: 3b34 subs r3, #52 ; 0x34 80a3d3c: 781b ldrb r3, [r3, #0] 80a3d3e: b2db uxtb r3, r3 80a3d40: 461a mov r2, r3 80a3d42: 4b1f ldr r3, [pc, #124] ; (80a3dc0 ) 80a3d44: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3d48: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3d4a: b29b uxth r3, r3 80a3d4c: 461a mov r2, r3 80a3d4e: 0112 lsls r2, r2, #4 80a3d50: 1ad3 subs r3, r2, r3 80a3d52: 005b lsls r3, r3, #1 80a3d54: b29b uxth r3, r3 80a3d56: 336e adds r3, #110 ; 0x6e 80a3d58: b29b uxth r3, r3 80a3d5a: 2256 movs r2, #86 ; 0x56 80a3d5c: 4619 mov r1, r3 80a3d5e: f7b1 fb4b bl 80553f8 for(i = t; i < 5; i++) 80a3d62: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3d64: 3301 adds r3, #1 80a3d66: 65fb str r3, [r7, #92] ; 0x5c 80a3d68: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3d6a: 2b04 cmp r3, #4 80a3d6c: d9dc bls.n 80a3d28 if(pardata.IVS[ACC] < PEAK_FACTOR) 80a3d6e: 4b16 ldr r3, [pc, #88] ; (80a3dc8 ) 80a3d70: 789b ldrb r3, [r3, #2] 80a3d72: b2db uxtb r3, r3 80a3d74: 2b02 cmp r3, #2 80a3d76: d838 bhi.n 80a3dea if(pardata.IIN != VOLTS) 80a3d78: 4b13 ldr r3, [pc, #76] ; (80a3dc8 ) 80a3d7a: 799b ldrb r3, [r3, #6] 80a3d7c: b2db uxtb r3, r3 80a3d7e: 2b02 cmp r3, #2 80a3d80: d026 beq.n 80a3dd0 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a3d82: 4b11 ldr r3, [pc, #68] ; (80a3dc8 ) 80a3d84: 7b1b ldrb r3, [r3, #12] 80a3d86: b2db uxtb r3, r3 80a3d88: 461a mov r2, r3 80a3d8a: 4b10 ldr r3, [pc, #64] ; (80a3dcc ) 80a3d8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3d90: 225c movs r2, #92 ; 0x5c 80a3d92: f240 1109 movw r1, #265 ; 0x109 80a3d96: 4618 mov r0, r3 80a3d98: f7b1 fb2e bl 80553f8 80a3d9c: e025 b.n 80a3dea 80a3d9e: bf00 nop 80a3da0: 0001869f .word 0x0001869f 80a3da4: 4cbebc20 .word 0x4cbebc20 80a3da8: 47c34f80 .word 0x47c34f80 80a3dac: d1b71759 .word 0xd1b71759 80a3db0: 10624dd3 .word 0x10624dd3 80a3db4: 51eb851f .word 0x51eb851f 80a3db8: cccccccd .word 0xcccccccd 80a3dbc: 20021588 .word 0x20021588 80a3dc0: 20020124 .word 0x20020124 80a3dc4: 0816be20 .word 0x0816be20 80a3dc8: 20023ea8 .word 0x20023ea8 80a3dcc: 200200f4 .word 0x200200f4 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 80a3dd0: 4bab ldr r3, [pc, #684] ; (80a4080 ) 80a3dd2: 7b1b ldrb r3, [r3, #12] 80a3dd4: b2db uxtb r3, r3 80a3dd6: 461a mov r2, r3 80a3dd8: 4baa ldr r3, [pc, #680] ; (80a4084 ) 80a3dda: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3dde: 225c movs r2, #92 ; 0x5c 80a3de0: f240 1109 movw r1, #265 ; 0x109 80a3de4: 4618 mov r0, r3 80a3de6: f7b1 fb07 bl 80553f8 if(pardata.IVS[ipr] == EXCESS) 80a3dea: 6d3b ldr r3, [r7, #80] ; 0x50 80a3dec: 4aa4 ldr r2, [pc, #656] ; (80a4080 ) 80a3dee: 4413 add r3, r2 80a3df0: 789b ldrb r3, [r3, #2] 80a3df2: b2db uxtb r3, r3 80a3df4: 2b04 cmp r3, #4 80a3df6: f040 8652 bne.w 80a4a9e if(skz[ipr] < 0.0f) { 80a3dfa: 6d3b ldr r3, [r7, #80] ; 0x50 80a3dfc: 4aa2 ldr r2, [pc, #648] ; (80a4088 ) 80a3dfe: 009b lsls r3, r3, #2 80a3e00: 4413 add r3, r2 80a3e02: edd3 7a00 vldr s15, [r3] 80a3e06: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3e0a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3e0e: f140 8646 bpl.w 80a4a9e DrawImage(&bmgminus, 78, 84+18); 80a3e12: 2266 movs r2, #102 ; 0x66 80a3e14: 214e movs r1, #78 ; 0x4e 80a3e16: 489d ldr r0, [pc, #628] ; (80a408c ) 80a3e18: f7b1 faee bl 80553f8 80a3e1c: f000 be3f b.w 80a4a9e if(ipr == VEL) 80a3e20: 6d3b ldr r3, [r7, #80] ; 0x50 80a3e22: 2b01 cmp r3, #1 80a3e24: f040 80c5 bne.w 80a3fb2 if(!t) 80a3e28: 6d7b ldr r3, [r7, #84] ; 0x54 80a3e2a: 2b00 cmp r3, #0 80a3e2c: d126 bne.n 80a3e7c for(i = 0; i < 5; i++) 80a3e2e: 2300 movs r3, #0 80a3e30: 65fb str r3, [r7, #92] ; 0x5c 80a3e32: e01f b.n 80a3e74 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a3e34: 6d3a ldr r2, [r7, #80] ; 0x50 80a3e36: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3e38: 4613 mov r3, r2 80a3e3a: 009b lsls r3, r3, #2 80a3e3c: 4413 add r3, r2 80a3e3e: f107 0268 add.w r2, r7, #104 ; 0x68 80a3e42: 4413 add r3, r2 80a3e44: 440b add r3, r1 80a3e46: 3b34 subs r3, #52 ; 0x34 80a3e48: 781b ldrb r3, [r3, #0] 80a3e4a: b2db uxtb r3, r3 80a3e4c: 461a mov r2, r3 80a3e4e: 4b90 ldr r3, [pc, #576] ; (80a4090 ) 80a3e50: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3e54: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3e56: b29b uxth r3, r3 80a3e58: 461a mov r2, r3 80a3e5a: 0112 lsls r2, r2, #4 80a3e5c: 1ad3 subs r3, r2, r3 80a3e5e: 005b lsls r3, r3, #1 80a3e60: b29b uxth r3, r3 80a3e62: 335a adds r3, #90 ; 0x5a 80a3e64: b29b uxth r3, r3 80a3e66: 2282 movs r2, #130 ; 0x82 80a3e68: 4619 mov r1, r3 80a3e6a: f7b1 fac5 bl 80553f8 for(i = 0; i < 5; i++) 80a3e6e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3e70: 3301 adds r3, #1 80a3e72: 65fb str r3, [r7, #92] ; 0x5c 80a3e74: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3e76: 2b04 cmp r3, #4 80a3e78: d9dc bls.n 80a3e34 80a3e7a: e05a b.n 80a3f32 for(i = 0; i < t; i++) 80a3e7c: 2300 movs r3, #0 80a3e7e: 65fb str r3, [r7, #92] ; 0x5c 80a3e80: e01f b.n 80a3ec2 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a3e82: 6d3a ldr r2, [r7, #80] ; 0x50 80a3e84: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3e86: 4613 mov r3, r2 80a3e88: 009b lsls r3, r3, #2 80a3e8a: 4413 add r3, r2 80a3e8c: f107 0268 add.w r2, r7, #104 ; 0x68 80a3e90: 4413 add r3, r2 80a3e92: 440b add r3, r1 80a3e94: 3b34 subs r3, #52 ; 0x34 80a3e96: 781b ldrb r3, [r3, #0] 80a3e98: b2db uxtb r3, r3 80a3e9a: 461a mov r2, r3 80a3e9c: 4b7c ldr r3, [pc, #496] ; (80a4090 ) 80a3e9e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3ea2: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3ea4: b29b uxth r3, r3 80a3ea6: 461a mov r2, r3 80a3ea8: 0112 lsls r2, r2, #4 80a3eaa: 1ad3 subs r3, r2, r3 80a3eac: 005b lsls r3, r3, #1 80a3eae: b29b uxth r3, r3 80a3eb0: 335a adds r3, #90 ; 0x5a 80a3eb2: b29b uxth r3, r3 80a3eb4: 2282 movs r2, #130 ; 0x82 80a3eb6: 4619 mov r1, r3 80a3eb8: f7b1 fa9e bl 80553f8 for(i = 0; i < t; i++) 80a3ebc: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3ebe: 3301 adds r3, #1 80a3ec0: 65fb str r3, [r7, #92] ; 0x5c 80a3ec2: 6dfa ldr r2, [r7, #92] ; 0x5c 80a3ec4: 6d7b ldr r3, [r7, #84] ; 0x54 80a3ec6: 429a cmp r2, r3 80a3ec8: d3db bcc.n 80a3e82 DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a3eca: 6d7b ldr r3, [r7, #84] ; 0x54 80a3ecc: b29b uxth r3, r3 80a3ece: 461a mov r2, r3 80a3ed0: 0112 lsls r2, r2, #4 80a3ed2: 1ad3 subs r3, r2, r3 80a3ed4: 005b lsls r3, r3, #1 80a3ed6: b29b uxth r3, r3 80a3ed8: 335f adds r3, #95 ; 0x5f 80a3eda: b29b uxth r3, r3 80a3edc: 229a movs r2, #154 ; 0x9a 80a3ede: 4619 mov r1, r3 80a3ee0: 486c ldr r0, [pc, #432] ; (80a4094 ) 80a3ee2: f7b1 fa89 bl 80553f8 for(i = t; i < 5; i++) 80a3ee6: 6d7b ldr r3, [r7, #84] ; 0x54 80a3ee8: 65fb str r3, [r7, #92] ; 0x5c 80a3eea: e01f b.n 80a3f2c DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a3eec: 6d3a ldr r2, [r7, #80] ; 0x50 80a3eee: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3ef0: 4613 mov r3, r2 80a3ef2: 009b lsls r3, r3, #2 80a3ef4: 4413 add r3, r2 80a3ef6: f107 0268 add.w r2, r7, #104 ; 0x68 80a3efa: 4413 add r3, r2 80a3efc: 440b add r3, r1 80a3efe: 3b34 subs r3, #52 ; 0x34 80a3f00: 781b ldrb r3, [r3, #0] 80a3f02: b2db uxtb r3, r3 80a3f04: 461a mov r2, r3 80a3f06: 4b62 ldr r3, [pc, #392] ; (80a4090 ) 80a3f08: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3f0c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3f0e: b29b uxth r3, r3 80a3f10: 461a mov r2, r3 80a3f12: 0112 lsls r2, r2, #4 80a3f14: 1ad3 subs r3, r2, r3 80a3f16: 005b lsls r3, r3, #1 80a3f18: b29b uxth r3, r3 80a3f1a: 336e adds r3, #110 ; 0x6e 80a3f1c: b29b uxth r3, r3 80a3f1e: 2282 movs r2, #130 ; 0x82 80a3f20: 4619 mov r1, r3 80a3f22: f7b1 fa69 bl 80553f8 for(i = t; i < 5; i++) 80a3f26: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3f28: 3301 adds r3, #1 80a3f2a: 65fb str r3, [r7, #92] ; 0x5c 80a3f2c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3f2e: 2b04 cmp r3, #4 80a3f30: d9dc bls.n 80a3eec if(pardata.IVS[VEL] < PEAK_FACTOR) 80a3f32: 4b53 ldr r3, [pc, #332] ; (80a4080 ) 80a3f34: 78db ldrb r3, [r3, #3] 80a3f36: b2db uxtb r3, r3 80a3f38: 2b02 cmp r3, #2 80a3f3a: d81f bhi.n 80a3f7c if(pardata.IIN != VOLTS) 80a3f3c: 4b50 ldr r3, [pc, #320] ; (80a4080 ) 80a3f3e: 799b ldrb r3, [r3, #6] 80a3f40: b2db uxtb r3, r3 80a3f42: 2b02 cmp r3, #2 80a3f44: d00d beq.n 80a3f62 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a3f46: 4b4e ldr r3, [pc, #312] ; (80a4080 ) 80a3f48: 7b1b ldrb r3, [r3, #12] 80a3f4a: b2db uxtb r3, r3 80a3f4c: 461a mov r2, r3 80a3f4e: 4b52 ldr r3, [pc, #328] ; (80a4098 ) 80a3f50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3f54: 2289 movs r2, #137 ; 0x89 80a3f56: f240 1109 movw r1, #265 ; 0x109 80a3f5a: 4618 mov r0, r3 80a3f5c: f7b1 fa4c bl 80553f8 80a3f60: e00c b.n 80a3f7c else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 80a3f62: 4b47 ldr r3, [pc, #284] ; (80a4080 ) 80a3f64: 7b1b ldrb r3, [r3, #12] 80a3f66: b2db uxtb r3, r3 80a3f68: 461a mov r2, r3 80a3f6a: 4b46 ldr r3, [pc, #280] ; (80a4084 ) 80a3f6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3f70: 2289 movs r2, #137 ; 0x89 80a3f72: f240 1109 movw r1, #265 ; 0x109 80a3f76: 4618 mov r0, r3 80a3f78: f7b1 fa3e bl 80553f8 if(pardata.IVS[ipr] == EXCESS) 80a3f7c: 6d3b ldr r3, [r7, #80] ; 0x50 80a3f7e: 4a40 ldr r2, [pc, #256] ; (80a4080 ) 80a3f80: 4413 add r3, r2 80a3f82: 789b ldrb r3, [r3, #2] 80a3f84: b2db uxtb r3, r3 80a3f86: 2b04 cmp r3, #4 80a3f88: f040 8589 bne.w 80a4a9e if(skz[ipr] < 0.0f) { 80a3f8c: 6d3b ldr r3, [r7, #80] ; 0x50 80a3f8e: 4a3e ldr r2, [pc, #248] ; (80a4088 ) 80a3f90: 009b lsls r3, r3, #2 80a3f92: 4413 add r3, r2 80a3f94: edd3 7a00 vldr s15, [r3] 80a3f98: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3f9c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3fa0: f140 857d bpl.w 80a4a9e DrawImage(&bmgminus, 78, 138+9); 80a3fa4: 2293 movs r2, #147 ; 0x93 80a3fa6: 214e movs r1, #78 ; 0x4e 80a3fa8: 4838 ldr r0, [pc, #224] ; (80a408c ) 80a3faa: f7b1 fa25 bl 80553f8 80a3fae: f000 bd76 b.w 80a4a9e if(ipr == DIS) 80a3fb2: 6d3b ldr r3, [r7, #80] ; 0x50 80a3fb4: 2b02 cmp r3, #2 80a3fb6: f040 8572 bne.w 80a4a9e if(!t) 80a3fba: 6d7b ldr r3, [r7, #84] ; 0x54 80a3fbc: 2b00 cmp r3, #0 80a3fbe: d126 bne.n 80a400e for(i = 0; i < 5; i++) 80a3fc0: 2300 movs r3, #0 80a3fc2: 65fb str r3, [r7, #92] ; 0x5c 80a3fc4: e01f b.n 80a4006 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a3fc6: 6d3a ldr r2, [r7, #80] ; 0x50 80a3fc8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3fca: 4613 mov r3, r2 80a3fcc: 009b lsls r3, r3, #2 80a3fce: 4413 add r3, r2 80a3fd0: f107 0268 add.w r2, r7, #104 ; 0x68 80a3fd4: 4413 add r3, r2 80a3fd6: 440b add r3, r1 80a3fd8: 3b34 subs r3, #52 ; 0x34 80a3fda: 781b ldrb r3, [r3, #0] 80a3fdc: b2db uxtb r3, r3 80a3fde: 461a mov r2, r3 80a3fe0: 4b2b ldr r3, [pc, #172] ; (80a4090 ) 80a3fe2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3fe6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3fe8: b29b uxth r3, r3 80a3fea: 461a mov r2, r3 80a3fec: 0112 lsls r2, r2, #4 80a3fee: 1ad3 subs r3, r2, r3 80a3ff0: 005b lsls r3, r3, #1 80a3ff2: b29b uxth r3, r3 80a3ff4: 335a adds r3, #90 ; 0x5a 80a3ff6: b29b uxth r3, r3 80a3ff8: 22ae movs r2, #174 ; 0xae 80a3ffa: 4619 mov r1, r3 80a3ffc: f7b1 f9fc bl 80553f8 for(i = 0; i < 5; i++) 80a4000: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4002: 3301 adds r3, #1 80a4004: 65fb str r3, [r7, #92] ; 0x5c 80a4006: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4008: 2b04 cmp r3, #4 80a400a: d9dc bls.n 80a3fc6 80a400c: e069 b.n 80a40e2 for(i = 0; i < t; i++) 80a400e: 2300 movs r3, #0 80a4010: 65fb str r3, [r7, #92] ; 0x5c 80a4012: e01f b.n 80a4054 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a4014: 6d3a ldr r2, [r7, #80] ; 0x50 80a4016: 6df9 ldr r1, [r7, #92] ; 0x5c 80a4018: 4613 mov r3, r2 80a401a: 009b lsls r3, r3, #2 80a401c: 4413 add r3, r2 80a401e: f107 0268 add.w r2, r7, #104 ; 0x68 80a4022: 4413 add r3, r2 80a4024: 440b add r3, r1 80a4026: 3b34 subs r3, #52 ; 0x34 80a4028: 781b ldrb r3, [r3, #0] 80a402a: b2db uxtb r3, r3 80a402c: 461a mov r2, r3 80a402e: 4b18 ldr r3, [pc, #96] ; (80a4090 ) 80a4030: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a4034: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4036: b29b uxth r3, r3 80a4038: 461a mov r2, r3 80a403a: 0112 lsls r2, r2, #4 80a403c: 1ad3 subs r3, r2, r3 80a403e: 005b lsls r3, r3, #1 80a4040: b29b uxth r3, r3 80a4042: 335a adds r3, #90 ; 0x5a 80a4044: b29b uxth r3, r3 80a4046: 22ae movs r2, #174 ; 0xae 80a4048: 4619 mov r1, r3 80a404a: f7b1 f9d5 bl 80553f8 for(i = 0; i < t; i++) 80a404e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a4050: 3301 adds r3, #1 80a4052: 65fb str r3, [r7, #92] ; 0x5c 80a4054: 6dfa ldr r2, [r7, #92] ; 0x5c 80a4056: 6d7b ldr r3, [r7, #84] ; 0x54 80a4058: 429a cmp r2, r3 80a405a: d3db bcc.n 80a4014 DrawImage(&bmgpt, 95 + 30*t, 198); 80a405c: 6d7b ldr r3, [r7, #84] ; 0x54 80a405e: b29b uxth r3, r3 80a4060: 461a mov r2, r3 80a4062: 0112 lsls r2, r2, #4 80a4064: 1ad3 subs r3, r2, r3 80a4066: 005b lsls r3, r3, #1 80a4068: b29b uxth r3, r3 80a406a: 335f adds r3, #95 ; 0x5f 80a406c: b29b uxth r3, r3 80a406e: 22c6 movs r2, #198 ; 0xc6 80a4070: 4619 mov r1, r3 80a4072: 4808 ldr r0, [pc, #32] ; (80a4094 ) 80a4074: f7b1 f9c0 bl 80553f8 for(i = t; i < 5; i++) 80a4078: 6d7b ldr r3, [r7, #84] ; 0x54 80a407a: 65fb str r3, [r7, #92] ; 0x5c 80a407c: e02e b.n 80a40dc 80a407e: bf00 nop 80a4080: 20023ea8 .word 0x20023ea8 80a4084: 20020114 .word 0x20020114 80a4088: 20021588 .word 0x20021588 80a408c: 0816bd94 .word 0x0816bd94 80a4090: 20020124 .word 0x20020124 80a4094: 0816be20 .word 0x0816be20 80a4098: 200200fc .word 0x200200fc DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a409c: 6d3a ldr r2, [r7, #80] ; 0x50 80a409e: 6df9 ldr r1, [r7, #92] ; 0x5c 80a40a0: 4613 mov r3, r2 80a40a2: 009b lsls r3, r3, #2 80a40a4: 4413 add r3, r2 80a40a6: f107 0268 add.w r2, r7, #104 ; 0x68 80a40aa: 4413 add r3, r2 80a40ac: 440b add r3, r1 80a40ae: 3b34 subs r3, #52 ; 0x34 80a40b0: 781b ldrb r3, [r3, #0] 80a40b2: b2db uxtb r3, r3 80a40b4: 461a mov r2, r3 80a40b6: 4bc7 ldr r3, [pc, #796] ; (80a43d4 ) 80a40b8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a40bc: 6dfb ldr r3, [r7, #92] ; 0x5c 80a40be: b29b uxth r3, r3 80a40c0: 461a mov r2, r3 80a40c2: 0112 lsls r2, r2, #4 80a40c4: 1ad3 subs r3, r2, r3 80a40c6: 005b lsls r3, r3, #1 80a40c8: b29b uxth r3, r3 80a40ca: 336e adds r3, #110 ; 0x6e 80a40cc: b29b uxth r3, r3 80a40ce: 22ae movs r2, #174 ; 0xae 80a40d0: 4619 mov r1, r3 80a40d2: f7b1 f991 bl 80553f8 for(i = t; i < 5; i++) 80a40d6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a40d8: 3301 adds r3, #1 80a40da: 65fb str r3, [r7, #92] ; 0x5c 80a40dc: 6dfb ldr r3, [r7, #92] ; 0x5c 80a40de: 2b04 cmp r3, #4 80a40e0: d9dc bls.n 80a409c if(pardata.IVS[DIS] < PEAK_FACTOR) 80a40e2: 4bbd ldr r3, [pc, #756] ; (80a43d8 ) 80a40e4: 791b ldrb r3, [r3, #4] 80a40e6: b2db uxtb r3, r3 80a40e8: 2b02 cmp r3, #2 80a40ea: d841 bhi.n 80a4170 if(pardata.IIN != VOLTS) 80a40ec: 4bba ldr r3, [pc, #744] ; (80a43d8 ) 80a40ee: 799b ldrb r3, [r3, #6] 80a40f0: b2db uxtb r3, r3 80a40f2: 2b02 cmp r3, #2 80a40f4: d01e beq.n 80a4134 if(m == 0) 80a40f6: 6cfb ldr r3, [r7, #76] ; 0x4c 80a40f8: 2b00 cmp r3, #0 80a40fa: d10d bne.n 80a4118 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a40fc: 4bb6 ldr r3, [pc, #728] ; (80a43d8 ) 80a40fe: 7b1b ldrb r3, [r3, #12] 80a4100: b2db uxtb r3, r3 80a4102: 461a mov r2, r3 80a4104: 4bb5 ldr r3, [pc, #724] ; (80a43dc ) 80a4106: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a410a: 22b4 movs r2, #180 ; 0xb4 80a410c: f240 1109 movw r1, #265 ; 0x109 80a4110: 4618 mov r0, r3 80a4112: f7b1 f971 bl 80553f8 80a4116: e02b b.n 80a4170 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a4118: 4baf ldr r3, [pc, #700] ; (80a43d8 ) 80a411a: 7b1b ldrb r3, [r3, #12] 80a411c: b2db uxtb r3, r3 80a411e: 461a mov r2, r3 80a4120: 4baf ldr r3, [pc, #700] ; (80a43e0 ) 80a4122: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4126: 22b4 movs r2, #180 ; 0xb4 80a4128: f240 1109 movw r1, #265 ; 0x109 80a412c: 4618 mov r0, r3 80a412e: f7b1 f963 bl 80553f8 80a4132: e01d b.n 80a4170 if(m == 0) 80a4134: 6cfb ldr r3, [r7, #76] ; 0x4c 80a4136: 2b00 cmp r3, #0 80a4138: d10d bne.n 80a4156 DrawImage(BMG_MV[pardata.LANG], 265, 180); 80a413a: 4ba7 ldr r3, [pc, #668] ; (80a43d8 ) 80a413c: 7b1b ldrb r3, [r3, #12] 80a413e: b2db uxtb r3, r3 80a4140: 461a mov r2, r3 80a4142: 4ba8 ldr r3, [pc, #672] ; (80a43e4 ) 80a4144: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4148: 22b4 movs r2, #180 ; 0xb4 80a414a: f240 1109 movw r1, #265 ; 0x109 80a414e: 4618 mov r0, r3 80a4150: f7b1 f952 bl 80553f8 80a4154: e00c b.n 80a4170 else DrawImage(BMG_V[pardata.LANG], 265, 180); 80a4156: 4ba0 ldr r3, [pc, #640] ; (80a43d8 ) 80a4158: 7b1b ldrb r3, [r3, #12] 80a415a: b2db uxtb r3, r3 80a415c: 461a mov r2, r3 80a415e: 4ba2 ldr r3, [pc, #648] ; (80a43e8 ) 80a4160: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4164: 22b4 movs r2, #180 ; 0xb4 80a4166: f240 1109 movw r1, #265 ; 0x109 80a416a: 4618 mov r0, r3 80a416c: f7b1 f944 bl 80553f8 if(pardata.IVS[ipr] == EXCESS) 80a4170: 6d3b ldr r3, [r7, #80] ; 0x50 80a4172: 4a99 ldr r2, [pc, #612] ; (80a43d8 ) 80a4174: 4413 add r3, r2 80a4176: 789b ldrb r3, [r3, #2] 80a4178: b2db uxtb r3, r3 80a417a: 2b04 cmp r3, #4 80a417c: f040 848f bne.w 80a4a9e if(skz[ipr] < 0.0f) { 80a4180: 6d3b ldr r3, [r7, #80] ; 0x50 80a4182: 4a9a ldr r2, [pc, #616] ; (80a43ec ) 80a4184: 009b lsls r3, r3, #2 80a4186: 4413 add r3, r2 80a4188: edd3 7a00 vldr s15, [r3] 80a418c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4190: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4194: f140 8483 bpl.w 80a4a9e DrawImage(&bmgminus, 78, 190); 80a4198: 22be movs r2, #190 ; 0xbe 80a419a: 214e movs r1, #78 ; 0x4e 80a419c: 4894 ldr r0, [pc, #592] ; (80a43f0 ) 80a419e: f7b1 f92b bl 80553f8 80a41a2: f000 bc7c b.w 80a4a9e if(skz[ACC] != -1.0f) 80a41a6: 4b91 ldr r3, [pc, #580] ; (80a43ec ) 80a41a8: edd3 7a00 vldr s15, [r3] 80a41ac: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a41b0: eef4 7a47 vcmp.f32 s15, s14 80a41b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a41b8: f000 8471 beq.w 80a4a9e if(ipr == VEL) 80a41bc: 6d3b ldr r3, [r7, #80] ; 0x50 80a41be: 2b01 cmp r3, #1 80a41c0: d116 bne.n 80a41f0 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a41c2: 498c ldr r1, [pc, #560] ; (80a43f4 ) 80a41c4: 488c ldr r0, [pc, #560] ; (80a43f8 ) 80a41c6: f7b0 fa23 bl 8054610 if(pardata.LANG == RUS) 80a41ca: 4b83 ldr r3, [pc, #524] ; (80a43d8 ) 80a41cc: 7b1b ldrb r3, [r3, #12] 80a41ce: b2db uxtb r3, r3 80a41d0: 2b00 cmp r3, #0 80a41d2: d106 bne.n 80a41e2 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a41d4: 4a89 ldr r2, [pc, #548] ; (80a43fc ) 80a41d6: 2187 movs r1, #135 ; 0x87 80a41d8: 20a7 movs r0, #167 ; 0xa7 80a41da: f7b0 ffd9 bl 8055190 80a41de: f000 bc5e b.w 80a4a9e else LCD_DisplayStringC(167, 135, "NO DATA"); 80a41e2: 4a87 ldr r2, [pc, #540] ; (80a4400 ) 80a41e4: 2187 movs r1, #135 ; 0x87 80a41e6: 20a7 movs r0, #167 ; 0xa7 80a41e8: f7b0 ffd2 bl 8055190 80a41ec: f000 bc57 b.w 80a4a9e if(ipr == DIS) 80a41f0: 6d3b ldr r3, [r7, #80] ; 0x50 80a41f2: 2b02 cmp r3, #2 80a41f4: f040 8453 bne.w 80a4a9e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a41f8: 497e ldr r1, [pc, #504] ; (80a43f4 ) 80a41fa: 487f ldr r0, [pc, #508] ; (80a43f8 ) 80a41fc: f7b0 fa08 bl 8054610 if(pardata.LANG == RUS) 80a4200: 4b75 ldr r3, [pc, #468] ; (80a43d8 ) 80a4202: 7b1b ldrb r3, [r3, #12] 80a4204: b2db uxtb r3, r3 80a4206: 2b00 cmp r3, #0 80a4208: d106 bne.n 80a4218 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a420a: 4a7c ldr r2, [pc, #496] ; (80a43fc ) 80a420c: 21b9 movs r1, #185 ; 0xb9 80a420e: 20a7 movs r0, #167 ; 0xa7 80a4210: f7b0 ffbe bl 8055190 80a4214: f000 bc43 b.w 80a4a9e else LCD_DisplayStringC(167, 185, "NO DATA"); 80a4218: 4a79 ldr r2, [pc, #484] ; (80a4400 ) 80a421a: 21b9 movs r1, #185 ; 0xb9 80a421c: 20a7 movs r0, #167 ; 0xa7 80a421e: f7b0 ffb7 bl 8055190 80a4222: f000 bc3c b.w 80a4a9e if(skz[ipr] != -1.0f) 80a4226: 6d3b ldr r3, [r7, #80] ; 0x50 80a4228: 4a70 ldr r2, [pc, #448] ; (80a43ec ) 80a422a: 009b lsls r3, r3, #2 80a422c: 4413 add r3, r2 80a422e: edd3 7a00 vldr s15, [r3] 80a4232: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a4236: eef4 7a47 vcmp.f32 s15, s14 80a423a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a423e: f000 83dc beq.w 80a49fa f = ABS(skzDB[ipr]); 80a4242: 6d3b ldr r3, [r7, #80] ; 0x50 80a4244: 4a6f ldr r2, [pc, #444] ; (80a4404 ) 80a4246: 009b lsls r3, r3, #2 80a4248: 4413 add r3, r2 80a424a: edd3 7a00 vldr s15, [r3] 80a424e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4252: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4256: dd06 ble.n 80a4266 80a4258: 6d3b ldr r3, [r7, #80] ; 0x50 80a425a: 4a6a ldr r2, [pc, #424] ; (80a4404 ) 80a425c: 009b lsls r3, r3, #2 80a425e: 4413 add r3, r2 80a4260: edd3 7a00 vldr s15, [r3] 80a4264: e007 b.n 80a4276 80a4266: 6d3b ldr r3, [r7, #80] ; 0x50 80a4268: 4a66 ldr r2, [pc, #408] ; (80a4404 ) 80a426a: 009b lsls r3, r3, #2 80a426c: 4413 add r3, r2 80a426e: edd3 7a00 vldr s15, [r3] 80a4272: eef1 7a67 vneg.f32 s15, s15 80a4276: edc7 7a11 vstr s15, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f * 10 + 0.5f)); 80a427a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a427e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a4282: ee67 7a87 vmul.f32 s15, s15, s14 80a4286: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a428a: ee77 7a87 vadd.f32 s15, s15, s14 80a428e: eeb0 0a67 vmov.f32 s0, s15 80a4292: f02a fe87 bl 80cefa4 80a4296: eef0 7a40 vmov.f32 s15, s0 80a429a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a429e: ee17 3a90 vmov r3, s15 80a42a2: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 80a42a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a42a8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a42ac: eef4 7ac7 vcmpe.f32 s15, s14 80a42b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a42b4: f140 80e4 bpl.w 80a4480 ik[ipr][0] = (uint8_t) (k / 10); 80a42b8: 6d3a ldr r2, [r7, #80] ; 0x50 80a42ba: 6dbb ldr r3, [r7, #88] ; 0x58 80a42bc: 4952 ldr r1, [pc, #328] ; (80a4408 ) 80a42be: fba1 1303 umull r1, r3, r1, r3 80a42c2: 08db lsrs r3, r3, #3 80a42c4: b2d9 uxtb r1, r3 80a42c6: 4613 mov r3, r2 80a42c8: 009b lsls r3, r3, #2 80a42ca: 4413 add r3, r2 80a42cc: f107 0268 add.w r2, r7, #104 ; 0x68 80a42d0: 4413 add r3, r2 80a42d2: 3b34 subs r3, #52 ; 0x34 80a42d4: 460a mov r2, r1 80a42d6: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 80a42d8: 6d38 ldr r0, [r7, #80] ; 0x50 80a42da: 6db9 ldr r1, [r7, #88] ; 0x58 80a42dc: 4b4a ldr r3, [pc, #296] ; (80a4408 ) 80a42de: fba3 2301 umull r2, r3, r3, r1 80a42e2: 08da lsrs r2, r3, #3 80a42e4: 4613 mov r3, r2 80a42e6: 009b lsls r3, r3, #2 80a42e8: 4413 add r3, r2 80a42ea: 005b lsls r3, r3, #1 80a42ec: 1aca subs r2, r1, r3 80a42ee: b2d2 uxtb r2, r2 80a42f0: 4603 mov r3, r0 80a42f2: 009b lsls r3, r3, #2 80a42f4: 4403 add r3, r0 80a42f6: f107 0168 add.w r1, r7, #104 ; 0x68 80a42fa: 440b add r3, r1 80a42fc: 3b33 subs r3, #51 ; 0x33 80a42fe: 701a strb r2, [r3, #0] if(ipr == ACC) 80a4300: 6d3b ldr r3, [r7, #80] ; 0x50 80a4302: 2b00 cmp r3, #0 80a4304: d131 bne.n 80a436a DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 80a4306: 6d3a ldr r2, [r7, #80] ; 0x50 80a4308: 4613 mov r3, r2 80a430a: 009b lsls r3, r3, #2 80a430c: 4413 add r3, r2 80a430e: f107 0268 add.w r2, r7, #104 ; 0x68 80a4312: 4413 add r3, r2 80a4314: 3b33 subs r3, #51 ; 0x33 80a4316: 781b ldrb r3, [r3, #0] 80a4318: b2db uxtb r3, r3 80a431a: 461a mov r2, r3 80a431c: 4b2d ldr r3, [pc, #180] ; (80a43d4 ) 80a431e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4322: 2256 movs r2, #86 ; 0x56 80a4324: 21e6 movs r1, #230 ; 0xe6 80a4326: 4618 mov r0, r3 80a4328: f7b1 f866 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a432c: 226e movs r2, #110 ; 0x6e 80a432e: 21d7 movs r1, #215 ; 0xd7 80a4330: 4836 ldr r0, [pc, #216] ; (80a440c ) 80a4332: f7b1 f861 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 80a4336: 6d3a ldr r2, [r7, #80] ; 0x50 80a4338: 4613 mov r3, r2 80a433a: 009b lsls r3, r3, #2 80a433c: 4413 add r3, r2 80a433e: f107 0268 add.w r2, r7, #104 ; 0x68 80a4342: 4413 add r3, r2 80a4344: 3b34 subs r3, #52 ; 0x34 80a4346: 781b ldrb r3, [r3, #0] 80a4348: b2db uxtb r3, r3 80a434a: 461a mov r2, r3 80a434c: 4b21 ldr r3, [pc, #132] ; (80a43d4 ) 80a434e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4352: 2256 movs r2, #86 ; 0x56 80a4354: 21b4 movs r1, #180 ; 0xb4 80a4356: 4618 mov r0, r3 80a4358: f7b1 f84e bl 80553f8 DrawImage(&bmg_dB, 265, 74+18); 80a435c: 225c movs r2, #92 ; 0x5c 80a435e: f240 1109 movw r1, #265 ; 0x109 80a4362: 482b ldr r0, [pc, #172] ; (80a4410 ) 80a4364: f7b1 f848 bl 80553f8 80a4368: e399 b.n 80a4a9e if(ipr == VEL) 80a436a: 6d3b ldr r3, [r7, #80] ; 0x50 80a436c: 2b01 cmp r3, #1 80a436e: d151 bne.n 80a4414 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 80a4370: 6d3a ldr r2, [r7, #80] ; 0x50 80a4372: 4613 mov r3, r2 80a4374: 009b lsls r3, r3, #2 80a4376: 4413 add r3, r2 80a4378: f107 0268 add.w r2, r7, #104 ; 0x68 80a437c: 4413 add r3, r2 80a437e: 3b33 subs r3, #51 ; 0x33 80a4380: 781b ldrb r3, [r3, #0] 80a4382: b2db uxtb r3, r3 80a4384: 461a mov r2, r3 80a4386: 4b13 ldr r3, [pc, #76] ; (80a43d4 ) 80a4388: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a438c: 2282 movs r2, #130 ; 0x82 80a438e: 21e6 movs r1, #230 ; 0xe6 80a4390: 4618 mov r0, r3 80a4392: f7b1 f831 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a4396: 229a movs r2, #154 ; 0x9a 80a4398: 21d7 movs r1, #215 ; 0xd7 80a439a: 481c ldr r0, [pc, #112] ; (80a440c ) 80a439c: f7b1 f82c bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 80a43a0: 6d3a ldr r2, [r7, #80] ; 0x50 80a43a2: 4613 mov r3, r2 80a43a4: 009b lsls r3, r3, #2 80a43a6: 4413 add r3, r2 80a43a8: f107 0268 add.w r2, r7, #104 ; 0x68 80a43ac: 4413 add r3, r2 80a43ae: 3b34 subs r3, #52 ; 0x34 80a43b0: 781b ldrb r3, [r3, #0] 80a43b2: b2db uxtb r3, r3 80a43b4: 461a mov r2, r3 80a43b6: 4b07 ldr r3, [pc, #28] ; (80a43d4 ) 80a43b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a43bc: 2282 movs r2, #130 ; 0x82 80a43be: 21b4 movs r1, #180 ; 0xb4 80a43c0: 4618 mov r0, r3 80a43c2: f7b1 f819 bl 80553f8 DrawImage(&bmg_dB, 265, 128+9); 80a43c6: 2289 movs r2, #137 ; 0x89 80a43c8: f240 1109 movw r1, #265 ; 0x109 80a43cc: 4810 ldr r0, [pc, #64] ; (80a4410 ) 80a43ce: f7b1 f813 bl 80553f8 80a43d2: e364 b.n 80a4a9e 80a43d4: 20020124 .word 0x20020124 80a43d8: 20023ea8 .word 0x20023ea8 80a43dc: 20020104 .word 0x20020104 80a43e0: 2002010c .word 0x2002010c 80a43e4: 20020114 .word 0x20020114 80a43e8: 2002011c .word 0x2002011c 80a43ec: 20021588 .word 0x20021588 80a43f0: 0816bd94 .word 0x0816bd94 80a43f4: ff0a0f1f .word 0xff0a0f1f 80a43f8: ffb8e828 .word 0xffb8e828 80a43fc: 080d3e64 .word 0x080d3e64 80a4400: 080d3e70 .word 0x080d3e70 80a4404: 20021594 .word 0x20021594 80a4408: cccccccd .word 0xcccccccd 80a440c: 0816be20 .word 0x0816be20 80a4410: 0816706c .word 0x0816706c if(ipr == DIS) 80a4414: 6d3b ldr r3, [r7, #80] ; 0x50 80a4416: 2b02 cmp r3, #2 80a4418: f040 8341 bne.w 80a4a9e DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 80a441c: 6d3a ldr r2, [r7, #80] ; 0x50 80a441e: 4613 mov r3, r2 80a4420: 009b lsls r3, r3, #2 80a4422: 4413 add r3, r2 80a4424: f107 0268 add.w r2, r7, #104 ; 0x68 80a4428: 4413 add r3, r2 80a442a: 3b33 subs r3, #51 ; 0x33 80a442c: 781b ldrb r3, [r3, #0] 80a442e: b2db uxtb r3, r3 80a4430: 461a mov r2, r3 80a4432: 4ba6 ldr r3, [pc, #664] ; (80a46cc ) 80a4434: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4438: 22ae movs r2, #174 ; 0xae 80a443a: 21e6 movs r1, #230 ; 0xe6 80a443c: 4618 mov r0, r3 80a443e: f7b0 ffdb bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 198); 80a4442: 22c6 movs r2, #198 ; 0xc6 80a4444: 21d7 movs r1, #215 ; 0xd7 80a4446: 48a2 ldr r0, [pc, #648] ; (80a46d0 ) 80a4448: f7b0 ffd6 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 80a444c: 6d3a ldr r2, [r7, #80] ; 0x50 80a444e: 4613 mov r3, r2 80a4450: 009b lsls r3, r3, #2 80a4452: 4413 add r3, r2 80a4454: f107 0268 add.w r2, r7, #104 ; 0x68 80a4458: 4413 add r3, r2 80a445a: 3b34 subs r3, #52 ; 0x34 80a445c: 781b ldrb r3, [r3, #0] 80a445e: b2db uxtb r3, r3 80a4460: 461a mov r2, r3 80a4462: 4b9a ldr r3, [pc, #616] ; (80a46cc ) 80a4464: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4468: 22ae movs r2, #174 ; 0xae 80a446a: 21b4 movs r1, #180 ; 0xb4 80a446c: 4618 mov r0, r3 80a446e: f7b0 ffc3 bl 80553f8 DrawImage(&bmg_dB, 265, 180); 80a4472: 22b4 movs r2, #180 ; 0xb4 80a4474: f240 1109 movw r1, #265 ; 0x109 80a4478: 4896 ldr r0, [pc, #600] ; (80a46d4 ) 80a447a: f7b0 ffbd bl 80553f8 80a447e: e30e b.n 80a4a9e if(f < 100.0f) 80a4480: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4484: ed9f 7a94 vldr s14, [pc, #592] ; 80a46d8 80a4488: eef4 7ac7 vcmpe.f32 s15, s14 80a448c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4490: f140 812a bpl.w 80a46e8 ik[ipr][0] = (uint8_t) (k / 100); 80a4494: 6d3a ldr r2, [r7, #80] ; 0x50 80a4496: 6dbb ldr r3, [r7, #88] ; 0x58 80a4498: 4990 ldr r1, [pc, #576] ; (80a46dc ) 80a449a: fba1 1303 umull r1, r3, r1, r3 80a449e: 095b lsrs r3, r3, #5 80a44a0: b2d9 uxtb r1, r3 80a44a2: 4613 mov r3, r2 80a44a4: 009b lsls r3, r3, #2 80a44a6: 4413 add r3, r2 80a44a8: f107 0268 add.w r2, r7, #104 ; 0x68 80a44ac: 4413 add r3, r2 80a44ae: 3b34 subs r3, #52 ; 0x34 80a44b0: 460a mov r2, r1 80a44b2: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 80a44b4: 6d39 ldr r1, [r7, #80] ; 0x50 80a44b6: 6dba ldr r2, [r7, #88] ; 0x58 80a44b8: 4b88 ldr r3, [pc, #544] ; (80a46dc ) 80a44ba: fba3 0302 umull r0, r3, r3, r2 80a44be: 095b lsrs r3, r3, #5 80a44c0: 2064 movs r0, #100 ; 0x64 80a44c2: fb00 f303 mul.w r3, r0, r3 80a44c6: 1ad3 subs r3, r2, r3 80a44c8: 4a85 ldr r2, [pc, #532] ; (80a46e0 ) 80a44ca: fba2 2303 umull r2, r3, r2, r3 80a44ce: 08db lsrs r3, r3, #3 80a44d0: b2da uxtb r2, r3 80a44d2: 460b mov r3, r1 80a44d4: 009b lsls r3, r3, #2 80a44d6: 440b add r3, r1 80a44d8: f107 0168 add.w r1, r7, #104 ; 0x68 80a44dc: 440b add r3, r1 80a44de: 3b33 subs r3, #51 ; 0x33 80a44e0: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 80a44e2: 6d38 ldr r0, [r7, #80] ; 0x50 80a44e4: 6dbb ldr r3, [r7, #88] ; 0x58 80a44e6: 4a7d ldr r2, [pc, #500] ; (80a46dc ) 80a44e8: fba2 1203 umull r1, r2, r2, r3 80a44ec: 0952 lsrs r2, r2, #5 80a44ee: 2164 movs r1, #100 ; 0x64 80a44f0: fb01 f202 mul.w r2, r1, r2 80a44f4: 1a9a subs r2, r3, r2 80a44f6: 4b7a ldr r3, [pc, #488] ; (80a46e0 ) 80a44f8: fba3 1302 umull r1, r3, r3, r2 80a44fc: 08d9 lsrs r1, r3, #3 80a44fe: 460b mov r3, r1 80a4500: 009b lsls r3, r3, #2 80a4502: 440b add r3, r1 80a4504: 005b lsls r3, r3, #1 80a4506: 1ad1 subs r1, r2, r3 80a4508: b2ca uxtb r2, r1 80a450a: 4603 mov r3, r0 80a450c: 009b lsls r3, r3, #2 80a450e: 4403 add r3, r0 80a4510: f107 0168 add.w r1, r7, #104 ; 0x68 80a4514: 440b add r3, r1 80a4516: 3b32 subs r3, #50 ; 0x32 80a4518: 701a strb r2, [r3, #0] if(ipr == ACC) 80a451a: 6d3b ldr r3, [r7, #80] ; 0x50 80a451c: 2b00 cmp r3, #0 80a451e: d144 bne.n 80a45aa DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 80a4520: 6d3a ldr r2, [r7, #80] ; 0x50 80a4522: 4613 mov r3, r2 80a4524: 009b lsls r3, r3, #2 80a4526: 4413 add r3, r2 80a4528: f107 0268 add.w r2, r7, #104 ; 0x68 80a452c: 4413 add r3, r2 80a452e: 3b32 subs r3, #50 ; 0x32 80a4530: 781b ldrb r3, [r3, #0] 80a4532: b2db uxtb r3, r3 80a4534: 461a mov r2, r3 80a4536: 4b65 ldr r3, [pc, #404] ; (80a46cc ) 80a4538: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a453c: 2256 movs r2, #86 ; 0x56 80a453e: 21e6 movs r1, #230 ; 0xe6 80a4540: 4618 mov r0, r3 80a4542: f7b0 ff59 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a4546: 226e movs r2, #110 ; 0x6e 80a4548: 21d7 movs r1, #215 ; 0xd7 80a454a: 4861 ldr r0, [pc, #388] ; (80a46d0 ) 80a454c: f7b0 ff54 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 80a4550: 6d3a ldr r2, [r7, #80] ; 0x50 80a4552: 4613 mov r3, r2 80a4554: 009b lsls r3, r3, #2 80a4556: 4413 add r3, r2 80a4558: f107 0268 add.w r2, r7, #104 ; 0x68 80a455c: 4413 add r3, r2 80a455e: 3b33 subs r3, #51 ; 0x33 80a4560: 781b ldrb r3, [r3, #0] 80a4562: b2db uxtb r3, r3 80a4564: 461a mov r2, r3 80a4566: 4b59 ldr r3, [pc, #356] ; (80a46cc ) 80a4568: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a456c: 2256 movs r2, #86 ; 0x56 80a456e: 21b4 movs r1, #180 ; 0xb4 80a4570: 4618 mov r0, r3 80a4572: f7b0 ff41 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 80a4576: 6d3a ldr r2, [r7, #80] ; 0x50 80a4578: 4613 mov r3, r2 80a457a: 009b lsls r3, r3, #2 80a457c: 4413 add r3, r2 80a457e: f107 0268 add.w r2, r7, #104 ; 0x68 80a4582: 4413 add r3, r2 80a4584: 3b34 subs r3, #52 ; 0x34 80a4586: 781b ldrb r3, [r3, #0] 80a4588: b2db uxtb r3, r3 80a458a: 461a mov r2, r3 80a458c: 4b4f ldr r3, [pc, #316] ; (80a46cc ) 80a458e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4592: 2256 movs r2, #86 ; 0x56 80a4594: 2196 movs r1, #150 ; 0x96 80a4596: 4618 mov r0, r3 80a4598: f7b0 ff2e bl 80553f8 DrawImage(&bmg_dB, 265, 74+18); 80a459c: 225c movs r2, #92 ; 0x5c 80a459e: f240 1109 movw r1, #265 ; 0x109 80a45a2: 484c ldr r0, [pc, #304] ; (80a46d4 ) 80a45a4: f7b0 ff28 bl 80553f8 80a45a8: e279 b.n 80a4a9e if(ipr == VEL) 80a45aa: 6d3b ldr r3, [r7, #80] ; 0x50 80a45ac: 2b01 cmp r3, #1 80a45ae: d144 bne.n 80a463a DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 80a45b0: 6d3a ldr r2, [r7, #80] ; 0x50 80a45b2: 4613 mov r3, r2 80a45b4: 009b lsls r3, r3, #2 80a45b6: 4413 add r3, r2 80a45b8: f107 0268 add.w r2, r7, #104 ; 0x68 80a45bc: 4413 add r3, r2 80a45be: 3b32 subs r3, #50 ; 0x32 80a45c0: 781b ldrb r3, [r3, #0] 80a45c2: b2db uxtb r3, r3 80a45c4: 461a mov r2, r3 80a45c6: 4b41 ldr r3, [pc, #260] ; (80a46cc ) 80a45c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a45cc: 2282 movs r2, #130 ; 0x82 80a45ce: 21e6 movs r1, #230 ; 0xe6 80a45d0: 4618 mov r0, r3 80a45d2: f7b0 ff11 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a45d6: 229a movs r2, #154 ; 0x9a 80a45d8: 21d7 movs r1, #215 ; 0xd7 80a45da: 483d ldr r0, [pc, #244] ; (80a46d0 ) 80a45dc: f7b0 ff0c bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 80a45e0: 6d3a ldr r2, [r7, #80] ; 0x50 80a45e2: 4613 mov r3, r2 80a45e4: 009b lsls r3, r3, #2 80a45e6: 4413 add r3, r2 80a45e8: f107 0268 add.w r2, r7, #104 ; 0x68 80a45ec: 4413 add r3, r2 80a45ee: 3b33 subs r3, #51 ; 0x33 80a45f0: 781b ldrb r3, [r3, #0] 80a45f2: b2db uxtb r3, r3 80a45f4: 461a mov r2, r3 80a45f6: 4b35 ldr r3, [pc, #212] ; (80a46cc ) 80a45f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a45fc: 2282 movs r2, #130 ; 0x82 80a45fe: 21b4 movs r1, #180 ; 0xb4 80a4600: 4618 mov r0, r3 80a4602: f7b0 fef9 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 80a4606: 6d3a ldr r2, [r7, #80] ; 0x50 80a4608: 4613 mov r3, r2 80a460a: 009b lsls r3, r3, #2 80a460c: 4413 add r3, r2 80a460e: f107 0268 add.w r2, r7, #104 ; 0x68 80a4612: 4413 add r3, r2 80a4614: 3b34 subs r3, #52 ; 0x34 80a4616: 781b ldrb r3, [r3, #0] 80a4618: b2db uxtb r3, r3 80a461a: 461a mov r2, r3 80a461c: 4b2b ldr r3, [pc, #172] ; (80a46cc ) 80a461e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4622: 2282 movs r2, #130 ; 0x82 80a4624: 2196 movs r1, #150 ; 0x96 80a4626: 4618 mov r0, r3 80a4628: f7b0 fee6 bl 80553f8 DrawImage(&bmg_dB, 265, 128+9); 80a462c: 2289 movs r2, #137 ; 0x89 80a462e: f240 1109 movw r1, #265 ; 0x109 80a4632: 4828 ldr r0, [pc, #160] ; (80a46d4 ) 80a4634: f7b0 fee0 bl 80553f8 80a4638: e231 b.n 80a4a9e if(ipr == DIS) 80a463a: 6d3b ldr r3, [r7, #80] ; 0x50 80a463c: 2b02 cmp r3, #2 80a463e: f040 822e bne.w 80a4a9e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 80a4642: 6d3a ldr r2, [r7, #80] ; 0x50 80a4644: 4613 mov r3, r2 80a4646: 009b lsls r3, r3, #2 80a4648: 4413 add r3, r2 80a464a: f107 0268 add.w r2, r7, #104 ; 0x68 80a464e: 4413 add r3, r2 80a4650: 3b32 subs r3, #50 ; 0x32 80a4652: 781b ldrb r3, [r3, #0] 80a4654: b2db uxtb r3, r3 80a4656: 461a mov r2, r3 80a4658: 4b1c ldr r3, [pc, #112] ; (80a46cc ) 80a465a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a465e: 22ae movs r2, #174 ; 0xae 80a4660: 21e6 movs r1, #230 ; 0xe6 80a4662: 4618 mov r0, r3 80a4664: f7b0 fec8 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 198); 80a4668: 22c6 movs r2, #198 ; 0xc6 80a466a: 21d7 movs r1, #215 ; 0xd7 80a466c: 4818 ldr r0, [pc, #96] ; (80a46d0 ) 80a466e: f7b0 fec3 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 80a4672: 6d3a ldr r2, [r7, #80] ; 0x50 80a4674: 4613 mov r3, r2 80a4676: 009b lsls r3, r3, #2 80a4678: 4413 add r3, r2 80a467a: f107 0268 add.w r2, r7, #104 ; 0x68 80a467e: 4413 add r3, r2 80a4680: 3b33 subs r3, #51 ; 0x33 80a4682: 781b ldrb r3, [r3, #0] 80a4684: b2db uxtb r3, r3 80a4686: 461a mov r2, r3 80a4688: 4b10 ldr r3, [pc, #64] ; (80a46cc ) 80a468a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a468e: 22ae movs r2, #174 ; 0xae 80a4690: 21b4 movs r1, #180 ; 0xb4 80a4692: 4618 mov r0, r3 80a4694: f7b0 feb0 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 80a4698: 6d3a ldr r2, [r7, #80] ; 0x50 80a469a: 4613 mov r3, r2 80a469c: 009b lsls r3, r3, #2 80a469e: 4413 add r3, r2 80a46a0: f107 0268 add.w r2, r7, #104 ; 0x68 80a46a4: 4413 add r3, r2 80a46a6: 3b34 subs r3, #52 ; 0x34 80a46a8: 781b ldrb r3, [r3, #0] 80a46aa: b2db uxtb r3, r3 80a46ac: 461a mov r2, r3 80a46ae: 4b07 ldr r3, [pc, #28] ; (80a46cc ) 80a46b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a46b4: 22ae movs r2, #174 ; 0xae 80a46b6: 2196 movs r1, #150 ; 0x96 80a46b8: 4618 mov r0, r3 80a46ba: f7b0 fe9d bl 80553f8 DrawImage(&bmg_dB, 265, 180); 80a46be: 22b4 movs r2, #180 ; 0xb4 80a46c0: f240 1109 movw r1, #265 ; 0x109 80a46c4: 4803 ldr r0, [pc, #12] ; (80a46d4 ) 80a46c6: f7b0 fe97 bl 80553f8 80a46ca: e1e8 b.n 80a4a9e 80a46cc: 20020124 .word 0x20020124 80a46d0: 0816be20 .word 0x0816be20 80a46d4: 0816706c .word 0x0816706c 80a46d8: 42c80000 .word 0x42c80000 80a46dc: 51eb851f .word 0x51eb851f 80a46e0: cccccccd .word 0xcccccccd 80a46e4: 447a0000 .word 0x447a0000 if(f < 1000.0f) 80a46e8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a46ec: ed1f 7a03 vldr s14, [pc, #-12] ; 80a46e4 80a46f0: eef4 7ac7 vcmpe.f32 s15, s14 80a46f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a46f8: f140 81d1 bpl.w 80a4a9e ik[ipr][0] = (uint8_t) (k / 1000); 80a46fc: 6d3a ldr r2, [r7, #80] ; 0x50 80a46fe: 6dbb ldr r3, [r7, #88] ; 0x58 80a4700: 49cf ldr r1, [pc, #828] ; (80a4a40 ) 80a4702: fba1 1303 umull r1, r3, r1, r3 80a4706: 099b lsrs r3, r3, #6 80a4708: b2d9 uxtb r1, r3 80a470a: 4613 mov r3, r2 80a470c: 009b lsls r3, r3, #2 80a470e: 4413 add r3, r2 80a4710: f107 0268 add.w r2, r7, #104 ; 0x68 80a4714: 4413 add r3, r2 80a4716: 3b34 subs r3, #52 ; 0x34 80a4718: 460a mov r2, r1 80a471a: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 80a471c: 6d39 ldr r1, [r7, #80] ; 0x50 80a471e: 6dba ldr r2, [r7, #88] ; 0x58 80a4720: 4bc7 ldr r3, [pc, #796] ; (80a4a40 ) 80a4722: fba3 0302 umull r0, r3, r3, r2 80a4726: 099b lsrs r3, r3, #6 80a4728: f44f 707a mov.w r0, #1000 ; 0x3e8 80a472c: fb00 f303 mul.w r3, r0, r3 80a4730: 1ad3 subs r3, r2, r3 80a4732: 4ac4 ldr r2, [pc, #784] ; (80a4a44 ) 80a4734: fba2 2303 umull r2, r3, r2, r3 80a4738: 095b lsrs r3, r3, #5 80a473a: b2da uxtb r2, r3 80a473c: 460b mov r3, r1 80a473e: 009b lsls r3, r3, #2 80a4740: 440b add r3, r1 80a4742: f107 0168 add.w r1, r7, #104 ; 0x68 80a4746: 440b add r3, r1 80a4748: 3b33 subs r3, #51 ; 0x33 80a474a: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 80a474c: 6d39 ldr r1, [r7, #80] ; 0x50 80a474e: 6dba ldr r2, [r7, #88] ; 0x58 80a4750: 4bbb ldr r3, [pc, #748] ; (80a4a40 ) 80a4752: fba3 0302 umull r0, r3, r3, r2 80a4756: 099b lsrs r3, r3, #6 80a4758: f44f 707a mov.w r0, #1000 ; 0x3e8 80a475c: fb00 f303 mul.w r3, r0, r3 80a4760: 1ad3 subs r3, r2, r3 80a4762: 4ab8 ldr r2, [pc, #736] ; (80a4a44 ) 80a4764: fba2 0203 umull r0, r2, r2, r3 80a4768: 0952 lsrs r2, r2, #5 80a476a: 2064 movs r0, #100 ; 0x64 80a476c: fb00 f202 mul.w r2, r0, r2 80a4770: 1a9a subs r2, r3, r2 80a4772: 4bb5 ldr r3, [pc, #724] ; (80a4a48 ) 80a4774: fba3 2302 umull r2, r3, r3, r2 80a4778: 08db lsrs r3, r3, #3 80a477a: b2da uxtb r2, r3 80a477c: 460b mov r3, r1 80a477e: 009b lsls r3, r3, #2 80a4780: 440b add r3, r1 80a4782: f107 0168 add.w r1, r7, #104 ; 0x68 80a4786: 440b add r3, r1 80a4788: 3b32 subs r3, #50 ; 0x32 80a478a: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 80a478c: 6d38 ldr r0, [r7, #80] ; 0x50 80a478e: 6dba ldr r2, [r7, #88] ; 0x58 80a4790: 4bab ldr r3, [pc, #684] ; (80a4a40 ) 80a4792: fba3 1302 umull r1, r3, r3, r2 80a4796: 099b lsrs r3, r3, #6 80a4798: f44f 717a mov.w r1, #1000 ; 0x3e8 80a479c: fb01 f303 mul.w r3, r1, r3 80a47a0: 1ad3 subs r3, r2, r3 80a47a2: 4aa8 ldr r2, [pc, #672] ; (80a4a44 ) 80a47a4: fba2 1203 umull r1, r2, r2, r3 80a47a8: 0952 lsrs r2, r2, #5 80a47aa: 2164 movs r1, #100 ; 0x64 80a47ac: fb01 f202 mul.w r2, r1, r2 80a47b0: 1a9a subs r2, r3, r2 80a47b2: 4ba5 ldr r3, [pc, #660] ; (80a4a48 ) 80a47b4: fba3 1302 umull r1, r3, r3, r2 80a47b8: 08d9 lsrs r1, r3, #3 80a47ba: 460b mov r3, r1 80a47bc: 009b lsls r3, r3, #2 80a47be: 440b add r3, r1 80a47c0: 005b lsls r3, r3, #1 80a47c2: 1ad1 subs r1, r2, r3 80a47c4: b2ca uxtb r2, r1 80a47c6: 4603 mov r3, r0 80a47c8: 009b lsls r3, r3, #2 80a47ca: 4403 add r3, r0 80a47cc: f107 0168 add.w r1, r7, #104 ; 0x68 80a47d0: 440b add r3, r1 80a47d2: 3b31 subs r3, #49 ; 0x31 80a47d4: 701a strb r2, [r3, #0] if(ipr == ACC) 80a47d6: 6d3b ldr r3, [r7, #80] ; 0x50 80a47d8: 2b00 cmp r3, #0 80a47da: d157 bne.n 80a488c DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 80a47dc: 6d3a ldr r2, [r7, #80] ; 0x50 80a47de: 4613 mov r3, r2 80a47e0: 009b lsls r3, r3, #2 80a47e2: 4413 add r3, r2 80a47e4: f107 0268 add.w r2, r7, #104 ; 0x68 80a47e8: 4413 add r3, r2 80a47ea: 3b31 subs r3, #49 ; 0x31 80a47ec: 781b ldrb r3, [r3, #0] 80a47ee: b2db uxtb r3, r3 80a47f0: 461a mov r2, r3 80a47f2: 4b96 ldr r3, [pc, #600] ; (80a4a4c ) 80a47f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a47f8: 2256 movs r2, #86 ; 0x56 80a47fa: 21e6 movs r1, #230 ; 0xe6 80a47fc: 4618 mov r0, r3 80a47fe: f7b0 fdfb bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a4802: 226e movs r2, #110 ; 0x6e 80a4804: 21d7 movs r1, #215 ; 0xd7 80a4806: 4892 ldr r0, [pc, #584] ; (80a4a50 ) 80a4808: f7b0 fdf6 bl 80553f8 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 80a480c: 6d3a ldr r2, [r7, #80] ; 0x50 80a480e: 4613 mov r3, r2 80a4810: 009b lsls r3, r3, #2 80a4812: 4413 add r3, r2 80a4814: f107 0268 add.w r2, r7, #104 ; 0x68 80a4818: 4413 add r3, r2 80a481a: 3b32 subs r3, #50 ; 0x32 80a481c: 781b ldrb r3, [r3, #0] 80a481e: b2db uxtb r3, r3 80a4820: 461a mov r2, r3 80a4822: 4b8a ldr r3, [pc, #552] ; (80a4a4c ) 80a4824: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4828: 2256 movs r2, #86 ; 0x56 80a482a: 21b4 movs r1, #180 ; 0xb4 80a482c: 4618 mov r0, r3 80a482e: f7b0 fde3 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 80a4832: 6d3a ldr r2, [r7, #80] ; 0x50 80a4834: 4613 mov r3, r2 80a4836: 009b lsls r3, r3, #2 80a4838: 4413 add r3, r2 80a483a: f107 0268 add.w r2, r7, #104 ; 0x68 80a483e: 4413 add r3, r2 80a4840: 3b33 subs r3, #51 ; 0x33 80a4842: 781b ldrb r3, [r3, #0] 80a4844: b2db uxtb r3, r3 80a4846: 461a mov r2, r3 80a4848: 4b80 ldr r3, [pc, #512] ; (80a4a4c ) 80a484a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a484e: 2256 movs r2, #86 ; 0x56 80a4850: 2196 movs r1, #150 ; 0x96 80a4852: 4618 mov r0, r3 80a4854: f7b0 fdd0 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 80a4858: 6d3a ldr r2, [r7, #80] ; 0x50 80a485a: 4613 mov r3, r2 80a485c: 009b lsls r3, r3, #2 80a485e: 4413 add r3, r2 80a4860: f107 0268 add.w r2, r7, #104 ; 0x68 80a4864: 4413 add r3, r2 80a4866: 3b34 subs r3, #52 ; 0x34 80a4868: 781b ldrb r3, [r3, #0] 80a486a: b2db uxtb r3, r3 80a486c: 461a mov r2, r3 80a486e: 4b77 ldr r3, [pc, #476] ; (80a4a4c ) 80a4870: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4874: 2256 movs r2, #86 ; 0x56 80a4876: 2178 movs r1, #120 ; 0x78 80a4878: 4618 mov r0, r3 80a487a: f7b0 fdbd bl 80553f8 DrawImage(&bmg_dB, 265, 74+18); 80a487e: 225c movs r2, #92 ; 0x5c 80a4880: f240 1109 movw r1, #265 ; 0x109 80a4884: 4873 ldr r0, [pc, #460] ; (80a4a54 ) 80a4886: f7b0 fdb7 bl 80553f8 80a488a: e108 b.n 80a4a9e if(ipr == VEL) 80a488c: 6d3b ldr r3, [r7, #80] ; 0x50 80a488e: 2b01 cmp r3, #1 80a4890: d157 bne.n 80a4942 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 80a4892: 6d3a ldr r2, [r7, #80] ; 0x50 80a4894: 4613 mov r3, r2 80a4896: 009b lsls r3, r3, #2 80a4898: 4413 add r3, r2 80a489a: f107 0268 add.w r2, r7, #104 ; 0x68 80a489e: 4413 add r3, r2 80a48a0: 3b31 subs r3, #49 ; 0x31 80a48a2: 781b ldrb r3, [r3, #0] 80a48a4: b2db uxtb r3, r3 80a48a6: 461a mov r2, r3 80a48a8: 4b68 ldr r3, [pc, #416] ; (80a4a4c ) 80a48aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a48ae: 2282 movs r2, #130 ; 0x82 80a48b0: 21e6 movs r1, #230 ; 0xe6 80a48b2: 4618 mov r0, r3 80a48b4: f7b0 fda0 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a48b8: 229a movs r2, #154 ; 0x9a 80a48ba: 21d7 movs r1, #215 ; 0xd7 80a48bc: 4864 ldr r0, [pc, #400] ; (80a4a50 ) 80a48be: f7b0 fd9b bl 80553f8 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 80a48c2: 6d3a ldr r2, [r7, #80] ; 0x50 80a48c4: 4613 mov r3, r2 80a48c6: 009b lsls r3, r3, #2 80a48c8: 4413 add r3, r2 80a48ca: f107 0268 add.w r2, r7, #104 ; 0x68 80a48ce: 4413 add r3, r2 80a48d0: 3b32 subs r3, #50 ; 0x32 80a48d2: 781b ldrb r3, [r3, #0] 80a48d4: b2db uxtb r3, r3 80a48d6: 461a mov r2, r3 80a48d8: 4b5c ldr r3, [pc, #368] ; (80a4a4c ) 80a48da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a48de: 2282 movs r2, #130 ; 0x82 80a48e0: 21b4 movs r1, #180 ; 0xb4 80a48e2: 4618 mov r0, r3 80a48e4: f7b0 fd88 bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 80a48e8: 6d3a ldr r2, [r7, #80] ; 0x50 80a48ea: 4613 mov r3, r2 80a48ec: 009b lsls r3, r3, #2 80a48ee: 4413 add r3, r2 80a48f0: f107 0268 add.w r2, r7, #104 ; 0x68 80a48f4: 4413 add r3, r2 80a48f6: 3b33 subs r3, #51 ; 0x33 80a48f8: 781b ldrb r3, [r3, #0] 80a48fa: b2db uxtb r3, r3 80a48fc: 461a mov r2, r3 80a48fe: 4b53 ldr r3, [pc, #332] ; (80a4a4c ) 80a4900: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4904: 2282 movs r2, #130 ; 0x82 80a4906: 2196 movs r1, #150 ; 0x96 80a4908: 4618 mov r0, r3 80a490a: f7b0 fd75 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 80a490e: 6d3a ldr r2, [r7, #80] ; 0x50 80a4910: 4613 mov r3, r2 80a4912: 009b lsls r3, r3, #2 80a4914: 4413 add r3, r2 80a4916: f107 0268 add.w r2, r7, #104 ; 0x68 80a491a: 4413 add r3, r2 80a491c: 3b34 subs r3, #52 ; 0x34 80a491e: 781b ldrb r3, [r3, #0] 80a4920: b2db uxtb r3, r3 80a4922: 461a mov r2, r3 80a4924: 4b49 ldr r3, [pc, #292] ; (80a4a4c ) 80a4926: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a492a: 2282 movs r2, #130 ; 0x82 80a492c: 2178 movs r1, #120 ; 0x78 80a492e: 4618 mov r0, r3 80a4930: f7b0 fd62 bl 80553f8 DrawImage(&bmg_dB, 265, 128+9); 80a4934: 2289 movs r2, #137 ; 0x89 80a4936: f240 1109 movw r1, #265 ; 0x109 80a493a: 4846 ldr r0, [pc, #280] ; (80a4a54 ) 80a493c: f7b0 fd5c bl 80553f8 80a4940: e0ad b.n 80a4a9e if(ipr == DIS) 80a4942: 6d3b ldr r3, [r7, #80] ; 0x50 80a4944: 2b02 cmp r3, #2 80a4946: f040 80aa bne.w 80a4a9e DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 80a494a: 6d3a ldr r2, [r7, #80] ; 0x50 80a494c: 4613 mov r3, r2 80a494e: 009b lsls r3, r3, #2 80a4950: 4413 add r3, r2 80a4952: f107 0268 add.w r2, r7, #104 ; 0x68 80a4956: 4413 add r3, r2 80a4958: 3b31 subs r3, #49 ; 0x31 80a495a: 781b ldrb r3, [r3, #0] 80a495c: b2db uxtb r3, r3 80a495e: 461a mov r2, r3 80a4960: 4b3a ldr r3, [pc, #232] ; (80a4a4c ) 80a4962: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4966: 22ae movs r2, #174 ; 0xae 80a4968: 21e6 movs r1, #230 ; 0xe6 80a496a: 4618 mov r0, r3 80a496c: f7b0 fd44 bl 80553f8 DrawImage(&bmgpt, 95 + 30*4, 198); 80a4970: 22c6 movs r2, #198 ; 0xc6 80a4972: 21d7 movs r1, #215 ; 0xd7 80a4974: 4836 ldr r0, [pc, #216] ; (80a4a50 ) 80a4976: f7b0 fd3f bl 80553f8 DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 80a497a: 6d3a ldr r2, [r7, #80] ; 0x50 80a497c: 4613 mov r3, r2 80a497e: 009b lsls r3, r3, #2 80a4980: 4413 add r3, r2 80a4982: f107 0268 add.w r2, r7, #104 ; 0x68 80a4986: 4413 add r3, r2 80a4988: 3b32 subs r3, #50 ; 0x32 80a498a: 781b ldrb r3, [r3, #0] 80a498c: b2db uxtb r3, r3 80a498e: 461a mov r2, r3 80a4990: 4b2e ldr r3, [pc, #184] ; (80a4a4c ) 80a4992: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a4996: 22ae movs r2, #174 ; 0xae 80a4998: 21b4 movs r1, #180 ; 0xb4 80a499a: 4618 mov r0, r3 80a499c: f7b0 fd2c bl 80553f8 DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 80a49a0: 6d3a ldr r2, [r7, #80] ; 0x50 80a49a2: 4613 mov r3, r2 80a49a4: 009b lsls r3, r3, #2 80a49a6: 4413 add r3, r2 80a49a8: f107 0268 add.w r2, r7, #104 ; 0x68 80a49ac: 4413 add r3, r2 80a49ae: 3b33 subs r3, #51 ; 0x33 80a49b0: 781b ldrb r3, [r3, #0] 80a49b2: b2db uxtb r3, r3 80a49b4: 461a mov r2, r3 80a49b6: 4b25 ldr r3, [pc, #148] ; (80a4a4c ) 80a49b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a49bc: 22ae movs r2, #174 ; 0xae 80a49be: 2196 movs r1, #150 ; 0x96 80a49c0: 4618 mov r0, r3 80a49c2: f7b0 fd19 bl 80553f8 DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 80a49c6: 6d3a ldr r2, [r7, #80] ; 0x50 80a49c8: 4613 mov r3, r2 80a49ca: 009b lsls r3, r3, #2 80a49cc: 4413 add r3, r2 80a49ce: f107 0268 add.w r2, r7, #104 ; 0x68 80a49d2: 4413 add r3, r2 80a49d4: 3b34 subs r3, #52 ; 0x34 80a49d6: 781b ldrb r3, [r3, #0] 80a49d8: b2db uxtb r3, r3 80a49da: 461a mov r2, r3 80a49dc: 4b1b ldr r3, [pc, #108] ; (80a4a4c ) 80a49de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a49e2: 22ae movs r2, #174 ; 0xae 80a49e4: 2178 movs r1, #120 ; 0x78 80a49e6: 4618 mov r0, r3 80a49e8: f7b0 fd06 bl 80553f8 DrawImage(&bmg_dB, 265, 180); 80a49ec: 22b4 movs r2, #180 ; 0xb4 80a49ee: f240 1109 movw r1, #265 ; 0x109 80a49f2: 4818 ldr r0, [pc, #96] ; (80a4a54 ) 80a49f4: f7b0 fd00 bl 80553f8 80a49f8: e051 b.n 80a4a9e if(skz[ACC] != -1.0f) 80a49fa: 4b17 ldr r3, [pc, #92] ; (80a4a58 ) 80a49fc: edd3 7a00 vldr s15, [r3] 80a4a00: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a4a04: eef4 7a47 vcmp.f32 s15, s14 80a4a08: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4a0c: d047 beq.n 80a4a9e if(ipr == VEL) 80a4a0e: 6d3b ldr r3, [r7, #80] ; 0x50 80a4a10: 2b01 cmp r3, #1 80a4a12: d12d bne.n 80a4a70 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a4a14: 4911 ldr r1, [pc, #68] ; (80a4a5c ) 80a4a16: 4812 ldr r0, [pc, #72] ; (80a4a60 ) 80a4a18: f7af fdfa bl 8054610 if(pardata.LANG == RUS) 80a4a1c: 4b11 ldr r3, [pc, #68] ; (80a4a64 ) 80a4a1e: 7b1b ldrb r3, [r3, #12] 80a4a20: b2db uxtb r3, r3 80a4a22: 2b00 cmp r3, #0 80a4a24: d105 bne.n 80a4a32 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a4a26: 4a10 ldr r2, [pc, #64] ; (80a4a68 ) 80a4a28: 2187 movs r1, #135 ; 0x87 80a4a2a: 20a7 movs r0, #167 ; 0xa7 80a4a2c: f7b0 fbb0 bl 8055190 80a4a30: e035 b.n 80a4a9e else LCD_DisplayStringC(167, 135, "NO DATA"); 80a4a32: 4a0e ldr r2, [pc, #56] ; (80a4a6c ) 80a4a34: 2187 movs r1, #135 ; 0x87 80a4a36: 20a7 movs r0, #167 ; 0xa7 80a4a38: f7b0 fbaa bl 8055190 80a4a3c: e02f b.n 80a4a9e 80a4a3e: bf00 nop 80a4a40: 10624dd3 .word 0x10624dd3 80a4a44: 51eb851f .word 0x51eb851f 80a4a48: cccccccd .word 0xcccccccd 80a4a4c: 20020124 .word 0x20020124 80a4a50: 0816be20 .word 0x0816be20 80a4a54: 0816706c .word 0x0816706c 80a4a58: 20021588 .word 0x20021588 80a4a5c: ff0a0f1f .word 0xff0a0f1f 80a4a60: ffb8e828 .word 0xffb8e828 80a4a64: 20023ea8 .word 0x20023ea8 80a4a68: 080d3e64 .word 0x080d3e64 80a4a6c: 080d3e70 .word 0x080d3e70 if(ipr == DIS) 80a4a70: 6d3b ldr r3, [r7, #80] ; 0x50 80a4a72: 2b02 cmp r3, #2 80a4a74: d113 bne.n 80a4a9e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a4a76: 4913 ldr r1, [pc, #76] ; (80a4ac4 ) 80a4a78: 4813 ldr r0, [pc, #76] ; (80a4ac8 ) 80a4a7a: f7af fdc9 bl 8054610 if(pardata.LANG == RUS) 80a4a7e: 4b13 ldr r3, [pc, #76] ; (80a4acc ) 80a4a80: 7b1b ldrb r3, [r3, #12] 80a4a82: b2db uxtb r3, r3 80a4a84: 2b00 cmp r3, #0 80a4a86: d105 bne.n 80a4a94 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a4a88: 4a11 ldr r2, [pc, #68] ; (80a4ad0 ) 80a4a8a: 21b9 movs r1, #185 ; 0xb9 80a4a8c: 20a7 movs r0, #167 ; 0xa7 80a4a8e: f7b0 fb7f bl 8055190 80a4a92: e004 b.n 80a4a9e else LCD_DisplayStringC(167, 185, "NO DATA"); 80a4a94: 4a0f ldr r2, [pc, #60] ; (80a4ad4 ) 80a4a96: 21b9 movs r1, #185 ; 0xb9 80a4a98: 20a7 movs r0, #167 ; 0xa7 80a4a9a: f7b0 fb79 bl 8055190 for(ipr = ACC; ipr <= DIS; ipr++) 80a4a9e: 6d3b ldr r3, [r7, #80] ; 0x50 80a4aa0: 3301 adds r3, #1 80a4aa2: 653b str r3, [r7, #80] ; 0x50 80a4aa4: 6d3b ldr r3, [r7, #80] ; 0x50 80a4aa6: 2b02 cmp r3, #2 80a4aa8: f67e ae0c bls.w 80a36c4 break; 80a4aac: e004 b.n 80a4ab8 80a4aae: e003 b.n 80a4ab8 break; 80a4ab0: bf00 nop 80a4ab2: e002 b.n 80a4aba break; 80a4ab4: bf00 nop 80a4ab6: e000 b.n 80a4aba break; 80a4ab8: bf00 nop } 80a4aba: bf00 nop 80a4abc: 3768 adds r7, #104 ; 0x68 80a4abe: 46bd mov sp, r7 80a4ac0: bd80 pop {r7, pc} 80a4ac2: bf00 nop 80a4ac4: ff0a0f1f .word 0xff0a0f1f 80a4ac8: ffb8e828 .word 0xffb8e828 80a4acc: 20023ea8 .word 0x20023ea8 80a4ad0: 080d3e64 .word 0x080d3e64 80a4ad4: 080d3e70 .word 0x080d3e70 080a4ad8 : void DrawCursorData(void) //TODO { 80a4ad8: b590 push {r4, r7, lr} 80a4ada: b09d sub sp, #116 ; 0x74 80a4adc: af00 add r7, sp, #0 #ifdef SMALL_NUMS_GRAF BSP_LCD_SetFont(&Font8); 80a4ade: 48bc ldr r0, [pc, #752] ; (80a4dd0 ) 80a4ae0: f7af fdd2 bl 8054688 if(menu == MAIN_SYGNAL) 80a4ae4: 4bbb ldr r3, [pc, #748] ; (80a4dd4 ) 80a4ae6: 781b ldrb r3, [r3, #0] 80a4ae8: b2db uxtb r3, r3 80a4aea: 2b20 cmp r3, #32 80a4aec: f040 85ea bne.w 80a56c4 { if(menupos == Cursor) 80a4af0: 4bb9 ldr r3, [pc, #740] ; (80a4dd8 ) 80a4af2: 781b ldrb r3, [r3, #0] 80a4af4: b2db uxtb r3, r3 80a4af6: 2b06 cmp r3, #6 80a4af8: d105 bne.n 80a4b06 LCD_SetColors(LCD_COLOR_RED, 0xFF000000); 80a4afa: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a4afe: 48b7 ldr r0, [pc, #732] ; (80a4ddc ) 80a4b00: f7af fd86 bl 8054610 80a4b04: e004 b.n 80a4b10 else LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a4b06: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a4b0a: 48b5 ldr r0, [pc, #724] ; (80a4de0 ) 80a4b0c: f7af fd80 bl 8054610 delta = PlayingState.FrameSize / 256; 80a4b10: 4bb4 ldr r3, [pc, #720] ; (80a4de4 ) 80a4b12: 689b ldr r3, [r3, #8] 80a4b14: 0a1b lsrs r3, r3, #8 80a4b16: 66bb str r3, [r7, #104] ; 0x68 pos = CURSOR * delta; 80a4b18: 4bb3 ldr r3, [pc, #716] ; (80a4de8 ) 80a4b1a: 681b ldr r3, [r3, #0] 80a4b1c: 6eba ldr r2, [r7, #104] ; 0x68 80a4b1e: fb02 f303 mul.w r3, r2, r3 80a4b22: 667b str r3, [r7, #100] ; 0x64 arm_max_f32(&ScrA_f32(pos), delta, &maxf, &n2); 80a4b24: 6e7b ldr r3, [r7, #100] ; 0x64 80a4b26: 009a lsls r2, r3, #2 80a4b28: 4bb0 ldr r3, [pc, #704] ; (80a4dec ) 80a4b2a: 4413 add r3, r2 80a4b2c: 4618 mov r0, r3 80a4b2e: f107 0348 add.w r3, r7, #72 ; 0x48 80a4b32: f107 0240 add.w r2, r7, #64 ; 0x40 80a4b36: 6eb9 ldr r1, [r7, #104] ; 0x68 80a4b38: f029 fc6c bl 80ce414 arm_min_f32(&ScrA_f32(pos), delta, &minf, &n1); 80a4b3c: 6e7b ldr r3, [r7, #100] ; 0x64 80a4b3e: 009a lsls r2, r3, #2 80a4b40: 4baa ldr r3, [pc, #680] ; (80a4dec ) 80a4b42: 4413 add r3, r2 80a4b44: 4618 mov r0, r3 80a4b46: f107 034c add.w r3, r7, #76 ; 0x4c 80a4b4a: f107 0244 add.w r2, r7, #68 ; 0x44 80a4b4e: 6eb9 ldr r1, [r7, #104] ; 0x68 80a4b50: f029 fbc4 bl 80ce2dc if((maxf > 0) && (minf < 0)) 80a4b54: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4b58: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4b5c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4b60: dd33 ble.n 80a4bca 80a4b62: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4b66: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4b6a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4b6e: d52c bpl.n 80a4bca { if(ABS(maxf) < ABS(minf)) 80a4b70: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4b74: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4b78: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4b7c: dd02 ble.n 80a4b84 80a4b7e: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a4b82: e003 b.n 80a4b8c 80a4b84: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4b88: eeb1 7a67 vneg.f32 s14, s15 80a4b8c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4b90: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4b94: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4b98: dd02 ble.n 80a4ba0 80a4b9a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4b9e: e003 b.n 80a4ba8 80a4ba0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4ba4: eef1 7a67 vneg.f32 s15, s15 80a4ba8: eeb4 7ae7 vcmpe.f32 s14, s15 80a4bac: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4bb0: d505 bpl.n 80a4bbe { CurVal = minf; 80a4bb2: 6c7b ldr r3, [r7, #68] ; 0x44 80a4bb4: 4a8e ldr r2, [pc, #568] ; (80a4df0 ) 80a4bb6: 6013 str r3, [r2, #0] l = n1; 80a4bb8: 6cfb ldr r3, [r7, #76] ; 0x4c 80a4bba: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a4bbc: e054 b.n 80a4c68 } else { CurVal = maxf; 80a4bbe: 6c3b ldr r3, [r7, #64] ; 0x40 80a4bc0: 4a8b ldr r2, [pc, #556] ; (80a4df0 ) 80a4bc2: 6013 str r3, [r2, #0] l = n2; 80a4bc4: 6cbb ldr r3, [r7, #72] ; 0x48 80a4bc6: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a4bc8: e04e b.n 80a4c68 } } else if((maxf > 0) && (minf > 0)) 80a4bca: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4bce: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4bd2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4bd6: dd0c ble.n 80a4bf2 80a4bd8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4bdc: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4be0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4be4: dd05 ble.n 80a4bf2 { CurVal = maxf; 80a4be6: 6c3b ldr r3, [r7, #64] ; 0x40 80a4be8: 4a81 ldr r2, [pc, #516] ; (80a4df0 ) 80a4bea: 6013 str r3, [r2, #0] l = n2; 80a4bec: 6cbb ldr r3, [r7, #72] ; 0x48 80a4bee: 653b str r3, [r7, #80] ; 0x50 80a4bf0: e03a b.n 80a4c68 } else if((maxf < 0) && (minf < 0)) 80a4bf2: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4bf6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4bfa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4bfe: d50c bpl.n 80a4c1a 80a4c00: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4c04: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4c08: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4c0c: d505 bpl.n 80a4c1a { CurVal = minf; 80a4c0e: 6c7b ldr r3, [r7, #68] ; 0x44 80a4c10: 4a77 ldr r2, [pc, #476] ; (80a4df0 ) 80a4c12: 6013 str r3, [r2, #0] l = n1; 80a4c14: 6cfb ldr r3, [r7, #76] ; 0x4c 80a4c16: 653b str r3, [r7, #80] ; 0x50 80a4c18: e026 b.n 80a4c68 } else if((maxf >= 0) && (minf == 0)) 80a4c1a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4c1e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4c22: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4c26: db0c blt.n 80a4c42 80a4c28: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4c2c: eef5 7a40 vcmp.f32 s15, #0.0 80a4c30: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4c34: d105 bne.n 80a4c42 { CurVal = maxf; 80a4c36: 6c3b ldr r3, [r7, #64] ; 0x40 80a4c38: 4a6d ldr r2, [pc, #436] ; (80a4df0 ) 80a4c3a: 6013 str r3, [r2, #0] l = n2; 80a4c3c: 6cbb ldr r3, [r7, #72] ; 0x48 80a4c3e: 653b str r3, [r7, #80] ; 0x50 80a4c40: e012 b.n 80a4c68 } else if((maxf == 0) && (minf <= 0)) 80a4c42: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4c46: eef5 7a40 vcmp.f32 s15, #0.0 80a4c4a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4c4e: d10b bne.n 80a4c68 80a4c50: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a4c54: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4c58: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4c5c: d804 bhi.n 80a4c68 { CurVal = minf; 80a4c5e: 6c7b ldr r3, [r7, #68] ; 0x44 80a4c60: 4a63 ldr r2, [pc, #396] ; (80a4df0 ) 80a4c62: 6013 str r3, [r2, #0] l = n1; 80a4c64: 6cfb ldr r3, [r7, #76] ; 0x4c 80a4c66: 653b str r3, [r7, #80] ; 0x50 } fineMpos = Mpos + l; 80a4c68: 6d3b ldr r3, [r7, #80] ; 0x50 80a4c6a: b29a uxth r2, r3 80a4c6c: 4b61 ldr r3, [pc, #388] ; (80a4df4 ) 80a4c6e: 881b ldrh r3, [r3, #0] 80a4c70: b29b uxth r3, r3 80a4c72: 4413 add r3, r2 80a4c74: b29a uxth r2, r3 80a4c76: 4b60 ldr r3, [pc, #384] ; (80a4df8 ) 80a4c78: 801a strh r2, [r3, #0] Val = CurVal; 80a4c7a: 4b5d ldr r3, [pc, #372] ; (80a4df0 ) 80a4c7c: 681b ldr r3, [r3, #0] 80a4c7e: 63fb str r3, [r7, #60] ; 0x3c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a4c80: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a4c84: 485d ldr r0, [pc, #372] ; (80a4dfc ) 80a4c86: f7af fcc3 bl 8054610 if(ABS(Val) >= 1000.0f) 80a4c8a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a4c8e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4c92: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4c96: dd0c ble.n 80a4cb2 80a4c98: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a4c9c: ed9f 7a58 vldr s14, [pc, #352] ; 80a4e00 80a4ca0: eef4 7ac7 vcmpe.f32 s15, s14 80a4ca4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4ca8: bfac ite ge 80a4caa: 2301 movge r3, #1 80a4cac: 2300 movlt r3, #0 80a4cae: b2db uxtb r3, r3 80a4cb0: e00b b.n 80a4cca 80a4cb2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a4cb6: ed9f 7a53 vldr s14, [pc, #332] ; 80a4e04 80a4cba: eef4 7ac7 vcmpe.f32 s15, s14 80a4cbe: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4cc2: bf94 ite ls 80a4cc4: 2301 movls r3, #1 80a4cc6: 2300 movhi r3, #0 80a4cc8: b2db uxtb r3, r3 80a4cca: 2b00 cmp r3, #0 80a4ccc: d028 beq.n 80a4d20 { Val *= 0.001f; 80a4cce: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a4cd2: ed9f 7a4d vldr s14, [pc, #308] ; 80a4e08 80a4cd6: ee67 7a87 vmul.f32 s15, s15, s14 80a4cda: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a4cde: 4b4b ldr r3, [pc, #300] ; (80a4e0c ) 80a4ce0: 7b1b ldrb r3, [r3, #12] 80a4ce2: b2db uxtb r3, r3 80a4ce4: 2b00 cmp r3, #0 80a4ce6: d106 bne.n 80a4cf6 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a4ce8: 2303 movs r3, #3 80a4cea: 4a49 ldr r2, [pc, #292] ; (80a4e10 ) 80a4cec: 212d movs r1, #45 ; 0x2d 80a4cee: 20dc movs r0, #220 ; 0xdc 80a4cf0: f7af fd54 bl 805479c 80a4cf4: e005 b.n 80a4d02 else BSP_LCD_DisplayStringAt(220, 45, "km/c^", LEFT_MODE); 80a4cf6: 2303 movs r3, #3 80a4cf8: 4a46 ldr r2, [pc, #280] ; (80a4e14 ) 80a4cfa: 212d movs r1, #45 ; 0x2d 80a4cfc: 20dc movs r0, #220 ; 0xdc 80a4cfe: f7af fd4d bl 805479c BSP_LCD_DisplayStringAt(220-3, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a4d02: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a4d06: f06f 0002 mvn.w r0, #2 80a4d0a: eeb0 0a67 vmov.f32 s0, s15 80a4d0e: f7c2 fc47 bl 80675a0 80a4d12: 4602 mov r2, r0 80a4d14: 2302 movs r3, #2 80a4d16: 212d movs r1, #45 ; 0x2d 80a4d18: 20d9 movs r0, #217 ; 0xd9 80a4d1a: f7af fd3f bl 805479c 80a4d1e: e099 b.n 80a4e54 } else if(ABS(Val) >= 0.1f) 80a4d20: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a4d24: eef5 7ac0 vcmpe.f32 s15, #0.0 80a4d28: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4d2c: dd0c ble.n 80a4d48 80a4d2e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a4d32: ed9f 7a39 vldr s14, [pc, #228] ; 80a4e18 80a4d36: eef4 7ac7 vcmpe.f32 s15, s14 80a4d3a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4d3e: bfac ite ge 80a4d40: 2301 movge r3, #1 80a4d42: 2300 movlt r3, #0 80a4d44: b2db uxtb r3, r3 80a4d46: e00b b.n 80a4d60 80a4d48: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a4d4c: ed9f 7a33 vldr s14, [pc, #204] ; 80a4e1c 80a4d50: eef4 7ac7 vcmpe.f32 s15, s14 80a4d54: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4d58: bf94 ite ls 80a4d5a: 2301 movls r3, #1 80a4d5c: 2300 movhi r3, #0 80a4d5e: b2db uxtb r3, r3 80a4d60: 2b00 cmp r3, #0 80a4d62: d020 beq.n 80a4da6 { if(pardata.LANG == RUS) 80a4d64: 4b29 ldr r3, [pc, #164] ; (80a4e0c ) 80a4d66: 7b1b ldrb r3, [r3, #12] 80a4d68: b2db uxtb r3, r3 80a4d6a: 2b00 cmp r3, #0 80a4d6c: d106 bne.n 80a4d7c BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a4d6e: 2303 movs r3, #3 80a4d70: 4a2b ldr r2, [pc, #172] ; (80a4e20 ) 80a4d72: 212d movs r1, #45 ; 0x2d 80a4d74: 20dc movs r0, #220 ; 0xdc 80a4d76: f7af fd11 bl 805479c 80a4d7a: e005 b.n 80a4d88 else BSP_LCD_DisplayStringAt(220, 45, "m/c^", LEFT_MODE); 80a4d7c: 2303 movs r3, #3 80a4d7e: 4a29 ldr r2, [pc, #164] ; (80a4e24 ) 80a4d80: 212d movs r1, #45 ; 0x2d 80a4d82: 20dc movs r0, #220 ; 0xdc 80a4d84: f7af fd0a bl 805479c BSP_LCD_DisplayStringAt(220-3, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a4d88: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a4d8c: f06f 0002 mvn.w r0, #2 80a4d90: eeb0 0a67 vmov.f32 s0, s15 80a4d94: f7c2 fc04 bl 80675a0 80a4d98: 4602 mov r2, r0 80a4d9a: 2302 movs r3, #2 80a4d9c: 212d movs r1, #45 ; 0x2d 80a4d9e: 20d9 movs r0, #217 ; 0xd9 80a4da0: f7af fcfc bl 805479c 80a4da4: e056 b.n 80a4e54 } else { Val *= 1000.0f; 80a4da6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a4daa: ed9f 7a15 vldr s14, [pc, #84] ; 80a4e00 80a4dae: ee67 7a87 vmul.f32 s15, s15, s14 80a4db2: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a4db6: 4b15 ldr r3, [pc, #84] ; (80a4e0c ) 80a4db8: 7b1b ldrb r3, [r3, #12] 80a4dba: b2db uxtb r3, r3 80a4dbc: 2b00 cmp r3, #0 80a4dbe: d135 bne.n 80a4e2c BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a4dc0: 2303 movs r3, #3 80a4dc2: 4a19 ldr r2, [pc, #100] ; (80a4e28 ) 80a4dc4: 212d movs r1, #45 ; 0x2d 80a4dc6: 20dc movs r0, #220 ; 0xdc 80a4dc8: f7af fce8 bl 805479c 80a4dcc: e034 b.n 80a4e38 80a4dce: bf00 nop 80a4dd0: 20020060 .word 0x20020060 80a4dd4: 20020fbd .word 0x20020fbd 80a4dd8: 20020070 .word 0x20020070 80a4ddc: ffff0000 .word 0xffff0000 80a4de0: ff808080 .word 0xff808080 80a4de4: 20022920 .word 0x20022920 80a4de8: 2002006c .word 0x2002006c 80a4dec: 64080000 .word 0x64080000 80a4df0: 200215b4 .word 0x200215b4 80a4df4: 20025d5e .word 0x20025d5e 80a4df8: 20025d64 .word 0x20025d64 80a4dfc: ff26a01f .word 0xff26a01f 80a4e00: 447a0000 .word 0x447a0000 80a4e04: c47a0000 .word 0xc47a0000 80a4e08: 3a83126f .word 0x3a83126f 80a4e0c: 20023ea8 .word 0x20023ea8 80a4e10: 080d4db0 .word 0x080d4db0 80a4e14: 080d4db8 .word 0x080d4db8 80a4e18: 3dcccccd .word 0x3dcccccd 80a4e1c: bdcccccd .word 0xbdcccccd 80a4e20: 080d4dc0 .word 0x080d4dc0 80a4e24: 080d4dc8 .word 0x080d4dc8 80a4e28: 080d4dd0 .word 0x080d4dd0 else BSP_LCD_DisplayStringAt(220, 45, "mm/c^", LEFT_MODE); 80a4e2c: 2303 movs r3, #3 80a4e2e: 4ac4 ldr r2, [pc, #784] ; (80a5140 ) 80a4e30: 212d movs r1, #45 ; 0x2d 80a4e32: 20dc movs r0, #220 ; 0xdc 80a4e34: f7af fcb2 bl 805479c BSP_LCD_DisplayStringAt(220-3, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a4e38: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a4e3c: f06f 0002 mvn.w r0, #2 80a4e40: eeb0 0a67 vmov.f32 s0, s15 80a4e44: f7c2 fbac bl 80675a0 80a4e48: 4602 mov r2, r0 80a4e4a: 2302 movs r3, #2 80a4e4c: 212d movs r1, #45 ; 0x2d 80a4e4e: 20d9 movs r0, #217 ; 0xd9 80a4e50: f7af fca4 bl 805479c } //************************************************************************************************************** step = PlayingState.FrameSize >> 8; 80a4e54: 4bbb ldr r3, [pc, #748] ; (80a5144 ) 80a4e56: 689b ldr r3, [r3, #8] 80a4e58: 0a1b lsrs r3, r3, #8 80a4e5a: 663b str r3, [r7, #96] ; 0x60 dt = (PlayingState.TimeLength / (float32_t) PlayingState.NumFrames) / ((float32_t) PlayingState.FrameSize); 80a4e5c: 4bb9 ldr r3, [pc, #740] ; (80a5144 ) 80a4e5e: ed93 7a07 vldr s14, [r3, #28] 80a4e62: 4bb8 ldr r3, [pc, #736] ; (80a5144 ) 80a4e64: 685b ldr r3, [r3, #4] 80a4e66: ee07 3a90 vmov s15, r3 80a4e6a: eef8 7a67 vcvt.f32.u32 s15, s15 80a4e6e: eec7 6a27 vdiv.f32 s13, s14, s15 80a4e72: 4bb4 ldr r3, [pc, #720] ; (80a5144 ) 80a4e74: 689b ldr r3, [r3, #8] 80a4e76: ee07 3a90 vmov s15, r3 80a4e7a: eeb8 7a67 vcvt.f32.u32 s14, s15 80a4e7e: eec6 7a87 vdiv.f32 s15, s13, s14 80a4e82: edc7 7a17 vstr s15, [r7, #92] ; 0x5c curtime = ((float32_t)(CURSOR + 1)) * (float32_t)step; 80a4e86: 4bb0 ldr r3, [pc, #704] ; (80a5148 ) 80a4e88: 681b ldr r3, [r3, #0] 80a4e8a: 3301 adds r3, #1 80a4e8c: ee07 3a90 vmov s15, r3 80a4e90: eeb8 7a67 vcvt.f32.u32 s14, s15 80a4e94: 6e3b ldr r3, [r7, #96] ; 0x60 80a4e96: ee07 3a90 vmov s15, r3 80a4e9a: eef8 7a67 vcvt.f32.u32 s15, s15 80a4e9e: ee67 7a27 vmul.f32 s15, s14, s15 80a4ea2: edc7 7a16 vstr s15, [r7, #88] ; 0x58 curtime *= dt; 80a4ea6: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a4eaa: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80a4eae: ee67 7a27 vmul.f32 s15, s14, s15 80a4eb2: edc7 7a16 vstr s15, [r7, #88] ; 0x58 curtime += (((float32_t)(PlayingState.FrameSize * PlayingState.CurrentFrame)) * dt); 80a4eb6: 4ba3 ldr r3, [pc, #652] ; (80a5144 ) 80a4eb8: 689b ldr r3, [r3, #8] 80a4eba: 4aa2 ldr r2, [pc, #648] ; (80a5144 ) 80a4ebc: 6812 ldr r2, [r2, #0] 80a4ebe: fb02 f303 mul.w r3, r2, r3 80a4ec2: ee07 3a90 vmov s15, r3 80a4ec6: eeb8 7a67 vcvt.f32.u32 s14, s15 80a4eca: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80a4ece: ee67 7a27 vmul.f32 s15, s14, s15 80a4ed2: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a4ed6: ee77 7a27 vadd.f32 s15, s14, s15 80a4eda: edc7 7a16 vstr s15, [r7, #88] ; 0x58 TF = curtime * 1000; 80a4ede: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a4ee2: ed9f 7a9a vldr s14, [pc, #616] ; 80a514c 80a4ee6: ee67 7a87 vmul.f32 s15, s15, s14 80a4eea: 4b99 ldr r3, [pc, #612] ; (80a5150 ) 80a4eec: edc3 7a00 vstr s15, [r3] LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a4ef0: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a4ef4: 4897 ldr r0, [pc, #604] ; (80a5154 ) 80a4ef6: f7af fb8b bl 8054610 tmpF = TF; 80a4efa: 4b95 ldr r3, [pc, #596] ; (80a5150 ) 80a4efc: 681b ldr r3, [r3, #0] 80a4efe: 657b str r3, [r7, #84] ; 0x54 if(tmpF >= 1000.0f) 80a4f00: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a4f04: ed9f 7a91 vldr s14, [pc, #580] ; 80a514c 80a4f08: eef4 7ac7 vcmpe.f32 s15, s14 80a4f0c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4f10: db29 blt.n 80a4f66 { tmpF *= 0.001f; 80a4f12: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a4f16: ed9f 7a90 vldr s14, [pc, #576] ; 80a5158 80a4f1a: ee67 7a87 vmul.f32 s15, s15, s14 80a4f1e: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a4f22: 4b8e ldr r3, [pc, #568] ; (80a515c ) 80a4f24: 7b1b ldrb r3, [r3, #12] 80a4f26: b2db uxtb r3, r3 80a4f28: 2b00 cmp r3, #0 80a4f2a: d107 bne.n 80a4f3c BSP_LCD_DisplayStringAt(302, 45, "c", LEFT_MODE); 80a4f2c: 2303 movs r3, #3 80a4f2e: 4a8c ldr r2, [pc, #560] ; (80a5160 ) 80a4f30: 212d movs r1, #45 ; 0x2d 80a4f32: f44f 7097 mov.w r0, #302 ; 0x12e 80a4f36: f7af fc31 bl 805479c 80a4f3a: e006 b.n 80a4f4a else BSP_LCD_DisplayStringAt(302, 45, "s", LEFT_MODE); 80a4f3c: 2303 movs r3, #3 80a4f3e: 4a89 ldr r2, [pc, #548] ; (80a5164 ) 80a4f40: 212d movs r1, #45 ; 0x2d 80a4f42: f44f 7097 mov.w r0, #302 ; 0x12e 80a4f46: f7af fc29 bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a4f4a: f06f 0004 mvn.w r0, #4 80a4f4e: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a4f52: f7c2 fb25 bl 80675a0 80a4f56: 4602 mov r2, r0 80a4f58: 2302 movs r3, #2 80a4f5a: 212d movs r1, #45 ; 0x2d 80a4f5c: f240 102b movw r0, #299 ; 0x12b 80a4f60: f7af fc1c bl 805479c 80a4f64: e053 b.n 80a500e } else if(tmpF < 0.1f) 80a4f66: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a4f6a: ed9f 7a7f vldr s14, [pc, #508] ; 80a5168 80a4f6e: eef4 7ac7 vcmpe.f32 s15, s14 80a4f72: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4f76: d529 bpl.n 80a4fcc { tmpF *= 1000.0f; 80a4f78: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a4f7c: ed9f 7a73 vldr s14, [pc, #460] ; 80a514c 80a4f80: ee67 7a87 vmul.f32 s15, s15, s14 80a4f84: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a4f88: 4b74 ldr r3, [pc, #464] ; (80a515c ) 80a4f8a: 7b1b ldrb r3, [r3, #12] 80a4f8c: b2db uxtb r3, r3 80a4f8e: 2b00 cmp r3, #0 80a4f90: d107 bne.n 80a4fa2 BSP_LCD_DisplayStringAt(302, 45, "&kc", LEFT_MODE); 80a4f92: 2303 movs r3, #3 80a4f94: 4a75 ldr r2, [pc, #468] ; (80a516c ) 80a4f96: 212d movs r1, #45 ; 0x2d 80a4f98: f44f 7097 mov.w r0, #302 ; 0x12e 80a4f9c: f7af fbfe bl 805479c 80a4fa0: e006 b.n 80a4fb0 else BSP_LCD_DisplayStringAt(302, 45, "us", LEFT_MODE); 80a4fa2: 2303 movs r3, #3 80a4fa4: 4a72 ldr r2, [pc, #456] ; (80a5170 ) 80a4fa6: 212d movs r1, #45 ; 0x2d 80a4fa8: f44f 7097 mov.w r0, #302 ; 0x12e 80a4fac: f7af fbf6 bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a4fb0: f06f 0004 mvn.w r0, #4 80a4fb4: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a4fb8: f7c2 faf2 bl 80675a0 80a4fbc: 4602 mov r2, r0 80a4fbe: 2302 movs r3, #2 80a4fc0: 212d movs r1, #45 ; 0x2d 80a4fc2: f240 102b movw r0, #299 ; 0x12b 80a4fc6: f7af fbe9 bl 805479c 80a4fca: e020 b.n 80a500e } else { if(pardata.LANG == RUS) 80a4fcc: 4b63 ldr r3, [pc, #396] ; (80a515c ) 80a4fce: 7b1b ldrb r3, [r3, #12] 80a4fd0: b2db uxtb r3, r3 80a4fd2: 2b00 cmp r3, #0 80a4fd4: d107 bne.n 80a4fe6 BSP_LCD_DisplayStringAt(302, 45, "&c", LEFT_MODE); 80a4fd6: 2303 movs r3, #3 80a4fd8: 4a66 ldr r2, [pc, #408] ; (80a5174 ) 80a4fda: 212d movs r1, #45 ; 0x2d 80a4fdc: f44f 7097 mov.w r0, #302 ; 0x12e 80a4fe0: f7af fbdc bl 805479c 80a4fe4: e006 b.n 80a4ff4 else BSP_LCD_DisplayStringAt(302, 45, "ms", LEFT_MODE); 80a4fe6: 2303 movs r3, #3 80a4fe8: 4a63 ldr r2, [pc, #396] ; (80a5178 ) 80a4fea: 212d movs r1, #45 ; 0x2d 80a4fec: f44f 7097 mov.w r0, #302 ; 0x12e 80a4ff0: f7af fbd4 bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a4ff4: f06f 0004 mvn.w r0, #4 80a4ff8: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a4ffc: f7c2 fad0 bl 80675a0 80a5000: 4602 mov r2, r0 80a5002: 2302 movs r3, #2 80a5004: 212d movs r1, #45 ; 0x2d 80a5006: f240 102b movw r0, #299 ; 0x12b 80a500a: f7af fbc7 bl 805479c } ///////////////////////////////////////////////////////////////////////////////////// /////////////////////////////// DynamicCursor SYGNAL //////////////////////////////// for(i = 0; i < 2; i++) 80a500e: 2300 movs r3, #0 80a5010: 66fb str r3, [r7, #108] ; 0x6c 80a5012: e333 b.n 80a567c { if(DynamicCursor[i].Enabled) 80a5014: 4a59 ldr r2, [pc, #356] ; (80a517c ) 80a5016: 6efb ldr r3, [r7, #108] ; 0x6c 80a5018: 011b lsls r3, r3, #4 80a501a: 4413 add r3, r2 80a501c: 781b ldrb r3, [r3, #0] 80a501e: 2b00 cmp r3, #0 80a5020: f000 8329 beq.w 80a5676 { LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a5024: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5028: 484a ldr r0, [pc, #296] ; (80a5154 ) 80a502a: f7af faf1 bl 8054610 delta = PlayingState.FrameSize / 256; 80a502e: 4b45 ldr r3, [pc, #276] ; (80a5144 ) 80a5030: 689b ldr r3, [r3, #8] 80a5032: 0a1b lsrs r3, r3, #8 80a5034: 66bb str r3, [r7, #104] ; 0x68 DynamicCursor[i].Mpos = DynamicCursor[i].CURSOR * delta; 80a5036: 4a51 ldr r2, [pc, #324] ; (80a517c ) 80a5038: 6efb ldr r3, [r7, #108] ; 0x6c 80a503a: 011b lsls r3, r3, #4 80a503c: 4413 add r3, r2 80a503e: 3302 adds r3, #2 80a5040: 881a ldrh r2, [r3, #0] 80a5042: 6ebb ldr r3, [r7, #104] ; 0x68 80a5044: b29b uxth r3, r3 80a5046: fb12 f303 smulbb r3, r2, r3 80a504a: b299 uxth r1, r3 80a504c: 4a4b ldr r2, [pc, #300] ; (80a517c ) 80a504e: 6efb ldr r3, [r7, #108] ; 0x6c 80a5050: 011b lsls r3, r3, #4 80a5052: 4413 add r3, r2 80a5054: 3304 adds r3, #4 80a5056: 460a mov r2, r1 80a5058: 801a strh r2, [r3, #0] arm_max_f32(&ScrA_f32(DynamicCursor[i].Mpos), delta, &maxf, &n2); 80a505a: 4a48 ldr r2, [pc, #288] ; (80a517c ) 80a505c: 6efb ldr r3, [r7, #108] ; 0x6c 80a505e: 011b lsls r3, r3, #4 80a5060: 4413 add r3, r2 80a5062: 3304 adds r3, #4 80a5064: 881b ldrh r3, [r3, #0] 80a5066: 009b lsls r3, r3, #2 80a5068: 461a mov r2, r3 80a506a: 4b45 ldr r3, [pc, #276] ; (80a5180 ) 80a506c: 4413 add r3, r2 80a506e: 4618 mov r0, r3 80a5070: f107 0348 add.w r3, r7, #72 ; 0x48 80a5074: f107 0240 add.w r2, r7, #64 ; 0x40 80a5078: 6eb9 ldr r1, [r7, #104] ; 0x68 80a507a: f029 f9cb bl 80ce414 arm_min_f32(&ScrA_f32(DynamicCursor[i].Mpos), delta, &minf, &n1); 80a507e: 4a3f ldr r2, [pc, #252] ; (80a517c ) 80a5080: 6efb ldr r3, [r7, #108] ; 0x6c 80a5082: 011b lsls r3, r3, #4 80a5084: 4413 add r3, r2 80a5086: 3304 adds r3, #4 80a5088: 881b ldrh r3, [r3, #0] 80a508a: 009b lsls r3, r3, #2 80a508c: 461a mov r2, r3 80a508e: 4b3c ldr r3, [pc, #240] ; (80a5180 ) 80a5090: 4413 add r3, r2 80a5092: 4618 mov r0, r3 80a5094: f107 034c add.w r3, r7, #76 ; 0x4c 80a5098: f107 0244 add.w r2, r7, #68 ; 0x44 80a509c: 6eb9 ldr r1, [r7, #104] ; 0x68 80a509e: f029 f91d bl 80ce2dc if((maxf > 0) && (minf < 0)) 80a50a2: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a50a6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a50aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a50ae: dd33 ble.n 80a5118 80a50b0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a50b4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a50b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a50bc: d52c bpl.n 80a5118 { if(ABS(maxf) < ABS(minf)) 80a50be: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a50c2: eef5 7ac0 vcmpe.f32 s15, #0.0 80a50c6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a50ca: dd02 ble.n 80a50d2 80a50cc: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a50d0: e003 b.n 80a50da 80a50d2: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a50d6: eeb1 7a67 vneg.f32 s14, s15 80a50da: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a50de: eef5 7ac0 vcmpe.f32 s15, #0.0 80a50e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a50e6: dd02 ble.n 80a50ee 80a50e8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a50ec: e003 b.n 80a50f6 80a50ee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a50f2: eef1 7a67 vneg.f32 s15, s15 80a50f6: eeb4 7ae7 vcmpe.f32 s14, s15 80a50fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a50fe: d505 bpl.n 80a510c { CurVal = minf; 80a5100: 6c7b ldr r3, [r7, #68] ; 0x44 80a5102: 4a20 ldr r2, [pc, #128] ; (80a5184 ) 80a5104: 6013 str r3, [r2, #0] l = n1; 80a5106: 6cfb ldr r3, [r7, #76] ; 0x4c 80a5108: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a510a: e078 b.n 80a51fe } else { CurVal = maxf; 80a510c: 6c3b ldr r3, [r7, #64] ; 0x40 80a510e: 4a1d ldr r2, [pc, #116] ; (80a5184 ) 80a5110: 6013 str r3, [r2, #0] l = n2; 80a5112: 6cbb ldr r3, [r7, #72] ; 0x48 80a5114: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a5116: e072 b.n 80a51fe } } else if((maxf > 0) && (minf > 0)) 80a5118: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a511c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5120: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5124: dd30 ble.n 80a5188 80a5126: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a512a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a512e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5132: dd29 ble.n 80a5188 { CurVal = maxf; 80a5134: 6c3b ldr r3, [r7, #64] ; 0x40 80a5136: 4a13 ldr r2, [pc, #76] ; (80a5184 ) 80a5138: 6013 str r3, [r2, #0] l = n2; 80a513a: 6cbb ldr r3, [r7, #72] ; 0x48 80a513c: 653b str r3, [r7, #80] ; 0x50 80a513e: e05e b.n 80a51fe 80a5140: 080d4dd8 .word 0x080d4dd8 80a5144: 20022920 .word 0x20022920 80a5148: 2002006c .word 0x2002006c 80a514c: 447a0000 .word 0x447a0000 80a5150: 200215b8 .word 0x200215b8 80a5154: ff808080 .word 0xff808080 80a5158: 3a83126f .word 0x3a83126f 80a515c: 20023ea8 .word 0x20023ea8 80a5160: 080d4de0 .word 0x080d4de0 80a5164: 080d4de4 .word 0x080d4de4 80a5168: 3dcccccd .word 0x3dcccccd 80a516c: 080d4de8 .word 0x080d4de8 80a5170: 080d4dec .word 0x080d4dec 80a5174: 080d4df0 .word 0x080d4df0 80a5178: 080d4df4 .word 0x080d4df4 80a517c: 20020f8c .word 0x20020f8c 80a5180: 64080000 .word 0x64080000 80a5184: 200215b4 .word 0x200215b4 } else if((maxf < 0) && (minf < 0)) 80a5188: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a518c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5190: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5194: d50c bpl.n 80a51b0 80a5196: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a519a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a519e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a51a2: d505 bpl.n 80a51b0 { CurVal = minf; 80a51a4: 6c7b ldr r3, [r7, #68] ; 0x44 80a51a6: 4a8a ldr r2, [pc, #552] ; (80a53d0 ) 80a51a8: 6013 str r3, [r2, #0] l = n1; 80a51aa: 6cfb ldr r3, [r7, #76] ; 0x4c 80a51ac: 653b str r3, [r7, #80] ; 0x50 80a51ae: e026 b.n 80a51fe } else if((maxf >= 0) && (minf == 0)) 80a51b0: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a51b4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a51b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a51bc: db0c blt.n 80a51d8 80a51be: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a51c2: eef5 7a40 vcmp.f32 s15, #0.0 80a51c6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a51ca: d105 bne.n 80a51d8 { CurVal = maxf; 80a51cc: 6c3b ldr r3, [r7, #64] ; 0x40 80a51ce: 4a80 ldr r2, [pc, #512] ; (80a53d0 ) 80a51d0: 6013 str r3, [r2, #0] l = n2; 80a51d2: 6cbb ldr r3, [r7, #72] ; 0x48 80a51d4: 653b str r3, [r7, #80] ; 0x50 80a51d6: e012 b.n 80a51fe } else if((maxf == 0) && (minf <= 0)) 80a51d8: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a51dc: eef5 7a40 vcmp.f32 s15, #0.0 80a51e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a51e4: d10b bne.n 80a51fe 80a51e6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a51ea: eef5 7ac0 vcmpe.f32 s15, #0.0 80a51ee: eef1 fa10 vmrs APSR_nzcv, fpscr 80a51f2: d804 bhi.n 80a51fe { CurVal = minf; 80a51f4: 6c7b ldr r3, [r7, #68] ; 0x44 80a51f6: 4a76 ldr r2, [pc, #472] ; (80a53d0 ) 80a51f8: 6013 str r3, [r2, #0] l = n1; 80a51fa: 6cfb ldr r3, [r7, #76] ; 0x4c 80a51fc: 653b str r3, [r7, #80] ; 0x50 } DynamicCursor[i].fineMpos = DynamicCursor[i].Mpos + l; 80a51fe: 4a75 ldr r2, [pc, #468] ; (80a53d4 ) 80a5200: 6efb ldr r3, [r7, #108] ; 0x6c 80a5202: 011b lsls r3, r3, #4 80a5204: 4413 add r3, r2 80a5206: 3304 adds r3, #4 80a5208: 881a ldrh r2, [r3, #0] 80a520a: 6d3b ldr r3, [r7, #80] ; 0x50 80a520c: b29b uxth r3, r3 80a520e: 4413 add r3, r2 80a5210: b299 uxth r1, r3 80a5212: 4a70 ldr r2, [pc, #448] ; (80a53d4 ) 80a5214: 6efb ldr r3, [r7, #108] ; 0x6c 80a5216: 011b lsls r3, r3, #4 80a5218: 4413 add r3, r2 80a521a: 3306 adds r3, #6 80a521c: 460a mov r2, r1 80a521e: 801a strh r2, [r3, #0] DynamicCursor[i].val_Y = CurVal; 80a5220: 4b6b ldr r3, [pc, #428] ; (80a53d0 ) 80a5222: 681a ldr r2, [r3, #0] 80a5224: 496b ldr r1, [pc, #428] ; (80a53d4 ) 80a5226: 6efb ldr r3, [r7, #108] ; 0x6c 80a5228: 011b lsls r3, r3, #4 80a522a: 440b add r3, r1 80a522c: 330c adds r3, #12 80a522e: 601a str r2, [r3, #0] Val = CurVal; 80a5230: 4b67 ldr r3, [pc, #412] ; (80a53d0 ) 80a5232: 681b ldr r3, [r3, #0] 80a5234: 63fb str r3, [r7, #60] ; 0x3c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a5236: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a523a: 4867 ldr r0, [pc, #412] ; (80a53d8 ) 80a523c: f7af f9e8 bl 8054610 if(ABS(Val) >= 1000.0f) 80a5240: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5244: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5248: eef1 fa10 vmrs APSR_nzcv, fpscr 80a524c: dd0c ble.n 80a5268 80a524e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5252: ed9f 7a62 vldr s14, [pc, #392] ; 80a53dc 80a5256: eef4 7ac7 vcmpe.f32 s15, s14 80a525a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a525e: bfac ite ge 80a5260: 2301 movge r3, #1 80a5262: 2300 movlt r3, #0 80a5264: b2db uxtb r3, r3 80a5266: e00b b.n 80a5280 80a5268: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a526c: ed9f 7a5c vldr s14, [pc, #368] ; 80a53e0 80a5270: eef4 7ac7 vcmpe.f32 s15, s14 80a5274: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5278: bf94 ite ls 80a527a: 2301 movls r3, #1 80a527c: 2300 movhi r3, #0 80a527e: b2db uxtb r3, r3 80a5280: 2b00 cmp r3, #0 80a5282: d038 beq.n 80a52f6 { Val *= 0.001f; 80a5284: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5288: ed9f 7a56 vldr s14, [pc, #344] ; 80a53e4 80a528c: ee67 7a87 vmul.f32 s15, s15, s14 80a5290: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a5294: 4b54 ldr r3, [pc, #336] ; (80a53e8 ) 80a5296: 7b1b ldrb r3, [r3, #12] 80a5298: b2db uxtb r3, r3 80a529a: 2b00 cmp r3, #0 80a529c: d10b bne.n 80a52b6 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "k&/c^", LEFT_MODE); 80a529e: 6efb ldr r3, [r7, #108] ; 0x6c 80a52a0: b29b uxth r3, r3 80a52a2: 00db lsls r3, r3, #3 80a52a4: b29b uxth r3, r3 80a52a6: 3335 adds r3, #53 ; 0x35 80a52a8: b299 uxth r1, r3 80a52aa: 2303 movs r3, #3 80a52ac: 4a4f ldr r2, [pc, #316] ; (80a53ec ) 80a52ae: 20dc movs r0, #220 ; 0xdc 80a52b0: f7af fa74 bl 805479c 80a52b4: e00a b.n 80a52cc else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "km/c^", LEFT_MODE); 80a52b6: 6efb ldr r3, [r7, #108] ; 0x6c 80a52b8: b29b uxth r3, r3 80a52ba: 00db lsls r3, r3, #3 80a52bc: b29b uxth r3, r3 80a52be: 3335 adds r3, #53 ; 0x35 80a52c0: b299 uxth r1, r3 80a52c2: 2303 movs r3, #3 80a52c4: 4a4a ldr r2, [pc, #296] ; (80a53f0 ) 80a52c6: 20dc movs r0, #220 ; 0xdc 80a52c8: f7af fa68 bl 805479c BSP_LCD_DisplayStringAt(220-3, 53 + 8 * i, (char *) FloatToASCII(Val, -3), RIGHT_MODE); 80a52cc: 6efb ldr r3, [r7, #108] ; 0x6c 80a52ce: b29b uxth r3, r3 80a52d0: 00db lsls r3, r3, #3 80a52d2: b29b uxth r3, r3 80a52d4: 3335 adds r3, #53 ; 0x35 80a52d6: b29c uxth r4, r3 80a52d8: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a52dc: f06f 0002 mvn.w r0, #2 80a52e0: eeb0 0a67 vmov.f32 s0, s15 80a52e4: f7c2 f95c bl 80675a0 80a52e8: 4602 mov r2, r0 80a52ea: 2302 movs r3, #2 80a52ec: 4621 mov r1, r4 80a52ee: 20d9 movs r0, #217 ; 0xd9 80a52f0: f7af fa54 bl 805479c 80a52f4: e0a7 b.n 80a5446 } else if(ABS(Val) >= 0.1f) 80a52f6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a52fa: eef5 7ac0 vcmpe.f32 s15, #0.0 80a52fe: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5302: dd0c ble.n 80a531e 80a5304: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5308: ed9f 7a3a vldr s14, [pc, #232] ; 80a53f4 80a530c: eef4 7ac7 vcmpe.f32 s15, s14 80a5310: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5314: bfac ite ge 80a5316: 2301 movge r3, #1 80a5318: 2300 movlt r3, #0 80a531a: b2db uxtb r3, r3 80a531c: e00b b.n 80a5336 80a531e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5322: ed9f 7a35 vldr s14, [pc, #212] ; 80a53f8 80a5326: eef4 7ac7 vcmpe.f32 s15, s14 80a532a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a532e: bf94 ite ls 80a5330: 2301 movls r3, #1 80a5332: 2300 movhi r3, #0 80a5334: b2db uxtb r3, r3 80a5336: 2b00 cmp r3, #0 80a5338: d030 beq.n 80a539c { if(pardata.LANG == RUS) 80a533a: 4b2b ldr r3, [pc, #172] ; (80a53e8 ) 80a533c: 7b1b ldrb r3, [r3, #12] 80a533e: b2db uxtb r3, r3 80a5340: 2b00 cmp r3, #0 80a5342: d10b bne.n 80a535c BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&/c^", LEFT_MODE); 80a5344: 6efb ldr r3, [r7, #108] ; 0x6c 80a5346: b29b uxth r3, r3 80a5348: 00db lsls r3, r3, #3 80a534a: b29b uxth r3, r3 80a534c: 3335 adds r3, #53 ; 0x35 80a534e: b299 uxth r1, r3 80a5350: 2303 movs r3, #3 80a5352: 4a2a ldr r2, [pc, #168] ; (80a53fc ) 80a5354: 20dc movs r0, #220 ; 0xdc 80a5356: f7af fa21 bl 805479c 80a535a: e00a b.n 80a5372 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "m/c^", LEFT_MODE); 80a535c: 6efb ldr r3, [r7, #108] ; 0x6c 80a535e: b29b uxth r3, r3 80a5360: 00db lsls r3, r3, #3 80a5362: b29b uxth r3, r3 80a5364: 3335 adds r3, #53 ; 0x35 80a5366: b299 uxth r1, r3 80a5368: 2303 movs r3, #3 80a536a: 4a25 ldr r2, [pc, #148] ; (80a5400 ) 80a536c: 20dc movs r0, #220 ; 0xdc 80a536e: f7af fa15 bl 805479c BSP_LCD_DisplayStringAt(220-3, 53 + 8 * i, (char *) FloatToASCII(Val, -3), RIGHT_MODE); 80a5372: 6efb ldr r3, [r7, #108] ; 0x6c 80a5374: b29b uxth r3, r3 80a5376: 00db lsls r3, r3, #3 80a5378: b29b uxth r3, r3 80a537a: 3335 adds r3, #53 ; 0x35 80a537c: b29c uxth r4, r3 80a537e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5382: f06f 0002 mvn.w r0, #2 80a5386: eeb0 0a67 vmov.f32 s0, s15 80a538a: f7c2 f909 bl 80675a0 80a538e: 4602 mov r2, r0 80a5390: 2302 movs r3, #2 80a5392: 4621 mov r1, r4 80a5394: 20d9 movs r0, #217 ; 0xd9 80a5396: f7af fa01 bl 805479c 80a539a: e054 b.n 80a5446 } else { Val *= 1000.0f; 80a539c: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a53a0: ed9f 7a0e vldr s14, [pc, #56] ; 80a53dc 80a53a4: ee67 7a87 vmul.f32 s15, s15, s14 80a53a8: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a53ac: 4b0e ldr r3, [pc, #56] ; (80a53e8 ) 80a53ae: 7b1b ldrb r3, [r3, #12] 80a53b0: b2db uxtb r3, r3 80a53b2: 2b00 cmp r3, #0 80a53b4: d128 bne.n 80a5408 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&/c^", LEFT_MODE); 80a53b6: 6efb ldr r3, [r7, #108] ; 0x6c 80a53b8: b29b uxth r3, r3 80a53ba: 00db lsls r3, r3, #3 80a53bc: b29b uxth r3, r3 80a53be: 3335 adds r3, #53 ; 0x35 80a53c0: b299 uxth r1, r3 80a53c2: 2303 movs r3, #3 80a53c4: 4a0f ldr r2, [pc, #60] ; (80a5404 ) 80a53c6: 20dc movs r0, #220 ; 0xdc 80a53c8: f7af f9e8 bl 805479c 80a53cc: e027 b.n 80a541e 80a53ce: bf00 nop 80a53d0: 200215b4 .word 0x200215b4 80a53d4: 20020f8c .word 0x20020f8c 80a53d8: ff26a01f .word 0xff26a01f 80a53dc: 447a0000 .word 0x447a0000 80a53e0: c47a0000 .word 0xc47a0000 80a53e4: 3a83126f .word 0x3a83126f 80a53e8: 20023ea8 .word 0x20023ea8 80a53ec: 080d4db0 .word 0x080d4db0 80a53f0: 080d4db8 .word 0x080d4db8 80a53f4: 3dcccccd .word 0x3dcccccd 80a53f8: bdcccccd .word 0xbdcccccd 80a53fc: 080d4dc0 .word 0x080d4dc0 80a5400: 080d4dc8 .word 0x080d4dc8 80a5404: 080d4dd0 .word 0x080d4dd0 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm/c^", LEFT_MODE); 80a5408: 6efb ldr r3, [r7, #108] ; 0x6c 80a540a: b29b uxth r3, r3 80a540c: 00db lsls r3, r3, #3 80a540e: b29b uxth r3, r3 80a5410: 3335 adds r3, #53 ; 0x35 80a5412: b299 uxth r1, r3 80a5414: 2303 movs r3, #3 80a5416: 4a9c ldr r2, [pc, #624] ; (80a5688 ) 80a5418: 20dc movs r0, #220 ; 0xdc 80a541a: f7af f9bf bl 805479c BSP_LCD_DisplayStringAt(220-3, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a541e: 6efb ldr r3, [r7, #108] ; 0x6c 80a5420: b29b uxth r3, r3 80a5422: 00db lsls r3, r3, #3 80a5424: b29b uxth r3, r3 80a5426: 3335 adds r3, #53 ; 0x35 80a5428: b29c uxth r4, r3 80a542a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a542e: f06f 0002 mvn.w r0, #2 80a5432: eeb0 0a67 vmov.f32 s0, s15 80a5436: f7c2 f8b3 bl 80675a0 80a543a: 4602 mov r2, r0 80a543c: 2302 movs r3, #2 80a543e: 4621 mov r1, r4 80a5440: 20d9 movs r0, #217 ; 0xd9 80a5442: f7af f9ab bl 805479c } //************************************************************************************************************** step = PlayingState.FrameSize >> 8; 80a5446: 4b91 ldr r3, [pc, #580] ; (80a568c ) 80a5448: 689b ldr r3, [r3, #8] 80a544a: 0a1b lsrs r3, r3, #8 80a544c: 663b str r3, [r7, #96] ; 0x60 dt = (PlayingState.TimeLength / (float32_t) PlayingState.NumFrames) / ((float32_t) PlayingState.FrameSize); 80a544e: 4b8f ldr r3, [pc, #572] ; (80a568c ) 80a5450: ed93 7a07 vldr s14, [r3, #28] 80a5454: 4b8d ldr r3, [pc, #564] ; (80a568c ) 80a5456: 685b ldr r3, [r3, #4] 80a5458: ee07 3a90 vmov s15, r3 80a545c: eef8 7a67 vcvt.f32.u32 s15, s15 80a5460: eec7 6a27 vdiv.f32 s13, s14, s15 80a5464: 4b89 ldr r3, [pc, #548] ; (80a568c ) 80a5466: 689b ldr r3, [r3, #8] 80a5468: ee07 3a90 vmov s15, r3 80a546c: eeb8 7a67 vcvt.f32.u32 s14, s15 80a5470: eec6 7a87 vdiv.f32 s15, s13, s14 80a5474: edc7 7a17 vstr s15, [r7, #92] ; 0x5c curtime = ((float32_t)(DynamicCursor[i].CURSOR + 1)) * (float32_t)step; 80a5478: 4a85 ldr r2, [pc, #532] ; (80a5690 ) 80a547a: 6efb ldr r3, [r7, #108] ; 0x6c 80a547c: 011b lsls r3, r3, #4 80a547e: 4413 add r3, r2 80a5480: 3302 adds r3, #2 80a5482: 881b ldrh r3, [r3, #0] 80a5484: 3301 adds r3, #1 80a5486: ee07 3a90 vmov s15, r3 80a548a: eeb8 7ae7 vcvt.f32.s32 s14, s15 80a548e: 6e3b ldr r3, [r7, #96] ; 0x60 80a5490: ee07 3a90 vmov s15, r3 80a5494: eef8 7a67 vcvt.f32.u32 s15, s15 80a5498: ee67 7a27 vmul.f32 s15, s14, s15 80a549c: edc7 7a16 vstr s15, [r7, #88] ; 0x58 curtime *= dt; 80a54a0: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a54a4: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80a54a8: ee67 7a27 vmul.f32 s15, s14, s15 80a54ac: edc7 7a16 vstr s15, [r7, #88] ; 0x58 curtime += (((float32_t)(PlayingState.FrameSize * PlayingState.CurrentFrame)) * dt); 80a54b0: 4b76 ldr r3, [pc, #472] ; (80a568c ) 80a54b2: 689b ldr r3, [r3, #8] 80a54b4: 4a75 ldr r2, [pc, #468] ; (80a568c ) 80a54b6: 6812 ldr r2, [r2, #0] 80a54b8: fb02 f303 mul.w r3, r2, r3 80a54bc: ee07 3a90 vmov s15, r3 80a54c0: eeb8 7a67 vcvt.f32.u32 s14, s15 80a54c4: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80a54c8: ee67 7a27 vmul.f32 s15, s14, s15 80a54cc: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a54d0: ee77 7a27 vadd.f32 s15, s14, s15 80a54d4: edc7 7a16 vstr s15, [r7, #88] ; 0x58 TF = curtime * 1000; 80a54d8: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a54dc: ed9f 7a6d vldr s14, [pc, #436] ; 80a5694 80a54e0: ee67 7a87 vmul.f32 s15, s15, s14 80a54e4: 4b6c ldr r3, [pc, #432] ; (80a5698 ) 80a54e6: edc3 7a00 vstr s15, [r3] tmpF = TF; 80a54ea: 4b6b ldr r3, [pc, #428] ; (80a5698 ) 80a54ec: 681b ldr r3, [r3, #0] 80a54ee: 657b str r3, [r7, #84] ; 0x54 DynamicCursor[i].val_X = tmpF; 80a54f0: 4a67 ldr r2, [pc, #412] ; (80a5690 ) 80a54f2: 6efb ldr r3, [r7, #108] ; 0x6c 80a54f4: 011b lsls r3, r3, #4 80a54f6: 4413 add r3, r2 80a54f8: 3308 adds r3, #8 80a54fa: 6d7a ldr r2, [r7, #84] ; 0x54 80a54fc: 601a str r2, [r3, #0] LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a54fe: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5502: 4866 ldr r0, [pc, #408] ; (80a569c ) 80a5504: f7af f884 bl 8054610 if(tmpF >= 1000.0f) 80a5508: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a550c: ed9f 7a61 vldr s14, [pc, #388] ; 80a5694 80a5510: eef4 7ac7 vcmpe.f32 s15, s14 80a5514: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5518: db39 blt.n 80a558e { tmpF *= 0.001f; 80a551a: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a551e: ed9f 7a60 vldr s14, [pc, #384] ; 80a56a0 80a5522: ee67 7a87 vmul.f32 s15, s15, s14 80a5526: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a552a: 4b5e ldr r3, [pc, #376] ; (80a56a4 ) 80a552c: 7b1b ldrb r3, [r3, #12] 80a552e: b2db uxtb r3, r3 80a5530: 2b00 cmp r3, #0 80a5532: d10c bne.n 80a554e BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "c", LEFT_MODE); 80a5534: 6efb ldr r3, [r7, #108] ; 0x6c 80a5536: b29b uxth r3, r3 80a5538: 00db lsls r3, r3, #3 80a553a: b29b uxth r3, r3 80a553c: 3335 adds r3, #53 ; 0x35 80a553e: b299 uxth r1, r3 80a5540: 2303 movs r3, #3 80a5542: 4a59 ldr r2, [pc, #356] ; (80a56a8 ) 80a5544: f44f 7097 mov.w r0, #302 ; 0x12e 80a5548: f7af f928 bl 805479c 80a554c: e00b b.n 80a5566 else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "s", LEFT_MODE); 80a554e: 6efb ldr r3, [r7, #108] ; 0x6c 80a5550: b29b uxth r3, r3 80a5552: 00db lsls r3, r3, #3 80a5554: b29b uxth r3, r3 80a5556: 3335 adds r3, #53 ; 0x35 80a5558: b299 uxth r1, r3 80a555a: 2303 movs r3, #3 80a555c: 4a53 ldr r2, [pc, #332] ; (80a56ac ) 80a555e: f44f 7097 mov.w r0, #302 ; 0x12e 80a5562: f7af f91b bl 805479c BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a5566: 6efb ldr r3, [r7, #108] ; 0x6c 80a5568: b29b uxth r3, r3 80a556a: 00db lsls r3, r3, #3 80a556c: b29b uxth r3, r3 80a556e: 3335 adds r3, #53 ; 0x35 80a5570: b29c uxth r4, r3 80a5572: f06f 0004 mvn.w r0, #4 80a5576: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a557a: f7c2 f811 bl 80675a0 80a557e: 4602 mov r2, r0 80a5580: 2302 movs r3, #2 80a5582: 4621 mov r1, r4 80a5584: f240 102b movw r0, #299 ; 0x12b 80a5588: f7af f908 bl 805479c 80a558c: e073 b.n 80a5676 } else if(tmpF < 0.1f) 80a558e: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a5592: ed9f 7a47 vldr s14, [pc, #284] ; 80a56b0 80a5596: eef4 7ac7 vcmpe.f32 s15, s14 80a559a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a559e: d539 bpl.n 80a5614 { tmpF *= 1000.0f; 80a55a0: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a55a4: ed9f 7a3b vldr s14, [pc, #236] ; 80a5694 80a55a8: ee67 7a87 vmul.f32 s15, s15, s14 80a55ac: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a55b0: 4b3c ldr r3, [pc, #240] ; (80a56a4 ) 80a55b2: 7b1b ldrb r3, [r3, #12] 80a55b4: b2db uxtb r3, r3 80a55b6: 2b00 cmp r3, #0 80a55b8: d10c bne.n 80a55d4 BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "&kc", LEFT_MODE); 80a55ba: 6efb ldr r3, [r7, #108] ; 0x6c 80a55bc: b29b uxth r3, r3 80a55be: 00db lsls r3, r3, #3 80a55c0: b29b uxth r3, r3 80a55c2: 3335 adds r3, #53 ; 0x35 80a55c4: b299 uxth r1, r3 80a55c6: 2303 movs r3, #3 80a55c8: 4a3a ldr r2, [pc, #232] ; (80a56b4 ) 80a55ca: f44f 7097 mov.w r0, #302 ; 0x12e 80a55ce: f7af f8e5 bl 805479c 80a55d2: e00b b.n 80a55ec else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "us", LEFT_MODE); 80a55d4: 6efb ldr r3, [r7, #108] ; 0x6c 80a55d6: b29b uxth r3, r3 80a55d8: 00db lsls r3, r3, #3 80a55da: b29b uxth r3, r3 80a55dc: 3335 adds r3, #53 ; 0x35 80a55de: b299 uxth r1, r3 80a55e0: 2303 movs r3, #3 80a55e2: 4a35 ldr r2, [pc, #212] ; (80a56b8 ) 80a55e4: f44f 7097 mov.w r0, #302 ; 0x12e 80a55e8: f7af f8d8 bl 805479c BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a55ec: 6efb ldr r3, [r7, #108] ; 0x6c 80a55ee: b29b uxth r3, r3 80a55f0: 00db lsls r3, r3, #3 80a55f2: b29b uxth r3, r3 80a55f4: 3335 adds r3, #53 ; 0x35 80a55f6: b29c uxth r4, r3 80a55f8: f06f 0004 mvn.w r0, #4 80a55fc: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a5600: f7c1 ffce bl 80675a0 80a5604: 4602 mov r2, r0 80a5606: 2302 movs r3, #2 80a5608: 4621 mov r1, r4 80a560a: f240 102b movw r0, #299 ; 0x12b 80a560e: f7af f8c5 bl 805479c 80a5612: e030 b.n 80a5676 } else { if(pardata.LANG == RUS) 80a5614: 4b23 ldr r3, [pc, #140] ; (80a56a4 ) 80a5616: 7b1b ldrb r3, [r3, #12] 80a5618: b2db uxtb r3, r3 80a561a: 2b00 cmp r3, #0 80a561c: d10c bne.n 80a5638 BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "&c", LEFT_MODE); 80a561e: 6efb ldr r3, [r7, #108] ; 0x6c 80a5620: b29b uxth r3, r3 80a5622: 00db lsls r3, r3, #3 80a5624: b29b uxth r3, r3 80a5626: 3335 adds r3, #53 ; 0x35 80a5628: b299 uxth r1, r3 80a562a: 2303 movs r3, #3 80a562c: 4a23 ldr r2, [pc, #140] ; (80a56bc ) 80a562e: f44f 7097 mov.w r0, #302 ; 0x12e 80a5632: f7af f8b3 bl 805479c 80a5636: e00b b.n 80a5650 else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "ms", LEFT_MODE); 80a5638: 6efb ldr r3, [r7, #108] ; 0x6c 80a563a: b29b uxth r3, r3 80a563c: 00db lsls r3, r3, #3 80a563e: b29b uxth r3, r3 80a5640: 3335 adds r3, #53 ; 0x35 80a5642: b299 uxth r1, r3 80a5644: 2303 movs r3, #3 80a5646: 4a1e ldr r2, [pc, #120] ; (80a56c0 ) 80a5648: f44f 7097 mov.w r0, #302 ; 0x12e 80a564c: f7af f8a6 bl 805479c BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a5650: 6efb ldr r3, [r7, #108] ; 0x6c 80a5652: b29b uxth r3, r3 80a5654: 00db lsls r3, r3, #3 80a5656: b29b uxth r3, r3 80a5658: 3335 adds r3, #53 ; 0x35 80a565a: b29c uxth r4, r3 80a565c: f06f 0004 mvn.w r0, #4 80a5660: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a5664: f7c1 ff9c bl 80675a0 80a5668: 4602 mov r2, r0 80a566a: 2302 movs r3, #2 80a566c: 4621 mov r1, r4 80a566e: f240 102b movw r0, #299 ; 0x12b 80a5672: f7af f893 bl 805479c for(i = 0; i < 2; i++) 80a5676: 6efb ldr r3, [r7, #108] ; 0x6c 80a5678: 3301 adds r3, #1 80a567a: 66fb str r3, [r7, #108] ; 0x6c 80a567c: 6efb ldr r3, [r7, #108] ; 0x6c 80a567e: 2b01 cmp r3, #1 80a5680: f67f acc8 bls.w 80a5014 #else #endif } 80a5684: f004 b8b6 b.w 80a97f4 80a5688: 080d4dd8 .word 0x080d4dd8 80a568c: 20022920 .word 0x20022920 80a5690: 20020f8c .word 0x20020f8c 80a5694: 447a0000 .word 0x447a0000 80a5698: 200215b8 .word 0x200215b8 80a569c: ff808080 .word 0xff808080 80a56a0: 3a83126f .word 0x3a83126f 80a56a4: 20023ea8 .word 0x20023ea8 80a56a8: 080d4de0 .word 0x080d4de0 80a56ac: 080d4de4 .word 0x080d4de4 80a56b0: 3dcccccd .word 0x3dcccccd 80a56b4: 080d4de8 .word 0x080d4de8 80a56b8: 080d4dec .word 0x080d4dec 80a56bc: 080d4df0 .word 0x080d4df0 80a56c0: 080d4df4 .word 0x080d4df4 if(!FIRST) 80a56c4: 4bc0 ldr r3, [pc, #768] ; (80a59c8 ) 80a56c6: 781b ldrb r3, [r3, #0] 80a56c8: b2db uxtb r3, r3 80a56ca: f083 0301 eor.w r3, r3, #1 80a56ce: b2db uxtb r3, r3 80a56d0: 2b00 cmp r3, #0 80a56d2: f004 808f beq.w 80a97f4 BSP_LCD_SetFont(&Font8); 80a56d6: 48bd ldr r0, [pc, #756] ; (80a59cc ) 80a56d8: f7ae ffd6 bl 8054688 if(pardata.SYG == ROLL) 80a56dc: 4bbc ldr r3, [pc, #752] ; (80a59d0 ) 80a56de: 781b ldrb r3, [r3, #0] 80a56e0: b2db uxtb r3, r3 80a56e2: 2b08 cmp r3, #8 80a56e4: f040 83bf bne.w 80a5e66 LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 80a56e8: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a56ec: f04f 30ff mov.w r0, #4294967295 80a56f0: f7ae ff8e bl 8054610 arm_max_f32(&CmplxA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &Val, &l); 80a56f4: 4bb7 ldr r3, [pc, #732] ; (80a59d4 ) 80a56f6: 881b ldrh r3, [r3, #0] 80a56f8: b29b uxth r3, r3 80a56fa: 009b lsls r3, r3, #2 80a56fc: 461a mov r2, r3 80a56fe: 4bb6 ldr r3, [pc, #728] ; (80a59d8 ) 80a5700: 4413 add r3, r2 80a5702: 461c mov r4, r3 80a5704: 4bb5 ldr r3, [pc, #724] ; (80a59dc ) 80a5706: 781b ldrb r3, [r3, #0] 80a5708: b2db uxtb r3, r3 80a570a: 4618 mov r0, r3 80a570c: 4bb0 ldr r3, [pc, #704] ; (80a59d0 ) 80a570e: 79db ldrb r3, [r3, #7] 80a5710: b2db uxtb r3, r3 80a5712: 4619 mov r1, r3 80a5714: 4ab2 ldr r2, [pc, #712] ; (80a59e0 ) 80a5716: 0083 lsls r3, r0, #2 80a5718: 4413 add r3, r2 80a571a: 440b add r3, r1 80a571c: 781b ldrb r3, [r3, #0] 80a571e: 4619 mov r1, r3 80a5720: f107 0350 add.w r3, r7, #80 ; 0x50 80a5724: f107 023c add.w r2, r7, #60 ; 0x3c 80a5728: 4620 mov r0, r4 80a572a: f028 fe73 bl 80ce414 BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a572e: 2303 movs r3, #3 80a5730: 4aac ldr r2, [pc, #688] ; (80a59e4 ) 80a5732: 212d movs r1, #45 ; 0x2d 80a5734: 20dc movs r0, #220 ; 0xdc 80a5736: f7af f831 bl 805479c BSP_LCD_DisplayStringAt(220-3, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a573a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a573e: f04f 30ff mov.w r0, #4294967295 80a5742: eeb0 0a67 vmov.f32 s0, s15 80a5746: f7c1 ff2b bl 80675a0 80a574a: 4602 mov r2, r0 80a574c: 2302 movs r3, #2 80a574e: 212d movs r1, #45 ; 0x2d 80a5750: 20d9 movs r0, #217 ; 0xd9 80a5752: f7af f823 bl 805479c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a5756: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a575a: 48a3 ldr r0, [pc, #652] ; (80a59e8 ) 80a575c: f7ae ff58 bl 8054610 arm_max_f32(&ScrA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &Val, &l); 80a5760: 4b9c ldr r3, [pc, #624] ; (80a59d4 ) 80a5762: 881b ldrh r3, [r3, #0] 80a5764: b29b uxth r3, r3 80a5766: 009b lsls r3, r3, #2 80a5768: 461a mov r2, r3 80a576a: 4ba0 ldr r3, [pc, #640] ; (80a59ec ) 80a576c: 4413 add r3, r2 80a576e: 461c mov r4, r3 80a5770: 4b9a ldr r3, [pc, #616] ; (80a59dc ) 80a5772: 781b ldrb r3, [r3, #0] 80a5774: b2db uxtb r3, r3 80a5776: 4618 mov r0, r3 80a5778: 4b95 ldr r3, [pc, #596] ; (80a59d0 ) 80a577a: 79db ldrb r3, [r3, #7] 80a577c: b2db uxtb r3, r3 80a577e: 4619 mov r1, r3 80a5780: 4a97 ldr r2, [pc, #604] ; (80a59e0 ) 80a5782: 0083 lsls r3, r0, #2 80a5784: 4413 add r3, r2 80a5786: 440b add r3, r1 80a5788: 781b ldrb r3, [r3, #0] 80a578a: 4619 mov r1, r3 80a578c: f107 0350 add.w r3, r7, #80 ; 0x50 80a5790: f107 023c add.w r2, r7, #60 ; 0x3c 80a5794: 4620 mov r0, r4 80a5796: f028 fe3d bl 80ce414 BSP_LCD_DisplayStringAt(160, 45, "dB", LEFT_MODE); 80a579a: 2303 movs r3, #3 80a579c: 4a91 ldr r2, [pc, #580] ; (80a59e4 ) 80a579e: 212d movs r1, #45 ; 0x2d 80a57a0: 20a0 movs r0, #160 ; 0xa0 80a57a2: f7ae fffb bl 805479c BSP_LCD_DisplayStringAt(160-3, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a57a6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a57aa: f04f 30ff mov.w r0, #4294967295 80a57ae: eeb0 0a67 vmov.f32 s0, s15 80a57b2: f7c1 fef5 bl 80675a0 80a57b6: 4602 mov r2, r0 80a57b8: 2302 movs r3, #2 80a57ba: 212d movs r1, #45 ; 0x2d 80a57bc: 209d movs r0, #157 ; 0x9d 80a57be: f7ae ffed bl 805479c fineMpos = Mpos + l; 80a57c2: 6d3b ldr r3, [r7, #80] ; 0x50 80a57c4: b29a uxth r2, r3 80a57c6: 4b83 ldr r3, [pc, #524] ; (80a59d4 ) 80a57c8: 881b ldrh r3, [r3, #0] 80a57ca: b29b uxth r3, r3 80a57cc: 4413 add r3, r2 80a57ce: b29a uxth r2, r3 80a57d0: 4b87 ldr r3, [pc, #540] ; (80a59f0 ) 80a57d2: 801a strh r2, [r3, #0] tmpF = (float32_t) fineMpos; 80a57d4: 4b86 ldr r3, [pc, #536] ; (80a59f0 ) 80a57d6: 881b ldrh r3, [r3, #0] 80a57d8: b29b uxth r3, r3 80a57da: ee07 3a90 vmov s15, r3 80a57de: eef8 7a67 vcvt.f32.u32 s15, s15 80a57e2: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(tmpF != TF) 80a57e6: 4b83 ldr r3, [pc, #524] ; (80a59f4 ) 80a57e8: edd3 7a00 vldr s15, [r3] 80a57ec: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80a57f0: eeb4 7a67 vcmp.f32 s14, s15 80a57f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a57f8: d01d beq.n 80a5836 TF = tmpF; 80a57fa: 4a7e ldr r2, [pc, #504] ; (80a59f4 ) 80a57fc: 6d7b ldr r3, [r7, #84] ; 0x54 80a57fe: 6013 str r3, [r2, #0] TF *= Delta_SPC[pardata.FRQ][pardata.LNE]; 80a5800: 4b73 ldr r3, [pc, #460] ; (80a59d0 ) 80a5802: 7adb ldrb r3, [r3, #11] 80a5804: b2db uxtb r3, r3 80a5806: 4618 mov r0, r3 80a5808: 4b71 ldr r3, [pc, #452] ; (80a59d0 ) 80a580a: 79db ldrb r3, [r3, #7] 80a580c: b2db uxtb r3, r3 80a580e: 4619 mov r1, r3 80a5810: 4a79 ldr r2, [pc, #484] ; (80a59f8 ) 80a5812: 0083 lsls r3, r0, #2 80a5814: 440b add r3, r1 80a5816: 009b lsls r3, r3, #2 80a5818: 4413 add r3, r2 80a581a: ed93 7a00 vldr s14, [r3] 80a581e: 4b75 ldr r3, [pc, #468] ; (80a59f4 ) 80a5820: edd3 7a00 vldr s15, [r3] 80a5824: ee67 7a27 vmul.f32 s15, s14, s15 80a5828: 4b72 ldr r3, [pc, #456] ; (80a59f4 ) 80a582a: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a582e: 4b71 ldr r3, [pc, #452] ; (80a59f4 ) 80a5830: 681b ldr r3, [r3, #0] 80a5832: 4a72 ldr r2, [pc, #456] ; (80a59fc ) 80a5834: 6013 str r3, [r2, #0] tmpF = TF; 80a5836: 4b6f ldr r3, [pc, #444] ; (80a59f4 ) 80a5838: 681b ldr r3, [r3, #0] 80a583a: 657b str r3, [r7, #84] ; 0x54 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a583c: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5840: 486f ldr r0, [pc, #444] ; (80a5a00 ) 80a5842: f7ae fee5 bl 8054610 if(pardata.LANG == RUS) 80a5846: 4b62 ldr r3, [pc, #392] ; (80a59d0 ) 80a5848: 7b1b ldrb r3, [r3, #12] 80a584a: b2db uxtb r3, r3 80a584c: 2b00 cmp r3, #0 80a584e: d107 bne.n 80a5860 BSP_LCD_DisplayStringAt(305, 45, "$%", LEFT_MODE); 80a5850: 2303 movs r3, #3 80a5852: 4a6c ldr r2, [pc, #432] ; (80a5a04 ) 80a5854: 212d movs r1, #45 ; 0x2d 80a5856: f240 1031 movw r0, #305 ; 0x131 80a585a: f7ae ff9f bl 805479c 80a585e: e006 b.n 80a586e else BSP_LCD_DisplayStringAt(305, 45, "Hz", LEFT_MODE); 80a5860: 2303 movs r3, #3 80a5862: 4a69 ldr r2, [pc, #420] ; (80a5a08 ) 80a5864: 212d movs r1, #45 ; 0x2d 80a5866: f240 1031 movw r0, #305 ; 0x131 80a586a: f7ae ff97 bl 805479c if(tmpF < 10.0f) BSP_LCD_DisplayStringAt(302, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a586e: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a5872: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a5876: eef4 7ac7 vcmpe.f32 s15, s14 80a587a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a587e: d50d bpl.n 80a589c 80a5880: f06f 0003 mvn.w r0, #3 80a5884: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a5888: f7c1 fe8a bl 80675a0 80a588c: 4602 mov r2, r0 80a588e: 2302 movs r3, #2 80a5890: 212d movs r1, #45 ; 0x2d 80a5892: f44f 7097 mov.w r0, #302 ; 0x12e 80a5896: f7ae ff81 bl 805479c 80a589a: e023 b.n 80a58e4 else if(tmpF < 100.0f) BSP_LCD_DisplayStringAt(302, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a589c: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a58a0: ed9f 7a5a vldr s14, [pc, #360] ; 80a5a0c 80a58a4: eef4 7ac7 vcmpe.f32 s15, s14 80a58a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a58ac: d50d bpl.n 80a58ca 80a58ae: f06f 0002 mvn.w r0, #2 80a58b2: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a58b6: f7c1 fe73 bl 80675a0 80a58ba: 4602 mov r2, r0 80a58bc: 2302 movs r3, #2 80a58be: 212d movs r1, #45 ; 0x2d 80a58c0: f44f 7097 mov.w r0, #302 ; 0x12e 80a58c4: f7ae ff6a bl 805479c 80a58c8: e00c b.n 80a58e4 else BSP_LCD_DisplayStringAt(302, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a58ca: f06f 0001 mvn.w r0, #1 80a58ce: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a58d2: f7c1 fe65 bl 80675a0 80a58d6: 4602 mov r2, r0 80a58d8: 2302 movs r3, #2 80a58da: 212d movs r1, #45 ; 0x2d 80a58dc: f44f 7097 mov.w r0, #302 ; 0x12e 80a58e0: f7ae ff5c bl 805479c for(i = 0; i < 2; i++) 80a58e4: 2300 movs r3, #0 80a58e6: 66fb str r3, [r7, #108] ; 0x6c 80a58e8: e2b7 b.n 80a5e5a if(DynamicCursor[i].Enabled) 80a58ea: 4a49 ldr r2, [pc, #292] ; (80a5a10 ) 80a58ec: 6efb ldr r3, [r7, #108] ; 0x6c 80a58ee: 011b lsls r3, r3, #4 80a58f0: 4413 add r3, r2 80a58f2: 781b ldrb r3, [r3, #0] 80a58f4: 2b00 cmp r3, #0 80a58f6: f000 82ad beq.w 80a5e54 arm_max_f32(&ScrA_f32(DynamicCursor[i].Mpos), avgSPC[ViewLevel][pardata.LNE], &maxf, &n2); 80a58fa: 4a45 ldr r2, [pc, #276] ; (80a5a10 ) 80a58fc: 6efb ldr r3, [r7, #108] ; 0x6c 80a58fe: 011b lsls r3, r3, #4 80a5900: 4413 add r3, r2 80a5902: 3304 adds r3, #4 80a5904: 881b ldrh r3, [r3, #0] 80a5906: 009b lsls r3, r3, #2 80a5908: 461a mov r2, r3 80a590a: 4b38 ldr r3, [pc, #224] ; (80a59ec ) 80a590c: 4413 add r3, r2 80a590e: 461c mov r4, r3 80a5910: 4b32 ldr r3, [pc, #200] ; (80a59dc ) 80a5912: 781b ldrb r3, [r3, #0] 80a5914: b2db uxtb r3, r3 80a5916: 4618 mov r0, r3 80a5918: 4b2d ldr r3, [pc, #180] ; (80a59d0 ) 80a591a: 79db ldrb r3, [r3, #7] 80a591c: b2db uxtb r3, r3 80a591e: 4619 mov r1, r3 80a5920: 4a2f ldr r2, [pc, #188] ; (80a59e0 ) 80a5922: 0083 lsls r3, r0, #2 80a5924: 4413 add r3, r2 80a5926: 440b add r3, r1 80a5928: 781b ldrb r3, [r3, #0] 80a592a: 4619 mov r1, r3 80a592c: f107 0348 add.w r3, r7, #72 ; 0x48 80a5930: f107 0240 add.w r2, r7, #64 ; 0x40 80a5934: 4620 mov r0, r4 80a5936: f028 fd6d bl 80ce414 arm_min_f32(&ScrA_f32(DynamicCursor[i].Mpos), avgSPC[ViewLevel][pardata.LNE], &minf, &n1); 80a593a: 4a35 ldr r2, [pc, #212] ; (80a5a10 ) 80a593c: 6efb ldr r3, [r7, #108] ; 0x6c 80a593e: 011b lsls r3, r3, #4 80a5940: 4413 add r3, r2 80a5942: 3304 adds r3, #4 80a5944: 881b ldrh r3, [r3, #0] 80a5946: 009b lsls r3, r3, #2 80a5948: 461a mov r2, r3 80a594a: 4b28 ldr r3, [pc, #160] ; (80a59ec ) 80a594c: 4413 add r3, r2 80a594e: 461c mov r4, r3 80a5950: 4b22 ldr r3, [pc, #136] ; (80a59dc ) 80a5952: 781b ldrb r3, [r3, #0] 80a5954: b2db uxtb r3, r3 80a5956: 4618 mov r0, r3 80a5958: 4b1d ldr r3, [pc, #116] ; (80a59d0 ) 80a595a: 79db ldrb r3, [r3, #7] 80a595c: b2db uxtb r3, r3 80a595e: 4619 mov r1, r3 80a5960: 4a1f ldr r2, [pc, #124] ; (80a59e0 ) 80a5962: 0083 lsls r3, r0, #2 80a5964: 4413 add r3, r2 80a5966: 440b add r3, r1 80a5968: 781b ldrb r3, [r3, #0] 80a596a: 4619 mov r1, r3 80a596c: f107 034c add.w r3, r7, #76 ; 0x4c 80a5970: f107 0244 add.w r2, r7, #68 ; 0x44 80a5974: 4620 mov r0, r4 80a5976: f028 fcb1 bl 80ce2dc if(ABS(maxf) < ABS(minf)) 80a597a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a597e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5982: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5986: dd02 ble.n 80a598e 80a5988: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a598c: e003 b.n 80a5996 80a598e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5992: eeb1 7a67 vneg.f32 s14, s15 80a5996: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a599a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a599e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a59a2: dd02 ble.n 80a59aa 80a59a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a59a8: e003 b.n 80a59b2 80a59aa: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a59ae: eef1 7a67 vneg.f32 s15, s15 80a59b2: eeb4 7ae7 vcmpe.f32 s14, s15 80a59b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a59ba: d52d bpl.n 80a5a18 CurVal = minf; 80a59bc: 6c7b ldr r3, [r7, #68] ; 0x44 80a59be: 4a15 ldr r2, [pc, #84] ; (80a5a14 ) 80a59c0: 6013 str r3, [r2, #0] l = n1; 80a59c2: 6cfb ldr r3, [r7, #76] ; 0x4c 80a59c4: 653b str r3, [r7, #80] ; 0x50 80a59c6: e02c b.n 80a5a22 80a59c8: 20020dd2 .word 0x20020dd2 80a59cc: 20020060 .word 0x20020060 80a59d0: 20023ea8 .word 0x20023ea8 80a59d4: 20025d5e .word 0x20025d5e 80a59d8: 64090000 .word 0x64090000 80a59dc: 20020fb8 .word 0x20020fb8 80a59e0: 080f398c .word 0x080f398c 80a59e4: 080d4df8 .word 0x080d4df8 80a59e8: ff26a01f .word 0xff26a01f 80a59ec: 64080000 .word 0x64080000 80a59f0: 20025d64 .word 0x20025d64 80a59f4: 200215b8 .word 0x200215b8 80a59f8: 080f3a6c .word 0x080f3a6c 80a59fc: 20021690 .word 0x20021690 80a5a00: ff808080 .word 0xff808080 80a5a04: 080d4dfc .word 0x080d4dfc 80a5a08: 080d4e00 .word 0x080d4e00 80a5a0c: 42c80000 .word 0x42c80000 80a5a10: 20020f8c .word 0x20020f8c 80a5a14: 200215b4 .word 0x200215b4 CurVal = maxf; 80a5a18: 6c3b ldr r3, [r7, #64] ; 0x40 80a5a1a: 4a81 ldr r2, [pc, #516] ; (80a5c20 ) 80a5a1c: 6013 str r3, [r2, #0] l = n2; 80a5a1e: 6cbb ldr r3, [r7, #72] ; 0x48 80a5a20: 653b str r3, [r7, #80] ; 0x50 DynamicCursor[i].fineMpos = DynamicCursor[i].Mpos + l; 80a5a22: 4a80 ldr r2, [pc, #512] ; (80a5c24 ) 80a5a24: 6efb ldr r3, [r7, #108] ; 0x6c 80a5a26: 011b lsls r3, r3, #4 80a5a28: 4413 add r3, r2 80a5a2a: 3304 adds r3, #4 80a5a2c: 881a ldrh r2, [r3, #0] 80a5a2e: 6d3b ldr r3, [r7, #80] ; 0x50 80a5a30: b29b uxth r3, r3 80a5a32: 4413 add r3, r2 80a5a34: b299 uxth r1, r3 80a5a36: 4a7b ldr r2, [pc, #492] ; (80a5c24 ) 80a5a38: 6efb ldr r3, [r7, #108] ; 0x6c 80a5a3a: 011b lsls r3, r3, #4 80a5a3c: 4413 add r3, r2 80a5a3e: 3306 adds r3, #6 80a5a40: 460a mov r2, r1 80a5a42: 801a strh r2, [r3, #0] tmpF = (float32_t) DynamicCursor[i].fineMpos; 80a5a44: 4a77 ldr r2, [pc, #476] ; (80a5c24 ) 80a5a46: 6efb ldr r3, [r7, #108] ; 0x6c 80a5a48: 011b lsls r3, r3, #4 80a5a4a: 4413 add r3, r2 80a5a4c: 3306 adds r3, #6 80a5a4e: 881b ldrh r3, [r3, #0] 80a5a50: ee07 3a90 vmov s15, r3 80a5a54: eef8 7a67 vcvt.f32.u32 s15, s15 80a5a58: edc7 7a15 vstr s15, [r7, #84] ; 0x54 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a5a5c: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5a60: 4871 ldr r0, [pc, #452] ; (80a5c28 ) 80a5a62: f7ae fdd5 bl 8054610 DynamicCursor[i].val_Y = CurVal; 80a5a66: 4b6e ldr r3, [pc, #440] ; (80a5c20 ) 80a5a68: 681a ldr r2, [r3, #0] 80a5a6a: 496e ldr r1, [pc, #440] ; (80a5c24 ) 80a5a6c: 6efb ldr r3, [r7, #108] ; 0x6c 80a5a6e: 011b lsls r3, r3, #4 80a5a70: 440b add r3, r1 80a5a72: 330c adds r3, #12 80a5a74: 601a str r2, [r3, #0] Val = DynamicCursor[i].val_Y; 80a5a76: 4a6b ldr r2, [pc, #428] ; (80a5c24 ) 80a5a78: 6efb ldr r3, [r7, #108] ; 0x6c 80a5a7a: 011b lsls r3, r3, #4 80a5a7c: 4413 add r3, r2 80a5a7e: 330c adds r3, #12 80a5a80: 681b ldr r3, [r3, #0] 80a5a82: 63fb str r3, [r7, #60] ; 0x3c BSP_LCD_DisplayStringAt(160, 53 + 8 * i, "dB", LEFT_MODE); 80a5a84: 6efb ldr r3, [r7, #108] ; 0x6c 80a5a86: b29b uxth r3, r3 80a5a88: 00db lsls r3, r3, #3 80a5a8a: b29b uxth r3, r3 80a5a8c: 3335 adds r3, #53 ; 0x35 80a5a8e: b299 uxth r1, r3 80a5a90: 2303 movs r3, #3 80a5a92: 4a66 ldr r2, [pc, #408] ; (80a5c2c ) 80a5a94: 20a0 movs r0, #160 ; 0xa0 80a5a96: f7ae fe81 bl 805479c BSP_LCD_DisplayStringAt(160-3, 53 + 8 * i, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a5a9a: 6efb ldr r3, [r7, #108] ; 0x6c 80a5a9c: b29b uxth r3, r3 80a5a9e: 00db lsls r3, r3, #3 80a5aa0: b29b uxth r3, r3 80a5aa2: 3335 adds r3, #53 ; 0x35 80a5aa4: b29c uxth r4, r3 80a5aa6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5aaa: f04f 30ff mov.w r0, #4294967295 80a5aae: eeb0 0a67 vmov.f32 s0, s15 80a5ab2: f7c1 fd75 bl 80675a0 80a5ab6: 4602 mov r2, r0 80a5ab8: 2302 movs r3, #2 80a5aba: 4621 mov r1, r4 80a5abc: 209d movs r0, #157 ; 0x9d 80a5abe: f7ae fe6d bl 805479c l = strlen((char *)FloatToASCII(Val, -3)); 80a5ac2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5ac6: f06f 0002 mvn.w r0, #2 80a5aca: eeb0 0a67 vmov.f32 s0, s15 80a5ace: f7c1 fd67 bl 80675a0 80a5ad2: 4603 mov r3, r0 80a5ad4: 4618 mov r0, r3 80a5ad6: f77a fc1d bl 8020314 80a5ada: 4603 mov r3, r0 80a5adc: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a5ade: 6d3a ldr r2, [r7, #80] ; 0x50 80a5ae0: 4613 mov r3, r2 80a5ae2: 009b lsls r3, r3, #2 80a5ae4: 4413 add r3, r2 80a5ae6: 3306 adds r3, #6 80a5ae8: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a5aea: 4b51 ldr r3, [pc, #324] ; (80a5c30 ) 80a5aec: 781b ldrb r3, [r3, #0] 80a5aee: 2b2d cmp r3, #45 ; 0x2d 80a5af0: d102 bne.n 80a5af8 80a5af2: 6d3b ldr r3, [r7, #80] ; 0x50 80a5af4: 3b05 subs r3, #5 80a5af6: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a5af8: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5afc: 484d ldr r0, [pc, #308] ; (80a5c34 ) 80a5afe: f7ae fd87 bl 8054610 if(!i) BSP_LCD_DisplayStringAt(157 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a5b02: 6efb ldr r3, [r7, #108] ; 0x6c 80a5b04: 2b00 cmp r3, #0 80a5b06: d10f bne.n 80a5b28 80a5b08: 6d3b ldr r3, [r7, #80] ; 0x50 80a5b0a: b29b uxth r3, r3 80a5b0c: f1c3 039d rsb r3, r3, #157 ; 0x9d 80a5b10: b298 uxth r0, r3 80a5b12: 6efb ldr r3, [r7, #108] ; 0x6c 80a5b14: b29b uxth r3, r3 80a5b16: 00db lsls r3, r3, #3 80a5b18: b29b uxth r3, r3 80a5b1a: 3335 adds r3, #53 ; 0x35 80a5b1c: b299 uxth r1, r3 80a5b1e: 2302 movs r3, #2 80a5b20: 4a45 ldr r2, [pc, #276] ; (80a5c38 ) 80a5b22: f7ae fe3b bl 805479c 80a5b26: e00e b.n 80a5b46 else BSP_LCD_DisplayStringAt(157 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a5b28: 6d3b ldr r3, [r7, #80] ; 0x50 80a5b2a: b29b uxth r3, r3 80a5b2c: f1c3 039d rsb r3, r3, #157 ; 0x9d 80a5b30: b298 uxth r0, r3 80a5b32: 6efb ldr r3, [r7, #108] ; 0x6c 80a5b34: b29b uxth r3, r3 80a5b36: 00db lsls r3, r3, #3 80a5b38: b29b uxth r3, r3 80a5b3a: 3335 adds r3, #53 ; 0x35 80a5b3c: b299 uxth r1, r3 80a5b3e: 2302 movs r3, #2 80a5b40: 4a3e ldr r2, [pc, #248] ; (80a5c3c ) 80a5b42: f7ae fe2b bl 805479c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a5b46: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5b4a: 4837 ldr r0, [pc, #220] ; (80a5c28 ) 80a5b4c: f7ae fd60 bl 8054610 arm_max_f32(&CmplxA_f32(DynamicCursor[i].Mpos), avgSPC[ViewLevel][pardata.LNE], &maxf, &n2); 80a5b50: 4a34 ldr r2, [pc, #208] ; (80a5c24 ) 80a5b52: 6efb ldr r3, [r7, #108] ; 0x6c 80a5b54: 011b lsls r3, r3, #4 80a5b56: 4413 add r3, r2 80a5b58: 3304 adds r3, #4 80a5b5a: 881b ldrh r3, [r3, #0] 80a5b5c: 009b lsls r3, r3, #2 80a5b5e: 461a mov r2, r3 80a5b60: 4b37 ldr r3, [pc, #220] ; (80a5c40 ) 80a5b62: 4413 add r3, r2 80a5b64: 461c mov r4, r3 80a5b66: 4b37 ldr r3, [pc, #220] ; (80a5c44 ) 80a5b68: 781b ldrb r3, [r3, #0] 80a5b6a: b2db uxtb r3, r3 80a5b6c: 4618 mov r0, r3 80a5b6e: 4b36 ldr r3, [pc, #216] ; (80a5c48 ) 80a5b70: 79db ldrb r3, [r3, #7] 80a5b72: b2db uxtb r3, r3 80a5b74: 4619 mov r1, r3 80a5b76: 4a35 ldr r2, [pc, #212] ; (80a5c4c ) 80a5b78: 0083 lsls r3, r0, #2 80a5b7a: 4413 add r3, r2 80a5b7c: 440b add r3, r1 80a5b7e: 781b ldrb r3, [r3, #0] 80a5b80: 4619 mov r1, r3 80a5b82: f107 0348 add.w r3, r7, #72 ; 0x48 80a5b86: f107 0240 add.w r2, r7, #64 ; 0x40 80a5b8a: 4620 mov r0, r4 80a5b8c: f028 fc42 bl 80ce414 arm_min_f32(&CmplxA_f32(DynamicCursor[i].Mpos), avgSPC[ViewLevel][pardata.LNE], &minf, &n1); 80a5b90: 4a24 ldr r2, [pc, #144] ; (80a5c24 ) 80a5b92: 6efb ldr r3, [r7, #108] ; 0x6c 80a5b94: 011b lsls r3, r3, #4 80a5b96: 4413 add r3, r2 80a5b98: 3304 adds r3, #4 80a5b9a: 881b ldrh r3, [r3, #0] 80a5b9c: 009b lsls r3, r3, #2 80a5b9e: 461a mov r2, r3 80a5ba0: 4b27 ldr r3, [pc, #156] ; (80a5c40 ) 80a5ba2: 4413 add r3, r2 80a5ba4: 461c mov r4, r3 80a5ba6: 4b27 ldr r3, [pc, #156] ; (80a5c44 ) 80a5ba8: 781b ldrb r3, [r3, #0] 80a5baa: b2db uxtb r3, r3 80a5bac: 4618 mov r0, r3 80a5bae: 4b26 ldr r3, [pc, #152] ; (80a5c48 ) 80a5bb0: 79db ldrb r3, [r3, #7] 80a5bb2: b2db uxtb r3, r3 80a5bb4: 4619 mov r1, r3 80a5bb6: 4a25 ldr r2, [pc, #148] ; (80a5c4c ) 80a5bb8: 0083 lsls r3, r0, #2 80a5bba: 4413 add r3, r2 80a5bbc: 440b add r3, r1 80a5bbe: 781b ldrb r3, [r3, #0] 80a5bc0: 4619 mov r1, r3 80a5bc2: f107 034c add.w r3, r7, #76 ; 0x4c 80a5bc6: f107 0244 add.w r2, r7, #68 ; 0x44 80a5bca: 4620 mov r0, r4 80a5bcc: f028 fb86 bl 80ce2dc if(ABS(maxf) < ABS(minf)) 80a5bd0: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5bd4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5bd8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5bdc: dd02 ble.n 80a5be4 80a5bde: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a5be2: e003 b.n 80a5bec 80a5be4: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5be8: eeb1 7a67 vneg.f32 s14, s15 80a5bec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5bf0: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5bf4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5bf8: dd02 ble.n 80a5c00 80a5bfa: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5bfe: e003 b.n 80a5c08 80a5c00: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5c04: eef1 7a67 vneg.f32 s15, s15 80a5c08: eeb4 7ae7 vcmpe.f32 s14, s15 80a5c0c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5c10: d51e bpl.n 80a5c50 CurVal = minf; 80a5c12: 6c7b ldr r3, [r7, #68] ; 0x44 80a5c14: 4a02 ldr r2, [pc, #8] ; (80a5c20 ) 80a5c16: 6013 str r3, [r2, #0] l = n1; 80a5c18: 6cfb ldr r3, [r7, #76] ; 0x4c 80a5c1a: 653b str r3, [r7, #80] ; 0x50 80a5c1c: e01d b.n 80a5c5a 80a5c1e: bf00 nop 80a5c20: 200215b4 .word 0x200215b4 80a5c24: 20020f8c .word 0x20020f8c 80a5c28: ff26a01f .word 0xff26a01f 80a5c2c: 080d4df8 .word 0x080d4df8 80a5c30: 20026cf8 .word 0x20026cf8 80a5c34: ffffa500 .word 0xffffa500 80a5c38: 080d4e04 .word 0x080d4e04 80a5c3c: 080d4e08 .word 0x080d4e08 80a5c40: 64090000 .word 0x64090000 80a5c44: 20020fb8 .word 0x20020fb8 80a5c48: 20023ea8 .word 0x20023ea8 80a5c4c: 080f398c .word 0x080f398c CurVal = maxf; 80a5c50: 6c3b ldr r3, [r7, #64] ; 0x40 80a5c52: 4abb ldr r2, [pc, #748] ; (80a5f40 ) 80a5c54: 6013 str r3, [r2, #0] l = n2; 80a5c56: 6cbb ldr r3, [r7, #72] ; 0x48 80a5c58: 653b str r3, [r7, #80] ; 0x50 DynamicCursor[i].fineMpos = DynamicCursor[i].Mpos + l; 80a5c5a: 4aba ldr r2, [pc, #744] ; (80a5f44 ) 80a5c5c: 6efb ldr r3, [r7, #108] ; 0x6c 80a5c5e: 011b lsls r3, r3, #4 80a5c60: 4413 add r3, r2 80a5c62: 3304 adds r3, #4 80a5c64: 881a ldrh r2, [r3, #0] 80a5c66: 6d3b ldr r3, [r7, #80] ; 0x50 80a5c68: b29b uxth r3, r3 80a5c6a: 4413 add r3, r2 80a5c6c: b299 uxth r1, r3 80a5c6e: 4ab5 ldr r2, [pc, #724] ; (80a5f44 ) 80a5c70: 6efb ldr r3, [r7, #108] ; 0x6c 80a5c72: 011b lsls r3, r3, #4 80a5c74: 4413 add r3, r2 80a5c76: 3306 adds r3, #6 80a5c78: 460a mov r2, r1 80a5c7a: 801a strh r2, [r3, #0] tmpF = (float32_t) DynamicCursor[i].fineMpos; 80a5c7c: 4ab1 ldr r2, [pc, #708] ; (80a5f44 ) 80a5c7e: 6efb ldr r3, [r7, #108] ; 0x6c 80a5c80: 011b lsls r3, r3, #4 80a5c82: 4413 add r3, r2 80a5c84: 3306 adds r3, #6 80a5c86: 881b ldrh r3, [r3, #0] 80a5c88: ee07 3a90 vmov s15, r3 80a5c8c: eef8 7a67 vcvt.f32.u32 s15, s15 80a5c90: edc7 7a15 vstr s15, [r7, #84] ; 0x54 LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 80a5c94: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5c98: f04f 30ff mov.w r0, #4294967295 80a5c9c: f7ae fcb8 bl 8054610 DynamicCursor[i].val_Y = CurVal; 80a5ca0: 4ba7 ldr r3, [pc, #668] ; (80a5f40 ) 80a5ca2: 681a ldr r2, [r3, #0] 80a5ca4: 49a7 ldr r1, [pc, #668] ; (80a5f44 ) 80a5ca6: 6efb ldr r3, [r7, #108] ; 0x6c 80a5ca8: 011b lsls r3, r3, #4 80a5caa: 440b add r3, r1 80a5cac: 330c adds r3, #12 80a5cae: 601a str r2, [r3, #0] Val = DynamicCursor[i].val_Y; 80a5cb0: 4aa4 ldr r2, [pc, #656] ; (80a5f44 ) 80a5cb2: 6efb ldr r3, [r7, #108] ; 0x6c 80a5cb4: 011b lsls r3, r3, #4 80a5cb6: 4413 add r3, r2 80a5cb8: 330c adds r3, #12 80a5cba: 681b ldr r3, [r3, #0] 80a5cbc: 63fb str r3, [r7, #60] ; 0x3c BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "dB", LEFT_MODE); 80a5cbe: 6efb ldr r3, [r7, #108] ; 0x6c 80a5cc0: b29b uxth r3, r3 80a5cc2: 00db lsls r3, r3, #3 80a5cc4: b29b uxth r3, r3 80a5cc6: 3335 adds r3, #53 ; 0x35 80a5cc8: b299 uxth r1, r3 80a5cca: 2303 movs r3, #3 80a5ccc: 4a9e ldr r2, [pc, #632] ; (80a5f48 ) 80a5cce: 20dc movs r0, #220 ; 0xdc 80a5cd0: f7ae fd64 bl 805479c BSP_LCD_DisplayStringAt(220-3, 53 + 8 * i, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a5cd4: 6efb ldr r3, [r7, #108] ; 0x6c 80a5cd6: b29b uxth r3, r3 80a5cd8: 00db lsls r3, r3, #3 80a5cda: b29b uxth r3, r3 80a5cdc: 3335 adds r3, #53 ; 0x35 80a5cde: b29c uxth r4, r3 80a5ce0: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a5ce4: f04f 30ff mov.w r0, #4294967295 80a5ce8: eeb0 0a67 vmov.f32 s0, s15 80a5cec: f7c1 fc58 bl 80675a0 80a5cf0: 4602 mov r2, r0 80a5cf2: 2302 movs r3, #2 80a5cf4: 4621 mov r1, r4 80a5cf6: 20d9 movs r0, #217 ; 0xd9 80a5cf8: f7ae fd50 bl 805479c LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a5cfc: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5d00: 4892 ldr r0, [pc, #584] ; (80a5f4c ) 80a5d02: f7ae fc85 bl 8054610 tmpF = (float32_t) DynamicCursor[i].fineMpos; 80a5d06: 4a8f ldr r2, [pc, #572] ; (80a5f44 ) 80a5d08: 6efb ldr r3, [r7, #108] ; 0x6c 80a5d0a: 011b lsls r3, r3, #4 80a5d0c: 4413 add r3, r2 80a5d0e: 3306 adds r3, #6 80a5d10: 881b ldrh r3, [r3, #0] 80a5d12: ee07 3a90 vmov s15, r3 80a5d16: eef8 7a67 vcvt.f32.u32 s15, s15 80a5d1a: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(tmpF != TF) 80a5d1e: 4b8c ldr r3, [pc, #560] ; (80a5f50 ) 80a5d20: edd3 7a00 vldr s15, [r3] 80a5d24: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80a5d28: eeb4 7a67 vcmp.f32 s14, s15 80a5d2c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5d30: d01d beq.n 80a5d6e TF = tmpF; 80a5d32: 4a87 ldr r2, [pc, #540] ; (80a5f50 ) 80a5d34: 6d7b ldr r3, [r7, #84] ; 0x54 80a5d36: 6013 str r3, [r2, #0] TF *= Delta_SPC[pardata.FRQ][pardata.LNE]; 80a5d38: 4b86 ldr r3, [pc, #536] ; (80a5f54 ) 80a5d3a: 7adb ldrb r3, [r3, #11] 80a5d3c: b2db uxtb r3, r3 80a5d3e: 4618 mov r0, r3 80a5d40: 4b84 ldr r3, [pc, #528] ; (80a5f54 ) 80a5d42: 79db ldrb r3, [r3, #7] 80a5d44: b2db uxtb r3, r3 80a5d46: 4619 mov r1, r3 80a5d48: 4a83 ldr r2, [pc, #524] ; (80a5f58 ) 80a5d4a: 0083 lsls r3, r0, #2 80a5d4c: 440b add r3, r1 80a5d4e: 009b lsls r3, r3, #2 80a5d50: 4413 add r3, r2 80a5d52: ed93 7a00 vldr s14, [r3] 80a5d56: 4b7e ldr r3, [pc, #504] ; (80a5f50 ) 80a5d58: edd3 7a00 vldr s15, [r3] 80a5d5c: ee67 7a27 vmul.f32 s15, s14, s15 80a5d60: 4b7b ldr r3, [pc, #492] ; (80a5f50 ) 80a5d62: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a5d66: 4b7a ldr r3, [pc, #488] ; (80a5f50 ) 80a5d68: 681b ldr r3, [r3, #0] 80a5d6a: 4a7c ldr r2, [pc, #496] ; (80a5f5c ) 80a5d6c: 6013 str r3, [r2, #0] tmpF = TF; 80a5d6e: 4b78 ldr r3, [pc, #480] ; (80a5f50 ) 80a5d70: 681b ldr r3, [r3, #0] 80a5d72: 657b str r3, [r7, #84] ; 0x54 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a5d74: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5d78: 4874 ldr r0, [pc, #464] ; (80a5f4c ) 80a5d7a: f7ae fc49 bl 8054610 if(pardata.LANG == RUS) 80a5d7e: 4b75 ldr r3, [pc, #468] ; (80a5f54 ) 80a5d80: 7b1b ldrb r3, [r3, #12] 80a5d82: b2db uxtb r3, r3 80a5d84: 2b00 cmp r3, #0 80a5d86: d10c bne.n 80a5da2 BSP_LCD_DisplayStringAt(305, 53 + 8 * i, "$%", LEFT_MODE); 80a5d88: 6efb ldr r3, [r7, #108] ; 0x6c 80a5d8a: b29b uxth r3, r3 80a5d8c: 00db lsls r3, r3, #3 80a5d8e: b29b uxth r3, r3 80a5d90: 3335 adds r3, #53 ; 0x35 80a5d92: b299 uxth r1, r3 80a5d94: 2303 movs r3, #3 80a5d96: 4a72 ldr r2, [pc, #456] ; (80a5f60 ) 80a5d98: f240 1031 movw r0, #305 ; 0x131 80a5d9c: f7ae fcfe bl 805479c 80a5da0: e00b b.n 80a5dba else BSP_LCD_DisplayStringAt(305, 53 + 8 * i, "Hz", LEFT_MODE); 80a5da2: 6efb ldr r3, [r7, #108] ; 0x6c 80a5da4: b29b uxth r3, r3 80a5da6: 00db lsls r3, r3, #3 80a5da8: b29b uxth r3, r3 80a5daa: 3335 adds r3, #53 ; 0x35 80a5dac: b299 uxth r1, r3 80a5dae: 2303 movs r3, #3 80a5db0: 4a6c ldr r2, [pc, #432] ; (80a5f64 ) 80a5db2: f240 1031 movw r0, #305 ; 0x131 80a5db6: f7ae fcf1 bl 805479c if(tmpF < 10.0f) BSP_LCD_DisplayStringAt(302, 53 + 8 * i, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a5dba: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a5dbe: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a5dc2: eef4 7ac7 vcmpe.f32 s15, s14 80a5dc6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5dca: d513 bpl.n 80a5df4 80a5dcc: 6efb ldr r3, [r7, #108] ; 0x6c 80a5dce: b29b uxth r3, r3 80a5dd0: 00db lsls r3, r3, #3 80a5dd2: b29b uxth r3, r3 80a5dd4: 3335 adds r3, #53 ; 0x35 80a5dd6: b29c uxth r4, r3 80a5dd8: f06f 0003 mvn.w r0, #3 80a5ddc: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a5de0: f7c1 fbde bl 80675a0 80a5de4: 4602 mov r2, r0 80a5de6: 2302 movs r3, #2 80a5de8: 4621 mov r1, r4 80a5dea: f44f 7097 mov.w r0, #302 ; 0x12e 80a5dee: f7ae fcd5 bl 805479c 80a5df2: e02f b.n 80a5e54 else if(tmpF < 100.0f) BSP_LCD_DisplayStringAt(302, 53 + 8 * i, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a5df4: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a5df8: ed9f 7a5b vldr s14, [pc, #364] ; 80a5f68 80a5dfc: eef4 7ac7 vcmpe.f32 s15, s14 80a5e00: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5e04: d513 bpl.n 80a5e2e 80a5e06: 6efb ldr r3, [r7, #108] ; 0x6c 80a5e08: b29b uxth r3, r3 80a5e0a: 00db lsls r3, r3, #3 80a5e0c: b29b uxth r3, r3 80a5e0e: 3335 adds r3, #53 ; 0x35 80a5e10: b29c uxth r4, r3 80a5e12: f06f 0002 mvn.w r0, #2 80a5e16: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a5e1a: f7c1 fbc1 bl 80675a0 80a5e1e: 4602 mov r2, r0 80a5e20: 2302 movs r3, #2 80a5e22: 4621 mov r1, r4 80a5e24: f44f 7097 mov.w r0, #302 ; 0x12e 80a5e28: f7ae fcb8 bl 805479c 80a5e2c: e012 b.n 80a5e54 else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a5e2e: 6efb ldr r3, [r7, #108] ; 0x6c 80a5e30: b29b uxth r3, r3 80a5e32: 00db lsls r3, r3, #3 80a5e34: b29b uxth r3, r3 80a5e36: 3335 adds r3, #53 ; 0x35 80a5e38: b29c uxth r4, r3 80a5e3a: f06f 0001 mvn.w r0, #1 80a5e3e: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a5e42: f7c1 fbad bl 80675a0 80a5e46: 4602 mov r2, r0 80a5e48: 2302 movs r3, #2 80a5e4a: 4621 mov r1, r4 80a5e4c: f44f 7097 mov.w r0, #302 ; 0x12e 80a5e50: f7ae fca4 bl 805479c for(i = 0; i < 2; i++) 80a5e54: 6efb ldr r3, [r7, #108] ; 0x6c 80a5e56: 3301 adds r3, #1 80a5e58: 66fb str r3, [r7, #108] ; 0x6c 80a5e5a: 6efb ldr r3, [r7, #108] ; 0x6c 80a5e5c: 2b01 cmp r3, #1 80a5e5e: f67f ad44 bls.w 80a58ea } 80a5e62: f003 bcc7 b.w 80a97f4 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 80a5e66: 4b3b ldr r3, [pc, #236] ; (80a5f54 ) 80a5e68: 781b ldrb r3, [r3, #0] 80a5e6a: b2db uxtb r3, r3 80a5e6c: 2b01 cmp r3, #1 80a5e6e: d005 beq.n 80a5e7c 80a5e70: 4b38 ldr r3, [pc, #224] ; (80a5f54 ) 80a5e72: 781b ldrb r3, [r3, #0] 80a5e74: b2db uxtb r3, r3 80a5e76: 2b05 cmp r3, #5 80a5e78: f041 82b8 bne.w 80a73ec arm_max_f32(&ScrA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &maxf, &n2); 80a5e7c: 4b3b ldr r3, [pc, #236] ; (80a5f6c ) 80a5e7e: 881b ldrh r3, [r3, #0] 80a5e80: b29b uxth r3, r3 80a5e82: 009b lsls r3, r3, #2 80a5e84: 461a mov r2, r3 80a5e86: 4b3a ldr r3, [pc, #232] ; (80a5f70 ) 80a5e88: 4413 add r3, r2 80a5e8a: 461c mov r4, r3 80a5e8c: 4b39 ldr r3, [pc, #228] ; (80a5f74 ) 80a5e8e: 781b ldrb r3, [r3, #0] 80a5e90: b2db uxtb r3, r3 80a5e92: 4618 mov r0, r3 80a5e94: 4b2f ldr r3, [pc, #188] ; (80a5f54 ) 80a5e96: 79db ldrb r3, [r3, #7] 80a5e98: b2db uxtb r3, r3 80a5e9a: 4619 mov r1, r3 80a5e9c: 4a36 ldr r2, [pc, #216] ; (80a5f78 ) 80a5e9e: 0083 lsls r3, r0, #2 80a5ea0: 4413 add r3, r2 80a5ea2: 440b add r3, r1 80a5ea4: 781b ldrb r3, [r3, #0] 80a5ea6: 4619 mov r1, r3 80a5ea8: f107 0348 add.w r3, r7, #72 ; 0x48 80a5eac: f107 0240 add.w r2, r7, #64 ; 0x40 80a5eb0: 4620 mov r0, r4 80a5eb2: f028 faaf bl 80ce414 arm_min_f32(&ScrA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &minf, &n1); 80a5eb6: 4b2d ldr r3, [pc, #180] ; (80a5f6c ) 80a5eb8: 881b ldrh r3, [r3, #0] 80a5eba: b29b uxth r3, r3 80a5ebc: 009b lsls r3, r3, #2 80a5ebe: 461a mov r2, r3 80a5ec0: 4b2b ldr r3, [pc, #172] ; (80a5f70 ) 80a5ec2: 4413 add r3, r2 80a5ec4: 461c mov r4, r3 80a5ec6: 4b2b ldr r3, [pc, #172] ; (80a5f74 ) 80a5ec8: 781b ldrb r3, [r3, #0] 80a5eca: b2db uxtb r3, r3 80a5ecc: 4618 mov r0, r3 80a5ece: 4b21 ldr r3, [pc, #132] ; (80a5f54 ) 80a5ed0: 79db ldrb r3, [r3, #7] 80a5ed2: b2db uxtb r3, r3 80a5ed4: 4619 mov r1, r3 80a5ed6: 4a28 ldr r2, [pc, #160] ; (80a5f78 ) 80a5ed8: 0083 lsls r3, r0, #2 80a5eda: 4413 add r3, r2 80a5edc: 440b add r3, r1 80a5ede: 781b ldrb r3, [r3, #0] 80a5ee0: 4619 mov r1, r3 80a5ee2: f107 034c add.w r3, r7, #76 ; 0x4c 80a5ee6: f107 0244 add.w r2, r7, #68 ; 0x44 80a5eea: 4620 mov r0, r4 80a5eec: f028 f9f6 bl 80ce2dc if(ABS(maxf) < ABS(minf)) 80a5ef0: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5ef4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5ef8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5efc: dd02 ble.n 80a5f04 80a5efe: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a5f02: e003 b.n 80a5f0c 80a5f04: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5f08: eeb1 7a67 vneg.f32 s14, s15 80a5f0c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5f10: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5f14: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5f18: dd02 ble.n 80a5f20 80a5f1a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5f1e: e003 b.n 80a5f28 80a5f20: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5f24: eef1 7a67 vneg.f32 s15, s15 80a5f28: eeb4 7ae7 vcmpe.f32 s14, s15 80a5f2c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5f30: d524 bpl.n 80a5f7c CurVal = minf; 80a5f32: 6c7b ldr r3, [r7, #68] ; 0x44 80a5f34: 4a02 ldr r2, [pc, #8] ; (80a5f40 ) 80a5f36: 6013 str r3, [r2, #0] l = n1; 80a5f38: 6cfb ldr r3, [r7, #76] ; 0x4c 80a5f3a: 653b str r3, [r7, #80] ; 0x50 80a5f3c: e023 b.n 80a5f86 80a5f3e: bf00 nop 80a5f40: 200215b4 .word 0x200215b4 80a5f44: 20020f8c .word 0x20020f8c 80a5f48: 080d4df8 .word 0x080d4df8 80a5f4c: ff808080 .word 0xff808080 80a5f50: 200215b8 .word 0x200215b8 80a5f54: 20023ea8 .word 0x20023ea8 80a5f58: 080f3a6c .word 0x080f3a6c 80a5f5c: 20021690 .word 0x20021690 80a5f60: 080d4dfc .word 0x080d4dfc 80a5f64: 080d4e00 .word 0x080d4e00 80a5f68: 42c80000 .word 0x42c80000 80a5f6c: 20025d5e .word 0x20025d5e 80a5f70: 64080000 .word 0x64080000 80a5f74: 20020fb8 .word 0x20020fb8 80a5f78: 080f398c .word 0x080f398c CurVal = maxf; 80a5f7c: 6c3b ldr r3, [r7, #64] ; 0x40 80a5f7e: 4ab2 ldr r2, [pc, #712] ; (80a6248 ) 80a5f80: 6013 str r3, [r2, #0] l = n2; 80a5f82: 6cbb ldr r3, [r7, #72] ; 0x48 80a5f84: 653b str r3, [r7, #80] ; 0x50 fineMpos = Mpos + l; 80a5f86: 6d3b ldr r3, [r7, #80] ; 0x50 80a5f88: b29a uxth r2, r3 80a5f8a: 4bb0 ldr r3, [pc, #704] ; (80a624c ) 80a5f8c: 881b ldrh r3, [r3, #0] 80a5f8e: b29b uxth r3, r3 80a5f90: 4413 add r3, r2 80a5f92: b29a uxth r2, r3 80a5f94: 4bae ldr r3, [pc, #696] ; (80a6250 ) 80a5f96: 801a strh r2, [r3, #0] tmpF = (float32_t) fineMpos; 80a5f98: 4bad ldr r3, [pc, #692] ; (80a6250 ) 80a5f9a: 881b ldrh r3, [r3, #0] 80a5f9c: b29b uxth r3, r3 80a5f9e: ee07 3a90 vmov s15, r3 80a5fa2: eef8 7a67 vcvt.f32.u32 s15, s15 80a5fa6: edc7 7a15 vstr s15, [r7, #84] ; 0x54 CurVal *= 0.70710678f; 80a5faa: 4ba7 ldr r3, [pc, #668] ; (80a6248 ) 80a5fac: edd3 7a00 vldr s15, [r3] 80a5fb0: ed9f 7aa8 vldr s14, [pc, #672] ; 80a6254 80a5fb4: ee67 7a87 vmul.f32 s15, s15, s14 80a5fb8: 4ba3 ldr r3, [pc, #652] ; (80a6248 ) 80a5fba: edc3 7a00 vstr s15, [r3] if(pardata.WIN == HANN) 80a5fbe: 4ba6 ldr r3, [pc, #664] ; (80a6258 ) 80a5fc0: 7a5b ldrb r3, [r3, #9] 80a5fc2: b2db uxtb r3, r3 80a5fc4: 2b01 cmp r3, #1 80a5fc6: d107 bne.n 80a5fd8 CurVal *= 2.0f; 80a5fc8: 4b9f ldr r3, [pc, #636] ; (80a6248 ) 80a5fca: edd3 7a00 vldr s15, [r3] 80a5fce: ee77 7aa7 vadd.f32 s15, s15, s15 80a5fd2: 4b9d ldr r3, [pc, #628] ; (80a6248 ) 80a5fd4: edc3 7a00 vstr s15, [r3] if(pardata.IVS[pardata.IPR] == PEAK) 80a5fd8: 4b9f ldr r3, [pc, #636] ; (80a6258 ) 80a5fda: 785b ldrb r3, [r3, #1] 80a5fdc: b2db uxtb r3, r3 80a5fde: 461a mov r2, r3 80a5fe0: 4b9d ldr r3, [pc, #628] ; (80a6258 ) 80a5fe2: 4413 add r3, r2 80a5fe4: 789b ldrb r3, [r3, #2] 80a5fe6: b2db uxtb r3, r3 80a5fe8: 2b00 cmp r3, #0 80a5fea: d109 bne.n 80a6000 CurVal *= 1.414213562373f; 80a5fec: 4b96 ldr r3, [pc, #600] ; (80a6248 ) 80a5fee: edd3 7a00 vldr s15, [r3] 80a5ff2: ed9f 7a9a vldr s14, [pc, #616] ; 80a625c 80a5ff6: ee67 7a87 vmul.f32 s15, s15, s14 80a5ffa: 4b93 ldr r3, [pc, #588] ; (80a6248 ) 80a5ffc: edc3 7a00 vstr s15, [r3] if(pardata.MSH == LOG) 80a6000: 4b95 ldr r3, [pc, #596] ; (80a6258 ) 80a6002: 7a9b ldrb r3, [r3, #10] 80a6004: b2db uxtb r3, r3 80a6006: 2b01 cmp r3, #1 80a6008: d111 bne.n 80a602e if(pardata.IIN != VOLTS) 80a600a: 4b93 ldr r3, [pc, #588] ; (80a6258 ) 80a600c: 799b ldrb r3, [r3, #6] 80a600e: b2db uxtb r3, r3 80a6010: 2b02 cmp r3, #2 80a6012: d004 beq.n 80a601e LinToLog(&CurVal, &CurVal); 80a6014: 498c ldr r1, [pc, #560] ; (80a6248 ) 80a6016: 488c ldr r0, [pc, #560] ; (80a6248 ) 80a6018: f7bf fe96 bl 8065d48 80a601c: e007 b.n 80a602e else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a601e: 4b8e ldr r3, [pc, #568] ; (80a6258 ) 80a6020: 785b ldrb r3, [r3, #1] 80a6022: b2db uxtb r3, r3 80a6024: 461a mov r2, r3 80a6026: 4988 ldr r1, [pc, #544] ; (80a6248 ) 80a6028: 4887 ldr r0, [pc, #540] ; (80a6248 ) 80a602a: f7bf febd bl 8065da8 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a602e: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6032: 488b ldr r0, [pc, #556] ; (80a6260 ) 80a6034: f7ae faec bl 8054610 Val = CurVal; 80a6038: 4b83 ldr r3, [pc, #524] ; (80a6248 ) 80a603a: 681b ldr r3, [r3, #0] 80a603c: 63fb str r3, [r7, #60] ; 0x3c if(pardata.MSH == LOG) 80a603e: 4b86 ldr r3, [pc, #536] ; (80a6258 ) 80a6040: 7a9b ldrb r3, [r3, #10] 80a6042: b2db uxtb r3, r3 80a6044: 2b01 cmp r3, #1 80a6046: d114 bne.n 80a6072 BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a6048: 2303 movs r3, #3 80a604a: 4a86 ldr r2, [pc, #536] ; (80a6264 ) 80a604c: 212d movs r1, #45 ; 0x2d 80a604e: 20dc movs r0, #220 ; 0xdc 80a6050: f7ae fba4 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a6054: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6058: f04f 30ff mov.w r0, #4294967295 80a605c: eeb0 0a67 vmov.f32 s0, s15 80a6060: f7c1 fa9e bl 80675a0 80a6064: 4602 mov r2, r0 80a6066: 2302 movs r3, #2 80a6068: 212d movs r1, #45 ; 0x2d 80a606a: 20d9 movs r0, #217 ; 0xd9 80a606c: f7ae fb96 bl 805479c 80a6070: e22b b.n 80a64ca if(Val >= 1000.0f) 80a6072: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6076: ed9f 7a7c vldr s14, [pc, #496] ; 80a6268 80a607a: eef4 7ac7 vcmpe.f32 s15, s14 80a607e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6082: f2c0 80a6 blt.w 80a61d2 Val *= 0.001f; 80a6086: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a608a: ed9f 7a78 vldr s14, [pc, #480] ; 80a626c 80a608e: ee67 7a87 vmul.f32 s15, s15, s14 80a6092: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a6096: 4b70 ldr r3, [pc, #448] ; (80a6258 ) 80a6098: 785b ldrb r3, [r3, #1] 80a609a: b2db uxtb r3, r3 80a609c: 2b00 cmp r3, #0 80a609e: d12a bne.n 80a60f6 if(pardata.IIN != VOLTS) 80a60a0: 4b6d ldr r3, [pc, #436] ; (80a6258 ) 80a60a2: 799b ldrb r3, [r3, #6] 80a60a4: b2db uxtb r3, r3 80a60a6: 2b02 cmp r3, #2 80a60a8: d012 beq.n 80a60d0 if(pardata.LANG == RUS) 80a60aa: 4b6b ldr r3, [pc, #428] ; (80a6258 ) 80a60ac: 7b1b ldrb r3, [r3, #12] 80a60ae: b2db uxtb r3, r3 80a60b0: 2b00 cmp r3, #0 80a60b2: d106 bne.n 80a60c2 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a60b4: 2303 movs r3, #3 80a60b6: 4a6e ldr r2, [pc, #440] ; (80a6270 ) 80a60b8: 212d movs r1, #45 ; 0x2d 80a60ba: 20dc movs r0, #220 ; 0xdc 80a60bc: f7ae fb6e bl 805479c 80a60c0: e078 b.n 80a61b4 else BSP_LCD_DisplayStringAt(220, 45, "km/s^", LEFT_MODE); 80a60c2: 2303 movs r3, #3 80a60c4: 4a6b ldr r2, [pc, #428] ; (80a6274 ) 80a60c6: 212d movs r1, #45 ; 0x2d 80a60c8: 20dc movs r0, #220 ; 0xdc 80a60ca: f7ae fb67 bl 805479c 80a60ce: e071 b.n 80a61b4 if(pardata.LANG == RUS) 80a60d0: 4b61 ldr r3, [pc, #388] ; (80a6258 ) 80a60d2: 7b1b ldrb r3, [r3, #12] 80a60d4: b2db uxtb r3, r3 80a60d6: 2b00 cmp r3, #0 80a60d8: d106 bne.n 80a60e8 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a60da: 2303 movs r3, #3 80a60dc: 4a66 ldr r2, [pc, #408] ; (80a6278 ) 80a60de: 212d movs r1, #45 ; 0x2d 80a60e0: 20dc movs r0, #220 ; 0xdc 80a60e2: f7ae fb5b bl 805479c 80a60e6: e065 b.n 80a61b4 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a60e8: 2303 movs r3, #3 80a60ea: 4a64 ldr r2, [pc, #400] ; (80a627c ) 80a60ec: 212d movs r1, #45 ; 0x2d 80a60ee: 20dc movs r0, #220 ; 0xdc 80a60f0: f7ae fb54 bl 805479c 80a60f4: e05e b.n 80a61b4 if(pardata.IPR == VEL) 80a60f6: 4b58 ldr r3, [pc, #352] ; (80a6258 ) 80a60f8: 785b ldrb r3, [r3, #1] 80a60fa: b2db uxtb r3, r3 80a60fc: 2b01 cmp r3, #1 80a60fe: d12a bne.n 80a6156 if(pardata.IIN != VOLTS) 80a6100: 4b55 ldr r3, [pc, #340] ; (80a6258 ) 80a6102: 799b ldrb r3, [r3, #6] 80a6104: b2db uxtb r3, r3 80a6106: 2b02 cmp r3, #2 80a6108: d012 beq.n 80a6130 if(pardata.LANG == RUS) 80a610a: 4b53 ldr r3, [pc, #332] ; (80a6258 ) 80a610c: 7b1b ldrb r3, [r3, #12] 80a610e: b2db uxtb r3, r3 80a6110: 2b00 cmp r3, #0 80a6112: d106 bne.n 80a6122 BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a6114: 2303 movs r3, #3 80a6116: 4a5a ldr r2, [pc, #360] ; (80a6280 ) 80a6118: 212d movs r1, #45 ; 0x2d 80a611a: 20dc movs r0, #220 ; 0xdc 80a611c: f7ae fb3e bl 805479c 80a6120: e048 b.n 80a61b4 else BSP_LCD_DisplayStringAt(220, 45, "m/s", LEFT_MODE); 80a6122: 2303 movs r3, #3 80a6124: 4a57 ldr r2, [pc, #348] ; (80a6284 ) 80a6126: 212d movs r1, #45 ; 0x2d 80a6128: 20dc movs r0, #220 ; 0xdc 80a612a: f7ae fb37 bl 805479c 80a612e: e041 b.n 80a61b4 if(pardata.LANG == RUS) 80a6130: 4b49 ldr r3, [pc, #292] ; (80a6258 ) 80a6132: 7b1b ldrb r3, [r3, #12] 80a6134: b2db uxtb r3, r3 80a6136: 2b00 cmp r3, #0 80a6138: d106 bne.n 80a6148 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a613a: 2303 movs r3, #3 80a613c: 4a4e ldr r2, [pc, #312] ; (80a6278 ) 80a613e: 212d movs r1, #45 ; 0x2d 80a6140: 20dc movs r0, #220 ; 0xdc 80a6142: f7ae fb2b bl 805479c 80a6146: e035 b.n 80a61b4 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a6148: 2303 movs r3, #3 80a614a: 4a4c ldr r2, [pc, #304] ; (80a627c ) 80a614c: 212d movs r1, #45 ; 0x2d 80a614e: 20dc movs r0, #220 ; 0xdc 80a6150: f7ae fb24 bl 805479c 80a6154: e02e b.n 80a61b4 if(pardata.IPR == DIS) 80a6156: 4b40 ldr r3, [pc, #256] ; (80a6258 ) 80a6158: 785b ldrb r3, [r3, #1] 80a615a: b2db uxtb r3, r3 80a615c: 2b02 cmp r3, #2 80a615e: d129 bne.n 80a61b4 if(pardata.IIN != VOLTS) 80a6160: 4b3d ldr r3, [pc, #244] ; (80a6258 ) 80a6162: 799b ldrb r3, [r3, #6] 80a6164: b2db uxtb r3, r3 80a6166: 2b02 cmp r3, #2 80a6168: d012 beq.n 80a6190 if(pardata.LANG == RUS) 80a616a: 4b3b ldr r3, [pc, #236] ; (80a6258 ) 80a616c: 7b1b ldrb r3, [r3, #12] 80a616e: b2db uxtb r3, r3 80a6170: 2b00 cmp r3, #0 80a6172: d106 bne.n 80a6182 BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a6174: 2303 movs r3, #3 80a6176: 4a44 ldr r2, [pc, #272] ; (80a6288 ) 80a6178: 212d movs r1, #45 ; 0x2d 80a617a: 20dc movs r0, #220 ; 0xdc 80a617c: f7ae fb0e bl 805479c 80a6180: e018 b.n 80a61b4 else BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a6182: 2303 movs r3, #3 80a6184: 4a41 ldr r2, [pc, #260] ; (80a628c ) 80a6186: 212d movs r1, #45 ; 0x2d 80a6188: 20dc movs r0, #220 ; 0xdc 80a618a: f7ae fb07 bl 805479c 80a618e: e011 b.n 80a61b4 if(pardata.LANG == RUS) 80a6190: 4b31 ldr r3, [pc, #196] ; (80a6258 ) 80a6192: 7b1b ldrb r3, [r3, #12] 80a6194: b2db uxtb r3, r3 80a6196: 2b00 cmp r3, #0 80a6198: d106 bne.n 80a61a8 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a619a: 2303 movs r3, #3 80a619c: 4a36 ldr r2, [pc, #216] ; (80a6278 ) 80a619e: 212d movs r1, #45 ; 0x2d 80a61a0: 20dc movs r0, #220 ; 0xdc 80a61a2: f7ae fafb bl 805479c 80a61a6: e005 b.n 80a61b4 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a61a8: 2303 movs r3, #3 80a61aa: 4a34 ldr r2, [pc, #208] ; (80a627c ) 80a61ac: 212d movs r1, #45 ; 0x2d 80a61ae: 20dc movs r0, #220 ; 0xdc 80a61b0: f7ae faf4 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a61b4: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a61b8: f06f 0003 mvn.w r0, #3 80a61bc: eeb0 0a67 vmov.f32 s0, s15 80a61c0: f7c1 f9ee bl 80675a0 80a61c4: 4602 mov r2, r0 80a61c6: 2302 movs r3, #2 80a61c8: 212d movs r1, #45 ; 0x2d 80a61ca: 20d9 movs r0, #217 ; 0xd9 80a61cc: f7ae fae6 bl 805479c 80a61d0: e17b b.n 80a64ca if(Val >= 0.1f) 80a61d2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a61d6: ed9f 7a2e vldr s14, [pc, #184] ; 80a6290 80a61da: eef4 7ac7 vcmpe.f32 s15, s14 80a61de: eef1 fa10 vmrs APSR_nzcv, fpscr 80a61e2: f2c0 80cd blt.w 80a6380 if(pardata.IPR == ACC) 80a61e6: 4b1c ldr r3, [pc, #112] ; (80a6258 ) 80a61e8: 785b ldrb r3, [r3, #1] 80a61ea: b2db uxtb r3, r3 80a61ec: 2b00 cmp r3, #0 80a61ee: d159 bne.n 80a62a4 if(pardata.IIN != VOLTS) 80a61f0: 4b19 ldr r3, [pc, #100] ; (80a6258 ) 80a61f2: 799b ldrb r3, [r3, #6] 80a61f4: b2db uxtb r3, r3 80a61f6: 2b02 cmp r3, #2 80a61f8: d012 beq.n 80a6220 if(pardata.LANG == RUS) 80a61fa: 4b17 ldr r3, [pc, #92] ; (80a6258 ) 80a61fc: 7b1b ldrb r3, [r3, #12] 80a61fe: b2db uxtb r3, r3 80a6200: 2b00 cmp r3, #0 80a6202: d106 bne.n 80a6212 BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a6204: 2303 movs r3, #3 80a6206: 4a23 ldr r2, [pc, #140] ; (80a6294 ) 80a6208: 212d movs r1, #45 ; 0x2d 80a620a: 20dc movs r0, #220 ; 0xdc 80a620c: f7ae fac6 bl 805479c 80a6210: e0a7 b.n 80a6362 else BSP_LCD_DisplayStringAt(220, 45, "m/s^", LEFT_MODE); 80a6212: 2303 movs r3, #3 80a6214: 4a20 ldr r2, [pc, #128] ; (80a6298 ) 80a6216: 212d movs r1, #45 ; 0x2d 80a6218: 20dc movs r0, #220 ; 0xdc 80a621a: f7ae fabf bl 805479c 80a621e: e0a0 b.n 80a6362 if(pardata.LANG == RUS) 80a6220: 4b0d ldr r3, [pc, #52] ; (80a6258 ) 80a6222: 7b1b ldrb r3, [r3, #12] 80a6224: b2db uxtb r3, r3 80a6226: 2b00 cmp r3, #0 80a6228: d106 bne.n 80a6238 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a622a: 2303 movs r3, #3 80a622c: 4a1b ldr r2, [pc, #108] ; (80a629c ) 80a622e: 212d movs r1, #45 ; 0x2d 80a6230: 20dc movs r0, #220 ; 0xdc 80a6232: f7ae fab3 bl 805479c 80a6236: e094 b.n 80a6362 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a6238: 2303 movs r3, #3 80a623a: 4a19 ldr r2, [pc, #100] ; (80a62a0 ) 80a623c: 212d movs r1, #45 ; 0x2d 80a623e: 20dc movs r0, #220 ; 0xdc 80a6240: f7ae faac bl 805479c 80a6244: e08d b.n 80a6362 80a6246: bf00 nop 80a6248: 200215b4 .word 0x200215b4 80a624c: 20025d5e .word 0x20025d5e 80a6250: 20025d64 .word 0x20025d64 80a6254: 3f3504f3 .word 0x3f3504f3 80a6258: 20023ea8 .word 0x20023ea8 80a625c: 3fb504f3 .word 0x3fb504f3 80a6260: ff26a01f .word 0xff26a01f 80a6264: 080d4df8 .word 0x080d4df8 80a6268: 447a0000 .word 0x447a0000 80a626c: 3a83126f .word 0x3a83126f 80a6270: 080d4db0 .word 0x080d4db0 80a6274: 080d4d10 .word 0x080d4d10 80a6278: 080d4e0c .word 0x080d4e0c 80a627c: 080d2a10 .word 0x080d2a10 80a6280: 080d4e10 .word 0x080d4e10 80a6284: 080d4d1c .word 0x080d4d1c 80a6288: 080d4e14 .word 0x080d4e14 80a628c: 080d4d24 .word 0x080d4d24 80a6290: 3dcccccd .word 0x3dcccccd 80a6294: 080d4dc0 .word 0x080d4dc0 80a6298: 080d4d30 .word 0x080d4d30 80a629c: 080d4e18 .word 0x080d4e18 80a62a0: 080d4e1c .word 0x080d4e1c else if(pardata.IPR == VEL) 80a62a4: 4bb4 ldr r3, [pc, #720] ; (80a6578 ) 80a62a6: 785b ldrb r3, [r3, #1] 80a62a8: b2db uxtb r3, r3 80a62aa: 2b01 cmp r3, #1 80a62ac: d12a bne.n 80a6304 if(pardata.IIN != VOLTS) 80a62ae: 4bb2 ldr r3, [pc, #712] ; (80a6578 ) 80a62b0: 799b ldrb r3, [r3, #6] 80a62b2: b2db uxtb r3, r3 80a62b4: 2b02 cmp r3, #2 80a62b6: d012 beq.n 80a62de if(pardata.LANG == RUS) 80a62b8: 4baf ldr r3, [pc, #700] ; (80a6578 ) 80a62ba: 7b1b ldrb r3, [r3, #12] 80a62bc: b2db uxtb r3, r3 80a62be: 2b00 cmp r3, #0 80a62c0: d106 bne.n 80a62d0 BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a62c2: 2303 movs r3, #3 80a62c4: 4aad ldr r2, [pc, #692] ; (80a657c ) 80a62c6: 212d movs r1, #45 ; 0x2d 80a62c8: 20dc movs r0, #220 ; 0xdc 80a62ca: f7ae fa67 bl 805479c 80a62ce: e048 b.n 80a6362 else BSP_LCD_DisplayStringAt(220, 45, "mm/s", LEFT_MODE); 80a62d0: 2303 movs r3, #3 80a62d2: 4aab ldr r2, [pc, #684] ; (80a6580 ) 80a62d4: 212d movs r1, #45 ; 0x2d 80a62d6: 20dc movs r0, #220 ; 0xdc 80a62d8: f7ae fa60 bl 805479c 80a62dc: e041 b.n 80a6362 if(pardata.LANG == RUS) 80a62de: 4ba6 ldr r3, [pc, #664] ; (80a6578 ) 80a62e0: 7b1b ldrb r3, [r3, #12] 80a62e2: b2db uxtb r3, r3 80a62e4: 2b00 cmp r3, #0 80a62e6: d106 bne.n 80a62f6 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a62e8: 2303 movs r3, #3 80a62ea: 4aa6 ldr r2, [pc, #664] ; (80a6584 ) 80a62ec: 212d movs r1, #45 ; 0x2d 80a62ee: 20dc movs r0, #220 ; 0xdc 80a62f0: f7ae fa54 bl 805479c 80a62f4: e035 b.n 80a6362 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a62f6: 2303 movs r3, #3 80a62f8: 4aa3 ldr r2, [pc, #652] ; (80a6588 ) 80a62fa: 212d movs r1, #45 ; 0x2d 80a62fc: 20dc movs r0, #220 ; 0xdc 80a62fe: f7ae fa4d bl 805479c 80a6302: e02e b.n 80a6362 else if(pardata.IPR == DIS) 80a6304: 4b9c ldr r3, [pc, #624] ; (80a6578 ) 80a6306: 785b ldrb r3, [r3, #1] 80a6308: b2db uxtb r3, r3 80a630a: 2b02 cmp r3, #2 80a630c: d129 bne.n 80a6362 if(pardata.IIN != VOLTS) 80a630e: 4b9a ldr r3, [pc, #616] ; (80a6578 ) 80a6310: 799b ldrb r3, [r3, #6] 80a6312: b2db uxtb r3, r3 80a6314: 2b02 cmp r3, #2 80a6316: d012 beq.n 80a633e if(pardata.LANG == RUS) 80a6318: 4b97 ldr r3, [pc, #604] ; (80a6578 ) 80a631a: 7b1b ldrb r3, [r3, #12] 80a631c: b2db uxtb r3, r3 80a631e: 2b00 cmp r3, #0 80a6320: d106 bne.n 80a6330 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a6322: 2303 movs r3, #3 80a6324: 4a99 ldr r2, [pc, #612] ; (80a658c ) 80a6326: 212d movs r1, #45 ; 0x2d 80a6328: 20dc movs r0, #220 ; 0xdc 80a632a: f7ae fa37 bl 805479c 80a632e: e018 b.n 80a6362 else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a6330: 2303 movs r3, #3 80a6332: 4a97 ldr r2, [pc, #604] ; (80a6590 ) 80a6334: 212d movs r1, #45 ; 0x2d 80a6336: 20dc movs r0, #220 ; 0xdc 80a6338: f7ae fa30 bl 805479c 80a633c: e011 b.n 80a6362 if(pardata.LANG == RUS) 80a633e: 4b8e ldr r3, [pc, #568] ; (80a6578 ) 80a6340: 7b1b ldrb r3, [r3, #12] 80a6342: b2db uxtb r3, r3 80a6344: 2b00 cmp r3, #0 80a6346: d106 bne.n 80a6356 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a6348: 2303 movs r3, #3 80a634a: 4a8e ldr r2, [pc, #568] ; (80a6584 ) 80a634c: 212d movs r1, #45 ; 0x2d 80a634e: 20dc movs r0, #220 ; 0xdc 80a6350: f7ae fa24 bl 805479c 80a6354: e005 b.n 80a6362 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a6356: 2303 movs r3, #3 80a6358: 4a8b ldr r2, [pc, #556] ; (80a6588 ) 80a635a: 212d movs r1, #45 ; 0x2d 80a635c: 20dc movs r0, #220 ; 0xdc 80a635e: f7ae fa1d bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a6362: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6366: f06f 0002 mvn.w r0, #2 80a636a: eeb0 0a67 vmov.f32 s0, s15 80a636e: f7c1 f917 bl 80675a0 80a6372: 4602 mov r2, r0 80a6374: 2302 movs r3, #2 80a6376: 212d movs r1, #45 ; 0x2d 80a6378: 20d9 movs r0, #217 ; 0xd9 80a637a: f7ae fa0f bl 805479c 80a637e: e0a4 b.n 80a64ca Val *= 1000.0f; 80a6380: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6384: ed9f 7a83 vldr s14, [pc, #524] ; 80a6594 80a6388: ee67 7a87 vmul.f32 s15, s15, s14 80a638c: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a6390: 4b79 ldr r3, [pc, #484] ; (80a6578 ) 80a6392: 785b ldrb r3, [r3, #1] 80a6394: b2db uxtb r3, r3 80a6396: 2b00 cmp r3, #0 80a6398: d12a bne.n 80a63f0 if(pardata.IIN != VOLTS) 80a639a: 4b77 ldr r3, [pc, #476] ; (80a6578 ) 80a639c: 799b ldrb r3, [r3, #6] 80a639e: b2db uxtb r3, r3 80a63a0: 2b02 cmp r3, #2 80a63a2: d012 beq.n 80a63ca if(pardata.LANG == RUS) 80a63a4: 4b74 ldr r3, [pc, #464] ; (80a6578 ) 80a63a6: 7b1b ldrb r3, [r3, #12] 80a63a8: b2db uxtb r3, r3 80a63aa: 2b00 cmp r3, #0 80a63ac: d106 bne.n 80a63bc BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a63ae: 2303 movs r3, #3 80a63b0: 4a79 ldr r2, [pc, #484] ; (80a6598 ) 80a63b2: 212d movs r1, #45 ; 0x2d 80a63b4: 20dc movs r0, #220 ; 0xdc 80a63b6: f7ae f9f1 bl 805479c 80a63ba: e078 b.n 80a64ae else BSP_LCD_DisplayStringAt(220, 45, "mm/s^", LEFT_MODE); 80a63bc: 2303 movs r3, #3 80a63be: 4a77 ldr r2, [pc, #476] ; (80a659c ) 80a63c0: 212d movs r1, #45 ; 0x2d 80a63c2: 20dc movs r0, #220 ; 0xdc 80a63c4: f7ae f9ea bl 805479c 80a63c8: e071 b.n 80a64ae if(pardata.LANG == RUS) 80a63ca: 4b6b ldr r3, [pc, #428] ; (80a6578 ) 80a63cc: 7b1b ldrb r3, [r3, #12] 80a63ce: b2db uxtb r3, r3 80a63d0: 2b00 cmp r3, #0 80a63d2: d106 bne.n 80a63e2 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a63d4: 2303 movs r3, #3 80a63d6: 4a72 ldr r2, [pc, #456] ; (80a65a0 ) 80a63d8: 212d movs r1, #45 ; 0x2d 80a63da: 20dc movs r0, #220 ; 0xdc 80a63dc: f7ae f9de bl 805479c 80a63e0: e065 b.n 80a64ae else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a63e2: 2303 movs r3, #3 80a63e4: 4a6f ldr r2, [pc, #444] ; (80a65a4 ) 80a63e6: 212d movs r1, #45 ; 0x2d 80a63e8: 20dc movs r0, #220 ; 0xdc 80a63ea: f7ae f9d7 bl 805479c 80a63ee: e05e b.n 80a64ae else if(pardata.IPR == VEL) 80a63f0: 4b61 ldr r3, [pc, #388] ; (80a6578 ) 80a63f2: 785b ldrb r3, [r3, #1] 80a63f4: b2db uxtb r3, r3 80a63f6: 2b01 cmp r3, #1 80a63f8: d12a bne.n 80a6450 if(pardata.IIN != VOLTS) 80a63fa: 4b5f ldr r3, [pc, #380] ; (80a6578 ) 80a63fc: 799b ldrb r3, [r3, #6] 80a63fe: b2db uxtb r3, r3 80a6400: 2b02 cmp r3, #2 80a6402: d012 beq.n 80a642a if(pardata.LANG == RUS) 80a6404: 4b5c ldr r3, [pc, #368] ; (80a6578 ) 80a6406: 7b1b ldrb r3, [r3, #12] 80a6408: b2db uxtb r3, r3 80a640a: 2b00 cmp r3, #0 80a640c: d106 bne.n 80a641c BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a640e: 2303 movs r3, #3 80a6410: 4a65 ldr r2, [pc, #404] ; (80a65a8 ) 80a6412: 212d movs r1, #45 ; 0x2d 80a6414: 20dc movs r0, #220 ; 0xdc 80a6416: f7ae f9c1 bl 805479c 80a641a: e048 b.n 80a64ae else BSP_LCD_DisplayStringAt(220, 45, "mkm/s", LEFT_MODE); 80a641c: 2303 movs r3, #3 80a641e: 4a63 ldr r2, [pc, #396] ; (80a65ac ) 80a6420: 212d movs r1, #45 ; 0x2d 80a6422: 20dc movs r0, #220 ; 0xdc 80a6424: f7ae f9ba bl 805479c 80a6428: e041 b.n 80a64ae if(pardata.LANG == RUS) 80a642a: 4b53 ldr r3, [pc, #332] ; (80a6578 ) 80a642c: 7b1b ldrb r3, [r3, #12] 80a642e: b2db uxtb r3, r3 80a6430: 2b00 cmp r3, #0 80a6432: d106 bne.n 80a6442 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a6434: 2303 movs r3, #3 80a6436: 4a5a ldr r2, [pc, #360] ; (80a65a0 ) 80a6438: 212d movs r1, #45 ; 0x2d 80a643a: 20dc movs r0, #220 ; 0xdc 80a643c: f7ae f9ae bl 805479c 80a6440: e035 b.n 80a64ae else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a6442: 2303 movs r3, #3 80a6444: 4a57 ldr r2, [pc, #348] ; (80a65a4 ) 80a6446: 212d movs r1, #45 ; 0x2d 80a6448: 20dc movs r0, #220 ; 0xdc 80a644a: f7ae f9a7 bl 805479c 80a644e: e02e b.n 80a64ae else if(pardata.IPR == DIS) 80a6450: 4b49 ldr r3, [pc, #292] ; (80a6578 ) 80a6452: 785b ldrb r3, [r3, #1] 80a6454: b2db uxtb r3, r3 80a6456: 2b02 cmp r3, #2 80a6458: d129 bne.n 80a64ae if(pardata.IIN != VOLTS) 80a645a: 4b47 ldr r3, [pc, #284] ; (80a6578 ) 80a645c: 799b ldrb r3, [r3, #6] 80a645e: b2db uxtb r3, r3 80a6460: 2b02 cmp r3, #2 80a6462: d012 beq.n 80a648a if(pardata.LANG == RUS) 80a6464: 4b44 ldr r3, [pc, #272] ; (80a6578 ) 80a6466: 7b1b ldrb r3, [r3, #12] 80a6468: b2db uxtb r3, r3 80a646a: 2b00 cmp r3, #0 80a646c: d106 bne.n 80a647c BSP_LCD_DisplayStringAt(220, 45, "#&", LEFT_MODE); 80a646e: 2303 movs r3, #3 80a6470: 4a4f ldr r2, [pc, #316] ; (80a65b0 ) 80a6472: 212d movs r1, #45 ; 0x2d 80a6474: 20dc movs r0, #220 ; 0xdc 80a6476: f7ae f991 bl 805479c 80a647a: e018 b.n 80a64ae else BSP_LCD_DisplayStringAt(220, 45, "nm", LEFT_MODE); 80a647c: 2303 movs r3, #3 80a647e: 4a4d ldr r2, [pc, #308] ; (80a65b4 ) 80a6480: 212d movs r1, #45 ; 0x2d 80a6482: 20dc movs r0, #220 ; 0xdc 80a6484: f7ae f98a bl 805479c 80a6488: e011 b.n 80a64ae if(pardata.LANG == RUS) 80a648a: 4b3b ldr r3, [pc, #236] ; (80a6578 ) 80a648c: 7b1b ldrb r3, [r3, #12] 80a648e: b2db uxtb r3, r3 80a6490: 2b00 cmp r3, #0 80a6492: d106 bne.n 80a64a2 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a6494: 2303 movs r3, #3 80a6496: 4a42 ldr r2, [pc, #264] ; (80a65a0 ) 80a6498: 212d movs r1, #45 ; 0x2d 80a649a: 20dc movs r0, #220 ; 0xdc 80a649c: f7ae f97e bl 805479c 80a64a0: e005 b.n 80a64ae else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a64a2: 2303 movs r3, #3 80a64a4: 4a3f ldr r2, [pc, #252] ; (80a65a4 ) 80a64a6: 212d movs r1, #45 ; 0x2d 80a64a8: 20dc movs r0, #220 ; 0xdc 80a64aa: f7ae f977 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a64ae: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a64b2: f06f 0003 mvn.w r0, #3 80a64b6: eeb0 0a67 vmov.f32 s0, s15 80a64ba: f7c1 f871 bl 80675a0 80a64be: 4602 mov r2, r0 80a64c0: 2302 movs r3, #2 80a64c2: 212d movs r1, #45 ; 0x2d 80a64c4: 20d9 movs r0, #217 ; 0xd9 80a64c6: f7ae f969 bl 805479c LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a64ca: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a64ce: 483a ldr r0, [pc, #232] ; (80a65b8 ) 80a64d0: f7ae f89e bl 8054610 tmpF = (float32_t) fineMpos; 80a64d4: 4b39 ldr r3, [pc, #228] ; (80a65bc ) 80a64d6: 881b ldrh r3, [r3, #0] 80a64d8: b29b uxth r3, r3 80a64da: ee07 3a90 vmov s15, r3 80a64de: eef8 7a67 vcvt.f32.u32 s15, s15 80a64e2: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(tmpF != TF) 80a64e6: 4b36 ldr r3, [pc, #216] ; (80a65c0 ) 80a64e8: edd3 7a00 vldr s15, [r3] 80a64ec: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80a64f0: eeb4 7a67 vcmp.f32 s14, s15 80a64f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a64f8: d01d beq.n 80a6536 TF = tmpF; 80a64fa: 4a31 ldr r2, [pc, #196] ; (80a65c0 ) 80a64fc: 6d7b ldr r3, [r7, #84] ; 0x54 80a64fe: 6013 str r3, [r2, #0] TF *= Delta_SPC[pardata.FRQ][pardata.LNE]; 80a6500: 4b1d ldr r3, [pc, #116] ; (80a6578 ) 80a6502: 7adb ldrb r3, [r3, #11] 80a6504: b2db uxtb r3, r3 80a6506: 4618 mov r0, r3 80a6508: 4b1b ldr r3, [pc, #108] ; (80a6578 ) 80a650a: 79db ldrb r3, [r3, #7] 80a650c: b2db uxtb r3, r3 80a650e: 4619 mov r1, r3 80a6510: 4a2c ldr r2, [pc, #176] ; (80a65c4 ) 80a6512: 0083 lsls r3, r0, #2 80a6514: 440b add r3, r1 80a6516: 009b lsls r3, r3, #2 80a6518: 4413 add r3, r2 80a651a: ed93 7a00 vldr s14, [r3] 80a651e: 4b28 ldr r3, [pc, #160] ; (80a65c0 ) 80a6520: edd3 7a00 vldr s15, [r3] 80a6524: ee67 7a27 vmul.f32 s15, s14, s15 80a6528: 4b25 ldr r3, [pc, #148] ; (80a65c0 ) 80a652a: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a652e: 4b24 ldr r3, [pc, #144] ; (80a65c0 ) 80a6530: 681b ldr r3, [r3, #0] 80a6532: 4a25 ldr r2, [pc, #148] ; (80a65c8 ) 80a6534: 6013 str r3, [r2, #0] tmpF = TF; 80a6536: 4b22 ldr r3, [pc, #136] ; (80a65c0 ) 80a6538: 681b ldr r3, [r3, #0] 80a653a: 657b str r3, [r7, #84] ; 0x54 if(tmpF >= 1000.0f) 80a653c: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a6540: ed9f 7a14 vldr s14, [pc, #80] ; 80a6594 80a6544: eef4 7ac7 vcmpe.f32 s15, s14 80a6548: eef1 fa10 vmrs APSR_nzcv, fpscr 80a654c: db57 blt.n 80a65fe tmpF *= 0.001f; 80a654e: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a6552: ed9f 7a1e vldr s14, [pc, #120] ; 80a65cc 80a6556: ee67 7a87 vmul.f32 s15, s15, s14 80a655a: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a655e: 4b06 ldr r3, [pc, #24] ; (80a6578 ) 80a6560: 7b1b ldrb r3, [r3, #12] 80a6562: b2db uxtb r3, r3 80a6564: 2b00 cmp r3, #0 80a6566: d135 bne.n 80a65d4 BSP_LCD_DisplayStringAt(302, 45, "k$%", LEFT_MODE); 80a6568: 2303 movs r3, #3 80a656a: 4a19 ldr r2, [pc, #100] ; (80a65d0 ) 80a656c: 212d movs r1, #45 ; 0x2d 80a656e: f44f 7097 mov.w r0, #302 ; 0x12e 80a6572: f7ae f913 bl 805479c 80a6576: e034 b.n 80a65e2 80a6578: 20023ea8 .word 0x20023ea8 80a657c: 080d4e20 .word 0x080d4e20 80a6580: 080d4d40 .word 0x080d4d40 80a6584: 080d4e18 .word 0x080d4e18 80a6588: 080d4e1c .word 0x080d4e1c 80a658c: 080d4e28 .word 0x080d4e28 80a6590: 080d4d4c .word 0x080d4d4c 80a6594: 447a0000 .word 0x447a0000 80a6598: 080d4dd0 .word 0x080d4dd0 80a659c: 080d4d58 .word 0x080d4d58 80a65a0: 080d4e2c .word 0x080d4e2c 80a65a4: 080d4d7c .word 0x080d4d7c 80a65a8: 080d4e30 .word 0x080d4e30 80a65ac: 080d4d68 .word 0x080d4d68 80a65b0: 080d4e38 .word 0x080d4e38 80a65b4: 080d4d74 .word 0x080d4d74 80a65b8: ff808080 .word 0xff808080 80a65bc: 20025d64 .word 0x20025d64 80a65c0: 200215b8 .word 0x200215b8 80a65c4: 080f3a6c .word 0x080f3a6c 80a65c8: 20021690 .word 0x20021690 80a65cc: 3a83126f .word 0x3a83126f 80a65d0: 080d4e3c .word 0x080d4e3c else BSP_LCD_DisplayStringAt(302, 45, "kHz", LEFT_MODE); 80a65d4: 2303 movs r3, #3 80a65d6: 4a9b ldr r2, [pc, #620] ; (80a6844 ) 80a65d8: 212d movs r1, #45 ; 0x2d 80a65da: f44f 7097 mov.w r0, #302 ; 0x12e 80a65de: f7ae f8dd bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a65e2: f06f 0003 mvn.w r0, #3 80a65e6: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a65ea: f7c0 ffd9 bl 80675a0 80a65ee: 4602 mov r2, r0 80a65f0: 2302 movs r3, #2 80a65f2: 212d movs r1, #45 ; 0x2d 80a65f4: f240 102b movw r0, #299 ; 0x12b 80a65f8: f7ae f8d0 bl 805479c 80a65fc: e053 b.n 80a66a6 if(tmpF >= 0.1f) 80a65fe: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a6602: ed9f 7a91 vldr s14, [pc, #580] ; 80a6848 80a6606: eef4 7ac7 vcmpe.f32 s15, s14 80a660a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a660e: db21 blt.n 80a6654 if(pardata.LANG == RUS) 80a6610: 4b8e ldr r3, [pc, #568] ; (80a684c ) 80a6612: 7b1b ldrb r3, [r3, #12] 80a6614: b2db uxtb r3, r3 80a6616: 2b00 cmp r3, #0 80a6618: d107 bne.n 80a662a BSP_LCD_DisplayStringAt(302, 45, "$%", LEFT_MODE); 80a661a: 2303 movs r3, #3 80a661c: 4a8c ldr r2, [pc, #560] ; (80a6850 ) 80a661e: 212d movs r1, #45 ; 0x2d 80a6620: f44f 7097 mov.w r0, #302 ; 0x12e 80a6624: f7ae f8ba bl 805479c 80a6628: e006 b.n 80a6638 else BSP_LCD_DisplayStringAt(302, 45, "Hz", LEFT_MODE); 80a662a: 2303 movs r3, #3 80a662c: 4a89 ldr r2, [pc, #548] ; (80a6854 ) 80a662e: 212d movs r1, #45 ; 0x2d 80a6630: f44f 7097 mov.w r0, #302 ; 0x12e 80a6634: f7ae f8b2 bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a6638: f06f 0002 mvn.w r0, #2 80a663c: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a6640: f7c0 ffae bl 80675a0 80a6644: 4602 mov r2, r0 80a6646: 2302 movs r3, #2 80a6648: 212d movs r1, #45 ; 0x2d 80a664a: f240 102b movw r0, #299 ; 0x12b 80a664e: f7ae f8a5 bl 805479c 80a6652: e028 b.n 80a66a6 tmpF *= 1000.0f; 80a6654: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a6658: ed9f 7a7f vldr s14, [pc, #508] ; 80a6858 80a665c: ee67 7a87 vmul.f32 s15, s15, s14 80a6660: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a6664: 4b79 ldr r3, [pc, #484] ; (80a684c ) 80a6666: 7b1b ldrb r3, [r3, #12] 80a6668: b2db uxtb r3, r3 80a666a: 2b00 cmp r3, #0 80a666c: d107 bne.n 80a667e BSP_LCD_DisplayStringAt(302, 45, "&$%", LEFT_MODE); 80a666e: 2303 movs r3, #3 80a6670: 4a7a ldr r2, [pc, #488] ; (80a685c ) 80a6672: 212d movs r1, #45 ; 0x2d 80a6674: f44f 7097 mov.w r0, #302 ; 0x12e 80a6678: f7ae f890 bl 805479c 80a667c: e006 b.n 80a668c else BSP_LCD_DisplayStringAt(302, 45, "mHz", LEFT_MODE); 80a667e: 2303 movs r3, #3 80a6680: 4a77 ldr r2, [pc, #476] ; (80a6860 ) 80a6682: 212d movs r1, #45 ; 0x2d 80a6684: f44f 7097 mov.w r0, #302 ; 0x12e 80a6688: f7ae f888 bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a668c: f06f 0001 mvn.w r0, #1 80a6690: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a6694: f7c0 ff84 bl 80675a0 80a6698: 4602 mov r2, r0 80a669a: 2302 movs r3, #2 80a669c: 212d movs r1, #45 ; 0x2d 80a669e: f240 102b movw r0, #299 ; 0x12b 80a66a2: f7ae f87b bl 805479c for(i = 0; i < 2; i++) 80a66a6: 2300 movs r3, #0 80a66a8: 66fb str r3, [r7, #108] ; 0x6c 80a66aa: f000 be6e b.w 80a738a if(DynamicCursor[i].Enabled) 80a66ae: 4a6d ldr r2, [pc, #436] ; (80a6864 ) 80a66b0: 6efb ldr r3, [r7, #108] ; 0x6c 80a66b2: 011b lsls r3, r3, #4 80a66b4: 4413 add r3, r2 80a66b6: 781b ldrb r3, [r3, #0] 80a66b8: 2b00 cmp r3, #0 80a66ba: f000 8663 beq.w 80a7384 arm_max_f32(&ScrA_f32(DynamicCursor[i].Mpos), avgSPC[ViewLevel][pardata.LNE], &maxf, &n2); 80a66be: 4a69 ldr r2, [pc, #420] ; (80a6864 ) 80a66c0: 6efb ldr r3, [r7, #108] ; 0x6c 80a66c2: 011b lsls r3, r3, #4 80a66c4: 4413 add r3, r2 80a66c6: 3304 adds r3, #4 80a66c8: 881b ldrh r3, [r3, #0] 80a66ca: 009b lsls r3, r3, #2 80a66cc: 461a mov r2, r3 80a66ce: 4b66 ldr r3, [pc, #408] ; (80a6868 ) 80a66d0: 4413 add r3, r2 80a66d2: 461c mov r4, r3 80a66d4: 4b65 ldr r3, [pc, #404] ; (80a686c ) 80a66d6: 781b ldrb r3, [r3, #0] 80a66d8: b2db uxtb r3, r3 80a66da: 4618 mov r0, r3 80a66dc: 4b5b ldr r3, [pc, #364] ; (80a684c ) 80a66de: 79db ldrb r3, [r3, #7] 80a66e0: b2db uxtb r3, r3 80a66e2: 4619 mov r1, r3 80a66e4: 4a62 ldr r2, [pc, #392] ; (80a6870 ) 80a66e6: 0083 lsls r3, r0, #2 80a66e8: 4413 add r3, r2 80a66ea: 440b add r3, r1 80a66ec: 781b ldrb r3, [r3, #0] 80a66ee: 4619 mov r1, r3 80a66f0: f107 0348 add.w r3, r7, #72 ; 0x48 80a66f4: f107 0240 add.w r2, r7, #64 ; 0x40 80a66f8: 4620 mov r0, r4 80a66fa: f027 fe8b bl 80ce414 arm_min_f32(&ScrA_f32(DynamicCursor[i].Mpos), avgSPC[ViewLevel][pardata.LNE], &minf, &n1); 80a66fe: 4a59 ldr r2, [pc, #356] ; (80a6864 ) 80a6700: 6efb ldr r3, [r7, #108] ; 0x6c 80a6702: 011b lsls r3, r3, #4 80a6704: 4413 add r3, r2 80a6706: 3304 adds r3, #4 80a6708: 881b ldrh r3, [r3, #0] 80a670a: 009b lsls r3, r3, #2 80a670c: 461a mov r2, r3 80a670e: 4b56 ldr r3, [pc, #344] ; (80a6868 ) 80a6710: 4413 add r3, r2 80a6712: 461c mov r4, r3 80a6714: 4b55 ldr r3, [pc, #340] ; (80a686c ) 80a6716: 781b ldrb r3, [r3, #0] 80a6718: b2db uxtb r3, r3 80a671a: 4618 mov r0, r3 80a671c: 4b4b ldr r3, [pc, #300] ; (80a684c ) 80a671e: 79db ldrb r3, [r3, #7] 80a6720: b2db uxtb r3, r3 80a6722: 4619 mov r1, r3 80a6724: 4a52 ldr r2, [pc, #328] ; (80a6870 ) 80a6726: 0083 lsls r3, r0, #2 80a6728: 4413 add r3, r2 80a672a: 440b add r3, r1 80a672c: 781b ldrb r3, [r3, #0] 80a672e: 4619 mov r1, r3 80a6730: f107 034c add.w r3, r7, #76 ; 0x4c 80a6734: f107 0244 add.w r2, r7, #68 ; 0x44 80a6738: 4620 mov r0, r4 80a673a: f027 fdcf bl 80ce2dc if(ABS(maxf) < ABS(minf)) 80a673e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a6742: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6746: eef1 fa10 vmrs APSR_nzcv, fpscr 80a674a: dd02 ble.n 80a6752 80a674c: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a6750: e003 b.n 80a675a 80a6752: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a6756: eeb1 7a67 vneg.f32 s14, s15 80a675a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a675e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6762: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6766: dd02 ble.n 80a676e 80a6768: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a676c: e003 b.n 80a6776 80a676e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a6772: eef1 7a67 vneg.f32 s15, s15 80a6776: eeb4 7ae7 vcmpe.f32 s14, s15 80a677a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a677e: d505 bpl.n 80a678c CurVal = minf; 80a6780: 6c7b ldr r3, [r7, #68] ; 0x44 80a6782: 4a3c ldr r2, [pc, #240] ; (80a6874 ) 80a6784: 6013 str r3, [r2, #0] l = n1; 80a6786: 6cfb ldr r3, [r7, #76] ; 0x4c 80a6788: 653b str r3, [r7, #80] ; 0x50 80a678a: e004 b.n 80a6796 CurVal = maxf; 80a678c: 6c3b ldr r3, [r7, #64] ; 0x40 80a678e: 4a39 ldr r2, [pc, #228] ; (80a6874 ) 80a6790: 6013 str r3, [r2, #0] l = n2; 80a6792: 6cbb ldr r3, [r7, #72] ; 0x48 80a6794: 653b str r3, [r7, #80] ; 0x50 DynamicCursor[i].fineMpos = DynamicCursor[i].Mpos + l; 80a6796: 4a33 ldr r2, [pc, #204] ; (80a6864 ) 80a6798: 6efb ldr r3, [r7, #108] ; 0x6c 80a679a: 011b lsls r3, r3, #4 80a679c: 4413 add r3, r2 80a679e: 3304 adds r3, #4 80a67a0: 881a ldrh r2, [r3, #0] 80a67a2: 6d3b ldr r3, [r7, #80] ; 0x50 80a67a4: b29b uxth r3, r3 80a67a6: 4413 add r3, r2 80a67a8: b299 uxth r1, r3 80a67aa: 4a2e ldr r2, [pc, #184] ; (80a6864 ) 80a67ac: 6efb ldr r3, [r7, #108] ; 0x6c 80a67ae: 011b lsls r3, r3, #4 80a67b0: 4413 add r3, r2 80a67b2: 3306 adds r3, #6 80a67b4: 460a mov r2, r1 80a67b6: 801a strh r2, [r3, #0] tmpF = (float32_t) DynamicCursor[i].fineMpos; 80a67b8: 4a2a ldr r2, [pc, #168] ; (80a6864 ) 80a67ba: 6efb ldr r3, [r7, #108] ; 0x6c 80a67bc: 011b lsls r3, r3, #4 80a67be: 4413 add r3, r2 80a67c0: 3306 adds r3, #6 80a67c2: 881b ldrh r3, [r3, #0] 80a67c4: ee07 3a90 vmov s15, r3 80a67c8: eef8 7a67 vcvt.f32.u32 s15, s15 80a67cc: edc7 7a15 vstr s15, [r7, #84] ; 0x54 CurVal *= 0.70710678f; 80a67d0: 4b28 ldr r3, [pc, #160] ; (80a6874 ) 80a67d2: edd3 7a00 vldr s15, [r3] 80a67d6: ed9f 7a28 vldr s14, [pc, #160] ; 80a6878 80a67da: ee67 7a87 vmul.f32 s15, s15, s14 80a67de: 4b25 ldr r3, [pc, #148] ; (80a6874 ) 80a67e0: edc3 7a00 vstr s15, [r3] if(pardata.WIN == HANN) 80a67e4: 4b19 ldr r3, [pc, #100] ; (80a684c ) 80a67e6: 7a5b ldrb r3, [r3, #9] 80a67e8: b2db uxtb r3, r3 80a67ea: 2b01 cmp r3, #1 80a67ec: d107 bne.n 80a67fe CurVal *= 2.0f; 80a67ee: 4b21 ldr r3, [pc, #132] ; (80a6874 ) 80a67f0: edd3 7a00 vldr s15, [r3] 80a67f4: ee77 7aa7 vadd.f32 s15, s15, s15 80a67f8: 4b1e ldr r3, [pc, #120] ; (80a6874 ) 80a67fa: edc3 7a00 vstr s15, [r3] if(pardata.IVS[pardata.IPR] == PEAK) 80a67fe: 4b13 ldr r3, [pc, #76] ; (80a684c ) 80a6800: 785b ldrb r3, [r3, #1] 80a6802: b2db uxtb r3, r3 80a6804: 461a mov r2, r3 80a6806: 4b11 ldr r3, [pc, #68] ; (80a684c ) 80a6808: 4413 add r3, r2 80a680a: 789b ldrb r3, [r3, #2] 80a680c: b2db uxtb r3, r3 80a680e: 2b00 cmp r3, #0 80a6810: d109 bne.n 80a6826 CurVal *= 1.414213562373f; 80a6812: 4b18 ldr r3, [pc, #96] ; (80a6874 ) 80a6814: edd3 7a00 vldr s15, [r3] 80a6818: ed9f 7a18 vldr s14, [pc, #96] ; 80a687c 80a681c: ee67 7a87 vmul.f32 s15, s15, s14 80a6820: 4b14 ldr r3, [pc, #80] ; (80a6874 ) 80a6822: edc3 7a00 vstr s15, [r3] if(pardata.MSH == LOG) 80a6826: 4b09 ldr r3, [pc, #36] ; (80a684c ) 80a6828: 7a9b ldrb r3, [r3, #10] 80a682a: b2db uxtb r3, r3 80a682c: 2b01 cmp r3, #1 80a682e: d12f bne.n 80a6890 if(pardata.IIN != VOLTS) 80a6830: 4b06 ldr r3, [pc, #24] ; (80a684c ) 80a6832: 799b ldrb r3, [r3, #6] 80a6834: b2db uxtb r3, r3 80a6836: 2b02 cmp r3, #2 80a6838: d022 beq.n 80a6880 LinToLog(&CurVal, &CurVal); 80a683a: 490e ldr r1, [pc, #56] ; (80a6874 ) 80a683c: 480d ldr r0, [pc, #52] ; (80a6874 ) 80a683e: f7bf fa83 bl 8065d48 80a6842: e025 b.n 80a6890 80a6844: 080d4e40 .word 0x080d4e40 80a6848: 3dcccccd .word 0x3dcccccd 80a684c: 20023ea8 .word 0x20023ea8 80a6850: 080d4dfc .word 0x080d4dfc 80a6854: 080d4e00 .word 0x080d4e00 80a6858: 447a0000 .word 0x447a0000 80a685c: 080d4e44 .word 0x080d4e44 80a6860: 080d4e48 .word 0x080d4e48 80a6864: 20020f8c .word 0x20020f8c 80a6868: 64080000 .word 0x64080000 80a686c: 20020fb8 .word 0x20020fb8 80a6870: 080f398c .word 0x080f398c 80a6874: 200215b4 .word 0x200215b4 80a6878: 3f3504f3 .word 0x3f3504f3 80a687c: 3fb504f3 .word 0x3fb504f3 else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a6880: 4bac ldr r3, [pc, #688] ; (80a6b34 ) 80a6882: 785b ldrb r3, [r3, #1] 80a6884: b2db uxtb r3, r3 80a6886: 461a mov r2, r3 80a6888: 49ab ldr r1, [pc, #684] ; (80a6b38 ) 80a688a: 48ab ldr r0, [pc, #684] ; (80a6b38 ) 80a688c: f7bf fa8c bl 8065da8 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a6890: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6894: 48a9 ldr r0, [pc, #676] ; (80a6b3c ) 80a6896: f7ad febb bl 8054610 DynamicCursor[i].val_Y = CurVal; 80a689a: 4ba7 ldr r3, [pc, #668] ; (80a6b38 ) 80a689c: 681a ldr r2, [r3, #0] 80a689e: 49a8 ldr r1, [pc, #672] ; (80a6b40 ) 80a68a0: 6efb ldr r3, [r7, #108] ; 0x6c 80a68a2: 011b lsls r3, r3, #4 80a68a4: 440b add r3, r1 80a68a6: 330c adds r3, #12 80a68a8: 601a str r2, [r3, #0] Val = DynamicCursor[i].val_Y; 80a68aa: 4aa5 ldr r2, [pc, #660] ; (80a6b40 ) 80a68ac: 6efb ldr r3, [r7, #108] ; 0x6c 80a68ae: 011b lsls r3, r3, #4 80a68b0: 4413 add r3, r2 80a68b2: 330c adds r3, #12 80a68b4: 681b ldr r3, [r3, #0] 80a68b6: 63fb str r3, [r7, #60] ; 0x3c if(pardata.MSH == LOG) 80a68b8: 4b9e ldr r3, [pc, #632] ; (80a6b34 ) 80a68ba: 7a9b ldrb r3, [r3, #10] 80a68bc: b2db uxtb r3, r3 80a68be: 2b01 cmp r3, #1 80a68c0: d166 bne.n 80a6990 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "dB", LEFT_MODE); 80a68c2: 6efb ldr r3, [r7, #108] ; 0x6c 80a68c4: b29b uxth r3, r3 80a68c6: 00db lsls r3, r3, #3 80a68c8: b29b uxth r3, r3 80a68ca: 3335 adds r3, #53 ; 0x35 80a68cc: b299 uxth r1, r3 80a68ce: 2303 movs r3, #3 80a68d0: 4a9c ldr r2, [pc, #624] ; (80a6b44 ) 80a68d2: 20dc movs r0, #220 ; 0xdc 80a68d4: f7ad ff62 bl 805479c BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a68d8: 6efb ldr r3, [r7, #108] ; 0x6c 80a68da: b29b uxth r3, r3 80a68dc: 00db lsls r3, r3, #3 80a68de: b29b uxth r3, r3 80a68e0: 3335 adds r3, #53 ; 0x35 80a68e2: b29c uxth r4, r3 80a68e4: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a68e8: f04f 30ff mov.w r0, #4294967295 80a68ec: eeb0 0a67 vmov.f32 s0, s15 80a68f0: f7c0 fe56 bl 80675a0 80a68f4: 4602 mov r2, r0 80a68f6: 2302 movs r3, #2 80a68f8: 4621 mov r1, r4 80a68fa: 20d9 movs r0, #217 ; 0xd9 80a68fc: f7ad ff4e bl 805479c l = strlen((char *)FloatToASCII(Val, -3)); 80a6900: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6904: f06f 0002 mvn.w r0, #2 80a6908: eeb0 0a67 vmov.f32 s0, s15 80a690c: f7c0 fe48 bl 80675a0 80a6910: 4603 mov r3, r0 80a6912: 4618 mov r0, r3 80a6914: f779 fcfe bl 8020314 80a6918: 4603 mov r3, r0 80a691a: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a691c: 6d3a ldr r2, [r7, #80] ; 0x50 80a691e: 4613 mov r3, r2 80a6920: 009b lsls r3, r3, #2 80a6922: 4413 add r3, r2 80a6924: 3306 adds r3, #6 80a6926: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a6928: 4b87 ldr r3, [pc, #540] ; (80a6b48 ) 80a692a: 781b ldrb r3, [r3, #0] 80a692c: 2b2d cmp r3, #45 ; 0x2d 80a692e: d102 bne.n 80a6936 80a6930: 6d3b ldr r3, [r7, #80] ; 0x50 80a6932: 3b05 subs r3, #5 80a6934: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a6936: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a693a: 4884 ldr r0, [pc, #528] ; (80a6b4c ) 80a693c: f7ad fe68 bl 8054610 if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a6940: 6efb ldr r3, [r7, #108] ; 0x6c 80a6942: 2b00 cmp r3, #0 80a6944: d10f bne.n 80a6966 80a6946: 6d3b ldr r3, [r7, #80] ; 0x50 80a6948: b29b uxth r3, r3 80a694a: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a694e: b298 uxth r0, r3 80a6950: 6efb ldr r3, [r7, #108] ; 0x6c 80a6952: b29b uxth r3, r3 80a6954: 00db lsls r3, r3, #3 80a6956: b29b uxth r3, r3 80a6958: 3335 adds r3, #53 ; 0x35 80a695a: b299 uxth r1, r3 80a695c: 2302 movs r3, #2 80a695e: 4a7c ldr r2, [pc, #496] ; (80a6b50 ) 80a6960: f7ad ff1c bl 805479c 80a6964: e00e b.n 80a6984 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a6966: 6d3b ldr r3, [r7, #80] ; 0x50 80a6968: b29b uxth r3, r3 80a696a: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a696e: b298 uxth r0, r3 80a6970: 6efb ldr r3, [r7, #108] ; 0x6c 80a6972: b29b uxth r3, r3 80a6974: 00db lsls r3, r3, #3 80a6976: b29b uxth r3, r3 80a6978: 3335 adds r3, #53 ; 0x35 80a697a: b299 uxth r1, r3 80a697c: 2302 movs r3, #2 80a697e: 4a75 ldr r2, [pc, #468] ; (80a6b54 ) 80a6980: f7ad ff0c bl 805479c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a6984: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6988: 486c ldr r0, [pc, #432] ; (80a6b3c ) 80a698a: f7ad fe41 bl 8054610 80a698e: e3ff b.n 80a7190 if(Val >= 1000.0f) 80a6990: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6994: ed9f 7a70 vldr s14, [pc, #448] ; 80a6b58 80a6998: eef4 7ac7 vcmpe.f32 s15, s14 80a699c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a69a0: f2c0 8155 blt.w 80a6c4e Val *= 0.001f; 80a69a4: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a69a8: ed9f 7a6c vldr s14, [pc, #432] ; 80a6b5c 80a69ac: ee67 7a87 vmul.f32 s15, s15, s14 80a69b0: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a69b4: 4b5f ldr r3, [pc, #380] ; (80a6b34 ) 80a69b6: 785b ldrb r3, [r3, #1] 80a69b8: b2db uxtb r3, r3 80a69ba: 2b00 cmp r3, #0 80a69bc: d13e bne.n 80a6a3c if(pardata.IIN != VOLTS) 80a69be: 4b5d ldr r3, [pc, #372] ; (80a6b34 ) 80a69c0: 799b ldrb r3, [r3, #6] 80a69c2: b2db uxtb r3, r3 80a69c4: 2b02 cmp r3, #2 80a69c6: d01c beq.n 80a6a02 if(pardata.LANG == RUS) 80a69c8: 4b5a ldr r3, [pc, #360] ; (80a6b34 ) 80a69ca: 7b1b ldrb r3, [r3, #12] 80a69cc: b2db uxtb r3, r3 80a69ce: 2b00 cmp r3, #0 80a69d0: d10b bne.n 80a69ea BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "k&/c^", LEFT_MODE); 80a69d2: 6efb ldr r3, [r7, #108] ; 0x6c 80a69d4: b29b uxth r3, r3 80a69d6: 00db lsls r3, r3, #3 80a69d8: b29b uxth r3, r3 80a69da: 3335 adds r3, #53 ; 0x35 80a69dc: b299 uxth r1, r3 80a69de: 2303 movs r3, #3 80a69e0: 4a5f ldr r2, [pc, #380] ; (80a6b60 ) 80a69e2: 20dc movs r0, #220 ; 0xdc 80a69e4: f7ad feda bl 805479c 80a69e8: e0d5 b.n 80a6b96 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "km/s^", LEFT_MODE); 80a69ea: 6efb ldr r3, [r7, #108] ; 0x6c 80a69ec: b29b uxth r3, r3 80a69ee: 00db lsls r3, r3, #3 80a69f0: b29b uxth r3, r3 80a69f2: 3335 adds r3, #53 ; 0x35 80a69f4: b299 uxth r1, r3 80a69f6: 2303 movs r3, #3 80a69f8: 4a5a ldr r2, [pc, #360] ; (80a6b64 ) 80a69fa: 20dc movs r0, #220 ; 0xdc 80a69fc: f7ad fece bl 805479c 80a6a00: e0c9 b.n 80a6b96 if(pardata.LANG == RUS) 80a6a02: 4b4c ldr r3, [pc, #304] ; (80a6b34 ) 80a6a04: 7b1b ldrb r3, [r3, #12] 80a6a06: b2db uxtb r3, r3 80a6a08: 2b00 cmp r3, #0 80a6a0a: d10b bne.n 80a6a24 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "B", LEFT_MODE); 80a6a0c: 6efb ldr r3, [r7, #108] ; 0x6c 80a6a0e: b29b uxth r3, r3 80a6a10: 00db lsls r3, r3, #3 80a6a12: b29b uxth r3, r3 80a6a14: 3335 adds r3, #53 ; 0x35 80a6a16: b299 uxth r1, r3 80a6a18: 2303 movs r3, #3 80a6a1a: 4a53 ldr r2, [pc, #332] ; (80a6b68 ) 80a6a1c: 20dc movs r0, #220 ; 0xdc 80a6a1e: f7ad febd bl 805479c 80a6a22: e0b8 b.n 80a6b96 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "V", LEFT_MODE); 80a6a24: 6efb ldr r3, [r7, #108] ; 0x6c 80a6a26: b29b uxth r3, r3 80a6a28: 00db lsls r3, r3, #3 80a6a2a: b29b uxth r3, r3 80a6a2c: 3335 adds r3, #53 ; 0x35 80a6a2e: b299 uxth r1, r3 80a6a30: 2303 movs r3, #3 80a6a32: 4a4e ldr r2, [pc, #312] ; (80a6b6c ) 80a6a34: 20dc movs r0, #220 ; 0xdc 80a6a36: f7ad feb1 bl 805479c 80a6a3a: e0ac b.n 80a6b96 if(pardata.IPR == VEL) 80a6a3c: 4b3d ldr r3, [pc, #244] ; (80a6b34 ) 80a6a3e: 785b ldrb r3, [r3, #1] 80a6a40: b2db uxtb r3, r3 80a6a42: 2b01 cmp r3, #1 80a6a44: d13e bne.n 80a6ac4 if(pardata.IIN != VOLTS) 80a6a46: 4b3b ldr r3, [pc, #236] ; (80a6b34 ) 80a6a48: 799b ldrb r3, [r3, #6] 80a6a4a: b2db uxtb r3, r3 80a6a4c: 2b02 cmp r3, #2 80a6a4e: d01c beq.n 80a6a8a if(pardata.LANG == RUS) 80a6a50: 4b38 ldr r3, [pc, #224] ; (80a6b34 ) 80a6a52: 7b1b ldrb r3, [r3, #12] 80a6a54: b2db uxtb r3, r3 80a6a56: 2b00 cmp r3, #0 80a6a58: d10b bne.n 80a6a72 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&/c", LEFT_MODE); 80a6a5a: 6efb ldr r3, [r7, #108] ; 0x6c 80a6a5c: b29b uxth r3, r3 80a6a5e: 00db lsls r3, r3, #3 80a6a60: b29b uxth r3, r3 80a6a62: 3335 adds r3, #53 ; 0x35 80a6a64: b299 uxth r1, r3 80a6a66: 2303 movs r3, #3 80a6a68: 4a41 ldr r2, [pc, #260] ; (80a6b70 ) 80a6a6a: 20dc movs r0, #220 ; 0xdc 80a6a6c: f7ad fe96 bl 805479c 80a6a70: e091 b.n 80a6b96 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "m/s", LEFT_MODE); 80a6a72: 6efb ldr r3, [r7, #108] ; 0x6c 80a6a74: b29b uxth r3, r3 80a6a76: 00db lsls r3, r3, #3 80a6a78: b29b uxth r3, r3 80a6a7a: 3335 adds r3, #53 ; 0x35 80a6a7c: b299 uxth r1, r3 80a6a7e: 2303 movs r3, #3 80a6a80: 4a3c ldr r2, [pc, #240] ; (80a6b74 ) 80a6a82: 20dc movs r0, #220 ; 0xdc 80a6a84: f7ad fe8a bl 805479c 80a6a88: e085 b.n 80a6b96 if(pardata.LANG == RUS) 80a6a8a: 4b2a ldr r3, [pc, #168] ; (80a6b34 ) 80a6a8c: 7b1b ldrb r3, [r3, #12] 80a6a8e: b2db uxtb r3, r3 80a6a90: 2b00 cmp r3, #0 80a6a92: d10b bne.n 80a6aac BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "B", LEFT_MODE); 80a6a94: 6efb ldr r3, [r7, #108] ; 0x6c 80a6a96: b29b uxth r3, r3 80a6a98: 00db lsls r3, r3, #3 80a6a9a: b29b uxth r3, r3 80a6a9c: 3335 adds r3, #53 ; 0x35 80a6a9e: b299 uxth r1, r3 80a6aa0: 2303 movs r3, #3 80a6aa2: 4a31 ldr r2, [pc, #196] ; (80a6b68 ) 80a6aa4: 20dc movs r0, #220 ; 0xdc 80a6aa6: f7ad fe79 bl 805479c 80a6aaa: e074 b.n 80a6b96 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "V", LEFT_MODE); 80a6aac: 6efb ldr r3, [r7, #108] ; 0x6c 80a6aae: b29b uxth r3, r3 80a6ab0: 00db lsls r3, r3, #3 80a6ab2: b29b uxth r3, r3 80a6ab4: 3335 adds r3, #53 ; 0x35 80a6ab6: b299 uxth r1, r3 80a6ab8: 2303 movs r3, #3 80a6aba: 4a2c ldr r2, [pc, #176] ; (80a6b6c ) 80a6abc: 20dc movs r0, #220 ; 0xdc 80a6abe: f7ad fe6d bl 805479c 80a6ac2: e068 b.n 80a6b96 if(pardata.IPR == DIS) 80a6ac4: 4b1b ldr r3, [pc, #108] ; (80a6b34 ) 80a6ac6: 785b ldrb r3, [r3, #1] 80a6ac8: b2db uxtb r3, r3 80a6aca: 2b02 cmp r3, #2 80a6acc: d163 bne.n 80a6b96 if(pardata.IIN != VOLTS) 80a6ace: 4b19 ldr r3, [pc, #100] ; (80a6b34 ) 80a6ad0: 799b ldrb r3, [r3, #6] 80a6ad2: b2db uxtb r3, r3 80a6ad4: 2b02 cmp r3, #2 80a6ad6: d01c beq.n 80a6b12 if(pardata.LANG == RUS) 80a6ad8: 4b16 ldr r3, [pc, #88] ; (80a6b34 ) 80a6ada: 7b1b ldrb r3, [r3, #12] 80a6adc: b2db uxtb r3, r3 80a6ade: 2b00 cmp r3, #0 80a6ae0: d10b bne.n 80a6afa BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&", LEFT_MODE); 80a6ae2: 6efb ldr r3, [r7, #108] ; 0x6c 80a6ae4: b29b uxth r3, r3 80a6ae6: 00db lsls r3, r3, #3 80a6ae8: b29b uxth r3, r3 80a6aea: 3335 adds r3, #53 ; 0x35 80a6aec: b299 uxth r1, r3 80a6aee: 2303 movs r3, #3 80a6af0: 4a21 ldr r2, [pc, #132] ; (80a6b78 ) 80a6af2: 20dc movs r0, #220 ; 0xdc 80a6af4: f7ad fe52 bl 805479c 80a6af8: e04d b.n 80a6b96 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm", LEFT_MODE); 80a6afa: 6efb ldr r3, [r7, #108] ; 0x6c 80a6afc: b29b uxth r3, r3 80a6afe: 00db lsls r3, r3, #3 80a6b00: b29b uxth r3, r3 80a6b02: 3335 adds r3, #53 ; 0x35 80a6b04: b299 uxth r1, r3 80a6b06: 2303 movs r3, #3 80a6b08: 4a1c ldr r2, [pc, #112] ; (80a6b7c ) 80a6b0a: 20dc movs r0, #220 ; 0xdc 80a6b0c: f7ad fe46 bl 805479c 80a6b10: e041 b.n 80a6b96 if(pardata.LANG == RUS) 80a6b12: 4b08 ldr r3, [pc, #32] ; (80a6b34 ) 80a6b14: 7b1b ldrb r3, [r3, #12] 80a6b16: b2db uxtb r3, r3 80a6b18: 2b00 cmp r3, #0 80a6b1a: d131 bne.n 80a6b80 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "B", LEFT_MODE); 80a6b1c: 6efb ldr r3, [r7, #108] ; 0x6c 80a6b1e: b29b uxth r3, r3 80a6b20: 00db lsls r3, r3, #3 80a6b22: b29b uxth r3, r3 80a6b24: 3335 adds r3, #53 ; 0x35 80a6b26: b299 uxth r1, r3 80a6b28: 2303 movs r3, #3 80a6b2a: 4a0f ldr r2, [pc, #60] ; (80a6b68 ) 80a6b2c: 20dc movs r0, #220 ; 0xdc 80a6b2e: f7ad fe35 bl 805479c 80a6b32: e030 b.n 80a6b96 80a6b34: 20023ea8 .word 0x20023ea8 80a6b38: 200215b4 .word 0x200215b4 80a6b3c: ff26a01f .word 0xff26a01f 80a6b40: 20020f8c .word 0x20020f8c 80a6b44: 080d4df8 .word 0x080d4df8 80a6b48: 20026cf8 .word 0x20026cf8 80a6b4c: ffffa500 .word 0xffffa500 80a6b50: 080d4e04 .word 0x080d4e04 80a6b54: 080d4e08 .word 0x080d4e08 80a6b58: 447a0000 .word 0x447a0000 80a6b5c: 3a83126f .word 0x3a83126f 80a6b60: 080d4db0 .word 0x080d4db0 80a6b64: 080d4d10 .word 0x080d4d10 80a6b68: 080d4e0c .word 0x080d4e0c 80a6b6c: 080d2a10 .word 0x080d2a10 80a6b70: 080d4e10 .word 0x080d4e10 80a6b74: 080d4d1c .word 0x080d4d1c 80a6b78: 080d4e14 .word 0x080d4e14 80a6b7c: 080d4d24 .word 0x080d4d24 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "V", LEFT_MODE); 80a6b80: 6efb ldr r3, [r7, #108] ; 0x6c 80a6b82: b29b uxth r3, r3 80a6b84: 00db lsls r3, r3, #3 80a6b86: b29b uxth r3, r3 80a6b88: 3335 adds r3, #53 ; 0x35 80a6b8a: b299 uxth r1, r3 80a6b8c: 2303 movs r3, #3 80a6b8e: 4a95 ldr r2, [pc, #596] ; (80a6de4 ) 80a6b90: 20dc movs r0, #220 ; 0xdc 80a6b92: f7ad fe03 bl 805479c BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a6b96: 6efb ldr r3, [r7, #108] ; 0x6c 80a6b98: b29b uxth r3, r3 80a6b9a: 00db lsls r3, r3, #3 80a6b9c: b29b uxth r3, r3 80a6b9e: 3335 adds r3, #53 ; 0x35 80a6ba0: b29c uxth r4, r3 80a6ba2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6ba6: f06f 0003 mvn.w r0, #3 80a6baa: eeb0 0a67 vmov.f32 s0, s15 80a6bae: f7c0 fcf7 bl 80675a0 80a6bb2: 4602 mov r2, r0 80a6bb4: 2302 movs r3, #2 80a6bb6: 4621 mov r1, r4 80a6bb8: 20d9 movs r0, #217 ; 0xd9 80a6bba: f7ad fdef bl 805479c l = strlen((char *)FloatToASCII(Val, -3)); 80a6bbe: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6bc2: f06f 0002 mvn.w r0, #2 80a6bc6: eeb0 0a67 vmov.f32 s0, s15 80a6bca: f7c0 fce9 bl 80675a0 80a6bce: 4603 mov r3, r0 80a6bd0: 4618 mov r0, r3 80a6bd2: f779 fb9f bl 8020314 80a6bd6: 4603 mov r3, r0 80a6bd8: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a6bda: 6d3a ldr r2, [r7, #80] ; 0x50 80a6bdc: 4613 mov r3, r2 80a6bde: 009b lsls r3, r3, #2 80a6be0: 4413 add r3, r2 80a6be2: 3306 adds r3, #6 80a6be4: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a6be6: 4b80 ldr r3, [pc, #512] ; (80a6de8 ) 80a6be8: 781b ldrb r3, [r3, #0] 80a6bea: 2b2d cmp r3, #45 ; 0x2d 80a6bec: d102 bne.n 80a6bf4 80a6bee: 6d3b ldr r3, [r7, #80] ; 0x50 80a6bf0: 3b05 subs r3, #5 80a6bf2: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a6bf4: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6bf8: 487c ldr r0, [pc, #496] ; (80a6dec ) 80a6bfa: f7ad fd09 bl 8054610 if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a6bfe: 6efb ldr r3, [r7, #108] ; 0x6c 80a6c00: 2b00 cmp r3, #0 80a6c02: d10f bne.n 80a6c24 80a6c04: 6d3b ldr r3, [r7, #80] ; 0x50 80a6c06: b29b uxth r3, r3 80a6c08: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a6c0c: b298 uxth r0, r3 80a6c0e: 6efb ldr r3, [r7, #108] ; 0x6c 80a6c10: b29b uxth r3, r3 80a6c12: 00db lsls r3, r3, #3 80a6c14: b29b uxth r3, r3 80a6c16: 3335 adds r3, #53 ; 0x35 80a6c18: b299 uxth r1, r3 80a6c1a: 2302 movs r3, #2 80a6c1c: 4a74 ldr r2, [pc, #464] ; (80a6df0 ) 80a6c1e: f7ad fdbd bl 805479c 80a6c22: e00e b.n 80a6c42 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a6c24: 6d3b ldr r3, [r7, #80] ; 0x50 80a6c26: b29b uxth r3, r3 80a6c28: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a6c2c: b298 uxth r0, r3 80a6c2e: 6efb ldr r3, [r7, #108] ; 0x6c 80a6c30: b29b uxth r3, r3 80a6c32: 00db lsls r3, r3, #3 80a6c34: b29b uxth r3, r3 80a6c36: 3335 adds r3, #53 ; 0x35 80a6c38: b299 uxth r1, r3 80a6c3a: 2302 movs r3, #2 80a6c3c: 4a6d ldr r2, [pc, #436] ; (80a6df4 ) 80a6c3e: f7ad fdad bl 805479c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a6c42: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6c46: 486c ldr r0, [pc, #432] ; (80a6df8 ) 80a6c48: f7ad fce2 bl 8054610 80a6c4c: e2a0 b.n 80a7190 if(Val >= 0.1f) 80a6c4e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6c52: ed9f 7a6a vldr s14, [pc, #424] ; 80a6dfc 80a6c56: eef4 7ac7 vcmpe.f32 s15, s14 80a6c5a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6c5e: f2c0 8148 blt.w 80a6ef2 if(pardata.IPR == ACC) 80a6c62: 4b67 ldr r3, [pc, #412] ; (80a6e00 ) 80a6c64: 785b ldrb r3, [r3, #1] 80a6c66: b2db uxtb r3, r3 80a6c68: 2b00 cmp r3, #0 80a6c6a: d13e bne.n 80a6cea if(pardata.IIN != VOLTS) 80a6c6c: 4b64 ldr r3, [pc, #400] ; (80a6e00 ) 80a6c6e: 799b ldrb r3, [r3, #6] 80a6c70: b2db uxtb r3, r3 80a6c72: 2b02 cmp r3, #2 80a6c74: d01c beq.n 80a6cb0 if(pardata.LANG == RUS) 80a6c76: 4b62 ldr r3, [pc, #392] ; (80a6e00 ) 80a6c78: 7b1b ldrb r3, [r3, #12] 80a6c7a: b2db uxtb r3, r3 80a6c7c: 2b00 cmp r3, #0 80a6c7e: d10b bne.n 80a6c98 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&/c^", LEFT_MODE); 80a6c80: 6efb ldr r3, [r7, #108] ; 0x6c 80a6c82: b29b uxth r3, r3 80a6c84: 00db lsls r3, r3, #3 80a6c86: b29b uxth r3, r3 80a6c88: 3335 adds r3, #53 ; 0x35 80a6c8a: b299 uxth r1, r3 80a6c8c: 2303 movs r3, #3 80a6c8e: 4a5d ldr r2, [pc, #372] ; (80a6e04 ) 80a6c90: 20dc movs r0, #220 ; 0xdc 80a6c92: f7ad fd83 bl 805479c 80a6c96: e0d0 b.n 80a6e3a else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "m/s^", LEFT_MODE); 80a6c98: 6efb ldr r3, [r7, #108] ; 0x6c 80a6c9a: b29b uxth r3, r3 80a6c9c: 00db lsls r3, r3, #3 80a6c9e: b29b uxth r3, r3 80a6ca0: 3335 adds r3, #53 ; 0x35 80a6ca2: b299 uxth r1, r3 80a6ca4: 2303 movs r3, #3 80a6ca6: 4a58 ldr r2, [pc, #352] ; (80a6e08 ) 80a6ca8: 20dc movs r0, #220 ; 0xdc 80a6caa: f7ad fd77 bl 805479c 80a6cae: e0c4 b.n 80a6e3a if(pardata.LANG == RUS) 80a6cb0: 4b53 ldr r3, [pc, #332] ; (80a6e00 ) 80a6cb2: 7b1b ldrb r3, [r3, #12] 80a6cb4: b2db uxtb r3, r3 80a6cb6: 2b00 cmp r3, #0 80a6cb8: d10b bne.n 80a6cd2 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&B", LEFT_MODE); 80a6cba: 6efb ldr r3, [r7, #108] ; 0x6c 80a6cbc: b29b uxth r3, r3 80a6cbe: 00db lsls r3, r3, #3 80a6cc0: b29b uxth r3, r3 80a6cc2: 3335 adds r3, #53 ; 0x35 80a6cc4: b299 uxth r1, r3 80a6cc6: 2303 movs r3, #3 80a6cc8: 4a50 ldr r2, [pc, #320] ; (80a6e0c ) 80a6cca: 20dc movs r0, #220 ; 0xdc 80a6ccc: f7ad fd66 bl 805479c 80a6cd0: e0b3 b.n 80a6e3a else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mV", LEFT_MODE); 80a6cd2: 6efb ldr r3, [r7, #108] ; 0x6c 80a6cd4: b29b uxth r3, r3 80a6cd6: 00db lsls r3, r3, #3 80a6cd8: b29b uxth r3, r3 80a6cda: 3335 adds r3, #53 ; 0x35 80a6cdc: b299 uxth r1, r3 80a6cde: 2303 movs r3, #3 80a6ce0: 4a4b ldr r2, [pc, #300] ; (80a6e10 ) 80a6ce2: 20dc movs r0, #220 ; 0xdc 80a6ce4: f7ad fd5a bl 805479c 80a6ce8: e0a7 b.n 80a6e3a else if(pardata.IPR == VEL) 80a6cea: 4b45 ldr r3, [pc, #276] ; (80a6e00 ) 80a6cec: 785b ldrb r3, [r3, #1] 80a6cee: b2db uxtb r3, r3 80a6cf0: 2b01 cmp r3, #1 80a6cf2: d13e bne.n 80a6d72 if(pardata.IIN != VOLTS) 80a6cf4: 4b42 ldr r3, [pc, #264] ; (80a6e00 ) 80a6cf6: 799b ldrb r3, [r3, #6] 80a6cf8: b2db uxtb r3, r3 80a6cfa: 2b02 cmp r3, #2 80a6cfc: d01c beq.n 80a6d38 if(pardata.LANG == RUS) 80a6cfe: 4b40 ldr r3, [pc, #256] ; (80a6e00 ) 80a6d00: 7b1b ldrb r3, [r3, #12] 80a6d02: b2db uxtb r3, r3 80a6d04: 2b00 cmp r3, #0 80a6d06: d10b bne.n 80a6d20 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&/c", LEFT_MODE); 80a6d08: 6efb ldr r3, [r7, #108] ; 0x6c 80a6d0a: b29b uxth r3, r3 80a6d0c: 00db lsls r3, r3, #3 80a6d0e: b29b uxth r3, r3 80a6d10: 3335 adds r3, #53 ; 0x35 80a6d12: b299 uxth r1, r3 80a6d14: 2303 movs r3, #3 80a6d16: 4a3f ldr r2, [pc, #252] ; (80a6e14 ) 80a6d18: 20dc movs r0, #220 ; 0xdc 80a6d1a: f7ad fd3f bl 805479c 80a6d1e: e08c b.n 80a6e3a else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm/s", LEFT_MODE); 80a6d20: 6efb ldr r3, [r7, #108] ; 0x6c 80a6d22: b29b uxth r3, r3 80a6d24: 00db lsls r3, r3, #3 80a6d26: b29b uxth r3, r3 80a6d28: 3335 adds r3, #53 ; 0x35 80a6d2a: b299 uxth r1, r3 80a6d2c: 2303 movs r3, #3 80a6d2e: 4a3a ldr r2, [pc, #232] ; (80a6e18 ) 80a6d30: 20dc movs r0, #220 ; 0xdc 80a6d32: f7ad fd33 bl 805479c 80a6d36: e080 b.n 80a6e3a if(pardata.LANG == RUS) 80a6d38: 4b31 ldr r3, [pc, #196] ; (80a6e00 ) 80a6d3a: 7b1b ldrb r3, [r3, #12] 80a6d3c: b2db uxtb r3, r3 80a6d3e: 2b00 cmp r3, #0 80a6d40: d10b bne.n 80a6d5a BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&B", LEFT_MODE); 80a6d42: 6efb ldr r3, [r7, #108] ; 0x6c 80a6d44: b29b uxth r3, r3 80a6d46: 00db lsls r3, r3, #3 80a6d48: b29b uxth r3, r3 80a6d4a: 3335 adds r3, #53 ; 0x35 80a6d4c: b299 uxth r1, r3 80a6d4e: 2303 movs r3, #3 80a6d50: 4a2e ldr r2, [pc, #184] ; (80a6e0c ) 80a6d52: 20dc movs r0, #220 ; 0xdc 80a6d54: f7ad fd22 bl 805479c 80a6d58: e06f b.n 80a6e3a else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mV", LEFT_MODE); 80a6d5a: 6efb ldr r3, [r7, #108] ; 0x6c 80a6d5c: b29b uxth r3, r3 80a6d5e: 00db lsls r3, r3, #3 80a6d60: b29b uxth r3, r3 80a6d62: 3335 adds r3, #53 ; 0x35 80a6d64: b299 uxth r1, r3 80a6d66: 2303 movs r3, #3 80a6d68: 4a29 ldr r2, [pc, #164] ; (80a6e10 ) 80a6d6a: 20dc movs r0, #220 ; 0xdc 80a6d6c: f7ad fd16 bl 805479c 80a6d70: e063 b.n 80a6e3a else if(pardata.IPR == DIS) 80a6d72: 4b23 ldr r3, [pc, #140] ; (80a6e00 ) 80a6d74: 785b ldrb r3, [r3, #1] 80a6d76: b2db uxtb r3, r3 80a6d78: 2b02 cmp r3, #2 80a6d7a: d15e bne.n 80a6e3a if(pardata.IIN != VOLTS) 80a6d7c: 4b20 ldr r3, [pc, #128] ; (80a6e00 ) 80a6d7e: 799b ldrb r3, [r3, #6] 80a6d80: b2db uxtb r3, r3 80a6d82: 2b02 cmp r3, #2 80a6d84: d01c beq.n 80a6dc0 if(pardata.LANG == RUS) 80a6d86: 4b1e ldr r3, [pc, #120] ; (80a6e00 ) 80a6d88: 7b1b ldrb r3, [r3, #12] 80a6d8a: b2db uxtb r3, r3 80a6d8c: 2b00 cmp r3, #0 80a6d8e: d10b bne.n 80a6da8 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&k&", LEFT_MODE); 80a6d90: 6efb ldr r3, [r7, #108] ; 0x6c 80a6d92: b29b uxth r3, r3 80a6d94: 00db lsls r3, r3, #3 80a6d96: b29b uxth r3, r3 80a6d98: 3335 adds r3, #53 ; 0x35 80a6d9a: b299 uxth r1, r3 80a6d9c: 2303 movs r3, #3 80a6d9e: 4a1f ldr r2, [pc, #124] ; (80a6e1c ) 80a6da0: 20dc movs r0, #220 ; 0xdc 80a6da2: f7ad fcfb bl 805479c 80a6da6: e048 b.n 80a6e3a else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "um", LEFT_MODE); 80a6da8: 6efb ldr r3, [r7, #108] ; 0x6c 80a6daa: b29b uxth r3, r3 80a6dac: 00db lsls r3, r3, #3 80a6dae: b29b uxth r3, r3 80a6db0: 3335 adds r3, #53 ; 0x35 80a6db2: b299 uxth r1, r3 80a6db4: 2303 movs r3, #3 80a6db6: 4a1a ldr r2, [pc, #104] ; (80a6e20 ) 80a6db8: 20dc movs r0, #220 ; 0xdc 80a6dba: f7ad fcef bl 805479c 80a6dbe: e03c b.n 80a6e3a if(pardata.LANG == RUS) 80a6dc0: 4b0f ldr r3, [pc, #60] ; (80a6e00 ) 80a6dc2: 7b1b ldrb r3, [r3, #12] 80a6dc4: b2db uxtb r3, r3 80a6dc6: 2b00 cmp r3, #0 80a6dc8: d12c bne.n 80a6e24 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&B", LEFT_MODE); 80a6dca: 6efb ldr r3, [r7, #108] ; 0x6c 80a6dcc: b29b uxth r3, r3 80a6dce: 00db lsls r3, r3, #3 80a6dd0: b29b uxth r3, r3 80a6dd2: 3335 adds r3, #53 ; 0x35 80a6dd4: b299 uxth r1, r3 80a6dd6: 2303 movs r3, #3 80a6dd8: 4a0c ldr r2, [pc, #48] ; (80a6e0c ) 80a6dda: 20dc movs r0, #220 ; 0xdc 80a6ddc: f7ad fcde bl 805479c 80a6de0: e02b b.n 80a6e3a 80a6de2: bf00 nop 80a6de4: 080d2a10 .word 0x080d2a10 80a6de8: 20026cf8 .word 0x20026cf8 80a6dec: ffffa500 .word 0xffffa500 80a6df0: 080d4e04 .word 0x080d4e04 80a6df4: 080d4e08 .word 0x080d4e08 80a6df8: ff26a01f .word 0xff26a01f 80a6dfc: 3dcccccd .word 0x3dcccccd 80a6e00: 20023ea8 .word 0x20023ea8 80a6e04: 080d4dc0 .word 0x080d4dc0 80a6e08: 080d4d30 .word 0x080d4d30 80a6e0c: 080d4e18 .word 0x080d4e18 80a6e10: 080d4e1c .word 0x080d4e1c 80a6e14: 080d4e20 .word 0x080d4e20 80a6e18: 080d4d40 .word 0x080d4d40 80a6e1c: 080d4e28 .word 0x080d4e28 80a6e20: 080d4d4c .word 0x080d4d4c else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mV", LEFT_MODE); 80a6e24: 6efb ldr r3, [r7, #108] ; 0x6c 80a6e26: b29b uxth r3, r3 80a6e28: 00db lsls r3, r3, #3 80a6e2a: b29b uxth r3, r3 80a6e2c: 3335 adds r3, #53 ; 0x35 80a6e2e: b299 uxth r1, r3 80a6e30: 2303 movs r3, #3 80a6e32: 4a94 ldr r2, [pc, #592] ; (80a7084 ) 80a6e34: 20dc movs r0, #220 ; 0xdc 80a6e36: f7ad fcb1 bl 805479c BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a6e3a: 6efb ldr r3, [r7, #108] ; 0x6c 80a6e3c: b29b uxth r3, r3 80a6e3e: 00db lsls r3, r3, #3 80a6e40: b29b uxth r3, r3 80a6e42: 3335 adds r3, #53 ; 0x35 80a6e44: b29c uxth r4, r3 80a6e46: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6e4a: f06f 0002 mvn.w r0, #2 80a6e4e: eeb0 0a67 vmov.f32 s0, s15 80a6e52: f7c0 fba5 bl 80675a0 80a6e56: 4602 mov r2, r0 80a6e58: 2302 movs r3, #2 80a6e5a: 4621 mov r1, r4 80a6e5c: 20d9 movs r0, #217 ; 0xd9 80a6e5e: f7ad fc9d bl 805479c l = strlen((char *)FloatToASCII(Val, -3)); 80a6e62: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6e66: f06f 0002 mvn.w r0, #2 80a6e6a: eeb0 0a67 vmov.f32 s0, s15 80a6e6e: f7c0 fb97 bl 80675a0 80a6e72: 4603 mov r3, r0 80a6e74: 4618 mov r0, r3 80a6e76: f779 fa4d bl 8020314 80a6e7a: 4603 mov r3, r0 80a6e7c: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a6e7e: 6d3a ldr r2, [r7, #80] ; 0x50 80a6e80: 4613 mov r3, r2 80a6e82: 009b lsls r3, r3, #2 80a6e84: 4413 add r3, r2 80a6e86: 3306 adds r3, #6 80a6e88: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a6e8a: 4b7f ldr r3, [pc, #508] ; (80a7088 ) 80a6e8c: 781b ldrb r3, [r3, #0] 80a6e8e: 2b2d cmp r3, #45 ; 0x2d 80a6e90: d102 bne.n 80a6e98 80a6e92: 6d3b ldr r3, [r7, #80] ; 0x50 80a6e94: 3b05 subs r3, #5 80a6e96: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a6e98: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6e9c: 487b ldr r0, [pc, #492] ; (80a708c ) 80a6e9e: f7ad fbb7 bl 8054610 if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a6ea2: 6efb ldr r3, [r7, #108] ; 0x6c 80a6ea4: 2b00 cmp r3, #0 80a6ea6: d10f bne.n 80a6ec8 80a6ea8: 6d3b ldr r3, [r7, #80] ; 0x50 80a6eaa: b29b uxth r3, r3 80a6eac: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a6eb0: b298 uxth r0, r3 80a6eb2: 6efb ldr r3, [r7, #108] ; 0x6c 80a6eb4: b29b uxth r3, r3 80a6eb6: 00db lsls r3, r3, #3 80a6eb8: b29b uxth r3, r3 80a6eba: 3335 adds r3, #53 ; 0x35 80a6ebc: b299 uxth r1, r3 80a6ebe: 2302 movs r3, #2 80a6ec0: 4a73 ldr r2, [pc, #460] ; (80a7090 ) 80a6ec2: f7ad fc6b bl 805479c 80a6ec6: e00e b.n 80a6ee6 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a6ec8: 6d3b ldr r3, [r7, #80] ; 0x50 80a6eca: b29b uxth r3, r3 80a6ecc: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a6ed0: b298 uxth r0, r3 80a6ed2: 6efb ldr r3, [r7, #108] ; 0x6c 80a6ed4: b29b uxth r3, r3 80a6ed6: 00db lsls r3, r3, #3 80a6ed8: b29b uxth r3, r3 80a6eda: 3335 adds r3, #53 ; 0x35 80a6edc: b299 uxth r1, r3 80a6ede: 2302 movs r3, #2 80a6ee0: 4a6c ldr r2, [pc, #432] ; (80a7094 ) 80a6ee2: f7ad fc5b bl 805479c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a6ee6: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a6eea: 486b ldr r0, [pc, #428] ; (80a7098 ) 80a6eec: f7ad fb90 bl 8054610 80a6ef0: e14e b.n 80a7190 Val *= 1000.0f; 80a6ef2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a6ef6: ed9f 7a69 vldr s14, [pc, #420] ; 80a709c 80a6efa: ee67 7a87 vmul.f32 s15, s15, s14 80a6efe: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a6f02: 4b67 ldr r3, [pc, #412] ; (80a70a0 ) 80a6f04: 785b ldrb r3, [r3, #1] 80a6f06: b2db uxtb r3, r3 80a6f08: 2b00 cmp r3, #0 80a6f0a: d13e bne.n 80a6f8a if(pardata.IIN != VOLTS) 80a6f0c: 4b64 ldr r3, [pc, #400] ; (80a70a0 ) 80a6f0e: 799b ldrb r3, [r3, #6] 80a6f10: b2db uxtb r3, r3 80a6f12: 2b02 cmp r3, #2 80a6f14: d01c beq.n 80a6f50 if(pardata.LANG == RUS) 80a6f16: 4b62 ldr r3, [pc, #392] ; (80a70a0 ) 80a6f18: 7b1b ldrb r3, [r3, #12] 80a6f1a: b2db uxtb r3, r3 80a6f1c: 2b00 cmp r3, #0 80a6f1e: d10b bne.n 80a6f38 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&/c^", LEFT_MODE); 80a6f20: 6efb ldr r3, [r7, #108] ; 0x6c 80a6f22: b29b uxth r3, r3 80a6f24: 00db lsls r3, r3, #3 80a6f26: b29b uxth r3, r3 80a6f28: 3335 adds r3, #53 ; 0x35 80a6f2a: b299 uxth r1, r3 80a6f2c: 2303 movs r3, #3 80a6f2e: 4a5d ldr r2, [pc, #372] ; (80a70a4 ) 80a6f30: 20dc movs r0, #220 ; 0xdc 80a6f32: f7ad fc33 bl 805479c 80a6f36: e0d0 b.n 80a70da else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm/s^", LEFT_MODE); 80a6f38: 6efb ldr r3, [r7, #108] ; 0x6c 80a6f3a: b29b uxth r3, r3 80a6f3c: 00db lsls r3, r3, #3 80a6f3e: b29b uxth r3, r3 80a6f40: 3335 adds r3, #53 ; 0x35 80a6f42: b299 uxth r1, r3 80a6f44: 2303 movs r3, #3 80a6f46: 4a58 ldr r2, [pc, #352] ; (80a70a8 ) 80a6f48: 20dc movs r0, #220 ; 0xdc 80a6f4a: f7ad fc27 bl 805479c 80a6f4e: e0c4 b.n 80a70da if(pardata.LANG == RUS) 80a6f50: 4b53 ldr r3, [pc, #332] ; (80a70a0 ) 80a6f52: 7b1b ldrb r3, [r3, #12] 80a6f54: b2db uxtb r3, r3 80a6f56: 2b00 cmp r3, #0 80a6f58: d10b bne.n 80a6f72 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&kB", LEFT_MODE); 80a6f5a: 6efb ldr r3, [r7, #108] ; 0x6c 80a6f5c: b29b uxth r3, r3 80a6f5e: 00db lsls r3, r3, #3 80a6f60: b29b uxth r3, r3 80a6f62: 3335 adds r3, #53 ; 0x35 80a6f64: b299 uxth r1, r3 80a6f66: 2303 movs r3, #3 80a6f68: 4a50 ldr r2, [pc, #320] ; (80a70ac ) 80a6f6a: 20dc movs r0, #220 ; 0xdc 80a6f6c: f7ad fc16 bl 805479c 80a6f70: e0b3 b.n 80a70da else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "uV", LEFT_MODE); 80a6f72: 6efb ldr r3, [r7, #108] ; 0x6c 80a6f74: b29b uxth r3, r3 80a6f76: 00db lsls r3, r3, #3 80a6f78: b29b uxth r3, r3 80a6f7a: 3335 adds r3, #53 ; 0x35 80a6f7c: b299 uxth r1, r3 80a6f7e: 2303 movs r3, #3 80a6f80: 4a4b ldr r2, [pc, #300] ; (80a70b0 ) 80a6f82: 20dc movs r0, #220 ; 0xdc 80a6f84: f7ad fc0a bl 805479c 80a6f88: e0a7 b.n 80a70da else if(pardata.IPR == VEL) 80a6f8a: 4b45 ldr r3, [pc, #276] ; (80a70a0 ) 80a6f8c: 785b ldrb r3, [r3, #1] 80a6f8e: b2db uxtb r3, r3 80a6f90: 2b01 cmp r3, #1 80a6f92: d13e bne.n 80a7012 if(pardata.IIN != VOLTS) 80a6f94: 4b42 ldr r3, [pc, #264] ; (80a70a0 ) 80a6f96: 799b ldrb r3, [r3, #6] 80a6f98: b2db uxtb r3, r3 80a6f9a: 2b02 cmp r3, #2 80a6f9c: d01c beq.n 80a6fd8 if(pardata.LANG == RUS) 80a6f9e: 4b40 ldr r3, [pc, #256] ; (80a70a0 ) 80a6fa0: 7b1b ldrb r3, [r3, #12] 80a6fa2: b2db uxtb r3, r3 80a6fa4: 2b00 cmp r3, #0 80a6fa6: d10b bne.n 80a6fc0 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&k&/c", LEFT_MODE); 80a6fa8: 6efb ldr r3, [r7, #108] ; 0x6c 80a6faa: b29b uxth r3, r3 80a6fac: 00db lsls r3, r3, #3 80a6fae: b29b uxth r3, r3 80a6fb0: 3335 adds r3, #53 ; 0x35 80a6fb2: b299 uxth r1, r3 80a6fb4: 2303 movs r3, #3 80a6fb6: 4a3f ldr r2, [pc, #252] ; (80a70b4 ) 80a6fb8: 20dc movs r0, #220 ; 0xdc 80a6fba: f7ad fbef bl 805479c 80a6fbe: e08c b.n 80a70da else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mkm/s", LEFT_MODE); 80a6fc0: 6efb ldr r3, [r7, #108] ; 0x6c 80a6fc2: b29b uxth r3, r3 80a6fc4: 00db lsls r3, r3, #3 80a6fc6: b29b uxth r3, r3 80a6fc8: 3335 adds r3, #53 ; 0x35 80a6fca: b299 uxth r1, r3 80a6fcc: 2303 movs r3, #3 80a6fce: 4a3a ldr r2, [pc, #232] ; (80a70b8 ) 80a6fd0: 20dc movs r0, #220 ; 0xdc 80a6fd2: f7ad fbe3 bl 805479c 80a6fd6: e080 b.n 80a70da if(pardata.LANG == RUS) 80a6fd8: 4b31 ldr r3, [pc, #196] ; (80a70a0 ) 80a6fda: 7b1b ldrb r3, [r3, #12] 80a6fdc: b2db uxtb r3, r3 80a6fde: 2b00 cmp r3, #0 80a6fe0: d10b bne.n 80a6ffa BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&kB", LEFT_MODE); 80a6fe2: 6efb ldr r3, [r7, #108] ; 0x6c 80a6fe4: b29b uxth r3, r3 80a6fe6: 00db lsls r3, r3, #3 80a6fe8: b29b uxth r3, r3 80a6fea: 3335 adds r3, #53 ; 0x35 80a6fec: b299 uxth r1, r3 80a6fee: 2303 movs r3, #3 80a6ff0: 4a2e ldr r2, [pc, #184] ; (80a70ac ) 80a6ff2: 20dc movs r0, #220 ; 0xdc 80a6ff4: f7ad fbd2 bl 805479c 80a6ff8: e06f b.n 80a70da else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "uV", LEFT_MODE); 80a6ffa: 6efb ldr r3, [r7, #108] ; 0x6c 80a6ffc: b29b uxth r3, r3 80a6ffe: 00db lsls r3, r3, #3 80a7000: b29b uxth r3, r3 80a7002: 3335 adds r3, #53 ; 0x35 80a7004: b299 uxth r1, r3 80a7006: 2303 movs r3, #3 80a7008: 4a29 ldr r2, [pc, #164] ; (80a70b0 ) 80a700a: 20dc movs r0, #220 ; 0xdc 80a700c: f7ad fbc6 bl 805479c 80a7010: e063 b.n 80a70da else if(pardata.IPR == DIS) 80a7012: 4b23 ldr r3, [pc, #140] ; (80a70a0 ) 80a7014: 785b ldrb r3, [r3, #1] 80a7016: b2db uxtb r3, r3 80a7018: 2b02 cmp r3, #2 80a701a: d15e bne.n 80a70da if(pardata.IIN != VOLTS) 80a701c: 4b20 ldr r3, [pc, #128] ; (80a70a0 ) 80a701e: 799b ldrb r3, [r3, #6] 80a7020: b2db uxtb r3, r3 80a7022: 2b02 cmp r3, #2 80a7024: d01c beq.n 80a7060 if(pardata.LANG == RUS) 80a7026: 4b1e ldr r3, [pc, #120] ; (80a70a0 ) 80a7028: 7b1b ldrb r3, [r3, #12] 80a702a: b2db uxtb r3, r3 80a702c: 2b00 cmp r3, #0 80a702e: d10b bne.n 80a7048 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "#&", LEFT_MODE); 80a7030: 6efb ldr r3, [r7, #108] ; 0x6c 80a7032: b29b uxth r3, r3 80a7034: 00db lsls r3, r3, #3 80a7036: b29b uxth r3, r3 80a7038: 3335 adds r3, #53 ; 0x35 80a703a: b299 uxth r1, r3 80a703c: 2303 movs r3, #3 80a703e: 4a1f ldr r2, [pc, #124] ; (80a70bc ) 80a7040: 20dc movs r0, #220 ; 0xdc 80a7042: f7ad fbab bl 805479c 80a7046: e048 b.n 80a70da else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "nm", LEFT_MODE); 80a7048: 6efb ldr r3, [r7, #108] ; 0x6c 80a704a: b29b uxth r3, r3 80a704c: 00db lsls r3, r3, #3 80a704e: b29b uxth r3, r3 80a7050: 3335 adds r3, #53 ; 0x35 80a7052: b299 uxth r1, r3 80a7054: 2303 movs r3, #3 80a7056: 4a1a ldr r2, [pc, #104] ; (80a70c0 ) 80a7058: 20dc movs r0, #220 ; 0xdc 80a705a: f7ad fb9f bl 805479c 80a705e: e03c b.n 80a70da if(pardata.LANG == RUS) 80a7060: 4b0f ldr r3, [pc, #60] ; (80a70a0 ) 80a7062: 7b1b ldrb r3, [r3, #12] 80a7064: b2db uxtb r3, r3 80a7066: 2b00 cmp r3, #0 80a7068: d12c bne.n 80a70c4 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&kB", LEFT_MODE); 80a706a: 6efb ldr r3, [r7, #108] ; 0x6c 80a706c: b29b uxth r3, r3 80a706e: 00db lsls r3, r3, #3 80a7070: b29b uxth r3, r3 80a7072: 3335 adds r3, #53 ; 0x35 80a7074: b299 uxth r1, r3 80a7076: 2303 movs r3, #3 80a7078: 4a0c ldr r2, [pc, #48] ; (80a70ac ) 80a707a: 20dc movs r0, #220 ; 0xdc 80a707c: f7ad fb8e bl 805479c 80a7080: e02b b.n 80a70da 80a7082: bf00 nop 80a7084: 080d4e1c .word 0x080d4e1c 80a7088: 20026cf8 .word 0x20026cf8 80a708c: ffffa500 .word 0xffffa500 80a7090: 080d4e04 .word 0x080d4e04 80a7094: 080d4e08 .word 0x080d4e08 80a7098: ff26a01f .word 0xff26a01f 80a709c: 447a0000 .word 0x447a0000 80a70a0: 20023ea8 .word 0x20023ea8 80a70a4: 080d4dd0 .word 0x080d4dd0 80a70a8: 080d4d58 .word 0x080d4d58 80a70ac: 080d4e2c .word 0x080d4e2c 80a70b0: 080d4d7c .word 0x080d4d7c 80a70b4: 080d4e30 .word 0x080d4e30 80a70b8: 080d4d68 .word 0x080d4d68 80a70bc: 080d4e38 .word 0x080d4e38 80a70c0: 080d4d74 .word 0x080d4d74 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "uV", LEFT_MODE); 80a70c4: 6efb ldr r3, [r7, #108] ; 0x6c 80a70c6: b29b uxth r3, r3 80a70c8: 00db lsls r3, r3, #3 80a70ca: b29b uxth r3, r3 80a70cc: 3335 adds r3, #53 ; 0x35 80a70ce: b299 uxth r1, r3 80a70d0: 2303 movs r3, #3 80a70d2: 4ab1 ldr r2, [pc, #708] ; (80a7398 ) 80a70d4: 20dc movs r0, #220 ; 0xdc 80a70d6: f7ad fb61 bl 805479c BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a70da: 6efb ldr r3, [r7, #108] ; 0x6c 80a70dc: b29b uxth r3, r3 80a70de: 00db lsls r3, r3, #3 80a70e0: b29b uxth r3, r3 80a70e2: 3335 adds r3, #53 ; 0x35 80a70e4: b29c uxth r4, r3 80a70e6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a70ea: f06f 0003 mvn.w r0, #3 80a70ee: eeb0 0a67 vmov.f32 s0, s15 80a70f2: f7c0 fa55 bl 80675a0 80a70f6: 4602 mov r2, r0 80a70f8: 2302 movs r3, #2 80a70fa: 4621 mov r1, r4 80a70fc: 20d9 movs r0, #217 ; 0xd9 80a70fe: f7ad fb4d bl 805479c l = strlen((char *)FloatToASCII(Val, -3)); 80a7102: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7106: f06f 0002 mvn.w r0, #2 80a710a: eeb0 0a67 vmov.f32 s0, s15 80a710e: f7c0 fa47 bl 80675a0 80a7112: 4603 mov r3, r0 80a7114: 4618 mov r0, r3 80a7116: f779 f8fd bl 8020314 80a711a: 4603 mov r3, r0 80a711c: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a711e: 6d3a ldr r2, [r7, #80] ; 0x50 80a7120: 4613 mov r3, r2 80a7122: 009b lsls r3, r3, #2 80a7124: 4413 add r3, r2 80a7126: 3306 adds r3, #6 80a7128: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a712a: 4b9c ldr r3, [pc, #624] ; (80a739c ) 80a712c: 781b ldrb r3, [r3, #0] 80a712e: 2b2d cmp r3, #45 ; 0x2d 80a7130: d102 bne.n 80a7138 80a7132: 6d3b ldr r3, [r7, #80] ; 0x50 80a7134: 3b05 subs r3, #5 80a7136: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a7138: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a713c: 4898 ldr r0, [pc, #608] ; (80a73a0 ) 80a713e: f7ad fa67 bl 8054610 if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a7142: 6efb ldr r3, [r7, #108] ; 0x6c 80a7144: 2b00 cmp r3, #0 80a7146: d10f bne.n 80a7168 80a7148: 6d3b ldr r3, [r7, #80] ; 0x50 80a714a: b29b uxth r3, r3 80a714c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a7150: b298 uxth r0, r3 80a7152: 6efb ldr r3, [r7, #108] ; 0x6c 80a7154: b29b uxth r3, r3 80a7156: 00db lsls r3, r3, #3 80a7158: b29b uxth r3, r3 80a715a: 3335 adds r3, #53 ; 0x35 80a715c: b299 uxth r1, r3 80a715e: 2302 movs r3, #2 80a7160: 4a90 ldr r2, [pc, #576] ; (80a73a4 ) 80a7162: f7ad fb1b bl 805479c 80a7166: e00e b.n 80a7186 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a7168: 6d3b ldr r3, [r7, #80] ; 0x50 80a716a: b29b uxth r3, r3 80a716c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a7170: b298 uxth r0, r3 80a7172: 6efb ldr r3, [r7, #108] ; 0x6c 80a7174: b29b uxth r3, r3 80a7176: 00db lsls r3, r3, #3 80a7178: b29b uxth r3, r3 80a717a: 3335 adds r3, #53 ; 0x35 80a717c: b299 uxth r1, r3 80a717e: 2302 movs r3, #2 80a7180: 4a89 ldr r2, [pc, #548] ; (80a73a8 ) 80a7182: f7ad fb0b bl 805479c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a7186: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a718a: 4888 ldr r0, [pc, #544] ; (80a73ac ) 80a718c: f7ad fa40 bl 8054610 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a7190: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a7194: 4886 ldr r0, [pc, #536] ; (80a73b0 ) 80a7196: f7ad fa3b bl 8054610 tmpF = (float32_t) DynamicCursor[i].fineMpos; 80a719a: 4a86 ldr r2, [pc, #536] ; (80a73b4 ) 80a719c: 6efb ldr r3, [r7, #108] ; 0x6c 80a719e: 011b lsls r3, r3, #4 80a71a0: 4413 add r3, r2 80a71a2: 3306 adds r3, #6 80a71a4: 881b ldrh r3, [r3, #0] 80a71a6: ee07 3a90 vmov s15, r3 80a71aa: eef8 7a67 vcvt.f32.u32 s15, s15 80a71ae: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(tmpF != TF) 80a71b2: 4b81 ldr r3, [pc, #516] ; (80a73b8 ) 80a71b4: edd3 7a00 vldr s15, [r3] 80a71b8: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80a71bc: eeb4 7a67 vcmp.f32 s14, s15 80a71c0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a71c4: d01d beq.n 80a7202 TF = tmpF; 80a71c6: 4a7c ldr r2, [pc, #496] ; (80a73b8 ) 80a71c8: 6d7b ldr r3, [r7, #84] ; 0x54 80a71ca: 6013 str r3, [r2, #0] TF *= Delta_SPC[pardata.FRQ][pardata.LNE]; 80a71cc: 4b7b ldr r3, [pc, #492] ; (80a73bc ) 80a71ce: 7adb ldrb r3, [r3, #11] 80a71d0: b2db uxtb r3, r3 80a71d2: 4618 mov r0, r3 80a71d4: 4b79 ldr r3, [pc, #484] ; (80a73bc ) 80a71d6: 79db ldrb r3, [r3, #7] 80a71d8: b2db uxtb r3, r3 80a71da: 4619 mov r1, r3 80a71dc: 4a78 ldr r2, [pc, #480] ; (80a73c0 ) 80a71de: 0083 lsls r3, r0, #2 80a71e0: 440b add r3, r1 80a71e2: 009b lsls r3, r3, #2 80a71e4: 4413 add r3, r2 80a71e6: ed93 7a00 vldr s14, [r3] 80a71ea: 4b73 ldr r3, [pc, #460] ; (80a73b8 ) 80a71ec: edd3 7a00 vldr s15, [r3] 80a71f0: ee67 7a27 vmul.f32 s15, s14, s15 80a71f4: 4b70 ldr r3, [pc, #448] ; (80a73b8 ) 80a71f6: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a71fa: 4b6f ldr r3, [pc, #444] ; (80a73b8 ) 80a71fc: 681b ldr r3, [r3, #0] 80a71fe: 4a71 ldr r2, [pc, #452] ; (80a73c4 ) 80a7200: 6013 str r3, [r2, #0] tmpF = TF; 80a7202: 4b6d ldr r3, [pc, #436] ; (80a73b8 ) 80a7204: 681b ldr r3, [r3, #0] 80a7206: 657b str r3, [r7, #84] ; 0x54 DynamicCursor[i].val_X = tmpF; 80a7208: 4a6a ldr r2, [pc, #424] ; (80a73b4 ) 80a720a: 6efb ldr r3, [r7, #108] ; 0x6c 80a720c: 011b lsls r3, r3, #4 80a720e: 4413 add r3, r2 80a7210: 3308 adds r3, #8 80a7212: 6d7a ldr r2, [r7, #84] ; 0x54 80a7214: 601a str r2, [r3, #0] if(tmpF >= 1000.0f) 80a7216: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a721a: ed9f 7a6b vldr s14, [pc, #428] ; 80a73c8 80a721e: eef4 7ac7 vcmpe.f32 s15, s14 80a7222: eef1 fa10 vmrs APSR_nzcv, fpscr 80a7226: db39 blt.n 80a729c tmpF *= 0.001f; 80a7228: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a722c: ed9f 7a67 vldr s14, [pc, #412] ; 80a73cc 80a7230: ee67 7a87 vmul.f32 s15, s15, s14 80a7234: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a7238: 4b60 ldr r3, [pc, #384] ; (80a73bc ) 80a723a: 7b1b ldrb r3, [r3, #12] 80a723c: b2db uxtb r3, r3 80a723e: 2b00 cmp r3, #0 80a7240: d10c bne.n 80a725c BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "k$%", LEFT_MODE); 80a7242: 6efb ldr r3, [r7, #108] ; 0x6c 80a7244: b29b uxth r3, r3 80a7246: 00db lsls r3, r3, #3 80a7248: b29b uxth r3, r3 80a724a: 3335 adds r3, #53 ; 0x35 80a724c: b299 uxth r1, r3 80a724e: 2303 movs r3, #3 80a7250: 4a5f ldr r2, [pc, #380] ; (80a73d0 ) 80a7252: f44f 7097 mov.w r0, #302 ; 0x12e 80a7256: f7ad faa1 bl 805479c 80a725a: e00b b.n 80a7274 else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "kHz", LEFT_MODE); 80a725c: 6efb ldr r3, [r7, #108] ; 0x6c 80a725e: b29b uxth r3, r3 80a7260: 00db lsls r3, r3, #3 80a7262: b29b uxth r3, r3 80a7264: 3335 adds r3, #53 ; 0x35 80a7266: b299 uxth r1, r3 80a7268: 2303 movs r3, #3 80a726a: 4a5a ldr r2, [pc, #360] ; (80a73d4 ) 80a726c: f44f 7097 mov.w r0, #302 ; 0x12e 80a7270: f7ad fa94 bl 805479c BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a7274: 6efb ldr r3, [r7, #108] ; 0x6c 80a7276: b29b uxth r3, r3 80a7278: 00db lsls r3, r3, #3 80a727a: b29b uxth r3, r3 80a727c: 3335 adds r3, #53 ; 0x35 80a727e: b29c uxth r4, r3 80a7280: f06f 0003 mvn.w r0, #3 80a7284: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a7288: f7c0 f98a bl 80675a0 80a728c: 4602 mov r2, r0 80a728e: 2302 movs r3, #2 80a7290: 4621 mov r1, r4 80a7292: f240 102b movw r0, #299 ; 0x12b 80a7296: f7ad fa81 bl 805479c 80a729a: e073 b.n 80a7384 if(tmpF >= 0.1f) 80a729c: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a72a0: ed9f 7a4d vldr s14, [pc, #308] ; 80a73d8 80a72a4: eef4 7ac7 vcmpe.f32 s15, s14 80a72a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a72ac: db31 blt.n 80a7312 if(pardata.LANG == RUS) 80a72ae: 4b43 ldr r3, [pc, #268] ; (80a73bc ) 80a72b0: 7b1b ldrb r3, [r3, #12] 80a72b2: b2db uxtb r3, r3 80a72b4: 2b00 cmp r3, #0 80a72b6: d10c bne.n 80a72d2 BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "$%", LEFT_MODE); 80a72b8: 6efb ldr r3, [r7, #108] ; 0x6c 80a72ba: b29b uxth r3, r3 80a72bc: 00db lsls r3, r3, #3 80a72be: b29b uxth r3, r3 80a72c0: 3335 adds r3, #53 ; 0x35 80a72c2: b299 uxth r1, r3 80a72c4: 2303 movs r3, #3 80a72c6: 4a45 ldr r2, [pc, #276] ; (80a73dc ) 80a72c8: f44f 7097 mov.w r0, #302 ; 0x12e 80a72cc: f7ad fa66 bl 805479c 80a72d0: e00b b.n 80a72ea else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "Hz", LEFT_MODE); 80a72d2: 6efb ldr r3, [r7, #108] ; 0x6c 80a72d4: b29b uxth r3, r3 80a72d6: 00db lsls r3, r3, #3 80a72d8: b29b uxth r3, r3 80a72da: 3335 adds r3, #53 ; 0x35 80a72dc: b299 uxth r1, r3 80a72de: 2303 movs r3, #3 80a72e0: 4a3f ldr r2, [pc, #252] ; (80a73e0 ) 80a72e2: f44f 7097 mov.w r0, #302 ; 0x12e 80a72e6: f7ad fa59 bl 805479c BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a72ea: 6efb ldr r3, [r7, #108] ; 0x6c 80a72ec: b29b uxth r3, r3 80a72ee: 00db lsls r3, r3, #3 80a72f0: b29b uxth r3, r3 80a72f2: 3335 adds r3, #53 ; 0x35 80a72f4: b29c uxth r4, r3 80a72f6: f06f 0002 mvn.w r0, #2 80a72fa: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a72fe: f7c0 f94f bl 80675a0 80a7302: 4602 mov r2, r0 80a7304: 2302 movs r3, #2 80a7306: 4621 mov r1, r4 80a7308: f240 102b movw r0, #299 ; 0x12b 80a730c: f7ad fa46 bl 805479c 80a7310: e038 b.n 80a7384 tmpF *= 1000.0f; 80a7312: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7316: ed9f 7a2c vldr s14, [pc, #176] ; 80a73c8 80a731a: ee67 7a87 vmul.f32 s15, s15, s14 80a731e: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a7322: 4b26 ldr r3, [pc, #152] ; (80a73bc ) 80a7324: 7b1b ldrb r3, [r3, #12] 80a7326: b2db uxtb r3, r3 80a7328: 2b00 cmp r3, #0 80a732a: d10c bne.n 80a7346 BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "&$%", LEFT_MODE); 80a732c: 6efb ldr r3, [r7, #108] ; 0x6c 80a732e: b29b uxth r3, r3 80a7330: 00db lsls r3, r3, #3 80a7332: b29b uxth r3, r3 80a7334: 3335 adds r3, #53 ; 0x35 80a7336: b299 uxth r1, r3 80a7338: 2303 movs r3, #3 80a733a: 4a2a ldr r2, [pc, #168] ; (80a73e4 ) 80a733c: f44f 7097 mov.w r0, #302 ; 0x12e 80a7340: f7ad fa2c bl 805479c 80a7344: e00b b.n 80a735e else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "mHz", LEFT_MODE); 80a7346: 6efb ldr r3, [r7, #108] ; 0x6c 80a7348: b29b uxth r3, r3 80a734a: 00db lsls r3, r3, #3 80a734c: b29b uxth r3, r3 80a734e: 3335 adds r3, #53 ; 0x35 80a7350: b299 uxth r1, r3 80a7352: 2303 movs r3, #3 80a7354: 4a24 ldr r2, [pc, #144] ; (80a73e8 ) 80a7356: f44f 7097 mov.w r0, #302 ; 0x12e 80a735a: f7ad fa1f bl 805479c BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a735e: 6efb ldr r3, [r7, #108] ; 0x6c 80a7360: b29b uxth r3, r3 80a7362: 00db lsls r3, r3, #3 80a7364: b29b uxth r3, r3 80a7366: 3335 adds r3, #53 ; 0x35 80a7368: b29c uxth r4, r3 80a736a: f06f 0001 mvn.w r0, #1 80a736e: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a7372: f7c0 f915 bl 80675a0 80a7376: 4602 mov r2, r0 80a7378: 2302 movs r3, #2 80a737a: 4621 mov r1, r4 80a737c: f240 102b movw r0, #299 ; 0x12b 80a7380: f7ad fa0c bl 805479c for(i = 0; i < 2; i++) 80a7384: 6efb ldr r3, [r7, #108] ; 0x6c 80a7386: 3301 adds r3, #1 80a7388: 66fb str r3, [r7, #108] ; 0x6c 80a738a: 6efb ldr r3, [r7, #108] ; 0x6c 80a738c: 2b01 cmp r3, #1 80a738e: f67f a98e bls.w 80a66ae if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 80a7392: f002 ba2f b.w 80a97f4 80a7396: bf00 nop 80a7398: 080d4d7c .word 0x080d4d7c 80a739c: 20026cf8 .word 0x20026cf8 80a73a0: ffffa500 .word 0xffffa500 80a73a4: 080d4e04 .word 0x080d4e04 80a73a8: 080d4e08 .word 0x080d4e08 80a73ac: ff26a01f .word 0xff26a01f 80a73b0: ff808080 .word 0xff808080 80a73b4: 20020f8c .word 0x20020f8c 80a73b8: 200215b8 .word 0x200215b8 80a73bc: 20023ea8 .word 0x20023ea8 80a73c0: 080f3a6c .word 0x080f3a6c 80a73c4: 20021690 .word 0x20021690 80a73c8: 447a0000 .word 0x447a0000 80a73cc: 3a83126f .word 0x3a83126f 80a73d0: 080d4e3c .word 0x080d4e3c 80a73d4: 080d4e40 .word 0x080d4e40 80a73d8: 3dcccccd .word 0x3dcccccd 80a73dc: 080d4dfc .word 0x080d4dfc 80a73e0: 080d4e00 .word 0x080d4e00 80a73e4: 080d4e44 .word 0x080d4e44 80a73e8: 080d4e48 .word 0x080d4e48 if(pardata.SYG == SPEC_OKT) 80a73ec: 4bb0 ldr r3, [pc, #704] ; (80a76b0 ) 80a73ee: 781b ldrb r3, [r3, #0] 80a73f0: b2db uxtb r3, r3 80a73f2: 2b06 cmp r3, #6 80a73f4: f040 8336 bne.w 80a7a64 CurVal = ScrA_f32(CURSOR); 80a73f8: 4bae ldr r3, [pc, #696] ; (80a76b4 ) 80a73fa: 681b ldr r3, [r3, #0] 80a73fc: 009a lsls r2, r3, #2 80a73fe: 4bae ldr r3, [pc, #696] ; (80a76b8 ) 80a7400: 4413 add r3, r2 80a7402: 681b ldr r3, [r3, #0] 80a7404: 4aad ldr r2, [pc, #692] ; (80a76bc ) 80a7406: 6013 str r3, [r2, #0] if(pardata.MSH == LOG) 80a7408: 4ba9 ldr r3, [pc, #676] ; (80a76b0 ) 80a740a: 7a9b ldrb r3, [r3, #10] 80a740c: b2db uxtb r3, r3 80a740e: 2b01 cmp r3, #1 80a7410: d111 bne.n 80a7436 if(pardata.IIN != VOLTS) 80a7412: 4ba7 ldr r3, [pc, #668] ; (80a76b0 ) 80a7414: 799b ldrb r3, [r3, #6] 80a7416: b2db uxtb r3, r3 80a7418: 2b02 cmp r3, #2 80a741a: d004 beq.n 80a7426 LinToLog(&CurVal, &CurVal); 80a741c: 49a7 ldr r1, [pc, #668] ; (80a76bc ) 80a741e: 48a7 ldr r0, [pc, #668] ; (80a76bc ) 80a7420: f7be fc92 bl 8065d48 80a7424: e007 b.n 80a7436 else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a7426: 4ba2 ldr r3, [pc, #648] ; (80a76b0 ) 80a7428: 785b ldrb r3, [r3, #1] 80a742a: b2db uxtb r3, r3 80a742c: 461a mov r2, r3 80a742e: 49a3 ldr r1, [pc, #652] ; (80a76bc ) 80a7430: 48a2 ldr r0, [pc, #648] ; (80a76bc ) 80a7432: f7be fcb9 bl 8065da8 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a7436: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a743a: 48a1 ldr r0, [pc, #644] ; (80a76c0 ) 80a743c: f7ad f8e8 bl 8054610 Val = CurVal; 80a7440: 4b9e ldr r3, [pc, #632] ; (80a76bc ) 80a7442: 681b ldr r3, [r3, #0] 80a7444: 63fb str r3, [r7, #60] ; 0x3c if(pardata.MSH == LOG) 80a7446: 4b9a ldr r3, [pc, #616] ; (80a76b0 ) 80a7448: 7a9b ldrb r3, [r3, #10] 80a744a: b2db uxtb r3, r3 80a744c: 2b01 cmp r3, #1 80a744e: d114 bne.n 80a747a BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a7450: 2303 movs r3, #3 80a7452: 4a9c ldr r2, [pc, #624] ; (80a76c4 ) 80a7454: 212d movs r1, #45 ; 0x2d 80a7456: 20dc movs r0, #220 ; 0xdc 80a7458: f7ad f9a0 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a745c: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7460: f04f 30ff mov.w r0, #4294967295 80a7464: eeb0 0a67 vmov.f32 s0, s15 80a7468: f7c0 f89a bl 80675a0 80a746c: 4602 mov r2, r0 80a746e: 2302 movs r3, #2 80a7470: 212d movs r1, #45 ; 0x2d 80a7472: 20d9 movs r0, #217 ; 0xd9 80a7474: f7ad f992 bl 805479c 80a7478: e22b b.n 80a78d2 if(Val >= 1000.0f) 80a747a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a747e: ed9f 7a92 vldr s14, [pc, #584] ; 80a76c8 80a7482: eef4 7ac7 vcmpe.f32 s15, s14 80a7486: eef1 fa10 vmrs APSR_nzcv, fpscr 80a748a: f2c0 80a6 blt.w 80a75da Val *= 0.001f; 80a748e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7492: ed9f 7a8e vldr s14, [pc, #568] ; 80a76cc 80a7496: ee67 7a87 vmul.f32 s15, s15, s14 80a749a: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a749e: 4b84 ldr r3, [pc, #528] ; (80a76b0 ) 80a74a0: 785b ldrb r3, [r3, #1] 80a74a2: b2db uxtb r3, r3 80a74a4: 2b00 cmp r3, #0 80a74a6: d12a bne.n 80a74fe if(pardata.IIN != VOLTS) 80a74a8: 4b81 ldr r3, [pc, #516] ; (80a76b0 ) 80a74aa: 799b ldrb r3, [r3, #6] 80a74ac: b2db uxtb r3, r3 80a74ae: 2b02 cmp r3, #2 80a74b0: d012 beq.n 80a74d8 if(pardata.LANG == RUS) 80a74b2: 4b7f ldr r3, [pc, #508] ; (80a76b0 ) 80a74b4: 7b1b ldrb r3, [r3, #12] 80a74b6: b2db uxtb r3, r3 80a74b8: 2b00 cmp r3, #0 80a74ba: d106 bne.n 80a74ca BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a74bc: 2303 movs r3, #3 80a74be: 4a84 ldr r2, [pc, #528] ; (80a76d0 ) 80a74c0: 212d movs r1, #45 ; 0x2d 80a74c2: 20dc movs r0, #220 ; 0xdc 80a74c4: f7ad f96a bl 805479c 80a74c8: e078 b.n 80a75bc else BSP_LCD_DisplayStringAt(220, 45, "km/s^", LEFT_MODE); 80a74ca: 2303 movs r3, #3 80a74cc: 4a81 ldr r2, [pc, #516] ; (80a76d4 ) 80a74ce: 212d movs r1, #45 ; 0x2d 80a74d0: 20dc movs r0, #220 ; 0xdc 80a74d2: f7ad f963 bl 805479c 80a74d6: e071 b.n 80a75bc if(pardata.LANG == RUS) 80a74d8: 4b75 ldr r3, [pc, #468] ; (80a76b0 ) 80a74da: 7b1b ldrb r3, [r3, #12] 80a74dc: b2db uxtb r3, r3 80a74de: 2b00 cmp r3, #0 80a74e0: d106 bne.n 80a74f0 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a74e2: 2303 movs r3, #3 80a74e4: 4a7c ldr r2, [pc, #496] ; (80a76d8 ) 80a74e6: 212d movs r1, #45 ; 0x2d 80a74e8: 20dc movs r0, #220 ; 0xdc 80a74ea: f7ad f957 bl 805479c 80a74ee: e065 b.n 80a75bc else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a74f0: 2303 movs r3, #3 80a74f2: 4a7a ldr r2, [pc, #488] ; (80a76dc ) 80a74f4: 212d movs r1, #45 ; 0x2d 80a74f6: 20dc movs r0, #220 ; 0xdc 80a74f8: f7ad f950 bl 805479c 80a74fc: e05e b.n 80a75bc if(pardata.IPR == VEL) 80a74fe: 4b6c ldr r3, [pc, #432] ; (80a76b0 ) 80a7500: 785b ldrb r3, [r3, #1] 80a7502: b2db uxtb r3, r3 80a7504: 2b01 cmp r3, #1 80a7506: d12a bne.n 80a755e if(pardata.IIN != VOLTS) 80a7508: 4b69 ldr r3, [pc, #420] ; (80a76b0 ) 80a750a: 799b ldrb r3, [r3, #6] 80a750c: b2db uxtb r3, r3 80a750e: 2b02 cmp r3, #2 80a7510: d012 beq.n 80a7538 if(pardata.LANG == RUS) 80a7512: 4b67 ldr r3, [pc, #412] ; (80a76b0 ) 80a7514: 7b1b ldrb r3, [r3, #12] 80a7516: b2db uxtb r3, r3 80a7518: 2b00 cmp r3, #0 80a751a: d106 bne.n 80a752a BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a751c: 2303 movs r3, #3 80a751e: 4a70 ldr r2, [pc, #448] ; (80a76e0 ) 80a7520: 212d movs r1, #45 ; 0x2d 80a7522: 20dc movs r0, #220 ; 0xdc 80a7524: f7ad f93a bl 805479c 80a7528: e048 b.n 80a75bc else BSP_LCD_DisplayStringAt(220, 45, "m/s", LEFT_MODE); 80a752a: 2303 movs r3, #3 80a752c: 4a6d ldr r2, [pc, #436] ; (80a76e4 ) 80a752e: 212d movs r1, #45 ; 0x2d 80a7530: 20dc movs r0, #220 ; 0xdc 80a7532: f7ad f933 bl 805479c 80a7536: e041 b.n 80a75bc if(pardata.LANG == RUS) 80a7538: 4b5d ldr r3, [pc, #372] ; (80a76b0 ) 80a753a: 7b1b ldrb r3, [r3, #12] 80a753c: b2db uxtb r3, r3 80a753e: 2b00 cmp r3, #0 80a7540: d106 bne.n 80a7550 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a7542: 2303 movs r3, #3 80a7544: 4a64 ldr r2, [pc, #400] ; (80a76d8 ) 80a7546: 212d movs r1, #45 ; 0x2d 80a7548: 20dc movs r0, #220 ; 0xdc 80a754a: f7ad f927 bl 805479c 80a754e: e035 b.n 80a75bc else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a7550: 2303 movs r3, #3 80a7552: 4a62 ldr r2, [pc, #392] ; (80a76dc ) 80a7554: 212d movs r1, #45 ; 0x2d 80a7556: 20dc movs r0, #220 ; 0xdc 80a7558: f7ad f920 bl 805479c 80a755c: e02e b.n 80a75bc if(pardata.IPR == DIS) 80a755e: 4b54 ldr r3, [pc, #336] ; (80a76b0 ) 80a7560: 785b ldrb r3, [r3, #1] 80a7562: b2db uxtb r3, r3 80a7564: 2b02 cmp r3, #2 80a7566: d129 bne.n 80a75bc if(pardata.IIN != VOLTS) 80a7568: 4b51 ldr r3, [pc, #324] ; (80a76b0 ) 80a756a: 799b ldrb r3, [r3, #6] 80a756c: b2db uxtb r3, r3 80a756e: 2b02 cmp r3, #2 80a7570: d012 beq.n 80a7598 if(pardata.LANG == RUS) 80a7572: 4b4f ldr r3, [pc, #316] ; (80a76b0 ) 80a7574: 7b1b ldrb r3, [r3, #12] 80a7576: b2db uxtb r3, r3 80a7578: 2b00 cmp r3, #0 80a757a: d106 bne.n 80a758a BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a757c: 2303 movs r3, #3 80a757e: 4a5a ldr r2, [pc, #360] ; (80a76e8 ) 80a7580: 212d movs r1, #45 ; 0x2d 80a7582: 20dc movs r0, #220 ; 0xdc 80a7584: f7ad f90a bl 805479c 80a7588: e018 b.n 80a75bc else BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a758a: 2303 movs r3, #3 80a758c: 4a57 ldr r2, [pc, #348] ; (80a76ec ) 80a758e: 212d movs r1, #45 ; 0x2d 80a7590: 20dc movs r0, #220 ; 0xdc 80a7592: f7ad f903 bl 805479c 80a7596: e011 b.n 80a75bc if(pardata.LANG == RUS) 80a7598: 4b45 ldr r3, [pc, #276] ; (80a76b0 ) 80a759a: 7b1b ldrb r3, [r3, #12] 80a759c: b2db uxtb r3, r3 80a759e: 2b00 cmp r3, #0 80a75a0: d106 bne.n 80a75b0 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a75a2: 2303 movs r3, #3 80a75a4: 4a4c ldr r2, [pc, #304] ; (80a76d8 ) 80a75a6: 212d movs r1, #45 ; 0x2d 80a75a8: 20dc movs r0, #220 ; 0xdc 80a75aa: f7ad f8f7 bl 805479c 80a75ae: e005 b.n 80a75bc else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a75b0: 2303 movs r3, #3 80a75b2: 4a4a ldr r2, [pc, #296] ; (80a76dc ) 80a75b4: 212d movs r1, #45 ; 0x2d 80a75b6: 20dc movs r0, #220 ; 0xdc 80a75b8: f7ad f8f0 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a75bc: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a75c0: f06f 0003 mvn.w r0, #3 80a75c4: eeb0 0a67 vmov.f32 s0, s15 80a75c8: f7bf ffea bl 80675a0 80a75cc: 4602 mov r2, r0 80a75ce: 2302 movs r3, #2 80a75d0: 212d movs r1, #45 ; 0x2d 80a75d2: 20d9 movs r0, #217 ; 0xd9 80a75d4: f7ad f8e2 bl 805479c 80a75d8: e17b b.n 80a78d2 if(Val >= 0.1f) 80a75da: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a75de: ed9f 7a44 vldr s14, [pc, #272] ; 80a76f0 80a75e2: eef4 7ac7 vcmpe.f32 s15, s14 80a75e6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a75ea: f2c0 80cd blt.w 80a7788 if(pardata.IPR == ACC) 80a75ee: 4b30 ldr r3, [pc, #192] ; (80a76b0 ) 80a75f0: 785b ldrb r3, [r3, #1] 80a75f2: b2db uxtb r3, r3 80a75f4: 2b00 cmp r3, #0 80a75f6: d12a bne.n 80a764e if(pardata.IIN != VOLTS) 80a75f8: 4b2d ldr r3, [pc, #180] ; (80a76b0 ) 80a75fa: 799b ldrb r3, [r3, #6] 80a75fc: b2db uxtb r3, r3 80a75fe: 2b02 cmp r3, #2 80a7600: d012 beq.n 80a7628 if(pardata.LANG == RUS) 80a7602: 4b2b ldr r3, [pc, #172] ; (80a76b0 ) 80a7604: 7b1b ldrb r3, [r3, #12] 80a7606: b2db uxtb r3, r3 80a7608: 2b00 cmp r3, #0 80a760a: d106 bne.n 80a761a BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a760c: 2303 movs r3, #3 80a760e: 4a39 ldr r2, [pc, #228] ; (80a76f4 ) 80a7610: 212d movs r1, #45 ; 0x2d 80a7612: 20dc movs r0, #220 ; 0xdc 80a7614: f7ad f8c2 bl 805479c 80a7618: e0a7 b.n 80a776a else BSP_LCD_DisplayStringAt(220, 45, "m/s^", LEFT_MODE); 80a761a: 2303 movs r3, #3 80a761c: 4a36 ldr r2, [pc, #216] ; (80a76f8 ) 80a761e: 212d movs r1, #45 ; 0x2d 80a7620: 20dc movs r0, #220 ; 0xdc 80a7622: f7ad f8bb bl 805479c 80a7626: e0a0 b.n 80a776a if(pardata.LANG == RUS) 80a7628: 4b21 ldr r3, [pc, #132] ; (80a76b0 ) 80a762a: 7b1b ldrb r3, [r3, #12] 80a762c: b2db uxtb r3, r3 80a762e: 2b00 cmp r3, #0 80a7630: d106 bne.n 80a7640 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a7632: 2303 movs r3, #3 80a7634: 4a31 ldr r2, [pc, #196] ; (80a76fc ) 80a7636: 212d movs r1, #45 ; 0x2d 80a7638: 20dc movs r0, #220 ; 0xdc 80a763a: f7ad f8af bl 805479c 80a763e: e094 b.n 80a776a else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a7640: 2303 movs r3, #3 80a7642: 4a2f ldr r2, [pc, #188] ; (80a7700 ) 80a7644: 212d movs r1, #45 ; 0x2d 80a7646: 20dc movs r0, #220 ; 0xdc 80a7648: f7ad f8a8 bl 805479c 80a764c: e08d b.n 80a776a else if(pardata.IPR == VEL) 80a764e: 4b18 ldr r3, [pc, #96] ; (80a76b0 ) 80a7650: 785b ldrb r3, [r3, #1] 80a7652: b2db uxtb r3, r3 80a7654: 2b01 cmp r3, #1 80a7656: d159 bne.n 80a770c if(pardata.IIN != VOLTS) 80a7658: 4b15 ldr r3, [pc, #84] ; (80a76b0 ) 80a765a: 799b ldrb r3, [r3, #6] 80a765c: b2db uxtb r3, r3 80a765e: 2b02 cmp r3, #2 80a7660: d012 beq.n 80a7688 if(pardata.LANG == RUS) 80a7662: 4b13 ldr r3, [pc, #76] ; (80a76b0 ) 80a7664: 7b1b ldrb r3, [r3, #12] 80a7666: b2db uxtb r3, r3 80a7668: 2b00 cmp r3, #0 80a766a: d106 bne.n 80a767a BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a766c: 2303 movs r3, #3 80a766e: 4a25 ldr r2, [pc, #148] ; (80a7704 ) 80a7670: 212d movs r1, #45 ; 0x2d 80a7672: 20dc movs r0, #220 ; 0xdc 80a7674: f7ad f892 bl 805479c 80a7678: e077 b.n 80a776a else BSP_LCD_DisplayStringAt(220, 45, "mm/s", LEFT_MODE); 80a767a: 2303 movs r3, #3 80a767c: 4a22 ldr r2, [pc, #136] ; (80a7708 ) 80a767e: 212d movs r1, #45 ; 0x2d 80a7680: 20dc movs r0, #220 ; 0xdc 80a7682: f7ad f88b bl 805479c 80a7686: e070 b.n 80a776a if(pardata.LANG == RUS) 80a7688: 4b09 ldr r3, [pc, #36] ; (80a76b0 ) 80a768a: 7b1b ldrb r3, [r3, #12] 80a768c: b2db uxtb r3, r3 80a768e: 2b00 cmp r3, #0 80a7690: d106 bne.n 80a76a0 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a7692: 2303 movs r3, #3 80a7694: 4a19 ldr r2, [pc, #100] ; (80a76fc ) 80a7696: 212d movs r1, #45 ; 0x2d 80a7698: 20dc movs r0, #220 ; 0xdc 80a769a: f7ad f87f bl 805479c 80a769e: e064 b.n 80a776a else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a76a0: 2303 movs r3, #3 80a76a2: 4a17 ldr r2, [pc, #92] ; (80a7700 ) 80a76a4: 212d movs r1, #45 ; 0x2d 80a76a6: 20dc movs r0, #220 ; 0xdc 80a76a8: f7ad f878 bl 805479c 80a76ac: e05d b.n 80a776a 80a76ae: bf00 nop 80a76b0: 20023ea8 .word 0x20023ea8 80a76b4: 2002006c .word 0x2002006c 80a76b8: 64080000 .word 0x64080000 80a76bc: 200215b4 .word 0x200215b4 80a76c0: ff26a01f .word 0xff26a01f 80a76c4: 080d4df8 .word 0x080d4df8 80a76c8: 447a0000 .word 0x447a0000 80a76cc: 3a83126f .word 0x3a83126f 80a76d0: 080d4db0 .word 0x080d4db0 80a76d4: 080d4d10 .word 0x080d4d10 80a76d8: 080d4e0c .word 0x080d4e0c 80a76dc: 080d2a10 .word 0x080d2a10 80a76e0: 080d4e10 .word 0x080d4e10 80a76e4: 080d4d1c .word 0x080d4d1c 80a76e8: 080d4e14 .word 0x080d4e14 80a76ec: 080d4d24 .word 0x080d4d24 80a76f0: 3dcccccd .word 0x3dcccccd 80a76f4: 080d4dc0 .word 0x080d4dc0 80a76f8: 080d4d30 .word 0x080d4d30 80a76fc: 080d4e18 .word 0x080d4e18 80a7700: 080d4e1c .word 0x080d4e1c 80a7704: 080d4e20 .word 0x080d4e20 80a7708: 080d4d40 .word 0x080d4d40 else if(pardata.IPR == DIS) 80a770c: 4bbc ldr r3, [pc, #752] ; (80a7a00 ) 80a770e: 785b ldrb r3, [r3, #1] 80a7710: b2db uxtb r3, r3 80a7712: 2b02 cmp r3, #2 80a7714: d129 bne.n 80a776a if(pardata.IIN != VOLTS) 80a7716: 4bba ldr r3, [pc, #744] ; (80a7a00 ) 80a7718: 799b ldrb r3, [r3, #6] 80a771a: b2db uxtb r3, r3 80a771c: 2b02 cmp r3, #2 80a771e: d012 beq.n 80a7746 if(pardata.LANG == RUS) 80a7720: 4bb7 ldr r3, [pc, #732] ; (80a7a00 ) 80a7722: 7b1b ldrb r3, [r3, #12] 80a7724: b2db uxtb r3, r3 80a7726: 2b00 cmp r3, #0 80a7728: d106 bne.n 80a7738 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a772a: 2303 movs r3, #3 80a772c: 4ab5 ldr r2, [pc, #724] ; (80a7a04 ) 80a772e: 212d movs r1, #45 ; 0x2d 80a7730: 20dc movs r0, #220 ; 0xdc 80a7732: f7ad f833 bl 805479c 80a7736: e018 b.n 80a776a else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a7738: 2303 movs r3, #3 80a773a: 4ab3 ldr r2, [pc, #716] ; (80a7a08 ) 80a773c: 212d movs r1, #45 ; 0x2d 80a773e: 20dc movs r0, #220 ; 0xdc 80a7740: f7ad f82c bl 805479c 80a7744: e011 b.n 80a776a if(pardata.LANG == RUS) 80a7746: 4bae ldr r3, [pc, #696] ; (80a7a00 ) 80a7748: 7b1b ldrb r3, [r3, #12] 80a774a: b2db uxtb r3, r3 80a774c: 2b00 cmp r3, #0 80a774e: d106 bne.n 80a775e BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a7750: 2303 movs r3, #3 80a7752: 4aae ldr r2, [pc, #696] ; (80a7a0c ) 80a7754: 212d movs r1, #45 ; 0x2d 80a7756: 20dc movs r0, #220 ; 0xdc 80a7758: f7ad f820 bl 805479c 80a775c: e005 b.n 80a776a else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a775e: 2303 movs r3, #3 80a7760: 4aab ldr r2, [pc, #684] ; (80a7a10 ) 80a7762: 212d movs r1, #45 ; 0x2d 80a7764: 20dc movs r0, #220 ; 0xdc 80a7766: f7ad f819 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a776a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a776e: f06f 0002 mvn.w r0, #2 80a7772: eeb0 0a67 vmov.f32 s0, s15 80a7776: f7bf ff13 bl 80675a0 80a777a: 4602 mov r2, r0 80a777c: 2302 movs r3, #2 80a777e: 212d movs r1, #45 ; 0x2d 80a7780: 20d9 movs r0, #217 ; 0xd9 80a7782: f7ad f80b bl 805479c 80a7786: e0a4 b.n 80a78d2 Val *= 1000.0f; 80a7788: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a778c: ed9f 7aa1 vldr s14, [pc, #644] ; 80a7a14 80a7790: ee67 7a87 vmul.f32 s15, s15, s14 80a7794: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a7798: 4b99 ldr r3, [pc, #612] ; (80a7a00 ) 80a779a: 785b ldrb r3, [r3, #1] 80a779c: b2db uxtb r3, r3 80a779e: 2b00 cmp r3, #0 80a77a0: d12a bne.n 80a77f8 if(pardata.IIN != VOLTS) 80a77a2: 4b97 ldr r3, [pc, #604] ; (80a7a00 ) 80a77a4: 799b ldrb r3, [r3, #6] 80a77a6: b2db uxtb r3, r3 80a77a8: 2b02 cmp r3, #2 80a77aa: d012 beq.n 80a77d2 if(pardata.LANG == RUS) 80a77ac: 4b94 ldr r3, [pc, #592] ; (80a7a00 ) 80a77ae: 7b1b ldrb r3, [r3, #12] 80a77b0: b2db uxtb r3, r3 80a77b2: 2b00 cmp r3, #0 80a77b4: d106 bne.n 80a77c4 BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a77b6: 2303 movs r3, #3 80a77b8: 4a97 ldr r2, [pc, #604] ; (80a7a18 ) 80a77ba: 212d movs r1, #45 ; 0x2d 80a77bc: 20dc movs r0, #220 ; 0xdc 80a77be: f7ac ffed bl 805479c 80a77c2: e078 b.n 80a78b6 else BSP_LCD_DisplayStringAt(220, 45, "mm/s^", LEFT_MODE); 80a77c4: 2303 movs r3, #3 80a77c6: 4a95 ldr r2, [pc, #596] ; (80a7a1c ) 80a77c8: 212d movs r1, #45 ; 0x2d 80a77ca: 20dc movs r0, #220 ; 0xdc 80a77cc: f7ac ffe6 bl 805479c 80a77d0: e071 b.n 80a78b6 if(pardata.LANG == RUS) 80a77d2: 4b8b ldr r3, [pc, #556] ; (80a7a00 ) 80a77d4: 7b1b ldrb r3, [r3, #12] 80a77d6: b2db uxtb r3, r3 80a77d8: 2b00 cmp r3, #0 80a77da: d106 bne.n 80a77ea BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a77dc: 2303 movs r3, #3 80a77de: 4a90 ldr r2, [pc, #576] ; (80a7a20 ) 80a77e0: 212d movs r1, #45 ; 0x2d 80a77e2: 20dc movs r0, #220 ; 0xdc 80a77e4: f7ac ffda bl 805479c 80a77e8: e065 b.n 80a78b6 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a77ea: 2303 movs r3, #3 80a77ec: 4a8d ldr r2, [pc, #564] ; (80a7a24 ) 80a77ee: 212d movs r1, #45 ; 0x2d 80a77f0: 20dc movs r0, #220 ; 0xdc 80a77f2: f7ac ffd3 bl 805479c 80a77f6: e05e b.n 80a78b6 else if(pardata.IPR == VEL) 80a77f8: 4b81 ldr r3, [pc, #516] ; (80a7a00 ) 80a77fa: 785b ldrb r3, [r3, #1] 80a77fc: b2db uxtb r3, r3 80a77fe: 2b01 cmp r3, #1 80a7800: d12a bne.n 80a7858 if(pardata.IIN != VOLTS) 80a7802: 4b7f ldr r3, [pc, #508] ; (80a7a00 ) 80a7804: 799b ldrb r3, [r3, #6] 80a7806: b2db uxtb r3, r3 80a7808: 2b02 cmp r3, #2 80a780a: d012 beq.n 80a7832 if(pardata.LANG == RUS) 80a780c: 4b7c ldr r3, [pc, #496] ; (80a7a00 ) 80a780e: 7b1b ldrb r3, [r3, #12] 80a7810: b2db uxtb r3, r3 80a7812: 2b00 cmp r3, #0 80a7814: d106 bne.n 80a7824 BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a7816: 2303 movs r3, #3 80a7818: 4a83 ldr r2, [pc, #524] ; (80a7a28 ) 80a781a: 212d movs r1, #45 ; 0x2d 80a781c: 20dc movs r0, #220 ; 0xdc 80a781e: f7ac ffbd bl 805479c 80a7822: e048 b.n 80a78b6 else BSP_LCD_DisplayStringAt(220, 45, "mkm/s", LEFT_MODE); 80a7824: 2303 movs r3, #3 80a7826: 4a81 ldr r2, [pc, #516] ; (80a7a2c ) 80a7828: 212d movs r1, #45 ; 0x2d 80a782a: 20dc movs r0, #220 ; 0xdc 80a782c: f7ac ffb6 bl 805479c 80a7830: e041 b.n 80a78b6 if(pardata.LANG == RUS) 80a7832: 4b73 ldr r3, [pc, #460] ; (80a7a00 ) 80a7834: 7b1b ldrb r3, [r3, #12] 80a7836: b2db uxtb r3, r3 80a7838: 2b00 cmp r3, #0 80a783a: d106 bne.n 80a784a BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a783c: 2303 movs r3, #3 80a783e: 4a78 ldr r2, [pc, #480] ; (80a7a20 ) 80a7840: 212d movs r1, #45 ; 0x2d 80a7842: 20dc movs r0, #220 ; 0xdc 80a7844: f7ac ffaa bl 805479c 80a7848: e035 b.n 80a78b6 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a784a: 2303 movs r3, #3 80a784c: 4a75 ldr r2, [pc, #468] ; (80a7a24 ) 80a784e: 212d movs r1, #45 ; 0x2d 80a7850: 20dc movs r0, #220 ; 0xdc 80a7852: f7ac ffa3 bl 805479c 80a7856: e02e b.n 80a78b6 else if(pardata.IPR == DIS) 80a7858: 4b69 ldr r3, [pc, #420] ; (80a7a00 ) 80a785a: 785b ldrb r3, [r3, #1] 80a785c: b2db uxtb r3, r3 80a785e: 2b02 cmp r3, #2 80a7860: d129 bne.n 80a78b6 if(pardata.IIN != VOLTS) 80a7862: 4b67 ldr r3, [pc, #412] ; (80a7a00 ) 80a7864: 799b ldrb r3, [r3, #6] 80a7866: b2db uxtb r3, r3 80a7868: 2b02 cmp r3, #2 80a786a: d012 beq.n 80a7892 if(pardata.LANG == RUS) 80a786c: 4b64 ldr r3, [pc, #400] ; (80a7a00 ) 80a786e: 7b1b ldrb r3, [r3, #12] 80a7870: b2db uxtb r3, r3 80a7872: 2b00 cmp r3, #0 80a7874: d106 bne.n 80a7884 BSP_LCD_DisplayStringAt(220, 45, "#&", LEFT_MODE); 80a7876: 2303 movs r3, #3 80a7878: 4a6d ldr r2, [pc, #436] ; (80a7a30 ) 80a787a: 212d movs r1, #45 ; 0x2d 80a787c: 20dc movs r0, #220 ; 0xdc 80a787e: f7ac ff8d bl 805479c 80a7882: e018 b.n 80a78b6 else BSP_LCD_DisplayStringAt(220, 45, "nm", LEFT_MODE); 80a7884: 2303 movs r3, #3 80a7886: 4a6b ldr r2, [pc, #428] ; (80a7a34 ) 80a7888: 212d movs r1, #45 ; 0x2d 80a788a: 20dc movs r0, #220 ; 0xdc 80a788c: f7ac ff86 bl 805479c 80a7890: e011 b.n 80a78b6 if(pardata.LANG == RUS) 80a7892: 4b5b ldr r3, [pc, #364] ; (80a7a00 ) 80a7894: 7b1b ldrb r3, [r3, #12] 80a7896: b2db uxtb r3, r3 80a7898: 2b00 cmp r3, #0 80a789a: d106 bne.n 80a78aa BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a789c: 2303 movs r3, #3 80a789e: 4a60 ldr r2, [pc, #384] ; (80a7a20 ) 80a78a0: 212d movs r1, #45 ; 0x2d 80a78a2: 20dc movs r0, #220 ; 0xdc 80a78a4: f7ac ff7a bl 805479c 80a78a8: e005 b.n 80a78b6 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a78aa: 2303 movs r3, #3 80a78ac: 4a5d ldr r2, [pc, #372] ; (80a7a24 ) 80a78ae: 212d movs r1, #45 ; 0x2d 80a78b0: 20dc movs r0, #220 ; 0xdc 80a78b2: f7ac ff73 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a78b6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a78ba: f06f 0003 mvn.w r0, #3 80a78be: eeb0 0a67 vmov.f32 s0, s15 80a78c2: f7bf fe6d bl 80675a0 80a78c6: 4602 mov r2, r0 80a78c8: 2302 movs r3, #2 80a78ca: 212d movs r1, #45 ; 0x2d 80a78cc: 20d9 movs r0, #217 ; 0xd9 80a78ce: f7ac ff65 bl 805479c LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a78d2: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a78d6: 4858 ldr r0, [pc, #352] ; (80a7a38 ) 80a78d8: f7ac fe9a bl 8054610 tmpF = OCTAVES[CURSOR]; 80a78dc: 4b57 ldr r3, [pc, #348] ; (80a7a3c ) 80a78de: 681b ldr r3, [r3, #0] 80a78e0: 4a57 ldr r2, [pc, #348] ; (80a7a40 ) 80a78e2: 009b lsls r3, r3, #2 80a78e4: 4413 add r3, r2 80a78e6: 681b ldr r3, [r3, #0] 80a78e8: 657b str r3, [r7, #84] ; 0x54 if(tmpF >= 1000.0f) 80a78ea: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a78ee: ed9f 7a49 vldr s14, [pc, #292] ; 80a7a14 80a78f2: eef4 7ac7 vcmpe.f32 s15, s14 80a78f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a78fa: db2a blt.n 80a7952 tmpF *= 0.001f; 80a78fc: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7900: ed9f 7a50 vldr s14, [pc, #320] ; 80a7a44 80a7904: ee67 7a87 vmul.f32 s15, s15, s14 80a7908: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a790c: 4b3c ldr r3, [pc, #240] ; (80a7a00 ) 80a790e: 7b1b ldrb r3, [r3, #12] 80a7910: b2db uxtb r3, r3 80a7912: 2b00 cmp r3, #0 80a7914: d107 bne.n 80a7926 BSP_LCD_DisplayStringAt(302, 45, "k$%", LEFT_MODE); 80a7916: 2303 movs r3, #3 80a7918: 4a4b ldr r2, [pc, #300] ; (80a7a48 ) 80a791a: 212d movs r1, #45 ; 0x2d 80a791c: f44f 7097 mov.w r0, #302 ; 0x12e 80a7920: f7ac ff3c bl 805479c 80a7924: e006 b.n 80a7934 else BSP_LCD_DisplayStringAt(302, 45, "kHz", LEFT_MODE); 80a7926: 2303 movs r3, #3 80a7928: 4a48 ldr r2, [pc, #288] ; (80a7a4c ) 80a792a: 212d movs r1, #45 ; 0x2d 80a792c: f44f 7097 mov.w r0, #302 ; 0x12e 80a7930: f7ac ff34 bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a7934: f06f 0003 mvn.w r0, #3 80a7938: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a793c: f7bf fe30 bl 80675a0 80a7940: 4602 mov r2, r0 80a7942: 2302 movs r3, #2 80a7944: 212d movs r1, #45 ; 0x2d 80a7946: f240 102b movw r0, #299 ; 0x12b 80a794a: f7ac ff27 bl 805479c } 80a794e: f001 bf51 b.w 80a97f4 if(tmpF >= 0.1f) 80a7952: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7956: ed9f 7a3e vldr s14, [pc, #248] ; 80a7a50 80a795a: eef4 7ac7 vcmpe.f32 s15, s14 80a795e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a7962: db22 blt.n 80a79aa if(pardata.LANG == RUS) 80a7964: 4b26 ldr r3, [pc, #152] ; (80a7a00 ) 80a7966: 7b1b ldrb r3, [r3, #12] 80a7968: b2db uxtb r3, r3 80a796a: 2b00 cmp r3, #0 80a796c: d107 bne.n 80a797e BSP_LCD_DisplayStringAt(302, 45, "$%", LEFT_MODE); 80a796e: 2303 movs r3, #3 80a7970: 4a38 ldr r2, [pc, #224] ; (80a7a54 ) 80a7972: 212d movs r1, #45 ; 0x2d 80a7974: f44f 7097 mov.w r0, #302 ; 0x12e 80a7978: f7ac ff10 bl 805479c 80a797c: e006 b.n 80a798c else BSP_LCD_DisplayStringAt(302, 45, "Hz", LEFT_MODE); 80a797e: 2303 movs r3, #3 80a7980: 4a35 ldr r2, [pc, #212] ; (80a7a58 ) 80a7982: 212d movs r1, #45 ; 0x2d 80a7984: f44f 7097 mov.w r0, #302 ; 0x12e 80a7988: f7ac ff08 bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a798c: f06f 0002 mvn.w r0, #2 80a7990: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a7994: f7bf fe04 bl 80675a0 80a7998: 4602 mov r2, r0 80a799a: 2302 movs r3, #2 80a799c: 212d movs r1, #45 ; 0x2d 80a799e: f240 102b movw r0, #299 ; 0x12b 80a79a2: f7ac fefb bl 805479c } 80a79a6: f001 bf25 b.w 80a97f4 tmpF *= 1000.0f; 80a79aa: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a79ae: ed9f 7a19 vldr s14, [pc, #100] ; 80a7a14 80a79b2: ee67 7a87 vmul.f32 s15, s15, s14 80a79b6: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a79ba: 4b11 ldr r3, [pc, #68] ; (80a7a00 ) 80a79bc: 7b1b ldrb r3, [r3, #12] 80a79be: b2db uxtb r3, r3 80a79c0: 2b00 cmp r3, #0 80a79c2: d107 bne.n 80a79d4 BSP_LCD_DisplayStringAt(302, 45, "&$%", LEFT_MODE); 80a79c4: 2303 movs r3, #3 80a79c6: 4a25 ldr r2, [pc, #148] ; (80a7a5c ) 80a79c8: 212d movs r1, #45 ; 0x2d 80a79ca: f44f 7097 mov.w r0, #302 ; 0x12e 80a79ce: f7ac fee5 bl 805479c 80a79d2: e006 b.n 80a79e2 else BSP_LCD_DisplayStringAt(302, 45, "mHz", LEFT_MODE); 80a79d4: 2303 movs r3, #3 80a79d6: 4a22 ldr r2, [pc, #136] ; (80a7a60 ) 80a79d8: 212d movs r1, #45 ; 0x2d 80a79da: f44f 7097 mov.w r0, #302 ; 0x12e 80a79de: f7ac fedd bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a79e2: f06f 0001 mvn.w r0, #1 80a79e6: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a79ea: f7bf fdd9 bl 80675a0 80a79ee: 4602 mov r2, r0 80a79f0: 2302 movs r3, #2 80a79f2: 212d movs r1, #45 ; 0x2d 80a79f4: f240 102b movw r0, #299 ; 0x12b 80a79f8: f7ac fed0 bl 805479c } 80a79fc: f001 befa b.w 80a97f4 80a7a00: 20023ea8 .word 0x20023ea8 80a7a04: 080d4e28 .word 0x080d4e28 80a7a08: 080d4d4c .word 0x080d4d4c 80a7a0c: 080d4e18 .word 0x080d4e18 80a7a10: 080d4e1c .word 0x080d4e1c 80a7a14: 447a0000 .word 0x447a0000 80a7a18: 080d4dd0 .word 0x080d4dd0 80a7a1c: 080d4d58 .word 0x080d4d58 80a7a20: 080d4e2c .word 0x080d4e2c 80a7a24: 080d4d7c .word 0x080d4d7c 80a7a28: 080d4e30 .word 0x080d4e30 80a7a2c: 080d4d68 .word 0x080d4d68 80a7a30: 080d4e38 .word 0x080d4e38 80a7a34: 080d4d74 .word 0x080d4d74 80a7a38: ff808080 .word 0xff808080 80a7a3c: 2002006c .word 0x2002006c 80a7a40: 080f3b0c .word 0x080f3b0c 80a7a44: 3a83126f .word 0x3a83126f 80a7a48: 080d4e3c .word 0x080d4e3c 80a7a4c: 080d4e40 .word 0x080d4e40 80a7a50: 3dcccccd .word 0x3dcccccd 80a7a54: 080d4dfc .word 0x080d4dfc 80a7a58: 080d4e00 .word 0x080d4e00 80a7a5c: 080d4e44 .word 0x080d4e44 80a7a60: 080d4e48 .word 0x080d4e48 if(pardata.SYG == SPEC_THIRD) 80a7a64: 4bb0 ldr r3, [pc, #704] ; (80a7d28 ) 80a7a66: 781b ldrb r3, [r3, #0] 80a7a68: b2db uxtb r3, r3 80a7a6a: 2b07 cmp r3, #7 80a7a6c: f040 8336 bne.w 80a80dc CurVal = ScrA_f32(CURSOR); 80a7a70: 4bae ldr r3, [pc, #696] ; (80a7d2c ) 80a7a72: 681b ldr r3, [r3, #0] 80a7a74: 009a lsls r2, r3, #2 80a7a76: 4bae ldr r3, [pc, #696] ; (80a7d30 ) 80a7a78: 4413 add r3, r2 80a7a7a: 681b ldr r3, [r3, #0] 80a7a7c: 4aad ldr r2, [pc, #692] ; (80a7d34 ) 80a7a7e: 6013 str r3, [r2, #0] if(pardata.MSH == LOG) 80a7a80: 4ba9 ldr r3, [pc, #676] ; (80a7d28 ) 80a7a82: 7a9b ldrb r3, [r3, #10] 80a7a84: b2db uxtb r3, r3 80a7a86: 2b01 cmp r3, #1 80a7a88: d111 bne.n 80a7aae if(pardata.IIN != VOLTS) 80a7a8a: 4ba7 ldr r3, [pc, #668] ; (80a7d28 ) 80a7a8c: 799b ldrb r3, [r3, #6] 80a7a8e: b2db uxtb r3, r3 80a7a90: 2b02 cmp r3, #2 80a7a92: d004 beq.n 80a7a9e LinToLog(&CurVal, &CurVal); 80a7a94: 49a7 ldr r1, [pc, #668] ; (80a7d34 ) 80a7a96: 48a7 ldr r0, [pc, #668] ; (80a7d34 ) 80a7a98: f7be f956 bl 8065d48 80a7a9c: e007 b.n 80a7aae else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a7a9e: 4ba2 ldr r3, [pc, #648] ; (80a7d28 ) 80a7aa0: 785b ldrb r3, [r3, #1] 80a7aa2: b2db uxtb r3, r3 80a7aa4: 461a mov r2, r3 80a7aa6: 49a3 ldr r1, [pc, #652] ; (80a7d34 ) 80a7aa8: 48a2 ldr r0, [pc, #648] ; (80a7d34 ) 80a7aaa: f7be f97d bl 8065da8 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a7aae: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a7ab2: 48a1 ldr r0, [pc, #644] ; (80a7d38 ) 80a7ab4: f7ac fdac bl 8054610 Val = CurVal; 80a7ab8: 4b9e ldr r3, [pc, #632] ; (80a7d34 ) 80a7aba: 681b ldr r3, [r3, #0] 80a7abc: 63fb str r3, [r7, #60] ; 0x3c if(pardata.MSH == LOG) 80a7abe: 4b9a ldr r3, [pc, #616] ; (80a7d28 ) 80a7ac0: 7a9b ldrb r3, [r3, #10] 80a7ac2: b2db uxtb r3, r3 80a7ac4: 2b01 cmp r3, #1 80a7ac6: d114 bne.n 80a7af2 BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a7ac8: 2303 movs r3, #3 80a7aca: 4a9c ldr r2, [pc, #624] ; (80a7d3c ) 80a7acc: 212d movs r1, #45 ; 0x2d 80a7ace: 20dc movs r0, #220 ; 0xdc 80a7ad0: f7ac fe64 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a7ad4: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7ad8: f04f 30ff mov.w r0, #4294967295 80a7adc: eeb0 0a67 vmov.f32 s0, s15 80a7ae0: f7bf fd5e bl 80675a0 80a7ae4: 4602 mov r2, r0 80a7ae6: 2302 movs r3, #2 80a7ae8: 212d movs r1, #45 ; 0x2d 80a7aea: 20d9 movs r0, #217 ; 0xd9 80a7aec: f7ac fe56 bl 805479c 80a7af0: e22b b.n 80a7f4a if(Val >= 1000.0f) 80a7af2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7af6: ed9f 7a92 vldr s14, [pc, #584] ; 80a7d40 80a7afa: eef4 7ac7 vcmpe.f32 s15, s14 80a7afe: eef1 fa10 vmrs APSR_nzcv, fpscr 80a7b02: f2c0 80a6 blt.w 80a7c52 Val *= 0.001f; 80a7b06: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7b0a: ed9f 7a8e vldr s14, [pc, #568] ; 80a7d44 80a7b0e: ee67 7a87 vmul.f32 s15, s15, s14 80a7b12: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a7b16: 4b84 ldr r3, [pc, #528] ; (80a7d28 ) 80a7b18: 785b ldrb r3, [r3, #1] 80a7b1a: b2db uxtb r3, r3 80a7b1c: 2b00 cmp r3, #0 80a7b1e: d12a bne.n 80a7b76 if(pardata.IIN != VOLTS) 80a7b20: 4b81 ldr r3, [pc, #516] ; (80a7d28 ) 80a7b22: 799b ldrb r3, [r3, #6] 80a7b24: b2db uxtb r3, r3 80a7b26: 2b02 cmp r3, #2 80a7b28: d012 beq.n 80a7b50 if(pardata.LANG == RUS) 80a7b2a: 4b7f ldr r3, [pc, #508] ; (80a7d28 ) 80a7b2c: 7b1b ldrb r3, [r3, #12] 80a7b2e: b2db uxtb r3, r3 80a7b30: 2b00 cmp r3, #0 80a7b32: d106 bne.n 80a7b42 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a7b34: 2303 movs r3, #3 80a7b36: 4a84 ldr r2, [pc, #528] ; (80a7d48 ) 80a7b38: 212d movs r1, #45 ; 0x2d 80a7b3a: 20dc movs r0, #220 ; 0xdc 80a7b3c: f7ac fe2e bl 805479c 80a7b40: e078 b.n 80a7c34 else BSP_LCD_DisplayStringAt(220, 45, "km/s^", LEFT_MODE); 80a7b42: 2303 movs r3, #3 80a7b44: 4a81 ldr r2, [pc, #516] ; (80a7d4c ) 80a7b46: 212d movs r1, #45 ; 0x2d 80a7b48: 20dc movs r0, #220 ; 0xdc 80a7b4a: f7ac fe27 bl 805479c 80a7b4e: e071 b.n 80a7c34 if(pardata.LANG == RUS) 80a7b50: 4b75 ldr r3, [pc, #468] ; (80a7d28 ) 80a7b52: 7b1b ldrb r3, [r3, #12] 80a7b54: b2db uxtb r3, r3 80a7b56: 2b00 cmp r3, #0 80a7b58: d106 bne.n 80a7b68 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a7b5a: 2303 movs r3, #3 80a7b5c: 4a7c ldr r2, [pc, #496] ; (80a7d50 ) 80a7b5e: 212d movs r1, #45 ; 0x2d 80a7b60: 20dc movs r0, #220 ; 0xdc 80a7b62: f7ac fe1b bl 805479c 80a7b66: e065 b.n 80a7c34 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a7b68: 2303 movs r3, #3 80a7b6a: 4a7a ldr r2, [pc, #488] ; (80a7d54 ) 80a7b6c: 212d movs r1, #45 ; 0x2d 80a7b6e: 20dc movs r0, #220 ; 0xdc 80a7b70: f7ac fe14 bl 805479c 80a7b74: e05e b.n 80a7c34 if(pardata.IPR == VEL) 80a7b76: 4b6c ldr r3, [pc, #432] ; (80a7d28 ) 80a7b78: 785b ldrb r3, [r3, #1] 80a7b7a: b2db uxtb r3, r3 80a7b7c: 2b01 cmp r3, #1 80a7b7e: d12a bne.n 80a7bd6 if(pardata.IIN != VOLTS) 80a7b80: 4b69 ldr r3, [pc, #420] ; (80a7d28 ) 80a7b82: 799b ldrb r3, [r3, #6] 80a7b84: b2db uxtb r3, r3 80a7b86: 2b02 cmp r3, #2 80a7b88: d012 beq.n 80a7bb0 if(pardata.LANG == RUS) 80a7b8a: 4b67 ldr r3, [pc, #412] ; (80a7d28 ) 80a7b8c: 7b1b ldrb r3, [r3, #12] 80a7b8e: b2db uxtb r3, r3 80a7b90: 2b00 cmp r3, #0 80a7b92: d106 bne.n 80a7ba2 BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a7b94: 2303 movs r3, #3 80a7b96: 4a70 ldr r2, [pc, #448] ; (80a7d58 ) 80a7b98: 212d movs r1, #45 ; 0x2d 80a7b9a: 20dc movs r0, #220 ; 0xdc 80a7b9c: f7ac fdfe bl 805479c 80a7ba0: e048 b.n 80a7c34 else BSP_LCD_DisplayStringAt(220, 45, "m/s", LEFT_MODE); 80a7ba2: 2303 movs r3, #3 80a7ba4: 4a6d ldr r2, [pc, #436] ; (80a7d5c ) 80a7ba6: 212d movs r1, #45 ; 0x2d 80a7ba8: 20dc movs r0, #220 ; 0xdc 80a7baa: f7ac fdf7 bl 805479c 80a7bae: e041 b.n 80a7c34 if(pardata.LANG == RUS) 80a7bb0: 4b5d ldr r3, [pc, #372] ; (80a7d28 ) 80a7bb2: 7b1b ldrb r3, [r3, #12] 80a7bb4: b2db uxtb r3, r3 80a7bb6: 2b00 cmp r3, #0 80a7bb8: d106 bne.n 80a7bc8 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a7bba: 2303 movs r3, #3 80a7bbc: 4a64 ldr r2, [pc, #400] ; (80a7d50 ) 80a7bbe: 212d movs r1, #45 ; 0x2d 80a7bc0: 20dc movs r0, #220 ; 0xdc 80a7bc2: f7ac fdeb bl 805479c 80a7bc6: e035 b.n 80a7c34 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a7bc8: 2303 movs r3, #3 80a7bca: 4a62 ldr r2, [pc, #392] ; (80a7d54 ) 80a7bcc: 212d movs r1, #45 ; 0x2d 80a7bce: 20dc movs r0, #220 ; 0xdc 80a7bd0: f7ac fde4 bl 805479c 80a7bd4: e02e b.n 80a7c34 if(pardata.IPR == DIS) 80a7bd6: 4b54 ldr r3, [pc, #336] ; (80a7d28 ) 80a7bd8: 785b ldrb r3, [r3, #1] 80a7bda: b2db uxtb r3, r3 80a7bdc: 2b02 cmp r3, #2 80a7bde: d129 bne.n 80a7c34 if(pardata.IIN != VOLTS) 80a7be0: 4b51 ldr r3, [pc, #324] ; (80a7d28 ) 80a7be2: 799b ldrb r3, [r3, #6] 80a7be4: b2db uxtb r3, r3 80a7be6: 2b02 cmp r3, #2 80a7be8: d012 beq.n 80a7c10 if(pardata.LANG == RUS) 80a7bea: 4b4f ldr r3, [pc, #316] ; (80a7d28 ) 80a7bec: 7b1b ldrb r3, [r3, #12] 80a7bee: b2db uxtb r3, r3 80a7bf0: 2b00 cmp r3, #0 80a7bf2: d106 bne.n 80a7c02 BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a7bf4: 2303 movs r3, #3 80a7bf6: 4a5a ldr r2, [pc, #360] ; (80a7d60 ) 80a7bf8: 212d movs r1, #45 ; 0x2d 80a7bfa: 20dc movs r0, #220 ; 0xdc 80a7bfc: f7ac fdce bl 805479c 80a7c00: e018 b.n 80a7c34 else BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a7c02: 2303 movs r3, #3 80a7c04: 4a57 ldr r2, [pc, #348] ; (80a7d64 ) 80a7c06: 212d movs r1, #45 ; 0x2d 80a7c08: 20dc movs r0, #220 ; 0xdc 80a7c0a: f7ac fdc7 bl 805479c 80a7c0e: e011 b.n 80a7c34 if(pardata.LANG == RUS) 80a7c10: 4b45 ldr r3, [pc, #276] ; (80a7d28 ) 80a7c12: 7b1b ldrb r3, [r3, #12] 80a7c14: b2db uxtb r3, r3 80a7c16: 2b00 cmp r3, #0 80a7c18: d106 bne.n 80a7c28 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a7c1a: 2303 movs r3, #3 80a7c1c: 4a4c ldr r2, [pc, #304] ; (80a7d50 ) 80a7c1e: 212d movs r1, #45 ; 0x2d 80a7c20: 20dc movs r0, #220 ; 0xdc 80a7c22: f7ac fdbb bl 805479c 80a7c26: e005 b.n 80a7c34 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a7c28: 2303 movs r3, #3 80a7c2a: 4a4a ldr r2, [pc, #296] ; (80a7d54 ) 80a7c2c: 212d movs r1, #45 ; 0x2d 80a7c2e: 20dc movs r0, #220 ; 0xdc 80a7c30: f7ac fdb4 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a7c34: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7c38: f06f 0003 mvn.w r0, #3 80a7c3c: eeb0 0a67 vmov.f32 s0, s15 80a7c40: f7bf fcae bl 80675a0 80a7c44: 4602 mov r2, r0 80a7c46: 2302 movs r3, #2 80a7c48: 212d movs r1, #45 ; 0x2d 80a7c4a: 20d9 movs r0, #217 ; 0xd9 80a7c4c: f7ac fda6 bl 805479c 80a7c50: e17b b.n 80a7f4a if(Val >= 0.1f) 80a7c52: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7c56: ed9f 7a44 vldr s14, [pc, #272] ; 80a7d68 80a7c5a: eef4 7ac7 vcmpe.f32 s15, s14 80a7c5e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a7c62: f2c0 80cd blt.w 80a7e00 if(pardata.IPR == ACC) 80a7c66: 4b30 ldr r3, [pc, #192] ; (80a7d28 ) 80a7c68: 785b ldrb r3, [r3, #1] 80a7c6a: b2db uxtb r3, r3 80a7c6c: 2b00 cmp r3, #0 80a7c6e: d12a bne.n 80a7cc6 if(pardata.IIN != VOLTS) 80a7c70: 4b2d ldr r3, [pc, #180] ; (80a7d28 ) 80a7c72: 799b ldrb r3, [r3, #6] 80a7c74: b2db uxtb r3, r3 80a7c76: 2b02 cmp r3, #2 80a7c78: d012 beq.n 80a7ca0 if(pardata.LANG == RUS) 80a7c7a: 4b2b ldr r3, [pc, #172] ; (80a7d28 ) 80a7c7c: 7b1b ldrb r3, [r3, #12] 80a7c7e: b2db uxtb r3, r3 80a7c80: 2b00 cmp r3, #0 80a7c82: d106 bne.n 80a7c92 BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a7c84: 2303 movs r3, #3 80a7c86: 4a39 ldr r2, [pc, #228] ; (80a7d6c ) 80a7c88: 212d movs r1, #45 ; 0x2d 80a7c8a: 20dc movs r0, #220 ; 0xdc 80a7c8c: f7ac fd86 bl 805479c 80a7c90: e0a7 b.n 80a7de2 else BSP_LCD_DisplayStringAt(220, 45, "m/s^", LEFT_MODE); 80a7c92: 2303 movs r3, #3 80a7c94: 4a36 ldr r2, [pc, #216] ; (80a7d70 ) 80a7c96: 212d movs r1, #45 ; 0x2d 80a7c98: 20dc movs r0, #220 ; 0xdc 80a7c9a: f7ac fd7f bl 805479c 80a7c9e: e0a0 b.n 80a7de2 if(pardata.LANG == RUS) 80a7ca0: 4b21 ldr r3, [pc, #132] ; (80a7d28 ) 80a7ca2: 7b1b ldrb r3, [r3, #12] 80a7ca4: b2db uxtb r3, r3 80a7ca6: 2b00 cmp r3, #0 80a7ca8: d106 bne.n 80a7cb8 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a7caa: 2303 movs r3, #3 80a7cac: 4a31 ldr r2, [pc, #196] ; (80a7d74 ) 80a7cae: 212d movs r1, #45 ; 0x2d 80a7cb0: 20dc movs r0, #220 ; 0xdc 80a7cb2: f7ac fd73 bl 805479c 80a7cb6: e094 b.n 80a7de2 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a7cb8: 2303 movs r3, #3 80a7cba: 4a2f ldr r2, [pc, #188] ; (80a7d78 ) 80a7cbc: 212d movs r1, #45 ; 0x2d 80a7cbe: 20dc movs r0, #220 ; 0xdc 80a7cc0: f7ac fd6c bl 805479c 80a7cc4: e08d b.n 80a7de2 else if(pardata.IPR == VEL) 80a7cc6: 4b18 ldr r3, [pc, #96] ; (80a7d28 ) 80a7cc8: 785b ldrb r3, [r3, #1] 80a7cca: b2db uxtb r3, r3 80a7ccc: 2b01 cmp r3, #1 80a7cce: d159 bne.n 80a7d84 if(pardata.IIN != VOLTS) 80a7cd0: 4b15 ldr r3, [pc, #84] ; (80a7d28 ) 80a7cd2: 799b ldrb r3, [r3, #6] 80a7cd4: b2db uxtb r3, r3 80a7cd6: 2b02 cmp r3, #2 80a7cd8: d012 beq.n 80a7d00 if(pardata.LANG == RUS) 80a7cda: 4b13 ldr r3, [pc, #76] ; (80a7d28 ) 80a7cdc: 7b1b ldrb r3, [r3, #12] 80a7cde: b2db uxtb r3, r3 80a7ce0: 2b00 cmp r3, #0 80a7ce2: d106 bne.n 80a7cf2 BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a7ce4: 2303 movs r3, #3 80a7ce6: 4a25 ldr r2, [pc, #148] ; (80a7d7c ) 80a7ce8: 212d movs r1, #45 ; 0x2d 80a7cea: 20dc movs r0, #220 ; 0xdc 80a7cec: f7ac fd56 bl 805479c 80a7cf0: e077 b.n 80a7de2 else BSP_LCD_DisplayStringAt(220, 45, "mm/s", LEFT_MODE); 80a7cf2: 2303 movs r3, #3 80a7cf4: 4a22 ldr r2, [pc, #136] ; (80a7d80 ) 80a7cf6: 212d movs r1, #45 ; 0x2d 80a7cf8: 20dc movs r0, #220 ; 0xdc 80a7cfa: f7ac fd4f bl 805479c 80a7cfe: e070 b.n 80a7de2 if(pardata.LANG == RUS) 80a7d00: 4b09 ldr r3, [pc, #36] ; (80a7d28 ) 80a7d02: 7b1b ldrb r3, [r3, #12] 80a7d04: b2db uxtb r3, r3 80a7d06: 2b00 cmp r3, #0 80a7d08: d106 bne.n 80a7d18 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a7d0a: 2303 movs r3, #3 80a7d0c: 4a19 ldr r2, [pc, #100] ; (80a7d74 ) 80a7d0e: 212d movs r1, #45 ; 0x2d 80a7d10: 20dc movs r0, #220 ; 0xdc 80a7d12: f7ac fd43 bl 805479c 80a7d16: e064 b.n 80a7de2 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a7d18: 2303 movs r3, #3 80a7d1a: 4a17 ldr r2, [pc, #92] ; (80a7d78 ) 80a7d1c: 212d movs r1, #45 ; 0x2d 80a7d1e: 20dc movs r0, #220 ; 0xdc 80a7d20: f7ac fd3c bl 805479c 80a7d24: e05d b.n 80a7de2 80a7d26: bf00 nop 80a7d28: 20023ea8 .word 0x20023ea8 80a7d2c: 2002006c .word 0x2002006c 80a7d30: 64080000 .word 0x64080000 80a7d34: 200215b4 .word 0x200215b4 80a7d38: ff26a01f .word 0xff26a01f 80a7d3c: 080d4df8 .word 0x080d4df8 80a7d40: 447a0000 .word 0x447a0000 80a7d44: 3a83126f .word 0x3a83126f 80a7d48: 080d4db0 .word 0x080d4db0 80a7d4c: 080d4d10 .word 0x080d4d10 80a7d50: 080d4e0c .word 0x080d4e0c 80a7d54: 080d2a10 .word 0x080d2a10 80a7d58: 080d4e10 .word 0x080d4e10 80a7d5c: 080d4d1c .word 0x080d4d1c 80a7d60: 080d4e14 .word 0x080d4e14 80a7d64: 080d4d24 .word 0x080d4d24 80a7d68: 3dcccccd .word 0x3dcccccd 80a7d6c: 080d4dc0 .word 0x080d4dc0 80a7d70: 080d4d30 .word 0x080d4d30 80a7d74: 080d4e18 .word 0x080d4e18 80a7d78: 080d4e1c .word 0x080d4e1c 80a7d7c: 080d4e20 .word 0x080d4e20 80a7d80: 080d4d40 .word 0x080d4d40 else if(pardata.IPR == DIS) 80a7d84: 4bbc ldr r3, [pc, #752] ; (80a8078 ) 80a7d86: 785b ldrb r3, [r3, #1] 80a7d88: b2db uxtb r3, r3 80a7d8a: 2b02 cmp r3, #2 80a7d8c: d129 bne.n 80a7de2 if(pardata.IIN != VOLTS) 80a7d8e: 4bba ldr r3, [pc, #744] ; (80a8078 ) 80a7d90: 799b ldrb r3, [r3, #6] 80a7d92: b2db uxtb r3, r3 80a7d94: 2b02 cmp r3, #2 80a7d96: d012 beq.n 80a7dbe if(pardata.LANG == RUS) 80a7d98: 4bb7 ldr r3, [pc, #732] ; (80a8078 ) 80a7d9a: 7b1b ldrb r3, [r3, #12] 80a7d9c: b2db uxtb r3, r3 80a7d9e: 2b00 cmp r3, #0 80a7da0: d106 bne.n 80a7db0 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a7da2: 2303 movs r3, #3 80a7da4: 4ab5 ldr r2, [pc, #724] ; (80a807c ) 80a7da6: 212d movs r1, #45 ; 0x2d 80a7da8: 20dc movs r0, #220 ; 0xdc 80a7daa: f7ac fcf7 bl 805479c 80a7dae: e018 b.n 80a7de2 else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a7db0: 2303 movs r3, #3 80a7db2: 4ab3 ldr r2, [pc, #716] ; (80a8080 ) 80a7db4: 212d movs r1, #45 ; 0x2d 80a7db6: 20dc movs r0, #220 ; 0xdc 80a7db8: f7ac fcf0 bl 805479c 80a7dbc: e011 b.n 80a7de2 if(pardata.LANG == RUS) 80a7dbe: 4bae ldr r3, [pc, #696] ; (80a8078 ) 80a7dc0: 7b1b ldrb r3, [r3, #12] 80a7dc2: b2db uxtb r3, r3 80a7dc4: 2b00 cmp r3, #0 80a7dc6: d106 bne.n 80a7dd6 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a7dc8: 2303 movs r3, #3 80a7dca: 4aae ldr r2, [pc, #696] ; (80a8084 ) 80a7dcc: 212d movs r1, #45 ; 0x2d 80a7dce: 20dc movs r0, #220 ; 0xdc 80a7dd0: f7ac fce4 bl 805479c 80a7dd4: e005 b.n 80a7de2 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a7dd6: 2303 movs r3, #3 80a7dd8: 4aab ldr r2, [pc, #684] ; (80a8088 ) 80a7dda: 212d movs r1, #45 ; 0x2d 80a7ddc: 20dc movs r0, #220 ; 0xdc 80a7dde: f7ac fcdd bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a7de2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7de6: f06f 0002 mvn.w r0, #2 80a7dea: eeb0 0a67 vmov.f32 s0, s15 80a7dee: f7bf fbd7 bl 80675a0 80a7df2: 4602 mov r2, r0 80a7df4: 2302 movs r3, #2 80a7df6: 212d movs r1, #45 ; 0x2d 80a7df8: 20d9 movs r0, #217 ; 0xd9 80a7dfa: f7ac fccf bl 805479c 80a7dfe: e0a4 b.n 80a7f4a Val *= 1000.0f; 80a7e00: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7e04: ed9f 7aa1 vldr s14, [pc, #644] ; 80a808c 80a7e08: ee67 7a87 vmul.f32 s15, s15, s14 80a7e0c: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IPR == ACC) 80a7e10: 4b99 ldr r3, [pc, #612] ; (80a8078 ) 80a7e12: 785b ldrb r3, [r3, #1] 80a7e14: b2db uxtb r3, r3 80a7e16: 2b00 cmp r3, #0 80a7e18: d12a bne.n 80a7e70 if(pardata.IIN != VOLTS) 80a7e1a: 4b97 ldr r3, [pc, #604] ; (80a8078 ) 80a7e1c: 799b ldrb r3, [r3, #6] 80a7e1e: b2db uxtb r3, r3 80a7e20: 2b02 cmp r3, #2 80a7e22: d012 beq.n 80a7e4a if(pardata.LANG == RUS) 80a7e24: 4b94 ldr r3, [pc, #592] ; (80a8078 ) 80a7e26: 7b1b ldrb r3, [r3, #12] 80a7e28: b2db uxtb r3, r3 80a7e2a: 2b00 cmp r3, #0 80a7e2c: d106 bne.n 80a7e3c BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a7e2e: 2303 movs r3, #3 80a7e30: 4a97 ldr r2, [pc, #604] ; (80a8090 ) 80a7e32: 212d movs r1, #45 ; 0x2d 80a7e34: 20dc movs r0, #220 ; 0xdc 80a7e36: f7ac fcb1 bl 805479c 80a7e3a: e078 b.n 80a7f2e else BSP_LCD_DisplayStringAt(220, 45, "mm/s^", LEFT_MODE); 80a7e3c: 2303 movs r3, #3 80a7e3e: 4a95 ldr r2, [pc, #596] ; (80a8094 ) 80a7e40: 212d movs r1, #45 ; 0x2d 80a7e42: 20dc movs r0, #220 ; 0xdc 80a7e44: f7ac fcaa bl 805479c 80a7e48: e071 b.n 80a7f2e if(pardata.LANG == RUS) 80a7e4a: 4b8b ldr r3, [pc, #556] ; (80a8078 ) 80a7e4c: 7b1b ldrb r3, [r3, #12] 80a7e4e: b2db uxtb r3, r3 80a7e50: 2b00 cmp r3, #0 80a7e52: d106 bne.n 80a7e62 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a7e54: 2303 movs r3, #3 80a7e56: 4a90 ldr r2, [pc, #576] ; (80a8098 ) 80a7e58: 212d movs r1, #45 ; 0x2d 80a7e5a: 20dc movs r0, #220 ; 0xdc 80a7e5c: f7ac fc9e bl 805479c 80a7e60: e065 b.n 80a7f2e else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a7e62: 2303 movs r3, #3 80a7e64: 4a8d ldr r2, [pc, #564] ; (80a809c ) 80a7e66: 212d movs r1, #45 ; 0x2d 80a7e68: 20dc movs r0, #220 ; 0xdc 80a7e6a: f7ac fc97 bl 805479c 80a7e6e: e05e b.n 80a7f2e else if(pardata.IPR == VEL) 80a7e70: 4b81 ldr r3, [pc, #516] ; (80a8078 ) 80a7e72: 785b ldrb r3, [r3, #1] 80a7e74: b2db uxtb r3, r3 80a7e76: 2b01 cmp r3, #1 80a7e78: d12a bne.n 80a7ed0 if(pardata.IIN != VOLTS) 80a7e7a: 4b7f ldr r3, [pc, #508] ; (80a8078 ) 80a7e7c: 799b ldrb r3, [r3, #6] 80a7e7e: b2db uxtb r3, r3 80a7e80: 2b02 cmp r3, #2 80a7e82: d012 beq.n 80a7eaa if(pardata.LANG == RUS) 80a7e84: 4b7c ldr r3, [pc, #496] ; (80a8078 ) 80a7e86: 7b1b ldrb r3, [r3, #12] 80a7e88: b2db uxtb r3, r3 80a7e8a: 2b00 cmp r3, #0 80a7e8c: d106 bne.n 80a7e9c BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a7e8e: 2303 movs r3, #3 80a7e90: 4a83 ldr r2, [pc, #524] ; (80a80a0 ) 80a7e92: 212d movs r1, #45 ; 0x2d 80a7e94: 20dc movs r0, #220 ; 0xdc 80a7e96: f7ac fc81 bl 805479c 80a7e9a: e048 b.n 80a7f2e else BSP_LCD_DisplayStringAt(220, 45, "mkm/s", LEFT_MODE); 80a7e9c: 2303 movs r3, #3 80a7e9e: 4a81 ldr r2, [pc, #516] ; (80a80a4 ) 80a7ea0: 212d movs r1, #45 ; 0x2d 80a7ea2: 20dc movs r0, #220 ; 0xdc 80a7ea4: f7ac fc7a bl 805479c 80a7ea8: e041 b.n 80a7f2e if(pardata.LANG == RUS) 80a7eaa: 4b73 ldr r3, [pc, #460] ; (80a8078 ) 80a7eac: 7b1b ldrb r3, [r3, #12] 80a7eae: b2db uxtb r3, r3 80a7eb0: 2b00 cmp r3, #0 80a7eb2: d106 bne.n 80a7ec2 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a7eb4: 2303 movs r3, #3 80a7eb6: 4a78 ldr r2, [pc, #480] ; (80a8098 ) 80a7eb8: 212d movs r1, #45 ; 0x2d 80a7eba: 20dc movs r0, #220 ; 0xdc 80a7ebc: f7ac fc6e bl 805479c 80a7ec0: e035 b.n 80a7f2e else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a7ec2: 2303 movs r3, #3 80a7ec4: 4a75 ldr r2, [pc, #468] ; (80a809c ) 80a7ec6: 212d movs r1, #45 ; 0x2d 80a7ec8: 20dc movs r0, #220 ; 0xdc 80a7eca: f7ac fc67 bl 805479c 80a7ece: e02e b.n 80a7f2e else if(pardata.IPR == DIS) 80a7ed0: 4b69 ldr r3, [pc, #420] ; (80a8078 ) 80a7ed2: 785b ldrb r3, [r3, #1] 80a7ed4: b2db uxtb r3, r3 80a7ed6: 2b02 cmp r3, #2 80a7ed8: d129 bne.n 80a7f2e if(pardata.IIN != VOLTS) 80a7eda: 4b67 ldr r3, [pc, #412] ; (80a8078 ) 80a7edc: 799b ldrb r3, [r3, #6] 80a7ede: b2db uxtb r3, r3 80a7ee0: 2b02 cmp r3, #2 80a7ee2: d012 beq.n 80a7f0a if(pardata.LANG == RUS) 80a7ee4: 4b64 ldr r3, [pc, #400] ; (80a8078 ) 80a7ee6: 7b1b ldrb r3, [r3, #12] 80a7ee8: b2db uxtb r3, r3 80a7eea: 2b00 cmp r3, #0 80a7eec: d106 bne.n 80a7efc BSP_LCD_DisplayStringAt(220, 45, "#&", LEFT_MODE); 80a7eee: 2303 movs r3, #3 80a7ef0: 4a6d ldr r2, [pc, #436] ; (80a80a8 ) 80a7ef2: 212d movs r1, #45 ; 0x2d 80a7ef4: 20dc movs r0, #220 ; 0xdc 80a7ef6: f7ac fc51 bl 805479c 80a7efa: e018 b.n 80a7f2e else BSP_LCD_DisplayStringAt(220, 45, "nm", LEFT_MODE); 80a7efc: 2303 movs r3, #3 80a7efe: 4a6b ldr r2, [pc, #428] ; (80a80ac ) 80a7f00: 212d movs r1, #45 ; 0x2d 80a7f02: 20dc movs r0, #220 ; 0xdc 80a7f04: f7ac fc4a bl 805479c 80a7f08: e011 b.n 80a7f2e if(pardata.LANG == RUS) 80a7f0a: 4b5b ldr r3, [pc, #364] ; (80a8078 ) 80a7f0c: 7b1b ldrb r3, [r3, #12] 80a7f0e: b2db uxtb r3, r3 80a7f10: 2b00 cmp r3, #0 80a7f12: d106 bne.n 80a7f22 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a7f14: 2303 movs r3, #3 80a7f16: 4a60 ldr r2, [pc, #384] ; (80a8098 ) 80a7f18: 212d movs r1, #45 ; 0x2d 80a7f1a: 20dc movs r0, #220 ; 0xdc 80a7f1c: f7ac fc3e bl 805479c 80a7f20: e005 b.n 80a7f2e else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a7f22: 2303 movs r3, #3 80a7f24: 4a5d ldr r2, [pc, #372] ; (80a809c ) 80a7f26: 212d movs r1, #45 ; 0x2d 80a7f28: 20dc movs r0, #220 ; 0xdc 80a7f2a: f7ac fc37 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a7f2e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a7f32: f06f 0003 mvn.w r0, #3 80a7f36: eeb0 0a67 vmov.f32 s0, s15 80a7f3a: f7bf fb31 bl 80675a0 80a7f3e: 4602 mov r2, r0 80a7f40: 2302 movs r3, #2 80a7f42: 212d movs r1, #45 ; 0x2d 80a7f44: 20d9 movs r0, #217 ; 0xd9 80a7f46: f7ac fc29 bl 805479c LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a7f4a: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a7f4e: 4858 ldr r0, [pc, #352] ; (80a80b0 ) 80a7f50: f7ac fb5e bl 8054610 tmpF = THIRD[CURSOR]; 80a7f54: 4b57 ldr r3, [pc, #348] ; (80a80b4 ) 80a7f56: 681b ldr r3, [r3, #0] 80a7f58: 4a57 ldr r2, [pc, #348] ; (80a80b8 ) 80a7f5a: 009b lsls r3, r3, #2 80a7f5c: 4413 add r3, r2 80a7f5e: 681b ldr r3, [r3, #0] 80a7f60: 657b str r3, [r7, #84] ; 0x54 if(tmpF >= 1000.0f) 80a7f62: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7f66: ed9f 7a49 vldr s14, [pc, #292] ; 80a808c 80a7f6a: eef4 7ac7 vcmpe.f32 s15, s14 80a7f6e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a7f72: db2a blt.n 80a7fca tmpF *= 0.001f; 80a7f74: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7f78: ed9f 7a50 vldr s14, [pc, #320] ; 80a80bc 80a7f7c: ee67 7a87 vmul.f32 s15, s15, s14 80a7f80: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a7f84: 4b3c ldr r3, [pc, #240] ; (80a8078 ) 80a7f86: 7b1b ldrb r3, [r3, #12] 80a7f88: b2db uxtb r3, r3 80a7f8a: 2b00 cmp r3, #0 80a7f8c: d107 bne.n 80a7f9e BSP_LCD_DisplayStringAt(302, 45, "k$%", LEFT_MODE); 80a7f8e: 2303 movs r3, #3 80a7f90: 4a4b ldr r2, [pc, #300] ; (80a80c0 ) 80a7f92: 212d movs r1, #45 ; 0x2d 80a7f94: f44f 7097 mov.w r0, #302 ; 0x12e 80a7f98: f7ac fc00 bl 805479c 80a7f9c: e006 b.n 80a7fac else BSP_LCD_DisplayStringAt(302, 45, "kHz", LEFT_MODE); 80a7f9e: 2303 movs r3, #3 80a7fa0: 4a48 ldr r2, [pc, #288] ; (80a80c4 ) 80a7fa2: 212d movs r1, #45 ; 0x2d 80a7fa4: f44f 7097 mov.w r0, #302 ; 0x12e 80a7fa8: f7ac fbf8 bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a7fac: f06f 0003 mvn.w r0, #3 80a7fb0: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a7fb4: f7bf faf4 bl 80675a0 80a7fb8: 4602 mov r2, r0 80a7fba: 2302 movs r3, #2 80a7fbc: 212d movs r1, #45 ; 0x2d 80a7fbe: f240 102b movw r0, #299 ; 0x12b 80a7fc2: f7ac fbeb bl 805479c } 80a7fc6: f001 bc15 b.w 80a97f4 if(tmpF >= 0.1f) 80a7fca: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a7fce: ed9f 7a3e vldr s14, [pc, #248] ; 80a80c8 80a7fd2: eef4 7ac7 vcmpe.f32 s15, s14 80a7fd6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a7fda: db22 blt.n 80a8022 if(pardata.LANG == RUS) 80a7fdc: 4b26 ldr r3, [pc, #152] ; (80a8078 ) 80a7fde: 7b1b ldrb r3, [r3, #12] 80a7fe0: b2db uxtb r3, r3 80a7fe2: 2b00 cmp r3, #0 80a7fe4: d107 bne.n 80a7ff6 BSP_LCD_DisplayStringAt(302, 45, "$%", LEFT_MODE); 80a7fe6: 2303 movs r3, #3 80a7fe8: 4a38 ldr r2, [pc, #224] ; (80a80cc ) 80a7fea: 212d movs r1, #45 ; 0x2d 80a7fec: f44f 7097 mov.w r0, #302 ; 0x12e 80a7ff0: f7ac fbd4 bl 805479c 80a7ff4: e006 b.n 80a8004 else BSP_LCD_DisplayStringAt(302, 45, "Hz", LEFT_MODE); 80a7ff6: 2303 movs r3, #3 80a7ff8: 4a35 ldr r2, [pc, #212] ; (80a80d0 ) 80a7ffa: 212d movs r1, #45 ; 0x2d 80a7ffc: f44f 7097 mov.w r0, #302 ; 0x12e 80a8000: f7ac fbcc bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a8004: f06f 0002 mvn.w r0, #2 80a8008: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a800c: f7bf fac8 bl 80675a0 80a8010: 4602 mov r2, r0 80a8012: 2302 movs r3, #2 80a8014: 212d movs r1, #45 ; 0x2d 80a8016: f240 102b movw r0, #299 ; 0x12b 80a801a: f7ac fbbf bl 805479c } 80a801e: f001 bbe9 b.w 80a97f4 tmpF *= 1000.0f; 80a8022: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a8026: ed9f 7a19 vldr s14, [pc, #100] ; 80a808c 80a802a: ee67 7a87 vmul.f32 s15, s15, s14 80a802e: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a8032: 4b11 ldr r3, [pc, #68] ; (80a8078 ) 80a8034: 7b1b ldrb r3, [r3, #12] 80a8036: b2db uxtb r3, r3 80a8038: 2b00 cmp r3, #0 80a803a: d107 bne.n 80a804c BSP_LCD_DisplayStringAt(302, 45, "&$%", LEFT_MODE); 80a803c: 2303 movs r3, #3 80a803e: 4a25 ldr r2, [pc, #148] ; (80a80d4 ) 80a8040: 212d movs r1, #45 ; 0x2d 80a8042: f44f 7097 mov.w r0, #302 ; 0x12e 80a8046: f7ac fba9 bl 805479c 80a804a: e006 b.n 80a805a else BSP_LCD_DisplayStringAt(302, 45, "mHz", LEFT_MODE); 80a804c: 2303 movs r3, #3 80a804e: 4a22 ldr r2, [pc, #136] ; (80a80d8 ) 80a8050: 212d movs r1, #45 ; 0x2d 80a8052: f44f 7097 mov.w r0, #302 ; 0x12e 80a8056: f7ac fba1 bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a805a: f06f 0001 mvn.w r0, #1 80a805e: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a8062: f7bf fa9d bl 80675a0 80a8066: 4602 mov r2, r0 80a8068: 2302 movs r3, #2 80a806a: 212d movs r1, #45 ; 0x2d 80a806c: f240 102b movw r0, #299 ; 0x12b 80a8070: f7ac fb94 bl 805479c } 80a8074: f001 bbbe b.w 80a97f4 80a8078: 20023ea8 .word 0x20023ea8 80a807c: 080d4e28 .word 0x080d4e28 80a8080: 080d4d4c .word 0x080d4d4c 80a8084: 080d4e18 .word 0x080d4e18 80a8088: 080d4e1c .word 0x080d4e1c 80a808c: 447a0000 .word 0x447a0000 80a8090: 080d4dd0 .word 0x080d4dd0 80a8094: 080d4d58 .word 0x080d4d58 80a8098: 080d4e2c .word 0x080d4e2c 80a809c: 080d4d7c .word 0x080d4d7c 80a80a0: 080d4e30 .word 0x080d4e30 80a80a4: 080d4d68 .word 0x080d4d68 80a80a8: 080d4e38 .word 0x080d4e38 80a80ac: 080d4d74 .word 0x080d4d74 80a80b0: ff808080 .word 0xff808080 80a80b4: 2002006c .word 0x2002006c 80a80b8: 080f3b48 .word 0x080f3b48 80a80bc: 3a83126f .word 0x3a83126f 80a80c0: 080d4e3c .word 0x080d4e3c 80a80c4: 080d4e40 .word 0x080d4e40 80a80c8: 3dcccccd .word 0x3dcccccd 80a80cc: 080d4dfc .word 0x080d4dfc 80a80d0: 080d4e00 .word 0x080d4e00 80a80d4: 080d4e44 .word 0x080d4e44 80a80d8: 080d4e48 .word 0x080d4e48 arm_max_f32(&ScrA_f32(Mpos), avgOSC[ViewLevel][pardata.LNE], &maxf, &n2); 80a80dc: 4bb4 ldr r3, [pc, #720] ; (80a83b0 ) 80a80de: 881b ldrh r3, [r3, #0] 80a80e0: b29b uxth r3, r3 80a80e2: 009b lsls r3, r3, #2 80a80e4: 461a mov r2, r3 80a80e6: 4bb3 ldr r3, [pc, #716] ; (80a83b4 ) 80a80e8: 4413 add r3, r2 80a80ea: 461c mov r4, r3 80a80ec: 4bb2 ldr r3, [pc, #712] ; (80a83b8 ) 80a80ee: 781b ldrb r3, [r3, #0] 80a80f0: b2db uxtb r3, r3 80a80f2: 4619 mov r1, r3 80a80f4: 4bb1 ldr r3, [pc, #708] ; (80a83bc ) 80a80f6: 79db ldrb r3, [r3, #7] 80a80f8: b2db uxtb r3, r3 80a80fa: 4618 mov r0, r3 80a80fc: 4ab0 ldr r2, [pc, #704] ; (80a83c0 ) 80a80fe: 460b mov r3, r1 80a8100: 009b lsls r3, r3, #2 80a8102: 440b add r3, r1 80a8104: 4413 add r3, r2 80a8106: 4403 add r3, r0 80a8108: 781b ldrb r3, [r3, #0] 80a810a: 4619 mov r1, r3 80a810c: f107 0348 add.w r3, r7, #72 ; 0x48 80a8110: f107 0240 add.w r2, r7, #64 ; 0x40 80a8114: 4620 mov r0, r4 80a8116: f026 f97d bl 80ce414 arm_min_f32(&ScrA_f32(Mpos), avgOSC[ViewLevel][pardata.LNE], &minf, &n1); 80a811a: 4ba5 ldr r3, [pc, #660] ; (80a83b0 ) 80a811c: 881b ldrh r3, [r3, #0] 80a811e: b29b uxth r3, r3 80a8120: 009b lsls r3, r3, #2 80a8122: 461a mov r2, r3 80a8124: 4ba3 ldr r3, [pc, #652] ; (80a83b4 ) 80a8126: 4413 add r3, r2 80a8128: 461c mov r4, r3 80a812a: 4ba3 ldr r3, [pc, #652] ; (80a83b8 ) 80a812c: 781b ldrb r3, [r3, #0] 80a812e: b2db uxtb r3, r3 80a8130: 4619 mov r1, r3 80a8132: 4ba2 ldr r3, [pc, #648] ; (80a83bc ) 80a8134: 79db ldrb r3, [r3, #7] 80a8136: b2db uxtb r3, r3 80a8138: 4618 mov r0, r3 80a813a: 4aa1 ldr r2, [pc, #644] ; (80a83c0 ) 80a813c: 460b mov r3, r1 80a813e: 009b lsls r3, r3, #2 80a8140: 440b add r3, r1 80a8142: 4413 add r3, r2 80a8144: 4403 add r3, r0 80a8146: 781b ldrb r3, [r3, #0] 80a8148: 4619 mov r1, r3 80a814a: f107 034c add.w r3, r7, #76 ; 0x4c 80a814e: f107 0244 add.w r2, r7, #68 ; 0x44 80a8152: 4620 mov r0, r4 80a8154: f026 f8c2 bl 80ce2dc if((maxf > 0) && (minf < 0)) 80a8158: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a815c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8160: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8164: dd33 ble.n 80a81ce 80a8166: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a816a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a816e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8172: d52c bpl.n 80a81ce if(ABS(maxf) < ABS(minf)) 80a8174: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8178: eef5 7ac0 vcmpe.f32 s15, #0.0 80a817c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8180: dd02 ble.n 80a8188 80a8182: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a8186: e003 b.n 80a8190 80a8188: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a818c: eeb1 7a67 vneg.f32 s14, s15 80a8190: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8194: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8198: eef1 fa10 vmrs APSR_nzcv, fpscr 80a819c: dd02 ble.n 80a81a4 80a819e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a81a2: e003 b.n 80a81ac 80a81a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a81a8: eef1 7a67 vneg.f32 s15, s15 80a81ac: eeb4 7ae7 vcmpe.f32 s14, s15 80a81b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a81b4: d505 bpl.n 80a81c2 CurVal = minf; 80a81b6: 6c7b ldr r3, [r7, #68] ; 0x44 80a81b8: 4a82 ldr r2, [pc, #520] ; (80a83c4 ) 80a81ba: 6013 str r3, [r2, #0] l = n1; 80a81bc: 6cfb ldr r3, [r7, #76] ; 0x4c 80a81be: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a81c0: e054 b.n 80a826c CurVal = maxf; 80a81c2: 6c3b ldr r3, [r7, #64] ; 0x40 80a81c4: 4a7f ldr r2, [pc, #508] ; (80a83c4 ) 80a81c6: 6013 str r3, [r2, #0] l = n2; 80a81c8: 6cbb ldr r3, [r7, #72] ; 0x48 80a81ca: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a81cc: e04e b.n 80a826c if((maxf > 0) && (minf > 0)) 80a81ce: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a81d2: eef5 7ac0 vcmpe.f32 s15, #0.0 80a81d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a81da: dd0c ble.n 80a81f6 80a81dc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a81e0: eef5 7ac0 vcmpe.f32 s15, #0.0 80a81e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a81e8: dd05 ble.n 80a81f6 CurVal = maxf; 80a81ea: 6c3b ldr r3, [r7, #64] ; 0x40 80a81ec: 4a75 ldr r2, [pc, #468] ; (80a83c4 ) 80a81ee: 6013 str r3, [r2, #0] l = n2; 80a81f0: 6cbb ldr r3, [r7, #72] ; 0x48 80a81f2: 653b str r3, [r7, #80] ; 0x50 80a81f4: e03a b.n 80a826c if((maxf < 0) && (minf < 0)) 80a81f6: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a81fa: eef5 7ac0 vcmpe.f32 s15, #0.0 80a81fe: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8202: d50c bpl.n 80a821e 80a8204: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8208: eef5 7ac0 vcmpe.f32 s15, #0.0 80a820c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8210: d505 bpl.n 80a821e CurVal = minf; 80a8212: 6c7b ldr r3, [r7, #68] ; 0x44 80a8214: 4a6b ldr r2, [pc, #428] ; (80a83c4 ) 80a8216: 6013 str r3, [r2, #0] l = n1; 80a8218: 6cfb ldr r3, [r7, #76] ; 0x4c 80a821a: 653b str r3, [r7, #80] ; 0x50 80a821c: e026 b.n 80a826c if((maxf >= 0) && (minf == 0)) 80a821e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8222: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8226: eef1 fa10 vmrs APSR_nzcv, fpscr 80a822a: db0c blt.n 80a8246 80a822c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8230: eef5 7a40 vcmp.f32 s15, #0.0 80a8234: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8238: d105 bne.n 80a8246 CurVal = maxf; 80a823a: 6c3b ldr r3, [r7, #64] ; 0x40 80a823c: 4a61 ldr r2, [pc, #388] ; (80a83c4 ) 80a823e: 6013 str r3, [r2, #0] l = n2; 80a8240: 6cbb ldr r3, [r7, #72] ; 0x48 80a8242: 653b str r3, [r7, #80] ; 0x50 80a8244: e012 b.n 80a826c if((maxf == 0) && (minf <= 0)) 80a8246: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a824a: eef5 7a40 vcmp.f32 s15, #0.0 80a824e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8252: d10b bne.n 80a826c 80a8254: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8258: eef5 7ac0 vcmpe.f32 s15, #0.0 80a825c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8260: d804 bhi.n 80a826c CurVal = minf; 80a8262: 6c7b ldr r3, [r7, #68] ; 0x44 80a8264: 4a57 ldr r2, [pc, #348] ; (80a83c4 ) 80a8266: 6013 str r3, [r2, #0] l = n1; 80a8268: 6cfb ldr r3, [r7, #76] ; 0x4c 80a826a: 653b str r3, [r7, #80] ; 0x50 fineMpos = Mpos + l; 80a826c: 6d3b ldr r3, [r7, #80] ; 0x50 80a826e: b29a uxth r2, r3 80a8270: 4b4f ldr r3, [pc, #316] ; (80a83b0 ) 80a8272: 881b ldrh r3, [r3, #0] 80a8274: b29b uxth r3, r3 80a8276: 4413 add r3, r2 80a8278: b29a uxth r2, r3 80a827a: 4b53 ldr r3, [pc, #332] ; (80a83c8 ) 80a827c: 801a strh r2, [r3, #0] Val = CurVal; 80a827e: 4b51 ldr r3, [pc, #324] ; (80a83c4 ) 80a8280: 681b ldr r3, [r3, #0] 80a8282: 63fb str r3, [r7, #60] ; 0x3c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a8284: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a8288: 4850 ldr r0, [pc, #320] ; (80a83cc ) 80a828a: f7ac f9c1 bl 8054610 if(ABS(Val) >= 1000.0f) 80a828e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8292: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8296: eef1 fa10 vmrs APSR_nzcv, fpscr 80a829a: dd0c ble.n 80a82b6 80a829c: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a82a0: ed9f 7a4b vldr s14, [pc, #300] ; 80a83d0 80a82a4: eef4 7ac7 vcmpe.f32 s15, s14 80a82a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a82ac: bfac ite ge 80a82ae: 2301 movge r3, #1 80a82b0: 2300 movlt r3, #0 80a82b2: b2db uxtb r3, r3 80a82b4: e00b b.n 80a82ce 80a82b6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a82ba: ed9f 7a46 vldr s14, [pc, #280] ; 80a83d4 80a82be: eef4 7ac7 vcmpe.f32 s15, s14 80a82c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a82c6: bf94 ite ls 80a82c8: 2301 movls r3, #1 80a82ca: 2300 movhi r3, #0 80a82cc: b2db uxtb r3, r3 80a82ce: 2b00 cmp r3, #0 80a82d0: f000 80ce beq.w 80a8470 Val *= 0.001f; 80a82d4: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a82d8: ed9f 7a3f vldr s14, [pc, #252] ; 80a83d8 80a82dc: ee67 7a87 vmul.f32 s15, s15, s14 80a82e0: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a82e4: 4b35 ldr r3, [pc, #212] ; (80a83bc ) 80a82e6: 7b1b ldrb r3, [r3, #12] 80a82e8: b2db uxtb r3, r3 80a82ea: 2b00 cmp r3, #0 80a82ec: d147 bne.n 80a837e if(pardata.IPR == ACC) 80a82ee: 4b33 ldr r3, [pc, #204] ; (80a83bc ) 80a82f0: 785b ldrb r3, [r3, #1] 80a82f2: b2db uxtb r3, r3 80a82f4: 2b00 cmp r3, #0 80a82f6: d112 bne.n 80a831e if(pardata.IIN != VOLTS) 80a82f8: 4b30 ldr r3, [pc, #192] ; (80a83bc ) 80a82fa: 799b ldrb r3, [r3, #6] 80a82fc: b2db uxtb r3, r3 80a82fe: 2b02 cmp r3, #2 80a8300: d006 beq.n 80a8310 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a8302: 2303 movs r3, #3 80a8304: 4a35 ldr r2, [pc, #212] ; (80a83dc ) 80a8306: 212d movs r1, #45 ; 0x2d 80a8308: 20dc movs r0, #220 ; 0xdc 80a830a: f7ac fa47 bl 805479c 80a830e: e0a0 b.n 80a8452 else BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a8310: 2303 movs r3, #3 80a8312: 4a33 ldr r2, [pc, #204] ; (80a83e0 ) 80a8314: 212d movs r1, #45 ; 0x2d 80a8316: 20dc movs r0, #220 ; 0xdc 80a8318: f7ac fa40 bl 805479c 80a831c: e099 b.n 80a8452 if(pardata.IPR == VEL) 80a831e: 4b27 ldr r3, [pc, #156] ; (80a83bc ) 80a8320: 785b ldrb r3, [r3, #1] 80a8322: b2db uxtb r3, r3 80a8324: 2b01 cmp r3, #1 80a8326: d112 bne.n 80a834e if(pardata.IIN != VOLTS) 80a8328: 4b24 ldr r3, [pc, #144] ; (80a83bc ) 80a832a: 799b ldrb r3, [r3, #6] 80a832c: b2db uxtb r3, r3 80a832e: 2b02 cmp r3, #2 80a8330: d006 beq.n 80a8340 BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a8332: 2303 movs r3, #3 80a8334: 4a2b ldr r2, [pc, #172] ; (80a83e4 ) 80a8336: 212d movs r1, #45 ; 0x2d 80a8338: 20dc movs r0, #220 ; 0xdc 80a833a: f7ac fa2f bl 805479c 80a833e: e088 b.n 80a8452 else BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a8340: 2303 movs r3, #3 80a8342: 4a27 ldr r2, [pc, #156] ; (80a83e0 ) 80a8344: 212d movs r1, #45 ; 0x2d 80a8346: 20dc movs r0, #220 ; 0xdc 80a8348: f7ac fa28 bl 805479c 80a834c: e081 b.n 80a8452 if(pardata.IPR == DIS) 80a834e: 4b1b ldr r3, [pc, #108] ; (80a83bc ) 80a8350: 785b ldrb r3, [r3, #1] 80a8352: b2db uxtb r3, r3 80a8354: 2b02 cmp r3, #2 80a8356: d17c bne.n 80a8452 if(pardata.IIN != VOLTS) 80a8358: 4b18 ldr r3, [pc, #96] ; (80a83bc ) 80a835a: 799b ldrb r3, [r3, #6] 80a835c: b2db uxtb r3, r3 80a835e: 2b02 cmp r3, #2 80a8360: d006 beq.n 80a8370 BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a8362: 2303 movs r3, #3 80a8364: 4a20 ldr r2, [pc, #128] ; (80a83e8 ) 80a8366: 212d movs r1, #45 ; 0x2d 80a8368: 20dc movs r0, #220 ; 0xdc 80a836a: f7ac fa17 bl 805479c 80a836e: e070 b.n 80a8452 else BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a8370: 2303 movs r3, #3 80a8372: 4a1b ldr r2, [pc, #108] ; (80a83e0 ) 80a8374: 212d movs r1, #45 ; 0x2d 80a8376: 20dc movs r0, #220 ; 0xdc 80a8378: f7ac fa10 bl 805479c 80a837c: e069 b.n 80a8452 if(pardata.IPR == ACC) 80a837e: 4b0f ldr r3, [pc, #60] ; (80a83bc ) 80a8380: 785b ldrb r3, [r3, #1] 80a8382: b2db uxtb r3, r3 80a8384: 2b00 cmp r3, #0 80a8386: d135 bne.n 80a83f4 if(pardata.IIN != VOLTS) 80a8388: 4b0c ldr r3, [pc, #48] ; (80a83bc ) 80a838a: 799b ldrb r3, [r3, #6] 80a838c: b2db uxtb r3, r3 80a838e: 2b02 cmp r3, #2 80a8390: d006 beq.n 80a83a0 BSP_LCD_DisplayStringAt(220, 45, "km/c^", LEFT_MODE); 80a8392: 2303 movs r3, #3 80a8394: 4a15 ldr r2, [pc, #84] ; (80a83ec ) 80a8396: 212d movs r1, #45 ; 0x2d 80a8398: 20dc movs r0, #220 ; 0xdc 80a839a: f7ac f9ff bl 805479c 80a839e: e058 b.n 80a8452 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a83a0: 2303 movs r3, #3 80a83a2: 4a13 ldr r2, [pc, #76] ; (80a83f0 ) 80a83a4: 212d movs r1, #45 ; 0x2d 80a83a6: 20dc movs r0, #220 ; 0xdc 80a83a8: f7ac f9f8 bl 805479c 80a83ac: e051 b.n 80a8452 80a83ae: bf00 nop 80a83b0: 20025d5e .word 0x20025d5e 80a83b4: 64080000 .word 0x64080000 80a83b8: 20020fb8 .word 0x20020fb8 80a83bc: 20023ea8 .word 0x20023ea8 80a83c0: 080f3968 .word 0x080f3968 80a83c4: 200215b4 .word 0x200215b4 80a83c8: 20025d64 .word 0x20025d64 80a83cc: ff26a01f .word 0xff26a01f 80a83d0: 447a0000 .word 0x447a0000 80a83d4: c47a0000 .word 0xc47a0000 80a83d8: 3a83126f .word 0x3a83126f 80a83dc: 080d4db0 .word 0x080d4db0 80a83e0: 080d4e0c .word 0x080d4e0c 80a83e4: 080d4e10 .word 0x080d4e10 80a83e8: 080d4e14 .word 0x080d4e14 80a83ec: 080d4db8 .word 0x080d4db8 80a83f0: 080d2a10 .word 0x080d2a10 if(pardata.IPR == VEL) 80a83f4: 4bb7 ldr r3, [pc, #732] ; (80a86d4 ) 80a83f6: 785b ldrb r3, [r3, #1] 80a83f8: b2db uxtb r3, r3 80a83fa: 2b01 cmp r3, #1 80a83fc: d112 bne.n 80a8424 if(pardata.IIN != VOLTS) 80a83fe: 4bb5 ldr r3, [pc, #724] ; (80a86d4 ) 80a8400: 799b ldrb r3, [r3, #6] 80a8402: b2db uxtb r3, r3 80a8404: 2b02 cmp r3, #2 80a8406: d006 beq.n 80a8416 BSP_LCD_DisplayStringAt(220, 45, "m/c", LEFT_MODE); 80a8408: 2303 movs r3, #3 80a840a: 4ab3 ldr r2, [pc, #716] ; (80a86d8 ) 80a840c: 212d movs r1, #45 ; 0x2d 80a840e: 20dc movs r0, #220 ; 0xdc 80a8410: f7ac f9c4 bl 805479c 80a8414: e01d b.n 80a8452 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a8416: 2303 movs r3, #3 80a8418: 4ab0 ldr r2, [pc, #704] ; (80a86dc ) 80a841a: 212d movs r1, #45 ; 0x2d 80a841c: 20dc movs r0, #220 ; 0xdc 80a841e: f7ac f9bd bl 805479c 80a8422: e016 b.n 80a8452 if(pardata.IPR == DIS) 80a8424: 4bab ldr r3, [pc, #684] ; (80a86d4 ) 80a8426: 785b ldrb r3, [r3, #1] 80a8428: b2db uxtb r3, r3 80a842a: 2b02 cmp r3, #2 80a842c: d111 bne.n 80a8452 if(pardata.IIN != VOLTS) 80a842e: 4ba9 ldr r3, [pc, #676] ; (80a86d4 ) 80a8430: 799b ldrb r3, [r3, #6] 80a8432: b2db uxtb r3, r3 80a8434: 2b02 cmp r3, #2 80a8436: d006 beq.n 80a8446 BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a8438: 2303 movs r3, #3 80a843a: 4aa9 ldr r2, [pc, #676] ; (80a86e0 ) 80a843c: 212d movs r1, #45 ; 0x2d 80a843e: 20dc movs r0, #220 ; 0xdc 80a8440: f7ac f9ac bl 805479c 80a8444: e005 b.n 80a8452 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a8446: 2303 movs r3, #3 80a8448: 4aa4 ldr r2, [pc, #656] ; (80a86dc ) 80a844a: 212d movs r1, #45 ; 0x2d 80a844c: 20dc movs r0, #220 ; 0xdc 80a844e: f7ac f9a5 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a8452: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8456: f06f 0002 mvn.w r0, #2 80a845a: eeb0 0a67 vmov.f32 s0, s15 80a845e: f7bf f89f bl 80675a0 80a8462: 4602 mov r2, r0 80a8464: 2302 movs r3, #2 80a8466: 212d movs r1, #45 ; 0x2d 80a8468: 20d9 movs r0, #217 ; 0xd9 80a846a: f7ac f997 bl 805479c 80a846e: e1c1 b.n 80a87f4 if(ABS(Val) >= 0.1f) 80a8470: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8474: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8478: eef1 fa10 vmrs APSR_nzcv, fpscr 80a847c: dd0c ble.n 80a8498 80a847e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8482: ed9f 7a98 vldr s14, [pc, #608] ; 80a86e4 80a8486: eef4 7ac7 vcmpe.f32 s15, s14 80a848a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a848e: bfac ite ge 80a8490: 2301 movge r3, #1 80a8492: 2300 movlt r3, #0 80a8494: b2db uxtb r3, r3 80a8496: e00b b.n 80a84b0 80a8498: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a849c: ed9f 7a92 vldr s14, [pc, #584] ; 80a86e8 80a84a0: eef4 7ac7 vcmpe.f32 s15, s14 80a84a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a84a8: bf94 ite ls 80a84aa: 2301 movls r3, #1 80a84ac: 2300 movhi r3, #0 80a84ae: b2db uxtb r3, r3 80a84b0: 2b00 cmp r3, #0 80a84b2: f000 80a3 beq.w 80a85fc if(pardata.LANG == RUS) 80a84b6: 4b87 ldr r3, [pc, #540] ; (80a86d4 ) 80a84b8: 7b1b ldrb r3, [r3, #12] 80a84ba: b2db uxtb r3, r3 80a84bc: 2b00 cmp r3, #0 80a84be: d147 bne.n 80a8550 if(pardata.IPR == ACC) 80a84c0: 4b84 ldr r3, [pc, #528] ; (80a86d4 ) 80a84c2: 785b ldrb r3, [r3, #1] 80a84c4: b2db uxtb r3, r3 80a84c6: 2b00 cmp r3, #0 80a84c8: d112 bne.n 80a84f0 if(pardata.IIN != VOLTS) 80a84ca: 4b82 ldr r3, [pc, #520] ; (80a86d4 ) 80a84cc: 799b ldrb r3, [r3, #6] 80a84ce: b2db uxtb r3, r3 80a84d0: 2b02 cmp r3, #2 80a84d2: d006 beq.n 80a84e2 BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a84d4: 2303 movs r3, #3 80a84d6: 4a85 ldr r2, [pc, #532] ; (80a86ec ) 80a84d8: 212d movs r1, #45 ; 0x2d 80a84da: 20dc movs r0, #220 ; 0xdc 80a84dc: f7ac f95e bl 805479c 80a84e0: e07d b.n 80a85de else BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a84e2: 2303 movs r3, #3 80a84e4: 4a82 ldr r2, [pc, #520] ; (80a86f0 ) 80a84e6: 212d movs r1, #45 ; 0x2d 80a84e8: 20dc movs r0, #220 ; 0xdc 80a84ea: f7ac f957 bl 805479c 80a84ee: e076 b.n 80a85de if(pardata.IPR == VEL) 80a84f0: 4b78 ldr r3, [pc, #480] ; (80a86d4 ) 80a84f2: 785b ldrb r3, [r3, #1] 80a84f4: b2db uxtb r3, r3 80a84f6: 2b01 cmp r3, #1 80a84f8: d112 bne.n 80a8520 if(pardata.IIN != VOLTS) 80a84fa: 4b76 ldr r3, [pc, #472] ; (80a86d4 ) 80a84fc: 799b ldrb r3, [r3, #6] 80a84fe: b2db uxtb r3, r3 80a8500: 2b02 cmp r3, #2 80a8502: d006 beq.n 80a8512 BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a8504: 2303 movs r3, #3 80a8506: 4a7b ldr r2, [pc, #492] ; (80a86f4 ) 80a8508: 212d movs r1, #45 ; 0x2d 80a850a: 20dc movs r0, #220 ; 0xdc 80a850c: f7ac f946 bl 805479c 80a8510: e065 b.n 80a85de else BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a8512: 2303 movs r3, #3 80a8514: 4a76 ldr r2, [pc, #472] ; (80a86f0 ) 80a8516: 212d movs r1, #45 ; 0x2d 80a8518: 20dc movs r0, #220 ; 0xdc 80a851a: f7ac f93f bl 805479c 80a851e: e05e b.n 80a85de if(pardata.IPR == DIS) 80a8520: 4b6c ldr r3, [pc, #432] ; (80a86d4 ) 80a8522: 785b ldrb r3, [r3, #1] 80a8524: b2db uxtb r3, r3 80a8526: 2b02 cmp r3, #2 80a8528: d159 bne.n 80a85de if(pardata.IIN != VOLTS) 80a852a: 4b6a ldr r3, [pc, #424] ; (80a86d4 ) 80a852c: 799b ldrb r3, [r3, #6] 80a852e: b2db uxtb r3, r3 80a8530: 2b02 cmp r3, #2 80a8532: d006 beq.n 80a8542 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a8534: 2303 movs r3, #3 80a8536: 4a70 ldr r2, [pc, #448] ; (80a86f8 ) 80a8538: 212d movs r1, #45 ; 0x2d 80a853a: 20dc movs r0, #220 ; 0xdc 80a853c: f7ac f92e bl 805479c 80a8540: e04d b.n 80a85de else BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a8542: 2303 movs r3, #3 80a8544: 4a6a ldr r2, [pc, #424] ; (80a86f0 ) 80a8546: 212d movs r1, #45 ; 0x2d 80a8548: 20dc movs r0, #220 ; 0xdc 80a854a: f7ac f927 bl 805479c 80a854e: e046 b.n 80a85de if(pardata.IPR == ACC) 80a8550: 4b60 ldr r3, [pc, #384] ; (80a86d4 ) 80a8552: 785b ldrb r3, [r3, #1] 80a8554: b2db uxtb r3, r3 80a8556: 2b00 cmp r3, #0 80a8558: d112 bne.n 80a8580 if(pardata.IIN != VOLTS) 80a855a: 4b5e ldr r3, [pc, #376] ; (80a86d4 ) 80a855c: 799b ldrb r3, [r3, #6] 80a855e: b2db uxtb r3, r3 80a8560: 2b02 cmp r3, #2 80a8562: d006 beq.n 80a8572 BSP_LCD_DisplayStringAt(220, 45, "m/c^", LEFT_MODE); 80a8564: 2303 movs r3, #3 80a8566: 4a65 ldr r2, [pc, #404] ; (80a86fc ) 80a8568: 212d movs r1, #45 ; 0x2d 80a856a: 20dc movs r0, #220 ; 0xdc 80a856c: f7ac f916 bl 805479c 80a8570: e035 b.n 80a85de else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a8572: 2303 movs r3, #3 80a8574: 4a62 ldr r2, [pc, #392] ; (80a8700 ) 80a8576: 212d movs r1, #45 ; 0x2d 80a8578: 20dc movs r0, #220 ; 0xdc 80a857a: f7ac f90f bl 805479c 80a857e: e02e b.n 80a85de if(pardata.IPR == VEL) 80a8580: 4b54 ldr r3, [pc, #336] ; (80a86d4 ) 80a8582: 785b ldrb r3, [r3, #1] 80a8584: b2db uxtb r3, r3 80a8586: 2b01 cmp r3, #1 80a8588: d112 bne.n 80a85b0 if(pardata.IIN != VOLTS) 80a858a: 4b52 ldr r3, [pc, #328] ; (80a86d4 ) 80a858c: 799b ldrb r3, [r3, #6] 80a858e: b2db uxtb r3, r3 80a8590: 2b02 cmp r3, #2 80a8592: d006 beq.n 80a85a2 BSP_LCD_DisplayStringAt(220, 45, "mm/c", LEFT_MODE); 80a8594: 2303 movs r3, #3 80a8596: 4a5b ldr r2, [pc, #364] ; (80a8704 ) 80a8598: 212d movs r1, #45 ; 0x2d 80a859a: 20dc movs r0, #220 ; 0xdc 80a859c: f7ac f8fe bl 805479c 80a85a0: e01d b.n 80a85de else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a85a2: 2303 movs r3, #3 80a85a4: 4a56 ldr r2, [pc, #344] ; (80a8700 ) 80a85a6: 212d movs r1, #45 ; 0x2d 80a85a8: 20dc movs r0, #220 ; 0xdc 80a85aa: f7ac f8f7 bl 805479c 80a85ae: e016 b.n 80a85de if(pardata.IPR == DIS) 80a85b0: 4b48 ldr r3, [pc, #288] ; (80a86d4 ) 80a85b2: 785b ldrb r3, [r3, #1] 80a85b4: b2db uxtb r3, r3 80a85b6: 2b02 cmp r3, #2 80a85b8: d111 bne.n 80a85de if(pardata.IIN != VOLTS) 80a85ba: 4b46 ldr r3, [pc, #280] ; (80a86d4 ) 80a85bc: 799b ldrb r3, [r3, #6] 80a85be: b2db uxtb r3, r3 80a85c0: 2b02 cmp r3, #2 80a85c2: d006 beq.n 80a85d2 BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a85c4: 2303 movs r3, #3 80a85c6: 4a50 ldr r2, [pc, #320] ; (80a8708 ) 80a85c8: 212d movs r1, #45 ; 0x2d 80a85ca: 20dc movs r0, #220 ; 0xdc 80a85cc: f7ac f8e6 bl 805479c 80a85d0: e005 b.n 80a85de else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a85d2: 2303 movs r3, #3 80a85d4: 4a4a ldr r2, [pc, #296] ; (80a8700 ) 80a85d6: 212d movs r1, #45 ; 0x2d 80a85d8: 20dc movs r0, #220 ; 0xdc 80a85da: f7ac f8df bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a85de: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a85e2: f06f 0002 mvn.w r0, #2 80a85e6: eeb0 0a67 vmov.f32 s0, s15 80a85ea: f7be ffd9 bl 80675a0 80a85ee: 4602 mov r2, r0 80a85f0: 2302 movs r3, #2 80a85f2: 212d movs r1, #45 ; 0x2d 80a85f4: 20d9 movs r0, #217 ; 0xd9 80a85f6: f7ac f8d1 bl 805479c 80a85fa: e0fb b.n 80a87f4 if(pardata.IPR == ACC) 80a85fc: 4b35 ldr r3, [pc, #212] ; (80a86d4 ) 80a85fe: 785b ldrb r3, [r3, #1] 80a8600: b2db uxtb r3, r3 80a8602: 2b00 cmp r3, #0 80a8604: d140 bne.n 80a8688 Val *= 1000.0f; 80a8606: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a860a: ed9f 7a40 vldr s14, [pc, #256] ; 80a870c 80a860e: ee67 7a87 vmul.f32 s15, s15, s14 80a8612: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IIN != VOLTS) 80a8616: 4b2f ldr r3, [pc, #188] ; (80a86d4 ) 80a8618: 799b ldrb r3, [r3, #6] 80a861a: b2db uxtb r3, r3 80a861c: 2b02 cmp r3, #2 80a861e: d012 beq.n 80a8646 if(pardata.LANG == RUS) 80a8620: 4b2c ldr r3, [pc, #176] ; (80a86d4 ) 80a8622: 7b1b ldrb r3, [r3, #12] 80a8624: b2db uxtb r3, r3 80a8626: 2b00 cmp r3, #0 80a8628: d106 bne.n 80a8638 BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a862a: 2303 movs r3, #3 80a862c: 4a38 ldr r2, [pc, #224] ; (80a8710 ) 80a862e: 212d movs r1, #45 ; 0x2d 80a8630: 20dc movs r0, #220 ; 0xdc 80a8632: f7ac f8b3 bl 805479c 80a8636: e018 b.n 80a866a else BSP_LCD_DisplayStringAt(220, 45, "mm/c^", LEFT_MODE); 80a8638: 2303 movs r3, #3 80a863a: 4a36 ldr r2, [pc, #216] ; (80a8714 ) 80a863c: 212d movs r1, #45 ; 0x2d 80a863e: 20dc movs r0, #220 ; 0xdc 80a8640: f7ac f8ac bl 805479c 80a8644: e011 b.n 80a866a if(pardata.LANG == RUS) 80a8646: 4b23 ldr r3, [pc, #140] ; (80a86d4 ) 80a8648: 7b1b ldrb r3, [r3, #12] 80a864a: b2db uxtb r3, r3 80a864c: 2b00 cmp r3, #0 80a864e: d106 bne.n 80a865e BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a8650: 2303 movs r3, #3 80a8652: 4a31 ldr r2, [pc, #196] ; (80a8718 ) 80a8654: 212d movs r1, #45 ; 0x2d 80a8656: 20dc movs r0, #220 ; 0xdc 80a8658: f7ac f8a0 bl 805479c 80a865c: e005 b.n 80a866a else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a865e: 2303 movs r3, #3 80a8660: 4a2e ldr r2, [pc, #184] ; (80a871c ) 80a8662: 212d movs r1, #45 ; 0x2d 80a8664: 20dc movs r0, #220 ; 0xdc 80a8666: f7ac f899 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a866a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a866e: f06f 0002 mvn.w r0, #2 80a8672: eeb0 0a67 vmov.f32 s0, s15 80a8676: f7be ff93 bl 80675a0 80a867a: 4602 mov r2, r0 80a867c: 2302 movs r3, #2 80a867e: 212d movs r1, #45 ; 0x2d 80a8680: 20d9 movs r0, #217 ; 0xd9 80a8682: f7ac f88b bl 805479c 80a8686: e0b5 b.n 80a87f4 if(pardata.IPR == VEL) 80a8688: 4b12 ldr r3, [pc, #72] ; (80a86d4 ) 80a868a: 785b ldrb r3, [r3, #1] 80a868c: b2db uxtb r3, r3 80a868e: 2b01 cmp r3, #1 80a8690: d16b bne.n 80a876a Val *= 1000.0f; 80a8692: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8696: ed9f 7a1d vldr s14, [pc, #116] ; 80a870c 80a869a: ee67 7a87 vmul.f32 s15, s15, s14 80a869e: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IIN != VOLTS) 80a86a2: 4b0c ldr r3, [pc, #48] ; (80a86d4 ) 80a86a4: 799b ldrb r3, [r3, #6] 80a86a6: b2db uxtb r3, r3 80a86a8: 2b02 cmp r3, #2 80a86aa: d03d beq.n 80a8728 if(pardata.LANG == RUS) 80a86ac: 4b09 ldr r3, [pc, #36] ; (80a86d4 ) 80a86ae: 7b1b ldrb r3, [r3, #12] 80a86b0: b2db uxtb r3, r3 80a86b2: 2b00 cmp r3, #0 80a86b4: d106 bne.n 80a86c4 BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a86b6: 2303 movs r3, #3 80a86b8: 4a19 ldr r2, [pc, #100] ; (80a8720 ) 80a86ba: 212d movs r1, #45 ; 0x2d 80a86bc: 20dc movs r0, #220 ; 0xdc 80a86be: f7ac f86d bl 805479c 80a86c2: e043 b.n 80a874c else BSP_LCD_DisplayStringAt(220, 45, "um/c", LEFT_MODE); 80a86c4: 2303 movs r3, #3 80a86c6: 4a17 ldr r2, [pc, #92] ; (80a8724 ) 80a86c8: 212d movs r1, #45 ; 0x2d 80a86ca: 20dc movs r0, #220 ; 0xdc 80a86cc: f7ac f866 bl 805479c 80a86d0: e03c b.n 80a874c 80a86d2: bf00 nop 80a86d4: 20023ea8 .word 0x20023ea8 80a86d8: 080d4e4c .word 0x080d4e4c 80a86dc: 080d2a10 .word 0x080d2a10 80a86e0: 080d4d24 .word 0x080d4d24 80a86e4: 3dcccccd .word 0x3dcccccd 80a86e8: bdcccccd .word 0xbdcccccd 80a86ec: 080d4dc0 .word 0x080d4dc0 80a86f0: 080d4e18 .word 0x080d4e18 80a86f4: 080d4e20 .word 0x080d4e20 80a86f8: 080d4e28 .word 0x080d4e28 80a86fc: 080d4dc8 .word 0x080d4dc8 80a8700: 080d4e1c .word 0x080d4e1c 80a8704: 080d4e50 .word 0x080d4e50 80a8708: 080d4d4c .word 0x080d4d4c 80a870c: 447a0000 .word 0x447a0000 80a8710: 080d4dd0 .word 0x080d4dd0 80a8714: 080d4dd8 .word 0x080d4dd8 80a8718: 080d4e2c .word 0x080d4e2c 80a871c: 080d4d7c .word 0x080d4d7c 80a8720: 080d4e30 .word 0x080d4e30 80a8724: 080d4e58 .word 0x080d4e58 if(pardata.LANG == RUS) 80a8728: 4bca ldr r3, [pc, #808] ; (80a8a54 ) 80a872a: 7b1b ldrb r3, [r3, #12] 80a872c: b2db uxtb r3, r3 80a872e: 2b00 cmp r3, #0 80a8730: d106 bne.n 80a8740 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a8732: 2303 movs r3, #3 80a8734: 4ac8 ldr r2, [pc, #800] ; (80a8a58 ) 80a8736: 212d movs r1, #45 ; 0x2d 80a8738: 20dc movs r0, #220 ; 0xdc 80a873a: f7ac f82f bl 805479c 80a873e: e005 b.n 80a874c else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a8740: 2303 movs r3, #3 80a8742: 4ac6 ldr r2, [pc, #792] ; (80a8a5c ) 80a8744: 212d movs r1, #45 ; 0x2d 80a8746: 20dc movs r0, #220 ; 0xdc 80a8748: f7ac f828 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a874c: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8750: f06f 0002 mvn.w r0, #2 80a8754: eeb0 0a67 vmov.f32 s0, s15 80a8758: f7be ff22 bl 80675a0 80a875c: 4602 mov r2, r0 80a875e: 2302 movs r3, #2 80a8760: 212d movs r1, #45 ; 0x2d 80a8762: 20d9 movs r0, #217 ; 0xd9 80a8764: f7ac f81a bl 805479c 80a8768: e044 b.n 80a87f4 if(pardata.IPR == DIS) 80a876a: 4bba ldr r3, [pc, #744] ; (80a8a54 ) 80a876c: 785b ldrb r3, [r3, #1] 80a876e: b2db uxtb r3, r3 80a8770: 2b02 cmp r3, #2 80a8772: d13f bne.n 80a87f4 if(pardata.IIN != VOLTS) 80a8774: 4bb7 ldr r3, [pc, #732] ; (80a8a54 ) 80a8776: 799b ldrb r3, [r3, #6] 80a8778: b2db uxtb r3, r3 80a877a: 2b02 cmp r3, #2 80a877c: d012 beq.n 80a87a4 if(pardata.LANG == RUS) 80a877e: 4bb5 ldr r3, [pc, #724] ; (80a8a54 ) 80a8780: 7b1b ldrb r3, [r3, #12] 80a8782: b2db uxtb r3, r3 80a8784: 2b00 cmp r3, #0 80a8786: d106 bne.n 80a8796 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a8788: 2303 movs r3, #3 80a878a: 4ab5 ldr r2, [pc, #724] ; (80a8a60 ) 80a878c: 212d movs r1, #45 ; 0x2d 80a878e: 20dc movs r0, #220 ; 0xdc 80a8790: f7ac f804 bl 805479c 80a8794: e020 b.n 80a87d8 else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a8796: 2303 movs r3, #3 80a8798: 4ab2 ldr r2, [pc, #712] ; (80a8a64 ) 80a879a: 212d movs r1, #45 ; 0x2d 80a879c: 20dc movs r0, #220 ; 0xdc 80a879e: f7ab fffd bl 805479c 80a87a2: e019 b.n 80a87d8 Val *= 1000.0f; 80a87a4: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a87a8: ed9f 7aaf vldr s14, [pc, #700] ; 80a8a68 80a87ac: ee67 7a87 vmul.f32 s15, s15, s14 80a87b0: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a87b4: 4ba7 ldr r3, [pc, #668] ; (80a8a54 ) 80a87b6: 7b1b ldrb r3, [r3, #12] 80a87b8: b2db uxtb r3, r3 80a87ba: 2b00 cmp r3, #0 80a87bc: d106 bne.n 80a87cc BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a87be: 2303 movs r3, #3 80a87c0: 4aa5 ldr r2, [pc, #660] ; (80a8a58 ) 80a87c2: 212d movs r1, #45 ; 0x2d 80a87c4: 20dc movs r0, #220 ; 0xdc 80a87c6: f7ab ffe9 bl 805479c 80a87ca: e005 b.n 80a87d8 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a87cc: 2303 movs r3, #3 80a87ce: 4aa3 ldr r2, [pc, #652] ; (80a8a5c ) 80a87d0: 212d movs r1, #45 ; 0x2d 80a87d2: 20dc movs r0, #220 ; 0xdc 80a87d4: f7ab ffe2 bl 805479c BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a87d8: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a87dc: f06f 0002 mvn.w r0, #2 80a87e0: eeb0 0a67 vmov.f32 s0, s15 80a87e4: f7be fedc bl 80675a0 80a87e8: 4602 mov r2, r0 80a87ea: 2302 movs r3, #2 80a87ec: 212d movs r1, #45 ; 0x2d 80a87ee: 20d9 movs r0, #217 ; 0xd9 80a87f0: f7ab ffd4 bl 805479c LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a87f4: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a87f8: 489c ldr r0, [pc, #624] ; (80a8a6c ) 80a87fa: f7ab ff09 bl 8054610 tmpF = (float32_t) (fineMpos + 1); 80a87fe: 4b9c ldr r3, [pc, #624] ; (80a8a70 ) 80a8800: 881b ldrh r3, [r3, #0] 80a8802: b29b uxth r3, r3 80a8804: 3301 adds r3, #1 80a8806: ee07 3a90 vmov s15, r3 80a880a: eef8 7ae7 vcvt.f32.s32 s15, s15 80a880e: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(tmpF != TF) 80a8812: 4b98 ldr r3, [pc, #608] ; (80a8a74 ) 80a8814: edd3 7a00 vldr s15, [r3] 80a8818: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80a881c: eeb4 7a67 vcmp.f32 s14, s15 80a8820: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8824: d016 beq.n 80a8854 TF = tmpF; 80a8826: 4a93 ldr r2, [pc, #588] ; (80a8a74 ) 80a8828: 6d7b ldr r3, [r7, #84] ; 0x54 80a882a: 6013 str r3, [r2, #0] TF *= Delta_OSC[pardata.FRQ]; 80a882c: 4b89 ldr r3, [pc, #548] ; (80a8a54 ) 80a882e: 7adb ldrb r3, [r3, #11] 80a8830: b2db uxtb r3, r3 80a8832: 4a91 ldr r2, [pc, #580] ; (80a8a78 ) 80a8834: 009b lsls r3, r3, #2 80a8836: 4413 add r3, r2 80a8838: ed93 7a00 vldr s14, [r3] 80a883c: 4b8d ldr r3, [pc, #564] ; (80a8a74 ) 80a883e: edd3 7a00 vldr s15, [r3] 80a8842: ee67 7a27 vmul.f32 s15, s14, s15 80a8846: 4b8b ldr r3, [pc, #556] ; (80a8a74 ) 80a8848: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a884c: 4b89 ldr r3, [pc, #548] ; (80a8a74 ) 80a884e: 681b ldr r3, [r3, #0] 80a8850: 4a8a ldr r2, [pc, #552] ; (80a8a7c ) 80a8852: 6013 str r3, [r2, #0] tmpF = TF; 80a8854: 4b87 ldr r3, [pc, #540] ; (80a8a74 ) 80a8856: 681b ldr r3, [r3, #0] 80a8858: 657b str r3, [r7, #84] ; 0x54 if(tmpF >= 1000.0f) 80a885a: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a885e: ed9f 7a82 vldr s14, [pc, #520] ; 80a8a68 80a8862: eef4 7ac7 vcmpe.f32 s15, s14 80a8866: eef1 fa10 vmrs APSR_nzcv, fpscr 80a886a: db29 blt.n 80a88c0 tmpF *= 0.001f; 80a886c: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a8870: ed9f 7a83 vldr s14, [pc, #524] ; 80a8a80 80a8874: ee67 7a87 vmul.f32 s15, s15, s14 80a8878: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a887c: 4b75 ldr r3, [pc, #468] ; (80a8a54 ) 80a887e: 7b1b ldrb r3, [r3, #12] 80a8880: b2db uxtb r3, r3 80a8882: 2b00 cmp r3, #0 80a8884: d107 bne.n 80a8896 BSP_LCD_DisplayStringAt(302, 45, "c", LEFT_MODE); 80a8886: 2303 movs r3, #3 80a8888: 4a7e ldr r2, [pc, #504] ; (80a8a84 ) 80a888a: 212d movs r1, #45 ; 0x2d 80a888c: f44f 7097 mov.w r0, #302 ; 0x12e 80a8890: f7ab ff84 bl 805479c 80a8894: e006 b.n 80a88a4 else BSP_LCD_DisplayStringAt(302, 45, "s", LEFT_MODE); 80a8896: 2303 movs r3, #3 80a8898: 4a7b ldr r2, [pc, #492] ; (80a8a88 ) 80a889a: 212d movs r1, #45 ; 0x2d 80a889c: f44f 7097 mov.w r0, #302 ; 0x12e 80a88a0: f7ab ff7c bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -4), RIGHT_MODE); 80a88a4: f06f 0003 mvn.w r0, #3 80a88a8: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a88ac: f7be fe78 bl 80675a0 80a88b0: 4602 mov r2, r0 80a88b2: 2302 movs r3, #2 80a88b4: 212d movs r1, #45 ; 0x2d 80a88b6: f240 102b movw r0, #299 ; 0x12b 80a88ba: f7ab ff6f bl 805479c 80a88be: e053 b.n 80a8968 if(tmpF < 0.1f) 80a88c0: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a88c4: ed9f 7a71 vldr s14, [pc, #452] ; 80a8a8c 80a88c8: eef4 7ac7 vcmpe.f32 s15, s14 80a88cc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a88d0: d529 bpl.n 80a8926 tmpF *= 1000.0f; 80a88d2: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a88d6: ed9f 7a64 vldr s14, [pc, #400] ; 80a8a68 80a88da: ee67 7a87 vmul.f32 s15, s15, s14 80a88de: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a88e2: 4b5c ldr r3, [pc, #368] ; (80a8a54 ) 80a88e4: 7b1b ldrb r3, [r3, #12] 80a88e6: b2db uxtb r3, r3 80a88e8: 2b00 cmp r3, #0 80a88ea: d107 bne.n 80a88fc BSP_LCD_DisplayStringAt(302, 45, "&kc", LEFT_MODE); 80a88ec: 2303 movs r3, #3 80a88ee: 4a68 ldr r2, [pc, #416] ; (80a8a90 ) 80a88f0: 212d movs r1, #45 ; 0x2d 80a88f2: f44f 7097 mov.w r0, #302 ; 0x12e 80a88f6: f7ab ff51 bl 805479c 80a88fa: e006 b.n 80a890a else BSP_LCD_DisplayStringAt(302, 45, "us", LEFT_MODE); 80a88fc: 2303 movs r3, #3 80a88fe: 4a65 ldr r2, [pc, #404] ; (80a8a94 ) 80a8900: 212d movs r1, #45 ; 0x2d 80a8902: f44f 7097 mov.w r0, #302 ; 0x12e 80a8906: f7ab ff49 bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -2), RIGHT_MODE); 80a890a: f06f 0001 mvn.w r0, #1 80a890e: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a8912: f7be fe45 bl 80675a0 80a8916: 4602 mov r2, r0 80a8918: 2302 movs r3, #2 80a891a: 212d movs r1, #45 ; 0x2d 80a891c: f240 102b movw r0, #299 ; 0x12b 80a8920: f7ab ff3c bl 805479c 80a8924: e020 b.n 80a8968 if(pardata.LANG == RUS) 80a8926: 4b4b ldr r3, [pc, #300] ; (80a8a54 ) 80a8928: 7b1b ldrb r3, [r3, #12] 80a892a: b2db uxtb r3, r3 80a892c: 2b00 cmp r3, #0 80a892e: d107 bne.n 80a8940 BSP_LCD_DisplayStringAt(302, 45, "&c", LEFT_MODE); 80a8930: 2303 movs r3, #3 80a8932: 4a59 ldr r2, [pc, #356] ; (80a8a98 ) 80a8934: 212d movs r1, #45 ; 0x2d 80a8936: f44f 7097 mov.w r0, #302 ; 0x12e 80a893a: f7ab ff2f bl 805479c 80a893e: e006 b.n 80a894e else BSP_LCD_DisplayStringAt(302, 45, "ms", LEFT_MODE); 80a8940: 2303 movs r3, #3 80a8942: 4a56 ldr r2, [pc, #344] ; (80a8a9c ) 80a8944: 212d movs r1, #45 ; 0x2d 80a8946: f44f 7097 mov.w r0, #302 ; 0x12e 80a894a: f7ab ff27 bl 805479c BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -3), RIGHT_MODE); 80a894e: f06f 0002 mvn.w r0, #2 80a8952: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a8956: f7be fe23 bl 80675a0 80a895a: 4602 mov r2, r0 80a895c: 2302 movs r3, #2 80a895e: 212d movs r1, #45 ; 0x2d 80a8960: f240 102b movw r0, #299 ; 0x12b 80a8964: f7ab ff1a bl 805479c for(i = 0; i < 2; i++) 80a8968: 2300 movs r3, #0 80a896a: 66fb str r3, [r7, #108] ; 0x6c 80a896c: f000 bf3d b.w 80a97ea if(DynamicCursor[i].Enabled) 80a8970: 4a4b ldr r2, [pc, #300] ; (80a8aa0 ) 80a8972: 6efb ldr r3, [r7, #108] ; 0x6c 80a8974: 011b lsls r3, r3, #4 80a8976: 4413 add r3, r2 80a8978: 781b ldrb r3, [r3, #0] 80a897a: 2b00 cmp r3, #0 80a897c: f000 8732 beq.w 80a97e4 arm_max_f32(&ScrA_f32(DynamicCursor[i].Mpos), avgOSC[ViewLevel][pardata.LNE], &maxf, &n2); 80a8980: 4a47 ldr r2, [pc, #284] ; (80a8aa0 ) 80a8982: 6efb ldr r3, [r7, #108] ; 0x6c 80a8984: 011b lsls r3, r3, #4 80a8986: 4413 add r3, r2 80a8988: 3304 adds r3, #4 80a898a: 881b ldrh r3, [r3, #0] 80a898c: 009b lsls r3, r3, #2 80a898e: 461a mov r2, r3 80a8990: 4b44 ldr r3, [pc, #272] ; (80a8aa4 ) 80a8992: 4413 add r3, r2 80a8994: 461c mov r4, r3 80a8996: 4b44 ldr r3, [pc, #272] ; (80a8aa8 ) 80a8998: 781b ldrb r3, [r3, #0] 80a899a: b2db uxtb r3, r3 80a899c: 4619 mov r1, r3 80a899e: 4b2d ldr r3, [pc, #180] ; (80a8a54 ) 80a89a0: 79db ldrb r3, [r3, #7] 80a89a2: b2db uxtb r3, r3 80a89a4: 4618 mov r0, r3 80a89a6: 4a41 ldr r2, [pc, #260] ; (80a8aac ) 80a89a8: 460b mov r3, r1 80a89aa: 009b lsls r3, r3, #2 80a89ac: 440b add r3, r1 80a89ae: 4413 add r3, r2 80a89b0: 4403 add r3, r0 80a89b2: 781b ldrb r3, [r3, #0] 80a89b4: 4619 mov r1, r3 80a89b6: f107 0348 add.w r3, r7, #72 ; 0x48 80a89ba: f107 0240 add.w r2, r7, #64 ; 0x40 80a89be: 4620 mov r0, r4 80a89c0: f025 fd28 bl 80ce414 arm_min_f32(&ScrA_f32(DynamicCursor[i].Mpos), avgOSC[ViewLevel][pardata.LNE], &minf, &n1); 80a89c4: 4a36 ldr r2, [pc, #216] ; (80a8aa0 ) 80a89c6: 6efb ldr r3, [r7, #108] ; 0x6c 80a89c8: 011b lsls r3, r3, #4 80a89ca: 4413 add r3, r2 80a89cc: 3304 adds r3, #4 80a89ce: 881b ldrh r3, [r3, #0] 80a89d0: 009b lsls r3, r3, #2 80a89d2: 461a mov r2, r3 80a89d4: 4b33 ldr r3, [pc, #204] ; (80a8aa4 ) 80a89d6: 4413 add r3, r2 80a89d8: 461c mov r4, r3 80a89da: 4b33 ldr r3, [pc, #204] ; (80a8aa8 ) 80a89dc: 781b ldrb r3, [r3, #0] 80a89de: b2db uxtb r3, r3 80a89e0: 4619 mov r1, r3 80a89e2: 4b1c ldr r3, [pc, #112] ; (80a8a54 ) 80a89e4: 79db ldrb r3, [r3, #7] 80a89e6: b2db uxtb r3, r3 80a89e8: 4618 mov r0, r3 80a89ea: 4a30 ldr r2, [pc, #192] ; (80a8aac ) 80a89ec: 460b mov r3, r1 80a89ee: 009b lsls r3, r3, #2 80a89f0: 440b add r3, r1 80a89f2: 4413 add r3, r2 80a89f4: 4403 add r3, r0 80a89f6: 781b ldrb r3, [r3, #0] 80a89f8: 4619 mov r1, r3 80a89fa: f107 034c add.w r3, r7, #76 ; 0x4c 80a89fe: f107 0244 add.w r2, r7, #68 ; 0x44 80a8a02: 4620 mov r0, r4 80a8a04: f025 fc6a bl 80ce2dc if((maxf > 0) && (minf < 0)) 80a8a08: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8a0c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8a10: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8a14: dd61 ble.n 80a8ada 80a8a16: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8a1a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8a1e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8a22: d55a bpl.n 80a8ada if(ABS(maxf) < ABS(minf)) 80a8a24: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8a28: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8a2c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8a30: dd02 ble.n 80a8a38 80a8a32: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80a8a36: e003 b.n 80a8a40 80a8a38: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8a3c: eeb1 7a67 vneg.f32 s14, s15 80a8a40: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8a44: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8a48: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8a4c: dd30 ble.n 80a8ab0 80a8a4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8a52: e031 b.n 80a8ab8 80a8a54: 20023ea8 .word 0x20023ea8 80a8a58: 080d4e2c .word 0x080d4e2c 80a8a5c: 080d4d7c .word 0x080d4d7c 80a8a60: 080d4e28 .word 0x080d4e28 80a8a64: 080d4d4c .word 0x080d4d4c 80a8a68: 447a0000 .word 0x447a0000 80a8a6c: ff808080 .word 0xff808080 80a8a70: 20025d64 .word 0x20025d64 80a8a74: 200215b8 .word 0x200215b8 80a8a78: 080f3a44 .word 0x080f3a44 80a8a7c: 20021690 .word 0x20021690 80a8a80: 3a83126f .word 0x3a83126f 80a8a84: 080d4de0 .word 0x080d4de0 80a8a88: 080d4de4 .word 0x080d4de4 80a8a8c: 3dcccccd .word 0x3dcccccd 80a8a90: 080d4de8 .word 0x080d4de8 80a8a94: 080d4dec .word 0x080d4dec 80a8a98: 080d4df0 .word 0x080d4df0 80a8a9c: 080d4df4 .word 0x080d4df4 80a8aa0: 20020f8c .word 0x20020f8c 80a8aa4: 64080000 .word 0x64080000 80a8aa8: 20020fb8 .word 0x20020fb8 80a8aac: 080f3968 .word 0x080f3968 80a8ab0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8ab4: eef1 7a67 vneg.f32 s15, s15 80a8ab8: eeb4 7ae7 vcmpe.f32 s14, s15 80a8abc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8ac0: d505 bpl.n 80a8ace CurVal = minf; 80a8ac2: 6c7b ldr r3, [r7, #68] ; 0x44 80a8ac4: 4aaa ldr r2, [pc, #680] ; (80a8d70 ) 80a8ac6: 6013 str r3, [r2, #0] l = n1; 80a8ac8: 6cfb ldr r3, [r7, #76] ; 0x4c 80a8aca: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a8acc: e054 b.n 80a8b78 CurVal = maxf; 80a8ace: 6c3b ldr r3, [r7, #64] ; 0x40 80a8ad0: 4aa7 ldr r2, [pc, #668] ; (80a8d70 ) 80a8ad2: 6013 str r3, [r2, #0] l = n2; 80a8ad4: 6cbb ldr r3, [r7, #72] ; 0x48 80a8ad6: 653b str r3, [r7, #80] ; 0x50 if(ABS(maxf) < ABS(minf)) 80a8ad8: e04e b.n 80a8b78 if((maxf > 0) && (minf > 0)) 80a8ada: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8ade: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8ae2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8ae6: dd0c ble.n 80a8b02 80a8ae8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8aec: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8af0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8af4: dd05 ble.n 80a8b02 CurVal = maxf; 80a8af6: 6c3b ldr r3, [r7, #64] ; 0x40 80a8af8: 4a9d ldr r2, [pc, #628] ; (80a8d70 ) 80a8afa: 6013 str r3, [r2, #0] l = n2; 80a8afc: 6cbb ldr r3, [r7, #72] ; 0x48 80a8afe: 653b str r3, [r7, #80] ; 0x50 80a8b00: e03a b.n 80a8b78 if((maxf < 0) && (minf < 0)) 80a8b02: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8b06: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8b0a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8b0e: d50c bpl.n 80a8b2a 80a8b10: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8b14: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8b18: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8b1c: d505 bpl.n 80a8b2a CurVal = minf; 80a8b1e: 6c7b ldr r3, [r7, #68] ; 0x44 80a8b20: 4a93 ldr r2, [pc, #588] ; (80a8d70 ) 80a8b22: 6013 str r3, [r2, #0] l = n1; 80a8b24: 6cfb ldr r3, [r7, #76] ; 0x4c 80a8b26: 653b str r3, [r7, #80] ; 0x50 80a8b28: e026 b.n 80a8b78 if((maxf >= 0) && (minf == 0)) 80a8b2a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8b2e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8b32: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8b36: db0c blt.n 80a8b52 80a8b38: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8b3c: eef5 7a40 vcmp.f32 s15, #0.0 80a8b40: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8b44: d105 bne.n 80a8b52 CurVal = maxf; 80a8b46: 6c3b ldr r3, [r7, #64] ; 0x40 80a8b48: 4a89 ldr r2, [pc, #548] ; (80a8d70 ) 80a8b4a: 6013 str r3, [r2, #0] l = n2; 80a8b4c: 6cbb ldr r3, [r7, #72] ; 0x48 80a8b4e: 653b str r3, [r7, #80] ; 0x50 80a8b50: e012 b.n 80a8b78 if((maxf == 0) && (minf <= 0)) 80a8b52: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a8b56: eef5 7a40 vcmp.f32 s15, #0.0 80a8b5a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8b5e: d10b bne.n 80a8b78 80a8b60: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a8b64: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8b68: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8b6c: d804 bhi.n 80a8b78 CurVal = minf; 80a8b6e: 6c7b ldr r3, [r7, #68] ; 0x44 80a8b70: 4a7f ldr r2, [pc, #508] ; (80a8d70 ) 80a8b72: 6013 str r3, [r2, #0] l = n1; 80a8b74: 6cfb ldr r3, [r7, #76] ; 0x4c 80a8b76: 653b str r3, [r7, #80] ; 0x50 DynamicCursor[i].fineMpos = DynamicCursor[i].Mpos + l; 80a8b78: 4a7e ldr r2, [pc, #504] ; (80a8d74 ) 80a8b7a: 6efb ldr r3, [r7, #108] ; 0x6c 80a8b7c: 011b lsls r3, r3, #4 80a8b7e: 4413 add r3, r2 80a8b80: 3304 adds r3, #4 80a8b82: 881a ldrh r2, [r3, #0] 80a8b84: 6d3b ldr r3, [r7, #80] ; 0x50 80a8b86: b29b uxth r3, r3 80a8b88: 4413 add r3, r2 80a8b8a: b299 uxth r1, r3 80a8b8c: 4a79 ldr r2, [pc, #484] ; (80a8d74 ) 80a8b8e: 6efb ldr r3, [r7, #108] ; 0x6c 80a8b90: 011b lsls r3, r3, #4 80a8b92: 4413 add r3, r2 80a8b94: 3306 adds r3, #6 80a8b96: 460a mov r2, r1 80a8b98: 801a strh r2, [r3, #0] DynamicCursor[i].val_Y = CurVal; 80a8b9a: 4b75 ldr r3, [pc, #468] ; (80a8d70 ) 80a8b9c: 681a ldr r2, [r3, #0] 80a8b9e: 4975 ldr r1, [pc, #468] ; (80a8d74 ) 80a8ba0: 6efb ldr r3, [r7, #108] ; 0x6c 80a8ba2: 011b lsls r3, r3, #4 80a8ba4: 440b add r3, r1 80a8ba6: 330c adds r3, #12 80a8ba8: 601a str r2, [r3, #0] Val = CurVal; 80a8baa: 4b71 ldr r3, [pc, #452] ; (80a8d70 ) 80a8bac: 681b ldr r3, [r3, #0] 80a8bae: 63fb str r3, [r7, #60] ; 0x3c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a8bb0: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a8bb4: 4870 ldr r0, [pc, #448] ; (80a8d78 ) 80a8bb6: f7ab fd2b bl 8054610 if(ABS(Val) >= 1000.0f) 80a8bba: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8bbe: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8bc2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8bc6: dd0c ble.n 80a8be2 80a8bc8: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8bcc: ed9f 7a6b vldr s14, [pc, #428] ; 80a8d7c 80a8bd0: eef4 7ac7 vcmpe.f32 s15, s14 80a8bd4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8bd8: bfac ite ge 80a8bda: 2301 movge r3, #1 80a8bdc: 2300 movlt r3, #0 80a8bde: b2db uxtb r3, r3 80a8be0: e00b b.n 80a8bfa 80a8be2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8be6: ed9f 7a66 vldr s14, [pc, #408] ; 80a8d80 80a8bea: eef4 7ac7 vcmpe.f32 s15, s14 80a8bee: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8bf2: bf94 ite ls 80a8bf4: 2301 movls r3, #1 80a8bf6: 2300 movhi r3, #0 80a8bf8: b2db uxtb r3, r3 80a8bfa: 2b00 cmp r3, #0 80a8bfc: f000 8151 beq.w 80a8ea2 Val *= 0.001f; 80a8c00: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8c04: ed9f 7a5f vldr s14, [pc, #380] ; 80a8d84 80a8c08: ee67 7a87 vmul.f32 s15, s15, s14 80a8c0c: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a8c10: 4b5d ldr r3, [pc, #372] ; (80a8d88 ) 80a8c12: 7b1b ldrb r3, [r3, #12] 80a8c14: b2db uxtb r3, r3 80a8c16: 2b00 cmp r3, #0 80a8c18: d166 bne.n 80a8ce8 if(pardata.IPR == ACC) 80a8c1a: 4b5b ldr r3, [pc, #364] ; (80a8d88 ) 80a8c1c: 785b ldrb r3, [r3, #1] 80a8c1e: b2db uxtb r3, r3 80a8c20: 2b00 cmp r3, #0 80a8c22: d11c bne.n 80a8c5e if(pardata.IIN != VOLTS) 80a8c24: 4b58 ldr r3, [pc, #352] ; (80a8d88 ) 80a8c26: 799b ldrb r3, [r3, #6] 80a8c28: b2db uxtb r3, r3 80a8c2a: 2b02 cmp r3, #2 80a8c2c: d00b beq.n 80a8c46 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "k&/c^", LEFT_MODE); 80a8c2e: 6efb ldr r3, [r7, #108] ; 0x6c 80a8c30: b29b uxth r3, r3 80a8c32: 00db lsls r3, r3, #3 80a8c34: b29b uxth r3, r3 80a8c36: 3335 adds r3, #53 ; 0x35 80a8c38: b299 uxth r1, r3 80a8c3a: 2303 movs r3, #3 80a8c3c: 4a53 ldr r2, [pc, #332] ; (80a8d8c ) 80a8c3e: 20dc movs r0, #220 ; 0xdc 80a8c40: f7ab fdac bl 805479c 80a8c44: e0d1 b.n 80a8dea else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "B", LEFT_MODE); 80a8c46: 6efb ldr r3, [r7, #108] ; 0x6c 80a8c48: b29b uxth r3, r3 80a8c4a: 00db lsls r3, r3, #3 80a8c4c: b29b uxth r3, r3 80a8c4e: 3335 adds r3, #53 ; 0x35 80a8c50: b299 uxth r1, r3 80a8c52: 2303 movs r3, #3 80a8c54: 4a4e ldr r2, [pc, #312] ; (80a8d90 ) 80a8c56: 20dc movs r0, #220 ; 0xdc 80a8c58: f7ab fda0 bl 805479c 80a8c5c: e0c5 b.n 80a8dea if(pardata.IPR == VEL) 80a8c5e: 4b4a ldr r3, [pc, #296] ; (80a8d88 ) 80a8c60: 785b ldrb r3, [r3, #1] 80a8c62: b2db uxtb r3, r3 80a8c64: 2b01 cmp r3, #1 80a8c66: d11c bne.n 80a8ca2 if(pardata.IIN != VOLTS) 80a8c68: 4b47 ldr r3, [pc, #284] ; (80a8d88 ) 80a8c6a: 799b ldrb r3, [r3, #6] 80a8c6c: b2db uxtb r3, r3 80a8c6e: 2b02 cmp r3, #2 80a8c70: d00b beq.n 80a8c8a BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&/c", LEFT_MODE); 80a8c72: 6efb ldr r3, [r7, #108] ; 0x6c 80a8c74: b29b uxth r3, r3 80a8c76: 00db lsls r3, r3, #3 80a8c78: b29b uxth r3, r3 80a8c7a: 3335 adds r3, #53 ; 0x35 80a8c7c: b299 uxth r1, r3 80a8c7e: 2303 movs r3, #3 80a8c80: 4a44 ldr r2, [pc, #272] ; (80a8d94 ) 80a8c82: 20dc movs r0, #220 ; 0xdc 80a8c84: f7ab fd8a bl 805479c 80a8c88: e0af b.n 80a8dea else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "B", LEFT_MODE); 80a8c8a: 6efb ldr r3, [r7, #108] ; 0x6c 80a8c8c: b29b uxth r3, r3 80a8c8e: 00db lsls r3, r3, #3 80a8c90: b29b uxth r3, r3 80a8c92: 3335 adds r3, #53 ; 0x35 80a8c94: b299 uxth r1, r3 80a8c96: 2303 movs r3, #3 80a8c98: 4a3d ldr r2, [pc, #244] ; (80a8d90 ) 80a8c9a: 20dc movs r0, #220 ; 0xdc 80a8c9c: f7ab fd7e bl 805479c 80a8ca0: e0a3 b.n 80a8dea if(pardata.IPR == DIS) 80a8ca2: 4b39 ldr r3, [pc, #228] ; (80a8d88 ) 80a8ca4: 785b ldrb r3, [r3, #1] 80a8ca6: b2db uxtb r3, r3 80a8ca8: 2b02 cmp r3, #2 80a8caa: f040 809e bne.w 80a8dea if(pardata.IIN != VOLTS) 80a8cae: 4b36 ldr r3, [pc, #216] ; (80a8d88 ) 80a8cb0: 799b ldrb r3, [r3, #6] 80a8cb2: b2db uxtb r3, r3 80a8cb4: 2b02 cmp r3, #2 80a8cb6: d00b beq.n 80a8cd0 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&", LEFT_MODE); 80a8cb8: 6efb ldr r3, [r7, #108] ; 0x6c 80a8cba: b29b uxth r3, r3 80a8cbc: 00db lsls r3, r3, #3 80a8cbe: b29b uxth r3, r3 80a8cc0: 3335 adds r3, #53 ; 0x35 80a8cc2: b299 uxth r1, r3 80a8cc4: 2303 movs r3, #3 80a8cc6: 4a34 ldr r2, [pc, #208] ; (80a8d98 ) 80a8cc8: 20dc movs r0, #220 ; 0xdc 80a8cca: f7ab fd67 bl 805479c 80a8cce: e08c b.n 80a8dea else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "B", LEFT_MODE); 80a8cd0: 6efb ldr r3, [r7, #108] ; 0x6c 80a8cd2: b29b uxth r3, r3 80a8cd4: 00db lsls r3, r3, #3 80a8cd6: b29b uxth r3, r3 80a8cd8: 3335 adds r3, #53 ; 0x35 80a8cda: b299 uxth r1, r3 80a8cdc: 2303 movs r3, #3 80a8cde: 4a2c ldr r2, [pc, #176] ; (80a8d90 ) 80a8ce0: 20dc movs r0, #220 ; 0xdc 80a8ce2: f7ab fd5b bl 805479c 80a8ce6: e080 b.n 80a8dea if(pardata.IPR == ACC) 80a8ce8: 4b27 ldr r3, [pc, #156] ; (80a8d88 ) 80a8cea: 785b ldrb r3, [r3, #1] 80a8cec: b2db uxtb r3, r3 80a8cee: 2b00 cmp r3, #0 80a8cf0: d11c bne.n 80a8d2c if(pardata.IIN != VOLTS) 80a8cf2: 4b25 ldr r3, [pc, #148] ; (80a8d88 ) 80a8cf4: 799b ldrb r3, [r3, #6] 80a8cf6: b2db uxtb r3, r3 80a8cf8: 2b02 cmp r3, #2 80a8cfa: d00b beq.n 80a8d14 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "km/c^", LEFT_MODE); 80a8cfc: 6efb ldr r3, [r7, #108] ; 0x6c 80a8cfe: b29b uxth r3, r3 80a8d00: 00db lsls r3, r3, #3 80a8d02: b29b uxth r3, r3 80a8d04: 3335 adds r3, #53 ; 0x35 80a8d06: b299 uxth r1, r3 80a8d08: 2303 movs r3, #3 80a8d0a: 4a24 ldr r2, [pc, #144] ; (80a8d9c ) 80a8d0c: 20dc movs r0, #220 ; 0xdc 80a8d0e: f7ab fd45 bl 805479c 80a8d12: e06a b.n 80a8dea else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "V", LEFT_MODE); 80a8d14: 6efb ldr r3, [r7, #108] ; 0x6c 80a8d16: b29b uxth r3, r3 80a8d18: 00db lsls r3, r3, #3 80a8d1a: b29b uxth r3, r3 80a8d1c: 3335 adds r3, #53 ; 0x35 80a8d1e: b299 uxth r1, r3 80a8d20: 2303 movs r3, #3 80a8d22: 4a1f ldr r2, [pc, #124] ; (80a8da0 ) 80a8d24: 20dc movs r0, #220 ; 0xdc 80a8d26: f7ab fd39 bl 805479c 80a8d2a: e05e b.n 80a8dea if(pardata.IPR == VEL) 80a8d2c: 4b16 ldr r3, [pc, #88] ; (80a8d88 ) 80a8d2e: 785b ldrb r3, [r3, #1] 80a8d30: b2db uxtb r3, r3 80a8d32: 2b01 cmp r3, #1 80a8d34: d138 bne.n 80a8da8 if(pardata.IIN != VOLTS) 80a8d36: 4b14 ldr r3, [pc, #80] ; (80a8d88 ) 80a8d38: 799b ldrb r3, [r3, #6] 80a8d3a: b2db uxtb r3, r3 80a8d3c: 2b02 cmp r3, #2 80a8d3e: d00b beq.n 80a8d58 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "m/c", LEFT_MODE); 80a8d40: 6efb ldr r3, [r7, #108] ; 0x6c 80a8d42: b29b uxth r3, r3 80a8d44: 00db lsls r3, r3, #3 80a8d46: b29b uxth r3, r3 80a8d48: 3335 adds r3, #53 ; 0x35 80a8d4a: b299 uxth r1, r3 80a8d4c: 2303 movs r3, #3 80a8d4e: 4a15 ldr r2, [pc, #84] ; (80a8da4 ) 80a8d50: 20dc movs r0, #220 ; 0xdc 80a8d52: f7ab fd23 bl 805479c 80a8d56: e048 b.n 80a8dea else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "V", LEFT_MODE); 80a8d58: 6efb ldr r3, [r7, #108] ; 0x6c 80a8d5a: b29b uxth r3, r3 80a8d5c: 00db lsls r3, r3, #3 80a8d5e: b29b uxth r3, r3 80a8d60: 3335 adds r3, #53 ; 0x35 80a8d62: b299 uxth r1, r3 80a8d64: 2303 movs r3, #3 80a8d66: 4a0e ldr r2, [pc, #56] ; (80a8da0 ) 80a8d68: 20dc movs r0, #220 ; 0xdc 80a8d6a: f7ab fd17 bl 805479c 80a8d6e: e03c b.n 80a8dea 80a8d70: 200215b4 .word 0x200215b4 80a8d74: 20020f8c .word 0x20020f8c 80a8d78: ff26a01f .word 0xff26a01f 80a8d7c: 447a0000 .word 0x447a0000 80a8d80: c47a0000 .word 0xc47a0000 80a8d84: 3a83126f .word 0x3a83126f 80a8d88: 20023ea8 .word 0x20023ea8 80a8d8c: 080d4db0 .word 0x080d4db0 80a8d90: 080d4e0c .word 0x080d4e0c 80a8d94: 080d4e10 .word 0x080d4e10 80a8d98: 080d4e14 .word 0x080d4e14 80a8d9c: 080d4db8 .word 0x080d4db8 80a8da0: 080d2a10 .word 0x080d2a10 80a8da4: 080d4e4c .word 0x080d4e4c if(pardata.IPR == DIS) 80a8da8: 4ba7 ldr r3, [pc, #668] ; (80a9048 ) 80a8daa: 785b ldrb r3, [r3, #1] 80a8dac: b2db uxtb r3, r3 80a8dae: 2b02 cmp r3, #2 80a8db0: d11b bne.n 80a8dea if(pardata.IIN != VOLTS) 80a8db2: 4ba5 ldr r3, [pc, #660] ; (80a9048 ) 80a8db4: 799b ldrb r3, [r3, #6] 80a8db6: b2db uxtb r3, r3 80a8db8: 2b02 cmp r3, #2 80a8dba: d00b beq.n 80a8dd4 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm", LEFT_MODE); 80a8dbc: 6efb ldr r3, [r7, #108] ; 0x6c 80a8dbe: b29b uxth r3, r3 80a8dc0: 00db lsls r3, r3, #3 80a8dc2: b29b uxth r3, r3 80a8dc4: 3335 adds r3, #53 ; 0x35 80a8dc6: b299 uxth r1, r3 80a8dc8: 2303 movs r3, #3 80a8dca: 4aa0 ldr r2, [pc, #640] ; (80a904c ) 80a8dcc: 20dc movs r0, #220 ; 0xdc 80a8dce: f7ab fce5 bl 805479c 80a8dd2: e00a b.n 80a8dea else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "V", LEFT_MODE); 80a8dd4: 6efb ldr r3, [r7, #108] ; 0x6c 80a8dd6: b29b uxth r3, r3 80a8dd8: 00db lsls r3, r3, #3 80a8dda: b29b uxth r3, r3 80a8ddc: 3335 adds r3, #53 ; 0x35 80a8dde: b299 uxth r1, r3 80a8de0: 2303 movs r3, #3 80a8de2: 4a9b ldr r2, [pc, #620] ; (80a9050 ) 80a8de4: 20dc movs r0, #220 ; 0xdc 80a8de6: f7ab fcd9 bl 805479c BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a8dea: 6efb ldr r3, [r7, #108] ; 0x6c 80a8dec: b29b uxth r3, r3 80a8dee: 00db lsls r3, r3, #3 80a8df0: b29b uxth r3, r3 80a8df2: 3335 adds r3, #53 ; 0x35 80a8df4: b29c uxth r4, r3 80a8df6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8dfa: f06f 0002 mvn.w r0, #2 80a8dfe: eeb0 0a67 vmov.f32 s0, s15 80a8e02: f7be fbcd bl 80675a0 80a8e06: 4602 mov r2, r0 80a8e08: 2302 movs r3, #2 80a8e0a: 4621 mov r1, r4 80a8e0c: 20d9 movs r0, #217 ; 0xd9 80a8e0e: f7ab fcc5 bl 805479c l = strlen((char *)FloatToASCII(Val, -3)); 80a8e12: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8e16: f06f 0002 mvn.w r0, #2 80a8e1a: eeb0 0a67 vmov.f32 s0, s15 80a8e1e: f7be fbbf bl 80675a0 80a8e22: 4603 mov r3, r0 80a8e24: 4618 mov r0, r3 80a8e26: f777 fa75 bl 8020314 80a8e2a: 4603 mov r3, r0 80a8e2c: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a8e2e: 6d3a ldr r2, [r7, #80] ; 0x50 80a8e30: 4613 mov r3, r2 80a8e32: 009b lsls r3, r3, #2 80a8e34: 4413 add r3, r2 80a8e36: 3306 adds r3, #6 80a8e38: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a8e3a: 4b86 ldr r3, [pc, #536] ; (80a9054 ) 80a8e3c: 781b ldrb r3, [r3, #0] 80a8e3e: 2b2d cmp r3, #45 ; 0x2d 80a8e40: d102 bne.n 80a8e48 80a8e42: 6d3b ldr r3, [r7, #80] ; 0x50 80a8e44: 3b05 subs r3, #5 80a8e46: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a8e48: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a8e4c: 4882 ldr r0, [pc, #520] ; (80a9058 ) 80a8e4e: f7ab fbdf bl 8054610 if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a8e52: 6efb ldr r3, [r7, #108] ; 0x6c 80a8e54: 2b00 cmp r3, #0 80a8e56: d10f bne.n 80a8e78 80a8e58: 6d3b ldr r3, [r7, #80] ; 0x50 80a8e5a: b29b uxth r3, r3 80a8e5c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a8e60: b298 uxth r0, r3 80a8e62: 6efb ldr r3, [r7, #108] ; 0x6c 80a8e64: b29b uxth r3, r3 80a8e66: 00db lsls r3, r3, #3 80a8e68: b29b uxth r3, r3 80a8e6a: 3335 adds r3, #53 ; 0x35 80a8e6c: b299 uxth r1, r3 80a8e6e: 2302 movs r3, #2 80a8e70: 4a7a ldr r2, [pc, #488] ; (80a905c ) 80a8e72: f7ab fc93 bl 805479c 80a8e76: e00e b.n 80a8e96 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a8e78: 6d3b ldr r3, [r7, #80] ; 0x50 80a8e7a: b29b uxth r3, r3 80a8e7c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a8e80: b298 uxth r0, r3 80a8e82: 6efb ldr r3, [r7, #108] ; 0x6c 80a8e84: b29b uxth r3, r3 80a8e86: 00db lsls r3, r3, #3 80a8e88: b29b uxth r3, r3 80a8e8a: 3335 adds r3, #53 ; 0x35 80a8e8c: b299 uxth r1, r3 80a8e8e: 2302 movs r3, #2 80a8e90: 4a73 ldr r2, [pc, #460] ; (80a9060 ) 80a8e92: f7ab fc83 bl 805479c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a8e96: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a8e9a: 4872 ldr r0, [pc, #456] ; (80a9064 ) 80a8e9c: f7ab fbb8 bl 8054610 80a8ea0: e386 b.n 80a95b0 if(ABS(Val) >= 0.1f) 80a8ea2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8ea6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8eaa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8eae: dd0c ble.n 80a8eca 80a8eb0: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8eb4: ed9f 7a6c vldr s14, [pc, #432] ; 80a9068 80a8eb8: eef4 7ac7 vcmpe.f32 s15, s14 80a8ebc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8ec0: bfac ite ge 80a8ec2: 2301 movge r3, #1 80a8ec4: 2300 movlt r3, #0 80a8ec6: b2db uxtb r3, r3 80a8ec8: e00b b.n 80a8ee2 80a8eca: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a8ece: ed9f 7a67 vldr s14, [pc, #412] ; 80a906c 80a8ed2: eef4 7ac7 vcmpe.f32 s15, s14 80a8ed6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8eda: bf94 ite ls 80a8edc: 2301 movls r3, #1 80a8ede: 2300 movhi r3, #0 80a8ee0: b2db uxtb r3, r3 80a8ee2: 2b00 cmp r3, #0 80a8ee4: f000 814f beq.w 80a9186 if(pardata.LANG == RUS) 80a8ee8: 4b57 ldr r3, [pc, #348] ; (80a9048 ) 80a8eea: 7b1b ldrb r3, [r3, #12] 80a8eec: b2db uxtb r3, r3 80a8eee: 2b00 cmp r3, #0 80a8ef0: d166 bne.n 80a8fc0 if(pardata.IPR == ACC) 80a8ef2: 4b55 ldr r3, [pc, #340] ; (80a9048 ) 80a8ef4: 785b ldrb r3, [r3, #1] 80a8ef6: b2db uxtb r3, r3 80a8ef8: 2b00 cmp r3, #0 80a8efa: d11c bne.n 80a8f36 if(pardata.IIN != VOLTS) 80a8efc: 4b52 ldr r3, [pc, #328] ; (80a9048 ) 80a8efe: 799b ldrb r3, [r3, #6] 80a8f00: b2db uxtb r3, r3 80a8f02: 2b02 cmp r3, #2 80a8f04: d00b beq.n 80a8f1e BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&/c^", LEFT_MODE); 80a8f06: 6efb ldr r3, [r7, #108] ; 0x6c 80a8f08: b29b uxth r3, r3 80a8f0a: 00db lsls r3, r3, #3 80a8f0c: b29b uxth r3, r3 80a8f0e: 3335 adds r3, #53 ; 0x35 80a8f10: b299 uxth r1, r3 80a8f12: 2303 movs r3, #3 80a8f14: 4a56 ldr r2, [pc, #344] ; (80a9070 ) 80a8f16: 20dc movs r0, #220 ; 0xdc 80a8f18: f7ab fc40 bl 805479c 80a8f1c: e0d7 b.n 80a90ce else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&B", LEFT_MODE); 80a8f1e: 6efb ldr r3, [r7, #108] ; 0x6c 80a8f20: b29b uxth r3, r3 80a8f22: 00db lsls r3, r3, #3 80a8f24: b29b uxth r3, r3 80a8f26: 3335 adds r3, #53 ; 0x35 80a8f28: b299 uxth r1, r3 80a8f2a: 2303 movs r3, #3 80a8f2c: 4a51 ldr r2, [pc, #324] ; (80a9074 ) 80a8f2e: 20dc movs r0, #220 ; 0xdc 80a8f30: f7ab fc34 bl 805479c 80a8f34: e0cb b.n 80a90ce if(pardata.IPR == VEL) 80a8f36: 4b44 ldr r3, [pc, #272] ; (80a9048 ) 80a8f38: 785b ldrb r3, [r3, #1] 80a8f3a: b2db uxtb r3, r3 80a8f3c: 2b01 cmp r3, #1 80a8f3e: d11c bne.n 80a8f7a if(pardata.IIN != VOLTS) 80a8f40: 4b41 ldr r3, [pc, #260] ; (80a9048 ) 80a8f42: 799b ldrb r3, [r3, #6] 80a8f44: b2db uxtb r3, r3 80a8f46: 2b02 cmp r3, #2 80a8f48: d00b beq.n 80a8f62 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&/c", LEFT_MODE); 80a8f4a: 6efb ldr r3, [r7, #108] ; 0x6c 80a8f4c: b29b uxth r3, r3 80a8f4e: 00db lsls r3, r3, #3 80a8f50: b29b uxth r3, r3 80a8f52: 3335 adds r3, #53 ; 0x35 80a8f54: b299 uxth r1, r3 80a8f56: 2303 movs r3, #3 80a8f58: 4a47 ldr r2, [pc, #284] ; (80a9078 ) 80a8f5a: 20dc movs r0, #220 ; 0xdc 80a8f5c: f7ab fc1e bl 805479c 80a8f60: e0b5 b.n 80a90ce else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&B", LEFT_MODE); 80a8f62: 6efb ldr r3, [r7, #108] ; 0x6c 80a8f64: b29b uxth r3, r3 80a8f66: 00db lsls r3, r3, #3 80a8f68: b29b uxth r3, r3 80a8f6a: 3335 adds r3, #53 ; 0x35 80a8f6c: b299 uxth r1, r3 80a8f6e: 2303 movs r3, #3 80a8f70: 4a40 ldr r2, [pc, #256] ; (80a9074 ) 80a8f72: 20dc movs r0, #220 ; 0xdc 80a8f74: f7ab fc12 bl 805479c 80a8f78: e0a9 b.n 80a90ce if(pardata.IPR == DIS) 80a8f7a: 4b33 ldr r3, [pc, #204] ; (80a9048 ) 80a8f7c: 785b ldrb r3, [r3, #1] 80a8f7e: b2db uxtb r3, r3 80a8f80: 2b02 cmp r3, #2 80a8f82: f040 80a4 bne.w 80a90ce if(pardata.IIN != VOLTS) 80a8f86: 4b30 ldr r3, [pc, #192] ; (80a9048 ) 80a8f88: 799b ldrb r3, [r3, #6] 80a8f8a: b2db uxtb r3, r3 80a8f8c: 2b02 cmp r3, #2 80a8f8e: d00b beq.n 80a8fa8 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&k&", LEFT_MODE); 80a8f90: 6efb ldr r3, [r7, #108] ; 0x6c 80a8f92: b29b uxth r3, r3 80a8f94: 00db lsls r3, r3, #3 80a8f96: b29b uxth r3, r3 80a8f98: 3335 adds r3, #53 ; 0x35 80a8f9a: b299 uxth r1, r3 80a8f9c: 2303 movs r3, #3 80a8f9e: 4a37 ldr r2, [pc, #220] ; (80a907c ) 80a8fa0: 20dc movs r0, #220 ; 0xdc 80a8fa2: f7ab fbfb bl 805479c 80a8fa6: e092 b.n 80a90ce else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&B", LEFT_MODE); 80a8fa8: 6efb ldr r3, [r7, #108] ; 0x6c 80a8faa: b29b uxth r3, r3 80a8fac: 00db lsls r3, r3, #3 80a8fae: b29b uxth r3, r3 80a8fb0: 3335 adds r3, #53 ; 0x35 80a8fb2: b299 uxth r1, r3 80a8fb4: 2303 movs r3, #3 80a8fb6: 4a2f ldr r2, [pc, #188] ; (80a9074 ) 80a8fb8: 20dc movs r0, #220 ; 0xdc 80a8fba: f7ab fbef bl 805479c 80a8fbe: e086 b.n 80a90ce if(pardata.IPR == ACC) 80a8fc0: 4b21 ldr r3, [pc, #132] ; (80a9048 ) 80a8fc2: 785b ldrb r3, [r3, #1] 80a8fc4: b2db uxtb r3, r3 80a8fc6: 2b00 cmp r3, #0 80a8fc8: d11c bne.n 80a9004 if(pardata.IIN != VOLTS) 80a8fca: 4b1f ldr r3, [pc, #124] ; (80a9048 ) 80a8fcc: 799b ldrb r3, [r3, #6] 80a8fce: b2db uxtb r3, r3 80a8fd0: 2b02 cmp r3, #2 80a8fd2: d00b beq.n 80a8fec BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "m/c^", LEFT_MODE); 80a8fd4: 6efb ldr r3, [r7, #108] ; 0x6c 80a8fd6: b29b uxth r3, r3 80a8fd8: 00db lsls r3, r3, #3 80a8fda: b29b uxth r3, r3 80a8fdc: 3335 adds r3, #53 ; 0x35 80a8fde: b299 uxth r1, r3 80a8fe0: 2303 movs r3, #3 80a8fe2: 4a27 ldr r2, [pc, #156] ; (80a9080 ) 80a8fe4: 20dc movs r0, #220 ; 0xdc 80a8fe6: f7ab fbd9 bl 805479c 80a8fea: e070 b.n 80a90ce else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mV", LEFT_MODE); 80a8fec: 6efb ldr r3, [r7, #108] ; 0x6c 80a8fee: b29b uxth r3, r3 80a8ff0: 00db lsls r3, r3, #3 80a8ff2: b29b uxth r3, r3 80a8ff4: 3335 adds r3, #53 ; 0x35 80a8ff6: b299 uxth r1, r3 80a8ff8: 2303 movs r3, #3 80a8ffa: 4a22 ldr r2, [pc, #136] ; (80a9084 ) 80a8ffc: 20dc movs r0, #220 ; 0xdc 80a8ffe: f7ab fbcd bl 805479c 80a9002: e064 b.n 80a90ce if(pardata.IPR == VEL) 80a9004: 4b10 ldr r3, [pc, #64] ; (80a9048 ) 80a9006: 785b ldrb r3, [r3, #1] 80a9008: b2db uxtb r3, r3 80a900a: 2b01 cmp r3, #1 80a900c: d13e bne.n 80a908c if(pardata.IIN != VOLTS) 80a900e: 4b0e ldr r3, [pc, #56] ; (80a9048 ) 80a9010: 799b ldrb r3, [r3, #6] 80a9012: b2db uxtb r3, r3 80a9014: 2b02 cmp r3, #2 80a9016: d00b beq.n 80a9030 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm/c", LEFT_MODE); 80a9018: 6efb ldr r3, [r7, #108] ; 0x6c 80a901a: b29b uxth r3, r3 80a901c: 00db lsls r3, r3, #3 80a901e: b29b uxth r3, r3 80a9020: 3335 adds r3, #53 ; 0x35 80a9022: b299 uxth r1, r3 80a9024: 2303 movs r3, #3 80a9026: 4a18 ldr r2, [pc, #96] ; (80a9088 ) 80a9028: 20dc movs r0, #220 ; 0xdc 80a902a: f7ab fbb7 bl 805479c 80a902e: e04e b.n 80a90ce else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mV", LEFT_MODE); 80a9030: 6efb ldr r3, [r7, #108] ; 0x6c 80a9032: b29b uxth r3, r3 80a9034: 00db lsls r3, r3, #3 80a9036: b29b uxth r3, r3 80a9038: 3335 adds r3, #53 ; 0x35 80a903a: b299 uxth r1, r3 80a903c: 2303 movs r3, #3 80a903e: 4a11 ldr r2, [pc, #68] ; (80a9084 ) 80a9040: 20dc movs r0, #220 ; 0xdc 80a9042: f7ab fbab bl 805479c 80a9046: e042 b.n 80a90ce 80a9048: 20023ea8 .word 0x20023ea8 80a904c: 080d4d24 .word 0x080d4d24 80a9050: 080d2a10 .word 0x080d2a10 80a9054: 20026cf8 .word 0x20026cf8 80a9058: ffffa500 .word 0xffffa500 80a905c: 080d4e04 .word 0x080d4e04 80a9060: 080d4e08 .word 0x080d4e08 80a9064: ff26a01f .word 0xff26a01f 80a9068: 3dcccccd .word 0x3dcccccd 80a906c: bdcccccd .word 0xbdcccccd 80a9070: 080d4dc0 .word 0x080d4dc0 80a9074: 080d4e18 .word 0x080d4e18 80a9078: 080d4e20 .word 0x080d4e20 80a907c: 080d4e28 .word 0x080d4e28 80a9080: 080d4dc8 .word 0x080d4dc8 80a9084: 080d4e1c .word 0x080d4e1c 80a9088: 080d4e50 .word 0x080d4e50 if(pardata.IPR == DIS) 80a908c: 4bb2 ldr r3, [pc, #712] ; (80a9358 ) 80a908e: 785b ldrb r3, [r3, #1] 80a9090: b2db uxtb r3, r3 80a9092: 2b02 cmp r3, #2 80a9094: d11b bne.n 80a90ce if(pardata.IIN != VOLTS) 80a9096: 4bb0 ldr r3, [pc, #704] ; (80a9358 ) 80a9098: 799b ldrb r3, [r3, #6] 80a909a: b2db uxtb r3, r3 80a909c: 2b02 cmp r3, #2 80a909e: d00b beq.n 80a90b8 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "um", LEFT_MODE); 80a90a0: 6efb ldr r3, [r7, #108] ; 0x6c 80a90a2: b29b uxth r3, r3 80a90a4: 00db lsls r3, r3, #3 80a90a6: b29b uxth r3, r3 80a90a8: 3335 adds r3, #53 ; 0x35 80a90aa: b299 uxth r1, r3 80a90ac: 2303 movs r3, #3 80a90ae: 4aab ldr r2, [pc, #684] ; (80a935c ) 80a90b0: 20dc movs r0, #220 ; 0xdc 80a90b2: f7ab fb73 bl 805479c 80a90b6: e00a b.n 80a90ce else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mV", LEFT_MODE); 80a90b8: 6efb ldr r3, [r7, #108] ; 0x6c 80a90ba: b29b uxth r3, r3 80a90bc: 00db lsls r3, r3, #3 80a90be: b29b uxth r3, r3 80a90c0: 3335 adds r3, #53 ; 0x35 80a90c2: b299 uxth r1, r3 80a90c4: 2303 movs r3, #3 80a90c6: 4aa6 ldr r2, [pc, #664] ; (80a9360 ) 80a90c8: 20dc movs r0, #220 ; 0xdc 80a90ca: f7ab fb67 bl 805479c BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a90ce: 6efb ldr r3, [r7, #108] ; 0x6c 80a90d0: b29b uxth r3, r3 80a90d2: 00db lsls r3, r3, #3 80a90d4: b29b uxth r3, r3 80a90d6: 3335 adds r3, #53 ; 0x35 80a90d8: b29c uxth r4, r3 80a90da: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a90de: f06f 0002 mvn.w r0, #2 80a90e2: eeb0 0a67 vmov.f32 s0, s15 80a90e6: f7be fa5b bl 80675a0 80a90ea: 4602 mov r2, r0 80a90ec: 2302 movs r3, #2 80a90ee: 4621 mov r1, r4 80a90f0: 20d9 movs r0, #217 ; 0xd9 80a90f2: f7ab fb53 bl 805479c l = strlen((char *)FloatToASCII(Val, -3)); 80a90f6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a90fa: f06f 0002 mvn.w r0, #2 80a90fe: eeb0 0a67 vmov.f32 s0, s15 80a9102: f7be fa4d bl 80675a0 80a9106: 4603 mov r3, r0 80a9108: 4618 mov r0, r3 80a910a: f777 f903 bl 8020314 80a910e: 4603 mov r3, r0 80a9110: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a9112: 6d3a ldr r2, [r7, #80] ; 0x50 80a9114: 4613 mov r3, r2 80a9116: 009b lsls r3, r3, #2 80a9118: 4413 add r3, r2 80a911a: 3306 adds r3, #6 80a911c: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a911e: 4b91 ldr r3, [pc, #580] ; (80a9364 ) 80a9120: 781b ldrb r3, [r3, #0] 80a9122: 2b2d cmp r3, #45 ; 0x2d 80a9124: d102 bne.n 80a912c 80a9126: 6d3b ldr r3, [r7, #80] ; 0x50 80a9128: 3b05 subs r3, #5 80a912a: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a912c: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a9130: 488d ldr r0, [pc, #564] ; (80a9368 ) 80a9132: f7ab fa6d bl 8054610 if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a9136: 6efb ldr r3, [r7, #108] ; 0x6c 80a9138: 2b00 cmp r3, #0 80a913a: d10f bne.n 80a915c 80a913c: 6d3b ldr r3, [r7, #80] ; 0x50 80a913e: b29b uxth r3, r3 80a9140: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a9144: b298 uxth r0, r3 80a9146: 6efb ldr r3, [r7, #108] ; 0x6c 80a9148: b29b uxth r3, r3 80a914a: 00db lsls r3, r3, #3 80a914c: b29b uxth r3, r3 80a914e: 3335 adds r3, #53 ; 0x35 80a9150: b299 uxth r1, r3 80a9152: 2302 movs r3, #2 80a9154: 4a85 ldr r2, [pc, #532] ; (80a936c ) 80a9156: f7ab fb21 bl 805479c 80a915a: e00e b.n 80a917a else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a915c: 6d3b ldr r3, [r7, #80] ; 0x50 80a915e: b29b uxth r3, r3 80a9160: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a9164: b298 uxth r0, r3 80a9166: 6efb ldr r3, [r7, #108] ; 0x6c 80a9168: b29b uxth r3, r3 80a916a: 00db lsls r3, r3, #3 80a916c: b29b uxth r3, r3 80a916e: 3335 adds r3, #53 ; 0x35 80a9170: b299 uxth r1, r3 80a9172: 2302 movs r3, #2 80a9174: 4a7e ldr r2, [pc, #504] ; (80a9370 ) 80a9176: f7ab fb11 bl 805479c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a917a: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a917e: 487d ldr r0, [pc, #500] ; (80a9374 ) 80a9180: f7ab fa46 bl 8054610 80a9184: e214 b.n 80a95b0 if(pardata.IPR == ACC) 80a9186: 4b74 ldr r3, [pc, #464] ; (80a9358 ) 80a9188: 785b ldrb r3, [r3, #1] 80a918a: b2db uxtb r3, r3 80a918c: 2b00 cmp r3, #0 80a918e: f040 80a2 bne.w 80a92d6 Val *= 1000.0f; 80a9192: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9196: ed9f 7a78 vldr s14, [pc, #480] ; 80a9378 80a919a: ee67 7a87 vmul.f32 s15, s15, s14 80a919e: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IIN != VOLTS) 80a91a2: 4b6d ldr r3, [pc, #436] ; (80a9358 ) 80a91a4: 799b ldrb r3, [r3, #6] 80a91a6: b2db uxtb r3, r3 80a91a8: 2b02 cmp r3, #2 80a91aa: d01c beq.n 80a91e6 if(pardata.LANG == RUS) 80a91ac: 4b6a ldr r3, [pc, #424] ; (80a9358 ) 80a91ae: 7b1b ldrb r3, [r3, #12] 80a91b0: b2db uxtb r3, r3 80a91b2: 2b00 cmp r3, #0 80a91b4: d10b bne.n 80a91ce BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&&/c^", LEFT_MODE); 80a91b6: 6efb ldr r3, [r7, #108] ; 0x6c 80a91b8: b29b uxth r3, r3 80a91ba: 00db lsls r3, r3, #3 80a91bc: b29b uxth r3, r3 80a91be: 3335 adds r3, #53 ; 0x35 80a91c0: b299 uxth r1, r3 80a91c2: 2303 movs r3, #3 80a91c4: 4a6d ldr r2, [pc, #436] ; (80a937c ) 80a91c6: 20dc movs r0, #220 ; 0xdc 80a91c8: f7ab fae8 bl 805479c 80a91cc: e027 b.n 80a921e else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "mm/c^", LEFT_MODE); 80a91ce: 6efb ldr r3, [r7, #108] ; 0x6c 80a91d0: b29b uxth r3, r3 80a91d2: 00db lsls r3, r3, #3 80a91d4: b29b uxth r3, r3 80a91d6: 3335 adds r3, #53 ; 0x35 80a91d8: b299 uxth r1, r3 80a91da: 2303 movs r3, #3 80a91dc: 4a68 ldr r2, [pc, #416] ; (80a9380 ) 80a91de: 20dc movs r0, #220 ; 0xdc 80a91e0: f7ab fadc bl 805479c 80a91e4: e01b b.n 80a921e if(pardata.LANG == RUS) 80a91e6: 4b5c ldr r3, [pc, #368] ; (80a9358 ) 80a91e8: 7b1b ldrb r3, [r3, #12] 80a91ea: b2db uxtb r3, r3 80a91ec: 2b00 cmp r3, #0 80a91ee: d10b bne.n 80a9208 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&kB", LEFT_MODE); 80a91f0: 6efb ldr r3, [r7, #108] ; 0x6c 80a91f2: b29b uxth r3, r3 80a91f4: 00db lsls r3, r3, #3 80a91f6: b29b uxth r3, r3 80a91f8: 3335 adds r3, #53 ; 0x35 80a91fa: b299 uxth r1, r3 80a91fc: 2303 movs r3, #3 80a91fe: 4a61 ldr r2, [pc, #388] ; (80a9384 ) 80a9200: 20dc movs r0, #220 ; 0xdc 80a9202: f7ab facb bl 805479c 80a9206: e00a b.n 80a921e else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "uV", LEFT_MODE); 80a9208: 6efb ldr r3, [r7, #108] ; 0x6c 80a920a: b29b uxth r3, r3 80a920c: 00db lsls r3, r3, #3 80a920e: b29b uxth r3, r3 80a9210: 3335 adds r3, #53 ; 0x35 80a9212: b299 uxth r1, r3 80a9214: 2303 movs r3, #3 80a9216: 4a5c ldr r2, [pc, #368] ; (80a9388 ) 80a9218: 20dc movs r0, #220 ; 0xdc 80a921a: f7ab fabf bl 805479c BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a921e: 6efb ldr r3, [r7, #108] ; 0x6c 80a9220: b29b uxth r3, r3 80a9222: 00db lsls r3, r3, #3 80a9224: b29b uxth r3, r3 80a9226: 3335 adds r3, #53 ; 0x35 80a9228: b29c uxth r4, r3 80a922a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a922e: f06f 0002 mvn.w r0, #2 80a9232: eeb0 0a67 vmov.f32 s0, s15 80a9236: f7be f9b3 bl 80675a0 80a923a: 4602 mov r2, r0 80a923c: 2302 movs r3, #2 80a923e: 4621 mov r1, r4 80a9240: 20d9 movs r0, #217 ; 0xd9 80a9242: f7ab faab bl 805479c l = strlen((char *)FloatToASCII(Val, -3)); 80a9246: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a924a: f06f 0002 mvn.w r0, #2 80a924e: eeb0 0a67 vmov.f32 s0, s15 80a9252: f7be f9a5 bl 80675a0 80a9256: 4603 mov r3, r0 80a9258: 4618 mov r0, r3 80a925a: f777 f85b bl 8020314 80a925e: 4603 mov r3, r0 80a9260: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a9262: 6d3a ldr r2, [r7, #80] ; 0x50 80a9264: 4613 mov r3, r2 80a9266: 009b lsls r3, r3, #2 80a9268: 4413 add r3, r2 80a926a: 3306 adds r3, #6 80a926c: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a926e: 4b3d ldr r3, [pc, #244] ; (80a9364 ) 80a9270: 781b ldrb r3, [r3, #0] 80a9272: 2b2d cmp r3, #45 ; 0x2d 80a9274: d102 bne.n 80a927c 80a9276: 6d3b ldr r3, [r7, #80] ; 0x50 80a9278: 3b05 subs r3, #5 80a927a: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a927c: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a9280: 4839 ldr r0, [pc, #228] ; (80a9368 ) 80a9282: f7ab f9c5 bl 8054610 if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a9286: 6efb ldr r3, [r7, #108] ; 0x6c 80a9288: 2b00 cmp r3, #0 80a928a: d10f bne.n 80a92ac 80a928c: 6d3b ldr r3, [r7, #80] ; 0x50 80a928e: b29b uxth r3, r3 80a9290: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a9294: b298 uxth r0, r3 80a9296: 6efb ldr r3, [r7, #108] ; 0x6c 80a9298: b29b uxth r3, r3 80a929a: 00db lsls r3, r3, #3 80a929c: b29b uxth r3, r3 80a929e: 3335 adds r3, #53 ; 0x35 80a92a0: b299 uxth r1, r3 80a92a2: 2302 movs r3, #2 80a92a4: 4a31 ldr r2, [pc, #196] ; (80a936c ) 80a92a6: f7ab fa79 bl 805479c 80a92aa: e00e b.n 80a92ca else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a92ac: 6d3b ldr r3, [r7, #80] ; 0x50 80a92ae: b29b uxth r3, r3 80a92b0: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a92b4: b298 uxth r0, r3 80a92b6: 6efb ldr r3, [r7, #108] ; 0x6c 80a92b8: b29b uxth r3, r3 80a92ba: 00db lsls r3, r3, #3 80a92bc: b29b uxth r3, r3 80a92be: 3335 adds r3, #53 ; 0x35 80a92c0: b299 uxth r1, r3 80a92c2: 2302 movs r3, #2 80a92c4: 4a2a ldr r2, [pc, #168] ; (80a9370 ) 80a92c6: f7ab fa69 bl 805479c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a92ca: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a92ce: 4829 ldr r0, [pc, #164] ; (80a9374 ) 80a92d0: f7ab f99e bl 8054610 80a92d4: e16c b.n 80a95b0 if(pardata.IPR == VEL) 80a92d6: 4b20 ldr r3, [pc, #128] ; (80a9358 ) 80a92d8: 785b ldrb r3, [r3, #1] 80a92da: b2db uxtb r3, r3 80a92dc: 2b01 cmp r3, #1 80a92de: f040 80c0 bne.w 80a9462 Val *= 1000.0f; 80a92e2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a92e6: ed9f 7a24 vldr s14, [pc, #144] ; 80a9378 80a92ea: ee67 7a87 vmul.f32 s15, s15, s14 80a92ee: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.IIN != VOLTS) 80a92f2: 4b19 ldr r3, [pc, #100] ; (80a9358 ) 80a92f4: 799b ldrb r3, [r3, #6] 80a92f6: b2db uxtb r3, r3 80a92f8: 2b02 cmp r3, #2 80a92fa: d01c beq.n 80a9336 if(pardata.LANG == RUS) 80a92fc: 4b16 ldr r3, [pc, #88] ; (80a9358 ) 80a92fe: 7b1b ldrb r3, [r3, #12] 80a9300: b2db uxtb r3, r3 80a9302: 2b00 cmp r3, #0 80a9304: d10b bne.n 80a931e BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&k&/c", LEFT_MODE); 80a9306: 6efb ldr r3, [r7, #108] ; 0x6c 80a9308: b29b uxth r3, r3 80a930a: 00db lsls r3, r3, #3 80a930c: b29b uxth r3, r3 80a930e: 3335 adds r3, #53 ; 0x35 80a9310: b299 uxth r1, r3 80a9312: 2303 movs r3, #3 80a9314: 4a1d ldr r2, [pc, #116] ; (80a938c ) 80a9316: 20dc movs r0, #220 ; 0xdc 80a9318: f7ab fa40 bl 805479c 80a931c: e045 b.n 80a93aa else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "um/c", LEFT_MODE); 80a931e: 6efb ldr r3, [r7, #108] ; 0x6c 80a9320: b29b uxth r3, r3 80a9322: 00db lsls r3, r3, #3 80a9324: b29b uxth r3, r3 80a9326: 3335 adds r3, #53 ; 0x35 80a9328: b299 uxth r1, r3 80a932a: 2303 movs r3, #3 80a932c: 4a18 ldr r2, [pc, #96] ; (80a9390 ) 80a932e: 20dc movs r0, #220 ; 0xdc 80a9330: f7ab fa34 bl 805479c 80a9334: e039 b.n 80a93aa if(pardata.LANG == RUS) 80a9336: 4b08 ldr r3, [pc, #32] ; (80a9358 ) 80a9338: 7b1b ldrb r3, [r3, #12] 80a933a: b2db uxtb r3, r3 80a933c: 2b00 cmp r3, #0 80a933e: d129 bne.n 80a9394 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&kB", LEFT_MODE); 80a9340: 6efb ldr r3, [r7, #108] ; 0x6c 80a9342: b29b uxth r3, r3 80a9344: 00db lsls r3, r3, #3 80a9346: b29b uxth r3, r3 80a9348: 3335 adds r3, #53 ; 0x35 80a934a: b299 uxth r1, r3 80a934c: 2303 movs r3, #3 80a934e: 4a0d ldr r2, [pc, #52] ; (80a9384 ) 80a9350: 20dc movs r0, #220 ; 0xdc 80a9352: f7ab fa23 bl 805479c 80a9356: e028 b.n 80a93aa 80a9358: 20023ea8 .word 0x20023ea8 80a935c: 080d4d4c .word 0x080d4d4c 80a9360: 080d4e1c .word 0x080d4e1c 80a9364: 20026cf8 .word 0x20026cf8 80a9368: ffffa500 .word 0xffffa500 80a936c: 080d4e04 .word 0x080d4e04 80a9370: 080d4e08 .word 0x080d4e08 80a9374: ff26a01f .word 0xff26a01f 80a9378: 447a0000 .word 0x447a0000 80a937c: 080d4dd0 .word 0x080d4dd0 80a9380: 080d4dd8 .word 0x080d4dd8 80a9384: 080d4e2c .word 0x080d4e2c 80a9388: 080d4d7c .word 0x080d4d7c 80a938c: 080d4e30 .word 0x080d4e30 80a9390: 080d4e58 .word 0x080d4e58 else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "uV", LEFT_MODE); 80a9394: 6efb ldr r3, [r7, #108] ; 0x6c 80a9396: b29b uxth r3, r3 80a9398: 00db lsls r3, r3, #3 80a939a: b29b uxth r3, r3 80a939c: 3335 adds r3, #53 ; 0x35 80a939e: b299 uxth r1, r3 80a93a0: 2303 movs r3, #3 80a93a2: 4ab4 ldr r2, [pc, #720] ; (80a9674 ) 80a93a4: 20dc movs r0, #220 ; 0xdc 80a93a6: f7ab f9f9 bl 805479c BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a93aa: 6efb ldr r3, [r7, #108] ; 0x6c 80a93ac: b29b uxth r3, r3 80a93ae: 00db lsls r3, r3, #3 80a93b0: b29b uxth r3, r3 80a93b2: 3335 adds r3, #53 ; 0x35 80a93b4: b29c uxth r4, r3 80a93b6: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a93ba: f06f 0002 mvn.w r0, #2 80a93be: eeb0 0a67 vmov.f32 s0, s15 80a93c2: f7be f8ed bl 80675a0 80a93c6: 4602 mov r2, r0 80a93c8: 2302 movs r3, #2 80a93ca: 4621 mov r1, r4 80a93cc: 20d9 movs r0, #217 ; 0xd9 80a93ce: f7ab f9e5 bl 805479c l = strlen((char *)FloatToASCII(Val, -3)); 80a93d2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a93d6: f06f 0002 mvn.w r0, #2 80a93da: eeb0 0a67 vmov.f32 s0, s15 80a93de: f7be f8df bl 80675a0 80a93e2: 4603 mov r3, r0 80a93e4: 4618 mov r0, r3 80a93e6: f776 ff95 bl 8020314 80a93ea: 4603 mov r3, r0 80a93ec: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a93ee: 6d3a ldr r2, [r7, #80] ; 0x50 80a93f0: 4613 mov r3, r2 80a93f2: 009b lsls r3, r3, #2 80a93f4: 4413 add r3, r2 80a93f6: 3306 adds r3, #6 80a93f8: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a93fa: 4b9f ldr r3, [pc, #636] ; (80a9678 ) 80a93fc: 781b ldrb r3, [r3, #0] 80a93fe: 2b2d cmp r3, #45 ; 0x2d 80a9400: d102 bne.n 80a9408 80a9402: 6d3b ldr r3, [r7, #80] ; 0x50 80a9404: 3b05 subs r3, #5 80a9406: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a9408: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a940c: 489b ldr r0, [pc, #620] ; (80a967c ) 80a940e: f7ab f8ff bl 8054610 if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a9412: 6efb ldr r3, [r7, #108] ; 0x6c 80a9414: 2b00 cmp r3, #0 80a9416: d10f bne.n 80a9438 80a9418: 6d3b ldr r3, [r7, #80] ; 0x50 80a941a: b29b uxth r3, r3 80a941c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a9420: b298 uxth r0, r3 80a9422: 6efb ldr r3, [r7, #108] ; 0x6c 80a9424: b29b uxth r3, r3 80a9426: 00db lsls r3, r3, #3 80a9428: b29b uxth r3, r3 80a942a: 3335 adds r3, #53 ; 0x35 80a942c: b299 uxth r1, r3 80a942e: 2302 movs r3, #2 80a9430: 4a93 ldr r2, [pc, #588] ; (80a9680 ) 80a9432: f7ab f9b3 bl 805479c 80a9436: e00e b.n 80a9456 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a9438: 6d3b ldr r3, [r7, #80] ; 0x50 80a943a: b29b uxth r3, r3 80a943c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a9440: b298 uxth r0, r3 80a9442: 6efb ldr r3, [r7, #108] ; 0x6c 80a9444: b29b uxth r3, r3 80a9446: 00db lsls r3, r3, #3 80a9448: b29b uxth r3, r3 80a944a: 3335 adds r3, #53 ; 0x35 80a944c: b299 uxth r1, r3 80a944e: 2302 movs r3, #2 80a9450: 4a8c ldr r2, [pc, #560] ; (80a9684 ) 80a9452: f7ab f9a3 bl 805479c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a9456: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a945a: 488b ldr r0, [pc, #556] ; (80a9688 ) 80a945c: f7ab f8d8 bl 8054610 80a9460: e0a6 b.n 80a95b0 if(pardata.IPR == DIS) 80a9462: 4b8a ldr r3, [pc, #552] ; (80a968c ) 80a9464: 785b ldrb r3, [r3, #1] 80a9466: b2db uxtb r3, r3 80a9468: 2b02 cmp r3, #2 80a946a: f040 80a1 bne.w 80a95b0 if(pardata.IIN != VOLTS) 80a946e: 4b87 ldr r3, [pc, #540] ; (80a968c ) 80a9470: 799b ldrb r3, [r3, #6] 80a9472: b2db uxtb r3, r3 80a9474: 2b02 cmp r3, #2 80a9476: d01c beq.n 80a94b2 if(pardata.LANG == RUS) 80a9478: 4b84 ldr r3, [pc, #528] ; (80a968c ) 80a947a: 7b1b ldrb r3, [r3, #12] 80a947c: b2db uxtb r3, r3 80a947e: 2b00 cmp r3, #0 80a9480: d10b bne.n 80a949a BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&k&", LEFT_MODE); 80a9482: 6efb ldr r3, [r7, #108] ; 0x6c 80a9484: b29b uxth r3, r3 80a9486: 00db lsls r3, r3, #3 80a9488: b29b uxth r3, r3 80a948a: 3335 adds r3, #53 ; 0x35 80a948c: b299 uxth r1, r3 80a948e: 2303 movs r3, #3 80a9490: 4a7f ldr r2, [pc, #508] ; (80a9690 ) 80a9492: 20dc movs r0, #220 ; 0xdc 80a9494: f7ab f982 bl 805479c 80a9498: e02f b.n 80a94fa else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "um", LEFT_MODE); 80a949a: 6efb ldr r3, [r7, #108] ; 0x6c 80a949c: b29b uxth r3, r3 80a949e: 00db lsls r3, r3, #3 80a94a0: b29b uxth r3, r3 80a94a2: 3335 adds r3, #53 ; 0x35 80a94a4: b299 uxth r1, r3 80a94a6: 2303 movs r3, #3 80a94a8: 4a7a ldr r2, [pc, #488] ; (80a9694 ) 80a94aa: 20dc movs r0, #220 ; 0xdc 80a94ac: f7ab f976 bl 805479c 80a94b0: e023 b.n 80a94fa Val *= 1000.0f; 80a94b2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a94b6: ed9f 7a78 vldr s14, [pc, #480] ; 80a9698 80a94ba: ee67 7a87 vmul.f32 s15, s15, s14 80a94be: edc7 7a0f vstr s15, [r7, #60] ; 0x3c if(pardata.LANG == RUS) 80a94c2: 4b72 ldr r3, [pc, #456] ; (80a968c ) 80a94c4: 7b1b ldrb r3, [r3, #12] 80a94c6: b2db uxtb r3, r3 80a94c8: 2b00 cmp r3, #0 80a94ca: d10b bne.n 80a94e4 BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "&kB", LEFT_MODE); 80a94cc: 6efb ldr r3, [r7, #108] ; 0x6c 80a94ce: b29b uxth r3, r3 80a94d0: 00db lsls r3, r3, #3 80a94d2: b29b uxth r3, r3 80a94d4: 3335 adds r3, #53 ; 0x35 80a94d6: b299 uxth r1, r3 80a94d8: 2303 movs r3, #3 80a94da: 4a70 ldr r2, [pc, #448] ; (80a969c ) 80a94dc: 20dc movs r0, #220 ; 0xdc 80a94de: f7ab f95d bl 805479c 80a94e2: e00a b.n 80a94fa else BSP_LCD_DisplayStringAt(220, 53 + 8 * i, "uV", LEFT_MODE); 80a94e4: 6efb ldr r3, [r7, #108] ; 0x6c 80a94e6: b29b uxth r3, r3 80a94e8: 00db lsls r3, r3, #3 80a94ea: b29b uxth r3, r3 80a94ec: 3335 adds r3, #53 ; 0x35 80a94ee: b299 uxth r1, r3 80a94f0: 2303 movs r3, #3 80a94f2: 4a60 ldr r2, [pc, #384] ; (80a9674 ) 80a94f4: 20dc movs r0, #220 ; 0xdc 80a94f6: f7ab f951 bl 805479c BSP_LCD_DisplayStringAt(217, 53 + 8 * i, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a94fa: 6efb ldr r3, [r7, #108] ; 0x6c 80a94fc: b29b uxth r3, r3 80a94fe: 00db lsls r3, r3, #3 80a9500: b29b uxth r3, r3 80a9502: 3335 adds r3, #53 ; 0x35 80a9504: b29c uxth r4, r3 80a9506: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a950a: f06f 0002 mvn.w r0, #2 80a950e: eeb0 0a67 vmov.f32 s0, s15 80a9512: f7be f845 bl 80675a0 80a9516: 4602 mov r2, r0 80a9518: 2302 movs r3, #2 80a951a: 4621 mov r1, r4 80a951c: 20d9 movs r0, #217 ; 0xd9 80a951e: f7ab f93d bl 805479c l = strlen((char *)FloatToASCII(Val, -3)); 80a9522: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80a9526: f06f 0002 mvn.w r0, #2 80a952a: eeb0 0a67 vmov.f32 s0, s15 80a952e: f7be f837 bl 80675a0 80a9532: 4603 mov r3, r0 80a9534: 4618 mov r0, r3 80a9536: f776 feed bl 8020314 80a953a: 4603 mov r3, r0 80a953c: 653b str r3, [r7, #80] ; 0x50 l = l * 5 + 6; 80a953e: 6d3a ldr r2, [r7, #80] ; 0x50 80a9540: 4613 mov r3, r2 80a9542: 009b lsls r3, r3, #2 80a9544: 4413 add r3, r2 80a9546: 3306 adds r3, #6 80a9548: 653b str r3, [r7, #80] ; 0x50 if(pString[0] == '-') l -= 5; 80a954a: 4b4b ldr r3, [pc, #300] ; (80a9678 ) 80a954c: 781b ldrb r3, [r3, #0] 80a954e: 2b2d cmp r3, #45 ; 0x2d 80a9550: d102 bne.n 80a9558 80a9552: 6d3b ldr r3, [r7, #80] ; 0x50 80a9554: 3b05 subs r3, #5 80a9556: 653b str r3, [r7, #80] ; 0x50 LCD_SetColors(LCD_COLOR_ORANGE, 0xFF000000); 80a9558: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a955c: 4847 ldr r0, [pc, #284] ; (80a967c ) 80a955e: f7ab f857 bl 8054610 if(!i) BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[1]", RIGHT_MODE); 80a9562: 6efb ldr r3, [r7, #108] ; 0x6c 80a9564: 2b00 cmp r3, #0 80a9566: d10f bne.n 80a9588 80a9568: 6d3b ldr r3, [r7, #80] ; 0x50 80a956a: b29b uxth r3, r3 80a956c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a9570: b298 uxth r0, r3 80a9572: 6efb ldr r3, [r7, #108] ; 0x6c 80a9574: b29b uxth r3, r3 80a9576: 00db lsls r3, r3, #3 80a9578: b29b uxth r3, r3 80a957a: 3335 adds r3, #53 ; 0x35 80a957c: b299 uxth r1, r3 80a957e: 2302 movs r3, #2 80a9580: 4a3f ldr r2, [pc, #252] ; (80a9680 ) 80a9582: f7ab f90b bl 805479c 80a9586: e00e b.n 80a95a6 else BSP_LCD_DisplayStringAt(217 - l, 53 + 8 * i, "[2]", RIGHT_MODE); 80a9588: 6d3b ldr r3, [r7, #80] ; 0x50 80a958a: b29b uxth r3, r3 80a958c: f1c3 03d9 rsb r3, r3, #217 ; 0xd9 80a9590: b298 uxth r0, r3 80a9592: 6efb ldr r3, [r7, #108] ; 0x6c 80a9594: b29b uxth r3, r3 80a9596: 00db lsls r3, r3, #3 80a9598: b29b uxth r3, r3 80a959a: 3335 adds r3, #53 ; 0x35 80a959c: b299 uxth r1, r3 80a959e: 2302 movs r3, #2 80a95a0: 4a38 ldr r2, [pc, #224] ; (80a9684 ) 80a95a2: f7ab f8fb bl 805479c LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a95a6: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a95aa: 4837 ldr r0, [pc, #220] ; (80a9688 ) 80a95ac: f7ab f830 bl 8054610 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a95b0: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a95b4: 483a ldr r0, [pc, #232] ; (80a96a0 ) 80a95b6: f7ab f82b bl 8054610 tmpF = (float32_t) (DynamicCursor[i].fineMpos + 1); 80a95ba: 4a3a ldr r2, [pc, #232] ; (80a96a4 ) 80a95bc: 6efb ldr r3, [r7, #108] ; 0x6c 80a95be: 011b lsls r3, r3, #4 80a95c0: 4413 add r3, r2 80a95c2: 3306 adds r3, #6 80a95c4: 881b ldrh r3, [r3, #0] 80a95c6: 3301 adds r3, #1 80a95c8: ee07 3a90 vmov s15, r3 80a95cc: eef8 7ae7 vcvt.f32.s32 s15, s15 80a95d0: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(tmpF != TF) 80a95d4: 4b34 ldr r3, [pc, #208] ; (80a96a8 ) 80a95d6: edd3 7a00 vldr s15, [r3] 80a95da: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80a95de: eeb4 7a67 vcmp.f32 s14, s15 80a95e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a95e6: d016 beq.n 80a9616 TF = tmpF; 80a95e8: 4a2f ldr r2, [pc, #188] ; (80a96a8 ) 80a95ea: 6d7b ldr r3, [r7, #84] ; 0x54 80a95ec: 6013 str r3, [r2, #0] TF *= Delta_OSC[pardata.FRQ]; 80a95ee: 4b27 ldr r3, [pc, #156] ; (80a968c ) 80a95f0: 7adb ldrb r3, [r3, #11] 80a95f2: b2db uxtb r3, r3 80a95f4: 4a2d ldr r2, [pc, #180] ; (80a96ac ) 80a95f6: 009b lsls r3, r3, #2 80a95f8: 4413 add r3, r2 80a95fa: ed93 7a00 vldr s14, [r3] 80a95fe: 4b2a ldr r3, [pc, #168] ; (80a96a8 ) 80a9600: edd3 7a00 vldr s15, [r3] 80a9604: ee67 7a27 vmul.f32 s15, s14, s15 80a9608: 4b27 ldr r3, [pc, #156] ; (80a96a8 ) 80a960a: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a960e: 4b26 ldr r3, [pc, #152] ; (80a96a8 ) 80a9610: 681b ldr r3, [r3, #0] 80a9612: 4a27 ldr r2, [pc, #156] ; (80a96b0 ) 80a9614: 6013 str r3, [r2, #0] DynamicCursor[i].val_X = TF; 80a9616: 4b24 ldr r3, [pc, #144] ; (80a96a8 ) 80a9618: 681a ldr r2, [r3, #0] 80a961a: 4922 ldr r1, [pc, #136] ; (80a96a4 ) 80a961c: 6efb ldr r3, [r7, #108] ; 0x6c 80a961e: 011b lsls r3, r3, #4 80a9620: 440b add r3, r1 80a9622: 3308 adds r3, #8 80a9624: 601a str r2, [r3, #0] tmpF = TF; 80a9626: 4b20 ldr r3, [pc, #128] ; (80a96a8 ) 80a9628: 681b ldr r3, [r3, #0] 80a962a: 657b str r3, [r7, #84] ; 0x54 if(tmpF >= 1000.0f) 80a962c: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a9630: ed9f 7a19 vldr s14, [pc, #100] ; 80a9698 80a9634: eef4 7ac7 vcmpe.f32 s15, s14 80a9638: eef1 fa10 vmrs APSR_nzcv, fpscr 80a963c: db5e blt.n 80a96fc tmpF *= 0.001f; 80a963e: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a9642: ed9f 7a1c vldr s14, [pc, #112] ; 80a96b4 80a9646: ee67 7a87 vmul.f32 s15, s15, s14 80a964a: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a964e: 4b0f ldr r3, [pc, #60] ; (80a968c ) 80a9650: 7b1b ldrb r3, [r3, #12] 80a9652: b2db uxtb r3, r3 80a9654: 2b00 cmp r3, #0 80a9656: d131 bne.n 80a96bc BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "c", LEFT_MODE); 80a9658: 6efb ldr r3, [r7, #108] ; 0x6c 80a965a: b29b uxth r3, r3 80a965c: 00db lsls r3, r3, #3 80a965e: b29b uxth r3, r3 80a9660: 3335 adds r3, #53 ; 0x35 80a9662: b299 uxth r1, r3 80a9664: 2303 movs r3, #3 80a9666: 4a14 ldr r2, [pc, #80] ; (80a96b8 ) 80a9668: f44f 7097 mov.w r0, #302 ; 0x12e 80a966c: f7ab f896 bl 805479c 80a9670: e030 b.n 80a96d4 80a9672: bf00 nop 80a9674: 080d4d7c .word 0x080d4d7c 80a9678: 20026cf8 .word 0x20026cf8 80a967c: ffffa500 .word 0xffffa500 80a9680: 080d4e04 .word 0x080d4e04 80a9684: 080d4e08 .word 0x080d4e08 80a9688: ff26a01f .word 0xff26a01f 80a968c: 20023ea8 .word 0x20023ea8 80a9690: 080d4e28 .word 0x080d4e28 80a9694: 080d4d4c .word 0x080d4d4c 80a9698: 447a0000 .word 0x447a0000 80a969c: 080d4e2c .word 0x080d4e2c 80a96a0: ff808080 .word 0xff808080 80a96a4: 20020f8c .word 0x20020f8c 80a96a8: 200215b8 .word 0x200215b8 80a96ac: 080f3a44 .word 0x080f3a44 80a96b0: 20021690 .word 0x20021690 80a96b4: 3a83126f .word 0x3a83126f 80a96b8: 080d4de0 .word 0x080d4de0 else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "s", LEFT_MODE); 80a96bc: 6efb ldr r3, [r7, #108] ; 0x6c 80a96be: b29b uxth r3, r3 80a96c0: 00db lsls r3, r3, #3 80a96c2: b29b uxth r3, r3 80a96c4: 3335 adds r3, #53 ; 0x35 80a96c6: b299 uxth r1, r3 80a96c8: 2303 movs r3, #3 80a96ca: 4a4c ldr r2, [pc, #304] ; (80a97fc ) 80a96cc: f44f 7097 mov.w r0, #302 ; 0x12e 80a96d0: f7ab f864 bl 805479c BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *) FloatToASCII(tmpF, -4), RIGHT_MODE); 80a96d4: 6efb ldr r3, [r7, #108] ; 0x6c 80a96d6: b29b uxth r3, r3 80a96d8: 00db lsls r3, r3, #3 80a96da: b29b uxth r3, r3 80a96dc: 3335 adds r3, #53 ; 0x35 80a96de: b29c uxth r4, r3 80a96e0: f06f 0003 mvn.w r0, #3 80a96e4: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a96e8: f7bd ff5a bl 80675a0 80a96ec: 4602 mov r2, r0 80a96ee: 2302 movs r3, #2 80a96f0: 4621 mov r1, r4 80a96f2: f240 102b movw r0, #299 ; 0x12b 80a96f6: f7ab f851 bl 805479c 80a96fa: e073 b.n 80a97e4 if(tmpF < 0.1f) 80a96fc: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a9700: ed9f 7a3f vldr s14, [pc, #252] ; 80a9800 80a9704: eef4 7ac7 vcmpe.f32 s15, s14 80a9708: eef1 fa10 vmrs APSR_nzcv, fpscr 80a970c: d539 bpl.n 80a9782 tmpF *= 1000.0f; 80a970e: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80a9712: ed9f 7a3c vldr s14, [pc, #240] ; 80a9804 80a9716: ee67 7a87 vmul.f32 s15, s15, s14 80a971a: edc7 7a15 vstr s15, [r7, #84] ; 0x54 if(pardata.LANG == RUS) 80a971e: 4b3a ldr r3, [pc, #232] ; (80a9808 ) 80a9720: 7b1b ldrb r3, [r3, #12] 80a9722: b2db uxtb r3, r3 80a9724: 2b00 cmp r3, #0 80a9726: d10c bne.n 80a9742 BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "&kc", LEFT_MODE); 80a9728: 6efb ldr r3, [r7, #108] ; 0x6c 80a972a: b29b uxth r3, r3 80a972c: 00db lsls r3, r3, #3 80a972e: b29b uxth r3, r3 80a9730: 3335 adds r3, #53 ; 0x35 80a9732: b299 uxth r1, r3 80a9734: 2303 movs r3, #3 80a9736: 4a35 ldr r2, [pc, #212] ; (80a980c ) 80a9738: f44f 7097 mov.w r0, #302 ; 0x12e 80a973c: f7ab f82e bl 805479c 80a9740: e00b b.n 80a975a else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "us", LEFT_MODE); 80a9742: 6efb ldr r3, [r7, #108] ; 0x6c 80a9744: b29b uxth r3, r3 80a9746: 00db lsls r3, r3, #3 80a9748: b29b uxth r3, r3 80a974a: 3335 adds r3, #53 ; 0x35 80a974c: b299 uxth r1, r3 80a974e: 2303 movs r3, #3 80a9750: 4a2f ldr r2, [pc, #188] ; (80a9810 ) 80a9752: f44f 7097 mov.w r0, #302 ; 0x12e 80a9756: f7ab f821 bl 805479c BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *) FloatToASCII(tmpF, -2), RIGHT_MODE); 80a975a: 6efb ldr r3, [r7, #108] ; 0x6c 80a975c: b29b uxth r3, r3 80a975e: 00db lsls r3, r3, #3 80a9760: b29b uxth r3, r3 80a9762: 3335 adds r3, #53 ; 0x35 80a9764: b29c uxth r4, r3 80a9766: f06f 0001 mvn.w r0, #1 80a976a: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a976e: f7bd ff17 bl 80675a0 80a9772: 4602 mov r2, r0 80a9774: 2302 movs r3, #2 80a9776: 4621 mov r1, r4 80a9778: f240 102b movw r0, #299 ; 0x12b 80a977c: f7ab f80e bl 805479c 80a9780: e030 b.n 80a97e4 if(pardata.LANG == RUS) 80a9782: 4b21 ldr r3, [pc, #132] ; (80a9808 ) 80a9784: 7b1b ldrb r3, [r3, #12] 80a9786: b2db uxtb r3, r3 80a9788: 2b00 cmp r3, #0 80a978a: d10c bne.n 80a97a6 BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "&c", LEFT_MODE); 80a978c: 6efb ldr r3, [r7, #108] ; 0x6c 80a978e: b29b uxth r3, r3 80a9790: 00db lsls r3, r3, #3 80a9792: b29b uxth r3, r3 80a9794: 3335 adds r3, #53 ; 0x35 80a9796: b299 uxth r1, r3 80a9798: 2303 movs r3, #3 80a979a: 4a1e ldr r2, [pc, #120] ; (80a9814 ) 80a979c: f44f 7097 mov.w r0, #302 ; 0x12e 80a97a0: f7aa fffc bl 805479c 80a97a4: e00b b.n 80a97be else BSP_LCD_DisplayStringAt(302, 53 + 8 * i, "ms", LEFT_MODE); 80a97a6: 6efb ldr r3, [r7, #108] ; 0x6c 80a97a8: b29b uxth r3, r3 80a97aa: 00db lsls r3, r3, #3 80a97ac: b29b uxth r3, r3 80a97ae: 3335 adds r3, #53 ; 0x35 80a97b0: b299 uxth r1, r3 80a97b2: 2303 movs r3, #3 80a97b4: 4a18 ldr r2, [pc, #96] ; (80a9818 ) 80a97b6: f44f 7097 mov.w r0, #302 ; 0x12e 80a97ba: f7aa ffef bl 805479c BSP_LCD_DisplayStringAt(299, 53 + 8 * i, (char *) FloatToASCII(tmpF, -3), RIGHT_MODE); 80a97be: 6efb ldr r3, [r7, #108] ; 0x6c 80a97c0: b29b uxth r3, r3 80a97c2: 00db lsls r3, r3, #3 80a97c4: b29b uxth r3, r3 80a97c6: 3335 adds r3, #53 ; 0x35 80a97c8: b29c uxth r4, r3 80a97ca: f06f 0002 mvn.w r0, #2 80a97ce: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80a97d2: f7bd fee5 bl 80675a0 80a97d6: 4602 mov r2, r0 80a97d8: 2302 movs r3, #2 80a97da: 4621 mov r1, r4 80a97dc: f240 102b movw r0, #299 ; 0x12b 80a97e0: f7aa ffdc bl 805479c for(i = 0; i < 2; i++) 80a97e4: 6efb ldr r3, [r7, #108] ; 0x6c 80a97e6: 3301 adds r3, #1 80a97e8: 66fb str r3, [r7, #108] ; 0x6c 80a97ea: 6efb ldr r3, [r7, #108] ; 0x6c 80a97ec: 2b01 cmp r3, #1 80a97ee: f67f a8bf bls.w 80a8970 } 80a97f2: e7ff b.n 80a97f4 80a97f4: bf00 nop 80a97f6: 3774 adds r7, #116 ; 0x74 80a97f8: 46bd mov sp, r7 80a97fa: bd90 pop {r4, r7, pc} 80a97fc: 080d4de4 .word 0x080d4de4 80a9800: 3dcccccd .word 0x3dcccccd 80a9804: 447a0000 .word 0x447a0000 80a9808: 20023ea8 .word 0x20023ea8 80a980c: 080d4de8 .word 0x080d4de8 80a9810: 080d4dec .word 0x080d4dec 80a9814: 080d4df0 .word 0x080d4df0 80a9818: 080d4df4 .word 0x080d4df4 80a981c: 00000000 .word 0x00000000 080a9820 : void DrawGraph(void) // TODO { 80a9820: b590 push {r4, r7, lr} 80a9822: f5ad 7d2f sub.w sp, sp, #700 ; 0x2bc 80a9826: 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; 80a9828: 2300 movs r3, #0 80a982a: f887 329f strb.w r3, [r7, #671] ; 0x29f Minimum = 32767; 80a982e: f647 73ff movw r3, #32767 ; 0x7fff 80a9832: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 Maximum = -32767; 80a9836: f248 0301 movw r3, #32769 ; 0x8001 80a983a: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(menu == MAIN_SYGNAL) 80a983e: 4bc5 ldr r3, [pc, #788] ; (80a9b54 ) 80a9840: 781b ldrb r3, [r3, #0] 80a9842: b2db uxtb r3, r3 80a9844: 2b20 cmp r3, #32 80a9846: f041 8011 bne.w 80aa86c { if(!FIRST) 80a984a: 4bc3 ldr r3, [pc, #780] ; (80a9b58 ) 80a984c: 781b ldrb r3, [r3, #0] 80a984e: b2db uxtb r3, r3 80a9850: f083 0301 eor.w r3, r3, #1 80a9854: b2db uxtb r3, r3 80a9856: 2b00 cmp r3, #0 80a9858: f005 86a4 beq.w 80af5a4 { if(NUM_CHANNELS == 1) 80a985c: 4bbf ldr r3, [pc, #764] ; (80a9b5c ) 80a985e: 681b ldr r3, [r3, #0] 80a9860: 2b01 cmp r3, #1 80a9862: f040 82d1 bne.w 80a9e08 { if(AUTOZOOM) 80a9866: 4bbe ldr r3, [pc, #760] ; (80a9b60 ) 80a9868: 781b ldrb r3, [r3, #0] 80a986a: b2db uxtb r3, r3 80a986c: 2b00 cmp r3, #0 80a986e: d060 beq.n 80a9932 { arm_max_f32(&ScrA_f32(0), PlayingState.FrameSize, &max, &idx); 80a9870: 4bbc ldr r3, [pc, #752] ; (80a9b64 ) 80a9872: 6899 ldr r1, [r3, #8] 80a9874: f507 731a add.w r3, r7, #616 ; 0x268 80a9878: f507 721d add.w r2, r7, #628 ; 0x274 80a987c: 48ba ldr r0, [pc, #744] ; (80a9b68 ) 80a987e: f024 fdc9 bl 80ce414 arm_min_f32(&ScrA_f32(0), PlayingState.FrameSize, &min, &idx); 80a9882: 4bb8 ldr r3, [pc, #736] ; (80a9b64 ) 80a9884: 6899 ldr r1, [r3, #8] 80a9886: f507 731a add.w r3, r7, #616 ; 0x268 80a988a: f507 721c add.w r2, r7, #624 ; 0x270 80a988e: 48b6 ldr r0, [pc, #728] ; (80a9b68 ) 80a9890: f024 fd24 bl 80ce2dc if(ABS(max) > ABS(min)) 80a9894: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a9898: eef5 7ac0 vcmpe.f32 s15, #0.0 80a989c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a98a0: dd02 ble.n 80a98a8 80a98a2: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80a98a6: e003 b.n 80a98b0 80a98a8: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a98ac: eeb1 7a67 vneg.f32 s14, s15 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: eeb4 7ae7 vcmpe.f32 s14, s15 80a98d0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a98d4: dd10 ble.n 80a98f8 f = ABS(max); 80a98d6: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a98da: eef5 7ac0 vcmpe.f32 s15, #0.0 80a98de: eef1 fa10 vmrs APSR_nzcv, fpscr 80a98e2: dd02 ble.n 80a98ea 80a98e4: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a98e8: e003 b.n 80a98f2 80a98ea: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a98ee: eef1 7a67 vneg.f32 s15, s15 80a98f2: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80a98f6: e00f b.n 80a9918 else f = ABS(min); 80a98f8: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a98fc: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9900: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9904: dd02 ble.n 80a990c 80a9906: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a990a: e003 b.n 80a9914 80a990c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9910: eef1 7a67 vneg.f32 s15, s15 80a9914: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 60.0f / f; 80a9918: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80a991c: eddf 6a93 vldr s13, [pc, #588] ; 80a9b6c 80a9920: eec6 7a87 vdiv.f32 s15, s13, s14 80a9924: 4b92 ldr r3, [pc, #584] ; (80a9b70 ) 80a9926: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80a992a: 4b8d ldr r3, [pc, #564] ; (80a9b60 ) 80a992c: 2200 movs r2, #0 80a992e: 701a strb r2, [r3, #0] 80a9930: e024 b.n 80a997c } else { if(ZOOM_IN) 80a9932: 4b90 ldr r3, [pc, #576] ; (80a9b74 ) 80a9934: 781b ldrb r3, [r3, #0] 80a9936: b2db uxtb r3, r3 80a9938: 2b00 cmp r3, #0 80a993a: d00d beq.n 80a9958 { ZOOM_IN = false; 80a993c: 4b8d ldr r3, [pc, #564] ; (80a9b74 ) 80a993e: 2200 movs r2, #0 80a9940: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80a9942: 4b8b ldr r3, [pc, #556] ; (80a9b70 ) 80a9944: edd3 7a00 vldr s15, [r3] 80a9948: ed9f 7a8b vldr s14, [pc, #556] ; 80a9b78 80a994c: ee67 7a87 vmul.f32 s15, s15, s14 80a9950: 4b87 ldr r3, [pc, #540] ; (80a9b70 ) 80a9952: edc3 7a00 vstr s15, [r3] 80a9956: e011 b.n 80a997c } else if(ZOOM_OUT) 80a9958: 4b88 ldr r3, [pc, #544] ; (80a9b7c ) 80a995a: 781b ldrb r3, [r3, #0] 80a995c: b2db uxtb r3, r3 80a995e: 2b00 cmp r3, #0 80a9960: d00c beq.n 80a997c { ZOOM_OUT = false; 80a9962: 4b86 ldr r3, [pc, #536] ; (80a9b7c ) 80a9964: 2200 movs r2, #0 80a9966: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80a9968: 4b81 ldr r3, [pc, #516] ; (80a9b70 ) 80a996a: edd3 7a00 vldr s15, [r3] 80a996e: ed9f 7a84 vldr s14, [pc, #528] ; 80a9b80 80a9972: ee67 7a87 vmul.f32 s15, s15, s14 80a9976: 4b7e ldr r3, [pc, #504] ; (80a9b70 ) 80a9978: edc3 7a00 vstr s15, [r3] } } step = PlayingState.FrameSize >> 8; 80a997c: 4b79 ldr r3, [pc, #484] ; (80a9b64 ) 80a997e: 689b ldr r3, [r3, #8] 80a9980: 0a1b lsrs r3, r3, #8 80a9982: f8c7 3298 str.w r3, [r7, #664] ; 0x298 NumOverdrives = 0; 80a9986: 4b7f ldr r3, [pc, #508] ; (80a9b84 ) 80a9988: 2200 movs r2, #0 80a998a: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a998c: 497e ldr r1, [pc, #504] ; (80a9b88 ) 80a998e: 487f ldr r0, [pc, #508] ; (80a9b8c ) 80a9990: f7aa fe3e bl 8054610 for(i = 0; i < 256; i++) 80a9994: 2300 movs r3, #0 80a9996: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a999a: e215 b.n 80a9dc8 { if(PlayingState.FrameSize == 256) 80a999c: 4b71 ldr r3, [pc, #452] ; (80a9b64 ) 80a999e: 689b ldr r3, [r3, #8] 80a99a0: f5b3 7f80 cmp.w r3, #256 ; 0x100 80a99a4: f040 80fe bne.w 80a9ba4 { mF[MAXY] = ScrA_f32(i); 80a99a8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a99ac: 009a lsls r2, r3, #2 80a99ae: 4b6e ldr r3, [pc, #440] ; (80a9b68 ) 80a99b0: 4413 add r3, r2 80a99b2: 681b ldr r3, [r3, #0] 80a99b4: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80a99b8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a99bc: 2b00 cmp r3, #0 80a99be: d004 beq.n 80a99ca mF[MINY] = lastPointOSC[MAXY]; 80a99c0: 4b73 ldr r3, [pc, #460] ; (80a9b90 ) 80a99c2: 685b ldr r3, [r3, #4] 80a99c4: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80a99c8: e003 b.n 80a99d2 else mF[MINY] = mF[MAXY]; 80a99ca: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a99ce: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80a99d2: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a99d6: 4a6e ldr r2, [pc, #440] ; (80a9b90 ) 80a99d8: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a99da: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a99de: 4b64 ldr r3, [pc, #400] ; (80a9b70 ) 80a99e0: edd3 7a00 vldr s15, [r3] 80a99e4: ee67 7a27 vmul.f32 s15, s14, s15 80a99e8: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a99ec: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a99f0: 4b5f ldr r3, [pc, #380] ; (80a9b70 ) 80a99f2: edd3 7a00 vldr s15, [r3] 80a99f6: ee67 7a27 vmul.f32 s15, s14, s15 80a99fa: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a99fe: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9a02: ed9f 7a64 vldr s14, [pc, #400] ; 80a9b94 80a9a06: eef4 7ac7 vcmpe.f32 s15, s14 80a9a0a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9a0e: dd02 ble.n 80a9a16 80a9a10: 4b61 ldr r3, [pc, #388] ; (80a9b98 ) 80a9a12: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a9a16: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9a1a: ed9f 7a60 vldr s14, [pc, #384] ; 80a9b9c 80a9a1e: eef4 7ac7 vcmpe.f32 s15, s14 80a9a22: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9a26: d502 bpl.n 80a9a2e 80a9a28: 4b5d ldr r3, [pc, #372] ; (80a9ba0 ) 80a9a2a: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a9a2e: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a9a32: ed9f 7a58 vldr s14, [pc, #352] ; 80a9b94 80a9a36: eef4 7ac7 vcmpe.f32 s15, s14 80a9a3a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9a3e: dd02 ble.n 80a9a46 80a9a40: 4b55 ldr r3, [pc, #340] ; (80a9b98 ) 80a9a42: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a9a46: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a9a4a: ed9f 7a54 vldr s14, [pc, #336] ; 80a9b9c 80a9a4e: eef4 7ac7 vcmpe.f32 s15, s14 80a9a52: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9a56: d502 bpl.n 80a9a5e 80a9a58: 4b51 ldr r3, [pc, #324] ; (80a9ba0 ) 80a9a5a: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a9a5e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9a62: eefd 7ae7 vcvt.s32.f32 s15, s15 80a9a66: edc7 7a01 vstr s15, [r7, #4] 80a9a6a: 88bb ldrh r3, [r7, #4] 80a9a6c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a9a70: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a9a74: eefd 7ae7 vcvt.s32.f32 s15, s15 80a9a78: edc7 7a01 vstr s15, [r7, #4] 80a9a7c: 88bb ldrh r3, [r7, #4] 80a9a7e: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80a9a82: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a9a86: 2b50 cmp r3, #80 ; 0x50 80a9a88: dd08 ble.n 80a9a9c { pMin = 80; 80a9a8a: 2350 movs r3, #80 ; 0x50 80a9a8c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a9a90: 4b3c ldr r3, [pc, #240] ; (80a9b84 ) 80a9a92: 781b ldrb r3, [r3, #0] 80a9a94: 3301 adds r3, #1 80a9a96: b2da uxtb r2, r3 80a9a98: 4b3a ldr r3, [pc, #232] ; (80a9b84 ) 80a9a9a: 701a strb r2, [r3, #0] } if(pMin < -80) 80a9a9c: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a9aa0: f113 0f50 cmn.w r3, #80 ; 0x50 80a9aa4: da09 bge.n 80a9aba { pMin = -80; 80a9aa6: f64f 73b0 movw r3, #65456 ; 0xffb0 80a9aaa: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a9aae: 4b35 ldr r3, [pc, #212] ; (80a9b84 ) 80a9ab0: 781b ldrb r3, [r3, #0] 80a9ab2: 3301 adds r3, #1 80a9ab4: b2da uxtb r2, r3 80a9ab6: 4b33 ldr r3, [pc, #204] ; (80a9b84 ) 80a9ab8: 701a strb r2, [r3, #0] } if(pMax > 80) 80a9aba: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a9abe: 2b50 cmp r3, #80 ; 0x50 80a9ac0: dd08 ble.n 80a9ad4 { pMax = 80; 80a9ac2: 2350 movs r3, #80 ; 0x50 80a9ac4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a9ac8: 4b2e ldr r3, [pc, #184] ; (80a9b84 ) 80a9aca: 781b ldrb r3, [r3, #0] 80a9acc: 3301 adds r3, #1 80a9ace: b2da uxtb r2, r3 80a9ad0: 4b2c ldr r3, [pc, #176] ; (80a9b84 ) 80a9ad2: 701a strb r2, [r3, #0] } if(pMax < -80) 80a9ad4: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a9ad8: f113 0f50 cmn.w r3, #80 ; 0x50 80a9adc: da09 bge.n 80a9af2 { pMax = -80; 80a9ade: f64f 73b0 movw r3, #65456 ; 0xffb0 80a9ae2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a9ae6: 4b27 ldr r3, [pc, #156] ; (80a9b84 ) 80a9ae8: 781b ldrb r3, [r3, #0] 80a9aea: 3301 adds r3, #1 80a9aec: b2da uxtb r2, r3 80a9aee: 4b25 ldr r3, [pc, #148] ; (80a9b84 ) 80a9af0: 701a strb r2, [r3, #0] } x = 62 + i; 80a9af2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9af6: 333e adds r3, #62 ; 0x3e 80a9af8: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80a9afc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9b00: 2b00 cmp r3, #0 80a9b02: d112 bne.n 80a9b2a BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80a9b04: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9b08: b298 uxth r0, r3 80a9b0a: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a9b0e: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a9b12: b299 uxth r1, r3 80a9b14: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9b18: b29a uxth r2, r3 80a9b1a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9b1e: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a9b22: b29b uxth r3, r3 80a9b24: f7aa ffae bl 8054a84 80a9b28: e135 b.n 80a9d96 else BSP_LCD_DrawLine(x - 1, 141 - pMin, x, 141 - pMax); 80a9b2a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9b2e: b29b uxth r3, r3 80a9b30: 3b01 subs r3, #1 80a9b32: b298 uxth r0, r3 80a9b34: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a9b38: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a9b3c: b299 uxth r1, r3 80a9b3e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9b42: b29a uxth r2, r3 80a9b44: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9b48: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a9b4c: b29b uxth r3, r3 80a9b4e: f7aa ff99 bl 8054a84 80a9b52: e120 b.n 80a9d96 80a9b54: 20020fbd .word 0x20020fbd 80a9b58: 20020dd2 .word 0x20020dd2 80a9b5c: 20020030 .word 0x20020030 80a9b60: 20020994 .word 0x20020994 80a9b64: 20022920 .word 0x20022920 80a9b68: 64080000 .word 0x64080000 80a9b6c: 42700000 .word 0x42700000 80a9b70: 20020998 .word 0x20020998 80a9b74: 20020fad .word 0x20020fad 80a9b78: 40000005 .word 0x40000005 80a9b7c: 20020fac .word 0x20020fac 80a9b80: 3f000012 .word 0x3f000012 80a9b84: 20021696 .word 0x20021696 80a9b88: ff0a0f1f .word 0xff0a0f1f 80a9b8c: ff26a01f .word 0xff26a01f 80a9b90: 20021698 .word 0x20021698 80a9b94: 46fffe00 .word 0x46fffe00 80a9b98: 46fffe00 .word 0x46fffe00 80a9b9c: c6fffe00 .word 0xc6fffe00 80a9ba0: c6fffe00 .word 0xc6fffe00 } else { arm_max_f32(&ScrA_f32(i * step), step, &mF[MAXY], &idx); 80a9ba4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9ba8: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a9bac: fb02 f303 mul.w r3, r2, r3 80a9bb0: 009a lsls r2, r3, #2 80a9bb2: 4bcb ldr r3, [pc, #812] ; (80a9ee0 ) 80a9bb4: 4413 add r3, r2 80a9bb6: 4618 mov r0, r3 80a9bb8: f507 711a add.w r1, r7, #616 ; 0x268 80a9bbc: f507 731e add.w r3, r7, #632 ; 0x278 80a9bc0: 1d1a adds r2, r3, #4 80a9bc2: 460b mov r3, r1 80a9bc4: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a9bc8: f024 fc24 bl 80ce414 arm_min_f32(&ScrA_f32(i * step), step, &mF[MINY], &idx); 80a9bcc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9bd0: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a9bd4: fb02 f303 mul.w r3, r2, r3 80a9bd8: 009a lsls r2, r3, #2 80a9bda: 4bc1 ldr r3, [pc, #772] ; (80a9ee0 ) 80a9bdc: 4413 add r3, r2 80a9bde: 4618 mov r0, r3 80a9be0: f507 731a add.w r3, r7, #616 ; 0x268 80a9be4: f507 721e add.w r2, r7, #632 ; 0x278 80a9be8: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a9bec: f024 fb76 bl 80ce2dc if(i > 0) 80a9bf0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9bf4: 2b00 cmp r3, #0 80a9bf6: d01b beq.n 80a9c30 { if(mF[MINY] > lastPointOSC[MAXY]) 80a9bf8: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a9bfc: 4bb9 ldr r3, [pc, #740] ; (80a9ee4 ) 80a9bfe: edd3 7a01 vldr s15, [r3, #4] 80a9c02: eeb4 7ae7 vcmpe.f32 s14, s15 80a9c06: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9c0a: dd03 ble.n 80a9c14 mF[MINY] = lastPointOSC[MAXY]; 80a9c0c: 4bb5 ldr r3, [pc, #724] ; (80a9ee4 ) 80a9c0e: 685b ldr r3, [r3, #4] 80a9c10: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80a9c14: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a9c18: 4bb2 ldr r3, [pc, #712] ; (80a9ee4 ) 80a9c1a: edd3 7a00 vldr s15, [r3] 80a9c1e: eeb4 7ae7 vcmpe.f32 s14, s15 80a9c22: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9c26: d503 bpl.n 80a9c30 mF[MAXY] = lastPointOSC[MINY]; 80a9c28: 4bae ldr r3, [pc, #696] ; (80a9ee4 ) 80a9c2a: 681b ldr r3, [r3, #0] 80a9c2c: f8c7 327c str.w r3, [r7, #636] ; 0x27c } ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80a9c30: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80a9c34: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80a9c38: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a9c3c: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80a9c40: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80a9c44: 4aa7 ldr r2, [pc, #668] ; (80a9ee4 ) 80a9c46: 6013 str r3, [r2, #0] 80a9c48: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80a9c4c: 4aa5 ldr r2, [pc, #660] ; (80a9ee4 ) 80a9c4e: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a9c50: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a9c54: 4ba4 ldr r3, [pc, #656] ; (80a9ee8 ) 80a9c56: edd3 7a00 vldr s15, [r3] 80a9c5a: ee67 7a27 vmul.f32 s15, s14, s15 80a9c5e: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a9c62: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a9c66: 4ba0 ldr r3, [pc, #640] ; (80a9ee8 ) 80a9c68: edd3 7a00 vldr s15, [r3] 80a9c6c: ee67 7a27 vmul.f32 s15, s14, s15 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 7a9c vldr s14, [pc, #624] ; 80a9eec 80a9c7c: eef4 7ac7 vcmpe.f32 s15, s14 80a9c80: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9c84: dd02 ble.n 80a9c8c 80a9c86: 4b9a ldr r3, [pc, #616] ; (80a9ef0 ) 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 7a98 vldr s14, [pc, #608] ; 80a9ef4 80a9c94: eef4 7ac7 vcmpe.f32 s15, s14 80a9c98: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9c9c: d502 bpl.n 80a9ca4 80a9c9e: 4b96 ldr r3, [pc, #600] ; (80a9ef8 ) 80a9ca0: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a9ca4: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a9ca8: ed9f 7a90 vldr s14, [pc, #576] ; 80a9eec 80a9cac: eef4 7ac7 vcmpe.f32 s15, s14 80a9cb0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9cb4: dd02 ble.n 80a9cbc 80a9cb6: 4b8e ldr r3, [pc, #568] ; (80a9ef0 ) 80a9cb8: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a9cbc: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a9cc0: ed9f 7a8c vldr s14, [pc, #560] ; 80a9ef4 80a9cc4: eef4 7ac7 vcmpe.f32 s15, s14 80a9cc8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9ccc: d502 bpl.n 80a9cd4 80a9cce: 4b8a ldr r3, [pc, #552] ; (80a9ef8 ) 80a9cd0: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a9cd4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9cd8: eefd 7ae7 vcvt.s32.f32 s15, s15 80a9cdc: edc7 7a01 vstr s15, [r7, #4] 80a9ce0: 88bb ldrh r3, [r7, #4] 80a9ce2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a9ce6: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a9cea: eefd 7ae7 vcvt.s32.f32 s15, s15 80a9cee: edc7 7a01 vstr s15, [r7, #4] 80a9cf2: 88bb ldrh r3, [r7, #4] 80a9cf4: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80a9cf8: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a9cfc: 2b50 cmp r3, #80 ; 0x50 80a9cfe: dd08 ble.n 80a9d12 { pMin = 80; 80a9d00: 2350 movs r3, #80 ; 0x50 80a9d02: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a9d06: 4b7d ldr r3, [pc, #500] ; (80a9efc ) 80a9d08: 781b ldrb r3, [r3, #0] 80a9d0a: 3301 adds r3, #1 80a9d0c: b2da uxtb r2, r3 80a9d0e: 4b7b ldr r3, [pc, #492] ; (80a9efc ) 80a9d10: 701a strb r2, [r3, #0] } if(pMin < -80) 80a9d12: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a9d16: f113 0f50 cmn.w r3, #80 ; 0x50 80a9d1a: da09 bge.n 80a9d30 { pMin = -80; 80a9d1c: f64f 73b0 movw r3, #65456 ; 0xffb0 80a9d20: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a9d24: 4b75 ldr r3, [pc, #468] ; (80a9efc ) 80a9d26: 781b ldrb r3, [r3, #0] 80a9d28: 3301 adds r3, #1 80a9d2a: b2da uxtb r2, r3 80a9d2c: 4b73 ldr r3, [pc, #460] ; (80a9efc ) 80a9d2e: 701a strb r2, [r3, #0] } if(pMax > 80) 80a9d30: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a9d34: 2b50 cmp r3, #80 ; 0x50 80a9d36: dd08 ble.n 80a9d4a { pMax = 80; 80a9d38: 2350 movs r3, #80 ; 0x50 80a9d3a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a9d3e: 4b6f ldr r3, [pc, #444] ; (80a9efc ) 80a9d40: 781b ldrb r3, [r3, #0] 80a9d42: 3301 adds r3, #1 80a9d44: b2da uxtb r2, r3 80a9d46: 4b6d ldr r3, [pc, #436] ; (80a9efc ) 80a9d48: 701a strb r2, [r3, #0] } if(pMax < -80) 80a9d4a: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a9d4e: f113 0f50 cmn.w r3, #80 ; 0x50 80a9d52: da09 bge.n 80a9d68 { pMax = -80; 80a9d54: f64f 73b0 movw r3, #65456 ; 0xffb0 80a9d58: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a9d5c: 4b67 ldr r3, [pc, #412] ; (80a9efc ) 80a9d5e: 781b ldrb r3, [r3, #0] 80a9d60: 3301 adds r3, #1 80a9d62: b2da uxtb r2, r3 80a9d64: 4b65 ldr r3, [pc, #404] ; (80a9efc ) 80a9d66: 701a strb r2, [r3, #0] } x = 62 + i; 80a9d68: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9d6c: 333e adds r3, #62 ; 0x3e 80a9d6e: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80a9d72: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9d76: b298 uxth r0, r3 80a9d78: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a9d7c: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a9d80: b299 uxth r1, r3 80a9d82: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9d86: b29a uxth r2, r3 80a9d88: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9d8c: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a9d90: b29b uxth r3, r3 80a9d92: f7aa fe77 bl 8054a84 } if(pMax > Maximum) Maximum = pMax; 80a9d96: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a9d9a: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a9d9e: 429a cmp r2, r3 80a9da0: dd03 ble.n 80a9daa 80a9da2: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9da6: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80a9daa: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a9dae: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a9db2: 429a cmp r2, r3 80a9db4: da03 bge.n 80a9dbe 80a9db6: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a9dba: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80a9dbe: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9dc2: 3301 adds r3, #1 80a9dc4: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a9dc8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9dcc: 2bff cmp r3, #255 ; 0xff 80a9dce: f67f ade5 bls.w 80a999c } Maximum = ABS(Maximum); 80a9dd2: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a9dd6: 2b00 cmp r3, #0 80a9dd8: bfb8 it lt 80a9dda: 425b neglt r3, r3 80a9ddc: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80a9de0: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a9de4: 2b00 cmp r3, #0 80a9de6: bfb8 it lt 80a9de8: 425b neglt r3, r3 80a9dea: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80a9dee: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80a9df2: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a9df6: 429a cmp r2, r3 80a9df8: f345 83d4 ble.w 80af5a4 Maximum = Minimum; 80a9dfc: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80a9e00: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } } } } } } 80a9e04: f005 bbce b.w 80af5a4 if(NUM_CHANNELS == 2) 80a9e08: 4b3d ldr r3, [pc, #244] ; (80a9f00 ) 80a9e0a: 681b ldr r3, [r3, #0] 80a9e0c: 2b02 cmp r3, #2 80a9e0e: f045 83c9 bne.w 80af5a4 if(AUTOZOOM) 80a9e12: 4b3c ldr r3, [pc, #240] ; (80a9f04 ) 80a9e14: 781b ldrb r3, [r3, #0] 80a9e16: b2db uxtb r3, r3 80a9e18: 2b00 cmp r3, #0 80a9e1a: d077 beq.n 80a9f0c arm_max_f32(&ScrA_f32(0), PlayingState.FrameSize, &max, &idx); 80a9e1c: 4b3a ldr r3, [pc, #232] ; (80a9f08 ) 80a9e1e: 6899 ldr r1, [r3, #8] 80a9e20: f507 731a add.w r3, r7, #616 ; 0x268 80a9e24: f507 721d add.w r2, r7, #628 ; 0x274 80a9e28: 482d ldr r0, [pc, #180] ; (80a9ee0 ) 80a9e2a: f024 faf3 bl 80ce414 arm_min_f32(&ScrA_f32(0), PlayingState.FrameSize, &min, &idx); 80a9e2e: 4b36 ldr r3, [pc, #216] ; (80a9f08 ) 80a9e30: 6899 ldr r1, [r3, #8] 80a9e32: f507 731a add.w r3, r7, #616 ; 0x268 80a9e36: f507 721c add.w r2, r7, #624 ; 0x270 80a9e3a: 4829 ldr r0, [pc, #164] ; (80a9ee0 ) 80a9e3c: f024 fa4e bl 80ce2dc if(ABS(max) > ABS(min)) 80a9e40: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a9e44: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9e48: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9e4c: dd02 ble.n 80a9e54 80a9e4e: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80a9e52: e003 b.n 80a9e5c 80a9e54: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a9e58: eeb1 7a67 vneg.f32 s14, s15 80a9e5c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9e60: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9e64: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9e68: dd02 ble.n 80a9e70 80a9e6a: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9e6e: e003 b.n 80a9e78 80a9e70: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9e74: eef1 7a67 vneg.f32 s15, s15 80a9e78: eeb4 7ae7 vcmpe.f32 s14, s15 80a9e7c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9e80: dd10 ble.n 80a9ea4 f = ABS(max); 80a9e82: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a9e86: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9e8a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9e8e: dd02 ble.n 80a9e96 80a9e90: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a9e94: e003 b.n 80a9e9e 80a9e96: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a9e9a: eef1 7a67 vneg.f32 s15, s15 80a9e9e: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80a9ea2: e00f b.n 80a9ec4 else f = ABS(min); 80a9ea4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9ea8: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9eac: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9eb0: dd02 ble.n 80a9eb8 80a9eb2: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9eb6: e003 b.n 80a9ec0 80a9eb8: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9ebc: eef1 7a67 vneg.f32 s15, s15 80a9ec0: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 30.0f / f; 80a9ec4: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80a9ec8: eef3 6a0e vmov.f32 s13, #62 ; 0x41f00000 30.0 80a9ecc: eec6 7a87 vdiv.f32 s15, s13, s14 80a9ed0: 4b05 ldr r3, [pc, #20] ; (80a9ee8 ) 80a9ed2: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80a9ed6: 4b0b ldr r3, [pc, #44] ; (80a9f04 ) 80a9ed8: 2200 movs r2, #0 80a9eda: 701a strb r2, [r3, #0] 80a9edc: e03b b.n 80a9f56 80a9ede: bf00 nop 80a9ee0: 64080000 .word 0x64080000 80a9ee4: 20021698 .word 0x20021698 80a9ee8: 20020998 .word 0x20020998 80a9eec: 46fffe00 .word 0x46fffe00 80a9ef0: 46fffe00 .word 0x46fffe00 80a9ef4: c6fffe00 .word 0xc6fffe00 80a9ef8: c6fffe00 .word 0xc6fffe00 80a9efc: 20021696 .word 0x20021696 80a9f00: 20020030 .word 0x20020030 80a9f04: 20020994 .word 0x20020994 80a9f08: 20022920 .word 0x20022920 if(ZOOM_IN) 80a9f0c: 4b88 ldr r3, [pc, #544] ; (80aa130 ) 80a9f0e: 781b ldrb r3, [r3, #0] 80a9f10: b2db uxtb r3, r3 80a9f12: 2b00 cmp r3, #0 80a9f14: d00d beq.n 80a9f32 ZOOM_IN = false; 80a9f16: 4b86 ldr r3, [pc, #536] ; (80aa130 ) 80a9f18: 2200 movs r2, #0 80a9f1a: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80a9f1c: 4b85 ldr r3, [pc, #532] ; (80aa134 ) 80a9f1e: edd3 7a00 vldr s15, [r3] 80a9f22: ed9f 7a85 vldr s14, [pc, #532] ; 80aa138 80a9f26: ee67 7a87 vmul.f32 s15, s15, s14 80a9f2a: 4b82 ldr r3, [pc, #520] ; (80aa134 ) 80a9f2c: edc3 7a00 vstr s15, [r3] 80a9f30: e011 b.n 80a9f56 if(ZOOM_OUT) 80a9f32: 4b82 ldr r3, [pc, #520] ; (80aa13c ) 80a9f34: 781b ldrb r3, [r3, #0] 80a9f36: b2db uxtb r3, r3 80a9f38: 2b00 cmp r3, #0 80a9f3a: d00c beq.n 80a9f56 ZOOM_OUT = false; 80a9f3c: 4b7f ldr r3, [pc, #508] ; (80aa13c ) 80a9f3e: 2200 movs r2, #0 80a9f40: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80a9f42: 4b7c ldr r3, [pc, #496] ; (80aa134 ) 80a9f44: edd3 7a00 vldr s15, [r3] 80a9f48: ed9f 7a7d vldr s14, [pc, #500] ; 80aa140 80a9f4c: ee67 7a87 vmul.f32 s15, s15, s14 80a9f50: 4b78 ldr r3, [pc, #480] ; (80aa134 ) 80a9f52: edc3 7a00 vstr s15, [r3] step = PlayingState.FrameSize >> 8; 80a9f56: 4b7b ldr r3, [pc, #492] ; (80aa144 ) 80a9f58: 689b ldr r3, [r3, #8] 80a9f5a: 0a1b lsrs r3, r3, #8 80a9f5c: f8c7 3298 str.w r3, [r7, #664] ; 0x298 NumOverdrives = 0; 80a9f60: 4b79 ldr r3, [pc, #484] ; (80aa148 ) 80a9f62: 2200 movs r2, #0 80a9f64: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a9f66: 4979 ldr r1, [pc, #484] ; (80aa14c ) 80a9f68: 4879 ldr r0, [pc, #484] ; (80aa150 ) 80a9f6a: f7aa fb51 bl 8054610 for(i = 0; i < 256; i++) 80a9f6e: 2300 movs r3, #0 80a9f70: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a9f74: e20c b.n 80aa390 if(PlayingState.FrameSize == 256) 80a9f76: 4b73 ldr r3, [pc, #460] ; (80aa144 ) 80a9f78: 689b ldr r3, [r3, #8] 80a9f7a: f5b3 7f80 cmp.w r3, #256 ; 0x100 80a9f7e: f040 80f5 bne.w 80aa16c mF[MAXY] = ScrA_f32(i); 80a9f82: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9f86: 009a lsls r2, r3, #2 80a9f88: 4b72 ldr r3, [pc, #456] ; (80aa154 ) 80a9f8a: 4413 add r3, r2 80a9f8c: 681b ldr r3, [r3, #0] 80a9f8e: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80a9f92: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9f96: 2b00 cmp r3, #0 80a9f98: d004 beq.n 80a9fa4 mF[MINY] = lastPointOSC[MAXY]; 80a9f9a: 4b6f ldr r3, [pc, #444] ; (80aa158 ) 80a9f9c: 685b ldr r3, [r3, #4] 80a9f9e: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80a9fa2: e003 b.n 80a9fac else mF[MINY] = mF[MAXY]; 80a9fa4: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a9fa8: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80a9fac: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a9fb0: 4a69 ldr r2, [pc, #420] ; (80aa158 ) 80a9fb2: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a9fb4: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a9fb8: 4b5e ldr r3, [pc, #376] ; (80aa134 ) 80a9fba: edd3 7a00 vldr s15, [r3] 80a9fbe: ee67 7a27 vmul.f32 s15, s14, s15 80a9fc2: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a9fc6: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a9fca: 4b5a ldr r3, [pc, #360] ; (80aa134 ) 80a9fcc: edd3 7a00 vldr s15, [r3] 80a9fd0: ee67 7a27 vmul.f32 s15, s14, s15 80a9fd4: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a9fd8: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9fdc: ed9f 7a5f vldr s14, [pc, #380] ; 80aa15c 80a9fe0: eef4 7ac7 vcmpe.f32 s15, s14 80a9fe4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9fe8: dd02 ble.n 80a9ff0 80a9fea: 4b5d ldr r3, [pc, #372] ; (80aa160 ) 80a9fec: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a9ff0: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9ff4: ed9f 7a5b vldr s14, [pc, #364] ; 80aa164 80a9ff8: eef4 7ac7 vcmpe.f32 s15, s14 80a9ffc: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa000: d502 bpl.n 80aa008 80aa002: 4b59 ldr r3, [pc, #356] ; (80aa168 ) 80aa004: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80aa008: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa00c: ed9f 7a53 vldr s14, [pc, #332] ; 80aa15c 80aa010: eef4 7ac7 vcmpe.f32 s15, s14 80aa014: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa018: dd02 ble.n 80aa020 80aa01a: 4b51 ldr r3, [pc, #324] ; (80aa160 ) 80aa01c: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80aa020: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa024: ed9f 7a4f vldr s14, [pc, #316] ; 80aa164 80aa028: eef4 7ac7 vcmpe.f32 s15, s14 80aa02c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa030: d502 bpl.n 80aa038 80aa032: 4b4d ldr r3, [pc, #308] ; (80aa168 ) 80aa034: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80aa038: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa03c: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa040: edc7 7a01 vstr s15, [r7, #4] 80aa044: 88bb ldrh r3, [r7, #4] 80aa046: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80aa04a: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa04e: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa052: edc7 7a01 vstr s15, [r7, #4] 80aa056: 88bb ldrh r3, [r7, #4] 80aa058: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80aa05c: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aa060: 2b28 cmp r3, #40 ; 0x28 80aa062: dd08 ble.n 80aa076 pMin = 40; 80aa064: 2328 movs r3, #40 ; 0x28 80aa066: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aa06a: 4b37 ldr r3, [pc, #220] ; (80aa148 ) 80aa06c: 781b ldrb r3, [r3, #0] 80aa06e: 3301 adds r3, #1 80aa070: b2da uxtb r2, r3 80aa072: 4b35 ldr r3, [pc, #212] ; (80aa148 ) 80aa074: 701a strb r2, [r3, #0] if(pMin < -40) 80aa076: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aa07a: f113 0f28 cmn.w r3, #40 ; 0x28 80aa07e: da09 bge.n 80aa094 pMin = -40; 80aa080: f64f 73d8 movw r3, #65496 ; 0xffd8 80aa084: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aa088: 4b2f ldr r3, [pc, #188] ; (80aa148 ) 80aa08a: 781b ldrb r3, [r3, #0] 80aa08c: 3301 adds r3, #1 80aa08e: b2da uxtb r2, r3 80aa090: 4b2d ldr r3, [pc, #180] ; (80aa148 ) 80aa092: 701a strb r2, [r3, #0] if(pMax > 40) 80aa094: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa098: 2b28 cmp r3, #40 ; 0x28 80aa09a: dd08 ble.n 80aa0ae pMax = 40; 80aa09c: 2328 movs r3, #40 ; 0x28 80aa09e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa0a2: 4b29 ldr r3, [pc, #164] ; (80aa148 ) 80aa0a4: 781b ldrb r3, [r3, #0] 80aa0a6: 3301 adds r3, #1 80aa0a8: b2da uxtb r2, r3 80aa0aa: 4b27 ldr r3, [pc, #156] ; (80aa148 ) 80aa0ac: 701a strb r2, [r3, #0] if(pMax < -40) 80aa0ae: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa0b2: f113 0f28 cmn.w r3, #40 ; 0x28 80aa0b6: da09 bge.n 80aa0cc pMax = -40; 80aa0b8: f64f 73d8 movw r3, #65496 ; 0xffd8 80aa0bc: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa0c0: 4b21 ldr r3, [pc, #132] ; (80aa148 ) 80aa0c2: 781b ldrb r3, [r3, #0] 80aa0c4: 3301 adds r3, #1 80aa0c6: b2da uxtb r2, r3 80aa0c8: 4b1f ldr r3, [pc, #124] ; (80aa148 ) 80aa0ca: 701a strb r2, [r3, #0] x = 62 + i; 80aa0cc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa0d0: 333e adds r3, #62 ; 0x3e 80aa0d2: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80aa0d6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa0da: 2b00 cmp r3, #0 80aa0dc: d112 bne.n 80aa104 BSP_LCD_DrawLine(x, 181 - pMin, x, 181 - pMax); 80aa0de: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa0e2: b298 uxth r0, r3 80aa0e4: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aa0e8: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80aa0ec: b299 uxth r1, r3 80aa0ee: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa0f2: b29a uxth r2, r3 80aa0f4: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa0f8: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80aa0fc: b29b uxth r3, r3 80aa0fe: f7aa fcc1 bl 8054a84 80aa102: e12c b.n 80aa35e else BSP_LCD_DrawLine(x - 1, 181 - pMin, x, 181 - pMax); 80aa104: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa108: b29b uxth r3, r3 80aa10a: 3b01 subs r3, #1 80aa10c: b298 uxth r0, r3 80aa10e: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aa112: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80aa116: b299 uxth r1, r3 80aa118: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa11c: b29a uxth r2, r3 80aa11e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa122: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80aa126: b29b uxth r3, r3 80aa128: f7aa fcac bl 8054a84 80aa12c: e117 b.n 80aa35e 80aa12e: bf00 nop 80aa130: 20020fad .word 0x20020fad 80aa134: 20020998 .word 0x20020998 80aa138: 40000005 .word 0x40000005 80aa13c: 20020fac .word 0x20020fac 80aa140: 3f000012 .word 0x3f000012 80aa144: 20022920 .word 0x20022920 80aa148: 20021696 .word 0x20021696 80aa14c: ff0a0f1f .word 0xff0a0f1f 80aa150: ff26a01f .word 0xff26a01f 80aa154: 64080000 .word 0x64080000 80aa158: 20021698 .word 0x20021698 80aa15c: 46fffe00 .word 0x46fffe00 80aa160: 46fffe00 .word 0x46fffe00 80aa164: c6fffe00 .word 0xc6fffe00 80aa168: c6fffe00 .word 0xc6fffe00 arm_max_f32(&ScrA_f32(i * step), step, &mF[MAXY], &idx); 80aa16c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa170: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80aa174: fb02 f303 mul.w r3, r2, r3 80aa178: 009a lsls r2, r3, #2 80aa17a: 4ba5 ldr r3, [pc, #660] ; (80aa410 ) 80aa17c: 4413 add r3, r2 80aa17e: 4618 mov r0, r3 80aa180: f507 711a add.w r1, r7, #616 ; 0x268 80aa184: f507 731e add.w r3, r7, #632 ; 0x278 80aa188: 1d1a adds r2, r3, #4 80aa18a: 460b mov r3, r1 80aa18c: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80aa190: f024 f940 bl 80ce414 arm_min_f32(&ScrA_f32(i * step), step, &mF[MINY], &idx); 80aa194: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa198: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80aa19c: fb02 f303 mul.w r3, r2, r3 80aa1a0: 009a lsls r2, r3, #2 80aa1a2: 4b9b ldr r3, [pc, #620] ; (80aa410 ) 80aa1a4: 4413 add r3, r2 80aa1a6: 4618 mov r0, r3 80aa1a8: f507 731a add.w r3, r7, #616 ; 0x268 80aa1ac: f507 721e add.w r2, r7, #632 ; 0x278 80aa1b0: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80aa1b4: f024 f892 bl 80ce2dc if(i > 0) 80aa1b8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa1bc: 2b00 cmp r3, #0 80aa1be: d01b beq.n 80aa1f8 if(mF[MINY] > lastPointOSC[MAXY]) 80aa1c0: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80aa1c4: 4b93 ldr r3, [pc, #588] ; (80aa414 ) 80aa1c6: edd3 7a01 vldr s15, [r3, #4] 80aa1ca: eeb4 7ae7 vcmpe.f32 s14, s15 80aa1ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa1d2: dd03 ble.n 80aa1dc mF[MINY] = lastPointOSC[MAXY]; 80aa1d4: 4b8f ldr r3, [pc, #572] ; (80aa414 ) 80aa1d6: 685b ldr r3, [r3, #4] 80aa1d8: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80aa1dc: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa1e0: 4b8c ldr r3, [pc, #560] ; (80aa414 ) 80aa1e2: edd3 7a00 vldr s15, [r3] 80aa1e6: eeb4 7ae7 vcmpe.f32 s14, s15 80aa1ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa1ee: d503 bpl.n 80aa1f8 mF[MAXY] = lastPointOSC[MINY]; 80aa1f0: 4b88 ldr r3, [pc, #544] ; (80aa414 ) 80aa1f2: 681b ldr r3, [r3, #0] 80aa1f4: f8c7 327c str.w r3, [r7, #636] ; 0x27c ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80aa1f8: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80aa1fc: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80aa200: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80aa204: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80aa208: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80aa20c: 4a81 ldr r2, [pc, #516] ; (80aa414 ) 80aa20e: 6013 str r3, [r2, #0] 80aa210: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80aa214: 4a7f ldr r2, [pc, #508] ; (80aa414 ) 80aa216: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80aa218: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80aa21c: 4b7e ldr r3, [pc, #504] ; (80aa418 ) 80aa21e: edd3 7a00 vldr s15, [r3] 80aa222: ee67 7a27 vmul.f32 s15, s14, s15 80aa226: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80aa22a: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa22e: 4b7a ldr r3, [pc, #488] ; (80aa418 ) 80aa230: edd3 7a00 vldr s15, [r3] 80aa234: ee67 7a27 vmul.f32 s15, s14, s15 80aa238: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aa23c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa240: ed9f 7a76 vldr s14, [pc, #472] ; 80aa41c 80aa244: eef4 7ac7 vcmpe.f32 s15, s14 80aa248: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa24c: dd02 ble.n 80aa254 80aa24e: 4b74 ldr r3, [pc, #464] ; (80aa420 ) 80aa250: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aa254: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa258: ed9f 7a72 vldr s14, [pc, #456] ; 80aa424 80aa25c: eef4 7ac7 vcmpe.f32 s15, s14 80aa260: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa264: d502 bpl.n 80aa26c 80aa266: 4b70 ldr r3, [pc, #448] ; (80aa428 ) 80aa268: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80aa26c: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa270: ed9f 7a6a vldr s14, [pc, #424] ; 80aa41c 80aa274: eef4 7ac7 vcmpe.f32 s15, s14 80aa278: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa27c: dd02 ble.n 80aa284 80aa27e: 4b68 ldr r3, [pc, #416] ; (80aa420 ) 80aa280: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80aa284: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa288: ed9f 7a66 vldr s14, [pc, #408] ; 80aa424 80aa28c: eef4 7ac7 vcmpe.f32 s15, s14 80aa290: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa294: d502 bpl.n 80aa29c 80aa296: 4b64 ldr r3, [pc, #400] ; (80aa428 ) 80aa298: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80aa29c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa2a0: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa2a4: edc7 7a01 vstr s15, [r7, #4] 80aa2a8: 88bb ldrh r3, [r7, #4] 80aa2aa: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80aa2ae: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa2b2: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa2b6: edc7 7a01 vstr s15, [r7, #4] 80aa2ba: 88bb ldrh r3, [r7, #4] 80aa2bc: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80aa2c0: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aa2c4: 2b28 cmp r3, #40 ; 0x28 80aa2c6: dd08 ble.n 80aa2da pMin = 40; 80aa2c8: 2328 movs r3, #40 ; 0x28 80aa2ca: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aa2ce: 4b57 ldr r3, [pc, #348] ; (80aa42c ) 80aa2d0: 781b ldrb r3, [r3, #0] 80aa2d2: 3301 adds r3, #1 80aa2d4: b2da uxtb r2, r3 80aa2d6: 4b55 ldr r3, [pc, #340] ; (80aa42c ) 80aa2d8: 701a strb r2, [r3, #0] if(pMin < -40) 80aa2da: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aa2de: f113 0f28 cmn.w r3, #40 ; 0x28 80aa2e2: da09 bge.n 80aa2f8 pMin = -40; 80aa2e4: f64f 73d8 movw r3, #65496 ; 0xffd8 80aa2e8: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aa2ec: 4b4f ldr r3, [pc, #316] ; (80aa42c ) 80aa2ee: 781b ldrb r3, [r3, #0] 80aa2f0: 3301 adds r3, #1 80aa2f2: b2da uxtb r2, r3 80aa2f4: 4b4d ldr r3, [pc, #308] ; (80aa42c ) 80aa2f6: 701a strb r2, [r3, #0] if(pMax > 40) 80aa2f8: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa2fc: 2b28 cmp r3, #40 ; 0x28 80aa2fe: dd08 ble.n 80aa312 pMax = 40; 80aa300: 2328 movs r3, #40 ; 0x28 80aa302: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa306: 4b49 ldr r3, [pc, #292] ; (80aa42c ) 80aa308: 781b ldrb r3, [r3, #0] 80aa30a: 3301 adds r3, #1 80aa30c: b2da uxtb r2, r3 80aa30e: 4b47 ldr r3, [pc, #284] ; (80aa42c ) 80aa310: 701a strb r2, [r3, #0] if(pMax < -40) 80aa312: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa316: f113 0f28 cmn.w r3, #40 ; 0x28 80aa31a: da09 bge.n 80aa330 pMax = -40; 80aa31c: f64f 73d8 movw r3, #65496 ; 0xffd8 80aa320: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa324: 4b41 ldr r3, [pc, #260] ; (80aa42c ) 80aa326: 781b ldrb r3, [r3, #0] 80aa328: 3301 adds r3, #1 80aa32a: b2da uxtb r2, r3 80aa32c: 4b3f ldr r3, [pc, #252] ; (80aa42c ) 80aa32e: 701a strb r2, [r3, #0] x = 62 + i; 80aa330: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa334: 333e adds r3, #62 ; 0x3e 80aa336: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 181 - pMin, x, 181 - pMax); 80aa33a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa33e: b298 uxth r0, r3 80aa340: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aa344: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80aa348: b299 uxth r1, r3 80aa34a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa34e: b29a uxth r2, r3 80aa350: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa354: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80aa358: b29b uxth r3, r3 80aa35a: f7aa fb93 bl 8054a84 if(pMax > Maximum) Maximum = pMax; 80aa35e: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aa362: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aa366: 429a cmp r2, r3 80aa368: dd03 ble.n 80aa372 80aa36a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa36e: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80aa372: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aa376: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80aa37a: 429a cmp r2, r3 80aa37c: da03 bge.n 80aa386 80aa37e: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aa382: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80aa386: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa38a: 3301 adds r3, #1 80aa38c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aa390: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa394: 2bff cmp r3, #255 ; 0xff 80aa396: f67f adee bls.w 80a9f76 Maximum = ABS(Maximum); 80aa39a: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aa39e: 2b00 cmp r3, #0 80aa3a0: bfb8 it lt 80aa3a2: 425b neglt r3, r3 80aa3a4: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80aa3a8: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80aa3ac: 2b00 cmp r3, #0 80aa3ae: bfb8 it lt 80aa3b0: 425b neglt r3, r3 80aa3b2: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80aa3b6: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80aa3ba: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aa3be: 429a cmp r2, r3 80aa3c0: dd03 ble.n 80aa3ca Maximum = Minimum; 80aa3c2: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80aa3c6: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 NumOverdrives = 0; 80aa3ca: 4b18 ldr r3, [pc, #96] ; (80aa42c ) 80aa3cc: 2200 movs r2, #0 80aa3ce: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80aa3d0: 4917 ldr r1, [pc, #92] ; (80aa430 ) 80aa3d2: 4818 ldr r0, [pc, #96] ; (80aa434 ) 80aa3d4: f7aa f91c bl 8054610 for(i = 0; i < 256; i++) 80aa3d8: 2300 movs r3, #0 80aa3da: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aa3de: e215 b.n 80aa80c if(PlayingState.FrameSize == 256) 80aa3e0: 4b15 ldr r3, [pc, #84] ; (80aa438 ) 80aa3e2: 689b ldr r3, [r3, #8] 80aa3e4: f5b3 7f80 cmp.w r3, #256 ; 0x100 80aa3e8: f040 80fe bne.w 80aa5e8 mF[MAXY] = ScrB_f32(i); 80aa3ec: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa3f0: 009a lsls r2, r3, #2 80aa3f2: 4b12 ldr r3, [pc, #72] ; (80aa43c ) 80aa3f4: 4413 add r3, r2 80aa3f6: 681b ldr r3, [r3, #0] 80aa3f8: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80aa3fc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa400: 2b00 cmp r3, #0 80aa402: d01d beq.n 80aa440 mF[MINY] = lastPointOSC[MAXY]; 80aa404: 4b03 ldr r3, [pc, #12] ; (80aa414 ) 80aa406: 685b ldr r3, [r3, #4] 80aa408: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80aa40c: e01c b.n 80aa448 80aa40e: bf00 nop 80aa410: 64080000 .word 0x64080000 80aa414: 20021698 .word 0x20021698 80aa418: 20020998 .word 0x20020998 80aa41c: 46fffe00 .word 0x46fffe00 80aa420: 46fffe00 .word 0x46fffe00 80aa424: c6fffe00 .word 0xc6fffe00 80aa428: c6fffe00 .word 0xc6fffe00 80aa42c: 20021696 .word 0x20021696 80aa430: ff0a0f1f .word 0xff0a0f1f 80aa434: ffd3d3d3 .word 0xffd3d3d3 80aa438: 20022920 .word 0x20022920 80aa43c: 640b0000 .word 0x640b0000 else mF[MINY] = mF[MAXY]; 80aa440: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80aa444: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80aa448: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80aa44c: 4a5f ldr r2, [pc, #380] ; (80aa5cc ) 80aa44e: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80aa450: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80aa454: 4b5e ldr r3, [pc, #376] ; (80aa5d0 ) 80aa456: edd3 7a00 vldr s15, [r3] 80aa45a: ee67 7a27 vmul.f32 s15, s14, s15 80aa45e: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80aa462: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa466: 4b5a ldr r3, [pc, #360] ; (80aa5d0 ) 80aa468: edd3 7a00 vldr s15, [r3] 80aa46c: ee67 7a27 vmul.f32 s15, s14, s15 80aa470: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aa474: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa478: ed9f 7a56 vldr s14, [pc, #344] ; 80aa5d4 80aa47c: eef4 7ac7 vcmpe.f32 s15, s14 80aa480: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa484: dd02 ble.n 80aa48c 80aa486: 4b54 ldr r3, [pc, #336] ; (80aa5d8 ) 80aa488: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aa48c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa490: ed9f 7a52 vldr s14, [pc, #328] ; 80aa5dc 80aa494: eef4 7ac7 vcmpe.f32 s15, s14 80aa498: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa49c: d502 bpl.n 80aa4a4 80aa49e: 4b50 ldr r3, [pc, #320] ; (80aa5e0 ) 80aa4a0: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80aa4a4: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa4a8: ed9f 7a4a vldr s14, [pc, #296] ; 80aa5d4 80aa4ac: eef4 7ac7 vcmpe.f32 s15, s14 80aa4b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa4b4: dd02 ble.n 80aa4bc 80aa4b6: 4b48 ldr r3, [pc, #288] ; (80aa5d8 ) 80aa4b8: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80aa4bc: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa4c0: ed9f 7a46 vldr s14, [pc, #280] ; 80aa5dc 80aa4c4: eef4 7ac7 vcmpe.f32 s15, s14 80aa4c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa4cc: d502 bpl.n 80aa4d4 80aa4ce: 4b44 ldr r3, [pc, #272] ; (80aa5e0 ) 80aa4d0: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80aa4d4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa4d8: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa4dc: edc7 7a01 vstr s15, [r7, #4] 80aa4e0: 88bb ldrh r3, [r7, #4] 80aa4e2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80aa4e6: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa4ea: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa4ee: edc7 7a01 vstr s15, [r7, #4] 80aa4f2: 88bb ldrh r3, [r7, #4] 80aa4f4: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80aa4f8: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aa4fc: 2b28 cmp r3, #40 ; 0x28 80aa4fe: dd08 ble.n 80aa512 pMin = 40; 80aa500: 2328 movs r3, #40 ; 0x28 80aa502: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aa506: 4b37 ldr r3, [pc, #220] ; (80aa5e4 ) 80aa508: 781b ldrb r3, [r3, #0] 80aa50a: 3301 adds r3, #1 80aa50c: b2da uxtb r2, r3 80aa50e: 4b35 ldr r3, [pc, #212] ; (80aa5e4 ) 80aa510: 701a strb r2, [r3, #0] if(pMin < -40) 80aa512: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aa516: f113 0f28 cmn.w r3, #40 ; 0x28 80aa51a: da09 bge.n 80aa530 pMin = -40; 80aa51c: f64f 73d8 movw r3, #65496 ; 0xffd8 80aa520: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aa524: 4b2f ldr r3, [pc, #188] ; (80aa5e4 ) 80aa526: 781b ldrb r3, [r3, #0] 80aa528: 3301 adds r3, #1 80aa52a: b2da uxtb r2, r3 80aa52c: 4b2d ldr r3, [pc, #180] ; (80aa5e4 ) 80aa52e: 701a strb r2, [r3, #0] if(pMax > 40) 80aa530: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa534: 2b28 cmp r3, #40 ; 0x28 80aa536: dd08 ble.n 80aa54a pMax = 40; 80aa538: 2328 movs r3, #40 ; 0x28 80aa53a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa53e: 4b29 ldr r3, [pc, #164] ; (80aa5e4 ) 80aa540: 781b ldrb r3, [r3, #0] 80aa542: 3301 adds r3, #1 80aa544: b2da uxtb r2, r3 80aa546: 4b27 ldr r3, [pc, #156] ; (80aa5e4 ) 80aa548: 701a strb r2, [r3, #0] if(pMax < -40) 80aa54a: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa54e: f113 0f28 cmn.w r3, #40 ; 0x28 80aa552: da09 bge.n 80aa568 pMax = -40; 80aa554: f64f 73d8 movw r3, #65496 ; 0xffd8 80aa558: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa55c: 4b21 ldr r3, [pc, #132] ; (80aa5e4 ) 80aa55e: 781b ldrb r3, [r3, #0] 80aa560: 3301 adds r3, #1 80aa562: b2da uxtb r2, r3 80aa564: 4b1f ldr r3, [pc, #124] ; (80aa5e4 ) 80aa566: 701a strb r2, [r3, #0] x = 62 + i; 80aa568: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa56c: 333e adds r3, #62 ; 0x3e 80aa56e: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80aa572: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa576: 2b00 cmp r3, #0 80aa578: d112 bne.n 80aa5a0 BSP_LCD_DrawLine(x, 101 - pMin, x, 101 - pMax); 80aa57a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa57e: b298 uxth r0, r3 80aa580: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aa584: f1c3 0365 rsb r3, r3, #101 ; 0x65 80aa588: b299 uxth r1, r3 80aa58a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa58e: b29a uxth r2, r3 80aa590: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa594: f1c3 0365 rsb r3, r3, #101 ; 0x65 80aa598: b29b uxth r3, r3 80aa59a: f7aa fa73 bl 8054a84 80aa59e: e11c b.n 80aa7da else BSP_LCD_DrawLine(x - 1, 101 - pMin, x, 101 - pMax); 80aa5a0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa5a4: b29b uxth r3, r3 80aa5a6: 3b01 subs r3, #1 80aa5a8: b298 uxth r0, r3 80aa5aa: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aa5ae: f1c3 0365 rsb r3, r3, #101 ; 0x65 80aa5b2: b299 uxth r1, r3 80aa5b4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa5b8: b29a uxth r2, r3 80aa5ba: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa5be: f1c3 0365 rsb r3, r3, #101 ; 0x65 80aa5c2: b29b uxth r3, r3 80aa5c4: f7aa fa5e bl 8054a84 80aa5c8: e107 b.n 80aa7da 80aa5ca: bf00 nop 80aa5cc: 20021698 .word 0x20021698 80aa5d0: 20020998 .word 0x20020998 80aa5d4: 46fffe00 .word 0x46fffe00 80aa5d8: 46fffe00 .word 0x46fffe00 80aa5dc: c6fffe00 .word 0xc6fffe00 80aa5e0: c6fffe00 .word 0xc6fffe00 80aa5e4: 20021696 .word 0x20021696 arm_max_f32(&ScrB_f32(i * step), step, &mF[MAXY], &idx); 80aa5e8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa5ec: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80aa5f0: fb02 f303 mul.w r3, r2, r3 80aa5f4: 009a lsls r2, r3, #2 80aa5f6: 4b95 ldr r3, [pc, #596] ; (80aa84c ) 80aa5f8: 4413 add r3, r2 80aa5fa: 4618 mov r0, r3 80aa5fc: f507 711a add.w r1, r7, #616 ; 0x268 80aa600: f507 731e add.w r3, r7, #632 ; 0x278 80aa604: 1d1a adds r2, r3, #4 80aa606: 460b mov r3, r1 80aa608: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80aa60c: f023 ff02 bl 80ce414 arm_min_f32(&ScrB_f32(i * step), step, &mF[MINY], &idx); 80aa610: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa614: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80aa618: fb02 f303 mul.w r3, r2, r3 80aa61c: 009a lsls r2, r3, #2 80aa61e: 4b8b ldr r3, [pc, #556] ; (80aa84c ) 80aa620: 4413 add r3, r2 80aa622: 4618 mov r0, r3 80aa624: f507 731a add.w r3, r7, #616 ; 0x268 80aa628: f507 721e add.w r2, r7, #632 ; 0x278 80aa62c: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80aa630: f023 fe54 bl 80ce2dc if(i > 0) 80aa634: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa638: 2b00 cmp r3, #0 80aa63a: d01b beq.n 80aa674 if(mF[MINY] > lastPointOSC[MAXY]) 80aa63c: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80aa640: 4b83 ldr r3, [pc, #524] ; (80aa850 ) 80aa642: edd3 7a01 vldr s15, [r3, #4] 80aa646: eeb4 7ae7 vcmpe.f32 s14, s15 80aa64a: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa64e: dd03 ble.n 80aa658 mF[MINY] = lastPointOSC[MAXY]; 80aa650: 4b7f ldr r3, [pc, #508] ; (80aa850 ) 80aa652: 685b ldr r3, [r3, #4] 80aa654: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80aa658: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa65c: 4b7c ldr r3, [pc, #496] ; (80aa850 ) 80aa65e: edd3 7a00 vldr s15, [r3] 80aa662: eeb4 7ae7 vcmpe.f32 s14, s15 80aa666: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa66a: d503 bpl.n 80aa674 mF[MAXY] = lastPointOSC[MINY]; 80aa66c: 4b78 ldr r3, [pc, #480] ; (80aa850 ) 80aa66e: 681b ldr r3, [r3, #0] 80aa670: f8c7 327c str.w r3, [r7, #636] ; 0x27c ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80aa674: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80aa678: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80aa67c: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80aa680: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80aa684: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80aa688: 4a71 ldr r2, [pc, #452] ; (80aa850 ) 80aa68a: 6013 str r3, [r2, #0] 80aa68c: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80aa690: 4a6f ldr r2, [pc, #444] ; (80aa850 ) 80aa692: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80aa694: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80aa698: 4b6e ldr r3, [pc, #440] ; (80aa854 ) 80aa69a: edd3 7a00 vldr s15, [r3] 80aa69e: ee67 7a27 vmul.f32 s15, s14, s15 80aa6a2: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80aa6a6: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa6aa: 4b6a ldr r3, [pc, #424] ; (80aa854 ) 80aa6ac: edd3 7a00 vldr s15, [r3] 80aa6b0: ee67 7a27 vmul.f32 s15, s14, s15 80aa6b4: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aa6b8: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa6bc: ed9f 7a66 vldr s14, [pc, #408] ; 80aa858 80aa6c0: eef4 7ac7 vcmpe.f32 s15, s14 80aa6c4: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa6c8: dd02 ble.n 80aa6d0 80aa6ca: 4b64 ldr r3, [pc, #400] ; (80aa85c ) 80aa6cc: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aa6d0: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa6d4: ed9f 7a62 vldr s14, [pc, #392] ; 80aa860 80aa6d8: eef4 7ac7 vcmpe.f32 s15, s14 80aa6dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa6e0: d502 bpl.n 80aa6e8 80aa6e2: 4b60 ldr r3, [pc, #384] ; (80aa864 ) 80aa6e4: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80aa6e8: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa6ec: ed9f 7a5a vldr s14, [pc, #360] ; 80aa858 80aa6f0: eef4 7ac7 vcmpe.f32 s15, s14 80aa6f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa6f8: dd02 ble.n 80aa700 80aa6fa: 4b58 ldr r3, [pc, #352] ; (80aa85c ) 80aa6fc: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80aa700: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa704: ed9f 7a56 vldr s14, [pc, #344] ; 80aa860 80aa708: eef4 7ac7 vcmpe.f32 s15, s14 80aa70c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa710: d502 bpl.n 80aa718 80aa712: 4b54 ldr r3, [pc, #336] ; (80aa864 ) 80aa714: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80aa718: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa71c: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa720: edc7 7a01 vstr s15, [r7, #4] 80aa724: 88bb ldrh r3, [r7, #4] 80aa726: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80aa72a: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80aa72e: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa732: edc7 7a01 vstr s15, [r7, #4] 80aa736: 88bb ldrh r3, [r7, #4] 80aa738: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80aa73c: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aa740: 2b28 cmp r3, #40 ; 0x28 80aa742: dd08 ble.n 80aa756 pMin = 40; 80aa744: 2328 movs r3, #40 ; 0x28 80aa746: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aa74a: 4b47 ldr r3, [pc, #284] ; (80aa868 ) 80aa74c: 781b ldrb r3, [r3, #0] 80aa74e: 3301 adds r3, #1 80aa750: b2da uxtb r2, r3 80aa752: 4b45 ldr r3, [pc, #276] ; (80aa868 ) 80aa754: 701a strb r2, [r3, #0] if(pMin < -40) 80aa756: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80aa75a: f113 0f28 cmn.w r3, #40 ; 0x28 80aa75e: da09 bge.n 80aa774 pMin = -40; 80aa760: f64f 73d8 movw r3, #65496 ; 0xffd8 80aa764: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80aa768: 4b3f ldr r3, [pc, #252] ; (80aa868 ) 80aa76a: 781b ldrb r3, [r3, #0] 80aa76c: 3301 adds r3, #1 80aa76e: b2da uxtb r2, r3 80aa770: 4b3d ldr r3, [pc, #244] ; (80aa868 ) 80aa772: 701a strb r2, [r3, #0] if(pMax > 40) 80aa774: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa778: 2b28 cmp r3, #40 ; 0x28 80aa77a: dd08 ble.n 80aa78e pMax = 40; 80aa77c: 2328 movs r3, #40 ; 0x28 80aa77e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa782: 4b39 ldr r3, [pc, #228] ; (80aa868 ) 80aa784: 781b ldrb r3, [r3, #0] 80aa786: 3301 adds r3, #1 80aa788: b2da uxtb r2, r3 80aa78a: 4b37 ldr r3, [pc, #220] ; (80aa868 ) 80aa78c: 701a strb r2, [r3, #0] if(pMax < -40) 80aa78e: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa792: f113 0f28 cmn.w r3, #40 ; 0x28 80aa796: da09 bge.n 80aa7ac pMax = -40; 80aa798: f64f 73d8 movw r3, #65496 ; 0xffd8 80aa79c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa7a0: 4b31 ldr r3, [pc, #196] ; (80aa868 ) 80aa7a2: 781b ldrb r3, [r3, #0] 80aa7a4: 3301 adds r3, #1 80aa7a6: b2da uxtb r2, r3 80aa7a8: 4b2f ldr r3, [pc, #188] ; (80aa868 ) 80aa7aa: 701a strb r2, [r3, #0] x = 62 + i; 80aa7ac: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa7b0: 333e adds r3, #62 ; 0x3e 80aa7b2: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 101 - pMin, x, 101 - pMax); 80aa7b6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa7ba: b298 uxth r0, r3 80aa7bc: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aa7c0: f1c3 0365 rsb r3, r3, #101 ; 0x65 80aa7c4: b299 uxth r1, r3 80aa7c6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa7ca: b29a uxth r2, r3 80aa7cc: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa7d0: f1c3 0365 rsb r3, r3, #101 ; 0x65 80aa7d4: b29b uxth r3, r3 80aa7d6: f7aa f955 bl 8054a84 if(pMax > Maximum) Maximum = pMax; 80aa7da: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aa7de: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aa7e2: 429a cmp r2, r3 80aa7e4: dd03 ble.n 80aa7ee 80aa7e6: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa7ea: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80aa7ee: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aa7f2: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80aa7f6: 429a cmp r2, r3 80aa7f8: da03 bge.n 80aa802 80aa7fa: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aa7fe: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80aa802: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa806: 3301 adds r3, #1 80aa808: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aa80c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa810: 2bff cmp r3, #255 ; 0xff 80aa812: f67f ade5 bls.w 80aa3e0 Maximum = ABS(Maximum); 80aa816: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aa81a: 2b00 cmp r3, #0 80aa81c: bfb8 it lt 80aa81e: 425b neglt r3, r3 80aa820: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80aa824: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80aa828: 2b00 cmp r3, #0 80aa82a: bfb8 it lt 80aa82c: 425b neglt r3, r3 80aa82e: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80aa832: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80aa836: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aa83a: 429a cmp r2, r3 80aa83c: f344 86b2 ble.w 80af5a4 Maximum = Minimum; 80aa840: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80aa844: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80aa848: f004 beac b.w 80af5a4 80aa84c: 640b0000 .word 0x640b0000 80aa850: 20021698 .word 0x20021698 80aa854: 20020998 .word 0x20020998 80aa858: 46fffe00 .word 0x46fffe00 80aa85c: 46fffe00 .word 0x46fffe00 80aa860: c6fffe00 .word 0xc6fffe00 80aa864: c6fffe00 .word 0xc6fffe00 80aa868: 20021696 .word 0x20021696 if(pardata.SYG == FRAN) 80aa86c: 4bce ldr r3, [pc, #824] ; (80aaba8 ) 80aa86e: 781b ldrb r3, [r3, #0] 80aa870: b2db uxtb r3, r3 80aa872: 2b03 cmp r3, #3 80aa874: f004 8696 beq.w 80af5a4 if(!FIRST) 80aa878: 4bcc ldr r3, [pc, #816] ; (80aabac ) 80aa87a: 781b ldrb r3, [r3, #0] 80aa87c: b2db uxtb r3, r3 80aa87e: f083 0301 eor.w r3, r3, #1 80aa882: b2db uxtb r3, r3 80aa884: 2b00 cmp r3, #0 80aa886: f004 868d beq.w 80af5a4 if(pardata.SYG == ROLL) 80aa88a: 4bc7 ldr r3, [pc, #796] ; (80aaba8 ) 80aa88c: 781b ldrb r3, [r3, #0] 80aa88e: b2db uxtb r3, r3 80aa890: 2b08 cmp r3, #8 80aa892: f042 82c5 bne.w 80ace20 if(READY_TO_SEE) 80aa896: 4bc6 ldr r3, [pc, #792] ; (80aabb0 ) 80aa898: 781b ldrb r3, [r3, #0] 80aa89a: b2db uxtb r3, r3 80aa89c: 2b00 cmp r3, #0 80aa89e: f004 8681 beq.w 80af5a4 k = 0; 80aa8a2: 2300 movs r3, #0 80aa8a4: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80aa8a8: 4bc2 ldr r3, [pc, #776] ; (80aabb4 ) 80aa8aa: 881b ldrh r3, [r3, #0] 80aa8ac: b29b uxth r3, r3 80aa8ae: 461a mov r2, r3 80aa8b0: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80aa8b4: 4413 add r3, r2 80aa8b6: 009a lsls r2, r3, #2 80aa8b8: 4bbf ldr r3, [pc, #764] ; (80aabb8 ) 80aa8ba: 4413 add r3, r2 80aa8bc: 681b ldr r3, [r3, #0] 80aa8be: f8c7 326c str.w r3, [r7, #620] ; 0x26c LinToLog(&f, &f); 80aa8c2: f507 721b add.w r2, r7, #620 ; 0x26c 80aa8c6: f507 731b add.w r3, r7, #620 ; 0x26c 80aa8ca: 4611 mov r1, r2 80aa8cc: 4618 mov r0, r3 80aa8ce: f7bb fa3b bl 8065d48 if(f <= 0.0f) k++; 80aa8d2: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa8d6: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa8da: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa8de: d942 bls.n 80aa966 else break; 80aa8e0: bf00 nop arm_max_f32(&ScrA_f32(lX + k), rX-lX-k-1, &max, &idx); 80aa8e2: 4bb4 ldr r3, [pc, #720] ; (80aabb4 ) 80aa8e4: 881b ldrh r3, [r3, #0] 80aa8e6: b29b uxth r3, r3 80aa8e8: 461a mov r2, r3 80aa8ea: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80aa8ee: 4413 add r3, r2 80aa8f0: 009a lsls r2, r3, #2 80aa8f2: 4bb1 ldr r3, [pc, #708] ; (80aabb8 ) 80aa8f4: 4413 add r3, r2 80aa8f6: 4618 mov r0, r3 80aa8f8: 4bb0 ldr r3, [pc, #704] ; (80aabbc ) 80aa8fa: 881b ldrh r3, [r3, #0] 80aa8fc: b29b uxth r3, r3 80aa8fe: 461a mov r2, r3 80aa900: 4bac ldr r3, [pc, #688] ; (80aabb4 ) 80aa902: 881b ldrh r3, [r3, #0] 80aa904: b29b uxth r3, r3 80aa906: 1ad3 subs r3, r2, r3 80aa908: 461a mov r2, r3 80aa90a: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80aa90e: 1ad3 subs r3, r2, r3 80aa910: 1e59 subs r1, r3, #1 80aa912: f507 731a add.w r3, r7, #616 ; 0x268 80aa916: f507 721d add.w r2, r7, #628 ; 0x274 80aa91a: f023 fd7b bl 80ce414 arm_min_f32(&ScrA_f32(lX + k), rX-lX-k-1, &min, &idx); 80aa91e: 4ba5 ldr r3, [pc, #660] ; (80aabb4 ) 80aa920: 881b ldrh r3, [r3, #0] 80aa922: b29b uxth r3, r3 80aa924: 461a mov r2, r3 80aa926: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80aa92a: 4413 add r3, r2 80aa92c: 009a lsls r2, r3, #2 80aa92e: 4ba2 ldr r3, [pc, #648] ; (80aabb8 ) 80aa930: 4413 add r3, r2 80aa932: 4618 mov r0, r3 80aa934: 4ba1 ldr r3, [pc, #644] ; (80aabbc ) 80aa936: 881b ldrh r3, [r3, #0] 80aa938: b29b uxth r3, r3 80aa93a: 461a mov r2, r3 80aa93c: 4b9d ldr r3, [pc, #628] ; (80aabb4 ) 80aa93e: 881b ldrh r3, [r3, #0] 80aa940: b29b uxth r3, r3 80aa942: 1ad3 subs r3, r2, r3 80aa944: 461a mov r2, r3 80aa946: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80aa94a: 1ad3 subs r3, r2, r3 80aa94c: 1e59 subs r1, r3, #1 80aa94e: f507 731a add.w r3, r7, #616 ; 0x268 80aa952: f507 721c add.w r2, r7, #624 ; 0x270 80aa956: f023 fcc1 bl 80ce2dc if(AUTOZOOM) 80aa95a: 4b99 ldr r3, [pc, #612] ; (80aabc0 ) 80aa95c: 781b ldrb r3, [r3, #0] 80aa95e: b2db uxtb r3, r3 80aa960: 2b00 cmp r3, #0 80aa962: d025 beq.n 80aa9b0 80aa964: e005 b.n 80aa972 if(f <= 0.0f) k++; 80aa966: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80aa96a: 3301 adds r3, #1 80aa96c: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80aa970: e79a b.n 80aa8a8 f = (max - min); 80aa972: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80aa976: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa97a: ee77 7a67 vsub.f32 s15, s14, s15 80aa97e: edc7 7a9b vstr s15, [r7, #620] ; 0x26c if(f <= 0.0f) { 80aa982: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa986: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa98a: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa98e: d802 bhi.n 80aa996 f = 80.0f; 80aa990: 4b8c ldr r3, [pc, #560] ; (80aabc4 ) 80aa992: f8c7 326c str.w r3, [r7, #620] ; 0x26c ZoomVal = 97.0f / f; 80aa996: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80aa99a: eddf 6a8b vldr s13, [pc, #556] ; 80aabc8 80aa99e: eec6 7a87 vdiv.f32 s15, s13, s14 80aa9a2: 4b8a ldr r3, [pc, #552] ; (80aabcc ) 80aa9a4: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80aa9a8: 4b85 ldr r3, [pc, #532] ; (80aabc0 ) 80aa9aa: 2200 movs r2, #0 80aa9ac: 701a strb r2, [r3, #0] 80aa9ae: e024 b.n 80aa9fa if(ZOOM_IN) 80aa9b0: 4b87 ldr r3, [pc, #540] ; (80aabd0 ) 80aa9b2: 781b ldrb r3, [r3, #0] 80aa9b4: b2db uxtb r3, r3 80aa9b6: 2b00 cmp r3, #0 80aa9b8: d00d beq.n 80aa9d6 ZOOM_IN = false; 80aa9ba: 4b85 ldr r3, [pc, #532] ; (80aabd0 ) 80aa9bc: 2200 movs r2, #0 80aa9be: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80aa9c0: 4b82 ldr r3, [pc, #520] ; (80aabcc ) 80aa9c2: edd3 7a00 vldr s15, [r3] 80aa9c6: ed9f 7a83 vldr s14, [pc, #524] ; 80aabd4 80aa9ca: ee67 7a87 vmul.f32 s15, s15, s14 80aa9ce: 4b7f ldr r3, [pc, #508] ; (80aabcc ) 80aa9d0: edc3 7a00 vstr s15, [r3] 80aa9d4: e011 b.n 80aa9fa if(ZOOM_OUT) 80aa9d6: 4b80 ldr r3, [pc, #512] ; (80aabd8 ) 80aa9d8: 781b ldrb r3, [r3, #0] 80aa9da: b2db uxtb r3, r3 80aa9dc: 2b00 cmp r3, #0 80aa9de: d00c beq.n 80aa9fa ZOOM_OUT = false; 80aa9e0: 4b7d ldr r3, [pc, #500] ; (80aabd8 ) 80aa9e2: 2200 movs r2, #0 80aa9e4: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80aa9e6: 4b79 ldr r3, [pc, #484] ; (80aabcc ) 80aa9e8: edd3 7a00 vldr s15, [r3] 80aa9ec: ed9f 7a7b vldr s14, [pc, #492] ; 80aabdc 80aa9f0: ee67 7a87 vmul.f32 s15, s15, s14 80aa9f4: 4b75 ldr r3, [pc, #468] ; (80aabcc ) 80aa9f6: edc3 7a00 vstr s15, [r3] if(menu == VIEW_PORTRET) 80aa9fa: 4b79 ldr r3, [pc, #484] ; (80aabe0 ) 80aa9fc: 781b ldrb r3, [r3, #0] 80aa9fe: b2db uxtb r3, r3 80aaa00: 2b28 cmp r3, #40 ; 0x28 80aaa02: f041 879d bne.w 80ac940 for(i = 0; i < 15; i++) 80aaa06: 2300 movs r3, #0 80aaa08: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aaa0c: e058 b.n 80aaac0 _Fvr[i] = -1; 80aaa0e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aaa12: 009b lsls r3, r3, #2 80aaa14: f507 722e add.w r2, r7, #696 ; 0x2b8 80aaa18: 4413 add r3, r2 80aaa1a: f04f 32ff mov.w r2, #4294967295 80aaa1e: f843 2c8c str.w r2, [r3, #-140] _Fn[i] = -1; 80aaa22: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aaa26: 009b lsls r3, r3, #2 80aaa28: f507 722e add.w r2, r7, #696 ; 0x2b8 80aaa2c: 4413 add r3, r2 80aaa2e: f04f 32ff mov.w r2, #4294967295 80aaa32: f843 2cc8 str.w r2, [r3, #-200] _Fv[i] = -1; 80aaa36: f507 73da add.w r3, r7, #436 ; 0x1b4 80aaa3a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aaa3e: f04f 31ff mov.w r1, #4294967295 80aaa42: f843 1022 str.w r1, [r3, r2, lsl #2] _Fc[i] = -1; 80aaa46: f507 73bc add.w r3, r7, #376 ; 0x178 80aaa4a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aaa4e: f04f 31ff mov.w r1, #4294967295 80aaa52: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk[i] = -1; 80aaa56: f507 739e add.w r3, r7, #316 ; 0x13c 80aaa5a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aaa5e: f04f 31ff mov.w r1, #4294967295 80aaa62: f843 1022 str.w r1, [r3, r2, lsl #2] _Fvr_m_Fc[i] = -1; 80aaa66: f507 7380 add.w r3, r7, #256 ; 0x100 80aaa6a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aaa6e: f04f 31ff mov.w r1, #4294967295 80aaa72: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_p_Fc[i] = -1; 80aaa76: f107 03c4 add.w r3, r7, #196 ; 0xc4 80aaa7a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aaa7e: f04f 31ff mov.w r1, #4294967295 80aaa82: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_m_Fc[i] = -1; 80aaa86: f107 0388 add.w r3, r7, #136 ; 0x88 80aaa8a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aaa8e: f04f 31ff mov.w r1, #4294967295 80aaa92: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_p_2Fc[i] = -1; 80aaa96: f107 034c add.w r3, r7, #76 ; 0x4c 80aaa9a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aaa9e: f04f 31ff mov.w r1, #4294967295 80aaaa2: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_m_2Fc[i] = -1; 80aaaa6: f107 0310 add.w r3, r7, #16 80aaaaa: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aaaae: f04f 31ff mov.w r1, #4294967295 80aaab2: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 15; i++) 80aaab6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aaaba: 3301 adds r3, #1 80aaabc: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aaac0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aaac4: 2b0e cmp r3, #14 80aaac6: d9a2 bls.n 80aaa0e for(i = 0; i < 15; i++) { 80aaac8: 2300 movs r3, #0 80aaaca: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aaace: e02a b.n 80aab26 f = Fvr * (float32_t) (i + 1); 80aaad0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aaad4: 3301 adds r3, #1 80aaad6: ee07 3a90 vmov s15, r3 80aaada: eeb8 7a67 vcvt.f32.u32 s14, s15 80aaade: 4b41 ldr r3, [pc, #260] ; (80aabe4 ) 80aaae0: edd3 7a00 vldr s15, [r3] 80aaae4: ee67 7a27 vmul.f32 s15, s14, s15 80aaae8: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fvr[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80aaaec: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aaaf0: eeb7 6ae7 vcvt.f64.f32 d6, s15 80aaaf4: ed9f 5b2a vldr d5, [pc, #168] ; 80aaba0 80aaaf8: ee86 7b05 vdiv.f64 d7, d6, d5 80aaafc: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80aab00: ee37 7b06 vadd.f64 d7, d7, d6 80aab04: eefd 7bc7 vcvt.s32.f64 s15, d7 80aab08: ee17 2a90 vmov r2, s15 80aab0c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aab10: 009b lsls r3, r3, #2 80aab12: f507 712e add.w r1, r7, #696 ; 0x2b8 80aab16: 440b add r3, r1 80aab18: f843 2c8c str.w r2, [r3, #-140] for(i = 0; i < 15; i++) { 80aab1c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aab20: 3301 adds r3, #1 80aab22: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aab26: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aab2a: 2b0e cmp r3, #14 80aab2c: d9d0 bls.n 80aaad0 for(i = 0; i < 4; i++) { 80aab2e: 2300 movs r3, #0 80aab30: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aab34: e02a b.n 80aab8c f = Fn * (float32_t) (i + 1); 80aab36: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aab3a: 3301 adds r3, #1 80aab3c: ee07 3a90 vmov s15, r3 80aab40: eeb8 7a67 vcvt.f32.u32 s14, s15 80aab44: 4b28 ldr r3, [pc, #160] ; (80aabe8 ) 80aab46: edd3 7a00 vldr s15, [r3] 80aab4a: ee67 7a27 vmul.f32 s15, s14, s15 80aab4e: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fn[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80aab52: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aab56: eeb7 6ae7 vcvt.f64.f32 d6, s15 80aab5a: ed9f 5b11 vldr d5, [pc, #68] ; 80aaba0 80aab5e: ee86 7b05 vdiv.f64 d7, d6, d5 80aab62: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80aab66: ee37 7b06 vadd.f64 d7, d7, d6 80aab6a: eefd 7bc7 vcvt.s32.f64 s15, d7 80aab6e: ee17 2a90 vmov r2, s15 80aab72: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aab76: 009b lsls r3, r3, #2 80aab78: f507 712e add.w r1, r7, #696 ; 0x2b8 80aab7c: 440b add r3, r1 80aab7e: f843 2cc8 str.w r2, [r3, #-200] for(i = 0; i < 4; i++) { 80aab82: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aab86: 3301 adds r3, #1 80aab88: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aab8c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aab90: 2b03 cmp r3, #3 80aab92: d9d0 bls.n 80aab36 for(i = 0; i < 3; i++) { 80aab94: 2300 movs r3, #0 80aab96: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aab9a: e050 b.n 80aac3e 80aab9c: f3af 8000 nop.w 80aaba0: 00000000 .word 0x00000000 80aaba4: 3fdf4000 .word 0x3fdf4000 80aaba8: 20023ea8 .word 0x20023ea8 80aabac: 20020dd2 .word 0x20020dd2 80aabb0: 20020dae .word 0x20020dae 80aabb4: 20025d62 .word 0x20025d62 80aabb8: 64080000 .word 0x64080000 80aabbc: 20025d68 .word 0x20025d68 80aabc0: 20020994 .word 0x20020994 80aabc4: 42a00000 .word 0x42a00000 80aabc8: 42c20000 .word 0x42c20000 80aabcc: 20020998 .word 0x20020998 80aabd0: 20020fad .word 0x20020fad 80aabd4: 40000005 .word 0x40000005 80aabd8: 20020fac .word 0x20020fac 80aabdc: 3f000012 .word 0x3f000012 80aabe0: 20020fbd .word 0x20020fbd 80aabe4: 20026d40 .word 0x20026d40 80aabe8: 200267e8 .word 0x200267e8 f = Fv * (float32_t) (i + 1); 80aabec: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aabf0: 3301 adds r3, #1 80aabf2: ee07 3a90 vmov s15, r3 80aabf6: eeb8 7a67 vcvt.f32.u32 s14, s15 80aabfa: 4bcb ldr r3, [pc, #812] ; (80aaf28 ) 80aabfc: edd3 7a00 vldr s15, [r3] 80aac00: ee67 7a27 vmul.f32 s15, s14, s15 80aac04: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fv[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80aac08: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aac0c: eeb7 6ae7 vcvt.f64.f32 d6, s15 80aac10: ed9f 5bc3 vldr d5, [pc, #780] ; 80aaf20 80aac14: ee86 7b05 vdiv.f64 d7, d6, d5 80aac18: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80aac1c: ee37 7b06 vadd.f64 d7, d7, d6 80aac20: eefd 7bc7 vcvt.s32.f64 s15, d7 80aac24: ee17 1a90 vmov r1, s15 80aac28: f507 73da add.w r3, r7, #436 ; 0x1b4 80aac2c: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aac30: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 3; i++) { 80aac34: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aac38: 3301 adds r3, #1 80aac3a: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aac3e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aac42: 2b02 cmp r3, #2 80aac44: d9d2 bls.n 80aabec for(i = 0; i < 8; i++) 80aac46: 2300 movs r3, #0 80aac48: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aac4c: e051 b.n 80aacf2 f = Fc * (float32_t) (i + 1); 80aac4e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aac52: 3301 adds r3, #1 80aac54: ee07 3a90 vmov s15, r3 80aac58: eeb8 7a67 vcvt.f32.u32 s14, s15 80aac5c: 4bb3 ldr r3, [pc, #716] ; (80aaf2c ) 80aac5e: edd3 7a00 vldr s15, [r3] 80aac62: ee67 7a27 vmul.f32 s15, s14, s15 80aac66: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80aac6a: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aac6e: eeb7 6ae7 vcvt.f64.f32 d6, s15 80aac72: ed9f 5bab vldr d5, [pc, #684] ; 80aaf20 80aac76: ee86 7b05 vdiv.f64 d7, d6, d5 80aac7a: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80aac7e: ee37 7b06 vadd.f64 d7, d7, d6 80aac82: eefd 7bc7 vcvt.s32.f64 s15, d7 80aac86: ee17 1a90 vmov r1, s15 80aac8a: f507 73bc add.w r3, r7, #376 ; 0x178 80aac8e: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aac92: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Fvr * (float32_t) (i + 1)) - Fc; 80aac96: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aac9a: 3301 adds r3, #1 80aac9c: ee07 3a90 vmov s15, r3 80aaca0: eeb8 7a67 vcvt.f32.u32 s14, s15 80aaca4: 4ba2 ldr r3, [pc, #648] ; (80aaf30 ) 80aaca6: edd3 7a00 vldr s15, [r3] 80aacaa: ee27 7a27 vmul.f32 s14, s14, s15 80aacae: 4b9f ldr r3, [pc, #636] ; (80aaf2c ) 80aacb0: edd3 7a00 vldr s15, [r3] 80aacb4: ee77 7a67 vsub.f32 s15, s14, s15 80aacb8: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fvr_m_Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80aacbc: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aacc0: eeb7 6ae7 vcvt.f64.f32 d6, s15 80aacc4: ed9f 5b96 vldr d5, [pc, #600] ; 80aaf20 80aacc8: ee86 7b05 vdiv.f64 d7, d6, d5 80aaccc: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80aacd0: ee37 7b06 vadd.f64 d7, d7, d6 80aacd4: eefd 7bc7 vcvt.s32.f64 s15, d7 80aacd8: ee17 1a90 vmov r1, s15 80aacdc: f507 7380 add.w r3, r7, #256 ; 0x100 80aace0: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aace4: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 8; i++) 80aace8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aacec: 3301 adds r3, #1 80aacee: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aacf2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aacf6: 2b07 cmp r3, #7 80aacf8: d9a9 bls.n 80aac4e for(i = 0; i < 6; i++) 80aacfa: 2300 movs r3, #0 80aacfc: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aad00: e0d0 b.n 80aaea4 f = Ftk * (float32_t) (i + 1); 80aad02: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aad06: 3301 adds r3, #1 80aad08: ee07 3a90 vmov s15, r3 80aad0c: eeb8 7a67 vcvt.f32.u32 s14, s15 80aad10: 4b88 ldr r3, [pc, #544] ; (80aaf34 ) 80aad12: edd3 7a00 vldr s15, [r3] 80aad16: ee67 7a27 vmul.f32 s15, s14, s15 80aad1a: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80aad1e: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aad22: eeb7 6ae7 vcvt.f64.f32 d6, s15 80aad26: ed9f 5b7e vldr d5, [pc, #504] ; 80aaf20 80aad2a: ee86 7b05 vdiv.f64 d7, d6, d5 80aad2e: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80aad32: ee37 7b06 vadd.f64 d7, d7, d6 80aad36: eefd 7bc7 vcvt.s32.f64 s15, d7 80aad3a: ee17 1a90 vmov r1, s15 80aad3e: f507 739e add.w r3, r7, #316 ; 0x13c 80aad42: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aad46: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) - Fc; 80aad4a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aad4e: 3301 adds r3, #1 80aad50: ee07 3a90 vmov s15, r3 80aad54: eeb8 7a67 vcvt.f32.u32 s14, s15 80aad58: 4b76 ldr r3, [pc, #472] ; (80aaf34 ) 80aad5a: edd3 7a00 vldr s15, [r3] 80aad5e: ee27 7a27 vmul.f32 s14, s14, s15 80aad62: 4b72 ldr r3, [pc, #456] ; (80aaf2c ) 80aad64: edd3 7a00 vldr s15, [r3] 80aad68: ee77 7a67 vsub.f32 s15, s14, s15 80aad6c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_m_Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80aad70: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aad74: eeb7 6ae7 vcvt.f64.f32 d6, s15 80aad78: ed9f 5b69 vldr d5, [pc, #420] ; 80aaf20 80aad7c: ee86 7b05 vdiv.f64 d7, d6, d5 80aad80: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80aad84: ee37 7b06 vadd.f64 d7, d7, d6 80aad88: eefd 7bc7 vcvt.s32.f64 s15, d7 80aad8c: ee17 1a90 vmov r1, s15 80aad90: f107 0388 add.w r3, r7, #136 ; 0x88 80aad94: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aad98: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) + Fc; 80aad9c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aada0: 3301 adds r3, #1 80aada2: ee07 3a90 vmov s15, r3 80aada6: eeb8 7a67 vcvt.f32.u32 s14, s15 80aadaa: 4b62 ldr r3, [pc, #392] ; (80aaf34 ) 80aadac: edd3 7a00 vldr s15, [r3] 80aadb0: ee27 7a27 vmul.f32 s14, s14, s15 80aadb4: 4b5d ldr r3, [pc, #372] ; (80aaf2c ) 80aadb6: edd3 7a00 vldr s15, [r3] 80aadba: ee77 7a27 vadd.f32 s15, s14, s15 80aadbe: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_p_Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80aadc2: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aadc6: eeb7 6ae7 vcvt.f64.f32 d6, s15 80aadca: ed9f 5b55 vldr d5, [pc, #340] ; 80aaf20 80aadce: ee86 7b05 vdiv.f64 d7, d6, d5 80aadd2: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80aadd6: ee37 7b06 vadd.f64 d7, d7, d6 80aadda: eefd 7bc7 vcvt.s32.f64 s15, d7 80aadde: ee17 1a90 vmov r1, s15 80aade2: f107 03c4 add.w r3, r7, #196 ; 0xc4 80aade6: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aadea: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) - 2*Fc; 80aadee: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aadf2: 3301 adds r3, #1 80aadf4: ee07 3a90 vmov s15, r3 80aadf8: eeb8 7a67 vcvt.f32.u32 s14, s15 80aadfc: 4b4d ldr r3, [pc, #308] ; (80aaf34 ) 80aadfe: edd3 7a00 vldr s15, [r3] 80aae02: ee27 7a27 vmul.f32 s14, s14, s15 80aae06: 4b49 ldr r3, [pc, #292] ; (80aaf2c ) 80aae08: edd3 7a00 vldr s15, [r3] 80aae0c: ee77 7aa7 vadd.f32 s15, s15, s15 80aae10: ee77 7a67 vsub.f32 s15, s14, s15 80aae14: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_m_2Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80aae18: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aae1c: eeb7 6ae7 vcvt.f64.f32 d6, s15 80aae20: ed9f 5b3f vldr d5, [pc, #252] ; 80aaf20 80aae24: ee86 7b05 vdiv.f64 d7, d6, d5 80aae28: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80aae2c: ee37 7b06 vadd.f64 d7, d7, d6 80aae30: eefd 7bc7 vcvt.s32.f64 s15, d7 80aae34: ee17 1a90 vmov r1, s15 80aae38: f107 0310 add.w r3, r7, #16 80aae3c: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aae40: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) + 2*Fc; 80aae44: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aae48: 3301 adds r3, #1 80aae4a: ee07 3a90 vmov s15, r3 80aae4e: eeb8 7a67 vcvt.f32.u32 s14, s15 80aae52: 4b38 ldr r3, [pc, #224] ; (80aaf34 ) 80aae54: edd3 7a00 vldr s15, [r3] 80aae58: ee27 7a27 vmul.f32 s14, s14, s15 80aae5c: 4b33 ldr r3, [pc, #204] ; (80aaf2c ) 80aae5e: edd3 7a00 vldr s15, [r3] 80aae62: ee77 7aa7 vadd.f32 s15, s15, s15 80aae66: ee77 7a27 vadd.f32 s15, s14, s15 80aae6a: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_p_2Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80aae6e: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aae72: eeb7 6ae7 vcvt.f64.f32 d6, s15 80aae76: ed9f 5b2a vldr d5, [pc, #168] ; 80aaf20 80aae7a: ee86 7b05 vdiv.f64 d7, d6, d5 80aae7e: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80aae82: ee37 7b06 vadd.f64 d7, d7, d6 80aae86: eefd 7bc7 vcvt.s32.f64 s15, d7 80aae8a: ee17 1a90 vmov r1, s15 80aae8e: f107 034c add.w r3, r7, #76 ; 0x4c 80aae92: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aae96: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 6; i++) 80aae9a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aae9e: 3301 adds r3, #1 80aaea0: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aaea4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aaea8: 2b05 cmp r3, #5 80aaeaa: f67f af2a bls.w 80aad02 uint8_t nnn[3] = {0, 0, 0}; 80aaeae: f107 030c add.w r3, r7, #12 80aaeb2: 2200 movs r2, #0 80aaeb4: 701a strb r2, [r3, #0] 80aaeb6: f107 030c add.w r3, r7, #12 80aaeba: 2200 movs r2, #0 80aaebc: 705a strb r2, [r3, #1] 80aaebe: f107 030c add.w r3, r7, #12 80aaec2: 2200 movs r2, #0 80aaec4: 709a strb r2, [r3, #2] switch(DefectType) 80aaec6: 4b1c ldr r3, [pc, #112] ; (80aaf38 ) 80aaec8: 781b ldrb r3, [r3, #0] 80aaeca: b2db uxtb r3, r3 80aaecc: 2b0b cmp r3, #11 80aaece: f201 8386 bhi.w 80ac5de 80aaed2: a201 add r2, pc, #4 ; (adr r2, 80aaed8 ) 80aaed4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80aaed8: 080aaf09 .word 0x080aaf09 80aaedc: 080ab0b9 .word 0x080ab0b9 80aaee0: 080ab361 .word 0x080ab361 80aaee4: 080ab611 .word 0x080ab611 80aaee8: 080ab987 .word 0x080ab987 80aaeec: 080abb09 .word 0x080abb09 80aaef0: 080abb09 .word 0x080abb09 80aaef4: 080abd01 .word 0x080abd01 80aaef8: 080abeef .word 0x080abeef 80aaefc: 080ac2c3 .word 0x080ac2c3 80aaf00: 080ac405 .word 0x080ac405 80aaf04: 080ac443 .word 0x080ac443 n = 0; 80aaf08: 2300 movs r3, #0 80aaf0a: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80aaf0e: 4b0b ldr r3, [pc, #44] ; (80aaf3c ) 80aaf10: 2200 movs r2, #0 80aaf12: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80aaf14: 2300 movs r3, #0 80aaf16: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aaf1a: e0c6 b.n 80ab0aa 80aaf1c: f3af 8000 nop.w 80aaf20: 00000000 .word 0x00000000 80aaf24: 3fdf4000 .word 0x3fdf4000 80aaf28: 20026204 .word 0x20026204 80aaf2c: 20068360 .word 0x20068360 80aaf30: 20026d40 .word 0x20026d40 80aaf34: 20037a80 .word 0x20037a80 80aaf38: 20021568 .word 0x20021568 80aaf3c: 20021696 .word 0x20021696 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80aaf40: 4b9f ldr r3, [pc, #636] ; (80ab1c0 ) 80aaf42: 781b ldrb r3, [r3, #0] 80aaf44: b2db uxtb r3, r3 80aaf46: 4618 mov r0, r3 80aaf48: 4b9e ldr r3, [pc, #632] ; (80ab1c4 ) 80aaf4a: 79db ldrb r3, [r3, #7] 80aaf4c: b2db uxtb r3, r3 80aaf4e: 4619 mov r1, r3 80aaf50: 4a9d ldr r2, [pc, #628] ; (80ab1c8 ) 80aaf52: 0083 lsls r3, r0, #2 80aaf54: 4413 add r3, r2 80aaf56: 440b add r3, r1 80aaf58: 781b ldrb r3, [r3, #0] 80aaf5a: 461a mov r2, r3 80aaf5c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aaf60: fb03 f302 mul.w r3, r3, r2 80aaf64: 4a99 ldr r2, [pc, #612] ; (80ab1cc ) 80aaf66: 8812 ldrh r2, [r2, #0] 80aaf68: b292 uxth r2, r2 80aaf6a: 4413 add r3, r2 80aaf6c: 009a lsls r2, r3, #2 80aaf6e: 4b98 ldr r3, [pc, #608] ; (80ab1d0 ) 80aaf70: 4413 add r3, r2 80aaf72: 461c mov r4, r3 80aaf74: 4b92 ldr r3, [pc, #584] ; (80ab1c0 ) 80aaf76: 781b ldrb r3, [r3, #0] 80aaf78: b2db uxtb r3, r3 80aaf7a: 4618 mov r0, r3 80aaf7c: 4b91 ldr r3, [pc, #580] ; (80ab1c4 ) 80aaf7e: 79db ldrb r3, [r3, #7] 80aaf80: b2db uxtb r3, r3 80aaf82: 4619 mov r1, r3 80aaf84: 4a90 ldr r2, [pc, #576] ; (80ab1c8 ) 80aaf86: 0083 lsls r3, r0, #2 80aaf88: 4413 add r3, r2 80aaf8a: 440b add r3, r1 80aaf8c: 781b ldrb r3, [r3, #0] 80aaf8e: 4618 mov r0, r3 80aaf90: f507 711a add.w r1, r7, #616 ; 0x268 80aaf94: f507 731e add.w r3, r7, #632 ; 0x278 80aaf98: 1d1a adds r2, r3, #4 80aaf9a: 460b mov r3, r1 80aaf9c: 4601 mov r1, r0 80aaf9e: 4620 mov r0, r4 80aafa0: f023 fa38 bl 80ce414 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80aafa4: 4b86 ldr r3, [pc, #536] ; (80ab1c0 ) 80aafa6: 781b ldrb r3, [r3, #0] 80aafa8: b2db uxtb r3, r3 80aafaa: 4618 mov r0, r3 80aafac: 4b85 ldr r3, [pc, #532] ; (80ab1c4 ) 80aafae: 79db ldrb r3, [r3, #7] 80aafb0: b2db uxtb r3, r3 80aafb2: 4619 mov r1, r3 80aafb4: 4a84 ldr r2, [pc, #528] ; (80ab1c8 ) 80aafb6: 0083 lsls r3, r0, #2 80aafb8: 4413 add r3, r2 80aafba: 440b add r3, r1 80aafbc: 781b ldrb r3, [r3, #0] 80aafbe: 461a mov r2, r3 80aafc0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aafc4: fb03 f302 mul.w r3, r3, r2 80aafc8: 4a80 ldr r2, [pc, #512] ; (80ab1cc ) 80aafca: 8812 ldrh r2, [r2, #0] 80aafcc: b292 uxth r2, r2 80aafce: 4413 add r3, r2 80aafd0: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80aafd4: 4b7a ldr r3, [pc, #488] ; (80ab1c0 ) 80aafd6: 781b ldrb r3, [r3, #0] 80aafd8: b2db uxtb r3, r3 80aafda: 4618 mov r0, r3 80aafdc: 4b79 ldr r3, [pc, #484] ; (80ab1c4 ) 80aafde: 79db ldrb r3, [r3, #7] 80aafe0: b2db uxtb r3, r3 80aafe2: 4619 mov r1, r3 80aafe4: 4a78 ldr r2, [pc, #480] ; (80ab1c8 ) 80aafe6: 0083 lsls r3, r0, #2 80aafe8: 4413 add r3, r2 80aafea: 440b add r3, r1 80aafec: 781b ldrb r3, [r3, #0] 80aafee: 461a mov r2, r3 80aaff0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aaff4: fb03 f302 mul.w r3, r3, r2 80aaff8: 4a74 ldr r2, [pc, #464] ; (80ab1cc ) 80aaffa: 8812 ldrh r2, [r2, #0] 80aaffc: b292 uxth r2, r2 80aaffe: 4413 add r3, r2 80ab000: 4a6f ldr r2, [pc, #444] ; (80ab1c0 ) 80ab002: 7812 ldrb r2, [r2, #0] 80ab004: b2d2 uxtb r2, r2 80ab006: 4614 mov r4, r2 80ab008: 4a6e ldr r2, [pc, #440] ; (80ab1c4 ) 80ab00a: 79d2 ldrb r2, [r2, #7] 80ab00c: b2d2 uxtb r2, r2 80ab00e: 4610 mov r0, r2 80ab010: 496d ldr r1, [pc, #436] ; (80ab1c8 ) 80ab012: 00a2 lsls r2, r4, #2 80ab014: 440a add r2, r1 80ab016: 4402 add r2, r0 80ab018: 7812 ldrb r2, [r2, #0] 80ab01a: 4413 add r3, r2 80ab01c: 3b01 subs r3, #1 80ab01e: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80ab022: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab026: 333e adds r3, #62 ; 0x3e 80ab028: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 7; j++) 80ab02c: 2300 movs r3, #0 80ab02e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ab032: e031 b.n 80ab098 if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80ab034: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab038: 009b lsls r3, r3, #2 80ab03a: f507 722e add.w r2, r7, #696 ; 0x2b8 80ab03e: 4413 add r3, r2 80ab040: f853 3c8c ldr.w r3, [r3, #-140] 80ab044: 461a mov r2, r3 80ab046: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ab04a: 429a cmp r2, r3 80ab04c: d31f bcc.n 80ab08e 80ab04e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab052: 009b lsls r3, r3, #2 80ab054: f507 722e add.w r2, r7, #696 ; 0x2b8 80ab058: 4413 add r3, r2 80ab05a: f853 3c8c ldr.w r3, [r3, #-140] 80ab05e: 461a mov r2, r3 80ab060: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ab064: 429a cmp r2, r3 80ab066: d812 bhi.n 80ab08e LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80ab068: 495a ldr r1, [pc, #360] ; (80ab1d4 ) 80ab06a: 485b ldr r0, [pc, #364] ; (80ab1d8 ) 80ab06c: f7a9 fad0 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ab070: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab074: b298 uxth r0, r3 80ab076: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab07a: b29a uxth r2, r3 80ab07c: 23da movs r3, #218 ; 0xda 80ab07e: 212c movs r1, #44 ; 0x2c 80ab080: f7a9 fd00 bl 8054a84 n++; 80ab084: f8d7 32a4 ldr.w r3, [r7, #676] ; 0x2a4 80ab088: 3301 adds r3, #1 80ab08a: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 for(j = 0; j < 7; j++) 80ab08e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab092: 3301 adds r3, #1 80ab094: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ab098: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab09c: 2b06 cmp r3, #6 80ab09e: d9c9 bls.n 80ab034 for(i = 0; i < 256; i++) 80ab0a0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab0a4: 3301 adds r3, #1 80ab0a6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab0aa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab0ae: 2bff cmp r3, #255 ; 0xff 80ab0b0: f67f af46 bls.w 80aaf40 break; 80ab0b4: f001 ba93 b.w 80ac5de n = 0; 80ab0b8: 2300 movs r3, #0 80ab0ba: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80ab0be: 4b47 ldr r3, [pc, #284] ; (80ab1dc ) 80ab0c0: 2200 movs r2, #0 80ab0c2: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80ab0c4: 2300 movs r3, #0 80ab0c6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab0ca: e142 b.n 80ab352 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ab0cc: 4b3c ldr r3, [pc, #240] ; (80ab1c0 ) 80ab0ce: 781b ldrb r3, [r3, #0] 80ab0d0: b2db uxtb r3, r3 80ab0d2: 4618 mov r0, r3 80ab0d4: 4b3b ldr r3, [pc, #236] ; (80ab1c4 ) 80ab0d6: 79db ldrb r3, [r3, #7] 80ab0d8: b2db uxtb r3, r3 80ab0da: 4619 mov r1, r3 80ab0dc: 4a3a ldr r2, [pc, #232] ; (80ab1c8 ) 80ab0de: 0083 lsls r3, r0, #2 80ab0e0: 4413 add r3, r2 80ab0e2: 440b add r3, r1 80ab0e4: 781b ldrb r3, [r3, #0] 80ab0e6: 461a mov r2, r3 80ab0e8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab0ec: fb03 f302 mul.w r3, r3, r2 80ab0f0: 4a36 ldr r2, [pc, #216] ; (80ab1cc ) 80ab0f2: 8812 ldrh r2, [r2, #0] 80ab0f4: b292 uxth r2, r2 80ab0f6: 4413 add r3, r2 80ab0f8: 009a lsls r2, r3, #2 80ab0fa: 4b35 ldr r3, [pc, #212] ; (80ab1d0 ) 80ab0fc: 4413 add r3, r2 80ab0fe: 461c mov r4, r3 80ab100: 4b2f ldr r3, [pc, #188] ; (80ab1c0 ) 80ab102: 781b ldrb r3, [r3, #0] 80ab104: b2db uxtb r3, r3 80ab106: 4618 mov r0, r3 80ab108: 4b2e ldr r3, [pc, #184] ; (80ab1c4 ) 80ab10a: 79db ldrb r3, [r3, #7] 80ab10c: b2db uxtb r3, r3 80ab10e: 4619 mov r1, r3 80ab110: 4a2d ldr r2, [pc, #180] ; (80ab1c8 ) 80ab112: 0083 lsls r3, r0, #2 80ab114: 4413 add r3, r2 80ab116: 440b add r3, r1 80ab118: 781b ldrb r3, [r3, #0] 80ab11a: 4618 mov r0, r3 80ab11c: f507 711a add.w r1, r7, #616 ; 0x268 80ab120: f507 731e add.w r3, r7, #632 ; 0x278 80ab124: 1d1a adds r2, r3, #4 80ab126: 460b mov r3, r1 80ab128: 4601 mov r1, r0 80ab12a: 4620 mov r0, r4 80ab12c: f023 f972 bl 80ce414 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80ab130: 4b23 ldr r3, [pc, #140] ; (80ab1c0 ) 80ab132: 781b ldrb r3, [r3, #0] 80ab134: b2db uxtb r3, r3 80ab136: 4618 mov r0, r3 80ab138: 4b22 ldr r3, [pc, #136] ; (80ab1c4 ) 80ab13a: 79db ldrb r3, [r3, #7] 80ab13c: b2db uxtb r3, r3 80ab13e: 4619 mov r1, r3 80ab140: 4a21 ldr r2, [pc, #132] ; (80ab1c8 ) 80ab142: 0083 lsls r3, r0, #2 80ab144: 4413 add r3, r2 80ab146: 440b add r3, r1 80ab148: 781b ldrb r3, [r3, #0] 80ab14a: 461a mov r2, r3 80ab14c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab150: fb03 f302 mul.w r3, r3, r2 80ab154: 4a1d ldr r2, [pc, #116] ; (80ab1cc ) 80ab156: 8812 ldrh r2, [r2, #0] 80ab158: b292 uxth r2, r2 80ab15a: 4413 add r3, r2 80ab15c: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80ab160: 4b17 ldr r3, [pc, #92] ; (80ab1c0 ) 80ab162: 781b ldrb r3, [r3, #0] 80ab164: b2db uxtb r3, r3 80ab166: 4618 mov r0, r3 80ab168: 4b16 ldr r3, [pc, #88] ; (80ab1c4 ) 80ab16a: 79db ldrb r3, [r3, #7] 80ab16c: b2db uxtb r3, r3 80ab16e: 4619 mov r1, r3 80ab170: 4a15 ldr r2, [pc, #84] ; (80ab1c8 ) 80ab172: 0083 lsls r3, r0, #2 80ab174: 4413 add r3, r2 80ab176: 440b add r3, r1 80ab178: 781b ldrb r3, [r3, #0] 80ab17a: 461a mov r2, r3 80ab17c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab180: fb03 f302 mul.w r3, r3, r2 80ab184: 4a11 ldr r2, [pc, #68] ; (80ab1cc ) 80ab186: 8812 ldrh r2, [r2, #0] 80ab188: b292 uxth r2, r2 80ab18a: 4413 add r3, r2 80ab18c: 4a0c ldr r2, [pc, #48] ; (80ab1c0 ) 80ab18e: 7812 ldrb r2, [r2, #0] 80ab190: b2d2 uxtb r2, r2 80ab192: 4614 mov r4, r2 80ab194: 4a0b ldr r2, [pc, #44] ; (80ab1c4 ) 80ab196: 79d2 ldrb r2, [r2, #7] 80ab198: b2d2 uxtb r2, r2 80ab19a: 4610 mov r0, r2 80ab19c: 490a ldr r1, [pc, #40] ; (80ab1c8 ) 80ab19e: 00a2 lsls r2, r4, #2 80ab1a0: 440a add r2, r1 80ab1a2: 4402 add r2, r0 80ab1a4: 7812 ldrb r2, [r2, #0] 80ab1a6: 4413 add r3, r2 80ab1a8: 3b01 subs r3, #1 80ab1aa: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80ab1ae: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab1b2: 333e adds r3, #62 ; 0x3e 80ab1b4: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 11; j++) 80ab1b8: 2300 movs r3, #0 80ab1ba: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ab1be: e0be b.n 80ab33e 80ab1c0: 20020fb8 .word 0x20020fb8 80ab1c4: 20023ea8 .word 0x20023ea8 80ab1c8: 080f398c .word 0x080f398c 80ab1cc: 20025d66 .word 0x20025d66 80ab1d0: 64080000 .word 0x64080000 80ab1d4: ff0a0f1f .word 0xff0a0f1f 80ab1d8: ff66a6d3 .word 0xff66a6d3 80ab1dc: 20021696 .word 0x20021696 if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80ab1e0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab1e4: 009b lsls r3, r3, #2 80ab1e6: f507 722e add.w r2, r7, #696 ; 0x2b8 80ab1ea: 4413 add r3, r2 80ab1ec: f853 3c8c ldr.w r3, [r3, #-140] 80ab1f0: 461a mov r2, r3 80ab1f2: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ab1f6: 429a cmp r2, r3 80ab1f8: f0c0 809c bcc.w 80ab334 80ab1fc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab200: 009b lsls r3, r3, #2 80ab202: f507 722e add.w r2, r7, #696 ; 0x2b8 80ab206: 4413 add r3, r2 80ab208: f853 3c8c ldr.w r3, [r3, #-140] 80ab20c: 461a mov r2, r3 80ab20e: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ab212: 429a cmp r2, r3 80ab214: f200 808e bhi.w 80ab334 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80ab218: 49c2 ldr r1, [pc, #776] ; (80ab524 ) 80ab21a: 48c3 ldr r0, [pc, #780] ; (80ab528 ) 80ab21c: f7a9 f9f8 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ab220: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab224: b298 uxth r0, r3 80ab226: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab22a: b29a uxth r2, r3 80ab22c: 23da movs r3, #218 ; 0xda 80ab22e: 212c movs r1, #44 ; 0x2c 80ab230: f7a9 fc28 bl 8054a84 if(j & 1) 80ab234: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab238: f003 0301 and.w r3, r3, #1 80ab23c: 2b00 cmp r3, #0 80ab23e: d079 beq.n 80ab334 if(ViewLevel < 2) 80ab240: 4bba ldr r3, [pc, #744] ; (80ab52c ) 80ab242: 781b ldrb r3, [r3, #0] 80ab244: b2db uxtb r3, r3 80ab246: 2b01 cmp r3, #1 80ab248: d826 bhi.n 80ab298 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80ab24a: 4bb8 ldr r3, [pc, #736] ; (80ab52c ) 80ab24c: 781b ldrb r3, [r3, #0] 80ab24e: b2db uxtb r3, r3 80ab250: 4618 mov r0, r3 80ab252: 4bb7 ldr r3, [pc, #732] ; (80ab530 ) 80ab254: 79db ldrb r3, [r3, #7] 80ab256: b2db uxtb r3, r3 80ab258: 4619 mov r1, r3 80ab25a: 4ab6 ldr r2, [pc, #728] ; (80ab534 ) 80ab25c: 0083 lsls r3, r0, #2 80ab25e: 4413 add r3, r2 80ab260: 440b add r3, r1 80ab262: 781b ldrb r3, [r3, #0] 80ab264: 461a mov r2, r3 80ab266: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab26a: fb03 f302 mul.w r3, r3, r2 80ab26e: 4ab2 ldr r2, [pc, #712] ; (80ab538 ) 80ab270: 8812 ldrh r2, [r2, #0] 80ab272: b292 uxth r2, r2 80ab274: 4413 add r3, r2 80ab276: 2b00 cmp r3, #0 80ab278: d05c beq.n 80ab334 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80ab27a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab27e: b29b uxth r3, r3 80ab280: 3b01 subs r3, #1 80ab282: b298 uxth r0, r3 80ab284: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab288: b29b uxth r3, r3 80ab28a: 3b01 subs r3, #1 80ab28c: b29a uxth r2, r3 80ab28e: 23da movs r3, #218 ; 0xda 80ab290: 212c movs r1, #44 ; 0x2c 80ab292: f7a9 fbf7 bl 8054a84 80ab296: e04d b.n 80ab334 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80ab298: 4ba4 ldr r3, [pc, #656] ; (80ab52c ) 80ab29a: 781b ldrb r3, [r3, #0] 80ab29c: b2db uxtb r3, r3 80ab29e: 4618 mov r0, r3 80ab2a0: 4ba3 ldr r3, [pc, #652] ; (80ab530 ) 80ab2a2: 79db ldrb r3, [r3, #7] 80ab2a4: b2db uxtb r3, r3 80ab2a6: 4619 mov r1, r3 80ab2a8: 4aa2 ldr r2, [pc, #648] ; (80ab534 ) 80ab2aa: 0083 lsls r3, r0, #2 80ab2ac: 4413 add r3, r2 80ab2ae: 440b add r3, r1 80ab2b0: 781b ldrb r3, [r3, #0] 80ab2b2: 461a mov r2, r3 80ab2b4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab2b8: fb03 f302 mul.w r3, r3, r2 80ab2bc: 4a9e ldr r2, [pc, #632] ; (80ab538 ) 80ab2be: 8812 ldrh r2, [r2, #0] 80ab2c0: b292 uxth r2, r2 80ab2c2: 4413 add r3, r2 80ab2c4: 2b00 cmp r3, #0 80ab2c6: d00d beq.n 80ab2e4 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80ab2c8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab2cc: b29b uxth r3, r3 80ab2ce: 3b01 subs r3, #1 80ab2d0: b298 uxth r0, r3 80ab2d2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab2d6: b29b uxth r3, r3 80ab2d8: 3b01 subs r3, #1 80ab2da: b29a uxth r2, r3 80ab2dc: 23da movs r3, #218 ; 0xda 80ab2de: 212c movs r1, #44 ; 0x2c 80ab2e0: f7a9 fbd0 bl 8054a84 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 < 4095) 80ab2e4: 4b91 ldr r3, [pc, #580] ; (80ab52c ) 80ab2e6: 781b ldrb r3, [r3, #0] 80ab2e8: b2db uxtb r3, r3 80ab2ea: 4618 mov r0, r3 80ab2ec: 4b90 ldr r3, [pc, #576] ; (80ab530 ) 80ab2ee: 79db ldrb r3, [r3, #7] 80ab2f0: b2db uxtb r3, r3 80ab2f2: 4619 mov r1, r3 80ab2f4: 4a8f ldr r2, [pc, #572] ; (80ab534 ) 80ab2f6: 0083 lsls r3, r0, #2 80ab2f8: 4413 add r3, r2 80ab2fa: 440b add r3, r1 80ab2fc: 781b ldrb r3, [r3, #0] 80ab2fe: 461a mov r2, r3 80ab300: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab304: fb03 f302 mul.w r3, r3, r2 80ab308: 4a8b ldr r2, [pc, #556] ; (80ab538 ) 80ab30a: 8812 ldrh r2, [r2, #0] 80ab30c: b292 uxth r2, r2 80ab30e: 4413 add r3, r2 80ab310: f640 72fe movw r2, #4094 ; 0xffe 80ab314: 4293 cmp r3, r2 80ab316: d80d bhi.n 80ab334 BSP_LCD_DrawLine(x+1, 44, x+1, 218); 80ab318: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab31c: b29b uxth r3, r3 80ab31e: 3301 adds r3, #1 80ab320: b298 uxth r0, r3 80ab322: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab326: b29b uxth r3, r3 80ab328: 3301 adds r3, #1 80ab32a: b29a uxth r2, r3 80ab32c: 23da movs r3, #218 ; 0xda 80ab32e: 212c movs r1, #44 ; 0x2c 80ab330: f7a9 fba8 bl 8054a84 for(j = 0; j < 11; j++) 80ab334: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab338: 3301 adds r3, #1 80ab33a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ab33e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab342: 2b0a cmp r3, #10 80ab344: f67f af4c bls.w 80ab1e0 for(i = 0; i < 256; i++) 80ab348: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab34c: 3301 adds r3, #1 80ab34e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab352: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab356: 2bff cmp r3, #255 ; 0xff 80ab358: f67f aeb8 bls.w 80ab0cc break; 80ab35c: f001 b93f b.w 80ac5de n = 0; 80ab360: 2300 movs r3, #0 80ab362: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80ab366: 4b75 ldr r3, [pc, #468] ; (80ab53c ) 80ab368: 2200 movs r2, #0 80ab36a: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80ab36c: 2300 movs r3, #0 80ab36e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab372: e146 b.n 80ab602 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ab374: 4b6d ldr r3, [pc, #436] ; (80ab52c ) 80ab376: 781b ldrb r3, [r3, #0] 80ab378: b2db uxtb r3, r3 80ab37a: 4618 mov r0, r3 80ab37c: 4b6c ldr r3, [pc, #432] ; (80ab530 ) 80ab37e: 79db ldrb r3, [r3, #7] 80ab380: b2db uxtb r3, r3 80ab382: 4619 mov r1, r3 80ab384: 4a6b ldr r2, [pc, #428] ; (80ab534 ) 80ab386: 0083 lsls r3, r0, #2 80ab388: 4413 add r3, r2 80ab38a: 440b add r3, r1 80ab38c: 781b ldrb r3, [r3, #0] 80ab38e: 461a mov r2, r3 80ab390: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab394: fb03 f302 mul.w r3, r3, r2 80ab398: 4a67 ldr r2, [pc, #412] ; (80ab538 ) 80ab39a: 8812 ldrh r2, [r2, #0] 80ab39c: b292 uxth r2, r2 80ab39e: 4413 add r3, r2 80ab3a0: 009a lsls r2, r3, #2 80ab3a2: 4b67 ldr r3, [pc, #412] ; (80ab540 ) 80ab3a4: 4413 add r3, r2 80ab3a6: 461c mov r4, r3 80ab3a8: 4b60 ldr r3, [pc, #384] ; (80ab52c ) 80ab3aa: 781b ldrb r3, [r3, #0] 80ab3ac: b2db uxtb r3, r3 80ab3ae: 4618 mov r0, r3 80ab3b0: 4b5f ldr r3, [pc, #380] ; (80ab530 ) 80ab3b2: 79db ldrb r3, [r3, #7] 80ab3b4: b2db uxtb r3, r3 80ab3b6: 4619 mov r1, r3 80ab3b8: 4a5e ldr r2, [pc, #376] ; (80ab534 ) 80ab3ba: 0083 lsls r3, r0, #2 80ab3bc: 4413 add r3, r2 80ab3be: 440b add r3, r1 80ab3c0: 781b ldrb r3, [r3, #0] 80ab3c2: 4618 mov r0, r3 80ab3c4: f507 711a add.w r1, r7, #616 ; 0x268 80ab3c8: f507 731e add.w r3, r7, #632 ; 0x278 80ab3cc: 1d1a adds r2, r3, #4 80ab3ce: 460b mov r3, r1 80ab3d0: 4601 mov r1, r0 80ab3d2: 4620 mov r0, r4 80ab3d4: f023 f81e bl 80ce414 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80ab3d8: 4b54 ldr r3, [pc, #336] ; (80ab52c ) 80ab3da: 781b ldrb r3, [r3, #0] 80ab3dc: b2db uxtb r3, r3 80ab3de: 4618 mov r0, r3 80ab3e0: 4b53 ldr r3, [pc, #332] ; (80ab530 ) 80ab3e2: 79db ldrb r3, [r3, #7] 80ab3e4: b2db uxtb r3, r3 80ab3e6: 4619 mov r1, r3 80ab3e8: 4a52 ldr r2, [pc, #328] ; (80ab534 ) 80ab3ea: 0083 lsls r3, r0, #2 80ab3ec: 4413 add r3, r2 80ab3ee: 440b add r3, r1 80ab3f0: 781b ldrb r3, [r3, #0] 80ab3f2: 461a mov r2, r3 80ab3f4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab3f8: fb03 f302 mul.w r3, r3, r2 80ab3fc: 4a4e ldr r2, [pc, #312] ; (80ab538 ) 80ab3fe: 8812 ldrh r2, [r2, #0] 80ab400: b292 uxth r2, r2 80ab402: 4413 add r3, r2 80ab404: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80ab408: 4b48 ldr r3, [pc, #288] ; (80ab52c ) 80ab40a: 781b ldrb r3, [r3, #0] 80ab40c: b2db uxtb r3, r3 80ab40e: 4618 mov r0, r3 80ab410: 4b47 ldr r3, [pc, #284] ; (80ab530 ) 80ab412: 79db ldrb r3, [r3, #7] 80ab414: b2db uxtb r3, r3 80ab416: 4619 mov r1, r3 80ab418: 4a46 ldr r2, [pc, #280] ; (80ab534 ) 80ab41a: 0083 lsls r3, r0, #2 80ab41c: 4413 add r3, r2 80ab41e: 440b add r3, r1 80ab420: 781b ldrb r3, [r3, #0] 80ab422: 461a mov r2, r3 80ab424: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab428: fb03 f302 mul.w r3, r3, r2 80ab42c: 4a42 ldr r2, [pc, #264] ; (80ab538 ) 80ab42e: 8812 ldrh r2, [r2, #0] 80ab430: b292 uxth r2, r2 80ab432: 4413 add r3, r2 80ab434: 4a3d ldr r2, [pc, #244] ; (80ab52c ) 80ab436: 7812 ldrb r2, [r2, #0] 80ab438: b2d2 uxtb r2, r2 80ab43a: 4614 mov r4, r2 80ab43c: 4a3c ldr r2, [pc, #240] ; (80ab530 ) 80ab43e: 79d2 ldrb r2, [r2, #7] 80ab440: b2d2 uxtb r2, r2 80ab442: 4610 mov r0, r2 80ab444: 493b ldr r1, [pc, #236] ; (80ab534 ) 80ab446: 00a2 lsls r2, r4, #2 80ab448: 440a add r2, r1 80ab44a: 4402 add r2, r0 80ab44c: 7812 ldrb r2, [r2, #0] 80ab44e: 4413 add r3, r2 80ab450: 3b01 subs r3, #1 80ab452: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80ab456: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab45a: 333e adds r3, #62 ; 0x3e 80ab45c: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 4; j++) 80ab460: 2300 movs r3, #0 80ab462: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ab466: e0c2 b.n 80ab5ee if((_Fn[j] >= iL) && (_Fn[j] <= iR)) 80ab468: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab46c: 009b lsls r3, r3, #2 80ab46e: f507 722e add.w r2, r7, #696 ; 0x2b8 80ab472: 4413 add r3, r2 80ab474: f853 3cc8 ldr.w r3, [r3, #-200] 80ab478: 461a mov r2, r3 80ab47a: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ab47e: 429a cmp r2, r3 80ab480: f0c0 80b0 bcc.w 80ab5e4 80ab484: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab488: 009b lsls r3, r3, #2 80ab48a: f507 722e add.w r2, r7, #696 ; 0x2b8 80ab48e: 4413 add r3, r2 80ab490: f853 3cc8 ldr.w r3, [r3, #-200] 80ab494: 461a mov r2, r3 80ab496: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ab49a: 429a cmp r2, r3 80ab49c: f200 80a2 bhi.w 80ab5e4 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ab4a0: 4920 ldr r1, [pc, #128] ; (80ab524 ) 80ab4a2: 4828 ldr r0, [pc, #160] ; (80ab544 ) 80ab4a4: f7a9 f8b4 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ab4a8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab4ac: b298 uxth r0, r3 80ab4ae: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab4b2: b29a uxth r2, r3 80ab4b4: 23da movs r3, #218 ; 0xda 80ab4b6: 212c movs r1, #44 ; 0x2c 80ab4b8: f7a9 fae4 bl 8054a84 if(j & 1) 80ab4bc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab4c0: f003 0301 and.w r3, r3, #1 80ab4c4: 2b00 cmp r3, #0 80ab4c6: f000 808d beq.w 80ab5e4 if(ViewLevel < 2) 80ab4ca: 4b18 ldr r3, [pc, #96] ; (80ab52c ) 80ab4cc: 781b ldrb r3, [r3, #0] 80ab4ce: b2db uxtb r3, r3 80ab4d0: 2b01 cmp r3, #1 80ab4d2: d839 bhi.n 80ab548 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80ab4d4: 4b15 ldr r3, [pc, #84] ; (80ab52c ) 80ab4d6: 781b ldrb r3, [r3, #0] 80ab4d8: b2db uxtb r3, r3 80ab4da: 4618 mov r0, r3 80ab4dc: 4b14 ldr r3, [pc, #80] ; (80ab530 ) 80ab4de: 79db ldrb r3, [r3, #7] 80ab4e0: b2db uxtb r3, r3 80ab4e2: 4619 mov r1, r3 80ab4e4: 4a13 ldr r2, [pc, #76] ; (80ab534 ) 80ab4e6: 0083 lsls r3, r0, #2 80ab4e8: 4413 add r3, r2 80ab4ea: 440b add r3, r1 80ab4ec: 781b ldrb r3, [r3, #0] 80ab4ee: 461a mov r2, r3 80ab4f0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab4f4: fb03 f302 mul.w r3, r3, r2 80ab4f8: 4a0f ldr r2, [pc, #60] ; (80ab538 ) 80ab4fa: 8812 ldrh r2, [r2, #0] 80ab4fc: b292 uxth r2, r2 80ab4fe: 4413 add r3, r2 80ab500: 2b00 cmp r3, #0 80ab502: d06f beq.n 80ab5e4 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80ab504: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab508: b29b uxth r3, r3 80ab50a: 3b01 subs r3, #1 80ab50c: b298 uxth r0, r3 80ab50e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab512: b29b uxth r3, r3 80ab514: 3b01 subs r3, #1 80ab516: b29a uxth r2, r3 80ab518: 23da movs r3, #218 ; 0xda 80ab51a: 212c movs r1, #44 ; 0x2c 80ab51c: f7a9 fab2 bl 8054a84 80ab520: e060 b.n 80ab5e4 80ab522: bf00 nop 80ab524: ff0a0f1f .word 0xff0a0f1f 80ab528: ff66a6d3 .word 0xff66a6d3 80ab52c: 20020fb8 .word 0x20020fb8 80ab530: 20023ea8 .word 0x20023ea8 80ab534: 080f398c .word 0x080f398c 80ab538: 20025d66 .word 0x20025d66 80ab53c: 20021696 .word 0x20021696 80ab540: 64080000 .word 0x64080000 80ab544: ff800080 .word 0xff800080 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80ab548: 4bbb ldr r3, [pc, #748] ; (80ab838 ) 80ab54a: 781b ldrb r3, [r3, #0] 80ab54c: b2db uxtb r3, r3 80ab54e: 4618 mov r0, r3 80ab550: 4bba ldr r3, [pc, #744] ; (80ab83c ) 80ab552: 79db ldrb r3, [r3, #7] 80ab554: b2db uxtb r3, r3 80ab556: 4619 mov r1, r3 80ab558: 4ab9 ldr r2, [pc, #740] ; (80ab840 ) 80ab55a: 0083 lsls r3, r0, #2 80ab55c: 4413 add r3, r2 80ab55e: 440b add r3, r1 80ab560: 781b ldrb r3, [r3, #0] 80ab562: 461a mov r2, r3 80ab564: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab568: fb03 f302 mul.w r3, r3, r2 80ab56c: 4ab5 ldr r2, [pc, #724] ; (80ab844 ) 80ab56e: 8812 ldrh r2, [r2, #0] 80ab570: b292 uxth r2, r2 80ab572: 4413 add r3, r2 80ab574: 2b00 cmp r3, #0 80ab576: d00d beq.n 80ab594 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80ab578: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab57c: b29b uxth r3, r3 80ab57e: 3b01 subs r3, #1 80ab580: b298 uxth r0, r3 80ab582: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab586: b29b uxth r3, r3 80ab588: 3b01 subs r3, #1 80ab58a: b29a uxth r2, r3 80ab58c: 23da movs r3, #218 ; 0xda 80ab58e: 212c movs r1, #44 ; 0x2c 80ab590: f7a9 fa78 bl 8054a84 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 < 4095) 80ab594: 4ba8 ldr r3, [pc, #672] ; (80ab838 ) 80ab596: 781b ldrb r3, [r3, #0] 80ab598: b2db uxtb r3, r3 80ab59a: 4618 mov r0, r3 80ab59c: 4ba7 ldr r3, [pc, #668] ; (80ab83c ) 80ab59e: 79db ldrb r3, [r3, #7] 80ab5a0: b2db uxtb r3, r3 80ab5a2: 4619 mov r1, r3 80ab5a4: 4aa6 ldr r2, [pc, #664] ; (80ab840 ) 80ab5a6: 0083 lsls r3, r0, #2 80ab5a8: 4413 add r3, r2 80ab5aa: 440b add r3, r1 80ab5ac: 781b ldrb r3, [r3, #0] 80ab5ae: 461a mov r2, r3 80ab5b0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab5b4: fb03 f302 mul.w r3, r3, r2 80ab5b8: 4aa2 ldr r2, [pc, #648] ; (80ab844 ) 80ab5ba: 8812 ldrh r2, [r2, #0] 80ab5bc: b292 uxth r2, r2 80ab5be: 4413 add r3, r2 80ab5c0: f640 72fe movw r2, #4094 ; 0xffe 80ab5c4: 4293 cmp r3, r2 80ab5c6: d80d bhi.n 80ab5e4 BSP_LCD_DrawLine(x+1, 44, x+1, 218); 80ab5c8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab5cc: b29b uxth r3, r3 80ab5ce: 3301 adds r3, #1 80ab5d0: b298 uxth r0, r3 80ab5d2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab5d6: b29b uxth r3, r3 80ab5d8: 3301 adds r3, #1 80ab5da: b29a uxth r2, r3 80ab5dc: 23da movs r3, #218 ; 0xda 80ab5de: 212c movs r1, #44 ; 0x2c 80ab5e0: f7a9 fa50 bl 8054a84 for(j = 0; j < 4; j++) 80ab5e4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab5e8: 3301 adds r3, #1 80ab5ea: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ab5ee: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab5f2: 2b03 cmp r3, #3 80ab5f4: f67f af38 bls.w 80ab468 for(i = 0; i < 256; i++) 80ab5f8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab5fc: 3301 adds r3, #1 80ab5fe: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab602: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab606: 2bff cmp r3, #255 ; 0xff 80ab608: f67f aeb4 bls.w 80ab374 break; 80ab60c: f000 bfe7 b.w 80ac5de n = 0; 80ab610: 2300 movs r3, #0 80ab612: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80ab616: 4b8c ldr r3, [pc, #560] ; (80ab848 ) 80ab618: 2200 movs r2, #0 80ab61a: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80ab61c: 2300 movs r3, #0 80ab61e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab622: e0b9 b.n 80ab798 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ab624: 4b84 ldr r3, [pc, #528] ; (80ab838 ) 80ab626: 781b ldrb r3, [r3, #0] 80ab628: b2db uxtb r3, r3 80ab62a: 4618 mov r0, r3 80ab62c: 4b83 ldr r3, [pc, #524] ; (80ab83c ) 80ab62e: 79db ldrb r3, [r3, #7] 80ab630: b2db uxtb r3, r3 80ab632: 4619 mov r1, r3 80ab634: 4a82 ldr r2, [pc, #520] ; (80ab840 ) 80ab636: 0083 lsls r3, r0, #2 80ab638: 4413 add r3, r2 80ab63a: 440b add r3, r1 80ab63c: 781b ldrb r3, [r3, #0] 80ab63e: 461a mov r2, r3 80ab640: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab644: fb03 f302 mul.w r3, r3, r2 80ab648: 4a7e ldr r2, [pc, #504] ; (80ab844 ) 80ab64a: 8812 ldrh r2, [r2, #0] 80ab64c: b292 uxth r2, r2 80ab64e: 4413 add r3, r2 80ab650: 009a lsls r2, r3, #2 80ab652: 4b7e ldr r3, [pc, #504] ; (80ab84c ) 80ab654: 4413 add r3, r2 80ab656: 461c mov r4, r3 80ab658: 4b77 ldr r3, [pc, #476] ; (80ab838 ) 80ab65a: 781b ldrb r3, [r3, #0] 80ab65c: b2db uxtb r3, r3 80ab65e: 4618 mov r0, r3 80ab660: 4b76 ldr r3, [pc, #472] ; (80ab83c ) 80ab662: 79db ldrb r3, [r3, #7] 80ab664: b2db uxtb r3, r3 80ab666: 4619 mov r1, r3 80ab668: 4a75 ldr r2, [pc, #468] ; (80ab840 ) 80ab66a: 0083 lsls r3, r0, #2 80ab66c: 4413 add r3, r2 80ab66e: 440b add r3, r1 80ab670: 781b ldrb r3, [r3, #0] 80ab672: 4618 mov r0, r3 80ab674: f507 711a add.w r1, r7, #616 ; 0x268 80ab678: f507 731e add.w r3, r7, #632 ; 0x278 80ab67c: 1d1a adds r2, r3, #4 80ab67e: 460b mov r3, r1 80ab680: 4601 mov r1, r0 80ab682: 4620 mov r0, r4 80ab684: f022 fec6 bl 80ce414 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80ab688: 4b6b ldr r3, [pc, #428] ; (80ab838 ) 80ab68a: 781b ldrb r3, [r3, #0] 80ab68c: b2db uxtb r3, r3 80ab68e: 4618 mov r0, r3 80ab690: 4b6a ldr r3, [pc, #424] ; (80ab83c ) 80ab692: 79db ldrb r3, [r3, #7] 80ab694: b2db uxtb r3, r3 80ab696: 4619 mov r1, r3 80ab698: 4a69 ldr r2, [pc, #420] ; (80ab840 ) 80ab69a: 0083 lsls r3, r0, #2 80ab69c: 4413 add r3, r2 80ab69e: 440b add r3, r1 80ab6a0: 781b ldrb r3, [r3, #0] 80ab6a2: 461a mov r2, r3 80ab6a4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab6a8: fb03 f302 mul.w r3, r3, r2 80ab6ac: 4a65 ldr r2, [pc, #404] ; (80ab844 ) 80ab6ae: 8812 ldrh r2, [r2, #0] 80ab6b0: b292 uxth r2, r2 80ab6b2: 4413 add r3, r2 80ab6b4: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80ab6b8: 4b5f ldr r3, [pc, #380] ; (80ab838 ) 80ab6ba: 781b ldrb r3, [r3, #0] 80ab6bc: b2db uxtb r3, r3 80ab6be: 4618 mov r0, r3 80ab6c0: 4b5e ldr r3, [pc, #376] ; (80ab83c ) 80ab6c2: 79db ldrb r3, [r3, #7] 80ab6c4: b2db uxtb r3, r3 80ab6c6: 4619 mov r1, r3 80ab6c8: 4a5d ldr r2, [pc, #372] ; (80ab840 ) 80ab6ca: 0083 lsls r3, r0, #2 80ab6cc: 4413 add r3, r2 80ab6ce: 440b add r3, r1 80ab6d0: 781b ldrb r3, [r3, #0] 80ab6d2: 461a mov r2, r3 80ab6d4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab6d8: fb03 f302 mul.w r3, r3, r2 80ab6dc: 4a59 ldr r2, [pc, #356] ; (80ab844 ) 80ab6de: 8812 ldrh r2, [r2, #0] 80ab6e0: b292 uxth r2, r2 80ab6e2: 4413 add r3, r2 80ab6e4: 4a54 ldr r2, [pc, #336] ; (80ab838 ) 80ab6e6: 7812 ldrb r2, [r2, #0] 80ab6e8: b2d2 uxtb r2, r2 80ab6ea: 4614 mov r4, r2 80ab6ec: 4a53 ldr r2, [pc, #332] ; (80ab83c ) 80ab6ee: 79d2 ldrb r2, [r2, #7] 80ab6f0: b2d2 uxtb r2, r2 80ab6f2: 4610 mov r0, r2 80ab6f4: 4952 ldr r1, [pc, #328] ; (80ab840 ) 80ab6f6: 00a2 lsls r2, r4, #2 80ab6f8: 440a add r2, r1 80ab6fa: 4402 add r2, r0 80ab6fc: 7812 ldrb r2, [r2, #0] 80ab6fe: 4413 add r3, r2 80ab700: 3b01 subs r3, #1 80ab702: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80ab706: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab70a: 333e adds r3, #62 ; 0x3e 80ab70c: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 3; j++) 80ab710: 2300 movs r3, #0 80ab712: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ab716: e036 b.n 80ab786 if((_Fn[j] >= iL) && (_Fn[j] <= iR)) 80ab718: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab71c: 009b lsls r3, r3, #2 80ab71e: f507 722e add.w r2, r7, #696 ; 0x2b8 80ab722: 4413 add r3, r2 80ab724: f853 3cc8 ldr.w r3, [r3, #-200] 80ab728: 461a mov r2, r3 80ab72a: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ab72e: 429a cmp r2, r3 80ab730: d324 bcc.n 80ab77c 80ab732: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab736: 009b lsls r3, r3, #2 80ab738: f507 722e add.w r2, r7, #696 ; 0x2b8 80ab73c: 4413 add r3, r2 80ab73e: f853 3cc8 ldr.w r3, [r3, #-200] 80ab742: 461a mov r2, r3 80ab744: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ab748: 429a cmp r2, r3 80ab74a: d817 bhi.n 80ab77c LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ab74c: 4940 ldr r1, [pc, #256] ; (80ab850 ) 80ab74e: 4841 ldr r0, [pc, #260] ; (80ab854 ) 80ab750: f7a8 ff5e bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ab754: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab758: b298 uxth r0, r3 80ab75a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab75e: b29a uxth r2, r3 80ab760: 23da movs r3, #218 ; 0xda 80ab762: 212c movs r1, #44 ; 0x2c 80ab764: f7a9 f98e bl 8054a84 nnn[j] = i; 80ab768: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab76c: b2d9 uxtb r1, r3 80ab76e: f107 020c add.w r2, r7, #12 80ab772: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab776: 4413 add r3, r2 80ab778: 460a mov r2, r1 80ab77a: 701a strb r2, [r3, #0] for(j = 0; j < 3; j++) 80ab77c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab780: 3301 adds r3, #1 80ab782: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ab786: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab78a: 2b02 cmp r3, #2 80ab78c: d9c4 bls.n 80ab718 for(i = 0; i < 256; i++) 80ab78e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab792: 3301 adds r3, #1 80ab794: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab798: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab79c: 2bff cmp r3, #255 ; 0xff 80ab79e: f67f af41 bls.w 80ab624 if((!nnn[2]) && (!nnn[1]) && (!nnn[0])) 80ab7a2: f107 030c add.w r3, r7, #12 80ab7a6: 789b ldrb r3, [r3, #2] 80ab7a8: 2b00 cmp r3, #0 80ab7aa: d10a bne.n 80ab7c2 80ab7ac: f107 030c add.w r3, r7, #12 80ab7b0: 785b ldrb r3, [r3, #1] 80ab7b2: 2b00 cmp r3, #0 80ab7b4: d105 bne.n 80ab7c2 80ab7b6: f107 030c add.w r3, r7, #12 80ab7ba: 781b ldrb r3, [r3, #0] 80ab7bc: 2b00 cmp r3, #0 80ab7be: f000 80e0 beq.w 80ab982 if((!nnn[2]) && (!nnn[1]) && (nnn[0])) 80ab7c2: f107 030c add.w r3, r7, #12 80ab7c6: 789b ldrb r3, [r3, #2] 80ab7c8: 2b00 cmp r3, #0 80ab7ca: d11a bne.n 80ab802 80ab7cc: f107 030c add.w r3, r7, #12 80ab7d0: 785b ldrb r3, [r3, #1] 80ab7d2: 2b00 cmp r3, #0 80ab7d4: d115 bne.n 80ab802 80ab7d6: f107 030c add.w r3, r7, #12 80ab7da: 781b ldrb r3, [r3, #0] 80ab7dc: 2b00 cmp r3, #0 80ab7de: d010 beq.n 80ab802 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ab7e0: 491b ldr r1, [pc, #108] ; (80ab850 ) 80ab7e2: 481c ldr r0, [pc, #112] ; (80ab854 ) 80ab7e4: f7a8 ff14 bl 8054610 BSP_LCD_DrawLine(62 + 255, 98, 62 + nnn[0], 64); 80ab7e8: f107 030c add.w r3, r7, #12 80ab7ec: 781b ldrb r3, [r3, #0] 80ab7ee: b29b uxth r3, r3 80ab7f0: 333e adds r3, #62 ; 0x3e 80ab7f2: b29a uxth r2, r3 80ab7f4: 2340 movs r3, #64 ; 0x40 80ab7f6: 2162 movs r1, #98 ; 0x62 80ab7f8: f240 103d movw r0, #317 ; 0x13d 80ab7fc: f7a9 f942 bl 8054a84 80ab800: e0bf b.n 80ab982 if((!nnn[2]) && (nnn[1]) && (!nnn[0])) 80ab802: f107 030c add.w r3, r7, #12 80ab806: 789b ldrb r3, [r3, #2] 80ab808: 2b00 cmp r3, #0 80ab80a: d125 bne.n 80ab858 80ab80c: f107 030c add.w r3, r7, #12 80ab810: 785b ldrb r3, [r3, #1] 80ab812: 2b00 cmp r3, #0 80ab814: d020 beq.n 80ab858 80ab816: f107 030c add.w r3, r7, #12 80ab81a: 781b ldrb r3, [r3, #0] 80ab81c: 2b00 cmp r3, #0 80ab81e: d11b bne.n 80ab858 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ab820: 490b ldr r1, [pc, #44] ; (80ab850 ) 80ab822: 480c ldr r0, [pc, #48] ; (80ab854 ) 80ab824: f7a8 fef4 bl 8054610 BSP_LCD_DrawLine(62 + 255, 98, 62, 64); 80ab828: 2340 movs r3, #64 ; 0x40 80ab82a: 223e movs r2, #62 ; 0x3e 80ab82c: 2162 movs r1, #98 ; 0x62 80ab82e: f240 103d movw r0, #317 ; 0x13d 80ab832: f7a9 f927 bl 8054a84 80ab836: e0a4 b.n 80ab982 80ab838: 20020fb8 .word 0x20020fb8 80ab83c: 20023ea8 .word 0x20023ea8 80ab840: 080f398c .word 0x080f398c 80ab844: 20025d66 .word 0x20025d66 80ab848: 20021696 .word 0x20021696 80ab84c: 64080000 .word 0x64080000 80ab850: ff0a0f1f .word 0xff0a0f1f 80ab854: ff800080 .word 0xff800080 if((!nnn[2]) && (nnn[1]) && (nnn[0])) 80ab858: f107 030c add.w r3, r7, #12 80ab85c: 789b ldrb r3, [r3, #2] 80ab85e: 2b00 cmp r3, #0 80ab860: d11a bne.n 80ab898 80ab862: f107 030c add.w r3, r7, #12 80ab866: 785b ldrb r3, [r3, #1] 80ab868: 2b00 cmp r3, #0 80ab86a: d015 beq.n 80ab898 80ab86c: f107 030c add.w r3, r7, #12 80ab870: 781b ldrb r3, [r3, #0] 80ab872: 2b00 cmp r3, #0 80ab874: d010 beq.n 80ab898 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ab876: 49a6 ldr r1, [pc, #664] ; (80abb10 ) 80ab878: 48a6 ldr r0, [pc, #664] ; (80abb14 ) 80ab87a: f7a8 fec9 bl 8054610 BSP_LCD_DrawLine(62 + 255, 98, 62 + nnn[0], 64); 80ab87e: f107 030c add.w r3, r7, #12 80ab882: 781b ldrb r3, [r3, #0] 80ab884: b29b uxth r3, r3 80ab886: 333e adds r3, #62 ; 0x3e 80ab888: b29a uxth r2, r3 80ab88a: 2340 movs r3, #64 ; 0x40 80ab88c: 2162 movs r1, #98 ; 0x62 80ab88e: f240 103d movw r0, #317 ; 0x13d 80ab892: f7a9 f8f7 bl 8054a84 80ab896: e074 b.n 80ab982 if((nnn[2]) && (!nnn[1]) && (!nnn[0])) 80ab898: f107 030c add.w r3, r7, #12 80ab89c: 789b ldrb r3, [r3, #2] 80ab89e: 2b00 cmp r3, #0 80ab8a0: d019 beq.n 80ab8d6 80ab8a2: f107 030c add.w r3, r7, #12 80ab8a6: 785b ldrb r3, [r3, #1] 80ab8a8: 2b00 cmp r3, #0 80ab8aa: d114 bne.n 80ab8d6 80ab8ac: f107 030c add.w r3, r7, #12 80ab8b0: 781b ldrb r3, [r3, #0] 80ab8b2: 2b00 cmp r3, #0 80ab8b4: d10f bne.n 80ab8d6 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ab8b6: 4996 ldr r1, [pc, #600] ; (80abb10 ) 80ab8b8: 4896 ldr r0, [pc, #600] ; (80abb14 ) 80ab8ba: f7a8 fea9 bl 8054610 BSP_LCD_DrawLine(62 + nnn[2], 98, 62, 64); 80ab8be: f107 030c add.w r3, r7, #12 80ab8c2: 789b ldrb r3, [r3, #2] 80ab8c4: b29b uxth r3, r3 80ab8c6: 333e adds r3, #62 ; 0x3e 80ab8c8: b298 uxth r0, r3 80ab8ca: 2340 movs r3, #64 ; 0x40 80ab8cc: 223e movs r2, #62 ; 0x3e 80ab8ce: 2162 movs r1, #98 ; 0x62 80ab8d0: f7a9 f8d8 bl 8054a84 80ab8d4: e055 b.n 80ab982 if((nnn[2]) && (!nnn[1]) && (nnn[0])) 80ab8d6: f107 030c add.w r3, r7, #12 80ab8da: 789b ldrb r3, [r3, #2] 80ab8dc: 2b00 cmp r3, #0 80ab8de: d009 beq.n 80ab8f4 80ab8e0: f107 030c add.w r3, r7, #12 80ab8e4: 785b ldrb r3, [r3, #1] 80ab8e6: 2b00 cmp r3, #0 80ab8e8: d104 bne.n 80ab8f4 80ab8ea: f107 030c add.w r3, r7, #12 80ab8ee: 781b ldrb r3, [r3, #0] 80ab8f0: 2b00 cmp r3, #0 80ab8f2: d146 bne.n 80ab982 if((nnn[2]) && (nnn[1]) && (!nnn[0])) 80ab8f4: f107 030c add.w r3, r7, #12 80ab8f8: 789b ldrb r3, [r3, #2] 80ab8fa: 2b00 cmp r3, #0 80ab8fc: d019 beq.n 80ab932 80ab8fe: f107 030c add.w r3, r7, #12 80ab902: 785b ldrb r3, [r3, #1] 80ab904: 2b00 cmp r3, #0 80ab906: d014 beq.n 80ab932 80ab908: f107 030c add.w r3, r7, #12 80ab90c: 781b ldrb r3, [r3, #0] 80ab90e: 2b00 cmp r3, #0 80ab910: d10f bne.n 80ab932 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ab912: 497f ldr r1, [pc, #508] ; (80abb10 ) 80ab914: 487f ldr r0, [pc, #508] ; (80abb14 ) 80ab916: f7a8 fe7b bl 8054610 BSP_LCD_DrawLine(62 + nnn[2], 98, 62, 64); 80ab91a: f107 030c add.w r3, r7, #12 80ab91e: 789b ldrb r3, [r3, #2] 80ab920: b29b uxth r3, r3 80ab922: 333e adds r3, #62 ; 0x3e 80ab924: b298 uxth r0, r3 80ab926: 2340 movs r3, #64 ; 0x40 80ab928: 223e movs r2, #62 ; 0x3e 80ab92a: 2162 movs r1, #98 ; 0x62 80ab92c: f7a9 f8aa bl 8054a84 80ab930: e027 b.n 80ab982 if((nnn[2]) && (nnn[1]) && (nnn[0])) 80ab932: f107 030c add.w r3, r7, #12 80ab936: 789b ldrb r3, [r3, #2] 80ab938: 2b00 cmp r3, #0 80ab93a: f000 864f beq.w 80ac5dc 80ab93e: f107 030c add.w r3, r7, #12 80ab942: 785b ldrb r3, [r3, #1] 80ab944: 2b00 cmp r3, #0 80ab946: f000 8649 beq.w 80ac5dc 80ab94a: f107 030c add.w r3, r7, #12 80ab94e: 781b ldrb r3, [r3, #0] 80ab950: 2b00 cmp r3, #0 80ab952: f000 8643 beq.w 80ac5dc LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80ab956: 496e ldr r1, [pc, #440] ; (80abb10 ) 80ab958: 486e ldr r0, [pc, #440] ; (80abb14 ) 80ab95a: f7a8 fe59 bl 8054610 BSP_LCD_DrawLine(62 + nnn[2], 98, 62 + nnn[0], 64); 80ab95e: f107 030c add.w r3, r7, #12 80ab962: 789b ldrb r3, [r3, #2] 80ab964: b29b uxth r3, r3 80ab966: 333e adds r3, #62 ; 0x3e 80ab968: b298 uxth r0, r3 80ab96a: f107 030c add.w r3, r7, #12 80ab96e: 781b ldrb r3, [r3, #0] 80ab970: b29b uxth r3, r3 80ab972: 333e adds r3, #62 ; 0x3e 80ab974: b29a uxth r2, r3 80ab976: 2340 movs r3, #64 ; 0x40 80ab978: 2162 movs r1, #98 ; 0x62 80ab97a: f7a9 f883 bl 8054a84 break; 80ab97e: f000 be2d b.w 80ac5dc 80ab982: f000 be2b b.w 80ac5dc n = 0; 80ab986: 2300 movs r3, #0 80ab988: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80ab98c: 4b62 ldr r3, [pc, #392] ; (80abb18 ) 80ab98e: 2200 movs r2, #0 80ab990: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80ab992: 2300 movs r3, #0 80ab994: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab998: e0af b.n 80abafa arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ab99a: 4b60 ldr r3, [pc, #384] ; (80abb1c ) 80ab99c: 781b ldrb r3, [r3, #0] 80ab99e: b2db uxtb r3, r3 80ab9a0: 4618 mov r0, r3 80ab9a2: 4b5f ldr r3, [pc, #380] ; (80abb20 ) 80ab9a4: 79db ldrb r3, [r3, #7] 80ab9a6: b2db uxtb r3, r3 80ab9a8: 4619 mov r1, r3 80ab9aa: 4a5e ldr r2, [pc, #376] ; (80abb24 ) 80ab9ac: 0083 lsls r3, r0, #2 80ab9ae: 4413 add r3, r2 80ab9b0: 440b add r3, r1 80ab9b2: 781b ldrb r3, [r3, #0] 80ab9b4: 461a mov r2, r3 80ab9b6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab9ba: fb03 f302 mul.w r3, r3, r2 80ab9be: 4a5a ldr r2, [pc, #360] ; (80abb28 ) 80ab9c0: 8812 ldrh r2, [r2, #0] 80ab9c2: b292 uxth r2, r2 80ab9c4: 4413 add r3, r2 80ab9c6: 009a lsls r2, r3, #2 80ab9c8: 4b58 ldr r3, [pc, #352] ; (80abb2c ) 80ab9ca: 4413 add r3, r2 80ab9cc: 461c mov r4, r3 80ab9ce: 4b53 ldr r3, [pc, #332] ; (80abb1c ) 80ab9d0: 781b ldrb r3, [r3, #0] 80ab9d2: b2db uxtb r3, r3 80ab9d4: 4618 mov r0, r3 80ab9d6: 4b52 ldr r3, [pc, #328] ; (80abb20 ) 80ab9d8: 79db ldrb r3, [r3, #7] 80ab9da: b2db uxtb r3, r3 80ab9dc: 4619 mov r1, r3 80ab9de: 4a51 ldr r2, [pc, #324] ; (80abb24 ) 80ab9e0: 0083 lsls r3, r0, #2 80ab9e2: 4413 add r3, r2 80ab9e4: 440b add r3, r1 80ab9e6: 781b ldrb r3, [r3, #0] 80ab9e8: 4618 mov r0, r3 80ab9ea: f507 711a add.w r1, r7, #616 ; 0x268 80ab9ee: f507 731e add.w r3, r7, #632 ; 0x278 80ab9f2: 1d1a adds r2, r3, #4 80ab9f4: 460b mov r3, r1 80ab9f6: 4601 mov r1, r0 80ab9f8: 4620 mov r0, r4 80ab9fa: f022 fd0b bl 80ce414 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80ab9fe: 4b47 ldr r3, [pc, #284] ; (80abb1c ) 80aba00: 781b ldrb r3, [r3, #0] 80aba02: b2db uxtb r3, r3 80aba04: 4618 mov r0, r3 80aba06: 4b46 ldr r3, [pc, #280] ; (80abb20 ) 80aba08: 79db ldrb r3, [r3, #7] 80aba0a: b2db uxtb r3, r3 80aba0c: 4619 mov r1, r3 80aba0e: 4a45 ldr r2, [pc, #276] ; (80abb24 ) 80aba10: 0083 lsls r3, r0, #2 80aba12: 4413 add r3, r2 80aba14: 440b add r3, r1 80aba16: 781b ldrb r3, [r3, #0] 80aba18: 461a mov r2, r3 80aba1a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aba1e: fb03 f302 mul.w r3, r3, r2 80aba22: 4a41 ldr r2, [pc, #260] ; (80abb28 ) 80aba24: 8812 ldrh r2, [r2, #0] 80aba26: b292 uxth r2, r2 80aba28: 4413 add r3, r2 80aba2a: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80aba2e: 4b3b ldr r3, [pc, #236] ; (80abb1c ) 80aba30: 781b ldrb r3, [r3, #0] 80aba32: b2db uxtb r3, r3 80aba34: 4618 mov r0, r3 80aba36: 4b3a ldr r3, [pc, #232] ; (80abb20 ) 80aba38: 79db ldrb r3, [r3, #7] 80aba3a: b2db uxtb r3, r3 80aba3c: 4619 mov r1, r3 80aba3e: 4a39 ldr r2, [pc, #228] ; (80abb24 ) 80aba40: 0083 lsls r3, r0, #2 80aba42: 4413 add r3, r2 80aba44: 440b add r3, r1 80aba46: 781b ldrb r3, [r3, #0] 80aba48: 461a mov r2, r3 80aba4a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aba4e: fb03 f302 mul.w r3, r3, r2 80aba52: 4a35 ldr r2, [pc, #212] ; (80abb28 ) 80aba54: 8812 ldrh r2, [r2, #0] 80aba56: b292 uxth r2, r2 80aba58: 4413 add r3, r2 80aba5a: 4a30 ldr r2, [pc, #192] ; (80abb1c ) 80aba5c: 7812 ldrb r2, [r2, #0] 80aba5e: b2d2 uxtb r2, r2 80aba60: 4614 mov r4, r2 80aba62: 4a2f ldr r2, [pc, #188] ; (80abb20 ) 80aba64: 79d2 ldrb r2, [r2, #7] 80aba66: b2d2 uxtb r2, r2 80aba68: 4610 mov r0, r2 80aba6a: 492e ldr r1, [pc, #184] ; (80abb24 ) 80aba6c: 00a2 lsls r2, r4, #2 80aba6e: 440a add r2, r1 80aba70: 4402 add r2, r0 80aba72: 7812 ldrb r2, [r2, #0] 80aba74: 4413 add r3, r2 80aba76: 3b01 subs r3, #1 80aba78: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80aba7c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aba80: 333e adds r3, #62 ; 0x3e 80aba82: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 4; j++) 80aba86: 2300 movs r3, #0 80aba88: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aba8c: e02c b.n 80abae8 if((_Fn[j] >= iL) && (_Fn[j] <= iR)) 80aba8e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aba92: 009b lsls r3, r3, #2 80aba94: f507 722e add.w r2, r7, #696 ; 0x2b8 80aba98: 4413 add r3, r2 80aba9a: f853 3cc8 ldr.w r3, [r3, #-200] 80aba9e: 461a mov r2, r3 80abaa0: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80abaa4: 429a cmp r2, r3 80abaa6: d31a bcc.n 80abade 80abaa8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abaac: 009b lsls r3, r3, #2 80abaae: f507 722e add.w r2, r7, #696 ; 0x2b8 80abab2: 4413 add r3, r2 80abab4: f853 3cc8 ldr.w r3, [r3, #-200] 80abab8: 461a mov r2, r3 80ababa: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ababe: 429a cmp r2, r3 80abac0: d80d bhi.n 80abade LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80abac2: 4913 ldr r1, [pc, #76] ; (80abb10 ) 80abac4: 4813 ldr r0, [pc, #76] ; (80abb14 ) 80abac6: f7a8 fda3 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80abaca: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abace: b298 uxth r0, r3 80abad0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abad4: b29a uxth r2, r3 80abad6: 23da movs r3, #218 ; 0xda 80abad8: 212c movs r1, #44 ; 0x2c 80abada: f7a8 ffd3 bl 8054a84 for(j = 0; j < 4; j++) 80abade: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abae2: 3301 adds r3, #1 80abae4: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abae8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abaec: 2b03 cmp r3, #3 80abaee: d9ce bls.n 80aba8e for(i = 0; i < 256; i++) 80abaf0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abaf4: 3301 adds r3, #1 80abaf6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abafa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abafe: 2bff cmp r3, #255 ; 0xff 80abb00: f67f af4b bls.w 80ab99a break; 80abb04: f000 bd6b b.w 80ac5de for(i = 0; i < 256; i++) 80abb08: 2300 movs r3, #0 80abb0a: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abb0e: e0f0 b.n 80abcf2 80abb10: ff0a0f1f .word 0xff0a0f1f 80abb14: ff800080 .word 0xff800080 80abb18: 20021696 .word 0x20021696 80abb1c: 20020fb8 .word 0x20020fb8 80abb20: 20023ea8 .word 0x20023ea8 80abb24: 080f398c .word 0x080f398c 80abb28: 20025d66 .word 0x20025d66 80abb2c: 64080000 .word 0x64080000 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80abb30: 4bb2 ldr r3, [pc, #712] ; (80abdfc ) 80abb32: 781b ldrb r3, [r3, #0] 80abb34: b2db uxtb r3, r3 80abb36: 4618 mov r0, r3 80abb38: 4bb1 ldr r3, [pc, #708] ; (80abe00 ) 80abb3a: 79db ldrb r3, [r3, #7] 80abb3c: b2db uxtb r3, r3 80abb3e: 4619 mov r1, r3 80abb40: 4ab0 ldr r2, [pc, #704] ; (80abe04 ) 80abb42: 0083 lsls r3, r0, #2 80abb44: 4413 add r3, r2 80abb46: 440b add r3, r1 80abb48: 781b ldrb r3, [r3, #0] 80abb4a: 461a mov r2, r3 80abb4c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abb50: fb03 f302 mul.w r3, r3, r2 80abb54: 4aac ldr r2, [pc, #688] ; (80abe08 ) 80abb56: 8812 ldrh r2, [r2, #0] 80abb58: b292 uxth r2, r2 80abb5a: 4413 add r3, r2 80abb5c: 009a lsls r2, r3, #2 80abb5e: 4bab ldr r3, [pc, #684] ; (80abe0c ) 80abb60: 4413 add r3, r2 80abb62: 461c mov r4, r3 80abb64: 4ba5 ldr r3, [pc, #660] ; (80abdfc ) 80abb66: 781b ldrb r3, [r3, #0] 80abb68: b2db uxtb r3, r3 80abb6a: 4618 mov r0, r3 80abb6c: 4ba4 ldr r3, [pc, #656] ; (80abe00 ) 80abb6e: 79db ldrb r3, [r3, #7] 80abb70: b2db uxtb r3, r3 80abb72: 4619 mov r1, r3 80abb74: 4aa3 ldr r2, [pc, #652] ; (80abe04 ) 80abb76: 0083 lsls r3, r0, #2 80abb78: 4413 add r3, r2 80abb7a: 440b add r3, r1 80abb7c: 781b ldrb r3, [r3, #0] 80abb7e: 4618 mov r0, r3 80abb80: f507 711a add.w r1, r7, #616 ; 0x268 80abb84: f507 731e add.w r3, r7, #632 ; 0x278 80abb88: 1d1a adds r2, r3, #4 80abb8a: 460b mov r3, r1 80abb8c: 4601 mov r1, r0 80abb8e: 4620 mov r0, r4 80abb90: f022 fc40 bl 80ce414 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80abb94: 4b99 ldr r3, [pc, #612] ; (80abdfc ) 80abb96: 781b ldrb r3, [r3, #0] 80abb98: b2db uxtb r3, r3 80abb9a: 4618 mov r0, r3 80abb9c: 4b98 ldr r3, [pc, #608] ; (80abe00 ) 80abb9e: 79db ldrb r3, [r3, #7] 80abba0: b2db uxtb r3, r3 80abba2: 4619 mov r1, r3 80abba4: 4a97 ldr r2, [pc, #604] ; (80abe04 ) 80abba6: 0083 lsls r3, r0, #2 80abba8: 4413 add r3, r2 80abbaa: 440b add r3, r1 80abbac: 781b ldrb r3, [r3, #0] 80abbae: 461a mov r2, r3 80abbb0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abbb4: fb03 f302 mul.w r3, r3, r2 80abbb8: 4a93 ldr r2, [pc, #588] ; (80abe08 ) 80abbba: 8812 ldrh r2, [r2, #0] 80abbbc: b292 uxth r2, r2 80abbbe: 4413 add r3, r2 80abbc0: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80abbc4: 4b8d ldr r3, [pc, #564] ; (80abdfc ) 80abbc6: 781b ldrb r3, [r3, #0] 80abbc8: b2db uxtb r3, r3 80abbca: 4618 mov r0, r3 80abbcc: 4b8c ldr r3, [pc, #560] ; (80abe00 ) 80abbce: 79db ldrb r3, [r3, #7] 80abbd0: b2db uxtb r3, r3 80abbd2: 4619 mov r1, r3 80abbd4: 4a8b ldr r2, [pc, #556] ; (80abe04 ) 80abbd6: 0083 lsls r3, r0, #2 80abbd8: 4413 add r3, r2 80abbda: 440b add r3, r1 80abbdc: 781b ldrb r3, [r3, #0] 80abbde: 461a mov r2, r3 80abbe0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abbe4: fb03 f302 mul.w r3, r3, r2 80abbe8: 4a87 ldr r2, [pc, #540] ; (80abe08 ) 80abbea: 8812 ldrh r2, [r2, #0] 80abbec: b292 uxth r2, r2 80abbee: 4413 add r3, r2 80abbf0: 4a82 ldr r2, [pc, #520] ; (80abdfc ) 80abbf2: 7812 ldrb r2, [r2, #0] 80abbf4: b2d2 uxtb r2, r2 80abbf6: 4614 mov r4, r2 80abbf8: 4a81 ldr r2, [pc, #516] ; (80abe00 ) 80abbfa: 79d2 ldrb r2, [r2, #7] 80abbfc: b2d2 uxtb r2, r2 80abbfe: 4610 mov r0, r2 80abc00: 4980 ldr r1, [pc, #512] ; (80abe04 ) 80abc02: 00a2 lsls r2, r4, #2 80abc04: 440a add r2, r1 80abc06: 4402 add r2, r0 80abc08: 7812 ldrb r2, [r2, #0] 80abc0a: 4413 add r3, r2 80abc0c: 3b01 subs r3, #1 80abc0e: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80abc12: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abc16: 333e adds r3, #62 ; 0x3e 80abc18: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 7; j++) 80abc1c: 2300 movs r3, #0 80abc1e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abc22: e02c b.n 80abc7e if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80abc24: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abc28: 009b lsls r3, r3, #2 80abc2a: f507 722e add.w r2, r7, #696 ; 0x2b8 80abc2e: 4413 add r3, r2 80abc30: f853 3c8c ldr.w r3, [r3, #-140] 80abc34: 461a mov r2, r3 80abc36: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80abc3a: 429a cmp r2, r3 80abc3c: d31a bcc.n 80abc74 80abc3e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abc42: 009b lsls r3, r3, #2 80abc44: f507 722e add.w r2, r7, #696 ; 0x2b8 80abc48: 4413 add r3, r2 80abc4a: f853 3c8c ldr.w r3, [r3, #-140] 80abc4e: 461a mov r2, r3 80abc50: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80abc54: 429a cmp r2, r3 80abc56: d80d bhi.n 80abc74 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80abc58: 496d ldr r1, [pc, #436] ; (80abe10 ) 80abc5a: 486e ldr r0, [pc, #440] ; (80abe14 ) 80abc5c: f7a8 fcd8 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80abc60: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abc64: b298 uxth r0, r3 80abc66: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abc6a: b29a uxth r2, r3 80abc6c: 23da movs r3, #218 ; 0xda 80abc6e: 212c movs r1, #44 ; 0x2c 80abc70: f7a8 ff08 bl 8054a84 for(j = 0; j < 7; j++) 80abc74: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abc78: 3301 adds r3, #1 80abc7a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abc7e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abc82: 2b06 cmp r3, #6 80abc84: d9ce bls.n 80abc24 for(j = 0; j < 3; j++) 80abc86: 2300 movs r3, #0 80abc88: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abc8c: e028 b.n 80abce0 if((_Fv[j] >= iL) && (_Fv[j] <= iR)) 80abc8e: f507 73da add.w r3, r7, #436 ; 0x1b4 80abc92: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80abc96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80abc9a: 461a mov r2, r3 80abc9c: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80abca0: 429a cmp r2, r3 80abca2: d318 bcc.n 80abcd6 80abca4: f507 73da add.w r3, r7, #436 ; 0x1b4 80abca8: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80abcac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80abcb0: 461a mov r2, r3 80abcb2: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80abcb6: 429a cmp r2, r3 80abcb8: d80d bhi.n 80abcd6 LCD_SetColors(LCD_COLOR_FV, LCD_COLOR_BLACK); 80abcba: 4955 ldr r1, [pc, #340] ; (80abe10 ) 80abcbc: 4856 ldr r0, [pc, #344] ; (80abe18 ) 80abcbe: f7a8 fca7 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80abcc2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abcc6: b298 uxth r0, r3 80abcc8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abccc: b29a uxth r2, r3 80abcce: 23da movs r3, #218 ; 0xda 80abcd0: 212c movs r1, #44 ; 0x2c 80abcd2: f7a8 fed7 bl 8054a84 for(j = 0; j < 3; j++) 80abcd6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abcda: 3301 adds r3, #1 80abcdc: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abce0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abce4: 2b02 cmp r3, #2 80abce6: d9d2 bls.n 80abc8e for(i = 0; i < 256; i++) 80abce8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abcec: 3301 adds r3, #1 80abcee: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abcf2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abcf6: 2bff cmp r3, #255 ; 0xff 80abcf8: f67f af1a bls.w 80abb30 break; 80abcfc: f000 bc6f b.w 80ac5de for(i = 0; i < 256; i++) 80abd00: 2300 movs r3, #0 80abd02: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abd06: e0ec b.n 80abee2 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80abd08: 4b3c ldr r3, [pc, #240] ; (80abdfc ) 80abd0a: 781b ldrb r3, [r3, #0] 80abd0c: b2db uxtb r3, r3 80abd0e: 4618 mov r0, r3 80abd10: 4b3b ldr r3, [pc, #236] ; (80abe00 ) 80abd12: 79db ldrb r3, [r3, #7] 80abd14: b2db uxtb r3, r3 80abd16: 4619 mov r1, r3 80abd18: 4a3a ldr r2, [pc, #232] ; (80abe04 ) 80abd1a: 0083 lsls r3, r0, #2 80abd1c: 4413 add r3, r2 80abd1e: 440b add r3, r1 80abd20: 781b ldrb r3, [r3, #0] 80abd22: 461a mov r2, r3 80abd24: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abd28: fb03 f302 mul.w r3, r3, r2 80abd2c: 4a36 ldr r2, [pc, #216] ; (80abe08 ) 80abd2e: 8812 ldrh r2, [r2, #0] 80abd30: b292 uxth r2, r2 80abd32: 4413 add r3, r2 80abd34: 009a lsls r2, r3, #2 80abd36: 4b35 ldr r3, [pc, #212] ; (80abe0c ) 80abd38: 4413 add r3, r2 80abd3a: 461c mov r4, r3 80abd3c: 4b2f ldr r3, [pc, #188] ; (80abdfc ) 80abd3e: 781b ldrb r3, [r3, #0] 80abd40: b2db uxtb r3, r3 80abd42: 4618 mov r0, r3 80abd44: 4b2e ldr r3, [pc, #184] ; (80abe00 ) 80abd46: 79db ldrb r3, [r3, #7] 80abd48: b2db uxtb r3, r3 80abd4a: 4619 mov r1, r3 80abd4c: 4a2d ldr r2, [pc, #180] ; (80abe04 ) 80abd4e: 0083 lsls r3, r0, #2 80abd50: 4413 add r3, r2 80abd52: 440b add r3, r1 80abd54: 781b ldrb r3, [r3, #0] 80abd56: 4618 mov r0, r3 80abd58: f507 711a add.w r1, r7, #616 ; 0x268 80abd5c: f507 731e add.w r3, r7, #632 ; 0x278 80abd60: 1d1a adds r2, r3, #4 80abd62: 460b mov r3, r1 80abd64: 4601 mov r1, r0 80abd66: 4620 mov r0, r4 80abd68: f022 fb54 bl 80ce414 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80abd6c: 4b23 ldr r3, [pc, #140] ; (80abdfc ) 80abd6e: 781b ldrb r3, [r3, #0] 80abd70: b2db uxtb r3, r3 80abd72: 4618 mov r0, r3 80abd74: 4b22 ldr r3, [pc, #136] ; (80abe00 ) 80abd76: 79db ldrb r3, [r3, #7] 80abd78: b2db uxtb r3, r3 80abd7a: 4619 mov r1, r3 80abd7c: 4a21 ldr r2, [pc, #132] ; (80abe04 ) 80abd7e: 0083 lsls r3, r0, #2 80abd80: 4413 add r3, r2 80abd82: 440b add r3, r1 80abd84: 781b ldrb r3, [r3, #0] 80abd86: 461a mov r2, r3 80abd88: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abd8c: fb03 f302 mul.w r3, r3, r2 80abd90: 4a1d ldr r2, [pc, #116] ; (80abe08 ) 80abd92: 8812 ldrh r2, [r2, #0] 80abd94: b292 uxth r2, r2 80abd96: 4413 add r3, r2 80abd98: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80abd9c: 4b17 ldr r3, [pc, #92] ; (80abdfc ) 80abd9e: 781b ldrb r3, [r3, #0] 80abda0: b2db uxtb r3, r3 80abda2: 4618 mov r0, r3 80abda4: 4b16 ldr r3, [pc, #88] ; (80abe00 ) 80abda6: 79db ldrb r3, [r3, #7] 80abda8: b2db uxtb r3, r3 80abdaa: 4619 mov r1, r3 80abdac: 4a15 ldr r2, [pc, #84] ; (80abe04 ) 80abdae: 0083 lsls r3, r0, #2 80abdb0: 4413 add r3, r2 80abdb2: 440b add r3, r1 80abdb4: 781b ldrb r3, [r3, #0] 80abdb6: 461a mov r2, r3 80abdb8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abdbc: fb03 f302 mul.w r3, r3, r2 80abdc0: 4a11 ldr r2, [pc, #68] ; (80abe08 ) 80abdc2: 8812 ldrh r2, [r2, #0] 80abdc4: b292 uxth r2, r2 80abdc6: 4413 add r3, r2 80abdc8: 4a0c ldr r2, [pc, #48] ; (80abdfc ) 80abdca: 7812 ldrb r2, [r2, #0] 80abdcc: b2d2 uxtb r2, r2 80abdce: 4614 mov r4, r2 80abdd0: 4a0b ldr r2, [pc, #44] ; (80abe00 ) 80abdd2: 79d2 ldrb r2, [r2, #7] 80abdd4: b2d2 uxtb r2, r2 80abdd6: 4610 mov r0, r2 80abdd8: 490a ldr r1, [pc, #40] ; (80abe04 ) 80abdda: 00a2 lsls r2, r4, #2 80abddc: 440a add r2, r1 80abdde: 4402 add r2, r0 80abde0: 7812 ldrb r2, [r2, #0] 80abde2: 4413 add r3, r2 80abde4: 3b01 subs r3, #1 80abde6: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80abdea: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abdee: 333e adds r3, #62 ; 0x3e 80abdf0: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 8; j++) 80abdf4: 2300 movs r3, #0 80abdf6: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abdfa: e038 b.n 80abe6e 80abdfc: 20020fb8 .word 0x20020fb8 80abe00: 20023ea8 .word 0x20023ea8 80abe04: 080f398c .word 0x080f398c 80abe08: 20025d66 .word 0x20025d66 80abe0c: 64080000 .word 0x64080000 80abe10: ff0a0f1f .word 0xff0a0f1f 80abe14: ff66a6d3 .word 0xff66a6d3 80abe18: ffa52a2a .word 0xffa52a2a if((_Fc[j] >= iL) && (_Fc[j] <= iR)) 80abe1c: f507 73bc add.w r3, r7, #376 ; 0x178 80abe20: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80abe24: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80abe28: 461a mov r2, r3 80abe2a: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80abe2e: 429a cmp r2, r3 80abe30: d318 bcc.n 80abe64 80abe32: f507 73bc add.w r3, r7, #376 ; 0x178 80abe36: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80abe3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80abe3e: 461a mov r2, r3 80abe40: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80abe44: 429a cmp r2, r3 80abe46: d80d bhi.n 80abe64 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80abe48: 49c2 ldr r1, [pc, #776] ; (80ac154 ) 80abe4a: 48c3 ldr r0, [pc, #780] ; (80ac158 ) 80abe4c: f7a8 fbe0 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80abe50: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abe54: b298 uxth r0, r3 80abe56: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abe5a: b29a uxth r2, r3 80abe5c: 23da movs r3, #218 ; 0xda 80abe5e: 212c movs r1, #44 ; 0x2c 80abe60: f7a8 fe10 bl 8054a84 for(j = 0; j < 8; j++) 80abe64: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abe68: 3301 adds r3, #1 80abe6a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abe6e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abe72: 2b07 cmp r3, #7 80abe74: d9d2 bls.n 80abe1c for(j = 0; j < 8; j++) 80abe76: 2300 movs r3, #0 80abe78: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abe7c: e028 b.n 80abed0 if((_Fvr_m_Fc[j] >= iL) && (_Fvr_m_Fc[j] <= iR)) 80abe7e: f507 7380 add.w r3, r7, #256 ; 0x100 80abe82: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80abe86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80abe8a: 461a mov r2, r3 80abe8c: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80abe90: 429a cmp r2, r3 80abe92: d318 bcc.n 80abec6 80abe94: f507 7380 add.w r3, r7, #256 ; 0x100 80abe98: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80abe9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80abea0: 461a mov r2, r3 80abea2: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80abea6: 429a cmp r2, r3 80abea8: d80d bhi.n 80abec6 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80abeaa: 49aa ldr r1, [pc, #680] ; (80ac154 ) 80abeac: 48ab ldr r0, [pc, #684] ; (80ac15c ) 80abeae: f7a8 fbaf bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80abeb2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abeb6: b298 uxth r0, r3 80abeb8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abebc: b29a uxth r2, r3 80abebe: 23da movs r3, #218 ; 0xda 80abec0: 212c movs r1, #44 ; 0x2c 80abec2: f7a8 fddf bl 8054a84 for(j = 0; j < 8; j++) 80abec6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abeca: 3301 adds r3, #1 80abecc: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abed0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80abed4: 2b07 cmp r3, #7 80abed6: d9d2 bls.n 80abe7e for(i = 0; i < 256; i++) 80abed8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abedc: 3301 adds r3, #1 80abede: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abee2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abee6: 2bff cmp r3, #255 ; 0xff 80abee8: f67f af0e bls.w 80abd08 break; 80abeec: e377 b.n 80ac5de for(i = 0; i < 256; i++) 80abeee: 2300 movs r3, #0 80abef0: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abef4: e1df b.n 80ac2b6 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80abef6: 4b9a ldr r3, [pc, #616] ; (80ac160 ) 80abef8: 781b ldrb r3, [r3, #0] 80abefa: b2db uxtb r3, r3 80abefc: 4618 mov r0, r3 80abefe: 4b99 ldr r3, [pc, #612] ; (80ac164 ) 80abf00: 79db ldrb r3, [r3, #7] 80abf02: b2db uxtb r3, r3 80abf04: 4619 mov r1, r3 80abf06: 4a98 ldr r2, [pc, #608] ; (80ac168 ) 80abf08: 0083 lsls r3, r0, #2 80abf0a: 4413 add r3, r2 80abf0c: 440b add r3, r1 80abf0e: 781b ldrb r3, [r3, #0] 80abf10: 461a mov r2, r3 80abf12: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abf16: fb03 f302 mul.w r3, r3, r2 80abf1a: 4a94 ldr r2, [pc, #592] ; (80ac16c ) 80abf1c: 8812 ldrh r2, [r2, #0] 80abf1e: b292 uxth r2, r2 80abf20: 4413 add r3, r2 80abf22: 009a lsls r2, r3, #2 80abf24: 4b92 ldr r3, [pc, #584] ; (80ac170 ) 80abf26: 4413 add r3, r2 80abf28: 461c mov r4, r3 80abf2a: 4b8d ldr r3, [pc, #564] ; (80ac160 ) 80abf2c: 781b ldrb r3, [r3, #0] 80abf2e: b2db uxtb r3, r3 80abf30: 4618 mov r0, r3 80abf32: 4b8c ldr r3, [pc, #560] ; (80ac164 ) 80abf34: 79db ldrb r3, [r3, #7] 80abf36: b2db uxtb r3, r3 80abf38: 4619 mov r1, r3 80abf3a: 4a8b ldr r2, [pc, #556] ; (80ac168 ) 80abf3c: 0083 lsls r3, r0, #2 80abf3e: 4413 add r3, r2 80abf40: 440b add r3, r1 80abf42: 781b ldrb r3, [r3, #0] 80abf44: 4618 mov r0, r3 80abf46: f507 711a add.w r1, r7, #616 ; 0x268 80abf4a: f507 731e add.w r3, r7, #632 ; 0x278 80abf4e: 1d1a adds r2, r3, #4 80abf50: 460b mov r3, r1 80abf52: 4601 mov r1, r0 80abf54: 4620 mov r0, r4 80abf56: f022 fa5d bl 80ce414 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80abf5a: 4b81 ldr r3, [pc, #516] ; (80ac160 ) 80abf5c: 781b ldrb r3, [r3, #0] 80abf5e: b2db uxtb r3, r3 80abf60: 4618 mov r0, r3 80abf62: 4b80 ldr r3, [pc, #512] ; (80ac164 ) 80abf64: 79db ldrb r3, [r3, #7] 80abf66: b2db uxtb r3, r3 80abf68: 4619 mov r1, r3 80abf6a: 4a7f ldr r2, [pc, #508] ; (80ac168 ) 80abf6c: 0083 lsls r3, r0, #2 80abf6e: 4413 add r3, r2 80abf70: 440b add r3, r1 80abf72: 781b ldrb r3, [r3, #0] 80abf74: 461a mov r2, r3 80abf76: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abf7a: fb03 f302 mul.w r3, r3, r2 80abf7e: 4a7b ldr r2, [pc, #492] ; (80ac16c ) 80abf80: 8812 ldrh r2, [r2, #0] 80abf82: b292 uxth r2, r2 80abf84: 4413 add r3, r2 80abf86: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80abf8a: 4b75 ldr r3, [pc, #468] ; (80ac160 ) 80abf8c: 781b ldrb r3, [r3, #0] 80abf8e: b2db uxtb r3, r3 80abf90: 4618 mov r0, r3 80abf92: 4b74 ldr r3, [pc, #464] ; (80ac164 ) 80abf94: 79db ldrb r3, [r3, #7] 80abf96: b2db uxtb r3, r3 80abf98: 4619 mov r1, r3 80abf9a: 4a73 ldr r2, [pc, #460] ; (80ac168 ) 80abf9c: 0083 lsls r3, r0, #2 80abf9e: 4413 add r3, r2 80abfa0: 440b add r3, r1 80abfa2: 781b ldrb r3, [r3, #0] 80abfa4: 461a mov r2, r3 80abfa6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abfaa: fb03 f302 mul.w r3, r3, r2 80abfae: 4a6f ldr r2, [pc, #444] ; (80ac16c ) 80abfb0: 8812 ldrh r2, [r2, #0] 80abfb2: b292 uxth r2, r2 80abfb4: 4413 add r3, r2 80abfb6: 4a6a ldr r2, [pc, #424] ; (80ac160 ) 80abfb8: 7812 ldrb r2, [r2, #0] 80abfba: b2d2 uxtb r2, r2 80abfbc: 4614 mov r4, r2 80abfbe: 4a69 ldr r2, [pc, #420] ; (80ac164 ) 80abfc0: 79d2 ldrb r2, [r2, #7] 80abfc2: b2d2 uxtb r2, r2 80abfc4: 4610 mov r0, r2 80abfc6: 4968 ldr r1, [pc, #416] ; (80ac168 ) 80abfc8: 00a2 lsls r2, r4, #2 80abfca: 440a add r2, r1 80abfcc: 4402 add r2, r0 80abfce: 7812 ldrb r2, [r2, #0] 80abfd0: 4413 add r3, r2 80abfd2: 3b01 subs r3, #1 80abfd4: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80abfd8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abfdc: 333e adds r3, #62 ; 0x3e 80abfde: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 6; j++) 80abfe2: 2300 movs r3, #0 80abfe4: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80abfe8: e0aa b.n 80ac140 if((_Ftk[j] >= iL) && (_Ftk[j] <= iR)) 80abfea: f507 739e add.w r3, r7, #316 ; 0x13c 80abfee: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80abff2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80abff6: 461a mov r2, r3 80abff8: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80abffc: 429a cmp r2, r3 80abffe: f0c0 809a bcc.w 80ac136 80ac002: f507 739e add.w r3, r7, #316 ; 0x13c 80ac006: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ac00a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ac00e: 461a mov r2, r3 80ac010: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ac014: 429a cmp r2, r3 80ac016: f200 808e bhi.w 80ac136 LCD_SetColors(LCD_COLOR_FTK, LCD_COLOR_BLACK); 80ac01a: 494e ldr r1, [pc, #312] ; (80ac154 ) 80ac01c: 4855 ldr r0, [pc, #340] ; (80ac174 ) 80ac01e: f7a8 faf7 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ac022: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac026: b298 uxth r0, r3 80ac028: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac02c: b29a uxth r2, r3 80ac02e: 23da movs r3, #218 ; 0xda 80ac030: 212c movs r1, #44 ; 0x2c 80ac032: f7a8 fd27 bl 8054a84 if(j & 1) 80ac036: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac03a: f003 0301 and.w r3, r3, #1 80ac03e: 2b00 cmp r3, #0 80ac040: d079 beq.n 80ac136 if(ViewLevel < 2) 80ac042: 4b47 ldr r3, [pc, #284] ; (80ac160 ) 80ac044: 781b ldrb r3, [r3, #0] 80ac046: b2db uxtb r3, r3 80ac048: 2b01 cmp r3, #1 80ac04a: d826 bhi.n 80ac09a if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80ac04c: 4b44 ldr r3, [pc, #272] ; (80ac160 ) 80ac04e: 781b ldrb r3, [r3, #0] 80ac050: b2db uxtb r3, r3 80ac052: 4618 mov r0, r3 80ac054: 4b43 ldr r3, [pc, #268] ; (80ac164 ) 80ac056: 79db ldrb r3, [r3, #7] 80ac058: b2db uxtb r3, r3 80ac05a: 4619 mov r1, r3 80ac05c: 4a42 ldr r2, [pc, #264] ; (80ac168 ) 80ac05e: 0083 lsls r3, r0, #2 80ac060: 4413 add r3, r2 80ac062: 440b add r3, r1 80ac064: 781b ldrb r3, [r3, #0] 80ac066: 461a mov r2, r3 80ac068: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac06c: fb03 f302 mul.w r3, r3, r2 80ac070: 4a3e ldr r2, [pc, #248] ; (80ac16c ) 80ac072: 8812 ldrh r2, [r2, #0] 80ac074: b292 uxth r2, r2 80ac076: 4413 add r3, r2 80ac078: 2b00 cmp r3, #0 80ac07a: d05c beq.n 80ac136 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80ac07c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac080: b29b uxth r3, r3 80ac082: 3b01 subs r3, #1 80ac084: b298 uxth r0, r3 80ac086: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac08a: b29b uxth r3, r3 80ac08c: 3b01 subs r3, #1 80ac08e: b29a uxth r2, r3 80ac090: 23da movs r3, #218 ; 0xda 80ac092: 212c movs r1, #44 ; 0x2c 80ac094: f7a8 fcf6 bl 8054a84 80ac098: e04d b.n 80ac136 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80ac09a: 4b31 ldr r3, [pc, #196] ; (80ac160 ) 80ac09c: 781b ldrb r3, [r3, #0] 80ac09e: b2db uxtb r3, r3 80ac0a0: 4618 mov r0, r3 80ac0a2: 4b30 ldr r3, [pc, #192] ; (80ac164 ) 80ac0a4: 79db ldrb r3, [r3, #7] 80ac0a6: b2db uxtb r3, r3 80ac0a8: 4619 mov r1, r3 80ac0aa: 4a2f ldr r2, [pc, #188] ; (80ac168 ) 80ac0ac: 0083 lsls r3, r0, #2 80ac0ae: 4413 add r3, r2 80ac0b0: 440b add r3, r1 80ac0b2: 781b ldrb r3, [r3, #0] 80ac0b4: 461a mov r2, r3 80ac0b6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac0ba: fb03 f302 mul.w r3, r3, r2 80ac0be: 4a2b ldr r2, [pc, #172] ; (80ac16c ) 80ac0c0: 8812 ldrh r2, [r2, #0] 80ac0c2: b292 uxth r2, r2 80ac0c4: 4413 add r3, r2 80ac0c6: 2b00 cmp r3, #0 80ac0c8: d00d beq.n 80ac0e6 BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80ac0ca: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac0ce: b29b uxth r3, r3 80ac0d0: 3b01 subs r3, #1 80ac0d2: b298 uxth r0, r3 80ac0d4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac0d8: b29b uxth r3, r3 80ac0da: 3b01 subs r3, #1 80ac0dc: b29a uxth r2, r3 80ac0de: 23da movs r3, #218 ; 0xda 80ac0e0: 212c movs r1, #44 ; 0x2c 80ac0e2: f7a8 fccf bl 8054a84 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 < 4095) 80ac0e6: 4b1e ldr r3, [pc, #120] ; (80ac160 ) 80ac0e8: 781b ldrb r3, [r3, #0] 80ac0ea: b2db uxtb r3, r3 80ac0ec: 4618 mov r0, r3 80ac0ee: 4b1d ldr r3, [pc, #116] ; (80ac164 ) 80ac0f0: 79db ldrb r3, [r3, #7] 80ac0f2: b2db uxtb r3, r3 80ac0f4: 4619 mov r1, r3 80ac0f6: 4a1c ldr r2, [pc, #112] ; (80ac168 ) 80ac0f8: 0083 lsls r3, r0, #2 80ac0fa: 4413 add r3, r2 80ac0fc: 440b add r3, r1 80ac0fe: 781b ldrb r3, [r3, #0] 80ac100: 461a mov r2, r3 80ac102: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac106: fb03 f302 mul.w r3, r3, r2 80ac10a: 4a18 ldr r2, [pc, #96] ; (80ac16c ) 80ac10c: 8812 ldrh r2, [r2, #0] 80ac10e: b292 uxth r2, r2 80ac110: 4413 add r3, r2 80ac112: f640 72fe movw r2, #4094 ; 0xffe 80ac116: 4293 cmp r3, r2 80ac118: d80d bhi.n 80ac136 BSP_LCD_DrawLine(x+1, 44, x+1, 218); 80ac11a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac11e: b29b uxth r3, r3 80ac120: 3301 adds r3, #1 80ac122: b298 uxth r0, r3 80ac124: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac128: b29b uxth r3, r3 80ac12a: 3301 adds r3, #1 80ac12c: b29a uxth r2, r3 80ac12e: 23da movs r3, #218 ; 0xda 80ac130: 212c movs r1, #44 ; 0x2c 80ac132: f7a8 fca7 bl 8054a84 for(j = 0; j < 6; j++) 80ac136: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac13a: 3301 adds r3, #1 80ac13c: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac140: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac144: 2b05 cmp r3, #5 80ac146: f67f af50 bls.w 80abfea for(j = 0; j < 6; j++) 80ac14a: 2300 movs r3, #0 80ac14c: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac150: e0a7 b.n 80ac2a2 80ac152: bf00 nop 80ac154: ff0a0f1f .word 0xff0a0f1f 80ac158: ffafff9c .word 0xffafff9c 80ac15c: ff66a6d3 .word 0xff66a6d3 80ac160: 20020fb8 .word 0x20020fb8 80ac164: 20023ea8 .word 0x20023ea8 80ac168: 080f398c .word 0x080f398c 80ac16c: 20025d66 .word 0x20025d66 80ac170: 64080000 .word 0x64080000 80ac174: ffb700eb .word 0xffb700eb if((_Ftk_m_Fc[j] >= iL) && (_Ftk_m_Fc[j] <= iR)) 80ac178: f107 0388 add.w r3, r7, #136 ; 0x88 80ac17c: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ac180: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ac184: 461a mov r2, r3 80ac186: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ac18a: 429a cmp r2, r3 80ac18c: d318 bcc.n 80ac1c0 80ac18e: f107 0388 add.w r3, r7, #136 ; 0x88 80ac192: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ac196: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ac19a: 461a mov r2, r3 80ac19c: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ac1a0: 429a cmp r2, r3 80ac1a2: d80d bhi.n 80ac1c0 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80ac1a4: 49a9 ldr r1, [pc, #676] ; (80ac44c ) 80ac1a6: 48aa ldr r0, [pc, #680] ; (80ac450 ) 80ac1a8: f7a8 fa32 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ac1ac: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac1b0: b298 uxth r0, r3 80ac1b2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac1b6: b29a uxth r2, r3 80ac1b8: 23da movs r3, #218 ; 0xda 80ac1ba: 212c movs r1, #44 ; 0x2c 80ac1bc: f7a8 fc62 bl 8054a84 if((_Ftk_p_Fc[j] >= iL) && (_Ftk_p_Fc[j] <= iR)) 80ac1c0: f107 03c4 add.w r3, r7, #196 ; 0xc4 80ac1c4: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ac1c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ac1cc: 461a mov r2, r3 80ac1ce: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ac1d2: 429a cmp r2, r3 80ac1d4: d318 bcc.n 80ac208 80ac1d6: f107 03c4 add.w r3, r7, #196 ; 0xc4 80ac1da: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ac1de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ac1e2: 461a mov r2, r3 80ac1e4: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ac1e8: 429a cmp r2, r3 80ac1ea: d80d bhi.n 80ac208 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80ac1ec: 4997 ldr r1, [pc, #604] ; (80ac44c ) 80ac1ee: 4898 ldr r0, [pc, #608] ; (80ac450 ) 80ac1f0: f7a8 fa0e bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ac1f4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac1f8: b298 uxth r0, r3 80ac1fa: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac1fe: b29a uxth r2, r3 80ac200: 23da movs r3, #218 ; 0xda 80ac202: 212c movs r1, #44 ; 0x2c 80ac204: f7a8 fc3e bl 8054a84 if((_Ftk_m_2Fc[j] >= iL) && (_Ftk_m_2Fc[j] <= iR)) 80ac208: f107 0310 add.w r3, r7, #16 80ac20c: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ac210: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ac214: 461a mov r2, r3 80ac216: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ac21a: 429a cmp r2, r3 80ac21c: d318 bcc.n 80ac250 80ac21e: f107 0310 add.w r3, r7, #16 80ac222: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ac226: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ac22a: 461a mov r2, r3 80ac22c: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ac230: 429a cmp r2, r3 80ac232: d80d bhi.n 80ac250 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80ac234: 4985 ldr r1, [pc, #532] ; (80ac44c ) 80ac236: 4886 ldr r0, [pc, #536] ; (80ac450 ) 80ac238: f7a8 f9ea bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ac23c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac240: b298 uxth r0, r3 80ac242: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac246: b29a uxth r2, r3 80ac248: 23da movs r3, #218 ; 0xda 80ac24a: 212c movs r1, #44 ; 0x2c 80ac24c: f7a8 fc1a bl 8054a84 if((_Ftk_p_2Fc[j] >= iL) && (_Ftk_p_2Fc[j] <= iR)) 80ac250: f107 034c add.w r3, r7, #76 ; 0x4c 80ac254: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ac258: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ac25c: 461a mov r2, r3 80ac25e: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ac262: 429a cmp r2, r3 80ac264: d318 bcc.n 80ac298 80ac266: f107 034c add.w r3, r7, #76 ; 0x4c 80ac26a: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80ac26e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80ac272: 461a mov r2, r3 80ac274: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ac278: 429a cmp r2, r3 80ac27a: d80d bhi.n 80ac298 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80ac27c: 4973 ldr r1, [pc, #460] ; (80ac44c ) 80ac27e: 4874 ldr r0, [pc, #464] ; (80ac450 ) 80ac280: f7a8 f9c6 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ac284: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac288: b298 uxth r0, r3 80ac28a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac28e: b29a uxth r2, r3 80ac290: 23da movs r3, #218 ; 0xda 80ac292: 212c movs r1, #44 ; 0x2c 80ac294: f7a8 fbf6 bl 8054a84 for(j = 0; j < 6; j++) 80ac298: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac29c: 3301 adds r3, #1 80ac29e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac2a2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac2a6: 2b05 cmp r3, #5 80ac2a8: f67f af66 bls.w 80ac178 for(i = 0; i < 256; i++) 80ac2ac: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac2b0: 3301 adds r3, #1 80ac2b2: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac2b6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac2ba: 2bff cmp r3, #255 ; 0xff 80ac2bc: f67f ae1b bls.w 80abef6 break; 80ac2c0: e18d b.n 80ac5de for(i = 0; i < 256; i++) 80ac2c2: 2300 movs r3, #0 80ac2c4: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac2c8: e096 b.n 80ac3f8 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ac2ca: 4b62 ldr r3, [pc, #392] ; (80ac454 ) 80ac2cc: 781b ldrb r3, [r3, #0] 80ac2ce: b2db uxtb r3, r3 80ac2d0: 4618 mov r0, r3 80ac2d2: 4b61 ldr r3, [pc, #388] ; (80ac458 ) 80ac2d4: 79db ldrb r3, [r3, #7] 80ac2d6: b2db uxtb r3, r3 80ac2d8: 4619 mov r1, r3 80ac2da: 4a60 ldr r2, [pc, #384] ; (80ac45c ) 80ac2dc: 0083 lsls r3, r0, #2 80ac2de: 4413 add r3, r2 80ac2e0: 440b add r3, r1 80ac2e2: 781b ldrb r3, [r3, #0] 80ac2e4: 461a mov r2, r3 80ac2e6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac2ea: fb03 f302 mul.w r3, r3, r2 80ac2ee: 4a5c ldr r2, [pc, #368] ; (80ac460 ) 80ac2f0: 8812 ldrh r2, [r2, #0] 80ac2f2: b292 uxth r2, r2 80ac2f4: 4413 add r3, r2 80ac2f6: 009a lsls r2, r3, #2 80ac2f8: 4b5a ldr r3, [pc, #360] ; (80ac464 ) 80ac2fa: 4413 add r3, r2 80ac2fc: 461c mov r4, r3 80ac2fe: 4b55 ldr r3, [pc, #340] ; (80ac454 ) 80ac300: 781b ldrb r3, [r3, #0] 80ac302: b2db uxtb r3, r3 80ac304: 4618 mov r0, r3 80ac306: 4b54 ldr r3, [pc, #336] ; (80ac458 ) 80ac308: 79db ldrb r3, [r3, #7] 80ac30a: b2db uxtb r3, r3 80ac30c: 4619 mov r1, r3 80ac30e: 4a53 ldr r2, [pc, #332] ; (80ac45c ) 80ac310: 0083 lsls r3, r0, #2 80ac312: 4413 add r3, r2 80ac314: 440b add r3, r1 80ac316: 781b ldrb r3, [r3, #0] 80ac318: 4618 mov r0, r3 80ac31a: f507 711a add.w r1, r7, #616 ; 0x268 80ac31e: f507 731e add.w r3, r7, #632 ; 0x278 80ac322: 1d1a adds r2, r3, #4 80ac324: 460b mov r3, r1 80ac326: 4601 mov r1, r0 80ac328: 4620 mov r0, r4 80ac32a: f022 f873 bl 80ce414 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80ac32e: 4b49 ldr r3, [pc, #292] ; (80ac454 ) 80ac330: 781b ldrb r3, [r3, #0] 80ac332: b2db uxtb r3, r3 80ac334: 4618 mov r0, r3 80ac336: 4b48 ldr r3, [pc, #288] ; (80ac458 ) 80ac338: 79db ldrb r3, [r3, #7] 80ac33a: b2db uxtb r3, r3 80ac33c: 4619 mov r1, r3 80ac33e: 4a47 ldr r2, [pc, #284] ; (80ac45c ) 80ac340: 0083 lsls r3, r0, #2 80ac342: 4413 add r3, r2 80ac344: 440b add r3, r1 80ac346: 781b ldrb r3, [r3, #0] 80ac348: 461a mov r2, r3 80ac34a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac34e: fb03 f302 mul.w r3, r3, r2 80ac352: 4a43 ldr r2, [pc, #268] ; (80ac460 ) 80ac354: 8812 ldrh r2, [r2, #0] 80ac356: b292 uxth r2, r2 80ac358: 4413 add r3, r2 80ac35a: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80ac35e: 4b3d ldr r3, [pc, #244] ; (80ac454 ) 80ac360: 781b ldrb r3, [r3, #0] 80ac362: b2db uxtb r3, r3 80ac364: 4618 mov r0, r3 80ac366: 4b3c ldr r3, [pc, #240] ; (80ac458 ) 80ac368: 79db ldrb r3, [r3, #7] 80ac36a: b2db uxtb r3, r3 80ac36c: 4619 mov r1, r3 80ac36e: 4a3b ldr r2, [pc, #236] ; (80ac45c ) 80ac370: 0083 lsls r3, r0, #2 80ac372: 4413 add r3, r2 80ac374: 440b add r3, r1 80ac376: 781b ldrb r3, [r3, #0] 80ac378: 461a mov r2, r3 80ac37a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac37e: fb03 f302 mul.w r3, r3, r2 80ac382: 4a37 ldr r2, [pc, #220] ; (80ac460 ) 80ac384: 8812 ldrh r2, [r2, #0] 80ac386: b292 uxth r2, r2 80ac388: 4413 add r3, r2 80ac38a: 4a32 ldr r2, [pc, #200] ; (80ac454 ) 80ac38c: 7812 ldrb r2, [r2, #0] 80ac38e: b2d2 uxtb r2, r2 80ac390: 4614 mov r4, r2 80ac392: 4a31 ldr r2, [pc, #196] ; (80ac458 ) 80ac394: 79d2 ldrb r2, [r2, #7] 80ac396: b2d2 uxtb r2, r2 80ac398: 4610 mov r0, r2 80ac39a: 4930 ldr r1, [pc, #192] ; (80ac45c ) 80ac39c: 00a2 lsls r2, r4, #2 80ac39e: 440a add r2, r1 80ac3a0: 4402 add r2, r0 80ac3a2: 7812 ldrb r2, [r2, #0] 80ac3a4: 4413 add r3, r2 80ac3a6: 3b01 subs r3, #1 80ac3a8: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80ac3ac: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac3b0: 333e adds r3, #62 ; 0x3e 80ac3b2: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if((_Fvr[0] >= iL) && (_Fvr[0] <= iR)) 80ac3b6: f8d7 322c ldr.w r3, [r7, #556] ; 0x22c 80ac3ba: 461a mov r2, r3 80ac3bc: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ac3c0: 429a cmp r2, r3 80ac3c2: d314 bcc.n 80ac3ee 80ac3c4: f8d7 322c ldr.w r3, [r7, #556] ; 0x22c 80ac3c8: 461a mov r2, r3 80ac3ca: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ac3ce: 429a cmp r2, r3 80ac3d0: d80d bhi.n 80ac3ee LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80ac3d2: 491e ldr r1, [pc, #120] ; (80ac44c ) 80ac3d4: 4824 ldr r0, [pc, #144] ; (80ac468 ) 80ac3d6: f7a8 f91b bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ac3da: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac3de: b298 uxth r0, r3 80ac3e0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac3e4: b29a uxth r2, r3 80ac3e6: 23da movs r3, #218 ; 0xda 80ac3e8: 212c movs r1, #44 ; 0x2c 80ac3ea: f7a8 fb4b bl 8054a84 for(i = 0; i < 256; i++) 80ac3ee: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac3f2: 3301 adds r3, #1 80ac3f4: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac3f8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac3fc: 2bff cmp r3, #255 ; 0xff 80ac3fe: f67f af64 bls.w 80ac2ca break; 80ac402: e0ec b.n 80ac5de LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80ac404: 4911 ldr r1, [pc, #68] ; (80ac44c ) 80ac406: 4819 ldr r0, [pc, #100] ; (80ac46c ) 80ac408: f7a8 f902 bl 8054610 if(X0 == 0) 80ac40c: 4b14 ldr r3, [pc, #80] ; (80ac460 ) 80ac40e: 881b ldrh r3, [r3, #0] 80ac410: b29b uxth r3, r3 80ac412: 2b00 cmp r3, #0 80ac414: d10d bne.n 80ac432 BSP_LCD_DrawLine(62, 64, 92, 98); 80ac416: 2362 movs r3, #98 ; 0x62 80ac418: 225c movs r2, #92 ; 0x5c 80ac41a: 2140 movs r1, #64 ; 0x40 80ac41c: 203e movs r0, #62 ; 0x3e 80ac41e: f7a8 fb31 bl 8054a84 BSP_LCD_DrawLine(92, 98, 62+255, 98); 80ac422: 2362 movs r3, #98 ; 0x62 80ac424: f240 123d movw r2, #317 ; 0x13d 80ac428: 2162 movs r1, #98 ; 0x62 80ac42a: 205c movs r0, #92 ; 0x5c 80ac42c: f7a8 fb2a bl 8054a84 break; 80ac430: e0d5 b.n 80ac5de BSP_LCD_DrawLine(62, 98, 62+255, 98); 80ac432: 2362 movs r3, #98 ; 0x62 80ac434: f240 123d movw r2, #317 ; 0x13d 80ac438: 2162 movs r1, #98 ; 0x62 80ac43a: 203e movs r0, #62 ; 0x3e 80ac43c: f7a8 fb22 bl 8054a84 break; 80ac440: e0cd b.n 80ac5de for(i = 0; i < 256; i++) 80ac442: 2300 movs r3, #0 80ac444: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac448: e0c2 b.n 80ac5d0 80ac44a: bf00 nop 80ac44c: ff0a0f1f .word 0xff0a0f1f 80ac450: ffafff9c .word 0xffafff9c 80ac454: 20020fb8 .word 0x20020fb8 80ac458: 20023ea8 .word 0x20023ea8 80ac45c: 080f398c .word 0x080f398c 80ac460: 20025d66 .word 0x20025d66 80ac464: 64080000 .word 0x64080000 80ac468: ff66a6d3 .word 0xff66a6d3 80ac46c: ffffa500 .word 0xffffa500 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ac470: 4bc0 ldr r3, [pc, #768] ; (80ac774 ) 80ac472: 781b ldrb r3, [r3, #0] 80ac474: b2db uxtb r3, r3 80ac476: 4618 mov r0, r3 80ac478: 4bbf ldr r3, [pc, #764] ; (80ac778 ) 80ac47a: 79db ldrb r3, [r3, #7] 80ac47c: b2db uxtb r3, r3 80ac47e: 4619 mov r1, r3 80ac480: 4abe ldr r2, [pc, #760] ; (80ac77c ) 80ac482: 0083 lsls r3, r0, #2 80ac484: 4413 add r3, r2 80ac486: 440b add r3, r1 80ac488: 781b ldrb r3, [r3, #0] 80ac48a: 461a mov r2, r3 80ac48c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac490: fb03 f302 mul.w r3, r3, r2 80ac494: 4aba ldr r2, [pc, #744] ; (80ac780 ) 80ac496: 8812 ldrh r2, [r2, #0] 80ac498: b292 uxth r2, r2 80ac49a: 4413 add r3, r2 80ac49c: 009a lsls r2, r3, #2 80ac49e: 4bb9 ldr r3, [pc, #740] ; (80ac784 ) 80ac4a0: 4413 add r3, r2 80ac4a2: 461c mov r4, r3 80ac4a4: 4bb3 ldr r3, [pc, #716] ; (80ac774 ) 80ac4a6: 781b ldrb r3, [r3, #0] 80ac4a8: b2db uxtb r3, r3 80ac4aa: 4618 mov r0, r3 80ac4ac: 4bb2 ldr r3, [pc, #712] ; (80ac778 ) 80ac4ae: 79db ldrb r3, [r3, #7] 80ac4b0: b2db uxtb r3, r3 80ac4b2: 4619 mov r1, r3 80ac4b4: 4ab1 ldr r2, [pc, #708] ; (80ac77c ) 80ac4b6: 0083 lsls r3, r0, #2 80ac4b8: 4413 add r3, r2 80ac4ba: 440b add r3, r1 80ac4bc: 781b ldrb r3, [r3, #0] 80ac4be: 4618 mov r0, r3 80ac4c0: f507 711a add.w r1, r7, #616 ; 0x268 80ac4c4: f507 731e add.w r3, r7, #632 ; 0x278 80ac4c8: 1d1a adds r2, r3, #4 80ac4ca: 460b mov r3, r1 80ac4cc: 4601 mov r1, r0 80ac4ce: 4620 mov r0, r4 80ac4d0: f021 ffa0 bl 80ce414 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80ac4d4: 4ba7 ldr r3, [pc, #668] ; (80ac774 ) 80ac4d6: 781b ldrb r3, [r3, #0] 80ac4d8: b2db uxtb r3, r3 80ac4da: 4618 mov r0, r3 80ac4dc: 4ba6 ldr r3, [pc, #664] ; (80ac778 ) 80ac4de: 79db ldrb r3, [r3, #7] 80ac4e0: b2db uxtb r3, r3 80ac4e2: 4619 mov r1, r3 80ac4e4: 4aa5 ldr r2, [pc, #660] ; (80ac77c ) 80ac4e6: 0083 lsls r3, r0, #2 80ac4e8: 4413 add r3, r2 80ac4ea: 440b add r3, r1 80ac4ec: 781b ldrb r3, [r3, #0] 80ac4ee: 461a mov r2, r3 80ac4f0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac4f4: fb03 f302 mul.w r3, r3, r2 80ac4f8: 4aa1 ldr r2, [pc, #644] ; (80ac780 ) 80ac4fa: 8812 ldrh r2, [r2, #0] 80ac4fc: b292 uxth r2, r2 80ac4fe: 4413 add r3, r2 80ac500: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80ac504: 4b9b ldr r3, [pc, #620] ; (80ac774 ) 80ac506: 781b ldrb r3, [r3, #0] 80ac508: b2db uxtb r3, r3 80ac50a: 4618 mov r0, r3 80ac50c: 4b9a ldr r3, [pc, #616] ; (80ac778 ) 80ac50e: 79db ldrb r3, [r3, #7] 80ac510: b2db uxtb r3, r3 80ac512: 4619 mov r1, r3 80ac514: 4a99 ldr r2, [pc, #612] ; (80ac77c ) 80ac516: 0083 lsls r3, r0, #2 80ac518: 4413 add r3, r2 80ac51a: 440b add r3, r1 80ac51c: 781b ldrb r3, [r3, #0] 80ac51e: 461a mov r2, r3 80ac520: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac524: fb03 f302 mul.w r3, r3, r2 80ac528: 4a95 ldr r2, [pc, #596] ; (80ac780 ) 80ac52a: 8812 ldrh r2, [r2, #0] 80ac52c: b292 uxth r2, r2 80ac52e: 4413 add r3, r2 80ac530: 4a90 ldr r2, [pc, #576] ; (80ac774 ) 80ac532: 7812 ldrb r2, [r2, #0] 80ac534: b2d2 uxtb r2, r2 80ac536: 4614 mov r4, r2 80ac538: 4a8f ldr r2, [pc, #572] ; (80ac778 ) 80ac53a: 79d2 ldrb r2, [r2, #7] 80ac53c: b2d2 uxtb r2, r2 80ac53e: 4610 mov r0, r2 80ac540: 498e ldr r1, [pc, #568] ; (80ac77c ) 80ac542: 00a2 lsls r2, r4, #2 80ac544: 440a add r2, r1 80ac546: 4402 add r2, r0 80ac548: 7812 ldrb r2, [r2, #0] 80ac54a: 4413 add r3, r2 80ac54c: 3b01 subs r3, #1 80ac54e: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80ac552: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac556: 333e adds r3, #62 ; 0x3e 80ac558: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 15; j++) 80ac55c: 2300 movs r3, #0 80ac55e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac562: e02c b.n 80ac5be if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80ac564: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac568: 009b lsls r3, r3, #2 80ac56a: f507 722e add.w r2, r7, #696 ; 0x2b8 80ac56e: 4413 add r3, r2 80ac570: f853 3c8c ldr.w r3, [r3, #-140] 80ac574: 461a mov r2, r3 80ac576: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80ac57a: 429a cmp r2, r3 80ac57c: d31a bcc.n 80ac5b4 80ac57e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac582: 009b lsls r3, r3, #2 80ac584: f507 722e add.w r2, r7, #696 ; 0x2b8 80ac588: 4413 add r3, r2 80ac58a: f853 3c8c ldr.w r3, [r3, #-140] 80ac58e: 461a mov r2, r3 80ac590: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80ac594: 429a cmp r2, r3 80ac596: d80d bhi.n 80ac5b4 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80ac598: 497b ldr r1, [pc, #492] ; (80ac788 ) 80ac59a: 487c ldr r0, [pc, #496] ; (80ac78c ) 80ac59c: f7a8 f838 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ac5a0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac5a4: b298 uxth r0, r3 80ac5a6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac5aa: b29a uxth r2, r3 80ac5ac: 23da movs r3, #218 ; 0xda 80ac5ae: 212c movs r1, #44 ; 0x2c 80ac5b0: f7a8 fa68 bl 8054a84 for(j = 0; j < 15; j++) 80ac5b4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac5b8: 3301 adds r3, #1 80ac5ba: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac5be: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac5c2: 2b0e cmp r3, #14 80ac5c4: d9ce bls.n 80ac564 for(i = 0; i < 256; i++) 80ac5c6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac5ca: 3301 adds r3, #1 80ac5cc: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac5d0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac5d4: 2bff cmp r3, #255 ; 0xff 80ac5d6: f67f af4b bls.w 80ac470 break; 80ac5da: e000 b.n 80ac5de break; 80ac5dc: bf00 nop n = 0; 80ac5de: 2300 movs r3, #0 80ac5e0: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80ac5e4: 4b6a ldr r3, [pc, #424] ; (80ac790 ) 80ac5e6: 2200 movs r2, #0 80ac5e8: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80ac5ea: 2300 movs r3, #0 80ac5ec: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac5f0: e1a0 b.n 80ac934 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ac5f2: 4965 ldr r1, [pc, #404] ; (80ac788 ) 80ac5f4: 4867 ldr r0, [pc, #412] ; (80ac794 ) 80ac5f6: f7a8 f80b bl 8054610 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ac5fa: 4b5e ldr r3, [pc, #376] ; (80ac774 ) 80ac5fc: 781b ldrb r3, [r3, #0] 80ac5fe: b2db uxtb r3, r3 80ac600: 4618 mov r0, r3 80ac602: 4b5d ldr r3, [pc, #372] ; (80ac778 ) 80ac604: 79db ldrb r3, [r3, #7] 80ac606: b2db uxtb r3, r3 80ac608: 4619 mov r1, r3 80ac60a: 4a5c ldr r2, [pc, #368] ; (80ac77c ) 80ac60c: 0083 lsls r3, r0, #2 80ac60e: 4413 add r3, r2 80ac610: 440b add r3, r1 80ac612: 781b ldrb r3, [r3, #0] 80ac614: 461a mov r2, r3 80ac616: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac61a: fb03 f302 mul.w r3, r3, r2 80ac61e: 4a58 ldr r2, [pc, #352] ; (80ac780 ) 80ac620: 8812 ldrh r2, [r2, #0] 80ac622: b292 uxth r2, r2 80ac624: 4413 add r3, r2 80ac626: 009a lsls r2, r3, #2 80ac628: 4b56 ldr r3, [pc, #344] ; (80ac784 ) 80ac62a: 4413 add r3, r2 80ac62c: 461c mov r4, r3 80ac62e: 4b51 ldr r3, [pc, #324] ; (80ac774 ) 80ac630: 781b ldrb r3, [r3, #0] 80ac632: b2db uxtb r3, r3 80ac634: 4618 mov r0, r3 80ac636: 4b50 ldr r3, [pc, #320] ; (80ac778 ) 80ac638: 79db ldrb r3, [r3, #7] 80ac63a: b2db uxtb r3, r3 80ac63c: 4619 mov r1, r3 80ac63e: 4a4f ldr r2, [pc, #316] ; (80ac77c ) 80ac640: 0083 lsls r3, r0, #2 80ac642: 4413 add r3, r2 80ac644: 440b add r3, r1 80ac646: 781b ldrb r3, [r3, #0] 80ac648: 4618 mov r0, r3 80ac64a: f507 711a add.w r1, r7, #616 ; 0x268 80ac64e: f507 731e add.w r3, r7, #632 ; 0x278 80ac652: 1d1a adds r2, r3, #4 80ac654: 460b mov r3, r1 80ac656: 4601 mov r1, r0 80ac658: 4620 mov r0, r4 80ac65a: f021 fedb bl 80ce414 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80ac65e: 4b45 ldr r3, [pc, #276] ; (80ac774 ) 80ac660: 781b ldrb r3, [r3, #0] 80ac662: b2db uxtb r3, r3 80ac664: 4618 mov r0, r3 80ac666: 4b44 ldr r3, [pc, #272] ; (80ac778 ) 80ac668: 79db ldrb r3, [r3, #7] 80ac66a: b2db uxtb r3, r3 80ac66c: 4619 mov r1, r3 80ac66e: 4a43 ldr r2, [pc, #268] ; (80ac77c ) 80ac670: 0083 lsls r3, r0, #2 80ac672: 4413 add r3, r2 80ac674: 440b add r3, r1 80ac676: 781b ldrb r3, [r3, #0] 80ac678: 461a mov r2, r3 80ac67a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac67e: fb03 f302 mul.w r3, r3, r2 80ac682: 4a3f ldr r2, [pc, #252] ; (80ac780 ) 80ac684: 8812 ldrh r2, [r2, #0] 80ac686: b292 uxth r2, r2 80ac688: 4413 add r3, r2 80ac68a: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80ac68e: 4b39 ldr r3, [pc, #228] ; (80ac774 ) 80ac690: 781b ldrb r3, [r3, #0] 80ac692: b2db uxtb r3, r3 80ac694: 4618 mov r0, r3 80ac696: 4b38 ldr r3, [pc, #224] ; (80ac778 ) 80ac698: 79db ldrb r3, [r3, #7] 80ac69a: b2db uxtb r3, r3 80ac69c: 4619 mov r1, r3 80ac69e: 4a37 ldr r2, [pc, #220] ; (80ac77c ) 80ac6a0: 0083 lsls r3, r0, #2 80ac6a2: 4413 add r3, r2 80ac6a4: 440b add r3, r1 80ac6a6: 781b ldrb r3, [r3, #0] 80ac6a8: 461a mov r2, r3 80ac6aa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac6ae: fb03 f302 mul.w r3, r3, r2 80ac6b2: 4a33 ldr r2, [pc, #204] ; (80ac780 ) 80ac6b4: 8812 ldrh r2, [r2, #0] 80ac6b6: b292 uxth r2, r2 80ac6b8: 4413 add r3, r2 80ac6ba: 4a2e ldr r2, [pc, #184] ; (80ac774 ) 80ac6bc: 7812 ldrb r2, [r2, #0] 80ac6be: b2d2 uxtb r2, r2 80ac6c0: 4614 mov r4, r2 80ac6c2: 4a2d ldr r2, [pc, #180] ; (80ac778 ) 80ac6c4: 79d2 ldrb r2, [r2, #7] 80ac6c6: b2d2 uxtb r2, r2 80ac6c8: 4610 mov r0, r2 80ac6ca: 492c ldr r1, [pc, #176] ; (80ac77c ) 80ac6cc: 00a2 lsls r2, r4, #2 80ac6ce: 440a add r2, r1 80ac6d0: 4402 add r2, r0 80ac6d2: 7812 ldrb r2, [r2, #0] 80ac6d4: 4413 add r3, r2 80ac6d6: 3b01 subs r3, #1 80ac6d8: f8c7 328c str.w r3, [r7, #652] ; 0x28c if(mF[MAXY] > 0.0f) 80ac6dc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ac6e0: eef5 7ac0 vcmpe.f32 s15, #0.0 80ac6e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac6e8: dd60 ble.n 80ac7ac mF[MAXY] = ((mF[MAXY] - min) * ZoomVal) + 3.0f; 80ac6ea: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ac6ee: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ac6f2: ee37 7a67 vsub.f32 s14, s14, s15 80ac6f6: 4b28 ldr r3, [pc, #160] ; (80ac798 ) 80ac6f8: edd3 7a00 vldr s15, [r3] 80ac6fc: ee67 7a27 vmul.f32 s15, s14, s15 80ac700: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 80ac704: ee77 7a87 vadd.f32 s15, s15, s14 80ac708: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ac70c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ac710: ed9f 7a22 vldr s14, [pc, #136] ; 80ac79c 80ac714: eef4 7ac7 vcmpe.f32 s15, s14 80ac718: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac71c: dd02 ble.n 80ac724 80ac71e: 4b20 ldr r3, [pc, #128] ; (80ac7a0 ) 80ac720: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ac724: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ac728: ed9f 7a1e vldr s14, [pc, #120] ; 80ac7a4 80ac72c: eef4 7ac7 vcmpe.f32 s15, s14 80ac730: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac734: d502 bpl.n 80ac73c 80ac736: 4b1c ldr r3, [pc, #112] ; (80ac7a8 ) 80ac738: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80ac73c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ac740: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80ac744: ee77 7a87 vadd.f32 s15, s15, s14 80ac748: eefd 7ae7 vcvt.s32.f32 s15, s15 80ac74c: edc7 7a01 vstr s15, [r7, #4] 80ac750: 88bb ldrh r3, [r7, #4] 80ac752: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > 157) 80ac756: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ac75a: 2b9d cmp r3, #157 ; 0x9d 80ac75c: dd29 ble.n 80ac7b2 pMax = 157; 80ac75e: 239d movs r3, #157 ; 0x9d 80ac760: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ac764: 4b0a ldr r3, [pc, #40] ; (80ac790 ) 80ac766: 781b ldrb r3, [r3, #0] 80ac768: 3301 adds r3, #1 80ac76a: b2da uxtb r2, r3 80ac76c: 4b08 ldr r3, [pc, #32] ; (80ac790 ) 80ac76e: 701a strb r2, [r3, #0] 80ac770: e01f b.n 80ac7b2 80ac772: bf00 nop 80ac774: 20020fb8 .word 0x20020fb8 80ac778: 20023ea8 .word 0x20023ea8 80ac77c: 080f398c .word 0x080f398c 80ac780: 20025d66 .word 0x20025d66 80ac784: 64080000 .word 0x64080000 80ac788: ff0a0f1f .word 0xff0a0f1f 80ac78c: ff66a6d3 .word 0xff66a6d3 80ac790: 20021696 .word 0x20021696 80ac794: ff26a01f .word 0xff26a01f 80ac798: 20020998 .word 0x20020998 80ac79c: 46fffe00 .word 0x46fffe00 80ac7a0: 46fffe00 .word 0x46fffe00 80ac7a4: c6fffe00 .word 0xc6fffe00 80ac7a8: c6fffe00 .word 0xc6fffe00 pMax = 0; 80ac7ac: 2300 movs r3, #0 80ac7ae: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80ac7b2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac7b6: 333e adds r3, #62 ; 0x3e 80ac7b8: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80ac7bc: 4bb0 ldr r3, [pc, #704] ; (80aca80 ) 80ac7be: 681b ldr r3, [r3, #0] 80ac7c0: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ac7c4: 429a cmp r2, r3 80ac7c6: d12a bne.n 80ac81e if(menupos != Cursor) 80ac7c8: 4bae ldr r3, [pc, #696] ; (80aca84 ) 80ac7ca: 781b ldrb r3, [r3, #0] 80ac7cc: b2db uxtb r3, r3 80ac7ce: 2b06 cmp r3, #6 80ac7d0: d004 beq.n 80ac7dc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ac7d2: 49ad ldr r1, [pc, #692] ; (80aca88 ) 80ac7d4: 48ad ldr r0, [pc, #692] ; (80aca8c ) 80ac7d6: f7a7 ff1b bl 8054610 80ac7da: e003 b.n 80ac7e4 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ac7dc: 49aa ldr r1, [pc, #680] ; (80aca88 ) 80ac7de: 48ac ldr r0, [pc, #688] ; (80aca90 ) 80ac7e0: f7a7 ff16 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ac7e4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac7e8: b298 uxth r0, r3 80ac7ea: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac7ee: b29a uxth r2, r3 80ac7f0: 23da movs r3, #218 ; 0xda 80ac7f2: 212c movs r1, #44 ; 0x2c 80ac7f4: f7a8 f946 bl 8054a84 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80ac7f8: 49a3 ldr r1, [pc, #652] ; (80aca88 ) 80ac7fa: 48a6 ldr r0, [pc, #664] ; (80aca94 ) 80ac7fc: f7a7 ff08 bl 8054610 BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80ac800: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac804: b298 uxth r0, r3 80ac806: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac80a: b29a uxth r2, r3 80ac80c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ac810: f1c3 03da rsb r3, r3, #218 ; 0xda 80ac814: b29b uxth r3, r3 80ac816: 21db movs r1, #219 ; 0xdb 80ac818: f7a8 f934 bl 8054a84 80ac81c: e011 b.n 80ac842 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ac81e: 499a ldr r1, [pc, #616] ; (80aca88 ) 80ac820: 489d ldr r0, [pc, #628] ; (80aca98 ) 80ac822: f7a7 fef5 bl 8054610 BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80ac826: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac82a: b298 uxth r0, r3 80ac82c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac830: b29a uxth r2, r3 80ac832: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ac836: f1c3 03da rsb r3, r3, #218 ; 0xda 80ac83a: b29b uxth r3, r3 80ac83c: 21da movs r1, #218 ; 0xda 80ac83e: f7a8 f921 bl 8054a84 for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80ac842: 4b96 ldr r3, [pc, #600] ; (80aca9c ) 80ac844: 781b ldrb r3, [r3, #0] 80ac846: b2db uxtb r3, r3 80ac848: 4618 mov r0, r3 80ac84a: 4b95 ldr r3, [pc, #596] ; (80acaa0 ) 80ac84c: 79db ldrb r3, [r3, #7] 80ac84e: b2db uxtb r3, r3 80ac850: 4619 mov r1, r3 80ac852: 4a94 ldr r2, [pc, #592] ; (80acaa4 ) 80ac854: 0083 lsls r3, r0, #2 80ac856: 4413 add r3, r2 80ac858: 440b add r3, r1 80ac85a: 781b ldrb r3, [r3, #0] 80ac85c: 461a mov r2, r3 80ac85e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac862: fb03 f302 mul.w r3, r3, r2 80ac866: 4a90 ldr r2, [pc, #576] ; (80acaa8 ) 80ac868: 8812 ldrh r2, [r2, #0] 80ac86a: b292 uxth r2, r2 80ac86c: 4413 add r3, r2 80ac86e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac872: e028 b.n 80ac8c6 if(Freq[j]) 80ac874: 4a8d ldr r2, [pc, #564] ; (80acaac ) 80ac876: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac87a: 4413 add r3, r2 80ac87c: 781b ldrb r3, [r3, #0] 80ac87e: 2b00 cmp r3, #0 80ac880: d01c beq.n 80ac8bc LCD_SetColors(0xFFFFDA10, LCD_COLOR_BLACK); 80ac882: 4981 ldr r1, [pc, #516] ; (80aca88 ) 80ac884: 488a ldr r0, [pc, #552] ; (80acab0 ) 80ac886: f7a7 fec3 bl 8054610 BSP_LCD_DrawPixel(x, 218 - pMax, 0xFFFFDA10); 80ac88a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac88e: b298 uxth r0, r3 80ac890: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ac894: f1c3 03da rsb r3, r3, #218 ; 0xda 80ac898: b29b uxth r3, r3 80ac89a: 4a85 ldr r2, [pc, #532] ; (80acab0 ) 80ac89c: 4619 mov r1, r3 80ac89e: f7a8 fae1 bl 8054e64 BSP_LCD_DrawPixel(x, 219 - pMax, 0xFFFFDA10); 80ac8a2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ac8a6: b298 uxth r0, r3 80ac8a8: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ac8ac: f1c3 03db rsb r3, r3, #219 ; 0xdb 80ac8b0: b29b uxth r3, r3 80ac8b2: 4a7f ldr r2, [pc, #508] ; (80acab0 ) 80ac8b4: 4619 mov r1, r3 80ac8b6: f7a8 fad5 bl 8054e64 break; 80ac8ba: e02c b.n 80ac916 for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80ac8bc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac8c0: 3301 adds r3, #1 80ac8c2: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ac8c6: 4b75 ldr r3, [pc, #468] ; (80aca9c ) 80ac8c8: 781b ldrb r3, [r3, #0] 80ac8ca: b2db uxtb r3, r3 80ac8cc: 4618 mov r0, r3 80ac8ce: 4b74 ldr r3, [pc, #464] ; (80acaa0 ) 80ac8d0: 79db ldrb r3, [r3, #7] 80ac8d2: b2db uxtb r3, r3 80ac8d4: 4619 mov r1, r3 80ac8d6: 4a73 ldr r2, [pc, #460] ; (80acaa4 ) 80ac8d8: 0083 lsls r3, r0, #2 80ac8da: 4413 add r3, r2 80ac8dc: 440b add r3, r1 80ac8de: 781b ldrb r3, [r3, #0] 80ac8e0: 461a mov r2, r3 80ac8e2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac8e6: fb03 f302 mul.w r3, r3, r2 80ac8ea: 4a6f ldr r2, [pc, #444] ; (80acaa8 ) 80ac8ec: 8812 ldrh r2, [r2, #0] 80ac8ee: b292 uxth r2, r2 80ac8f0: 4413 add r3, r2 80ac8f2: 4a6a ldr r2, [pc, #424] ; (80aca9c ) 80ac8f4: 7812 ldrb r2, [r2, #0] 80ac8f6: b2d2 uxtb r2, r2 80ac8f8: 4614 mov r4, r2 80ac8fa: 4a69 ldr r2, [pc, #420] ; (80acaa0 ) 80ac8fc: 79d2 ldrb r2, [r2, #7] 80ac8fe: b2d2 uxtb r2, r2 80ac900: 4610 mov r0, r2 80ac902: 4968 ldr r1, [pc, #416] ; (80acaa4 ) 80ac904: 00a2 lsls r2, r4, #2 80ac906: 440a add r2, r1 80ac908: 4402 add r2, r0 80ac90a: 7812 ldrb r2, [r2, #0] 80ac90c: 441a add r2, r3 80ac90e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ac912: 429a cmp r2, r3 80ac914: d8ae bhi.n 80ac874 if(pMax > Maximum) 80ac916: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ac91a: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ac91e: 429a cmp r2, r3 80ac920: dd03 ble.n 80ac92a Maximum = pMax; 80ac922: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ac926: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80ac92a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac92e: 3301 adds r3, #1 80ac930: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac934: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac938: 2bff cmp r3, #255 ; 0xff 80ac93a: f67f ae5a bls.w 80ac5f2 80ac93e: e178 b.n 80acc32 NumOverdrives = 0; 80ac940: 4b5c ldr r3, [pc, #368] ; (80acab4 ) 80ac942: 2200 movs r2, #0 80ac944: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80ac946: 2300 movs r3, #0 80ac948: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ac94c: e16c b.n 80acc28 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ac94e: 494e ldr r1, [pc, #312] ; (80aca88 ) 80ac950: 4851 ldr r0, [pc, #324] ; (80aca98 ) 80ac952: f7a7 fe5d bl 8054610 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ac956: 4b51 ldr r3, [pc, #324] ; (80aca9c ) 80ac958: 781b ldrb r3, [r3, #0] 80ac95a: b2db uxtb r3, r3 80ac95c: 4618 mov r0, r3 80ac95e: 4b50 ldr r3, [pc, #320] ; (80acaa0 ) 80ac960: 79db ldrb r3, [r3, #7] 80ac962: b2db uxtb r3, r3 80ac964: 4619 mov r1, r3 80ac966: 4a4f ldr r2, [pc, #316] ; (80acaa4 ) 80ac968: 0083 lsls r3, r0, #2 80ac96a: 4413 add r3, r2 80ac96c: 440b add r3, r1 80ac96e: 781b ldrb r3, [r3, #0] 80ac970: 461a mov r2, r3 80ac972: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ac976: fb03 f302 mul.w r3, r3, r2 80ac97a: 4a4b ldr r2, [pc, #300] ; (80acaa8 ) 80ac97c: 8812 ldrh r2, [r2, #0] 80ac97e: b292 uxth r2, r2 80ac980: 4413 add r3, r2 80ac982: 009a lsls r2, r3, #2 80ac984: 4b4c ldr r3, [pc, #304] ; (80acab8 ) 80ac986: 4413 add r3, r2 80ac988: 461c mov r4, r3 80ac98a: 4b44 ldr r3, [pc, #272] ; (80aca9c ) 80ac98c: 781b ldrb r3, [r3, #0] 80ac98e: b2db uxtb r3, r3 80ac990: 4618 mov r0, r3 80ac992: 4b43 ldr r3, [pc, #268] ; (80acaa0 ) 80ac994: 79db ldrb r3, [r3, #7] 80ac996: b2db uxtb r3, r3 80ac998: 4619 mov r1, r3 80ac99a: 4a42 ldr r2, [pc, #264] ; (80acaa4 ) 80ac99c: 0083 lsls r3, r0, #2 80ac99e: 4413 add r3, r2 80ac9a0: 440b add r3, r1 80ac9a2: 781b ldrb r3, [r3, #0] 80ac9a4: 4618 mov r0, r3 80ac9a6: f507 711a add.w r1, r7, #616 ; 0x268 80ac9aa: f507 731e add.w r3, r7, #632 ; 0x278 80ac9ae: 1d1a adds r2, r3, #4 80ac9b0: 460b mov r3, r1 80ac9b2: 4601 mov r1, r0 80ac9b4: 4620 mov r0, r4 80ac9b6: f021 fd2d bl 80ce414 if(mF[MAXY] > 0.0f) 80ac9ba: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ac9be: eef5 7ac0 vcmpe.f32 s15, #0.0 80ac9c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac9c6: dd43 ble.n 80aca50 mF[MAXY] = ((mF[MAXY] - min) * ZoomVal) + 3.0f; 80ac9c8: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ac9cc: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ac9d0: ee37 7a67 vsub.f32 s14, s14, s15 80ac9d4: 4b39 ldr r3, [pc, #228] ; (80acabc ) 80ac9d6: edd3 7a00 vldr s15, [r3] 80ac9da: ee67 7a27 vmul.f32 s15, s14, s15 80ac9de: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 80ac9e2: ee77 7a87 vadd.f32 s15, s15, s14 80ac9e6: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ac9ea: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ac9ee: ed9f 7a34 vldr s14, [pc, #208] ; 80acac0 80ac9f2: eef4 7ac7 vcmpe.f32 s15, s14 80ac9f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac9fa: dd02 ble.n 80aca02 80ac9fc: 4b31 ldr r3, [pc, #196] ; (80acac4 ) 80ac9fe: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aca02: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aca06: ed9f 7a30 vldr s14, [pc, #192] ; 80acac8 80aca0a: eef4 7ac7 vcmpe.f32 s15, s14 80aca0e: eef1 fa10 vmrs APSR_nzcv, fpscr 80aca12: d502 bpl.n 80aca1a 80aca14: 4b2d ldr r3, [pc, #180] ; (80acacc ) 80aca16: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80aca1a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aca1e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80aca22: ee77 7a87 vadd.f32 s15, s15, s14 80aca26: eefd 7ae7 vcvt.s32.f32 s15, s15 80aca2a: edc7 7a01 vstr s15, [r7, #4] 80aca2e: 88bb ldrh r3, [r7, #4] 80aca30: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > 157) 80aca34: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aca38: 2b9d cmp r3, #157 ; 0x9d 80aca3a: dd0c ble.n 80aca56 pMax = 157; 80aca3c: 239d movs r3, #157 ; 0x9d 80aca3e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aca42: 4b1c ldr r3, [pc, #112] ; (80acab4 ) 80aca44: 781b ldrb r3, [r3, #0] 80aca46: 3301 adds r3, #1 80aca48: b2da uxtb r2, r3 80aca4a: 4b1a ldr r3, [pc, #104] ; (80acab4 ) 80aca4c: 701a strb r2, [r3, #0] 80aca4e: e002 b.n 80aca56 pMax = 0; 80aca50: 2300 movs r3, #0 80aca52: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80aca56: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aca5a: 333e adds r3, #62 ; 0x3e 80aca5c: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80aca60: 4b07 ldr r3, [pc, #28] ; (80aca80 ) 80aca62: 681b ldr r3, [r3, #0] 80aca64: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aca68: 429a cmp r2, r3 80aca6a: d156 bne.n 80acb1a if(menupos != Cursor) 80aca6c: 4b05 ldr r3, [pc, #20] ; (80aca84 ) 80aca6e: 781b ldrb r3, [r3, #0] 80aca70: b2db uxtb r3, r3 80aca72: 2b06 cmp r3, #6 80aca74: d02c beq.n 80acad0 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80aca76: 4904 ldr r1, [pc, #16] ; (80aca88 ) 80aca78: 4804 ldr r0, [pc, #16] ; (80aca8c ) 80aca7a: f7a7 fdc9 bl 8054610 80aca7e: e02b b.n 80acad8 80aca80: 2002006c .word 0x2002006c 80aca84: 20020070 .word 0x20020070 80aca88: ff0a0f1f .word 0xff0a0f1f 80aca8c: ff808080 .word 0xff808080 80aca90: ffff0000 .word 0xffff0000 80aca94: ff008000 .word 0xff008000 80aca98: ff26a01f .word 0xff26a01f 80aca9c: 20020fb8 .word 0x20020fb8 80acaa0: 20023ea8 .word 0x20023ea8 80acaa4: 080f398c .word 0x080f398c 80acaa8: 20025d66 .word 0x20025d66 80acaac: 20018000 .word 0x20018000 80acab0: ffffda10 .word 0xffffda10 80acab4: 20021696 .word 0x20021696 80acab8: 64080000 .word 0x64080000 80acabc: 20020998 .word 0x20020998 80acac0: 46fffe00 .word 0x46fffe00 80acac4: 46fffe00 .word 0x46fffe00 80acac8: c6fffe00 .word 0xc6fffe00 80acacc: c6fffe00 .word 0xc6fffe00 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80acad0: 49c2 ldr r1, [pc, #776] ; (80acddc ) 80acad2: 48c3 ldr r0, [pc, #780] ; (80acde0 ) 80acad4: f7a7 fd9c bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80acad8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acadc: b298 uxth r0, r3 80acade: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acae2: b29a uxth r2, r3 80acae4: 23da movs r3, #218 ; 0xda 80acae6: 212c movs r1, #44 ; 0x2c 80acae8: f7a7 ffcc bl 8054a84 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80acaec: 49bb ldr r1, [pc, #748] ; (80acddc ) 80acaee: 48bd ldr r0, [pc, #756] ; (80acde4 ) 80acaf0: f7a7 fd8e bl 8054610 BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80acaf4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acaf8: b298 uxth r0, r3 80acafa: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acafe: b29a uxth r2, r3 80acb00: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80acb04: f1c3 03da rsb r3, r3, #218 ; 0xda 80acb08: b29b uxth r3, r3 80acb0a: 21db movs r1, #219 ; 0xdb 80acb0c: f7a7 ffba bl 8054a84 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80acb10: 49b2 ldr r1, [pc, #712] ; (80acddc ) 80acb12: 48b5 ldr r0, [pc, #724] ; (80acde8 ) 80acb14: f7a7 fd7c bl 8054610 80acb18: e00d b.n 80acb36 BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80acb1a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acb1e: b298 uxth r0, r3 80acb20: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acb24: b29a uxth r2, r3 80acb26: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80acb2a: f1c3 03da rsb r3, r3, #218 ; 0xda 80acb2e: b29b uxth r3, r3 80acb30: 21da movs r1, #218 ; 0xda 80acb32: f7a7 ffa7 bl 8054a84 for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80acb36: 4bad ldr r3, [pc, #692] ; (80acdec ) 80acb38: 781b ldrb r3, [r3, #0] 80acb3a: b2db uxtb r3, r3 80acb3c: 4618 mov r0, r3 80acb3e: 4bac ldr r3, [pc, #688] ; (80acdf0 ) 80acb40: 79db ldrb r3, [r3, #7] 80acb42: b2db uxtb r3, r3 80acb44: 4619 mov r1, r3 80acb46: 4aab ldr r2, [pc, #684] ; (80acdf4 ) 80acb48: 0083 lsls r3, r0, #2 80acb4a: 4413 add r3, r2 80acb4c: 440b add r3, r1 80acb4e: 781b ldrb r3, [r3, #0] 80acb50: 461a mov r2, r3 80acb52: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acb56: fb03 f302 mul.w r3, r3, r2 80acb5a: 4aa7 ldr r2, [pc, #668] ; (80acdf8 ) 80acb5c: 8812 ldrh r2, [r2, #0] 80acb5e: b292 uxth r2, r2 80acb60: 4413 add r3, r2 80acb62: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80acb66: e028 b.n 80acbba if(Freq[j]) 80acb68: 4aa4 ldr r2, [pc, #656] ; (80acdfc ) 80acb6a: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80acb6e: 4413 add r3, r2 80acb70: 781b ldrb r3, [r3, #0] 80acb72: 2b00 cmp r3, #0 80acb74: d01c beq.n 80acbb0 LCD_SetColors(0xFFFFDA10, LCD_COLOR_BLACK); 80acb76: 4999 ldr r1, [pc, #612] ; (80acddc ) 80acb78: 48a1 ldr r0, [pc, #644] ; (80ace00 ) 80acb7a: f7a7 fd49 bl 8054610 BSP_LCD_DrawPixel(x, 218 - pMax, 0xFFFFDA10); 80acb7e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acb82: b298 uxth r0, r3 80acb84: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80acb88: f1c3 03da rsb r3, r3, #218 ; 0xda 80acb8c: b29b uxth r3, r3 80acb8e: 4a9c ldr r2, [pc, #624] ; (80ace00 ) 80acb90: 4619 mov r1, r3 80acb92: f7a8 f967 bl 8054e64 BSP_LCD_DrawPixel(x, 219 - pMax, 0xFFFFDA10); 80acb96: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acb9a: b298 uxth r0, r3 80acb9c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80acba0: f1c3 03db rsb r3, r3, #219 ; 0xdb 80acba4: b29b uxth r3, r3 80acba6: 4a96 ldr r2, [pc, #600] ; (80ace00 ) 80acba8: 4619 mov r1, r3 80acbaa: f7a8 f95b bl 8054e64 break; 80acbae: e02c b.n 80acc0a for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80acbb0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80acbb4: 3301 adds r3, #1 80acbb6: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80acbba: 4b8c ldr r3, [pc, #560] ; (80acdec ) 80acbbc: 781b ldrb r3, [r3, #0] 80acbbe: b2db uxtb r3, r3 80acbc0: 4618 mov r0, r3 80acbc2: 4b8b ldr r3, [pc, #556] ; (80acdf0 ) 80acbc4: 79db ldrb r3, [r3, #7] 80acbc6: b2db uxtb r3, r3 80acbc8: 4619 mov r1, r3 80acbca: 4a8a ldr r2, [pc, #552] ; (80acdf4 ) 80acbcc: 0083 lsls r3, r0, #2 80acbce: 4413 add r3, r2 80acbd0: 440b add r3, r1 80acbd2: 781b ldrb r3, [r3, #0] 80acbd4: 461a mov r2, r3 80acbd6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acbda: fb03 f302 mul.w r3, r3, r2 80acbde: 4a86 ldr r2, [pc, #536] ; (80acdf8 ) 80acbe0: 8812 ldrh r2, [r2, #0] 80acbe2: b292 uxth r2, r2 80acbe4: 4413 add r3, r2 80acbe6: 4a81 ldr r2, [pc, #516] ; (80acdec ) 80acbe8: 7812 ldrb r2, [r2, #0] 80acbea: b2d2 uxtb r2, r2 80acbec: 4614 mov r4, r2 80acbee: 4a80 ldr r2, [pc, #512] ; (80acdf0 ) 80acbf0: 79d2 ldrb r2, [r2, #7] 80acbf2: b2d2 uxtb r2, r2 80acbf4: 4610 mov r0, r2 80acbf6: 497f ldr r1, [pc, #508] ; (80acdf4 ) 80acbf8: 00a2 lsls r2, r4, #2 80acbfa: 440a add r2, r1 80acbfc: 4402 add r2, r0 80acbfe: 7812 ldrb r2, [r2, #0] 80acc00: 441a add r2, r3 80acc02: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80acc06: 429a cmp r2, r3 80acc08: d8ae bhi.n 80acb68 if(pMax > Maximum) 80acc0a: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80acc0e: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80acc12: 429a cmp r2, r3 80acc14: dd03 ble.n 80acc1e Maximum = pMax; 80acc16: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80acc1a: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80acc1e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acc22: 3301 adds r3, #1 80acc24: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80acc28: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acc2c: 2bff cmp r3, #255 ; 0xff 80acc2e: f67f ae8e bls.w 80ac94e Maximum = ABS(Maximum); 80acc32: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80acc36: 2b00 cmp r3, #0 80acc38: bfb8 it lt 80acc3a: 425b neglt r3, r3 80acc3c: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if((Maximum < 30) && (pardata.OPTIONS & 0x4)) 80acc40: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80acc44: 2b1d cmp r3, #29 80acc46: dc02 bgt.n 80acc4e 80acc48: 4b69 ldr r3, [pc, #420] ; (80acdf0 ) 80acc4a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 pMin = 0; 80acc4e: 2300 movs r3, #0 80acc50: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80acc54: 4961 ldr r1, [pc, #388] ; (80acddc ) 80acc56: 486b ldr r0, [pc, #428] ; (80ace04 ) 80acc58: f7a7 fcda bl 8054610 for(i = 0; i < 256; i++) 80acc5c: 2300 movs r3, #0 80acc5e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80acc62: e0b4 b.n 80acdce x = 62 + i; 80acc64: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acc68: 333e adds r3, #62 ; 0x3e 80acc6a: 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); 80acc6e: 4b5f ldr r3, [pc, #380] ; (80acdec ) 80acc70: 781b ldrb r3, [r3, #0] 80acc72: b2db uxtb r3, r3 80acc74: 4618 mov r0, r3 80acc76: 4b5e ldr r3, [pc, #376] ; (80acdf0 ) 80acc78: 79db ldrb r3, [r3, #7] 80acc7a: b2db uxtb r3, r3 80acc7c: 4619 mov r1, r3 80acc7e: 4a5d ldr r2, [pc, #372] ; (80acdf4 ) 80acc80: 0083 lsls r3, r0, #2 80acc82: 4413 add r3, r2 80acc84: 440b add r3, r1 80acc86: 781b ldrb r3, [r3, #0] 80acc88: 461a mov r2, r3 80acc8a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acc8e: fb03 f302 mul.w r3, r3, r2 80acc92: 4a59 ldr r2, [pc, #356] ; (80acdf8 ) 80acc94: 8812 ldrh r2, [r2, #0] 80acc96: b292 uxth r2, r2 80acc98: 4413 add r3, r2 80acc9a: 009a lsls r2, r3, #2 80acc9c: 4b5a ldr r3, [pc, #360] ; (80ace08 ) 80acc9e: 4413 add r3, r2 80acca0: 461c mov r4, r3 80acca2: 4b52 ldr r3, [pc, #328] ; (80acdec ) 80acca4: 781b ldrb r3, [r3, #0] 80acca6: b2db uxtb r3, r3 80acca8: 4618 mov r0, r3 80accaa: 4b51 ldr r3, [pc, #324] ; (80acdf0 ) 80accac: 79db ldrb r3, [r3, #7] 80accae: b2db uxtb r3, r3 80accb0: 4619 mov r1, r3 80accb2: 4a50 ldr r2, [pc, #320] ; (80acdf4 ) 80accb4: 0083 lsls r3, r0, #2 80accb6: 4413 add r3, r2 80accb8: 440b add r3, r1 80accba: 781b ldrb r3, [r3, #0] 80accbc: 4618 mov r0, r3 80accbe: f507 711a add.w r1, r7, #616 ; 0x268 80accc2: f507 731e add.w r3, r7, #632 ; 0x278 80accc6: 1d1a adds r2, r3, #4 80accc8: 460b mov r3, r1 80accca: 4601 mov r1, r0 80acccc: 4620 mov r0, r4 80accce: f021 fba1 bl 80ce414 if(mF[MAXY] != 0.0f) 80accd2: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80accd6: eef5 7a40 vcmp.f32 s15, #0.0 80accda: eef1 fa10 vmrs APSR_nzcv, fpscr 80accde: d060 beq.n 80acda2 mF[MAXY] = ((mF[MAXY] - min) * ZoomVal) + 3.0f; 80acce0: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80acce4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80acce8: ee37 7a67 vsub.f32 s14, s14, s15 80accec: 4b47 ldr r3, [pc, #284] ; (80ace0c ) 80accee: edd3 7a00 vldr s15, [r3] 80accf2: ee67 7a27 vmul.f32 s15, s14, s15 80accf6: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 80accfa: ee77 7a87 vadd.f32 s15, s15, s14 80accfe: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80acd02: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80acd06: ed9f 7a42 vldr s14, [pc, #264] ; 80ace10 80acd0a: eef4 7ac7 vcmpe.f32 s15, s14 80acd0e: eef1 fa10 vmrs APSR_nzcv, fpscr 80acd12: dd02 ble.n 80acd1a 80acd14: 4b3f ldr r3, [pc, #252] ; (80ace14 ) 80acd16: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80acd1a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80acd1e: ed9f 7a3e vldr s14, [pc, #248] ; 80ace18 80acd22: eef4 7ac7 vcmpe.f32 s15, s14 80acd26: eef1 fa10 vmrs APSR_nzcv, fpscr 80acd2a: d502 bpl.n 80acd32 80acd2c: 4b3b ldr r3, [pc, #236] ; (80ace1c ) 80acd2e: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80acd32: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80acd36: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80acd3a: ee77 7a87 vadd.f32 s15, s15, s14 80acd3e: eefd 7ae7 vcvt.s32.f32 s15, s15 80acd42: edc7 7a01 vstr s15, [r7, #4] 80acd46: 88bb ldrh r3, [r7, #4] 80acd48: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > 157) 80acd4c: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80acd50: 2b9d cmp r3, #157 ; 0x9d 80acd52: dd02 ble.n 80acd5a pMax = 157; 80acd54: 239d movs r3, #157 ; 0x9d 80acd56: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax < 0) 80acd5a: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80acd5e: 2b00 cmp r3, #0 80acd60: da02 bge.n 80acd68 pMax = 0; 80acd62: 2300 movs r3, #0 80acd64: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(i == 0) { 80acd68: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acd6c: 2b00 cmp r3, #0 80acd6e: d103 bne.n 80acd78 pMin = pMax; 80acd70: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80acd74: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 BSP_LCD_DrawLine(x - 1, 218 - pMin, x, 218 - pMax); 80acd78: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acd7c: b29b uxth r3, r3 80acd7e: 3b01 subs r3, #1 80acd80: b298 uxth r0, r3 80acd82: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80acd86: f1c3 03da rsb r3, r3, #218 ; 0xda 80acd8a: b299 uxth r1, r3 80acd8c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acd90: b29a uxth r2, r3 80acd92: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80acd96: f1c3 03da rsb r3, r3, #218 ; 0xda 80acd9a: b29b uxth r3, r3 80acd9c: f7a7 fe72 bl 8054a84 80acda0: e00c b.n 80acdbc pMax = 0; 80acda2: 2300 movs r3, #0 80acda4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 BSP_LCD_DrawLine(x, 218, x, 218); 80acda8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acdac: b298 uxth r0, r3 80acdae: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80acdb2: b29a uxth r2, r3 80acdb4: 23da movs r3, #218 ; 0xda 80acdb6: 21da movs r1, #218 ; 0xda 80acdb8: f7a7 fe64 bl 8054a84 pMin = pMax; 80acdbc: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80acdc0: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 for(i = 0; i < 256; i++) 80acdc4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acdc8: 3301 adds r3, #1 80acdca: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80acdce: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80acdd2: 2bff cmp r3, #255 ; 0xff 80acdd4: f67f af46 bls.w 80acc64 } 80acdd8: f002 bbe4 b.w 80af5a4 80acddc: ff0a0f1f .word 0xff0a0f1f 80acde0: ffff0000 .word 0xffff0000 80acde4: ff008000 .word 0xff008000 80acde8: ff26a01f .word 0xff26a01f 80acdec: 20020fb8 .word 0x20020fb8 80acdf0: 20023ea8 .word 0x20023ea8 80acdf4: 080f398c .word 0x080f398c 80acdf8: 20025d66 .word 0x20025d66 80acdfc: 20018000 .word 0x20018000 80ace00: ffffda10 .word 0xffffda10 80ace04: ffd3d3d3 .word 0xffd3d3d3 80ace08: 64090000 .word 0x64090000 80ace0c: 20020998 .word 0x20020998 80ace10: 46fffe00 .word 0x46fffe00 80ace14: 46fffe00 .word 0x46fffe00 80ace18: c6fffe00 .word 0xc6fffe00 80ace1c: c6fffe00 .word 0xc6fffe00 if(pardata.SYG == UDAR) 80ace20: 4ba8 ldr r3, [pc, #672] ; (80ad0c4 ) 80ace22: 781b ldrb r3, [r3, #0] 80ace24: b2db uxtb r3, r3 80ace26: 2b09 cmp r3, #9 80ace28: f040 83e6 bne.w 80ad5f8 if(READY_TO_SEE) 80ace2c: 4ba6 ldr r3, [pc, #664] ; (80ad0c8 ) 80ace2e: 781b ldrb r3, [r3, #0] 80ace30: b2db uxtb r3, r3 80ace32: 2b00 cmp r3, #0 80ace34: f002 83b6 beq.w 80af5a4 if(AUTOZOOM) 80ace38: 4ba4 ldr r3, [pc, #656] ; (80ad0cc ) 80ace3a: 781b ldrb r3, [r3, #0] 80ace3c: b2db uxtb r3, r3 80ace3e: 2b00 cmp r3, #0 80ace40: f000 810f beq.w 80ad062 if(pardata.MSH == LOG) 80ace44: 4b9f ldr r3, [pc, #636] ; (80ad0c4 ) 80ace46: 7a9b ldrb r3, [r3, #10] 80ace48: b2db uxtb r3, r3 80ace4a: 2b01 cmp r3, #1 80ace4c: f040 808a bne.w 80acf64 k = 0; 80ace50: 2300 movs r3, #0 80ace52: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80ace56: 4b9e ldr r3, [pc, #632] ; (80ad0d0 ) 80ace58: 881b ldrh r3, [r3, #0] 80ace5a: b29b uxth r3, r3 80ace5c: 461a mov r2, r3 80ace5e: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ace62: 4413 add r3, r2 80ace64: 009a lsls r2, r3, #2 80ace66: 4b9b ldr r3, [pc, #620] ; (80ad0d4 ) 80ace68: 4413 add r3, r2 80ace6a: 681b ldr r3, [r3, #0] 80ace6c: f8c7 326c str.w r3, [r7, #620] ; 0x26c LinToLog(&f, &f); 80ace70: f507 721b add.w r2, r7, #620 ; 0x26c 80ace74: f507 731b add.w r3, r7, #620 ; 0x26c 80ace78: 4611 mov r1, r2 80ace7a: 4618 mov r0, r3 80ace7c: f7b8 ff64 bl 8065d48 if(f <= 0.0f) k++; 80ace80: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ace84: eef5 7ac0 vcmpe.f32 s15, #0.0 80ace88: eef1 fa10 vmrs APSR_nzcv, fpscr 80ace8c: d95c bls.n 80acf48 else break; 80ace8e: bf00 nop arm_max_f32(&ScrA_f32(lX + k), rX-lX-k-1, &max, &idx); 80ace90: 4b8f ldr r3, [pc, #572] ; (80ad0d0 ) 80ace92: 881b ldrh r3, [r3, #0] 80ace94: b29b uxth r3, r3 80ace96: 461a mov r2, r3 80ace98: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ace9c: 4413 add r3, r2 80ace9e: 009a lsls r2, r3, #2 80acea0: 4b8c ldr r3, [pc, #560] ; (80ad0d4 ) 80acea2: 4413 add r3, r2 80acea4: 4618 mov r0, r3 80acea6: 4b8c ldr r3, [pc, #560] ; (80ad0d8 ) 80acea8: 881b ldrh r3, [r3, #0] 80aceaa: b29b uxth r3, r3 80aceac: 461a mov r2, r3 80aceae: 4b88 ldr r3, [pc, #544] ; (80ad0d0 ) 80aceb0: 881b ldrh r3, [r3, #0] 80aceb2: b29b uxth r3, r3 80aceb4: 1ad3 subs r3, r2, r3 80aceb6: 461a mov r2, r3 80aceb8: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80acebc: 1ad3 subs r3, r2, r3 80acebe: 1e59 subs r1, r3, #1 80acec0: f507 731a add.w r3, r7, #616 ; 0x268 80acec4: f507 721d add.w r2, r7, #628 ; 0x274 80acec8: f021 faa4 bl 80ce414 arm_min_f32(&ScrA_f32(lX + k), rX-lX-k-1, &min, &idx); 80acecc: 4b80 ldr r3, [pc, #512] ; (80ad0d0 ) 80acece: 881b ldrh r3, [r3, #0] 80aced0: b29b uxth r3, r3 80aced2: 461a mov r2, r3 80aced4: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80aced8: 4413 add r3, r2 80aceda: 009a lsls r2, r3, #2 80acedc: 4b7d ldr r3, [pc, #500] ; (80ad0d4 ) 80acede: 4413 add r3, r2 80acee0: 4618 mov r0, r3 80acee2: 4b7d ldr r3, [pc, #500] ; (80ad0d8 ) 80acee4: 881b ldrh r3, [r3, #0] 80acee6: b29b uxth r3, r3 80acee8: 461a mov r2, r3 80aceea: 4b79 ldr r3, [pc, #484] ; (80ad0d0 ) 80aceec: 881b ldrh r3, [r3, #0] 80aceee: b29b uxth r3, r3 80acef0: 1ad3 subs r3, r2, r3 80acef2: 461a mov r2, r3 80acef4: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80acef8: 1ad3 subs r3, r2, r3 80acefa: 1e59 subs r1, r3, #1 80acefc: f507 731a add.w r3, r7, #616 ; 0x268 80acf00: f507 721c add.w r2, r7, #624 ; 0x270 80acf04: f021 f9ea bl 80ce2dc LinToLog(&max, &max); 80acf08: f507 721d add.w r2, r7, #628 ; 0x274 80acf0c: f507 731d add.w r3, r7, #628 ; 0x274 80acf10: 4611 mov r1, r2 80acf12: 4618 mov r0, r3 80acf14: f7b8 ff18 bl 8065d48 LinToLog(&min, &min); 80acf18: f507 721c add.w r2, r7, #624 ; 0x270 80acf1c: f507 731c add.w r3, r7, #624 ; 0x270 80acf20: 4611 mov r1, r2 80acf22: 4618 mov r0, r3 80acf24: f7b8 ff10 bl 8065d48 f = (max - min); 80acf28: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80acf2c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80acf30: ee77 7a67 vsub.f32 s15, s14, s15 80acf34: edc7 7a9b vstr s15, [r7, #620] ; 0x26c if(f <= 0.0f) { 80acf38: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80acf3c: eef5 7ac0 vcmpe.f32 s15, #0.0 80acf40: eef1 fa10 vmrs APSR_nzcv, fpscr 80acf44: d906 bls.n 80acf54 80acf46: e008 b.n 80acf5a if(f <= 0.0f) k++; 80acf48: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80acf4c: 3301 adds r3, #1 80acf4e: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80acf52: e780 b.n 80ace56 f = 100.0f; 80acf54: 4b61 ldr r3, [pc, #388] ; (80ad0dc ) 80acf56: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80acf5a: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80acf5e: 4a60 ldr r2, [pc, #384] ; (80ad0e0 ) 80acf60: 6013 str r3, [r2, #0] 80acf62: e071 b.n 80ad048 arm_max_f32(&ScrA_f32(lX), rX-lX-1, &max, &idx); 80acf64: 4b5a ldr r3, [pc, #360] ; (80ad0d0 ) 80acf66: 881b ldrh r3, [r3, #0] 80acf68: b29b uxth r3, r3 80acf6a: 009b lsls r3, r3, #2 80acf6c: 461a mov r2, r3 80acf6e: 4b59 ldr r3, [pc, #356] ; (80ad0d4 ) 80acf70: 4413 add r3, r2 80acf72: 4618 mov r0, r3 80acf74: 4b58 ldr r3, [pc, #352] ; (80ad0d8 ) 80acf76: 881b ldrh r3, [r3, #0] 80acf78: b29b uxth r3, r3 80acf7a: 461a mov r2, r3 80acf7c: 4b54 ldr r3, [pc, #336] ; (80ad0d0 ) 80acf7e: 881b ldrh r3, [r3, #0] 80acf80: b29b uxth r3, r3 80acf82: 1ad3 subs r3, r2, r3 80acf84: 3b01 subs r3, #1 80acf86: 4619 mov r1, r3 80acf88: f507 731a add.w r3, r7, #616 ; 0x268 80acf8c: f507 721d add.w r2, r7, #628 ; 0x274 80acf90: f021 fa40 bl 80ce414 arm_min_f32(&ScrA_f32(lX), rX-lX-1, &min, &idx); 80acf94: 4b4e ldr r3, [pc, #312] ; (80ad0d0 ) 80acf96: 881b ldrh r3, [r3, #0] 80acf98: b29b uxth r3, r3 80acf9a: 009b lsls r3, r3, #2 80acf9c: 461a mov r2, r3 80acf9e: 4b4d ldr r3, [pc, #308] ; (80ad0d4 ) 80acfa0: 4413 add r3, r2 80acfa2: 4618 mov r0, r3 80acfa4: 4b4c ldr r3, [pc, #304] ; (80ad0d8 ) 80acfa6: 881b ldrh r3, [r3, #0] 80acfa8: b29b uxth r3, r3 80acfaa: 461a mov r2, r3 80acfac: 4b48 ldr r3, [pc, #288] ; (80ad0d0 ) 80acfae: 881b ldrh r3, [r3, #0] 80acfb0: b29b uxth r3, r3 80acfb2: 1ad3 subs r3, r2, r3 80acfb4: 3b01 subs r3, #1 80acfb6: 4619 mov r1, r3 80acfb8: f507 731a add.w r3, r7, #616 ; 0x268 80acfbc: f507 721c add.w r2, r7, #624 ; 0x270 80acfc0: f021 f98c bl 80ce2dc if(ABS(max) > ABS(min)) f = ABS(max); 80acfc4: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80acfc8: eef5 7ac0 vcmpe.f32 s15, #0.0 80acfcc: eef1 fa10 vmrs APSR_nzcv, fpscr 80acfd0: dd02 ble.n 80acfd8 80acfd2: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80acfd6: e003 b.n 80acfe0 80acfd8: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80acfdc: eeb1 7a67 vneg.f32 s14, s15 80acfe0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80acfe4: eef5 7ac0 vcmpe.f32 s15, #0.0 80acfe8: eef1 fa10 vmrs APSR_nzcv, fpscr 80acfec: dd02 ble.n 80acff4 80acfee: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80acff2: e003 b.n 80acffc 80acff4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80acff8: eef1 7a67 vneg.f32 s15, s15 80acffc: eeb4 7ae7 vcmpe.f32 s14, s15 80ad000: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad004: dd10 ble.n 80ad028 80ad006: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ad00a: eef5 7ac0 vcmpe.f32 s15, #0.0 80ad00e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad012: dd02 ble.n 80ad01a 80ad014: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ad018: e003 b.n 80ad022 80ad01a: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ad01e: eef1 7a67 vneg.f32 s15, s15 80ad022: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80ad026: e00f b.n 80ad048 else f = ABS(min); 80ad028: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ad02c: eef5 7ac0 vcmpe.f32 s15, #0.0 80ad030: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad034: dd02 ble.n 80ad03c 80ad036: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ad03a: e003 b.n 80ad044 80ad03c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ad040: eef1 7a67 vneg.f32 s15, s15 80ad044: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 100.0f / f; 80ad048: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80ad04c: eddf 6a25 vldr s13, [pc, #148] ; 80ad0e4 80ad050: eec6 7a87 vdiv.f32 s15, s13, s14 80ad054: 4b24 ldr r3, [pc, #144] ; (80ad0e8 ) 80ad056: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80ad05a: 4b1c ldr r3, [pc, #112] ; (80ad0cc ) 80ad05c: 2200 movs r2, #0 80ad05e: 701a strb r2, [r3, #0] 80ad060: e024 b.n 80ad0ac if(ZOOM_IN) 80ad062: 4b22 ldr r3, [pc, #136] ; (80ad0ec ) 80ad064: 781b ldrb r3, [r3, #0] 80ad066: b2db uxtb r3, r3 80ad068: 2b00 cmp r3, #0 80ad06a: d00d beq.n 80ad088 ZOOM_IN = false; 80ad06c: 4b1f ldr r3, [pc, #124] ; (80ad0ec ) 80ad06e: 2200 movs r2, #0 80ad070: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80ad072: 4b1d ldr r3, [pc, #116] ; (80ad0e8 ) 80ad074: edd3 7a00 vldr s15, [r3] 80ad078: ed9f 7a1d vldr s14, [pc, #116] ; 80ad0f0 80ad07c: ee67 7a87 vmul.f32 s15, s15, s14 80ad080: 4b19 ldr r3, [pc, #100] ; (80ad0e8 ) 80ad082: edc3 7a00 vstr s15, [r3] 80ad086: e011 b.n 80ad0ac if(ZOOM_OUT) 80ad088: 4b1a ldr r3, [pc, #104] ; (80ad0f4 ) 80ad08a: 781b ldrb r3, [r3, #0] 80ad08c: b2db uxtb r3, r3 80ad08e: 2b00 cmp r3, #0 80ad090: d00c beq.n 80ad0ac ZOOM_OUT = false; 80ad092: 4b18 ldr r3, [pc, #96] ; (80ad0f4 ) 80ad094: 2200 movs r2, #0 80ad096: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80ad098: 4b13 ldr r3, [pc, #76] ; (80ad0e8 ) 80ad09a: edd3 7a00 vldr s15, [r3] 80ad09e: ed9f 7a16 vldr s14, [pc, #88] ; 80ad0f8 80ad0a2: ee67 7a87 vmul.f32 s15, s15, s14 80ad0a6: 4b10 ldr r3, [pc, #64] ; (80ad0e8 ) 80ad0a8: edc3 7a00 vstr s15, [r3] NumOverdrives = 0; 80ad0ac: 4b13 ldr r3, [pc, #76] ; (80ad0fc ) 80ad0ae: 2200 movs r2, #0 80ad0b0: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ad0b2: 4913 ldr r1, [pc, #76] ; (80ad100 ) 80ad0b4: 4813 ldr r0, [pc, #76] ; (80ad104 ) 80ad0b6: f7a7 faab bl 8054610 for(i = 0; i < 256; i++) 80ad0ba: 2300 movs r3, #0 80ad0bc: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ad0c0: e28c b.n 80ad5dc 80ad0c2: bf00 nop 80ad0c4: 20023ea8 .word 0x20023ea8 80ad0c8: 20020dae .word 0x20020dae 80ad0cc: 20020994 .word 0x20020994 80ad0d0: 20025d62 .word 0x20025d62 80ad0d4: 64080000 .word 0x64080000 80ad0d8: 20025d68 .word 0x20025d68 80ad0dc: 42c80000 .word 0x42c80000 80ad0e0: 2002167c .word 0x2002167c 80ad0e4: 42c80000 .word 0x42c80000 80ad0e8: 20020998 .word 0x20020998 80ad0ec: 20020fad .word 0x20020fad 80ad0f0: 40000005 .word 0x40000005 80ad0f4: 20020fac .word 0x20020fac 80ad0f8: 3f000012 .word 0x3f000012 80ad0fc: 20021696 .word 0x20021696 80ad100: ff0a0f1f .word 0xff0a0f1f 80ad104: ff26a01f .word 0xff26a01f arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80ad108: 4bcb ldr r3, [pc, #812] ; (80ad438 ) 80ad10a: 781b ldrb r3, [r3, #0] 80ad10c: b2db uxtb r3, r3 80ad10e: 4618 mov r0, r3 80ad110: 4bca ldr r3, [pc, #808] ; (80ad43c ) 80ad112: 79db ldrb r3, [r3, #7] 80ad114: b2db uxtb r3, r3 80ad116: 4619 mov r1, r3 80ad118: 4ac9 ldr r2, [pc, #804] ; (80ad440 ) 80ad11a: 0083 lsls r3, r0, #2 80ad11c: 4413 add r3, r2 80ad11e: 440b add r3, r1 80ad120: 781b ldrb r3, [r3, #0] 80ad122: 461a mov r2, r3 80ad124: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad128: fb03 f302 mul.w r3, r3, r2 80ad12c: 4ac5 ldr r2, [pc, #788] ; (80ad444 ) 80ad12e: 8812 ldrh r2, [r2, #0] 80ad130: b292 uxth r2, r2 80ad132: 4413 add r3, r2 80ad134: 009a lsls r2, r3, #2 80ad136: 4bc4 ldr r3, [pc, #784] ; (80ad448 ) 80ad138: 4413 add r3, r2 80ad13a: 461c mov r4, r3 80ad13c: 4bbe ldr r3, [pc, #760] ; (80ad438 ) 80ad13e: 781b ldrb r3, [r3, #0] 80ad140: b2db uxtb r3, r3 80ad142: 4618 mov r0, r3 80ad144: 4bbd ldr r3, [pc, #756] ; (80ad43c ) 80ad146: 79db ldrb r3, [r3, #7] 80ad148: b2db uxtb r3, r3 80ad14a: 4619 mov r1, r3 80ad14c: 4abc ldr r2, [pc, #752] ; (80ad440 ) 80ad14e: 0083 lsls r3, r0, #2 80ad150: 4413 add r3, r2 80ad152: 440b add r3, r1 80ad154: 781b ldrb r3, [r3, #0] 80ad156: 4618 mov r0, r3 80ad158: f507 711a add.w r1, r7, #616 ; 0x268 80ad15c: f507 731e add.w r3, r7, #632 ; 0x278 80ad160: 1d1a adds r2, r3, #4 80ad162: 460b mov r3, r1 80ad164: 4601 mov r1, r0 80ad166: 4620 mov r0, r4 80ad168: f021 f954 bl 80ce414 if(avgSPC[ViewLevel][pardata.LNE] == 1) 80ad16c: 4bb2 ldr r3, [pc, #712] ; (80ad438 ) 80ad16e: 781b ldrb r3, [r3, #0] 80ad170: b2db uxtb r3, r3 80ad172: 4618 mov r0, r3 80ad174: 4bb1 ldr r3, [pc, #708] ; (80ad43c ) 80ad176: 79db ldrb r3, [r3, #7] 80ad178: b2db uxtb r3, r3 80ad17a: 4619 mov r1, r3 80ad17c: 4ab0 ldr r2, [pc, #704] ; (80ad440 ) 80ad17e: 0083 lsls r3, r0, #2 80ad180: 4413 add r3, r2 80ad182: 440b add r3, r1 80ad184: 781b ldrb r3, [r3, #0] 80ad186: 2b01 cmp r3, #1 80ad188: f040 80fa bne.w 80ad380 thr = 157; 80ad18c: 239d movs r3, #157 ; 0x9d 80ad18e: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80ad192: 4baa ldr r3, [pc, #680] ; (80ad43c ) 80ad194: 7a9b ldrb r3, [r3, #10] 80ad196: b2db uxtb r3, r3 80ad198: 2b01 cmp r3, #1 80ad19a: d153 bne.n 80ad244 for(j = 0; j < 2; j++) 80ad19c: 2300 movs r3, #0 80ad19e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ad1a2: e013 b.n 80ad1cc LinToLog(&mF[j], &mF[j]); 80ad1a4: f507 721e add.w r2, r7, #632 ; 0x278 80ad1a8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad1ac: 009b lsls r3, r3, #2 80ad1ae: 18d0 adds r0, r2, r3 80ad1b0: f507 721e add.w r2, r7, #632 ; 0x278 80ad1b4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad1b8: 009b lsls r3, r3, #2 80ad1ba: 4413 add r3, r2 80ad1bc: 4619 mov r1, r3 80ad1be: f7b8 fdc3 bl 8065d48 for(j = 0; j < 2; j++) 80ad1c2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad1c6: 3301 adds r3, #1 80ad1c8: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ad1cc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad1d0: 2b01 cmp r3, #1 80ad1d2: d9e7 bls.n 80ad1a4 mF[MAXY] = ((mF[MAXY] - MIN_Y) * ZoomVal) + 2.0f; 80ad1d4: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ad1d8: 4b9c ldr r3, [pc, #624] ; (80ad44c ) 80ad1da: edd3 7a00 vldr s15, [r3] 80ad1de: ee37 7a67 vsub.f32 s14, s14, s15 80ad1e2: 4b9b ldr r3, [pc, #620] ; (80ad450 ) 80ad1e4: edd3 7a00 vldr s15, [r3] 80ad1e8: ee67 7a27 vmul.f32 s15, s14, s15 80ad1ec: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80ad1f0: ee77 7a87 vadd.f32 s15, s15, s14 80ad1f4: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ad1f8: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad1fc: ed9f 7a95 vldr s14, [pc, #596] ; 80ad454 80ad200: eef4 7ac7 vcmpe.f32 s15, s14 80ad204: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad208: dd02 ble.n 80ad210 80ad20a: 4b93 ldr r3, [pc, #588] ; (80ad458 ) 80ad20c: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ad210: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad214: ed9f 7a91 vldr s14, [pc, #580] ; 80ad45c 80ad218: eef4 7ac7 vcmpe.f32 s15, s14 80ad21c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad220: d502 bpl.n 80ad228 80ad222: 4b8f ldr r3, [pc, #572] ; (80ad460 ) 80ad224: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80ad228: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad22c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80ad230: ee77 7a87 vadd.f32 s15, s15, s14 80ad234: eefd 7ae7 vcvt.s32.f32 s15, s15 80ad238: edc7 7a01 vstr s15, [r7, #4] 80ad23c: 88bb ldrh r3, [r7, #4] 80ad23e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80ad242: e029 b.n 80ad298 mF[MAXY] *= ZoomVal; 80ad244: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ad248: 4b81 ldr r3, [pc, #516] ; (80ad450 ) 80ad24a: edd3 7a00 vldr s15, [r3] 80ad24e: ee67 7a27 vmul.f32 s15, s14, s15 80ad252: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ad256: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad25a: ed9f 7a7e vldr s14, [pc, #504] ; 80ad454 80ad25e: eef4 7ac7 vcmpe.f32 s15, s14 80ad262: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad266: dd02 ble.n 80ad26e 80ad268: 4b7b ldr r3, [pc, #492] ; (80ad458 ) 80ad26a: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ad26e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad272: ed9f 7a7a vldr s14, [pc, #488] ; 80ad45c 80ad276: eef4 7ac7 vcmpe.f32 s15, s14 80ad27a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad27e: d502 bpl.n 80ad286 80ad280: 4b77 ldr r3, [pc, #476] ; (80ad460 ) 80ad282: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80ad286: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad28a: eefd 7ae7 vcvt.s32.f32 s15, s15 80ad28e: edc7 7a01 vstr s15, [r7, #4] 80ad292: 88bb ldrh r3, [r7, #4] 80ad294: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80ad298: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80ad29c: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ad2a0: 429a cmp r2, r3 80ad2a2: dd03 ble.n 80ad2ac pMin = thr; 80ad2a4: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80ad2a8: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80ad2ac: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80ad2b0: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ad2b4: 425b negs r3, r3 80ad2b6: 429a cmp r2, r3 80ad2b8: da02 bge.n 80ad2c0 pMin = 0; 80ad2ba: 2300 movs r3, #0 80ad2bc: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80ad2c0: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ad2c4: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ad2c8: 429a cmp r2, r3 80ad2ca: dd09 ble.n 80ad2e0 pMax = thr; 80ad2cc: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80ad2d0: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ad2d4: 4b63 ldr r3, [pc, #396] ; (80ad464 ) 80ad2d6: 781b ldrb r3, [r3, #0] 80ad2d8: 3301 adds r3, #1 80ad2da: b2da uxtb r2, r3 80ad2dc: 4b61 ldr r3, [pc, #388] ; (80ad464 ) 80ad2de: 701a strb r2, [r3, #0] if(pMax < 0) { 80ad2e0: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ad2e4: 2b00 cmp r3, #0 80ad2e6: da02 bge.n 80ad2ee pMax = 0; 80ad2e8: 2300 movs r3, #0 80ad2ea: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80ad2ee: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad2f2: 333e adds r3, #62 ; 0x3e 80ad2f4: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80ad2f8: 4b5b ldr r3, [pc, #364] ; (80ad468 ) 80ad2fa: 681b ldr r3, [r3, #0] 80ad2fc: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ad300: 429a cmp r2, r3 80ad302: d12e bne.n 80ad362 if(menupos != Cursor) 80ad304: 4b59 ldr r3, [pc, #356] ; (80ad46c ) 80ad306: 781b ldrb r3, [r3, #0] 80ad308: b2db uxtb r3, r3 80ad30a: 2b06 cmp r3, #6 80ad30c: d004 beq.n 80ad318 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ad30e: 4958 ldr r1, [pc, #352] ; (80ad470 ) 80ad310: 4858 ldr r0, [pc, #352] ; (80ad474 ) 80ad312: f7a7 f97d bl 8054610 80ad316: e003 b.n 80ad320 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ad318: 4955 ldr r1, [pc, #340] ; (80ad470 ) 80ad31a: 4857 ldr r0, [pc, #348] ; (80ad478 ) 80ad31c: f7a7 f978 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ad320: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad324: b298 uxth r0, r3 80ad326: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad32a: b29a uxth r2, r3 80ad32c: 23da movs r3, #218 ; 0xda 80ad32e: 212c movs r1, #44 ; 0x2c 80ad330: f7a7 fba8 bl 8054a84 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80ad334: 494e ldr r1, [pc, #312] ; (80ad470 ) 80ad336: 4851 ldr r0, [pc, #324] ; (80ad47c ) 80ad338: f7a7 f96a bl 8054610 BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80ad33c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad340: b298 uxth r0, r3 80ad342: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad346: b29a uxth r2, r3 80ad348: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad34c: f1c3 03da rsb r3, r3, #218 ; 0xda 80ad350: b29b uxth r3, r3 80ad352: 21db movs r1, #219 ; 0xdb 80ad354: f7a7 fb96 bl 8054a84 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ad358: 4945 ldr r1, [pc, #276] ; (80ad470 ) 80ad35a: 4849 ldr r0, [pc, #292] ; (80ad480 ) 80ad35c: f7a7 f958 bl 8054610 80ad360: e12d b.n 80ad5be BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80ad362: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad366: b298 uxth r0, r3 80ad368: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad36c: b29a uxth r2, r3 80ad36e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad372: f1c3 03da rsb r3, r3, #218 ; 0xda 80ad376: b29b uxth r3, r3 80ad378: 21da movs r1, #218 ; 0xda 80ad37a: f7a7 fb83 bl 8054a84 80ad37e: e11e b.n 80ad5be thr = 157; 80ad380: 239d movs r3, #157 ; 0x9d 80ad382: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80ad386: 4b2d ldr r3, [pc, #180] ; (80ad43c ) 80ad388: 7a9b ldrb r3, [r3, #10] 80ad38a: b2db uxtb r3, r3 80ad38c: 2b01 cmp r3, #1 80ad38e: d179 bne.n 80ad484 for(j = 0; j < 2; j++) 80ad390: 2300 movs r3, #0 80ad392: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ad396: e013 b.n 80ad3c0 LinToLog(&mF[j], &mF[j]); 80ad398: f507 721e add.w r2, r7, #632 ; 0x278 80ad39c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad3a0: 009b lsls r3, r3, #2 80ad3a2: 18d0 adds r0, r2, r3 80ad3a4: f507 721e add.w r2, r7, #632 ; 0x278 80ad3a8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad3ac: 009b lsls r3, r3, #2 80ad3ae: 4413 add r3, r2 80ad3b0: 4619 mov r1, r3 80ad3b2: f7b8 fcc9 bl 8065d48 for(j = 0; j < 2; j++) 80ad3b6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad3ba: 3301 adds r3, #1 80ad3bc: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ad3c0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ad3c4: 2b01 cmp r3, #1 80ad3c6: d9e7 bls.n 80ad398 mF[MAXY] = ((mF[MAXY] - MIN_Y) * ZoomVal) + 2.0f; 80ad3c8: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ad3cc: 4b1f ldr r3, [pc, #124] ; (80ad44c ) 80ad3ce: edd3 7a00 vldr s15, [r3] 80ad3d2: ee37 7a67 vsub.f32 s14, s14, s15 80ad3d6: 4b1e ldr r3, [pc, #120] ; (80ad450 ) 80ad3d8: edd3 7a00 vldr s15, [r3] 80ad3dc: ee67 7a27 vmul.f32 s15, s14, s15 80ad3e0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80ad3e4: ee77 7a87 vadd.f32 s15, s15, s14 80ad3e8: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ad3ec: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad3f0: ed9f 7a18 vldr s14, [pc, #96] ; 80ad454 80ad3f4: eef4 7ac7 vcmpe.f32 s15, s14 80ad3f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad3fc: dd02 ble.n 80ad404 80ad3fe: 4b16 ldr r3, [pc, #88] ; (80ad458 ) 80ad400: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ad404: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad408: ed9f 7a14 vldr s14, [pc, #80] ; 80ad45c 80ad40c: eef4 7ac7 vcmpe.f32 s15, s14 80ad410: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad414: d502 bpl.n 80ad41c 80ad416: 4b12 ldr r3, [pc, #72] ; (80ad460 ) 80ad418: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80ad41c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad420: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80ad424: ee77 7a87 vadd.f32 s15, s15, s14 80ad428: eefd 7ae7 vcvt.s32.f32 s15, s15 80ad42c: edc7 7a01 vstr s15, [r7, #4] 80ad430: 88bb ldrh r3, [r7, #4] 80ad432: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80ad436: e04f b.n 80ad4d8 80ad438: 20020fb8 .word 0x20020fb8 80ad43c: 20023ea8 .word 0x20023ea8 80ad440: 080f398c .word 0x080f398c 80ad444: 20025d66 .word 0x20025d66 80ad448: 64080000 .word 0x64080000 80ad44c: 2002167c .word 0x2002167c 80ad450: 20020998 .word 0x20020998 80ad454: 46fffe00 .word 0x46fffe00 80ad458: 46fffe00 .word 0x46fffe00 80ad45c: c6fffe00 .word 0xc6fffe00 80ad460: c6fffe00 .word 0xc6fffe00 80ad464: 20021696 .word 0x20021696 80ad468: 2002006c .word 0x2002006c 80ad46c: 20020070 .word 0x20020070 80ad470: ff0a0f1f .word 0xff0a0f1f 80ad474: ff808080 .word 0xff808080 80ad478: ffff0000 .word 0xffff0000 80ad47c: ff008000 .word 0xff008000 80ad480: ff26a01f .word 0xff26a01f mF[MAXY] *= ZoomVal; 80ad484: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ad488: 4ba6 ldr r3, [pc, #664] ; (80ad724 ) 80ad48a: edd3 7a00 vldr s15, [r3] 80ad48e: ee67 7a27 vmul.f32 s15, s14, s15 80ad492: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ad496: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad49a: ed9f 7aa3 vldr s14, [pc, #652] ; 80ad728 80ad49e: eef4 7ac7 vcmpe.f32 s15, s14 80ad4a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad4a6: dd02 ble.n 80ad4ae 80ad4a8: 4ba0 ldr r3, [pc, #640] ; (80ad72c ) 80ad4aa: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ad4ae: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad4b2: ed9f 7a9f vldr s14, [pc, #636] ; 80ad730 80ad4b6: eef4 7ac7 vcmpe.f32 s15, s14 80ad4ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad4be: d502 bpl.n 80ad4c6 80ad4c0: 4b9c ldr r3, [pc, #624] ; (80ad734 ) 80ad4c2: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80ad4c6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ad4ca: eefd 7ae7 vcvt.s32.f32 s15, s15 80ad4ce: edc7 7a01 vstr s15, [r7, #4] 80ad4d2: 88bb ldrh r3, [r7, #4] 80ad4d4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80ad4d8: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80ad4dc: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ad4e0: 429a cmp r2, r3 80ad4e2: dd03 ble.n 80ad4ec pMin = thr; 80ad4e4: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80ad4e8: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80ad4ec: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80ad4f0: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ad4f4: 425b negs r3, r3 80ad4f6: 429a cmp r2, r3 80ad4f8: da02 bge.n 80ad500 pMin = 0; 80ad4fa: 2300 movs r3, #0 80ad4fc: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80ad500: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ad504: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ad508: 429a cmp r2, r3 80ad50a: dd09 ble.n 80ad520 pMax = thr; 80ad50c: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80ad510: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ad514: 4b88 ldr r3, [pc, #544] ; (80ad738 ) 80ad516: 781b ldrb r3, [r3, #0] 80ad518: 3301 adds r3, #1 80ad51a: b2da uxtb r2, r3 80ad51c: 4b86 ldr r3, [pc, #536] ; (80ad738 ) 80ad51e: 701a strb r2, [r3, #0] if(pMax < 0) { 80ad520: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ad524: 2b00 cmp r3, #0 80ad526: da02 bge.n 80ad52e pMax = 0; 80ad528: 2300 movs r3, #0 80ad52a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80ad52e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad532: 333e adds r3, #62 ; 0x3e 80ad534: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80ad538: 4b80 ldr r3, [pc, #512] ; (80ad73c ) 80ad53a: 681b ldr r3, [r3, #0] 80ad53c: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ad540: 429a cmp r2, r3 80ad542: d12e bne.n 80ad5a2 if(menupos != Cursor) 80ad544: 4b7e ldr r3, [pc, #504] ; (80ad740 ) 80ad546: 781b ldrb r3, [r3, #0] 80ad548: b2db uxtb r3, r3 80ad54a: 2b06 cmp r3, #6 80ad54c: d004 beq.n 80ad558 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ad54e: 497d ldr r1, [pc, #500] ; (80ad744 ) 80ad550: 487d ldr r0, [pc, #500] ; (80ad748 ) 80ad552: f7a7 f85d bl 8054610 80ad556: e003 b.n 80ad560 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ad558: 497a ldr r1, [pc, #488] ; (80ad744 ) 80ad55a: 487c ldr r0, [pc, #496] ; (80ad74c ) 80ad55c: f7a7 f858 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80ad560: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad564: b298 uxth r0, r3 80ad566: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad56a: b29a uxth r2, r3 80ad56c: 23da movs r3, #218 ; 0xda 80ad56e: 212c movs r1, #44 ; 0x2c 80ad570: f7a7 fa88 bl 8054a84 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80ad574: 4973 ldr r1, [pc, #460] ; (80ad744 ) 80ad576: 4876 ldr r0, [pc, #472] ; (80ad750 ) 80ad578: f7a7 f84a bl 8054610 BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80ad57c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad580: b298 uxth r0, r3 80ad582: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad586: b29a uxth r2, r3 80ad588: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad58c: f1c3 03da rsb r3, r3, #218 ; 0xda 80ad590: b29b uxth r3, r3 80ad592: 21db movs r1, #219 ; 0xdb 80ad594: f7a7 fa76 bl 8054a84 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ad598: 496a ldr r1, [pc, #424] ; (80ad744 ) 80ad59a: 486e ldr r0, [pc, #440] ; (80ad754 ) 80ad59c: f7a7 f838 bl 8054610 80ad5a0: e00d b.n 80ad5be BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80ad5a2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad5a6: b298 uxth r0, r3 80ad5a8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ad5ac: b29a uxth r2, r3 80ad5ae: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad5b2: f1c3 03da rsb r3, r3, #218 ; 0xda 80ad5b6: b29b uxth r3, r3 80ad5b8: 21da movs r1, #218 ; 0xda 80ad5ba: f7a7 fa63 bl 8054a84 if(pMax > Maximum) Maximum = pMax; 80ad5be: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ad5c2: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ad5c6: 429a cmp r2, r3 80ad5c8: dd03 ble.n 80ad5d2 80ad5ca: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ad5ce: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80ad5d2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad5d6: 3301 adds r3, #1 80ad5d8: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ad5dc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ad5e0: 2bff cmp r3, #255 ; 0xff 80ad5e2: f67f ad91 bls.w 80ad108 Maximum = ABS(Maximum); 80ad5e6: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ad5ea: 2b00 cmp r3, #0 80ad5ec: bfb8 it lt 80ad5ee: 425b neglt r3, r3 80ad5f0: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80ad5f4: f001 bfd6 b.w 80af5a4 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 80ad5f8: 4b57 ldr r3, [pc, #348] ; (80ad758 ) 80ad5fa: 781b ldrb r3, [r3, #0] 80ad5fc: b2db uxtb r3, r3 80ad5fe: 2b01 cmp r3, #1 80ad600: d005 beq.n 80ad60e 80ad602: 4b55 ldr r3, [pc, #340] ; (80ad758 ) 80ad604: 781b ldrb r3, [r3, #0] 80ad606: b2db uxtb r3, r3 80ad608: 2b05 cmp r3, #5 80ad60a: f040 8717 bne.w 80ae43c if(READY_TO_SEE) 80ad60e: 4b53 ldr r3, [pc, #332] ; (80ad75c ) 80ad610: 781b ldrb r3, [r3, #0] 80ad612: b2db uxtb r3, r3 80ad614: 2b00 cmp r3, #0 80ad616: f001 87c4 beq.w 80af5a2 if(AUTOZOOM) 80ad61a: 4b51 ldr r3, [pc, #324] ; (80ad760 ) 80ad61c: 781b ldrb r3, [r3, #0] 80ad61e: b2db uxtb r3, r3 80ad620: 2b00 cmp r3, #0 80ad622: f000 81ef beq.w 80ada04 if(pardata.MSH == LOG) 80ad626: 4b4c ldr r3, [pc, #304] ; (80ad758 ) 80ad628: 7a9b ldrb r3, [r3, #10] 80ad62a: b2db uxtb r3, r3 80ad62c: 2b01 cmp r3, #1 80ad62e: f040 80f9 bne.w 80ad824 k = 0; 80ad632: 2300 movs r3, #0 80ad634: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80ad638: 4b4a ldr r3, [pc, #296] ; (80ad764 ) 80ad63a: 881b ldrh r3, [r3, #0] 80ad63c: b29b uxth r3, r3 80ad63e: 461a mov r2, r3 80ad640: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ad644: 4413 add r3, r2 80ad646: 009a lsls r2, r3, #2 80ad648: 4b47 ldr r3, [pc, #284] ; (80ad768 ) 80ad64a: 4413 add r3, r2 80ad64c: 681b ldr r3, [r3, #0] 80ad64e: f8c7 326c str.w r3, [r7, #620] ; 0x26c LinToLog(&f, &f); 80ad652: f507 721b add.w r2, r7, #620 ; 0x26c 80ad656: f507 731b add.w r3, r7, #620 ; 0x26c 80ad65a: 4611 mov r1, r2 80ad65c: 4618 mov r0, r3 80ad65e: f7b8 fb73 bl 8065d48 if(f <= 0.0f) k++; 80ad662: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ad666: eef5 7ac0 vcmpe.f32 s15, #0.0 80ad66a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad66e: d942 bls.n 80ad6f6 else break; 80ad670: bf00 nop arm_max_f32(&ScrA_f32(lX + k), rX-lX-k-1, &max, &idx); 80ad672: 4b3c ldr r3, [pc, #240] ; (80ad764 ) 80ad674: 881b ldrh r3, [r3, #0] 80ad676: b29b uxth r3, r3 80ad678: 461a mov r2, r3 80ad67a: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ad67e: 4413 add r3, r2 80ad680: 009a lsls r2, r3, #2 80ad682: 4b39 ldr r3, [pc, #228] ; (80ad768 ) 80ad684: 4413 add r3, r2 80ad686: 4618 mov r0, r3 80ad688: 4b38 ldr r3, [pc, #224] ; (80ad76c ) 80ad68a: 881b ldrh r3, [r3, #0] 80ad68c: b29b uxth r3, r3 80ad68e: 461a mov r2, r3 80ad690: 4b34 ldr r3, [pc, #208] ; (80ad764 ) 80ad692: 881b ldrh r3, [r3, #0] 80ad694: b29b uxth r3, r3 80ad696: 1ad3 subs r3, r2, r3 80ad698: 461a mov r2, r3 80ad69a: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ad69e: 1ad3 subs r3, r2, r3 80ad6a0: 1e59 subs r1, r3, #1 80ad6a2: f507 731a add.w r3, r7, #616 ; 0x268 80ad6a6: f507 721d add.w r2, r7, #628 ; 0x274 80ad6aa: f020 feb3 bl 80ce414 arm_min_f32(&ScrA_f32(lX + k), rX-lX-k-1, &min, &idx); 80ad6ae: 4b2d ldr r3, [pc, #180] ; (80ad764 ) 80ad6b0: 881b ldrh r3, [r3, #0] 80ad6b2: b29b uxth r3, r3 80ad6b4: 461a mov r2, r3 80ad6b6: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ad6ba: 4413 add r3, r2 80ad6bc: 009a lsls r2, r3, #2 80ad6be: 4b2a ldr r3, [pc, #168] ; (80ad768 ) 80ad6c0: 4413 add r3, r2 80ad6c2: 4618 mov r0, r3 80ad6c4: 4b29 ldr r3, [pc, #164] ; (80ad76c ) 80ad6c6: 881b ldrh r3, [r3, #0] 80ad6c8: b29b uxth r3, r3 80ad6ca: 461a mov r2, r3 80ad6cc: 4b25 ldr r3, [pc, #148] ; (80ad764 ) 80ad6ce: 881b ldrh r3, [r3, #0] 80ad6d0: b29b uxth r3, r3 80ad6d2: 1ad3 subs r3, r2, r3 80ad6d4: 461a mov r2, r3 80ad6d6: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ad6da: 1ad3 subs r3, r2, r3 80ad6dc: 1e59 subs r1, r3, #1 80ad6de: f507 731a add.w r3, r7, #616 ; 0x268 80ad6e2: f507 721c add.w r2, r7, #624 ; 0x270 80ad6e6: f020 fdf9 bl 80ce2dc if(pardata.IIN != VOLTS) 80ad6ea: 4b1b ldr r3, [pc, #108] ; (80ad758 ) 80ad6ec: 799b ldrb r3, [r3, #6] 80ad6ee: b2db uxtb r3, r3 80ad6f0: 2b02 cmp r3, #2 80ad6f2: d03d beq.n 80ad770 80ad6f4: e005 b.n 80ad702 if(f <= 0.0f) k++; 80ad6f6: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ad6fa: 3301 adds r3, #1 80ad6fc: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80ad700: e79a b.n 80ad638 LinToLog(&max, &max); 80ad702: f507 721d add.w r2, r7, #628 ; 0x274 80ad706: f507 731d add.w r3, r7, #628 ; 0x274 80ad70a: 4611 mov r1, r2 80ad70c: 4618 mov r0, r3 80ad70e: f7b8 fb1b bl 8065d48 LinToLog(&min, &min); 80ad712: f507 721c add.w r2, r7, #624 ; 0x270 80ad716: f507 731c add.w r3, r7, #624 ; 0x270 80ad71a: 4611 mov r1, r2 80ad71c: 4618 mov r0, r3 80ad71e: f7b8 fb13 bl 8065d48 80ad722: e039 b.n 80ad798 80ad724: 20020998 .word 0x20020998 80ad728: 46fffe00 .word 0x46fffe00 80ad72c: 46fffe00 .word 0x46fffe00 80ad730: c6fffe00 .word 0xc6fffe00 80ad734: c6fffe00 .word 0xc6fffe00 80ad738: 20021696 .word 0x20021696 80ad73c: 2002006c .word 0x2002006c 80ad740: 20020070 .word 0x20020070 80ad744: ff0a0f1f .word 0xff0a0f1f 80ad748: ff808080 .word 0xff808080 80ad74c: ffff0000 .word 0xffff0000 80ad750: ff008000 .word 0xff008000 80ad754: ff26a01f .word 0xff26a01f 80ad758: 20023ea8 .word 0x20023ea8 80ad75c: 20020dae .word 0x20020dae 80ad760: 20020994 .word 0x20020994 80ad764: 20025d62 .word 0x20025d62 80ad768: 64080000 .word 0x64080000 80ad76c: 20025d68 .word 0x20025d68 LinToLog_mV(&max, &max, pardata.IPR); 80ad770: 4bbd ldr r3, [pc, #756] ; (80ada68 ) 80ad772: 785b ldrb r3, [r3, #1] 80ad774: b2da uxtb r2, r3 80ad776: f507 711d add.w r1, r7, #628 ; 0x274 80ad77a: f507 731d add.w r3, r7, #628 ; 0x274 80ad77e: 4618 mov r0, r3 80ad780: f7b8 fb12 bl 8065da8 LinToLog_mV(&min, &min, pardata.IPR); 80ad784: 4bb8 ldr r3, [pc, #736] ; (80ada68 ) 80ad786: 785b ldrb r3, [r3, #1] 80ad788: b2da uxtb r2, r3 80ad78a: f507 711c add.w r1, r7, #624 ; 0x270 80ad78e: f507 731c add.w r3, r7, #624 ; 0x270 80ad792: 4618 mov r0, r3 80ad794: f7b8 fb08 bl 8065da8 f = max; 80ad798: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80ad79c: f8c7 326c str.w r3, [r7, #620] ; 0x26c if(f <= 0.0f) 80ad7a0: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ad7a4: eef5 7ac0 vcmpe.f32 s15, #0.0 80ad7a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad7ac: d806 bhi.n 80ad7bc f = max = 125.0f; 80ad7ae: 4baf ldr r3, [pc, #700] ; (80ada6c ) 80ad7b0: f8c7 3274 str.w r3, [r7, #628] ; 0x274 80ad7b4: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80ad7b8: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80ad7bc: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80ad7c0: 4aab ldr r2, [pc, #684] ; (80ada70 ) 80ad7c2: 6013 str r3, [r2, #0] ZoomVal = 125.0f / max; 80ad7c4: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80ad7c8: eddf 6aaa vldr s13, [pc, #680] ; 80ada74 80ad7cc: eec6 7a87 vdiv.f32 s15, s13, s14 80ad7d0: 4ba9 ldr r3, [pc, #676] ; (80ada78 ) 80ad7d2: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80ad7d6: 4ba9 ldr r3, [pc, #676] ; (80ada7c ) 80ad7d8: 2200 movs r2, #0 80ad7da: 701a strb r2, [r3, #0] f = max / 125; 80ad7dc: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80ad7e0: eddf 6aa4 vldr s13, [pc, #656] ; 80ada74 80ad7e4: eec7 7a26 vdiv.f32 s15, s14, s13 80ad7e8: edc7 7a9b vstr s15, [r7, #620] ; 0x26c LEGEND[0] = 25 * f; 80ad7ec: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ad7f0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80ad7f4: ee67 7a87 vmul.f32 s15, s15, s14 80ad7f8: 4ba1 ldr r3, [pc, #644] ; (80ada80 ) 80ad7fa: edc3 7a00 vstr s15, [r3] LEGEND[1] = 75 * f; 80ad7fe: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ad802: ed9f 7aa0 vldr s14, [pc, #640] ; 80ada84 80ad806: ee67 7a87 vmul.f32 s15, s15, s14 80ad80a: 4b9d ldr r3, [pc, #628] ; (80ada80 ) 80ad80c: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] = 125 * f; 80ad810: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ad814: ed9f 7a97 vldr s14, [pc, #604] ; 80ada74 80ad818: ee67 7a87 vmul.f32 s15, s15, s14 80ad81c: 4b98 ldr r3, [pc, #608] ; (80ada80 ) 80ad81e: edc3 7a02 vstr s15, [r3, #8] 80ad822: e171 b.n 80adb08 arm_max_f32(&ScrA_f32(lX), rX-lX-1, &max, &idx); 80ad824: 4b98 ldr r3, [pc, #608] ; (80ada88 ) 80ad826: 881b ldrh r3, [r3, #0] 80ad828: b29b uxth r3, r3 80ad82a: 009b lsls r3, r3, #2 80ad82c: 461a mov r2, r3 80ad82e: 4b97 ldr r3, [pc, #604] ; (80ada8c ) 80ad830: 4413 add r3, r2 80ad832: 4618 mov r0, r3 80ad834: 4b96 ldr r3, [pc, #600] ; (80ada90 ) 80ad836: 881b ldrh r3, [r3, #0] 80ad838: b29b uxth r3, r3 80ad83a: 461a mov r2, r3 80ad83c: 4b92 ldr r3, [pc, #584] ; (80ada88 ) 80ad83e: 881b ldrh r3, [r3, #0] 80ad840: b29b uxth r3, r3 80ad842: 1ad3 subs r3, r2, r3 80ad844: 3b01 subs r3, #1 80ad846: 4619 mov r1, r3 80ad848: f507 731a add.w r3, r7, #616 ; 0x268 80ad84c: f507 721d add.w r2, r7, #628 ; 0x274 80ad850: f020 fde0 bl 80ce414 arm_min_f32(&ScrA_f32(lX), rX-lX-1, &min, &idx); 80ad854: 4b8c ldr r3, [pc, #560] ; (80ada88 ) 80ad856: 881b ldrh r3, [r3, #0] 80ad858: b29b uxth r3, r3 80ad85a: 009b lsls r3, r3, #2 80ad85c: 461a mov r2, r3 80ad85e: 4b8b ldr r3, [pc, #556] ; (80ada8c ) 80ad860: 4413 add r3, r2 80ad862: 4618 mov r0, r3 80ad864: 4b8a ldr r3, [pc, #552] ; (80ada90 ) 80ad866: 881b ldrh r3, [r3, #0] 80ad868: b29b uxth r3, r3 80ad86a: 461a mov r2, r3 80ad86c: 4b86 ldr r3, [pc, #536] ; (80ada88 ) 80ad86e: 881b ldrh r3, [r3, #0] 80ad870: b29b uxth r3, r3 80ad872: 1ad3 subs r3, r2, r3 80ad874: 3b01 subs r3, #1 80ad876: 4619 mov r1, r3 80ad878: f507 731a add.w r3, r7, #616 ; 0x268 80ad87c: f507 721c add.w r2, r7, #624 ; 0x270 80ad880: f020 fd2c bl 80ce2dc if(ABS(max) > ABS(min)) f = ABS(max); 80ad884: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ad888: eef5 7ac0 vcmpe.f32 s15, #0.0 80ad88c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad890: dd02 ble.n 80ad898 80ad892: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80ad896: e003 b.n 80ad8a0 80ad898: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ad89c: eeb1 7a67 vneg.f32 s14, s15 80ad8a0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ad8a4: eef5 7ac0 vcmpe.f32 s15, #0.0 80ad8a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad8ac: dd02 ble.n 80ad8b4 80ad8ae: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ad8b2: e003 b.n 80ad8bc 80ad8b4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ad8b8: eef1 7a67 vneg.f32 s15, s15 80ad8bc: eeb4 7ae7 vcmpe.f32 s14, s15 80ad8c0: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad8c4: dd10 ble.n 80ad8e8 80ad8c6: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ad8ca: eef5 7ac0 vcmpe.f32 s15, #0.0 80ad8ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad8d2: dd02 ble.n 80ad8da 80ad8d4: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ad8d8: e003 b.n 80ad8e2 80ad8da: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ad8de: eef1 7a67 vneg.f32 s15, s15 80ad8e2: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80ad8e6: e00f b.n 80ad908 else f = ABS(min); 80ad8e8: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ad8ec: eef5 7ac0 vcmpe.f32 s15, #0.0 80ad8f0: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad8f4: dd02 ble.n 80ad8fc 80ad8f6: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ad8fa: e003 b.n 80ad904 80ad8fc: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ad900: eef1 7a67 vneg.f32 s15, s15 80ad904: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 125.0f / f; 80ad908: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80ad90c: eddf 6a59 vldr s13, [pc, #356] ; 80ada74 80ad910: eec6 7a87 vdiv.f32 s15, s13, s14 80ad914: 4b58 ldr r3, [pc, #352] ; (80ada78 ) 80ad916: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80ad91a: 4b58 ldr r3, [pc, #352] ; (80ada7c ) 80ad91c: 2200 movs r2, #0 80ad91e: 701a strb r2, [r3, #0] f = f / 125; 80ad920: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80ad924: eddf 6a53 vldr s13, [pc, #332] ; 80ada74 80ad928: eec7 7a26 vdiv.f32 s15, s14, s13 80ad92c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c f *= 0.70710678f; 80ad930: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ad934: ed9f 7a57 vldr s14, [pc, #348] ; 80ada94 80ad938: ee67 7a87 vmul.f32 s15, s15, s14 80ad93c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c LEGEND[0] = 25 * f; 80ad940: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ad944: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80ad948: ee67 7a87 vmul.f32 s15, s15, s14 80ad94c: 4b4c ldr r3, [pc, #304] ; (80ada80 ) 80ad94e: edc3 7a00 vstr s15, [r3] LEGEND[1] = 75 * f; 80ad952: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ad956: ed9f 7a4b vldr s14, [pc, #300] ; 80ada84 80ad95a: ee67 7a87 vmul.f32 s15, s15, s14 80ad95e: 4b48 ldr r3, [pc, #288] ; (80ada80 ) 80ad960: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] = 125 * f; 80ad964: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ad968: ed9f 7a42 vldr s14, [pc, #264] ; 80ada74 80ad96c: ee67 7a87 vmul.f32 s15, s15, s14 80ad970: 4b43 ldr r3, [pc, #268] ; (80ada80 ) 80ad972: edc3 7a02 vstr s15, [r3, #8] if(pardata.WIN == HANN) 80ad976: 4b3c ldr r3, [pc, #240] ; (80ada68 ) 80ad978: 7a5b ldrb r3, [r3, #9] 80ad97a: b2db uxtb r3, r3 80ad97c: 2b01 cmp r3, #1 80ad97e: d117 bne.n 80ad9b0 LEGEND[0] *= 2.0f; 80ad980: 4b3f ldr r3, [pc, #252] ; (80ada80 ) 80ad982: edd3 7a00 vldr s15, [r3] 80ad986: ee77 7aa7 vadd.f32 s15, s15, s15 80ad98a: 4b3d ldr r3, [pc, #244] ; (80ada80 ) 80ad98c: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 2.0f; 80ad990: 4b3b ldr r3, [pc, #236] ; (80ada80 ) 80ad992: edd3 7a01 vldr s15, [r3, #4] 80ad996: ee77 7aa7 vadd.f32 s15, s15, s15 80ad99a: 4b39 ldr r3, [pc, #228] ; (80ada80 ) 80ad99c: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 2.0f; 80ad9a0: 4b37 ldr r3, [pc, #220] ; (80ada80 ) 80ad9a2: edd3 7a02 vldr s15, [r3, #8] 80ad9a6: ee77 7aa7 vadd.f32 s15, s15, s15 80ad9aa: 4b35 ldr r3, [pc, #212] ; (80ada80 ) 80ad9ac: edc3 7a02 vstr s15, [r3, #8] if(pardata.IVS[pardata.IPR] == PEAK) 80ad9b0: 4b2d ldr r3, [pc, #180] ; (80ada68 ) 80ad9b2: 785b ldrb r3, [r3, #1] 80ad9b4: b2db uxtb r3, r3 80ad9b6: 461a mov r2, r3 80ad9b8: 4b2b ldr r3, [pc, #172] ; (80ada68 ) 80ad9ba: 4413 add r3, r2 80ad9bc: 789b ldrb r3, [r3, #2] 80ad9be: b2db uxtb r3, r3 80ad9c0: 2b00 cmp r3, #0 80ad9c2: f040 80a1 bne.w 80adb08 LEGEND[0] *= 1.414213562373f; 80ad9c6: 4b2e ldr r3, [pc, #184] ; (80ada80 ) 80ad9c8: edd3 7a00 vldr s15, [r3] 80ad9cc: ed9f 7a32 vldr s14, [pc, #200] ; 80ada98 80ad9d0: ee67 7a87 vmul.f32 s15, s15, s14 80ad9d4: 4b2a ldr r3, [pc, #168] ; (80ada80 ) 80ad9d6: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 1.414213562373f; 80ad9da: 4b29 ldr r3, [pc, #164] ; (80ada80 ) 80ad9dc: edd3 7a01 vldr s15, [r3, #4] 80ad9e0: ed9f 7a2d vldr s14, [pc, #180] ; 80ada98 80ad9e4: ee67 7a87 vmul.f32 s15, s15, s14 80ad9e8: 4b25 ldr r3, [pc, #148] ; (80ada80 ) 80ad9ea: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 1.414213562373f; 80ad9ee: 4b24 ldr r3, [pc, #144] ; (80ada80 ) 80ad9f0: edd3 7a02 vldr s15, [r3, #8] 80ad9f4: ed9f 7a28 vldr s14, [pc, #160] ; 80ada98 80ad9f8: ee67 7a87 vmul.f32 s15, s15, s14 80ad9fc: 4b20 ldr r3, [pc, #128] ; (80ada80 ) 80ad9fe: edc3 7a02 vstr s15, [r3, #8] 80ada02: e081 b.n 80adb08 if(ZOOM_IN) 80ada04: 4b25 ldr r3, [pc, #148] ; (80ada9c ) 80ada06: 781b ldrb r3, [r3, #0] 80ada08: b2db uxtb r3, r3 80ada0a: 2b00 cmp r3, #0 80ada0c: d04c beq.n 80adaa8 ZOOM_IN = false; 80ada0e: 4b23 ldr r3, [pc, #140] ; (80ada9c ) 80ada10: 2200 movs r2, #0 80ada12: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80ada14: 4b18 ldr r3, [pc, #96] ; (80ada78 ) 80ada16: edd3 7a00 vldr s15, [r3] 80ada1a: ed9f 7a21 vldr s14, [pc, #132] ; 80adaa0 80ada1e: ee67 7a87 vmul.f32 s15, s15, s14 80ada22: 4b15 ldr r3, [pc, #84] ; (80ada78 ) 80ada24: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 0.5000011f; 80ada28: 4b15 ldr r3, [pc, #84] ; (80ada80 ) 80ada2a: edd3 7a00 vldr s15, [r3] 80ada2e: ed9f 7a1d vldr s14, [pc, #116] ; 80adaa4 80ada32: ee67 7a87 vmul.f32 s15, s15, s14 80ada36: 4b12 ldr r3, [pc, #72] ; (80ada80 ) 80ada38: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 0.5000011f; 80ada3c: 4b10 ldr r3, [pc, #64] ; (80ada80 ) 80ada3e: edd3 7a01 vldr s15, [r3, #4] 80ada42: ed9f 7a18 vldr s14, [pc, #96] ; 80adaa4 80ada46: ee67 7a87 vmul.f32 s15, s15, s14 80ada4a: 4b0d ldr r3, [pc, #52] ; (80ada80 ) 80ada4c: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 0.5000011f; 80ada50: 4b0b ldr r3, [pc, #44] ; (80ada80 ) 80ada52: edd3 7a02 vldr s15, [r3, #8] 80ada56: ed9f 7a13 vldr s14, [pc, #76] ; 80adaa4 80ada5a: ee67 7a87 vmul.f32 s15, s15, s14 80ada5e: 4b08 ldr r3, [pc, #32] ; (80ada80 ) 80ada60: edc3 7a02 vstr s15, [r3, #8] 80ada64: e050 b.n 80adb08 80ada66: bf00 nop 80ada68: 20023ea8 .word 0x20023ea8 80ada6c: 42fa0000 .word 0x42fa0000 80ada70: 2002167c .word 0x2002167c 80ada74: 42fa0000 .word 0x42fa0000 80ada78: 20020998 .word 0x20020998 80ada7c: 20020994 .word 0x20020994 80ada80: 200685fc .word 0x200685fc 80ada84: 42960000 .word 0x42960000 80ada88: 20025d62 .word 0x20025d62 80ada8c: 64080000 .word 0x64080000 80ada90: 20025d68 .word 0x20025d68 80ada94: 3f3504f3 .word 0x3f3504f3 80ada98: 3fb504f3 .word 0x3fb504f3 80ada9c: 20020fad .word 0x20020fad 80adaa0: 40000005 .word 0x40000005 80adaa4: 3f000012 .word 0x3f000012 if(ZOOM_OUT) 80adaa8: 4bc9 ldr r3, [pc, #804] ; (80addd0 ) 80adaaa: 781b ldrb r3, [r3, #0] 80adaac: b2db uxtb r3, r3 80adaae: 2b00 cmp r3, #0 80adab0: d02a beq.n 80adb08 ZOOM_OUT = false; 80adab2: 4bc7 ldr r3, [pc, #796] ; (80addd0 ) 80adab4: 2200 movs r2, #0 80adab6: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80adab8: 4bc6 ldr r3, [pc, #792] ; (80addd4 ) 80adaba: edd3 7a00 vldr s15, [r3] 80adabe: ed9f 7ac6 vldr s14, [pc, #792] ; 80addd8 80adac2: ee67 7a87 vmul.f32 s15, s15, s14 80adac6: 4bc3 ldr r3, [pc, #780] ; (80addd4 ) 80adac8: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 2.0000011f; 80adacc: 4bc3 ldr r3, [pc, #780] ; (80adddc ) 80adace: edd3 7a00 vldr s15, [r3] 80adad2: ed9f 7ac3 vldr s14, [pc, #780] ; 80adde0 80adad6: ee67 7a87 vmul.f32 s15, s15, s14 80adada: 4bc0 ldr r3, [pc, #768] ; (80adddc ) 80adadc: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 2.0000011f; 80adae0: 4bbe ldr r3, [pc, #760] ; (80adddc ) 80adae2: edd3 7a01 vldr s15, [r3, #4] 80adae6: ed9f 7abe vldr s14, [pc, #760] ; 80adde0 80adaea: ee67 7a87 vmul.f32 s15, s15, s14 80adaee: 4bbb ldr r3, [pc, #748] ; (80adddc ) 80adaf0: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 2.0000011f; 80adaf4: 4bb9 ldr r3, [pc, #740] ; (80adddc ) 80adaf6: edd3 7a02 vldr s15, [r3, #8] 80adafa: ed9f 7ab9 vldr s14, [pc, #740] ; 80adde0 80adafe: ee67 7a87 vmul.f32 s15, s15, s14 80adb02: 4bb6 ldr r3, [pc, #728] ; (80adddc ) 80adb04: edc3 7a02 vstr s15, [r3, #8] NumOverdrives = 0; 80adb08: 4bb6 ldr r3, [pc, #728] ; (80adde4 ) 80adb0a: 2200 movs r2, #0 80adb0c: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80adb0e: 49b6 ldr r1, [pc, #728] ; (80adde8 ) 80adb10: 48b6 ldr r0, [pc, #728] ; (80addec ) 80adb12: f7a6 fd7d bl 8054610 for(i = 0; i < 256; i++) 80adb16: 2300 movs r3, #0 80adb18: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80adb1c: e2a8 b.n 80ae070 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80adb1e: 4bb4 ldr r3, [pc, #720] ; (80addf0 ) 80adb20: 781b ldrb r3, [r3, #0] 80adb22: b2db uxtb r3, r3 80adb24: 4618 mov r0, r3 80adb26: 4bb3 ldr r3, [pc, #716] ; (80addf4 ) 80adb28: 79db ldrb r3, [r3, #7] 80adb2a: b2db uxtb r3, r3 80adb2c: 4619 mov r1, r3 80adb2e: 4ab2 ldr r2, [pc, #712] ; (80addf8 ) 80adb30: 0083 lsls r3, r0, #2 80adb32: 4413 add r3, r2 80adb34: 440b add r3, r1 80adb36: 781b ldrb r3, [r3, #0] 80adb38: 461a mov r2, r3 80adb3a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80adb3e: fb03 f302 mul.w r3, r3, r2 80adb42: 4aae ldr r2, [pc, #696] ; (80addfc ) 80adb44: 8812 ldrh r2, [r2, #0] 80adb46: b292 uxth r2, r2 80adb48: 4413 add r3, r2 80adb4a: 009a lsls r2, r3, #2 80adb4c: 4bac ldr r3, [pc, #688] ; (80ade00 ) 80adb4e: 4413 add r3, r2 80adb50: 461c mov r4, r3 80adb52: 4ba7 ldr r3, [pc, #668] ; (80addf0 ) 80adb54: 781b ldrb r3, [r3, #0] 80adb56: b2db uxtb r3, r3 80adb58: 4618 mov r0, r3 80adb5a: 4ba6 ldr r3, [pc, #664] ; (80addf4 ) 80adb5c: 79db ldrb r3, [r3, #7] 80adb5e: b2db uxtb r3, r3 80adb60: 4619 mov r1, r3 80adb62: 4aa5 ldr r2, [pc, #660] ; (80addf8 ) 80adb64: 0083 lsls r3, r0, #2 80adb66: 4413 add r3, r2 80adb68: 440b add r3, r1 80adb6a: 781b ldrb r3, [r3, #0] 80adb6c: 4618 mov r0, r3 80adb6e: f507 711a add.w r1, r7, #616 ; 0x268 80adb72: f507 731e add.w r3, r7, #632 ; 0x278 80adb76: 1d1a adds r2, r3, #4 80adb78: 460b mov r3, r1 80adb7a: 4601 mov r1, r0 80adb7c: 4620 mov r0, r4 80adb7e: f020 fc49 bl 80ce414 if(avgSPC[ViewLevel][pardata.LNE] == 1) 80adb82: 4b9b ldr r3, [pc, #620] ; (80addf0 ) 80adb84: 781b ldrb r3, [r3, #0] 80adb86: b2db uxtb r3, r3 80adb88: 4618 mov r0, r3 80adb8a: 4b9a ldr r3, [pc, #616] ; (80addf4 ) 80adb8c: 79db ldrb r3, [r3, #7] 80adb8e: b2db uxtb r3, r3 80adb90: 4619 mov r1, r3 80adb92: 4a99 ldr r2, [pc, #612] ; (80addf8 ) 80adb94: 0083 lsls r3, r0, #2 80adb96: 4413 add r3, r2 80adb98: 440b add r3, r1 80adb9a: 781b ldrb r3, [r3, #0] 80adb9c: 2b01 cmp r3, #1 80adb9e: f040 8143 bne.w 80ade28 thr = 157; 80adba2: 239d movs r3, #157 ; 0x9d 80adba4: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80adba8: 4b92 ldr r3, [pc, #584] ; (80addf4 ) 80adbaa: 7a9b ldrb r3, [r3, #10] 80adbac: b2db uxtb r3, r3 80adbae: 2b01 cmp r3, #1 80adbb0: d16f bne.n 80adc92 if(pardata.IIN != VOLTS) 80adbb2: 4b90 ldr r3, [pc, #576] ; (80addf4 ) 80adbb4: 799b ldrb r3, [r3, #6] 80adbb6: b2db uxtb r3, r3 80adbb8: 2b02 cmp r3, #2 80adbba: d01c beq.n 80adbf6 for(j = 0; j < 2; j++) 80adbbc: 2300 movs r3, #0 80adbbe: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80adbc2: e013 b.n 80adbec LinToLog(&mF[j], &mF[j]); 80adbc4: f507 721e add.w r2, r7, #632 ; 0x278 80adbc8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adbcc: 009b lsls r3, r3, #2 80adbce: 18d0 adds r0, r2, r3 80adbd0: f507 721e add.w r2, r7, #632 ; 0x278 80adbd4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adbd8: 009b lsls r3, r3, #2 80adbda: 4413 add r3, r2 80adbdc: 4619 mov r1, r3 80adbde: f7b8 f8b3 bl 8065d48 for(j = 0; j < 2; j++) 80adbe2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adbe6: 3301 adds r3, #1 80adbe8: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80adbec: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adbf0: 2b01 cmp r3, #1 80adbf2: d9e7 bls.n 80adbc4 80adbf4: e01e b.n 80adc34 for(j = 0; j < 2; j++) 80adbf6: 2300 movs r3, #0 80adbf8: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80adbfc: e016 b.n 80adc2c LinToLog_mV(&mF[j], &mF[j], pardata.IPR); 80adbfe: f507 721e add.w r2, r7, #632 ; 0x278 80adc02: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adc06: 009b lsls r3, r3, #2 80adc08: 18d0 adds r0, r2, r3 80adc0a: f507 721e add.w r2, r7, #632 ; 0x278 80adc0e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adc12: 009b lsls r3, r3, #2 80adc14: 18d1 adds r1, r2, r3 80adc16: 4b77 ldr r3, [pc, #476] ; (80addf4 ) 80adc18: 785b ldrb r3, [r3, #1] 80adc1a: b2db uxtb r3, r3 80adc1c: 461a mov r2, r3 80adc1e: f7b8 f8c3 bl 8065da8 for(j = 0; j < 2; j++) 80adc22: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adc26: 3301 adds r3, #1 80adc28: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80adc2c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adc30: 2b01 cmp r3, #1 80adc32: d9e4 bls.n 80adbfe mF[MAXY] *= ZoomVal; 80adc34: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80adc38: 4b66 ldr r3, [pc, #408] ; (80addd4 ) 80adc3a: edd3 7a00 vldr s15, [r3] 80adc3e: ee67 7a27 vmul.f32 s15, s14, s15 80adc42: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80adc46: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80adc4a: ed9f 7a6e vldr s14, [pc, #440] ; 80ade04 80adc4e: eef4 7ac7 vcmpe.f32 s15, s14 80adc52: eef1 fa10 vmrs APSR_nzcv, fpscr 80adc56: dd02 ble.n 80adc5e 80adc58: 4b6b ldr r3, [pc, #428] ; (80ade08 ) 80adc5a: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80adc5e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80adc62: ed9f 7a6a vldr s14, [pc, #424] ; 80ade0c 80adc66: eef4 7ac7 vcmpe.f32 s15, s14 80adc6a: eef1 fa10 vmrs APSR_nzcv, fpscr 80adc6e: d502 bpl.n 80adc76 80adc70: 4b67 ldr r3, [pc, #412] ; (80ade10 ) 80adc72: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80adc76: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80adc7a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80adc7e: ee77 7a87 vadd.f32 s15, s15, s14 80adc82: eefd 7ae7 vcvt.s32.f32 s15, s15 80adc86: edc7 7a01 vstr s15, [r7, #4] 80adc8a: 88bb ldrh r3, [r7, #4] 80adc8c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80adc90: e029 b.n 80adce6 mF[MAXY] *= ZoomVal; 80adc92: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80adc96: 4b4f ldr r3, [pc, #316] ; (80addd4 ) 80adc98: edd3 7a00 vldr s15, [r3] 80adc9c: ee67 7a27 vmul.f32 s15, s14, s15 80adca0: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80adca4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80adca8: ed9f 7a56 vldr s14, [pc, #344] ; 80ade04 80adcac: eef4 7ac7 vcmpe.f32 s15, s14 80adcb0: eef1 fa10 vmrs APSR_nzcv, fpscr 80adcb4: dd02 ble.n 80adcbc 80adcb6: 4b54 ldr r3, [pc, #336] ; (80ade08 ) 80adcb8: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80adcbc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80adcc0: ed9f 7a52 vldr s14, [pc, #328] ; 80ade0c 80adcc4: eef4 7ac7 vcmpe.f32 s15, s14 80adcc8: eef1 fa10 vmrs APSR_nzcv, fpscr 80adccc: d502 bpl.n 80adcd4 80adcce: 4b50 ldr r3, [pc, #320] ; (80ade10 ) 80adcd0: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80adcd4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80adcd8: eefd 7ae7 vcvt.s32.f32 s15, s15 80adcdc: edc7 7a01 vstr s15, [r7, #4] 80adce0: 88bb ldrh r3, [r7, #4] 80adce2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80adce6: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80adcea: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80adcee: 429a cmp r2, r3 80adcf0: dd03 ble.n 80adcfa pMin = thr; 80adcf2: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80adcf6: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80adcfa: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80adcfe: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80add02: 425b negs r3, r3 80add04: 429a cmp r2, r3 80add06: da02 bge.n 80add0e pMin = 0; 80add08: 2300 movs r3, #0 80add0a: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80add0e: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80add12: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80add16: 429a cmp r2, r3 80add18: dd09 ble.n 80add2e pMax = thr; 80add1a: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80add1e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80add22: 4b30 ldr r3, [pc, #192] ; (80adde4 ) 80add24: 781b ldrb r3, [r3, #0] 80add26: 3301 adds r3, #1 80add28: b2da uxtb r2, r3 80add2a: 4b2e ldr r3, [pc, #184] ; (80adde4 ) 80add2c: 701a strb r2, [r3, #0] if(pMax < 0) { 80add2e: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80add32: 2b00 cmp r3, #0 80add34: da02 bge.n 80add3c pMax = 0; 80add36: 2300 movs r3, #0 80add38: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80add3c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80add40: 333e adds r3, #62 ; 0x3e 80add42: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80add46: 4b33 ldr r3, [pc, #204] ; (80ade14 ) 80add48: 681b ldr r3, [r3, #0] 80add4a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80add4e: 429a cmp r2, r3 80add50: d12e bne.n 80addb0 if(menupos != Cursor) 80add52: 4b31 ldr r3, [pc, #196] ; (80ade18 ) 80add54: 781b ldrb r3, [r3, #0] 80add56: b2db uxtb r3, r3 80add58: 2b06 cmp r3, #6 80add5a: d004 beq.n 80add66 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80add5c: 4922 ldr r1, [pc, #136] ; (80adde8 ) 80add5e: 482f ldr r0, [pc, #188] ; (80ade1c ) 80add60: f7a6 fc56 bl 8054610 80add64: e003 b.n 80add6e else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80add66: 4920 ldr r1, [pc, #128] ; (80adde8 ) 80add68: 482d ldr r0, [pc, #180] ; (80ade20 ) 80add6a: f7a6 fc51 bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80add6e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80add72: b298 uxth r0, r3 80add74: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80add78: b29a uxth r2, r3 80add7a: 23da movs r3, #218 ; 0xda 80add7c: 212c movs r1, #44 ; 0x2c 80add7e: f7a6 fe81 bl 8054a84 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80add82: 4919 ldr r1, [pc, #100] ; (80adde8 ) 80add84: 4827 ldr r0, [pc, #156] ; (80ade24 ) 80add86: f7a6 fc43 bl 8054610 BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80add8a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80add8e: b298 uxth r0, r3 80add90: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80add94: b29a uxth r2, r3 80add96: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80add9a: f1c3 03da rsb r3, r3, #218 ; 0xda 80add9e: b29b uxth r3, r3 80adda0: 21db movs r1, #219 ; 0xdb 80adda2: f7a6 fe6f bl 8054a84 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80adda6: 4910 ldr r1, [pc, #64] ; (80adde8 ) 80adda8: 4810 ldr r0, [pc, #64] ; (80addec ) 80addaa: f7a6 fc31 bl 8054610 80addae: e150 b.n 80ae052 BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80addb0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80addb4: b298 uxth r0, r3 80addb6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80addba: b29a uxth r2, r3 80addbc: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80addc0: f1c3 03da rsb r3, r3, #218 ; 0xda 80addc4: b29b uxth r3, r3 80addc6: 21da movs r1, #218 ; 0xda 80addc8: f7a6 fe5c bl 8054a84 80addcc: e141 b.n 80ae052 80addce: bf00 nop 80addd0: 20020fac .word 0x20020fac 80addd4: 20020998 .word 0x20020998 80addd8: 3f000012 .word 0x3f000012 80adddc: 200685fc .word 0x200685fc 80adde0: 40000005 .word 0x40000005 80adde4: 20021696 .word 0x20021696 80adde8: ff0a0f1f .word 0xff0a0f1f 80addec: ff26a01f .word 0xff26a01f 80addf0: 20020fb8 .word 0x20020fb8 80addf4: 20023ea8 .word 0x20023ea8 80addf8: 080f398c .word 0x080f398c 80addfc: 20025d66 .word 0x20025d66 80ade00: 64080000 .word 0x64080000 80ade04: 46fffe00 .word 0x46fffe00 80ade08: 46fffe00 .word 0x46fffe00 80ade0c: c6fffe00 .word 0xc6fffe00 80ade10: c6fffe00 .word 0xc6fffe00 80ade14: 2002006c .word 0x2002006c 80ade18: 20020070 .word 0x20020070 80ade1c: ff808080 .word 0xff808080 80ade20: ffff0000 .word 0xffff0000 80ade24: ff008000 .word 0xff008000 thr = 157; 80ade28: 239d movs r3, #157 ; 0x9d 80ade2a: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80ade2e: 4bca ldr r3, [pc, #808] ; (80ae158 ) 80ade30: 7a9b ldrb r3, [r3, #10] 80ade32: b2db uxtb r3, r3 80ade34: 2b01 cmp r3, #1 80ade36: d16f bne.n 80adf18 if(pardata.IIN != VOLTS) 80ade38: 4bc7 ldr r3, [pc, #796] ; (80ae158 ) 80ade3a: 799b ldrb r3, [r3, #6] 80ade3c: b2db uxtb r3, r3 80ade3e: 2b02 cmp r3, #2 80ade40: d01c beq.n 80ade7c for(j = 0; j < 2; j++) 80ade42: 2300 movs r3, #0 80ade44: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ade48: e013 b.n 80ade72 LinToLog(&mF[j], &mF[j]); 80ade4a: f507 721e add.w r2, r7, #632 ; 0x278 80ade4e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ade52: 009b lsls r3, r3, #2 80ade54: 18d0 adds r0, r2, r3 80ade56: f507 721e add.w r2, r7, #632 ; 0x278 80ade5a: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ade5e: 009b lsls r3, r3, #2 80ade60: 4413 add r3, r2 80ade62: 4619 mov r1, r3 80ade64: f7b7 ff70 bl 8065d48 for(j = 0; j < 2; j++) 80ade68: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ade6c: 3301 adds r3, #1 80ade6e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ade72: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ade76: 2b01 cmp r3, #1 80ade78: d9e7 bls.n 80ade4a 80ade7a: e01e b.n 80adeba for(j = 0; j < 2; j++) 80ade7c: 2300 movs r3, #0 80ade7e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ade82: e016 b.n 80adeb2 LinToLog_mV(&mF[j], &mF[j], pardata.IPR); 80ade84: f507 721e add.w r2, r7, #632 ; 0x278 80ade88: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ade8c: 009b lsls r3, r3, #2 80ade8e: 18d0 adds r0, r2, r3 80ade90: f507 721e add.w r2, r7, #632 ; 0x278 80ade94: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ade98: 009b lsls r3, r3, #2 80ade9a: 18d1 adds r1, r2, r3 80ade9c: 4bae ldr r3, [pc, #696] ; (80ae158 ) 80ade9e: 785b ldrb r3, [r3, #1] 80adea0: b2db uxtb r3, r3 80adea2: 461a mov r2, r3 80adea4: f7b7 ff80 bl 8065da8 for(j = 0; j < 2; j++) 80adea8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adeac: 3301 adds r3, #1 80adeae: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80adeb2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80adeb6: 2b01 cmp r3, #1 80adeb8: d9e4 bls.n 80ade84 mF[MAXY] *= ZoomVal; 80adeba: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80adebe: 4ba7 ldr r3, [pc, #668] ; (80ae15c ) 80adec0: edd3 7a00 vldr s15, [r3] 80adec4: ee67 7a27 vmul.f32 s15, s14, s15 80adec8: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80adecc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aded0: ed9f 7aa3 vldr s14, [pc, #652] ; 80ae160 80aded4: eef4 7ac7 vcmpe.f32 s15, s14 80aded8: eef1 fa10 vmrs APSR_nzcv, fpscr 80adedc: dd02 ble.n 80adee4 80adede: 4ba1 ldr r3, [pc, #644] ; (80ae164 ) 80adee0: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80adee4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80adee8: ed9f 7a9f vldr s14, [pc, #636] ; 80ae168 80adeec: eef4 7ac7 vcmpe.f32 s15, s14 80adef0: eef1 fa10 vmrs APSR_nzcv, fpscr 80adef4: d502 bpl.n 80adefc 80adef6: 4b9d ldr r3, [pc, #628] ; (80ae16c ) 80adef8: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80adefc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80adf00: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80adf04: ee77 7a87 vadd.f32 s15, s15, s14 80adf08: eefd 7ae7 vcvt.s32.f32 s15, s15 80adf0c: edc7 7a01 vstr s15, [r7, #4] 80adf10: 88bb ldrh r3, [r7, #4] 80adf12: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80adf16: e029 b.n 80adf6c mF[MAXY] *= ZoomVal; 80adf18: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80adf1c: 4b8f ldr r3, [pc, #572] ; (80ae15c ) 80adf1e: edd3 7a00 vldr s15, [r3] 80adf22: ee67 7a27 vmul.f32 s15, s14, s15 80adf26: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80adf2a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80adf2e: ed9f 7a8c vldr s14, [pc, #560] ; 80ae160 80adf32: eef4 7ac7 vcmpe.f32 s15, s14 80adf36: eef1 fa10 vmrs APSR_nzcv, fpscr 80adf3a: dd02 ble.n 80adf42 80adf3c: 4b89 ldr r3, [pc, #548] ; (80ae164 ) 80adf3e: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80adf42: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80adf46: ed9f 7a88 vldr s14, [pc, #544] ; 80ae168 80adf4a: eef4 7ac7 vcmpe.f32 s15, s14 80adf4e: eef1 fa10 vmrs APSR_nzcv, fpscr 80adf52: d502 bpl.n 80adf5a 80adf54: 4b85 ldr r3, [pc, #532] ; (80ae16c ) 80adf56: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80adf5a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80adf5e: eefd 7ae7 vcvt.s32.f32 s15, s15 80adf62: edc7 7a01 vstr s15, [r7, #4] 80adf66: 88bb ldrh r3, [r7, #4] 80adf68: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80adf6c: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80adf70: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80adf74: 429a cmp r2, r3 80adf76: dd03 ble.n 80adf80 pMin = thr; 80adf78: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80adf7c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80adf80: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80adf84: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80adf88: 425b negs r3, r3 80adf8a: 429a cmp r2, r3 80adf8c: da02 bge.n 80adf94 pMin = 0; 80adf8e: 2300 movs r3, #0 80adf90: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80adf94: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80adf98: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80adf9c: 429a cmp r2, r3 80adf9e: dd09 ble.n 80adfb4 pMax = thr; 80adfa0: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80adfa4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80adfa8: 4b71 ldr r3, [pc, #452] ; (80ae170 ) 80adfaa: 781b ldrb r3, [r3, #0] 80adfac: 3301 adds r3, #1 80adfae: b2da uxtb r2, r3 80adfb0: 4b6f ldr r3, [pc, #444] ; (80ae170 ) 80adfb2: 701a strb r2, [r3, #0] if(pMax < 0) { 80adfb4: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80adfb8: 2b00 cmp r3, #0 80adfba: da02 bge.n 80adfc2 pMax = 0; 80adfbc: 2300 movs r3, #0 80adfbe: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80adfc2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80adfc6: 333e adds r3, #62 ; 0x3e 80adfc8: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80adfcc: 4b69 ldr r3, [pc, #420] ; (80ae174 ) 80adfce: 681b ldr r3, [r3, #0] 80adfd0: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80adfd4: 429a cmp r2, r3 80adfd6: d12e bne.n 80ae036 if(menupos != Cursor) 80adfd8: 4b67 ldr r3, [pc, #412] ; (80ae178 ) 80adfda: 781b ldrb r3, [r3, #0] 80adfdc: b2db uxtb r3, r3 80adfde: 2b06 cmp r3, #6 80adfe0: d004 beq.n 80adfec LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80adfe2: 4966 ldr r1, [pc, #408] ; (80ae17c ) 80adfe4: 4866 ldr r0, [pc, #408] ; (80ae180 ) 80adfe6: f7a6 fb13 bl 8054610 80adfea: e003 b.n 80adff4 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80adfec: 4963 ldr r1, [pc, #396] ; (80ae17c ) 80adfee: 4865 ldr r0, [pc, #404] ; (80ae184 ) 80adff0: f7a6 fb0e bl 8054610 BSP_LCD_DrawLine(x, 44, x, 218); 80adff4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80adff8: b298 uxth r0, r3 80adffa: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80adffe: b29a uxth r2, r3 80ae000: 23da movs r3, #218 ; 0xda 80ae002: 212c movs r1, #44 ; 0x2c 80ae004: f7a6 fd3e bl 8054a84 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80ae008: 495c ldr r1, [pc, #368] ; (80ae17c ) 80ae00a: 485f ldr r0, [pc, #380] ; (80ae188 ) 80ae00c: f7a6 fb00 bl 8054610 BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80ae010: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae014: b298 uxth r0, r3 80ae016: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae01a: b29a uxth r2, r3 80ae01c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae020: f1c3 03da rsb r3, r3, #218 ; 0xda 80ae024: b29b uxth r3, r3 80ae026: 21db movs r1, #219 ; 0xdb 80ae028: f7a6 fd2c bl 8054a84 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ae02c: 4953 ldr r1, [pc, #332] ; (80ae17c ) 80ae02e: 4857 ldr r0, [pc, #348] ; (80ae18c ) 80ae030: f7a6 faee bl 8054610 80ae034: e00d b.n 80ae052 BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80ae036: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae03a: b298 uxth r0, r3 80ae03c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae040: b29a uxth r2, r3 80ae042: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae046: f1c3 03da rsb r3, r3, #218 ; 0xda 80ae04a: b29b uxth r3, r3 80ae04c: 21da movs r1, #218 ; 0xda 80ae04e: f7a6 fd19 bl 8054a84 if(pMax > Maximum) Maximum = pMax; 80ae052: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ae056: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ae05a: 429a cmp r2, r3 80ae05c: dd03 ble.n 80ae066 80ae05e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae062: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80ae066: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ae06a: 3301 adds r3, #1 80ae06c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ae070: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ae074: 2bff cmp r3, #255 ; 0xff 80ae076: f67f ad52 bls.w 80adb1e BSP_LCD_SetFont(&Font8); 80ae07a: 4845 ldr r0, [pc, #276] ; (80ae190 ) 80ae07c: f7a6 fb04 bl 8054688 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80ae080: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80ae084: 483e ldr r0, [pc, #248] ; (80ae180 ) 80ae086: f7a6 fac3 bl 8054610 if(ABS(LEGEND[0]) == 0.0f) { mmm = -1; } 80ae08a: 4b42 ldr r3, [pc, #264] ; (80ae194 ) 80ae08c: edd3 7a00 vldr s15, [r3] 80ae090: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae094: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae098: dd0b ble.n 80ae0b2 80ae09a: 4b3e ldr r3, [pc, #248] ; (80ae194 ) 80ae09c: edd3 7a00 vldr s15, [r3] 80ae0a0: eef5 7a40 vcmp.f32 s15, #0.0 80ae0a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae0a8: bf0c ite eq 80ae0aa: 2301 moveq r3, #1 80ae0ac: 2300 movne r3, #0 80ae0ae: b2db uxtb r3, r3 80ae0b0: e00a b.n 80ae0c8 80ae0b2: 4b38 ldr r3, [pc, #224] ; (80ae194 ) 80ae0b4: edd3 7a00 vldr s15, [r3] 80ae0b8: eef5 7a40 vcmp.f32 s15, #0.0 80ae0bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae0c0: bf0c ite eq 80ae0c2: 2301 moveq r3, #1 80ae0c4: 2300 movne r3, #0 80ae0c6: b2db uxtb r3, r3 80ae0c8: 2b00 cmp r3, #0 80ae0ca: d003 beq.n 80ae0d4 80ae0cc: 23ff movs r3, #255 ; 0xff 80ae0ce: f887 329f strb.w r3, [r7, #671] ; 0x29f 80ae0d2: e079 b.n 80ae1c8 else if(ABS(LEGEND[0]) < 1) { mmm = -4; } 80ae0d4: 4b2f ldr r3, [pc, #188] ; (80ae194 ) 80ae0d6: edd3 7a00 vldr s15, [r3] 80ae0da: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae0de: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae0e2: dd0d ble.n 80ae100 80ae0e4: 4b2b ldr r3, [pc, #172] ; (80ae194 ) 80ae0e6: edd3 7a00 vldr s15, [r3] 80ae0ea: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80ae0ee: eef4 7ac7 vcmpe.f32 s15, s14 80ae0f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae0f6: bf4c ite mi 80ae0f8: 2301 movmi r3, #1 80ae0fa: 2300 movpl r3, #0 80ae0fc: b2db uxtb r3, r3 80ae0fe: e00e b.n 80ae11e 80ae100: 4b24 ldr r3, [pc, #144] ; (80ae194 ) 80ae102: edd3 7a00 vldr s15, [r3] 80ae106: eef1 7a67 vneg.f32 s15, s15 80ae10a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80ae10e: eef4 7ac7 vcmpe.f32 s15, s14 80ae112: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae116: bf4c ite mi 80ae118: 2301 movmi r3, #1 80ae11a: 2300 movpl r3, #0 80ae11c: b2db uxtb r3, r3 80ae11e: 2b00 cmp r3, #0 80ae120: d003 beq.n 80ae12a 80ae122: 23fc movs r3, #252 ; 0xfc 80ae124: f887 329f strb.w r3, [r7, #671] ; 0x29f 80ae128: e04e b.n 80ae1c8 else if(ABS(LEGEND[0]) < 10) { mmm = -1; } 80ae12a: 4b1a ldr r3, [pc, #104] ; (80ae194 ) 80ae12c: edd3 7a00 vldr s15, [r3] 80ae130: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae134: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae138: dd2e ble.n 80ae198 80ae13a: 4b16 ldr r3, [pc, #88] ; (80ae194 ) 80ae13c: edd3 7a00 vldr s15, [r3] 80ae140: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80ae144: eef4 7ac7 vcmpe.f32 s15, s14 80ae148: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae14c: bf4c ite mi 80ae14e: 2301 movmi r3, #1 80ae150: 2300 movpl r3, #0 80ae152: b2db uxtb r3, r3 80ae154: e02f b.n 80ae1b6 80ae156: bf00 nop 80ae158: 20023ea8 .word 0x20023ea8 80ae15c: 20020998 .word 0x20020998 80ae160: 46fffe00 .word 0x46fffe00 80ae164: 46fffe00 .word 0x46fffe00 80ae168: c6fffe00 .word 0xc6fffe00 80ae16c: c6fffe00 .word 0xc6fffe00 80ae170: 20021696 .word 0x20021696 80ae174: 2002006c .word 0x2002006c 80ae178: 20020070 .word 0x20020070 80ae17c: ff0a0f1f .word 0xff0a0f1f 80ae180: ff808080 .word 0xff808080 80ae184: ffff0000 .word 0xffff0000 80ae188: ff008000 .word 0xff008000 80ae18c: ff26a01f .word 0xff26a01f 80ae190: 20020060 .word 0x20020060 80ae194: 200685fc .word 0x200685fc 80ae198: 4ba7 ldr r3, [pc, #668] ; (80ae438 ) 80ae19a: edd3 7a00 vldr s15, [r3] 80ae19e: eef1 7a67 vneg.f32 s15, s15 80ae1a2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80ae1a6: eef4 7ac7 vcmpe.f32 s15, s14 80ae1aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae1ae: bf4c ite mi 80ae1b0: 2301 movmi r3, #1 80ae1b2: 2300 movpl r3, #0 80ae1b4: b2db uxtb r3, r3 80ae1b6: 2b00 cmp r3, #0 80ae1b8: d003 beq.n 80ae1c2 80ae1ba: 23ff movs r3, #255 ; 0xff 80ae1bc: f887 329f strb.w r3, [r7, #671] ; 0x29f 80ae1c0: e002 b.n 80ae1c8 else { mmm = 0; } 80ae1c2: 2300 movs r3, #0 80ae1c4: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8+98, (char *) FloatToASCII(LEGEND[0], mmm), RIGHT_MODE); 80ae1c8: 4b9b ldr r3, [pc, #620] ; (80ae438 ) 80ae1ca: edd3 7a00 vldr s15, [r3] 80ae1ce: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80ae1d2: 4618 mov r0, r3 80ae1d4: eeb0 0a67 vmov.f32 s0, s15 80ae1d8: f7b9 f9e2 bl 80675a0 80ae1dc: 4602 mov r2, r0 80ae1de: 2302 movs r3, #2 80ae1e0: 21b6 movs r1, #182 ; 0xb6 80ae1e2: f44f 709e mov.w r0, #316 ; 0x13c 80ae1e6: f7a6 fad9 bl 805479c if(ABS(LEGEND[1]) == 0.0f) { mmm = -1; } 80ae1ea: 4b93 ldr r3, [pc, #588] ; (80ae438 ) 80ae1ec: edd3 7a01 vldr s15, [r3, #4] 80ae1f0: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae1f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae1f8: dd0b ble.n 80ae212 80ae1fa: 4b8f ldr r3, [pc, #572] ; (80ae438 ) 80ae1fc: edd3 7a01 vldr s15, [r3, #4] 80ae200: eef5 7a40 vcmp.f32 s15, #0.0 80ae204: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae208: bf0c ite eq 80ae20a: 2301 moveq r3, #1 80ae20c: 2300 movne r3, #0 80ae20e: b2db uxtb r3, r3 80ae210: e00a b.n 80ae228 80ae212: 4b89 ldr r3, [pc, #548] ; (80ae438 ) 80ae214: edd3 7a01 vldr s15, [r3, #4] 80ae218: eef5 7a40 vcmp.f32 s15, #0.0 80ae21c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae220: bf0c ite eq 80ae222: 2301 moveq r3, #1 80ae224: 2300 movne r3, #0 80ae226: b2db uxtb r3, r3 80ae228: 2b00 cmp r3, #0 80ae22a: d003 beq.n 80ae234 80ae22c: 23ff movs r3, #255 ; 0xff 80ae22e: f887 329f strb.w r3, [r7, #671] ; 0x29f 80ae232: e058 b.n 80ae2e6 else if(ABS(LEGEND[1]) < 1) { mmm = -4; } 80ae234: 4b80 ldr r3, [pc, #512] ; (80ae438 ) 80ae236: edd3 7a01 vldr s15, [r3, #4] 80ae23a: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae23e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae242: dd0d ble.n 80ae260 80ae244: 4b7c ldr r3, [pc, #496] ; (80ae438 ) 80ae246: edd3 7a01 vldr s15, [r3, #4] 80ae24a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80ae24e: eef4 7ac7 vcmpe.f32 s15, s14 80ae252: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae256: bf4c ite mi 80ae258: 2301 movmi r3, #1 80ae25a: 2300 movpl r3, #0 80ae25c: b2db uxtb r3, r3 80ae25e: e00e b.n 80ae27e 80ae260: 4b75 ldr r3, [pc, #468] ; (80ae438 ) 80ae262: edd3 7a01 vldr s15, [r3, #4] 80ae266: eef1 7a67 vneg.f32 s15, s15 80ae26a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80ae26e: eef4 7ac7 vcmpe.f32 s15, s14 80ae272: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae276: bf4c ite mi 80ae278: 2301 movmi r3, #1 80ae27a: 2300 movpl r3, #0 80ae27c: b2db uxtb r3, r3 80ae27e: 2b00 cmp r3, #0 80ae280: d003 beq.n 80ae28a 80ae282: 23fc movs r3, #252 ; 0xfc 80ae284: f887 329f strb.w r3, [r7, #671] ; 0x29f 80ae288: e02d b.n 80ae2e6 else if(ABS(LEGEND[1]) < 10) { mmm = -1; } 80ae28a: 4b6b ldr r3, [pc, #428] ; (80ae438 ) 80ae28c: edd3 7a01 vldr s15, [r3, #4] 80ae290: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae294: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae298: dd0d ble.n 80ae2b6 80ae29a: 4b67 ldr r3, [pc, #412] ; (80ae438 ) 80ae29c: edd3 7a01 vldr s15, [r3, #4] 80ae2a0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80ae2a4: eef4 7ac7 vcmpe.f32 s15, s14 80ae2a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae2ac: bf4c ite mi 80ae2ae: 2301 movmi r3, #1 80ae2b0: 2300 movpl r3, #0 80ae2b2: b2db uxtb r3, r3 80ae2b4: e00e b.n 80ae2d4 80ae2b6: 4b60 ldr r3, [pc, #384] ; (80ae438 ) 80ae2b8: edd3 7a01 vldr s15, [r3, #4] 80ae2bc: eef1 7a67 vneg.f32 s15, s15 80ae2c0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80ae2c4: eef4 7ac7 vcmpe.f32 s15, s14 80ae2c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae2cc: bf4c ite mi 80ae2ce: 2301 movmi r3, #1 80ae2d0: 2300 movpl r3, #0 80ae2d2: b2db uxtb r3, r3 80ae2d4: 2b00 cmp r3, #0 80ae2d6: d003 beq.n 80ae2e0 80ae2d8: 23ff movs r3, #255 ; 0xff 80ae2da: f887 329f strb.w r3, [r7, #671] ; 0x29f 80ae2de: e002 b.n 80ae2e6 else { mmm = 0; } 80ae2e0: 2300 movs r3, #0 80ae2e2: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8+49, (char *) FloatToASCII(LEGEND[1], mmm), RIGHT_MODE); 80ae2e6: 4b54 ldr r3, [pc, #336] ; (80ae438 ) 80ae2e8: edd3 7a01 vldr s15, [r3, #4] 80ae2ec: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80ae2f0: 4618 mov r0, r3 80ae2f2: eeb0 0a67 vmov.f32 s0, s15 80ae2f6: f7b9 f953 bl 80675a0 80ae2fa: 4602 mov r2, r0 80ae2fc: 2302 movs r3, #2 80ae2fe: 2185 movs r1, #133 ; 0x85 80ae300: f44f 709e mov.w r0, #316 ; 0x13c 80ae304: f7a6 fa4a bl 805479c if(ABS(LEGEND[2]) == 0.0f) { mmm = -1; } 80ae308: 4b4b ldr r3, [pc, #300] ; (80ae438 ) 80ae30a: edd3 7a02 vldr s15, [r3, #8] 80ae30e: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae312: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae316: dd0b ble.n 80ae330 80ae318: 4b47 ldr r3, [pc, #284] ; (80ae438 ) 80ae31a: edd3 7a02 vldr s15, [r3, #8] 80ae31e: eef5 7a40 vcmp.f32 s15, #0.0 80ae322: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae326: bf0c ite eq 80ae328: 2301 moveq r3, #1 80ae32a: 2300 movne r3, #0 80ae32c: b2db uxtb r3, r3 80ae32e: e00a b.n 80ae346 80ae330: 4b41 ldr r3, [pc, #260] ; (80ae438 ) 80ae332: edd3 7a02 vldr s15, [r3, #8] 80ae336: eef5 7a40 vcmp.f32 s15, #0.0 80ae33a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae33e: bf0c ite eq 80ae340: 2301 moveq r3, #1 80ae342: 2300 movne r3, #0 80ae344: b2db uxtb r3, r3 80ae346: 2b00 cmp r3, #0 80ae348: d003 beq.n 80ae352 80ae34a: 23ff movs r3, #255 ; 0xff 80ae34c: f887 329f strb.w r3, [r7, #671] ; 0x29f 80ae350: e058 b.n 80ae404 else if(ABS(LEGEND[2]) < 1) { mmm = -4; } 80ae352: 4b39 ldr r3, [pc, #228] ; (80ae438 ) 80ae354: edd3 7a02 vldr s15, [r3, #8] 80ae358: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae35c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae360: dd0d ble.n 80ae37e 80ae362: 4b35 ldr r3, [pc, #212] ; (80ae438 ) 80ae364: edd3 7a02 vldr s15, [r3, #8] 80ae368: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80ae36c: eef4 7ac7 vcmpe.f32 s15, s14 80ae370: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae374: bf4c ite mi 80ae376: 2301 movmi r3, #1 80ae378: 2300 movpl r3, #0 80ae37a: b2db uxtb r3, r3 80ae37c: e00e b.n 80ae39c 80ae37e: 4b2e ldr r3, [pc, #184] ; (80ae438 ) 80ae380: edd3 7a02 vldr s15, [r3, #8] 80ae384: eef1 7a67 vneg.f32 s15, s15 80ae388: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80ae38c: eef4 7ac7 vcmpe.f32 s15, s14 80ae390: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae394: bf4c ite mi 80ae396: 2301 movmi r3, #1 80ae398: 2300 movpl r3, #0 80ae39a: b2db uxtb r3, r3 80ae39c: 2b00 cmp r3, #0 80ae39e: d003 beq.n 80ae3a8 80ae3a0: 23fc movs r3, #252 ; 0xfc 80ae3a2: f887 329f strb.w r3, [r7, #671] ; 0x29f 80ae3a6: e02d b.n 80ae404 else if(ABS(LEGEND[2]) < 10) { mmm = -1; } 80ae3a8: 4b23 ldr r3, [pc, #140] ; (80ae438 ) 80ae3aa: edd3 7a02 vldr s15, [r3, #8] 80ae3ae: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae3b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae3b6: dd0d ble.n 80ae3d4 80ae3b8: 4b1f ldr r3, [pc, #124] ; (80ae438 ) 80ae3ba: edd3 7a02 vldr s15, [r3, #8] 80ae3be: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80ae3c2: eef4 7ac7 vcmpe.f32 s15, s14 80ae3c6: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae3ca: bf4c ite mi 80ae3cc: 2301 movmi r3, #1 80ae3ce: 2300 movpl r3, #0 80ae3d0: b2db uxtb r3, r3 80ae3d2: e00e b.n 80ae3f2 80ae3d4: 4b18 ldr r3, [pc, #96] ; (80ae438 ) 80ae3d6: edd3 7a02 vldr s15, [r3, #8] 80ae3da: eef1 7a67 vneg.f32 s15, s15 80ae3de: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80ae3e2: eef4 7ac7 vcmpe.f32 s15, s14 80ae3e6: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae3ea: bf4c ite mi 80ae3ec: 2301 movmi r3, #1 80ae3ee: 2300 movpl r3, #0 80ae3f0: b2db uxtb r3, r3 80ae3f2: 2b00 cmp r3, #0 80ae3f4: d003 beq.n 80ae3fe 80ae3f6: 23ff movs r3, #255 ; 0xff 80ae3f8: f887 329f strb.w r3, [r7, #671] ; 0x29f 80ae3fc: e002 b.n 80ae404 else { mmm = 0; } 80ae3fe: 2300 movs r3, #0 80ae400: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8, (char *) FloatToASCII(LEGEND[2], mmm), RIGHT_MODE); 80ae404: 4b0c ldr r3, [pc, #48] ; (80ae438 ) 80ae406: edd3 7a02 vldr s15, [r3, #8] 80ae40a: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80ae40e: 4618 mov r0, r3 80ae410: eeb0 0a67 vmov.f32 s0, s15 80ae414: f7b9 f8c4 bl 80675a0 80ae418: 4602 mov r2, r0 80ae41a: 2302 movs r3, #2 80ae41c: 2154 movs r1, #84 ; 0x54 80ae41e: f44f 709e mov.w r0, #316 ; 0x13c 80ae422: f7a6 f9bb bl 805479c Maximum = ABS(Maximum); 80ae426: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ae42a: 2b00 cmp r3, #0 80ae42c: bfb8 it lt 80ae42e: 425b neglt r3, r3 80ae430: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 { 80ae434: f001 b8b5 b.w 80af5a2 80ae438: 200685fc .word 0x200685fc if(pardata.SYG == SPEC_OKT) 80ae43c: 4ba2 ldr r3, [pc, #648] ; (80ae6c8 ) 80ae43e: 781b ldrb r3, [r3, #0] 80ae440: b2db uxtb r3, r3 80ae442: 2b06 cmp r3, #6 80ae444: f040 821f bne.w 80ae886 if((!firstOkt) && (READY_TO_SEE)) 80ae448: 4ba0 ldr r3, [pc, #640] ; (80ae6cc ) 80ae44a: 781b ldrb r3, [r3, #0] 80ae44c: b2db uxtb r3, r3 80ae44e: f083 0301 eor.w r3, r3, #1 80ae452: b2db uxtb r3, r3 80ae454: 2b00 cmp r3, #0 80ae456: f001 80a5 beq.w 80af5a4 80ae45a: 4b9d ldr r3, [pc, #628] ; (80ae6d0 ) 80ae45c: 781b ldrb r3, [r3, #0] 80ae45e: b2db uxtb r3, r3 80ae460: 2b00 cmp r3, #0 80ae462: f001 809f beq.w 80af5a4 if(AUTOZOOM) 80ae466: 4b9b ldr r3, [pc, #620] ; (80ae6d4 ) 80ae468: 781b ldrb r3, [r3, #0] 80ae46a: b2db uxtb r3, r3 80ae46c: 2b00 cmp r3, #0 80ae46e: f000 809c beq.w 80ae5aa arm_max_f32(&ScrA_f32(lX), 15, &max, &idx); 80ae472: 4b99 ldr r3, [pc, #612] ; (80ae6d8 ) 80ae474: 881b ldrh r3, [r3, #0] 80ae476: b29b uxth r3, r3 80ae478: 009b lsls r3, r3, #2 80ae47a: 461a mov r2, r3 80ae47c: 4b97 ldr r3, [pc, #604] ; (80ae6dc ) 80ae47e: 4413 add r3, r2 80ae480: 4618 mov r0, r3 80ae482: f507 731a add.w r3, r7, #616 ; 0x268 80ae486: f507 721d add.w r2, r7, #628 ; 0x274 80ae48a: 210f movs r1, #15 80ae48c: f01f ffc2 bl 80ce414 arm_min_f32(&ScrA_f32(lX), 15, &min, &idx); 80ae490: 4b91 ldr r3, [pc, #580] ; (80ae6d8 ) 80ae492: 881b ldrh r3, [r3, #0] 80ae494: b29b uxth r3, r3 80ae496: 009b lsls r3, r3, #2 80ae498: 461a mov r2, r3 80ae49a: 4b90 ldr r3, [pc, #576] ; (80ae6dc ) 80ae49c: 4413 add r3, r2 80ae49e: 4618 mov r0, r3 80ae4a0: f507 731a add.w r3, r7, #616 ; 0x268 80ae4a4: f507 721c add.w r2, r7, #624 ; 0x270 80ae4a8: 210f movs r1, #15 80ae4aa: f01f ff17 bl 80ce2dc if(max != 0.0f) 80ae4ae: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae4b2: eef5 7a40 vcmp.f32 s15, #0.0 80ae4b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae4ba: d072 beq.n 80ae5a2 if(pardata.MSH == LOG) 80ae4bc: 4b82 ldr r3, [pc, #520] ; (80ae6c8 ) 80ae4be: 7a9b ldrb r3, [r3, #10] 80ae4c0: b2db uxtb r3, r3 80ae4c2: 2b01 cmp r3, #1 80ae4c4: d122 bne.n 80ae50c LinToLog(&max, &max); 80ae4c6: f507 721d add.w r2, r7, #628 ; 0x274 80ae4ca: f507 731d add.w r3, r7, #628 ; 0x274 80ae4ce: 4611 mov r1, r2 80ae4d0: 4618 mov r0, r3 80ae4d2: f7b7 fc39 bl 8065d48 LinToLog(&min, &min); 80ae4d6: f507 721c add.w r2, r7, #624 ; 0x270 80ae4da: f507 731c add.w r3, r7, #624 ; 0x270 80ae4de: 4611 mov r1, r2 80ae4e0: 4618 mov r0, r3 80ae4e2: f7b7 fc31 bl 8065d48 f = (max);// - min); 80ae4e6: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80ae4ea: f8c7 326c str.w r3, [r7, #620] ; 0x26c if(f <= 0.0f) { 80ae4ee: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ae4f2: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae4f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae4fa: d802 bhi.n 80ae502 f = 100.0f; 80ae4fc: 4b78 ldr r3, [pc, #480] ; (80ae6e0 ) 80ae4fe: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80ae502: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80ae506: 4a77 ldr r2, [pc, #476] ; (80ae6e4 ) 80ae508: 6013 str r3, [r2, #0] 80ae50a: e041 b.n 80ae590 if(ABS(max) > ABS(min)) f = ABS(max); 80ae50c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae510: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae514: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae518: dd02 ble.n 80ae520 80ae51a: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80ae51e: e003 b.n 80ae528 80ae520: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae524: eeb1 7a67 vneg.f32 s14, s15 80ae528: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae52c: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae530: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae534: dd02 ble.n 80ae53c 80ae536: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae53a: e003 b.n 80ae544 80ae53c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae540: eef1 7a67 vneg.f32 s15, s15 80ae544: eeb4 7ae7 vcmpe.f32 s14, s15 80ae548: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae54c: dd10 ble.n 80ae570 80ae54e: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae552: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae556: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae55a: dd02 ble.n 80ae562 80ae55c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae560: e003 b.n 80ae56a 80ae562: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae566: eef1 7a67 vneg.f32 s15, s15 80ae56a: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80ae56e: e00f b.n 80ae590 else f = ABS(min); 80ae570: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae574: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae578: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae57c: dd02 ble.n 80ae584 80ae57e: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae582: e003 b.n 80ae58c 80ae584: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae588: eef1 7a67 vneg.f32 s15, s15 80ae58c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 100.0f / f; 80ae590: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80ae594: eddf 6a54 vldr s13, [pc, #336] ; 80ae6e8 80ae598: eec6 7a87 vdiv.f32 s15, s13, s14 80ae59c: 4b53 ldr r3, [pc, #332] ; (80ae6ec ) 80ae59e: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80ae5a2: 4b4c ldr r3, [pc, #304] ; (80ae6d4 ) 80ae5a4: 2200 movs r2, #0 80ae5a6: 701a strb r2, [r3, #0] 80ae5a8: e024 b.n 80ae5f4 if(ZOOM_IN) 80ae5aa: 4b51 ldr r3, [pc, #324] ; (80ae6f0 ) 80ae5ac: 781b ldrb r3, [r3, #0] 80ae5ae: b2db uxtb r3, r3 80ae5b0: 2b00 cmp r3, #0 80ae5b2: d00d beq.n 80ae5d0 ZOOM_IN = false; 80ae5b4: 4b4e ldr r3, [pc, #312] ; (80ae6f0 ) 80ae5b6: 2200 movs r2, #0 80ae5b8: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80ae5ba: 4b4c ldr r3, [pc, #304] ; (80ae6ec ) 80ae5bc: edd3 7a00 vldr s15, [r3] 80ae5c0: ed9f 7a4c vldr s14, [pc, #304] ; 80ae6f4 80ae5c4: ee67 7a87 vmul.f32 s15, s15, s14 80ae5c8: 4b48 ldr r3, [pc, #288] ; (80ae6ec ) 80ae5ca: edc3 7a00 vstr s15, [r3] 80ae5ce: e011 b.n 80ae5f4 if(ZOOM_OUT) 80ae5d0: 4b49 ldr r3, [pc, #292] ; (80ae6f8 ) 80ae5d2: 781b ldrb r3, [r3, #0] 80ae5d4: b2db uxtb r3, r3 80ae5d6: 2b00 cmp r3, #0 80ae5d8: d00c beq.n 80ae5f4 ZOOM_OUT = false; 80ae5da: 4b47 ldr r3, [pc, #284] ; (80ae6f8 ) 80ae5dc: 2200 movs r2, #0 80ae5de: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80ae5e0: 4b42 ldr r3, [pc, #264] ; (80ae6ec ) 80ae5e2: edd3 7a00 vldr s15, [r3] 80ae5e6: ed9f 7a45 vldr s14, [pc, #276] ; 80ae6fc 80ae5ea: ee67 7a87 vmul.f32 s15, s15, s14 80ae5ee: 4b3f ldr r3, [pc, #252] ; (80ae6ec ) 80ae5f0: edc3 7a00 vstr s15, [r3] NumOverdrives = 0; 80ae5f4: 4b42 ldr r3, [pc, #264] ; (80ae700 ) 80ae5f6: 2200 movs r2, #0 80ae5f8: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ae5fa: 4942 ldr r1, [pc, #264] ; (80ae704 ) 80ae5fc: 4842 ldr r0, [pc, #264] ; (80ae708 ) 80ae5fe: f7a6 f807 bl 8054610 for(i = 0; i < 14; i++) 80ae602: 2300 movs r3, #0 80ae604: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ae608: e12f b.n 80ae86a mF[MINY] = 0.0f; 80ae60a: f04f 0300 mov.w r3, #0 80ae60e: f8c7 3278 str.w r3, [r7, #632] ; 0x278 mF[MAXY] = ScrA_f32(i); 80ae612: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ae616: 009a lsls r2, r3, #2 80ae618: 4b30 ldr r3, [pc, #192] ; (80ae6dc ) 80ae61a: 4413 add r3, r2 80ae61c: 681b ldr r3, [r3, #0] 80ae61e: f8c7 327c str.w r3, [r7, #636] ; 0x27c thr = 157; 80ae622: 239d movs r3, #157 ; 0x9d 80ae624: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80ae628: 4b27 ldr r3, [pc, #156] ; (80ae6c8 ) 80ae62a: 7a9b ldrb r3, [r3, #10] 80ae62c: b2db uxtb r3, r3 80ae62e: 2b01 cmp r3, #1 80ae630: d174 bne.n 80ae71c for(j = 0; j < 2; j++) 80ae632: 2300 movs r3, #0 80ae634: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ae638: e013 b.n 80ae662 LinToLog(&mF[j], &mF[j]); 80ae63a: f507 721e add.w r2, r7, #632 ; 0x278 80ae63e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ae642: 009b lsls r3, r3, #2 80ae644: 18d0 adds r0, r2, r3 80ae646: f507 721e add.w r2, r7, #632 ; 0x278 80ae64a: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ae64e: 009b lsls r3, r3, #2 80ae650: 4413 add r3, r2 80ae652: 4619 mov r1, r3 80ae654: f7b7 fb78 bl 8065d48 for(j = 0; j < 2; j++) 80ae658: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ae65c: 3301 adds r3, #1 80ae65e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ae662: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ae666: 2b01 cmp r3, #1 80ae668: d9e7 bls.n 80ae63a mF[MAXY] = ((mF[MAXY]/* - MIN_Y*/) * ZoomVal)/* + 2.0f*/; 80ae66a: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ae66e: 4b1f ldr r3, [pc, #124] ; (80ae6ec ) 80ae670: edd3 7a00 vldr s15, [r3] 80ae674: ee67 7a27 vmul.f32 s15, s14, s15 80ae678: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ae67c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae680: ed9f 7a22 vldr s14, [pc, #136] ; 80ae70c 80ae684: eef4 7ac7 vcmpe.f32 s15, s14 80ae688: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae68c: dd02 ble.n 80ae694 80ae68e: 4b20 ldr r3, [pc, #128] ; (80ae710 ) 80ae690: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ae694: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae698: ed9f 7a1e vldr s14, [pc, #120] ; 80ae714 80ae69c: eef4 7ac7 vcmpe.f32 s15, s14 80ae6a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae6a4: d502 bpl.n 80ae6ac 80ae6a6: 4b1c ldr r3, [pc, #112] ; (80ae718 ) 80ae6a8: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80ae6ac: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae6b0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80ae6b4: ee77 7a87 vadd.f32 s15, s15, s14 80ae6b8: eefd 7ae7 vcvt.s32.f32 s15, s15 80ae6bc: edc7 7a01 vstr s15, [r7, #4] 80ae6c0: 88bb ldrh r3, [r7, #4] 80ae6c2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80ae6c6: e059 b.n 80ae77c 80ae6c8: 20023ea8 .word 0x20023ea8 80ae6cc: 20020db4 .word 0x20020db4 80ae6d0: 20020dae .word 0x20020dae 80ae6d4: 20020994 .word 0x20020994 80ae6d8: 20025d62 .word 0x20025d62 80ae6dc: 64080000 .word 0x64080000 80ae6e0: 42c80000 .word 0x42c80000 80ae6e4: 2002167c .word 0x2002167c 80ae6e8: 42c80000 .word 0x42c80000 80ae6ec: 20020998 .word 0x20020998 80ae6f0: 20020fad .word 0x20020fad 80ae6f4: 40000005 .word 0x40000005 80ae6f8: 20020fac .word 0x20020fac 80ae6fc: 3f000012 .word 0x3f000012 80ae700: 20021696 .word 0x20021696 80ae704: ff0a0f1f .word 0xff0a0f1f 80ae708: ff26a01f .word 0xff26a01f 80ae70c: 46fffe00 .word 0x46fffe00 80ae710: 46fffe00 .word 0x46fffe00 80ae714: c6fffe00 .word 0xc6fffe00 80ae718: c6fffe00 .word 0xc6fffe00 mF[MAXY] *= ZoomVal; 80ae71c: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ae720: 4bcd ldr r3, [pc, #820] ; (80aea58 ) 80ae722: edd3 7a00 vldr s15, [r3] 80ae726: ee67 7a27 vmul.f32 s15, s14, s15 80ae72a: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ae72e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae732: ed9f 7aca vldr s14, [pc, #808] ; 80aea5c 80ae736: eef4 7ac7 vcmpe.f32 s15, s14 80ae73a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae73e: dd02 ble.n 80ae746 80ae740: 4bc7 ldr r3, [pc, #796] ; (80aea60 ) 80ae742: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ae746: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae74a: ed9f 7ac6 vldr s14, [pc, #792] ; 80aea64 80ae74e: eef4 7ac7 vcmpe.f32 s15, s14 80ae752: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae756: d502 bpl.n 80ae75e 80ae758: 4bc3 ldr r3, [pc, #780] ; (80aea68 ) 80ae75a: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80ae75e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ae762: eefd 7ae7 vcvt.s32.f32 s15, s15 80ae766: edc7 7a01 vstr s15, [r7, #4] 80ae76a: 88bb ldrh r3, [r7, #4] 80ae76c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80ae770: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae774: 3301 adds r3, #1 80ae776: b29b uxth r3, r3 80ae778: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > thr) 80ae77c: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ae780: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ae784: 429a cmp r2, r3 80ae786: dd09 ble.n 80ae79c pMax = thr; 80ae788: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80ae78c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ae790: 4bb6 ldr r3, [pc, #728] ; (80aea6c ) 80ae792: 781b ldrb r3, [r3, #0] 80ae794: 3301 adds r3, #1 80ae796: b2da uxtb r2, r3 80ae798: 4bb4 ldr r3, [pc, #720] ; (80aea6c ) 80ae79a: 701a strb r2, [r3, #0] if(pMax <= 0) 80ae79c: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ae7a0: 2b00 cmp r3, #0 80ae7a2: dc08 bgt.n 80ae7b6 pMax = 0; 80ae7a4: 2300 movs r3, #0 80ae7a6: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80ae7aa: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae7ae: 3301 adds r3, #1 80ae7b0: b29b uxth r3, r3 80ae7b2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + 16*i; 80ae7b6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ae7ba: 011b lsls r3, r3, #4 80ae7bc: 333e adds r3, #62 ; 0x3e 80ae7be: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80ae7c2: 4bab ldr r3, [pc, #684] ; (80aea70 ) 80ae7c4: 681b ldr r3, [r3, #0] 80ae7c6: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ae7ca: 429a cmp r2, r3 80ae7cc: d131 bne.n 80ae832 if(menupos != Cursor) 80ae7ce: 4ba9 ldr r3, [pc, #676] ; (80aea74 ) 80ae7d0: 781b ldrb r3, [r3, #0] 80ae7d2: b2db uxtb r3, r3 80ae7d4: 2b06 cmp r3, #6 80ae7d6: d004 beq.n 80ae7e2 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ae7d8: 49a7 ldr r1, [pc, #668] ; (80aea78 ) 80ae7da: 48a8 ldr r0, [pc, #672] ; (80aea7c ) 80ae7dc: f7a5 ff18 bl 8054610 80ae7e0: e003 b.n 80ae7ea else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ae7e2: 49a5 ldr r1, [pc, #660] ; (80aea78 ) 80ae7e4: 48a6 ldr r0, [pc, #664] ; (80aea80 ) 80ae7e6: f7a5 ff13 bl 8054610 BSP_LCD_DrawLine(x + 8, 44, x + 8, 218); 80ae7ea: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae7ee: b29b uxth r3, r3 80ae7f0: 3308 adds r3, #8 80ae7f2: b298 uxth r0, r3 80ae7f4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae7f8: b29b uxth r3, r3 80ae7fa: 3308 adds r3, #8 80ae7fc: b29a uxth r2, r3 80ae7fe: 23da movs r3, #218 ; 0xda 80ae800: 212c movs r1, #44 ; 0x2c 80ae802: f7a6 f93f bl 8054a84 LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80ae806: 499c ldr r1, [pc, #624] ; (80aea78 ) 80ae808: 489e ldr r0, [pc, #632] ; (80aea84 ) 80ae80a: f7a5 ff01 bl 8054610 BSP_LCD_FillRect(x, 219 - pMax, 15, pMax); 80ae80e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae812: b298 uxth r0, r3 80ae814: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae818: f1c3 03db rsb r3, r3, #219 ; 0xdb 80ae81c: b299 uxth r1, r3 80ae81e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae822: 220f movs r2, #15 80ae824: f7a6 fb82 bl 8054f2c LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ae828: 4993 ldr r1, [pc, #588] ; (80aea78 ) 80ae82a: 4897 ldr r0, [pc, #604] ; (80aea88 ) 80ae82c: f7a5 fef0 bl 8054610 80ae830: e00c b.n 80ae84c BSP_LCD_FillRect(x, 219 - pMax, 15, pMax); 80ae832: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ae836: b298 uxth r0, r3 80ae838: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae83c: f1c3 03db rsb r3, r3, #219 ; 0xdb 80ae840: b299 uxth r1, r3 80ae842: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae846: 220f movs r2, #15 80ae848: f7a6 fb70 bl 8054f2c if(pMax > Maximum) 80ae84c: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ae850: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ae854: 429a cmp r2, r3 80ae856: dd03 ble.n 80ae860 Maximum = pMax; 80ae858: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ae85c: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 14; i++) 80ae860: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ae864: 3301 adds r3, #1 80ae866: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ae86a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ae86e: 2b0d cmp r3, #13 80ae870: f67f aecb bls.w 80ae60a Maximum = ABS(Maximum); 80ae874: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ae878: 2b00 cmp r3, #0 80ae87a: bfb8 it lt 80ae87c: 425b neglt r3, r3 80ae87e: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80ae882: f000 be8f b.w 80af5a4 if(pardata.SYG == SPEC_THIRD) 80ae886: 4b81 ldr r3, [pc, #516] ; (80aea8c ) 80ae888: 781b ldrb r3, [r3, #0] 80ae88a: b2db uxtb r3, r3 80ae88c: 2b07 cmp r3, #7 80ae88e: f040 8212 bne.w 80aecb6 if(READY_TO_SEE) 80ae892: 4b7f ldr r3, [pc, #508] ; (80aea90 ) 80ae894: 781b ldrb r3, [r3, #0] 80ae896: b2db uxtb r3, r3 80ae898: 2b00 cmp r3, #0 80ae89a: f000 8683 beq.w 80af5a4 if(AUTOZOOM) 80ae89e: 4b7d ldr r3, [pc, #500] ; (80aea94 ) 80ae8a0: 781b ldrb r3, [r3, #0] 80ae8a2: b2db uxtb r3, r3 80ae8a4: 2b00 cmp r3, #0 80ae8a6: f000 808e beq.w 80ae9c6 arm_max_f32(&ScrA_f32(0), 39, &max, &idx); 80ae8aa: f507 731a add.w r3, r7, #616 ; 0x268 80ae8ae: f507 721d add.w r2, r7, #628 ; 0x274 80ae8b2: 2127 movs r1, #39 ; 0x27 80ae8b4: 4878 ldr r0, [pc, #480] ; (80aea98 ) 80ae8b6: f01f fdad bl 80ce414 arm_min_f32(&ScrA_f32(0), 39, &min, &idx); 80ae8ba: f507 731a add.w r3, r7, #616 ; 0x268 80ae8be: f507 721c add.w r2, r7, #624 ; 0x270 80ae8c2: 2127 movs r1, #39 ; 0x27 80ae8c4: 4874 ldr r0, [pc, #464] ; (80aea98 ) 80ae8c6: f01f fd09 bl 80ce2dc if(max != 0.0f) 80ae8ca: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae8ce: eef5 7a40 vcmp.f32 s15, #0.0 80ae8d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae8d6: d072 beq.n 80ae9be if(pardata.MSH == LOG) 80ae8d8: 4b6c ldr r3, [pc, #432] ; (80aea8c ) 80ae8da: 7a9b ldrb r3, [r3, #10] 80ae8dc: b2db uxtb r3, r3 80ae8de: 2b01 cmp r3, #1 80ae8e0: d122 bne.n 80ae928 LinToLog(&max, &max); 80ae8e2: f507 721d add.w r2, r7, #628 ; 0x274 80ae8e6: f507 731d add.w r3, r7, #628 ; 0x274 80ae8ea: 4611 mov r1, r2 80ae8ec: 4618 mov r0, r3 80ae8ee: f7b7 fa2b bl 8065d48 LinToLog(&min, &min); 80ae8f2: f507 721c add.w r2, r7, #624 ; 0x270 80ae8f6: f507 731c add.w r3, r7, #624 ; 0x270 80ae8fa: 4611 mov r1, r2 80ae8fc: 4618 mov r0, r3 80ae8fe: f7b7 fa23 bl 8065d48 f = (max);// - min); 80ae902: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80ae906: f8c7 326c str.w r3, [r7, #620] ; 0x26c if(f <= 0.0f) { 80ae90a: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ae90e: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae912: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae916: d802 bhi.n 80ae91e f = 100.0f; 80ae918: 4b60 ldr r3, [pc, #384] ; (80aea9c ) 80ae91a: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80ae91e: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80ae922: 4a5f ldr r2, [pc, #380] ; (80aeaa0 ) 80ae924: 6013 str r3, [r2, #0] 80ae926: e041 b.n 80ae9ac if(ABS(max) > ABS(min)) f = ABS(max); 80ae928: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae92c: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae930: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae934: dd02 ble.n 80ae93c 80ae936: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80ae93a: e003 b.n 80ae944 80ae93c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae940: eeb1 7a67 vneg.f32 s14, s15 80ae944: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae948: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae94c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae950: dd02 ble.n 80ae958 80ae952: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae956: e003 b.n 80ae960 80ae958: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae95c: eef1 7a67 vneg.f32 s15, s15 80ae960: eeb4 7ae7 vcmpe.f32 s14, s15 80ae964: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae968: dd10 ble.n 80ae98c 80ae96a: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae96e: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae972: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae976: dd02 ble.n 80ae97e 80ae978: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae97c: e003 b.n 80ae986 80ae97e: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ae982: eef1 7a67 vneg.f32 s15, s15 80ae986: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80ae98a: e00f b.n 80ae9ac else f = ABS(min); 80ae98c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae990: eef5 7ac0 vcmpe.f32 s15, #0.0 80ae994: eef1 fa10 vmrs APSR_nzcv, fpscr 80ae998: dd02 ble.n 80ae9a0 80ae99a: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae99e: e003 b.n 80ae9a8 80ae9a0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ae9a4: eef1 7a67 vneg.f32 s15, s15 80ae9a8: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 100.0f / f; 80ae9ac: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80ae9b0: eddf 6a3c vldr s13, [pc, #240] ; 80aeaa4 80ae9b4: eec6 7a87 vdiv.f32 s15, s13, s14 80ae9b8: 4b27 ldr r3, [pc, #156] ; (80aea58 ) 80ae9ba: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80ae9be: 4b35 ldr r3, [pc, #212] ; (80aea94 ) 80ae9c0: 2200 movs r2, #0 80ae9c2: 701a strb r2, [r3, #0] 80ae9c4: e024 b.n 80aea10 if(ZOOM_IN) 80ae9c6: 4b38 ldr r3, [pc, #224] ; (80aeaa8 ) 80ae9c8: 781b ldrb r3, [r3, #0] 80ae9ca: b2db uxtb r3, r3 80ae9cc: 2b00 cmp r3, #0 80ae9ce: d00d beq.n 80ae9ec ZOOM_IN = false; 80ae9d0: 4b35 ldr r3, [pc, #212] ; (80aeaa8 ) 80ae9d2: 2200 movs r2, #0 80ae9d4: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80ae9d6: 4b20 ldr r3, [pc, #128] ; (80aea58 ) 80ae9d8: edd3 7a00 vldr s15, [r3] 80ae9dc: ed9f 7a33 vldr s14, [pc, #204] ; 80aeaac 80ae9e0: ee67 7a87 vmul.f32 s15, s15, s14 80ae9e4: 4b1c ldr r3, [pc, #112] ; (80aea58 ) 80ae9e6: edc3 7a00 vstr s15, [r3] 80ae9ea: e011 b.n 80aea10 if(ZOOM_OUT) 80ae9ec: 4b30 ldr r3, [pc, #192] ; (80aeab0 ) 80ae9ee: 781b ldrb r3, [r3, #0] 80ae9f0: b2db uxtb r3, r3 80ae9f2: 2b00 cmp r3, #0 80ae9f4: d00c beq.n 80aea10 ZOOM_OUT = false; 80ae9f6: 4b2e ldr r3, [pc, #184] ; (80aeab0 ) 80ae9f8: 2200 movs r2, #0 80ae9fa: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80ae9fc: 4b16 ldr r3, [pc, #88] ; (80aea58 ) 80ae9fe: edd3 7a00 vldr s15, [r3] 80aea02: ed9f 7a2c vldr s14, [pc, #176] ; 80aeab4 80aea06: ee67 7a87 vmul.f32 s15, s15, s14 80aea0a: 4b13 ldr r3, [pc, #76] ; (80aea58 ) 80aea0c: edc3 7a00 vstr s15, [r3] NumOverdrives = 0; 80aea10: 4b16 ldr r3, [pc, #88] ; (80aea6c ) 80aea12: 2200 movs r2, #0 80aea14: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aea16: 4918 ldr r1, [pc, #96] ; (80aea78 ) 80aea18: 481b ldr r0, [pc, #108] ; (80aea88 ) 80aea1a: f7a5 fdf9 bl 8054610 for(i = 0; i < 39; i++) 80aea1e: 2300 movs r3, #0 80aea20: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aea24: e139 b.n 80aec9a mF[MINY] = 0.0f; 80aea26: f04f 0300 mov.w r3, #0 80aea2a: f8c7 3278 str.w r3, [r7, #632] ; 0x278 mF[MAXY] = ScrA_f32(i); 80aea2e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aea32: 009a lsls r2, r3, #2 80aea34: 4b18 ldr r3, [pc, #96] ; (80aea98 ) 80aea36: 4413 add r3, r2 80aea38: 681b ldr r3, [r3, #0] 80aea3a: f8c7 327c str.w r3, [r7, #636] ; 0x27c thr = 157; 80aea3e: 239d movs r3, #157 ; 0x9d 80aea40: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80aea44: 4b11 ldr r3, [pc, #68] ; (80aea8c ) 80aea46: 7a9b ldrb r3, [r3, #10] 80aea48: b2db uxtb r3, r3 80aea4a: 2b01 cmp r3, #1 80aea4c: d17b bne.n 80aeb46 for(j = 0; j < 2; j++) 80aea4e: 2300 movs r3, #0 80aea50: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aea54: e044 b.n 80aeae0 80aea56: bf00 nop 80aea58: 20020998 .word 0x20020998 80aea5c: 46fffe00 .word 0x46fffe00 80aea60: 46fffe00 .word 0x46fffe00 80aea64: c6fffe00 .word 0xc6fffe00 80aea68: c6fffe00 .word 0xc6fffe00 80aea6c: 20021696 .word 0x20021696 80aea70: 2002006c .word 0x2002006c 80aea74: 20020070 .word 0x20020070 80aea78: ff0a0f1f .word 0xff0a0f1f 80aea7c: ff808080 .word 0xff808080 80aea80: ffff0000 .word 0xffff0000 80aea84: ffffa500 .word 0xffffa500 80aea88: ff26a01f .word 0xff26a01f 80aea8c: 20023ea8 .word 0x20023ea8 80aea90: 20020dae .word 0x20020dae 80aea94: 20020994 .word 0x20020994 80aea98: 64080000 .word 0x64080000 80aea9c: 42c80000 .word 0x42c80000 80aeaa0: 2002167c .word 0x2002167c 80aeaa4: 42c80000 .word 0x42c80000 80aeaa8: 20020fad .word 0x20020fad 80aeaac: 40000005 .word 0x40000005 80aeab0: 20020fac .word 0x20020fac 80aeab4: 3f000012 .word 0x3f000012 LinToLog(&mF[j], &mF[j]); 80aeab8: f507 721e add.w r2, r7, #632 ; 0x278 80aeabc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aeac0: 009b lsls r3, r3, #2 80aeac2: 18d0 adds r0, r2, r3 80aeac4: f507 721e add.w r2, r7, #632 ; 0x278 80aeac8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aeacc: 009b lsls r3, r3, #2 80aeace: 4413 add r3, r2 80aead0: 4619 mov r1, r3 80aead2: f7b7 f939 bl 8065d48 for(j = 0; j < 2; j++) 80aead6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aeada: 3301 adds r3, #1 80aeadc: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aeae0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aeae4: 2b01 cmp r3, #1 80aeae6: d9e7 bls.n 80aeab8 mF[MAXY] = ((mF[MAXY]/* - MIN_Y*/) * ZoomVal)/* + 2.0f*/; 80aeae8: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aeaec: 4bc5 ldr r3, [pc, #788] ; (80aee04 ) 80aeaee: edd3 7a00 vldr s15, [r3] 80aeaf2: ee67 7a27 vmul.f32 s15, s14, s15 80aeaf6: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aeafa: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aeafe: ed9f 7ac2 vldr s14, [pc, #776] ; 80aee08 80aeb02: eef4 7ac7 vcmpe.f32 s15, s14 80aeb06: eef1 fa10 vmrs APSR_nzcv, fpscr 80aeb0a: dd02 ble.n 80aeb12 80aeb0c: 4bbf ldr r3, [pc, #764] ; (80aee0c ) 80aeb0e: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aeb12: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aeb16: ed9f 7abe vldr s14, [pc, #760] ; 80aee10 80aeb1a: eef4 7ac7 vcmpe.f32 s15, s14 80aeb1e: eef1 fa10 vmrs APSR_nzcv, fpscr 80aeb22: d502 bpl.n 80aeb2a 80aeb24: 4bbb ldr r3, [pc, #748] ; (80aee14 ) 80aeb26: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80aeb2a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aeb2e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80aeb32: ee77 7a87 vadd.f32 s15, s15, s14 80aeb36: eefd 7ae7 vcvt.s32.f32 s15, s15 80aeb3a: edc7 7a01 vstr s15, [r7, #4] 80aeb3e: 88bb ldrh r3, [r7, #4] 80aeb40: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80aeb44: e02f b.n 80aeba6 mF[MAXY] *= ZoomVal; 80aeb46: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aeb4a: 4bae ldr r3, [pc, #696] ; (80aee04 ) 80aeb4c: edd3 7a00 vldr s15, [r3] 80aeb50: ee67 7a27 vmul.f32 s15, s14, s15 80aeb54: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aeb58: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aeb5c: ed9f 7aaa vldr s14, [pc, #680] ; 80aee08 80aeb60: eef4 7ac7 vcmpe.f32 s15, s14 80aeb64: eef1 fa10 vmrs APSR_nzcv, fpscr 80aeb68: dd02 ble.n 80aeb70 80aeb6a: 4ba8 ldr r3, [pc, #672] ; (80aee0c ) 80aeb6c: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aeb70: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aeb74: ed9f 7aa6 vldr s14, [pc, #664] ; 80aee10 80aeb78: eef4 7ac7 vcmpe.f32 s15, s14 80aeb7c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aeb80: d502 bpl.n 80aeb88 80aeb82: 4ba4 ldr r3, [pc, #656] ; (80aee14 ) 80aeb84: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80aeb88: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aeb8c: eefd 7ae7 vcvt.s32.f32 s15, s15 80aeb90: edc7 7a01 vstr s15, [r7, #4] 80aeb94: 88bb ldrh r3, [r7, #4] 80aeb96: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80aeb9a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aeb9e: 3301 adds r3, #1 80aeba0: b29b uxth r3, r3 80aeba2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > thr) 80aeba6: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aebaa: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aebae: 429a cmp r2, r3 80aebb0: dd09 ble.n 80aebc6 pMax = thr; 80aebb2: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80aebb6: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aebba: 4b97 ldr r3, [pc, #604] ; (80aee18 ) 80aebbc: 781b ldrb r3, [r3, #0] 80aebbe: 3301 adds r3, #1 80aebc0: b2da uxtb r2, r3 80aebc2: 4b95 ldr r3, [pc, #596] ; (80aee18 ) 80aebc4: 701a strb r2, [r3, #0] if(pMax <= 0) 80aebc6: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aebca: 2b00 cmp r3, #0 80aebcc: dc08 bgt.n 80aebe0 pMax = 0; 80aebce: 2300 movs r3, #0 80aebd0: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80aebd4: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aebd8: 3301 adds r3, #1 80aebda: b29b uxth r3, r3 80aebdc: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + 6*i; 80aebe0: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aebe4: 4613 mov r3, r2 80aebe6: 005b lsls r3, r3, #1 80aebe8: 4413 add r3, r2 80aebea: 005b lsls r3, r3, #1 80aebec: 333e adds r3, #62 ; 0x3e 80aebee: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80aebf2: 4b8a ldr r3, [pc, #552] ; (80aee1c ) 80aebf4: 681b ldr r3, [r3, #0] 80aebf6: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aebfa: 429a cmp r2, r3 80aebfc: d131 bne.n 80aec62 if(menupos != Cursor) 80aebfe: 4b88 ldr r3, [pc, #544] ; (80aee20 ) 80aec00: 781b ldrb r3, [r3, #0] 80aec02: b2db uxtb r3, r3 80aec04: 2b06 cmp r3, #6 80aec06: d004 beq.n 80aec12 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80aec08: 4986 ldr r1, [pc, #536] ; (80aee24 ) 80aec0a: 4887 ldr r0, [pc, #540] ; (80aee28 ) 80aec0c: f7a5 fd00 bl 8054610 80aec10: e003 b.n 80aec1a else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80aec12: 4984 ldr r1, [pc, #528] ; (80aee24 ) 80aec14: 4885 ldr r0, [pc, #532] ; (80aee2c ) 80aec16: f7a5 fcfb bl 8054610 BSP_LCD_DrawLine(x + 2, 44, x + 2, 218); 80aec1a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aec1e: b29b uxth r3, r3 80aec20: 3302 adds r3, #2 80aec22: b298 uxth r0, r3 80aec24: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aec28: b29b uxth r3, r3 80aec2a: 3302 adds r3, #2 80aec2c: b29a uxth r2, r3 80aec2e: 23da movs r3, #218 ; 0xda 80aec30: 212c movs r1, #44 ; 0x2c 80aec32: f7a5 ff27 bl 8054a84 LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80aec36: 497b ldr r1, [pc, #492] ; (80aee24 ) 80aec38: 487d ldr r0, [pc, #500] ; (80aee30 ) 80aec3a: f7a5 fce9 bl 8054610 BSP_LCD_FillRect(x, 219 - pMax, 5, pMax); 80aec3e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aec42: b298 uxth r0, r3 80aec44: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aec48: f1c3 03db rsb r3, r3, #219 ; 0xdb 80aec4c: b299 uxth r1, r3 80aec4e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aec52: 2205 movs r2, #5 80aec54: f7a6 f96a bl 8054f2c LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aec58: 4972 ldr r1, [pc, #456] ; (80aee24 ) 80aec5a: 4876 ldr r0, [pc, #472] ; (80aee34 ) 80aec5c: f7a5 fcd8 bl 8054610 80aec60: e00c b.n 80aec7c BSP_LCD_FillRect(x, 219 - pMax, 5, pMax); 80aec62: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aec66: b298 uxth r0, r3 80aec68: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aec6c: f1c3 03db rsb r3, r3, #219 ; 0xdb 80aec70: b299 uxth r1, r3 80aec72: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aec76: 2205 movs r2, #5 80aec78: f7a6 f958 bl 8054f2c if(pMax > Maximum) 80aec7c: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aec80: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aec84: 429a cmp r2, r3 80aec86: dd03 ble.n 80aec90 Maximum = pMax; 80aec88: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aec8c: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 39; i++) 80aec90: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aec94: 3301 adds r3, #1 80aec96: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aec9a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aec9e: 2b26 cmp r3, #38 ; 0x26 80aeca0: f67f aec1 bls.w 80aea26 Maximum = ABS(Maximum); 80aeca4: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aeca8: 2b00 cmp r3, #0 80aecaa: bfb8 it lt 80aecac: 425b neglt r3, r3 80aecae: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80aecb2: f000 bc77 b.w 80af5a4 if(pardata.SYG == OSC) 80aecb6: 4b60 ldr r3, [pc, #384] ; (80aee38 ) 80aecb8: 781b ldrb r3, [r3, #0] 80aecba: b2db uxtb r3, r3 80aecbc: 2b02 cmp r3, #2 80aecbe: f040 8471 bne.w 80af5a4 if(!timeRelax) 80aecc2: 4b5e ldr r3, [pc, #376] ; (80aee3c ) 80aecc4: 681b ldr r3, [r3, #0] 80aecc6: 2b00 cmp r3, #0 80aecc8: f040 846c bne.w 80af5a4 if(AUTOZOOM) 80aeccc: 4b5c ldr r3, [pc, #368] ; (80aee40 ) 80aecce: 781b ldrb r3, [r3, #0] 80aecd0: b2db uxtb r3, r3 80aecd2: 2b00 cmp r3, #0 80aecd4: f000 80ed beq.w 80aeeb2 arm_max_f32(&ScrA_f32(lX), rX-lX-1, &max, &idx); 80aecd8: 4b5a ldr r3, [pc, #360] ; (80aee44 ) 80aecda: 881b ldrh r3, [r3, #0] 80aecdc: b29b uxth r3, r3 80aecde: 009b lsls r3, r3, #2 80aece0: 461a mov r2, r3 80aece2: 4b59 ldr r3, [pc, #356] ; (80aee48 ) 80aece4: 4413 add r3, r2 80aece6: 4618 mov r0, r3 80aece8: 4b58 ldr r3, [pc, #352] ; (80aee4c ) 80aecea: 881b ldrh r3, [r3, #0] 80aecec: b29b uxth r3, r3 80aecee: 461a mov r2, r3 80aecf0: 4b54 ldr r3, [pc, #336] ; (80aee44 ) 80aecf2: 881b ldrh r3, [r3, #0] 80aecf4: b29b uxth r3, r3 80aecf6: 1ad3 subs r3, r2, r3 80aecf8: 3b01 subs r3, #1 80aecfa: 4619 mov r1, r3 80aecfc: f507 731a add.w r3, r7, #616 ; 0x268 80aed00: f507 721d add.w r2, r7, #628 ; 0x274 80aed04: f01f fb86 bl 80ce414 arm_min_f32(&ScrA_f32(lX), rX-lX-1, &min, &idx); 80aed08: 4b4e ldr r3, [pc, #312] ; (80aee44 ) 80aed0a: 881b ldrh r3, [r3, #0] 80aed0c: b29b uxth r3, r3 80aed0e: 009b lsls r3, r3, #2 80aed10: 461a mov r2, r3 80aed12: 4b4d ldr r3, [pc, #308] ; (80aee48 ) 80aed14: 4413 add r3, r2 80aed16: 4618 mov r0, r3 80aed18: 4b4c ldr r3, [pc, #304] ; (80aee4c ) 80aed1a: 881b ldrh r3, [r3, #0] 80aed1c: b29b uxth r3, r3 80aed1e: 461a mov r2, r3 80aed20: 4b48 ldr r3, [pc, #288] ; (80aee44 ) 80aed22: 881b ldrh r3, [r3, #0] 80aed24: b29b uxth r3, r3 80aed26: 1ad3 subs r3, r2, r3 80aed28: 3b01 subs r3, #1 80aed2a: 4619 mov r1, r3 80aed2c: f507 731a add.w r3, r7, #616 ; 0x268 80aed30: f507 721c add.w r2, r7, #624 ; 0x270 80aed34: f01f fad2 bl 80ce2dc if(ABS(max) > ABS(min)) 80aed38: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aed3c: eef5 7ac0 vcmpe.f32 s15, #0.0 80aed40: eef1 fa10 vmrs APSR_nzcv, fpscr 80aed44: dd02 ble.n 80aed4c 80aed46: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80aed4a: e003 b.n 80aed54 80aed4c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aed50: eeb1 7a67 vneg.f32 s14, s15 80aed54: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aed58: eef5 7ac0 vcmpe.f32 s15, #0.0 80aed5c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aed60: dd02 ble.n 80aed68 80aed62: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aed66: e003 b.n 80aed70 80aed68: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aed6c: eef1 7a67 vneg.f32 s15, s15 80aed70: eeb4 7ae7 vcmpe.f32 s14, s15 80aed74: eef1 fa10 vmrs APSR_nzcv, fpscr 80aed78: dd10 ble.n 80aed9c f = ABS(max); 80aed7a: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aed7e: eef5 7ac0 vcmpe.f32 s15, #0.0 80aed82: eef1 fa10 vmrs APSR_nzcv, fpscr 80aed86: dd02 ble.n 80aed8e 80aed88: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aed8c: e003 b.n 80aed96 80aed8e: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aed92: eef1 7a67 vneg.f32 s15, s15 80aed96: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80aed9a: e00f b.n 80aedbc else f = ABS(min); 80aed9c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aeda0: eef5 7ac0 vcmpe.f32 s15, #0.0 80aeda4: eef1 fa10 vmrs APSR_nzcv, fpscr 80aeda8: dd02 ble.n 80aedb0 80aedaa: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aedae: e003 b.n 80aedb8 80aedb0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aedb4: eef1 7a67 vneg.f32 s15, s15 80aedb8: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 50.0f / f; 80aedbc: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80aedc0: eddf 6a23 vldr s13, [pc, #140] ; 80aee50 80aedc4: eec6 7a87 vdiv.f32 s15, s13, s14 80aedc8: 4b0e ldr r3, [pc, #56] ; (80aee04 ) 80aedca: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80aedce: 4b1c ldr r3, [pc, #112] ; (80aee40 ) 80aedd0: 2200 movs r2, #0 80aedd2: 701a strb r2, [r3, #0] LEGEND[0] = min; 80aedd4: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80aedd8: 4a1e ldr r2, [pc, #120] ; (80aee54 ) 80aedda: 6013 str r3, [r2, #0] LEGEND[1] = 0.0f; 80aeddc: 4b1d ldr r3, [pc, #116] ; (80aee54 ) 80aedde: f04f 0200 mov.w r2, #0 80aede2: 605a str r2, [r3, #4] LEGEND[2] = max; 80aede4: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80aede8: 4a1a ldr r2, [pc, #104] ; (80aee54 ) 80aedea: 6093 str r3, [r2, #8] if(ABS(LEGEND[2]) > ABS(LEGEND[0])) 80aedec: 4b19 ldr r3, [pc, #100] ; (80aee54 ) 80aedee: edd3 7a02 vldr s15, [r3, #8] 80aedf2: eef5 7ac0 vcmpe.f32 s15, #0.0 80aedf6: eef1 fa10 vmrs APSR_nzcv, fpscr 80aedfa: dd2d ble.n 80aee58 80aedfc: 4b15 ldr r3, [pc, #84] ; (80aee54 ) 80aedfe: ed93 7a02 vldr s14, [r3, #8] 80aee02: e02e b.n 80aee62 80aee04: 20020998 .word 0x20020998 80aee08: 46fffe00 .word 0x46fffe00 80aee0c: 46fffe00 .word 0x46fffe00 80aee10: c6fffe00 .word 0xc6fffe00 80aee14: c6fffe00 .word 0xc6fffe00 80aee18: 20021696 .word 0x20021696 80aee1c: 2002006c .word 0x2002006c 80aee20: 20020070 .word 0x20020070 80aee24: ff0a0f1f .word 0xff0a0f1f 80aee28: ff808080 .word 0xff808080 80aee2c: ffff0000 .word 0xffff0000 80aee30: ffffa500 .word 0xffffa500 80aee34: ff26a01f .word 0xff26a01f 80aee38: 20023ea8 .word 0x20023ea8 80aee3c: 20020d8c .word 0x20020d8c 80aee40: 20020994 .word 0x20020994 80aee44: 20025d62 .word 0x20025d62 80aee48: 64080000 .word 0x64080000 80aee4c: 20025d68 .word 0x20025d68 80aee50: 42480000 .word 0x42480000 80aee54: 200685fc .word 0x200685fc 80aee58: 4bba ldr r3, [pc, #744] ; (80af144 ) 80aee5a: edd3 7a02 vldr s15, [r3, #8] 80aee5e: eeb1 7a67 vneg.f32 s14, s15 80aee62: 4bb8 ldr r3, [pc, #736] ; (80af144 ) 80aee64: edd3 7a00 vldr s15, [r3] 80aee68: eef5 7ac0 vcmpe.f32 s15, #0.0 80aee6c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aee70: dd03 ble.n 80aee7a 80aee72: 4bb4 ldr r3, [pc, #720] ; (80af144 ) 80aee74: edd3 7a00 vldr s15, [r3] 80aee78: e004 b.n 80aee84 80aee7a: 4bb2 ldr r3, [pc, #712] ; (80af144 ) 80aee7c: edd3 7a00 vldr s15, [r3] 80aee80: eef1 7a67 vneg.f32 s15, s15 80aee84: eeb4 7ae7 vcmpe.f32 s14, s15 80aee88: eef1 fa10 vmrs APSR_nzcv, fpscr 80aee8c: dd08 ble.n 80aeea0 LEGEND[0] = -LEGEND[2]; 80aee8e: 4bad ldr r3, [pc, #692] ; (80af144 ) 80aee90: edd3 7a02 vldr s15, [r3, #8] 80aee94: eef1 7a67 vneg.f32 s15, s15 80aee98: 4baa ldr r3, [pc, #680] ; (80af144 ) 80aee9a: edc3 7a00 vstr s15, [r3] 80aee9e: e055 b.n 80aef4c else LEGEND[2] = -LEGEND[0]; 80aeea0: 4ba8 ldr r3, [pc, #672] ; (80af144 ) 80aeea2: edd3 7a00 vldr s15, [r3] 80aeea6: eef1 7a67 vneg.f32 s15, s15 80aeeaa: 4ba6 ldr r3, [pc, #664] ; (80af144 ) 80aeeac: edc3 7a02 vstr s15, [r3, #8] 80aeeb0: e04c b.n 80aef4c if(ZOOM_IN) 80aeeb2: 4ba5 ldr r3, [pc, #660] ; (80af148 ) 80aeeb4: 781b ldrb r3, [r3, #0] 80aeeb6: b2db uxtb r3, r3 80aeeb8: 2b00 cmp r3, #0 80aeeba: d021 beq.n 80aef00 ZOOM_IN = false; 80aeebc: 4ba2 ldr r3, [pc, #648] ; (80af148 ) 80aeebe: 2200 movs r2, #0 80aeec0: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80aeec2: 4ba2 ldr r3, [pc, #648] ; (80af14c ) 80aeec4: edd3 7a00 vldr s15, [r3] 80aeec8: ed9f 7aa1 vldr s14, [pc, #644] ; 80af150 80aeecc: ee67 7a87 vmul.f32 s15, s15, s14 80aeed0: 4b9e ldr r3, [pc, #632] ; (80af14c ) 80aeed2: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 0.5000011f; 80aeed6: 4b9b ldr r3, [pc, #620] ; (80af144 ) 80aeed8: edd3 7a00 vldr s15, [r3] 80aeedc: ed9f 7a9d vldr s14, [pc, #628] ; 80af154 80aeee0: ee67 7a87 vmul.f32 s15, s15, s14 80aeee4: 4b97 ldr r3, [pc, #604] ; (80af144 ) 80aeee6: edc3 7a00 vstr s15, [r3] LEGEND[2] *= 0.5000011f; 80aeeea: 4b96 ldr r3, [pc, #600] ; (80af144 ) 80aeeec: edd3 7a02 vldr s15, [r3, #8] 80aeef0: ed9f 7a98 vldr s14, [pc, #608] ; 80af154 80aeef4: ee67 7a87 vmul.f32 s15, s15, s14 80aeef8: 4b92 ldr r3, [pc, #584] ; (80af144 ) 80aeefa: edc3 7a02 vstr s15, [r3, #8] 80aeefe: e025 b.n 80aef4c if(ZOOM_OUT) 80aef00: 4b95 ldr r3, [pc, #596] ; (80af158 ) 80aef02: 781b ldrb r3, [r3, #0] 80aef04: b2db uxtb r3, r3 80aef06: 2b00 cmp r3, #0 80aef08: d020 beq.n 80aef4c ZOOM_OUT = false; 80aef0a: 4b93 ldr r3, [pc, #588] ; (80af158 ) 80aef0c: 2200 movs r2, #0 80aef0e: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80aef10: 4b8e ldr r3, [pc, #568] ; (80af14c ) 80aef12: edd3 7a00 vldr s15, [r3] 80aef16: ed9f 7a8f vldr s14, [pc, #572] ; 80af154 80aef1a: ee67 7a87 vmul.f32 s15, s15, s14 80aef1e: 4b8b ldr r3, [pc, #556] ; (80af14c ) 80aef20: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 2.0000011f; 80aef24: 4b87 ldr r3, [pc, #540] ; (80af144 ) 80aef26: edd3 7a00 vldr s15, [r3] 80aef2a: ed9f 7a89 vldr s14, [pc, #548] ; 80af150 80aef2e: ee67 7a87 vmul.f32 s15, s15, s14 80aef32: 4b84 ldr r3, [pc, #528] ; (80af144 ) 80aef34: edc3 7a00 vstr s15, [r3] LEGEND[2] *= 2.0000011f; 80aef38: 4b82 ldr r3, [pc, #520] ; (80af144 ) 80aef3a: edd3 7a02 vldr s15, [r3, #8] 80aef3e: ed9f 7a84 vldr s14, [pc, #528] ; 80af150 80aef42: ee67 7a87 vmul.f32 s15, s15, s14 80aef46: 4b7f ldr r3, [pc, #508] ; (80af144 ) 80aef48: edc3 7a02 vstr s15, [r3, #8] NumOverdrives = 0; 80aef4c: 4b83 ldr r3, [pc, #524] ; (80af15c ) 80aef4e: 2200 movs r2, #0 80aef50: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aef52: 4983 ldr r1, [pc, #524] ; (80af160 ) 80aef54: 4883 ldr r0, [pc, #524] ; (80af164 ) 80aef56: f7a5 fb5b bl 8054610 for(i = 0; i < 256; i++) 80aef5a: 2300 movs r3, #0 80aef5c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aef60: e230 b.n 80af3c4 k = avgOSC[ViewLevel][pardata.LNE]; 80aef62: 4b81 ldr r3, [pc, #516] ; (80af168 ) 80aef64: 781b ldrb r3, [r3, #0] 80aef66: b2db uxtb r3, r3 80aef68: 4619 mov r1, r3 80aef6a: 4b80 ldr r3, [pc, #512] ; (80af16c ) 80aef6c: 79db ldrb r3, [r3, #7] 80aef6e: b2db uxtb r3, r3 80aef70: 4618 mov r0, r3 80aef72: 4a7f ldr r2, [pc, #508] ; (80af170 ) 80aef74: 460b mov r3, r1 80aef76: 009b lsls r3, r3, #2 80aef78: 440b add r3, r1 80aef7a: 4413 add r3, r2 80aef7c: 4403 add r3, r0 80aef7e: 781b ldrb r3, [r3, #0] 80aef80: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 if(k == 1) 80aef84: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80aef88: 2b01 cmp r3, #1 80aef8a: f040 8101 bne.w 80af190 mF[MAXY] = ScrA_f32(i + X0); 80aef8e: 4b79 ldr r3, [pc, #484] ; (80af174 ) 80aef90: 881b ldrh r3, [r3, #0] 80aef92: b29b uxth r3, r3 80aef94: 461a mov r2, r3 80aef96: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aef9a: 4413 add r3, r2 80aef9c: 009a lsls r2, r3, #2 80aef9e: 4b76 ldr r3, [pc, #472] ; (80af178 ) 80aefa0: 4413 add r3, r2 80aefa2: 681b ldr r3, [r3, #0] 80aefa4: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80aefa8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aefac: 2b00 cmp r3, #0 80aefae: d004 beq.n 80aefba mF[MINY] = lastPointOSC[MAXY]; 80aefb0: 4b72 ldr r3, [pc, #456] ; (80af17c ) 80aefb2: 685b ldr r3, [r3, #4] 80aefb4: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80aefb8: e003 b.n 80aefc2 else mF[MINY] = mF[MAXY]; 80aefba: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80aefbe: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80aefc2: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80aefc6: 4a6d ldr r2, [pc, #436] ; (80af17c ) 80aefc8: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80aefca: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80aefce: 4b5f ldr r3, [pc, #380] ; (80af14c ) 80aefd0: edd3 7a00 vldr s15, [r3] 80aefd4: ee67 7a27 vmul.f32 s15, s14, s15 80aefd8: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80aefdc: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aefe0: 4b5a ldr r3, [pc, #360] ; (80af14c ) 80aefe2: edd3 7a00 vldr s15, [r3] 80aefe6: ee67 7a27 vmul.f32 s15, s14, s15 80aefea: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aefee: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aeff2: ed9f 7a63 vldr s14, [pc, #396] ; 80af180 80aeff6: eef4 7ac7 vcmpe.f32 s15, s14 80aeffa: eef1 fa10 vmrs APSR_nzcv, fpscr 80aeffe: dd02 ble.n 80af006 80af000: 4b60 ldr r3, [pc, #384] ; (80af184 ) 80af002: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80af006: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af00a: ed9f 7a5f vldr s14, [pc, #380] ; 80af188 80af00e: eef4 7ac7 vcmpe.f32 s15, s14 80af012: eef1 fa10 vmrs APSR_nzcv, fpscr 80af016: d502 bpl.n 80af01e 80af018: 4b5c ldr r3, [pc, #368] ; (80af18c ) 80af01a: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80af01e: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80af022: ed9f 7a57 vldr s14, [pc, #348] ; 80af180 80af026: eef4 7ac7 vcmpe.f32 s15, s14 80af02a: eef1 fa10 vmrs APSR_nzcv, fpscr 80af02e: dd02 ble.n 80af036 80af030: 4b54 ldr r3, [pc, #336] ; (80af184 ) 80af032: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80af036: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80af03a: ed9f 7a53 vldr s14, [pc, #332] ; 80af188 80af03e: eef4 7ac7 vcmpe.f32 s15, s14 80af042: eef1 fa10 vmrs APSR_nzcv, fpscr 80af046: d502 bpl.n 80af04e 80af048: 4b50 ldr r3, [pc, #320] ; (80af18c ) 80af04a: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80af04e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af052: eefd 7ae7 vcvt.s32.f32 s15, s15 80af056: edc7 7a01 vstr s15, [r7, #4] 80af05a: 88bb ldrh r3, [r7, #4] 80af05c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80af060: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80af064: eefd 7ae7 vcvt.s32.f32 s15, s15 80af068: edc7 7a01 vstr s15, [r7, #4] 80af06c: 88bb ldrh r3, [r7, #4] 80af06e: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80af072: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80af076: 2b50 cmp r3, #80 ; 0x50 80af078: dd08 ble.n 80af08c pMin = 80; 80af07a: 2350 movs r3, #80 ; 0x50 80af07c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80af080: 4b36 ldr r3, [pc, #216] ; (80af15c ) 80af082: 781b ldrb r3, [r3, #0] 80af084: 3301 adds r3, #1 80af086: b2da uxtb r2, r3 80af088: 4b34 ldr r3, [pc, #208] ; (80af15c ) 80af08a: 701a strb r2, [r3, #0] if(pMin < -80) 80af08c: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80af090: f113 0f50 cmn.w r3, #80 ; 0x50 80af094: da09 bge.n 80af0aa pMin = -80; 80af096: f64f 73b0 movw r3, #65456 ; 0xffb0 80af09a: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80af09e: 4b2f ldr r3, [pc, #188] ; (80af15c ) 80af0a0: 781b ldrb r3, [r3, #0] 80af0a2: 3301 adds r3, #1 80af0a4: b2da uxtb r2, r3 80af0a6: 4b2d ldr r3, [pc, #180] ; (80af15c ) 80af0a8: 701a strb r2, [r3, #0] if(pMax > 80) 80af0aa: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80af0ae: 2b50 cmp r3, #80 ; 0x50 80af0b0: dd08 ble.n 80af0c4 pMax = 80; 80af0b2: 2350 movs r3, #80 ; 0x50 80af0b4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80af0b8: 4b28 ldr r3, [pc, #160] ; (80af15c ) 80af0ba: 781b ldrb r3, [r3, #0] 80af0bc: 3301 adds r3, #1 80af0be: b2da uxtb r2, r3 80af0c0: 4b26 ldr r3, [pc, #152] ; (80af15c ) 80af0c2: 701a strb r2, [r3, #0] if(pMax < -80) 80af0c4: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80af0c8: f113 0f50 cmn.w r3, #80 ; 0x50 80af0cc: da09 bge.n 80af0e2 pMax = -80; 80af0ce: f64f 73b0 movw r3, #65456 ; 0xffb0 80af0d2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80af0d6: 4b21 ldr r3, [pc, #132] ; (80af15c ) 80af0d8: 781b ldrb r3, [r3, #0] 80af0da: 3301 adds r3, #1 80af0dc: b2da uxtb r2, r3 80af0de: 4b1f ldr r3, [pc, #124] ; (80af15c ) 80af0e0: 701a strb r2, [r3, #0] x = 62 + i; 80af0e2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af0e6: 333e adds r3, #62 ; 0x3e 80af0e8: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80af0ec: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af0f0: 2b00 cmp r3, #0 80af0f2: d112 bne.n 80af11a BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80af0f4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af0f8: b298 uxth r0, r3 80af0fa: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80af0fe: f1c3 038d rsb r3, r3, #141 ; 0x8d 80af102: b299 uxth r1, r3 80af104: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af108: b29a uxth r2, r3 80af10a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af10e: f1c3 038d rsb r3, r3, #141 ; 0x8d 80af112: b29b uxth r3, r3 80af114: f7a5 fcb6 bl 8054a84 80af118: e13b b.n 80af392 else BSP_LCD_DrawLine(x - 1, 141 - pMin, x, 141 - pMax); 80af11a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af11e: b29b uxth r3, r3 80af120: 3b01 subs r3, #1 80af122: b298 uxth r0, r3 80af124: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80af128: f1c3 038d rsb r3, r3, #141 ; 0x8d 80af12c: b299 uxth r1, r3 80af12e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af132: b29a uxth r2, r3 80af134: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af138: f1c3 038d rsb r3, r3, #141 ; 0x8d 80af13c: b29b uxth r3, r3 80af13e: f7a5 fca1 bl 8054a84 80af142: e126 b.n 80af392 80af144: 200685fc .word 0x200685fc 80af148: 20020fad .word 0x20020fad 80af14c: 20020998 .word 0x20020998 80af150: 40000005 .word 0x40000005 80af154: 3f000012 .word 0x3f000012 80af158: 20020fac .word 0x20020fac 80af15c: 20021696 .word 0x20021696 80af160: ff0a0f1f .word 0xff0a0f1f 80af164: ff26a01f .word 0xff26a01f 80af168: 20020fb8 .word 0x20020fb8 80af16c: 20023ea8 .word 0x20023ea8 80af170: 080f3968 .word 0x080f3968 80af174: 20025d66 .word 0x20025d66 80af178: 64080000 .word 0x64080000 80af17c: 20021698 .word 0x20021698 80af180: 46fffe00 .word 0x46fffe00 80af184: 46fffe00 .word 0x46fffe00 80af188: c6fffe00 .word 0xc6fffe00 80af18c: c6fffe00 .word 0xc6fffe00 arm_max_f32(&ScrA_f32(i * k + X0), k, &mF[MAXY], &idx); 80af190: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af194: f8d7 22a0 ldr.w r2, [r7, #672] ; 0x2a0 80af198: fb02 f303 mul.w r3, r2, r3 80af19c: 4ac4 ldr r2, [pc, #784] ; (80af4b0 ) 80af19e: 8812 ldrh r2, [r2, #0] 80af1a0: b292 uxth r2, r2 80af1a2: 4413 add r3, r2 80af1a4: 009a lsls r2, r3, #2 80af1a6: 4bc3 ldr r3, [pc, #780] ; (80af4b4 ) 80af1a8: 4413 add r3, r2 80af1aa: 4618 mov r0, r3 80af1ac: f507 711a add.w r1, r7, #616 ; 0x268 80af1b0: f507 731e add.w r3, r7, #632 ; 0x278 80af1b4: 1d1a adds r2, r3, #4 80af1b6: 460b mov r3, r1 80af1b8: f8d7 12a0 ldr.w r1, [r7, #672] ; 0x2a0 80af1bc: f01f f92a bl 80ce414 arm_min_f32(&ScrA_f32(i * k + X0), k, &mF[MINY], &idx); 80af1c0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af1c4: f8d7 22a0 ldr.w r2, [r7, #672] ; 0x2a0 80af1c8: fb02 f303 mul.w r3, r2, r3 80af1cc: 4ab8 ldr r2, [pc, #736] ; (80af4b0 ) 80af1ce: 8812 ldrh r2, [r2, #0] 80af1d0: b292 uxth r2, r2 80af1d2: 4413 add r3, r2 80af1d4: 009a lsls r2, r3, #2 80af1d6: 4bb7 ldr r3, [pc, #732] ; (80af4b4 ) 80af1d8: 4413 add r3, r2 80af1da: 4618 mov r0, r3 80af1dc: f507 731a add.w r3, r7, #616 ; 0x268 80af1e0: f507 721e add.w r2, r7, #632 ; 0x278 80af1e4: f8d7 12a0 ldr.w r1, [r7, #672] ; 0x2a0 80af1e8: f01f f878 bl 80ce2dc if(i > 0) 80af1ec: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af1f0: 2b00 cmp r3, #0 80af1f2: d01b beq.n 80af22c if(mF[MINY] > lastPointOSC[MAXY]) 80af1f4: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80af1f8: 4baf ldr r3, [pc, #700] ; (80af4b8 ) 80af1fa: edd3 7a01 vldr s15, [r3, #4] 80af1fe: eeb4 7ae7 vcmpe.f32 s14, s15 80af202: eef1 fa10 vmrs APSR_nzcv, fpscr 80af206: dd03 ble.n 80af210 mF[MINY] = lastPointOSC[MAXY]; 80af208: 4bab ldr r3, [pc, #684] ; (80af4b8 ) 80af20a: 685b ldr r3, [r3, #4] 80af20c: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80af210: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80af214: 4ba8 ldr r3, [pc, #672] ; (80af4b8 ) 80af216: edd3 7a00 vldr s15, [r3] 80af21a: eeb4 7ae7 vcmpe.f32 s14, s15 80af21e: eef1 fa10 vmrs APSR_nzcv, fpscr 80af222: d503 bpl.n 80af22c mF[MAXY] = lastPointOSC[MINY]; 80af224: 4ba4 ldr r3, [pc, #656] ; (80af4b8 ) 80af226: 681b ldr r3, [r3, #0] 80af228: f8c7 327c str.w r3, [r7, #636] ; 0x27c ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80af22c: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80af230: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80af234: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80af238: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80af23c: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80af240: 4a9d ldr r2, [pc, #628] ; (80af4b8 ) 80af242: 6013 str r3, [r2, #0] 80af244: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80af248: 4a9b ldr r2, [pc, #620] ; (80af4b8 ) 80af24a: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80af24c: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80af250: 4b9a ldr r3, [pc, #616] ; (80af4bc ) 80af252: edd3 7a00 vldr s15, [r3] 80af256: ee67 7a27 vmul.f32 s15, s14, s15 80af25a: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80af25e: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80af262: 4b96 ldr r3, [pc, #600] ; (80af4bc ) 80af264: edd3 7a00 vldr s15, [r3] 80af268: ee67 7a27 vmul.f32 s15, s14, s15 80af26c: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80af270: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af274: ed9f 7a92 vldr s14, [pc, #584] ; 80af4c0 80af278: eef4 7ac7 vcmpe.f32 s15, s14 80af27c: eef1 fa10 vmrs APSR_nzcv, fpscr 80af280: dd02 ble.n 80af288 80af282: 4b90 ldr r3, [pc, #576] ; (80af4c4 ) 80af284: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80af288: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af28c: ed9f 7a8e vldr s14, [pc, #568] ; 80af4c8 80af290: eef4 7ac7 vcmpe.f32 s15, s14 80af294: eef1 fa10 vmrs APSR_nzcv, fpscr 80af298: d502 bpl.n 80af2a0 80af29a: 4b8c ldr r3, [pc, #560] ; (80af4cc ) 80af29c: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80af2a0: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80af2a4: ed9f 7a86 vldr s14, [pc, #536] ; 80af4c0 80af2a8: eef4 7ac7 vcmpe.f32 s15, s14 80af2ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80af2b0: dd02 ble.n 80af2b8 80af2b2: 4b84 ldr r3, [pc, #528] ; (80af4c4 ) 80af2b4: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80af2b8: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80af2bc: ed9f 7a82 vldr s14, [pc, #520] ; 80af4c8 80af2c0: eef4 7ac7 vcmpe.f32 s15, s14 80af2c4: eef1 fa10 vmrs APSR_nzcv, fpscr 80af2c8: d502 bpl.n 80af2d0 80af2ca: 4b80 ldr r3, [pc, #512] ; (80af4cc ) 80af2cc: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80af2d0: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80af2d4: eefd 7ae7 vcvt.s32.f32 s15, s15 80af2d8: edc7 7a01 vstr s15, [r7, #4] 80af2dc: 88bb ldrh r3, [r7, #4] 80af2de: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80af2e2: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80af2e6: eefd 7ae7 vcvt.s32.f32 s15, s15 80af2ea: edc7 7a01 vstr s15, [r7, #4] 80af2ee: 88bb ldrh r3, [r7, #4] 80af2f0: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80af2f4: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80af2f8: 2b50 cmp r3, #80 ; 0x50 80af2fa: dd08 ble.n 80af30e pMin = 80; 80af2fc: 2350 movs r3, #80 ; 0x50 80af2fe: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80af302: 4b73 ldr r3, [pc, #460] ; (80af4d0 ) 80af304: 781b ldrb r3, [r3, #0] 80af306: 3301 adds r3, #1 80af308: b2da uxtb r2, r3 80af30a: 4b71 ldr r3, [pc, #452] ; (80af4d0 ) 80af30c: 701a strb r2, [r3, #0] if(pMin < -80) 80af30e: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80af312: f113 0f50 cmn.w r3, #80 ; 0x50 80af316: da09 bge.n 80af32c pMin = -80; 80af318: f64f 73b0 movw r3, #65456 ; 0xffb0 80af31c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80af320: 4b6b ldr r3, [pc, #428] ; (80af4d0 ) 80af322: 781b ldrb r3, [r3, #0] 80af324: 3301 adds r3, #1 80af326: b2da uxtb r2, r3 80af328: 4b69 ldr r3, [pc, #420] ; (80af4d0 ) 80af32a: 701a strb r2, [r3, #0] if(pMax > 80) 80af32c: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80af330: 2b50 cmp r3, #80 ; 0x50 80af332: dd08 ble.n 80af346 pMax = 80; 80af334: 2350 movs r3, #80 ; 0x50 80af336: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80af33a: 4b65 ldr r3, [pc, #404] ; (80af4d0 ) 80af33c: 781b ldrb r3, [r3, #0] 80af33e: 3301 adds r3, #1 80af340: b2da uxtb r2, r3 80af342: 4b63 ldr r3, [pc, #396] ; (80af4d0 ) 80af344: 701a strb r2, [r3, #0] if(pMax < -80) 80af346: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80af34a: f113 0f50 cmn.w r3, #80 ; 0x50 80af34e: da09 bge.n 80af364 pMax = -80; 80af350: f64f 73b0 movw r3, #65456 ; 0xffb0 80af354: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80af358: 4b5d ldr r3, [pc, #372] ; (80af4d0 ) 80af35a: 781b ldrb r3, [r3, #0] 80af35c: 3301 adds r3, #1 80af35e: b2da uxtb r2, r3 80af360: 4b5b ldr r3, [pc, #364] ; (80af4d0 ) 80af362: 701a strb r2, [r3, #0] x = 62 + i; 80af364: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af368: 333e adds r3, #62 ; 0x3e 80af36a: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80af36e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af372: b298 uxth r0, r3 80af374: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80af378: f1c3 038d rsb r3, r3, #141 ; 0x8d 80af37c: b299 uxth r1, r3 80af37e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80af382: b29a uxth r2, r3 80af384: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af388: f1c3 038d rsb r3, r3, #141 ; 0x8d 80af38c: b29b uxth r3, r3 80af38e: f7a5 fb79 bl 8054a84 if(pMax > Maximum) Maximum = pMax; 80af392: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80af396: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80af39a: 429a cmp r2, r3 80af39c: dd03 ble.n 80af3a6 80af39e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80af3a2: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80af3a6: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80af3aa: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80af3ae: 429a cmp r2, r3 80af3b0: da03 bge.n 80af3ba 80af3b2: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80af3b6: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80af3ba: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af3be: 3301 adds r3, #1 80af3c0: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80af3c4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80af3c8: 2bff cmp r3, #255 ; 0xff 80af3ca: f67f adca bls.w 80aef62 Maximum = ABS(Maximum); 80af3ce: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80af3d2: 2b00 cmp r3, #0 80af3d4: bfb8 it lt 80af3d6: 425b neglt r3, r3 80af3d8: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80af3dc: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80af3e0: 2b00 cmp r3, #0 80af3e2: bfb8 it lt 80af3e4: 425b neglt r3, r3 80af3e6: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80af3ea: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80af3ee: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80af3f2: 429a cmp r2, r3 80af3f4: dd03 ble.n 80af3fe Maximum = Minimum; 80af3f6: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80af3fa: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 BSP_LCD_SetFont(&Font8); 80af3fe: 4835 ldr r0, [pc, #212] ; (80af4d4 ) 80af400: f7a5 f942 bl 8054688 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80af404: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80af408: 4833 ldr r0, [pc, #204] ; (80af4d8 ) 80af40a: f7a5 f901 bl 8054610 if(ABS(LEGEND[2]) == 0.0f) { mmm = -1; } 80af40e: 4b33 ldr r3, [pc, #204] ; (80af4dc ) 80af410: edd3 7a02 vldr s15, [r3, #8] 80af414: eef5 7ac0 vcmpe.f32 s15, #0.0 80af418: eef1 fa10 vmrs APSR_nzcv, fpscr 80af41c: dd0b ble.n 80af436 80af41e: 4b2f ldr r3, [pc, #188] ; (80af4dc ) 80af420: edd3 7a02 vldr s15, [r3, #8] 80af424: eef5 7a40 vcmp.f32 s15, #0.0 80af428: eef1 fa10 vmrs APSR_nzcv, fpscr 80af42c: bf0c ite eq 80af42e: 2301 moveq r3, #1 80af430: 2300 movne r3, #0 80af432: b2db uxtb r3, r3 80af434: e00a b.n 80af44c 80af436: 4b29 ldr r3, [pc, #164] ; (80af4dc ) 80af438: edd3 7a02 vldr s15, [r3, #8] 80af43c: eef5 7a40 vcmp.f32 s15, #0.0 80af440: eef1 fa10 vmrs APSR_nzcv, fpscr 80af444: bf0c ite eq 80af446: 2301 moveq r3, #1 80af448: 2300 movne r3, #0 80af44a: b2db uxtb r3, r3 80af44c: 2b00 cmp r3, #0 80af44e: d003 beq.n 80af458 80af450: 23ff movs r3, #255 ; 0xff 80af452: f887 329f strb.w r3, [r7, #671] ; 0x29f 80af456: e071 b.n 80af53c else if(ABS(LEGEND[2]) < 1) { mmm = -4; } 80af458: 4b20 ldr r3, [pc, #128] ; (80af4dc ) 80af45a: edd3 7a02 vldr s15, [r3, #8] 80af45e: eef5 7ac0 vcmpe.f32 s15, #0.0 80af462: eef1 fa10 vmrs APSR_nzcv, fpscr 80af466: dd0d ble.n 80af484 80af468: 4b1c ldr r3, [pc, #112] ; (80af4dc ) 80af46a: edd3 7a02 vldr s15, [r3, #8] 80af46e: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80af472: eef4 7ac7 vcmpe.f32 s15, s14 80af476: eef1 fa10 vmrs APSR_nzcv, fpscr 80af47a: bf4c ite mi 80af47c: 2301 movmi r3, #1 80af47e: 2300 movpl r3, #0 80af480: b2db uxtb r3, r3 80af482: e00e b.n 80af4a2 80af484: 4b15 ldr r3, [pc, #84] ; (80af4dc ) 80af486: edd3 7a02 vldr s15, [r3, #8] 80af48a: eef1 7a67 vneg.f32 s15, s15 80af48e: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80af492: eef4 7ac7 vcmpe.f32 s15, s14 80af496: eef1 fa10 vmrs APSR_nzcv, fpscr 80af49a: bf4c ite mi 80af49c: 2301 movmi r3, #1 80af49e: 2300 movpl r3, #0 80af4a0: b2db uxtb r3, r3 80af4a2: 2b00 cmp r3, #0 80af4a4: d01c beq.n 80af4e0 80af4a6: 23fc movs r3, #252 ; 0xfc 80af4a8: f887 329f strb.w r3, [r7, #671] ; 0x29f 80af4ac: e046 b.n 80af53c 80af4ae: bf00 nop 80af4b0: 20025d66 .word 0x20025d66 80af4b4: 64080000 .word 0x64080000 80af4b8: 20021698 .word 0x20021698 80af4bc: 20020998 .word 0x20020998 80af4c0: 46fffe00 .word 0x46fffe00 80af4c4: 46fffe00 .word 0x46fffe00 80af4c8: c6fffe00 .word 0xc6fffe00 80af4cc: c6fffe00 .word 0xc6fffe00 80af4d0: 20021696 .word 0x20021696 80af4d4: 20020060 .word 0x20020060 80af4d8: ff808080 .word 0xff808080 80af4dc: 200685fc .word 0x200685fc else if(ABS(LEGEND[2]) < 10) { mmm = -1; } 80af4e0: 4b33 ldr r3, [pc, #204] ; (80af5b0 ) 80af4e2: edd3 7a02 vldr s15, [r3, #8] 80af4e6: eef5 7ac0 vcmpe.f32 s15, #0.0 80af4ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80af4ee: dd0d ble.n 80af50c 80af4f0: 4b2f ldr r3, [pc, #188] ; (80af5b0 ) 80af4f2: edd3 7a02 vldr s15, [r3, #8] 80af4f6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80af4fa: eef4 7ac7 vcmpe.f32 s15, s14 80af4fe: eef1 fa10 vmrs APSR_nzcv, fpscr 80af502: bf4c ite mi 80af504: 2301 movmi r3, #1 80af506: 2300 movpl r3, #0 80af508: b2db uxtb r3, r3 80af50a: e00e b.n 80af52a 80af50c: 4b28 ldr r3, [pc, #160] ; (80af5b0 ) 80af50e: edd3 7a02 vldr s15, [r3, #8] 80af512: eef1 7a67 vneg.f32 s15, s15 80af516: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80af51a: eef4 7ac7 vcmpe.f32 s15, s14 80af51e: eef1 fa10 vmrs APSR_nzcv, fpscr 80af522: bf4c ite mi 80af524: 2301 movmi r3, #1 80af526: 2300 movpl r3, #0 80af528: b2db uxtb r3, r3 80af52a: 2b00 cmp r3, #0 80af52c: d003 beq.n 80af536 80af52e: 23ff movs r3, #255 ; 0xff 80af530: f887 329f strb.w r3, [r7, #671] ; 0x29f 80af534: e002 b.n 80af53c else { mmm = 0; } 80af536: 2300 movs r3, #0 80af538: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8, (char *) FloatToASCII(LEGEND[2], mmm), RIGHT_MODE); 80af53c: 4b1c ldr r3, [pc, #112] ; (80af5b0 ) 80af53e: edd3 7a02 vldr s15, [r3, #8] 80af542: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80af546: 4618 mov r0, r3 80af548: eeb0 0a67 vmov.f32 s0, s15 80af54c: f7b8 f828 bl 80675a0 80af550: 4602 mov r2, r0 80af552: 2302 movs r3, #2 80af554: 2154 movs r1, #84 ; 0x54 80af556: f44f 709e mov.w r0, #316 ; 0x13c 80af55a: f7a5 f91f bl 805479c BSP_LCD_DisplayStringAt(316, 92-8+49, (char *) FloatToASCII(LEGEND[1], -1), RIGHT_MODE); 80af55e: 4b14 ldr r3, [pc, #80] ; (80af5b0 ) 80af560: edd3 7a01 vldr s15, [r3, #4] 80af564: f04f 30ff mov.w r0, #4294967295 80af568: eeb0 0a67 vmov.f32 s0, s15 80af56c: f7b8 f818 bl 80675a0 80af570: 4602 mov r2, r0 80af572: 2302 movs r3, #2 80af574: 2185 movs r1, #133 ; 0x85 80af576: f44f 709e mov.w r0, #316 ; 0x13c 80af57a: f7a5 f90f bl 805479c BSP_LCD_DisplayStringAt(316, 92-8+98, (char *) FloatToASCII(LEGEND[0], mmm), RIGHT_MODE); 80af57e: 4b0c ldr r3, [pc, #48] ; (80af5b0 ) 80af580: edd3 7a00 vldr s15, [r3] 80af584: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80af588: 4618 mov r0, r3 80af58a: eeb0 0a67 vmov.f32 s0, s15 80af58e: f7b8 f807 bl 80675a0 80af592: 4602 mov r2, r0 80af594: 2302 movs r3, #2 80af596: 21b6 movs r1, #182 ; 0xb6 80af598: f44f 709e mov.w r0, #316 ; 0x13c 80af59c: f7a5 f8fe bl 805479c } 80af5a0: e000 b.n 80af5a4 { 80af5a2: bf00 nop } 80af5a4: bf00 nop 80af5a6: f507 772f add.w r7, r7, #700 ; 0x2bc 80af5aa: 46bd mov sp, r7 80af5ac: bd90 pop {r4, r7, pc} 80af5ae: bf00 nop 80af5b0: 200685fc .word 0x200685fc 080af5b4 : void DrawScaleValue(void) { 80af5b4: b5b0 push {r4, r5, r7, lr} 80af5b6: b08c sub sp, #48 ; 0x30 80af5b8: af00 add r7, sp, #0 uint32_t step, i, k, t = 0; 80af5ba: 2300 movs r3, #0 80af5bc: 62bb str r3, [r7, #40] ; 0x28 uint8_t *p; char str[7]; float32_t f, fosc[3], dt; BSP_LCD_SetFont(&Font8); 80af5be: 489a ldr r0, [pc, #616] ; (80af828 ) 80af5c0: f7a5 f862 bl 8054688 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80af5c4: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80af5c8: 4898 ldr r0, [pc, #608] ; (80af82c ) 80af5ca: f7a5 f821 bl 8054610 k = FsIndex(); 80af5ce: f7b7 ff8d bl 80674ec 80af5d2: 6278 str r0, [r7, #36] ; 0x24 if(menu == MAIN_SYGNAL) 80af5d4: 4b96 ldr r3, [pc, #600] ; (80af830 ) 80af5d6: 781b ldrb r3, [r3, #0] 80af5d8: b2db uxtb r3, r3 80af5da: 2b20 cmp r3, #32 80af5dc: f040 8111 bne.w 80af802 { step = PlayingState.FrameSize >> 8; 80af5e0: 4b94 ldr r3, [pc, #592] ; (80af834 ) 80af5e2: 689b ldr r3, [r3, #8] 80af5e4: 0a1b lsrs r3, r3, #8 80af5e6: 623b str r3, [r7, #32] dt = (PlayingState.TimeLength / (float32_t) PlayingState.NumFrames) / ((float32_t) PlayingState.FrameSize); 80af5e8: 4b92 ldr r3, [pc, #584] ; (80af834 ) 80af5ea: ed93 7a07 vldr s14, [r3, #28] 80af5ee: 4b91 ldr r3, [pc, #580] ; (80af834 ) 80af5f0: 685b ldr r3, [r3, #4] 80af5f2: ee07 3a90 vmov s15, r3 80af5f6: eef8 7a67 vcvt.f32.u32 s15, s15 80af5fa: eec7 6a27 vdiv.f32 s13, s14, s15 80af5fe: 4b8d ldr r3, [pc, #564] ; (80af834 ) 80af600: 689b ldr r3, [r3, #8] 80af602: ee07 3a90 vmov s15, r3 80af606: eeb8 7a67 vcvt.f32.u32 s14, s15 80af60a: eec6 7a87 vdiv.f32 s15, s13, s14 80af60e: edc7 7a07 vstr s15, [r7, #28] t = 0; 80af612: 2300 movs r3, #0 80af614: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80af616: 2300 movs r3, #0 80af618: 62fb str r3, [r7, #44] ; 0x2c 80af61a: e06f b.n 80af6fc { if(PlayingState.CurrentFrame < PlayingState.NumFrames) 80af61c: 4b85 ldr r3, [pc, #532] ; (80af834 ) 80af61e: 681a ldr r2, [r3, #0] 80af620: 4b84 ldr r3, [pc, #528] ; (80af834 ) 80af622: 685b ldr r3, [r3, #4] 80af624: 429a cmp r2, r3 80af626: d212 bcs.n 80af64e fosc[i] = (float32_t) (PlayingState.CurrentFrame * PlayingState.FrameSize); 80af628: 4b82 ldr r3, [pc, #520] ; (80af834 ) 80af62a: 681b ldr r3, [r3, #0] 80af62c: 4a81 ldr r2, [pc, #516] ; (80af834 ) 80af62e: 6892 ldr r2, [r2, #8] 80af630: fb02 f303 mul.w r3, r2, r3 80af634: ee07 3a90 vmov s15, r3 80af638: eef8 7a67 vcvt.f32.u32 s15, s15 80af63c: 6afb ldr r3, [r7, #44] ; 0x2c 80af63e: 009b lsls r3, r3, #2 80af640: f107 0230 add.w r2, r7, #48 ; 0x30 80af644: 4413 add r3, r2 80af646: 3b30 subs r3, #48 ; 0x30 80af648: edc3 7a00 vstr s15, [r3] 80af64c: e012 b.n 80af674 else fosc[i] = (float32_t) ((PlayingState.NumFrames - 1) * PlayingState.FrameSize); 80af64e: 4b79 ldr r3, [pc, #484] ; (80af834 ) 80af650: 685b ldr r3, [r3, #4] 80af652: 3b01 subs r3, #1 80af654: 4a77 ldr r2, [pc, #476] ; (80af834 ) 80af656: 6892 ldr r2, [r2, #8] 80af658: fb02 f303 mul.w r3, r2, r3 80af65c: ee07 3a90 vmov s15, r3 80af660: eef8 7a67 vcvt.f32.u32 s15, s15 80af664: 6afb ldr r3, [r7, #44] ; 0x2c 80af666: 009b lsls r3, r3, #2 80af668: f107 0230 add.w r2, r7, #48 ; 0x30 80af66c: 4413 add r3, r2 80af66e: 3b30 subs r3, #48 ; 0x30 80af670: edc3 7a00 vstr s15, [r3] fosc[i] += (float32_t) ((64 + 64 * i) * step); 80af674: 6afb ldr r3, [r7, #44] ; 0x2c 80af676: 009b lsls r3, r3, #2 80af678: f107 0230 add.w r2, r7, #48 ; 0x30 80af67c: 4413 add r3, r2 80af67e: 3b30 subs r3, #48 ; 0x30 80af680: ed93 7a00 vldr s14, [r3] 80af684: 6afb ldr r3, [r7, #44] ; 0x2c 80af686: 3301 adds r3, #1 80af688: 6a3a ldr r2, [r7, #32] 80af68a: fb02 f303 mul.w r3, r2, r3 80af68e: 019b lsls r3, r3, #6 80af690: ee07 3a90 vmov s15, r3 80af694: eef8 7a67 vcvt.f32.u32 s15, s15 80af698: ee77 7a27 vadd.f32 s15, s14, s15 80af69c: 6afb ldr r3, [r7, #44] ; 0x2c 80af69e: 009b lsls r3, r3, #2 80af6a0: f107 0230 add.w r2, r7, #48 ; 0x30 80af6a4: 4413 add r3, r2 80af6a6: 3b30 subs r3, #48 ; 0x30 80af6a8: edc3 7a00 vstr s15, [r3] //fosc[i] *= (float32_t) step; fosc[i] *= dt; 80af6ac: 6afb ldr r3, [r7, #44] ; 0x2c 80af6ae: 009b lsls r3, r3, #2 80af6b0: f107 0230 add.w r2, r7, #48 ; 0x30 80af6b4: 4413 add r3, r2 80af6b6: 3b30 subs r3, #48 ; 0x30 80af6b8: ed93 7a00 vldr s14, [r3] 80af6bc: edd7 7a07 vldr s15, [r7, #28] 80af6c0: ee67 7a27 vmul.f32 s15, s14, s15 80af6c4: 6afb ldr r3, [r7, #44] ; 0x2c 80af6c6: 009b lsls r3, r3, #2 80af6c8: f107 0230 add.w r2, r7, #48 ; 0x30 80af6cc: 4413 add r3, r2 80af6ce: 3b30 subs r3, #48 ; 0x30 80af6d0: edc3 7a00 vstr s15, [r3] if(fosc[i] >= 1000.0f) { 80af6d4: 6afb ldr r3, [r7, #44] ; 0x2c 80af6d6: 009b lsls r3, r3, #2 80af6d8: f107 0230 add.w r2, r7, #48 ; 0x30 80af6dc: 4413 add r3, r2 80af6de: 3b30 subs r3, #48 ; 0x30 80af6e0: edd3 7a00 vldr s15, [r3] 80af6e4: ed9f 7a54 vldr s14, [pc, #336] ; 80af838 80af6e8: eef4 7ac7 vcmpe.f32 s15, s14 80af6ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80af6f0: db01 blt.n 80af6f6 t = 1; 80af6f2: 2301 movs r3, #1 80af6f4: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80af6f6: 6afb ldr r3, [r7, #44] ; 0x2c 80af6f8: 3301 adds r3, #1 80af6fa: 62fb str r3, [r7, #44] ; 0x2c 80af6fc: 6afb ldr r3, [r7, #44] ; 0x2c 80af6fe: 2b02 cmp r3, #2 80af700: d98c bls.n 80af61c } } for(i = 0; i < 3; i++) 80af702: 2300 movs r3, #0 80af704: 62fb str r3, [r7, #44] ; 0x2c 80af706: e04e b.n 80af7a6 { if(t == 0) 80af708: 6abb ldr r3, [r7, #40] ; 0x28 80af70a: 2b00 cmp r3, #0 80af70c: d11a bne.n 80af744 BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -3), LEFT_MODE); 80af70e: 6afb ldr r3, [r7, #44] ; 0x2c 80af710: b29b uxth r3, r3 80af712: 019b lsls r3, r3, #6 80af714: b29b uxth r3, r3 80af716: 3378 adds r3, #120 ; 0x78 80af718: b29c uxth r4, r3 80af71a: 6afb ldr r3, [r7, #44] ; 0x2c 80af71c: 009b lsls r3, r3, #2 80af71e: f107 0230 add.w r2, r7, #48 ; 0x30 80af722: 4413 add r3, r2 80af724: 3b30 subs r3, #48 ; 0x30 80af726: edd3 7a00 vldr s15, [r3] 80af72a: f06f 0002 mvn.w r0, #2 80af72e: eeb0 0a67 vmov.f32 s0, s15 80af732: f7b7 ff35 bl 80675a0 80af736: 4602 mov r2, r0 80af738: 2303 movs r3, #3 80af73a: 21e2 movs r1, #226 ; 0xe2 80af73c: 4620 mov r0, r4 80af73e: f7a5 f82d bl 805479c 80af742: e02d b.n 80af7a0 else { fosc[i] *= 0.001f; 80af744: 6afb ldr r3, [r7, #44] ; 0x2c 80af746: 009b lsls r3, r3, #2 80af748: f107 0230 add.w r2, r7, #48 ; 0x30 80af74c: 4413 add r3, r2 80af74e: 3b30 subs r3, #48 ; 0x30 80af750: edd3 7a00 vldr s15, [r3] 80af754: ed9f 7a39 vldr s14, [pc, #228] ; 80af83c 80af758: ee67 7a87 vmul.f32 s15, s15, s14 80af75c: 6afb ldr r3, [r7, #44] ; 0x2c 80af75e: 009b lsls r3, r3, #2 80af760: f107 0230 add.w r2, r7, #48 ; 0x30 80af764: 4413 add r3, r2 80af766: 3b30 subs r3, #48 ; 0x30 80af768: edc3 7a00 vstr s15, [r3] BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -3), LEFT_MODE); 80af76c: 6afb ldr r3, [r7, #44] ; 0x2c 80af76e: b29b uxth r3, r3 80af770: 019b lsls r3, r3, #6 80af772: b29b uxth r3, r3 80af774: 3378 adds r3, #120 ; 0x78 80af776: b29c uxth r4, r3 80af778: 6afb ldr r3, [r7, #44] ; 0x2c 80af77a: 009b lsls r3, r3, #2 80af77c: f107 0230 add.w r2, r7, #48 ; 0x30 80af780: 4413 add r3, r2 80af782: 3b30 subs r3, #48 ; 0x30 80af784: edd3 7a00 vldr s15, [r3] 80af788: f06f 0002 mvn.w r0, #2 80af78c: eeb0 0a67 vmov.f32 s0, s15 80af790: f7b7 ff06 bl 80675a0 80af794: 4602 mov r2, r0 80af796: 2303 movs r3, #3 80af798: 21e2 movs r1, #226 ; 0xe2 80af79a: 4620 mov r0, r4 80af79c: f7a4 fffe bl 805479c for(i = 0; i < 3; i++) 80af7a0: 6afb ldr r3, [r7, #44] ; 0x2c 80af7a2: 3301 adds r3, #1 80af7a4: 62fb str r3, [r7, #44] ; 0x2c 80af7a6: 6afb ldr r3, [r7, #44] ; 0x2c 80af7a8: 2b02 cmp r3, #2 80af7aa: d9ad bls.n 80af708 } } if(pardata.LANG == RUS) 80af7ac: 4b24 ldr r3, [pc, #144] ; (80af840 ) 80af7ae: 7b1b ldrb r3, [r3, #12] 80af7b0: b2db uxtb r3, r3 80af7b2: 2b00 cmp r3, #0 80af7b4: d112 bne.n 80af7dc { if(t == 0) 80af7b6: 6abb ldr r3, [r7, #40] ; 0x28 80af7b8: 2b00 cmp r3, #0 80af7ba: d107 bne.n 80af7cc BSP_LCD_DisplayStringAt(300, 226, "C", LEFT_MODE); 80af7bc: 2303 movs r3, #3 80af7be: 4a21 ldr r2, [pc, #132] ; (80af844 ) 80af7c0: 21e2 movs r1, #226 ; 0xe2 80af7c2: f44f 7096 mov.w r0, #300 ; 0x12c 80af7c6: f7a4 ffe9 bl 805479c } } } 80af7ca: e3f7 b.n 80affbc else BSP_LCD_DisplayStringAt(300, 226, "MC", LEFT_MODE); 80af7cc: 2303 movs r3, #3 80af7ce: 4a1e ldr r2, [pc, #120] ; (80af848 ) 80af7d0: 21e2 movs r1, #226 ; 0xe2 80af7d2: f44f 7096 mov.w r0, #300 ; 0x12c 80af7d6: f7a4 ffe1 bl 805479c } 80af7da: e3ef b.n 80affbc if(t == 0) 80af7dc: 6abb ldr r3, [r7, #40] ; 0x28 80af7de: 2b00 cmp r3, #0 80af7e0: d107 bne.n 80af7f2 BSP_LCD_DisplayStringAt(300, 226, "s", LEFT_MODE); 80af7e2: 2303 movs r3, #3 80af7e4: 4a19 ldr r2, [pc, #100] ; (80af84c ) 80af7e6: 21e2 movs r1, #226 ; 0xe2 80af7e8: f44f 7096 mov.w r0, #300 ; 0x12c 80af7ec: f7a4 ffd6 bl 805479c } 80af7f0: e3e4 b.n 80affbc else BSP_LCD_DisplayStringAt(300, 226, "ms", LEFT_MODE); 80af7f2: 2303 movs r3, #3 80af7f4: 4a16 ldr r2, [pc, #88] ; (80af850 ) 80af7f6: 21e2 movs r1, #226 ; 0xe2 80af7f8: f44f 7096 mov.w r0, #300 ; 0x12c 80af7fc: f7a4 ffce bl 805479c } 80af800: e3dc b.n 80affbc if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == ROLL)) 80af802: 4b0f ldr r3, [pc, #60] ; (80af840 ) 80af804: 781b ldrb r3, [r3, #0] 80af806: b2db uxtb r3, r3 80af808: 2b01 cmp r3, #1 80af80a: d00a beq.n 80af822 80af80c: 4b0c ldr r3, [pc, #48] ; (80af840 ) 80af80e: 781b ldrb r3, [r3, #0] 80af810: b2db uxtb r3, r3 80af812: 2b05 cmp r3, #5 80af814: d005 beq.n 80af822 80af816: 4b0a ldr r3, [pc, #40] ; (80af840 ) 80af818: 781b ldrb r3, [r3, #0] 80af81a: b2db uxtb r3, r3 80af81c: 2b08 cmp r3, #8 80af81e: f040 80b1 bne.w 80af984 for(i = 0; i < 3; i++) 80af822: 2300 movs r3, #0 80af824: 62fb str r3, [r7, #44] ; 0x2c 80af826: e094 b.n 80af952 80af828: 20020060 .word 0x20020060 80af82c: ff808080 .word 0xff808080 80af830: 20020fbd .word 0x20020fbd 80af834: 20022920 .word 0x20022920 80af838: 447a0000 .word 0x447a0000 80af83c: 3a83126f .word 0x3a83126f 80af840: 20023ea8 .word 0x20023ea8 80af844: 080d4e60 .word 0x080d4e60 80af848: 080d4e64 .word 0x080d4e64 80af84c: 080d4de4 .word 0x080d4de4 80af850: 080d4df4 .word 0x080d4df4 f = (float32_t) (X0 + (64 + 64 * i) * avgSPC[ViewLevel][pardata.LNE]); 80af854: 4b9c ldr r3, [pc, #624] ; (80afac8 ) 80af856: 881b ldrh r3, [r3, #0] 80af858: b29b uxth r3, r3 80af85a: 4618 mov r0, r3 80af85c: 6afb ldr r3, [r7, #44] ; 0x2c 80af85e: 3301 adds r3, #1 80af860: 4a9a ldr r2, [pc, #616] ; (80afacc ) 80af862: 7812 ldrb r2, [r2, #0] 80af864: b2d2 uxtb r2, r2 80af866: 4615 mov r5, r2 80af868: 4a99 ldr r2, [pc, #612] ; (80afad0 ) 80af86a: 79d2 ldrb r2, [r2, #7] 80af86c: b2d2 uxtb r2, r2 80af86e: 4614 mov r4, r2 80af870: 4998 ldr r1, [pc, #608] ; (80afad4 ) 80af872: 00aa lsls r2, r5, #2 80af874: 440a add r2, r1 80af876: 4422 add r2, r4 80af878: 7812 ldrb r2, [r2, #0] 80af87a: fb02 f303 mul.w r3, r2, r3 80af87e: 019b lsls r3, r3, #6 80af880: 4403 add r3, r0 80af882: ee07 3a90 vmov s15, r3 80af886: eef8 7a67 vcvt.f32.u32 s15, s15 80af88a: edc7 7a06 vstr s15, [r7, #24] f *= Delta_SPC[k][pardata.LNE]; 80af88e: 4b90 ldr r3, [pc, #576] ; (80afad0 ) 80af890: 79db ldrb r3, [r3, #7] 80af892: b2db uxtb r3, r3 80af894: 4619 mov r1, r3 80af896: 4a90 ldr r2, [pc, #576] ; (80afad8 ) 80af898: 6a7b ldr r3, [r7, #36] ; 0x24 80af89a: 009b lsls r3, r3, #2 80af89c: 440b add r3, r1 80af89e: 009b lsls r3, r3, #2 80af8a0: 4413 add r3, r2 80af8a2: edd3 7a00 vldr s15, [r3] 80af8a6: ed97 7a06 vldr s14, [r7, #24] 80af8aa: ee67 7a27 vmul.f32 s15, s14, s15 80af8ae: edc7 7a06 vstr s15, [r7, #24] if(f >= 1000.0f) 80af8b2: edd7 7a06 vldr s15, [r7, #24] 80af8b6: ed9f 7a89 vldr s14, [pc, #548] ; 80afadc 80af8ba: eef4 7ac7 vcmpe.f32 s15, s14 80af8be: eef1 fa10 vmrs APSR_nzcv, fpscr 80af8c2: db32 blt.n 80af92a f *= 0.001f; 80af8c4: edd7 7a06 vldr s15, [r7, #24] 80af8c8: ed9f 7a85 vldr s14, [pc, #532] ; 80afae0 80af8cc: ee67 7a87 vmul.f32 s15, s15, s14 80af8d0: edc7 7a06 vstr s15, [r7, #24] p = FloatToASCII(f, -2); 80af8d4: f06f 0001 mvn.w r0, #1 80af8d8: ed97 0a06 vldr s0, [r7, #24] 80af8dc: f7b7 fe60 bl 80675a0 80af8e0: 6178 str r0, [r7, #20] memcpy((void *)str, (void *)p, sizeof(str)); 80af8e2: 697a ldr r2, [r7, #20] 80af8e4: f107 030c add.w r3, r7, #12 80af8e8: 6810 ldr r0, [r2, #0] 80af8ea: 6018 str r0, [r3, #0] 80af8ec: 8891 ldrh r1, [r2, #4] 80af8ee: 7992 ldrb r2, [r2, #6] 80af8f0: 8099 strh r1, [r3, #4] 80af8f2: 719a strb r2, [r3, #6] if(f >= 10.0f) 80af8f4: edd7 7a06 vldr s15, [r7, #24] 80af8f8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80af8fc: eef4 7ac7 vcmpe.f32 s15, s14 80af900: eef1 fa10 vmrs APSR_nzcv, fpscr 80af904: db02 blt.n 80af90c str[5] = 'k'; 80af906: 236b movs r3, #107 ; 0x6b 80af908: 747b strb r3, [r7, #17] 80af90a: e001 b.n 80af910 else str[4] = 'k'; 80af90c: 236b movs r3, #107 ; 0x6b 80af90e: 743b strb r3, [r7, #16] BSP_LCD_DisplayStringAt(120 + (i << 6), 226, str, LEFT_MODE); 80af910: 6afb ldr r3, [r7, #44] ; 0x2c 80af912: b29b uxth r3, r3 80af914: 019b lsls r3, r3, #6 80af916: b29b uxth r3, r3 80af918: 3378 adds r3, #120 ; 0x78 80af91a: b298 uxth r0, r3 80af91c: f107 020c add.w r2, r7, #12 80af920: 2303 movs r3, #3 80af922: 21e2 movs r1, #226 ; 0xe2 80af924: f7a4 ff3a bl 805479c 80af928: e010 b.n 80af94c BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(f, 0), LEFT_MODE); 80af92a: 6afb ldr r3, [r7, #44] ; 0x2c 80af92c: b29b uxth r3, r3 80af92e: 019b lsls r3, r3, #6 80af930: b29b uxth r3, r3 80af932: 3378 adds r3, #120 ; 0x78 80af934: b29c uxth r4, r3 80af936: 2000 movs r0, #0 80af938: ed97 0a06 vldr s0, [r7, #24] 80af93c: f7b7 fe30 bl 80675a0 80af940: 4602 mov r2, r0 80af942: 2303 movs r3, #3 80af944: 21e2 movs r1, #226 ; 0xe2 80af946: 4620 mov r0, r4 80af948: f7a4 ff28 bl 805479c for(i = 0; i < 3; i++) 80af94c: 6afb ldr r3, [r7, #44] ; 0x2c 80af94e: 3301 adds r3, #1 80af950: 62fb str r3, [r7, #44] ; 0x2c 80af952: 6afb ldr r3, [r7, #44] ; 0x2c 80af954: 2b02 cmp r3, #2 80af956: f67f af7d bls.w 80af854 if(pardata.LANG == RUS) 80af95a: 4b5d ldr r3, [pc, #372] ; (80afad0 ) 80af95c: 7b1b ldrb r3, [r3, #12] 80af95e: b2db uxtb r3, r3 80af960: 2b00 cmp r3, #0 80af962: d107 bne.n 80af974 BSP_LCD_DisplayStringAt(300, 226, "$%", LEFT_MODE); 80af964: 2303 movs r3, #3 80af966: 4a5f ldr r2, [pc, #380] ; (80afae4 ) 80af968: 21e2 movs r1, #226 ; 0xe2 80af96a: f44f 7096 mov.w r0, #300 ; 0x12c 80af96e: f7a4 ff15 bl 805479c if(pardata.LANG == RUS) 80af972: e323 b.n 80affbc else BSP_LCD_DisplayStringAt(300, 226, "Hz", LEFT_MODE); 80af974: 2303 movs r3, #3 80af976: 4a5c ldr r2, [pc, #368] ; (80afae8 ) 80af978: 21e2 movs r1, #226 ; 0xe2 80af97a: f44f 7096 mov.w r0, #300 ; 0x12c 80af97e: f7a4 ff0d bl 805479c if(pardata.LANG == RUS) 80af982: e31b b.n 80affbc if(pardata.SYG == UDAR) //TODO UDAR 80af984: 4b52 ldr r3, [pc, #328] ; (80afad0 ) 80af986: 781b ldrb r3, [r3, #0] 80af988: b2db uxtb r3, r3 80af98a: 2b09 cmp r3, #9 80af98c: f040 80ae bne.w 80afaec for(i = 0; i < 3; i++) 80af990: 2300 movs r3, #0 80af992: 62fb str r3, [r7, #44] ; 0x2c 80af994: e07e b.n 80afa94 f = (float32_t) (X0 + (64 + 64 * i) * avgSPC[ViewLevel][pardata.LNE]); 80af996: 4b4c ldr r3, [pc, #304] ; (80afac8 ) 80af998: 881b ldrh r3, [r3, #0] 80af99a: b29b uxth r3, r3 80af99c: 4618 mov r0, r3 80af99e: 6afb ldr r3, [r7, #44] ; 0x2c 80af9a0: 3301 adds r3, #1 80af9a2: 4a4a ldr r2, [pc, #296] ; (80afacc ) 80af9a4: 7812 ldrb r2, [r2, #0] 80af9a6: b2d2 uxtb r2, r2 80af9a8: 4615 mov r5, r2 80af9aa: 4a49 ldr r2, [pc, #292] ; (80afad0 ) 80af9ac: 79d2 ldrb r2, [r2, #7] 80af9ae: b2d2 uxtb r2, r2 80af9b0: 4614 mov r4, r2 80af9b2: 4948 ldr r1, [pc, #288] ; (80afad4 ) 80af9b4: 00aa lsls r2, r5, #2 80af9b6: 440a add r2, r1 80af9b8: 4422 add r2, r4 80af9ba: 7812 ldrb r2, [r2, #0] 80af9bc: fb02 f303 mul.w r3, r2, r3 80af9c0: 019b lsls r3, r3, #6 80af9c2: 4403 add r3, r0 80af9c4: ee07 3a90 vmov s15, r3 80af9c8: eef8 7a67 vcvt.f32.u32 s15, s15 80af9cc: edc7 7a06 vstr s15, [r7, #24] f *= Delta_SPC[k][pardata.LNE]; 80af9d0: 4b3f ldr r3, [pc, #252] ; (80afad0 ) 80af9d2: 79db ldrb r3, [r3, #7] 80af9d4: b2db uxtb r3, r3 80af9d6: 4619 mov r1, r3 80af9d8: 4a3f ldr r2, [pc, #252] ; (80afad8 ) 80af9da: 6a7b ldr r3, [r7, #36] ; 0x24 80af9dc: 009b lsls r3, r3, #2 80af9de: 440b add r3, r1 80af9e0: 009b lsls r3, r3, #2 80af9e2: 4413 add r3, r2 80af9e4: edd3 7a00 vldr s15, [r3] 80af9e8: ed97 7a06 vldr s14, [r7, #24] 80af9ec: ee67 7a27 vmul.f32 s15, s14, s15 80af9f0: edc7 7a06 vstr s15, [r7, #24] if(f >= 1000.0f) 80af9f4: edd7 7a06 vldr s15, [r7, #24] 80af9f8: ed9f 7a38 vldr s14, [pc, #224] ; 80afadc 80af9fc: eef4 7ac7 vcmpe.f32 s15, s14 80afa00: eef1 fa10 vmrs APSR_nzcv, fpscr 80afa04: db32 blt.n 80afa6c f *= 0.001f; 80afa06: edd7 7a06 vldr s15, [r7, #24] 80afa0a: ed9f 7a35 vldr s14, [pc, #212] ; 80afae0 80afa0e: ee67 7a87 vmul.f32 s15, s15, s14 80afa12: edc7 7a06 vstr s15, [r7, #24] p = FloatToASCII(f, -2); 80afa16: f06f 0001 mvn.w r0, #1 80afa1a: ed97 0a06 vldr s0, [r7, #24] 80afa1e: f7b7 fdbf bl 80675a0 80afa22: 6178 str r0, [r7, #20] memcpy((void *)str, (void *)p, sizeof(str)); 80afa24: 697a ldr r2, [r7, #20] 80afa26: f107 030c add.w r3, r7, #12 80afa2a: 6810 ldr r0, [r2, #0] 80afa2c: 6018 str r0, [r3, #0] 80afa2e: 8891 ldrh r1, [r2, #4] 80afa30: 7992 ldrb r2, [r2, #6] 80afa32: 8099 strh r1, [r3, #4] 80afa34: 719a strb r2, [r3, #6] if(f >= 10.0f) 80afa36: edd7 7a06 vldr s15, [r7, #24] 80afa3a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80afa3e: eef4 7ac7 vcmpe.f32 s15, s14 80afa42: eef1 fa10 vmrs APSR_nzcv, fpscr 80afa46: db02 blt.n 80afa4e str[5] = 'k'; 80afa48: 236b movs r3, #107 ; 0x6b 80afa4a: 747b strb r3, [r7, #17] 80afa4c: e001 b.n 80afa52 else str[4] = 'k'; 80afa4e: 236b movs r3, #107 ; 0x6b 80afa50: 743b strb r3, [r7, #16] BSP_LCD_DisplayStringAt(96 + (i << 6), 205, str, CENTER_MODE); 80afa52: 6afb ldr r3, [r7, #44] ; 0x2c 80afa54: b29b uxth r3, r3 80afa56: 019b lsls r3, r3, #6 80afa58: b29b uxth r3, r3 80afa5a: 3360 adds r3, #96 ; 0x60 80afa5c: b298 uxth r0, r3 80afa5e: f107 020c add.w r2, r7, #12 80afa62: 2301 movs r3, #1 80afa64: 21cd movs r1, #205 ; 0xcd 80afa66: f7a4 fe99 bl 805479c 80afa6a: e010 b.n 80afa8e BSP_LCD_DisplayStringAt(96 + (i << 6), 205, (char *)FloatToASCII(f, 0), CENTER_MODE); 80afa6c: 6afb ldr r3, [r7, #44] ; 0x2c 80afa6e: b29b uxth r3, r3 80afa70: 019b lsls r3, r3, #6 80afa72: b29b uxth r3, r3 80afa74: 3360 adds r3, #96 ; 0x60 80afa76: b29c uxth r4, r3 80afa78: 2000 movs r0, #0 80afa7a: ed97 0a06 vldr s0, [r7, #24] 80afa7e: f7b7 fd8f bl 80675a0 80afa82: 4602 mov r2, r0 80afa84: 2301 movs r3, #1 80afa86: 21cd movs r1, #205 ; 0xcd 80afa88: 4620 mov r0, r4 80afa8a: f7a4 fe87 bl 805479c for(i = 0; i < 3; i++) 80afa8e: 6afb ldr r3, [r7, #44] ; 0x2c 80afa90: 3301 adds r3, #1 80afa92: 62fb str r3, [r7, #44] ; 0x2c 80afa94: 6afb ldr r3, [r7, #44] ; 0x2c 80afa96: 2b02 cmp r3, #2 80afa98: f67f af7d bls.w 80af996 if(pardata.LANG == RUS) 80afa9c: 4b0c ldr r3, [pc, #48] ; (80afad0 ) 80afa9e: 7b1b ldrb r3, [r3, #12] 80afaa0: b2db uxtb r3, r3 80afaa2: 2b00 cmp r3, #0 80afaa4: d107 bne.n 80afab6 BSP_LCD_DisplayStringAt(285, 205, "$%", RIGHT_MODE); 80afaa6: 2302 movs r3, #2 80afaa8: 4a0e ldr r2, [pc, #56] ; (80afae4 ) 80afaaa: 21cd movs r1, #205 ; 0xcd 80afaac: f240 101d movw r0, #285 ; 0x11d 80afab0: f7a4 fe74 bl 805479c } 80afab4: e282 b.n 80affbc else BSP_LCD_DisplayStringAt(285, 205, "Hz", RIGHT_MODE); 80afab6: 2302 movs r3, #2 80afab8: 4a0b ldr r2, [pc, #44] ; (80afae8 ) 80afaba: 21cd movs r1, #205 ; 0xcd 80afabc: f240 101d movw r0, #285 ; 0x11d 80afac0: f7a4 fe6c bl 805479c } 80afac4: e27a b.n 80affbc 80afac6: bf00 nop 80afac8: 20025d66 .word 0x20025d66 80afacc: 20020fb8 .word 0x20020fb8 80afad0: 20023ea8 .word 0x20023ea8 80afad4: 080f398c .word 0x080f398c 80afad8: 080f3a6c .word 0x080f3a6c 80afadc: 447a0000 .word 0x447a0000 80afae0: 3a83126f .word 0x3a83126f 80afae4: 080d4dfc .word 0x080d4dfc 80afae8: 080d4e00 .word 0x080d4e00 if(pardata.SYG == SPEC_OKT) 80afaec: 4bb8 ldr r3, [pc, #736] ; (80afdd0 ) 80afaee: 781b ldrb r3, [r3, #0] 80afaf0: b2db uxtb r3, r3 80afaf2: 2b06 cmp r3, #6 80afaf4: d16a bne.n 80afbcc BSP_LCD_DisplayStringAt( 69, 226, "1", CENTER_MODE); 80afaf6: 2301 movs r3, #1 80afaf8: 4ab6 ldr r2, [pc, #728] ; (80afdd4 ) 80afafa: 21e2 movs r1, #226 ; 0xe2 80afafc: 2045 movs r0, #69 ; 0x45 80afafe: f7a4 fe4d bl 805479c BSP_LCD_DisplayStringAt( 69 + 16, 226, "2", CENTER_MODE); 80afb02: 2301 movs r3, #1 80afb04: 4ab4 ldr r2, [pc, #720] ; (80afdd8 ) 80afb06: 21e2 movs r1, #226 ; 0xe2 80afb08: 2055 movs r0, #85 ; 0x55 80afb0a: f7a4 fe47 bl 805479c BSP_LCD_DisplayStringAt( 69 + 32, 226, "4", CENTER_MODE); 80afb0e: 2301 movs r3, #1 80afb10: 4ab2 ldr r2, [pc, #712] ; (80afddc ) 80afb12: 21e2 movs r1, #226 ; 0xe2 80afb14: 2065 movs r0, #101 ; 0x65 80afb16: f7a4 fe41 bl 805479c BSP_LCD_DisplayStringAt( 69 + 48, 226, "8", CENTER_MODE); 80afb1a: 2301 movs r3, #1 80afb1c: 4ab0 ldr r2, [pc, #704] ; (80afde0 ) 80afb1e: 21e2 movs r1, #226 ; 0xe2 80afb20: 2075 movs r0, #117 ; 0x75 80afb22: f7a4 fe3b bl 805479c BSP_LCD_DisplayStringAt( 69 + 64, 226, "16", CENTER_MODE); 80afb26: 2301 movs r3, #1 80afb28: 4aae ldr r2, [pc, #696] ; (80afde4 ) 80afb2a: 21e2 movs r1, #226 ; 0xe2 80afb2c: 2085 movs r0, #133 ; 0x85 80afb2e: f7a4 fe35 bl 805479c BSP_LCD_DisplayStringAt( 69 + 80, 226, "31", CENTER_MODE); 80afb32: 2301 movs r3, #1 80afb34: 4aac ldr r2, [pc, #688] ; (80afde8 ) 80afb36: 21e2 movs r1, #226 ; 0xe2 80afb38: 2095 movs r0, #149 ; 0x95 80afb3a: f7a4 fe2f bl 805479c BSP_LCD_DisplayStringAt( 69 + 96, 226, "63", CENTER_MODE); 80afb3e: 2301 movs r3, #1 80afb40: 4aaa ldr r2, [pc, #680] ; (80afdec ) 80afb42: 21e2 movs r1, #226 ; 0xe2 80afb44: 20a5 movs r0, #165 ; 0xa5 80afb46: f7a4 fe29 bl 805479c BSP_LCD_DisplayStringAt( 69 + 111, 226, "125", CENTER_MODE); 80afb4a: 2301 movs r3, #1 80afb4c: 4aa8 ldr r2, [pc, #672] ; (80afdf0 ) 80afb4e: 21e2 movs r1, #226 ; 0xe2 80afb50: 20b4 movs r0, #180 ; 0xb4 80afb52: f7a4 fe23 bl 805479c BSP_LCD_DisplayStringAt( 69 + 128, 226, "250", CENTER_MODE); 80afb56: 2301 movs r3, #1 80afb58: 4aa6 ldr r2, [pc, #664] ; (80afdf4 ) 80afb5a: 21e2 movs r1, #226 ; 0xe2 80afb5c: 20c5 movs r0, #197 ; 0xc5 80afb5e: f7a4 fe1d bl 805479c BSP_LCD_DisplayStringAt( 69 + 145, 226, "500", CENTER_MODE); 80afb62: 2301 movs r3, #1 80afb64: 4aa4 ldr r2, [pc, #656] ; (80afdf8 ) 80afb66: 21e2 movs r1, #226 ; 0xe2 80afb68: 20d6 movs r0, #214 ; 0xd6 80afb6a: f7a4 fe17 bl 805479c BSP_LCD_DisplayStringAt( 69 + 160, 226, "1k", CENTER_MODE); 80afb6e: 2301 movs r3, #1 80afb70: 4aa2 ldr r2, [pc, #648] ; (80afdfc ) 80afb72: 21e2 movs r1, #226 ; 0xe2 80afb74: 20e5 movs r0, #229 ; 0xe5 80afb76: f7a4 fe11 bl 805479c BSP_LCD_DisplayStringAt( 69 + 176, 226, "2k", CENTER_MODE); 80afb7a: 2301 movs r3, #1 80afb7c: 4aa0 ldr r2, [pc, #640] ; (80afe00 ) 80afb7e: 21e2 movs r1, #226 ; 0xe2 80afb80: 20f5 movs r0, #245 ; 0xf5 80afb82: f7a4 fe0b bl 805479c BSP_LCD_DisplayStringAt( 69 + 192, 226, "4k", CENTER_MODE); 80afb86: 2301 movs r3, #1 80afb88: 4a9e ldr r2, [pc, #632] ; (80afe04 ) 80afb8a: 21e2 movs r1, #226 ; 0xe2 80afb8c: f240 1005 movw r0, #261 ; 0x105 80afb90: f7a4 fe04 bl 805479c BSP_LCD_DisplayStringAt( 69 + 208, 226, "8k", CENTER_MODE); 80afb94: 2301 movs r3, #1 80afb96: 4a9c ldr r2, [pc, #624] ; (80afe08 ) 80afb98: 21e2 movs r1, #226 ; 0xe2 80afb9a: f240 1015 movw r0, #277 ; 0x115 80afb9e: f7a4 fdfd bl 805479c if(pardata.LANG == RUS) 80afba2: 4b8b ldr r3, [pc, #556] ; (80afdd0 ) 80afba4: 7b1b ldrb r3, [r3, #12] 80afba6: b2db uxtb r3, r3 80afba8: 2b00 cmp r3, #0 80afbaa: d107 bne.n 80afbbc BSP_LCD_DisplayStringAt(306, 226, "$%", LEFT_MODE); 80afbac: 2303 movs r3, #3 80afbae: 4a97 ldr r2, [pc, #604] ; (80afe0c ) 80afbb0: 21e2 movs r1, #226 ; 0xe2 80afbb2: f44f 7099 mov.w r0, #306 ; 0x132 80afbb6: f7a4 fdf1 bl 805479c } 80afbba: e1ff b.n 80affbc else BSP_LCD_DisplayStringAt(306, 226, "Hz", LEFT_MODE); 80afbbc: 2303 movs r3, #3 80afbbe: 4a94 ldr r2, [pc, #592] ; (80afe10 ) 80afbc0: 21e2 movs r1, #226 ; 0xe2 80afbc2: f44f 7099 mov.w r0, #306 ; 0x132 80afbc6: f7a4 fde9 bl 805479c } 80afbca: e1f7 b.n 80affbc if(pardata.SYG == SPEC_THIRD) 80afbcc: 4b80 ldr r3, [pc, #512] ; (80afdd0 ) 80afbce: 781b ldrb r3, [r3, #0] 80afbd0: b2db uxtb r3, r3 80afbd2: 2b07 cmp r3, #7 80afbd4: f040 80f1 bne.w 80afdba i = 0; 80afbd8: 2300 movs r3, #0 80afbda: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "1", CENTER_MODE); i++; 80afbdc: 6afb ldr r3, [r7, #44] ; 0x2c 80afbde: b29b uxth r3, r3 80afbe0: 461a mov r2, r3 80afbe2: 00d2 lsls r2, r2, #3 80afbe4: 4413 add r3, r2 80afbe6: 005b lsls r3, r3, #1 80afbe8: b29b uxth r3, r3 80afbea: 3345 adds r3, #69 ; 0x45 80afbec: b298 uxth r0, r3 80afbee: 2301 movs r3, #1 80afbf0: 4a78 ldr r2, [pc, #480] ; (80afdd4 ) 80afbf2: 21e2 movs r1, #226 ; 0xe2 80afbf4: f7a4 fdd2 bl 805479c 80afbf8: 6afb ldr r3, [r7, #44] ; 0x2c 80afbfa: 3301 adds r3, #1 80afbfc: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "2", CENTER_MODE); i++; 80afbfe: 6afb ldr r3, [r7, #44] ; 0x2c 80afc00: b29b uxth r3, r3 80afc02: 461a mov r2, r3 80afc04: 00d2 lsls r2, r2, #3 80afc06: 4413 add r3, r2 80afc08: 005b lsls r3, r3, #1 80afc0a: b29b uxth r3, r3 80afc0c: 3345 adds r3, #69 ; 0x45 80afc0e: b298 uxth r0, r3 80afc10: 2301 movs r3, #1 80afc12: 4a71 ldr r2, [pc, #452] ; (80afdd8 ) 80afc14: 21e2 movs r1, #226 ; 0xe2 80afc16: f7a4 fdc1 bl 805479c 80afc1a: 6afb ldr r3, [r7, #44] ; 0x2c 80afc1c: 3301 adds r3, #1 80afc1e: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "4", CENTER_MODE); i++; 80afc20: 6afb ldr r3, [r7, #44] ; 0x2c 80afc22: b29b uxth r3, r3 80afc24: 461a mov r2, r3 80afc26: 00d2 lsls r2, r2, #3 80afc28: 4413 add r3, r2 80afc2a: 005b lsls r3, r3, #1 80afc2c: b29b uxth r3, r3 80afc2e: 3345 adds r3, #69 ; 0x45 80afc30: b298 uxth r0, r3 80afc32: 2301 movs r3, #1 80afc34: 4a69 ldr r2, [pc, #420] ; (80afddc ) 80afc36: 21e2 movs r1, #226 ; 0xe2 80afc38: f7a4 fdb0 bl 805479c 80afc3c: 6afb ldr r3, [r7, #44] ; 0x2c 80afc3e: 3301 adds r3, #1 80afc40: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "8", CENTER_MODE); i++; 80afc42: 6afb ldr r3, [r7, #44] ; 0x2c 80afc44: b29b uxth r3, r3 80afc46: 461a mov r2, r3 80afc48: 00d2 lsls r2, r2, #3 80afc4a: 4413 add r3, r2 80afc4c: 005b lsls r3, r3, #1 80afc4e: b29b uxth r3, r3 80afc50: 3345 adds r3, #69 ; 0x45 80afc52: b298 uxth r0, r3 80afc54: 2301 movs r3, #1 80afc56: 4a62 ldr r2, [pc, #392] ; (80afde0 ) 80afc58: 21e2 movs r1, #226 ; 0xe2 80afc5a: f7a4 fd9f bl 805479c 80afc5e: 6afb ldr r3, [r7, #44] ; 0x2c 80afc60: 3301 adds r3, #1 80afc62: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "16", CENTER_MODE); i++; 80afc64: 6afb ldr r3, [r7, #44] ; 0x2c 80afc66: b29b uxth r3, r3 80afc68: 461a mov r2, r3 80afc6a: 00d2 lsls r2, r2, #3 80afc6c: 4413 add r3, r2 80afc6e: 005b lsls r3, r3, #1 80afc70: b29b uxth r3, r3 80afc72: 3345 adds r3, #69 ; 0x45 80afc74: b298 uxth r0, r3 80afc76: 2301 movs r3, #1 80afc78: 4a5a ldr r2, [pc, #360] ; (80afde4 ) 80afc7a: 21e2 movs r1, #226 ; 0xe2 80afc7c: f7a4 fd8e bl 805479c 80afc80: 6afb ldr r3, [r7, #44] ; 0x2c 80afc82: 3301 adds r3, #1 80afc84: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "31", CENTER_MODE); i++; 80afc86: 6afb ldr r3, [r7, #44] ; 0x2c 80afc88: b29b uxth r3, r3 80afc8a: 461a mov r2, r3 80afc8c: 00d2 lsls r2, r2, #3 80afc8e: 4413 add r3, r2 80afc90: 005b lsls r3, r3, #1 80afc92: b29b uxth r3, r3 80afc94: 3345 adds r3, #69 ; 0x45 80afc96: b298 uxth r0, r3 80afc98: 2301 movs r3, #1 80afc9a: 4a53 ldr r2, [pc, #332] ; (80afde8 ) 80afc9c: 21e2 movs r1, #226 ; 0xe2 80afc9e: f7a4 fd7d bl 805479c 80afca2: 6afb ldr r3, [r7, #44] ; 0x2c 80afca4: 3301 adds r3, #1 80afca6: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "63", CENTER_MODE); i++; 80afca8: 6afb ldr r3, [r7, #44] ; 0x2c 80afcaa: b29b uxth r3, r3 80afcac: 461a mov r2, r3 80afcae: 00d2 lsls r2, r2, #3 80afcb0: 4413 add r3, r2 80afcb2: 005b lsls r3, r3, #1 80afcb4: b29b uxth r3, r3 80afcb6: 3345 adds r3, #69 ; 0x45 80afcb8: b298 uxth r0, r3 80afcba: 2301 movs r3, #1 80afcbc: 4a4b ldr r2, [pc, #300] ; (80afdec ) 80afcbe: 21e2 movs r1, #226 ; 0xe2 80afcc0: f7a4 fd6c bl 805479c 80afcc4: 6afb ldr r3, [r7, #44] ; 0x2c 80afcc6: 3301 adds r3, #1 80afcc8: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "125", CENTER_MODE); i++; 80afcca: 6afb ldr r3, [r7, #44] ; 0x2c 80afccc: b29b uxth r3, r3 80afcce: 461a mov r2, r3 80afcd0: 00d2 lsls r2, r2, #3 80afcd2: 4413 add r3, r2 80afcd4: 005b lsls r3, r3, #1 80afcd6: b29b uxth r3, r3 80afcd8: 3345 adds r3, #69 ; 0x45 80afcda: b298 uxth r0, r3 80afcdc: 2301 movs r3, #1 80afcde: 4a44 ldr r2, [pc, #272] ; (80afdf0 ) 80afce0: 21e2 movs r1, #226 ; 0xe2 80afce2: f7a4 fd5b bl 805479c 80afce6: 6afb ldr r3, [r7, #44] ; 0x2c 80afce8: 3301 adds r3, #1 80afcea: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "250", CENTER_MODE); i++; 80afcec: 6afb ldr r3, [r7, #44] ; 0x2c 80afcee: b29b uxth r3, r3 80afcf0: 461a mov r2, r3 80afcf2: 00d2 lsls r2, r2, #3 80afcf4: 4413 add r3, r2 80afcf6: 005b lsls r3, r3, #1 80afcf8: b29b uxth r3, r3 80afcfa: 3345 adds r3, #69 ; 0x45 80afcfc: b298 uxth r0, r3 80afcfe: 2301 movs r3, #1 80afd00: 4a3c ldr r2, [pc, #240] ; (80afdf4 ) 80afd02: 21e2 movs r1, #226 ; 0xe2 80afd04: f7a4 fd4a bl 805479c 80afd08: 6afb ldr r3, [r7, #44] ; 0x2c 80afd0a: 3301 adds r3, #1 80afd0c: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "500", CENTER_MODE); i++; 80afd0e: 6afb ldr r3, [r7, #44] ; 0x2c 80afd10: b29b uxth r3, r3 80afd12: 461a mov r2, r3 80afd14: 00d2 lsls r2, r2, #3 80afd16: 4413 add r3, r2 80afd18: 005b lsls r3, r3, #1 80afd1a: b29b uxth r3, r3 80afd1c: 3345 adds r3, #69 ; 0x45 80afd1e: b298 uxth r0, r3 80afd20: 2301 movs r3, #1 80afd22: 4a35 ldr r2, [pc, #212] ; (80afdf8 ) 80afd24: 21e2 movs r1, #226 ; 0xe2 80afd26: f7a4 fd39 bl 805479c 80afd2a: 6afb ldr r3, [r7, #44] ; 0x2c 80afd2c: 3301 adds r3, #1 80afd2e: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "1k", CENTER_MODE); i++; 80afd30: 6afb ldr r3, [r7, #44] ; 0x2c 80afd32: b29b uxth r3, r3 80afd34: 461a mov r2, r3 80afd36: 00d2 lsls r2, r2, #3 80afd38: 4413 add r3, r2 80afd3a: 005b lsls r3, r3, #1 80afd3c: b29b uxth r3, r3 80afd3e: 3345 adds r3, #69 ; 0x45 80afd40: b298 uxth r0, r3 80afd42: 2301 movs r3, #1 80afd44: 4a2d ldr r2, [pc, #180] ; (80afdfc ) 80afd46: 21e2 movs r1, #226 ; 0xe2 80afd48: f7a4 fd28 bl 805479c 80afd4c: 6afb ldr r3, [r7, #44] ; 0x2c 80afd4e: 3301 adds r3, #1 80afd50: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "2k", CENTER_MODE); i++; 80afd52: 6afb ldr r3, [r7, #44] ; 0x2c 80afd54: b29b uxth r3, r3 80afd56: 461a mov r2, r3 80afd58: 00d2 lsls r2, r2, #3 80afd5a: 4413 add r3, r2 80afd5c: 005b lsls r3, r3, #1 80afd5e: b29b uxth r3, r3 80afd60: 3345 adds r3, #69 ; 0x45 80afd62: b298 uxth r0, r3 80afd64: 2301 movs r3, #1 80afd66: 4a26 ldr r2, [pc, #152] ; (80afe00 ) 80afd68: 21e2 movs r1, #226 ; 0xe2 80afd6a: f7a4 fd17 bl 805479c 80afd6e: 6afb ldr r3, [r7, #44] ; 0x2c 80afd70: 3301 adds r3, #1 80afd72: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "4k", CENTER_MODE); //i++; 80afd74: 6afb ldr r3, [r7, #44] ; 0x2c 80afd76: b29b uxth r3, r3 80afd78: 461a mov r2, r3 80afd7a: 00d2 lsls r2, r2, #3 80afd7c: 4413 add r3, r2 80afd7e: 005b lsls r3, r3, #1 80afd80: b29b uxth r3, r3 80afd82: 3345 adds r3, #69 ; 0x45 80afd84: b298 uxth r0, r3 80afd86: 2301 movs r3, #1 80afd88: 4a1e ldr r2, [pc, #120] ; (80afe04 ) 80afd8a: 21e2 movs r1, #226 ; 0xe2 80afd8c: f7a4 fd06 bl 805479c if(pardata.LANG == RUS) 80afd90: 4b0f ldr r3, [pc, #60] ; (80afdd0 ) 80afd92: 7b1b ldrb r3, [r3, #12] 80afd94: b2db uxtb r3, r3 80afd96: 2b00 cmp r3, #0 80afd98: d107 bne.n 80afdaa BSP_LCD_DisplayStringAt(306, 226, "$%", LEFT_MODE); 80afd9a: 2303 movs r3, #3 80afd9c: 4a1b ldr r2, [pc, #108] ; (80afe0c ) 80afd9e: 21e2 movs r1, #226 ; 0xe2 80afda0: f44f 7099 mov.w r0, #306 ; 0x132 80afda4: f7a4 fcfa bl 805479c } 80afda8: e108 b.n 80affbc else BSP_LCD_DisplayStringAt(306, 226, "Hz", LEFT_MODE); 80afdaa: 2303 movs r3, #3 80afdac: 4a18 ldr r2, [pc, #96] ; (80afe10 ) 80afdae: 21e2 movs r1, #226 ; 0xe2 80afdb0: f44f 7099 mov.w r0, #306 ; 0x132 80afdb4: f7a4 fcf2 bl 805479c } 80afdb8: e100 b.n 80affbc if(pardata.SYG == OSC) 80afdba: 4b05 ldr r3, [pc, #20] ; (80afdd0 ) 80afdbc: 781b ldrb r3, [r3, #0] 80afdbe: b2db uxtb r3, r3 80afdc0: 2b02 cmp r3, #2 80afdc2: f040 80fb bne.w 80affbc t = 0; 80afdc6: 2300 movs r3, #0 80afdc8: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80afdca: 2300 movs r3, #0 80afdcc: 62fb str r3, [r7, #44] ; 0x2c 80afdce: e072 b.n 80afeb6 80afdd0: 20023ea8 .word 0x20023ea8 80afdd4: 080d2bc4 .word 0x080d2bc4 80afdd8: 080d2bc8 .word 0x080d2bc8 80afddc: 080d2bcc .word 0x080d2bcc 80afde0: 080d2bd0 .word 0x080d2bd0 80afde4: 080d2bd4 .word 0x080d2bd4 80afde8: 080d4e68 .word 0x080d4e68 80afdec: 080d4e6c .word 0x080d4e6c 80afdf0: 080d4e70 .word 0x080d4e70 80afdf4: 080d4e74 .word 0x080d4e74 80afdf8: 080d3dd8 .word 0x080d3dd8 80afdfc: 080d4e78 .word 0x080d4e78 80afe00: 080d4e7c .word 0x080d4e7c 80afe04: 080d4e80 .word 0x080d4e80 80afe08: 080d4e84 .word 0x080d4e84 80afe0c: 080d4dfc .word 0x080d4dfc 80afe10: 080d4e00 .word 0x080d4e00 fosc[i] = (float32_t) (X0 + (64 + 64 * i) * avgOSC[ViewLevel][pardata.LNE]); 80afe14: 4b6b ldr r3, [pc, #428] ; (80affc4 ) 80afe16: 881b ldrh r3, [r3, #0] 80afe18: b29b uxth r3, r3 80afe1a: 461c mov r4, r3 80afe1c: 6afb ldr r3, [r7, #44] ; 0x2c 80afe1e: 1c5a adds r2, r3, #1 80afe20: 4b69 ldr r3, [pc, #420] ; (80affc8 ) 80afe22: 781b ldrb r3, [r3, #0] 80afe24: b2db uxtb r3, r3 80afe26: 4618 mov r0, r3 80afe28: 4b68 ldr r3, [pc, #416] ; (80affcc ) 80afe2a: 79db ldrb r3, [r3, #7] 80afe2c: b2db uxtb r3, r3 80afe2e: 461d mov r5, r3 80afe30: 4967 ldr r1, [pc, #412] ; (80affd0 ) 80afe32: 4603 mov r3, r0 80afe34: 009b lsls r3, r3, #2 80afe36: 4403 add r3, r0 80afe38: 440b add r3, r1 80afe3a: 442b add r3, r5 80afe3c: 781b ldrb r3, [r3, #0] 80afe3e: fb03 f302 mul.w r3, r3, r2 80afe42: 019b lsls r3, r3, #6 80afe44: 4423 add r3, r4 80afe46: ee07 3a90 vmov s15, r3 80afe4a: eef8 7a67 vcvt.f32.u32 s15, s15 80afe4e: 6afb ldr r3, [r7, #44] ; 0x2c 80afe50: 009b lsls r3, r3, #2 80afe52: f107 0230 add.w r2, r7, #48 ; 0x30 80afe56: 4413 add r3, r2 80afe58: 3b30 subs r3, #48 ; 0x30 80afe5a: edc3 7a00 vstr s15, [r3] fosc[i] *= Delta_OSC[k]; 80afe5e: 6afb ldr r3, [r7, #44] ; 0x2c 80afe60: 009b lsls r3, r3, #2 80afe62: f107 0230 add.w r2, r7, #48 ; 0x30 80afe66: 4413 add r3, r2 80afe68: 3b30 subs r3, #48 ; 0x30 80afe6a: ed93 7a00 vldr s14, [r3] 80afe6e: 4a59 ldr r2, [pc, #356] ; (80affd4 ) 80afe70: 6a7b ldr r3, [r7, #36] ; 0x24 80afe72: 009b lsls r3, r3, #2 80afe74: 4413 add r3, r2 80afe76: edd3 7a00 vldr s15, [r3] 80afe7a: ee67 7a27 vmul.f32 s15, s14, s15 80afe7e: 6afb ldr r3, [r7, #44] ; 0x2c 80afe80: 009b lsls r3, r3, #2 80afe82: f107 0230 add.w r2, r7, #48 ; 0x30 80afe86: 4413 add r3, r2 80afe88: 3b30 subs r3, #48 ; 0x30 80afe8a: edc3 7a00 vstr s15, [r3] if(fosc[i] >= 1000.0f) { 80afe8e: 6afb ldr r3, [r7, #44] ; 0x2c 80afe90: 009b lsls r3, r3, #2 80afe92: f107 0230 add.w r2, r7, #48 ; 0x30 80afe96: 4413 add r3, r2 80afe98: 3b30 subs r3, #48 ; 0x30 80afe9a: edd3 7a00 vldr s15, [r3] 80afe9e: ed9f 7a4e vldr s14, [pc, #312] ; 80affd8 80afea2: eef4 7ac7 vcmpe.f32 s15, s14 80afea6: eef1 fa10 vmrs APSR_nzcv, fpscr 80afeaa: db01 blt.n 80afeb0 t = 1; 80afeac: 2301 movs r3, #1 80afeae: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80afeb0: 6afb ldr r3, [r7, #44] ; 0x2c 80afeb2: 3301 adds r3, #1 80afeb4: 62fb str r3, [r7, #44] ; 0x2c 80afeb6: 6afb ldr r3, [r7, #44] ; 0x2c 80afeb8: 2b02 cmp r3, #2 80afeba: d9ab bls.n 80afe14 for(i = 0; i < 3; i++) 80afebc: 2300 movs r3, #0 80afebe: 62fb str r3, [r7, #44] ; 0x2c 80afec0: e04e b.n 80aff60 if(t == 0) 80afec2: 6abb ldr r3, [r7, #40] ; 0x28 80afec4: 2b00 cmp r3, #0 80afec6: d11a bne.n 80afefe BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -1), LEFT_MODE); 80afec8: 6afb ldr r3, [r7, #44] ; 0x2c 80afeca: b29b uxth r3, r3 80afecc: 019b lsls r3, r3, #6 80afece: b29b uxth r3, r3 80afed0: 3378 adds r3, #120 ; 0x78 80afed2: b29c uxth r4, r3 80afed4: 6afb ldr r3, [r7, #44] ; 0x2c 80afed6: 009b lsls r3, r3, #2 80afed8: f107 0230 add.w r2, r7, #48 ; 0x30 80afedc: 4413 add r3, r2 80afede: 3b30 subs r3, #48 ; 0x30 80afee0: edd3 7a00 vldr s15, [r3] 80afee4: f04f 30ff mov.w r0, #4294967295 80afee8: eeb0 0a67 vmov.f32 s0, s15 80afeec: f7b7 fb58 bl 80675a0 80afef0: 4602 mov r2, r0 80afef2: 2303 movs r3, #3 80afef4: 21e2 movs r1, #226 ; 0xe2 80afef6: 4620 mov r0, r4 80afef8: f7a4 fc50 bl 805479c 80afefc: e02d b.n 80aff5a fosc[i] *= 0.001f; 80afefe: 6afb ldr r3, [r7, #44] ; 0x2c 80aff00: 009b lsls r3, r3, #2 80aff02: f107 0230 add.w r2, r7, #48 ; 0x30 80aff06: 4413 add r3, r2 80aff08: 3b30 subs r3, #48 ; 0x30 80aff0a: edd3 7a00 vldr s15, [r3] 80aff0e: ed9f 7a33 vldr s14, [pc, #204] ; 80affdc 80aff12: ee67 7a87 vmul.f32 s15, s15, s14 80aff16: 6afb ldr r3, [r7, #44] ; 0x2c 80aff18: 009b lsls r3, r3, #2 80aff1a: f107 0230 add.w r2, r7, #48 ; 0x30 80aff1e: 4413 add r3, r2 80aff20: 3b30 subs r3, #48 ; 0x30 80aff22: edc3 7a00 vstr s15, [r3] BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -3), LEFT_MODE); 80aff26: 6afb ldr r3, [r7, #44] ; 0x2c 80aff28: b29b uxth r3, r3 80aff2a: 019b lsls r3, r3, #6 80aff2c: b29b uxth r3, r3 80aff2e: 3378 adds r3, #120 ; 0x78 80aff30: b29c uxth r4, r3 80aff32: 6afb ldr r3, [r7, #44] ; 0x2c 80aff34: 009b lsls r3, r3, #2 80aff36: f107 0230 add.w r2, r7, #48 ; 0x30 80aff3a: 4413 add r3, r2 80aff3c: 3b30 subs r3, #48 ; 0x30 80aff3e: edd3 7a00 vldr s15, [r3] 80aff42: f06f 0002 mvn.w r0, #2 80aff46: eeb0 0a67 vmov.f32 s0, s15 80aff4a: f7b7 fb29 bl 80675a0 80aff4e: 4602 mov r2, r0 80aff50: 2303 movs r3, #3 80aff52: 21e2 movs r1, #226 ; 0xe2 80aff54: 4620 mov r0, r4 80aff56: f7a4 fc21 bl 805479c for(i = 0; i < 3; i++) 80aff5a: 6afb ldr r3, [r7, #44] ; 0x2c 80aff5c: 3301 adds r3, #1 80aff5e: 62fb str r3, [r7, #44] ; 0x2c 80aff60: 6afb ldr r3, [r7, #44] ; 0x2c 80aff62: 2b02 cmp r3, #2 80aff64: d9ad bls.n 80afec2 if(pardata.LANG == RUS) 80aff66: 4b19 ldr r3, [pc, #100] ; (80affcc ) 80aff68: 7b1b ldrb r3, [r3, #12] 80aff6a: b2db uxtb r3, r3 80aff6c: 2b00 cmp r3, #0 80aff6e: d112 bne.n 80aff96 if(t == 0) 80aff70: 6abb ldr r3, [r7, #40] ; 0x28 80aff72: 2b00 cmp r3, #0 80aff74: d107 bne.n 80aff86 BSP_LCD_DisplayStringAt(300, 226, "MC", LEFT_MODE); 80aff76: 2303 movs r3, #3 80aff78: 4a19 ldr r2, [pc, #100] ; (80affe0 ) 80aff7a: 21e2 movs r1, #226 ; 0xe2 80aff7c: f44f 7096 mov.w r0, #300 ; 0x12c 80aff80: f7a4 fc0c bl 805479c } 80aff84: e01a b.n 80affbc else BSP_LCD_DisplayStringAt(300, 226, "C", LEFT_MODE); 80aff86: 2303 movs r3, #3 80aff88: 4a16 ldr r2, [pc, #88] ; (80affe4 ) 80aff8a: 21e2 movs r1, #226 ; 0xe2 80aff8c: f44f 7096 mov.w r0, #300 ; 0x12c 80aff90: f7a4 fc04 bl 805479c } 80aff94: e012 b.n 80affbc if(t == 0) 80aff96: 6abb ldr r3, [r7, #40] ; 0x28 80aff98: 2b00 cmp r3, #0 80aff9a: d107 bne.n 80affac BSP_LCD_DisplayStringAt(300, 226, "ms", LEFT_MODE); 80aff9c: 2303 movs r3, #3 80aff9e: 4a12 ldr r2, [pc, #72] ; (80affe8 ) 80affa0: 21e2 movs r1, #226 ; 0xe2 80affa2: f44f 7096 mov.w r0, #300 ; 0x12c 80affa6: f7a4 fbf9 bl 805479c } 80affaa: e007 b.n 80affbc else BSP_LCD_DisplayStringAt(300, 226, "s", LEFT_MODE); 80affac: 2303 movs r3, #3 80affae: 4a0f ldr r2, [pc, #60] ; (80affec ) 80affb0: 21e2 movs r1, #226 ; 0xe2 80affb2: f44f 7096 mov.w r0, #300 ; 0x12c 80affb6: f7a4 fbf1 bl 805479c } 80affba: e7ff b.n 80affbc 80affbc: bf00 nop 80affbe: 3730 adds r7, #48 ; 0x30 80affc0: 46bd mov sp, r7 80affc2: bdb0 pop {r4, r5, r7, pc} 80affc4: 20025d66 .word 0x20025d66 80affc8: 20020fb8 .word 0x20020fb8 80affcc: 20023ea8 .word 0x20023ea8 80affd0: 080f3968 .word 0x080f3968 80affd4: 080f3a44 .word 0x080f3a44 80affd8: 447a0000 .word 0x447a0000 80affdc: 3a83126f .word 0x3a83126f 80affe0: 080d4e64 .word 0x080d4e64 80affe4: 080d4e60 .word 0x080d4e60 80affe8: 080d4df4 .word 0x080d4df4 80affec: 080d4de4 .word 0x080d4de4 080afff0 : void DrawMarkers(void) // TODO { 80afff0: b590 push {r4, r7, lr} 80afff2: b083 sub sp, #12 80afff4: af00 add r7, sp, #0 uint8_t type = 0; 80afff6: 2300 movs r3, #0 80afff8: 71fb strb r3, [r7, #7] if(menu != MAIN_OSC) { 80afffa: 4b9f ldr r3, [pc, #636] ; (80b0278 ) 80afffc: 781b ldrb r3, [r3, #0] 80afffe: b2db uxtb r3, r3 80b0000: 2b1d cmp r3, #29 80b0002: d001 beq.n 80b0008 type = 1; 80b0004: 2301 movs r3, #1 80b0006: 71fb strb r3, [r7, #7] } BSP_LCD_SetFont(&Font8); 80b0008: 489c ldr r0, [pc, #624] ; (80b027c ) 80b000a: f7a4 fb3d bl 8054688 /////////////////////////////////////////// /////////////// MARKER #1 ///////////////// /////////////////////////////////////////// if(DynamicCursor[0].Enabled) 80b000e: 4b9c ldr r3, [pc, #624] ; (80b0280 ) 80b0010: 781b ldrb r3, [r3, #0] 80b0012: 2b00 cmp r3, #0 80b0014: f000 80ec beq.w 80b01f0 { if((DynamicCursor[0].fineMpos - DynamicCursor[0].Mpos) < Avg[type][5 * ViewLevel + pardata.LNE]) 80b0018: 4b99 ldr r3, [pc, #612] ; (80b0280 ) 80b001a: 88db ldrh r3, [r3, #6] 80b001c: 461a mov r2, r3 80b001e: 4b98 ldr r3, [pc, #608] ; (80b0280 ) 80b0020: 889b ldrh r3, [r3, #4] 80b0022: 1ad1 subs r1, r2, r3 80b0024: 79fa ldrb r2, [r7, #7] 80b0026: 4b97 ldr r3, [pc, #604] ; (80b0284 ) 80b0028: 781b ldrb r3, [r3, #0] 80b002a: b2db uxtb r3, r3 80b002c: 4618 mov r0, r3 80b002e: 4603 mov r3, r0 80b0030: 009b lsls r3, r3, #2 80b0032: 4403 add r3, r0 80b0034: 4894 ldr r0, [pc, #592] ; (80b0288 ) 80b0036: 79c0 ldrb r0, [r0, #7] 80b0038: b2c0 uxtb r0, r0 80b003a: 4418 add r0, r3 80b003c: 4c93 ldr r4, [pc, #588] ; (80b028c ) 80b003e: 4613 mov r3, r2 80b0040: 009b lsls r3, r3, #2 80b0042: 4413 add r3, r2 80b0044: 00da lsls r2, r3, #3 80b0046: 1ad2 subs r2, r2, r3 80b0048: 1813 adds r3, r2, r0 80b004a: f834 3013 ldrh.w r3, [r4, r3, lsl #1] 80b004e: 4299 cmp r1, r3 80b0050: da21 bge.n 80b0096 DynamicCursor[0].CURSOR = (DynamicCursor[0].Mpos - X0) / Avg[type][5 * ViewLevel + pardata.LNE]; 80b0052: 4b8b ldr r3, [pc, #556] ; (80b0280 ) 80b0054: 889b ldrh r3, [r3, #4] 80b0056: 461a mov r2, r3 80b0058: 4b8d ldr r3, [pc, #564] ; (80b0290 ) 80b005a: 881b ldrh r3, [r3, #0] 80b005c: b29b uxth r3, r3 80b005e: 1ad1 subs r1, r2, r3 80b0060: 79fa ldrb r2, [r7, #7] 80b0062: 4b88 ldr r3, [pc, #544] ; (80b0284 ) 80b0064: 781b ldrb r3, [r3, #0] 80b0066: b2db uxtb r3, r3 80b0068: 4618 mov r0, r3 80b006a: 4603 mov r3, r0 80b006c: 009b lsls r3, r3, #2 80b006e: 4403 add r3, r0 80b0070: 4885 ldr r0, [pc, #532] ; (80b0288 ) 80b0072: 79c0 ldrb r0, [r0, #7] 80b0074: b2c0 uxtb r0, r0 80b0076: 4418 add r0, r3 80b0078: 4c84 ldr r4, [pc, #528] ; (80b028c ) 80b007a: 4613 mov r3, r2 80b007c: 009b lsls r3, r3, #2 80b007e: 4413 add r3, r2 80b0080: 00da lsls r2, r3, #3 80b0082: 1ad2 subs r2, r2, r3 80b0084: 1813 adds r3, r2, r0 80b0086: f834 3013 ldrh.w r3, [r4, r3, lsl #1] 80b008a: fb91 f3f3 sdiv r3, r1, r3 80b008e: b29a uxth r2, r3 80b0090: 4b7b ldr r3, [pc, #492] ; (80b0280 ) 80b0092: 805a strh r2, [r3, #2] 80b0094: e03b b.n 80b010e else { DynamicCursor[0].Mpos += Avg[type][5 * ViewLevel + pardata.LNE]; 80b0096: 79fa ldrb r2, [r7, #7] 80b0098: 4b7a ldr r3, [pc, #488] ; (80b0284 ) 80b009a: 781b ldrb r3, [r3, #0] 80b009c: b2db uxtb r3, r3 80b009e: 4619 mov r1, r3 80b00a0: 460b mov r3, r1 80b00a2: 009b lsls r3, r3, #2 80b00a4: 440b add r3, r1 80b00a6: 4978 ldr r1, [pc, #480] ; (80b0288 ) 80b00a8: 79c9 ldrb r1, [r1, #7] 80b00aa: b2c9 uxtb r1, r1 80b00ac: 4419 add r1, r3 80b00ae: 4877 ldr r0, [pc, #476] ; (80b028c ) 80b00b0: 4613 mov r3, r2 80b00b2: 009b lsls r3, r3, #2 80b00b4: 4413 add r3, r2 80b00b6: 00da lsls r2, r3, #3 80b00b8: 1ad2 subs r2, r2, r3 80b00ba: 1853 adds r3, r2, r1 80b00bc: f830 3013 ldrh.w r3, [r0, r3, lsl #1] 80b00c0: 4a6f ldr r2, [pc, #444] ; (80b0280 ) 80b00c2: 8892 ldrh r2, [r2, #4] 80b00c4: 4413 add r3, r2 80b00c6: b29a uxth r2, r3 80b00c8: 4b6d ldr r3, [pc, #436] ; (80b0280 ) 80b00ca: 809a strh r2, [r3, #4] DynamicCursor[0].CURSOR = (DynamicCursor[0].Mpos - X0) / Avg[type][5 * ViewLevel + pardata.LNE]; 80b00cc: 4b6c ldr r3, [pc, #432] ; (80b0280 ) 80b00ce: 889b ldrh r3, [r3, #4] 80b00d0: 461a mov r2, r3 80b00d2: 4b6f ldr r3, [pc, #444] ; (80b0290 ) 80b00d4: 881b ldrh r3, [r3, #0] 80b00d6: b29b uxth r3, r3 80b00d8: 1ad1 subs r1, r2, r3 80b00da: 79fa ldrb r2, [r7, #7] 80b00dc: 4b69 ldr r3, [pc, #420] ; (80b0284 ) 80b00de: 781b ldrb r3, [r3, #0] 80b00e0: b2db uxtb r3, r3 80b00e2: 4618 mov r0, r3 80b00e4: 4603 mov r3, r0 80b00e6: 009b lsls r3, r3, #2 80b00e8: 4403 add r3, r0 80b00ea: 4867 ldr r0, [pc, #412] ; (80b0288 ) 80b00ec: 79c0 ldrb r0, [r0, #7] 80b00ee: b2c0 uxtb r0, r0 80b00f0: 4418 add r0, r3 80b00f2: 4c66 ldr r4, [pc, #408] ; (80b028c ) 80b00f4: 4613 mov r3, r2 80b00f6: 009b lsls r3, r3, #2 80b00f8: 4413 add r3, r2 80b00fa: 00da lsls r2, r3, #3 80b00fc: 1ad2 subs r2, r2, r3 80b00fe: 1813 adds r3, r2, r0 80b0100: f834 3013 ldrh.w r3, [r4, r3, lsl #1] 80b0104: fb91 f3f3 sdiv r3, r1, r3 80b0108: b29a uxth r2, r3 80b010a: 4b5d ldr r3, [pc, #372] ; (80b0280 ) 80b010c: 805a strh r2, [r3, #2] } LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80b010e: 4961 ldr r1, [pc, #388] ; (80b0294 ) 80b0110: 4861 ldr r0, [pc, #388] ; (80b0298 ) 80b0112: f7a4 fa7d bl 8054610 if(DynamicCursor[0].CURSOR >= 0 && DynamicCursor[0].CURSOR <= 255) 80b0116: 4b5a ldr r3, [pc, #360] ; (80b0280 ) 80b0118: 885b ldrh r3, [r3, #2] 80b011a: 2bff cmp r3, #255 ; 0xff 80b011c: d84c bhi.n 80b01b8 { if(menu == MAIN_OSC) 80b011e: 4b56 ldr r3, [pc, #344] ; (80b0278 ) 80b0120: 781b ldrb r3, [r3, #0] 80b0122: b2db uxtb r3, r3 80b0124: 2b1d cmp r3, #29 80b0126: d123 bne.n 80b0170 { //DynamicCursor[0].CURSOR = (DynamicCursor[0].Mpos - X0) / Avg[0][5 * ViewLevel + pardata.LNE]; if((!FIRST) && (Stability > (Nr * 4))) 80b0128: 4b5c ldr r3, [pc, #368] ; (80b029c ) 80b012a: 781b ldrb r3, [r3, #0] 80b012c: b2db uxtb r3, r3 80b012e: f083 0301 eor.w r3, r3, #1 80b0132: b2db uxtb r3, r3 80b0134: 2b00 cmp r3, #0 80b0136: d05b beq.n 80b01f0 80b0138: 4b59 ldr r3, [pc, #356] ; (80b02a0 ) 80b013a: 881b ldrh r3, [r3, #0] 80b013c: b29b uxth r3, r3 80b013e: 009b lsls r3, r3, #2 80b0140: 461a mov r2, r3 80b0142: 4b58 ldr r3, [pc, #352] ; (80b02a4 ) 80b0144: 681b ldr r3, [r3, #0] 80b0146: 429a cmp r2, r3 80b0148: d252 bcs.n 80b01f0 { BSP_LCD_DrawVLine(62 + DynamicCursor[0].CURSOR, 44, 191); 80b014a: 4b4d ldr r3, [pc, #308] ; (80b0280 ) 80b014c: 885b ldrh r3, [r3, #2] 80b014e: 333e adds r3, #62 ; 0x3e 80b0150: b29b uxth r3, r3 80b0152: 22bf movs r2, #191 ; 0xbf 80b0154: 212c movs r1, #44 ; 0x2c 80b0156: 4618 mov r0, r3 80b0158: f7a4 fc32 bl 80549c0 BSP_LCD_DisplayStringAt(62 + DynamicCursor[0].CURSOR, 70, "1", CENTER_MODE); 80b015c: 4b48 ldr r3, [pc, #288] ; (80b0280 ) 80b015e: 885b ldrh r3, [r3, #2] 80b0160: 333e adds r3, #62 ; 0x3e 80b0162: b298 uxth r0, r3 80b0164: 2301 movs r3, #1 80b0166: 4a50 ldr r2, [pc, #320] ; (80b02a8 ) 80b0168: 2146 movs r1, #70 ; 0x46 80b016a: f7a4 fb17 bl 805479c 80b016e: e03f b.n 80b01f0 } } else { //DynamicCursor[0].CURSOR = (DynamicCursor[0].Mpos - X0) / Avg[1][5 * ViewLevel + pardata.LNE]; if((!FIRST) && (Stability > (Nr * 4))) 80b0170: 4b4a ldr r3, [pc, #296] ; (80b029c ) 80b0172: 781b ldrb r3, [r3, #0] 80b0174: b2db uxtb r3, r3 80b0176: f083 0301 eor.w r3, r3, #1 80b017a: b2db uxtb r3, r3 80b017c: 2b00 cmp r3, #0 80b017e: d037 beq.n 80b01f0 80b0180: 4b47 ldr r3, [pc, #284] ; (80b02a0 ) 80b0182: 881b ldrh r3, [r3, #0] 80b0184: b29b uxth r3, r3 80b0186: 009b lsls r3, r3, #2 80b0188: 461a mov r2, r3 80b018a: 4b46 ldr r3, [pc, #280] ; (80b02a4 ) 80b018c: 681b ldr r3, [r3, #0] 80b018e: 429a cmp r2, r3 80b0190: d22e bcs.n 80b01f0 { BSP_LCD_DrawVLine(62 + DynamicCursor[0].CURSOR, 44, 191); 80b0192: 4b3b ldr r3, [pc, #236] ; (80b0280 ) 80b0194: 885b ldrh r3, [r3, #2] 80b0196: 333e adds r3, #62 ; 0x3e 80b0198: b29b uxth r3, r3 80b019a: 22bf movs r2, #191 ; 0xbf 80b019c: 212c movs r1, #44 ; 0x2c 80b019e: 4618 mov r0, r3 80b01a0: f7a4 fc0e bl 80549c0 BSP_LCD_DisplayStringAt(62 + DynamicCursor[0].CURSOR, 70, "1", CENTER_MODE); 80b01a4: 4b36 ldr r3, [pc, #216] ; (80b0280 ) 80b01a6: 885b ldrh r3, [r3, #2] 80b01a8: 333e adds r3, #62 ; 0x3e 80b01aa: b298 uxth r0, r3 80b01ac: 2301 movs r3, #1 80b01ae: 4a3e ldr r2, [pc, #248] ; (80b02a8 ) 80b01b0: 2146 movs r1, #70 ; 0x46 80b01b2: f7a4 faf3 bl 805479c 80b01b6: e01b b.n 80b01f0 } } else { // marker position is outleft or outright of window screen if(DynamicCursor[0].Mpos < lX) 80b01b8: 4b31 ldr r3, [pc, #196] ; (80b0280 ) 80b01ba: 889a ldrh r2, [r3, #4] 80b01bc: 4b3b ldr r3, [pc, #236] ; (80b02ac ) 80b01be: 881b ldrh r3, [r3, #0] 80b01c0: b29b uxth r3, r3 80b01c2: 429a cmp r2, r3 80b01c4: d206 bcs.n 80b01d4 { BSP_LCD_DisplayStringAt(62, 70, "1", CENTER_MODE); 80b01c6: 2301 movs r3, #1 80b01c8: 4a37 ldr r2, [pc, #220] ; (80b02a8 ) 80b01ca: 2146 movs r1, #70 ; 0x46 80b01cc: 203e movs r0, #62 ; 0x3e 80b01ce: f7a4 fae5 bl 805479c 80b01d2: e00d b.n 80b01f0 } else if(DynamicCursor[0].Mpos >= rX) 80b01d4: 4b2a ldr r3, [pc, #168] ; (80b0280 ) 80b01d6: 889a ldrh r2, [r3, #4] 80b01d8: 4b35 ldr r3, [pc, #212] ; (80b02b0 ) 80b01da: 881b ldrh r3, [r3, #0] 80b01dc: b29b uxth r3, r3 80b01de: 429a cmp r2, r3 80b01e0: d306 bcc.n 80b01f0 { BSP_LCD_DisplayStringAt(62 + 255, 70, "1", CENTER_MODE); 80b01e2: 2301 movs r3, #1 80b01e4: 4a30 ldr r2, [pc, #192] ; (80b02a8 ) 80b01e6: 2146 movs r1, #70 ; 0x46 80b01e8: f240 103d movw r0, #317 ; 0x13d 80b01ec: f7a4 fad6 bl 805479c } } /////////////////////////////////////////// /////////////// MARKER #2 ///////////////// /////////////////////////////////////////// if(DynamicCursor[1].Enabled) 80b01f0: 4b23 ldr r3, [pc, #140] ; (80b0280 ) 80b01f2: 7c1b ldrb r3, [r3, #16] 80b01f4: 2b00 cmp r3, #0 80b01f6: f000 810a beq.w 80b040e { if((DynamicCursor[1].fineMpos - DynamicCursor[1].Mpos) < Avg[type][5 * ViewLevel + pardata.LNE]) 80b01fa: 4b21 ldr r3, [pc, #132] ; (80b0280 ) 80b01fc: 8adb ldrh r3, [r3, #22] 80b01fe: 461a mov r2, r3 80b0200: 4b1f ldr r3, [pc, #124] ; (80b0280 ) 80b0202: 8a9b ldrh r3, [r3, #20] 80b0204: 1ad1 subs r1, r2, r3 80b0206: 79fa ldrb r2, [r7, #7] 80b0208: 4b1e ldr r3, [pc, #120] ; (80b0284 ) 80b020a: 781b ldrb r3, [r3, #0] 80b020c: b2db uxtb r3, r3 80b020e: 4618 mov r0, r3 80b0210: 4603 mov r3, r0 80b0212: 009b lsls r3, r3, #2 80b0214: 4403 add r3, r0 80b0216: 481c ldr r0, [pc, #112] ; (80b0288 ) 80b0218: 79c0 ldrb r0, [r0, #7] 80b021a: b2c0 uxtb r0, r0 80b021c: 4418 add r0, r3 80b021e: 4c1b ldr r4, [pc, #108] ; (80b028c ) 80b0220: 4613 mov r3, r2 80b0222: 009b lsls r3, r3, #2 80b0224: 4413 add r3, r2 80b0226: 00da lsls r2, r3, #3 80b0228: 1ad2 subs r2, r2, r3 80b022a: 1813 adds r3, r2, r0 80b022c: f834 3013 ldrh.w r3, [r4, r3, lsl #1] 80b0230: 4299 cmp r1, r3 80b0232: da3f bge.n 80b02b4 DynamicCursor[1].CURSOR = (DynamicCursor[1].Mpos - X0) / Avg[type][5 * ViewLevel + pardata.LNE]; 80b0234: 4b12 ldr r3, [pc, #72] ; (80b0280 ) 80b0236: 8a9b ldrh r3, [r3, #20] 80b0238: 461a mov r2, r3 80b023a: 4b15 ldr r3, [pc, #84] ; (80b0290 ) 80b023c: 881b ldrh r3, [r3, #0] 80b023e: b29b uxth r3, r3 80b0240: 1ad1 subs r1, r2, r3 80b0242: 79fa ldrb r2, [r7, #7] 80b0244: 4b0f ldr r3, [pc, #60] ; (80b0284 ) 80b0246: 781b ldrb r3, [r3, #0] 80b0248: b2db uxtb r3, r3 80b024a: 4618 mov r0, r3 80b024c: 4603 mov r3, r0 80b024e: 009b lsls r3, r3, #2 80b0250: 4403 add r3, r0 80b0252: 480d ldr r0, [pc, #52] ; (80b0288 ) 80b0254: 79c0 ldrb r0, [r0, #7] 80b0256: b2c0 uxtb r0, r0 80b0258: 4418 add r0, r3 80b025a: 4c0c ldr r4, [pc, #48] ; (80b028c ) 80b025c: 4613 mov r3, r2 80b025e: 009b lsls r3, r3, #2 80b0260: 4413 add r3, r2 80b0262: 00da lsls r2, r3, #3 80b0264: 1ad2 subs r2, r2, r3 80b0266: 1813 adds r3, r2, r0 80b0268: f834 3013 ldrh.w r3, [r4, r3, lsl #1] 80b026c: fb91 f3f3 sdiv r3, r1, r3 80b0270: b29a uxth r2, r3 80b0272: 4b03 ldr r3, [pc, #12] ; (80b0280 ) 80b0274: 825a strh r2, [r3, #18] 80b0276: e059 b.n 80b032c 80b0278: 20020fbd .word 0x20020fbd 80b027c: 20020060 .word 0x20020060 80b0280: 20020f8c .word 0x20020f8c 80b0284: 20020fb8 .word 0x20020fb8 80b0288: 20023ea8 .word 0x20023ea8 80b028c: 080f39a0 .word 0x080f39a0 80b0290: 20025d66 .word 0x20025d66 80b0294: ff0a0f1f .word 0xff0a0f1f 80b0298: ffffa500 .word 0xffffa500 80b029c: 20020dd2 .word 0x20020dd2 80b02a0: 20021d68 .word 0x20021d68 80b02a4: 20020dc8 .word 0x20020dc8 80b02a8: 080d2bc4 .word 0x080d2bc4 80b02ac: 20025d62 .word 0x20025d62 80b02b0: 20025d68 .word 0x20025d68 else { DynamicCursor[1].Mpos += Avg[type][5 * ViewLevel + pardata.LNE]; 80b02b4: 79fa ldrb r2, [r7, #7] 80b02b6: 4b59 ldr r3, [pc, #356] ; (80b041c ) 80b02b8: 781b ldrb r3, [r3, #0] 80b02ba: b2db uxtb r3, r3 80b02bc: 4619 mov r1, r3 80b02be: 460b mov r3, r1 80b02c0: 009b lsls r3, r3, #2 80b02c2: 440b add r3, r1 80b02c4: 4956 ldr r1, [pc, #344] ; (80b0420 ) 80b02c6: 79c9 ldrb r1, [r1, #7] 80b02c8: b2c9 uxtb r1, r1 80b02ca: 4419 add r1, r3 80b02cc: 4855 ldr r0, [pc, #340] ; (80b0424 ) 80b02ce: 4613 mov r3, r2 80b02d0: 009b lsls r3, r3, #2 80b02d2: 4413 add r3, r2 80b02d4: 00da lsls r2, r3, #3 80b02d6: 1ad2 subs r2, r2, r3 80b02d8: 1853 adds r3, r2, r1 80b02da: f830 3013 ldrh.w r3, [r0, r3, lsl #1] 80b02de: 4a52 ldr r2, [pc, #328] ; (80b0428 ) 80b02e0: 8a92 ldrh r2, [r2, #20] 80b02e2: 4413 add r3, r2 80b02e4: b29a uxth r2, r3 80b02e6: 4b50 ldr r3, [pc, #320] ; (80b0428 ) 80b02e8: 829a strh r2, [r3, #20] DynamicCursor[1].CURSOR = (DynamicCursor[1].Mpos - X0) / Avg[type][5 * ViewLevel + pardata.LNE]; 80b02ea: 4b4f ldr r3, [pc, #316] ; (80b0428 ) 80b02ec: 8a9b ldrh r3, [r3, #20] 80b02ee: 461a mov r2, r3 80b02f0: 4b4e ldr r3, [pc, #312] ; (80b042c ) 80b02f2: 881b ldrh r3, [r3, #0] 80b02f4: b29b uxth r3, r3 80b02f6: 1ad1 subs r1, r2, r3 80b02f8: 79fa ldrb r2, [r7, #7] 80b02fa: 4b48 ldr r3, [pc, #288] ; (80b041c ) 80b02fc: 781b ldrb r3, [r3, #0] 80b02fe: b2db uxtb r3, r3 80b0300: 4618 mov r0, r3 80b0302: 4603 mov r3, r0 80b0304: 009b lsls r3, r3, #2 80b0306: 4403 add r3, r0 80b0308: 4845 ldr r0, [pc, #276] ; (80b0420 ) 80b030a: 79c0 ldrb r0, [r0, #7] 80b030c: b2c0 uxtb r0, r0 80b030e: 4418 add r0, r3 80b0310: 4c44 ldr r4, [pc, #272] ; (80b0424 ) 80b0312: 4613 mov r3, r2 80b0314: 009b lsls r3, r3, #2 80b0316: 4413 add r3, r2 80b0318: 00da lsls r2, r3, #3 80b031a: 1ad2 subs r2, r2, r3 80b031c: 1813 adds r3, r2, r0 80b031e: f834 3013 ldrh.w r3, [r4, r3, lsl #1] 80b0322: fb91 f3f3 sdiv r3, r1, r3 80b0326: b29a uxth r2, r3 80b0328: 4b3f ldr r3, [pc, #252] ; (80b0428 ) 80b032a: 825a strh r2, [r3, #18] } LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80b032c: 4940 ldr r1, [pc, #256] ; (80b0430 ) 80b032e: 4841 ldr r0, [pc, #260] ; (80b0434 ) 80b0330: f7a4 f96e bl 8054610 if(DynamicCursor[1].CURSOR >= 0 && DynamicCursor[1].CURSOR <= 255) 80b0334: 4b3c ldr r3, [pc, #240] ; (80b0428 ) 80b0336: 8a5b ldrh r3, [r3, #18] 80b0338: 2bff cmp r3, #255 ; 0xff 80b033a: d84c bhi.n 80b03d6 { if(menu == MAIN_OSC) 80b033c: 4b3e ldr r3, [pc, #248] ; (80b0438 ) 80b033e: 781b ldrb r3, [r3, #0] 80b0340: b2db uxtb r3, r3 80b0342: 2b1d cmp r3, #29 80b0344: d123 bne.n 80b038e { if((!FIRST) && (Stability > (Nr * 4))) 80b0346: 4b3d ldr r3, [pc, #244] ; (80b043c ) 80b0348: 781b ldrb r3, [r3, #0] 80b034a: b2db uxtb r3, r3 80b034c: f083 0301 eor.w r3, r3, #1 80b0350: b2db uxtb r3, r3 80b0352: 2b00 cmp r3, #0 80b0354: d05b beq.n 80b040e 80b0356: 4b3a ldr r3, [pc, #232] ; (80b0440 ) 80b0358: 881b ldrh r3, [r3, #0] 80b035a: b29b uxth r3, r3 80b035c: 009b lsls r3, r3, #2 80b035e: 461a mov r2, r3 80b0360: 4b38 ldr r3, [pc, #224] ; (80b0444 ) 80b0362: 681b ldr r3, [r3, #0] 80b0364: 429a cmp r2, r3 80b0366: d252 bcs.n 80b040e { BSP_LCD_DrawVLine(62 + DynamicCursor[1].CURSOR, 44, 191); 80b0368: 4b2f ldr r3, [pc, #188] ; (80b0428 ) 80b036a: 8a5b ldrh r3, [r3, #18] 80b036c: 333e adds r3, #62 ; 0x3e 80b036e: b29b uxth r3, r3 80b0370: 22bf movs r2, #191 ; 0xbf 80b0372: 212c movs r1, #44 ; 0x2c 80b0374: 4618 mov r0, r3 80b0376: f7a4 fb23 bl 80549c0 BSP_LCD_DisplayStringAt(62 + DynamicCursor[1].CURSOR, 70, "2", CENTER_MODE); 80b037a: 4b2b ldr r3, [pc, #172] ; (80b0428 ) 80b037c: 8a5b ldrh r3, [r3, #18] 80b037e: 333e adds r3, #62 ; 0x3e 80b0380: b298 uxth r0, r3 80b0382: 2301 movs r3, #1 80b0384: 4a30 ldr r2, [pc, #192] ; (80b0448 ) 80b0386: 2146 movs r1, #70 ; 0x46 80b0388: f7a4 fa08 bl 805479c 80b038c: e03f b.n 80b040e } } else { if((!FIRST) && (Stability > (Nr * 4))) 80b038e: 4b2b ldr r3, [pc, #172] ; (80b043c ) 80b0390: 781b ldrb r3, [r3, #0] 80b0392: b2db uxtb r3, r3 80b0394: f083 0301 eor.w r3, r3, #1 80b0398: b2db uxtb r3, r3 80b039a: 2b00 cmp r3, #0 80b039c: d037 beq.n 80b040e 80b039e: 4b28 ldr r3, [pc, #160] ; (80b0440 ) 80b03a0: 881b ldrh r3, [r3, #0] 80b03a2: b29b uxth r3, r3 80b03a4: 009b lsls r3, r3, #2 80b03a6: 461a mov r2, r3 80b03a8: 4b26 ldr r3, [pc, #152] ; (80b0444 ) 80b03aa: 681b ldr r3, [r3, #0] 80b03ac: 429a cmp r2, r3 80b03ae: d22e bcs.n 80b040e { BSP_LCD_DrawVLine(62 + DynamicCursor[1].CURSOR, 44, 191); 80b03b0: 4b1d ldr r3, [pc, #116] ; (80b0428 ) 80b03b2: 8a5b ldrh r3, [r3, #18] 80b03b4: 333e adds r3, #62 ; 0x3e 80b03b6: b29b uxth r3, r3 80b03b8: 22bf movs r2, #191 ; 0xbf 80b03ba: 212c movs r1, #44 ; 0x2c 80b03bc: 4618 mov r0, r3 80b03be: f7a4 faff bl 80549c0 BSP_LCD_DisplayStringAt(62 + DynamicCursor[1].CURSOR, 70, "2", CENTER_MODE); 80b03c2: 4b19 ldr r3, [pc, #100] ; (80b0428 ) 80b03c4: 8a5b ldrh r3, [r3, #18] 80b03c6: 333e adds r3, #62 ; 0x3e 80b03c8: b298 uxth r0, r3 80b03ca: 2301 movs r3, #1 80b03cc: 4a1e ldr r2, [pc, #120] ; (80b0448 ) 80b03ce: 2146 movs r1, #70 ; 0x46 80b03d0: f7a4 f9e4 bl 805479c 80b03d4: e01b b.n 80b040e } } else { // marker position is outleft or outright of window screen if(DynamicCursor[1].Mpos < lX) 80b03d6: 4b14 ldr r3, [pc, #80] ; (80b0428 ) 80b03d8: 8a9a ldrh r2, [r3, #20] 80b03da: 4b1c ldr r3, [pc, #112] ; (80b044c ) 80b03dc: 881b ldrh r3, [r3, #0] 80b03de: b29b uxth r3, r3 80b03e0: 429a cmp r2, r3 80b03e2: d206 bcs.n 80b03f2 { BSP_LCD_DisplayStringAt(62, 70, "2", CENTER_MODE); 80b03e4: 2301 movs r3, #1 80b03e6: 4a18 ldr r2, [pc, #96] ; (80b0448 ) 80b03e8: 2146 movs r1, #70 ; 0x46 80b03ea: 203e movs r0, #62 ; 0x3e 80b03ec: f7a4 f9d6 bl 805479c 80b03f0: e00d b.n 80b040e } else if(DynamicCursor[1].Mpos >= rX) 80b03f2: 4b0d ldr r3, [pc, #52] ; (80b0428 ) 80b03f4: 8a9a ldrh r2, [r3, #20] 80b03f6: 4b16 ldr r3, [pc, #88] ; (80b0450 ) 80b03f8: 881b ldrh r3, [r3, #0] 80b03fa: b29b uxth r3, r3 80b03fc: 429a cmp r2, r3 80b03fe: d306 bcc.n 80b040e { BSP_LCD_DisplayStringAt(62 + 255, 70, "2", CENTER_MODE); 80b0400: 2301 movs r3, #1 80b0402: 4a11 ldr r2, [pc, #68] ; (80b0448 ) 80b0404: 2146 movs r1, #70 ; 0x46 80b0406: f240 103d movw r0, #317 ; 0x13d 80b040a: f7a4 f9c7 bl 805479c } /////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 80b040e: 4811 ldr r0, [pc, #68] ; (80b0454 ) 80b0410: f7a4 f93a bl 8054688 } 80b0414: bf00 nop 80b0416: 370c adds r7, #12 80b0418: 46bd mov sp, r7 80b041a: bd90 pop {r4, r7, pc} 80b041c: 20020fb8 .word 0x20020fb8 80b0420: 20023ea8 .word 0x20023ea8 80b0424: 080f39a0 .word 0x080f39a0 80b0428: 20020f8c .word 0x20020f8c 80b042c: 20025d66 .word 0x20025d66 80b0430: ff0a0f1f .word 0xff0a0f1f 80b0434: ffffa500 .word 0xffffa500 80b0438: 20020fbd .word 0x20020fbd 80b043c: 20020dd2 .word 0x20020dd2 80b0440: 20021d68 .word 0x20021d68 80b0444: 20020dc8 .word 0x20020dc8 80b0448: 080d2bc8 .word 0x080d2bc8 80b044c: 20025d62 .word 0x20025d62 80b0450: 20025d68 .word 0x20025d68 80b0454: 20020038 .word 0x20020038 080b0458 : void DrawButtons(uint8_t menupos) // TODO { 80b0458: b580 push {r7, lr} 80b045a: b082 sub sp, #8 80b045c: af00 add r7, sp, #0 80b045e: 4603 mov r3, r0 80b0460: 71fb strb r3, [r7, #7] BSP_LCD_SetFont(&Font12); 80b0462: 48ab ldr r0, [pc, #684] ; (80b0710 ) 80b0464: f7a4 f910 bl 8054688 switch(menupos) 80b0468: 79fb ldrb r3, [r7, #7] 80b046a: 2b09 cmp r3, #9 80b046c: f200 8516 bhi.w 80b0e9c 80b0470: a201 add r2, pc, #4 ; (adr r2, 80b0478 ) 80b0472: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b0476: bf00 nop 80b0478: 080b0a29 .word 0x080b0a29 80b047c: 080b0e9d .word 0x080b0e9d 80b0480: 080b04a1 .word 0x080b04a1 80b0484: 080b05d9 .word 0x080b05d9 80b0488: 080b0769 .word 0x080b0769 80b048c: 080b089f .word 0x080b089f 80b0490: 080b0b83 .word 0x080b0b83 80b0494: 080b0e9d .word 0x080b0e9d 80b0498: 080b0d11 .word 0x080b0d11 80b049c: 080b0dbf .word 0x080b0dbf { case ImageLeft: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b04a0: 499c ldr r1, [pc, #624] ; (80b0714 ) 80b04a2: f04f 30ff mov.w r0, #4294967295 80b04a6: f7a4 f8b3 bl 8054610 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b04aa: 4b9b ldr r3, [pc, #620] ; (80b0718 ) 80b04ac: 781b ldrb r3, [r3, #0] 80b04ae: b2db uxtb r3, r3 80b04b0: 2b1c cmp r3, #28 80b04b2: d00e beq.n 80b04d2 80b04b4: 4b98 ldr r3, [pc, #608] ; (80b0718 ) 80b04b6: 781b ldrb r3, [r3, #0] 80b04b8: b2db uxtb r3, r3 80b04ba: 2b21 cmp r3, #33 ; 0x21 80b04bc: d009 beq.n 80b04d2 80b04be: 4b96 ldr r3, [pc, #600] ; (80b0718 ) 80b04c0: 781b ldrb r3, [r3, #0] 80b04c2: b2db uxtb r3, r3 80b04c4: 2b22 cmp r3, #34 ; 0x22 80b04c6: d004 beq.n 80b04d2 80b04c8: 4b93 ldr r3, [pc, #588] ; (80b0718 ) 80b04ca: 781b ldrb r3, [r3, #0] 80b04cc: b2db uxtb r3, r3 80b04ce: 2b23 cmp r3, #35 ; 0x23 80b04d0: d109 bne.n 80b04e6 80b04d2: 4b92 ldr r3, [pc, #584] ; (80b071c ) 80b04d4: 781b ldrb r3, [r3, #0] 80b04d6: b2db uxtb r3, r3 80b04d8: 2b00 cmp r3, #0 80b04da: d004 beq.n 80b04e6 DrawImage(&bmOSC_SAVE, 3, 108-26); 80b04dc: 2252 movs r2, #82 ; 0x52 80b04de: 2103 movs r1, #3 80b04e0: 488f ldr r0, [pc, #572] ; (80b0720 ) 80b04e2: f7a4 ff89 bl 80553f8 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b04e6: 4b8c ldr r3, [pc, #560] ; (80b0718 ) 80b04e8: 781b ldrb r3, [r3, #0] 80b04ea: b2db uxtb r3, r3 80b04ec: 2b24 cmp r3, #36 ; 0x24 80b04ee: d004 beq.n 80b04fa 80b04f0: 4b89 ldr r3, [pc, #548] ; (80b0718 ) 80b04f2: 781b ldrb r3, [r3, #0] 80b04f4: b2db uxtb r3, r3 80b04f6: 2b27 cmp r3, #39 ; 0x27 80b04f8: d109 bne.n 80b050e 80b04fa: 4b8a ldr r3, [pc, #552] ; (80b0724 ) 80b04fc: 781b ldrb r3, [r3, #0] 80b04fe: b2db uxtb r3, r3 80b0500: 2b00 cmp r3, #0 80b0502: d004 beq.n 80b050e DrawImage(&bmRESULT_1, 3, 108-26); 80b0504: 2252 movs r2, #82 ; 0x52 80b0506: 2103 movs r1, #3 80b0508: 4887 ldr r0, [pc, #540] ; (80b0728 ) 80b050a: f7a4 ff75 bl 80553f8 DrawImage(&bmLEFT_1_LIGHT, 3, 108); 80b050e: 226c movs r2, #108 ; 0x6c 80b0510: 2103 movs r1, #3 80b0512: 4886 ldr r0, [pc, #536] ; (80b072c ) 80b0514: f7a4 ff70 bl 80553f8 DrawImage(&bmRIGHT_1, 3, 108+26); 80b0518: 2286 movs r2, #134 ; 0x86 80b051a: 2103 movs r1, #3 80b051c: 4884 ldr r0, [pc, #528] ; (80b0730 ) 80b051e: f7a4 ff6b bl 80553f8 DrawImage(&bmPLUS_1, 3, 108+52); 80b0522: 22a0 movs r2, #160 ; 0xa0 80b0524: 2103 movs r1, #3 80b0526: 4883 ldr r0, [pc, #524] ; (80b0734 ) 80b0528: f7a4 ff66 bl 80553f8 DrawImage(&bmMINUS_1, 3, 108+78); 80b052c: 22ba movs r2, #186 ; 0xba 80b052e: 2103 movs r1, #3 80b0530: 4881 ldr r0, [pc, #516] ; (80b0738 ) 80b0532: f7a4 ff61 bl 80553f8 if(menu < VIEW_PORTRET) 80b0536: 4b78 ldr r3, [pc, #480] ; (80b0718 ) 80b0538: 781b ldrb r3, [r3, #0] 80b053a: b2db uxtb r3, r3 80b053c: 2b27 cmp r3, #39 ; 0x27 80b053e: d822 bhi.n 80b0586 { DrawImage(&bmPLAY_1, 3, 108+104); 80b0540: 22d4 movs r2, #212 ; 0xd4 80b0542: 2103 movs r1, #3 80b0544: 487d ldr r0, [pc, #500] ; (80b073c ) 80b0546: f7a4 ff57 bl 80553f8 if(measuring) 80b054a: 4b7d ldr r3, [pc, #500] ; (80b0740 ) 80b054c: 781b ldrb r3, [r3, #0] 80b054e: b2db uxtb r3, r3 80b0550: 2b00 cmp r3, #0 80b0552: d00c beq.n 80b056e BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b0554: 4b7b ldr r3, [pc, #492] ; (80b0744 ) 80b0556: 7b1b ldrb r3, [r3, #12] 80b0558: b2db uxtb r3, r3 80b055a: 4a7b ldr r2, [pc, #492] ; (80b0748 ) 80b055c: 00db lsls r3, r3, #3 80b055e: 4413 add r3, r2 80b0560: 685a ldr r2, [r3, #4] 80b0562: 2301 movs r3, #1 80b0564: 21db movs r1, #219 ; 0xdb 80b0566: 201e movs r0, #30 80b0568: f7a4 f918 bl 805479c 80b056c: e00b b.n 80b0586 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b056e: 4b75 ldr r3, [pc, #468] ; (80b0744 ) 80b0570: 7b1b ldrb r3, [r3, #12] 80b0572: b2db uxtb r3, r3 80b0574: 461a mov r2, r3 80b0576: 4b74 ldr r3, [pc, #464] ; (80b0748 ) 80b0578: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b057c: 2301 movs r3, #1 80b057e: 21db movs r1, #219 ; 0xdb 80b0580: 201e movs r0, #30 80b0582: f7a4 f90b bl 805479c } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80b0586: 4b64 ldr r3, [pc, #400] ; (80b0718 ) 80b0588: 781b ldrb r3, [r3, #0] 80b058a: b2db uxtb r3, r3 80b058c: 2b1d cmp r3, #29 80b058e: f040 8476 bne.w 80b0e7e 80b0592: 4b6e ldr r3, [pc, #440] ; (80b074c ) 80b0594: 781b ldrb r3, [r3, #0] 80b0596: b2db uxtb r3, r3 80b0598: f083 0301 eor.w r3, r3, #1 80b059c: b2db uxtb r3, r3 80b059e: 2b00 cmp r3, #0 80b05a0: f000 846d beq.w 80b0e7e 80b05a4: 4b6a ldr r3, [pc, #424] ; (80b0750 ) 80b05a6: 881b ldrh r3, [r3, #0] 80b05a8: b29b uxth r3, r3 80b05aa: 009b lsls r3, r3, #2 80b05ac: 461a mov r2, r3 80b05ae: 4b69 ldr r3, [pc, #420] ; (80b0754 ) 80b05b0: 681b ldr r3, [r3, #0] 80b05b2: 429a cmp r2, r3 80b05b4: f080 8463 bcs.w 80b0e7e { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b05b8: 4956 ldr r1, [pc, #344] ; (80b0714 ) 80b05ba: 4867 ldr r0, [pc, #412] ; (80b0758 ) 80b05bc: f7a4 f828 bl 8054610 BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80b05c0: 4b66 ldr r3, [pc, #408] ; (80b075c ) 80b05c2: 681b ldr r3, [r3, #0] 80b05c4: b29b uxth r3, r3 80b05c6: 333e adds r3, #62 ; 0x3e 80b05c8: b29b uxth r3, r3 80b05ca: 22bf movs r2, #191 ; 0xbf 80b05cc: 212c movs r1, #44 ; 0x2c 80b05ce: 4618 mov r0, r3 80b05d0: f7a4 f9f6 bl 80549c0 } break; 80b05d4: f000 bc53 b.w 80b0e7e case ZoomIn: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b05d8: 494e ldr r1, [pc, #312] ; (80b0714 ) 80b05da: f04f 30ff mov.w r0, #4294967295 80b05de: f7a4 f817 bl 8054610 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b05e2: 4b4d ldr r3, [pc, #308] ; (80b0718 ) 80b05e4: 781b ldrb r3, [r3, #0] 80b05e6: b2db uxtb r3, r3 80b05e8: 2b1c cmp r3, #28 80b05ea: d00e beq.n 80b060a 80b05ec: 4b4a ldr r3, [pc, #296] ; (80b0718 ) 80b05ee: 781b ldrb r3, [r3, #0] 80b05f0: b2db uxtb r3, r3 80b05f2: 2b21 cmp r3, #33 ; 0x21 80b05f4: d009 beq.n 80b060a 80b05f6: 4b48 ldr r3, [pc, #288] ; (80b0718 ) 80b05f8: 781b ldrb r3, [r3, #0] 80b05fa: b2db uxtb r3, r3 80b05fc: 2b22 cmp r3, #34 ; 0x22 80b05fe: d004 beq.n 80b060a 80b0600: 4b45 ldr r3, [pc, #276] ; (80b0718 ) 80b0602: 781b ldrb r3, [r3, #0] 80b0604: b2db uxtb r3, r3 80b0606: 2b23 cmp r3, #35 ; 0x23 80b0608: d109 bne.n 80b061e 80b060a: 4b44 ldr r3, [pc, #272] ; (80b071c ) 80b060c: 781b ldrb r3, [r3, #0] 80b060e: b2db uxtb r3, r3 80b0610: 2b00 cmp r3, #0 80b0612: d004 beq.n 80b061e DrawImage(&bmOSC_SAVE, 3, 108-26); 80b0614: 2252 movs r2, #82 ; 0x52 80b0616: 2103 movs r1, #3 80b0618: 4841 ldr r0, [pc, #260] ; (80b0720 ) 80b061a: f7a4 feed bl 80553f8 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b061e: 4b3e ldr r3, [pc, #248] ; (80b0718 ) 80b0620: 781b ldrb r3, [r3, #0] 80b0622: b2db uxtb r3, r3 80b0624: 2b24 cmp r3, #36 ; 0x24 80b0626: d004 beq.n 80b0632 80b0628: 4b3b ldr r3, [pc, #236] ; (80b0718 ) 80b062a: 781b ldrb r3, [r3, #0] 80b062c: b2db uxtb r3, r3 80b062e: 2b27 cmp r3, #39 ; 0x27 80b0630: d109 bne.n 80b0646 80b0632: 4b3c ldr r3, [pc, #240] ; (80b0724 ) 80b0634: 781b ldrb r3, [r3, #0] 80b0636: b2db uxtb r3, r3 80b0638: 2b00 cmp r3, #0 80b063a: d004 beq.n 80b0646 DrawImage(&bmRESULT_1, 3, 108-26); 80b063c: 2252 movs r2, #82 ; 0x52 80b063e: 2103 movs r1, #3 80b0640: 4839 ldr r0, [pc, #228] ; (80b0728 ) 80b0642: f7a4 fed9 bl 80553f8 DrawImage(&bmLEFT_1, 3, 108); 80b0646: 226c movs r2, #108 ; 0x6c 80b0648: 2103 movs r1, #3 80b064a: 4845 ldr r0, [pc, #276] ; (80b0760 ) 80b064c: f7a4 fed4 bl 80553f8 DrawImage(&bmRIGHT_1, 3, 108+26); 80b0650: 2286 movs r2, #134 ; 0x86 80b0652: 2103 movs r1, #3 80b0654: 4836 ldr r0, [pc, #216] ; (80b0730 ) 80b0656: f7a4 fecf bl 80553f8 DrawImage(&bmPLUS_1_LIGHT, 3, 108+52); 80b065a: 22a0 movs r2, #160 ; 0xa0 80b065c: 2103 movs r1, #3 80b065e: 4841 ldr r0, [pc, #260] ; (80b0764 ) 80b0660: f7a4 feca bl 80553f8 DrawImage(&bmMINUS_1, 3, 108+78); 80b0664: 22ba movs r2, #186 ; 0xba 80b0666: 2103 movs r1, #3 80b0668: 4833 ldr r0, [pc, #204] ; (80b0738 ) 80b066a: f7a4 fec5 bl 80553f8 if(menu < VIEW_PORTRET) 80b066e: 4b2a ldr r3, [pc, #168] ; (80b0718 ) 80b0670: 781b ldrb r3, [r3, #0] 80b0672: b2db uxtb r3, r3 80b0674: 2b27 cmp r3, #39 ; 0x27 80b0676: d822 bhi.n 80b06be { DrawImage(&bmPLAY_1, 3, 108+104); 80b0678: 22d4 movs r2, #212 ; 0xd4 80b067a: 2103 movs r1, #3 80b067c: 482f ldr r0, [pc, #188] ; (80b073c ) 80b067e: f7a4 febb bl 80553f8 if(measuring) 80b0682: 4b2f ldr r3, [pc, #188] ; (80b0740 ) 80b0684: 781b ldrb r3, [r3, #0] 80b0686: b2db uxtb r3, r3 80b0688: 2b00 cmp r3, #0 80b068a: d00c beq.n 80b06a6 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b068c: 4b2d ldr r3, [pc, #180] ; (80b0744 ) 80b068e: 7b1b ldrb r3, [r3, #12] 80b0690: b2db uxtb r3, r3 80b0692: 4a2d ldr r2, [pc, #180] ; (80b0748 ) 80b0694: 00db lsls r3, r3, #3 80b0696: 4413 add r3, r2 80b0698: 685a ldr r2, [r3, #4] 80b069a: 2301 movs r3, #1 80b069c: 21db movs r1, #219 ; 0xdb 80b069e: 201e movs r0, #30 80b06a0: f7a4 f87c bl 805479c 80b06a4: e00b b.n 80b06be else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b06a6: 4b27 ldr r3, [pc, #156] ; (80b0744 ) 80b06a8: 7b1b ldrb r3, [r3, #12] 80b06aa: b2db uxtb r3, r3 80b06ac: 461a mov r2, r3 80b06ae: 4b26 ldr r3, [pc, #152] ; (80b0748 ) 80b06b0: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b06b4: 2301 movs r3, #1 80b06b6: 21db movs r1, #219 ; 0xdb 80b06b8: 201e movs r0, #30 80b06ba: f7a4 f86f bl 805479c } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80b06be: 4b16 ldr r3, [pc, #88] ; (80b0718 ) 80b06c0: 781b ldrb r3, [r3, #0] 80b06c2: b2db uxtb r3, r3 80b06c4: 2b1d cmp r3, #29 80b06c6: f040 83dc bne.w 80b0e82 80b06ca: 4b20 ldr r3, [pc, #128] ; (80b074c ) 80b06cc: 781b ldrb r3, [r3, #0] 80b06ce: b2db uxtb r3, r3 80b06d0: f083 0301 eor.w r3, r3, #1 80b06d4: b2db uxtb r3, r3 80b06d6: 2b00 cmp r3, #0 80b06d8: f000 83d3 beq.w 80b0e82 80b06dc: 4b1c ldr r3, [pc, #112] ; (80b0750 ) 80b06de: 881b ldrh r3, [r3, #0] 80b06e0: b29b uxth r3, r3 80b06e2: 009b lsls r3, r3, #2 80b06e4: 461a mov r2, r3 80b06e6: 4b1b ldr r3, [pc, #108] ; (80b0754 ) 80b06e8: 681b ldr r3, [r3, #0] 80b06ea: 429a cmp r2, r3 80b06ec: f080 83c9 bcs.w 80b0e82 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b06f0: 4908 ldr r1, [pc, #32] ; (80b0714 ) 80b06f2: 4819 ldr r0, [pc, #100] ; (80b0758 ) 80b06f4: f7a3 ff8c bl 8054610 BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80b06f8: 4b18 ldr r3, [pc, #96] ; (80b075c ) 80b06fa: 681b ldr r3, [r3, #0] 80b06fc: b29b uxth r3, r3 80b06fe: 333e adds r3, #62 ; 0x3e 80b0700: b29b uxth r3, r3 80b0702: 22bf movs r2, #191 ; 0xbf 80b0704: 212c movs r1, #44 ; 0x2c 80b0706: 4618 mov r0, r3 80b0708: f7a4 f95a bl 80549c0 } break; 80b070c: e3b9 b.n 80b0e82 80b070e: bf00 nop 80b0710: 20020038 .word 0x20020038 80b0714: ff0a0f1f .word 0xff0a0f1f 80b0718: 20020fbd .word 0x20020fbd 80b071c: 20020dae .word 0x20020dae 80b0720: 081416c4 .word 0x081416c4 80b0724: 20020d88 .word 0x20020d88 80b0728: 08149978 .word 0x08149978 80b072c: 08119140 .word 0x08119140 80b0730: 0814afe8 .word 0x0814afe8 80b0734: 081476b0 .word 0x081476b0 80b0738: 0813fa28 .word 0x0813fa28 80b073c: 08146040 .word 0x08146040 80b0740: 20020dcf .word 0x20020dcf 80b0744: 20023ea8 .word 0x20023ea8 80b0748: 200201d4 .word 0x200201d4 80b074c: 20020dd2 .word 0x20020dd2 80b0750: 20021d68 .word 0x20021d68 80b0754: 20020dc8 .word 0x20020dc8 80b0758: ff808080 .word 0xff808080 80b075c: 2002006c .word 0x2002006c 80b0760: 08118608 .word 0x08118608 80b0764: 081481e8 .word 0x081481e8 case ZoomOut: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b0768: 499a ldr r1, [pc, #616] ; (80b09d4 ) 80b076a: f04f 30ff mov.w r0, #4294967295 80b076e: f7a3 ff4f bl 8054610 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b0772: 4b99 ldr r3, [pc, #612] ; (80b09d8 ) 80b0774: 781b ldrb r3, [r3, #0] 80b0776: b2db uxtb r3, r3 80b0778: 2b1c cmp r3, #28 80b077a: d00e beq.n 80b079a 80b077c: 4b96 ldr r3, [pc, #600] ; (80b09d8 ) 80b077e: 781b ldrb r3, [r3, #0] 80b0780: b2db uxtb r3, r3 80b0782: 2b21 cmp r3, #33 ; 0x21 80b0784: d009 beq.n 80b079a 80b0786: 4b94 ldr r3, [pc, #592] ; (80b09d8 ) 80b0788: 781b ldrb r3, [r3, #0] 80b078a: b2db uxtb r3, r3 80b078c: 2b22 cmp r3, #34 ; 0x22 80b078e: d004 beq.n 80b079a 80b0790: 4b91 ldr r3, [pc, #580] ; (80b09d8 ) 80b0792: 781b ldrb r3, [r3, #0] 80b0794: b2db uxtb r3, r3 80b0796: 2b23 cmp r3, #35 ; 0x23 80b0798: d109 bne.n 80b07ae 80b079a: 4b90 ldr r3, [pc, #576] ; (80b09dc ) 80b079c: 781b ldrb r3, [r3, #0] 80b079e: b2db uxtb r3, r3 80b07a0: 2b00 cmp r3, #0 80b07a2: d004 beq.n 80b07ae DrawImage(&bmOSC_SAVE, 3, 108-26); 80b07a4: 2252 movs r2, #82 ; 0x52 80b07a6: 2103 movs r1, #3 80b07a8: 488d ldr r0, [pc, #564] ; (80b09e0 ) 80b07aa: f7a4 fe25 bl 80553f8 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b07ae: 4b8a ldr r3, [pc, #552] ; (80b09d8 ) 80b07b0: 781b ldrb r3, [r3, #0] 80b07b2: b2db uxtb r3, r3 80b07b4: 2b24 cmp r3, #36 ; 0x24 80b07b6: d004 beq.n 80b07c2 80b07b8: 4b87 ldr r3, [pc, #540] ; (80b09d8 ) 80b07ba: 781b ldrb r3, [r3, #0] 80b07bc: b2db uxtb r3, r3 80b07be: 2b27 cmp r3, #39 ; 0x27 80b07c0: d109 bne.n 80b07d6 80b07c2: 4b88 ldr r3, [pc, #544] ; (80b09e4 ) 80b07c4: 781b ldrb r3, [r3, #0] 80b07c6: b2db uxtb r3, r3 80b07c8: 2b00 cmp r3, #0 80b07ca: d004 beq.n 80b07d6 DrawImage(&bmRESULT_1, 3, 108-26); 80b07cc: 2252 movs r2, #82 ; 0x52 80b07ce: 2103 movs r1, #3 80b07d0: 4885 ldr r0, [pc, #532] ; (80b09e8 ) 80b07d2: f7a4 fe11 bl 80553f8 DrawImage(&bmLEFT_1, 3, 108); 80b07d6: 226c movs r2, #108 ; 0x6c 80b07d8: 2103 movs r1, #3 80b07da: 4884 ldr r0, [pc, #528] ; (80b09ec ) 80b07dc: f7a4 fe0c bl 80553f8 DrawImage(&bmRIGHT_1, 3, 108+26); 80b07e0: 2286 movs r2, #134 ; 0x86 80b07e2: 2103 movs r1, #3 80b07e4: 4882 ldr r0, [pc, #520] ; (80b09f0 ) 80b07e6: f7a4 fe07 bl 80553f8 DrawImage(&bmPLUS_1, 3, 108+52); 80b07ea: 22a0 movs r2, #160 ; 0xa0 80b07ec: 2103 movs r1, #3 80b07ee: 4881 ldr r0, [pc, #516] ; (80b09f4 ) 80b07f0: f7a4 fe02 bl 80553f8 DrawImage(&bmMINUS_1_LIGHT, 3, 108+78); 80b07f4: 22ba movs r2, #186 ; 0xba 80b07f6: 2103 movs r1, #3 80b07f8: 487f ldr r0, [pc, #508] ; (80b09f8 ) 80b07fa: f7a4 fdfd bl 80553f8 if(menu < VIEW_PORTRET) 80b07fe: 4b76 ldr r3, [pc, #472] ; (80b09d8 ) 80b0800: 781b ldrb r3, [r3, #0] 80b0802: b2db uxtb r3, r3 80b0804: 2b27 cmp r3, #39 ; 0x27 80b0806: d822 bhi.n 80b084e { DrawImage(&bmPLAY_1, 3, 108+104); 80b0808: 22d4 movs r2, #212 ; 0xd4 80b080a: 2103 movs r1, #3 80b080c: 487b ldr r0, [pc, #492] ; (80b09fc ) 80b080e: f7a4 fdf3 bl 80553f8 if(measuring) 80b0812: 4b7b ldr r3, [pc, #492] ; (80b0a00 ) 80b0814: 781b ldrb r3, [r3, #0] 80b0816: b2db uxtb r3, r3 80b0818: 2b00 cmp r3, #0 80b081a: d00c beq.n 80b0836 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b081c: 4b79 ldr r3, [pc, #484] ; (80b0a04 ) 80b081e: 7b1b ldrb r3, [r3, #12] 80b0820: b2db uxtb r3, r3 80b0822: 4a79 ldr r2, [pc, #484] ; (80b0a08 ) 80b0824: 00db lsls r3, r3, #3 80b0826: 4413 add r3, r2 80b0828: 685a ldr r2, [r3, #4] 80b082a: 2301 movs r3, #1 80b082c: 21db movs r1, #219 ; 0xdb 80b082e: 201e movs r0, #30 80b0830: f7a3 ffb4 bl 805479c 80b0834: e00b b.n 80b084e else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b0836: 4b73 ldr r3, [pc, #460] ; (80b0a04 ) 80b0838: 7b1b ldrb r3, [r3, #12] 80b083a: b2db uxtb r3, r3 80b083c: 461a mov r2, r3 80b083e: 4b72 ldr r3, [pc, #456] ; (80b0a08 ) 80b0840: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b0844: 2301 movs r3, #1 80b0846: 21db movs r1, #219 ; 0xdb 80b0848: 201e movs r0, #30 80b084a: f7a3 ffa7 bl 805479c } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80b084e: 4b62 ldr r3, [pc, #392] ; (80b09d8 ) 80b0850: 781b ldrb r3, [r3, #0] 80b0852: b2db uxtb r3, r3 80b0854: 2b1d cmp r3, #29 80b0856: f040 8316 bne.w 80b0e86 80b085a: 4b6c ldr r3, [pc, #432] ; (80b0a0c ) 80b085c: 781b ldrb r3, [r3, #0] 80b085e: b2db uxtb r3, r3 80b0860: f083 0301 eor.w r3, r3, #1 80b0864: b2db uxtb r3, r3 80b0866: 2b00 cmp r3, #0 80b0868: f000 830d beq.w 80b0e86 80b086c: 4b68 ldr r3, [pc, #416] ; (80b0a10 ) 80b086e: 881b ldrh r3, [r3, #0] 80b0870: b29b uxth r3, r3 80b0872: 009b lsls r3, r3, #2 80b0874: 461a mov r2, r3 80b0876: 4b67 ldr r3, [pc, #412] ; (80b0a14 ) 80b0878: 681b ldr r3, [r3, #0] 80b087a: 429a cmp r2, r3 80b087c: f080 8303 bcs.w 80b0e86 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b0880: 4954 ldr r1, [pc, #336] ; (80b09d4 ) 80b0882: 4865 ldr r0, [pc, #404] ; (80b0a18 ) 80b0884: f7a3 fec4 bl 8054610 BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80b0888: 4b64 ldr r3, [pc, #400] ; (80b0a1c ) 80b088a: 681b ldr r3, [r3, #0] 80b088c: b29b uxth r3, r3 80b088e: 333e adds r3, #62 ; 0x3e 80b0890: b29b uxth r3, r3 80b0892: 22bf movs r2, #191 ; 0xbf 80b0894: 212c movs r1, #44 ; 0x2c 80b0896: 4618 mov r0, r3 80b0898: f7a4 f892 bl 80549c0 } break; 80b089c: e2f3 b.n 80b0e86 case ImageRight: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b089e: 494d ldr r1, [pc, #308] ; (80b09d4 ) 80b08a0: f04f 30ff mov.w r0, #4294967295 80b08a4: f7a3 feb4 bl 8054610 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b08a8: 4b4b ldr r3, [pc, #300] ; (80b09d8 ) 80b08aa: 781b ldrb r3, [r3, #0] 80b08ac: b2db uxtb r3, r3 80b08ae: 2b1c cmp r3, #28 80b08b0: d00e beq.n 80b08d0 80b08b2: 4b49 ldr r3, [pc, #292] ; (80b09d8 ) 80b08b4: 781b ldrb r3, [r3, #0] 80b08b6: b2db uxtb r3, r3 80b08b8: 2b21 cmp r3, #33 ; 0x21 80b08ba: d009 beq.n 80b08d0 80b08bc: 4b46 ldr r3, [pc, #280] ; (80b09d8 ) 80b08be: 781b ldrb r3, [r3, #0] 80b08c0: b2db uxtb r3, r3 80b08c2: 2b22 cmp r3, #34 ; 0x22 80b08c4: d004 beq.n 80b08d0 80b08c6: 4b44 ldr r3, [pc, #272] ; (80b09d8 ) 80b08c8: 781b ldrb r3, [r3, #0] 80b08ca: b2db uxtb r3, r3 80b08cc: 2b23 cmp r3, #35 ; 0x23 80b08ce: d109 bne.n 80b08e4 80b08d0: 4b42 ldr r3, [pc, #264] ; (80b09dc ) 80b08d2: 781b ldrb r3, [r3, #0] 80b08d4: b2db uxtb r3, r3 80b08d6: 2b00 cmp r3, #0 80b08d8: d004 beq.n 80b08e4 DrawImage(&bmOSC_SAVE, 3, 108-26); 80b08da: 2252 movs r2, #82 ; 0x52 80b08dc: 2103 movs r1, #3 80b08de: 4840 ldr r0, [pc, #256] ; (80b09e0 ) 80b08e0: f7a4 fd8a bl 80553f8 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b08e4: 4b3c ldr r3, [pc, #240] ; (80b09d8 ) 80b08e6: 781b ldrb r3, [r3, #0] 80b08e8: b2db uxtb r3, r3 80b08ea: 2b24 cmp r3, #36 ; 0x24 80b08ec: d004 beq.n 80b08f8 80b08ee: 4b3a ldr r3, [pc, #232] ; (80b09d8 ) 80b08f0: 781b ldrb r3, [r3, #0] 80b08f2: b2db uxtb r3, r3 80b08f4: 2b27 cmp r3, #39 ; 0x27 80b08f6: d109 bne.n 80b090c 80b08f8: 4b3a ldr r3, [pc, #232] ; (80b09e4 ) 80b08fa: 781b ldrb r3, [r3, #0] 80b08fc: b2db uxtb r3, r3 80b08fe: 2b00 cmp r3, #0 80b0900: d004 beq.n 80b090c DrawImage(&bmRESULT_1, 3, 108-26); 80b0902: 2252 movs r2, #82 ; 0x52 80b0904: 2103 movs r1, #3 80b0906: 4838 ldr r0, [pc, #224] ; (80b09e8 ) 80b0908: f7a4 fd76 bl 80553f8 DrawImage(&bmLEFT_1, 3, 108); 80b090c: 226c movs r2, #108 ; 0x6c 80b090e: 2103 movs r1, #3 80b0910: 4836 ldr r0, [pc, #216] ; (80b09ec ) 80b0912: f7a4 fd71 bl 80553f8 DrawImage(&bmRIGHT_1_LIGHT, 3, 108+26); 80b0916: 2286 movs r2, #134 ; 0x86 80b0918: 2103 movs r1, #3 80b091a: 4841 ldr r0, [pc, #260] ; (80b0a20 ) 80b091c: f7a4 fd6c bl 80553f8 DrawImage(&bmPLUS_1, 3, 108+52); 80b0920: 22a0 movs r2, #160 ; 0xa0 80b0922: 2103 movs r1, #3 80b0924: 4833 ldr r0, [pc, #204] ; (80b09f4 ) 80b0926: f7a4 fd67 bl 80553f8 DrawImage(&bmMINUS_1, 3, 108+78); 80b092a: 22ba movs r2, #186 ; 0xba 80b092c: 2103 movs r1, #3 80b092e: 483d ldr r0, [pc, #244] ; (80b0a24 ) 80b0930: f7a4 fd62 bl 80553f8 if(menu < VIEW_PORTRET) 80b0934: 4b28 ldr r3, [pc, #160] ; (80b09d8 ) 80b0936: 781b ldrb r3, [r3, #0] 80b0938: b2db uxtb r3, r3 80b093a: 2b27 cmp r3, #39 ; 0x27 80b093c: d822 bhi.n 80b0984 { DrawImage(&bmPLAY_1, 3, 108+104); 80b093e: 22d4 movs r2, #212 ; 0xd4 80b0940: 2103 movs r1, #3 80b0942: 482e ldr r0, [pc, #184] ; (80b09fc ) 80b0944: f7a4 fd58 bl 80553f8 if(measuring) 80b0948: 4b2d ldr r3, [pc, #180] ; (80b0a00 ) 80b094a: 781b ldrb r3, [r3, #0] 80b094c: b2db uxtb r3, r3 80b094e: 2b00 cmp r3, #0 80b0950: d00c beq.n 80b096c BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b0952: 4b2c ldr r3, [pc, #176] ; (80b0a04 ) 80b0954: 7b1b ldrb r3, [r3, #12] 80b0956: b2db uxtb r3, r3 80b0958: 4a2b ldr r2, [pc, #172] ; (80b0a08 ) 80b095a: 00db lsls r3, r3, #3 80b095c: 4413 add r3, r2 80b095e: 685a ldr r2, [r3, #4] 80b0960: 2301 movs r3, #1 80b0962: 21db movs r1, #219 ; 0xdb 80b0964: 201e movs r0, #30 80b0966: f7a3 ff19 bl 805479c 80b096a: e00b b.n 80b0984 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b096c: 4b25 ldr r3, [pc, #148] ; (80b0a04 ) 80b096e: 7b1b ldrb r3, [r3, #12] 80b0970: b2db uxtb r3, r3 80b0972: 461a mov r2, r3 80b0974: 4b24 ldr r3, [pc, #144] ; (80b0a08 ) 80b0976: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b097a: 2301 movs r3, #1 80b097c: 21db movs r1, #219 ; 0xdb 80b097e: 201e movs r0, #30 80b0980: f7a3 ff0c bl 805479c } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80b0984: 4b14 ldr r3, [pc, #80] ; (80b09d8 ) 80b0986: 781b ldrb r3, [r3, #0] 80b0988: b2db uxtb r3, r3 80b098a: 2b1d cmp r3, #29 80b098c: f040 827d bne.w 80b0e8a 80b0990: 4b1e ldr r3, [pc, #120] ; (80b0a0c ) 80b0992: 781b ldrb r3, [r3, #0] 80b0994: b2db uxtb r3, r3 80b0996: f083 0301 eor.w r3, r3, #1 80b099a: b2db uxtb r3, r3 80b099c: 2b00 cmp r3, #0 80b099e: f000 8274 beq.w 80b0e8a 80b09a2: 4b1b ldr r3, [pc, #108] ; (80b0a10 ) 80b09a4: 881b ldrh r3, [r3, #0] 80b09a6: b29b uxth r3, r3 80b09a8: 009b lsls r3, r3, #2 80b09aa: 461a mov r2, r3 80b09ac: 4b19 ldr r3, [pc, #100] ; (80b0a14 ) 80b09ae: 681b ldr r3, [r3, #0] 80b09b0: 429a cmp r2, r3 80b09b2: f080 826a bcs.w 80b0e8a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b09b6: 4907 ldr r1, [pc, #28] ; (80b09d4 ) 80b09b8: 4817 ldr r0, [pc, #92] ; (80b0a18 ) 80b09ba: f7a3 fe29 bl 8054610 BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80b09be: 4b17 ldr r3, [pc, #92] ; (80b0a1c ) 80b09c0: 681b ldr r3, [r3, #0] 80b09c2: b29b uxth r3, r3 80b09c4: 333e adds r3, #62 ; 0x3e 80b09c6: b29b uxth r3, r3 80b09c8: 22bf movs r2, #191 ; 0xbf 80b09ca: 212c movs r1, #44 ; 0x2c 80b09cc: 4618 mov r0, r3 80b09ce: f7a3 fff7 bl 80549c0 } break; 80b09d2: e25a b.n 80b0e8a 80b09d4: ff0a0f1f .word 0xff0a0f1f 80b09d8: 20020fbd .word 0x20020fbd 80b09dc: 20020dae .word 0x20020dae 80b09e0: 081416c4 .word 0x081416c4 80b09e4: 20020d88 .word 0x20020d88 80b09e8: 08149978 .word 0x08149978 80b09ec: 08118608 .word 0x08118608 80b09f0: 0814afe8 .word 0x0814afe8 80b09f4: 081476b0 .word 0x081476b0 80b09f8: 08140560 .word 0x08140560 80b09fc: 08146040 .word 0x08146040 80b0a00: 20020dcf .word 0x20020dcf 80b0a04: 20023ea8 .word 0x20023ea8 80b0a08: 200201d4 .word 0x200201d4 80b0a0c: 20020dd2 .word 0x20020dd2 80b0a10: 20021d68 .word 0x20021d68 80b0a14: 20020dc8 .word 0x20020dc8 80b0a18: ff808080 .word 0xff808080 80b0a1c: 2002006c .word 0x2002006c 80b0a20: 0814bb20 .word 0x0814bb20 80b0a24: 0813fa28 .word 0x0813fa28 case StartStop: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b0a28: 49a3 ldr r1, [pc, #652] ; (80b0cb8 ) 80b0a2a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b0a2e: f7a3 fdef bl 8054610 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b0a32: 4ba2 ldr r3, [pc, #648] ; (80b0cbc ) 80b0a34: 781b ldrb r3, [r3, #0] 80b0a36: b2db uxtb r3, r3 80b0a38: 2b1c cmp r3, #28 80b0a3a: d00e beq.n 80b0a5a 80b0a3c: 4b9f ldr r3, [pc, #636] ; (80b0cbc ) 80b0a3e: 781b ldrb r3, [r3, #0] 80b0a40: b2db uxtb r3, r3 80b0a42: 2b21 cmp r3, #33 ; 0x21 80b0a44: d009 beq.n 80b0a5a 80b0a46: 4b9d ldr r3, [pc, #628] ; (80b0cbc ) 80b0a48: 781b ldrb r3, [r3, #0] 80b0a4a: b2db uxtb r3, r3 80b0a4c: 2b22 cmp r3, #34 ; 0x22 80b0a4e: d004 beq.n 80b0a5a 80b0a50: 4b9a ldr r3, [pc, #616] ; (80b0cbc ) 80b0a52: 781b ldrb r3, [r3, #0] 80b0a54: b2db uxtb r3, r3 80b0a56: 2b23 cmp r3, #35 ; 0x23 80b0a58: d109 bne.n 80b0a6e 80b0a5a: 4b99 ldr r3, [pc, #612] ; (80b0cc0 ) 80b0a5c: 781b ldrb r3, [r3, #0] 80b0a5e: b2db uxtb r3, r3 80b0a60: 2b00 cmp r3, #0 80b0a62: d004 beq.n 80b0a6e DrawImage(&bmOSC_SAVE, 3, 108-26); 80b0a64: 2252 movs r2, #82 ; 0x52 80b0a66: 2103 movs r1, #3 80b0a68: 4896 ldr r0, [pc, #600] ; (80b0cc4 ) 80b0a6a: f7a4 fcc5 bl 80553f8 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b0a6e: 4b93 ldr r3, [pc, #588] ; (80b0cbc ) 80b0a70: 781b ldrb r3, [r3, #0] 80b0a72: b2db uxtb r3, r3 80b0a74: 2b24 cmp r3, #36 ; 0x24 80b0a76: d004 beq.n 80b0a82 80b0a78: 4b90 ldr r3, [pc, #576] ; (80b0cbc ) 80b0a7a: 781b ldrb r3, [r3, #0] 80b0a7c: b2db uxtb r3, r3 80b0a7e: 2b27 cmp r3, #39 ; 0x27 80b0a80: d109 bne.n 80b0a96 80b0a82: 4b91 ldr r3, [pc, #580] ; (80b0cc8 ) 80b0a84: 781b ldrb r3, [r3, #0] 80b0a86: b2db uxtb r3, r3 80b0a88: 2b00 cmp r3, #0 80b0a8a: d004 beq.n 80b0a96 DrawImage(&bmRESULT_1, 3, 108-26); 80b0a8c: 2252 movs r2, #82 ; 0x52 80b0a8e: 2103 movs r1, #3 80b0a90: 488e ldr r0, [pc, #568] ; (80b0ccc ) 80b0a92: f7a4 fcb1 bl 80553f8 DrawImage(&bmLEFT_1, 3, 108); 80b0a96: 226c movs r2, #108 ; 0x6c 80b0a98: 2103 movs r1, #3 80b0a9a: 488d ldr r0, [pc, #564] ; (80b0cd0 ) 80b0a9c: f7a4 fcac bl 80553f8 DrawImage(&bmRIGHT_1, 3, 108+26); 80b0aa0: 2286 movs r2, #134 ; 0x86 80b0aa2: 2103 movs r1, #3 80b0aa4: 488b ldr r0, [pc, #556] ; (80b0cd4 ) 80b0aa6: f7a4 fca7 bl 80553f8 DrawImage(&bmPLUS_1, 3, 108+52); 80b0aaa: 22a0 movs r2, #160 ; 0xa0 80b0aac: 2103 movs r1, #3 80b0aae: 488a ldr r0, [pc, #552] ; (80b0cd8 ) 80b0ab0: f7a4 fca2 bl 80553f8 DrawImage(&bmMINUS_1, 3, 108+78); 80b0ab4: 22ba movs r2, #186 ; 0xba 80b0ab6: 2103 movs r1, #3 80b0ab8: 4888 ldr r0, [pc, #544] ; (80b0cdc ) 80b0aba: f7a4 fc9d bl 80553f8 if(menu < VIEW_PORTRET) 80b0abe: 4b7f ldr r3, [pc, #508] ; (80b0cbc ) 80b0ac0: 781b ldrb r3, [r3, #0] 80b0ac2: b2db uxtb r3, r3 80b0ac4: 2b27 cmp r3, #39 ; 0x27 80b0ac6: d834 bhi.n 80b0b32 { DrawImage(&bmPLAY_1_LIGHT, 3, 108+104); 80b0ac8: 22d4 movs r2, #212 ; 0xd4 80b0aca: 2103 movs r1, #3 80b0acc: 4884 ldr r0, [pc, #528] ; (80b0ce0 ) 80b0ace: f7a4 fc93 bl 80553f8 if(NeedSTOP) 80b0ad2: 4b84 ldr r3, [pc, #528] ; (80b0ce4 ) 80b0ad4: 781b ldrb r3, [r3, #0] 80b0ad6: b2db uxtb r3, r3 80b0ad8: 2b00 cmp r3, #0 80b0ada: d00c beq.n 80b0af6 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b0adc: 4b82 ldr r3, [pc, #520] ; (80b0ce8 ) 80b0ade: 7b1b ldrb r3, [r3, #12] 80b0ae0: b2db uxtb r3, r3 80b0ae2: 461a mov r2, r3 80b0ae4: 4b81 ldr r3, [pc, #516] ; (80b0cec ) 80b0ae6: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b0aea: 2301 movs r3, #1 80b0aec: 21db movs r1, #219 ; 0xdb 80b0aee: 201e movs r0, #30 80b0af0: f7a3 fe54 bl 805479c 80b0af4: e01d b.n 80b0b32 else { if(measuring) 80b0af6: 4b7e ldr r3, [pc, #504] ; (80b0cf0 ) 80b0af8: 781b ldrb r3, [r3, #0] 80b0afa: b2db uxtb r3, r3 80b0afc: 2b00 cmp r3, #0 80b0afe: d00c beq.n 80b0b1a BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b0b00: 4b79 ldr r3, [pc, #484] ; (80b0ce8 ) 80b0b02: 7b1b ldrb r3, [r3, #12] 80b0b04: b2db uxtb r3, r3 80b0b06: 4a79 ldr r2, [pc, #484] ; (80b0cec ) 80b0b08: 00db lsls r3, r3, #3 80b0b0a: 4413 add r3, r2 80b0b0c: 685a ldr r2, [r3, #4] 80b0b0e: 2301 movs r3, #1 80b0b10: 21db movs r1, #219 ; 0xdb 80b0b12: 201e movs r0, #30 80b0b14: f7a3 fe42 bl 805479c 80b0b18: e00b b.n 80b0b32 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b0b1a: 4b73 ldr r3, [pc, #460] ; (80b0ce8 ) 80b0b1c: 7b1b ldrb r3, [r3, #12] 80b0b1e: b2db uxtb r3, r3 80b0b20: 461a mov r2, r3 80b0b22: 4b72 ldr r3, [pc, #456] ; (80b0cec ) 80b0b24: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b0b28: 2301 movs r3, #1 80b0b2a: 21db movs r1, #219 ; 0xdb 80b0b2c: 201e movs r0, #30 80b0b2e: f7a3 fe35 bl 805479c } } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80b0b32: 4b62 ldr r3, [pc, #392] ; (80b0cbc ) 80b0b34: 781b ldrb r3, [r3, #0] 80b0b36: b2db uxtb r3, r3 80b0b38: 2b1d cmp r3, #29 80b0b3a: f040 81a8 bne.w 80b0e8e 80b0b3e: 4b6d ldr r3, [pc, #436] ; (80b0cf4 ) 80b0b40: 781b ldrb r3, [r3, #0] 80b0b42: b2db uxtb r3, r3 80b0b44: f083 0301 eor.w r3, r3, #1 80b0b48: b2db uxtb r3, r3 80b0b4a: 2b00 cmp r3, #0 80b0b4c: f000 819f beq.w 80b0e8e 80b0b50: 4b69 ldr r3, [pc, #420] ; (80b0cf8 ) 80b0b52: 881b ldrh r3, [r3, #0] 80b0b54: b29b uxth r3, r3 80b0b56: 009b lsls r3, r3, #2 80b0b58: 461a mov r2, r3 80b0b5a: 4b68 ldr r3, [pc, #416] ; (80b0cfc ) 80b0b5c: 681b ldr r3, [r3, #0] 80b0b5e: 429a cmp r2, r3 80b0b60: f080 8195 bcs.w 80b0e8e { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b0b64: 4954 ldr r1, [pc, #336] ; (80b0cb8 ) 80b0b66: 4866 ldr r0, [pc, #408] ; (80b0d00 ) 80b0b68: f7a3 fd52 bl 8054610 BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80b0b6c: 4b65 ldr r3, [pc, #404] ; (80b0d04 ) 80b0b6e: 681b ldr r3, [r3, #0] 80b0b70: b29b uxth r3, r3 80b0b72: 333e adds r3, #62 ; 0x3e 80b0b74: b29b uxth r3, r3 80b0b76: 22bf movs r2, #191 ; 0xbf 80b0b78: 212c movs r1, #44 ; 0x2c 80b0b7a: 4618 mov r0, r3 80b0b7c: f7a3 ff20 bl 80549c0 } break; 80b0b80: e185 b.n 80b0e8e case Cursor: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b0b82: 494d ldr r1, [pc, #308] ; (80b0cb8 ) 80b0b84: f04f 30ff mov.w r0, #4294967295 80b0b88: f7a3 fd42 bl 8054610 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b0b8c: 4b4b ldr r3, [pc, #300] ; (80b0cbc ) 80b0b8e: 781b ldrb r3, [r3, #0] 80b0b90: b2db uxtb r3, r3 80b0b92: 2b1c cmp r3, #28 80b0b94: d00e beq.n 80b0bb4 80b0b96: 4b49 ldr r3, [pc, #292] ; (80b0cbc ) 80b0b98: 781b ldrb r3, [r3, #0] 80b0b9a: b2db uxtb r3, r3 80b0b9c: 2b21 cmp r3, #33 ; 0x21 80b0b9e: d009 beq.n 80b0bb4 80b0ba0: 4b46 ldr r3, [pc, #280] ; (80b0cbc ) 80b0ba2: 781b ldrb r3, [r3, #0] 80b0ba4: b2db uxtb r3, r3 80b0ba6: 2b22 cmp r3, #34 ; 0x22 80b0ba8: d004 beq.n 80b0bb4 80b0baa: 4b44 ldr r3, [pc, #272] ; (80b0cbc ) 80b0bac: 781b ldrb r3, [r3, #0] 80b0bae: b2db uxtb r3, r3 80b0bb0: 2b23 cmp r3, #35 ; 0x23 80b0bb2: d109 bne.n 80b0bc8 80b0bb4: 4b42 ldr r3, [pc, #264] ; (80b0cc0 ) 80b0bb6: 781b ldrb r3, [r3, #0] 80b0bb8: b2db uxtb r3, r3 80b0bba: 2b00 cmp r3, #0 80b0bbc: d004 beq.n 80b0bc8 DrawImage(&bmOSC_SAVE, 3, 108-26); 80b0bbe: 2252 movs r2, #82 ; 0x52 80b0bc0: 2103 movs r1, #3 80b0bc2: 4840 ldr r0, [pc, #256] ; (80b0cc4 ) 80b0bc4: f7a4 fc18 bl 80553f8 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b0bc8: 4b3c ldr r3, [pc, #240] ; (80b0cbc ) 80b0bca: 781b ldrb r3, [r3, #0] 80b0bcc: b2db uxtb r3, r3 80b0bce: 2b24 cmp r3, #36 ; 0x24 80b0bd0: d004 beq.n 80b0bdc 80b0bd2: 4b3a ldr r3, [pc, #232] ; (80b0cbc ) 80b0bd4: 781b ldrb r3, [r3, #0] 80b0bd6: b2db uxtb r3, r3 80b0bd8: 2b27 cmp r3, #39 ; 0x27 80b0bda: d109 bne.n 80b0bf0 80b0bdc: 4b3a ldr r3, [pc, #232] ; (80b0cc8 ) 80b0bde: 781b ldrb r3, [r3, #0] 80b0be0: b2db uxtb r3, r3 80b0be2: 2b00 cmp r3, #0 80b0be4: d004 beq.n 80b0bf0 DrawImage(&bmRESULT_1, 3, 108-26); 80b0be6: 2252 movs r2, #82 ; 0x52 80b0be8: 2103 movs r1, #3 80b0bea: 4838 ldr r0, [pc, #224] ; (80b0ccc ) 80b0bec: f7a4 fc04 bl 80553f8 DrawImage(&bmLEFT_1, 3, 108); 80b0bf0: 226c movs r2, #108 ; 0x6c 80b0bf2: 2103 movs r1, #3 80b0bf4: 4836 ldr r0, [pc, #216] ; (80b0cd0 ) 80b0bf6: f7a4 fbff bl 80553f8 DrawImage(&bmRIGHT_1, 3, 108+26); 80b0bfa: 2286 movs r2, #134 ; 0x86 80b0bfc: 2103 movs r1, #3 80b0bfe: 4835 ldr r0, [pc, #212] ; (80b0cd4 ) 80b0c00: f7a4 fbfa bl 80553f8 DrawImage(&bmPLUS_1, 3, 108+52); 80b0c04: 22a0 movs r2, #160 ; 0xa0 80b0c06: 2103 movs r1, #3 80b0c08: 4833 ldr r0, [pc, #204] ; (80b0cd8 ) 80b0c0a: f7a4 fbf5 bl 80553f8 DrawImage(&bmMINUS_1, 3, 108+78); 80b0c0e: 22ba movs r2, #186 ; 0xba 80b0c10: 2103 movs r1, #3 80b0c12: 4832 ldr r0, [pc, #200] ; (80b0cdc ) 80b0c14: f7a4 fbf0 bl 80553f8 if(menu < VIEW_PORTRET) 80b0c18: 4b28 ldr r3, [pc, #160] ; (80b0cbc ) 80b0c1a: 781b ldrb r3, [r3, #0] 80b0c1c: b2db uxtb r3, r3 80b0c1e: 2b27 cmp r3, #39 ; 0x27 80b0c20: d822 bhi.n 80b0c68 { DrawImage(&bmPLAY_1, 3, 108+104); 80b0c22: 22d4 movs r2, #212 ; 0xd4 80b0c24: 2103 movs r1, #3 80b0c26: 4838 ldr r0, [pc, #224] ; (80b0d08 ) 80b0c28: f7a4 fbe6 bl 80553f8 if(measuring) 80b0c2c: 4b30 ldr r3, [pc, #192] ; (80b0cf0 ) 80b0c2e: 781b ldrb r3, [r3, #0] 80b0c30: b2db uxtb r3, r3 80b0c32: 2b00 cmp r3, #0 80b0c34: d00c beq.n 80b0c50 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b0c36: 4b2c ldr r3, [pc, #176] ; (80b0ce8 ) 80b0c38: 7b1b ldrb r3, [r3, #12] 80b0c3a: b2db uxtb r3, r3 80b0c3c: 4a2b ldr r2, [pc, #172] ; (80b0cec ) 80b0c3e: 00db lsls r3, r3, #3 80b0c40: 4413 add r3, r2 80b0c42: 685a ldr r2, [r3, #4] 80b0c44: 2301 movs r3, #1 80b0c46: 21db movs r1, #219 ; 0xdb 80b0c48: 201e movs r0, #30 80b0c4a: f7a3 fda7 bl 805479c 80b0c4e: e00b b.n 80b0c68 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b0c50: 4b25 ldr r3, [pc, #148] ; (80b0ce8 ) 80b0c52: 7b1b ldrb r3, [r3, #12] 80b0c54: b2db uxtb r3, r3 80b0c56: 461a mov r2, r3 80b0c58: 4b24 ldr r3, [pc, #144] ; (80b0cec ) 80b0c5a: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b0c5e: 2301 movs r3, #1 80b0c60: 21db movs r1, #219 ; 0xdb 80b0c62: 201e movs r0, #30 80b0c64: f7a3 fd9a bl 805479c } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80b0c68: 4b14 ldr r3, [pc, #80] ; (80b0cbc ) 80b0c6a: 781b ldrb r3, [r3, #0] 80b0c6c: b2db uxtb r3, r3 80b0c6e: 2b1d cmp r3, #29 80b0c70: f040 810f bne.w 80b0e92 80b0c74: 4b1f ldr r3, [pc, #124] ; (80b0cf4 ) 80b0c76: 781b ldrb r3, [r3, #0] 80b0c78: b2db uxtb r3, r3 80b0c7a: f083 0301 eor.w r3, r3, #1 80b0c7e: b2db uxtb r3, r3 80b0c80: 2b00 cmp r3, #0 80b0c82: f000 8106 beq.w 80b0e92 80b0c86: 4b1c ldr r3, [pc, #112] ; (80b0cf8 ) 80b0c88: 881b ldrh r3, [r3, #0] 80b0c8a: b29b uxth r3, r3 80b0c8c: 009b lsls r3, r3, #2 80b0c8e: 461a mov r2, r3 80b0c90: 4b1a ldr r3, [pc, #104] ; (80b0cfc ) 80b0c92: 681b ldr r3, [r3, #0] 80b0c94: 429a cmp r2, r3 80b0c96: f080 80fc bcs.w 80b0e92 { LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80b0c9a: 4907 ldr r1, [pc, #28] ; (80b0cb8 ) 80b0c9c: 481b ldr r0, [pc, #108] ; (80b0d0c ) 80b0c9e: f7a3 fcb7 bl 8054610 BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80b0ca2: 4b18 ldr r3, [pc, #96] ; (80b0d04 ) 80b0ca4: 681b ldr r3, [r3, #0] 80b0ca6: b29b uxth r3, r3 80b0ca8: 333e adds r3, #62 ; 0x3e 80b0caa: b29b uxth r3, r3 80b0cac: 22bf movs r2, #191 ; 0xbf 80b0cae: 212c movs r1, #44 ; 0x2c 80b0cb0: 4618 mov r0, r3 80b0cb2: f7a3 fe85 bl 80549c0 } break; 80b0cb6: e0ec b.n 80b0e92 80b0cb8: ff0a0f1f .word 0xff0a0f1f 80b0cbc: 20020fbd .word 0x20020fbd 80b0cc0: 20020dae .word 0x20020dae 80b0cc4: 081416c4 .word 0x081416c4 80b0cc8: 20020d88 .word 0x20020d88 80b0ccc: 08149978 .word 0x08149978 80b0cd0: 08118608 .word 0x08118608 80b0cd4: 0814afe8 .word 0x0814afe8 80b0cd8: 081476b0 .word 0x081476b0 80b0cdc: 0813fa28 .word 0x0813fa28 80b0ce0: 08146b78 .word 0x08146b78 80b0ce4: 20020fc2 .word 0x20020fc2 80b0ce8: 20023ea8 .word 0x20023ea8 80b0cec: 200201d4 .word 0x200201d4 80b0cf0: 20020dcf .word 0x20020dcf 80b0cf4: 20020dd2 .word 0x20020dd2 80b0cf8: 20021d68 .word 0x20021d68 80b0cfc: 20020dc8 .word 0x20020dc8 80b0d00: ff808080 .word 0xff808080 80b0d04: 2002006c .word 0x2002006c 80b0d08: 08146040 .word 0x08146040 80b0d0c: ffff0000 .word 0xffff0000 case Results: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b0d10: 4964 ldr r1, [pc, #400] ; (80b0ea4 ) 80b0d12: f04f 30ff mov.w r0, #4294967295 80b0d16: f7a3 fc7b bl 8054610 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80b0d1a: 4b63 ldr r3, [pc, #396] ; (80b0ea8 ) 80b0d1c: 781b ldrb r3, [r3, #0] 80b0d1e: b2db uxtb r3, r3 80b0d20: 2b24 cmp r3, #36 ; 0x24 80b0d22: d004 beq.n 80b0d2e 80b0d24: 4b60 ldr r3, [pc, #384] ; (80b0ea8 ) 80b0d26: 781b ldrb r3, [r3, #0] 80b0d28: b2db uxtb r3, r3 80b0d2a: 2b27 cmp r3, #39 ; 0x27 80b0d2c: d109 bne.n 80b0d42 80b0d2e: 4b5f ldr r3, [pc, #380] ; (80b0eac ) 80b0d30: 781b ldrb r3, [r3, #0] 80b0d32: b2db uxtb r3, r3 80b0d34: 2b00 cmp r3, #0 80b0d36: d004 beq.n 80b0d42 DrawImage(&bmRESULT_1_LIGHT, 3, 108-26); 80b0d38: 2252 movs r2, #82 ; 0x52 80b0d3a: 2103 movs r1, #3 80b0d3c: 485c ldr r0, [pc, #368] ; (80b0eb0 ) 80b0d3e: f7a4 fb5b bl 80553f8 DrawImage(&bmLEFT_1, 3, 108); 80b0d42: 226c movs r2, #108 ; 0x6c 80b0d44: 2103 movs r1, #3 80b0d46: 485b ldr r0, [pc, #364] ; (80b0eb4 ) 80b0d48: f7a4 fb56 bl 80553f8 DrawImage(&bmRIGHT_1, 3, 108+26); 80b0d4c: 2286 movs r2, #134 ; 0x86 80b0d4e: 2103 movs r1, #3 80b0d50: 4859 ldr r0, [pc, #356] ; (80b0eb8 ) 80b0d52: f7a4 fb51 bl 80553f8 DrawImage(&bmPLUS_1, 3, 108+52); 80b0d56: 22a0 movs r2, #160 ; 0xa0 80b0d58: 2103 movs r1, #3 80b0d5a: 4858 ldr r0, [pc, #352] ; (80b0ebc ) 80b0d5c: f7a4 fb4c bl 80553f8 DrawImage(&bmMINUS_1, 3, 108+78); 80b0d60: 22ba movs r2, #186 ; 0xba 80b0d62: 2103 movs r1, #3 80b0d64: 4856 ldr r0, [pc, #344] ; (80b0ec0 ) 80b0d66: f7a4 fb47 bl 80553f8 if(menu < VIEW_PORTRET) 80b0d6a: 4b4f ldr r3, [pc, #316] ; (80b0ea8 ) 80b0d6c: 781b ldrb r3, [r3, #0] 80b0d6e: b2db uxtb r3, r3 80b0d70: 2b27 cmp r3, #39 ; 0x27 80b0d72: f200 8090 bhi.w 80b0e96 { DrawImage(&bmPLAY_1, 3, 108+104); 80b0d76: 22d4 movs r2, #212 ; 0xd4 80b0d78: 2103 movs r1, #3 80b0d7a: 4852 ldr r0, [pc, #328] ; (80b0ec4 ) 80b0d7c: f7a4 fb3c bl 80553f8 if(measuring) 80b0d80: 4b51 ldr r3, [pc, #324] ; (80b0ec8 ) 80b0d82: 781b ldrb r3, [r3, #0] 80b0d84: b2db uxtb r3, r3 80b0d86: 2b00 cmp r3, #0 80b0d88: d00c beq.n 80b0da4 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b0d8a: 4b50 ldr r3, [pc, #320] ; (80b0ecc ) 80b0d8c: 7b1b ldrb r3, [r3, #12] 80b0d8e: b2db uxtb r3, r3 80b0d90: 4a4f ldr r2, [pc, #316] ; (80b0ed0 ) 80b0d92: 00db lsls r3, r3, #3 80b0d94: 4413 add r3, r2 80b0d96: 685a ldr r2, [r3, #4] 80b0d98: 2301 movs r3, #1 80b0d9a: 21db movs r1, #219 ; 0xdb 80b0d9c: 201e movs r0, #30 80b0d9e: f7a3 fcfd bl 805479c else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); } break; 80b0da2: e078 b.n 80b0e96 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b0da4: 4b49 ldr r3, [pc, #292] ; (80b0ecc ) 80b0da6: 7b1b ldrb r3, [r3, #12] 80b0da8: b2db uxtb r3, r3 80b0daa: 461a mov r2, r3 80b0dac: 4b48 ldr r3, [pc, #288] ; (80b0ed0 ) 80b0dae: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b0db2: 2301 movs r3, #1 80b0db4: 21db movs r1, #219 ; 0xdb 80b0db6: 201e movs r0, #30 80b0db8: f7a3 fcf0 bl 805479c break; 80b0dbc: e06b b.n 80b0e96 case SaveSpec: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b0dbe: 4939 ldr r1, [pc, #228] ; (80b0ea4 ) 80b0dc0: f04f 30ff mov.w r0, #4294967295 80b0dc4: f7a3 fc24 bl 8054610 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80b0dc8: 4b37 ldr r3, [pc, #220] ; (80b0ea8 ) 80b0dca: 781b ldrb r3, [r3, #0] 80b0dcc: b2db uxtb r3, r3 80b0dce: 2b1c cmp r3, #28 80b0dd0: d00e beq.n 80b0df0 80b0dd2: 4b35 ldr r3, [pc, #212] ; (80b0ea8 ) 80b0dd4: 781b ldrb r3, [r3, #0] 80b0dd6: b2db uxtb r3, r3 80b0dd8: 2b21 cmp r3, #33 ; 0x21 80b0dda: d009 beq.n 80b0df0 80b0ddc: 4b32 ldr r3, [pc, #200] ; (80b0ea8 ) 80b0dde: 781b ldrb r3, [r3, #0] 80b0de0: b2db uxtb r3, r3 80b0de2: 2b22 cmp r3, #34 ; 0x22 80b0de4: d004 beq.n 80b0df0 80b0de6: 4b30 ldr r3, [pc, #192] ; (80b0ea8 ) 80b0de8: 781b ldrb r3, [r3, #0] 80b0dea: b2db uxtb r3, r3 80b0dec: 2b23 cmp r3, #35 ; 0x23 80b0dee: d109 bne.n 80b0e04 80b0df0: 4b38 ldr r3, [pc, #224] ; (80b0ed4 ) 80b0df2: 781b ldrb r3, [r3, #0] 80b0df4: b2db uxtb r3, r3 80b0df6: 2b00 cmp r3, #0 80b0df8: d004 beq.n 80b0e04 DrawImage(&bmOSC_SAVE_LIGHT, 3, 108-26); 80b0dfa: 2252 movs r2, #82 ; 0x52 80b0dfc: 2103 movs r1, #3 80b0dfe: 4836 ldr r0, [pc, #216] ; (80b0ed8 ) 80b0e00: f7a4 fafa bl 80553f8 DrawImage(&bmLEFT_1, 3, 108); 80b0e04: 226c movs r2, #108 ; 0x6c 80b0e06: 2103 movs r1, #3 80b0e08: 482a ldr r0, [pc, #168] ; (80b0eb4 ) 80b0e0a: f7a4 faf5 bl 80553f8 DrawImage(&bmRIGHT_1, 3, 108+26); 80b0e0e: 2286 movs r2, #134 ; 0x86 80b0e10: 2103 movs r1, #3 80b0e12: 4829 ldr r0, [pc, #164] ; (80b0eb8 ) 80b0e14: f7a4 faf0 bl 80553f8 DrawImage(&bmPLUS_1, 3, 108+52); 80b0e18: 22a0 movs r2, #160 ; 0xa0 80b0e1a: 2103 movs r1, #3 80b0e1c: 4827 ldr r0, [pc, #156] ; (80b0ebc ) 80b0e1e: f7a4 faeb bl 80553f8 DrawImage(&bmMINUS_1, 3, 108+78); 80b0e22: 22ba movs r2, #186 ; 0xba 80b0e24: 2103 movs r1, #3 80b0e26: 4826 ldr r0, [pc, #152] ; (80b0ec0 ) 80b0e28: f7a4 fae6 bl 80553f8 if(menu < VIEW_PORTRET) 80b0e2c: 4b1e ldr r3, [pc, #120] ; (80b0ea8 ) 80b0e2e: 781b ldrb r3, [r3, #0] 80b0e30: b2db uxtb r3, r3 80b0e32: 2b27 cmp r3, #39 ; 0x27 80b0e34: d831 bhi.n 80b0e9a { DrawImage(&bmPLAY_1, 3, 108+104); 80b0e36: 22d4 movs r2, #212 ; 0xd4 80b0e38: 2103 movs r1, #3 80b0e3a: 4822 ldr r0, [pc, #136] ; (80b0ec4 ) 80b0e3c: f7a4 fadc bl 80553f8 if(measuring) 80b0e40: 4b21 ldr r3, [pc, #132] ; (80b0ec8 ) 80b0e42: 781b ldrb r3, [r3, #0] 80b0e44: b2db uxtb r3, r3 80b0e46: 2b00 cmp r3, #0 80b0e48: d00c beq.n 80b0e64 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80b0e4a: 4b20 ldr r3, [pc, #128] ; (80b0ecc ) 80b0e4c: 7b1b ldrb r3, [r3, #12] 80b0e4e: b2db uxtb r3, r3 80b0e50: 4a1f ldr r2, [pc, #124] ; (80b0ed0 ) 80b0e52: 00db lsls r3, r3, #3 80b0e54: 4413 add r3, r2 80b0e56: 685a ldr r2, [r3, #4] 80b0e58: 2301 movs r3, #1 80b0e5a: 21db movs r1, #219 ; 0xdb 80b0e5c: 201e movs r0, #30 80b0e5e: f7a3 fc9d bl 805479c else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); } break; 80b0e62: e01a b.n 80b0e9a else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80b0e64: 4b19 ldr r3, [pc, #100] ; (80b0ecc ) 80b0e66: 7b1b ldrb r3, [r3, #12] 80b0e68: b2db uxtb r3, r3 80b0e6a: 461a mov r2, r3 80b0e6c: 4b18 ldr r3, [pc, #96] ; (80b0ed0 ) 80b0e6e: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80b0e72: 2301 movs r3, #1 80b0e74: 21db movs r1, #219 ; 0xdb 80b0e76: 201e movs r0, #30 80b0e78: f7a3 fc90 bl 805479c break; 80b0e7c: e00d b.n 80b0e9a break; 80b0e7e: bf00 nop 80b0e80: e00c b.n 80b0e9c break; 80b0e82: bf00 nop 80b0e84: e00a b.n 80b0e9c break; 80b0e86: bf00 nop 80b0e88: e008 b.n 80b0e9c break; 80b0e8a: bf00 nop 80b0e8c: e006 b.n 80b0e9c break; 80b0e8e: bf00 nop 80b0e90: e004 b.n 80b0e9c break; 80b0e92: bf00 nop 80b0e94: e002 b.n 80b0e9c break; 80b0e96: bf00 nop 80b0e98: e000 b.n 80b0e9c break; 80b0e9a: bf00 nop } } 80b0e9c: bf00 nop 80b0e9e: 3708 adds r7, #8 80b0ea0: 46bd mov sp, r7 80b0ea2: bd80 pop {r7, pc} 80b0ea4: ff0a0f1f .word 0xff0a0f1f 80b0ea8: 20020fbd .word 0x20020fbd 80b0eac: 20020d88 .word 0x20020d88 80b0eb0: 0814a4b0 .word 0x0814a4b0 80b0eb4: 08118608 .word 0x08118608 80b0eb8: 0814afe8 .word 0x0814afe8 80b0ebc: 081476b0 .word 0x081476b0 80b0ec0: 0813fa28 .word 0x0813fa28 80b0ec4: 08146040 .word 0x08146040 80b0ec8: 20020dcf .word 0x20020dcf 80b0ecc: 20023ea8 .word 0x20023ea8 80b0ed0: 200201d4 .word 0x200201d4 80b0ed4: 20020dae .word 0x20020dae 80b0ed8: 081421fc .word 0x081421fc 080b0edc : void DrawLegend(void) //TODO { 80b0edc: b580 push {r7, lr} 80b0ede: b082 sub sp, #8 80b0ee0: af00 add r7, sp, #0 uint32_t i; LCD_SetColors(0xFF000000, LCD_COLOR_BLACK); 80b0ee2: 4925 ldr r1, [pc, #148] ; (80b0f78 ) 80b0ee4: f04f 407f mov.w r0, #4278190080 ; 0xff000000 80b0ee8: f7a3 fb92 bl 8054610 BSP_LCD_FillRect(60, 43, 258, 191); 80b0eec: 23bf movs r3, #191 ; 0xbf 80b0eee: f44f 7281 mov.w r2, #258 ; 0x102 80b0ef2: 212b movs r1, #43 ; 0x2b 80b0ef4: 203c movs r0, #60 ; 0x3c 80b0ef6: f7a4 f819 bl 8054f2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b0efa: 491f ldr r1, [pc, #124] ; (80b0f78 ) 80b0efc: f04f 30ff mov.w r0, #4294967295 80b0f00: f7a3 fb86 bl 8054610 BSP_LCD_DrawRect(59, 42, 259, 193); 80b0f04: 23c1 movs r3, #193 ; 0xc1 80b0f06: f240 1203 movw r2, #259 ; 0x103 80b0f0a: 212a movs r1, #42 ; 0x2a 80b0f0c: 203b movs r0, #59 ; 0x3b 80b0f0e: f7a3 fe85 bl 8054c1c LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80b0f12: 4919 ldr r1, [pc, #100] ; (80b0f78 ) 80b0f14: 4819 ldr r0, [pc, #100] ; (80b0f7c ) 80b0f16: f7a3 fb7b bl 8054610 BSP_LCD_DrawHLine(61, 92, 256); 80b0f1a: f44f 7280 mov.w r2, #256 ; 0x100 80b0f1e: 215c movs r1, #92 ; 0x5c 80b0f20: 203d movs r0, #61 ; 0x3d 80b0f22: f7a3 fcef bl 8054904 for(i = 0; i < 4; i++) 80b0f26: 2300 movs r3, #0 80b0f28: 607b str r3, [r7, #4] 80b0f2a: e01e b.n 80b0f6a { BSP_LCD_DrawVLine(61 + (i << 6), 44, 191); 80b0f2c: 687b ldr r3, [r7, #4] 80b0f2e: b29b uxth r3, r3 80b0f30: 019b lsls r3, r3, #6 80b0f32: b29b uxth r3, r3 80b0f34: 333d adds r3, #61 ; 0x3d 80b0f36: b29b uxth r3, r3 80b0f38: 22bf movs r2, #191 ; 0xbf 80b0f3a: 212c movs r1, #44 ; 0x2c 80b0f3c: 4618 mov r0, r3 80b0f3e: f7a3 fd3f bl 80549c0 BSP_LCD_DrawHLine(61, 92 + i*49, 256); 80b0f42: 687b ldr r3, [r7, #4] 80b0f44: b29b uxth r3, r3 80b0f46: 461a mov r2, r3 80b0f48: 00d2 lsls r2, r2, #3 80b0f4a: 1ad3 subs r3, r2, r3 80b0f4c: 461a mov r2, r3 80b0f4e: 00d2 lsls r2, r2, #3 80b0f50: 1ad3 subs r3, r2, r3 80b0f52: b29b uxth r3, r3 80b0f54: 335c adds r3, #92 ; 0x5c 80b0f56: b29b uxth r3, r3 80b0f58: f44f 7280 mov.w r2, #256 ; 0x100 80b0f5c: 4619 mov r1, r3 80b0f5e: 203d movs r0, #61 ; 0x3d 80b0f60: f7a3 fcd0 bl 8054904 for(i = 0; i < 4; i++) 80b0f64: 687b ldr r3, [r7, #4] 80b0f66: 3301 adds r3, #1 80b0f68: 607b str r3, [r7, #4] 80b0f6a: 687b ldr r3, [r7, #4] 80b0f6c: 2b03 cmp r3, #3 80b0f6e: d9dd bls.n 80b0f2c } } 80b0f70: bf00 nop 80b0f72: 3708 adds r7, #8 80b0f74: 46bd mov sp, r7 80b0f76: bd80 pop {r7, pc} 80b0f78: ff0a0f1f .word 0xff0a0f1f 80b0f7c: ff404040 .word 0xff404040 080b0f80 : { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); } void DrawRMS(void) { 80b0f80: b580 push {r7, lr} 80b0f82: b084 sub sp, #16 80b0f84: af00 add r7, sp, #0 int8_t mmm = 0; 80b0f86: 2300 movs r3, #0 80b0f88: 73fb strb r3, [r7, #15] float32_t f; uint8_t m = 0; 80b0f8a: 2300 movs r3, #0 80b0f8c: 71fb strb r3, [r7, #7] char *pch; BSP_LCD_SetFont(&Font12); 80b0f8e: 48c0 ldr r0, [pc, #768] ; (80b1290 ) 80b0f90: f7a3 fb7a bl 8054688 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b0f94: 49bf ldr r1, [pc, #764] ; (80b1294 ) 80b0f96: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b0f9a: f7a3 fb39 bl 8054610 f = ABS(skz[pardata.IPR]); 80b0f9e: 4bbe ldr r3, [pc, #760] ; (80b1298 ) 80b0fa0: 785b ldrb r3, [r3, #1] 80b0fa2: b2db uxtb r3, r3 80b0fa4: 4abd ldr r2, [pc, #756] ; (80b129c ) 80b0fa6: 009b lsls r3, r3, #2 80b0fa8: 4413 add r3, r2 80b0faa: edd3 7a00 vldr s15, [r3] 80b0fae: eef5 7ac0 vcmpe.f32 s15, #0.0 80b0fb2: eef1 fa10 vmrs APSR_nzcv, fpscr 80b0fb6: dd08 ble.n 80b0fca 80b0fb8: 4bb7 ldr r3, [pc, #732] ; (80b1298 ) 80b0fba: 785b ldrb r3, [r3, #1] 80b0fbc: b2db uxtb r3, r3 80b0fbe: 4ab7 ldr r2, [pc, #732] ; (80b129c ) 80b0fc0: 009b lsls r3, r3, #2 80b0fc2: 4413 add r3, r2 80b0fc4: edd3 7a00 vldr s15, [r3] 80b0fc8: e009 b.n 80b0fde 80b0fca: 4bb3 ldr r3, [pc, #716] ; (80b1298 ) 80b0fcc: 785b ldrb r3, [r3, #1] 80b0fce: b2db uxtb r3, r3 80b0fd0: 4ab2 ldr r2, [pc, #712] ; (80b129c ) 80b0fd2: 009b lsls r3, r3, #2 80b0fd4: 4413 add r3, r2 80b0fd6: edd3 7a00 vldr s15, [r3] 80b0fda: eef1 7a67 vneg.f32 s15, s15 80b0fde: edc7 7a02 vstr s15, [r7, #8] if(pardata.IPR == DIS) 80b0fe2: 4bad ldr r3, [pc, #692] ; (80b1298 ) 80b0fe4: 785b ldrb r3, [r3, #1] 80b0fe6: b2db uxtb r3, r3 80b0fe8: 2b02 cmp r3, #2 80b0fea: d12b bne.n 80b1044 { if(f >= 1000.0f) 80b0fec: edd7 7a02 vldr s15, [r7, #8] 80b0ff0: ed9f 7aab vldr s14, [pc, #684] ; 80b12a0 80b0ff4: eef4 7ac7 vcmpe.f32 s15, s14 80b0ff8: eef1 fa10 vmrs APSR_nzcv, fpscr 80b0ffc: db0a blt.n 80b1014 { m = 1; 80b0ffe: 2301 movs r3, #1 80b1000: 71fb strb r3, [r7, #7] f *= 0.001f; 80b1002: edd7 7a02 vldr s15, [r7, #8] 80b1006: ed9f 7aa7 vldr s14, [pc, #668] ; 80b12a4 80b100a: ee67 7a87 vmul.f32 s15, s15, s14 80b100e: edc7 7a02 vstr s15, [r7, #8] 80b1012: e017 b.n 80b1044 } else if(f <= 0.00100f) 80b1014: edd7 7a02 vldr s15, [r7, #8] 80b1018: ed9f 7aa2 vldr s14, [pc, #648] ; 80b12a4 80b101c: eef4 7ac7 vcmpe.f32 s15, s14 80b1020: eef1 fa10 vmrs APSR_nzcv, fpscr 80b1024: d80e bhi.n 80b1044 { if(pardata.IIN == VOLTS) 80b1026: 4b9c ldr r3, [pc, #624] ; (80b1298 ) 80b1028: 799b ldrb r3, [r3, #6] 80b102a: b2db uxtb r3, r3 80b102c: 2b02 cmp r3, #2 80b102e: d109 bne.n 80b1044 { m = 2; 80b1030: 2302 movs r3, #2 80b1032: 71fb strb r3, [r7, #7] f *= 1000.000f; 80b1034: edd7 7a02 vldr s15, [r7, #8] 80b1038: ed9f 7a99 vldr s14, [pc, #612] ; 80b12a0 80b103c: ee67 7a87 vmul.f32 s15, s15, s14 80b1040: edc7 7a02 vstr s15, [r7, #8] } } } if(f < 1) { mmm = -5; } 80b1044: edd7 7a02 vldr s15, [r7, #8] 80b1048: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80b104c: eef4 7ac7 vcmpe.f32 s15, s14 80b1050: eef1 fa10 vmrs APSR_nzcv, fpscr 80b1054: d502 bpl.n 80b105c 80b1056: 23fb movs r3, #251 ; 0xfb 80b1058: 73fb strb r3, [r7, #15] 80b105a: e046 b.n 80b10ea else if(f < 10) { mmm = -5; } 80b105c: edd7 7a02 vldr s15, [r7, #8] 80b1060: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80b1064: eef4 7ac7 vcmpe.f32 s15, s14 80b1068: eef1 fa10 vmrs APSR_nzcv, fpscr 80b106c: d502 bpl.n 80b1074 80b106e: 23fb movs r3, #251 ; 0xfb 80b1070: 73fb strb r3, [r7, #15] 80b1072: e03a b.n 80b10ea else if(f < 100) { mmm = -4; } 80b1074: edd7 7a02 vldr s15, [r7, #8] 80b1078: ed9f 7a8b vldr s14, [pc, #556] ; 80b12a8 80b107c: eef4 7ac7 vcmpe.f32 s15, s14 80b1080: eef1 fa10 vmrs APSR_nzcv, fpscr 80b1084: d502 bpl.n 80b108c 80b1086: 23fc movs r3, #252 ; 0xfc 80b1088: 73fb strb r3, [r7, #15] 80b108a: e02e b.n 80b10ea else if(f < 1000) { mmm = -3; } 80b108c: edd7 7a02 vldr s15, [r7, #8] 80b1090: ed9f 7a83 vldr s14, [pc, #524] ; 80b12a0 80b1094: eef4 7ac7 vcmpe.f32 s15, s14 80b1098: eef1 fa10 vmrs APSR_nzcv, fpscr 80b109c: d502 bpl.n 80b10a4 80b109e: 23fd movs r3, #253 ; 0xfd 80b10a0: 73fb strb r3, [r7, #15] 80b10a2: e022 b.n 80b10ea else if(f < 10000) { mmm = -2; } 80b10a4: edd7 7a02 vldr s15, [r7, #8] 80b10a8: ed9f 7a80 vldr s14, [pc, #512] ; 80b12ac 80b10ac: eef4 7ac7 vcmpe.f32 s15, s14 80b10b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80b10b4: d502 bpl.n 80b10bc 80b10b6: 23fe movs r3, #254 ; 0xfe 80b10b8: 73fb strb r3, [r7, #15] 80b10ba: e016 b.n 80b10ea else if(f < 100000) { mmm = -1; } 80b10bc: edd7 7a02 vldr s15, [r7, #8] 80b10c0: ed9f 7a7b vldr s14, [pc, #492] ; 80b12b0 80b10c4: eef4 7ac7 vcmpe.f32 s15, s14 80b10c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80b10cc: d502 bpl.n 80b10d4 80b10ce: 23ff movs r3, #255 ; 0xff 80b10d0: 73fb strb r3, [r7, #15] 80b10d2: e00a b.n 80b10ea else if(f < 1000000) { mmm = 0; } 80b10d4: edd7 7a02 vldr s15, [r7, #8] 80b10d8: ed9f 7a76 vldr s14, [pc, #472] ; 80b12b4 80b10dc: eef4 7ac7 vcmpe.f32 s15, s14 80b10e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80b10e4: d501 bpl.n 80b10ea 80b10e6: 2300 movs r3, #0 80b10e8: 73fb strb r3, [r7, #15] BSP_LCD_DisplayStringAt(5, 60, (char *) FloatToASCII(f, mmm), LEFT_MODE); 80b10ea: f997 300f ldrsb.w r3, [r7, #15] 80b10ee: 4618 mov r0, r3 80b10f0: ed97 0a02 vldr s0, [r7, #8] 80b10f4: f7b6 fa54 bl 80675a0 80b10f8: 4602 mov r2, r0 80b10fa: 2303 movs r3, #3 80b10fc: 213c movs r1, #60 ; 0x3c 80b10fe: 2005 movs r0, #5 80b1100: f7a3 fb4c bl 805479c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b1104: 4963 ldr r1, [pc, #396] ; (80b1294 ) 80b1106: f04f 30ff mov.w r0, #4294967295 80b110a: f7a3 fa81 bl 8054610 if(pardata.LANG == RUS) 80b110e: 4b62 ldr r3, [pc, #392] ; (80b1298 ) 80b1110: 7b1b ldrb r3, [r3, #12] 80b1112: b2db uxtb r3, r3 80b1114: 2b00 cmp r3, #0 80b1116: d170 bne.n 80b11fa { if(pardata.IIN != VOLTS) 80b1118: 4b5f ldr r3, [pc, #380] ; (80b1298 ) 80b111a: 799b ldrb r3, [r3, #6] 80b111c: b2db uxtb r3, r3 80b111e: 2b02 cmp r3, #2 80b1120: d02e beq.n 80b1180 { if(pardata.IPR == ACC) 80b1122: 4b5d ldr r3, [pc, #372] ; (80b1298 ) 80b1124: 785b ldrb r3, [r3, #1] 80b1126: b2db uxtb r3, r3 80b1128: 2b00 cmp r3, #0 80b112a: d106 bne.n 80b113a BSP_LCD_DisplayStringAt(58, 46, "ì/c^", RIGHT_MODE); 80b112c: 2302 movs r3, #2 80b112e: 4a62 ldr r2, [pc, #392] ; (80b12b8 ) 80b1130: 212e movs r1, #46 ; 0x2e 80b1132: 203a movs r0, #58 ; 0x3a 80b1134: f7a3 fb32 bl 805479c 80b1138: e0f8 b.n 80b132c else if(pardata.IPR == VEL) 80b113a: 4b57 ldr r3, [pc, #348] ; (80b1298 ) 80b113c: 785b ldrb r3, [r3, #1] 80b113e: b2db uxtb r3, r3 80b1140: 2b01 cmp r3, #1 80b1142: d106 bne.n 80b1152 BSP_LCD_DisplayStringAt(58, 46, "ìì/c", RIGHT_MODE); 80b1144: 2302 movs r3, #2 80b1146: 4a5d ldr r2, [pc, #372] ; (80b12bc ) 80b1148: 212e movs r1, #46 ; 0x2e 80b114a: 203a movs r0, #58 ; 0x3a 80b114c: f7a3 fb26 bl 805479c 80b1150: e0ec b.n 80b132c else if(pardata.IPR == DIS) 80b1152: 4b51 ldr r3, [pc, #324] ; (80b1298 ) 80b1154: 785b ldrb r3, [r3, #1] 80b1156: b2db uxtb r3, r3 80b1158: 2b02 cmp r3, #2 80b115a: f040 80e7 bne.w 80b132c { if(m == 0) 80b115e: 79fb ldrb r3, [r7, #7] 80b1160: 2b00 cmp r3, #0 80b1162: d106 bne.n 80b1172 BSP_LCD_DisplayStringAt(58, 46, "ìkì", RIGHT_MODE); 80b1164: 2302 movs r3, #2 80b1166: 4a56 ldr r2, [pc, #344] ; (80b12c0 ) 80b1168: 212e movs r1, #46 ; 0x2e 80b116a: 203a movs r0, #58 ; 0x3a 80b116c: f7a3 fb16 bl 805479c 80b1170: e0dc b.n 80b132c else BSP_LCD_DisplayStringAt(58, 46, "ìì", RIGHT_MODE); 80b1172: 2302 movs r3, #2 80b1174: 4a53 ldr r2, [pc, #332] ; (80b12c4 ) 80b1176: 212e movs r1, #46 ; 0x2e 80b1178: 203a movs r0, #58 ; 0x3a 80b117a: f7a3 fb0f bl 805479c 80b117e: e0d5 b.n 80b132c } } else { if(pardata.IPR == ACC) 80b1180: 4b45 ldr r3, [pc, #276] ; (80b1298 ) 80b1182: 785b ldrb r3, [r3, #1] 80b1184: b2db uxtb r3, r3 80b1186: 2b00 cmp r3, #0 80b1188: d106 bne.n 80b1198 BSP_LCD_DisplayStringAt(58, 46, "ìÂ", RIGHT_MODE); 80b118a: 2302 movs r3, #2 80b118c: 4a4e ldr r2, [pc, #312] ; (80b12c8 ) 80b118e: 212e movs r1, #46 ; 0x2e 80b1190: 203a movs r0, #58 ; 0x3a 80b1192: f7a3 fb03 bl 805479c 80b1196: e0c9 b.n 80b132c else if(pardata.IPR == VEL) 80b1198: 4b3f ldr r3, [pc, #252] ; (80b1298 ) 80b119a: 785b ldrb r3, [r3, #1] 80b119c: b2db uxtb r3, r3 80b119e: 2b01 cmp r3, #1 80b11a0: d106 bne.n 80b11b0 BSP_LCD_DisplayStringAt(58, 46, "ìÂ", RIGHT_MODE); 80b11a2: 2302 movs r3, #2 80b11a4: 4a48 ldr r2, [pc, #288] ; (80b12c8 ) 80b11a6: 212e movs r1, #46 ; 0x2e 80b11a8: 203a movs r0, #58 ; 0x3a 80b11aa: f7a3 faf7 bl 805479c 80b11ae: e0bd b.n 80b132c else if(pardata.IPR == DIS) 80b11b0: 4b39 ldr r3, [pc, #228] ; (80b1298 ) 80b11b2: 785b ldrb r3, [r3, #1] 80b11b4: b2db uxtb r3, r3 80b11b6: 2b02 cmp r3, #2 80b11b8: f040 80b8 bne.w 80b132c { if(m == 0) 80b11bc: 79fb ldrb r3, [r7, #7] 80b11be: 2b00 cmp r3, #0 80b11c0: d106 bne.n 80b11d0 BSP_LCD_DisplayStringAt(58, 46, "ìÂ", RIGHT_MODE); 80b11c2: 2302 movs r3, #2 80b11c4: 4a40 ldr r2, [pc, #256] ; (80b12c8 ) 80b11c6: 212e movs r1, #46 ; 0x2e 80b11c8: 203a movs r0, #58 ; 0x3a 80b11ca: f7a3 fae7 bl 805479c 80b11ce: e0ad b.n 80b132c else if(m == 1) 80b11d0: 79fb ldrb r3, [r7, #7] 80b11d2: 2b01 cmp r3, #1 80b11d4: d106 bne.n 80b11e4 BSP_LCD_DisplayStringAt(58, 46, "Â", RIGHT_MODE); 80b11d6: 2302 movs r3, #2 80b11d8: 4a3c ldr r2, [pc, #240] ; (80b12cc ) 80b11da: 212e movs r1, #46 ; 0x2e 80b11dc: 203a movs r0, #58 ; 0x3a 80b11de: f7a3 fadd bl 805479c 80b11e2: e0a3 b.n 80b132c else if(m == 2) 80b11e4: 79fb ldrb r3, [r7, #7] 80b11e6: 2b02 cmp r3, #2 80b11e8: f040 80a0 bne.w 80b132c BSP_LCD_DisplayStringAt(58, 46, "ìkÂ", RIGHT_MODE); 80b11ec: 2302 movs r3, #2 80b11ee: 4a38 ldr r2, [pc, #224] ; (80b12d0 ) 80b11f0: 212e movs r1, #46 ; 0x2e 80b11f2: 203a movs r0, #58 ; 0x3a 80b11f4: f7a3 fad2 bl 805479c 80b11f8: e098 b.n 80b132c } } } else { if(pardata.IIN != VOLTS) 80b11fa: 4b27 ldr r3, [pc, #156] ; (80b1298 ) 80b11fc: 799b ldrb r3, [r3, #6] 80b11fe: b2db uxtb r3, r3 80b1200: 2b02 cmp r3, #2 80b1202: d02d beq.n 80b1260 { if(pardata.IPR == ACC) 80b1204: 4b24 ldr r3, [pc, #144] ; (80b1298 ) 80b1206: 785b ldrb r3, [r3, #1] 80b1208: b2db uxtb r3, r3 80b120a: 2b00 cmp r3, #0 80b120c: d106 bne.n 80b121c BSP_LCD_DisplayStringAt(58, 46, "m/s^", RIGHT_MODE); 80b120e: 2302 movs r3, #2 80b1210: 4a30 ldr r2, [pc, #192] ; (80b12d4 ) 80b1212: 212e movs r1, #46 ; 0x2e 80b1214: 203a movs r0, #58 ; 0x3a 80b1216: f7a3 fac1 bl 805479c 80b121a: e087 b.n 80b132c else if(pardata.IPR == VEL) 80b121c: 4b1e ldr r3, [pc, #120] ; (80b1298 ) 80b121e: 785b ldrb r3, [r3, #1] 80b1220: b2db uxtb r3, r3 80b1222: 2b01 cmp r3, #1 80b1224: d106 bne.n 80b1234 BSP_LCD_DisplayStringAt(58, 46, "mm/s", RIGHT_MODE); 80b1226: 2302 movs r3, #2 80b1228: 4a2b ldr r2, [pc, #172] ; (80b12d8 ) 80b122a: 212e movs r1, #46 ; 0x2e 80b122c: 203a movs r0, #58 ; 0x3a 80b122e: f7a3 fab5 bl 805479c 80b1232: e07b b.n 80b132c else if(pardata.IPR == DIS) 80b1234: 4b18 ldr r3, [pc, #96] ; (80b1298 ) 80b1236: 785b ldrb r3, [r3, #1] 80b1238: b2db uxtb r3, r3 80b123a: 2b02 cmp r3, #2 80b123c: d176 bne.n 80b132c { if(m == 0) 80b123e: 79fb ldrb r3, [r7, #7] 80b1240: 2b00 cmp r3, #0 80b1242: d106 bne.n 80b1252 BSP_LCD_DisplayStringAt(58, 46, "um", RIGHT_MODE); 80b1244: 2302 movs r3, #2 80b1246: 4a25 ldr r2, [pc, #148] ; (80b12dc ) 80b1248: 212e movs r1, #46 ; 0x2e 80b124a: 203a movs r0, #58 ; 0x3a 80b124c: f7a3 faa6 bl 805479c 80b1250: e06c b.n 80b132c else BSP_LCD_DisplayStringAt(58, 46, "mm", RIGHT_MODE); 80b1252: 2302 movs r3, #2 80b1254: 4a22 ldr r2, [pc, #136] ; (80b12e0 ) 80b1256: 212e movs r1, #46 ; 0x2e 80b1258: 203a movs r0, #58 ; 0x3a 80b125a: f7a3 fa9f bl 805479c 80b125e: e065 b.n 80b132c } } else { if(pardata.IPR == ACC) 80b1260: 4b0d ldr r3, [pc, #52] ; (80b1298 ) 80b1262: 785b ldrb r3, [r3, #1] 80b1264: b2db uxtb r3, r3 80b1266: 2b00 cmp r3, #0 80b1268: d106 bne.n 80b1278 BSP_LCD_DisplayStringAt(58, 46, "mV", RIGHT_MODE); 80b126a: 2302 movs r3, #2 80b126c: 4a1d ldr r2, [pc, #116] ; (80b12e4 ) 80b126e: 212e movs r1, #46 ; 0x2e 80b1270: 203a movs r0, #58 ; 0x3a 80b1272: f7a3 fa93 bl 805479c 80b1276: e059 b.n 80b132c else if(pardata.IPR == VEL) 80b1278: 4b07 ldr r3, [pc, #28] ; (80b1298 ) 80b127a: 785b ldrb r3, [r3, #1] 80b127c: b2db uxtb r3, r3 80b127e: 2b01 cmp r3, #1 80b1280: d132 bne.n 80b12e8 BSP_LCD_DisplayStringAt(58, 46, "mV", RIGHT_MODE); 80b1282: 2302 movs r3, #2 80b1284: 4a17 ldr r2, [pc, #92] ; (80b12e4 ) 80b1286: 212e movs r1, #46 ; 0x2e 80b1288: 203a movs r0, #58 ; 0x3a 80b128a: f7a3 fa87 bl 805479c 80b128e: e04d b.n 80b132c 80b1290: 20020038 .word 0x20020038 80b1294: ff0a0f1f .word 0xff0a0f1f 80b1298: 20023ea8 .word 0x20023ea8 80b129c: 20021588 .word 0x20021588 80b12a0: 447a0000 .word 0x447a0000 80b12a4: 3a83126f .word 0x3a83126f 80b12a8: 42c80000 .word 0x42c80000 80b12ac: 461c4000 .word 0x461c4000 80b12b0: 47c35000 .word 0x47c35000 80b12b4: 49742400 .word 0x49742400 80b12b8: 080d4d28 .word 0x080d4d28 80b12bc: 080d4d38 .word 0x080d4d38 80b12c0: 080d4d48 .word 0x080d4d48 80b12c4: 080d4d20 .word 0x080d4d20 80b12c8: 080d4e88 .word 0x080d4e88 80b12cc: 080d4e8c .word 0x080d4e8c 80b12d0: 080d4e90 .word 0x080d4e90 80b12d4: 080d4d30 .word 0x080d4d30 80b12d8: 080d4d40 .word 0x080d4d40 80b12dc: 080d4d4c .word 0x080d4d4c 80b12e0: 080d4d24 .word 0x080d4d24 80b12e4: 080d4e1c .word 0x080d4e1c else if(pardata.IPR == DIS) 80b12e8: 4b24 ldr r3, [pc, #144] ; (80b137c ) 80b12ea: 785b ldrb r3, [r3, #1] 80b12ec: b2db uxtb r3, r3 80b12ee: 2b02 cmp r3, #2 80b12f0: d11c bne.n 80b132c { if(m == 0) 80b12f2: 79fb ldrb r3, [r7, #7] 80b12f4: 2b00 cmp r3, #0 80b12f6: d106 bne.n 80b1306 BSP_LCD_DisplayStringAt(58, 46, "mV", RIGHT_MODE); 80b12f8: 2302 movs r3, #2 80b12fa: 4a21 ldr r2, [pc, #132] ; (80b1380 ) 80b12fc: 212e movs r1, #46 ; 0x2e 80b12fe: 203a movs r0, #58 ; 0x3a 80b1300: f7a3 fa4c bl 805479c 80b1304: e012 b.n 80b132c else if(m == 1) 80b1306: 79fb ldrb r3, [r7, #7] 80b1308: 2b01 cmp r3, #1 80b130a: d106 bne.n 80b131a BSP_LCD_DisplayStringAt(58, 46, "V", RIGHT_MODE); 80b130c: 2302 movs r3, #2 80b130e: 4a1d ldr r2, [pc, #116] ; (80b1384 ) 80b1310: 212e movs r1, #46 ; 0x2e 80b1312: 203a movs r0, #58 ; 0x3a 80b1314: f7a3 fa42 bl 805479c 80b1318: e008 b.n 80b132c else if(m == 2) 80b131a: 79fb ldrb r3, [r7, #7] 80b131c: 2b02 cmp r3, #2 80b131e: d105 bne.n 80b132c BSP_LCD_DisplayStringAt(58, 46, "uV", RIGHT_MODE); 80b1320: 2302 movs r3, #2 80b1322: 4a19 ldr r2, [pc, #100] ; (80b1388 ) 80b1324: 212e movs r1, #46 ; 0x2e 80b1326: 203a movs r0, #58 ; 0x3a 80b1328: f7a3 fa38 bl 805479c } } } pch = (char *) FloatToASCII(skzDB[pardata.IPR], -1); 80b132c: 4b13 ldr r3, [pc, #76] ; (80b137c ) 80b132e: 785b ldrb r3, [r3, #1] 80b1330: b2db uxtb r3, r3 80b1332: 4a16 ldr r2, [pc, #88] ; (80b138c ) 80b1334: 009b lsls r3, r3, #2 80b1336: 4413 add r3, r2 80b1338: edd3 7a00 vldr s15, [r3] 80b133c: f04f 30ff mov.w r0, #4294967295 80b1340: eeb0 0a67 vmov.f32 s0, s15 80b1344: f7b6 f92c bl 80675a0 80b1348: 6038 str r0, [r7, #0] strcat(pch, " dB"); 80b134a: 6838 ldr r0, [r7, #0] 80b134c: f76e ffe2 bl 8020314 80b1350: 4603 mov r3, r0 80b1352: 461a mov r2, r3 80b1354: 683b ldr r3, [r7, #0] 80b1356: 4413 add r3, r2 80b1358: 4a0d ldr r2, [pc, #52] ; (80b1390 ) 80b135a: 6810 ldr r0, [r2, #0] 80b135c: 6018 str r0, [r3, #0] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b135e: 490d ldr r1, [pc, #52] ; (80b1394 ) 80b1360: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b1364: f7a3 f954 bl 8054610 BSP_LCD_DisplayStringAt(30, 73, pch, CENTER_MODE); 80b1368: 2301 movs r3, #1 80b136a: 683a ldr r2, [r7, #0] 80b136c: 2149 movs r1, #73 ; 0x49 80b136e: 201e movs r0, #30 80b1370: f7a3 fa14 bl 805479c //BSP_LCD_DisplayStringAt(41, 77, "dB", CENTER_MODE); } 80b1374: bf00 nop 80b1376: 3710 adds r7, #16 80b1378: 46bd mov sp, r7 80b137a: bd80 pop {r7, pc} 80b137c: 20023ea8 .word 0x20023ea8 80b1380: 080d4e1c .word 0x080d4e1c 80b1384: 080d2a10 .word 0x080d2a10 80b1388: 080d4d7c .word 0x080d4d7c 80b138c: 20021594 .word 0x20021594 80b1390: 080d4e94 .word 0x080d4e94 80b1394: ff0a0f1f .word 0xff0a0f1f 080b1398 : void DrawAVS(void) //TODO { 80b1398: b580 push {r7, lr} 80b139a: 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); 80b139c: 483f ldr r0, [pc, #252] ; (80b149c ) 80b139e: f7a3 f973 bl 8054688 LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 80b13a2: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80b13a6: f04f 30ff mov.w r0, #4294967295 80b13aa: f7a3 f931 bl 8054610 BSP_LCD_DisplayStringAt(66, 45, (char *) pIPR[pardata.LANG][pardata.IPR], LEFT_MODE); 80b13ae: 4b3c ldr r3, [pc, #240] ; (80b14a0 ) 80b13b0: 7b1b ldrb r3, [r3, #12] 80b13b2: b2db uxtb r3, r3 80b13b4: 4619 mov r1, r3 80b13b6: 4b3a ldr r3, [pc, #232] ; (80b14a0 ) 80b13b8: 785b ldrb r3, [r3, #1] 80b13ba: b2db uxtb r3, r3 80b13bc: 4618 mov r0, r3 80b13be: 4a39 ldr r2, [pc, #228] ; (80b14a4 ) 80b13c0: 460b mov r3, r1 80b13c2: 005b lsls r3, r3, #1 80b13c4: 440b add r3, r1 80b13c6: 4403 add r3, r0 80b13c8: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80b13cc: 2303 movs r3, #3 80b13ce: 212d movs r1, #45 ; 0x2d 80b13d0: 2042 movs r0, #66 ; 0x42 80b13d2: f7a3 f9e3 bl 805479c BSP_LCD_SetFont(&Font12); 80b13d6: 4834 ldr r0, [pc, #208] ; (80b14a8 ) 80b13d8: f7a3 f956 bl 8054688 if((menu == MAIN_ROLL) || (menu == VIEW_PORTRET) || (menu == ROLL_RESULTS)) 80b13dc: 4b33 ldr r3, [pc, #204] ; (80b14ac ) 80b13de: 781b ldrb r3, [r3, #0] 80b13e0: b2db uxtb r3, r3 80b13e2: 2b24 cmp r3, #36 ; 0x24 80b13e4: d009 beq.n 80b13fa 80b13e6: 4b31 ldr r3, [pc, #196] ; (80b14ac ) 80b13e8: 781b ldrb r3, [r3, #0] 80b13ea: b2db uxtb r3, r3 80b13ec: 2b28 cmp r3, #40 ; 0x28 80b13ee: d004 beq.n 80b13fa 80b13f0: 4b2e ldr r3, [pc, #184] ; (80b14ac ) 80b13f2: 781b ldrb r3, [r3, #0] 80b13f4: b2db uxtb r3, r3 80b13f6: 2b27 cmp r3, #39 ; 0x27 80b13f8: d106 bne.n 80b1408 { BSP_LCD_DisplayStringAt(83, 53, ",dB", LEFT_MODE); 80b13fa: 2303 movs r3, #3 80b13fc: 4a2c ldr r2, [pc, #176] ; (80b14b0 ) 80b13fe: 2135 movs r1, #53 ; 0x35 80b1400: 2053 movs r0, #83 ; 0x53 80b1402: f7a3 f9cb bl 805479c } else BSP_LCD_DisplayStringAt(83, 53, ",dB", LEFT_MODE); } }*/ } 80b1406: e047 b.n 80b1498 if((menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD) || (menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB)) 80b1408: 4b28 ldr r3, [pc, #160] ; (80b14ac ) 80b140a: 781b ldrb r3, [r3, #0] 80b140c: b2db uxtb r3, r3 80b140e: 2b22 cmp r3, #34 ; 0x22 80b1410: d00e beq.n 80b1430 80b1412: 4b26 ldr r3, [pc, #152] ; (80b14ac ) 80b1414: 781b ldrb r3, [r3, #0] 80b1416: b2db uxtb r3, r3 80b1418: 2b23 cmp r3, #35 ; 0x23 80b141a: d009 beq.n 80b1430 80b141c: 4b23 ldr r3, [pc, #140] ; (80b14ac ) 80b141e: 781b ldrb r3, [r3, #0] 80b1420: b2db uxtb r3, r3 80b1422: 2b1c cmp r3, #28 80b1424: d004 beq.n 80b1430 80b1426: 4b21 ldr r3, [pc, #132] ; (80b14ac ) 80b1428: 781b ldrb r3, [r3, #0] 80b142a: b2db uxtb r3, r3 80b142c: 2b21 cmp r3, #33 ; 0x21 80b142e: d133 bne.n 80b1498 if(pardata.MSH == LOG) 80b1430: 4b1b ldr r3, [pc, #108] ; (80b14a0 ) 80b1432: 7a9b ldrb r3, [r3, #10] 80b1434: b2db uxtb r3, r3 80b1436: 2b01 cmp r3, #1 80b1438: d117 bne.n 80b146a BSP_LCD_DisplayStringAt(83, 53, (char *) pTEXT_DB[pardata.LANG][pardata.IVS[pardata.IPR]], LEFT_MODE); 80b143a: 4b19 ldr r3, [pc, #100] ; (80b14a0 ) 80b143c: 7b1b ldrb r3, [r3, #12] 80b143e: b2db uxtb r3, r3 80b1440: 4618 mov r0, r3 80b1442: 4b17 ldr r3, [pc, #92] ; (80b14a0 ) 80b1444: 785b ldrb r3, [r3, #1] 80b1446: b2db uxtb r3, r3 80b1448: 461a mov r2, r3 80b144a: 4b15 ldr r3, [pc, #84] ; (80b14a0 ) 80b144c: 4413 add r3, r2 80b144e: 789b ldrb r3, [r3, #2] 80b1450: b2db uxtb r3, r3 80b1452: 4619 mov r1, r3 80b1454: 4a17 ldr r2, [pc, #92] ; (80b14b4 ) 80b1456: 0043 lsls r3, r0, #1 80b1458: 440b add r3, r1 80b145a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80b145e: 2303 movs r3, #3 80b1460: 2135 movs r1, #53 ; 0x35 80b1462: 2053 movs r0, #83 ; 0x53 80b1464: f7a3 f99a bl 805479c } 80b1468: e016 b.n 80b1498 else BSP_LCD_DisplayStringAt(83, 53, (char *) pTEXT[pardata.LANG][pardata.IVS[pardata.IPR]], LEFT_MODE); 80b146a: 4b0d ldr r3, [pc, #52] ; (80b14a0 ) 80b146c: 7b1b ldrb r3, [r3, #12] 80b146e: b2db uxtb r3, r3 80b1470: 4618 mov r0, r3 80b1472: 4b0b ldr r3, [pc, #44] ; (80b14a0 ) 80b1474: 785b ldrb r3, [r3, #1] 80b1476: b2db uxtb r3, r3 80b1478: 461a mov r2, r3 80b147a: 4b09 ldr r3, [pc, #36] ; (80b14a0 ) 80b147c: 4413 add r3, r2 80b147e: 789b ldrb r3, [r3, #2] 80b1480: b2db uxtb r3, r3 80b1482: 4619 mov r1, r3 80b1484: 4a0c ldr r2, [pc, #48] ; (80b14b8 ) 80b1486: 0043 lsls r3, r0, #1 80b1488: 440b add r3, r1 80b148a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80b148e: 2303 movs r3, #3 80b1490: 2135 movs r1, #53 ; 0x35 80b1492: 2053 movs r0, #83 ; 0x53 80b1494: f7a3 f982 bl 805479c } 80b1498: bf00 nop 80b149a: bd80 pop {r7, pc} 80b149c: 20020058 .word 0x20020058 80b14a0: 20023ea8 .word 0x20023ea8 80b14a4: 2002016c .word 0x2002016c 80b14a8: 20020038 .word 0x20020038 80b14ac: 20020fbd .word 0x20020fbd 80b14b0: 080d4e98 .word 0x080d4e98 80b14b4: 2002099c .word 0x2002099c 80b14b8: 200209ac .word 0x200209ac 080b14bc : void DrawKeyboard(void) { 80b14bc: b580 push {r7, lr} 80b14be: b084 sub sp, #16 80b14c0: af00 add r7, sp, #0 uint32_t i, j; char Bukva[2] = {'\0','\0'}; 80b14c2: 2300 movs r3, #0 80b14c4: 713b strb r3, [r7, #4] 80b14c6: 2300 movs r3, #0 80b14c8: 717b strb r3, [r7, #5] BSP_LCD_SetFont(&Font12); 80b14ca: 48ba ldr r0, [pc, #744] ; (80b17b4 ) 80b14cc: f7a3 f8dc bl 8054688 for(j = 0; j < 3; j++) 80b14d0: 2300 movs r3, #0 80b14d2: 60bb str r3, [r7, #8] 80b14d4: e0aa b.n 80b162c { for(i = 0; i < 10; i++) 80b14d6: 2300 movs r3, #0 80b14d8: 60fb str r3, [r7, #12] 80b14da: e0a0 b.n 80b161e { if(menupos != (j*10 + i)) 80b14dc: 4bb6 ldr r3, [pc, #728] ; (80b17b8 ) 80b14de: 781b ldrb r3, [r3, #0] 80b14e0: b2db uxtb r3, r3 80b14e2: 4619 mov r1, r3 80b14e4: 68ba ldr r2, [r7, #8] 80b14e6: 4613 mov r3, r2 80b14e8: 009b lsls r3, r3, #2 80b14ea: 4413 add r3, r2 80b14ec: 005b lsls r3, r3, #1 80b14ee: 461a mov r2, r3 80b14f0: 68fb ldr r3, [r7, #12] 80b14f2: 4413 add r3, r2 80b14f4: 4299 cmp r1, r3 80b14f6: d047 beq.n 80b1588 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b14f8: 49b0 ldr r1, [pc, #704] ; (80b17bc ) 80b14fa: 48b1 ldr r0, [pc, #708] ; (80b17c0 ) 80b14fc: f7a3 f888 bl 8054610 BSP_LCD_DrawRect(26 + 26*i, 120 + 22*j, 25, 21); 80b1500: 68fb ldr r3, [r7, #12] 80b1502: 3301 adds r3, #1 80b1504: b29b uxth r3, r3 80b1506: 461a mov r2, r3 80b1508: 0052 lsls r2, r2, #1 80b150a: 441a add r2, r3 80b150c: 0092 lsls r2, r2, #2 80b150e: 4413 add r3, r2 80b1510: 005b lsls r3, r3, #1 80b1512: b298 uxth r0, r3 80b1514: 68bb ldr r3, [r7, #8] 80b1516: b29b uxth r3, r3 80b1518: 461a mov r2, r3 80b151a: 0092 lsls r2, r2, #2 80b151c: 441a add r2, r3 80b151e: 0052 lsls r2, r2, #1 80b1520: 4413 add r3, r2 80b1522: 005b lsls r3, r3, #1 80b1524: b29b uxth r3, r3 80b1526: 3378 adds r3, #120 ; 0x78 80b1528: b299 uxth r1, r3 80b152a: 2315 movs r3, #21 80b152c: 2219 movs r2, #25 80b152e: f7a3 fb75 bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b1532: 49a2 ldr r1, [pc, #648] ; (80b17bc ) 80b1534: f04f 30ff mov.w r0, #4294967295 80b1538: f7a3 f86a bl 8054610 Bukva[0] = CHARS_ENG[j*10 + i]; 80b153c: 68ba ldr r2, [r7, #8] 80b153e: 4613 mov r3, r2 80b1540: 009b lsls r3, r3, #2 80b1542: 4413 add r3, r2 80b1544: 005b lsls r3, r3, #1 80b1546: 461a mov r2, r3 80b1548: 68fb ldr r3, [r7, #12] 80b154a: 4413 add r3, r2 80b154c: 4a9d ldr r2, [pc, #628] ; (80b17c4 ) 80b154e: 5cd3 ldrb r3, [r2, r3] 80b1550: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 126 + 22*j, Bukva, LEFT_MODE); 80b1552: 68fb ldr r3, [r7, #12] 80b1554: b29b uxth r3, r3 80b1556: 461a mov r2, r3 80b1558: 0052 lsls r2, r2, #1 80b155a: 441a add r2, r3 80b155c: 0092 lsls r2, r2, #2 80b155e: 4413 add r3, r2 80b1560: 005b lsls r3, r3, #1 80b1562: b29b uxth r3, r3 80b1564: 3325 adds r3, #37 ; 0x25 80b1566: b298 uxth r0, r3 80b1568: 68bb ldr r3, [r7, #8] 80b156a: b29b uxth r3, r3 80b156c: 461a mov r2, r3 80b156e: 0092 lsls r2, r2, #2 80b1570: 441a add r2, r3 80b1572: 0052 lsls r2, r2, #1 80b1574: 4413 add r3, r2 80b1576: 005b lsls r3, r3, #1 80b1578: b29b uxth r3, r3 80b157a: 337e adds r3, #126 ; 0x7e 80b157c: b299 uxth r1, r3 80b157e: 1d3a adds r2, r7, #4 80b1580: 2303 movs r3, #3 80b1582: f7a3 f90b bl 805479c 80b1586: e047 b.n 80b1618 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b1588: 498c ldr r1, [pc, #560] ; (80b17bc ) 80b158a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b158e: f7a3 f83f bl 8054610 BSP_LCD_DrawRect(26 + 26*i, 120 + 22*j, 25, 21); 80b1592: 68fb ldr r3, [r7, #12] 80b1594: 3301 adds r3, #1 80b1596: b29b uxth r3, r3 80b1598: 461a mov r2, r3 80b159a: 0052 lsls r2, r2, #1 80b159c: 441a add r2, r3 80b159e: 0092 lsls r2, r2, #2 80b15a0: 4413 add r3, r2 80b15a2: 005b lsls r3, r3, #1 80b15a4: b298 uxth r0, r3 80b15a6: 68bb ldr r3, [r7, #8] 80b15a8: b29b uxth r3, r3 80b15aa: 461a mov r2, r3 80b15ac: 0092 lsls r2, r2, #2 80b15ae: 441a add r2, r3 80b15b0: 0052 lsls r2, r2, #1 80b15b2: 4413 add r3, r2 80b15b4: 005b lsls r3, r3, #1 80b15b6: b29b uxth r3, r3 80b15b8: 3378 adds r3, #120 ; 0x78 80b15ba: b299 uxth r1, r3 80b15bc: 2315 movs r3, #21 80b15be: 2219 movs r2, #25 80b15c0: f7a3 fb2c bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b15c4: 497d ldr r1, [pc, #500] ; (80b17bc ) 80b15c6: f04f 30ff mov.w r0, #4294967295 80b15ca: f7a3 f821 bl 8054610 Bukva[0] = CHARS_ENG[j*10 + i]; 80b15ce: 68ba ldr r2, [r7, #8] 80b15d0: 4613 mov r3, r2 80b15d2: 009b lsls r3, r3, #2 80b15d4: 4413 add r3, r2 80b15d6: 005b lsls r3, r3, #1 80b15d8: 461a mov r2, r3 80b15da: 68fb ldr r3, [r7, #12] 80b15dc: 4413 add r3, r2 80b15de: 4a79 ldr r2, [pc, #484] ; (80b17c4 ) 80b15e0: 5cd3 ldrb r3, [r2, r3] 80b15e2: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 126 + 22*j, Bukva, LEFT_MODE); 80b15e4: 68fb ldr r3, [r7, #12] 80b15e6: b29b uxth r3, r3 80b15e8: 461a mov r2, r3 80b15ea: 0052 lsls r2, r2, #1 80b15ec: 441a add r2, r3 80b15ee: 0092 lsls r2, r2, #2 80b15f0: 4413 add r3, r2 80b15f2: 005b lsls r3, r3, #1 80b15f4: b29b uxth r3, r3 80b15f6: 3325 adds r3, #37 ; 0x25 80b15f8: b298 uxth r0, r3 80b15fa: 68bb ldr r3, [r7, #8] 80b15fc: b29b uxth r3, r3 80b15fe: 461a mov r2, r3 80b1600: 0092 lsls r2, r2, #2 80b1602: 441a add r2, r3 80b1604: 0052 lsls r2, r2, #1 80b1606: 4413 add r3, r2 80b1608: 005b lsls r3, r3, #1 80b160a: b29b uxth r3, r3 80b160c: 337e adds r3, #126 ; 0x7e 80b160e: b299 uxth r1, r3 80b1610: 1d3a adds r2, r7, #4 80b1612: 2303 movs r3, #3 80b1614: f7a3 f8c2 bl 805479c for(i = 0; i < 10; i++) 80b1618: 68fb ldr r3, [r7, #12] 80b161a: 3301 adds r3, #1 80b161c: 60fb str r3, [r7, #12] 80b161e: 68fb ldr r3, [r7, #12] 80b1620: 2b09 cmp r3, #9 80b1622: f67f af5b bls.w 80b14dc for(j = 0; j < 3; j++) 80b1626: 68bb ldr r3, [r7, #8] 80b1628: 3301 adds r3, #1 80b162a: 60bb str r3, [r7, #8] 80b162c: 68bb ldr r3, [r7, #8] 80b162e: 2b02 cmp r3, #2 80b1630: f67f af51 bls.w 80b14d6 } } } i = 0; 80b1634: 2300 movs r3, #0 80b1636: 60fb str r3, [r7, #12] do { if(i < 4) 80b1638: 68fb ldr r3, [r7, #12] 80b163a: 2b03 cmp r3, #3 80b163c: d864 bhi.n 80b1708 { if(menupos != (30 + i)) 80b163e: 4b5e ldr r3, [pc, #376] ; (80b17b8 ) 80b1640: 781b ldrb r3, [r3, #0] 80b1642: b2db uxtb r3, r3 80b1644: 461a mov r2, r3 80b1646: 68fb ldr r3, [r7, #12] 80b1648: 331e adds r3, #30 80b164a: 429a cmp r2, r3 80b164c: d02d beq.n 80b16aa { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b164e: 495b ldr r1, [pc, #364] ; (80b17bc ) 80b1650: 485b ldr r0, [pc, #364] ; (80b17c0 ) 80b1652: f7a2 ffdd bl 8054610 BSP_LCD_DrawRect(26 + 26*i, 186, 25, 21); 80b1656: 68fb ldr r3, [r7, #12] 80b1658: 3301 adds r3, #1 80b165a: b29b uxth r3, r3 80b165c: 461a mov r2, r3 80b165e: 0052 lsls r2, r2, #1 80b1660: 441a add r2, r3 80b1662: 0092 lsls r2, r2, #2 80b1664: 4413 add r3, r2 80b1666: 005b lsls r3, r3, #1 80b1668: b298 uxth r0, r3 80b166a: 2315 movs r3, #21 80b166c: 2219 movs r2, #25 80b166e: 21ba movs r1, #186 ; 0xba 80b1670: f7a3 fad4 bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b1674: 4951 ldr r1, [pc, #324] ; (80b17bc ) 80b1676: f04f 30ff mov.w r0, #4294967295 80b167a: f7a2 ffc9 bl 8054610 Bukva[0] = CHARS_ENG[30 + i]; 80b167e: 68fb ldr r3, [r7, #12] 80b1680: 331e adds r3, #30 80b1682: 4a50 ldr r2, [pc, #320] ; (80b17c4 ) 80b1684: 5cd3 ldrb r3, [r2, r3] 80b1686: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 192, Bukva, LEFT_MODE); 80b1688: 68fb ldr r3, [r7, #12] 80b168a: b29b uxth r3, r3 80b168c: 461a mov r2, r3 80b168e: 0052 lsls r2, r2, #1 80b1690: 441a add r2, r3 80b1692: 0092 lsls r2, r2, #2 80b1694: 4413 add r3, r2 80b1696: 005b lsls r3, r3, #1 80b1698: b29b uxth r3, r3 80b169a: 3325 adds r3, #37 ; 0x25 80b169c: b298 uxth r0, r3 80b169e: 1d3a adds r2, r7, #4 80b16a0: 2303 movs r3, #3 80b16a2: 21c0 movs r1, #192 ; 0xc0 80b16a4: f7a3 f87a bl 805479c 80b16a8: e0bd b.n 80b1826 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b16aa: 4944 ldr r1, [pc, #272] ; (80b17bc ) 80b16ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b16b0: f7a2 ffae bl 8054610 BSP_LCD_DrawRect(26 + 26*i, 186, 25, 21); 80b16b4: 68fb ldr r3, [r7, #12] 80b16b6: 3301 adds r3, #1 80b16b8: b29b uxth r3, r3 80b16ba: 461a mov r2, r3 80b16bc: 0052 lsls r2, r2, #1 80b16be: 441a add r2, r3 80b16c0: 0092 lsls r2, r2, #2 80b16c2: 4413 add r3, r2 80b16c4: 005b lsls r3, r3, #1 80b16c6: b298 uxth r0, r3 80b16c8: 2315 movs r3, #21 80b16ca: 2219 movs r2, #25 80b16cc: 21ba movs r1, #186 ; 0xba 80b16ce: f7a3 faa5 bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b16d2: 493a ldr r1, [pc, #232] ; (80b17bc ) 80b16d4: f04f 30ff mov.w r0, #4294967295 80b16d8: f7a2 ff9a bl 8054610 Bukva[0] = CHARS_ENG[30 + i]; 80b16dc: 68fb ldr r3, [r7, #12] 80b16de: 331e adds r3, #30 80b16e0: 4a38 ldr r2, [pc, #224] ; (80b17c4 ) 80b16e2: 5cd3 ldrb r3, [r2, r3] 80b16e4: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 192, Bukva, LEFT_MODE); 80b16e6: 68fb ldr r3, [r7, #12] 80b16e8: b29b uxth r3, r3 80b16ea: 461a mov r2, r3 80b16ec: 0052 lsls r2, r2, #1 80b16ee: 441a add r2, r3 80b16f0: 0092 lsls r2, r2, #2 80b16f2: 4413 add r3, r2 80b16f4: 005b lsls r3, r3, #1 80b16f6: b29b uxth r3, r3 80b16f8: 3325 adds r3, #37 ; 0x25 80b16fa: b298 uxth r0, r3 80b16fc: 1d3a adds r2, r7, #4 80b16fe: 2303 movs r3, #3 80b1700: 21c0 movs r1, #192 ; 0xc0 80b1702: f7a3 f84b bl 805479c 80b1706: e08e b.n 80b1826 } } else if(i == 4) 80b1708: 68fb ldr r3, [r7, #12] 80b170a: 2b04 cmp r3, #4 80b170c: d11b bne.n 80b1746 { /*"Space" button */ if(menupos != 34) 80b170e: 4b2a ldr r3, [pc, #168] ; (80b17b8 ) 80b1710: 781b ldrb r3, [r3, #0] 80b1712: b2db uxtb r3, r3 80b1714: 2b22 cmp r3, #34 ; 0x22 80b1716: d00a beq.n 80b172e { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b1718: 4928 ldr r1, [pc, #160] ; (80b17bc ) 80b171a: 4829 ldr r0, [pc, #164] ; (80b17c0 ) 80b171c: f7a2 ff78 bl 8054610 BSP_LCD_DrawRect(130, 186, 77, 21); 80b1720: 2315 movs r3, #21 80b1722: 224d movs r2, #77 ; 0x4d 80b1724: 21ba movs r1, #186 ; 0xba 80b1726: 2082 movs r0, #130 ; 0x82 80b1728: f7a3 fa78 bl 8054c1c 80b172c: e07b b.n 80b1826 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b172e: 4923 ldr r1, [pc, #140] ; (80b17bc ) 80b1730: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b1734: f7a2 ff6c bl 8054610 BSP_LCD_DrawRect(130, 186, 77, 21); 80b1738: 2315 movs r3, #21 80b173a: 224d movs r2, #77 ; 0x4d 80b173c: 21ba movs r1, #186 ; 0xba 80b173e: 2082 movs r0, #130 ; 0x82 80b1740: f7a3 fa6c bl 8054c1c 80b1744: e06f b.n 80b1826 } } else { /* After "Space" button*/ if(menupos != (30 + i)) 80b1746: 4b1c ldr r3, [pc, #112] ; (80b17b8 ) 80b1748: 781b ldrb r3, [r3, #0] 80b174a: b2db uxtb r3, r3 80b174c: 461a mov r2, r3 80b174e: 68fb ldr r3, [r7, #12] 80b1750: 331e adds r3, #30 80b1752: 429a cmp r2, r3 80b1754: d038 beq.n 80b17c8 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b1756: 4919 ldr r1, [pc, #100] ; (80b17bc ) 80b1758: 4819 ldr r0, [pc, #100] ; (80b17c0 ) 80b175a: f7a2 ff59 bl 8054610 BSP_LCD_DrawRect(78 + 26*i, 186, 25, 21); 80b175e: 68fb ldr r3, [r7, #12] 80b1760: b29b uxth r3, r3 80b1762: 461a mov r2, r3 80b1764: 0052 lsls r2, r2, #1 80b1766: 441a add r2, r3 80b1768: 0092 lsls r2, r2, #2 80b176a: 4413 add r3, r2 80b176c: 005b lsls r3, r3, #1 80b176e: b29b uxth r3, r3 80b1770: 334e adds r3, #78 ; 0x4e 80b1772: b298 uxth r0, r3 80b1774: 2315 movs r3, #21 80b1776: 2219 movs r2, #25 80b1778: 21ba movs r1, #186 ; 0xba 80b177a: f7a3 fa4f bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b177e: 490f ldr r1, [pc, #60] ; (80b17bc ) 80b1780: f04f 30ff mov.w r0, #4294967295 80b1784: f7a2 ff44 bl 8054610 Bukva[0] = CHARS_ENG[30 + i]; 80b1788: 68fb ldr r3, [r7, #12] 80b178a: 331e adds r3, #30 80b178c: 4a0d ldr r2, [pc, #52] ; (80b17c4 ) 80b178e: 5cd3 ldrb r3, [r2, r3] 80b1790: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(89 + 26*i, 192, Bukva, LEFT_MODE); 80b1792: 68fb ldr r3, [r7, #12] 80b1794: b29b uxth r3, r3 80b1796: 461a mov r2, r3 80b1798: 0052 lsls r2, r2, #1 80b179a: 441a add r2, r3 80b179c: 0092 lsls r2, r2, #2 80b179e: 4413 add r3, r2 80b17a0: 005b lsls r3, r3, #1 80b17a2: b29b uxth r3, r3 80b17a4: 3359 adds r3, #89 ; 0x59 80b17a6: b298 uxth r0, r3 80b17a8: 1d3a adds r2, r7, #4 80b17aa: 2303 movs r3, #3 80b17ac: 21c0 movs r1, #192 ; 0xc0 80b17ae: f7a2 fff5 bl 805479c 80b17b2: e038 b.n 80b1826 80b17b4: 20020038 .word 0x20020038 80b17b8: 20020070 .word 0x20020070 80b17bc: ff0a0f1f .word 0xff0a0f1f 80b17c0: ff808080 .word 0xff808080 80b17c4: 080f3940 .word 0x080f3940 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b17c8: 495c ldr r1, [pc, #368] ; (80b193c ) 80b17ca: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b17ce: f7a2 ff1f bl 8054610 BSP_LCD_DrawRect(78 + 26*i, 186, 25, 21); 80b17d2: 68fb ldr r3, [r7, #12] 80b17d4: b29b uxth r3, r3 80b17d6: 461a mov r2, r3 80b17d8: 0052 lsls r2, r2, #1 80b17da: 441a add r2, r3 80b17dc: 0092 lsls r2, r2, #2 80b17de: 4413 add r3, r2 80b17e0: 005b lsls r3, r3, #1 80b17e2: b29b uxth r3, r3 80b17e4: 334e adds r3, #78 ; 0x4e 80b17e6: b298 uxth r0, r3 80b17e8: 2315 movs r3, #21 80b17ea: 2219 movs r2, #25 80b17ec: 21ba movs r1, #186 ; 0xba 80b17ee: f7a3 fa15 bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b17f2: 4952 ldr r1, [pc, #328] ; (80b193c ) 80b17f4: f04f 30ff mov.w r0, #4294967295 80b17f8: f7a2 ff0a bl 8054610 Bukva[0] = CHARS_ENG[30 + i]; 80b17fc: 68fb ldr r3, [r7, #12] 80b17fe: 331e adds r3, #30 80b1800: 4a4f ldr r2, [pc, #316] ; (80b1940 ) 80b1802: 5cd3 ldrb r3, [r2, r3] 80b1804: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(89 + 26*i, 192, Bukva, LEFT_MODE); 80b1806: 68fb ldr r3, [r7, #12] 80b1808: b29b uxth r3, r3 80b180a: 461a mov r2, r3 80b180c: 0052 lsls r2, r2, #1 80b180e: 441a add r2, r3 80b1810: 0092 lsls r2, r2, #2 80b1812: 4413 add r3, r2 80b1814: 005b lsls r3, r3, #1 80b1816: b29b uxth r3, r3 80b1818: 3359 adds r3, #89 ; 0x59 80b181a: b298 uxth r0, r3 80b181c: 1d3a adds r2, r7, #4 80b181e: 2303 movs r3, #3 80b1820: 21c0 movs r1, #192 ; 0xc0 80b1822: f7a2 ffbb bl 805479c } } } while(++i < 8); 80b1826: 68fb ldr r3, [r7, #12] 80b1828: 3301 adds r3, #1 80b182a: 60fb str r3, [r7, #12] 80b182c: 68fb ldr r3, [r7, #12] 80b182e: 2b07 cmp r3, #7 80b1830: f67f af02 bls.w 80b1638 /* "OK" button */ if(menupos != _ENTER) 80b1834: 4b43 ldr r3, [pc, #268] ; (80b1944 ) 80b1836: 781b ldrb r3, [r3, #0] 80b1838: b2db uxtb r3, r3 80b183a: 2b26 cmp r3, #38 ; 0x26 80b183c: d015 beq.n 80b186a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b183e: 493f ldr r1, [pc, #252] ; (80b193c ) 80b1840: 4841 ldr r0, [pc, #260] ; (80b1948 ) 80b1842: f7a2 fee5 bl 8054610 BSP_LCD_DrawRect(95, 209, 50, 21); 80b1846: 2315 movs r3, #21 80b1848: 2232 movs r2, #50 ; 0x32 80b184a: 21d1 movs r1, #209 ; 0xd1 80b184c: 205f movs r0, #95 ; 0x5f 80b184e: f7a3 f9e5 bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b1852: 493a ldr r1, [pc, #232] ; (80b193c ) 80b1854: f04f 30ff mov.w r0, #4294967295 80b1858: f7a2 feda bl 8054610 BSP_LCD_DisplayStringAt(120, 215, "OK", CENTER_MODE); 80b185c: 2301 movs r3, #1 80b185e: 4a3b ldr r2, [pc, #236] ; (80b194c ) 80b1860: 21d7 movs r1, #215 ; 0xd7 80b1862: 2078 movs r0, #120 ; 0x78 80b1864: f7a2 ff9a bl 805479c 80b1868: e015 b.n 80b1896 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b186a: 4934 ldr r1, [pc, #208] ; (80b193c ) 80b186c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b1870: f7a2 fece bl 8054610 BSP_LCD_DrawRect(95, 209, 50, 21); 80b1874: 2315 movs r3, #21 80b1876: 2232 movs r2, #50 ; 0x32 80b1878: 21d1 movs r1, #209 ; 0xd1 80b187a: 205f movs r0, #95 ; 0x5f 80b187c: f7a3 f9ce bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b1880: 492e ldr r1, [pc, #184] ; (80b193c ) 80b1882: f04f 30ff mov.w r0, #4294967295 80b1886: f7a2 fec3 bl 8054610 BSP_LCD_DisplayStringAt(120, 215, "OK", CENTER_MODE); 80b188a: 2301 movs r3, #1 80b188c: 4a2f ldr r2, [pc, #188] ; (80b194c ) 80b188e: 21d7 movs r1, #215 ; 0xd7 80b1890: 2078 movs r0, #120 ; 0x78 80b1892: f7a2 ff83 bl 805479c } /* "Cancel" button */ if(menupos != _CANCEL) 80b1896: 4b2b ldr r3, [pc, #172] ; (80b1944 ) 80b1898: 781b ldrb r3, [r3, #0] 80b189a: b2db uxtb r3, r3 80b189c: 2b27 cmp r3, #39 ; 0x27 80b189e: d021 beq.n 80b18e4 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b18a0: 4926 ldr r1, [pc, #152] ; (80b193c ) 80b18a2: 4829 ldr r0, [pc, #164] ; (80b1948 ) 80b18a4: f7a2 feb4 bl 8054610 BSP_LCD_DrawRect(175, 209, 50, 21); 80b18a8: 2315 movs r3, #21 80b18aa: 2232 movs r2, #50 ; 0x32 80b18ac: 21d1 movs r1, #209 ; 0xd1 80b18ae: 20af movs r0, #175 ; 0xaf 80b18b0: f7a3 f9b4 bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b18b4: 4921 ldr r1, [pc, #132] ; (80b193c ) 80b18b6: f04f 30ff mov.w r0, #4294967295 80b18ba: f7a2 fea9 bl 8054610 if(pardata.LANG == RUS) 80b18be: 4b24 ldr r3, [pc, #144] ; (80b1950 ) 80b18c0: 7b1b ldrb r3, [r3, #12] 80b18c2: b2db uxtb r3, r3 80b18c4: 2b00 cmp r3, #0 80b18c6: d106 bne.n 80b18d6 BSP_LCD_DisplayStringAt(200, 215, "OTMEHA", CENTER_MODE); 80b18c8: 2301 movs r3, #1 80b18ca: 4a22 ldr r2, [pc, #136] ; (80b1954 ) 80b18cc: 21d7 movs r1, #215 ; 0xd7 80b18ce: 20c8 movs r0, #200 ; 0xc8 80b18d0: f7a2 ff64 bl 805479c 80b18d4: e028 b.n 80b1928 else BSP_LCD_DisplayStringAt(200, 215, "CANCEL", CENTER_MODE); 80b18d6: 2301 movs r3, #1 80b18d8: 4a1f ldr r2, [pc, #124] ; (80b1958 ) 80b18da: 21d7 movs r1, #215 ; 0xd7 80b18dc: 20c8 movs r0, #200 ; 0xc8 80b18de: f7a2 ff5d bl 805479c 80b18e2: e021 b.n 80b1928 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b18e4: 4915 ldr r1, [pc, #84] ; (80b193c ) 80b18e6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b18ea: f7a2 fe91 bl 8054610 BSP_LCD_DrawRect(175, 209, 50, 21); 80b18ee: 2315 movs r3, #21 80b18f0: 2232 movs r2, #50 ; 0x32 80b18f2: 21d1 movs r1, #209 ; 0xd1 80b18f4: 20af movs r0, #175 ; 0xaf 80b18f6: f7a3 f991 bl 8054c1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80b18fa: 4910 ldr r1, [pc, #64] ; (80b193c ) 80b18fc: f04f 30ff mov.w r0, #4294967295 80b1900: f7a2 fe86 bl 8054610 if(pardata.LANG == RUS) 80b1904: 4b12 ldr r3, [pc, #72] ; (80b1950 ) 80b1906: 7b1b ldrb r3, [r3, #12] 80b1908: b2db uxtb r3, r3 80b190a: 2b00 cmp r3, #0 80b190c: d106 bne.n 80b191c BSP_LCD_DisplayStringAt(200, 215, "OTMEHA", CENTER_MODE); 80b190e: 2301 movs r3, #1 80b1910: 4a10 ldr r2, [pc, #64] ; (80b1954 ) 80b1912: 21d7 movs r1, #215 ; 0xd7 80b1914: 20c8 movs r0, #200 ; 0xc8 80b1916: f7a2 ff41 bl 805479c 80b191a: e005 b.n 80b1928 else BSP_LCD_DisplayStringAt(200, 215, "CANCEL", CENTER_MODE); 80b191c: 2301 movs r3, #1 80b191e: 4a0e ldr r2, [pc, #56] ; (80b1958 ) 80b1920: 21d7 movs r1, #215 ; 0xd7 80b1922: 20c8 movs r0, #200 ; 0xc8 80b1924: f7a2 ff3a bl 805479c } /* Draw on "Backspace" button */ DrawImage(&bmBCKSPACE, 263, 171); 80b1928: 22ab movs r2, #171 ; 0xab 80b192a: f240 1107 movw r1, #263 ; 0x107 80b192e: 480b ldr r0, [pc, #44] ; (80b195c ) 80b1930: f7a3 fd62 bl 80553f8 } 80b1934: bf00 nop 80b1936: 3710 adds r7, #16 80b1938: 46bd mov sp, r7 80b193a: bd80 pop {r7, pc} 80b193c: ff0a0f1f .word 0xff0a0f1f 80b1940: 080f3940 .word 0x080f3940 80b1944: 20020070 .word 0x20020070 80b1948: ff808080 .word 0xff808080 80b194c: 080d4628 .word 0x080d4628 80b1950: 20023ea8 .word 0x20023ea8 80b1954: 080d4e9c .word 0x080d4e9c 80b1958: 080d4ea4 .word 0x080d4ea4 80b195c: 08115650 .word 0x08115650 080b1960 : void DrawSizeSD(void)//todo { 80b1960: b580 push {r7, lr} 80b1962: b08c sub sp, #48 ; 0x30 80b1964: af00 add r7, sp, #0 float32_t Ffree, Ftotal, f; char str[32]; LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80b1966: 4939 ldr r1, [pc, #228] ; (80b1a4c ) 80b1968: 4839 ldr r0, [pc, #228] ; (80b1a50 ) 80b196a: f7a2 fe51 bl 8054610 BSP_LCD_DrawRect(4, 25+4, 30, 2); 80b196e: 2302 movs r3, #2 80b1970: 221e movs r2, #30 80b1972: 211d movs r1, #29 80b1974: 2004 movs r0, #4 80b1976: f7a3 f951 bl 8054c1c Ffree = (float32_t) SD_Space.FreeSectors; 80b197a: 4b36 ldr r3, [pc, #216] ; (80b1a54 ) 80b197c: 685b ldr r3, [r3, #4] 80b197e: ee07 3a90 vmov s15, r3 80b1982: eef8 7a67 vcvt.f32.u32 s15, s15 80b1986: edc7 7a0a vstr s15, [r7, #40] ; 0x28 Ftotal = (float32_t) SD_Space.TotalSectors; 80b198a: 4b32 ldr r3, [pc, #200] ; (80b1a54 ) 80b198c: 681b ldr r3, [r3, #0] 80b198e: ee07 3a90 vmov s15, r3 80b1992: eef8 7a67 vcvt.f32.u32 s15, s15 80b1996: edc7 7a09 vstr s15, [r7, #36] ; 0x24 f = Ffree / Ftotal; 80b199a: edd7 6a0a vldr s13, [r7, #40] ; 0x28 80b199e: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b19a2: eec6 7a87 vdiv.f32 s15, s13, s14 80b19a6: edc7 7a08 vstr s15, [r7, #32] if(f <= 0.2f) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80b19aa: edd7 7a08 vldr s15, [r7, #32] 80b19ae: ed9f 7a2a vldr s14, [pc, #168] ; 80b1a58 80b19b2: eef4 7ac7 vcmpe.f32 s15, s14 80b19b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80b19ba: d804 bhi.n 80b19c6 80b19bc: 4923 ldr r1, [pc, #140] ; (80b1a4c ) 80b19be: 4827 ldr r0, [pc, #156] ; (80b1a5c ) 80b19c0: f7a2 fe26 bl 8054610 80b19c4: e012 b.n 80b19ec else if(f <= 0.4f) LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80b19c6: edd7 7a08 vldr s15, [r7, #32] 80b19ca: ed9f 7a25 vldr s14, [pc, #148] ; 80b1a60 80b19ce: eef4 7ac7 vcmpe.f32 s15, s14 80b19d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80b19d6: d804 bhi.n 80b19e2 80b19d8: 491c ldr r1, [pc, #112] ; (80b1a4c ) 80b19da: 4822 ldr r0, [pc, #136] ; (80b1a64 ) 80b19dc: f7a2 fe18 bl 8054610 80b19e0: e004 b.n 80b19ec else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80b19e2: 491a ldr r1, [pc, #104] ; (80b1a4c ) 80b19e4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80b19e8: f7a2 fe12 bl 8054610 BSP_LCD_DrawLine(5, 26+4, 33, 26+4); 80b19ec: 231e movs r3, #30 80b19ee: 2221 movs r2, #33 ; 0x21 80b19f0: 211e movs r1, #30 80b19f2: 2005 movs r0, #5 80b19f4: f7a3 f846 bl 8054a84 f *= 28; 80b19f8: edd7 7a08 vldr s15, [r7, #32] 80b19fc: eeb3 7a0c vmov.f32 s14, #60 ; 0x41e00000 28.0 80b1a00: ee67 7a87 vmul.f32 s15, s15, s14 80b1a04: edc7 7a08 vstr s15, [r7, #32] i = (uint32_t) f; 80b1a08: edd7 7a08 vldr s15, [r7, #32] 80b1a0c: eefc 7ae7 vcvt.u32.f32 s15, s15 80b1a10: ee17 3a90 vmov r3, s15 80b1a14: 62fb str r3, [r7, #44] ; 0x2c if(i >= 28) 80b1a16: 6afb ldr r3, [r7, #44] ; 0x2c 80b1a18: 2b1b cmp r3, #27 80b1a1a: d901 bls.n 80b1a20 i = 27; 80b1a1c: 231b movs r3, #27 80b1a1e: 62fb str r3, [r7, #44] ; 0x2c if(i > 0) 80b1a20: 6afb ldr r3, [r7, #44] ; 0x2c 80b1a22: 2b00 cmp r3, #0 80b1a24: d00d beq.n 80b1a42 { LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80b1a26: 4909 ldr r1, [pc, #36] ; (80b1a4c ) 80b1a28: 4808 ldr r0, [pc, #32] ; (80b1a4c ) 80b1a2a: f7a2 fdf1 bl 8054610 BSP_LCD_DrawLine(33, 26+4, 33 - i, 26+4); 80b1a2e: 6afb ldr r3, [r7, #44] ; 0x2c 80b1a30: b29b uxth r3, r3 80b1a32: f1c3 0321 rsb r3, r3, #33 ; 0x21 80b1a36: b29a uxth r2, r3 80b1a38: 231e movs r3, #30 80b1a3a: 211e movs r1, #30 80b1a3c: 2021 movs r0, #33 ; 0x21 80b1a3e: f7a3 f821 bl 8054a84 } } 80b1a42: bf00 nop 80b1a44: 3730 adds r7, #48 ; 0x30 80b1a46: 46bd mov sp, r7 80b1a48: bd80 pop {r7, pc} 80b1a4a: bf00 nop 80b1a4c: ff0a0f1f .word 0xff0a0f1f 80b1a50: ff808080 .word 0xff808080 80b1a54: 20022348 .word 0x20022348 80b1a58: 3e4ccccd .word 0x3e4ccccd 80b1a5c: ffff0000 .word 0xffff0000 80b1a60: 3ecccccd .word 0x3ecccccd 80b1a64: ffffa500 .word 0xffffa500 080b1a68 : DMA_HandleTypeDef hdma_sdmmc1_tx; /* SDMMC1 init function */ void MX_SDMMC1_SD_Init(void) { 80b1a68: b580 push {r7, lr} 80b1a6a: af00 add r7, sp, #0 hsd1.Instance = SDMMC1; 80b1a6c: 4b0c ldr r3, [pc, #48] ; (80b1aa0 ) 80b1a6e: 4a0d ldr r2, [pc, #52] ; (80b1aa4 ) 80b1a70: 601a str r2, [r3, #0] hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING; 80b1a72: 4b0b ldr r3, [pc, #44] ; (80b1aa0 ) 80b1a74: 2200 movs r2, #0 80b1a76: 605a str r2, [r3, #4] hsd1.Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE; 80b1a78: 4b09 ldr r3, [pc, #36] ; (80b1aa0 ) 80b1a7a: 2200 movs r2, #0 80b1a7c: 609a str r2, [r3, #8] hsd1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; 80b1a7e: 4b08 ldr r3, [pc, #32] ; (80b1aa0 ) 80b1a80: 2200 movs r2, #0 80b1a82: 60da str r2, [r3, #12] hsd1.Init.BusWide = SDMMC_BUS_WIDE_1B; 80b1a84: 4b06 ldr r3, [pc, #24] ; (80b1aa0 ) 80b1a86: 2200 movs r2, #0 80b1a88: 611a str r2, [r3, #16] hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; 80b1a8a: 4b05 ldr r3, [pc, #20] ; (80b1aa0 ) 80b1a8c: 2200 movs r2, #0 80b1a8e: 615a str r2, [r3, #20] hsd1.Init.ClockDiv = 0; 80b1a90: 4b03 ldr r3, [pc, #12] ; (80b1aa0 ) 80b1a92: 2200 movs r2, #0 80b1a94: 619a str r2, [r3, #24] initSD(); 80b1a96: f772 f899 bl 8023bcc } 80b1a9a: bf00 nop 80b1a9c: bd80 pop {r7, pc} 80b1a9e: bf00 nop 80b1aa0: 2006862c .word 0x2006862c 80b1aa4: 40012c00 .word 0x40012c00 080b1aa8 : } } void HAL_SD_MspInit(SD_HandleTypeDef* sdHandle) { 80b1aa8: b580 push {r7, lr} 80b1aaa: b088 sub sp, #32 80b1aac: af00 add r7, sp, #0 80b1aae: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(sdHandle->Instance == SDMMC1) 80b1ab0: 687b ldr r3, [r7, #4] 80b1ab2: 681b ldr r3, [r3, #0] 80b1ab4: 4a5a ldr r2, [pc, #360] ; (80b1c20 ) 80b1ab6: 4293 cmp r3, r2 80b1ab8: f040 80ad bne.w 80b1c16 { /* USER CODE BEGIN SDMMC1_MspInit 0 */ /* USER CODE END SDMMC1_MspInit 0 */ /* SDMMC1 clock enable */ __HAL_RCC_SDMMC1_CLK_ENABLE(); 80b1abc: 4a59 ldr r2, [pc, #356] ; (80b1c24 ) 80b1abe: 4b59 ldr r3, [pc, #356] ; (80b1c24 ) 80b1ac0: 6c5b ldr r3, [r3, #68] ; 0x44 80b1ac2: f443 6300 orr.w r3, r3, #2048 ; 0x800 80b1ac6: 6453 str r3, [r2, #68] ; 0x44 80b1ac8: 4b56 ldr r3, [pc, #344] ; (80b1c24 ) 80b1aca: 6c5b ldr r3, [r3, #68] ; 0x44 80b1acc: f403 6300 and.w r3, r3, #2048 ; 0x800 80b1ad0: 60bb str r3, [r7, #8] 80b1ad2: 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; 80b1ad4: f44f 53f8 mov.w r3, #7936 ; 0x1f00 80b1ad8: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80b1ada: 2302 movs r3, #2 80b1adc: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80b1ade: 2300 movs r3, #0 80b1ae0: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80b1ae2: 2303 movs r3, #3 80b1ae4: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1; 80b1ae6: 230c movs r3, #12 80b1ae8: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 80b1aea: f107 030c add.w r3, r7, #12 80b1aee: 4619 mov r1, r3 80b1af0: 484d ldr r0, [pc, #308] ; (80b1c28 ) 80b1af2: f007 fb85 bl 80b9200 GPIO_InitStruct.Pin = GPIO_PIN_2; 80b1af6: 2304 movs r3, #4 80b1af8: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80b1afa: 2302 movs r3, #2 80b1afc: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80b1afe: 2300 movs r3, #0 80b1b00: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80b1b02: 2303 movs r3, #3 80b1b04: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1; 80b1b06: 230c movs r3, #12 80b1b08: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); 80b1b0a: f107 030c add.w r3, r7, #12 80b1b0e: 4619 mov r1, r3 80b1b10: 4846 ldr r0, [pc, #280] ; (80b1c2c ) 80b1b12: f007 fb75 bl 80b9200 /* SDMMC1 interrupt Init */ HAL_NVIC_SetPriority(SDMMC1_IRQn, 4, 0); 80b1b16: 2200 movs r2, #0 80b1b18: 2104 movs r1, #4 80b1b1a: 2031 movs r0, #49 ; 0x31 80b1b1c: f006 f8d9 bl 80b7cd2 HAL_NVIC_EnableIRQ(SDMMC1_IRQn); 80b1b20: 2031 movs r0, #49 ; 0x31 80b1b22: f006 f8f2 bl 80b7d0a /* SDMMC1 DMA Init */ /* SDMMC1_RX Init */ hdma_sdmmc1_rx.Instance = DMA2_Stream3; 80b1b26: 4b42 ldr r3, [pc, #264] ; (80b1c30 ) 80b1b28: 4a42 ldr r2, [pc, #264] ; (80b1c34 ) 80b1b2a: 601a str r2, [r3, #0] hdma_sdmmc1_rx.Init.Channel = DMA_CHANNEL_4; 80b1b2c: 4b40 ldr r3, [pc, #256] ; (80b1c30 ) 80b1b2e: f04f 6200 mov.w r2, #134217728 ; 0x8000000 80b1b32: 605a str r2, [r3, #4] hdma_sdmmc1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; 80b1b34: 4b3e ldr r3, [pc, #248] ; (80b1c30 ) 80b1b36: 2200 movs r2, #0 80b1b38: 609a str r2, [r3, #8] hdma_sdmmc1_rx.Init.PeriphInc = DMA_PINC_DISABLE; 80b1b3a: 4b3d ldr r3, [pc, #244] ; (80b1c30 ) 80b1b3c: 2200 movs r2, #0 80b1b3e: 60da str r2, [r3, #12] hdma_sdmmc1_rx.Init.MemInc = DMA_MINC_ENABLE; 80b1b40: 4b3b ldr r3, [pc, #236] ; (80b1c30 ) 80b1b42: f44f 6280 mov.w r2, #1024 ; 0x400 80b1b46: 611a str r2, [r3, #16] hdma_sdmmc1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 80b1b48: 4b39 ldr r3, [pc, #228] ; (80b1c30 ) 80b1b4a: f44f 5280 mov.w r2, #4096 ; 0x1000 80b1b4e: 615a str r2, [r3, #20] hdma_sdmmc1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 80b1b50: 4b37 ldr r3, [pc, #220] ; (80b1c30 ) 80b1b52: f44f 4280 mov.w r2, #16384 ; 0x4000 80b1b56: 619a str r2, [r3, #24] hdma_sdmmc1_rx.Init.Mode = DMA_PFCTRL; 80b1b58: 4b35 ldr r3, [pc, #212] ; (80b1c30 ) 80b1b5a: 2220 movs r2, #32 80b1b5c: 61da str r2, [r3, #28] hdma_sdmmc1_rx.Init.Priority = DMA_PRIORITY_VERY_HIGH; 80b1b5e: 4b34 ldr r3, [pc, #208] ; (80b1c30 ) 80b1b60: f44f 3240 mov.w r2, #196608 ; 0x30000 80b1b64: 621a str r2, [r3, #32] hdma_sdmmc1_rx.Init.FIFOMode = DMA_FIFOMODE_ENABLE; 80b1b66: 4b32 ldr r3, [pc, #200] ; (80b1c30 ) 80b1b68: 2204 movs r2, #4 80b1b6a: 625a str r2, [r3, #36] ; 0x24 hdma_sdmmc1_rx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL; 80b1b6c: 4b30 ldr r3, [pc, #192] ; (80b1c30 ) 80b1b6e: 2203 movs r2, #3 80b1b70: 629a str r2, [r3, #40] ; 0x28 hdma_sdmmc1_rx.Init.MemBurst = DMA_MBURST_INC4; 80b1b72: 4b2f ldr r3, [pc, #188] ; (80b1c30 ) 80b1b74: f44f 0200 mov.w r2, #8388608 ; 0x800000 80b1b78: 62da str r2, [r3, #44] ; 0x2c hdma_sdmmc1_rx.Init.PeriphBurst = DMA_PBURST_INC4; 80b1b7a: 4b2d ldr r3, [pc, #180] ; (80b1c30 ) 80b1b7c: f44f 1200 mov.w r2, #2097152 ; 0x200000 80b1b80: 631a str r2, [r3, #48] ; 0x30 if(HAL_DMA_Init(&hdma_sdmmc1_rx) != HAL_OK) { 80b1b82: 482b ldr r0, [pc, #172] ; (80b1c30 ) 80b1b84: f006 f966 bl 80b7e54 80b1b88: 4603 mov r3, r0 80b1b8a: 2b00 cmp r3, #0 80b1b8c: d001 beq.n 80b1b92 Error_Handler(); 80b1b8e: f7a4 f88f bl 8055cb0 } __HAL_LINKDMA(sdHandle, hdmarx, hdma_sdmmc1_rx); 80b1b92: 687b ldr r3, [r7, #4] 80b1b94: 4a26 ldr r2, [pc, #152] ; (80b1c30 ) 80b1b96: 641a str r2, [r3, #64] ; 0x40 80b1b98: 4a25 ldr r2, [pc, #148] ; (80b1c30 ) 80b1b9a: 687b ldr r3, [r7, #4] 80b1b9c: 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; 80b1b9e: 4b26 ldr r3, [pc, #152] ; (80b1c38 ) 80b1ba0: 4a26 ldr r2, [pc, #152] ; (80b1c3c ) 80b1ba2: 601a str r2, [r3, #0] hdma_sdmmc1_tx.Init.Channel = DMA_CHANNEL_4; 80b1ba4: 4b24 ldr r3, [pc, #144] ; (80b1c38 ) 80b1ba6: f04f 6200 mov.w r2, #134217728 ; 0x8000000 80b1baa: 605a str r2, [r3, #4] hdma_sdmmc1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; 80b1bac: 4b22 ldr r3, [pc, #136] ; (80b1c38 ) 80b1bae: 2240 movs r2, #64 ; 0x40 80b1bb0: 609a str r2, [r3, #8] hdma_sdmmc1_tx.Init.PeriphInc = DMA_PINC_DISABLE; 80b1bb2: 4b21 ldr r3, [pc, #132] ; (80b1c38 ) 80b1bb4: 2200 movs r2, #0 80b1bb6: 60da str r2, [r3, #12] hdma_sdmmc1_tx.Init.MemInc = DMA_MINC_ENABLE; 80b1bb8: 4b1f ldr r3, [pc, #124] ; (80b1c38 ) 80b1bba: f44f 6280 mov.w r2, #1024 ; 0x400 80b1bbe: 611a str r2, [r3, #16] hdma_sdmmc1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 80b1bc0: 4b1d ldr r3, [pc, #116] ; (80b1c38 ) 80b1bc2: f44f 5280 mov.w r2, #4096 ; 0x1000 80b1bc6: 615a str r2, [r3, #20] hdma_sdmmc1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 80b1bc8: 4b1b ldr r3, [pc, #108] ; (80b1c38 ) 80b1bca: f44f 4280 mov.w r2, #16384 ; 0x4000 80b1bce: 619a str r2, [r3, #24] hdma_sdmmc1_tx.Init.Mode = DMA_PFCTRL; 80b1bd0: 4b19 ldr r3, [pc, #100] ; (80b1c38 ) 80b1bd2: 2220 movs r2, #32 80b1bd4: 61da str r2, [r3, #28] hdma_sdmmc1_tx.Init.Priority = DMA_PRIORITY_VERY_HIGH; 80b1bd6: 4b18 ldr r3, [pc, #96] ; (80b1c38 ) 80b1bd8: f44f 3240 mov.w r2, #196608 ; 0x30000 80b1bdc: 621a str r2, [r3, #32] hdma_sdmmc1_tx.Init.FIFOMode = DMA_FIFOMODE_ENABLE; 80b1bde: 4b16 ldr r3, [pc, #88] ; (80b1c38 ) 80b1be0: 2204 movs r2, #4 80b1be2: 625a str r2, [r3, #36] ; 0x24 hdma_sdmmc1_tx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL; 80b1be4: 4b14 ldr r3, [pc, #80] ; (80b1c38 ) 80b1be6: 2203 movs r2, #3 80b1be8: 629a str r2, [r3, #40] ; 0x28 hdma_sdmmc1_tx.Init.MemBurst = DMA_MBURST_INC4; 80b1bea: 4b13 ldr r3, [pc, #76] ; (80b1c38 ) 80b1bec: f44f 0200 mov.w r2, #8388608 ; 0x800000 80b1bf0: 62da str r2, [r3, #44] ; 0x2c hdma_sdmmc1_tx.Init.PeriphBurst = DMA_PBURST_INC4; 80b1bf2: 4b11 ldr r3, [pc, #68] ; (80b1c38 ) 80b1bf4: f44f 1200 mov.w r2, #2097152 ; 0x200000 80b1bf8: 631a str r2, [r3, #48] ; 0x30 if(HAL_DMA_Init(&hdma_sdmmc1_tx) != HAL_OK) { 80b1bfa: 480f ldr r0, [pc, #60] ; (80b1c38 ) 80b1bfc: f006 f92a bl 80b7e54 80b1c00: 4603 mov r3, r0 80b1c02: 2b00 cmp r3, #0 80b1c04: d001 beq.n 80b1c0a Error_Handler(); 80b1c06: f7a4 f853 bl 8055cb0 } __HAL_LINKDMA(sdHandle, hdmatx, hdma_sdmmc1_tx); 80b1c0a: 687b ldr r3, [r7, #4] 80b1c0c: 4a0a ldr r2, [pc, #40] ; (80b1c38 ) 80b1c0e: 63da str r2, [r3, #60] ; 0x3c 80b1c10: 4a09 ldr r2, [pc, #36] ; (80b1c38 ) 80b1c12: 687b ldr r3, [r7, #4] 80b1c14: 6393 str r3, [r2, #56] ; 0x38 // HAL_DMA_DeInit(&hdma_sdmmc1_tx); // HAL_DMA_Init(&hdma_sdmmc1_tx); } } 80b1c16: bf00 nop 80b1c18: 3720 adds r7, #32 80b1c1a: 46bd mov sp, r7 80b1c1c: bd80 pop {r7, pc} 80b1c1e: bf00 nop 80b1c20: 40012c00 .word 0x40012c00 80b1c24: 40023800 .word 0x40023800 80b1c28: 40020800 .word 0x40020800 80b1c2c: 40020c00 .word 0x40020c00 80b1c30: 200686b0 .word 0x200686b0 80b1c34: 40026458 .word 0x40026458 80b1c38: 20068710 .word 0x20068710 80b1c3c: 400264a0 .word 0x400264a0 080b1c40 : void HAL_SD_MspDeInit(SD_HandleTypeDef* sdHandle) { 80b1c40: b580 push {r7, lr} 80b1c42: b082 sub sp, #8 80b1c44: af00 add r7, sp, #0 80b1c46: 6078 str r0, [r7, #4] if(sdHandle->Instance==SDMMC1) 80b1c48: 687b ldr r3, [r7, #4] 80b1c4a: 681b ldr r3, [r3, #0] 80b1c4c: 4a11 ldr r2, [pc, #68] ; (80b1c94 ) 80b1c4e: 4293 cmp r3, r2 80b1c50: d11b bne.n 80b1c8a { __HAL_RCC_SDMMC1_CLK_DISABLE(); 80b1c52: 4a11 ldr r2, [pc, #68] ; (80b1c98 ) 80b1c54: 4b10 ldr r3, [pc, #64] ; (80b1c98 ) 80b1c56: 6c5b ldr r3, [r3, #68] ; 0x44 80b1c58: f423 6300 bic.w r3, r3, #2048 ; 0x800 80b1c5c: 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); 80b1c5e: f44f 51f8 mov.w r1, #7936 ; 0x1f00 80b1c62: 480e ldr r0, [pc, #56] ; (80b1c9c ) 80b1c64: f007 fc76 bl 80b9554 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2); 80b1c68: 2104 movs r1, #4 80b1c6a: 480d ldr r0, [pc, #52] ; (80b1ca0 ) 80b1c6c: f007 fc72 bl 80b9554 /* SDMMC1 DMA DeInit */ HAL_DMA_DeInit(sdHandle->hdmarx); 80b1c70: 687b ldr r3, [r7, #4] 80b1c72: 6c1b ldr r3, [r3, #64] ; 0x40 80b1c74: 4618 mov r0, r3 80b1c76: f006 f99b bl 80b7fb0 HAL_DMA_DeInit(sdHandle->hdmatx); 80b1c7a: 687b ldr r3, [r7, #4] 80b1c7c: 6bdb ldr r3, [r3, #60] ; 0x3c 80b1c7e: 4618 mov r0, r3 80b1c80: f006 f996 bl 80b7fb0 HAL_NVIC_DisableIRQ(SDMMC1_IRQn); 80b1c84: 2031 movs r0, #49 ; 0x31 80b1c86: f006 f84e bl 80b7d26 } } 80b1c8a: bf00 nop 80b1c8c: 3708 adds r7, #8 80b1c8e: 46bd mov sp, r7 80b1c90: bd80 pop {r7, pc} 80b1c92: bf00 nop 80b1c94: 40012c00 .word 0x40012c00 80b1c98: 40023800 .word 0x40023800 80b1c9c: 40020800 .word 0x40020800 80b1ca0: 40020c00 .word 0x40020c00 080b1ca4 : uslong_t aRxBuffer; /* SPI1 init function */ void MX_SPI1_Init(void) { 80b1ca4: b580 push {r7, lr} 80b1ca6: af00 add r7, sp, #0 hspi1.Instance = SPI1; 80b1ca8: 4b22 ldr r3, [pc, #136] ; (80b1d34 ) 80b1caa: 4a23 ldr r2, [pc, #140] ; (80b1d38 ) 80b1cac: 601a str r2, [r3, #0] hspi1.Init.Mode = SPI_MODE_MASTER; 80b1cae: 4b21 ldr r3, [pc, #132] ; (80b1d34 ) 80b1cb0: f44f 7282 mov.w r2, #260 ; 0x104 80b1cb4: 605a str r2, [r3, #4] hspi1.Init.Direction = SPI_DIRECTION_2LINES; 80b1cb6: 4b1f ldr r3, [pc, #124] ; (80b1d34 ) 80b1cb8: 2200 movs r2, #0 80b1cba: 609a str r2, [r3, #8] hspi1.Init.DataSize = SPI_DATASIZE_8BIT; 80b1cbc: 4b1d ldr r3, [pc, #116] ; (80b1d34 ) 80b1cbe: f44f 62e0 mov.w r2, #1792 ; 0x700 80b1cc2: 60da str r2, [r3, #12] //hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH; hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; 80b1cc4: 4b1b ldr r3, [pc, #108] ; (80b1d34 ) 80b1cc6: 2200 movs r2, #0 80b1cc8: 611a str r2, [r3, #16] hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; 80b1cca: 4b1a ldr r3, [pc, #104] ; (80b1d34 ) 80b1ccc: 2200 movs r2, #0 80b1cce: 615a str r2, [r3, #20] hspi1.Init.NSS = SPI_NSS_SOFT; 80b1cd0: 4b18 ldr r3, [pc, #96] ; (80b1d34 ) 80b1cd2: f44f 7200 mov.w r2, #512 ; 0x200 80b1cd6: 619a str r2, [r3, #24] hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8; 80b1cd8: 4b16 ldr r3, [pc, #88] ; (80b1d34 ) 80b1cda: 2210 movs r2, #16 80b1cdc: 61da str r2, [r3, #28] hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; 80b1cde: 4b15 ldr r3, [pc, #84] ; (80b1d34 ) 80b1ce0: 2200 movs r2, #0 80b1ce2: 621a str r2, [r3, #32] hspi1.Init.TIMode = SPI_TIMODE_DISABLE; 80b1ce4: 4b13 ldr r3, [pc, #76] ; (80b1d34 ) 80b1ce6: 2200 movs r2, #0 80b1ce8: 625a str r2, [r3, #36] ; 0x24 hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; 80b1cea: 4b12 ldr r3, [pc, #72] ; (80b1d34 ) 80b1cec: 2200 movs r2, #0 80b1cee: 629a str r2, [r3, #40] ; 0x28 hspi1.Init.CRCPolynomial = 7; 80b1cf0: 4b10 ldr r3, [pc, #64] ; (80b1d34 ) 80b1cf2: 2207 movs r2, #7 80b1cf4: 62da str r2, [r3, #44] ; 0x2c hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE; 80b1cf6: 4b0f ldr r3, [pc, #60] ; (80b1d34 ) 80b1cf8: 2200 movs r2, #0 80b1cfa: 631a str r2, [r3, #48] ; 0x30 hspi1.Init.NSSPMode = SPI_NSS_PULSE_DISABLE; 80b1cfc: 4b0d ldr r3, [pc, #52] ; (80b1d34 ) 80b1cfe: 2200 movs r2, #0 80b1d00: 635a str r2, [r3, #52] ; 0x34 if(HAL_SPI_Init(&hspi1) != HAL_OK) { 80b1d02: 480c ldr r0, [pc, #48] ; (80b1d34 ) 80b1d04: f00d fca3 bl 80bf64e 80b1d08: 4603 mov r3, r0 80b1d0a: 2b00 cmp r3, #0 80b1d0c: d001 beq.n 80b1d12 Error_Handler(); 80b1d0e: f7a3 ffcf bl 8055cb0 } HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 80b1d12: 2200 movs r2, #0 80b1d14: f44f 4100 mov.w r1, #32768 ; 0x8000 80b1d18: 4808 ldr r0, [pc, #32] ; (80b1d3c ) 80b1d1a: f007 fd3f bl 80b979c HAL_Delay(1); 80b1d1e: 2001 movs r0, #1 80b1d20: f005 f88c bl 80b6e3c HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 80b1d24: 2201 movs r2, #1 80b1d26: f44f 4100 mov.w r1, #32768 ; 0x8000 80b1d2a: 4804 ldr r0, [pc, #16] ; (80b1d3c ) 80b1d2c: f007 fd36 bl 80b979c } 80b1d30: bf00 nop 80b1d32: bd80 pop {r7, pc} 80b1d34: 20068774 .word 0x20068774 80b1d38: 40013000 .word 0x40013000 80b1d3c: 40020000 .word 0x40020000 080b1d40 : void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle) { 80b1d40: b580 push {r7, lr} 80b1d42: b088 sub sp, #32 80b1d44: af00 add r7, sp, #0 80b1d46: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(spiHandle->Instance == SPI1) 80b1d48: 687b ldr r3, [r7, #4] 80b1d4a: 681b ldr r3, [r3, #0] 80b1d4c: 4a19 ldr r2, [pc, #100] ; (80b1db4 ) 80b1d4e: 4293 cmp r3, r2 80b1d50: d12b bne.n 80b1daa { __HAL_RCC_SPI1_CLK_ENABLE(); 80b1d52: 4a19 ldr r2, [pc, #100] ; (80b1db8 ) 80b1d54: 4b18 ldr r3, [pc, #96] ; (80b1db8 ) 80b1d56: 6c5b ldr r3, [r3, #68] ; 0x44 80b1d58: f443 5380 orr.w r3, r3, #4096 ; 0x1000 80b1d5c: 6453 str r3, [r2, #68] ; 0x44 80b1d5e: 4b16 ldr r3, [pc, #88] ; (80b1db8 ) 80b1d60: 6c5b ldr r3, [r3, #68] ; 0x44 80b1d62: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b1d66: 60bb str r3, [r7, #8] 80b1d68: 68bb ldr r3, [r7, #8] GPIO_InitStruct.Pin = GPIO_PIN_5 | GPIO_PIN_7; 80b1d6a: 23a0 movs r3, #160 ; 0xa0 80b1d6c: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80b1d6e: 2302 movs r3, #2 80b1d70: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80b1d72: 2300 movs r3, #0 80b1d74: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80b1d76: 2303 movs r3, #3 80b1d78: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; 80b1d7a: 2305 movs r3, #5 80b1d7c: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 80b1d7e: f107 030c add.w r3, r7, #12 80b1d82: 4619 mov r1, r3 80b1d84: 480d ldr r0, [pc, #52] ; (80b1dbc ) 80b1d86: f007 fa3b bl 80b9200 GPIO_InitStruct.Pin = GPIO_PIN_4; 80b1d8a: 2310 movs r3, #16 80b1d8c: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80b1d8e: 2302 movs r3, #2 80b1d90: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80b1d92: 2300 movs r3, #0 80b1d94: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80b1d96: 2303 movs r3, #3 80b1d98: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; 80b1d9a: 2305 movs r3, #5 80b1d9c: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80b1d9e: f107 030c add.w r3, r7, #12 80b1da2: 4619 mov r1, r3 80b1da4: 4806 ldr r0, [pc, #24] ; (80b1dc0 ) 80b1da6: f007 fa2b bl 80b9200 } } 80b1daa: bf00 nop 80b1dac: 3720 adds r7, #32 80b1dae: 46bd mov sp, r7 80b1db0: bd80 pop {r7, pc} 80b1db2: bf00 nop 80b1db4: 40013000 .word 0x40013000 80b1db8: 40023800 .word 0x40023800 80b1dbc: 40020000 .word 0x40020000 80b1dc0: 40020400 .word 0x40020400 080b1dc4 : /* USER CODE END 0 */ /** * Initializes the Global MSP. */ void HAL_MspInit(void) { 80b1dc4: b480 push {r7} 80b1dc6: b083 sub sp, #12 80b1dc8: af00 add r7, sp, #0 /* USER CODE BEGIN MspInit 0 */ /* USER CODE END MspInit 0 */ __HAL_RCC_PWR_CLK_ENABLE(); 80b1dca: 4a0f ldr r2, [pc, #60] ; (80b1e08 ) 80b1dcc: 4b0e ldr r3, [pc, #56] ; (80b1e08 ) 80b1dce: 6c1b ldr r3, [r3, #64] ; 0x40 80b1dd0: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80b1dd4: 6413 str r3, [r2, #64] ; 0x40 80b1dd6: 4b0c ldr r3, [pc, #48] ; (80b1e08 ) 80b1dd8: 6c1b ldr r3, [r3, #64] ; 0x40 80b1dda: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80b1dde: 607b str r3, [r7, #4] 80b1de0: 687b ldr r3, [r7, #4] __HAL_RCC_SYSCFG_CLK_ENABLE(); 80b1de2: 4a09 ldr r2, [pc, #36] ; (80b1e08 ) 80b1de4: 4b08 ldr r3, [pc, #32] ; (80b1e08 ) 80b1de6: 6c5b ldr r3, [r3, #68] ; 0x44 80b1de8: f443 4380 orr.w r3, r3, #16384 ; 0x4000 80b1dec: 6453 str r3, [r2, #68] ; 0x44 80b1dee: 4b06 ldr r3, [pc, #24] ; (80b1e08 ) 80b1df0: 6c5b ldr r3, [r3, #68] ; 0x44 80b1df2: f403 4380 and.w r3, r3, #16384 ; 0x4000 80b1df6: 603b str r3, [r7, #0] 80b1df8: 683b ldr r3, [r7, #0] /* System interrupt init*/ /* USER CODE BEGIN MspInit 1 */ /* USER CODE END MspInit 1 */ } 80b1dfa: bf00 nop 80b1dfc: 370c adds r7, #12 80b1dfe: 46bd mov sp, r7 80b1e00: f85d 7b04 ldr.w r7, [sp], #4 80b1e04: 4770 bx lr 80b1e06: bf00 nop 80b1e08: 40023800 .word 0x40023800 080b1e0c : /******************************************************************************/ /** * @brief This function handles Non maskable interrupt. */ void NMI_Handler(void) { 80b1e0c: b480 push {r7} 80b1e0e: 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) 80b1e10: e7fe b.n 80b1e10 080b1e12 : /** * @brief This function handles Hard fault interrupt. */ void HardFault_Handler(void) { 80b1e12: b480 push {r7} 80b1e14: af00 add r7, sp, #0 /* USER CODE BEGIN HardFault_IRQn 0 */ /* USER CODE END HardFault_IRQn 0 */ while (1) 80b1e16: e7fe b.n 80b1e16 080b1e18 : /** * @brief This function handles Memory management fault. */ void MemManage_Handler(void) { 80b1e18: b480 push {r7} 80b1e1a: af00 add r7, sp, #0 /* USER CODE BEGIN MemoryManagement_IRQn 0 */ /* USER CODE END MemoryManagement_IRQn 0 */ while (1) 80b1e1c: e7fe b.n 80b1e1c 080b1e1e : /** * @brief This function handles Pre-fetch fault, memory access fault. */ void BusFault_Handler(void) { 80b1e1e: b480 push {r7} 80b1e20: af00 add r7, sp, #0 /* USER CODE BEGIN BusFault_IRQn 0 */ /* USER CODE END BusFault_IRQn 0 */ while (1) 80b1e22: e7fe b.n 80b1e22 080b1e24 : /** * @brief This function handles Undefined instruction or illegal state. */ void UsageFault_Handler(void) { 80b1e24: b480 push {r7} 80b1e26: af00 add r7, sp, #0 /* USER CODE BEGIN UsageFault_IRQn 0 */ /* USER CODE END UsageFault_IRQn 0 */ while (1) 80b1e28: e7fe b.n 80b1e28 080b1e2a : /** * @brief This function handles System service call via SWI instruction. */ void SVC_Handler(void) { 80b1e2a: b480 push {r7} 80b1e2c: af00 add r7, sp, #0 /* USER CODE END SVCall_IRQn 0 */ /* USER CODE BEGIN SVCall_IRQn 1 */ /* USER CODE END SVCall_IRQn 1 */ } 80b1e2e: bf00 nop 80b1e30: 46bd mov sp, r7 80b1e32: f85d 7b04 ldr.w r7, [sp], #4 80b1e36: 4770 bx lr 080b1e38 : /** * @brief This function handles Debug monitor. */ void DebugMon_Handler(void) { 80b1e38: b480 push {r7} 80b1e3a: af00 add r7, sp, #0 /* USER CODE END DebugMonitor_IRQn 0 */ /* USER CODE BEGIN DebugMonitor_IRQn 1 */ /* USER CODE END DebugMonitor_IRQn 1 */ } 80b1e3c: bf00 nop 80b1e3e: 46bd mov sp, r7 80b1e40: f85d 7b04 ldr.w r7, [sp], #4 80b1e44: 4770 bx lr 080b1e46 : /** * @brief This function handles Pendable request for system service. */ void PendSV_Handler(void) { 80b1e46: b480 push {r7} 80b1e48: af00 add r7, sp, #0 /* USER CODE END PendSV_IRQn 0 */ /* USER CODE BEGIN PendSV_IRQn 1 */ /* USER CODE END PendSV_IRQn 1 */ } 80b1e4a: bf00 nop 80b1e4c: 46bd mov sp, r7 80b1e4e: f85d 7b04 ldr.w r7, [sp], #4 80b1e52: 4770 bx lr 080b1e54 : /** * @brief This function handles System tick timer. */ void SysTick_Handler(void) { 80b1e54: b580 push {r7, lr} 80b1e56: af00 add r7, sp, #0 /* USER CODE BEGIN SysTick_IRQn 0 */ /* USER CODE END SysTick_IRQn 0 */ HAL_IncTick(); 80b1e58: f004 ffd0 bl 80b6dfc /* USER CODE BEGIN SysTick_IRQn 1 */ /* USER CODE END SysTick_IRQn 1 */ } 80b1e5c: bf00 nop 80b1e5e: bd80 pop {r7, pc} 080b1e60 : /** * @brief This function handles EXTI line2 interrupt. */ void EXTI2_IRQHandler(void) { 80b1e60: b580 push {r7, lr} 80b1e62: af00 add r7, sp, #0 /* USER CODE BEGIN EXTI2_IRQn 0 */ /* USER CODE END EXTI2_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_2); 80b1e64: 2004 movs r0, #4 80b1e66: f007 fcb3 bl 80b97d0 /* USER CODE BEGIN EXTI2_IRQn 1 */ /* USER CODE END EXTI2_IRQn 1 */ } 80b1e6a: bf00 nop 80b1e6c: bd80 pop {r7, pc} 080b1e6e : /** * @brief This function handles EXTI line3 interrupt. */ void EXTI3_IRQHandler(void) { 80b1e6e: b580 push {r7, lr} 80b1e70: af00 add r7, sp, #0 /* USER CODE BEGIN EXTI3_IRQn 0 */ /* USER CODE END EXTI3_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3); 80b1e72: 2008 movs r0, #8 80b1e74: f007 fcac bl 80b97d0 /* USER CODE BEGIN EXTI3_IRQn 1 */ /* USER CODE END EXTI3_IRQn 1 */ } 80b1e78: bf00 nop 80b1e7a: bd80 pop {r7, pc} 080b1e7c : /** * @brief This function handles I2C1 event interrupt. */ void I2C1_EV_IRQHandler(void) { 80b1e7c: b580 push {r7, lr} 80b1e7e: af00 add r7, sp, #0 /* USER CODE BEGIN I2C1_EV_IRQn 0 */ /* USER CODE END I2C1_EV_IRQn 0 */ HAL_SMBUS_EV_IRQHandler(&hsmbus1); 80b1e80: 4802 ldr r0, [pc, #8] ; (80b1e8c ) 80b1e82: f00c fd21 bl 80be8c8 /* USER CODE BEGIN I2C1_EV_IRQn 1 */ /* USER CODE END I2C1_EV_IRQn 1 */ } 80b1e86: bf00 nop 80b1e88: bd80 pop {r7, pc} 80b1e8a: bf00 nop 80b1e8c: 2002590c .word 0x2002590c 080b1e90 : /** * @brief This function handles I2C1 error interrupt. */ void I2C1_ER_IRQHandler(void) { 80b1e90: b580 push {r7, lr} 80b1e92: af00 add r7, sp, #0 /* USER CODE BEGIN I2C1_ER_IRQn 0 */ /* USER CODE END I2C1_ER_IRQn 0 */ HAL_SMBUS_ER_IRQHandler(&hsmbus1); 80b1e94: 4802 ldr r0, [pc, #8] ; (80b1ea0 ) 80b1e96: f00c fdb5 bl 80bea04 /* USER CODE BEGIN I2C1_ER_IRQn 1 */ /* USER CODE END I2C1_ER_IRQn 1 */ } 80b1e9a: bf00 nop 80b1e9c: bd80 pop {r7, pc} 80b1e9e: bf00 nop 80b1ea0: 2002590c .word 0x2002590c 080b1ea4 : /** * @brief This function handles SDMMC1 global interrupt. */ void SDMMC1_IRQHandler(void) { 80b1ea4: b580 push {r7, lr} 80b1ea6: af00 add r7, sp, #0 /* USER CODE BEGIN SDMMC1_IRQn 0 */ /* USER CODE END SDMMC1_IRQn 0 */ HAL_SD_IRQHandler(&hsd1); 80b1ea8: 4802 ldr r0, [pc, #8] ; (80b1eb4 ) 80b1eaa: f00b f94b bl 80bd144 /* USER CODE BEGIN SDMMC1_IRQn 1 */ /* USER CODE END SDMMC1_IRQn 1 */ } 80b1eae: bf00 nop 80b1eb0: bd80 pop {r7, pc} 80b1eb2: bf00 nop 80b1eb4: 2006862c .word 0x2006862c 080b1eb8 : /** * @brief This function handles TIM7 global interrupt. */ void TIM7_IRQHandler(void) { 80b1eb8: b580 push {r7, lr} 80b1eba: af00 add r7, sp, #0 /* USER CODE BEGIN TIM7_IRQn 0 */ /* USER CODE END TIM7_IRQn 0 */ HAL_TIM_IRQHandler(&htim7); 80b1ebc: 4802 ldr r0, [pc, #8] ; (80b1ec8 ) 80b1ebe: f00e f9b7 bl 80c0230 /* USER CODE BEGIN TIM7_IRQn 1 */ /* USER CODE END TIM7_IRQn 1 */ } 80b1ec2: bf00 nop 80b1ec4: bd80 pop {r7, pc} 80b1ec6: bf00 nop 80b1ec8: 20068a18 .word 0x20068a18 080b1ecc : /** * @brief This function handles DMA2 stream3 global interrupt. */ void DMA2_Stream3_IRQHandler(void) { 80b1ecc: b580 push {r7, lr} 80b1ece: 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); 80b1ed0: 4802 ldr r0, [pc, #8] ; (80b1edc ) 80b1ed2: f006 f9bd bl 80b8250 /* USER CODE BEGIN DMA2_Stream3_IRQn 1 */ /* USER CODE END DMA2_Stream3_IRQn 1 */ } 80b1ed6: bf00 nop 80b1ed8: bd80 pop {r7, pc} 80b1eda: bf00 nop 80b1edc: 200686b0 .word 0x200686b0 080b1ee0 : void DMA2_Stream1_IRQHandler(void) { 80b1ee0: b580 push {r7, lr} 80b1ee2: af00 add r7, sp, #0 /* USER CODE BEGIN DMA2_Stream3_IRQn 0 */ /* USER CODE END DMA2_Stream3_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_adc3); 80b1ee4: 4802 ldr r0, [pc, #8] ; (80b1ef0 ) 80b1ee6: f006 f9b3 bl 80b8250 /* USER CODE BEGIN DMA2_Stream3_IRQn 1 */ /* USER CODE END DMA2_Stream3_IRQn 1 */ } 80b1eea: bf00 nop 80b1eec: bd80 pop {r7, pc} 80b1eee: bf00 nop 80b1ef0: 20021bc0 .word 0x20021bc0 080b1ef4 : /** * @brief This function handles DMA2 stream4 global interrupt. */ void DMA2_Stream4_IRQHandler(void) { 80b1ef4: b580 push {r7, lr} 80b1ef6: af00 add r7, sp, #0 /* USER CODE BEGIN DMA2_Stream4_IRQn 0 */ /* USER CODE END DMA2_Stream4_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_adc1); 80b1ef8: 4802 ldr r0, [pc, #8] ; (80b1f04 ) 80b1efa: f006 f9a9 bl 80b8250 /* USER CODE BEGIN DMA2_Stream4_IRQn 1 */ /* USER CODE END DMA2_Stream4_IRQn 1 */ } 80b1efe: bf00 nop 80b1f00: bd80 pop {r7, pc} 80b1f02: bf00 nop 80b1f04: 20021cb0 .word 0x20021cb0 080b1f08 : /** * @brief This function handles DMA2 stream6 global interrupt. */ void DMA2_Stream6_IRQHandler(void) { 80b1f08: b580 push {r7, lr} 80b1f0a: 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); 80b1f0c: 4802 ldr r0, [pc, #8] ; (80b1f18 ) 80b1f0e: f006 f99f bl 80b8250 /* USER CODE BEGIN DMA2_Stream6_IRQn 1 */ /* USER CODE END DMA2_Stream6_IRQn 1 */ } 80b1f12: bf00 nop 80b1f14: bd80 pop {r7, pc} 80b1f16: bf00 nop 80b1f18: 20068710 .word 0x20068710 080b1f1c : /** * @brief This function handles USB On The Go HS global interrupt. */ void OTG_HS_IRQHandler(void) { 80b1f1c: b580 push {r7, lr} 80b1f1e: 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); 80b1f20: 4802 ldr r0, [pc, #8] ; (80b1f2c ) 80b1f22: f008 f983 bl 80ba22c /* USER CODE BEGIN OTG_HS_IRQn 1 */ /* USER CODE END OTG_HS_IRQn 1 */ } 80b1f26: bf00 nop 80b1f28: bd80 pop {r7, pc} 80b1f2a: bf00 nop 80b1f2c: 20069270 .word 0x20069270 080b1f30 : /** * @brief This function handles LTDC global interrupt. */ void LTDC_IRQHandler(void) { 80b1f30: b580 push {r7, lr} 80b1f32: af00 add r7, sp, #0 /* USER CODE BEGIN LTDC_IRQn 0 */ /* USER CODE END LTDC_IRQn 0 */ HAL_LTDC_IRQHandler(&hLtdcHandler); 80b1f34: 4802 ldr r0, [pc, #8] ; (80b1f40 ) 80b1f36: f007 fd33 bl 80b99a0 /* USER CODE BEGIN LTDC_IRQn 1 */ /* USER CODE END LTDC_IRQn 1 */ } 80b1f3a: bf00 nop 80b1f3c: bd80 pop {r7, pc} 80b1f3e: bf00 nop 80b1f40: 20025d70 .word 0x20025d70 080b1f44 : /** * @brief This function handles LTDC global error interrupt. */ void LTDC_ER_IRQHandler(void) { 80b1f44: b580 push {r7, lr} 80b1f46: af00 add r7, sp, #0 /* USER CODE BEGIN LTDC_ER_IRQn 0 */ /* USER CODE END LTDC_ER_IRQn 0 */ HAL_LTDC_IRQHandler(&hLtdcHandler); 80b1f48: 4802 ldr r0, [pc, #8] ; (80b1f54 ) 80b1f4a: f007 fd29 bl 80b99a0 /* USER CODE BEGIN LTDC_ER_IRQn 1 */ /* USER CODE END LTDC_ER_IRQn 1 */ } 80b1f4e: bf00 nop 80b1f50: bd80 pop {r7, pc} 80b1f52: bf00 nop 80b1f54: 20025d70 .word 0x20025d70 080b1f58 <_read>: _kill(status, -1); while (1) {} /* Make sure we hang here */ } __attribute__((weak)) int _read(int file, char *ptr, int len) { 80b1f58: b590 push {r4, r7, lr} 80b1f5a: b087 sub sp, #28 80b1f5c: af00 add r7, sp, #0 80b1f5e: 60f8 str r0, [r7, #12] 80b1f60: 60b9 str r1, [r7, #8] 80b1f62: 607a str r2, [r7, #4] int DataIdx; for (DataIdx = 0; DataIdx < len; DataIdx++) 80b1f64: 2300 movs r3, #0 80b1f66: 617b str r3, [r7, #20] 80b1f68: e00a b.n 80b1f80 <_read+0x28> { *ptr++ = __io_getchar(); 80b1f6a: 68bc ldr r4, [r7, #8] 80b1f6c: 1c63 adds r3, r4, #1 80b1f6e: 60bb str r3, [r7, #8] 80b1f70: f3af 8000 nop.w 80b1f74: 4603 mov r3, r0 80b1f76: b2db uxtb r3, r3 80b1f78: 7023 strb r3, [r4, #0] for (DataIdx = 0; DataIdx < len; DataIdx++) 80b1f7a: 697b ldr r3, [r7, #20] 80b1f7c: 3301 adds r3, #1 80b1f7e: 617b str r3, [r7, #20] 80b1f80: 697a ldr r2, [r7, #20] 80b1f82: 687b ldr r3, [r7, #4] 80b1f84: 429a cmp r2, r3 80b1f86: dbf0 blt.n 80b1f6a <_read+0x12> } return len; 80b1f88: 687b ldr r3, [r7, #4] } 80b1f8a: 4618 mov r0, r3 80b1f8c: 371c adds r7, #28 80b1f8e: 46bd mov sp, r7 80b1f90: bd90 pop {r4, r7, pc} 080b1f92 <_write>: __attribute__((weak)) int _write(int file, char *ptr, int len) { 80b1f92: b580 push {r7, lr} 80b1f94: b086 sub sp, #24 80b1f96: af00 add r7, sp, #0 80b1f98: 60f8 str r0, [r7, #12] 80b1f9a: 60b9 str r1, [r7, #8] 80b1f9c: 607a str r2, [r7, #4] int DataIdx; for (DataIdx = 0; DataIdx < len; DataIdx++) 80b1f9e: 2300 movs r3, #0 80b1fa0: 617b str r3, [r7, #20] 80b1fa2: e009 b.n 80b1fb8 <_write+0x26> { __io_putchar(*ptr++); 80b1fa4: 68bb ldr r3, [r7, #8] 80b1fa6: 1c5a adds r2, r3, #1 80b1fa8: 60ba str r2, [r7, #8] 80b1faa: 781b ldrb r3, [r3, #0] 80b1fac: 4618 mov r0, r3 80b1fae: f3af 8000 nop.w for (DataIdx = 0; DataIdx < len; DataIdx++) 80b1fb2: 697b ldr r3, [r7, #20] 80b1fb4: 3301 adds r3, #1 80b1fb6: 617b str r3, [r7, #20] 80b1fb8: 697a ldr r2, [r7, #20] 80b1fba: 687b ldr r3, [r7, #4] 80b1fbc: 429a cmp r2, r3 80b1fbe: dbf1 blt.n 80b1fa4 <_write+0x12> } return len; 80b1fc0: 687b ldr r3, [r7, #4] } 80b1fc2: 4618 mov r0, r3 80b1fc4: 3718 adds r7, #24 80b1fc6: 46bd mov sp, r7 80b1fc8: bd80 pop {r7, pc} ... 080b1fcc <_sbrk>: caddr_t _sbrk(int incr) { 80b1fcc: b580 push {r7, lr} 80b1fce: b084 sub sp, #16 80b1fd0: af00 add r7, sp, #0 80b1fd2: 6078 str r0, [r7, #4] extern char end asm("end"); static char *heap_end; char *prev_heap_end; if (heap_end == 0) 80b1fd4: 4b11 ldr r3, [pc, #68] ; (80b201c <_sbrk+0x50>) 80b1fd6: 681b ldr r3, [r3, #0] 80b1fd8: 2b00 cmp r3, #0 80b1fda: d102 bne.n 80b1fe2 <_sbrk+0x16> heap_end = &end; 80b1fdc: 4b0f ldr r3, [pc, #60] ; (80b201c <_sbrk+0x50>) 80b1fde: 4a10 ldr r2, [pc, #64] ; (80b2020 <_sbrk+0x54>) 80b1fe0: 601a str r2, [r3, #0] prev_heap_end = heap_end; 80b1fe2: 4b0e ldr r3, [pc, #56] ; (80b201c <_sbrk+0x50>) 80b1fe4: 681b ldr r3, [r3, #0] 80b1fe6: 60fb str r3, [r7, #12] if (heap_end + incr > stack_ptr) 80b1fe8: 4b0c ldr r3, [pc, #48] ; (80b201c <_sbrk+0x50>) 80b1fea: 681a ldr r2, [r3, #0] 80b1fec: 687b ldr r3, [r7, #4] 80b1fee: 4413 add r3, r2 80b1ff0: 466a mov r2, sp 80b1ff2: 4293 cmp r3, r2 80b1ff4: d907 bls.n 80b2006 <_sbrk+0x3a> { // write(1, "Heap and stack collision\n", 25); // abort(); errno = ENOMEM; 80b1ff6: f01f f965 bl 80d12c4 <__errno> 80b1ffa: 4602 mov r2, r0 80b1ffc: 230c movs r3, #12 80b1ffe: 6013 str r3, [r2, #0] return (caddr_t) -1; 80b2000: f04f 33ff mov.w r3, #4294967295 80b2004: e006 b.n 80b2014 <_sbrk+0x48> } heap_end += incr; 80b2006: 4b05 ldr r3, [pc, #20] ; (80b201c <_sbrk+0x50>) 80b2008: 681a ldr r2, [r3, #0] 80b200a: 687b ldr r3, [r7, #4] 80b200c: 4413 add r3, r2 80b200e: 4a03 ldr r2, [pc, #12] ; (80b201c <_sbrk+0x50>) 80b2010: 6013 str r3, [r2, #0] return (caddr_t) prev_heap_end; 80b2012: 68fb ldr r3, [r7, #12] } 80b2014: 4618 mov r0, r3 80b2016: 3710 adds r7, #16 80b2018: 46bd mov sp, r7 80b201a: bd80 pop {r7, pc} 80b201c: 200216c8 .word 0x200216c8 80b2020: 20069678 .word 0x20069678 080b2024 <_close>: int _close(int file) { 80b2024: b480 push {r7} 80b2026: b083 sub sp, #12 80b2028: af00 add r7, sp, #0 80b202a: 6078 str r0, [r7, #4] return -1; 80b202c: f04f 33ff mov.w r3, #4294967295 } 80b2030: 4618 mov r0, r3 80b2032: 370c adds r7, #12 80b2034: 46bd mov sp, r7 80b2036: f85d 7b04 ldr.w r7, [sp], #4 80b203a: 4770 bx lr 080b203c <_fstat>: int _fstat(int file, struct stat *st) { 80b203c: b480 push {r7} 80b203e: b083 sub sp, #12 80b2040: af00 add r7, sp, #0 80b2042: 6078 str r0, [r7, #4] 80b2044: 6039 str r1, [r7, #0] st->st_mode = S_IFCHR; 80b2046: 683b ldr r3, [r7, #0] 80b2048: f44f 5200 mov.w r2, #8192 ; 0x2000 80b204c: 605a str r2, [r3, #4] return 0; 80b204e: 2300 movs r3, #0 } 80b2050: 4618 mov r0, r3 80b2052: 370c adds r7, #12 80b2054: 46bd mov sp, r7 80b2056: f85d 7b04 ldr.w r7, [sp], #4 80b205a: 4770 bx lr 080b205c <_isatty>: int _isatty(int file) { 80b205c: b480 push {r7} 80b205e: b083 sub sp, #12 80b2060: af00 add r7, sp, #0 80b2062: 6078 str r0, [r7, #4] return 1; 80b2064: 2301 movs r3, #1 } 80b2066: 4618 mov r0, r3 80b2068: 370c adds r7, #12 80b206a: 46bd mov sp, r7 80b206c: f85d 7b04 ldr.w r7, [sp], #4 80b2070: 4770 bx lr 080b2072 <_lseek>: int _lseek(int file, int ptr, int dir) { 80b2072: b480 push {r7} 80b2074: b085 sub sp, #20 80b2076: af00 add r7, sp, #0 80b2078: 60f8 str r0, [r7, #12] 80b207a: 60b9 str r1, [r7, #8] 80b207c: 607a str r2, [r7, #4] return 0; 80b207e: 2300 movs r3, #0 } 80b2080: 4618 mov r0, r3 80b2082: 3714 adds r7, #20 80b2084: 46bd mov sp, r7 80b2086: f85d 7b04 ldr.w r7, [sp], #4 80b208a: 4770 bx lr 080b208c : * SystemFrequency variable. * @param None * @retval None */ void SystemInit(void) { 80b208c: b480 push {r7} 80b208e: 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 */ 80b2090: 4a06 ldr r2, [pc, #24] ; (80b20ac ) 80b2092: 4b06 ldr r3, [pc, #24] ; (80b20ac ) 80b2094: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b2098: f443 0370 orr.w r3, r3, #15728640 ; 0xf00000 80b209c: 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 */ } 80b20a0: bf00 nop 80b20a2: 46bd mov sp, r7 80b20a4: f85d 7b04 ldr.w r7, [sp], #4 80b20a8: 4770 bx lr 80b20aa: bf00 nop 80b20ac: e000ed00 .word 0xe000ed00 080b20b0 : __IO uint32_t CNT_MEAN = 0; /* TIM5 init function */ void MX_TIM1_Init(void) { 80b20b0: b580 push {r7, lr} 80b20b2: b088 sub sp, #32 80b20b4: af00 add r7, sp, #0 TIM_ClockConfigTypeDef sClockSourceConfig; TIM_MasterConfigTypeDef sMasterConfig; htim1.Instance = TIM1; 80b20b6: 4b1f ldr r3, [pc, #124] ; (80b2134 ) 80b20b8: 4a1f ldr r2, [pc, #124] ; (80b2138 ) 80b20ba: 601a str r2, [r3, #0] htim1.Init.Prescaler = 0; // (96000000Hz / 10000) = 9600Hz 80b20bc: 4b1d ldr r3, [pc, #116] ; (80b2134 ) 80b20be: 2200 movs r2, #0 80b20c0: 605a str r2, [r3, #4] htim1.Init.CounterMode = TIM_COUNTERMODE_UP; 80b20c2: 4b1c ldr r3, [pc, #112] ; (80b2134 ) 80b20c4: 2200 movs r2, #0 80b20c6: 609a str r2, [r3, #8] htim1.Init.Period = (10800 - 1); // (216000000 / 10800) ~20kHz 80b20c8: 4b1a ldr r3, [pc, #104] ; (80b2134 ) 80b20ca: f642 222f movw r2, #10799 ; 0x2a2f 80b20ce: 60da str r2, [r3, #12] htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 80b20d0: 4b18 ldr r3, [pc, #96] ; (80b2134 ) 80b20d2: 2200 movs r2, #0 80b20d4: 611a str r2, [r3, #16] htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 80b20d6: 4b17 ldr r3, [pc, #92] ; (80b2134 ) 80b20d8: 2200 movs r2, #0 80b20da: 619a str r2, [r3, #24] if(HAL_TIM_Base_Init(&htim1) != HAL_OK) { 80b20dc: 4815 ldr r0, [pc, #84] ; (80b2134 ) 80b20de: f00d ff3f bl 80bff60 80b20e2: 4603 mov r3, r0 80b20e4: 2b00 cmp r3, #0 80b20e6: d001 beq.n 80b20ec Error_Handler(); 80b20e8: f7a3 fde2 bl 8055cb0 } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; 80b20ec: f44f 5380 mov.w r3, #4096 ; 0x1000 80b20f0: 613b str r3, [r7, #16] if(HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) { 80b20f2: f107 0310 add.w r3, r7, #16 80b20f6: 4619 mov r1, r3 80b20f8: 480e ldr r0, [pc, #56] ; (80b2134 ) 80b20fa: f00e f9df bl 80c04bc 80b20fe: 4603 mov r3, r0 80b2100: 2b00 cmp r3, #0 80b2102: d001 beq.n 80b2108 Error_Handler(); 80b2104: f7a3 fdd4 bl 8055cb0 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; 80b2108: 2320 movs r3, #32 80b210a: 607b str r3, [r7, #4] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; 80b210c: 2380 movs r3, #128 ; 0x80 80b210e: 60fb str r3, [r7, #12] sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_UPDATE; 80b2110: f44f 1300 mov.w r3, #2097152 ; 0x200000 80b2114: 60bb str r3, [r7, #8] if(HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) { 80b2116: 1d3b adds r3, r7, #4 80b2118: 4619 mov r1, r3 80b211a: 4806 ldr r0, [pc, #24] ; (80b2134 ) 80b211c: f00e fbee bl 80c08fc 80b2120: 4603 mov r3, r0 80b2122: 2b00 cmp r3, #0 80b2124: d001 beq.n 80b212a Error_Handler(); 80b2126: f7a3 fdc3 bl 8055cb0 } } 80b212a: bf00 nop 80b212c: 3720 adds r7, #32 80b212e: 46bd mov sp, r7 80b2130: bd80 pop {r7, pc} 80b2132: bf00 nop 80b2134: 20068980 .word 0x20068980 80b2138: 40010000 .word 0x40010000 080b213c : /* TIM5 init function */ void MX_TIM5_Init(void) { 80b213c: b580 push {r7, lr} 80b213e: b088 sub sp, #32 80b2140: af00 add r7, sp, #0 TIM_ClockConfigTypeDef sClockSourceConfig; TIM_MasterConfigTypeDef sMasterConfig; htim5.Instance = TIM5; 80b2142: 4b1f ldr r3, [pc, #124] ; (80b21c0 ) 80b2144: 4a1f ldr r2, [pc, #124] ; (80b21c4 ) 80b2146: 601a str r2, [r3, #0] htim5.Init.Prescaler = 0; // (96000000Hz / 10000) = 9600Hz 80b2148: 4b1d ldr r3, [pc, #116] ; (80b21c0 ) 80b214a: 2200 movs r2, #0 80b214c: 605a str r2, [r3, #4] htim5.Init.CounterMode = TIM_COUNTERMODE_UP; 80b214e: 4b1c ldr r3, [pc, #112] ; (80b21c0 ) 80b2150: 2200 movs r2, #0 80b2152: 609a str r2, [r3, #8] htim5.Init.Period = (432 - 1); // (96000000Hz / 240) ~400kHz 80b2154: 4b1a ldr r3, [pc, #104] ; (80b21c0 ) 80b2156: f240 12af movw r2, #431 ; 0x1af 80b215a: 60da str r2, [r3, #12] htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 80b215c: 4b18 ldr r3, [pc, #96] ; (80b21c0 ) 80b215e: 2200 movs r2, #0 80b2160: 611a str r2, [r3, #16] htim5.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 80b2162: 4b17 ldr r3, [pc, #92] ; (80b21c0 ) 80b2164: 2200 movs r2, #0 80b2166: 619a str r2, [r3, #24] if(HAL_TIM_Base_Init(&htim5) != HAL_OK) { 80b2168: 4815 ldr r0, [pc, #84] ; (80b21c0 ) 80b216a: f00d fef9 bl 80bff60 80b216e: 4603 mov r3, r0 80b2170: 2b00 cmp r3, #0 80b2172: d001 beq.n 80b2178 Error_Handler(); 80b2174: f7a3 fd9c bl 8055cb0 } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; 80b2178: f44f 5380 mov.w r3, #4096 ; 0x1000 80b217c: 613b str r3, [r7, #16] if(HAL_TIM_ConfigClockSource(&htim5, &sClockSourceConfig) != HAL_OK) { 80b217e: f107 0310 add.w r3, r7, #16 80b2182: 4619 mov r1, r3 80b2184: 480e ldr r0, [pc, #56] ; (80b21c0 ) 80b2186: f00e f999 bl 80c04bc 80b218a: 4603 mov r3, r0 80b218c: 2b00 cmp r3, #0 80b218e: d001 beq.n 80b2194 Error_Handler(); 80b2190: f7a3 fd8e bl 8055cb0 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; 80b2194: 2320 movs r3, #32 80b2196: 607b str r3, [r7, #4] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; 80b2198: 2380 movs r3, #128 ; 0x80 80b219a: 60fb str r3, [r7, #12] sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_UPDATE; 80b219c: f44f 1300 mov.w r3, #2097152 ; 0x200000 80b21a0: 60bb str r3, [r7, #8] if(HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK) { 80b21a2: 1d3b adds r3, r7, #4 80b21a4: 4619 mov r1, r3 80b21a6: 4806 ldr r0, [pc, #24] ; (80b21c0 ) 80b21a8: f00e fba8 bl 80c08fc 80b21ac: 4603 mov r3, r0 80b21ae: 2b00 cmp r3, #0 80b21b0: d001 beq.n 80b21b6 Error_Handler(); 80b21b2: f7a3 fd7d bl 8055cb0 } } 80b21b6: bf00 nop 80b21b8: 3720 adds r7, #32 80b21ba: 46bd mov sp, r7 80b21bc: bd80 pop {r7, pc} 80b21be: bf00 nop 80b21c0: 200688e4 .word 0x200688e4 80b21c4: 40000c00 .word 0x40000c00 080b21c8 : /* TIM7 init function */ void MX_TIM7_Init(void) { 80b21c8: b580 push {r7, lr} 80b21ca: b084 sub sp, #16 80b21cc: af00 add r7, sp, #0 TIM_MasterConfigTypeDef sMasterConfig; htim7.Instance = TIM7; 80b21ce: 4b16 ldr r3, [pc, #88] ; (80b2228 ) 80b21d0: 4a16 ldr r2, [pc, #88] ; (80b222c ) 80b21d2: 601a str r2, [r3, #0] htim7.Init.Prescaler = 0; /*79;*/ 80b21d4: 4b14 ldr r3, [pc, #80] ; (80b2228 ) 80b21d6: 2200 movs r2, #0 80b21d8: 605a str r2, [r3, #4] htim7.Init.CounterMode = TIM_COUNTERMODE_UP; 80b21da: 4b13 ldr r3, [pc, #76] ; (80b2228 ) 80b21dc: 2200 movs r2, #0 80b21de: 609a str r2, [r3, #8] htim7.Init.Period = (52735 - 1); /*659;*/ 80b21e0: 4b11 ldr r3, [pc, #68] ; (80b2228 ) 80b21e2: f64c 52fe movw r2, #52734 ; 0xcdfe 80b21e6: 60da str r2, [r3, #12] htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 80b21e8: 4b0f ldr r3, [pc, #60] ; (80b2228 ) 80b21ea: 2200 movs r2, #0 80b21ec: 619a str r2, [r3, #24] if(HAL_TIM_Base_Init(&htim7) != HAL_OK) { 80b21ee: 480e ldr r0, [pc, #56] ; (80b2228 ) 80b21f0: f00d feb6 bl 80bff60 80b21f4: 4603 mov r3, r0 80b21f6: 2b00 cmp r3, #0 80b21f8: d001 beq.n 80b21fe Error_Handler(); 80b21fa: f7a3 fd59 bl 8055cb0 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; 80b21fe: 2300 movs r3, #0 80b2200: 607b str r3, [r7, #4] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; 80b2202: 2300 movs r3, #0 80b2204: 60fb str r3, [r7, #12] if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK) { 80b2206: 1d3b adds r3, r7, #4 80b2208: 4619 mov r1, r3 80b220a: 4807 ldr r0, [pc, #28] ; (80b2228 ) 80b220c: f00e fb76 bl 80c08fc 80b2210: 4603 mov r3, r0 80b2212: 2b00 cmp r3, #0 80b2214: d001 beq.n 80b221a Error_Handler(); 80b2216: f7a3 fd4b bl 8055cb0 } HAL_TIM_Base_Start_IT(&htim7); 80b221a: 4803 ldr r0, [pc, #12] ; (80b2228 ) 80b221c: f00d ff90 bl 80c0140 } 80b2220: bf00 nop 80b2222: 3710 adds r7, #16 80b2224: 46bd mov sp, r7 80b2226: bd80 pop {r7, pc} 80b2228: 20068a18 .word 0x20068a18 80b222c: 40001400 .word 0x40001400 080b2230 : void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) { 80b2230: b580 push {r7, lr} 80b2232: b086 sub sp, #24 80b2234: af00 add r7, sp, #0 80b2236: 6078 str r0, [r7, #4] if(tim_baseHandle->Instance == TIM1) 80b2238: 687b ldr r3, [r7, #4] 80b223a: 681b ldr r3, [r3, #0] 80b223c: 4a1f ldr r2, [pc, #124] ; (80b22bc ) 80b223e: 4293 cmp r3, r2 80b2240: d10c bne.n 80b225c { __HAL_RCC_TIM1_CLK_ENABLE(); 80b2242: 4a1f ldr r2, [pc, #124] ; (80b22c0 ) 80b2244: 4b1e ldr r3, [pc, #120] ; (80b22c0 ) 80b2246: 6c5b ldr r3, [r3, #68] ; 0x44 80b2248: f043 0301 orr.w r3, r3, #1 80b224c: 6453 str r3, [r2, #68] ; 0x44 80b224e: 4b1c ldr r3, [pc, #112] ; (80b22c0 ) 80b2250: 6c5b ldr r3, [r3, #68] ; 0x44 80b2252: f003 0301 and.w r3, r3, #1 80b2256: 617b str r3, [r7, #20] 80b2258: 697b ldr r3, [r7, #20] { __HAL_RCC_TIM7_CLK_ENABLE(); HAL_NVIC_SetPriority(TIM7_IRQn, 3, 0); HAL_NVIC_EnableIRQ(TIM7_IRQn); } } 80b225a: e02a b.n 80b22b2 if(tim_baseHandle->Instance == TIM5) 80b225c: 687b ldr r3, [r7, #4] 80b225e: 681b ldr r3, [r3, #0] 80b2260: 4a18 ldr r2, [pc, #96] ; (80b22c4 ) 80b2262: 4293 cmp r3, r2 80b2264: d10c bne.n 80b2280 __HAL_RCC_TIM5_CLK_ENABLE(); 80b2266: 4a16 ldr r2, [pc, #88] ; (80b22c0 ) 80b2268: 4b15 ldr r3, [pc, #84] ; (80b22c0 ) 80b226a: 6c1b ldr r3, [r3, #64] ; 0x40 80b226c: f043 0308 orr.w r3, r3, #8 80b2270: 6413 str r3, [r2, #64] ; 0x40 80b2272: 4b13 ldr r3, [pc, #76] ; (80b22c0 ) 80b2274: 6c1b ldr r3, [r3, #64] ; 0x40 80b2276: f003 0308 and.w r3, r3, #8 80b227a: 613b str r3, [r7, #16] 80b227c: 693b ldr r3, [r7, #16] } 80b227e: e018 b.n 80b22b2 if(tim_baseHandle->Instance == TIM7) 80b2280: 687b ldr r3, [r7, #4] 80b2282: 681b ldr r3, [r3, #0] 80b2284: 4a10 ldr r2, [pc, #64] ; (80b22c8 ) 80b2286: 4293 cmp r3, r2 80b2288: d113 bne.n 80b22b2 __HAL_RCC_TIM7_CLK_ENABLE(); 80b228a: 4a0d ldr r2, [pc, #52] ; (80b22c0 ) 80b228c: 4b0c ldr r3, [pc, #48] ; (80b22c0 ) 80b228e: 6c1b ldr r3, [r3, #64] ; 0x40 80b2290: f043 0320 orr.w r3, r3, #32 80b2294: 6413 str r3, [r2, #64] ; 0x40 80b2296: 4b0a ldr r3, [pc, #40] ; (80b22c0 ) 80b2298: 6c1b ldr r3, [r3, #64] ; 0x40 80b229a: f003 0320 and.w r3, r3, #32 80b229e: 60fb str r3, [r7, #12] 80b22a0: 68fb ldr r3, [r7, #12] HAL_NVIC_SetPriority(TIM7_IRQn, 3, 0); 80b22a2: 2200 movs r2, #0 80b22a4: 2103 movs r1, #3 80b22a6: 2037 movs r0, #55 ; 0x37 80b22a8: f005 fd13 bl 80b7cd2 HAL_NVIC_EnableIRQ(TIM7_IRQn); 80b22ac: 2037 movs r0, #55 ; 0x37 80b22ae: f005 fd2c bl 80b7d0a } 80b22b2: bf00 nop 80b22b4: 3718 adds r7, #24 80b22b6: 46bd mov sp, r7 80b22b8: bd80 pop {r7, pc} 80b22ba: bf00 nop 80b22bc: 40010000 .word 0x40010000 80b22c0: 40023800 .word 0x40023800 80b22c4: 40000c00 .word 0x40000c00 80b22c8: 40001400 .word 0x40001400 080b22cc : __IO uint32_t maxtime = 0; /* USER CODE BEGIN 1 */ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { 80b22cc: b580 push {r7, lr} 80b22ce: b084 sub sp, #16 80b22d0: af00 add r7, sp, #0 80b22d2: 6078 str r0, [r7, #4] __IO uint16_t Data32, i; switch((uint32_t) htim->Instance) 80b22d4: 687b ldr r3, [r7, #4] 80b22d6: 681b ldr r3, [r3, #0] 80b22d8: 461a mov r2, r3 80b22da: 4b8c ldr r3, [pc, #560] ; (80b250c ) 80b22dc: 429a cmp r2, r3 80b22de: d000 beq.n 80b22e2 if(TIMEOUT_BAT) TIMEOUT_BAT--; break; } } 80b22e0: e1c8 b.n 80b2674 __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE); 80b22e2: 687b ldr r3, [r7, #4] 80b22e4: 681b ldr r3, [r3, #0] 80b22e6: f06f 0201 mvn.w r2, #1 80b22ea: 611a str r2, [r3, #16] if(timerKeys) 80b22ec: 4b88 ldr r3, [pc, #544] ; (80b2510 ) 80b22ee: 881b ldrh r3, [r3, #0] 80b22f0: b29b uxth r3, r3 80b22f2: 2b00 cmp r3, #0 80b22f4: d007 beq.n 80b2306 timerKeys--; 80b22f6: 4b86 ldr r3, [pc, #536] ; (80b2510 ) 80b22f8: 881b ldrh r3, [r3, #0] 80b22fa: b29b uxth r3, r3 80b22fc: 3b01 subs r3, #1 80b22fe: b29a uxth r2, r3 80b2300: 4b83 ldr r3, [pc, #524] ; (80b2510 ) 80b2302: 801a strh r2, [r3, #0] 80b2304: e060 b.n 80b23c8 timerKeys = 2; 80b2306: 4b82 ldr r3, [pc, #520] ; (80b2510 ) 80b2308: 2202 movs r2, #2 80b230a: 801a strh r2, [r3, #0] if(LinkPC == 0) 80b230c: 4b81 ldr r3, [pc, #516] ; (80b2514 ) 80b230e: 781b ldrb r3, [r3, #0] 80b2310: b2db uxtb r3, r3 80b2312: 2b00 cmp r3, #0 80b2314: d155 bne.n 80b23c2 if(!KEY_STATE) 80b2316: 4b80 ldr r3, [pc, #512] ; (80b2518 ) 80b2318: 681b ldr r3, [r3, #0] 80b231a: 2b00 cmp r3, #0 80b231c: d141 bne.n 80b23a2 KEY_STATE = kbhit(); 80b231e: f782 ff5f bl 80351e0 80b2322: 4602 mov r2, r0 80b2324: 4b7c ldr r3, [pc, #496] ; (80b2518 ) 80b2326: 601a str r2, [r3, #0] if(KEY_STATE == KEY_PW) 80b2328: 4b7b ldr r3, [pc, #492] ; (80b2518 ) 80b232a: 681b ldr r3, [r3, #0] 80b232c: 2b01 cmp r3, #1 80b232e: d14b bne.n 80b23c8 if(USBConnected == false) 80b2330: 4b7a ldr r3, [pc, #488] ; (80b251c ) 80b2332: 781b ldrb r3, [r3, #0] 80b2334: b2db uxtb r3, r3 80b2336: f083 0301 eor.w r3, r3, #1 80b233a: b2db uxtb r3, r3 80b233c: 2b00 cmp r3, #0 80b233e: d002 beq.n 80b2346 Off(); 80b2340: f771 fab0 bl 80238a4 80b2344: e029 b.n 80b239a if(ChargerIsConnect == true) 80b2346: 4b76 ldr r3, [pc, #472] ; (80b2520 ) 80b2348: 781b ldrb r3, [r3, #0] 80b234a: b2db uxtb r3, r3 80b234c: 2b00 cmp r3, #0 80b234e: d024 beq.n 80b239a if(menu == POWER_OFF2) 80b2350: 4b74 ldr r3, [pc, #464] ; (80b2524 ) 80b2352: 781b ldrb r3, [r3, #0] 80b2354: b2db uxtb r3, r3 80b2356: 2b44 cmp r3, #68 ; 0x44 80b2358: d10a bne.n 80b2370 menu = POWER_OFF; 80b235a: 4b72 ldr r3, [pc, #456] ; (80b2524 ) 80b235c: 2243 movs r2, #67 ; 0x43 80b235e: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80b2360: 4b71 ldr r3, [pc, #452] ; (80b2528 ) 80b2362: f44f 42a0 mov.w r2, #20480 ; 0x5000 80b2366: 601a str r2, [r3, #0] needDispOn = true; 80b2368: 4b70 ldr r3, [pc, #448] ; (80b252c ) 80b236a: 2201 movs r2, #1 80b236c: 701a strb r2, [r3, #0] 80b236e: e014 b.n 80b239a if(menu == POWER_OFF) 80b2370: 4b6c ldr r3, [pc, #432] ; (80b2524 ) 80b2372: 781b ldrb r3, [r3, #0] 80b2374: b2db uxtb r3, r3 80b2376: 2b43 cmp r3, #67 ; 0x43 80b2378: d106 bne.n 80b2388 menu = OPTIONS; 80b237a: 4b6a ldr r3, [pc, #424] ; (80b2524 ) 80b237c: 2201 movs r2, #1 80b237e: 701a strb r2, [r3, #0] menupos = Mode; 80b2380: 4b6b ldr r3, [pc, #428] ; (80b2530 ) 80b2382: 2201 movs r2, #1 80b2384: 701a strb r2, [r3, #0] 80b2386: e008 b.n 80b239a StopMeas(); 80b2388: f771 fa08 bl 802379c menu = POWER_OFF; 80b238c: 4b65 ldr r3, [pc, #404] ; (80b2524 ) 80b238e: 2243 movs r2, #67 ; 0x43 80b2390: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80b2392: 4b65 ldr r3, [pc, #404] ; (80b2528 ) 80b2394: f44f 42a0 mov.w r2, #20480 ; 0x5000 80b2398: 601a str r2, [r3, #0] KEY_STATE = 0; 80b239a: 4b5f ldr r3, [pc, #380] ; (80b2518 ) 80b239c: 2200 movs r2, #0 80b239e: 601a str r2, [r3, #0] 80b23a0: e012 b.n 80b23c8 if(kbhit() == KEY_PW) 80b23a2: f782 ff1d bl 80351e0 80b23a6: 4603 mov r3, r0 80b23a8: 2b01 cmp r3, #1 80b23aa: d10d bne.n 80b23c8 if(USBConnected == false) 80b23ac: 4b5b ldr r3, [pc, #364] ; (80b251c ) 80b23ae: 781b ldrb r3, [r3, #0] 80b23b0: b2db uxtb r3, r3 80b23b2: f083 0301 eor.w r3, r3, #1 80b23b6: b2db uxtb r3, r3 80b23b8: 2b00 cmp r3, #0 80b23ba: d005 beq.n 80b23c8 Off(); 80b23bc: f771 fa72 bl 80238a4 80b23c0: e002 b.n 80b23c8 KEY_STATE = 0; 80b23c2: 4b55 ldr r3, [pc, #340] ; (80b2518 ) 80b23c4: 2200 movs r2, #0 80b23c6: 601a str r2, [r3, #0] if(timerRefreshScreen) 80b23c8: 4b5a ldr r3, [pc, #360] ; (80b2534 ) 80b23ca: 881b ldrh r3, [r3, #0] 80b23cc: b29b uxth r3, r3 80b23ce: 2b00 cmp r3, #0 80b23d0: d007 beq.n 80b23e2 timerRefreshScreen--; 80b23d2: 4b58 ldr r3, [pc, #352] ; (80b2534 ) 80b23d4: 881b ldrh r3, [r3, #0] 80b23d6: b29b uxth r3, r3 80b23d8: 3b01 subs r3, #1 80b23da: b29a uxth r2, r3 80b23dc: 4b55 ldr r3, [pc, #340] ; (80b2534 ) 80b23de: 801a strh r2, [r3, #0] 80b23e0: e05e b.n 80b24a0 if(pardata.SYG == UDAR) 80b23e2: 4b55 ldr r3, [pc, #340] ; (80b2538 ) 80b23e4: 781b ldrb r3, [r3, #0] 80b23e6: b2db uxtb r3, r3 80b23e8: 2b09 cmp r3, #9 80b23ea: d12a bne.n 80b2442 if(measuring) 80b23ec: 4b53 ldr r3, [pc, #332] ; (80b253c ) 80b23ee: 781b ldrb r3, [r3, #0] 80b23f0: b2db uxtb r3, r3 80b23f2: 2b00 cmp r3, #0 80b23f4: d01b beq.n 80b242e if((Stability > (Nr * 4)) && (!timeRelax)) 80b23f6: 4b52 ldr r3, [pc, #328] ; (80b2540 ) 80b23f8: 881b ldrh r3, [r3, #0] 80b23fa: b29b uxth r3, r3 80b23fc: 009b lsls r3, r3, #2 80b23fe: 461a mov r2, r3 80b2400: 4b50 ldr r3, [pc, #320] ; (80b2544 ) 80b2402: 681b ldr r3, [r3, #0] 80b2404: 429a cmp r2, r3 80b2406: d208 bcs.n 80b241a 80b2408: 4b4f ldr r3, [pc, #316] ; (80b2548 ) 80b240a: 681b ldr r3, [r3, #0] 80b240c: 2b00 cmp r3, #0 80b240e: d104 bne.n 80b241a timerRefreshScreen = 680; //340; //todo 80b2410: 4b48 ldr r3, [pc, #288] ; (80b2534 ) 80b2412: f44f 722a mov.w r2, #680 ; 0x2a8 80b2416: 801a strh r2, [r3, #0] 80b2418: e01c b.n 80b2454 else timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80b241a: 4b3e ldr r3, [pc, #248] ; (80b2514 ) 80b241c: 781b ldrb r3, [r3, #0] 80b241e: b2db uxtb r3, r3 80b2420: 461a mov r2, r3 80b2422: 4b4a ldr r3, [pc, #296] ; (80b254c ) 80b2424: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80b2428: 4b42 ldr r3, [pc, #264] ; (80b2534 ) 80b242a: 801a strh r2, [r3, #0] 80b242c: e012 b.n 80b2454 timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80b242e: 4b39 ldr r3, [pc, #228] ; (80b2514 ) 80b2430: 781b ldrb r3, [r3, #0] 80b2432: b2db uxtb r3, r3 80b2434: 461a mov r2, r3 80b2436: 4b45 ldr r3, [pc, #276] ; (80b254c ) 80b2438: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80b243c: 4b3d ldr r3, [pc, #244] ; (80b2534 ) 80b243e: 801a strh r2, [r3, #0] 80b2440: e008 b.n 80b2454 timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80b2442: 4b34 ldr r3, [pc, #208] ; (80b2514 ) 80b2444: 781b ldrb r3, [r3, #0] 80b2446: b2db uxtb r3, r3 80b2448: 461a mov r2, r3 80b244a: 4b40 ldr r3, [pc, #256] ; (80b254c ) 80b244c: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80b2450: 4b38 ldr r3, [pc, #224] ; (80b2534 ) 80b2452: 801a strh r2, [r3, #0] Cursorblink ^= 1; 80b2454: 4b3e ldr r3, [pc, #248] ; (80b2550 ) 80b2456: 781b ldrb r3, [r3, #0] 80b2458: b2db uxtb r3, r3 80b245a: f083 0301 eor.w r3, r3, #1 80b245e: b2da uxtb r2, r3 80b2460: 4b3b ldr r3, [pc, #236] ; (80b2550 ) 80b2462: 701a strb r2, [r3, #0] if(cntblink) 80b2464: 4b3b ldr r3, [pc, #236] ; (80b2554 ) 80b2466: 881b ldrh r3, [r3, #0] 80b2468: b29b uxth r3, r3 80b246a: 2b00 cmp r3, #0 80b246c: d007 beq.n 80b247e cntblink--; 80b246e: 4b39 ldr r3, [pc, #228] ; (80b2554 ) 80b2470: 881b ldrh r3, [r3, #0] 80b2472: b29b uxth r3, r3 80b2474: 3b01 subs r3, #1 80b2476: b29a uxth r2, r3 80b2478: 4b36 ldr r3, [pc, #216] ; (80b2554 ) 80b247a: 801a strh r2, [r3, #0] 80b247c: e00d b.n 80b249a cntblink = 2; 80b247e: 4b35 ldr r3, [pc, #212] ; (80b2554 ) 80b2480: 2202 movs r2, #2 80b2482: 801a strh r2, [r3, #0] blink ^= 1; 80b2484: 4b34 ldr r3, [pc, #208] ; (80b2558 ) 80b2486: 781b ldrb r3, [r3, #0] 80b2488: b2db uxtb r3, r3 80b248a: f083 0301 eor.w r3, r3, #1 80b248e: b2da uxtb r2, r3 80b2490: 4b31 ldr r3, [pc, #196] ; (80b2558 ) 80b2492: 701a strb r2, [r3, #0] cntBat = 1; 80b2494: 4b31 ldr r3, [pc, #196] ; (80b255c ) 80b2496: 2201 movs r2, #1 80b2498: 701a strb r2, [r3, #0] screen = true; 80b249a: 4b31 ldr r3, [pc, #196] ; (80b2560 ) 80b249c: 2201 movs r2, #1 80b249e: 701a strb r2, [r3, #0] if(timerStatus > 1) 80b24a0: 4b30 ldr r3, [pc, #192] ; (80b2564 ) 80b24a2: 881b ldrh r3, [r3, #0] 80b24a4: b29b uxth r3, r3 80b24a6: 2b01 cmp r3, #1 80b24a8: d907 bls.n 80b24ba timerStatus--; 80b24aa: 4b2e ldr r3, [pc, #184] ; (80b2564 ) 80b24ac: 881b ldrh r3, [r3, #0] 80b24ae: b29b uxth r3, r3 80b24b0: 3b01 subs r3, #1 80b24b2: b29a uxth r2, r3 80b24b4: 4b2b ldr r3, [pc, #172] ; (80b2564 ) 80b24b6: 801a strh r2, [r3, #0] 80b24b8: e016 b.n 80b24e8 if(timerStatus == 1) 80b24ba: 4b2a ldr r3, [pc, #168] ; (80b2564 ) 80b24bc: 881b ldrh r3, [r3, #0] 80b24be: b29b uxth r3, r3 80b24c0: 2b01 cmp r3, #1 80b24c2: d111 bne.n 80b24e8 timerStatus = 0; 80b24c4: 4b27 ldr r3, [pc, #156] ; (80b2564 ) 80b24c6: 2200 movs r2, #0 80b24c8: 801a strh r2, [r3, #0] STATUS = AP_OK; 80b24ca: 4b27 ldr r3, [pc, #156] ; (80b2568 ) 80b24cc: 2200 movs r2, #0 80b24ce: 601a str r2, [r3, #0] DrawStatus = false; 80b24d0: 4b26 ldr r3, [pc, #152] ; (80b256c ) 80b24d2: 2200 movs r2, #0 80b24d4: 701a strb r2, [r3, #0] ThisFileExist = false; 80b24d6: 4b26 ldr r3, [pc, #152] ; (80b2570 ) 80b24d8: 2200 movs r2, #0 80b24da: 701a strb r2, [r3, #0] SavingPassed = false; 80b24dc: 4b25 ldr r3, [pc, #148] ; (80b2574 ) 80b24de: 2200 movs r2, #0 80b24e0: 701a strb r2, [r3, #0] SavingUnable = false; 80b24e2: 4b25 ldr r3, [pc, #148] ; (80b2578 ) 80b24e4: 2200 movs r2, #0 80b24e6: 701a strb r2, [r3, #0] if(SeeTemperature) 80b24e8: 4b24 ldr r3, [pc, #144] ; (80b257c ) 80b24ea: 781b ldrb r3, [r3, #0] 80b24ec: b2db uxtb r3, r3 80b24ee: 2b00 cmp r3, #0 80b24f0: d04f beq.n 80b2592 if(timerTemperature) 80b24f2: 4b23 ldr r3, [pc, #140] ; (80b2580 ) 80b24f4: 881b ldrh r3, [r3, #0] 80b24f6: b29b uxth r3, r3 80b24f8: 2b00 cmp r3, #0 80b24fa: d043 beq.n 80b2584 timerTemperature--; 80b24fc: 4b20 ldr r3, [pc, #128] ; (80b2580 ) 80b24fe: 881b ldrh r3, [r3, #0] 80b2500: b29b uxth r3, r3 80b2502: 3b01 subs r3, #1 80b2504: b29a uxth r2, r3 80b2506: 4b1e ldr r3, [pc, #120] ; (80b2580 ) 80b2508: 801a strh r2, [r3, #0] 80b250a: e042 b.n 80b2592 80b250c: 40001400 .word 0x40001400 80b2510: 200209c2 .word 0x200209c2 80b2514: 20021b6b .word 0x20021b6b 80b2518: 20020fc4 .word 0x20020fc4 80b251c: 20021b69 .word 0x20021b69 80b2520: 20021b6a .word 0x20021b6a 80b2524: 20020fbd .word 0x20020fbd 80b2528: 200209d0 .word 0x200209d0 80b252c: 20021b6c .word 0x20021b6c 80b2530: 20020070 .word 0x20020070 80b2534: 200209c4 .word 0x200209c4 80b2538: 20023ea8 .word 0x20023ea8 80b253c: 20020dcf .word 0x20020dcf 80b2540: 20021d68 .word 0x20021d68 80b2544: 20020dc8 .word 0x20020dc8 80b2548: 20020d8c .word 0x20020d8c 80b254c: 080f3bf4 .word 0x080f3bf4 80b2550: 200216d2 .word 0x200216d2 80b2554: 200209c0 .word 0x200209c0 80b2558: 200216d1 .word 0x200216d1 80b255c: 200216d3 .word 0x200216d3 80b2560: 200200ca .word 0x200200ca 80b2564: 200216d4 .word 0x200216d4 80b2568: 20020dec .word 0x20020dec 80b256c: 20020df2 .word 0x20020df2 80b2570: 20020df5 .word 0x20020df5 80b2574: 20020df4 .word 0x20020df4 80b2578: 20020df6 .word 0x20020df6 80b257c: 20020fbb .word 0x20020fbb 80b2580: 200209c6 .word 0x200209c6 FlagGetTemperature = true; 80b2584: 4b3d ldr r3, [pc, #244] ; (80b267c ) 80b2586: 2201 movs r2, #1 80b2588: 701a strb r2, [r3, #0] timerTemperature = sec1; 80b258a: 4b3d ldr r3, [pc, #244] ; (80b2680 ) 80b258c: f44f 6200 mov.w r2, #2048 ; 0x800 80b2590: 801a strh r2, [r3, #0] if(repeat) 80b2592: 4b3c ldr r3, [pc, #240] ; (80b2684 ) 80b2594: 881b ldrh r3, [r3, #0] 80b2596: b29b uxth r3, r3 80b2598: 2b00 cmp r3, #0 80b259a: d006 beq.n 80b25aa repeat--; 80b259c: 4b39 ldr r3, [pc, #228] ; (80b2684 ) 80b259e: 881b ldrh r3, [r3, #0] 80b25a0: b29b uxth r3, r3 80b25a2: 3b01 subs r3, #1 80b25a4: b29a uxth r2, r3 80b25a6: 4b37 ldr r3, [pc, #220] ; (80b2684 ) 80b25a8: 801a strh r2, [r3, #0] if(TIMEOUT_OFF) 80b25aa: 4b37 ldr r3, [pc, #220] ; (80b2688 ) 80b25ac: 681b ldr r3, [r3, #0] 80b25ae: 2b00 cmp r3, #0 80b25b0: d012 beq.n 80b25d8 if(USBConnected == false) 80b25b2: 4b36 ldr r3, [pc, #216] ; (80b268c ) 80b25b4: 781b ldrb r3, [r3, #0] 80b25b6: b2db uxtb r3, r3 80b25b8: f083 0301 eor.w r3, r3, #1 80b25bc: b2db uxtb r3, r3 80b25be: 2b00 cmp r3, #0 80b25c0: d005 beq.n 80b25ce TIMEOUT_OFF--; 80b25c2: 4b31 ldr r3, [pc, #196] ; (80b2688 ) 80b25c4: 681b ldr r3, [r3, #0] 80b25c6: 3b01 subs r3, #1 80b25c8: 4a2f ldr r2, [pc, #188] ; (80b2688 ) 80b25ca: 6013 str r3, [r2, #0] 80b25cc: e013 b.n 80b25f6 else TIMEOUT_OFF = min15; 80b25ce: 4b2e ldr r3, [pc, #184] ; (80b2688 ) 80b25d0: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 80b25d4: 601a str r2, [r3, #0] 80b25d6: e00e b.n 80b25f6 if(USBConnected == false) 80b25d8: 4b2c ldr r3, [pc, #176] ; (80b268c ) 80b25da: 781b ldrb r3, [r3, #0] 80b25dc: b2db uxtb r3, r3 80b25de: f083 0301 eor.w r3, r3, #1 80b25e2: b2db uxtb r3, r3 80b25e4: 2b00 cmp r3, #0 80b25e6: d002 beq.n 80b25ee Off(); 80b25e8: f771 f95c bl 80238a4 80b25ec: e003 b.n 80b25f6 else TIMEOUT_OFF = min15; 80b25ee: 4b26 ldr r3, [pc, #152] ; (80b2688 ) 80b25f0: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 80b25f4: 601a str r2, [r3, #0] if((ChargerIsConnect) && (menu == POWER_OFF)) 80b25f6: 4b26 ldr r3, [pc, #152] ; (80b2690 ) 80b25f8: 781b ldrb r3, [r3, #0] 80b25fa: b2db uxtb r3, r3 80b25fc: 2b00 cmp r3, #0 80b25fe: d018 beq.n 80b2632 80b2600: 4b24 ldr r3, [pc, #144] ; (80b2694 ) 80b2602: 781b ldrb r3, [r3, #0] 80b2604: b2db uxtb r3, r3 80b2606: 2b43 cmp r3, #67 ; 0x43 80b2608: d113 bne.n 80b2632 if(TIMEOUT_OFF2) 80b260a: 4b23 ldr r3, [pc, #140] ; (80b2698 ) 80b260c: 681b ldr r3, [r3, #0] 80b260e: 2b00 cmp r3, #0 80b2610: d005 beq.n 80b261e TIMEOUT_OFF2--; 80b2612: 4b21 ldr r3, [pc, #132] ; (80b2698 ) 80b2614: 681b ldr r3, [r3, #0] 80b2616: 3b01 subs r3, #1 80b2618: 4a1f ldr r2, [pc, #124] ; (80b2698 ) 80b261a: 6013 str r3, [r2, #0] if(TIMEOUT_OFF2) 80b261c: e00d b.n 80b263a menu = POWER_OFF2; 80b261e: 4b1d ldr r3, [pc, #116] ; (80b2694 ) 80b2620: 2244 movs r2, #68 ; 0x44 80b2622: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); // BACKLIGHT IS OFF 80b2624: 2201 movs r2, #1 80b2626: f44f 7180 mov.w r1, #256 ; 0x100 80b262a: 481c ldr r0, [pc, #112] ; (80b269c ) 80b262c: f007 f8b6 bl 80b979c if(TIMEOUT_OFF2) 80b2630: e003 b.n 80b263a TIMEOUT_OFF2 = sec10; 80b2632: 4b19 ldr r3, [pc, #100] ; (80b2698 ) 80b2634: f44f 42a0 mov.w r2, #20480 ; 0x5000 80b2638: 601a str r2, [r3, #0] if(timerBattery) 80b263a: 4b19 ldr r3, [pc, #100] ; (80b26a0 ) 80b263c: 881b ldrh r3, [r3, #0] 80b263e: b29b uxth r3, r3 80b2640: 2b00 cmp r3, #0 80b2642: d007 beq.n 80b2654 timerBattery--; 80b2644: 4b16 ldr r3, [pc, #88] ; (80b26a0 ) 80b2646: 881b ldrh r3, [r3, #0] 80b2648: b29b uxth r3, r3 80b264a: 3b01 subs r3, #1 80b264c: b29a uxth r2, r3 80b264e: 4b14 ldr r3, [pc, #80] ; (80b26a0 ) 80b2650: 801a strh r2, [r3, #0] 80b2652: e005 b.n 80b2660 timerBattery = sec1; 80b2654: 4b12 ldr r3, [pc, #72] ; (80b26a0 ) 80b2656: f44f 6200 mov.w r2, #2048 ; 0x800 80b265a: 801a strh r2, [r3, #0] MeasBattery(); 80b265c: f76e fbd2 bl 8020e04 if(TIMEOUT_BAT) 80b2660: 4b10 ldr r3, [pc, #64] ; (80b26a4 ) 80b2662: 681b ldr r3, [r3, #0] 80b2664: 2b00 cmp r3, #0 80b2666: d004 beq.n 80b2672 TIMEOUT_BAT--; 80b2668: 4b0e ldr r3, [pc, #56] ; (80b26a4 ) 80b266a: 681b ldr r3, [r3, #0] 80b266c: 3b01 subs r3, #1 80b266e: 4a0d ldr r2, [pc, #52] ; (80b26a4 ) 80b2670: 6013 str r3, [r2, #0] break; 80b2672: bf00 nop } 80b2674: bf00 nop 80b2676: 3710 adds r7, #16 80b2678: 46bd mov sp, r7 80b267a: bd80 pop {r7, pc} 80b267c: 20020f7d .word 0x20020f7d 80b2680: 200209c6 .word 0x200209c6 80b2684: 20020fc0 .word 0x20020fc0 80b2688: 200209cc .word 0x200209cc 80b268c: 20021b69 .word 0x20021b69 80b2690: 20021b6a .word 0x20021b6a 80b2694: 20020fbd .word 0x20020fbd 80b2698: 200209d0 .word 0x200209d0 80b269c: 40020000 .word 0x40020000 80b26a0: 200209c8 .word 0x200209c8 80b26a4: 200209d4 .word 0x200209d4 080b26a8 : SET_BIT(huart7.Instance->CR1, USART_CR1_RXNEIE/* | USART_CR1_PEIE*/); } void MX_USART7_UART_DeInit(void) { 80b26a8: b580 push {r7, lr} 80b26aa: af00 add r7, sp, #0 if(HAL_UART_DeInit(&huart7) != HAL_OK) { 80b26ac: 4806 ldr r0, [pc, #24] ; (80b26c8 ) 80b26ae: f00e f9d1 bl 80c0a54 80b26b2: 4603 mov r3, r0 80b26b4: 2b00 cmp r3, #0 80b26b6: d001 beq.n 80b26bc Error_Handler(); 80b26b8: f7a3 fafa bl 8055cb0 } HAL_NVIC_DisableIRQ(UART7_IRQn); 80b26bc: 2052 movs r0, #82 ; 0x52 80b26be: f005 fb32 bl 80b7d26 } 80b26c2: bf00 nop 80b26c4: bd80 pop {r7, pc} 80b26c6: bf00 nop 80b26c8: 20068a64 .word 0x20068a64 080b26cc : /* USER CODE END UART7_MspInit 1 */ } } void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) { 80b26cc: b580 push {r7, lr} 80b26ce: b082 sub sp, #8 80b26d0: af00 add r7, sp, #0 80b26d2: 6078 str r0, [r7, #4] if(uartHandle->Instance==UART7) 80b26d4: 687b ldr r3, [r7, #4] 80b26d6: 681b ldr r3, [r3, #0] 80b26d8: 4a09 ldr r2, [pc, #36] ; (80b2700 ) 80b26da: 4293 cmp r3, r2 80b26dc: d10c bne.n 80b26f8 { /* USER CODE BEGIN UART7_MspDeInit 0 */ /* USER CODE END UART7_MspDeInit 0 */ /* Peripheral clock disable */ __HAL_RCC_UART7_CLK_DISABLE(); 80b26de: 4a09 ldr r2, [pc, #36] ; (80b2704 ) 80b26e0: 4b08 ldr r3, [pc, #32] ; (80b2704 ) 80b26e2: 6c1b ldr r3, [r3, #64] ; 0x40 80b26e4: f023 4380 bic.w r3, r3, #1073741824 ; 0x40000000 80b26e8: 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); 80b26ea: 21c0 movs r1, #192 ; 0xc0 80b26ec: 4806 ldr r0, [pc, #24] ; (80b2708 ) 80b26ee: f006 ff31 bl 80b9554 /* UART7 interrupt Deinit */ HAL_NVIC_DisableIRQ(UART7_IRQn); 80b26f2: 2052 movs r0, #82 ; 0x52 80b26f4: f005 fb17 bl 80b7d26 } } 80b26f8: bf00 nop 80b26fa: 3708 adds r7, #8 80b26fc: 46bd mov sp, r7 80b26fe: bd80 pop {r7, pc} 80b2700: 40007800 .word 0x40007800 80b2704: 40023800 .word 0x40023800 80b2708: 40021400 .word 0x40021400 080b270c : void UART7_IRQHandler(void) { 80b270c: b580 push {r7, lr} 80b270e: af00 add r7, sp, #0 if((__HAL_UART_GET_IT_SOURCE(&huart7, UART_IT_RXNE)) && (__HAL_UART_GET_FLAG(&huart7, UART_FLAG_RXNE))) 80b2710: 4b26 ldr r3, [pc, #152] ; (80b27ac ) 80b2712: 681b ldr r3, [r3, #0] 80b2714: 681b ldr r3, [r3, #0] 80b2716: f003 0320 and.w r3, r3, #32 80b271a: 2b00 cmp r3, #0 80b271c: d009 beq.n 80b2732 80b271e: 4b23 ldr r3, [pc, #140] ; (80b27ac ) 80b2720: 681b ldr r3, [r3, #0] 80b2722: 69db ldr r3, [r3, #28] 80b2724: f003 0320 and.w r3, r3, #32 80b2728: 2b20 cmp r3, #32 80b272a: d102 bne.n 80b2732 { HAL_UART_RxCplt(); 80b272c: f77d f926 bl 802f97c 80b2730: e002 b.n 80b2738 } else { HAL_UART_IRQHandler(&huart7); 80b2732: 481e ldr r0, [pc, #120] ; (80b27ac ) 80b2734: f00e faee bl 80c0d14 } if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_ORE)) 80b2738: 4b1c ldr r3, [pc, #112] ; (80b27ac ) 80b273a: 681b ldr r3, [r3, #0] 80b273c: 69db ldr r3, [r3, #28] 80b273e: f003 0308 and.w r3, r3, #8 80b2742: 2b08 cmp r3, #8 80b2744: d103 bne.n 80b274e __HAL_UART_CLEAR_OREFLAG(&huart7); 80b2746: 4b19 ldr r3, [pc, #100] ; (80b27ac ) 80b2748: 681b ldr r3, [r3, #0] 80b274a: 2208 movs r2, #8 80b274c: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_PE)) 80b274e: 4b17 ldr r3, [pc, #92] ; (80b27ac ) 80b2750: 681b ldr r3, [r3, #0] 80b2752: 69db ldr r3, [r3, #28] 80b2754: f003 0301 and.w r3, r3, #1 80b2758: 2b01 cmp r3, #1 80b275a: d103 bne.n 80b2764 __HAL_UART_CLEAR_PEFLAG(&huart7); 80b275c: 4b13 ldr r3, [pc, #76] ; (80b27ac ) 80b275e: 681b ldr r3, [r3, #0] 80b2760: 2201 movs r2, #1 80b2762: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_FE)) 80b2764: 4b11 ldr r3, [pc, #68] ; (80b27ac ) 80b2766: 681b ldr r3, [r3, #0] 80b2768: 69db ldr r3, [r3, #28] 80b276a: f003 0302 and.w r3, r3, #2 80b276e: 2b02 cmp r3, #2 80b2770: d103 bne.n 80b277a __HAL_UART_CLEAR_FEFLAG(&huart7); 80b2772: 4b0e ldr r3, [pc, #56] ; (80b27ac ) 80b2774: 681b ldr r3, [r3, #0] 80b2776: 2202 movs r2, #2 80b2778: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_NE)) 80b277a: 4b0c ldr r3, [pc, #48] ; (80b27ac ) 80b277c: 681b ldr r3, [r3, #0] 80b277e: 69db ldr r3, [r3, #28] 80b2780: f003 0304 and.w r3, r3, #4 80b2784: 2b04 cmp r3, #4 80b2786: d103 bne.n 80b2790 __HAL_UART_CLEAR_NEFLAG(&huart7); 80b2788: 4b08 ldr r3, [pc, #32] ; (80b27ac ) 80b278a: 681b ldr r3, [r3, #0] 80b278c: 2204 movs r2, #4 80b278e: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_IDLE)) 80b2790: 4b06 ldr r3, [pc, #24] ; (80b27ac ) 80b2792: 681b ldr r3, [r3, #0] 80b2794: 69db ldr r3, [r3, #28] 80b2796: f003 0310 and.w r3, r3, #16 80b279a: 2b10 cmp r3, #16 80b279c: d103 bne.n 80b27a6 __HAL_UART_CLEAR_IDLEFLAG(&huart7); 80b279e: 4b03 ldr r3, [pc, #12] ; (80b27ac ) 80b27a0: 681b ldr r3, [r3, #0] 80b27a2: 2210 movs r2, #16 80b27a4: 621a str r2, [r3, #32] } 80b27a6: bf00 nop 80b27a8: bd80 pop {r7, pc} 80b27aa: bf00 nop 80b27ac: 20068a64 .word 0x20068a64 080b27b0 : void arm_bitreversal_f32( float32_t * pSrc, uint16_t fftSize, uint16_t bitRevFactor, uint16_t * pBitRevTab) { 80b27b0: b480 push {r7} 80b27b2: b089 sub sp, #36 ; 0x24 80b27b4: af00 add r7, sp, #0 80b27b6: 60f8 str r0, [r7, #12] 80b27b8: 607b str r3, [r7, #4] 80b27ba: 460b mov r3, r1 80b27bc: 817b strh r3, [r7, #10] 80b27be: 4613 mov r3, r2 80b27c0: 813b strh r3, [r7, #8] uint16_t fftLenBy2, fftLenBy2p1; uint16_t i, j; float32_t in; /* Initializations */ j = 0u; 80b27c2: 2300 movs r3, #0 80b27c4: 83bb strh r3, [r7, #28] fftLenBy2 = fftSize >> 1u; 80b27c6: 897b ldrh r3, [r7, #10] 80b27c8: 085b lsrs r3, r3, #1 80b27ca: 837b strh r3, [r7, #26] fftLenBy2p1 = (fftSize >> 1u) + 1u; 80b27cc: 897b ldrh r3, [r7, #10] 80b27ce: 085b lsrs r3, r3, #1 80b27d0: b29b uxth r3, r3 80b27d2: 3301 adds r3, #1 80b27d4: 833b strh r3, [r7, #24] /* Bit Reversal Implementation */ for (i = 0u; i <= (fftLenBy2 - 2u); i += 2u) 80b27d6: 2300 movs r3, #0 80b27d8: 83fb strh r3, [r7, #30] 80b27da: e0ba b.n 80b2952 { if(i < j) 80b27dc: 8bfa ldrh r2, [r7, #30] 80b27de: 8bbb ldrh r3, [r7, #28] 80b27e0: 429a cmp r2, r3 80b27e2: d26f bcs.n 80b28c4 { /* pSrc[i] <-> pSrc[j]; */ in = pSrc[2u * i]; 80b27e4: 8bfb ldrh r3, [r7, #30] 80b27e6: 00db lsls r3, r3, #3 80b27e8: 68fa ldr r2, [r7, #12] 80b27ea: 4413 add r3, r2 80b27ec: 681b ldr r3, [r3, #0] 80b27ee: 617b str r3, [r7, #20] pSrc[2u * i] = pSrc[2u * j]; 80b27f0: 8bfb ldrh r3, [r7, #30] 80b27f2: 00db lsls r3, r3, #3 80b27f4: 68fa ldr r2, [r7, #12] 80b27f6: 4413 add r3, r2 80b27f8: 8bba ldrh r2, [r7, #28] 80b27fa: 00d2 lsls r2, r2, #3 80b27fc: 68f9 ldr r1, [r7, #12] 80b27fe: 440a add r2, r1 80b2800: 6812 ldr r2, [r2, #0] 80b2802: 601a str r2, [r3, #0] pSrc[2u * j] = in; 80b2804: 8bbb ldrh r3, [r7, #28] 80b2806: 00db lsls r3, r3, #3 80b2808: 68fa ldr r2, [r7, #12] 80b280a: 4413 add r3, r2 80b280c: 697a ldr r2, [r7, #20] 80b280e: 601a str r2, [r3, #0] /* pSrc[i+1u] <-> pSrc[j+1u] */ in = pSrc[(2u * i) + 1u]; 80b2810: 8bfb ldrh r3, [r7, #30] 80b2812: 00db lsls r3, r3, #3 80b2814: 3304 adds r3, #4 80b2816: 68fa ldr r2, [r7, #12] 80b2818: 4413 add r3, r2 80b281a: 681b ldr r3, [r3, #0] 80b281c: 617b str r3, [r7, #20] pSrc[(2u * i) + 1u] = pSrc[(2u * j) + 1u]; 80b281e: 8bfb ldrh r3, [r7, #30] 80b2820: 00db lsls r3, r3, #3 80b2822: 3304 adds r3, #4 80b2824: 68fa ldr r2, [r7, #12] 80b2826: 4413 add r3, r2 80b2828: 8bba ldrh r2, [r7, #28] 80b282a: 00d2 lsls r2, r2, #3 80b282c: 3204 adds r2, #4 80b282e: 68f9 ldr r1, [r7, #12] 80b2830: 440a add r2, r1 80b2832: 6812 ldr r2, [r2, #0] 80b2834: 601a str r2, [r3, #0] pSrc[(2u * j) + 1u] = in; 80b2836: 8bbb ldrh r3, [r7, #28] 80b2838: 00db lsls r3, r3, #3 80b283a: 3304 adds r3, #4 80b283c: 68fa ldr r2, [r7, #12] 80b283e: 4413 add r3, r2 80b2840: 697a ldr r2, [r7, #20] 80b2842: 601a str r2, [r3, #0] /* pSrc[i+fftLenBy2p1] <-> pSrc[j+fftLenBy2p1] */ in = pSrc[2u * (i + fftLenBy2p1)]; 80b2844: 8bfa ldrh r2, [r7, #30] 80b2846: 8b3b ldrh r3, [r7, #24] 80b2848: 4413 add r3, r2 80b284a: 00db lsls r3, r3, #3 80b284c: 68fa ldr r2, [r7, #12] 80b284e: 4413 add r3, r2 80b2850: 681b ldr r3, [r3, #0] 80b2852: 617b str r3, [r7, #20] pSrc[2u * (i + fftLenBy2p1)] = pSrc[2u * (j + fftLenBy2p1)]; 80b2854: 8bfa ldrh r2, [r7, #30] 80b2856: 8b3b ldrh r3, [r7, #24] 80b2858: 4413 add r3, r2 80b285a: 00db lsls r3, r3, #3 80b285c: 68fa ldr r2, [r7, #12] 80b285e: 4413 add r3, r2 80b2860: 8bb9 ldrh r1, [r7, #28] 80b2862: 8b3a ldrh r2, [r7, #24] 80b2864: 440a add r2, r1 80b2866: 00d2 lsls r2, r2, #3 80b2868: 68f9 ldr r1, [r7, #12] 80b286a: 440a add r2, r1 80b286c: 6812 ldr r2, [r2, #0] 80b286e: 601a str r2, [r3, #0] pSrc[2u * (j + fftLenBy2p1)] = in; 80b2870: 8bba ldrh r2, [r7, #28] 80b2872: 8b3b ldrh r3, [r7, #24] 80b2874: 4413 add r3, r2 80b2876: 00db lsls r3, r3, #3 80b2878: 68fa ldr r2, [r7, #12] 80b287a: 4413 add r3, r2 80b287c: 697a ldr r2, [r7, #20] 80b287e: 601a str r2, [r3, #0] /* pSrc[i+fftLenBy2p1+1u] <-> pSrc[j+fftLenBy2p1+1u] */ in = pSrc[(2u * (i + fftLenBy2p1)) + 1u]; 80b2880: 8bfa ldrh r2, [r7, #30] 80b2882: 8b3b ldrh r3, [r7, #24] 80b2884: 4413 add r3, r2 80b2886: 00db lsls r3, r3, #3 80b2888: 3304 adds r3, #4 80b288a: 68fa ldr r2, [r7, #12] 80b288c: 4413 add r3, r2 80b288e: 681b ldr r3, [r3, #0] 80b2890: 617b str r3, [r7, #20] pSrc[(2u * (i + fftLenBy2p1)) + 1u] = 80b2892: 8bfa ldrh r2, [r7, #30] 80b2894: 8b3b ldrh r3, [r7, #24] 80b2896: 4413 add r3, r2 80b2898: 00db lsls r3, r3, #3 80b289a: 3304 adds r3, #4 80b289c: 68fa ldr r2, [r7, #12] 80b289e: 4413 add r3, r2 pSrc[(2u * (j + fftLenBy2p1)) + 1u]; 80b28a0: 8bb9 ldrh r1, [r7, #28] 80b28a2: 8b3a ldrh r2, [r7, #24] 80b28a4: 440a add r2, r1 80b28a6: 00d2 lsls r2, r2, #3 80b28a8: 3204 adds r2, #4 80b28aa: 68f9 ldr r1, [r7, #12] 80b28ac: 440a add r2, r1 80b28ae: 6812 ldr r2, [r2, #0] pSrc[(2u * (i + fftLenBy2p1)) + 1u] = 80b28b0: 601a str r2, [r3, #0] pSrc[(2u * (j + fftLenBy2p1)) + 1u] = in; 80b28b2: 8bba ldrh r2, [r7, #28] 80b28b4: 8b3b ldrh r3, [r7, #24] 80b28b6: 4413 add r3, r2 80b28b8: 00db lsls r3, r3, #3 80b28ba: 3304 adds r3, #4 80b28bc: 68fa ldr r2, [r7, #12] 80b28be: 4413 add r3, r2 80b28c0: 697a ldr r2, [r7, #20] 80b28c2: 601a str r2, [r3, #0] } /* pSrc[i+1u] <-> pSrc[j+1u] */ in = pSrc[2u * (i + 1u)]; 80b28c4: 8bfb ldrh r3, [r7, #30] 80b28c6: 3301 adds r3, #1 80b28c8: 00db lsls r3, r3, #3 80b28ca: 68fa ldr r2, [r7, #12] 80b28cc: 4413 add r3, r2 80b28ce: 681b ldr r3, [r3, #0] 80b28d0: 617b str r3, [r7, #20] pSrc[2u * (i + 1u)] = pSrc[2u * (j + fftLenBy2)]; 80b28d2: 8bfb ldrh r3, [r7, #30] 80b28d4: 3301 adds r3, #1 80b28d6: 00db lsls r3, r3, #3 80b28d8: 68fa ldr r2, [r7, #12] 80b28da: 4413 add r3, r2 80b28dc: 8bb9 ldrh r1, [r7, #28] 80b28de: 8b7a ldrh r2, [r7, #26] 80b28e0: 440a add r2, r1 80b28e2: 00d2 lsls r2, r2, #3 80b28e4: 68f9 ldr r1, [r7, #12] 80b28e6: 440a add r2, r1 80b28e8: 6812 ldr r2, [r2, #0] 80b28ea: 601a str r2, [r3, #0] pSrc[2u * (j + fftLenBy2)] = in; 80b28ec: 8bba ldrh r2, [r7, #28] 80b28ee: 8b7b ldrh r3, [r7, #26] 80b28f0: 4413 add r3, r2 80b28f2: 00db lsls r3, r3, #3 80b28f4: 68fa ldr r2, [r7, #12] 80b28f6: 4413 add r3, r2 80b28f8: 697a ldr r2, [r7, #20] 80b28fa: 601a str r2, [r3, #0] /* pSrc[i+2u] <-> pSrc[j+2u] */ in = pSrc[(2u * (i + 1u)) + 1u]; 80b28fc: 8bfb ldrh r3, [r7, #30] 80b28fe: 3301 adds r3, #1 80b2900: 00db lsls r3, r3, #3 80b2902: 3304 adds r3, #4 80b2904: 68fa ldr r2, [r7, #12] 80b2906: 4413 add r3, r2 80b2908: 681b ldr r3, [r3, #0] 80b290a: 617b str r3, [r7, #20] pSrc[(2u * (i + 1u)) + 1u] = pSrc[(2u * (j + fftLenBy2)) + 1u]; 80b290c: 8bfb ldrh r3, [r7, #30] 80b290e: 3301 adds r3, #1 80b2910: 00db lsls r3, r3, #3 80b2912: 3304 adds r3, #4 80b2914: 68fa ldr r2, [r7, #12] 80b2916: 4413 add r3, r2 80b2918: 8bb9 ldrh r1, [r7, #28] 80b291a: 8b7a ldrh r2, [r7, #26] 80b291c: 440a add r2, r1 80b291e: 00d2 lsls r2, r2, #3 80b2920: 3204 adds r2, #4 80b2922: 68f9 ldr r1, [r7, #12] 80b2924: 440a add r2, r1 80b2926: 6812 ldr r2, [r2, #0] 80b2928: 601a str r2, [r3, #0] pSrc[(2u * (j + fftLenBy2)) + 1u] = in; 80b292a: 8bba ldrh r2, [r7, #28] 80b292c: 8b7b ldrh r3, [r7, #26] 80b292e: 4413 add r3, r2 80b2930: 00db lsls r3, r3, #3 80b2932: 3304 adds r3, #4 80b2934: 68fa ldr r2, [r7, #12] 80b2936: 4413 add r3, r2 80b2938: 697a ldr r2, [r7, #20] 80b293a: 601a str r2, [r3, #0] /* Reading the index for the bit reversal */ j = *pBitRevTab; 80b293c: 687b ldr r3, [r7, #4] 80b293e: 881b ldrh r3, [r3, #0] 80b2940: 83bb strh r3, [r7, #28] /* Updating the bit reversal index depending on the fft length */ pBitRevTab += bitRevFactor; 80b2942: 893b ldrh r3, [r7, #8] 80b2944: 005b lsls r3, r3, #1 80b2946: 687a ldr r2, [r7, #4] 80b2948: 4413 add r3, r2 80b294a: 607b str r3, [r7, #4] for (i = 0u; i <= (fftLenBy2 - 2u); i += 2u) 80b294c: 8bfb ldrh r3, [r7, #30] 80b294e: 3302 adds r3, #2 80b2950: 83fb strh r3, [r7, #30] 80b2952: 8bfa ldrh r2, [r7, #30] 80b2954: 8b7b ldrh r3, [r7, #26] 80b2956: 3b02 subs r3, #2 80b2958: 429a cmp r2, r3 80b295a: f67f af3f bls.w 80b27dc } } 80b295e: bf00 nop 80b2960: 3724 adds r7, #36 ; 0x24 80b2962: 46bd mov sp, r7 80b2964: f85d 7b04 ldr.w r7, [sp], #4 80b2968: 4770 bx lr 080b296a : * \endcode * */ void arm_cfft_radix8by2_f32( arm_cfft_instance_f32 * S, float32_t * p1) { 80b296a: b580 push {r7, lr} 80b296c: b0a0 sub sp, #128 ; 0x80 80b296e: af00 add r7, sp, #0 80b2970: 6078 str r0, [r7, #4] 80b2972: 6039 str r1, [r7, #0] uint32_t L = S->fftLen; 80b2974: 687b ldr r3, [r7, #4] 80b2976: 881b ldrh r3, [r3, #0] 80b2978: 66bb str r3, [r7, #104] ; 0x68 float32_t * pCol1, * pCol2, * pMid1, * pMid2; float32_t * p2 = p1 + L; 80b297a: 6ebb ldr r3, [r7, #104] ; 0x68 80b297c: 009b lsls r3, r3, #2 80b297e: 683a ldr r2, [r7, #0] 80b2980: 4413 add r3, r2 80b2982: 677b str r3, [r7, #116] ; 0x74 const float32_t * tw = (float32_t *) S->pTwiddle; 80b2984: 687b ldr r3, [r7, #4] 80b2986: 685b ldr r3, [r3, #4] 80b2988: 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; 80b298a: 683b ldr r3, [r7, #0] 80b298c: 667b str r3, [r7, #100] ; 0x64 pCol2 = p2; 80b298e: 6f7b ldr r3, [r7, #116] ; 0x74 80b2990: 663b str r3, [r7, #96] ; 0x60 // Define new length L >>= 1; 80b2992: 6ebb ldr r3, [r7, #104] ; 0x68 80b2994: 085b lsrs r3, r3, #1 80b2996: 66bb str r3, [r7, #104] ; 0x68 // Initialize mid pointers pMid1 = p1 + L; 80b2998: 6ebb ldr r3, [r7, #104] ; 0x68 80b299a: 009b lsls r3, r3, #2 80b299c: 683a ldr r2, [r7, #0] 80b299e: 4413 add r3, r2 80b29a0: 67fb str r3, [r7, #124] ; 0x7c pMid2 = p2 + L; 80b29a2: 6ebb ldr r3, [r7, #104] ; 0x68 80b29a4: 009b lsls r3, r3, #2 80b29a6: 6f7a ldr r2, [r7, #116] ; 0x74 80b29a8: 4413 add r3, r2 80b29aa: 67bb str r3, [r7, #120] ; 0x78 // do two dot Fourier transform for ( l = L >> 2; l > 0; l-- ) 80b29ac: 6ebb ldr r3, [r7, #104] ; 0x68 80b29ae: 089b lsrs r3, r3, #2 80b29b0: 66fb str r3, [r7, #108] ; 0x6c 80b29b2: e1b6 b.n 80b2d22 { t1[0] = p1[0]; 80b29b4: 683b ldr r3, [r7, #0] 80b29b6: 681b ldr r3, [r3, #0] 80b29b8: 63bb str r3, [r7, #56] ; 0x38 t1[1] = p1[1]; 80b29ba: 683b ldr r3, [r7, #0] 80b29bc: 685b ldr r3, [r3, #4] 80b29be: 63fb str r3, [r7, #60] ; 0x3c t1[2] = p1[2]; 80b29c0: 683b ldr r3, [r7, #0] 80b29c2: 689b ldr r3, [r3, #8] 80b29c4: 643b str r3, [r7, #64] ; 0x40 t1[3] = p1[3]; 80b29c6: 683b ldr r3, [r7, #0] 80b29c8: 68db ldr r3, [r3, #12] 80b29ca: 647b str r3, [r7, #68] ; 0x44 t2[0] = p2[0]; 80b29cc: 6f7b ldr r3, [r7, #116] ; 0x74 80b29ce: 681b ldr r3, [r3, #0] 80b29d0: 62bb str r3, [r7, #40] ; 0x28 t2[1] = p2[1]; 80b29d2: 6f7b ldr r3, [r7, #116] ; 0x74 80b29d4: 685b ldr r3, [r3, #4] 80b29d6: 62fb str r3, [r7, #44] ; 0x2c t2[2] = p2[2]; 80b29d8: 6f7b ldr r3, [r7, #116] ; 0x74 80b29da: 689b ldr r3, [r3, #8] 80b29dc: 633b str r3, [r7, #48] ; 0x30 t2[3] = p2[3]; 80b29de: 6f7b ldr r3, [r7, #116] ; 0x74 80b29e0: 68db ldr r3, [r3, #12] 80b29e2: 637b str r3, [r7, #52] ; 0x34 t3[0] = pMid1[0]; 80b29e4: 6ffb ldr r3, [r7, #124] ; 0x7c 80b29e6: 681b ldr r3, [r3, #0] 80b29e8: 61bb str r3, [r7, #24] t3[1] = pMid1[1]; 80b29ea: 6ffb ldr r3, [r7, #124] ; 0x7c 80b29ec: 685b ldr r3, [r3, #4] 80b29ee: 61fb str r3, [r7, #28] t3[2] = pMid1[2]; 80b29f0: 6ffb ldr r3, [r7, #124] ; 0x7c 80b29f2: 689b ldr r3, [r3, #8] 80b29f4: 623b str r3, [r7, #32] t3[3] = pMid1[3]; 80b29f6: 6ffb ldr r3, [r7, #124] ; 0x7c 80b29f8: 68db ldr r3, [r3, #12] 80b29fa: 627b str r3, [r7, #36] ; 0x24 t4[0] = pMid2[0]; 80b29fc: 6fbb ldr r3, [r7, #120] ; 0x78 80b29fe: 681b ldr r3, [r3, #0] 80b2a00: 60bb str r3, [r7, #8] t4[1] = pMid2[1]; 80b2a02: 6fbb ldr r3, [r7, #120] ; 0x78 80b2a04: 685b ldr r3, [r3, #4] 80b2a06: 60fb str r3, [r7, #12] t4[2] = pMid2[2]; 80b2a08: 6fbb ldr r3, [r7, #120] ; 0x78 80b2a0a: 689b ldr r3, [r3, #8] 80b2a0c: 613b str r3, [r7, #16] t4[3] = pMid2[3]; 80b2a0e: 6fbb ldr r3, [r7, #120] ; 0x78 80b2a10: 68db ldr r3, [r3, #12] 80b2a12: 617b str r3, [r7, #20] *p1++ = t1[0] + t2[0]; 80b2a14: 683b ldr r3, [r7, #0] 80b2a16: 1d1a adds r2, r3, #4 80b2a18: 603a str r2, [r7, #0] 80b2a1a: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b2a1e: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b2a22: ee77 7a27 vadd.f32 s15, s14, s15 80b2a26: edc3 7a00 vstr s15, [r3] *p1++ = t1[1] + t2[1]; 80b2a2a: 683b ldr r3, [r7, #0] 80b2a2c: 1d1a adds r2, r3, #4 80b2a2e: 603a str r2, [r7, #0] 80b2a30: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2a34: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 80b2a38: ee77 7a27 vadd.f32 s15, s14, s15 80b2a3c: edc3 7a00 vstr s15, [r3] *p1++ = t1[2] + t2[2]; 80b2a40: 683b ldr r3, [r7, #0] 80b2a42: 1d1a adds r2, r3, #4 80b2a44: 603a str r2, [r7, #0] 80b2a46: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b2a4a: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b2a4e: ee77 7a27 vadd.f32 s15, s14, s15 80b2a52: edc3 7a00 vstr s15, [r3] *p1++ = t1[3] + t2[3]; // col 1 80b2a56: 683b ldr r3, [r7, #0] 80b2a58: 1d1a adds r2, r3, #4 80b2a5a: 603a str r2, [r7, #0] 80b2a5c: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80b2a60: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b2a64: ee77 7a27 vadd.f32 s15, s14, s15 80b2a68: edc3 7a00 vstr s15, [r3] t2[0] = t1[0] - t2[0]; 80b2a6c: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b2a70: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b2a74: ee77 7a67 vsub.f32 s15, s14, s15 80b2a78: edc7 7a0a vstr s15, [r7, #40] ; 0x28 t2[1] = t1[1] - t2[1]; 80b2a7c: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2a80: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 80b2a84: ee77 7a67 vsub.f32 s15, s14, s15 80b2a88: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[2] = t1[2] - t2[2]; 80b2a8c: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b2a90: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b2a94: ee77 7a67 vsub.f32 s15, s14, s15 80b2a98: edc7 7a0c vstr s15, [r7, #48] ; 0x30 t2[3] = t1[3] - t2[3]; // for col 2 80b2a9c: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80b2aa0: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b2aa4: ee77 7a67 vsub.f32 s15, s14, s15 80b2aa8: edc7 7a0d vstr s15, [r7, #52] ; 0x34 *pMid1++ = t3[0] + t4[0]; 80b2aac: 6ffb ldr r3, [r7, #124] ; 0x7c 80b2aae: 1d1a adds r2, r3, #4 80b2ab0: 67fa str r2, [r7, #124] ; 0x7c 80b2ab2: ed97 7a06 vldr s14, [r7, #24] 80b2ab6: edd7 7a02 vldr s15, [r7, #8] 80b2aba: ee77 7a27 vadd.f32 s15, s14, s15 80b2abe: edc3 7a00 vstr s15, [r3] *pMid1++ = t3[1] + t4[1]; 80b2ac2: 6ffb ldr r3, [r7, #124] ; 0x7c 80b2ac4: 1d1a adds r2, r3, #4 80b2ac6: 67fa str r2, [r7, #124] ; 0x7c 80b2ac8: ed97 7a07 vldr s14, [r7, #28] 80b2acc: edd7 7a03 vldr s15, [r7, #12] 80b2ad0: ee77 7a27 vadd.f32 s15, s14, s15 80b2ad4: edc3 7a00 vstr s15, [r3] *pMid1++ = t3[2] + t4[2]; 80b2ad8: 6ffb ldr r3, [r7, #124] ; 0x7c 80b2ada: 1d1a adds r2, r3, #4 80b2adc: 67fa str r2, [r7, #124] ; 0x7c 80b2ade: ed97 7a08 vldr s14, [r7, #32] 80b2ae2: edd7 7a04 vldr s15, [r7, #16] 80b2ae6: ee77 7a27 vadd.f32 s15, s14, s15 80b2aea: edc3 7a00 vstr s15, [r3] *pMid1++ = t3[3] + t4[3]; // col 1 80b2aee: 6ffb ldr r3, [r7, #124] ; 0x7c 80b2af0: 1d1a adds r2, r3, #4 80b2af2: 67fa str r2, [r7, #124] ; 0x7c 80b2af4: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b2af8: edd7 7a05 vldr s15, [r7, #20] 80b2afc: ee77 7a27 vadd.f32 s15, s14, s15 80b2b00: edc3 7a00 vstr s15, [r3] t4[0] = t4[0] - t3[0]; 80b2b04: ed97 7a02 vldr s14, [r7, #8] 80b2b08: edd7 7a06 vldr s15, [r7, #24] 80b2b0c: ee77 7a67 vsub.f32 s15, s14, s15 80b2b10: edc7 7a02 vstr s15, [r7, #8] t4[1] = t4[1] - t3[1]; 80b2b14: ed97 7a03 vldr s14, [r7, #12] 80b2b18: edd7 7a07 vldr s15, [r7, #28] 80b2b1c: ee77 7a67 vsub.f32 s15, s14, s15 80b2b20: edc7 7a03 vstr s15, [r7, #12] t4[2] = t4[2] - t3[2]; 80b2b24: ed97 7a04 vldr s14, [r7, #16] 80b2b28: edd7 7a08 vldr s15, [r7, #32] 80b2b2c: ee77 7a67 vsub.f32 s15, s14, s15 80b2b30: edc7 7a04 vstr s15, [r7, #16] t4[3] = t4[3] - t3[3]; // for col 2 80b2b34: ed97 7a05 vldr s14, [r7, #20] 80b2b38: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b2b3c: ee77 7a67 vsub.f32 s15, s14, s15 80b2b40: edc7 7a05 vstr s15, [r7, #20] twR = *tw++; 80b2b44: 6f3b ldr r3, [r7, #112] ; 0x70 80b2b46: 1d1a adds r2, r3, #4 80b2b48: 673a str r2, [r7, #112] ; 0x70 80b2b4a: 681b ldr r3, [r3, #0] 80b2b4c: 65fb str r3, [r7, #92] ; 0x5c twI = *tw++; 80b2b4e: 6f3b ldr r3, [r7, #112] ; 0x70 80b2b50: 1d1a adds r2, r3, #4 80b2b52: 673a str r2, [r7, #112] ; 0x70 80b2b54: 681b ldr r3, [r3, #0] 80b2b56: 65bb str r3, [r7, #88] ; 0x58 // multiply by twiddle factors m0 = t2[0] * twR; 80b2b58: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b2b5c: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b2b60: ee67 7a27 vmul.f32 s15, s14, s15 80b2b64: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t2[1] * twI; 80b2b68: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b2b6c: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b2b70: ee67 7a27 vmul.f32 s15, s14, s15 80b2b74: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t2[1] * twR; 80b2b78: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b2b7c: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b2b80: ee67 7a27 vmul.f32 s15, s14, s15 80b2b84: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t2[0] * twI; 80b2b88: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b2b8c: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b2b90: ee67 7a27 vmul.f32 s15, s14, s15 80b2b94: edc7 7a12 vstr s15, [r7, #72] ; 0x48 // R = R * Tr - I * Ti *p2++ = m0 + m1; 80b2b98: 6f7b ldr r3, [r7, #116] ; 0x74 80b2b9a: 1d1a adds r2, r3, #4 80b2b9c: 677a str r2, [r7, #116] ; 0x74 80b2b9e: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b2ba2: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b2ba6: ee77 7a27 vadd.f32 s15, s14, s15 80b2baa: edc3 7a00 vstr s15, [r3] // I = I * Tr + R * Ti *p2++ = m2 - m3; 80b2bae: 6f7b ldr r3, [r7, #116] ; 0x74 80b2bb0: 1d1a adds r2, r3, #4 80b2bb2: 677a str r2, [r7, #116] ; 0x74 80b2bb4: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b2bb8: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b2bbc: ee77 7a67 vsub.f32 s15, s14, s15 80b2bc0: edc3 7a00 vstr s15, [r3] // use vertical symmetry // 0.9988 - 0.0491i <==> -0.0491 - 0.9988i m0 = t4[0] * twI; 80b2bc4: ed97 7a02 vldr s14, [r7, #8] 80b2bc8: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b2bcc: ee67 7a27 vmul.f32 s15, s14, s15 80b2bd0: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t4[1] * twR; 80b2bd4: ed97 7a03 vldr s14, [r7, #12] 80b2bd8: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b2bdc: ee67 7a27 vmul.f32 s15, s14, s15 80b2be0: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t4[1] * twI; 80b2be4: ed97 7a03 vldr s14, [r7, #12] 80b2be8: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b2bec: ee67 7a27 vmul.f32 s15, s14, s15 80b2bf0: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t4[0] * twR; 80b2bf4: ed97 7a02 vldr s14, [r7, #8] 80b2bf8: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b2bfc: ee67 7a27 vmul.f32 s15, s14, s15 80b2c00: edc7 7a12 vstr s15, [r7, #72] ; 0x48 *pMid2++ = m0 - m1; 80b2c04: 6fbb ldr r3, [r7, #120] ; 0x78 80b2c06: 1d1a adds r2, r3, #4 80b2c08: 67ba str r2, [r7, #120] ; 0x78 80b2c0a: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b2c0e: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b2c12: ee77 7a67 vsub.f32 s15, s14, s15 80b2c16: edc3 7a00 vstr s15, [r3] *pMid2++ = m2 + m3; 80b2c1a: 6fbb ldr r3, [r7, #120] ; 0x78 80b2c1c: 1d1a adds r2, r3, #4 80b2c1e: 67ba str r2, [r7, #120] ; 0x78 80b2c20: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b2c24: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b2c28: ee77 7a27 vadd.f32 s15, s14, s15 80b2c2c: edc3 7a00 vstr s15, [r3] twR = *tw++; 80b2c30: 6f3b ldr r3, [r7, #112] ; 0x70 80b2c32: 1d1a adds r2, r3, #4 80b2c34: 673a str r2, [r7, #112] ; 0x70 80b2c36: 681b ldr r3, [r3, #0] 80b2c38: 65fb str r3, [r7, #92] ; 0x5c twI = *tw++; 80b2c3a: 6f3b ldr r3, [r7, #112] ; 0x70 80b2c3c: 1d1a adds r2, r3, #4 80b2c3e: 673a str r2, [r7, #112] ; 0x70 80b2c40: 681b ldr r3, [r3, #0] 80b2c42: 65bb str r3, [r7, #88] ; 0x58 m0 = t2[2] * twR; 80b2c44: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b2c48: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b2c4c: ee67 7a27 vmul.f32 s15, s14, s15 80b2c50: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t2[3] * twI; 80b2c54: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b2c58: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b2c5c: ee67 7a27 vmul.f32 s15, s14, s15 80b2c60: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t2[3] * twR; 80b2c64: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b2c68: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b2c6c: ee67 7a27 vmul.f32 s15, s14, s15 80b2c70: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t2[2] * twI; 80b2c74: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b2c78: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b2c7c: ee67 7a27 vmul.f32 s15, s14, s15 80b2c80: edc7 7a12 vstr s15, [r7, #72] ; 0x48 *p2++ = m0 + m1; 80b2c84: 6f7b ldr r3, [r7, #116] ; 0x74 80b2c86: 1d1a adds r2, r3, #4 80b2c88: 677a str r2, [r7, #116] ; 0x74 80b2c8a: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b2c8e: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b2c92: ee77 7a27 vadd.f32 s15, s14, s15 80b2c96: edc3 7a00 vstr s15, [r3] *p2++ = m2 - m3; 80b2c9a: 6f7b ldr r3, [r7, #116] ; 0x74 80b2c9c: 1d1a adds r2, r3, #4 80b2c9e: 677a str r2, [r7, #116] ; 0x74 80b2ca0: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b2ca4: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b2ca8: ee77 7a67 vsub.f32 s15, s14, s15 80b2cac: edc3 7a00 vstr s15, [r3] m0 = t4[2] * twI; 80b2cb0: ed97 7a04 vldr s14, [r7, #16] 80b2cb4: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b2cb8: ee67 7a27 vmul.f32 s15, s14, s15 80b2cbc: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t4[3] * twR; 80b2cc0: ed97 7a05 vldr s14, [r7, #20] 80b2cc4: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b2cc8: ee67 7a27 vmul.f32 s15, s14, s15 80b2ccc: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t4[3] * twI; 80b2cd0: ed97 7a05 vldr s14, [r7, #20] 80b2cd4: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b2cd8: ee67 7a27 vmul.f32 s15, s14, s15 80b2cdc: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t4[2] * twR; 80b2ce0: ed97 7a04 vldr s14, [r7, #16] 80b2ce4: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b2ce8: ee67 7a27 vmul.f32 s15, s14, s15 80b2cec: edc7 7a12 vstr s15, [r7, #72] ; 0x48 *pMid2++ = m0 - m1; 80b2cf0: 6fbb ldr r3, [r7, #120] ; 0x78 80b2cf2: 1d1a adds r2, r3, #4 80b2cf4: 67ba str r2, [r7, #120] ; 0x78 80b2cf6: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b2cfa: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b2cfe: ee77 7a67 vsub.f32 s15, s14, s15 80b2d02: edc3 7a00 vstr s15, [r3] *pMid2++ = m2 + m3; 80b2d06: 6fbb ldr r3, [r7, #120] ; 0x78 80b2d08: 1d1a adds r2, r3, #4 80b2d0a: 67ba str r2, [r7, #120] ; 0x78 80b2d0c: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b2d10: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b2d14: ee77 7a27 vadd.f32 s15, s14, s15 80b2d18: edc3 7a00 vstr s15, [r3] for ( l = L >> 2; l > 0; l-- ) 80b2d1c: 6efb ldr r3, [r7, #108] ; 0x6c 80b2d1e: 3b01 subs r3, #1 80b2d20: 66fb str r3, [r7, #108] ; 0x6c 80b2d22: 6efb ldr r3, [r7, #108] ; 0x6c 80b2d24: 2b00 cmp r3, #0 80b2d26: f47f ae45 bne.w 80b29b4 } // first col arm_radix8_butterfly_f32( pCol1, L, (float32_t *) S->pTwiddle, 2u); 80b2d2a: 6ebb ldr r3, [r7, #104] ; 0x68 80b2d2c: b299 uxth r1, r3 80b2d2e: 687b ldr r3, [r7, #4] 80b2d30: 685a ldr r2, [r3, #4] 80b2d32: 2302 movs r3, #2 80b2d34: 6e78 ldr r0, [r7, #100] ; 0x64 80b2d36: f002 fa11 bl 80b515c // second col arm_radix8_butterfly_f32( pCol2, L, (float32_t *) S->pTwiddle, 2u); 80b2d3a: 6ebb ldr r3, [r7, #104] ; 0x68 80b2d3c: b299 uxth r1, r3 80b2d3e: 687b ldr r3, [r7, #4] 80b2d40: 685a ldr r2, [r3, #4] 80b2d42: 2302 movs r3, #2 80b2d44: 6e38 ldr r0, [r7, #96] ; 0x60 80b2d46: f002 fa09 bl 80b515c } 80b2d4a: bf00 nop 80b2d4c: 3780 adds r7, #128 ; 0x80 80b2d4e: 46bd mov sp, r7 80b2d50: bd80 pop {r7, pc} 080b2d52 : void arm_cfft_radix8by4_f32( arm_cfft_instance_f32 * S, float32_t * p1) { 80b2d52: b580 push {r7, lr} 80b2d54: b0ac sub sp, #176 ; 0xb0 80b2d56: af00 add r7, sp, #0 80b2d58: 6078 str r0, [r7, #4] 80b2d5a: 6039 str r1, [r7, #0] uint32_t L = S->fftLen >> 1; 80b2d5c: 687b ldr r3, [r7, #4] 80b2d5e: 881b ldrh r3, [r3, #0] 80b2d60: 085b lsrs r3, r3, #1 80b2d62: b29b uxth r3, r3 80b2d64: 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; 80b2d68: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b2d6c: 009b lsls r3, r3, #2 80b2d6e: 683a ldr r2, [r7, #0] 80b2d70: 4413 add r3, r2 80b2d72: f8c7 3090 str.w r3, [r7, #144] ; 0x90 float32_t * p3 = p2 + L; 80b2d76: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b2d7a: 009b lsls r3, r3, #2 80b2d7c: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b2d80: 4413 add r3, r2 80b2d82: f8c7 308c str.w r3, [r7, #140] ; 0x8c float32_t * p4 = p3 + L; 80b2d86: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b2d8a: 009b lsls r3, r3, #2 80b2d8c: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80b2d90: 4413 add r3, r2 80b2d92: 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 80b2d96: 683b ldr r3, [r7, #0] 80b2d98: 67fb str r3, [r7, #124] ; 0x7c pCol2 = p2; 80b2d9a: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b2d9e: 67bb str r3, [r7, #120] ; 0x78 pCol3 = p3; 80b2da0: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b2da4: 677b str r3, [r7, #116] ; 0x74 pCol4 = p4; 80b2da6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b2daa: 673b str r3, [r7, #112] ; 0x70 pEnd1 = p2 - 1; // points to imaginary values by default 80b2dac: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b2db0: 3b04 subs r3, #4 80b2db2: f8c7 30ac str.w r3, [r7, #172] ; 0xac pEnd2 = p3 - 1; 80b2db6: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b2dba: 3b04 subs r3, #4 80b2dbc: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 pEnd3 = p4 - 1; 80b2dc0: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b2dc4: 3b04 subs r3, #4 80b2dc6: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 pEnd4 = pEnd3 + L; 80b2dca: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b2dce: 009b lsls r3, r3, #2 80b2dd0: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 80b2dd4: 4413 add r3, r2 80b2dd6: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 tw2 = tw3 = tw4 = (float32_t *) S->pTwiddle; 80b2dda: 687b ldr r3, [r7, #4] 80b2ddc: 685b ldr r3, [r3, #4] 80b2dde: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80b2de2: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80b2de6: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80b2dea: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80b2dee: f8c7 309c str.w r3, [r7, #156] ; 0x9c L >>= 1; 80b2df2: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b2df6: 085b lsrs r3, r3, #1 80b2df8: f8c7 3080 str.w r3, [r7, #128] ; 0x80 // do four dot Fourier transform twMod2 = 2; 80b2dfc: 2302 movs r3, #2 80b2dfe: 66fb str r3, [r7, #108] ; 0x6c twMod3 = 4; 80b2e00: 2304 movs r3, #4 80b2e02: 66bb str r3, [r7, #104] ; 0x68 twMod4 = 6; 80b2e04: 2306 movs r3, #6 80b2e06: 667b str r3, [r7, #100] ; 0x64 // TOP p1ap3_0 = p1[0] + p3[0]; 80b2e08: 683b ldr r3, [r7, #0] 80b2e0a: ed93 7a00 vldr s14, [r3] 80b2e0e: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b2e12: edd3 7a00 vldr s15, [r3] 80b2e16: ee77 7a27 vadd.f32 s15, s14, s15 80b2e1a: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = p1[0] - p3[0]; 80b2e1e: 683b ldr r3, [r7, #0] 80b2e20: ed93 7a00 vldr s14, [r3] 80b2e24: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b2e28: edd3 7a00 vldr s15, [r3] 80b2e2c: ee77 7a67 vsub.f32 s15, s14, s15 80b2e30: edc7 7a17 vstr s15, [r7, #92] ; 0x5c p1ap3_1 = p1[1] + p3[1]; 80b2e34: 683b ldr r3, [r7, #0] 80b2e36: 3304 adds r3, #4 80b2e38: ed93 7a00 vldr s14, [r3] 80b2e3c: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b2e40: 3304 adds r3, #4 80b2e42: edd3 7a00 vldr s15, [r3] 80b2e46: ee77 7a27 vadd.f32 s15, s14, s15 80b2e4a: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = p1[1] - p3[1]; 80b2e4e: 683b ldr r3, [r7, #0] 80b2e50: 3304 adds r3, #4 80b2e52: ed93 7a00 vldr s14, [r3] 80b2e56: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b2e5a: 3304 adds r3, #4 80b2e5c: edd3 7a00 vldr s15, [r3] 80b2e60: ee77 7a67 vsub.f32 s15, s14, s15 80b2e64: edc7 7a15 vstr s15, [r7, #84] ; 0x54 // col 2 t2[0] = p1sp3_0 + p2[1] - p4[1]; 80b2e68: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b2e6c: 3304 adds r3, #4 80b2e6e: ed93 7a00 vldr s14, [r3] 80b2e72: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b2e76: ee37 7a27 vadd.f32 s14, s14, s15 80b2e7a: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b2e7e: 3304 adds r3, #4 80b2e80: edd3 7a00 vldr s15, [r3] 80b2e84: ee77 7a67 vsub.f32 s15, s14, s15 80b2e88: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[1] = p1sp3_1 - p2[0] + p4[0]; 80b2e8c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b2e90: edd3 7a00 vldr s15, [r3] 80b2e94: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b2e98: ee37 7a67 vsub.f32 s14, s14, s15 80b2e9c: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b2ea0: edd3 7a00 vldr s15, [r3] 80b2ea4: ee77 7a27 vadd.f32 s15, s14, s15 80b2ea8: edc7 7a0c vstr s15, [r7, #48] ; 0x30 // col 3 t3[0] = p1ap3_0 - p2[0] - p4[0]; 80b2eac: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b2eb0: edd3 7a00 vldr s15, [r3] 80b2eb4: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b2eb8: ee37 7a67 vsub.f32 s14, s14, s15 80b2ebc: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b2ec0: edd3 7a00 vldr s15, [r3] 80b2ec4: ee77 7a67 vsub.f32 s15, s14, s15 80b2ec8: edc7 7a07 vstr s15, [r7, #28] t3[1] = p1ap3_1 - p2[1] - p4[1]; 80b2ecc: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b2ed0: 3304 adds r3, #4 80b2ed2: edd3 7a00 vldr s15, [r3] 80b2ed6: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b2eda: ee37 7a67 vsub.f32 s14, s14, s15 80b2ede: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b2ee2: 3304 adds r3, #4 80b2ee4: edd3 7a00 vldr s15, [r3] 80b2ee8: ee77 7a67 vsub.f32 s15, s14, s15 80b2eec: edc7 7a08 vstr s15, [r7, #32] // col 4 t4[0] = p1sp3_0 - p2[1] + p4[1]; 80b2ef0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b2ef4: 3304 adds r3, #4 80b2ef6: edd3 7a00 vldr s15, [r3] 80b2efa: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b2efe: ee37 7a67 vsub.f32 s14, s14, s15 80b2f02: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b2f06: 3304 adds r3, #4 80b2f08: edd3 7a00 vldr s15, [r3] 80b2f0c: ee77 7a27 vadd.f32 s15, s14, s15 80b2f10: edc7 7a03 vstr s15, [r7, #12] t4[1] = p1sp3_1 + p2[0] - p4[0]; 80b2f14: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b2f18: ed93 7a00 vldr s14, [r3] 80b2f1c: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80b2f20: ee37 7a27 vadd.f32 s14, s14, s15 80b2f24: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b2f28: edd3 7a00 vldr s15, [r3] 80b2f2c: ee77 7a67 vsub.f32 s15, s14, s15 80b2f30: edc7 7a04 vstr s15, [r7, #16] // col 1 *p1++ = p1ap3_0 + p2[0] + p4[0]; 80b2f34: 683b ldr r3, [r7, #0] 80b2f36: 1d1a adds r2, r3, #4 80b2f38: 603a str r2, [r7, #0] 80b2f3a: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b2f3e: ed92 7a00 vldr s14, [r2] 80b2f42: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b2f46: ee37 7a27 vadd.f32 s14, s14, s15 80b2f4a: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80b2f4e: edd2 7a00 vldr s15, [r2] 80b2f52: ee77 7a27 vadd.f32 s15, s14, s15 80b2f56: edc3 7a00 vstr s15, [r3] *p1++ = p1ap3_1 + p2[1] + p4[1]; 80b2f5a: 683b ldr r3, [r7, #0] 80b2f5c: 1d1a adds r2, r3, #4 80b2f5e: 603a str r2, [r7, #0] 80b2f60: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b2f64: 3204 adds r2, #4 80b2f66: ed92 7a00 vldr s14, [r2] 80b2f6a: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b2f6e: ee37 7a27 vadd.f32 s14, s14, s15 80b2f72: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80b2f76: 3204 adds r2, #4 80b2f78: edd2 7a00 vldr s15, [r2] 80b2f7c: ee77 7a27 vadd.f32 s15, s14, s15 80b2f80: edc3 7a00 vstr s15, [r3] // Twiddle factors are ones *p2++ = t2[0]; 80b2f84: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b2f88: 1d1a adds r2, r3, #4 80b2f8a: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80b2f8e: 6afa ldr r2, [r7, #44] ; 0x2c 80b2f90: 601a str r2, [r3, #0] *p2++ = t2[1]; 80b2f92: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b2f96: 1d1a adds r2, r3, #4 80b2f98: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80b2f9c: 6b3a ldr r2, [r7, #48] ; 0x30 80b2f9e: 601a str r2, [r3, #0] *p3++ = t3[0]; 80b2fa0: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b2fa4: 1d1a adds r2, r3, #4 80b2fa6: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80b2faa: 69fa ldr r2, [r7, #28] 80b2fac: 601a str r2, [r3, #0] *p3++ = t3[1]; 80b2fae: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b2fb2: 1d1a adds r2, r3, #4 80b2fb4: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80b2fb8: 6a3a ldr r2, [r7, #32] 80b2fba: 601a str r2, [r3, #0] *p4++ = t4[0]; 80b2fbc: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b2fc0: 1d1a adds r2, r3, #4 80b2fc2: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80b2fc6: 68fa ldr r2, [r7, #12] 80b2fc8: 601a str r2, [r3, #0] *p4++ = t4[1]; 80b2fca: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b2fce: 1d1a adds r2, r3, #4 80b2fd0: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80b2fd4: 693a ldr r2, [r7, #16] 80b2fd6: 601a str r2, [r3, #0] tw2 += twMod2; 80b2fd8: 6efb ldr r3, [r7, #108] ; 0x6c 80b2fda: 009b lsls r3, r3, #2 80b2fdc: f8d7 209c ldr.w r2, [r7, #156] ; 0x9c 80b2fe0: 4413 add r3, r2 80b2fe2: f8c7 309c str.w r3, [r7, #156] ; 0x9c tw3 += twMod3; 80b2fe6: 6ebb ldr r3, [r7, #104] ; 0x68 80b2fe8: 009b lsls r3, r3, #2 80b2fea: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 80b2fee: 4413 add r3, r2 80b2ff0: f8c7 3098 str.w r3, [r7, #152] ; 0x98 tw4 += twMod4; 80b2ff4: 6e7b ldr r3, [r7, #100] ; 0x64 80b2ff6: 009b lsls r3, r3, #2 80b2ff8: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80b2ffc: 4413 add r3, r2 80b2ffe: f8c7 3094 str.w r3, [r7, #148] ; 0x94 for (l = (L - 2) >> 1; l > 0; l-- ) 80b3002: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b3006: 3b02 subs r3, #2 80b3008: 085b lsrs r3, r3, #1 80b300a: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80b300e: e31a b.n 80b3646 { // TOP p1ap3_0 = p1[0] + p3[0]; 80b3010: 683b ldr r3, [r7, #0] 80b3012: ed93 7a00 vldr s14, [r3] 80b3016: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b301a: edd3 7a00 vldr s15, [r3] 80b301e: ee77 7a27 vadd.f32 s15, s14, s15 80b3022: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = p1[0] - p3[0]; 80b3026: 683b ldr r3, [r7, #0] 80b3028: ed93 7a00 vldr s14, [r3] 80b302c: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3030: edd3 7a00 vldr s15, [r3] 80b3034: ee77 7a67 vsub.f32 s15, s14, s15 80b3038: edc7 7a17 vstr s15, [r7, #92] ; 0x5c p1ap3_1 = p1[1] + p3[1]; 80b303c: 683b ldr r3, [r7, #0] 80b303e: 3304 adds r3, #4 80b3040: ed93 7a00 vldr s14, [r3] 80b3044: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3048: 3304 adds r3, #4 80b304a: edd3 7a00 vldr s15, [r3] 80b304e: ee77 7a27 vadd.f32 s15, s14, s15 80b3052: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = p1[1] - p3[1]; 80b3056: 683b ldr r3, [r7, #0] 80b3058: 3304 adds r3, #4 80b305a: ed93 7a00 vldr s14, [r3] 80b305e: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3062: 3304 adds r3, #4 80b3064: edd3 7a00 vldr s15, [r3] 80b3068: ee77 7a67 vsub.f32 s15, s14, s15 80b306c: edc7 7a15 vstr s15, [r7, #84] ; 0x54 // col 2 t2[0] = p1sp3_0 + p2[1] - p4[1]; 80b3070: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3074: 3304 adds r3, #4 80b3076: ed93 7a00 vldr s14, [r3] 80b307a: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b307e: ee37 7a27 vadd.f32 s14, s14, s15 80b3082: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3086: 3304 adds r3, #4 80b3088: edd3 7a00 vldr s15, [r3] 80b308c: ee77 7a67 vsub.f32 s15, s14, s15 80b3090: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[1] = p1sp3_1 - p2[0] + p4[0]; 80b3094: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3098: edd3 7a00 vldr s15, [r3] 80b309c: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b30a0: ee37 7a67 vsub.f32 s14, s14, s15 80b30a4: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b30a8: edd3 7a00 vldr s15, [r3] 80b30ac: ee77 7a27 vadd.f32 s15, s14, s15 80b30b0: edc7 7a0c vstr s15, [r7, #48] ; 0x30 // col 3 t3[0] = p1ap3_0 - p2[0] - p4[0]; 80b30b4: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b30b8: edd3 7a00 vldr s15, [r3] 80b30bc: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b30c0: ee37 7a67 vsub.f32 s14, s14, s15 80b30c4: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b30c8: edd3 7a00 vldr s15, [r3] 80b30cc: ee77 7a67 vsub.f32 s15, s14, s15 80b30d0: edc7 7a07 vstr s15, [r7, #28] t3[1] = p1ap3_1 - p2[1] - p4[1]; 80b30d4: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b30d8: 3304 adds r3, #4 80b30da: edd3 7a00 vldr s15, [r3] 80b30de: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b30e2: ee37 7a67 vsub.f32 s14, s14, s15 80b30e6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b30ea: 3304 adds r3, #4 80b30ec: edd3 7a00 vldr s15, [r3] 80b30f0: ee77 7a67 vsub.f32 s15, s14, s15 80b30f4: edc7 7a08 vstr s15, [r7, #32] // col 4 t4[0] = p1sp3_0 - p2[1] + p4[1]; 80b30f8: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b30fc: 3304 adds r3, #4 80b30fe: edd3 7a00 vldr s15, [r3] 80b3102: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b3106: ee37 7a67 vsub.f32 s14, s14, s15 80b310a: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b310e: 3304 adds r3, #4 80b3110: edd3 7a00 vldr s15, [r3] 80b3114: ee77 7a27 vadd.f32 s15, s14, s15 80b3118: edc7 7a03 vstr s15, [r7, #12] t4[1] = p1sp3_1 + p2[0] - p4[0]; 80b311c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3120: ed93 7a00 vldr s14, [r3] 80b3124: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80b3128: ee37 7a27 vadd.f32 s14, s14, s15 80b312c: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3130: edd3 7a00 vldr s15, [r3] 80b3134: ee77 7a67 vsub.f32 s15, s14, s15 80b3138: edc7 7a04 vstr s15, [r7, #16] // col 1 - top *p1++ = p1ap3_0 + p2[0] + p4[0]; 80b313c: 683b ldr r3, [r7, #0] 80b313e: 1d1a adds r2, r3, #4 80b3140: 603a str r2, [r7, #0] 80b3142: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b3146: ed92 7a00 vldr s14, [r2] 80b314a: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b314e: ee37 7a27 vadd.f32 s14, s14, s15 80b3152: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80b3156: edd2 7a00 vldr s15, [r2] 80b315a: ee77 7a27 vadd.f32 s15, s14, s15 80b315e: edc3 7a00 vstr s15, [r3] *p1++ = p1ap3_1 + p2[1] + p4[1]; 80b3162: 683b ldr r3, [r7, #0] 80b3164: 1d1a adds r2, r3, #4 80b3166: 603a str r2, [r7, #0] 80b3168: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b316c: 3204 adds r2, #4 80b316e: ed92 7a00 vldr s14, [r2] 80b3172: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b3176: ee37 7a27 vadd.f32 s14, s14, s15 80b317a: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80b317e: 3204 adds r2, #4 80b3180: edd2 7a00 vldr s15, [r2] 80b3184: ee77 7a27 vadd.f32 s15, s14, s15 80b3188: edc3 7a00 vstr s15, [r3] // BOTTOM p1ap3_1 = pEnd1[-1] + pEnd3[-1]; 80b318c: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b3190: 3b04 subs r3, #4 80b3192: ed93 7a00 vldr s14, [r3] 80b3196: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b319a: 3b04 subs r3, #4 80b319c: edd3 7a00 vldr s15, [r3] 80b31a0: ee77 7a27 vadd.f32 s15, s14, s15 80b31a4: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = pEnd1[-1] - pEnd3[-1]; 80b31a8: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b31ac: 3b04 subs r3, #4 80b31ae: ed93 7a00 vldr s14, [r3] 80b31b2: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b31b6: 3b04 subs r3, #4 80b31b8: edd3 7a00 vldr s15, [r3] 80b31bc: ee77 7a67 vsub.f32 s15, s14, s15 80b31c0: edc7 7a15 vstr s15, [r7, #84] ; 0x54 p1ap3_0 = pEnd1[0] + pEnd3[0]; 80b31c4: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b31c8: ed93 7a00 vldr s14, [r3] 80b31cc: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b31d0: edd3 7a00 vldr s15, [r3] 80b31d4: ee77 7a27 vadd.f32 s15, s14, s15 80b31d8: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = pEnd1[0] - pEnd3[0]; 80b31dc: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b31e0: ed93 7a00 vldr s14, [r3] 80b31e4: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b31e8: edd3 7a00 vldr s15, [r3] 80b31ec: ee77 7a67 vsub.f32 s15, s14, s15 80b31f0: edc7 7a17 vstr s15, [r7, #92] ; 0x5c // col 2 t2[2] = pEnd2[0] - pEnd4[0] + p1sp3_1; 80b31f4: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b31f8: ed93 7a00 vldr s14, [r3] 80b31fc: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b3200: edd3 7a00 vldr s15, [r3] 80b3204: ee37 7a67 vsub.f32 s14, s14, s15 80b3208: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80b320c: ee77 7a27 vadd.f32 s15, s14, s15 80b3210: edc7 7a0d vstr s15, [r7, #52] ; 0x34 t2[3] = pEnd1[0] - pEnd3[0] - pEnd2[-1] + pEnd4[-1]; 80b3214: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b3218: ed93 7a00 vldr s14, [r3] 80b321c: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b3220: edd3 7a00 vldr s15, [r3] 80b3224: ee37 7a67 vsub.f32 s14, s14, s15 80b3228: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b322c: 3b04 subs r3, #4 80b322e: edd3 7a00 vldr s15, [r3] 80b3232: ee37 7a67 vsub.f32 s14, s14, s15 80b3236: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b323a: 3b04 subs r3, #4 80b323c: edd3 7a00 vldr s15, [r3] 80b3240: ee77 7a27 vadd.f32 s15, s14, s15 80b3244: edc7 7a0e vstr s15, [r7, #56] ; 0x38 // col 3 t3[2] = p1ap3_1 - pEnd2[-1] - pEnd4[-1]; 80b3248: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b324c: 3b04 subs r3, #4 80b324e: edd3 7a00 vldr s15, [r3] 80b3252: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b3256: ee37 7a67 vsub.f32 s14, s14, s15 80b325a: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b325e: 3b04 subs r3, #4 80b3260: edd3 7a00 vldr s15, [r3] 80b3264: ee77 7a67 vsub.f32 s15, s14, s15 80b3268: edc7 7a09 vstr s15, [r7, #36] ; 0x24 t3[3] = p1ap3_0 - pEnd2[0] - pEnd4[0]; 80b326c: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b3270: edd3 7a00 vldr s15, [r3] 80b3274: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b3278: ee37 7a67 vsub.f32 s14, s14, s15 80b327c: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b3280: edd3 7a00 vldr s15, [r3] 80b3284: ee77 7a67 vsub.f32 s15, s14, s15 80b3288: edc7 7a0a vstr s15, [r7, #40] ; 0x28 // col 4 t4[2] = pEnd2[0] - pEnd4[0] - p1sp3_1; 80b328c: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b3290: ed93 7a00 vldr s14, [r3] 80b3294: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b3298: edd3 7a00 vldr s15, [r3] 80b329c: ee37 7a67 vsub.f32 s14, s14, s15 80b32a0: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80b32a4: ee77 7a67 vsub.f32 s15, s14, s15 80b32a8: edc7 7a05 vstr s15, [r7, #20] t4[3] = pEnd4[-1] - pEnd2[-1] - p1sp3_0; 80b32ac: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b32b0: 3b04 subs r3, #4 80b32b2: ed93 7a00 vldr s14, [r3] 80b32b6: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b32ba: 3b04 subs r3, #4 80b32bc: edd3 7a00 vldr s15, [r3] 80b32c0: ee37 7a67 vsub.f32 s14, s14, s15 80b32c4: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b32c8: ee77 7a67 vsub.f32 s15, s14, s15 80b32cc: edc7 7a06 vstr s15, [r7, #24] // col 1 - Bottom *pEnd1-- = p1ap3_0 + pEnd2[0] + pEnd4[0]; 80b32d0: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b32d4: 1f1a subs r2, r3, #4 80b32d6: f8c7 20ac str.w r2, [r7, #172] ; 0xac 80b32da: f8d7 20a8 ldr.w r2, [r7, #168] ; 0xa8 80b32de: ed92 7a00 vldr s14, [r2] 80b32e2: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b32e6: ee37 7a27 vadd.f32 s14, s14, s15 80b32ea: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80b32ee: edd2 7a00 vldr s15, [r2] 80b32f2: ee77 7a27 vadd.f32 s15, s14, s15 80b32f6: edc3 7a00 vstr s15, [r3] *pEnd1-- = p1ap3_1 + pEnd2[-1] + pEnd4[-1]; 80b32fa: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b32fe: 1f1a subs r2, r3, #4 80b3300: f8c7 20ac str.w r2, [r7, #172] ; 0xac 80b3304: f8d7 20a8 ldr.w r2, [r7, #168] ; 0xa8 80b3308: 3a04 subs r2, #4 80b330a: ed92 7a00 vldr s14, [r2] 80b330e: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b3312: ee37 7a27 vadd.f32 s14, s14, s15 80b3316: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80b331a: 3a04 subs r2, #4 80b331c: edd2 7a00 vldr s15, [r2] 80b3320: ee77 7a27 vadd.f32 s15, s14, s15 80b3324: edc3 7a00 vstr s15, [r3] // COL 2 // read twiddle factors twR = *tw2++; 80b3328: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80b332c: 1d1a adds r2, r3, #4 80b332e: f8c7 209c str.w r2, [r7, #156] ; 0x9c 80b3332: 681b ldr r3, [r3, #0] 80b3334: 653b str r3, [r7, #80] ; 0x50 twI = *tw2++; 80b3336: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80b333a: 1d1a adds r2, r3, #4 80b333c: f8c7 209c str.w r2, [r7, #156] ; 0x9c 80b3340: 681b ldr r3, [r3, #0] 80b3342: 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; 80b3344: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b3348: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b334c: ee67 7a27 vmul.f32 s15, s14, s15 80b3350: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t2[1] * twI; 80b3354: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b3358: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b335c: ee67 7a27 vmul.f32 s15, s14, s15 80b3360: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t2[1] * twR; 80b3364: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b3368: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b336c: ee67 7a27 vmul.f32 s15, s14, s15 80b3370: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t2[0] * twI; 80b3374: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b3378: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b337c: ee67 7a27 vmul.f32 s15, s14, s15 80b3380: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p2++ = m0 + m1; 80b3384: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3388: 1d1a adds r2, r3, #4 80b338a: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80b338e: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b3392: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b3396: ee77 7a27 vadd.f32 s15, s14, s15 80b339a: edc3 7a00 vstr s15, [r3] *p2++ = m2 - m3; 80b339e: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b33a2: 1d1a adds r2, r3, #4 80b33a4: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80b33a8: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b33ac: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b33b0: ee77 7a67 vsub.f32 s15, s14, s15 80b33b4: edc3 7a00 vstr s15, [r3] // use vertical symmetry col 2 // 0.9997 - 0.0245i <==> 0.0245 - 0.9997i // Bottom m0 = t2[3] * twI; 80b33b8: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b33bc: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b33c0: ee67 7a27 vmul.f32 s15, s14, s15 80b33c4: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t2[2] * twR; 80b33c8: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b33cc: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b33d0: ee67 7a27 vmul.f32 s15, s14, s15 80b33d4: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t2[2] * twI; 80b33d8: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b33dc: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b33e0: ee67 7a27 vmul.f32 s15, s14, s15 80b33e4: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t2[3] * twR; 80b33e8: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b33ec: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b33f0: ee67 7a27 vmul.f32 s15, s14, s15 80b33f4: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *pEnd2-- = m0 - m1; 80b33f8: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b33fc: 1f1a subs r2, r3, #4 80b33fe: f8c7 20a8 str.w r2, [r7, #168] ; 0xa8 80b3402: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b3406: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b340a: ee77 7a67 vsub.f32 s15, s14, s15 80b340e: edc3 7a00 vstr s15, [r3] *pEnd2-- = m2 + m3; 80b3412: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80b3416: 1f1a subs r2, r3, #4 80b3418: f8c7 20a8 str.w r2, [r7, #168] ; 0xa8 80b341c: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b3420: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b3424: ee77 7a27 vadd.f32 s15, s14, s15 80b3428: edc3 7a00 vstr s15, [r3] // COL 3 twR = tw3[0]; 80b342c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80b3430: 681b ldr r3, [r3, #0] 80b3432: 653b str r3, [r7, #80] ; 0x50 twI = tw3[1]; 80b3434: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80b3438: 685b ldr r3, [r3, #4] 80b343a: 64fb str r3, [r7, #76] ; 0x4c tw3 += twMod3; 80b343c: 6ebb ldr r3, [r7, #104] ; 0x68 80b343e: 009b lsls r3, r3, #2 80b3440: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 80b3444: 4413 add r3, r2 80b3446: f8c7 3098 str.w r3, [r7, #152] ; 0x98 // Top m0 = t3[0] * twR; 80b344a: ed97 7a07 vldr s14, [r7, #28] 80b344e: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b3452: ee67 7a27 vmul.f32 s15, s14, s15 80b3456: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t3[1] * twI; 80b345a: ed97 7a08 vldr s14, [r7, #32] 80b345e: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b3462: ee67 7a27 vmul.f32 s15, s14, s15 80b3466: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t3[1] * twR; 80b346a: ed97 7a08 vldr s14, [r7, #32] 80b346e: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b3472: ee67 7a27 vmul.f32 s15, s14, s15 80b3476: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t3[0] * twI; 80b347a: ed97 7a07 vldr s14, [r7, #28] 80b347e: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b3482: ee67 7a27 vmul.f32 s15, s14, s15 80b3486: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p3++ = m0 + m1; 80b348a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b348e: 1d1a adds r2, r3, #4 80b3490: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80b3494: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b3498: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b349c: ee77 7a27 vadd.f32 s15, s14, s15 80b34a0: edc3 7a00 vstr s15, [r3] *p3++ = m2 - m3; 80b34a4: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b34a8: 1d1a adds r2, r3, #4 80b34aa: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80b34ae: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b34b2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b34b6: ee77 7a67 vsub.f32 s15, s14, s15 80b34ba: edc3 7a00 vstr s15, [r3] // use vertical symmetry col 3 // 0.9988 - 0.0491i <==> -0.9988 - 0.0491i // Bottom m0 = -t3[3] * twR; 80b34be: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b34c2: eeb1 7a67 vneg.f32 s14, s15 80b34c6: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b34ca: ee67 7a27 vmul.f32 s15, s14, s15 80b34ce: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t3[2] * twI; 80b34d2: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b34d6: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b34da: ee67 7a27 vmul.f32 s15, s14, s15 80b34de: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t3[2] * twR; 80b34e2: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b34e6: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b34ea: ee67 7a27 vmul.f32 s15, s14, s15 80b34ee: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t3[3] * twI; 80b34f2: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b34f6: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b34fa: ee67 7a27 vmul.f32 s15, s14, s15 80b34fe: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *pEnd3-- = m0 - m1; 80b3502: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b3506: 1f1a subs r2, r3, #4 80b3508: f8c7 20a4 str.w r2, [r7, #164] ; 0xa4 80b350c: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b3510: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b3514: ee77 7a67 vsub.f32 s15, s14, s15 80b3518: edc3 7a00 vstr s15, [r3] *pEnd3-- = m3 - m2; 80b351c: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b3520: 1f1a subs r2, r3, #4 80b3522: f8c7 20a4 str.w r2, [r7, #164] ; 0xa4 80b3526: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b352a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b352e: ee77 7a67 vsub.f32 s15, s14, s15 80b3532: edc3 7a00 vstr s15, [r3] // COL 4 twR = tw4[0]; 80b3536: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80b353a: 681b ldr r3, [r3, #0] 80b353c: 653b str r3, [r7, #80] ; 0x50 twI = tw4[1]; 80b353e: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80b3542: 685b ldr r3, [r3, #4] 80b3544: 64fb str r3, [r7, #76] ; 0x4c tw4 += twMod4; 80b3546: 6e7b ldr r3, [r7, #100] ; 0x64 80b3548: 009b lsls r3, r3, #2 80b354a: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80b354e: 4413 add r3, r2 80b3550: f8c7 3094 str.w r3, [r7, #148] ; 0x94 // Top m0 = t4[0] * twR; 80b3554: ed97 7a03 vldr s14, [r7, #12] 80b3558: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b355c: ee67 7a27 vmul.f32 s15, s14, s15 80b3560: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t4[1] * twI; 80b3564: ed97 7a04 vldr s14, [r7, #16] 80b3568: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b356c: ee67 7a27 vmul.f32 s15, s14, s15 80b3570: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t4[1] * twR; 80b3574: ed97 7a04 vldr s14, [r7, #16] 80b3578: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b357c: ee67 7a27 vmul.f32 s15, s14, s15 80b3580: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t4[0] * twI; 80b3584: ed97 7a03 vldr s14, [r7, #12] 80b3588: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b358c: ee67 7a27 vmul.f32 s15, s14, s15 80b3590: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p4++ = m0 + m1; 80b3594: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3598: 1d1a adds r2, r3, #4 80b359a: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80b359e: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b35a2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b35a6: ee77 7a27 vadd.f32 s15, s14, s15 80b35aa: edc3 7a00 vstr s15, [r3] *p4++ = m2 - m3; 80b35ae: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b35b2: 1d1a adds r2, r3, #4 80b35b4: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80b35b8: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b35bc: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b35c0: ee77 7a67 vsub.f32 s15, s14, s15 80b35c4: edc3 7a00 vstr s15, [r3] // use vertical symmetry col 4 // 0.9973 - 0.0736i <==> -0.0736 + 0.9973i // Bottom m0 = t4[3] * twI; 80b35c8: ed97 7a06 vldr s14, [r7, #24] 80b35cc: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b35d0: ee67 7a27 vmul.f32 s15, s14, s15 80b35d4: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t4[2] * twR; 80b35d8: ed97 7a05 vldr s14, [r7, #20] 80b35dc: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b35e0: ee67 7a27 vmul.f32 s15, s14, s15 80b35e4: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t4[2] * twI; 80b35e8: ed97 7a05 vldr s14, [r7, #20] 80b35ec: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b35f0: ee67 7a27 vmul.f32 s15, s14, s15 80b35f4: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t4[3] * twR; 80b35f8: ed97 7a06 vldr s14, [r7, #24] 80b35fc: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b3600: ee67 7a27 vmul.f32 s15, s14, s15 80b3604: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *pEnd4-- = m0 - m1; 80b3608: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b360c: 1f1a subs r2, r3, #4 80b360e: f8c7 20a0 str.w r2, [r7, #160] ; 0xa0 80b3612: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b3616: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b361a: ee77 7a67 vsub.f32 s15, s14, s15 80b361e: edc3 7a00 vstr s15, [r3] *pEnd4-- = m2 + m3; 80b3622: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80b3626: 1f1a subs r2, r3, #4 80b3628: f8c7 20a0 str.w r2, [r7, #160] ; 0xa0 80b362c: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b3630: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b3634: ee77 7a27 vadd.f32 s15, s14, s15 80b3638: edc3 7a00 vstr s15, [r3] for (l = (L - 2) >> 1; l > 0; l-- ) 80b363c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80b3640: 3b01 subs r3, #1 80b3642: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80b3646: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80b364a: 2b00 cmp r3, #0 80b364c: f47f ace0 bne.w 80b3010 } //MIDDLE // Twiddle factors are // 1.0000 0.7071-0.7071i -1.0000i -0.7071-0.7071i p1ap3_0 = p1[0] + p3[0]; 80b3650: 683b ldr r3, [r7, #0] 80b3652: ed93 7a00 vldr s14, [r3] 80b3656: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b365a: edd3 7a00 vldr s15, [r3] 80b365e: ee77 7a27 vadd.f32 s15, s14, s15 80b3662: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = p1[0] - p3[0]; 80b3666: 683b ldr r3, [r7, #0] 80b3668: ed93 7a00 vldr s14, [r3] 80b366c: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3670: edd3 7a00 vldr s15, [r3] 80b3674: ee77 7a67 vsub.f32 s15, s14, s15 80b3678: edc7 7a17 vstr s15, [r7, #92] ; 0x5c p1ap3_1 = p1[1] + p3[1]; 80b367c: 683b ldr r3, [r7, #0] 80b367e: 3304 adds r3, #4 80b3680: ed93 7a00 vldr s14, [r3] 80b3684: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b3688: 3304 adds r3, #4 80b368a: edd3 7a00 vldr s15, [r3] 80b368e: ee77 7a27 vadd.f32 s15, s14, s15 80b3692: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = p1[1] - p3[1]; 80b3696: 683b ldr r3, [r7, #0] 80b3698: 3304 adds r3, #4 80b369a: ed93 7a00 vldr s14, [r3] 80b369e: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b36a2: 3304 adds r3, #4 80b36a4: edd3 7a00 vldr s15, [r3] 80b36a8: ee77 7a67 vsub.f32 s15, s14, s15 80b36ac: edc7 7a15 vstr s15, [r7, #84] ; 0x54 // col 2 t2[0] = p1sp3_0 + p2[1] - p4[1]; 80b36b0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b36b4: 3304 adds r3, #4 80b36b6: ed93 7a00 vldr s14, [r3] 80b36ba: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80b36be: ee37 7a27 vadd.f32 s14, s14, s15 80b36c2: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b36c6: 3304 adds r3, #4 80b36c8: edd3 7a00 vldr s15, [r3] 80b36cc: ee77 7a67 vsub.f32 s15, s14, s15 80b36d0: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[1] = p1sp3_1 - p2[0] + p4[0]; 80b36d4: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b36d8: edd3 7a00 vldr s15, [r3] 80b36dc: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b36e0: ee37 7a67 vsub.f32 s14, s14, s15 80b36e4: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b36e8: edd3 7a00 vldr s15, [r3] 80b36ec: ee77 7a27 vadd.f32 s15, s14, s15 80b36f0: edc7 7a0c vstr s15, [r7, #48] ; 0x30 // col 3 t3[0] = p1ap3_0 - p2[0] - p4[0]; 80b36f4: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b36f8: edd3 7a00 vldr s15, [r3] 80b36fc: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b3700: ee37 7a67 vsub.f32 s14, s14, s15 80b3704: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3708: edd3 7a00 vldr s15, [r3] 80b370c: ee77 7a67 vsub.f32 s15, s14, s15 80b3710: edc7 7a07 vstr s15, [r7, #28] t3[1] = p1ap3_1 - p2[1] - p4[1]; 80b3714: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3718: 3304 adds r3, #4 80b371a: edd3 7a00 vldr s15, [r3] 80b371e: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b3722: ee37 7a67 vsub.f32 s14, s14, s15 80b3726: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b372a: 3304 adds r3, #4 80b372c: edd3 7a00 vldr s15, [r3] 80b3730: ee77 7a67 vsub.f32 s15, s14, s15 80b3734: edc7 7a08 vstr s15, [r7, #32] // col 4 t4[0] = p1sp3_0 - p2[1] + p4[1]; 80b3738: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b373c: 3304 adds r3, #4 80b373e: edd3 7a00 vldr s15, [r3] 80b3742: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b3746: ee37 7a67 vsub.f32 s14, s14, s15 80b374a: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b374e: 3304 adds r3, #4 80b3750: edd3 7a00 vldr s15, [r3] 80b3754: ee77 7a27 vadd.f32 s15, s14, s15 80b3758: edc7 7a03 vstr s15, [r7, #12] t4[1] = p1sp3_1 + p2[0] - p4[0]; 80b375c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3760: ed93 7a00 vldr s14, [r3] 80b3764: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80b3768: ee37 7a27 vadd.f32 s14, s14, s15 80b376c: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3770: edd3 7a00 vldr s15, [r3] 80b3774: ee77 7a67 vsub.f32 s15, s14, s15 80b3778: edc7 7a04 vstr s15, [r7, #16] // col 1 - Top *p1++ = p1ap3_0 + p2[0] + p4[0]; 80b377c: 683b ldr r3, [r7, #0] 80b377e: 1d1a adds r2, r3, #4 80b3780: 603a str r2, [r7, #0] 80b3782: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b3786: ed92 7a00 vldr s14, [r2] 80b378a: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b378e: ee37 7a27 vadd.f32 s14, s14, s15 80b3792: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80b3796: edd2 7a00 vldr s15, [r2] 80b379a: ee77 7a27 vadd.f32 s15, s14, s15 80b379e: edc3 7a00 vstr s15, [r3] *p1++ = p1ap3_1 + p2[1] + p4[1]; 80b37a2: 683b ldr r3, [r7, #0] 80b37a4: 1d1a adds r2, r3, #4 80b37a6: 603a str r2, [r7, #0] 80b37a8: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80b37ac: 3204 adds r2, #4 80b37ae: ed92 7a00 vldr s14, [r2] 80b37b2: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80b37b6: ee37 7a27 vadd.f32 s14, s14, s15 80b37ba: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80b37be: 3204 adds r2, #4 80b37c0: edd2 7a00 vldr s15, [r2] 80b37c4: ee77 7a27 vadd.f32 s15, s14, s15 80b37c8: edc3 7a00 vstr s15, [r3] // COL 2 twR = tw2[0]; 80b37cc: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80b37d0: 681b ldr r3, [r3, #0] 80b37d2: 653b str r3, [r7, #80] ; 0x50 twI = tw2[1]; 80b37d4: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80b37d8: 685b ldr r3, [r3, #4] 80b37da: 64fb str r3, [r7, #76] ; 0x4c m0 = t2[0] * twR; 80b37dc: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b37e0: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b37e4: ee67 7a27 vmul.f32 s15, s14, s15 80b37e8: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t2[1] * twI; 80b37ec: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b37f0: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b37f4: ee67 7a27 vmul.f32 s15, s14, s15 80b37f8: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t2[1] * twR; 80b37fc: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b3800: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b3804: ee67 7a27 vmul.f32 s15, s14, s15 80b3808: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t2[0] * twI; 80b380c: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b3810: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b3814: ee67 7a27 vmul.f32 s15, s14, s15 80b3818: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p2++ = m0 + m1; 80b381c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b3820: 1d1a adds r2, r3, #4 80b3822: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80b3826: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b382a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b382e: ee77 7a27 vadd.f32 s15, s14, s15 80b3832: edc3 7a00 vstr s15, [r3] *p2++ = m2 - m3; 80b3836: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80b383a: 1d1a adds r2, r3, #4 80b383c: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80b3840: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b3844: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b3848: ee77 7a67 vsub.f32 s15, s14, s15 80b384c: edc3 7a00 vstr s15, [r3] // COL 3 twR = tw3[0]; 80b3850: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80b3854: 681b ldr r3, [r3, #0] 80b3856: 653b str r3, [r7, #80] ; 0x50 twI = tw3[1]; 80b3858: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80b385c: 685b ldr r3, [r3, #4] 80b385e: 64fb str r3, [r7, #76] ; 0x4c m0 = t3[0] * twR; 80b3860: ed97 7a07 vldr s14, [r7, #28] 80b3864: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b3868: ee67 7a27 vmul.f32 s15, s14, s15 80b386c: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t3[1] * twI; 80b3870: ed97 7a08 vldr s14, [r7, #32] 80b3874: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b3878: ee67 7a27 vmul.f32 s15, s14, s15 80b387c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t3[1] * twR; 80b3880: ed97 7a08 vldr s14, [r7, #32] 80b3884: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b3888: ee67 7a27 vmul.f32 s15, s14, s15 80b388c: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t3[0] * twI; 80b3890: ed97 7a07 vldr s14, [r7, #28] 80b3894: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b3898: ee67 7a27 vmul.f32 s15, s14, s15 80b389c: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p3++ = m0 + m1; 80b38a0: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b38a4: 1d1a adds r2, r3, #4 80b38a6: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80b38aa: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b38ae: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b38b2: ee77 7a27 vadd.f32 s15, s14, s15 80b38b6: edc3 7a00 vstr s15, [r3] *p3++ = m2 - m3; 80b38ba: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80b38be: 1d1a adds r2, r3, #4 80b38c0: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80b38c4: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b38c8: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b38cc: ee77 7a67 vsub.f32 s15, s14, s15 80b38d0: edc3 7a00 vstr s15, [r3] // COL 4 twR = tw4[0]; 80b38d4: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80b38d8: 681b ldr r3, [r3, #0] 80b38da: 653b str r3, [r7, #80] ; 0x50 twI = tw4[1]; 80b38dc: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80b38e0: 685b ldr r3, [r3, #4] 80b38e2: 64fb str r3, [r7, #76] ; 0x4c m0 = t4[0] * twR; 80b38e4: ed97 7a03 vldr s14, [r7, #12] 80b38e8: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b38ec: ee67 7a27 vmul.f32 s15, s14, s15 80b38f0: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t4[1] * twI; 80b38f4: ed97 7a04 vldr s14, [r7, #16] 80b38f8: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b38fc: ee67 7a27 vmul.f32 s15, s14, s15 80b3900: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t4[1] * twR; 80b3904: ed97 7a04 vldr s14, [r7, #16] 80b3908: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80b390c: ee67 7a27 vmul.f32 s15, s14, s15 80b3910: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t4[0] * twI; 80b3914: ed97 7a03 vldr s14, [r7, #12] 80b3918: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b391c: ee67 7a27 vmul.f32 s15, s14, s15 80b3920: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p4++ = m0 + m1; 80b3924: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3928: 1d1a adds r2, r3, #4 80b392a: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80b392e: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b3932: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b3936: ee77 7a27 vadd.f32 s15, s14, s15 80b393a: edc3 7a00 vstr s15, [r3] *p4++ = m2 - m3; 80b393e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80b3942: 1d1a adds r2, r3, #4 80b3944: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80b3948: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b394c: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b3950: ee77 7a67 vsub.f32 s15, s14, s15 80b3954: edc3 7a00 vstr s15, [r3] // first col arm_radix8_butterfly_f32( pCol1, L, (float32_t *) S->pTwiddle, 4u); 80b3958: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b395c: b299 uxth r1, r3 80b395e: 687b ldr r3, [r7, #4] 80b3960: 685a ldr r2, [r3, #4] 80b3962: 2304 movs r3, #4 80b3964: 6ff8 ldr r0, [r7, #124] ; 0x7c 80b3966: f001 fbf9 bl 80b515c // second col arm_radix8_butterfly_f32( pCol2, L, (float32_t *) S->pTwiddle, 4u); 80b396a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b396e: b299 uxth r1, r3 80b3970: 687b ldr r3, [r7, #4] 80b3972: 685a ldr r2, [r3, #4] 80b3974: 2304 movs r3, #4 80b3976: 6fb8 ldr r0, [r7, #120] ; 0x78 80b3978: f001 fbf0 bl 80b515c // third col arm_radix8_butterfly_f32( pCol3, L, (float32_t *) S->pTwiddle, 4u); 80b397c: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b3980: b299 uxth r1, r3 80b3982: 687b ldr r3, [r7, #4] 80b3984: 685a ldr r2, [r3, #4] 80b3986: 2304 movs r3, #4 80b3988: 6f78 ldr r0, [r7, #116] ; 0x74 80b398a: f001 fbe7 bl 80b515c // fourth col arm_radix8_butterfly_f32( pCol4, L, (float32_t *) S->pTwiddle, 4u); 80b398e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80b3992: b299 uxth r1, r3 80b3994: 687b ldr r3, [r7, #4] 80b3996: 685a ldr r2, [r3, #4] 80b3998: 2304 movs r3, #4 80b399a: 6f38 ldr r0, [r7, #112] ; 0x70 80b399c: f001 fbde bl 80b515c } 80b39a0: bf00 nop 80b39a2: 37b0 adds r7, #176 ; 0xb0 80b39a4: 46bd mov sp, r7 80b39a6: bd80 pop {r7, pc} 080b39a8 : void arm_cfft_f32( const arm_cfft_instance_f32 * S, float32_t * p1, uint8_t ifftFlag, uint8_t bitReverseFlag) { 80b39a8: b580 push {r7, lr} 80b39aa: b088 sub sp, #32 80b39ac: af00 add r7, sp, #0 80b39ae: 60f8 str r0, [r7, #12] 80b39b0: 60b9 str r1, [r7, #8] 80b39b2: 4611 mov r1, r2 80b39b4: 461a mov r2, r3 80b39b6: 460b mov r3, r1 80b39b8: 71fb strb r3, [r7, #7] 80b39ba: 4613 mov r3, r2 80b39bc: 71bb strb r3, [r7, #6] uint32_t L = S->fftLen, l; 80b39be: 68fb ldr r3, [r7, #12] 80b39c0: 881b ldrh r3, [r3, #0] 80b39c2: 617b str r3, [r7, #20] float32_t invL, * pSrc; if(ifftFlag == 1u) 80b39c4: 79fb ldrb r3, [r7, #7] 80b39c6: 2b01 cmp r3, #1 80b39c8: d117 bne.n 80b39fa { /* Conjugate input data */ pSrc = p1 + 1; 80b39ca: 68bb ldr r3, [r7, #8] 80b39cc: 3304 adds r3, #4 80b39ce: 61bb str r3, [r7, #24] for(l=0; l { *pSrc = -*pSrc; 80b39d6: 69bb ldr r3, [r7, #24] 80b39d8: edd3 7a00 vldr s15, [r3] 80b39dc: eef1 7a67 vneg.f32 s15, s15 80b39e0: 69bb ldr r3, [r7, #24] 80b39e2: edc3 7a00 vstr s15, [r3] pSrc += 2; 80b39e6: 69bb ldr r3, [r7, #24] 80b39e8: 3308 adds r3, #8 80b39ea: 61bb str r3, [r7, #24] for(l=0; l } } switch (L) 80b39fa: 697b ldr r3, [r7, #20] 80b39fc: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b3a00: d024 beq.n 80b3a4c 80b3a02: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b3a06: d80b bhi.n 80b3a20 80b3a08: 2b20 cmp r3, #32 80b3a0a: d01f beq.n 80b3a4c 80b3a0c: 2b20 cmp r3, #32 80b3a0e: d802 bhi.n 80b3a16 80b3a10: 2b10 cmp r3, #16 80b3a12: d016 beq.n 80b3a42 80b3a14: e028 b.n 80b3a68 80b3a16: 2b40 cmp r3, #64 ; 0x40 80b3a18: d01d beq.n 80b3a56 80b3a1a: 2b80 cmp r3, #128 ; 0x80 80b3a1c: d011 beq.n 80b3a42 80b3a1e: e023 b.n 80b3a68 80b3a20: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b3a24: d00d beq.n 80b3a42 80b3a26: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b3a2a: d803 bhi.n 80b3a34 80b3a2c: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b3a30: d011 beq.n 80b3a56 80b3a32: e019 b.n 80b3a68 80b3a34: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b3a38: d008 beq.n 80b3a4c 80b3a3a: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b3a3e: d00a beq.n 80b3a56 80b3a40: e012 b.n 80b3a68 { case 16: case 128: case 1024: arm_cfft_radix8by2_f32 ( (arm_cfft_instance_f32 *) S, p1); 80b3a42: 68b9 ldr r1, [r7, #8] 80b3a44: 68f8 ldr r0, [r7, #12] 80b3a46: f7fe ff90 bl 80b296a break; 80b3a4a: e00d b.n 80b3a68 case 32: case 256: case 2048: arm_cfft_radix8by4_f32 ( (arm_cfft_instance_f32 *) S, p1); 80b3a4c: 68b9 ldr r1, [r7, #8] 80b3a4e: 68f8 ldr r0, [r7, #12] 80b3a50: f7ff f97f bl 80b2d52 break; 80b3a54: e008 b.n 80b3a68 case 64: case 512: case 4096: arm_radix8_butterfly_f32( p1, L, (float32_t *) S->pTwiddle, 1); 80b3a56: 697b ldr r3, [r7, #20] 80b3a58: b299 uxth r1, r3 80b3a5a: 68fb ldr r3, [r7, #12] 80b3a5c: 685a ldr r2, [r3, #4] 80b3a5e: 2301 movs r3, #1 80b3a60: 68b8 ldr r0, [r7, #8] 80b3a62: f001 fb7b bl 80b515c break; 80b3a66: bf00 nop } if( bitReverseFlag ) 80b3a68: 79bb ldrb r3, [r7, #6] 80b3a6a: 2b00 cmp r3, #0 80b3a6c: d007 beq.n 80b3a7e arm_bitreversal_32((uint32_t*)p1,S->bitRevLength,S->pBitRevTable); 80b3a6e: 68fb ldr r3, [r7, #12] 80b3a70: 8999 ldrh r1, [r3, #12] 80b3a72: 68fb ldr r3, [r7, #12] 80b3a74: 689b ldr r3, [r3, #8] 80b3a76: 461a mov r2, r3 80b3a78: 68b8 ldr r0, [r7, #8] 80b3a7a: f76c fbe1 bl 8020240 if(ifftFlag == 1u) 80b3a7e: 79fb ldrb r3, [r7, #7] 80b3a80: 2b01 cmp r3, #1 80b3a82: d130 bne.n 80b3ae6 { invL = 1.0f/(float32_t)L; 80b3a84: 697b ldr r3, [r7, #20] 80b3a86: ee07 3a90 vmov s15, r3 80b3a8a: eeb8 7a67 vcvt.f32.u32 s14, s15 80b3a8e: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 80b3a92: eec6 7a87 vdiv.f32 s15, s13, s14 80b3a96: edc7 7a04 vstr s15, [r7, #16] /* Conjugate and scale output data */ pSrc = p1; 80b3a9a: 68bb ldr r3, [r7, #8] 80b3a9c: 61bb str r3, [r7, #24] for(l=0; l { *pSrc++ *= invL ; 80b3aa4: 69bb ldr r3, [r7, #24] 80b3aa6: 1d1a adds r2, r3, #4 80b3aa8: 61ba str r2, [r7, #24] 80b3aaa: ed93 7a00 vldr s14, [r3] 80b3aae: edd7 7a04 vldr s15, [r7, #16] 80b3ab2: ee67 7a27 vmul.f32 s15, s14, s15 80b3ab6: edc3 7a00 vstr s15, [r3] *pSrc = -(*pSrc) * invL; 80b3aba: 69bb ldr r3, [r7, #24] 80b3abc: edd3 7a00 vldr s15, [r3] 80b3ac0: eeb1 7a67 vneg.f32 s14, s15 80b3ac4: edd7 7a04 vldr s15, [r7, #16] 80b3ac8: ee67 7a27 vmul.f32 s15, s14, s15 80b3acc: 69bb ldr r3, [r7, #24] 80b3ace: edc3 7a00 vstr s15, [r3] pSrc++; 80b3ad2: 69bb ldr r3, [r7, #24] 80b3ad4: 3304 adds r3, #4 80b3ad6: 61bb str r3, [r7, #24] for(l=0; l } } } 80b3ae6: bf00 nop 80b3ae8: 3720 adds r7, #32 80b3aea: 46bd mov sp, r7 80b3aec: bd80 pop {r7, pc} 080b3aee : void arm_radix4_butterfly_f32( float32_t * pSrc, uint16_t fftLen, float32_t * pCoef, uint16_t twidCoefModifier) { 80b3aee: b480 push {r7} 80b3af0: b0c1 sub sp, #260 ; 0x104 80b3af2: af00 add r7, sp, #0 80b3af4: 60f8 str r0, [r7, #12] 80b3af6: 607a str r2, [r7, #4] 80b3af8: 461a mov r2, r3 80b3afa: 460b mov r3, r1 80b3afc: 817b strh r3, [r7, #10] 80b3afe: 4613 mov r3, r2 80b3b00: 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; 80b3b02: 897b ldrh r3, [r7, #10] 80b3b04: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 n1 = n2; 80b3b08: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b3b0c: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 /* n2 = fftLen/4 */ n2 >>= 2u; 80b3b10: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b3b14: 089b lsrs r3, r3, #2 80b3b16: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 i0 = 0u; 80b3b1a: 2300 movs r3, #0 80b3b1c: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 ia1 = 0u; 80b3b20: 2300 movs r3, #0 80b3b22: f8c7 30fc str.w r3, [r7, #252] ; 0xfc j = n2; 80b3b26: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b3b2a: 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; 80b3b2e: f8d7 20f8 ldr.w r2, [r7, #248] ; 0xf8 80b3b32: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b3b36: 4413 add r3, r2 80b3b38: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 i2 = i1 + n2; 80b3b3c: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80b3b40: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b3b44: 4413 add r3, r2 80b3b46: f8c7 30dc str.w r3, [r7, #220] ; 0xdc i3 = i2 + n2; 80b3b4a: f8d7 20dc ldr.w r2, [r7, #220] ; 0xdc 80b3b4e: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b3b52: 4413 add r3, r2 80b3b54: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xaIn = pSrc[(2u * i0)]; 80b3b58: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b3b5c: 00db lsls r3, r3, #3 80b3b5e: 68fa ldr r2, [r7, #12] 80b3b60: 4413 add r3, r2 80b3b62: 681b ldr r3, [r3, #0] 80b3b64: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 yaIn = pSrc[(2u * i0) + 1u]; 80b3b68: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b3b6c: 00db lsls r3, r3, #3 80b3b6e: 3304 adds r3, #4 80b3b70: 68fa ldr r2, [r7, #12] 80b3b72: 4413 add r3, r2 80b3b74: 681b ldr r3, [r3, #0] 80b3b76: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = pSrc[(2u * i1)]; 80b3b7a: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b3b7e: 00db lsls r3, r3, #3 80b3b80: 68fa ldr r2, [r7, #12] 80b3b82: 4413 add r3, r2 80b3b84: 681b ldr r3, [r3, #0] 80b3b86: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b3b8a: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b3b8e: 00db lsls r3, r3, #3 80b3b90: 3304 adds r3, #4 80b3b92: 68fa ldr r2, [r7, #12] 80b3b94: 4413 add r3, r2 80b3b96: 681b ldr r3, [r3, #0] 80b3b98: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = pSrc[(2u * i2)]; 80b3b9c: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b3ba0: 00db lsls r3, r3, #3 80b3ba2: 68fa ldr r2, [r7, #12] 80b3ba4: 4413 add r3, r2 80b3ba6: 681b ldr r3, [r3, #0] 80b3ba8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ycIn = pSrc[(2u * i2) + 1u]; 80b3bac: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b3bb0: 00db lsls r3, r3, #3 80b3bb2: 3304 adds r3, #4 80b3bb4: 68fa ldr r2, [r7, #12] 80b3bb6: 4413 add r3, r2 80b3bb8: 681b ldr r3, [r3, #0] 80b3bba: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 xdIn = pSrc[(2u * i3)]; 80b3bbe: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b3bc2: 00db lsls r3, r3, #3 80b3bc4: 68fa ldr r2, [r7, #12] 80b3bc6: 4413 add r3, r2 80b3bc8: 681b ldr r3, [r3, #0] 80b3bca: f8c7 30bc str.w r3, [r7, #188] ; 0xbc ydIn = pSrc[(2u * i3) + 1u]; 80b3bce: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b3bd2: 00db lsls r3, r3, #3 80b3bd4: 3304 adds r3, #4 80b3bd6: 68fa ldr r2, [r7, #12] 80b3bd8: 4413 add r3, r2 80b3bda: 681b ldr r3, [r3, #0] 80b3bdc: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b3be0: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b3be4: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b3be8: ee77 7a27 vadd.f32 s15, s14, s15 80b3bec: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b3bf0: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b3bf4: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b3bf8: ee77 7a27 vadd.f32 s15, s14, s15 80b3bfc: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b3c00: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b3c04: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b3c08: ee77 7a27 vadd.f32 s15, s14, s15 80b3c0c: edc7 7a2b vstr s15, [r7, #172] ; 0xac /* yb + yd */ Ybplusd = ybIn + ydIn; 80b3c10: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b3c14: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b3c18: ee77 7a27 vadd.f32 s15, s14, s15 80b3c1c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b3c20: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b3c24: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b3c28: 4413 add r3, r2 80b3c2a: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 co2 = pCoef[ia2 * 2u]; 80b3c2e: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b3c32: 00db lsls r3, r3, #3 80b3c34: 687a ldr r2, [r7, #4] 80b3c36: 4413 add r3, r2 80b3c38: 681b ldr r3, [r3, #0] 80b3c3a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 si2 = pCoef[(ia2 * 2u) + 1u]; 80b3c3e: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b3c42: 00db lsls r3, r3, #3 80b3c44: 3304 adds r3, #4 80b3c46: 687a ldr r2, [r7, #4] 80b3c48: 4413 add r3, r2 80b3c4a: 681b ldr r3, [r3, #0] 80b3c4c: f8c7 309c str.w r3, [r7, #156] ; 0x9c /* xa - xc */ Xaminusc = xaIn - xcIn; 80b3c50: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b3c54: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b3c58: ee77 7a67 vsub.f32 s15, s14, s15 80b3c5c: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* xb - xd */ Xbminusd = xbIn - xdIn; 80b3c60: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b3c64: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b3c68: ee77 7a67 vsub.f32 s15, s14, s15 80b3c6c: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* ya - yc */ Yaminusc = yaIn - ycIn; 80b3c70: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b3c74: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b3c78: ee77 7a67 vsub.f32 s15, s14, s15 80b3c7c: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* yb - yd */ Ybminusd = ybIn - ydIn; 80b3c80: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b3c84: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b3c88: ee77 7a67 vsub.f32 s15, s14, s15 80b3c8c: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa' = xa + xb + xc + xd */ pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b3c90: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b3c94: 00db lsls r3, r3, #3 80b3c96: 68fa ldr r2, [r7, #12] 80b3c98: 4413 add r3, r2 80b3c9a: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b3c9e: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b3ca2: ee77 7a27 vadd.f32 s15, s14, s15 80b3ca6: edc3 7a00 vstr s15, [r3] /* ya' = ya + yb + yc + yd */ pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b3caa: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b3cae: 00db lsls r3, r3, #3 80b3cb0: 3304 adds r3, #4 80b3cb2: 68fa ldr r2, [r7, #12] 80b3cb4: 4413 add r3, r2 80b3cb6: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b3cba: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b3cbe: ee77 7a27 vadd.f32 s15, s14, s15 80b3cc2: edc3 7a00 vstr s15, [r3] /* (xa - xc) + (yb - yd) */ Xb12C_out = (Xaminusc + Ybminusd); 80b3cc6: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b3cca: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b3cce: ee77 7a27 vadd.f32 s15, s14, s15 80b3cd2: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya - yc) + (xb - xd) */ Yb12C_out = (Yaminusc - Xbminusd); 80b3cd6: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b3cda: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b3cde: ee77 7a67 vsub.f32 s15, s14, s15 80b3ce2: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* (xa + xc) - (xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b3ce6: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b3cea: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b3cee: ee77 7a67 vsub.f32 s15, s14, s15 80b3cf2: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b3cf6: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b3cfa: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b3cfe: ee77 7a67 vsub.f32 s15, s14, s15 80b3d02: edc7 7a1f vstr s15, [r7, #124] ; 0x7c /* (xa - xc) - (yb - yd) */ Xd12C_out = (Xaminusc - Ybminusd); 80b3d06: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b3d0a: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b3d0e: ee77 7a67 vsub.f32 s15, s14, s15 80b3d12: edc7 7a1e vstr s15, [r7, #120] ; 0x78 /* (ya - yc) + (xb - xd) */ Yd12C_out = (Xbminusd + Yaminusc); 80b3d16: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b3d1a: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b3d1e: ee77 7a27 vadd.f32 s15, s14, s15 80b3d22: edc7 7a1d vstr s15, [r7, #116] ; 0x74 co1 = pCoef[ia1 * 2u]; 80b3d26: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b3d2a: 00db lsls r3, r3, #3 80b3d2c: 687a ldr r2, [r7, #4] 80b3d2e: 4413 add r3, r2 80b3d30: 681b ldr r3, [r3, #0] 80b3d32: 673b str r3, [r7, #112] ; 0x70 si1 = pCoef[(ia1 * 2u) + 1u]; 80b3d34: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b3d38: 00db lsls r3, r3, #3 80b3d3a: 3304 adds r3, #4 80b3d3c: 687a ldr r2, [r7, #4] 80b3d3e: 4413 add r3, r2 80b3d40: 681b ldr r3, [r3, #0] 80b3d42: 66fb str r3, [r7, #108] ; 0x6c /* index calculation for the coefficients */ ia3 = ia2 + ia1; 80b3d44: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 80b3d48: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b3d4c: 4413 add r3, r2 80b3d4e: 66bb str r3, [r7, #104] ; 0x68 co3 = pCoef[ia3 * 2u]; 80b3d50: 6ebb ldr r3, [r7, #104] ; 0x68 80b3d52: 00db lsls r3, r3, #3 80b3d54: 687a ldr r2, [r7, #4] 80b3d56: 4413 add r3, r2 80b3d58: 681b ldr r3, [r3, #0] 80b3d5a: 667b str r3, [r7, #100] ; 0x64 si3 = pCoef[(ia3 * 2u) + 1u]; 80b3d5c: 6ebb ldr r3, [r7, #104] ; 0x68 80b3d5e: 00db lsls r3, r3, #3 80b3d60: 3304 adds r3, #4 80b3d62: 687a ldr r2, [r7, #4] 80b3d64: 4413 add r3, r2 80b3d66: 681b ldr r3, [r3, #0] 80b3d68: 663b str r3, [r7, #96] ; 0x60 Xb12_out = Xb12C_out * co1; 80b3d6a: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b3d6e: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b3d72: ee67 7a27 vmul.f32 s15, s14, s15 80b3d76: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out = Yb12C_out * co1; 80b3d7a: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b3d7e: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b3d82: ee67 7a27 vmul.f32 s15, s14, s15 80b3d86: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out = Xc12C_out * co2; 80b3d8a: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b3d8e: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b3d92: ee67 7a27 vmul.f32 s15, s14, s15 80b3d96: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out = Yc12C_out * co2; 80b3d9a: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b3d9e: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b3da2: ee67 7a27 vmul.f32 s15, s14, s15 80b3da6: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out = Xd12C_out * co3; 80b3daa: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b3dae: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b3db2: ee67 7a27 vmul.f32 s15, s14, s15 80b3db6: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out = Yd12C_out * co3; 80b3dba: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b3dbe: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b3dc2: ee67 7a27 vmul.f32 s15, s14, s15 80b3dc6: 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; 80b3dca: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b3dce: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b3dd2: ee67 7a27 vmul.f32 s15, s14, s15 80b3dd6: 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; 80b3dda: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b3dde: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b3de2: ee67 7a27 vmul.f32 s15, s14, s15 80b3de6: 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; 80b3dea: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b3dee: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b3df2: ee67 7a27 vmul.f32 s15, s14, s15 80b3df6: 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; 80b3dfa: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b3dfe: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b3e02: ee67 7a27 vmul.f32 s15, s14, s15 80b3e06: 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; 80b3e0a: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b3e0e: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b3e12: ee67 7a27 vmul.f32 s15, s14, s15 80b3e16: 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; 80b3e1a: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b3e1e: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b3e22: ee67 7a27 vmul.f32 s15, s14, s15 80b3e26: edc7 7a0c vstr s15, [r7, #48] ; 0x30 Xb12_out += p0; 80b3e2a: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b3e2e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b3e32: ee77 7a27 vadd.f32 s15, s14, s15 80b3e36: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out -= p1; 80b3e3a: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b3e3e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b3e42: ee77 7a67 vsub.f32 s15, s14, s15 80b3e46: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out += p2; 80b3e4a: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b3e4e: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b3e52: ee77 7a27 vadd.f32 s15, s14, s15 80b3e56: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out -= p3; 80b3e5a: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b3e5e: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b3e62: ee77 7a67 vsub.f32 s15, s14, s15 80b3e66: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out += p4; 80b3e6a: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b3e6e: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b3e72: ee77 7a27 vadd.f32 s15, s14, s15 80b3e76: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out -= p5; 80b3e7a: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b3e7e: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b3e82: ee77 7a67 vsub.f32 s15, s14, s15 80b3e86: edc7 7a12 vstr s15, [r7, #72] ; 0x48 /* xc' = (xa-xb+xc-xd)co2 + (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b3e8a: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b3e8e: 00db lsls r3, r3, #3 80b3e90: 68fa ldr r2, [r7, #12] 80b3e92: 4413 add r3, r2 80b3e94: 6d7a ldr r2, [r7, #84] ; 0x54 80b3e96: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 - (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b3e98: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b3e9c: 00db lsls r3, r3, #3 80b3e9e: 3304 adds r3, #4 80b3ea0: 68fa ldr r2, [r7, #12] 80b3ea2: 4413 add r3, r2 80b3ea4: 6d3a ldr r2, [r7, #80] ; 0x50 80b3ea6: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 + (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b3ea8: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b3eac: 00db lsls r3, r3, #3 80b3eae: 68fa ldr r2, [r7, #12] 80b3eb0: 4413 add r3, r2 80b3eb2: 6dfa ldr r2, [r7, #92] ; 0x5c 80b3eb4: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 - (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b3eb6: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b3eba: 00db lsls r3, r3, #3 80b3ebc: 3304 adds r3, #4 80b3ebe: 68fa ldr r2, [r7, #12] 80b3ec0: 4413 add r3, r2 80b3ec2: 6dba ldr r2, [r7, #88] ; 0x58 80b3ec4: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 + (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b3ec6: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b3eca: 00db lsls r3, r3, #3 80b3ecc: 68fa ldr r2, [r7, #12] 80b3ece: 4413 add r3, r2 80b3ed0: 6cfa ldr r2, [r7, #76] ; 0x4c 80b3ed2: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 - (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b3ed4: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b3ed8: 00db lsls r3, r3, #3 80b3eda: 3304 adds r3, #4 80b3edc: 68fa ldr r2, [r7, #12] 80b3ede: 4413 add r3, r2 80b3ee0: 6cba ldr r2, [r7, #72] ; 0x48 80b3ee2: 601a str r2, [r3, #0] /* Twiddle coefficients index modifier */ ia1 += twidCoefModifier; 80b3ee4: 893b ldrh r3, [r7, #8] 80b3ee6: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b3eea: 4413 add r3, r2 80b3eec: f8c7 30fc str.w r3, [r7, #252] ; 0xfc /* Updating input index */ i0++; 80b3ef0: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b3ef4: 3301 adds r3, #1 80b3ef6: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 } while(--j); 80b3efa: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b3efe: 3b01 subs r3, #1 80b3f00: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 80b3f04: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b3f08: 2b00 cmp r3, #0 80b3f0a: f47f ae10 bne.w 80b3b2e twidCoefModifier <<= 2u; 80b3f0e: 893b ldrh r3, [r7, #8] 80b3f10: 009b lsls r3, r3, #2 80b3f12: 813b strh r3, [r7, #8] /* Calculation of second stage to excluding last stage */ for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b3f14: 897b ldrh r3, [r7, #10] 80b3f16: 089b lsrs r3, r3, #2 80b3f18: b29b uxth r3, r3 80b3f1a: f8c7 30ec str.w r3, [r7, #236] ; 0xec 80b3f1e: e215 b.n 80b434c { /* Initializations for the first stage */ n1 = n2; 80b3f20: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b3f24: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 n2 >>= 2u; 80b3f28: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b3f2c: 089b lsrs r3, r3, #2 80b3f2e: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 ia1 = 0u; 80b3f32: 2300 movs r3, #0 80b3f34: f8c7 30fc str.w r3, [r7, #252] ; 0xfc /* Calculation of first stage */ j = 0; 80b3f38: 2300 movs r3, #0 80b3f3a: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 do { /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b3f3e: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b3f42: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b3f46: 4413 add r3, r2 80b3f48: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 ia3 = ia2 + ia1; 80b3f4c: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 80b3f50: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b3f54: 4413 add r3, r2 80b3f56: 66bb str r3, [r7, #104] ; 0x68 co1 = pCoef[ia1 * 2u]; 80b3f58: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b3f5c: 00db lsls r3, r3, #3 80b3f5e: 687a ldr r2, [r7, #4] 80b3f60: 4413 add r3, r2 80b3f62: 681b ldr r3, [r3, #0] 80b3f64: 673b str r3, [r7, #112] ; 0x70 si1 = pCoef[(ia1 * 2u) + 1u]; 80b3f66: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b3f6a: 00db lsls r3, r3, #3 80b3f6c: 3304 adds r3, #4 80b3f6e: 687a ldr r2, [r7, #4] 80b3f70: 4413 add r3, r2 80b3f72: 681b ldr r3, [r3, #0] 80b3f74: 66fb str r3, [r7, #108] ; 0x6c co2 = pCoef[ia2 * 2u]; 80b3f76: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b3f7a: 00db lsls r3, r3, #3 80b3f7c: 687a ldr r2, [r7, #4] 80b3f7e: 4413 add r3, r2 80b3f80: 681b ldr r3, [r3, #0] 80b3f82: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 si2 = pCoef[(ia2 * 2u) + 1u]; 80b3f86: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b3f8a: 00db lsls r3, r3, #3 80b3f8c: 3304 adds r3, #4 80b3f8e: 687a ldr r2, [r7, #4] 80b3f90: 4413 add r3, r2 80b3f92: 681b ldr r3, [r3, #0] 80b3f94: f8c7 309c str.w r3, [r7, #156] ; 0x9c co3 = pCoef[ia3 * 2u]; 80b3f98: 6ebb ldr r3, [r7, #104] ; 0x68 80b3f9a: 00db lsls r3, r3, #3 80b3f9c: 687a ldr r2, [r7, #4] 80b3f9e: 4413 add r3, r2 80b3fa0: 681b ldr r3, [r3, #0] 80b3fa2: 667b str r3, [r7, #100] ; 0x64 si3 = pCoef[(ia3 * 2u) + 1u]; 80b3fa4: 6ebb ldr r3, [r7, #104] ; 0x68 80b3fa6: 00db lsls r3, r3, #3 80b3fa8: 3304 adds r3, #4 80b3faa: 687a ldr r2, [r7, #4] 80b3fac: 4413 add r3, r2 80b3fae: 681b ldr r3, [r3, #0] 80b3fb0: 663b str r3, [r7, #96] ; 0x60 /* Twiddle coefficients index modifier */ ia1 += twidCoefModifier; 80b3fb2: 893b ldrh r3, [r7, #8] 80b3fb4: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b3fb8: 4413 add r3, r2 80b3fba: f8c7 30fc str.w r3, [r7, #252] ; 0xfc i0 = j; 80b3fbe: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b3fc2: 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; 80b3fc6: f8d7 20f8 ldr.w r2, [r7, #248] ; 0xf8 80b3fca: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b3fce: 4413 add r3, r2 80b3fd0: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 i2 = i1 + n2; 80b3fd4: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80b3fd8: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b3fdc: 4413 add r3, r2 80b3fde: f8c7 30dc str.w r3, [r7, #220] ; 0xdc i3 = i2 + n2; 80b3fe2: f8d7 20dc ldr.w r2, [r7, #220] ; 0xdc 80b3fe6: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b3fea: 4413 add r3, r2 80b3fec: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xaIn = pSrc[(2u * i0)]; 80b3ff0: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b3ff4: 00db lsls r3, r3, #3 80b3ff6: 68fa ldr r2, [r7, #12] 80b3ff8: 4413 add r3, r2 80b3ffa: 681b ldr r3, [r3, #0] 80b3ffc: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 yaIn = pSrc[(2u * i0) + 1u]; 80b4000: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b4004: 00db lsls r3, r3, #3 80b4006: 3304 adds r3, #4 80b4008: 68fa ldr r2, [r7, #12] 80b400a: 4413 add r3, r2 80b400c: 681b ldr r3, [r3, #0] 80b400e: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = pSrc[(2u * i1)]; 80b4012: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4016: 00db lsls r3, r3, #3 80b4018: 68fa ldr r2, [r7, #12] 80b401a: 4413 add r3, r2 80b401c: 681b ldr r3, [r3, #0] 80b401e: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b4022: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4026: 00db lsls r3, r3, #3 80b4028: 3304 adds r3, #4 80b402a: 68fa ldr r2, [r7, #12] 80b402c: 4413 add r3, r2 80b402e: 681b ldr r3, [r3, #0] 80b4030: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = pSrc[(2u * i2)]; 80b4034: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b4038: 00db lsls r3, r3, #3 80b403a: 68fa ldr r2, [r7, #12] 80b403c: 4413 add r3, r2 80b403e: 681b ldr r3, [r3, #0] 80b4040: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ycIn = pSrc[(2u * i2) + 1u]; 80b4044: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b4048: 00db lsls r3, r3, #3 80b404a: 3304 adds r3, #4 80b404c: 68fa ldr r2, [r7, #12] 80b404e: 4413 add r3, r2 80b4050: 681b ldr r3, [r3, #0] 80b4052: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 xdIn = pSrc[(2u * i3)]; 80b4056: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b405a: 00db lsls r3, r3, #3 80b405c: 68fa ldr r2, [r7, #12] 80b405e: 4413 add r3, r2 80b4060: 681b ldr r3, [r3, #0] 80b4062: f8c7 30bc str.w r3, [r7, #188] ; 0xbc ydIn = pSrc[(2u * i3) + 1u]; 80b4066: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b406a: 00db lsls r3, r3, #3 80b406c: 3304 adds r3, #4 80b406e: 68fa ldr r2, [r7, #12] 80b4070: 4413 add r3, r2 80b4072: 681b ldr r3, [r3, #0] 80b4074: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b4078: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b407c: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b4080: ee77 7a67 vsub.f32 s15, s14, s15 80b4084: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* (xb - xd) */ Xbminusd = xbIn - xdIn; 80b4088: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b408c: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b4090: ee77 7a67 vsub.f32 s15, s14, s15 80b4094: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* ya - yc */ Yaminusc = yaIn - ycIn; 80b4098: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b409c: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b40a0: ee77 7a67 vsub.f32 s15, s14, s15 80b40a4: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* (yb - yd) */ Ybminusd = ybIn - ydIn; 80b40a8: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b40ac: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b40b0: ee77 7a67 vsub.f32 s15, s14, s15 80b40b4: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa + xc */ Xaplusc = xaIn + xcIn; 80b40b8: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b40bc: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b40c0: ee77 7a27 vadd.f32 s15, s14, s15 80b40c4: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b40c8: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b40cc: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b40d0: ee77 7a27 vadd.f32 s15, s14, s15 80b40d4: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b40d8: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b40dc: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b40e0: ee77 7a27 vadd.f32 s15, s14, s15 80b40e4: edc7 7a2b vstr s15, [r7, #172] ; 0xac /* yb + yd */ Ybplusd = ybIn + ydIn; 80b40e8: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b40ec: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b40f0: ee77 7a27 vadd.f32 s15, s14, s15 80b40f4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 /* (xa - xc) + (yb - yd) */ Xb12C_out = (Xaminusc + Ybminusd); 80b40f8: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b40fc: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b4100: ee77 7a27 vadd.f32 s15, s14, s15 80b4104: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya - yc) - (xb - xd) */ Yb12C_out = (Yaminusc - Xbminusd); 80b4108: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b410c: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b4110: ee77 7a67 vsub.f32 s15, s14, s15 80b4114: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* xa + xc -(xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b4118: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b411c: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b4120: ee77 7a67 vsub.f32 s15, s14, s15 80b4124: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b4128: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b412c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b4130: ee77 7a67 vsub.f32 s15, s14, s15 80b4134: edc7 7a1f vstr s15, [r7, #124] ; 0x7c /* (xa - xc) - (yb - yd) */ Xd12C_out = (Xaminusc - Ybminusd); 80b4138: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b413c: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b4140: ee77 7a67 vsub.f32 s15, s14, s15 80b4144: edc7 7a1e vstr s15, [r7, #120] ; 0x78 /* (ya - yc) + (xb - xd) */ Yd12C_out = (Xbminusd + Yaminusc); 80b4148: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b414c: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b4150: ee77 7a27 vadd.f32 s15, s14, s15 80b4154: edc7 7a1d vstr s15, [r7, #116] ; 0x74 pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b4158: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b415c: 00db lsls r3, r3, #3 80b415e: 68fa ldr r2, [r7, #12] 80b4160: 4413 add r3, r2 80b4162: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b4166: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b416a: ee77 7a27 vadd.f32 s15, s14, s15 80b416e: edc3 7a00 vstr s15, [r3] pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b4172: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b4176: 00db lsls r3, r3, #3 80b4178: 3304 adds r3, #4 80b417a: 68fa ldr r2, [r7, #12] 80b417c: 4413 add r3, r2 80b417e: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b4182: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b4186: ee77 7a27 vadd.f32 s15, s14, s15 80b418a: edc3 7a00 vstr s15, [r3] Xb12_out = Xb12C_out * co1; 80b418e: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b4192: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b4196: ee67 7a27 vmul.f32 s15, s14, s15 80b419a: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out = Yb12C_out * co1; 80b419e: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b41a2: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b41a6: ee67 7a27 vmul.f32 s15, s14, s15 80b41aa: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out = Xc12C_out * co2; 80b41ae: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b41b2: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b41b6: ee67 7a27 vmul.f32 s15, s14, s15 80b41ba: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out = Yc12C_out * co2; 80b41be: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b41c2: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b41c6: ee67 7a27 vmul.f32 s15, s14, s15 80b41ca: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out = Xd12C_out * co3; 80b41ce: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b41d2: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b41d6: ee67 7a27 vmul.f32 s15, s14, s15 80b41da: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out = Yd12C_out * co3; 80b41de: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b41e2: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b41e6: ee67 7a27 vmul.f32 s15, s14, s15 80b41ea: 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; 80b41ee: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b41f2: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b41f6: ee67 7a27 vmul.f32 s15, s14, s15 80b41fa: 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; 80b41fe: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b4202: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b4206: ee67 7a27 vmul.f32 s15, s14, s15 80b420a: 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; 80b420e: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b4212: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b4216: ee67 7a27 vmul.f32 s15, s14, s15 80b421a: 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; 80b421e: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b4222: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b4226: ee67 7a27 vmul.f32 s15, s14, s15 80b422a: 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; 80b422e: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b4232: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b4236: ee67 7a27 vmul.f32 s15, s14, s15 80b423a: 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; 80b423e: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b4242: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b4246: ee67 7a27 vmul.f32 s15, s14, s15 80b424a: edc7 7a0c vstr s15, [r7, #48] ; 0x30 Xb12_out += p0; 80b424e: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b4252: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b4256: ee77 7a27 vadd.f32 s15, s14, s15 80b425a: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out -= p1; 80b425e: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b4262: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b4266: ee77 7a67 vsub.f32 s15, s14, s15 80b426a: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out += p2; 80b426e: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b4272: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b4276: ee77 7a27 vadd.f32 s15, s14, s15 80b427a: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out -= p3; 80b427e: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b4282: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b4286: ee77 7a67 vsub.f32 s15, s14, s15 80b428a: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out += p4; 80b428e: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b4292: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b4296: ee77 7a27 vadd.f32 s15, s14, s15 80b429a: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out -= p5; 80b429e: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b42a2: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b42a6: ee77 7a67 vsub.f32 s15, s14, s15 80b42aa: edc7 7a12 vstr s15, [r7, #72] ; 0x48 /* xc' = (xa-xb+xc-xd)co2 + (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b42ae: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b42b2: 00db lsls r3, r3, #3 80b42b4: 68fa ldr r2, [r7, #12] 80b42b6: 4413 add r3, r2 80b42b8: 6d7a ldr r2, [r7, #84] ; 0x54 80b42ba: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 - (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b42bc: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b42c0: 00db lsls r3, r3, #3 80b42c2: 3304 adds r3, #4 80b42c4: 68fa ldr r2, [r7, #12] 80b42c6: 4413 add r3, r2 80b42c8: 6d3a ldr r2, [r7, #80] ; 0x50 80b42ca: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 + (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b42cc: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b42d0: 00db lsls r3, r3, #3 80b42d2: 68fa ldr r2, [r7, #12] 80b42d4: 4413 add r3, r2 80b42d6: 6dfa ldr r2, [r7, #92] ; 0x5c 80b42d8: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 - (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b42da: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b42de: 00db lsls r3, r3, #3 80b42e0: 3304 adds r3, #4 80b42e2: 68fa ldr r2, [r7, #12] 80b42e4: 4413 add r3, r2 80b42e6: 6dba ldr r2, [r7, #88] ; 0x58 80b42e8: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 + (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b42ea: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b42ee: 00db lsls r3, r3, #3 80b42f0: 68fa ldr r2, [r7, #12] 80b42f2: 4413 add r3, r2 80b42f4: 6cfa ldr r2, [r7, #76] ; 0x4c 80b42f6: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 - (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b42f8: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b42fc: 00db lsls r3, r3, #3 80b42fe: 3304 adds r3, #4 80b4300: 68fa ldr r2, [r7, #12] 80b4302: 4413 add r3, r2 80b4304: 6cba ldr r2, [r7, #72] ; 0x48 80b4306: 601a str r2, [r3, #0] i0 += n1; 80b4308: f8d7 20f8 ldr.w r2, [r7, #248] ; 0xf8 80b430c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b4310: 4413 add r3, r2 80b4312: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 } while(i0 < fftLen); 80b4316: 897a ldrh r2, [r7, #10] 80b4318: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b431c: 429a cmp r2, r3 80b431e: f63f ae52 bhi.w 80b3fc6 j++; 80b4322: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4326: 3301 adds r3, #1 80b4328: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 } while(j <= (n2 - 1u)); 80b432c: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b4330: 1e5a subs r2, r3, #1 80b4332: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4336: 429a cmp r2, r3 80b4338: f4bf ae01 bcs.w 80b3f3e twidCoefModifier <<= 2u; 80b433c: 893b ldrh r3, [r7, #8] 80b433e: 009b lsls r3, r3, #2 80b4340: 813b strh r3, [r7, #8] for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b4342: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b4346: 089b lsrs r3, r3, #2 80b4348: f8c7 30ec str.w r3, [r7, #236] ; 0xec 80b434c: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b4350: 2b04 cmp r3, #4 80b4352: f63f ade5 bhi.w 80b3f20 } j = fftLen >> 2; 80b4356: 897b ldrh r3, [r7, #10] 80b4358: 089b lsrs r3, r3, #2 80b435a: b29b uxth r3, r3 80b435c: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 ptr1 = &pSrc[0]; 80b4360: 68fb ldr r3, [r7, #12] 80b4362: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 /* Calculations of last stage */ do { xaIn = ptr1[0]; 80b4366: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b436a: 681b ldr r3, [r3, #0] 80b436c: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 yaIn = ptr1[1]; 80b4370: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4374: 685b ldr r3, [r3, #4] 80b4376: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = ptr1[2]; 80b437a: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b437e: 689b ldr r3, [r3, #8] 80b4380: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = ptr1[3]; 80b4384: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4388: 68db ldr r3, [r3, #12] 80b438a: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = ptr1[4]; 80b438e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4392: 691b ldr r3, [r3, #16] 80b4394: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ycIn = ptr1[5]; 80b4398: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b439c: 695b ldr r3, [r3, #20] 80b439e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 xdIn = ptr1[6]; 80b43a2: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b43a6: 699b ldr r3, [r3, #24] 80b43a8: f8c7 30bc str.w r3, [r7, #188] ; 0xbc ydIn = ptr1[7]; 80b43ac: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b43b0: 69db ldr r3, [r3, #28] 80b43b2: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b43b6: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b43ba: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b43be: ee77 7a27 vadd.f32 s15, s14, s15 80b43c2: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b43c6: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b43ca: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b43ce: ee77 7a67 vsub.f32 s15, s14, s15 80b43d2: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b43d6: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b43da: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b43de: ee77 7a27 vadd.f32 s15, s14, s15 80b43e2: edc7 7a2b vstr s15, [r7, #172] ; 0xac /* ya - yc */ Yaminusc = yaIn - ycIn; 80b43e6: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b43ea: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b43ee: ee77 7a67 vsub.f32 s15, s14, s15 80b43f2: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b43f6: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b43fa: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b43fe: ee77 7a27 vadd.f32 s15, s14, s15 80b4402: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b4406: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b440a: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b440e: ee77 7a27 vadd.f32 s15, s14, s15 80b4412: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 /* (xb-xd) */ Xbminusd = xbIn - xdIn; 80b4416: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b441a: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b441e: ee77 7a67 vsub.f32 s15, s14, s15 80b4422: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* (yb-yd) */ Ybminusd = ybIn - ydIn; 80b4426: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b442a: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b442e: ee77 7a67 vsub.f32 s15, s14, s15 80b4432: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa' = xa + xb + xc + xd */ a0 = (Xaplusc + Xbplusd); 80b4436: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b443a: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b443e: ee77 7a27 vadd.f32 s15, s14, s15 80b4442: edc7 7a0b vstr s15, [r7, #44] ; 0x2c /* ya' = ya + yb + yc + yd */ a1 = (Yaplusc + Ybplusd); 80b4446: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b444a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b444e: ee77 7a27 vadd.f32 s15, s14, s15 80b4452: edc7 7a0a vstr s15, [r7, #40] ; 0x28 /* xc' = (xa-xb+xc-xd) */ a2 = (Xaplusc - Xbplusd); 80b4456: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b445a: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b445e: ee77 7a67 vsub.f32 s15, s14, s15 80b4462: edc7 7a09 vstr s15, [r7, #36] ; 0x24 /* yc' = (ya-yb+yc-yd) */ a3 = (Yaplusc - Ybplusd); 80b4466: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b446a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b446e: ee77 7a67 vsub.f32 s15, s14, s15 80b4472: edc7 7a08 vstr s15, [r7, #32] /* xb' = (xa+yb-xc-yd) */ a4 = (Xaminusc + Ybminusd); 80b4476: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b447a: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b447e: ee77 7a27 vadd.f32 s15, s14, s15 80b4482: edc7 7a07 vstr s15, [r7, #28] /* yb' = (ya-xb-yc+xd) */ a5 = (Yaminusc - Xbminusd); 80b4486: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b448a: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b448e: ee77 7a67 vsub.f32 s15, s14, s15 80b4492: edc7 7a06 vstr s15, [r7, #24] /* xd' = (xa-yb-xc+yd)) */ a6 = (Xaminusc - Ybminusd); 80b4496: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b449a: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b449e: ee77 7a67 vsub.f32 s15, s14, s15 80b44a2: edc7 7a05 vstr s15, [r7, #20] /* yd' = (ya+xb-yc-xd) */ a7 = (Xbminusd + Yaminusc); 80b44a6: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b44aa: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b44ae: ee77 7a27 vadd.f32 s15, s14, s15 80b44b2: edc7 7a04 vstr s15, [r7, #16] ptr1[0] = a0; 80b44b6: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b44ba: 6afa ldr r2, [r7, #44] ; 0x2c 80b44bc: 601a str r2, [r3, #0] ptr1[1] = a1; 80b44be: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b44c2: 3304 adds r3, #4 80b44c4: 6aba ldr r2, [r7, #40] ; 0x28 80b44c6: 601a str r2, [r3, #0] ptr1[2] = a2; 80b44c8: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b44cc: 3308 adds r3, #8 80b44ce: 6a7a ldr r2, [r7, #36] ; 0x24 80b44d0: 601a str r2, [r3, #0] ptr1[3] = a3; 80b44d2: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b44d6: 330c adds r3, #12 80b44d8: 6a3a ldr r2, [r7, #32] 80b44da: 601a str r2, [r3, #0] ptr1[4] = a4; 80b44dc: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b44e0: 3310 adds r3, #16 80b44e2: 69fa ldr r2, [r7, #28] 80b44e4: 601a str r2, [r3, #0] ptr1[5] = a5; 80b44e6: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b44ea: 3314 adds r3, #20 80b44ec: 69ba ldr r2, [r7, #24] 80b44ee: 601a str r2, [r3, #0] ptr1[6] = a6; 80b44f0: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b44f4: 3318 adds r3, #24 80b44f6: 697a ldr r2, [r7, #20] 80b44f8: 601a str r2, [r3, #0] ptr1[7] = a7; 80b44fa: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b44fe: 331c adds r3, #28 80b4500: 693a ldr r2, [r7, #16] 80b4502: 601a str r2, [r3, #0] /* increment pointer by 8 */ ptr1 += 8u; 80b4504: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4508: 3320 adds r3, #32 80b450a: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 } while(--j); 80b450e: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4512: 3b01 subs r3, #1 80b4514: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 80b4518: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b451c: 2b00 cmp r3, #0 80b451e: f47f af22 bne.w 80b4366 twidCoefModifier <<= 2u; } #endif /* #ifndef ARM_MATH_CM0_FAMILY_FAMILY */ } 80b4522: bf00 nop 80b4524: f507 7782 add.w r7, r7, #260 ; 0x104 80b4528: 46bd mov sp, r7 80b452a: f85d 7b04 ldr.w r7, [sp], #4 80b452e: 4770 bx lr 080b4530 : float32_t * pSrc, uint16_t fftLen, float32_t * pCoef, uint16_t twidCoefModifier, float32_t onebyfftLen) { 80b4530: b480 push {r7} 80b4532: b0c3 sub sp, #268 ; 0x10c 80b4534: af00 add r7, sp, #0 80b4536: 60f8 str r0, [r7, #12] 80b4538: 4608 mov r0, r1 80b453a: 1d39 adds r1, r7, #4 80b453c: 600a str r2, [r1, #0] 80b453e: 461a mov r2, r3 80b4540: 463b mov r3, r7 80b4542: ed83 0a00 vstr s0, [r3] 80b4546: 4603 mov r3, r0 80b4548: 817b strh r3, [r7, #10] 80b454a: f107 0308 add.w r3, r7, #8 80b454e: 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; 80b4550: 897b ldrh r3, [r7, #10] 80b4552: f8c7 30fc str.w r3, [r7, #252] ; 0xfc n1 = n2; 80b4556: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b455a: f8c7 30ec str.w r3, [r7, #236] ; 0xec /* n2 = fftLen/4 */ n2 >>= 2u; 80b455e: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4562: 089b lsrs r3, r3, #2 80b4564: f8c7 30fc str.w r3, [r7, #252] ; 0xfc i0 = 0u; 80b4568: 2300 movs r3, #0 80b456a: f8c7 3100 str.w r3, [r7, #256] ; 0x100 ia1 = 0u; 80b456e: 2300 movs r3, #0 80b4570: f8c7 3104 str.w r3, [r7, #260] ; 0x104 j = n2; 80b4574: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4578: 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; 80b457c: f8d7 2100 ldr.w r2, [r7, #256] ; 0x100 80b4580: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4584: 4413 add r3, r2 80b4586: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 i2 = i1 + n2; 80b458a: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b458e: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4592: 4413 add r3, r2 80b4594: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 i3 = i2 + n2; 80b4598: f8d7 20e4 ldr.w r2, [r7, #228] ; 0xe4 80b459c: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b45a0: 4413 add r3, r2 80b45a2: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 /* Butterfly implementation */ xaIn = pSrc[(2u * i0)]; 80b45a6: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b45aa: 00db lsls r3, r3, #3 80b45ac: 68fa ldr r2, [r7, #12] 80b45ae: 4413 add r3, r2 80b45b0: 681b ldr r3, [r3, #0] 80b45b2: f8c7 30dc str.w r3, [r7, #220] ; 0xdc yaIn = pSrc[(2u * i0) + 1u]; 80b45b6: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b45ba: 00db lsls r3, r3, #3 80b45bc: 3304 adds r3, #4 80b45be: 68fa ldr r2, [r7, #12] 80b45c0: 4413 add r3, r2 80b45c2: 681b ldr r3, [r3, #0] 80b45c4: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xcIn = pSrc[(2u * i2)]; 80b45c8: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b45cc: 00db lsls r3, r3, #3 80b45ce: 68fa ldr r2, [r7, #12] 80b45d0: 4413 add r3, r2 80b45d2: 681b ldr r3, [r3, #0] 80b45d4: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 ycIn = pSrc[(2u * i2) + 1u]; 80b45d8: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b45dc: 00db lsls r3, r3, #3 80b45de: 3304 adds r3, #4 80b45e0: 68fa ldr r2, [r7, #12] 80b45e2: 4413 add r3, r2 80b45e4: 681b ldr r3, [r3, #0] 80b45e6: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = pSrc[(2u * i1)]; 80b45ea: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b45ee: 00db lsls r3, r3, #3 80b45f0: 68fa ldr r2, [r7, #12] 80b45f2: 4413 add r3, r2 80b45f4: 681b ldr r3, [r3, #0] 80b45f6: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b45fa: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b45fe: 00db lsls r3, r3, #3 80b4600: 3304 adds r3, #4 80b4602: 68fa ldr r2, [r7, #12] 80b4604: 4413 add r3, r2 80b4606: 681b ldr r3, [r3, #0] 80b4608: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xdIn = pSrc[(2u * i3)]; 80b460c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4610: 00db lsls r3, r3, #3 80b4612: 68fa ldr r2, [r7, #12] 80b4614: 4413 add r3, r2 80b4616: 681b ldr r3, [r3, #0] 80b4618: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ydIn = pSrc[(2u * i3) + 1u]; 80b461c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4620: 00db lsls r3, r3, #3 80b4622: 3304 adds r3, #4 80b4624: 68fa ldr r2, [r7, #12] 80b4626: 4413 add r3, r2 80b4628: 681b ldr r3, [r3, #0] 80b462a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b462e: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b4632: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b4636: ee77 7a27 vadd.f32 s15, s14, s15 80b463a: edc7 7a2f vstr s15, [r7, #188] ; 0xbc /* xb + xd */ Xbplusd = xbIn + xdIn; 80b463e: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b4642: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b4646: ee77 7a27 vadd.f32 s15, s14, s15 80b464a: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b464e: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b4652: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b4656: ee77 7a27 vadd.f32 s15, s14, s15 80b465a: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b465e: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b4662: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b4666: ee77 7a27 vadd.f32 s15, s14, s15 80b466a: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b466e: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b4672: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b4676: 4413 add r3, r2 80b4678: f8c7 30ac str.w r3, [r7, #172] ; 0xac co2 = pCoef[ia2 * 2u]; 80b467c: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b4680: 00db lsls r3, r3, #3 80b4682: 1d3a adds r2, r7, #4 80b4684: 6812 ldr r2, [r2, #0] 80b4686: 4413 add r3, r2 80b4688: 681b ldr r3, [r3, #0] 80b468a: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 si2 = pCoef[(ia2 * 2u) + 1u]; 80b468e: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b4692: 00db lsls r3, r3, #3 80b4694: 3304 adds r3, #4 80b4696: 1d3a adds r2, r7, #4 80b4698: 6812 ldr r2, [r2, #0] 80b469a: 4413 add r3, r2 80b469c: 681b ldr r3, [r3, #0] 80b469e: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b46a2: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b46a6: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b46aa: ee77 7a67 vsub.f32 s15, s14, s15 80b46ae: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 /* xb - xd */ Xbminusd = xbIn - xdIn; 80b46b2: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b46b6: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b46ba: ee77 7a67 vsub.f32 s15, s14, s15 80b46be: edc7 7a27 vstr s15, [r7, #156] ; 0x9c /* ya - yc */ Yaminusc = yaIn - ycIn; 80b46c2: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b46c6: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b46ca: ee77 7a67 vsub.f32 s15, s14, s15 80b46ce: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* yb - yd */ Ybminusd = ybIn - ydIn; 80b46d2: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b46d6: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b46da: ee77 7a67 vsub.f32 s15, s14, s15 80b46de: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* xa' = xa + xb + xc + xd */ pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b46e2: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b46e6: 00db lsls r3, r3, #3 80b46e8: 68fa ldr r2, [r7, #12] 80b46ea: 4413 add r3, r2 80b46ec: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b46f0: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b46f4: ee77 7a27 vadd.f32 s15, s14, s15 80b46f8: edc3 7a00 vstr s15, [r3] /* ya' = ya + yb + yc + yd */ pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b46fc: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b4700: 00db lsls r3, r3, #3 80b4702: 3304 adds r3, #4 80b4704: 68fa ldr r2, [r7, #12] 80b4706: 4413 add r3, r2 80b4708: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b470c: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b4710: ee77 7a27 vadd.f32 s15, s14, s15 80b4714: edc3 7a00 vstr s15, [r3] /* (xa - xc) - (yb - yd) */ Xb12C_out = (Xaminusc - Ybminusd); 80b4718: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b471c: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b4720: ee77 7a67 vsub.f32 s15, s14, s15 80b4724: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* (ya - yc) + (xb - xd) */ Yb12C_out = (Yaminusc + Xbminusd); 80b4728: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b472c: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b4730: ee77 7a27 vadd.f32 s15, s14, s15 80b4734: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* (xa + xc) - (xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b4738: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b473c: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b4740: ee77 7a67 vsub.f32 s15, s14, s15 80b4744: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b4748: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b474c: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b4750: ee77 7a67 vsub.f32 s15, s14, s15 80b4754: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* (xa - xc) + (yb - yd) */ Xd12C_out = (Xaminusc + Ybminusd); 80b4758: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b475c: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b4760: ee77 7a27 vadd.f32 s15, s14, s15 80b4764: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya - yc) - (xb - xd) */ Yd12C_out = (Yaminusc - Xbminusd); 80b4768: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b476c: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b4770: ee77 7a67 vsub.f32 s15, s14, s15 80b4774: edc7 7a1f vstr s15, [r7, #124] ; 0x7c co1 = pCoef[ia1 * 2u]; 80b4778: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b477c: 00db lsls r3, r3, #3 80b477e: 1d3a adds r2, r7, #4 80b4780: 6812 ldr r2, [r2, #0] 80b4782: 4413 add r3, r2 80b4784: 681b ldr r3, [r3, #0] 80b4786: 67bb str r3, [r7, #120] ; 0x78 si1 = pCoef[(ia1 * 2u) + 1u]; 80b4788: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b478c: 00db lsls r3, r3, #3 80b478e: 3304 adds r3, #4 80b4790: 1d3a adds r2, r7, #4 80b4792: 6812 ldr r2, [r2, #0] 80b4794: 4413 add r3, r2 80b4796: 681b ldr r3, [r3, #0] 80b4798: 677b str r3, [r7, #116] ; 0x74 /* index calculation for the coefficients */ ia3 = ia2 + ia1; 80b479a: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 80b479e: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b47a2: 4413 add r3, r2 80b47a4: 673b str r3, [r7, #112] ; 0x70 co3 = pCoef[ia3 * 2u]; 80b47a6: 6f3b ldr r3, [r7, #112] ; 0x70 80b47a8: 00db lsls r3, r3, #3 80b47aa: 1d3a adds r2, r7, #4 80b47ac: 6812 ldr r2, [r2, #0] 80b47ae: 4413 add r3, r2 80b47b0: 681b ldr r3, [r3, #0] 80b47b2: 66fb str r3, [r7, #108] ; 0x6c si3 = pCoef[(ia3 * 2u) + 1u]; 80b47b4: 6f3b ldr r3, [r7, #112] ; 0x70 80b47b6: 00db lsls r3, r3, #3 80b47b8: 3304 adds r3, #4 80b47ba: 1d3a adds r2, r7, #4 80b47bc: 6812 ldr r2, [r2, #0] 80b47be: 4413 add r3, r2 80b47c0: 681b ldr r3, [r3, #0] 80b47c2: 66bb str r3, [r7, #104] ; 0x68 Xb12_out = Xb12C_out * co1; 80b47c4: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b47c8: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b47cc: ee67 7a27 vmul.f32 s15, s14, s15 80b47d0: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out = Yb12C_out * co1; 80b47d4: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b47d8: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b47dc: ee67 7a27 vmul.f32 s15, s14, s15 80b47e0: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out = Xc12C_out * co2; 80b47e4: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b47e8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b47ec: ee67 7a27 vmul.f32 s15, s14, s15 80b47f0: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out = Yc12C_out * co2; 80b47f4: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b47f8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b47fc: ee67 7a27 vmul.f32 s15, s14, s15 80b4800: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out = Xd12C_out * co3; 80b4804: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b4808: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b480c: ee67 7a27 vmul.f32 s15, s14, s15 80b4810: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out = Yd12C_out * co3; 80b4814: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b4818: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b481c: ee67 7a27 vmul.f32 s15, s14, s15 80b4820: 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; 80b4824: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b4828: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b482c: ee67 7a27 vmul.f32 s15, s14, s15 80b4830: 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; 80b4834: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b4838: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b483c: ee67 7a27 vmul.f32 s15, s14, s15 80b4840: 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; 80b4844: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b4848: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b484c: ee67 7a27 vmul.f32 s15, s14, s15 80b4850: 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; 80b4854: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b4858: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b485c: ee67 7a27 vmul.f32 s15, s14, s15 80b4860: 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; 80b4864: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b4868: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b486c: ee67 7a27 vmul.f32 s15, s14, s15 80b4870: 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; 80b4874: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b4878: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b487c: ee67 7a27 vmul.f32 s15, s14, s15 80b4880: edc7 7a0e vstr s15, [r7, #56] ; 0x38 Xb12_out -= p0; 80b4884: ed97 7a19 vldr s14, [r7, #100] ; 0x64 80b4888: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b488c: ee77 7a67 vsub.f32 s15, s14, s15 80b4890: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out += p1; 80b4894: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b4898: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b489c: ee77 7a27 vadd.f32 s15, s14, s15 80b48a0: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out -= p2; 80b48a4: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b48a8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b48ac: ee77 7a67 vsub.f32 s15, s14, s15 80b48b0: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out += p3; 80b48b4: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b48b8: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b48bc: ee77 7a27 vadd.f32 s15, s14, s15 80b48c0: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out -= p4; 80b48c4: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b48c8: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b48cc: ee77 7a67 vsub.f32 s15, s14, s15 80b48d0: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out += p5; 80b48d4: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b48d8: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b48dc: ee77 7a27 vadd.f32 s15, s14, s15 80b48e0: edc7 7a14 vstr s15, [r7, #80] ; 0x50 /* xc' = (xa-xb+xc-xd)co2 - (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b48e4: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b48e8: 00db lsls r3, r3, #3 80b48ea: 68fa ldr r2, [r7, #12] 80b48ec: 4413 add r3, r2 80b48ee: 6dfa ldr r2, [r7, #92] ; 0x5c 80b48f0: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 + (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b48f2: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b48f6: 00db lsls r3, r3, #3 80b48f8: 3304 adds r3, #4 80b48fa: 68fa ldr r2, [r7, #12] 80b48fc: 4413 add r3, r2 80b48fe: 6dba ldr r2, [r7, #88] ; 0x58 80b4900: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 - (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b4902: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b4906: 00db lsls r3, r3, #3 80b4908: 68fa ldr r2, [r7, #12] 80b490a: 4413 add r3, r2 80b490c: 6e7a ldr r2, [r7, #100] ; 0x64 80b490e: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 + (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b4910: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b4914: 00db lsls r3, r3, #3 80b4916: 3304 adds r3, #4 80b4918: 68fa ldr r2, [r7, #12] 80b491a: 4413 add r3, r2 80b491c: 6e3a ldr r2, [r7, #96] ; 0x60 80b491e: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 - (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b4920: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4924: 00db lsls r3, r3, #3 80b4926: 68fa ldr r2, [r7, #12] 80b4928: 4413 add r3, r2 80b492a: 6d7a ldr r2, [r7, #84] ; 0x54 80b492c: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b492e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4932: 00db lsls r3, r3, #3 80b4934: 3304 adds r3, #4 80b4936: 68fa ldr r2, [r7, #12] 80b4938: 4413 add r3, r2 80b493a: 6d3a ldr r2, [r7, #80] ; 0x50 80b493c: 601a str r2, [r3, #0] /* Twiddle coefficients index modifier */ ia1 = ia1 + twidCoefModifier; 80b493e: f107 0308 add.w r3, r7, #8 80b4942: 881b ldrh r3, [r3, #0] 80b4944: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b4948: 4413 add r3, r2 80b494a: f8c7 3104 str.w r3, [r7, #260] ; 0x104 /* Updating input index */ i0 = i0 + 1u; 80b494e: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b4952: 3301 adds r3, #1 80b4954: f8c7 3100 str.w r3, [r7, #256] ; 0x100 } while(--j); 80b4958: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b495c: 3b01 subs r3, #1 80b495e: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 80b4962: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b4966: 2b00 cmp r3, #0 80b4968: f47f ae08 bne.w 80b457c twidCoefModifier <<= 2u; 80b496c: f107 0308 add.w r3, r7, #8 80b4970: f107 0208 add.w r2, r7, #8 80b4974: 8812 ldrh r2, [r2, #0] 80b4976: 0092 lsls r2, r2, #2 80b4978: 801a strh r2, [r3, #0] /* Calculation of second stage to excluding last stage */ for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b497a: 897b ldrh r3, [r7, #10] 80b497c: 089b lsrs r3, r3, #2 80b497e: b29b uxth r3, r3 80b4980: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 80b4984: e221 b.n 80b4dca { /* Initializations for the first stage */ n1 = n2; 80b4986: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b498a: f8c7 30ec str.w r3, [r7, #236] ; 0xec n2 >>= 2u; 80b498e: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4992: 089b lsrs r3, r3, #2 80b4994: f8c7 30fc str.w r3, [r7, #252] ; 0xfc ia1 = 0u; 80b4998: 2300 movs r3, #0 80b499a: f8c7 3104 str.w r3, [r7, #260] ; 0x104 /* Calculation of first stage */ j = 0; 80b499e: 2300 movs r3, #0 80b49a0: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 do { /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b49a4: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b49a8: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b49ac: 4413 add r3, r2 80b49ae: f8c7 30ac str.w r3, [r7, #172] ; 0xac ia3 = ia2 + ia1; 80b49b2: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 80b49b6: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b49ba: 4413 add r3, r2 80b49bc: 673b str r3, [r7, #112] ; 0x70 co1 = pCoef[ia1 * 2u]; 80b49be: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b49c2: 00db lsls r3, r3, #3 80b49c4: 1d3a adds r2, r7, #4 80b49c6: 6812 ldr r2, [r2, #0] 80b49c8: 4413 add r3, r2 80b49ca: 681b ldr r3, [r3, #0] 80b49cc: 67bb str r3, [r7, #120] ; 0x78 si1 = pCoef[(ia1 * 2u) + 1u]; 80b49ce: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b49d2: 00db lsls r3, r3, #3 80b49d4: 3304 adds r3, #4 80b49d6: 1d3a adds r2, r7, #4 80b49d8: 6812 ldr r2, [r2, #0] 80b49da: 4413 add r3, r2 80b49dc: 681b ldr r3, [r3, #0] 80b49de: 677b str r3, [r7, #116] ; 0x74 co2 = pCoef[ia2 * 2u]; 80b49e0: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b49e4: 00db lsls r3, r3, #3 80b49e6: 1d3a adds r2, r7, #4 80b49e8: 6812 ldr r2, [r2, #0] 80b49ea: 4413 add r3, r2 80b49ec: 681b ldr r3, [r3, #0] 80b49ee: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 si2 = pCoef[(ia2 * 2u) + 1u]; 80b49f2: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b49f6: 00db lsls r3, r3, #3 80b49f8: 3304 adds r3, #4 80b49fa: 1d3a adds r2, r7, #4 80b49fc: 6812 ldr r2, [r2, #0] 80b49fe: 4413 add r3, r2 80b4a00: 681b ldr r3, [r3, #0] 80b4a02: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 co3 = pCoef[ia3 * 2u]; 80b4a06: 6f3b ldr r3, [r7, #112] ; 0x70 80b4a08: 00db lsls r3, r3, #3 80b4a0a: 1d3a adds r2, r7, #4 80b4a0c: 6812 ldr r2, [r2, #0] 80b4a0e: 4413 add r3, r2 80b4a10: 681b ldr r3, [r3, #0] 80b4a12: 66fb str r3, [r7, #108] ; 0x6c si3 = pCoef[(ia3 * 2u) + 1u]; 80b4a14: 6f3b ldr r3, [r7, #112] ; 0x70 80b4a16: 00db lsls r3, r3, #3 80b4a18: 3304 adds r3, #4 80b4a1a: 1d3a adds r2, r7, #4 80b4a1c: 6812 ldr r2, [r2, #0] 80b4a1e: 4413 add r3, r2 80b4a20: 681b ldr r3, [r3, #0] 80b4a22: 66bb str r3, [r7, #104] ; 0x68 /* Twiddle coefficients index modifier */ ia1 = ia1 + twidCoefModifier; 80b4a24: f107 0308 add.w r3, r7, #8 80b4a28: 881b ldrh r3, [r3, #0] 80b4a2a: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b4a2e: 4413 add r3, r2 80b4a30: f8c7 3104 str.w r3, [r7, #260] ; 0x104 i0 = j; 80b4a34: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b4a38: 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; 80b4a3c: f8d7 2100 ldr.w r2, [r7, #256] ; 0x100 80b4a40: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4a44: 4413 add r3, r2 80b4a46: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 i2 = i1 + n2; 80b4a4a: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b4a4e: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4a52: 4413 add r3, r2 80b4a54: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 i3 = i2 + n2; 80b4a58: f8d7 20e4 ldr.w r2, [r7, #228] ; 0xe4 80b4a5c: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4a60: 4413 add r3, r2 80b4a62: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 xaIn = pSrc[(2u * i0)]; 80b4a66: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b4a6a: 00db lsls r3, r3, #3 80b4a6c: 68fa ldr r2, [r7, #12] 80b4a6e: 4413 add r3, r2 80b4a70: 681b ldr r3, [r3, #0] 80b4a72: f8c7 30dc str.w r3, [r7, #220] ; 0xdc yaIn = pSrc[(2u * i0) + 1u]; 80b4a76: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b4a7a: 00db lsls r3, r3, #3 80b4a7c: 3304 adds r3, #4 80b4a7e: 68fa ldr r2, [r7, #12] 80b4a80: 4413 add r3, r2 80b4a82: 681b ldr r3, [r3, #0] 80b4a84: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xbIn = pSrc[(2u * i1)]; 80b4a88: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4a8c: 00db lsls r3, r3, #3 80b4a8e: 68fa ldr r2, [r7, #12] 80b4a90: 4413 add r3, r2 80b4a92: 681b ldr r3, [r3, #0] 80b4a94: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b4a98: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4a9c: 00db lsls r3, r3, #3 80b4a9e: 3304 adds r3, #4 80b4aa0: 68fa ldr r2, [r7, #12] 80b4aa2: 4413 add r3, r2 80b4aa4: 681b ldr r3, [r3, #0] 80b4aa6: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = pSrc[(2u * i2)]; 80b4aaa: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b4aae: 00db lsls r3, r3, #3 80b4ab0: 68fa ldr r2, [r7, #12] 80b4ab2: 4413 add r3, r2 80b4ab4: 681b ldr r3, [r3, #0] 80b4ab6: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 ycIn = pSrc[(2u * i2) + 1u]; 80b4aba: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b4abe: 00db lsls r3, r3, #3 80b4ac0: 3304 adds r3, #4 80b4ac2: 68fa ldr r2, [r7, #12] 80b4ac4: 4413 add r3, r2 80b4ac6: 681b ldr r3, [r3, #0] 80b4ac8: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xdIn = pSrc[(2u * i3)]; 80b4acc: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4ad0: 00db lsls r3, r3, #3 80b4ad2: 68fa ldr r2, [r7, #12] 80b4ad4: 4413 add r3, r2 80b4ad6: 681b ldr r3, [r3, #0] 80b4ad8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ydIn = pSrc[(2u * i3) + 1u]; 80b4adc: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4ae0: 00db lsls r3, r3, #3 80b4ae2: 3304 adds r3, #4 80b4ae4: 68fa ldr r2, [r7, #12] 80b4ae6: 4413 add r3, r2 80b4ae8: 681b ldr r3, [r3, #0] 80b4aea: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b4aee: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b4af2: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b4af6: ee77 7a67 vsub.f32 s15, s14, s15 80b4afa: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 /* (xb - xd) */ Xbminusd = xbIn - xdIn; 80b4afe: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b4b02: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b4b06: ee77 7a67 vsub.f32 s15, s14, s15 80b4b0a: edc7 7a27 vstr s15, [r7, #156] ; 0x9c /* ya - yc */ Yaminusc = yaIn - ycIn; 80b4b0e: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b4b12: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b4b16: ee77 7a67 vsub.f32 s15, s14, s15 80b4b1a: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* (yb - yd) */ Ybminusd = ybIn - ydIn; 80b4b1e: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b4b22: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b4b26: ee77 7a67 vsub.f32 s15, s14, s15 80b4b2a: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b4b2e: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b4b32: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b4b36: ee77 7a27 vadd.f32 s15, s14, s15 80b4b3a: edc7 7a2f vstr s15, [r7, #188] ; 0xbc /* xb + xd */ Xbplusd = xbIn + xdIn; 80b4b3e: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b4b42: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b4b46: ee77 7a27 vadd.f32 s15, s14, s15 80b4b4a: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b4b4e: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b4b52: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b4b56: ee77 7a27 vadd.f32 s15, s14, s15 80b4b5a: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b4b5e: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b4b62: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b4b66: ee77 7a27 vadd.f32 s15, s14, s15 80b4b6a: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* (xa - xc) - (yb - yd) */ Xb12C_out = (Xaminusc - Ybminusd); 80b4b6e: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b4b72: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b4b76: ee77 7a67 vsub.f32 s15, s14, s15 80b4b7a: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* (ya - yc) + (xb - xd) */ Yb12C_out = (Yaminusc + Xbminusd); 80b4b7e: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b4b82: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b4b86: ee77 7a27 vadd.f32 s15, s14, s15 80b4b8a: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa + xc -(xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b4b8e: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b4b92: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b4b96: ee77 7a67 vsub.f32 s15, s14, s15 80b4b9a: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b4b9e: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b4ba2: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b4ba6: ee77 7a67 vsub.f32 s15, s14, s15 80b4baa: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* (xa - xc) + (yb - yd) */ Xd12C_out = (Xaminusc + Ybminusd); 80b4bae: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b4bb2: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b4bb6: ee77 7a27 vadd.f32 s15, s14, s15 80b4bba: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya - yc) - (xb - xd) */ Yd12C_out = (Yaminusc - Xbminusd); 80b4bbe: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b4bc2: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b4bc6: ee77 7a67 vsub.f32 s15, s14, s15 80b4bca: edc7 7a1f vstr s15, [r7, #124] ; 0x7c pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b4bce: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b4bd2: 00db lsls r3, r3, #3 80b4bd4: 68fa ldr r2, [r7, #12] 80b4bd6: 4413 add r3, r2 80b4bd8: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b4bdc: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b4be0: ee77 7a27 vadd.f32 s15, s14, s15 80b4be4: edc3 7a00 vstr s15, [r3] pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b4be8: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b4bec: 00db lsls r3, r3, #3 80b4bee: 3304 adds r3, #4 80b4bf0: 68fa ldr r2, [r7, #12] 80b4bf2: 4413 add r3, r2 80b4bf4: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b4bf8: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b4bfc: ee77 7a27 vadd.f32 s15, s14, s15 80b4c00: edc3 7a00 vstr s15, [r3] Xb12_out = Xb12C_out * co1; 80b4c04: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b4c08: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b4c0c: ee67 7a27 vmul.f32 s15, s14, s15 80b4c10: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out = Yb12C_out * co1; 80b4c14: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b4c18: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b4c1c: ee67 7a27 vmul.f32 s15, s14, s15 80b4c20: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out = Xc12C_out * co2; 80b4c24: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b4c28: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b4c2c: ee67 7a27 vmul.f32 s15, s14, s15 80b4c30: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out = Yc12C_out * co2; 80b4c34: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b4c38: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b4c3c: ee67 7a27 vmul.f32 s15, s14, s15 80b4c40: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out = Xd12C_out * co3; 80b4c44: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b4c48: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b4c4c: ee67 7a27 vmul.f32 s15, s14, s15 80b4c50: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out = Yd12C_out * co3; 80b4c54: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b4c58: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b4c5c: ee67 7a27 vmul.f32 s15, s14, s15 80b4c60: 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; 80b4c64: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b4c68: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b4c6c: ee67 7a27 vmul.f32 s15, s14, s15 80b4c70: 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; 80b4c74: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b4c78: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b4c7c: ee67 7a27 vmul.f32 s15, s14, s15 80b4c80: 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; 80b4c84: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b4c88: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b4c8c: ee67 7a27 vmul.f32 s15, s14, s15 80b4c90: 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; 80b4c94: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b4c98: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b4c9c: ee67 7a27 vmul.f32 s15, s14, s15 80b4ca0: 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; 80b4ca4: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b4ca8: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b4cac: ee67 7a27 vmul.f32 s15, s14, s15 80b4cb0: 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; 80b4cb4: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b4cb8: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b4cbc: ee67 7a27 vmul.f32 s15, s14, s15 80b4cc0: edc7 7a0e vstr s15, [r7, #56] ; 0x38 Xb12_out -= p0; 80b4cc4: ed97 7a19 vldr s14, [r7, #100] ; 0x64 80b4cc8: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b4ccc: ee77 7a67 vsub.f32 s15, s14, s15 80b4cd0: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out += p1; 80b4cd4: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b4cd8: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b4cdc: ee77 7a27 vadd.f32 s15, s14, s15 80b4ce0: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out -= p2; 80b4ce4: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b4ce8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b4cec: ee77 7a67 vsub.f32 s15, s14, s15 80b4cf0: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out += p3; 80b4cf4: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b4cf8: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b4cfc: ee77 7a27 vadd.f32 s15, s14, s15 80b4d00: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out -= p4; 80b4d04: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b4d08: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b4d0c: ee77 7a67 vsub.f32 s15, s14, s15 80b4d10: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out += p5; 80b4d14: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b4d18: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b4d1c: ee77 7a27 vadd.f32 s15, s14, s15 80b4d20: edc7 7a14 vstr s15, [r7, #80] ; 0x50 /* xc' = (xa-xb+xc-xd)co2 - (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b4d24: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4d28: 00db lsls r3, r3, #3 80b4d2a: 68fa ldr r2, [r7, #12] 80b4d2c: 4413 add r3, r2 80b4d2e: 6dfa ldr r2, [r7, #92] ; 0x5c 80b4d30: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 + (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b4d32: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b4d36: 00db lsls r3, r3, #3 80b4d38: 3304 adds r3, #4 80b4d3a: 68fa ldr r2, [r7, #12] 80b4d3c: 4413 add r3, r2 80b4d3e: 6dba ldr r2, [r7, #88] ; 0x58 80b4d40: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 - (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b4d42: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b4d46: 00db lsls r3, r3, #3 80b4d48: 68fa ldr r2, [r7, #12] 80b4d4a: 4413 add r3, r2 80b4d4c: 6e7a ldr r2, [r7, #100] ; 0x64 80b4d4e: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 + (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b4d50: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b4d54: 00db lsls r3, r3, #3 80b4d56: 3304 adds r3, #4 80b4d58: 68fa ldr r2, [r7, #12] 80b4d5a: 4413 add r3, r2 80b4d5c: 6e3a ldr r2, [r7, #96] ; 0x60 80b4d5e: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 - (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b4d60: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4d64: 00db lsls r3, r3, #3 80b4d66: 68fa ldr r2, [r7, #12] 80b4d68: 4413 add r3, r2 80b4d6a: 6d7a ldr r2, [r7, #84] ; 0x54 80b4d6c: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b4d6e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b4d72: 00db lsls r3, r3, #3 80b4d74: 3304 adds r3, #4 80b4d76: 68fa ldr r2, [r7, #12] 80b4d78: 4413 add r3, r2 80b4d7a: 6d3a ldr r2, [r7, #80] ; 0x50 80b4d7c: 601a str r2, [r3, #0] i0 += n1; 80b4d7e: f8d7 2100 ldr.w r2, [r7, #256] ; 0x100 80b4d82: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b4d86: 4413 add r3, r2 80b4d88: f8c7 3100 str.w r3, [r7, #256] ; 0x100 } while(i0 < fftLen); 80b4d8c: 897a ldrh r2, [r7, #10] 80b4d8e: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b4d92: 429a cmp r2, r3 80b4d94: f63f ae52 bhi.w 80b4a3c j++; 80b4d98: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b4d9c: 3301 adds r3, #1 80b4d9e: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 } while(j <= (n2 - 1u)); 80b4da2: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b4da6: 1e5a subs r2, r3, #1 80b4da8: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b4dac: 429a cmp r2, r3 80b4dae: f4bf adf9 bcs.w 80b49a4 twidCoefModifier <<= 2u; 80b4db2: f107 0308 add.w r3, r7, #8 80b4db6: f107 0208 add.w r2, r7, #8 80b4dba: 8812 ldrh r2, [r2, #0] 80b4dbc: 0092 lsls r2, r2, #2 80b4dbe: 801a strh r2, [r3, #0] for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b4dc0: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b4dc4: 089b lsrs r3, r3, #2 80b4dc6: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 80b4dca: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b4dce: 2b04 cmp r3, #4 80b4dd0: f63f add9 bhi.w 80b4986 } /* Initializations of last stage */ j = fftLen >> 2; 80b4dd4: 897b ldrh r3, [r7, #10] 80b4dd6: 089b lsrs r3, r3, #2 80b4dd8: b29b uxth r3, r3 80b4dda: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 ptr1 = &pSrc[0]; 80b4dde: 68fb ldr r3, [r7, #12] 80b4de0: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 /* Calculations of last stage */ do { xaIn = ptr1[0]; 80b4de4: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4de8: 681b ldr r3, [r3, #0] 80b4dea: f8c7 30dc str.w r3, [r7, #220] ; 0xdc yaIn = ptr1[1]; 80b4dee: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4df2: 685b ldr r3, [r3, #4] 80b4df4: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xbIn = ptr1[2]; 80b4df8: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4dfc: 689b ldr r3, [r3, #8] 80b4dfe: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = ptr1[3]; 80b4e02: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4e06: 68db ldr r3, [r3, #12] 80b4e08: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = ptr1[4]; 80b4e0c: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4e10: 691b ldr r3, [r3, #16] 80b4e12: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 ycIn = ptr1[5]; 80b4e16: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4e1a: 695b ldr r3, [r3, #20] 80b4e1c: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xdIn = ptr1[6]; 80b4e20: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4e24: 699b ldr r3, [r3, #24] 80b4e26: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ydIn = ptr1[7]; 80b4e2a: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4e2e: 69db ldr r3, [r3, #28] 80b4e30: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 /* Butterfly implementation */ /* xa + xc */ Xaplusc = xaIn + xcIn; 80b4e34: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b4e38: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b4e3c: ee77 7a27 vadd.f32 s15, s14, s15 80b4e40: edc7 7a2f vstr s15, [r7, #188] ; 0xbc /* xa - xc */ Xaminusc = xaIn - xcIn; 80b4e44: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b4e48: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b4e4c: ee77 7a67 vsub.f32 s15, s14, s15 80b4e50: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b4e54: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b4e58: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b4e5c: ee77 7a27 vadd.f32 s15, s14, s15 80b4e60: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* ya - yc */ Yaminusc = yaIn - ycIn; 80b4e64: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b4e68: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b4e6c: ee77 7a67 vsub.f32 s15, s14, s15 80b4e70: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b4e74: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b4e78: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b4e7c: ee77 7a27 vadd.f32 s15, s14, s15 80b4e80: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b4e84: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b4e88: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b4e8c: ee77 7a27 vadd.f32 s15, s14, s15 80b4e90: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* (xb-xd) */ Xbminusd = xbIn - xdIn; 80b4e94: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b4e98: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b4e9c: ee77 7a67 vsub.f32 s15, s14, s15 80b4ea0: edc7 7a27 vstr s15, [r7, #156] ; 0x9c /* (yb-yd) */ Ybminusd = ybIn - ydIn; 80b4ea4: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b4ea8: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b4eac: ee77 7a67 vsub.f32 s15, s14, s15 80b4eb0: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* xa' = (xa+xb+xc+xd) * onebyfftLen */ a0 = (Xaplusc + Xbplusd); 80b4eb4: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b4eb8: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b4ebc: ee77 7a27 vadd.f32 s15, s14, s15 80b4ec0: edc7 7a0d vstr s15, [r7, #52] ; 0x34 /* ya' = (ya+yb+yc+yd) * onebyfftLen */ a1 = (Yaplusc + Ybplusd); 80b4ec4: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b4ec8: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b4ecc: ee77 7a27 vadd.f32 s15, s14, s15 80b4ed0: edc7 7a0c vstr s15, [r7, #48] ; 0x30 /* xc' = (xa-xb+xc-xd) * onebyfftLen */ a2 = (Xaplusc - Xbplusd); 80b4ed4: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b4ed8: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b4edc: ee77 7a67 vsub.f32 s15, s14, s15 80b4ee0: edc7 7a0b vstr s15, [r7, #44] ; 0x2c /* yc' = (ya-yb+yc-yd) * onebyfftLen */ a3 = (Yaplusc - Ybplusd); 80b4ee4: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b4ee8: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b4eec: ee77 7a67 vsub.f32 s15, s14, s15 80b4ef0: edc7 7a0a vstr s15, [r7, #40] ; 0x28 /* xb' = (xa-yb-xc+yd) * onebyfftLen */ a4 = (Xaminusc - Ybminusd); 80b4ef4: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b4ef8: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b4efc: ee77 7a67 vsub.f32 s15, s14, s15 80b4f00: edc7 7a09 vstr s15, [r7, #36] ; 0x24 /* yb' = (ya+xb-yc-xd) * onebyfftLen */ a5 = (Yaminusc + Xbminusd); 80b4f04: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b4f08: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b4f0c: ee77 7a27 vadd.f32 s15, s14, s15 80b4f10: edc7 7a08 vstr s15, [r7, #32] /* xd' = (xa-yb-xc+yd) * onebyfftLen */ a6 = (Xaminusc + Ybminusd); 80b4f14: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b4f18: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b4f1c: ee77 7a27 vadd.f32 s15, s14, s15 80b4f20: edc7 7a07 vstr s15, [r7, #28] /* yd' = (ya-xb-yc+xd) * onebyfftLen */ a7 = (Yaminusc - Xbminusd); 80b4f24: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b4f28: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b4f2c: ee77 7a67 vsub.f32 s15, s14, s15 80b4f30: edc7 7a06 vstr s15, [r7, #24] p0 = a0 * onebyfftLen; 80b4f34: 463b mov r3, r7 80b4f36: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b4f3a: edd3 7a00 vldr s15, [r3] 80b4f3e: ee67 7a27 vmul.f32 s15, s14, s15 80b4f42: edc7 7a13 vstr s15, [r7, #76] ; 0x4c p1 = a1 * onebyfftLen; 80b4f46: 463b mov r3, r7 80b4f48: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b4f4c: edd3 7a00 vldr s15, [r3] 80b4f50: ee67 7a27 vmul.f32 s15, s14, s15 80b4f54: edc7 7a12 vstr s15, [r7, #72] ; 0x48 p2 = a2 * onebyfftLen; 80b4f58: 463b mov r3, r7 80b4f5a: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b4f5e: edd3 7a00 vldr s15, [r3] 80b4f62: ee67 7a27 vmul.f32 s15, s14, s15 80b4f66: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p3 = a3 * onebyfftLen; 80b4f6a: 463b mov r3, r7 80b4f6c: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b4f70: edd3 7a00 vldr s15, [r3] 80b4f74: ee67 7a27 vmul.f32 s15, s14, s15 80b4f78: edc7 7a10 vstr s15, [r7, #64] ; 0x40 p4 = a4 * onebyfftLen; 80b4f7c: 463b mov r3, r7 80b4f7e: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b4f82: edd3 7a00 vldr s15, [r3] 80b4f86: ee67 7a27 vmul.f32 s15, s14, s15 80b4f8a: edc7 7a0f vstr s15, [r7, #60] ; 0x3c p5 = a5 * onebyfftLen; 80b4f8e: 463b mov r3, r7 80b4f90: ed97 7a08 vldr s14, [r7, #32] 80b4f94: edd3 7a00 vldr s15, [r3] 80b4f98: ee67 7a27 vmul.f32 s15, s14, s15 80b4f9c: edc7 7a0e vstr s15, [r7, #56] ; 0x38 p6 = a6 * onebyfftLen; 80b4fa0: 463b mov r3, r7 80b4fa2: ed97 7a07 vldr s14, [r7, #28] 80b4fa6: edd3 7a00 vldr s15, [r3] 80b4faa: ee67 7a27 vmul.f32 s15, s14, s15 80b4fae: edc7 7a05 vstr s15, [r7, #20] p7 = a7 * onebyfftLen; 80b4fb2: 463b mov r3, r7 80b4fb4: ed97 7a06 vldr s14, [r7, #24] 80b4fb8: edd3 7a00 vldr s15, [r3] 80b4fbc: ee67 7a27 vmul.f32 s15, s14, s15 80b4fc0: edc7 7a04 vstr s15, [r7, #16] /* xa' = (xa+xb+xc+xd) * onebyfftLen */ ptr1[0] = p0; 80b4fc4: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4fc8: 6cfa ldr r2, [r7, #76] ; 0x4c 80b4fca: 601a str r2, [r3, #0] /* ya' = (ya+yb+yc+yd) * onebyfftLen */ ptr1[1] = p1; 80b4fcc: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4fd0: 3304 adds r3, #4 80b4fd2: 6cba ldr r2, [r7, #72] ; 0x48 80b4fd4: 601a str r2, [r3, #0] /* xc' = (xa-xb+xc-xd) * onebyfftLen */ ptr1[2] = p2; 80b4fd6: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4fda: 3308 adds r3, #8 80b4fdc: 6c7a ldr r2, [r7, #68] ; 0x44 80b4fde: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd) * onebyfftLen */ ptr1[3] = p3; 80b4fe0: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4fe4: 330c adds r3, #12 80b4fe6: 6c3a ldr r2, [r7, #64] ; 0x40 80b4fe8: 601a str r2, [r3, #0] /* xb' = (xa-yb-xc+yd) * onebyfftLen */ ptr1[4] = p4; 80b4fea: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4fee: 3310 adds r3, #16 80b4ff0: 6bfa ldr r2, [r7, #60] ; 0x3c 80b4ff2: 601a str r2, [r3, #0] /* yb' = (ya+xb-yc-xd) * onebyfftLen */ ptr1[5] = p5; 80b4ff4: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b4ff8: 3314 adds r3, #20 80b4ffa: 6bba ldr r2, [r7, #56] ; 0x38 80b4ffc: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd) * onebyfftLen */ ptr1[6] = p6; 80b4ffe: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5002: 3318 adds r3, #24 80b5004: 697a ldr r2, [r7, #20] 80b5006: 601a str r2, [r3, #0] /* yd' = (ya-xb-yc+xd) * onebyfftLen */ ptr1[7] = p7; 80b5008: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b500c: 331c adds r3, #28 80b500e: 693a ldr r2, [r7, #16] 80b5010: 601a str r2, [r3, #0] /* increment source pointer by 8 for next calculations */ ptr1 = ptr1 + 8u; 80b5012: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b5016: 3320 adds r3, #32 80b5018: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 } while(--j); 80b501c: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b5020: 3b01 subs r3, #1 80b5022: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 80b5026: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b502a: 2b00 cmp r3, #0 80b502c: f47f aeda bne.w 80b4de4 /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = s2 * onebyfftLen; } #endif /* #ifndef ARM_MATH_CM0_FAMILY_FAMILY */ } 80b5030: bf00 nop 80b5032: f507 7786 add.w r7, r7, #268 ; 0x10c 80b5036: 46bd mov sp, r7 80b5038: f85d 7b04 ldr.w r7, [sp], #4 80b503c: 4770 bx lr ... 080b5040 : arm_status arm_cfft_radix4_init_f32( arm_cfft_radix4_instance_f32 * S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag) { 80b5040: b480 push {r7} 80b5042: b085 sub sp, #20 80b5044: af00 add r7, sp, #0 80b5046: 6078 str r0, [r7, #4] 80b5048: 4608 mov r0, r1 80b504a: 4611 mov r1, r2 80b504c: 461a mov r2, r3 80b504e: 4603 mov r3, r0 80b5050: 807b strh r3, [r7, #2] 80b5052: 460b mov r3, r1 80b5054: 707b strb r3, [r7, #1] 80b5056: 4613 mov r3, r2 80b5058: 703b strb r3, [r7, #0] /* Initialise the default arm status */ arm_status status = ARM_MATH_SUCCESS; 80b505a: 2300 movs r3, #0 80b505c: 73fb strb r3, [r7, #15] /* Initialise the FFT length */ S->fftLen = fftLen; 80b505e: 687b ldr r3, [r7, #4] 80b5060: 887a ldrh r2, [r7, #2] 80b5062: 801a strh r2, [r3, #0] /* Initialise the Twiddle coefficient pointer */ S->pTwiddle = (float32_t *) twiddleCoef; 80b5064: 687b ldr r3, [r7, #4] 80b5066: 4a37 ldr r2, [pc, #220] ; (80b5144 ) 80b5068: 605a str r2, [r3, #4] /* Initialise the Flag for selection of CFFT or CIFFT */ S->ifftFlag = ifftFlag; 80b506a: 687b ldr r3, [r7, #4] 80b506c: 787a ldrb r2, [r7, #1] 80b506e: 709a strb r2, [r3, #2] /* Initialise the Flag for calculation Bit reversal or not */ S->bitReverseFlag = bitReverseFlag; 80b5070: 687b ldr r3, [r7, #4] 80b5072: 783a ldrb r2, [r7, #0] 80b5074: 70da strb r2, [r3, #3] /* Initializations of structure parameters depending on the FFT length */ switch (S->fftLen) 80b5076: 687b ldr r3, [r7, #4] 80b5078: 881b ldrh r3, [r3, #0] 80b507a: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b507e: d029 beq.n 80b50d4 80b5080: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b5084: dc04 bgt.n 80b5090 80b5086: 2b10 cmp r3, #16 80b5088: d040 beq.n 80b510c 80b508a: 2b40 cmp r3, #64 ; 0x40 80b508c: d030 beq.n 80b50f0 80b508e: e04d b.n 80b512c 80b5090: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b5094: d010 beq.n 80b50b8 80b5096: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b509a: d147 bne.n 80b512c case 4096u: /* Initializations of structure parameters for 4096 point FFT */ /* Initialise the twiddle coef modifier value */ S->twidCoefModifier = 1u; 80b509c: 687b ldr r3, [r7, #4] 80b509e: 2201 movs r2, #1 80b50a0: 819a strh r2, [r3, #12] /* Initialise the bit reversal table modifier */ S->bitRevFactor = 1u; 80b50a2: 687b ldr r3, [r7, #4] 80b50a4: 2201 movs r2, #1 80b50a6: 81da strh r2, [r3, #14] /* Initialise the bit reversal table pointer */ S->pBitRevTable = (uint16_t *) armBitRevTable; 80b50a8: 687b ldr r3, [r7, #4] 80b50aa: 4a27 ldr r2, [pc, #156] ; (80b5148 ) 80b50ac: 609a str r2, [r3, #8] /* Initialise the 1/fftLen Value */ S->onebyfftLen = 0.000244140625; 80b50ae: 687b ldr r3, [r7, #4] 80b50b0: f04f 5266 mov.w r2, #964689920 ; 0x39800000 80b50b4: 611a str r2, [r3, #16] break; 80b50b6: e03c b.n 80b5132 case 1024u: /* Initializations of structure parameters for 1024 point FFT */ /* Initialise the twiddle coef modifier value */ S->twidCoefModifier = 4u; 80b50b8: 687b ldr r3, [r7, #4] 80b50ba: 2204 movs r2, #4 80b50bc: 819a strh r2, [r3, #12] /* Initialise the bit reversal table modifier */ S->bitRevFactor = 4u; 80b50be: 687b ldr r3, [r7, #4] 80b50c0: 2204 movs r2, #4 80b50c2: 81da strh r2, [r3, #14] /* Initialise the bit reversal table pointer */ S->pBitRevTable = (uint16_t *) & armBitRevTable[3]; 80b50c4: 687b ldr r3, [r7, #4] 80b50c6: 4a21 ldr r2, [pc, #132] ; (80b514c ) 80b50c8: 609a str r2, [r3, #8] /* Initialise the 1/fftLen Value */ S->onebyfftLen = 0.0009765625f; 80b50ca: 687b ldr r3, [r7, #4] 80b50cc: f04f 526a mov.w r2, #981467136 ; 0x3a800000 80b50d0: 611a str r2, [r3, #16] break; 80b50d2: e02e b.n 80b5132 case 256u: /* Initializations of structure parameters for 256 point FFT */ S->twidCoefModifier = 16u; 80b50d4: 687b ldr r3, [r7, #4] 80b50d6: 2210 movs r2, #16 80b50d8: 819a strh r2, [r3, #12] S->bitRevFactor = 16u; 80b50da: 687b ldr r3, [r7, #4] 80b50dc: 2210 movs r2, #16 80b50de: 81da strh r2, [r3, #14] S->pBitRevTable = (uint16_t *) & armBitRevTable[15]; 80b50e0: 687b ldr r3, [r7, #4] 80b50e2: 4a1b ldr r2, [pc, #108] ; (80b5150 ) 80b50e4: 609a str r2, [r3, #8] S->onebyfftLen = 0.00390625f; 80b50e6: 687b ldr r3, [r7, #4] 80b50e8: f04f 526e mov.w r2, #998244352 ; 0x3b800000 80b50ec: 611a str r2, [r3, #16] break; 80b50ee: e020 b.n 80b5132 case 64u: /* Initializations of structure parameters for 64 point FFT */ S->twidCoefModifier = 64u; 80b50f0: 687b ldr r3, [r7, #4] 80b50f2: 2240 movs r2, #64 ; 0x40 80b50f4: 819a strh r2, [r3, #12] S->bitRevFactor = 64u; 80b50f6: 687b ldr r3, [r7, #4] 80b50f8: 2240 movs r2, #64 ; 0x40 80b50fa: 81da strh r2, [r3, #14] S->pBitRevTable = (uint16_t *) & armBitRevTable[63]; 80b50fc: 687b ldr r3, [r7, #4] 80b50fe: 4a15 ldr r2, [pc, #84] ; (80b5154 ) 80b5100: 609a str r2, [r3, #8] S->onebyfftLen = 0.015625f; 80b5102: 687b ldr r3, [r7, #4] 80b5104: f04f 5272 mov.w r2, #1015021568 ; 0x3c800000 80b5108: 611a str r2, [r3, #16] break; 80b510a: e012 b.n 80b5132 case 16u: /* Initializations of structure parameters for 16 point FFT */ S->twidCoefModifier = 256u; 80b510c: 687b ldr r3, [r7, #4] 80b510e: f44f 7280 mov.w r2, #256 ; 0x100 80b5112: 819a strh r2, [r3, #12] S->bitRevFactor = 256u; 80b5114: 687b ldr r3, [r7, #4] 80b5116: f44f 7280 mov.w r2, #256 ; 0x100 80b511a: 81da strh r2, [r3, #14] S->pBitRevTable = (uint16_t *) & armBitRevTable[255]; 80b511c: 687b ldr r3, [r7, #4] 80b511e: 4a0e ldr r2, [pc, #56] ; (80b5158 ) 80b5120: 609a str r2, [r3, #8] S->onebyfftLen = 0.0625f; 80b5122: 687b ldr r3, [r7, #4] 80b5124: f04f 5276 mov.w r2, #1031798784 ; 0x3d800000 80b5128: 611a str r2, [r3, #16] break; 80b512a: e002 b.n 80b5132 default: /* Reporting argument error if fftSize is not valid value */ status = ARM_MATH_ARGUMENT_ERROR; 80b512c: 23ff movs r3, #255 ; 0xff 80b512e: 73fb strb r3, [r7, #15] break; 80b5130: bf00 nop } return (status); 80b5132: f997 300f ldrsb.w r3, [r7, #15] } 80b5136: 4618 mov r0, r3 80b5138: 3714 adds r7, #20 80b513a: 46bd mov sp, r7 80b513c: f85d 7b04 ldr.w r7, [sp], #4 80b5140: 4770 bx lr 80b5142: bf00 nop 80b5144: 081829dc .word 0x081829dc 80b5148: 0817bf88 .word 0x0817bf88 80b514c: 0817bf8e .word 0x0817bf8e 80b5150: 0817bfa6 .word 0x0817bfa6 80b5154: 0817c006 .word 0x0817c006 80b5158: 0817c186 .word 0x0817c186 080b515c : void arm_radix8_butterfly_f32( float32_t * pSrc, uint16_t fftLen, const float32_t * pCoef, uint16_t twidCoefModifier) { 80b515c: b480 push {r7} 80b515e: b0bd sub sp, #244 ; 0xf4 80b5160: af00 add r7, sp, #0 80b5162: 60f8 str r0, [r7, #12] 80b5164: 607a str r2, [r7, #4] 80b5166: 461a mov r2, r3 80b5168: 460b mov r3, r1 80b516a: 817b strh r3, [r7, #10] 80b516c: 4613 mov r3, r2 80b516e: 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; 80b5170: 4b09 ldr r3, [pc, #36] ; (80b5198 ) 80b5172: f8c7 30dc str.w r3, [r7, #220] ; 0xdc n2 = fftLen; 80b5176: 897b ldrh r3, [r7, #10] 80b5178: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 do { n1 = n2; 80b517c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5180: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 n2 = n2 >> 3; 80b5184: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b5188: 08db lsrs r3, r3, #3 80b518a: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 i1 = 0; 80b518e: 2300 movs r3, #0 80b5190: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 80b5194: e002 b.n 80b519c 80b5196: bf00 nop 80b5198: 3f3504f3 .word 0x3f3504f3 do { i2 = i1 + n2; 80b519c: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b51a0: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b51a4: 4413 add r3, r2 80b51a6: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 i3 = i2 + n2; 80b51aa: f8d7 20d4 ldr.w r2, [r7, #212] ; 0xd4 80b51ae: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b51b2: 4413 add r3, r2 80b51b4: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 i4 = i3 + n2; 80b51b8: f8d7 20d0 ldr.w r2, [r7, #208] ; 0xd0 80b51bc: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b51c0: 4413 add r3, r2 80b51c2: f8c7 30cc str.w r3, [r7, #204] ; 0xcc i5 = i4 + n2; 80b51c6: f8d7 20cc ldr.w r2, [r7, #204] ; 0xcc 80b51ca: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b51ce: 4413 add r3, r2 80b51d0: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 i6 = i5 + n2; 80b51d4: f8d7 20c8 ldr.w r2, [r7, #200] ; 0xc8 80b51d8: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b51dc: 4413 add r3, r2 80b51de: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i7 = i6 + n2; 80b51e2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80b51e6: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b51ea: 4413 add r3, r2 80b51ec: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 i8 = i7 + n2; 80b51f0: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80b51f4: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b51f8: 4413 add r3, r2 80b51fa: f8c7 30bc str.w r3, [r7, #188] ; 0xbc r1 = pSrc[2 * i1] + pSrc[2 * i5]; 80b51fe: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5202: 00db lsls r3, r3, #3 80b5204: 68fa ldr r2, [r7, #12] 80b5206: 4413 add r3, r2 80b5208: ed93 7a00 vldr s14, [r3] 80b520c: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b5210: 00db lsls r3, r3, #3 80b5212: 68fa ldr r2, [r7, #12] 80b5214: 4413 add r3, r2 80b5216: edd3 7a00 vldr s15, [r3] 80b521a: ee77 7a27 vadd.f32 s15, s14, s15 80b521e: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r5 = pSrc[2 * i1] - pSrc[2 * i5]; 80b5222: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5226: 00db lsls r3, r3, #3 80b5228: 68fa ldr r2, [r7, #12] 80b522a: 4413 add r3, r2 80b522c: ed93 7a00 vldr s14, [r3] 80b5230: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b5234: 00db lsls r3, r3, #3 80b5236: 68fa ldr r2, [r7, #12] 80b5238: 4413 add r3, r2 80b523a: edd3 7a00 vldr s15, [r3] 80b523e: ee77 7a67 vsub.f32 s15, s14, s15 80b5242: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r2 = pSrc[2 * i2] + pSrc[2 * i6]; 80b5246: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b524a: 00db lsls r3, r3, #3 80b524c: 68fa ldr r2, [r7, #12] 80b524e: 4413 add r3, r2 80b5250: ed93 7a00 vldr s14, [r3] 80b5254: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b5258: 00db lsls r3, r3, #3 80b525a: 68fa ldr r2, [r7, #12] 80b525c: 4413 add r3, r2 80b525e: edd3 7a00 vldr s15, [r3] 80b5262: ee77 7a27 vadd.f32 s15, s14, s15 80b5266: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 r6 = pSrc[2 * i2] - pSrc[2 * i6]; 80b526a: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b526e: 00db lsls r3, r3, #3 80b5270: 68fa ldr r2, [r7, #12] 80b5272: 4413 add r3, r2 80b5274: ed93 7a00 vldr s14, [r3] 80b5278: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b527c: 00db lsls r3, r3, #3 80b527e: 68fa ldr r2, [r7, #12] 80b5280: 4413 add r3, r2 80b5282: edd3 7a00 vldr s15, [r3] 80b5286: ee77 7a67 vsub.f32 s15, s14, s15 80b528a: edc7 7a2b vstr s15, [r7, #172] ; 0xac r3 = pSrc[2 * i3] + pSrc[2 * i7]; 80b528e: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b5292: 00db lsls r3, r3, #3 80b5294: 68fa ldr r2, [r7, #12] 80b5296: 4413 add r3, r2 80b5298: ed93 7a00 vldr s14, [r3] 80b529c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b52a0: 00db lsls r3, r3, #3 80b52a2: 68fa ldr r2, [r7, #12] 80b52a4: 4413 add r3, r2 80b52a6: edd3 7a00 vldr s15, [r3] 80b52aa: ee77 7a27 vadd.f32 s15, s14, s15 80b52ae: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r7 = pSrc[2 * i3] - pSrc[2 * i7]; 80b52b2: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b52b6: 00db lsls r3, r3, #3 80b52b8: 68fa ldr r2, [r7, #12] 80b52ba: 4413 add r3, r2 80b52bc: ed93 7a00 vldr s14, [r3] 80b52c0: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b52c4: 00db lsls r3, r3, #3 80b52c6: 68fa ldr r2, [r7, #12] 80b52c8: 4413 add r3, r2 80b52ca: edd3 7a00 vldr s15, [r3] 80b52ce: ee77 7a67 vsub.f32 s15, s14, s15 80b52d2: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 r4 = pSrc[2 * i4] + pSrc[2 * i8]; 80b52d6: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b52da: 00db lsls r3, r3, #3 80b52dc: 68fa ldr r2, [r7, #12] 80b52de: 4413 add r3, r2 80b52e0: ed93 7a00 vldr s14, [r3] 80b52e4: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b52e8: 00db lsls r3, r3, #3 80b52ea: 68fa ldr r2, [r7, #12] 80b52ec: 4413 add r3, r2 80b52ee: edd3 7a00 vldr s15, [r3] 80b52f2: ee77 7a27 vadd.f32 s15, s14, s15 80b52f6: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 r8 = pSrc[2 * i4] - pSrc[2 * i8]; 80b52fa: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b52fe: 00db lsls r3, r3, #3 80b5300: 68fa ldr r2, [r7, #12] 80b5302: 4413 add r3, r2 80b5304: ed93 7a00 vldr s14, [r3] 80b5308: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b530c: 00db lsls r3, r3, #3 80b530e: 68fa ldr r2, [r7, #12] 80b5310: 4413 add r3, r2 80b5312: edd3 7a00 vldr s15, [r3] 80b5316: ee77 7a67 vsub.f32 s15, s14, s15 80b531a: edc7 7a27 vstr s15, [r7, #156] ; 0x9c t1 = r1 - r3; 80b531e: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b5322: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b5326: ee77 7a67 vsub.f32 s15, s14, s15 80b532a: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r1 = r1 + r3; 80b532e: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b5332: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b5336: ee77 7a27 vadd.f32 s15, s14, s15 80b533a: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r3 = r2 - r4; 80b533e: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b5342: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b5346: ee77 7a67 vsub.f32 s15, s14, s15 80b534a: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r2 = r2 + r4; 80b534e: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b5352: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b5356: ee77 7a27 vadd.f32 s15, s14, s15 80b535a: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 pSrc[2 * i1] = r1 + r2; 80b535e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5362: 00db lsls r3, r3, #3 80b5364: 68fa ldr r2, [r7, #12] 80b5366: 4413 add r3, r2 80b5368: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b536c: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b5370: ee77 7a27 vadd.f32 s15, s14, s15 80b5374: edc3 7a00 vstr s15, [r3] pSrc[2 * i5] = r1 - r2; 80b5378: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b537c: 00db lsls r3, r3, #3 80b537e: 68fa ldr r2, [r7, #12] 80b5380: 4413 add r3, r2 80b5382: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b5386: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b538a: ee77 7a67 vsub.f32 s15, s14, s15 80b538e: edc3 7a00 vstr s15, [r3] r1 = pSrc[2 * i1 + 1] + pSrc[2 * i5 + 1]; 80b5392: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5396: 00db lsls r3, r3, #3 80b5398: 3304 adds r3, #4 80b539a: 68fa ldr r2, [r7, #12] 80b539c: 4413 add r3, r2 80b539e: ed93 7a00 vldr s14, [r3] 80b53a2: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b53a6: 00db lsls r3, r3, #3 80b53a8: 3304 adds r3, #4 80b53aa: 68fa ldr r2, [r7, #12] 80b53ac: 4413 add r3, r2 80b53ae: edd3 7a00 vldr s15, [r3] 80b53b2: ee77 7a27 vadd.f32 s15, s14, s15 80b53b6: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 s5 = pSrc[2 * i1 + 1] - pSrc[2 * i5 + 1]; 80b53ba: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b53be: 00db lsls r3, r3, #3 80b53c0: 3304 adds r3, #4 80b53c2: 68fa ldr r2, [r7, #12] 80b53c4: 4413 add r3, r2 80b53c6: ed93 7a00 vldr s14, [r3] 80b53ca: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b53ce: 00db lsls r3, r3, #3 80b53d0: 3304 adds r3, #4 80b53d2: 68fa ldr r2, [r7, #12] 80b53d4: 4413 add r3, r2 80b53d6: edd3 7a00 vldr s15, [r3] 80b53da: ee77 7a67 vsub.f32 s15, s14, s15 80b53de: edc7 7a25 vstr s15, [r7, #148] ; 0x94 r2 = pSrc[2 * i2 + 1] + pSrc[2 * i6 + 1]; 80b53e2: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b53e6: 00db lsls r3, r3, #3 80b53e8: 3304 adds r3, #4 80b53ea: 68fa ldr r2, [r7, #12] 80b53ec: 4413 add r3, r2 80b53ee: ed93 7a00 vldr s14, [r3] 80b53f2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b53f6: 00db lsls r3, r3, #3 80b53f8: 3304 adds r3, #4 80b53fa: 68fa ldr r2, [r7, #12] 80b53fc: 4413 add r3, r2 80b53fe: edd3 7a00 vldr s15, [r3] 80b5402: ee77 7a27 vadd.f32 s15, s14, s15 80b5406: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 s6 = pSrc[2 * i2 + 1] - pSrc[2 * i6 + 1]; 80b540a: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b540e: 00db lsls r3, r3, #3 80b5410: 3304 adds r3, #4 80b5412: 68fa ldr r2, [r7, #12] 80b5414: 4413 add r3, r2 80b5416: ed93 7a00 vldr s14, [r3] 80b541a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b541e: 00db lsls r3, r3, #3 80b5420: 3304 adds r3, #4 80b5422: 68fa ldr r2, [r7, #12] 80b5424: 4413 add r3, r2 80b5426: edd3 7a00 vldr s15, [r3] 80b542a: ee77 7a67 vsub.f32 s15, s14, s15 80b542e: edc7 7a24 vstr s15, [r7, #144] ; 0x90 s3 = pSrc[2 * i3 + 1] + pSrc[2 * i7 + 1]; 80b5432: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b5436: 00db lsls r3, r3, #3 80b5438: 3304 adds r3, #4 80b543a: 68fa ldr r2, [r7, #12] 80b543c: 4413 add r3, r2 80b543e: ed93 7a00 vldr s14, [r3] 80b5442: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b5446: 00db lsls r3, r3, #3 80b5448: 3304 adds r3, #4 80b544a: 68fa ldr r2, [r7, #12] 80b544c: 4413 add r3, r2 80b544e: edd3 7a00 vldr s15, [r3] 80b5452: ee77 7a27 vadd.f32 s15, s14, s15 80b5456: edc7 7a23 vstr s15, [r7, #140] ; 0x8c s7 = pSrc[2 * i3 + 1] - pSrc[2 * i7 + 1]; 80b545a: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b545e: 00db lsls r3, r3, #3 80b5460: 3304 adds r3, #4 80b5462: 68fa ldr r2, [r7, #12] 80b5464: 4413 add r3, r2 80b5466: ed93 7a00 vldr s14, [r3] 80b546a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b546e: 00db lsls r3, r3, #3 80b5470: 3304 adds r3, #4 80b5472: 68fa ldr r2, [r7, #12] 80b5474: 4413 add r3, r2 80b5476: edd3 7a00 vldr s15, [r3] 80b547a: ee77 7a67 vsub.f32 s15, s14, s15 80b547e: edc7 7a22 vstr s15, [r7, #136] ; 0x88 r4 = pSrc[2 * i4 + 1] + pSrc[2 * i8 + 1]; 80b5482: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b5486: 00db lsls r3, r3, #3 80b5488: 3304 adds r3, #4 80b548a: 68fa ldr r2, [r7, #12] 80b548c: 4413 add r3, r2 80b548e: ed93 7a00 vldr s14, [r3] 80b5492: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b5496: 00db lsls r3, r3, #3 80b5498: 3304 adds r3, #4 80b549a: 68fa ldr r2, [r7, #12] 80b549c: 4413 add r3, r2 80b549e: edd3 7a00 vldr s15, [r3] 80b54a2: ee77 7a27 vadd.f32 s15, s14, s15 80b54a6: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 s8 = pSrc[2 * i4 + 1] - pSrc[2 * i8 + 1]; 80b54aa: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b54ae: 00db lsls r3, r3, #3 80b54b0: 3304 adds r3, #4 80b54b2: 68fa ldr r2, [r7, #12] 80b54b4: 4413 add r3, r2 80b54b6: ed93 7a00 vldr s14, [r3] 80b54ba: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b54be: 00db lsls r3, r3, #3 80b54c0: 3304 adds r3, #4 80b54c2: 68fa ldr r2, [r7, #12] 80b54c4: 4413 add r3, r2 80b54c6: edd3 7a00 vldr s15, [r3] 80b54ca: ee77 7a67 vsub.f32 s15, s14, s15 80b54ce: edc7 7a21 vstr s15, [r7, #132] ; 0x84 t2 = r1 - s3; 80b54d2: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b54d6: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b54da: ee77 7a67 vsub.f32 s15, s14, s15 80b54de: edc7 7a20 vstr s15, [r7, #128] ; 0x80 r1 = r1 + s3; 80b54e2: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b54e6: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b54ea: ee77 7a27 vadd.f32 s15, s14, s15 80b54ee: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 s3 = r2 - r4; 80b54f2: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b54f6: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b54fa: ee77 7a67 vsub.f32 s15, s14, s15 80b54fe: edc7 7a23 vstr s15, [r7, #140] ; 0x8c r2 = r2 + r4; 80b5502: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b5506: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b550a: ee77 7a27 vadd.f32 s15, s14, s15 80b550e: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 pSrc[2 * i1 + 1] = r1 + r2; 80b5512: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5516: 00db lsls r3, r3, #3 80b5518: 3304 adds r3, #4 80b551a: 68fa ldr r2, [r7, #12] 80b551c: 4413 add r3, r2 80b551e: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b5522: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b5526: ee77 7a27 vadd.f32 s15, s14, s15 80b552a: edc3 7a00 vstr s15, [r3] pSrc[2 * i5 + 1] = r1 - r2; 80b552e: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b5532: 00db lsls r3, r3, #3 80b5534: 3304 adds r3, #4 80b5536: 68fa ldr r2, [r7, #12] 80b5538: 4413 add r3, r2 80b553a: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b553e: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b5542: ee77 7a67 vsub.f32 s15, s14, s15 80b5546: edc3 7a00 vstr s15, [r3] pSrc[2 * i3] = t1 + s3; 80b554a: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b554e: 00db lsls r3, r3, #3 80b5550: 68fa ldr r2, [r7, #12] 80b5552: 4413 add r3, r2 80b5554: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b5558: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b555c: ee77 7a27 vadd.f32 s15, s14, s15 80b5560: edc3 7a00 vstr s15, [r3] pSrc[2 * i7] = t1 - s3; 80b5564: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b5568: 00db lsls r3, r3, #3 80b556a: 68fa ldr r2, [r7, #12] 80b556c: 4413 add r3, r2 80b556e: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b5572: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b5576: ee77 7a67 vsub.f32 s15, s14, s15 80b557a: edc3 7a00 vstr s15, [r3] pSrc[2 * i3 + 1] = t2 - r3; 80b557e: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b5582: 00db lsls r3, r3, #3 80b5584: 3304 adds r3, #4 80b5586: 68fa ldr r2, [r7, #12] 80b5588: 4413 add r3, r2 80b558a: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b558e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b5592: ee77 7a67 vsub.f32 s15, s14, s15 80b5596: edc3 7a00 vstr s15, [r3] pSrc[2 * i7 + 1] = t2 + r3; 80b559a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b559e: 00db lsls r3, r3, #3 80b55a0: 3304 adds r3, #4 80b55a2: 68fa ldr r2, [r7, #12] 80b55a4: 4413 add r3, r2 80b55a6: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b55aa: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b55ae: ee77 7a27 vadd.f32 s15, s14, s15 80b55b2: edc3 7a00 vstr s15, [r3] r1 = (r6 - r8) * C81; 80b55b6: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b55ba: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b55be: ee37 7a67 vsub.f32 s14, s14, s15 80b55c2: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b55c6: ee67 7a27 vmul.f32 s15, s14, s15 80b55ca: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r6 = (r6 + r8) * C81; 80b55ce: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b55d2: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b55d6: ee37 7a27 vadd.f32 s14, s14, s15 80b55da: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b55de: ee67 7a27 vmul.f32 s15, s14, s15 80b55e2: edc7 7a2b vstr s15, [r7, #172] ; 0xac r2 = (s6 - s8) * C81; 80b55e6: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b55ea: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b55ee: ee37 7a67 vsub.f32 s14, s14, s15 80b55f2: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b55f6: ee67 7a27 vmul.f32 s15, s14, s15 80b55fa: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 s6 = (s6 + s8) * C81; 80b55fe: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b5602: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b5606: ee37 7a27 vadd.f32 s14, s14, s15 80b560a: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b560e: ee67 7a27 vmul.f32 s15, s14, s15 80b5612: edc7 7a24 vstr s15, [r7, #144] ; 0x90 t1 = r5 - r1; 80b5616: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b561a: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b561e: ee77 7a67 vsub.f32 s15, s14, s15 80b5622: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r5 = r5 + r1; 80b5626: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b562a: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b562e: ee77 7a27 vadd.f32 s15, s14, s15 80b5632: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r8 = r7 - r6; 80b5636: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b563a: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b563e: ee77 7a67 vsub.f32 s15, s14, s15 80b5642: edc7 7a27 vstr s15, [r7, #156] ; 0x9c r7 = r7 + r6; 80b5646: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b564a: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b564e: ee77 7a27 vadd.f32 s15, s14, s15 80b5652: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 t2 = s5 - r2; 80b5656: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b565a: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b565e: ee77 7a67 vsub.f32 s15, s14, s15 80b5662: edc7 7a20 vstr s15, [r7, #128] ; 0x80 s5 = s5 + r2; 80b5666: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b566a: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b566e: ee77 7a27 vadd.f32 s15, s14, s15 80b5672: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s8 = s7 - s6; 80b5676: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b567a: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b567e: ee77 7a67 vsub.f32 s15, s14, s15 80b5682: edc7 7a21 vstr s15, [r7, #132] ; 0x84 s7 = s7 + s6; 80b5686: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b568a: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b568e: ee77 7a27 vadd.f32 s15, s14, s15 80b5692: edc7 7a22 vstr s15, [r7, #136] ; 0x88 pSrc[2 * i2] = r5 + s7; 80b5696: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b569a: 00db lsls r3, r3, #3 80b569c: 68fa ldr r2, [r7, #12] 80b569e: 4413 add r3, r2 80b56a0: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b56a4: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b56a8: ee77 7a27 vadd.f32 s15, s14, s15 80b56ac: edc3 7a00 vstr s15, [r3] pSrc[2 * i8] = r5 - s7; 80b56b0: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b56b4: 00db lsls r3, r3, #3 80b56b6: 68fa ldr r2, [r7, #12] 80b56b8: 4413 add r3, r2 80b56ba: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b56be: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b56c2: ee77 7a67 vsub.f32 s15, s14, s15 80b56c6: edc3 7a00 vstr s15, [r3] pSrc[2 * i6] = t1 + s8; 80b56ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b56ce: 00db lsls r3, r3, #3 80b56d0: 68fa ldr r2, [r7, #12] 80b56d2: 4413 add r3, r2 80b56d4: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b56d8: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b56dc: ee77 7a27 vadd.f32 s15, s14, s15 80b56e0: edc3 7a00 vstr s15, [r3] pSrc[2 * i4] = t1 - s8; 80b56e4: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b56e8: 00db lsls r3, r3, #3 80b56ea: 68fa ldr r2, [r7, #12] 80b56ec: 4413 add r3, r2 80b56ee: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b56f2: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b56f6: ee77 7a67 vsub.f32 s15, s14, s15 80b56fa: edc3 7a00 vstr s15, [r3] pSrc[2 * i2 + 1] = s5 - r7; 80b56fe: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b5702: 00db lsls r3, r3, #3 80b5704: 3304 adds r3, #4 80b5706: 68fa ldr r2, [r7, #12] 80b5708: 4413 add r3, r2 80b570a: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b570e: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b5712: ee77 7a67 vsub.f32 s15, s14, s15 80b5716: edc3 7a00 vstr s15, [r3] pSrc[2 * i8 + 1] = s5 + r7; 80b571a: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b571e: 00db lsls r3, r3, #3 80b5720: 3304 adds r3, #4 80b5722: 68fa ldr r2, [r7, #12] 80b5724: 4413 add r3, r2 80b5726: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b572a: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b572e: ee77 7a27 vadd.f32 s15, s14, s15 80b5732: edc3 7a00 vstr s15, [r3] pSrc[2 * i6 + 1] = t2 - r8; 80b5736: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b573a: 00db lsls r3, r3, #3 80b573c: 3304 adds r3, #4 80b573e: 68fa ldr r2, [r7, #12] 80b5740: 4413 add r3, r2 80b5742: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b5746: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b574a: ee77 7a67 vsub.f32 s15, s14, s15 80b574e: edc3 7a00 vstr s15, [r3] pSrc[2 * i4 + 1] = t2 + r8; 80b5752: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b5756: 00db lsls r3, r3, #3 80b5758: 3304 adds r3, #4 80b575a: 68fa ldr r2, [r7, #12] 80b575c: 4413 add r3, r2 80b575e: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b5762: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b5766: ee77 7a27 vadd.f32 s15, s14, s15 80b576a: edc3 7a00 vstr s15, [r3] i1 += n1; 80b576e: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b5772: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b5776: 4413 add r3, r2 80b5778: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 } while(i1 < fftLen); 80b577c: 897a ldrh r2, [r7, #10] 80b577e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5782: 429a cmp r2, r3 80b5784: f63f ad0a bhi.w 80b519c if(n2 < 8) 80b5788: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b578c: 2b07 cmp r3, #7 80b578e: f240 84e3 bls.w 80b6158 break; ia1 = 0; 80b5792: 2300 movs r3, #0 80b5794: f8c7 30ec str.w r3, [r7, #236] ; 0xec j = 1; 80b5798: 2301 movs r3, #1 80b579a: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 do { /* index calculation for the coefficients */ id = ia1 + twidCoefModifier; 80b579e: 893a ldrh r2, [r7, #8] 80b57a0: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b57a4: 4413 add r3, r2 80b57a6: 67fb str r3, [r7, #124] ; 0x7c ia1 = id; 80b57a8: 6ffb ldr r3, [r7, #124] ; 0x7c 80b57aa: f8c7 30ec str.w r3, [r7, #236] ; 0xec ia2 = ia1 + id; 80b57ae: f8d7 20ec ldr.w r2, [r7, #236] ; 0xec 80b57b2: 6ffb ldr r3, [r7, #124] ; 0x7c 80b57b4: 4413 add r3, r2 80b57b6: 67bb str r3, [r7, #120] ; 0x78 ia3 = ia2 + id; 80b57b8: 6fba ldr r2, [r7, #120] ; 0x78 80b57ba: 6ffb ldr r3, [r7, #124] ; 0x7c 80b57bc: 4413 add r3, r2 80b57be: 677b str r3, [r7, #116] ; 0x74 ia4 = ia3 + id; 80b57c0: 6f7a ldr r2, [r7, #116] ; 0x74 80b57c2: 6ffb ldr r3, [r7, #124] ; 0x7c 80b57c4: 4413 add r3, r2 80b57c6: 673b str r3, [r7, #112] ; 0x70 ia5 = ia4 + id; 80b57c8: 6f3a ldr r2, [r7, #112] ; 0x70 80b57ca: 6ffb ldr r3, [r7, #124] ; 0x7c 80b57cc: 4413 add r3, r2 80b57ce: 66fb str r3, [r7, #108] ; 0x6c ia6 = ia5 + id; 80b57d0: 6efa ldr r2, [r7, #108] ; 0x6c 80b57d2: 6ffb ldr r3, [r7, #124] ; 0x7c 80b57d4: 4413 add r3, r2 80b57d6: 66bb str r3, [r7, #104] ; 0x68 ia7 = ia6 + id; 80b57d8: 6eba ldr r2, [r7, #104] ; 0x68 80b57da: 6ffb ldr r3, [r7, #124] ; 0x7c 80b57dc: 4413 add r3, r2 80b57de: 667b str r3, [r7, #100] ; 0x64 co2 = pCoef[2 * ia1]; 80b57e0: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b57e4: 00db lsls r3, r3, #3 80b57e6: 687a ldr r2, [r7, #4] 80b57e8: 4413 add r3, r2 80b57ea: 681b ldr r3, [r3, #0] 80b57ec: 663b str r3, [r7, #96] ; 0x60 co3 = pCoef[2 * ia2]; 80b57ee: 6fbb ldr r3, [r7, #120] ; 0x78 80b57f0: 00db lsls r3, r3, #3 80b57f2: 687a ldr r2, [r7, #4] 80b57f4: 4413 add r3, r2 80b57f6: 681b ldr r3, [r3, #0] 80b57f8: 65fb str r3, [r7, #92] ; 0x5c co4 = pCoef[2 * ia3]; 80b57fa: 6f7b ldr r3, [r7, #116] ; 0x74 80b57fc: 00db lsls r3, r3, #3 80b57fe: 687a ldr r2, [r7, #4] 80b5800: 4413 add r3, r2 80b5802: 681b ldr r3, [r3, #0] 80b5804: 65bb str r3, [r7, #88] ; 0x58 co5 = pCoef[2 * ia4]; 80b5806: 6f3b ldr r3, [r7, #112] ; 0x70 80b5808: 00db lsls r3, r3, #3 80b580a: 687a ldr r2, [r7, #4] 80b580c: 4413 add r3, r2 80b580e: 681b ldr r3, [r3, #0] 80b5810: 657b str r3, [r7, #84] ; 0x54 co6 = pCoef[2 * ia5]; 80b5812: 6efb ldr r3, [r7, #108] ; 0x6c 80b5814: 00db lsls r3, r3, #3 80b5816: 687a ldr r2, [r7, #4] 80b5818: 4413 add r3, r2 80b581a: 681b ldr r3, [r3, #0] 80b581c: 653b str r3, [r7, #80] ; 0x50 co7 = pCoef[2 * ia6]; 80b581e: 6ebb ldr r3, [r7, #104] ; 0x68 80b5820: 00db lsls r3, r3, #3 80b5822: 687a ldr r2, [r7, #4] 80b5824: 4413 add r3, r2 80b5826: 681b ldr r3, [r3, #0] 80b5828: 64fb str r3, [r7, #76] ; 0x4c co8 = pCoef[2 * ia7]; 80b582a: 6e7b ldr r3, [r7, #100] ; 0x64 80b582c: 00db lsls r3, r3, #3 80b582e: 687a ldr r2, [r7, #4] 80b5830: 4413 add r3, r2 80b5832: 681b ldr r3, [r3, #0] 80b5834: 64bb str r3, [r7, #72] ; 0x48 si2 = pCoef[2 * ia1 + 1]; 80b5836: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b583a: 00db lsls r3, r3, #3 80b583c: 3304 adds r3, #4 80b583e: 687a ldr r2, [r7, #4] 80b5840: 4413 add r3, r2 80b5842: 681b ldr r3, [r3, #0] 80b5844: 647b str r3, [r7, #68] ; 0x44 si3 = pCoef[2 * ia2 + 1]; 80b5846: 6fbb ldr r3, [r7, #120] ; 0x78 80b5848: 00db lsls r3, r3, #3 80b584a: 3304 adds r3, #4 80b584c: 687a ldr r2, [r7, #4] 80b584e: 4413 add r3, r2 80b5850: 681b ldr r3, [r3, #0] 80b5852: 643b str r3, [r7, #64] ; 0x40 si4 = pCoef[2 * ia3 + 1]; 80b5854: 6f7b ldr r3, [r7, #116] ; 0x74 80b5856: 00db lsls r3, r3, #3 80b5858: 3304 adds r3, #4 80b585a: 687a ldr r2, [r7, #4] 80b585c: 4413 add r3, r2 80b585e: 681b ldr r3, [r3, #0] 80b5860: 63fb str r3, [r7, #60] ; 0x3c si5 = pCoef[2 * ia4 + 1]; 80b5862: 6f3b ldr r3, [r7, #112] ; 0x70 80b5864: 00db lsls r3, r3, #3 80b5866: 3304 adds r3, #4 80b5868: 687a ldr r2, [r7, #4] 80b586a: 4413 add r3, r2 80b586c: 681b ldr r3, [r3, #0] 80b586e: 63bb str r3, [r7, #56] ; 0x38 si6 = pCoef[2 * ia5 + 1]; 80b5870: 6efb ldr r3, [r7, #108] ; 0x6c 80b5872: 00db lsls r3, r3, #3 80b5874: 3304 adds r3, #4 80b5876: 687a ldr r2, [r7, #4] 80b5878: 4413 add r3, r2 80b587a: 681b ldr r3, [r3, #0] 80b587c: 637b str r3, [r7, #52] ; 0x34 si7 = pCoef[2 * ia6 + 1]; 80b587e: 6ebb ldr r3, [r7, #104] ; 0x68 80b5880: 00db lsls r3, r3, #3 80b5882: 3304 adds r3, #4 80b5884: 687a ldr r2, [r7, #4] 80b5886: 4413 add r3, r2 80b5888: 681b ldr r3, [r3, #0] 80b588a: 633b str r3, [r7, #48] ; 0x30 si8 = pCoef[2 * ia7 + 1]; 80b588c: 6e7b ldr r3, [r7, #100] ; 0x64 80b588e: 00db lsls r3, r3, #3 80b5890: 3304 adds r3, #4 80b5892: 687a ldr r2, [r7, #4] 80b5894: 4413 add r3, r2 80b5896: 681b ldr r3, [r3, #0] 80b5898: 62fb str r3, [r7, #44] ; 0x2c i1 = j; 80b589a: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b589e: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 do { /* index calculation for the input */ i2 = i1 + n2; 80b58a2: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b58a6: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b58aa: 4413 add r3, r2 80b58ac: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 i3 = i2 + n2; 80b58b0: f8d7 20d4 ldr.w r2, [r7, #212] ; 0xd4 80b58b4: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b58b8: 4413 add r3, r2 80b58ba: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 i4 = i3 + n2; 80b58be: f8d7 20d0 ldr.w r2, [r7, #208] ; 0xd0 80b58c2: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b58c6: 4413 add r3, r2 80b58c8: f8c7 30cc str.w r3, [r7, #204] ; 0xcc i5 = i4 + n2; 80b58cc: f8d7 20cc ldr.w r2, [r7, #204] ; 0xcc 80b58d0: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b58d4: 4413 add r3, r2 80b58d6: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 i6 = i5 + n2; 80b58da: f8d7 20c8 ldr.w r2, [r7, #200] ; 0xc8 80b58de: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b58e2: 4413 add r3, r2 80b58e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i7 = i6 + n2; 80b58e8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80b58ec: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b58f0: 4413 add r3, r2 80b58f2: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 i8 = i7 + n2; 80b58f6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80b58fa: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b58fe: 4413 add r3, r2 80b5900: f8c7 30bc str.w r3, [r7, #188] ; 0xbc r1 = pSrc[2 * i1] + pSrc[2 * i5]; 80b5904: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5908: 00db lsls r3, r3, #3 80b590a: 68fa ldr r2, [r7, #12] 80b590c: 4413 add r3, r2 80b590e: ed93 7a00 vldr s14, [r3] 80b5912: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b5916: 00db lsls r3, r3, #3 80b5918: 68fa ldr r2, [r7, #12] 80b591a: 4413 add r3, r2 80b591c: edd3 7a00 vldr s15, [r3] 80b5920: ee77 7a27 vadd.f32 s15, s14, s15 80b5924: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r5 = pSrc[2 * i1] - pSrc[2 * i5]; 80b5928: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b592c: 00db lsls r3, r3, #3 80b592e: 68fa ldr r2, [r7, #12] 80b5930: 4413 add r3, r2 80b5932: ed93 7a00 vldr s14, [r3] 80b5936: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b593a: 00db lsls r3, r3, #3 80b593c: 68fa ldr r2, [r7, #12] 80b593e: 4413 add r3, r2 80b5940: edd3 7a00 vldr s15, [r3] 80b5944: ee77 7a67 vsub.f32 s15, s14, s15 80b5948: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r2 = pSrc[2 * i2] + pSrc[2 * i6]; 80b594c: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b5950: 00db lsls r3, r3, #3 80b5952: 68fa ldr r2, [r7, #12] 80b5954: 4413 add r3, r2 80b5956: ed93 7a00 vldr s14, [r3] 80b595a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b595e: 00db lsls r3, r3, #3 80b5960: 68fa ldr r2, [r7, #12] 80b5962: 4413 add r3, r2 80b5964: edd3 7a00 vldr s15, [r3] 80b5968: ee77 7a27 vadd.f32 s15, s14, s15 80b596c: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 r6 = pSrc[2 * i2] - pSrc[2 * i6]; 80b5970: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b5974: 00db lsls r3, r3, #3 80b5976: 68fa ldr r2, [r7, #12] 80b5978: 4413 add r3, r2 80b597a: ed93 7a00 vldr s14, [r3] 80b597e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b5982: 00db lsls r3, r3, #3 80b5984: 68fa ldr r2, [r7, #12] 80b5986: 4413 add r3, r2 80b5988: edd3 7a00 vldr s15, [r3] 80b598c: ee77 7a67 vsub.f32 s15, s14, s15 80b5990: edc7 7a2b vstr s15, [r7, #172] ; 0xac r3 = pSrc[2 * i3] + pSrc[2 * i7]; 80b5994: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b5998: 00db lsls r3, r3, #3 80b599a: 68fa ldr r2, [r7, #12] 80b599c: 4413 add r3, r2 80b599e: ed93 7a00 vldr s14, [r3] 80b59a2: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b59a6: 00db lsls r3, r3, #3 80b59a8: 68fa ldr r2, [r7, #12] 80b59aa: 4413 add r3, r2 80b59ac: edd3 7a00 vldr s15, [r3] 80b59b0: ee77 7a27 vadd.f32 s15, s14, s15 80b59b4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r7 = pSrc[2 * i3] - pSrc[2 * i7]; 80b59b8: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b59bc: 00db lsls r3, r3, #3 80b59be: 68fa ldr r2, [r7, #12] 80b59c0: 4413 add r3, r2 80b59c2: ed93 7a00 vldr s14, [r3] 80b59c6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b59ca: 00db lsls r3, r3, #3 80b59cc: 68fa ldr r2, [r7, #12] 80b59ce: 4413 add r3, r2 80b59d0: edd3 7a00 vldr s15, [r3] 80b59d4: ee77 7a67 vsub.f32 s15, s14, s15 80b59d8: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 r4 = pSrc[2 * i4] + pSrc[2 * i8]; 80b59dc: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b59e0: 00db lsls r3, r3, #3 80b59e2: 68fa ldr r2, [r7, #12] 80b59e4: 4413 add r3, r2 80b59e6: ed93 7a00 vldr s14, [r3] 80b59ea: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b59ee: 00db lsls r3, r3, #3 80b59f0: 68fa ldr r2, [r7, #12] 80b59f2: 4413 add r3, r2 80b59f4: edd3 7a00 vldr s15, [r3] 80b59f8: ee77 7a27 vadd.f32 s15, s14, s15 80b59fc: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 r8 = pSrc[2 * i4] - pSrc[2 * i8]; 80b5a00: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b5a04: 00db lsls r3, r3, #3 80b5a06: 68fa ldr r2, [r7, #12] 80b5a08: 4413 add r3, r2 80b5a0a: ed93 7a00 vldr s14, [r3] 80b5a0e: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b5a12: 00db lsls r3, r3, #3 80b5a14: 68fa ldr r2, [r7, #12] 80b5a16: 4413 add r3, r2 80b5a18: edd3 7a00 vldr s15, [r3] 80b5a1c: ee77 7a67 vsub.f32 s15, s14, s15 80b5a20: edc7 7a27 vstr s15, [r7, #156] ; 0x9c t1 = r1 - r3; 80b5a24: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b5a28: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b5a2c: ee77 7a67 vsub.f32 s15, s14, s15 80b5a30: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r1 = r1 + r3; 80b5a34: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b5a38: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b5a3c: ee77 7a27 vadd.f32 s15, s14, s15 80b5a40: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r3 = r2 - r4; 80b5a44: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b5a48: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b5a4c: ee77 7a67 vsub.f32 s15, s14, s15 80b5a50: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r2 = r2 + r4; 80b5a54: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b5a58: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b5a5c: ee77 7a27 vadd.f32 s15, s14, s15 80b5a60: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 pSrc[2 * i1] = r1 + r2; 80b5a64: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5a68: 00db lsls r3, r3, #3 80b5a6a: 68fa ldr r2, [r7, #12] 80b5a6c: 4413 add r3, r2 80b5a6e: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b5a72: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b5a76: ee77 7a27 vadd.f32 s15, s14, s15 80b5a7a: edc3 7a00 vstr s15, [r3] r2 = r1 - r2; 80b5a7e: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b5a82: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b5a86: ee77 7a67 vsub.f32 s15, s14, s15 80b5a8a: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 s1 = pSrc[2 * i1 + 1] + pSrc[2 * i5 + 1]; 80b5a8e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5a92: 00db lsls r3, r3, #3 80b5a94: 3304 adds r3, #4 80b5a96: 68fa ldr r2, [r7, #12] 80b5a98: 4413 add r3, r2 80b5a9a: ed93 7a00 vldr s14, [r3] 80b5a9e: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b5aa2: 00db lsls r3, r3, #3 80b5aa4: 3304 adds r3, #4 80b5aa6: 68fa ldr r2, [r7, #12] 80b5aa8: 4413 add r3, r2 80b5aaa: edd3 7a00 vldr s15, [r3] 80b5aae: ee77 7a27 vadd.f32 s15, s14, s15 80b5ab2: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s5 = pSrc[2 * i1 + 1] - pSrc[2 * i5 + 1]; 80b5ab6: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5aba: 00db lsls r3, r3, #3 80b5abc: 3304 adds r3, #4 80b5abe: 68fa ldr r2, [r7, #12] 80b5ac0: 4413 add r3, r2 80b5ac2: ed93 7a00 vldr s14, [r3] 80b5ac6: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b5aca: 00db lsls r3, r3, #3 80b5acc: 3304 adds r3, #4 80b5ace: 68fa ldr r2, [r7, #12] 80b5ad0: 4413 add r3, r2 80b5ad2: edd3 7a00 vldr s15, [r3] 80b5ad6: ee77 7a67 vsub.f32 s15, s14, s15 80b5ada: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s2 = pSrc[2 * i2 + 1] + pSrc[2 * i6 + 1]; 80b5ade: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b5ae2: 00db lsls r3, r3, #3 80b5ae4: 3304 adds r3, #4 80b5ae6: 68fa ldr r2, [r7, #12] 80b5ae8: 4413 add r3, r2 80b5aea: ed93 7a00 vldr s14, [r3] 80b5aee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b5af2: 00db lsls r3, r3, #3 80b5af4: 3304 adds r3, #4 80b5af6: 68fa ldr r2, [r7, #12] 80b5af8: 4413 add r3, r2 80b5afa: edd3 7a00 vldr s15, [r3] 80b5afe: ee77 7a27 vadd.f32 s15, s14, s15 80b5b02: edc7 7a09 vstr s15, [r7, #36] ; 0x24 s6 = pSrc[2 * i2 + 1] - pSrc[2 * i6 + 1]; 80b5b06: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b5b0a: 00db lsls r3, r3, #3 80b5b0c: 3304 adds r3, #4 80b5b0e: 68fa ldr r2, [r7, #12] 80b5b10: 4413 add r3, r2 80b5b12: ed93 7a00 vldr s14, [r3] 80b5b16: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b5b1a: 00db lsls r3, r3, #3 80b5b1c: 3304 adds r3, #4 80b5b1e: 68fa ldr r2, [r7, #12] 80b5b20: 4413 add r3, r2 80b5b22: edd3 7a00 vldr s15, [r3] 80b5b26: ee77 7a67 vsub.f32 s15, s14, s15 80b5b2a: edc7 7a24 vstr s15, [r7, #144] ; 0x90 s3 = pSrc[2 * i3 + 1] + pSrc[2 * i7 + 1]; 80b5b2e: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b5b32: 00db lsls r3, r3, #3 80b5b34: 3304 adds r3, #4 80b5b36: 68fa ldr r2, [r7, #12] 80b5b38: 4413 add r3, r2 80b5b3a: ed93 7a00 vldr s14, [r3] 80b5b3e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b5b42: 00db lsls r3, r3, #3 80b5b44: 3304 adds r3, #4 80b5b46: 68fa ldr r2, [r7, #12] 80b5b48: 4413 add r3, r2 80b5b4a: edd3 7a00 vldr s15, [r3] 80b5b4e: ee77 7a27 vadd.f32 s15, s14, s15 80b5b52: edc7 7a23 vstr s15, [r7, #140] ; 0x8c s7 = pSrc[2 * i3 + 1] - pSrc[2 * i7 + 1]; 80b5b56: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b5b5a: 00db lsls r3, r3, #3 80b5b5c: 3304 adds r3, #4 80b5b5e: 68fa ldr r2, [r7, #12] 80b5b60: 4413 add r3, r2 80b5b62: ed93 7a00 vldr s14, [r3] 80b5b66: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b5b6a: 00db lsls r3, r3, #3 80b5b6c: 3304 adds r3, #4 80b5b6e: 68fa ldr r2, [r7, #12] 80b5b70: 4413 add r3, r2 80b5b72: edd3 7a00 vldr s15, [r3] 80b5b76: ee77 7a67 vsub.f32 s15, s14, s15 80b5b7a: edc7 7a22 vstr s15, [r7, #136] ; 0x88 s4 = pSrc[2 * i4 + 1] + pSrc[2 * i8 + 1]; 80b5b7e: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b5b82: 00db lsls r3, r3, #3 80b5b84: 3304 adds r3, #4 80b5b86: 68fa ldr r2, [r7, #12] 80b5b88: 4413 add r3, r2 80b5b8a: ed93 7a00 vldr s14, [r3] 80b5b8e: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b5b92: 00db lsls r3, r3, #3 80b5b94: 3304 adds r3, #4 80b5b96: 68fa ldr r2, [r7, #12] 80b5b98: 4413 add r3, r2 80b5b9a: edd3 7a00 vldr s15, [r3] 80b5b9e: ee77 7a27 vadd.f32 s15, s14, s15 80b5ba2: edc7 7a08 vstr s15, [r7, #32] s8 = pSrc[2 * i4 + 1] - pSrc[2 * i8 + 1]; 80b5ba6: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b5baa: 00db lsls r3, r3, #3 80b5bac: 3304 adds r3, #4 80b5bae: 68fa ldr r2, [r7, #12] 80b5bb0: 4413 add r3, r2 80b5bb2: ed93 7a00 vldr s14, [r3] 80b5bb6: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b5bba: 00db lsls r3, r3, #3 80b5bbc: 3304 adds r3, #4 80b5bbe: 68fa ldr r2, [r7, #12] 80b5bc0: 4413 add r3, r2 80b5bc2: edd3 7a00 vldr s15, [r3] 80b5bc6: ee77 7a67 vsub.f32 s15, s14, s15 80b5bca: edc7 7a21 vstr s15, [r7, #132] ; 0x84 t2 = s1 - s3; 80b5bce: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b5bd2: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b5bd6: ee77 7a67 vsub.f32 s15, s14, s15 80b5bda: edc7 7a20 vstr s15, [r7, #128] ; 0x80 s1 = s1 + s3; 80b5bde: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b5be2: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b5be6: ee77 7a27 vadd.f32 s15, s14, s15 80b5bea: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s3 = s2 - s4; 80b5bee: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b5bf2: edd7 7a08 vldr s15, [r7, #32] 80b5bf6: ee77 7a67 vsub.f32 s15, s14, s15 80b5bfa: edc7 7a23 vstr s15, [r7, #140] ; 0x8c s2 = s2 + s4; 80b5bfe: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b5c02: edd7 7a08 vldr s15, [r7, #32] 80b5c06: ee77 7a27 vadd.f32 s15, s14, s15 80b5c0a: edc7 7a09 vstr s15, [r7, #36] ; 0x24 r1 = t1 + s3; 80b5c0e: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b5c12: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b5c16: ee77 7a27 vadd.f32 s15, s14, s15 80b5c1a: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 t1 = t1 - s3; 80b5c1e: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b5c22: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b5c26: ee77 7a67 vsub.f32 s15, s14, s15 80b5c2a: edc7 7a26 vstr s15, [r7, #152] ; 0x98 pSrc[2 * i1 + 1] = s1 + s2; 80b5c2e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b5c32: 00db lsls r3, r3, #3 80b5c34: 3304 adds r3, #4 80b5c36: 68fa ldr r2, [r7, #12] 80b5c38: 4413 add r3, r2 80b5c3a: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b5c3e: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b5c42: ee77 7a27 vadd.f32 s15, s14, s15 80b5c46: edc3 7a00 vstr s15, [r3] s2 = s1 - s2; 80b5c4a: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b5c4e: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b5c52: ee77 7a67 vsub.f32 s15, s14, s15 80b5c56: edc7 7a09 vstr s15, [r7, #36] ; 0x24 s1 = t2 - r3; 80b5c5a: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b5c5e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b5c62: ee77 7a67 vsub.f32 s15, s14, s15 80b5c66: edc7 7a0a vstr s15, [r7, #40] ; 0x28 t2 = t2 + r3; 80b5c6a: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b5c6e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b5c72: ee77 7a27 vadd.f32 s15, s14, s15 80b5c76: edc7 7a20 vstr s15, [r7, #128] ; 0x80 p1 = co5 * r2; 80b5c7a: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b5c7e: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b5c82: ee67 7a27 vmul.f32 s15, s14, s15 80b5c86: edc7 7a07 vstr s15, [r7, #28] p2 = si5 * s2; 80b5c8a: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b5c8e: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b5c92: ee67 7a27 vmul.f32 s15, s14, s15 80b5c96: edc7 7a06 vstr s15, [r7, #24] p3 = co5 * s2; 80b5c9a: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b5c9e: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b5ca2: ee67 7a27 vmul.f32 s15, s14, s15 80b5ca6: edc7 7a05 vstr s15, [r7, #20] p4 = si5 * r2; 80b5caa: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b5cae: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b5cb2: ee67 7a27 vmul.f32 s15, s14, s15 80b5cb6: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i5] = p1 + p2; 80b5cba: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b5cbe: 00db lsls r3, r3, #3 80b5cc0: 68fa ldr r2, [r7, #12] 80b5cc2: 4413 add r3, r2 80b5cc4: ed97 7a07 vldr s14, [r7, #28] 80b5cc8: edd7 7a06 vldr s15, [r7, #24] 80b5ccc: ee77 7a27 vadd.f32 s15, s14, s15 80b5cd0: edc3 7a00 vstr s15, [r3] pSrc[2 * i5 + 1] = p3 - p4; 80b5cd4: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b5cd8: 00db lsls r3, r3, #3 80b5cda: 3304 adds r3, #4 80b5cdc: 68fa ldr r2, [r7, #12] 80b5cde: 4413 add r3, r2 80b5ce0: ed97 7a05 vldr s14, [r7, #20] 80b5ce4: edd7 7a04 vldr s15, [r7, #16] 80b5ce8: ee77 7a67 vsub.f32 s15, s14, s15 80b5cec: edc3 7a00 vstr s15, [r3] p1 = co3 * r1; 80b5cf0: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b5cf4: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b5cf8: ee67 7a27 vmul.f32 s15, s14, s15 80b5cfc: edc7 7a07 vstr s15, [r7, #28] p2 = si3 * s1; 80b5d00: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b5d04: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b5d08: ee67 7a27 vmul.f32 s15, s14, s15 80b5d0c: edc7 7a06 vstr s15, [r7, #24] p3 = co3 * s1; 80b5d10: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b5d14: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b5d18: ee67 7a27 vmul.f32 s15, s14, s15 80b5d1c: edc7 7a05 vstr s15, [r7, #20] p4 = si3 * r1; 80b5d20: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b5d24: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b5d28: ee67 7a27 vmul.f32 s15, s14, s15 80b5d2c: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i3] = p1 + p2; 80b5d30: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b5d34: 00db lsls r3, r3, #3 80b5d36: 68fa ldr r2, [r7, #12] 80b5d38: 4413 add r3, r2 80b5d3a: ed97 7a07 vldr s14, [r7, #28] 80b5d3e: edd7 7a06 vldr s15, [r7, #24] 80b5d42: ee77 7a27 vadd.f32 s15, s14, s15 80b5d46: edc3 7a00 vstr s15, [r3] pSrc[2 * i3 + 1] = p3 - p4; 80b5d4a: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b5d4e: 00db lsls r3, r3, #3 80b5d50: 3304 adds r3, #4 80b5d52: 68fa ldr r2, [r7, #12] 80b5d54: 4413 add r3, r2 80b5d56: ed97 7a05 vldr s14, [r7, #20] 80b5d5a: edd7 7a04 vldr s15, [r7, #16] 80b5d5e: ee77 7a67 vsub.f32 s15, s14, s15 80b5d62: edc3 7a00 vstr s15, [r3] p1 = co7 * t1; 80b5d66: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b5d6a: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b5d6e: ee67 7a27 vmul.f32 s15, s14, s15 80b5d72: edc7 7a07 vstr s15, [r7, #28] p2 = si7 * t2; 80b5d76: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b5d7a: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b5d7e: ee67 7a27 vmul.f32 s15, s14, s15 80b5d82: edc7 7a06 vstr s15, [r7, #24] p3 = co7 * t2; 80b5d86: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b5d8a: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b5d8e: ee67 7a27 vmul.f32 s15, s14, s15 80b5d92: edc7 7a05 vstr s15, [r7, #20] p4 = si7 * t1; 80b5d96: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b5d9a: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b5d9e: ee67 7a27 vmul.f32 s15, s14, s15 80b5da2: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i7] = p1 + p2; 80b5da6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b5daa: 00db lsls r3, r3, #3 80b5dac: 68fa ldr r2, [r7, #12] 80b5dae: 4413 add r3, r2 80b5db0: ed97 7a07 vldr s14, [r7, #28] 80b5db4: edd7 7a06 vldr s15, [r7, #24] 80b5db8: ee77 7a27 vadd.f32 s15, s14, s15 80b5dbc: edc3 7a00 vstr s15, [r3] pSrc[2 * i7 + 1] = p3 - p4; 80b5dc0: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b5dc4: 00db lsls r3, r3, #3 80b5dc6: 3304 adds r3, #4 80b5dc8: 68fa ldr r2, [r7, #12] 80b5dca: 4413 add r3, r2 80b5dcc: ed97 7a05 vldr s14, [r7, #20] 80b5dd0: edd7 7a04 vldr s15, [r7, #16] 80b5dd4: ee77 7a67 vsub.f32 s15, s14, s15 80b5dd8: edc3 7a00 vstr s15, [r3] r1 = (r6 - r8) * C81; 80b5ddc: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b5de0: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b5de4: ee37 7a67 vsub.f32 s14, s14, s15 80b5de8: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b5dec: ee67 7a27 vmul.f32 s15, s14, s15 80b5df0: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r6 = (r6 + r8) * C81; 80b5df4: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b5df8: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b5dfc: ee37 7a27 vadd.f32 s14, s14, s15 80b5e00: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b5e04: ee67 7a27 vmul.f32 s15, s14, s15 80b5e08: edc7 7a2b vstr s15, [r7, #172] ; 0xac s1 = (s6 - s8) * C81; 80b5e0c: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b5e10: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b5e14: ee37 7a67 vsub.f32 s14, s14, s15 80b5e18: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b5e1c: ee67 7a27 vmul.f32 s15, s14, s15 80b5e20: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s6 = (s6 + s8) * C81; 80b5e24: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b5e28: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b5e2c: ee37 7a27 vadd.f32 s14, s14, s15 80b5e30: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b5e34: ee67 7a27 vmul.f32 s15, s14, s15 80b5e38: edc7 7a24 vstr s15, [r7, #144] ; 0x90 t1 = r5 - r1; 80b5e3c: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b5e40: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b5e44: ee77 7a67 vsub.f32 s15, s14, s15 80b5e48: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r5 = r5 + r1; 80b5e4c: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b5e50: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b5e54: ee77 7a27 vadd.f32 s15, s14, s15 80b5e58: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r8 = r7 - r6; 80b5e5c: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b5e60: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b5e64: ee77 7a67 vsub.f32 s15, s14, s15 80b5e68: edc7 7a27 vstr s15, [r7, #156] ; 0x9c r7 = r7 + r6; 80b5e6c: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b5e70: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b5e74: ee77 7a27 vadd.f32 s15, s14, s15 80b5e78: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 t2 = s5 - s1; 80b5e7c: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b5e80: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b5e84: ee77 7a67 vsub.f32 s15, s14, s15 80b5e88: edc7 7a20 vstr s15, [r7, #128] ; 0x80 s5 = s5 + s1; 80b5e8c: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b5e90: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b5e94: ee77 7a27 vadd.f32 s15, s14, s15 80b5e98: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s8 = s7 - s6; 80b5e9c: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b5ea0: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b5ea4: ee77 7a67 vsub.f32 s15, s14, s15 80b5ea8: edc7 7a21 vstr s15, [r7, #132] ; 0x84 s7 = s7 + s6; 80b5eac: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b5eb0: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b5eb4: ee77 7a27 vadd.f32 s15, s14, s15 80b5eb8: edc7 7a22 vstr s15, [r7, #136] ; 0x88 r1 = r5 + s7; 80b5ebc: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b5ec0: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b5ec4: ee77 7a27 vadd.f32 s15, s14, s15 80b5ec8: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r5 = r5 - s7; 80b5ecc: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b5ed0: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b5ed4: ee77 7a67 vsub.f32 s15, s14, s15 80b5ed8: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r6 = t1 + s8; 80b5edc: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b5ee0: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b5ee4: ee77 7a27 vadd.f32 s15, s14, s15 80b5ee8: edc7 7a2b vstr s15, [r7, #172] ; 0xac t1 = t1 - s8; 80b5eec: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b5ef0: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b5ef4: ee77 7a67 vsub.f32 s15, s14, s15 80b5ef8: edc7 7a26 vstr s15, [r7, #152] ; 0x98 s1 = s5 - r7; 80b5efc: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b5f00: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b5f04: ee77 7a67 vsub.f32 s15, s14, s15 80b5f08: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s5 = s5 + r7; 80b5f0c: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b5f10: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b5f14: ee77 7a27 vadd.f32 s15, s14, s15 80b5f18: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s6 = t2 - r8; 80b5f1c: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b5f20: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b5f24: ee77 7a67 vsub.f32 s15, s14, s15 80b5f28: edc7 7a24 vstr s15, [r7, #144] ; 0x90 t2 = t2 + r8; 80b5f2c: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b5f30: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b5f34: ee77 7a27 vadd.f32 s15, s14, s15 80b5f38: edc7 7a20 vstr s15, [r7, #128] ; 0x80 p1 = co2 * r1; 80b5f3c: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b5f40: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b5f44: ee67 7a27 vmul.f32 s15, s14, s15 80b5f48: edc7 7a07 vstr s15, [r7, #28] p2 = si2 * s1; 80b5f4c: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80b5f50: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b5f54: ee67 7a27 vmul.f32 s15, s14, s15 80b5f58: edc7 7a06 vstr s15, [r7, #24] p3 = co2 * s1; 80b5f5c: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b5f60: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b5f64: ee67 7a27 vmul.f32 s15, s14, s15 80b5f68: edc7 7a05 vstr s15, [r7, #20] p4 = si2 * r1; 80b5f6c: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80b5f70: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b5f74: ee67 7a27 vmul.f32 s15, s14, s15 80b5f78: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i2] = p1 + p2; 80b5f7c: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b5f80: 00db lsls r3, r3, #3 80b5f82: 68fa ldr r2, [r7, #12] 80b5f84: 4413 add r3, r2 80b5f86: ed97 7a07 vldr s14, [r7, #28] 80b5f8a: edd7 7a06 vldr s15, [r7, #24] 80b5f8e: ee77 7a27 vadd.f32 s15, s14, s15 80b5f92: edc3 7a00 vstr s15, [r3] pSrc[2 * i2 + 1] = p3 - p4; 80b5f96: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b5f9a: 00db lsls r3, r3, #3 80b5f9c: 3304 adds r3, #4 80b5f9e: 68fa ldr r2, [r7, #12] 80b5fa0: 4413 add r3, r2 80b5fa2: ed97 7a05 vldr s14, [r7, #20] 80b5fa6: edd7 7a04 vldr s15, [r7, #16] 80b5faa: ee77 7a67 vsub.f32 s15, s14, s15 80b5fae: edc3 7a00 vstr s15, [r3] p1 = co8 * r5; 80b5fb2: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b5fb6: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80b5fba: ee67 7a27 vmul.f32 s15, s14, s15 80b5fbe: edc7 7a07 vstr s15, [r7, #28] p2 = si8 * s5; 80b5fc2: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b5fc6: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b5fca: ee67 7a27 vmul.f32 s15, s14, s15 80b5fce: edc7 7a06 vstr s15, [r7, #24] p3 = co8 * s5; 80b5fd2: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b5fd6: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b5fda: ee67 7a27 vmul.f32 s15, s14, s15 80b5fde: edc7 7a05 vstr s15, [r7, #20] p4 = si8 * r5; 80b5fe2: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b5fe6: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80b5fea: ee67 7a27 vmul.f32 s15, s14, s15 80b5fee: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i8] = p1 + p2; 80b5ff2: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b5ff6: 00db lsls r3, r3, #3 80b5ff8: 68fa ldr r2, [r7, #12] 80b5ffa: 4413 add r3, r2 80b5ffc: ed97 7a07 vldr s14, [r7, #28] 80b6000: edd7 7a06 vldr s15, [r7, #24] 80b6004: ee77 7a27 vadd.f32 s15, s14, s15 80b6008: edc3 7a00 vstr s15, [r3] pSrc[2 * i8 + 1] = p3 - p4; 80b600c: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b6010: 00db lsls r3, r3, #3 80b6012: 3304 adds r3, #4 80b6014: 68fa ldr r2, [r7, #12] 80b6016: 4413 add r3, r2 80b6018: ed97 7a05 vldr s14, [r7, #20] 80b601c: edd7 7a04 vldr s15, [r7, #16] 80b6020: ee77 7a67 vsub.f32 s15, s14, s15 80b6024: edc3 7a00 vstr s15, [r3] p1 = co6 * r6; 80b6028: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b602c: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b6030: ee67 7a27 vmul.f32 s15, s14, s15 80b6034: edc7 7a07 vstr s15, [r7, #28] p2 = si6 * s6; 80b6038: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b603c: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b6040: ee67 7a27 vmul.f32 s15, s14, s15 80b6044: edc7 7a06 vstr s15, [r7, #24] p3 = co6 * s6; 80b6048: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b604c: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b6050: ee67 7a27 vmul.f32 s15, s14, s15 80b6054: edc7 7a05 vstr s15, [r7, #20] p4 = si6 * r6; 80b6058: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b605c: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b6060: ee67 7a27 vmul.f32 s15, s14, s15 80b6064: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i6] = p1 + p2; 80b6068: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b606c: 00db lsls r3, r3, #3 80b606e: 68fa ldr r2, [r7, #12] 80b6070: 4413 add r3, r2 80b6072: ed97 7a07 vldr s14, [r7, #28] 80b6076: edd7 7a06 vldr s15, [r7, #24] 80b607a: ee77 7a27 vadd.f32 s15, s14, s15 80b607e: edc3 7a00 vstr s15, [r3] pSrc[2 * i6 + 1] = p3 - p4; 80b6082: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b6086: 00db lsls r3, r3, #3 80b6088: 3304 adds r3, #4 80b608a: 68fa ldr r2, [r7, #12] 80b608c: 4413 add r3, r2 80b608e: ed97 7a05 vldr s14, [r7, #20] 80b6092: edd7 7a04 vldr s15, [r7, #16] 80b6096: ee77 7a67 vsub.f32 s15, s14, s15 80b609a: edc3 7a00 vstr s15, [r3] p1 = co4 * t1; 80b609e: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b60a2: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b60a6: ee67 7a27 vmul.f32 s15, s14, s15 80b60aa: edc7 7a07 vstr s15, [r7, #28] p2 = si4 * t2; 80b60ae: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b60b2: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b60b6: ee67 7a27 vmul.f32 s15, s14, s15 80b60ba: edc7 7a06 vstr s15, [r7, #24] p3 = co4 * t2; 80b60be: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b60c2: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b60c6: ee67 7a27 vmul.f32 s15, s14, s15 80b60ca: edc7 7a05 vstr s15, [r7, #20] p4 = si4 * t1; 80b60ce: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b60d2: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b60d6: ee67 7a27 vmul.f32 s15, s14, s15 80b60da: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i4] = p1 + p2; 80b60de: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b60e2: 00db lsls r3, r3, #3 80b60e4: 68fa ldr r2, [r7, #12] 80b60e6: 4413 add r3, r2 80b60e8: ed97 7a07 vldr s14, [r7, #28] 80b60ec: edd7 7a06 vldr s15, [r7, #24] 80b60f0: ee77 7a27 vadd.f32 s15, s14, s15 80b60f4: edc3 7a00 vstr s15, [r3] pSrc[2 * i4 + 1] = p3 - p4; 80b60f8: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b60fc: 00db lsls r3, r3, #3 80b60fe: 3304 adds r3, #4 80b6100: 68fa ldr r2, [r7, #12] 80b6102: 4413 add r3, r2 80b6104: ed97 7a05 vldr s14, [r7, #20] 80b6108: edd7 7a04 vldr s15, [r7, #16] 80b610c: ee77 7a67 vsub.f32 s15, s14, s15 80b6110: edc3 7a00 vstr s15, [r3] i1 += n1; 80b6114: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b6118: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b611c: 4413 add r3, r2 80b611e: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 } while(i1 < fftLen); 80b6122: 897a ldrh r2, [r7, #10] 80b6124: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b6128: 429a cmp r2, r3 80b612a: f63f abba bhi.w 80b58a2 j++; 80b612e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b6132: 3301 adds r3, #1 80b6134: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 } while(j < n2); 80b6138: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80b613c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b6140: 429a cmp r2, r3 80b6142: f4ff ab2c bcc.w 80b579e twidCoefModifier <<= 3; 80b6146: 893b ldrh r3, [r7, #8] 80b6148: 00db lsls r3, r3, #3 80b614a: 813b strh r3, [r7, #8] } while(n2 > 7); 80b614c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b6150: 2b07 cmp r3, #7 80b6152: f63f a813 bhi.w 80b517c } 80b6156: e000 b.n 80b615a break; 80b6158: bf00 nop } 80b615a: bf00 nop 80b615c: 37f4 adds r7, #244 ; 0xf4 80b615e: 46bd mov sp, r7 80b6160: f85d 7b04 ldr.w r7, [sp], #4 80b6164: 4770 bx lr 80b6166: bf00 nop 080b6168 : * @return cos(x). */ float32_t arm_cos_f32( float32_t x) { 80b6168: b480 push {r7} 80b616a: b08b sub sp, #44 ; 0x2c 80b616c: af00 add r7, sp, #0 80b616e: 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; 80b6172: edd7 7a01 vldr s15, [r7, #4] 80b6176: ed9f 7a37 vldr s14, [pc, #220] ; 80b6254 80b617a: ee67 7a87 vmul.f32 s15, s15, s14 80b617e: eeb5 7a00 vmov.f32 s14, #80 ; 0x3e800000 0.250 80b6182: ee77 7a87 vadd.f32 s15, s15, s14 80b6186: edc7 7a08 vstr s15, [r7, #32] /* Calculation of floor value of input */ n = (int32_t) in; 80b618a: edd7 7a08 vldr s15, [r7, #32] 80b618e: eefd 7ae7 vcvt.s32.f32 s15, s15 80b6192: ee17 3a90 vmov r3, s15 80b6196: 627b str r3, [r7, #36] ; 0x24 /* Make negative values towards -infinity */ if(in < 0.0f) 80b6198: edd7 7a08 vldr s15, [r7, #32] 80b619c: eef5 7ac0 vcmpe.f32 s15, #0.0 80b61a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80b61a4: d502 bpl.n 80b61ac { n--; 80b61a6: 6a7b ldr r3, [r7, #36] ; 0x24 80b61a8: 3b01 subs r3, #1 80b61aa: 627b str r3, [r7, #36] ; 0x24 } /* Map input value to [0 1] */ in = in - (float32_t) n; 80b61ac: 6a7b ldr r3, [r7, #36] ; 0x24 80b61ae: ee07 3a90 vmov s15, r3 80b61b2: eef8 7ae7 vcvt.f32.s32 s15, s15 80b61b6: ed97 7a08 vldr s14, [r7, #32] 80b61ba: ee77 7a67 vsub.f32 s15, s14, s15 80b61be: edc7 7a08 vstr s15, [r7, #32] /* Calculation of index of the table */ findex = (float32_t) FAST_MATH_TABLE_SIZE * in; 80b61c2: edd7 7a08 vldr s15, [r7, #32] 80b61c6: ed9f 7a24 vldr s14, [pc, #144] ; 80b6258 80b61ca: ee67 7a87 vmul.f32 s15, s15, s14 80b61ce: edc7 7a07 vstr s15, [r7, #28] index = ((uint16_t)findex) & 0x1ff; 80b61d2: edd7 7a07 vldr s15, [r7, #28] 80b61d6: eefc 7ae7 vcvt.u32.f32 s15, s15 80b61da: edc7 7a00 vstr s15, [r7] 80b61de: 883b ldrh r3, [r7, #0] 80b61e0: b29b uxth r3, r3 80b61e2: f3c3 0308 ubfx r3, r3, #0, #9 80b61e6: 837b strh r3, [r7, #26] /* fractional value calculation */ fract = findex - (float32_t) index; 80b61e8: 8b7b ldrh r3, [r7, #26] 80b61ea: ee07 3a90 vmov s15, r3 80b61ee: eef8 7a67 vcvt.f32.u32 s15, s15 80b61f2: ed97 7a07 vldr s14, [r7, #28] 80b61f6: ee77 7a67 vsub.f32 s15, s14, s15 80b61fa: edc7 7a05 vstr s15, [r7, #20] /* Read two nearest values of input value from the cos table */ a = sinTable_f32[index]; 80b61fe: 8b7b ldrh r3, [r7, #26] 80b6200: 4a16 ldr r2, [pc, #88] ; (80b625c ) 80b6202: 009b lsls r3, r3, #2 80b6204: 4413 add r3, r2 80b6206: 681b ldr r3, [r3, #0] 80b6208: 613b str r3, [r7, #16] b = sinTable_f32[index+1]; 80b620a: 8b7b ldrh r3, [r7, #26] 80b620c: 3301 adds r3, #1 80b620e: 4a13 ldr r2, [pc, #76] ; (80b625c ) 80b6210: 009b lsls r3, r3, #2 80b6212: 4413 add r3, r2 80b6214: 681b ldr r3, [r3, #0] 80b6216: 60fb str r3, [r7, #12] /* Linear interpolation process */ cosVal = (1.0f-fract)*a + fract*b; 80b6218: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80b621c: edd7 7a05 vldr s15, [r7, #20] 80b6220: ee37 7a67 vsub.f32 s14, s14, s15 80b6224: edd7 7a04 vldr s15, [r7, #16] 80b6228: ee27 7a27 vmul.f32 s14, s14, s15 80b622c: edd7 6a05 vldr s13, [r7, #20] 80b6230: edd7 7a03 vldr s15, [r7, #12] 80b6234: ee66 7aa7 vmul.f32 s15, s13, s15 80b6238: ee77 7a27 vadd.f32 s15, s14, s15 80b623c: edc7 7a02 vstr s15, [r7, #8] /* Return the output value */ return (cosVal); 80b6240: 68bb ldr r3, [r7, #8] 80b6242: ee07 3a90 vmov s15, r3 } 80b6246: eeb0 0a67 vmov.f32 s0, s15 80b624a: 372c adds r7, #44 ; 0x2c 80b624c: 46bd mov sp, r7 80b624e: f85d 7b04 ldr.w r7, [sp], #4 80b6252: 4770 bx lr 80b6254: 3e22f983 .word 0x3e22f983 80b6258: 44000000 .word 0x44000000 80b625c: 0817c788 .word 0x0817c788 080b6260 : void arm_rfft_f32( const arm_rfft_instance_f32 * S, float32_t * pSrc, float32_t * pDst) { 80b6260: b580 push {r7, lr} 80b6262: b088 sub sp, #32 80b6264: af02 add r7, sp, #8 80b6266: 60f8 str r0, [r7, #12] 80b6268: 60b9 str r1, [r7, #8] 80b626a: 607a str r2, [r7, #4] const arm_cfft_radix4_instance_f32 *S_CFFT = S->pCfft; 80b626c: 68fb ldr r3, [r7, #12] 80b626e: 695b ldr r3, [r3, #20] 80b6270: 617b str r3, [r7, #20] /* Calculation of Real IFFT of input */ if(S->ifftFlagR == 1u) 80b6272: 68fb ldr r3, [r7, #12] 80b6274: 799b ldrb r3, [r3, #6] 80b6276: 2b01 cmp r3, #1 80b6278: d12d bne.n 80b62d6 { /* Real IFFT core process */ arm_split_rifft_f32(pSrc, S->fftLenBy2, S->pTwiddleAReal, 80b627a: 68fb ldr r3, [r7, #12] 80b627c: 889b ldrh r3, [r3, #4] 80b627e: 4618 mov r0, r3 80b6280: 68fb ldr r3, [r7, #12] 80b6282: 68da ldr r2, [r3, #12] 80b6284: 68fb ldr r3, [r7, #12] 80b6286: 6919 ldr r1, [r3, #16] 80b6288: 68fb ldr r3, [r7, #12] 80b628a: 689b ldr r3, [r3, #8] 80b628c: 9301 str r3, [sp, #4] 80b628e: 687b ldr r3, [r7, #4] 80b6290: 9300 str r3, [sp, #0] 80b6292: 460b mov r3, r1 80b6294: 4601 mov r1, r0 80b6296: 68b8 ldr r0, [r7, #8] 80b6298: f000 f932 bl 80b6500 S->pTwiddleBReal, pDst, S->twidCoefRModifier); /* Complex radix-4 IFFT process */ arm_radix4_butterfly_inverse_f32(pDst, S_CFFT->fftLen, 80b629c: 697b ldr r3, [r7, #20] 80b629e: 8819 ldrh r1, [r3, #0] 80b62a0: 697b ldr r3, [r7, #20] 80b62a2: 685a ldr r2, [r3, #4] 80b62a4: 697b ldr r3, [r7, #20] 80b62a6: 8998 ldrh r0, [r3, #12] 80b62a8: 697b ldr r3, [r7, #20] 80b62aa: edd3 7a04 vldr s15, [r3, #16] 80b62ae: eeb0 0a67 vmov.f32 s0, s15 80b62b2: 4603 mov r3, r0 80b62b4: 6878 ldr r0, [r7, #4] 80b62b6: f7fe f93b bl 80b4530 S_CFFT->pTwiddle, S_CFFT->twidCoefModifier, S_CFFT->onebyfftLen); /* Bit reversal process */ if(S->bitReverseFlagR == 1u) 80b62ba: 68fb ldr r3, [r7, #12] 80b62bc: 79db ldrb r3, [r3, #7] 80b62be: 2b01 cmp r3, #1 80b62c0: d130 bne.n 80b6324 { arm_bitreversal_f32(pDst, S_CFFT->fftLen, 80b62c2: 697b ldr r3, [r7, #20] 80b62c4: 8819 ldrh r1, [r3, #0] 80b62c6: 697b ldr r3, [r7, #20] 80b62c8: 89da ldrh r2, [r3, #14] 80b62ca: 697b ldr r3, [r7, #20] 80b62cc: 689b ldr r3, [r3, #8] 80b62ce: 6878 ldr r0, [r7, #4] 80b62d0: f7fc fa6e bl 80b27b0 /* Real FFT core process */ arm_split_rfft_f32(pSrc, S->fftLenBy2, S->pTwiddleAReal, S->pTwiddleBReal, pDst, S->twidCoefRModifier); } } 80b62d4: e026 b.n 80b6324 arm_radix4_butterfly_f32(pSrc, S_CFFT->fftLen, 80b62d6: 697b ldr r3, [r7, #20] 80b62d8: 8819 ldrh r1, [r3, #0] 80b62da: 697b ldr r3, [r7, #20] 80b62dc: 685a ldr r2, [r3, #4] 80b62de: 697b ldr r3, [r7, #20] 80b62e0: 899b ldrh r3, [r3, #12] 80b62e2: 68b8 ldr r0, [r7, #8] 80b62e4: f7fd fc03 bl 80b3aee if(S->bitReverseFlagR == 1u) 80b62e8: 68fb ldr r3, [r7, #12] 80b62ea: 79db ldrb r3, [r3, #7] 80b62ec: 2b01 cmp r3, #1 80b62ee: d108 bne.n 80b6302 arm_bitreversal_f32(pSrc, S_CFFT->fftLen, 80b62f0: 697b ldr r3, [r7, #20] 80b62f2: 8819 ldrh r1, [r3, #0] 80b62f4: 697b ldr r3, [r7, #20] 80b62f6: 89da ldrh r2, [r3, #14] 80b62f8: 697b ldr r3, [r7, #20] 80b62fa: 689b ldr r3, [r3, #8] 80b62fc: 68b8 ldr r0, [r7, #8] 80b62fe: f7fc fa57 bl 80b27b0 arm_split_rfft_f32(pSrc, S->fftLenBy2, S->pTwiddleAReal, 80b6302: 68fb ldr r3, [r7, #12] 80b6304: 889b ldrh r3, [r3, #4] 80b6306: 4618 mov r0, r3 80b6308: 68fb ldr r3, [r7, #12] 80b630a: 68da ldr r2, [r3, #12] 80b630c: 68fb ldr r3, [r7, #12] 80b630e: 6919 ldr r1, [r3, #16] 80b6310: 68fb ldr r3, [r7, #12] 80b6312: 689b ldr r3, [r3, #8] 80b6314: 9301 str r3, [sp, #4] 80b6316: 687b ldr r3, [r7, #4] 80b6318: 9300 str r3, [sp, #0] 80b631a: 460b mov r3, r1 80b631c: 4601 mov r1, r0 80b631e: 68b8 ldr r0, [r7, #8] 80b6320: f000 f804 bl 80b632c } 80b6324: bf00 nop 80b6326: 3718 adds r7, #24 80b6328: 46bd mov sp, r7 80b632a: bd80 pop {r7, pc} 080b632c : uint32_t fftLen, float32_t * pATable, float32_t * pBTable, float32_t * pDst, uint32_t modifier) { 80b632c: b480 push {r7} 80b632e: b091 sub sp, #68 ; 0x44 80b6330: af00 add r7, sp, #0 80b6332: 60f8 str r0, [r7, #12] 80b6334: 60b9 str r1, [r7, #8] 80b6336: 607a str r2, [r7, #4] 80b6338: 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 */ 80b633a: 6cbb ldr r3, [r7, #72] ; 0x48 80b633c: 3308 adds r3, #8 80b633e: 633b str r3, [r7, #48] ; 0x30 80b6340: 68bb ldr r3, [r7, #8] 80b6342: 011b lsls r3, r3, #4 80b6344: 3b04 subs r3, #4 80b6346: 6cba ldr r2, [r7, #72] ; 0x48 80b6348: 4413 add r3, r2 80b634a: 62fb str r3, [r7, #44] ; 0x2c float32_t *pSrc1 = &pSrc[2], *pSrc2 = &pSrc[(2u * fftLen) - 1u]; /* temp pointers for input buffer */ 80b634c: 68fb ldr r3, [r7, #12] 80b634e: 3308 adds r3, #8 80b6350: 62bb str r3, [r7, #40] ; 0x28 80b6352: 68bb ldr r3, [r7, #8] 80b6354: 00db lsls r3, r3, #3 80b6356: 3b04 subs r3, #4 80b6358: 68fa ldr r2, [r7, #12] 80b635a: 4413 add r3, r2 80b635c: 627b str r3, [r7, #36] ; 0x24 /* Init coefficient pointers */ pCoefA = &pATable[modifier * 2u]; 80b635e: 6cfb ldr r3, [r7, #76] ; 0x4c 80b6360: 00db lsls r3, r3, #3 80b6362: 687a ldr r2, [r7, #4] 80b6364: 4413 add r3, r2 80b6366: 63bb str r3, [r7, #56] ; 0x38 pCoefB = &pBTable[modifier * 2u]; 80b6368: 6cfb ldr r3, [r7, #76] ; 0x4c 80b636a: 00db lsls r3, r3, #3 80b636c: 683a ldr r2, [r7, #0] 80b636e: 4413 add r3, r2 80b6370: 637b str r3, [r7, #52] ; 0x34 i = fftLen - 1u; 80b6372: 68bb ldr r3, [r7, #8] 80b6374: 3b01 subs r3, #1 80b6376: 63fb str r3, [r7, #60] ; 0x3c while(i > 0u) 80b6378: e090 b.n 80b649c /* 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++; 80b637a: 6bbb ldr r3, [r7, #56] ; 0x38 80b637c: 1d1a adds r2, r3, #4 80b637e: 63ba str r2, [r7, #56] ; 0x38 80b6380: 681b ldr r3, [r3, #0] 80b6382: 623b str r3, [r7, #32] /* pATable[2 * i + 1] */ CoefA2 = *pCoefA; 80b6384: 6bbb ldr r3, [r7, #56] ; 0x38 80b6386: 681b ldr r3, [r3, #0] 80b6388: 61fb str r3, [r7, #28] /* pSrc[2 * i] * pATable[2 * i] */ outR = *pSrc1 * CoefA1; 80b638a: 6abb ldr r3, [r7, #40] ; 0x28 80b638c: ed93 7a00 vldr s14, [r3] 80b6390: edd7 7a08 vldr s15, [r7, #32] 80b6394: ee67 7a27 vmul.f32 s15, s14, s15 80b6398: edc7 7a06 vstr s15, [r7, #24] /* pSrc[2 * i] * CoefA2 */ outI = *pSrc1++ * CoefA2; 80b639c: 6abb ldr r3, [r7, #40] ; 0x28 80b639e: 1d1a adds r2, r3, #4 80b63a0: 62ba str r2, [r7, #40] ; 0x28 80b63a2: ed93 7a00 vldr s14, [r3] 80b63a6: edd7 7a07 vldr s15, [r7, #28] 80b63aa: ee67 7a27 vmul.f32 s15, s14, s15 80b63ae: edc7 7a05 vstr s15, [r7, #20] /* (pSrc[2 * i + 1] + pSrc[2 * fftLen - 2 * i + 1]) * CoefA2 */ outR -= (*pSrc1 + *pSrc2) * CoefA2; 80b63b2: 6abb ldr r3, [r7, #40] ; 0x28 80b63b4: ed93 7a00 vldr s14, [r3] 80b63b8: 6a7b ldr r3, [r7, #36] ; 0x24 80b63ba: edd3 7a00 vldr s15, [r3] 80b63be: ee37 7a27 vadd.f32 s14, s14, s15 80b63c2: edd7 7a07 vldr s15, [r7, #28] 80b63c6: ee67 7a27 vmul.f32 s15, s14, s15 80b63ca: ed97 7a06 vldr s14, [r7, #24] 80b63ce: ee77 7a67 vsub.f32 s15, s14, s15 80b63d2: edc7 7a06 vstr s15, [r7, #24] /* pSrc[2 * i + 1] * CoefA1 */ outI += *pSrc1++ * CoefA1; 80b63d6: 6abb ldr r3, [r7, #40] ; 0x28 80b63d8: 1d1a adds r2, r3, #4 80b63da: 62ba str r2, [r7, #40] ; 0x28 80b63dc: ed93 7a00 vldr s14, [r3] 80b63e0: edd7 7a08 vldr s15, [r7, #32] 80b63e4: ee67 7a27 vmul.f32 s15, s14, s15 80b63e8: ed97 7a05 vldr s14, [r7, #20] 80b63ec: ee77 7a27 vadd.f32 s15, s14, s15 80b63f0: edc7 7a05 vstr s15, [r7, #20] CoefB1 = *pCoefB; 80b63f4: 6b7b ldr r3, [r7, #52] ; 0x34 80b63f6: 681b ldr r3, [r3, #0] 80b63f8: 613b str r3, [r7, #16] /* pSrc[2 * fftLen - 2 * i + 1] * CoefB1 */ outI -= *pSrc2-- * CoefB1; 80b63fa: 6a7b ldr r3, [r7, #36] ; 0x24 80b63fc: 1f1a subs r2, r3, #4 80b63fe: 627a str r2, [r7, #36] ; 0x24 80b6400: ed93 7a00 vldr s14, [r3] 80b6404: edd7 7a04 vldr s15, [r7, #16] 80b6408: ee67 7a27 vmul.f32 s15, s14, s15 80b640c: ed97 7a05 vldr s14, [r7, #20] 80b6410: ee77 7a67 vsub.f32 s15, s14, s15 80b6414: edc7 7a05 vstr s15, [r7, #20] /* pSrc[2 * fftLen - 2 * i] * CoefA2 */ outI -= *pSrc2 * CoefA2; 80b6418: 6a7b ldr r3, [r7, #36] ; 0x24 80b641a: ed93 7a00 vldr s14, [r3] 80b641e: edd7 7a07 vldr s15, [r7, #28] 80b6422: ee67 7a27 vmul.f32 s15, s14, s15 80b6426: ed97 7a05 vldr s14, [r7, #20] 80b642a: ee77 7a67 vsub.f32 s15, s14, s15 80b642e: edc7 7a05 vstr s15, [r7, #20] /* pSrc[2 * fftLen - 2 * i] * CoefB1 */ outR += *pSrc2-- * CoefB1; 80b6432: 6a7b ldr r3, [r7, #36] ; 0x24 80b6434: 1f1a subs r2, r3, #4 80b6436: 627a str r2, [r7, #36] ; 0x24 80b6438: ed93 7a00 vldr s14, [r3] 80b643c: edd7 7a04 vldr s15, [r7, #16] 80b6440: ee67 7a27 vmul.f32 s15, s14, s15 80b6444: ed97 7a06 vldr s14, [r7, #24] 80b6448: ee77 7a27 vadd.f32 s15, s14, s15 80b644c: edc7 7a06 vstr s15, [r7, #24] /* write output */ *pDst1++ = outR; 80b6450: 6b3b ldr r3, [r7, #48] ; 0x30 80b6452: 1d1a adds r2, r3, #4 80b6454: 633a str r2, [r7, #48] ; 0x30 80b6456: 69ba ldr r2, [r7, #24] 80b6458: 601a str r2, [r3, #0] *pDst1++ = outI; 80b645a: 6b3b ldr r3, [r7, #48] ; 0x30 80b645c: 1d1a adds r2, r3, #4 80b645e: 633a str r2, [r7, #48] ; 0x30 80b6460: 697a ldr r2, [r7, #20] 80b6462: 601a str r2, [r3, #0] /* write complex conjugate output */ *pDst2-- = -outI; 80b6464: 6afb ldr r3, [r7, #44] ; 0x2c 80b6466: 1f1a subs r2, r3, #4 80b6468: 62fa str r2, [r7, #44] ; 0x2c 80b646a: edd7 7a05 vldr s15, [r7, #20] 80b646e: eef1 7a67 vneg.f32 s15, s15 80b6472: edc3 7a00 vstr s15, [r3] *pDst2-- = outR; 80b6476: 6afb ldr r3, [r7, #44] ; 0x2c 80b6478: 1f1a subs r2, r3, #4 80b647a: 62fa str r2, [r7, #44] ; 0x2c 80b647c: 69ba ldr r2, [r7, #24] 80b647e: 601a str r2, [r3, #0] /* update coefficient pointer */ pCoefB = pCoefB + (modifier * 2u); 80b6480: 6cfb ldr r3, [r7, #76] ; 0x4c 80b6482: 00db lsls r3, r3, #3 80b6484: 6b7a ldr r2, [r7, #52] ; 0x34 80b6486: 4413 add r3, r2 80b6488: 637b str r3, [r7, #52] ; 0x34 pCoefA = pCoefA + ((modifier * 2u) - 1u); 80b648a: 6cfb ldr r3, [r7, #76] ; 0x4c 80b648c: 00db lsls r3, r3, #3 80b648e: 3b04 subs r3, #4 80b6490: 6bba ldr r2, [r7, #56] ; 0x38 80b6492: 4413 add r3, r2 80b6494: 63bb str r3, [r7, #56] ; 0x38 i--; 80b6496: 6bfb ldr r3, [r7, #60] ; 0x3c 80b6498: 3b01 subs r3, #1 80b649a: 63fb str r3, [r7, #60] ; 0x3c while(i > 0u) 80b649c: 6bfb ldr r3, [r7, #60] ; 0x3c 80b649e: 2b00 cmp r3, #0 80b64a0: f47f af6b bne.w 80b637a } pDst[2u * fftLen] = pSrc[0] - pSrc[1]; 80b64a4: 68bb ldr r3, [r7, #8] 80b64a6: 00db lsls r3, r3, #3 80b64a8: 6cba ldr r2, [r7, #72] ; 0x48 80b64aa: 4413 add r3, r2 80b64ac: 68fa ldr r2, [r7, #12] 80b64ae: ed92 7a00 vldr s14, [r2] 80b64b2: 68fa ldr r2, [r7, #12] 80b64b4: 3204 adds r2, #4 80b64b6: edd2 7a00 vldr s15, [r2] 80b64ba: ee77 7a67 vsub.f32 s15, s14, s15 80b64be: edc3 7a00 vstr s15, [r3] pDst[(2u * fftLen) + 1u] = 0.0f; 80b64c2: 68bb ldr r3, [r7, #8] 80b64c4: 00db lsls r3, r3, #3 80b64c6: 3304 adds r3, #4 80b64c8: 6cba ldr r2, [r7, #72] ; 0x48 80b64ca: 4413 add r3, r2 80b64cc: f04f 0200 mov.w r2, #0 80b64d0: 601a str r2, [r3, #0] pDst[0] = pSrc[0] + pSrc[1]; 80b64d2: 68fb ldr r3, [r7, #12] 80b64d4: ed93 7a00 vldr s14, [r3] 80b64d8: 68fb ldr r3, [r7, #12] 80b64da: 3304 adds r3, #4 80b64dc: edd3 7a00 vldr s15, [r3] 80b64e0: ee77 7a27 vadd.f32 s15, s14, s15 80b64e4: 6cbb ldr r3, [r7, #72] ; 0x48 80b64e6: edc3 7a00 vstr s15, [r3] pDst[1] = 0.0f; 80b64ea: 6cbb ldr r3, [r7, #72] ; 0x48 80b64ec: 3304 adds r3, #4 80b64ee: f04f 0200 mov.w r2, #0 80b64f2: 601a str r2, [r3, #0] } 80b64f4: bf00 nop 80b64f6: 3744 adds r7, #68 ; 0x44 80b64f8: 46bd mov sp, r7 80b64fa: f85d 7b04 ldr.w r7, [sp], #4 80b64fe: 4770 bx lr 080b6500 : uint32_t fftLen, float32_t * pATable, float32_t * pBTable, float32_t * pDst, uint32_t modifier) { 80b6500: b480 push {r7} 80b6502: b08f sub sp, #60 ; 0x3c 80b6504: af00 add r7, sp, #0 80b6506: 60f8 str r0, [r7, #12] 80b6508: 60b9 str r1, [r7, #8] 80b650a: 607a str r2, [r7, #4] 80b650c: 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]; 80b650e: 68fb ldr r3, [r7, #12] 80b6510: 62fb str r3, [r7, #44] ; 0x2c 80b6512: 68bb ldr r3, [r7, #8] 80b6514: 00db lsls r3, r3, #3 80b6516: 3304 adds r3, #4 80b6518: 68fa ldr r2, [r7, #12] 80b651a: 4413 add r3, r2 80b651c: 62bb str r3, [r7, #40] ; 0x28 pCoefA = &pATable[0]; 80b651e: 687b ldr r3, [r7, #4] 80b6520: 637b str r3, [r7, #52] ; 0x34 pCoefB = &pBTable[0]; 80b6522: 683b ldr r3, [r7, #0] 80b6524: 633b str r3, [r7, #48] ; 0x30 while(fftLen > 0u) 80b6526: e084 b.n 80b6632 pIn[2 * n - 2 * i] * pBTable[2 * i + 1] - pIn[2 * n - 2 * i + 1] * pBTable[2 * i]); */ CoefA1 = *pCoefA++; 80b6528: 6b7b ldr r3, [r7, #52] ; 0x34 80b652a: 1d1a adds r2, r3, #4 80b652c: 637a str r2, [r7, #52] ; 0x34 80b652e: 681b ldr r3, [r3, #0] 80b6530: 627b str r3, [r7, #36] ; 0x24 CoefA2 = *pCoefA; 80b6532: 6b7b ldr r3, [r7, #52] ; 0x34 80b6534: 681b ldr r3, [r3, #0] 80b6536: 623b str r3, [r7, #32] /* outR = (pSrc[2 * i] * CoefA1 */ outR = *pSrc1 * CoefA1; 80b6538: 6afb ldr r3, [r7, #44] ; 0x2c 80b653a: ed93 7a00 vldr s14, [r3] 80b653e: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b6542: ee67 7a27 vmul.f32 s15, s14, s15 80b6546: edc7 7a07 vstr s15, [r7, #28] /* - pSrc[2 * i] * CoefA2 */ outI = -(*pSrc1++) * CoefA2; 80b654a: 6afb ldr r3, [r7, #44] ; 0x2c 80b654c: 1d1a adds r2, r3, #4 80b654e: 62fa str r2, [r7, #44] ; 0x2c 80b6550: edd3 7a00 vldr s15, [r3] 80b6554: eeb1 7a67 vneg.f32 s14, s15 80b6558: edd7 7a08 vldr s15, [r7, #32] 80b655c: ee67 7a27 vmul.f32 s15, s14, s15 80b6560: edc7 7a06 vstr s15, [r7, #24] /* (pSrc[2 * i + 1] + pSrc[2 * fftLen - 2 * i + 1]) * CoefA2 */ outR += (*pSrc1 + *pSrc2) * CoefA2; 80b6564: 6afb ldr r3, [r7, #44] ; 0x2c 80b6566: ed93 7a00 vldr s14, [r3] 80b656a: 6abb ldr r3, [r7, #40] ; 0x28 80b656c: edd3 7a00 vldr s15, [r3] 80b6570: ee37 7a27 vadd.f32 s14, s14, s15 80b6574: edd7 7a08 vldr s15, [r7, #32] 80b6578: ee67 7a27 vmul.f32 s15, s14, s15 80b657c: ed97 7a07 vldr s14, [r7, #28] 80b6580: ee77 7a27 vadd.f32 s15, s14, s15 80b6584: edc7 7a07 vstr s15, [r7, #28] /* pSrc[2 * i + 1] * CoefA1 */ outI += (*pSrc1++) * CoefA1; 80b6588: 6afb ldr r3, [r7, #44] ; 0x2c 80b658a: 1d1a adds r2, r3, #4 80b658c: 62fa str r2, [r7, #44] ; 0x2c 80b658e: ed93 7a00 vldr s14, [r3] 80b6592: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b6596: ee67 7a27 vmul.f32 s15, s14, s15 80b659a: ed97 7a06 vldr s14, [r7, #24] 80b659e: ee77 7a27 vadd.f32 s15, s14, s15 80b65a2: edc7 7a06 vstr s15, [r7, #24] CoefB1 = *pCoefB; 80b65a6: 6b3b ldr r3, [r7, #48] ; 0x30 80b65a8: 681b ldr r3, [r3, #0] 80b65aa: 617b str r3, [r7, #20] /* - pSrc[2 * fftLen - 2 * i + 1] * CoefB1 */ outI -= *pSrc2-- * CoefB1; 80b65ac: 6abb ldr r3, [r7, #40] ; 0x28 80b65ae: 1f1a subs r2, r3, #4 80b65b0: 62ba str r2, [r7, #40] ; 0x28 80b65b2: ed93 7a00 vldr s14, [r3] 80b65b6: edd7 7a05 vldr s15, [r7, #20] 80b65ba: ee67 7a27 vmul.f32 s15, s14, s15 80b65be: ed97 7a06 vldr s14, [r7, #24] 80b65c2: ee77 7a67 vsub.f32 s15, s14, s15 80b65c6: edc7 7a06 vstr s15, [r7, #24] /* pSrc[2 * fftLen - 2 * i] * CoefB1 */ outR += *pSrc2 * CoefB1; 80b65ca: 6abb ldr r3, [r7, #40] ; 0x28 80b65cc: ed93 7a00 vldr s14, [r3] 80b65d0: edd7 7a05 vldr s15, [r7, #20] 80b65d4: ee67 7a27 vmul.f32 s15, s14, s15 80b65d8: ed97 7a07 vldr s14, [r7, #28] 80b65dc: ee77 7a27 vadd.f32 s15, s14, s15 80b65e0: edc7 7a07 vstr s15, [r7, #28] /* pSrc[2 * fftLen - 2 * i] * CoefA2 */ outI += *pSrc2-- * CoefA2; 80b65e4: 6abb ldr r3, [r7, #40] ; 0x28 80b65e6: 1f1a subs r2, r3, #4 80b65e8: 62ba str r2, [r7, #40] ; 0x28 80b65ea: ed93 7a00 vldr s14, [r3] 80b65ee: edd7 7a08 vldr s15, [r7, #32] 80b65f2: ee67 7a27 vmul.f32 s15, s14, s15 80b65f6: ed97 7a06 vldr s14, [r7, #24] 80b65fa: ee77 7a27 vadd.f32 s15, s14, s15 80b65fe: edc7 7a06 vstr s15, [r7, #24] /* write output */ *pDst++ = outR; 80b6602: 6c3b ldr r3, [r7, #64] ; 0x40 80b6604: 1d1a adds r2, r3, #4 80b6606: 643a str r2, [r7, #64] ; 0x40 80b6608: 69fa ldr r2, [r7, #28] 80b660a: 601a str r2, [r3, #0] *pDst++ = outI; 80b660c: 6c3b ldr r3, [r7, #64] ; 0x40 80b660e: 1d1a adds r2, r3, #4 80b6610: 643a str r2, [r7, #64] ; 0x40 80b6612: 69ba ldr r2, [r7, #24] 80b6614: 601a str r2, [r3, #0] /* update coefficient pointer */ pCoefB = pCoefB + (modifier * 2u); 80b6616: 6c7b ldr r3, [r7, #68] ; 0x44 80b6618: 00db lsls r3, r3, #3 80b661a: 6b3a ldr r2, [r7, #48] ; 0x30 80b661c: 4413 add r3, r2 80b661e: 633b str r3, [r7, #48] ; 0x30 pCoefA = pCoefA + ((modifier * 2u) - 1u); 80b6620: 6c7b ldr r3, [r7, #68] ; 0x44 80b6622: 00db lsls r3, r3, #3 80b6624: 3b04 subs r3, #4 80b6626: 6b7a ldr r2, [r7, #52] ; 0x34 80b6628: 4413 add r3, r2 80b662a: 637b str r3, [r7, #52] ; 0x34 /* Decrement loop count */ fftLen--; 80b662c: 68bb ldr r3, [r7, #8] 80b662e: 3b01 subs r3, #1 80b6630: 60bb str r3, [r7, #8] while(fftLen > 0u) 80b6632: 68bb ldr r3, [r7, #8] 80b6634: 2b00 cmp r3, #0 80b6636: f47f af77 bne.w 80b6528 } } 80b663a: bf00 nop 80b663c: 373c adds r7, #60 ; 0x3c 80b663e: 46bd mov sp, r7 80b6640: f85d 7b04 ldr.w r7, [sp], #4 80b6644: 4770 bx lr 080b6646 : #include "arm_math.h" void stage_rfft_f32( arm_rfft_fast_instance_f32 * S, float32_t * p, float32_t * pOut) { 80b6646: b480 push {r7} 80b6648: b095 sub sp, #84 ; 0x54 80b664a: af00 add r7, sp, #0 80b664c: 60f8 str r0, [r7, #12] 80b664e: 60b9 str r1, [r7, #8] 80b6650: 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 */ 80b6652: 68fb ldr r3, [r7, #12] 80b6654: 695b ldr r3, [r3, #20] 80b6656: 64bb str r3, [r7, #72] ; 0x48 float32_t *pA = p; /* increasing pointer */ 80b6658: 68bb ldr r3, [r7, #8] 80b665a: 647b str r3, [r7, #68] ; 0x44 float32_t *pB = p; /* decreasing pointer */ 80b665c: 68bb ldr r3, [r7, #8] 80b665e: 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; 80b6660: 68fb ldr r3, [r7, #12] 80b6662: 881b ldrh r3, [r3, #0] 80b6664: 3b01 subs r3, #1 80b6666: 64fb str r3, [r7, #76] ; 0x4c /* Pack first and last sample of the frequency domain together */ xBR = pB[0]; 80b6668: 6c3b ldr r3, [r7, #64] ; 0x40 80b666a: 681b ldr r3, [r3, #0] 80b666c: 63fb str r3, [r7, #60] ; 0x3c xBI = pB[1]; 80b666e: 6c3b ldr r3, [r7, #64] ; 0x40 80b6670: 685b ldr r3, [r3, #4] 80b6672: 63bb str r3, [r7, #56] ; 0x38 xAR = pA[0]; 80b6674: 6c7b ldr r3, [r7, #68] ; 0x44 80b6676: 681b ldr r3, [r3, #0] 80b6678: 637b str r3, [r7, #52] ; 0x34 xAI = pA[1]; 80b667a: 6c7b ldr r3, [r7, #68] ; 0x44 80b667c: 685b ldr r3, [r3, #4] 80b667e: 633b str r3, [r7, #48] ; 0x30 twR = *pCoeff++ ; 80b6680: 6cbb ldr r3, [r7, #72] ; 0x48 80b6682: 1d1a adds r2, r3, #4 80b6684: 64ba str r2, [r7, #72] ; 0x48 80b6686: 681b ldr r3, [r3, #0] 80b6688: 62fb str r3, [r7, #44] ; 0x2c twI = *pCoeff++ ; 80b668a: 6cbb ldr r3, [r7, #72] ; 0x48 80b668c: 1d1a adds r2, r3, #4 80b668e: 64ba str r2, [r7, #72] ; 0x48 80b6690: 681b ldr r3, [r3, #0] 80b6692: 62bb str r3, [r7, #40] ; 0x28 // U1 = XA(1) + XB(1); % It is real t1a = xBR + xAR ; 80b6694: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b6698: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b669c: ee77 7a27 vadd.f32 s15, s14, s15 80b66a0: edc7 7a09 vstr s15, [r7, #36] ; 0x24 // U2 = XB(1) - XA(1); % It is imaginary t1b = xBI + xAI ; 80b66a4: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b66a8: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b66ac: ee77 7a27 vadd.f32 s15, s14, s15 80b66b0: 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 ); 80b66b4: 687b ldr r3, [r7, #4] 80b66b6: 1d1a adds r2, r3, #4 80b66b8: 607a str r2, [r7, #4] 80b66ba: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b66be: edd7 7a08 vldr s15, [r7, #32] 80b66c2: ee77 7a27 vadd.f32 s15, s14, s15 80b66c6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b66ca: ee67 7a87 vmul.f32 s15, s15, s14 80b66ce: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * ( t1a - t1b ); 80b66d2: 687b ldr r3, [r7, #4] 80b66d4: 1d1a adds r2, r3, #4 80b66d6: 607a str r2, [r7, #4] 80b66d8: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b66dc: edd7 7a08 vldr s15, [r7, #32] 80b66e0: ee77 7a67 vsub.f32 s15, s14, s15 80b66e4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b66e8: ee67 7a87 vmul.f32 s15, s15, s14 80b66ec: edc3 7a00 vstr s15, [r3] // XA(1) = 1/2*( U1 - imag(U2) + i*( U1 +imag(U2) )); pB = p + 2*k; 80b66f0: 6cfb ldr r3, [r7, #76] ; 0x4c 80b66f2: 00db lsls r3, r3, #3 80b66f4: 68ba ldr r2, [r7, #8] 80b66f6: 4413 add r3, r2 80b66f8: 643b str r3, [r7, #64] ; 0x40 pA += 2; 80b66fa: 6c7b ldr r3, [r7, #68] ; 0x44 80b66fc: 3308 adds r3, #8 80b66fe: 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]; 80b6700: 6c3b ldr r3, [r7, #64] ; 0x40 80b6702: 685b ldr r3, [r3, #4] 80b6704: 63bb str r3, [r7, #56] ; 0x38 xBR = pB[0]; 80b6706: 6c3b ldr r3, [r7, #64] ; 0x40 80b6708: 681b ldr r3, [r3, #0] 80b670a: 63fb str r3, [r7, #60] ; 0x3c xAR = pA[0]; 80b670c: 6c7b ldr r3, [r7, #68] ; 0x44 80b670e: 681b ldr r3, [r3, #0] 80b6710: 637b str r3, [r7, #52] ; 0x34 xAI = pA[1]; 80b6712: 6c7b ldr r3, [r7, #68] ; 0x44 80b6714: 685b ldr r3, [r3, #4] 80b6716: 633b str r3, [r7, #48] ; 0x30 twR = *pCoeff++; 80b6718: 6cbb ldr r3, [r7, #72] ; 0x48 80b671a: 1d1a adds r2, r3, #4 80b671c: 64ba str r2, [r7, #72] ; 0x48 80b671e: 681b ldr r3, [r3, #0] 80b6720: 62fb str r3, [r7, #44] ; 0x2c twI = *pCoeff++; 80b6722: 6cbb ldr r3, [r7, #72] ; 0x48 80b6724: 1d1a adds r2, r3, #4 80b6726: 64ba str r2, [r7, #72] ; 0x48 80b6728: 681b ldr r3, [r3, #0] 80b672a: 62bb str r3, [r7, #40] ; 0x28 t1a = xBR - xAR ; 80b672c: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b6730: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b6734: ee77 7a67 vsub.f32 s15, s14, s15 80b6738: edc7 7a09 vstr s15, [r7, #36] ; 0x24 t1b = xBI + xAI ; 80b673c: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b6740: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b6744: ee77 7a27 vadd.f32 s15, s14, s15 80b6748: 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; 80b674c: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b6750: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b6754: ee67 7a27 vmul.f32 s15, s14, s15 80b6758: edc7 7a07 vstr s15, [r7, #28] p1 = twI * t1a; 80b675c: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b6760: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b6764: ee67 7a27 vmul.f32 s15, s14, s15 80b6768: edc7 7a06 vstr s15, [r7, #24] p2 = twR * t1b; 80b676c: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b6770: edd7 7a08 vldr s15, [r7, #32] 80b6774: ee67 7a27 vmul.f32 s15, s14, s15 80b6778: edc7 7a05 vstr s15, [r7, #20] p3 = twI * t1b; 80b677c: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b6780: edd7 7a08 vldr s15, [r7, #32] 80b6784: ee67 7a27 vmul.f32 s15, s14, s15 80b6788: edc7 7a04 vstr s15, [r7, #16] *pOut++ = 0.5f * (xAR + xBR + p0 + p3 ); //xAR 80b678c: 687b ldr r3, [r7, #4] 80b678e: 1d1a adds r2, r3, #4 80b6790: 607a str r2, [r7, #4] 80b6792: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b6796: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b679a: ee37 7a27 vadd.f32 s14, s14, s15 80b679e: edd7 7a07 vldr s15, [r7, #28] 80b67a2: ee37 7a27 vadd.f32 s14, s14, s15 80b67a6: edd7 7a04 vldr s15, [r7, #16] 80b67aa: ee77 7a27 vadd.f32 s15, s14, s15 80b67ae: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b67b2: ee67 7a87 vmul.f32 s15, s15, s14 80b67b6: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * (xAI - xBI + p1 - p2 ); //xAI 80b67ba: 687b ldr r3, [r7, #4] 80b67bc: 1d1a adds r2, r3, #4 80b67be: 607a str r2, [r7, #4] 80b67c0: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b67c4: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b67c8: ee37 7a67 vsub.f32 s14, s14, s15 80b67cc: edd7 7a06 vldr s15, [r7, #24] 80b67d0: ee37 7a27 vadd.f32 s14, s14, s15 80b67d4: edd7 7a05 vldr s15, [r7, #20] 80b67d8: ee77 7a67 vsub.f32 s15, s14, s15 80b67dc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b67e0: ee67 7a87 vmul.f32 s15, s15, s14 80b67e4: edc3 7a00 vstr s15, [r3] pA += 2; 80b67e8: 6c7b ldr r3, [r7, #68] ; 0x44 80b67ea: 3308 adds r3, #8 80b67ec: 647b str r3, [r7, #68] ; 0x44 pB -= 2; 80b67ee: 6c3b ldr r3, [r7, #64] ; 0x40 80b67f0: 3b08 subs r3, #8 80b67f2: 643b str r3, [r7, #64] ; 0x40 k--; 80b67f4: 6cfb ldr r3, [r7, #76] ; 0x4c 80b67f6: 3b01 subs r3, #1 80b67f8: 64fb str r3, [r7, #76] ; 0x4c } while(k > 0u); 80b67fa: 6cfb ldr r3, [r7, #76] ; 0x4c 80b67fc: 2b00 cmp r3, #0 80b67fe: f47f af7f bne.w 80b6700 } 80b6802: bf00 nop 80b6804: 3754 adds r7, #84 ; 0x54 80b6806: 46bd mov sp, r7 80b6808: f85d 7b04 ldr.w r7, [sp], #4 80b680c: 4770 bx lr 080b680e : /* Prepares data for inverse cfft */ void merge_rfft_f32( arm_rfft_fast_instance_f32 * S, float32_t * p, float32_t * pOut) { 80b680e: b480 push {r7} 80b6810: b095 sub sp, #84 ; 0x54 80b6812: af00 add r7, sp, #0 80b6814: 60f8 str r0, [r7, #12] 80b6816: 60b9 str r1, [r7, #8] 80b6818: 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 */ 80b681a: 68fb ldr r3, [r7, #12] 80b681c: 695b ldr r3, [r3, #20] 80b681e: 64bb str r3, [r7, #72] ; 0x48 float32_t *pA = p; /* increasing pointer */ 80b6820: 68bb ldr r3, [r7, #8] 80b6822: 647b str r3, [r7, #68] ; 0x44 float32_t *pB = p; /* decreasing pointer */ 80b6824: 68bb ldr r3, [r7, #8] 80b6826: 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; 80b6828: 68fb ldr r3, [r7, #12] 80b682a: 881b ldrh r3, [r3, #0] 80b682c: 3b01 subs r3, #1 80b682e: 64fb str r3, [r7, #76] ; 0x4c xAR = pA[0]; 80b6830: 6c7b ldr r3, [r7, #68] ; 0x44 80b6832: 681b ldr r3, [r3, #0] 80b6834: 63fb str r3, [r7, #60] ; 0x3c xAI = pA[1]; 80b6836: 6c7b ldr r3, [r7, #68] ; 0x44 80b6838: 685b ldr r3, [r3, #4] 80b683a: 63bb str r3, [r7, #56] ; 0x38 pCoeff += 2 ; 80b683c: 6cbb ldr r3, [r7, #72] ; 0x48 80b683e: 3308 adds r3, #8 80b6840: 64bb str r3, [r7, #72] ; 0x48 *pOut++ = 0.5f * ( xAR + xAI ); 80b6842: 687b ldr r3, [r7, #4] 80b6844: 1d1a adds r2, r3, #4 80b6846: 607a str r2, [r7, #4] 80b6848: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b684c: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b6850: ee77 7a27 vadd.f32 s15, s14, s15 80b6854: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b6858: ee67 7a87 vmul.f32 s15, s15, s14 80b685c: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * ( xAR - xAI ); 80b6860: 687b ldr r3, [r7, #4] 80b6862: 1d1a adds r2, r3, #4 80b6864: 607a str r2, [r7, #4] 80b6866: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b686a: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b686e: ee77 7a67 vsub.f32 s15, s14, s15 80b6872: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b6876: ee67 7a87 vmul.f32 s15, s15, s14 80b687a: edc3 7a00 vstr s15, [r3] pB = p + 2*k ; 80b687e: 6cfb ldr r3, [r7, #76] ; 0x4c 80b6880: 00db lsls r3, r3, #3 80b6882: 68ba ldr r2, [r7, #8] 80b6884: 4413 add r3, r2 80b6886: 643b str r3, [r7, #64] ; 0x40 pA += 2 ; 80b6888: 6c7b ldr r3, [r7, #68] ; 0x44 80b688a: 3308 adds r3, #8 80b688c: 647b str r3, [r7, #68] ; 0x44 while(k > 0u) 80b688e: e07c b.n 80b698a { /* 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] ; 80b6890: 6c3b ldr r3, [r7, #64] ; 0x40 80b6892: 685b ldr r3, [r3, #4] 80b6894: 637b str r3, [r7, #52] ; 0x34 xBR = pB[0] ; 80b6896: 6c3b ldr r3, [r7, #64] ; 0x40 80b6898: 681b ldr r3, [r3, #0] 80b689a: 633b str r3, [r7, #48] ; 0x30 xAR = pA[0]; 80b689c: 6c7b ldr r3, [r7, #68] ; 0x44 80b689e: 681b ldr r3, [r3, #0] 80b68a0: 63fb str r3, [r7, #60] ; 0x3c xAI = pA[1]; 80b68a2: 6c7b ldr r3, [r7, #68] ; 0x44 80b68a4: 685b ldr r3, [r3, #4] 80b68a6: 63bb str r3, [r7, #56] ; 0x38 twR = *pCoeff++; 80b68a8: 6cbb ldr r3, [r7, #72] ; 0x48 80b68aa: 1d1a adds r2, r3, #4 80b68ac: 64ba str r2, [r7, #72] ; 0x48 80b68ae: 681b ldr r3, [r3, #0] 80b68b0: 62fb str r3, [r7, #44] ; 0x2c twI = *pCoeff++; 80b68b2: 6cbb ldr r3, [r7, #72] ; 0x48 80b68b4: 1d1a adds r2, r3, #4 80b68b6: 64ba str r2, [r7, #72] ; 0x48 80b68b8: 681b ldr r3, [r3, #0] 80b68ba: 62bb str r3, [r7, #40] ; 0x28 t1a = xAR - xBR ; 80b68bc: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b68c0: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b68c4: ee77 7a67 vsub.f32 s15, s14, s15 80b68c8: edc7 7a09 vstr s15, [r7, #36] ; 0x24 t1b = xAI + xBI ; 80b68cc: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b68d0: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b68d4: ee77 7a27 vadd.f32 s15, s14, s15 80b68d8: edc7 7a08 vstr s15, [r7, #32] r = twR * t1a; 80b68dc: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b68e0: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b68e4: ee67 7a27 vmul.f32 s15, s14, s15 80b68e8: edc7 7a07 vstr s15, [r7, #28] s = twI * t1b; 80b68ec: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b68f0: edd7 7a08 vldr s15, [r7, #32] 80b68f4: ee67 7a27 vmul.f32 s15, s14, s15 80b68f8: edc7 7a06 vstr s15, [r7, #24] t = twI * t1a; 80b68fc: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b6900: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b6904: ee67 7a27 vmul.f32 s15, s14, s15 80b6908: edc7 7a05 vstr s15, [r7, #20] u = twR * t1b; 80b690c: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b6910: edd7 7a08 vldr s15, [r7, #32] 80b6914: ee67 7a27 vmul.f32 s15, s14, s15 80b6918: 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 80b691c: 687b ldr r3, [r7, #4] 80b691e: 1d1a adds r2, r3, #4 80b6920: 607a str r2, [r7, #4] 80b6922: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b6926: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b692a: ee37 7a27 vadd.f32 s14, s14, s15 80b692e: edd7 7a07 vldr s15, [r7, #28] 80b6932: ee37 7a67 vsub.f32 s14, s14, s15 80b6936: edd7 7a06 vldr s15, [r7, #24] 80b693a: ee77 7a67 vsub.f32 s15, s14, s15 80b693e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b6942: ee67 7a87 vmul.f32 s15, s15, s14 80b6946: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * (xAI - xBI + t - u ); //xAI 80b694a: 687b ldr r3, [r7, #4] 80b694c: 1d1a adds r2, r3, #4 80b694e: 607a str r2, [r7, #4] 80b6950: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b6954: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b6958: ee37 7a67 vsub.f32 s14, s14, s15 80b695c: edd7 7a05 vldr s15, [r7, #20] 80b6960: ee37 7a27 vadd.f32 s14, s14, s15 80b6964: edd7 7a04 vldr s15, [r7, #16] 80b6968: ee77 7a67 vsub.f32 s15, s14, s15 80b696c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b6970: ee67 7a87 vmul.f32 s15, s15, s14 80b6974: edc3 7a00 vstr s15, [r3] pA += 2; 80b6978: 6c7b ldr r3, [r7, #68] ; 0x44 80b697a: 3308 adds r3, #8 80b697c: 647b str r3, [r7, #68] ; 0x44 pB -= 2; 80b697e: 6c3b ldr r3, [r7, #64] ; 0x40 80b6980: 3b08 subs r3, #8 80b6982: 643b str r3, [r7, #64] ; 0x40 k--; 80b6984: 6cfb ldr r3, [r7, #76] ; 0x4c 80b6986: 3b01 subs r3, #1 80b6988: 64fb str r3, [r7, #76] ; 0x4c while(k > 0u) 80b698a: 6cfb ldr r3, [r7, #76] ; 0x4c 80b698c: 2b00 cmp r3, #0 80b698e: f47f af7f bne.w 80b6890 } } 80b6992: bf00 nop 80b6994: 3754 adds r7, #84 ; 0x54 80b6996: 46bd mov sp, r7 80b6998: f85d 7b04 ldr.w r7, [sp], #4 80b699c: 4770 bx lr 080b699e : void arm_rfft_fast_f32( arm_rfft_fast_instance_f32 * S, float32_t * p, float32_t * pOut, uint8_t ifftFlag) { 80b699e: b580 push {r7, lr} 80b69a0: b086 sub sp, #24 80b69a2: af00 add r7, sp, #0 80b69a4: 60f8 str r0, [r7, #12] 80b69a6: 60b9 str r1, [r7, #8] 80b69a8: 607a str r2, [r7, #4] 80b69aa: 70fb strb r3, [r7, #3] arm_cfft_instance_f32 * Sint = &(S->Sint); 80b69ac: 68fb ldr r3, [r7, #12] 80b69ae: 617b str r3, [r7, #20] Sint->fftLen = S->fftLenRFFT / 2; 80b69b0: 68fb ldr r3, [r7, #12] 80b69b2: 8a1b ldrh r3, [r3, #16] 80b69b4: 085b lsrs r3, r3, #1 80b69b6: b29a uxth r2, r3 80b69b8: 697b ldr r3, [r7, #20] 80b69ba: 801a strh r2, [r3, #0] /* Calculation of Real FFT */ if(ifftFlag) 80b69bc: 78fb ldrb r3, [r7, #3] 80b69be: 2b00 cmp r3, #0 80b69c0: d00b beq.n 80b69da { /* Real FFT compression */ merge_rfft_f32(S, p, pOut); 80b69c2: 687a ldr r2, [r7, #4] 80b69c4: 68b9 ldr r1, [r7, #8] 80b69c6: 68f8 ldr r0, [r7, #12] 80b69c8: f7ff ff21 bl 80b680e /* Complex radix-4 IFFT process */ arm_cfft_f32( Sint, pOut, ifftFlag, 1); 80b69cc: 78fa ldrb r2, [r7, #3] 80b69ce: 2301 movs r3, #1 80b69d0: 6879 ldr r1, [r7, #4] 80b69d2: 6978 ldr r0, [r7, #20] 80b69d4: f7fc ffe8 bl 80b39a8 arm_cfft_f32( Sint, p, ifftFlag, 1); /* Real FFT extraction */ stage_rfft_f32(S, p, pOut); } } 80b69d8: e00a b.n 80b69f0 arm_cfft_f32( Sint, p, ifftFlag, 1); 80b69da: 78fa ldrb r2, [r7, #3] 80b69dc: 2301 movs r3, #1 80b69de: 68b9 ldr r1, [r7, #8] 80b69e0: 6978 ldr r0, [r7, #20] 80b69e2: f7fc ffe1 bl 80b39a8 stage_rfft_f32(S, p, pOut); 80b69e6: 687a ldr r2, [r7, #4] 80b69e8: 68b9 ldr r1, [r7, #8] 80b69ea: 68f8 ldr r0, [r7, #12] 80b69ec: f7ff fe2b bl 80b6646 } 80b69f0: bf00 nop 80b69f2: 3718 adds r7, #24 80b69f4: 46bd mov sp, r7 80b69f6: bd80 pop {r7, pc} 080b69f8 : * 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) { 80b69f8: b480 push {r7} 80b69fa: b085 sub sp, #20 80b69fc: af00 add r7, sp, #0 80b69fe: 6078 str r0, [r7, #4] 80b6a00: 460b mov r3, r1 80b6a02: 807b strh r3, [r7, #2] arm_cfft_instance_f32 * Sint; /* Initialise the default arm status */ arm_status status = ARM_MATH_SUCCESS; 80b6a04: 2300 movs r3, #0 80b6a06: 73fb strb r3, [r7, #15] /* Initialise the FFT length */ Sint = &(S->Sint); 80b6a08: 687b ldr r3, [r7, #4] 80b6a0a: 60bb str r3, [r7, #8] Sint->fftLen = fftLen/2; 80b6a0c: 887b ldrh r3, [r7, #2] 80b6a0e: 085b lsrs r3, r3, #1 80b6a10: b29a uxth r2, r3 80b6a12: 68bb ldr r3, [r7, #8] 80b6a14: 801a strh r2, [r3, #0] S->fftLenRFFT = fftLen; 80b6a16: 687b ldr r3, [r7, #4] 80b6a18: 887a ldrh r2, [r7, #2] 80b6a1a: 821a strh r2, [r3, #16] /* Initializations of structure parameters depending on the FFT length */ switch (Sint->fftLen) 80b6a1c: 68bb ldr r3, [r7, #8] 80b6a1e: 881b ldrh r3, [r3, #0] 80b6a20: 2b80 cmp r3, #128 ; 0x80 80b6a22: d050 beq.n 80b6ac6 80b6a24: 2b80 cmp r3, #128 ; 0x80 80b6a26: dc06 bgt.n 80b6a36 80b6a28: 2b20 cmp r3, #32 80b6a2a: d066 beq.n 80b6afa 80b6a2c: 2b40 cmp r3, #64 ; 0x40 80b6a2e: d057 beq.n 80b6ae0 80b6a30: 2b10 cmp r3, #16 80b6a32: d06f beq.n 80b6b14 80b6a34: e07b b.n 80b6b2e 80b6a36: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b6a3a: d028 beq.n 80b6a8e 80b6a3c: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b6a40: dc03 bgt.n 80b6a4a 80b6a42: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b6a46: d030 beq.n 80b6aaa 80b6a48: e071 b.n 80b6b2e 80b6a4a: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b6a4e: d010 beq.n 80b6a72 80b6a50: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b6a54: d16b bne.n 80b6b2e { case 2048u: /* Initializations of structure parameters for 2048 point FFT */ /* Initialise the bit reversal table length */ Sint->bitRevLength = ARMBITREVINDEXTABLE2048_TABLE_LENGTH; 80b6a56: 68bb ldr r3, [r7, #8] 80b6a58: f44f 626e mov.w r2, #3808 ; 0xee0 80b6a5c: 819a strh r2, [r3, #12] /* Initialise the bit reversal table pointer */ Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable2048; 80b6a5e: 68bb ldr r3, [r7, #8] 80b6a60: 4a38 ldr r2, [pc, #224] ; (80b6b44 ) 80b6a62: 609a str r2, [r3, #8] /* Initialise the Twiddle coefficient pointers */ Sint->pTwiddle = (float32_t *) twiddleCoef_2048; 80b6a64: 68bb ldr r3, [r7, #8] 80b6a66: 4a38 ldr r2, [pc, #224] ; (80b6b48 ) 80b6a68: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_4096; 80b6a6a: 687b ldr r3, [r7, #4] 80b6a6c: 4a37 ldr r2, [pc, #220] ; (80b6b4c ) 80b6a6e: 615a str r2, [r3, #20] break; 80b6a70: e060 b.n 80b6b34 case 1024u: Sint->bitRevLength = ARMBITREVINDEXTABLE1024_TABLE_LENGTH; 80b6a72: 68bb ldr r3, [r7, #8] 80b6a74: f44f 62e1 mov.w r2, #1800 ; 0x708 80b6a78: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable1024; 80b6a7a: 68bb ldr r3, [r7, #8] 80b6a7c: 4a34 ldr r2, [pc, #208] ; (80b6b50 ) 80b6a7e: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_1024; 80b6a80: 68bb ldr r3, [r7, #8] 80b6a82: 4a34 ldr r2, [pc, #208] ; (80b6b54 ) 80b6a84: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_2048; 80b6a86: 687b ldr r3, [r7, #4] 80b6a88: 4a33 ldr r2, [pc, #204] ; (80b6b58 ) 80b6a8a: 615a str r2, [r3, #20] break; 80b6a8c: e052 b.n 80b6b34 case 512u: Sint->bitRevLength = ARMBITREVINDEXTABLE_512_TABLE_LENGTH; 80b6a8e: 68bb ldr r3, [r7, #8] 80b6a90: f44f 72e0 mov.w r2, #448 ; 0x1c0 80b6a94: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable512; 80b6a96: 68bb ldr r3, [r7, #8] 80b6a98: 4a30 ldr r2, [pc, #192] ; (80b6b5c ) 80b6a9a: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_512; 80b6a9c: 68bb ldr r3, [r7, #8] 80b6a9e: 4a30 ldr r2, [pc, #192] ; (80b6b60 ) 80b6aa0: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_1024; 80b6aa2: 687b ldr r3, [r7, #4] 80b6aa4: 4a2f ldr r2, [pc, #188] ; (80b6b64 ) 80b6aa6: 615a str r2, [r3, #20] break; 80b6aa8: e044 b.n 80b6b34 case 256u: Sint->bitRevLength = ARMBITREVINDEXTABLE_256_TABLE_LENGTH; 80b6aaa: 68bb ldr r3, [r7, #8] 80b6aac: f44f 72dc mov.w r2, #440 ; 0x1b8 80b6ab0: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable256; 80b6ab2: 68bb ldr r3, [r7, #8] 80b6ab4: 4a2c ldr r2, [pc, #176] ; (80b6b68 ) 80b6ab6: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_256; 80b6ab8: 68bb ldr r3, [r7, #8] 80b6aba: 4a2c ldr r2, [pc, #176] ; (80b6b6c ) 80b6abc: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_512; 80b6abe: 687b ldr r3, [r7, #4] 80b6ac0: 4a2b ldr r2, [pc, #172] ; (80b6b70 ) 80b6ac2: 615a str r2, [r3, #20] break; 80b6ac4: e036 b.n 80b6b34 case 128u: Sint->bitRevLength = ARMBITREVINDEXTABLE_128_TABLE_LENGTH; 80b6ac6: 68bb ldr r3, [r7, #8] 80b6ac8: 22d0 movs r2, #208 ; 0xd0 80b6aca: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable128; 80b6acc: 68bb ldr r3, [r7, #8] 80b6ace: 4a29 ldr r2, [pc, #164] ; (80b6b74 ) 80b6ad0: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_128; 80b6ad2: 68bb ldr r3, [r7, #8] 80b6ad4: 4a28 ldr r2, [pc, #160] ; (80b6b78 ) 80b6ad6: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_256; 80b6ad8: 687b ldr r3, [r7, #4] 80b6ada: 4a28 ldr r2, [pc, #160] ; (80b6b7c ) 80b6adc: 615a str r2, [r3, #20] break; 80b6ade: e029 b.n 80b6b34 case 64u: Sint->bitRevLength = ARMBITREVINDEXTABLE__64_TABLE_LENGTH; 80b6ae0: 68bb ldr r3, [r7, #8] 80b6ae2: 2238 movs r2, #56 ; 0x38 80b6ae4: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable64; 80b6ae6: 68bb ldr r3, [r7, #8] 80b6ae8: 4a25 ldr r2, [pc, #148] ; (80b6b80 ) 80b6aea: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_64; 80b6aec: 68bb ldr r3, [r7, #8] 80b6aee: 4a25 ldr r2, [pc, #148] ; (80b6b84 ) 80b6af0: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_128; 80b6af2: 687b ldr r3, [r7, #4] 80b6af4: 4a24 ldr r2, [pc, #144] ; (80b6b88 ) 80b6af6: 615a str r2, [r3, #20] break; 80b6af8: e01c b.n 80b6b34 case 32u: Sint->bitRevLength = ARMBITREVINDEXTABLE__32_TABLE_LENGTH; 80b6afa: 68bb ldr r3, [r7, #8] 80b6afc: 2230 movs r2, #48 ; 0x30 80b6afe: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable32; 80b6b00: 68bb ldr r3, [r7, #8] 80b6b02: 4a22 ldr r2, [pc, #136] ; (80b6b8c ) 80b6b04: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_32; 80b6b06: 68bb ldr r3, [r7, #8] 80b6b08: 4a21 ldr r2, [pc, #132] ; (80b6b90 ) 80b6b0a: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_64; 80b6b0c: 687b ldr r3, [r7, #4] 80b6b0e: 4a21 ldr r2, [pc, #132] ; (80b6b94 ) 80b6b10: 615a str r2, [r3, #20] break; 80b6b12: e00f b.n 80b6b34 case 16u: Sint->bitRevLength = ARMBITREVINDEXTABLE__16_TABLE_LENGTH; 80b6b14: 68bb ldr r3, [r7, #8] 80b6b16: 2214 movs r2, #20 80b6b18: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable16; 80b6b1a: 68bb ldr r3, [r7, #8] 80b6b1c: 4a1e ldr r2, [pc, #120] ; (80b6b98 ) 80b6b1e: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_16; 80b6b20: 68bb ldr r3, [r7, #8] 80b6b22: 4a1e ldr r2, [pc, #120] ; (80b6b9c ) 80b6b24: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_32; 80b6b26: 687b ldr r3, [r7, #4] 80b6b28: 4a1d ldr r2, [pc, #116] ; (80b6ba0 ) 80b6b2a: 615a str r2, [r3, #20] break; 80b6b2c: e002 b.n 80b6b34 default: /* Reporting argument error if fftSize is not valid value */ status = ARM_MATH_ARGUMENT_ERROR; 80b6b2e: 23ff movs r3, #255 ; 0xff 80b6b30: 73fb strb r3, [r7, #15] break; 80b6b32: bf00 nop } return (status); 80b6b34: f997 300f ldrsb.w r3, [r7, #15] } 80b6b38: 4618 mov r0, r3 80b6b3a: 3714 adds r7, #20 80b6b3c: 46bd mov sp, r7 80b6b3e: f85d 7b04 ldr.w r7, [sp], #4 80b6b42: 4770 bx lr 80b6b44: 0817e38c .word 0x0817e38c 80b6b48: 0816e580 .word 0x0816e580 80b6b4c: 081746f0 .word 0x081746f0 80b6b50: 0817b070 .word 0x0817b070 80b6b54: 08178f70 .word 0x08178f70 80b6b58: 081726f0 .word 0x081726f0 80b6b5c: 08180b4c .word 0x08180b4c 80b6b60: 0817d38c .word 0x0817d38c 80b6b64: 08180ecc .word 0x08180ecc 80b6b68: 081822cc .word 0x081822cc 80b6b6c: 081786f0 .word 0x081786f0 80b6b70: 0818034c .word 0x0818034c 80b6b74: 0818283c .word 0x0818283c 80b6b78: 0817cf8c .word 0x0817cf8c 80b6b7c: 08181ecc .word 0x08181ecc 80b6b80: 08172680 .word 0x08172680 80b6b84: 0818014c .word 0x0818014c 80b6b88: 0818263c .word 0x0818263c 80b6b8c: 0817bf28 .word 0x0817bf28 80b6b90: 0817af70 .word 0x0817af70 80b6b94: 08172580 .word 0x08172580 80b6b98: 0817be80 .word 0x0817be80 80b6b9c: 08178ef0 .word 0x08178ef0 80b6ba0: 0817bea8 .word 0x0817bea8 080b6ba4 : arm_rfft_instance_f32 * S, arm_cfft_radix4_instance_f32 * S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag) { 80b6ba4: b580 push {r7, lr} 80b6ba6: b086 sub sp, #24 80b6ba8: af00 add r7, sp, #0 80b6baa: 60f8 str r0, [r7, #12] 80b6bac: 60b9 str r1, [r7, #8] 80b6bae: 607a str r2, [r7, #4] 80b6bb0: 603b str r3, [r7, #0] /* Initialise the default arm status */ arm_status status = ARM_MATH_SUCCESS; 80b6bb2: 2300 movs r3, #0 80b6bb4: 75fb strb r3, [r7, #23] /* Initialize the Real FFT length */ S->fftLenReal = (uint16_t) fftLenReal; 80b6bb6: 687b ldr r3, [r7, #4] 80b6bb8: b29b uxth r3, r3 80b6bba: 461a mov r2, r3 80b6bbc: 68fb ldr r3, [r7, #12] 80b6bbe: 601a str r2, [r3, #0] /* Initialize the Complex FFT length */ S->fftLenBy2 = (uint16_t) fftLenReal / 2u; 80b6bc0: 687b ldr r3, [r7, #4] 80b6bc2: b29b uxth r3, r3 80b6bc4: 085b lsrs r3, r3, #1 80b6bc6: b29a uxth r2, r3 80b6bc8: 68fb ldr r3, [r7, #12] 80b6bca: 809a strh r2, [r3, #4] /* Initialize the Twiddle coefficientA pointer */ S->pTwiddleAReal = (float32_t *) realCoefA; 80b6bcc: 68fb ldr r3, [r7, #12] 80b6bce: 4a27 ldr r2, [pc, #156] ; (80b6c6c ) 80b6bd0: 60da str r2, [r3, #12] /* Initialize the Twiddle coefficientB pointer */ S->pTwiddleBReal = (float32_t *) realCoefB; 80b6bd2: 68fb ldr r3, [r7, #12] 80b6bd4: 4a26 ldr r2, [pc, #152] ; (80b6c70 ) 80b6bd6: 611a str r2, [r3, #16] /* Initialize the Flag for selection of RFFT or RIFFT */ S->ifftFlagR = (uint8_t) ifftFlagR; 80b6bd8: 683b ldr r3, [r7, #0] 80b6bda: b2da uxtb r2, r3 80b6bdc: 68fb ldr r3, [r7, #12] 80b6bde: 719a strb r2, [r3, #6] /* Initialize the Flag for calculation Bit reversal or not */ S->bitReverseFlagR = (uint8_t) bitReverseFlag; 80b6be0: 6a3b ldr r3, [r7, #32] 80b6be2: b2da uxtb r2, r3 80b6be4: 68fb ldr r3, [r7, #12] 80b6be6: 71da strb r2, [r3, #7] /* Initializations of structure parameters depending on the FFT length */ switch (S->fftLenReal) 80b6be8: 68fb ldr r3, [r7, #12] 80b6bea: 681b ldr r3, [r3, #0] 80b6bec: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b6bf0: d013 beq.n 80b6c1a 80b6bf2: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b6bf6: d802 bhi.n 80b6bfe 80b6bf8: 2b80 cmp r3, #128 ; 0x80 80b6bfa: d012 beq.n 80b6c22 80b6bfc: e015 b.n 80b6c2a 80b6bfe: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b6c02: d006 beq.n 80b6c12 80b6c04: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80b6c08: d10f bne.n 80b6c2a { /* Init table modifier value */ case 8192u: S->twidCoefRModifier = 1u; 80b6c0a: 68fb ldr r3, [r7, #12] 80b6c0c: 2201 movs r2, #1 80b6c0e: 609a str r2, [r3, #8] break; 80b6c10: e00e b.n 80b6c30 case 2048u: S->twidCoefRModifier = 4u; 80b6c12: 68fb ldr r3, [r7, #12] 80b6c14: 2204 movs r2, #4 80b6c16: 609a str r2, [r3, #8] break; 80b6c18: e00a b.n 80b6c30 case 512u: S->twidCoefRModifier = 16u; 80b6c1a: 68fb ldr r3, [r7, #12] 80b6c1c: 2210 movs r2, #16 80b6c1e: 609a str r2, [r3, #8] break; 80b6c20: e006 b.n 80b6c30 case 128u: S->twidCoefRModifier = 64u; 80b6c22: 68fb ldr r3, [r7, #12] 80b6c24: 2240 movs r2, #64 ; 0x40 80b6c26: 609a str r2, [r3, #8] break; 80b6c28: e002 b.n 80b6c30 default: /* Reporting argument error if rfftSize is not valid value */ status = ARM_MATH_ARGUMENT_ERROR; 80b6c2a: 23ff movs r3, #255 ; 0xff 80b6c2c: 75fb strb r3, [r7, #23] break; 80b6c2e: bf00 nop } /* Init Complex FFT Instance */ S->pCfft = S_CFFT; 80b6c30: 68fb ldr r3, [r7, #12] 80b6c32: 68ba ldr r2, [r7, #8] 80b6c34: 615a str r2, [r3, #20] if(S->ifftFlagR) 80b6c36: 68fb ldr r3, [r7, #12] 80b6c38: 799b ldrb r3, [r3, #6] 80b6c3a: 2b00 cmp r3, #0 80b6c3c: d008 beq.n 80b6c50 { /* Initializes the CIFFT Module for fftLenreal/2 length */ arm_cfft_radix4_init_f32(S->pCfft, S->fftLenBy2, 1u, 0u); 80b6c3e: 68fb ldr r3, [r7, #12] 80b6c40: 6958 ldr r0, [r3, #20] 80b6c42: 68fb ldr r3, [r7, #12] 80b6c44: 8899 ldrh r1, [r3, #4] 80b6c46: 2300 movs r3, #0 80b6c48: 2201 movs r2, #1 80b6c4a: f7fe f9f9 bl 80b5040 80b6c4e: e007 b.n 80b6c60 } else { /* Initializes the CFFT Module for fftLenreal/2 length */ arm_cfft_radix4_init_f32(S->pCfft, S->fftLenBy2, 0u, 0u); 80b6c50: 68fb ldr r3, [r7, #12] 80b6c52: 6958 ldr r0, [r3, #20] 80b6c54: 68fb ldr r3, [r7, #12] 80b6c56: 8899 ldrh r1, [r3, #4] 80b6c58: 2300 movs r3, #0 80b6c5a: 2200 movs r2, #0 80b6c5c: f7fe f9f0 bl 80b5040 } /* return the status of RFFT Init function */ return (status); 80b6c60: f997 3017 ldrsb.w r3, [r7, #23] } 80b6c64: 4618 mov r0, r3 80b6c66: 3718 adds r7, #24 80b6c68: 46bd mov sp, r7 80b6c6a: bd80 pop {r7, pc} 80b6c6c: 080f3bf8 .word 0x080f3bf8 80b6c70: 080fbbf8 .word 0x080fbbf8 080b6c74 : * @return sin(x). */ float32_t arm_sin_f32( float32_t x) { 80b6c74: b480 push {r7} 80b6c76: b08b sub sp, #44 ; 0x2c 80b6c78: af00 add r7, sp, #0 80b6c7a: 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; 80b6c7e: edd7 7a01 vldr s15, [r7, #4] 80b6c82: ed9f 7a35 vldr s14, [pc, #212] ; 80b6d58 80b6c86: ee67 7a87 vmul.f32 s15, s15, s14 80b6c8a: edc7 7a08 vstr s15, [r7, #32] /* Calculation of floor value of input */ n = (int32_t) in; 80b6c8e: edd7 7a08 vldr s15, [r7, #32] 80b6c92: eefd 7ae7 vcvt.s32.f32 s15, s15 80b6c96: ee17 3a90 vmov r3, s15 80b6c9a: 627b str r3, [r7, #36] ; 0x24 /* Make negative values towards -infinity */ if(x < 0.0f) 80b6c9c: edd7 7a01 vldr s15, [r7, #4] 80b6ca0: eef5 7ac0 vcmpe.f32 s15, #0.0 80b6ca4: eef1 fa10 vmrs APSR_nzcv, fpscr 80b6ca8: d502 bpl.n 80b6cb0 { n--; 80b6caa: 6a7b ldr r3, [r7, #36] ; 0x24 80b6cac: 3b01 subs r3, #1 80b6cae: 627b str r3, [r7, #36] ; 0x24 } /* Map input value to [0 1] */ in = in - (float32_t) n; 80b6cb0: 6a7b ldr r3, [r7, #36] ; 0x24 80b6cb2: ee07 3a90 vmov s15, r3 80b6cb6: eef8 7ae7 vcvt.f32.s32 s15, s15 80b6cba: ed97 7a08 vldr s14, [r7, #32] 80b6cbe: ee77 7a67 vsub.f32 s15, s14, s15 80b6cc2: edc7 7a08 vstr s15, [r7, #32] /* Calculation of index of the table */ findex = (float32_t) FAST_MATH_TABLE_SIZE * in; 80b6cc6: edd7 7a08 vldr s15, [r7, #32] 80b6cca: ed9f 7a24 vldr s14, [pc, #144] ; 80b6d5c 80b6cce: ee67 7a87 vmul.f32 s15, s15, s14 80b6cd2: edc7 7a07 vstr s15, [r7, #28] index = ((uint16_t)findex) & 0x1ff; 80b6cd6: edd7 7a07 vldr s15, [r7, #28] 80b6cda: eefc 7ae7 vcvt.u32.f32 s15, s15 80b6cde: edc7 7a00 vstr s15, [r7] 80b6ce2: 883b ldrh r3, [r7, #0] 80b6ce4: b29b uxth r3, r3 80b6ce6: f3c3 0308 ubfx r3, r3, #0, #9 80b6cea: 837b strh r3, [r7, #26] /* fractional value calculation */ fract = findex - (float32_t) index; 80b6cec: 8b7b ldrh r3, [r7, #26] 80b6cee: ee07 3a90 vmov s15, r3 80b6cf2: eef8 7a67 vcvt.f32.u32 s15, s15 80b6cf6: ed97 7a07 vldr s14, [r7, #28] 80b6cfa: ee77 7a67 vsub.f32 s15, s14, s15 80b6cfe: edc7 7a05 vstr s15, [r7, #20] /* Read two nearest values of input value from the sin table */ a = sinTable_f32[index]; 80b6d02: 8b7b ldrh r3, [r7, #26] 80b6d04: 4a16 ldr r2, [pc, #88] ; (80b6d60 ) 80b6d06: 009b lsls r3, r3, #2 80b6d08: 4413 add r3, r2 80b6d0a: 681b ldr r3, [r3, #0] 80b6d0c: 613b str r3, [r7, #16] b = sinTable_f32[index+1]; 80b6d0e: 8b7b ldrh r3, [r7, #26] 80b6d10: 3301 adds r3, #1 80b6d12: 4a13 ldr r2, [pc, #76] ; (80b6d60 ) 80b6d14: 009b lsls r3, r3, #2 80b6d16: 4413 add r3, r2 80b6d18: 681b ldr r3, [r3, #0] 80b6d1a: 60fb str r3, [r7, #12] /* Linear interpolation process */ sinVal = (1.0f-fract)*a + fract*b; 80b6d1c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80b6d20: edd7 7a05 vldr s15, [r7, #20] 80b6d24: ee37 7a67 vsub.f32 s14, s14, s15 80b6d28: edd7 7a04 vldr s15, [r7, #16] 80b6d2c: ee27 7a27 vmul.f32 s14, s14, s15 80b6d30: edd7 6a05 vldr s13, [r7, #20] 80b6d34: edd7 7a03 vldr s15, [r7, #12] 80b6d38: ee66 7aa7 vmul.f32 s15, s13, s15 80b6d3c: ee77 7a27 vadd.f32 s15, s14, s15 80b6d40: edc7 7a02 vstr s15, [r7, #8] /* Return the output value */ return (sinVal); 80b6d44: 68bb ldr r3, [r7, #8] 80b6d46: ee07 3a90 vmov s15, r3 } 80b6d4a: eeb0 0a67 vmov.f32 s0, s15 80b6d4e: 372c adds r7, #44 ; 0x2c 80b6d50: 46bd mov sp, r7 80b6d52: f85d 7b04 ldr.w r7, [sp], #4 80b6d56: 4770 bx lr 80b6d58: 3e22f983 .word 0x3e22f983 80b6d5c: 44000000 .word 0x44000000 80b6d60: 0817c788 .word 0x0817c788 080b6d64 : * 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) { 80b6d64: b580 push {r7, lr} 80b6d66: af00 add r7, sp, #0 /* Configure Instruction cache through ART accelerator */ #if (ART_ACCLERATOR_ENABLE != 0) __HAL_FLASH_ART_ENABLE(); 80b6d68: 4a0b ldr r2, [pc, #44] ; (80b6d98 ) 80b6d6a: 4b0b ldr r3, [pc, #44] ; (80b6d98 ) 80b6d6c: 681b ldr r3, [r3, #0] 80b6d6e: f443 7300 orr.w r3, r3, #512 ; 0x200 80b6d72: 6013 str r3, [r2, #0] #endif /* ART_ACCLERATOR_ENABLE */ /* Configure Flash prefetch */ #if (PREFETCH_ENABLE != 0U) __HAL_FLASH_PREFETCH_BUFFER_ENABLE(); 80b6d74: 4a08 ldr r2, [pc, #32] ; (80b6d98 ) 80b6d76: 4b08 ldr r3, [pc, #32] ; (80b6d98 ) 80b6d78: 681b ldr r3, [r3, #0] 80b6d7a: f443 7380 orr.w r3, r3, #256 ; 0x100 80b6d7e: 6013 str r3, [r2, #0] #endif /* PREFETCH_ENABLE */ /* Set Interrupt Group Priority */ HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); 80b6d80: 2003 movs r0, #3 80b6d82: f000 ff9b bl 80b7cbc /* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */ HAL_InitTick(TICK_INT_PRIORITY); 80b6d86: 2000 movs r0, #0 80b6d88: f000 f808 bl 80b6d9c /* Init the low level hardware */ HAL_MspInit(); 80b6d8c: f7fb f81a bl 80b1dc4 /* Return function status */ return HAL_OK; 80b6d90: 2300 movs r3, #0 } 80b6d92: 4618 mov r0, r3 80b6d94: bd80 pop {r7, pc} 80b6d96: bf00 nop 80b6d98: 40023c00 .word 0x40023c00 080b6d9c : * implementation in user file. * @param TickPriority Tick interrupt priority. * @retval HAL status */ __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) { 80b6d9c: b580 push {r7, lr} 80b6d9e: b082 sub sp, #8 80b6da0: af00 add r7, sp, #0 80b6da2: 6078 str r0, [r7, #4] /* Configure the SysTick to have interrupt in 1ms time basis*/ if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U) 80b6da4: 4b12 ldr r3, [pc, #72] ; (80b6df0 ) 80b6da6: 681a ldr r2, [r3, #0] 80b6da8: 4b12 ldr r3, [pc, #72] ; (80b6df4 ) 80b6daa: 781b ldrb r3, [r3, #0] 80b6dac: 4619 mov r1, r3 80b6dae: f44f 737a mov.w r3, #1000 ; 0x3e8 80b6db2: fbb3 f3f1 udiv r3, r3, r1 80b6db6: fbb2 f3f3 udiv r3, r2, r3 80b6dba: 4618 mov r0, r3 80b6dbc: f000 ffc5 bl 80b7d4a 80b6dc0: 4603 mov r3, r0 80b6dc2: 2b00 cmp r3, #0 80b6dc4: d001 beq.n 80b6dca { return HAL_ERROR; 80b6dc6: 2301 movs r3, #1 80b6dc8: e00e b.n 80b6de8 } /* Configure the SysTick IRQ priority */ if (TickPriority < (1UL << __NVIC_PRIO_BITS)) 80b6dca: 687b ldr r3, [r7, #4] 80b6dcc: 2b0f cmp r3, #15 80b6dce: d80a bhi.n 80b6de6 { HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U); 80b6dd0: 2200 movs r2, #0 80b6dd2: 6879 ldr r1, [r7, #4] 80b6dd4: f04f 30ff mov.w r0, #4294967295 80b6dd8: f000 ff7b bl 80b7cd2 uwTickPrio = TickPriority; 80b6ddc: 4a06 ldr r2, [pc, #24] ; (80b6df8 ) 80b6dde: 687b ldr r3, [r7, #4] 80b6de0: 6013 str r3, [r2, #0] { return HAL_ERROR; } /* Return function status */ return HAL_OK; 80b6de2: 2300 movs r3, #0 80b6de4: e000 b.n 80b6de8 return HAL_ERROR; 80b6de6: 2301 movs r3, #1 } 80b6de8: 4618 mov r0, r3 80b6dea: 3708 adds r7, #8 80b6dec: 46bd mov sp, r7 80b6dee: bd80 pop {r7, pc} 80b6df0: 200209bc .word 0x200209bc 80b6df4: 200209e4 .word 0x200209e4 80b6df8: 200209e0 .word 0x200209e0 080b6dfc : * @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) { 80b6dfc: b480 push {r7} 80b6dfe: af00 add r7, sp, #0 uwTick += uwTickFreq; 80b6e00: 4b06 ldr r3, [pc, #24] ; (80b6e1c ) 80b6e02: 781b ldrb r3, [r3, #0] 80b6e04: 461a mov r2, r3 80b6e06: 4b06 ldr r3, [pc, #24] ; (80b6e20 ) 80b6e08: 681b ldr r3, [r3, #0] 80b6e0a: 4413 add r3, r2 80b6e0c: 4a04 ldr r2, [pc, #16] ; (80b6e20 ) 80b6e0e: 6013 str r3, [r2, #0] } 80b6e10: bf00 nop 80b6e12: 46bd mov sp, r7 80b6e14: f85d 7b04 ldr.w r7, [sp], #4 80b6e18: 4770 bx lr 80b6e1a: bf00 nop 80b6e1c: 200209e4 .word 0x200209e4 80b6e20: 20068ae8 .word 0x20068ae8 080b6e24 : * @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) { 80b6e24: b480 push {r7} 80b6e26: af00 add r7, sp, #0 return uwTick; 80b6e28: 4b03 ldr r3, [pc, #12] ; (80b6e38 ) 80b6e2a: 681b ldr r3, [r3, #0] } 80b6e2c: 4618 mov r0, r3 80b6e2e: 46bd mov sp, r7 80b6e30: f85d 7b04 ldr.w r7, [sp], #4 80b6e34: 4770 bx lr 80b6e36: bf00 nop 80b6e38: 20068ae8 .word 0x20068ae8 080b6e3c : * implementations in user file. * @param Delay specifies the delay time length, in milliseconds. * @retval None */ __weak void HAL_Delay(uint32_t Delay) { 80b6e3c: b580 push {r7, lr} 80b6e3e: b084 sub sp, #16 80b6e40: af00 add r7, sp, #0 80b6e42: 6078 str r0, [r7, #4] uint32_t tickstart = HAL_GetTick(); 80b6e44: f7ff ffee bl 80b6e24 80b6e48: 60b8 str r0, [r7, #8] uint32_t wait = Delay; 80b6e4a: 687b ldr r3, [r7, #4] 80b6e4c: 60fb str r3, [r7, #12] /* Add a freq to guarantee minimum wait */ if (wait < HAL_MAX_DELAY) 80b6e4e: 68fb ldr r3, [r7, #12] 80b6e50: f1b3 3fff cmp.w r3, #4294967295 80b6e54: d005 beq.n 80b6e62 { wait += (uint32_t)(uwTickFreq); 80b6e56: 4b09 ldr r3, [pc, #36] ; (80b6e7c ) 80b6e58: 781b ldrb r3, [r3, #0] 80b6e5a: 461a mov r2, r3 80b6e5c: 68fb ldr r3, [r7, #12] 80b6e5e: 4413 add r3, r2 80b6e60: 60fb str r3, [r7, #12] } while ((HAL_GetTick() - tickstart) < wait) 80b6e62: bf00 nop 80b6e64: f7ff ffde bl 80b6e24 80b6e68: 4602 mov r2, r0 80b6e6a: 68bb ldr r3, [r7, #8] 80b6e6c: 1ad2 subs r2, r2, r3 80b6e6e: 68fb ldr r3, [r7, #12] 80b6e70: 429a cmp r2, r3 80b6e72: d3f7 bcc.n 80b6e64 { } } 80b6e74: bf00 nop 80b6e76: 3710 adds r7, #16 80b6e78: 46bd mov sp, r7 80b6e7a: bd80 pop {r7, pc} 80b6e7c: 200209e4 .word 0x200209e4 080b6e80 : * @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) { 80b6e80: b580 push {r7, lr} 80b6e82: b084 sub sp, #16 80b6e84: af00 add r7, sp, #0 80b6e86: 6078 str r0, [r7, #4] HAL_StatusTypeDef tmp_hal_status = HAL_OK; 80b6e88: 2300 movs r3, #0 80b6e8a: 73fb strb r3, [r7, #15] /* Check ADC handle */ if(hadc == NULL) 80b6e8c: 687b ldr r3, [r7, #4] 80b6e8e: 2b00 cmp r3, #0 80b6e90: d101 bne.n 80b6e96 { return HAL_ERROR; 80b6e92: 2301 movs r3, #1 80b6e94: e031 b.n 80b6efa if(hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) { assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); } if(hadc->State == HAL_ADC_STATE_RESET) 80b6e96: 687b ldr r3, [r7, #4] 80b6e98: 6c1b ldr r3, [r3, #64] ; 0x40 80b6e9a: 2b00 cmp r3, #0 80b6e9c: d109 bne.n 80b6eb2 /* Init the low level hardware */ hadc->MspInitCallback(hadc); #else /* Init the low level hardware */ HAL_ADC_MspInit(hadc); 80b6e9e: 6878 ldr r0, [r7, #4] 80b6ea0: f769 fe64 bl 8020b6c #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ /* Initialize ADC error code */ ADC_CLEAR_ERRORCODE(hadc); 80b6ea4: 687b ldr r3, [r7, #4] 80b6ea6: 2200 movs r2, #0 80b6ea8: 645a str r2, [r3, #68] ; 0x44 /* Allocate lock resource and initialize it */ hadc->Lock = HAL_UNLOCKED; 80b6eaa: 687b ldr r3, [r7, #4] 80b6eac: 2200 movs r2, #0 80b6eae: 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)) 80b6eb2: 687b ldr r3, [r7, #4] 80b6eb4: 6c1b ldr r3, [r3, #64] ; 0x40 80b6eb6: f003 0310 and.w r3, r3, #16 80b6eba: 2b00 cmp r3, #0 80b6ebc: d116 bne.n 80b6eec { /* Set ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b6ebe: 687b ldr r3, [r7, #4] 80b6ec0: 6c1a ldr r2, [r3, #64] ; 0x40 80b6ec2: 4b10 ldr r3, [pc, #64] ; (80b6f04 ) 80b6ec4: 4013 ands r3, r2 80b6ec6: f043 0202 orr.w r2, r3, #2 80b6eca: 687b ldr r3, [r7, #4] 80b6ecc: 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); 80b6ece: 6878 ldr r0, [r7, #4] 80b6ed0: f000 fc74 bl 80b77bc /* Set ADC error code to none */ ADC_CLEAR_ERRORCODE(hadc); 80b6ed4: 687b ldr r3, [r7, #4] 80b6ed6: 2200 movs r2, #0 80b6ed8: 645a str r2, [r3, #68] ; 0x44 /* Set the ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b6eda: 687b ldr r3, [r7, #4] 80b6edc: 6c1b ldr r3, [r3, #64] ; 0x40 80b6ede: f023 0303 bic.w r3, r3, #3 80b6ee2: f043 0201 orr.w r2, r3, #1 80b6ee6: 687b ldr r3, [r7, #4] 80b6ee8: 641a str r2, [r3, #64] ; 0x40 80b6eea: e001 b.n 80b6ef0 HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_READY); } else { tmp_hal_status = HAL_ERROR; 80b6eec: 2301 movs r3, #1 80b6eee: 73fb strb r3, [r7, #15] } /* Release Lock */ __HAL_UNLOCK(hadc); 80b6ef0: 687b ldr r3, [r7, #4] 80b6ef2: 2200 movs r2, #0 80b6ef4: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return tmp_hal_status; 80b6ef8: 7bfb ldrb r3, [r7, #15] } 80b6efa: 4618 mov r0, r3 80b6efc: 3710 adds r7, #16 80b6efe: 46bd mov sp, r7 80b6f00: bd80 pop {r7, pc} 80b6f02: bf00 nop 80b6f04: ffffeefd .word 0xffffeefd 080b6f08 : * @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) { 80b6f08: b480 push {r7} 80b6f0a: b085 sub sp, #20 80b6f0c: af00 add r7, sp, #0 80b6f0e: 6078 str r0, [r7, #4] __IO uint32_t counter = 0; 80b6f10: 2300 movs r3, #0 80b6f12: 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); 80b6f14: 687b ldr r3, [r7, #4] 80b6f16: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b6f1a: 2b01 cmp r3, #1 80b6f1c: d101 bne.n 80b6f22 80b6f1e: 2302 movs r3, #2 80b6f20: e0ad b.n 80b707e 80b6f22: 687b ldr r3, [r7, #4] 80b6f24: 2201 movs r2, #1 80b6f26: 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) 80b6f2a: 687b ldr r3, [r7, #4] 80b6f2c: 681b ldr r3, [r3, #0] 80b6f2e: 689b ldr r3, [r3, #8] 80b6f30: f003 0301 and.w r3, r3, #1 80b6f34: 2b01 cmp r3, #1 80b6f36: d018 beq.n 80b6f6a { /* Enable the Peripheral */ __HAL_ADC_ENABLE(hadc); 80b6f38: 687b ldr r3, [r7, #4] 80b6f3a: 681b ldr r3, [r3, #0] 80b6f3c: 687a ldr r2, [r7, #4] 80b6f3e: 6812 ldr r2, [r2, #0] 80b6f40: 6892 ldr r2, [r2, #8] 80b6f42: f042 0201 orr.w r2, r2, #1 80b6f46: 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)); 80b6f48: 4b50 ldr r3, [pc, #320] ; (80b708c ) 80b6f4a: 681b ldr r3, [r3, #0] 80b6f4c: 4a50 ldr r2, [pc, #320] ; (80b7090 ) 80b6f4e: fba2 2303 umull r2, r3, r2, r3 80b6f52: 0c9a lsrs r2, r3, #18 80b6f54: 4613 mov r3, r2 80b6f56: 005b lsls r3, r3, #1 80b6f58: 4413 add r3, r2 80b6f5a: 60fb str r3, [r7, #12] while(counter != 0) 80b6f5c: e002 b.n 80b6f64 { counter--; 80b6f5e: 68fb ldr r3, [r7, #12] 80b6f60: 3b01 subs r3, #1 80b6f62: 60fb str r3, [r7, #12] while(counter != 0) 80b6f64: 68fb ldr r3, [r7, #12] 80b6f66: 2b00 cmp r3, #0 80b6f68: d1f9 bne.n 80b6f5e } } /* Start conversion if ADC is effectively enabled */ if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 80b6f6a: 687b ldr r3, [r7, #4] 80b6f6c: 681b ldr r3, [r3, #0] 80b6f6e: 689b ldr r3, [r3, #8] 80b6f70: f003 0301 and.w r3, r3, #1 80b6f74: 2b01 cmp r3, #1 80b6f76: d175 bne.n 80b7064 { /* 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, 80b6f78: 687b ldr r3, [r7, #4] 80b6f7a: 6c1a ldr r2, [r3, #64] ; 0x40 80b6f7c: 4b45 ldr r3, [pc, #276] ; (80b7094 ) 80b6f7e: 4013 ands r3, r2 80b6f80: f443 7280 orr.w r2, r3, #256 ; 0x100 80b6f84: 687b ldr r3, [r7, #4] 80b6f86: 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) 80b6f88: 687b ldr r3, [r7, #4] 80b6f8a: 681b ldr r3, [r3, #0] 80b6f8c: 685b ldr r3, [r3, #4] 80b6f8e: f403 6380 and.w r3, r3, #1024 ; 0x400 80b6f92: 2b00 cmp r3, #0 80b6f94: d007 beq.n 80b6fa6 { ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 80b6f96: 687b ldr r3, [r7, #4] 80b6f98: 6c1b ldr r3, [r3, #64] ; 0x40 80b6f9a: f423 5340 bic.w r3, r3, #12288 ; 0x3000 80b6f9e: f443 5280 orr.w r2, r3, #4096 ; 0x1000 80b6fa2: 687b ldr r3, [r7, #4] 80b6fa4: 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)) 80b6fa6: 687b ldr r3, [r7, #4] 80b6fa8: 6c1b ldr r3, [r3, #64] ; 0x40 80b6faa: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b6fae: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b6fb2: d106 bne.n 80b6fc2 { /* Reset ADC error code fields related to conversions on group regular */ CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 80b6fb4: 687b ldr r3, [r7, #4] 80b6fb6: 6c5b ldr r3, [r3, #68] ; 0x44 80b6fb8: f023 0206 bic.w r2, r3, #6 80b6fbc: 687b ldr r3, [r7, #4] 80b6fbe: 645a str r2, [r3, #68] ; 0x44 80b6fc0: e002 b.n 80b6fc8 } else { /* Reset ADC all error code fields */ ADC_CLEAR_ERRORCODE(hadc); 80b6fc2: 687b ldr r3, [r7, #4] 80b6fc4: 2200 movs r2, #0 80b6fc6: 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); 80b6fc8: 687b ldr r3, [r7, #4] 80b6fca: 2200 movs r2, #0 80b6fcc: 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); 80b6fd0: 687b ldr r3, [r7, #4] 80b6fd2: 681b ldr r3, [r3, #0] 80b6fd4: f06f 0222 mvn.w r2, #34 ; 0x22 80b6fd8: 601a str r2, [r3, #0] /* Check if Multimode enabled */ if(HAL_IS_BIT_CLR(ADC->CCR, ADC_CCR_MULTI)) 80b6fda: 4b2f ldr r3, [pc, #188] ; (80b7098 ) 80b6fdc: 685b ldr r3, [r3, #4] 80b6fde: f003 031f and.w r3, r3, #31 80b6fe2: 2b00 cmp r3, #0 80b6fe4: d10f bne.n 80b7006 { /* if no external trigger present enable software conversion of regular channels */ if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 80b6fe6: 687b ldr r3, [r7, #4] 80b6fe8: 681b ldr r3, [r3, #0] 80b6fea: 689b ldr r3, [r3, #8] 80b6fec: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b6ff0: 2b00 cmp r3, #0 80b6ff2: d143 bne.n 80b707c { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b6ff4: 687b ldr r3, [r7, #4] 80b6ff6: 681b ldr r3, [r3, #0] 80b6ff8: 687a ldr r2, [r7, #4] 80b6ffa: 6812 ldr r2, [r2, #0] 80b6ffc: 6892 ldr r2, [r2, #8] 80b6ffe: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b7002: 609a str r2, [r3, #8] 80b7004: e03a b.n 80b707c } } 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)) 80b7006: 687b ldr r3, [r7, #4] 80b7008: 681b ldr r3, [r3, #0] 80b700a: 4a24 ldr r2, [pc, #144] ; (80b709c ) 80b700c: 4293 cmp r3, r2 80b700e: d10e bne.n 80b702e 80b7010: 687b ldr r3, [r7, #4] 80b7012: 681b ldr r3, [r3, #0] 80b7014: 689b ldr r3, [r3, #8] 80b7016: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b701a: 2b00 cmp r3, #0 80b701c: d107 bne.n 80b702e { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b701e: 687b ldr r3, [r7, #4] 80b7020: 681b ldr r3, [r3, #0] 80b7022: 687a ldr r2, [r7, #4] 80b7024: 6812 ldr r2, [r2, #0] 80b7026: 6892 ldr r2, [r2, #8] 80b7028: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b702c: 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) ) 80b702e: 4b1a ldr r3, [pc, #104] ; (80b7098 ) 80b7030: 685b ldr r3, [r3, #4] 80b7032: f003 0310 and.w r3, r3, #16 80b7036: 2b00 cmp r3, #0 80b7038: d120 bne.n 80b707c { /* 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)) 80b703a: 687b ldr r3, [r7, #4] 80b703c: 681b ldr r3, [r3, #0] 80b703e: 4a18 ldr r2, [pc, #96] ; (80b70a0 ) 80b7040: 4293 cmp r3, r2 80b7042: d11b bne.n 80b707c 80b7044: 687b ldr r3, [r7, #4] 80b7046: 681b ldr r3, [r3, #0] 80b7048: 689b ldr r3, [r3, #8] 80b704a: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b704e: 2b00 cmp r3, #0 80b7050: d114 bne.n 80b707c { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b7052: 687b ldr r3, [r7, #4] 80b7054: 681b ldr r3, [r3, #0] 80b7056: 687a ldr r2, [r7, #4] 80b7058: 6812 ldr r2, [r2, #0] 80b705a: 6892 ldr r2, [r2, #8] 80b705c: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b7060: 609a str r2, [r3, #8] 80b7062: e00b b.n 80b707c } } else { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 80b7064: 687b ldr r3, [r7, #4] 80b7066: 6c1b ldr r3, [r3, #64] ; 0x40 80b7068: f043 0210 orr.w r2, r3, #16 80b706c: 687b ldr r3, [r7, #4] 80b706e: 641a str r2, [r3, #64] ; 0x40 /* Set ADC error code to ADC IP internal error */ SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 80b7070: 687b ldr r3, [r7, #4] 80b7072: 6c5b ldr r3, [r3, #68] ; 0x44 80b7074: f043 0201 orr.w r2, r3, #1 80b7078: 687b ldr r3, [r7, #4] 80b707a: 645a str r2, [r3, #68] ; 0x44 } /* Return function status */ return HAL_OK; 80b707c: 2300 movs r3, #0 } 80b707e: 4618 mov r0, r3 80b7080: 3714 adds r7, #20 80b7082: 46bd mov sp, r7 80b7084: f85d 7b04 ldr.w r7, [sp], #4 80b7088: 4770 bx lr 80b708a: bf00 nop 80b708c: 200209bc .word 0x200209bc 80b7090: 431bde83 .word 0x431bde83 80b7094: fffff8fe .word 0xfffff8fe 80b7098: 40012300 .word 0x40012300 80b709c: 40012000 .word 0x40012000 80b70a0: 40012200 .word 0x40012200 080b70a4 : * the configuration information for the specified ADC. * * @retval HAL status. */ HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc) { 80b70a4: b480 push {r7} 80b70a6: b083 sub sp, #12 80b70a8: af00 add r7, sp, #0 80b70aa: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); /* Process locked */ __HAL_LOCK(hadc); 80b70ac: 687b ldr r3, [r7, #4] 80b70ae: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b70b2: 2b01 cmp r3, #1 80b70b4: d101 bne.n 80b70ba 80b70b6: 2302 movs r3, #2 80b70b8: e01f b.n 80b70fa 80b70ba: 687b ldr r3, [r7, #4] 80b70bc: 2201 movs r2, #1 80b70be: 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); 80b70c2: 687b ldr r3, [r7, #4] 80b70c4: 681b ldr r3, [r3, #0] 80b70c6: 687a ldr r2, [r7, #4] 80b70c8: 6812 ldr r2, [r2, #0] 80b70ca: 6892 ldr r2, [r2, #8] 80b70cc: f022 0201 bic.w r2, r2, #1 80b70d0: 609a str r2, [r3, #8] /* Check if ADC is effectively disabled */ if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 80b70d2: 687b ldr r3, [r7, #4] 80b70d4: 681b ldr r3, [r3, #0] 80b70d6: 689b ldr r3, [r3, #8] 80b70d8: f003 0301 and.w r3, r3, #1 80b70dc: 2b00 cmp r3, #0 80b70de: d107 bne.n 80b70f0 { /* Set ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b70e0: 687b ldr r3, [r7, #4] 80b70e2: 6c1a ldr r2, [r3, #64] ; 0x40 80b70e4: 4b08 ldr r3, [pc, #32] ; (80b7108 ) 80b70e6: 4013 ands r3, r2 80b70e8: f043 0201 orr.w r2, r3, #1 80b70ec: 687b ldr r3, [r7, #4] 80b70ee: 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); 80b70f0: 687b ldr r3, [r7, #4] 80b70f2: 2200 movs r2, #0 80b70f4: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return HAL_OK; 80b70f8: 2300 movs r3, #0 } 80b70fa: 4618 mov r0, r3 80b70fc: 370c adds r7, #12 80b70fe: 46bd mov sp, r7 80b7100: f85d 7b04 ldr.w r7, [sp], #4 80b7104: 4770 bx lr 80b7106: bf00 nop 80b7108: ffffeefe .word 0xffffeefe 080b710c : * 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) { 80b710c: b580 push {r7, lr} 80b710e: b084 sub sp, #16 80b7110: af00 add r7, sp, #0 80b7112: 6078 str r0, [r7, #4] 80b7114: 6039 str r1, [r7, #0] uint32_t tickstart = 0; 80b7116: 2300 movs r3, #0 80b7118: 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) && 80b711a: 687b ldr r3, [r7, #4] 80b711c: 681b ldr r3, [r3, #0] 80b711e: 689b ldr r3, [r3, #8] 80b7120: f403 6380 and.w r3, r3, #1024 ; 0x400 80b7124: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b7128: d113 bne.n 80b7152 HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA) ) 80b712a: 687b ldr r3, [r7, #4] 80b712c: 681b ldr r3, [r3, #0] 80b712e: 689b ldr r3, [r3, #8] 80b7130: f403 7380 and.w r3, r3, #256 ; 0x100 if (HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_EOCS) && 80b7134: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b7138: d10b bne.n 80b7152 { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 80b713a: 687b ldr r3, [r7, #4] 80b713c: 6c1b ldr r3, [r3, #64] ; 0x40 80b713e: f043 0220 orr.w r2, r3, #32 80b7142: 687b ldr r3, [r7, #4] 80b7144: 641a str r2, [r3, #64] ; 0x40 /* Process unlocked */ __HAL_UNLOCK(hadc); 80b7146: 687b ldr r3, [r7, #4] 80b7148: 2200 movs r2, #0 80b714a: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_ERROR; 80b714e: 2301 movs r3, #1 80b7150: e063 b.n 80b721a } /* Get tick */ tickstart = HAL_GetTick(); 80b7152: f7ff fe67 bl 80b6e24 80b7156: 60f8 str r0, [r7, #12] /* Check End of conversion flag */ while(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 80b7158: e021 b.n 80b719e { /* Check if timeout is disabled (set to infinite wait) */ if(Timeout != HAL_MAX_DELAY) 80b715a: 683b ldr r3, [r7, #0] 80b715c: f1b3 3fff cmp.w r3, #4294967295 80b7160: d01d beq.n 80b719e { if((Timeout == 0) || ((HAL_GetTick() - tickstart ) > Timeout)) 80b7162: 683b ldr r3, [r7, #0] 80b7164: 2b00 cmp r3, #0 80b7166: d007 beq.n 80b7178 80b7168: f7ff fe5c bl 80b6e24 80b716c: 4602 mov r2, r0 80b716e: 68fb ldr r3, [r7, #12] 80b7170: 1ad2 subs r2, r2, r3 80b7172: 683b ldr r3, [r7, #0] 80b7174: 429a cmp r2, r3 80b7176: d912 bls.n 80b719e { /* New check to avoid false timeout detection in case of preemption */ if(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 80b7178: 687b ldr r3, [r7, #4] 80b717a: 681b ldr r3, [r3, #0] 80b717c: 681b ldr r3, [r3, #0] 80b717e: f003 0302 and.w r3, r3, #2 80b7182: 2b02 cmp r3, #2 80b7184: d00b beq.n 80b719e { /* Update ADC state machine to timeout */ SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); 80b7186: 687b ldr r3, [r7, #4] 80b7188: 6c1b ldr r3, [r3, #64] ; 0x40 80b718a: f043 0204 orr.w r2, r3, #4 80b718e: 687b ldr r3, [r7, #4] 80b7190: 641a str r2, [r3, #64] ; 0x40 /* Process unlocked */ __HAL_UNLOCK(hadc); 80b7192: 687b ldr r3, [r7, #4] 80b7194: 2200 movs r2, #0 80b7196: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_TIMEOUT; 80b719a: 2303 movs r3, #3 80b719c: e03d b.n 80b721a while(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 80b719e: 687b ldr r3, [r7, #4] 80b71a0: 681b ldr r3, [r3, #0] 80b71a2: 681b ldr r3, [r3, #0] 80b71a4: f003 0302 and.w r3, r3, #2 80b71a8: 2b02 cmp r3, #2 80b71aa: d1d6 bne.n 80b715a } } } /* Clear regular group conversion flag */ __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_STRT | ADC_FLAG_EOC); 80b71ac: 687b ldr r3, [r7, #4] 80b71ae: 681b ldr r3, [r3, #0] 80b71b0: f06f 0212 mvn.w r2, #18 80b71b4: 601a str r2, [r3, #0] /* Update ADC state machine */ SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 80b71b6: 687b ldr r3, [r7, #4] 80b71b8: 6c1b ldr r3, [r3, #64] ; 0x40 80b71ba: f443 7200 orr.w r2, r3, #512 ; 0x200 80b71be: 687b ldr r3, [r7, #4] 80b71c0: 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) && 80b71c2: 687b ldr r3, [r7, #4] 80b71c4: 681b ldr r3, [r3, #0] 80b71c6: 689b ldr r3, [r3, #8] 80b71c8: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b71cc: 2b00 cmp r3, #0 80b71ce: d123 bne.n 80b7218 (hadc->Init.ContinuousConvMode == DISABLE) && 80b71d0: 687b ldr r3, [r7, #4] 80b71d2: 699b ldr r3, [r3, #24] if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 80b71d4: 2b00 cmp r3, #0 80b71d6: d11f bne.n 80b7218 (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b71d8: 687b ldr r3, [r7, #4] 80b71da: 681b ldr r3, [r3, #0] 80b71dc: 6adb ldr r3, [r3, #44] ; 0x2c 80b71de: f403 0370 and.w r3, r3, #15728640 ; 0xf00000 (hadc->Init.ContinuousConvMode == DISABLE) && 80b71e2: 2b00 cmp r3, #0 80b71e4: d006 beq.n 80b71f4 HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) ) 80b71e6: 687b ldr r3, [r7, #4] 80b71e8: 681b ldr r3, [r3, #0] 80b71ea: 689b ldr r3, [r3, #8] 80b71ec: f403 6380 and.w r3, r3, #1024 ; 0x400 (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b71f0: 2b00 cmp r3, #0 80b71f2: d111 bne.n 80b7218 { /* Set ADC state */ CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 80b71f4: 687b ldr r3, [r7, #4] 80b71f6: 6c1b ldr r3, [r3, #64] ; 0x40 80b71f8: f423 7280 bic.w r2, r3, #256 ; 0x100 80b71fc: 687b ldr r3, [r7, #4] 80b71fe: 641a str r2, [r3, #64] ; 0x40 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 80b7200: 687b ldr r3, [r7, #4] 80b7202: 6c1b ldr r3, [r3, #64] ; 0x40 80b7204: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b7208: 2b00 cmp r3, #0 80b720a: d105 bne.n 80b7218 { SET_BIT(hadc->State, HAL_ADC_STATE_READY); 80b720c: 687b ldr r3, [r7, #4] 80b720e: 6c1b ldr r3, [r3, #64] ; 0x40 80b7210: f043 0201 orr.w r2, r3, #1 80b7214: 687b ldr r3, [r7, #4] 80b7216: 641a str r2, [r3, #64] ; 0x40 } } /* Return ADC state */ return HAL_OK; 80b7218: 2300 movs r3, #0 } 80b721a: 4618 mov r0, r3 80b721c: 3710 adds r7, #16 80b721e: 46bd mov sp, r7 80b7220: bd80 pop {r7, pc} ... 080b7224 : * @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) { 80b7224: b580 push {r7, lr} 80b7226: b086 sub sp, #24 80b7228: af00 add r7, sp, #0 80b722a: 60f8 str r0, [r7, #12] 80b722c: 60b9 str r1, [r7, #8] 80b722e: 607a str r2, [r7, #4] __IO uint32_t counter = 0; 80b7230: 2300 movs r3, #0 80b7232: 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); 80b7234: 68fb ldr r3, [r7, #12] 80b7236: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b723a: 2b01 cmp r3, #1 80b723c: d101 bne.n 80b7242 80b723e: 2302 movs r3, #2 80b7240: e0d4 b.n 80b73ec 80b7242: 68fb ldr r3, [r7, #12] 80b7244: 2201 movs r2, #1 80b7246: 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) 80b724a: 68fb ldr r3, [r7, #12] 80b724c: 681b ldr r3, [r3, #0] 80b724e: 689b ldr r3, [r3, #8] 80b7250: f003 0301 and.w r3, r3, #1 80b7254: 2b01 cmp r3, #1 80b7256: d018 beq.n 80b728a { /* Enable the Peripheral */ __HAL_ADC_ENABLE(hadc); 80b7258: 68fb ldr r3, [r7, #12] 80b725a: 681b ldr r3, [r3, #0] 80b725c: 68fa ldr r2, [r7, #12] 80b725e: 6812 ldr r2, [r2, #0] 80b7260: 6892 ldr r2, [r2, #8] 80b7262: f042 0201 orr.w r2, r2, #1 80b7266: 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)); 80b7268: 4b62 ldr r3, [pc, #392] ; (80b73f4 ) 80b726a: 681b ldr r3, [r3, #0] 80b726c: 4a62 ldr r2, [pc, #392] ; (80b73f8 ) 80b726e: fba2 2303 umull r2, r3, r2, r3 80b7272: 0c9a lsrs r2, r3, #18 80b7274: 4613 mov r3, r2 80b7276: 005b lsls r3, r3, #1 80b7278: 4413 add r3, r2 80b727a: 617b str r3, [r7, #20] while(counter != 0) 80b727c: e002 b.n 80b7284 { counter--; 80b727e: 697b ldr r3, [r7, #20] 80b7280: 3b01 subs r3, #1 80b7282: 617b str r3, [r7, #20] while(counter != 0) 80b7284: 697b ldr r3, [r7, #20] 80b7286: 2b00 cmp r3, #0 80b7288: d1f9 bne.n 80b727e } } /* Start conversion if ADC is effectively enabled */ if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 80b728a: 68fb ldr r3, [r7, #12] 80b728c: 681b ldr r3, [r3, #0] 80b728e: 689b ldr r3, [r3, #8] 80b7290: f003 0301 and.w r3, r3, #1 80b7294: 2b01 cmp r3, #1 80b7296: f040 809c bne.w 80b73d2 { /* 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, 80b729a: 68fb ldr r3, [r7, #12] 80b729c: 6c1a ldr r2, [r3, #64] ; 0x40 80b729e: 4b57 ldr r3, [pc, #348] ; (80b73fc ) 80b72a0: 4013 ands r3, r2 80b72a2: f443 7280 orr.w r2, r3, #256 ; 0x100 80b72a6: 68fb ldr r3, [r7, #12] 80b72a8: 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) 80b72aa: 68fb ldr r3, [r7, #12] 80b72ac: 681b ldr r3, [r3, #0] 80b72ae: 685b ldr r3, [r3, #4] 80b72b0: f403 6380 and.w r3, r3, #1024 ; 0x400 80b72b4: 2b00 cmp r3, #0 80b72b6: d007 beq.n 80b72c8 { ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 80b72b8: 68fb ldr r3, [r7, #12] 80b72ba: 6c1b ldr r3, [r3, #64] ; 0x40 80b72bc: f423 5340 bic.w r3, r3, #12288 ; 0x3000 80b72c0: f443 5280 orr.w r2, r3, #4096 ; 0x1000 80b72c4: 68fb ldr r3, [r7, #12] 80b72c6: 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)) 80b72c8: 68fb ldr r3, [r7, #12] 80b72ca: 6c1b ldr r3, [r3, #64] ; 0x40 80b72cc: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b72d0: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b72d4: d106 bne.n 80b72e4 { /* Reset ADC error code fields related to conversions on group regular */ CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 80b72d6: 68fb ldr r3, [r7, #12] 80b72d8: 6c5b ldr r3, [r3, #68] ; 0x44 80b72da: f023 0206 bic.w r2, r3, #6 80b72de: 68fb ldr r3, [r7, #12] 80b72e0: 645a str r2, [r3, #68] ; 0x44 80b72e2: e002 b.n 80b72ea } else { /* Reset ADC all error code fields */ ADC_CLEAR_ERRORCODE(hadc); 80b72e4: 68fb ldr r3, [r7, #12] 80b72e6: 2200 movs r2, #0 80b72e8: 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); 80b72ea: 68fb ldr r3, [r7, #12] 80b72ec: 2200 movs r2, #0 80b72ee: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Set the DMA transfer complete callback */ hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; 80b72f2: 68fb ldr r3, [r7, #12] 80b72f4: 6b9b ldr r3, [r3, #56] ; 0x38 80b72f6: 4a42 ldr r2, [pc, #264] ; (80b7400 ) 80b72f8: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA half transfer complete callback */ hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; 80b72fa: 68fb ldr r3, [r7, #12] 80b72fc: 6b9b ldr r3, [r3, #56] ; 0x38 80b72fe: 4a41 ldr r2, [pc, #260] ; (80b7404 ) 80b7300: 641a str r2, [r3, #64] ; 0x40 /* Set the DMA error callback */ hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; 80b7302: 68fb ldr r3, [r7, #12] 80b7304: 6b9b ldr r3, [r3, #56] ; 0x38 80b7306: 4a40 ldr r2, [pc, #256] ; (80b7408 ) 80b7308: 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); 80b730a: 68fb ldr r3, [r7, #12] 80b730c: 681b ldr r3, [r3, #0] 80b730e: f06f 0222 mvn.w r2, #34 ; 0x22 80b7312: 601a str r2, [r3, #0] /* Enable ADC overrun interrupt */ __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); 80b7314: 68fb ldr r3, [r7, #12] 80b7316: 681b ldr r3, [r3, #0] 80b7318: 68fa ldr r2, [r7, #12] 80b731a: 6812 ldr r2, [r2, #0] 80b731c: 6852 ldr r2, [r2, #4] 80b731e: f042 6280 orr.w r2, r2, #67108864 ; 0x4000000 80b7322: 605a str r2, [r3, #4] /* Enable ADC DMA mode */ hadc->Instance->CR2 |= ADC_CR2_DMA; 80b7324: 68fb ldr r3, [r7, #12] 80b7326: 681b ldr r3, [r3, #0] 80b7328: 68fa ldr r2, [r7, #12] 80b732a: 6812 ldr r2, [r2, #0] 80b732c: 6892 ldr r2, [r2, #8] 80b732e: f442 7280 orr.w r2, r2, #256 ; 0x100 80b7332: 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); 80b7334: 68fb ldr r3, [r7, #12] 80b7336: 6b98 ldr r0, [r3, #56] ; 0x38 80b7338: 68fb ldr r3, [r7, #12] 80b733a: 681b ldr r3, [r3, #0] 80b733c: 334c adds r3, #76 ; 0x4c 80b733e: 4619 mov r1, r3 80b7340: 68ba ldr r2, [r7, #8] 80b7342: 687b ldr r3, [r7, #4] 80b7344: f000 fe92 bl 80b806c /* Check if Multimode enabled */ if(HAL_IS_BIT_CLR(ADC->CCR, ADC_CCR_MULTI)) 80b7348: 4b30 ldr r3, [pc, #192] ; (80b740c ) 80b734a: 685b ldr r3, [r3, #4] 80b734c: f003 031f and.w r3, r3, #31 80b7350: 2b00 cmp r3, #0 80b7352: d10f bne.n 80b7374 { /* if no external trigger present enable software conversion of regular channels */ if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 80b7354: 68fb ldr r3, [r7, #12] 80b7356: 681b ldr r3, [r3, #0] 80b7358: 689b ldr r3, [r3, #8] 80b735a: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b735e: 2b00 cmp r3, #0 80b7360: d143 bne.n 80b73ea { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b7362: 68fb ldr r3, [r7, #12] 80b7364: 681b ldr r3, [r3, #0] 80b7366: 68fa ldr r2, [r7, #12] 80b7368: 6812 ldr r2, [r2, #0] 80b736a: 6892 ldr r2, [r2, #8] 80b736c: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b7370: 609a str r2, [r3, #8] 80b7372: e03a b.n 80b73ea } } 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)) 80b7374: 68fb ldr r3, [r7, #12] 80b7376: 681b ldr r3, [r3, #0] 80b7378: 4a25 ldr r2, [pc, #148] ; (80b7410 ) 80b737a: 4293 cmp r3, r2 80b737c: d10e bne.n 80b739c 80b737e: 68fb ldr r3, [r7, #12] 80b7380: 681b ldr r3, [r3, #0] 80b7382: 689b ldr r3, [r3, #8] 80b7384: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b7388: 2b00 cmp r3, #0 80b738a: d107 bne.n 80b739c { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b738c: 68fb ldr r3, [r7, #12] 80b738e: 681b ldr r3, [r3, #0] 80b7390: 68fa ldr r2, [r7, #12] 80b7392: 6812 ldr r2, [r2, #0] 80b7394: 6892 ldr r2, [r2, #8] 80b7396: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b739a: 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) ) 80b739c: 4b1b ldr r3, [pc, #108] ; (80b740c ) 80b739e: 685b ldr r3, [r3, #4] 80b73a0: f003 0310 and.w r3, r3, #16 80b73a4: 2b00 cmp r3, #0 80b73a6: d120 bne.n 80b73ea { /* 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)) 80b73a8: 68fb ldr r3, [r7, #12] 80b73aa: 681b ldr r3, [r3, #0] 80b73ac: 4a19 ldr r2, [pc, #100] ; (80b7414 ) 80b73ae: 4293 cmp r3, r2 80b73b0: d11b bne.n 80b73ea 80b73b2: 68fb ldr r3, [r7, #12] 80b73b4: 681b ldr r3, [r3, #0] 80b73b6: 689b ldr r3, [r3, #8] 80b73b8: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b73bc: 2b00 cmp r3, #0 80b73be: d114 bne.n 80b73ea { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b73c0: 68fb ldr r3, [r7, #12] 80b73c2: 681b ldr r3, [r3, #0] 80b73c4: 68fa ldr r2, [r7, #12] 80b73c6: 6812 ldr r2, [r2, #0] 80b73c8: 6892 ldr r2, [r2, #8] 80b73ca: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b73ce: 609a str r2, [r3, #8] 80b73d0: e00b b.n 80b73ea } } else { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 80b73d2: 68fb ldr r3, [r7, #12] 80b73d4: 6c1b ldr r3, [r3, #64] ; 0x40 80b73d6: f043 0210 orr.w r2, r3, #16 80b73da: 68fb ldr r3, [r7, #12] 80b73dc: 641a str r2, [r3, #64] ; 0x40 /* Set ADC error code to ADC IP internal error */ SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 80b73de: 68fb ldr r3, [r7, #12] 80b73e0: 6c5b ldr r3, [r3, #68] ; 0x44 80b73e2: f043 0201 orr.w r2, r3, #1 80b73e6: 68fb ldr r3, [r7, #12] 80b73e8: 645a str r2, [r3, #68] ; 0x44 } /* Return function status */ return HAL_OK; 80b73ea: 2300 movs r3, #0 } 80b73ec: 4618 mov r0, r3 80b73ee: 3718 adds r7, #24 80b73f0: 46bd mov sp, r7 80b73f2: bd80 pop {r7, pc} 80b73f4: 200209bc .word 0x200209bc 80b73f8: 431bde83 .word 0x431bde83 80b73fc: fffff8fe .word 0xfffff8fe 80b7400: 080b79b1 .word 0x080b79b1 80b7404: 080b7a6b .word 0x080b7a6b 80b7408: 080b7a87 .word 0x080b7a87 80b740c: 40012300 .word 0x40012300 80b7410: 40012000 .word 0x40012000 80b7414: 40012200 .word 0x40012200 080b7418 : * @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) { 80b7418: b580 push {r7, lr} 80b741a: b084 sub sp, #16 80b741c: af00 add r7, sp, #0 80b741e: 6078 str r0, [r7, #4] HAL_StatusTypeDef tmp_hal_status = HAL_OK; 80b7420: 2300 movs r3, #0 80b7422: 73fb strb r3, [r7, #15] /* Check the parameters */ assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); /* Process locked */ __HAL_LOCK(hadc); 80b7424: 687b ldr r3, [r7, #4] 80b7426: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b742a: 2b01 cmp r3, #1 80b742c: d101 bne.n 80b7432 80b742e: 2302 movs r3, #2 80b7430: e046 b.n 80b74c0 80b7432: 687b ldr r3, [r7, #4] 80b7434: 2201 movs r2, #1 80b7436: 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); 80b743a: 687b ldr r3, [r7, #4] 80b743c: 681b ldr r3, [r3, #0] 80b743e: 687a ldr r2, [r7, #4] 80b7440: 6812 ldr r2, [r2, #0] 80b7442: 6892 ldr r2, [r2, #8] 80b7444: f022 0201 bic.w r2, r2, #1 80b7448: 609a str r2, [r3, #8] /* Check if ADC is effectively disabled */ if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 80b744a: 687b ldr r3, [r7, #4] 80b744c: 681b ldr r3, [r3, #0] 80b744e: 689b ldr r3, [r3, #8] 80b7450: f003 0301 and.w r3, r3, #1 80b7454: 2b00 cmp r3, #0 80b7456: d12e bne.n 80b74b6 { /* Disable the selected ADC DMA mode */ hadc->Instance->CR2 &= ~ADC_CR2_DMA; 80b7458: 687b ldr r3, [r7, #4] 80b745a: 681b ldr r3, [r3, #0] 80b745c: 687a ldr r2, [r7, #4] 80b745e: 6812 ldr r2, [r2, #0] 80b7460: 6892 ldr r2, [r2, #8] 80b7462: f422 7280 bic.w r2, r2, #256 ; 0x100 80b7466: 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) 80b7468: 687b ldr r3, [r7, #4] 80b746a: 6b9b ldr r3, [r3, #56] ; 0x38 80b746c: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b7470: b2db uxtb r3, r3 80b7472: 2b02 cmp r3, #2 80b7474: d10f bne.n 80b7496 { tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); 80b7476: 687b ldr r3, [r7, #4] 80b7478: 6b9b ldr r3, [r3, #56] ; 0x38 80b747a: 4618 mov r0, r3 80b747c: f000 fe56 bl 80b812c 80b7480: 4603 mov r3, r0 80b7482: 73fb strb r3, [r7, #15] /* Check if DMA channel effectively disabled */ if (tmp_hal_status != HAL_OK) 80b7484: 7bfb ldrb r3, [r7, #15] 80b7486: 2b00 cmp r3, #0 80b7488: d005 beq.n 80b7496 { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); 80b748a: 687b ldr r3, [r7, #4] 80b748c: 6c1b ldr r3, [r3, #64] ; 0x40 80b748e: f043 0240 orr.w r2, r3, #64 ; 0x40 80b7492: 687b ldr r3, [r7, #4] 80b7494: 641a str r2, [r3, #64] ; 0x40 } } /* Disable ADC overrun interrupt */ __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); 80b7496: 687b ldr r3, [r7, #4] 80b7498: 681b ldr r3, [r3, #0] 80b749a: 687a ldr r2, [r7, #4] 80b749c: 6812 ldr r2, [r2, #0] 80b749e: 6852 ldr r2, [r2, #4] 80b74a0: f022 6280 bic.w r2, r2, #67108864 ; 0x4000000 80b74a4: 605a str r2, [r3, #4] /* Set ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b74a6: 687b ldr r3, [r7, #4] 80b74a8: 6c1a ldr r2, [r3, #64] ; 0x40 80b74aa: 4b07 ldr r3, [pc, #28] ; (80b74c8 ) 80b74ac: 4013 ands r3, r2 80b74ae: f043 0201 orr.w r2, r3, #1 80b74b2: 687b ldr r3, [r7, #4] 80b74b4: 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); 80b74b6: 687b ldr r3, [r7, #4] 80b74b8: 2200 movs r2, #0 80b74ba: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return tmp_hal_status; 80b74be: 7bfb ldrb r3, [r7, #15] } 80b74c0: 4618 mov r0, r3 80b74c2: 3710 adds r7, #16 80b74c4: 46bd mov sp, r7 80b74c6: bd80 pop {r7, pc} 80b74c8: ffffeefe .word 0xffffeefe 080b74cc : * @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) { 80b74cc: b480 push {r7} 80b74ce: b083 sub sp, #12 80b74d0: af00 add r7, sp, #0 80b74d2: 6078 str r0, [r7, #4] /* Return the selected ADC converted value */ return hadc->Instance->DR; 80b74d4: 687b ldr r3, [r7, #4] 80b74d6: 681b ldr r3, [r3, #0] 80b74d8: 6cdb ldr r3, [r3, #76] ; 0x4c } 80b74da: 4618 mov r0, r3 80b74dc: 370c adds r7, #12 80b74de: 46bd mov sp, r7 80b74e0: f85d 7b04 ldr.w r7, [sp], #4 80b74e4: 4770 bx lr 080b74e6 : * @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) { 80b74e6: b480 push {r7} 80b74e8: b083 sub sp, #12 80b74ea: af00 add r7, sp, #0 80b74ec: 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 */ } 80b74ee: bf00 nop 80b74f0: 370c adds r7, #12 80b74f2: 46bd mov sp, r7 80b74f4: f85d 7b04 ldr.w r7, [sp], #4 80b74f8: 4770 bx lr 080b74fa : * @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) { 80b74fa: b480 push {r7} 80b74fc: b083 sub sp, #12 80b74fe: af00 add r7, sp, #0 80b7500: 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 */ } 80b7502: bf00 nop 80b7504: 370c adds r7, #12 80b7506: 46bd mov sp, r7 80b7508: f85d 7b04 ldr.w r7, [sp], #4 80b750c: 4770 bx lr ... 080b7510 : * 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) { 80b7510: b490 push {r4, r7} 80b7512: b084 sub sp, #16 80b7514: af00 add r7, sp, #0 80b7516: 6078 str r0, [r7, #4] 80b7518: 6039 str r1, [r7, #0] __IO uint32_t counter = 0; 80b751a: 2300 movs r3, #0 80b751c: 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); 80b751e: 687b ldr r3, [r7, #4] 80b7520: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b7524: 2b01 cmp r3, #1 80b7526: d101 bne.n 80b752c 80b7528: 2302 movs r3, #2 80b752a: e138 b.n 80b779e 80b752c: 687b ldr r3, [r7, #4] 80b752e: 2201 movs r2, #1 80b7530: 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)) 80b7534: 683b ldr r3, [r7, #0] 80b7536: 681b ldr r3, [r3, #0] 80b7538: 2b09 cmp r3, #9 80b753a: d93b bls.n 80b75b4 80b753c: 683b ldr r3, [r7, #0] 80b753e: 681b ldr r3, [r3, #0] 80b7540: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80b7544: d036 beq.n 80b75b4 { /* Clear the old sample time */ hadc->Instance->SMPR1 &= ~ADC_SMPR1(ADC_SMPR1_SMP10, sConfig->Channel); 80b7546: 687b ldr r3, [r7, #4] 80b7548: 681a ldr r2, [r3, #0] 80b754a: 687b ldr r3, [r7, #4] 80b754c: 681b ldr r3, [r3, #0] 80b754e: 68d9 ldr r1, [r3, #12] 80b7550: 683b ldr r3, [r7, #0] 80b7552: 681b ldr r3, [r3, #0] 80b7554: b29b uxth r3, r3 80b7556: 4618 mov r0, r3 80b7558: 4603 mov r3, r0 80b755a: 005b lsls r3, r3, #1 80b755c: 4403 add r3, r0 80b755e: 3b1e subs r3, #30 80b7560: 2007 movs r0, #7 80b7562: fa00 f303 lsl.w r3, r0, r3 80b7566: 43db mvns r3, r3 80b7568: 400b ands r3, r1 80b756a: 60d3 str r3, [r2, #12] if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b756c: 683b ldr r3, [r7, #0] 80b756e: 681b ldr r3, [r3, #0] 80b7570: 4a8d ldr r2, [pc, #564] ; (80b77a8 ) 80b7572: 4293 cmp r3, r2 80b7574: d10a bne.n 80b758c { /* Set the new sample time */ hadc->Instance->SMPR1 |= ADC_SMPR1(sConfig->SamplingTime, ADC_CHANNEL_18); 80b7576: 687b ldr r3, [r7, #4] 80b7578: 681b ldr r3, [r3, #0] 80b757a: 687a ldr r2, [r7, #4] 80b757c: 6812 ldr r2, [r2, #0] 80b757e: 68d1 ldr r1, [r2, #12] 80b7580: 683a ldr r2, [r7, #0] 80b7582: 6892 ldr r2, [r2, #8] 80b7584: 0612 lsls r2, r2, #24 80b7586: 430a orrs r2, r1 80b7588: 60da str r2, [r3, #12] if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b758a: e037 b.n 80b75fc } else { /* Set the new sample time */ hadc->Instance->SMPR1 |= ADC_SMPR1(sConfig->SamplingTime, sConfig->Channel); 80b758c: 687b ldr r3, [r7, #4] 80b758e: 681a ldr r2, [r3, #0] 80b7590: 687b ldr r3, [r7, #4] 80b7592: 681b ldr r3, [r3, #0] 80b7594: 68d9 ldr r1, [r3, #12] 80b7596: 683b ldr r3, [r7, #0] 80b7598: 6898 ldr r0, [r3, #8] 80b759a: 683b ldr r3, [r7, #0] 80b759c: 681b ldr r3, [r3, #0] 80b759e: b29b uxth r3, r3 80b75a0: 461c mov r4, r3 80b75a2: 4623 mov r3, r4 80b75a4: 005b lsls r3, r3, #1 80b75a6: 4423 add r3, r4 80b75a8: 3b1e subs r3, #30 80b75aa: fa00 f303 lsl.w r3, r0, r3 80b75ae: 430b orrs r3, r1 80b75b0: 60d3 str r3, [r2, #12] if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b75b2: e023 b.n 80b75fc } } else /* ADC_Channel include in ADC_Channel_[0..9] */ { /* Clear the old sample time */ hadc->Instance->SMPR2 &= ~ADC_SMPR2(ADC_SMPR2_SMP0, sConfig->Channel); 80b75b4: 687b ldr r3, [r7, #4] 80b75b6: 681a ldr r2, [r3, #0] 80b75b8: 687b ldr r3, [r7, #4] 80b75ba: 681b ldr r3, [r3, #0] 80b75bc: 6919 ldr r1, [r3, #16] 80b75be: 683b ldr r3, [r7, #0] 80b75c0: 681b ldr r3, [r3, #0] 80b75c2: b29b uxth r3, r3 80b75c4: 4618 mov r0, r3 80b75c6: 4603 mov r3, r0 80b75c8: 005b lsls r3, r3, #1 80b75ca: 4403 add r3, r0 80b75cc: 2007 movs r0, #7 80b75ce: fa00 f303 lsl.w r3, r0, r3 80b75d2: 43db mvns r3, r3 80b75d4: 400b ands r3, r1 80b75d6: 6113 str r3, [r2, #16] /* Set the new sample time */ hadc->Instance->SMPR2 |= ADC_SMPR2(sConfig->SamplingTime, sConfig->Channel); 80b75d8: 687b ldr r3, [r7, #4] 80b75da: 681a ldr r2, [r3, #0] 80b75dc: 687b ldr r3, [r7, #4] 80b75de: 681b ldr r3, [r3, #0] 80b75e0: 6919 ldr r1, [r3, #16] 80b75e2: 683b ldr r3, [r7, #0] 80b75e4: 6898 ldr r0, [r3, #8] 80b75e6: 683b ldr r3, [r7, #0] 80b75e8: 681b ldr r3, [r3, #0] 80b75ea: b29b uxth r3, r3 80b75ec: 461c mov r4, r3 80b75ee: 4623 mov r3, r4 80b75f0: 005b lsls r3, r3, #1 80b75f2: 4423 add r3, r4 80b75f4: fa00 f303 lsl.w r3, r0, r3 80b75f8: 430b orrs r3, r1 80b75fa: 6113 str r3, [r2, #16] } /* For Rank 1 to 6 */ if (sConfig->Rank < 7) 80b75fc: 683b ldr r3, [r7, #0] 80b75fe: 685b ldr r3, [r3, #4] 80b7600: 2b06 cmp r3, #6 80b7602: d824 bhi.n 80b764e { /* Clear the old SQx bits for the selected rank */ hadc->Instance->SQR3 &= ~ADC_SQR3_RK(ADC_SQR3_SQ1, sConfig->Rank); 80b7604: 687b ldr r3, [r7, #4] 80b7606: 6819 ldr r1, [r3, #0] 80b7608: 687b ldr r3, [r7, #4] 80b760a: 681b ldr r3, [r3, #0] 80b760c: 6b58 ldr r0, [r3, #52] ; 0x34 80b760e: 683b ldr r3, [r7, #0] 80b7610: 685a ldr r2, [r3, #4] 80b7612: 4613 mov r3, r2 80b7614: 009b lsls r3, r3, #2 80b7616: 4413 add r3, r2 80b7618: 3b05 subs r3, #5 80b761a: 221f movs r2, #31 80b761c: fa02 f303 lsl.w r3, r2, r3 80b7620: 43db mvns r3, r3 80b7622: 4003 ands r3, r0 80b7624: 634b str r3, [r1, #52] ; 0x34 /* Set the SQx bits for the selected rank */ hadc->Instance->SQR3 |= ADC_SQR3_RK(sConfig->Channel, sConfig->Rank); 80b7626: 687b ldr r3, [r7, #4] 80b7628: 6819 ldr r1, [r3, #0] 80b762a: 687b ldr r3, [r7, #4] 80b762c: 681b ldr r3, [r3, #0] 80b762e: 6b58 ldr r0, [r3, #52] ; 0x34 80b7630: 683b ldr r3, [r7, #0] 80b7632: 681b ldr r3, [r3, #0] 80b7634: b29b uxth r3, r3 80b7636: 461c mov r4, r3 80b7638: 683b ldr r3, [r7, #0] 80b763a: 685a ldr r2, [r3, #4] 80b763c: 4613 mov r3, r2 80b763e: 009b lsls r3, r3, #2 80b7640: 4413 add r3, r2 80b7642: 3b05 subs r3, #5 80b7644: fa04 f303 lsl.w r3, r4, r3 80b7648: 4303 orrs r3, r0 80b764a: 634b str r3, [r1, #52] ; 0x34 80b764c: e04c b.n 80b76e8 } /* For Rank 7 to 12 */ else if (sConfig->Rank < 13) 80b764e: 683b ldr r3, [r7, #0] 80b7650: 685b ldr r3, [r3, #4] 80b7652: 2b0c cmp r3, #12 80b7654: d824 bhi.n 80b76a0 { /* Clear the old SQx bits for the selected rank */ hadc->Instance->SQR2 &= ~ADC_SQR2_RK(ADC_SQR2_SQ7, sConfig->Rank); 80b7656: 687b ldr r3, [r7, #4] 80b7658: 6819 ldr r1, [r3, #0] 80b765a: 687b ldr r3, [r7, #4] 80b765c: 681b ldr r3, [r3, #0] 80b765e: 6b18 ldr r0, [r3, #48] ; 0x30 80b7660: 683b ldr r3, [r7, #0] 80b7662: 685a ldr r2, [r3, #4] 80b7664: 4613 mov r3, r2 80b7666: 009b lsls r3, r3, #2 80b7668: 4413 add r3, r2 80b766a: 3b23 subs r3, #35 ; 0x23 80b766c: 221f movs r2, #31 80b766e: fa02 f303 lsl.w r3, r2, r3 80b7672: 43db mvns r3, r3 80b7674: 4003 ands r3, r0 80b7676: 630b str r3, [r1, #48] ; 0x30 /* Set the SQx bits for the selected rank */ hadc->Instance->SQR2 |= ADC_SQR2_RK(sConfig->Channel, sConfig->Rank); 80b7678: 687b ldr r3, [r7, #4] 80b767a: 6819 ldr r1, [r3, #0] 80b767c: 687b ldr r3, [r7, #4] 80b767e: 681b ldr r3, [r3, #0] 80b7680: 6b18 ldr r0, [r3, #48] ; 0x30 80b7682: 683b ldr r3, [r7, #0] 80b7684: 681b ldr r3, [r3, #0] 80b7686: b29b uxth r3, r3 80b7688: 461c mov r4, r3 80b768a: 683b ldr r3, [r7, #0] 80b768c: 685a ldr r2, [r3, #4] 80b768e: 4613 mov r3, r2 80b7690: 009b lsls r3, r3, #2 80b7692: 4413 add r3, r2 80b7694: 3b23 subs r3, #35 ; 0x23 80b7696: fa04 f303 lsl.w r3, r4, r3 80b769a: 4303 orrs r3, r0 80b769c: 630b str r3, [r1, #48] ; 0x30 80b769e: e023 b.n 80b76e8 } /* 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); 80b76a0: 687b ldr r3, [r7, #4] 80b76a2: 6819 ldr r1, [r3, #0] 80b76a4: 687b ldr r3, [r7, #4] 80b76a6: 681b ldr r3, [r3, #0] 80b76a8: 6ad8 ldr r0, [r3, #44] ; 0x2c 80b76aa: 683b ldr r3, [r7, #0] 80b76ac: 685a ldr r2, [r3, #4] 80b76ae: 4613 mov r3, r2 80b76b0: 009b lsls r3, r3, #2 80b76b2: 4413 add r3, r2 80b76b4: 3b41 subs r3, #65 ; 0x41 80b76b6: 221f movs r2, #31 80b76b8: fa02 f303 lsl.w r3, r2, r3 80b76bc: 43db mvns r3, r3 80b76be: 4003 ands r3, r0 80b76c0: 62cb str r3, [r1, #44] ; 0x2c /* Set the SQx bits for the selected rank */ hadc->Instance->SQR1 |= ADC_SQR1_RK(sConfig->Channel, sConfig->Rank); 80b76c2: 687b ldr r3, [r7, #4] 80b76c4: 6819 ldr r1, [r3, #0] 80b76c6: 687b ldr r3, [r7, #4] 80b76c8: 681b ldr r3, [r3, #0] 80b76ca: 6ad8 ldr r0, [r3, #44] ; 0x2c 80b76cc: 683b ldr r3, [r7, #0] 80b76ce: 681b ldr r3, [r3, #0] 80b76d0: b29b uxth r3, r3 80b76d2: 461c mov r4, r3 80b76d4: 683b ldr r3, [r7, #0] 80b76d6: 685a ldr r2, [r3, #4] 80b76d8: 4613 mov r3, r2 80b76da: 009b lsls r3, r3, #2 80b76dc: 4413 add r3, r2 80b76de: 3b41 subs r3, #65 ; 0x41 80b76e0: fa04 f303 lsl.w r3, r4, r3 80b76e4: 4303 orrs r3, r0 80b76e6: 62cb str r3, [r1, #44] ; 0x2c } /* if no internal channel selected */ if ((hadc->Instance == ADC1) && (sConfig->Channel == ADC_INTERNAL_NONE)) 80b76e8: 687b ldr r3, [r7, #4] 80b76ea: 681b ldr r3, [r3, #0] 80b76ec: 4a2f ldr r2, [pc, #188] ; (80b77ac ) 80b76ee: 4293 cmp r3, r2 80b76f0: d10a bne.n 80b7708 80b76f2: 683b ldr r3, [r7, #0] 80b76f4: 681b ldr r3, [r3, #0] 80b76f6: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80b76fa: d105 bne.n 80b7708 { /* Disable the VBAT & TSVREFE channel*/ ADC->CCR &= ~(ADC_CCR_VBATE | ADC_CCR_TSVREFE); 80b76fc: 4a2c ldr r2, [pc, #176] ; (80b77b0 ) 80b76fe: 4b2c ldr r3, [pc, #176] ; (80b77b0 ) 80b7700: 685b ldr r3, [r3, #4] 80b7702: f423 0340 bic.w r3, r3, #12582912 ; 0xc00000 80b7706: 6053 str r3, [r2, #4] } /* if ADC1 Channel_18 is selected enable VBAT Channel */ if ((hadc->Instance == ADC1) && (sConfig->Channel == ADC_CHANNEL_VBAT)) 80b7708: 687b ldr r3, [r7, #4] 80b770a: 681b ldr r3, [r3, #0] 80b770c: 4a27 ldr r2, [pc, #156] ; (80b77ac ) 80b770e: 4293 cmp r3, r2 80b7710: d10f bne.n 80b7732 80b7712: 683b ldr r3, [r7, #0] 80b7714: 681b ldr r3, [r3, #0] 80b7716: 2b12 cmp r3, #18 80b7718: d10b bne.n 80b7732 { /* Disable the TEMPSENSOR channel as it is multiplixed with the VBAT channel */ ADC->CCR &= ~ADC_CCR_TSVREFE; 80b771a: 4a25 ldr r2, [pc, #148] ; (80b77b0 ) 80b771c: 4b24 ldr r3, [pc, #144] ; (80b77b0 ) 80b771e: 685b ldr r3, [r3, #4] 80b7720: f423 0300 bic.w r3, r3, #8388608 ; 0x800000 80b7724: 6053 str r3, [r2, #4] /* Enable the VBAT channel*/ ADC->CCR |= ADC_CCR_VBATE; 80b7726: 4a22 ldr r2, [pc, #136] ; (80b77b0 ) 80b7728: 4b21 ldr r3, [pc, #132] ; (80b77b0 ) 80b772a: 685b ldr r3, [r3, #4] 80b772c: f443 0380 orr.w r3, r3, #4194304 ; 0x400000 80b7730: 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))) 80b7732: 687b ldr r3, [r7, #4] 80b7734: 681b ldr r3, [r3, #0] 80b7736: 4a1d ldr r2, [pc, #116] ; (80b77ac ) 80b7738: 4293 cmp r3, r2 80b773a: d12b bne.n 80b7794 80b773c: 683b ldr r3, [r7, #0] 80b773e: 681b ldr r3, [r3, #0] 80b7740: 4a19 ldr r2, [pc, #100] ; (80b77a8 ) 80b7742: 4293 cmp r3, r2 80b7744: d003 beq.n 80b774e 80b7746: 683b ldr r3, [r7, #0] 80b7748: 681b ldr r3, [r3, #0] 80b774a: 2b11 cmp r3, #17 80b774c: d122 bne.n 80b7794 { /* Disable the VBAT channel as it is multiplixed with TEMPSENSOR channel */ ADC->CCR &= ~ADC_CCR_VBATE; 80b774e: 4a18 ldr r2, [pc, #96] ; (80b77b0 ) 80b7750: 4b17 ldr r3, [pc, #92] ; (80b77b0 ) 80b7752: 685b ldr r3, [r3, #4] 80b7754: f423 0380 bic.w r3, r3, #4194304 ; 0x400000 80b7758: 6053 str r3, [r2, #4] /* Enable the TSVREFE channel*/ ADC->CCR |= ADC_CCR_TSVREFE; 80b775a: 4a15 ldr r2, [pc, #84] ; (80b77b0 ) 80b775c: 4b14 ldr r3, [pc, #80] ; (80b77b0 ) 80b775e: 685b ldr r3, [r3, #4] 80b7760: f443 0300 orr.w r3, r3, #8388608 ; 0x800000 80b7764: 6053 str r3, [r2, #4] if(sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b7766: 683b ldr r3, [r7, #0] 80b7768: 681b ldr r3, [r3, #0] 80b776a: 4a0f ldr r2, [pc, #60] ; (80b77a8 ) 80b776c: 4293 cmp r3, r2 80b776e: d111 bne.n 80b7794 { /* Delay for temperature sensor stabilization time */ /* Compute number of CPU cycles to wait for */ counter = (ADC_TEMPSENSOR_DELAY_US * (SystemCoreClock / 1000000)); 80b7770: 4b10 ldr r3, [pc, #64] ; (80b77b4 ) 80b7772: 681b ldr r3, [r3, #0] 80b7774: 4a10 ldr r2, [pc, #64] ; (80b77b8 ) 80b7776: fba2 2303 umull r2, r3, r2, r3 80b777a: 0c9a lsrs r2, r3, #18 80b777c: 4613 mov r3, r2 80b777e: 009b lsls r3, r3, #2 80b7780: 4413 add r3, r2 80b7782: 005b lsls r3, r3, #1 80b7784: 60fb str r3, [r7, #12] while(counter != 0) 80b7786: e002 b.n 80b778e { counter--; 80b7788: 68fb ldr r3, [r7, #12] 80b778a: 3b01 subs r3, #1 80b778c: 60fb str r3, [r7, #12] while(counter != 0) 80b778e: 68fb ldr r3, [r7, #12] 80b7790: 2b00 cmp r3, #0 80b7792: d1f9 bne.n 80b7788 } } } /* Process unlocked */ __HAL_UNLOCK(hadc); 80b7794: 687b ldr r3, [r7, #4] 80b7796: 2200 movs r2, #0 80b7798: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return HAL_OK; 80b779c: 2300 movs r3, #0 } 80b779e: 4618 mov r0, r3 80b77a0: 3710 adds r7, #16 80b77a2: 46bd mov sp, r7 80b77a4: bc90 pop {r4, r7} 80b77a6: 4770 bx lr 80b77a8: 10000012 .word 0x10000012 80b77ac: 40012000 .word 0x40012000 80b77b0: 40012300 .word 0x40012300 80b77b4: 200209bc .word 0x200209bc 80b77b8: 431bde83 .word 0x431bde83 080b77bc : * @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) { 80b77bc: b480 push {r7} 80b77be: b083 sub sp, #12 80b77c0: af00 add r7, sp, #0 80b77c2: 6078 str r0, [r7, #4] /* Set ADC parameters */ /* Set the ADC clock prescaler */ ADC->CCR &= ~(ADC_CCR_ADCPRE); 80b77c4: 4a78 ldr r2, [pc, #480] ; (80b79a8 ) 80b77c6: 4b78 ldr r3, [pc, #480] ; (80b79a8 ) 80b77c8: 685b ldr r3, [r3, #4] 80b77ca: f423 3340 bic.w r3, r3, #196608 ; 0x30000 80b77ce: 6053 str r3, [r2, #4] ADC->CCR |= hadc->Init.ClockPrescaler; 80b77d0: 4975 ldr r1, [pc, #468] ; (80b79a8 ) 80b77d2: 4b75 ldr r3, [pc, #468] ; (80b79a8 ) 80b77d4: 685a ldr r2, [r3, #4] 80b77d6: 687b ldr r3, [r7, #4] 80b77d8: 685b ldr r3, [r3, #4] 80b77da: 4313 orrs r3, r2 80b77dc: 604b str r3, [r1, #4] /* Set ADC scan mode */ hadc->Instance->CR1 &= ~(ADC_CR1_SCAN); 80b77de: 687b ldr r3, [r7, #4] 80b77e0: 681b ldr r3, [r3, #0] 80b77e2: 687a ldr r2, [r7, #4] 80b77e4: 6812 ldr r2, [r2, #0] 80b77e6: 6852 ldr r2, [r2, #4] 80b77e8: f422 7280 bic.w r2, r2, #256 ; 0x100 80b77ec: 605a str r2, [r3, #4] hadc->Instance->CR1 |= ADC_CR1_SCANCONV(hadc->Init.ScanConvMode); 80b77ee: 687b ldr r3, [r7, #4] 80b77f0: 681b ldr r3, [r3, #0] 80b77f2: 687a ldr r2, [r7, #4] 80b77f4: 6812 ldr r2, [r2, #0] 80b77f6: 6851 ldr r1, [r2, #4] 80b77f8: 687a ldr r2, [r7, #4] 80b77fa: 6912 ldr r2, [r2, #16] 80b77fc: 0212 lsls r2, r2, #8 80b77fe: 430a orrs r2, r1 80b7800: 605a str r2, [r3, #4] /* Set ADC resolution */ hadc->Instance->CR1 &= ~(ADC_CR1_RES); 80b7802: 687b ldr r3, [r7, #4] 80b7804: 681b ldr r3, [r3, #0] 80b7806: 687a ldr r2, [r7, #4] 80b7808: 6812 ldr r2, [r2, #0] 80b780a: 6852 ldr r2, [r2, #4] 80b780c: f022 7240 bic.w r2, r2, #50331648 ; 0x3000000 80b7810: 605a str r2, [r3, #4] hadc->Instance->CR1 |= hadc->Init.Resolution; 80b7812: 687b ldr r3, [r7, #4] 80b7814: 681b ldr r3, [r3, #0] 80b7816: 687a ldr r2, [r7, #4] 80b7818: 6812 ldr r2, [r2, #0] 80b781a: 6851 ldr r1, [r2, #4] 80b781c: 687a ldr r2, [r7, #4] 80b781e: 6892 ldr r2, [r2, #8] 80b7820: 430a orrs r2, r1 80b7822: 605a str r2, [r3, #4] /* Set ADC data alignment */ hadc->Instance->CR2 &= ~(ADC_CR2_ALIGN); 80b7824: 687b ldr r3, [r7, #4] 80b7826: 681b ldr r3, [r3, #0] 80b7828: 687a ldr r2, [r7, #4] 80b782a: 6812 ldr r2, [r2, #0] 80b782c: 6892 ldr r2, [r2, #8] 80b782e: f422 6200 bic.w r2, r2, #2048 ; 0x800 80b7832: 609a str r2, [r3, #8] hadc->Instance->CR2 |= hadc->Init.DataAlign; 80b7834: 687b ldr r3, [r7, #4] 80b7836: 681b ldr r3, [r3, #0] 80b7838: 687a ldr r2, [r7, #4] 80b783a: 6812 ldr r2, [r2, #0] 80b783c: 6891 ldr r1, [r2, #8] 80b783e: 687a ldr r2, [r7, #4] 80b7840: 68d2 ldr r2, [r2, #12] 80b7842: 430a orrs r2, r1 80b7844: 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) 80b7846: 687b ldr r3, [r7, #4] 80b7848: 6a9b ldr r3, [r3, #40] ; 0x28 80b784a: 4a58 ldr r2, [pc, #352] ; (80b79ac ) 80b784c: 4293 cmp r3, r2 80b784e: d022 beq.n 80b7896 { /* Select external trigger to start conversion */ hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL); 80b7850: 687b ldr r3, [r7, #4] 80b7852: 681b ldr r3, [r3, #0] 80b7854: 687a ldr r2, [r7, #4] 80b7856: 6812 ldr r2, [r2, #0] 80b7858: 6892 ldr r2, [r2, #8] 80b785a: f022 6270 bic.w r2, r2, #251658240 ; 0xf000000 80b785e: 609a str r2, [r3, #8] hadc->Instance->CR2 |= hadc->Init.ExternalTrigConv; 80b7860: 687b ldr r3, [r7, #4] 80b7862: 681b ldr r3, [r3, #0] 80b7864: 687a ldr r2, [r7, #4] 80b7866: 6812 ldr r2, [r2, #0] 80b7868: 6891 ldr r1, [r2, #8] 80b786a: 687a ldr r2, [r7, #4] 80b786c: 6a92 ldr r2, [r2, #40] ; 0x28 80b786e: 430a orrs r2, r1 80b7870: 609a str r2, [r3, #8] /* Select external trigger polarity */ hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 80b7872: 687b ldr r3, [r7, #4] 80b7874: 681b ldr r3, [r3, #0] 80b7876: 687a ldr r2, [r7, #4] 80b7878: 6812 ldr r2, [r2, #0] 80b787a: 6892 ldr r2, [r2, #8] 80b787c: f022 5240 bic.w r2, r2, #805306368 ; 0x30000000 80b7880: 609a str r2, [r3, #8] hadc->Instance->CR2 |= hadc->Init.ExternalTrigConvEdge; 80b7882: 687b ldr r3, [r7, #4] 80b7884: 681b ldr r3, [r3, #0] 80b7886: 687a ldr r2, [r7, #4] 80b7888: 6812 ldr r2, [r2, #0] 80b788a: 6891 ldr r1, [r2, #8] 80b788c: 687a ldr r2, [r7, #4] 80b788e: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b7890: 430a orrs r2, r1 80b7892: 609a str r2, [r3, #8] 80b7894: e00f b.n 80b78b6 } else { /* Reset the external trigger */ hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL); 80b7896: 687b ldr r3, [r7, #4] 80b7898: 681b ldr r3, [r3, #0] 80b789a: 687a ldr r2, [r7, #4] 80b789c: 6812 ldr r2, [r2, #0] 80b789e: 6892 ldr r2, [r2, #8] 80b78a0: f022 6270 bic.w r2, r2, #251658240 ; 0xf000000 80b78a4: 609a str r2, [r3, #8] hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 80b78a6: 687b ldr r3, [r7, #4] 80b78a8: 681b ldr r3, [r3, #0] 80b78aa: 687a ldr r2, [r7, #4] 80b78ac: 6812 ldr r2, [r2, #0] 80b78ae: 6892 ldr r2, [r2, #8] 80b78b0: f022 5240 bic.w r2, r2, #805306368 ; 0x30000000 80b78b4: 609a str r2, [r3, #8] } /* Enable or disable ADC continuous conversion mode */ hadc->Instance->CR2 &= ~(ADC_CR2_CONT); 80b78b6: 687b ldr r3, [r7, #4] 80b78b8: 681b ldr r3, [r3, #0] 80b78ba: 687a ldr r2, [r7, #4] 80b78bc: 6812 ldr r2, [r2, #0] 80b78be: 6892 ldr r2, [r2, #8] 80b78c0: f022 0202 bic.w r2, r2, #2 80b78c4: 609a str r2, [r3, #8] hadc->Instance->CR2 |= ADC_CR2_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode); 80b78c6: 687b ldr r3, [r7, #4] 80b78c8: 681b ldr r3, [r3, #0] 80b78ca: 687a ldr r2, [r7, #4] 80b78cc: 6812 ldr r2, [r2, #0] 80b78ce: 6891 ldr r1, [r2, #8] 80b78d0: 687a ldr r2, [r7, #4] 80b78d2: 6992 ldr r2, [r2, #24] 80b78d4: 0052 lsls r2, r2, #1 80b78d6: 430a orrs r2, r1 80b78d8: 609a str r2, [r3, #8] if(hadc->Init.DiscontinuousConvMode != DISABLE) 80b78da: 687b ldr r3, [r7, #4] 80b78dc: f893 3020 ldrb.w r3, [r3, #32] 80b78e0: 2b00 cmp r3, #0 80b78e2: d01b beq.n 80b791c { 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; 80b78e4: 687b ldr r3, [r7, #4] 80b78e6: 681b ldr r3, [r3, #0] 80b78e8: 687a ldr r2, [r7, #4] 80b78ea: 6812 ldr r2, [r2, #0] 80b78ec: 6852 ldr r2, [r2, #4] 80b78ee: f442 6200 orr.w r2, r2, #2048 ; 0x800 80b78f2: 605a str r2, [r3, #4] /* Set the number of channels to be converted in discontinuous mode */ hadc->Instance->CR1 &= ~(ADC_CR1_DISCNUM); 80b78f4: 687b ldr r3, [r7, #4] 80b78f6: 681b ldr r3, [r3, #0] 80b78f8: 687a ldr r2, [r7, #4] 80b78fa: 6812 ldr r2, [r2, #0] 80b78fc: 6852 ldr r2, [r2, #4] 80b78fe: f422 4260 bic.w r2, r2, #57344 ; 0xe000 80b7902: 605a str r2, [r3, #4] hadc->Instance->CR1 |= ADC_CR1_DISCONTINUOUS(hadc->Init.NbrOfDiscConversion); 80b7904: 687b ldr r3, [r7, #4] 80b7906: 681b ldr r3, [r3, #0] 80b7908: 687a ldr r2, [r7, #4] 80b790a: 6812 ldr r2, [r2, #0] 80b790c: 6851 ldr r1, [r2, #4] 80b790e: 687a ldr r2, [r7, #4] 80b7910: 6a52 ldr r2, [r2, #36] ; 0x24 80b7912: 3a01 subs r2, #1 80b7914: 0352 lsls r2, r2, #13 80b7916: 430a orrs r2, r1 80b7918: 605a str r2, [r3, #4] 80b791a: e007 b.n 80b792c } else { /* Disable the selected ADC regular discontinuous mode */ hadc->Instance->CR1 &= ~(ADC_CR1_DISCEN); 80b791c: 687b ldr r3, [r7, #4] 80b791e: 681b ldr r3, [r3, #0] 80b7920: 687a ldr r2, [r7, #4] 80b7922: 6812 ldr r2, [r2, #0] 80b7924: 6852 ldr r2, [r2, #4] 80b7926: f422 6200 bic.w r2, r2, #2048 ; 0x800 80b792a: 605a str r2, [r3, #4] } /* Set ADC number of conversion */ hadc->Instance->SQR1 &= ~(ADC_SQR1_L); 80b792c: 687b ldr r3, [r7, #4] 80b792e: 681b ldr r3, [r3, #0] 80b7930: 687a ldr r2, [r7, #4] 80b7932: 6812 ldr r2, [r2, #0] 80b7934: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b7936: f422 0270 bic.w r2, r2, #15728640 ; 0xf00000 80b793a: 62da str r2, [r3, #44] ; 0x2c hadc->Instance->SQR1 |= ADC_SQR1(hadc->Init.NbrOfConversion); 80b793c: 687b ldr r3, [r7, #4] 80b793e: 681b ldr r3, [r3, #0] 80b7940: 687a ldr r2, [r7, #4] 80b7942: 6812 ldr r2, [r2, #0] 80b7944: 6ad1 ldr r1, [r2, #44] ; 0x2c 80b7946: 687a ldr r2, [r7, #4] 80b7948: 69d2 ldr r2, [r2, #28] 80b794a: 3a01 subs r2, #1 80b794c: 0512 lsls r2, r2, #20 80b794e: 430a orrs r2, r1 80b7950: 62da str r2, [r3, #44] ; 0x2c /* Enable or disable ADC DMA continuous request */ hadc->Instance->CR2 &= ~(ADC_CR2_DDS); 80b7952: 687b ldr r3, [r7, #4] 80b7954: 681b ldr r3, [r3, #0] 80b7956: 687a ldr r2, [r7, #4] 80b7958: 6812 ldr r2, [r2, #0] 80b795a: 6892 ldr r2, [r2, #8] 80b795c: f422 7200 bic.w r2, r2, #512 ; 0x200 80b7960: 609a str r2, [r3, #8] hadc->Instance->CR2 |= ADC_CR2_DMAContReq((uint32_t)hadc->Init.DMAContinuousRequests); 80b7962: 687b ldr r3, [r7, #4] 80b7964: 681b ldr r3, [r3, #0] 80b7966: 687a ldr r2, [r7, #4] 80b7968: 6812 ldr r2, [r2, #0] 80b796a: 6891 ldr r1, [r2, #8] 80b796c: 687a ldr r2, [r7, #4] 80b796e: f892 2030 ldrb.w r2, [r2, #48] ; 0x30 80b7972: 0252 lsls r2, r2, #9 80b7974: 430a orrs r2, r1 80b7976: 609a str r2, [r3, #8] /* Enable or disable ADC end of conversion selection */ hadc->Instance->CR2 &= ~(ADC_CR2_EOCS); 80b7978: 687b ldr r3, [r7, #4] 80b797a: 681b ldr r3, [r3, #0] 80b797c: 687a ldr r2, [r7, #4] 80b797e: 6812 ldr r2, [r2, #0] 80b7980: 6892 ldr r2, [r2, #8] 80b7982: f422 6280 bic.w r2, r2, #1024 ; 0x400 80b7986: 609a str r2, [r3, #8] hadc->Instance->CR2 |= ADC_CR2_EOCSelection(hadc->Init.EOCSelection); 80b7988: 687b ldr r3, [r7, #4] 80b798a: 681b ldr r3, [r3, #0] 80b798c: 687a ldr r2, [r7, #4] 80b798e: 6812 ldr r2, [r2, #0] 80b7990: 6891 ldr r1, [r2, #8] 80b7992: 687a ldr r2, [r7, #4] 80b7994: 6952 ldr r2, [r2, #20] 80b7996: 0292 lsls r2, r2, #10 80b7998: 430a orrs r2, r1 80b799a: 609a str r2, [r3, #8] } 80b799c: bf00 nop 80b799e: 370c adds r7, #12 80b79a0: 46bd mov sp, r7 80b79a2: f85d 7b04 ldr.w r7, [sp], #4 80b79a6: 4770 bx lr 80b79a8: 40012300 .word 0x40012300 80b79ac: 0f000001 .word 0x0f000001 080b79b0 : * @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) { 80b79b0: b580 push {r7, lr} 80b79b2: b084 sub sp, #16 80b79b4: af00 add r7, sp, #0 80b79b6: 6078 str r0, [r7, #4] /* Retrieve ADC handle corresponding to current DMA handle */ ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 80b79b8: 687b ldr r3, [r7, #4] 80b79ba: 6b9b ldr r3, [r3, #56] ; 0x38 80b79bc: 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)) 80b79be: 68fb ldr r3, [r7, #12] 80b79c0: 6c1b ldr r3, [r3, #64] ; 0x40 80b79c2: f003 0350 and.w r3, r3, #80 ; 0x50 80b79c6: 2b00 cmp r3, #0 80b79c8: d13c bne.n 80b7a44 { /* Update ADC state machine */ SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 80b79ca: 68fb ldr r3, [r7, #12] 80b79cc: 6c1b ldr r3, [r3, #64] ; 0x40 80b79ce: f443 7200 orr.w r2, r3, #512 ; 0x200 80b79d2: 68fb ldr r3, [r7, #12] 80b79d4: 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) && 80b79d6: 68fb ldr r3, [r7, #12] 80b79d8: 681b ldr r3, [r3, #0] 80b79da: 689b ldr r3, [r3, #8] 80b79dc: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b79e0: 2b00 cmp r3, #0 80b79e2: d12b bne.n 80b7a3c (hadc->Init.ContinuousConvMode == DISABLE) && 80b79e4: 68fb ldr r3, [r7, #12] 80b79e6: 699b ldr r3, [r3, #24] if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 80b79e8: 2b00 cmp r3, #0 80b79ea: d127 bne.n 80b7a3c (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b79ec: 68fb ldr r3, [r7, #12] 80b79ee: 681b ldr r3, [r3, #0] 80b79f0: 6adb ldr r3, [r3, #44] ; 0x2c 80b79f2: f403 0370 and.w r3, r3, #15728640 ; 0xf00000 (hadc->Init.ContinuousConvMode == DISABLE) && 80b79f6: 2b00 cmp r3, #0 80b79f8: d006 beq.n 80b7a08 HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) ) 80b79fa: 68fb ldr r3, [r7, #12] 80b79fc: 681b ldr r3, [r3, #0] 80b79fe: 689b ldr r3, [r3, #8] 80b7a00: f403 6380 and.w r3, r3, #1024 ; 0x400 (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b7a04: 2b00 cmp r3, #0 80b7a06: d119 bne.n 80b7a3c { /* 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); 80b7a08: 68fb ldr r3, [r7, #12] 80b7a0a: 681b ldr r3, [r3, #0] 80b7a0c: 68fa ldr r2, [r7, #12] 80b7a0e: 6812 ldr r2, [r2, #0] 80b7a10: 6852 ldr r2, [r2, #4] 80b7a12: f022 0220 bic.w r2, r2, #32 80b7a16: 605a str r2, [r3, #4] /* Set ADC state */ CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 80b7a18: 68fb ldr r3, [r7, #12] 80b7a1a: 6c1b ldr r3, [r3, #64] ; 0x40 80b7a1c: f423 7280 bic.w r2, r3, #256 ; 0x100 80b7a20: 68fb ldr r3, [r7, #12] 80b7a22: 641a str r2, [r3, #64] ; 0x40 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 80b7a24: 68fb ldr r3, [r7, #12] 80b7a26: 6c1b ldr r3, [r3, #64] ; 0x40 80b7a28: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b7a2c: 2b00 cmp r3, #0 80b7a2e: d105 bne.n 80b7a3c { SET_BIT(hadc->State, HAL_ADC_STATE_READY); 80b7a30: 68fb ldr r3, [r7, #12] 80b7a32: 6c1b ldr r3, [r3, #64] ; 0x40 80b7a34: f043 0201 orr.w r2, r3, #1 80b7a38: 68fb ldr r3, [r7, #12] 80b7a3a: 641a str r2, [r3, #64] ; 0x40 /* Conversion complete callback */ #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) hadc->ConvCpltCallback(hadc); #else HAL_ADC_ConvCpltCallback(hadc); 80b7a3c: 68f8 ldr r0, [r7, #12] 80b7a3e: f79e fe5d bl 80566fc { /* Call DMA error callback */ hadc->DMA_Handle->XferErrorCallback(hdma); } } } 80b7a42: e00e b.n 80b7a62 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL) 80b7a44: 68fb ldr r3, [r7, #12] 80b7a46: 6c1b ldr r3, [r3, #64] ; 0x40 80b7a48: f003 0310 and.w r3, r3, #16 80b7a4c: 2b00 cmp r3, #0 80b7a4e: d003 beq.n 80b7a58 HAL_ADC_ErrorCallback(hadc); 80b7a50: 68f8 ldr r0, [r7, #12] 80b7a52: f7ff fd52 bl 80b74fa } 80b7a56: e004 b.n 80b7a62 hadc->DMA_Handle->XferErrorCallback(hdma); 80b7a58: 68fb ldr r3, [r7, #12] 80b7a5a: 6b9b ldr r3, [r3, #56] ; 0x38 80b7a5c: 6cdb ldr r3, [r3, #76] ; 0x4c 80b7a5e: 6878 ldr r0, [r7, #4] 80b7a60: 4798 blx r3 } 80b7a62: bf00 nop 80b7a64: 3710 adds r7, #16 80b7a66: 46bd mov sp, r7 80b7a68: bd80 pop {r7, pc} 080b7a6a : * @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) { 80b7a6a: b580 push {r7, lr} 80b7a6c: b084 sub sp, #16 80b7a6e: af00 add r7, sp, #0 80b7a70: 6078 str r0, [r7, #4] ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 80b7a72: 687b ldr r3, [r7, #4] 80b7a74: 6b9b ldr r3, [r3, #56] ; 0x38 80b7a76: 60fb str r3, [r7, #12] /* Half conversion callback */ #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) hadc->ConvHalfCpltCallback(hadc); #else HAL_ADC_ConvHalfCpltCallback(hadc); 80b7a78: 68f8 ldr r0, [r7, #12] 80b7a7a: f7ff fd34 bl 80b74e6 #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ } 80b7a7e: bf00 nop 80b7a80: 3710 adds r7, #16 80b7a82: 46bd mov sp, r7 80b7a84: bd80 pop {r7, pc} 080b7a86 : * @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) { 80b7a86: b580 push {r7, lr} 80b7a88: b084 sub sp, #16 80b7a8a: af00 add r7, sp, #0 80b7a8c: 6078 str r0, [r7, #4] ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 80b7a8e: 687b ldr r3, [r7, #4] 80b7a90: 6b9b ldr r3, [r3, #56] ; 0x38 80b7a92: 60fb str r3, [r7, #12] hadc->State= HAL_ADC_STATE_ERROR_DMA; 80b7a94: 68fb ldr r3, [r7, #12] 80b7a96: 2240 movs r2, #64 ; 0x40 80b7a98: 641a str r2, [r3, #64] ; 0x40 /* Set ADC error code to DMA error */ hadc->ErrorCode |= HAL_ADC_ERROR_DMA; 80b7a9a: 68fb ldr r3, [r7, #12] 80b7a9c: 6c5b ldr r3, [r3, #68] ; 0x44 80b7a9e: f043 0204 orr.w r2, r3, #4 80b7aa2: 68fb ldr r3, [r7, #12] 80b7aa4: 645a str r2, [r3, #68] ; 0x44 /* Error callback */ #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) hadc->ErrorCallback(hadc); #else HAL_ADC_ErrorCallback(hadc); 80b7aa6: 68f8 ldr r0, [r7, #12] 80b7aa8: f7ff fd27 bl 80b74fa #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ } 80b7aac: bf00 nop 80b7aae: 3710 adds r7, #16 80b7ab0: 46bd mov sp, r7 80b7ab2: bd80 pop {r7, pc} 080b7ab4 <__NVIC_SetPriorityGrouping>: { 80b7ab4: b480 push {r7} 80b7ab6: b085 sub sp, #20 80b7ab8: af00 add r7, sp, #0 80b7aba: 6078 str r0, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ 80b7abc: 687b ldr r3, [r7, #4] 80b7abe: f003 0307 and.w r3, r3, #7 80b7ac2: 60fb str r3, [r7, #12] reg_value = SCB->AIRCR; /* read old register configuration */ 80b7ac4: 4b0b ldr r3, [pc, #44] ; (80b7af4 <__NVIC_SetPriorityGrouping+0x40>) 80b7ac6: 68db ldr r3, [r3, #12] 80b7ac8: 60bb str r3, [r7, #8] reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ 80b7aca: 68ba ldr r2, [r7, #8] 80b7acc: f64f 03ff movw r3, #63743 ; 0xf8ff 80b7ad0: 4013 ands r3, r2 80b7ad2: 60bb str r3, [r7, #8] (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ 80b7ad4: 68fb ldr r3, [r7, #12] 80b7ad6: 021a lsls r2, r3, #8 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 80b7ad8: 68bb ldr r3, [r7, #8] 80b7ada: 431a orrs r2, r3 reg_value = (reg_value | 80b7adc: 4b06 ldr r3, [pc, #24] ; (80b7af8 <__NVIC_SetPriorityGrouping+0x44>) 80b7ade: 4313 orrs r3, r2 80b7ae0: 60bb str r3, [r7, #8] SCB->AIRCR = reg_value; 80b7ae2: 4a04 ldr r2, [pc, #16] ; (80b7af4 <__NVIC_SetPriorityGrouping+0x40>) 80b7ae4: 68bb ldr r3, [r7, #8] 80b7ae6: 60d3 str r3, [r2, #12] } 80b7ae8: bf00 nop 80b7aea: 3714 adds r7, #20 80b7aec: 46bd mov sp, r7 80b7aee: f85d 7b04 ldr.w r7, [sp], #4 80b7af2: 4770 bx lr 80b7af4: e000ed00 .word 0xe000ed00 80b7af8: 05fa0000 .word 0x05fa0000 080b7afc <__NVIC_GetPriorityGrouping>: { 80b7afc: b480 push {r7} 80b7afe: af00 add r7, sp, #0 return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); 80b7b00: 4b04 ldr r3, [pc, #16] ; (80b7b14 <__NVIC_GetPriorityGrouping+0x18>) 80b7b02: 68db ldr r3, [r3, #12] 80b7b04: 0a1b lsrs r3, r3, #8 80b7b06: f003 0307 and.w r3, r3, #7 } 80b7b0a: 4618 mov r0, r3 80b7b0c: 46bd mov sp, r7 80b7b0e: f85d 7b04 ldr.w r7, [sp], #4 80b7b12: 4770 bx lr 80b7b14: e000ed00 .word 0xe000ed00 080b7b18 <__NVIC_EnableIRQ>: { 80b7b18: b480 push {r7} 80b7b1a: b083 sub sp, #12 80b7b1c: af00 add r7, sp, #0 80b7b1e: 4603 mov r3, r0 80b7b20: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) 80b7b22: f997 3007 ldrsb.w r3, [r7, #7] 80b7b26: 2b00 cmp r3, #0 80b7b28: db0b blt.n 80b7b42 <__NVIC_EnableIRQ+0x2a> NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 80b7b2a: 4909 ldr r1, [pc, #36] ; (80b7b50 <__NVIC_EnableIRQ+0x38>) 80b7b2c: f997 3007 ldrsb.w r3, [r7, #7] 80b7b30: 095b lsrs r3, r3, #5 80b7b32: 79fa ldrb r2, [r7, #7] 80b7b34: f002 021f and.w r2, r2, #31 80b7b38: 2001 movs r0, #1 80b7b3a: fa00 f202 lsl.w r2, r0, r2 80b7b3e: f841 2023 str.w r2, [r1, r3, lsl #2] } 80b7b42: bf00 nop 80b7b44: 370c adds r7, #12 80b7b46: 46bd mov sp, r7 80b7b48: f85d 7b04 ldr.w r7, [sp], #4 80b7b4c: 4770 bx lr 80b7b4e: bf00 nop 80b7b50: e000e100 .word 0xe000e100 080b7b54 <__NVIC_DisableIRQ>: { 80b7b54: b480 push {r7} 80b7b56: b083 sub sp, #12 80b7b58: af00 add r7, sp, #0 80b7b5a: 4603 mov r3, r0 80b7b5c: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) 80b7b5e: f997 3007 ldrsb.w r3, [r7, #7] 80b7b62: 2b00 cmp r3, #0 80b7b64: db10 blt.n 80b7b88 <__NVIC_DisableIRQ+0x34> NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 80b7b66: 490b ldr r1, [pc, #44] ; (80b7b94 <__NVIC_DisableIRQ+0x40>) 80b7b68: f997 3007 ldrsb.w r3, [r7, #7] 80b7b6c: 095b lsrs r3, r3, #5 80b7b6e: 79fa ldrb r2, [r7, #7] 80b7b70: f002 021f and.w r2, r2, #31 80b7b74: 2001 movs r0, #1 80b7b76: fa00 f202 lsl.w r2, r0, r2 80b7b7a: 3320 adds r3, #32 80b7b7c: f841 2023 str.w r2, [r1, r3, lsl #2] __ASM volatile ("dsb 0xF":::"memory"); 80b7b80: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80b7b84: f3bf 8f6f isb sy } 80b7b88: bf00 nop 80b7b8a: 370c adds r7, #12 80b7b8c: 46bd mov sp, r7 80b7b8e: f85d 7b04 ldr.w r7, [sp], #4 80b7b92: 4770 bx lr 80b7b94: e000e100 .word 0xe000e100 080b7b98 <__NVIC_SetPriority>: { 80b7b98: b480 push {r7} 80b7b9a: b083 sub sp, #12 80b7b9c: af00 add r7, sp, #0 80b7b9e: 4603 mov r3, r0 80b7ba0: 6039 str r1, [r7, #0] 80b7ba2: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) 80b7ba4: f997 3007 ldrsb.w r3, [r7, #7] 80b7ba8: 2b00 cmp r3, #0 80b7baa: db0a blt.n 80b7bc2 <__NVIC_SetPriority+0x2a> NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); 80b7bac: 490d ldr r1, [pc, #52] ; (80b7be4 <__NVIC_SetPriority+0x4c>) 80b7bae: f997 3007 ldrsb.w r3, [r7, #7] 80b7bb2: 683a ldr r2, [r7, #0] 80b7bb4: b2d2 uxtb r2, r2 80b7bb6: 0112 lsls r2, r2, #4 80b7bb8: b2d2 uxtb r2, r2 80b7bba: 440b add r3, r1 80b7bbc: f883 2300 strb.w r2, [r3, #768] ; 0x300 } 80b7bc0: e00a b.n 80b7bd8 <__NVIC_SetPriority+0x40> SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); 80b7bc2: 4909 ldr r1, [pc, #36] ; (80b7be8 <__NVIC_SetPriority+0x50>) 80b7bc4: 79fb ldrb r3, [r7, #7] 80b7bc6: f003 030f and.w r3, r3, #15 80b7bca: 3b04 subs r3, #4 80b7bcc: 683a ldr r2, [r7, #0] 80b7bce: b2d2 uxtb r2, r2 80b7bd0: 0112 lsls r2, r2, #4 80b7bd2: b2d2 uxtb r2, r2 80b7bd4: 440b add r3, r1 80b7bd6: 761a strb r2, [r3, #24] } 80b7bd8: bf00 nop 80b7bda: 370c adds r7, #12 80b7bdc: 46bd mov sp, r7 80b7bde: f85d 7b04 ldr.w r7, [sp], #4 80b7be2: 4770 bx lr 80b7be4: e000e100 .word 0xe000e100 80b7be8: e000ed00 .word 0xe000ed00 080b7bec : { 80b7bec: b480 push {r7} 80b7bee: b089 sub sp, #36 ; 0x24 80b7bf0: af00 add r7, sp, #0 80b7bf2: 60f8 str r0, [r7, #12] 80b7bf4: 60b9 str r1, [r7, #8] 80b7bf6: 607a str r2, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ 80b7bf8: 68fb ldr r3, [r7, #12] 80b7bfa: f003 0307 and.w r3, r3, #7 80b7bfe: 61fb str r3, [r7, #28] PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); 80b7c00: 69fb ldr r3, [r7, #28] 80b7c02: f1c3 0307 rsb r3, r3, #7 80b7c06: 2b04 cmp r3, #4 80b7c08: bf28 it cs 80b7c0a: 2304 movcs r3, #4 80b7c0c: 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)); 80b7c0e: 69fb ldr r3, [r7, #28] 80b7c10: 3304 adds r3, #4 80b7c12: 2b06 cmp r3, #6 80b7c14: d902 bls.n 80b7c1c 80b7c16: 69fb ldr r3, [r7, #28] 80b7c18: 3b03 subs r3, #3 80b7c1a: e000 b.n 80b7c1e 80b7c1c: 2300 movs r3, #0 80b7c1e: 617b str r3, [r7, #20] ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | 80b7c20: 2201 movs r2, #1 80b7c22: 69bb ldr r3, [r7, #24] 80b7c24: fa02 f303 lsl.w r3, r2, r3 80b7c28: 1e5a subs r2, r3, #1 80b7c2a: 68bb ldr r3, [r7, #8] 80b7c2c: 401a ands r2, r3 80b7c2e: 697b ldr r3, [r7, #20] 80b7c30: 409a lsls r2, r3 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) 80b7c32: 2101 movs r1, #1 80b7c34: 697b ldr r3, [r7, #20] 80b7c36: fa01 f303 lsl.w r3, r1, r3 80b7c3a: 1e59 subs r1, r3, #1 80b7c3c: 687b ldr r3, [r7, #4] 80b7c3e: 400b ands r3, r1 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | 80b7c40: 4313 orrs r3, r2 } 80b7c42: 4618 mov r0, r3 80b7c44: 3724 adds r7, #36 ; 0x24 80b7c46: 46bd mov sp, r7 80b7c48: f85d 7b04 ldr.w r7, [sp], #4 80b7c4c: 4770 bx lr ... 080b7c50 <__NVIC_SystemReset>: { 80b7c50: b480 push {r7} 80b7c52: af00 add r7, sp, #0 __ASM volatile ("dsb 0xF":::"memory"); 80b7c54: f3bf 8f4f dsb sy SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 80b7c58: 4905 ldr r1, [pc, #20] ; (80b7c70 <__NVIC_SystemReset+0x20>) (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | 80b7c5a: 4b05 ldr r3, [pc, #20] ; (80b7c70 <__NVIC_SystemReset+0x20>) 80b7c5c: 68db ldr r3, [r3, #12] 80b7c5e: f403 62e0 and.w r2, r3, #1792 ; 0x700 SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 80b7c62: 4b04 ldr r3, [pc, #16] ; (80b7c74 <__NVIC_SystemReset+0x24>) 80b7c64: 4313 orrs r3, r2 80b7c66: 60cb str r3, [r1, #12] 80b7c68: f3bf 8f4f dsb sy __NOP(); 80b7c6c: bf00 nop 80b7c6e: e7fd b.n 80b7c6c <__NVIC_SystemReset+0x1c> 80b7c70: e000ed00 .word 0xe000ed00 80b7c74: 05fa0004 .word 0x05fa0004 080b7c78 : \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) { 80b7c78: b580 push {r7, lr} 80b7c7a: b082 sub sp, #8 80b7c7c: af00 add r7, sp, #0 80b7c7e: 6078 str r0, [r7, #4] if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) 80b7c80: 687b ldr r3, [r7, #4] 80b7c82: 3b01 subs r3, #1 80b7c84: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 80b7c88: d301 bcc.n 80b7c8e { return (1UL); /* Reload value impossible */ 80b7c8a: 2301 movs r3, #1 80b7c8c: e00f b.n 80b7cae } SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ 80b7c8e: 4a0a ldr r2, [pc, #40] ; (80b7cb8 ) 80b7c90: 687b ldr r3, [r7, #4] 80b7c92: 3b01 subs r3, #1 80b7c94: 6053 str r3, [r2, #4] NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ 80b7c96: 210f movs r1, #15 80b7c98: f04f 30ff mov.w r0, #4294967295 80b7c9c: f7ff ff7c bl 80b7b98 <__NVIC_SetPriority> SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ 80b7ca0: 4b05 ldr r3, [pc, #20] ; (80b7cb8 ) 80b7ca2: 2200 movs r2, #0 80b7ca4: 609a str r2, [r3, #8] SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | 80b7ca6: 4b04 ldr r3, [pc, #16] ; (80b7cb8 ) 80b7ca8: 2207 movs r2, #7 80b7caa: 601a str r2, [r3, #0] SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ return (0UL); /* Function successful */ 80b7cac: 2300 movs r3, #0 } 80b7cae: 4618 mov r0, r3 80b7cb0: 3708 adds r7, #8 80b7cb2: 46bd mov sp, r7 80b7cb4: bd80 pop {r7, pc} 80b7cb6: bf00 nop 80b7cb8: e000e010 .word 0xe000e010 080b7cbc : * @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) { 80b7cbc: b580 push {r7, lr} 80b7cbe: b082 sub sp, #8 80b7cc0: af00 add r7, sp, #0 80b7cc2: 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); 80b7cc4: 6878 ldr r0, [r7, #4] 80b7cc6: f7ff fef5 bl 80b7ab4 <__NVIC_SetPriorityGrouping> } 80b7cca: bf00 nop 80b7ccc: 3708 adds r7, #8 80b7cce: 46bd mov sp, r7 80b7cd0: bd80 pop {r7, pc} 080b7cd2 : * 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) { 80b7cd2: b580 push {r7, lr} 80b7cd4: b086 sub sp, #24 80b7cd6: af00 add r7, sp, #0 80b7cd8: 4603 mov r3, r0 80b7cda: 60b9 str r1, [r7, #8] 80b7cdc: 607a str r2, [r7, #4] 80b7cde: 73fb strb r3, [r7, #15] uint32_t prioritygroup = 0x00; 80b7ce0: 2300 movs r3, #0 80b7ce2: 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(); 80b7ce4: f7ff ff0a bl 80b7afc <__NVIC_GetPriorityGrouping> 80b7ce8: 6178 str r0, [r7, #20] NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority)); 80b7cea: 687a ldr r2, [r7, #4] 80b7cec: 68b9 ldr r1, [r7, #8] 80b7cee: 6978 ldr r0, [r7, #20] 80b7cf0: f7ff ff7c bl 80b7bec 80b7cf4: 4602 mov r2, r0 80b7cf6: f997 300f ldrsb.w r3, [r7, #15] 80b7cfa: 4611 mov r1, r2 80b7cfc: 4618 mov r0, r3 80b7cfe: f7ff ff4b bl 80b7b98 <__NVIC_SetPriority> } 80b7d02: bf00 nop 80b7d04: 3718 adds r7, #24 80b7d06: 46bd mov sp, r7 80b7d08: bd80 pop {r7, pc} 080b7d0a : * 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) { 80b7d0a: b580 push {r7, lr} 80b7d0c: b082 sub sp, #8 80b7d0e: af00 add r7, sp, #0 80b7d10: 4603 mov r3, r0 80b7d12: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Enable interrupt */ NVIC_EnableIRQ(IRQn); 80b7d14: f997 3007 ldrsb.w r3, [r7, #7] 80b7d18: 4618 mov r0, r3 80b7d1a: f7ff fefd bl 80b7b18 <__NVIC_EnableIRQ> } 80b7d1e: bf00 nop 80b7d20: 3708 adds r7, #8 80b7d22: 46bd mov sp, r7 80b7d24: bd80 pop {r7, pc} 080b7d26 : * 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) { 80b7d26: b580 push {r7, lr} 80b7d28: b082 sub sp, #8 80b7d2a: af00 add r7, sp, #0 80b7d2c: 4603 mov r3, r0 80b7d2e: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Disable interrupt */ NVIC_DisableIRQ(IRQn); 80b7d30: f997 3007 ldrsb.w r3, [r7, #7] 80b7d34: 4618 mov r0, r3 80b7d36: f7ff ff0d bl 80b7b54 <__NVIC_DisableIRQ> } 80b7d3a: bf00 nop 80b7d3c: 3708 adds r7, #8 80b7d3e: 46bd mov sp, r7 80b7d40: bd80 pop {r7, pc} 080b7d42 : /** * @brief Initiates a system reset request to reset the MCU. * @retval None */ void HAL_NVIC_SystemReset(void) { 80b7d42: b580 push {r7, lr} 80b7d44: af00 add r7, sp, #0 /* System Reset */ NVIC_SystemReset(); 80b7d46: f7ff ff83 bl 80b7c50 <__NVIC_SystemReset> 080b7d4a : * @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) { 80b7d4a: b580 push {r7, lr} 80b7d4c: b082 sub sp, #8 80b7d4e: af00 add r7, sp, #0 80b7d50: 6078 str r0, [r7, #4] return SysTick_Config(TicksNumb); 80b7d52: 6878 ldr r0, [r7, #4] 80b7d54: f7ff ff90 bl 80b7c78 80b7d58: 4603 mov r3, r0 } 80b7d5a: 4618 mov r0, r3 80b7d5c: 3708 adds r7, #8 80b7d5e: 46bd mov sp, r7 80b7d60: bd80 pop {r7, pc} ... 080b7d64 : /** * @brief Disables the MPU * @retval None */ void HAL_MPU_Disable(void) { 80b7d64: b480 push {r7} 80b7d66: 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"); 80b7d68: f3bf 8f5f dmb sy /* Make sure outstanding transfers are done */ __DMB(); /* Disable fault exceptions */ SCB->SHCSR &= ~SCB_SHCSR_MEMFAULTENA_Msk; 80b7d6c: 4a06 ldr r2, [pc, #24] ; (80b7d88 ) 80b7d6e: 4b06 ldr r3, [pc, #24] ; (80b7d88 ) 80b7d70: 6a5b ldr r3, [r3, #36] ; 0x24 80b7d72: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80b7d76: 6253 str r3, [r2, #36] ; 0x24 /* Disable the MPU and clear the control register*/ MPU->CTRL = 0; 80b7d78: 4b04 ldr r3, [pc, #16] ; (80b7d8c ) 80b7d7a: 2200 movs r2, #0 80b7d7c: 605a str r2, [r3, #4] } 80b7d7e: bf00 nop 80b7d80: 46bd mov sp, r7 80b7d82: f85d 7b04 ldr.w r7, [sp], #4 80b7d86: 4770 bx lr 80b7d88: e000ed00 .word 0xe000ed00 80b7d8c: e000ed90 .word 0xe000ed90 080b7d90 : * @arg MPU_PRIVILEGED_DEFAULT * @arg MPU_HFNMI_PRIVDEF * @retval None */ void HAL_MPU_Enable(uint32_t MPU_Control) { 80b7d90: b480 push {r7} 80b7d92: b083 sub sp, #12 80b7d94: af00 add r7, sp, #0 80b7d96: 6078 str r0, [r7, #4] /* Enable the MPU */ MPU->CTRL = MPU_Control | MPU_CTRL_ENABLE_Msk; 80b7d98: 4a0a ldr r2, [pc, #40] ; (80b7dc4 ) 80b7d9a: 687b ldr r3, [r7, #4] 80b7d9c: f043 0301 orr.w r3, r3, #1 80b7da0: 6053 str r3, [r2, #4] /* Enable fault exceptions */ SCB->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk; 80b7da2: 4a09 ldr r2, [pc, #36] ; (80b7dc8 ) 80b7da4: 4b08 ldr r3, [pc, #32] ; (80b7dc8 ) 80b7da6: 6a5b ldr r3, [r3, #36] ; 0x24 80b7da8: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b7dac: 6253 str r3, [r2, #36] ; 0x24 __ASM volatile ("dsb 0xF":::"memory"); 80b7dae: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80b7db2: f3bf 8f6f isb sy /* Ensure MPU setting take effects */ __DSB(); __ISB(); } 80b7db6: bf00 nop 80b7db8: 370c adds r7, #12 80b7dba: 46bd mov sp, r7 80b7dbc: f85d 7b04 ldr.w r7, [sp], #4 80b7dc0: 4770 bx lr 80b7dc2: bf00 nop 80b7dc4: e000ed90 .word 0xe000ed90 80b7dc8: e000ed00 .word 0xe000ed00 080b7dcc : * @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) { 80b7dcc: b480 push {r7} 80b7dce: b083 sub sp, #12 80b7dd0: af00 add r7, sp, #0 80b7dd2: 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; 80b7dd4: 4a1e ldr r2, [pc, #120] ; (80b7e50 ) 80b7dd6: 687b ldr r3, [r7, #4] 80b7dd8: 785b ldrb r3, [r3, #1] 80b7dda: 6093 str r3, [r2, #8] if ((MPU_Init->Enable) != RESET) 80b7ddc: 687b ldr r3, [r7, #4] 80b7dde: 781b ldrb r3, [r3, #0] 80b7de0: 2b00 cmp r3, #0 80b7de2: d028 beq.n 80b7e36 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; 80b7de4: 4a1a ldr r2, [pc, #104] ; (80b7e50 ) 80b7de6: 687b ldr r3, [r7, #4] 80b7de8: 685b ldr r3, [r3, #4] 80b7dea: 60d3 str r3, [r2, #12] MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) | 80b7dec: 4918 ldr r1, [pc, #96] ; (80b7e50 ) 80b7dee: 687b ldr r3, [r7, #4] 80b7df0: 7b1b ldrb r3, [r3, #12] 80b7df2: 071a lsls r2, r3, #28 ((uint32_t)MPU_Init->AccessPermission << MPU_RASR_AP_Pos) | 80b7df4: 687b ldr r3, [r7, #4] 80b7df6: 7adb ldrb r3, [r3, #11] 80b7df8: 061b lsls r3, r3, #24 MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) | 80b7dfa: 431a orrs r2, r3 ((uint32_t)MPU_Init->TypeExtField << MPU_RASR_TEX_Pos) | 80b7dfc: 687b ldr r3, [r7, #4] 80b7dfe: 7a9b ldrb r3, [r3, #10] 80b7e00: 04db lsls r3, r3, #19 ((uint32_t)MPU_Init->AccessPermission << MPU_RASR_AP_Pos) | 80b7e02: 431a orrs r2, r3 ((uint32_t)MPU_Init->IsShareable << MPU_RASR_S_Pos) | 80b7e04: 687b ldr r3, [r7, #4] 80b7e06: 7b5b ldrb r3, [r3, #13] 80b7e08: 049b lsls r3, r3, #18 ((uint32_t)MPU_Init->TypeExtField << MPU_RASR_TEX_Pos) | 80b7e0a: 431a orrs r2, r3 ((uint32_t)MPU_Init->IsCacheable << MPU_RASR_C_Pos) | 80b7e0c: 687b ldr r3, [r7, #4] 80b7e0e: 7b9b ldrb r3, [r3, #14] 80b7e10: 045b lsls r3, r3, #17 ((uint32_t)MPU_Init->IsShareable << MPU_RASR_S_Pos) | 80b7e12: 431a orrs r2, r3 ((uint32_t)MPU_Init->IsBufferable << MPU_RASR_B_Pos) | 80b7e14: 687b ldr r3, [r7, #4] 80b7e16: 7bdb ldrb r3, [r3, #15] 80b7e18: 041b lsls r3, r3, #16 ((uint32_t)MPU_Init->IsCacheable << MPU_RASR_C_Pos) | 80b7e1a: 431a orrs r2, r3 ((uint32_t)MPU_Init->SubRegionDisable << MPU_RASR_SRD_Pos) | 80b7e1c: 687b ldr r3, [r7, #4] 80b7e1e: 7a5b ldrb r3, [r3, #9] 80b7e20: 021b lsls r3, r3, #8 ((uint32_t)MPU_Init->IsBufferable << MPU_RASR_B_Pos) | 80b7e22: 431a orrs r2, r3 ((uint32_t)MPU_Init->Size << MPU_RASR_SIZE_Pos) | 80b7e24: 687b ldr r3, [r7, #4] 80b7e26: 7a1b ldrb r3, [r3, #8] 80b7e28: 005b lsls r3, r3, #1 ((uint32_t)MPU_Init->SubRegionDisable << MPU_RASR_SRD_Pos) | 80b7e2a: 4313 orrs r3, r2 ((uint32_t)MPU_Init->Enable << MPU_RASR_ENABLE_Pos); 80b7e2c: 687a ldr r2, [r7, #4] 80b7e2e: 7812 ldrb r2, [r2, #0] ((uint32_t)MPU_Init->Size << MPU_RASR_SIZE_Pos) | 80b7e30: 4313 orrs r3, r2 MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) | 80b7e32: 610b str r3, [r1, #16] else { MPU->RBAR = 0x00; MPU->RASR = 0x00; } } 80b7e34: e005 b.n 80b7e42 MPU->RBAR = 0x00; 80b7e36: 4b06 ldr r3, [pc, #24] ; (80b7e50 ) 80b7e38: 2200 movs r2, #0 80b7e3a: 60da str r2, [r3, #12] MPU->RASR = 0x00; 80b7e3c: 4b04 ldr r3, [pc, #16] ; (80b7e50 ) 80b7e3e: 2200 movs r2, #0 80b7e40: 611a str r2, [r3, #16] } 80b7e42: bf00 nop 80b7e44: 370c adds r7, #12 80b7e46: 46bd mov sp, r7 80b7e48: f85d 7b04 ldr.w r7, [sp], #4 80b7e4c: 4770 bx lr 80b7e4e: bf00 nop 80b7e50: e000ed90 .word 0xe000ed90 080b7e54 : * @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) { 80b7e54: b580 push {r7, lr} 80b7e56: b086 sub sp, #24 80b7e58: af00 add r7, sp, #0 80b7e5a: 6078 str r0, [r7, #4] uint32_t tmp = 0U; 80b7e5c: 2300 movs r3, #0 80b7e5e: 617b str r3, [r7, #20] uint32_t tickstart = HAL_GetTick(); 80b7e60: f7fe ffe0 bl 80b6e24 80b7e64: 6138 str r0, [r7, #16] DMA_Base_Registers *regs; /* Check the DMA peripheral state */ if(hdma == NULL) 80b7e66: 687b ldr r3, [r7, #4] 80b7e68: 2b00 cmp r3, #0 80b7e6a: d101 bne.n 80b7e70 { return HAL_ERROR; 80b7e6c: 2301 movs r3, #1 80b7e6e: e099 b.n 80b7fa4 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; 80b7e70: 687b ldr r3, [r7, #4] 80b7e72: 2202 movs r2, #2 80b7e74: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Allocate lock resource */ __HAL_UNLOCK(hdma); 80b7e78: 687b ldr r3, [r7, #4] 80b7e7a: 2200 movs r2, #0 80b7e7c: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Disable the peripheral */ __HAL_DMA_DISABLE(hdma); 80b7e80: 687b ldr r3, [r7, #4] 80b7e82: 681b ldr r3, [r3, #0] 80b7e84: 687a ldr r2, [r7, #4] 80b7e86: 6812 ldr r2, [r2, #0] 80b7e88: 6812 ldr r2, [r2, #0] 80b7e8a: f022 0201 bic.w r2, r2, #1 80b7e8e: 601a str r2, [r3, #0] /* Check if the DMA Stream is effectively disabled */ while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b7e90: e00f b.n 80b7eb2 { /* Check for the Timeout */ if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) 80b7e92: f7fe ffc7 bl 80b6e24 80b7e96: 4602 mov r2, r0 80b7e98: 693b ldr r3, [r7, #16] 80b7e9a: 1ad3 subs r3, r2, r3 80b7e9c: 2b05 cmp r3, #5 80b7e9e: d908 bls.n 80b7eb2 { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 80b7ea0: 687b ldr r3, [r7, #4] 80b7ea2: 2220 movs r2, #32 80b7ea4: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_TIMEOUT; 80b7ea6: 687b ldr r3, [r7, #4] 80b7ea8: 2203 movs r2, #3 80b7eaa: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_TIMEOUT; 80b7eae: 2303 movs r3, #3 80b7eb0: e078 b.n 80b7fa4 while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b7eb2: 687b ldr r3, [r7, #4] 80b7eb4: 681b ldr r3, [r3, #0] 80b7eb6: 681b ldr r3, [r3, #0] 80b7eb8: f003 0301 and.w r3, r3, #1 80b7ebc: 2b00 cmp r3, #0 80b7ebe: d1e8 bne.n 80b7e92 } } /* Get the CR register value */ tmp = hdma->Instance->CR; 80b7ec0: 687b ldr r3, [r7, #4] 80b7ec2: 681b ldr r3, [r3, #0] 80b7ec4: 681b ldr r3, [r3, #0] 80b7ec6: 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 | \ 80b7ec8: 697a ldr r2, [r7, #20] 80b7eca: 4b38 ldr r3, [pc, #224] ; (80b7fac ) 80b7ecc: 4013 ands r3, r2 80b7ece: 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 | 80b7ed0: 687b ldr r3, [r7, #4] 80b7ed2: 685a ldr r2, [r3, #4] 80b7ed4: 687b ldr r3, [r7, #4] 80b7ed6: 689b ldr r3, [r3, #8] 80b7ed8: 431a orrs r2, r3 hdma->Init.PeriphInc | hdma->Init.MemInc | 80b7eda: 687b ldr r3, [r7, #4] 80b7edc: 68db ldr r3, [r3, #12] tmp |= hdma->Init.Channel | hdma->Init.Direction | 80b7ede: 431a orrs r2, r3 hdma->Init.PeriphInc | hdma->Init.MemInc | 80b7ee0: 687b ldr r3, [r7, #4] 80b7ee2: 691b ldr r3, [r3, #16] 80b7ee4: 431a orrs r2, r3 hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 80b7ee6: 687b ldr r3, [r7, #4] 80b7ee8: 695b ldr r3, [r3, #20] hdma->Init.PeriphInc | hdma->Init.MemInc | 80b7eea: 431a orrs r2, r3 hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 80b7eec: 687b ldr r3, [r7, #4] 80b7eee: 699b ldr r3, [r3, #24] 80b7ef0: 431a orrs r2, r3 hdma->Init.Mode | hdma->Init.Priority; 80b7ef2: 687b ldr r3, [r7, #4] 80b7ef4: 69db ldr r3, [r3, #28] hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 80b7ef6: 431a orrs r2, r3 hdma->Init.Mode | hdma->Init.Priority; 80b7ef8: 687b ldr r3, [r7, #4] 80b7efa: 6a1b ldr r3, [r3, #32] 80b7efc: 4313 orrs r3, r2 tmp |= hdma->Init.Channel | hdma->Init.Direction | 80b7efe: 697a ldr r2, [r7, #20] 80b7f00: 4313 orrs r3, r2 80b7f02: 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) 80b7f04: 687b ldr r3, [r7, #4] 80b7f06: 6a5b ldr r3, [r3, #36] ; 0x24 80b7f08: 2b04 cmp r3, #4 80b7f0a: d107 bne.n 80b7f1c { /* Get memory burst and peripheral burst */ tmp |= hdma->Init.MemBurst | hdma->Init.PeriphBurst; 80b7f0c: 687b ldr r3, [r7, #4] 80b7f0e: 6ada ldr r2, [r3, #44] ; 0x2c 80b7f10: 687b ldr r3, [r7, #4] 80b7f12: 6b1b ldr r3, [r3, #48] ; 0x30 80b7f14: 4313 orrs r3, r2 80b7f16: 697a ldr r2, [r7, #20] 80b7f18: 4313 orrs r3, r2 80b7f1a: 617b str r3, [r7, #20] } /* Write to DMA Stream CR register */ hdma->Instance->CR = tmp; 80b7f1c: 687b ldr r3, [r7, #4] 80b7f1e: 681b ldr r3, [r3, #0] 80b7f20: 697a ldr r2, [r7, #20] 80b7f22: 601a str r2, [r3, #0] /* Get the FCR register value */ tmp = hdma->Instance->FCR; 80b7f24: 687b ldr r3, [r7, #4] 80b7f26: 681b ldr r3, [r3, #0] 80b7f28: 695b ldr r3, [r3, #20] 80b7f2a: 617b str r3, [r7, #20] /* Clear Direct mode and FIFO threshold bits */ tmp &= (uint32_t)~(DMA_SxFCR_DMDIS | DMA_SxFCR_FTH); 80b7f2c: 697b ldr r3, [r7, #20] 80b7f2e: f023 0307 bic.w r3, r3, #7 80b7f32: 617b str r3, [r7, #20] /* Prepare the DMA Stream FIFO configuration */ tmp |= hdma->Init.FIFOMode; 80b7f34: 687b ldr r3, [r7, #4] 80b7f36: 6a5b ldr r3, [r3, #36] ; 0x24 80b7f38: 697a ldr r2, [r7, #20] 80b7f3a: 4313 orrs r3, r2 80b7f3c: 617b str r3, [r7, #20] /* The FIFO threshold is not used when the FIFO mode is disabled */ if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE) 80b7f3e: 687b ldr r3, [r7, #4] 80b7f40: 6a5b ldr r3, [r3, #36] ; 0x24 80b7f42: 2b04 cmp r3, #4 80b7f44: d117 bne.n 80b7f76 { /* Get the FIFO threshold */ tmp |= hdma->Init.FIFOThreshold; 80b7f46: 687b ldr r3, [r7, #4] 80b7f48: 6a9b ldr r3, [r3, #40] ; 0x28 80b7f4a: 697a ldr r2, [r7, #20] 80b7f4c: 4313 orrs r3, r2 80b7f4e: 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) 80b7f50: 687b ldr r3, [r7, #4] 80b7f52: 6adb ldr r3, [r3, #44] ; 0x2c 80b7f54: 2b00 cmp r3, #0 80b7f56: d00e beq.n 80b7f76 { if (DMA_CheckFifoParam(hdma) != HAL_OK) 80b7f58: 6878 ldr r0, [r7, #4] 80b7f5a: f000 fb81 bl 80b8660 80b7f5e: 4603 mov r3, r0 80b7f60: 2b00 cmp r3, #0 80b7f62: d008 beq.n 80b7f76 { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_PARAM; 80b7f64: 687b ldr r3, [r7, #4] 80b7f66: 2240 movs r2, #64 ; 0x40 80b7f68: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b7f6a: 687b ldr r3, [r7, #4] 80b7f6c: 2201 movs r2, #1 80b7f6e: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_ERROR; 80b7f72: 2301 movs r3, #1 80b7f74: e016 b.n 80b7fa4 } } } /* Write to DMA Stream FCR */ hdma->Instance->FCR = tmp; 80b7f76: 687b ldr r3, [r7, #4] 80b7f78: 681b ldr r3, [r3, #0] 80b7f7a: 697a ldr r2, [r7, #20] 80b7f7c: 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); 80b7f7e: 6878 ldr r0, [r7, #4] 80b7f80: f000 fb38 bl 80b85f4 80b7f84: 4603 mov r3, r0 80b7f86: 60fb str r3, [r7, #12] /* Clear all interrupt flags */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b7f88: 687b ldr r3, [r7, #4] 80b7f8a: 6ddb ldr r3, [r3, #92] ; 0x5c 80b7f8c: 223f movs r2, #63 ; 0x3f 80b7f8e: 409a lsls r2, r3 80b7f90: 68fb ldr r3, [r7, #12] 80b7f92: 609a str r2, [r3, #8] /* Initialize the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; 80b7f94: 687b ldr r3, [r7, #4] 80b7f96: 2200 movs r2, #0 80b7f98: 655a str r2, [r3, #84] ; 0x54 /* Initialize the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b7f9a: 687b ldr r3, [r7, #4] 80b7f9c: 2201 movs r2, #1 80b7f9e: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_OK; 80b7fa2: 2300 movs r3, #0 } 80b7fa4: 4618 mov r0, r3 80b7fa6: 3718 adds r7, #24 80b7fa8: 46bd mov sp, r7 80b7faa: bd80 pop {r7, pc} 80b7fac: e010803f .word 0xe010803f 080b7fb0 : * @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) { 80b7fb0: b580 push {r7, lr} 80b7fb2: b084 sub sp, #16 80b7fb4: af00 add r7, sp, #0 80b7fb6: 6078 str r0, [r7, #4] DMA_Base_Registers *regs; /* Check the DMA peripheral state */ if(hdma == NULL) 80b7fb8: 687b ldr r3, [r7, #4] 80b7fba: 2b00 cmp r3, #0 80b7fbc: d101 bne.n 80b7fc2 { return HAL_ERROR; 80b7fbe: 2301 movs r3, #1 80b7fc0: e050 b.n 80b8064 } /* Check the DMA peripheral state */ if(hdma->State == HAL_DMA_STATE_BUSY) 80b7fc2: 687b ldr r3, [r7, #4] 80b7fc4: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b7fc8: b2db uxtb r3, r3 80b7fca: 2b02 cmp r3, #2 80b7fcc: d101 bne.n 80b7fd2 { /* Return error status */ return HAL_BUSY; 80b7fce: 2302 movs r3, #2 80b7fd0: e048 b.n 80b8064 /* Check the parameters */ assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance)); /* Disable the selected DMA Streamx */ __HAL_DMA_DISABLE(hdma); 80b7fd2: 687b ldr r3, [r7, #4] 80b7fd4: 681b ldr r3, [r3, #0] 80b7fd6: 687a ldr r2, [r7, #4] 80b7fd8: 6812 ldr r2, [r2, #0] 80b7fda: 6812 ldr r2, [r2, #0] 80b7fdc: f022 0201 bic.w r2, r2, #1 80b7fe0: 601a str r2, [r3, #0] /* Reset DMA Streamx control register */ hdma->Instance->CR = 0U; 80b7fe2: 687b ldr r3, [r7, #4] 80b7fe4: 681b ldr r3, [r3, #0] 80b7fe6: 2200 movs r2, #0 80b7fe8: 601a str r2, [r3, #0] /* Reset DMA Streamx number of data to transfer register */ hdma->Instance->NDTR = 0U; 80b7fea: 687b ldr r3, [r7, #4] 80b7fec: 681b ldr r3, [r3, #0] 80b7fee: 2200 movs r2, #0 80b7ff0: 605a str r2, [r3, #4] /* Reset DMA Streamx peripheral address register */ hdma->Instance->PAR = 0U; 80b7ff2: 687b ldr r3, [r7, #4] 80b7ff4: 681b ldr r3, [r3, #0] 80b7ff6: 2200 movs r2, #0 80b7ff8: 609a str r2, [r3, #8] /* Reset DMA Streamx memory 0 address register */ hdma->Instance->M0AR = 0U; 80b7ffa: 687b ldr r3, [r7, #4] 80b7ffc: 681b ldr r3, [r3, #0] 80b7ffe: 2200 movs r2, #0 80b8000: 60da str r2, [r3, #12] /* Reset DMA Streamx memory 1 address register */ hdma->Instance->M1AR = 0U; 80b8002: 687b ldr r3, [r7, #4] 80b8004: 681b ldr r3, [r3, #0] 80b8006: 2200 movs r2, #0 80b8008: 611a str r2, [r3, #16] /* Reset DMA Streamx FIFO control register */ hdma->Instance->FCR = (uint32_t)0x00000021U; 80b800a: 687b ldr r3, [r7, #4] 80b800c: 681b ldr r3, [r3, #0] 80b800e: 2221 movs r2, #33 ; 0x21 80b8010: 615a str r2, [r3, #20] /* Get DMA steam Base Address */ regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma); 80b8012: 6878 ldr r0, [r7, #4] 80b8014: f000 faee bl 80b85f4 80b8018: 4603 mov r3, r0 80b801a: 60fb str r3, [r7, #12] /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b801c: 687b ldr r3, [r7, #4] 80b801e: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8020: 223f movs r2, #63 ; 0x3f 80b8022: 409a lsls r2, r3 80b8024: 68fb ldr r3, [r7, #12] 80b8026: 609a str r2, [r3, #8] /* Clean all callbacks */ hdma->XferCpltCallback = NULL; 80b8028: 687b ldr r3, [r7, #4] 80b802a: 2200 movs r2, #0 80b802c: 63da str r2, [r3, #60] ; 0x3c hdma->XferHalfCpltCallback = NULL; 80b802e: 687b ldr r3, [r7, #4] 80b8030: 2200 movs r2, #0 80b8032: 641a str r2, [r3, #64] ; 0x40 hdma->XferM1CpltCallback = NULL; 80b8034: 687b ldr r3, [r7, #4] 80b8036: 2200 movs r2, #0 80b8038: 645a str r2, [r3, #68] ; 0x44 hdma->XferM1HalfCpltCallback = NULL; 80b803a: 687b ldr r3, [r7, #4] 80b803c: 2200 movs r2, #0 80b803e: 649a str r2, [r3, #72] ; 0x48 hdma->XferErrorCallback = NULL; 80b8040: 687b ldr r3, [r7, #4] 80b8042: 2200 movs r2, #0 80b8044: 64da str r2, [r3, #76] ; 0x4c hdma->XferAbortCallback = NULL; 80b8046: 687b ldr r3, [r7, #4] 80b8048: 2200 movs r2, #0 80b804a: 651a str r2, [r3, #80] ; 0x50 /* Reset the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; 80b804c: 687b ldr r3, [r7, #4] 80b804e: 2200 movs r2, #0 80b8050: 655a str r2, [r3, #84] ; 0x54 /* Reset the DMA state */ hdma->State = HAL_DMA_STATE_RESET; 80b8052: 687b ldr r3, [r7, #4] 80b8054: 2200 movs r2, #0 80b8056: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Release Lock */ __HAL_UNLOCK(hdma); 80b805a: 687b ldr r3, [r7, #4] 80b805c: 2200 movs r2, #0 80b805e: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_OK; 80b8062: 2300 movs r3, #0 } 80b8064: 4618 mov r0, r3 80b8066: 3710 adds r7, #16 80b8068: 46bd mov sp, r7 80b806a: bd80 pop {r7, pc} 080b806c : * @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) { 80b806c: b580 push {r7, lr} 80b806e: b086 sub sp, #24 80b8070: af00 add r7, sp, #0 80b8072: 60f8 str r0, [r7, #12] 80b8074: 60b9 str r1, [r7, #8] 80b8076: 607a str r2, [r7, #4] 80b8078: 603b str r3, [r7, #0] HAL_StatusTypeDef status = HAL_OK; 80b807a: 2300 movs r3, #0 80b807c: 75fb strb r3, [r7, #23] /* calculate DMA base and stream number */ DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 80b807e: 68fb ldr r3, [r7, #12] 80b8080: 6d9b ldr r3, [r3, #88] ; 0x58 80b8082: 613b str r3, [r7, #16] /* Check the parameters */ assert_param(IS_DMA_BUFFER_SIZE(DataLength)); /* Process locked */ __HAL_LOCK(hdma); 80b8084: 68fb ldr r3, [r7, #12] 80b8086: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80b808a: 2b01 cmp r3, #1 80b808c: d101 bne.n 80b8092 80b808e: 2302 movs r3, #2 80b8090: e048 b.n 80b8124 80b8092: 68fb ldr r3, [r7, #12] 80b8094: 2201 movs r2, #1 80b8096: f883 2034 strb.w r2, [r3, #52] ; 0x34 if(HAL_DMA_STATE_READY == hdma->State) 80b809a: 68fb ldr r3, [r7, #12] 80b809c: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b80a0: b2db uxtb r3, r3 80b80a2: 2b01 cmp r3, #1 80b80a4: d137 bne.n 80b8116 { /* Change DMA peripheral state */ hdma->State = HAL_DMA_STATE_BUSY; 80b80a6: 68fb ldr r3, [r7, #12] 80b80a8: 2202 movs r2, #2 80b80aa: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Initialize the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; 80b80ae: 68fb ldr r3, [r7, #12] 80b80b0: 2200 movs r2, #0 80b80b2: 655a str r2, [r3, #84] ; 0x54 /* Configure the source, destination address and the data length */ DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); 80b80b4: 683b ldr r3, [r7, #0] 80b80b6: 687a ldr r2, [r7, #4] 80b80b8: 68b9 ldr r1, [r7, #8] 80b80ba: 68f8 ldr r0, [r7, #12] 80b80bc: f000 fa6c bl 80b8598 /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b80c0: 68fb ldr r3, [r7, #12] 80b80c2: 6ddb ldr r3, [r3, #92] ; 0x5c 80b80c4: 223f movs r2, #63 ; 0x3f 80b80c6: 409a lsls r2, r3 80b80c8: 693b ldr r3, [r7, #16] 80b80ca: 609a str r2, [r3, #8] /* Enable Common interrupts*/ hdma->Instance->CR |= DMA_IT_TC | DMA_IT_TE | DMA_IT_DME; 80b80cc: 68fb ldr r3, [r7, #12] 80b80ce: 681b ldr r3, [r3, #0] 80b80d0: 68fa ldr r2, [r7, #12] 80b80d2: 6812 ldr r2, [r2, #0] 80b80d4: 6812 ldr r2, [r2, #0] 80b80d6: f042 0216 orr.w r2, r2, #22 80b80da: 601a str r2, [r3, #0] hdma->Instance->FCR |= DMA_IT_FE; 80b80dc: 68fb ldr r3, [r7, #12] 80b80de: 681b ldr r3, [r3, #0] 80b80e0: 68fa ldr r2, [r7, #12] 80b80e2: 6812 ldr r2, [r2, #0] 80b80e4: 6952 ldr r2, [r2, #20] 80b80e6: f042 0280 orr.w r2, r2, #128 ; 0x80 80b80ea: 615a str r2, [r3, #20] if(hdma->XferHalfCpltCallback != NULL) 80b80ec: 68fb ldr r3, [r7, #12] 80b80ee: 6c1b ldr r3, [r3, #64] ; 0x40 80b80f0: 2b00 cmp r3, #0 80b80f2: d007 beq.n 80b8104 { hdma->Instance->CR |= DMA_IT_HT; 80b80f4: 68fb ldr r3, [r7, #12] 80b80f6: 681b ldr r3, [r3, #0] 80b80f8: 68fa ldr r2, [r7, #12] 80b80fa: 6812 ldr r2, [r2, #0] 80b80fc: 6812 ldr r2, [r2, #0] 80b80fe: f042 0208 orr.w r2, r2, #8 80b8102: 601a str r2, [r3, #0] } /* Enable the Peripheral */ __HAL_DMA_ENABLE(hdma); 80b8104: 68fb ldr r3, [r7, #12] 80b8106: 681b ldr r3, [r3, #0] 80b8108: 68fa ldr r2, [r7, #12] 80b810a: 6812 ldr r2, [r2, #0] 80b810c: 6812 ldr r2, [r2, #0] 80b810e: f042 0201 orr.w r2, r2, #1 80b8112: 601a str r2, [r3, #0] 80b8114: e005 b.n 80b8122 } else { /* Process unlocked */ __HAL_UNLOCK(hdma); 80b8116: 68fb ldr r3, [r7, #12] 80b8118: 2200 movs r2, #0 80b811a: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Return error status */ status = HAL_BUSY; 80b811e: 2302 movs r3, #2 80b8120: 75fb strb r3, [r7, #23] } return status; 80b8122: 7dfb ldrb r3, [r7, #23] } 80b8124: 4618 mov r0, r3 80b8126: 3718 adds r7, #24 80b8128: 46bd mov sp, r7 80b812a: bd80 pop {r7, pc} 080b812c : * 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) { 80b812c: b580 push {r7, lr} 80b812e: b084 sub sp, #16 80b8130: af00 add r7, sp, #0 80b8132: 6078 str r0, [r7, #4] /* calculate DMA base and stream number */ DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 80b8134: 687b ldr r3, [r7, #4] 80b8136: 6d9b ldr r3, [r3, #88] ; 0x58 80b8138: 60fb str r3, [r7, #12] uint32_t tickstart = HAL_GetTick(); 80b813a: f7fe fe73 bl 80b6e24 80b813e: 60b8 str r0, [r7, #8] if(hdma->State != HAL_DMA_STATE_BUSY) 80b8140: 687b ldr r3, [r7, #4] 80b8142: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b8146: b2db uxtb r3, r3 80b8148: 2b02 cmp r3, #2 80b814a: d008 beq.n 80b815e { hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 80b814c: 687b ldr r3, [r7, #4] 80b814e: 2280 movs r2, #128 ; 0x80 80b8150: 655a str r2, [r3, #84] ; 0x54 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b8152: 687b ldr r3, [r7, #4] 80b8154: 2200 movs r2, #0 80b8156: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80b815a: 2301 movs r3, #1 80b815c: e052 b.n 80b8204 } else { /* Disable all the transfer interrupts */ hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); 80b815e: 687b ldr r3, [r7, #4] 80b8160: 681b ldr r3, [r3, #0] 80b8162: 687a ldr r2, [r7, #4] 80b8164: 6812 ldr r2, [r2, #0] 80b8166: 6812 ldr r2, [r2, #0] 80b8168: f022 0216 bic.w r2, r2, #22 80b816c: 601a str r2, [r3, #0] hdma->Instance->FCR &= ~(DMA_IT_FE); 80b816e: 687b ldr r3, [r7, #4] 80b8170: 681b ldr r3, [r3, #0] 80b8172: 687a ldr r2, [r7, #4] 80b8174: 6812 ldr r2, [r2, #0] 80b8176: 6952 ldr r2, [r2, #20] 80b8178: f022 0280 bic.w r2, r2, #128 ; 0x80 80b817c: 615a str r2, [r3, #20] if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) 80b817e: 687b ldr r3, [r7, #4] 80b8180: 6c1b ldr r3, [r3, #64] ; 0x40 80b8182: 2b00 cmp r3, #0 80b8184: d103 bne.n 80b818e 80b8186: 687b ldr r3, [r7, #4] 80b8188: 6c9b ldr r3, [r3, #72] ; 0x48 80b818a: 2b00 cmp r3, #0 80b818c: d007 beq.n 80b819e { hdma->Instance->CR &= ~(DMA_IT_HT); 80b818e: 687b ldr r3, [r7, #4] 80b8190: 681b ldr r3, [r3, #0] 80b8192: 687a ldr r2, [r7, #4] 80b8194: 6812 ldr r2, [r2, #0] 80b8196: 6812 ldr r2, [r2, #0] 80b8198: f022 0208 bic.w r2, r2, #8 80b819c: 601a str r2, [r3, #0] } /* Disable the stream */ __HAL_DMA_DISABLE(hdma); 80b819e: 687b ldr r3, [r7, #4] 80b81a0: 681b ldr r3, [r3, #0] 80b81a2: 687a ldr r2, [r7, #4] 80b81a4: 6812 ldr r2, [r2, #0] 80b81a6: 6812 ldr r2, [r2, #0] 80b81a8: f022 0201 bic.w r2, r2, #1 80b81ac: 601a str r2, [r3, #0] /* Check if the DMA Stream is effectively disabled */ while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b81ae: e013 b.n 80b81d8 { /* Check for the Timeout */ if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) 80b81b0: f7fe fe38 bl 80b6e24 80b81b4: 4602 mov r2, r0 80b81b6: 68bb ldr r3, [r7, #8] 80b81b8: 1ad3 subs r3, r2, r3 80b81ba: 2b05 cmp r3, #5 80b81bc: d90c bls.n 80b81d8 { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 80b81be: 687b ldr r3, [r7, #4] 80b81c0: 2220 movs r2, #32 80b81c2: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_TIMEOUT; 80b81c4: 687b ldr r3, [r7, #4] 80b81c6: 2203 movs r2, #3 80b81c8: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b81cc: 687b ldr r3, [r7, #4] 80b81ce: 2200 movs r2, #0 80b81d0: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_TIMEOUT; 80b81d4: 2303 movs r3, #3 80b81d6: e015 b.n 80b8204 while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b81d8: 687b ldr r3, [r7, #4] 80b81da: 681b ldr r3, [r3, #0] 80b81dc: 681b ldr r3, [r3, #0] 80b81de: f003 0301 and.w r3, r3, #1 80b81e2: 2b00 cmp r3, #0 80b81e4: d1e4 bne.n 80b81b0 } } /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b81e6: 687b ldr r3, [r7, #4] 80b81e8: 6ddb ldr r3, [r3, #92] ; 0x5c 80b81ea: 223f movs r2, #63 ; 0x3f 80b81ec: 409a lsls r2, r3 80b81ee: 68fb ldr r3, [r7, #12] 80b81f0: 609a str r2, [r3, #8] /* Change the DMA state*/ hdma->State = HAL_DMA_STATE_READY; 80b81f2: 687b ldr r3, [r7, #4] 80b81f4: 2201 movs r2, #1 80b81f6: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b81fa: 687b ldr r3, [r7, #4] 80b81fc: 2200 movs r2, #0 80b81fe: f883 2034 strb.w r2, [r3, #52] ; 0x34 } return HAL_OK; 80b8202: 2300 movs r3, #0 } 80b8204: 4618 mov r0, r3 80b8206: 3710 adds r7, #16 80b8208: 46bd mov sp, r7 80b820a: bd80 pop {r7, pc} 080b820c : * @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) { 80b820c: b480 push {r7} 80b820e: b083 sub sp, #12 80b8210: af00 add r7, sp, #0 80b8212: 6078 str r0, [r7, #4] if(hdma->State != HAL_DMA_STATE_BUSY) 80b8214: 687b ldr r3, [r7, #4] 80b8216: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b821a: b2db uxtb r3, r3 80b821c: 2b02 cmp r3, #2 80b821e: d004 beq.n 80b822a { hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 80b8220: 687b ldr r3, [r7, #4] 80b8222: 2280 movs r2, #128 ; 0x80 80b8224: 655a str r2, [r3, #84] ; 0x54 return HAL_ERROR; 80b8226: 2301 movs r3, #1 80b8228: e00c b.n 80b8244 } else { /* Set Abort State */ hdma->State = HAL_DMA_STATE_ABORT; 80b822a: 687b ldr r3, [r7, #4] 80b822c: 2205 movs r2, #5 80b822e: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Disable the stream */ __HAL_DMA_DISABLE(hdma); 80b8232: 687b ldr r3, [r7, #4] 80b8234: 681b ldr r3, [r3, #0] 80b8236: 687a ldr r2, [r7, #4] 80b8238: 6812 ldr r2, [r2, #0] 80b823a: 6812 ldr r2, [r2, #0] 80b823c: f022 0201 bic.w r2, r2, #1 80b8240: 601a str r2, [r3, #0] } return HAL_OK; 80b8242: 2300 movs r3, #0 } 80b8244: 4618 mov r0, r3 80b8246: 370c adds r7, #12 80b8248: 46bd mov sp, r7 80b824a: f85d 7b04 ldr.w r7, [sp], #4 80b824e: 4770 bx lr 080b8250 : * @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) { 80b8250: b580 push {r7, lr} 80b8252: b086 sub sp, #24 80b8254: af00 add r7, sp, #0 80b8256: 6078 str r0, [r7, #4] uint32_t tmpisr; __IO uint32_t count = 0; 80b8258: 2300 movs r3, #0 80b825a: 60bb str r3, [r7, #8] uint32_t timeout = SystemCoreClock / 9600; 80b825c: 4b92 ldr r3, [pc, #584] ; (80b84a8 ) 80b825e: 681b ldr r3, [r3, #0] 80b8260: 4a92 ldr r2, [pc, #584] ; (80b84ac ) 80b8262: fba2 2303 umull r2, r3, r2, r3 80b8266: 0a9b lsrs r3, r3, #10 80b8268: 617b str r3, [r7, #20] /* calculate DMA base and stream number */ DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 80b826a: 687b ldr r3, [r7, #4] 80b826c: 6d9b ldr r3, [r3, #88] ; 0x58 80b826e: 613b str r3, [r7, #16] tmpisr = regs->ISR; 80b8270: 693b ldr r3, [r7, #16] 80b8272: 681b ldr r3, [r3, #0] 80b8274: 60fb str r3, [r7, #12] /* Transfer Error Interrupt management ***************************************/ if ((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET) 80b8276: 687b ldr r3, [r7, #4] 80b8278: 6ddb ldr r3, [r3, #92] ; 0x5c 80b827a: 2208 movs r2, #8 80b827c: 409a lsls r2, r3 80b827e: 68fb ldr r3, [r7, #12] 80b8280: 4013 ands r3, r2 80b8282: 2b00 cmp r3, #0 80b8284: d01a beq.n 80b82bc { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TE) != RESET) 80b8286: 687b ldr r3, [r7, #4] 80b8288: 681b ldr r3, [r3, #0] 80b828a: 681b ldr r3, [r3, #0] 80b828c: f003 0304 and.w r3, r3, #4 80b8290: 2b00 cmp r3, #0 80b8292: d013 beq.n 80b82bc { /* Disable the transfer error interrupt */ hdma->Instance->CR &= ~(DMA_IT_TE); 80b8294: 687b ldr r3, [r7, #4] 80b8296: 681b ldr r3, [r3, #0] 80b8298: 687a ldr r2, [r7, #4] 80b829a: 6812 ldr r2, [r2, #0] 80b829c: 6812 ldr r2, [r2, #0] 80b829e: f022 0204 bic.w r2, r2, #4 80b82a2: 601a str r2, [r3, #0] /* Clear the transfer error flag */ regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex; 80b82a4: 687b ldr r3, [r7, #4] 80b82a6: 6ddb ldr r3, [r3, #92] ; 0x5c 80b82a8: 2208 movs r2, #8 80b82aa: 409a lsls r2, r3 80b82ac: 693b ldr r3, [r7, #16] 80b82ae: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_TE; 80b82b0: 687b ldr r3, [r7, #4] 80b82b2: 6d5b ldr r3, [r3, #84] ; 0x54 80b82b4: f043 0201 orr.w r2, r3, #1 80b82b8: 687b ldr r3, [r7, #4] 80b82ba: 655a str r2, [r3, #84] ; 0x54 } } /* FIFO Error Interrupt management ******************************************/ if ((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET) 80b82bc: 687b ldr r3, [r7, #4] 80b82be: 6ddb ldr r3, [r3, #92] ; 0x5c 80b82c0: 2201 movs r2, #1 80b82c2: 409a lsls r2, r3 80b82c4: 68fb ldr r3, [r7, #12] 80b82c6: 4013 ands r3, r2 80b82c8: 2b00 cmp r3, #0 80b82ca: d012 beq.n 80b82f2 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_FE) != RESET) 80b82cc: 687b ldr r3, [r7, #4] 80b82ce: 681b ldr r3, [r3, #0] 80b82d0: 695b ldr r3, [r3, #20] 80b82d2: f003 0380 and.w r3, r3, #128 ; 0x80 80b82d6: 2b00 cmp r3, #0 80b82d8: d00b beq.n 80b82f2 { /* Clear the FIFO error flag */ regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex; 80b82da: 687b ldr r3, [r7, #4] 80b82dc: 6ddb ldr r3, [r3, #92] ; 0x5c 80b82de: 2201 movs r2, #1 80b82e0: 409a lsls r2, r3 80b82e2: 693b ldr r3, [r7, #16] 80b82e4: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_FE; 80b82e6: 687b ldr r3, [r7, #4] 80b82e8: 6d5b ldr r3, [r3, #84] ; 0x54 80b82ea: f043 0202 orr.w r2, r3, #2 80b82ee: 687b ldr r3, [r7, #4] 80b82f0: 655a str r2, [r3, #84] ; 0x54 } } /* Direct Mode Error Interrupt management ***********************************/ if ((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET) 80b82f2: 687b ldr r3, [r7, #4] 80b82f4: 6ddb ldr r3, [r3, #92] ; 0x5c 80b82f6: 2204 movs r2, #4 80b82f8: 409a lsls r2, r3 80b82fa: 68fb ldr r3, [r7, #12] 80b82fc: 4013 ands r3, r2 80b82fe: 2b00 cmp r3, #0 80b8300: d012 beq.n 80b8328 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DME) != RESET) 80b8302: 687b ldr r3, [r7, #4] 80b8304: 681b ldr r3, [r3, #0] 80b8306: 681b ldr r3, [r3, #0] 80b8308: f003 0302 and.w r3, r3, #2 80b830c: 2b00 cmp r3, #0 80b830e: d00b beq.n 80b8328 { /* Clear the direct mode error flag */ regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex; 80b8310: 687b ldr r3, [r7, #4] 80b8312: 6ddb ldr r3, [r3, #92] ; 0x5c 80b8314: 2204 movs r2, #4 80b8316: 409a lsls r2, r3 80b8318: 693b ldr r3, [r7, #16] 80b831a: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_DME; 80b831c: 687b ldr r3, [r7, #4] 80b831e: 6d5b ldr r3, [r3, #84] ; 0x54 80b8320: f043 0204 orr.w r2, r3, #4 80b8324: 687b ldr r3, [r7, #4] 80b8326: 655a str r2, [r3, #84] ; 0x54 } } /* Half Transfer Complete Interrupt management ******************************/ if ((tmpisr & (DMA_FLAG_HTIF0_4 << hdma->StreamIndex)) != RESET) 80b8328: 687b ldr r3, [r7, #4] 80b832a: 6ddb ldr r3, [r3, #92] ; 0x5c 80b832c: 2210 movs r2, #16 80b832e: 409a lsls r2, r3 80b8330: 68fb ldr r3, [r7, #12] 80b8332: 4013 ands r3, r2 80b8334: 2b00 cmp r3, #0 80b8336: d043 beq.n 80b83c0 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != RESET) 80b8338: 687b ldr r3, [r7, #4] 80b833a: 681b ldr r3, [r3, #0] 80b833c: 681b ldr r3, [r3, #0] 80b833e: f003 0308 and.w r3, r3, #8 80b8342: 2b00 cmp r3, #0 80b8344: d03c beq.n 80b83c0 { /* Clear the half transfer complete flag */ regs->IFCR = DMA_FLAG_HTIF0_4 << hdma->StreamIndex; 80b8346: 687b ldr r3, [r7, #4] 80b8348: 6ddb ldr r3, [r3, #92] ; 0x5c 80b834a: 2210 movs r2, #16 80b834c: 409a lsls r2, r3 80b834e: 693b ldr r3, [r7, #16] 80b8350: 609a str r2, [r3, #8] /* Multi_Buffering mode enabled */ if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) 80b8352: 687b ldr r3, [r7, #4] 80b8354: 681b ldr r3, [r3, #0] 80b8356: 681b ldr r3, [r3, #0] 80b8358: f403 2380 and.w r3, r3, #262144 ; 0x40000 80b835c: 2b00 cmp r3, #0 80b835e: d018 beq.n 80b8392 { /* Current memory buffer used is Memory 0 */ if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) 80b8360: 687b ldr r3, [r7, #4] 80b8362: 681b ldr r3, [r3, #0] 80b8364: 681b ldr r3, [r3, #0] 80b8366: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b836a: 2b00 cmp r3, #0 80b836c: d108 bne.n 80b8380 { if(hdma->XferHalfCpltCallback != NULL) 80b836e: 687b ldr r3, [r7, #4] 80b8370: 6c1b ldr r3, [r3, #64] ; 0x40 80b8372: 2b00 cmp r3, #0 80b8374: d024 beq.n 80b83c0 { /* Half transfer callback */ hdma->XferHalfCpltCallback(hdma); 80b8376: 687b ldr r3, [r7, #4] 80b8378: 6c1b ldr r3, [r3, #64] ; 0x40 80b837a: 6878 ldr r0, [r7, #4] 80b837c: 4798 blx r3 80b837e: e01f b.n 80b83c0 } } /* Current memory buffer used is Memory 1 */ else { if(hdma->XferM1HalfCpltCallback != NULL) 80b8380: 687b ldr r3, [r7, #4] 80b8382: 6c9b ldr r3, [r3, #72] ; 0x48 80b8384: 2b00 cmp r3, #0 80b8386: d01b beq.n 80b83c0 { /* Half transfer callback */ hdma->XferM1HalfCpltCallback(hdma); 80b8388: 687b ldr r3, [r7, #4] 80b838a: 6c9b ldr r3, [r3, #72] ; 0x48 80b838c: 6878 ldr r0, [r7, #4] 80b838e: 4798 blx r3 80b8390: e016 b.n 80b83c0 } } else { /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */ if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) 80b8392: 687b ldr r3, [r7, #4] 80b8394: 681b ldr r3, [r3, #0] 80b8396: 681b ldr r3, [r3, #0] 80b8398: f403 7380 and.w r3, r3, #256 ; 0x100 80b839c: 2b00 cmp r3, #0 80b839e: d107 bne.n 80b83b0 { /* Disable the half transfer interrupt */ hdma->Instance->CR &= ~(DMA_IT_HT); 80b83a0: 687b ldr r3, [r7, #4] 80b83a2: 681b ldr r3, [r3, #0] 80b83a4: 687a ldr r2, [r7, #4] 80b83a6: 6812 ldr r2, [r2, #0] 80b83a8: 6812 ldr r2, [r2, #0] 80b83aa: f022 0208 bic.w r2, r2, #8 80b83ae: 601a str r2, [r3, #0] } if(hdma->XferHalfCpltCallback != NULL) 80b83b0: 687b ldr r3, [r7, #4] 80b83b2: 6c1b ldr r3, [r3, #64] ; 0x40 80b83b4: 2b00 cmp r3, #0 80b83b6: d003 beq.n 80b83c0 { /* Half transfer callback */ hdma->XferHalfCpltCallback(hdma); 80b83b8: 687b ldr r3, [r7, #4] 80b83ba: 6c1b ldr r3, [r3, #64] ; 0x40 80b83bc: 6878 ldr r0, [r7, #4] 80b83be: 4798 blx r3 } } } } /* Transfer Complete Interrupt management ***********************************/ if ((tmpisr & (DMA_FLAG_TCIF0_4 << hdma->StreamIndex)) != RESET) 80b83c0: 687b ldr r3, [r7, #4] 80b83c2: 6ddb ldr r3, [r3, #92] ; 0x5c 80b83c4: 2220 movs r2, #32 80b83c6: 409a lsls r2, r3 80b83c8: 68fb ldr r3, [r7, #12] 80b83ca: 4013 ands r3, r2 80b83cc: 2b00 cmp r3, #0 80b83ce: f000 808e beq.w 80b84ee { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != RESET) 80b83d2: 687b ldr r3, [r7, #4] 80b83d4: 681b ldr r3, [r3, #0] 80b83d6: 681b ldr r3, [r3, #0] 80b83d8: f003 0310 and.w r3, r3, #16 80b83dc: 2b00 cmp r3, #0 80b83de: f000 8086 beq.w 80b84ee { /* Clear the transfer complete flag */ regs->IFCR = DMA_FLAG_TCIF0_4 << hdma->StreamIndex; 80b83e2: 687b ldr r3, [r7, #4] 80b83e4: 6ddb ldr r3, [r3, #92] ; 0x5c 80b83e6: 2220 movs r2, #32 80b83e8: 409a lsls r2, r3 80b83ea: 693b ldr r3, [r7, #16] 80b83ec: 609a str r2, [r3, #8] if(HAL_DMA_STATE_ABORT == hdma->State) 80b83ee: 687b ldr r3, [r7, #4] 80b83f0: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b83f4: b2db uxtb r3, r3 80b83f6: 2b05 cmp r3, #5 80b83f8: d136 bne.n 80b8468 { /* Disable all the transfer interrupts */ hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); 80b83fa: 687b ldr r3, [r7, #4] 80b83fc: 681b ldr r3, [r3, #0] 80b83fe: 687a ldr r2, [r7, #4] 80b8400: 6812 ldr r2, [r2, #0] 80b8402: 6812 ldr r2, [r2, #0] 80b8404: f022 0216 bic.w r2, r2, #22 80b8408: 601a str r2, [r3, #0] hdma->Instance->FCR &= ~(DMA_IT_FE); 80b840a: 687b ldr r3, [r7, #4] 80b840c: 681b ldr r3, [r3, #0] 80b840e: 687a ldr r2, [r7, #4] 80b8410: 6812 ldr r2, [r2, #0] 80b8412: 6952 ldr r2, [r2, #20] 80b8414: f022 0280 bic.w r2, r2, #128 ; 0x80 80b8418: 615a str r2, [r3, #20] if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) 80b841a: 687b ldr r3, [r7, #4] 80b841c: 6c1b ldr r3, [r3, #64] ; 0x40 80b841e: 2b00 cmp r3, #0 80b8420: d103 bne.n 80b842a 80b8422: 687b ldr r3, [r7, #4] 80b8424: 6c9b ldr r3, [r3, #72] ; 0x48 80b8426: 2b00 cmp r3, #0 80b8428: d007 beq.n 80b843a { hdma->Instance->CR &= ~(DMA_IT_HT); 80b842a: 687b ldr r3, [r7, #4] 80b842c: 681b ldr r3, [r3, #0] 80b842e: 687a ldr r2, [r7, #4] 80b8430: 6812 ldr r2, [r2, #0] 80b8432: 6812 ldr r2, [r2, #0] 80b8434: f022 0208 bic.w r2, r2, #8 80b8438: 601a str r2, [r3, #0] } /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b843a: 687b ldr r3, [r7, #4] 80b843c: 6ddb ldr r3, [r3, #92] ; 0x5c 80b843e: 223f movs r2, #63 ; 0x3f 80b8440: 409a lsls r2, r3 80b8442: 693b ldr r3, [r7, #16] 80b8444: 609a str r2, [r3, #8] /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b8446: 687b ldr r3, [r7, #4] 80b8448: 2201 movs r2, #1 80b844a: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b844e: 687b ldr r3, [r7, #4] 80b8450: 2200 movs r2, #0 80b8452: f883 2034 strb.w r2, [r3, #52] ; 0x34 if(hdma->XferAbortCallback != NULL) 80b8456: 687b ldr r3, [r7, #4] 80b8458: 6d1b ldr r3, [r3, #80] ; 0x50 80b845a: 2b00 cmp r3, #0 80b845c: d07d beq.n 80b855a { hdma->XferAbortCallback(hdma); 80b845e: 687b ldr r3, [r7, #4] 80b8460: 6d1b ldr r3, [r3, #80] ; 0x50 80b8462: 6878 ldr r0, [r7, #4] 80b8464: 4798 blx r3 } return; 80b8466: e078 b.n 80b855a } if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) 80b8468: 687b ldr r3, [r7, #4] 80b846a: 681b ldr r3, [r3, #0] 80b846c: 681b ldr r3, [r3, #0] 80b846e: f403 2380 and.w r3, r3, #262144 ; 0x40000 80b8472: 2b00 cmp r3, #0 80b8474: d01c beq.n 80b84b0 { /* Current memory buffer used is Memory 0 */ if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) 80b8476: 687b ldr r3, [r7, #4] 80b8478: 681b ldr r3, [r3, #0] 80b847a: 681b ldr r3, [r3, #0] 80b847c: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b8480: 2b00 cmp r3, #0 80b8482: d108 bne.n 80b8496 { if(hdma->XferM1CpltCallback != NULL) 80b8484: 687b ldr r3, [r7, #4] 80b8486: 6c5b ldr r3, [r3, #68] ; 0x44 80b8488: 2b00 cmp r3, #0 80b848a: d030 beq.n 80b84ee { /* Transfer complete Callback for memory1 */ hdma->XferM1CpltCallback(hdma); 80b848c: 687b ldr r3, [r7, #4] 80b848e: 6c5b ldr r3, [r3, #68] ; 0x44 80b8490: 6878 ldr r0, [r7, #4] 80b8492: 4798 blx r3 80b8494: e02b b.n 80b84ee } } /* Current memory buffer used is Memory 1 */ else { if(hdma->XferCpltCallback != NULL) 80b8496: 687b ldr r3, [r7, #4] 80b8498: 6bdb ldr r3, [r3, #60] ; 0x3c 80b849a: 2b00 cmp r3, #0 80b849c: d027 beq.n 80b84ee { /* Transfer complete Callback for memory0 */ hdma->XferCpltCallback(hdma); 80b849e: 687b ldr r3, [r7, #4] 80b84a0: 6bdb ldr r3, [r3, #60] ; 0x3c 80b84a2: 6878 ldr r0, [r7, #4] 80b84a4: 4798 blx r3 80b84a6: e022 b.n 80b84ee 80b84a8: 200209bc .word 0x200209bc 80b84ac: 1b4e81b5 .word 0x1b4e81b5 } } /* Disable the transfer complete interrupt if the DMA mode is not CIRCULAR */ else { if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) 80b84b0: 687b ldr r3, [r7, #4] 80b84b2: 681b ldr r3, [r3, #0] 80b84b4: 681b ldr r3, [r3, #0] 80b84b6: f403 7380 and.w r3, r3, #256 ; 0x100 80b84ba: 2b00 cmp r3, #0 80b84bc: d10f bne.n 80b84de { /* Disable the transfer complete interrupt */ hdma->Instance->CR &= ~(DMA_IT_TC); 80b84be: 687b ldr r3, [r7, #4] 80b84c0: 681b ldr r3, [r3, #0] 80b84c2: 687a ldr r2, [r7, #4] 80b84c4: 6812 ldr r2, [r2, #0] 80b84c6: 6812 ldr r2, [r2, #0] 80b84c8: f022 0210 bic.w r2, r2, #16 80b84cc: 601a str r2, [r3, #0] /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b84ce: 687b ldr r3, [r7, #4] 80b84d0: 2201 movs r2, #1 80b84d2: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b84d6: 687b ldr r3, [r7, #4] 80b84d8: 2200 movs r2, #0 80b84da: f883 2034 strb.w r2, [r3, #52] ; 0x34 } if(hdma->XferCpltCallback != NULL) 80b84de: 687b ldr r3, [r7, #4] 80b84e0: 6bdb ldr r3, [r3, #60] ; 0x3c 80b84e2: 2b00 cmp r3, #0 80b84e4: d003 beq.n 80b84ee { /* Transfer complete callback */ hdma->XferCpltCallback(hdma); 80b84e6: 687b ldr r3, [r7, #4] 80b84e8: 6bdb ldr r3, [r3, #60] ; 0x3c 80b84ea: 6878 ldr r0, [r7, #4] 80b84ec: 4798 blx r3 } } } /* manage error case */ if(hdma->ErrorCode != HAL_DMA_ERROR_NONE) 80b84ee: 687b ldr r3, [r7, #4] 80b84f0: 6d5b ldr r3, [r3, #84] ; 0x54 80b84f2: 2b00 cmp r3, #0 80b84f4: d032 beq.n 80b855c { if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET) 80b84f6: 687b ldr r3, [r7, #4] 80b84f8: 6d5b ldr r3, [r3, #84] ; 0x54 80b84fa: f003 0301 and.w r3, r3, #1 80b84fe: 2b00 cmp r3, #0 80b8500: d022 beq.n 80b8548 { hdma->State = HAL_DMA_STATE_ABORT; 80b8502: 687b ldr r3, [r7, #4] 80b8504: 2205 movs r2, #5 80b8506: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Disable the stream */ __HAL_DMA_DISABLE(hdma); 80b850a: 687b ldr r3, [r7, #4] 80b850c: 681b ldr r3, [r3, #0] 80b850e: 687a ldr r2, [r7, #4] 80b8510: 6812 ldr r2, [r2, #0] 80b8512: 6812 ldr r2, [r2, #0] 80b8514: f022 0201 bic.w r2, r2, #1 80b8518: 601a str r2, [r3, #0] do { if (++count > timeout) 80b851a: 68bb ldr r3, [r7, #8] 80b851c: 3301 adds r3, #1 80b851e: 60bb str r3, [r7, #8] 80b8520: 697a ldr r2, [r7, #20] 80b8522: 4293 cmp r3, r2 80b8524: d807 bhi.n 80b8536 { break; } } while((hdma->Instance->CR & DMA_SxCR_EN) != RESET); 80b8526: 687b ldr r3, [r7, #4] 80b8528: 681b ldr r3, [r3, #0] 80b852a: 681b ldr r3, [r3, #0] 80b852c: f003 0301 and.w r3, r3, #1 80b8530: 2b00 cmp r3, #0 80b8532: d1f2 bne.n 80b851a 80b8534: e000 b.n 80b8538 break; 80b8536: bf00 nop /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b8538: 687b ldr r3, [r7, #4] 80b853a: 2201 movs r2, #1 80b853c: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b8540: 687b ldr r3, [r7, #4] 80b8542: 2200 movs r2, #0 80b8544: f883 2034 strb.w r2, [r3, #52] ; 0x34 } if(hdma->XferErrorCallback != NULL) 80b8548: 687b ldr r3, [r7, #4] 80b854a: 6cdb ldr r3, [r3, #76] ; 0x4c 80b854c: 2b00 cmp r3, #0 80b854e: d005 beq.n 80b855c { /* Transfer error callback */ hdma->XferErrorCallback(hdma); 80b8550: 687b ldr r3, [r7, #4] 80b8552: 6cdb ldr r3, [r3, #76] ; 0x4c 80b8554: 6878 ldr r0, [r7, #4] 80b8556: 4798 blx r3 80b8558: e000 b.n 80b855c return; 80b855a: bf00 nop } } } 80b855c: 3718 adds r7, #24 80b855e: 46bd mov sp, r7 80b8560: bd80 pop {r7, pc} 80b8562: bf00 nop 080b8564 : * @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) { 80b8564: b480 push {r7} 80b8566: b083 sub sp, #12 80b8568: af00 add r7, sp, #0 80b856a: 6078 str r0, [r7, #4] return hdma->State; 80b856c: 687b ldr r3, [r7, #4] 80b856e: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b8572: b2db uxtb r3, r3 } 80b8574: 4618 mov r0, r3 80b8576: 370c adds r7, #12 80b8578: 46bd mov sp, r7 80b857a: f85d 7b04 ldr.w r7, [sp], #4 80b857e: 4770 bx lr 080b8580 : * @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) { 80b8580: b480 push {r7} 80b8582: b083 sub sp, #12 80b8584: af00 add r7, sp, #0 80b8586: 6078 str r0, [r7, #4] return hdma->ErrorCode; 80b8588: 687b ldr r3, [r7, #4] 80b858a: 6d5b ldr r3, [r3, #84] ; 0x54 } 80b858c: 4618 mov r0, r3 80b858e: 370c adds r7, #12 80b8590: 46bd mov sp, r7 80b8592: f85d 7b04 ldr.w r7, [sp], #4 80b8596: 4770 bx lr 080b8598 : * @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) { 80b8598: b480 push {r7} 80b859a: b085 sub sp, #20 80b859c: af00 add r7, sp, #0 80b859e: 60f8 str r0, [r7, #12] 80b85a0: 60b9 str r1, [r7, #8] 80b85a2: 607a str r2, [r7, #4] 80b85a4: 603b str r3, [r7, #0] /* Clear DBM bit */ hdma->Instance->CR &= (uint32_t)(~DMA_SxCR_DBM); 80b85a6: 68fb ldr r3, [r7, #12] 80b85a8: 681b ldr r3, [r3, #0] 80b85aa: 68fa ldr r2, [r7, #12] 80b85ac: 6812 ldr r2, [r2, #0] 80b85ae: 6812 ldr r2, [r2, #0] 80b85b0: f422 2280 bic.w r2, r2, #262144 ; 0x40000 80b85b4: 601a str r2, [r3, #0] /* Configure DMA Stream data length */ hdma->Instance->NDTR = DataLength; 80b85b6: 68fb ldr r3, [r7, #12] 80b85b8: 681b ldr r3, [r3, #0] 80b85ba: 683a ldr r2, [r7, #0] 80b85bc: 605a str r2, [r3, #4] /* Memory to Peripheral */ if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) 80b85be: 68fb ldr r3, [r7, #12] 80b85c0: 689b ldr r3, [r3, #8] 80b85c2: 2b40 cmp r3, #64 ; 0x40 80b85c4: d108 bne.n 80b85d8 { /* Configure DMA Stream destination address */ hdma->Instance->PAR = DstAddress; 80b85c6: 68fb ldr r3, [r7, #12] 80b85c8: 681b ldr r3, [r3, #0] 80b85ca: 687a ldr r2, [r7, #4] 80b85cc: 609a str r2, [r3, #8] /* Configure DMA Stream source address */ hdma->Instance->M0AR = SrcAddress; 80b85ce: 68fb ldr r3, [r7, #12] 80b85d0: 681b ldr r3, [r3, #0] 80b85d2: 68ba ldr r2, [r7, #8] 80b85d4: 60da str r2, [r3, #12] hdma->Instance->PAR = SrcAddress; /* Configure DMA Stream destination address */ hdma->Instance->M0AR = DstAddress; } } 80b85d6: e007 b.n 80b85e8 hdma->Instance->PAR = SrcAddress; 80b85d8: 68fb ldr r3, [r7, #12] 80b85da: 681b ldr r3, [r3, #0] 80b85dc: 68ba ldr r2, [r7, #8] 80b85de: 609a str r2, [r3, #8] hdma->Instance->M0AR = DstAddress; 80b85e0: 68fb ldr r3, [r7, #12] 80b85e2: 681b ldr r3, [r3, #0] 80b85e4: 687a ldr r2, [r7, #4] 80b85e6: 60da str r2, [r3, #12] } 80b85e8: bf00 nop 80b85ea: 3714 adds r7, #20 80b85ec: 46bd mov sp, r7 80b85ee: f85d 7b04 ldr.w r7, [sp], #4 80b85f2: 4770 bx lr 080b85f4 : * @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) { 80b85f4: b480 push {r7} 80b85f6: b085 sub sp, #20 80b85f8: af00 add r7, sp, #0 80b85fa: 6078 str r0, [r7, #4] uint32_t stream_number = (((uint32_t)hdma->Instance & 0xFFU) - 16U) / 24U; 80b85fc: 687b ldr r3, [r7, #4] 80b85fe: 681b ldr r3, [r3, #0] 80b8600: b2db uxtb r3, r3 80b8602: 3b10 subs r3, #16 80b8604: 4a13 ldr r2, [pc, #76] ; (80b8654 ) 80b8606: fba2 2303 umull r2, r3, r2, r3 80b860a: 091b lsrs r3, r3, #4 80b860c: 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]; 80b860e: 4a12 ldr r2, [pc, #72] ; (80b8658 ) 80b8610: 68fb ldr r3, [r7, #12] 80b8612: 4413 add r3, r2 80b8614: 781b ldrb r3, [r3, #0] 80b8616: 461a mov r2, r3 80b8618: 687b ldr r3, [r7, #4] 80b861a: 65da str r2, [r3, #92] ; 0x5c if (stream_number > 3U) 80b861c: 68fb ldr r3, [r7, #12] 80b861e: 2b03 cmp r3, #3 80b8620: d908 bls.n 80b8634 { /* return pointer to HISR and HIFCR */ hdma->StreamBaseAddress = (((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)) + 4U); 80b8622: 687b ldr r3, [r7, #4] 80b8624: 681b ldr r3, [r3, #0] 80b8626: 461a mov r2, r3 80b8628: 4b0c ldr r3, [pc, #48] ; (80b865c ) 80b862a: 4013 ands r3, r2 80b862c: 1d1a adds r2, r3, #4 80b862e: 687b ldr r3, [r7, #4] 80b8630: 659a str r2, [r3, #88] ; 0x58 80b8632: e006 b.n 80b8642 } else { /* return pointer to LISR and LIFCR */ hdma->StreamBaseAddress = ((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)); 80b8634: 687b ldr r3, [r7, #4] 80b8636: 681b ldr r3, [r3, #0] 80b8638: 461a mov r2, r3 80b863a: 4b08 ldr r3, [pc, #32] ; (80b865c ) 80b863c: 4013 ands r3, r2 80b863e: 687a ldr r2, [r7, #4] 80b8640: 6593 str r3, [r2, #88] ; 0x58 } return hdma->StreamBaseAddress; 80b8642: 687b ldr r3, [r7, #4] 80b8644: 6d9b ldr r3, [r3, #88] ; 0x58 } 80b8646: 4618 mov r0, r3 80b8648: 3714 adds r7, #20 80b864a: 46bd mov sp, r7 80b864c: f85d 7b04 ldr.w r7, [sp], #4 80b8650: 4770 bx lr 80b8652: bf00 nop 80b8654: aaaaaaab .word 0xaaaaaaab 80b8658: 08103bf8 .word 0x08103bf8 80b865c: fffffc00 .word 0xfffffc00 080b8660 : * @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) { 80b8660: b480 push {r7} 80b8662: b085 sub sp, #20 80b8664: af00 add r7, sp, #0 80b8666: 6078 str r0, [r7, #4] HAL_StatusTypeDef status = HAL_OK; 80b8668: 2300 movs r3, #0 80b866a: 73fb strb r3, [r7, #15] uint32_t tmp = hdma->Init.FIFOThreshold; 80b866c: 687b ldr r3, [r7, #4] 80b866e: 6a9b ldr r3, [r3, #40] ; 0x28 80b8670: 60bb str r3, [r7, #8] /* Memory Data size equal to Byte */ if(hdma->Init.MemDataAlignment == DMA_MDATAALIGN_BYTE) 80b8672: 687b ldr r3, [r7, #4] 80b8674: 699b ldr r3, [r3, #24] 80b8676: 2b00 cmp r3, #0 80b8678: d11f bne.n 80b86ba { switch (tmp) 80b867a: 68bb ldr r3, [r7, #8] 80b867c: 2b03 cmp r3, #3 80b867e: d855 bhi.n 80b872c 80b8680: a201 add r2, pc, #4 ; (adr r2, 80b8688 ) 80b8682: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b8686: bf00 nop 80b8688: 080b8699 .word 0x080b8699 80b868c: 080b86ab .word 0x080b86ab 80b8690: 080b8699 .word 0x080b8699 80b8694: 080b872d .word 0x080b872d { case DMA_FIFO_THRESHOLD_1QUARTERFULL: case DMA_FIFO_THRESHOLD_3QUARTERSFULL: if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 80b8698: 687b ldr r3, [r7, #4] 80b869a: 6adb ldr r3, [r3, #44] ; 0x2c 80b869c: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b86a0: 2b00 cmp r3, #0 80b86a2: d045 beq.n 80b8730 { status = HAL_ERROR; 80b86a4: 2301 movs r3, #1 80b86a6: 73fb strb r3, [r7, #15] } break; 80b86a8: e042 b.n 80b8730 case DMA_FIFO_THRESHOLD_HALFFULL: if (hdma->Init.MemBurst == DMA_MBURST_INC16) 80b86aa: 687b ldr r3, [r7, #4] 80b86ac: 6adb ldr r3, [r3, #44] ; 0x2c 80b86ae: f1b3 7fc0 cmp.w r3, #25165824 ; 0x1800000 80b86b2: d13f bne.n 80b8734 { status = HAL_ERROR; 80b86b4: 2301 movs r3, #1 80b86b6: 73fb strb r3, [r7, #15] } break; 80b86b8: e03c b.n 80b8734 break; } } /* Memory Data size equal to Half-Word */ else if (hdma->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD) 80b86ba: 687b ldr r3, [r7, #4] 80b86bc: 699b ldr r3, [r3, #24] 80b86be: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80b86c2: d121 bne.n 80b8708 { switch (tmp) 80b86c4: 68bb ldr r3, [r7, #8] 80b86c6: 2b03 cmp r3, #3 80b86c8: d836 bhi.n 80b8738 80b86ca: a201 add r2, pc, #4 ; (adr r2, 80b86d0 ) 80b86cc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b86d0: 080b86e1 .word 0x080b86e1 80b86d4: 080b86e7 .word 0x080b86e7 80b86d8: 080b86e1 .word 0x080b86e1 80b86dc: 080b86f9 .word 0x080b86f9 { case DMA_FIFO_THRESHOLD_1QUARTERFULL: case DMA_FIFO_THRESHOLD_3QUARTERSFULL: status = HAL_ERROR; 80b86e0: 2301 movs r3, #1 80b86e2: 73fb strb r3, [r7, #15] break; 80b86e4: e02f b.n 80b8746 case DMA_FIFO_THRESHOLD_HALFFULL: if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 80b86e6: 687b ldr r3, [r7, #4] 80b86e8: 6adb ldr r3, [r3, #44] ; 0x2c 80b86ea: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b86ee: 2b00 cmp r3, #0 80b86f0: d024 beq.n 80b873c { status = HAL_ERROR; 80b86f2: 2301 movs r3, #1 80b86f4: 73fb strb r3, [r7, #15] } break; 80b86f6: e021 b.n 80b873c case DMA_FIFO_THRESHOLD_FULL: if (hdma->Init.MemBurst == DMA_MBURST_INC16) 80b86f8: 687b ldr r3, [r7, #4] 80b86fa: 6adb ldr r3, [r3, #44] ; 0x2c 80b86fc: f1b3 7fc0 cmp.w r3, #25165824 ; 0x1800000 80b8700: d11e bne.n 80b8740 { status = HAL_ERROR; 80b8702: 2301 movs r3, #1 80b8704: 73fb strb r3, [r7, #15] } break; 80b8706: e01b b.n 80b8740 } /* Memory Data size equal to Word */ else { switch (tmp) 80b8708: 68bb ldr r3, [r7, #8] 80b870a: 2b02 cmp r3, #2 80b870c: d902 bls.n 80b8714 80b870e: 2b03 cmp r3, #3 80b8710: d003 beq.n 80b871a { status = HAL_ERROR; } break; default: break; 80b8712: e018 b.n 80b8746 status = HAL_ERROR; 80b8714: 2301 movs r3, #1 80b8716: 73fb strb r3, [r7, #15] break; 80b8718: e015 b.n 80b8746 if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 80b871a: 687b ldr r3, [r7, #4] 80b871c: 6adb ldr r3, [r3, #44] ; 0x2c 80b871e: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b8722: 2b00 cmp r3, #0 80b8724: d00e beq.n 80b8744 status = HAL_ERROR; 80b8726: 2301 movs r3, #1 80b8728: 73fb strb r3, [r7, #15] break; 80b872a: e00b b.n 80b8744 break; 80b872c: bf00 nop 80b872e: e00a b.n 80b8746 break; 80b8730: bf00 nop 80b8732: e008 b.n 80b8746 break; 80b8734: bf00 nop 80b8736: e006 b.n 80b8746 break; 80b8738: bf00 nop 80b873a: e004 b.n 80b8746 break; 80b873c: bf00 nop 80b873e: e002 b.n 80b8746 break; 80b8740: bf00 nop 80b8742: e000 b.n 80b8746 break; 80b8744: bf00 nop } } return status; 80b8746: 7bfb ldrb r3, [r7, #15] } 80b8748: 4618 mov r0, r3 80b874a: 3714 adds r7, #20 80b874c: 46bd mov sp, r7 80b874e: f85d 7b04 ldr.w r7, [sp], #4 80b8752: 4770 bx lr 080b8754 : * @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) { 80b8754: b580 push {r7, lr} 80b8756: b082 sub sp, #8 80b8758: af00 add r7, sp, #0 80b875a: 6078 str r0, [r7, #4] /* Check the DMA2D peripheral state */ if (hdma2d == NULL) 80b875c: 687b ldr r3, [r7, #4] 80b875e: 2b00 cmp r3, #0 80b8760: d101 bne.n 80b8766 { return HAL_ERROR; 80b8762: 2301 movs r3, #1 80b8764: e049 b.n 80b87fa /* Init the low level hardware */ hdma2d->MspInitCallback(hdma2d); } #else if (hdma2d->State == HAL_DMA2D_STATE_RESET) 80b8766: 687b ldr r3, [r7, #4] 80b8768: f893 3051 ldrb.w r3, [r3, #81] ; 0x51 80b876c: b2db uxtb r3, r3 80b876e: 2b00 cmp r3, #0 80b8770: d106 bne.n 80b8780 { /* Allocate lock resource and initialize it */ hdma2d->Lock = HAL_UNLOCKED; 80b8772: 687b ldr r3, [r7, #4] 80b8774: 2200 movs r2, #0 80b8776: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Init the low level hardware */ HAL_DMA2D_MspInit(hdma2d); 80b877a: 6878 ldr r0, [r7, #4] 80b877c: f76b fa06 bl 8023b8c } #endif /* (USE_HAL_DMA2D_REGISTER_CALLBACKS) */ /* Change DMA2D peripheral state */ hdma2d->State = HAL_DMA2D_STATE_BUSY; 80b8780: 687b ldr r3, [r7, #4] 80b8782: 2202 movs r2, #2 80b8784: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* DMA2D CR register configuration -------------------------------------------*/ MODIFY_REG(hdma2d->Instance->CR, DMA2D_CR_MODE, hdma2d->Init.Mode); 80b8788: 687b ldr r3, [r7, #4] 80b878a: 681b ldr r3, [r3, #0] 80b878c: 687a ldr r2, [r7, #4] 80b878e: 6812 ldr r2, [r2, #0] 80b8790: 6812 ldr r2, [r2, #0] 80b8792: f422 3140 bic.w r1, r2, #196608 ; 0x30000 80b8796: 687a ldr r2, [r7, #4] 80b8798: 6852 ldr r2, [r2, #4] 80b879a: 430a orrs r2, r1 80b879c: 601a str r2, [r3, #0] /* DMA2D OPFCCR register configuration ---------------------------------------*/ MODIFY_REG(hdma2d->Instance->OPFCCR, DMA2D_OPFCCR_CM, hdma2d->Init.ColorMode); 80b879e: 687b ldr r3, [r7, #4] 80b87a0: 681b ldr r3, [r3, #0] 80b87a2: 687a ldr r2, [r7, #4] 80b87a4: 6812 ldr r2, [r2, #0] 80b87a6: 6b52 ldr r2, [r2, #52] ; 0x34 80b87a8: f022 0107 bic.w r1, r2, #7 80b87ac: 687a ldr r2, [r7, #4] 80b87ae: 6892 ldr r2, [r2, #8] 80b87b0: 430a orrs r2, r1 80b87b2: 635a str r2, [r3, #52] ; 0x34 /* DMA2D OOR register configuration ------------------------------------------*/ MODIFY_REG(hdma2d->Instance->OOR, DMA2D_OOR_LO, hdma2d->Init.OutputOffset); 80b87b4: 687b ldr r3, [r7, #4] 80b87b6: 681a ldr r2, [r3, #0] 80b87b8: 687b ldr r3, [r7, #4] 80b87ba: 681b ldr r3, [r3, #0] 80b87bc: 6c19 ldr r1, [r3, #64] ; 0x40 80b87be: 4b11 ldr r3, [pc, #68] ; (80b8804 ) 80b87c0: 400b ands r3, r1 80b87c2: 6879 ldr r1, [r7, #4] 80b87c4: 68c9 ldr r1, [r1, #12] 80b87c6: 430b orrs r3, r1 80b87c8: 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), 80b87ca: 687b ldr r3, [r7, #4] 80b87cc: 681b ldr r3, [r3, #0] 80b87ce: 687a ldr r2, [r7, #4] 80b87d0: 6812 ldr r2, [r2, #0] 80b87d2: 6b52 ldr r2, [r2, #52] ; 0x34 80b87d4: f422 1140 bic.w r1, r2, #3145728 ; 0x300000 80b87d8: 687a ldr r2, [r7, #4] 80b87da: 6912 ldr r2, [r2, #16] 80b87dc: 0510 lsls r0, r2, #20 80b87de: 687a ldr r2, [r7, #4] 80b87e0: 6952 ldr r2, [r2, #20] 80b87e2: 0552 lsls r2, r2, #21 80b87e4: 4302 orrs r2, r0 80b87e6: 430a orrs r2, r1 80b87e8: 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; 80b87ea: 687b ldr r3, [r7, #4] 80b87ec: 2200 movs r2, #0 80b87ee: 655a str r2, [r3, #84] ; 0x54 /* Initialize the DMA2D state*/ hdma2d->State = HAL_DMA2D_STATE_READY; 80b87f0: 687b ldr r3, [r7, #4] 80b87f2: 2201 movs r2, #1 80b87f4: f883 2051 strb.w r2, [r3, #81] ; 0x51 return HAL_OK; 80b87f8: 2300 movs r3, #0 } 80b87fa: 4618 mov r0, r3 80b87fc: 3708 adds r7, #8 80b87fe: 46bd mov sp, r7 80b8800: bd80 pop {r7, pc} 80b8802: bf00 nop 80b8804: ffffc000 .word 0xffffc000 080b8808 : * @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) { 80b8808: b580 push {r7, lr} 80b880a: b086 sub sp, #24 80b880c: af02 add r7, sp, #8 80b880e: 60f8 str r0, [r7, #12] 80b8810: 60b9 str r1, [r7, #8] 80b8812: 607a str r2, [r7, #4] 80b8814: 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); 80b8816: 68fb ldr r3, [r7, #12] 80b8818: f893 3050 ldrb.w r3, [r3, #80] ; 0x50 80b881c: 2b01 cmp r3, #1 80b881e: d101 bne.n 80b8824 80b8820: 2302 movs r3, #2 80b8822: e018 b.n 80b8856 80b8824: 68fb ldr r3, [r7, #12] 80b8826: 2201 movs r2, #1 80b8828: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Change DMA2D peripheral state */ hdma2d->State = HAL_DMA2D_STATE_BUSY; 80b882c: 68fb ldr r3, [r7, #12] 80b882e: 2202 movs r2, #2 80b8830: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Configure the source, destination address and the data size */ DMA2D_SetConfig(hdma2d, pdata, DstAddress, Width, Height); 80b8834: 69bb ldr r3, [r7, #24] 80b8836: 9300 str r3, [sp, #0] 80b8838: 683b ldr r3, [r7, #0] 80b883a: 687a ldr r2, [r7, #4] 80b883c: 68b9 ldr r1, [r7, #8] 80b883e: 68f8 ldr r0, [r7, #12] 80b8840: f000 f992 bl 80b8b68 /* Enable the Peripheral */ __HAL_DMA2D_ENABLE(hdma2d); 80b8844: 68fb ldr r3, [r7, #12] 80b8846: 681b ldr r3, [r3, #0] 80b8848: 68fa ldr r2, [r7, #12] 80b884a: 6812 ldr r2, [r2, #0] 80b884c: 6812 ldr r2, [r2, #0] 80b884e: f042 0201 orr.w r2, r2, #1 80b8852: 601a str r2, [r3, #0] return HAL_OK; 80b8854: 2300 movs r3, #0 } 80b8856: 4618 mov r0, r3 80b8858: 3710 adds r7, #16 80b885a: 46bd mov sp, r7 80b885c: bd80 pop {r7, pc} 080b885e : * the configuration information for the DMA2D. * @param Timeout Timeout duration * @retval HAL status */ HAL_StatusTypeDef HAL_DMA2D_PollForTransfer(DMA2D_HandleTypeDef *hdma2d, uint32_t Timeout) { 80b885e: b580 push {r7, lr} 80b8860: b086 sub sp, #24 80b8862: af00 add r7, sp, #0 80b8864: 6078 str r0, [r7, #4] 80b8866: 6039 str r1, [r7, #0] uint32_t tickstart; uint32_t layer_start; __IO uint32_t isrflags = 0x0U; 80b8868: 2300 movs r3, #0 80b886a: 60fb str r3, [r7, #12] /* Polling for DMA2D transfer */ if ((hdma2d->Instance->CR & DMA2D_CR_START) != 0U) 80b886c: 687b ldr r3, [r7, #4] 80b886e: 681b ldr r3, [r3, #0] 80b8870: 681b ldr r3, [r3, #0] 80b8872: f003 0301 and.w r3, r3, #1 80b8876: 2b00 cmp r3, #0 80b8878: d056 beq.n 80b8928 { /* Get tick */ tickstart = HAL_GetTick(); 80b887a: f7fe fad3 bl 80b6e24 80b887e: 6178 str r0, [r7, #20] while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_TC) == 0U) 80b8880: e04b b.n 80b891a { isrflags = READ_REG(hdma2d->Instance->ISR); 80b8882: 687b ldr r3, [r7, #4] 80b8884: 681b ldr r3, [r3, #0] 80b8886: 685b ldr r3, [r3, #4] 80b8888: 60fb str r3, [r7, #12] if ((isrflags & (DMA2D_FLAG_CE | DMA2D_FLAG_TE)) != 0U) 80b888a: 68fb ldr r3, [r7, #12] 80b888c: f003 0321 and.w r3, r3, #33 ; 0x21 80b8890: 2b00 cmp r3, #0 80b8892: d023 beq.n 80b88dc { if ((isrflags & DMA2D_FLAG_CE) != 0U) 80b8894: 68fb ldr r3, [r7, #12] 80b8896: f003 0320 and.w r3, r3, #32 80b889a: 2b00 cmp r3, #0 80b889c: d005 beq.n 80b88aa { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CE; 80b889e: 687b ldr r3, [r7, #4] 80b88a0: 6d5b ldr r3, [r3, #84] ; 0x54 80b88a2: f043 0202 orr.w r2, r3, #2 80b88a6: 687b ldr r3, [r7, #4] 80b88a8: 655a str r2, [r3, #84] ; 0x54 } if ((isrflags & DMA2D_FLAG_TE) != 0U) 80b88aa: 68fb ldr r3, [r7, #12] 80b88ac: f003 0301 and.w r3, r3, #1 80b88b0: 2b00 cmp r3, #0 80b88b2: d005 beq.n 80b88c0 { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TE; 80b88b4: 687b ldr r3, [r7, #4] 80b88b6: 6d5b ldr r3, [r3, #84] ; 0x54 80b88b8: f043 0201 orr.w r2, r3, #1 80b88bc: 687b ldr r3, [r7, #4] 80b88be: 655a str r2, [r3, #84] ; 0x54 } /* Clear the transfer and configuration error flags */ __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_CE | DMA2D_FLAG_TE); 80b88c0: 687b ldr r3, [r7, #4] 80b88c2: 681b ldr r3, [r3, #0] 80b88c4: 2221 movs r2, #33 ; 0x21 80b88c6: 609a str r2, [r3, #8] /* Change DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_ERROR; 80b88c8: 687b ldr r3, [r7, #4] 80b88ca: 2204 movs r2, #4 80b88cc: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b88d0: 687b ldr r3, [r7, #4] 80b88d2: 2200 movs r2, #0 80b88d4: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_ERROR; 80b88d8: 2301 movs r3, #1 80b88da: e0a5 b.n 80b8a28 } /* Check for the Timeout */ if (Timeout != HAL_MAX_DELAY) 80b88dc: 683b ldr r3, [r7, #0] 80b88de: f1b3 3fff cmp.w r3, #4294967295 80b88e2: d01a beq.n 80b891a { if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 80b88e4: f7fe fa9e bl 80b6e24 80b88e8: 4602 mov r2, r0 80b88ea: 697b ldr r3, [r7, #20] 80b88ec: 1ad2 subs r2, r2, r3 80b88ee: 683b ldr r3, [r7, #0] 80b88f0: 429a cmp r2, r3 80b88f2: d802 bhi.n 80b88fa 80b88f4: 683b ldr r3, [r7, #0] 80b88f6: 2b00 cmp r3, #0 80b88f8: d10f bne.n 80b891a { /* Update error code */ hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; 80b88fa: 687b ldr r3, [r7, #4] 80b88fc: 6d5b ldr r3, [r3, #84] ; 0x54 80b88fe: f043 0220 orr.w r2, r3, #32 80b8902: 687b ldr r3, [r7, #4] 80b8904: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_TIMEOUT; 80b8906: 687b ldr r3, [r7, #4] 80b8908: 2203 movs r2, #3 80b890a: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b890e: 687b ldr r3, [r7, #4] 80b8910: 2200 movs r2, #0 80b8912: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_TIMEOUT; 80b8916: 2303 movs r3, #3 80b8918: e086 b.n 80b8a28 while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_TC) == 0U) 80b891a: 687b ldr r3, [r7, #4] 80b891c: 681b ldr r3, [r3, #0] 80b891e: 685b ldr r3, [r3, #4] 80b8920: f003 0302 and.w r3, r3, #2 80b8924: 2b00 cmp r3, #0 80b8926: d0ac beq.n 80b8882 } } } } /* Polling for CLUT loading (foreground or background) */ layer_start = hdma2d->Instance->FGPFCCR & DMA2D_FGPFCCR_START; 80b8928: 687b ldr r3, [r7, #4] 80b892a: 681b ldr r3, [r3, #0] 80b892c: 69db ldr r3, [r3, #28] 80b892e: f003 0320 and.w r3, r3, #32 80b8932: 613b str r3, [r7, #16] layer_start |= hdma2d->Instance->BGPFCCR & DMA2D_BGPFCCR_START; 80b8934: 687b ldr r3, [r7, #4] 80b8936: 681b ldr r3, [r3, #0] 80b8938: 6a5b ldr r3, [r3, #36] ; 0x24 80b893a: f003 0320 and.w r3, r3, #32 80b893e: 693a ldr r2, [r7, #16] 80b8940: 4313 orrs r3, r2 80b8942: 613b str r3, [r7, #16] if (layer_start != 0U) 80b8944: 693b ldr r3, [r7, #16] 80b8946: 2b00 cmp r3, #0 80b8948: d061 beq.n 80b8a0e { /* Get tick */ tickstart = HAL_GetTick(); 80b894a: f7fe fa6b bl 80b6e24 80b894e: 6178 str r0, [r7, #20] while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_CTC) == 0U) 80b8950: e056 b.n 80b8a00 { isrflags = READ_REG(hdma2d->Instance->ISR); 80b8952: 687b ldr r3, [r7, #4] 80b8954: 681b ldr r3, [r3, #0] 80b8956: 685b ldr r3, [r3, #4] 80b8958: 60fb str r3, [r7, #12] if ((isrflags & (DMA2D_FLAG_CAE | DMA2D_FLAG_CE | DMA2D_FLAG_TE)) != 0U) 80b895a: 68fb ldr r3, [r7, #12] 80b895c: f003 0329 and.w r3, r3, #41 ; 0x29 80b8960: 2b00 cmp r3, #0 80b8962: d02e beq.n 80b89c2 { if ((isrflags & DMA2D_FLAG_CAE) != 0U) 80b8964: 68fb ldr r3, [r7, #12] 80b8966: f003 0308 and.w r3, r3, #8 80b896a: 2b00 cmp r3, #0 80b896c: d005 beq.n 80b897a { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CAE; 80b896e: 687b ldr r3, [r7, #4] 80b8970: 6d5b ldr r3, [r3, #84] ; 0x54 80b8972: f043 0204 orr.w r2, r3, #4 80b8976: 687b ldr r3, [r7, #4] 80b8978: 655a str r2, [r3, #84] ; 0x54 } if ((isrflags & DMA2D_FLAG_CE) != 0U) 80b897a: 68fb ldr r3, [r7, #12] 80b897c: f003 0320 and.w r3, r3, #32 80b8980: 2b00 cmp r3, #0 80b8982: d005 beq.n 80b8990 { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CE; 80b8984: 687b ldr r3, [r7, #4] 80b8986: 6d5b ldr r3, [r3, #84] ; 0x54 80b8988: f043 0202 orr.w r2, r3, #2 80b898c: 687b ldr r3, [r7, #4] 80b898e: 655a str r2, [r3, #84] ; 0x54 } if ((isrflags & DMA2D_FLAG_TE) != 0U) 80b8990: 68fb ldr r3, [r7, #12] 80b8992: f003 0301 and.w r3, r3, #1 80b8996: 2b00 cmp r3, #0 80b8998: d005 beq.n 80b89a6 { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TE; 80b899a: 687b ldr r3, [r7, #4] 80b899c: 6d5b ldr r3, [r3, #84] ; 0x54 80b899e: f043 0201 orr.w r2, r3, #1 80b89a2: 687b ldr r3, [r7, #4] 80b89a4: 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); 80b89a6: 687b ldr r3, [r7, #4] 80b89a8: 681b ldr r3, [r3, #0] 80b89aa: 2229 movs r2, #41 ; 0x29 80b89ac: 609a str r2, [r3, #8] /* Change DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_ERROR; 80b89ae: 687b ldr r3, [r7, #4] 80b89b0: 2204 movs r2, #4 80b89b2: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b89b6: 687b ldr r3, [r7, #4] 80b89b8: 2200 movs r2, #0 80b89ba: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_ERROR; 80b89be: 2301 movs r3, #1 80b89c0: e032 b.n 80b8a28 } /* Check for the Timeout */ if (Timeout != HAL_MAX_DELAY) 80b89c2: 683b ldr r3, [r7, #0] 80b89c4: f1b3 3fff cmp.w r3, #4294967295 80b89c8: d01a beq.n 80b8a00 { if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 80b89ca: f7fe fa2b bl 80b6e24 80b89ce: 4602 mov r2, r0 80b89d0: 697b ldr r3, [r7, #20] 80b89d2: 1ad2 subs r2, r2, r3 80b89d4: 683b ldr r3, [r7, #0] 80b89d6: 429a cmp r2, r3 80b89d8: d802 bhi.n 80b89e0 80b89da: 683b ldr r3, [r7, #0] 80b89dc: 2b00 cmp r3, #0 80b89de: d10f bne.n 80b8a00 { /* Update error code */ hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; 80b89e0: 687b ldr r3, [r7, #4] 80b89e2: 6d5b ldr r3, [r3, #84] ; 0x54 80b89e4: f043 0220 orr.w r2, r3, #32 80b89e8: 687b ldr r3, [r7, #4] 80b89ea: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_TIMEOUT; 80b89ec: 687b ldr r3, [r7, #4] 80b89ee: 2203 movs r2, #3 80b89f0: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b89f4: 687b ldr r3, [r7, #4] 80b89f6: 2200 movs r2, #0 80b89f8: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_TIMEOUT; 80b89fc: 2303 movs r3, #3 80b89fe: e013 b.n 80b8a28 while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_CTC) == 0U) 80b8a00: 687b ldr r3, [r7, #4] 80b8a02: 681b ldr r3, [r3, #0] 80b8a04: 685b ldr r3, [r3, #4] 80b8a06: f003 0310 and.w r3, r3, #16 80b8a0a: 2b00 cmp r3, #0 80b8a0c: d0a1 beq.n 80b8952 } } } /* Clear the transfer complete and CLUT loading flags */ __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_TC | DMA2D_FLAG_CTC); 80b8a0e: 687b ldr r3, [r7, #4] 80b8a10: 681b ldr r3, [r3, #0] 80b8a12: 2212 movs r2, #18 80b8a14: 609a str r2, [r3, #8] /* Change DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_READY; 80b8a16: 687b ldr r3, [r7, #4] 80b8a18: 2201 movs r2, #1 80b8a1a: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b8a1e: 687b ldr r3, [r7, #4] 80b8a20: 2200 movs r2, #0 80b8a22: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_OK; 80b8a26: 2300 movs r3, #0 } 80b8a28: 4618 mov r0, r3 80b8a2a: 3718 adds r7, #24 80b8a2c: 46bd mov sp, r7 80b8a2e: bd80 pop {r7, pc} 080b8a30 : * 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) { 80b8a30: b480 push {r7} 80b8a32: b087 sub sp, #28 80b8a34: af00 add r7, sp, #0 80b8a36: 6078 str r0, [r7, #4] 80b8a38: 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) 80b8a3a: 687b ldr r3, [r7, #4] 80b8a3c: 685b ldr r3, [r3, #4] 80b8a3e: 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); 80b8a42: 687b ldr r3, [r7, #4] 80b8a44: f893 3050 ldrb.w r3, [r3, #80] ; 0x50 80b8a48: 2b01 cmp r3, #1 80b8a4a: d101 bne.n 80b8a50 80b8a4c: 2302 movs r3, #2 80b8a4e: e082 b.n 80b8b56 80b8a50: 687b ldr r3, [r7, #4] 80b8a52: 2201 movs r2, #1 80b8a54: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Change DMA2D peripheral state */ hdma2d->State = HAL_DMA2D_STATE_BUSY; 80b8a58: 687b ldr r3, [r7, #4] 80b8a5a: 2202 movs r2, #2 80b8a5c: f883 2051 strb.w r2, [r3, #81] ; 0x51 pLayerCfg = &hdma2d->LayerCfg[LayerIdx]; 80b8a60: 683a ldr r2, [r7, #0] 80b8a62: 4613 mov r3, r2 80b8a64: 005b lsls r3, r3, #1 80b8a66: 4413 add r3, r2 80b8a68: 00db lsls r3, r3, #3 80b8a6a: 3320 adds r3, #32 80b8a6c: 687a ldr r2, [r7, #4] 80b8a6e: 4413 add r3, r2 80b8a70: 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) | \ 80b8a72: 693b ldr r3, [r7, #16] 80b8a74: 685a ldr r2, [r3, #4] 80b8a76: 693b ldr r3, [r7, #16] 80b8a78: 689b ldr r3, [r3, #8] 80b8a7a: 041b lsls r3, r3, #16 80b8a7c: 431a orrs r2, r3 (pLayerCfg->AlphaInverted << DMA2D_BGPFCCR_AI_Pos) | (pLayerCfg->RedBlueSwap << DMA2D_BGPFCCR_RBS_Pos); 80b8a7e: 693b ldr r3, [r7, #16] 80b8a80: 691b ldr r3, [r3, #16] 80b8a82: 051b lsls r3, r3, #20 regValue = pLayerCfg->InputColorMode | (pLayerCfg->AlphaMode << DMA2D_BGPFCCR_AM_Pos) | \ 80b8a84: 431a orrs r2, r3 (pLayerCfg->AlphaInverted << DMA2D_BGPFCCR_AI_Pos) | (pLayerCfg->RedBlueSwap << DMA2D_BGPFCCR_RBS_Pos); 80b8a86: 693b ldr r3, [r7, #16] 80b8a88: 695b ldr r3, [r3, #20] 80b8a8a: 055b lsls r3, r3, #21 regValue = pLayerCfg->InputColorMode | (pLayerCfg->AlphaMode << DMA2D_BGPFCCR_AM_Pos) | \ 80b8a8c: 4313 orrs r3, r2 80b8a8e: 617b str r3, [r7, #20] regMask = (DMA2D_BGPFCCR_CM | DMA2D_BGPFCCR_AM | DMA2D_BGPFCCR_ALPHA | DMA2D_BGPFCCR_AI | DMA2D_BGPFCCR_RBS); 80b8a90: 4b34 ldr r3, [pc, #208] ; (80b8b64 ) 80b8a92: 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)) 80b8a94: 693b ldr r3, [r7, #16] 80b8a96: 685b ldr r3, [r3, #4] 80b8a98: 2b0a cmp r3, #10 80b8a9a: d003 beq.n 80b8aa4 80b8a9c: 693b ldr r3, [r7, #16] 80b8a9e: 685b ldr r3, [r3, #4] 80b8aa0: 2b09 cmp r3, #9 80b8aa2: d107 bne.n 80b8ab4 { regValue |= (pLayerCfg->InputAlpha & DMA2D_BGPFCCR_ALPHA); 80b8aa4: 693b ldr r3, [r7, #16] 80b8aa6: 68db ldr r3, [r3, #12] 80b8aa8: f003 437f and.w r3, r3, #4278190080 ; 0xff000000 80b8aac: 697a ldr r2, [r7, #20] 80b8aae: 4313 orrs r3, r2 80b8ab0: 617b str r3, [r7, #20] 80b8ab2: e005 b.n 80b8ac0 } else { regValue |= (pLayerCfg->InputAlpha << DMA2D_BGPFCCR_ALPHA_Pos); 80b8ab4: 693b ldr r3, [r7, #16] 80b8ab6: 68db ldr r3, [r3, #12] 80b8ab8: 061b lsls r3, r3, #24 80b8aba: 697a ldr r2, [r7, #20] 80b8abc: 4313 orrs r3, r2 80b8abe: 617b str r3, [r7, #20] } /* Configure the background DMA2D layer */ if (LayerIdx == DMA2D_BACKGROUND_LAYER) 80b8ac0: 683b ldr r3, [r7, #0] 80b8ac2: 2b00 cmp r3, #0 80b8ac4: d11f bne.n 80b8b06 { /* Write DMA2D BGPFCCR register */ MODIFY_REG(hdma2d->Instance->BGPFCCR, regMask, regValue); 80b8ac6: 687b ldr r3, [r7, #4] 80b8ac8: 681b ldr r3, [r3, #0] 80b8aca: 687a ldr r2, [r7, #4] 80b8acc: 6812 ldr r2, [r2, #0] 80b8ace: 6a51 ldr r1, [r2, #36] ; 0x24 80b8ad0: 68fa ldr r2, [r7, #12] 80b8ad2: 43d2 mvns r2, r2 80b8ad4: 4011 ands r1, r2 80b8ad6: 697a ldr r2, [r7, #20] 80b8ad8: 430a orrs r2, r1 80b8ada: 625a str r2, [r3, #36] ; 0x24 /* DMA2D BGOR register configuration -------------------------------------*/ WRITE_REG(hdma2d->Instance->BGOR, pLayerCfg->InputOffset); 80b8adc: 687b ldr r3, [r7, #4] 80b8ade: 681b ldr r3, [r3, #0] 80b8ae0: 693a ldr r2, [r7, #16] 80b8ae2: 6812 ldr r2, [r2, #0] 80b8ae4: 619a str r2, [r3, #24] /* DMA2D BGCOLR register configuration -------------------------------------*/ if ((pLayerCfg->InputColorMode == DMA2D_INPUT_A4) || (pLayerCfg->InputColorMode == DMA2D_INPUT_A8)) 80b8ae6: 693b ldr r3, [r7, #16] 80b8ae8: 685b ldr r3, [r3, #4] 80b8aea: 2b0a cmp r3, #10 80b8aec: d003 beq.n 80b8af6 80b8aee: 693b ldr r3, [r7, #16] 80b8af0: 685b ldr r3, [r3, #4] 80b8af2: 2b09 cmp r3, #9 80b8af4: d126 bne.n 80b8b44 { WRITE_REG(hdma2d->Instance->BGCOLR, pLayerCfg->InputAlpha & (DMA2D_BGCOLR_BLUE | DMA2D_BGCOLR_GREEN | \ 80b8af6: 687b ldr r3, [r7, #4] 80b8af8: 681b ldr r3, [r3, #0] 80b8afa: 693a ldr r2, [r7, #16] 80b8afc: 68d2 ldr r2, [r2, #12] 80b8afe: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 80b8b02: 629a str r2, [r3, #40] ; 0x28 80b8b04: e01e b.n 80b8b44 else { /* Write DMA2D FGPFCCR register */ MODIFY_REG(hdma2d->Instance->FGPFCCR, regMask, regValue); 80b8b06: 687b ldr r3, [r7, #4] 80b8b08: 681b ldr r3, [r3, #0] 80b8b0a: 687a ldr r2, [r7, #4] 80b8b0c: 6812 ldr r2, [r2, #0] 80b8b0e: 69d1 ldr r1, [r2, #28] 80b8b10: 68fa ldr r2, [r7, #12] 80b8b12: 43d2 mvns r2, r2 80b8b14: 4011 ands r1, r2 80b8b16: 697a ldr r2, [r7, #20] 80b8b18: 430a orrs r2, r1 80b8b1a: 61da str r2, [r3, #28] /* DMA2D FGOR register configuration -------------------------------------*/ WRITE_REG(hdma2d->Instance->FGOR, pLayerCfg->InputOffset); 80b8b1c: 687b ldr r3, [r7, #4] 80b8b1e: 681b ldr r3, [r3, #0] 80b8b20: 693a ldr r2, [r7, #16] 80b8b22: 6812 ldr r2, [r2, #0] 80b8b24: 611a str r2, [r3, #16] /* DMA2D FGCOLR register configuration -------------------------------------*/ if ((pLayerCfg->InputColorMode == DMA2D_INPUT_A4) || (pLayerCfg->InputColorMode == DMA2D_INPUT_A8)) 80b8b26: 693b ldr r3, [r7, #16] 80b8b28: 685b ldr r3, [r3, #4] 80b8b2a: 2b0a cmp r3, #10 80b8b2c: d003 beq.n 80b8b36 80b8b2e: 693b ldr r3, [r7, #16] 80b8b30: 685b ldr r3, [r3, #4] 80b8b32: 2b09 cmp r3, #9 80b8b34: d106 bne.n 80b8b44 { WRITE_REG(hdma2d->Instance->FGCOLR, pLayerCfg->InputAlpha & (DMA2D_FGCOLR_BLUE | DMA2D_FGCOLR_GREEN | \ 80b8b36: 687b ldr r3, [r7, #4] 80b8b38: 681b ldr r3, [r3, #0] 80b8b3a: 693a ldr r2, [r7, #16] 80b8b3c: 68d2 ldr r2, [r2, #12] 80b8b3e: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 80b8b42: 621a str r2, [r3, #32] DMA2D_FGCOLR_RED)); } } /* Initialize the DMA2D state*/ hdma2d->State = HAL_DMA2D_STATE_READY; 80b8b44: 687b ldr r3, [r7, #4] 80b8b46: 2201 movs r2, #1 80b8b48: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b8b4c: 687b ldr r3, [r7, #4] 80b8b4e: 2200 movs r2, #0 80b8b50: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_OK; 80b8b54: 2300 movs r3, #0 } 80b8b56: 4618 mov r0, r3 80b8b58: 371c adds r7, #28 80b8b5a: 46bd mov sp, r7 80b8b5c: f85d 7b04 ldr.w r7, [sp], #4 80b8b60: 4770 bx lr 80b8b62: bf00 nop 80b8b64: ff33000f .word 0xff33000f 080b8b68 : * @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) { 80b8b68: b480 push {r7} 80b8b6a: b08b sub sp, #44 ; 0x2c 80b8b6c: af00 add r7, sp, #0 80b8b6e: 60f8 str r0, [r7, #12] 80b8b70: 60b9 str r1, [r7, #8] 80b8b72: 607a str r2, [r7, #4] 80b8b74: 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))); 80b8b76: 68fb ldr r3, [r7, #12] 80b8b78: 681b ldr r3, [r3, #0] 80b8b7a: 68fa ldr r2, [r7, #12] 80b8b7c: 6812 ldr r2, [r2, #0] 80b8b7e: 6c52 ldr r2, [r2, #68] ; 0x44 80b8b80: f002 4140 and.w r1, r2, #3221225472 ; 0xc0000000 80b8b84: 683a ldr r2, [r7, #0] 80b8b86: 0410 lsls r0, r2, #16 80b8b88: 6b3a ldr r2, [r7, #48] ; 0x30 80b8b8a: 4302 orrs r2, r0 80b8b8c: 430a orrs r2, r1 80b8b8e: 645a str r2, [r3, #68] ; 0x44 /* Configure DMA2D destination address */ WRITE_REG(hdma2d->Instance->OMAR, DstAddress); 80b8b90: 68fb ldr r3, [r7, #12] 80b8b92: 681b ldr r3, [r3, #0] 80b8b94: 687a ldr r2, [r7, #4] 80b8b96: 63da str r2, [r3, #60] ; 0x3c /* Register to memory DMA2D mode selected */ if (hdma2d->Init.Mode == DMA2D_R2M) 80b8b98: 68fb ldr r3, [r7, #12] 80b8b9a: 685b ldr r3, [r3, #4] 80b8b9c: f5b3 3f40 cmp.w r3, #196608 ; 0x30000 80b8ba0: d174 bne.n 80b8c8c { tmp1 = pdata & DMA2D_OCOLR_ALPHA_1; 80b8ba2: 68bb ldr r3, [r7, #8] 80b8ba4: f003 437f and.w r3, r3, #4278190080 ; 0xff000000 80b8ba8: 623b str r3, [r7, #32] tmp2 = pdata & DMA2D_OCOLR_RED_1; 80b8baa: 68bb ldr r3, [r7, #8] 80b8bac: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80b8bb0: 61fb str r3, [r7, #28] tmp3 = pdata & DMA2D_OCOLR_GREEN_1; 80b8bb2: 68bb ldr r3, [r7, #8] 80b8bb4: f403 437f and.w r3, r3, #65280 ; 0xff00 80b8bb8: 61bb str r3, [r7, #24] tmp4 = pdata & DMA2D_OCOLR_BLUE_1; 80b8bba: 68bb ldr r3, [r7, #8] 80b8bbc: b2db uxtb r3, r3 80b8bbe: 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) 80b8bc0: 68fb ldr r3, [r7, #12] 80b8bc2: 689b ldr r3, [r3, #8] 80b8bc4: 2b00 cmp r3, #0 80b8bc6: d108 bne.n 80b8bda { tmp = (tmp3 | tmp2 | tmp1 | tmp4); 80b8bc8: 69ba ldr r2, [r7, #24] 80b8bca: 69fb ldr r3, [r7, #28] 80b8bcc: 431a orrs r2, r3 80b8bce: 6a3b ldr r3, [r7, #32] 80b8bd0: 431a orrs r2, r3 80b8bd2: 697b ldr r3, [r7, #20] 80b8bd4: 4313 orrs r3, r2 80b8bd6: 627b str r3, [r7, #36] ; 0x24 80b8bd8: e053 b.n 80b8c82 } else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_RGB888) 80b8bda: 68fb ldr r3, [r7, #12] 80b8bdc: 689b ldr r3, [r3, #8] 80b8bde: 2b01 cmp r3, #1 80b8be0: d106 bne.n 80b8bf0 { tmp = (tmp3 | tmp2 | tmp4); 80b8be2: 69ba ldr r2, [r7, #24] 80b8be4: 69fb ldr r3, [r7, #28] 80b8be6: 431a orrs r2, r3 80b8be8: 697b ldr r3, [r7, #20] 80b8bea: 4313 orrs r3, r2 80b8bec: 627b str r3, [r7, #36] ; 0x24 80b8bee: e048 b.n 80b8c82 } else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_RGB565) 80b8bf0: 68fb ldr r3, [r7, #12] 80b8bf2: 689b ldr r3, [r3, #8] 80b8bf4: 2b02 cmp r3, #2 80b8bf6: d111 bne.n 80b8c1c { tmp2 = (tmp2 >> 19U); 80b8bf8: 69fb ldr r3, [r7, #28] 80b8bfa: 0cdb lsrs r3, r3, #19 80b8bfc: 61fb str r3, [r7, #28] tmp3 = (tmp3 >> 10U); 80b8bfe: 69bb ldr r3, [r7, #24] 80b8c00: 0a9b lsrs r3, r3, #10 80b8c02: 61bb str r3, [r7, #24] tmp4 = (tmp4 >> 3U); 80b8c04: 697b ldr r3, [r7, #20] 80b8c06: 08db lsrs r3, r3, #3 80b8c08: 617b str r3, [r7, #20] tmp = ((tmp3 << 5U) | (tmp2 << 11U) | tmp4); 80b8c0a: 69bb ldr r3, [r7, #24] 80b8c0c: 015a lsls r2, r3, #5 80b8c0e: 69fb ldr r3, [r7, #28] 80b8c10: 02db lsls r3, r3, #11 80b8c12: 431a orrs r2, r3 80b8c14: 697b ldr r3, [r7, #20] 80b8c16: 4313 orrs r3, r2 80b8c18: 627b str r3, [r7, #36] ; 0x24 80b8c1a: e032 b.n 80b8c82 } else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_ARGB1555) 80b8c1c: 68fb ldr r3, [r7, #12] 80b8c1e: 689b ldr r3, [r3, #8] 80b8c20: 2b03 cmp r3, #3 80b8c22: d117 bne.n 80b8c54 { tmp1 = (tmp1 >> 31U); 80b8c24: 6a3b ldr r3, [r7, #32] 80b8c26: 0fdb lsrs r3, r3, #31 80b8c28: 623b str r3, [r7, #32] tmp2 = (tmp2 >> 19U); 80b8c2a: 69fb ldr r3, [r7, #28] 80b8c2c: 0cdb lsrs r3, r3, #19 80b8c2e: 61fb str r3, [r7, #28] tmp3 = (tmp3 >> 11U); 80b8c30: 69bb ldr r3, [r7, #24] 80b8c32: 0adb lsrs r3, r3, #11 80b8c34: 61bb str r3, [r7, #24] tmp4 = (tmp4 >> 3U); 80b8c36: 697b ldr r3, [r7, #20] 80b8c38: 08db lsrs r3, r3, #3 80b8c3a: 617b str r3, [r7, #20] tmp = ((tmp3 << 5U) | (tmp2 << 10U) | (tmp1 << 15U) | tmp4); 80b8c3c: 69bb ldr r3, [r7, #24] 80b8c3e: 015a lsls r2, r3, #5 80b8c40: 69fb ldr r3, [r7, #28] 80b8c42: 029b lsls r3, r3, #10 80b8c44: 431a orrs r2, r3 80b8c46: 6a3b ldr r3, [r7, #32] 80b8c48: 03db lsls r3, r3, #15 80b8c4a: 431a orrs r2, r3 80b8c4c: 697b ldr r3, [r7, #20] 80b8c4e: 4313 orrs r3, r2 80b8c50: 627b str r3, [r7, #36] ; 0x24 80b8c52: e016 b.n 80b8c82 } else /* Dhdma2d->Init.ColorMode = DMA2D_OUTPUT_ARGB4444 */ { tmp1 = (tmp1 >> 28U); 80b8c54: 6a3b ldr r3, [r7, #32] 80b8c56: 0f1b lsrs r3, r3, #28 80b8c58: 623b str r3, [r7, #32] tmp2 = (tmp2 >> 20U); 80b8c5a: 69fb ldr r3, [r7, #28] 80b8c5c: 0d1b lsrs r3, r3, #20 80b8c5e: 61fb str r3, [r7, #28] tmp3 = (tmp3 >> 12U); 80b8c60: 69bb ldr r3, [r7, #24] 80b8c62: 0b1b lsrs r3, r3, #12 80b8c64: 61bb str r3, [r7, #24] tmp4 = (tmp4 >> 4U); 80b8c66: 697b ldr r3, [r7, #20] 80b8c68: 091b lsrs r3, r3, #4 80b8c6a: 617b str r3, [r7, #20] tmp = ((tmp3 << 4U) | (tmp2 << 8U) | (tmp1 << 12U) | tmp4); 80b8c6c: 69bb ldr r3, [r7, #24] 80b8c6e: 011a lsls r2, r3, #4 80b8c70: 69fb ldr r3, [r7, #28] 80b8c72: 021b lsls r3, r3, #8 80b8c74: 431a orrs r2, r3 80b8c76: 6a3b ldr r3, [r7, #32] 80b8c78: 031b lsls r3, r3, #12 80b8c7a: 431a orrs r2, r3 80b8c7c: 697b ldr r3, [r7, #20] 80b8c7e: 4313 orrs r3, r2 80b8c80: 627b str r3, [r7, #36] ; 0x24 } /* Write to DMA2D OCOLR register */ WRITE_REG(hdma2d->Instance->OCOLR, tmp); 80b8c82: 68fb ldr r3, [r7, #12] 80b8c84: 681b ldr r3, [r3, #0] 80b8c86: 6a7a ldr r2, [r7, #36] ; 0x24 80b8c88: 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); } } 80b8c8a: e003 b.n 80b8c94 WRITE_REG(hdma2d->Instance->FGMAR, pdata); 80b8c8c: 68fb ldr r3, [r7, #12] 80b8c8e: 681b ldr r3, [r3, #0] 80b8c90: 68ba ldr r2, [r7, #8] 80b8c92: 60da str r2, [r3, #12] } 80b8c94: bf00 nop 80b8c96: 372c adds r7, #44 ; 0x2c 80b8c98: 46bd mov sp, r7 80b8c9a: f85d 7b04 ldr.w r7, [sp], #4 80b8c9e: 4770 bx lr 080b8ca0 : * @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) { 80b8ca0: b580 push {r7, lr} 80b8ca2: b086 sub sp, #24 80b8ca4: af00 add r7, sp, #0 80b8ca6: 60f8 str r0, [r7, #12] 80b8ca8: 60b9 str r1, [r7, #8] 80b8caa: e9c7 2300 strd r2, r3, [r7] HAL_StatusTypeDef status = HAL_ERROR; 80b8cae: 2301 movs r3, #1 80b8cb0: 75fb strb r3, [r7, #23] /* Process Locked */ __HAL_LOCK(&pFlash); 80b8cb2: 4b27 ldr r3, [pc, #156] ; (80b8d50 ) 80b8cb4: 7d1b ldrb r3, [r3, #20] 80b8cb6: 2b01 cmp r3, #1 80b8cb8: d101 bne.n 80b8cbe 80b8cba: 2302 movs r3, #2 80b8cbc: e043 b.n 80b8d46 80b8cbe: 4b24 ldr r3, [pc, #144] ; (80b8d50 ) 80b8cc0: 2201 movs r2, #1 80b8cc2: 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); 80b8cc4: f24c 3050 movw r0, #50000 ; 0xc350 80b8cc8: f000 f878 bl 80b8dbc 80b8ccc: 4603 mov r3, r0 80b8cce: 75fb strb r3, [r7, #23] if(status == HAL_OK) 80b8cd0: 7dfb ldrb r3, [r7, #23] 80b8cd2: 2b00 cmp r3, #0 80b8cd4: d133 bne.n 80b8d3e { switch(TypeProgram) 80b8cd6: 68fb ldr r3, [r7, #12] 80b8cd8: 2b03 cmp r3, #3 80b8cda: d823 bhi.n 80b8d24 80b8cdc: a201 add r2, pc, #4 ; (adr r2, 80b8ce4 ) 80b8cde: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b8ce2: bf00 nop 80b8ce4: 080b8cf5 .word 0x080b8cf5 80b8ce8: 080b8d01 .word 0x080b8d01 80b8cec: 080b8d0d .word 0x080b8d0d 80b8cf0: 080b8d19 .word 0x080b8d19 { case FLASH_TYPEPROGRAM_BYTE : { /*Program byte (8-bit) at a specified address.*/ FLASH_Program_Byte(Address, (uint8_t) Data); 80b8cf4: 783b ldrb r3, [r7, #0] 80b8cf6: 4619 mov r1, r3 80b8cf8: 68b8 ldr r0, [r7, #8] 80b8cfa: f000 f919 bl 80b8f30 break; 80b8cfe: e012 b.n 80b8d26 } case FLASH_TYPEPROGRAM_HALFWORD : { /*Program halfword (16-bit) at a specified address.*/ FLASH_Program_HalfWord(Address, (uint16_t) Data); 80b8d00: 883b ldrh r3, [r7, #0] 80b8d02: 4619 mov r1, r3 80b8d04: 68b8 ldr r0, [r7, #8] 80b8d06: f000 f8ed bl 80b8ee4 break; 80b8d0a: e00c b.n 80b8d26 } case FLASH_TYPEPROGRAM_WORD : { /*Program word (32-bit) at a specified address.*/ FLASH_Program_Word(Address, (uint32_t) Data); 80b8d0c: 683b ldr r3, [r7, #0] 80b8d0e: 4619 mov r1, r3 80b8d10: 68b8 ldr r0, [r7, #8] 80b8d12: f000 f8c3 bl 80b8e9c break; 80b8d16: e006 b.n 80b8d26 } case FLASH_TYPEPROGRAM_DOUBLEWORD : { /*Program double word (64-bit) at a specified address.*/ FLASH_Program_DoubleWord(Address, Data); 80b8d18: e9d7 2300 ldrd r2, r3, [r7] 80b8d1c: 68b8 ldr r0, [r7, #8] 80b8d1e: f000 f88d bl 80b8e3c break; 80b8d22: e000 b.n 80b8d26 } default : break; 80b8d24: bf00 nop } /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); 80b8d26: f24c 3050 movw r0, #50000 ; 0xc350 80b8d2a: f000 f847 bl 80b8dbc 80b8d2e: 4603 mov r3, r0 80b8d30: 75fb strb r3, [r7, #23] /* If the program operation is completed, disable the PG Bit */ FLASH->CR &= (~FLASH_CR_PG); 80b8d32: 4a08 ldr r2, [pc, #32] ; (80b8d54 ) 80b8d34: 4b07 ldr r3, [pc, #28] ; (80b8d54 ) 80b8d36: 691b ldr r3, [r3, #16] 80b8d38: f023 0301 bic.w r3, r3, #1 80b8d3c: 6113 str r3, [r2, #16] } /* Process Unlocked */ __HAL_UNLOCK(&pFlash); 80b8d3e: 4b04 ldr r3, [pc, #16] ; (80b8d50 ) 80b8d40: 2200 movs r2, #0 80b8d42: 751a strb r2, [r3, #20] return status; 80b8d44: 7dfb ldrb r3, [r7, #23] } 80b8d46: 4618 mov r0, r3 80b8d48: 3718 adds r7, #24 80b8d4a: 46bd mov sp, r7 80b8d4c: bd80 pop {r7, pc} 80b8d4e: bf00 nop 80b8d50: 20068aec .word 0x20068aec 80b8d54: 40023c00 .word 0x40023c00 080b8d58 : /** * @brief Unlock the FLASH control register access * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASH_Unlock(void) { 80b8d58: b480 push {r7} 80b8d5a: b083 sub sp, #12 80b8d5c: af00 add r7, sp, #0 HAL_StatusTypeDef status = HAL_OK; 80b8d5e: 2300 movs r3, #0 80b8d60: 71fb strb r3, [r7, #7] if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET) 80b8d62: 4b0b ldr r3, [pc, #44] ; (80b8d90 ) 80b8d64: 691b ldr r3, [r3, #16] 80b8d66: 2b00 cmp r3, #0 80b8d68: da0b bge.n 80b8d82 { /* Authorize the FLASH Registers access */ WRITE_REG(FLASH->KEYR, FLASH_KEY1); 80b8d6a: 4b09 ldr r3, [pc, #36] ; (80b8d90 ) 80b8d6c: 4a09 ldr r2, [pc, #36] ; (80b8d94 ) 80b8d6e: 605a str r2, [r3, #4] WRITE_REG(FLASH->KEYR, FLASH_KEY2); 80b8d70: 4b07 ldr r3, [pc, #28] ; (80b8d90 ) 80b8d72: 4a09 ldr r2, [pc, #36] ; (80b8d98 ) 80b8d74: 605a str r2, [r3, #4] /* Verify Flash is unlocked */ if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET) 80b8d76: 4b06 ldr r3, [pc, #24] ; (80b8d90 ) 80b8d78: 691b ldr r3, [r3, #16] 80b8d7a: 2b00 cmp r3, #0 80b8d7c: da01 bge.n 80b8d82 { status = HAL_ERROR; 80b8d7e: 2301 movs r3, #1 80b8d80: 71fb strb r3, [r7, #7] } } return status; 80b8d82: 79fb ldrb r3, [r7, #7] } 80b8d84: 4618 mov r0, r3 80b8d86: 370c adds r7, #12 80b8d88: 46bd mov sp, r7 80b8d8a: f85d 7b04 ldr.w r7, [sp], #4 80b8d8e: 4770 bx lr 80b8d90: 40023c00 .word 0x40023c00 80b8d94: 45670123 .word 0x45670123 80b8d98: cdef89ab .word 0xcdef89ab 080b8d9c : /** * @brief Locks the FLASH control register access * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASH_Lock(void) { 80b8d9c: b480 push {r7} 80b8d9e: af00 add r7, sp, #0 /* Set the LOCK Bit to lock the FLASH Registers access */ FLASH->CR |= FLASH_CR_LOCK; 80b8da0: 4a05 ldr r2, [pc, #20] ; (80b8db8 ) 80b8da2: 4b05 ldr r3, [pc, #20] ; (80b8db8 ) 80b8da4: 691b ldr r3, [r3, #16] 80b8da6: f043 4300 orr.w r3, r3, #2147483648 ; 0x80000000 80b8daa: 6113 str r3, [r2, #16] return HAL_OK; 80b8dac: 2300 movs r3, #0 } 80b8dae: 4618 mov r0, r3 80b8db0: 46bd mov sp, r7 80b8db2: f85d 7b04 ldr.w r7, [sp], #4 80b8db6: 4770 bx lr 80b8db8: 40023c00 .word 0x40023c00 080b8dbc : * @brief Wait for a FLASH operation to complete. * @param Timeout maximum flash operationtimeout * @retval HAL Status */ HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout) { 80b8dbc: b580 push {r7, lr} 80b8dbe: b084 sub sp, #16 80b8dc0: af00 add r7, sp, #0 80b8dc2: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80b8dc4: 2300 movs r3, #0 80b8dc6: 60fb str r3, [r7, #12] /* Clear Error Code */ pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; 80b8dc8: 4b1a ldr r3, [pc, #104] ; (80b8e34 ) 80b8dca: 2200 movs r2, #0 80b8dcc: 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(); 80b8dce: f7fe f829 bl 80b6e24 80b8dd2: 60f8 str r0, [r7, #12] while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY) != RESET) 80b8dd4: e010 b.n 80b8df8 { if(Timeout != HAL_MAX_DELAY) 80b8dd6: 687b ldr r3, [r7, #4] 80b8dd8: f1b3 3fff cmp.w r3, #4294967295 80b8ddc: d00c beq.n 80b8df8 { if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) 80b8dde: 687b ldr r3, [r7, #4] 80b8de0: 2b00 cmp r3, #0 80b8de2: d007 beq.n 80b8df4 80b8de4: f7fe f81e bl 80b6e24 80b8de8: 4602 mov r2, r0 80b8dea: 68fb ldr r3, [r7, #12] 80b8dec: 1ad2 subs r2, r2, r3 80b8dee: 687b ldr r3, [r7, #4] 80b8df0: 429a cmp r2, r3 80b8df2: d901 bls.n 80b8df8 { return HAL_TIMEOUT; 80b8df4: 2303 movs r3, #3 80b8df6: e019 b.n 80b8e2c while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY) != RESET) 80b8df8: 4b0f ldr r3, [pc, #60] ; (80b8e38 ) 80b8dfa: 68db ldr r3, [r3, #12] 80b8dfc: f403 3380 and.w r3, r3, #65536 ; 0x10000 80b8e00: 2b00 cmp r3, #0 80b8e02: d1e8 bne.n 80b8dd6 } } } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_ALL_ERRORS) != RESET) 80b8e04: 4b0c ldr r3, [pc, #48] ; (80b8e38 ) 80b8e06: 68db ldr r3, [r3, #12] 80b8e08: f003 03f2 and.w r3, r3, #242 ; 0xf2 80b8e0c: 2b00 cmp r3, #0 80b8e0e: d003 beq.n 80b8e18 { /*Save the error code*/ FLASH_SetErrorCode(); 80b8e10: f000 f8b2 bl 80b8f78 return HAL_ERROR; 80b8e14: 2301 movs r3, #1 80b8e16: e009 b.n 80b8e2c } /* Check FLASH End of Operation flag */ if (__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP) != RESET) 80b8e18: 4b07 ldr r3, [pc, #28] ; (80b8e38 ) 80b8e1a: 68db ldr r3, [r3, #12] 80b8e1c: f003 0301 and.w r3, r3, #1 80b8e20: 2b00 cmp r3, #0 80b8e22: d002 beq.n 80b8e2a { /* Clear FLASH End of Operation pending bit */ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP); 80b8e24: 4b04 ldr r3, [pc, #16] ; (80b8e38 ) 80b8e26: 2201 movs r2, #1 80b8e28: 60da str r2, [r3, #12] } /* If there is an error flag set */ return HAL_OK; 80b8e2a: 2300 movs r3, #0 } 80b8e2c: 4618 mov r0, r3 80b8e2e: 3710 adds r7, #16 80b8e30: 46bd mov sp, r7 80b8e32: bd80 pop {r7, pc} 80b8e34: 20068aec .word 0x20068aec 80b8e38: 40023c00 .word 0x40023c00 080b8e3c : * @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) { 80b8e3c: b4f0 push {r4, r5, r6, r7} 80b8e3e: b084 sub sp, #16 80b8e40: af00 add r7, sp, #0 80b8e42: 60f8 str r0, [r7, #12] 80b8e44: 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; 80b8e48: 4a13 ldr r2, [pc, #76] ; (80b8e98 ) 80b8e4a: 4b13 ldr r3, [pc, #76] ; (80b8e98 ) 80b8e4c: 691b ldr r3, [r3, #16] 80b8e4e: f423 7340 bic.w r3, r3, #768 ; 0x300 80b8e52: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_DOUBLE_WORD; 80b8e54: 4a10 ldr r2, [pc, #64] ; (80b8e98 ) 80b8e56: 4b10 ldr r3, [pc, #64] ; (80b8e98 ) 80b8e58: 691b ldr r3, [r3, #16] 80b8e5a: f443 7340 orr.w r3, r3, #768 ; 0x300 80b8e5e: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b8e60: 4a0d ldr r2, [pc, #52] ; (80b8e98 ) 80b8e62: 4b0d ldr r3, [pc, #52] ; (80b8e98 ) 80b8e64: 691b ldr r3, [r3, #16] 80b8e66: f043 0301 orr.w r3, r3, #1 80b8e6a: 6113 str r3, [r2, #16] /* Program first word */ *(__IO uint32_t*)Address = (uint32_t)Data; 80b8e6c: 68fb ldr r3, [r7, #12] 80b8e6e: 683a ldr r2, [r7, #0] 80b8e70: 601a str r2, [r3, #0] 80b8e72: 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); 80b8e76: 68fb ldr r3, [r7, #12] 80b8e78: 3304 adds r3, #4 80b8e7a: 461a mov r2, r3 80b8e7c: e897 0018 ldmia.w r7, {r3, r4} 80b8e80: 0025 movs r5, r4 80b8e82: 2600 movs r6, #0 80b8e84: 462b mov r3, r5 80b8e86: 6013 str r3, [r2, #0] __ASM volatile ("dsb 0xF":::"memory"); 80b8e88: 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(); } 80b8e8c: bf00 nop 80b8e8e: 3710 adds r7, #16 80b8e90: 46bd mov sp, r7 80b8e92: bcf0 pop {r4, r5, r6, r7} 80b8e94: 4770 bx lr 80b8e96: bf00 nop 80b8e98: 40023c00 .word 0x40023c00 080b8e9c : * @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) { 80b8e9c: b480 push {r7} 80b8e9e: b083 sub sp, #12 80b8ea0: af00 add r7, sp, #0 80b8ea2: 6078 str r0, [r7, #4] 80b8ea4: 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; 80b8ea6: 4a0e ldr r2, [pc, #56] ; (80b8ee0 ) 80b8ea8: 4b0d ldr r3, [pc, #52] ; (80b8ee0 ) 80b8eaa: 691b ldr r3, [r3, #16] 80b8eac: f423 7340 bic.w r3, r3, #768 ; 0x300 80b8eb0: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_WORD; 80b8eb2: 4a0b ldr r2, [pc, #44] ; (80b8ee0 ) 80b8eb4: 4b0a ldr r3, [pc, #40] ; (80b8ee0 ) 80b8eb6: 691b ldr r3, [r3, #16] 80b8eb8: f443 7300 orr.w r3, r3, #512 ; 0x200 80b8ebc: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b8ebe: 4a08 ldr r2, [pc, #32] ; (80b8ee0 ) 80b8ec0: 4b07 ldr r3, [pc, #28] ; (80b8ee0 ) 80b8ec2: 691b ldr r3, [r3, #16] 80b8ec4: f043 0301 orr.w r3, r3, #1 80b8ec8: 6113 str r3, [r2, #16] *(__IO uint32_t*)Address = Data; 80b8eca: 687b ldr r3, [r7, #4] 80b8ecc: 683a ldr r2, [r7, #0] 80b8ece: 601a str r2, [r3, #0] 80b8ed0: 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(); } 80b8ed4: bf00 nop 80b8ed6: 370c adds r7, #12 80b8ed8: 46bd mov sp, r7 80b8eda: f85d 7b04 ldr.w r7, [sp], #4 80b8ede: 4770 bx lr 80b8ee0: 40023c00 .word 0x40023c00 080b8ee4 : * @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) { 80b8ee4: b480 push {r7} 80b8ee6: b083 sub sp, #12 80b8ee8: af00 add r7, sp, #0 80b8eea: 6078 str r0, [r7, #4] 80b8eec: 460b mov r3, r1 80b8eee: 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; 80b8ef0: 4a0e ldr r2, [pc, #56] ; (80b8f2c ) 80b8ef2: 4b0e ldr r3, [pc, #56] ; (80b8f2c ) 80b8ef4: 691b ldr r3, [r3, #16] 80b8ef6: f423 7340 bic.w r3, r3, #768 ; 0x300 80b8efa: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_HALF_WORD; 80b8efc: 4a0b ldr r2, [pc, #44] ; (80b8f2c ) 80b8efe: 4b0b ldr r3, [pc, #44] ; (80b8f2c ) 80b8f00: 691b ldr r3, [r3, #16] 80b8f02: f443 7380 orr.w r3, r3, #256 ; 0x100 80b8f06: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b8f08: 4a08 ldr r2, [pc, #32] ; (80b8f2c ) 80b8f0a: 4b08 ldr r3, [pc, #32] ; (80b8f2c ) 80b8f0c: 691b ldr r3, [r3, #16] 80b8f0e: f043 0301 orr.w r3, r3, #1 80b8f12: 6113 str r3, [r2, #16] *(__IO uint16_t*)Address = Data; 80b8f14: 687b ldr r3, [r7, #4] 80b8f16: 887a ldrh r2, [r7, #2] 80b8f18: 801a strh r2, [r3, #0] 80b8f1a: 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(); } 80b8f1e: bf00 nop 80b8f20: 370c adds r7, #12 80b8f22: 46bd mov sp, r7 80b8f24: f85d 7b04 ldr.w r7, [sp], #4 80b8f28: 4770 bx lr 80b8f2a: bf00 nop 80b8f2c: 40023c00 .word 0x40023c00 080b8f30 : * @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) { 80b8f30: b480 push {r7} 80b8f32: b083 sub sp, #12 80b8f34: af00 add r7, sp, #0 80b8f36: 6078 str r0, [r7, #4] 80b8f38: 460b mov r3, r1 80b8f3a: 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; 80b8f3c: 4a0d ldr r2, [pc, #52] ; (80b8f74 ) 80b8f3e: 4b0d ldr r3, [pc, #52] ; (80b8f74 ) 80b8f40: 691b ldr r3, [r3, #16] 80b8f42: f423 7340 bic.w r3, r3, #768 ; 0x300 80b8f46: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_BYTE; 80b8f48: 4a0a ldr r2, [pc, #40] ; (80b8f74 ) 80b8f4a: 4b0a ldr r3, [pc, #40] ; (80b8f74 ) 80b8f4c: 691b ldr r3, [r3, #16] 80b8f4e: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b8f50: 4a08 ldr r2, [pc, #32] ; (80b8f74 ) 80b8f52: 4b08 ldr r3, [pc, #32] ; (80b8f74 ) 80b8f54: 691b ldr r3, [r3, #16] 80b8f56: f043 0301 orr.w r3, r3, #1 80b8f5a: 6113 str r3, [r2, #16] *(__IO uint8_t*)Address = Data; 80b8f5c: 687b ldr r3, [r7, #4] 80b8f5e: 78fa ldrb r2, [r7, #3] 80b8f60: 701a strb r2, [r3, #0] 80b8f62: 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(); } 80b8f66: bf00 nop 80b8f68: 370c adds r7, #12 80b8f6a: 46bd mov sp, r7 80b8f6c: f85d 7b04 ldr.w r7, [sp], #4 80b8f70: 4770 bx lr 80b8f72: bf00 nop 80b8f74: 40023c00 .word 0x40023c00 080b8f78 : /** * @brief Set the specific FLASH error flag. * @retval None */ static void FLASH_SetErrorCode(void) { 80b8f78: b480 push {r7} 80b8f7a: af00 add r7, sp, #0 if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_OPERR) != RESET) 80b8f7c: 4b21 ldr r3, [pc, #132] ; (80b9004 ) 80b8f7e: 68db ldr r3, [r3, #12] 80b8f80: f003 0302 and.w r3, r3, #2 80b8f84: 2b00 cmp r3, #0 80b8f86: d005 beq.n 80b8f94 { pFlash.ErrorCode |= HAL_FLASH_ERROR_OPERATION; 80b8f88: 4b1f ldr r3, [pc, #124] ; (80b9008 ) 80b8f8a: 699b ldr r3, [r3, #24] 80b8f8c: f043 0320 orr.w r3, r3, #32 80b8f90: 4a1d ldr r2, [pc, #116] ; (80b9008 ) 80b8f92: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) != RESET) 80b8f94: 4b1b ldr r3, [pc, #108] ; (80b9004 ) 80b8f96: 68db ldr r3, [r3, #12] 80b8f98: f003 0310 and.w r3, r3, #16 80b8f9c: 2b00 cmp r3, #0 80b8f9e: d005 beq.n 80b8fac { pFlash.ErrorCode |= HAL_FLASH_ERROR_WRP; 80b8fa0: 4b19 ldr r3, [pc, #100] ; (80b9008 ) 80b8fa2: 699b ldr r3, [r3, #24] 80b8fa4: f043 0310 orr.w r3, r3, #16 80b8fa8: 4a17 ldr r2, [pc, #92] ; (80b9008 ) 80b8faa: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGAERR) != RESET) 80b8fac: 4b15 ldr r3, [pc, #84] ; (80b9004 ) 80b8fae: 68db ldr r3, [r3, #12] 80b8fb0: f003 0320 and.w r3, r3, #32 80b8fb4: 2b00 cmp r3, #0 80b8fb6: d005 beq.n 80b8fc4 { pFlash.ErrorCode |= HAL_FLASH_ERROR_PGA; 80b8fb8: 4b13 ldr r3, [pc, #76] ; (80b9008 ) 80b8fba: 699b ldr r3, [r3, #24] 80b8fbc: f043 0308 orr.w r3, r3, #8 80b8fc0: 4a11 ldr r2, [pc, #68] ; (80b9008 ) 80b8fc2: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGPERR) != RESET) 80b8fc4: 4b0f ldr r3, [pc, #60] ; (80b9004 ) 80b8fc6: 68db ldr r3, [r3, #12] 80b8fc8: f003 0340 and.w r3, r3, #64 ; 0x40 80b8fcc: 2b00 cmp r3, #0 80b8fce: d005 beq.n 80b8fdc { pFlash.ErrorCode |= HAL_FLASH_ERROR_PGP; 80b8fd0: 4b0d ldr r3, [pc, #52] ; (80b9008 ) 80b8fd2: 699b ldr r3, [r3, #24] 80b8fd4: f043 0304 orr.w r3, r3, #4 80b8fd8: 4a0b ldr r2, [pc, #44] ; (80b9008 ) 80b8fda: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_ERSERR) != RESET) 80b8fdc: 4b09 ldr r3, [pc, #36] ; (80b9004 ) 80b8fde: 68db ldr r3, [r3, #12] 80b8fe0: f003 0380 and.w r3, r3, #128 ; 0x80 80b8fe4: 2b00 cmp r3, #0 80b8fe6: d005 beq.n 80b8ff4 { pFlash.ErrorCode |= HAL_FLASH_ERROR_ERS; 80b8fe8: 4b07 ldr r3, [pc, #28] ; (80b9008 ) 80b8fea: 699b ldr r3, [r3, #24] 80b8fec: f043 0302 orr.w r3, r3, #2 80b8ff0: 4a05 ldr r2, [pc, #20] ; (80b9008 ) 80b8ff2: 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); 80b8ff4: 4b03 ldr r3, [pc, #12] ; (80b9004 ) 80b8ff6: 22f2 movs r2, #242 ; 0xf2 80b8ff8: 60da str r2, [r3, #12] } 80b8ffa: bf00 nop 80b8ffc: 46bd mov sp, r7 80b8ffe: f85d 7b04 ldr.w r7, [sp], #4 80b9002: 4770 bx lr 80b9004: 40023c00 .word 0x40023c00 80b9008: 20068aec .word 0x20068aec 080b900c : * (0xFFFFFFFF means that all the sectors have been correctly erased) * * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *SectorError) { 80b900c: b580 push {r7, lr} 80b900e: b084 sub sp, #16 80b9010: af00 add r7, sp, #0 80b9012: 6078 str r0, [r7, #4] 80b9014: 6039 str r1, [r7, #0] HAL_StatusTypeDef status = HAL_ERROR; 80b9016: 2301 movs r3, #1 80b9018: 73fb strb r3, [r7, #15] uint32_t index = 0; 80b901a: 2300 movs r3, #0 80b901c: 60bb str r3, [r7, #8] /* Process Locked */ __HAL_LOCK(&pFlash); 80b901e: 4b30 ldr r3, [pc, #192] ; (80b90e0 ) 80b9020: 7d1b ldrb r3, [r3, #20] 80b9022: 2b01 cmp r3, #1 80b9024: d101 bne.n 80b902a 80b9026: 2302 movs r3, #2 80b9028: e056 b.n 80b90d8 80b902a: 4b2d ldr r3, [pc, #180] ; (80b90e0 ) 80b902c: 2201 movs r2, #1 80b902e: 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); 80b9030: f24c 3050 movw r0, #50000 ; 0xc350 80b9034: f7ff fec2 bl 80b8dbc 80b9038: 4603 mov r3, r0 80b903a: 73fb strb r3, [r7, #15] if(status == HAL_OK) 80b903c: 7bfb ldrb r3, [r7, #15] 80b903e: 2b00 cmp r3, #0 80b9040: d146 bne.n 80b90d0 { /*Initialization of SectorError variable*/ *SectorError = 0xFFFFFFFFU; 80b9042: 683b ldr r3, [r7, #0] 80b9044: f04f 32ff mov.w r2, #4294967295 80b9048: 601a str r2, [r3, #0] if(pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE) 80b904a: 687b ldr r3, [r7, #4] 80b904c: 681b ldr r3, [r3, #0] 80b904e: 2b01 cmp r3, #1 80b9050: d115 bne.n 80b907e { /*Mass erase to be done*/ #if defined (FLASH_OPTCR_nDBANK) FLASH_MassErase((uint8_t) pEraseInit->VoltageRange, pEraseInit->Banks); 80b9052: 687b ldr r3, [r7, #4] 80b9054: 691b ldr r3, [r3, #16] 80b9056: b2da uxtb r2, r3 80b9058: 687b ldr r3, [r7, #4] 80b905a: 685b ldr r3, [r3, #4] 80b905c: 4619 mov r1, r3 80b905e: 4610 mov r0, r2 80b9060: f000 f844 bl 80b90ec #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); 80b9064: f24c 3050 movw r0, #50000 ; 0xc350 80b9068: f7ff fea8 bl 80b8dbc 80b906c: 4603 mov r3, r0 80b906e: 73fb strb r3, [r7, #15] /* if the erase operation is completed, disable the MER Bit */ FLASH->CR &= (~FLASH_MER_BIT); 80b9070: 491c ldr r1, [pc, #112] ; (80b90e4 ) 80b9072: 4b1c ldr r3, [pc, #112] ; (80b90e4 ) 80b9074: 691a ldr r2, [r3, #16] 80b9076: 4b1c ldr r3, [pc, #112] ; (80b90e8 ) 80b9078: 4013 ands r3, r2 80b907a: 610b str r3, [r1, #16] 80b907c: e028 b.n 80b90d0 { /* 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++) 80b907e: 687b ldr r3, [r7, #4] 80b9080: 689b ldr r3, [r3, #8] 80b9082: 60bb str r3, [r7, #8] 80b9084: e01c b.n 80b90c0 { FLASH_Erase_Sector(index, (uint8_t) pEraseInit->VoltageRange); 80b9086: 687b ldr r3, [r7, #4] 80b9088: 691b ldr r3, [r3, #16] 80b908a: b2db uxtb r3, r3 80b908c: 4619 mov r1, r3 80b908e: 68b8 ldr r0, [r7, #8] 80b9090: f000 f866 bl 80b9160 /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); 80b9094: f24c 3050 movw r0, #50000 ; 0xc350 80b9098: f7ff fe90 bl 80b8dbc 80b909c: 4603 mov r3, r0 80b909e: 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)); 80b90a0: 4a10 ldr r2, [pc, #64] ; (80b90e4 ) 80b90a2: 4b10 ldr r3, [pc, #64] ; (80b90e4 ) 80b90a4: 691b ldr r3, [r3, #16] 80b90a6: f023 03fa bic.w r3, r3, #250 ; 0xfa 80b90aa: 6113 str r3, [r2, #16] if(status != HAL_OK) 80b90ac: 7bfb ldrb r3, [r7, #15] 80b90ae: 2b00 cmp r3, #0 80b90b0: d003 beq.n 80b90ba { /* In case of error, stop erase procedure and return the faulty sector*/ *SectorError = index; 80b90b2: 683b ldr r3, [r7, #0] 80b90b4: 68ba ldr r2, [r7, #8] 80b90b6: 601a str r2, [r3, #0] break; 80b90b8: e00a b.n 80b90d0 for(index = pEraseInit->Sector; index < (pEraseInit->NbSectors + pEraseInit->Sector); index++) 80b90ba: 68bb ldr r3, [r7, #8] 80b90bc: 3301 adds r3, #1 80b90be: 60bb str r3, [r7, #8] 80b90c0: 687b ldr r3, [r7, #4] 80b90c2: 68da ldr r2, [r3, #12] 80b90c4: 687b ldr r3, [r7, #4] 80b90c6: 689b ldr r3, [r3, #8] 80b90c8: 441a add r2, r3 80b90ca: 68bb ldr r3, [r7, #8] 80b90cc: 429a cmp r2, r3 80b90ce: d8da bhi.n 80b9086 } } } /* Process Unlocked */ __HAL_UNLOCK(&pFlash); 80b90d0: 4b03 ldr r3, [pc, #12] ; (80b90e0 ) 80b90d2: 2200 movs r2, #0 80b90d4: 751a strb r2, [r3, #20] return status; 80b90d6: 7bfb ldrb r3, [r7, #15] } 80b90d8: 4618 mov r0, r3 80b90da: 3710 adds r7, #16 80b90dc: 46bd mov sp, r7 80b90de: bd80 pop {r7, pc} 80b90e0: 20068aec .word 0x20068aec 80b90e4: 40023c00 .word 0x40023c00 80b90e8: ffff7ffb .word 0xffff7ffb 080b90ec : * @arg FLASH_BANK_BOTH: Bank1 and Bank2 to be erased * * @retval HAL Status */ static void FLASH_MassErase(uint8_t VoltageRange, uint32_t Banks) { 80b90ec: b480 push {r7} 80b90ee: b083 sub sp, #12 80b90f0: af00 add r7, sp, #0 80b90f2: 4603 mov r3, r0 80b90f4: 6039 str r1, [r7, #0] 80b90f6: 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; 80b90f8: 4a18 ldr r2, [pc, #96] ; (80b915c ) 80b90fa: 4b18 ldr r3, [pc, #96] ; (80b915c ) 80b90fc: 691b ldr r3, [r3, #16] 80b90fe: f423 7340 bic.w r3, r3, #768 ; 0x300 80b9102: 6113 str r3, [r2, #16] if(Banks == FLASH_BANK_BOTH) 80b9104: 683b ldr r3, [r7, #0] 80b9106: 2b03 cmp r3, #3 80b9108: d107 bne.n 80b911a { /* bank1 & bank2 will be erased*/ FLASH->CR |= FLASH_MER_BIT; 80b910a: 4914 ldr r1, [pc, #80] ; (80b915c ) 80b910c: 4b13 ldr r3, [pc, #76] ; (80b915c ) 80b910e: 691a ldr r2, [r3, #16] 80b9110: f248 0304 movw r3, #32772 ; 0x8004 80b9114: 4313 orrs r3, r2 80b9116: 610b str r3, [r1, #16] 80b9118: e00f b.n 80b913a } else if(Banks == FLASH_BANK_2) 80b911a: 683b ldr r3, [r7, #0] 80b911c: 2b02 cmp r3, #2 80b911e: d106 bne.n 80b912e { /*Only bank2 will be erased*/ FLASH->CR |= FLASH_CR_MER2; 80b9120: 4a0e ldr r2, [pc, #56] ; (80b915c ) 80b9122: 4b0e ldr r3, [pc, #56] ; (80b915c ) 80b9124: 691b ldr r3, [r3, #16] 80b9126: f443 4300 orr.w r3, r3, #32768 ; 0x8000 80b912a: 6113 str r3, [r2, #16] 80b912c: e005 b.n 80b913a } else { /*Only bank1 will be erased*/ FLASH->CR |= FLASH_CR_MER1; 80b912e: 4a0b ldr r2, [pc, #44] ; (80b915c ) 80b9130: 4b0a ldr r3, [pc, #40] ; (80b915c ) 80b9132: 691b ldr r3, [r3, #16] 80b9134: f043 0304 orr.w r3, r3, #4 80b9138: 6113 str r3, [r2, #16] } FLASH->CR |= FLASH_CR_STRT | ((uint32_t)VoltageRange <<8); 80b913a: 4908 ldr r1, [pc, #32] ; (80b915c ) 80b913c: 4b07 ldr r3, [pc, #28] ; (80b915c ) 80b913e: 691a ldr r2, [r3, #16] 80b9140: 79fb ldrb r3, [r7, #7] 80b9142: 021b lsls r3, r3, #8 80b9144: 4313 orrs r3, r2 80b9146: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b914a: 610b str r3, [r1, #16] 80b914c: 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(); } 80b9150: bf00 nop 80b9152: 370c adds r7, #12 80b9154: 46bd mov sp, r7 80b9156: f85d 7b04 ldr.w r7, [sp], #4 80b915a: 4770 bx lr 80b915c: 40023c00 .word 0x40023c00 080b9160 : * the operation will be done by double word (64-bit) * * @retval None */ void FLASH_Erase_Sector(uint32_t Sector, uint8_t VoltageRange) { 80b9160: b480 push {r7} 80b9162: b085 sub sp, #20 80b9164: af00 add r7, sp, #0 80b9166: 6078 str r0, [r7, #4] 80b9168: 460b mov r3, r1 80b916a: 70fb strb r3, [r7, #3] uint32_t tmp_psize = 0; 80b916c: 2300 movs r3, #0 80b916e: 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) 80b9170: 78fb ldrb r3, [r7, #3] 80b9172: 2b00 cmp r3, #0 80b9174: d102 bne.n 80b917c { tmp_psize = FLASH_PSIZE_BYTE; 80b9176: 2300 movs r3, #0 80b9178: 60fb str r3, [r7, #12] 80b917a: e010 b.n 80b919e } else if(VoltageRange == FLASH_VOLTAGE_RANGE_2) 80b917c: 78fb ldrb r3, [r7, #3] 80b917e: 2b01 cmp r3, #1 80b9180: d103 bne.n 80b918a { tmp_psize = FLASH_PSIZE_HALF_WORD; 80b9182: f44f 7380 mov.w r3, #256 ; 0x100 80b9186: 60fb str r3, [r7, #12] 80b9188: e009 b.n 80b919e } else if(VoltageRange == FLASH_VOLTAGE_RANGE_3) 80b918a: 78fb ldrb r3, [r7, #3] 80b918c: 2b02 cmp r3, #2 80b918e: d103 bne.n 80b9198 { tmp_psize = FLASH_PSIZE_WORD; 80b9190: f44f 7300 mov.w r3, #512 ; 0x200 80b9194: 60fb str r3, [r7, #12] 80b9196: e002 b.n 80b919e } else { tmp_psize = FLASH_PSIZE_DOUBLE_WORD; 80b9198: f44f 7340 mov.w r3, #768 ; 0x300 80b919c: 60fb str r3, [r7, #12] } /* Need to add offset of 4 when sector higher than FLASH_SECTOR_11 */ if(Sector > FLASH_SECTOR_11) 80b919e: 687b ldr r3, [r7, #4] 80b91a0: 2b0b cmp r3, #11 80b91a2: d902 bls.n 80b91aa { Sector += 4; 80b91a4: 687b ldr r3, [r7, #4] 80b91a6: 3304 adds r3, #4 80b91a8: 607b str r3, [r7, #4] } /* If the previous operation is completed, proceed to erase the sector */ FLASH->CR &= CR_PSIZE_MASK; 80b91aa: 4a14 ldr r2, [pc, #80] ; (80b91fc ) 80b91ac: 4b13 ldr r3, [pc, #76] ; (80b91fc ) 80b91ae: 691b ldr r3, [r3, #16] 80b91b0: f423 7340 bic.w r3, r3, #768 ; 0x300 80b91b4: 6113 str r3, [r2, #16] FLASH->CR |= tmp_psize; 80b91b6: 4911 ldr r1, [pc, #68] ; (80b91fc ) 80b91b8: 4b10 ldr r3, [pc, #64] ; (80b91fc ) 80b91ba: 691a ldr r2, [r3, #16] 80b91bc: 68fb ldr r3, [r7, #12] 80b91be: 4313 orrs r3, r2 80b91c0: 610b str r3, [r1, #16] CLEAR_BIT(FLASH->CR, FLASH_CR_SNB); 80b91c2: 4a0e ldr r2, [pc, #56] ; (80b91fc ) 80b91c4: 4b0d ldr r3, [pc, #52] ; (80b91fc ) 80b91c6: 691b ldr r3, [r3, #16] 80b91c8: f023 03f8 bic.w r3, r3, #248 ; 0xf8 80b91cc: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_SER | (Sector << FLASH_CR_SNB_Pos); 80b91ce: 490b ldr r1, [pc, #44] ; (80b91fc ) 80b91d0: 4b0a ldr r3, [pc, #40] ; (80b91fc ) 80b91d2: 691a ldr r2, [r3, #16] 80b91d4: 687b ldr r3, [r7, #4] 80b91d6: 00db lsls r3, r3, #3 80b91d8: 4313 orrs r3, r2 80b91da: f043 0302 orr.w r3, r3, #2 80b91de: 610b str r3, [r1, #16] FLASH->CR |= FLASH_CR_STRT; 80b91e0: 4a06 ldr r2, [pc, #24] ; (80b91fc ) 80b91e2: 4b06 ldr r3, [pc, #24] ; (80b91fc ) 80b91e4: 691b ldr r3, [r3, #16] 80b91e6: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b91ea: 6113 str r3, [r2, #16] 80b91ec: 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(); } 80b91f0: bf00 nop 80b91f2: 3714 adds r7, #20 80b91f4: 46bd mov sp, r7 80b91f6: f85d 7b04 ldr.w r7, [sp], #4 80b91fa: 4770 bx lr 80b91fc: 40023c00 .word 0x40023c00 080b9200 : * @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) { 80b9200: b480 push {r7} 80b9202: b089 sub sp, #36 ; 0x24 80b9204: af00 add r7, sp, #0 80b9206: 6078 str r0, [r7, #4] 80b9208: 6039 str r1, [r7, #0] uint32_t position = 0x00; 80b920a: 2300 movs r3, #0 80b920c: 61fb str r3, [r7, #28] uint32_t ioposition = 0x00; 80b920e: 2300 movs r3, #0 80b9210: 617b str r3, [r7, #20] uint32_t iocurrent = 0x00; 80b9212: 2300 movs r3, #0 80b9214: 613b str r3, [r7, #16] uint32_t temp = 0x00; 80b9216: 2300 movs r3, #0 80b9218: 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++) 80b921a: 2300 movs r3, #0 80b921c: 61fb str r3, [r7, #28] 80b921e: e175 b.n 80b950c { /* Get the IO position */ ioposition = ((uint32_t)0x01) << position; 80b9220: 2201 movs r2, #1 80b9222: 69fb ldr r3, [r7, #28] 80b9224: fa02 f303 lsl.w r3, r2, r3 80b9228: 617b str r3, [r7, #20] /* Get the current IO position */ iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition; 80b922a: 683b ldr r3, [r7, #0] 80b922c: 681a ldr r2, [r3, #0] 80b922e: 697b ldr r3, [r7, #20] 80b9230: 4013 ands r3, r2 80b9232: 613b str r3, [r7, #16] if(iocurrent == ioposition) 80b9234: 693a ldr r2, [r7, #16] 80b9236: 697b ldr r3, [r7, #20] 80b9238: 429a cmp r2, r3 80b923a: f040 8164 bne.w 80b9506 { /*--------------------- 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)) 80b923e: 683b ldr r3, [r7, #0] 80b9240: 685b ldr r3, [r3, #4] 80b9242: f003 0303 and.w r3, r3, #3 80b9246: 2b01 cmp r3, #1 80b9248: d005 beq.n 80b9256 80b924a: 683b ldr r3, [r7, #0] 80b924c: 685b ldr r3, [r3, #4] 80b924e: f003 0303 and.w r3, r3, #3 80b9252: 2b02 cmp r3, #2 80b9254: d130 bne.n 80b92b8 { /* Check the Speed parameter */ assert_param(IS_GPIO_SPEED(GPIO_Init->Speed)); /* Configure the IO Speed */ temp = GPIOx->OSPEEDR; 80b9256: 687b ldr r3, [r7, #4] 80b9258: 689b ldr r3, [r3, #8] 80b925a: 61bb str r3, [r7, #24] temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2)); 80b925c: 69fb ldr r3, [r7, #28] 80b925e: 005b lsls r3, r3, #1 80b9260: 2203 movs r2, #3 80b9262: fa02 f303 lsl.w r3, r2, r3 80b9266: 43db mvns r3, r3 80b9268: 69ba ldr r2, [r7, #24] 80b926a: 4013 ands r3, r2 80b926c: 61bb str r3, [r7, #24] temp |= (GPIO_Init->Speed << (position * 2)); 80b926e: 683b ldr r3, [r7, #0] 80b9270: 68da ldr r2, [r3, #12] 80b9272: 69fb ldr r3, [r7, #28] 80b9274: 005b lsls r3, r3, #1 80b9276: fa02 f303 lsl.w r3, r2, r3 80b927a: 69ba ldr r2, [r7, #24] 80b927c: 4313 orrs r3, r2 80b927e: 61bb str r3, [r7, #24] GPIOx->OSPEEDR = temp; 80b9280: 687b ldr r3, [r7, #4] 80b9282: 69ba ldr r2, [r7, #24] 80b9284: 609a str r2, [r3, #8] /* Configure the IO Output Type */ temp = GPIOx->OTYPER; 80b9286: 687b ldr r3, [r7, #4] 80b9288: 685b ldr r3, [r3, #4] 80b928a: 61bb str r3, [r7, #24] temp &= ~(GPIO_OTYPER_OT_0 << position) ; 80b928c: 2201 movs r2, #1 80b928e: 69fb ldr r3, [r7, #28] 80b9290: fa02 f303 lsl.w r3, r2, r3 80b9294: 43db mvns r3, r3 80b9296: 69ba ldr r2, [r7, #24] 80b9298: 4013 ands r3, r2 80b929a: 61bb str r3, [r7, #24] temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position); 80b929c: 683b ldr r3, [r7, #0] 80b929e: 685b ldr r3, [r3, #4] 80b92a0: 091b lsrs r3, r3, #4 80b92a2: f003 0201 and.w r2, r3, #1 80b92a6: 69fb ldr r3, [r7, #28] 80b92a8: fa02 f303 lsl.w r3, r2, r3 80b92ac: 69ba ldr r2, [r7, #24] 80b92ae: 4313 orrs r3, r2 80b92b0: 61bb str r3, [r7, #24] GPIOx->OTYPER = temp; 80b92b2: 687b ldr r3, [r7, #4] 80b92b4: 69ba ldr r2, [r7, #24] 80b92b6: 605a str r2, [r3, #4] } if((GPIO_Init->Mode & GPIO_MODE) != MODE_ANALOG) 80b92b8: 683b ldr r3, [r7, #0] 80b92ba: 685b ldr r3, [r3, #4] 80b92bc: f003 0303 and.w r3, r3, #3 80b92c0: 2b03 cmp r3, #3 80b92c2: d017 beq.n 80b92f4 { /* 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; 80b92c4: 687b ldr r3, [r7, #4] 80b92c6: 68db ldr r3, [r3, #12] 80b92c8: 61bb str r3, [r7, #24] temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2)); 80b92ca: 69fb ldr r3, [r7, #28] 80b92cc: 005b lsls r3, r3, #1 80b92ce: 2203 movs r2, #3 80b92d0: fa02 f303 lsl.w r3, r2, r3 80b92d4: 43db mvns r3, r3 80b92d6: 69ba ldr r2, [r7, #24] 80b92d8: 4013 ands r3, r2 80b92da: 61bb str r3, [r7, #24] temp |= ((GPIO_Init->Pull) << (position * 2)); 80b92dc: 683b ldr r3, [r7, #0] 80b92de: 689a ldr r2, [r3, #8] 80b92e0: 69fb ldr r3, [r7, #28] 80b92e2: 005b lsls r3, r3, #1 80b92e4: fa02 f303 lsl.w r3, r2, r3 80b92e8: 69ba ldr r2, [r7, #24] 80b92ea: 4313 orrs r3, r2 80b92ec: 61bb str r3, [r7, #24] GPIOx->PUPDR = temp; 80b92ee: 687b ldr r3, [r7, #4] 80b92f0: 69ba ldr r2, [r7, #24] 80b92f2: 60da str r2, [r3, #12] } /* In case of Alternate function mode selection */ if((GPIO_Init->Mode & GPIO_MODE) == MODE_AF) 80b92f4: 683b ldr r3, [r7, #0] 80b92f6: 685b ldr r3, [r3, #4] 80b92f8: f003 0303 and.w r3, r3, #3 80b92fc: 2b02 cmp r3, #2 80b92fe: d123 bne.n 80b9348 { /* 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]; 80b9300: 69fb ldr r3, [r7, #28] 80b9302: 08da lsrs r2, r3, #3 80b9304: 687b ldr r3, [r7, #4] 80b9306: 3208 adds r2, #8 80b9308: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80b930c: 61bb str r3, [r7, #24] temp &= ~((uint32_t)0xF << ((uint32_t)(position & (uint32_t)0x07) * 4)) ; 80b930e: 69fb ldr r3, [r7, #28] 80b9310: f003 0307 and.w r3, r3, #7 80b9314: 009b lsls r3, r3, #2 80b9316: 220f movs r2, #15 80b9318: fa02 f303 lsl.w r3, r2, r3 80b931c: 43db mvns r3, r3 80b931e: 69ba ldr r2, [r7, #24] 80b9320: 4013 ands r3, r2 80b9322: 61bb str r3, [r7, #24] temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & (uint32_t)0x07) * 4)); 80b9324: 683b ldr r3, [r7, #0] 80b9326: 691a ldr r2, [r3, #16] 80b9328: 69fb ldr r3, [r7, #28] 80b932a: f003 0307 and.w r3, r3, #7 80b932e: 009b lsls r3, r3, #2 80b9330: fa02 f303 lsl.w r3, r2, r3 80b9334: 69ba ldr r2, [r7, #24] 80b9336: 4313 orrs r3, r2 80b9338: 61bb str r3, [r7, #24] GPIOx->AFR[position >> 3] = temp; 80b933a: 69fb ldr r3, [r7, #28] 80b933c: 08da lsrs r2, r3, #3 80b933e: 687b ldr r3, [r7, #4] 80b9340: 3208 adds r2, #8 80b9342: 69b9 ldr r1, [r7, #24] 80b9344: f843 1022 str.w r1, [r3, r2, lsl #2] } /* Configure IO Direction mode (Input, Output, Alternate or Analog) */ temp = GPIOx->MODER; 80b9348: 687b ldr r3, [r7, #4] 80b934a: 681b ldr r3, [r3, #0] 80b934c: 61bb str r3, [r7, #24] temp &= ~(GPIO_MODER_MODER0 << (position * 2)); 80b934e: 69fb ldr r3, [r7, #28] 80b9350: 005b lsls r3, r3, #1 80b9352: 2203 movs r2, #3 80b9354: fa02 f303 lsl.w r3, r2, r3 80b9358: 43db mvns r3, r3 80b935a: 69ba ldr r2, [r7, #24] 80b935c: 4013 ands r3, r2 80b935e: 61bb str r3, [r7, #24] temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2)); 80b9360: 683b ldr r3, [r7, #0] 80b9362: 685b ldr r3, [r3, #4] 80b9364: f003 0203 and.w r2, r3, #3 80b9368: 69fb ldr r3, [r7, #28] 80b936a: 005b lsls r3, r3, #1 80b936c: fa02 f303 lsl.w r3, r2, r3 80b9370: 69ba ldr r2, [r7, #24] 80b9372: 4313 orrs r3, r2 80b9374: 61bb str r3, [r7, #24] GPIOx->MODER = temp; 80b9376: 687b ldr r3, [r7, #4] 80b9378: 69ba ldr r2, [r7, #24] 80b937a: 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) 80b937c: 683b ldr r3, [r7, #0] 80b937e: 685b ldr r3, [r3, #4] 80b9380: f403 3340 and.w r3, r3, #196608 ; 0x30000 80b9384: 2b00 cmp r3, #0 80b9386: f000 80be beq.w 80b9506 { /* Enable SYSCFG Clock */ __HAL_RCC_SYSCFG_CLK_ENABLE(); 80b938a: 4a65 ldr r2, [pc, #404] ; (80b9520 ) 80b938c: 4b64 ldr r3, [pc, #400] ; (80b9520 ) 80b938e: 6c5b ldr r3, [r3, #68] ; 0x44 80b9390: f443 4380 orr.w r3, r3, #16384 ; 0x4000 80b9394: 6453 str r3, [r2, #68] ; 0x44 80b9396: 4b62 ldr r3, [pc, #392] ; (80b9520 ) 80b9398: 6c5b ldr r3, [r3, #68] ; 0x44 80b939a: f403 4380 and.w r3, r3, #16384 ; 0x4000 80b939e: 60fb str r3, [r7, #12] 80b93a0: 68fb ldr r3, [r7, #12] temp = SYSCFG->EXTICR[position >> 2]; 80b93a2: 4a60 ldr r2, [pc, #384] ; (80b9524 ) 80b93a4: 69fb ldr r3, [r7, #28] 80b93a6: 089b lsrs r3, r3, #2 80b93a8: 3302 adds r3, #2 80b93aa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80b93ae: 61bb str r3, [r7, #24] temp &= ~(((uint32_t)0x0F) << (4 * (position & 0x03))); 80b93b0: 69fb ldr r3, [r7, #28] 80b93b2: f003 0303 and.w r3, r3, #3 80b93b6: 009b lsls r3, r3, #2 80b93b8: 220f movs r2, #15 80b93ba: fa02 f303 lsl.w r3, r2, r3 80b93be: 43db mvns r3, r3 80b93c0: 69ba ldr r2, [r7, #24] 80b93c2: 4013 ands r3, r2 80b93c4: 61bb str r3, [r7, #24] temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03))); 80b93c6: 687b ldr r3, [r7, #4] 80b93c8: 4a57 ldr r2, [pc, #348] ; (80b9528 ) 80b93ca: 4293 cmp r3, r2 80b93cc: d037 beq.n 80b943e 80b93ce: 687b ldr r3, [r7, #4] 80b93d0: 4a56 ldr r2, [pc, #344] ; (80b952c ) 80b93d2: 4293 cmp r3, r2 80b93d4: d031 beq.n 80b943a 80b93d6: 687b ldr r3, [r7, #4] 80b93d8: 4a55 ldr r2, [pc, #340] ; (80b9530 ) 80b93da: 4293 cmp r3, r2 80b93dc: d02b beq.n 80b9436 80b93de: 687b ldr r3, [r7, #4] 80b93e0: 4a54 ldr r2, [pc, #336] ; (80b9534 ) 80b93e2: 4293 cmp r3, r2 80b93e4: d025 beq.n 80b9432 80b93e6: 687b ldr r3, [r7, #4] 80b93e8: 4a53 ldr r2, [pc, #332] ; (80b9538 ) 80b93ea: 4293 cmp r3, r2 80b93ec: d01f beq.n 80b942e 80b93ee: 687b ldr r3, [r7, #4] 80b93f0: 4a52 ldr r2, [pc, #328] ; (80b953c ) 80b93f2: 4293 cmp r3, r2 80b93f4: d019 beq.n 80b942a 80b93f6: 687b ldr r3, [r7, #4] 80b93f8: 4a51 ldr r2, [pc, #324] ; (80b9540 ) 80b93fa: 4293 cmp r3, r2 80b93fc: d013 beq.n 80b9426 80b93fe: 687b ldr r3, [r7, #4] 80b9400: 4a50 ldr r2, [pc, #320] ; (80b9544 ) 80b9402: 4293 cmp r3, r2 80b9404: d00d beq.n 80b9422 80b9406: 687b ldr r3, [r7, #4] 80b9408: 4a4f ldr r2, [pc, #316] ; (80b9548 ) 80b940a: 4293 cmp r3, r2 80b940c: d007 beq.n 80b941e 80b940e: 687b ldr r3, [r7, #4] 80b9410: 4a4e ldr r2, [pc, #312] ; (80b954c ) 80b9412: 4293 cmp r3, r2 80b9414: d101 bne.n 80b941a 80b9416: 2309 movs r3, #9 80b9418: e012 b.n 80b9440 80b941a: 230a movs r3, #10 80b941c: e010 b.n 80b9440 80b941e: 2308 movs r3, #8 80b9420: e00e b.n 80b9440 80b9422: 2307 movs r3, #7 80b9424: e00c b.n 80b9440 80b9426: 2306 movs r3, #6 80b9428: e00a b.n 80b9440 80b942a: 2305 movs r3, #5 80b942c: e008 b.n 80b9440 80b942e: 2304 movs r3, #4 80b9430: e006 b.n 80b9440 80b9432: 2303 movs r3, #3 80b9434: e004 b.n 80b9440 80b9436: 2302 movs r3, #2 80b9438: e002 b.n 80b9440 80b943a: 2301 movs r3, #1 80b943c: e000 b.n 80b9440 80b943e: 2300 movs r3, #0 80b9440: 69fa ldr r2, [r7, #28] 80b9442: f002 0203 and.w r2, r2, #3 80b9446: 0092 lsls r2, r2, #2 80b9448: 4093 lsls r3, r2 80b944a: 69ba ldr r2, [r7, #24] 80b944c: 4313 orrs r3, r2 80b944e: 61bb str r3, [r7, #24] SYSCFG->EXTICR[position >> 2] = temp; 80b9450: 4934 ldr r1, [pc, #208] ; (80b9524 ) 80b9452: 69fb ldr r3, [r7, #28] 80b9454: 089b lsrs r3, r3, #2 80b9456: 3302 adds r3, #2 80b9458: 69ba ldr r2, [r7, #24] 80b945a: f841 2023 str.w r2, [r1, r3, lsl #2] /* Clear Rising Falling edge configuration */ temp = EXTI->RTSR; 80b945e: 4b3c ldr r3, [pc, #240] ; (80b9550 ) 80b9460: 689b ldr r3, [r3, #8] 80b9462: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80b9464: 693b ldr r3, [r7, #16] 80b9466: 43db mvns r3, r3 80b9468: 69ba ldr r2, [r7, #24] 80b946a: 4013 ands r3, r2 80b946c: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & TRIGGER_RISING) != 0x00u) 80b946e: 683b ldr r3, [r7, #0] 80b9470: 685b ldr r3, [r3, #4] 80b9472: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80b9476: 2b00 cmp r3, #0 80b9478: d003 beq.n 80b9482 { temp |= iocurrent; 80b947a: 69ba ldr r2, [r7, #24] 80b947c: 693b ldr r3, [r7, #16] 80b947e: 4313 orrs r3, r2 80b9480: 61bb str r3, [r7, #24] } EXTI->RTSR = temp; 80b9482: 4a33 ldr r2, [pc, #204] ; (80b9550 ) 80b9484: 69bb ldr r3, [r7, #24] 80b9486: 6093 str r3, [r2, #8] temp = EXTI->FTSR; 80b9488: 4b31 ldr r3, [pc, #196] ; (80b9550 ) 80b948a: 68db ldr r3, [r3, #12] 80b948c: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80b948e: 693b ldr r3, [r7, #16] 80b9490: 43db mvns r3, r3 80b9492: 69ba ldr r2, [r7, #24] 80b9494: 4013 ands r3, r2 80b9496: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00u) 80b9498: 683b ldr r3, [r7, #0] 80b949a: 685b ldr r3, [r3, #4] 80b949c: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80b94a0: 2b00 cmp r3, #0 80b94a2: d003 beq.n 80b94ac { temp |= iocurrent; 80b94a4: 69ba ldr r2, [r7, #24] 80b94a6: 693b ldr r3, [r7, #16] 80b94a8: 4313 orrs r3, r2 80b94aa: 61bb str r3, [r7, #24] } EXTI->FTSR = temp; 80b94ac: 4a28 ldr r2, [pc, #160] ; (80b9550 ) 80b94ae: 69bb ldr r3, [r7, #24] 80b94b0: 60d3 str r3, [r2, #12] temp = EXTI->EMR; 80b94b2: 4b27 ldr r3, [pc, #156] ; (80b9550 ) 80b94b4: 685b ldr r3, [r3, #4] 80b94b6: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80b94b8: 693b ldr r3, [r7, #16] 80b94ba: 43db mvns r3, r3 80b94bc: 69ba ldr r2, [r7, #24] 80b94be: 4013 ands r3, r2 80b94c0: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & EXTI_EVT) != 0x00u) 80b94c2: 683b ldr r3, [r7, #0] 80b94c4: 685b ldr r3, [r3, #4] 80b94c6: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b94ca: 2b00 cmp r3, #0 80b94cc: d003 beq.n 80b94d6 { temp |= iocurrent; 80b94ce: 69ba ldr r2, [r7, #24] 80b94d0: 693b ldr r3, [r7, #16] 80b94d2: 4313 orrs r3, r2 80b94d4: 61bb str r3, [r7, #24] } EXTI->EMR = temp; 80b94d6: 4a1e ldr r2, [pc, #120] ; (80b9550 ) 80b94d8: 69bb ldr r3, [r7, #24] 80b94da: 6053 str r3, [r2, #4] /* Clear EXTI line configuration */ temp = EXTI->IMR; 80b94dc: 4b1c ldr r3, [pc, #112] ; (80b9550 ) 80b94de: 681b ldr r3, [r3, #0] 80b94e0: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80b94e2: 693b ldr r3, [r7, #16] 80b94e4: 43db mvns r3, r3 80b94e6: 69ba ldr r2, [r7, #24] 80b94e8: 4013 ands r3, r2 80b94ea: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & EXTI_IT) != 0x00u) 80b94ec: 683b ldr r3, [r7, #0] 80b94ee: 685b ldr r3, [r3, #4] 80b94f0: f403 3380 and.w r3, r3, #65536 ; 0x10000 80b94f4: 2b00 cmp r3, #0 80b94f6: d003 beq.n 80b9500 { temp |= iocurrent; 80b94f8: 69ba ldr r2, [r7, #24] 80b94fa: 693b ldr r3, [r7, #16] 80b94fc: 4313 orrs r3, r2 80b94fe: 61bb str r3, [r7, #24] } EXTI->IMR = temp; 80b9500: 4a13 ldr r2, [pc, #76] ; (80b9550 ) 80b9502: 69bb ldr r3, [r7, #24] 80b9504: 6013 str r3, [r2, #0] for(position = 0; position < GPIO_NUMBER; position++) 80b9506: 69fb ldr r3, [r7, #28] 80b9508: 3301 adds r3, #1 80b950a: 61fb str r3, [r7, #28] 80b950c: 69fb ldr r3, [r7, #28] 80b950e: 2b0f cmp r3, #15 80b9510: f67f ae86 bls.w 80b9220 } } } } 80b9514: bf00 nop 80b9516: 3724 adds r7, #36 ; 0x24 80b9518: 46bd mov sp, r7 80b951a: f85d 7b04 ldr.w r7, [sp], #4 80b951e: 4770 bx lr 80b9520: 40023800 .word 0x40023800 80b9524: 40013800 .word 0x40013800 80b9528: 40020000 .word 0x40020000 80b952c: 40020400 .word 0x40020400 80b9530: 40020800 .word 0x40020800 80b9534: 40020c00 .word 0x40020c00 80b9538: 40021000 .word 0x40021000 80b953c: 40021400 .word 0x40021400 80b9540: 40021800 .word 0x40021800 80b9544: 40021c00 .word 0x40021c00 80b9548: 40022000 .word 0x40022000 80b954c: 40022400 .word 0x40022400 80b9550: 40013c00 .word 0x40013c00 080b9554 : * @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) { 80b9554: b480 push {r7} 80b9556: b087 sub sp, #28 80b9558: af00 add r7, sp, #0 80b955a: 6078 str r0, [r7, #4] 80b955c: 6039 str r1, [r7, #0] uint32_t position; uint32_t ioposition = 0x00; 80b955e: 2300 movs r3, #0 80b9560: 613b str r3, [r7, #16] uint32_t iocurrent = 0x00; 80b9562: 2300 movs r3, #0 80b9564: 60fb str r3, [r7, #12] uint32_t tmp = 0x00; 80b9566: 2300 movs r3, #0 80b9568: 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++) 80b956a: 2300 movs r3, #0 80b956c: 617b str r3, [r7, #20] 80b956e: e0da b.n 80b9726 { /* Get the IO position */ ioposition = ((uint32_t)0x01) << position; 80b9570: 2201 movs r2, #1 80b9572: 697b ldr r3, [r7, #20] 80b9574: fa02 f303 lsl.w r3, r2, r3 80b9578: 613b str r3, [r7, #16] /* Get the current IO position */ iocurrent = (GPIO_Pin) & ioposition; 80b957a: 683a ldr r2, [r7, #0] 80b957c: 693b ldr r3, [r7, #16] 80b957e: 4013 ands r3, r2 80b9580: 60fb str r3, [r7, #12] if(iocurrent == ioposition) 80b9582: 68fa ldr r2, [r7, #12] 80b9584: 693b ldr r3, [r7, #16] 80b9586: 429a cmp r2, r3 80b9588: f040 80ca bne.w 80b9720 { /*------------------------- EXTI Mode Configuration --------------------*/ tmp = SYSCFG->EXTICR[position >> 2]; 80b958c: 4a6b ldr r2, [pc, #428] ; (80b973c ) 80b958e: 697b ldr r3, [r7, #20] 80b9590: 089b lsrs r3, r3, #2 80b9592: 3302 adds r3, #2 80b9594: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80b9598: 60bb str r3, [r7, #8] tmp &= (((uint32_t)0x0F) << (4 * (position & 0x03))); 80b959a: 697b ldr r3, [r7, #20] 80b959c: f003 0303 and.w r3, r3, #3 80b95a0: 009b lsls r3, r3, #2 80b95a2: 220f movs r2, #15 80b95a4: fa02 f303 lsl.w r3, r2, r3 80b95a8: 68ba ldr r2, [r7, #8] 80b95aa: 4013 ands r3, r2 80b95ac: 60bb str r3, [r7, #8] if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03)))) 80b95ae: 687b ldr r3, [r7, #4] 80b95b0: 4a63 ldr r2, [pc, #396] ; (80b9740 ) 80b95b2: 4293 cmp r3, r2 80b95b4: d037 beq.n 80b9626 80b95b6: 687b ldr r3, [r7, #4] 80b95b8: 4a62 ldr r2, [pc, #392] ; (80b9744 ) 80b95ba: 4293 cmp r3, r2 80b95bc: d031 beq.n 80b9622 80b95be: 687b ldr r3, [r7, #4] 80b95c0: 4a61 ldr r2, [pc, #388] ; (80b9748 ) 80b95c2: 4293 cmp r3, r2 80b95c4: d02b beq.n 80b961e 80b95c6: 687b ldr r3, [r7, #4] 80b95c8: 4a60 ldr r2, [pc, #384] ; (80b974c ) 80b95ca: 4293 cmp r3, r2 80b95cc: d025 beq.n 80b961a 80b95ce: 687b ldr r3, [r7, #4] 80b95d0: 4a5f ldr r2, [pc, #380] ; (80b9750 ) 80b95d2: 4293 cmp r3, r2 80b95d4: d01f beq.n 80b9616 80b95d6: 687b ldr r3, [r7, #4] 80b95d8: 4a5e ldr r2, [pc, #376] ; (80b9754 ) 80b95da: 4293 cmp r3, r2 80b95dc: d019 beq.n 80b9612 80b95de: 687b ldr r3, [r7, #4] 80b95e0: 4a5d ldr r2, [pc, #372] ; (80b9758 ) 80b95e2: 4293 cmp r3, r2 80b95e4: d013 beq.n 80b960e 80b95e6: 687b ldr r3, [r7, #4] 80b95e8: 4a5c ldr r2, [pc, #368] ; (80b975c ) 80b95ea: 4293 cmp r3, r2 80b95ec: d00d beq.n 80b960a 80b95ee: 687b ldr r3, [r7, #4] 80b95f0: 4a5b ldr r2, [pc, #364] ; (80b9760 ) 80b95f2: 4293 cmp r3, r2 80b95f4: d007 beq.n 80b9606 80b95f6: 687b ldr r3, [r7, #4] 80b95f8: 4a5a ldr r2, [pc, #360] ; (80b9764 ) 80b95fa: 4293 cmp r3, r2 80b95fc: d101 bne.n 80b9602 80b95fe: 2309 movs r3, #9 80b9600: e012 b.n 80b9628 80b9602: 230a movs r3, #10 80b9604: e010 b.n 80b9628 80b9606: 2308 movs r3, #8 80b9608: e00e b.n 80b9628 80b960a: 2307 movs r3, #7 80b960c: e00c b.n 80b9628 80b960e: 2306 movs r3, #6 80b9610: e00a b.n 80b9628 80b9612: 2305 movs r3, #5 80b9614: e008 b.n 80b9628 80b9616: 2304 movs r3, #4 80b9618: e006 b.n 80b9628 80b961a: 2303 movs r3, #3 80b961c: e004 b.n 80b9628 80b961e: 2302 movs r3, #2 80b9620: e002 b.n 80b9628 80b9622: 2301 movs r3, #1 80b9624: e000 b.n 80b9628 80b9626: 2300 movs r3, #0 80b9628: 697a ldr r2, [r7, #20] 80b962a: f002 0203 and.w r2, r2, #3 80b962e: 0092 lsls r2, r2, #2 80b9630: fa03 f202 lsl.w r2, r3, r2 80b9634: 68bb ldr r3, [r7, #8] 80b9636: 429a cmp r2, r3 80b9638: d132 bne.n 80b96a0 { /* Clear EXTI line configuration */ EXTI->IMR &= ~((uint32_t)iocurrent); 80b963a: 494b ldr r1, [pc, #300] ; (80b9768 ) 80b963c: 4b4a ldr r3, [pc, #296] ; (80b9768 ) 80b963e: 681a ldr r2, [r3, #0] 80b9640: 68fb ldr r3, [r7, #12] 80b9642: 43db mvns r3, r3 80b9644: 4013 ands r3, r2 80b9646: 600b str r3, [r1, #0] EXTI->EMR &= ~((uint32_t)iocurrent); 80b9648: 4947 ldr r1, [pc, #284] ; (80b9768 ) 80b964a: 4b47 ldr r3, [pc, #284] ; (80b9768 ) 80b964c: 685a ldr r2, [r3, #4] 80b964e: 68fb ldr r3, [r7, #12] 80b9650: 43db mvns r3, r3 80b9652: 4013 ands r3, r2 80b9654: 604b str r3, [r1, #4] /* Clear Rising Falling edge configuration */ EXTI->FTSR &= ~((uint32_t)iocurrent); 80b9656: 4944 ldr r1, [pc, #272] ; (80b9768 ) 80b9658: 4b43 ldr r3, [pc, #268] ; (80b9768 ) 80b965a: 68da ldr r2, [r3, #12] 80b965c: 68fb ldr r3, [r7, #12] 80b965e: 43db mvns r3, r3 80b9660: 4013 ands r3, r2 80b9662: 60cb str r3, [r1, #12] EXTI->RTSR &= ~((uint32_t)iocurrent); 80b9664: 4940 ldr r1, [pc, #256] ; (80b9768 ) 80b9666: 4b40 ldr r3, [pc, #256] ; (80b9768 ) 80b9668: 689a ldr r2, [r3, #8] 80b966a: 68fb ldr r3, [r7, #12] 80b966c: 43db mvns r3, r3 80b966e: 4013 ands r3, r2 80b9670: 608b str r3, [r1, #8] /* Configure the External Interrupt or event for the current IO */ tmp = ((uint32_t)0x0F) << (4 * (position & 0x03)); 80b9672: 697b ldr r3, [r7, #20] 80b9674: f003 0303 and.w r3, r3, #3 80b9678: 009b lsls r3, r3, #2 80b967a: 220f movs r2, #15 80b967c: fa02 f303 lsl.w r3, r2, r3 80b9680: 60bb str r3, [r7, #8] SYSCFG->EXTICR[position >> 2] &= ~tmp; 80b9682: 482e ldr r0, [pc, #184] ; (80b973c ) 80b9684: 697b ldr r3, [r7, #20] 80b9686: 089b lsrs r3, r3, #2 80b9688: 492c ldr r1, [pc, #176] ; (80b973c ) 80b968a: 697a ldr r2, [r7, #20] 80b968c: 0892 lsrs r2, r2, #2 80b968e: 3202 adds r2, #2 80b9690: f851 1022 ldr.w r1, [r1, r2, lsl #2] 80b9694: 68ba ldr r2, [r7, #8] 80b9696: 43d2 mvns r2, r2 80b9698: 400a ands r2, r1 80b969a: 3302 adds r3, #2 80b969c: 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)); 80b96a0: 687b ldr r3, [r7, #4] 80b96a2: 681a ldr r2, [r3, #0] 80b96a4: 697b ldr r3, [r7, #20] 80b96a6: 005b lsls r3, r3, #1 80b96a8: 2103 movs r1, #3 80b96aa: fa01 f303 lsl.w r3, r1, r3 80b96ae: 43db mvns r3, r3 80b96b0: 401a ands r2, r3 80b96b2: 687b ldr r3, [r7, #4] 80b96b4: 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)) ; 80b96b6: 697b ldr r3, [r7, #20] 80b96b8: 08da lsrs r2, r3, #3 80b96ba: 697b ldr r3, [r7, #20] 80b96bc: 08d9 lsrs r1, r3, #3 80b96be: 687b ldr r3, [r7, #4] 80b96c0: 3108 adds r1, #8 80b96c2: f853 1021 ldr.w r1, [r3, r1, lsl #2] 80b96c6: 697b ldr r3, [r7, #20] 80b96c8: f003 0307 and.w r3, r3, #7 80b96cc: 009b lsls r3, r3, #2 80b96ce: 200f movs r0, #15 80b96d0: fa00 f303 lsl.w r3, r0, r3 80b96d4: 43db mvns r3, r3 80b96d6: 4019 ands r1, r3 80b96d8: 687b ldr r3, [r7, #4] 80b96da: 3208 adds r2, #8 80b96dc: 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)); 80b96e0: 687b ldr r3, [r7, #4] 80b96e2: 68da ldr r2, [r3, #12] 80b96e4: 697b ldr r3, [r7, #20] 80b96e6: 005b lsls r3, r3, #1 80b96e8: 2103 movs r1, #3 80b96ea: fa01 f303 lsl.w r3, r1, r3 80b96ee: 43db mvns r3, r3 80b96f0: 401a ands r2, r3 80b96f2: 687b ldr r3, [r7, #4] 80b96f4: 60da str r2, [r3, #12] /* Configure the default value IO Output Type */ GPIOx->OTYPER &= ~(GPIO_OTYPER_OT_0 << position) ; 80b96f6: 687b ldr r3, [r7, #4] 80b96f8: 685a ldr r2, [r3, #4] 80b96fa: 2101 movs r1, #1 80b96fc: 697b ldr r3, [r7, #20] 80b96fe: fa01 f303 lsl.w r3, r1, r3 80b9702: 43db mvns r3, r3 80b9704: 401a ands r2, r3 80b9706: 687b ldr r3, [r7, #4] 80b9708: 605a str r2, [r3, #4] /* Configure the default value for IO Speed */ GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2)); 80b970a: 687b ldr r3, [r7, #4] 80b970c: 689a ldr r2, [r3, #8] 80b970e: 697b ldr r3, [r7, #20] 80b9710: 005b lsls r3, r3, #1 80b9712: 2103 movs r1, #3 80b9714: fa01 f303 lsl.w r3, r1, r3 80b9718: 43db mvns r3, r3 80b971a: 401a ands r2, r3 80b971c: 687b ldr r3, [r7, #4] 80b971e: 609a str r2, [r3, #8] for(position = 0; position < GPIO_NUMBER; position++) 80b9720: 697b ldr r3, [r7, #20] 80b9722: 3301 adds r3, #1 80b9724: 617b str r3, [r7, #20] 80b9726: 697b ldr r3, [r7, #20] 80b9728: 2b0f cmp r3, #15 80b972a: f67f af21 bls.w 80b9570 } } } 80b972e: bf00 nop 80b9730: 371c adds r7, #28 80b9732: 46bd mov sp, r7 80b9734: f85d 7b04 ldr.w r7, [sp], #4 80b9738: 4770 bx lr 80b973a: bf00 nop 80b973c: 40013800 .word 0x40013800 80b9740: 40020000 .word 0x40020000 80b9744: 40020400 .word 0x40020400 80b9748: 40020800 .word 0x40020800 80b974c: 40020c00 .word 0x40020c00 80b9750: 40021000 .word 0x40021000 80b9754: 40021400 .word 0x40021400 80b9758: 40021800 .word 0x40021800 80b975c: 40021c00 .word 0x40021c00 80b9760: 40022000 .word 0x40022000 80b9764: 40022400 .word 0x40022400 80b9768: 40013c00 .word 0x40013c00 080b976c : * @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) { 80b976c: b480 push {r7} 80b976e: b085 sub sp, #20 80b9770: af00 add r7, sp, #0 80b9772: 6078 str r0, [r7, #4] 80b9774: 460b mov r3, r1 80b9776: 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) 80b9778: 687b ldr r3, [r7, #4] 80b977a: 691a ldr r2, [r3, #16] 80b977c: 887b ldrh r3, [r7, #2] 80b977e: 4013 ands r3, r2 80b9780: 2b00 cmp r3, #0 80b9782: d002 beq.n 80b978a { bitstatus = GPIO_PIN_SET; 80b9784: 2301 movs r3, #1 80b9786: 73fb strb r3, [r7, #15] 80b9788: e001 b.n 80b978e } else { bitstatus = GPIO_PIN_RESET; 80b978a: 2300 movs r3, #0 80b978c: 73fb strb r3, [r7, #15] } return bitstatus; 80b978e: 7bfb ldrb r3, [r7, #15] } 80b9790: 4618 mov r0, r3 80b9792: 3714 adds r7, #20 80b9794: 46bd mov sp, r7 80b9796: f85d 7b04 ldr.w r7, [sp], #4 80b979a: 4770 bx lr 080b979c : * @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) { 80b979c: b480 push {r7} 80b979e: b083 sub sp, #12 80b97a0: af00 add r7, sp, #0 80b97a2: 6078 str r0, [r7, #4] 80b97a4: 460b mov r3, r1 80b97a6: 807b strh r3, [r7, #2] 80b97a8: 4613 mov r3, r2 80b97aa: 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) 80b97ac: 787b ldrb r3, [r7, #1] 80b97ae: 2b00 cmp r3, #0 80b97b0: d003 beq.n 80b97ba { GPIOx->BSRR = GPIO_Pin; 80b97b2: 887a ldrh r2, [r7, #2] 80b97b4: 687b ldr r3, [r7, #4] 80b97b6: 619a str r2, [r3, #24] } else { GPIOx->BSRR = (uint32_t)GPIO_Pin << 16; } } 80b97b8: e003 b.n 80b97c2 GPIOx->BSRR = (uint32_t)GPIO_Pin << 16; 80b97ba: 887b ldrh r3, [r7, #2] 80b97bc: 041a lsls r2, r3, #16 80b97be: 687b ldr r3, [r7, #4] 80b97c0: 619a str r2, [r3, #24] } 80b97c2: bf00 nop 80b97c4: 370c adds r7, #12 80b97c6: 46bd mov sp, r7 80b97c8: f85d 7b04 ldr.w r7, [sp], #4 80b97cc: 4770 bx lr ... 080b97d0 : * @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) { 80b97d0: b580 push {r7, lr} 80b97d2: b082 sub sp, #8 80b97d4: af00 add r7, sp, #0 80b97d6: 4603 mov r3, r0 80b97d8: 80fb strh r3, [r7, #6] /* EXTI line interrupt detected */ if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET) 80b97da: 4b08 ldr r3, [pc, #32] ; (80b97fc ) 80b97dc: 695a ldr r2, [r3, #20] 80b97de: 88fb ldrh r3, [r7, #6] 80b97e0: 4013 ands r3, r2 80b97e2: 2b00 cmp r3, #0 80b97e4: d006 beq.n 80b97f4 { __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); 80b97e6: 4a05 ldr r2, [pc, #20] ; (80b97fc ) 80b97e8: 88fb ldrh r3, [r7, #6] 80b97ea: 6153 str r3, [r2, #20] HAL_GPIO_EXTI_Callback(GPIO_Pin); 80b97ec: 88fb ldrh r3, [r7, #6] 80b97ee: 4618 mov r0, r3 80b97f0: f7af fa24 bl 8068c3c } } 80b97f4: bf00 nop 80b97f6: 3708 adds r7, #8 80b97f8: 46bd mov sp, r7 80b97fa: bd80 pop {r7, pc} 80b97fc: 40013c00 .word 0x40013c00 080b9800 : * @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) { 80b9800: b580 push {r7, lr} 80b9802: b084 sub sp, #16 80b9804: af00 add r7, sp, #0 80b9806: 6078 str r0, [r7, #4] uint32_t tmp, tmp1; /* Check the LTDC peripheral state */ if (hltdc == NULL) 80b9808: 687b ldr r3, [r7, #4] 80b980a: 2b00 cmp r3, #0 80b980c: d101 bne.n 80b9812 { return HAL_ERROR; 80b980e: 2301 movs r3, #1 80b9810: e0bf b.n 80b9992 } /* Init the low level hardware */ hltdc->MspInitCallback(hltdc); } #else if (hltdc->State == HAL_LTDC_STATE_RESET) 80b9812: 687b ldr r3, [r7, #4] 80b9814: f893 30a1 ldrb.w r3, [r3, #161] ; 0xa1 80b9818: b2db uxtb r3, r3 80b981a: 2b00 cmp r3, #0 80b981c: d106 bne.n 80b982c { /* Allocate lock resource and initialize it */ hltdc->Lock = HAL_UNLOCKED; 80b981e: 687b ldr r3, [r7, #4] 80b9820: 2200 movs r2, #0 80b9822: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Init the low level hardware */ HAL_LTDC_MspInit(hltdc); 80b9826: 6878 ldr r0, [r7, #4] 80b9828: f79a fd8c bl 8054344 } #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80b982c: 687b ldr r3, [r7, #4] 80b982e: 2202 movs r2, #2 80b9830: 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); 80b9834: 687b ldr r3, [r7, #4] 80b9836: 681b ldr r3, [r3, #0] 80b9838: 687a ldr r2, [r7, #4] 80b983a: 6812 ldr r2, [r2, #0] 80b983c: 6992 ldr r2, [r2, #24] 80b983e: f022 4270 bic.w r2, r2, #4026531840 ; 0xf0000000 80b9842: 619a str r2, [r3, #24] hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 80b9844: 687b ldr r3, [r7, #4] 80b9846: 681b ldr r3, [r3, #0] 80b9848: 687a ldr r2, [r7, #4] 80b984a: 6812 ldr r2, [r2, #0] 80b984c: 6991 ldr r1, [r2, #24] 80b984e: 687a ldr r2, [r7, #4] 80b9850: 6850 ldr r0, [r2, #4] 80b9852: 687a ldr r2, [r7, #4] 80b9854: 6892 ldr r2, [r2, #8] 80b9856: 4310 orrs r0, r2 hltdc->Init.DEPolarity | hltdc->Init.PCPolarity); 80b9858: 687a ldr r2, [r7, #4] 80b985a: 68d2 ldr r2, [r2, #12] hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 80b985c: 4310 orrs r0, r2 hltdc->Init.DEPolarity | hltdc->Init.PCPolarity); 80b985e: 687a ldr r2, [r7, #4] 80b9860: 6912 ldr r2, [r2, #16] 80b9862: 4302 orrs r2, r0 hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 80b9864: 430a orrs r2, r1 80b9866: 619a str r2, [r3, #24] /* Set Synchronization size */ hltdc->Instance->SSCR &= ~(LTDC_SSCR_VSH | LTDC_SSCR_HSW); 80b9868: 687b ldr r3, [r7, #4] 80b986a: 681a ldr r2, [r3, #0] 80b986c: 687b ldr r3, [r7, #4] 80b986e: 681b ldr r3, [r3, #0] 80b9870: 6899 ldr r1, [r3, #8] 80b9872: 4b4a ldr r3, [pc, #296] ; (80b999c ) 80b9874: 400b ands r3, r1 80b9876: 6093 str r3, [r2, #8] tmp = (hltdc->Init.HorizontalSync << 16U); 80b9878: 687b ldr r3, [r7, #4] 80b987a: 695b ldr r3, [r3, #20] 80b987c: 041b lsls r3, r3, #16 80b987e: 60fb str r3, [r7, #12] hltdc->Instance->SSCR |= (tmp | hltdc->Init.VerticalSync); 80b9880: 687b ldr r3, [r7, #4] 80b9882: 681b ldr r3, [r3, #0] 80b9884: 687a ldr r2, [r7, #4] 80b9886: 6812 ldr r2, [r2, #0] 80b9888: 6891 ldr r1, [r2, #8] 80b988a: 687a ldr r2, [r7, #4] 80b988c: 6990 ldr r0, [r2, #24] 80b988e: 68fa ldr r2, [r7, #12] 80b9890: 4302 orrs r2, r0 80b9892: 430a orrs r2, r1 80b9894: 609a str r2, [r3, #8] /* Set Accumulated Back porch */ hltdc->Instance->BPCR &= ~(LTDC_BPCR_AVBP | LTDC_BPCR_AHBP); 80b9896: 687b ldr r3, [r7, #4] 80b9898: 681a ldr r2, [r3, #0] 80b989a: 687b ldr r3, [r7, #4] 80b989c: 681b ldr r3, [r3, #0] 80b989e: 68d9 ldr r1, [r3, #12] 80b98a0: 4b3e ldr r3, [pc, #248] ; (80b999c ) 80b98a2: 400b ands r3, r1 80b98a4: 60d3 str r3, [r2, #12] tmp = (hltdc->Init.AccumulatedHBP << 16U); 80b98a6: 687b ldr r3, [r7, #4] 80b98a8: 69db ldr r3, [r3, #28] 80b98aa: 041b lsls r3, r3, #16 80b98ac: 60fb str r3, [r7, #12] hltdc->Instance->BPCR |= (tmp | hltdc->Init.AccumulatedVBP); 80b98ae: 687b ldr r3, [r7, #4] 80b98b0: 681b ldr r3, [r3, #0] 80b98b2: 687a ldr r2, [r7, #4] 80b98b4: 6812 ldr r2, [r2, #0] 80b98b6: 68d1 ldr r1, [r2, #12] 80b98b8: 687a ldr r2, [r7, #4] 80b98ba: 6a10 ldr r0, [r2, #32] 80b98bc: 68fa ldr r2, [r7, #12] 80b98be: 4302 orrs r2, r0 80b98c0: 430a orrs r2, r1 80b98c2: 60da str r2, [r3, #12] /* Set Accumulated Active Width */ hltdc->Instance->AWCR &= ~(LTDC_AWCR_AAH | LTDC_AWCR_AAW); 80b98c4: 687b ldr r3, [r7, #4] 80b98c6: 681a ldr r2, [r3, #0] 80b98c8: 687b ldr r3, [r7, #4] 80b98ca: 681b ldr r3, [r3, #0] 80b98cc: 6919 ldr r1, [r3, #16] 80b98ce: 4b33 ldr r3, [pc, #204] ; (80b999c ) 80b98d0: 400b ands r3, r1 80b98d2: 6113 str r3, [r2, #16] tmp = (hltdc->Init.AccumulatedActiveW << 16U); 80b98d4: 687b ldr r3, [r7, #4] 80b98d6: 6a5b ldr r3, [r3, #36] ; 0x24 80b98d8: 041b lsls r3, r3, #16 80b98da: 60fb str r3, [r7, #12] hltdc->Instance->AWCR |= (tmp | hltdc->Init.AccumulatedActiveH); 80b98dc: 687b ldr r3, [r7, #4] 80b98de: 681b ldr r3, [r3, #0] 80b98e0: 687a ldr r2, [r7, #4] 80b98e2: 6812 ldr r2, [r2, #0] 80b98e4: 6911 ldr r1, [r2, #16] 80b98e6: 687a ldr r2, [r7, #4] 80b98e8: 6a90 ldr r0, [r2, #40] ; 0x28 80b98ea: 68fa ldr r2, [r7, #12] 80b98ec: 4302 orrs r2, r0 80b98ee: 430a orrs r2, r1 80b98f0: 611a str r2, [r3, #16] /* Set Total Width */ hltdc->Instance->TWCR &= ~(LTDC_TWCR_TOTALH | LTDC_TWCR_TOTALW); 80b98f2: 687b ldr r3, [r7, #4] 80b98f4: 681a ldr r2, [r3, #0] 80b98f6: 687b ldr r3, [r7, #4] 80b98f8: 681b ldr r3, [r3, #0] 80b98fa: 6959 ldr r1, [r3, #20] 80b98fc: 4b27 ldr r3, [pc, #156] ; (80b999c ) 80b98fe: 400b ands r3, r1 80b9900: 6153 str r3, [r2, #20] tmp = (hltdc->Init.TotalWidth << 16U); 80b9902: 687b ldr r3, [r7, #4] 80b9904: 6adb ldr r3, [r3, #44] ; 0x2c 80b9906: 041b lsls r3, r3, #16 80b9908: 60fb str r3, [r7, #12] hltdc->Instance->TWCR |= (tmp | hltdc->Init.TotalHeigh); 80b990a: 687b ldr r3, [r7, #4] 80b990c: 681b ldr r3, [r3, #0] 80b990e: 687a ldr r2, [r7, #4] 80b9910: 6812 ldr r2, [r2, #0] 80b9912: 6951 ldr r1, [r2, #20] 80b9914: 687a ldr r2, [r7, #4] 80b9916: 6b10 ldr r0, [r2, #48] ; 0x30 80b9918: 68fa ldr r2, [r7, #12] 80b991a: 4302 orrs r2, r0 80b991c: 430a orrs r2, r1 80b991e: 615a str r2, [r3, #20] /* Set the background color value */ tmp = ((uint32_t)(hltdc->Init.Backcolor.Green) << 8U); 80b9920: 687b ldr r3, [r7, #4] 80b9922: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b9926: 021b lsls r3, r3, #8 80b9928: 60fb str r3, [r7, #12] tmp1 = ((uint32_t)(hltdc->Init.Backcolor.Red) << 16U); 80b992a: 687b ldr r3, [r7, #4] 80b992c: f893 3036 ldrb.w r3, [r3, #54] ; 0x36 80b9930: 041b lsls r3, r3, #16 80b9932: 60bb str r3, [r7, #8] hltdc->Instance->BCCR &= ~(LTDC_BCCR_BCBLUE | LTDC_BCCR_BCGREEN | LTDC_BCCR_BCRED); 80b9934: 687b ldr r3, [r7, #4] 80b9936: 681b ldr r3, [r3, #0] 80b9938: 687a ldr r2, [r7, #4] 80b993a: 6812 ldr r2, [r2, #0] 80b993c: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b993e: f002 427f and.w r2, r2, #4278190080 ; 0xff000000 80b9942: 62da str r2, [r3, #44] ; 0x2c hltdc->Instance->BCCR |= (tmp1 | tmp | hltdc->Init.Backcolor.Blue); 80b9944: 687b ldr r3, [r7, #4] 80b9946: 681b ldr r3, [r3, #0] 80b9948: 687a ldr r2, [r7, #4] 80b994a: 6812 ldr r2, [r2, #0] 80b994c: 6ad1 ldr r1, [r2, #44] ; 0x2c 80b994e: 68b8 ldr r0, [r7, #8] 80b9950: 68fa ldr r2, [r7, #12] 80b9952: 4302 orrs r2, r0 80b9954: 6878 ldr r0, [r7, #4] 80b9956: f890 0034 ldrb.w r0, [r0, #52] ; 0x34 80b995a: 4302 orrs r2, r0 80b995c: 430a orrs r2, r1 80b995e: 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); 80b9960: 687b ldr r3, [r7, #4] 80b9962: 681b ldr r3, [r3, #0] 80b9964: 687a ldr r2, [r7, #4] 80b9966: 6812 ldr r2, [r2, #0] 80b9968: 6b52 ldr r2, [r2, #52] ; 0x34 80b996a: f042 0206 orr.w r2, r2, #6 80b996e: 635a str r2, [r3, #52] ; 0x34 /* Enable LTDC by setting LTDCEN bit */ __HAL_LTDC_ENABLE(hltdc); 80b9970: 687b ldr r3, [r7, #4] 80b9972: 681b ldr r3, [r3, #0] 80b9974: 687a ldr r2, [r7, #4] 80b9976: 6812 ldr r2, [r2, #0] 80b9978: 6992 ldr r2, [r2, #24] 80b997a: f042 0201 orr.w r2, r2, #1 80b997e: 619a str r2, [r3, #24] /* Initialize the error code */ hltdc->ErrorCode = HAL_LTDC_ERROR_NONE; 80b9980: 687b ldr r3, [r7, #4] 80b9982: 2200 movs r2, #0 80b9984: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 /* Initialize the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80b9988: 687b ldr r3, [r7, #4] 80b998a: 2201 movs r2, #1 80b998c: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 return HAL_OK; 80b9990: 2300 movs r3, #0 } 80b9992: 4618 mov r0, r3 80b9994: 3710 adds r7, #16 80b9996: 46bd mov sp, r7 80b9998: bd80 pop {r7, pc} 80b999a: bf00 nop 80b999c: f000f800 .word 0xf000f800 080b99a0 : * @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) { 80b99a0: b580 push {r7, lr} 80b99a2: b084 sub sp, #16 80b99a4: af00 add r7, sp, #0 80b99a6: 6078 str r0, [r7, #4] uint32_t isrflags = READ_REG(hltdc->Instance->ISR); 80b99a8: 687b ldr r3, [r7, #4] 80b99aa: 681b ldr r3, [r3, #0] 80b99ac: 6b9b ldr r3, [r3, #56] ; 0x38 80b99ae: 60fb str r3, [r7, #12] uint32_t itsources = READ_REG(hltdc->Instance->IER); 80b99b0: 687b ldr r3, [r7, #4] 80b99b2: 681b ldr r3, [r3, #0] 80b99b4: 6b5b ldr r3, [r3, #52] ; 0x34 80b99b6: 60bb str r3, [r7, #8] /* Transfer Error Interrupt management ***************************************/ if (((isrflags & LTDC_ISR_TERRIF) != 0U) && ((itsources & LTDC_IER_TERRIE) != 0U)) 80b99b8: 68fb ldr r3, [r7, #12] 80b99ba: f003 0304 and.w r3, r3, #4 80b99be: 2b00 cmp r3, #0 80b99c0: d023 beq.n 80b9a0a 80b99c2: 68bb ldr r3, [r7, #8] 80b99c4: f003 0304 and.w r3, r3, #4 80b99c8: 2b00 cmp r3, #0 80b99ca: d01e beq.n 80b9a0a { /* Disable the transfer Error interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_TE); 80b99cc: 687b ldr r3, [r7, #4] 80b99ce: 681b ldr r3, [r3, #0] 80b99d0: 687a ldr r2, [r7, #4] 80b99d2: 6812 ldr r2, [r2, #0] 80b99d4: 6b52 ldr r2, [r2, #52] ; 0x34 80b99d6: f022 0204 bic.w r2, r2, #4 80b99da: 635a str r2, [r3, #52] ; 0x34 /* Clear the transfer error flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_TE); 80b99dc: 687b ldr r3, [r7, #4] 80b99de: 681b ldr r3, [r3, #0] 80b99e0: 2204 movs r2, #4 80b99e2: 63da str r2, [r3, #60] ; 0x3c /* Update error code */ hltdc->ErrorCode |= HAL_LTDC_ERROR_TE; 80b99e4: 687b ldr r3, [r7, #4] 80b99e6: f8d3 30a4 ldr.w r3, [r3, #164] ; 0xa4 80b99ea: f043 0201 orr.w r2, r3, #1 80b99ee: 687b ldr r3, [r7, #4] 80b99f0: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_ERROR; 80b99f4: 687b ldr r3, [r7, #4] 80b99f6: 2204 movs r2, #4 80b99f8: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b99fc: 687b ldr r3, [r7, #4] 80b99fe: 2200 movs r2, #0 80b9a00: 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); 80b9a04: 6878 ldr r0, [r7, #4] 80b9a06: f000 f86f bl 80b9ae8 #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } /* FIFO underrun Interrupt management ***************************************/ if (((isrflags & LTDC_ISR_FUIF) != 0U) && ((itsources & LTDC_IER_FUIE) != 0U)) 80b9a0a: 68fb ldr r3, [r7, #12] 80b9a0c: f003 0302 and.w r3, r3, #2 80b9a10: 2b00 cmp r3, #0 80b9a12: d023 beq.n 80b9a5c 80b9a14: 68bb ldr r3, [r7, #8] 80b9a16: f003 0302 and.w r3, r3, #2 80b9a1a: 2b00 cmp r3, #0 80b9a1c: d01e beq.n 80b9a5c { /* Disable the FIFO underrun interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_FU); 80b9a1e: 687b ldr r3, [r7, #4] 80b9a20: 681b ldr r3, [r3, #0] 80b9a22: 687a ldr r2, [r7, #4] 80b9a24: 6812 ldr r2, [r2, #0] 80b9a26: 6b52 ldr r2, [r2, #52] ; 0x34 80b9a28: f022 0202 bic.w r2, r2, #2 80b9a2c: 635a str r2, [r3, #52] ; 0x34 /* Clear the FIFO underrun flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_FU); 80b9a2e: 687b ldr r3, [r7, #4] 80b9a30: 681b ldr r3, [r3, #0] 80b9a32: 2202 movs r2, #2 80b9a34: 63da str r2, [r3, #60] ; 0x3c /* Update error code */ hltdc->ErrorCode |= HAL_LTDC_ERROR_FU; 80b9a36: 687b ldr r3, [r7, #4] 80b9a38: f8d3 30a4 ldr.w r3, [r3, #164] ; 0xa4 80b9a3c: f043 0202 orr.w r2, r3, #2 80b9a40: 687b ldr r3, [r7, #4] 80b9a42: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_ERROR; 80b9a46: 687b ldr r3, [r7, #4] 80b9a48: 2204 movs r2, #4 80b9a4a: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b9a4e: 687b ldr r3, [r7, #4] 80b9a50: 2200 movs r2, #0 80b9a52: 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); 80b9a56: 6878 ldr r0, [r7, #4] 80b9a58: f000 f846 bl 80b9ae8 #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } /* Line Interrupt management ************************************************/ if (((isrflags & LTDC_ISR_LIF) != 0U) && ((itsources & LTDC_IER_LIE) != 0U)) 80b9a5c: 68fb ldr r3, [r7, #12] 80b9a5e: f003 0301 and.w r3, r3, #1 80b9a62: 2b00 cmp r3, #0 80b9a64: d01b beq.n 80b9a9e 80b9a66: 68bb ldr r3, [r7, #8] 80b9a68: f003 0301 and.w r3, r3, #1 80b9a6c: 2b00 cmp r3, #0 80b9a6e: d016 beq.n 80b9a9e { /* Disable the Line interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); 80b9a70: 687b ldr r3, [r7, #4] 80b9a72: 681b ldr r3, [r3, #0] 80b9a74: 687a ldr r2, [r7, #4] 80b9a76: 6812 ldr r2, [r2, #0] 80b9a78: 6b52 ldr r2, [r2, #52] ; 0x34 80b9a7a: f022 0201 bic.w r2, r2, #1 80b9a7e: 635a str r2, [r3, #52] ; 0x34 /* Clear the Line interrupt flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_LI); 80b9a80: 687b ldr r3, [r7, #4] 80b9a82: 681b ldr r3, [r3, #0] 80b9a84: 2201 movs r2, #1 80b9a86: 63da str r2, [r3, #60] ; 0x3c /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_READY; 80b9a88: 687b ldr r3, [r7, #4] 80b9a8a: 2201 movs r2, #1 80b9a8c: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b9a90: 687b ldr r3, [r7, #4] 80b9a92: 2200 movs r2, #0 80b9a94: 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); 80b9a98: 6878 ldr r0, [r7, #4] 80b9a9a: f79b fd83 bl 80555a4 #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } /* Register reload Interrupt management ***************************************/ if (((isrflags & LTDC_ISR_RRIF) != 0U) && ((itsources & LTDC_IER_RRIE) != 0U)) 80b9a9e: 68fb ldr r3, [r7, #12] 80b9aa0: f003 0308 and.w r3, r3, #8 80b9aa4: 2b00 cmp r3, #0 80b9aa6: d01b beq.n 80b9ae0 80b9aa8: 68bb ldr r3, [r7, #8] 80b9aaa: f003 0308 and.w r3, r3, #8 80b9aae: 2b00 cmp r3, #0 80b9ab0: d016 beq.n 80b9ae0 { /* Disable the register reload interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_RR); 80b9ab2: 687b ldr r3, [r7, #4] 80b9ab4: 681b ldr r3, [r3, #0] 80b9ab6: 687a ldr r2, [r7, #4] 80b9ab8: 6812 ldr r2, [r2, #0] 80b9aba: 6b52 ldr r2, [r2, #52] ; 0x34 80b9abc: f022 0208 bic.w r2, r2, #8 80b9ac0: 635a str r2, [r3, #52] ; 0x34 /* Clear the register reload flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_RR); 80b9ac2: 687b ldr r3, [r7, #4] 80b9ac4: 681b ldr r3, [r3, #0] 80b9ac6: 2208 movs r2, #8 80b9ac8: 63da str r2, [r3, #60] ; 0x3c /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_READY; 80b9aca: 687b ldr r3, [r7, #4] 80b9acc: 2201 movs r2, #1 80b9ace: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b9ad2: 687b ldr r3, [r7, #4] 80b9ad4: 2200 movs r2, #0 80b9ad6: 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); 80b9ada: 6878 ldr r0, [r7, #4] 80b9adc: f000 f80e bl 80b9afc #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } } 80b9ae0: bf00 nop 80b9ae2: 3710 adds r7, #16 80b9ae4: 46bd mov sp, r7 80b9ae6: bd80 pop {r7, pc} 080b9ae8 : * @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) { 80b9ae8: b480 push {r7} 80b9aea: b083 sub sp, #12 80b9aec: af00 add r7, sp, #0 80b9aee: 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 */ } 80b9af0: bf00 nop 80b9af2: 370c adds r7, #12 80b9af4: 46bd mov sp, r7 80b9af6: f85d 7b04 ldr.w r7, [sp], #4 80b9afa: 4770 bx lr 080b9afc : * @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) { 80b9afc: b480 push {r7} 80b9afe: b083 sub sp, #12 80b9b00: af00 add r7, sp, #0 80b9b02: 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 */ } 80b9b04: bf00 nop 80b9b06: 370c adds r7, #12 80b9b08: 46bd mov sp, r7 80b9b0a: f85d 7b04 ldr.w r7, [sp], #4 80b9b0e: 4770 bx lr 080b9b10 : * 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) { 80b9b10: b5b0 push {r4, r5, r7, lr} 80b9b12: b084 sub sp, #16 80b9b14: af00 add r7, sp, #0 80b9b16: 60f8 str r0, [r7, #12] 80b9b18: 60b9 str r1, [r7, #8] 80b9b1a: 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); 80b9b1c: 68fb ldr r3, [r7, #12] 80b9b1e: f893 30a0 ldrb.w r3, [r3, #160] ; 0xa0 80b9b22: 2b01 cmp r3, #1 80b9b24: d101 bne.n 80b9b2a 80b9b26: 2302 movs r3, #2 80b9b28: e02c b.n 80b9b84 80b9b2a: 68fb ldr r3, [r7, #12] 80b9b2c: 2201 movs r2, #1 80b9b2e: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80b9b32: 68fb ldr r3, [r7, #12] 80b9b34: 2202 movs r2, #2 80b9b36: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Copy new layer configuration into handle structure */ hltdc->LayerCfg[LayerIdx] = *pLayerCfg; 80b9b3a: 68fa ldr r2, [r7, #12] 80b9b3c: 687b ldr r3, [r7, #4] 80b9b3e: 2134 movs r1, #52 ; 0x34 80b9b40: fb01 f303 mul.w r3, r1, r3 80b9b44: 4413 add r3, r2 80b9b46: f103 0238 add.w r2, r3, #56 ; 0x38 80b9b4a: 68bb ldr r3, [r7, #8] 80b9b4c: 4614 mov r4, r2 80b9b4e: 461d mov r5, r3 80b9b50: cd0f ldmia r5!, {r0, r1, r2, r3} 80b9b52: c40f stmia r4!, {r0, r1, r2, r3} 80b9b54: cd0f ldmia r5!, {r0, r1, r2, r3} 80b9b56: c40f stmia r4!, {r0, r1, r2, r3} 80b9b58: cd0f ldmia r5!, {r0, r1, r2, r3} 80b9b5a: c40f stmia r4!, {r0, r1, r2, r3} 80b9b5c: 682b ldr r3, [r5, #0] 80b9b5e: 6023 str r3, [r4, #0] /* Configure the LTDC Layer */ LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); 80b9b60: 687a ldr r2, [r7, #4] 80b9b62: 68b9 ldr r1, [r7, #8] 80b9b64: 68f8 ldr r0, [r7, #12] 80b9b66: f000 f879 bl 80b9c5c /* Set the Immediate Reload type */ hltdc->Instance->SRCR = LTDC_SRCR_IMR; 80b9b6a: 68fb ldr r3, [r7, #12] 80b9b6c: 681b ldr r3, [r3, #0] 80b9b6e: 2201 movs r2, #1 80b9b70: 625a str r2, [r3, #36] ; 0x24 /* Initialize the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80b9b72: 68fb ldr r3, [r7, #12] 80b9b74: 2201 movs r2, #1 80b9b76: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b9b7a: 68fb ldr r3, [r7, #12] 80b9b7c: 2200 movs r2, #0 80b9b7e: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 return HAL_OK; 80b9b82: 2300 movs r3, #0 } 80b9b84: 4618 mov r0, r3 80b9b86: 3710 adds r7, #16 80b9b88: 46bd mov sp, r7 80b9b8a: bdb0 pop {r4, r5, r7, pc} 080b9b8c : * @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) { 80b9b8c: b480 push {r7} 80b9b8e: b083 sub sp, #12 80b9b90: af00 add r7, sp, #0 80b9b92: 6078 str r0, [r7, #4] 80b9b94: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_LTDC_LIPOS(Line)); /* Process locked */ __HAL_LOCK(hltdc); 80b9b96: 687b ldr r3, [r7, #4] 80b9b98: f893 30a0 ldrb.w r3, [r3, #160] ; 0xa0 80b9b9c: 2b01 cmp r3, #1 80b9b9e: d101 bne.n 80b9ba4 80b9ba0: 2302 movs r3, #2 80b9ba2: e023 b.n 80b9bec 80b9ba4: 687b ldr r3, [r7, #4] 80b9ba6: 2201 movs r2, #1 80b9ba8: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80b9bac: 687b ldr r3, [r7, #4] 80b9bae: 2202 movs r2, #2 80b9bb0: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Disable the Line interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); 80b9bb4: 687b ldr r3, [r7, #4] 80b9bb6: 681b ldr r3, [r3, #0] 80b9bb8: 687a ldr r2, [r7, #4] 80b9bba: 6812 ldr r2, [r2, #0] 80b9bbc: 6b52 ldr r2, [r2, #52] ; 0x34 80b9bbe: f022 0201 bic.w r2, r2, #1 80b9bc2: 635a str r2, [r3, #52] ; 0x34 /* Set the Line Interrupt position */ LTDC->LIPCR = (uint32_t)Line; 80b9bc4: 4a0c ldr r2, [pc, #48] ; (80b9bf8 ) 80b9bc6: 683b ldr r3, [r7, #0] 80b9bc8: 6413 str r3, [r2, #64] ; 0x40 /* Enable the Line interrupt */ __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_LI); 80b9bca: 687b ldr r3, [r7, #4] 80b9bcc: 681b ldr r3, [r3, #0] 80b9bce: 687a ldr r2, [r7, #4] 80b9bd0: 6812 ldr r2, [r2, #0] 80b9bd2: 6b52 ldr r2, [r2, #52] ; 0x34 80b9bd4: f042 0201 orr.w r2, r2, #1 80b9bd8: 635a str r2, [r3, #52] ; 0x34 /* Change the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80b9bda: 687b ldr r3, [r7, #4] 80b9bdc: 2201 movs r2, #1 80b9bde: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b9be2: 687b ldr r3, [r7, #4] 80b9be4: 2200 movs r2, #0 80b9be6: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 return HAL_OK; 80b9bea: 2300 movs r3, #0 } 80b9bec: 4618 mov r0, r3 80b9bee: 370c adds r7, #12 80b9bf0: 46bd mov sp, r7 80b9bf2: f85d 7b04 ldr.w r7, [sp], #4 80b9bf6: 4770 bx lr 80b9bf8: 40016800 .word 0x40016800 080b9bfc : * 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) { 80b9bfc: b480 push {r7} 80b9bfe: b083 sub sp, #12 80b9c00: af00 add r7, sp, #0 80b9c02: 6078 str r0, [r7, #4] 80b9c04: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_LTDC_RELOAD(ReloadType)); /* Process locked */ __HAL_LOCK(hltdc); 80b9c06: 687b ldr r3, [r7, #4] 80b9c08: f893 30a0 ldrb.w r3, [r3, #160] ; 0xa0 80b9c0c: 2b01 cmp r3, #1 80b9c0e: d101 bne.n 80b9c14 80b9c10: 2302 movs r3, #2 80b9c12: e01c b.n 80b9c4e 80b9c14: 687b ldr r3, [r7, #4] 80b9c16: 2201 movs r2, #1 80b9c18: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80b9c1c: 687b ldr r3, [r7, #4] 80b9c1e: 2202 movs r2, #2 80b9c20: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Enable the Reload interrupt */ __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_RR); 80b9c24: 687b ldr r3, [r7, #4] 80b9c26: 681b ldr r3, [r3, #0] 80b9c28: 687a ldr r2, [r7, #4] 80b9c2a: 6812 ldr r2, [r2, #0] 80b9c2c: 6b52 ldr r2, [r2, #52] ; 0x34 80b9c2e: f042 0208 orr.w r2, r2, #8 80b9c32: 635a str r2, [r3, #52] ; 0x34 /* Apply Reload type */ hltdc->Instance->SRCR = ReloadType; 80b9c34: 687b ldr r3, [r7, #4] 80b9c36: 681b ldr r3, [r3, #0] 80b9c38: 683a ldr r2, [r7, #0] 80b9c3a: 625a str r2, [r3, #36] ; 0x24 /* Change the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80b9c3c: 687b ldr r3, [r7, #4] 80b9c3e: 2201 movs r2, #1 80b9c40: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b9c44: 687b ldr r3, [r7, #4] 80b9c46: 2200 movs r2, #0 80b9c48: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 return HAL_OK; 80b9c4c: 2300 movs r3, #0 } 80b9c4e: 4618 mov r0, r3 80b9c50: 370c adds r7, #12 80b9c52: 46bd mov sp, r7 80b9c54: f85d 7b04 ldr.w r7, [sp], #4 80b9c58: 4770 bx lr ... 080b9c5c : * @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) { 80b9c5c: b480 push {r7} 80b9c5e: b089 sub sp, #36 ; 0x24 80b9c60: af00 add r7, sp, #0 80b9c62: 60f8 str r0, [r7, #12] 80b9c64: 60b9 str r1, [r7, #8] 80b9c66: 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); 80b9c68: 68bb ldr r3, [r7, #8] 80b9c6a: 685a ldr r2, [r3, #4] 80b9c6c: 68fb ldr r3, [r7, #12] 80b9c6e: 681b ldr r3, [r3, #0] 80b9c70: 68db ldr r3, [r3, #12] 80b9c72: 0c1b lsrs r3, r3, #16 80b9c74: f3c3 030b ubfx r3, r3, #0, #12 80b9c78: 4413 add r3, r2 80b9c7a: 041b lsls r3, r3, #16 80b9c7c: 61fb str r3, [r7, #28] LTDC_LAYER(hltdc, LayerIdx)->WHPCR &= ~(LTDC_LxWHPCR_WHSTPOS | LTDC_LxWHPCR_WHSPPOS); 80b9c7e: 68fb ldr r3, [r7, #12] 80b9c80: 681b ldr r3, [r3, #0] 80b9c82: 461a mov r2, r3 80b9c84: 687b ldr r3, [r7, #4] 80b9c86: 01db lsls r3, r3, #7 80b9c88: 4413 add r3, r2 80b9c8a: 3384 adds r3, #132 ; 0x84 80b9c8c: 461a mov r2, r3 80b9c8e: 68fb ldr r3, [r7, #12] 80b9c90: 681b ldr r3, [r3, #0] 80b9c92: 4619 mov r1, r3 80b9c94: 687b ldr r3, [r7, #4] 80b9c96: 01db lsls r3, r3, #7 80b9c98: 440b add r3, r1 80b9c9a: 3384 adds r3, #132 ; 0x84 80b9c9c: 685b ldr r3, [r3, #4] 80b9c9e: f403 4370 and.w r3, r3, #61440 ; 0xf000 80b9ca2: 6053 str r3, [r2, #4] LTDC_LAYER(hltdc, LayerIdx)->WHPCR = ((pLayerCfg->WindowX0 + ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16U) + 1U) | tmp); 80b9ca4: 68fb ldr r3, [r7, #12] 80b9ca6: 681b ldr r3, [r3, #0] 80b9ca8: 461a mov r2, r3 80b9caa: 687b ldr r3, [r7, #4] 80b9cac: 01db lsls r3, r3, #7 80b9cae: 4413 add r3, r2 80b9cb0: 3384 adds r3, #132 ; 0x84 80b9cb2: 4619 mov r1, r3 80b9cb4: 68bb ldr r3, [r7, #8] 80b9cb6: 681a ldr r2, [r3, #0] 80b9cb8: 68fb ldr r3, [r7, #12] 80b9cba: 681b ldr r3, [r3, #0] 80b9cbc: 68db ldr r3, [r3, #12] 80b9cbe: 0c1b lsrs r3, r3, #16 80b9cc0: f3c3 030b ubfx r3, r3, #0, #12 80b9cc4: 4413 add r3, r2 80b9cc6: 1c5a adds r2, r3, #1 80b9cc8: 69fb ldr r3, [r7, #28] 80b9cca: 4313 orrs r3, r2 80b9ccc: 604b str r3, [r1, #4] /* Configure the vertical start and stop position */ tmp = ((pLayerCfg->WindowY1 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP)) << 16U); 80b9cce: 68bb ldr r3, [r7, #8] 80b9cd0: 68da ldr r2, [r3, #12] 80b9cd2: 68fb ldr r3, [r7, #12] 80b9cd4: 681b ldr r3, [r3, #0] 80b9cd6: 68db ldr r3, [r3, #12] 80b9cd8: f3c3 030a ubfx r3, r3, #0, #11 80b9cdc: 4413 add r3, r2 80b9cde: 041b lsls r3, r3, #16 80b9ce0: 61fb str r3, [r7, #28] LTDC_LAYER(hltdc, LayerIdx)->WVPCR &= ~(LTDC_LxWVPCR_WVSTPOS | LTDC_LxWVPCR_WVSPPOS); 80b9ce2: 68fb ldr r3, [r7, #12] 80b9ce4: 681b ldr r3, [r3, #0] 80b9ce6: 461a mov r2, r3 80b9ce8: 687b ldr r3, [r7, #4] 80b9cea: 01db lsls r3, r3, #7 80b9cec: 4413 add r3, r2 80b9cee: 3384 adds r3, #132 ; 0x84 80b9cf0: 461a mov r2, r3 80b9cf2: 68fb ldr r3, [r7, #12] 80b9cf4: 681b ldr r3, [r3, #0] 80b9cf6: 4619 mov r1, r3 80b9cf8: 687b ldr r3, [r7, #4] 80b9cfa: 01db lsls r3, r3, #7 80b9cfc: 440b add r3, r1 80b9cfe: 3384 adds r3, #132 ; 0x84 80b9d00: 689b ldr r3, [r3, #8] 80b9d02: f403 4370 and.w r3, r3, #61440 ; 0xf000 80b9d06: 6093 str r3, [r2, #8] LTDC_LAYER(hltdc, LayerIdx)->WVPCR = ((pLayerCfg->WindowY0 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP) + 1U) | tmp); 80b9d08: 68fb ldr r3, [r7, #12] 80b9d0a: 681b ldr r3, [r3, #0] 80b9d0c: 461a mov r2, r3 80b9d0e: 687b ldr r3, [r7, #4] 80b9d10: 01db lsls r3, r3, #7 80b9d12: 4413 add r3, r2 80b9d14: 3384 adds r3, #132 ; 0x84 80b9d16: 4619 mov r1, r3 80b9d18: 68bb ldr r3, [r7, #8] 80b9d1a: 689a ldr r2, [r3, #8] 80b9d1c: 68fb ldr r3, [r7, #12] 80b9d1e: 681b ldr r3, [r3, #0] 80b9d20: 68db ldr r3, [r3, #12] 80b9d22: f3c3 030a ubfx r3, r3, #0, #11 80b9d26: 4413 add r3, r2 80b9d28: 1c5a adds r2, r3, #1 80b9d2a: 69fb ldr r3, [r7, #28] 80b9d2c: 4313 orrs r3, r2 80b9d2e: 608b str r3, [r1, #8] /* Specifies the pixel format */ LTDC_LAYER(hltdc, LayerIdx)->PFCR &= ~(LTDC_LxPFCR_PF); 80b9d30: 68fb ldr r3, [r7, #12] 80b9d32: 681b ldr r3, [r3, #0] 80b9d34: 461a mov r2, r3 80b9d36: 687b ldr r3, [r7, #4] 80b9d38: 01db lsls r3, r3, #7 80b9d3a: 4413 add r3, r2 80b9d3c: 3384 adds r3, #132 ; 0x84 80b9d3e: 461a mov r2, r3 80b9d40: 68fb ldr r3, [r7, #12] 80b9d42: 681b ldr r3, [r3, #0] 80b9d44: 4619 mov r1, r3 80b9d46: 687b ldr r3, [r7, #4] 80b9d48: 01db lsls r3, r3, #7 80b9d4a: 440b add r3, r1 80b9d4c: 3384 adds r3, #132 ; 0x84 80b9d4e: 691b ldr r3, [r3, #16] 80b9d50: f023 0307 bic.w r3, r3, #7 80b9d54: 6113 str r3, [r2, #16] LTDC_LAYER(hltdc, LayerIdx)->PFCR = (pLayerCfg->PixelFormat); 80b9d56: 68fb ldr r3, [r7, #12] 80b9d58: 681b ldr r3, [r3, #0] 80b9d5a: 461a mov r2, r3 80b9d5c: 687b ldr r3, [r7, #4] 80b9d5e: 01db lsls r3, r3, #7 80b9d60: 4413 add r3, r2 80b9d62: 3384 adds r3, #132 ; 0x84 80b9d64: 461a mov r2, r3 80b9d66: 68bb ldr r3, [r7, #8] 80b9d68: 691b ldr r3, [r3, #16] 80b9d6a: 6113 str r3, [r2, #16] /* Configure the default color values */ tmp = ((uint32_t)(pLayerCfg->Backcolor.Green) << 8U); 80b9d6c: 68bb ldr r3, [r7, #8] 80b9d6e: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80b9d72: 021b lsls r3, r3, #8 80b9d74: 61fb str r3, [r7, #28] tmp1 = ((uint32_t)(pLayerCfg->Backcolor.Red) << 16U); 80b9d76: 68bb ldr r3, [r7, #8] 80b9d78: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 80b9d7c: 041b lsls r3, r3, #16 80b9d7e: 61bb str r3, [r7, #24] tmp2 = (pLayerCfg->Alpha0 << 24U); 80b9d80: 68bb ldr r3, [r7, #8] 80b9d82: 699b ldr r3, [r3, #24] 80b9d84: 061b lsls r3, r3, #24 80b9d86: 617b str r3, [r7, #20] LTDC_LAYER(hltdc, LayerIdx)->DCCR &= ~(LTDC_LxDCCR_DCBLUE | LTDC_LxDCCR_DCGREEN | LTDC_LxDCCR_DCRED | LTDC_LxDCCR_DCALPHA); 80b9d88: 68fb ldr r3, [r7, #12] 80b9d8a: 681b ldr r3, [r3, #0] 80b9d8c: 461a mov r2, r3 80b9d8e: 687b ldr r3, [r7, #4] 80b9d90: 01db lsls r3, r3, #7 80b9d92: 4413 add r3, r2 80b9d94: 3384 adds r3, #132 ; 0x84 80b9d96: 699b ldr r3, [r3, #24] 80b9d98: 68fb ldr r3, [r7, #12] 80b9d9a: 681b ldr r3, [r3, #0] 80b9d9c: 461a mov r2, r3 80b9d9e: 687b ldr r3, [r7, #4] 80b9da0: 01db lsls r3, r3, #7 80b9da2: 4413 add r3, r2 80b9da4: 3384 adds r3, #132 ; 0x84 80b9da6: 461a mov r2, r3 80b9da8: 2300 movs r3, #0 80b9daa: 6193 str r3, [r2, #24] LTDC_LAYER(hltdc, LayerIdx)->DCCR = (pLayerCfg->Backcolor.Blue | tmp | tmp1 | tmp2); 80b9dac: 68fb ldr r3, [r7, #12] 80b9dae: 681b ldr r3, [r3, #0] 80b9db0: 461a mov r2, r3 80b9db2: 687b ldr r3, [r7, #4] 80b9db4: 01db lsls r3, r3, #7 80b9db6: 4413 add r3, r2 80b9db8: 3384 adds r3, #132 ; 0x84 80b9dba: 4619 mov r1, r3 80b9dbc: 68bb ldr r3, [r7, #8] 80b9dbe: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80b9dc2: 461a mov r2, r3 80b9dc4: 69fb ldr r3, [r7, #28] 80b9dc6: 431a orrs r2, r3 80b9dc8: 69bb ldr r3, [r7, #24] 80b9dca: 431a orrs r2, r3 80b9dcc: 697b ldr r3, [r7, #20] 80b9dce: 4313 orrs r3, r2 80b9dd0: 618b str r3, [r1, #24] /* Specifies the constant alpha value */ LTDC_LAYER(hltdc, LayerIdx)->CACR &= ~(LTDC_LxCACR_CONSTA); 80b9dd2: 68fb ldr r3, [r7, #12] 80b9dd4: 681b ldr r3, [r3, #0] 80b9dd6: 461a mov r2, r3 80b9dd8: 687b ldr r3, [r7, #4] 80b9dda: 01db lsls r3, r3, #7 80b9ddc: 4413 add r3, r2 80b9dde: 3384 adds r3, #132 ; 0x84 80b9de0: 461a mov r2, r3 80b9de2: 68fb ldr r3, [r7, #12] 80b9de4: 681b ldr r3, [r3, #0] 80b9de6: 4619 mov r1, r3 80b9de8: 687b ldr r3, [r7, #4] 80b9dea: 01db lsls r3, r3, #7 80b9dec: 440b add r3, r1 80b9dee: 3384 adds r3, #132 ; 0x84 80b9df0: 695b ldr r3, [r3, #20] 80b9df2: f023 03ff bic.w r3, r3, #255 ; 0xff 80b9df6: 6153 str r3, [r2, #20] LTDC_LAYER(hltdc, LayerIdx)->CACR = (pLayerCfg->Alpha); 80b9df8: 68fb ldr r3, [r7, #12] 80b9dfa: 681b ldr r3, [r3, #0] 80b9dfc: 461a mov r2, r3 80b9dfe: 687b ldr r3, [r7, #4] 80b9e00: 01db lsls r3, r3, #7 80b9e02: 4413 add r3, r2 80b9e04: 3384 adds r3, #132 ; 0x84 80b9e06: 461a mov r2, r3 80b9e08: 68bb ldr r3, [r7, #8] 80b9e0a: 695b ldr r3, [r3, #20] 80b9e0c: 6153 str r3, [r2, #20] /* Specifies the blending factors */ LTDC_LAYER(hltdc, LayerIdx)->BFCR &= ~(LTDC_LxBFCR_BF2 | LTDC_LxBFCR_BF1); 80b9e0e: 68fb ldr r3, [r7, #12] 80b9e10: 681b ldr r3, [r3, #0] 80b9e12: 461a mov r2, r3 80b9e14: 687b ldr r3, [r7, #4] 80b9e16: 01db lsls r3, r3, #7 80b9e18: 4413 add r3, r2 80b9e1a: 3384 adds r3, #132 ; 0x84 80b9e1c: 4619 mov r1, r3 80b9e1e: 68fb ldr r3, [r7, #12] 80b9e20: 681b ldr r3, [r3, #0] 80b9e22: 461a mov r2, r3 80b9e24: 687b ldr r3, [r7, #4] 80b9e26: 01db lsls r3, r3, #7 80b9e28: 4413 add r3, r2 80b9e2a: 3384 adds r3, #132 ; 0x84 80b9e2c: 69da ldr r2, [r3, #28] 80b9e2e: 4b5a ldr r3, [pc, #360] ; (80b9f98 ) 80b9e30: 4013 ands r3, r2 80b9e32: 61cb str r3, [r1, #28] LTDC_LAYER(hltdc, LayerIdx)->BFCR = (pLayerCfg->BlendingFactor1 | pLayerCfg->BlendingFactor2); 80b9e34: 68fb ldr r3, [r7, #12] 80b9e36: 681b ldr r3, [r3, #0] 80b9e38: 461a mov r2, r3 80b9e3a: 687b ldr r3, [r7, #4] 80b9e3c: 01db lsls r3, r3, #7 80b9e3e: 4413 add r3, r2 80b9e40: 3384 adds r3, #132 ; 0x84 80b9e42: 4619 mov r1, r3 80b9e44: 68bb ldr r3, [r7, #8] 80b9e46: 69da ldr r2, [r3, #28] 80b9e48: 68bb ldr r3, [r7, #8] 80b9e4a: 6a1b ldr r3, [r3, #32] 80b9e4c: 4313 orrs r3, r2 80b9e4e: 61cb str r3, [r1, #28] /* Configure the color frame buffer start address */ LTDC_LAYER(hltdc, LayerIdx)->CFBAR &= ~(LTDC_LxCFBAR_CFBADD); 80b9e50: 68fb ldr r3, [r7, #12] 80b9e52: 681b ldr r3, [r3, #0] 80b9e54: 461a mov r2, r3 80b9e56: 687b ldr r3, [r7, #4] 80b9e58: 01db lsls r3, r3, #7 80b9e5a: 4413 add r3, r2 80b9e5c: 3384 adds r3, #132 ; 0x84 80b9e5e: 6a9b ldr r3, [r3, #40] ; 0x28 80b9e60: 68fb ldr r3, [r7, #12] 80b9e62: 681b ldr r3, [r3, #0] 80b9e64: 461a mov r2, r3 80b9e66: 687b ldr r3, [r7, #4] 80b9e68: 01db lsls r3, r3, #7 80b9e6a: 4413 add r3, r2 80b9e6c: 3384 adds r3, #132 ; 0x84 80b9e6e: 461a mov r2, r3 80b9e70: 2300 movs r3, #0 80b9e72: 6293 str r3, [r2, #40] ; 0x28 LTDC_LAYER(hltdc, LayerIdx)->CFBAR = (pLayerCfg->FBStartAdress); 80b9e74: 68fb ldr r3, [r7, #12] 80b9e76: 681b ldr r3, [r3, #0] 80b9e78: 461a mov r2, r3 80b9e7a: 687b ldr r3, [r7, #4] 80b9e7c: 01db lsls r3, r3, #7 80b9e7e: 4413 add r3, r2 80b9e80: 3384 adds r3, #132 ; 0x84 80b9e82: 461a mov r2, r3 80b9e84: 68bb ldr r3, [r7, #8] 80b9e86: 6a5b ldr r3, [r3, #36] ; 0x24 80b9e88: 6293 str r3, [r2, #40] ; 0x28 if (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB8888) 80b9e8a: 68bb ldr r3, [r7, #8] 80b9e8c: 691b ldr r3, [r3, #16] 80b9e8e: 2b00 cmp r3, #0 80b9e90: d102 bne.n 80b9e98 { tmp = 4U; 80b9e92: 2304 movs r3, #4 80b9e94: 61fb str r3, [r7, #28] 80b9e96: e01b b.n 80b9ed0 } else if (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB888) 80b9e98: 68bb ldr r3, [r7, #8] 80b9e9a: 691b ldr r3, [r3, #16] 80b9e9c: 2b01 cmp r3, #1 80b9e9e: d102 bne.n 80b9ea6 { tmp = 3U; 80b9ea0: 2303 movs r3, #3 80b9ea2: 61fb str r3, [r7, #28] 80b9ea4: e014 b.n 80b9ed0 } else if ((pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB4444) || \ 80b9ea6: 68bb ldr r3, [r7, #8] 80b9ea8: 691b ldr r3, [r3, #16] 80b9eaa: 2b04 cmp r3, #4 80b9eac: d00b beq.n 80b9ec6 (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB565) || \ 80b9eae: 68bb ldr r3, [r7, #8] 80b9eb0: 691b ldr r3, [r3, #16] else if ((pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB4444) || \ 80b9eb2: 2b02 cmp r3, #2 80b9eb4: d007 beq.n 80b9ec6 (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB1555) || \ 80b9eb6: 68bb ldr r3, [r7, #8] 80b9eb8: 691b ldr r3, [r3, #16] (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB565) || \ 80b9eba: 2b03 cmp r3, #3 80b9ebc: d003 beq.n 80b9ec6 (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_AL88)) 80b9ebe: 68bb ldr r3, [r7, #8] 80b9ec0: 691b ldr r3, [r3, #16] (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB1555) || \ 80b9ec2: 2b07 cmp r3, #7 80b9ec4: d102 bne.n 80b9ecc { tmp = 2U; 80b9ec6: 2302 movs r3, #2 80b9ec8: 61fb str r3, [r7, #28] 80b9eca: e001 b.n 80b9ed0 } else { tmp = 1U; 80b9ecc: 2301 movs r3, #1 80b9ece: 61fb str r3, [r7, #28] } /* Configure the color frame buffer pitch in byte */ LTDC_LAYER(hltdc, LayerIdx)->CFBLR &= ~(LTDC_LxCFBLR_CFBLL | LTDC_LxCFBLR_CFBP); 80b9ed0: 68fb ldr r3, [r7, #12] 80b9ed2: 681b ldr r3, [r3, #0] 80b9ed4: 461a mov r2, r3 80b9ed6: 687b ldr r3, [r7, #4] 80b9ed8: 01db lsls r3, r3, #7 80b9eda: 4413 add r3, r2 80b9edc: 3384 adds r3, #132 ; 0x84 80b9ede: 461a mov r2, r3 80b9ee0: 68fb ldr r3, [r7, #12] 80b9ee2: 681b ldr r3, [r3, #0] 80b9ee4: 4619 mov r1, r3 80b9ee6: 687b ldr r3, [r7, #4] 80b9ee8: 01db lsls r3, r3, #7 80b9eea: 440b add r3, r1 80b9eec: 3384 adds r3, #132 ; 0x84 80b9eee: 6adb ldr r3, [r3, #44] ; 0x2c 80b9ef0: f003 23e0 and.w r3, r3, #3758153728 ; 0xe000e000 80b9ef4: 62d3 str r3, [r2, #44] ; 0x2c LTDC_LAYER(hltdc, LayerIdx)->CFBLR = (((pLayerCfg->ImageWidth * tmp) << 16U) | (((pLayerCfg->WindowX1 - pLayerCfg->WindowX0) * tmp) + 3U)); 80b9ef6: 68fb ldr r3, [r7, #12] 80b9ef8: 681b ldr r3, [r3, #0] 80b9efa: 461a mov r2, r3 80b9efc: 687b ldr r3, [r7, #4] 80b9efe: 01db lsls r3, r3, #7 80b9f00: 4413 add r3, r2 80b9f02: 3384 adds r3, #132 ; 0x84 80b9f04: 4618 mov r0, r3 80b9f06: 68bb ldr r3, [r7, #8] 80b9f08: 6a9b ldr r3, [r3, #40] ; 0x28 80b9f0a: 69fa ldr r2, [r7, #28] 80b9f0c: fb02 f303 mul.w r3, r2, r3 80b9f10: 041a lsls r2, r3, #16 80b9f12: 68bb ldr r3, [r7, #8] 80b9f14: 6859 ldr r1, [r3, #4] 80b9f16: 68bb ldr r3, [r7, #8] 80b9f18: 681b ldr r3, [r3, #0] 80b9f1a: 1acb subs r3, r1, r3 80b9f1c: 69f9 ldr r1, [r7, #28] 80b9f1e: fb01 f303 mul.w r3, r1, r3 80b9f22: 3303 adds r3, #3 80b9f24: 4313 orrs r3, r2 80b9f26: 62c3 str r3, [r0, #44] ; 0x2c /* Configure the frame buffer line number */ LTDC_LAYER(hltdc, LayerIdx)->CFBLNR &= ~(LTDC_LxCFBLNR_CFBLNBR); 80b9f28: 68fb ldr r3, [r7, #12] 80b9f2a: 681b ldr r3, [r3, #0] 80b9f2c: 461a mov r2, r3 80b9f2e: 687b ldr r3, [r7, #4] 80b9f30: 01db lsls r3, r3, #7 80b9f32: 4413 add r3, r2 80b9f34: 3384 adds r3, #132 ; 0x84 80b9f36: 4619 mov r1, r3 80b9f38: 68fb ldr r3, [r7, #12] 80b9f3a: 681b ldr r3, [r3, #0] 80b9f3c: 461a mov r2, r3 80b9f3e: 687b ldr r3, [r7, #4] 80b9f40: 01db lsls r3, r3, #7 80b9f42: 4413 add r3, r2 80b9f44: 3384 adds r3, #132 ; 0x84 80b9f46: 6b1a ldr r2, [r3, #48] ; 0x30 80b9f48: 4b14 ldr r3, [pc, #80] ; (80b9f9c ) 80b9f4a: 4013 ands r3, r2 80b9f4c: 630b str r3, [r1, #48] ; 0x30 LTDC_LAYER(hltdc, LayerIdx)->CFBLNR = (pLayerCfg->ImageHeight); 80b9f4e: 68fb ldr r3, [r7, #12] 80b9f50: 681b ldr r3, [r3, #0] 80b9f52: 461a mov r2, r3 80b9f54: 687b ldr r3, [r7, #4] 80b9f56: 01db lsls r3, r3, #7 80b9f58: 4413 add r3, r2 80b9f5a: 3384 adds r3, #132 ; 0x84 80b9f5c: 461a mov r2, r3 80b9f5e: 68bb ldr r3, [r7, #8] 80b9f60: 6adb ldr r3, [r3, #44] ; 0x2c 80b9f62: 6313 str r3, [r2, #48] ; 0x30 /* Enable LTDC_Layer by setting LEN bit */ LTDC_LAYER(hltdc, LayerIdx)->CR |= (uint32_t)LTDC_LxCR_LEN; 80b9f64: 68fb ldr r3, [r7, #12] 80b9f66: 681b ldr r3, [r3, #0] 80b9f68: 461a mov r2, r3 80b9f6a: 687b ldr r3, [r7, #4] 80b9f6c: 01db lsls r3, r3, #7 80b9f6e: 4413 add r3, r2 80b9f70: 3384 adds r3, #132 ; 0x84 80b9f72: 461a mov r2, r3 80b9f74: 68fb ldr r3, [r7, #12] 80b9f76: 681b ldr r3, [r3, #0] 80b9f78: 4619 mov r1, r3 80b9f7a: 687b ldr r3, [r7, #4] 80b9f7c: 01db lsls r3, r3, #7 80b9f7e: 440b add r3, r1 80b9f80: 3384 adds r3, #132 ; 0x84 80b9f82: 681b ldr r3, [r3, #0] 80b9f84: f043 0301 orr.w r3, r3, #1 80b9f88: 6013 str r3, [r2, #0] } 80b9f8a: bf00 nop 80b9f8c: 3724 adds r7, #36 ; 0x24 80b9f8e: 46bd mov sp, r7 80b9f90: f85d 7b04 ldr.w r7, [sp], #4 80b9f94: 4770 bx lr 80b9f96: bf00 nop 80b9f98: fffff8f8 .word 0xfffff8f8 80b9f9c: fffff800 .word 0xfffff800 080b9fa0 : * 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) { 80b9fa0: b5f0 push {r4, r5, r6, r7, lr} 80b9fa2: b08f sub sp, #60 ; 0x3c 80b9fa4: af0a add r7, sp, #40 ; 0x28 80b9fa6: 6078 str r0, [r7, #4] USB_OTG_GlobalTypeDef *USBx; uint8_t i; /* Check the PCD handle allocation */ if (hpcd == NULL) 80b9fa8: 687b ldr r3, [r7, #4] 80b9faa: 2b00 cmp r3, #0 80b9fac: d101 bne.n 80b9fb2 { return HAL_ERROR; 80b9fae: 2301 movs r3, #1 80b9fb0: e116 b.n 80ba1e0 } /* Check the parameters */ assert_param(IS_PCD_ALL_INSTANCE(hpcd->Instance)); USBx = hpcd->Instance; 80b9fb2: 687b ldr r3, [r7, #4] 80b9fb4: 681b ldr r3, [r3, #0] 80b9fb6: 60bb str r3, [r7, #8] if (hpcd->State == HAL_PCD_STATE_RESET) 80b9fb8: 687b ldr r3, [r7, #4] 80b9fba: f893 33bd ldrb.w r3, [r3, #957] ; 0x3bd 80b9fbe: b2db uxtb r3, r3 80b9fc0: 2b00 cmp r3, #0 80b9fc2: d106 bne.n 80b9fd2 { /* Allocate lock resource and initialize it */ hpcd->Lock = HAL_UNLOCKED; 80b9fc4: 687b ldr r3, [r7, #4] 80b9fc6: 2200 movs r2, #0 80b9fc8: 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); 80b9fcc: 6878 ldr r0, [r7, #4] 80b9fce: f013 fc7f bl 80cd8d0 #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */ } hpcd->State = HAL_PCD_STATE_BUSY; 80b9fd2: 687b ldr r3, [r7, #4] 80b9fd4: 2203 movs r2, #3 80b9fd6: f883 23bd strb.w r2, [r3, #957] ; 0x3bd /* Disable DMA mode for FS instance */ if ((USBx->CID & (0x1U << 8)) == 0U) 80b9fda: 68bb ldr r3, [r7, #8] 80b9fdc: 6bdb ldr r3, [r3, #60] ; 0x3c 80b9fde: f403 7380 and.w r3, r3, #256 ; 0x100 80b9fe2: 2b00 cmp r3, #0 80b9fe4: d102 bne.n 80b9fec { hpcd->Init.dma_enable = 0U; 80b9fe6: 687b ldr r3, [r7, #4] 80b9fe8: 2200 movs r2, #0 80b9fea: 611a str r2, [r3, #16] } /* Disable the Interrupts */ __HAL_PCD_DISABLE(hpcd); 80b9fec: 687b ldr r3, [r7, #4] 80b9fee: 681b ldr r3, [r3, #0] 80b9ff0: 4618 mov r0, r3 80b9ff2: f008 fa4c bl 80c248e /*Init the Core (common init.) */ if (USB_CoreInit(hpcd->Instance, hpcd->Init) != HAL_OK) 80b9ff6: 687b ldr r3, [r7, #4] 80b9ff8: 681b ldr r3, [r3, #0] 80b9ffa: 603b str r3, [r7, #0] 80b9ffc: 687e ldr r6, [r7, #4] 80b9ffe: 466d mov r5, sp 80ba000: f106 0410 add.w r4, r6, #16 80ba004: cc0f ldmia r4!, {r0, r1, r2, r3} 80ba006: c50f stmia r5!, {r0, r1, r2, r3} 80ba008: cc0f ldmia r4!, {r0, r1, r2, r3} 80ba00a: c50f stmia r5!, {r0, r1, r2, r3} 80ba00c: e894 0003 ldmia.w r4, {r0, r1} 80ba010: e885 0003 stmia.w r5, {r0, r1} 80ba014: 1d33 adds r3, r6, #4 80ba016: cb0e ldmia r3, {r1, r2, r3} 80ba018: 6838 ldr r0, [r7, #0] 80ba01a: f008 f92d bl 80c2278 80ba01e: 4603 mov r3, r0 80ba020: 2b00 cmp r3, #0 80ba022: d005 beq.n 80ba030 { hpcd->State = HAL_PCD_STATE_ERROR; 80ba024: 687b ldr r3, [r7, #4] 80ba026: 2202 movs r2, #2 80ba028: f883 23bd strb.w r2, [r3, #957] ; 0x3bd return HAL_ERROR; 80ba02c: 2301 movs r3, #1 80ba02e: e0d7 b.n 80ba1e0 } /* Force Device Mode*/ (void)USB_SetCurrentMode(hpcd->Instance, USB_DEVICE_MODE); 80ba030: 687b ldr r3, [r7, #4] 80ba032: 681b ldr r3, [r3, #0] 80ba034: 2100 movs r1, #0 80ba036: 4618 mov r0, r3 80ba038: f008 fa3a bl 80c24b0 /* Init endpoints structures */ for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80ba03c: 2300 movs r3, #0 80ba03e: 73fb strb r3, [r7, #15] 80ba040: e04a b.n 80ba0d8 { /* Init ep structure */ hpcd->IN_ep[i].is_in = 1U; 80ba042: 7bfa ldrb r2, [r7, #15] 80ba044: 6879 ldr r1, [r7, #4] 80ba046: 4613 mov r3, r2 80ba048: 00db lsls r3, r3, #3 80ba04a: 1a9b subs r3, r3, r2 80ba04c: 009b lsls r3, r3, #2 80ba04e: 440b add r3, r1 80ba050: 333d adds r3, #61 ; 0x3d 80ba052: 2201 movs r2, #1 80ba054: 701a strb r2, [r3, #0] hpcd->IN_ep[i].num = i; 80ba056: 7bfa ldrb r2, [r7, #15] 80ba058: 6879 ldr r1, [r7, #4] 80ba05a: 4613 mov r3, r2 80ba05c: 00db lsls r3, r3, #3 80ba05e: 1a9b subs r3, r3, r2 80ba060: 009b lsls r3, r3, #2 80ba062: 440b add r3, r1 80ba064: 333c adds r3, #60 ; 0x3c 80ba066: 7bfa ldrb r2, [r7, #15] 80ba068: 701a strb r2, [r3, #0] hpcd->IN_ep[i].tx_fifo_num = i; 80ba06a: 7bfa ldrb r2, [r7, #15] 80ba06c: 7bfb ldrb r3, [r7, #15] 80ba06e: b298 uxth r0, r3 80ba070: 6879 ldr r1, [r7, #4] 80ba072: 4613 mov r3, r2 80ba074: 00db lsls r3, r3, #3 80ba076: 1a9b subs r3, r3, r2 80ba078: 009b lsls r3, r3, #2 80ba07a: 440b add r3, r1 80ba07c: 3342 adds r3, #66 ; 0x42 80ba07e: 4602 mov r2, r0 80ba080: 801a strh r2, [r3, #0] /* Control until ep is activated */ hpcd->IN_ep[i].type = EP_TYPE_CTRL; 80ba082: 7bfa ldrb r2, [r7, #15] 80ba084: 6879 ldr r1, [r7, #4] 80ba086: 4613 mov r3, r2 80ba088: 00db lsls r3, r3, #3 80ba08a: 1a9b subs r3, r3, r2 80ba08c: 009b lsls r3, r3, #2 80ba08e: 440b add r3, r1 80ba090: 333f adds r3, #63 ; 0x3f 80ba092: 2200 movs r2, #0 80ba094: 701a strb r2, [r3, #0] hpcd->IN_ep[i].maxpacket = 0U; 80ba096: 7bfa ldrb r2, [r7, #15] 80ba098: 6879 ldr r1, [r7, #4] 80ba09a: 4613 mov r3, r2 80ba09c: 00db lsls r3, r3, #3 80ba09e: 1a9b subs r3, r3, r2 80ba0a0: 009b lsls r3, r3, #2 80ba0a2: 440b add r3, r1 80ba0a4: 3344 adds r3, #68 ; 0x44 80ba0a6: 2200 movs r2, #0 80ba0a8: 601a str r2, [r3, #0] hpcd->IN_ep[i].xfer_buff = 0U; 80ba0aa: 7bfa ldrb r2, [r7, #15] 80ba0ac: 6879 ldr r1, [r7, #4] 80ba0ae: 4613 mov r3, r2 80ba0b0: 00db lsls r3, r3, #3 80ba0b2: 1a9b subs r3, r3, r2 80ba0b4: 009b lsls r3, r3, #2 80ba0b6: 440b add r3, r1 80ba0b8: 3348 adds r3, #72 ; 0x48 80ba0ba: 2200 movs r2, #0 80ba0bc: 601a str r2, [r3, #0] hpcd->IN_ep[i].xfer_len = 0U; 80ba0be: 7bfa ldrb r2, [r7, #15] 80ba0c0: 6879 ldr r1, [r7, #4] 80ba0c2: 4613 mov r3, r2 80ba0c4: 00db lsls r3, r3, #3 80ba0c6: 1a9b subs r3, r3, r2 80ba0c8: 009b lsls r3, r3, #2 80ba0ca: 440b add r3, r1 80ba0cc: 3350 adds r3, #80 ; 0x50 80ba0ce: 2200 movs r2, #0 80ba0d0: 601a str r2, [r3, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80ba0d2: 7bfb ldrb r3, [r7, #15] 80ba0d4: 3301 adds r3, #1 80ba0d6: 73fb strb r3, [r7, #15] 80ba0d8: 7bfa ldrb r2, [r7, #15] 80ba0da: 687b ldr r3, [r7, #4] 80ba0dc: 685b ldr r3, [r3, #4] 80ba0de: 429a cmp r2, r3 80ba0e0: d3af bcc.n 80ba042 } for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80ba0e2: 2300 movs r3, #0 80ba0e4: 73fb strb r3, [r7, #15] 80ba0e6: e044 b.n 80ba172 { hpcd->OUT_ep[i].is_in = 0U; 80ba0e8: 7bfa ldrb r2, [r7, #15] 80ba0ea: 6879 ldr r1, [r7, #4] 80ba0ec: 4613 mov r3, r2 80ba0ee: 00db lsls r3, r3, #3 80ba0f0: 1a9b subs r3, r3, r2 80ba0f2: 009b lsls r3, r3, #2 80ba0f4: 440b add r3, r1 80ba0f6: f203 13fd addw r3, r3, #509 ; 0x1fd 80ba0fa: 2200 movs r2, #0 80ba0fc: 701a strb r2, [r3, #0] hpcd->OUT_ep[i].num = i; 80ba0fe: 7bfa ldrb r2, [r7, #15] 80ba100: 6879 ldr r1, [r7, #4] 80ba102: 4613 mov r3, r2 80ba104: 00db lsls r3, r3, #3 80ba106: 1a9b subs r3, r3, r2 80ba108: 009b lsls r3, r3, #2 80ba10a: 440b add r3, r1 80ba10c: f503 73fe add.w r3, r3, #508 ; 0x1fc 80ba110: 7bfa ldrb r2, [r7, #15] 80ba112: 701a strb r2, [r3, #0] /* Control until ep is activated */ hpcd->OUT_ep[i].type = EP_TYPE_CTRL; 80ba114: 7bfa ldrb r2, [r7, #15] 80ba116: 6879 ldr r1, [r7, #4] 80ba118: 4613 mov r3, r2 80ba11a: 00db lsls r3, r3, #3 80ba11c: 1a9b subs r3, r3, r2 80ba11e: 009b lsls r3, r3, #2 80ba120: 440b add r3, r1 80ba122: f203 13ff addw r3, r3, #511 ; 0x1ff 80ba126: 2200 movs r2, #0 80ba128: 701a strb r2, [r3, #0] hpcd->OUT_ep[i].maxpacket = 0U; 80ba12a: 7bfa ldrb r2, [r7, #15] 80ba12c: 6879 ldr r1, [r7, #4] 80ba12e: 4613 mov r3, r2 80ba130: 00db lsls r3, r3, #3 80ba132: 1a9b subs r3, r3, r2 80ba134: 009b lsls r3, r3, #2 80ba136: 440b add r3, r1 80ba138: f503 7301 add.w r3, r3, #516 ; 0x204 80ba13c: 2200 movs r2, #0 80ba13e: 601a str r2, [r3, #0] hpcd->OUT_ep[i].xfer_buff = 0U; 80ba140: 7bfa ldrb r2, [r7, #15] 80ba142: 6879 ldr r1, [r7, #4] 80ba144: 4613 mov r3, r2 80ba146: 00db lsls r3, r3, #3 80ba148: 1a9b subs r3, r3, r2 80ba14a: 009b lsls r3, r3, #2 80ba14c: 440b add r3, r1 80ba14e: f503 7302 add.w r3, r3, #520 ; 0x208 80ba152: 2200 movs r2, #0 80ba154: 601a str r2, [r3, #0] hpcd->OUT_ep[i].xfer_len = 0U; 80ba156: 7bfa ldrb r2, [r7, #15] 80ba158: 6879 ldr r1, [r7, #4] 80ba15a: 4613 mov r3, r2 80ba15c: 00db lsls r3, r3, #3 80ba15e: 1a9b subs r3, r3, r2 80ba160: 009b lsls r3, r3, #2 80ba162: 440b add r3, r1 80ba164: f503 7304 add.w r3, r3, #528 ; 0x210 80ba168: 2200 movs r2, #0 80ba16a: 601a str r2, [r3, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80ba16c: 7bfb ldrb r3, [r7, #15] 80ba16e: 3301 adds r3, #1 80ba170: 73fb strb r3, [r7, #15] 80ba172: 7bfa ldrb r2, [r7, #15] 80ba174: 687b ldr r3, [r7, #4] 80ba176: 685b ldr r3, [r3, #4] 80ba178: 429a cmp r2, r3 80ba17a: d3b5 bcc.n 80ba0e8 } /* Init Device */ if (USB_DevInit(hpcd->Instance, hpcd->Init) != HAL_OK) 80ba17c: 687b ldr r3, [r7, #4] 80ba17e: 681b ldr r3, [r3, #0] 80ba180: 603b str r3, [r7, #0] 80ba182: 687e ldr r6, [r7, #4] 80ba184: 466d mov r5, sp 80ba186: f106 0410 add.w r4, r6, #16 80ba18a: cc0f ldmia r4!, {r0, r1, r2, r3} 80ba18c: c50f stmia r5!, {r0, r1, r2, r3} 80ba18e: cc0f ldmia r4!, {r0, r1, r2, r3} 80ba190: c50f stmia r5!, {r0, r1, r2, r3} 80ba192: e894 0003 ldmia.w r4, {r0, r1} 80ba196: e885 0003 stmia.w r5, {r0, r1} 80ba19a: 1d33 adds r3, r6, #4 80ba19c: cb0e ldmia r3, {r1, r2, r3} 80ba19e: 6838 ldr r0, [r7, #0] 80ba1a0: f008 f9d2 bl 80c2548 80ba1a4: 4603 mov r3, r0 80ba1a6: 2b00 cmp r3, #0 80ba1a8: d005 beq.n 80ba1b6 { hpcd->State = HAL_PCD_STATE_ERROR; 80ba1aa: 687b ldr r3, [r7, #4] 80ba1ac: 2202 movs r2, #2 80ba1ae: f883 23bd strb.w r2, [r3, #957] ; 0x3bd return HAL_ERROR; 80ba1b2: 2301 movs r3, #1 80ba1b4: e014 b.n 80ba1e0 } hpcd->USB_Address = 0U; 80ba1b6: 687b ldr r3, [r7, #4] 80ba1b8: 2200 movs r2, #0 80ba1ba: f883 2038 strb.w r2, [r3, #56] ; 0x38 hpcd->State = HAL_PCD_STATE_READY; 80ba1be: 687b ldr r3, [r7, #4] 80ba1c0: 2201 movs r2, #1 80ba1c2: f883 23bd strb.w r2, [r3, #957] ; 0x3bd /* Activate LPM */ if (hpcd->Init.lpm_enable == 1U) 80ba1c6: 687b ldr r3, [r7, #4] 80ba1c8: 6a5b ldr r3, [r3, #36] ; 0x24 80ba1ca: 2b01 cmp r3, #1 80ba1cc: d102 bne.n 80ba1d4 { (void)HAL_PCDEx_ActivateLPM(hpcd); 80ba1ce: 6878 ldr r0, [r7, #4] 80ba1d0: f001 f8aa bl 80bb328 } (void)USB_DevDisconnect(hpcd->Instance); 80ba1d4: 687b ldr r3, [r7, #4] 80ba1d6: 681b ldr r3, [r3, #0] 80ba1d8: 4618 mov r0, r3 80ba1da: f009 fa9f bl 80c371c return HAL_OK; 80ba1de: 2300 movs r3, #0 } 80ba1e0: 4618 mov r0, r3 80ba1e2: 3714 adds r7, #20 80ba1e4: 46bd mov sp, r7 80ba1e6: bdf0 pop {r4, r5, r6, r7, pc} 080ba1e8 : * @brief Start the USB device * @param hpcd PCD handle * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd) { 80ba1e8: b580 push {r7, lr} 80ba1ea: b082 sub sp, #8 80ba1ec: af00 add r7, sp, #0 80ba1ee: 6078 str r0, [r7, #4] __HAL_LOCK(hpcd); 80ba1f0: 687b ldr r3, [r7, #4] 80ba1f2: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80ba1f6: 2b01 cmp r3, #1 80ba1f8: d101 bne.n 80ba1fe 80ba1fa: 2302 movs r3, #2 80ba1fc: e012 b.n 80ba224 80ba1fe: 687b ldr r3, [r7, #4] 80ba200: 2201 movs r2, #1 80ba202: f883 23bc strb.w r2, [r3, #956] ; 0x3bc __HAL_PCD_ENABLE(hpcd); 80ba206: 687b ldr r3, [r7, #4] 80ba208: 681b ldr r3, [r3, #0] 80ba20a: 4618 mov r0, r3 80ba20c: f008 f92e bl 80c246c (void)USB_DevConnect(hpcd->Instance); 80ba210: 687b ldr r3, [r7, #4] 80ba212: 681b ldr r3, [r3, #0] 80ba214: 4618 mov r0, r3 80ba216: f009 fa5e bl 80c36d6 __HAL_UNLOCK(hpcd); 80ba21a: 687b ldr r3, [r7, #4] 80ba21c: 2200 movs r2, #0 80ba21e: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80ba222: 2300 movs r3, #0 } 80ba224: 4618 mov r0, r3 80ba226: 3708 adds r7, #8 80ba228: 46bd mov sp, r7 80ba22a: bd80 pop {r7, pc} 080ba22c : * @brief Handles PCD interrupt request. * @param hpcd PCD handle * @retval HAL status */ void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd) { 80ba22c: b590 push {r4, r7, lr} 80ba22e: b08d sub sp, #52 ; 0x34 80ba230: af00 add r7, sp, #0 80ba232: 6078 str r0, [r7, #4] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80ba234: 687b ldr r3, [r7, #4] 80ba236: 681b ldr r3, [r3, #0] 80ba238: 623b str r3, [r7, #32] uint32_t USBx_BASE = (uint32_t)USBx; 80ba23a: 6a3b ldr r3, [r7, #32] 80ba23c: 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) 80ba23e: 687b ldr r3, [r7, #4] 80ba240: 681b ldr r3, [r3, #0] 80ba242: 4618 mov r0, r3 80ba244: f009 fb20 bl 80c3888 80ba248: 4603 mov r3, r0 80ba24a: 2b00 cmp r3, #0 80ba24c: f040 83c5 bne.w 80ba9da { /* avoid spurious interrupt */ if (__HAL_PCD_IS_INVALID_INTERRUPT(hpcd)) 80ba250: 687b ldr r3, [r7, #4] 80ba252: 681b ldr r3, [r3, #0] 80ba254: 4618 mov r0, r3 80ba256: f009 fa84 bl 80c3762 80ba25a: 4603 mov r3, r0 80ba25c: 2b00 cmp r3, #0 80ba25e: f000 83bb beq.w 80ba9d8 { return; } if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_MMIS)) 80ba262: 687b ldr r3, [r7, #4] 80ba264: 681b ldr r3, [r3, #0] 80ba266: 4618 mov r0, r3 80ba268: f009 fa7b bl 80c3762 80ba26c: 4603 mov r3, r0 80ba26e: f003 0302 and.w r3, r3, #2 80ba272: 2b02 cmp r3, #2 80ba274: d107 bne.n 80ba286 { /* incorrect mode, acknowledge the interrupt */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_MMIS); 80ba276: 687b ldr r3, [r7, #4] 80ba278: 681b ldr r3, [r3, #0] 80ba27a: 687a ldr r2, [r7, #4] 80ba27c: 6812 ldr r2, [r2, #0] 80ba27e: 6952 ldr r2, [r2, #20] 80ba280: f002 0202 and.w r2, r2, #2 80ba284: 615a str r2, [r3, #20] } /* Handle RxQLevel Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_RXFLVL)) 80ba286: 687b ldr r3, [r7, #4] 80ba288: 681b ldr r3, [r3, #0] 80ba28a: 4618 mov r0, r3 80ba28c: f009 fa69 bl 80c3762 80ba290: 4603 mov r3, r0 80ba292: f003 0310 and.w r3, r3, #16 80ba296: 2b10 cmp r3, #16 80ba298: d161 bne.n 80ba35e { USB_MASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); 80ba29a: 687b ldr r3, [r7, #4] 80ba29c: 681b ldr r3, [r3, #0] 80ba29e: 687a ldr r2, [r7, #4] 80ba2a0: 6812 ldr r2, [r2, #0] 80ba2a2: 6992 ldr r2, [r2, #24] 80ba2a4: f022 0210 bic.w r2, r2, #16 80ba2a8: 619a str r2, [r3, #24] temp = USBx->GRXSTSP; 80ba2aa: 6a3b ldr r3, [r7, #32] 80ba2ac: 6a1b ldr r3, [r3, #32] 80ba2ae: 61bb str r3, [r7, #24] ep = &hpcd->OUT_ep[temp & USB_OTG_GRXSTSP_EPNUM]; 80ba2b0: 69bb ldr r3, [r7, #24] 80ba2b2: f003 020f and.w r2, r3, #15 80ba2b6: 4613 mov r3, r2 80ba2b8: 00db lsls r3, r3, #3 80ba2ba: 1a9b subs r3, r3, r2 80ba2bc: 009b lsls r3, r3, #2 80ba2be: f503 73fc add.w r3, r3, #504 ; 0x1f8 80ba2c2: 687a ldr r2, [r7, #4] 80ba2c4: 4413 add r3, r2 80ba2c6: 3304 adds r3, #4 80ba2c8: 617b str r3, [r7, #20] if (((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_DATA_UPDT) 80ba2ca: 69bb ldr r3, [r7, #24] 80ba2cc: 0c5b lsrs r3, r3, #17 80ba2ce: f003 030f and.w r3, r3, #15 80ba2d2: 2b02 cmp r3, #2 80ba2d4: d124 bne.n 80ba320 { if ((temp & USB_OTG_GRXSTSP_BCNT) != 0U) 80ba2d6: 69ba ldr r2, [r7, #24] 80ba2d8: f647 73f0 movw r3, #32752 ; 0x7ff0 80ba2dc: 4013 ands r3, r2 80ba2de: 2b00 cmp r3, #0 80ba2e0: d035 beq.n 80ba34e { (void)USB_ReadPacket(USBx, ep->xfer_buff, 80ba2e2: 697b ldr r3, [r7, #20] 80ba2e4: 68d9 ldr r1, [r3, #12] (uint16_t)((temp & USB_OTG_GRXSTSP_BCNT) >> 4)); 80ba2e6: 69bb ldr r3, [r7, #24] 80ba2e8: 091b lsrs r3, r3, #4 80ba2ea: b29b uxth r3, r3 (void)USB_ReadPacket(USBx, ep->xfer_buff, 80ba2ec: f3c3 030a ubfx r3, r3, #0, #11 80ba2f0: b29b uxth r3, r3 80ba2f2: 461a mov r2, r3 80ba2f4: 6a38 ldr r0, [r7, #32] 80ba2f6: f009 f893 bl 80c3420 ep->xfer_buff += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 80ba2fa: 697b ldr r3, [r7, #20] 80ba2fc: 68da ldr r2, [r3, #12] 80ba2fe: 69bb ldr r3, [r7, #24] 80ba300: 091b lsrs r3, r3, #4 80ba302: f3c3 030a ubfx r3, r3, #0, #11 80ba306: 441a add r2, r3 80ba308: 697b ldr r3, [r7, #20] 80ba30a: 60da str r2, [r3, #12] ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 80ba30c: 697b ldr r3, [r7, #20] 80ba30e: 699a ldr r2, [r3, #24] 80ba310: 69bb ldr r3, [r7, #24] 80ba312: 091b lsrs r3, r3, #4 80ba314: f3c3 030a ubfx r3, r3, #0, #11 80ba318: 441a add r2, r3 80ba31a: 697b ldr r3, [r7, #20] 80ba31c: 619a str r2, [r3, #24] 80ba31e: e016 b.n 80ba34e } } else if (((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_SETUP_UPDT) 80ba320: 69bb ldr r3, [r7, #24] 80ba322: 0c5b lsrs r3, r3, #17 80ba324: f003 030f and.w r3, r3, #15 80ba328: 2b06 cmp r3, #6 80ba32a: d110 bne.n 80ba34e { (void)USB_ReadPacket(USBx, (uint8_t *)hpcd->Setup, 8U); 80ba32c: 687b ldr r3, [r7, #4] 80ba32e: f503 7371 add.w r3, r3, #964 ; 0x3c4 80ba332: 2208 movs r2, #8 80ba334: 4619 mov r1, r3 80ba336: 6a38 ldr r0, [r7, #32] 80ba338: f009 f872 bl 80c3420 ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 80ba33c: 697b ldr r3, [r7, #20] 80ba33e: 699a ldr r2, [r3, #24] 80ba340: 69bb ldr r3, [r7, #24] 80ba342: 091b lsrs r3, r3, #4 80ba344: f3c3 030a ubfx r3, r3, #0, #11 80ba348: 441a add r2, r3 80ba34a: 697b ldr r3, [r7, #20] 80ba34c: 619a str r2, [r3, #24] else { /* ... */ } USB_UNMASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); 80ba34e: 687b ldr r3, [r7, #4] 80ba350: 681b ldr r3, [r3, #0] 80ba352: 687a ldr r2, [r7, #4] 80ba354: 6812 ldr r2, [r2, #0] 80ba356: 6992 ldr r2, [r2, #24] 80ba358: f042 0210 orr.w r2, r2, #16 80ba35c: 619a str r2, [r3, #24] } if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OEPINT)) 80ba35e: 687b ldr r3, [r7, #4] 80ba360: 681b ldr r3, [r3, #0] 80ba362: 4618 mov r0, r3 80ba364: f009 f9fd bl 80c3762 80ba368: 4603 mov r3, r0 80ba36a: f403 2300 and.w r3, r3, #524288 ; 0x80000 80ba36e: f5b3 2f00 cmp.w r3, #524288 ; 0x80000 80ba372: d16e bne.n 80ba452 { epnum = 0U; 80ba374: 2300 movs r3, #0 80ba376: 627b str r3, [r7, #36] ; 0x24 /* Read in the device interrupt bits */ ep_intr = USB_ReadDevAllOutEpInterrupt(hpcd->Instance); 80ba378: 687b ldr r3, [r7, #4] 80ba37a: 681b ldr r3, [r3, #0] 80ba37c: 4618 mov r0, r3 80ba37e: f009 fa03 bl 80c3788 80ba382: 62b8 str r0, [r7, #40] ; 0x28 while (ep_intr != 0U) 80ba384: e062 b.n 80ba44c { if ((ep_intr & 0x1U) != 0U) 80ba386: 6abb ldr r3, [r7, #40] ; 0x28 80ba388: f003 0301 and.w r3, r3, #1 80ba38c: 2b00 cmp r3, #0 80ba38e: d057 beq.n 80ba440 { epint = USB_ReadDevOutEPInterrupt(hpcd->Instance, (uint8_t)epnum); 80ba390: 687b ldr r3, [r7, #4] 80ba392: 681b ldr r3, [r3, #0] 80ba394: 6a7a ldr r2, [r7, #36] ; 0x24 80ba396: b2d2 uxtb r2, r2 80ba398: 4611 mov r1, r2 80ba39a: 4618 mov r0, r3 80ba39c: f009 fa28 bl 80c37f0 80ba3a0: 6138 str r0, [r7, #16] if ((epint & USB_OTG_DOEPINT_XFRC) == USB_OTG_DOEPINT_XFRC) 80ba3a2: 693b ldr r3, [r7, #16] 80ba3a4: f003 0301 and.w r3, r3, #1 80ba3a8: 2b00 cmp r3, #0 80ba3aa: d00c beq.n 80ba3c6 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_XFRC); 80ba3ac: 6a7b ldr r3, [r7, #36] ; 0x24 80ba3ae: 015a lsls r2, r3, #5 80ba3b0: 69fb ldr r3, [r7, #28] 80ba3b2: 4413 add r3, r2 80ba3b4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80ba3b8: 461a mov r2, r3 80ba3ba: 2301 movs r3, #1 80ba3bc: 6093 str r3, [r2, #8] (void)PCD_EP_OutXfrComplete_int(hpcd, epnum); 80ba3be: 6a79 ldr r1, [r7, #36] ; 0x24 80ba3c0: 6878 ldr r0, [r7, #4] 80ba3c2: f000 fe07 bl 80bafd4 } if ((epint & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP) 80ba3c6: 693b ldr r3, [r7, #16] 80ba3c8: f003 0308 and.w r3, r3, #8 80ba3cc: 2b00 cmp r3, #0 80ba3ce: d00c beq.n 80ba3ea { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STUP); 80ba3d0: 6a7b ldr r3, [r7, #36] ; 0x24 80ba3d2: 015a lsls r2, r3, #5 80ba3d4: 69fb ldr r3, [r7, #28] 80ba3d6: 4413 add r3, r2 80ba3d8: f503 6330 add.w r3, r3, #2816 ; 0xb00 80ba3dc: 461a mov r2, r3 80ba3de: 2308 movs r3, #8 80ba3e0: 6093 str r3, [r2, #8] /* Class B setup phase done for previous decoded setup */ (void)PCD_EP_OutSetupPacket_int(hpcd, epnum); 80ba3e2: 6a79 ldr r1, [r7, #36] ; 0x24 80ba3e4: 6878 ldr r0, [r7, #4] 80ba3e6: f000 ff01 bl 80bb1ec } if ((epint & USB_OTG_DOEPINT_OTEPDIS) == USB_OTG_DOEPINT_OTEPDIS) 80ba3ea: 693b ldr r3, [r7, #16] 80ba3ec: f003 0310 and.w r3, r3, #16 80ba3f0: 2b00 cmp r3, #0 80ba3f2: d008 beq.n 80ba406 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPDIS); 80ba3f4: 6a7b ldr r3, [r7, #36] ; 0x24 80ba3f6: 015a lsls r2, r3, #5 80ba3f8: 69fb ldr r3, [r7, #28] 80ba3fa: 4413 add r3, r2 80ba3fc: f503 6330 add.w r3, r3, #2816 ; 0xb00 80ba400: 461a mov r2, r3 80ba402: 2310 movs r3, #16 80ba404: 6093 str r3, [r2, #8] } /* Clear Status Phase Received interrupt */ if ((epint & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) 80ba406: 693b ldr r3, [r7, #16] 80ba408: f003 0320 and.w r3, r3, #32 80ba40c: 2b00 cmp r3, #0 80ba40e: d008 beq.n 80ba422 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 80ba410: 6a7b ldr r3, [r7, #36] ; 0x24 80ba412: 015a lsls r2, r3, #5 80ba414: 69fb ldr r3, [r7, #28] 80ba416: 4413 add r3, r2 80ba418: f503 6330 add.w r3, r3, #2816 ; 0xb00 80ba41c: 461a mov r2, r3 80ba41e: 2320 movs r3, #32 80ba420: 6093 str r3, [r2, #8] } /* Clear OUT NAK interrupt */ if ((epint & USB_OTG_DOEPINT_NAK) == USB_OTG_DOEPINT_NAK) 80ba422: 693b ldr r3, [r7, #16] 80ba424: f403 5300 and.w r3, r3, #8192 ; 0x2000 80ba428: 2b00 cmp r3, #0 80ba42a: d009 beq.n 80ba440 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_NAK); 80ba42c: 6a7b ldr r3, [r7, #36] ; 0x24 80ba42e: 015a lsls r2, r3, #5 80ba430: 69fb ldr r3, [r7, #28] 80ba432: 4413 add r3, r2 80ba434: f503 6330 add.w r3, r3, #2816 ; 0xb00 80ba438: 461a mov r2, r3 80ba43a: f44f 5300 mov.w r3, #8192 ; 0x2000 80ba43e: 6093 str r3, [r2, #8] } } epnum++; 80ba440: 6a7b ldr r3, [r7, #36] ; 0x24 80ba442: 3301 adds r3, #1 80ba444: 627b str r3, [r7, #36] ; 0x24 ep_intr >>= 1U; 80ba446: 6abb ldr r3, [r7, #40] ; 0x28 80ba448: 085b lsrs r3, r3, #1 80ba44a: 62bb str r3, [r7, #40] ; 0x28 while (ep_intr != 0U) 80ba44c: 6abb ldr r3, [r7, #40] ; 0x28 80ba44e: 2b00 cmp r3, #0 80ba450: d199 bne.n 80ba386 } } if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IEPINT)) 80ba452: 687b ldr r3, [r7, #4] 80ba454: 681b ldr r3, [r3, #0] 80ba456: 4618 mov r0, r3 80ba458: f009 f983 bl 80c3762 80ba45c: 4603 mov r3, r0 80ba45e: f403 2380 and.w r3, r3, #262144 ; 0x40000 80ba462: f5b3 2f80 cmp.w r3, #262144 ; 0x40000 80ba466: f040 80c1 bne.w 80ba5ec { /* Read in the device interrupt bits */ ep_intr = USB_ReadDevAllInEpInterrupt(hpcd->Instance); 80ba46a: 687b ldr r3, [r7, #4] 80ba46c: 681b ldr r3, [r3, #0] 80ba46e: 4618 mov r0, r3 80ba470: f009 f9a4 bl 80c37bc 80ba474: 62b8 str r0, [r7, #40] ; 0x28 epnum = 0U; 80ba476: 2300 movs r3, #0 80ba478: 627b str r3, [r7, #36] ; 0x24 while (ep_intr != 0U) 80ba47a: e0b3 b.n 80ba5e4 { if ((ep_intr & 0x1U) != 0U) /* In ITR */ 80ba47c: 6abb ldr r3, [r7, #40] ; 0x28 80ba47e: f003 0301 and.w r3, r3, #1 80ba482: 2b00 cmp r3, #0 80ba484: f000 80a8 beq.w 80ba5d8 { epint = USB_ReadDevInEPInterrupt(hpcd->Instance, (uint8_t)epnum); 80ba488: 687b ldr r3, [r7, #4] 80ba48a: 681b ldr r3, [r3, #0] 80ba48c: 6a7a ldr r2, [r7, #36] ; 0x24 80ba48e: b2d2 uxtb r2, r2 80ba490: 4611 mov r1, r2 80ba492: 4618 mov r0, r3 80ba494: f009 f9ca bl 80c382c 80ba498: 6138 str r0, [r7, #16] if ((epint & USB_OTG_DIEPINT_XFRC) == USB_OTG_DIEPINT_XFRC) 80ba49a: 693b ldr r3, [r7, #16] 80ba49c: f003 0301 and.w r3, r3, #1 80ba4a0: 2b00 cmp r3, #0 80ba4a2: d058 beq.n 80ba556 { fifoemptymsk = (uint32_t)(0x1UL << (epnum & EP_ADDR_MSK)); 80ba4a4: 6a7b ldr r3, [r7, #36] ; 0x24 80ba4a6: f003 030f and.w r3, r3, #15 80ba4aa: 2201 movs r2, #1 80ba4ac: fa02 f303 lsl.w r3, r2, r3 80ba4b0: 60fb str r3, [r7, #12] USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 80ba4b2: 69fb ldr r3, [r7, #28] 80ba4b4: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba4b8: 4619 mov r1, r3 80ba4ba: 69fb ldr r3, [r7, #28] 80ba4bc: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba4c0: 6b5a ldr r2, [r3, #52] ; 0x34 80ba4c2: 68fb ldr r3, [r7, #12] 80ba4c4: 43db mvns r3, r3 80ba4c6: 4013 ands r3, r2 80ba4c8: 634b str r3, [r1, #52] ; 0x34 CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_XFRC); 80ba4ca: 6a7b ldr r3, [r7, #36] ; 0x24 80ba4cc: 015a lsls r2, r3, #5 80ba4ce: 69fb ldr r3, [r7, #28] 80ba4d0: 4413 add r3, r2 80ba4d2: f503 6310 add.w r3, r3, #2304 ; 0x900 80ba4d6: 461a mov r2, r3 80ba4d8: 2301 movs r3, #1 80ba4da: 6093 str r3, [r2, #8] if (hpcd->Init.dma_enable == 1U) 80ba4dc: 687b ldr r3, [r7, #4] 80ba4de: 691b ldr r3, [r3, #16] 80ba4e0: 2b01 cmp r3, #1 80ba4e2: d132 bne.n 80ba54a { hpcd->IN_ep[epnum].xfer_buff += hpcd->IN_ep[epnum].maxpacket; 80ba4e4: 6879 ldr r1, [r7, #4] 80ba4e6: 6a7a ldr r2, [r7, #36] ; 0x24 80ba4e8: 4613 mov r3, r2 80ba4ea: 00db lsls r3, r3, #3 80ba4ec: 1a9b subs r3, r3, r2 80ba4ee: 009b lsls r3, r3, #2 80ba4f0: 440b add r3, r1 80ba4f2: 3348 adds r3, #72 ; 0x48 80ba4f4: 6819 ldr r1, [r3, #0] 80ba4f6: 6878 ldr r0, [r7, #4] 80ba4f8: 6a7a ldr r2, [r7, #36] ; 0x24 80ba4fa: 4613 mov r3, r2 80ba4fc: 00db lsls r3, r3, #3 80ba4fe: 1a9b subs r3, r3, r2 80ba500: 009b lsls r3, r3, #2 80ba502: 4403 add r3, r0 80ba504: 3344 adds r3, #68 ; 0x44 80ba506: 681b ldr r3, [r3, #0] 80ba508: 4419 add r1, r3 80ba50a: 6878 ldr r0, [r7, #4] 80ba50c: 6a7a ldr r2, [r7, #36] ; 0x24 80ba50e: 4613 mov r3, r2 80ba510: 00db lsls r3, r3, #3 80ba512: 1a9b subs r3, r3, r2 80ba514: 009b lsls r3, r3, #2 80ba516: 4403 add r3, r0 80ba518: 3348 adds r3, #72 ; 0x48 80ba51a: 6019 str r1, [r3, #0] /* this is ZLP, so prepare EP0 for next setup */ if ((epnum == 0U) && (hpcd->IN_ep[epnum].xfer_len == 0U)) 80ba51c: 6a7b ldr r3, [r7, #36] ; 0x24 80ba51e: 2b00 cmp r3, #0 80ba520: d113 bne.n 80ba54a 80ba522: 6879 ldr r1, [r7, #4] 80ba524: 6a7a ldr r2, [r7, #36] ; 0x24 80ba526: 4613 mov r3, r2 80ba528: 00db lsls r3, r3, #3 80ba52a: 1a9b subs r3, r3, r2 80ba52c: 009b lsls r3, r3, #2 80ba52e: 440b add r3, r1 80ba530: 3350 adds r3, #80 ; 0x50 80ba532: 681b ldr r3, [r3, #0] 80ba534: 2b00 cmp r3, #0 80ba536: d108 bne.n 80ba54a { /* prepare to rx more setup packets */ (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 80ba538: 687b ldr r3, [r7, #4] 80ba53a: 6818 ldr r0, [r3, #0] 80ba53c: 687b ldr r3, [r7, #4] 80ba53e: f503 7371 add.w r3, r3, #964 ; 0x3c4 80ba542: 461a mov r2, r3 80ba544: 2101 movs r1, #1 80ba546: f009 f9d3 bl 80c38f0 } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataInStageCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_DataInStageCallback(hpcd, (uint8_t)epnum); 80ba54a: 6a7b ldr r3, [r7, #36] ; 0x24 80ba54c: b2db uxtb r3, r3 80ba54e: 4619 mov r1, r3 80ba550: 6878 ldr r0, [r7, #4] 80ba552: f013 fa48 bl 80cd9e6 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } if ((epint & USB_OTG_DIEPINT_TOC) == USB_OTG_DIEPINT_TOC) 80ba556: 693b ldr r3, [r7, #16] 80ba558: f003 0308 and.w r3, r3, #8 80ba55c: 2b00 cmp r3, #0 80ba55e: d008 beq.n 80ba572 { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_TOC); 80ba560: 6a7b ldr r3, [r7, #36] ; 0x24 80ba562: 015a lsls r2, r3, #5 80ba564: 69fb ldr r3, [r7, #28] 80ba566: 4413 add r3, r2 80ba568: f503 6310 add.w r3, r3, #2304 ; 0x900 80ba56c: 461a mov r2, r3 80ba56e: 2308 movs r3, #8 80ba570: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_ITTXFE) == USB_OTG_DIEPINT_ITTXFE) 80ba572: 693b ldr r3, [r7, #16] 80ba574: f003 0310 and.w r3, r3, #16 80ba578: 2b00 cmp r3, #0 80ba57a: d008 beq.n 80ba58e { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_ITTXFE); 80ba57c: 6a7b ldr r3, [r7, #36] ; 0x24 80ba57e: 015a lsls r2, r3, #5 80ba580: 69fb ldr r3, [r7, #28] 80ba582: 4413 add r3, r2 80ba584: f503 6310 add.w r3, r3, #2304 ; 0x900 80ba588: 461a mov r2, r3 80ba58a: 2310 movs r3, #16 80ba58c: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_INEPNE) == USB_OTG_DIEPINT_INEPNE) 80ba58e: 693b ldr r3, [r7, #16] 80ba590: f003 0340 and.w r3, r3, #64 ; 0x40 80ba594: 2b00 cmp r3, #0 80ba596: d008 beq.n 80ba5aa { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_INEPNE); 80ba598: 6a7b ldr r3, [r7, #36] ; 0x24 80ba59a: 015a lsls r2, r3, #5 80ba59c: 69fb ldr r3, [r7, #28] 80ba59e: 4413 add r3, r2 80ba5a0: f503 6310 add.w r3, r3, #2304 ; 0x900 80ba5a4: 461a mov r2, r3 80ba5a6: 2340 movs r3, #64 ; 0x40 80ba5a8: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_EPDISD) == USB_OTG_DIEPINT_EPDISD) 80ba5aa: 693b ldr r3, [r7, #16] 80ba5ac: f003 0302 and.w r3, r3, #2 80ba5b0: 2b00 cmp r3, #0 80ba5b2: d008 beq.n 80ba5c6 { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_EPDISD); 80ba5b4: 6a7b ldr r3, [r7, #36] ; 0x24 80ba5b6: 015a lsls r2, r3, #5 80ba5b8: 69fb ldr r3, [r7, #28] 80ba5ba: 4413 add r3, r2 80ba5bc: f503 6310 add.w r3, r3, #2304 ; 0x900 80ba5c0: 461a mov r2, r3 80ba5c2: 2302 movs r3, #2 80ba5c4: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_TXFE) == USB_OTG_DIEPINT_TXFE) 80ba5c6: 693b ldr r3, [r7, #16] 80ba5c8: f003 0380 and.w r3, r3, #128 ; 0x80 80ba5cc: 2b00 cmp r3, #0 80ba5ce: d003 beq.n 80ba5d8 { (void)PCD_WriteEmptyTxFifo(hpcd, epnum); 80ba5d0: 6a79 ldr r1, [r7, #36] ; 0x24 80ba5d2: 6878 ldr r0, [r7, #4] 80ba5d4: f000 fc6f bl 80baeb6 } } epnum++; 80ba5d8: 6a7b ldr r3, [r7, #36] ; 0x24 80ba5da: 3301 adds r3, #1 80ba5dc: 627b str r3, [r7, #36] ; 0x24 ep_intr >>= 1U; 80ba5de: 6abb ldr r3, [r7, #40] ; 0x28 80ba5e0: 085b lsrs r3, r3, #1 80ba5e2: 62bb str r3, [r7, #40] ; 0x28 while (ep_intr != 0U) 80ba5e4: 6abb ldr r3, [r7, #40] ; 0x28 80ba5e6: 2b00 cmp r3, #0 80ba5e8: f47f af48 bne.w 80ba47c } } /* Handle Resume Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT)) 80ba5ec: 687b ldr r3, [r7, #4] 80ba5ee: 681b ldr r3, [r3, #0] 80ba5f0: 4618 mov r0, r3 80ba5f2: f009 f8b6 bl 80c3762 80ba5f6: 4603 mov r3, r0 80ba5f8: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80ba5fc: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80ba600: d123 bne.n 80ba64a { /* Clear the Remote Wake-up Signaling */ USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; 80ba602: 69fb ldr r3, [r7, #28] 80ba604: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba608: 461a mov r2, r3 80ba60a: 69fb ldr r3, [r7, #28] 80ba60c: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba610: 685b ldr r3, [r3, #4] 80ba612: f023 0301 bic.w r3, r3, #1 80ba616: 6053 str r3, [r2, #4] if (hpcd->LPM_State == LPM_L1) 80ba618: 687b ldr r3, [r7, #4] 80ba61a: f893 33f4 ldrb.w r3, [r3, #1012] ; 0x3f4 80ba61e: 2b01 cmp r3, #1 80ba620: d108 bne.n 80ba634 { hpcd->LPM_State = LPM_L0; 80ba622: 687b ldr r3, [r7, #4] 80ba624: 2200 movs r2, #0 80ba626: 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); 80ba62a: 2100 movs r1, #0 80ba62c: 6878 ldr r0, [r7, #4] 80ba62e: f013 fc69 bl 80cdf04 80ba632: e002 b.n 80ba63a else { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ResumeCallback(hpcd); #else HAL_PCD_ResumeCallback(hpcd); 80ba634: 6878 ldr r0, [r7, #4] 80ba636: f013 fa4f bl 80cdad8 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT); 80ba63a: 687b ldr r3, [r7, #4] 80ba63c: 681b ldr r3, [r3, #0] 80ba63e: 687a ldr r2, [r7, #4] 80ba640: 6812 ldr r2, [r2, #0] 80ba642: 6952 ldr r2, [r2, #20] 80ba644: f002 4200 and.w r2, r2, #2147483648 ; 0x80000000 80ba648: 615a str r2, [r3, #20] } /* Handle Suspend Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP)) 80ba64a: 687b ldr r3, [r7, #4] 80ba64c: 681b ldr r3, [r3, #0] 80ba64e: 4618 mov r0, r3 80ba650: f009 f887 bl 80c3762 80ba654: 4603 mov r3, r0 80ba656: f403 6300 and.w r3, r3, #2048 ; 0x800 80ba65a: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80ba65e: d112 bne.n 80ba686 { if ((USBx_DEVICE->DSTS & USB_OTG_DSTS_SUSPSTS) == USB_OTG_DSTS_SUSPSTS) 80ba660: 69fb ldr r3, [r7, #28] 80ba662: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba666: 689b ldr r3, [r3, #8] 80ba668: f003 0301 and.w r3, r3, #1 80ba66c: 2b01 cmp r3, #1 80ba66e: d102 bne.n 80ba676 { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SuspendCallback(hpcd); #else HAL_PCD_SuspendCallback(hpcd); 80ba670: 6878 ldr r0, [r7, #4] 80ba672: f013 fa09 bl 80cda88 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP); 80ba676: 687b ldr r3, [r7, #4] 80ba678: 681b ldr r3, [r3, #0] 80ba67a: 687a ldr r2, [r7, #4] 80ba67c: 6812 ldr r2, [r2, #0] 80ba67e: 6952 ldr r2, [r2, #20] 80ba680: f402 6200 and.w r2, r2, #2048 ; 0x800 80ba684: 615a str r2, [r3, #20] } /* Handle LPM Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT)) 80ba686: 687b ldr r3, [r7, #4] 80ba688: 681b ldr r3, [r3, #0] 80ba68a: 4618 mov r0, r3 80ba68c: f009 f869 bl 80c3762 80ba690: 4603 mov r3, r0 80ba692: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80ba696: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 80ba69a: d121 bne.n 80ba6e0 { __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT); 80ba69c: 687b ldr r3, [r7, #4] 80ba69e: 681b ldr r3, [r3, #0] 80ba6a0: 687a ldr r2, [r7, #4] 80ba6a2: 6812 ldr r2, [r2, #0] 80ba6a4: 6952 ldr r2, [r2, #20] 80ba6a6: f002 6200 and.w r2, r2, #134217728 ; 0x8000000 80ba6aa: 615a str r2, [r3, #20] if (hpcd->LPM_State == LPM_L0) 80ba6ac: 687b ldr r3, [r7, #4] 80ba6ae: f893 33f4 ldrb.w r3, [r3, #1012] ; 0x3f4 80ba6b2: 2b00 cmp r3, #0 80ba6b4: d111 bne.n 80ba6da { hpcd->LPM_State = LPM_L1; 80ba6b6: 687b ldr r3, [r7, #4] 80ba6b8: 2201 movs r2, #1 80ba6ba: f883 23f4 strb.w r2, [r3, #1012] ; 0x3f4 hpcd->BESL = (hpcd->Instance->GLPMCFG & USB_OTG_GLPMCFG_BESL) >> 2U; 80ba6be: 687b ldr r3, [r7, #4] 80ba6c0: 681b ldr r3, [r3, #0] 80ba6c2: 6d5b ldr r3, [r3, #84] ; 0x54 80ba6c4: 089b lsrs r3, r3, #2 80ba6c6: f003 020f and.w r2, r3, #15 80ba6ca: 687b ldr r3, [r7, #4] 80ba6cc: 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); 80ba6d0: 2101 movs r1, #1 80ba6d2: 6878 ldr r0, [r7, #4] 80ba6d4: f013 fc16 bl 80cdf04 80ba6d8: e002 b.n 80ba6e0 else { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SuspendCallback(hpcd); #else HAL_PCD_SuspendCallback(hpcd); 80ba6da: 6878 ldr r0, [r7, #4] 80ba6dc: f013 f9d4 bl 80cda88 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } } /* Handle Reset Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBRST)) 80ba6e0: 687b ldr r3, [r7, #4] 80ba6e2: 681b ldr r3, [r3, #0] 80ba6e4: 4618 mov r0, r3 80ba6e6: f009 f83c bl 80c3762 80ba6ea: 4603 mov r3, r0 80ba6ec: f403 5380 and.w r3, r3, #4096 ; 0x1000 80ba6f0: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80ba6f4: f040 80c0 bne.w 80ba878 { USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; 80ba6f8: 69fb ldr r3, [r7, #28] 80ba6fa: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba6fe: 461a mov r2, r3 80ba700: 69fb ldr r3, [r7, #28] 80ba702: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba706: 685b ldr r3, [r3, #4] 80ba708: f023 0301 bic.w r3, r3, #1 80ba70c: 6053 str r3, [r2, #4] (void)USB_FlushTxFifo(hpcd->Instance, 0x10U); 80ba70e: 687b ldr r3, [r7, #4] 80ba710: 681b ldr r3, [r3, #0] 80ba712: 2110 movs r1, #16 80ba714: 4618 mov r0, r3 80ba716: f008 f877 bl 80c2808 for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80ba71a: 2300 movs r3, #0 80ba71c: 62fb str r3, [r7, #44] ; 0x2c 80ba71e: e049 b.n 80ba7b4 { USBx_INEP(i)->DIEPINT = 0xFB7FU; 80ba720: 6afb ldr r3, [r7, #44] ; 0x2c 80ba722: 015a lsls r2, r3, #5 80ba724: 69fb ldr r3, [r7, #28] 80ba726: 4413 add r3, r2 80ba728: f503 6310 add.w r3, r3, #2304 ; 0x900 80ba72c: 461a mov r2, r3 80ba72e: f64f 337f movw r3, #64383 ; 0xfb7f 80ba732: 6093 str r3, [r2, #8] USBx_INEP(i)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 80ba734: 6afb ldr r3, [r7, #44] ; 0x2c 80ba736: 015a lsls r2, r3, #5 80ba738: 69fb ldr r3, [r7, #28] 80ba73a: 4413 add r3, r2 80ba73c: f503 6310 add.w r3, r3, #2304 ; 0x900 80ba740: 4619 mov r1, r3 80ba742: 6afb ldr r3, [r7, #44] ; 0x2c 80ba744: 015a lsls r2, r3, #5 80ba746: 69fb ldr r3, [r7, #28] 80ba748: 4413 add r3, r2 80ba74a: f503 6310 add.w r3, r3, #2304 ; 0x900 80ba74e: 681b ldr r3, [r3, #0] 80ba750: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80ba754: 600b str r3, [r1, #0] USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 80ba756: 6afb ldr r3, [r7, #44] ; 0x2c 80ba758: 015a lsls r2, r3, #5 80ba75a: 69fb ldr r3, [r7, #28] 80ba75c: 4413 add r3, r2 80ba75e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80ba762: 461a mov r2, r3 80ba764: f64f 337f movw r3, #64383 ; 0xfb7f 80ba768: 6093 str r3, [r2, #8] USBx_OUTEP(i)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 80ba76a: 6afb ldr r3, [r7, #44] ; 0x2c 80ba76c: 015a lsls r2, r3, #5 80ba76e: 69fb ldr r3, [r7, #28] 80ba770: 4413 add r3, r2 80ba772: f503 6330 add.w r3, r3, #2816 ; 0xb00 80ba776: 4619 mov r1, r3 80ba778: 6afb ldr r3, [r7, #44] ; 0x2c 80ba77a: 015a lsls r2, r3, #5 80ba77c: 69fb ldr r3, [r7, #28] 80ba77e: 4413 add r3, r2 80ba780: f503 6330 add.w r3, r3, #2816 ; 0xb00 80ba784: 681b ldr r3, [r3, #0] 80ba786: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80ba78a: 600b str r3, [r1, #0] USBx_OUTEP(i)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 80ba78c: 6afb ldr r3, [r7, #44] ; 0x2c 80ba78e: 015a lsls r2, r3, #5 80ba790: 69fb ldr r3, [r7, #28] 80ba792: 4413 add r3, r2 80ba794: f503 6330 add.w r3, r3, #2816 ; 0xb00 80ba798: 4619 mov r1, r3 80ba79a: 6afb ldr r3, [r7, #44] ; 0x2c 80ba79c: 015a lsls r2, r3, #5 80ba79e: 69fb ldr r3, [r7, #28] 80ba7a0: 4413 add r3, r2 80ba7a2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80ba7a6: 681b ldr r3, [r3, #0] 80ba7a8: f043 6300 orr.w r3, r3, #134217728 ; 0x8000000 80ba7ac: 600b str r3, [r1, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80ba7ae: 6afb ldr r3, [r7, #44] ; 0x2c 80ba7b0: 3301 adds r3, #1 80ba7b2: 62fb str r3, [r7, #44] ; 0x2c 80ba7b4: 687b ldr r3, [r7, #4] 80ba7b6: 685a ldr r2, [r3, #4] 80ba7b8: 6afb ldr r3, [r7, #44] ; 0x2c 80ba7ba: 429a cmp r2, r3 80ba7bc: d8b0 bhi.n 80ba720 } USBx_DEVICE->DAINTMSK |= 0x10001U; 80ba7be: 69fb ldr r3, [r7, #28] 80ba7c0: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba7c4: 461a mov r2, r3 80ba7c6: 69fb ldr r3, [r7, #28] 80ba7c8: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba7cc: 69db ldr r3, [r3, #28] 80ba7ce: f043 1301 orr.w r3, r3, #65537 ; 0x10001 80ba7d2: 61d3 str r3, [r2, #28] if (hpcd->Init.use_dedicated_ep1 != 0U) 80ba7d4: 687b ldr r3, [r7, #4] 80ba7d6: 6b1b ldr r3, [r3, #48] ; 0x30 80ba7d8: 2b00 cmp r3, #0 80ba7da: d018 beq.n 80ba80e { USBx_DEVICE->DOUTEP1MSK |= USB_OTG_DOEPMSK_STUPM | 80ba7dc: 69fb ldr r3, [r7, #28] 80ba7de: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba7e2: 461a mov r2, r3 80ba7e4: 69fb ldr r3, [r7, #28] 80ba7e6: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba7ea: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80ba7ee: f043 030b orr.w r3, r3, #11 80ba7f2: f8c2 3084 str.w r3, [r2, #132] ; 0x84 USB_OTG_DOEPMSK_XFRCM | USB_OTG_DOEPMSK_EPDM; USBx_DEVICE->DINEP1MSK |= USB_OTG_DIEPMSK_TOM | 80ba7f6: 69fb ldr r3, [r7, #28] 80ba7f8: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba7fc: 461a mov r2, r3 80ba7fe: 69fb ldr r3, [r7, #28] 80ba800: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba804: 6c5b ldr r3, [r3, #68] ; 0x44 80ba806: f043 030b orr.w r3, r3, #11 80ba80a: 6453 str r3, [r2, #68] ; 0x44 80ba80c: e016 b.n 80ba83c USB_OTG_DIEPMSK_XFRCM | USB_OTG_DIEPMSK_EPDM; } else { USBx_DEVICE->DOEPMSK |= USB_OTG_DOEPMSK_STUPM | 80ba80e: 69fb ldr r3, [r7, #28] 80ba810: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba814: 4619 mov r1, r3 80ba816: 69fb ldr r3, [r7, #28] 80ba818: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba81c: 695a ldr r2, [r3, #20] 80ba81e: f242 032b movw r3, #8235 ; 0x202b 80ba822: 4313 orrs r3, r2 80ba824: 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 | 80ba826: 69fb ldr r3, [r7, #28] 80ba828: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba82c: 461a mov r2, r3 80ba82e: 69fb ldr r3, [r7, #28] 80ba830: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba834: 691b ldr r3, [r3, #16] 80ba836: f043 030b orr.w r3, r3, #11 80ba83a: 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; 80ba83c: 69fb ldr r3, [r7, #28] 80ba83e: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba842: 461a mov r2, r3 80ba844: 69fb ldr r3, [r7, #28] 80ba846: f503 6300 add.w r3, r3, #2048 ; 0x800 80ba84a: 681b ldr r3, [r3, #0] 80ba84c: f423 63fe bic.w r3, r3, #2032 ; 0x7f0 80ba850: 6013 str r3, [r2, #0] /* setup EP0 to receive SETUP packets */ (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, 80ba852: 687b ldr r3, [r7, #4] 80ba854: 6818 ldr r0, [r3, #0] 80ba856: 687b ldr r3, [r7, #4] 80ba858: 691b ldr r3, [r3, #16] 80ba85a: b2d9 uxtb r1, r3 (uint8_t *)hpcd->Setup); 80ba85c: 687b ldr r3, [r7, #4] 80ba85e: f503 7371 add.w r3, r3, #964 ; 0x3c4 (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, 80ba862: 461a mov r2, r3 80ba864: f009 f844 bl 80c38f0 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBRST); 80ba868: 687b ldr r3, [r7, #4] 80ba86a: 681b ldr r3, [r3, #0] 80ba86c: 687a ldr r2, [r7, #4] 80ba86e: 6812 ldr r2, [r2, #0] 80ba870: 6952 ldr r2, [r2, #20] 80ba872: f402 5280 and.w r2, r2, #4096 ; 0x1000 80ba876: 615a str r2, [r3, #20] } /* Handle Enumeration done Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE)) 80ba878: 687b ldr r3, [r7, #4] 80ba87a: 681b ldr r3, [r3, #0] 80ba87c: 4618 mov r0, r3 80ba87e: f008 ff70 bl 80c3762 80ba882: 4603 mov r3, r0 80ba884: f403 5300 and.w r3, r3, #8192 ; 0x2000 80ba888: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80ba88c: d124 bne.n 80ba8d8 { (void)USB_ActivateSetup(hpcd->Instance); 80ba88e: 687b ldr r3, [r7, #4] 80ba890: 681b ldr r3, [r3, #0] 80ba892: 4618 mov r0, r3 80ba894: f009 f806 bl 80c38a4 hpcd->Init.speed = USB_GetDevSpeed(hpcd->Instance); 80ba898: 687b ldr r3, [r7, #4] 80ba89a: 681b ldr r3, [r3, #0] 80ba89c: 4618 mov r0, r3 80ba89e: f008 f82d bl 80c28fc 80ba8a2: 4603 mov r3, r0 80ba8a4: 461a mov r2, r3 80ba8a6: 687b ldr r3, [r7, #4] 80ba8a8: 60da str r2, [r3, #12] /* Set USB Turnaround time */ (void)USB_SetTurnaroundTime(hpcd->Instance, 80ba8aa: 687b ldr r3, [r7, #4] 80ba8ac: 681c ldr r4, [r3, #0] 80ba8ae: f001 fa0f bl 80bbcd0 80ba8b2: 4601 mov r1, r0 HAL_RCC_GetHCLKFreq(), (uint8_t)hpcd->Init.speed); 80ba8b4: 687b ldr r3, [r7, #4] 80ba8b6: 68db ldr r3, [r3, #12] (void)USB_SetTurnaroundTime(hpcd->Instance, 80ba8b8: b2db uxtb r3, r3 80ba8ba: 461a mov r2, r3 80ba8bc: 4620 mov r0, r4 80ba8be: f007 fd33 bl 80c2328 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ResetCallback(hpcd); #else HAL_PCD_ResetCallback(hpcd); 80ba8c2: 6878 ldr r0, [r7, #4] 80ba8c4: f013 f8b7 bl 80cda36 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE); 80ba8c8: 687b ldr r3, [r7, #4] 80ba8ca: 681b ldr r3, [r3, #0] 80ba8cc: 687a ldr r2, [r7, #4] 80ba8ce: 6812 ldr r2, [r2, #0] 80ba8d0: 6952 ldr r2, [r2, #20] 80ba8d2: f402 5200 and.w r2, r2, #8192 ; 0x2000 80ba8d6: 615a str r2, [r3, #20] } /* Handle SOF Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SOF)) 80ba8d8: 687b ldr r3, [r7, #4] 80ba8da: 681b ldr r3, [r3, #0] 80ba8dc: 4618 mov r0, r3 80ba8de: f008 ff40 bl 80c3762 80ba8e2: 4603 mov r3, r0 80ba8e4: f003 0308 and.w r3, r3, #8 80ba8e8: 2b08 cmp r3, #8 80ba8ea: d10a bne.n 80ba902 { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SOFCallback(hpcd); #else HAL_PCD_SOFCallback(hpcd); 80ba8ec: 6878 ldr r0, [r7, #4] 80ba8ee: f013 f894 bl 80cda1a #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SOF); 80ba8f2: 687b ldr r3, [r7, #4] 80ba8f4: 681b ldr r3, [r3, #0] 80ba8f6: 687a ldr r2, [r7, #4] 80ba8f8: 6812 ldr r2, [r2, #0] 80ba8fa: 6952 ldr r2, [r2, #20] 80ba8fc: f002 0208 and.w r2, r2, #8 80ba900: 615a str r2, [r3, #20] } /* Handle Incomplete ISO IN Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR)) 80ba902: 687b ldr r3, [r7, #4] 80ba904: 681b ldr r3, [r3, #0] 80ba906: 4618 mov r0, r3 80ba908: f008 ff2b bl 80c3762 80ba90c: 4603 mov r3, r0 80ba90e: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80ba912: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80ba916: d10f bne.n 80ba938 { /* Keep application checking the corresponding Iso IN endpoint causing the incomplete Interrupt */ epnum = 0U; 80ba918: 2300 movs r3, #0 80ba91a: 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); 80ba91c: 6a7b ldr r3, [r7, #36] ; 0x24 80ba91e: b2db uxtb r3, r3 80ba920: 4619 mov r1, r3 80ba922: 6878 ldr r0, [r7, #4] 80ba924: f013 f8f8 bl 80cdb18 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR); 80ba928: 687b ldr r3, [r7, #4] 80ba92a: 681b ldr r3, [r3, #0] 80ba92c: 687a ldr r2, [r7, #4] 80ba92e: 6812 ldr r2, [r2, #0] 80ba930: 6952 ldr r2, [r2, #20] 80ba932: f402 1280 and.w r2, r2, #1048576 ; 0x100000 80ba936: 615a str r2, [r3, #20] } /* Handle Incomplete ISO OUT Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT)) 80ba938: 687b ldr r3, [r7, #4] 80ba93a: 681b ldr r3, [r3, #0] 80ba93c: 4618 mov r0, r3 80ba93e: f008 ff10 bl 80c3762 80ba942: 4603 mov r3, r0 80ba944: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80ba948: f5b3 1f00 cmp.w r3, #2097152 ; 0x200000 80ba94c: d10f bne.n 80ba96e { /* Keep application checking the corresponding Iso OUT endpoint causing the incomplete Interrupt */ epnum = 0U; 80ba94e: 2300 movs r3, #0 80ba950: 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); 80ba952: 6a7b ldr r3, [r7, #36] ; 0x24 80ba954: b2db uxtb r3, r3 80ba956: 4619 mov r1, r3 80ba958: 6878 ldr r0, [r7, #4] 80ba95a: f013 f8cb bl 80cdaf4 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT); 80ba95e: 687b ldr r3, [r7, #4] 80ba960: 681b ldr r3, [r3, #0] 80ba962: 687a ldr r2, [r7, #4] 80ba964: 6812 ldr r2, [r2, #0] 80ba966: 6952 ldr r2, [r2, #20] 80ba968: f402 1200 and.w r2, r2, #2097152 ; 0x200000 80ba96c: 615a str r2, [r3, #20] } /* Handle Connection event Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT)) 80ba96e: 687b ldr r3, [r7, #4] 80ba970: 681b ldr r3, [r3, #0] 80ba972: 4618 mov r0, r3 80ba974: f008 fef5 bl 80c3762 80ba978: 4603 mov r3, r0 80ba97a: f003 4380 and.w r3, r3, #1073741824 ; 0x40000000 80ba97e: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80ba982: d10a bne.n 80ba99a { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ConnectCallback(hpcd); #else HAL_PCD_ConnectCallback(hpcd); 80ba984: 6878 ldr r0, [r7, #4] 80ba986: f013 f8d9 bl 80cdb3c #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT); 80ba98a: 687b ldr r3, [r7, #4] 80ba98c: 681b ldr r3, [r3, #0] 80ba98e: 687a ldr r2, [r7, #4] 80ba990: 6812 ldr r2, [r2, #0] 80ba992: 6952 ldr r2, [r2, #20] 80ba994: f002 4280 and.w r2, r2, #1073741824 ; 0x40000000 80ba998: 615a str r2, [r3, #20] } /* Handle Disconnection event Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OTGINT)) 80ba99a: 687b ldr r3, [r7, #4] 80ba99c: 681b ldr r3, [r3, #0] 80ba99e: 4618 mov r0, r3 80ba9a0: f008 fedf bl 80c3762 80ba9a4: 4603 mov r3, r0 80ba9a6: f003 0304 and.w r3, r3, #4 80ba9aa: 2b04 cmp r3, #4 80ba9ac: d115 bne.n 80ba9da { temp = hpcd->Instance->GOTGINT; 80ba9ae: 687b ldr r3, [r7, #4] 80ba9b0: 681b ldr r3, [r3, #0] 80ba9b2: 685b ldr r3, [r3, #4] 80ba9b4: 61bb str r3, [r7, #24] if ((temp & USB_OTG_GOTGINT_SEDET) == USB_OTG_GOTGINT_SEDET) 80ba9b6: 69bb ldr r3, [r7, #24] 80ba9b8: f003 0304 and.w r3, r3, #4 80ba9bc: 2b00 cmp r3, #0 80ba9be: d002 beq.n 80ba9c6 { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DisconnectCallback(hpcd); #else HAL_PCD_DisconnectCallback(hpcd); 80ba9c0: 6878 ldr r0, [r7, #4] 80ba9c2: f013 f8d5 bl 80cdb70 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } hpcd->Instance->GOTGINT |= temp; 80ba9c6: 687b ldr r3, [r7, #4] 80ba9c8: 681b ldr r3, [r3, #0] 80ba9ca: 687a ldr r2, [r7, #4] 80ba9cc: 6812 ldr r2, [r2, #0] 80ba9ce: 6851 ldr r1, [r2, #4] 80ba9d0: 69ba ldr r2, [r7, #24] 80ba9d2: 430a orrs r2, r1 80ba9d4: 605a str r2, [r3, #4] 80ba9d6: e000 b.n 80ba9da return; 80ba9d8: bf00 nop } } } 80ba9da: 3734 adds r7, #52 ; 0x34 80ba9dc: 46bd mov sp, r7 80ba9de: bd90 pop {r4, r7, pc} 080ba9e0 : * @param hpcd PCD handle * @param address new device address * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address) { 80ba9e0: b580 push {r7, lr} 80ba9e2: b082 sub sp, #8 80ba9e4: af00 add r7, sp, #0 80ba9e6: 6078 str r0, [r7, #4] 80ba9e8: 460b mov r3, r1 80ba9ea: 70fb strb r3, [r7, #3] __HAL_LOCK(hpcd); 80ba9ec: 687b ldr r3, [r7, #4] 80ba9ee: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80ba9f2: 2b01 cmp r3, #1 80ba9f4: d101 bne.n 80ba9fa 80ba9f6: 2302 movs r3, #2 80ba9f8: e013 b.n 80baa22 80ba9fa: 687b ldr r3, [r7, #4] 80ba9fc: 2201 movs r2, #1 80ba9fe: f883 23bc strb.w r2, [r3, #956] ; 0x3bc hpcd->USB_Address = address; 80baa02: 687b ldr r3, [r7, #4] 80baa04: 78fa ldrb r2, [r7, #3] 80baa06: f883 2038 strb.w r2, [r3, #56] ; 0x38 (void)USB_SetDevAddress(hpcd->Instance, address); 80baa0a: 687b ldr r3, [r7, #4] 80baa0c: 681b ldr r3, [r3, #0] 80baa0e: 78fa ldrb r2, [r7, #3] 80baa10: 4611 mov r1, r2 80baa12: 4618 mov r0, r3 80baa14: f008 fe37 bl 80c3686 __HAL_UNLOCK(hpcd); 80baa18: 687b ldr r3, [r7, #4] 80baa1a: 2200 movs r2, #0 80baa1c: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80baa20: 2300 movs r3, #0 } 80baa22: 4618 mov r0, r3 80baa24: 3708 adds r7, #8 80baa26: 46bd mov sp, r7 80baa28: bd80 pop {r7, pc} 080baa2a : * @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) { 80baa2a: b580 push {r7, lr} 80baa2c: b084 sub sp, #16 80baa2e: af00 add r7, sp, #0 80baa30: 6078 str r0, [r7, #4] 80baa32: 4608 mov r0, r1 80baa34: 4611 mov r1, r2 80baa36: 461a mov r2, r3 80baa38: 4603 mov r3, r0 80baa3a: 70fb strb r3, [r7, #3] 80baa3c: 460b mov r3, r1 80baa3e: 803b strh r3, [r7, #0] 80baa40: 4613 mov r3, r2 80baa42: 70bb strb r3, [r7, #2] HAL_StatusTypeDef ret = HAL_OK; 80baa44: 2300 movs r3, #0 80baa46: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; if ((ep_addr & 0x80U) == 0x80U) 80baa48: f997 3003 ldrsb.w r3, [r7, #3] 80baa4c: 2b00 cmp r3, #0 80baa4e: da0f bge.n 80baa70 { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80baa50: 78fb ldrb r3, [r7, #3] 80baa52: f003 020f and.w r2, r3, #15 80baa56: 4613 mov r3, r2 80baa58: 00db lsls r3, r3, #3 80baa5a: 1a9b subs r3, r3, r2 80baa5c: 009b lsls r3, r3, #2 80baa5e: 3338 adds r3, #56 ; 0x38 80baa60: 687a ldr r2, [r7, #4] 80baa62: 4413 add r3, r2 80baa64: 3304 adds r3, #4 80baa66: 60fb str r3, [r7, #12] ep->is_in = 1U; 80baa68: 68fb ldr r3, [r7, #12] 80baa6a: 2201 movs r2, #1 80baa6c: 705a strb r2, [r3, #1] 80baa6e: e00f b.n 80baa90 } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80baa70: 78fb ldrb r3, [r7, #3] 80baa72: f003 020f and.w r2, r3, #15 80baa76: 4613 mov r3, r2 80baa78: 00db lsls r3, r3, #3 80baa7a: 1a9b subs r3, r3, r2 80baa7c: 009b lsls r3, r3, #2 80baa7e: f503 73fc add.w r3, r3, #504 ; 0x1f8 80baa82: 687a ldr r2, [r7, #4] 80baa84: 4413 add r3, r2 80baa86: 3304 adds r3, #4 80baa88: 60fb str r3, [r7, #12] ep->is_in = 0U; 80baa8a: 68fb ldr r3, [r7, #12] 80baa8c: 2200 movs r2, #0 80baa8e: 705a strb r2, [r3, #1] } ep->num = ep_addr & EP_ADDR_MSK; 80baa90: 78fb ldrb r3, [r7, #3] 80baa92: f003 030f and.w r3, r3, #15 80baa96: b2da uxtb r2, r3 80baa98: 68fb ldr r3, [r7, #12] 80baa9a: 701a strb r2, [r3, #0] ep->maxpacket = ep_mps; 80baa9c: 883a ldrh r2, [r7, #0] 80baa9e: 68fb ldr r3, [r7, #12] 80baaa0: 609a str r2, [r3, #8] ep->type = ep_type; 80baaa2: 68fb ldr r3, [r7, #12] 80baaa4: 78ba ldrb r2, [r7, #2] 80baaa6: 70da strb r2, [r3, #3] if (ep->is_in != 0U) 80baaa8: 68fb ldr r3, [r7, #12] 80baaaa: 785b ldrb r3, [r3, #1] 80baaac: 2b00 cmp r3, #0 80baaae: d004 beq.n 80baaba { /* Assign a Tx FIFO */ ep->tx_fifo_num = ep->num; 80baab0: 68fb ldr r3, [r7, #12] 80baab2: 781b ldrb r3, [r3, #0] 80baab4: b29a uxth r2, r3 80baab6: 68fb ldr r3, [r7, #12] 80baab8: 80da strh r2, [r3, #6] } /* Set initial data PID. */ if (ep_type == EP_TYPE_BULK) 80baaba: 78bb ldrb r3, [r7, #2] 80baabc: 2b02 cmp r3, #2 80baabe: d102 bne.n 80baac6 { ep->data_pid_start = 0U; 80baac0: 68fb ldr r3, [r7, #12] 80baac2: 2200 movs r2, #0 80baac4: 711a strb r2, [r3, #4] } __HAL_LOCK(hpcd); 80baac6: 687b ldr r3, [r7, #4] 80baac8: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80baacc: 2b01 cmp r3, #1 80baace: d101 bne.n 80baad4 80baad0: 2302 movs r3, #2 80baad2: e00e b.n 80baaf2 80baad4: 687b ldr r3, [r7, #4] 80baad6: 2201 movs r2, #1 80baad8: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_ActivateEndpoint(hpcd->Instance, ep); 80baadc: 687b ldr r3, [r7, #4] 80baade: 681b ldr r3, [r3, #0] 80baae0: 68f9 ldr r1, [r7, #12] 80baae2: 4618 mov r0, r3 80baae4: f007 ff30 bl 80c2948 __HAL_UNLOCK(hpcd); 80baae8: 687b ldr r3, [r7, #4] 80baaea: 2200 movs r2, #0 80baaec: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return ret; 80baaf0: 7afb ldrb r3, [r7, #11] } 80baaf2: 4618 mov r0, r3 80baaf4: 3710 adds r7, #16 80baaf6: 46bd mov sp, r7 80baaf8: bd80 pop {r7, pc} 080baafa : * @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) { 80baafa: b580 push {r7, lr} 80baafc: b084 sub sp, #16 80baafe: af00 add r7, sp, #0 80bab00: 6078 str r0, [r7, #4] 80bab02: 460b mov r3, r1 80bab04: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if ((ep_addr & 0x80U) == 0x80U) 80bab06: f997 3003 ldrsb.w r3, [r7, #3] 80bab0a: 2b00 cmp r3, #0 80bab0c: da0f bge.n 80bab2e { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80bab0e: 78fb ldrb r3, [r7, #3] 80bab10: f003 020f and.w r2, r3, #15 80bab14: 4613 mov r3, r2 80bab16: 00db lsls r3, r3, #3 80bab18: 1a9b subs r3, r3, r2 80bab1a: 009b lsls r3, r3, #2 80bab1c: 3338 adds r3, #56 ; 0x38 80bab1e: 687a ldr r2, [r7, #4] 80bab20: 4413 add r3, r2 80bab22: 3304 adds r3, #4 80bab24: 60fb str r3, [r7, #12] ep->is_in = 1U; 80bab26: 68fb ldr r3, [r7, #12] 80bab28: 2201 movs r2, #1 80bab2a: 705a strb r2, [r3, #1] 80bab2c: e00f b.n 80bab4e } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80bab2e: 78fb ldrb r3, [r7, #3] 80bab30: f003 020f and.w r2, r3, #15 80bab34: 4613 mov r3, r2 80bab36: 00db lsls r3, r3, #3 80bab38: 1a9b subs r3, r3, r2 80bab3a: 009b lsls r3, r3, #2 80bab3c: f503 73fc add.w r3, r3, #504 ; 0x1f8 80bab40: 687a ldr r2, [r7, #4] 80bab42: 4413 add r3, r2 80bab44: 3304 adds r3, #4 80bab46: 60fb str r3, [r7, #12] ep->is_in = 0U; 80bab48: 68fb ldr r3, [r7, #12] 80bab4a: 2200 movs r2, #0 80bab4c: 705a strb r2, [r3, #1] } ep->num = ep_addr & EP_ADDR_MSK; 80bab4e: 78fb ldrb r3, [r7, #3] 80bab50: f003 030f and.w r3, r3, #15 80bab54: b2da uxtb r2, r3 80bab56: 68fb ldr r3, [r7, #12] 80bab58: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); 80bab5a: 687b ldr r3, [r7, #4] 80bab5c: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80bab60: 2b01 cmp r3, #1 80bab62: d101 bne.n 80bab68 80bab64: 2302 movs r3, #2 80bab66: e00e b.n 80bab86 80bab68: 687b ldr r3, [r7, #4] 80bab6a: 2201 movs r2, #1 80bab6c: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 80bab70: 687b ldr r3, [r7, #4] 80bab72: 681b ldr r3, [r3, #0] 80bab74: 68f9 ldr r1, [r7, #12] 80bab76: 4618 mov r0, r3 80bab78: f007 ff70 bl 80c2a5c __HAL_UNLOCK(hpcd); 80bab7c: 687b ldr r3, [r7, #4] 80bab7e: 2200 movs r2, #0 80bab80: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80bab84: 2300 movs r3, #0 } 80bab86: 4618 mov r0, r3 80bab88: 3710 adds r7, #16 80bab8a: 46bd mov sp, r7 80bab8c: bd80 pop {r7, pc} 080bab8e : * @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) { 80bab8e: b580 push {r7, lr} 80bab90: b086 sub sp, #24 80bab92: af00 add r7, sp, #0 80bab94: 60f8 str r0, [r7, #12] 80bab96: 607a str r2, [r7, #4] 80bab98: 603b str r3, [r7, #0] 80bab9a: 460b mov r3, r1 80bab9c: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80bab9e: 7afb ldrb r3, [r7, #11] 80baba0: f003 020f and.w r2, r3, #15 80baba4: 4613 mov r3, r2 80baba6: 00db lsls r3, r3, #3 80baba8: 1a9b subs r3, r3, r2 80babaa: 009b lsls r3, r3, #2 80babac: f503 73fc add.w r3, r3, #504 ; 0x1f8 80babb0: 68fa ldr r2, [r7, #12] 80babb2: 4413 add r3, r2 80babb4: 3304 adds r3, #4 80babb6: 617b str r3, [r7, #20] /*setup and start the Xfer */ ep->xfer_buff = pBuf; 80babb8: 697b ldr r3, [r7, #20] 80babba: 687a ldr r2, [r7, #4] 80babbc: 60da str r2, [r3, #12] ep->xfer_len = len; 80babbe: 697b ldr r3, [r7, #20] 80babc0: 683a ldr r2, [r7, #0] 80babc2: 615a str r2, [r3, #20] ep->xfer_count = 0U; 80babc4: 697b ldr r3, [r7, #20] 80babc6: 2200 movs r2, #0 80babc8: 619a str r2, [r3, #24] ep->is_in = 0U; 80babca: 697b ldr r3, [r7, #20] 80babcc: 2200 movs r2, #0 80babce: 705a strb r2, [r3, #1] ep->num = ep_addr & EP_ADDR_MSK; 80babd0: 7afb ldrb r3, [r7, #11] 80babd2: f003 030f and.w r3, r3, #15 80babd6: b2da uxtb r2, r3 80babd8: 697b ldr r3, [r7, #20] 80babda: 701a strb r2, [r3, #0] if (hpcd->Init.dma_enable == 1U) 80babdc: 68fb ldr r3, [r7, #12] 80babde: 691b ldr r3, [r3, #16] 80babe0: 2b01 cmp r3, #1 80babe2: d102 bne.n 80babea { ep->dma_addr = (uint32_t)pBuf; 80babe4: 687a ldr r2, [r7, #4] 80babe6: 697b ldr r3, [r7, #20] 80babe8: 611a str r2, [r3, #16] } if ((ep_addr & EP_ADDR_MSK) == 0U) 80babea: 7afb ldrb r3, [r7, #11] 80babec: f003 030f and.w r3, r3, #15 80babf0: 2b00 cmp r3, #0 80babf2: d109 bne.n 80bac08 { (void)USB_EP0StartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80babf4: 68fb ldr r3, [r7, #12] 80babf6: 6818 ldr r0, [r3, #0] 80babf8: 68fb ldr r3, [r7, #12] 80babfa: 691b ldr r3, [r3, #16] 80babfc: b2db uxtb r3, r3 80babfe: 461a mov r2, r3 80bac00: 6979 ldr r1, [r7, #20] 80bac02: f008 fa6d bl 80c30e0 80bac06: e008 b.n 80bac1a } else { (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80bac08: 68fb ldr r3, [r7, #12] 80bac0a: 6818 ldr r0, [r3, #0] 80bac0c: 68fb ldr r3, [r7, #12] 80bac0e: 691b ldr r3, [r3, #16] 80bac10: b2db uxtb r3, r3 80bac12: 461a mov r2, r3 80bac14: 6979 ldr r1, [r7, #20] 80bac16: f008 f805 bl 80c2c24 } return HAL_OK; 80bac1a: 2300 movs r3, #0 } 80bac1c: 4618 mov r0, r3 80bac1e: 3718 adds r7, #24 80bac20: 46bd mov sp, r7 80bac22: bd80 pop {r7, pc} 080bac24 : * @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) { 80bac24: b480 push {r7} 80bac26: b083 sub sp, #12 80bac28: af00 add r7, sp, #0 80bac2a: 6078 str r0, [r7, #4] 80bac2c: 460b mov r3, r1 80bac2e: 70fb strb r3, [r7, #3] return hpcd->OUT_ep[ep_addr & EP_ADDR_MSK].xfer_count; 80bac30: 78fb ldrb r3, [r7, #3] 80bac32: f003 020f and.w r2, r3, #15 80bac36: 6879 ldr r1, [r7, #4] 80bac38: 4613 mov r3, r2 80bac3a: 00db lsls r3, r3, #3 80bac3c: 1a9b subs r3, r3, r2 80bac3e: 009b lsls r3, r3, #2 80bac40: 440b add r3, r1 80bac42: f503 7305 add.w r3, r3, #532 ; 0x214 80bac46: 681b ldr r3, [r3, #0] } 80bac48: 4618 mov r0, r3 80bac4a: 370c adds r7, #12 80bac4c: 46bd mov sp, r7 80bac4e: f85d 7b04 ldr.w r7, [sp], #4 80bac52: 4770 bx lr 080bac54 : * @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) { 80bac54: b580 push {r7, lr} 80bac56: b086 sub sp, #24 80bac58: af00 add r7, sp, #0 80bac5a: 60f8 str r0, [r7, #12] 80bac5c: 607a str r2, [r7, #4] 80bac5e: 603b str r3, [r7, #0] 80bac60: 460b mov r3, r1 80bac62: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80bac64: 7afb ldrb r3, [r7, #11] 80bac66: f003 020f and.w r2, r3, #15 80bac6a: 4613 mov r3, r2 80bac6c: 00db lsls r3, r3, #3 80bac6e: 1a9b subs r3, r3, r2 80bac70: 009b lsls r3, r3, #2 80bac72: 3338 adds r3, #56 ; 0x38 80bac74: 68fa ldr r2, [r7, #12] 80bac76: 4413 add r3, r2 80bac78: 3304 adds r3, #4 80bac7a: 617b str r3, [r7, #20] /*setup and start the Xfer */ ep->xfer_buff = pBuf; 80bac7c: 697b ldr r3, [r7, #20] 80bac7e: 687a ldr r2, [r7, #4] 80bac80: 60da str r2, [r3, #12] ep->xfer_len = len; 80bac82: 697b ldr r3, [r7, #20] 80bac84: 683a ldr r2, [r7, #0] 80bac86: 615a str r2, [r3, #20] ep->xfer_count = 0U; 80bac88: 697b ldr r3, [r7, #20] 80bac8a: 2200 movs r2, #0 80bac8c: 619a str r2, [r3, #24] ep->is_in = 1U; 80bac8e: 697b ldr r3, [r7, #20] 80bac90: 2201 movs r2, #1 80bac92: 705a strb r2, [r3, #1] ep->num = ep_addr & EP_ADDR_MSK; 80bac94: 7afb ldrb r3, [r7, #11] 80bac96: f003 030f and.w r3, r3, #15 80bac9a: b2da uxtb r2, r3 80bac9c: 697b ldr r3, [r7, #20] 80bac9e: 701a strb r2, [r3, #0] if (hpcd->Init.dma_enable == 1U) 80baca0: 68fb ldr r3, [r7, #12] 80baca2: 691b ldr r3, [r3, #16] 80baca4: 2b01 cmp r3, #1 80baca6: d102 bne.n 80bacae { ep->dma_addr = (uint32_t)pBuf; 80baca8: 687a ldr r2, [r7, #4] 80bacaa: 697b ldr r3, [r7, #20] 80bacac: 611a str r2, [r3, #16] } if ((ep_addr & EP_ADDR_MSK) == 0U) 80bacae: 7afb ldrb r3, [r7, #11] 80bacb0: f003 030f and.w r3, r3, #15 80bacb4: 2b00 cmp r3, #0 80bacb6: d109 bne.n 80baccc { (void)USB_EP0StartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80bacb8: 68fb ldr r3, [r7, #12] 80bacba: 6818 ldr r0, [r3, #0] 80bacbc: 68fb ldr r3, [r7, #12] 80bacbe: 691b ldr r3, [r3, #16] 80bacc0: b2db uxtb r3, r3 80bacc2: 461a mov r2, r3 80bacc4: 6979 ldr r1, [r7, #20] 80bacc6: f008 fa0b bl 80c30e0 80bacca: e008 b.n 80bacde } else { (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80baccc: 68fb ldr r3, [r7, #12] 80bacce: 6818 ldr r0, [r3, #0] 80bacd0: 68fb ldr r3, [r7, #12] 80bacd2: 691b ldr r3, [r3, #16] 80bacd4: b2db uxtb r3, r3 80bacd6: 461a mov r2, r3 80bacd8: 6979 ldr r1, [r7, #20] 80bacda: f007 ffa3 bl 80c2c24 } return HAL_OK; 80bacde: 2300 movs r3, #0 } 80bace0: 4618 mov r0, r3 80bace2: 3718 adds r7, #24 80bace4: 46bd mov sp, r7 80bace6: bd80 pop {r7, pc} 080bace8 : * @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) { 80bace8: b580 push {r7, lr} 80bacea: b084 sub sp, #16 80bacec: af00 add r7, sp, #0 80bacee: 6078 str r0, [r7, #4] 80bacf0: 460b mov r3, r1 80bacf2: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if (((uint32_t)ep_addr & EP_ADDR_MSK) > hpcd->Init.dev_endpoints) 80bacf4: 78fb ldrb r3, [r7, #3] 80bacf6: f003 020f and.w r2, r3, #15 80bacfa: 687b ldr r3, [r7, #4] 80bacfc: 685b ldr r3, [r3, #4] 80bacfe: 429a cmp r2, r3 80bad00: d901 bls.n 80bad06 { return HAL_ERROR; 80bad02: 2301 movs r3, #1 80bad04: e050 b.n 80bada8 } if ((0x80U & ep_addr) == 0x80U) 80bad06: f997 3003 ldrsb.w r3, [r7, #3] 80bad0a: 2b00 cmp r3, #0 80bad0c: da0f bge.n 80bad2e { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80bad0e: 78fb ldrb r3, [r7, #3] 80bad10: f003 020f and.w r2, r3, #15 80bad14: 4613 mov r3, r2 80bad16: 00db lsls r3, r3, #3 80bad18: 1a9b subs r3, r3, r2 80bad1a: 009b lsls r3, r3, #2 80bad1c: 3338 adds r3, #56 ; 0x38 80bad1e: 687a ldr r2, [r7, #4] 80bad20: 4413 add r3, r2 80bad22: 3304 adds r3, #4 80bad24: 60fb str r3, [r7, #12] ep->is_in = 1U; 80bad26: 68fb ldr r3, [r7, #12] 80bad28: 2201 movs r2, #1 80bad2a: 705a strb r2, [r3, #1] 80bad2c: e00d b.n 80bad4a } else { ep = &hpcd->OUT_ep[ep_addr]; 80bad2e: 78fa ldrb r2, [r7, #3] 80bad30: 4613 mov r3, r2 80bad32: 00db lsls r3, r3, #3 80bad34: 1a9b subs r3, r3, r2 80bad36: 009b lsls r3, r3, #2 80bad38: f503 73fc add.w r3, r3, #504 ; 0x1f8 80bad3c: 687a ldr r2, [r7, #4] 80bad3e: 4413 add r3, r2 80bad40: 3304 adds r3, #4 80bad42: 60fb str r3, [r7, #12] ep->is_in = 0U; 80bad44: 68fb ldr r3, [r7, #12] 80bad46: 2200 movs r2, #0 80bad48: 705a strb r2, [r3, #1] } ep->is_stall = 1U; 80bad4a: 68fb ldr r3, [r7, #12] 80bad4c: 2201 movs r2, #1 80bad4e: 709a strb r2, [r3, #2] ep->num = ep_addr & EP_ADDR_MSK; 80bad50: 78fb ldrb r3, [r7, #3] 80bad52: f003 030f and.w r3, r3, #15 80bad56: b2da uxtb r2, r3 80bad58: 68fb ldr r3, [r7, #12] 80bad5a: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); 80bad5c: 687b ldr r3, [r7, #4] 80bad5e: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80bad62: 2b01 cmp r3, #1 80bad64: d101 bne.n 80bad6a 80bad66: 2302 movs r3, #2 80bad68: e01e b.n 80bada8 80bad6a: 687b ldr r3, [r7, #4] 80bad6c: 2201 movs r2, #1 80bad6e: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_EPSetStall(hpcd->Instance, ep); 80bad72: 687b ldr r3, [r7, #4] 80bad74: 681b ldr r3, [r3, #0] 80bad76: 68f9 ldr r1, [r7, #12] 80bad78: 4618 mov r0, r3 80bad7a: f008 fba8 bl 80c34ce if ((ep_addr & EP_ADDR_MSK) == 0U) 80bad7e: 78fb ldrb r3, [r7, #3] 80bad80: f003 030f and.w r3, r3, #15 80bad84: 2b00 cmp r3, #0 80bad86: d10a bne.n 80bad9e { (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, (uint8_t *)hpcd->Setup); 80bad88: 687b ldr r3, [r7, #4] 80bad8a: 6818 ldr r0, [r3, #0] 80bad8c: 687b ldr r3, [r7, #4] 80bad8e: 691b ldr r3, [r3, #16] 80bad90: b2d9 uxtb r1, r3 80bad92: 687b ldr r3, [r7, #4] 80bad94: f503 7371 add.w r3, r3, #964 ; 0x3c4 80bad98: 461a mov r2, r3 80bad9a: f008 fda9 bl 80c38f0 } __HAL_UNLOCK(hpcd); 80bad9e: 687b ldr r3, [r7, #4] 80bada0: 2200 movs r2, #0 80bada2: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80bada6: 2300 movs r3, #0 } 80bada8: 4618 mov r0, r3 80badaa: 3710 adds r7, #16 80badac: 46bd mov sp, r7 80badae: bd80 pop {r7, pc} 080badb0 : * @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) { 80badb0: b580 push {r7, lr} 80badb2: b084 sub sp, #16 80badb4: af00 add r7, sp, #0 80badb6: 6078 str r0, [r7, #4] 80badb8: 460b mov r3, r1 80badba: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if (((uint32_t)ep_addr & 0x0FU) > hpcd->Init.dev_endpoints) 80badbc: 78fb ldrb r3, [r7, #3] 80badbe: f003 020f and.w r2, r3, #15 80badc2: 687b ldr r3, [r7, #4] 80badc4: 685b ldr r3, [r3, #4] 80badc6: 429a cmp r2, r3 80badc8: d901 bls.n 80badce { return HAL_ERROR; 80badca: 2301 movs r3, #1 80badcc: e042 b.n 80bae54 } if ((0x80U & ep_addr) == 0x80U) 80badce: f997 3003 ldrsb.w r3, [r7, #3] 80badd2: 2b00 cmp r3, #0 80badd4: da0f bge.n 80badf6 { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80badd6: 78fb ldrb r3, [r7, #3] 80badd8: f003 020f and.w r2, r3, #15 80baddc: 4613 mov r3, r2 80badde: 00db lsls r3, r3, #3 80bade0: 1a9b subs r3, r3, r2 80bade2: 009b lsls r3, r3, #2 80bade4: 3338 adds r3, #56 ; 0x38 80bade6: 687a ldr r2, [r7, #4] 80bade8: 4413 add r3, r2 80badea: 3304 adds r3, #4 80badec: 60fb str r3, [r7, #12] ep->is_in = 1U; 80badee: 68fb ldr r3, [r7, #12] 80badf0: 2201 movs r2, #1 80badf2: 705a strb r2, [r3, #1] 80badf4: e00f b.n 80bae16 } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80badf6: 78fb ldrb r3, [r7, #3] 80badf8: f003 020f and.w r2, r3, #15 80badfc: 4613 mov r3, r2 80badfe: 00db lsls r3, r3, #3 80bae00: 1a9b subs r3, r3, r2 80bae02: 009b lsls r3, r3, #2 80bae04: f503 73fc add.w r3, r3, #504 ; 0x1f8 80bae08: 687a ldr r2, [r7, #4] 80bae0a: 4413 add r3, r2 80bae0c: 3304 adds r3, #4 80bae0e: 60fb str r3, [r7, #12] ep->is_in = 0U; 80bae10: 68fb ldr r3, [r7, #12] 80bae12: 2200 movs r2, #0 80bae14: 705a strb r2, [r3, #1] } ep->is_stall = 0U; 80bae16: 68fb ldr r3, [r7, #12] 80bae18: 2200 movs r2, #0 80bae1a: 709a strb r2, [r3, #2] ep->num = ep_addr & EP_ADDR_MSK; 80bae1c: 78fb ldrb r3, [r7, #3] 80bae1e: f003 030f and.w r3, r3, #15 80bae22: b2da uxtb r2, r3 80bae24: 68fb ldr r3, [r7, #12] 80bae26: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); 80bae28: 687b ldr r3, [r7, #4] 80bae2a: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80bae2e: 2b01 cmp r3, #1 80bae30: d101 bne.n 80bae36 80bae32: 2302 movs r3, #2 80bae34: e00e b.n 80bae54 80bae36: 687b ldr r3, [r7, #4] 80bae38: 2201 movs r2, #1 80bae3a: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_EPClearStall(hpcd->Instance, ep); 80bae3e: 687b ldr r3, [r7, #4] 80bae40: 681b ldr r3, [r3, #0] 80bae42: 68f9 ldr r1, [r7, #12] 80bae44: 4618 mov r0, r3 80bae46: f008 fbb4 bl 80c35b2 __HAL_UNLOCK(hpcd); 80bae4a: 687b ldr r3, [r7, #4] 80bae4c: 2200 movs r2, #0 80bae4e: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80bae52: 2300 movs r3, #0 } 80bae54: 4618 mov r0, r3 80bae56: 3710 adds r7, #16 80bae58: 46bd mov sp, r7 80bae5a: bd80 pop {r7, pc} 080bae5c : * @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) { 80bae5c: b580 push {r7, lr} 80bae5e: b082 sub sp, #8 80bae60: af00 add r7, sp, #0 80bae62: 6078 str r0, [r7, #4] 80bae64: 460b mov r3, r1 80bae66: 70fb strb r3, [r7, #3] __HAL_LOCK(hpcd); 80bae68: 687b ldr r3, [r7, #4] 80bae6a: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80bae6e: 2b01 cmp r3, #1 80bae70: d101 bne.n 80bae76 80bae72: 2302 movs r3, #2 80bae74: e01b b.n 80baeae 80bae76: 687b ldr r3, [r7, #4] 80bae78: 2201 movs r2, #1 80bae7a: f883 23bc strb.w r2, [r3, #956] ; 0x3bc if ((ep_addr & 0x80U) == 0x80U) 80bae7e: f997 3003 ldrsb.w r3, [r7, #3] 80bae82: 2b00 cmp r3, #0 80bae84: da09 bge.n 80bae9a { (void)USB_FlushTxFifo(hpcd->Instance, (uint32_t)ep_addr & EP_ADDR_MSK); 80bae86: 687b ldr r3, [r7, #4] 80bae88: 681a ldr r2, [r3, #0] 80bae8a: 78fb ldrb r3, [r7, #3] 80bae8c: f003 030f and.w r3, r3, #15 80bae90: 4619 mov r1, r3 80bae92: 4610 mov r0, r2 80bae94: f007 fcb8 bl 80c2808 80bae98: e004 b.n 80baea4 } else { (void)USB_FlushRxFifo(hpcd->Instance); 80bae9a: 687b ldr r3, [r7, #4] 80bae9c: 681b ldr r3, [r3, #0] 80bae9e: 4618 mov r0, r3 80baea0: f007 fce4 bl 80c286c } __HAL_UNLOCK(hpcd); 80baea4: 687b ldr r3, [r7, #4] 80baea6: 2200 movs r2, #0 80baea8: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80baeac: 2300 movs r3, #0 } 80baeae: 4618 mov r0, r3 80baeb0: 3708 adds r7, #8 80baeb2: 46bd mov sp, r7 80baeb4: bd80 pop {r7, pc} 080baeb6 : * @param hpcd PCD handle * @param epnum endpoint number * @retval HAL status */ static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t epnum) { 80baeb6: b580 push {r7, lr} 80baeb8: b08a sub sp, #40 ; 0x28 80baeba: af02 add r7, sp, #8 80baebc: 6078 str r0, [r7, #4] 80baebe: 6039 str r1, [r7, #0] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80baec0: 687b ldr r3, [r7, #4] 80baec2: 681b ldr r3, [r3, #0] 80baec4: 617b str r3, [r7, #20] uint32_t USBx_BASE = (uint32_t)USBx; 80baec6: 697b ldr r3, [r7, #20] 80baec8: 613b str r3, [r7, #16] USB_OTG_EPTypeDef *ep; uint32_t len; uint32_t len32b; uint32_t fifoemptymsk; ep = &hpcd->IN_ep[epnum]; 80baeca: 683a ldr r2, [r7, #0] 80baecc: 4613 mov r3, r2 80baece: 00db lsls r3, r3, #3 80baed0: 1a9b subs r3, r3, r2 80baed2: 009b lsls r3, r3, #2 80baed4: 3338 adds r3, #56 ; 0x38 80baed6: 687a ldr r2, [r7, #4] 80baed8: 4413 add r3, r2 80baeda: 3304 adds r3, #4 80baedc: 60fb str r3, [r7, #12] if (ep->xfer_count > ep->xfer_len) 80baede: 68fb ldr r3, [r7, #12] 80baee0: 699a ldr r2, [r3, #24] 80baee2: 68fb ldr r3, [r7, #12] 80baee4: 695b ldr r3, [r3, #20] 80baee6: 429a cmp r2, r3 80baee8: d901 bls.n 80baeee { return HAL_ERROR; 80baeea: 2301 movs r3, #1 80baeec: e06d b.n 80bafca } len = ep->xfer_len - ep->xfer_count; 80baeee: 68fb ldr r3, [r7, #12] 80baef0: 695a ldr r2, [r3, #20] 80baef2: 68fb ldr r3, [r7, #12] 80baef4: 699b ldr r3, [r3, #24] 80baef6: 1ad3 subs r3, r2, r3 80baef8: 61fb str r3, [r7, #28] if (len > ep->maxpacket) 80baefa: 68fb ldr r3, [r7, #12] 80baefc: 689a ldr r2, [r3, #8] 80baefe: 69fb ldr r3, [r7, #28] 80baf00: 429a cmp r2, r3 80baf02: d202 bcs.n 80baf0a { len = ep->maxpacket; 80baf04: 68fb ldr r3, [r7, #12] 80baf06: 689b ldr r3, [r3, #8] 80baf08: 61fb str r3, [r7, #28] } len32b = (len + 3U) / 4U; 80baf0a: 69fb ldr r3, [r7, #28] 80baf0c: 3303 adds r3, #3 80baf0e: 089b lsrs r3, r3, #2 80baf10: 61bb str r3, [r7, #24] while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) && 80baf12: e02b b.n 80baf6c (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) { /* Write the FIFO */ len = ep->xfer_len - ep->xfer_count; 80baf14: 68fb ldr r3, [r7, #12] 80baf16: 695a ldr r2, [r3, #20] 80baf18: 68fb ldr r3, [r7, #12] 80baf1a: 699b ldr r3, [r3, #24] 80baf1c: 1ad3 subs r3, r2, r3 80baf1e: 61fb str r3, [r7, #28] if (len > ep->maxpacket) 80baf20: 68fb ldr r3, [r7, #12] 80baf22: 689a ldr r2, [r3, #8] 80baf24: 69fb ldr r3, [r7, #28] 80baf26: 429a cmp r2, r3 80baf28: d202 bcs.n 80baf30 { len = ep->maxpacket; 80baf2a: 68fb ldr r3, [r7, #12] 80baf2c: 689b ldr r3, [r3, #8] 80baf2e: 61fb str r3, [r7, #28] } len32b = (len + 3U) / 4U; 80baf30: 69fb ldr r3, [r7, #28] 80baf32: 3303 adds r3, #3 80baf34: 089b lsrs r3, r3, #2 80baf36: 61bb str r3, [r7, #24] (void)USB_WritePacket(USBx, ep->xfer_buff, (uint8_t)epnum, (uint16_t)len, 80baf38: 68fb ldr r3, [r7, #12] 80baf3a: 68d9 ldr r1, [r3, #12] 80baf3c: 683b ldr r3, [r7, #0] 80baf3e: b2da uxtb r2, r3 80baf40: 69fb ldr r3, [r7, #28] 80baf42: b298 uxth r0, r3 (uint8_t)hpcd->Init.dma_enable); 80baf44: 687b ldr r3, [r7, #4] 80baf46: 691b ldr r3, [r3, #16] (void)USB_WritePacket(USBx, ep->xfer_buff, (uint8_t)epnum, (uint16_t)len, 80baf48: b2db uxtb r3, r3 80baf4a: 9300 str r3, [sp, #0] 80baf4c: 4603 mov r3, r0 80baf4e: 6978 ldr r0, [r7, #20] 80baf50: f008 fa28 bl 80c33a4 ep->xfer_buff += len; 80baf54: 68fb ldr r3, [r7, #12] 80baf56: 68da ldr r2, [r3, #12] 80baf58: 69fb ldr r3, [r7, #28] 80baf5a: 441a add r2, r3 80baf5c: 68fb ldr r3, [r7, #12] 80baf5e: 60da str r2, [r3, #12] ep->xfer_count += len; 80baf60: 68fb ldr r3, [r7, #12] 80baf62: 699a ldr r2, [r3, #24] 80baf64: 69fb ldr r3, [r7, #28] 80baf66: 441a add r2, r3 80baf68: 68fb ldr r3, [r7, #12] 80baf6a: 619a str r2, [r3, #24] while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) && 80baf6c: 683b ldr r3, [r7, #0] 80baf6e: 015a lsls r2, r3, #5 80baf70: 693b ldr r3, [r7, #16] 80baf72: 4413 add r3, r2 80baf74: f503 6310 add.w r3, r3, #2304 ; 0x900 80baf78: 699b ldr r3, [r3, #24] 80baf7a: b29a uxth r2, r3 80baf7c: 69bb ldr r3, [r7, #24] 80baf7e: 429a cmp r2, r3 80baf80: d309 bcc.n 80baf96 (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) 80baf82: 68fb ldr r3, [r7, #12] 80baf84: 699a ldr r2, [r3, #24] 80baf86: 68fb ldr r3, [r7, #12] 80baf88: 695b ldr r3, [r3, #20] while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) && 80baf8a: 429a cmp r2, r3 80baf8c: d203 bcs.n 80baf96 (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) 80baf8e: 68fb ldr r3, [r7, #12] 80baf90: 695b ldr r3, [r3, #20] 80baf92: 2b00 cmp r3, #0 80baf94: d1be bne.n 80baf14 } if (ep->xfer_len <= ep->xfer_count) 80baf96: 68fb ldr r3, [r7, #12] 80baf98: 695a ldr r2, [r3, #20] 80baf9a: 68fb ldr r3, [r7, #12] 80baf9c: 699b ldr r3, [r3, #24] 80baf9e: 429a cmp r2, r3 80bafa0: d812 bhi.n 80bafc8 { fifoemptymsk = (uint32_t)(0x1UL << (epnum & EP_ADDR_MSK)); 80bafa2: 683b ldr r3, [r7, #0] 80bafa4: f003 030f and.w r3, r3, #15 80bafa8: 2201 movs r2, #1 80bafaa: fa02 f303 lsl.w r3, r2, r3 80bafae: 60bb str r3, [r7, #8] USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 80bafb0: 693b ldr r3, [r7, #16] 80bafb2: f503 6300 add.w r3, r3, #2048 ; 0x800 80bafb6: 4619 mov r1, r3 80bafb8: 693b ldr r3, [r7, #16] 80bafba: f503 6300 add.w r3, r3, #2048 ; 0x800 80bafbe: 6b5a ldr r2, [r3, #52] ; 0x34 80bafc0: 68bb ldr r3, [r7, #8] 80bafc2: 43db mvns r3, r3 80bafc4: 4013 ands r3, r2 80bafc6: 634b str r3, [r1, #52] ; 0x34 } return HAL_OK; 80bafc8: 2300 movs r3, #0 } 80bafca: 4618 mov r0, r3 80bafcc: 3720 adds r7, #32 80bafce: 46bd mov sp, r7 80bafd0: bd80 pop {r7, pc} ... 080bafd4 : * @param hpcd PCD handle * @param epnum endpoint number * @retval HAL status */ static HAL_StatusTypeDef PCD_EP_OutXfrComplete_int(PCD_HandleTypeDef *hpcd, uint32_t epnum) { 80bafd4: b580 push {r7, lr} 80bafd6: b086 sub sp, #24 80bafd8: af00 add r7, sp, #0 80bafda: 6078 str r0, [r7, #4] 80bafdc: 6039 str r1, [r7, #0] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80bafde: 687b ldr r3, [r7, #4] 80bafe0: 681b ldr r3, [r3, #0] 80bafe2: 617b str r3, [r7, #20] uint32_t USBx_BASE = (uint32_t)USBx; 80bafe4: 697b ldr r3, [r7, #20] 80bafe6: 613b str r3, [r7, #16] uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U); 80bafe8: 697b ldr r3, [r7, #20] 80bafea: 333c adds r3, #60 ; 0x3c 80bafec: 3304 adds r3, #4 80bafee: 681b ldr r3, [r3, #0] 80baff0: 60fb str r3, [r7, #12] uint32_t DoepintReg = USBx_OUTEP(epnum)->DOEPINT; 80baff2: 683b ldr r3, [r7, #0] 80baff4: 015a lsls r2, r3, #5 80baff6: 693b ldr r3, [r7, #16] 80baff8: 4413 add r3, r2 80baffa: f503 6330 add.w r3, r3, #2816 ; 0xb00 80baffe: 689b ldr r3, [r3, #8] 80bb000: 60bb str r3, [r7, #8] if (hpcd->Init.dma_enable == 1U) 80bb002: 687b ldr r3, [r7, #4] 80bb004: 691b ldr r3, [r3, #16] 80bb006: 2b01 cmp r3, #1 80bb008: f040 80a0 bne.w 80bb14c { if ((DoepintReg & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP) /* Class C */ 80bb00c: 68bb ldr r3, [r7, #8] 80bb00e: f003 0308 and.w r3, r3, #8 80bb012: 2b00 cmp r3, #0 80bb014: d015 beq.n 80bb042 { /* StupPktRcvd = 1 this is a setup packet */ if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80bb016: 68fb ldr r3, [r7, #12] 80bb018: 4a72 ldr r2, [pc, #456] ; (80bb1e4 ) 80bb01a: 4293 cmp r3, r2 80bb01c: f240 80dd bls.w 80bb1da ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 80bb020: 68bb ldr r3, [r7, #8] 80bb022: f403 4300 and.w r3, r3, #32768 ; 0x8000 if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80bb026: 2b00 cmp r3, #0 80bb028: f000 80d7 beq.w 80bb1da { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80bb02c: 683b ldr r3, [r7, #0] 80bb02e: 015a lsls r2, r3, #5 80bb030: 693b ldr r3, [r7, #16] 80bb032: 4413 add r3, r2 80bb034: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb038: 461a mov r2, r3 80bb03a: f44f 4300 mov.w r3, #32768 ; 0x8000 80bb03e: 6093 str r3, [r2, #8] 80bb040: e0cb b.n 80bb1da } } else if ((DoepintReg & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) /* Class E */ 80bb042: 68bb ldr r3, [r7, #8] 80bb044: f003 0320 and.w r3, r3, #32 80bb048: 2b00 cmp r3, #0 80bb04a: d009 beq.n 80bb060 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 80bb04c: 683b ldr r3, [r7, #0] 80bb04e: 015a lsls r2, r3, #5 80bb050: 693b ldr r3, [r7, #16] 80bb052: 4413 add r3, r2 80bb054: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb058: 461a mov r2, r3 80bb05a: 2320 movs r3, #32 80bb05c: 6093 str r3, [r2, #8] 80bb05e: e0bc b.n 80bb1da } else if ((DoepintReg & (USB_OTG_DOEPINT_STUP | USB_OTG_DOEPINT_OTEPSPR)) == 0U) 80bb060: 68bb ldr r3, [r7, #8] 80bb062: f003 0328 and.w r3, r3, #40 ; 0x28 80bb066: 2b00 cmp r3, #0 80bb068: f040 80b7 bne.w 80bb1da { /* StupPktRcvd = 1 this is a setup packet */ if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80bb06c: 68fb ldr r3, [r7, #12] 80bb06e: 4a5d ldr r2, [pc, #372] ; (80bb1e4 ) 80bb070: 4293 cmp r3, r2 80bb072: d90f bls.n 80bb094 ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 80bb074: 68bb ldr r3, [r7, #8] 80bb076: f403 4300 and.w r3, r3, #32768 ; 0x8000 if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80bb07a: 2b00 cmp r3, #0 80bb07c: d00a beq.n 80bb094 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80bb07e: 683b ldr r3, [r7, #0] 80bb080: 015a lsls r2, r3, #5 80bb082: 693b ldr r3, [r7, #16] 80bb084: 4413 add r3, r2 80bb086: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb08a: 461a mov r2, r3 80bb08c: f44f 4300 mov.w r3, #32768 ; 0x8000 80bb090: 6093 str r3, [r2, #8] 80bb092: e0a2 b.n 80bb1da } else { /* out data packet received over EP0 */ hpcd->OUT_ep[epnum].xfer_count = hpcd->OUT_ep[epnum].maxpacket - 80bb094: 6879 ldr r1, [r7, #4] 80bb096: 683a ldr r2, [r7, #0] 80bb098: 4613 mov r3, r2 80bb09a: 00db lsls r3, r3, #3 80bb09c: 1a9b subs r3, r3, r2 80bb09e: 009b lsls r3, r3, #2 80bb0a0: 440b add r3, r1 80bb0a2: f503 7301 add.w r3, r3, #516 ; 0x204 80bb0a6: 681a ldr r2, [r3, #0] (USBx_OUTEP(epnum)->DOEPTSIZ & USB_OTG_DOEPTSIZ_XFRSIZ); 80bb0a8: 683b ldr r3, [r7, #0] 80bb0aa: 0159 lsls r1, r3, #5 80bb0ac: 693b ldr r3, [r7, #16] 80bb0ae: 440b add r3, r1 80bb0b0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb0b4: 691b ldr r3, [r3, #16] 80bb0b6: f3c3 0312 ubfx r3, r3, #0, #19 hpcd->OUT_ep[epnum].maxpacket - 80bb0ba: 1ad1 subs r1, r2, r3 hpcd->OUT_ep[epnum].xfer_count = 80bb0bc: 6878 ldr r0, [r7, #4] 80bb0be: 683a ldr r2, [r7, #0] 80bb0c0: 4613 mov r3, r2 80bb0c2: 00db lsls r3, r3, #3 80bb0c4: 1a9b subs r3, r3, r2 80bb0c6: 009b lsls r3, r3, #2 80bb0c8: 4403 add r3, r0 80bb0ca: f503 7305 add.w r3, r3, #532 ; 0x214 80bb0ce: 6019 str r1, [r3, #0] hpcd->OUT_ep[epnum].xfer_buff += hpcd->OUT_ep[epnum].maxpacket; 80bb0d0: 6879 ldr r1, [r7, #4] 80bb0d2: 683a ldr r2, [r7, #0] 80bb0d4: 4613 mov r3, r2 80bb0d6: 00db lsls r3, r3, #3 80bb0d8: 1a9b subs r3, r3, r2 80bb0da: 009b lsls r3, r3, #2 80bb0dc: 440b add r3, r1 80bb0de: f503 7302 add.w r3, r3, #520 ; 0x208 80bb0e2: 6819 ldr r1, [r3, #0] 80bb0e4: 6878 ldr r0, [r7, #4] 80bb0e6: 683a ldr r2, [r7, #0] 80bb0e8: 4613 mov r3, r2 80bb0ea: 00db lsls r3, r3, #3 80bb0ec: 1a9b subs r3, r3, r2 80bb0ee: 009b lsls r3, r3, #2 80bb0f0: 4403 add r3, r0 80bb0f2: f503 7301 add.w r3, r3, #516 ; 0x204 80bb0f6: 681b ldr r3, [r3, #0] 80bb0f8: 4419 add r1, r3 80bb0fa: 6878 ldr r0, [r7, #4] 80bb0fc: 683a ldr r2, [r7, #0] 80bb0fe: 4613 mov r3, r2 80bb100: 00db lsls r3, r3, #3 80bb102: 1a9b subs r3, r3, r2 80bb104: 009b lsls r3, r3, #2 80bb106: 4403 add r3, r0 80bb108: f503 7302 add.w r3, r3, #520 ; 0x208 80bb10c: 6019 str r1, [r3, #0] if ((epnum == 0U) && (hpcd->OUT_ep[epnum].xfer_len == 0U)) 80bb10e: 683b ldr r3, [r7, #0] 80bb110: 2b00 cmp r3, #0 80bb112: d114 bne.n 80bb13e 80bb114: 6879 ldr r1, [r7, #4] 80bb116: 683a ldr r2, [r7, #0] 80bb118: 4613 mov r3, r2 80bb11a: 00db lsls r3, r3, #3 80bb11c: 1a9b subs r3, r3, r2 80bb11e: 009b lsls r3, r3, #2 80bb120: 440b add r3, r1 80bb122: f503 7304 add.w r3, r3, #528 ; 0x210 80bb126: 681b ldr r3, [r3, #0] 80bb128: 2b00 cmp r3, #0 80bb12a: d108 bne.n 80bb13e { /* this is ZLP, so prepare EP0 for next setup */ (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 80bb12c: 687b ldr r3, [r7, #4] 80bb12e: 6818 ldr r0, [r3, #0] 80bb130: 687b ldr r3, [r7, #4] 80bb132: f503 7371 add.w r3, r3, #964 ; 0x3c4 80bb136: 461a mov r2, r3 80bb138: 2101 movs r1, #1 80bb13a: f008 fbd9 bl 80c38f0 } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); 80bb13e: 683b ldr r3, [r7, #0] 80bb140: b2db uxtb r3, r3 80bb142: 4619 mov r1, r3 80bb144: 6878 ldr r0, [r7, #4] 80bb146: f012 fc33 bl 80cd9b0 80bb14a: e046 b.n 80bb1da /* ... */ } } else { if (gSNPSiD == USB_OTG_CORE_ID_310A) 80bb14c: 68fb ldr r3, [r7, #12] 80bb14e: 4a26 ldr r2, [pc, #152] ; (80bb1e8 ) 80bb150: 4293 cmp r3, r2 80bb152: d124 bne.n 80bb19e { /* StupPktRcvd = 1 this is a setup packet */ if ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX) 80bb154: 68bb ldr r3, [r7, #8] 80bb156: f403 4300 and.w r3, r3, #32768 ; 0x8000 80bb15a: 2b00 cmp r3, #0 80bb15c: d00a beq.n 80bb174 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80bb15e: 683b ldr r3, [r7, #0] 80bb160: 015a lsls r2, r3, #5 80bb162: 693b ldr r3, [r7, #16] 80bb164: 4413 add r3, r2 80bb166: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb16a: 461a mov r2, r3 80bb16c: f44f 4300 mov.w r3, #32768 ; 0x8000 80bb170: 6093 str r3, [r2, #8] 80bb172: e032 b.n 80bb1da } else { if ((DoepintReg & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) 80bb174: 68bb ldr r3, [r7, #8] 80bb176: f003 0320 and.w r3, r3, #32 80bb17a: 2b00 cmp r3, #0 80bb17c: d008 beq.n 80bb190 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 80bb17e: 683b ldr r3, [r7, #0] 80bb180: 015a lsls r2, r3, #5 80bb182: 693b ldr r3, [r7, #16] 80bb184: 4413 add r3, r2 80bb186: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb18a: 461a mov r2, r3 80bb18c: 2320 movs r3, #32 80bb18e: 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); 80bb190: 683b ldr r3, [r7, #0] 80bb192: b2db uxtb r3, r3 80bb194: 4619 mov r1, r3 80bb196: 6878 ldr r0, [r7, #4] 80bb198: f012 fc0a bl 80cd9b0 80bb19c: e01d b.n 80bb1da #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } } else { if ((epnum == 0U) && (hpcd->OUT_ep[epnum].xfer_len == 0U)) 80bb19e: 683b ldr r3, [r7, #0] 80bb1a0: 2b00 cmp r3, #0 80bb1a2: d114 bne.n 80bb1ce 80bb1a4: 6879 ldr r1, [r7, #4] 80bb1a6: 683a ldr r2, [r7, #0] 80bb1a8: 4613 mov r3, r2 80bb1aa: 00db lsls r3, r3, #3 80bb1ac: 1a9b subs r3, r3, r2 80bb1ae: 009b lsls r3, r3, #2 80bb1b0: 440b add r3, r1 80bb1b2: f503 7304 add.w r3, r3, #528 ; 0x210 80bb1b6: 681b ldr r3, [r3, #0] 80bb1b8: 2b00 cmp r3, #0 80bb1ba: d108 bne.n 80bb1ce { /* this is ZLP, so prepare EP0 for next setup */ (void)USB_EP0_OutStart(hpcd->Instance, 0U, (uint8_t *)hpcd->Setup); 80bb1bc: 687b ldr r3, [r7, #4] 80bb1be: 6818 ldr r0, [r3, #0] 80bb1c0: 687b ldr r3, [r7, #4] 80bb1c2: f503 7371 add.w r3, r3, #964 ; 0x3c4 80bb1c6: 461a mov r2, r3 80bb1c8: 2100 movs r1, #0 80bb1ca: f008 fb91 bl 80c38f0 } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); 80bb1ce: 683b ldr r3, [r7, #0] 80bb1d0: b2db uxtb r3, r3 80bb1d2: 4619 mov r1, r3 80bb1d4: 6878 ldr r0, [r7, #4] 80bb1d6: f012 fbeb bl 80cd9b0 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } } return HAL_OK; 80bb1da: 2300 movs r3, #0 } 80bb1dc: 4618 mov r0, r3 80bb1de: 3718 adds r7, #24 80bb1e0: 46bd mov sp, r7 80bb1e2: bd80 pop {r7, pc} 80bb1e4: 4f54300a .word 0x4f54300a 80bb1e8: 4f54310a .word 0x4f54310a 080bb1ec : * @param hpcd PCD handle * @param epnum endpoint number * @retval HAL status */ static HAL_StatusTypeDef PCD_EP_OutSetupPacket_int(PCD_HandleTypeDef *hpcd, uint32_t epnum) { 80bb1ec: b580 push {r7, lr} 80bb1ee: b086 sub sp, #24 80bb1f0: af00 add r7, sp, #0 80bb1f2: 6078 str r0, [r7, #4] 80bb1f4: 6039 str r1, [r7, #0] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80bb1f6: 687b ldr r3, [r7, #4] 80bb1f8: 681b ldr r3, [r3, #0] 80bb1fa: 617b str r3, [r7, #20] uint32_t USBx_BASE = (uint32_t)USBx; 80bb1fc: 697b ldr r3, [r7, #20] 80bb1fe: 613b str r3, [r7, #16] uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U); 80bb200: 697b ldr r3, [r7, #20] 80bb202: 333c adds r3, #60 ; 0x3c 80bb204: 3304 adds r3, #4 80bb206: 681b ldr r3, [r3, #0] 80bb208: 60fb str r3, [r7, #12] uint32_t DoepintReg = USBx_OUTEP(epnum)->DOEPINT; 80bb20a: 683b ldr r3, [r7, #0] 80bb20c: 015a lsls r2, r3, #5 80bb20e: 693b ldr r3, [r7, #16] 80bb210: 4413 add r3, r2 80bb212: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb216: 689b ldr r3, [r3, #8] 80bb218: 60bb str r3, [r7, #8] if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80bb21a: 68fb ldr r3, [r7, #12] 80bb21c: 4a15 ldr r2, [pc, #84] ; (80bb274 ) 80bb21e: 4293 cmp r3, r2 80bb220: d90e bls.n 80bb240 ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 80bb222: 68bb ldr r3, [r7, #8] 80bb224: f403 4300 and.w r3, r3, #32768 ; 0x8000 if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80bb228: 2b00 cmp r3, #0 80bb22a: d009 beq.n 80bb240 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80bb22c: 683b ldr r3, [r7, #0] 80bb22e: 015a lsls r2, r3, #5 80bb230: 693b ldr r3, [r7, #16] 80bb232: 4413 add r3, r2 80bb234: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bb238: 461a mov r2, r3 80bb23a: f44f 4300 mov.w r3, #32768 ; 0x8000 80bb23e: 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); 80bb240: 6878 ldr r0, [r7, #4] 80bb242: f012 fba3 bl 80cd98c #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ if ((gSNPSiD > USB_OTG_CORE_ID_300A) && (hpcd->Init.dma_enable == 1U)) 80bb246: 68fb ldr r3, [r7, #12] 80bb248: 4a0a ldr r2, [pc, #40] ; (80bb274 ) 80bb24a: 4293 cmp r3, r2 80bb24c: d90c bls.n 80bb268 80bb24e: 687b ldr r3, [r7, #4] 80bb250: 691b ldr r3, [r3, #16] 80bb252: 2b01 cmp r3, #1 80bb254: d108 bne.n 80bb268 { (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 80bb256: 687b ldr r3, [r7, #4] 80bb258: 6818 ldr r0, [r3, #0] 80bb25a: 687b ldr r3, [r7, #4] 80bb25c: f503 7371 add.w r3, r3, #964 ; 0x3c4 80bb260: 461a mov r2, r3 80bb262: 2101 movs r1, #1 80bb264: f008 fb44 bl 80c38f0 } return HAL_OK; 80bb268: 2300 movs r3, #0 } 80bb26a: 4618 mov r0, r3 80bb26c: 3718 adds r7, #24 80bb26e: 46bd mov sp, r7 80bb270: bd80 pop {r7, pc} 80bb272: bf00 nop 80bb274: 4f54300a .word 0x4f54300a 080bb278 : * @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) { 80bb278: b480 push {r7} 80bb27a: b085 sub sp, #20 80bb27c: af00 add r7, sp, #0 80bb27e: 6078 str r0, [r7, #4] 80bb280: 460b mov r3, r1 80bb282: 70fb strb r3, [r7, #3] 80bb284: 4613 mov r3, r2 80bb286: 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; 80bb288: 687b ldr r3, [r7, #4] 80bb28a: 681b ldr r3, [r3, #0] 80bb28c: 6a5b ldr r3, [r3, #36] ; 0x24 80bb28e: 60bb str r3, [r7, #8] if (fifo == 0U) 80bb290: 78fb ldrb r3, [r7, #3] 80bb292: 2b00 cmp r3, #0 80bb294: d107 bne.n 80bb2a6 { hpcd->Instance->DIEPTXF0_HNPTXFSIZ = ((uint32_t)size << 16) | Tx_Offset; 80bb296: 687b ldr r3, [r7, #4] 80bb298: 681b ldr r3, [r3, #0] 80bb29a: 883a ldrh r2, [r7, #0] 80bb29c: 0411 lsls r1, r2, #16 80bb29e: 68ba ldr r2, [r7, #8] 80bb2a0: 430a orrs r2, r1 80bb2a2: 629a str r2, [r3, #40] ; 0x28 80bb2a4: e028 b.n 80bb2f8 } else { Tx_Offset += (hpcd->Instance->DIEPTXF0_HNPTXFSIZ) >> 16; 80bb2a6: 687b ldr r3, [r7, #4] 80bb2a8: 681b ldr r3, [r3, #0] 80bb2aa: 6a9b ldr r3, [r3, #40] ; 0x28 80bb2ac: 0c1b lsrs r3, r3, #16 80bb2ae: 68ba ldr r2, [r7, #8] 80bb2b0: 4413 add r3, r2 80bb2b2: 60bb str r3, [r7, #8] for (i = 0U; i < (fifo - 1U); i++) 80bb2b4: 2300 movs r3, #0 80bb2b6: 73fb strb r3, [r7, #15] 80bb2b8: e00d b.n 80bb2d6 { Tx_Offset += (hpcd->Instance->DIEPTXF[i] >> 16); 80bb2ba: 687b ldr r3, [r7, #4] 80bb2bc: 681a ldr r2, [r3, #0] 80bb2be: 7bfb ldrb r3, [r7, #15] 80bb2c0: 3340 adds r3, #64 ; 0x40 80bb2c2: 009b lsls r3, r3, #2 80bb2c4: 4413 add r3, r2 80bb2c6: 685b ldr r3, [r3, #4] 80bb2c8: 0c1b lsrs r3, r3, #16 80bb2ca: 68ba ldr r2, [r7, #8] 80bb2cc: 4413 add r3, r2 80bb2ce: 60bb str r3, [r7, #8] for (i = 0U; i < (fifo - 1U); i++) 80bb2d0: 7bfb ldrb r3, [r7, #15] 80bb2d2: 3301 adds r3, #1 80bb2d4: 73fb strb r3, [r7, #15] 80bb2d6: 7bfa ldrb r2, [r7, #15] 80bb2d8: 78fb ldrb r3, [r7, #3] 80bb2da: 3b01 subs r3, #1 80bb2dc: 429a cmp r2, r3 80bb2de: d3ec bcc.n 80bb2ba } /* Multiply Tx_Size by 2 to get higher performance */ hpcd->Instance->DIEPTXF[fifo - 1U] = ((uint32_t)size << 16) | Tx_Offset; 80bb2e0: 687b ldr r3, [r7, #4] 80bb2e2: 6819 ldr r1, [r3, #0] 80bb2e4: 78fb ldrb r3, [r7, #3] 80bb2e6: 3b01 subs r3, #1 80bb2e8: 883a ldrh r2, [r7, #0] 80bb2ea: 0410 lsls r0, r2, #16 80bb2ec: 68ba ldr r2, [r7, #8] 80bb2ee: 4302 orrs r2, r0 80bb2f0: 3340 adds r3, #64 ; 0x40 80bb2f2: 009b lsls r3, r3, #2 80bb2f4: 440b add r3, r1 80bb2f6: 605a str r2, [r3, #4] } return HAL_OK; 80bb2f8: 2300 movs r3, #0 } 80bb2fa: 4618 mov r0, r3 80bb2fc: 3714 adds r7, #20 80bb2fe: 46bd mov sp, r7 80bb300: f85d 7b04 ldr.w r7, [sp], #4 80bb304: 4770 bx lr 080bb306 : * @param hpcd PCD handle * @param size Size of Rx fifo * @retval HAL status */ HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size) { 80bb306: b480 push {r7} 80bb308: b083 sub sp, #12 80bb30a: af00 add r7, sp, #0 80bb30c: 6078 str r0, [r7, #4] 80bb30e: 460b mov r3, r1 80bb310: 807b strh r3, [r7, #2] hpcd->Instance->GRXFSIZ = size; 80bb312: 687b ldr r3, [r7, #4] 80bb314: 681b ldr r3, [r3, #0] 80bb316: 887a ldrh r2, [r7, #2] 80bb318: 625a str r2, [r3, #36] ; 0x24 return HAL_OK; 80bb31a: 2300 movs r3, #0 } 80bb31c: 4618 mov r0, r3 80bb31e: 370c adds r7, #12 80bb320: 46bd mov sp, r7 80bb322: f85d 7b04 ldr.w r7, [sp], #4 80bb326: 4770 bx lr 080bb328 : * @brief Activate LPM feature. * @param hpcd PCD handle * @retval HAL status */ HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd) { 80bb328: b480 push {r7} 80bb32a: b085 sub sp, #20 80bb32c: af00 add r7, sp, #0 80bb32e: 6078 str r0, [r7, #4] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80bb330: 687b ldr r3, [r7, #4] 80bb332: 681b ldr r3, [r3, #0] 80bb334: 60fb str r3, [r7, #12] hpcd->lpm_active = 1U; 80bb336: 687b ldr r3, [r7, #4] 80bb338: 2201 movs r2, #1 80bb33a: f8c3 23fc str.w r2, [r3, #1020] ; 0x3fc hpcd->LPM_State = LPM_L0; 80bb33e: 687b ldr r3, [r7, #4] 80bb340: 2200 movs r2, #0 80bb342: f883 23f4 strb.w r2, [r3, #1012] ; 0x3f4 USBx->GINTMSK |= USB_OTG_GINTMSK_LPMINTM; 80bb346: 68fb ldr r3, [r7, #12] 80bb348: 699b ldr r3, [r3, #24] 80bb34a: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80bb34e: 68fb ldr r3, [r7, #12] 80bb350: 619a str r2, [r3, #24] USBx->GLPMCFG |= (USB_OTG_GLPMCFG_LPMEN | USB_OTG_GLPMCFG_LPMACK | USB_OTG_GLPMCFG_ENBESL); 80bb352: 68fb ldr r3, [r7, #12] 80bb354: 6d5a ldr r2, [r3, #84] ; 0x54 80bb356: 4b05 ldr r3, [pc, #20] ; (80bb36c ) 80bb358: 4313 orrs r3, r2 80bb35a: 68fa ldr r2, [r7, #12] 80bb35c: 6553 str r3, [r2, #84] ; 0x54 return HAL_OK; 80bb35e: 2300 movs r3, #0 } 80bb360: 4618 mov r0, r3 80bb362: 3714 adds r7, #20 80bb364: 46bd mov sp, r7 80bb366: f85d 7b04 ldr.w r7, [sp], #4 80bb36a: 4770 bx lr 80bb36c: 10000003 .word 0x10000003 080bb370 : * @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) { 80bb370: b480 push {r7} 80bb372: af00 add r7, sp, #0 /* Enable access to RTC and backup registers */ SET_BIT(PWR->CR1, PWR_CR1_DBP); 80bb374: 4a05 ldr r2, [pc, #20] ; (80bb38c ) 80bb376: 4b05 ldr r3, [pc, #20] ; (80bb38c ) 80bb378: 681b ldr r3, [r3, #0] 80bb37a: f443 7380 orr.w r3, r3, #256 ; 0x100 80bb37e: 6013 str r3, [r2, #0] } 80bb380: bf00 nop 80bb382: 46bd mov sp, r7 80bb384: f85d 7b04 ldr.w r7, [sp], #4 80bb388: 4770 bx lr 80bb38a: bf00 nop 80bb38c: 40007000 .word 0x40007000 080bb390 : * 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) { 80bb390: b580 push {r7, lr} 80bb392: b082 sub sp, #8 80bb394: af00 add r7, sp, #0 uint32_t tickstart = 0; 80bb396: 2300 movs r3, #0 80bb398: 607b str r3, [r7, #4] __HAL_RCC_PWR_CLK_ENABLE(); 80bb39a: 4a23 ldr r2, [pc, #140] ; (80bb428 ) 80bb39c: 4b22 ldr r3, [pc, #136] ; (80bb428 ) 80bb39e: 6c1b ldr r3, [r3, #64] ; 0x40 80bb3a0: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bb3a4: 6413 str r3, [r2, #64] ; 0x40 80bb3a6: 4b20 ldr r3, [pc, #128] ; (80bb428 ) 80bb3a8: 6c1b ldr r3, [r3, #64] ; 0x40 80bb3aa: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80bb3ae: 603b str r3, [r7, #0] 80bb3b0: 683b ldr r3, [r7, #0] /* Enable the Over-drive to extend the clock frequency to 216 MHz */ __HAL_PWR_OVERDRIVE_ENABLE(); 80bb3b2: 4a1e ldr r2, [pc, #120] ; (80bb42c ) 80bb3b4: 4b1d ldr r3, [pc, #116] ; (80bb42c ) 80bb3b6: 681b ldr r3, [r3, #0] 80bb3b8: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80bb3bc: 6013 str r3, [r2, #0] /* Get tick */ tickstart = HAL_GetTick(); 80bb3be: f7fb fd31 bl 80b6e24 80bb3c2: 6078 str r0, [r7, #4] while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODRDY)) 80bb3c4: e009 b.n 80bb3da { if((HAL_GetTick() - tickstart ) > PWR_OVERDRIVE_TIMEOUT_VALUE) 80bb3c6: f7fb fd2d bl 80b6e24 80bb3ca: 4602 mov r2, r0 80bb3cc: 687b ldr r3, [r7, #4] 80bb3ce: 1ad3 subs r3, r2, r3 80bb3d0: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80bb3d4: d901 bls.n 80bb3da { return HAL_TIMEOUT; 80bb3d6: 2303 movs r3, #3 80bb3d8: e022 b.n 80bb420 while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODRDY)) 80bb3da: 4b14 ldr r3, [pc, #80] ; (80bb42c ) 80bb3dc: 685b ldr r3, [r3, #4] 80bb3de: f403 3380 and.w r3, r3, #65536 ; 0x10000 80bb3e2: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80bb3e6: d1ee bne.n 80bb3c6 } } /* Enable the Over-drive switch */ __HAL_PWR_OVERDRIVESWITCHING_ENABLE(); 80bb3e8: 4a10 ldr r2, [pc, #64] ; (80bb42c ) 80bb3ea: 4b10 ldr r3, [pc, #64] ; (80bb42c ) 80bb3ec: 681b ldr r3, [r3, #0] 80bb3ee: f443 3300 orr.w r3, r3, #131072 ; 0x20000 80bb3f2: 6013 str r3, [r2, #0] /* Get tick */ tickstart = HAL_GetTick(); 80bb3f4: f7fb fd16 bl 80b6e24 80bb3f8: 6078 str r0, [r7, #4] while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODSWRDY)) 80bb3fa: e009 b.n 80bb410 { if((HAL_GetTick() - tickstart ) > PWR_OVERDRIVE_TIMEOUT_VALUE) 80bb3fc: f7fb fd12 bl 80b6e24 80bb400: 4602 mov r2, r0 80bb402: 687b ldr r3, [r7, #4] 80bb404: 1ad3 subs r3, r2, r3 80bb406: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80bb40a: d901 bls.n 80bb410 { return HAL_TIMEOUT; 80bb40c: 2303 movs r3, #3 80bb40e: e007 b.n 80bb420 while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODSWRDY)) 80bb410: 4b06 ldr r3, [pc, #24] ; (80bb42c ) 80bb412: 685b ldr r3, [r3, #4] 80bb414: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bb418: f5b3 3f00 cmp.w r3, #131072 ; 0x20000 80bb41c: d1ee bne.n 80bb3fc } } return HAL_OK; 80bb41e: 2300 movs r3, #0 } 80bb420: 4618 mov r0, r3 80bb422: 3708 adds r7, #8 80bb424: 46bd mov sp, r7 80bb426: bd80 pop {r7, pc} 80bb428: 40023800 .word 0x40023800 80bb42c: 40007000 .word 0x40007000 080bb430 : * 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) { 80bb430: b580 push {r7, lr} 80bb432: b086 sub sp, #24 80bb434: af00 add r7, sp, #0 80bb436: 6078 str r0, [r7, #4] uint32_t tickstart; uint32_t pll_config; FlagStatus pwrclkchanged = RESET; 80bb438: 2300 movs r3, #0 80bb43a: 75fb strb r3, [r7, #23] /* Check Null pointer */ if (RCC_OscInitStruct == NULL) 80bb43c: 687b ldr r3, [r7, #4] 80bb43e: 2b00 cmp r3, #0 80bb440: d101 bne.n 80bb446 { return HAL_ERROR; 80bb442: 2301 movs r3, #1 80bb444: e29b b.n 80bb97e /* Check the parameters */ assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType)); /*------------------------------- HSE Configuration ------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) 80bb446: 687b ldr r3, [r7, #4] 80bb448: 681b ldr r3, [r3, #0] 80bb44a: f003 0301 and.w r3, r3, #1 80bb44e: 2b00 cmp r3, #0 80bb450: f000 8087 beq.w 80bb562 { /* 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) 80bb454: 4b96 ldr r3, [pc, #600] ; (80bb6b0 ) 80bb456: 689b ldr r3, [r3, #8] 80bb458: f003 030c and.w r3, r3, #12 80bb45c: 2b04 cmp r3, #4 80bb45e: d00c beq.n 80bb47a || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSE))) 80bb460: 4b93 ldr r3, [pc, #588] ; (80bb6b0 ) 80bb462: 689b ldr r3, [r3, #8] 80bb464: f003 030c and.w r3, r3, #12 80bb468: 2b08 cmp r3, #8 80bb46a: d112 bne.n 80bb492 80bb46c: 4b90 ldr r3, [pc, #576] ; (80bb6b0 ) 80bb46e: 685b ldr r3, [r3, #4] 80bb470: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bb474: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 80bb478: d10b bne.n 80bb492 { if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) 80bb47a: 4b8d ldr r3, [pc, #564] ; (80bb6b0 ) 80bb47c: 681b ldr r3, [r3, #0] 80bb47e: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bb482: 2b00 cmp r3, #0 80bb484: d06c beq.n 80bb560 80bb486: 687b ldr r3, [r7, #4] 80bb488: 685b ldr r3, [r3, #4] 80bb48a: 2b00 cmp r3, #0 80bb48c: d168 bne.n 80bb560 { return HAL_ERROR; 80bb48e: 2301 movs r3, #1 80bb490: e275 b.n 80bb97e } } else { /* Set the new HSE configuration ---------------------------------------*/ __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState); 80bb492: 687b ldr r3, [r7, #4] 80bb494: 685b ldr r3, [r3, #4] 80bb496: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80bb49a: d106 bne.n 80bb4aa 80bb49c: 4a84 ldr r2, [pc, #528] ; (80bb6b0 ) 80bb49e: 4b84 ldr r3, [pc, #528] ; (80bb6b0 ) 80bb4a0: 681b ldr r3, [r3, #0] 80bb4a2: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80bb4a6: 6013 str r3, [r2, #0] 80bb4a8: e02e b.n 80bb508 80bb4aa: 687b ldr r3, [r7, #4] 80bb4ac: 685b ldr r3, [r3, #4] 80bb4ae: 2b00 cmp r3, #0 80bb4b0: d10c bne.n 80bb4cc 80bb4b2: 4a7f ldr r2, [pc, #508] ; (80bb6b0 ) 80bb4b4: 4b7e ldr r3, [pc, #504] ; (80bb6b0 ) 80bb4b6: 681b ldr r3, [r3, #0] 80bb4b8: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80bb4bc: 6013 str r3, [r2, #0] 80bb4be: 4a7c ldr r2, [pc, #496] ; (80bb6b0 ) 80bb4c0: 4b7b ldr r3, [pc, #492] ; (80bb6b0 ) 80bb4c2: 681b ldr r3, [r3, #0] 80bb4c4: f423 2380 bic.w r3, r3, #262144 ; 0x40000 80bb4c8: 6013 str r3, [r2, #0] 80bb4ca: e01d b.n 80bb508 80bb4cc: 687b ldr r3, [r7, #4] 80bb4ce: 685b ldr r3, [r3, #4] 80bb4d0: f5b3 2fa0 cmp.w r3, #327680 ; 0x50000 80bb4d4: d10c bne.n 80bb4f0 80bb4d6: 4a76 ldr r2, [pc, #472] ; (80bb6b0 ) 80bb4d8: 4b75 ldr r3, [pc, #468] ; (80bb6b0 ) 80bb4da: 681b ldr r3, [r3, #0] 80bb4dc: f443 2380 orr.w r3, r3, #262144 ; 0x40000 80bb4e0: 6013 str r3, [r2, #0] 80bb4e2: 4a73 ldr r2, [pc, #460] ; (80bb6b0 ) 80bb4e4: 4b72 ldr r3, [pc, #456] ; (80bb6b0 ) 80bb4e6: 681b ldr r3, [r3, #0] 80bb4e8: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80bb4ec: 6013 str r3, [r2, #0] 80bb4ee: e00b b.n 80bb508 80bb4f0: 4a6f ldr r2, [pc, #444] ; (80bb6b0 ) 80bb4f2: 4b6f ldr r3, [pc, #444] ; (80bb6b0 ) 80bb4f4: 681b ldr r3, [r3, #0] 80bb4f6: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80bb4fa: 6013 str r3, [r2, #0] 80bb4fc: 4a6c ldr r2, [pc, #432] ; (80bb6b0 ) 80bb4fe: 4b6c ldr r3, [pc, #432] ; (80bb6b0 ) 80bb500: 681b ldr r3, [r3, #0] 80bb502: f423 2380 bic.w r3, r3, #262144 ; 0x40000 80bb506: 6013 str r3, [r2, #0] /* Check the HSE State */ if (RCC_OscInitStruct->HSEState != RCC_HSE_OFF) 80bb508: 687b ldr r3, [r7, #4] 80bb50a: 685b ldr r3, [r3, #4] 80bb50c: 2b00 cmp r3, #0 80bb50e: d013 beq.n 80bb538 { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bb510: f7fb fc88 bl 80b6e24 80bb514: 6138 str r0, [r7, #16] /* Wait till HSE is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 80bb516: e008 b.n 80bb52a { if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) 80bb518: f7fb fc84 bl 80b6e24 80bb51c: 4602 mov r2, r0 80bb51e: 693b ldr r3, [r7, #16] 80bb520: 1ad3 subs r3, r2, r3 80bb522: 2b64 cmp r3, #100 ; 0x64 80bb524: d901 bls.n 80bb52a { return HAL_TIMEOUT; 80bb526: 2303 movs r3, #3 80bb528: e229 b.n 80bb97e while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 80bb52a: 4b61 ldr r3, [pc, #388] ; (80bb6b0 ) 80bb52c: 681b ldr r3, [r3, #0] 80bb52e: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bb532: 2b00 cmp r3, #0 80bb534: d0f0 beq.n 80bb518 80bb536: e014 b.n 80bb562 } } else { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bb538: f7fb fc74 bl 80b6e24 80bb53c: 6138 str r0, [r7, #16] /* Wait till HSE is bypassed or disabled */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) 80bb53e: e008 b.n 80bb552 { if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) 80bb540: f7fb fc70 bl 80b6e24 80bb544: 4602 mov r2, r0 80bb546: 693b ldr r3, [r7, #16] 80bb548: 1ad3 subs r3, r2, r3 80bb54a: 2b64 cmp r3, #100 ; 0x64 80bb54c: d901 bls.n 80bb552 { return HAL_TIMEOUT; 80bb54e: 2303 movs r3, #3 80bb550: e215 b.n 80bb97e while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) 80bb552: 4b57 ldr r3, [pc, #348] ; (80bb6b0 ) 80bb554: 681b ldr r3, [r3, #0] 80bb556: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bb55a: 2b00 cmp r3, #0 80bb55c: d1f0 bne.n 80bb540 80bb55e: e000 b.n 80bb562 if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) 80bb560: bf00 nop } } } } /*----------------------------- HSI Configuration --------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) 80bb562: 687b ldr r3, [r7, #4] 80bb564: 681b ldr r3, [r3, #0] 80bb566: f003 0302 and.w r3, r3, #2 80bb56a: 2b00 cmp r3, #0 80bb56c: d069 beq.n 80bb642 /* 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) 80bb56e: 4b50 ldr r3, [pc, #320] ; (80bb6b0 ) 80bb570: 689b ldr r3, [r3, #8] 80bb572: f003 030c and.w r3, r3, #12 80bb576: 2b00 cmp r3, #0 80bb578: d00b beq.n 80bb592 || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSI))) 80bb57a: 4b4d ldr r3, [pc, #308] ; (80bb6b0 ) 80bb57c: 689b ldr r3, [r3, #8] 80bb57e: f003 030c and.w r3, r3, #12 80bb582: 2b08 cmp r3, #8 80bb584: d11c bne.n 80bb5c0 80bb586: 4b4a ldr r3, [pc, #296] ; (80bb6b0 ) 80bb588: 685b ldr r3, [r3, #4] 80bb58a: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bb58e: 2b00 cmp r3, #0 80bb590: d116 bne.n 80bb5c0 { /* 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)) 80bb592: 4b47 ldr r3, [pc, #284] ; (80bb6b0 ) 80bb594: 681b ldr r3, [r3, #0] 80bb596: f003 0302 and.w r3, r3, #2 80bb59a: 2b00 cmp r3, #0 80bb59c: d005 beq.n 80bb5aa 80bb59e: 687b ldr r3, [r7, #4] 80bb5a0: 68db ldr r3, [r3, #12] 80bb5a2: 2b01 cmp r3, #1 80bb5a4: d001 beq.n 80bb5aa { return HAL_ERROR; 80bb5a6: 2301 movs r3, #1 80bb5a8: e1e9 b.n 80bb97e } /* Otherwise, just the calibration is allowed */ else { /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 80bb5aa: 4941 ldr r1, [pc, #260] ; (80bb6b0 ) 80bb5ac: 4b40 ldr r3, [pc, #256] ; (80bb6b0 ) 80bb5ae: 681b ldr r3, [r3, #0] 80bb5b0: f023 02f8 bic.w r2, r3, #248 ; 0xf8 80bb5b4: 687b ldr r3, [r7, #4] 80bb5b6: 691b ldr r3, [r3, #16] 80bb5b8: 00db lsls r3, r3, #3 80bb5ba: 4313 orrs r3, r2 80bb5bc: 600b str r3, [r1, #0] if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON)) 80bb5be: e040 b.n 80bb642 } } else { /* Check the HSI State */ if ((RCC_OscInitStruct->HSIState) != RCC_HSI_OFF) 80bb5c0: 687b ldr r3, [r7, #4] 80bb5c2: 68db ldr r3, [r3, #12] 80bb5c4: 2b00 cmp r3, #0 80bb5c6: d023 beq.n 80bb610 { /* Enable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_ENABLE(); 80bb5c8: 4a39 ldr r2, [pc, #228] ; (80bb6b0 ) 80bb5ca: 4b39 ldr r3, [pc, #228] ; (80bb6b0 ) 80bb5cc: 681b ldr r3, [r3, #0] 80bb5ce: f043 0301 orr.w r3, r3, #1 80bb5d2: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bb5d4: f7fb fc26 bl 80b6e24 80bb5d8: 6138 str r0, [r7, #16] /* Wait till HSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 80bb5da: e008 b.n 80bb5ee { if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 80bb5dc: f7fb fc22 bl 80b6e24 80bb5e0: 4602 mov r2, r0 80bb5e2: 693b ldr r3, [r7, #16] 80bb5e4: 1ad3 subs r3, r2, r3 80bb5e6: 2b02 cmp r3, #2 80bb5e8: d901 bls.n 80bb5ee { return HAL_TIMEOUT; 80bb5ea: 2303 movs r3, #3 80bb5ec: e1c7 b.n 80bb97e while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 80bb5ee: 4b30 ldr r3, [pc, #192] ; (80bb6b0 ) 80bb5f0: 681b ldr r3, [r3, #0] 80bb5f2: f003 0302 and.w r3, r3, #2 80bb5f6: 2b00 cmp r3, #0 80bb5f8: d0f0 beq.n 80bb5dc } } /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 80bb5fa: 492d ldr r1, [pc, #180] ; (80bb6b0 ) 80bb5fc: 4b2c ldr r3, [pc, #176] ; (80bb6b0 ) 80bb5fe: 681b ldr r3, [r3, #0] 80bb600: f023 02f8 bic.w r2, r3, #248 ; 0xf8 80bb604: 687b ldr r3, [r7, #4] 80bb606: 691b ldr r3, [r3, #16] 80bb608: 00db lsls r3, r3, #3 80bb60a: 4313 orrs r3, r2 80bb60c: 600b str r3, [r1, #0] 80bb60e: e018 b.n 80bb642 } else { /* Disable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_DISABLE(); 80bb610: 4a27 ldr r2, [pc, #156] ; (80bb6b0 ) 80bb612: 4b27 ldr r3, [pc, #156] ; (80bb6b0 ) 80bb614: 681b ldr r3, [r3, #0] 80bb616: f023 0301 bic.w r3, r3, #1 80bb61a: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bb61c: f7fb fc02 bl 80b6e24 80bb620: 6138 str r0, [r7, #16] /* Wait till HSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) 80bb622: e008 b.n 80bb636 { if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 80bb624: f7fb fbfe bl 80b6e24 80bb628: 4602 mov r2, r0 80bb62a: 693b ldr r3, [r7, #16] 80bb62c: 1ad3 subs r3, r2, r3 80bb62e: 2b02 cmp r3, #2 80bb630: d901 bls.n 80bb636 { return HAL_TIMEOUT; 80bb632: 2303 movs r3, #3 80bb634: e1a3 b.n 80bb97e while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) 80bb636: 4b1e ldr r3, [pc, #120] ; (80bb6b0 ) 80bb638: 681b ldr r3, [r3, #0] 80bb63a: f003 0302 and.w r3, r3, #2 80bb63e: 2b00 cmp r3, #0 80bb640: d1f0 bne.n 80bb624 } } } } /*------------------------------ LSI Configuration -------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) 80bb642: 687b ldr r3, [r7, #4] 80bb644: 681b ldr r3, [r3, #0] 80bb646: f003 0308 and.w r3, r3, #8 80bb64a: 2b00 cmp r3, #0 80bb64c: d038 beq.n 80bb6c0 { /* Check the parameters */ assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState)); /* Check the LSI State */ if ((RCC_OscInitStruct->LSIState) != RCC_LSI_OFF) 80bb64e: 687b ldr r3, [r7, #4] 80bb650: 695b ldr r3, [r3, #20] 80bb652: 2b00 cmp r3, #0 80bb654: d019 beq.n 80bb68a { /* Enable the Internal Low Speed oscillator (LSI). */ __HAL_RCC_LSI_ENABLE(); 80bb656: 4a16 ldr r2, [pc, #88] ; (80bb6b0 ) 80bb658: 4b15 ldr r3, [pc, #84] ; (80bb6b0 ) 80bb65a: 6f5b ldr r3, [r3, #116] ; 0x74 80bb65c: f043 0301 orr.w r3, r3, #1 80bb660: 6753 str r3, [r2, #116] ; 0x74 /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bb662: f7fb fbdf bl 80b6e24 80bb666: 6138 str r0, [r7, #16] /* Wait till LSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) 80bb668: e008 b.n 80bb67c { if ((HAL_GetTick() - tickstart) > LSI_TIMEOUT_VALUE) 80bb66a: f7fb fbdb bl 80b6e24 80bb66e: 4602 mov r2, r0 80bb670: 693b ldr r3, [r7, #16] 80bb672: 1ad3 subs r3, r2, r3 80bb674: 2b02 cmp r3, #2 80bb676: d901 bls.n 80bb67c { return HAL_TIMEOUT; 80bb678: 2303 movs r3, #3 80bb67a: e180 b.n 80bb97e while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) 80bb67c: 4b0c ldr r3, [pc, #48] ; (80bb6b0 ) 80bb67e: 6f5b ldr r3, [r3, #116] ; 0x74 80bb680: f003 0302 and.w r3, r3, #2 80bb684: 2b00 cmp r3, #0 80bb686: d0f0 beq.n 80bb66a 80bb688: e01a b.n 80bb6c0 } } else { /* Disable the Internal Low Speed oscillator (LSI). */ __HAL_RCC_LSI_DISABLE(); 80bb68a: 4a09 ldr r2, [pc, #36] ; (80bb6b0 ) 80bb68c: 4b08 ldr r3, [pc, #32] ; (80bb6b0 ) 80bb68e: 6f5b ldr r3, [r3, #116] ; 0x74 80bb690: f023 0301 bic.w r3, r3, #1 80bb694: 6753 str r3, [r2, #116] ; 0x74 /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bb696: f7fb fbc5 bl 80b6e24 80bb69a: 6138 str r0, [r7, #16] /* Wait till LSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) 80bb69c: e00a b.n 80bb6b4 { if ((HAL_GetTick() - tickstart) > LSI_TIMEOUT_VALUE) 80bb69e: f7fb fbc1 bl 80b6e24 80bb6a2: 4602 mov r2, r0 80bb6a4: 693b ldr r3, [r7, #16] 80bb6a6: 1ad3 subs r3, r2, r3 80bb6a8: 2b02 cmp r3, #2 80bb6aa: d903 bls.n 80bb6b4 { return HAL_TIMEOUT; 80bb6ac: 2303 movs r3, #3 80bb6ae: e166 b.n 80bb97e 80bb6b0: 40023800 .word 0x40023800 while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) 80bb6b4: 4b92 ldr r3, [pc, #584] ; (80bb900 ) 80bb6b6: 6f5b ldr r3, [r3, #116] ; 0x74 80bb6b8: f003 0302 and.w r3, r3, #2 80bb6bc: 2b00 cmp r3, #0 80bb6be: d1ee bne.n 80bb69e } } } } /*------------------------------ LSE Configuration -------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) 80bb6c0: 687b ldr r3, [r7, #4] 80bb6c2: 681b ldr r3, [r3, #0] 80bb6c4: f003 0304 and.w r3, r3, #4 80bb6c8: 2b00 cmp r3, #0 80bb6ca: f000 80a4 beq.w 80bb816 /* 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()) 80bb6ce: 4b8c ldr r3, [pc, #560] ; (80bb900 ) 80bb6d0: 6c1b ldr r3, [r3, #64] ; 0x40 80bb6d2: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80bb6d6: 2b00 cmp r3, #0 80bb6d8: d10d bne.n 80bb6f6 { /* Enable Power Clock*/ __HAL_RCC_PWR_CLK_ENABLE(); 80bb6da: 4a89 ldr r2, [pc, #548] ; (80bb900 ) 80bb6dc: 4b88 ldr r3, [pc, #544] ; (80bb900 ) 80bb6de: 6c1b ldr r3, [r3, #64] ; 0x40 80bb6e0: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bb6e4: 6413 str r3, [r2, #64] ; 0x40 80bb6e6: 4b86 ldr r3, [pc, #536] ; (80bb900 ) 80bb6e8: 6c1b ldr r3, [r3, #64] ; 0x40 80bb6ea: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80bb6ee: 60bb str r3, [r7, #8] 80bb6f0: 68bb ldr r3, [r7, #8] pwrclkchanged = SET; 80bb6f2: 2301 movs r3, #1 80bb6f4: 75fb strb r3, [r7, #23] } if (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 80bb6f6: 4b83 ldr r3, [pc, #524] ; (80bb904 ) 80bb6f8: 681b ldr r3, [r3, #0] 80bb6fa: f403 7380 and.w r3, r3, #256 ; 0x100 80bb6fe: 2b00 cmp r3, #0 80bb700: d118 bne.n 80bb734 { /* Enable write access to Backup domain */ PWR->CR1 |= PWR_CR1_DBP; 80bb702: 4a80 ldr r2, [pc, #512] ; (80bb904 ) 80bb704: 4b7f ldr r3, [pc, #508] ; (80bb904 ) 80bb706: 681b ldr r3, [r3, #0] 80bb708: f443 7380 orr.w r3, r3, #256 ; 0x100 80bb70c: 6013 str r3, [r2, #0] /* Wait for Backup domain Write protection disable */ tickstart = HAL_GetTick(); 80bb70e: f7fb fb89 bl 80b6e24 80bb712: 6138 str r0, [r7, #16] while (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 80bb714: e008 b.n 80bb728 { if ((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) 80bb716: f7fb fb85 bl 80b6e24 80bb71a: 4602 mov r2, r0 80bb71c: 693b ldr r3, [r7, #16] 80bb71e: 1ad3 subs r3, r2, r3 80bb720: 2b64 cmp r3, #100 ; 0x64 80bb722: d901 bls.n 80bb728 { return HAL_TIMEOUT; 80bb724: 2303 movs r3, #3 80bb726: e12a b.n 80bb97e while (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 80bb728: 4b76 ldr r3, [pc, #472] ; (80bb904 ) 80bb72a: 681b ldr r3, [r3, #0] 80bb72c: f403 7380 and.w r3, r3, #256 ; 0x100 80bb730: 2b00 cmp r3, #0 80bb732: d0f0 beq.n 80bb716 } } } /* Set the new LSE configuration -----------------------------------------*/ __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState); 80bb734: 687b ldr r3, [r7, #4] 80bb736: 689b ldr r3, [r3, #8] 80bb738: 2b01 cmp r3, #1 80bb73a: d106 bne.n 80bb74a 80bb73c: 4a70 ldr r2, [pc, #448] ; (80bb900 ) 80bb73e: 4b70 ldr r3, [pc, #448] ; (80bb900 ) 80bb740: 6f1b ldr r3, [r3, #112] ; 0x70 80bb742: f043 0301 orr.w r3, r3, #1 80bb746: 6713 str r3, [r2, #112] ; 0x70 80bb748: e02d b.n 80bb7a6 80bb74a: 687b ldr r3, [r7, #4] 80bb74c: 689b ldr r3, [r3, #8] 80bb74e: 2b00 cmp r3, #0 80bb750: d10c bne.n 80bb76c 80bb752: 4a6b ldr r2, [pc, #428] ; (80bb900 ) 80bb754: 4b6a ldr r3, [pc, #424] ; (80bb900 ) 80bb756: 6f1b ldr r3, [r3, #112] ; 0x70 80bb758: f023 0301 bic.w r3, r3, #1 80bb75c: 6713 str r3, [r2, #112] ; 0x70 80bb75e: 4a68 ldr r2, [pc, #416] ; (80bb900 ) 80bb760: 4b67 ldr r3, [pc, #412] ; (80bb900 ) 80bb762: 6f1b ldr r3, [r3, #112] ; 0x70 80bb764: f023 0304 bic.w r3, r3, #4 80bb768: 6713 str r3, [r2, #112] ; 0x70 80bb76a: e01c b.n 80bb7a6 80bb76c: 687b ldr r3, [r7, #4] 80bb76e: 689b ldr r3, [r3, #8] 80bb770: 2b05 cmp r3, #5 80bb772: d10c bne.n 80bb78e 80bb774: 4a62 ldr r2, [pc, #392] ; (80bb900 ) 80bb776: 4b62 ldr r3, [pc, #392] ; (80bb900 ) 80bb778: 6f1b ldr r3, [r3, #112] ; 0x70 80bb77a: f043 0304 orr.w r3, r3, #4 80bb77e: 6713 str r3, [r2, #112] ; 0x70 80bb780: 4a5f ldr r2, [pc, #380] ; (80bb900 ) 80bb782: 4b5f ldr r3, [pc, #380] ; (80bb900 ) 80bb784: 6f1b ldr r3, [r3, #112] ; 0x70 80bb786: f043 0301 orr.w r3, r3, #1 80bb78a: 6713 str r3, [r2, #112] ; 0x70 80bb78c: e00b b.n 80bb7a6 80bb78e: 4a5c ldr r2, [pc, #368] ; (80bb900 ) 80bb790: 4b5b ldr r3, [pc, #364] ; (80bb900 ) 80bb792: 6f1b ldr r3, [r3, #112] ; 0x70 80bb794: f023 0301 bic.w r3, r3, #1 80bb798: 6713 str r3, [r2, #112] ; 0x70 80bb79a: 4a59 ldr r2, [pc, #356] ; (80bb900 ) 80bb79c: 4b58 ldr r3, [pc, #352] ; (80bb900 ) 80bb79e: 6f1b ldr r3, [r3, #112] ; 0x70 80bb7a0: f023 0304 bic.w r3, r3, #4 80bb7a4: 6713 str r3, [r2, #112] ; 0x70 /* Check the LSE State */ if ((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF) 80bb7a6: 687b ldr r3, [r7, #4] 80bb7a8: 689b ldr r3, [r3, #8] 80bb7aa: 2b00 cmp r3, #0 80bb7ac: d015 beq.n 80bb7da { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bb7ae: f7fb fb39 bl 80b6e24 80bb7b2: 6138 str r0, [r7, #16] /* Wait till LSE is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80bb7b4: e00a b.n 80bb7cc { if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 80bb7b6: f7fb fb35 bl 80b6e24 80bb7ba: 4602 mov r2, r0 80bb7bc: 693b ldr r3, [r7, #16] 80bb7be: 1ad3 subs r3, r2, r3 80bb7c0: f241 3288 movw r2, #5000 ; 0x1388 80bb7c4: 4293 cmp r3, r2 80bb7c6: d901 bls.n 80bb7cc { return HAL_TIMEOUT; 80bb7c8: 2303 movs r3, #3 80bb7ca: e0d8 b.n 80bb97e while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80bb7cc: 4b4c ldr r3, [pc, #304] ; (80bb900 ) 80bb7ce: 6f1b ldr r3, [r3, #112] ; 0x70 80bb7d0: f003 0302 and.w r3, r3, #2 80bb7d4: 2b00 cmp r3, #0 80bb7d6: d0ee beq.n 80bb7b6 80bb7d8: e014 b.n 80bb804 } } else { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bb7da: f7fb fb23 bl 80b6e24 80bb7de: 6138 str r0, [r7, #16] /* Wait till LSE is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) 80bb7e0: e00a b.n 80bb7f8 { if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 80bb7e2: f7fb fb1f bl 80b6e24 80bb7e6: 4602 mov r2, r0 80bb7e8: 693b ldr r3, [r7, #16] 80bb7ea: 1ad3 subs r3, r2, r3 80bb7ec: f241 3288 movw r2, #5000 ; 0x1388 80bb7f0: 4293 cmp r3, r2 80bb7f2: d901 bls.n 80bb7f8 { return HAL_TIMEOUT; 80bb7f4: 2303 movs r3, #3 80bb7f6: e0c2 b.n 80bb97e while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) 80bb7f8: 4b41 ldr r3, [pc, #260] ; (80bb900 ) 80bb7fa: 6f1b ldr r3, [r3, #112] ; 0x70 80bb7fc: f003 0302 and.w r3, r3, #2 80bb800: 2b00 cmp r3, #0 80bb802: d1ee bne.n 80bb7e2 } } } /* Restore clock configuration if changed */ if (pwrclkchanged == SET) 80bb804: 7dfb ldrb r3, [r7, #23] 80bb806: 2b01 cmp r3, #1 80bb808: d105 bne.n 80bb816 { __HAL_RCC_PWR_CLK_DISABLE(); 80bb80a: 4a3d ldr r2, [pc, #244] ; (80bb900 ) 80bb80c: 4b3c ldr r3, [pc, #240] ; (80bb900 ) 80bb80e: 6c1b ldr r3, [r3, #64] ; 0x40 80bb810: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 80bb814: 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) 80bb816: 687b ldr r3, [r7, #4] 80bb818: 699b ldr r3, [r3, #24] 80bb81a: 2b00 cmp r3, #0 80bb81c: f000 80ae beq.w 80bb97c { /* Check if the PLL is used as system clock or not */ if (__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_PLLCLK) 80bb820: 4b37 ldr r3, [pc, #220] ; (80bb900 ) 80bb822: 689b ldr r3, [r3, #8] 80bb824: f003 030c and.w r3, r3, #12 80bb828: 2b08 cmp r3, #8 80bb82a: d06d beq.n 80bb908 { if ((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON) 80bb82c: 687b ldr r3, [r7, #4] 80bb82e: 699b ldr r3, [r3, #24] 80bb830: 2b02 cmp r3, #2 80bb832: d14b bne.n 80bb8cc #if defined (RCC_PLLCFGR_PLLR) assert_param(IS_RCC_PLLR_VALUE(RCC_OscInitStruct->PLL.PLLR)); #endif /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); 80bb834: 4a32 ldr r2, [pc, #200] ; (80bb900 ) 80bb836: 4b32 ldr r3, [pc, #200] ; (80bb900 ) 80bb838: 681b ldr r3, [r3, #0] 80bb83a: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 80bb83e: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bb840: f7fb faf0 bl 80b6e24 80bb844: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80bb846: e008 b.n 80bb85a { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 80bb848: f7fb faec bl 80b6e24 80bb84c: 4602 mov r2, r0 80bb84e: 693b ldr r3, [r7, #16] 80bb850: 1ad3 subs r3, r2, r3 80bb852: 2b02 cmp r3, #2 80bb854: d901 bls.n 80bb85a { return HAL_TIMEOUT; 80bb856: 2303 movs r3, #3 80bb858: e091 b.n 80bb97e while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80bb85a: 4b29 ldr r3, [pc, #164] ; (80bb900 ) 80bb85c: 681b ldr r3, [r3, #0] 80bb85e: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bb862: 2b00 cmp r3, #0 80bb864: d1f0 bne.n 80bb848 } } /* Configure the main PLL clock source, multiplication and division factors. */ #if defined (RCC_PLLCFGR_PLLR) __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource, 80bb866: 4926 ldr r1, [pc, #152] ; (80bb900 ) 80bb868: 687b ldr r3, [r7, #4] 80bb86a: 69da ldr r2, [r3, #28] 80bb86c: 687b ldr r3, [r7, #4] 80bb86e: 6a1b ldr r3, [r3, #32] 80bb870: 431a orrs r2, r3 80bb872: 687b ldr r3, [r7, #4] 80bb874: 6a5b ldr r3, [r3, #36] ; 0x24 80bb876: 019b lsls r3, r3, #6 80bb878: 431a orrs r2, r3 80bb87a: 687b ldr r3, [r7, #4] 80bb87c: 6a9b ldr r3, [r3, #40] ; 0x28 80bb87e: 085b lsrs r3, r3, #1 80bb880: 3b01 subs r3, #1 80bb882: 041b lsls r3, r3, #16 80bb884: 431a orrs r2, r3 80bb886: 687b ldr r3, [r7, #4] 80bb888: 6adb ldr r3, [r3, #44] ; 0x2c 80bb88a: 061b lsls r3, r3, #24 80bb88c: 431a orrs r2, r3 80bb88e: 687b ldr r3, [r7, #4] 80bb890: 6b1b ldr r3, [r3, #48] ; 0x30 80bb892: 071b lsls r3, r3, #28 80bb894: 4313 orrs r3, r2 80bb896: 604b str r3, [r1, #4] RCC_OscInitStruct->PLL.PLLP, RCC_OscInitStruct->PLL.PLLQ); #endif /* Enable the main PLL. */ __HAL_RCC_PLL_ENABLE(); 80bb898: 4a19 ldr r2, [pc, #100] ; (80bb900 ) 80bb89a: 4b19 ldr r3, [pc, #100] ; (80bb900 ) 80bb89c: 681b ldr r3, [r3, #0] 80bb89e: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 80bb8a2: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bb8a4: f7fb fabe bl 80b6e24 80bb8a8: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 80bb8aa: e008 b.n 80bb8be { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 80bb8ac: f7fb faba bl 80b6e24 80bb8b0: 4602 mov r2, r0 80bb8b2: 693b ldr r3, [r7, #16] 80bb8b4: 1ad3 subs r3, r2, r3 80bb8b6: 2b02 cmp r3, #2 80bb8b8: d901 bls.n 80bb8be { return HAL_TIMEOUT; 80bb8ba: 2303 movs r3, #3 80bb8bc: e05f b.n 80bb97e while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 80bb8be: 4b10 ldr r3, [pc, #64] ; (80bb900 ) 80bb8c0: 681b ldr r3, [r3, #0] 80bb8c2: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bb8c6: 2b00 cmp r3, #0 80bb8c8: d0f0 beq.n 80bb8ac 80bb8ca: e057 b.n 80bb97c } } else { /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); 80bb8cc: 4a0c ldr r2, [pc, #48] ; (80bb900 ) 80bb8ce: 4b0c ldr r3, [pc, #48] ; (80bb900 ) 80bb8d0: 681b ldr r3, [r3, #0] 80bb8d2: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 80bb8d6: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bb8d8: f7fb faa4 bl 80b6e24 80bb8dc: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80bb8de: e008 b.n 80bb8f2 { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 80bb8e0: f7fb faa0 bl 80b6e24 80bb8e4: 4602 mov r2, r0 80bb8e6: 693b ldr r3, [r7, #16] 80bb8e8: 1ad3 subs r3, r2, r3 80bb8ea: 2b02 cmp r3, #2 80bb8ec: d901 bls.n 80bb8f2 { return HAL_TIMEOUT; 80bb8ee: 2303 movs r3, #3 80bb8f0: e045 b.n 80bb97e while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80bb8f2: 4b03 ldr r3, [pc, #12] ; (80bb900 ) 80bb8f4: 681b ldr r3, [r3, #0] 80bb8f6: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bb8fa: 2b00 cmp r3, #0 80bb8fc: d1f0 bne.n 80bb8e0 80bb8fe: e03d b.n 80bb97c 80bb900: 40023800 .word 0x40023800 80bb904: 40007000 .word 0x40007000 } } else { /* Do not return HAL_ERROR if request repeats the current configuration */ pll_config = RCC->PLLCFGR; 80bb908: 4b1f ldr r3, [pc, #124] ; (80bb988 ) 80bb90a: 685b ldr r3, [r3, #4] 80bb90c: 60fb str r3, [r7, #12] #if defined (RCC_PLLCFGR_PLLR) if (((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) || 80bb90e: 687b ldr r3, [r7, #4] 80bb910: 699b ldr r3, [r3, #24] 80bb912: 2b01 cmp r3, #1 80bb914: d030 beq.n 80bb978 (READ_BIT(pll_config, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 80bb916: 68fb ldr r3, [r7, #12] 80bb918: f403 0280 and.w r2, r3, #4194304 ; 0x400000 80bb91c: 687b ldr r3, [r7, #4] 80bb91e: 69db ldr r3, [r3, #28] if (((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) || 80bb920: 429a cmp r2, r3 80bb922: d129 bne.n 80bb978 (READ_BIT(pll_config, RCC_PLLCFGR_PLLM) != RCC_OscInitStruct->PLL.PLLM) || 80bb924: 68fb ldr r3, [r7, #12] 80bb926: f003 023f and.w r2, r3, #63 ; 0x3f 80bb92a: 687b ldr r3, [r7, #4] 80bb92c: 6a1b ldr r3, [r3, #32] (READ_BIT(pll_config, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 80bb92e: 429a cmp r2, r3 80bb930: d122 bne.n 80bb978 (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN << RCC_PLLCFGR_PLLN_Pos)) || 80bb932: 68fa ldr r2, [r7, #12] 80bb934: f647 73c0 movw r3, #32704 ; 0x7fc0 80bb938: 4013 ands r3, r2 80bb93a: 687a ldr r2, [r7, #4] 80bb93c: 6a52 ldr r2, [r2, #36] ; 0x24 80bb93e: 0192 lsls r2, r2, #6 (READ_BIT(pll_config, RCC_PLLCFGR_PLLM) != RCC_OscInitStruct->PLL.PLLM) || 80bb940: 4293 cmp r3, r2 80bb942: d119 bne.n 80bb978 (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != ((((RCC_OscInitStruct->PLL.PLLP) >> 1U) - 1U) << RCC_PLLCFGR_PLLP_Pos)) || 80bb944: 68fb ldr r3, [r7, #12] 80bb946: f403 3240 and.w r2, r3, #196608 ; 0x30000 80bb94a: 687b ldr r3, [r7, #4] 80bb94c: 6a9b ldr r3, [r3, #40] ; 0x28 80bb94e: 085b lsrs r3, r3, #1 80bb950: 3b01 subs r3, #1 80bb952: 041b lsls r3, r3, #16 (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN << RCC_PLLCFGR_PLLN_Pos)) || 80bb954: 429a cmp r2, r3 80bb956: d10f bne.n 80bb978 (READ_BIT(pll_config, RCC_PLLCFGR_PLLQ) != (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_PLLQ_Pos)) || 80bb958: 68fb ldr r3, [r7, #12] 80bb95a: f003 6270 and.w r2, r3, #251658240 ; 0xf000000 80bb95e: 687b ldr r3, [r7, #4] 80bb960: 6adb ldr r3, [r3, #44] ; 0x2c 80bb962: 061b lsls r3, r3, #24 (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != ((((RCC_OscInitStruct->PLL.PLLP) >> 1U) - 1U) << RCC_PLLCFGR_PLLP_Pos)) || 80bb964: 429a cmp r2, r3 80bb966: d107 bne.n 80bb978 (READ_BIT(pll_config, RCC_PLLCFGR_PLLR) != (RCC_OscInitStruct->PLL.PLLR << RCC_PLLCFGR_PLLR_Pos))) 80bb968: 68fb ldr r3, [r7, #12] 80bb96a: f003 42e0 and.w r2, r3, #1879048192 ; 0x70000000 80bb96e: 687b ldr r3, [r7, #4] 80bb970: 6b1b ldr r3, [r3, #48] ; 0x30 80bb972: 071b lsls r3, r3, #28 (READ_BIT(pll_config, RCC_PLLCFGR_PLLQ) != (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_PLLQ_Pos)) || 80bb974: 429a cmp r2, r3 80bb976: d001 beq.n 80bb97c (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; 80bb978: 2301 movs r3, #1 80bb97a: e000 b.n 80bb97e } } } return HAL_OK; 80bb97c: 2300 movs r3, #0 } 80bb97e: 4618 mov r0, r3 80bb980: 3718 adds r7, #24 80bb982: 46bd mov sp, r7 80bb984: bd80 pop {r7, pc} 80bb986: bf00 nop 80bb988: 40023800 .word 0x40023800 080bb98c : * 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) { 80bb98c: b580 push {r7, lr} 80bb98e: b084 sub sp, #16 80bb990: af00 add r7, sp, #0 80bb992: 6078 str r0, [r7, #4] 80bb994: 6039 str r1, [r7, #0] uint32_t tickstart = 0; 80bb996: 2300 movs r3, #0 80bb998: 60fb str r3, [r7, #12] /* Check Null pointer */ if (RCC_ClkInitStruct == NULL) 80bb99a: 687b ldr r3, [r7, #4] 80bb99c: 2b00 cmp r3, #0 80bb99e: d101 bne.n 80bb9a4 { return HAL_ERROR; 80bb9a0: 2301 movs r3, #1 80bb9a2: e0d0 b.n 80bbb46 /* 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()) 80bb9a4: 4b6a ldr r3, [pc, #424] ; (80bbb50 ) 80bb9a6: 681b ldr r3, [r3, #0] 80bb9a8: f003 020f and.w r2, r3, #15 80bb9ac: 683b ldr r3, [r7, #0] 80bb9ae: 429a cmp r2, r3 80bb9b0: d210 bcs.n 80bb9d4 { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); 80bb9b2: 4967 ldr r1, [pc, #412] ; (80bbb50 ) 80bb9b4: 4b66 ldr r3, [pc, #408] ; (80bbb50 ) 80bb9b6: 681b ldr r3, [r3, #0] 80bb9b8: f023 020f bic.w r2, r3, #15 80bb9bc: 683b ldr r3, [r7, #0] 80bb9be: 4313 orrs r3, r2 80bb9c0: 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) 80bb9c2: 4b63 ldr r3, [pc, #396] ; (80bbb50 ) 80bb9c4: 681b ldr r3, [r3, #0] 80bb9c6: f003 020f and.w r2, r3, #15 80bb9ca: 683b ldr r3, [r7, #0] 80bb9cc: 429a cmp r2, r3 80bb9ce: d001 beq.n 80bb9d4 { return HAL_ERROR; 80bb9d0: 2301 movs r3, #1 80bb9d2: e0b8 b.n 80bbb46 } } /*-------------------------- HCLK Configuration --------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) 80bb9d4: 687b ldr r3, [r7, #4] 80bb9d6: 681b ldr r3, [r3, #0] 80bb9d8: f003 0302 and.w r3, r3, #2 80bb9dc: 2b00 cmp r3, #0 80bb9de: d020 beq.n 80bba22 { /* 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) 80bb9e0: 687b ldr r3, [r7, #4] 80bb9e2: 681b ldr r3, [r3, #0] 80bb9e4: f003 0304 and.w r3, r3, #4 80bb9e8: 2b00 cmp r3, #0 80bb9ea: d005 beq.n 80bb9f8 { MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_HCLK_DIV16); 80bb9ec: 4a59 ldr r2, [pc, #356] ; (80bbb54 ) 80bb9ee: 4b59 ldr r3, [pc, #356] ; (80bbb54 ) 80bb9f0: 689b ldr r3, [r3, #8] 80bb9f2: f443 53e0 orr.w r3, r3, #7168 ; 0x1c00 80bb9f6: 6093 str r3, [r2, #8] } if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 80bb9f8: 687b ldr r3, [r7, #4] 80bb9fa: 681b ldr r3, [r3, #0] 80bb9fc: f003 0308 and.w r3, r3, #8 80bba00: 2b00 cmp r3, #0 80bba02: d005 beq.n 80bba10 { MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, (RCC_HCLK_DIV16 << 3)); 80bba04: 4a53 ldr r2, [pc, #332] ; (80bbb54 ) 80bba06: 4b53 ldr r3, [pc, #332] ; (80bbb54 ) 80bba08: 689b ldr r3, [r3, #8] 80bba0a: f443 4360 orr.w r3, r3, #57344 ; 0xe000 80bba0e: 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); 80bba10: 4950 ldr r1, [pc, #320] ; (80bbb54 ) 80bba12: 4b50 ldr r3, [pc, #320] ; (80bbb54 ) 80bba14: 689b ldr r3, [r3, #8] 80bba16: f023 02f0 bic.w r2, r3, #240 ; 0xf0 80bba1a: 687b ldr r3, [r7, #4] 80bba1c: 689b ldr r3, [r3, #8] 80bba1e: 4313 orrs r3, r2 80bba20: 608b str r3, [r1, #8] } /*------------------------- SYSCLK Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) 80bba22: 687b ldr r3, [r7, #4] 80bba24: 681b ldr r3, [r3, #0] 80bba26: f003 0301 and.w r3, r3, #1 80bba2a: 2b00 cmp r3, #0 80bba2c: d040 beq.n 80bbab0 { assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); /* HSE is selected as System Clock Source */ if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) 80bba2e: 687b ldr r3, [r7, #4] 80bba30: 685b ldr r3, [r3, #4] 80bba32: 2b01 cmp r3, #1 80bba34: d107 bne.n 80bba46 { /* Check the HSE ready flag */ if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 80bba36: 4b47 ldr r3, [pc, #284] ; (80bbb54 ) 80bba38: 681b ldr r3, [r3, #0] 80bba3a: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bba3e: 2b00 cmp r3, #0 80bba40: d115 bne.n 80bba6e { return HAL_ERROR; 80bba42: 2301 movs r3, #1 80bba44: e07f b.n 80bbb46 } } /* PLL is selected as System Clock Source */ else if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) 80bba46: 687b ldr r3, [r7, #4] 80bba48: 685b ldr r3, [r3, #4] 80bba4a: 2b02 cmp r3, #2 80bba4c: d107 bne.n 80bba5e { /* Check the PLL ready flag */ if (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 80bba4e: 4b41 ldr r3, [pc, #260] ; (80bbb54 ) 80bba50: 681b ldr r3, [r3, #0] 80bba52: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bba56: 2b00 cmp r3, #0 80bba58: d109 bne.n 80bba6e { return HAL_ERROR; 80bba5a: 2301 movs r3, #1 80bba5c: e073 b.n 80bbb46 } /* HSI is selected as System Clock Source */ else { /* Check the HSI ready flag */ if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 80bba5e: 4b3d ldr r3, [pc, #244] ; (80bbb54 ) 80bba60: 681b ldr r3, [r3, #0] 80bba62: f003 0302 and.w r3, r3, #2 80bba66: 2b00 cmp r3, #0 80bba68: d101 bne.n 80bba6e { return HAL_ERROR; 80bba6a: 2301 movs r3, #1 80bba6c: e06b b.n 80bbb46 } } __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource); 80bba6e: 4939 ldr r1, [pc, #228] ; (80bbb54 ) 80bba70: 4b38 ldr r3, [pc, #224] ; (80bbb54 ) 80bba72: 689b ldr r3, [r3, #8] 80bba74: f023 0203 bic.w r2, r3, #3 80bba78: 687b ldr r3, [r7, #4] 80bba7a: 685b ldr r3, [r3, #4] 80bba7c: 4313 orrs r3, r2 80bba7e: 608b str r3, [r1, #8] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bba80: f7fb f9d0 bl 80b6e24 80bba84: 60f8 str r0, [r7, #12] while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) 80bba86: e00a b.n 80bba9e { if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) 80bba88: f7fb f9cc bl 80b6e24 80bba8c: 4602 mov r2, r0 80bba8e: 68fb ldr r3, [r7, #12] 80bba90: 1ad3 subs r3, r2, r3 80bba92: f241 3288 movw r2, #5000 ; 0x1388 80bba96: 4293 cmp r3, r2 80bba98: d901 bls.n 80bba9e { return HAL_TIMEOUT; 80bba9a: 2303 movs r3, #3 80bba9c: e053 b.n 80bbb46 while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) 80bba9e: 4b2d ldr r3, [pc, #180] ; (80bbb54 ) 80bbaa0: 689b ldr r3, [r3, #8] 80bbaa2: f003 020c and.w r2, r3, #12 80bbaa6: 687b ldr r3, [r7, #4] 80bbaa8: 685b ldr r3, [r3, #4] 80bbaaa: 009b lsls r3, r3, #2 80bbaac: 429a cmp r2, r3 80bbaae: d1eb bne.n 80bba88 } } } /* Decreasing the number of wait states because of lower CPU frequency */ if (FLatency < __HAL_FLASH_GET_LATENCY()) 80bbab0: 4b27 ldr r3, [pc, #156] ; (80bbb50 ) 80bbab2: 681b ldr r3, [r3, #0] 80bbab4: f003 020f and.w r2, r3, #15 80bbab8: 683b ldr r3, [r7, #0] 80bbaba: 429a cmp r2, r3 80bbabc: d910 bls.n 80bbae0 { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); 80bbabe: 4924 ldr r1, [pc, #144] ; (80bbb50 ) 80bbac0: 4b23 ldr r3, [pc, #140] ; (80bbb50 ) 80bbac2: 681b ldr r3, [r3, #0] 80bbac4: f023 020f bic.w r2, r3, #15 80bbac8: 683b ldr r3, [r7, #0] 80bbaca: 4313 orrs r3, r2 80bbacc: 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) 80bbace: 4b20 ldr r3, [pc, #128] ; (80bbb50 ) 80bbad0: 681b ldr r3, [r3, #0] 80bbad2: f003 020f and.w r2, r3, #15 80bbad6: 683b ldr r3, [r7, #0] 80bbad8: 429a cmp r2, r3 80bbada: d001 beq.n 80bbae0 { return HAL_ERROR; 80bbadc: 2301 movs r3, #1 80bbade: e032 b.n 80bbb46 } } /*-------------------------- PCLK1 Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 80bbae0: 687b ldr r3, [r7, #4] 80bbae2: 681b ldr r3, [r3, #0] 80bbae4: f003 0304 and.w r3, r3, #4 80bbae8: 2b00 cmp r3, #0 80bbaea: d008 beq.n 80bbafe { assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); 80bbaec: 4919 ldr r1, [pc, #100] ; (80bbb54 ) 80bbaee: 4b19 ldr r3, [pc, #100] ; (80bbb54 ) 80bbaf0: 689b ldr r3, [r3, #8] 80bbaf2: f423 52e0 bic.w r2, r3, #7168 ; 0x1c00 80bbaf6: 687b ldr r3, [r7, #4] 80bbaf8: 68db ldr r3, [r3, #12] 80bbafa: 4313 orrs r3, r2 80bbafc: 608b str r3, [r1, #8] } /*-------------------------- PCLK2 Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 80bbafe: 687b ldr r3, [r7, #4] 80bbb00: 681b ldr r3, [r3, #0] 80bbb02: f003 0308 and.w r3, r3, #8 80bbb06: 2b00 cmp r3, #0 80bbb08: d009 beq.n 80bbb1e { assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3)); 80bbb0a: 4912 ldr r1, [pc, #72] ; (80bbb54 ) 80bbb0c: 4b11 ldr r3, [pc, #68] ; (80bbb54 ) 80bbb0e: 689b ldr r3, [r3, #8] 80bbb10: f423 4260 bic.w r2, r3, #57344 ; 0xe000 80bbb14: 687b ldr r3, [r7, #4] 80bbb16: 691b ldr r3, [r3, #16] 80bbb18: 00db lsls r3, r3, #3 80bbb1a: 4313 orrs r3, r2 80bbb1c: 608b str r3, [r1, #8] } /* Update the SystemCoreClock global variable */ SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_Pos]; 80bbb1e: f000 f821 bl 80bbb64 80bbb22: 4601 mov r1, r0 80bbb24: 4b0b ldr r3, [pc, #44] ; (80bbb54 ) 80bbb26: 689b ldr r3, [r3, #8] 80bbb28: 091b lsrs r3, r3, #4 80bbb2a: f003 030f and.w r3, r3, #15 80bbb2e: 4a0a ldr r2, [pc, #40] ; (80bbb58 ) 80bbb30: 5cd3 ldrb r3, [r2, r3] 80bbb32: fa21 f303 lsr.w r3, r1, r3 80bbb36: 4a09 ldr r2, [pc, #36] ; (80bbb5c ) 80bbb38: 6013 str r3, [r2, #0] /* Configure the source of time base considering new system clocks settings*/ HAL_InitTick(uwTickPrio); 80bbb3a: 4b09 ldr r3, [pc, #36] ; (80bbb60 ) 80bbb3c: 681b ldr r3, [r3, #0] 80bbb3e: 4618 mov r0, r3 80bbb40: f7fb f92c bl 80b6d9c return HAL_OK; 80bbb44: 2300 movs r3, #0 } 80bbb46: 4618 mov r0, r3 80bbb48: 3710 adds r7, #16 80bbb4a: 46bd mov sp, r7 80bbb4c: bd80 pop {r7, pc} 80bbb4e: bf00 nop 80bbb50: 40023c00 .word 0x40023c00 80bbb54: 40023800 .word 0x40023800 80bbb58: 080f3be4 .word 0x080f3be4 80bbb5c: 200209bc .word 0x200209bc 80bbb60: 200209e0 .word 0x200209e0 080bbb64 : * * * @retval SYSCLK frequency */ uint32_t HAL_RCC_GetSysClockFreq(void) { 80bbb64: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80bbb68: b087 sub sp, #28 80bbb6a: af00 add r7, sp, #0 uint32_t pllm = 0, pllvco = 0, pllp = 0; 80bbb6c: 2200 movs r2, #0 80bbb6e: 60fa str r2, [r7, #12] 80bbb70: 2200 movs r2, #0 80bbb72: 617a str r2, [r7, #20] 80bbb74: 2200 movs r2, #0 80bbb76: 60ba str r2, [r7, #8] uint32_t sysclockfreq = 0; 80bbb78: 2200 movs r2, #0 80bbb7a: 613a str r2, [r7, #16] /* Get SYSCLK source -------------------------------------------------------*/ switch (RCC->CFGR & RCC_CFGR_SWS) 80bbb7c: 4a51 ldr r2, [pc, #324] ; (80bbcc4 ) 80bbb7e: 6892 ldr r2, [r2, #8] 80bbb80: f002 020c and.w r2, r2, #12 80bbb84: 2a04 cmp r2, #4 80bbb86: d007 beq.n 80bbb98 80bbb88: 2a08 cmp r2, #8 80bbb8a: d008 beq.n 80bbb9e 80bbb8c: 2a00 cmp r2, #0 80bbb8e: f040 8090 bne.w 80bbcb2 { case RCC_SYSCLKSOURCE_STATUS_HSI: /* HSI used as system clock source */ { sysclockfreq = HSI_VALUE; 80bbb92: 4b4d ldr r3, [pc, #308] ; (80bbcc8 ) 80bbb94: 613b str r3, [r7, #16] break; 80bbb96: e08f b.n 80bbcb8 } case RCC_SYSCLKSOURCE_STATUS_HSE: /* HSE used as system clock source */ { sysclockfreq = HSE_VALUE; 80bbb98: 4b4c ldr r3, [pc, #304] ; (80bbccc ) 80bbb9a: 613b str r3, [r7, #16] break; 80bbb9c: e08c b.n 80bbcb8 } 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; 80bbb9e: 4a49 ldr r2, [pc, #292] ; (80bbcc4 ) 80bbba0: 6852 ldr r2, [r2, #4] 80bbba2: f002 023f and.w r2, r2, #63 ; 0x3f 80bbba6: 60fa str r2, [r7, #12] if (__HAL_RCC_GET_PLL_OSCSOURCE() != RCC_PLLCFGR_PLLSRC_HSI) 80bbba8: 4a46 ldr r2, [pc, #280] ; (80bbcc4 ) 80bbbaa: 6852 ldr r2, [r2, #4] 80bbbac: f402 0280 and.w r2, r2, #4194304 ; 0x400000 80bbbb0: 2a00 cmp r2, #0 80bbbb2: d023 beq.n 80bbbfc { /* 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); 80bbbb4: 4b43 ldr r3, [pc, #268] ; (80bbcc4 ) 80bbbb6: 685b ldr r3, [r3, #4] 80bbbb8: 099b lsrs r3, r3, #6 80bbbba: f04f 0400 mov.w r4, #0 80bbbbe: f240 11ff movw r1, #511 ; 0x1ff 80bbbc2: f04f 0200 mov.w r2, #0 80bbbc6: ea03 0301 and.w r3, r3, r1 80bbbca: ea04 0402 and.w r4, r4, r2 80bbbce: 4a3f ldr r2, [pc, #252] ; (80bbccc ) 80bbbd0: fb02 f104 mul.w r1, r2, r4 80bbbd4: 2200 movs r2, #0 80bbbd6: fb02 f203 mul.w r2, r2, r3 80bbbda: 440a add r2, r1 80bbbdc: 493b ldr r1, [pc, #236] ; (80bbccc ) 80bbbde: fba3 0101 umull r0, r1, r3, r1 80bbbe2: 1853 adds r3, r2, r1 80bbbe4: 4619 mov r1, r3 80bbbe6: 68fb ldr r3, [r7, #12] 80bbbe8: f04f 0400 mov.w r4, #0 80bbbec: 461a mov r2, r3 80bbbee: 4623 mov r3, r4 80bbbf0: f764 fcfc bl 80205ec <__aeabi_uldivmod> 80bbbf4: 4603 mov r3, r0 80bbbf6: 460c mov r4, r1 80bbbf8: 617b str r3, [r7, #20] 80bbbfa: e04c b.n 80bbc96 } 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); 80bbbfc: 4a31 ldr r2, [pc, #196] ; (80bbcc4 ) 80bbbfe: 6852 ldr r2, [r2, #4] 80bbc00: 0992 lsrs r2, r2, #6 80bbc02: 4611 mov r1, r2 80bbc04: f04f 0200 mov.w r2, #0 80bbc08: f240 15ff movw r5, #511 ; 0x1ff 80bbc0c: f04f 0600 mov.w r6, #0 80bbc10: ea05 0501 and.w r5, r5, r1 80bbc14: ea06 0602 and.w r6, r6, r2 80bbc18: 4629 mov r1, r5 80bbc1a: 4632 mov r2, r6 80bbc1c: ea4f 1b42 mov.w fp, r2, lsl #5 80bbc20: ea4b 6bd1 orr.w fp, fp, r1, lsr #27 80bbc24: ea4f 1a41 mov.w sl, r1, lsl #5 80bbc28: 4651 mov r1, sl 80bbc2a: 465a mov r2, fp 80bbc2c: 46aa mov sl, r5 80bbc2e: 46b3 mov fp, r6 80bbc30: 4655 mov r5, sl 80bbc32: 465e mov r6, fp 80bbc34: 1b4d subs r5, r1, r5 80bbc36: eb62 0606 sbc.w r6, r2, r6 80bbc3a: 4629 mov r1, r5 80bbc3c: 4632 mov r2, r6 80bbc3e: 0194 lsls r4, r2, #6 80bbc40: ea44 6491 orr.w r4, r4, r1, lsr #26 80bbc44: 018b lsls r3, r1, #6 80bbc46: 1a5b subs r3, r3, r1 80bbc48: eb64 0402 sbc.w r4, r4, r2 80bbc4c: ea4f 09c4 mov.w r9, r4, lsl #3 80bbc50: ea49 7953 orr.w r9, r9, r3, lsr #29 80bbc54: ea4f 08c3 mov.w r8, r3, lsl #3 80bbc58: 4643 mov r3, r8 80bbc5a: 464c mov r4, r9 80bbc5c: 4655 mov r5, sl 80bbc5e: 465e mov r6, fp 80bbc60: 18ed adds r5, r5, r3 80bbc62: eb46 0604 adc.w r6, r6, r4 80bbc66: 462b mov r3, r5 80bbc68: 4634 mov r4, r6 80bbc6a: 02a2 lsls r2, r4, #10 80bbc6c: 607a str r2, [r7, #4] 80bbc6e: 687a ldr r2, [r7, #4] 80bbc70: ea42 5293 orr.w r2, r2, r3, lsr #22 80bbc74: 607a str r2, [r7, #4] 80bbc76: 029b lsls r3, r3, #10 80bbc78: 603b str r3, [r7, #0] 80bbc7a: e897 0018 ldmia.w r7, {r3, r4} 80bbc7e: 4618 mov r0, r3 80bbc80: 4621 mov r1, r4 80bbc82: 68fb ldr r3, [r7, #12] 80bbc84: f04f 0400 mov.w r4, #0 80bbc88: 461a mov r2, r3 80bbc8a: 4623 mov r3, r4 80bbc8c: f764 fcae bl 80205ec <__aeabi_uldivmod> 80bbc90: 4603 mov r3, r0 80bbc92: 460c mov r4, r1 80bbc94: 617b str r3, [r7, #20] } pllp = ((((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >> RCC_PLLCFGR_PLLP_Pos) + 1) * 2); 80bbc96: 4b0b ldr r3, [pc, #44] ; (80bbcc4 ) 80bbc98: 685b ldr r3, [r3, #4] 80bbc9a: 0c1b lsrs r3, r3, #16 80bbc9c: f003 0303 and.w r3, r3, #3 80bbca0: 3301 adds r3, #1 80bbca2: 005b lsls r3, r3, #1 80bbca4: 60bb str r3, [r7, #8] sysclockfreq = pllvco / pllp; 80bbca6: 697a ldr r2, [r7, #20] 80bbca8: 68bb ldr r3, [r7, #8] 80bbcaa: fbb2 f3f3 udiv r3, r2, r3 80bbcae: 613b str r3, [r7, #16] break; 80bbcb0: e002 b.n 80bbcb8 } default: { sysclockfreq = HSI_VALUE; 80bbcb2: 4b05 ldr r3, [pc, #20] ; (80bbcc8 ) 80bbcb4: 613b str r3, [r7, #16] break; 80bbcb6: bf00 nop } } return sysclockfreq; 80bbcb8: 693b ldr r3, [r7, #16] } 80bbcba: 4618 mov r0, r3 80bbcbc: 371c adds r7, #28 80bbcbe: 46bd mov sp, r7 80bbcc0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80bbcc4: 40023800 .word 0x40023800 80bbcc8: 00f42400 .word 0x00f42400 80bbccc: 017d7840 .word 0x017d7840 080bbcd0 : * 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) { 80bbcd0: b480 push {r7} 80bbcd2: af00 add r7, sp, #0 return SystemCoreClock; 80bbcd4: 4b03 ldr r3, [pc, #12] ; (80bbce4 ) 80bbcd6: 681b ldr r3, [r3, #0] } 80bbcd8: 4618 mov r0, r3 80bbcda: 46bd mov sp, r7 80bbcdc: f85d 7b04 ldr.w r7, [sp], #4 80bbce0: 4770 bx lr 80bbce2: bf00 nop 80bbce4: 200209bc .word 0x200209bc 080bbce8 : * the backup registers) are set to their reset values. * * @retval HAL status */ HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit) { 80bbce8: b580 push {r7, lr} 80bbcea: b088 sub sp, #32 80bbcec: af00 add r7, sp, #0 80bbcee: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80bbcf0: 2300 movs r3, #0 80bbcf2: 617b str r3, [r7, #20] uint32_t tmpreg0 = 0; 80bbcf4: 2300 movs r3, #0 80bbcf6: 613b str r3, [r7, #16] uint32_t tmpreg1 = 0; 80bbcf8: 2300 movs r3, #0 80bbcfa: 60fb str r3, [r7, #12] uint32_t plli2sused = 0; 80bbcfc: 2300 movs r3, #0 80bbcfe: 61fb str r3, [r7, #28] uint32_t pllsaiused = 0; 80bbd00: 2300 movs r3, #0 80bbd02: 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)) 80bbd04: 687b ldr r3, [r7, #4] 80bbd06: 681b ldr r3, [r3, #0] 80bbd08: f003 0301 and.w r3, r3, #1 80bbd0c: 2b00 cmp r3, #0 80bbd0e: d012 beq.n 80bbd36 { /* Check the parameters */ assert_param(IS_RCC_I2SCLKSOURCE(PeriphClkInit->I2sClockSelection)); /* Configure I2S Clock source */ __HAL_RCC_I2S_CONFIG(PeriphClkInit->I2sClockSelection); 80bbd10: 4a69 ldr r2, [pc, #420] ; (80bbeb8 ) 80bbd12: 4b69 ldr r3, [pc, #420] ; (80bbeb8 ) 80bbd14: 689b ldr r3, [r3, #8] 80bbd16: f423 0300 bic.w r3, r3, #8388608 ; 0x800000 80bbd1a: 6093 str r3, [r2, #8] 80bbd1c: 4966 ldr r1, [pc, #408] ; (80bbeb8 ) 80bbd1e: 4b66 ldr r3, [pc, #408] ; (80bbeb8 ) 80bbd20: 689a ldr r2, [r3, #8] 80bbd22: 687b ldr r3, [r7, #4] 80bbd24: 6b5b ldr r3, [r3, #52] ; 0x34 80bbd26: 4313 orrs r3, r2 80bbd28: 608b str r3, [r1, #8] /* Enable the PLLI2S when it's used as clock source for I2S */ if(PeriphClkInit->I2sClockSelection == RCC_I2SCLKSOURCE_PLLI2S) 80bbd2a: 687b ldr r3, [r7, #4] 80bbd2c: 6b5b ldr r3, [r3, #52] ; 0x34 80bbd2e: 2b00 cmp r3, #0 80bbd30: d101 bne.n 80bbd36 { plli2sused = 1; 80bbd32: 2301 movs r3, #1 80bbd34: 61fb str r3, [r7, #28] } } /*------------------------------------ SAI1 configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == (RCC_PERIPHCLK_SAI1)) 80bbd36: 687b ldr r3, [r7, #4] 80bbd38: 681b ldr r3, [r3, #0] 80bbd3a: f403 2300 and.w r3, r3, #524288 ; 0x80000 80bbd3e: 2b00 cmp r3, #0 80bbd40: d017 beq.n 80bbd72 { /* Check the parameters */ assert_param(IS_RCC_SAI1CLKSOURCE(PeriphClkInit->Sai1ClockSelection)); /* Configure SAI1 Clock source */ __HAL_RCC_SAI1_CONFIG(PeriphClkInit->Sai1ClockSelection); 80bbd42: 495d ldr r1, [pc, #372] ; (80bbeb8 ) 80bbd44: 4b5c ldr r3, [pc, #368] ; (80bbeb8 ) 80bbd46: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bbd4a: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 80bbd4e: 687b ldr r3, [r7, #4] 80bbd50: 6bdb ldr r3, [r3, #60] ; 0x3c 80bbd52: 4313 orrs r3, r2 80bbd54: 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) 80bbd58: 687b ldr r3, [r7, #4] 80bbd5a: 6bdb ldr r3, [r3, #60] ; 0x3c 80bbd5c: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80bbd60: d101 bne.n 80bbd66 { plli2sused = 1; 80bbd62: 2301 movs r3, #1 80bbd64: 61fb str r3, [r7, #28] } /* Enable the PLLSAI when it's used as clock source for SAI */ if(PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI) 80bbd66: 687b ldr r3, [r7, #4] 80bbd68: 6bdb ldr r3, [r3, #60] ; 0x3c 80bbd6a: 2b00 cmp r3, #0 80bbd6c: d101 bne.n 80bbd72 { pllsaiused = 1; 80bbd6e: 2301 movs r3, #1 80bbd70: 61bb str r3, [r7, #24] } } /*------------------------------------ SAI2 configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == (RCC_PERIPHCLK_SAI2)) 80bbd72: 687b ldr r3, [r7, #4] 80bbd74: 681b ldr r3, [r3, #0] 80bbd76: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80bbd7a: 2b00 cmp r3, #0 80bbd7c: d017 beq.n 80bbdae { /* Check the parameters */ assert_param(IS_RCC_SAI2CLKSOURCE(PeriphClkInit->Sai2ClockSelection)); /* Configure SAI2 Clock source */ __HAL_RCC_SAI2_CONFIG(PeriphClkInit->Sai2ClockSelection); 80bbd7e: 494e ldr r1, [pc, #312] ; (80bbeb8 ) 80bbd80: 4b4d ldr r3, [pc, #308] ; (80bbeb8 ) 80bbd82: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bbd86: f423 0240 bic.w r2, r3, #12582912 ; 0xc00000 80bbd8a: 687b ldr r3, [r7, #4] 80bbd8c: 6c1b ldr r3, [r3, #64] ; 0x40 80bbd8e: 4313 orrs r3, r2 80bbd90: 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) 80bbd94: 687b ldr r3, [r7, #4] 80bbd96: 6c1b ldr r3, [r3, #64] ; 0x40 80bbd98: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 80bbd9c: d101 bne.n 80bbda2 { plli2sused = 1; 80bbd9e: 2301 movs r3, #1 80bbda0: 61fb str r3, [r7, #28] } /* Enable the PLLSAI when it's used as clock source for SAI */ if(PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI) 80bbda2: 687b ldr r3, [r7, #4] 80bbda4: 6c1b ldr r3, [r3, #64] ; 0x40 80bbda6: 2b00 cmp r3, #0 80bbda8: d101 bne.n 80bbdae { pllsaiused = 1; 80bbdaa: 2301 movs r3, #1 80bbdac: 61bb str r3, [r7, #24] } } /*-------------------------------------- SPDIF-RX Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX) 80bbdae: 687b ldr r3, [r7, #4] 80bbdb0: 681b ldr r3, [r3, #0] 80bbdb2: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80bbdb6: 2b00 cmp r3, #0 80bbdb8: d001 beq.n 80bbdbe { plli2sused = 1; 80bbdba: 2301 movs r3, #1 80bbdbc: 61fb str r3, [r7, #28] } /*------------------------------------ RTC configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RTC) == (RCC_PERIPHCLK_RTC)) 80bbdbe: 687b ldr r3, [r7, #4] 80bbdc0: 681b ldr r3, [r3, #0] 80bbdc2: f003 0320 and.w r3, r3, #32 80bbdc6: 2b00 cmp r3, #0 80bbdc8: f000 808b beq.w 80bbee2 { /* Check for RTC Parameters used to output RTCCLK */ assert_param(IS_RCC_RTCCLKSOURCE(PeriphClkInit->RTCClockSelection)); /* Enable Power Clock*/ __HAL_RCC_PWR_CLK_ENABLE(); 80bbdcc: 4a3a ldr r2, [pc, #232] ; (80bbeb8 ) 80bbdce: 4b3a ldr r3, [pc, #232] ; (80bbeb8 ) 80bbdd0: 6c1b ldr r3, [r3, #64] ; 0x40 80bbdd2: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bbdd6: 6413 str r3, [r2, #64] ; 0x40 80bbdd8: 4b37 ldr r3, [pc, #220] ; (80bbeb8 ) 80bbdda: 6c1b ldr r3, [r3, #64] ; 0x40 80bbddc: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80bbde0: 60bb str r3, [r7, #8] 80bbde2: 68bb ldr r3, [r7, #8] /* Enable write access to Backup domain */ PWR->CR1 |= PWR_CR1_DBP; 80bbde4: 4a35 ldr r2, [pc, #212] ; (80bbebc ) 80bbde6: 4b35 ldr r3, [pc, #212] ; (80bbebc ) 80bbde8: 681b ldr r3, [r3, #0] 80bbdea: f443 7380 orr.w r3, r3, #256 ; 0x100 80bbdee: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bbdf0: f7fb f818 bl 80b6e24 80bbdf4: 6178 str r0, [r7, #20] /* Wait for Backup domain Write protection disable */ while((PWR->CR1 & PWR_CR1_DBP) == RESET) 80bbdf6: e008 b.n 80bbe0a { if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) 80bbdf8: f7fb f814 bl 80b6e24 80bbdfc: 4602 mov r2, r0 80bbdfe: 697b ldr r3, [r7, #20] 80bbe00: 1ad3 subs r3, r2, r3 80bbe02: 2b64 cmp r3, #100 ; 0x64 80bbe04: d901 bls.n 80bbe0a { return HAL_TIMEOUT; 80bbe06: 2303 movs r3, #3 80bbe08: e38d b.n 80bc526 while((PWR->CR1 & PWR_CR1_DBP) == RESET) 80bbe0a: 4b2c ldr r3, [pc, #176] ; (80bbebc ) 80bbe0c: 681b ldr r3, [r3, #0] 80bbe0e: f403 7380 and.w r3, r3, #256 ; 0x100 80bbe12: 2b00 cmp r3, #0 80bbe14: d0f0 beq.n 80bbdf8 } } /* Reset the Backup domain only if the RTC Clock source selection is modified */ tmpreg0 = (RCC->BDCR & RCC_BDCR_RTCSEL); 80bbe16: 4b28 ldr r3, [pc, #160] ; (80bbeb8 ) 80bbe18: 6f1b ldr r3, [r3, #112] ; 0x70 80bbe1a: f403 7340 and.w r3, r3, #768 ; 0x300 80bbe1e: 613b str r3, [r7, #16] if((tmpreg0 != 0x00000000U) && (tmpreg0 != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSEL))) 80bbe20: 693b ldr r3, [r7, #16] 80bbe22: 2b00 cmp r3, #0 80bbe24: d035 beq.n 80bbe92 80bbe26: 687b ldr r3, [r7, #4] 80bbe28: 6b1b ldr r3, [r3, #48] ; 0x30 80bbe2a: f403 7240 and.w r2, r3, #768 ; 0x300 80bbe2e: 693b ldr r3, [r7, #16] 80bbe30: 429a cmp r2, r3 80bbe32: d02e beq.n 80bbe92 { /* Store the content of BDCR register before the reset of Backup Domain */ tmpreg0 = (RCC->BDCR & ~(RCC_BDCR_RTCSEL)); 80bbe34: 4b20 ldr r3, [pc, #128] ; (80bbeb8 ) 80bbe36: 6f1b ldr r3, [r3, #112] ; 0x70 80bbe38: f423 7340 bic.w r3, r3, #768 ; 0x300 80bbe3c: 613b str r3, [r7, #16] /* RTC Clock selection can be changed only if the Backup Domain is reset */ __HAL_RCC_BACKUPRESET_FORCE(); 80bbe3e: 4a1e ldr r2, [pc, #120] ; (80bbeb8 ) 80bbe40: 4b1d ldr r3, [pc, #116] ; (80bbeb8 ) 80bbe42: 6f1b ldr r3, [r3, #112] ; 0x70 80bbe44: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80bbe48: 6713 str r3, [r2, #112] ; 0x70 __HAL_RCC_BACKUPRESET_RELEASE(); 80bbe4a: 4a1b ldr r2, [pc, #108] ; (80bbeb8 ) 80bbe4c: 4b1a ldr r3, [pc, #104] ; (80bbeb8 ) 80bbe4e: 6f1b ldr r3, [r3, #112] ; 0x70 80bbe50: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80bbe54: 6713 str r3, [r2, #112] ; 0x70 /* Restore the Content of BDCR register */ RCC->BDCR = tmpreg0; 80bbe56: 4a18 ldr r2, [pc, #96] ; (80bbeb8 ) 80bbe58: 693b ldr r3, [r7, #16] 80bbe5a: 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)) 80bbe5c: 4b16 ldr r3, [pc, #88] ; (80bbeb8 ) 80bbe5e: 6f1b ldr r3, [r3, #112] ; 0x70 80bbe60: f003 0301 and.w r3, r3, #1 80bbe64: 2b01 cmp r3, #1 80bbe66: d114 bne.n 80bbe92 { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bbe68: f7fa ffdc bl 80b6e24 80bbe6c: 6178 str r0, [r7, #20] /* Wait till LSE is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80bbe6e: e00a b.n 80bbe86 { if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) 80bbe70: f7fa ffd8 bl 80b6e24 80bbe74: 4602 mov r2, r0 80bbe76: 697b ldr r3, [r7, #20] 80bbe78: 1ad3 subs r3, r2, r3 80bbe7a: f241 3288 movw r2, #5000 ; 0x1388 80bbe7e: 4293 cmp r3, r2 80bbe80: d901 bls.n 80bbe86 { return HAL_TIMEOUT; 80bbe82: 2303 movs r3, #3 80bbe84: e34f b.n 80bc526 while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80bbe86: 4b0c ldr r3, [pc, #48] ; (80bbeb8 ) 80bbe88: 6f1b ldr r3, [r3, #112] ; 0x70 80bbe8a: f003 0302 and.w r3, r3, #2 80bbe8e: 2b00 cmp r3, #0 80bbe90: d0ee beq.n 80bbe70 } } } } __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection); 80bbe92: 687b ldr r3, [r7, #4] 80bbe94: 6b1b ldr r3, [r3, #48] ; 0x30 80bbe96: f403 7340 and.w r3, r3, #768 ; 0x300 80bbe9a: f5b3 7f40 cmp.w r3, #768 ; 0x300 80bbe9e: d111 bne.n 80bbec4 80bbea0: 4805 ldr r0, [pc, #20] ; (80bbeb8 ) 80bbea2: 4b05 ldr r3, [pc, #20] ; (80bbeb8 ) 80bbea4: 689b ldr r3, [r3, #8] 80bbea6: f423 12f8 bic.w r2, r3, #2031616 ; 0x1f0000 80bbeaa: 687b ldr r3, [r7, #4] 80bbeac: 6b19 ldr r1, [r3, #48] ; 0x30 80bbeae: 4b04 ldr r3, [pc, #16] ; (80bbec0 ) 80bbeb0: 400b ands r3, r1 80bbeb2: 4313 orrs r3, r2 80bbeb4: 6083 str r3, [r0, #8] 80bbeb6: e00b b.n 80bbed0 80bbeb8: 40023800 .word 0x40023800 80bbebc: 40007000 .word 0x40007000 80bbec0: 0ffffcff .word 0x0ffffcff 80bbec4: 4ab2 ldr r2, [pc, #712] ; (80bc190 ) 80bbec6: 4bb2 ldr r3, [pc, #712] ; (80bc190 ) 80bbec8: 689b ldr r3, [r3, #8] 80bbeca: f423 13f8 bic.w r3, r3, #2031616 ; 0x1f0000 80bbece: 6093 str r3, [r2, #8] 80bbed0: 49af ldr r1, [pc, #700] ; (80bc190 ) 80bbed2: 4baf ldr r3, [pc, #700] ; (80bc190 ) 80bbed4: 6f1a ldr r2, [r3, #112] ; 0x70 80bbed6: 687b ldr r3, [r7, #4] 80bbed8: 6b1b ldr r3, [r3, #48] ; 0x30 80bbeda: f3c3 030b ubfx r3, r3, #0, #12 80bbede: 4313 orrs r3, r2 80bbee0: 670b str r3, [r1, #112] ; 0x70 } /*------------------------------------ TIM configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_TIM) == (RCC_PERIPHCLK_TIM)) 80bbee2: 687b ldr r3, [r7, #4] 80bbee4: 681b ldr r3, [r3, #0] 80bbee6: f003 0310 and.w r3, r3, #16 80bbeea: 2b00 cmp r3, #0 80bbeec: d010 beq.n 80bbf10 { /* Check the parameters */ assert_param(IS_RCC_TIMPRES(PeriphClkInit->TIMPresSelection)); /* Configure Timer Prescaler */ __HAL_RCC_TIMCLKPRESCALER(PeriphClkInit->TIMPresSelection); 80bbeee: 4aa8 ldr r2, [pc, #672] ; (80bc190 ) 80bbef0: 4ba7 ldr r3, [pc, #668] ; (80bc190 ) 80bbef2: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bbef6: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 80bbefa: f8c2 308c str.w r3, [r2, #140] ; 0x8c 80bbefe: 49a4 ldr r1, [pc, #656] ; (80bc190 ) 80bbf00: 4ba3 ldr r3, [pc, #652] ; (80bc190 ) 80bbf02: f8d3 208c ldr.w r2, [r3, #140] ; 0x8c 80bbf06: 687b ldr r3, [r7, #4] 80bbf08: 6b9b ldr r3, [r3, #56] ; 0x38 80bbf0a: 4313 orrs r3, r2 80bbf0c: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*-------------------------------------- I2C1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C1) == RCC_PERIPHCLK_I2C1) 80bbf10: 687b ldr r3, [r7, #4] 80bbf12: 681b ldr r3, [r3, #0] 80bbf14: f403 4380 and.w r3, r3, #16384 ; 0x4000 80bbf18: 2b00 cmp r3, #0 80bbf1a: d00a beq.n 80bbf32 { /* Check the parameters */ assert_param(IS_RCC_I2C1CLKSOURCE(PeriphClkInit->I2c1ClockSelection)); /* Configure the I2C1 clock source */ __HAL_RCC_I2C1_CONFIG(PeriphClkInit->I2c1ClockSelection); 80bbf1c: 499c ldr r1, [pc, #624] ; (80bc190 ) 80bbf1e: 4b9c ldr r3, [pc, #624] ; (80bc190 ) 80bbf20: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bbf24: f423 3240 bic.w r2, r3, #196608 ; 0x30000 80bbf28: 687b ldr r3, [r7, #4] 80bbf2a: 6e5b ldr r3, [r3, #100] ; 0x64 80bbf2c: 4313 orrs r3, r2 80bbf2e: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C2 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C2) == RCC_PERIPHCLK_I2C2) 80bbf32: 687b ldr r3, [r7, #4] 80bbf34: 681b ldr r3, [r3, #0] 80bbf36: f403 4300 and.w r3, r3, #32768 ; 0x8000 80bbf3a: 2b00 cmp r3, #0 80bbf3c: d00a beq.n 80bbf54 { /* Check the parameters */ assert_param(IS_RCC_I2C2CLKSOURCE(PeriphClkInit->I2c2ClockSelection)); /* Configure the I2C2 clock source */ __HAL_RCC_I2C2_CONFIG(PeriphClkInit->I2c2ClockSelection); 80bbf3e: 4994 ldr r1, [pc, #592] ; (80bc190 ) 80bbf40: 4b93 ldr r3, [pc, #588] ; (80bc190 ) 80bbf42: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bbf46: f423 2240 bic.w r2, r3, #786432 ; 0xc0000 80bbf4a: 687b ldr r3, [r7, #4] 80bbf4c: 6e9b ldr r3, [r3, #104] ; 0x68 80bbf4e: 4313 orrs r3, r2 80bbf50: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C3 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C3) == RCC_PERIPHCLK_I2C3) 80bbf54: 687b ldr r3, [r7, #4] 80bbf56: 681b ldr r3, [r3, #0] 80bbf58: f403 3380 and.w r3, r3, #65536 ; 0x10000 80bbf5c: 2b00 cmp r3, #0 80bbf5e: d00a beq.n 80bbf76 { /* Check the parameters */ assert_param(IS_RCC_I2C3CLKSOURCE(PeriphClkInit->I2c3ClockSelection)); /* Configure the I2C3 clock source */ __HAL_RCC_I2C3_CONFIG(PeriphClkInit->I2c3ClockSelection); 80bbf60: 498b ldr r1, [pc, #556] ; (80bc190 ) 80bbf62: 4b8b ldr r3, [pc, #556] ; (80bc190 ) 80bbf64: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bbf68: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 80bbf6c: 687b ldr r3, [r7, #4] 80bbf6e: 6edb ldr r3, [r3, #108] ; 0x6c 80bbf70: 4313 orrs r3, r2 80bbf72: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C4 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C4) == RCC_PERIPHCLK_I2C4) 80bbf76: 687b ldr r3, [r7, #4] 80bbf78: 681b ldr r3, [r3, #0] 80bbf7a: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bbf7e: 2b00 cmp r3, #0 80bbf80: d00a beq.n 80bbf98 { /* Check the parameters */ assert_param(IS_RCC_I2C4CLKSOURCE(PeriphClkInit->I2c4ClockSelection)); /* Configure the I2C4 clock source */ __HAL_RCC_I2C4_CONFIG(PeriphClkInit->I2c4ClockSelection); 80bbf82: 4983 ldr r1, [pc, #524] ; (80bc190 ) 80bbf84: 4b82 ldr r3, [pc, #520] ; (80bc190 ) 80bbf86: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bbf8a: f423 0240 bic.w r2, r3, #12582912 ; 0xc00000 80bbf8e: 687b ldr r3, [r7, #4] 80bbf90: 6f1b ldr r3, [r3, #112] ; 0x70 80bbf92: 4313 orrs r3, r2 80bbf94: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART1) == RCC_PERIPHCLK_USART1) 80bbf98: 687b ldr r3, [r7, #4] 80bbf9a: 681b ldr r3, [r3, #0] 80bbf9c: f003 0340 and.w r3, r3, #64 ; 0x40 80bbfa0: 2b00 cmp r3, #0 80bbfa2: d00a beq.n 80bbfba { /* Check the parameters */ assert_param(IS_RCC_USART1CLKSOURCE(PeriphClkInit->Usart1ClockSelection)); /* Configure the USART1 clock source */ __HAL_RCC_USART1_CONFIG(PeriphClkInit->Usart1ClockSelection); 80bbfa4: 497a ldr r1, [pc, #488] ; (80bc190 ) 80bbfa6: 4b7a ldr r3, [pc, #488] ; (80bc190 ) 80bbfa8: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bbfac: f023 0203 bic.w r2, r3, #3 80bbfb0: 687b ldr r3, [r7, #4] 80bbfb2: 6c5b ldr r3, [r3, #68] ; 0x44 80bbfb4: 4313 orrs r3, r2 80bbfb6: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART2 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART2) == RCC_PERIPHCLK_USART2) 80bbfba: 687b ldr r3, [r7, #4] 80bbfbc: 681b ldr r3, [r3, #0] 80bbfbe: f003 0380 and.w r3, r3, #128 ; 0x80 80bbfc2: 2b00 cmp r3, #0 80bbfc4: d00a beq.n 80bbfdc { /* Check the parameters */ assert_param(IS_RCC_USART2CLKSOURCE(PeriphClkInit->Usart2ClockSelection)); /* Configure the USART2 clock source */ __HAL_RCC_USART2_CONFIG(PeriphClkInit->Usart2ClockSelection); 80bbfc6: 4972 ldr r1, [pc, #456] ; (80bc190 ) 80bbfc8: 4b71 ldr r3, [pc, #452] ; (80bc190 ) 80bbfca: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bbfce: f023 020c bic.w r2, r3, #12 80bbfd2: 687b ldr r3, [r7, #4] 80bbfd4: 6c9b ldr r3, [r3, #72] ; 0x48 80bbfd6: 4313 orrs r3, r2 80bbfd8: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART3 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART3) == RCC_PERIPHCLK_USART3) 80bbfdc: 687b ldr r3, [r7, #4] 80bbfde: 681b ldr r3, [r3, #0] 80bbfe0: f403 7380 and.w r3, r3, #256 ; 0x100 80bbfe4: 2b00 cmp r3, #0 80bbfe6: d00a beq.n 80bbffe { /* Check the parameters */ assert_param(IS_RCC_USART3CLKSOURCE(PeriphClkInit->Usart3ClockSelection)); /* Configure the USART3 clock source */ __HAL_RCC_USART3_CONFIG(PeriphClkInit->Usart3ClockSelection); 80bbfe8: 4969 ldr r1, [pc, #420] ; (80bc190 ) 80bbfea: 4b69 ldr r3, [pc, #420] ; (80bc190 ) 80bbfec: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bbff0: f023 0230 bic.w r2, r3, #48 ; 0x30 80bbff4: 687b ldr r3, [r7, #4] 80bbff6: 6cdb ldr r3, [r3, #76] ; 0x4c 80bbff8: 4313 orrs r3, r2 80bbffa: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART4 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART4) == RCC_PERIPHCLK_UART4) 80bbffe: 687b ldr r3, [r7, #4] 80bc000: 681b ldr r3, [r3, #0] 80bc002: f403 7300 and.w r3, r3, #512 ; 0x200 80bc006: 2b00 cmp r3, #0 80bc008: d00a beq.n 80bc020 { /* Check the parameters */ assert_param(IS_RCC_UART4CLKSOURCE(PeriphClkInit->Uart4ClockSelection)); /* Configure the UART4 clock source */ __HAL_RCC_UART4_CONFIG(PeriphClkInit->Uart4ClockSelection); 80bc00a: 4961 ldr r1, [pc, #388] ; (80bc190 ) 80bc00c: 4b60 ldr r3, [pc, #384] ; (80bc190 ) 80bc00e: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bc012: f023 02c0 bic.w r2, r3, #192 ; 0xc0 80bc016: 687b ldr r3, [r7, #4] 80bc018: 6d1b ldr r3, [r3, #80] ; 0x50 80bc01a: 4313 orrs r3, r2 80bc01c: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART5 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART5) == RCC_PERIPHCLK_UART5) 80bc020: 687b ldr r3, [r7, #4] 80bc022: 681b ldr r3, [r3, #0] 80bc024: f403 6380 and.w r3, r3, #1024 ; 0x400 80bc028: 2b00 cmp r3, #0 80bc02a: d00a beq.n 80bc042 { /* Check the parameters */ assert_param(IS_RCC_UART5CLKSOURCE(PeriphClkInit->Uart5ClockSelection)); /* Configure the UART5 clock source */ __HAL_RCC_UART5_CONFIG(PeriphClkInit->Uart5ClockSelection); 80bc02c: 4958 ldr r1, [pc, #352] ; (80bc190 ) 80bc02e: 4b58 ldr r3, [pc, #352] ; (80bc190 ) 80bc030: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bc034: f423 7240 bic.w r2, r3, #768 ; 0x300 80bc038: 687b ldr r3, [r7, #4] 80bc03a: 6d5b ldr r3, [r3, #84] ; 0x54 80bc03c: 4313 orrs r3, r2 80bc03e: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART6 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART6) == RCC_PERIPHCLK_USART6) 80bc042: 687b ldr r3, [r7, #4] 80bc044: 681b ldr r3, [r3, #0] 80bc046: f403 6300 and.w r3, r3, #2048 ; 0x800 80bc04a: 2b00 cmp r3, #0 80bc04c: d00a beq.n 80bc064 { /* Check the parameters */ assert_param(IS_RCC_USART6CLKSOURCE(PeriphClkInit->Usart6ClockSelection)); /* Configure the USART6 clock source */ __HAL_RCC_USART6_CONFIG(PeriphClkInit->Usart6ClockSelection); 80bc04e: 4950 ldr r1, [pc, #320] ; (80bc190 ) 80bc050: 4b4f ldr r3, [pc, #316] ; (80bc190 ) 80bc052: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bc056: f423 6240 bic.w r2, r3, #3072 ; 0xc00 80bc05a: 687b ldr r3, [r7, #4] 80bc05c: 6d9b ldr r3, [r3, #88] ; 0x58 80bc05e: 4313 orrs r3, r2 80bc060: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART7 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART7) == RCC_PERIPHCLK_UART7) 80bc064: 687b ldr r3, [r7, #4] 80bc066: 681b ldr r3, [r3, #0] 80bc068: f403 5380 and.w r3, r3, #4096 ; 0x1000 80bc06c: 2b00 cmp r3, #0 80bc06e: d00a beq.n 80bc086 { /* Check the parameters */ assert_param(IS_RCC_UART7CLKSOURCE(PeriphClkInit->Uart7ClockSelection)); /* Configure the UART7 clock source */ __HAL_RCC_UART7_CONFIG(PeriphClkInit->Uart7ClockSelection); 80bc070: 4947 ldr r1, [pc, #284] ; (80bc190 ) 80bc072: 4b47 ldr r3, [pc, #284] ; (80bc190 ) 80bc074: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bc078: f423 5240 bic.w r2, r3, #12288 ; 0x3000 80bc07c: 687b ldr r3, [r7, #4] 80bc07e: 6ddb ldr r3, [r3, #92] ; 0x5c 80bc080: 4313 orrs r3, r2 80bc082: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART8 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART8) == RCC_PERIPHCLK_UART8) 80bc086: 687b ldr r3, [r7, #4] 80bc088: 681b ldr r3, [r3, #0] 80bc08a: f403 5300 and.w r3, r3, #8192 ; 0x2000 80bc08e: 2b00 cmp r3, #0 80bc090: d00a beq.n 80bc0a8 { /* Check the parameters */ assert_param(IS_RCC_UART8CLKSOURCE(PeriphClkInit->Uart8ClockSelection)); /* Configure the UART8 clock source */ __HAL_RCC_UART8_CONFIG(PeriphClkInit->Uart8ClockSelection); 80bc092: 493f ldr r1, [pc, #252] ; (80bc190 ) 80bc094: 4b3e ldr r3, [pc, #248] ; (80bc190 ) 80bc096: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bc09a: f423 4240 bic.w r2, r3, #49152 ; 0xc000 80bc09e: 687b ldr r3, [r7, #4] 80bc0a0: 6e1b ldr r3, [r3, #96] ; 0x60 80bc0a2: 4313 orrs r3, r2 80bc0a4: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*--------------------------------------- CEC Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CEC) == RCC_PERIPHCLK_CEC) 80bc0a8: 687b ldr r3, [r7, #4] 80bc0aa: 681b ldr r3, [r3, #0] 80bc0ac: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bc0b0: 2b00 cmp r3, #0 80bc0b2: d00a beq.n 80bc0ca { /* Check the parameters */ assert_param(IS_RCC_CECCLKSOURCE(PeriphClkInit->CecClockSelection)); /* Configure the CEC clock source */ __HAL_RCC_CEC_CONFIG(PeriphClkInit->CecClockSelection); 80bc0b4: 4936 ldr r1, [pc, #216] ; (80bc190 ) 80bc0b6: 4b36 ldr r3, [pc, #216] ; (80bc190 ) 80bc0b8: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bc0bc: f023 6280 bic.w r2, r3, #67108864 ; 0x4000000 80bc0c0: 687b ldr r3, [r7, #4] 80bc0c2: 6f9b ldr r3, [r3, #120] ; 0x78 80bc0c4: 4313 orrs r3, r2 80bc0c6: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- CK48 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CLK48) == RCC_PERIPHCLK_CLK48) 80bc0ca: 687b ldr r3, [r7, #4] 80bc0cc: 681b ldr r3, [r3, #0] 80bc0ce: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80bc0d2: 2b00 cmp r3, #0 80bc0d4: d011 beq.n 80bc0fa { /* Check the parameters */ assert_param(IS_RCC_CLK48SOURCE(PeriphClkInit->Clk48ClockSelection)); /* Configure the CLK48 source */ __HAL_RCC_CLK48_CONFIG(PeriphClkInit->Clk48ClockSelection); 80bc0d6: 492e ldr r1, [pc, #184] ; (80bc190 ) 80bc0d8: 4b2d ldr r3, [pc, #180] ; (80bc190 ) 80bc0da: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bc0de: f023 6200 bic.w r2, r3, #134217728 ; 0x8000000 80bc0e2: 687b ldr r3, [r7, #4] 80bc0e4: 6fdb ldr r3, [r3, #124] ; 0x7c 80bc0e6: 4313 orrs r3, r2 80bc0e8: 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) 80bc0ec: 687b ldr r3, [r7, #4] 80bc0ee: 6fdb ldr r3, [r3, #124] ; 0x7c 80bc0f0: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 80bc0f4: d101 bne.n 80bc0fa { pllsaiused = 1; 80bc0f6: 2301 movs r3, #1 80bc0f8: 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) 80bc0fa: 687b ldr r3, [r7, #4] 80bc0fc: 681b ldr r3, [r3, #0] 80bc0fe: f003 0308 and.w r3, r3, #8 80bc102: 2b00 cmp r3, #0 80bc104: d001 beq.n 80bc10a { pllsaiused = 1; 80bc106: 2301 movs r3, #1 80bc108: 61bb str r3, [r7, #24] } #endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx */ /*-------------------------------------- LPTIM1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPTIM1) == RCC_PERIPHCLK_LPTIM1) 80bc10a: 687b ldr r3, [r7, #4] 80bc10c: 681b ldr r3, [r3, #0] 80bc10e: f403 2380 and.w r3, r3, #262144 ; 0x40000 80bc112: 2b00 cmp r3, #0 80bc114: d00a beq.n 80bc12c { /* Check the parameters */ assert_param(IS_RCC_LPTIM1CLK(PeriphClkInit->Lptim1ClockSelection)); /* Configure the LTPIM1 clock source */ __HAL_RCC_LPTIM1_CONFIG(PeriphClkInit->Lptim1ClockSelection); 80bc116: 491e ldr r1, [pc, #120] ; (80bc190 ) 80bc118: 4b1d ldr r3, [pc, #116] ; (80bc190 ) 80bc11a: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bc11e: f023 7240 bic.w r2, r3, #50331648 ; 0x3000000 80bc122: 687b ldr r3, [r7, #4] 80bc124: 6f5b ldr r3, [r3, #116] ; 0x74 80bc126: 4313 orrs r3, r2 80bc128: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*------------------------------------- SDMMC1 Configuration ------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC1) == RCC_PERIPHCLK_SDMMC1) 80bc12c: 687b ldr r3, [r7, #4] 80bc12e: 681b ldr r3, [r3, #0] 80bc130: f403 0300 and.w r3, r3, #8388608 ; 0x800000 80bc134: 2b00 cmp r3, #0 80bc136: d00b beq.n 80bc150 { /* Check the parameters */ assert_param(IS_RCC_SDMMC1CLKSOURCE(PeriphClkInit->Sdmmc1ClockSelection)); /* Configure the SDMMC1 clock source */ __HAL_RCC_SDMMC1_CONFIG(PeriphClkInit->Sdmmc1ClockSelection); 80bc138: 4915 ldr r1, [pc, #84] ; (80bc190 ) 80bc13a: 4b15 ldr r3, [pc, #84] ; (80bc190 ) 80bc13c: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bc140: f023 5280 bic.w r2, r3, #268435456 ; 0x10000000 80bc144: 687b ldr r3, [r7, #4] 80bc146: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bc14a: 4313 orrs r3, r2 80bc14c: 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) 80bc150: 687b ldr r3, [r7, #4] 80bc152: 681b ldr r3, [r3, #0] 80bc154: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80bc158: 2b00 cmp r3, #0 80bc15a: d00b beq.n 80bc174 { /* Check the parameters */ assert_param(IS_RCC_SDMMC2CLKSOURCE(PeriphClkInit->Sdmmc2ClockSelection)); /* Configure the SDMMC2 clock source */ __HAL_RCC_SDMMC2_CONFIG(PeriphClkInit->Sdmmc2ClockSelection); 80bc15c: 490c ldr r1, [pc, #48] ; (80bc190 ) 80bc15e: 4b0c ldr r3, [pc, #48] ; (80bc190 ) 80bc160: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80bc164: f023 5200 bic.w r2, r3, #536870912 ; 0x20000000 80bc168: 687b ldr r3, [r7, #4] 80bc16a: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bc16e: 4313 orrs r3, r2 80bc170: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*------------------------------------- DFSDM1 Configuration -------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1) == RCC_PERIPHCLK_DFSDM1) 80bc174: 687b ldr r3, [r7, #4] 80bc176: 681b ldr r3, [r3, #0] 80bc178: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80bc17c: 2b00 cmp r3, #0 80bc17e: d00e beq.n 80bc19e { /* Check the parameters */ assert_param(IS_RCC_DFSDM1CLKSOURCE(PeriphClkInit->Dfsdm1ClockSelection)); /* Configure the DFSDM1 interface clock source */ __HAL_RCC_DFSDM1_CONFIG(PeriphClkInit->Dfsdm1ClockSelection); 80bc180: 4903 ldr r1, [pc, #12] ; (80bc190 ) 80bc182: 4b03 ldr r3, [pc, #12] ; (80bc190 ) 80bc184: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bc188: f023 7200 bic.w r2, r3, #33554432 ; 0x2000000 80bc18c: 687b ldr r3, [r7, #4] 80bc18e: e001 b.n 80bc194 80bc190: 40023800 .word 0x40023800 80bc194: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bc198: 4313 orrs r3, r2 80bc19a: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*------------------------------------- DFSDM AUDIO Configuration -------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1_AUDIO) == RCC_PERIPHCLK_DFSDM1_AUDIO) 80bc19e: 687b ldr r3, [r7, #4] 80bc1a0: 681b ldr r3, [r3, #0] 80bc1a2: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80bc1a6: 2b00 cmp r3, #0 80bc1a8: d00b beq.n 80bc1c2 { /* Check the parameters */ assert_param(IS_RCC_DFSDM1AUDIOCLKSOURCE(PeriphClkInit->Dfsdm1AudioClockSelection)); /* Configure the DFSDM interface clock source */ __HAL_RCC_DFSDM1AUDIO_CONFIG(PeriphClkInit->Dfsdm1AudioClockSelection); 80bc1aa: 4981 ldr r1, [pc, #516] ; (80bc3b0 ) 80bc1ac: 4b80 ldr r3, [pc, #512] ; (80bc3b0 ) 80bc1ae: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bc1b2: f023 6280 bic.w r2, r3, #67108864 ; 0x4000000 80bc1b6: 687b ldr r3, [r7, #4] 80bc1b8: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bc1bc: 4313 orrs r3, r2 80bc1be: 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)) 80bc1c2: 69fb ldr r3, [r7, #28] 80bc1c4: 2b01 cmp r3, #1 80bc1c6: d006 beq.n 80bc1d6 80bc1c8: 687b ldr r3, [r7, #4] 80bc1ca: 681b ldr r3, [r3, #0] 80bc1cc: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bc1d0: 2b00 cmp r3, #0 80bc1d2: f000 80d6 beq.w 80bc382 { /* Disable the PLLI2S */ __HAL_RCC_PLLI2S_DISABLE(); 80bc1d6: 4a76 ldr r2, [pc, #472] ; (80bc3b0 ) 80bc1d8: 4b75 ldr r3, [pc, #468] ; (80bc3b0 ) 80bc1da: 681b ldr r3, [r3, #0] 80bc1dc: f023 6380 bic.w r3, r3, #67108864 ; 0x4000000 80bc1e0: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc1e2: f7fa fe1f bl 80b6e24 80bc1e6: 6178 str r0, [r7, #20] /* Wait till PLLI2S is disabled */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) != RESET) 80bc1e8: e008 b.n 80bc1fc { if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE) 80bc1ea: f7fa fe1b bl 80b6e24 80bc1ee: 4602 mov r2, r0 80bc1f0: 697b ldr r3, [r7, #20] 80bc1f2: 1ad3 subs r3, r2, r3 80bc1f4: 2b64 cmp r3, #100 ; 0x64 80bc1f6: d901 bls.n 80bc1fc { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80bc1f8: 2303 movs r3, #3 80bc1fa: e194 b.n 80bc526 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) != RESET) 80bc1fc: 4b6c ldr r3, [pc, #432] ; (80bc3b0 ) 80bc1fe: 681b ldr r3, [r3, #0] 80bc200: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80bc204: 2b00 cmp r3, #0 80bc206: d1f0 bne.n 80bc1ea /* 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))) 80bc208: 687b ldr r3, [r7, #4] 80bc20a: 681b ldr r3, [r3, #0] 80bc20c: f003 0301 and.w r3, r3, #1 80bc210: 2b00 cmp r3, #0 80bc212: d021 beq.n 80bc258 80bc214: 687b ldr r3, [r7, #4] 80bc216: 6b5b ldr r3, [r3, #52] ; 0x34 80bc218: 2b00 cmp r3, #0 80bc21a: d11d bne.n 80bc258 { /* 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); 80bc21c: 4b64 ldr r3, [pc, #400] ; (80bc3b0 ) 80bc21e: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bc222: 0c1b lsrs r3, r3, #16 80bc224: f003 0303 and.w r3, r3, #3 80bc228: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SQ) >> RCC_PLLI2SCFGR_PLLI2SQ_Pos); 80bc22a: 4b61 ldr r3, [pc, #388] ; (80bc3b0 ) 80bc22c: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bc230: 0e1b lsrs r3, r3, #24 80bc232: f003 030f and.w r3, r3, #15 80bc236: 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); 80bc238: 495d ldr r1, [pc, #372] ; (80bc3b0 ) 80bc23a: 687b ldr r3, [r7, #4] 80bc23c: 685b ldr r3, [r3, #4] 80bc23e: 019a lsls r2, r3, #6 80bc240: 693b ldr r3, [r7, #16] 80bc242: 041b lsls r3, r3, #16 80bc244: 431a orrs r2, r3 80bc246: 68fb ldr r3, [r7, #12] 80bc248: 061b lsls r3, r3, #24 80bc24a: 431a orrs r2, r3 80bc24c: 687b ldr r3, [r7, #4] 80bc24e: 689b ldr r3, [r3, #8] 80bc250: 071b lsls r3, r3, #28 80bc252: 4313 orrs r3, r2 80bc254: 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)) || 80bc258: 687b ldr r3, [r7, #4] 80bc25a: 681b ldr r3, [r3, #0] 80bc25c: f403 2300 and.w r3, r3, #524288 ; 0x80000 80bc260: 2b00 cmp r3, #0 80bc262: d004 beq.n 80bc26e 80bc264: 687b ldr r3, [r7, #4] 80bc266: 6bdb ldr r3, [r3, #60] ; 0x3c 80bc268: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80bc26c: d00a beq.n 80bc284 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S))) 80bc26e: 687b ldr r3, [r7, #4] 80bc270: 681b ldr r3, [r3, #0] 80bc272: f403 1380 and.w r3, r3, #1048576 ; 0x100000 if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)) || 80bc276: 2b00 cmp r3, #0 80bc278: d02e beq.n 80bc2d8 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S))) 80bc27a: 687b ldr r3, [r7, #4] 80bc27c: 6c1b ldr r3, [r3, #64] ; 0x40 80bc27e: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 80bc282: d129 bne.n 80bc2d8 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); 80bc284: 4b4a ldr r3, [pc, #296] ; (80bc3b0 ) 80bc286: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bc28a: 0c1b lsrs r3, r3, #16 80bc28c: f003 0303 and.w r3, r3, #3 80bc290: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos); 80bc292: 4b47 ldr r3, [pc, #284] ; (80bc3b0 ) 80bc294: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bc298: 0f1b lsrs r3, r3, #28 80bc29a: f003 0307 and.w r3, r3, #7 80bc29e: 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); 80bc2a0: 4943 ldr r1, [pc, #268] ; (80bc3b0 ) 80bc2a2: 687b ldr r3, [r7, #4] 80bc2a4: 685b ldr r3, [r3, #4] 80bc2a6: 019a lsls r2, r3, #6 80bc2a8: 693b ldr r3, [r7, #16] 80bc2aa: 041b lsls r3, r3, #16 80bc2ac: 431a orrs r2, r3 80bc2ae: 687b ldr r3, [r7, #4] 80bc2b0: 68db ldr r3, [r3, #12] 80bc2b2: 061b lsls r3, r3, #24 80bc2b4: 431a orrs r2, r3 80bc2b6: 68fb ldr r3, [r7, #12] 80bc2b8: 071b lsls r3, r3, #28 80bc2ba: 4313 orrs r3, r2 80bc2bc: f8c1 3084 str.w r3, [r1, #132] ; 0x84 /* SAI_CLK_x = SAI_CLK(first level)/PLLI2SDIVQ */ __HAL_RCC_PLLI2S_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLI2SDivQ); 80bc2c0: 493b ldr r1, [pc, #236] ; (80bc3b0 ) 80bc2c2: 4b3b ldr r3, [pc, #236] ; (80bc3b0 ) 80bc2c4: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bc2c8: f023 021f bic.w r2, r3, #31 80bc2cc: 687b ldr r3, [r7, #4] 80bc2ce: 6a5b ldr r3, [r3, #36] ; 0x24 80bc2d0: 3b01 subs r3, #1 80bc2d2: 4313 orrs r3, r2 80bc2d4: 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) 80bc2d8: 687b ldr r3, [r7, #4] 80bc2da: 681b ldr r3, [r3, #0] 80bc2dc: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80bc2e0: 2b00 cmp r3, #0 80bc2e2: d01d beq.n 80bc320 { /* 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); 80bc2e4: 4b32 ldr r3, [pc, #200] ; (80bc3b0 ) 80bc2e6: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bc2ea: 0e1b lsrs r3, r3, #24 80bc2ec: f003 030f and.w r3, r3, #15 80bc2f0: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos); 80bc2f2: 4b2f ldr r3, [pc, #188] ; (80bc3b0 ) 80bc2f4: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80bc2f8: 0f1b lsrs r3, r3, #28 80bc2fa: f003 0307 and.w r3, r3, #7 80bc2fe: 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); 80bc300: 492b ldr r1, [pc, #172] ; (80bc3b0 ) 80bc302: 687b ldr r3, [r7, #4] 80bc304: 685b ldr r3, [r3, #4] 80bc306: 019a lsls r2, r3, #6 80bc308: 687b ldr r3, [r7, #4] 80bc30a: 691b ldr r3, [r3, #16] 80bc30c: 041b lsls r3, r3, #16 80bc30e: 431a orrs r2, r3 80bc310: 693b ldr r3, [r7, #16] 80bc312: 061b lsls r3, r3, #24 80bc314: 431a orrs r2, r3 80bc316: 68fb ldr r3, [r7, #12] 80bc318: 071b lsls r3, r3, #28 80bc31a: 4313 orrs r3, r2 80bc31c: f8c1 3084 str.w r3, [r1, #132] ; 0x84 } /*----------------- In Case of PLLI2S is just selected -----------------*/ if((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_PLLI2S) == RCC_PERIPHCLK_PLLI2S) 80bc320: 687b ldr r3, [r7, #4] 80bc322: 681b ldr r3, [r3, #0] 80bc324: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bc328: 2b00 cmp r3, #0 80bc32a: d011 beq.n 80bc350 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); 80bc32c: 4920 ldr r1, [pc, #128] ; (80bc3b0 ) 80bc32e: 687b ldr r3, [r7, #4] 80bc330: 685b ldr r3, [r3, #4] 80bc332: 019a lsls r2, r3, #6 80bc334: 687b ldr r3, [r7, #4] 80bc336: 691b ldr r3, [r3, #16] 80bc338: 041b lsls r3, r3, #16 80bc33a: 431a orrs r2, r3 80bc33c: 687b ldr r3, [r7, #4] 80bc33e: 68db ldr r3, [r3, #12] 80bc340: 061b lsls r3, r3, #24 80bc342: 431a orrs r2, r3 80bc344: 687b ldr r3, [r7, #4] 80bc346: 689b ldr r3, [r3, #8] 80bc348: 071b lsls r3, r3, #28 80bc34a: 4313 orrs r3, r2 80bc34c: f8c1 3084 str.w r3, [r1, #132] ; 0x84 } /* Enable the PLLI2S */ __HAL_RCC_PLLI2S_ENABLE(); 80bc350: 4a17 ldr r2, [pc, #92] ; (80bc3b0 ) 80bc352: 4b17 ldr r3, [pc, #92] ; (80bc3b0 ) 80bc354: 681b ldr r3, [r3, #0] 80bc356: f043 6380 orr.w r3, r3, #67108864 ; 0x4000000 80bc35a: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc35c: f7fa fd62 bl 80b6e24 80bc360: 6178 str r0, [r7, #20] /* Wait till PLLI2S is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) == RESET) 80bc362: e008 b.n 80bc376 { if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE) 80bc364: f7fa fd5e bl 80b6e24 80bc368: 4602 mov r2, r0 80bc36a: 697b ldr r3, [r7, #20] 80bc36c: 1ad3 subs r3, r2, r3 80bc36e: 2b64 cmp r3, #100 ; 0x64 80bc370: d901 bls.n 80bc376 { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80bc372: 2303 movs r3, #3 80bc374: e0d7 b.n 80bc526 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) == RESET) 80bc376: 4b0e ldr r3, [pc, #56] ; (80bc3b0 ) 80bc378: 681b ldr r3, [r3, #0] 80bc37a: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80bc37e: 2b00 cmp r3, #0 80bc380: d0f0 beq.n 80bc364 } } /*-------------------------------------- PLLSAI Configuration ---------------------------------*/ /* PLLSAI is configured when a peripheral will use it as source clock : SAI1, SAI2, LTDC or CK48 */ if(pllsaiused == 1) 80bc382: 69bb ldr r3, [r7, #24] 80bc384: 2b01 cmp r3, #1 80bc386: f040 80cd bne.w 80bc524 { /* Disable PLLSAI Clock */ __HAL_RCC_PLLSAI_DISABLE(); 80bc38a: 4a09 ldr r2, [pc, #36] ; (80bc3b0 ) 80bc38c: 4b08 ldr r3, [pc, #32] ; (80bc3b0 ) 80bc38e: 681b ldr r3, [r3, #0] 80bc390: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 80bc394: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc396: f7fa fd45 bl 80b6e24 80bc39a: 6178 str r0, [r7, #20] /* Wait till PLLSAI is disabled */ while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET) 80bc39c: e00a b.n 80bc3b4 { if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE) 80bc39e: f7fa fd41 bl 80b6e24 80bc3a2: 4602 mov r2, r0 80bc3a4: 697b ldr r3, [r7, #20] 80bc3a6: 1ad3 subs r3, r2, r3 80bc3a8: 2b64 cmp r3, #100 ; 0x64 80bc3aa: d903 bls.n 80bc3b4 { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80bc3ac: 2303 movs r3, #3 80bc3ae: e0ba b.n 80bc526 80bc3b0: 40023800 .word 0x40023800 while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET) 80bc3b4: 4b5e ldr r3, [pc, #376] ; (80bc530 ) 80bc3b6: 681b ldr r3, [r3, #0] 80bc3b8: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80bc3bc: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 80bc3c0: d0ed beq.n 80bc39e /* 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)) ||\ 80bc3c2: 687b ldr r3, [r7, #4] 80bc3c4: 681b ldr r3, [r3, #0] 80bc3c6: f403 2300 and.w r3, r3, #524288 ; 0x80000 80bc3ca: 2b00 cmp r3, #0 80bc3cc: d003 beq.n 80bc3d6 80bc3ce: 687b ldr r3, [r7, #4] 80bc3d0: 6bdb ldr r3, [r3, #60] ; 0x3c 80bc3d2: 2b00 cmp r3, #0 80bc3d4: d009 beq.n 80bc3ea ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI))) 80bc3d6: 687b ldr r3, [r7, #4] 80bc3d8: 681b ldr r3, [r3, #0] 80bc3da: f403 1380 and.w r3, r3, #1048576 ; 0x100000 if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)) ||\ 80bc3de: 2b00 cmp r3, #0 80bc3e0: d02e beq.n 80bc440 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI))) 80bc3e2: 687b ldr r3, [r7, #4] 80bc3e4: 6c1b ldr r3, [r3, #64] ; 0x40 80bc3e6: 2b00 cmp r3, #0 80bc3e8: d12a bne.n 80bc440 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); 80bc3ea: 4b51 ldr r3, [pc, #324] ; (80bc530 ) 80bc3ec: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bc3f0: 0c1b lsrs r3, r3, #16 80bc3f2: f003 0303 and.w r3, r3, #3 80bc3f6: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLSAICFGR_PLLSAIR_Pos); 80bc3f8: 4b4d ldr r3, [pc, #308] ; (80bc530 ) 80bc3fa: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bc3fe: 0f1b lsrs r3, r3, #28 80bc400: f003 0307 and.w r3, r3, #7 80bc404: 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); 80bc406: 494a ldr r1, [pc, #296] ; (80bc530 ) 80bc408: 687b ldr r3, [r7, #4] 80bc40a: 695b ldr r3, [r3, #20] 80bc40c: 019a lsls r2, r3, #6 80bc40e: 693b ldr r3, [r7, #16] 80bc410: 041b lsls r3, r3, #16 80bc412: 431a orrs r2, r3 80bc414: 687b ldr r3, [r7, #4] 80bc416: 699b ldr r3, [r3, #24] 80bc418: 061b lsls r3, r3, #24 80bc41a: 431a orrs r2, r3 80bc41c: 68fb ldr r3, [r7, #12] 80bc41e: 071b lsls r3, r3, #28 80bc420: 4313 orrs r3, r2 80bc422: f8c1 3088 str.w r3, [r1, #136] ; 0x88 /* SAI_CLK_x = SAI_CLK(first level)/PLLSAIDIVQ */ __HAL_RCC_PLLSAI_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLSAIDivQ); 80bc426: 4942 ldr r1, [pc, #264] ; (80bc530 ) 80bc428: 4b41 ldr r3, [pc, #260] ; (80bc530 ) 80bc42a: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bc42e: f423 52f8 bic.w r2, r3, #7936 ; 0x1f00 80bc432: 687b ldr r3, [r7, #4] 80bc434: 6a9b ldr r3, [r3, #40] ; 0x28 80bc436: 3b01 subs r3, #1 80bc438: 021b lsls r3, r3, #8 80bc43a: 4313 orrs r3, r2 80bc43c: 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)) 80bc440: 687b ldr r3, [r7, #4] 80bc442: 681b ldr r3, [r3, #0] 80bc444: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80bc448: 2b00 cmp r3, #0 80bc44a: d022 beq.n 80bc492 80bc44c: 687b ldr r3, [r7, #4] 80bc44e: 6fdb ldr r3, [r3, #124] ; 0x7c 80bc450: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 80bc454: d11d bne.n 80bc492 { /* 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); 80bc456: 4b36 ldr r3, [pc, #216] ; (80bc530 ) 80bc458: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bc45c: 0e1b lsrs r3, r3, #24 80bc45e: f003 030f and.w r3, r3, #15 80bc462: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIR) >> RCC_PLLSAICFGR_PLLSAIR_Pos); 80bc464: 4b32 ldr r3, [pc, #200] ; (80bc530 ) 80bc466: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bc46a: 0f1b lsrs r3, r3, #28 80bc46c: f003 0307 and.w r3, r3, #7 80bc470: 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); 80bc472: 492f ldr r1, [pc, #188] ; (80bc530 ) 80bc474: 687b ldr r3, [r7, #4] 80bc476: 695b ldr r3, [r3, #20] 80bc478: 019a lsls r2, r3, #6 80bc47a: 687b ldr r3, [r7, #4] 80bc47c: 6a1b ldr r3, [r3, #32] 80bc47e: 041b lsls r3, r3, #16 80bc480: 431a orrs r2, r3 80bc482: 693b ldr r3, [r7, #16] 80bc484: 061b lsls r3, r3, #24 80bc486: 431a orrs r2, r3 80bc488: 68fb ldr r3, [r7, #12] 80bc48a: 071b lsls r3, r3, #28 80bc48c: 4313 orrs r3, r2 80bc48e: 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)) 80bc492: 687b ldr r3, [r7, #4] 80bc494: 681b ldr r3, [r3, #0] 80bc496: f003 0308 and.w r3, r3, #8 80bc49a: 2b00 cmp r3, #0 80bc49c: d028 beq.n 80bc4f0 { 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); 80bc49e: 4b24 ldr r3, [pc, #144] ; (80bc530 ) 80bc4a0: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bc4a4: 0e1b lsrs r3, r3, #24 80bc4a6: f003 030f and.w r3, r3, #15 80bc4aa: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIP) >> RCC_PLLSAICFGR_PLLSAIP_Pos); 80bc4ac: 4b20 ldr r3, [pc, #128] ; (80bc530 ) 80bc4ae: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80bc4b2: 0c1b lsrs r3, r3, #16 80bc4b4: f003 0303 and.w r3, r3, #3 80bc4b8: 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); 80bc4ba: 491d ldr r1, [pc, #116] ; (80bc530 ) 80bc4bc: 687b ldr r3, [r7, #4] 80bc4be: 695b ldr r3, [r3, #20] 80bc4c0: 019a lsls r2, r3, #6 80bc4c2: 68fb ldr r3, [r7, #12] 80bc4c4: 041b lsls r3, r3, #16 80bc4c6: 431a orrs r2, r3 80bc4c8: 693b ldr r3, [r7, #16] 80bc4ca: 061b lsls r3, r3, #24 80bc4cc: 431a orrs r2, r3 80bc4ce: 687b ldr r3, [r7, #4] 80bc4d0: 69db ldr r3, [r3, #28] 80bc4d2: 071b lsls r3, r3, #28 80bc4d4: 4313 orrs r3, r2 80bc4d6: f8c1 3088 str.w r3, [r1, #136] ; 0x88 /* LTDC_CLK = LTDC_CLK(first level)/PLLSAIDIVR */ __HAL_RCC_PLLSAI_PLLSAICLKDIVR_CONFIG(PeriphClkInit->PLLSAIDivR); 80bc4da: 4915 ldr r1, [pc, #84] ; (80bc530 ) 80bc4dc: 4b14 ldr r3, [pc, #80] ; (80bc530 ) 80bc4de: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80bc4e2: f423 3240 bic.w r2, r3, #196608 ; 0x30000 80bc4e6: 687b ldr r3, [r7, #4] 80bc4e8: 6adb ldr r3, [r3, #44] ; 0x2c 80bc4ea: 4313 orrs r3, r2 80bc4ec: f8c1 308c str.w r3, [r1, #140] ; 0x8c } #endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx */ /* Enable PLLSAI Clock */ __HAL_RCC_PLLSAI_ENABLE(); 80bc4f0: 4a0f ldr r2, [pc, #60] ; (80bc530 ) 80bc4f2: 4b0f ldr r3, [pc, #60] ; (80bc530 ) 80bc4f4: 681b ldr r3, [r3, #0] 80bc4f6: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bc4fa: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80bc4fc: f7fa fc92 bl 80b6e24 80bc500: 6178 str r0, [r7, #20] /* Wait till PLLSAI is ready */ while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 80bc502: e008 b.n 80bc516 { if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE) 80bc504: f7fa fc8e bl 80b6e24 80bc508: 4602 mov r2, r0 80bc50a: 697b ldr r3, [r7, #20] 80bc50c: 1ad3 subs r3, r2, r3 80bc50e: 2b64 cmp r3, #100 ; 0x64 80bc510: d901 bls.n 80bc516 { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80bc512: 2303 movs r3, #3 80bc514: e007 b.n 80bc526 while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 80bc516: 4b06 ldr r3, [pc, #24] ; (80bc530 ) 80bc518: 681b ldr r3, [r3, #0] 80bc51a: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80bc51e: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 80bc522: d1ef bne.n 80bc504 } } } return HAL_OK; 80bc524: 2300 movs r3, #0 } 80bc526: 4618 mov r0, r3 80bc528: 3720 adds r7, #32 80bc52a: 46bd mov sp, r7 80bc52c: bd80 pop {r7, pc} 80bc52e: bf00 nop 80bc530: 40023800 .word 0x40023800 080bc534 : * @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) { 80bc534: b580 push {r7, lr} 80bc536: b082 sub sp, #8 80bc538: af00 add r7, sp, #0 80bc53a: 6078 str r0, [r7, #4] /* Check the RTC peripheral state */ if(hrtc == NULL) 80bc53c: 687b ldr r3, [r7, #4] 80bc53e: 2b00 cmp r3, #0 80bc540: d101 bne.n 80bc546 { return HAL_ERROR; 80bc542: 2301 movs r3, #1 80bc544: e081 b.n 80bc64a { hrtc->MspDeInitCallback = HAL_RTC_MspDeInit; } } #else if(hrtc->State == HAL_RTC_STATE_RESET) 80bc546: 687b ldr r3, [r7, #4] 80bc548: 7f5b ldrb r3, [r3, #29] 80bc54a: b2db uxtb r3, r3 80bc54c: 2b00 cmp r3, #0 80bc54e: d105 bne.n 80bc55c { /* Allocate lock resource and initialize it */ hrtc->Lock = HAL_UNLOCKED; 80bc550: 687b ldr r3, [r7, #4] 80bc552: 2200 movs r2, #0 80bc554: 771a strb r2, [r3, #28] /* Initialize RTC MSP */ HAL_RTC_MspInit(hrtc); 80bc556: 6878 ldr r0, [r7, #4] 80bc558: f7ab ff2e bl 80683b8 } #endif /* (USE_HAL_RTC_REGISTER_CALLBACKS) */ /* Set RTC state */ hrtc->State = HAL_RTC_STATE_BUSY; 80bc55c: 687b ldr r3, [r7, #4] 80bc55e: 2202 movs r2, #2 80bc560: 775a strb r2, [r3, #29] /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 80bc562: 687b ldr r3, [r7, #4] 80bc564: 681b ldr r3, [r3, #0] 80bc566: 22ca movs r2, #202 ; 0xca 80bc568: 625a str r2, [r3, #36] ; 0x24 80bc56a: 687b ldr r3, [r7, #4] 80bc56c: 681b ldr r3, [r3, #0] 80bc56e: 2253 movs r2, #83 ; 0x53 80bc570: 625a str r2, [r3, #36] ; 0x24 /* Set Initialization mode */ if(RTC_EnterInitMode(hrtc) != HAL_OK) 80bc572: 6878 ldr r0, [r7, #4] 80bc574: f000 faac bl 80bcad0 80bc578: 4603 mov r3, r0 80bc57a: 2b00 cmp r3, #0 80bc57c: d008 beq.n 80bc590 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bc57e: 687b ldr r3, [r7, #4] 80bc580: 681b ldr r3, [r3, #0] 80bc582: 22ff movs r2, #255 ; 0xff 80bc584: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state */ hrtc->State = HAL_RTC_STATE_ERROR; 80bc586: 687b ldr r3, [r7, #4] 80bc588: 2204 movs r2, #4 80bc58a: 775a strb r2, [r3, #29] return HAL_ERROR; 80bc58c: 2301 movs r3, #1 80bc58e: e05c b.n 80bc64a } else { /* Clear RTC_CR FMT, OSEL and POL Bits */ hrtc->Instance->CR &= ((uint32_t)~(RTC_CR_FMT | RTC_CR_OSEL | RTC_CR_POL)); 80bc590: 687b ldr r3, [r7, #4] 80bc592: 681a ldr r2, [r3, #0] 80bc594: 687b ldr r3, [r7, #4] 80bc596: 681b ldr r3, [r3, #0] 80bc598: 6899 ldr r1, [r3, #8] 80bc59a: 4b2e ldr r3, [pc, #184] ; (80bc654 ) 80bc59c: 400b ands r3, r1 80bc59e: 6093 str r3, [r2, #8] /* Set RTC_CR register */ hrtc->Instance->CR |= (uint32_t)(hrtc->Init.HourFormat | hrtc->Init.OutPut | hrtc->Init.OutPutPolarity); 80bc5a0: 687b ldr r3, [r7, #4] 80bc5a2: 681b ldr r3, [r3, #0] 80bc5a4: 687a ldr r2, [r7, #4] 80bc5a6: 6812 ldr r2, [r2, #0] 80bc5a8: 6891 ldr r1, [r2, #8] 80bc5aa: 687a ldr r2, [r7, #4] 80bc5ac: 6850 ldr r0, [r2, #4] 80bc5ae: 687a ldr r2, [r7, #4] 80bc5b0: 6912 ldr r2, [r2, #16] 80bc5b2: 4310 orrs r0, r2 80bc5b4: 687a ldr r2, [r7, #4] 80bc5b6: 6952 ldr r2, [r2, #20] 80bc5b8: 4302 orrs r2, r0 80bc5ba: 430a orrs r2, r1 80bc5bc: 609a str r2, [r3, #8] /* Configure the RTC PRER */ hrtc->Instance->PRER = (uint32_t)(hrtc->Init.SynchPrediv); 80bc5be: 687b ldr r3, [r7, #4] 80bc5c0: 681b ldr r3, [r3, #0] 80bc5c2: 687a ldr r2, [r7, #4] 80bc5c4: 68d2 ldr r2, [r2, #12] 80bc5c6: 611a str r2, [r3, #16] hrtc->Instance->PRER |= (uint32_t)(hrtc->Init.AsynchPrediv << 16); 80bc5c8: 687b ldr r3, [r7, #4] 80bc5ca: 681b ldr r3, [r3, #0] 80bc5cc: 687a ldr r2, [r7, #4] 80bc5ce: 6812 ldr r2, [r2, #0] 80bc5d0: 6911 ldr r1, [r2, #16] 80bc5d2: 687a ldr r2, [r7, #4] 80bc5d4: 6892 ldr r2, [r2, #8] 80bc5d6: 0412 lsls r2, r2, #16 80bc5d8: 430a orrs r2, r1 80bc5da: 611a str r2, [r3, #16] /* Exit Initialization mode */ hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; 80bc5dc: 687b ldr r3, [r7, #4] 80bc5de: 681b ldr r3, [r3, #0] 80bc5e0: 687a ldr r2, [r7, #4] 80bc5e2: 6812 ldr r2, [r2, #0] 80bc5e4: 68d2 ldr r2, [r2, #12] 80bc5e6: f022 0280 bic.w r2, r2, #128 ; 0x80 80bc5ea: 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) 80bc5ec: 687b ldr r3, [r7, #4] 80bc5ee: 681b ldr r3, [r3, #0] 80bc5f0: 689b ldr r3, [r3, #8] 80bc5f2: f003 0320 and.w r3, r3, #32 80bc5f6: 2b00 cmp r3, #0 80bc5f8: d10e bne.n 80bc618 { if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 80bc5fa: 6878 ldr r0, [r7, #4] 80bc5fc: f000 fa40 bl 80bca80 80bc600: 4603 mov r3, r0 80bc602: 2b00 cmp r3, #0 80bc604: d008 beq.n 80bc618 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bc606: 687b ldr r3, [r7, #4] 80bc608: 681b ldr r3, [r3, #0] 80bc60a: 22ff movs r2, #255 ; 0xff 80bc60c: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_ERROR; 80bc60e: 687b ldr r3, [r7, #4] 80bc610: 2204 movs r2, #4 80bc612: 775a strb r2, [r3, #29] return HAL_ERROR; 80bc614: 2301 movs r3, #1 80bc616: e018 b.n 80bc64a } } hrtc->Instance->OR &= (uint32_t)~RTC_OR_ALARMTYPE; 80bc618: 687b ldr r3, [r7, #4] 80bc61a: 681b ldr r3, [r3, #0] 80bc61c: 687a ldr r2, [r7, #4] 80bc61e: 6812 ldr r2, [r2, #0] 80bc620: 6cd2 ldr r2, [r2, #76] ; 0x4c 80bc622: f022 0208 bic.w r2, r2, #8 80bc626: 64da str r2, [r3, #76] ; 0x4c hrtc->Instance->OR |= (uint32_t)(hrtc->Init.OutPutType); 80bc628: 687b ldr r3, [r7, #4] 80bc62a: 681b ldr r3, [r3, #0] 80bc62c: 687a ldr r2, [r7, #4] 80bc62e: 6812 ldr r2, [r2, #0] 80bc630: 6cd1 ldr r1, [r2, #76] ; 0x4c 80bc632: 687a ldr r2, [r7, #4] 80bc634: 6992 ldr r2, [r2, #24] 80bc636: 430a orrs r2, r1 80bc638: 64da str r2, [r3, #76] ; 0x4c /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bc63a: 687b ldr r3, [r7, #4] 80bc63c: 681b ldr r3, [r3, #0] 80bc63e: 22ff movs r2, #255 ; 0xff 80bc640: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state */ hrtc->State = HAL_RTC_STATE_READY; 80bc642: 687b ldr r3, [r7, #4] 80bc644: 2201 movs r2, #1 80bc646: 775a strb r2, [r3, #29] return HAL_OK; 80bc648: 2300 movs r3, #0 } } 80bc64a: 4618 mov r0, r3 80bc64c: 3708 adds r7, #8 80bc64e: 46bd mov sp, r7 80bc650: bd80 pop {r7, pc} 80bc652: bf00 nop 80bc654: ff8fffbf .word 0xff8fffbf 080bc658 : * @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) { 80bc658: b590 push {r4, r7, lr} 80bc65a: b087 sub sp, #28 80bc65c: af00 add r7, sp, #0 80bc65e: 60f8 str r0, [r7, #12] 80bc660: 60b9 str r1, [r7, #8] 80bc662: 607a str r2, [r7, #4] uint32_t tmpreg = 0; 80bc664: 2300 movs r3, #0 80bc666: 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); 80bc668: 68fb ldr r3, [r7, #12] 80bc66a: 7f1b ldrb r3, [r3, #28] 80bc66c: 2b01 cmp r3, #1 80bc66e: d101 bne.n 80bc674 80bc670: 2302 movs r3, #2 80bc672: e0a8 b.n 80bc7c6 80bc674: 68fb ldr r3, [r7, #12] 80bc676: 2201 movs r2, #1 80bc678: 771a strb r2, [r3, #28] hrtc->State = HAL_RTC_STATE_BUSY; 80bc67a: 68fb ldr r3, [r7, #12] 80bc67c: 2202 movs r2, #2 80bc67e: 775a strb r2, [r3, #29] if(Format == RTC_FORMAT_BIN) 80bc680: 687b ldr r3, [r7, #4] 80bc682: 2b00 cmp r3, #0 80bc684: d126 bne.n 80bc6d4 { if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 80bc686: 68fb ldr r3, [r7, #12] 80bc688: 681b ldr r3, [r3, #0] 80bc68a: 689b ldr r3, [r3, #8] 80bc68c: f003 0340 and.w r3, r3, #64 ; 0x40 80bc690: 2b00 cmp r3, #0 80bc692: d102 bne.n 80bc69a assert_param(IS_RTC_HOUR12(sTime->Hours)); assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat)); } else { sTime->TimeFormat = 0x00; 80bc694: 68bb ldr r3, [r7, #8] 80bc696: 2200 movs r2, #0 80bc698: 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) | \ 80bc69a: 68bb ldr r3, [r7, #8] 80bc69c: 781b ldrb r3, [r3, #0] 80bc69e: 4618 mov r0, r3 80bc6a0: f000 fa42 bl 80bcb28 80bc6a4: 4603 mov r3, r0 80bc6a6: 041c lsls r4, r3, #16 ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8) | \ 80bc6a8: 68bb ldr r3, [r7, #8] 80bc6aa: 785b ldrb r3, [r3, #1] 80bc6ac: 4618 mov r0, r3 80bc6ae: f000 fa3b bl 80bcb28 80bc6b2: 4603 mov r3, r0 80bc6b4: 021b lsls r3, r3, #8 tmpreg = (uint32_t)(((uint32_t)RTC_ByteToBcd2(sTime->Hours) << 16) | \ 80bc6b6: 431c orrs r4, r3 ((uint32_t)RTC_ByteToBcd2(sTime->Seconds)) | \ 80bc6b8: 68bb ldr r3, [r7, #8] 80bc6ba: 789b ldrb r3, [r3, #2] 80bc6bc: 4618 mov r0, r3 80bc6be: f000 fa33 bl 80bcb28 80bc6c2: 4603 mov r3, r0 ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8) | \ 80bc6c4: ea44 0203 orr.w r2, r4, r3 (((uint32_t)sTime->TimeFormat) << 16)); 80bc6c8: 68bb ldr r3, [r7, #8] 80bc6ca: 7b1b ldrb r3, [r3, #12] 80bc6cc: 041b lsls r3, r3, #16 tmpreg = (uint32_t)(((uint32_t)RTC_ByteToBcd2(sTime->Hours) << 16) | \ 80bc6ce: 4313 orrs r3, r2 80bc6d0: 617b str r3, [r7, #20] 80bc6d2: e018 b.n 80bc706 } else { if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 80bc6d4: 68fb ldr r3, [r7, #12] 80bc6d6: 681b ldr r3, [r3, #0] 80bc6d8: 689b ldr r3, [r3, #8] 80bc6da: f003 0340 and.w r3, r3, #64 ; 0x40 80bc6de: 2b00 cmp r3, #0 80bc6e0: d102 bne.n 80bc6e8 assert_param(IS_RTC_HOUR12(RTC_Bcd2ToByte(sTime->Hours))); assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat)); } else { sTime->TimeFormat = 0x00; 80bc6e2: 68bb ldr r3, [r7, #8] 80bc6e4: 2200 movs r2, #0 80bc6e6: 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) | \ 80bc6e8: 68bb ldr r3, [r7, #8] 80bc6ea: 781b ldrb r3, [r3, #0] 80bc6ec: 041a lsls r2, r3, #16 ((uint32_t)(sTime->Minutes) << 8) | \ 80bc6ee: 68bb ldr r3, [r7, #8] 80bc6f0: 785b ldrb r3, [r3, #1] 80bc6f2: 021b lsls r3, r3, #8 tmpreg = (((uint32_t)(sTime->Hours) << 16) | \ 80bc6f4: 4313 orrs r3, r2 ((uint32_t)sTime->Seconds) | \ 80bc6f6: 68ba ldr r2, [r7, #8] 80bc6f8: 7892 ldrb r2, [r2, #2] ((uint32_t)(sTime->Minutes) << 8) | \ 80bc6fa: 431a orrs r2, r3 ((uint32_t)(sTime->TimeFormat) << 16)); 80bc6fc: 68bb ldr r3, [r7, #8] 80bc6fe: 7b1b ldrb r3, [r3, #12] 80bc700: 041b lsls r3, r3, #16 tmpreg = (((uint32_t)(sTime->Hours) << 16) | \ 80bc702: 4313 orrs r3, r2 80bc704: 617b str r3, [r7, #20] } /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 80bc706: 68fb ldr r3, [r7, #12] 80bc708: 681b ldr r3, [r3, #0] 80bc70a: 22ca movs r2, #202 ; 0xca 80bc70c: 625a str r2, [r3, #36] ; 0x24 80bc70e: 68fb ldr r3, [r7, #12] 80bc710: 681b ldr r3, [r3, #0] 80bc712: 2253 movs r2, #83 ; 0x53 80bc714: 625a str r2, [r3, #36] ; 0x24 /* Set Initialization mode */ if(RTC_EnterInitMode(hrtc) != HAL_OK) 80bc716: 68f8 ldr r0, [r7, #12] 80bc718: f000 f9da bl 80bcad0 80bc71c: 4603 mov r3, r0 80bc71e: 2b00 cmp r3, #0 80bc720: d00b beq.n 80bc73a { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bc722: 68fb ldr r3, [r7, #12] 80bc724: 681b ldr r3, [r3, #0] 80bc726: 22ff movs r2, #255 ; 0xff 80bc728: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state */ hrtc->State = HAL_RTC_STATE_ERROR; 80bc72a: 68fb ldr r3, [r7, #12] 80bc72c: 2204 movs r2, #4 80bc72e: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80bc730: 68fb ldr r3, [r7, #12] 80bc732: 2200 movs r2, #0 80bc734: 771a strb r2, [r3, #28] return HAL_ERROR; 80bc736: 2301 movs r3, #1 80bc738: e045 b.n 80bc7c6 } else { /* Set the RTC_TR register */ hrtc->Instance->TR = (uint32_t)(tmpreg & RTC_TR_RESERVED_MASK); 80bc73a: 68fb ldr r3, [r7, #12] 80bc73c: 681a ldr r2, [r3, #0] 80bc73e: 6979 ldr r1, [r7, #20] 80bc740: 4b23 ldr r3, [pc, #140] ; (80bc7d0 ) 80bc742: 400b ands r3, r1 80bc744: 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; 80bc746: 68fb ldr r3, [r7, #12] 80bc748: 681b ldr r3, [r3, #0] 80bc74a: 68fa ldr r2, [r7, #12] 80bc74c: 6812 ldr r2, [r2, #0] 80bc74e: 6892 ldr r2, [r2, #8] 80bc750: f422 2280 bic.w r2, r2, #262144 ; 0x40000 80bc754: 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); 80bc756: 68fb ldr r3, [r7, #12] 80bc758: 681b ldr r3, [r3, #0] 80bc75a: 68fa ldr r2, [r7, #12] 80bc75c: 6812 ldr r2, [r2, #0] 80bc75e: 6891 ldr r1, [r2, #8] 80bc760: 68ba ldr r2, [r7, #8] 80bc762: 6910 ldr r0, [r2, #16] 80bc764: 68ba ldr r2, [r7, #8] 80bc766: 6952 ldr r2, [r2, #20] 80bc768: 4302 orrs r2, r0 80bc76a: 430a orrs r2, r1 80bc76c: 609a str r2, [r3, #8] /* Exit Initialization mode */ hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; 80bc76e: 68fb ldr r3, [r7, #12] 80bc770: 681b ldr r3, [r3, #0] 80bc772: 68fa ldr r2, [r7, #12] 80bc774: 6812 ldr r2, [r2, #0] 80bc776: 68d2 ldr r2, [r2, #12] 80bc778: f022 0280 bic.w r2, r2, #128 ; 0x80 80bc77c: 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) 80bc77e: 68fb ldr r3, [r7, #12] 80bc780: 681b ldr r3, [r3, #0] 80bc782: 689b ldr r3, [r3, #8] 80bc784: f003 0320 and.w r3, r3, #32 80bc788: 2b00 cmp r3, #0 80bc78a: d111 bne.n 80bc7b0 { if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 80bc78c: 68f8 ldr r0, [r7, #12] 80bc78e: f000 f977 bl 80bca80 80bc792: 4603 mov r3, r0 80bc794: 2b00 cmp r3, #0 80bc796: d00b beq.n 80bc7b0 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bc798: 68fb ldr r3, [r7, #12] 80bc79a: 681b ldr r3, [r3, #0] 80bc79c: 22ff movs r2, #255 ; 0xff 80bc79e: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_ERROR; 80bc7a0: 68fb ldr r3, [r7, #12] 80bc7a2: 2204 movs r2, #4 80bc7a4: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80bc7a6: 68fb ldr r3, [r7, #12] 80bc7a8: 2200 movs r2, #0 80bc7aa: 771a strb r2, [r3, #28] return HAL_ERROR; 80bc7ac: 2301 movs r3, #1 80bc7ae: e00a b.n 80bc7c6 } } /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bc7b0: 68fb ldr r3, [r7, #12] 80bc7b2: 681b ldr r3, [r3, #0] 80bc7b4: 22ff movs r2, #255 ; 0xff 80bc7b6: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_READY; 80bc7b8: 68fb ldr r3, [r7, #12] 80bc7ba: 2201 movs r2, #1 80bc7bc: 775a strb r2, [r3, #29] __HAL_UNLOCK(hrtc); 80bc7be: 68fb ldr r3, [r7, #12] 80bc7c0: 2200 movs r2, #0 80bc7c2: 771a strb r2, [r3, #28] return HAL_OK; 80bc7c4: 2300 movs r3, #0 } } 80bc7c6: 4618 mov r0, r3 80bc7c8: 371c adds r7, #28 80bc7ca: 46bd mov sp, r7 80bc7cc: bd90 pop {r4, r7, pc} 80bc7ce: bf00 nop 80bc7d0: 007f7f7f .word 0x007f7f7f 080bc7d4 : * 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) { 80bc7d4: b580 push {r7, lr} 80bc7d6: b086 sub sp, #24 80bc7d8: af00 add r7, sp, #0 80bc7da: 60f8 str r0, [r7, #12] 80bc7dc: 60b9 str r1, [r7, #8] 80bc7de: 607a str r2, [r7, #4] uint32_t tmpreg = 0; 80bc7e0: 2300 movs r3, #0 80bc7e2: 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); 80bc7e4: 68fb ldr r3, [r7, #12] 80bc7e6: 681b ldr r3, [r3, #0] 80bc7e8: 6a9a ldr r2, [r3, #40] ; 0x28 80bc7ea: 68bb ldr r3, [r7, #8] 80bc7ec: 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); 80bc7ee: 68fb ldr r3, [r7, #12] 80bc7f0: 681b ldr r3, [r3, #0] 80bc7f2: 691b ldr r3, [r3, #16] 80bc7f4: f3c3 020e ubfx r2, r3, #0, #15 80bc7f8: 68bb ldr r3, [r7, #8] 80bc7fa: 609a str r2, [r3, #8] /* Get the TR register */ tmpreg = (uint32_t)(hrtc->Instance->TR & RTC_TR_RESERVED_MASK); 80bc7fc: 68fb ldr r3, [r7, #12] 80bc7fe: 681b ldr r3, [r3, #0] 80bc800: 681a ldr r2, [r3, #0] 80bc802: 4b22 ldr r3, [pc, #136] ; (80bc88c ) 80bc804: 4013 ands r3, r2 80bc806: 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); 80bc808: 697b ldr r3, [r7, #20] 80bc80a: 0c1b lsrs r3, r3, #16 80bc80c: b2db uxtb r3, r3 80bc80e: f003 033f and.w r3, r3, #63 ; 0x3f 80bc812: b2da uxtb r2, r3 80bc814: 68bb ldr r3, [r7, #8] 80bc816: 701a strb r2, [r3, #0] sTime->Minutes = (uint8_t)((tmpreg & (RTC_TR_MNT | RTC_TR_MNU)) >>8); 80bc818: 697b ldr r3, [r7, #20] 80bc81a: 0a1b lsrs r3, r3, #8 80bc81c: b2db uxtb r3, r3 80bc81e: f003 037f and.w r3, r3, #127 ; 0x7f 80bc822: b2da uxtb r2, r3 80bc824: 68bb ldr r3, [r7, #8] 80bc826: 705a strb r2, [r3, #1] sTime->Seconds = (uint8_t)(tmpreg & (RTC_TR_ST | RTC_TR_SU)); 80bc828: 697b ldr r3, [r7, #20] 80bc82a: b2db uxtb r3, r3 80bc82c: f003 037f and.w r3, r3, #127 ; 0x7f 80bc830: b2da uxtb r2, r3 80bc832: 68bb ldr r3, [r7, #8] 80bc834: 709a strb r2, [r3, #2] sTime->TimeFormat = (uint8_t)((tmpreg & (RTC_TR_PM)) >> 16); 80bc836: 697b ldr r3, [r7, #20] 80bc838: 0c1b lsrs r3, r3, #16 80bc83a: b2db uxtb r3, r3 80bc83c: f003 0340 and.w r3, r3, #64 ; 0x40 80bc840: b2da uxtb r2, r3 80bc842: 68bb ldr r3, [r7, #8] 80bc844: 731a strb r2, [r3, #12] /* Check the input parameters format */ if(Format == RTC_FORMAT_BIN) 80bc846: 687b ldr r3, [r7, #4] 80bc848: 2b00 cmp r3, #0 80bc84a: d11a bne.n 80bc882 { /* Convert the time structure parameters to Binary format */ sTime->Hours = (uint8_t)RTC_Bcd2ToByte(sTime->Hours); 80bc84c: 68bb ldr r3, [r7, #8] 80bc84e: 781b ldrb r3, [r3, #0] 80bc850: 4618 mov r0, r3 80bc852: f000 f987 bl 80bcb64 80bc856: 4603 mov r3, r0 80bc858: 461a mov r2, r3 80bc85a: 68bb ldr r3, [r7, #8] 80bc85c: 701a strb r2, [r3, #0] sTime->Minutes = (uint8_t)RTC_Bcd2ToByte(sTime->Minutes); 80bc85e: 68bb ldr r3, [r7, #8] 80bc860: 785b ldrb r3, [r3, #1] 80bc862: 4618 mov r0, r3 80bc864: f000 f97e bl 80bcb64 80bc868: 4603 mov r3, r0 80bc86a: 461a mov r2, r3 80bc86c: 68bb ldr r3, [r7, #8] 80bc86e: 705a strb r2, [r3, #1] sTime->Seconds = (uint8_t)RTC_Bcd2ToByte(sTime->Seconds); 80bc870: 68bb ldr r3, [r7, #8] 80bc872: 789b ldrb r3, [r3, #2] 80bc874: 4618 mov r0, r3 80bc876: f000 f975 bl 80bcb64 80bc87a: 4603 mov r3, r0 80bc87c: 461a mov r2, r3 80bc87e: 68bb ldr r3, [r7, #8] 80bc880: 709a strb r2, [r3, #2] } return HAL_OK; 80bc882: 2300 movs r3, #0 } 80bc884: 4618 mov r0, r3 80bc886: 3718 adds r7, #24 80bc888: 46bd mov sp, r7 80bc88a: bd80 pop {r7, pc} 80bc88c: 007f7f7f .word 0x007f7f7f 080bc890 : * @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) { 80bc890: b590 push {r4, r7, lr} 80bc892: b087 sub sp, #28 80bc894: af00 add r7, sp, #0 80bc896: 60f8 str r0, [r7, #12] 80bc898: 60b9 str r1, [r7, #8] 80bc89a: 607a str r2, [r7, #4] uint32_t datetmpreg = 0; 80bc89c: 2300 movs r3, #0 80bc89e: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_RTC_FORMAT(Format)); /* Process Locked */ __HAL_LOCK(hrtc); 80bc8a0: 68fb ldr r3, [r7, #12] 80bc8a2: 7f1b ldrb r3, [r3, #28] 80bc8a4: 2b01 cmp r3, #1 80bc8a6: d101 bne.n 80bc8ac 80bc8a8: 2302 movs r3, #2 80bc8aa: e092 b.n 80bc9d2 80bc8ac: 68fb ldr r3, [r7, #12] 80bc8ae: 2201 movs r2, #1 80bc8b0: 771a strb r2, [r3, #28] hrtc->State = HAL_RTC_STATE_BUSY; 80bc8b2: 68fb ldr r3, [r7, #12] 80bc8b4: 2202 movs r2, #2 80bc8b6: 775a strb r2, [r3, #29] if((Format == RTC_FORMAT_BIN) && ((sDate->Month & 0x10U) == 0x10U)) 80bc8b8: 687b ldr r3, [r7, #4] 80bc8ba: 2b00 cmp r3, #0 80bc8bc: d10e bne.n 80bc8dc 80bc8be: 68bb ldr r3, [r7, #8] 80bc8c0: 785b ldrb r3, [r3, #1] 80bc8c2: f003 0310 and.w r3, r3, #16 80bc8c6: 2b00 cmp r3, #0 80bc8c8: d008 beq.n 80bc8dc { sDate->Month = (uint8_t)((sDate->Month & (uint8_t)~(0x10U)) + (uint8_t)0x0AU); 80bc8ca: 68bb ldr r3, [r7, #8] 80bc8cc: 785b ldrb r3, [r3, #1] 80bc8ce: f023 0310 bic.w r3, r3, #16 80bc8d2: b2db uxtb r3, r3 80bc8d4: 330a adds r3, #10 80bc8d6: b2da uxtb r2, r3 80bc8d8: 68bb ldr r3, [r7, #8] 80bc8da: 705a strb r2, [r3, #1] } assert_param(IS_RTC_WEEKDAY(sDate->WeekDay)); if(Format == RTC_FORMAT_BIN) 80bc8dc: 687b ldr r3, [r7, #4] 80bc8de: 2b00 cmp r3, #0 80bc8e0: d11c bne.n 80bc91c { 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) | \ 80bc8e2: 68bb ldr r3, [r7, #8] 80bc8e4: 78db ldrb r3, [r3, #3] 80bc8e6: 4618 mov r0, r3 80bc8e8: f000 f91e bl 80bcb28 80bc8ec: 4603 mov r3, r0 80bc8ee: 041c lsls r4, r3, #16 ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8) | \ 80bc8f0: 68bb ldr r3, [r7, #8] 80bc8f2: 785b ldrb r3, [r3, #1] 80bc8f4: 4618 mov r0, r3 80bc8f6: f000 f917 bl 80bcb28 80bc8fa: 4603 mov r3, r0 80bc8fc: 021b lsls r3, r3, #8 datetmpreg = (((uint32_t)RTC_ByteToBcd2(sDate->Year) << 16) | \ 80bc8fe: 431c orrs r4, r3 ((uint32_t)RTC_ByteToBcd2(sDate->Date)) | \ 80bc900: 68bb ldr r3, [r7, #8] 80bc902: 789b ldrb r3, [r3, #2] 80bc904: 4618 mov r0, r3 80bc906: f000 f90f bl 80bcb28 80bc90a: 4603 mov r3, r0 ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8) | \ 80bc90c: ea44 0203 orr.w r2, r4, r3 ((uint32_t)sDate->WeekDay << 13)); 80bc910: 68bb ldr r3, [r7, #8] 80bc912: 781b ldrb r3, [r3, #0] 80bc914: 035b lsls r3, r3, #13 datetmpreg = (((uint32_t)RTC_ByteToBcd2(sDate->Year) << 16) | \ 80bc916: 4313 orrs r3, r2 80bc918: 617b str r3, [r7, #20] 80bc91a: e00e b.n 80bc93a { 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) | \ 80bc91c: 68bb ldr r3, [r7, #8] 80bc91e: 78db ldrb r3, [r3, #3] 80bc920: 041a lsls r2, r3, #16 (((uint32_t)sDate->Month) << 8) | \ 80bc922: 68bb ldr r3, [r7, #8] 80bc924: 785b ldrb r3, [r3, #1] 80bc926: 021b lsls r3, r3, #8 datetmpreg = ((((uint32_t)sDate->Year) << 16) | \ 80bc928: 4313 orrs r3, r2 ((uint32_t)sDate->Date) | \ 80bc92a: 68ba ldr r2, [r7, #8] 80bc92c: 7892 ldrb r2, [r2, #2] (((uint32_t)sDate->Month) << 8) | \ 80bc92e: 431a orrs r2, r3 (((uint32_t)sDate->WeekDay) << 13)); 80bc930: 68bb ldr r3, [r7, #8] 80bc932: 781b ldrb r3, [r3, #0] 80bc934: 035b lsls r3, r3, #13 datetmpreg = ((((uint32_t)sDate->Year) << 16) | \ 80bc936: 4313 orrs r3, r2 80bc938: 617b str r3, [r7, #20] } /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 80bc93a: 68fb ldr r3, [r7, #12] 80bc93c: 681b ldr r3, [r3, #0] 80bc93e: 22ca movs r2, #202 ; 0xca 80bc940: 625a str r2, [r3, #36] ; 0x24 80bc942: 68fb ldr r3, [r7, #12] 80bc944: 681b ldr r3, [r3, #0] 80bc946: 2253 movs r2, #83 ; 0x53 80bc948: 625a str r2, [r3, #36] ; 0x24 /* Set Initialization mode */ if(RTC_EnterInitMode(hrtc) != HAL_OK) 80bc94a: 68f8 ldr r0, [r7, #12] 80bc94c: f000 f8c0 bl 80bcad0 80bc950: 4603 mov r3, r0 80bc952: 2b00 cmp r3, #0 80bc954: d00b beq.n 80bc96e { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bc956: 68fb ldr r3, [r7, #12] 80bc958: 681b ldr r3, [r3, #0] 80bc95a: 22ff movs r2, #255 ; 0xff 80bc95c: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state*/ hrtc->State = HAL_RTC_STATE_ERROR; 80bc95e: 68fb ldr r3, [r7, #12] 80bc960: 2204 movs r2, #4 80bc962: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80bc964: 68fb ldr r3, [r7, #12] 80bc966: 2200 movs r2, #0 80bc968: 771a strb r2, [r3, #28] return HAL_ERROR; 80bc96a: 2301 movs r3, #1 80bc96c: e031 b.n 80bc9d2 } else { /* Set the RTC_DR register */ hrtc->Instance->DR = (uint32_t)(datetmpreg & RTC_DR_RESERVED_MASK); 80bc96e: 68fb ldr r3, [r7, #12] 80bc970: 681a ldr r2, [r3, #0] 80bc972: 6979 ldr r1, [r7, #20] 80bc974: 4b19 ldr r3, [pc, #100] ; (80bc9dc ) 80bc976: 400b ands r3, r1 80bc978: 6053 str r3, [r2, #4] /* Exit Initialization mode */ hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; 80bc97a: 68fb ldr r3, [r7, #12] 80bc97c: 681b ldr r3, [r3, #0] 80bc97e: 68fa ldr r2, [r7, #12] 80bc980: 6812 ldr r2, [r2, #0] 80bc982: 68d2 ldr r2, [r2, #12] 80bc984: f022 0280 bic.w r2, r2, #128 ; 0x80 80bc988: 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) 80bc98a: 68fb ldr r3, [r7, #12] 80bc98c: 681b ldr r3, [r3, #0] 80bc98e: 689b ldr r3, [r3, #8] 80bc990: f003 0320 and.w r3, r3, #32 80bc994: 2b00 cmp r3, #0 80bc996: d111 bne.n 80bc9bc { if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 80bc998: 68f8 ldr r0, [r7, #12] 80bc99a: f000 f871 bl 80bca80 80bc99e: 4603 mov r3, r0 80bc9a0: 2b00 cmp r3, #0 80bc9a2: d00b beq.n 80bc9bc { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bc9a4: 68fb ldr r3, [r7, #12] 80bc9a6: 681b ldr r3, [r3, #0] 80bc9a8: 22ff movs r2, #255 ; 0xff 80bc9aa: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_ERROR; 80bc9ac: 68fb ldr r3, [r7, #12] 80bc9ae: 2204 movs r2, #4 80bc9b0: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80bc9b2: 68fb ldr r3, [r7, #12] 80bc9b4: 2200 movs r2, #0 80bc9b6: 771a strb r2, [r3, #28] return HAL_ERROR; 80bc9b8: 2301 movs r3, #1 80bc9ba: e00a b.n 80bc9d2 } } /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80bc9bc: 68fb ldr r3, [r7, #12] 80bc9be: 681b ldr r3, [r3, #0] 80bc9c0: 22ff movs r2, #255 ; 0xff 80bc9c2: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_READY ; 80bc9c4: 68fb ldr r3, [r7, #12] 80bc9c6: 2201 movs r2, #1 80bc9c8: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80bc9ca: 68fb ldr r3, [r7, #12] 80bc9cc: 2200 movs r2, #0 80bc9ce: 771a strb r2, [r3, #28] return HAL_OK; 80bc9d0: 2300 movs r3, #0 } } 80bc9d2: 4618 mov r0, r3 80bc9d4: 371c adds r7, #28 80bc9d6: 46bd mov sp, r7 80bc9d8: bd90 pop {r4, r7, pc} 80bc9da: bf00 nop 80bc9dc: 00ffff3f .word 0x00ffff3f 080bc9e0 : * 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) { 80bc9e0: b580 push {r7, lr} 80bc9e2: b086 sub sp, #24 80bc9e4: af00 add r7, sp, #0 80bc9e6: 60f8 str r0, [r7, #12] 80bc9e8: 60b9 str r1, [r7, #8] 80bc9ea: 607a str r2, [r7, #4] uint32_t datetmpreg = 0; 80bc9ec: 2300 movs r3, #0 80bc9ee: 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); 80bc9f0: 68fb ldr r3, [r7, #12] 80bc9f2: 681b ldr r3, [r3, #0] 80bc9f4: 685a ldr r2, [r3, #4] 80bc9f6: 4b21 ldr r3, [pc, #132] ; (80bca7c ) 80bc9f8: 4013 ands r3, r2 80bc9fa: 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); 80bc9fc: 697b ldr r3, [r7, #20] 80bc9fe: 0c1b lsrs r3, r3, #16 80bca00: b2da uxtb r2, r3 80bca02: 68bb ldr r3, [r7, #8] 80bca04: 70da strb r2, [r3, #3] sDate->Month = (uint8_t)((datetmpreg & (RTC_DR_MT | RTC_DR_MU)) >> 8); 80bca06: 697b ldr r3, [r7, #20] 80bca08: 0a1b lsrs r3, r3, #8 80bca0a: b2db uxtb r3, r3 80bca0c: f003 031f and.w r3, r3, #31 80bca10: b2da uxtb r2, r3 80bca12: 68bb ldr r3, [r7, #8] 80bca14: 705a strb r2, [r3, #1] sDate->Date = (uint8_t)(datetmpreg & (RTC_DR_DT | RTC_DR_DU)); 80bca16: 697b ldr r3, [r7, #20] 80bca18: b2db uxtb r3, r3 80bca1a: f003 033f and.w r3, r3, #63 ; 0x3f 80bca1e: b2da uxtb r2, r3 80bca20: 68bb ldr r3, [r7, #8] 80bca22: 709a strb r2, [r3, #2] sDate->WeekDay = (uint8_t)((datetmpreg & (RTC_DR_WDU)) >> 13); 80bca24: 697b ldr r3, [r7, #20] 80bca26: 0b5b lsrs r3, r3, #13 80bca28: b2db uxtb r3, r3 80bca2a: f003 0307 and.w r3, r3, #7 80bca2e: b2da uxtb r2, r3 80bca30: 68bb ldr r3, [r7, #8] 80bca32: 701a strb r2, [r3, #0] /* Check the input parameters format */ if(Format == RTC_FORMAT_BIN) 80bca34: 687b ldr r3, [r7, #4] 80bca36: 2b00 cmp r3, #0 80bca38: d11a bne.n 80bca70 { /* Convert the date structure parameters to Binary format */ sDate->Year = (uint8_t)RTC_Bcd2ToByte(sDate->Year); 80bca3a: 68bb ldr r3, [r7, #8] 80bca3c: 78db ldrb r3, [r3, #3] 80bca3e: 4618 mov r0, r3 80bca40: f000 f890 bl 80bcb64 80bca44: 4603 mov r3, r0 80bca46: 461a mov r2, r3 80bca48: 68bb ldr r3, [r7, #8] 80bca4a: 70da strb r2, [r3, #3] sDate->Month = (uint8_t)RTC_Bcd2ToByte(sDate->Month); 80bca4c: 68bb ldr r3, [r7, #8] 80bca4e: 785b ldrb r3, [r3, #1] 80bca50: 4618 mov r0, r3 80bca52: f000 f887 bl 80bcb64 80bca56: 4603 mov r3, r0 80bca58: 461a mov r2, r3 80bca5a: 68bb ldr r3, [r7, #8] 80bca5c: 705a strb r2, [r3, #1] sDate->Date = (uint8_t)RTC_Bcd2ToByte(sDate->Date); 80bca5e: 68bb ldr r3, [r7, #8] 80bca60: 789b ldrb r3, [r3, #2] 80bca62: 4618 mov r0, r3 80bca64: f000 f87e bl 80bcb64 80bca68: 4603 mov r3, r0 80bca6a: 461a mov r2, r3 80bca6c: 68bb ldr r3, [r7, #8] 80bca6e: 709a strb r2, [r3, #2] } return HAL_OK; 80bca70: 2300 movs r3, #0 } 80bca72: 4618 mov r0, r3 80bca74: 3718 adds r7, #24 80bca76: 46bd mov sp, r7 80bca78: bd80 pop {r7, pc} 80bca7a: bf00 nop 80bca7c: 00ffff3f .word 0x00ffff3f 080bca80 : * @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) { 80bca80: b580 push {r7, lr} 80bca82: b084 sub sp, #16 80bca84: af00 add r7, sp, #0 80bca86: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80bca88: 2300 movs r3, #0 80bca8a: 60fb str r3, [r7, #12] /* Clear RSF flag */ hrtc->Instance->ISR &= (uint32_t)RTC_RSF_MASK; 80bca8c: 687b ldr r3, [r7, #4] 80bca8e: 681b ldr r3, [r3, #0] 80bca90: 687a ldr r2, [r7, #4] 80bca92: 6812 ldr r2, [r2, #0] 80bca94: 68d2 ldr r2, [r2, #12] 80bca96: f022 02a0 bic.w r2, r2, #160 ; 0xa0 80bca9a: 60da str r2, [r3, #12] /* Get tick */ tickstart = HAL_GetTick(); 80bca9c: f7fa f9c2 bl 80b6e24 80bcaa0: 60f8 str r0, [r7, #12] /* Wait the registers to be synchronised */ while((hrtc->Instance->ISR & RTC_ISR_RSF) == (uint32_t)RESET) 80bcaa2: e009 b.n 80bcab8 { if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 80bcaa4: f7fa f9be bl 80b6e24 80bcaa8: 4602 mov r2, r0 80bcaaa: 68fb ldr r3, [r7, #12] 80bcaac: 1ad3 subs r3, r2, r3 80bcaae: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80bcab2: d901 bls.n 80bcab8 { return HAL_TIMEOUT; 80bcab4: 2303 movs r3, #3 80bcab6: e007 b.n 80bcac8 while((hrtc->Instance->ISR & RTC_ISR_RSF) == (uint32_t)RESET) 80bcab8: 687b ldr r3, [r7, #4] 80bcaba: 681b ldr r3, [r3, #0] 80bcabc: 68db ldr r3, [r3, #12] 80bcabe: f003 0320 and.w r3, r3, #32 80bcac2: 2b00 cmp r3, #0 80bcac4: d0ee beq.n 80bcaa4 } } return HAL_OK; 80bcac6: 2300 movs r3, #0 } 80bcac8: 4618 mov r0, r3 80bcaca: 3710 adds r7, #16 80bcacc: 46bd mov sp, r7 80bcace: bd80 pop {r7, pc} 080bcad0 : * @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) { 80bcad0: b580 push {r7, lr} 80bcad2: b084 sub sp, #16 80bcad4: af00 add r7, sp, #0 80bcad6: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80bcad8: 2300 movs r3, #0 80bcada: 60fb str r3, [r7, #12] /* Check if the Initialization mode is set */ if((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) 80bcadc: 687b ldr r3, [r7, #4] 80bcade: 681b ldr r3, [r3, #0] 80bcae0: 68db ldr r3, [r3, #12] 80bcae2: f003 0340 and.w r3, r3, #64 ; 0x40 80bcae6: 2b00 cmp r3, #0 80bcae8: d119 bne.n 80bcb1e { /* Set the Initialization mode */ hrtc->Instance->ISR = (uint32_t)RTC_INIT_MASK; 80bcaea: 687b ldr r3, [r7, #4] 80bcaec: 681b ldr r3, [r3, #0] 80bcaee: f04f 32ff mov.w r2, #4294967295 80bcaf2: 60da str r2, [r3, #12] /* Get tick */ tickstart = HAL_GetTick(); 80bcaf4: f7fa f996 bl 80b6e24 80bcaf8: 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) 80bcafa: e009 b.n 80bcb10 { if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 80bcafc: f7fa f992 bl 80b6e24 80bcb00: 4602 mov r2, r0 80bcb02: 68fb ldr r3, [r7, #12] 80bcb04: 1ad3 subs r3, r2, r3 80bcb06: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80bcb0a: d901 bls.n 80bcb10 { return HAL_TIMEOUT; 80bcb0c: 2303 movs r3, #3 80bcb0e: e007 b.n 80bcb20 while((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) 80bcb10: 687b ldr r3, [r7, #4] 80bcb12: 681b ldr r3, [r3, #0] 80bcb14: 68db ldr r3, [r3, #12] 80bcb16: f003 0340 and.w r3, r3, #64 ; 0x40 80bcb1a: 2b00 cmp r3, #0 80bcb1c: d0ee beq.n 80bcafc } } } return HAL_OK; 80bcb1e: 2300 movs r3, #0 } 80bcb20: 4618 mov r0, r3 80bcb22: 3710 adds r7, #16 80bcb24: 46bd mov sp, r7 80bcb26: bd80 pop {r7, pc} 080bcb28 : * @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) { 80bcb28: b480 push {r7} 80bcb2a: b085 sub sp, #20 80bcb2c: af00 add r7, sp, #0 80bcb2e: 4603 mov r3, r0 80bcb30: 71fb strb r3, [r7, #7] uint32_t bcdhigh = 0; 80bcb32: 2300 movs r3, #0 80bcb34: 60fb str r3, [r7, #12] while(Value >= 10) 80bcb36: e005 b.n 80bcb44 { bcdhigh++; 80bcb38: 68fb ldr r3, [r7, #12] 80bcb3a: 3301 adds r3, #1 80bcb3c: 60fb str r3, [r7, #12] Value -= 10; 80bcb3e: 79fb ldrb r3, [r7, #7] 80bcb40: 3b0a subs r3, #10 80bcb42: 71fb strb r3, [r7, #7] while(Value >= 10) 80bcb44: 79fb ldrb r3, [r7, #7] 80bcb46: 2b09 cmp r3, #9 80bcb48: d8f6 bhi.n 80bcb38 } return ((uint8_t)(bcdhigh << 4) | Value); 80bcb4a: 68fb ldr r3, [r7, #12] 80bcb4c: b2db uxtb r3, r3 80bcb4e: 011b lsls r3, r3, #4 80bcb50: b2da uxtb r2, r3 80bcb52: 79fb ldrb r3, [r7, #7] 80bcb54: 4313 orrs r3, r2 80bcb56: b2db uxtb r3, r3 } 80bcb58: 4618 mov r0, r3 80bcb5a: 3714 adds r7, #20 80bcb5c: 46bd mov sp, r7 80bcb5e: f85d 7b04 ldr.w r7, [sp], #4 80bcb62: 4770 bx lr 080bcb64 : * @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) { 80bcb64: b480 push {r7} 80bcb66: b085 sub sp, #20 80bcb68: af00 add r7, sp, #0 80bcb6a: 4603 mov r3, r0 80bcb6c: 71fb strb r3, [r7, #7] uint32_t tmp = 0; 80bcb6e: 2300 movs r3, #0 80bcb70: 60fb str r3, [r7, #12] tmp = ((uint8_t)(Value & (uint8_t)0xF0) >> (uint8_t)0x4) * 10; 80bcb72: 79fb ldrb r3, [r7, #7] 80bcb74: 091b lsrs r3, r3, #4 80bcb76: b2db uxtb r3, r3 80bcb78: 461a mov r2, r3 80bcb7a: 4613 mov r3, r2 80bcb7c: 009b lsls r3, r3, #2 80bcb7e: 4413 add r3, r2 80bcb80: 005b lsls r3, r3, #1 80bcb82: 60fb str r3, [r7, #12] return (tmp + (Value & (uint8_t)0x0F)); 80bcb84: 79fb ldrb r3, [r7, #7] 80bcb86: f003 030f and.w r3, r3, #15 80bcb8a: b2da uxtb r2, r3 80bcb8c: 68fb ldr r3, [r7, #12] 80bcb8e: b2db uxtb r3, r3 80bcb90: 4413 add r3, r2 80bcb92: b2db uxtb r3, r3 } 80bcb94: 4618 mov r0, r3 80bcb96: 3714 adds r7, #20 80bcb98: 46bd mov sp, r7 80bcb9a: f85d 7b04 ldr.w r7, [sp], #4 80bcb9e: 4770 bx lr 080bcba0 : * 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) { 80bcba0: b480 push {r7} 80bcba2: b087 sub sp, #28 80bcba4: af00 add r7, sp, #0 80bcba6: 60f8 str r0, [r7, #12] 80bcba8: 60b9 str r1, [r7, #8] 80bcbaa: 607a str r2, [r7, #4] uint32_t tmp = 0; 80bcbac: 2300 movs r3, #0 80bcbae: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_RTC_BKP(BackupRegister)); tmp = (uint32_t)&(hrtc->Instance->BKP0R); 80bcbb0: 68fb ldr r3, [r7, #12] 80bcbb2: 681b ldr r3, [r3, #0] 80bcbb4: 3350 adds r3, #80 ; 0x50 80bcbb6: 617b str r3, [r7, #20] tmp += (BackupRegister * 4); 80bcbb8: 68bb ldr r3, [r7, #8] 80bcbba: 009b lsls r3, r3, #2 80bcbbc: 697a ldr r2, [r7, #20] 80bcbbe: 4413 add r3, r2 80bcbc0: 617b str r3, [r7, #20] /* Write the specified register */ *(__IO uint32_t *)tmp = (uint32_t)Data; 80bcbc2: 697b ldr r3, [r7, #20] 80bcbc4: 687a ldr r2, [r7, #4] 80bcbc6: 601a str r2, [r3, #0] } 80bcbc8: bf00 nop 80bcbca: 371c adds r7, #28 80bcbcc: 46bd mov sp, r7 80bcbce: f85d 7b04 ldr.w r7, [sp], #4 80bcbd2: 4770 bx lr 080bcbd4 : * 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) { 80bcbd4: b480 push {r7} 80bcbd6: b085 sub sp, #20 80bcbd8: af00 add r7, sp, #0 80bcbda: 6078 str r0, [r7, #4] 80bcbdc: 6039 str r1, [r7, #0] uint32_t tmp = 0; 80bcbde: 2300 movs r3, #0 80bcbe0: 60fb str r3, [r7, #12] /* Check the parameters */ assert_param(IS_RTC_BKP(BackupRegister)); tmp = (uint32_t)&(hrtc->Instance->BKP0R); 80bcbe2: 687b ldr r3, [r7, #4] 80bcbe4: 681b ldr r3, [r3, #0] 80bcbe6: 3350 adds r3, #80 ; 0x50 80bcbe8: 60fb str r3, [r7, #12] tmp += (BackupRegister * 4); 80bcbea: 683b ldr r3, [r7, #0] 80bcbec: 009b lsls r3, r3, #2 80bcbee: 68fa ldr r2, [r7, #12] 80bcbf0: 4413 add r3, r2 80bcbf2: 60fb str r3, [r7, #12] /* Read the specified register */ return (*(__IO uint32_t *)tmp); 80bcbf4: 68fb ldr r3, [r7, #12] 80bcbf6: 681b ldr r3, [r3, #0] } 80bcbf8: 4618 mov r0, r3 80bcbfa: 3714 adds r7, #20 80bcbfc: 46bd mov sp, r7 80bcbfe: f85d 7b04 ldr.w r7, [sp], #4 80bcc02: 4770 bx lr 080bcc04 : 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) { 80bcc04: b580 push {r7, lr} 80bcc06: b082 sub sp, #8 80bcc08: af00 add r7, sp, #0 80bcc0a: 6078 str r0, [r7, #4] /* Check the SD handle allocation */ if(hsd == NULL) 80bcc0c: 687b ldr r3, [r7, #4] 80bcc0e: 2b00 cmp r3, #0 80bcc10: d101 bne.n 80bcc16 { return HAL_ERROR; 80bcc12: 2301 movs r3, #1 80bcc14: e022 b.n 80bcc5c 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) 80bcc16: 687b ldr r3, [r7, #4] 80bcc18: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80bcc1c: b2db uxtb r3, r3 80bcc1e: 2b00 cmp r3, #0 80bcc20: d105 bne.n 80bcc2e { /* Allocate lock resource and initialize it */ hsd->Lock = HAL_UNLOCKED; 80bcc22: 687b ldr r3, [r7, #4] 80bcc24: 2200 movs r2, #0 80bcc26: 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); 80bcc28: 6878 ldr r0, [r7, #4] 80bcc2a: f7f4 ff3d bl 80b1aa8 #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ } hsd->State = HAL_SD_STATE_BUSY; 80bcc2e: 687b ldr r3, [r7, #4] 80bcc30: 2203 movs r2, #3 80bcc32: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Initialize the Card parameters */ if (HAL_SD_InitCard(hsd) != HAL_OK) 80bcc36: 6878 ldr r0, [r7, #4] 80bcc38: f000 f814 bl 80bcc64 80bcc3c: 4603 mov r3, r0 80bcc3e: 2b00 cmp r3, #0 80bcc40: d001 beq.n 80bcc46 { return HAL_ERROR; 80bcc42: 2301 movs r3, #1 80bcc44: e00a b.n 80bcc5c } /* Initialize the error code */ hsd->ErrorCode = HAL_SD_ERROR_NONE; 80bcc46: 687b ldr r3, [r7, #4] 80bcc48: 2200 movs r2, #0 80bcc4a: 639a str r2, [r3, #56] ; 0x38 /* Initialize the SD operation */ hsd->Context = SD_CONTEXT_NONE; 80bcc4c: 687b ldr r3, [r7, #4] 80bcc4e: 2200 movs r2, #0 80bcc50: 631a str r2, [r3, #48] ; 0x30 /* Initialize the SD state */ hsd->State = HAL_SD_STATE_READY; 80bcc52: 687b ldr r3, [r7, #4] 80bcc54: 2201 movs r2, #1 80bcc56: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_OK; 80bcc5a: 2300 movs r3, #0 } 80bcc5c: 4618 mov r0, r3 80bcc5e: 3708 adds r7, #8 80bcc60: 46bd mov sp, r7 80bcc62: bd80 pop {r7, pc} 080bcc64 : * @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) { 80bcc64: b5b0 push {r4, r5, r7, lr} 80bcc66: b08e sub sp, #56 ; 0x38 80bcc68: af04 add r7, sp, #16 80bcc6a: 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; 80bcc6c: 2300 movs r3, #0 80bcc6e: 60bb str r3, [r7, #8] Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE; 80bcc70: 2300 movs r3, #0 80bcc72: 60fb str r3, [r7, #12] Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; 80bcc74: 2300 movs r3, #0 80bcc76: 613b str r3, [r7, #16] Init.BusWide = SDMMC_BUS_WIDE_1B; 80bcc78: 2300 movs r3, #0 80bcc7a: 617b str r3, [r7, #20] Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; 80bcc7c: 2300 movs r3, #0 80bcc7e: 61bb str r3, [r7, #24] Init.ClockDiv = SDMMC_INIT_CLK_DIV; 80bcc80: 2376 movs r3, #118 ; 0x76 80bcc82: 61fb str r3, [r7, #28] /* Initialize SDMMC peripheral interface with default configuration */ status = SDMMC_Init(hsd->Instance, Init); 80bcc84: 687b ldr r3, [r7, #4] 80bcc86: 681d ldr r5, [r3, #0] 80bcc88: 466c mov r4, sp 80bcc8a: f107 0314 add.w r3, r7, #20 80bcc8e: e893 0007 ldmia.w r3, {r0, r1, r2} 80bcc92: e884 0007 stmia.w r4, {r0, r1, r2} 80bcc96: f107 0308 add.w r3, r7, #8 80bcc9a: cb0e ldmia r3, {r1, r2, r3} 80bcc9c: 4628 mov r0, r5 80bcc9e: f004 fd67 bl 80c1770 80bcca2: 4603 mov r3, r0 80bcca4: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(status != HAL_OK) 80bcca8: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80bccac: 2b00 cmp r3, #0 80bccae: d001 beq.n 80bccb4 { return HAL_ERROR; 80bccb0: 2301 movs r3, #1 80bccb2: e059 b.n 80bcd68 } /* Disable SDMMC Clock */ __HAL_SD_DISABLE(hsd); 80bccb4: 687b ldr r3, [r7, #4] 80bccb6: 681b ldr r3, [r3, #0] 80bccb8: 687a ldr r2, [r7, #4] 80bccba: 6812 ldr r2, [r2, #0] 80bccbc: 6852 ldr r2, [r2, #4] 80bccbe: f422 7280 bic.w r2, r2, #256 ; 0x100 80bccc2: 605a str r2, [r3, #4] /* Set Power State to ON */ (void)SDMMC_PowerState_ON(hsd->Instance); 80bccc4: 687b ldr r3, [r7, #4] 80bccc6: 681b ldr r3, [r3, #0] 80bccc8: 4618 mov r0, r3 80bccca: f004 fd9b bl 80c1804 /* Enable SDMMC Clock */ __HAL_SD_ENABLE(hsd); 80bccce: 687b ldr r3, [r7, #4] 80bccd0: 681b ldr r3, [r3, #0] 80bccd2: 687a ldr r2, [r7, #4] 80bccd4: 6812 ldr r2, [r2, #0] 80bccd6: 6852 ldr r2, [r2, #4] 80bccd8: f442 7280 orr.w r2, r2, #256 ; 0x100 80bccdc: 605a str r2, [r3, #4] /* Required power up waiting time before starting the SD initialization sequence */ HAL_Delay(2); 80bccde: 2002 movs r0, #2 80bcce0: f7fa f8ac bl 80b6e3c /* Identify card operating voltage */ errorstate = SD_PowerON(hsd); 80bcce4: 6878 ldr r0, [r7, #4] 80bcce6: f001 f813 bl 80bdd10 80bccea: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80bccec: 6a3b ldr r3, [r7, #32] 80bccee: 2b00 cmp r3, #0 80bccf0: d00b beq.n 80bcd0a { hsd->State = HAL_SD_STATE_READY; 80bccf2: 687b ldr r3, [r7, #4] 80bccf4: 2201 movs r2, #1 80bccf6: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->ErrorCode |= errorstate; 80bccfa: 687b ldr r3, [r7, #4] 80bccfc: 6b9a ldr r2, [r3, #56] ; 0x38 80bccfe: 6a3b ldr r3, [r7, #32] 80bcd00: 431a orrs r2, r3 80bcd02: 687b ldr r3, [r7, #4] 80bcd04: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80bcd06: 2301 movs r3, #1 80bcd08: e02e b.n 80bcd68 } /* Card initialization */ errorstate = SD_InitCard(hsd); 80bcd0a: 6878 ldr r0, [r7, #4] 80bcd0c: f000 ff32 bl 80bdb74 80bcd10: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80bcd12: 6a3b ldr r3, [r7, #32] 80bcd14: 2b00 cmp r3, #0 80bcd16: d00b beq.n 80bcd30 { hsd->State = HAL_SD_STATE_READY; 80bcd18: 687b ldr r3, [r7, #4] 80bcd1a: 2201 movs r2, #1 80bcd1c: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->ErrorCode |= errorstate; 80bcd20: 687b ldr r3, [r7, #4] 80bcd22: 6b9a ldr r2, [r3, #56] ; 0x38 80bcd24: 6a3b ldr r3, [r7, #32] 80bcd26: 431a orrs r2, r3 80bcd28: 687b ldr r3, [r7, #4] 80bcd2a: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80bcd2c: 2301 movs r3, #1 80bcd2e: e01b b.n 80bcd68 } /* Set Block Size for Card */ errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); 80bcd30: 687b ldr r3, [r7, #4] 80bcd32: 681b ldr r3, [r3, #0] 80bcd34: f44f 7100 mov.w r1, #512 ; 0x200 80bcd38: 4618 mov r0, r3 80bcd3a: f004 fe03 bl 80c1944 80bcd3e: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80bcd40: 6a3b ldr r3, [r7, #32] 80bcd42: 2b00 cmp r3, #0 80bcd44: d00f beq.n 80bcd66 { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bcd46: 687b ldr r3, [r7, #4] 80bcd48: 681b ldr r3, [r3, #0] 80bcd4a: 4a09 ldr r2, [pc, #36] ; (80bcd70 ) 80bcd4c: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80bcd4e: 687b ldr r3, [r7, #4] 80bcd50: 6b9a ldr r2, [r3, #56] ; 0x38 80bcd52: 6a3b ldr r3, [r7, #32] 80bcd54: 431a orrs r2, r3 80bcd56: 687b ldr r3, [r7, #4] 80bcd58: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bcd5a: 687b ldr r3, [r7, #4] 80bcd5c: 2201 movs r2, #1 80bcd5e: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80bcd62: 2301 movs r3, #1 80bcd64: e000 b.n 80bcd68 } return HAL_OK; 80bcd66: 2300 movs r3, #0 } 80bcd68: 4618 mov r0, r3 80bcd6a: 3728 adds r7, #40 ; 0x28 80bcd6c: 46bd mov sp, r7 80bcd6e: bdb0 pop {r4, r5, r7, pc} 80bcd70: 004005ff .word 0x004005ff 080bcd74 : * @brief De-Initializes the SD card. * @param hsd: Pointer to SD handle * @retval HAL status */ HAL_StatusTypeDef HAL_SD_DeInit(SD_HandleTypeDef *hsd) { 80bcd74: b580 push {r7, lr} 80bcd76: b082 sub sp, #8 80bcd78: af00 add r7, sp, #0 80bcd7a: 6078 str r0, [r7, #4] /* Check the SD handle allocation */ if(hsd == NULL) 80bcd7c: 687b ldr r3, [r7, #4] 80bcd7e: 2b00 cmp r3, #0 80bcd80: d101 bne.n 80bcd86 { return HAL_ERROR; 80bcd82: 2301 movs r3, #1 80bcd84: e011 b.n 80bcdaa } /* Check the parameters */ assert_param(IS_SDMMC_ALL_INSTANCE(hsd->Instance)); hsd->State = HAL_SD_STATE_BUSY; 80bcd86: 687b ldr r3, [r7, #4] 80bcd88: 2203 movs r2, #3 80bcd8a: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Set SD power state to off */ SD_PowerOFF(hsd); 80bcd8e: 6878 ldr r0, [r7, #4] 80bcd90: f001 f84c bl 80bde2c /* DeInit the low level hardware */ hsd->MspDeInitCallback(hsd); #else /* De-Initialize the MSP layer */ HAL_SD_MspDeInit(hsd); 80bcd94: 6878 ldr r0, [r7, #4] 80bcd96: f7f4 ff53 bl 80b1c40 #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ hsd->ErrorCode = HAL_SD_ERROR_NONE; 80bcd9a: 687b ldr r3, [r7, #4] 80bcd9c: 2200 movs r2, #0 80bcd9e: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_RESET; 80bcda0: 687b ldr r3, [r7, #4] 80bcda2: 2200 movs r2, #0 80bcda4: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_OK; 80bcda8: 2300 movs r3, #0 } 80bcdaa: 4618 mov r0, r3 80bcdac: 3708 adds r7, #8 80bcdae: 46bd mov sp, r7 80bcdb0: bd80 pop {r7, pc} ... 080bcdb4 : * @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) { 80bcdb4: b580 push {r7, lr} 80bcdb6: b08c sub sp, #48 ; 0x30 80bcdb8: af00 add r7, sp, #0 80bcdba: 60f8 str r0, [r7, #12] 80bcdbc: 60b9 str r1, [r7, #8] 80bcdbe: 607a str r2, [r7, #4] 80bcdc0: 603b str r3, [r7, #0] SDMMC_DataInitTypeDef config; uint32_t errorstate; uint32_t add = BlockAdd; 80bcdc2: 687b ldr r3, [r7, #4] 80bcdc4: 62bb str r3, [r7, #40] ; 0x28 if(NULL == pData) 80bcdc6: 68bb ldr r3, [r7, #8] 80bcdc8: 2b00 cmp r3, #0 80bcdca: d107 bne.n 80bcddc { hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 80bcdcc: 68fb ldr r3, [r7, #12] 80bcdce: 6b9b ldr r3, [r3, #56] ; 0x38 80bcdd0: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80bcdd4: 68fb ldr r3, [r7, #12] 80bcdd6: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80bcdd8: 2301 movs r3, #1 80bcdda: e0c3 b.n 80bcf64 } if(hsd->State == HAL_SD_STATE_READY) 80bcddc: 68fb ldr r3, [r7, #12] 80bcdde: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80bcde2: b2db uxtb r3, r3 80bcde4: 2b01 cmp r3, #1 80bcde6: f040 80bc bne.w 80bcf62 { hsd->ErrorCode = HAL_SD_ERROR_NONE; 80bcdea: 68fb ldr r3, [r7, #12] 80bcdec: 2200 movs r2, #0 80bcdee: 639a str r2, [r3, #56] ; 0x38 if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 80bcdf0: 6aba ldr r2, [r7, #40] ; 0x28 80bcdf2: 683b ldr r3, [r7, #0] 80bcdf4: 441a add r2, r3 80bcdf6: 68fb ldr r3, [r7, #12] 80bcdf8: 6ddb ldr r3, [r3, #92] ; 0x5c 80bcdfa: 429a cmp r2, r3 80bcdfc: d907 bls.n 80bce0e { hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 80bcdfe: 68fb ldr r3, [r7, #12] 80bce00: 6b9b ldr r3, [r3, #56] ; 0x38 80bce02: f043 7200 orr.w r2, r3, #33554432 ; 0x2000000 80bce06: 68fb ldr r3, [r7, #12] 80bce08: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80bce0a: 2301 movs r3, #1 80bce0c: e0aa b.n 80bcf64 } hsd->State = HAL_SD_STATE_BUSY; 80bce0e: 68fb ldr r3, [r7, #12] 80bce10: 2203 movs r2, #3 80bce12: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Initialize data control register */ hsd->Instance->DCTRL = 0U; 80bce16: 68fb ldr r3, [r7, #12] 80bce18: 681b ldr r3, [r3, #0] 80bce1a: 2200 movs r2, #0 80bce1c: 62da str r2, [r3, #44] ; 0x2c __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND)); 80bce1e: 68fb ldr r3, [r7, #12] 80bce20: 681b ldr r3, [r3, #0] 80bce22: 68fa ldr r2, [r7, #12] 80bce24: 6812 ldr r2, [r2, #0] 80bce26: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bce28: f442 7295 orr.w r2, r2, #298 ; 0x12a 80bce2c: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA transfer complete callback */ hsd->hdmarx->XferCpltCallback = SD_DMAReceiveCplt; 80bce2e: 68fb ldr r3, [r7, #12] 80bce30: 6c1b ldr r3, [r3, #64] ; 0x40 80bce32: 4a4e ldr r2, [pc, #312] ; (80bcf6c ) 80bce34: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA error callback */ hsd->hdmarx->XferErrorCallback = SD_DMAError; 80bce36: 68fb ldr r3, [r7, #12] 80bce38: 6c1b ldr r3, [r3, #64] ; 0x40 80bce3a: 4a4d ldr r2, [pc, #308] ; (80bcf70 ) 80bce3c: 64da str r2, [r3, #76] ; 0x4c /* Set the DMA Abort callback */ hsd->hdmarx->XferAbortCallback = NULL; 80bce3e: 68fb ldr r3, [r7, #12] 80bce40: 6c1b ldr r3, [r3, #64] ; 0x40 80bce42: 2200 movs r2, #0 80bce44: 651a str r2, [r3, #80] ; 0x50 /* Force DMA Direction */ hsd->hdmarx->Init.Direction = DMA_PERIPH_TO_MEMORY; 80bce46: 68fb ldr r3, [r7, #12] 80bce48: 6c1b ldr r3, [r3, #64] ; 0x40 80bce4a: 2200 movs r2, #0 80bce4c: 609a str r2, [r3, #8] MODIFY_REG(hsd->hdmarx->Instance->CR, DMA_SxCR_DIR, hsd->hdmarx->Init.Direction); 80bce4e: 68fb ldr r3, [r7, #12] 80bce50: 6c1b ldr r3, [r3, #64] ; 0x40 80bce52: 681b ldr r3, [r3, #0] 80bce54: 68fa ldr r2, [r7, #12] 80bce56: 6c12 ldr r2, [r2, #64] ; 0x40 80bce58: 6812 ldr r2, [r2, #0] 80bce5a: 6812 ldr r2, [r2, #0] 80bce5c: f022 01c0 bic.w r1, r2, #192 ; 0xc0 80bce60: 68fa ldr r2, [r7, #12] 80bce62: 6c12 ldr r2, [r2, #64] ; 0x40 80bce64: 6892 ldr r2, [r2, #8] 80bce66: 430a orrs r2, r1 80bce68: 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) 80bce6a: 68fb ldr r3, [r7, #12] 80bce6c: 6c18 ldr r0, [r3, #64] ; 0x40 80bce6e: 68fb ldr r3, [r7, #12] 80bce70: 681b ldr r3, [r3, #0] 80bce72: 3380 adds r3, #128 ; 0x80 80bce74: 4619 mov r1, r3 80bce76: 68ba ldr r2, [r7, #8] 80bce78: 683b ldr r3, [r7, #0] 80bce7a: 025b lsls r3, r3, #9 80bce7c: 089b lsrs r3, r3, #2 80bce7e: f7fb f8f5 bl 80b806c 80bce82: 4603 mov r3, r0 80bce84: 2b00 cmp r3, #0 80bce86: d017 beq.n 80bceb8 { __HAL_SD_DISABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND)); 80bce88: 68fb ldr r3, [r7, #12] 80bce8a: 681b ldr r3, [r3, #0] 80bce8c: 68fa ldr r2, [r7, #12] 80bce8e: 6812 ldr r2, [r2, #0] 80bce90: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bce92: f422 7295 bic.w r2, r2, #298 ; 0x12a 80bce96: 63da str r2, [r3, #60] ; 0x3c __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bce98: 68fb ldr r3, [r7, #12] 80bce9a: 681b ldr r3, [r3, #0] 80bce9c: 4a35 ldr r2, [pc, #212] ; (80bcf74 ) 80bce9e: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= HAL_SD_ERROR_DMA; 80bcea0: 68fb ldr r3, [r7, #12] 80bcea2: 6b9b ldr r3, [r3, #56] ; 0x38 80bcea4: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80bcea8: 68fb ldr r3, [r7, #12] 80bceaa: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bceac: 68fb ldr r3, [r7, #12] 80bceae: 2201 movs r2, #1 80bceb0: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80bceb4: 2301 movs r3, #1 80bceb6: e055 b.n 80bcf64 } else { /* Enable SD DMA transfer */ __HAL_SD_DMA_ENABLE(hsd); 80bceb8: 68fb ldr r3, [r7, #12] 80bceba: 681b ldr r3, [r3, #0] 80bcebc: 68fa ldr r2, [r7, #12] 80bcebe: 6812 ldr r2, [r2, #0] 80bcec0: 6ad2 ldr r2, [r2, #44] ; 0x2c 80bcec2: f042 0208 orr.w r2, r2, #8 80bcec6: 62da str r2, [r3, #44] ; 0x2c if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 80bcec8: 68fb ldr r3, [r7, #12] 80bceca: 6c5b ldr r3, [r3, #68] ; 0x44 80bcecc: 2b01 cmp r3, #1 80bcece: d002 beq.n 80bced6 { add *= 512U; 80bced0: 6abb ldr r3, [r7, #40] ; 0x28 80bced2: 025b lsls r3, r3, #9 80bced4: 62bb str r3, [r7, #40] ; 0x28 } /* Configure the SD DPSM (Data Path State Machine) */ config.DataTimeOut = SDMMC_DATATIMEOUT; 80bced6: f04f 33ff mov.w r3, #4294967295 80bceda: 613b str r3, [r7, #16] config.DataLength = BLOCKSIZE * NumberOfBlocks; 80bcedc: 683b ldr r3, [r7, #0] 80bcede: 025b lsls r3, r3, #9 80bcee0: 617b str r3, [r7, #20] config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 80bcee2: 2390 movs r3, #144 ; 0x90 80bcee4: 61bb str r3, [r7, #24] config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 80bcee6: 2302 movs r3, #2 80bcee8: 61fb str r3, [r7, #28] config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 80bceea: 2300 movs r3, #0 80bceec: 623b str r3, [r7, #32] config.DPSM = SDMMC_DPSM_ENABLE; 80bceee: 2301 movs r3, #1 80bcef0: 627b str r3, [r7, #36] ; 0x24 (void)SDMMC_ConfigData(hsd->Instance, &config); 80bcef2: 68fb ldr r3, [r7, #12] 80bcef4: 681b ldr r3, [r3, #0] 80bcef6: f107 0210 add.w r2, r7, #16 80bcefa: 4611 mov r1, r2 80bcefc: 4618 mov r0, r3 80bcefe: f004 fcf5 bl 80c18ec /* Read Blocks in DMA mode */ if(NumberOfBlocks > 1U) 80bcf02: 683b ldr r3, [r7, #0] 80bcf04: 2b01 cmp r3, #1 80bcf06: d90a bls.n 80bcf1e { hsd->Context = (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_DMA); 80bcf08: 68fb ldr r3, [r7, #12] 80bcf0a: 2282 movs r2, #130 ; 0x82 80bcf0c: 631a str r2, [r3, #48] ; 0x30 /* Read Multi Block command */ errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add); 80bcf0e: 68fb ldr r3, [r7, #12] 80bcf10: 681b ldr r3, [r3, #0] 80bcf12: 6ab9 ldr r1, [r7, #40] ; 0x28 80bcf14: 4618 mov r0, r3 80bcf16: f004 fd59 bl 80c19cc 80bcf1a: 62f8 str r0, [r7, #44] ; 0x2c 80bcf1c: e009 b.n 80bcf32 } else { hsd->Context = (SD_CONTEXT_READ_SINGLE_BLOCK | SD_CONTEXT_DMA); 80bcf1e: 68fb ldr r3, [r7, #12] 80bcf20: 2281 movs r2, #129 ; 0x81 80bcf22: 631a str r2, [r3, #48] ; 0x30 /* Read Single Block command */ errorstate = SDMMC_CmdReadSingleBlock(hsd->Instance, add); 80bcf24: 68fb ldr r3, [r7, #12] 80bcf26: 681b ldr r3, [r3, #0] 80bcf28: 6ab9 ldr r1, [r7, #40] ; 0x28 80bcf2a: 4618 mov r0, r3 80bcf2c: f004 fd2c bl 80c1988 80bcf30: 62f8 str r0, [r7, #44] ; 0x2c } if(errorstate != HAL_SD_ERROR_NONE) 80bcf32: 6afb ldr r3, [r7, #44] ; 0x2c 80bcf34: 2b00 cmp r3, #0 80bcf36: d012 beq.n 80bcf5e { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bcf38: 68fb ldr r3, [r7, #12] 80bcf3a: 681b ldr r3, [r3, #0] 80bcf3c: 4a0d ldr r2, [pc, #52] ; (80bcf74 ) 80bcf3e: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80bcf40: 68fb ldr r3, [r7, #12] 80bcf42: 6b9a ldr r2, [r3, #56] ; 0x38 80bcf44: 6afb ldr r3, [r7, #44] ; 0x2c 80bcf46: 431a orrs r2, r3 80bcf48: 68fb ldr r3, [r7, #12] 80bcf4a: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bcf4c: 68fb ldr r3, [r7, #12] 80bcf4e: 2201 movs r2, #1 80bcf50: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bcf54: 68fb ldr r3, [r7, #12] 80bcf56: 2200 movs r2, #0 80bcf58: 631a str r2, [r3, #48] ; 0x30 return HAL_ERROR; 80bcf5a: 2301 movs r3, #1 80bcf5c: e002 b.n 80bcf64 } return HAL_OK; 80bcf5e: 2300 movs r3, #0 80bcf60: e000 b.n 80bcf64 } } else { return HAL_BUSY; 80bcf62: 2302 movs r3, #2 } } 80bcf64: 4618 mov r0, r3 80bcf66: 3730 adds r7, #48 ; 0x30 80bcf68: 46bd mov sp, r7 80bcf6a: bd80 pop {r7, pc} 80bcf6c: 080bd983 .word 0x080bd983 80bcf70: 080bd9f5 .word 0x080bd9f5 80bcf74: 004005ff .word 0x004005ff 080bcf78 : * @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) { 80bcf78: b580 push {r7, lr} 80bcf7a: b08c sub sp, #48 ; 0x30 80bcf7c: af00 add r7, sp, #0 80bcf7e: 60f8 str r0, [r7, #12] 80bcf80: 60b9 str r1, [r7, #8] 80bcf82: 607a str r2, [r7, #4] 80bcf84: 603b str r3, [r7, #0] SDMMC_DataInitTypeDef config; uint32_t errorstate; uint32_t add = BlockAdd; 80bcf86: 687b ldr r3, [r7, #4] 80bcf88: 62bb str r3, [r7, #40] ; 0x28 if(NULL == pData) 80bcf8a: 68bb ldr r3, [r7, #8] 80bcf8c: 2b00 cmp r3, #0 80bcf8e: d107 bne.n 80bcfa0 { hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 80bcf90: 68fb ldr r3, [r7, #12] 80bcf92: 6b9b ldr r3, [r3, #56] ; 0x38 80bcf94: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80bcf98: 68fb ldr r3, [r7, #12] 80bcf9a: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80bcf9c: 2301 movs r3, #1 80bcf9e: e0c6 b.n 80bd12e } if(hsd->State == HAL_SD_STATE_READY) 80bcfa0: 68fb ldr r3, [r7, #12] 80bcfa2: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80bcfa6: b2db uxtb r3, r3 80bcfa8: 2b01 cmp r3, #1 80bcfaa: f040 80bf bne.w 80bd12c { hsd->ErrorCode = HAL_SD_ERROR_NONE; 80bcfae: 68fb ldr r3, [r7, #12] 80bcfb0: 2200 movs r2, #0 80bcfb2: 639a str r2, [r3, #56] ; 0x38 if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 80bcfb4: 6aba ldr r2, [r7, #40] ; 0x28 80bcfb6: 683b ldr r3, [r7, #0] 80bcfb8: 441a add r2, r3 80bcfba: 68fb ldr r3, [r7, #12] 80bcfbc: 6ddb ldr r3, [r3, #92] ; 0x5c 80bcfbe: 429a cmp r2, r3 80bcfc0: d907 bls.n 80bcfd2 { hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 80bcfc2: 68fb ldr r3, [r7, #12] 80bcfc4: 6b9b ldr r3, [r3, #56] ; 0x38 80bcfc6: f043 7200 orr.w r2, r3, #33554432 ; 0x2000000 80bcfca: 68fb ldr r3, [r7, #12] 80bcfcc: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80bcfce: 2301 movs r3, #1 80bcfd0: e0ad b.n 80bd12e } hsd->State = HAL_SD_STATE_BUSY; 80bcfd2: 68fb ldr r3, [r7, #12] 80bcfd4: 2203 movs r2, #3 80bcfd6: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Initialize data control register */ hsd->Instance->DCTRL = 0U; 80bcfda: 68fb ldr r3, [r7, #12] 80bcfdc: 681b ldr r3, [r3, #0] 80bcfde: 2200 movs r2, #0 80bcfe0: 62da str r2, [r3, #44] ; 0x2c /* Enable SD Error interrupts */ __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR)); 80bcfe2: 68fb ldr r3, [r7, #12] 80bcfe4: 681b ldr r3, [r3, #0] 80bcfe6: 68fa ldr r2, [r7, #12] 80bcfe8: 6812 ldr r2, [r2, #0] 80bcfea: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bcfec: f042 021a orr.w r2, r2, #26 80bcff0: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA transfer complete callback */ hsd->hdmatx->XferCpltCallback = SD_DMATransmitCplt; 80bcff2: 68fb ldr r3, [r7, #12] 80bcff4: 6bdb ldr r3, [r3, #60] ; 0x3c 80bcff6: 4a50 ldr r2, [pc, #320] ; (80bd138 ) 80bcff8: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA error callback */ hsd->hdmatx->XferErrorCallback = SD_DMAError; 80bcffa: 68fb ldr r3, [r7, #12] 80bcffc: 6bdb ldr r3, [r3, #60] ; 0x3c 80bcffe: 4a4f ldr r2, [pc, #316] ; (80bd13c ) 80bd000: 64da str r2, [r3, #76] ; 0x4c /* Set the DMA Abort callback */ hsd->hdmatx->XferAbortCallback = NULL; 80bd002: 68fb ldr r3, [r7, #12] 80bd004: 6bdb ldr r3, [r3, #60] ; 0x3c 80bd006: 2200 movs r2, #0 80bd008: 651a str r2, [r3, #80] ; 0x50 if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 80bd00a: 68fb ldr r3, [r7, #12] 80bd00c: 6c5b ldr r3, [r3, #68] ; 0x44 80bd00e: 2b01 cmp r3, #1 80bd010: d002 beq.n 80bd018 { add *= 512U; 80bd012: 6abb ldr r3, [r7, #40] ; 0x28 80bd014: 025b lsls r3, r3, #9 80bd016: 62bb str r3, [r7, #40] ; 0x28 } /* Write Blocks in Polling mode */ if(NumberOfBlocks > 1U) 80bd018: 683b ldr r3, [r7, #0] 80bd01a: 2b01 cmp r3, #1 80bd01c: d90a bls.n 80bd034 { hsd->Context = (SD_CONTEXT_WRITE_MULTIPLE_BLOCK | SD_CONTEXT_DMA); 80bd01e: 68fb ldr r3, [r7, #12] 80bd020: 22a0 movs r2, #160 ; 0xa0 80bd022: 631a str r2, [r3, #48] ; 0x30 /* Write Multi Block command */ errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add); 80bd024: 68fb ldr r3, [r7, #12] 80bd026: 681b ldr r3, [r3, #0] 80bd028: 6ab9 ldr r1, [r7, #40] ; 0x28 80bd02a: 4618 mov r0, r3 80bd02c: f004 fd12 bl 80c1a54 80bd030: 62f8 str r0, [r7, #44] ; 0x2c 80bd032: e009 b.n 80bd048 } else { hsd->Context = (SD_CONTEXT_WRITE_SINGLE_BLOCK | SD_CONTEXT_DMA); 80bd034: 68fb ldr r3, [r7, #12] 80bd036: 2290 movs r2, #144 ; 0x90 80bd038: 631a str r2, [r3, #48] ; 0x30 /* Write Single Block command */ errorstate = SDMMC_CmdWriteSingleBlock(hsd->Instance, add); 80bd03a: 68fb ldr r3, [r7, #12] 80bd03c: 681b ldr r3, [r3, #0] 80bd03e: 6ab9 ldr r1, [r7, #40] ; 0x28 80bd040: 4618 mov r0, r3 80bd042: f004 fce5 bl 80c1a10 80bd046: 62f8 str r0, [r7, #44] ; 0x2c } if(errorstate != HAL_SD_ERROR_NONE) 80bd048: 6afb ldr r3, [r7, #44] ; 0x2c 80bd04a: 2b00 cmp r3, #0 80bd04c: d012 beq.n 80bd074 { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bd04e: 68fb ldr r3, [r7, #12] 80bd050: 681b ldr r3, [r3, #0] 80bd052: 4a3b ldr r2, [pc, #236] ; (80bd140 ) 80bd054: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80bd056: 68fb ldr r3, [r7, #12] 80bd058: 6b9a ldr r2, [r3, #56] ; 0x38 80bd05a: 6afb ldr r3, [r7, #44] ; 0x2c 80bd05c: 431a orrs r2, r3 80bd05e: 68fb ldr r3, [r7, #12] 80bd060: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bd062: 68fb ldr r3, [r7, #12] 80bd064: 2201 movs r2, #1 80bd066: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bd06a: 68fb ldr r3, [r7, #12] 80bd06c: 2200 movs r2, #0 80bd06e: 631a str r2, [r3, #48] ; 0x30 return HAL_ERROR; 80bd070: 2301 movs r3, #1 80bd072: e05c b.n 80bd12e } /* Enable SDMMC DMA transfer */ __HAL_SD_DMA_ENABLE(hsd); 80bd074: 68fb ldr r3, [r7, #12] 80bd076: 681b ldr r3, [r3, #0] 80bd078: 68fa ldr r2, [r7, #12] 80bd07a: 6812 ldr r2, [r2, #0] 80bd07c: 6ad2 ldr r2, [r2, #44] ; 0x2c 80bd07e: f042 0208 orr.w r2, r2, #8 80bd082: 62da str r2, [r3, #44] ; 0x2c /* Force DMA Direction */ hsd->hdmatx->Init.Direction = DMA_MEMORY_TO_PERIPH; 80bd084: 68fb ldr r3, [r7, #12] 80bd086: 6bdb ldr r3, [r3, #60] ; 0x3c 80bd088: 2240 movs r2, #64 ; 0x40 80bd08a: 609a str r2, [r3, #8] MODIFY_REG(hsd->hdmatx->Instance->CR, DMA_SxCR_DIR, hsd->hdmatx->Init.Direction); 80bd08c: 68fb ldr r3, [r7, #12] 80bd08e: 6bdb ldr r3, [r3, #60] ; 0x3c 80bd090: 681b ldr r3, [r3, #0] 80bd092: 68fa ldr r2, [r7, #12] 80bd094: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bd096: 6812 ldr r2, [r2, #0] 80bd098: 6812 ldr r2, [r2, #0] 80bd09a: f022 01c0 bic.w r1, r2, #192 ; 0xc0 80bd09e: 68fa ldr r2, [r7, #12] 80bd0a0: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bd0a2: 6892 ldr r2, [r2, #8] 80bd0a4: 430a orrs r2, r1 80bd0a6: 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) 80bd0a8: 68fb ldr r3, [r7, #12] 80bd0aa: 6bd8 ldr r0, [r3, #60] ; 0x3c 80bd0ac: 68b9 ldr r1, [r7, #8] 80bd0ae: 68fb ldr r3, [r7, #12] 80bd0b0: 681b ldr r3, [r3, #0] 80bd0b2: 3380 adds r3, #128 ; 0x80 80bd0b4: 461a mov r2, r3 80bd0b6: 683b ldr r3, [r7, #0] 80bd0b8: 025b lsls r3, r3, #9 80bd0ba: 089b lsrs r3, r3, #2 80bd0bc: f7fa ffd6 bl 80b806c 80bd0c0: 4603 mov r3, r0 80bd0c2: 2b00 cmp r3, #0 80bd0c4: d01a beq.n 80bd0fc { __HAL_SD_DISABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR)); 80bd0c6: 68fb ldr r3, [r7, #12] 80bd0c8: 681b ldr r3, [r3, #0] 80bd0ca: 68fa ldr r2, [r7, #12] 80bd0cc: 6812 ldr r2, [r2, #0] 80bd0ce: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bd0d0: f022 021a bic.w r2, r2, #26 80bd0d4: 63da str r2, [r3, #60] ; 0x3c __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bd0d6: 68fb ldr r3, [r7, #12] 80bd0d8: 681b ldr r3, [r3, #0] 80bd0da: 4a19 ldr r2, [pc, #100] ; (80bd140 ) 80bd0dc: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= HAL_SD_ERROR_DMA; 80bd0de: 68fb ldr r3, [r7, #12] 80bd0e0: 6b9b ldr r3, [r3, #56] ; 0x38 80bd0e2: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80bd0e6: 68fb ldr r3, [r7, #12] 80bd0e8: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bd0ea: 68fb ldr r3, [r7, #12] 80bd0ec: 2201 movs r2, #1 80bd0ee: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bd0f2: 68fb ldr r3, [r7, #12] 80bd0f4: 2200 movs r2, #0 80bd0f6: 631a str r2, [r3, #48] ; 0x30 return HAL_ERROR; 80bd0f8: 2301 movs r3, #1 80bd0fa: e018 b.n 80bd12e } else { /* Configure the SD DPSM (Data Path State Machine) */ config.DataTimeOut = SDMMC_DATATIMEOUT; 80bd0fc: f04f 33ff mov.w r3, #4294967295 80bd100: 613b str r3, [r7, #16] config.DataLength = BLOCKSIZE * NumberOfBlocks; 80bd102: 683b ldr r3, [r7, #0] 80bd104: 025b lsls r3, r3, #9 80bd106: 617b str r3, [r7, #20] config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 80bd108: 2390 movs r3, #144 ; 0x90 80bd10a: 61bb str r3, [r7, #24] config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; 80bd10c: 2300 movs r3, #0 80bd10e: 61fb str r3, [r7, #28] config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 80bd110: 2300 movs r3, #0 80bd112: 623b str r3, [r7, #32] config.DPSM = SDMMC_DPSM_ENABLE; 80bd114: 2301 movs r3, #1 80bd116: 627b str r3, [r7, #36] ; 0x24 (void)SDMMC_ConfigData(hsd->Instance, &config); 80bd118: 68fb ldr r3, [r7, #12] 80bd11a: 681b ldr r3, [r3, #0] 80bd11c: f107 0210 add.w r2, r7, #16 80bd120: 4611 mov r1, r2 80bd122: 4618 mov r0, r3 80bd124: f004 fbe2 bl 80c18ec return HAL_OK; 80bd128: 2300 movs r3, #0 80bd12a: e000 b.n 80bd12e } } else { return HAL_BUSY; 80bd12c: 2302 movs r3, #2 } } 80bd12e: 4618 mov r0, r3 80bd130: 3730 adds r7, #48 ; 0x30 80bd132: 46bd mov sp, r7 80bd134: bd80 pop {r7, pc} 80bd136: bf00 nop 80bd138: 080bd959 .word 0x080bd959 80bd13c: 080bd9f5 .word 0x080bd9f5 80bd140: 004005ff .word 0x004005ff 080bd144 : * @brief This function handles SD card interrupt request. * @param hsd: Pointer to SD handle * @retval None */ void HAL_SD_IRQHandler(SD_HandleTypeDef *hsd) { 80bd144: b580 push {r7, lr} 80bd146: b084 sub sp, #16 80bd148: af00 add r7, sp, #0 80bd14a: 6078 str r0, [r7, #4] uint32_t errorstate; uint32_t context = hsd->Context; 80bd14c: 687b ldr r3, [r7, #4] 80bd14e: 6b1b ldr r3, [r3, #48] ; 0x30 80bd150: 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)) 80bd152: 687b ldr r3, [r7, #4] 80bd154: 681b ldr r3, [r3, #0] 80bd156: 6b5b ldr r3, [r3, #52] ; 0x34 80bd158: f403 4300 and.w r3, r3, #32768 ; 0x8000 80bd15c: 2b00 cmp r3, #0 80bd15e: d008 beq.n 80bd172 80bd160: 68fb ldr r3, [r7, #12] 80bd162: f003 0308 and.w r3, r3, #8 80bd166: 2b00 cmp r3, #0 80bd168: d003 beq.n 80bd172 { SD_Read_IT(hsd); 80bd16a: 6878 ldr r0, [r7, #4] 80bd16c: f000 fffc bl 80be168 80bd170: e153 b.n 80bd41a } else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DATAEND) != RESET) 80bd172: 687b ldr r3, [r7, #4] 80bd174: 681b ldr r3, [r3, #0] 80bd176: 6b5b ldr r3, [r3, #52] ; 0x34 80bd178: f403 7380 and.w r3, r3, #256 ; 0x100 80bd17c: 2b00 cmp r3, #0 80bd17e: f000 808d beq.w 80bd29c { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DATAEND); 80bd182: 687b ldr r3, [r7, #4] 80bd184: 681b ldr r3, [r3, #0] 80bd186: f44f 7280 mov.w r2, #256 ; 0x100 80bd18a: 639a str r2, [r3, #56] ; 0x38 __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ 80bd18c: 687b ldr r3, [r7, #4] 80bd18e: 681a ldr r2, [r3, #0] 80bd190: 687b ldr r3, [r7, #4] 80bd192: 681b ldr r3, [r3, #0] 80bd194: 6bd9 ldr r1, [r3, #60] ; 0x3c 80bd196: 4ba3 ldr r3, [pc, #652] ; (80bd424 ) 80bd198: 400b ands r3, r1 80bd19a: 63d3 str r3, [r2, #60] ; 0x3c SDMMC_IT_TXUNDERR | SDMMC_IT_RXOVERR | SDMMC_IT_TXFIFOHE |\ SDMMC_IT_RXFIFOHF); hsd->Instance->DCTRL &= ~(SDMMC_DCTRL_DTEN); 80bd19c: 687b ldr r3, [r7, #4] 80bd19e: 681b ldr r3, [r3, #0] 80bd1a0: 687a ldr r2, [r7, #4] 80bd1a2: 6812 ldr r2, [r2, #0] 80bd1a4: 6ad2 ldr r2, [r2, #44] ; 0x2c 80bd1a6: f022 0201 bic.w r2, r2, #1 80bd1aa: 62da str r2, [r3, #44] ; 0x2c if((context & SD_CONTEXT_IT) != 0U) 80bd1ac: 68fb ldr r3, [r7, #12] 80bd1ae: f003 0308 and.w r3, r3, #8 80bd1b2: 2b00 cmp r3, #0 80bd1b4: d039 beq.n 80bd22a { if(((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)) 80bd1b6: 68fb ldr r3, [r7, #12] 80bd1b8: f003 0302 and.w r3, r3, #2 80bd1bc: 2b00 cmp r3, #0 80bd1be: d104 bne.n 80bd1ca 80bd1c0: 68fb ldr r3, [r7, #12] 80bd1c2: f003 0320 and.w r3, r3, #32 80bd1c6: 2b00 cmp r3, #0 80bd1c8: d011 beq.n 80bd1ee { errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 80bd1ca: 687b ldr r3, [r7, #4] 80bd1cc: 681b ldr r3, [r3, #0] 80bd1ce: 4618 mov r0, r3 80bd1d0: f004 fc62 bl 80c1a98 80bd1d4: 60b8 str r0, [r7, #8] if(errorstate != HAL_SD_ERROR_NONE) 80bd1d6: 68bb ldr r3, [r7, #8] 80bd1d8: 2b00 cmp r3, #0 80bd1da: d008 beq.n 80bd1ee { hsd->ErrorCode |= errorstate; 80bd1dc: 687b ldr r3, [r7, #4] 80bd1de: 6b9a ldr r2, [r3, #56] ; 0x38 80bd1e0: 68bb ldr r3, [r7, #8] 80bd1e2: 431a orrs r2, r3 80bd1e4: 687b ldr r3, [r7, #4] 80bd1e6: 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); 80bd1e8: 6878 ldr r0, [r7, #4] 80bd1ea: f000 f921 bl 80bd430 #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ } } /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80bd1ee: 687b ldr r3, [r7, #4] 80bd1f0: 681b ldr r3, [r3, #0] 80bd1f2: f240 523a movw r2, #1338 ; 0x53a 80bd1f6: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bd1f8: 687b ldr r3, [r7, #4] 80bd1fa: 2201 movs r2, #1 80bd1fc: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bd200: 687b ldr r3, [r7, #4] 80bd202: 2200 movs r2, #0 80bd204: 631a str r2, [r3, #48] ; 0x30 if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U)) 80bd206: 68fb ldr r3, [r7, #12] 80bd208: f003 0301 and.w r3, r3, #1 80bd20c: 2b00 cmp r3, #0 80bd20e: d104 bne.n 80bd21a 80bd210: 68fb ldr r3, [r7, #12] 80bd212: f003 0302 and.w r3, r3, #2 80bd216: 2b00 cmp r3, #0 80bd218: d003 beq.n 80bd222 { #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) hsd->RxCpltCallback(hsd); #else HAL_SD_RxCpltCallback(hsd); 80bd21a: 6878 ldr r0, [r7, #4] 80bd21c: f006 fcec bl 80c3bf8 80bd220: e0fb b.n 80bd41a else { #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) hsd->TxCpltCallback(hsd); #else HAL_SD_TxCpltCallback(hsd); 80bd222: 6878 ldr r0, [r7, #4] 80bd224: f006 fcde bl 80c3be4 } else { /* Nothing to do */ } } 80bd228: e0f7 b.n 80bd41a else if((context & SD_CONTEXT_DMA) != 0U) 80bd22a: 68fb ldr r3, [r7, #12] 80bd22c: f003 0380 and.w r3, r3, #128 ; 0x80 80bd230: 2b00 cmp r3, #0 80bd232: f000 80f2 beq.w 80bd41a if((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U) 80bd236: 68fb ldr r3, [r7, #12] 80bd238: f003 0320 and.w r3, r3, #32 80bd23c: 2b00 cmp r3, #0 80bd23e: d011 beq.n 80bd264 errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 80bd240: 687b ldr r3, [r7, #4] 80bd242: 681b ldr r3, [r3, #0] 80bd244: 4618 mov r0, r3 80bd246: f004 fc27 bl 80c1a98 80bd24a: 60b8 str r0, [r7, #8] if(errorstate != HAL_SD_ERROR_NONE) 80bd24c: 68bb ldr r3, [r7, #8] 80bd24e: 2b00 cmp r3, #0 80bd250: d008 beq.n 80bd264 hsd->ErrorCode |= errorstate; 80bd252: 687b ldr r3, [r7, #4] 80bd254: 6b9a ldr r2, [r3, #56] ; 0x38 80bd256: 68bb ldr r3, [r7, #8] 80bd258: 431a orrs r2, r3 80bd25a: 687b ldr r3, [r7, #4] 80bd25c: 639a str r2, [r3, #56] ; 0x38 HAL_SD_ErrorCallback(hsd); 80bd25e: 6878 ldr r0, [r7, #4] 80bd260: f000 f8e6 bl 80bd430 if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) == 0U) && ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) == 0U)) 80bd264: 68fb ldr r3, [r7, #12] 80bd266: f003 0301 and.w r3, r3, #1 80bd26a: 2b00 cmp r3, #0 80bd26c: f040 80d5 bne.w 80bd41a 80bd270: 68fb ldr r3, [r7, #12] 80bd272: f003 0302 and.w r3, r3, #2 80bd276: 2b00 cmp r3, #0 80bd278: f040 80cf bne.w 80bd41a hsd->Instance->DCTRL &= (uint32_t)~((uint32_t)SDMMC_DCTRL_DMAEN); 80bd27c: 687b ldr r3, [r7, #4] 80bd27e: 681b ldr r3, [r3, #0] 80bd280: 687a ldr r2, [r7, #4] 80bd282: 6812 ldr r2, [r2, #0] 80bd284: 6ad2 ldr r2, [r2, #44] ; 0x2c 80bd286: f022 0208 bic.w r2, r2, #8 80bd28a: 62da str r2, [r3, #44] ; 0x2c hsd->State = HAL_SD_STATE_READY; 80bd28c: 687b ldr r3, [r7, #4] 80bd28e: 2201 movs r2, #1 80bd290: f883 2034 strb.w r2, [r3, #52] ; 0x34 HAL_SD_TxCpltCallback(hsd); 80bd294: 6878 ldr r0, [r7, #4] 80bd296: f006 fca5 bl 80c3be4 } 80bd29a: e0be b.n 80bd41a else if((__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXFIFOHE) != RESET) && ((context & SD_CONTEXT_IT) != 0U)) 80bd29c: 687b ldr r3, [r7, #4] 80bd29e: 681b ldr r3, [r3, #0] 80bd2a0: 6b5b ldr r3, [r3, #52] ; 0x34 80bd2a2: f403 4380 and.w r3, r3, #16384 ; 0x4000 80bd2a6: 2b00 cmp r3, #0 80bd2a8: d008 beq.n 80bd2bc 80bd2aa: 68fb ldr r3, [r7, #12] 80bd2ac: f003 0308 and.w r3, r3, #8 80bd2b0: 2b00 cmp r3, #0 80bd2b2: d003 beq.n 80bd2bc SD_Write_IT(hsd); 80bd2b4: 6878 ldr r0, [r7, #4] 80bd2b6: f000 ffa8 bl 80be20a 80bd2ba: e0ae b.n 80bd41a else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_RXOVERR | SDMMC_FLAG_TXUNDERR) != RESET) 80bd2bc: 687b ldr r3, [r7, #4] 80bd2be: 681b ldr r3, [r3, #0] 80bd2c0: 6b5b ldr r3, [r3, #52] ; 0x34 80bd2c2: f003 033a and.w r3, r3, #58 ; 0x3a 80bd2c6: 2b00 cmp r3, #0 80bd2c8: f000 80a7 beq.w 80bd41a if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL) != RESET) 80bd2cc: 687b ldr r3, [r7, #4] 80bd2ce: 681b ldr r3, [r3, #0] 80bd2d0: 6b5b ldr r3, [r3, #52] ; 0x34 80bd2d2: f003 0302 and.w r3, r3, #2 80bd2d6: 2b00 cmp r3, #0 80bd2d8: d005 beq.n 80bd2e6 hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL; 80bd2da: 687b ldr r3, [r7, #4] 80bd2dc: 6b9b ldr r3, [r3, #56] ; 0x38 80bd2de: f043 0202 orr.w r2, r3, #2 80bd2e2: 687b ldr r3, [r7, #4] 80bd2e4: 639a str r2, [r3, #56] ; 0x38 if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT) != RESET) 80bd2e6: 687b ldr r3, [r7, #4] 80bd2e8: 681b ldr r3, [r3, #0] 80bd2ea: 6b5b ldr r3, [r3, #52] ; 0x34 80bd2ec: f003 0308 and.w r3, r3, #8 80bd2f0: 2b00 cmp r3, #0 80bd2f2: d005 beq.n 80bd300 hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT; 80bd2f4: 687b ldr r3, [r7, #4] 80bd2f6: 6b9b ldr r3, [r3, #56] ; 0x38 80bd2f8: f043 0208 orr.w r2, r3, #8 80bd2fc: 687b ldr r3, [r7, #4] 80bd2fe: 639a str r2, [r3, #56] ; 0x38 if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR) != RESET) 80bd300: 687b ldr r3, [r7, #4] 80bd302: 681b ldr r3, [r3, #0] 80bd304: 6b5b ldr r3, [r3, #52] ; 0x34 80bd306: f003 0320 and.w r3, r3, #32 80bd30a: 2b00 cmp r3, #0 80bd30c: d005 beq.n 80bd31a hsd->ErrorCode |= HAL_SD_ERROR_RX_OVERRUN; 80bd30e: 687b ldr r3, [r7, #4] 80bd310: 6b9b ldr r3, [r3, #56] ; 0x38 80bd312: f043 0220 orr.w r2, r3, #32 80bd316: 687b ldr r3, [r7, #4] 80bd318: 639a str r2, [r3, #56] ; 0x38 if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXUNDERR) != RESET) 80bd31a: 687b ldr r3, [r7, #4] 80bd31c: 681b ldr r3, [r3, #0] 80bd31e: 6b5b ldr r3, [r3, #52] ; 0x34 80bd320: f003 0310 and.w r3, r3, #16 80bd324: 2b00 cmp r3, #0 80bd326: d005 beq.n 80bd334 hsd->ErrorCode |= HAL_SD_ERROR_TX_UNDERRUN; 80bd328: 687b ldr r3, [r7, #4] 80bd32a: 6b9b ldr r3, [r3, #56] ; 0x38 80bd32c: f043 0210 orr.w r2, r3, #16 80bd330: 687b ldr r3, [r7, #4] 80bd332: 639a str r2, [r3, #56] ; 0x38 __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80bd334: 687b ldr r3, [r7, #4] 80bd336: 681b ldr r3, [r3, #0] 80bd338: f240 523a movw r2, #1338 ; 0x53a 80bd33c: 639a str r2, [r3, #56] ; 0x38 __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ 80bd33e: 687b ldr r3, [r7, #4] 80bd340: 681b ldr r3, [r3, #0] 80bd342: 687a ldr r2, [r7, #4] 80bd344: 6812 ldr r2, [r2, #0] 80bd346: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bd348: f422 729d bic.w r2, r2, #314 ; 0x13a 80bd34c: 63da str r2, [r3, #60] ; 0x3c hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80bd34e: 687b ldr r3, [r7, #4] 80bd350: 681b ldr r3, [r3, #0] 80bd352: 4618 mov r0, r3 80bd354: f004 fba0 bl 80c1a98 80bd358: 4602 mov r2, r0 80bd35a: 687b ldr r3, [r7, #4] 80bd35c: 6b9b ldr r3, [r3, #56] ; 0x38 80bd35e: 431a orrs r2, r3 80bd360: 687b ldr r3, [r7, #4] 80bd362: 639a str r2, [r3, #56] ; 0x38 if((context & SD_CONTEXT_IT) != 0U) 80bd364: 68fb ldr r3, [r7, #12] 80bd366: f003 0308 and.w r3, r3, #8 80bd36a: 2b00 cmp r3, #0 80bd36c: d00a beq.n 80bd384 hsd->State = HAL_SD_STATE_READY; 80bd36e: 687b ldr r3, [r7, #4] 80bd370: 2201 movs r2, #1 80bd372: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bd376: 687b ldr r3, [r7, #4] 80bd378: 2200 movs r2, #0 80bd37a: 631a str r2, [r3, #48] ; 0x30 HAL_SD_ErrorCallback(hsd); 80bd37c: 6878 ldr r0, [r7, #4] 80bd37e: f000 f857 bl 80bd430 } 80bd382: e04a b.n 80bd41a else if((context & SD_CONTEXT_DMA) != 0U) 80bd384: 68fb ldr r3, [r7, #12] 80bd386: f003 0380 and.w r3, r3, #128 ; 0x80 80bd38a: 2b00 cmp r3, #0 80bd38c: d045 beq.n 80bd41a if(((context & SD_CONTEXT_WRITE_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)) 80bd38e: 68fb ldr r3, [r7, #12] 80bd390: f003 0310 and.w r3, r3, #16 80bd394: 2b00 cmp r3, #0 80bd396: d104 bne.n 80bd3a2 80bd398: 68fb ldr r3, [r7, #12] 80bd39a: f003 0320 and.w r3, r3, #32 80bd39e: 2b00 cmp r3, #0 80bd3a0: d011 beq.n 80bd3c6 hsd->hdmatx->XferAbortCallback = SD_DMATxAbort; 80bd3a2: 687b ldr r3, [r7, #4] 80bd3a4: 6bdb ldr r3, [r3, #60] ; 0x3c 80bd3a6: 4a20 ldr r2, [pc, #128] ; (80bd428 ) 80bd3a8: 651a str r2, [r3, #80] ; 0x50 if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK) 80bd3aa: 687b ldr r3, [r7, #4] 80bd3ac: 6bdb ldr r3, [r3, #60] ; 0x3c 80bd3ae: 4618 mov r0, r3 80bd3b0: f7fa ff2c bl 80b820c 80bd3b4: 4603 mov r3, r0 80bd3b6: 2b00 cmp r3, #0 80bd3b8: d02f beq.n 80bd41a SD_DMATxAbort(hsd->hdmatx); 80bd3ba: 687b ldr r3, [r7, #4] 80bd3bc: 6bdb ldr r3, [r3, #60] ; 0x3c 80bd3be: 4618 mov r0, r3 80bd3c0: f000 fb6a bl 80bda98 if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK) 80bd3c4: e029 b.n 80bd41a else if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U)) 80bd3c6: 68fb ldr r3, [r7, #12] 80bd3c8: f003 0301 and.w r3, r3, #1 80bd3cc: 2b00 cmp r3, #0 80bd3ce: d104 bne.n 80bd3da 80bd3d0: 68fb ldr r3, [r7, #12] 80bd3d2: f003 0302 and.w r3, r3, #2 80bd3d6: 2b00 cmp r3, #0 80bd3d8: d011 beq.n 80bd3fe hsd->hdmarx->XferAbortCallback = SD_DMARxAbort; 80bd3da: 687b ldr r3, [r7, #4] 80bd3dc: 6c1b ldr r3, [r3, #64] ; 0x40 80bd3de: 4a13 ldr r2, [pc, #76] ; (80bd42c ) 80bd3e0: 651a str r2, [r3, #80] ; 0x50 if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK) 80bd3e2: 687b ldr r3, [r7, #4] 80bd3e4: 6c1b ldr r3, [r3, #64] ; 0x40 80bd3e6: 4618 mov r0, r3 80bd3e8: f7fa ff10 bl 80b820c 80bd3ec: 4603 mov r3, r0 80bd3ee: 2b00 cmp r3, #0 80bd3f0: d013 beq.n 80bd41a SD_DMARxAbort(hsd->hdmarx); 80bd3f2: 687b ldr r3, [r7, #4] 80bd3f4: 6c1b ldr r3, [r3, #64] ; 0x40 80bd3f6: 4618 mov r0, r3 80bd3f8: f000 fb85 bl 80bdb06 if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK) 80bd3fc: e00d b.n 80bd41a hsd->ErrorCode = HAL_SD_ERROR_NONE; 80bd3fe: 687b ldr r3, [r7, #4] 80bd400: 2200 movs r2, #0 80bd402: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bd404: 687b ldr r3, [r7, #4] 80bd406: 2201 movs r2, #1 80bd408: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bd40c: 687b ldr r3, [r7, #4] 80bd40e: 2200 movs r2, #0 80bd410: 631a str r2, [r3, #48] ; 0x30 HAL_SD_AbortCallback(hsd); 80bd412: 6878 ldr r0, [r7, #4] 80bd414: f006 fbdc bl 80c3bd0 } 80bd418: e7ff b.n 80bd41a 80bd41a: bf00 nop 80bd41c: 3710 adds r7, #16 80bd41e: 46bd mov sp, r7 80bd420: bd80 pop {r7, pc} 80bd422: bf00 nop 80bd424: ffff3ec5 .word 0xffff3ec5 80bd428: 080bda99 .word 0x080bda99 80bd42c: 080bdb07 .word 0x080bdb07 080bd430 : * @brief SD error callbacks * @param hsd: Pointer SD handle * @retval None */ __weak void HAL_SD_ErrorCallback(SD_HandleTypeDef *hsd) { 80bd430: b480 push {r7} 80bd432: b083 sub sp, #12 80bd434: af00 add r7, sp, #0 80bd436: 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 */ } 80bd438: bf00 nop 80bd43a: 370c adds r7, #12 80bd43c: 46bd mov sp, r7 80bd43e: f85d 7b04 ldr.w r7, [sp], #4 80bd442: 4770 bx lr 080bd444 : * @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) { 80bd444: b480 push {r7} 80bd446: b083 sub sp, #12 80bd448: af00 add r7, sp, #0 80bd44a: 6078 str r0, [r7, #4] 80bd44c: 6039 str r1, [r7, #0] pCSD->CSDStruct = (uint8_t)((hsd->CSD[0] & 0xC0000000U) >> 30U); 80bd44e: 687b ldr r3, [r7, #4] 80bd450: 6e5b ldr r3, [r3, #100] ; 0x64 80bd452: 0f9b lsrs r3, r3, #30 80bd454: b2da uxtb r2, r3 80bd456: 683b ldr r3, [r7, #0] 80bd458: 701a strb r2, [r3, #0] pCSD->SysSpecVersion = (uint8_t)((hsd->CSD[0] & 0x3C000000U) >> 26U); 80bd45a: 687b ldr r3, [r7, #4] 80bd45c: 6e5b ldr r3, [r3, #100] ; 0x64 80bd45e: 0e9b lsrs r3, r3, #26 80bd460: b2db uxtb r3, r3 80bd462: f003 030f and.w r3, r3, #15 80bd466: b2da uxtb r2, r3 80bd468: 683b ldr r3, [r7, #0] 80bd46a: 705a strb r2, [r3, #1] pCSD->Reserved1 = (uint8_t)((hsd->CSD[0] & 0x03000000U) >> 24U); 80bd46c: 687b ldr r3, [r7, #4] 80bd46e: 6e5b ldr r3, [r3, #100] ; 0x64 80bd470: 0e1b lsrs r3, r3, #24 80bd472: b2db uxtb r3, r3 80bd474: f003 0303 and.w r3, r3, #3 80bd478: b2da uxtb r2, r3 80bd47a: 683b ldr r3, [r7, #0] 80bd47c: 709a strb r2, [r3, #2] pCSD->TAAC = (uint8_t)((hsd->CSD[0] & 0x00FF0000U) >> 16U); 80bd47e: 687b ldr r3, [r7, #4] 80bd480: 6e5b ldr r3, [r3, #100] ; 0x64 80bd482: 0c1b lsrs r3, r3, #16 80bd484: b2da uxtb r2, r3 80bd486: 683b ldr r3, [r7, #0] 80bd488: 70da strb r2, [r3, #3] pCSD->NSAC = (uint8_t)((hsd->CSD[0] & 0x0000FF00U) >> 8U); 80bd48a: 687b ldr r3, [r7, #4] 80bd48c: 6e5b ldr r3, [r3, #100] ; 0x64 80bd48e: 0a1b lsrs r3, r3, #8 80bd490: b2da uxtb r2, r3 80bd492: 683b ldr r3, [r7, #0] 80bd494: 711a strb r2, [r3, #4] pCSD->MaxBusClkFrec = (uint8_t)(hsd->CSD[0] & 0x000000FFU); 80bd496: 687b ldr r3, [r7, #4] 80bd498: 6e5b ldr r3, [r3, #100] ; 0x64 80bd49a: b2da uxtb r2, r3 80bd49c: 683b ldr r3, [r7, #0] 80bd49e: 715a strb r2, [r3, #5] pCSD->CardComdClasses = (uint16_t)((hsd->CSD[1] & 0xFFF00000U) >> 20U); 80bd4a0: 687b ldr r3, [r7, #4] 80bd4a2: 6e9b ldr r3, [r3, #104] ; 0x68 80bd4a4: 0d1b lsrs r3, r3, #20 80bd4a6: b29a uxth r2, r3 80bd4a8: 683b ldr r3, [r7, #0] 80bd4aa: 80da strh r2, [r3, #6] pCSD->RdBlockLen = (uint8_t)((hsd->CSD[1] & 0x000F0000U) >> 16U); 80bd4ac: 687b ldr r3, [r7, #4] 80bd4ae: 6e9b ldr r3, [r3, #104] ; 0x68 80bd4b0: 0c1b lsrs r3, r3, #16 80bd4b2: b2db uxtb r3, r3 80bd4b4: f003 030f and.w r3, r3, #15 80bd4b8: b2da uxtb r2, r3 80bd4ba: 683b ldr r3, [r7, #0] 80bd4bc: 721a strb r2, [r3, #8] pCSD->PartBlockRead = (uint8_t)((hsd->CSD[1] & 0x00008000U) >> 15U); 80bd4be: 687b ldr r3, [r7, #4] 80bd4c0: 6e9b ldr r3, [r3, #104] ; 0x68 80bd4c2: 0bdb lsrs r3, r3, #15 80bd4c4: b2db uxtb r3, r3 80bd4c6: f003 0301 and.w r3, r3, #1 80bd4ca: b2da uxtb r2, r3 80bd4cc: 683b ldr r3, [r7, #0] 80bd4ce: 725a strb r2, [r3, #9] pCSD->WrBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00004000U) >> 14U); 80bd4d0: 687b ldr r3, [r7, #4] 80bd4d2: 6e9b ldr r3, [r3, #104] ; 0x68 80bd4d4: 0b9b lsrs r3, r3, #14 80bd4d6: b2db uxtb r3, r3 80bd4d8: f003 0301 and.w r3, r3, #1 80bd4dc: b2da uxtb r2, r3 80bd4de: 683b ldr r3, [r7, #0] 80bd4e0: 729a strb r2, [r3, #10] pCSD->RdBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00002000U) >> 13U); 80bd4e2: 687b ldr r3, [r7, #4] 80bd4e4: 6e9b ldr r3, [r3, #104] ; 0x68 80bd4e6: 0b5b lsrs r3, r3, #13 80bd4e8: b2db uxtb r3, r3 80bd4ea: f003 0301 and.w r3, r3, #1 80bd4ee: b2da uxtb r2, r3 80bd4f0: 683b ldr r3, [r7, #0] 80bd4f2: 72da strb r2, [r3, #11] pCSD->DSRImpl = (uint8_t)((hsd->CSD[1] & 0x00001000U) >> 12U); 80bd4f4: 687b ldr r3, [r7, #4] 80bd4f6: 6e9b ldr r3, [r3, #104] ; 0x68 80bd4f8: 0b1b lsrs r3, r3, #12 80bd4fa: b2db uxtb r3, r3 80bd4fc: f003 0301 and.w r3, r3, #1 80bd500: b2da uxtb r2, r3 80bd502: 683b ldr r3, [r7, #0] 80bd504: 731a strb r2, [r3, #12] pCSD->Reserved2 = 0U; /*!< Reserved */ 80bd506: 683b ldr r3, [r7, #0] 80bd508: 2200 movs r2, #0 80bd50a: 735a strb r2, [r3, #13] if(hsd->SdCard.CardType == CARD_SDSC) 80bd50c: 687b ldr r3, [r7, #4] 80bd50e: 6c5b ldr r3, [r3, #68] ; 0x44 80bd510: 2b00 cmp r3, #0 80bd512: d162 bne.n 80bd5da { pCSD->DeviceSize = (((hsd->CSD[1] & 0x000003FFU) << 2U) | ((hsd->CSD[2] & 0xC0000000U) >> 30U)); 80bd514: 687b ldr r3, [r7, #4] 80bd516: 6e9b ldr r3, [r3, #104] ; 0x68 80bd518: 009a lsls r2, r3, #2 80bd51a: f640 73fc movw r3, #4092 ; 0xffc 80bd51e: 4013 ands r3, r2 80bd520: 687a ldr r2, [r7, #4] 80bd522: 6ed2 ldr r2, [r2, #108] ; 0x6c 80bd524: 0f92 lsrs r2, r2, #30 80bd526: 431a orrs r2, r3 80bd528: 683b ldr r3, [r7, #0] 80bd52a: 611a str r2, [r3, #16] pCSD->MaxRdCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x38000000U) >> 27U); 80bd52c: 687b ldr r3, [r7, #4] 80bd52e: 6edb ldr r3, [r3, #108] ; 0x6c 80bd530: 0edb lsrs r3, r3, #27 80bd532: b2db uxtb r3, r3 80bd534: f003 0307 and.w r3, r3, #7 80bd538: b2da uxtb r2, r3 80bd53a: 683b ldr r3, [r7, #0] 80bd53c: 751a strb r2, [r3, #20] pCSD->MaxRdCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x07000000U) >> 24U); 80bd53e: 687b ldr r3, [r7, #4] 80bd540: 6edb ldr r3, [r3, #108] ; 0x6c 80bd542: 0e1b lsrs r3, r3, #24 80bd544: b2db uxtb r3, r3 80bd546: f003 0307 and.w r3, r3, #7 80bd54a: b2da uxtb r2, r3 80bd54c: 683b ldr r3, [r7, #0] 80bd54e: 755a strb r2, [r3, #21] pCSD->MaxWrCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x00E00000U) >> 21U); 80bd550: 687b ldr r3, [r7, #4] 80bd552: 6edb ldr r3, [r3, #108] ; 0x6c 80bd554: 0d5b lsrs r3, r3, #21 80bd556: b2db uxtb r3, r3 80bd558: f003 0307 and.w r3, r3, #7 80bd55c: b2da uxtb r2, r3 80bd55e: 683b ldr r3, [r7, #0] 80bd560: 759a strb r2, [r3, #22] pCSD->MaxWrCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x001C0000U) >> 18U); 80bd562: 687b ldr r3, [r7, #4] 80bd564: 6edb ldr r3, [r3, #108] ; 0x6c 80bd566: 0c9b lsrs r3, r3, #18 80bd568: b2db uxtb r3, r3 80bd56a: f003 0307 and.w r3, r3, #7 80bd56e: b2da uxtb r2, r3 80bd570: 683b ldr r3, [r7, #0] 80bd572: 75da strb r2, [r3, #23] pCSD->DeviceSizeMul = (uint8_t)((hsd->CSD[2] & 0x00038000U) >> 15U); 80bd574: 687b ldr r3, [r7, #4] 80bd576: 6edb ldr r3, [r3, #108] ; 0x6c 80bd578: 0bdb lsrs r3, r3, #15 80bd57a: b2db uxtb r3, r3 80bd57c: f003 0307 and.w r3, r3, #7 80bd580: b2da uxtb r2, r3 80bd582: 683b ldr r3, [r7, #0] 80bd584: 761a strb r2, [r3, #24] hsd->SdCard.BlockNbr = (pCSD->DeviceSize + 1U) ; 80bd586: 683b ldr r3, [r7, #0] 80bd588: 691b ldr r3, [r3, #16] 80bd58a: 1c5a adds r2, r3, #1 80bd58c: 687b ldr r3, [r7, #4] 80bd58e: 655a str r2, [r3, #84] ; 0x54 hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U)); 80bd590: 683b ldr r3, [r7, #0] 80bd592: 7e1b ldrb r3, [r3, #24] 80bd594: b2db uxtb r3, r3 80bd596: f003 0307 and.w r3, r3, #7 80bd59a: 3302 adds r3, #2 80bd59c: 2201 movs r2, #1 80bd59e: 409a lsls r2, r3 80bd5a0: 687b ldr r3, [r7, #4] 80bd5a2: 6d5b ldr r3, [r3, #84] ; 0x54 80bd5a4: fb02 f203 mul.w r2, r2, r3 80bd5a8: 687b ldr r3, [r7, #4] 80bd5aa: 655a str r2, [r3, #84] ; 0x54 hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU)); 80bd5ac: 683b ldr r3, [r7, #0] 80bd5ae: 7a1b ldrb r3, [r3, #8] 80bd5b0: b2db uxtb r3, r3 80bd5b2: f003 030f and.w r3, r3, #15 80bd5b6: 2201 movs r2, #1 80bd5b8: 409a lsls r2, r3 80bd5ba: 687b ldr r3, [r7, #4] 80bd5bc: 659a str r2, [r3, #88] ; 0x58 hsd->SdCard.LogBlockNbr = (hsd->SdCard.BlockNbr) * ((hsd->SdCard.BlockSize) / 512U); 80bd5be: 687b ldr r3, [r7, #4] 80bd5c0: 6d5b ldr r3, [r3, #84] ; 0x54 80bd5c2: 687a ldr r2, [r7, #4] 80bd5c4: 6d92 ldr r2, [r2, #88] ; 0x58 80bd5c6: 0a52 lsrs r2, r2, #9 80bd5c8: fb02 f203 mul.w r2, r2, r3 80bd5cc: 687b ldr r3, [r7, #4] 80bd5ce: 65da str r2, [r3, #92] ; 0x5c hsd->SdCard.LogBlockSize = 512U; 80bd5d0: 687b ldr r3, [r7, #4] 80bd5d2: f44f 7200 mov.w r2, #512 ; 0x200 80bd5d6: 661a str r2, [r3, #96] ; 0x60 80bd5d8: e031 b.n 80bd63e } else if(hsd->SdCard.CardType == CARD_SDHC_SDXC) 80bd5da: 687b ldr r3, [r7, #4] 80bd5dc: 6c5b ldr r3, [r3, #68] ; 0x44 80bd5de: 2b01 cmp r3, #1 80bd5e0: d11d bne.n 80bd61e { /* Byte 7 */ pCSD->DeviceSize = (((hsd->CSD[1] & 0x0000003FU) << 16U) | ((hsd->CSD[2] & 0xFFFF0000U) >> 16U)); 80bd5e2: 687b ldr r3, [r7, #4] 80bd5e4: 6e9b ldr r3, [r3, #104] ; 0x68 80bd5e6: 041b lsls r3, r3, #16 80bd5e8: f403 127c and.w r2, r3, #4128768 ; 0x3f0000 80bd5ec: 687b ldr r3, [r7, #4] 80bd5ee: 6edb ldr r3, [r3, #108] ; 0x6c 80bd5f0: 0c1b lsrs r3, r3, #16 80bd5f2: 431a orrs r2, r3 80bd5f4: 683b ldr r3, [r7, #0] 80bd5f6: 611a str r2, [r3, #16] hsd->SdCard.BlockNbr = ((pCSD->DeviceSize + 1U) * 1024U); 80bd5f8: 683b ldr r3, [r7, #0] 80bd5fa: 691b ldr r3, [r3, #16] 80bd5fc: 3301 adds r3, #1 80bd5fe: 029a lsls r2, r3, #10 80bd600: 687b ldr r3, [r7, #4] 80bd602: 655a str r2, [r3, #84] ; 0x54 hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr; 80bd604: 687b ldr r3, [r7, #4] 80bd606: 6d5a ldr r2, [r3, #84] ; 0x54 80bd608: 687b ldr r3, [r7, #4] 80bd60a: 65da str r2, [r3, #92] ; 0x5c hsd->SdCard.BlockSize = 512U; 80bd60c: 687b ldr r3, [r7, #4] 80bd60e: f44f 7200 mov.w r2, #512 ; 0x200 80bd612: 659a str r2, [r3, #88] ; 0x58 hsd->SdCard.LogBlockSize = hsd->SdCard.BlockSize; 80bd614: 687b ldr r3, [r7, #4] 80bd616: 6d9a ldr r2, [r3, #88] ; 0x58 80bd618: 687b ldr r3, [r7, #4] 80bd61a: 661a str r2, [r3, #96] ; 0x60 80bd61c: e00f b.n 80bd63e } else { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bd61e: 687b ldr r3, [r7, #4] 80bd620: 681b ldr r3, [r3, #0] 80bd622: 4a59 ldr r2, [pc, #356] ; (80bd788 ) 80bd624: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80bd626: 687b ldr r3, [r7, #4] 80bd628: 6b9b ldr r3, [r3, #56] ; 0x38 80bd62a: f043 5280 orr.w r2, r3, #268435456 ; 0x10000000 80bd62e: 687b ldr r3, [r7, #4] 80bd630: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bd632: 687b ldr r3, [r7, #4] 80bd634: 2201 movs r2, #1 80bd636: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80bd63a: 2301 movs r3, #1 80bd63c: e09d b.n 80bd77a } pCSD->EraseGrSize = (uint8_t)((hsd->CSD[2] & 0x00004000U) >> 14U); 80bd63e: 687b ldr r3, [r7, #4] 80bd640: 6edb ldr r3, [r3, #108] ; 0x6c 80bd642: 0b9b lsrs r3, r3, #14 80bd644: b2db uxtb r3, r3 80bd646: f003 0301 and.w r3, r3, #1 80bd64a: b2da uxtb r2, r3 80bd64c: 683b ldr r3, [r7, #0] 80bd64e: 765a strb r2, [r3, #25] pCSD->EraseGrMul = (uint8_t)((hsd->CSD[2] & 0x00003F80U) >> 7U); 80bd650: 687b ldr r3, [r7, #4] 80bd652: 6edb ldr r3, [r3, #108] ; 0x6c 80bd654: 09db lsrs r3, r3, #7 80bd656: b2db uxtb r3, r3 80bd658: f003 037f and.w r3, r3, #127 ; 0x7f 80bd65c: b2da uxtb r2, r3 80bd65e: 683b ldr r3, [r7, #0] 80bd660: 769a strb r2, [r3, #26] pCSD->WrProtectGrSize = (uint8_t)(hsd->CSD[2] & 0x0000007FU); 80bd662: 687b ldr r3, [r7, #4] 80bd664: 6edb ldr r3, [r3, #108] ; 0x6c 80bd666: b2db uxtb r3, r3 80bd668: f003 037f and.w r3, r3, #127 ; 0x7f 80bd66c: b2da uxtb r2, r3 80bd66e: 683b ldr r3, [r7, #0] 80bd670: 76da strb r2, [r3, #27] pCSD->WrProtectGrEnable = (uint8_t)((hsd->CSD[3] & 0x80000000U) >> 31U); 80bd672: 687b ldr r3, [r7, #4] 80bd674: 6f1b ldr r3, [r3, #112] ; 0x70 80bd676: 0fdb lsrs r3, r3, #31 80bd678: b2da uxtb r2, r3 80bd67a: 683b ldr r3, [r7, #0] 80bd67c: 771a strb r2, [r3, #28] pCSD->ManDeflECC = (uint8_t)((hsd->CSD[3] & 0x60000000U) >> 29U); 80bd67e: 687b ldr r3, [r7, #4] 80bd680: 6f1b ldr r3, [r3, #112] ; 0x70 80bd682: 0f5b lsrs r3, r3, #29 80bd684: b2db uxtb r3, r3 80bd686: f003 0303 and.w r3, r3, #3 80bd68a: b2da uxtb r2, r3 80bd68c: 683b ldr r3, [r7, #0] 80bd68e: 775a strb r2, [r3, #29] pCSD->WrSpeedFact = (uint8_t)((hsd->CSD[3] & 0x1C000000U) >> 26U); 80bd690: 687b ldr r3, [r7, #4] 80bd692: 6f1b ldr r3, [r3, #112] ; 0x70 80bd694: 0e9b lsrs r3, r3, #26 80bd696: b2db uxtb r3, r3 80bd698: f003 0307 and.w r3, r3, #7 80bd69c: b2da uxtb r2, r3 80bd69e: 683b ldr r3, [r7, #0] 80bd6a0: 779a strb r2, [r3, #30] pCSD->MaxWrBlockLen= (uint8_t)((hsd->CSD[3] & 0x03C00000U) >> 22U); 80bd6a2: 687b ldr r3, [r7, #4] 80bd6a4: 6f1b ldr r3, [r3, #112] ; 0x70 80bd6a6: 0d9b lsrs r3, r3, #22 80bd6a8: b2db uxtb r3, r3 80bd6aa: f003 030f and.w r3, r3, #15 80bd6ae: b2da uxtb r2, r3 80bd6b0: 683b ldr r3, [r7, #0] 80bd6b2: 77da strb r2, [r3, #31] pCSD->WriteBlockPaPartial = (uint8_t)((hsd->CSD[3] & 0x00200000U) >> 21U); 80bd6b4: 687b ldr r3, [r7, #4] 80bd6b6: 6f1b ldr r3, [r3, #112] ; 0x70 80bd6b8: 0d5b lsrs r3, r3, #21 80bd6ba: b2db uxtb r3, r3 80bd6bc: f003 0301 and.w r3, r3, #1 80bd6c0: b2da uxtb r2, r3 80bd6c2: 683b ldr r3, [r7, #0] 80bd6c4: f883 2020 strb.w r2, [r3, #32] pCSD->Reserved3 = 0; 80bd6c8: 683b ldr r3, [r7, #0] 80bd6ca: 2200 movs r2, #0 80bd6cc: f883 2021 strb.w r2, [r3, #33] ; 0x21 pCSD->ContentProtectAppli = (uint8_t)((hsd->CSD[3] & 0x00010000U) >> 16U); 80bd6d0: 687b ldr r3, [r7, #4] 80bd6d2: 6f1b ldr r3, [r3, #112] ; 0x70 80bd6d4: 0c1b lsrs r3, r3, #16 80bd6d6: b2db uxtb r3, r3 80bd6d8: f003 0301 and.w r3, r3, #1 80bd6dc: b2da uxtb r2, r3 80bd6de: 683b ldr r3, [r7, #0] 80bd6e0: f883 2022 strb.w r2, [r3, #34] ; 0x22 pCSD->FileFormatGroup = (uint8_t)((hsd->CSD[3] & 0x00008000U) >> 15U); 80bd6e4: 687b ldr r3, [r7, #4] 80bd6e6: 6f1b ldr r3, [r3, #112] ; 0x70 80bd6e8: 0bdb lsrs r3, r3, #15 80bd6ea: b2db uxtb r3, r3 80bd6ec: f003 0301 and.w r3, r3, #1 80bd6f0: b2da uxtb r2, r3 80bd6f2: 683b ldr r3, [r7, #0] 80bd6f4: f883 2023 strb.w r2, [r3, #35] ; 0x23 pCSD->CopyFlag = (uint8_t)((hsd->CSD[3] & 0x00004000U) >> 14U); 80bd6f8: 687b ldr r3, [r7, #4] 80bd6fa: 6f1b ldr r3, [r3, #112] ; 0x70 80bd6fc: 0b9b lsrs r3, r3, #14 80bd6fe: b2db uxtb r3, r3 80bd700: f003 0301 and.w r3, r3, #1 80bd704: b2da uxtb r2, r3 80bd706: 683b ldr r3, [r7, #0] 80bd708: f883 2024 strb.w r2, [r3, #36] ; 0x24 pCSD->PermWrProtect = (uint8_t)((hsd->CSD[3] & 0x00002000U) >> 13U); 80bd70c: 687b ldr r3, [r7, #4] 80bd70e: 6f1b ldr r3, [r3, #112] ; 0x70 80bd710: 0b5b lsrs r3, r3, #13 80bd712: b2db uxtb r3, r3 80bd714: f003 0301 and.w r3, r3, #1 80bd718: b2da uxtb r2, r3 80bd71a: 683b ldr r3, [r7, #0] 80bd71c: f883 2025 strb.w r2, [r3, #37] ; 0x25 pCSD->TempWrProtect = (uint8_t)((hsd->CSD[3] & 0x00001000U) >> 12U); 80bd720: 687b ldr r3, [r7, #4] 80bd722: 6f1b ldr r3, [r3, #112] ; 0x70 80bd724: 0b1b lsrs r3, r3, #12 80bd726: b2db uxtb r3, r3 80bd728: f003 0301 and.w r3, r3, #1 80bd72c: b2da uxtb r2, r3 80bd72e: 683b ldr r3, [r7, #0] 80bd730: f883 2026 strb.w r2, [r3, #38] ; 0x26 pCSD->FileFormat = (uint8_t)((hsd->CSD[3] & 0x00000C00U) >> 10U); 80bd734: 687b ldr r3, [r7, #4] 80bd736: 6f1b ldr r3, [r3, #112] ; 0x70 80bd738: 0a9b lsrs r3, r3, #10 80bd73a: b2db uxtb r3, r3 80bd73c: f003 0303 and.w r3, r3, #3 80bd740: b2da uxtb r2, r3 80bd742: 683b ldr r3, [r7, #0] 80bd744: f883 2027 strb.w r2, [r3, #39] ; 0x27 pCSD->ECC= (uint8_t)((hsd->CSD[3] & 0x00000300U) >> 8U); 80bd748: 687b ldr r3, [r7, #4] 80bd74a: 6f1b ldr r3, [r3, #112] ; 0x70 80bd74c: 0a1b lsrs r3, r3, #8 80bd74e: b2db uxtb r3, r3 80bd750: f003 0303 and.w r3, r3, #3 80bd754: b2da uxtb r2, r3 80bd756: 683b ldr r3, [r7, #0] 80bd758: f883 2028 strb.w r2, [r3, #40] ; 0x28 pCSD->CSD_CRC = (uint8_t)((hsd->CSD[3] & 0x000000FEU) >> 1U); 80bd75c: 687b ldr r3, [r7, #4] 80bd75e: 6f1b ldr r3, [r3, #112] ; 0x70 80bd760: 085b lsrs r3, r3, #1 80bd762: b2db uxtb r3, r3 80bd764: f003 037f and.w r3, r3, #127 ; 0x7f 80bd768: b2da uxtb r2, r3 80bd76a: 683b ldr r3, [r7, #0] 80bd76c: f883 2029 strb.w r2, [r3, #41] ; 0x29 pCSD->Reserved4 = 1; 80bd770: 683b ldr r3, [r7, #0] 80bd772: 2201 movs r2, #1 80bd774: f883 202a strb.w r2, [r3, #42] ; 0x2a return HAL_OK; 80bd778: 2300 movs r3, #0 } 80bd77a: 4618 mov r0, r3 80bd77c: 370c adds r7, #12 80bd77e: 46bd mov sp, r7 80bd780: f85d 7b04 ldr.w r7, [sp], #4 80bd784: 4770 bx lr 80bd786: bf00 nop 80bd788: 004005ff .word 0x004005ff 080bd78c : * @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) { 80bd78c: b480 push {r7} 80bd78e: b083 sub sp, #12 80bd790: af00 add r7, sp, #0 80bd792: 6078 str r0, [r7, #4] 80bd794: 6039 str r1, [r7, #0] pCardInfo->CardType = (uint32_t)(hsd->SdCard.CardType); 80bd796: 687b ldr r3, [r7, #4] 80bd798: 6c5a ldr r2, [r3, #68] ; 0x44 80bd79a: 683b ldr r3, [r7, #0] 80bd79c: 601a str r2, [r3, #0] pCardInfo->CardVersion = (uint32_t)(hsd->SdCard.CardVersion); 80bd79e: 687b ldr r3, [r7, #4] 80bd7a0: 6c9a ldr r2, [r3, #72] ; 0x48 80bd7a2: 683b ldr r3, [r7, #0] 80bd7a4: 605a str r2, [r3, #4] pCardInfo->Class = (uint32_t)(hsd->SdCard.Class); 80bd7a6: 687b ldr r3, [r7, #4] 80bd7a8: 6cda ldr r2, [r3, #76] ; 0x4c 80bd7aa: 683b ldr r3, [r7, #0] 80bd7ac: 609a str r2, [r3, #8] pCardInfo->RelCardAdd = (uint32_t)(hsd->SdCard.RelCardAdd); 80bd7ae: 687b ldr r3, [r7, #4] 80bd7b0: 6d1a ldr r2, [r3, #80] ; 0x50 80bd7b2: 683b ldr r3, [r7, #0] 80bd7b4: 60da str r2, [r3, #12] pCardInfo->BlockNbr = (uint32_t)(hsd->SdCard.BlockNbr); 80bd7b6: 687b ldr r3, [r7, #4] 80bd7b8: 6d5a ldr r2, [r3, #84] ; 0x54 80bd7ba: 683b ldr r3, [r7, #0] 80bd7bc: 611a str r2, [r3, #16] pCardInfo->BlockSize = (uint32_t)(hsd->SdCard.BlockSize); 80bd7be: 687b ldr r3, [r7, #4] 80bd7c0: 6d9a ldr r2, [r3, #88] ; 0x58 80bd7c2: 683b ldr r3, [r7, #0] 80bd7c4: 615a str r2, [r3, #20] pCardInfo->LogBlockNbr = (uint32_t)(hsd->SdCard.LogBlockNbr); 80bd7c6: 687b ldr r3, [r7, #4] 80bd7c8: 6dda ldr r2, [r3, #92] ; 0x5c 80bd7ca: 683b ldr r3, [r7, #0] 80bd7cc: 619a str r2, [r3, #24] pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize); 80bd7ce: 687b ldr r3, [r7, #4] 80bd7d0: 6e1a ldr r2, [r3, #96] ; 0x60 80bd7d2: 683b ldr r3, [r7, #0] 80bd7d4: 61da str r2, [r3, #28] return HAL_OK; 80bd7d6: 2300 movs r3, #0 } 80bd7d8: 4618 mov r0, r3 80bd7da: 370c adds r7, #12 80bd7dc: 46bd mov sp, r7 80bd7de: f85d 7b04 ldr.w r7, [sp], #4 80bd7e2: 4770 bx lr 080bd7e4 : * @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) { 80bd7e4: b5b0 push {r4, r5, r7, lr} 80bd7e6: b08e sub sp, #56 ; 0x38 80bd7e8: af04 add r7, sp, #16 80bd7ea: 6078 str r0, [r7, #4] 80bd7ec: 6039 str r1, [r7, #0] SDMMC_InitTypeDef Init; uint32_t errorstate; HAL_StatusTypeDef status = HAL_OK; 80bd7ee: 2300 movs r3, #0 80bd7f0: 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; 80bd7f4: 687b ldr r3, [r7, #4] 80bd7f6: 2203 movs r2, #3 80bd7f8: f883 2034 strb.w r2, [r3, #52] ; 0x34 if(hsd->SdCard.CardType != CARD_SECURED) 80bd7fc: 687b ldr r3, [r7, #4] 80bd7fe: 6c5b ldr r3, [r3, #68] ; 0x44 80bd800: 2b03 cmp r3, #3 80bd802: d02e beq.n 80bd862 { if(WideMode == SDMMC_BUS_WIDE_8B) 80bd804: 683b ldr r3, [r7, #0] 80bd806: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80bd80a: d106 bne.n 80bd81a { hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80bd80c: 687b ldr r3, [r7, #4] 80bd80e: 6b9b ldr r3, [r3, #56] ; 0x38 80bd810: f043 5280 orr.w r2, r3, #268435456 ; 0x10000000 80bd814: 687b ldr r3, [r7, #4] 80bd816: 639a str r2, [r3, #56] ; 0x38 80bd818: e029 b.n 80bd86e } else if(WideMode == SDMMC_BUS_WIDE_4B) 80bd81a: 683b ldr r3, [r7, #0] 80bd81c: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80bd820: d10a bne.n 80bd838 { errorstate = SD_WideBus_Enable(hsd); 80bd822: 6878 ldr r0, [r7, #4] 80bd824: f000 fb37 bl 80bde96 80bd828: 6238 str r0, [r7, #32] hsd->ErrorCode |= errorstate; 80bd82a: 687b ldr r3, [r7, #4] 80bd82c: 6b9a ldr r2, [r3, #56] ; 0x38 80bd82e: 6a3b ldr r3, [r7, #32] 80bd830: 431a orrs r2, r3 80bd832: 687b ldr r3, [r7, #4] 80bd834: 639a str r2, [r3, #56] ; 0x38 80bd836: e01a b.n 80bd86e } else if(WideMode == SDMMC_BUS_WIDE_1B) 80bd838: 683b ldr r3, [r7, #0] 80bd83a: 2b00 cmp r3, #0 80bd83c: d10a bne.n 80bd854 { errorstate = SD_WideBus_Disable(hsd); 80bd83e: 6878 ldr r0, [r7, #4] 80bd840: f000 fb74 bl 80bdf2c 80bd844: 6238 str r0, [r7, #32] hsd->ErrorCode |= errorstate; 80bd846: 687b ldr r3, [r7, #4] 80bd848: 6b9a ldr r2, [r3, #56] ; 0x38 80bd84a: 6a3b ldr r3, [r7, #32] 80bd84c: 431a orrs r2, r3 80bd84e: 687b ldr r3, [r7, #4] 80bd850: 639a str r2, [r3, #56] ; 0x38 80bd852: e00c b.n 80bd86e } else { /* WideMode is not a valid argument*/ hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 80bd854: 687b ldr r3, [r7, #4] 80bd856: 6b9b ldr r3, [r3, #56] ; 0x38 80bd858: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80bd85c: 687b ldr r3, [r7, #4] 80bd85e: 639a str r2, [r3, #56] ; 0x38 80bd860: e005 b.n 80bd86e } } else { /* MMC Card does not support this feature */ hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80bd862: 687b ldr r3, [r7, #4] 80bd864: 6b9b ldr r3, [r3, #56] ; 0x38 80bd866: f043 5280 orr.w r2, r3, #268435456 ; 0x10000000 80bd86a: 687b ldr r3, [r7, #4] 80bd86c: 639a str r2, [r3, #56] ; 0x38 } if(hsd->ErrorCode != HAL_SD_ERROR_NONE) 80bd86e: 687b ldr r3, [r7, #4] 80bd870: 6b9b ldr r3, [r3, #56] ; 0x38 80bd872: 2b00 cmp r3, #0 80bd874: d00b beq.n 80bd88e { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bd876: 687b ldr r3, [r7, #4] 80bd878: 681b ldr r3, [r3, #0] 80bd87a: 4a26 ldr r2, [pc, #152] ; (80bd914 ) 80bd87c: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bd87e: 687b ldr r3, [r7, #4] 80bd880: 2201 movs r2, #1 80bd882: f883 2034 strb.w r2, [r3, #52] ; 0x34 status = HAL_ERROR; 80bd886: 2301 movs r3, #1 80bd888: f887 3027 strb.w r3, [r7, #39] ; 0x27 80bd88c: e01f b.n 80bd8ce } else { /* Configure the SDMMC peripheral */ Init.ClockEdge = hsd->Init.ClockEdge; 80bd88e: 687b ldr r3, [r7, #4] 80bd890: 685b ldr r3, [r3, #4] 80bd892: 60bb str r3, [r7, #8] Init.ClockBypass = hsd->Init.ClockBypass; 80bd894: 687b ldr r3, [r7, #4] 80bd896: 689b ldr r3, [r3, #8] 80bd898: 60fb str r3, [r7, #12] Init.ClockPowerSave = hsd->Init.ClockPowerSave; 80bd89a: 687b ldr r3, [r7, #4] 80bd89c: 68db ldr r3, [r3, #12] 80bd89e: 613b str r3, [r7, #16] Init.BusWide = WideMode; 80bd8a0: 683b ldr r3, [r7, #0] 80bd8a2: 617b str r3, [r7, #20] Init.HardwareFlowControl = hsd->Init.HardwareFlowControl; 80bd8a4: 687b ldr r3, [r7, #4] 80bd8a6: 695b ldr r3, [r3, #20] 80bd8a8: 61bb str r3, [r7, #24] Init.ClockDiv = hsd->Init.ClockDiv; 80bd8aa: 687b ldr r3, [r7, #4] 80bd8ac: 699b ldr r3, [r3, #24] 80bd8ae: 61fb str r3, [r7, #28] (void)SDMMC_Init(hsd->Instance, Init); 80bd8b0: 687b ldr r3, [r7, #4] 80bd8b2: 681d ldr r5, [r3, #0] 80bd8b4: 466c mov r4, sp 80bd8b6: f107 0314 add.w r3, r7, #20 80bd8ba: e893 0007 ldmia.w r3, {r0, r1, r2} 80bd8be: e884 0007 stmia.w r4, {r0, r1, r2} 80bd8c2: f107 0308 add.w r3, r7, #8 80bd8c6: cb0e ldmia r3, {r1, r2, r3} 80bd8c8: 4628 mov r0, r5 80bd8ca: f003 ff51 bl 80c1770 } /* Set Block Size for Card */ errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); 80bd8ce: 687b ldr r3, [r7, #4] 80bd8d0: 681b ldr r3, [r3, #0] 80bd8d2: f44f 7100 mov.w r1, #512 ; 0x200 80bd8d6: 4618 mov r0, r3 80bd8d8: f004 f834 bl 80c1944 80bd8dc: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80bd8de: 6a3b ldr r3, [r7, #32] 80bd8e0: 2b00 cmp r3, #0 80bd8e2: d00c beq.n 80bd8fe { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bd8e4: 687b ldr r3, [r7, #4] 80bd8e6: 681b ldr r3, [r3, #0] 80bd8e8: 4a0a ldr r2, [pc, #40] ; (80bd914 ) 80bd8ea: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80bd8ec: 687b ldr r3, [r7, #4] 80bd8ee: 6b9a ldr r2, [r3, #56] ; 0x38 80bd8f0: 6a3b ldr r3, [r7, #32] 80bd8f2: 431a orrs r2, r3 80bd8f4: 687b ldr r3, [r7, #4] 80bd8f6: 639a str r2, [r3, #56] ; 0x38 status = HAL_ERROR; 80bd8f8: 2301 movs r3, #1 80bd8fa: f887 3027 strb.w r3, [r7, #39] ; 0x27 } /* Change State */ hsd->State = HAL_SD_STATE_READY; 80bd8fe: 687b ldr r3, [r7, #4] 80bd900: 2201 movs r2, #1 80bd902: f883 2034 strb.w r2, [r3, #52] ; 0x34 return status; 80bd906: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 } 80bd90a: 4618 mov r0, r3 80bd90c: 3728 adds r7, #40 ; 0x28 80bd90e: 46bd mov sp, r7 80bd910: bdb0 pop {r4, r5, r7, pc} 80bd912: bf00 nop 80bd914: 004005ff .word 0x004005ff 080bd918 : * @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) { 80bd918: b580 push {r7, lr} 80bd91a: b086 sub sp, #24 80bd91c: af00 add r7, sp, #0 80bd91e: 6078 str r0, [r7, #4] uint32_t cardstate; uint32_t errorstate; uint32_t resp1 = 0; 80bd920: 2300 movs r3, #0 80bd922: 60fb str r3, [r7, #12] errorstate = SD_SendStatus(hsd, &resp1); 80bd924: f107 030c add.w r3, r7, #12 80bd928: 4619 mov r1, r3 80bd92a: 6878 ldr r0, [r7, #4] 80bd92c: f000 fa8b bl 80bde46 80bd930: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80bd932: 697b ldr r3, [r7, #20] 80bd934: 2b00 cmp r3, #0 80bd936: d005 beq.n 80bd944 { hsd->ErrorCode |= errorstate; 80bd938: 687b ldr r3, [r7, #4] 80bd93a: 6b9a ldr r2, [r3, #56] ; 0x38 80bd93c: 697b ldr r3, [r7, #20] 80bd93e: 431a orrs r2, r3 80bd940: 687b ldr r3, [r7, #4] 80bd942: 639a str r2, [r3, #56] ; 0x38 } cardstate = ((resp1 >> 9U) & 0x0FU); 80bd944: 68fb ldr r3, [r7, #12] 80bd946: 0a5b lsrs r3, r3, #9 80bd948: f003 030f and.w r3, r3, #15 80bd94c: 613b str r3, [r7, #16] return (HAL_SD_CardStateTypeDef)cardstate; 80bd94e: 693b ldr r3, [r7, #16] } 80bd950: 4618 mov r0, r3 80bd952: 3718 adds r7, #24 80bd954: 46bd mov sp, r7 80bd956: bd80 pop {r7, pc} 080bd958 : * @brief DMA SD transmit process complete callback * @param hdma: DMA handle * @retval None */ static void SD_DMATransmitCplt(DMA_HandleTypeDef *hdma) { 80bd958: b480 push {r7} 80bd95a: b085 sub sp, #20 80bd95c: af00 add r7, sp, #0 80bd95e: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80bd960: 687b ldr r3, [r7, #4] 80bd962: 6b9b ldr r3, [r3, #56] ; 0x38 80bd964: 60fb str r3, [r7, #12] /* Enable DATAEND Interrupt */ __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DATAEND)); 80bd966: 68fb ldr r3, [r7, #12] 80bd968: 681b ldr r3, [r3, #0] 80bd96a: 68fa ldr r2, [r7, #12] 80bd96c: 6812 ldr r2, [r2, #0] 80bd96e: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bd970: f442 7280 orr.w r2, r2, #256 ; 0x100 80bd974: 63da str r2, [r3, #60] ; 0x3c } 80bd976: bf00 nop 80bd978: 3714 adds r7, #20 80bd97a: 46bd mov sp, r7 80bd97c: f85d 7b04 ldr.w r7, [sp], #4 80bd980: 4770 bx lr 080bd982 : * @brief DMA SD receive process complete callback * @param hdma: DMA handle * @retval None */ static void SD_DMAReceiveCplt(DMA_HandleTypeDef *hdma) { 80bd982: b580 push {r7, lr} 80bd984: b084 sub sp, #16 80bd986: af00 add r7, sp, #0 80bd988: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80bd98a: 687b ldr r3, [r7, #4] 80bd98c: 6b9b ldr r3, [r3, #56] ; 0x38 80bd98e: 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)) 80bd990: 68fb ldr r3, [r7, #12] 80bd992: 6b1b ldr r3, [r3, #48] ; 0x30 80bd994: 2b82 cmp r3, #130 ; 0x82 80bd996: d111 bne.n 80bd9bc { errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 80bd998: 68fb ldr r3, [r7, #12] 80bd99a: 681b ldr r3, [r3, #0] 80bd99c: 4618 mov r0, r3 80bd99e: f004 f87b bl 80c1a98 80bd9a2: 60b8 str r0, [r7, #8] if(errorstate != HAL_SD_ERROR_NONE) 80bd9a4: 68bb ldr r3, [r7, #8] 80bd9a6: 2b00 cmp r3, #0 80bd9a8: d008 beq.n 80bd9bc { hsd->ErrorCode |= errorstate; 80bd9aa: 68fb ldr r3, [r7, #12] 80bd9ac: 6b9a ldr r2, [r3, #56] ; 0x38 80bd9ae: 68bb ldr r3, [r7, #8] 80bd9b0: 431a orrs r2, r3 80bd9b2: 68fb ldr r3, [r7, #12] 80bd9b4: 639a str r2, [r3, #56] ; 0x38 #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); 80bd9b6: 68f8 ldr r0, [r7, #12] 80bd9b8: f7ff fd3a bl 80bd430 } } /* 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); 80bd9bc: 68fb ldr r3, [r7, #12] 80bd9be: 681b ldr r3, [r3, #0] 80bd9c0: 68fa ldr r2, [r7, #12] 80bd9c2: 6812 ldr r2, [r2, #0] 80bd9c4: 6ad2 ldr r2, [r2, #44] ; 0x2c 80bd9c6: f022 0208 bic.w r2, r2, #8 80bd9ca: 62da str r2, [r3, #44] ; 0x2c /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80bd9cc: 68fb ldr r3, [r7, #12] 80bd9ce: 681b ldr r3, [r3, #0] 80bd9d0: f240 523a movw r2, #1338 ; 0x53a 80bd9d4: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80bd9d6: 68fb ldr r3, [r7, #12] 80bd9d8: 2201 movs r2, #1 80bd9da: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bd9de: 68fb ldr r3, [r7, #12] 80bd9e0: 2200 movs r2, #0 80bd9e2: 631a str r2, [r3, #48] ; 0x30 #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->RxCpltCallback(hsd); #else HAL_SD_RxCpltCallback(hsd); 80bd9e4: 68f8 ldr r0, [r7, #12] 80bd9e6: f006 f907 bl 80c3bf8 #endif } 80bd9ea: bf00 nop 80bd9ec: 3710 adds r7, #16 80bd9ee: 46bd mov sp, r7 80bd9f0: bd80 pop {r7, pc} ... 080bd9f4 : * @brief DMA SD communication error callback * @param hdma: DMA handle * @retval None */ static void SD_DMAError(DMA_HandleTypeDef *hdma) { 80bd9f4: b580 push {r7, lr} 80bd9f6: b086 sub sp, #24 80bd9f8: af00 add r7, sp, #0 80bd9fa: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80bd9fc: 687b ldr r3, [r7, #4] 80bd9fe: 6b9b ldr r3, [r3, #56] ; 0x38 80bda00: 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) 80bda02: 6878 ldr r0, [r7, #4] 80bda04: f7fa fdbc bl 80b8580 80bda08: 4603 mov r3, r0 80bda0a: 2b02 cmp r3, #2 80bda0c: d03e beq.n 80bda8c { RxErrorCode = hsd->hdmarx->ErrorCode; 80bda0e: 697b ldr r3, [r7, #20] 80bda10: 6c1b ldr r3, [r3, #64] ; 0x40 80bda12: 6d5b ldr r3, [r3, #84] ; 0x54 80bda14: 613b str r3, [r7, #16] TxErrorCode = hsd->hdmatx->ErrorCode; 80bda16: 697b ldr r3, [r7, #20] 80bda18: 6bdb ldr r3, [r3, #60] ; 0x3c 80bda1a: 6d5b ldr r3, [r3, #84] ; 0x54 80bda1c: 60fb str r3, [r7, #12] if((RxErrorCode == HAL_DMA_ERROR_TE) || (TxErrorCode == HAL_DMA_ERROR_TE)) 80bda1e: 693b ldr r3, [r7, #16] 80bda20: 2b01 cmp r3, #1 80bda22: d002 beq.n 80bda2a 80bda24: 68fb ldr r3, [r7, #12] 80bda26: 2b01 cmp r3, #1 80bda28: d12d bne.n 80bda86 { /* Clear All flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80bda2a: 697b ldr r3, [r7, #20] 80bda2c: 681b ldr r3, [r3, #0] 80bda2e: 4a19 ldr r2, [pc, #100] ; (80bda94 ) 80bda30: 639a str r2, [r3, #56] ; 0x38 /* Disable All interrupts */ __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ 80bda32: 697b ldr r3, [r7, #20] 80bda34: 681b ldr r3, [r3, #0] 80bda36: 697a ldr r2, [r7, #20] 80bda38: 6812 ldr r2, [r2, #0] 80bda3a: 6bd2 ldr r2, [r2, #60] ; 0x3c 80bda3c: f422 729d bic.w r2, r2, #314 ; 0x13a 80bda40: 63da str r2, [r3, #60] ; 0x3c SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR); hsd->ErrorCode |= HAL_SD_ERROR_DMA; 80bda42: 697b ldr r3, [r7, #20] 80bda44: 6b9b ldr r3, [r3, #56] ; 0x38 80bda46: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80bda4a: 697b ldr r3, [r7, #20] 80bda4c: 639a str r2, [r3, #56] ; 0x38 CardState = HAL_SD_GetCardState(hsd); 80bda4e: 6978 ldr r0, [r7, #20] 80bda50: f7ff ff62 bl 80bd918 80bda54: 60b8 str r0, [r7, #8] if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 80bda56: 68bb ldr r3, [r7, #8] 80bda58: 2b06 cmp r3, #6 80bda5a: d002 beq.n 80bda62 80bda5c: 68bb ldr r3, [r7, #8] 80bda5e: 2b05 cmp r3, #5 80bda60: d10a bne.n 80bda78 { hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80bda62: 697b ldr r3, [r7, #20] 80bda64: 681b ldr r3, [r3, #0] 80bda66: 4618 mov r0, r3 80bda68: f004 f816 bl 80c1a98 80bda6c: 4602 mov r2, r0 80bda6e: 697b ldr r3, [r7, #20] 80bda70: 6b9b ldr r3, [r3, #56] ; 0x38 80bda72: 431a orrs r2, r3 80bda74: 697b ldr r3, [r7, #20] 80bda76: 639a str r2, [r3, #56] ; 0x38 } hsd->State= HAL_SD_STATE_READY; 80bda78: 697b ldr r3, [r7, #20] 80bda7a: 2201 movs r2, #1 80bda7c: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bda80: 697b ldr r3, [r7, #20] 80bda82: 2200 movs r2, #0 80bda84: 631a str r2, [r3, #48] ; 0x30 } #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); 80bda86: 6978 ldr r0, [r7, #20] 80bda88: f7ff fcd2 bl 80bd430 #endif } } 80bda8c: bf00 nop 80bda8e: 3718 adds r7, #24 80bda90: 46bd mov sp, r7 80bda92: bd80 pop {r7, pc} 80bda94: 004005ff .word 0x004005ff 080bda98 : * @brief DMA SD Tx Abort callback * @param hdma: DMA handle * @retval None */ static void SD_DMATxAbort(DMA_HandleTypeDef *hdma) { 80bda98: b580 push {r7, lr} 80bda9a: b084 sub sp, #16 80bda9c: af00 add r7, sp, #0 80bda9e: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80bdaa0: 687b ldr r3, [r7, #4] 80bdaa2: 6b9b ldr r3, [r3, #56] ; 0x38 80bdaa4: 60fb str r3, [r7, #12] HAL_SD_CardStateTypeDef CardState; /* Clear All flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80bdaa6: 68fb ldr r3, [r7, #12] 80bdaa8: 681b ldr r3, [r3, #0] 80bdaaa: f240 523a movw r2, #1338 ; 0x53a 80bdaae: 639a str r2, [r3, #56] ; 0x38 CardState = HAL_SD_GetCardState(hsd); 80bdab0: 68f8 ldr r0, [r7, #12] 80bdab2: f7ff ff31 bl 80bd918 80bdab6: 60b8 str r0, [r7, #8] hsd->State = HAL_SD_STATE_READY; 80bdab8: 68fb ldr r3, [r7, #12] 80bdaba: 2201 movs r2, #1 80bdabc: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bdac0: 68fb ldr r3, [r7, #12] 80bdac2: 2200 movs r2, #0 80bdac4: 631a str r2, [r3, #48] ; 0x30 if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 80bdac6: 68bb ldr r3, [r7, #8] 80bdac8: 2b06 cmp r3, #6 80bdaca: d002 beq.n 80bdad2 80bdacc: 68bb ldr r3, [r7, #8] 80bdace: 2b05 cmp r3, #5 80bdad0: d10a bne.n 80bdae8 { hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80bdad2: 68fb ldr r3, [r7, #12] 80bdad4: 681b ldr r3, [r3, #0] 80bdad6: 4618 mov r0, r3 80bdad8: f003 ffde bl 80c1a98 80bdadc: 4602 mov r2, r0 80bdade: 68fb ldr r3, [r7, #12] 80bdae0: 6b9b ldr r3, [r3, #56] ; 0x38 80bdae2: 431a orrs r2, r3 80bdae4: 68fb ldr r3, [r7, #12] 80bdae6: 639a str r2, [r3, #56] ; 0x38 } if(hsd->ErrorCode == HAL_SD_ERROR_NONE) 80bdae8: 68fb ldr r3, [r7, #12] 80bdaea: 6b9b ldr r3, [r3, #56] ; 0x38 80bdaec: 2b00 cmp r3, #0 80bdaee: d103 bne.n 80bdaf8 { #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->AbortCpltCallback(hsd); #else HAL_SD_AbortCallback(hsd); 80bdaf0: 68f8 ldr r0, [r7, #12] 80bdaf2: f006 f86d bl 80c3bd0 hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); #endif } } 80bdaf6: e002 b.n 80bdafe HAL_SD_ErrorCallback(hsd); 80bdaf8: 68f8 ldr r0, [r7, #12] 80bdafa: f7ff fc99 bl 80bd430 } 80bdafe: bf00 nop 80bdb00: 3710 adds r7, #16 80bdb02: 46bd mov sp, r7 80bdb04: bd80 pop {r7, pc} 080bdb06 : * @brief DMA SD Rx Abort callback * @param hdma: DMA handle * @retval None */ static void SD_DMARxAbort(DMA_HandleTypeDef *hdma) { 80bdb06: b580 push {r7, lr} 80bdb08: b084 sub sp, #16 80bdb0a: af00 add r7, sp, #0 80bdb0c: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80bdb0e: 687b ldr r3, [r7, #4] 80bdb10: 6b9b ldr r3, [r3, #56] ; 0x38 80bdb12: 60fb str r3, [r7, #12] HAL_SD_CardStateTypeDef CardState; /* Clear All flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80bdb14: 68fb ldr r3, [r7, #12] 80bdb16: 681b ldr r3, [r3, #0] 80bdb18: f240 523a movw r2, #1338 ; 0x53a 80bdb1c: 639a str r2, [r3, #56] ; 0x38 CardState = HAL_SD_GetCardState(hsd); 80bdb1e: 68f8 ldr r0, [r7, #12] 80bdb20: f7ff fefa bl 80bd918 80bdb24: 60b8 str r0, [r7, #8] hsd->State = HAL_SD_STATE_READY; 80bdb26: 68fb ldr r3, [r7, #12] 80bdb28: 2201 movs r2, #1 80bdb2a: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80bdb2e: 68fb ldr r3, [r7, #12] 80bdb30: 2200 movs r2, #0 80bdb32: 631a str r2, [r3, #48] ; 0x30 if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 80bdb34: 68bb ldr r3, [r7, #8] 80bdb36: 2b06 cmp r3, #6 80bdb38: d002 beq.n 80bdb40 80bdb3a: 68bb ldr r3, [r7, #8] 80bdb3c: 2b05 cmp r3, #5 80bdb3e: d10a bne.n 80bdb56 { hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80bdb40: 68fb ldr r3, [r7, #12] 80bdb42: 681b ldr r3, [r3, #0] 80bdb44: 4618 mov r0, r3 80bdb46: f003 ffa7 bl 80c1a98 80bdb4a: 4602 mov r2, r0 80bdb4c: 68fb ldr r3, [r7, #12] 80bdb4e: 6b9b ldr r3, [r3, #56] ; 0x38 80bdb50: 431a orrs r2, r3 80bdb52: 68fb ldr r3, [r7, #12] 80bdb54: 639a str r2, [r3, #56] ; 0x38 } if(hsd->ErrorCode == HAL_SD_ERROR_NONE) 80bdb56: 68fb ldr r3, [r7, #12] 80bdb58: 6b9b ldr r3, [r3, #56] ; 0x38 80bdb5a: 2b00 cmp r3, #0 80bdb5c: d103 bne.n 80bdb66 { #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->AbortCpltCallback(hsd); #else HAL_SD_AbortCallback(hsd); 80bdb5e: 68f8 ldr r0, [r7, #12] 80bdb60: f006 f836 bl 80c3bd0 hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); #endif } } 80bdb64: e002 b.n 80bdb6c HAL_SD_ErrorCallback(hsd); 80bdb66: 68f8 ldr r0, [r7, #12] 80bdb68: f7ff fc62 bl 80bd430 } 80bdb6c: bf00 nop 80bdb6e: 3710 adds r7, #16 80bdb70: 46bd mov sp, r7 80bdb72: bd80 pop {r7, pc} 080bdb74 : * @brief Initializes the sd card. * @param hsd: Pointer to SD handle * @retval SD Card error state */ static uint32_t SD_InitCard(SD_HandleTypeDef *hsd) { 80bdb74: b5b0 push {r4, r5, r7, lr} 80bdb76: b094 sub sp, #80 ; 0x50 80bdb78: af04 add r7, sp, #16 80bdb7a: 6078 str r0, [r7, #4] HAL_SD_CardCSDTypeDef CSD; uint32_t errorstate; uint16_t sd_rca = 1U; 80bdb7c: 2301 movs r3, #1 80bdb7e: 81fb strh r3, [r7, #14] /* Check the power State */ if(SDMMC_GetPowerState(hsd->Instance) == 0U) 80bdb80: 687b ldr r3, [r7, #4] 80bdb82: 681b ldr r3, [r3, #0] 80bdb84: 4618 mov r0, r3 80bdb86: f003 fe59 bl 80c183c 80bdb8a: 4603 mov r3, r0 80bdb8c: 2b00 cmp r3, #0 80bdb8e: d102 bne.n 80bdb96 { /* Power off */ return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 80bdb90: f04f 6380 mov.w r3, #67108864 ; 0x4000000 80bdb94: e0b7 b.n 80bdd06 } if(hsd->SdCard.CardType != CARD_SECURED) 80bdb96: 687b ldr r3, [r7, #4] 80bdb98: 6c5b ldr r3, [r3, #68] ; 0x44 80bdb9a: 2b03 cmp r3, #3 80bdb9c: d02f beq.n 80bdbfe { /* Send CMD2 ALL_SEND_CID */ errorstate = SDMMC_CmdSendCID(hsd->Instance); 80bdb9e: 687b ldr r3, [r7, #4] 80bdba0: 681b ldr r3, [r3, #0] 80bdba2: 4618 mov r0, r3 80bdba4: f004 f883 bl 80c1cae 80bdba8: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80bdbaa: 6bfb ldr r3, [r7, #60] ; 0x3c 80bdbac: 2b00 cmp r3, #0 80bdbae: d001 beq.n 80bdbb4 { return errorstate; 80bdbb0: 6bfb ldr r3, [r7, #60] ; 0x3c 80bdbb2: e0a8 b.n 80bdd06 } else { /* Get Card identification number data */ hsd->CID[0U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80bdbb4: 687b ldr r3, [r7, #4] 80bdbb6: 681b ldr r3, [r3, #0] 80bdbb8: 2100 movs r1, #0 80bdbba: 4618 mov r0, r3 80bdbbc: f003 fe83 bl 80c18c6 80bdbc0: 4602 mov r2, r0 80bdbc2: 687b ldr r3, [r7, #4] 80bdbc4: 675a str r2, [r3, #116] ; 0x74 hsd->CID[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 80bdbc6: 687b ldr r3, [r7, #4] 80bdbc8: 681b ldr r3, [r3, #0] 80bdbca: 2104 movs r1, #4 80bdbcc: 4618 mov r0, r3 80bdbce: f003 fe7a bl 80c18c6 80bdbd2: 4602 mov r2, r0 80bdbd4: 687b ldr r3, [r7, #4] 80bdbd6: 679a str r2, [r3, #120] ; 0x78 hsd->CID[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); 80bdbd8: 687b ldr r3, [r7, #4] 80bdbda: 681b ldr r3, [r3, #0] 80bdbdc: 2108 movs r1, #8 80bdbde: 4618 mov r0, r3 80bdbe0: f003 fe71 bl 80c18c6 80bdbe4: 4602 mov r2, r0 80bdbe6: 687b ldr r3, [r7, #4] 80bdbe8: 67da str r2, [r3, #124] ; 0x7c hsd->CID[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); 80bdbea: 687b ldr r3, [r7, #4] 80bdbec: 681b ldr r3, [r3, #0] 80bdbee: 210c movs r1, #12 80bdbf0: 4618 mov r0, r3 80bdbf2: f003 fe68 bl 80c18c6 80bdbf6: 4602 mov r2, r0 80bdbf8: 687b ldr r3, [r7, #4] 80bdbfa: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } } if(hsd->SdCard.CardType != CARD_SECURED) 80bdbfe: 687b ldr r3, [r7, #4] 80bdc00: 6c5b ldr r3, [r3, #68] ; 0x44 80bdc02: 2b03 cmp r3, #3 80bdc04: d00d beq.n 80bdc22 { /* Send CMD3 SET_REL_ADDR with argument 0 */ /* SD Card publishes its RCA. */ errorstate = SDMMC_CmdSetRelAdd(hsd->Instance, &sd_rca); 80bdc06: 687b ldr r3, [r7, #4] 80bdc08: 681b ldr r3, [r3, #0] 80bdc0a: f107 020e add.w r2, r7, #14 80bdc0e: 4611 mov r1, r2 80bdc10: 4618 mov r0, r3 80bdc12: f004 f889 bl 80c1d28 80bdc16: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80bdc18: 6bfb ldr r3, [r7, #60] ; 0x3c 80bdc1a: 2b00 cmp r3, #0 80bdc1c: d001 beq.n 80bdc22 { return errorstate; 80bdc1e: 6bfb ldr r3, [r7, #60] ; 0x3c 80bdc20: e071 b.n 80bdd06 } } if(hsd->SdCard.CardType != CARD_SECURED) 80bdc22: 687b ldr r3, [r7, #4] 80bdc24: 6c5b ldr r3, [r3, #68] ; 0x44 80bdc26: 2b03 cmp r3, #3 80bdc28: d036 beq.n 80bdc98 { /* Get the SD card RCA */ hsd->SdCard.RelCardAdd = sd_rca; 80bdc2a: 89fb ldrh r3, [r7, #14] 80bdc2c: 461a mov r2, r3 80bdc2e: 687b ldr r3, [r7, #4] 80bdc30: 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)); 80bdc32: 687b ldr r3, [r7, #4] 80bdc34: 681a ldr r2, [r3, #0] 80bdc36: 687b ldr r3, [r7, #4] 80bdc38: 6d1b ldr r3, [r3, #80] ; 0x50 80bdc3a: 041b lsls r3, r3, #16 80bdc3c: 4619 mov r1, r3 80bdc3e: 4610 mov r0, r2 80bdc40: f004 f853 bl 80c1cea 80bdc44: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80bdc46: 6bfb ldr r3, [r7, #60] ; 0x3c 80bdc48: 2b00 cmp r3, #0 80bdc4a: d001 beq.n 80bdc50 { return errorstate; 80bdc4c: 6bfb ldr r3, [r7, #60] ; 0x3c 80bdc4e: e05a b.n 80bdd06 } else { /* Get Card Specific Data */ hsd->CSD[0U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80bdc50: 687b ldr r3, [r7, #4] 80bdc52: 681b ldr r3, [r3, #0] 80bdc54: 2100 movs r1, #0 80bdc56: 4618 mov r0, r3 80bdc58: f003 fe35 bl 80c18c6 80bdc5c: 4602 mov r2, r0 80bdc5e: 687b ldr r3, [r7, #4] 80bdc60: 665a str r2, [r3, #100] ; 0x64 hsd->CSD[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 80bdc62: 687b ldr r3, [r7, #4] 80bdc64: 681b ldr r3, [r3, #0] 80bdc66: 2104 movs r1, #4 80bdc68: 4618 mov r0, r3 80bdc6a: f003 fe2c bl 80c18c6 80bdc6e: 4602 mov r2, r0 80bdc70: 687b ldr r3, [r7, #4] 80bdc72: 669a str r2, [r3, #104] ; 0x68 hsd->CSD[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); 80bdc74: 687b ldr r3, [r7, #4] 80bdc76: 681b ldr r3, [r3, #0] 80bdc78: 2108 movs r1, #8 80bdc7a: 4618 mov r0, r3 80bdc7c: f003 fe23 bl 80c18c6 80bdc80: 4602 mov r2, r0 80bdc82: 687b ldr r3, [r7, #4] 80bdc84: 66da str r2, [r3, #108] ; 0x6c hsd->CSD[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); 80bdc86: 687b ldr r3, [r7, #4] 80bdc88: 681b ldr r3, [r3, #0] 80bdc8a: 210c movs r1, #12 80bdc8c: 4618 mov r0, r3 80bdc8e: f003 fe1a bl 80c18c6 80bdc92: 4602 mov r2, r0 80bdc94: 687b ldr r3, [r7, #4] 80bdc96: 671a str r2, [r3, #112] ; 0x70 } } /* Get the Card Class */ hsd->SdCard.Class = (SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2) >> 20U); 80bdc98: 687b ldr r3, [r7, #4] 80bdc9a: 681b ldr r3, [r3, #0] 80bdc9c: 2104 movs r1, #4 80bdc9e: 4618 mov r0, r3 80bdca0: f003 fe11 bl 80c18c6 80bdca4: 4603 mov r3, r0 80bdca6: 0d1a lsrs r2, r3, #20 80bdca8: 687b ldr r3, [r7, #4] 80bdcaa: 64da str r2, [r3, #76] ; 0x4c /* Get CSD parameters */ if (HAL_SD_GetCardCSD(hsd, &CSD) != HAL_OK) 80bdcac: f107 0310 add.w r3, r7, #16 80bdcb0: 4619 mov r1, r3 80bdcb2: 6878 ldr r0, [r7, #4] 80bdcb4: f7ff fbc6 bl 80bd444 80bdcb8: 4603 mov r3, r0 80bdcba: 2b00 cmp r3, #0 80bdcbc: d002 beq.n 80bdcc4 { return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80bdcbe: f04f 5380 mov.w r3, #268435456 ; 0x10000000 80bdcc2: e020 b.n 80bdd06 } /* Select the Card */ errorstate = SDMMC_CmdSelDesel(hsd->Instance, (uint32_t)(((uint32_t)hsd->SdCard.RelCardAdd) << 16U)); 80bdcc4: 687b ldr r3, [r7, #4] 80bdcc6: 6819 ldr r1, [r3, #0] 80bdcc8: 687b ldr r3, [r7, #4] 80bdcca: 6d1b ldr r3, [r3, #80] ; 0x50 80bdccc: 041b lsls r3, r3, #16 80bdcce: f04f 0400 mov.w r4, #0 80bdcd2: 461a mov r2, r3 80bdcd4: 4623 mov r3, r4 80bdcd6: 4608 mov r0, r1 80bdcd8: f003 ff00 bl 80c1adc 80bdcdc: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80bdcde: 6bfb ldr r3, [r7, #60] ; 0x3c 80bdce0: 2b00 cmp r3, #0 80bdce2: d001 beq.n 80bdce8 { return errorstate; 80bdce4: 6bfb ldr r3, [r7, #60] ; 0x3c 80bdce6: e00e b.n 80bdd06 } /* Configure SDMMC peripheral interface */ (void)SDMMC_Init(hsd->Instance, hsd->Init); 80bdce8: 687b ldr r3, [r7, #4] 80bdcea: 681d ldr r5, [r3, #0] 80bdcec: 687b ldr r3, [r7, #4] 80bdcee: 466c mov r4, sp 80bdcf0: f103 0210 add.w r2, r3, #16 80bdcf4: ca07 ldmia r2, {r0, r1, r2} 80bdcf6: e884 0007 stmia.w r4, {r0, r1, r2} 80bdcfa: 3304 adds r3, #4 80bdcfc: cb0e ldmia r3, {r1, r2, r3} 80bdcfe: 4628 mov r0, r5 80bdd00: f003 fd36 bl 80c1770 /* All cards are initialized */ return HAL_SD_ERROR_NONE; 80bdd04: 2300 movs r3, #0 } 80bdd06: 4618 mov r0, r3 80bdd08: 3740 adds r7, #64 ; 0x40 80bdd0a: 46bd mov sp, r7 80bdd0c: bdb0 pop {r4, r5, r7, pc} ... 080bdd10 : * in the SD handle. * @param hsd: Pointer to SD handle * @retval error state */ static uint32_t SD_PowerON(SD_HandleTypeDef *hsd) { 80bdd10: b580 push {r7, lr} 80bdd12: b086 sub sp, #24 80bdd14: af00 add r7, sp, #0 80bdd16: 6078 str r0, [r7, #4] __IO uint32_t count = 0U; 80bdd18: 2300 movs r3, #0 80bdd1a: 60bb str r3, [r7, #8] uint32_t response = 0U, validvoltage = 0U; 80bdd1c: 2300 movs r3, #0 80bdd1e: 617b str r3, [r7, #20] 80bdd20: 2300 movs r3, #0 80bdd22: 613b str r3, [r7, #16] uint32_t errorstate; /* CMD0: GO_IDLE_STATE */ errorstate = SDMMC_CmdGoIdleState(hsd->Instance); 80bdd24: 687b ldr r3, [r7, #4] 80bdd26: 681b ldr r3, [r3, #0] 80bdd28: 4618 mov r0, r3 80bdd2a: f003 fefa bl 80c1b22 80bdd2e: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80bdd30: 68fb ldr r3, [r7, #12] 80bdd32: 2b00 cmp r3, #0 80bdd34: d001 beq.n 80bdd3a { return errorstate; 80bdd36: 68fb ldr r3, [r7, #12] 80bdd38: e072 b.n 80bde20 } /* CMD8: SEND_IF_COND: Command available only on V2.0 cards */ errorstate = SDMMC_CmdOperCond(hsd->Instance); 80bdd3a: 687b ldr r3, [r7, #4] 80bdd3c: 681b ldr r3, [r3, #0] 80bdd3e: 4618 mov r0, r3 80bdd40: f003 ff0d bl 80c1b5e 80bdd44: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80bdd46: 68fb ldr r3, [r7, #12] 80bdd48: 2b00 cmp r3, #0 80bdd4a: d00d beq.n 80bdd68 { hsd->SdCard.CardVersion = CARD_V1_X; 80bdd4c: 687b ldr r3, [r7, #4] 80bdd4e: 2200 movs r2, #0 80bdd50: 649a str r2, [r3, #72] ; 0x48 /* CMD0: GO_IDLE_STATE */ errorstate = SDMMC_CmdGoIdleState(hsd->Instance); 80bdd52: 687b ldr r3, [r7, #4] 80bdd54: 681b ldr r3, [r3, #0] 80bdd56: 4618 mov r0, r3 80bdd58: f003 fee3 bl 80c1b22 80bdd5c: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80bdd5e: 68fb ldr r3, [r7, #12] 80bdd60: 2b00 cmp r3, #0 80bdd62: d004 beq.n 80bdd6e { return errorstate; 80bdd64: 68fb ldr r3, [r7, #12] 80bdd66: e05b b.n 80bde20 } } else { hsd->SdCard.CardVersion = CARD_V2_X; 80bdd68: 687b ldr r3, [r7, #4] 80bdd6a: 2201 movs r2, #1 80bdd6c: 649a str r2, [r3, #72] ; 0x48 } if( hsd->SdCard.CardVersion == CARD_V2_X) 80bdd6e: 687b ldr r3, [r7, #4] 80bdd70: 6c9b ldr r3, [r3, #72] ; 0x48 80bdd72: 2b01 cmp r3, #1 80bdd74: d137 bne.n 80bdde6 { /* SEND CMD55 APP_CMD with RCA as 0 */ errorstate = SDMMC_CmdAppCommand(hsd->Instance, 0); 80bdd76: 687b ldr r3, [r7, #4] 80bdd78: 681b ldr r3, [r3, #0] 80bdd7a: 2100 movs r1, #0 80bdd7c: 4618 mov r0, r3 80bdd7e: f003 ff0d bl 80c1b9c 80bdd82: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80bdd84: 68fb ldr r3, [r7, #12] 80bdd86: 2b00 cmp r3, #0 80bdd88: d02d beq.n 80bdde6 { return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80bdd8a: f04f 5380 mov.w r3, #268435456 ; 0x10000000 80bdd8e: e047 b.n 80bde20 /* 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); 80bdd90: 687b ldr r3, [r7, #4] 80bdd92: 681b ldr r3, [r3, #0] 80bdd94: 2100 movs r1, #0 80bdd96: 4618 mov r0, r3 80bdd98: f003 ff00 bl 80c1b9c 80bdd9c: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80bdd9e: 68fb ldr r3, [r7, #12] 80bdda0: 2b00 cmp r3, #0 80bdda2: d001 beq.n 80bdda8 { return errorstate; 80bdda4: 68fb ldr r3, [r7, #12] 80bdda6: e03b b.n 80bde20 } /* Send CMD41 */ errorstate = SDMMC_CmdAppOperCommand(hsd->Instance, SDMMC_VOLTAGE_WINDOW_SD | SDMMC_HIGH_CAPACITY | SD_SWITCH_1_8V_CAPACITY); 80bdda8: 687b ldr r3, [r7, #4] 80bddaa: 681b ldr r3, [r3, #0] 80bddac: 491e ldr r1, [pc, #120] ; (80bde28 ) 80bddae: 4618 mov r0, r3 80bddb0: f003 ff16 bl 80c1be0 80bddb4: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80bddb6: 68fb ldr r3, [r7, #12] 80bddb8: 2b00 cmp r3, #0 80bddba: d002 beq.n 80bddc2 { return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80bddbc: f04f 5380 mov.w r3, #268435456 ; 0x10000000 80bddc0: e02e b.n 80bde20 } /* Get command response */ response = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80bddc2: 687b ldr r3, [r7, #4] 80bddc4: 681b ldr r3, [r3, #0] 80bddc6: 2100 movs r1, #0 80bddc8: 4618 mov r0, r3 80bddca: f003 fd7c bl 80c18c6 80bddce: 6178 str r0, [r7, #20] /* Get operating voltage*/ validvoltage = (((response >> 31U) == 1U) ? 1U : 0U); 80bddd0: 697b ldr r3, [r7, #20] 80bddd2: 0fdb lsrs r3, r3, #31 80bddd4: 2b01 cmp r3, #1 80bddd6: d101 bne.n 80bdddc 80bddd8: 2301 movs r3, #1 80bddda: e000 b.n 80bddde 80bdddc: 2300 movs r3, #0 80bddde: 613b str r3, [r7, #16] count++; 80bdde0: 68bb ldr r3, [r7, #8] 80bdde2: 3301 adds r3, #1 80bdde4: 60bb str r3, [r7, #8] while((count < SDMMC_MAX_VOLT_TRIAL) && (validvoltage == 0U)) 80bdde6: 68bb ldr r3, [r7, #8] 80bdde8: f64f 72fe movw r2, #65534 ; 0xfffe 80bddec: 4293 cmp r3, r2 80bddee: d802 bhi.n 80bddf6 80bddf0: 693b ldr r3, [r7, #16] 80bddf2: 2b00 cmp r3, #0 80bddf4: d0cc beq.n 80bdd90 } if(count >= SDMMC_MAX_VOLT_TRIAL) 80bddf6: 68bb ldr r3, [r7, #8] 80bddf8: f64f 72fe movw r2, #65534 ; 0xfffe 80bddfc: 4293 cmp r3, r2 80bddfe: d902 bls.n 80bde06 { return HAL_SD_ERROR_INVALID_VOLTRANGE; 80bde00: f04f 7380 mov.w r3, #16777216 ; 0x1000000 80bde04: e00c b.n 80bde20 } if((response & SDMMC_HIGH_CAPACITY) == SDMMC_HIGH_CAPACITY) /* (response &= SD_HIGH_CAPACITY) */ 80bde06: 697b ldr r3, [r7, #20] 80bde08: f003 4380 and.w r3, r3, #1073741824 ; 0x40000000 80bde0c: 2b00 cmp r3, #0 80bde0e: d003 beq.n 80bde18 { hsd->SdCard.CardType = CARD_SDHC_SDXC; 80bde10: 687b ldr r3, [r7, #4] 80bde12: 2201 movs r2, #1 80bde14: 645a str r2, [r3, #68] ; 0x44 80bde16: e002 b.n 80bde1e } else { hsd->SdCard.CardType = CARD_SDSC; 80bde18: 687b ldr r3, [r7, #4] 80bde1a: 2200 movs r2, #0 80bde1c: 645a str r2, [r3, #68] ; 0x44 } return HAL_SD_ERROR_NONE; 80bde1e: 2300 movs r3, #0 } 80bde20: 4618 mov r0, r3 80bde22: 3718 adds r7, #24 80bde24: 46bd mov sp, r7 80bde26: bd80 pop {r7, pc} 80bde28: c1100000 .word 0xc1100000 080bde2c : * @brief Turns the SDMMC output signals off. * @param hsd: Pointer to SD handle * @retval None */ static void SD_PowerOFF(SD_HandleTypeDef *hsd) { 80bde2c: b580 push {r7, lr} 80bde2e: b082 sub sp, #8 80bde30: af00 add r7, sp, #0 80bde32: 6078 str r0, [r7, #4] /* Set Power State to OFF */ (void)SDMMC_PowerState_OFF(hsd->Instance); 80bde34: 687b ldr r3, [r7, #4] 80bde36: 681b ldr r3, [r3, #0] 80bde38: 4618 mov r0, r3 80bde3a: f003 fcf1 bl 80c1820 } 80bde3e: bf00 nop 80bde40: 3708 adds r7, #8 80bde42: 46bd mov sp, r7 80bde44: bd80 pop {r7, pc} 080bde46 : * @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) { 80bde46: b580 push {r7, lr} 80bde48: b084 sub sp, #16 80bde4a: af00 add r7, sp, #0 80bde4c: 6078 str r0, [r7, #4] 80bde4e: 6039 str r1, [r7, #0] uint32_t errorstate; if(pCardStatus == NULL) 80bde50: 683b ldr r3, [r7, #0] 80bde52: 2b00 cmp r3, #0 80bde54: d102 bne.n 80bde5c { return HAL_SD_ERROR_PARAM; 80bde56: f04f 6300 mov.w r3, #134217728 ; 0x8000000 80bde5a: e018 b.n 80bde8e } /* Send Status command */ errorstate = SDMMC_CmdSendStatus(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 80bde5c: 687b ldr r3, [r7, #4] 80bde5e: 681a ldr r2, [r3, #0] 80bde60: 687b ldr r3, [r7, #4] 80bde62: 6d1b ldr r3, [r3, #80] ; 0x50 80bde64: 041b lsls r3, r3, #16 80bde66: 4619 mov r1, r3 80bde68: 4610 mov r0, r2 80bde6a: f003 ff7e bl 80c1d6a 80bde6e: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80bde70: 68fb ldr r3, [r7, #12] 80bde72: 2b00 cmp r3, #0 80bde74: d001 beq.n 80bde7a { return errorstate; 80bde76: 68fb ldr r3, [r7, #12] 80bde78: e009 b.n 80bde8e } /* Get SD card status */ *pCardStatus = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80bde7a: 687b ldr r3, [r7, #4] 80bde7c: 681b ldr r3, [r3, #0] 80bde7e: 2100 movs r1, #0 80bde80: 4618 mov r0, r3 80bde82: f003 fd20 bl 80c18c6 80bde86: 4602 mov r2, r0 80bde88: 683b ldr r3, [r7, #0] 80bde8a: 601a str r2, [r3, #0] return HAL_SD_ERROR_NONE; 80bde8c: 2300 movs r3, #0 } 80bde8e: 4618 mov r0, r3 80bde90: 3710 adds r7, #16 80bde92: 46bd mov sp, r7 80bde94: bd80 pop {r7, pc} 080bde96 : * @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) { 80bde96: b580 push {r7, lr} 80bde98: b086 sub sp, #24 80bde9a: af00 add r7, sp, #0 80bde9c: 6078 str r0, [r7, #4] uint32_t scr[2U] = {0U, 0U}; 80bde9e: 2300 movs r3, #0 80bdea0: 60fb str r3, [r7, #12] 80bdea2: 2300 movs r3, #0 80bdea4: 613b str r3, [r7, #16] uint32_t errorstate; if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) 80bdea6: 687b ldr r3, [r7, #4] 80bdea8: 681b ldr r3, [r3, #0] 80bdeaa: 2100 movs r1, #0 80bdeac: 4618 mov r0, r3 80bdeae: f003 fd0a bl 80c18c6 80bdeb2: 4603 mov r3, r0 80bdeb4: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bdeb8: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80bdebc: d102 bne.n 80bdec4 { return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; 80bdebe: f44f 6300 mov.w r3, #2048 ; 0x800 80bdec2: e02f b.n 80bdf24 } /* Get SCR Register */ errorstate = SD_FindSCR(hsd, scr); 80bdec4: f107 030c add.w r3, r7, #12 80bdec8: 4619 mov r1, r3 80bdeca: 6878 ldr r0, [r7, #4] 80bdecc: f000 f879 bl 80bdfc2 80bded0: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80bded2: 697b ldr r3, [r7, #20] 80bded4: 2b00 cmp r3, #0 80bded6: d001 beq.n 80bdedc { return errorstate; 80bded8: 697b ldr r3, [r7, #20] 80bdeda: e023 b.n 80bdf24 } /* If requested card supports wide bus operation */ if((scr[1U] & SDMMC_WIDE_BUS_SUPPORT) != SDMMC_ALLZERO) 80bdedc: 693b ldr r3, [r7, #16] 80bdede: f403 2380 and.w r3, r3, #262144 ; 0x40000 80bdee2: 2b00 cmp r3, #0 80bdee4: d01c beq.n 80bdf20 { /* Send CMD55 APP_CMD with argument as card's RCA.*/ errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 80bdee6: 687b ldr r3, [r7, #4] 80bdee8: 681a ldr r2, [r3, #0] 80bdeea: 687b ldr r3, [r7, #4] 80bdeec: 6d1b ldr r3, [r3, #80] ; 0x50 80bdeee: 041b lsls r3, r3, #16 80bdef0: 4619 mov r1, r3 80bdef2: 4610 mov r0, r2 80bdef4: f003 fe52 bl 80c1b9c 80bdef8: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80bdefa: 697b ldr r3, [r7, #20] 80bdefc: 2b00 cmp r3, #0 80bdefe: d001 beq.n 80bdf04 { return errorstate; 80bdf00: 697b ldr r3, [r7, #20] 80bdf02: e00f b.n 80bdf24 } /* Send ACMD6 APP_CMD with argument as 2 for wide bus mode */ errorstate = SDMMC_CmdBusWidth(hsd->Instance, 2U); 80bdf04: 687b ldr r3, [r7, #4] 80bdf06: 681b ldr r3, [r3, #0] 80bdf08: 2102 movs r1, #2 80bdf0a: 4618 mov r0, r3 80bdf0c: f003 fe8c bl 80c1c28 80bdf10: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80bdf12: 697b ldr r3, [r7, #20] 80bdf14: 2b00 cmp r3, #0 80bdf16: d001 beq.n 80bdf1c { return errorstate; 80bdf18: 697b ldr r3, [r7, #20] 80bdf1a: e003 b.n 80bdf24 } return HAL_SD_ERROR_NONE; 80bdf1c: 2300 movs r3, #0 80bdf1e: e001 b.n 80bdf24 } else { return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 80bdf20: f04f 6380 mov.w r3, #67108864 ; 0x4000000 } } 80bdf24: 4618 mov r0, r3 80bdf26: 3718 adds r7, #24 80bdf28: 46bd mov sp, r7 80bdf2a: bd80 pop {r7, pc} 080bdf2c : * @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) { 80bdf2c: b580 push {r7, lr} 80bdf2e: b086 sub sp, #24 80bdf30: af00 add r7, sp, #0 80bdf32: 6078 str r0, [r7, #4] uint32_t scr[2U] = {0U, 0U}; 80bdf34: 2300 movs r3, #0 80bdf36: 60fb str r3, [r7, #12] 80bdf38: 2300 movs r3, #0 80bdf3a: 613b str r3, [r7, #16] uint32_t errorstate; if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) 80bdf3c: 687b ldr r3, [r7, #4] 80bdf3e: 681b ldr r3, [r3, #0] 80bdf40: 2100 movs r1, #0 80bdf42: 4618 mov r0, r3 80bdf44: f003 fcbf bl 80c18c6 80bdf48: 4603 mov r3, r0 80bdf4a: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bdf4e: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80bdf52: d102 bne.n 80bdf5a { return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; 80bdf54: f44f 6300 mov.w r3, #2048 ; 0x800 80bdf58: e02f b.n 80bdfba } /* Get SCR Register */ errorstate = SD_FindSCR(hsd, scr); 80bdf5a: f107 030c add.w r3, r7, #12 80bdf5e: 4619 mov r1, r3 80bdf60: 6878 ldr r0, [r7, #4] 80bdf62: f000 f82e bl 80bdfc2 80bdf66: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80bdf68: 697b ldr r3, [r7, #20] 80bdf6a: 2b00 cmp r3, #0 80bdf6c: d001 beq.n 80bdf72 { return errorstate; 80bdf6e: 697b ldr r3, [r7, #20] 80bdf70: e023 b.n 80bdfba } /* If requested card supports 1 bit mode operation */ if((scr[1U] & SDMMC_SINGLE_BUS_SUPPORT) != SDMMC_ALLZERO) 80bdf72: 693b ldr r3, [r7, #16] 80bdf74: f403 3380 and.w r3, r3, #65536 ; 0x10000 80bdf78: 2b00 cmp r3, #0 80bdf7a: d01c beq.n 80bdfb6 { /* Send CMD55 APP_CMD with argument as card's RCA */ errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 80bdf7c: 687b ldr r3, [r7, #4] 80bdf7e: 681a ldr r2, [r3, #0] 80bdf80: 687b ldr r3, [r7, #4] 80bdf82: 6d1b ldr r3, [r3, #80] ; 0x50 80bdf84: 041b lsls r3, r3, #16 80bdf86: 4619 mov r1, r3 80bdf88: 4610 mov r0, r2 80bdf8a: f003 fe07 bl 80c1b9c 80bdf8e: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80bdf90: 697b ldr r3, [r7, #20] 80bdf92: 2b00 cmp r3, #0 80bdf94: d001 beq.n 80bdf9a { return errorstate; 80bdf96: 697b ldr r3, [r7, #20] 80bdf98: e00f b.n 80bdfba } /* Send ACMD6 APP_CMD with argument as 0 for single bus mode */ errorstate = SDMMC_CmdBusWidth(hsd->Instance, 0U); 80bdf9a: 687b ldr r3, [r7, #4] 80bdf9c: 681b ldr r3, [r3, #0] 80bdf9e: 2100 movs r1, #0 80bdfa0: 4618 mov r0, r3 80bdfa2: f003 fe41 bl 80c1c28 80bdfa6: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80bdfa8: 697b ldr r3, [r7, #20] 80bdfaa: 2b00 cmp r3, #0 80bdfac: d001 beq.n 80bdfb2 { return errorstate; 80bdfae: 697b ldr r3, [r7, #20] 80bdfb0: e003 b.n 80bdfba } return HAL_SD_ERROR_NONE; 80bdfb2: 2300 movs r3, #0 80bdfb4: e001 b.n 80bdfba } else { return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 80bdfb6: f04f 6380 mov.w r3, #67108864 ; 0x4000000 } } 80bdfba: 4618 mov r0, r3 80bdfbc: 3718 adds r7, #24 80bdfbe: 46bd mov sp, r7 80bdfc0: bd80 pop {r7, pc} 080bdfc2 : * @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) { 80bdfc2: b590 push {r4, r7, lr} 80bdfc4: b08f sub sp, #60 ; 0x3c 80bdfc6: af00 add r7, sp, #0 80bdfc8: 6078 str r0, [r7, #4] 80bdfca: 6039 str r1, [r7, #0] SDMMC_DataInitTypeDef config; uint32_t errorstate; uint32_t tickstart = HAL_GetTick(); 80bdfcc: f7f8 ff2a bl 80b6e24 80bdfd0: 6338 str r0, [r7, #48] ; 0x30 uint32_t index = 0U; 80bdfd2: 2300 movs r3, #0 80bdfd4: 637b str r3, [r7, #52] ; 0x34 uint32_t tempscr[2U] = {0U, 0U}; 80bdfd6: 2300 movs r3, #0 80bdfd8: 60bb str r3, [r7, #8] 80bdfda: 2300 movs r3, #0 80bdfdc: 60fb str r3, [r7, #12] uint32_t *scr = pSCR; 80bdfde: 683b ldr r3, [r7, #0] 80bdfe0: 62fb str r3, [r7, #44] ; 0x2c /* Set Block Size To 8 Bytes */ errorstate = SDMMC_CmdBlockLength(hsd->Instance, 8U); 80bdfe2: 687b ldr r3, [r7, #4] 80bdfe4: 681b ldr r3, [r3, #0] 80bdfe6: 2108 movs r1, #8 80bdfe8: 4618 mov r0, r3 80bdfea: f003 fcab bl 80c1944 80bdfee: 62b8 str r0, [r7, #40] ; 0x28 if(errorstate != HAL_SD_ERROR_NONE) 80bdff0: 6abb ldr r3, [r7, #40] ; 0x28 80bdff2: 2b00 cmp r3, #0 80bdff4: d001 beq.n 80bdffa { return errorstate; 80bdff6: 6abb ldr r3, [r7, #40] ; 0x28 80bdff8: e0b2 b.n 80be160 } /* Send CMD55 APP_CMD with argument as card's RCA */ errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)((hsd->SdCard.RelCardAdd) << 16U)); 80bdffa: 687b ldr r3, [r7, #4] 80bdffc: 681a ldr r2, [r3, #0] 80bdffe: 687b ldr r3, [r7, #4] 80be000: 6d1b ldr r3, [r3, #80] ; 0x50 80be002: 041b lsls r3, r3, #16 80be004: 4619 mov r1, r3 80be006: 4610 mov r0, r2 80be008: f003 fdc8 bl 80c1b9c 80be00c: 62b8 str r0, [r7, #40] ; 0x28 if(errorstate != HAL_SD_ERROR_NONE) 80be00e: 6abb ldr r3, [r7, #40] ; 0x28 80be010: 2b00 cmp r3, #0 80be012: d001 beq.n 80be018 { return errorstate; 80be014: 6abb ldr r3, [r7, #40] ; 0x28 80be016: e0a3 b.n 80be160 } config.DataTimeOut = SDMMC_DATATIMEOUT; 80be018: f04f 33ff mov.w r3, #4294967295 80be01c: 613b str r3, [r7, #16] config.DataLength = 8U; 80be01e: 2308 movs r3, #8 80be020: 617b str r3, [r7, #20] config.DataBlockSize = SDMMC_DATABLOCK_SIZE_8B; 80be022: 2330 movs r3, #48 ; 0x30 80be024: 61bb str r3, [r7, #24] config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 80be026: 2302 movs r3, #2 80be028: 61fb str r3, [r7, #28] config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 80be02a: 2300 movs r3, #0 80be02c: 623b str r3, [r7, #32] config.DPSM = SDMMC_DPSM_ENABLE; 80be02e: 2301 movs r3, #1 80be030: 627b str r3, [r7, #36] ; 0x24 (void)SDMMC_ConfigData(hsd->Instance, &config); 80be032: 687b ldr r3, [r7, #4] 80be034: 681b ldr r3, [r3, #0] 80be036: f107 0210 add.w r2, r7, #16 80be03a: 4611 mov r1, r2 80be03c: 4618 mov r0, r3 80be03e: f003 fc55 bl 80c18ec /* Send ACMD51 SD_APP_SEND_SCR with argument as 0 */ errorstate = SDMMC_CmdSendSCR(hsd->Instance); 80be042: 687b ldr r3, [r7, #4] 80be044: 681b ldr r3, [r3, #0] 80be046: 4618 mov r0, r3 80be048: f003 fe10 bl 80c1c6c 80be04c: 62b8 str r0, [r7, #40] ; 0x28 if(errorstate != HAL_SD_ERROR_NONE) 80be04e: 6abb ldr r3, [r7, #40] ; 0x28 80be050: 2b00 cmp r3, #0 80be052: d02a beq.n 80be0aa { return errorstate; 80be054: 6abb ldr r3, [r7, #40] ; 0x28 80be056: e083 b.n 80be160 } while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT)) { if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXDAVL)) 80be058: 687b ldr r3, [r7, #4] 80be05a: 681b ldr r3, [r3, #0] 80be05c: 6b5b ldr r3, [r3, #52] ; 0x34 80be05e: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80be062: 2b00 cmp r3, #0 80be064: d00f beq.n 80be086 { *(tempscr + index) = SDMMC_ReadFIFO(hsd->Instance); 80be066: 6b7b ldr r3, [r7, #52] ; 0x34 80be068: 009b lsls r3, r3, #2 80be06a: f107 0208 add.w r2, r7, #8 80be06e: 18d4 adds r4, r2, r3 80be070: 687b ldr r3, [r7, #4] 80be072: 681b ldr r3, [r3, #0] 80be074: 4618 mov r0, r3 80be076: f003 fba7 bl 80c17c8 80be07a: 4603 mov r3, r0 80be07c: 6023 str r3, [r4, #0] index++; 80be07e: 6b7b ldr r3, [r7, #52] ; 0x34 80be080: 3301 adds r3, #1 80be082: 637b str r3, [r7, #52] ; 0x34 80be084: e006 b.n 80be094 } else if(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXACT)) 80be086: 687b ldr r3, [r7, #4] 80be088: 681b ldr r3, [r3, #0] 80be08a: 6b5b ldr r3, [r3, #52] ; 0x34 80be08c: f403 5300 and.w r3, r3, #8192 ; 0x2000 80be090: 2b00 cmp r3, #0 80be092: d012 beq.n 80be0ba { break; } if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT) 80be094: f7f8 fec6 bl 80b6e24 80be098: 4602 mov r2, r0 80be09a: 6b3b ldr r3, [r7, #48] ; 0x30 80be09c: 1ad3 subs r3, r2, r3 80be09e: f1b3 3fff cmp.w r3, #4294967295 80be0a2: d102 bne.n 80be0aa { return HAL_SD_ERROR_TIMEOUT; 80be0a4: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80be0a8: e05a b.n 80be160 while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT)) 80be0aa: 687b ldr r3, [r7, #4] 80be0ac: 681b ldr r3, [r3, #0] 80be0ae: 6b5b ldr r3, [r3, #52] ; 0x34 80be0b0: f003 032a and.w r3, r3, #42 ; 0x2a 80be0b4: 2b00 cmp r3, #0 80be0b6: d0cf beq.n 80be058 80be0b8: e000 b.n 80be0bc break; 80be0ba: bf00 nop } } if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT)) 80be0bc: 687b ldr r3, [r7, #4] 80be0be: 681b ldr r3, [r3, #0] 80be0c0: 6b5b ldr r3, [r3, #52] ; 0x34 80be0c2: f003 0308 and.w r3, r3, #8 80be0c6: 2b00 cmp r3, #0 80be0c8: d005 beq.n 80be0d6 { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DTIMEOUT); 80be0ca: 687b ldr r3, [r7, #4] 80be0cc: 681b ldr r3, [r3, #0] 80be0ce: 2208 movs r2, #8 80be0d0: 639a str r2, [r3, #56] ; 0x38 return HAL_SD_ERROR_DATA_TIMEOUT; 80be0d2: 2308 movs r3, #8 80be0d4: e044 b.n 80be160 } else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL)) 80be0d6: 687b ldr r3, [r7, #4] 80be0d8: 681b ldr r3, [r3, #0] 80be0da: 6b5b ldr r3, [r3, #52] ; 0x34 80be0dc: f003 0302 and.w r3, r3, #2 80be0e0: 2b00 cmp r3, #0 80be0e2: d005 beq.n 80be0f0 { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DCRCFAIL); 80be0e4: 687b ldr r3, [r7, #4] 80be0e6: 681b ldr r3, [r3, #0] 80be0e8: 2202 movs r2, #2 80be0ea: 639a str r2, [r3, #56] ; 0x38 return HAL_SD_ERROR_DATA_CRC_FAIL; 80be0ec: 2302 movs r3, #2 80be0ee: e037 b.n 80be160 } else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR)) 80be0f0: 687b ldr r3, [r7, #4] 80be0f2: 681b ldr r3, [r3, #0] 80be0f4: 6b5b ldr r3, [r3, #52] ; 0x34 80be0f6: f003 0320 and.w r3, r3, #32 80be0fa: 2b00 cmp r3, #0 80be0fc: d005 beq.n 80be10a { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_RXOVERR); 80be0fe: 687b ldr r3, [r7, #4] 80be100: 681b ldr r3, [r3, #0] 80be102: 2220 movs r2, #32 80be104: 639a str r2, [r3, #56] ; 0x38 return HAL_SD_ERROR_RX_OVERRUN; 80be106: 2320 movs r3, #32 80be108: e02a b.n 80be160 } else { /* No error flag set */ /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80be10a: 687b ldr r3, [r7, #4] 80be10c: 681b ldr r3, [r3, #0] 80be10e: f240 523a movw r2, #1338 ; 0x53a 80be112: 639a str r2, [r3, #56] ; 0x38 *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ 80be114: 68fb ldr r3, [r7, #12] 80be116: 061a lsls r2, r3, #24 80be118: 68fb ldr r3, [r7, #12] 80be11a: 021b lsls r3, r3, #8 80be11c: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80be120: 431a orrs r2, r3 ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24)); 80be122: 68fb ldr r3, [r7, #12] 80be124: 0a1b lsrs r3, r3, #8 80be126: f403 437f and.w r3, r3, #65280 ; 0xff00 *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ 80be12a: 431a orrs r2, r3 ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24)); 80be12c: 68fb ldr r3, [r7, #12] 80be12e: 0e1b lsrs r3, r3, #24 80be130: 431a orrs r2, r3 *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ 80be132: 6afb ldr r3, [r7, #44] ; 0x2c 80be134: 601a str r2, [r3, #0] scr++; 80be136: 6afb ldr r3, [r7, #44] ; 0x2c 80be138: 3304 adds r3, #4 80be13a: 62fb str r3, [r7, #44] ; 0x2c *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ 80be13c: 68bb ldr r3, [r7, #8] 80be13e: 061a lsls r2, r3, #24 80be140: 68bb ldr r3, [r7, #8] 80be142: 021b lsls r3, r3, #8 80be144: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80be148: 431a orrs r2, r3 ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24)); 80be14a: 68bb ldr r3, [r7, #8] 80be14c: 0a1b lsrs r3, r3, #8 80be14e: f403 437f and.w r3, r3, #65280 ; 0xff00 *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ 80be152: 431a orrs r2, r3 ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24)); 80be154: 68bb ldr r3, [r7, #8] 80be156: 0e1b lsrs r3, r3, #24 80be158: 431a orrs r2, r3 *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ 80be15a: 6afb ldr r3, [r7, #44] ; 0x2c 80be15c: 601a str r2, [r3, #0] } return HAL_SD_ERROR_NONE; 80be15e: 2300 movs r3, #0 } 80be160: 4618 mov r0, r3 80be162: 373c adds r7, #60 ; 0x3c 80be164: 46bd mov sp, r7 80be166: bd90 pop {r4, r7, pc} 080be168 : * @param hsd: pointer to a SD_HandleTypeDef structure that contains * the configuration information. * @retval None */ static void SD_Read_IT(SD_HandleTypeDef *hsd) { 80be168: b580 push {r7, lr} 80be16a: b086 sub sp, #24 80be16c: af00 add r7, sp, #0 80be16e: 6078 str r0, [r7, #4] uint32_t count, data, dataremaining; uint8_t* tmp; tmp = hsd->pRxBuffPtr; 80be170: 687b ldr r3, [r7, #4] 80be172: 6a9b ldr r3, [r3, #40] ; 0x28 80be174: 60fb str r3, [r7, #12] dataremaining = hsd->RxXferSize; 80be176: 687b ldr r3, [r7, #4] 80be178: 6adb ldr r3, [r3, #44] ; 0x2c 80be17a: 613b str r3, [r7, #16] if (dataremaining > 0U) 80be17c: 693b ldr r3, [r7, #16] 80be17e: 2b00 cmp r3, #0 80be180: d03f beq.n 80be202 { /* Read data from SDMMC Rx FIFO */ for(count = 0U; count < 8U; count++) 80be182: 2300 movs r3, #0 80be184: 617b str r3, [r7, #20] 80be186: e033 b.n 80be1f0 { data = SDMMC_ReadFIFO(hsd->Instance); 80be188: 687b ldr r3, [r7, #4] 80be18a: 681b ldr r3, [r3, #0] 80be18c: 4618 mov r0, r3 80be18e: f003 fb1b bl 80c17c8 80be192: 60b8 str r0, [r7, #8] *tmp = (uint8_t)(data & 0xFFU); 80be194: 68bb ldr r3, [r7, #8] 80be196: b2da uxtb r2, r3 80be198: 68fb ldr r3, [r7, #12] 80be19a: 701a strb r2, [r3, #0] tmp++; 80be19c: 68fb ldr r3, [r7, #12] 80be19e: 3301 adds r3, #1 80be1a0: 60fb str r3, [r7, #12] dataremaining--; 80be1a2: 693b ldr r3, [r7, #16] 80be1a4: 3b01 subs r3, #1 80be1a6: 613b str r3, [r7, #16] *tmp = (uint8_t)((data >> 8U) & 0xFFU); 80be1a8: 68bb ldr r3, [r7, #8] 80be1aa: 0a1b lsrs r3, r3, #8 80be1ac: b2da uxtb r2, r3 80be1ae: 68fb ldr r3, [r7, #12] 80be1b0: 701a strb r2, [r3, #0] tmp++; 80be1b2: 68fb ldr r3, [r7, #12] 80be1b4: 3301 adds r3, #1 80be1b6: 60fb str r3, [r7, #12] dataremaining--; 80be1b8: 693b ldr r3, [r7, #16] 80be1ba: 3b01 subs r3, #1 80be1bc: 613b str r3, [r7, #16] *tmp = (uint8_t)((data >> 16U) & 0xFFU); 80be1be: 68bb ldr r3, [r7, #8] 80be1c0: 0c1b lsrs r3, r3, #16 80be1c2: b2da uxtb r2, r3 80be1c4: 68fb ldr r3, [r7, #12] 80be1c6: 701a strb r2, [r3, #0] tmp++; 80be1c8: 68fb ldr r3, [r7, #12] 80be1ca: 3301 adds r3, #1 80be1cc: 60fb str r3, [r7, #12] dataremaining--; 80be1ce: 693b ldr r3, [r7, #16] 80be1d0: 3b01 subs r3, #1 80be1d2: 613b str r3, [r7, #16] *tmp = (uint8_t)((data >> 24U) & 0xFFU); 80be1d4: 68bb ldr r3, [r7, #8] 80be1d6: 0e1b lsrs r3, r3, #24 80be1d8: b2da uxtb r2, r3 80be1da: 68fb ldr r3, [r7, #12] 80be1dc: 701a strb r2, [r3, #0] tmp++; 80be1de: 68fb ldr r3, [r7, #12] 80be1e0: 3301 adds r3, #1 80be1e2: 60fb str r3, [r7, #12] dataremaining--; 80be1e4: 693b ldr r3, [r7, #16] 80be1e6: 3b01 subs r3, #1 80be1e8: 613b str r3, [r7, #16] for(count = 0U; count < 8U; count++) 80be1ea: 697b ldr r3, [r7, #20] 80be1ec: 3301 adds r3, #1 80be1ee: 617b str r3, [r7, #20] 80be1f0: 697b ldr r3, [r7, #20] 80be1f2: 2b07 cmp r3, #7 80be1f4: d9c8 bls.n 80be188 } hsd->pRxBuffPtr = tmp; 80be1f6: 687b ldr r3, [r7, #4] 80be1f8: 68fa ldr r2, [r7, #12] 80be1fa: 629a str r2, [r3, #40] ; 0x28 hsd->RxXferSize = dataremaining; 80be1fc: 687b ldr r3, [r7, #4] 80be1fe: 693a ldr r2, [r7, #16] 80be200: 62da str r2, [r3, #44] ; 0x2c } } 80be202: bf00 nop 80be204: 3718 adds r7, #24 80be206: 46bd mov sp, r7 80be208: bd80 pop {r7, pc} 080be20a : * @param hsd: pointer to a SD_HandleTypeDef structure that contains * the configuration information. * @retval None */ static void SD_Write_IT(SD_HandleTypeDef *hsd) { 80be20a: b580 push {r7, lr} 80be20c: b086 sub sp, #24 80be20e: af00 add r7, sp, #0 80be210: 6078 str r0, [r7, #4] uint32_t count, data, dataremaining; uint8_t* tmp; tmp = hsd->pTxBuffPtr; 80be212: 687b ldr r3, [r7, #4] 80be214: 6a1b ldr r3, [r3, #32] 80be216: 60fb str r3, [r7, #12] dataremaining = hsd->TxXferSize; 80be218: 687b ldr r3, [r7, #4] 80be21a: 6a5b ldr r3, [r3, #36] ; 0x24 80be21c: 613b str r3, [r7, #16] if (dataremaining > 0U) 80be21e: 693b ldr r3, [r7, #16] 80be220: 2b00 cmp r3, #0 80be222: d043 beq.n 80be2ac { /* Write data to SDMMC Tx FIFO */ for(count = 0U; count < 8U; count++) 80be224: 2300 movs r3, #0 80be226: 617b str r3, [r7, #20] 80be228: e037 b.n 80be29a { data = (uint32_t)(*tmp); 80be22a: 68fb ldr r3, [r7, #12] 80be22c: 781b ldrb r3, [r3, #0] 80be22e: 60bb str r3, [r7, #8] tmp++; 80be230: 68fb ldr r3, [r7, #12] 80be232: 3301 adds r3, #1 80be234: 60fb str r3, [r7, #12] dataremaining--; 80be236: 693b ldr r3, [r7, #16] 80be238: 3b01 subs r3, #1 80be23a: 613b str r3, [r7, #16] data |= ((uint32_t)(*tmp) << 8U); 80be23c: 68fb ldr r3, [r7, #12] 80be23e: 781b ldrb r3, [r3, #0] 80be240: 021a lsls r2, r3, #8 80be242: 68bb ldr r3, [r7, #8] 80be244: 4313 orrs r3, r2 80be246: 60bb str r3, [r7, #8] tmp++; 80be248: 68fb ldr r3, [r7, #12] 80be24a: 3301 adds r3, #1 80be24c: 60fb str r3, [r7, #12] dataremaining--; 80be24e: 693b ldr r3, [r7, #16] 80be250: 3b01 subs r3, #1 80be252: 613b str r3, [r7, #16] data |= ((uint32_t)(*tmp) << 16U); 80be254: 68fb ldr r3, [r7, #12] 80be256: 781b ldrb r3, [r3, #0] 80be258: 041a lsls r2, r3, #16 80be25a: 68bb ldr r3, [r7, #8] 80be25c: 4313 orrs r3, r2 80be25e: 60bb str r3, [r7, #8] tmp++; 80be260: 68fb ldr r3, [r7, #12] 80be262: 3301 adds r3, #1 80be264: 60fb str r3, [r7, #12] dataremaining--; 80be266: 693b ldr r3, [r7, #16] 80be268: 3b01 subs r3, #1 80be26a: 613b str r3, [r7, #16] data |= ((uint32_t)(*tmp) << 24U); 80be26c: 68fb ldr r3, [r7, #12] 80be26e: 781b ldrb r3, [r3, #0] 80be270: 061a lsls r2, r3, #24 80be272: 68bb ldr r3, [r7, #8] 80be274: 4313 orrs r3, r2 80be276: 60bb str r3, [r7, #8] tmp++; 80be278: 68fb ldr r3, [r7, #12] 80be27a: 3301 adds r3, #1 80be27c: 60fb str r3, [r7, #12] dataremaining--; 80be27e: 693b ldr r3, [r7, #16] 80be280: 3b01 subs r3, #1 80be282: 613b str r3, [r7, #16] (void)SDMMC_WriteFIFO(hsd->Instance, &data); 80be284: 687b ldr r3, [r7, #4] 80be286: 681b ldr r3, [r3, #0] 80be288: f107 0208 add.w r2, r7, #8 80be28c: 4611 mov r1, r2 80be28e: 4618 mov r0, r3 80be290: f003 faa7 bl 80c17e2 for(count = 0U; count < 8U; count++) 80be294: 697b ldr r3, [r7, #20] 80be296: 3301 adds r3, #1 80be298: 617b str r3, [r7, #20] 80be29a: 697b ldr r3, [r7, #20] 80be29c: 2b07 cmp r3, #7 80be29e: d9c4 bls.n 80be22a } hsd->pTxBuffPtr = tmp; 80be2a0: 687b ldr r3, [r7, #4] 80be2a2: 68fa ldr r2, [r7, #12] 80be2a4: 621a str r2, [r3, #32] hsd->TxXferSize = dataremaining; 80be2a6: 687b ldr r3, [r7, #4] 80be2a8: 693a ldr r2, [r7, #16] 80be2aa: 625a str r2, [r3, #36] ; 0x24 } } 80be2ac: bf00 nop 80be2ae: 3718 adds r7, #24 80be2b0: 46bd mov sp, r7 80be2b2: bd80 pop {r7, pc} 080be2b4 : * @param hsmbus Pointer to a SMBUS_HandleTypeDef structure that contains * the configuration information for the specified SMBUS. * @retval HAL status */ HAL_StatusTypeDef HAL_SMBUS_Init(SMBUS_HandleTypeDef *hsmbus) { 80be2b4: b580 push {r7, lr} 80be2b6: b082 sub sp, #8 80be2b8: af00 add r7, sp, #0 80be2ba: 6078 str r0, [r7, #4] /* Check the SMBUS handle allocation */ if (hsmbus == NULL) 80be2bc: 687b ldr r3, [r7, #4] 80be2be: 2b00 cmp r3, #0 80be2c0: d101 bne.n 80be2c6 { return HAL_ERROR; 80be2c2: 2301 movs r3, #1 80be2c4: e0a6 b.n 80be414 assert_param(IS_SMBUS_GENERAL_CALL(hsmbus->Init.GeneralCallMode)); assert_param(IS_SMBUS_NO_STRETCH(hsmbus->Init.NoStretchMode)); assert_param(IS_SMBUS_PEC(hsmbus->Init.PacketErrorCheckMode)); assert_param(IS_SMBUS_PERIPHERAL_MODE(hsmbus->Init.PeripheralMode)); if (hsmbus->State == HAL_SMBUS_STATE_RESET) 80be2c6: 687b ldr r3, [r7, #4] 80be2c8: 6c9b ldr r3, [r3, #72] ; 0x48 80be2ca: 2b00 cmp r3, #0 80be2cc: d106 bne.n 80be2dc { /* Allocate lock resource and initialize it */ hsmbus->Lock = HAL_UNLOCKED; 80be2ce: 687b ldr r3, [r7, #4] 80be2d0: 2200 movs r2, #0 80be2d2: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ hsmbus->MspInitCallback(hsmbus); #else /* Init the low level hardware : GPIO, CLOCK, NVIC */ HAL_SMBUS_MspInit(hsmbus); 80be2d6: 6878 ldr r0, [r7, #4] 80be2d8: f771 fc10 bl 802fafc #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } hsmbus->State = HAL_SMBUS_STATE_BUSY; 80be2dc: 687b ldr r3, [r7, #4] 80be2de: 2202 movs r2, #2 80be2e0: 649a str r2, [r3, #72] ; 0x48 /* Disable the selected SMBUS peripheral */ __HAL_SMBUS_DISABLE(hsmbus); 80be2e2: 687b ldr r3, [r7, #4] 80be2e4: 681b ldr r3, [r3, #0] 80be2e6: 687a ldr r2, [r7, #4] 80be2e8: 6812 ldr r2, [r2, #0] 80be2ea: 6812 ldr r2, [r2, #0] 80be2ec: f022 0201 bic.w r2, r2, #1 80be2f0: 601a str r2, [r3, #0] /*---------------------------- SMBUSx TIMINGR Configuration ------------------------*/ /* Configure SMBUSx: Frequency range */ hsmbus->Instance->TIMINGR = hsmbus->Init.Timing & TIMING_CLEAR_MASK; 80be2f2: 687b ldr r3, [r7, #4] 80be2f4: 681b ldr r3, [r3, #0] 80be2f6: 687a ldr r2, [r7, #4] 80be2f8: 6852 ldr r2, [r2, #4] 80be2fa: f022 6270 bic.w r2, r2, #251658240 ; 0xf000000 80be2fe: 611a str r2, [r3, #16] /*---------------------------- SMBUSx TIMEOUTR Configuration ------------------------*/ /* Configure SMBUSx: Bus Timeout */ hsmbus->Instance->TIMEOUTR &= ~I2C_TIMEOUTR_TIMOUTEN; 80be300: 687b ldr r3, [r7, #4] 80be302: 681b ldr r3, [r3, #0] 80be304: 687a ldr r2, [r7, #4] 80be306: 6812 ldr r2, [r2, #0] 80be308: 6952 ldr r2, [r2, #20] 80be30a: f422 4200 bic.w r2, r2, #32768 ; 0x8000 80be30e: 615a str r2, [r3, #20] hsmbus->Instance->TIMEOUTR &= ~I2C_TIMEOUTR_TEXTEN; 80be310: 687b ldr r3, [r7, #4] 80be312: 681b ldr r3, [r3, #0] 80be314: 687a ldr r2, [r7, #4] 80be316: 6812 ldr r2, [r2, #0] 80be318: 6952 ldr r2, [r2, #20] 80be31a: f022 4200 bic.w r2, r2, #2147483648 ; 0x80000000 80be31e: 615a str r2, [r3, #20] hsmbus->Instance->TIMEOUTR = hsmbus->Init.SMBusTimeout; 80be320: 687b ldr r3, [r7, #4] 80be322: 681b ldr r3, [r3, #0] 80be324: 687a ldr r2, [r7, #4] 80be326: 6b12 ldr r2, [r2, #48] ; 0x30 80be328: 615a str r2, [r3, #20] /*---------------------------- SMBUSx OAR1 Configuration -----------------------*/ /* Configure SMBUSx: Own Address1 and ack own address1 mode */ hsmbus->Instance->OAR1 &= ~I2C_OAR1_OA1EN; 80be32a: 687b ldr r3, [r7, #4] 80be32c: 681b ldr r3, [r3, #0] 80be32e: 687a ldr r2, [r7, #4] 80be330: 6812 ldr r2, [r2, #0] 80be332: 6892 ldr r2, [r2, #8] 80be334: f422 4200 bic.w r2, r2, #32768 ; 0x8000 80be338: 609a str r2, [r3, #8] if (hsmbus->Init.OwnAddress1 != 0UL) 80be33a: 687b ldr r3, [r7, #4] 80be33c: 68db ldr r3, [r3, #12] 80be33e: 2b00 cmp r3, #0 80be340: d012 beq.n 80be368 { if (hsmbus->Init.AddressingMode == SMBUS_ADDRESSINGMODE_7BIT) 80be342: 687b ldr r3, [r7, #4] 80be344: 691b ldr r3, [r3, #16] 80be346: 2b01 cmp r3, #1 80be348: d107 bne.n 80be35a { hsmbus->Instance->OAR1 = (I2C_OAR1_OA1EN | hsmbus->Init.OwnAddress1); 80be34a: 687b ldr r3, [r7, #4] 80be34c: 681b ldr r3, [r3, #0] 80be34e: 687a ldr r2, [r7, #4] 80be350: 68d2 ldr r2, [r2, #12] 80be352: f442 4200 orr.w r2, r2, #32768 ; 0x8000 80be356: 609a str r2, [r3, #8] 80be358: e006 b.n 80be368 } else /* SMBUS_ADDRESSINGMODE_10BIT */ { hsmbus->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hsmbus->Init.OwnAddress1); 80be35a: 687b ldr r3, [r7, #4] 80be35c: 681b ldr r3, [r3, #0] 80be35e: 687a ldr r2, [r7, #4] 80be360: 68d2 ldr r2, [r2, #12] 80be362: f442 4204 orr.w r2, r2, #33792 ; 0x8400 80be366: 609a str r2, [r3, #8] } } /*---------------------------- SMBUSx CR2 Configuration ------------------------*/ /* Configure SMBUSx: Addressing Master mode */ if (hsmbus->Init.AddressingMode == SMBUS_ADDRESSINGMODE_10BIT) 80be368: 687b ldr r3, [r7, #4] 80be36a: 691b ldr r3, [r3, #16] 80be36c: 2b02 cmp r3, #2 80be36e: d104 bne.n 80be37a { hsmbus->Instance->CR2 = (I2C_CR2_ADD10); 80be370: 687b ldr r3, [r7, #4] 80be372: 681b ldr r3, [r3, #0] 80be374: f44f 6200 mov.w r2, #2048 ; 0x800 80be378: 605a str r2, [r3, #4] } /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process) */ /* AUTOEND and NACK bit will be manage during Transfer process */ hsmbus->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK); 80be37a: 687b ldr r3, [r7, #4] 80be37c: 681a ldr r2, [r3, #0] 80be37e: 687b ldr r3, [r7, #4] 80be380: 681b ldr r3, [r3, #0] 80be382: 6859 ldr r1, [r3, #4] 80be384: 4b25 ldr r3, [pc, #148] ; (80be41c ) 80be386: 430b orrs r3, r1 80be388: 6053 str r3, [r2, #4] /*---------------------------- SMBUSx OAR2 Configuration -----------------------*/ /* Configure SMBUSx: Dual mode and Own Address2 */ hsmbus->Instance->OAR2 = (hsmbus->Init.DualAddressMode | hsmbus->Init.OwnAddress2 | \ 80be38a: 687b ldr r3, [r7, #4] 80be38c: 681b ldr r3, [r3, #0] 80be38e: 687a ldr r2, [r7, #4] 80be390: 6951 ldr r1, [r2, #20] 80be392: 687a ldr r2, [r7, #4] 80be394: 6992 ldr r2, [r2, #24] 80be396: 4311 orrs r1, r2 (hsmbus->Init.OwnAddress2Masks << 8U)); 80be398: 687a ldr r2, [r7, #4] 80be39a: 69d2 ldr r2, [r2, #28] 80be39c: 0212 lsls r2, r2, #8 hsmbus->Instance->OAR2 = (hsmbus->Init.DualAddressMode | hsmbus->Init.OwnAddress2 | \ 80be39e: 430a orrs r2, r1 80be3a0: 60da str r2, [r3, #12] /*---------------------------- SMBUSx CR1 Configuration ------------------------*/ /* Configure SMBUSx: Generalcall and NoStretch mode */ hsmbus->Instance->CR1 = (hsmbus->Init.GeneralCallMode | hsmbus->Init.NoStretchMode | \ 80be3a2: 687b ldr r3, [r7, #4] 80be3a4: 681b ldr r3, [r3, #0] 80be3a6: 687a ldr r2, [r7, #4] 80be3a8: 6a11 ldr r1, [r2, #32] 80be3aa: 687a ldr r2, [r7, #4] 80be3ac: 6a52 ldr r2, [r2, #36] ; 0x24 80be3ae: 4311 orrs r1, r2 hsmbus->Init.PacketErrorCheckMode | hsmbus->Init.PeripheralMode | \ 80be3b0: 687a ldr r2, [r7, #4] 80be3b2: 6a92 ldr r2, [r2, #40] ; 0x28 hsmbus->Instance->CR1 = (hsmbus->Init.GeneralCallMode | hsmbus->Init.NoStretchMode | \ 80be3b4: 4311 orrs r1, r2 hsmbus->Init.PacketErrorCheckMode | hsmbus->Init.PeripheralMode | \ 80be3b6: 687a ldr r2, [r7, #4] 80be3b8: 6ad2 ldr r2, [r2, #44] ; 0x2c 80be3ba: 4311 orrs r1, r2 hsmbus->Init.AnalogFilter); 80be3bc: 687a ldr r2, [r7, #4] 80be3be: 6892 ldr r2, [r2, #8] hsmbus->Init.PacketErrorCheckMode | hsmbus->Init.PeripheralMode | \ 80be3c0: 430a orrs r2, r1 hsmbus->Instance->CR1 = (hsmbus->Init.GeneralCallMode | hsmbus->Init.NoStretchMode | \ 80be3c2: 601a str r2, [r3, #0] /* Enable Slave Byte Control only in case of Packet Error Check is enabled and SMBUS Peripheral is set in Slave mode */ if ((hsmbus->Init.PacketErrorCheckMode == SMBUS_PEC_ENABLE) && \ 80be3c4: 687b ldr r3, [r7, #4] 80be3c6: 6a9b ldr r3, [r3, #40] ; 0x28 80be3c8: f5b3 0f00 cmp.w r3, #8388608 ; 0x800000 80be3cc: d110 bne.n 80be3f0 ((hsmbus->Init.PeripheralMode == SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE) || \ 80be3ce: 687b ldr r3, [r7, #4] 80be3d0: 6adb ldr r3, [r3, #44] ; 0x2c if ((hsmbus->Init.PacketErrorCheckMode == SMBUS_PEC_ENABLE) && \ 80be3d2: 2b00 cmp r3, #0 80be3d4: d004 beq.n 80be3e0 (hsmbus->Init.PeripheralMode == SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE_ARP))) 80be3d6: 687b ldr r3, [r7, #4] 80be3d8: 6adb ldr r3, [r3, #44] ; 0x2c ((hsmbus->Init.PeripheralMode == SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE) || \ 80be3da: f5b3 1f00 cmp.w r3, #2097152 ; 0x200000 80be3de: d107 bne.n 80be3f0 { hsmbus->Instance->CR1 |= I2C_CR1_SBC; 80be3e0: 687b ldr r3, [r7, #4] 80be3e2: 681b ldr r3, [r3, #0] 80be3e4: 687a ldr r2, [r7, #4] 80be3e6: 6812 ldr r2, [r2, #0] 80be3e8: 6812 ldr r2, [r2, #0] 80be3ea: f442 3280 orr.w r2, r2, #65536 ; 0x10000 80be3ee: 601a str r2, [r3, #0] } /* Enable the selected SMBUS peripheral */ __HAL_SMBUS_ENABLE(hsmbus); 80be3f0: 687b ldr r3, [r7, #4] 80be3f2: 681b ldr r3, [r3, #0] 80be3f4: 687a ldr r2, [r7, #4] 80be3f6: 6812 ldr r2, [r2, #0] 80be3f8: 6812 ldr r2, [r2, #0] 80be3fa: f042 0201 orr.w r2, r2, #1 80be3fe: 601a str r2, [r3, #0] hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; 80be400: 687b ldr r3, [r7, #4] 80be402: 2200 movs r2, #0 80be404: 64da str r2, [r3, #76] ; 0x4c hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80be406: 687b ldr r3, [r7, #4] 80be408: 2201 movs r2, #1 80be40a: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80be40c: 687b ldr r3, [r7, #4] 80be40e: 2201 movs r2, #1 80be410: 649a str r2, [r3, #72] ; 0x48 return HAL_OK; 80be412: 2300 movs r3, #0 } 80be414: 4618 mov r0, r3 80be416: 3708 adds r7, #8 80be418: 46bd mov sp, r7 80be41a: bd80 pop {r7, pc} 80be41c: 02008000 .word 0x02008000 080be420 : * @param XferOptions Options of Transfer, value of @ref SMBUS_XferOptions_definition * @retval HAL status */ HAL_StatusTypeDef HAL_SMBUS_Master_Transmit_IT(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions) { 80be420: b580 push {r7, lr} 80be422: b088 sub sp, #32 80be424: af02 add r7, sp, #8 80be426: 60f8 str r0, [r7, #12] 80be428: 607a str r2, [r7, #4] 80be42a: 461a mov r2, r3 80be42c: 460b mov r3, r1 80be42e: 817b strh r3, [r7, #10] 80be430: 4613 mov r3, r2 80be432: 813b strh r3, [r7, #8] uint32_t tmp; /* Check the parameters */ assert_param(IS_SMBUS_TRANSFER_OPTIONS_REQUEST(XferOptions)); if (hsmbus->State == HAL_SMBUS_STATE_READY) 80be434: 68fb ldr r3, [r7, #12] 80be436: 6c9b ldr r3, [r3, #72] ; 0x48 80be438: 2b01 cmp r3, #1 80be43a: f040 809f bne.w 80be57c { /* Process Locked */ __HAL_LOCK(hsmbus); 80be43e: 68fb ldr r3, [r7, #12] 80be440: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80be444: 2b01 cmp r3, #1 80be446: d101 bne.n 80be44c 80be448: 2302 movs r3, #2 80be44a: e098 b.n 80be57e 80be44c: 68fb ldr r3, [r7, #12] 80be44e: 2201 movs r2, #1 80be450: f883 2044 strb.w r2, [r3, #68] ; 0x44 hsmbus->State = HAL_SMBUS_STATE_MASTER_BUSY_TX; 80be454: 68fb ldr r3, [r7, #12] 80be456: 2212 movs r2, #18 80be458: 649a str r2, [r3, #72] ; 0x48 hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; 80be45a: 68fb ldr r3, [r7, #12] 80be45c: 2200 movs r2, #0 80be45e: 64da str r2, [r3, #76] ; 0x4c /* Prepare transfer parameters */ hsmbus->pBuffPtr = pData; 80be460: 68fb ldr r3, [r7, #12] 80be462: 687a ldr r2, [r7, #4] 80be464: 635a str r2, [r3, #52] ; 0x34 hsmbus->XferCount = Size; 80be466: 68fb ldr r3, [r7, #12] 80be468: 893a ldrh r2, [r7, #8] 80be46a: 875a strh r2, [r3, #58] ; 0x3a hsmbus->XferOptions = XferOptions; 80be46c: 68fb ldr r3, [r7, #12] 80be46e: 6a3a ldr r2, [r7, #32] 80be470: 63da str r2, [r3, #60] ; 0x3c /* In case of Quick command, remove autoend mode */ /* Manage the stop generation by software */ if (hsmbus->pBuffPtr == NULL) 80be472: 68fb ldr r3, [r7, #12] 80be474: 6b5b ldr r3, [r3, #52] ; 0x34 80be476: 2b00 cmp r3, #0 80be478: d105 bne.n 80be486 { hsmbus->XferOptions &= ~SMBUS_AUTOEND_MODE; 80be47a: 68fb ldr r3, [r7, #12] 80be47c: 6bdb ldr r3, [r3, #60] ; 0x3c 80be47e: f023 7200 bic.w r2, r3, #33554432 ; 0x2000000 80be482: 68fb ldr r3, [r7, #12] 80be484: 63da str r2, [r3, #60] ; 0x3c } if (Size > MAX_NBYTE_SIZE) 80be486: 893b ldrh r3, [r7, #8] 80be488: 2bff cmp r3, #255 ; 0xff 80be48a: d903 bls.n 80be494 { hsmbus->XferSize = MAX_NBYTE_SIZE; 80be48c: 68fb ldr r3, [r7, #12] 80be48e: 22ff movs r2, #255 ; 0xff 80be490: 871a strh r2, [r3, #56] ; 0x38 80be492: e002 b.n 80be49a } else { hsmbus->XferSize = Size; 80be494: 68fb ldr r3, [r7, #12] 80be496: 893a ldrh r2, [r7, #8] 80be498: 871a strh r2, [r3, #56] ; 0x38 } /* Send Slave Address */ /* Set NBYTES to write and reload if size > MAX_NBYTE_SIZE and generate RESTART */ if ((hsmbus->XferSize < hsmbus->XferCount) && (hsmbus->XferSize == MAX_NBYTE_SIZE)) 80be49a: 68fb ldr r3, [r7, #12] 80be49c: 8f1a ldrh r2, [r3, #56] ; 0x38 80be49e: 68fb ldr r3, [r7, #12] 80be4a0: 8f5b ldrh r3, [r3, #58] ; 0x3a 80be4a2: b29b uxth r3, r3 80be4a4: 429a cmp r2, r3 80be4a6: d214 bcs.n 80be4d2 80be4a8: 68fb ldr r3, [r7, #12] 80be4aa: 8f1b ldrh r3, [r3, #56] ; 0x38 80be4ac: 2bff cmp r3, #255 ; 0xff 80be4ae: d110 bne.n 80be4d2 { SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, 80be4b0: 68fb ldr r3, [r7, #12] 80be4b2: 8f1b ldrh r3, [r3, #56] ; 0x38 80be4b4: b2da uxtb r2, r3 SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE), 80be4b6: 68fb ldr r3, [r7, #12] 80be4b8: 6bdb ldr r3, [r3, #60] ; 0x3c 80be4ba: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, 80be4be: f043 7080 orr.w r0, r3, #16777216 ; 0x1000000 80be4c2: 8979 ldrh r1, [r7, #10] 80be4c4: 4b30 ldr r3, [pc, #192] ; (80be588 ) 80be4c6: 9300 str r3, [sp, #0] 80be4c8: 4603 mov r3, r0 80be4ca: 68f8 ldr r0, [r7, #12] 80be4cc: f001 f864 bl 80bf598 80be4d0: e04a b.n 80be568 { /* If transfer direction not change, do not generate Restart Condition */ /* Mean Previous state is same as current state */ /* Store current volatile XferOptions, misra rule */ tmp = hsmbus->XferOptions; 80be4d2: 68fb ldr r3, [r7, #12] 80be4d4: 6bdb ldr r3, [r3, #60] ; 0x3c 80be4d6: 617b str r3, [r7, #20] if ((hsmbus->PreviousState == HAL_SMBUS_STATE_MASTER_BUSY_TX) && \ 80be4d8: 68fb ldr r3, [r7, #12] 80be4da: 6c1b ldr r3, [r3, #64] ; 0x40 80be4dc: 2b12 cmp r3, #18 80be4de: d120 bne.n 80be522 (IS_SMBUS_TRANSFER_OTHER_OPTIONS_REQUEST(tmp) == 0)) 80be4e0: 697b ldr r3, [r7, #20] 80be4e2: 2baa cmp r3, #170 ; 0xaa 80be4e4: d00b beq.n 80be4fe 80be4e6: 697b ldr r3, [r7, #20] 80be4e8: f5b3 0f2a cmp.w r3, #11141120 ; 0xaa0000 80be4ec: d007 beq.n 80be4fe 80be4ee: 697b ldr r3, [r7, #20] 80be4f0: f5b3 4f2a cmp.w r3, #43520 ; 0xaa00 80be4f4: d003 beq.n 80be4fe 80be4f6: 697b ldr r3, [r7, #20] 80be4f8: f1b3 4f2a cmp.w r3, #2852126720 ; 0xaa000000 80be4fc: d101 bne.n 80be502 80be4fe: 2301 movs r3, #1 80be500: e000 b.n 80be504 80be502: 2300 movs r3, #0 if ((hsmbus->PreviousState == HAL_SMBUS_STATE_MASTER_BUSY_TX) && \ 80be504: 2b00 cmp r3, #0 80be506: d10c bne.n 80be522 { SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, hsmbus->XferOptions, 80be508: 68fb ldr r3, [r7, #12] 80be50a: 8f1b ldrh r3, [r3, #56] ; 0x38 80be50c: b2da uxtb r2, r3 80be50e: 68fb ldr r3, [r7, #12] 80be510: 6bd8 ldr r0, [r3, #60] ; 0x3c 80be512: 8979 ldrh r1, [r7, #10] 80be514: 2300 movs r3, #0 80be516: 9300 str r3, [sp, #0] 80be518: 4603 mov r3, r0 80be51a: 68f8 ldr r0, [r7, #12] 80be51c: f001 f83c bl 80bf598 80be520: e00e b.n 80be540 } /* Else transfer direction change, so generate Restart with new transfer direction */ else { /* Convert OTHER_xxx XferOptions if any */ SMBUS_ConvertOtherXferOptions(hsmbus); 80be522: 68f8 ldr r0, [r7, #12] 80be524: f001 f864 bl 80bf5f0 /* Handle Transfer */ SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, 80be528: 68fb ldr r3, [r7, #12] 80be52a: 8f1b ldrh r3, [r3, #56] ; 0x38 80be52c: b2da uxtb r2, r3 80be52e: 68fb ldr r3, [r7, #12] 80be530: 6bd8 ldr r0, [r3, #60] ; 0x3c 80be532: 8979 ldrh r1, [r7, #10] 80be534: 4b14 ldr r3, [pc, #80] ; (80be588 ) 80be536: 9300 str r3, [sp, #0] 80be538: 4603 mov r3, r0 80be53a: 68f8 ldr r0, [r7, #12] 80be53c: f001 f82c bl 80bf598 SMBUS_GENERATE_START_WRITE); } /* If PEC mode is enable, size to transmit manage by SW part 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) 80be540: 68fb ldr r3, [r7, #12] 80be542: 681b ldr r3, [r3, #0] 80be544: 685b ldr r3, [r3, #4] 80be546: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80be54a: 2b00 cmp r3, #0 80be54c: d00c beq.n 80be568 { hsmbus->XferSize--; 80be54e: 68fb ldr r3, [r7, #12] 80be550: 8f1b ldrh r3, [r3, #56] ; 0x38 80be552: 3b01 subs r3, #1 80be554: b29a uxth r2, r3 80be556: 68fb ldr r3, [r7, #12] 80be558: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80be55a: 68fb ldr r3, [r7, #12] 80be55c: 8f5b ldrh r3, [r3, #58] ; 0x3a 80be55e: b29b uxth r3, r3 80be560: 3b01 subs r3, #1 80be562: b29a uxth r2, r3 80be564: 68fb ldr r3, [r7, #12] 80be566: 875a strh r2, [r3, #58] ; 0x3a } } /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80be568: 68fb ldr r3, [r7, #12] 80be56a: 2200 movs r2, #0 80be56c: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Note : The SMBUS interrupts must be enabled after unlocking current process to avoid the risk of SMBUS interrupt handle execution before current process unlock */ SMBUS_Enable_IRQ(hsmbus, SMBUS_IT_TX); 80be570: 21f2 movs r1, #242 ; 0xf2 80be572: 68f8 ldr r0, [r7, #12] 80be574: f000 fe3c bl 80bf1f0 return HAL_OK; 80be578: 2300 movs r3, #0 80be57a: e000 b.n 80be57e } else { return HAL_BUSY; 80be57c: 2302 movs r3, #2 } } 80be57e: 4618 mov r0, r3 80be580: 3718 adds r7, #24 80be582: 46bd mov sp, r7 80be584: bd80 pop {r7, pc} 80be586: bf00 nop 80be588: 80002000 .word 0x80002000 080be58c : * @param XferOptions Options of Transfer, value of @ref SMBUS_XferOptions_definition * @retval HAL status */ HAL_StatusTypeDef HAL_SMBUS_Master_Receive_IT(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions) { 80be58c: b580 push {r7, lr} 80be58e: b088 sub sp, #32 80be590: af02 add r7, sp, #8 80be592: 60f8 str r0, [r7, #12] 80be594: 607a str r2, [r7, #4] 80be596: 461a mov r2, r3 80be598: 460b mov r3, r1 80be59a: 817b strh r3, [r7, #10] 80be59c: 4613 mov r3, r2 80be59e: 813b strh r3, [r7, #8] uint32_t tmp; /* Check the parameters */ assert_param(IS_SMBUS_TRANSFER_OPTIONS_REQUEST(XferOptions)); if (hsmbus->State == HAL_SMBUS_STATE_READY) 80be5a0: 68fb ldr r3, [r7, #12] 80be5a2: 6c9b ldr r3, [r3, #72] ; 0x48 80be5a4: 2b01 cmp r3, #1 80be5a6: f040 808b bne.w 80be6c0 { /* Process Locked */ __HAL_LOCK(hsmbus); 80be5aa: 68fb ldr r3, [r7, #12] 80be5ac: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80be5b0: 2b01 cmp r3, #1 80be5b2: d101 bne.n 80be5b8 80be5b4: 2302 movs r3, #2 80be5b6: e084 b.n 80be6c2 80be5b8: 68fb ldr r3, [r7, #12] 80be5ba: 2201 movs r2, #1 80be5bc: f883 2044 strb.w r2, [r3, #68] ; 0x44 hsmbus->State = HAL_SMBUS_STATE_MASTER_BUSY_RX; 80be5c0: 68fb ldr r3, [r7, #12] 80be5c2: 2222 movs r2, #34 ; 0x22 80be5c4: 649a str r2, [r3, #72] ; 0x48 hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; 80be5c6: 68fb ldr r3, [r7, #12] 80be5c8: 2200 movs r2, #0 80be5ca: 64da str r2, [r3, #76] ; 0x4c /* Prepare transfer parameters */ hsmbus->pBuffPtr = pData; 80be5cc: 68fb ldr r3, [r7, #12] 80be5ce: 687a ldr r2, [r7, #4] 80be5d0: 635a str r2, [r3, #52] ; 0x34 hsmbus->XferCount = Size; 80be5d2: 68fb ldr r3, [r7, #12] 80be5d4: 893a ldrh r2, [r7, #8] 80be5d6: 875a strh r2, [r3, #58] ; 0x3a hsmbus->XferOptions = XferOptions; 80be5d8: 68fb ldr r3, [r7, #12] 80be5da: 6a3a ldr r2, [r7, #32] 80be5dc: 63da str r2, [r3, #60] ; 0x3c /* In case of Quick command, remove autoend mode */ /* Manage the stop generation by software */ if (hsmbus->pBuffPtr == NULL) 80be5de: 68fb ldr r3, [r7, #12] 80be5e0: 6b5b ldr r3, [r3, #52] ; 0x34 80be5e2: 2b00 cmp r3, #0 80be5e4: d105 bne.n 80be5f2 { hsmbus->XferOptions &= ~SMBUS_AUTOEND_MODE; 80be5e6: 68fb ldr r3, [r7, #12] 80be5e8: 6bdb ldr r3, [r3, #60] ; 0x3c 80be5ea: f023 7200 bic.w r2, r3, #33554432 ; 0x2000000 80be5ee: 68fb ldr r3, [r7, #12] 80be5f0: 63da str r2, [r3, #60] ; 0x3c } if (Size > MAX_NBYTE_SIZE) 80be5f2: 893b ldrh r3, [r7, #8] 80be5f4: 2bff cmp r3, #255 ; 0xff 80be5f6: d903 bls.n 80be600 { hsmbus->XferSize = MAX_NBYTE_SIZE; 80be5f8: 68fb ldr r3, [r7, #12] 80be5fa: 22ff movs r2, #255 ; 0xff 80be5fc: 871a strh r2, [r3, #56] ; 0x38 80be5fe: e002 b.n 80be606 } else { hsmbus->XferSize = Size; 80be600: 68fb ldr r3, [r7, #12] 80be602: 893a ldrh r2, [r7, #8] 80be604: 871a strh r2, [r3, #56] ; 0x38 } /* Send Slave Address */ /* Set NBYTES to write and reload if size > MAX_NBYTE_SIZE and generate RESTART */ if ((hsmbus->XferSize < hsmbus->XferCount) && (hsmbus->XferSize == MAX_NBYTE_SIZE)) 80be606: 68fb ldr r3, [r7, #12] 80be608: 8f1a ldrh r2, [r3, #56] ; 0x38 80be60a: 68fb ldr r3, [r7, #12] 80be60c: 8f5b ldrh r3, [r3, #58] ; 0x3a 80be60e: b29b uxth r3, r3 80be610: 429a cmp r2, r3 80be612: d214 bcs.n 80be63e 80be614: 68fb ldr r3, [r7, #12] 80be616: 8f1b ldrh r3, [r3, #56] ; 0x38 80be618: 2bff cmp r3, #255 ; 0xff 80be61a: d110 bne.n 80be63e { SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, 80be61c: 68fb ldr r3, [r7, #12] 80be61e: 8f1b ldrh r3, [r3, #56] ; 0x38 80be620: b2da uxtb r2, r3 SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE), 80be622: 68fb ldr r3, [r7, #12] 80be624: 6bdb ldr r3, [r3, #60] ; 0x3c 80be626: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, 80be62a: f043 7080 orr.w r0, r3, #16777216 ; 0x1000000 80be62e: 8979 ldrh r1, [r7, #10] 80be630: 4b26 ldr r3, [pc, #152] ; (80be6cc ) 80be632: 9300 str r3, [sp, #0] 80be634: 4603 mov r3, r0 80be636: 68f8 ldr r0, [r7, #12] 80be638: f000 ffae bl 80bf598 80be63c: e036 b.n 80be6ac { /* If transfer direction not change, do not generate Restart Condition */ /* Mean Previous state is same as current state */ /* Store current volatile XferOptions, Misra rule */ tmp = hsmbus->XferOptions; 80be63e: 68fb ldr r3, [r7, #12] 80be640: 6bdb ldr r3, [r3, #60] ; 0x3c 80be642: 617b str r3, [r7, #20] if ((hsmbus->PreviousState == HAL_SMBUS_STATE_MASTER_BUSY_RX) && \ 80be644: 68fb ldr r3, [r7, #12] 80be646: 6c1b ldr r3, [r3, #64] ; 0x40 80be648: 2b22 cmp r3, #34 ; 0x22 80be64a: d120 bne.n 80be68e (IS_SMBUS_TRANSFER_OTHER_OPTIONS_REQUEST(tmp) == 0)) 80be64c: 697b ldr r3, [r7, #20] 80be64e: 2baa cmp r3, #170 ; 0xaa 80be650: d00b beq.n 80be66a 80be652: 697b ldr r3, [r7, #20] 80be654: f5b3 0f2a cmp.w r3, #11141120 ; 0xaa0000 80be658: d007 beq.n 80be66a 80be65a: 697b ldr r3, [r7, #20] 80be65c: f5b3 4f2a cmp.w r3, #43520 ; 0xaa00 80be660: d003 beq.n 80be66a 80be662: 697b ldr r3, [r7, #20] 80be664: f1b3 4f2a cmp.w r3, #2852126720 ; 0xaa000000 80be668: d101 bne.n 80be66e 80be66a: 2301 movs r3, #1 80be66c: e000 b.n 80be670 80be66e: 2300 movs r3, #0 if ((hsmbus->PreviousState == HAL_SMBUS_STATE_MASTER_BUSY_RX) && \ 80be670: 2b00 cmp r3, #0 80be672: d10c bne.n 80be68e { SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, hsmbus->XferOptions, 80be674: 68fb ldr r3, [r7, #12] 80be676: 8f1b ldrh r3, [r3, #56] ; 0x38 80be678: b2da uxtb r2, r3 80be67a: 68fb ldr r3, [r7, #12] 80be67c: 6bd8 ldr r0, [r3, #60] ; 0x3c 80be67e: 8979 ldrh r1, [r7, #10] 80be680: 2300 movs r3, #0 80be682: 9300 str r3, [sp, #0] 80be684: 4603 mov r3, r0 80be686: 68f8 ldr r0, [r7, #12] 80be688: f000 ff86 bl 80bf598 80be68c: e00e b.n 80be6ac } /* Else transfer direction change, so generate Restart with new transfer direction */ else { /* Convert OTHER_xxx XferOptions if any */ SMBUS_ConvertOtherXferOptions(hsmbus); 80be68e: 68f8 ldr r0, [r7, #12] 80be690: f000 ffae bl 80bf5f0 /* Handle Transfer */ SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, 80be694: 68fb ldr r3, [r7, #12] 80be696: 8f1b ldrh r3, [r3, #56] ; 0x38 80be698: b2da uxtb r2, r3 80be69a: 68fb ldr r3, [r7, #12] 80be69c: 6bd8 ldr r0, [r3, #60] ; 0x3c 80be69e: 8979 ldrh r1, [r7, #10] 80be6a0: 4b0a ldr r3, [pc, #40] ; (80be6cc ) 80be6a2: 9300 str r3, [sp, #0] 80be6a4: 4603 mov r3, r0 80be6a6: 68f8 ldr r0, [r7, #12] 80be6a8: f000 ff76 bl 80bf598 SMBUS_GENERATE_START_READ); } } /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80be6ac: 68fb ldr r3, [r7, #12] 80be6ae: 2200 movs r2, #0 80be6b0: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Note : The SMBUS interrupts must be enabled after unlocking current process to avoid the risk of SMBUS interrupt handle execution before current process unlock */ SMBUS_Enable_IRQ(hsmbus, SMBUS_IT_RX); 80be6b4: 21d4 movs r1, #212 ; 0xd4 80be6b6: 68f8 ldr r0, [r7, #12] 80be6b8: f000 fd9a bl 80bf1f0 return HAL_OK; 80be6bc: 2300 movs r3, #0 80be6be: e000 b.n 80be6c2 } else { return HAL_BUSY; 80be6c0: 2302 movs r3, #2 } } 80be6c2: 4618 mov r0, r3 80be6c4: 3718 adds r7, #24 80be6c6: 46bd mov sp, r7 80be6c8: bd80 pop {r7, pc} 80be6ca: bf00 nop 80be6cc: 80002400 .word 0x80002400 080be6d0 : * @param Timeout Timeout duration * @retval HAL status */ HAL_StatusTypeDef HAL_SMBUS_IsDeviceReady(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint32_t Trials, uint32_t Timeout) { 80be6d0: b580 push {r7, lr} 80be6d2: b088 sub sp, #32 80be6d4: af00 add r7, sp, #0 80be6d6: 60f8 str r0, [r7, #12] 80be6d8: 607a str r2, [r7, #4] 80be6da: 603b str r3, [r7, #0] 80be6dc: 460b mov r3, r1 80be6de: 817b strh r3, [r7, #10] uint32_t tickstart; __IO uint32_t SMBUS_Trials = 0UL; 80be6e0: 2300 movs r3, #0 80be6e2: 617b str r3, [r7, #20] FlagStatus tmp1; FlagStatus tmp2; if (hsmbus->State == HAL_SMBUS_STATE_READY) 80be6e4: 68fb ldr r3, [r7, #12] 80be6e6: 6c9b ldr r3, [r3, #72] ; 0x48 80be6e8: 2b01 cmp r3, #1 80be6ea: f040 80e5 bne.w 80be8b8 { if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_BUSY) != RESET) 80be6ee: 68fb ldr r3, [r7, #12] 80be6f0: 681b ldr r3, [r3, #0] 80be6f2: 699b ldr r3, [r3, #24] 80be6f4: f403 4300 and.w r3, r3, #32768 ; 0x8000 80be6f8: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80be6fc: d101 bne.n 80be702 { return HAL_BUSY; 80be6fe: 2302 movs r3, #2 80be700: e0db b.n 80be8ba } /* Process Locked */ __HAL_LOCK(hsmbus); 80be702: 68fb ldr r3, [r7, #12] 80be704: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80be708: 2b01 cmp r3, #1 80be70a: d101 bne.n 80be710 80be70c: 2302 movs r3, #2 80be70e: e0d4 b.n 80be8ba 80be710: 68fb ldr r3, [r7, #12] 80be712: 2201 movs r2, #1 80be714: f883 2044 strb.w r2, [r3, #68] ; 0x44 hsmbus->State = HAL_SMBUS_STATE_BUSY; 80be718: 68fb ldr r3, [r7, #12] 80be71a: 2202 movs r2, #2 80be71c: 649a str r2, [r3, #72] ; 0x48 hsmbus->ErrorCode = HAL_SMBUS_ERROR_NONE; 80be71e: 68fb ldr r3, [r7, #12] 80be720: 2200 movs r2, #0 80be722: 64da str r2, [r3, #76] ; 0x4c do { /* Generate Start */ hsmbus->Instance->CR2 = SMBUS_GENERATE_START(hsmbus->Init.AddressingMode, DevAddress); 80be724: 68fb ldr r3, [r7, #12] 80be726: 681a ldr r2, [r3, #0] 80be728: 68fb ldr r3, [r7, #12] 80be72a: 691b ldr r3, [r3, #16] 80be72c: 2b01 cmp r3, #1 80be72e: d105 bne.n 80be73c 80be730: 897b ldrh r3, [r7, #10] 80be732: f3c3 0109 ubfx r1, r3, #0, #10 80be736: 4b63 ldr r3, [pc, #396] ; (80be8c4 ) 80be738: 430b orrs r3, r1 80be73a: e004 b.n 80be746 80be73c: 897b ldrh r3, [r7, #10] 80be73e: f3c3 0309 ubfx r3, r3, #0, #10 80be742: f443 5320 orr.w r3, r3, #10240 ; 0x2800 80be746: 6053 str r3, [r2, #4] /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ /* Wait until STOPF flag is set or a NACK flag is set*/ tickstart = HAL_GetTick(); 80be748: f7f8 fb6c bl 80b6e24 80be74c: 61b8 str r0, [r7, #24] tmp1 = __HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80be74e: 68fb ldr r3, [r7, #12] 80be750: 681b ldr r3, [r3, #0] 80be752: 699b ldr r3, [r3, #24] 80be754: f003 0320 and.w r3, r3, #32 80be758: 2b20 cmp r3, #32 80be75a: bf0c ite eq 80be75c: 2301 moveq r3, #1 80be75e: 2300 movne r3, #0 80be760: b2db uxtb r3, r3 80be762: 77fb strb r3, [r7, #31] tmp2 = __HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_AF); 80be764: 68fb ldr r3, [r7, #12] 80be766: 681b ldr r3, [r3, #0] 80be768: 699b ldr r3, [r3, #24] 80be76a: f003 0310 and.w r3, r3, #16 80be76e: 2b10 cmp r3, #16 80be770: bf0c ite eq 80be772: 2301 moveq r3, #1 80be774: 2300 movne r3, #0 80be776: b2db uxtb r3, r3 80be778: 77bb strb r3, [r7, #30] while ((tmp1 == RESET) && (tmp2 == RESET)) 80be77a: e033 b.n 80be7e4 { if (Timeout != HAL_MAX_DELAY) 80be77c: 683b ldr r3, [r7, #0] 80be77e: f1b3 3fff cmp.w r3, #4294967295 80be782: d019 beq.n 80be7b8 { if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0UL)) 80be784: f7f8 fb4e bl 80b6e24 80be788: 4602 mov r2, r0 80be78a: 69bb ldr r3, [r7, #24] 80be78c: 1ad2 subs r2, r2, r3 80be78e: 683b ldr r3, [r7, #0] 80be790: 429a cmp r2, r3 80be792: d802 bhi.n 80be79a 80be794: 683b ldr r3, [r7, #0] 80be796: 2b00 cmp r3, #0 80be798: d10e bne.n 80be7b8 { /* Device is ready */ hsmbus->State = HAL_SMBUS_STATE_READY; 80be79a: 68fb ldr r3, [r7, #12] 80be79c: 2201 movs r2, #1 80be79e: 649a str r2, [r3, #72] ; 0x48 /* Update SMBUS error code */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_HALTIMEOUT; 80be7a0: 68fb ldr r3, [r7, #12] 80be7a2: 6cdb ldr r3, [r3, #76] ; 0x4c 80be7a4: f043 0210 orr.w r2, r3, #16 80be7a8: 68fb ldr r3, [r7, #12] 80be7aa: 64da str r2, [r3, #76] ; 0x4c /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80be7ac: 68fb ldr r3, [r7, #12] 80be7ae: 2200 movs r2, #0 80be7b0: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_ERROR; 80be7b4: 2301 movs r3, #1 80be7b6: e080 b.n 80be8ba } } tmp1 = __HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80be7b8: 68fb ldr r3, [r7, #12] 80be7ba: 681b ldr r3, [r3, #0] 80be7bc: 699b ldr r3, [r3, #24] 80be7be: f003 0320 and.w r3, r3, #32 80be7c2: 2b20 cmp r3, #32 80be7c4: bf0c ite eq 80be7c6: 2301 moveq r3, #1 80be7c8: 2300 movne r3, #0 80be7ca: b2db uxtb r3, r3 80be7cc: 77fb strb r3, [r7, #31] tmp2 = __HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_AF); 80be7ce: 68fb ldr r3, [r7, #12] 80be7d0: 681b ldr r3, [r3, #0] 80be7d2: 699b ldr r3, [r3, #24] 80be7d4: f003 0310 and.w r3, r3, #16 80be7d8: 2b10 cmp r3, #16 80be7da: bf0c ite eq 80be7dc: 2301 moveq r3, #1 80be7de: 2300 movne r3, #0 80be7e0: b2db uxtb r3, r3 80be7e2: 77bb strb r3, [r7, #30] while ((tmp1 == RESET) && (tmp2 == RESET)) 80be7e4: 7ffb ldrb r3, [r7, #31] 80be7e6: 2b00 cmp r3, #0 80be7e8: d102 bne.n 80be7f0 80be7ea: 7fbb ldrb r3, [r7, #30] 80be7ec: 2b00 cmp r3, #0 80be7ee: d0c5 beq.n 80be77c } /* Check if the NACKF flag has not been set */ if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_AF) == RESET) 80be7f0: 68fb ldr r3, [r7, #12] 80be7f2: 681b ldr r3, [r3, #0] 80be7f4: 699b ldr r3, [r3, #24] 80be7f6: f003 0310 and.w r3, r3, #16 80be7fa: 2b10 cmp r3, #16 80be7fc: d017 beq.n 80be82e { /* Wait until STOPF flag is reset */ if (SMBUS_WaitOnFlagUntilTimeout(hsmbus, SMBUS_FLAG_STOPF, RESET, Timeout) != HAL_OK) 80be7fe: 683b ldr r3, [r7, #0] 80be800: 2200 movs r2, #0 80be802: 2120 movs r1, #32 80be804: 68f8 ldr r0, [r7, #12] 80be806: f000 fe5e bl 80bf4c6 80be80a: 4603 mov r3, r0 80be80c: 2b00 cmp r3, #0 80be80e: d001 beq.n 80be814 { return HAL_ERROR; 80be810: 2301 movs r3, #1 80be812: e052 b.n 80be8ba } /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80be814: 68fb ldr r3, [r7, #12] 80be816: 681b ldr r3, [r3, #0] 80be818: 2220 movs r2, #32 80be81a: 61da str r2, [r3, #28] /* Device is ready */ hsmbus->State = HAL_SMBUS_STATE_READY; 80be81c: 68fb ldr r3, [r7, #12] 80be81e: 2201 movs r2, #1 80be820: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80be822: 68fb ldr r3, [r7, #12] 80be824: 2200 movs r2, #0 80be826: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_OK; 80be82a: 2300 movs r3, #0 80be82c: e045 b.n 80be8ba } else { /* Wait until STOPF flag is reset */ if (SMBUS_WaitOnFlagUntilTimeout(hsmbus, SMBUS_FLAG_STOPF, RESET, Timeout) != HAL_OK) 80be82e: 683b ldr r3, [r7, #0] 80be830: 2200 movs r2, #0 80be832: 2120 movs r1, #32 80be834: 68f8 ldr r0, [r7, #12] 80be836: f000 fe46 bl 80bf4c6 80be83a: 4603 mov r3, r0 80be83c: 2b00 cmp r3, #0 80be83e: d001 beq.n 80be844 { return HAL_ERROR; 80be840: 2301 movs r3, #1 80be842: e03a b.n 80be8ba } /* Clear NACK Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); 80be844: 68fb ldr r3, [r7, #12] 80be846: 681b ldr r3, [r3, #0] 80be848: 2210 movs r2, #16 80be84a: 61da str r2, [r3, #28] /* Clear STOP Flag, auto generated with autoend*/ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80be84c: 68fb ldr r3, [r7, #12] 80be84e: 681b ldr r3, [r3, #0] 80be850: 2220 movs r2, #32 80be852: 61da str r2, [r3, #28] } /* Check if the maximum allowed number of trials has been reached */ if (SMBUS_Trials == Trials) 80be854: 697a ldr r2, [r7, #20] 80be856: 687b ldr r3, [r7, #4] 80be858: 429a cmp r2, r3 80be85a: d116 bne.n 80be88a { /* Generate Stop */ hsmbus->Instance->CR2 |= I2C_CR2_STOP; 80be85c: 68fb ldr r3, [r7, #12] 80be85e: 681b ldr r3, [r3, #0] 80be860: 68fa ldr r2, [r7, #12] 80be862: 6812 ldr r2, [r2, #0] 80be864: 6852 ldr r2, [r2, #4] 80be866: f442 4280 orr.w r2, r2, #16384 ; 0x4000 80be86a: 605a str r2, [r3, #4] /* Wait until STOPF flag is reset */ if (SMBUS_WaitOnFlagUntilTimeout(hsmbus, SMBUS_FLAG_STOPF, RESET, Timeout) != HAL_OK) 80be86c: 683b ldr r3, [r7, #0] 80be86e: 2200 movs r2, #0 80be870: 2120 movs r1, #32 80be872: 68f8 ldr r0, [r7, #12] 80be874: f000 fe27 bl 80bf4c6 80be878: 4603 mov r3, r0 80be87a: 2b00 cmp r3, #0 80be87c: d001 beq.n 80be882 { return HAL_ERROR; 80be87e: 2301 movs r3, #1 80be880: e01b b.n 80be8ba } /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80be882: 68fb ldr r3, [r7, #12] 80be884: 681b ldr r3, [r3, #0] 80be886: 2220 movs r2, #32 80be888: 61da str r2, [r3, #28] } /* Increment Trials */ SMBUS_Trials++; 80be88a: 697b ldr r3, [r7, #20] 80be88c: 3301 adds r3, #1 80be88e: 617b str r3, [r7, #20] } while (SMBUS_Trials < Trials); 80be890: 697a ldr r2, [r7, #20] 80be892: 687b ldr r3, [r7, #4] 80be894: 429a cmp r2, r3 80be896: f4ff af45 bcc.w 80be724 hsmbus->State = HAL_SMBUS_STATE_READY; 80be89a: 68fb ldr r3, [r7, #12] 80be89c: 2201 movs r2, #1 80be89e: 649a str r2, [r3, #72] ; 0x48 /* Update SMBUS error code */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_HALTIMEOUT; 80be8a0: 68fb ldr r3, [r7, #12] 80be8a2: 6cdb ldr r3, [r3, #76] ; 0x4c 80be8a4: f043 0210 orr.w r2, r3, #16 80be8a8: 68fb ldr r3, [r7, #12] 80be8aa: 64da str r2, [r3, #76] ; 0x4c /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80be8ac: 68fb ldr r3, [r7, #12] 80be8ae: 2200 movs r2, #0 80be8b0: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_ERROR; 80be8b4: 2301 movs r3, #1 80be8b6: e000 b.n 80be8ba } else { return HAL_BUSY; 80be8b8: 2302 movs r3, #2 } } 80be8ba: 4618 mov r0, r3 80be8bc: 3720 adds r7, #32 80be8be: 46bd mov sp, r7 80be8c0: bd80 pop {r7, pc} 80be8c2: bf00 nop 80be8c4: 02002000 .word 0x02002000 080be8c8 : * @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) { 80be8c8: b580 push {r7, lr} 80be8ca: b084 sub sp, #16 80be8cc: af00 add r7, sp, #0 80be8ce: 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); 80be8d0: 687b ldr r3, [r7, #4] 80be8d2: 681b ldr r3, [r3, #0] 80be8d4: 699b ldr r3, [r3, #24] 80be8d6: 60fb str r3, [r7, #12] uint32_t tmpcr1value = READ_REG(hsmbus->Instance->CR1); 80be8d8: 687b ldr r3, [r7, #4] 80be8da: 681b ldr r3, [r3, #0] 80be8dc: 681b ldr r3, [r3, #0] 80be8de: 60bb str r3, [r7, #8] /* SMBUS in mode Transmitter ---------------------------------------------------*/ if ((SMBUS_CHECK_IT_SOURCE(tmpcr1value, (SMBUS_IT_TCI | SMBUS_IT_STOPI | 80be8e0: 68bb ldr r3, [r7, #8] 80be8e2: f003 0372 and.w r3, r3, #114 ; 0x72 80be8e6: 2b72 cmp r3, #114 ; 0x72 80be8e8: d12d bne.n 80be946 SMBUS_IT_NACKI | SMBUS_IT_TXI)) != RESET) && ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TXIS) != RESET) || 80be8ea: 68fb ldr r3, [r7, #12] 80be8ec: f003 0302 and.w r3, r3, #2 SMBUS_IT_NACKI | SMBUS_IT_TXI)) != RESET) && 80be8f0: 2b00 cmp r3, #0 80be8f2: d113 bne.n 80be91c (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80be8f4: 68fb ldr r3, [r7, #12] 80be8f6: f003 0380 and.w r3, r3, #128 ; 0x80 ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TXIS) != RESET) || 80be8fa: 2b00 cmp r3, #0 80be8fc: d10e bne.n 80be91c (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80be8fe: 68fb ldr r3, [r7, #12] 80be900: f003 0340 and.w r3, r3, #64 ; 0x40 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80be904: 2b00 cmp r3, #0 80be906: d109 bne.n 80be91c (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80be908: 68fb ldr r3, [r7, #12] 80be90a: f003 0320 and.w r3, r3, #32 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80be90e: 2b00 cmp r3, #0 80be910: d104 bne.n 80be91c (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) 80be912: 68fb ldr r3, [r7, #12] 80be914: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80be918: 2b00 cmp r3, #0 80be91a: d014 beq.n 80be946 { /* Slave mode selected */ if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) 80be91c: 687b ldr r3, [r7, #4] 80be91e: 6c9b ldr r3, [r3, #72] ; 0x48 80be920: f003 0332 and.w r3, r3, #50 ; 0x32 80be924: 2b32 cmp r3, #50 ; 0x32 80be926: d104 bne.n 80be932 { (void)SMBUS_Slave_ISR(hsmbus, tmpisrvalue); 80be928: 68f9 ldr r1, [r7, #12] 80be92a: 6878 ldr r0, [r7, #4] 80be92c: f000 fa80 bl 80bee30 80be930: e009 b.n 80be946 } /* Master mode selected */ else if ((hsmbus->State & HAL_SMBUS_STATE_MASTER_BUSY_TX) == HAL_SMBUS_STATE_MASTER_BUSY_TX) 80be932: 687b ldr r3, [r7, #4] 80be934: 6c9b ldr r3, [r3, #72] ; 0x48 80be936: f003 0312 and.w r3, r3, #18 80be93a: 2b12 cmp r3, #18 80be93c: d103 bne.n 80be946 { (void)SMBUS_Master_ISR(hsmbus, tmpisrvalue); 80be93e: 68f9 ldr r1, [r7, #12] 80be940: 6878 ldr r0, [r7, #4] 80be942: f000 f8a1 bl 80bea88 /* Nothing to do */ } } /* SMBUS in mode Receiver ----------------------------------------------------*/ if ((SMBUS_CHECK_IT_SOURCE(tmpcr1value, (SMBUS_IT_TCI | SMBUS_IT_STOPI | 80be946: 68bb ldr r3, [r7, #8] 80be948: f003 0374 and.w r3, r3, #116 ; 0x74 80be94c: 2b74 cmp r3, #116 ; 0x74 80be94e: d12d bne.n 80be9ac SMBUS_IT_NACKI | SMBUS_IT_RXI)) != RESET) && ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_RXNE) != RESET) || 80be950: 68fb ldr r3, [r7, #12] 80be952: f003 0304 and.w r3, r3, #4 SMBUS_IT_NACKI | SMBUS_IT_RXI)) != RESET) && 80be956: 2b00 cmp r3, #0 80be958: d113 bne.n 80be982 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80be95a: 68fb ldr r3, [r7, #12] 80be95c: f003 0380 and.w r3, r3, #128 ; 0x80 ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_RXNE) != RESET) || 80be960: 2b00 cmp r3, #0 80be962: d10e bne.n 80be982 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80be964: 68fb ldr r3, [r7, #12] 80be966: f003 0340 and.w r3, r3, #64 ; 0x40 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80be96a: 2b00 cmp r3, #0 80be96c: d109 bne.n 80be982 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80be96e: 68fb ldr r3, [r7, #12] 80be970: f003 0320 and.w r3, r3, #32 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80be974: 2b00 cmp r3, #0 80be976: d104 bne.n 80be982 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) 80be978: 68fb ldr r3, [r7, #12] 80be97a: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80be97e: 2b00 cmp r3, #0 80be980: d014 beq.n 80be9ac { /* Slave mode selected */ if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80be982: 687b ldr r3, [r7, #4] 80be984: 6c9b ldr r3, [r3, #72] ; 0x48 80be986: f003 0342 and.w r3, r3, #66 ; 0x42 80be98a: 2b42 cmp r3, #66 ; 0x42 80be98c: d104 bne.n 80be998 { (void)SMBUS_Slave_ISR(hsmbus, tmpisrvalue); 80be98e: 68f9 ldr r1, [r7, #12] 80be990: 6878 ldr r0, [r7, #4] 80be992: f000 fa4d bl 80bee30 80be996: e009 b.n 80be9ac } /* Master mode selected */ else if ((hsmbus->State & HAL_SMBUS_STATE_MASTER_BUSY_RX) == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80be998: 687b ldr r3, [r7, #4] 80be99a: 6c9b ldr r3, [r3, #72] ; 0x48 80be99c: f003 0322 and.w r3, r3, #34 ; 0x22 80be9a0: 2b22 cmp r3, #34 ; 0x22 80be9a2: d103 bne.n 80be9ac { (void)SMBUS_Master_ISR(hsmbus, tmpisrvalue); 80be9a4: 68f9 ldr r1, [r7, #12] 80be9a6: 6878 ldr r0, [r7, #4] 80be9a8: f000 f86e bl 80bea88 /* Nothing to do */ } } /* SMBUS in mode Listener Only --------------------------------------------------*/ if (((SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_ADDRI) != RESET) || 80be9ac: 68bb ldr r3, [r7, #8] 80be9ae: f003 0308 and.w r3, r3, #8 80be9b2: 2b00 cmp r3, #0 80be9b4: d109 bne.n 80be9ca (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_STOPI) != RESET) || 80be9b6: 68bb ldr r3, [r7, #8] 80be9b8: f003 0320 and.w r3, r3, #32 if (((SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_ADDRI) != RESET) || 80be9bc: 2b00 cmp r3, #0 80be9be: d104 bne.n 80be9ca (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_NACKI) != RESET)) && 80be9c0: 68bb ldr r3, [r7, #8] 80be9c2: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_STOPI) != RESET) || 80be9c6: 2b00 cmp r3, #0 80be9c8: d018 beq.n 80be9fc ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_ADDR) != RESET) || 80be9ca: 68fb ldr r3, [r7, #12] 80be9cc: f003 0308 and.w r3, r3, #8 (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_NACKI) != RESET)) && 80be9d0: 2b00 cmp r3, #0 80be9d2: d109 bne.n 80be9e8 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80be9d4: 68fb ldr r3, [r7, #12] 80be9d6: f003 0320 and.w r3, r3, #32 ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_ADDR) != RESET) || 80be9da: 2b00 cmp r3, #0 80be9dc: d104 bne.n 80be9e8 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) 80be9de: 68fb ldr r3, [r7, #12] 80be9e0: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80be9e4: 2b00 cmp r3, #0 80be9e6: d009 beq.n 80be9fc { if ((hsmbus->State & HAL_SMBUS_STATE_LISTEN) == HAL_SMBUS_STATE_LISTEN) 80be9e8: 687b ldr r3, [r7, #4] 80be9ea: 6c9b ldr r3, [r3, #72] ; 0x48 80be9ec: f003 0308 and.w r3, r3, #8 80be9f0: 2b08 cmp r3, #8 80be9f2: d103 bne.n 80be9fc { (void)SMBUS_Slave_ISR(hsmbus, tmpisrvalue); 80be9f4: 68f9 ldr r1, [r7, #12] 80be9f6: 6878 ldr r0, [r7, #4] 80be9f8: f000 fa1a bl 80bee30 } } } 80be9fc: bf00 nop 80be9fe: 3710 adds r7, #16 80bea00: 46bd mov sp, r7 80bea02: bd80 pop {r7, pc} 080bea04 : * @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) { 80bea04: b580 push {r7, lr} 80bea06: b082 sub sp, #8 80bea08: af00 add r7, sp, #0 80bea0a: 6078 str r0, [r7, #4] SMBUS_ITErrorHandler(hsmbus); 80bea0c: 6878 ldr r0, [r7, #4] 80bea0e: f000 fca5 bl 80bf35c } 80bea12: bf00 nop 80bea14: 3708 adds r7, #8 80bea16: 46bd mov sp, r7 80bea18: bd80 pop {r7, pc} 080bea1a : * @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) { 80bea1a: b480 push {r7} 80bea1c: b083 sub sp, #12 80bea1e: af00 add r7, sp, #0 80bea20: 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 */ } 80bea22: bf00 nop 80bea24: 370c adds r7, #12 80bea26: 46bd mov sp, r7 80bea28: f85d 7b04 ldr.w r7, [sp], #4 80bea2c: 4770 bx lr 080bea2e : * @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) { 80bea2e: b480 push {r7} 80bea30: b083 sub sp, #12 80bea32: af00 add r7, sp, #0 80bea34: 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 */ } 80bea36: bf00 nop 80bea38: 370c adds r7, #12 80bea3a: 46bd mov sp, r7 80bea3c: f85d 7b04 ldr.w r7, [sp], #4 80bea40: 4770 bx lr 080bea42 : * @param AddrMatchCode Address Match Code * @retval None */ __weak void HAL_SMBUS_AddrCallback(SMBUS_HandleTypeDef *hsmbus, uint8_t TransferDirection, uint16_t AddrMatchCode) { 80bea42: b480 push {r7} 80bea44: b083 sub sp, #12 80bea46: af00 add r7, sp, #0 80bea48: 6078 str r0, [r7, #4] 80bea4a: 460b mov r3, r1 80bea4c: 70fb strb r3, [r7, #3] 80bea4e: 4613 mov r3, r2 80bea50: 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 */ } 80bea52: bf00 nop 80bea54: 370c adds r7, #12 80bea56: 46bd mov sp, r7 80bea58: f85d 7b04 ldr.w r7, [sp], #4 80bea5c: 4770 bx lr 080bea5e : * @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) { 80bea5e: b480 push {r7} 80bea60: b083 sub sp, #12 80bea62: af00 add r7, sp, #0 80bea64: 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 */ } 80bea66: bf00 nop 80bea68: 370c adds r7, #12 80bea6a: 46bd mov sp, r7 80bea6c: f85d 7b04 ldr.w r7, [sp], #4 80bea70: 4770 bx lr 080bea72 : * @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) { 80bea72: b480 push {r7} 80bea74: b083 sub sp, #12 80bea76: af00 add r7, sp, #0 80bea78: 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 */ } 80bea7a: bf00 nop 80bea7c: 370c adds r7, #12 80bea7e: 46bd mov sp, r7 80bea80: f85d 7b04 ldr.w r7, [sp], #4 80bea84: 4770 bx lr ... 080bea88 : * 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) { 80bea88: b580 push {r7, lr} 80bea8a: b086 sub sp, #24 80bea8c: af02 add r7, sp, #8 80bea8e: 6078 str r0, [r7, #4] 80bea90: 6039 str r1, [r7, #0] uint16_t DevAddress; /* Process Locked */ __HAL_LOCK(hsmbus); 80bea92: 687b ldr r3, [r7, #4] 80bea94: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80bea98: 2b01 cmp r3, #1 80bea9a: d101 bne.n 80beaa0 80bea9c: 2302 movs r3, #2 80bea9e: e1c3 b.n 80bee28 80beaa0: 687b ldr r3, [r7, #4] 80beaa2: 2201 movs r2, #1 80beaa4: f883 2044 strb.w r2, [r3, #68] ; 0x44 if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_AF) != RESET) 80beaa8: 683b ldr r3, [r7, #0] 80beaaa: f003 0310 and.w r3, r3, #16 80beaae: 2b00 cmp r3, #0 80beab0: d014 beq.n 80beadc { /* Clear NACK Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); 80beab2: 687b ldr r3, [r7, #4] 80beab4: 681b ldr r3, [r3, #0] 80beab6: 2210 movs r2, #16 80beab8: 61da str r2, [r3, #28] /* Set corresponding Error Code */ /* No need to generate STOP, it is automatically done */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ACKF; 80beaba: 687b ldr r3, [r7, #4] 80beabc: 6cdb ldr r3, [r3, #76] ; 0x4c 80beabe: f043 0204 orr.w r2, r3, #4 80beac2: 687b ldr r3, [r7, #4] 80beac4: 64da str r2, [r3, #76] ; 0x4c /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80beac6: 6878 ldr r0, [r7, #4] 80beac8: f000 fd41 bl 80bf54e /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80beacc: 687b ldr r3, [r7, #4] 80beace: 2200 movs r2, #0 80bead0: 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); 80bead4: 6878 ldr r0, [r7, #4] 80bead6: f7ff ffcc bl 80bea72 80beada: e1a0 b.n 80bee1e #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_STOPF) != RESET) 80beadc: 683b ldr r3, [r7, #0] 80beade: f003 0320 and.w r3, r3, #32 80beae2: 2b00 cmp r3, #0 80beae4: d079 beq.n 80bebda { /* Check and treat errors if errors occurs during STOP process */ SMBUS_ITErrorHandler(hsmbus); 80beae6: 6878 ldr r0, [r7, #4] 80beae8: f000 fc38 bl 80bf35c /* Call the corresponding callback to inform upper layer of End of Transfer */ if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_TX) 80beaec: 687b ldr r3, [r7, #4] 80beaee: 6c9b ldr r3, [r3, #72] ; 0x48 80beaf0: 2b12 cmp r3, #18 80beaf2: d12d bne.n 80beb50 { /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80beaf4: 21f2 movs r1, #242 ; 0xf2 80beaf6: 6878 ldr r0, [r7, #4] 80beaf8: f000 fbb3 bl 80bf262 /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80beafc: 687b ldr r3, [r7, #4] 80beafe: 681b ldr r3, [r3, #0] 80beb00: 2220 movs r2, #32 80beb02: 61da str r2, [r3, #28] /* Clear Configuration Register 2 */ SMBUS_RESET_CR2(hsmbus); 80beb04: 687b ldr r3, [r7, #4] 80beb06: 681a ldr r2, [r3, #0] 80beb08: 687b ldr r3, [r7, #4] 80beb0a: 681b ldr r3, [r3, #0] 80beb0c: 6859 ldr r1, [r3, #4] 80beb0e: 4b90 ldr r3, [pc, #576] ; (80bed50 ) 80beb10: 400b ands r3, r1 80beb12: 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); 80beb14: 687b ldr r3, [r7, #4] 80beb16: 681b ldr r3, [r3, #0] 80beb18: 687a ldr r2, [r7, #4] 80beb1a: 6812 ldr r2, [r2, #0] 80beb1c: 6812 ldr r2, [r2, #0] 80beb1e: f022 0201 bic.w r2, r2, #1 80beb22: 601a str r2, [r3, #0] hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80beb24: 687b ldr r3, [r7, #4] 80beb26: 2201 movs r2, #1 80beb28: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80beb2a: 687b ldr r3, [r7, #4] 80beb2c: 2201 movs r2, #1 80beb2e: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80beb30: 687b ldr r3, [r7, #4] 80beb32: 2200 movs r2, #0 80beb34: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Re-enable the selected SMBUS peripheral */ __HAL_SMBUS_ENABLE(hsmbus); 80beb38: 687b ldr r3, [r7, #4] 80beb3a: 681b ldr r3, [r3, #0] 80beb3c: 687a ldr r2, [r7, #4] 80beb3e: 6812 ldr r2, [r2, #0] 80beb40: 6812 ldr r2, [r2, #0] 80beb42: f042 0201 orr.w r2, r2, #1 80beb46: 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); 80beb48: 6878 ldr r0, [r7, #4] 80beb4a: f771 faf1 bl 8030130 80beb4e: e166 b.n 80bee1e #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80beb50: 687b ldr r3, [r7, #4] 80beb52: 6c9b ldr r3, [r3, #72] ; 0x48 80beb54: 2b22 cmp r3, #34 ; 0x22 80beb56: f040 8162 bne.w 80bee1e { /* Store Last receive data if any */ if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) 80beb5a: 683b ldr r3, [r7, #0] 80beb5c: f003 0304 and.w r3, r3, #4 80beb60: 2b00 cmp r3, #0 80beb62: d01c beq.n 80beb9e { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80beb64: 687b ldr r3, [r7, #4] 80beb66: 6b5b ldr r3, [r3, #52] ; 0x34 80beb68: 687a ldr r2, [r7, #4] 80beb6a: 6812 ldr r2, [r2, #0] 80beb6c: 6a52 ldr r2, [r2, #36] ; 0x24 80beb6e: b2d2 uxtb r2, r2 80beb70: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80beb72: 687b ldr r3, [r7, #4] 80beb74: 6b5b ldr r3, [r3, #52] ; 0x34 80beb76: 1c5a adds r2, r3, #1 80beb78: 687b ldr r3, [r7, #4] 80beb7a: 635a str r2, [r3, #52] ; 0x34 if ((hsmbus->XferSize > 0U)) 80beb7c: 687b ldr r3, [r7, #4] 80beb7e: 8f1b ldrh r3, [r3, #56] ; 0x38 80beb80: 2b00 cmp r3, #0 80beb82: d00c beq.n 80beb9e { hsmbus->XferSize--; 80beb84: 687b ldr r3, [r7, #4] 80beb86: 8f1b ldrh r3, [r3, #56] ; 0x38 80beb88: 3b01 subs r3, #1 80beb8a: b29a uxth r2, r3 80beb8c: 687b ldr r3, [r7, #4] 80beb8e: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80beb90: 687b ldr r3, [r7, #4] 80beb92: 8f5b ldrh r3, [r3, #58] ; 0x3a 80beb94: b29b uxth r3, r3 80beb96: 3b01 subs r3, #1 80beb98: b29a uxth r2, r3 80beb9a: 687b ldr r3, [r7, #4] 80beb9c: 875a strh r2, [r3, #58] ; 0x3a } } /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80beb9e: 21d4 movs r1, #212 ; 0xd4 80beba0: 6878 ldr r0, [r7, #4] 80beba2: f000 fb5e bl 80bf262 /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80beba6: 687b ldr r3, [r7, #4] 80beba8: 681b ldr r3, [r3, #0] 80bebaa: 2220 movs r2, #32 80bebac: 61da str r2, [r3, #28] /* Clear Configuration Register 2 */ SMBUS_RESET_CR2(hsmbus); 80bebae: 687b ldr r3, [r7, #4] 80bebb0: 681a ldr r2, [r3, #0] 80bebb2: 687b ldr r3, [r7, #4] 80bebb4: 681b ldr r3, [r3, #0] 80bebb6: 6859 ldr r1, [r3, #4] 80bebb8: 4b65 ldr r3, [pc, #404] ; (80bed50 ) 80bebba: 400b ands r3, r1 80bebbc: 6053 str r3, [r2, #4] hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80bebbe: 687b ldr r3, [r7, #4] 80bebc0: 2201 movs r2, #1 80bebc2: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bebc4: 687b ldr r3, [r7, #4] 80bebc6: 2201 movs r2, #1 80bebc8: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bebca: 687b ldr r3, [r7, #4] 80bebcc: 2200 movs r2, #0 80bebce: 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); 80bebd2: 6878 ldr r0, [r7, #4] 80bebd4: f771 fabc bl 8030150 80bebd8: e121 b.n 80bee1e else { /* Nothing to do */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) 80bebda: 683b ldr r3, [r7, #0] 80bebdc: f003 0304 and.w r3, r3, #4 80bebe0: 2b00 cmp r3, #0 80bebe2: d019 beq.n 80bec18 { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80bebe4: 687b ldr r3, [r7, #4] 80bebe6: 6b5b ldr r3, [r3, #52] ; 0x34 80bebe8: 687a ldr r2, [r7, #4] 80bebea: 6812 ldr r2, [r2, #0] 80bebec: 6a52 ldr r2, [r2, #36] ; 0x24 80bebee: b2d2 uxtb r2, r2 80bebf0: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80bebf2: 687b ldr r3, [r7, #4] 80bebf4: 6b5b ldr r3, [r3, #52] ; 0x34 80bebf6: 1c5a adds r2, r3, #1 80bebf8: 687b ldr r3, [r7, #4] 80bebfa: 635a str r2, [r3, #52] ; 0x34 /* Increment Size counter */ hsmbus->XferSize--; 80bebfc: 687b ldr r3, [r7, #4] 80bebfe: 8f1b ldrh r3, [r3, #56] ; 0x38 80bec00: 3b01 subs r3, #1 80bec02: b29a uxth r2, r3 80bec04: 687b ldr r3, [r7, #4] 80bec06: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bec08: 687b ldr r3, [r7, #4] 80bec0a: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bec0c: b29b uxth r3, r3 80bec0e: 3b01 subs r3, #1 80bec10: b29a uxth r2, r3 80bec12: 687b ldr r3, [r7, #4] 80bec14: 875a strh r2, [r3, #58] ; 0x3a 80bec16: e102 b.n 80bee1e } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TXIS) != RESET) 80bec18: 683b ldr r3, [r7, #0] 80bec1a: f003 0302 and.w r3, r3, #2 80bec1e: 2b00 cmp r3, #0 80bec20: d018 beq.n 80bec54 { /* Write data to TXDR */ hsmbus->Instance->TXDR = *hsmbus->pBuffPtr; 80bec22: 687b ldr r3, [r7, #4] 80bec24: 681b ldr r3, [r3, #0] 80bec26: 687a ldr r2, [r7, #4] 80bec28: 6b52 ldr r2, [r2, #52] ; 0x34 80bec2a: 7812 ldrb r2, [r2, #0] 80bec2c: 629a str r2, [r3, #40] ; 0x28 /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80bec2e: 687b ldr r3, [r7, #4] 80bec30: 6b5b ldr r3, [r3, #52] ; 0x34 80bec32: 1c5a adds r2, r3, #1 80bec34: 687b ldr r3, [r7, #4] 80bec36: 635a str r2, [r3, #52] ; 0x34 /* Increment Size counter */ hsmbus->XferSize--; 80bec38: 687b ldr r3, [r7, #4] 80bec3a: 8f1b ldrh r3, [r3, #56] ; 0x38 80bec3c: 3b01 subs r3, #1 80bec3e: b29a uxth r2, r3 80bec40: 687b ldr r3, [r7, #4] 80bec42: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bec44: 687b ldr r3, [r7, #4] 80bec46: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bec48: b29b uxth r3, r3 80bec4a: 3b01 subs r3, #1 80bec4c: b29a uxth r2, r3 80bec4e: 687b ldr r3, [r7, #4] 80bec50: 875a strh r2, [r3, #58] ; 0x3a 80bec52: e0e4 b.n 80bee1e } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TCR) != RESET) 80bec54: 683b ldr r3, [r7, #0] 80bec56: f003 0380 and.w r3, r3, #128 ; 0x80 80bec5a: 2b00 cmp r3, #0 80bec5c: f000 8091 beq.w 80bed82 { if ((hsmbus->XferCount != 0U) && (hsmbus->XferSize == 0U)) 80bec60: 687b ldr r3, [r7, #4] 80bec62: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bec64: b29b uxth r3, r3 80bec66: 2b00 cmp r3, #0 80bec68: d048 beq.n 80becfc 80bec6a: 687b ldr r3, [r7, #4] 80bec6c: 8f1b ldrh r3, [r3, #56] ; 0x38 80bec6e: 2b00 cmp r3, #0 80bec70: d144 bne.n 80becfc { DevAddress = (uint16_t)(hsmbus->Instance->CR2 & I2C_CR2_SADD); 80bec72: 687b ldr r3, [r7, #4] 80bec74: 681b ldr r3, [r3, #0] 80bec76: 685b ldr r3, [r3, #4] 80bec78: b29b uxth r3, r3 80bec7a: f3c3 0309 ubfx r3, r3, #0, #10 80bec7e: 81fb strh r3, [r7, #14] if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80bec80: 687b ldr r3, [r7, #4] 80bec82: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bec84: b29b uxth r3, r3 80bec86: 2bff cmp r3, #255 ; 0xff 80bec88: d911 bls.n 80becae { SMBUS_TransferConfig(hsmbus, DevAddress, MAX_NBYTE_SIZE, (SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE)), 80bec8a: 687b ldr r3, [r7, #4] 80bec8c: 6bdb ldr r3, [r3, #60] ; 0x3c 80bec8e: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, DevAddress, MAX_NBYTE_SIZE, 80bec92: f043 7280 orr.w r2, r3, #16777216 ; 0x1000000 80bec96: 89f9 ldrh r1, [r7, #14] 80bec98: 2300 movs r3, #0 80bec9a: 9300 str r3, [sp, #0] 80bec9c: 4613 mov r3, r2 80bec9e: 22ff movs r2, #255 ; 0xff 80beca0: 6878 ldr r0, [r7, #4] 80beca2: f000 fc79 bl 80bf598 SMBUS_NO_STARTSTOP); hsmbus->XferSize = MAX_NBYTE_SIZE; 80beca6: 687b ldr r3, [r7, #4] 80beca8: 22ff movs r2, #255 ; 0xff 80becaa: 871a strh r2, [r3, #56] ; 0x38 if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80becac: e0b6 b.n 80bee1c } else { hsmbus->XferSize = hsmbus->XferCount; 80becae: 687b ldr r3, [r7, #4] 80becb0: 8f5b ldrh r3, [r3, #58] ; 0x3a 80becb2: b29a uxth r2, r3 80becb4: 687b ldr r3, [r7, #4] 80becb6: 871a strh r2, [r3, #56] ; 0x38 SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, hsmbus->XferOptions, 80becb8: 687b ldr r3, [r7, #4] 80becba: 8f1b ldrh r3, [r3, #56] ; 0x38 80becbc: b2da uxtb r2, r3 80becbe: 687b ldr r3, [r7, #4] 80becc0: 6bd8 ldr r0, [r3, #60] ; 0x3c 80becc2: 89f9 ldrh r1, [r7, #14] 80becc4: 2300 movs r3, #0 80becc6: 9300 str r3, [sp, #0] 80becc8: 4603 mov r3, r0 80becca: 6878 ldr r0, [r7, #4] 80beccc: f000 fc64 bl 80bf598 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) 80becd0: 687b ldr r3, [r7, #4] 80becd2: 681b ldr r3, [r3, #0] 80becd4: 685b ldr r3, [r3, #4] 80becd6: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80becda: 2b00 cmp r3, #0 80becdc: f000 809e beq.w 80bee1c { hsmbus->XferSize--; 80bece0: 687b ldr r3, [r7, #4] 80bece2: 8f1b ldrh r3, [r3, #56] ; 0x38 80bece4: 3b01 subs r3, #1 80bece6: b29a uxth r2, r3 80bece8: 687b ldr r3, [r7, #4] 80becea: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80becec: 687b ldr r3, [r7, #4] 80becee: 8f5b ldrh r3, [r3, #58] ; 0x3a 80becf0: b29b uxth r3, r3 80becf2: 3b01 subs r3, #1 80becf4: b29a uxth r2, r3 80becf6: 687b ldr r3, [r7, #4] 80becf8: 875a strh r2, [r3, #58] ; 0x3a if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80becfa: e08f b.n 80bee1c } } } else if ((hsmbus->XferCount == 0U) && (hsmbus->XferSize == 0U)) 80becfc: 687b ldr r3, [r7, #4] 80becfe: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bed00: b29b uxth r3, r3 80bed02: 2b00 cmp r3, #0 80bed04: f040 808b bne.w 80bee1e 80bed08: 687b ldr r3, [r7, #4] 80bed0a: 8f1b ldrh r3, [r3, #56] ; 0x38 80bed0c: 2b00 cmp r3, #0 80bed0e: f040 8086 bne.w 80bee1e { /* Call TxCpltCallback() if no stop mode is set */ if (SMBUS_GET_STOP_MODE(hsmbus) != SMBUS_AUTOEND_MODE) 80bed12: 687b ldr r3, [r7, #4] 80bed14: 681b ldr r3, [r3, #0] 80bed16: 685b ldr r3, [r3, #4] 80bed18: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bed1c: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80bed20: d07d beq.n 80bee1e { /* Call the corresponding callback to inform upper layer of End of Transfer */ if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_TX) 80bed22: 687b ldr r3, [r7, #4] 80bed24: 6c9b ldr r3, [r3, #72] ; 0x48 80bed26: 2b12 cmp r3, #18 80bed28: d114 bne.n 80bed54 { /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80bed2a: 21f2 movs r1, #242 ; 0xf2 80bed2c: 6878 ldr r0, [r7, #4] 80bed2e: f000 fa98 bl 80bf262 hsmbus->PreviousState = hsmbus->State; 80bed32: 687b ldr r3, [r7, #4] 80bed34: 6c9a ldr r2, [r3, #72] ; 0x48 80bed36: 687b ldr r3, [r7, #4] 80bed38: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bed3a: 687b ldr r3, [r7, #4] 80bed3c: 2201 movs r2, #1 80bed3e: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bed40: 687b ldr r3, [r7, #4] 80bed42: 2200 movs r2, #0 80bed44: 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); 80bed48: 6878 ldr r0, [r7, #4] 80bed4a: f771 f9f1 bl 8030130 80bed4e: e066 b.n 80bee1e 80bed50: fe00e800 .word 0xfe00e800 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80bed54: 687b ldr r3, [r7, #4] 80bed56: 6c9b ldr r3, [r3, #72] ; 0x48 80bed58: 2b22 cmp r3, #34 ; 0x22 80bed5a: d160 bne.n 80bee1e { SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80bed5c: 21d4 movs r1, #212 ; 0xd4 80bed5e: 6878 ldr r0, [r7, #4] 80bed60: f000 fa7f bl 80bf262 hsmbus->PreviousState = hsmbus->State; 80bed64: 687b ldr r3, [r7, #4] 80bed66: 6c9a ldr r2, [r3, #72] ; 0x48 80bed68: 687b ldr r3, [r7, #4] 80bed6a: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bed6c: 687b ldr r3, [r7, #4] 80bed6e: 2201 movs r2, #1 80bed70: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bed72: 687b ldr r3, [r7, #4] 80bed74: 2200 movs r2, #0 80bed76: 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); 80bed7a: 6878 ldr r0, [r7, #4] 80bed7c: f771 f9e8 bl 8030150 80bed80: e04d b.n 80bee1e else { /* Nothing to do */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TC) != RESET) 80bed82: 683b ldr r3, [r7, #0] 80bed84: f003 0340 and.w r3, r3, #64 ; 0x40 80bed88: 2b00 cmp r3, #0 80bed8a: d048 beq.n 80bee1e { if (hsmbus->XferCount == 0U) 80bed8c: 687b ldr r3, [r7, #4] 80bed8e: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bed90: b29b uxth r3, r3 80bed92: 2b00 cmp r3, #0 80bed94: d143 bne.n 80bee1e { /* Specific use case for Quick command */ if (hsmbus->pBuffPtr == NULL) 80bed96: 687b ldr r3, [r7, #4] 80bed98: 6b5b ldr r3, [r3, #52] ; 0x34 80bed9a: 2b00 cmp r3, #0 80bed9c: d108 bne.n 80bedb0 { /* Generate a Stop command */ hsmbus->Instance->CR2 |= I2C_CR2_STOP; 80bed9e: 687b ldr r3, [r7, #4] 80beda0: 681b ldr r3, [r3, #0] 80beda2: 687a ldr r2, [r7, #4] 80beda4: 6812 ldr r2, [r2, #0] 80beda6: 6852 ldr r2, [r2, #4] 80beda8: f442 4280 orr.w r2, r2, #16384 ; 0x4000 80bedac: 605a str r2, [r3, #4] 80bedae: e036 b.n 80bee1e } /* Call TxCpltCallback() if no stop mode is set */ else if (SMBUS_GET_STOP_MODE(hsmbus) != SMBUS_AUTOEND_MODE) 80bedb0: 687b ldr r3, [r7, #4] 80bedb2: 681b ldr r3, [r3, #0] 80bedb4: 685b ldr r3, [r3, #4] 80bedb6: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bedba: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80bedbe: d02e beq.n 80bee1e { /* 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) 80bedc0: 687b ldr r3, [r7, #4] 80bedc2: 6c9b ldr r3, [r3, #72] ; 0x48 80bedc4: 2b12 cmp r3, #18 80bedc6: d112 bne.n 80bedee { /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80bedc8: 21f2 movs r1, #242 ; 0xf2 80bedca: 6878 ldr r0, [r7, #4] 80bedcc: f000 fa49 bl 80bf262 hsmbus->PreviousState = hsmbus->State; 80bedd0: 687b ldr r3, [r7, #4] 80bedd2: 6c9a ldr r2, [r3, #72] ; 0x48 80bedd4: 687b ldr r3, [r7, #4] 80bedd6: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bedd8: 687b ldr r3, [r7, #4] 80bedda: 2201 movs r2, #1 80beddc: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bedde: 687b ldr r3, [r7, #4] 80bede0: 2200 movs r2, #0 80bede2: 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); 80bede6: 6878 ldr r0, [r7, #4] 80bede8: f771 f9a2 bl 8030130 80bedec: e017 b.n 80bee1e #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80bedee: 687b ldr r3, [r7, #4] 80bedf0: 6c9b ldr r3, [r3, #72] ; 0x48 80bedf2: 2b22 cmp r3, #34 ; 0x22 80bedf4: d113 bne.n 80bee1e { SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80bedf6: 21d4 movs r1, #212 ; 0xd4 80bedf8: 6878 ldr r0, [r7, #4] 80bedfa: f000 fa32 bl 80bf262 hsmbus->PreviousState = hsmbus->State; 80bedfe: 687b ldr r3, [r7, #4] 80bee00: 6c9a ldr r2, [r3, #72] ; 0x48 80bee02: 687b ldr r3, [r7, #4] 80bee04: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bee06: 687b ldr r3, [r7, #4] 80bee08: 2201 movs r2, #1 80bee0a: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bee0c: 687b ldr r3, [r7, #4] 80bee0e: 2200 movs r2, #0 80bee10: 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); 80bee14: 6878 ldr r0, [r7, #4] 80bee16: f771 f99b bl 8030150 80bee1a: e000 b.n 80bee1e if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80bee1c: bf00 nop { /* Nothing to do */ } /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bee1e: 687b ldr r3, [r7, #4] 80bee20: 2200 movs r2, #0 80bee22: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_OK; 80bee26: 2300 movs r3, #0 } 80bee28: 4618 mov r0, r3 80bee2a: 3710 adds r7, #16 80bee2c: 46bd mov sp, r7 80bee2e: bd80 pop {r7, pc} 080bee30 : * 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) { 80bee30: b580 push {r7, lr} 80bee32: b086 sub sp, #24 80bee34: af02 add r7, sp, #8 80bee36: 6078 str r0, [r7, #4] 80bee38: 6039 str r1, [r7, #0] uint8_t TransferDirection; uint16_t SlaveAddrCode; /* Process Locked */ __HAL_LOCK(hsmbus); 80bee3a: 687b ldr r3, [r7, #4] 80bee3c: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80bee40: 2b01 cmp r3, #1 80bee42: d101 bne.n 80bee48 80bee44: 2302 movs r3, #2 80bee46: e1cc b.n 80bf1e2 80bee48: 687b ldr r3, [r7, #4] 80bee4a: 2201 movs r2, #1 80bee4c: f883 2044 strb.w r2, [r3, #68] ; 0x44 if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_AF) != RESET) 80bee50: 683b ldr r3, [r7, #0] 80bee52: f003 0310 and.w r3, r3, #16 80bee56: 2b00 cmp r3, #0 80bee58: d039 beq.n 80beece { /* 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) 80bee5a: 687b ldr r3, [r7, #4] 80bee5c: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bee5e: b29b uxth r3, r3 80bee60: 2b00 cmp r3, #0 80bee62: d10b bne.n 80bee7c { /* Clear NACK Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); 80bee64: 687b ldr r3, [r7, #4] 80bee66: 681b ldr r3, [r3, #0] 80bee68: 2210 movs r2, #16 80bee6a: 61da str r2, [r3, #28] /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80bee6c: 6878 ldr r0, [r7, #4] 80bee6e: f000 fb6e bl 80bf54e /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bee72: 687b ldr r3, [r7, #4] 80bee74: 2200 movs r2, #0 80bee76: f883 2044 strb.w r2, [r3, #68] ; 0x44 80bee7a: e14d b.n 80bf118 } 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); 80bee7c: 687b ldr r3, [r7, #4] 80bee7e: 681b ldr r3, [r3, #0] 80bee80: 2210 movs r2, #16 80bee82: 61da str r2, [r3, #28] /* Set HAL State to "Idle" State, mean to LISTEN state */ /* So reset Slave Busy state */ hsmbus->PreviousState = hsmbus->State; 80bee84: 687b ldr r3, [r7, #4] 80bee86: 6c9a ldr r2, [r3, #72] ; 0x48 80bee88: 687b ldr r3, [r7, #4] 80bee8a: 641a str r2, [r3, #64] ; 0x40 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_TX); 80bee8c: 687b ldr r3, [r7, #4] 80bee8e: 6c9b ldr r3, [r3, #72] ; 0x48 80bee90: f023 0232 bic.w r2, r3, #50 ; 0x32 80bee94: 687b ldr r3, [r7, #4] 80bee96: 649a str r2, [r3, #72] ; 0x48 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_RX); 80bee98: 687b ldr r3, [r7, #4] 80bee9a: 6c9b ldr r3, [r3, #72] ; 0x48 80bee9c: f023 0242 bic.w r2, r3, #66 ; 0x42 80beea0: 687b ldr r3, [r7, #4] 80beea2: 649a str r2, [r3, #72] ; 0x48 /* Disable RX/TX Interrupts, keep only ADDR Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX | SMBUS_IT_TX); 80beea4: 21f6 movs r1, #246 ; 0xf6 80beea6: 6878 ldr r0, [r7, #4] 80beea8: f000 f9db bl 80bf262 /* Set ErrorCode corresponding to a Non-Acknowledge */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ACKF; 80beeac: 687b ldr r3, [r7, #4] 80beeae: 6cdb ldr r3, [r3, #76] ; 0x4c 80beeb0: f043 0204 orr.w r2, r3, #4 80beeb4: 687b ldr r3, [r7, #4] 80beeb6: 64da str r2, [r3, #76] ; 0x4c /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80beeb8: 6878 ldr r0, [r7, #4] 80beeba: f000 fb48 bl 80bf54e /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80beebe: 687b ldr r3, [r7, #4] 80beec0: 2200 movs r2, #0 80beec2: 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); 80beec6: 6878 ldr r0, [r7, #4] 80beec8: f7ff fdd3 bl 80bea72 80beecc: e124 b.n 80bf118 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_ADDR) != RESET) 80beece: 683b ldr r3, [r7, #0] 80beed0: f003 0308 and.w r3, r3, #8 80beed4: 2b00 cmp r3, #0 80beed6: d022 beq.n 80bef1e { TransferDirection = (uint8_t)(SMBUS_GET_DIR(hsmbus)); 80beed8: 687b ldr r3, [r7, #4] 80beeda: 681b ldr r3, [r3, #0] 80beedc: 699b ldr r3, [r3, #24] 80beede: 0c1b lsrs r3, r3, #16 80beee0: b2db uxtb r3, r3 80beee2: f003 0301 and.w r3, r3, #1 80beee6: 73fb strb r3, [r7, #15] SlaveAddrCode = (uint16_t)(SMBUS_GET_ADDR_MATCH(hsmbus)); 80beee8: 687b ldr r3, [r7, #4] 80beeea: 681b ldr r3, [r3, #0] 80beeec: 699b ldr r3, [r3, #24] 80beeee: 0c5b lsrs r3, r3, #17 80beef0: b29b uxth r3, r3 80beef2: f003 037f and.w r3, r3, #127 ; 0x7f 80beef6: 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); 80beef8: 687b ldr r3, [r7, #4] 80beefa: 681b ldr r3, [r3, #0] 80beefc: 687a ldr r2, [r7, #4] 80beefe: 6812 ldr r2, [r2, #0] 80bef00: 6812 ldr r2, [r2, #0] 80bef02: f022 0208 bic.w r2, r2, #8 80bef06: 601a str r2, [r3, #0] /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bef08: 687b ldr r3, [r7, #4] 80bef0a: 2200 movs r2, #0 80bef0c: 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); 80bef10: 89ba ldrh r2, [r7, #12] 80bef12: 7bfb ldrb r3, [r7, #15] 80bef14: 4619 mov r1, r3 80bef16: 6878 ldr r0, [r7, #4] 80bef18: f7ff fd93 bl 80bea42 80bef1c: e0fc b.n 80bf118 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if ((SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) || 80bef1e: 683b ldr r3, [r7, #0] 80bef20: f003 0304 and.w r3, r3, #4 80bef24: 2b00 cmp r3, #0 80bef26: d105 bne.n 80bef34 (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TCR) != RESET)) 80bef28: 683b ldr r3, [r7, #0] 80bef2a: f003 0380 and.w r3, r3, #128 ; 0x80 else if ((SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) || 80bef2e: 2b00 cmp r3, #0 80bef30: f000 80b4 beq.w 80bf09c { if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bef34: 687b ldr r3, [r7, #4] 80bef36: 6c9b ldr r3, [r3, #72] ; 0x48 80bef38: f003 0342 and.w r3, r3, #66 ; 0x42 80bef3c: 2b42 cmp r3, #66 ; 0x42 80bef3e: d160 bne.n 80bf002 { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80bef40: 687b ldr r3, [r7, #4] 80bef42: 6b5b ldr r3, [r3, #52] ; 0x34 80bef44: 687a ldr r2, [r7, #4] 80bef46: 6812 ldr r2, [r2, #0] 80bef48: 6a52 ldr r2, [r2, #36] ; 0x24 80bef4a: b2d2 uxtb r2, r2 80bef4c: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80bef4e: 687b ldr r3, [r7, #4] 80bef50: 6b5b ldr r3, [r3, #52] ; 0x34 80bef52: 1c5a adds r2, r3, #1 80bef54: 687b ldr r3, [r7, #4] 80bef56: 635a str r2, [r3, #52] ; 0x34 hsmbus->XferSize--; 80bef58: 687b ldr r3, [r7, #4] 80bef5a: 8f1b ldrh r3, [r3, #56] ; 0x38 80bef5c: 3b01 subs r3, #1 80bef5e: b29a uxth r2, r3 80bef60: 687b ldr r3, [r7, #4] 80bef62: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bef64: 687b ldr r3, [r7, #4] 80bef66: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bef68: b29b uxth r3, r3 80bef6a: 3b01 subs r3, #1 80bef6c: b29a uxth r2, r3 80bef6e: 687b ldr r3, [r7, #4] 80bef70: 875a strh r2, [r3, #58] ; 0x3a if (hsmbus->XferCount == 1U) 80bef72: 687b ldr r3, [r7, #4] 80bef74: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bef76: b29b uxth r3, r3 80bef78: 2b01 cmp r3, #1 80bef7a: d110 bne.n 80bef9e { /* 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; 80bef7c: 687b ldr r3, [r7, #4] 80bef7e: 6bdb ldr r3, [r3, #60] ; 0x3c 80bef80: f023 7280 bic.w r2, r3, #16777216 ; 0x1000000 80bef84: 687b ldr r3, [r7, #4] 80bef86: 63da str r2, [r3, #60] ; 0x3c SMBUS_TransferConfig(hsmbus, 0, 1, hsmbus->XferOptions, SMBUS_NO_STARTSTOP); 80bef88: 687b ldr r3, [r7, #4] 80bef8a: 6bda ldr r2, [r3, #60] ; 0x3c 80bef8c: 2300 movs r3, #0 80bef8e: 9300 str r3, [sp, #0] 80bef90: 4613 mov r3, r2 80bef92: 2201 movs r2, #1 80bef94: 2100 movs r1, #0 80bef96: 6878 ldr r0, [r7, #4] 80bef98: f000 fafe bl 80bf598 if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bef9c: e0bb b.n 80bf116 } else if (hsmbus->XferCount == 0U) 80bef9e: 687b ldr r3, [r7, #4] 80befa0: 8f5b ldrh r3, [r3, #58] ; 0x3a 80befa2: b29b uxth r3, r3 80befa4: 2b00 cmp r3, #0 80befa6: d115 bne.n 80befd4 { /* Last Byte is received, disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80befa8: 21d4 movs r1, #212 ; 0xd4 80befaa: 6878 ldr r0, [r7, #4] 80befac: f000 f959 bl 80bf262 /* Remove HAL_SMBUS_STATE_SLAVE_BUSY_RX, keep only HAL_SMBUS_STATE_LISTEN */ hsmbus->PreviousState = hsmbus->State; 80befb0: 687b ldr r3, [r7, #4] 80befb2: 6c9a ldr r2, [r3, #72] ; 0x48 80befb4: 687b ldr r3, [r7, #4] 80befb6: 641a str r2, [r3, #64] ; 0x40 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_RX); 80befb8: 687b ldr r3, [r7, #4] 80befba: 6c9b ldr r3, [r3, #72] ; 0x48 80befbc: f023 0242 bic.w r2, r3, #66 ; 0x42 80befc0: 687b ldr r3, [r7, #4] 80befc2: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80befc4: 687b ldr r3, [r7, #4] 80befc6: 2200 movs r2, #0 80befc8: 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); 80befcc: 6878 ldr r0, [r7, #4] 80befce: f7ff fd2e bl 80bea2e if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80befd2: e0a0 b.n 80bf116 } else { /* Set Reload for next Bytes */ SMBUS_TransferConfig(hsmbus, 0, 1, SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE), 80befd4: 687b ldr r3, [r7, #4] 80befd6: 6bdb ldr r3, [r3, #60] ; 0x3c 80befd8: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, 0, 1, 80befdc: f043 7280 orr.w r2, r3, #16777216 ; 0x1000000 80befe0: 2300 movs r3, #0 80befe2: 9300 str r3, [sp, #0] 80befe4: 4613 mov r3, r2 80befe6: 2201 movs r2, #1 80befe8: 2100 movs r1, #0 80befea: 6878 ldr r0, [r7, #4] 80befec: f000 fad4 bl 80bf598 SMBUS_NO_STARTSTOP); /* Ack last Byte Read */ hsmbus->Instance->CR2 &= ~I2C_CR2_NACK; 80beff0: 687b ldr r3, [r7, #4] 80beff2: 681b ldr r3, [r3, #0] 80beff4: 687a ldr r2, [r7, #4] 80beff6: 6812 ldr r2, [r2, #0] 80beff8: 6852 ldr r2, [r2, #4] 80beffa: f422 4200 bic.w r2, r2, #32768 ; 0x8000 80beffe: 605a str r2, [r3, #4] if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bf000: e089 b.n 80bf116 } } else if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) 80bf002: 687b ldr r3, [r7, #4] 80bf004: 6c9b ldr r3, [r3, #72] ; 0x48 80bf006: f003 0332 and.w r3, r3, #50 ; 0x32 80bf00a: 2b32 cmp r3, #50 ; 0x32 80bf00c: f040 8083 bne.w 80bf116 { if ((hsmbus->XferCount != 0U) && (hsmbus->XferSize == 0U)) 80bf010: 687b ldr r3, [r7, #4] 80bf012: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf014: b29b uxth r3, r3 80bf016: 2b00 cmp r3, #0 80bf018: d07d beq.n 80bf116 80bf01a: 687b ldr r3, [r7, #4] 80bf01c: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf01e: 2b00 cmp r3, #0 80bf020: d179 bne.n 80bf116 { if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80bf022: 687b ldr r3, [r7, #4] 80bf024: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf026: b29b uxth r3, r3 80bf028: 2bff cmp r3, #255 ; 0xff 80bf02a: d911 bls.n 80bf050 { SMBUS_TransferConfig(hsmbus, 0, MAX_NBYTE_SIZE, (SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE)), 80bf02c: 687b ldr r3, [r7, #4] 80bf02e: 6bdb ldr r3, [r3, #60] ; 0x3c 80bf030: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, 0, MAX_NBYTE_SIZE, 80bf034: f043 7280 orr.w r2, r3, #16777216 ; 0x1000000 80bf038: 2300 movs r3, #0 80bf03a: 9300 str r3, [sp, #0] 80bf03c: 4613 mov r3, r2 80bf03e: 22ff movs r2, #255 ; 0xff 80bf040: 2100 movs r1, #0 80bf042: 6878 ldr r0, [r7, #4] 80bf044: f000 faa8 bl 80bf598 SMBUS_NO_STARTSTOP); hsmbus->XferSize = MAX_NBYTE_SIZE; 80bf048: 687b ldr r3, [r7, #4] 80bf04a: 22ff movs r2, #255 ; 0xff 80bf04c: 871a strh r2, [r3, #56] ; 0x38 if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bf04e: e062 b.n 80bf116 } else { hsmbus->XferSize = hsmbus->XferCount; 80bf050: 687b ldr r3, [r7, #4] 80bf052: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf054: b29a uxth r2, r3 80bf056: 687b ldr r3, [r7, #4] 80bf058: 871a strh r2, [r3, #56] ; 0x38 SMBUS_TransferConfig(hsmbus, 0, (uint8_t)hsmbus->XferSize, hsmbus->XferOptions, 80bf05a: 687b ldr r3, [r7, #4] 80bf05c: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf05e: b2da uxtb r2, r3 80bf060: 687b ldr r3, [r7, #4] 80bf062: 6bd9 ldr r1, [r3, #60] ; 0x3c 80bf064: 2300 movs r3, #0 80bf066: 9300 str r3, [sp, #0] 80bf068: 460b mov r3, r1 80bf06a: 2100 movs r1, #0 80bf06c: 6878 ldr r0, [r7, #4] 80bf06e: f000 fa93 bl 80bf598 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) 80bf072: 687b ldr r3, [r7, #4] 80bf074: 681b ldr r3, [r3, #0] 80bf076: 685b ldr r3, [r3, #4] 80bf078: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80bf07c: 2b00 cmp r3, #0 80bf07e: d04a beq.n 80bf116 { hsmbus->XferSize--; 80bf080: 687b ldr r3, [r7, #4] 80bf082: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf084: 3b01 subs r3, #1 80bf086: b29a uxth r2, r3 80bf088: 687b ldr r3, [r7, #4] 80bf08a: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bf08c: 687b ldr r3, [r7, #4] 80bf08e: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf090: b29b uxth r3, r3 80bf092: 3b01 subs r3, #1 80bf094: b29a uxth r2, r3 80bf096: 687b ldr r3, [r7, #4] 80bf098: 875a strh r2, [r3, #58] ; 0x3a if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bf09a: e03c b.n 80bf116 else { /* Nothing to do */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TXIS) != RESET) 80bf09c: 683b ldr r3, [r7, #0] 80bf09e: f003 0302 and.w r3, r3, #2 80bf0a2: 2b00 cmp r3, #0 80bf0a4: d038 beq.n 80bf118 { /* 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) 80bf0a6: 687b ldr r3, [r7, #4] 80bf0a8: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf0aa: b29b uxth r3, r3 80bf0ac: 2b00 cmp r3, #0 80bf0ae: d017 beq.n 80bf0e0 { /* Write data to TXDR */ hsmbus->Instance->TXDR = *hsmbus->pBuffPtr; 80bf0b0: 687b ldr r3, [r7, #4] 80bf0b2: 681b ldr r3, [r3, #0] 80bf0b4: 687a ldr r2, [r7, #4] 80bf0b6: 6b52 ldr r2, [r2, #52] ; 0x34 80bf0b8: 7812 ldrb r2, [r2, #0] 80bf0ba: 629a str r2, [r3, #40] ; 0x28 /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80bf0bc: 687b ldr r3, [r7, #4] 80bf0be: 6b5b ldr r3, [r3, #52] ; 0x34 80bf0c0: 1c5a adds r2, r3, #1 80bf0c2: 687b ldr r3, [r7, #4] 80bf0c4: 635a str r2, [r3, #52] ; 0x34 hsmbus->XferCount--; 80bf0c6: 687b ldr r3, [r7, #4] 80bf0c8: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf0ca: b29b uxth r3, r3 80bf0cc: 3b01 subs r3, #1 80bf0ce: b29a uxth r2, r3 80bf0d0: 687b ldr r3, [r7, #4] 80bf0d2: 875a strh r2, [r3, #58] ; 0x3a hsmbus->XferSize--; 80bf0d4: 687b ldr r3, [r7, #4] 80bf0d6: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf0d8: 3b01 subs r3, #1 80bf0da: b29a uxth r2, r3 80bf0dc: 687b ldr r3, [r7, #4] 80bf0de: 871a strh r2, [r3, #56] ; 0x38 } if (hsmbus->XferCount == 0U) 80bf0e0: 687b ldr r3, [r7, #4] 80bf0e2: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf0e4: b29b uxth r3, r3 80bf0e6: 2b00 cmp r3, #0 80bf0e8: d116 bne.n 80bf118 { /* Last Byte is Transmitted */ /* Remove HAL_SMBUS_STATE_SLAVE_BUSY_TX, keep only HAL_SMBUS_STATE_LISTEN */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80bf0ea: 21f2 movs r1, #242 ; 0xf2 80bf0ec: 6878 ldr r0, [r7, #4] 80bf0ee: f000 f8b8 bl 80bf262 hsmbus->PreviousState = hsmbus->State; 80bf0f2: 687b ldr r3, [r7, #4] 80bf0f4: 6c9a ldr r2, [r3, #72] ; 0x48 80bf0f6: 687b ldr r3, [r7, #4] 80bf0f8: 641a str r2, [r3, #64] ; 0x40 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_TX); 80bf0fa: 687b ldr r3, [r7, #4] 80bf0fc: 6c9b ldr r3, [r3, #72] ; 0x48 80bf0fe: f023 0232 bic.w r2, r3, #50 ; 0x32 80bf102: 687b ldr r3, [r7, #4] 80bf104: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf106: 687b ldr r3, [r7, #4] 80bf108: 2200 movs r2, #0 80bf10a: 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); 80bf10e: 6878 ldr r0, [r7, #4] 80bf110: f7ff fc83 bl 80bea1a 80bf114: e000 b.n 80bf118 if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bf116: bf00 nop { /* Nothing to do */ } /* Check if STOPF is set */ if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_STOPF) != RESET) 80bf118: 683b ldr r3, [r7, #0] 80bf11a: f003 0320 and.w r3, r3, #32 80bf11e: 2b00 cmp r3, #0 80bf120: d05a beq.n 80bf1d8 { if ((hsmbus->State & HAL_SMBUS_STATE_LISTEN) == HAL_SMBUS_STATE_LISTEN) 80bf122: 687b ldr r3, [r7, #4] 80bf124: 6c9b ldr r3, [r3, #72] ; 0x48 80bf126: f003 0308 and.w r3, r3, #8 80bf12a: 2b08 cmp r3, #8 80bf12c: d154 bne.n 80bf1d8 { /* Store Last receive data if any */ if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_RXNE) != RESET) 80bf12e: 687b ldr r3, [r7, #4] 80bf130: 681b ldr r3, [r3, #0] 80bf132: 699b ldr r3, [r3, #24] 80bf134: f003 0304 and.w r3, r3, #4 80bf138: 2b04 cmp r3, #4 80bf13a: d11c bne.n 80bf176 { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80bf13c: 687b ldr r3, [r7, #4] 80bf13e: 6b5b ldr r3, [r3, #52] ; 0x34 80bf140: 687a ldr r2, [r7, #4] 80bf142: 6812 ldr r2, [r2, #0] 80bf144: 6a52 ldr r2, [r2, #36] ; 0x24 80bf146: b2d2 uxtb r2, r2 80bf148: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80bf14a: 687b ldr r3, [r7, #4] 80bf14c: 6b5b ldr r3, [r3, #52] ; 0x34 80bf14e: 1c5a adds r2, r3, #1 80bf150: 687b ldr r3, [r7, #4] 80bf152: 635a str r2, [r3, #52] ; 0x34 if ((hsmbus->XferSize > 0U)) 80bf154: 687b ldr r3, [r7, #4] 80bf156: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf158: 2b00 cmp r3, #0 80bf15a: d00c beq.n 80bf176 { hsmbus->XferSize--; 80bf15c: 687b ldr r3, [r7, #4] 80bf15e: 8f1b ldrh r3, [r3, #56] ; 0x38 80bf160: 3b01 subs r3, #1 80bf162: b29a uxth r2, r3 80bf164: 687b ldr r3, [r7, #4] 80bf166: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bf168: 687b ldr r3, [r7, #4] 80bf16a: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bf16c: b29b uxth r3, r3 80bf16e: 3b01 subs r3, #1 80bf170: b29a uxth r2, r3 80bf172: 687b ldr r3, [r7, #4] 80bf174: 875a strh r2, [r3, #58] ; 0x3a } } /* Disable RX and TX Interrupts */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX | SMBUS_IT_TX); 80bf176: 21f6 movs r1, #246 ; 0xf6 80bf178: 6878 ldr r0, [r7, #4] 80bf17a: f000 f872 bl 80bf262 /* Disable ADDR Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_ADDR); 80bf17e: 2138 movs r1, #56 ; 0x38 80bf180: 6878 ldr r0, [r7, #4] 80bf182: f000 f86e bl 80bf262 /* Disable Address Acknowledge */ hsmbus->Instance->CR2 |= I2C_CR2_NACK; 80bf186: 687b ldr r3, [r7, #4] 80bf188: 681b ldr r3, [r3, #0] 80bf18a: 687a ldr r2, [r7, #4] 80bf18c: 6812 ldr r2, [r2, #0] 80bf18e: 6852 ldr r2, [r2, #4] 80bf190: f442 4200 orr.w r2, r2, #32768 ; 0x8000 80bf194: 605a str r2, [r3, #4] /* Clear Configuration Register 2 */ SMBUS_RESET_CR2(hsmbus); 80bf196: 687b ldr r3, [r7, #4] 80bf198: 681a ldr r2, [r3, #0] 80bf19a: 687b ldr r3, [r7, #4] 80bf19c: 681b ldr r3, [r3, #0] 80bf19e: 6859 ldr r1, [r3, #4] 80bf1a0: 4b12 ldr r3, [pc, #72] ; (80bf1ec ) 80bf1a2: 400b ands r3, r1 80bf1a4: 6053 str r3, [r2, #4] /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80bf1a6: 687b ldr r3, [r7, #4] 80bf1a8: 681b ldr r3, [r3, #0] 80bf1aa: 2220 movs r2, #32 80bf1ac: 61da str r2, [r3, #28] /* Clear ADDR flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ADDR); 80bf1ae: 687b ldr r3, [r7, #4] 80bf1b0: 681b ldr r3, [r3, #0] 80bf1b2: 2208 movs r2, #8 80bf1b4: 61da str r2, [r3, #28] hsmbus->XferOptions = 0; 80bf1b6: 687b ldr r3, [r7, #4] 80bf1b8: 2200 movs r2, #0 80bf1ba: 63da str r2, [r3, #60] ; 0x3c hsmbus->PreviousState = hsmbus->State; 80bf1bc: 687b ldr r3, [r7, #4] 80bf1be: 6c9a ldr r2, [r3, #72] ; 0x48 80bf1c0: 687b ldr r3, [r7, #4] 80bf1c2: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bf1c4: 687b ldr r3, [r7, #4] 80bf1c6: 2201 movs r2, #1 80bf1c8: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf1ca: 687b ldr r3, [r7, #4] 80bf1cc: 2200 movs r2, #0 80bf1ce: 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); 80bf1d2: 6878 ldr r0, [r7, #4] 80bf1d4: f7ff fc43 bl 80bea5e #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } } /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf1d8: 687b ldr r3, [r7, #4] 80bf1da: 2200 movs r2, #0 80bf1dc: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_OK; 80bf1e0: 2300 movs r3, #0 } 80bf1e2: 4618 mov r0, r3 80bf1e4: 3710 adds r7, #16 80bf1e6: 46bd mov sp, r7 80bf1e8: bd80 pop {r7, pc} 80bf1ea: bf00 nop 80bf1ec: fe00e800 .word 0xfe00e800 080bf1f0 : * the configuration information for the specified SMBUS. * @param InterruptRequest Value of @ref SMBUS_Interrupt_configuration_definition. * @retval HAL status */ static void SMBUS_Enable_IRQ(SMBUS_HandleTypeDef *hsmbus, uint32_t InterruptRequest) { 80bf1f0: b480 push {r7} 80bf1f2: b085 sub sp, #20 80bf1f4: af00 add r7, sp, #0 80bf1f6: 6078 str r0, [r7, #4] 80bf1f8: 6039 str r1, [r7, #0] uint32_t tmpisr = 0UL; 80bf1fa: 2300 movs r3, #0 80bf1fc: 60fb str r3, [r7, #12] if ((InterruptRequest & SMBUS_IT_ALERT) == SMBUS_IT_ALERT) 80bf1fe: 683b ldr r3, [r7, #0] 80bf200: f003 0380 and.w r3, r3, #128 ; 0x80 80bf204: 2b00 cmp r3, #0 80bf206: d003 beq.n 80bf210 { /* Enable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bf208: 68fb ldr r3, [r7, #12] 80bf20a: f043 0380 orr.w r3, r3, #128 ; 0x80 80bf20e: 60fb str r3, [r7, #12] } if ((InterruptRequest & SMBUS_IT_ADDR) == SMBUS_IT_ADDR) 80bf210: 683b ldr r3, [r7, #0] 80bf212: f003 0338 and.w r3, r3, #56 ; 0x38 80bf216: 2b38 cmp r3, #56 ; 0x38 80bf218: d103 bne.n 80bf222 { /* Enable ADDR, STOP interrupt */ tmpisr |= SMBUS_IT_ADDRI | SMBUS_IT_STOPI | SMBUS_IT_NACKI | SMBUS_IT_ERRI; 80bf21a: 68fb ldr r3, [r7, #12] 80bf21c: f043 03b8 orr.w r3, r3, #184 ; 0xb8 80bf220: 60fb str r3, [r7, #12] } if ((InterruptRequest & SMBUS_IT_TX) == SMBUS_IT_TX) 80bf222: 683b ldr r3, [r7, #0] 80bf224: f003 03f2 and.w r3, r3, #242 ; 0xf2 80bf228: 2bf2 cmp r3, #242 ; 0xf2 80bf22a: d103 bne.n 80bf234 { /* Enable ERR, TC, STOP, NACK, RXI interrupt */ tmpisr |= SMBUS_IT_ERRI | SMBUS_IT_TCI | SMBUS_IT_STOPI | SMBUS_IT_NACKI | SMBUS_IT_TXI; 80bf22c: 68fb ldr r3, [r7, #12] 80bf22e: f043 03f2 orr.w r3, r3, #242 ; 0xf2 80bf232: 60fb str r3, [r7, #12] } if ((InterruptRequest & SMBUS_IT_RX) == SMBUS_IT_RX) 80bf234: 683b ldr r3, [r7, #0] 80bf236: f003 03d4 and.w r3, r3, #212 ; 0xd4 80bf23a: 2bd4 cmp r3, #212 ; 0xd4 80bf23c: d103 bne.n 80bf246 { /* Enable ERR, TC, STOP, NACK, TXI interrupt */ tmpisr |= SMBUS_IT_ERRI | SMBUS_IT_TCI | SMBUS_IT_STOPI | SMBUS_IT_NACKI | SMBUS_IT_RXI; 80bf23e: 68fb ldr r3, [r7, #12] 80bf240: f043 03f4 orr.w r3, r3, #244 ; 0xf4 80bf244: 60fb str r3, [r7, #12] } /* Enable interrupts only at the end */ /* to avoid the risk of SMBUS interrupt handle execution before */ /* all interrupts requested done */ __HAL_SMBUS_ENABLE_IT(hsmbus, tmpisr); 80bf246: 687b ldr r3, [r7, #4] 80bf248: 681b ldr r3, [r3, #0] 80bf24a: 687a ldr r2, [r7, #4] 80bf24c: 6812 ldr r2, [r2, #0] 80bf24e: 6811 ldr r1, [r2, #0] 80bf250: 68fa ldr r2, [r7, #12] 80bf252: 430a orrs r2, r1 80bf254: 601a str r2, [r3, #0] } 80bf256: bf00 nop 80bf258: 3714 adds r7, #20 80bf25a: 46bd mov sp, r7 80bf25c: f85d 7b04 ldr.w r7, [sp], #4 80bf260: 4770 bx lr 080bf262 : * 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) { 80bf262: b480 push {r7} 80bf264: b085 sub sp, #20 80bf266: af00 add r7, sp, #0 80bf268: 6078 str r0, [r7, #4] 80bf26a: 6039 str r1, [r7, #0] uint32_t tmpisr = 0UL; 80bf26c: 2300 movs r3, #0 80bf26e: 60fb str r3, [r7, #12] uint32_t tmpstate = hsmbus->State; 80bf270: 687b ldr r3, [r7, #4] 80bf272: 6c9b ldr r3, [r3, #72] ; 0x48 80bf274: 60bb str r3, [r7, #8] if ((tmpstate == HAL_SMBUS_STATE_READY) && ((InterruptRequest & SMBUS_IT_ALERT) == SMBUS_IT_ALERT)) 80bf276: 68bb ldr r3, [r7, #8] 80bf278: 2b01 cmp r3, #1 80bf27a: d108 bne.n 80bf28e 80bf27c: 683b ldr r3, [r7, #0] 80bf27e: f003 0380 and.w r3, r3, #128 ; 0x80 80bf282: 2b00 cmp r3, #0 80bf284: d003 beq.n 80bf28e { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bf286: 68fb ldr r3, [r7, #12] 80bf288: f043 0380 orr.w r3, r3, #128 ; 0x80 80bf28c: 60fb str r3, [r7, #12] } if ((InterruptRequest & SMBUS_IT_TX) == SMBUS_IT_TX) 80bf28e: 683b ldr r3, [r7, #0] 80bf290: f003 03f2 and.w r3, r3, #242 ; 0xf2 80bf294: 2bf2 cmp r3, #242 ; 0xf2 80bf296: d11c bne.n 80bf2d2 { /* Disable TC, STOP, NACK and TXI interrupt */ tmpisr |= SMBUS_IT_TCI | SMBUS_IT_TXI; 80bf298: 68fb ldr r3, [r7, #12] 80bf29a: f043 0342 orr.w r3, r3, #66 ; 0x42 80bf29e: 60fb str r3, [r7, #12] if ((SMBUS_GET_ALERT_ENABLED(hsmbus) == 0UL) 80bf2a0: 687b ldr r3, [r7, #4] 80bf2a2: 681b ldr r3, [r3, #0] 80bf2a4: 681b ldr r3, [r3, #0] 80bf2a6: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bf2aa: 2b00 cmp r3, #0 80bf2ac: d108 bne.n 80bf2c0 && ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN)) 80bf2ae: 68bb ldr r3, [r7, #8] 80bf2b0: f003 0308 and.w r3, r3, #8 80bf2b4: 2b00 cmp r3, #0 80bf2b6: d103 bne.n 80bf2c0 { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bf2b8: 68fb ldr r3, [r7, #12] 80bf2ba: f043 0380 orr.w r3, r3, #128 ; 0x80 80bf2be: 60fb str r3, [r7, #12] } if ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN) 80bf2c0: 68bb ldr r3, [r7, #8] 80bf2c2: f003 0308 and.w r3, r3, #8 80bf2c6: 2b00 cmp r3, #0 80bf2c8: d103 bne.n 80bf2d2 { /* Disable STOP and NACK interrupt */ tmpisr |= SMBUS_IT_STOPI | SMBUS_IT_NACKI; 80bf2ca: 68fb ldr r3, [r7, #12] 80bf2cc: f043 0330 orr.w r3, r3, #48 ; 0x30 80bf2d0: 60fb str r3, [r7, #12] } } if ((InterruptRequest & SMBUS_IT_RX) == SMBUS_IT_RX) 80bf2d2: 683b ldr r3, [r7, #0] 80bf2d4: f003 03d4 and.w r3, r3, #212 ; 0xd4 80bf2d8: 2bd4 cmp r3, #212 ; 0xd4 80bf2da: d11c bne.n 80bf316 { /* Disable TC, STOP, NACK and RXI interrupt */ tmpisr |= SMBUS_IT_TCI | SMBUS_IT_RXI; 80bf2dc: 68fb ldr r3, [r7, #12] 80bf2de: f043 0344 orr.w r3, r3, #68 ; 0x44 80bf2e2: 60fb str r3, [r7, #12] if ((SMBUS_GET_ALERT_ENABLED(hsmbus) == 0UL) 80bf2e4: 687b ldr r3, [r7, #4] 80bf2e6: 681b ldr r3, [r3, #0] 80bf2e8: 681b ldr r3, [r3, #0] 80bf2ea: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bf2ee: 2b00 cmp r3, #0 80bf2f0: d108 bne.n 80bf304 && ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN)) 80bf2f2: 68bb ldr r3, [r7, #8] 80bf2f4: f003 0308 and.w r3, r3, #8 80bf2f8: 2b00 cmp r3, #0 80bf2fa: d103 bne.n 80bf304 { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bf2fc: 68fb ldr r3, [r7, #12] 80bf2fe: f043 0380 orr.w r3, r3, #128 ; 0x80 80bf302: 60fb str r3, [r7, #12] } if ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN) 80bf304: 68bb ldr r3, [r7, #8] 80bf306: f003 0308 and.w r3, r3, #8 80bf30a: 2b00 cmp r3, #0 80bf30c: d103 bne.n 80bf316 { /* Disable STOP and NACK interrupt */ tmpisr |= SMBUS_IT_STOPI | SMBUS_IT_NACKI; 80bf30e: 68fb ldr r3, [r7, #12] 80bf310: f043 0330 orr.w r3, r3, #48 ; 0x30 80bf314: 60fb str r3, [r7, #12] } } if ((InterruptRequest & SMBUS_IT_ADDR) == SMBUS_IT_ADDR) 80bf316: 683b ldr r3, [r7, #0] 80bf318: f003 0338 and.w r3, r3, #56 ; 0x38 80bf31c: 2b38 cmp r3, #56 ; 0x38 80bf31e: d10e bne.n 80bf33e { /* Disable ADDR, STOP and NACK interrupt */ tmpisr |= SMBUS_IT_ADDRI | SMBUS_IT_STOPI | SMBUS_IT_NACKI; 80bf320: 68fb ldr r3, [r7, #12] 80bf322: f043 0338 orr.w r3, r3, #56 ; 0x38 80bf326: 60fb str r3, [r7, #12] if (SMBUS_GET_ALERT_ENABLED(hsmbus) == 0UL) 80bf328: 687b ldr r3, [r7, #4] 80bf32a: 681b ldr r3, [r3, #0] 80bf32c: 681b ldr r3, [r3, #0] 80bf32e: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bf332: 2b00 cmp r3, #0 80bf334: d103 bne.n 80bf33e { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bf336: 68fb ldr r3, [r7, #12] 80bf338: f043 0380 orr.w r3, r3, #128 ; 0x80 80bf33c: 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); 80bf33e: 687b ldr r3, [r7, #4] 80bf340: 681b ldr r3, [r3, #0] 80bf342: 687a ldr r2, [r7, #4] 80bf344: 6812 ldr r2, [r2, #0] 80bf346: 6811 ldr r1, [r2, #0] 80bf348: 68fa ldr r2, [r7, #12] 80bf34a: 43d2 mvns r2, r2 80bf34c: 400a ands r2, r1 80bf34e: 601a str r2, [r3, #0] } 80bf350: bf00 nop 80bf352: 3714 adds r7, #20 80bf354: 46bd mov sp, r7 80bf356: f85d 7b04 ldr.w r7, [sp], #4 80bf35a: 4770 bx lr 080bf35c : * @brief SMBUS interrupts error handler. * @param hsmbus SMBUS handle. * @retval None */ static void SMBUS_ITErrorHandler(SMBUS_HandleTypeDef *hsmbus) { 80bf35c: b580 push {r7, lr} 80bf35e: b086 sub sp, #24 80bf360: af00 add r7, sp, #0 80bf362: 6078 str r0, [r7, #4] uint32_t itflags = READ_REG(hsmbus->Instance->ISR); 80bf364: 687b ldr r3, [r7, #4] 80bf366: 681b ldr r3, [r3, #0] 80bf368: 699b ldr r3, [r3, #24] 80bf36a: 617b str r3, [r7, #20] uint32_t itsources = READ_REG(hsmbus->Instance->CR1); 80bf36c: 687b ldr r3, [r7, #4] 80bf36e: 681b ldr r3, [r3, #0] 80bf370: 681b ldr r3, [r3, #0] 80bf372: 613b str r3, [r7, #16] uint32_t tmpstate; uint32_t tmperror; /* SMBUS Bus error interrupt occurred ------------------------------------*/ if (((itflags & SMBUS_FLAG_BERR) == SMBUS_FLAG_BERR) && \ 80bf374: 697b ldr r3, [r7, #20] 80bf376: f403 7380 and.w r3, r3, #256 ; 0x100 80bf37a: 2b00 cmp r3, #0 80bf37c: d00f beq.n 80bf39e ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bf37e: 693b ldr r3, [r7, #16] 80bf380: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_BERR) == SMBUS_FLAG_BERR) && \ 80bf384: 2b00 cmp r3, #0 80bf386: d00a beq.n 80bf39e { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_BERR; 80bf388: 687b ldr r3, [r7, #4] 80bf38a: 6cdb ldr r3, [r3, #76] ; 0x4c 80bf38c: f043 0201 orr.w r2, r3, #1 80bf390: 687b ldr r3, [r7, #4] 80bf392: 64da str r2, [r3, #76] ; 0x4c /* Clear BERR flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_BERR); 80bf394: 687b ldr r3, [r7, #4] 80bf396: 681b ldr r3, [r3, #0] 80bf398: f44f 7280 mov.w r2, #256 ; 0x100 80bf39c: 61da str r2, [r3, #28] } /* SMBUS Over-Run/Under-Run interrupt occurred ----------------------------------------*/ if (((itflags & SMBUS_FLAG_OVR) == SMBUS_FLAG_OVR) && \ 80bf39e: 697b ldr r3, [r7, #20] 80bf3a0: f403 6380 and.w r3, r3, #1024 ; 0x400 80bf3a4: 2b00 cmp r3, #0 80bf3a6: d00f beq.n 80bf3c8 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bf3a8: 693b ldr r3, [r7, #16] 80bf3aa: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_OVR) == SMBUS_FLAG_OVR) && \ 80bf3ae: 2b00 cmp r3, #0 80bf3b0: d00a beq.n 80bf3c8 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_OVR; 80bf3b2: 687b ldr r3, [r7, #4] 80bf3b4: 6cdb ldr r3, [r3, #76] ; 0x4c 80bf3b6: f043 0208 orr.w r2, r3, #8 80bf3ba: 687b ldr r3, [r7, #4] 80bf3bc: 64da str r2, [r3, #76] ; 0x4c /* Clear OVR flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_OVR); 80bf3be: 687b ldr r3, [r7, #4] 80bf3c0: 681b ldr r3, [r3, #0] 80bf3c2: f44f 6280 mov.w r2, #1024 ; 0x400 80bf3c6: 61da str r2, [r3, #28] } /* SMBUS Arbitration Loss error interrupt occurred ------------------------------------*/ if (((itflags & SMBUS_FLAG_ARLO) == SMBUS_FLAG_ARLO) && \ 80bf3c8: 697b ldr r3, [r7, #20] 80bf3ca: f403 7300 and.w r3, r3, #512 ; 0x200 80bf3ce: 2b00 cmp r3, #0 80bf3d0: d00f beq.n 80bf3f2 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bf3d2: 693b ldr r3, [r7, #16] 80bf3d4: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_ARLO) == SMBUS_FLAG_ARLO) && \ 80bf3d8: 2b00 cmp r3, #0 80bf3da: d00a beq.n 80bf3f2 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ARLO; 80bf3dc: 687b ldr r3, [r7, #4] 80bf3de: 6cdb ldr r3, [r3, #76] ; 0x4c 80bf3e0: f043 0202 orr.w r2, r3, #2 80bf3e4: 687b ldr r3, [r7, #4] 80bf3e6: 64da str r2, [r3, #76] ; 0x4c /* Clear ARLO flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ARLO); 80bf3e8: 687b ldr r3, [r7, #4] 80bf3ea: 681b ldr r3, [r3, #0] 80bf3ec: f44f 7200 mov.w r2, #512 ; 0x200 80bf3f0: 61da str r2, [r3, #28] } /* SMBUS Timeout error interrupt occurred ---------------------------------------------*/ if (((itflags & SMBUS_FLAG_TIMEOUT) == SMBUS_FLAG_TIMEOUT) && \ 80bf3f2: 697b ldr r3, [r7, #20] 80bf3f4: f403 5380 and.w r3, r3, #4096 ; 0x1000 80bf3f8: 2b00 cmp r3, #0 80bf3fa: d00f beq.n 80bf41c ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bf3fc: 693b ldr r3, [r7, #16] 80bf3fe: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_TIMEOUT) == SMBUS_FLAG_TIMEOUT) && \ 80bf402: 2b00 cmp r3, #0 80bf404: d00a beq.n 80bf41c { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_BUSTIMEOUT; 80bf406: 687b ldr r3, [r7, #4] 80bf408: 6cdb ldr r3, [r3, #76] ; 0x4c 80bf40a: f043 0220 orr.w r2, r3, #32 80bf40e: 687b ldr r3, [r7, #4] 80bf410: 64da str r2, [r3, #76] ; 0x4c /* Clear TIMEOUT flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_TIMEOUT); 80bf412: 687b ldr r3, [r7, #4] 80bf414: 681b ldr r3, [r3, #0] 80bf416: f44f 5280 mov.w r2, #4096 ; 0x1000 80bf41a: 61da str r2, [r3, #28] } /* SMBUS Alert error interrupt occurred -----------------------------------------------*/ if (((itflags & SMBUS_FLAG_ALERT) == SMBUS_FLAG_ALERT) && \ 80bf41c: 697b ldr r3, [r7, #20] 80bf41e: f403 5300 and.w r3, r3, #8192 ; 0x2000 80bf422: 2b00 cmp r3, #0 80bf424: d00f beq.n 80bf446 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bf426: 693b ldr r3, [r7, #16] 80bf428: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_ALERT) == SMBUS_FLAG_ALERT) && \ 80bf42c: 2b00 cmp r3, #0 80bf42e: d00a beq.n 80bf446 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ALERT; 80bf430: 687b ldr r3, [r7, #4] 80bf432: 6cdb ldr r3, [r3, #76] ; 0x4c 80bf434: f043 0240 orr.w r2, r3, #64 ; 0x40 80bf438: 687b ldr r3, [r7, #4] 80bf43a: 64da str r2, [r3, #76] ; 0x4c /* Clear ALERT flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ALERT); 80bf43c: 687b ldr r3, [r7, #4] 80bf43e: 681b ldr r3, [r3, #0] 80bf440: f44f 5200 mov.w r2, #8192 ; 0x2000 80bf444: 61da str r2, [r3, #28] } /* SMBUS Packet Error Check error interrupt occurred ----------------------------------*/ if (((itflags & SMBUS_FLAG_PECERR) == SMBUS_FLAG_PECERR) && \ 80bf446: 697b ldr r3, [r7, #20] 80bf448: f403 6300 and.w r3, r3, #2048 ; 0x800 80bf44c: 2b00 cmp r3, #0 80bf44e: d00f beq.n 80bf470 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bf450: 693b ldr r3, [r7, #16] 80bf452: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_PECERR) == SMBUS_FLAG_PECERR) && \ 80bf456: 2b00 cmp r3, #0 80bf458: d00a beq.n 80bf470 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_PECERR; 80bf45a: 687b ldr r3, [r7, #4] 80bf45c: 6cdb ldr r3, [r3, #76] ; 0x4c 80bf45e: f043 0280 orr.w r2, r3, #128 ; 0x80 80bf462: 687b ldr r3, [r7, #4] 80bf464: 64da str r2, [r3, #76] ; 0x4c /* Clear PEC error flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_PECERR); 80bf466: 687b ldr r3, [r7, #4] 80bf468: 681b ldr r3, [r3, #0] 80bf46a: f44f 6200 mov.w r2, #2048 ; 0x800 80bf46e: 61da str r2, [r3, #28] } /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80bf470: 6878 ldr r0, [r7, #4] 80bf472: f000 f86c bl 80bf54e /* Store current volatile hsmbus->ErrorCode, misra rule */ tmperror = hsmbus->ErrorCode; 80bf476: 687b ldr r3, [r7, #4] 80bf478: 6cdb ldr r3, [r3, #76] ; 0x4c 80bf47a: 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)) 80bf47c: 68fb ldr r3, [r7, #12] 80bf47e: 2b00 cmp r3, #0 80bf480: d01d beq.n 80bf4be 80bf482: 68fb ldr r3, [r7, #12] 80bf484: 2b04 cmp r3, #4 80bf486: d01a beq.n 80bf4be { /* Do not Reset the HAL state in case of ALERT error */ if ((tmperror & HAL_SMBUS_ERROR_ALERT) != HAL_SMBUS_ERROR_ALERT) 80bf488: 68fb ldr r3, [r7, #12] 80bf48a: f003 0340 and.w r3, r3, #64 ; 0x40 80bf48e: 2b00 cmp r3, #0 80bf490: d112 bne.n 80bf4b8 { /* Store current volatile hsmbus->State, misra rule */ tmpstate = hsmbus->State; 80bf492: 687b ldr r3, [r7, #4] 80bf494: 6c9b ldr r3, [r3, #72] ; 0x48 80bf496: 60bb str r3, [r7, #8] if (((tmpstate & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) 80bf498: 68bb ldr r3, [r7, #8] 80bf49a: f003 0332 and.w r3, r3, #50 ; 0x32 80bf49e: 2b32 cmp r3, #50 ; 0x32 80bf4a0: d004 beq.n 80bf4ac || ((tmpstate & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX)) 80bf4a2: 68bb ldr r3, [r7, #8] 80bf4a4: f003 0342 and.w r3, r3, #66 ; 0x42 80bf4a8: 2b42 cmp r3, #66 ; 0x42 80bf4aa: d105 bne.n 80bf4b8 { /* Reset only HAL_SMBUS_STATE_SLAVE_BUSY_XX */ /* keep HAL_SMBUS_STATE_LISTEN if set */ hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80bf4ac: 687b ldr r3, [r7, #4] 80bf4ae: 2201 movs r2, #1 80bf4b0: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_LISTEN; 80bf4b2: 687b ldr r3, [r7, #4] 80bf4b4: 2208 movs r2, #8 80bf4b6: 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); 80bf4b8: 6878 ldr r0, [r7, #4] 80bf4ba: f7ff fada bl 80bea72 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } } 80bf4be: bf00 nop 80bf4c0: 3718 adds r7, #24 80bf4c2: 46bd mov sp, r7 80bf4c4: bd80 pop {r7, pc} 080bf4c6 : * @param Timeout Timeout duration * @retval HAL status */ static HAL_StatusTypeDef SMBUS_WaitOnFlagUntilTimeout(SMBUS_HandleTypeDef *hsmbus, uint32_t Flag, FlagStatus Status, uint32_t Timeout) { 80bf4c6: b580 push {r7, lr} 80bf4c8: b086 sub sp, #24 80bf4ca: af00 add r7, sp, #0 80bf4cc: 60f8 str r0, [r7, #12] 80bf4ce: 60b9 str r1, [r7, #8] 80bf4d0: 603b str r3, [r7, #0] 80bf4d2: 4613 mov r3, r2 80bf4d4: 71fb strb r3, [r7, #7] uint32_t tickstart = HAL_GetTick(); 80bf4d6: f7f7 fca5 bl 80b6e24 80bf4da: 6178 str r0, [r7, #20] /* Wait until flag is set */ while ((FlagStatus)(__HAL_SMBUS_GET_FLAG(hsmbus, Flag)) == Status) 80bf4dc: e021 b.n 80bf522 { /* Check for the Timeout */ if (Timeout != HAL_MAX_DELAY) 80bf4de: 683b ldr r3, [r7, #0] 80bf4e0: f1b3 3fff cmp.w r3, #4294967295 80bf4e4: d01d beq.n 80bf522 { if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0UL)) 80bf4e6: f7f7 fc9d bl 80b6e24 80bf4ea: 4602 mov r2, r0 80bf4ec: 697b ldr r3, [r7, #20] 80bf4ee: 1ad2 subs r2, r2, r3 80bf4f0: 683b ldr r3, [r7, #0] 80bf4f2: 429a cmp r2, r3 80bf4f4: d802 bhi.n 80bf4fc 80bf4f6: 683b ldr r3, [r7, #0] 80bf4f8: 2b00 cmp r3, #0 80bf4fa: d112 bne.n 80bf522 { hsmbus->PreviousState = hsmbus->State; 80bf4fc: 68fb ldr r3, [r7, #12] 80bf4fe: 6c9a ldr r2, [r3, #72] ; 0x48 80bf500: 68fb ldr r3, [r7, #12] 80bf502: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bf504: 68fb ldr r3, [r7, #12] 80bf506: 2201 movs r2, #1 80bf508: 649a str r2, [r3, #72] ; 0x48 /* Update SMBUS error code */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_HALTIMEOUT; 80bf50a: 68fb ldr r3, [r7, #12] 80bf50c: 6cdb ldr r3, [r3, #76] ; 0x4c 80bf50e: f043 0210 orr.w r2, r3, #16 80bf512: 68fb ldr r3, [r7, #12] 80bf514: 64da str r2, [r3, #76] ; 0x4c /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bf516: 68fb ldr r3, [r7, #12] 80bf518: 2200 movs r2, #0 80bf51a: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_ERROR; 80bf51e: 2301 movs r3, #1 80bf520: e011 b.n 80bf546 while ((FlagStatus)(__HAL_SMBUS_GET_FLAG(hsmbus, Flag)) == Status) 80bf522: 68fb ldr r3, [r7, #12] 80bf524: 681b ldr r3, [r3, #0] 80bf526: 699b ldr r3, [r3, #24] 80bf528: 43da mvns r2, r3 80bf52a: 68bb ldr r3, [r7, #8] 80bf52c: 4013 ands r3, r2 80bf52e: f3c3 0310 ubfx r3, r3, #0, #17 80bf532: 2b00 cmp r3, #0 80bf534: bf0c ite eq 80bf536: 2301 moveq r3, #1 80bf538: 2300 movne r3, #0 80bf53a: b2db uxtb r3, r3 80bf53c: 461a mov r2, r3 80bf53e: 79fb ldrb r3, [r7, #7] 80bf540: 429a cmp r2, r3 80bf542: d0cc beq.n 80bf4de } } } return HAL_OK; 80bf544: 2300 movs r3, #0 } 80bf546: 4618 mov r0, r3 80bf548: 3718 adds r7, #24 80bf54a: 46bd mov sp, r7 80bf54c: bd80 pop {r7, pc} 080bf54e : * @brief SMBUS Tx data register flush process. * @param hsmbus SMBUS handle. * @retval None */ static void SMBUS_Flush_TXDR(SMBUS_HandleTypeDef *hsmbus) { 80bf54e: b480 push {r7} 80bf550: b083 sub sp, #12 80bf552: af00 add r7, sp, #0 80bf554: 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) 80bf556: 687b ldr r3, [r7, #4] 80bf558: 681b ldr r3, [r3, #0] 80bf55a: 699b ldr r3, [r3, #24] 80bf55c: f003 0302 and.w r3, r3, #2 80bf560: 2b02 cmp r3, #2 80bf562: d103 bne.n 80bf56c { hsmbus->Instance->TXDR = 0x00U; 80bf564: 687b ldr r3, [r7, #4] 80bf566: 681b ldr r3, [r3, #0] 80bf568: 2200 movs r2, #0 80bf56a: 629a str r2, [r3, #40] ; 0x28 } /* Flush TX register if not empty */ if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_TXE) == RESET) 80bf56c: 687b ldr r3, [r7, #4] 80bf56e: 681b ldr r3, [r3, #0] 80bf570: 699b ldr r3, [r3, #24] 80bf572: f003 0301 and.w r3, r3, #1 80bf576: 2b01 cmp r3, #1 80bf578: d007 beq.n 80bf58a { __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_TXE); 80bf57a: 687b ldr r3, [r7, #4] 80bf57c: 681b ldr r3, [r3, #0] 80bf57e: 687a ldr r2, [r7, #4] 80bf580: 6812 ldr r2, [r2, #0] 80bf582: 6992 ldr r2, [r2, #24] 80bf584: f042 0201 orr.w r2, r2, #1 80bf588: 619a str r2, [r3, #24] } } 80bf58a: bf00 nop 80bf58c: 370c adds r7, #12 80bf58e: 46bd mov sp, r7 80bf590: f85d 7b04 ldr.w r7, [sp], #4 80bf594: 4770 bx lr ... 080bf598 : * @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) { 80bf598: b480 push {r7} 80bf59a: b085 sub sp, #20 80bf59c: af00 add r7, sp, #0 80bf59e: 60f8 str r0, [r7, #12] 80bf5a0: 607b str r3, [r7, #4] 80bf5a2: 460b mov r3, r1 80bf5a4: 817b strh r3, [r7, #10] 80bf5a6: 4613 mov r3, r2 80bf5a8: 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, 80bf5aa: 68fb ldr r3, [r7, #12] 80bf5ac: 681a ldr r2, [r3, #0] 80bf5ae: 68fb ldr r3, [r7, #12] 80bf5b0: 681b ldr r3, [r3, #0] 80bf5b2: 6859 ldr r1, [r3, #4] 80bf5b4: 69bb ldr r3, [r7, #24] 80bf5b6: 0d5b lsrs r3, r3, #21 80bf5b8: f403 6080 and.w r0, r3, #1024 ; 0x400 80bf5bc: 4b0b ldr r3, [pc, #44] ; (80bf5ec ) 80bf5be: 4303 orrs r3, r0 80bf5c0: 43db mvns r3, r3 80bf5c2: 4019 ands r1, r3 80bf5c4: 897b ldrh r3, [r7, #10] 80bf5c6: f3c3 0009 ubfx r0, r3, #0, #10 80bf5ca: 7a7b ldrb r3, [r7, #9] 80bf5cc: 041b lsls r3, r3, #16 80bf5ce: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80bf5d2: 4318 orrs r0, r3 80bf5d4: 687b ldr r3, [r7, #4] 80bf5d6: 4318 orrs r0, r3 80bf5d8: 69bb ldr r3, [r7, #24] 80bf5da: 4303 orrs r3, r0 80bf5dc: 430b orrs r3, r1 80bf5de: 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)); } 80bf5e0: bf00 nop 80bf5e2: 3714 adds r7, #20 80bf5e4: 46bd mov sp, r7 80bf5e6: f85d 7b04 ldr.w r7, [sp], #4 80bf5ea: 4770 bx lr 80bf5ec: 07ff63ff .word 0x07ff63ff 080bf5f0 : * @brief Convert SMBUSx OTHER_xxx XferOptions to functional XferOptions. * @param hsmbus SMBUS handle. * @retval None */ static void SMBUS_ConvertOtherXferOptions(SMBUS_HandleTypeDef *hsmbus) { 80bf5f0: b480 push {r7} 80bf5f2: b083 sub sp, #12 80bf5f4: af00 add r7, sp, #0 80bf5f6: 6078 str r0, [r7, #4] /* if user set XferOptions to SMBUS_OTHER_FRAME_NO_PEC */ /* it request implicitly to generate a restart condition */ /* set XferOptions to SMBUS_FIRST_FRAME */ if (hsmbus->XferOptions == SMBUS_OTHER_FRAME_NO_PEC) 80bf5f8: 687b ldr r3, [r7, #4] 80bf5fa: 6bdb ldr r3, [r3, #60] ; 0x3c 80bf5fc: 2baa cmp r3, #170 ; 0xaa 80bf5fe: d103 bne.n 80bf608 { hsmbus->XferOptions = SMBUS_FIRST_FRAME; 80bf600: 687b ldr r3, [r7, #4] 80bf602: 2200 movs r2, #0 80bf604: 63da str r2, [r3, #60] ; 0x3c } else { /* Nothing to do */ } } 80bf606: e01c b.n 80bf642 else if (hsmbus->XferOptions == SMBUS_OTHER_FRAME_WITH_PEC) 80bf608: 687b ldr r3, [r7, #4] 80bf60a: 6bdb ldr r3, [r3, #60] ; 0x3c 80bf60c: f5b3 4f2a cmp.w r3, #43520 ; 0xaa00 80bf610: d104 bne.n 80bf61c hsmbus->XferOptions = SMBUS_FIRST_FRAME | SMBUS_SENDPEC_MODE; 80bf612: 687b ldr r3, [r7, #4] 80bf614: f04f 6280 mov.w r2, #67108864 ; 0x4000000 80bf618: 63da str r2, [r3, #60] ; 0x3c } 80bf61a: e012 b.n 80bf642 else if (hsmbus->XferOptions == SMBUS_OTHER_AND_LAST_FRAME_NO_PEC) 80bf61c: 687b ldr r3, [r7, #4] 80bf61e: 6bdb ldr r3, [r3, #60] ; 0x3c 80bf620: f5b3 0f2a cmp.w r3, #11141120 ; 0xaa0000 80bf624: d104 bne.n 80bf630 hsmbus->XferOptions = SMBUS_FIRST_AND_LAST_FRAME_NO_PEC; 80bf626: 687b ldr r3, [r7, #4] 80bf628: f04f 7200 mov.w r2, #33554432 ; 0x2000000 80bf62c: 63da str r2, [r3, #60] ; 0x3c } 80bf62e: e008 b.n 80bf642 else if (hsmbus->XferOptions == SMBUS_OTHER_AND_LAST_FRAME_WITH_PEC) 80bf630: 687b ldr r3, [r7, #4] 80bf632: 6bdb ldr r3, [r3, #60] ; 0x3c 80bf634: f1b3 4f2a cmp.w r3, #2852126720 ; 0xaa000000 80bf638: d103 bne.n 80bf642 hsmbus->XferOptions = SMBUS_FIRST_AND_LAST_FRAME_WITH_PEC; 80bf63a: 687b ldr r3, [r7, #4] 80bf63c: f04f 62c0 mov.w r2, #100663296 ; 0x6000000 80bf640: 63da str r2, [r3, #60] ; 0x3c } 80bf642: bf00 nop 80bf644: 370c adds r7, #12 80bf646: 46bd mov sp, r7 80bf648: f85d 7b04 ldr.w r7, [sp], #4 80bf64c: 4770 bx lr 080bf64e : * @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) { 80bf64e: b580 push {r7, lr} 80bf650: b084 sub sp, #16 80bf652: af00 add r7, sp, #0 80bf654: 6078 str r0, [r7, #4] uint32_t frxth; /* Check the SPI handle allocation */ if (hspi == NULL) 80bf656: 687b ldr r3, [r7, #4] 80bf658: 2b00 cmp r3, #0 80bf65a: d101 bne.n 80bf660 { return HAL_ERROR; 80bf65c: 2301 movs r3, #1 80bf65e: e09b b.n 80bf798 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) 80bf660: 687b ldr r3, [r7, #4] 80bf662: 6a5b ldr r3, [r3, #36] ; 0x24 80bf664: 2b00 cmp r3, #0 80bf666: d108 bne.n 80bf67a { assert_param(IS_SPI_CPOL(hspi->Init.CLKPolarity)); assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase)); if (hspi->Init.Mode == SPI_MODE_MASTER) 80bf668: 687b ldr r3, [r7, #4] 80bf66a: 685b ldr r3, [r3, #4] 80bf66c: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bf670: d009 beq.n 80bf686 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; 80bf672: 687b ldr r3, [r7, #4] 80bf674: 2200 movs r2, #0 80bf676: 61da str r2, [r3, #28] 80bf678: e005 b.n 80bf686 else { assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); /* Force polarity and phase to TI protocaol requirements */ hspi->Init.CLKPolarity = SPI_POLARITY_LOW; 80bf67a: 687b ldr r3, [r7, #4] 80bf67c: 2200 movs r2, #0 80bf67e: 611a str r2, [r3, #16] hspi->Init.CLKPhase = SPI_PHASE_1EDGE; 80bf680: 687b ldr r3, [r7, #4] 80bf682: 2200 movs r2, #0 80bf684: 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; 80bf686: 687b ldr r3, [r7, #4] 80bf688: 2200 movs r2, #0 80bf68a: 629a str r2, [r3, #40] ; 0x28 #endif /* USE_SPI_CRC */ if (hspi->State == HAL_SPI_STATE_RESET) 80bf68c: 687b ldr r3, [r7, #4] 80bf68e: f893 305d ldrb.w r3, [r3, #93] ; 0x5d 80bf692: b2db uxtb r3, r3 80bf694: 2b00 cmp r3, #0 80bf696: d106 bne.n 80bf6a6 { /* Allocate lock resource and initialize it */ hspi->Lock = HAL_UNLOCKED; 80bf698: 687b ldr r3, [r7, #4] 80bf69a: 2200 movs r2, #0 80bf69c: 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); 80bf6a0: 6878 ldr r0, [r7, #4] 80bf6a2: f7f2 fb4d bl 80b1d40 #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ } hspi->State = HAL_SPI_STATE_BUSY; 80bf6a6: 687b ldr r3, [r7, #4] 80bf6a8: 2202 movs r2, #2 80bf6aa: f883 205d strb.w r2, [r3, #93] ; 0x5d /* Disable the selected SPI peripheral */ __HAL_SPI_DISABLE(hspi); 80bf6ae: 687b ldr r3, [r7, #4] 80bf6b0: 681b ldr r3, [r3, #0] 80bf6b2: 687a ldr r2, [r7, #4] 80bf6b4: 6812 ldr r2, [r2, #0] 80bf6b6: 6812 ldr r2, [r2, #0] 80bf6b8: f022 0240 bic.w r2, r2, #64 ; 0x40 80bf6bc: 601a str r2, [r3, #0] /* Align by default the rs fifo threshold on the data size */ if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) 80bf6be: 687b ldr r3, [r7, #4] 80bf6c0: 68db ldr r3, [r3, #12] 80bf6c2: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80bf6c6: d902 bls.n 80bf6ce { frxth = SPI_RXFIFO_THRESHOLD_HF; 80bf6c8: 2300 movs r3, #0 80bf6ca: 60fb str r3, [r7, #12] 80bf6cc: e002 b.n 80bf6d4 } else { frxth = SPI_RXFIFO_THRESHOLD_QF; 80bf6ce: f44f 5380 mov.w r3, #4096 ; 0x1000 80bf6d2: 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)) 80bf6d4: 687b ldr r3, [r7, #4] 80bf6d6: 68db ldr r3, [r3, #12] 80bf6d8: f5b3 6f70 cmp.w r3, #3840 ; 0xf00 80bf6dc: d007 beq.n 80bf6ee 80bf6de: 687b ldr r3, [r7, #4] 80bf6e0: 68db ldr r3, [r3, #12] 80bf6e2: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80bf6e6: d002 beq.n 80bf6ee { /* CRC must be disabled */ hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; 80bf6e8: 687b ldr r3, [r7, #4] 80bf6ea: 2200 movs r2, #0 80bf6ec: 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)) | 80bf6ee: 687b ldr r3, [r7, #4] 80bf6f0: 681b ldr r3, [r3, #0] 80bf6f2: 687a ldr r2, [r7, #4] 80bf6f4: 6852 ldr r2, [r2, #4] 80bf6f6: f402 7182 and.w r1, r2, #260 ; 0x104 80bf6fa: 687a ldr r2, [r7, #4] 80bf6fc: 6892 ldr r2, [r2, #8] 80bf6fe: f402 4204 and.w r2, r2, #33792 ; 0x8400 80bf702: 4311 orrs r1, r2 80bf704: 687a ldr r2, [r7, #4] 80bf706: 6912 ldr r2, [r2, #16] 80bf708: f002 0202 and.w r2, r2, #2 80bf70c: 4311 orrs r1, r2 80bf70e: 687a ldr r2, [r7, #4] 80bf710: 6952 ldr r2, [r2, #20] 80bf712: f002 0201 and.w r2, r2, #1 80bf716: 4311 orrs r1, r2 80bf718: 687a ldr r2, [r7, #4] 80bf71a: 6992 ldr r2, [r2, #24] 80bf71c: f402 7200 and.w r2, r2, #512 ; 0x200 80bf720: 4311 orrs r1, r2 80bf722: 687a ldr r2, [r7, #4] 80bf724: 69d2 ldr r2, [r2, #28] 80bf726: f002 0238 and.w r2, r2, #56 ; 0x38 80bf72a: 4311 orrs r1, r2 80bf72c: 687a ldr r2, [r7, #4] 80bf72e: 6a12 ldr r2, [r2, #32] 80bf730: f002 0280 and.w r2, r2, #128 ; 0x80 80bf734: 4311 orrs r1, r2 80bf736: 687a ldr r2, [r7, #4] 80bf738: 6a92 ldr r2, [r2, #40] ; 0x28 80bf73a: f402 5200 and.w r2, r2, #8192 ; 0x2000 80bf73e: 430a orrs r2, r1 80bf740: 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) | 80bf742: 687b ldr r3, [r7, #4] 80bf744: 681b ldr r3, [r3, #0] 80bf746: 687a ldr r2, [r7, #4] 80bf748: 6992 ldr r2, [r2, #24] 80bf74a: 0c12 lsrs r2, r2, #16 80bf74c: f002 0104 and.w r1, r2, #4 80bf750: 687a ldr r2, [r7, #4] 80bf752: 6a52 ldr r2, [r2, #36] ; 0x24 80bf754: f002 0210 and.w r2, r2, #16 80bf758: 4311 orrs r1, r2 80bf75a: 687a ldr r2, [r7, #4] 80bf75c: 6b52 ldr r2, [r2, #52] ; 0x34 80bf75e: f002 0208 and.w r2, r2, #8 80bf762: 4311 orrs r1, r2 80bf764: 687a ldr r2, [r7, #4] 80bf766: 68d2 ldr r2, [r2, #12] 80bf768: f402 6270 and.w r2, r2, #3840 ; 0xf00 80bf76c: 4311 orrs r1, r2 80bf76e: 68fa ldr r2, [r7, #12] 80bf770: f402 5280 and.w r2, r2, #4096 ; 0x1000 80bf774: 430a orrs r2, r1 80bf776: 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); 80bf778: 687b ldr r3, [r7, #4] 80bf77a: 681b ldr r3, [r3, #0] 80bf77c: 687a ldr r2, [r7, #4] 80bf77e: 6812 ldr r2, [r2, #0] 80bf780: 69d2 ldr r2, [r2, #28] 80bf782: f422 6200 bic.w r2, r2, #2048 ; 0x800 80bf786: 61da str r2, [r3, #28] #endif /* SPI_I2SCFGR_I2SMOD */ hspi->ErrorCode = HAL_SPI_ERROR_NONE; 80bf788: 687b ldr r3, [r7, #4] 80bf78a: 2200 movs r2, #0 80bf78c: 661a str r2, [r3, #96] ; 0x60 hspi->State = HAL_SPI_STATE_READY; 80bf78e: 687b ldr r3, [r7, #4] 80bf790: 2201 movs r2, #1 80bf792: f883 205d strb.w r2, [r3, #93] ; 0x5d return HAL_OK; 80bf796: 2300 movs r3, #0 } 80bf798: 4618 mov r0, r3 80bf79a: 3710 adds r7, #16 80bf79c: 46bd mov sp, r7 80bf79e: bd80 pop {r7, pc} 080bf7a0 : * @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) { 80bf7a0: b580 push {r7, lr} 80bf7a2: b08a sub sp, #40 ; 0x28 80bf7a4: af00 add r7, sp, #0 80bf7a6: 60f8 str r0, [r7, #12] 80bf7a8: 60b9 str r1, [r7, #8] 80bf7aa: 607a str r2, [r7, #4] 80bf7ac: 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; 80bf7ae: 2301 movs r3, #1 80bf7b0: 627b str r3, [r7, #36] ; 0x24 HAL_StatusTypeDef errorcode = HAL_OK; 80bf7b2: 2300 movs r3, #0 80bf7b4: 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); 80bf7b8: 68fb ldr r3, [r7, #12] 80bf7ba: f893 305c ldrb.w r3, [r3, #92] ; 0x5c 80bf7be: 2b01 cmp r3, #1 80bf7c0: d101 bne.n 80bf7c6 80bf7c2: 2302 movs r3, #2 80bf7c4: e1f8 b.n 80bfbb8 80bf7c6: 68fb ldr r3, [r7, #12] 80bf7c8: 2201 movs r2, #1 80bf7ca: f883 205c strb.w r2, [r3, #92] ; 0x5c /* Init tickstart for timeout management*/ tickstart = HAL_GetTick(); 80bf7ce: f7f7 fb29 bl 80b6e24 80bf7d2: 61f8 str r0, [r7, #28] /* Init temporary variables */ tmp_state = hspi->State; 80bf7d4: 68fb ldr r3, [r7, #12] 80bf7d6: f893 305d ldrb.w r3, [r3, #93] ; 0x5d 80bf7da: 76fb strb r3, [r7, #27] tmp_mode = hspi->Init.Mode; 80bf7dc: 68fb ldr r3, [r7, #12] 80bf7de: 685b ldr r3, [r3, #4] 80bf7e0: 617b str r3, [r7, #20] initial_TxXferCount = Size; 80bf7e2: 887b ldrh r3, [r7, #2] 80bf7e4: 827b strh r3, [r7, #18] initial_RxXferCount = Size; 80bf7e6: 887b ldrh r3, [r7, #2] 80bf7e8: 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) || \ 80bf7ea: 7efb ldrb r3, [r7, #27] 80bf7ec: 2b01 cmp r3, #1 80bf7ee: d00e beq.n 80bf80e 80bf7f0: 697b ldr r3, [r7, #20] 80bf7f2: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bf7f6: d106 bne.n 80bf806 ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_state == HAL_SPI_STATE_BUSY_RX)))) 80bf7f8: 68fb ldr r3, [r7, #12] 80bf7fa: 689b ldr r3, [r3, #8] 80bf7fc: 2b00 cmp r3, #0 80bf7fe: d102 bne.n 80bf806 80bf800: 7efb ldrb r3, [r7, #27] 80bf802: 2b04 cmp r3, #4 80bf804: d003 beq.n 80bf80e { errorcode = HAL_BUSY; 80bf806: 2302 movs r3, #2 80bf808: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80bf80c: e1ca b.n 80bfba4 } if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) 80bf80e: 68bb ldr r3, [r7, #8] 80bf810: 2b00 cmp r3, #0 80bf812: d005 beq.n 80bf820 80bf814: 687b ldr r3, [r7, #4] 80bf816: 2b00 cmp r3, #0 80bf818: d002 beq.n 80bf820 80bf81a: 887b ldrh r3, [r7, #2] 80bf81c: 2b00 cmp r3, #0 80bf81e: d103 bne.n 80bf828 { errorcode = HAL_ERROR; 80bf820: 2301 movs r3, #1 80bf822: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80bf826: e1bd b.n 80bfba4 } /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */ if (hspi->State != HAL_SPI_STATE_BUSY_RX) 80bf828: 68fb ldr r3, [r7, #12] 80bf82a: f893 305d ldrb.w r3, [r3, #93] ; 0x5d 80bf82e: b2db uxtb r3, r3 80bf830: 2b04 cmp r3, #4 80bf832: d003 beq.n 80bf83c { hspi->State = HAL_SPI_STATE_BUSY_TX_RX; 80bf834: 68fb ldr r3, [r7, #12] 80bf836: 2205 movs r2, #5 80bf838: f883 205d strb.w r2, [r3, #93] ; 0x5d } /* Set the transaction information */ hspi->ErrorCode = HAL_SPI_ERROR_NONE; 80bf83c: 68fb ldr r3, [r7, #12] 80bf83e: 2200 movs r2, #0 80bf840: 661a str r2, [r3, #96] ; 0x60 hspi->pRxBuffPtr = (uint8_t *)pRxData; 80bf842: 68fb ldr r3, [r7, #12] 80bf844: 687a ldr r2, [r7, #4] 80bf846: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount = Size; 80bf848: 68fb ldr r3, [r7, #12] 80bf84a: 887a ldrh r2, [r7, #2] 80bf84c: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 hspi->RxXferSize = Size; 80bf850: 68fb ldr r3, [r7, #12] 80bf852: 887a ldrh r2, [r7, #2] 80bf854: f8a3 2044 strh.w r2, [r3, #68] ; 0x44 hspi->pTxBuffPtr = (uint8_t *)pTxData; 80bf858: 68fb ldr r3, [r7, #12] 80bf85a: 68ba ldr r2, [r7, #8] 80bf85c: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount = Size; 80bf85e: 68fb ldr r3, [r7, #12] 80bf860: 887a ldrh r2, [r7, #2] 80bf862: 87da strh r2, [r3, #62] ; 0x3e hspi->TxXferSize = Size; 80bf864: 68fb ldr r3, [r7, #12] 80bf866: 887a ldrh r2, [r7, #2] 80bf868: 879a strh r2, [r3, #60] ; 0x3c /*Init field not used in handle to zero */ hspi->RxISR = NULL; 80bf86a: 68fb ldr r3, [r7, #12] 80bf86c: 2200 movs r2, #0 80bf86e: 64da str r2, [r3, #76] ; 0x4c hspi->TxISR = NULL; 80bf870: 68fb ldr r3, [r7, #12] 80bf872: 2200 movs r2, #0 80bf874: 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)) 80bf876: 68fb ldr r3, [r7, #12] 80bf878: 68db ldr r3, [r3, #12] 80bf87a: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80bf87e: d802 bhi.n 80bf886 80bf880: 8a3b ldrh r3, [r7, #16] 80bf882: 2b01 cmp r3, #1 80bf884: d908 bls.n 80bf898 { /* Set fiforxthreshold according the reception data length: 16bit */ CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); 80bf886: 68fb ldr r3, [r7, #12] 80bf888: 681b ldr r3, [r3, #0] 80bf88a: 68fa ldr r2, [r7, #12] 80bf88c: 6812 ldr r2, [r2, #0] 80bf88e: 6852 ldr r2, [r2, #4] 80bf890: f422 5280 bic.w r2, r2, #4096 ; 0x1000 80bf894: 605a str r2, [r3, #4] 80bf896: e007 b.n 80bf8a8 } else { /* Set fiforxthreshold according the reception data length: 8bit */ SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); 80bf898: 68fb ldr r3, [r7, #12] 80bf89a: 681b ldr r3, [r3, #0] 80bf89c: 68fa ldr r2, [r7, #12] 80bf89e: 6812 ldr r2, [r2, #0] 80bf8a0: 6852 ldr r2, [r2, #4] 80bf8a2: f442 5280 orr.w r2, r2, #4096 ; 0x1000 80bf8a6: 605a str r2, [r3, #4] } /* Check if the SPI is already enabled */ if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) 80bf8a8: 68fb ldr r3, [r7, #12] 80bf8aa: 681b ldr r3, [r3, #0] 80bf8ac: 681b ldr r3, [r3, #0] 80bf8ae: f003 0340 and.w r3, r3, #64 ; 0x40 80bf8b2: 2b40 cmp r3, #64 ; 0x40 80bf8b4: d007 beq.n 80bf8c6 { /* Enable SPI peripheral */ __HAL_SPI_ENABLE(hspi); 80bf8b6: 68fb ldr r3, [r7, #12] 80bf8b8: 681b ldr r3, [r3, #0] 80bf8ba: 68fa ldr r2, [r7, #12] 80bf8bc: 6812 ldr r2, [r2, #0] 80bf8be: 6812 ldr r2, [r2, #0] 80bf8c0: f042 0240 orr.w r2, r2, #64 ; 0x40 80bf8c4: 601a str r2, [r3, #0] } /* Transmit and Receive data in 16 Bit mode */ if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) 80bf8c6: 68fb ldr r3, [r7, #12] 80bf8c8: 68db ldr r3, [r3, #12] 80bf8ca: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80bf8ce: d97c bls.n 80bf9ca { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) 80bf8d0: 68fb ldr r3, [r7, #12] 80bf8d2: 685b ldr r3, [r3, #4] 80bf8d4: 2b00 cmp r3, #0 80bf8d6: d002 beq.n 80bf8de 80bf8d8: 8a7b ldrh r3, [r7, #18] 80bf8da: 2b01 cmp r3, #1 80bf8dc: d169 bne.n 80bf9b2 { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80bf8de: 68fb ldr r3, [r7, #12] 80bf8e0: 681b ldr r3, [r3, #0] 80bf8e2: 68fa ldr r2, [r7, #12] 80bf8e4: 6b92 ldr r2, [r2, #56] ; 0x38 80bf8e6: 8812 ldrh r2, [r2, #0] 80bf8e8: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80bf8ea: 68fb ldr r3, [r7, #12] 80bf8ec: 6b9b ldr r3, [r3, #56] ; 0x38 80bf8ee: 1c9a adds r2, r3, #2 80bf8f0: 68fb ldr r3, [r7, #12] 80bf8f2: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80bf8f4: 68fb ldr r3, [r7, #12] 80bf8f6: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bf8f8: b29b uxth r3, r3 80bf8fa: 3b01 subs r3, #1 80bf8fc: b29a uxth r2, r3 80bf8fe: 68fb ldr r3, [r7, #12] 80bf900: 87da strh r2, [r3, #62] ; 0x3e } while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80bf902: e056 b.n 80bf9b2 { /* Check TXE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)) 80bf904: 68fb ldr r3, [r7, #12] 80bf906: 681b ldr r3, [r3, #0] 80bf908: 689b ldr r3, [r3, #8] 80bf90a: f003 0302 and.w r3, r3, #2 80bf90e: 2b02 cmp r3, #2 80bf910: d11b bne.n 80bf94a 80bf912: 68fb ldr r3, [r7, #12] 80bf914: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bf916: b29b uxth r3, r3 80bf918: 2b00 cmp r3, #0 80bf91a: d016 beq.n 80bf94a 80bf91c: 6a7b ldr r3, [r7, #36] ; 0x24 80bf91e: 2b01 cmp r3, #1 80bf920: d113 bne.n 80bf94a { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80bf922: 68fb ldr r3, [r7, #12] 80bf924: 681b ldr r3, [r3, #0] 80bf926: 68fa ldr r2, [r7, #12] 80bf928: 6b92 ldr r2, [r2, #56] ; 0x38 80bf92a: 8812 ldrh r2, [r2, #0] 80bf92c: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80bf92e: 68fb ldr r3, [r7, #12] 80bf930: 6b9b ldr r3, [r3, #56] ; 0x38 80bf932: 1c9a adds r2, r3, #2 80bf934: 68fb ldr r3, [r7, #12] 80bf936: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80bf938: 68fb ldr r3, [r7, #12] 80bf93a: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bf93c: b29b uxth r3, r3 80bf93e: 3b01 subs r3, #1 80bf940: b29a uxth r2, r3 80bf942: 68fb ldr r3, [r7, #12] 80bf944: 87da strh r2, [r3, #62] ; 0x3e /* Next Data is a reception (Rx). Tx not allowed */ txallowed = 0U; 80bf946: 2300 movs r3, #0 80bf948: 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)) 80bf94a: 68fb ldr r3, [r7, #12] 80bf94c: 681b ldr r3, [r3, #0] 80bf94e: 689b ldr r3, [r3, #8] 80bf950: f003 0301 and.w r3, r3, #1 80bf954: 2b01 cmp r3, #1 80bf956: d11c bne.n 80bf992 80bf958: 68fb ldr r3, [r7, #12] 80bf95a: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bf95e: b29b uxth r3, r3 80bf960: 2b00 cmp r3, #0 80bf962: d016 beq.n 80bf992 { *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; 80bf964: 68fb ldr r3, [r7, #12] 80bf966: 6c1b ldr r3, [r3, #64] ; 0x40 80bf968: 68fa ldr r2, [r7, #12] 80bf96a: 6812 ldr r2, [r2, #0] 80bf96c: 68d2 ldr r2, [r2, #12] 80bf96e: b292 uxth r2, r2 80bf970: 801a strh r2, [r3, #0] hspi->pRxBuffPtr += sizeof(uint16_t); 80bf972: 68fb ldr r3, [r7, #12] 80bf974: 6c1b ldr r3, [r3, #64] ; 0x40 80bf976: 1c9a adds r2, r3, #2 80bf978: 68fb ldr r3, [r7, #12] 80bf97a: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount--; 80bf97c: 68fb ldr r3, [r7, #12] 80bf97e: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bf982: b29b uxth r3, r3 80bf984: 3b01 subs r3, #1 80bf986: b29a uxth r2, r3 80bf988: 68fb ldr r3, [r7, #12] 80bf98a: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 /* Next Data is a Transmission (Tx). Tx is allowed */ txallowed = 1U; 80bf98e: 2301 movs r3, #1 80bf990: 627b str r3, [r7, #36] ; 0x24 } if (((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) 80bf992: f7f7 fa47 bl 80b6e24 80bf996: 4602 mov r2, r0 80bf998: 69fb ldr r3, [r7, #28] 80bf99a: 1ad2 subs r2, r2, r3 80bf99c: 6b3b ldr r3, [r7, #48] ; 0x30 80bf99e: 429a cmp r2, r3 80bf9a0: d307 bcc.n 80bf9b2 80bf9a2: 6b3b ldr r3, [r7, #48] ; 0x30 80bf9a4: f1b3 3fff cmp.w r3, #4294967295 80bf9a8: d003 beq.n 80bf9b2 { errorcode = HAL_TIMEOUT; 80bf9aa: 2303 movs r3, #3 80bf9ac: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80bf9b0: e0f8 b.n 80bfba4 while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80bf9b2: 68fb ldr r3, [r7, #12] 80bf9b4: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bf9b6: b29b uxth r3, r3 80bf9b8: 2b00 cmp r3, #0 80bf9ba: d1a3 bne.n 80bf904 80bf9bc: 68fb ldr r3, [r7, #12] 80bf9be: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bf9c2: b29b uxth r3, r3 80bf9c4: 2b00 cmp r3, #0 80bf9c6: d19d bne.n 80bf904 80bf9c8: e0de b.n 80bfb88 } } /* Transmit and Receive data in 8 Bit mode */ else { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) 80bf9ca: 68fb ldr r3, [r7, #12] 80bf9cc: 685b ldr r3, [r3, #4] 80bf9ce: 2b00 cmp r3, #0 80bf9d0: d003 beq.n 80bf9da 80bf9d2: 8a7b ldrh r3, [r7, #18] 80bf9d4: 2b01 cmp r3, #1 80bf9d6: f040 80ca bne.w 80bfb6e { if (hspi->TxXferCount > 1U) 80bf9da: 68fb ldr r3, [r7, #12] 80bf9dc: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bf9de: b29b uxth r3, r3 80bf9e0: 2b01 cmp r3, #1 80bf9e2: d912 bls.n 80bfa0a { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80bf9e4: 68fb ldr r3, [r7, #12] 80bf9e6: 681b ldr r3, [r3, #0] 80bf9e8: 68fa ldr r2, [r7, #12] 80bf9ea: 6b92 ldr r2, [r2, #56] ; 0x38 80bf9ec: 8812 ldrh r2, [r2, #0] 80bf9ee: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80bf9f0: 68fb ldr r3, [r7, #12] 80bf9f2: 6b9b ldr r3, [r3, #56] ; 0x38 80bf9f4: 1c9a adds r2, r3, #2 80bf9f6: 68fb ldr r3, [r7, #12] 80bf9f8: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount -= 2U; 80bf9fa: 68fb ldr r3, [r7, #12] 80bf9fc: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bf9fe: b29b uxth r3, r3 80bfa00: 3b02 subs r3, #2 80bfa02: b29a uxth r2, r3 80bfa04: 68fb ldr r3, [r7, #12] 80bfa06: 87da strh r2, [r3, #62] ; 0x3e 80bfa08: e0b1 b.n 80bfb6e } else { *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr); 80bfa0a: 68fb ldr r3, [r7, #12] 80bfa0c: 681b ldr r3, [r3, #0] 80bfa0e: 330c adds r3, #12 80bfa10: 68fa ldr r2, [r7, #12] 80bfa12: 6b92 ldr r2, [r2, #56] ; 0x38 80bfa14: 7812 ldrb r2, [r2, #0] 80bfa16: 701a strb r2, [r3, #0] hspi->pTxBuffPtr++; 80bfa18: 68fb ldr r3, [r7, #12] 80bfa1a: 6b9b ldr r3, [r3, #56] ; 0x38 80bfa1c: 1c5a adds r2, r3, #1 80bfa1e: 68fb ldr r3, [r7, #12] 80bfa20: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80bfa22: 68fb ldr r3, [r7, #12] 80bfa24: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bfa26: b29b uxth r3, r3 80bfa28: 3b01 subs r3, #1 80bfa2a: b29a uxth r2, r3 80bfa2c: 68fb ldr r3, [r7, #12] 80bfa2e: 87da strh r2, [r3, #62] ; 0x3e } } while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80bfa30: e09d b.n 80bfb6e { /* Check TXE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)) 80bfa32: 68fb ldr r3, [r7, #12] 80bfa34: 681b ldr r3, [r3, #0] 80bfa36: 689b ldr r3, [r3, #8] 80bfa38: f003 0302 and.w r3, r3, #2 80bfa3c: 2b02 cmp r3, #2 80bfa3e: d134 bne.n 80bfaaa 80bfa40: 68fb ldr r3, [r7, #12] 80bfa42: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bfa44: b29b uxth r3, r3 80bfa46: 2b00 cmp r3, #0 80bfa48: d02f beq.n 80bfaaa 80bfa4a: 6a7b ldr r3, [r7, #36] ; 0x24 80bfa4c: 2b01 cmp r3, #1 80bfa4e: d12c bne.n 80bfaaa { if (hspi->TxXferCount > 1U) 80bfa50: 68fb ldr r3, [r7, #12] 80bfa52: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bfa54: b29b uxth r3, r3 80bfa56: 2b01 cmp r3, #1 80bfa58: d912 bls.n 80bfa80 { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80bfa5a: 68fb ldr r3, [r7, #12] 80bfa5c: 681b ldr r3, [r3, #0] 80bfa5e: 68fa ldr r2, [r7, #12] 80bfa60: 6b92 ldr r2, [r2, #56] ; 0x38 80bfa62: 8812 ldrh r2, [r2, #0] 80bfa64: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80bfa66: 68fb ldr r3, [r7, #12] 80bfa68: 6b9b ldr r3, [r3, #56] ; 0x38 80bfa6a: 1c9a adds r2, r3, #2 80bfa6c: 68fb ldr r3, [r7, #12] 80bfa6e: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount -= 2U; 80bfa70: 68fb ldr r3, [r7, #12] 80bfa72: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bfa74: b29b uxth r3, r3 80bfa76: 3b02 subs r3, #2 80bfa78: b29a uxth r2, r3 80bfa7a: 68fb ldr r3, [r7, #12] 80bfa7c: 87da strh r2, [r3, #62] ; 0x3e 80bfa7e: e012 b.n 80bfaa6 } else { *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr); 80bfa80: 68fb ldr r3, [r7, #12] 80bfa82: 681b ldr r3, [r3, #0] 80bfa84: 330c adds r3, #12 80bfa86: 68fa ldr r2, [r7, #12] 80bfa88: 6b92 ldr r2, [r2, #56] ; 0x38 80bfa8a: 7812 ldrb r2, [r2, #0] 80bfa8c: 701a strb r2, [r3, #0] hspi->pTxBuffPtr++; 80bfa8e: 68fb ldr r3, [r7, #12] 80bfa90: 6b9b ldr r3, [r3, #56] ; 0x38 80bfa92: 1c5a adds r2, r3, #1 80bfa94: 68fb ldr r3, [r7, #12] 80bfa96: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80bfa98: 68fb ldr r3, [r7, #12] 80bfa9a: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bfa9c: b29b uxth r3, r3 80bfa9e: 3b01 subs r3, #1 80bfaa0: b29a uxth r2, r3 80bfaa2: 68fb ldr r3, [r7, #12] 80bfaa4: 87da strh r2, [r3, #62] ; 0x3e } /* Next Data is a reception (Rx). Tx not allowed */ txallowed = 0U; 80bfaa6: 2300 movs r3, #0 80bfaa8: 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)) 80bfaaa: 68fb ldr r3, [r7, #12] 80bfaac: 681b ldr r3, [r3, #0] 80bfaae: 689b ldr r3, [r3, #8] 80bfab0: f003 0301 and.w r3, r3, #1 80bfab4: 2b01 cmp r3, #1 80bfab6: d147 bne.n 80bfb48 80bfab8: 68fb ldr r3, [r7, #12] 80bfaba: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bfabe: b29b uxth r3, r3 80bfac0: 2b00 cmp r3, #0 80bfac2: d041 beq.n 80bfb48 { if (hspi->RxXferCount > 1U) 80bfac4: 68fb ldr r3, [r7, #12] 80bfac6: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bfaca: b29b uxth r3, r3 80bfacc: 2b01 cmp r3, #1 80bface: d923 bls.n 80bfb18 { *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; 80bfad0: 68fb ldr r3, [r7, #12] 80bfad2: 6c1b ldr r3, [r3, #64] ; 0x40 80bfad4: 68fa ldr r2, [r7, #12] 80bfad6: 6812 ldr r2, [r2, #0] 80bfad8: 68d2 ldr r2, [r2, #12] 80bfada: b292 uxth r2, r2 80bfadc: 801a strh r2, [r3, #0] hspi->pRxBuffPtr += sizeof(uint16_t); 80bfade: 68fb ldr r3, [r7, #12] 80bfae0: 6c1b ldr r3, [r3, #64] ; 0x40 80bfae2: 1c9a adds r2, r3, #2 80bfae4: 68fb ldr r3, [r7, #12] 80bfae6: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount -= 2U; 80bfae8: 68fb ldr r3, [r7, #12] 80bfaea: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bfaee: b29b uxth r3, r3 80bfaf0: 3b02 subs r3, #2 80bfaf2: b29a uxth r2, r3 80bfaf4: 68fb ldr r3, [r7, #12] 80bfaf6: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 if (hspi->RxXferCount <= 1U) 80bfafa: 68fb ldr r3, [r7, #12] 80bfafc: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bfb00: b29b uxth r3, r3 80bfb02: 2b01 cmp r3, #1 80bfb04: d81e bhi.n 80bfb44 { /* Set RX Fifo threshold before to switch on 8 bit data size */ SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); 80bfb06: 68fb ldr r3, [r7, #12] 80bfb08: 681b ldr r3, [r3, #0] 80bfb0a: 68fa ldr r2, [r7, #12] 80bfb0c: 6812 ldr r2, [r2, #0] 80bfb0e: 6852 ldr r2, [r2, #4] 80bfb10: f442 5280 orr.w r2, r2, #4096 ; 0x1000 80bfb14: 605a str r2, [r3, #4] 80bfb16: e015 b.n 80bfb44 } } else { (*(uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR; 80bfb18: 68fb ldr r3, [r7, #12] 80bfb1a: 6c1b ldr r3, [r3, #64] ; 0x40 80bfb1c: 68fa ldr r2, [r7, #12] 80bfb1e: 6812 ldr r2, [r2, #0] 80bfb20: 320c adds r2, #12 80bfb22: 7812 ldrb r2, [r2, #0] 80bfb24: b2d2 uxtb r2, r2 80bfb26: 701a strb r2, [r3, #0] hspi->pRxBuffPtr++; 80bfb28: 68fb ldr r3, [r7, #12] 80bfb2a: 6c1b ldr r3, [r3, #64] ; 0x40 80bfb2c: 1c5a adds r2, r3, #1 80bfb2e: 68fb ldr r3, [r7, #12] 80bfb30: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount--; 80bfb32: 68fb ldr r3, [r7, #12] 80bfb34: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bfb38: b29b uxth r3, r3 80bfb3a: 3b01 subs r3, #1 80bfb3c: b29a uxth r2, r3 80bfb3e: 68fb ldr r3, [r7, #12] 80bfb40: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 } /* Next Data is a Transmission (Tx). Tx is allowed */ txallowed = 1U; 80bfb44: 2301 movs r3, #1 80bfb46: 627b str r3, [r7, #36] ; 0x24 } if ((((HAL_GetTick() - tickstart) >= Timeout) && ((Timeout != HAL_MAX_DELAY))) || (Timeout == 0U)) 80bfb48: f7f7 f96c bl 80b6e24 80bfb4c: 4602 mov r2, r0 80bfb4e: 69fb ldr r3, [r7, #28] 80bfb50: 1ad2 subs r2, r2, r3 80bfb52: 6b3b ldr r3, [r7, #48] ; 0x30 80bfb54: 429a cmp r2, r3 80bfb56: d303 bcc.n 80bfb60 80bfb58: 6b3b ldr r3, [r7, #48] ; 0x30 80bfb5a: f1b3 3fff cmp.w r3, #4294967295 80bfb5e: d102 bne.n 80bfb66 80bfb60: 6b3b ldr r3, [r7, #48] ; 0x30 80bfb62: 2b00 cmp r3, #0 80bfb64: d103 bne.n 80bfb6e { errorcode = HAL_TIMEOUT; 80bfb66: 2303 movs r3, #3 80bfb68: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80bfb6c: e01a b.n 80bfba4 while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80bfb6e: 68fb ldr r3, [r7, #12] 80bfb70: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bfb72: b29b uxth r3, r3 80bfb74: 2b00 cmp r3, #0 80bfb76: f47f af5c bne.w 80bfa32 80bfb7a: 68fb ldr r3, [r7, #12] 80bfb7c: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bfb80: b29b uxth r3, r3 80bfb82: 2b00 cmp r3, #0 80bfb84: f47f af55 bne.w 80bfa32 errorcode = HAL_ERROR; } #endif /* USE_SPI_CRC */ /* Check the end of the transaction */ if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK) 80bfb88: 69fa ldr r2, [r7, #28] 80bfb8a: 6b39 ldr r1, [r7, #48] ; 0x30 80bfb8c: 68f8 ldr r0, [r7, #12] 80bfb8e: f000 f935 bl 80bfdfc 80bfb92: 4603 mov r3, r0 80bfb94: 2b00 cmp r3, #0 80bfb96: d005 beq.n 80bfba4 { errorcode = HAL_ERROR; 80bfb98: 2301 movs r3, #1 80bfb9a: f887 3023 strb.w r3, [r7, #35] ; 0x23 hspi->ErrorCode = HAL_SPI_ERROR_FLAG; 80bfb9e: 68fb ldr r3, [r7, #12] 80bfba0: 2220 movs r2, #32 80bfba2: 661a str r2, [r3, #96] ; 0x60 } error : hspi->State = HAL_SPI_STATE_READY; 80bfba4: 68fb ldr r3, [r7, #12] 80bfba6: 2201 movs r2, #1 80bfba8: f883 205d strb.w r2, [r3, #93] ; 0x5d __HAL_UNLOCK(hspi); 80bfbac: 68fb ldr r3, [r7, #12] 80bfbae: 2200 movs r2, #0 80bfbb0: f883 205c strb.w r2, [r3, #92] ; 0x5c return errorcode; 80bfbb4: f897 3023 ldrb.w r3, [r7, #35] ; 0x23 } 80bfbb8: 4618 mov r0, r3 80bfbba: 3728 adds r7, #40 ; 0x28 80bfbbc: 46bd mov sp, r7 80bfbbe: bd80 pop {r7, pc} 080bfbc0 : * @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) { 80bfbc0: b580 push {r7, lr} 80bfbc2: b088 sub sp, #32 80bfbc4: af00 add r7, sp, #0 80bfbc6: 60f8 str r0, [r7, #12] 80bfbc8: 60b9 str r1, [r7, #8] 80bfbca: 603b str r3, [r7, #0] 80bfbcc: 4613 mov r3, r2 80bfbce: 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); 80bfbd0: f7f7 f928 bl 80b6e24 80bfbd4: 4602 mov r2, r0 80bfbd6: 6abb ldr r3, [r7, #40] ; 0x28 80bfbd8: 1a9a subs r2, r3, r2 80bfbda: 683b ldr r3, [r7, #0] 80bfbdc: 4413 add r3, r2 80bfbde: 61fb str r3, [r7, #28] tmp_tickstart = HAL_GetTick(); 80bfbe0: f7f7 f920 bl 80b6e24 80bfbe4: 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); 80bfbe6: 4b39 ldr r3, [pc, #228] ; (80bfccc ) 80bfbe8: 681b ldr r3, [r3, #0] 80bfbea: 015b lsls r3, r3, #5 80bfbec: 0d1b lsrs r3, r3, #20 80bfbee: 69fa ldr r2, [r7, #28] 80bfbf0: fb02 f303 mul.w r3, r2, r3 80bfbf4: 617b str r3, [r7, #20] while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State) 80bfbf6: e054 b.n 80bfca2 { if (Timeout != HAL_MAX_DELAY) 80bfbf8: 683b ldr r3, [r7, #0] 80bfbfa: f1b3 3fff cmp.w r3, #4294967295 80bfbfe: d050 beq.n 80bfca2 { if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U)) 80bfc00: f7f7 f910 bl 80b6e24 80bfc04: 4602 mov r2, r0 80bfc06: 69bb ldr r3, [r7, #24] 80bfc08: 1ad2 subs r2, r2, r3 80bfc0a: 69fb ldr r3, [r7, #28] 80bfc0c: 429a cmp r2, r3 80bfc0e: d202 bcs.n 80bfc16 80bfc10: 69fb ldr r3, [r7, #28] 80bfc12: 2b00 cmp r3, #0 80bfc14: d13d bne.n 80bfc92 /* 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)); 80bfc16: 68fb ldr r3, [r7, #12] 80bfc18: 681b ldr r3, [r3, #0] 80bfc1a: 68fa ldr r2, [r7, #12] 80bfc1c: 6812 ldr r2, [r2, #0] 80bfc1e: 6852 ldr r2, [r2, #4] 80bfc20: f022 02e0 bic.w r2, r2, #224 ; 0xe0 80bfc24: 605a str r2, [r3, #4] if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) 80bfc26: 68fb ldr r3, [r7, #12] 80bfc28: 685b ldr r3, [r3, #4] 80bfc2a: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bfc2e: d111 bne.n 80bfc54 80bfc30: 68fb ldr r3, [r7, #12] 80bfc32: 689b ldr r3, [r3, #8] 80bfc34: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80bfc38: d004 beq.n 80bfc44 || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) 80bfc3a: 68fb ldr r3, [r7, #12] 80bfc3c: 689b ldr r3, [r3, #8] 80bfc3e: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80bfc42: d107 bne.n 80bfc54 { /* Disable SPI peripheral */ __HAL_SPI_DISABLE(hspi); 80bfc44: 68fb ldr r3, [r7, #12] 80bfc46: 681b ldr r3, [r3, #0] 80bfc48: 68fa ldr r2, [r7, #12] 80bfc4a: 6812 ldr r2, [r2, #0] 80bfc4c: 6812 ldr r2, [r2, #0] 80bfc4e: f022 0240 bic.w r2, r2, #64 ; 0x40 80bfc52: 601a str r2, [r3, #0] } /* Reset CRC Calculation */ if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 80bfc54: 68fb ldr r3, [r7, #12] 80bfc56: 6a9b ldr r3, [r3, #40] ; 0x28 80bfc58: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80bfc5c: d10f bne.n 80bfc7e { SPI_RESET_CRC(hspi); 80bfc5e: 68fb ldr r3, [r7, #12] 80bfc60: 681b ldr r3, [r3, #0] 80bfc62: 68fa ldr r2, [r7, #12] 80bfc64: 6812 ldr r2, [r2, #0] 80bfc66: 6812 ldr r2, [r2, #0] 80bfc68: f422 5200 bic.w r2, r2, #8192 ; 0x2000 80bfc6c: 601a str r2, [r3, #0] 80bfc6e: 68fb ldr r3, [r7, #12] 80bfc70: 681b ldr r3, [r3, #0] 80bfc72: 68fa ldr r2, [r7, #12] 80bfc74: 6812 ldr r2, [r2, #0] 80bfc76: 6812 ldr r2, [r2, #0] 80bfc78: f442 5200 orr.w r2, r2, #8192 ; 0x2000 80bfc7c: 601a str r2, [r3, #0] } hspi->State = HAL_SPI_STATE_READY; 80bfc7e: 68fb ldr r3, [r7, #12] 80bfc80: 2201 movs r2, #1 80bfc82: f883 205d strb.w r2, [r3, #93] ; 0x5d /* Process Unlocked */ __HAL_UNLOCK(hspi); 80bfc86: 68fb ldr r3, [r7, #12] 80bfc88: 2200 movs r2, #0 80bfc8a: f883 205c strb.w r2, [r3, #92] ; 0x5c return HAL_TIMEOUT; 80bfc8e: 2303 movs r3, #3 80bfc90: e017 b.n 80bfcc2 } /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop procedure */ if (count == 0U) 80bfc92: 697b ldr r3, [r7, #20] 80bfc94: 2b00 cmp r3, #0 80bfc96: d101 bne.n 80bfc9c { tmp_timeout = 0U; 80bfc98: 2300 movs r3, #0 80bfc9a: 61fb str r3, [r7, #28] } count--; 80bfc9c: 697b ldr r3, [r7, #20] 80bfc9e: 3b01 subs r3, #1 80bfca0: 617b str r3, [r7, #20] while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State) 80bfca2: 68fb ldr r3, [r7, #12] 80bfca4: 681b ldr r3, [r3, #0] 80bfca6: 689a ldr r2, [r3, #8] 80bfca8: 68bb ldr r3, [r7, #8] 80bfcaa: 401a ands r2, r3 80bfcac: 68bb ldr r3, [r7, #8] 80bfcae: 429a cmp r2, r3 80bfcb0: bf0c ite eq 80bfcb2: 2301 moveq r3, #1 80bfcb4: 2300 movne r3, #0 80bfcb6: b2db uxtb r3, r3 80bfcb8: 461a mov r2, r3 80bfcba: 79fb ldrb r3, [r7, #7] 80bfcbc: 429a cmp r2, r3 80bfcbe: d19b bne.n 80bfbf8 } } return HAL_OK; 80bfcc0: 2300 movs r3, #0 } 80bfcc2: 4618 mov r0, r3 80bfcc4: 3720 adds r7, #32 80bfcc6: 46bd mov sp, r7 80bfcc8: bd80 pop {r7, pc} 80bfcca: bf00 nop 80bfccc: 200209bc .word 0x200209bc 080bfcd0 : * @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) { 80bfcd0: b580 push {r7, lr} 80bfcd2: b08a sub sp, #40 ; 0x28 80bfcd4: af00 add r7, sp, #0 80bfcd6: 60f8 str r0, [r7, #12] 80bfcd8: 60b9 str r1, [r7, #8] 80bfcda: 607a str r2, [r7, #4] 80bfcdc: 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; 80bfcde: 2300 movs r3, #0 80bfce0: 75fb strb r3, [r7, #23] /* Adjust Timeout value in case of end of transfer */ tmp_timeout = Timeout - (HAL_GetTick() - Tickstart); 80bfce2: f7f7 f89f bl 80b6e24 80bfce6: 4602 mov r2, r0 80bfce8: 6b3b ldr r3, [r7, #48] ; 0x30 80bfcea: 1a9a subs r2, r3, r2 80bfcec: 683b ldr r3, [r7, #0] 80bfcee: 4413 add r3, r2 80bfcf0: 627b str r3, [r7, #36] ; 0x24 tmp_tickstart = HAL_GetTick(); 80bfcf2: f7f7 f897 bl 80b6e24 80bfcf6: 6238 str r0, [r7, #32] /* Initialize the 8bit temporary pointer */ ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR; 80bfcf8: 68fb ldr r3, [r7, #12] 80bfcfa: 681b ldr r3, [r3, #0] 80bfcfc: 330c adds r3, #12 80bfcfe: 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); 80bfd00: 4b3d ldr r3, [pc, #244] ; (80bfdf8 ) 80bfd02: 681a ldr r2, [r3, #0] 80bfd04: 4613 mov r3, r2 80bfd06: 009b lsls r3, r3, #2 80bfd08: 4413 add r3, r2 80bfd0a: 00da lsls r2, r3, #3 80bfd0c: 1ad3 subs r3, r2, r3 80bfd0e: 0d1b lsrs r3, r3, #20 80bfd10: 6a7a ldr r2, [r7, #36] ; 0x24 80bfd12: fb02 f303 mul.w r3, r2, r3 80bfd16: 61bb str r3, [r7, #24] while ((hspi->Instance->SR & Fifo) != State) 80bfd18: e060 b.n 80bfddc { if ((Fifo == SPI_SR_FRLVL) && (State == SPI_FRLVL_EMPTY)) 80bfd1a: 68bb ldr r3, [r7, #8] 80bfd1c: f5b3 6fc0 cmp.w r3, #1536 ; 0x600 80bfd20: d107 bne.n 80bfd32 80bfd22: 687b ldr r3, [r7, #4] 80bfd24: 2b00 cmp r3, #0 80bfd26: d104 bne.n 80bfd32 { /* Flush Data Register by a blank read */ tmpreg8 = *ptmpreg8; 80bfd28: 69fb ldr r3, [r7, #28] 80bfd2a: 781b ldrb r3, [r3, #0] 80bfd2c: b2db uxtb r3, r3 80bfd2e: 75fb strb r3, [r7, #23] /* To avoid GCC warning */ UNUSED(tmpreg8); 80bfd30: 7dfb ldrb r3, [r7, #23] } if (Timeout != HAL_MAX_DELAY) 80bfd32: 683b ldr r3, [r7, #0] 80bfd34: f1b3 3fff cmp.w r3, #4294967295 80bfd38: d050 beq.n 80bfddc { if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U)) 80bfd3a: f7f7 f873 bl 80b6e24 80bfd3e: 4602 mov r2, r0 80bfd40: 6a3b ldr r3, [r7, #32] 80bfd42: 1ad2 subs r2, r2, r3 80bfd44: 6a7b ldr r3, [r7, #36] ; 0x24 80bfd46: 429a cmp r2, r3 80bfd48: d202 bcs.n 80bfd50 80bfd4a: 6a7b ldr r3, [r7, #36] ; 0x24 80bfd4c: 2b00 cmp r3, #0 80bfd4e: d13d bne.n 80bfdcc /* 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)); 80bfd50: 68fb ldr r3, [r7, #12] 80bfd52: 681b ldr r3, [r3, #0] 80bfd54: 68fa ldr r2, [r7, #12] 80bfd56: 6812 ldr r2, [r2, #0] 80bfd58: 6852 ldr r2, [r2, #4] 80bfd5a: f022 02e0 bic.w r2, r2, #224 ; 0xe0 80bfd5e: 605a str r2, [r3, #4] if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) 80bfd60: 68fb ldr r3, [r7, #12] 80bfd62: 685b ldr r3, [r3, #4] 80bfd64: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bfd68: d111 bne.n 80bfd8e 80bfd6a: 68fb ldr r3, [r7, #12] 80bfd6c: 689b ldr r3, [r3, #8] 80bfd6e: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80bfd72: d004 beq.n 80bfd7e || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) 80bfd74: 68fb ldr r3, [r7, #12] 80bfd76: 689b ldr r3, [r3, #8] 80bfd78: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80bfd7c: d107 bne.n 80bfd8e { /* Disable SPI peripheral */ __HAL_SPI_DISABLE(hspi); 80bfd7e: 68fb ldr r3, [r7, #12] 80bfd80: 681b ldr r3, [r3, #0] 80bfd82: 68fa ldr r2, [r7, #12] 80bfd84: 6812 ldr r2, [r2, #0] 80bfd86: 6812 ldr r2, [r2, #0] 80bfd88: f022 0240 bic.w r2, r2, #64 ; 0x40 80bfd8c: 601a str r2, [r3, #0] } /* Reset CRC Calculation */ if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 80bfd8e: 68fb ldr r3, [r7, #12] 80bfd90: 6a9b ldr r3, [r3, #40] ; 0x28 80bfd92: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80bfd96: d10f bne.n 80bfdb8 { SPI_RESET_CRC(hspi); 80bfd98: 68fb ldr r3, [r7, #12] 80bfd9a: 681b ldr r3, [r3, #0] 80bfd9c: 68fa ldr r2, [r7, #12] 80bfd9e: 6812 ldr r2, [r2, #0] 80bfda0: 6812 ldr r2, [r2, #0] 80bfda2: f422 5200 bic.w r2, r2, #8192 ; 0x2000 80bfda6: 601a str r2, [r3, #0] 80bfda8: 68fb ldr r3, [r7, #12] 80bfdaa: 681b ldr r3, [r3, #0] 80bfdac: 68fa ldr r2, [r7, #12] 80bfdae: 6812 ldr r2, [r2, #0] 80bfdb0: 6812 ldr r2, [r2, #0] 80bfdb2: f442 5200 orr.w r2, r2, #8192 ; 0x2000 80bfdb6: 601a str r2, [r3, #0] } hspi->State = HAL_SPI_STATE_READY; 80bfdb8: 68fb ldr r3, [r7, #12] 80bfdba: 2201 movs r2, #1 80bfdbc: f883 205d strb.w r2, [r3, #93] ; 0x5d /* Process Unlocked */ __HAL_UNLOCK(hspi); 80bfdc0: 68fb ldr r3, [r7, #12] 80bfdc2: 2200 movs r2, #0 80bfdc4: f883 205c strb.w r2, [r3, #92] ; 0x5c return HAL_TIMEOUT; 80bfdc8: 2303 movs r3, #3 80bfdca: e010 b.n 80bfdee } /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop procedure */ if (count == 0U) 80bfdcc: 69bb ldr r3, [r7, #24] 80bfdce: 2b00 cmp r3, #0 80bfdd0: d101 bne.n 80bfdd6 { tmp_timeout = 0U; 80bfdd2: 2300 movs r3, #0 80bfdd4: 627b str r3, [r7, #36] ; 0x24 } count--; 80bfdd6: 69bb ldr r3, [r7, #24] 80bfdd8: 3b01 subs r3, #1 80bfdda: 61bb str r3, [r7, #24] while ((hspi->Instance->SR & Fifo) != State) 80bfddc: 68fb ldr r3, [r7, #12] 80bfdde: 681b ldr r3, [r3, #0] 80bfde0: 689a ldr r2, [r3, #8] 80bfde2: 68bb ldr r3, [r7, #8] 80bfde4: 401a ands r2, r3 80bfde6: 687b ldr r3, [r7, #4] 80bfde8: 429a cmp r2, r3 80bfdea: d196 bne.n 80bfd1a } } return HAL_OK; 80bfdec: 2300 movs r3, #0 } 80bfdee: 4618 mov r0, r3 80bfdf0: 3728 adds r7, #40 ; 0x28 80bfdf2: 46bd mov sp, r7 80bfdf4: bd80 pop {r7, pc} 80bfdf6: bf00 nop 80bfdf8: 200209bc .word 0x200209bc 080bfdfc : * @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) { 80bfdfc: b580 push {r7, lr} 80bfdfe: b088 sub sp, #32 80bfe00: af02 add r7, sp, #8 80bfe02: 60f8 str r0, [r7, #12] 80bfe04: 60b9 str r1, [r7, #8] 80bfe06: 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) 80bfe08: 687b ldr r3, [r7, #4] 80bfe0a: 9300 str r3, [sp, #0] 80bfe0c: 68bb ldr r3, [r7, #8] 80bfe0e: 2200 movs r2, #0 80bfe10: f44f 51c0 mov.w r1, #6144 ; 0x1800 80bfe14: 68f8 ldr r0, [r7, #12] 80bfe16: f7ff ff5b bl 80bfcd0 80bfe1a: 4603 mov r3, r0 80bfe1c: 2b00 cmp r3, #0 80bfe1e: d007 beq.n 80bfe30 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 80bfe20: 68fb ldr r3, [r7, #12] 80bfe22: 6e1b ldr r3, [r3, #96] ; 0x60 80bfe24: f043 0220 orr.w r2, r3, #32 80bfe28: 68fb ldr r3, [r7, #12] 80bfe2a: 661a str r2, [r3, #96] ; 0x60 return HAL_TIMEOUT; 80bfe2c: 2303 movs r3, #3 80bfe2e: e046 b.n 80bfebe } /* Timeout in µs */ __IO uint32_t count = SPI_BSY_FLAG_WORKAROUND_TIMEOUT * (SystemCoreClock / 24U / 1000000U); 80bfe30: 4b25 ldr r3, [pc, #148] ; (80bfec8 ) 80bfe32: 681b ldr r3, [r3, #0] 80bfe34: 4a25 ldr r2, [pc, #148] ; (80bfecc ) 80bfe36: fba2 2303 umull r2, r3, r2, r3 80bfe3a: 0d5b lsrs r3, r3, #21 80bfe3c: f44f 727a mov.w r2, #1000 ; 0x3e8 80bfe40: fb02 f303 mul.w r3, r2, r3 80bfe44: 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) 80bfe46: 68fb ldr r3, [r7, #12] 80bfe48: 685b ldr r3, [r3, #4] 80bfe4a: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bfe4e: d112 bne.n 80bfe76 { /* Control the BSY flag */ if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK) 80bfe50: 687b ldr r3, [r7, #4] 80bfe52: 9300 str r3, [sp, #0] 80bfe54: 68bb ldr r3, [r7, #8] 80bfe56: 2200 movs r2, #0 80bfe58: 2180 movs r1, #128 ; 0x80 80bfe5a: 68f8 ldr r0, [r7, #12] 80bfe5c: f7ff feb0 bl 80bfbc0 80bfe60: 4603 mov r3, r0 80bfe62: 2b00 cmp r3, #0 80bfe64: d016 beq.n 80bfe94 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 80bfe66: 68fb ldr r3, [r7, #12] 80bfe68: 6e1b ldr r3, [r3, #96] ; 0x60 80bfe6a: f043 0220 orr.w r2, r3, #32 80bfe6e: 68fb ldr r3, [r7, #12] 80bfe70: 661a str r2, [r3, #96] ; 0x60 return HAL_TIMEOUT; 80bfe72: 2303 movs r3, #3 80bfe74: e023 b.n 80bfebe * 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) 80bfe76: 697b ldr r3, [r7, #20] 80bfe78: 2b00 cmp r3, #0 80bfe7a: d00a beq.n 80bfe92 { break; } count--; 80bfe7c: 697b ldr r3, [r7, #20] 80bfe7e: 3b01 subs r3, #1 80bfe80: 617b str r3, [r7, #20] } while (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_BSY) != RESET); 80bfe82: 68fb ldr r3, [r7, #12] 80bfe84: 681b ldr r3, [r3, #0] 80bfe86: 689b ldr r3, [r3, #8] 80bfe88: f003 0380 and.w r3, r3, #128 ; 0x80 80bfe8c: 2b80 cmp r3, #128 ; 0x80 80bfe8e: d0f2 beq.n 80bfe76 80bfe90: e000 b.n 80bfe94 break; 80bfe92: bf00 nop } /* Control if the RX fifo is empty */ if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, Timeout, Tickstart) != HAL_OK) 80bfe94: 687b ldr r3, [r7, #4] 80bfe96: 9300 str r3, [sp, #0] 80bfe98: 68bb ldr r3, [r7, #8] 80bfe9a: 2200 movs r2, #0 80bfe9c: f44f 61c0 mov.w r1, #1536 ; 0x600 80bfea0: 68f8 ldr r0, [r7, #12] 80bfea2: f7ff ff15 bl 80bfcd0 80bfea6: 4603 mov r3, r0 80bfea8: 2b00 cmp r3, #0 80bfeaa: d007 beq.n 80bfebc { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 80bfeac: 68fb ldr r3, [r7, #12] 80bfeae: 6e1b ldr r3, [r3, #96] ; 0x60 80bfeb0: f043 0220 orr.w r2, r3, #32 80bfeb4: 68fb ldr r3, [r7, #12] 80bfeb6: 661a str r2, [r3, #96] ; 0x60 return HAL_TIMEOUT; 80bfeb8: 2303 movs r3, #3 80bfeba: e000 b.n 80bfebe } return HAL_OK; 80bfebc: 2300 movs r3, #0 } 80bfebe: 4618 mov r0, r3 80bfec0: 3718 adds r7, #24 80bfec2: 46bd mov sp, r7 80bfec4: bd80 pop {r7, pc} 80bfec6: bf00 nop 80bfec8: 200209bc .word 0x200209bc 80bfecc: 165e9f81 .word 0x165e9f81 080bfed0 : * @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) { 80bfed0: b580 push {r7, lr} 80bfed2: b084 sub sp, #16 80bfed4: af00 add r7, sp, #0 80bfed6: 60f8 str r0, [r7, #12] 80bfed8: 60b9 str r1, [r7, #8] 80bfeda: 607a str r2, [r7, #4] /* Check the SRAM handle parameter */ if (hsram == NULL) 80bfedc: 68fb ldr r3, [r7, #12] 80bfede: 2b00 cmp r3, #0 80bfee0: d101 bne.n 80bfee6 { return HAL_ERROR; 80bfee2: 2301 movs r3, #1 80bfee4: e038 b.n 80bff58 } if (hsram->State == HAL_SRAM_STATE_RESET) 80bfee6: 68fb ldr r3, [r7, #12] 80bfee8: f893 3045 ldrb.w r3, [r3, #69] ; 0x45 80bfeec: b2db uxtb r3, r3 80bfeee: 2b00 cmp r3, #0 80bfef0: d106 bne.n 80bff00 { /* Allocate lock resource and initialize it */ hsram->Lock = HAL_UNLOCKED; 80bfef2: 68fb ldr r3, [r7, #12] 80bfef4: 2200 movs r2, #0 80bfef6: 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); 80bfefa: 68f8 ldr r0, [r7, #12] 80bfefc: f76f f9c4 bl 802f288 #endif /* USE_HAL_SRAM_REGISTER_CALLBACKS */ } /* Initialize SRAM control Interface */ (void)FMC_NORSRAM_Init(hsram->Instance, &(hsram->Init)); 80bff00: 68fb ldr r3, [r7, #12] 80bff02: 681a ldr r2, [r3, #0] 80bff04: 68fb ldr r3, [r7, #12] 80bff06: 3308 adds r3, #8 80bff08: 4619 mov r1, r3 80bff0a: 4610 mov r0, r2 80bff0c: f001 fb18 bl 80c1540 /* Initialize SRAM timing Interface */ (void)FMC_NORSRAM_Timing_Init(hsram->Instance, Timing, hsram->Init.NSBank); 80bff10: 68fb ldr r3, [r7, #12] 80bff12: 6818 ldr r0, [r3, #0] 80bff14: 68fb ldr r3, [r7, #12] 80bff16: 689b ldr r3, [r3, #8] 80bff18: 461a mov r2, r3 80bff1a: 68b9 ldr r1, [r7, #8] 80bff1c: f001 fba0 bl 80c1660 /* Initialize SRAM extended mode timing Interface */ (void)FMC_NORSRAM_Extended_Timing_Init(hsram->Extended, ExtTiming, hsram->Init.NSBank, 80bff20: 68fb ldr r3, [r7, #12] 80bff22: 6858 ldr r0, [r3, #4] 80bff24: 68fb ldr r3, [r7, #12] 80bff26: 689a ldr r2, [r3, #8] 80bff28: 68fb ldr r3, [r7, #12] 80bff2a: 6adb ldr r3, [r3, #44] ; 0x2c 80bff2c: 6879 ldr r1, [r7, #4] 80bff2e: f001 fbe7 bl 80c1700 hsram->Init.ExtendedMode); /* Enable the NORSRAM device */ __FMC_NORSRAM_ENABLE(hsram->Instance, hsram->Init.NSBank); 80bff32: 68fb ldr r3, [r7, #12] 80bff34: 681b ldr r3, [r3, #0] 80bff36: 68fa ldr r2, [r7, #12] 80bff38: 6892 ldr r2, [r2, #8] 80bff3a: 68f9 ldr r1, [r7, #12] 80bff3c: 6809 ldr r1, [r1, #0] 80bff3e: 68f8 ldr r0, [r7, #12] 80bff40: 6880 ldr r0, [r0, #8] 80bff42: f851 1020 ldr.w r1, [r1, r0, lsl #2] 80bff46: f041 0101 orr.w r1, r1, #1 80bff4a: f843 1022 str.w r1, [r3, r2, lsl #2] /* Initialize the SRAM controller state */ hsram->State = HAL_SRAM_STATE_READY; 80bff4e: 68fb ldr r3, [r7, #12] 80bff50: 2201 movs r2, #1 80bff52: f883 2045 strb.w r2, [r3, #69] ; 0x45 return HAL_OK; 80bff56: 2300 movs r3, #0 } 80bff58: 4618 mov r0, r3 80bff5a: 3710 adds r7, #16 80bff5c: 46bd mov sp, r7 80bff5e: bd80 pop {r7, pc} 080bff60 : * 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) { 80bff60: b580 push {r7, lr} 80bff62: b082 sub sp, #8 80bff64: af00 add r7, sp, #0 80bff66: 6078 str r0, [r7, #4] /* Check the TIM handle allocation */ if (htim == NULL) 80bff68: 687b ldr r3, [r7, #4] 80bff6a: 2b00 cmp r3, #0 80bff6c: d101 bne.n 80bff72 { return HAL_ERROR; 80bff6e: 2301 movs r3, #1 80bff70: e049 b.n 80c0006 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) 80bff72: 687b ldr r3, [r7, #4] 80bff74: f893 303d ldrb.w r3, [r3, #61] ; 0x3d 80bff78: b2db uxtb r3, r3 80bff7a: 2b00 cmp r3, #0 80bff7c: d106 bne.n 80bff8c { /* Allocate lock resource and initialize it */ htim->Lock = HAL_UNLOCKED; 80bff7e: 687b ldr r3, [r7, #4] 80bff80: 2200 movs r2, #0 80bff82: 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); 80bff86: 6878 ldr r0, [r7, #4] 80bff88: f7f2 f952 bl 80b2230 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80bff8c: 687b ldr r3, [r7, #4] 80bff8e: 2202 movs r2, #2 80bff90: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Set the Time Base configuration */ TIM_Base_SetConfig(htim->Instance, &htim->Init); 80bff94: 687b ldr r3, [r7, #4] 80bff96: 681a ldr r2, [r3, #0] 80bff98: 687b ldr r3, [r7, #4] 80bff9a: 3304 adds r3, #4 80bff9c: 4619 mov r1, r3 80bff9e: 4610 mov r0, r2 80bffa0: f000 fb72 bl 80c0688 /* Initialize the DMA burst operation state */ htim->DMABurstState = HAL_DMA_BURST_STATE_READY; 80bffa4: 687b ldr r3, [r7, #4] 80bffa6: 2201 movs r2, #1 80bffa8: f883 2048 strb.w r2, [r3, #72] ; 0x48 /* Initialize the TIM channels state */ TIM_CHANNEL_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); 80bffac: 687b ldr r3, [r7, #4] 80bffae: 2201 movs r2, #1 80bffb0: f883 203e strb.w r2, [r3, #62] ; 0x3e 80bffb4: 687b ldr r3, [r7, #4] 80bffb6: 2201 movs r2, #1 80bffb8: f883 203f strb.w r2, [r3, #63] ; 0x3f 80bffbc: 687b ldr r3, [r7, #4] 80bffbe: 2201 movs r2, #1 80bffc0: f883 2040 strb.w r2, [r3, #64] ; 0x40 80bffc4: 687b ldr r3, [r7, #4] 80bffc6: 2201 movs r2, #1 80bffc8: f883 2041 strb.w r2, [r3, #65] ; 0x41 80bffcc: 687b ldr r3, [r7, #4] 80bffce: 2201 movs r2, #1 80bffd0: f883 2042 strb.w r2, [r3, #66] ; 0x42 80bffd4: 687b ldr r3, [r7, #4] 80bffd6: 2201 movs r2, #1 80bffd8: f883 2043 strb.w r2, [r3, #67] ; 0x43 TIM_CHANNEL_N_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); 80bffdc: 687b ldr r3, [r7, #4] 80bffde: 2201 movs r2, #1 80bffe0: f883 2044 strb.w r2, [r3, #68] ; 0x44 80bffe4: 687b ldr r3, [r7, #4] 80bffe6: 2201 movs r2, #1 80bffe8: f883 2045 strb.w r2, [r3, #69] ; 0x45 80bffec: 687b ldr r3, [r7, #4] 80bffee: 2201 movs r2, #1 80bfff0: f883 2046 strb.w r2, [r3, #70] ; 0x46 80bfff4: 687b ldr r3, [r7, #4] 80bfff6: 2201 movs r2, #1 80bfff8: f883 2047 strb.w r2, [r3, #71] ; 0x47 /* Initialize the TIM state*/ htim->State = HAL_TIM_STATE_READY; 80bfffc: 687b ldr r3, [r7, #4] 80bfffe: 2201 movs r2, #1 80c0000: f883 203d strb.w r2, [r3, #61] ; 0x3d return HAL_OK; 80c0004: 2300 movs r3, #0 } 80c0006: 4618 mov r0, r3 80c0008: 3708 adds r7, #8 80c000a: 46bd mov sp, r7 80c000c: bd80 pop {r7, pc} ... 080c0010 : * @brief Starts the TIM Base generation. * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim) { 80c0010: b480 push {r7} 80c0012: b085 sub sp, #20 80c0014: af00 add r7, sp, #0 80c0016: 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) 80c0018: 687b ldr r3, [r7, #4] 80c001a: f893 303d ldrb.w r3, [r3, #61] ; 0x3d 80c001e: b2db uxtb r3, r3 80c0020: 2b01 cmp r3, #1 80c0022: d001 beq.n 80c0028 { return HAL_ERROR; 80c0024: 2301 movs r3, #1 80c0026: e04c b.n 80c00c2 } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80c0028: 687b ldr r3, [r7, #4] 80c002a: 2202 movs r2, #2 80c002c: 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)) 80c0030: 687b ldr r3, [r7, #4] 80c0032: 681b ldr r3, [r3, #0] 80c0034: 4a26 ldr r2, [pc, #152] ; (80c00d0 ) 80c0036: 4293 cmp r3, r2 80c0038: d022 beq.n 80c0080 80c003a: 687b ldr r3, [r7, #4] 80c003c: 681b ldr r3, [r3, #0] 80c003e: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80c0042: d01d beq.n 80c0080 80c0044: 687b ldr r3, [r7, #4] 80c0046: 681b ldr r3, [r3, #0] 80c0048: 4a22 ldr r2, [pc, #136] ; (80c00d4 ) 80c004a: 4293 cmp r3, r2 80c004c: d018 beq.n 80c0080 80c004e: 687b ldr r3, [r7, #4] 80c0050: 681b ldr r3, [r3, #0] 80c0052: 4a21 ldr r2, [pc, #132] ; (80c00d8 ) 80c0054: 4293 cmp r3, r2 80c0056: d013 beq.n 80c0080 80c0058: 687b ldr r3, [r7, #4] 80c005a: 681b ldr r3, [r3, #0] 80c005c: 4a1f ldr r2, [pc, #124] ; (80c00dc ) 80c005e: 4293 cmp r3, r2 80c0060: d00e beq.n 80c0080 80c0062: 687b ldr r3, [r7, #4] 80c0064: 681b ldr r3, [r3, #0] 80c0066: 4a1e ldr r2, [pc, #120] ; (80c00e0 ) 80c0068: 4293 cmp r3, r2 80c006a: d009 beq.n 80c0080 80c006c: 687b ldr r3, [r7, #4] 80c006e: 681b ldr r3, [r3, #0] 80c0070: 4a1c ldr r2, [pc, #112] ; (80c00e4 ) 80c0072: 4293 cmp r3, r2 80c0074: d004 beq.n 80c0080 80c0076: 687b ldr r3, [r7, #4] 80c0078: 681b ldr r3, [r3, #0] 80c007a: 4a1b ldr r2, [pc, #108] ; (80c00e8 ) 80c007c: 4293 cmp r3, r2 80c007e: d115 bne.n 80c00ac { tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; 80c0080: 687b ldr r3, [r7, #4] 80c0082: 681b ldr r3, [r3, #0] 80c0084: 689a ldr r2, [r3, #8] 80c0086: 4b19 ldr r3, [pc, #100] ; (80c00ec ) 80c0088: 4013 ands r3, r2 80c008a: 60fb str r3, [r7, #12] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80c008c: 68fb ldr r3, [r7, #12] 80c008e: 2b06 cmp r3, #6 80c0090: d015 beq.n 80c00be 80c0092: 68fb ldr r3, [r7, #12] 80c0094: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80c0098: d011 beq.n 80c00be { __HAL_TIM_ENABLE(htim); 80c009a: 687b ldr r3, [r7, #4] 80c009c: 681b ldr r3, [r3, #0] 80c009e: 687a ldr r2, [r7, #4] 80c00a0: 6812 ldr r2, [r2, #0] 80c00a2: 6812 ldr r2, [r2, #0] 80c00a4: f042 0201 orr.w r2, r2, #1 80c00a8: 601a str r2, [r3, #0] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80c00aa: e008 b.n 80c00be } } else { __HAL_TIM_ENABLE(htim); 80c00ac: 687b ldr r3, [r7, #4] 80c00ae: 681b ldr r3, [r3, #0] 80c00b0: 687a ldr r2, [r7, #4] 80c00b2: 6812 ldr r2, [r2, #0] 80c00b4: 6812 ldr r2, [r2, #0] 80c00b6: f042 0201 orr.w r2, r2, #1 80c00ba: 601a str r2, [r3, #0] 80c00bc: e000 b.n 80c00c0 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80c00be: bf00 nop } /* Return function status */ return HAL_OK; 80c00c0: 2300 movs r3, #0 } 80c00c2: 4618 mov r0, r3 80c00c4: 3714 adds r7, #20 80c00c6: 46bd mov sp, r7 80c00c8: f85d 7b04 ldr.w r7, [sp], #4 80c00cc: 4770 bx lr 80c00ce: bf00 nop 80c00d0: 40010000 .word 0x40010000 80c00d4: 40000400 .word 0x40000400 80c00d8: 40000800 .word 0x40000800 80c00dc: 40000c00 .word 0x40000c00 80c00e0: 40010400 .word 0x40010400 80c00e4: 40014000 .word 0x40014000 80c00e8: 40001800 .word 0x40001800 80c00ec: 00010007 .word 0x00010007 080c00f0 : * @brief Stops the TIM Base generation. * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Stop(TIM_HandleTypeDef *htim) { 80c00f0: b480 push {r7} 80c00f2: b083 sub sp, #12 80c00f4: af00 add r7, sp, #0 80c00f6: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_TIM_INSTANCE(htim->Instance)); /* Disable the Peripheral */ __HAL_TIM_DISABLE(htim); 80c00f8: 687b ldr r3, [r7, #4] 80c00fa: 681b ldr r3, [r3, #0] 80c00fc: 6a1a ldr r2, [r3, #32] 80c00fe: f241 1311 movw r3, #4369 ; 0x1111 80c0102: 4013 ands r3, r2 80c0104: 2b00 cmp r3, #0 80c0106: d10f bne.n 80c0128 80c0108: 687b ldr r3, [r7, #4] 80c010a: 681b ldr r3, [r3, #0] 80c010c: 6a1a ldr r2, [r3, #32] 80c010e: f240 4344 movw r3, #1092 ; 0x444 80c0112: 4013 ands r3, r2 80c0114: 2b00 cmp r3, #0 80c0116: d107 bne.n 80c0128 80c0118: 687b ldr r3, [r7, #4] 80c011a: 681b ldr r3, [r3, #0] 80c011c: 687a ldr r2, [r7, #4] 80c011e: 6812 ldr r2, [r2, #0] 80c0120: 6812 ldr r2, [r2, #0] 80c0122: f022 0201 bic.w r2, r2, #1 80c0126: 601a str r2, [r3, #0] /* Set the TIM state */ htim->State = HAL_TIM_STATE_READY; 80c0128: 687b ldr r3, [r7, #4] 80c012a: 2201 movs r2, #1 80c012c: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Return function status */ return HAL_OK; 80c0130: 2300 movs r3, #0 } 80c0132: 4618 mov r0, r3 80c0134: 370c adds r7, #12 80c0136: 46bd mov sp, r7 80c0138: f85d 7b04 ldr.w r7, [sp], #4 80c013c: 4770 bx lr ... 080c0140 : * @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) { 80c0140: b480 push {r7} 80c0142: b085 sub sp, #20 80c0144: af00 add r7, sp, #0 80c0146: 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) 80c0148: 687b ldr r3, [r7, #4] 80c014a: f893 303d ldrb.w r3, [r3, #61] ; 0x3d 80c014e: b2db uxtb r3, r3 80c0150: 2b01 cmp r3, #1 80c0152: d001 beq.n 80c0158 { return HAL_ERROR; 80c0154: 2301 movs r3, #1 80c0156: e054 b.n 80c0202 } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80c0158: 687b ldr r3, [r7, #4] 80c015a: 2202 movs r2, #2 80c015c: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Enable the TIM Update interrupt */ __HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE); 80c0160: 687b ldr r3, [r7, #4] 80c0162: 681b ldr r3, [r3, #0] 80c0164: 687a ldr r2, [r7, #4] 80c0166: 6812 ldr r2, [r2, #0] 80c0168: 68d2 ldr r2, [r2, #12] 80c016a: f042 0201 orr.w r2, r2, #1 80c016e: 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)) 80c0170: 687b ldr r3, [r7, #4] 80c0172: 681b ldr r3, [r3, #0] 80c0174: 4a26 ldr r2, [pc, #152] ; (80c0210 ) 80c0176: 4293 cmp r3, r2 80c0178: d022 beq.n 80c01c0 80c017a: 687b ldr r3, [r7, #4] 80c017c: 681b ldr r3, [r3, #0] 80c017e: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80c0182: d01d beq.n 80c01c0 80c0184: 687b ldr r3, [r7, #4] 80c0186: 681b ldr r3, [r3, #0] 80c0188: 4a22 ldr r2, [pc, #136] ; (80c0214 ) 80c018a: 4293 cmp r3, r2 80c018c: d018 beq.n 80c01c0 80c018e: 687b ldr r3, [r7, #4] 80c0190: 681b ldr r3, [r3, #0] 80c0192: 4a21 ldr r2, [pc, #132] ; (80c0218 ) 80c0194: 4293 cmp r3, r2 80c0196: d013 beq.n 80c01c0 80c0198: 687b ldr r3, [r7, #4] 80c019a: 681b ldr r3, [r3, #0] 80c019c: 4a1f ldr r2, [pc, #124] ; (80c021c ) 80c019e: 4293 cmp r3, r2 80c01a0: d00e beq.n 80c01c0 80c01a2: 687b ldr r3, [r7, #4] 80c01a4: 681b ldr r3, [r3, #0] 80c01a6: 4a1e ldr r2, [pc, #120] ; (80c0220 ) 80c01a8: 4293 cmp r3, r2 80c01aa: d009 beq.n 80c01c0 80c01ac: 687b ldr r3, [r7, #4] 80c01ae: 681b ldr r3, [r3, #0] 80c01b0: 4a1c ldr r2, [pc, #112] ; (80c0224 ) 80c01b2: 4293 cmp r3, r2 80c01b4: d004 beq.n 80c01c0 80c01b6: 687b ldr r3, [r7, #4] 80c01b8: 681b ldr r3, [r3, #0] 80c01ba: 4a1b ldr r2, [pc, #108] ; (80c0228 ) 80c01bc: 4293 cmp r3, r2 80c01be: d115 bne.n 80c01ec { tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; 80c01c0: 687b ldr r3, [r7, #4] 80c01c2: 681b ldr r3, [r3, #0] 80c01c4: 689a ldr r2, [r3, #8] 80c01c6: 4b19 ldr r3, [pc, #100] ; (80c022c ) 80c01c8: 4013 ands r3, r2 80c01ca: 60fb str r3, [r7, #12] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80c01cc: 68fb ldr r3, [r7, #12] 80c01ce: 2b06 cmp r3, #6 80c01d0: d015 beq.n 80c01fe 80c01d2: 68fb ldr r3, [r7, #12] 80c01d4: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80c01d8: d011 beq.n 80c01fe { __HAL_TIM_ENABLE(htim); 80c01da: 687b ldr r3, [r7, #4] 80c01dc: 681b ldr r3, [r3, #0] 80c01de: 687a ldr r2, [r7, #4] 80c01e0: 6812 ldr r2, [r2, #0] 80c01e2: 6812 ldr r2, [r2, #0] 80c01e4: f042 0201 orr.w r2, r2, #1 80c01e8: 601a str r2, [r3, #0] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80c01ea: e008 b.n 80c01fe } } else { __HAL_TIM_ENABLE(htim); 80c01ec: 687b ldr r3, [r7, #4] 80c01ee: 681b ldr r3, [r3, #0] 80c01f0: 687a ldr r2, [r7, #4] 80c01f2: 6812 ldr r2, [r2, #0] 80c01f4: 6812 ldr r2, [r2, #0] 80c01f6: f042 0201 orr.w r2, r2, #1 80c01fa: 601a str r2, [r3, #0] 80c01fc: e000 b.n 80c0200 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80c01fe: bf00 nop } /* Return function status */ return HAL_OK; 80c0200: 2300 movs r3, #0 } 80c0202: 4618 mov r0, r3 80c0204: 3714 adds r7, #20 80c0206: 46bd mov sp, r7 80c0208: f85d 7b04 ldr.w r7, [sp], #4 80c020c: 4770 bx lr 80c020e: bf00 nop 80c0210: 40010000 .word 0x40010000 80c0214: 40000400 .word 0x40000400 80c0218: 40000800 .word 0x40000800 80c021c: 40000c00 .word 0x40000c00 80c0220: 40010400 .word 0x40010400 80c0224: 40014000 .word 0x40014000 80c0228: 40001800 .word 0x40001800 80c022c: 00010007 .word 0x00010007 080c0230 : * @brief This function handles TIM interrupts requests. * @param htim TIM handle * @retval None */ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim) { 80c0230: b580 push {r7, lr} 80c0232: b082 sub sp, #8 80c0234: af00 add r7, sp, #0 80c0236: 6078 str r0, [r7, #4] /* Capture compare 1 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC1) != RESET) 80c0238: 687b ldr r3, [r7, #4] 80c023a: 681b ldr r3, [r3, #0] 80c023c: 691b ldr r3, [r3, #16] 80c023e: f003 0302 and.w r3, r3, #2 80c0242: 2b02 cmp r3, #2 80c0244: d122 bne.n 80c028c { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC1) != RESET) 80c0246: 687b ldr r3, [r7, #4] 80c0248: 681b ldr r3, [r3, #0] 80c024a: 68db ldr r3, [r3, #12] 80c024c: f003 0302 and.w r3, r3, #2 80c0250: 2b02 cmp r3, #2 80c0252: d11b bne.n 80c028c { { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC1); 80c0254: 687b ldr r3, [r7, #4] 80c0256: 681b ldr r3, [r3, #0] 80c0258: f06f 0202 mvn.w r2, #2 80c025c: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1; 80c025e: 687b ldr r3, [r7, #4] 80c0260: 2201 movs r2, #1 80c0262: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC1S) != 0x00U) 80c0264: 687b ldr r3, [r7, #4] 80c0266: 681b ldr r3, [r3, #0] 80c0268: 699b ldr r3, [r3, #24] 80c026a: f003 0303 and.w r3, r3, #3 80c026e: 2b00 cmp r3, #0 80c0270: d003 beq.n 80c027a { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80c0272: 6878 ldr r0, [r7, #4] 80c0274: f000 f9ea bl 80c064c 80c0278: e005 b.n 80c0286 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80c027a: 6878 ldr r0, [r7, #4] 80c027c: f000 f9dc bl 80c0638 HAL_TIM_PWM_PulseFinishedCallback(htim); 80c0280: 6878 ldr r0, [r7, #4] 80c0282: f000 f9ed bl 80c0660 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80c0286: 687b ldr r3, [r7, #4] 80c0288: 2200 movs r2, #0 80c028a: 771a strb r2, [r3, #28] } } } /* Capture compare 2 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC2) != RESET) 80c028c: 687b ldr r3, [r7, #4] 80c028e: 681b ldr r3, [r3, #0] 80c0290: 691b ldr r3, [r3, #16] 80c0292: f003 0304 and.w r3, r3, #4 80c0296: 2b04 cmp r3, #4 80c0298: d122 bne.n 80c02e0 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC2) != RESET) 80c029a: 687b ldr r3, [r7, #4] 80c029c: 681b ldr r3, [r3, #0] 80c029e: 68db ldr r3, [r3, #12] 80c02a0: f003 0304 and.w r3, r3, #4 80c02a4: 2b04 cmp r3, #4 80c02a6: d11b bne.n 80c02e0 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC2); 80c02a8: 687b ldr r3, [r7, #4] 80c02aa: 681b ldr r3, [r3, #0] 80c02ac: f06f 0204 mvn.w r2, #4 80c02b0: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2; 80c02b2: 687b ldr r3, [r7, #4] 80c02b4: 2202 movs r2, #2 80c02b6: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC2S) != 0x00U) 80c02b8: 687b ldr r3, [r7, #4] 80c02ba: 681b ldr r3, [r3, #0] 80c02bc: 699b ldr r3, [r3, #24] 80c02be: f403 7340 and.w r3, r3, #768 ; 0x300 80c02c2: 2b00 cmp r3, #0 80c02c4: d003 beq.n 80c02ce { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80c02c6: 6878 ldr r0, [r7, #4] 80c02c8: f000 f9c0 bl 80c064c 80c02cc: e005 b.n 80c02da { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80c02ce: 6878 ldr r0, [r7, #4] 80c02d0: f000 f9b2 bl 80c0638 HAL_TIM_PWM_PulseFinishedCallback(htim); 80c02d4: 6878 ldr r0, [r7, #4] 80c02d6: f000 f9c3 bl 80c0660 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80c02da: 687b ldr r3, [r7, #4] 80c02dc: 2200 movs r2, #0 80c02de: 771a strb r2, [r3, #28] } } /* Capture compare 3 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC3) != RESET) 80c02e0: 687b ldr r3, [r7, #4] 80c02e2: 681b ldr r3, [r3, #0] 80c02e4: 691b ldr r3, [r3, #16] 80c02e6: f003 0308 and.w r3, r3, #8 80c02ea: 2b08 cmp r3, #8 80c02ec: d122 bne.n 80c0334 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC3) != RESET) 80c02ee: 687b ldr r3, [r7, #4] 80c02f0: 681b ldr r3, [r3, #0] 80c02f2: 68db ldr r3, [r3, #12] 80c02f4: f003 0308 and.w r3, r3, #8 80c02f8: 2b08 cmp r3, #8 80c02fa: d11b bne.n 80c0334 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC3); 80c02fc: 687b ldr r3, [r7, #4] 80c02fe: 681b ldr r3, [r3, #0] 80c0300: f06f 0208 mvn.w r2, #8 80c0304: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3; 80c0306: 687b ldr r3, [r7, #4] 80c0308: 2204 movs r2, #4 80c030a: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC3S) != 0x00U) 80c030c: 687b ldr r3, [r7, #4] 80c030e: 681b ldr r3, [r3, #0] 80c0310: 69db ldr r3, [r3, #28] 80c0312: f003 0303 and.w r3, r3, #3 80c0316: 2b00 cmp r3, #0 80c0318: d003 beq.n 80c0322 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80c031a: 6878 ldr r0, [r7, #4] 80c031c: f000 f996 bl 80c064c 80c0320: e005 b.n 80c032e { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80c0322: 6878 ldr r0, [r7, #4] 80c0324: f000 f988 bl 80c0638 HAL_TIM_PWM_PulseFinishedCallback(htim); 80c0328: 6878 ldr r0, [r7, #4] 80c032a: f000 f999 bl 80c0660 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80c032e: 687b ldr r3, [r7, #4] 80c0330: 2200 movs r2, #0 80c0332: 771a strb r2, [r3, #28] } } /* Capture compare 4 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC4) != RESET) 80c0334: 687b ldr r3, [r7, #4] 80c0336: 681b ldr r3, [r3, #0] 80c0338: 691b ldr r3, [r3, #16] 80c033a: f003 0310 and.w r3, r3, #16 80c033e: 2b10 cmp r3, #16 80c0340: d122 bne.n 80c0388 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC4) != RESET) 80c0342: 687b ldr r3, [r7, #4] 80c0344: 681b ldr r3, [r3, #0] 80c0346: 68db ldr r3, [r3, #12] 80c0348: f003 0310 and.w r3, r3, #16 80c034c: 2b10 cmp r3, #16 80c034e: d11b bne.n 80c0388 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC4); 80c0350: 687b ldr r3, [r7, #4] 80c0352: 681b ldr r3, [r3, #0] 80c0354: f06f 0210 mvn.w r2, #16 80c0358: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4; 80c035a: 687b ldr r3, [r7, #4] 80c035c: 2208 movs r2, #8 80c035e: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC4S) != 0x00U) 80c0360: 687b ldr r3, [r7, #4] 80c0362: 681b ldr r3, [r3, #0] 80c0364: 69db ldr r3, [r3, #28] 80c0366: f403 7340 and.w r3, r3, #768 ; 0x300 80c036a: 2b00 cmp r3, #0 80c036c: d003 beq.n 80c0376 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80c036e: 6878 ldr r0, [r7, #4] 80c0370: f000 f96c bl 80c064c 80c0374: e005 b.n 80c0382 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80c0376: 6878 ldr r0, [r7, #4] 80c0378: f000 f95e bl 80c0638 HAL_TIM_PWM_PulseFinishedCallback(htim); 80c037c: 6878 ldr r0, [r7, #4] 80c037e: f000 f96f bl 80c0660 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80c0382: 687b ldr r3, [r7, #4] 80c0384: 2200 movs r2, #0 80c0386: 771a strb r2, [r3, #28] } } /* TIM Update event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_UPDATE) != RESET) 80c0388: 687b ldr r3, [r7, #4] 80c038a: 681b ldr r3, [r3, #0] 80c038c: 691b ldr r3, [r3, #16] 80c038e: f003 0301 and.w r3, r3, #1 80c0392: 2b01 cmp r3, #1 80c0394: d10e bne.n 80c03b4 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_UPDATE) != RESET) 80c0396: 687b ldr r3, [r7, #4] 80c0398: 681b ldr r3, [r3, #0] 80c039a: 68db ldr r3, [r3, #12] 80c039c: f003 0301 and.w r3, r3, #1 80c03a0: 2b01 cmp r3, #1 80c03a2: d107 bne.n 80c03b4 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE); 80c03a4: 687b ldr r3, [r7, #4] 80c03a6: 681b ldr r3, [r3, #0] 80c03a8: f06f 0201 mvn.w r2, #1 80c03ac: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->PeriodElapsedCallback(htim); #else HAL_TIM_PeriodElapsedCallback(htim); 80c03ae: 6878 ldr r0, [r7, #4] 80c03b0: f7f1 ff8c bl 80b22cc #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Break input event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET) 80c03b4: 687b ldr r3, [r7, #4] 80c03b6: 681b ldr r3, [r3, #0] 80c03b8: 691b ldr r3, [r3, #16] 80c03ba: f003 0380 and.w r3, r3, #128 ; 0x80 80c03be: 2b80 cmp r3, #128 ; 0x80 80c03c0: d10e bne.n 80c03e0 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET) 80c03c2: 687b ldr r3, [r7, #4] 80c03c4: 681b ldr r3, [r3, #0] 80c03c6: 68db ldr r3, [r3, #12] 80c03c8: f003 0380 and.w r3, r3, #128 ; 0x80 80c03cc: 2b80 cmp r3, #128 ; 0x80 80c03ce: d107 bne.n 80c03e0 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK); 80c03d0: 687b ldr r3, [r7, #4] 80c03d2: 681b ldr r3, [r3, #0] 80c03d4: f06f 0280 mvn.w r2, #128 ; 0x80 80c03d8: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->BreakCallback(htim); #else HAL_TIMEx_BreakCallback(htim); 80c03da: 6878 ldr r0, [r7, #4] 80c03dc: f000 fb26 bl 80c0a2c #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Break2 input event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK2) != RESET) 80c03e0: 687b ldr r3, [r7, #4] 80c03e2: 681b ldr r3, [r3, #0] 80c03e4: 691b ldr r3, [r3, #16] 80c03e6: f403 7380 and.w r3, r3, #256 ; 0x100 80c03ea: f5b3 7f80 cmp.w r3, #256 ; 0x100 80c03ee: d10e bne.n 80c040e { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET) 80c03f0: 687b ldr r3, [r7, #4] 80c03f2: 681b ldr r3, [r3, #0] 80c03f4: 68db ldr r3, [r3, #12] 80c03f6: f003 0380 and.w r3, r3, #128 ; 0x80 80c03fa: 2b80 cmp r3, #128 ; 0x80 80c03fc: d107 bne.n 80c040e { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK2); 80c03fe: 687b ldr r3, [r7, #4] 80c0400: 681b ldr r3, [r3, #0] 80c0402: f46f 7280 mvn.w r2, #256 ; 0x100 80c0406: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->Break2Callback(htim); #else HAL_TIMEx_Break2Callback(htim); 80c0408: 6878 ldr r0, [r7, #4] 80c040a: f000 fb19 bl 80c0a40 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Trigger detection event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_TRIGGER) != RESET) 80c040e: 687b ldr r3, [r7, #4] 80c0410: 681b ldr r3, [r3, #0] 80c0412: 691b ldr r3, [r3, #16] 80c0414: f003 0340 and.w r3, r3, #64 ; 0x40 80c0418: 2b40 cmp r3, #64 ; 0x40 80c041a: d10e bne.n 80c043a { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_TRIGGER) != RESET) 80c041c: 687b ldr r3, [r7, #4] 80c041e: 681b ldr r3, [r3, #0] 80c0420: 68db ldr r3, [r3, #12] 80c0422: f003 0340 and.w r3, r3, #64 ; 0x40 80c0426: 2b40 cmp r3, #64 ; 0x40 80c0428: d107 bne.n 80c043a { __HAL_TIM_CLEAR_IT(htim, TIM_IT_TRIGGER); 80c042a: 687b ldr r3, [r7, #4] 80c042c: 681b ldr r3, [r3, #0] 80c042e: f06f 0240 mvn.w r2, #64 ; 0x40 80c0432: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->TriggerCallback(htim); #else HAL_TIM_TriggerCallback(htim); 80c0434: 6878 ldr r0, [r7, #4] 80c0436: f000 f91d bl 80c0674 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM commutation event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_COM) != RESET) 80c043a: 687b ldr r3, [r7, #4] 80c043c: 681b ldr r3, [r3, #0] 80c043e: 691b ldr r3, [r3, #16] 80c0440: f003 0320 and.w r3, r3, #32 80c0444: 2b20 cmp r3, #32 80c0446: d10e bne.n 80c0466 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_COM) != RESET) 80c0448: 687b ldr r3, [r7, #4] 80c044a: 681b ldr r3, [r3, #0] 80c044c: 68db ldr r3, [r3, #12] 80c044e: f003 0320 and.w r3, r3, #32 80c0452: 2b20 cmp r3, #32 80c0454: d107 bne.n 80c0466 { __HAL_TIM_CLEAR_IT(htim, TIM_FLAG_COM); 80c0456: 687b ldr r3, [r7, #4] 80c0458: 681b ldr r3, [r3, #0] 80c045a: f06f 0220 mvn.w r2, #32 80c045e: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->CommutationCallback(htim); #else HAL_TIMEx_CommutCallback(htim); 80c0460: 6878 ldr r0, [r7, #4] 80c0462: f000 fad9 bl 80c0a18 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } } 80c0466: bf00 nop 80c0468: 3708 adds r7, #8 80c046a: 46bd mov sp, r7 80c046c: bd80 pop {r7, pc} 080c046e : * only for timer instances supporting break input(s). * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_GenerateEvent(TIM_HandleTypeDef *htim, uint32_t EventSource) { 80c046e: b480 push {r7} 80c0470: b083 sub sp, #12 80c0472: af00 add r7, sp, #0 80c0474: 6078 str r0, [r7, #4] 80c0476: 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); 80c0478: 687b ldr r3, [r7, #4] 80c047a: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80c047e: 2b01 cmp r3, #1 80c0480: d101 bne.n 80c0486 80c0482: 2302 movs r3, #2 80c0484: e014 b.n 80c04b0 80c0486: 687b ldr r3, [r7, #4] 80c0488: 2201 movs r2, #1 80c048a: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Change the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80c048e: 687b ldr r3, [r7, #4] 80c0490: 2202 movs r2, #2 80c0492: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Set the event sources */ htim->Instance->EGR = EventSource; 80c0496: 687b ldr r3, [r7, #4] 80c0498: 681b ldr r3, [r3, #0] 80c049a: 683a ldr r2, [r7, #0] 80c049c: 615a str r2, [r3, #20] /* Change the TIM state */ htim->State = HAL_TIM_STATE_READY; 80c049e: 687b ldr r3, [r7, #4] 80c04a0: 2201 movs r2, #1 80c04a2: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); 80c04a6: 687b ldr r3, [r7, #4] 80c04a8: 2200 movs r2, #0 80c04aa: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return HAL_OK; 80c04ae: 2300 movs r3, #0 } 80c04b0: 4618 mov r0, r3 80c04b2: 370c adds r7, #12 80c04b4: 46bd mov sp, r7 80c04b6: f85d 7b04 ldr.w r7, [sp], #4 80c04ba: 4770 bx lr 080c04bc : * @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) { 80c04bc: b580 push {r7, lr} 80c04be: b084 sub sp, #16 80c04c0: af00 add r7, sp, #0 80c04c2: 6078 str r0, [r7, #4] 80c04c4: 6039 str r1, [r7, #0] HAL_StatusTypeDef status = HAL_OK; 80c04c6: 2300 movs r3, #0 80c04c8: 73fb strb r3, [r7, #15] uint32_t tmpsmcr; /* Process Locked */ __HAL_LOCK(htim); 80c04ca: 687b ldr r3, [r7, #4] 80c04cc: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80c04d0: 2b01 cmp r3, #1 80c04d2: d101 bne.n 80c04d8 80c04d4: 2302 movs r3, #2 80c04d6: e0a9 b.n 80c062c 80c04d8: 687b ldr r3, [r7, #4] 80c04da: 2201 movs r2, #1 80c04dc: f883 203c strb.w r2, [r3, #60] ; 0x3c htim->State = HAL_TIM_STATE_BUSY; 80c04e0: 687b ldr r3, [r7, #4] 80c04e2: 2202 movs r2, #2 80c04e4: 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; 80c04e8: 687b ldr r3, [r7, #4] 80c04ea: 681b ldr r3, [r3, #0] 80c04ec: 689b ldr r3, [r3, #8] 80c04ee: 60bb str r3, [r7, #8] tmpsmcr &= ~(TIM_SMCR_SMS | TIM_SMCR_TS); 80c04f0: 68ba ldr r2, [r7, #8] 80c04f2: 4b50 ldr r3, [pc, #320] ; (80c0634 ) 80c04f4: 4013 ands r3, r2 80c04f6: 60bb str r3, [r7, #8] tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); 80c04f8: 68bb ldr r3, [r7, #8] 80c04fa: f423 437f bic.w r3, r3, #65280 ; 0xff00 80c04fe: 60bb str r3, [r7, #8] htim->Instance->SMCR = tmpsmcr; 80c0500: 687b ldr r3, [r7, #4] 80c0502: 681b ldr r3, [r3, #0] 80c0504: 68ba ldr r2, [r7, #8] 80c0506: 609a str r2, [r3, #8] switch (sClockSourceConfig->ClockSource) 80c0508: 683b ldr r3, [r7, #0] 80c050a: 681b ldr r3, [r3, #0] 80c050c: 2b40 cmp r3, #64 ; 0x40 80c050e: d067 beq.n 80c05e0 80c0510: 2b40 cmp r3, #64 ; 0x40 80c0512: d80b bhi.n 80c052c 80c0514: 2b10 cmp r3, #16 80c0516: d073 beq.n 80c0600 80c0518: 2b10 cmp r3, #16 80c051a: d802 bhi.n 80c0522 80c051c: 2b00 cmp r3, #0 80c051e: d06f beq.n 80c0600 80c0520: e077 b.n 80c0612 80c0522: 2b20 cmp r3, #32 80c0524: d06c beq.n 80c0600 80c0526: 2b30 cmp r3, #48 ; 0x30 80c0528: d06a beq.n 80c0600 80c052a: e072 b.n 80c0612 80c052c: 2b70 cmp r3, #112 ; 0x70 80c052e: d00d beq.n 80c054c 80c0530: 2b70 cmp r3, #112 ; 0x70 80c0532: d804 bhi.n 80c053e 80c0534: 2b50 cmp r3, #80 ; 0x50 80c0536: d033 beq.n 80c05a0 80c0538: 2b60 cmp r3, #96 ; 0x60 80c053a: d041 beq.n 80c05c0 80c053c: e069 b.n 80c0612 80c053e: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80c0542: d069 beq.n 80c0618 80c0544: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80c0548: d017 beq.n 80c057a 80c054a: e062 b.n 80c0612 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, 80c054c: 687b ldr r3, [r7, #4] 80c054e: 6818 ldr r0, [r3, #0] 80c0550: 683b ldr r3, [r7, #0] 80c0552: 6899 ldr r1, [r3, #8] 80c0554: 683b ldr r3, [r7, #0] 80c0556: 685a ldr r2, [r3, #4] 80c0558: 683b ldr r3, [r7, #0] 80c055a: 68db ldr r3, [r3, #12] 80c055c: f000 f9ae bl 80c08bc sClockSourceConfig->ClockPrescaler, sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); /* Select the External clock mode1 and the ETRF trigger */ tmpsmcr = htim->Instance->SMCR; 80c0560: 687b ldr r3, [r7, #4] 80c0562: 681b ldr r3, [r3, #0] 80c0564: 689b ldr r3, [r3, #8] 80c0566: 60bb str r3, [r7, #8] tmpsmcr |= (TIM_SLAVEMODE_EXTERNAL1 | TIM_CLOCKSOURCE_ETRMODE1); 80c0568: 68bb ldr r3, [r7, #8] 80c056a: f043 0377 orr.w r3, r3, #119 ; 0x77 80c056e: 60bb str r3, [r7, #8] /* Write to TIMx SMCR */ htim->Instance->SMCR = tmpsmcr; 80c0570: 687b ldr r3, [r7, #4] 80c0572: 681b ldr r3, [r3, #0] 80c0574: 68ba ldr r2, [r7, #8] 80c0576: 609a str r2, [r3, #8] break; 80c0578: e04f b.n 80c061a 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, 80c057a: 687b ldr r3, [r7, #4] 80c057c: 6818 ldr r0, [r3, #0] 80c057e: 683b ldr r3, [r7, #0] 80c0580: 6899 ldr r1, [r3, #8] 80c0582: 683b ldr r3, [r7, #0] 80c0584: 685a ldr r2, [r3, #4] 80c0586: 683b ldr r3, [r7, #0] 80c0588: 68db ldr r3, [r3, #12] 80c058a: f000 f997 bl 80c08bc sClockSourceConfig->ClockPrescaler, sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); /* Enable the External clock mode2 */ htim->Instance->SMCR |= TIM_SMCR_ECE; 80c058e: 687b ldr r3, [r7, #4] 80c0590: 681b ldr r3, [r3, #0] 80c0592: 687a ldr r2, [r7, #4] 80c0594: 6812 ldr r2, [r2, #0] 80c0596: 6892 ldr r2, [r2, #8] 80c0598: f442 4280 orr.w r2, r2, #16384 ; 0x4000 80c059c: 609a str r2, [r3, #8] break; 80c059e: e03c b.n 80c061a /* 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, 80c05a0: 687b ldr r3, [r7, #4] 80c05a2: 6818 ldr r0, [r3, #0] 80c05a4: 683b ldr r3, [r7, #0] 80c05a6: 6859 ldr r1, [r3, #4] 80c05a8: 683b ldr r3, [r7, #0] 80c05aa: 68db ldr r3, [r3, #12] 80c05ac: 461a mov r2, r3 80c05ae: f000 f90b bl 80c07c8 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1); 80c05b2: 687b ldr r3, [r7, #4] 80c05b4: 681b ldr r3, [r3, #0] 80c05b6: 2150 movs r1, #80 ; 0x50 80c05b8: 4618 mov r0, r3 80c05ba: f000 f964 bl 80c0886 break; 80c05be: e02c b.n 80c061a /* 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, 80c05c0: 687b ldr r3, [r7, #4] 80c05c2: 6818 ldr r0, [r3, #0] 80c05c4: 683b ldr r3, [r7, #0] 80c05c6: 6859 ldr r1, [r3, #4] 80c05c8: 683b ldr r3, [r7, #0] 80c05ca: 68db ldr r3, [r3, #12] 80c05cc: 461a mov r2, r3 80c05ce: f000 f92a bl 80c0826 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI2); 80c05d2: 687b ldr r3, [r7, #4] 80c05d4: 681b ldr r3, [r3, #0] 80c05d6: 2160 movs r1, #96 ; 0x60 80c05d8: 4618 mov r0, r3 80c05da: f000 f954 bl 80c0886 break; 80c05de: e01c b.n 80c061a /* 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, 80c05e0: 687b ldr r3, [r7, #4] 80c05e2: 6818 ldr r0, [r3, #0] 80c05e4: 683b ldr r3, [r7, #0] 80c05e6: 6859 ldr r1, [r3, #4] 80c05e8: 683b ldr r3, [r7, #0] 80c05ea: 68db ldr r3, [r3, #12] 80c05ec: 461a mov r2, r3 80c05ee: f000 f8eb bl 80c07c8 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1ED); 80c05f2: 687b ldr r3, [r7, #4] 80c05f4: 681b ldr r3, [r3, #0] 80c05f6: 2140 movs r1, #64 ; 0x40 80c05f8: 4618 mov r0, r3 80c05fa: f000 f944 bl 80c0886 break; 80c05fe: e00c b.n 80c061a 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); 80c0600: 687b ldr r3, [r7, #4] 80c0602: 681a ldr r2, [r3, #0] 80c0604: 683b ldr r3, [r7, #0] 80c0606: 681b ldr r3, [r3, #0] 80c0608: 4619 mov r1, r3 80c060a: 4610 mov r0, r2 80c060c: f000 f93b bl 80c0886 break; 80c0610: e003 b.n 80c061a } default: status = HAL_ERROR; 80c0612: 2301 movs r3, #1 80c0614: 73fb strb r3, [r7, #15] break; 80c0616: e000 b.n 80c061a break; 80c0618: bf00 nop } htim->State = HAL_TIM_STATE_READY; 80c061a: 687b ldr r3, [r7, #4] 80c061c: 2201 movs r2, #1 80c061e: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); 80c0622: 687b ldr r3, [r7, #4] 80c0624: 2200 movs r2, #0 80c0626: f883 203c strb.w r2, [r3, #60] ; 0x3c return status; 80c062a: 7bfb ldrb r3, [r7, #15] } 80c062c: 4618 mov r0, r3 80c062e: 3710 adds r7, #16 80c0630: 46bd mov sp, r7 80c0632: bd80 pop {r7, pc} 80c0634: fffeff88 .word 0xfffeff88 080c0638 : * @brief Output Compare callback in non-blocking mode * @param htim TIM OC handle * @retval None */ __weak void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim) { 80c0638: b480 push {r7} 80c063a: b083 sub sp, #12 80c063c: af00 add r7, sp, #0 80c063e: 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 */ } 80c0640: bf00 nop 80c0642: 370c adds r7, #12 80c0644: 46bd mov sp, r7 80c0646: f85d 7b04 ldr.w r7, [sp], #4 80c064a: 4770 bx lr 080c064c : * @brief Input Capture callback in non-blocking mode * @param htim TIM IC handle * @retval None */ __weak void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { 80c064c: b480 push {r7} 80c064e: b083 sub sp, #12 80c0650: af00 add r7, sp, #0 80c0652: 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 */ } 80c0654: bf00 nop 80c0656: 370c adds r7, #12 80c0658: 46bd mov sp, r7 80c065a: f85d 7b04 ldr.w r7, [sp], #4 80c065e: 4770 bx lr 080c0660 : * @brief PWM Pulse finished callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) { 80c0660: b480 push {r7} 80c0662: b083 sub sp, #12 80c0664: af00 add r7, sp, #0 80c0666: 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 */ } 80c0668: bf00 nop 80c066a: 370c adds r7, #12 80c066c: 46bd mov sp, r7 80c066e: f85d 7b04 ldr.w r7, [sp], #4 80c0672: 4770 bx lr 080c0674 : * @brief Hall Trigger detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim) { 80c0674: b480 push {r7} 80c0676: b083 sub sp, #12 80c0678: af00 add r7, sp, #0 80c067a: 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 */ } 80c067c: bf00 nop 80c067e: 370c adds r7, #12 80c0680: 46bd mov sp, r7 80c0682: f85d 7b04 ldr.w r7, [sp], #4 80c0686: 4770 bx lr 080c0688 : * @param TIMx TIM peripheral * @param Structure TIM Base configuration structure * @retval None */ void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure) { 80c0688: b480 push {r7} 80c068a: b085 sub sp, #20 80c068c: af00 add r7, sp, #0 80c068e: 6078 str r0, [r7, #4] 80c0690: 6039 str r1, [r7, #0] uint32_t tmpcr1; tmpcr1 = TIMx->CR1; 80c0692: 687b ldr r3, [r7, #4] 80c0694: 681b ldr r3, [r3, #0] 80c0696: 60fb str r3, [r7, #12] /* Set TIM Time Base Unit parameters ---------------------------------------*/ if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx)) 80c0698: 687b ldr r3, [r7, #4] 80c069a: 4a40 ldr r2, [pc, #256] ; (80c079c ) 80c069c: 4293 cmp r3, r2 80c069e: d013 beq.n 80c06c8 80c06a0: 687b ldr r3, [r7, #4] 80c06a2: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80c06a6: d00f beq.n 80c06c8 80c06a8: 687b ldr r3, [r7, #4] 80c06aa: 4a3d ldr r2, [pc, #244] ; (80c07a0 ) 80c06ac: 4293 cmp r3, r2 80c06ae: d00b beq.n 80c06c8 80c06b0: 687b ldr r3, [r7, #4] 80c06b2: 4a3c ldr r2, [pc, #240] ; (80c07a4 ) 80c06b4: 4293 cmp r3, r2 80c06b6: d007 beq.n 80c06c8 80c06b8: 687b ldr r3, [r7, #4] 80c06ba: 4a3b ldr r2, [pc, #236] ; (80c07a8 ) 80c06bc: 4293 cmp r3, r2 80c06be: d003 beq.n 80c06c8 80c06c0: 687b ldr r3, [r7, #4] 80c06c2: 4a3a ldr r2, [pc, #232] ; (80c07ac ) 80c06c4: 4293 cmp r3, r2 80c06c6: d108 bne.n 80c06da { /* Select the Counter Mode */ tmpcr1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS); 80c06c8: 68fb ldr r3, [r7, #12] 80c06ca: f023 0370 bic.w r3, r3, #112 ; 0x70 80c06ce: 60fb str r3, [r7, #12] tmpcr1 |= Structure->CounterMode; 80c06d0: 683b ldr r3, [r7, #0] 80c06d2: 685b ldr r3, [r3, #4] 80c06d4: 68fa ldr r2, [r7, #12] 80c06d6: 4313 orrs r3, r2 80c06d8: 60fb str r3, [r7, #12] } if (IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx)) 80c06da: 687b ldr r3, [r7, #4] 80c06dc: 4a2f ldr r2, [pc, #188] ; (80c079c ) 80c06de: 4293 cmp r3, r2 80c06e0: d02b beq.n 80c073a 80c06e2: 687b ldr r3, [r7, #4] 80c06e4: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80c06e8: d027 beq.n 80c073a 80c06ea: 687b ldr r3, [r7, #4] 80c06ec: 4a2c ldr r2, [pc, #176] ; (80c07a0 ) 80c06ee: 4293 cmp r3, r2 80c06f0: d023 beq.n 80c073a 80c06f2: 687b ldr r3, [r7, #4] 80c06f4: 4a2b ldr r2, [pc, #172] ; (80c07a4 ) 80c06f6: 4293 cmp r3, r2 80c06f8: d01f beq.n 80c073a 80c06fa: 687b ldr r3, [r7, #4] 80c06fc: 4a2a ldr r2, [pc, #168] ; (80c07a8 ) 80c06fe: 4293 cmp r3, r2 80c0700: d01b beq.n 80c073a 80c0702: 687b ldr r3, [r7, #4] 80c0704: 4a29 ldr r2, [pc, #164] ; (80c07ac ) 80c0706: 4293 cmp r3, r2 80c0708: d017 beq.n 80c073a 80c070a: 687b ldr r3, [r7, #4] 80c070c: 4a28 ldr r2, [pc, #160] ; (80c07b0 ) 80c070e: 4293 cmp r3, r2 80c0710: d013 beq.n 80c073a 80c0712: 687b ldr r3, [r7, #4] 80c0714: 4a27 ldr r2, [pc, #156] ; (80c07b4 ) 80c0716: 4293 cmp r3, r2 80c0718: d00f beq.n 80c073a 80c071a: 687b ldr r3, [r7, #4] 80c071c: 4a26 ldr r2, [pc, #152] ; (80c07b8 ) 80c071e: 4293 cmp r3, r2 80c0720: d00b beq.n 80c073a 80c0722: 687b ldr r3, [r7, #4] 80c0724: 4a25 ldr r2, [pc, #148] ; (80c07bc ) 80c0726: 4293 cmp r3, r2 80c0728: d007 beq.n 80c073a 80c072a: 687b ldr r3, [r7, #4] 80c072c: 4a24 ldr r2, [pc, #144] ; (80c07c0 ) 80c072e: 4293 cmp r3, r2 80c0730: d003 beq.n 80c073a 80c0732: 687b ldr r3, [r7, #4] 80c0734: 4a23 ldr r2, [pc, #140] ; (80c07c4 ) 80c0736: 4293 cmp r3, r2 80c0738: d108 bne.n 80c074c { /* Set the clock division */ tmpcr1 &= ~TIM_CR1_CKD; 80c073a: 68fb ldr r3, [r7, #12] 80c073c: f423 7340 bic.w r3, r3, #768 ; 0x300 80c0740: 60fb str r3, [r7, #12] tmpcr1 |= (uint32_t)Structure->ClockDivision; 80c0742: 683b ldr r3, [r7, #0] 80c0744: 68db ldr r3, [r3, #12] 80c0746: 68fa ldr r2, [r7, #12] 80c0748: 4313 orrs r3, r2 80c074a: 60fb str r3, [r7, #12] } /* Set the auto-reload preload */ MODIFY_REG(tmpcr1, TIM_CR1_ARPE, Structure->AutoReloadPreload); 80c074c: 68fb ldr r3, [r7, #12] 80c074e: f023 0280 bic.w r2, r3, #128 ; 0x80 80c0752: 683b ldr r3, [r7, #0] 80c0754: 695b ldr r3, [r3, #20] 80c0756: 4313 orrs r3, r2 80c0758: 60fb str r3, [r7, #12] TIMx->CR1 = tmpcr1; 80c075a: 687b ldr r3, [r7, #4] 80c075c: 68fa ldr r2, [r7, #12] 80c075e: 601a str r2, [r3, #0] /* Set the Autoreload value */ TIMx->ARR = (uint32_t)Structure->Period ; 80c0760: 683b ldr r3, [r7, #0] 80c0762: 689a ldr r2, [r3, #8] 80c0764: 687b ldr r3, [r7, #4] 80c0766: 62da str r2, [r3, #44] ; 0x2c /* Set the Prescaler value */ TIMx->PSC = Structure->Prescaler; 80c0768: 683b ldr r3, [r7, #0] 80c076a: 681a ldr r2, [r3, #0] 80c076c: 687b ldr r3, [r7, #4] 80c076e: 629a str r2, [r3, #40] ; 0x28 if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx)) 80c0770: 687b ldr r3, [r7, #4] 80c0772: 4a0a ldr r2, [pc, #40] ; (80c079c ) 80c0774: 4293 cmp r3, r2 80c0776: d003 beq.n 80c0780 80c0778: 687b ldr r3, [r7, #4] 80c077a: 4a0c ldr r2, [pc, #48] ; (80c07ac ) 80c077c: 4293 cmp r3, r2 80c077e: d103 bne.n 80c0788 { /* Set the Repetition Counter value */ TIMx->RCR = Structure->RepetitionCounter; 80c0780: 683b ldr r3, [r7, #0] 80c0782: 691a ldr r2, [r3, #16] 80c0784: 687b ldr r3, [r7, #4] 80c0786: 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; 80c0788: 687b ldr r3, [r7, #4] 80c078a: 2201 movs r2, #1 80c078c: 615a str r2, [r3, #20] } 80c078e: bf00 nop 80c0790: 3714 adds r7, #20 80c0792: 46bd mov sp, r7 80c0794: f85d 7b04 ldr.w r7, [sp], #4 80c0798: 4770 bx lr 80c079a: bf00 nop 80c079c: 40010000 .word 0x40010000 80c07a0: 40000400 .word 0x40000400 80c07a4: 40000800 .word 0x40000800 80c07a8: 40000c00 .word 0x40000c00 80c07ac: 40010400 .word 0x40010400 80c07b0: 40014000 .word 0x40014000 80c07b4: 40014400 .word 0x40014400 80c07b8: 40014800 .word 0x40014800 80c07bc: 40001800 .word 0x40001800 80c07c0: 40001c00 .word 0x40001c00 80c07c4: 40002000 .word 0x40002000 080c07c8 : * @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) { 80c07c8: b480 push {r7} 80c07ca: b087 sub sp, #28 80c07cc: af00 add r7, sp, #0 80c07ce: 60f8 str r0, [r7, #12] 80c07d0: 60b9 str r1, [r7, #8] 80c07d2: 607a str r2, [r7, #4] uint32_t tmpccmr1; uint32_t tmpccer; /* Disable the Channel 1: Reset the CC1E Bit */ tmpccer = TIMx->CCER; 80c07d4: 68fb ldr r3, [r7, #12] 80c07d6: 6a1b ldr r3, [r3, #32] 80c07d8: 617b str r3, [r7, #20] TIMx->CCER &= ~TIM_CCER_CC1E; 80c07da: 68fb ldr r3, [r7, #12] 80c07dc: 6a1b ldr r3, [r3, #32] 80c07de: f023 0201 bic.w r2, r3, #1 80c07e2: 68fb ldr r3, [r7, #12] 80c07e4: 621a str r2, [r3, #32] tmpccmr1 = TIMx->CCMR1; 80c07e6: 68fb ldr r3, [r7, #12] 80c07e8: 699b ldr r3, [r3, #24] 80c07ea: 613b str r3, [r7, #16] /* Set the filter */ tmpccmr1 &= ~TIM_CCMR1_IC1F; 80c07ec: 693b ldr r3, [r7, #16] 80c07ee: f023 03f0 bic.w r3, r3, #240 ; 0xf0 80c07f2: 613b str r3, [r7, #16] tmpccmr1 |= (TIM_ICFilter << 4U); 80c07f4: 687b ldr r3, [r7, #4] 80c07f6: 011b lsls r3, r3, #4 80c07f8: 693a ldr r2, [r7, #16] 80c07fa: 4313 orrs r3, r2 80c07fc: 613b str r3, [r7, #16] /* Select the Polarity and set the CC1E Bit */ tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP); 80c07fe: 697b ldr r3, [r7, #20] 80c0800: f023 030a bic.w r3, r3, #10 80c0804: 617b str r3, [r7, #20] tmpccer |= TIM_ICPolarity; 80c0806: 697a ldr r2, [r7, #20] 80c0808: 68bb ldr r3, [r7, #8] 80c080a: 4313 orrs r3, r2 80c080c: 617b str r3, [r7, #20] /* Write to TIMx CCMR1 and CCER registers */ TIMx->CCMR1 = tmpccmr1; 80c080e: 68fb ldr r3, [r7, #12] 80c0810: 693a ldr r2, [r7, #16] 80c0812: 619a str r2, [r3, #24] TIMx->CCER = tmpccer; 80c0814: 68fb ldr r3, [r7, #12] 80c0816: 697a ldr r2, [r7, #20] 80c0818: 621a str r2, [r3, #32] } 80c081a: bf00 nop 80c081c: 371c adds r7, #28 80c081e: 46bd mov sp, r7 80c0820: f85d 7b04 ldr.w r7, [sp], #4 80c0824: 4770 bx lr 080c0826 : * @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) { 80c0826: b480 push {r7} 80c0828: b087 sub sp, #28 80c082a: af00 add r7, sp, #0 80c082c: 60f8 str r0, [r7, #12] 80c082e: 60b9 str r1, [r7, #8] 80c0830: 607a str r2, [r7, #4] uint32_t tmpccmr1; uint32_t tmpccer; /* Disable the Channel 2: Reset the CC2E Bit */ TIMx->CCER &= ~TIM_CCER_CC2E; 80c0832: 68fb ldr r3, [r7, #12] 80c0834: 6a1b ldr r3, [r3, #32] 80c0836: f023 0210 bic.w r2, r3, #16 80c083a: 68fb ldr r3, [r7, #12] 80c083c: 621a str r2, [r3, #32] tmpccmr1 = TIMx->CCMR1; 80c083e: 68fb ldr r3, [r7, #12] 80c0840: 699b ldr r3, [r3, #24] 80c0842: 617b str r3, [r7, #20] tmpccer = TIMx->CCER; 80c0844: 68fb ldr r3, [r7, #12] 80c0846: 6a1b ldr r3, [r3, #32] 80c0848: 613b str r3, [r7, #16] /* Set the filter */ tmpccmr1 &= ~TIM_CCMR1_IC2F; 80c084a: 697b ldr r3, [r7, #20] 80c084c: f423 4370 bic.w r3, r3, #61440 ; 0xf000 80c0850: 617b str r3, [r7, #20] tmpccmr1 |= (TIM_ICFilter << 12U); 80c0852: 687b ldr r3, [r7, #4] 80c0854: 031b lsls r3, r3, #12 80c0856: 697a ldr r2, [r7, #20] 80c0858: 4313 orrs r3, r2 80c085a: 617b str r3, [r7, #20] /* Select the Polarity and set the CC2E Bit */ tmpccer &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP); 80c085c: 693b ldr r3, [r7, #16] 80c085e: f023 03a0 bic.w r3, r3, #160 ; 0xa0 80c0862: 613b str r3, [r7, #16] tmpccer |= (TIM_ICPolarity << 4U); 80c0864: 68bb ldr r3, [r7, #8] 80c0866: 011b lsls r3, r3, #4 80c0868: 693a ldr r2, [r7, #16] 80c086a: 4313 orrs r3, r2 80c086c: 613b str r3, [r7, #16] /* Write to TIMx CCMR1 and CCER registers */ TIMx->CCMR1 = tmpccmr1 ; 80c086e: 68fb ldr r3, [r7, #12] 80c0870: 697a ldr r2, [r7, #20] 80c0872: 619a str r2, [r3, #24] TIMx->CCER = tmpccer; 80c0874: 68fb ldr r3, [r7, #12] 80c0876: 693a ldr r2, [r7, #16] 80c0878: 621a str r2, [r3, #32] } 80c087a: bf00 nop 80c087c: 371c adds r7, #28 80c087e: 46bd mov sp, r7 80c0880: f85d 7b04 ldr.w r7, [sp], #4 80c0884: 4770 bx lr 080c0886 : * @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) { 80c0886: b480 push {r7} 80c0888: b085 sub sp, #20 80c088a: af00 add r7, sp, #0 80c088c: 6078 str r0, [r7, #4] 80c088e: 6039 str r1, [r7, #0] uint32_t tmpsmcr; /* Get the TIMx SMCR register value */ tmpsmcr = TIMx->SMCR; 80c0890: 687b ldr r3, [r7, #4] 80c0892: 689b ldr r3, [r3, #8] 80c0894: 60fb str r3, [r7, #12] /* Reset the TS Bits */ tmpsmcr &= ~TIM_SMCR_TS; 80c0896: 68fb ldr r3, [r7, #12] 80c0898: f023 0370 bic.w r3, r3, #112 ; 0x70 80c089c: 60fb str r3, [r7, #12] /* Set the Input Trigger source and the slave mode*/ tmpsmcr |= (InputTriggerSource | TIM_SLAVEMODE_EXTERNAL1); 80c089e: 683a ldr r2, [r7, #0] 80c08a0: 68fb ldr r3, [r7, #12] 80c08a2: 4313 orrs r3, r2 80c08a4: f043 0307 orr.w r3, r3, #7 80c08a8: 60fb str r3, [r7, #12] /* Write to TIMx SMCR */ TIMx->SMCR = tmpsmcr; 80c08aa: 687b ldr r3, [r7, #4] 80c08ac: 68fa ldr r2, [r7, #12] 80c08ae: 609a str r2, [r3, #8] } 80c08b0: bf00 nop 80c08b2: 3714 adds r7, #20 80c08b4: 46bd mov sp, r7 80c08b6: f85d 7b04 ldr.w r7, [sp], #4 80c08ba: 4770 bx lr 080c08bc : * 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) { 80c08bc: b480 push {r7} 80c08be: b087 sub sp, #28 80c08c0: af00 add r7, sp, #0 80c08c2: 60f8 str r0, [r7, #12] 80c08c4: 60b9 str r1, [r7, #8] 80c08c6: 607a str r2, [r7, #4] 80c08c8: 603b str r3, [r7, #0] uint32_t tmpsmcr; tmpsmcr = TIMx->SMCR; 80c08ca: 68fb ldr r3, [r7, #12] 80c08cc: 689b ldr r3, [r3, #8] 80c08ce: 617b str r3, [r7, #20] /* Reset the ETR Bits */ tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); 80c08d0: 697b ldr r3, [r7, #20] 80c08d2: f423 437f bic.w r3, r3, #65280 ; 0xff00 80c08d6: 617b str r3, [r7, #20] /* Set the Prescaler, the Filter value and the Polarity */ tmpsmcr |= (uint32_t)(TIM_ExtTRGPrescaler | (TIM_ExtTRGPolarity | (ExtTRGFilter << 8U))); 80c08d8: 683b ldr r3, [r7, #0] 80c08da: 021a lsls r2, r3, #8 80c08dc: 687b ldr r3, [r7, #4] 80c08de: 431a orrs r2, r3 80c08e0: 68bb ldr r3, [r7, #8] 80c08e2: 4313 orrs r3, r2 80c08e4: 697a ldr r2, [r7, #20] 80c08e6: 4313 orrs r3, r2 80c08e8: 617b str r3, [r7, #20] /* Write to TIMx SMCR */ TIMx->SMCR = tmpsmcr; 80c08ea: 68fb ldr r3, [r7, #12] 80c08ec: 697a ldr r2, [r7, #20] 80c08ee: 609a str r2, [r3, #8] } 80c08f0: bf00 nop 80c08f2: 371c adds r7, #28 80c08f4: 46bd mov sp, r7 80c08f6: f85d 7b04 ldr.w r7, [sp], #4 80c08fa: 4770 bx lr 080c08fc : * mode. * @retval HAL status */ HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, TIM_MasterConfigTypeDef *sMasterConfig) { 80c08fc: b480 push {r7} 80c08fe: b085 sub sp, #20 80c0900: af00 add r7, sp, #0 80c0902: 6078 str r0, [r7, #4] 80c0904: 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); 80c0906: 687b ldr r3, [r7, #4] 80c0908: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80c090c: 2b01 cmp r3, #1 80c090e: d101 bne.n 80c0914 80c0910: 2302 movs r3, #2 80c0912: e06d b.n 80c09f0 80c0914: 687b ldr r3, [r7, #4] 80c0916: 2201 movs r2, #1 80c0918: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Change the handler state */ htim->State = HAL_TIM_STATE_BUSY; 80c091c: 687b ldr r3, [r7, #4] 80c091e: 2202 movs r2, #2 80c0920: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Get the TIMx CR2 register value */ tmpcr2 = htim->Instance->CR2; 80c0924: 687b ldr r3, [r7, #4] 80c0926: 681b ldr r3, [r3, #0] 80c0928: 685b ldr r3, [r3, #4] 80c092a: 60fb str r3, [r7, #12] /* Get the TIMx SMCR register value */ tmpsmcr = htim->Instance->SMCR; 80c092c: 687b ldr r3, [r7, #4] 80c092e: 681b ldr r3, [r3, #0] 80c0930: 689b ldr r3, [r3, #8] 80c0932: 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)) 80c0934: 687b ldr r3, [r7, #4] 80c0936: 681b ldr r3, [r3, #0] 80c0938: 4a30 ldr r2, [pc, #192] ; (80c09fc ) 80c093a: 4293 cmp r3, r2 80c093c: d004 beq.n 80c0948 80c093e: 687b ldr r3, [r7, #4] 80c0940: 681b ldr r3, [r3, #0] 80c0942: 4a2f ldr r2, [pc, #188] ; (80c0a00 ) 80c0944: 4293 cmp r3, r2 80c0946: d108 bne.n 80c095a { /* Check the parameters */ assert_param(IS_TIM_TRGO2_SOURCE(sMasterConfig->MasterOutputTrigger2)); /* Clear the MMS2 bits */ tmpcr2 &= ~TIM_CR2_MMS2; 80c0948: 68fb ldr r3, [r7, #12] 80c094a: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000 80c094e: 60fb str r3, [r7, #12] /* Select the TRGO2 source*/ tmpcr2 |= sMasterConfig->MasterOutputTrigger2; 80c0950: 683b ldr r3, [r7, #0] 80c0952: 685b ldr r3, [r3, #4] 80c0954: 68fa ldr r2, [r7, #12] 80c0956: 4313 orrs r3, r2 80c0958: 60fb str r3, [r7, #12] } /* Reset the MMS Bits */ tmpcr2 &= ~TIM_CR2_MMS; 80c095a: 68fb ldr r3, [r7, #12] 80c095c: f023 0370 bic.w r3, r3, #112 ; 0x70 80c0960: 60fb str r3, [r7, #12] /* Select the TRGO source */ tmpcr2 |= sMasterConfig->MasterOutputTrigger; 80c0962: 683b ldr r3, [r7, #0] 80c0964: 681b ldr r3, [r3, #0] 80c0966: 68fa ldr r2, [r7, #12] 80c0968: 4313 orrs r3, r2 80c096a: 60fb str r3, [r7, #12] /* Update TIMx CR2 */ htim->Instance->CR2 = tmpcr2; 80c096c: 687b ldr r3, [r7, #4] 80c096e: 681b ldr r3, [r3, #0] 80c0970: 68fa ldr r2, [r7, #12] 80c0972: 605a str r2, [r3, #4] if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) 80c0974: 687b ldr r3, [r7, #4] 80c0976: 681b ldr r3, [r3, #0] 80c0978: 4a20 ldr r2, [pc, #128] ; (80c09fc ) 80c097a: 4293 cmp r3, r2 80c097c: d022 beq.n 80c09c4 80c097e: 687b ldr r3, [r7, #4] 80c0980: 681b ldr r3, [r3, #0] 80c0982: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80c0986: d01d beq.n 80c09c4 80c0988: 687b ldr r3, [r7, #4] 80c098a: 681b ldr r3, [r3, #0] 80c098c: 4a1d ldr r2, [pc, #116] ; (80c0a04 ) 80c098e: 4293 cmp r3, r2 80c0990: d018 beq.n 80c09c4 80c0992: 687b ldr r3, [r7, #4] 80c0994: 681b ldr r3, [r3, #0] 80c0996: 4a1c ldr r2, [pc, #112] ; (80c0a08 ) 80c0998: 4293 cmp r3, r2 80c099a: d013 beq.n 80c09c4 80c099c: 687b ldr r3, [r7, #4] 80c099e: 681b ldr r3, [r3, #0] 80c09a0: 4a1a ldr r2, [pc, #104] ; (80c0a0c ) 80c09a2: 4293 cmp r3, r2 80c09a4: d00e beq.n 80c09c4 80c09a6: 687b ldr r3, [r7, #4] 80c09a8: 681b ldr r3, [r3, #0] 80c09aa: 4a15 ldr r2, [pc, #84] ; (80c0a00 ) 80c09ac: 4293 cmp r3, r2 80c09ae: d009 beq.n 80c09c4 80c09b0: 687b ldr r3, [r7, #4] 80c09b2: 681b ldr r3, [r3, #0] 80c09b4: 4a16 ldr r2, [pc, #88] ; (80c0a10 ) 80c09b6: 4293 cmp r3, r2 80c09b8: d004 beq.n 80c09c4 80c09ba: 687b ldr r3, [r7, #4] 80c09bc: 681b ldr r3, [r3, #0] 80c09be: 4a15 ldr r2, [pc, #84] ; (80c0a14 ) 80c09c0: 4293 cmp r3, r2 80c09c2: d10c bne.n 80c09de { /* Reset the MSM Bit */ tmpsmcr &= ~TIM_SMCR_MSM; 80c09c4: 68bb ldr r3, [r7, #8] 80c09c6: f023 0380 bic.w r3, r3, #128 ; 0x80 80c09ca: 60bb str r3, [r7, #8] /* Set master mode */ tmpsmcr |= sMasterConfig->MasterSlaveMode; 80c09cc: 683b ldr r3, [r7, #0] 80c09ce: 689b ldr r3, [r3, #8] 80c09d0: 68ba ldr r2, [r7, #8] 80c09d2: 4313 orrs r3, r2 80c09d4: 60bb str r3, [r7, #8] /* Update TIMx SMCR */ htim->Instance->SMCR = tmpsmcr; 80c09d6: 687b ldr r3, [r7, #4] 80c09d8: 681b ldr r3, [r3, #0] 80c09da: 68ba ldr r2, [r7, #8] 80c09dc: 609a str r2, [r3, #8] } /* Change the htim state */ htim->State = HAL_TIM_STATE_READY; 80c09de: 687b ldr r3, [r7, #4] 80c09e0: 2201 movs r2, #1 80c09e2: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); 80c09e6: 687b ldr r3, [r7, #4] 80c09e8: 2200 movs r2, #0 80c09ea: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_OK; 80c09ee: 2300 movs r3, #0 } 80c09f0: 4618 mov r0, r3 80c09f2: 3714 adds r7, #20 80c09f4: 46bd mov sp, r7 80c09f6: f85d 7b04 ldr.w r7, [sp], #4 80c09fa: 4770 bx lr 80c09fc: 40010000 .word 0x40010000 80c0a00: 40010400 .word 0x40010400 80c0a04: 40000400 .word 0x40000400 80c0a08: 40000800 .word 0x40000800 80c0a0c: 40000c00 .word 0x40000c00 80c0a10: 40014000 .word 0x40014000 80c0a14: 40001800 .word 0x40001800 080c0a18 : * @brief Hall commutation changed callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim) { 80c0a18: b480 push {r7} 80c0a1a: b083 sub sp, #12 80c0a1c: af00 add r7, sp, #0 80c0a1e: 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 */ } 80c0a20: bf00 nop 80c0a22: 370c adds r7, #12 80c0a24: 46bd mov sp, r7 80c0a26: f85d 7b04 ldr.w r7, [sp], #4 80c0a2a: 4770 bx lr 080c0a2c : * @brief Hall Break detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim) { 80c0a2c: b480 push {r7} 80c0a2e: b083 sub sp, #12 80c0a30: af00 add r7, sp, #0 80c0a32: 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 */ } 80c0a34: bf00 nop 80c0a36: 370c adds r7, #12 80c0a38: 46bd mov sp, r7 80c0a3a: f85d 7b04 ldr.w r7, [sp], #4 80c0a3e: 4770 bx lr 080c0a40 : * @brief Hall Break2 detection callback in non blocking mode * @param htim: TIM handle * @retval None */ __weak void HAL_TIMEx_Break2Callback(TIM_HandleTypeDef *htim) { 80c0a40: b480 push {r7} 80c0a42: b083 sub sp, #12 80c0a44: af00 add r7, sp, #0 80c0a46: 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 */ } 80c0a48: bf00 nop 80c0a4a: 370c adds r7, #12 80c0a4c: 46bd mov sp, r7 80c0a4e: f85d 7b04 ldr.w r7, [sp], #4 80c0a52: 4770 bx lr 080c0a54 : * @brief DeInitialize the UART peripheral. * @param huart UART handle. * @retval HAL status */ HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) { 80c0a54: b580 push {r7, lr} 80c0a56: b082 sub sp, #8 80c0a58: af00 add r7, sp, #0 80c0a5a: 6078 str r0, [r7, #4] /* Check the UART handle allocation */ if (huart == NULL) 80c0a5c: 687b ldr r3, [r7, #4] 80c0a5e: 2b00 cmp r3, #0 80c0a60: d101 bne.n 80c0a66 { return HAL_ERROR; 80c0a62: 2301 movs r3, #1 80c0a64: e02b b.n 80c0abe } /* Check the parameters */ assert_param(IS_UART_INSTANCE(huart->Instance)); huart->gState = HAL_UART_STATE_BUSY; 80c0a66: 687b ldr r3, [r7, #4] 80c0a68: 2224 movs r2, #36 ; 0x24 80c0a6a: 679a str r2, [r3, #120] ; 0x78 __HAL_UART_DISABLE(huart); 80c0a6c: 687b ldr r3, [r7, #4] 80c0a6e: 681b ldr r3, [r3, #0] 80c0a70: 687a ldr r2, [r7, #4] 80c0a72: 6812 ldr r2, [r2, #0] 80c0a74: 6812 ldr r2, [r2, #0] 80c0a76: f022 0201 bic.w r2, r2, #1 80c0a7a: 601a str r2, [r3, #0] huart->Instance->CR1 = 0x0U; 80c0a7c: 687b ldr r3, [r7, #4] 80c0a7e: 681b ldr r3, [r3, #0] 80c0a80: 2200 movs r2, #0 80c0a82: 601a str r2, [r3, #0] huart->Instance->CR2 = 0x0U; 80c0a84: 687b ldr r3, [r7, #4] 80c0a86: 681b ldr r3, [r3, #0] 80c0a88: 2200 movs r2, #0 80c0a8a: 605a str r2, [r3, #4] huart->Instance->CR3 = 0x0U; 80c0a8c: 687b ldr r3, [r7, #4] 80c0a8e: 681b ldr r3, [r3, #0] 80c0a90: 2200 movs r2, #0 80c0a92: 609a str r2, [r3, #8] } /* DeInit the low level hardware */ huart->MspDeInitCallback(huart); #else /* DeInit the low level hardware */ HAL_UART_MspDeInit(huart); 80c0a94: 6878 ldr r0, [r7, #4] 80c0a96: f7f1 fe19 bl 80b26cc #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80c0a9a: 687b ldr r3, [r7, #4] 80c0a9c: 2200 movs r2, #0 80c0a9e: f8c3 2080 str.w r2, [r3, #128] ; 0x80 huart->gState = HAL_UART_STATE_RESET; 80c0aa2: 687b ldr r3, [r7, #4] 80c0aa4: 2200 movs r2, #0 80c0aa6: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_RESET; 80c0aa8: 687b ldr r3, [r7, #4] 80c0aaa: 2200 movs r2, #0 80c0aac: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c0aae: 687b ldr r3, [r7, #4] 80c0ab0: 2200 movs r2, #0 80c0ab2: 661a str r2, [r3, #96] ; 0x60 __HAL_UNLOCK(huart); 80c0ab4: 687b ldr r3, [r7, #4] 80c0ab6: 2200 movs r2, #0 80c0ab8: f883 2074 strb.w r2, [r3, #116] ; 0x74 return HAL_OK; 80c0abc: 2300 movs r3, #0 } 80c0abe: 4618 mov r0, r3 80c0ac0: 3708 adds r7, #8 80c0ac2: 46bd mov sp, r7 80c0ac4: bd80 pop {r7, pc} ... 080c0ac8 : * @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) { 80c0ac8: b580 push {r7, lr} 80c0aca: b0a2 sub sp, #136 ; 0x88 80c0acc: af00 add r7, sp, #0 80c0ace: 6078 str r0, [r7, #4] uint32_t abortcplt = 1U; 80c0ad0: 2301 movs r3, #1 80c0ad2: 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)); 80c0ad6: 687b ldr r3, [r7, #4] 80c0ad8: 681b ldr r3, [r3, #0] 80c0ada: 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) ); 80c0adc: 6e3b ldr r3, [r7, #96] ; 0x60 80c0ade: e853 3f00 ldrex r3, [r3] 80c0ae2: 65fb str r3, [r7, #92] ; 0x5c return(result); 80c0ae4: 6dfb ldr r3, [r7, #92] ; 0x5c 80c0ae6: f423 73f0 bic.w r3, r3, #480 ; 0x1e0 80c0aea: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80c0aee: 687b ldr r3, [r7, #4] 80c0af0: 681b ldr r3, [r3, #0] 80c0af2: 461a mov r2, r3 80c0af4: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c0af8: 66fb str r3, [r7, #108] ; 0x6c 80c0afa: 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) ); 80c0afc: 6eb9 ldr r1, [r7, #104] ; 0x68 80c0afe: 6efa ldr r2, [r7, #108] ; 0x6c 80c0b00: e841 2300 strex r3, r2, [r1] 80c0b04: 667b str r3, [r7, #100] ; 0x64 return(result); 80c0b06: 6e7b ldr r3, [r7, #100] ; 0x64 80c0b08: 2b00 cmp r3, #0 80c0b0a: d1e4 bne.n 80c0ad6 ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80c0b0c: 687b ldr r3, [r7, #4] 80c0b0e: 681b ldr r3, [r3, #0] 80c0b10: 3308 adds r3, #8 80c0b12: 64fb str r3, [r7, #76] ; 0x4c __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c0b14: 6cfb ldr r3, [r7, #76] ; 0x4c 80c0b16: e853 3f00 ldrex r3, [r3] 80c0b1a: 64bb str r3, [r7, #72] ; 0x48 return(result); 80c0b1c: 6cbb ldr r3, [r7, #72] ; 0x48 80c0b1e: f023 0301 bic.w r3, r3, #1 80c0b22: 67fb str r3, [r7, #124] ; 0x7c 80c0b24: 687b ldr r3, [r7, #4] 80c0b26: 681b ldr r3, [r3, #0] 80c0b28: 3308 adds r3, #8 80c0b2a: 6ffa ldr r2, [r7, #124] ; 0x7c 80c0b2c: 65ba str r2, [r7, #88] ; 0x58 80c0b2e: 657b str r3, [r7, #84] ; 0x54 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c0b30: 6d79 ldr r1, [r7, #84] ; 0x54 80c0b32: 6dba ldr r2, [r7, #88] ; 0x58 80c0b34: e841 2300 strex r3, r2, [r1] 80c0b38: 653b str r3, [r7, #80] ; 0x50 return(result); 80c0b3a: 6d3b ldr r3, [r7, #80] ; 0x50 80c0b3c: 2b00 cmp r3, #0 80c0b3e: d1e5 bne.n 80c0b0c /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 80c0b40: 687b ldr r3, [r7, #4] 80c0b42: 6e1b ldr r3, [r3, #96] ; 0x60 80c0b44: 2b01 cmp r3, #1 80c0b46: d118 bne.n 80c0b7a { ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 80c0b48: 687b ldr r3, [r7, #4] 80c0b4a: 681b ldr r3, [r3, #0] 80c0b4c: 63bb str r3, [r7, #56] ; 0x38 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c0b4e: 6bbb ldr r3, [r7, #56] ; 0x38 80c0b50: e853 3f00 ldrex r3, [r3] 80c0b54: 637b str r3, [r7, #52] ; 0x34 return(result); 80c0b56: 6b7b ldr r3, [r7, #52] ; 0x34 80c0b58: f023 0310 bic.w r3, r3, #16 80c0b5c: 67bb str r3, [r7, #120] ; 0x78 80c0b5e: 687b ldr r3, [r7, #4] 80c0b60: 681b ldr r3, [r3, #0] 80c0b62: 461a mov r2, r3 80c0b64: 6fbb ldr r3, [r7, #120] ; 0x78 80c0b66: 647b str r3, [r7, #68] ; 0x44 80c0b68: 643a str r2, [r7, #64] ; 0x40 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c0b6a: 6c39 ldr r1, [r7, #64] ; 0x40 80c0b6c: 6c7a ldr r2, [r7, #68] ; 0x44 80c0b6e: e841 2300 strex r3, r2, [r1] 80c0b72: 63fb str r3, [r7, #60] ; 0x3c return(result); 80c0b74: 6bfb ldr r3, [r7, #60] ; 0x3c 80c0b76: 2b00 cmp r3, #0 80c0b78: d1e6 bne.n 80c0b48 } /* 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) 80c0b7a: 687b ldr r3, [r7, #4] 80c0b7c: 6edb ldr r3, [r3, #108] ; 0x6c 80c0b7e: 2b00 cmp r3, #0 80c0b80: d00f beq.n 80c0ba2 { /* 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)) 80c0b82: 687b ldr r3, [r7, #4] 80c0b84: 681b ldr r3, [r3, #0] 80c0b86: 689b ldr r3, [r3, #8] 80c0b88: f003 0380 and.w r3, r3, #128 ; 0x80 80c0b8c: 2b80 cmp r3, #128 ; 0x80 80c0b8e: d104 bne.n 80c0b9a { huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback; 80c0b90: 687b ldr r3, [r7, #4] 80c0b92: 6edb ldr r3, [r3, #108] ; 0x6c 80c0b94: 4a5d ldr r2, [pc, #372] ; (80c0d0c ) 80c0b96: 651a str r2, [r3, #80] ; 0x50 80c0b98: e003 b.n 80c0ba2 } else { huart->hdmatx->XferAbortCallback = NULL; 80c0b9a: 687b ldr r3, [r7, #4] 80c0b9c: 6edb ldr r3, [r3, #108] ; 0x6c 80c0b9e: 2200 movs r2, #0 80c0ba0: 651a str r2, [r3, #80] ; 0x50 } } /* DMA Rx Handle is valid */ if (huart->hdmarx != NULL) 80c0ba2: 687b ldr r3, [r7, #4] 80c0ba4: 6f1b ldr r3, [r3, #112] ; 0x70 80c0ba6: 2b00 cmp r3, #0 80c0ba8: d00f beq.n 80c0bca { /* 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)) 80c0baa: 687b ldr r3, [r7, #4] 80c0bac: 681b ldr r3, [r3, #0] 80c0bae: 689b ldr r3, [r3, #8] 80c0bb0: f003 0340 and.w r3, r3, #64 ; 0x40 80c0bb4: 2b40 cmp r3, #64 ; 0x40 80c0bb6: d104 bne.n 80c0bc2 { huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback; 80c0bb8: 687b ldr r3, [r7, #4] 80c0bba: 6f1b ldr r3, [r3, #112] ; 0x70 80c0bbc: 4a54 ldr r2, [pc, #336] ; (80c0d10 ) 80c0bbe: 651a str r2, [r3, #80] ; 0x50 80c0bc0: e003 b.n 80c0bca } else { huart->hdmarx->XferAbortCallback = NULL; 80c0bc2: 687b ldr r3, [r7, #4] 80c0bc4: 6f1b ldr r3, [r3, #112] ; 0x70 80c0bc6: 2200 movs r2, #0 80c0bc8: 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)) 80c0bca: 687b ldr r3, [r7, #4] 80c0bcc: 681b ldr r3, [r3, #0] 80c0bce: 689b ldr r3, [r3, #8] 80c0bd0: f003 0380 and.w r3, r3, #128 ; 0x80 80c0bd4: 2b80 cmp r3, #128 ; 0x80 80c0bd6: d12d bne.n 80c0c34 { /* Disable DMA Tx at UART level */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 80c0bd8: 687b ldr r3, [r7, #4] 80c0bda: 681b ldr r3, [r3, #0] 80c0bdc: 3308 adds r3, #8 80c0bde: 627b str r3, [r7, #36] ; 0x24 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c0be0: 6a7b ldr r3, [r7, #36] ; 0x24 80c0be2: e853 3f00 ldrex r3, [r3] 80c0be6: 623b str r3, [r7, #32] return(result); 80c0be8: 6a3b ldr r3, [r7, #32] 80c0bea: f023 0380 bic.w r3, r3, #128 ; 0x80 80c0bee: 677b str r3, [r7, #116] ; 0x74 80c0bf0: 687b ldr r3, [r7, #4] 80c0bf2: 681b ldr r3, [r3, #0] 80c0bf4: 3308 adds r3, #8 80c0bf6: 6f7a ldr r2, [r7, #116] ; 0x74 80c0bf8: 633a str r2, [r7, #48] ; 0x30 80c0bfa: 62fb str r3, [r7, #44] ; 0x2c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c0bfc: 6af9 ldr r1, [r7, #44] ; 0x2c 80c0bfe: 6b3a ldr r2, [r7, #48] ; 0x30 80c0c00: e841 2300 strex r3, r2, [r1] 80c0c04: 62bb str r3, [r7, #40] ; 0x28 return(result); 80c0c06: 6abb ldr r3, [r7, #40] ; 0x28 80c0c08: 2b00 cmp r3, #0 80c0c0a: d1e5 bne.n 80c0bd8 /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ if (huart->hdmatx != NULL) 80c0c0c: 687b ldr r3, [r7, #4] 80c0c0e: 6edb ldr r3, [r3, #108] ; 0x6c 80c0c10: 2b00 cmp r3, #0 80c0c12: d00f beq.n 80c0c34 { /* 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) 80c0c14: 687b ldr r3, [r7, #4] 80c0c16: 6edb ldr r3, [r3, #108] ; 0x6c 80c0c18: 4618 mov r0, r3 80c0c1a: f7f7 faf7 bl 80b820c 80c0c1e: 4603 mov r3, r0 80c0c20: 2b00 cmp r3, #0 80c0c22: d004 beq.n 80c0c2e { huart->hdmatx->XferAbortCallback = NULL; 80c0c24: 687b ldr r3, [r7, #4] 80c0c26: 6edb ldr r3, [r3, #108] ; 0x6c 80c0c28: 2200 movs r2, #0 80c0c2a: 651a str r2, [r3, #80] ; 0x50 80c0c2c: e002 b.n 80c0c34 } else { abortcplt = 0U; 80c0c2e: 2300 movs r3, #0 80c0c30: 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)) 80c0c34: 687b ldr r3, [r7, #4] 80c0c36: 681b ldr r3, [r3, #0] 80c0c38: 689b ldr r3, [r3, #8] 80c0c3a: f003 0340 and.w r3, r3, #64 ; 0x40 80c0c3e: 2b40 cmp r3, #64 ; 0x40 80c0c40: d130 bne.n 80c0ca4 { /* Disable the UART DMA Rx request if enabled */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 80c0c42: 687b ldr r3, [r7, #4] 80c0c44: 681b ldr r3, [r3, #0] 80c0c46: 3308 adds r3, #8 80c0c48: 613b str r3, [r7, #16] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c0c4a: 693b ldr r3, [r7, #16] 80c0c4c: e853 3f00 ldrex r3, [r3] 80c0c50: 60fb str r3, [r7, #12] return(result); 80c0c52: 68fb ldr r3, [r7, #12] 80c0c54: f023 0340 bic.w r3, r3, #64 ; 0x40 80c0c58: 673b str r3, [r7, #112] ; 0x70 80c0c5a: 687b ldr r3, [r7, #4] 80c0c5c: 681b ldr r3, [r3, #0] 80c0c5e: 3308 adds r3, #8 80c0c60: 6f3a ldr r2, [r7, #112] ; 0x70 80c0c62: 61fa str r2, [r7, #28] 80c0c64: 61bb str r3, [r7, #24] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c0c66: 69b9 ldr r1, [r7, #24] 80c0c68: 69fa ldr r2, [r7, #28] 80c0c6a: e841 2300 strex r3, r2, [r1] 80c0c6e: 617b str r3, [r7, #20] return(result); 80c0c70: 697b ldr r3, [r7, #20] 80c0c72: 2b00 cmp r3, #0 80c0c74: d1e5 bne.n 80c0c42 /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ if (huart->hdmarx != NULL) 80c0c76: 687b ldr r3, [r7, #4] 80c0c78: 6f1b ldr r3, [r3, #112] ; 0x70 80c0c7a: 2b00 cmp r3, #0 80c0c7c: d012 beq.n 80c0ca4 { /* 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) 80c0c7e: 687b ldr r3, [r7, #4] 80c0c80: 6f1b ldr r3, [r3, #112] ; 0x70 80c0c82: 4618 mov r0, r3 80c0c84: f7f7 fac2 bl 80b820c 80c0c88: 4603 mov r3, r0 80c0c8a: 2b00 cmp r3, #0 80c0c8c: d007 beq.n 80c0c9e { huart->hdmarx->XferAbortCallback = NULL; 80c0c8e: 687b ldr r3, [r7, #4] 80c0c90: 6f1b ldr r3, [r3, #112] ; 0x70 80c0c92: 2200 movs r2, #0 80c0c94: 651a str r2, [r3, #80] ; 0x50 abortcplt = 1U; 80c0c96: 2301 movs r3, #1 80c0c98: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80c0c9c: e002 b.n 80c0ca4 } else { abortcplt = 0U; 80c0c9e: 2300 movs r3, #0 80c0ca0: 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) 80c0ca4: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c0ca8: 2b01 cmp r3, #1 80c0caa: d129 bne.n 80c0d00 { /* Reset Tx and Rx transfer counters */ huart->TxXferCount = 0U; 80c0cac: 687b ldr r3, [r7, #4] 80c0cae: 2200 movs r2, #0 80c0cb0: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 huart->RxXferCount = 0U; 80c0cb4: 687b ldr r3, [r7, #4] 80c0cb6: 2200 movs r2, #0 80c0cb8: f8a3 205a strh.w r2, [r3, #90] ; 0x5a /* Clear ISR function pointers */ huart->RxISR = NULL; 80c0cbc: 687b ldr r3, [r7, #4] 80c0cbe: 2200 movs r2, #0 80c0cc0: 665a str r2, [r3, #100] ; 0x64 huart->TxISR = NULL; 80c0cc2: 687b ldr r3, [r7, #4] 80c0cc4: 2200 movs r2, #0 80c0cc6: 669a str r2, [r3, #104] ; 0x68 /* Reset errorCode */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80c0cc8: 687b ldr r3, [r7, #4] 80c0cca: 2200 movs r2, #0 80c0ccc: 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); 80c0cd0: 687b ldr r3, [r7, #4] 80c0cd2: 681b ldr r3, [r3, #0] 80c0cd4: 220f movs r2, #15 80c0cd6: 621a str r2, [r3, #32] /* Discard the received data */ __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 80c0cd8: 687b ldr r3, [r7, #4] 80c0cda: 681b ldr r3, [r3, #0] 80c0cdc: 687a ldr r2, [r7, #4] 80c0cde: 6812 ldr r2, [r2, #0] 80c0ce0: 6992 ldr r2, [r2, #24] 80c0ce2: f042 0208 orr.w r2, r2, #8 80c0ce6: 619a str r2, [r3, #24] /* Restore huart->gState and huart->RxState to Ready */ huart->gState = HAL_UART_STATE_READY; 80c0ce8: 687b ldr r3, [r7, #4] 80c0cea: 2220 movs r2, #32 80c0cec: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_READY; 80c0cee: 687b ldr r3, [r7, #4] 80c0cf0: 2220 movs r2, #32 80c0cf2: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c0cf4: 687b ldr r3, [r7, #4] 80c0cf6: 2200 movs r2, #0 80c0cf8: 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); 80c0cfa: 6878 ldr r0, [r7, #4] 80c0cfc: f000 faea bl 80c12d4 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } return HAL_OK; 80c0d00: 2300 movs r3, #0 } 80c0d02: 4618 mov r0, r3 80c0d04: 3788 adds r7, #136 ; 0x88 80c0d06: 46bd mov sp, r7 80c0d08: bd80 pop {r7, pc} 80c0d0a: bf00 nop 80c0d0c: 080c1407 .word 0x080c1407 80c0d10: 080c1471 .word 0x080c1471 080c0d14 : * @brief Handle UART interrupt request. * @param huart UART handle. * @retval None */ void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) { 80c0d14: b580 push {r7, lr} 80c0d16: b0ba sub sp, #232 ; 0xe8 80c0d18: af00 add r7, sp, #0 80c0d1a: 6078 str r0, [r7, #4] uint32_t isrflags = READ_REG(huart->Instance->ISR); 80c0d1c: 687b ldr r3, [r7, #4] 80c0d1e: 681b ldr r3, [r3, #0] 80c0d20: 69db ldr r3, [r3, #28] 80c0d22: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 uint32_t cr1its = READ_REG(huart->Instance->CR1); 80c0d26: 687b ldr r3, [r7, #4] 80c0d28: 681b ldr r3, [r3, #0] 80c0d2a: 681b ldr r3, [r3, #0] 80c0d2c: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 uint32_t cr3its = READ_REG(huart->Instance->CR3); 80c0d30: 687b ldr r3, [r7, #4] 80c0d32: 681b ldr r3, [r3, #0] 80c0d34: 689b ldr r3, [r3, #8] 80c0d36: 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)); 80c0d3a: f8d7 20e4 ldr.w r2, [r7, #228] ; 0xe4 80c0d3e: f640 030f movw r3, #2063 ; 0x80f 80c0d42: 4013 ands r3, r2 80c0d44: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 if (errorflags == 0U) 80c0d48: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80c0d4c: 2b00 cmp r3, #0 80c0d4e: d115 bne.n 80c0d7c { /* UART in mode Receiver ---------------------------------------------------*/ if (((isrflags & USART_ISR_RXNE) != 0U) 80c0d50: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c0d54: f003 0320 and.w r3, r3, #32 80c0d58: 2b00 cmp r3, #0 80c0d5a: d00f beq.n 80c0d7c && ((cr1its & USART_CR1_RXNEIE) != 0U)) 80c0d5c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c0d60: f003 0320 and.w r3, r3, #32 80c0d64: 2b00 cmp r3, #0 80c0d66: d009 beq.n 80c0d7c { if (huart->RxISR != NULL) 80c0d68: 687b ldr r3, [r7, #4] 80c0d6a: 6e5b ldr r3, [r3, #100] ; 0x64 80c0d6c: 2b00 cmp r3, #0 80c0d6e: f000 82a5 beq.w 80c12bc { huart->RxISR(huart); 80c0d72: 687b ldr r3, [r7, #4] 80c0d74: 6e5b ldr r3, [r3, #100] ; 0x64 80c0d76: 6878 ldr r0, [r7, #4] 80c0d78: 4798 blx r3 } return; 80c0d7a: e29f b.n 80c12bc } } /* If some errors occur */ if ((errorflags != 0U) 80c0d7c: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80c0d80: 2b00 cmp r3, #0 80c0d82: f000 8117 beq.w 80c0fb4 && (((cr3its & USART_CR3_EIE) != 0U) 80c0d86: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80c0d8a: f003 0301 and.w r3, r3, #1 80c0d8e: 2b00 cmp r3, #0 80c0d90: d106 bne.n 80c0da0 || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 80c0d92: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80c0d96: 4b85 ldr r3, [pc, #532] ; (80c0fac ) 80c0d98: 4013 ands r3, r2 80c0d9a: 2b00 cmp r3, #0 80c0d9c: f000 810a beq.w 80c0fb4 { /* UART parity error interrupt occurred -------------------------------------*/ if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 80c0da0: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c0da4: f003 0301 and.w r3, r3, #1 80c0da8: 2b00 cmp r3, #0 80c0daa: d011 beq.n 80c0dd0 80c0dac: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c0db0: f403 7380 and.w r3, r3, #256 ; 0x100 80c0db4: 2b00 cmp r3, #0 80c0db6: d00b beq.n 80c0dd0 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 80c0db8: 687b ldr r3, [r7, #4] 80c0dba: 681b ldr r3, [r3, #0] 80c0dbc: 2201 movs r2, #1 80c0dbe: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_PE; 80c0dc0: 687b ldr r3, [r7, #4] 80c0dc2: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c0dc6: f043 0201 orr.w r2, r3, #1 80c0dca: 687b ldr r3, [r7, #4] 80c0dcc: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART frame error interrupt occurred --------------------------------------*/ if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 80c0dd0: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c0dd4: f003 0302 and.w r3, r3, #2 80c0dd8: 2b00 cmp r3, #0 80c0dda: d011 beq.n 80c0e00 80c0ddc: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80c0de0: f003 0301 and.w r3, r3, #1 80c0de4: 2b00 cmp r3, #0 80c0de6: d00b beq.n 80c0e00 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 80c0de8: 687b ldr r3, [r7, #4] 80c0dea: 681b ldr r3, [r3, #0] 80c0dec: 2202 movs r2, #2 80c0dee: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_FE; 80c0df0: 687b ldr r3, [r7, #4] 80c0df2: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c0df6: f043 0204 orr.w r2, r3, #4 80c0dfa: 687b ldr r3, [r7, #4] 80c0dfc: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART noise error interrupt occurred --------------------------------------*/ if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 80c0e00: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c0e04: f003 0304 and.w r3, r3, #4 80c0e08: 2b00 cmp r3, #0 80c0e0a: d011 beq.n 80c0e30 80c0e0c: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80c0e10: f003 0301 and.w r3, r3, #1 80c0e14: 2b00 cmp r3, #0 80c0e16: d00b beq.n 80c0e30 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 80c0e18: 687b ldr r3, [r7, #4] 80c0e1a: 681b ldr r3, [r3, #0] 80c0e1c: 2204 movs r2, #4 80c0e1e: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_NE; 80c0e20: 687b ldr r3, [r7, #4] 80c0e22: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c0e26: f043 0202 orr.w r2, r3, #2 80c0e2a: 687b ldr r3, [r7, #4] 80c0e2c: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART Over-Run interrupt occurred -----------------------------------------*/ if (((isrflags & USART_ISR_ORE) != 0U) 80c0e30: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c0e34: f003 0308 and.w r3, r3, #8 80c0e38: 2b00 cmp r3, #0 80c0e3a: d017 beq.n 80c0e6c && (((cr1its & USART_CR1_RXNEIE) != 0U) || 80c0e3c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c0e40: f003 0320 and.w r3, r3, #32 80c0e44: 2b00 cmp r3, #0 80c0e46: d105 bne.n 80c0e54 ((cr3its & USART_CR3_EIE) != 0U))) 80c0e48: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80c0e4c: f003 0301 and.w r3, r3, #1 && (((cr1its & USART_CR1_RXNEIE) != 0U) || 80c0e50: 2b00 cmp r3, #0 80c0e52: d00b beq.n 80c0e6c { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 80c0e54: 687b ldr r3, [r7, #4] 80c0e56: 681b ldr r3, [r3, #0] 80c0e58: 2208 movs r2, #8 80c0e5a: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_ORE; 80c0e5c: 687b ldr r3, [r7, #4] 80c0e5e: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c0e62: f043 0208 orr.w r2, r3, #8 80c0e66: 687b ldr r3, [r7, #4] 80c0e68: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART Receiver Timeout interrupt occurred ---------------------------------*/ if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U)) 80c0e6c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c0e70: f403 6300 and.w r3, r3, #2048 ; 0x800 80c0e74: 2b00 cmp r3, #0 80c0e76: d012 beq.n 80c0e9e 80c0e78: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c0e7c: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80c0e80: 2b00 cmp r3, #0 80c0e82: d00c beq.n 80c0e9e { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 80c0e84: 687b ldr r3, [r7, #4] 80c0e86: 681b ldr r3, [r3, #0] 80c0e88: f44f 6200 mov.w r2, #2048 ; 0x800 80c0e8c: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_RTO; 80c0e8e: 687b ldr r3, [r7, #4] 80c0e90: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c0e94: f043 0220 orr.w r2, r3, #32 80c0e98: 687b ldr r3, [r7, #4] 80c0e9a: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* Call UART Error Call back function if need be ----------------------------*/ if (huart->ErrorCode != HAL_UART_ERROR_NONE) 80c0e9e: 687b ldr r3, [r7, #4] 80c0ea0: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c0ea4: 2b00 cmp r3, #0 80c0ea6: f000 820b beq.w 80c12c0 { /* UART in mode Receiver --------------------------------------------------*/ if (((isrflags & USART_ISR_RXNE) != 0U) 80c0eaa: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c0eae: f003 0320 and.w r3, r3, #32 80c0eb2: 2b00 cmp r3, #0 80c0eb4: d00d beq.n 80c0ed2 && ((cr1its & USART_CR1_RXNEIE) != 0U)) 80c0eb6: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c0eba: f003 0320 and.w r3, r3, #32 80c0ebe: 2b00 cmp r3, #0 80c0ec0: d007 beq.n 80c0ed2 { if (huart->RxISR != NULL) 80c0ec2: 687b ldr r3, [r7, #4] 80c0ec4: 6e5b ldr r3, [r3, #100] ; 0x64 80c0ec6: 2b00 cmp r3, #0 80c0ec8: d003 beq.n 80c0ed2 { huart->RxISR(huart); 80c0eca: 687b ldr r3, [r7, #4] 80c0ecc: 6e5b ldr r3, [r3, #100] ; 0x64 80c0ece: 6878 ldr r0, [r7, #4] 80c0ed0: 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; 80c0ed2: 687b ldr r3, [r7, #4] 80c0ed4: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c0ed8: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 80c0edc: 687b ldr r3, [r7, #4] 80c0ede: 681b ldr r3, [r3, #0] 80c0ee0: 689b ldr r3, [r3, #8] 80c0ee2: f003 0340 and.w r3, r3, #64 ; 0x40 80c0ee6: 2b40 cmp r3, #64 ; 0x40 80c0ee8: d005 beq.n 80c0ef6 ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 80c0eea: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80c0eee: f003 0328 and.w r3, r3, #40 ; 0x28 if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 80c0ef2: 2b00 cmp r3, #0 80c0ef4: d04f beq.n 80c0f96 { /* 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); 80c0ef6: 6878 ldr r0, [r7, #4] 80c0ef8: f000 fa0c bl 80c1314 /* Abort the UART DMA Rx channel if enabled */ if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80c0efc: 687b ldr r3, [r7, #4] 80c0efe: 681b ldr r3, [r3, #0] 80c0f00: 689b ldr r3, [r3, #8] 80c0f02: f003 0340 and.w r3, r3, #64 ; 0x40 80c0f06: 2b40 cmp r3, #64 ; 0x40 80c0f08: d141 bne.n 80c0f8e { /* Disable the UART DMA Rx request if enabled */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 80c0f0a: 687b ldr r3, [r7, #4] 80c0f0c: 681b ldr r3, [r3, #0] 80c0f0e: 3308 adds r3, #8 80c0f10: f8c7 309c str.w r3, [r7, #156] ; 0x9c __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c0f14: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80c0f18: e853 3f00 ldrex r3, [r3] 80c0f1c: f8c7 3098 str.w r3, [r7, #152] ; 0x98 return(result); 80c0f20: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c0f24: f023 0340 bic.w r3, r3, #64 ; 0x40 80c0f28: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 80c0f2c: 687b ldr r3, [r7, #4] 80c0f2e: 681b ldr r3, [r3, #0] 80c0f30: 3308 adds r3, #8 80c0f32: f8d7 20d0 ldr.w r2, [r7, #208] ; 0xd0 80c0f36: f8c7 20a8 str.w r2, [r7, #168] ; 0xa8 80c0f3a: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c0f3e: f8d7 10a4 ldr.w r1, [r7, #164] ; 0xa4 80c0f42: f8d7 20a8 ldr.w r2, [r7, #168] ; 0xa8 80c0f46: e841 2300 strex r3, r2, [r1] 80c0f4a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 return(result); 80c0f4e: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80c0f52: 2b00 cmp r3, #0 80c0f54: d1d9 bne.n 80c0f0a /* Abort the UART DMA Rx channel */ if (huart->hdmarx != NULL) 80c0f56: 687b ldr r3, [r7, #4] 80c0f58: 6f1b ldr r3, [r3, #112] ; 0x70 80c0f5a: 2b00 cmp r3, #0 80c0f5c: d013 beq.n 80c0f86 { /* Set the UART DMA Abort callback : will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; 80c0f5e: 687b ldr r3, [r7, #4] 80c0f60: 6f1b ldr r3, [r3, #112] ; 0x70 80c0f62: 4a13 ldr r2, [pc, #76] ; (80c0fb0 ) 80c0f64: 651a str r2, [r3, #80] ; 0x50 /* Abort DMA RX */ if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 80c0f66: 687b ldr r3, [r7, #4] 80c0f68: 6f1b ldr r3, [r3, #112] ; 0x70 80c0f6a: 4618 mov r0, r3 80c0f6c: f7f7 f94e bl 80b820c 80c0f70: 4603 mov r3, r0 80c0f72: 2b00 cmp r3, #0 80c0f74: d017 beq.n 80c0fa6 { /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ huart->hdmarx->XferAbortCallback(huart->hdmarx); 80c0f76: 687b ldr r3, [r7, #4] 80c0f78: 6f1b ldr r3, [r3, #112] ; 0x70 80c0f7a: 6d1b ldr r3, [r3, #80] ; 0x50 80c0f7c: 687a ldr r2, [r7, #4] 80c0f7e: 6f12 ldr r2, [r2, #112] ; 0x70 80c0f80: 4610 mov r0, r2 80c0f82: 4798 blx r3 if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80c0f84: e00f b.n 80c0fa6 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); 80c0f86: 6878 ldr r0, [r7, #4] 80c0f88: f76e fd60 bl 802fa4c if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80c0f8c: e00b b.n 80c0fa6 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); 80c0f8e: 6878 ldr r0, [r7, #4] 80c0f90: f76e fd5c bl 802fa4c if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80c0f94: e007 b.n 80c0fa6 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); 80c0f96: 6878 ldr r0, [r7, #4] 80c0f98: f76e fd58 bl 802fa4c #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80c0f9c: 687b ldr r3, [r7, #4] 80c0f9e: 2200 movs r2, #0 80c0fa0: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } } return; 80c0fa4: e18c b.n 80c12c0 if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80c0fa6: bf00 nop return; 80c0fa8: e18a b.n 80c12c0 80c0faa: bf00 nop 80c0fac: 04000120 .word 0x04000120 80c0fb0: 080c13db .word 0x080c13db } /* End if some error occurs */ /* Check current reception Mode : If Reception till IDLE event has been selected : */ if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 80c0fb4: 687b ldr r3, [r7, #4] 80c0fb6: 6e1b ldr r3, [r3, #96] ; 0x60 80c0fb8: 2b01 cmp r3, #1 80c0fba: f040 8144 bne.w 80c1246 && ((isrflags & USART_ISR_IDLE) != 0U) 80c0fbe: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c0fc2: f003 0310 and.w r3, r3, #16 80c0fc6: 2b00 cmp r3, #0 80c0fc8: f000 813d beq.w 80c1246 && ((cr1its & USART_ISR_IDLE) != 0U)) 80c0fcc: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c0fd0: f003 0310 and.w r3, r3, #16 80c0fd4: 2b00 cmp r3, #0 80c0fd6: f000 8136 beq.w 80c1246 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 80c0fda: 687b ldr r3, [r7, #4] 80c0fdc: 681b ldr r3, [r3, #0] 80c0fde: 2210 movs r2, #16 80c0fe0: 621a str r2, [r3, #32] /* Check if DMA mode is enabled in UART */ if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80c0fe2: 687b ldr r3, [r7, #4] 80c0fe4: 681b ldr r3, [r3, #0] 80c0fe6: 689b ldr r3, [r3, #8] 80c0fe8: f003 0340 and.w r3, r3, #64 ; 0x40 80c0fec: 2b40 cmp r3, #64 ; 0x40 80c0fee: f040 80b2 bne.w 80c1156 { /* 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); 80c0ff2: 687b ldr r3, [r7, #4] 80c0ff4: 6f1b ldr r3, [r3, #112] ; 0x70 80c0ff6: 681b ldr r3, [r3, #0] 80c0ff8: 685b ldr r3, [r3, #4] 80c0ffa: f8a7 30ce strh.w r3, [r7, #206] ; 0xce if ((nb_remaining_rx_data > 0U) 80c0ffe: f8b7 30ce ldrh.w r3, [r7, #206] ; 0xce 80c1002: 2b00 cmp r3, #0 80c1004: f000 815e beq.w 80c12c4 && (nb_remaining_rx_data < huart->RxXferSize)) 80c1008: 687b ldr r3, [r7, #4] 80c100a: f8b3 3058 ldrh.w r3, [r3, #88] ; 0x58 80c100e: f8b7 20ce ldrh.w r2, [r7, #206] ; 0xce 80c1012: 429a cmp r2, r3 80c1014: f080 8156 bcs.w 80c12c4 { /* Reception is not complete */ huart->RxXferCount = nb_remaining_rx_data; 80c1018: 687b ldr r3, [r7, #4] 80c101a: f8b7 20ce ldrh.w r2, [r7, #206] ; 0xce 80c101e: 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) 80c1022: 687b ldr r3, [r7, #4] 80c1024: 6f1b ldr r3, [r3, #112] ; 0x70 80c1026: 69db ldr r3, [r3, #28] 80c1028: f5b3 7f80 cmp.w r3, #256 ; 0x100 80c102c: f000 8085 beq.w 80c113a { /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 80c1030: 687b ldr r3, [r7, #4] 80c1032: 681b ldr r3, [r3, #0] 80c1034: f8c7 3088 str.w r3, [r7, #136] ; 0x88 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1038: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80c103c: e853 3f00 ldrex r3, [r3] 80c1040: f8c7 3084 str.w r3, [r7, #132] ; 0x84 return(result); 80c1044: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c1048: f423 7380 bic.w r3, r3, #256 ; 0x100 80c104c: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 80c1050: 687b ldr r3, [r7, #4] 80c1052: 681b ldr r3, [r3, #0] 80c1054: 461a mov r2, r3 80c1056: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80c105a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c105e: f8c7 2090 str.w r2, [r7, #144] ; 0x90 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1062: f8d7 1090 ldr.w r1, [r7, #144] ; 0x90 80c1066: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c106a: e841 2300 strex r3, r2, [r1] 80c106e: f8c7 308c str.w r3, [r7, #140] ; 0x8c return(result); 80c1072: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c1076: 2b00 cmp r3, #0 80c1078: d1da bne.n 80c1030 ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80c107a: 687b ldr r3, [r7, #4] 80c107c: 681b ldr r3, [r3, #0] 80c107e: 3308 adds r3, #8 80c1080: 677b str r3, [r7, #116] ; 0x74 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1082: 6f7b ldr r3, [r7, #116] ; 0x74 80c1084: e853 3f00 ldrex r3, [r3] 80c1088: 673b str r3, [r7, #112] ; 0x70 return(result); 80c108a: 6f3b ldr r3, [r7, #112] ; 0x70 80c108c: f023 0301 bic.w r3, r3, #1 80c1090: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80c1094: 687b ldr r3, [r7, #4] 80c1096: 681b ldr r3, [r3, #0] 80c1098: 3308 adds r3, #8 80c109a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80c109e: f8c7 2080 str.w r2, [r7, #128] ; 0x80 80c10a2: 67fb str r3, [r7, #124] ; 0x7c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c10a4: 6ff9 ldr r1, [r7, #124] ; 0x7c 80c10a6: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c10aa: e841 2300 strex r3, r2, [r1] 80c10ae: 67bb str r3, [r7, #120] ; 0x78 return(result); 80c10b0: 6fbb ldr r3, [r7, #120] ; 0x78 80c10b2: 2b00 cmp r3, #0 80c10b4: d1e1 bne.n 80c107a /* 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); 80c10b6: 687b ldr r3, [r7, #4] 80c10b8: 681b ldr r3, [r3, #0] 80c10ba: 3308 adds r3, #8 80c10bc: 663b str r3, [r7, #96] ; 0x60 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c10be: 6e3b ldr r3, [r7, #96] ; 0x60 80c10c0: e853 3f00 ldrex r3, [r3] 80c10c4: 65fb str r3, [r7, #92] ; 0x5c return(result); 80c10c6: 6dfb ldr r3, [r7, #92] ; 0x5c 80c10c8: f023 0340 bic.w r3, r3, #64 ; 0x40 80c10cc: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80c10d0: 687b ldr r3, [r7, #4] 80c10d2: 681b ldr r3, [r3, #0] 80c10d4: 3308 adds r3, #8 80c10d6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80c10da: 66fa str r2, [r7, #108] ; 0x6c 80c10dc: 66bb str r3, [r7, #104] ; 0x68 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c10de: 6eb9 ldr r1, [r7, #104] ; 0x68 80c10e0: 6efa ldr r2, [r7, #108] ; 0x6c 80c10e2: e841 2300 strex r3, r2, [r1] 80c10e6: 667b str r3, [r7, #100] ; 0x64 return(result); 80c10e8: 6e7b ldr r3, [r7, #100] ; 0x64 80c10ea: 2b00 cmp r3, #0 80c10ec: d1e3 bne.n 80c10b6 /* At end of Rx process, restore huart->RxState to Ready */ huart->RxState = HAL_UART_STATE_READY; 80c10ee: 687b ldr r3, [r7, #4] 80c10f0: 2220 movs r2, #32 80c10f2: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c10f4: 687b ldr r3, [r7, #4] 80c10f6: 2200 movs r2, #0 80c10f8: 661a str r2, [r3, #96] ; 0x60 ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 80c10fa: 687b ldr r3, [r7, #4] 80c10fc: 681b ldr r3, [r3, #0] 80c10fe: 64fb str r3, [r7, #76] ; 0x4c __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1100: 6cfb ldr r3, [r7, #76] ; 0x4c 80c1102: e853 3f00 ldrex r3, [r3] 80c1106: 64bb str r3, [r7, #72] ; 0x48 return(result); 80c1108: 6cbb ldr r3, [r7, #72] ; 0x48 80c110a: f023 0310 bic.w r3, r3, #16 80c110e: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 80c1112: 687b ldr r3, [r7, #4] 80c1114: 681b ldr r3, [r3, #0] 80c1116: 461a mov r2, r3 80c1118: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80c111c: 65bb str r3, [r7, #88] ; 0x58 80c111e: 657a str r2, [r7, #84] ; 0x54 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1120: 6d79 ldr r1, [r7, #84] ; 0x54 80c1122: 6dba ldr r2, [r7, #88] ; 0x58 80c1124: e841 2300 strex r3, r2, [r1] 80c1128: 653b str r3, [r7, #80] ; 0x50 return(result); 80c112a: 6d3b ldr r3, [r7, #80] ; 0x50 80c112c: 2b00 cmp r3, #0 80c112e: d1e4 bne.n 80c10fa /* Last bytes received, so no need as the abort is immediate */ (void)HAL_DMA_Abort(huart->hdmarx); 80c1130: 687b ldr r3, [r7, #4] 80c1132: 6f1b ldr r3, [r3, #112] ; 0x70 80c1134: 4618 mov r0, r3 80c1136: f7f6 fff9 bl 80b812c #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)); 80c113a: 687b ldr r3, [r7, #4] 80c113c: f8b3 2058 ldrh.w r2, [r3, #88] ; 0x58 80c1140: 687b ldr r3, [r7, #4] 80c1142: f8b3 305a ldrh.w r3, [r3, #90] ; 0x5a 80c1146: b29b uxth r3, r3 80c1148: 1ad3 subs r3, r2, r3 80c114a: b29b uxth r3, r3 80c114c: 4619 mov r1, r3 80c114e: 6878 ldr r0, [r7, #4] 80c1150: f000 f8ca bl 80c12e8 #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ } return; 80c1154: e0b6 b.n 80c12c4 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; 80c1156: 687b ldr r3, [r7, #4] 80c1158: f8b3 2058 ldrh.w r2, [r3, #88] ; 0x58 80c115c: 687b ldr r3, [r7, #4] 80c115e: f8b3 305a ldrh.w r3, [r3, #90] ; 0x5a 80c1162: b29b uxth r3, r3 80c1164: 1ad3 subs r3, r2, r3 80c1166: f8a7 30ba strh.w r3, [r7, #186] ; 0xba if ((huart->RxXferCount > 0U) 80c116a: 687b ldr r3, [r7, #4] 80c116c: f8b3 305a ldrh.w r3, [r3, #90] ; 0x5a 80c1170: b29b uxth r3, r3 80c1172: 2b00 cmp r3, #0 80c1174: f000 80a8 beq.w 80c12c8 && (nb_rx_data > 0U)) 80c1178: f8b7 30ba ldrh.w r3, [r7, #186] ; 0xba 80c117c: 2b00 cmp r3, #0 80c117e: f000 80a3 beq.w 80c12c8 { /* Disable the UART Parity Error Interrupt and RXNE interrupts */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 80c1182: 687b ldr r3, [r7, #4] 80c1184: 681b ldr r3, [r3, #0] 80c1186: 63bb str r3, [r7, #56] ; 0x38 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1188: 6bbb ldr r3, [r7, #56] ; 0x38 80c118a: e853 3f00 ldrex r3, [r3] 80c118e: 637b str r3, [r7, #52] ; 0x34 return(result); 80c1190: 6b7b ldr r3, [r7, #52] ; 0x34 80c1192: f423 7390 bic.w r3, r3, #288 ; 0x120 80c1196: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 80c119a: 687b ldr r3, [r7, #4] 80c119c: 681b ldr r3, [r3, #0] 80c119e: 461a mov r2, r3 80c11a0: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 80c11a4: 647b str r3, [r7, #68] ; 0x44 80c11a6: 643a str r2, [r7, #64] ; 0x40 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c11a8: 6c39 ldr r1, [r7, #64] ; 0x40 80c11aa: 6c7a ldr r2, [r7, #68] ; 0x44 80c11ac: e841 2300 strex r3, r2, [r1] 80c11b0: 63fb str r3, [r7, #60] ; 0x3c return(result); 80c11b2: 6bfb ldr r3, [r7, #60] ; 0x3c 80c11b4: 2b00 cmp r3, #0 80c11b6: d1e4 bne.n 80c1182 /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80c11b8: 687b ldr r3, [r7, #4] 80c11ba: 681b ldr r3, [r3, #0] 80c11bc: 3308 adds r3, #8 80c11be: 627b str r3, [r7, #36] ; 0x24 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c11c0: 6a7b ldr r3, [r7, #36] ; 0x24 80c11c2: e853 3f00 ldrex r3, [r3] 80c11c6: 623b str r3, [r7, #32] return(result); 80c11c8: 6a3b ldr r3, [r7, #32] 80c11ca: f023 0301 bic.w r3, r3, #1 80c11ce: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 80c11d2: 687b ldr r3, [r7, #4] 80c11d4: 681b ldr r3, [r3, #0] 80c11d6: 3308 adds r3, #8 80c11d8: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 80c11dc: 633a str r2, [r7, #48] ; 0x30 80c11de: 62fb str r3, [r7, #44] ; 0x2c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c11e0: 6af9 ldr r1, [r7, #44] ; 0x2c 80c11e2: 6b3a ldr r2, [r7, #48] ; 0x30 80c11e4: e841 2300 strex r3, r2, [r1] 80c11e8: 62bb str r3, [r7, #40] ; 0x28 return(result); 80c11ea: 6abb ldr r3, [r7, #40] ; 0x28 80c11ec: 2b00 cmp r3, #0 80c11ee: d1e3 bne.n 80c11b8 /* Rx process is completed, restore huart->RxState to Ready */ huart->RxState = HAL_UART_STATE_READY; 80c11f0: 687b ldr r3, [r7, #4] 80c11f2: 2220 movs r2, #32 80c11f4: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c11f6: 687b ldr r3, [r7, #4] 80c11f8: 2200 movs r2, #0 80c11fa: 661a str r2, [r3, #96] ; 0x60 /* Clear RxISR function pointer */ huart->RxISR = NULL; 80c11fc: 687b ldr r3, [r7, #4] 80c11fe: 2200 movs r2, #0 80c1200: 665a str r2, [r3, #100] ; 0x64 ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 80c1202: 687b ldr r3, [r7, #4] 80c1204: 681b ldr r3, [r3, #0] 80c1206: 613b str r3, [r7, #16] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1208: 693b ldr r3, [r7, #16] 80c120a: e853 3f00 ldrex r3, [r3] 80c120e: 60fb str r3, [r7, #12] return(result); 80c1210: 68fb ldr r3, [r7, #12] 80c1212: f023 0310 bic.w r3, r3, #16 80c1216: f8c7 30ac str.w r3, [r7, #172] ; 0xac 80c121a: 687b ldr r3, [r7, #4] 80c121c: 681b ldr r3, [r3, #0] 80c121e: 461a mov r2, r3 80c1220: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80c1224: 61fb str r3, [r7, #28] 80c1226: 61ba str r2, [r7, #24] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1228: 69b9 ldr r1, [r7, #24] 80c122a: 69fa ldr r2, [r7, #28] 80c122c: e841 2300 strex r3, r2, [r1] 80c1230: 617b str r3, [r7, #20] return(result); 80c1232: 697b ldr r3, [r7, #20] 80c1234: 2b00 cmp r3, #0 80c1236: d1e4 bne.n 80c1202 #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); 80c1238: f8b7 30ba ldrh.w r3, [r7, #186] ; 0xba 80c123c: 4619 mov r1, r3 80c123e: 6878 ldr r0, [r7, #4] 80c1240: f000 f852 bl 80c12e8 #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ } return; 80c1244: e040 b.n 80c12c8 } #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)) 80c1246: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c124a: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80c124e: 2b00 cmp r3, #0 80c1250: d00e beq.n 80c1270 80c1252: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80c1256: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80c125a: 2b00 cmp r3, #0 80c125c: d008 beq.n 80c1270 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF); 80c125e: 687b ldr r3, [r7, #4] 80c1260: 681b ldr r3, [r3, #0] 80c1262: f44f 1280 mov.w r2, #1048576 ; 0x100000 80c1266: 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); 80c1268: 6878 ldr r0, [r7, #4] 80c126a: f000 f849 bl 80c1300 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ return; 80c126e: e02e b.n 80c12ce } #endif /* USART_CR3_WUFIE */ #endif /* USART_CR1_UESM */ /* UART in mode Transmitter ------------------------------------------------*/ if (((isrflags & USART_ISR_TXE) != 0U) 80c1270: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c1274: f003 0380 and.w r3, r3, #128 ; 0x80 80c1278: 2b00 cmp r3, #0 80c127a: d00e beq.n 80c129a && ((cr1its & USART_CR1_TXEIE) != 0U)) 80c127c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c1280: f003 0380 and.w r3, r3, #128 ; 0x80 80c1284: 2b00 cmp r3, #0 80c1286: d008 beq.n 80c129a { if (huart->TxISR != NULL) 80c1288: 687b ldr r3, [r7, #4] 80c128a: 6e9b ldr r3, [r3, #104] ; 0x68 80c128c: 2b00 cmp r3, #0 80c128e: d01d beq.n 80c12cc { huart->TxISR(huart); 80c1290: 687b ldr r3, [r7, #4] 80c1292: 6e9b ldr r3, [r3, #104] ; 0x68 80c1294: 6878 ldr r0, [r7, #4] 80c1296: 4798 blx r3 } return; 80c1298: e018 b.n 80c12cc } /* UART in mode Transmitter (transmission end) -----------------------------*/ if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U)) 80c129a: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80c129e: f003 0340 and.w r3, r3, #64 ; 0x40 80c12a2: 2b00 cmp r3, #0 80c12a4: d013 beq.n 80c12ce 80c12a6: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c12aa: f003 0340 and.w r3, r3, #64 ; 0x40 80c12ae: 2b00 cmp r3, #0 80c12b0: d00d beq.n 80c12ce { UART_EndTransmit_IT(huart); 80c12b2: 6878 ldr r0, [r7, #4] 80c12b4: f000 f919 bl 80c14ea return; 80c12b8: bf00 nop 80c12ba: e008 b.n 80c12ce return; 80c12bc: bf00 nop 80c12be: e006 b.n 80c12ce return; 80c12c0: bf00 nop 80c12c2: e004 b.n 80c12ce return; 80c12c4: bf00 nop 80c12c6: e002 b.n 80c12ce return; 80c12c8: bf00 nop 80c12ca: e000 b.n 80c12ce return; 80c12cc: bf00 nop } } 80c12ce: 37e8 adds r7, #232 ; 0xe8 80c12d0: 46bd mov sp, r7 80c12d2: bd80 pop {r7, pc} 080c12d4 : * @brief UART Abort Complete callback. * @param huart UART handle. * @retval None */ __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart) { 80c12d4: b480 push {r7} 80c12d6: b083 sub sp, #12 80c12d8: af00 add r7, sp, #0 80c12da: 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. */ } 80c12dc: bf00 nop 80c12de: 370c adds r7, #12 80c12e0: 46bd mov sp, r7 80c12e2: f85d 7b04 ldr.w r7, [sp], #4 80c12e6: 4770 bx lr 080c12e8 : * @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) { 80c12e8: b480 push {r7} 80c12ea: b083 sub sp, #12 80c12ec: af00 add r7, sp, #0 80c12ee: 6078 str r0, [r7, #4] 80c12f0: 460b mov r3, r1 80c12f2: 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. */ } 80c12f4: bf00 nop 80c12f6: 370c adds r7, #12 80c12f8: 46bd mov sp, r7 80c12fa: f85d 7b04 ldr.w r7, [sp], #4 80c12fe: 4770 bx lr 080c1300 : * @brief UART wakeup from Stop mode callback. * @param huart UART handle. * @retval None */ __weak void HAL_UARTEx_WakeupCallback(UART_HandleTypeDef *huart) { 80c1300: b480 push {r7} 80c1302: b083 sub sp, #12 80c1304: af00 add r7, sp, #0 80c1306: 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. */ } 80c1308: bf00 nop 80c130a: 370c adds r7, #12 80c130c: 46bd mov sp, r7 80c130e: f85d 7b04 ldr.w r7, [sp], #4 80c1312: 4770 bx lr 080c1314 : * @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) { 80c1314: b480 push {r7} 80c1316: b095 sub sp, #84 ; 0x54 80c1318: af00 add r7, sp, #0 80c131a: 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)); 80c131c: 687b ldr r3, [r7, #4] 80c131e: 681b ldr r3, [r3, #0] 80c1320: 637b str r3, [r7, #52] ; 0x34 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1322: 6b7b ldr r3, [r7, #52] ; 0x34 80c1324: e853 3f00 ldrex r3, [r3] 80c1328: 633b str r3, [r7, #48] ; 0x30 return(result); 80c132a: 6b3b ldr r3, [r7, #48] ; 0x30 80c132c: f423 7390 bic.w r3, r3, #288 ; 0x120 80c1330: 64fb str r3, [r7, #76] ; 0x4c 80c1332: 687b ldr r3, [r7, #4] 80c1334: 681b ldr r3, [r3, #0] 80c1336: 461a mov r2, r3 80c1338: 6cfb ldr r3, [r7, #76] ; 0x4c 80c133a: 643b str r3, [r7, #64] ; 0x40 80c133c: 63fa str r2, [r7, #60] ; 0x3c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c133e: 6bf9 ldr r1, [r7, #60] ; 0x3c 80c1340: 6c3a ldr r2, [r7, #64] ; 0x40 80c1342: e841 2300 strex r3, r2, [r1] 80c1346: 63bb str r3, [r7, #56] ; 0x38 return(result); 80c1348: 6bbb ldr r3, [r7, #56] ; 0x38 80c134a: 2b00 cmp r3, #0 80c134c: d1e6 bne.n 80c131c ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80c134e: 687b ldr r3, [r7, #4] 80c1350: 681b ldr r3, [r3, #0] 80c1352: 3308 adds r3, #8 80c1354: 623b str r3, [r7, #32] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1356: 6a3b ldr r3, [r7, #32] 80c1358: e853 3f00 ldrex r3, [r3] 80c135c: 61fb str r3, [r7, #28] return(result); 80c135e: 69fb ldr r3, [r7, #28] 80c1360: f023 0301 bic.w r3, r3, #1 80c1364: 64bb str r3, [r7, #72] ; 0x48 80c1366: 687b ldr r3, [r7, #4] 80c1368: 681b ldr r3, [r3, #0] 80c136a: 3308 adds r3, #8 80c136c: 6cba ldr r2, [r7, #72] ; 0x48 80c136e: 62fa str r2, [r7, #44] ; 0x2c 80c1370: 62bb str r3, [r7, #40] ; 0x28 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1372: 6ab9 ldr r1, [r7, #40] ; 0x28 80c1374: 6afa ldr r2, [r7, #44] ; 0x2c 80c1376: e841 2300 strex r3, r2, [r1] 80c137a: 627b str r3, [r7, #36] ; 0x24 return(result); 80c137c: 6a7b ldr r3, [r7, #36] ; 0x24 80c137e: 2b00 cmp r3, #0 80c1380: d1e5 bne.n 80c134e /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */ if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 80c1382: 687b ldr r3, [r7, #4] 80c1384: 6e1b ldr r3, [r3, #96] ; 0x60 80c1386: 2b01 cmp r3, #1 80c1388: d118 bne.n 80c13bc { ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 80c138a: 687b ldr r3, [r7, #4] 80c138c: 681b ldr r3, [r3, #0] 80c138e: 60fb str r3, [r7, #12] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c1390: 68fb ldr r3, [r7, #12] 80c1392: e853 3f00 ldrex r3, [r3] 80c1396: 60bb str r3, [r7, #8] return(result); 80c1398: 68bb ldr r3, [r7, #8] 80c139a: f023 0310 bic.w r3, r3, #16 80c139e: 647b str r3, [r7, #68] ; 0x44 80c13a0: 687b ldr r3, [r7, #4] 80c13a2: 681b ldr r3, [r3, #0] 80c13a4: 461a mov r2, r3 80c13a6: 6c7b ldr r3, [r7, #68] ; 0x44 80c13a8: 61bb str r3, [r7, #24] 80c13aa: 617a str r2, [r7, #20] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c13ac: 6979 ldr r1, [r7, #20] 80c13ae: 69ba ldr r2, [r7, #24] 80c13b0: e841 2300 strex r3, r2, [r1] 80c13b4: 613b str r3, [r7, #16] return(result); 80c13b6: 693b ldr r3, [r7, #16] 80c13b8: 2b00 cmp r3, #0 80c13ba: d1e6 bne.n 80c138a } /* At end of Rx process, restore huart->RxState to Ready */ huart->RxState = HAL_UART_STATE_READY; 80c13bc: 687b ldr r3, [r7, #4] 80c13be: 2220 movs r2, #32 80c13c0: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c13c2: 687b ldr r3, [r7, #4] 80c13c4: 2200 movs r2, #0 80c13c6: 661a str r2, [r3, #96] ; 0x60 /* Reset RxIsr function pointer */ huart->RxISR = NULL; 80c13c8: 687b ldr r3, [r7, #4] 80c13ca: 2200 movs r2, #0 80c13cc: 665a str r2, [r3, #100] ; 0x64 } 80c13ce: bf00 nop 80c13d0: 3754 adds r7, #84 ; 0x54 80c13d2: 46bd mov sp, r7 80c13d4: f85d 7b04 ldr.w r7, [sp], #4 80c13d8: 4770 bx lr 080c13da : * (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) { 80c13da: b580 push {r7, lr} 80c13dc: b084 sub sp, #16 80c13de: af00 add r7, sp, #0 80c13e0: 6078 str r0, [r7, #4] UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 80c13e2: 687b ldr r3, [r7, #4] 80c13e4: 6b9b ldr r3, [r3, #56] ; 0x38 80c13e6: 60fb str r3, [r7, #12] huart->RxXferCount = 0U; 80c13e8: 68fb ldr r3, [r7, #12] 80c13ea: 2200 movs r2, #0 80c13ec: f8a3 205a strh.w r2, [r3, #90] ; 0x5a huart->TxXferCount = 0U; 80c13f0: 68fb ldr r3, [r7, #12] 80c13f2: 2200 movs r2, #0 80c13f4: 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); 80c13f8: 68f8 ldr r0, [r7, #12] 80c13fa: f76e fb27 bl 802fa4c #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80c13fe: bf00 nop 80c1400: 3710 adds r7, #16 80c1402: 46bd mov sp, r7 80c1404: bd80 pop {r7, pc} 080c1406 : * Abort still ongoing for Rx DMA Handle. * @param hdma DMA handle. * @retval None */ static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) { 80c1406: b580 push {r7, lr} 80c1408: b084 sub sp, #16 80c140a: af00 add r7, sp, #0 80c140c: 6078 str r0, [r7, #4] UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 80c140e: 687b ldr r3, [r7, #4] 80c1410: 6b9b ldr r3, [r3, #56] ; 0x38 80c1412: 60fb str r3, [r7, #12] huart->hdmatx->XferAbortCallback = NULL; 80c1414: 68fb ldr r3, [r7, #12] 80c1416: 6edb ldr r3, [r3, #108] ; 0x6c 80c1418: 2200 movs r2, #0 80c141a: 651a str r2, [r3, #80] ; 0x50 /* Check if an Abort process is still ongoing */ if (huart->hdmarx != NULL) 80c141c: 68fb ldr r3, [r7, #12] 80c141e: 6f1b ldr r3, [r3, #112] ; 0x70 80c1420: 2b00 cmp r3, #0 80c1422: d004 beq.n 80c142e { if (huart->hdmarx->XferAbortCallback != NULL) 80c1424: 68fb ldr r3, [r7, #12] 80c1426: 6f1b ldr r3, [r3, #112] ; 0x70 80c1428: 6d1b ldr r3, [r3, #80] ; 0x50 80c142a: 2b00 cmp r3, #0 80c142c: d11c bne.n 80c1468 return; } } /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ huart->TxXferCount = 0U; 80c142e: 68fb ldr r3, [r7, #12] 80c1430: 2200 movs r2, #0 80c1432: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 huart->RxXferCount = 0U; 80c1436: 68fb ldr r3, [r7, #12] 80c1438: 2200 movs r2, #0 80c143a: f8a3 205a strh.w r2, [r3, #90] ; 0x5a /* Reset errorCode */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80c143e: 68fb ldr r3, [r7, #12] 80c1440: 2200 movs r2, #0 80c1442: 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); 80c1446: 68fb ldr r3, [r7, #12] 80c1448: 681b ldr r3, [r3, #0] 80c144a: 220f movs r2, #15 80c144c: 621a str r2, [r3, #32] /* Restore huart->gState and huart->RxState to Ready */ huart->gState = HAL_UART_STATE_READY; 80c144e: 68fb ldr r3, [r7, #12] 80c1450: 2220 movs r2, #32 80c1452: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_READY; 80c1454: 68fb ldr r3, [r7, #12] 80c1456: 2220 movs r2, #32 80c1458: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c145a: 68fb ldr r3, [r7, #12] 80c145c: 2200 movs r2, #0 80c145e: 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); 80c1460: 68f8 ldr r0, [r7, #12] 80c1462: f7ff ff37 bl 80c12d4 80c1466: e000 b.n 80c146a return; 80c1468: bf00 nop #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80c146a: 3710 adds r7, #16 80c146c: 46bd mov sp, r7 80c146e: bd80 pop {r7, pc} 080c1470 : * Abort still ongoing for Tx DMA Handle. * @param hdma DMA handle. * @retval None */ static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) { 80c1470: b580 push {r7, lr} 80c1472: b084 sub sp, #16 80c1474: af00 add r7, sp, #0 80c1476: 6078 str r0, [r7, #4] UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 80c1478: 687b ldr r3, [r7, #4] 80c147a: 6b9b ldr r3, [r3, #56] ; 0x38 80c147c: 60fb str r3, [r7, #12] huart->hdmarx->XferAbortCallback = NULL; 80c147e: 68fb ldr r3, [r7, #12] 80c1480: 6f1b ldr r3, [r3, #112] ; 0x70 80c1482: 2200 movs r2, #0 80c1484: 651a str r2, [r3, #80] ; 0x50 /* Check if an Abort process is still ongoing */ if (huart->hdmatx != NULL) 80c1486: 68fb ldr r3, [r7, #12] 80c1488: 6edb ldr r3, [r3, #108] ; 0x6c 80c148a: 2b00 cmp r3, #0 80c148c: d004 beq.n 80c1498 { if (huart->hdmatx->XferAbortCallback != NULL) 80c148e: 68fb ldr r3, [r7, #12] 80c1490: 6edb ldr r3, [r3, #108] ; 0x6c 80c1492: 6d1b ldr r3, [r3, #80] ; 0x50 80c1494: 2b00 cmp r3, #0 80c1496: d124 bne.n 80c14e2 return; } } /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ huart->TxXferCount = 0U; 80c1498: 68fb ldr r3, [r7, #12] 80c149a: 2200 movs r2, #0 80c149c: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 huart->RxXferCount = 0U; 80c14a0: 68fb ldr r3, [r7, #12] 80c14a2: 2200 movs r2, #0 80c14a4: f8a3 205a strh.w r2, [r3, #90] ; 0x5a /* Reset errorCode */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80c14a8: 68fb ldr r3, [r7, #12] 80c14aa: 2200 movs r2, #0 80c14ac: 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); 80c14b0: 68fb ldr r3, [r7, #12] 80c14b2: 681b ldr r3, [r3, #0] 80c14b4: 220f movs r2, #15 80c14b6: 621a str r2, [r3, #32] /* Discard the received data */ __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 80c14b8: 68fb ldr r3, [r7, #12] 80c14ba: 681b ldr r3, [r3, #0] 80c14bc: 68fa ldr r2, [r7, #12] 80c14be: 6812 ldr r2, [r2, #0] 80c14c0: 6992 ldr r2, [r2, #24] 80c14c2: f042 0208 orr.w r2, r2, #8 80c14c6: 619a str r2, [r3, #24] /* Restore huart->gState and huart->RxState to Ready */ huart->gState = HAL_UART_STATE_READY; 80c14c8: 68fb ldr r3, [r7, #12] 80c14ca: 2220 movs r2, #32 80c14cc: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_READY; 80c14ce: 68fb ldr r3, [r7, #12] 80c14d0: 2220 movs r2, #32 80c14d2: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80c14d4: 68fb ldr r3, [r7, #12] 80c14d6: 2200 movs r2, #0 80c14d8: 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); 80c14da: 68f8 ldr r0, [r7, #12] 80c14dc: f7ff fefa bl 80c12d4 80c14e0: e000 b.n 80c14e4 return; 80c14e2: bf00 nop #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80c14e4: 3710 adds r7, #16 80c14e6: 46bd mov sp, r7 80c14e8: bd80 pop {r7, pc} 080c14ea : * @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) { 80c14ea: b580 push {r7, lr} 80c14ec: b088 sub sp, #32 80c14ee: af00 add r7, sp, #0 80c14f0: 6078 str r0, [r7, #4] /* Disable the UART Transmit Complete Interrupt */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE); 80c14f2: 687b ldr r3, [r7, #4] 80c14f4: 681b ldr r3, [r3, #0] 80c14f6: 60fb str r3, [r7, #12] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80c14f8: 68fb ldr r3, [r7, #12] 80c14fa: e853 3f00 ldrex r3, [r3] 80c14fe: 60bb str r3, [r7, #8] return(result); 80c1500: 68bb ldr r3, [r7, #8] 80c1502: f023 0340 bic.w r3, r3, #64 ; 0x40 80c1506: 61fb str r3, [r7, #28] 80c1508: 687b ldr r3, [r7, #4] 80c150a: 681b ldr r3, [r3, #0] 80c150c: 461a mov r2, r3 80c150e: 69fb ldr r3, [r7, #28] 80c1510: 61bb str r3, [r7, #24] 80c1512: 617a str r2, [r7, #20] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80c1514: 6979 ldr r1, [r7, #20] 80c1516: 69ba ldr r2, [r7, #24] 80c1518: e841 2300 strex r3, r2, [r1] 80c151c: 613b str r3, [r7, #16] return(result); 80c151e: 693b ldr r3, [r7, #16] 80c1520: 2b00 cmp r3, #0 80c1522: d1e6 bne.n 80c14f2 /* Tx process is ended, restore huart->gState to Ready */ huart->gState = HAL_UART_STATE_READY; 80c1524: 687b ldr r3, [r7, #4] 80c1526: 2220 movs r2, #32 80c1528: 679a str r2, [r3, #120] ; 0x78 /* Cleat TxISR function pointer */ huart->TxISR = NULL; 80c152a: 687b ldr r3, [r7, #4] 80c152c: 2200 movs r2, #0 80c152e: 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); 80c1530: 6878 ldr r0, [r7, #4] 80c1532: f76e fa7b bl 802fa2c #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80c1536: bf00 nop 80c1538: 3720 adds r7, #32 80c153a: 46bd mov sp, r7 80c153c: bd80 pop {r7, pc} ... 080c1540 : * @param Init Pointer to NORSRAM Initialization structure * @retval HAL status */ HAL_StatusTypeDef FMC_NORSRAM_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_InitTypeDef *Init) { 80c1540: b480 push {r7} 80c1542: b087 sub sp, #28 80c1544: af00 add r7, sp, #0 80c1546: 6078 str r0, [r7, #4] 80c1548: 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); 80c154a: 683b ldr r3, [r7, #0] 80c154c: 681a ldr r2, [r3, #0] 80c154e: 683b ldr r3, [r7, #0] 80c1550: 6819 ldr r1, [r3, #0] 80c1552: 687b ldr r3, [r7, #4] 80c1554: f853 3021 ldr.w r3, [r3, r1, lsl #2] 80c1558: f023 0101 bic.w r1, r3, #1 80c155c: 687b ldr r3, [r7, #4] 80c155e: f843 1022 str.w r1, [r3, r2, lsl #2] /* Set NORSRAM device control parameters */ if (Init->MemoryType == FMC_MEMORY_TYPE_NOR) 80c1562: 683b ldr r3, [r7, #0] 80c1564: 689b ldr r3, [r3, #8] 80c1566: 2b08 cmp r3, #8 80c1568: d102 bne.n 80c1570 { flashaccess = FMC_NORSRAM_FLASH_ACCESS_ENABLE; 80c156a: 2340 movs r3, #64 ; 0x40 80c156c: 617b str r3, [r7, #20] 80c156e: e001 b.n 80c1574 } else { flashaccess = FMC_NORSRAM_FLASH_ACCESS_DISABLE; 80c1570: 2300 movs r3, #0 80c1572: 617b str r3, [r7, #20] } btcr_reg = (flashaccess | \ Init->DataAddressMux | \ 80c1574: 683b ldr r3, [r7, #0] 80c1576: 685a ldr r2, [r3, #4] btcr_reg = (flashaccess | \ 80c1578: 697b ldr r3, [r7, #20] 80c157a: 431a orrs r2, r3 Init->MemoryType | \ 80c157c: 683b ldr r3, [r7, #0] 80c157e: 689b ldr r3, [r3, #8] Init->DataAddressMux | \ 80c1580: 431a orrs r2, r3 Init->MemoryDataWidth | \ 80c1582: 683b ldr r3, [r7, #0] 80c1584: 68db ldr r3, [r3, #12] Init->MemoryType | \ 80c1586: 431a orrs r2, r3 Init->BurstAccessMode | \ 80c1588: 683b ldr r3, [r7, #0] 80c158a: 691b ldr r3, [r3, #16] Init->MemoryDataWidth | \ 80c158c: 431a orrs r2, r3 Init->WaitSignalPolarity | \ 80c158e: 683b ldr r3, [r7, #0] 80c1590: 695b ldr r3, [r3, #20] Init->BurstAccessMode | \ 80c1592: 431a orrs r2, r3 Init->WaitSignalActive | \ 80c1594: 683b ldr r3, [r7, #0] 80c1596: 699b ldr r3, [r3, #24] Init->WaitSignalPolarity | \ 80c1598: 431a orrs r2, r3 Init->WriteOperation | \ 80c159a: 683b ldr r3, [r7, #0] 80c159c: 69db ldr r3, [r3, #28] Init->WaitSignalActive | \ 80c159e: 431a orrs r2, r3 Init->WaitSignal | \ 80c15a0: 683b ldr r3, [r7, #0] 80c15a2: 6a1b ldr r3, [r3, #32] Init->WriteOperation | \ 80c15a4: 431a orrs r2, r3 Init->ExtendedMode | \ 80c15a6: 683b ldr r3, [r7, #0] 80c15a8: 6a5b ldr r3, [r3, #36] ; 0x24 Init->WaitSignal | \ 80c15aa: 431a orrs r2, r3 Init->AsynchronousWait | \ 80c15ac: 683b ldr r3, [r7, #0] 80c15ae: 6a9b ldr r3, [r3, #40] ; 0x28 Init->ExtendedMode | \ 80c15b0: 431a orrs r2, r3 Init->WriteBurst); 80c15b2: 683b ldr r3, [r7, #0] 80c15b4: 6adb ldr r3, [r3, #44] ; 0x2c btcr_reg = (flashaccess | \ 80c15b6: 4313 orrs r3, r2 80c15b8: 613b str r3, [r7, #16] btcr_reg |= Init->ContinuousClock; 80c15ba: 683b ldr r3, [r7, #0] 80c15bc: 6b1b ldr r3, [r3, #48] ; 0x30 80c15be: 693a ldr r2, [r7, #16] 80c15c0: 4313 orrs r3, r2 80c15c2: 613b str r3, [r7, #16] btcr_reg |= Init->WriteFifo; 80c15c4: 683b ldr r3, [r7, #0] 80c15c6: 6b5b ldr r3, [r3, #52] ; 0x34 80c15c8: 693a ldr r2, [r7, #16] 80c15ca: 4313 orrs r3, r2 80c15cc: 613b str r3, [r7, #16] btcr_reg |= Init->PageSize; 80c15ce: 683b ldr r3, [r7, #0] 80c15d0: 6b9b ldr r3, [r3, #56] ; 0x38 80c15d2: 693a ldr r2, [r7, #16] 80c15d4: 4313 orrs r3, r2 80c15d6: 613b str r3, [r7, #16] mask = (FMC_BCR1_MBKEN | 80c15d8: 4b20 ldr r3, [pc, #128] ; (80c165c ) 80c15da: 60fb str r3, [r7, #12] FMC_BCR1_WAITEN | FMC_BCR1_EXTMOD | FMC_BCR1_ASYNCWAIT | FMC_BCR1_CBURSTRW); mask |= FMC_BCR1_CCLKEN; 80c15dc: 68fb ldr r3, [r7, #12] 80c15de: f443 1380 orr.w r3, r3, #1048576 ; 0x100000 80c15e2: 60fb str r3, [r7, #12] mask |= FMC_BCR1_WFDIS; 80c15e4: 68fb ldr r3, [r7, #12] 80c15e6: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 80c15ea: 60fb str r3, [r7, #12] mask |= FMC_BCR1_CPSIZE; 80c15ec: 68fb ldr r3, [r7, #12] 80c15ee: f443 23e0 orr.w r3, r3, #458752 ; 0x70000 80c15f2: 60fb str r3, [r7, #12] MODIFY_REG(Device->BTCR[Init->NSBank], mask, btcr_reg); 80c15f4: 683b ldr r3, [r7, #0] 80c15f6: 681a ldr r2, [r3, #0] 80c15f8: 683b ldr r3, [r7, #0] 80c15fa: 6819 ldr r1, [r3, #0] 80c15fc: 687b ldr r3, [r7, #4] 80c15fe: f853 1021 ldr.w r1, [r3, r1, lsl #2] 80c1602: 68fb ldr r3, [r7, #12] 80c1604: 43db mvns r3, r3 80c1606: 4019 ands r1, r3 80c1608: 693b ldr r3, [r7, #16] 80c160a: 4319 orrs r1, r3 80c160c: 687b ldr r3, [r7, #4] 80c160e: 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)) 80c1612: 683b ldr r3, [r7, #0] 80c1614: 6b1b ldr r3, [r3, #48] ; 0x30 80c1616: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80c161a: d10c bne.n 80c1636 80c161c: 683b ldr r3, [r7, #0] 80c161e: 681b ldr r3, [r3, #0] 80c1620: 2b00 cmp r3, #0 80c1622: d008 beq.n 80c1636 { MODIFY_REG(Device->BTCR[FMC_NORSRAM_BANK1], FMC_BCR1_CCLKEN, Init->ContinuousClock); 80c1624: 687b ldr r3, [r7, #4] 80c1626: 681b ldr r3, [r3, #0] 80c1628: f423 1280 bic.w r2, r3, #1048576 ; 0x100000 80c162c: 683b ldr r3, [r7, #0] 80c162e: 6b1b ldr r3, [r3, #48] ; 0x30 80c1630: 431a orrs r2, r3 80c1632: 687b ldr r3, [r7, #4] 80c1634: 601a str r2, [r3, #0] } if (Init->NSBank != FMC_NORSRAM_BANK1) 80c1636: 683b ldr r3, [r7, #0] 80c1638: 681b ldr r3, [r3, #0] 80c163a: 2b00 cmp r3, #0 80c163c: d006 beq.n 80c164c { /* Configure Write FIFO mode when Write Fifo is enabled for bank2..4 */ SET_BIT(Device->BTCR[FMC_NORSRAM_BANK1], (uint32_t)(Init->WriteFifo)); 80c163e: 687b ldr r3, [r7, #4] 80c1640: 681a ldr r2, [r3, #0] 80c1642: 683b ldr r3, [r7, #0] 80c1644: 6b5b ldr r3, [r3, #52] ; 0x34 80c1646: 431a orrs r2, r3 80c1648: 687b ldr r3, [r7, #4] 80c164a: 601a str r2, [r3, #0] } return HAL_OK; 80c164c: 2300 movs r3, #0 } 80c164e: 4618 mov r0, r3 80c1650: 371c adds r7, #28 80c1652: 46bd mov sp, r7 80c1654: f85d 7b04 ldr.w r7, [sp], #4 80c1658: 4770 bx lr 80c165a: bf00 nop 80c165c: 0008fb7f .word 0x0008fb7f 080c1660 : * @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) { 80c1660: b480 push {r7} 80c1662: b087 sub sp, #28 80c1664: af00 add r7, sp, #0 80c1666: 60f8 str r0, [r7, #12] 80c1668: 60b9 str r1, [r7, #8] 80c166a: 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 | 80c166c: 687b ldr r3, [r7, #4] 80c166e: 1c5a adds r2, r3, #1 80c1670: 687b ldr r3, [r7, #4] 80c1672: 1c59 adds r1, r3, #1 80c1674: 68fb ldr r3, [r7, #12] 80c1676: f853 3021 ldr.w r3, [r3, r1, lsl #2] 80c167a: f003 4140 and.w r1, r3, #3221225472 ; 0xc0000000 80c167e: 68bb ldr r3, [r7, #8] 80c1680: 6818 ldr r0, [r3, #0] 80c1682: 68bb ldr r3, [r7, #8] 80c1684: 685b ldr r3, [r3, #4] 80c1686: 011b lsls r3, r3, #4 80c1688: 4318 orrs r0, r3 80c168a: 68bb ldr r3, [r7, #8] 80c168c: 689b ldr r3, [r3, #8] 80c168e: 021b lsls r3, r3, #8 80c1690: 4318 orrs r0, r3 80c1692: 68bb ldr r3, [r7, #8] 80c1694: 68db ldr r3, [r3, #12] 80c1696: 041b lsls r3, r3, #16 80c1698: 4318 orrs r0, r3 80c169a: 68bb ldr r3, [r7, #8] 80c169c: 691b ldr r3, [r3, #16] 80c169e: 3b01 subs r3, #1 80c16a0: 051b lsls r3, r3, #20 80c16a2: 4318 orrs r0, r3 80c16a4: 68bb ldr r3, [r7, #8] 80c16a6: 695b ldr r3, [r3, #20] 80c16a8: 3b02 subs r3, #2 80c16aa: 061b lsls r3, r3, #24 80c16ac: 4318 orrs r0, r3 80c16ae: 68bb ldr r3, [r7, #8] 80c16b0: 699b ldr r3, [r3, #24] 80c16b2: 4303 orrs r3, r0 80c16b4: 4319 orrs r1, r3 80c16b6: 68fb ldr r3, [r7, #12] 80c16b8: 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)) 80c16bc: 68fb ldr r3, [r7, #12] 80c16be: 681b ldr r3, [r3, #0] 80c16c0: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80c16c4: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80c16c8: d113 bne.n 80c16f2 { tmpr = (uint32_t)(Device->BTCR[FMC_NORSRAM_BANK1 + 1U] & ~((0x0FU) << FMC_BTR1_CLKDIV_Pos)); 80c16ca: 68fb ldr r3, [r7, #12] 80c16cc: 685b ldr r3, [r3, #4] 80c16ce: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000 80c16d2: 617b str r3, [r7, #20] tmpr |= (uint32_t)(((Timing->CLKDivision) - 1U) << FMC_BTR1_CLKDIV_Pos); 80c16d4: 68bb ldr r3, [r7, #8] 80c16d6: 691b ldr r3, [r3, #16] 80c16d8: 3b01 subs r3, #1 80c16da: 051b lsls r3, r3, #20 80c16dc: 697a ldr r2, [r7, #20] 80c16de: 4313 orrs r3, r2 80c16e0: 617b str r3, [r7, #20] MODIFY_REG(Device->BTCR[FMC_NORSRAM_BANK1 + 1U], FMC_BTR1_CLKDIV, tmpr); 80c16e2: 68fb ldr r3, [r7, #12] 80c16e4: 685b ldr r3, [r3, #4] 80c16e6: f423 0270 bic.w r2, r3, #15728640 ; 0xf00000 80c16ea: 697b ldr r3, [r7, #20] 80c16ec: 431a orrs r2, r3 80c16ee: 68fb ldr r3, [r7, #12] 80c16f0: 605a str r2, [r3, #4] } return HAL_OK; 80c16f2: 2300 movs r3, #0 } 80c16f4: 4618 mov r0, r3 80c16f6: 371c adds r7, #28 80c16f8: 46bd mov sp, r7 80c16fa: f85d 7b04 ldr.w r7, [sp], #4 80c16fe: 4770 bx lr 080c1700 : * @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) { 80c1700: b480 push {r7} 80c1702: b085 sub sp, #20 80c1704: af00 add r7, sp, #0 80c1706: 60f8 str r0, [r7, #12] 80c1708: 60b9 str r1, [r7, #8] 80c170a: 607a str r2, [r7, #4] 80c170c: 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) 80c170e: 683b ldr r3, [r7, #0] 80c1710: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 80c1714: d11d bne.n 80c1752 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 | 80c1716: 68fb ldr r3, [r7, #12] 80c1718: 687a ldr r2, [r7, #4] 80c171a: f853 2022 ldr.w r2, [r3, r2, lsl #2] 80c171e: 4b13 ldr r3, [pc, #76] ; (80c176c ) 80c1720: 4013 ands r3, r2 80c1722: 68ba ldr r2, [r7, #8] 80c1724: 6811 ldr r1, [r2, #0] 80c1726: 68ba ldr r2, [r7, #8] 80c1728: 6852 ldr r2, [r2, #4] 80c172a: 0112 lsls r2, r2, #4 80c172c: 4311 orrs r1, r2 80c172e: 68ba ldr r2, [r7, #8] 80c1730: 6892 ldr r2, [r2, #8] 80c1732: 0212 lsls r2, r2, #8 80c1734: 4311 orrs r1, r2 80c1736: 68ba ldr r2, [r7, #8] 80c1738: 6992 ldr r2, [r2, #24] 80c173a: 4311 orrs r1, r2 80c173c: 68ba ldr r2, [r7, #8] 80c173e: 68d2 ldr r2, [r2, #12] 80c1740: 0412 lsls r2, r2, #16 80c1742: 430a orrs r2, r1 80c1744: ea43 0102 orr.w r1, r3, r2 80c1748: 68fb ldr r3, [r7, #12] 80c174a: 687a ldr r2, [r7, #4] 80c174c: f843 1022 str.w r1, [r3, r2, lsl #2] 80c1750: e005 b.n 80c175e Timing->AccessMode | ((Timing->BusTurnAroundDuration) << FMC_BWTR1_BUSTURN_Pos))); } else { Device->BWTR[Bank] = 0x0FFFFFFFU; 80c1752: 68fb ldr r3, [r7, #12] 80c1754: 687a ldr r2, [r7, #4] 80c1756: f06f 4170 mvn.w r1, #4026531840 ; 0xf0000000 80c175a: f843 1022 str.w r1, [r3, r2, lsl #2] } return HAL_OK; 80c175e: 2300 movs r3, #0 } 80c1760: 4618 mov r0, r3 80c1762: 3714 adds r7, #20 80c1764: 46bd mov sp, r7 80c1766: f85d 7b04 ldr.w r7, [sp], #4 80c176a: 4770 bx lr 80c176c: cff00000 .word 0xcff00000 080c1770 : * @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) { 80c1770: b084 sub sp, #16 80c1772: b480 push {r7} 80c1774: b085 sub sp, #20 80c1776: af00 add r7, sp, #0 80c1778: 6078 str r0, [r7, #4] 80c177a: f107 001c add.w r0, r7, #28 80c177e: e880 000e stmia.w r0, {r1, r2, r3} uint32_t tmpreg = 0; 80c1782: 2300 movs r3, #0 80c1784: 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 |\ 80c1786: 69fa ldr r2, [r7, #28] Init.ClockBypass |\ 80c1788: 6a3b ldr r3, [r7, #32] tmpreg |= (Init.ClockEdge |\ 80c178a: 431a orrs r2, r3 Init.ClockPowerSave |\ 80c178c: 6a7b ldr r3, [r7, #36] ; 0x24 Init.ClockBypass |\ 80c178e: 431a orrs r2, r3 Init.BusWide |\ 80c1790: 6abb ldr r3, [r7, #40] ; 0x28 Init.ClockPowerSave |\ 80c1792: 431a orrs r2, r3 Init.HardwareFlowControl |\ 80c1794: 6afb ldr r3, [r7, #44] ; 0x2c Init.BusWide |\ 80c1796: 431a orrs r2, r3 Init.ClockDiv 80c1798: 6b3b ldr r3, [r7, #48] ; 0x30 Init.HardwareFlowControl |\ 80c179a: 4313 orrs r3, r2 tmpreg |= (Init.ClockEdge |\ 80c179c: 68fa ldr r2, [r7, #12] 80c179e: 4313 orrs r3, r2 80c17a0: 60fb str r3, [r7, #12] ); /* Write to SDMMC CLKCR */ MODIFY_REG(SDMMCx->CLKCR, CLKCR_CLEAR_MASK, tmpreg); 80c17a2: 687b ldr r3, [r7, #4] 80c17a4: 685a ldr r2, [r3, #4] 80c17a6: 4b07 ldr r3, [pc, #28] ; (80c17c4 ) 80c17a8: 4013 ands r3, r2 80c17aa: 68fa ldr r2, [r7, #12] 80c17ac: 431a orrs r2, r3 80c17ae: 687b ldr r3, [r7, #4] 80c17b0: 605a str r2, [r3, #4] return HAL_OK; 80c17b2: 2300 movs r3, #0 } 80c17b4: 4618 mov r0, r3 80c17b6: 3714 adds r7, #20 80c17b8: 46bd mov sp, r7 80c17ba: f85d 7b04 ldr.w r7, [sp], #4 80c17be: b004 add sp, #16 80c17c0: 4770 bx lr 80c17c2: bf00 nop 80c17c4: ffff8100 .word 0xffff8100 080c17c8 : * @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) { 80c17c8: b480 push {r7} 80c17ca: b083 sub sp, #12 80c17cc: af00 add r7, sp, #0 80c17ce: 6078 str r0, [r7, #4] /* Read data from Rx FIFO */ return (SDMMCx->FIFO); 80c17d0: 687b ldr r3, [r7, #4] 80c17d2: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 } 80c17d6: 4618 mov r0, r3 80c17d8: 370c adds r7, #12 80c17da: 46bd mov sp, r7 80c17dc: f85d 7b04 ldr.w r7, [sp], #4 80c17e0: 4770 bx lr 080c17e2 : * @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) { 80c17e2: b480 push {r7} 80c17e4: b083 sub sp, #12 80c17e6: af00 add r7, sp, #0 80c17e8: 6078 str r0, [r7, #4] 80c17ea: 6039 str r1, [r7, #0] /* Write data to FIFO */ SDMMCx->FIFO = *pWriteData; 80c17ec: 683b ldr r3, [r7, #0] 80c17ee: 681a ldr r2, [r3, #0] 80c17f0: 687b ldr r3, [r7, #4] 80c17f2: f8c3 2080 str.w r2, [r3, #128] ; 0x80 return HAL_OK; 80c17f6: 2300 movs r3, #0 } 80c17f8: 4618 mov r0, r3 80c17fa: 370c adds r7, #12 80c17fc: 46bd mov sp, r7 80c17fe: f85d 7b04 ldr.w r7, [sp], #4 80c1802: 4770 bx lr 080c1804 : * @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) { 80c1804: b480 push {r7} 80c1806: b083 sub sp, #12 80c1808: af00 add r7, sp, #0 80c180a: 6078 str r0, [r7, #4] /* Set power state to ON */ SDMMCx->POWER = SDMMC_POWER_PWRCTRL; 80c180c: 687b ldr r3, [r7, #4] 80c180e: 2203 movs r2, #3 80c1810: 601a str r2, [r3, #0] return HAL_OK; 80c1812: 2300 movs r3, #0 } 80c1814: 4618 mov r0, r3 80c1816: 370c adds r7, #12 80c1818: 46bd mov sp, r7 80c181a: f85d 7b04 ldr.w r7, [sp], #4 80c181e: 4770 bx lr 080c1820 : * @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) { 80c1820: b480 push {r7} 80c1822: b083 sub sp, #12 80c1824: af00 add r7, sp, #0 80c1826: 6078 str r0, [r7, #4] /* Set power state to OFF */ SDMMCx->POWER = (uint32_t)0x00000000; 80c1828: 687b ldr r3, [r7, #4] 80c182a: 2200 movs r2, #0 80c182c: 601a str r2, [r3, #0] return HAL_OK; 80c182e: 2300 movs r3, #0 } 80c1830: 4618 mov r0, r3 80c1832: 370c adds r7, #12 80c1834: 46bd mov sp, r7 80c1836: f85d 7b04 ldr.w r7, [sp], #4 80c183a: 4770 bx lr 080c183c : * - 0x00: Power OFF * - 0x02: Power UP * - 0x03: Power ON */ uint32_t SDMMC_GetPowerState(SDMMC_TypeDef *SDMMCx) { 80c183c: b480 push {r7} 80c183e: b083 sub sp, #12 80c1840: af00 add r7, sp, #0 80c1842: 6078 str r0, [r7, #4] return (SDMMCx->POWER & SDMMC_POWER_PWRCTRL); 80c1844: 687b ldr r3, [r7, #4] 80c1846: 681b ldr r3, [r3, #0] 80c1848: f003 0303 and.w r3, r3, #3 } 80c184c: 4618 mov r0, r3 80c184e: 370c adds r7, #12 80c1850: 46bd mov sp, r7 80c1852: f85d 7b04 ldr.w r7, [sp], #4 80c1856: 4770 bx lr 080c1858 : * @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) { 80c1858: b480 push {r7} 80c185a: b085 sub sp, #20 80c185c: af00 add r7, sp, #0 80c185e: 6078 str r0, [r7, #4] 80c1860: 6039 str r1, [r7, #0] uint32_t tmpreg = 0; 80c1862: 2300 movs r3, #0 80c1864: 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; 80c1866: 683b ldr r3, [r7, #0] 80c1868: 681a ldr r2, [r3, #0] 80c186a: 687b ldr r3, [r7, #4] 80c186c: 609a str r2, [r3, #8] /* Set SDMMC command parameters */ tmpreg |= (uint32_t)(Command->CmdIndex |\ 80c186e: 683b ldr r3, [r7, #0] 80c1870: 685a ldr r2, [r3, #4] Command->Response |\ 80c1872: 683b ldr r3, [r7, #0] 80c1874: 689b ldr r3, [r3, #8] tmpreg |= (uint32_t)(Command->CmdIndex |\ 80c1876: 431a orrs r2, r3 Command->WaitForInterrupt |\ 80c1878: 683b ldr r3, [r7, #0] 80c187a: 68db ldr r3, [r3, #12] Command->Response |\ 80c187c: 431a orrs r2, r3 Command->CPSM); 80c187e: 683b ldr r3, [r7, #0] 80c1880: 691b ldr r3, [r3, #16] Command->WaitForInterrupt |\ 80c1882: 4313 orrs r3, r2 tmpreg |= (uint32_t)(Command->CmdIndex |\ 80c1884: 68fa ldr r2, [r7, #12] 80c1886: 4313 orrs r3, r2 80c1888: 60fb str r3, [r7, #12] /* Write to SDMMC CMD register */ MODIFY_REG(SDMMCx->CMD, CMD_CLEAR_MASK, tmpreg); 80c188a: 687b ldr r3, [r7, #4] 80c188c: 68da ldr r2, [r3, #12] 80c188e: 4b06 ldr r3, [pc, #24] ; (80c18a8 ) 80c1890: 4013 ands r3, r2 80c1892: 68fa ldr r2, [r7, #12] 80c1894: 431a orrs r2, r3 80c1896: 687b ldr r3, [r7, #4] 80c1898: 60da str r2, [r3, #12] return HAL_OK; 80c189a: 2300 movs r3, #0 } 80c189c: 4618 mov r0, r3 80c189e: 3714 adds r7, #20 80c18a0: 46bd mov sp, r7 80c18a2: f85d 7b04 ldr.w r7, [sp], #4 80c18a6: 4770 bx lr 80c18a8: fffff000 .word 0xfffff000 080c18ac : * @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) { 80c18ac: b480 push {r7} 80c18ae: b083 sub sp, #12 80c18b0: af00 add r7, sp, #0 80c18b2: 6078 str r0, [r7, #4] return (uint8_t)(SDMMCx->RESPCMD); 80c18b4: 687b ldr r3, [r7, #4] 80c18b6: 691b ldr r3, [r3, #16] 80c18b8: b2db uxtb r3, r3 } 80c18ba: 4618 mov r0, r3 80c18bc: 370c adds r7, #12 80c18be: 46bd mov sp, r7 80c18c0: f85d 7b04 ldr.w r7, [sp], #4 80c18c4: 4770 bx lr 080c18c6 : * @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) { 80c18c6: b480 push {r7} 80c18c8: b085 sub sp, #20 80c18ca: af00 add r7, sp, #0 80c18cc: 6078 str r0, [r7, #4] 80c18ce: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_SDMMC_RESP(Response)); /* Get the response */ tmp = (uint32_t)(&(SDMMCx->RESP1)) + Response; 80c18d0: 687b ldr r3, [r7, #4] 80c18d2: 3314 adds r3, #20 80c18d4: 461a mov r2, r3 80c18d6: 683b ldr r3, [r7, #0] 80c18d8: 4413 add r3, r2 80c18da: 60fb str r3, [r7, #12] return (*(__IO uint32_t *) tmp); 80c18dc: 68fb ldr r3, [r7, #12] 80c18de: 681b ldr r3, [r3, #0] } 80c18e0: 4618 mov r0, r3 80c18e2: 3714 adds r7, #20 80c18e4: 46bd mov sp, r7 80c18e6: f85d 7b04 ldr.w r7, [sp], #4 80c18ea: 4770 bx lr 080c18ec : * @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) { 80c18ec: b480 push {r7} 80c18ee: b085 sub sp, #20 80c18f0: af00 add r7, sp, #0 80c18f2: 6078 str r0, [r7, #4] 80c18f4: 6039 str r1, [r7, #0] uint32_t tmpreg = 0; 80c18f6: 2300 movs r3, #0 80c18f8: 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; 80c18fa: 683b ldr r3, [r7, #0] 80c18fc: 681a ldr r2, [r3, #0] 80c18fe: 687b ldr r3, [r7, #4] 80c1900: 625a str r2, [r3, #36] ; 0x24 /* Set the SDMMC DataLength value */ SDMMCx->DLEN = Data->DataLength; 80c1902: 683b ldr r3, [r7, #0] 80c1904: 685a ldr r2, [r3, #4] 80c1906: 687b ldr r3, [r7, #4] 80c1908: 629a str r2, [r3, #40] ; 0x28 /* Set the SDMMC data configuration parameters */ tmpreg |= (uint32_t)(Data->DataBlockSize |\ 80c190a: 683b ldr r3, [r7, #0] 80c190c: 689a ldr r2, [r3, #8] Data->TransferDir |\ 80c190e: 683b ldr r3, [r7, #0] 80c1910: 68db ldr r3, [r3, #12] tmpreg |= (uint32_t)(Data->DataBlockSize |\ 80c1912: 431a orrs r2, r3 Data->TransferMode |\ 80c1914: 683b ldr r3, [r7, #0] 80c1916: 691b ldr r3, [r3, #16] Data->TransferDir |\ 80c1918: 431a orrs r2, r3 Data->DPSM); 80c191a: 683b ldr r3, [r7, #0] 80c191c: 695b ldr r3, [r3, #20] Data->TransferMode |\ 80c191e: 4313 orrs r3, r2 tmpreg |= (uint32_t)(Data->DataBlockSize |\ 80c1920: 68fa ldr r2, [r7, #12] 80c1922: 4313 orrs r3, r2 80c1924: 60fb str r3, [r7, #12] /* Write to SDMMC DCTRL */ MODIFY_REG(SDMMCx->DCTRL, DCTRL_CLEAR_MASK, tmpreg); 80c1926: 687b ldr r3, [r7, #4] 80c1928: 6adb ldr r3, [r3, #44] ; 0x2c 80c192a: f023 02f7 bic.w r2, r3, #247 ; 0xf7 80c192e: 68fb ldr r3, [r7, #12] 80c1930: 431a orrs r2, r3 80c1932: 687b ldr r3, [r7, #4] 80c1934: 62da str r2, [r3, #44] ; 0x2c return HAL_OK; 80c1936: 2300 movs r3, #0 } 80c1938: 4618 mov r0, r3 80c193a: 3714 adds r7, #20 80c193c: 46bd mov sp, r7 80c193e: f85d 7b04 ldr.w r7, [sp], #4 80c1942: 4770 bx lr 080c1944 : * @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) { 80c1944: b580 push {r7, lr} 80c1946: b088 sub sp, #32 80c1948: af00 add r7, sp, #0 80c194a: 6078 str r0, [r7, #4] 80c194c: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)BlockSize; 80c194e: 683b ldr r3, [r7, #0] 80c1950: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SET_BLOCKLEN; 80c1952: 2310 movs r3, #16 80c1954: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c1956: 2340 movs r3, #64 ; 0x40 80c1958: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c195a: 2300 movs r3, #0 80c195c: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c195e: f44f 6380 mov.w r3, #1024 ; 0x400 80c1962: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1964: f107 0308 add.w r3, r7, #8 80c1968: 4619 mov r1, r3 80c196a: 6878 ldr r0, [r7, #4] 80c196c: f7ff ff74 bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SET_BLOCKLEN, SDMMC_CMDTIMEOUT); 80c1970: f241 3288 movw r2, #5000 ; 0x1388 80c1974: 2110 movs r1, #16 80c1976: 6878 ldr r0, [r7, #4] 80c1978: f000 fa1a bl 80c1db0 80c197c: 61f8 str r0, [r7, #28] return errorstate; 80c197e: 69fb ldr r3, [r7, #28] } 80c1980: 4618 mov r0, r3 80c1982: 3720 adds r7, #32 80c1984: 46bd mov sp, r7 80c1986: bd80 pop {r7, pc} 080c1988 : * @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) { 80c1988: b580 push {r7, lr} 80c198a: b088 sub sp, #32 80c198c: af00 add r7, sp, #0 80c198e: 6078 str r0, [r7, #4] 80c1990: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)ReadAdd; 80c1992: 683b ldr r3, [r7, #0] 80c1994: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_SINGLE_BLOCK; 80c1996: 2311 movs r3, #17 80c1998: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c199a: 2340 movs r3, #64 ; 0x40 80c199c: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c199e: 2300 movs r3, #0 80c19a0: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c19a2: f44f 6380 mov.w r3, #1024 ; 0x400 80c19a6: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c19a8: f107 0308 add.w r3, r7, #8 80c19ac: 4619 mov r1, r3 80c19ae: 6878 ldr r0, [r7, #4] 80c19b0: f7ff ff52 bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_READ_SINGLE_BLOCK, SDMMC_CMDTIMEOUT); 80c19b4: f241 3288 movw r2, #5000 ; 0x1388 80c19b8: 2111 movs r1, #17 80c19ba: 6878 ldr r0, [r7, #4] 80c19bc: f000 f9f8 bl 80c1db0 80c19c0: 61f8 str r0, [r7, #28] return errorstate; 80c19c2: 69fb ldr r3, [r7, #28] } 80c19c4: 4618 mov r0, r3 80c19c6: 3720 adds r7, #32 80c19c8: 46bd mov sp, r7 80c19ca: bd80 pop {r7, pc} 080c19cc : * @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) { 80c19cc: b580 push {r7, lr} 80c19ce: b088 sub sp, #32 80c19d0: af00 add r7, sp, #0 80c19d2: 6078 str r0, [r7, #4] 80c19d4: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)ReadAdd; 80c19d6: 683b ldr r3, [r7, #0] 80c19d8: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_MULT_BLOCK; 80c19da: 2312 movs r3, #18 80c19dc: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c19de: 2340 movs r3, #64 ; 0x40 80c19e0: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c19e2: 2300 movs r3, #0 80c19e4: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c19e6: f44f 6380 mov.w r3, #1024 ; 0x400 80c19ea: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c19ec: f107 0308 add.w r3, r7, #8 80c19f0: 4619 mov r1, r3 80c19f2: 6878 ldr r0, [r7, #4] 80c19f4: f7ff ff30 bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_READ_MULT_BLOCK, SDMMC_CMDTIMEOUT); 80c19f8: f241 3288 movw r2, #5000 ; 0x1388 80c19fc: 2112 movs r1, #18 80c19fe: 6878 ldr r0, [r7, #4] 80c1a00: f000 f9d6 bl 80c1db0 80c1a04: 61f8 str r0, [r7, #28] return errorstate; 80c1a06: 69fb ldr r3, [r7, #28] } 80c1a08: 4618 mov r0, r3 80c1a0a: 3720 adds r7, #32 80c1a0c: 46bd mov sp, r7 80c1a0e: bd80 pop {r7, pc} 080c1a10 : * @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) { 80c1a10: b580 push {r7, lr} 80c1a12: b088 sub sp, #32 80c1a14: af00 add r7, sp, #0 80c1a16: 6078 str r0, [r7, #4] 80c1a18: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)WriteAdd; 80c1a1a: 683b ldr r3, [r7, #0] 80c1a1c: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_SINGLE_BLOCK; 80c1a1e: 2318 movs r3, #24 80c1a20: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c1a22: 2340 movs r3, #64 ; 0x40 80c1a24: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1a26: 2300 movs r3, #0 80c1a28: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1a2a: f44f 6380 mov.w r3, #1024 ; 0x400 80c1a2e: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1a30: f107 0308 add.w r3, r7, #8 80c1a34: 4619 mov r1, r3 80c1a36: 6878 ldr r0, [r7, #4] 80c1a38: f7ff ff0e bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_WRITE_SINGLE_BLOCK, SDMMC_CMDTIMEOUT); 80c1a3c: f241 3288 movw r2, #5000 ; 0x1388 80c1a40: 2118 movs r1, #24 80c1a42: 6878 ldr r0, [r7, #4] 80c1a44: f000 f9b4 bl 80c1db0 80c1a48: 61f8 str r0, [r7, #28] return errorstate; 80c1a4a: 69fb ldr r3, [r7, #28] } 80c1a4c: 4618 mov r0, r3 80c1a4e: 3720 adds r7, #32 80c1a50: 46bd mov sp, r7 80c1a52: bd80 pop {r7, pc} 080c1a54 : * @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) { 80c1a54: b580 push {r7, lr} 80c1a56: b088 sub sp, #32 80c1a58: af00 add r7, sp, #0 80c1a5a: 6078 str r0, [r7, #4] 80c1a5c: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)WriteAdd; 80c1a5e: 683b ldr r3, [r7, #0] 80c1a60: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_MULT_BLOCK; 80c1a62: 2319 movs r3, #25 80c1a64: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c1a66: 2340 movs r3, #64 ; 0x40 80c1a68: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1a6a: 2300 movs r3, #0 80c1a6c: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1a6e: f44f 6380 mov.w r3, #1024 ; 0x400 80c1a72: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1a74: f107 0308 add.w r3, r7, #8 80c1a78: 4619 mov r1, r3 80c1a7a: 6878 ldr r0, [r7, #4] 80c1a7c: f7ff feec bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_WRITE_MULT_BLOCK, SDMMC_CMDTIMEOUT); 80c1a80: f241 3288 movw r2, #5000 ; 0x1388 80c1a84: 2119 movs r1, #25 80c1a86: 6878 ldr r0, [r7, #4] 80c1a88: f000 f992 bl 80c1db0 80c1a8c: 61f8 str r0, [r7, #28] return errorstate; 80c1a8e: 69fb ldr r3, [r7, #28] } 80c1a90: 4618 mov r0, r3 80c1a92: 3720 adds r7, #32 80c1a94: 46bd mov sp, r7 80c1a96: bd80 pop {r7, pc} 080c1a98 : * @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) { 80c1a98: b580 push {r7, lr} 80c1a9a: b088 sub sp, #32 80c1a9c: af00 add r7, sp, #0 80c1a9e: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD12 STOP_TRANSMISSION */ sdmmc_cmdinit.Argument = 0U; 80c1aa0: 2300 movs r3, #0 80c1aa2: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_STOP_TRANSMISSION; 80c1aa4: 230c movs r3, #12 80c1aa6: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c1aa8: 2340 movs r3, #64 ; 0x40 80c1aaa: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1aac: 2300 movs r3, #0 80c1aae: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1ab0: f44f 6380 mov.w r3, #1024 ; 0x400 80c1ab4: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1ab6: f107 0308 add.w r3, r7, #8 80c1aba: 4619 mov r1, r3 80c1abc: 6878 ldr r0, [r7, #4] 80c1abe: f7ff fecb bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_STOP_TRANSMISSION, SDMMC_STOPTRANSFERTIMEOUT); 80c1ac2: 4a05 ldr r2, [pc, #20] ; (80c1ad8 ) 80c1ac4: 210c movs r1, #12 80c1ac6: 6878 ldr r0, [r7, #4] 80c1ac8: f000 f972 bl 80c1db0 80c1acc: 61f8 str r0, [r7, #28] return errorstate; 80c1ace: 69fb ldr r3, [r7, #28] } 80c1ad0: 4618 mov r0, r3 80c1ad2: 3720 adds r7, #32 80c1ad4: 46bd mov sp, r7 80c1ad6: bd80 pop {r7, pc} 80c1ad8: 05f5e100 .word 0x05f5e100 080c1adc : * @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) { 80c1adc: b580 push {r7, lr} 80c1ade: b08a sub sp, #40 ; 0x28 80c1ae0: af00 add r7, sp, #0 80c1ae2: 60f8 str r0, [r7, #12] 80c1ae4: 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; 80c1ae8: 683b ldr r3, [r7, #0] 80c1aea: 613b str r3, [r7, #16] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEL_DESEL_CARD; 80c1aec: 2307 movs r3, #7 80c1aee: 617b str r3, [r7, #20] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c1af0: 2340 movs r3, #64 ; 0x40 80c1af2: 61bb str r3, [r7, #24] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1af4: 2300 movs r3, #0 80c1af6: 61fb str r3, [r7, #28] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1af8: f44f 6380 mov.w r3, #1024 ; 0x400 80c1afc: 623b str r3, [r7, #32] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1afe: f107 0310 add.w r3, r7, #16 80c1b02: 4619 mov r1, r3 80c1b04: 68f8 ldr r0, [r7, #12] 80c1b06: f7ff fea7 bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SEL_DESEL_CARD, SDMMC_CMDTIMEOUT); 80c1b0a: f241 3288 movw r2, #5000 ; 0x1388 80c1b0e: 2107 movs r1, #7 80c1b10: 68f8 ldr r0, [r7, #12] 80c1b12: f000 f94d bl 80c1db0 80c1b16: 6278 str r0, [r7, #36] ; 0x24 return errorstate; 80c1b18: 6a7b ldr r3, [r7, #36] ; 0x24 } 80c1b1a: 4618 mov r0, r3 80c1b1c: 3728 adds r7, #40 ; 0x28 80c1b1e: 46bd mov sp, r7 80c1b20: bd80 pop {r7, pc} 080c1b22 : * @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) { 80c1b22: b580 push {r7, lr} 80c1b24: b088 sub sp, #32 80c1b26: af00 add r7, sp, #0 80c1b28: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = 0U; 80c1b2a: 2300 movs r3, #0 80c1b2c: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_GO_IDLE_STATE; 80c1b2e: 2300 movs r3, #0 80c1b30: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_NO; 80c1b32: 2300 movs r3, #0 80c1b34: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1b36: 2300 movs r3, #0 80c1b38: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1b3a: f44f 6380 mov.w r3, #1024 ; 0x400 80c1b3e: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1b40: f107 0308 add.w r3, r7, #8 80c1b44: 4619 mov r1, r3 80c1b46: 6878 ldr r0, [r7, #4] 80c1b48: f7ff fe86 bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdError(SDMMCx); 80c1b4c: 6878 ldr r0, [r7, #4] 80c1b4e: f000 fb67 bl 80c2220 80c1b52: 61f8 str r0, [r7, #28] return errorstate; 80c1b54: 69fb ldr r3, [r7, #28] } 80c1b56: 4618 mov r0, r3 80c1b58: 3720 adds r7, #32 80c1b5a: 46bd mov sp, r7 80c1b5c: bd80 pop {r7, pc} 080c1b5e : * @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) { 80c1b5e: b580 push {r7, lr} 80c1b60: b088 sub sp, #32 80c1b62: af00 add r7, sp, #0 80c1b64: 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; 80c1b66: f44f 73d5 mov.w r3, #426 ; 0x1aa 80c1b6a: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_HS_SEND_EXT_CSD; 80c1b6c: 2308 movs r3, #8 80c1b6e: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c1b70: 2340 movs r3, #64 ; 0x40 80c1b72: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1b74: 2300 movs r3, #0 80c1b76: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1b78: f44f 6380 mov.w r3, #1024 ; 0x400 80c1b7c: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1b7e: f107 0308 add.w r3, r7, #8 80c1b82: 4619 mov r1, r3 80c1b84: 6878 ldr r0, [r7, #4] 80c1b86: f7ff fe67 bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp7(SDMMCx); 80c1b8a: 6878 ldr r0, [r7, #4] 80c1b8c: f000 fafa bl 80c2184 80c1b90: 61f8 str r0, [r7, #28] return errorstate; 80c1b92: 69fb ldr r3, [r7, #28] } 80c1b94: 4618 mov r0, r3 80c1b96: 3720 adds r7, #32 80c1b98: 46bd mov sp, r7 80c1b9a: bd80 pop {r7, pc} 080c1b9c : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdAppCommand(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80c1b9c: b580 push {r7, lr} 80c1b9e: b088 sub sp, #32 80c1ba0: af00 add r7, sp, #0 80c1ba2: 6078 str r0, [r7, #4] 80c1ba4: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = (uint32_t)Argument; 80c1ba6: 683b ldr r3, [r7, #0] 80c1ba8: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_APP_CMD; 80c1baa: 2337 movs r3, #55 ; 0x37 80c1bac: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c1bae: 2340 movs r3, #64 ; 0x40 80c1bb0: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1bb2: 2300 movs r3, #0 80c1bb4: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1bb6: f44f 6380 mov.w r3, #1024 ; 0x400 80c1bba: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1bbc: f107 0308 add.w r3, r7, #8 80c1bc0: 4619 mov r1, r3 80c1bc2: 6878 ldr r0, [r7, #4] 80c1bc4: f7ff fe48 bl 80c1858 /* 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); 80c1bc8: f241 3288 movw r2, #5000 ; 0x1388 80c1bcc: 2137 movs r1, #55 ; 0x37 80c1bce: 6878 ldr r0, [r7, #4] 80c1bd0: f000 f8ee bl 80c1db0 80c1bd4: 61f8 str r0, [r7, #28] return errorstate; 80c1bd6: 69fb ldr r3, [r7, #28] } 80c1bd8: 4618 mov r0, r3 80c1bda: 3720 adds r7, #32 80c1bdc: 46bd mov sp, r7 80c1bde: bd80 pop {r7, pc} 080c1be0 : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdAppOperCommand(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80c1be0: b580 push {r7, lr} 80c1be2: b088 sub sp, #32 80c1be4: af00 add r7, sp, #0 80c1be6: 6078 str r0, [r7, #4] 80c1be8: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = SDMMC_VOLTAGE_WINDOW_SD | Argument; 80c1bea: 683a ldr r2, [r7, #0] 80c1bec: 4b0d ldr r3, [pc, #52] ; (80c1c24 ) 80c1bee: 4313 orrs r3, r2 80c1bf0: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SD_APP_OP_COND; 80c1bf2: 2329 movs r3, #41 ; 0x29 80c1bf4: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c1bf6: 2340 movs r3, #64 ; 0x40 80c1bf8: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1bfa: 2300 movs r3, #0 80c1bfc: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1bfe: f44f 6380 mov.w r3, #1024 ; 0x400 80c1c02: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1c04: f107 0308 add.w r3, r7, #8 80c1c08: 4619 mov r1, r3 80c1c0a: 6878 ldr r0, [r7, #4] 80c1c0c: f7ff fe24 bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp3(SDMMCx); 80c1c10: 6878 ldr r0, [r7, #4] 80c1c12: f000 fa03 bl 80c201c 80c1c16: 61f8 str r0, [r7, #28] return errorstate; 80c1c18: 69fb ldr r3, [r7, #28] } 80c1c1a: 4618 mov r0, r3 80c1c1c: 3720 adds r7, #32 80c1c1e: 46bd mov sp, r7 80c1c20: bd80 pop {r7, pc} 80c1c22: bf00 nop 80c1c24: 80100000 .word 0x80100000 080c1c28 : * @param SDMMCx: Pointer to SDMMC register base * @param BusWidth: BusWidth * @retval HAL status */ uint32_t SDMMC_CmdBusWidth(SDMMC_TypeDef *SDMMCx, uint32_t BusWidth) { 80c1c28: b580 push {r7, lr} 80c1c2a: b088 sub sp, #32 80c1c2c: af00 add r7, sp, #0 80c1c2e: 6078 str r0, [r7, #4] 80c1c30: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = (uint32_t)BusWidth; 80c1c32: 683b ldr r3, [r7, #0] 80c1c34: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_APP_SD_SET_BUSWIDTH; 80c1c36: 2306 movs r3, #6 80c1c38: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c1c3a: 2340 movs r3, #64 ; 0x40 80c1c3c: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1c3e: 2300 movs r3, #0 80c1c40: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1c42: f44f 6380 mov.w r3, #1024 ; 0x400 80c1c46: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1c48: f107 0308 add.w r3, r7, #8 80c1c4c: 4619 mov r1, r3 80c1c4e: 6878 ldr r0, [r7, #4] 80c1c50: f7ff fe02 bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_APP_SD_SET_BUSWIDTH, SDMMC_CMDTIMEOUT); 80c1c54: f241 3288 movw r2, #5000 ; 0x1388 80c1c58: 2106 movs r1, #6 80c1c5a: 6878 ldr r0, [r7, #4] 80c1c5c: f000 f8a8 bl 80c1db0 80c1c60: 61f8 str r0, [r7, #28] return errorstate; 80c1c62: 69fb ldr r3, [r7, #28] } 80c1c64: 4618 mov r0, r3 80c1c66: 3720 adds r7, #32 80c1c68: 46bd mov sp, r7 80c1c6a: bd80 pop {r7, pc} 080c1c6c : * @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) { 80c1c6c: b580 push {r7, lr} 80c1c6e: b088 sub sp, #32 80c1c70: af00 add r7, sp, #0 80c1c72: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD51 SD_APP_SEND_SCR */ sdmmc_cmdinit.Argument = 0U; 80c1c74: 2300 movs r3, #0 80c1c76: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SD_APP_SEND_SCR; 80c1c78: 2333 movs r3, #51 ; 0x33 80c1c7a: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c1c7c: 2340 movs r3, #64 ; 0x40 80c1c7e: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1c80: 2300 movs r3, #0 80c1c82: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1c84: f44f 6380 mov.w r3, #1024 ; 0x400 80c1c88: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1c8a: f107 0308 add.w r3, r7, #8 80c1c8e: 4619 mov r1, r3 80c1c90: 6878 ldr r0, [r7, #4] 80c1c92: f7ff fde1 bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SD_APP_SEND_SCR, SDMMC_CMDTIMEOUT); 80c1c96: f241 3288 movw r2, #5000 ; 0x1388 80c1c9a: 2133 movs r1, #51 ; 0x33 80c1c9c: 6878 ldr r0, [r7, #4] 80c1c9e: f000 f887 bl 80c1db0 80c1ca2: 61f8 str r0, [r7, #28] return errorstate; 80c1ca4: 69fb ldr r3, [r7, #28] } 80c1ca6: 4618 mov r0, r3 80c1ca8: 3720 adds r7, #32 80c1caa: 46bd mov sp, r7 80c1cac: bd80 pop {r7, pc} 080c1cae : * @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) { 80c1cae: b580 push {r7, lr} 80c1cb0: b088 sub sp, #32 80c1cb2: af00 add r7, sp, #0 80c1cb4: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD2 ALL_SEND_CID */ sdmmc_cmdinit.Argument = 0U; 80c1cb6: 2300 movs r3, #0 80c1cb8: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_ALL_SEND_CID; 80c1cba: 2302 movs r3, #2 80c1cbc: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_LONG; 80c1cbe: 23c0 movs r3, #192 ; 0xc0 80c1cc0: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1cc2: 2300 movs r3, #0 80c1cc4: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1cc6: f44f 6380 mov.w r3, #1024 ; 0x400 80c1cca: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1ccc: f107 0308 add.w r3, r7, #8 80c1cd0: 4619 mov r1, r3 80c1cd2: 6878 ldr r0, [r7, #4] 80c1cd4: f7ff fdc0 bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp2(SDMMCx); 80c1cd8: 6878 ldr r0, [r7, #4] 80c1cda: f000 f957 bl 80c1f8c 80c1cde: 61f8 str r0, [r7, #28] return errorstate; 80c1ce0: 69fb ldr r3, [r7, #28] } 80c1ce2: 4618 mov r0, r3 80c1ce4: 3720 adds r7, #32 80c1ce6: 46bd mov sp, r7 80c1ce8: bd80 pop {r7, pc} 080c1cea : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdSendCSD(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80c1cea: b580 push {r7, lr} 80c1cec: b088 sub sp, #32 80c1cee: af00 add r7, sp, #0 80c1cf0: 6078 str r0, [r7, #4] 80c1cf2: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD9 SEND_CSD */ sdmmc_cmdinit.Argument = Argument; 80c1cf4: 683b ldr r3, [r7, #0] 80c1cf6: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEND_CSD; 80c1cf8: 2309 movs r3, #9 80c1cfa: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_LONG; 80c1cfc: 23c0 movs r3, #192 ; 0xc0 80c1cfe: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1d00: 2300 movs r3, #0 80c1d02: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1d04: f44f 6380 mov.w r3, #1024 ; 0x400 80c1d08: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1d0a: f107 0308 add.w r3, r7, #8 80c1d0e: 4619 mov r1, r3 80c1d10: 6878 ldr r0, [r7, #4] 80c1d12: f7ff fda1 bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp2(SDMMCx); 80c1d16: 6878 ldr r0, [r7, #4] 80c1d18: f000 f938 bl 80c1f8c 80c1d1c: 61f8 str r0, [r7, #28] return errorstate; 80c1d1e: 69fb ldr r3, [r7, #28] } 80c1d20: 4618 mov r0, r3 80c1d22: 3720 adds r7, #32 80c1d24: 46bd mov sp, r7 80c1d26: bd80 pop {r7, pc} 080c1d28 : * @param SDMMCx: Pointer to SDMMC register base * @param pRCA: Card RCA * @retval HAL status */ uint32_t SDMMC_CmdSetRelAdd(SDMMC_TypeDef *SDMMCx, uint16_t *pRCA) { 80c1d28: b580 push {r7, lr} 80c1d2a: b088 sub sp, #32 80c1d2c: af00 add r7, sp, #0 80c1d2e: 6078 str r0, [r7, #4] 80c1d30: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD3 SD_CMD_SET_REL_ADDR */ sdmmc_cmdinit.Argument = 0U; 80c1d32: 2300 movs r3, #0 80c1d34: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SET_REL_ADDR; 80c1d36: 2303 movs r3, #3 80c1d38: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c1d3a: 2340 movs r3, #64 ; 0x40 80c1d3c: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1d3e: 2300 movs r3, #0 80c1d40: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1d42: f44f 6380 mov.w r3, #1024 ; 0x400 80c1d46: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1d48: f107 0308 add.w r3, r7, #8 80c1d4c: 4619 mov r1, r3 80c1d4e: 6878 ldr r0, [r7, #4] 80c1d50: f7ff fd82 bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp6(SDMMCx, SDMMC_CMD_SET_REL_ADDR, pRCA); 80c1d54: 683a ldr r2, [r7, #0] 80c1d56: 2103 movs r1, #3 80c1d58: 6878 ldr r0, [r7, #4] 80c1d5a: f000 f99d bl 80c2098 80c1d5e: 61f8 str r0, [r7, #28] return errorstate; 80c1d60: 69fb ldr r3, [r7, #28] } 80c1d62: 4618 mov r0, r3 80c1d64: 3720 adds r7, #32 80c1d66: 46bd mov sp, r7 80c1d68: bd80 pop {r7, pc} 080c1d6a : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdSendStatus(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80c1d6a: b580 push {r7, lr} 80c1d6c: b088 sub sp, #32 80c1d6e: af00 add r7, sp, #0 80c1d70: 6078 str r0, [r7, #4] 80c1d72: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = Argument; 80c1d74: 683b ldr r3, [r7, #0] 80c1d76: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEND_STATUS; 80c1d78: 230d movs r3, #13 80c1d7a: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80c1d7c: 2340 movs r3, #64 ; 0x40 80c1d7e: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80c1d80: 2300 movs r3, #0 80c1d82: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80c1d84: f44f 6380 mov.w r3, #1024 ; 0x400 80c1d88: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80c1d8a: f107 0308 add.w r3, r7, #8 80c1d8e: 4619 mov r1, r3 80c1d90: 6878 ldr r0, [r7, #4] 80c1d92: f7ff fd61 bl 80c1858 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SEND_STATUS, SDMMC_CMDTIMEOUT); 80c1d96: f241 3288 movw r2, #5000 ; 0x1388 80c1d9a: 210d movs r1, #13 80c1d9c: 6878 ldr r0, [r7, #4] 80c1d9e: f000 f807 bl 80c1db0 80c1da2: 61f8 str r0, [r7, #28] return errorstate; 80c1da4: 69fb ldr r3, [r7, #28] } 80c1da6: 4618 mov r0, r3 80c1da8: 3720 adds r7, #32 80c1daa: 46bd mov sp, r7 80c1dac: bd80 pop {r7, pc} ... 080c1db0 : * @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) { 80c1db0: b580 push {r7, lr} 80c1db2: b088 sub sp, #32 80c1db4: af00 add r7, sp, #0 80c1db6: 60f8 str r0, [r7, #12] 80c1db8: 460b mov r3, r1 80c1dba: 607a str r2, [r7, #4] 80c1dbc: 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); 80c1dbe: 4b70 ldr r3, [pc, #448] ; (80c1f80 ) 80c1dc0: 681b ldr r3, [r3, #0] 80c1dc2: 4a70 ldr r2, [pc, #448] ; (80c1f84 ) 80c1dc4: fba2 2303 umull r2, r3, r2, r3 80c1dc8: 0a5b lsrs r3, r3, #9 80c1dca: 687a ldr r2, [r7, #4] 80c1dcc: fb02 f303 mul.w r3, r2, r3 80c1dd0: 61fb str r3, [r7, #28] do { if (count-- == 0U) 80c1dd2: 69fb ldr r3, [r7, #28] 80c1dd4: 1e5a subs r2, r3, #1 80c1dd6: 61fa str r2, [r7, #28] 80c1dd8: 2b00 cmp r3, #0 80c1dda: d102 bne.n 80c1de2 { return SDMMC_ERROR_TIMEOUT; 80c1ddc: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80c1de0: e0c9 b.n 80c1f76 } sta_reg = SDMMCx->STA; 80c1de2: 68fb ldr r3, [r7, #12] 80c1de4: 6b5b ldr r3, [r3, #52] ; 0x34 80c1de6: 61bb str r3, [r7, #24] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c1de8: 69bb ldr r3, [r7, #24] 80c1dea: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80c1dee: 2b00 cmp r3, #0 80c1df0: d0ef beq.n 80c1dd2 80c1df2: 69bb ldr r3, [r7, #24] 80c1df4: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c1df8: 2b00 cmp r3, #0 80c1dfa: d1ea bne.n 80c1dd2 if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80c1dfc: 68fb ldr r3, [r7, #12] 80c1dfe: 6b5b ldr r3, [r3, #52] ; 0x34 80c1e00: f003 0304 and.w r3, r3, #4 80c1e04: 2b00 cmp r3, #0 80c1e06: d004 beq.n 80c1e12 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80c1e08: 68fb ldr r3, [r7, #12] 80c1e0a: 2204 movs r2, #4 80c1e0c: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80c1e0e: 2304 movs r3, #4 80c1e10: e0b1 b.n 80c1f76 } else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80c1e12: 68fb ldr r3, [r7, #12] 80c1e14: 6b5b ldr r3, [r3, #52] ; 0x34 80c1e16: f003 0301 and.w r3, r3, #1 80c1e1a: 2b00 cmp r3, #0 80c1e1c: d004 beq.n 80c1e28 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80c1e1e: 68fb ldr r3, [r7, #12] 80c1e20: 2201 movs r2, #1 80c1e22: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80c1e24: 2301 movs r3, #1 80c1e26: e0a6 b.n 80c1f76 { /* Nothing to do */ } /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80c1e28: 68fb ldr r3, [r7, #12] 80c1e2a: 22c5 movs r2, #197 ; 0xc5 80c1e2c: 639a str r2, [r3, #56] ; 0x38 /* Check response received is of desired command */ if(SDMMC_GetCommandResponse(SDMMCx) != SD_CMD) 80c1e2e: 68f8 ldr r0, [r7, #12] 80c1e30: f7ff fd3c bl 80c18ac 80c1e34: 4603 mov r3, r0 80c1e36: 461a mov r2, r3 80c1e38: 7afb ldrb r3, [r7, #11] 80c1e3a: 4293 cmp r3, r2 80c1e3c: d001 beq.n 80c1e42 { return SDMMC_ERROR_CMD_CRC_FAIL; 80c1e3e: 2301 movs r3, #1 80c1e40: e099 b.n 80c1f76 } /* We have received response, retrieve it for analysis */ response_r1 = SDMMC_GetResponse(SDMMCx, SDMMC_RESP1); 80c1e42: 2100 movs r1, #0 80c1e44: 68f8 ldr r0, [r7, #12] 80c1e46: f7ff fd3e bl 80c18c6 80c1e4a: 6178 str r0, [r7, #20] if((response_r1 & SDMMC_OCR_ERRORBITS) == SDMMC_ALLZERO) 80c1e4c: 697a ldr r2, [r7, #20] 80c1e4e: 4b4e ldr r3, [pc, #312] ; (80c1f88 ) 80c1e50: 4013 ands r3, r2 80c1e52: 2b00 cmp r3, #0 80c1e54: d101 bne.n 80c1e5a { return SDMMC_ERROR_NONE; 80c1e56: 2300 movs r3, #0 80c1e58: e08d b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_ADDR_OUT_OF_RANGE) == SDMMC_OCR_ADDR_OUT_OF_RANGE) 80c1e5a: 697b ldr r3, [r7, #20] 80c1e5c: 2b00 cmp r3, #0 80c1e5e: da02 bge.n 80c1e66 { return SDMMC_ERROR_ADDR_OUT_OF_RANGE; 80c1e60: f04f 7300 mov.w r3, #33554432 ; 0x2000000 80c1e64: e087 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_ADDR_MISALIGNED) == SDMMC_OCR_ADDR_MISALIGNED) 80c1e66: 697b ldr r3, [r7, #20] 80c1e68: f003 4380 and.w r3, r3, #1073741824 ; 0x40000000 80c1e6c: 2b00 cmp r3, #0 80c1e6e: d001 beq.n 80c1e74 { return SDMMC_ERROR_ADDR_MISALIGNED; 80c1e70: 2340 movs r3, #64 ; 0x40 80c1e72: e080 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_BLOCK_LEN_ERR) == SDMMC_OCR_BLOCK_LEN_ERR) 80c1e74: 697b ldr r3, [r7, #20] 80c1e76: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80c1e7a: 2b00 cmp r3, #0 80c1e7c: d001 beq.n 80c1e82 { return SDMMC_ERROR_BLOCK_LEN_ERR; 80c1e7e: 2380 movs r3, #128 ; 0x80 80c1e80: e079 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_ERASE_SEQ_ERR) == SDMMC_OCR_ERASE_SEQ_ERR) 80c1e82: 697b ldr r3, [r7, #20] 80c1e84: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80c1e88: 2b00 cmp r3, #0 80c1e8a: d002 beq.n 80c1e92 { return SDMMC_ERROR_ERASE_SEQ_ERR; 80c1e8c: f44f 7380 mov.w r3, #256 ; 0x100 80c1e90: e071 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_BAD_ERASE_PARAM) == SDMMC_OCR_BAD_ERASE_PARAM) 80c1e92: 697b ldr r3, [r7, #20] 80c1e94: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80c1e98: 2b00 cmp r3, #0 80c1e9a: d002 beq.n 80c1ea2 { return SDMMC_ERROR_BAD_ERASE_PARAM; 80c1e9c: f44f 7300 mov.w r3, #512 ; 0x200 80c1ea0: e069 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_WRITE_PROT_VIOLATION) == SDMMC_OCR_WRITE_PROT_VIOLATION) 80c1ea2: 697b ldr r3, [r7, #20] 80c1ea4: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80c1ea8: 2b00 cmp r3, #0 80c1eaa: d002 beq.n 80c1eb2 { return SDMMC_ERROR_WRITE_PROT_VIOLATION; 80c1eac: f44f 6380 mov.w r3, #1024 ; 0x400 80c1eb0: e061 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_LOCK_UNLOCK_FAILED) == SDMMC_OCR_LOCK_UNLOCK_FAILED) 80c1eb2: 697b ldr r3, [r7, #20] 80c1eb4: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80c1eb8: 2b00 cmp r3, #0 80c1eba: d002 beq.n 80c1ec2 { return SDMMC_ERROR_LOCK_UNLOCK_FAILED; 80c1ebc: f44f 6300 mov.w r3, #2048 ; 0x800 80c1ec0: e059 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_COM_CRC_FAILED) == SDMMC_OCR_COM_CRC_FAILED) 80c1ec2: 697b ldr r3, [r7, #20] 80c1ec4: f403 0300 and.w r3, r3, #8388608 ; 0x800000 80c1ec8: 2b00 cmp r3, #0 80c1eca: d002 beq.n 80c1ed2 { return SDMMC_ERROR_COM_CRC_FAILED; 80c1ecc: f44f 5380 mov.w r3, #4096 ; 0x1000 80c1ed0: e051 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_ILLEGAL_CMD) == SDMMC_OCR_ILLEGAL_CMD) 80c1ed2: 697b ldr r3, [r7, #20] 80c1ed4: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80c1ed8: 2b00 cmp r3, #0 80c1eda: d002 beq.n 80c1ee2 { return SDMMC_ERROR_ILLEGAL_CMD; 80c1edc: f44f 5300 mov.w r3, #8192 ; 0x2000 80c1ee0: e049 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_CARD_ECC_FAILED) == SDMMC_OCR_CARD_ECC_FAILED) 80c1ee2: 697b ldr r3, [r7, #20] 80c1ee4: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80c1ee8: 2b00 cmp r3, #0 80c1eea: d002 beq.n 80c1ef2 { return SDMMC_ERROR_CARD_ECC_FAILED; 80c1eec: f44f 4380 mov.w r3, #16384 ; 0x4000 80c1ef0: e041 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_CC_ERROR) == SDMMC_OCR_CC_ERROR) 80c1ef2: 697b ldr r3, [r7, #20] 80c1ef4: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80c1ef8: 2b00 cmp r3, #0 80c1efa: d002 beq.n 80c1f02 { return SDMMC_ERROR_CC_ERR; 80c1efc: f44f 4300 mov.w r3, #32768 ; 0x8000 80c1f00: e039 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_STREAM_READ_UNDERRUN) == SDMMC_OCR_STREAM_READ_UNDERRUN) 80c1f02: 697b ldr r3, [r7, #20] 80c1f04: f403 2380 and.w r3, r3, #262144 ; 0x40000 80c1f08: 2b00 cmp r3, #0 80c1f0a: d002 beq.n 80c1f12 { return SDMMC_ERROR_STREAM_READ_UNDERRUN; 80c1f0c: f44f 3300 mov.w r3, #131072 ; 0x20000 80c1f10: e031 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_STREAM_WRITE_OVERRUN) == SDMMC_OCR_STREAM_WRITE_OVERRUN) 80c1f12: 697b ldr r3, [r7, #20] 80c1f14: f403 3300 and.w r3, r3, #131072 ; 0x20000 80c1f18: 2b00 cmp r3, #0 80c1f1a: d002 beq.n 80c1f22 { return SDMMC_ERROR_STREAM_WRITE_OVERRUN; 80c1f1c: f44f 2380 mov.w r3, #262144 ; 0x40000 80c1f20: e029 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_CID_CSD_OVERWRITE) == SDMMC_OCR_CID_CSD_OVERWRITE) 80c1f22: 697b ldr r3, [r7, #20] 80c1f24: f403 3380 and.w r3, r3, #65536 ; 0x10000 80c1f28: 2b00 cmp r3, #0 80c1f2a: d002 beq.n 80c1f32 { return SDMMC_ERROR_CID_CSD_OVERWRITE; 80c1f2c: f44f 2300 mov.w r3, #524288 ; 0x80000 80c1f30: e021 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_WP_ERASE_SKIP) == SDMMC_OCR_WP_ERASE_SKIP) 80c1f32: 697b ldr r3, [r7, #20] 80c1f34: f403 4300 and.w r3, r3, #32768 ; 0x8000 80c1f38: 2b00 cmp r3, #0 80c1f3a: d002 beq.n 80c1f42 { return SDMMC_ERROR_WP_ERASE_SKIP; 80c1f3c: f44f 1380 mov.w r3, #1048576 ; 0x100000 80c1f40: e019 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_CARD_ECC_DISABLED) == SDMMC_OCR_CARD_ECC_DISABLED) 80c1f42: 697b ldr r3, [r7, #20] 80c1f44: f403 4380 and.w r3, r3, #16384 ; 0x4000 80c1f48: 2b00 cmp r3, #0 80c1f4a: d002 beq.n 80c1f52 { return SDMMC_ERROR_CARD_ECC_DISABLED; 80c1f4c: f44f 1300 mov.w r3, #2097152 ; 0x200000 80c1f50: e011 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_ERASE_RESET) == SDMMC_OCR_ERASE_RESET) 80c1f52: 697b ldr r3, [r7, #20] 80c1f54: f403 5300 and.w r3, r3, #8192 ; 0x2000 80c1f58: 2b00 cmp r3, #0 80c1f5a: d002 beq.n 80c1f62 { return SDMMC_ERROR_ERASE_RESET; 80c1f5c: f44f 0380 mov.w r3, #4194304 ; 0x400000 80c1f60: e009 b.n 80c1f76 } else if((response_r1 & SDMMC_OCR_AKE_SEQ_ERROR) == SDMMC_OCR_AKE_SEQ_ERROR) 80c1f62: 697b ldr r3, [r7, #20] 80c1f64: f003 0308 and.w r3, r3, #8 80c1f68: 2b00 cmp r3, #0 80c1f6a: d002 beq.n 80c1f72 { return SDMMC_ERROR_AKE_SEQ_ERR; 80c1f6c: f44f 0300 mov.w r3, #8388608 ; 0x800000 80c1f70: e001 b.n 80c1f76 } else { return SDMMC_ERROR_GENERAL_UNKNOWN_ERR; 80c1f72: f44f 3380 mov.w r3, #65536 ; 0x10000 } } 80c1f76: 4618 mov r0, r3 80c1f78: 3720 adds r7, #32 80c1f7a: 46bd mov sp, r7 80c1f7c: bd80 pop {r7, pc} 80c1f7e: bf00 nop 80c1f80: 200209bc .word 0x200209bc 80c1f84: 10624dd3 .word 0x10624dd3 80c1f88: fdffe008 .word 0xfdffe008 080c1f8c : * @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) { 80c1f8c: b480 push {r7} 80c1f8e: b085 sub sp, #20 80c1f90: af00 add r7, sp, #0 80c1f92: 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); 80c1f94: 4b1f ldr r3, [pc, #124] ; (80c2014 ) 80c1f96: 681b ldr r3, [r3, #0] 80c1f98: 4a1f ldr r2, [pc, #124] ; (80c2018 ) 80c1f9a: fba2 2303 umull r2, r3, r2, r3 80c1f9e: 0a5b lsrs r3, r3, #9 80c1fa0: f241 3288 movw r2, #5000 ; 0x1388 80c1fa4: fb02 f303 mul.w r3, r2, r3 80c1fa8: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80c1faa: 68fb ldr r3, [r7, #12] 80c1fac: 1e5a subs r2, r3, #1 80c1fae: 60fa str r2, [r7, #12] 80c1fb0: 2b00 cmp r3, #0 80c1fb2: d102 bne.n 80c1fba { return SDMMC_ERROR_TIMEOUT; 80c1fb4: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80c1fb8: e026 b.n 80c2008 } sta_reg = SDMMCx->STA; 80c1fba: 687b ldr r3, [r7, #4] 80c1fbc: 6b5b ldr r3, [r3, #52] ; 0x34 80c1fbe: 60bb str r3, [r7, #8] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c1fc0: 68bb ldr r3, [r7, #8] 80c1fc2: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80c1fc6: 2b00 cmp r3, #0 80c1fc8: d0ef beq.n 80c1faa 80c1fca: 68bb ldr r3, [r7, #8] 80c1fcc: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c1fd0: 2b00 cmp r3, #0 80c1fd2: d1ea bne.n 80c1faa if (__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80c1fd4: 687b ldr r3, [r7, #4] 80c1fd6: 6b5b ldr r3, [r3, #52] ; 0x34 80c1fd8: f003 0304 and.w r3, r3, #4 80c1fdc: 2b00 cmp r3, #0 80c1fde: d004 beq.n 80c1fea { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80c1fe0: 687b ldr r3, [r7, #4] 80c1fe2: 2204 movs r2, #4 80c1fe4: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80c1fe6: 2304 movs r3, #4 80c1fe8: e00e b.n 80c2008 } else if (__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80c1fea: 687b ldr r3, [r7, #4] 80c1fec: 6b5b ldr r3, [r3, #52] ; 0x34 80c1fee: f003 0301 and.w r3, r3, #1 80c1ff2: 2b00 cmp r3, #0 80c1ff4: d004 beq.n 80c2000 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80c1ff6: 687b ldr r3, [r7, #4] 80c1ff8: 2201 movs r2, #1 80c1ffa: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80c1ffc: 2301 movs r3, #1 80c1ffe: e003 b.n 80c2008 } else { /* No error flag set */ /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80c2000: 687b ldr r3, [r7, #4] 80c2002: 22c5 movs r2, #197 ; 0xc5 80c2004: 639a str r2, [r3, #56] ; 0x38 } return SDMMC_ERROR_NONE; 80c2006: 2300 movs r3, #0 } 80c2008: 4618 mov r0, r3 80c200a: 3714 adds r7, #20 80c200c: 46bd mov sp, r7 80c200e: f85d 7b04 ldr.w r7, [sp], #4 80c2012: 4770 bx lr 80c2014: 200209bc .word 0x200209bc 80c2018: 10624dd3 .word 0x10624dd3 080c201c : * @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) { 80c201c: b480 push {r7} 80c201e: b085 sub sp, #20 80c2020: af00 add r7, sp, #0 80c2022: 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); 80c2024: 4b1a ldr r3, [pc, #104] ; (80c2090 ) 80c2026: 681b ldr r3, [r3, #0] 80c2028: 4a1a ldr r2, [pc, #104] ; (80c2094 ) 80c202a: fba2 2303 umull r2, r3, r2, r3 80c202e: 0a5b lsrs r3, r3, #9 80c2030: f241 3288 movw r2, #5000 ; 0x1388 80c2034: fb02 f303 mul.w r3, r2, r3 80c2038: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80c203a: 68fb ldr r3, [r7, #12] 80c203c: 1e5a subs r2, r3, #1 80c203e: 60fa str r2, [r7, #12] 80c2040: 2b00 cmp r3, #0 80c2042: d102 bne.n 80c204a { return SDMMC_ERROR_TIMEOUT; 80c2044: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80c2048: e01b b.n 80c2082 } sta_reg = SDMMCx->STA; 80c204a: 687b ldr r3, [r7, #4] 80c204c: 6b5b ldr r3, [r3, #52] ; 0x34 80c204e: 60bb str r3, [r7, #8] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c2050: 68bb ldr r3, [r7, #8] 80c2052: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80c2056: 2b00 cmp r3, #0 80c2058: d0ef beq.n 80c203a 80c205a: 68bb ldr r3, [r7, #8] 80c205c: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c2060: 2b00 cmp r3, #0 80c2062: d1ea bne.n 80c203a if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80c2064: 687b ldr r3, [r7, #4] 80c2066: 6b5b ldr r3, [r3, #52] ; 0x34 80c2068: f003 0304 and.w r3, r3, #4 80c206c: 2b00 cmp r3, #0 80c206e: d004 beq.n 80c207a { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80c2070: 687b ldr r3, [r7, #4] 80c2072: 2204 movs r2, #4 80c2074: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80c2076: 2304 movs r3, #4 80c2078: e003 b.n 80c2082 } else { /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80c207a: 687b ldr r3, [r7, #4] 80c207c: 22c5 movs r2, #197 ; 0xc5 80c207e: 639a str r2, [r3, #56] ; 0x38 } return SDMMC_ERROR_NONE; 80c2080: 2300 movs r3, #0 } 80c2082: 4618 mov r0, r3 80c2084: 3714 adds r7, #20 80c2086: 46bd mov sp, r7 80c2088: f85d 7b04 ldr.w r7, [sp], #4 80c208c: 4770 bx lr 80c208e: bf00 nop 80c2090: 200209bc .word 0x200209bc 80c2094: 10624dd3 .word 0x10624dd3 080c2098 : * @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) { 80c2098: b580 push {r7, lr} 80c209a: b088 sub sp, #32 80c209c: af00 add r7, sp, #0 80c209e: 60f8 str r0, [r7, #12] 80c20a0: 460b mov r3, r1 80c20a2: 607a str r2, [r7, #4] 80c20a4: 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); 80c20a6: 4b35 ldr r3, [pc, #212] ; (80c217c ) 80c20a8: 681b ldr r3, [r3, #0] 80c20aa: 4a35 ldr r2, [pc, #212] ; (80c2180 ) 80c20ac: fba2 2303 umull r2, r3, r2, r3 80c20b0: 0a5b lsrs r3, r3, #9 80c20b2: f241 3288 movw r2, #5000 ; 0x1388 80c20b6: fb02 f303 mul.w r3, r2, r3 80c20ba: 61fb str r3, [r7, #28] do { if (count-- == 0U) 80c20bc: 69fb ldr r3, [r7, #28] 80c20be: 1e5a subs r2, r3, #1 80c20c0: 61fa str r2, [r7, #28] 80c20c2: 2b00 cmp r3, #0 80c20c4: d102 bne.n 80c20cc { return SDMMC_ERROR_TIMEOUT; 80c20c6: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80c20ca: e052 b.n 80c2172 } sta_reg = SDMMCx->STA; 80c20cc: 68fb ldr r3, [r7, #12] 80c20ce: 6b5b ldr r3, [r3, #52] ; 0x34 80c20d0: 61bb str r3, [r7, #24] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c20d2: 69bb ldr r3, [r7, #24] 80c20d4: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80c20d8: 2b00 cmp r3, #0 80c20da: d0ef beq.n 80c20bc 80c20dc: 69bb ldr r3, [r7, #24] 80c20de: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c20e2: 2b00 cmp r3, #0 80c20e4: d1ea bne.n 80c20bc if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80c20e6: 68fb ldr r3, [r7, #12] 80c20e8: 6b5b ldr r3, [r3, #52] ; 0x34 80c20ea: f003 0304 and.w r3, r3, #4 80c20ee: 2b00 cmp r3, #0 80c20f0: d004 beq.n 80c20fc { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80c20f2: 68fb ldr r3, [r7, #12] 80c20f4: 2204 movs r2, #4 80c20f6: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80c20f8: 2304 movs r3, #4 80c20fa: e03a b.n 80c2172 } else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80c20fc: 68fb ldr r3, [r7, #12] 80c20fe: 6b5b ldr r3, [r3, #52] ; 0x34 80c2100: f003 0301 and.w r3, r3, #1 80c2104: 2b00 cmp r3, #0 80c2106: d004 beq.n 80c2112 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80c2108: 68fb ldr r3, [r7, #12] 80c210a: 2201 movs r2, #1 80c210c: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80c210e: 2301 movs r3, #1 80c2110: e02f b.n 80c2172 { /* Nothing to do */ } /* Check response received is of desired command */ if(SDMMC_GetCommandResponse(SDMMCx) != SD_CMD) 80c2112: 68f8 ldr r0, [r7, #12] 80c2114: f7ff fbca bl 80c18ac 80c2118: 4603 mov r3, r0 80c211a: 461a mov r2, r3 80c211c: 7afb ldrb r3, [r7, #11] 80c211e: 4293 cmp r3, r2 80c2120: d001 beq.n 80c2126 { return SDMMC_ERROR_CMD_CRC_FAIL; 80c2122: 2301 movs r3, #1 80c2124: e025 b.n 80c2172 } /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80c2126: 68fb ldr r3, [r7, #12] 80c2128: 22c5 movs r2, #197 ; 0xc5 80c212a: 639a str r2, [r3, #56] ; 0x38 /* We have received response, retrieve it. */ response_r1 = SDMMC_GetResponse(SDMMCx, SDMMC_RESP1); 80c212c: 2100 movs r1, #0 80c212e: 68f8 ldr r0, [r7, #12] 80c2130: f7ff fbc9 bl 80c18c6 80c2134: 6178 str r0, [r7, #20] if((response_r1 & (SDMMC_R6_GENERAL_UNKNOWN_ERROR | SDMMC_R6_ILLEGAL_CMD | SDMMC_R6_COM_CRC_FAILED)) == SDMMC_ALLZERO) 80c2136: 697b ldr r3, [r7, #20] 80c2138: f403 4360 and.w r3, r3, #57344 ; 0xe000 80c213c: 2b00 cmp r3, #0 80c213e: d106 bne.n 80c214e { *pRCA = (uint16_t) (response_r1 >> 16); 80c2140: 697b ldr r3, [r7, #20] 80c2142: 0c1b lsrs r3, r3, #16 80c2144: b29a uxth r2, r3 80c2146: 687b ldr r3, [r7, #4] 80c2148: 801a strh r2, [r3, #0] return SDMMC_ERROR_NONE; 80c214a: 2300 movs r3, #0 80c214c: e011 b.n 80c2172 } else if((response_r1 & SDMMC_R6_ILLEGAL_CMD) == SDMMC_R6_ILLEGAL_CMD) 80c214e: 697b ldr r3, [r7, #20] 80c2150: f403 4380 and.w r3, r3, #16384 ; 0x4000 80c2154: 2b00 cmp r3, #0 80c2156: d002 beq.n 80c215e { return SDMMC_ERROR_ILLEGAL_CMD; 80c2158: f44f 5300 mov.w r3, #8192 ; 0x2000 80c215c: e009 b.n 80c2172 } else if((response_r1 & SDMMC_R6_COM_CRC_FAILED) == SDMMC_R6_COM_CRC_FAILED) 80c215e: 697b ldr r3, [r7, #20] 80c2160: f403 4300 and.w r3, r3, #32768 ; 0x8000 80c2164: 2b00 cmp r3, #0 80c2166: d002 beq.n 80c216e { return SDMMC_ERROR_COM_CRC_FAILED; 80c2168: f44f 5380 mov.w r3, #4096 ; 0x1000 80c216c: e001 b.n 80c2172 } else { return SDMMC_ERROR_GENERAL_UNKNOWN_ERR; 80c216e: f44f 3380 mov.w r3, #65536 ; 0x10000 } } 80c2172: 4618 mov r0, r3 80c2174: 3720 adds r7, #32 80c2176: 46bd mov sp, r7 80c2178: bd80 pop {r7, pc} 80c217a: bf00 nop 80c217c: 200209bc .word 0x200209bc 80c2180: 10624dd3 .word 0x10624dd3 080c2184 : * @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) { 80c2184: b480 push {r7} 80c2186: b085 sub sp, #20 80c2188: af00 add r7, sp, #0 80c218a: 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); 80c218c: 4b22 ldr r3, [pc, #136] ; (80c2218 ) 80c218e: 681b ldr r3, [r3, #0] 80c2190: 4a22 ldr r2, [pc, #136] ; (80c221c ) 80c2192: fba2 2303 umull r2, r3, r2, r3 80c2196: 0a5b lsrs r3, r3, #9 80c2198: f241 3288 movw r2, #5000 ; 0x1388 80c219c: fb02 f303 mul.w r3, r2, r3 80c21a0: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80c21a2: 68fb ldr r3, [r7, #12] 80c21a4: 1e5a subs r2, r3, #1 80c21a6: 60fa str r2, [r7, #12] 80c21a8: 2b00 cmp r3, #0 80c21aa: d102 bne.n 80c21b2 { return SDMMC_ERROR_TIMEOUT; 80c21ac: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80c21b0: e02c b.n 80c220c } sta_reg = SDMMCx->STA; 80c21b2: 687b ldr r3, [r7, #4] 80c21b4: 6b5b ldr r3, [r3, #52] ; 0x34 80c21b6: 60bb str r3, [r7, #8] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c21b8: 68bb ldr r3, [r7, #8] 80c21ba: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80c21be: 2b00 cmp r3, #0 80c21c0: d0ef beq.n 80c21a2 80c21c2: 68bb ldr r3, [r7, #8] 80c21c4: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80c21c8: 2b00 cmp r3, #0 80c21ca: d1ea bne.n 80c21a2 if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80c21cc: 687b ldr r3, [r7, #4] 80c21ce: 6b5b ldr r3, [r3, #52] ; 0x34 80c21d0: f003 0304 and.w r3, r3, #4 80c21d4: 2b00 cmp r3, #0 80c21d6: d004 beq.n 80c21e2 { /* Card is SD V2.0 compliant */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80c21d8: 687b ldr r3, [r7, #4] 80c21da: 2204 movs r2, #4 80c21dc: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80c21de: 2304 movs r3, #4 80c21e0: e014 b.n 80c220c } else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80c21e2: 687b ldr r3, [r7, #4] 80c21e4: 6b5b ldr r3, [r3, #52] ; 0x34 80c21e6: f003 0301 and.w r3, r3, #1 80c21ea: 2b00 cmp r3, #0 80c21ec: d004 beq.n 80c21f8 { /* Card is SD V2.0 compliant */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80c21ee: 687b ldr r3, [r7, #4] 80c21f0: 2201 movs r2, #1 80c21f2: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80c21f4: 2301 movs r3, #1 80c21f6: e009 b.n 80c220c else { /* Nothing to do */ } if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CMDREND)) 80c21f8: 687b ldr r3, [r7, #4] 80c21fa: 6b5b ldr r3, [r3, #52] ; 0x34 80c21fc: f003 0340 and.w r3, r3, #64 ; 0x40 80c2200: 2b00 cmp r3, #0 80c2202: d002 beq.n 80c220a { /* Card is SD V2.0 compliant */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CMDREND); 80c2204: 687b ldr r3, [r7, #4] 80c2206: 2240 movs r2, #64 ; 0x40 80c2208: 639a str r2, [r3, #56] ; 0x38 } return SDMMC_ERROR_NONE; 80c220a: 2300 movs r3, #0 } 80c220c: 4618 mov r0, r3 80c220e: 3714 adds r7, #20 80c2210: 46bd mov sp, r7 80c2212: f85d 7b04 ldr.w r7, [sp], #4 80c2216: 4770 bx lr 80c2218: 200209bc .word 0x200209bc 80c221c: 10624dd3 .word 0x10624dd3 080c2220 : * @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) { 80c2220: b480 push {r7} 80c2222: b085 sub sp, #20 80c2224: af00 add r7, sp, #0 80c2226: 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); 80c2228: 4b11 ldr r3, [pc, #68] ; (80c2270 ) 80c222a: 681b ldr r3, [r3, #0] 80c222c: 4a11 ldr r2, [pc, #68] ; (80c2274 ) 80c222e: fba2 2303 umull r2, r3, r2, r3 80c2232: 0a5b lsrs r3, r3, #9 80c2234: f241 3288 movw r2, #5000 ; 0x1388 80c2238: fb02 f303 mul.w r3, r2, r3 80c223c: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80c223e: 68fb ldr r3, [r7, #12] 80c2240: 1e5a subs r2, r3, #1 80c2242: 60fa str r2, [r7, #12] 80c2244: 2b00 cmp r3, #0 80c2246: d102 bne.n 80c224e { return SDMMC_ERROR_TIMEOUT; 80c2248: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80c224c: e009 b.n 80c2262 } }while(!__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CMDSENT)); 80c224e: 687b ldr r3, [r7, #4] 80c2250: 6b5b ldr r3, [r3, #52] ; 0x34 80c2252: f003 0380 and.w r3, r3, #128 ; 0x80 80c2256: 2b00 cmp r3, #0 80c2258: d0f1 beq.n 80c223e /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80c225a: 687b ldr r3, [r7, #4] 80c225c: 22c5 movs r2, #197 ; 0xc5 80c225e: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_NONE; 80c2260: 2300 movs r3, #0 } 80c2262: 4618 mov r0, r3 80c2264: 3714 adds r7, #20 80c2266: 46bd mov sp, r7 80c2268: f85d 7b04 ldr.w r7, [sp], #4 80c226c: 4770 bx lr 80c226e: bf00 nop 80c2270: 200209bc .word 0x200209bc 80c2274: 10624dd3 .word 0x10624dd3 080c2278 : * @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) { 80c2278: b084 sub sp, #16 80c227a: b580 push {r7, lr} 80c227c: b084 sub sp, #16 80c227e: af00 add r7, sp, #0 80c2280: 6078 str r0, [r7, #4] 80c2282: f107 001c add.w r0, r7, #28 80c2286: e880 000e stmia.w r0, {r1, r2, r3} HAL_StatusTypeDef ret; if (cfg.phy_itface == USB_OTG_ULPI_PHY) 80c228a: 6b3b ldr r3, [r7, #48] ; 0x30 80c228c: 2b01 cmp r3, #1 80c228e: d120 bne.n 80c22d2 { USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); 80c2290: 687b ldr r3, [r7, #4] 80c2292: 6b9b ldr r3, [r3, #56] ; 0x38 80c2294: f423 3280 bic.w r2, r3, #65536 ; 0x10000 80c2298: 687b ldr r3, [r7, #4] 80c229a: 639a str r2, [r3, #56] ; 0x38 /* Init The ULPI Interface */ USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_TSDPS | USB_OTG_GUSBCFG_ULPIFSLS | USB_OTG_GUSBCFG_PHYSEL); 80c229c: 687b ldr r3, [r7, #4] 80c229e: 68da ldr r2, [r3, #12] 80c22a0: 4b20 ldr r3, [pc, #128] ; (80c2324 ) 80c22a2: 4013 ands r3, r2 80c22a4: 687a ldr r2, [r7, #4] 80c22a6: 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); 80c22a8: 687b ldr r3, [r7, #4] 80c22aa: 68db ldr r3, [r3, #12] 80c22ac: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 80c22b0: 687b ldr r3, [r7, #4] 80c22b2: 60da str r2, [r3, #12] if (cfg.use_external_vbus == 1U) 80c22b4: 6cfb ldr r3, [r7, #76] ; 0x4c 80c22b6: 2b01 cmp r3, #1 80c22b8: d105 bne.n 80c22c6 { USBx->GUSBCFG |= USB_OTG_GUSBCFG_ULPIEVBUSD; 80c22ba: 687b ldr r3, [r7, #4] 80c22bc: 68db ldr r3, [r3, #12] 80c22be: f443 1280 orr.w r2, r3, #1048576 ; 0x100000 80c22c2: 687b ldr r3, [r7, #4] 80c22c4: 60da str r2, [r3, #12] } /* Reset after a PHY select */ ret = USB_CoreReset(USBx); 80c22c6: 6878 ldr r0, [r7, #4] 80c22c8: f001 fb74 bl 80c39b4 80c22cc: 4603 mov r3, r0 80c22ce: 73fb strb r3, [r7, #15] 80c22d0: e010 b.n 80c22f4 } #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; 80c22d2: 687b ldr r3, [r7, #4] 80c22d4: 68db ldr r3, [r3, #12] 80c22d6: f043 0240 orr.w r2, r3, #64 ; 0x40 80c22da: 687b ldr r3, [r7, #4] 80c22dc: 60da str r2, [r3, #12] /* Reset after a PHY select */ ret = USB_CoreReset(USBx); 80c22de: 6878 ldr r0, [r7, #4] 80c22e0: f001 fb68 bl 80c39b4 80c22e4: 4603 mov r3, r0 80c22e6: 73fb strb r3, [r7, #15] /* Activate the USB Transceiver */ USBx->GCCFG |= USB_OTG_GCCFG_PWRDWN; 80c22e8: 687b ldr r3, [r7, #4] 80c22ea: 6b9b ldr r3, [r3, #56] ; 0x38 80c22ec: f443 3280 orr.w r2, r3, #65536 ; 0x10000 80c22f0: 687b ldr r3, [r7, #4] 80c22f2: 639a str r2, [r3, #56] ; 0x38 } if (cfg.dma_enable == 1U) 80c22f4: 6abb ldr r3, [r7, #40] ; 0x28 80c22f6: 2b01 cmp r3, #1 80c22f8: d10b bne.n 80c2312 { USBx->GAHBCFG |= USB_OTG_GAHBCFG_HBSTLEN_2; 80c22fa: 687b ldr r3, [r7, #4] 80c22fc: 689b ldr r3, [r3, #8] 80c22fe: f043 0206 orr.w r2, r3, #6 80c2302: 687b ldr r3, [r7, #4] 80c2304: 609a str r2, [r3, #8] USBx->GAHBCFG |= USB_OTG_GAHBCFG_DMAEN; 80c2306: 687b ldr r3, [r7, #4] 80c2308: 689b ldr r3, [r3, #8] 80c230a: f043 0220 orr.w r2, r3, #32 80c230e: 687b ldr r3, [r7, #4] 80c2310: 609a str r2, [r3, #8] } return ret; 80c2312: 7bfb ldrb r3, [r7, #15] } 80c2314: 4618 mov r0, r3 80c2316: 3710 adds r7, #16 80c2318: 46bd mov sp, r7 80c231a: e8bd 4080 ldmia.w sp!, {r7, lr} 80c231e: b004 add sp, #16 80c2320: 4770 bx lr 80c2322: bf00 nop 80c2324: ffbdffbf .word 0xffbdffbf 080c2328 : * @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) { 80c2328: b480 push {r7} 80c232a: b087 sub sp, #28 80c232c: af00 add r7, sp, #0 80c232e: 60f8 str r0, [r7, #12] 80c2330: 60b9 str r1, [r7, #8] 80c2332: 4613 mov r3, r2 80c2334: 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) 80c2336: 79fb ldrb r3, [r7, #7] 80c2338: 2b02 cmp r3, #2 80c233a: d165 bne.n 80c2408 { if ((hclk >= 14200000U) && (hclk < 15000000U)) 80c233c: 68bb ldr r3, [r7, #8] 80c233e: 4a41 ldr r2, [pc, #260] ; (80c2444 ) 80c2340: 4293 cmp r3, r2 80c2342: d906 bls.n 80c2352 80c2344: 68bb ldr r3, [r7, #8] 80c2346: 4a40 ldr r2, [pc, #256] ; (80c2448 ) 80c2348: 4293 cmp r3, r2 80c234a: d802 bhi.n 80c2352 { /* hclk Clock Range between 14.2-15 MHz */ UsbTrd = 0xFU; 80c234c: 230f movs r3, #15 80c234e: 617b str r3, [r7, #20] 80c2350: e062 b.n 80c2418 } else if ((hclk >= 15000000U) && (hclk < 16000000U)) 80c2352: 68bb ldr r3, [r7, #8] 80c2354: 4a3c ldr r2, [pc, #240] ; (80c2448 ) 80c2356: 4293 cmp r3, r2 80c2358: d906 bls.n 80c2368 80c235a: 68bb ldr r3, [r7, #8] 80c235c: 4a3b ldr r2, [pc, #236] ; (80c244c ) 80c235e: 4293 cmp r3, r2 80c2360: d802 bhi.n 80c2368 { /* hclk Clock Range between 15-16 MHz */ UsbTrd = 0xEU; 80c2362: 230e movs r3, #14 80c2364: 617b str r3, [r7, #20] 80c2366: e057 b.n 80c2418 } else if ((hclk >= 16000000U) && (hclk < 17200000U)) 80c2368: 68bb ldr r3, [r7, #8] 80c236a: 4a38 ldr r2, [pc, #224] ; (80c244c ) 80c236c: 4293 cmp r3, r2 80c236e: d906 bls.n 80c237e 80c2370: 68bb ldr r3, [r7, #8] 80c2372: 4a37 ldr r2, [pc, #220] ; (80c2450 ) 80c2374: 4293 cmp r3, r2 80c2376: d802 bhi.n 80c237e { /* hclk Clock Range between 16-17.2 MHz */ UsbTrd = 0xDU; 80c2378: 230d movs r3, #13 80c237a: 617b str r3, [r7, #20] 80c237c: e04c b.n 80c2418 } else if ((hclk >= 17200000U) && (hclk < 18500000U)) 80c237e: 68bb ldr r3, [r7, #8] 80c2380: 4a33 ldr r2, [pc, #204] ; (80c2450 ) 80c2382: 4293 cmp r3, r2 80c2384: d906 bls.n 80c2394 80c2386: 68bb ldr r3, [r7, #8] 80c2388: 4a32 ldr r2, [pc, #200] ; (80c2454 ) 80c238a: 4293 cmp r3, r2 80c238c: d802 bhi.n 80c2394 { /* hclk Clock Range between 17.2-18.5 MHz */ UsbTrd = 0xCU; 80c238e: 230c movs r3, #12 80c2390: 617b str r3, [r7, #20] 80c2392: e041 b.n 80c2418 } else if ((hclk >= 18500000U) && (hclk < 20000000U)) 80c2394: 68bb ldr r3, [r7, #8] 80c2396: 4a2f ldr r2, [pc, #188] ; (80c2454 ) 80c2398: 4293 cmp r3, r2 80c239a: d906 bls.n 80c23aa 80c239c: 68bb ldr r3, [r7, #8] 80c239e: 4a2e ldr r2, [pc, #184] ; (80c2458 ) 80c23a0: 4293 cmp r3, r2 80c23a2: d802 bhi.n 80c23aa { /* hclk Clock Range between 18.5-20 MHz */ UsbTrd = 0xBU; 80c23a4: 230b movs r3, #11 80c23a6: 617b str r3, [r7, #20] 80c23a8: e036 b.n 80c2418 } else if ((hclk >= 20000000U) && (hclk < 21800000U)) 80c23aa: 68bb ldr r3, [r7, #8] 80c23ac: 4a2a ldr r2, [pc, #168] ; (80c2458 ) 80c23ae: 4293 cmp r3, r2 80c23b0: d906 bls.n 80c23c0 80c23b2: 68bb ldr r3, [r7, #8] 80c23b4: 4a29 ldr r2, [pc, #164] ; (80c245c ) 80c23b6: 4293 cmp r3, r2 80c23b8: d802 bhi.n 80c23c0 { /* hclk Clock Range between 20-21.8 MHz */ UsbTrd = 0xAU; 80c23ba: 230a movs r3, #10 80c23bc: 617b str r3, [r7, #20] 80c23be: e02b b.n 80c2418 } else if ((hclk >= 21800000U) && (hclk < 24000000U)) 80c23c0: 68bb ldr r3, [r7, #8] 80c23c2: 4a26 ldr r2, [pc, #152] ; (80c245c ) 80c23c4: 4293 cmp r3, r2 80c23c6: d906 bls.n 80c23d6 80c23c8: 68bb ldr r3, [r7, #8] 80c23ca: 4a25 ldr r2, [pc, #148] ; (80c2460 ) 80c23cc: 4293 cmp r3, r2 80c23ce: d802 bhi.n 80c23d6 { /* hclk Clock Range between 21.8-24 MHz */ UsbTrd = 0x9U; 80c23d0: 2309 movs r3, #9 80c23d2: 617b str r3, [r7, #20] 80c23d4: e020 b.n 80c2418 } else if ((hclk >= 24000000U) && (hclk < 27700000U)) 80c23d6: 68bb ldr r3, [r7, #8] 80c23d8: 4a21 ldr r2, [pc, #132] ; (80c2460 ) 80c23da: 4293 cmp r3, r2 80c23dc: d906 bls.n 80c23ec 80c23de: 68bb ldr r3, [r7, #8] 80c23e0: 4a20 ldr r2, [pc, #128] ; (80c2464 ) 80c23e2: 4293 cmp r3, r2 80c23e4: d802 bhi.n 80c23ec { /* hclk Clock Range between 24-27.7 MHz */ UsbTrd = 0x8U; 80c23e6: 2308 movs r3, #8 80c23e8: 617b str r3, [r7, #20] 80c23ea: e015 b.n 80c2418 } else if ((hclk >= 27700000U) && (hclk < 32000000U)) 80c23ec: 68bb ldr r3, [r7, #8] 80c23ee: 4a1d ldr r2, [pc, #116] ; (80c2464 ) 80c23f0: 4293 cmp r3, r2 80c23f2: d906 bls.n 80c2402 80c23f4: 68bb ldr r3, [r7, #8] 80c23f6: 4a1c ldr r2, [pc, #112] ; (80c2468 ) 80c23f8: 4293 cmp r3, r2 80c23fa: d802 bhi.n 80c2402 { /* hclk Clock Range between 27.7-32 MHz */ UsbTrd = 0x7U; 80c23fc: 2307 movs r3, #7 80c23fe: 617b str r3, [r7, #20] 80c2400: e00a b.n 80c2418 } else /* if(hclk >= 32000000) */ { /* hclk Clock Range between 32-200 MHz */ UsbTrd = 0x6U; 80c2402: 2306 movs r3, #6 80c2404: 617b str r3, [r7, #20] 80c2406: e007 b.n 80c2418 } } else if (speed == USBD_HS_SPEED) 80c2408: 79fb ldrb r3, [r7, #7] 80c240a: 2b00 cmp r3, #0 80c240c: d102 bne.n 80c2414 { UsbTrd = USBD_HS_TRDT_VALUE; 80c240e: 2309 movs r3, #9 80c2410: 617b str r3, [r7, #20] 80c2412: e001 b.n 80c2418 } else { UsbTrd = USBD_DEFAULT_TRDT_VALUE; 80c2414: 2309 movs r3, #9 80c2416: 617b str r3, [r7, #20] } USBx->GUSBCFG &= ~USB_OTG_GUSBCFG_TRDT; 80c2418: 68fb ldr r3, [r7, #12] 80c241a: 68db ldr r3, [r3, #12] 80c241c: f423 5270 bic.w r2, r3, #15360 ; 0x3c00 80c2420: 68fb ldr r3, [r7, #12] 80c2422: 60da str r2, [r3, #12] USBx->GUSBCFG |= (uint32_t)((UsbTrd << 10) & USB_OTG_GUSBCFG_TRDT); 80c2424: 68fb ldr r3, [r7, #12] 80c2426: 68da ldr r2, [r3, #12] 80c2428: 697b ldr r3, [r7, #20] 80c242a: 029b lsls r3, r3, #10 80c242c: f403 5370 and.w r3, r3, #15360 ; 0x3c00 80c2430: 431a orrs r2, r3 80c2432: 68fb ldr r3, [r7, #12] 80c2434: 60da str r2, [r3, #12] return HAL_OK; 80c2436: 2300 movs r3, #0 } 80c2438: 4618 mov r0, r3 80c243a: 371c adds r7, #28 80c243c: 46bd mov sp, r7 80c243e: f85d 7b04 ldr.w r7, [sp], #4 80c2442: 4770 bx lr 80c2444: 00d8acbf .word 0x00d8acbf 80c2448: 00e4e1bf .word 0x00e4e1bf 80c244c: 00f423ff .word 0x00f423ff 80c2450: 0106737f .word 0x0106737f 80c2454: 011a499f .word 0x011a499f 80c2458: 01312cff .word 0x01312cff 80c245c: 014ca43f .word 0x014ca43f 80c2460: 016e35ff .word 0x016e35ff 80c2464: 01a6ab1f .word 0x01a6ab1f 80c2468: 01e847ff .word 0x01e847ff 080c246c : * 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) { 80c246c: b480 push {r7} 80c246e: b083 sub sp, #12 80c2470: af00 add r7, sp, #0 80c2472: 6078 str r0, [r7, #4] USBx->GAHBCFG |= USB_OTG_GAHBCFG_GINT; 80c2474: 687b ldr r3, [r7, #4] 80c2476: 689b ldr r3, [r3, #8] 80c2478: f043 0201 orr.w r2, r3, #1 80c247c: 687b ldr r3, [r7, #4] 80c247e: 609a str r2, [r3, #8] return HAL_OK; 80c2480: 2300 movs r3, #0 } 80c2482: 4618 mov r0, r3 80c2484: 370c adds r7, #12 80c2486: 46bd mov sp, r7 80c2488: f85d 7b04 ldr.w r7, [sp], #4 80c248c: 4770 bx lr 080c248e : * 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) { 80c248e: b480 push {r7} 80c2490: b083 sub sp, #12 80c2492: af00 add r7, sp, #0 80c2494: 6078 str r0, [r7, #4] USBx->GAHBCFG &= ~USB_OTG_GAHBCFG_GINT; 80c2496: 687b ldr r3, [r7, #4] 80c2498: 689b ldr r3, [r3, #8] 80c249a: f023 0201 bic.w r2, r3, #1 80c249e: 687b ldr r3, [r7, #4] 80c24a0: 609a str r2, [r3, #8] return HAL_OK; 80c24a2: 2300 movs r3, #0 } 80c24a4: 4618 mov r0, r3 80c24a6: 370c adds r7, #12 80c24a8: 46bd mov sp, r7 80c24aa: f85d 7b04 ldr.w r7, [sp], #4 80c24ae: 4770 bx lr 080c24b0 : * @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) { 80c24b0: b580 push {r7, lr} 80c24b2: b084 sub sp, #16 80c24b4: af00 add r7, sp, #0 80c24b6: 6078 str r0, [r7, #4] 80c24b8: 460b mov r3, r1 80c24ba: 70fb strb r3, [r7, #3] uint32_t ms = 0U; 80c24bc: 2300 movs r3, #0 80c24be: 60fb str r3, [r7, #12] USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_FHMOD | USB_OTG_GUSBCFG_FDMOD); 80c24c0: 687b ldr r3, [r7, #4] 80c24c2: 68db ldr r3, [r3, #12] 80c24c4: f023 42c0 bic.w r2, r3, #1610612736 ; 0x60000000 80c24c8: 687b ldr r3, [r7, #4] 80c24ca: 60da str r2, [r3, #12] if (mode == USB_HOST_MODE) 80c24cc: 78fb ldrb r3, [r7, #3] 80c24ce: 2b01 cmp r3, #1 80c24d0: d115 bne.n 80c24fe { USBx->GUSBCFG |= USB_OTG_GUSBCFG_FHMOD; 80c24d2: 687b ldr r3, [r7, #4] 80c24d4: 68db ldr r3, [r3, #12] 80c24d6: f043 5200 orr.w r2, r3, #536870912 ; 0x20000000 80c24da: 687b ldr r3, [r7, #4] 80c24dc: 60da str r2, [r3, #12] do { HAL_Delay(1U); 80c24de: 2001 movs r0, #1 80c24e0: f7f4 fcac bl 80b6e3c ms++; 80c24e4: 68fb ldr r3, [r7, #12] 80c24e6: 3301 adds r3, #1 80c24e8: 60fb str r3, [r7, #12] } while ((USB_GetMode(USBx) != (uint32_t)USB_HOST_MODE) && (ms < 50U)); 80c24ea: 6878 ldr r0, [r7, #4] 80c24ec: f001 f9cc bl 80c3888 80c24f0: 4603 mov r3, r0 80c24f2: 2b01 cmp r3, #1 80c24f4: d01e beq.n 80c2534 80c24f6: 68fb ldr r3, [r7, #12] 80c24f8: 2b31 cmp r3, #49 ; 0x31 80c24fa: d9f0 bls.n 80c24de 80c24fc: e01a b.n 80c2534 } else if (mode == USB_DEVICE_MODE) 80c24fe: 78fb ldrb r3, [r7, #3] 80c2500: 2b00 cmp r3, #0 80c2502: d115 bne.n 80c2530 { USBx->GUSBCFG |= USB_OTG_GUSBCFG_FDMOD; 80c2504: 687b ldr r3, [r7, #4] 80c2506: 68db ldr r3, [r3, #12] 80c2508: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80c250c: 687b ldr r3, [r7, #4] 80c250e: 60da str r2, [r3, #12] do { HAL_Delay(1U); 80c2510: 2001 movs r0, #1 80c2512: f7f4 fc93 bl 80b6e3c ms++; 80c2516: 68fb ldr r3, [r7, #12] 80c2518: 3301 adds r3, #1 80c251a: 60fb str r3, [r7, #12] } while ((USB_GetMode(USBx) != (uint32_t)USB_DEVICE_MODE) && (ms < 50U)); 80c251c: 6878 ldr r0, [r7, #4] 80c251e: f001 f9b3 bl 80c3888 80c2522: 4603 mov r3, r0 80c2524: 2b00 cmp r3, #0 80c2526: d005 beq.n 80c2534 80c2528: 68fb ldr r3, [r7, #12] 80c252a: 2b31 cmp r3, #49 ; 0x31 80c252c: d9f0 bls.n 80c2510 80c252e: e001 b.n 80c2534 } else { return HAL_ERROR; 80c2530: 2301 movs r3, #1 80c2532: e005 b.n 80c2540 } if (ms == 50U) 80c2534: 68fb ldr r3, [r7, #12] 80c2536: 2b32 cmp r3, #50 ; 0x32 80c2538: d101 bne.n 80c253e { return HAL_ERROR; 80c253a: 2301 movs r3, #1 80c253c: e000 b.n 80c2540 } return HAL_OK; 80c253e: 2300 movs r3, #0 } 80c2540: 4618 mov r0, r3 80c2542: 3710 adds r7, #16 80c2544: 46bd mov sp, r7 80c2546: bd80 pop {r7, pc} 080c2548 : * @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) { 80c2548: b084 sub sp, #16 80c254a: b580 push {r7, lr} 80c254c: b086 sub sp, #24 80c254e: af00 add r7, sp, #0 80c2550: 6078 str r0, [r7, #4] 80c2552: f107 0024 add.w r0, r7, #36 ; 0x24 80c2556: e880 000e stmia.w r0, {r1, r2, r3} HAL_StatusTypeDef ret = HAL_OK; 80c255a: 2300 movs r3, #0 80c255c: 75fb strb r3, [r7, #23] uint32_t USBx_BASE = (uint32_t)USBx; 80c255e: 687b ldr r3, [r7, #4] 80c2560: 60fb str r3, [r7, #12] uint32_t i; for (i = 0U; i < 15U; i++) 80c2562: 2300 movs r3, #0 80c2564: 613b str r3, [r7, #16] 80c2566: e009 b.n 80c257c { USBx->DIEPTXF[i] = 0U; 80c2568: 687a ldr r2, [r7, #4] 80c256a: 693b ldr r3, [r7, #16] 80c256c: 3340 adds r3, #64 ; 0x40 80c256e: 009b lsls r3, r3, #2 80c2570: 4413 add r3, r2 80c2572: 2200 movs r2, #0 80c2574: 605a str r2, [r3, #4] for (i = 0U; i < 15U; i++) 80c2576: 693b ldr r3, [r7, #16] 80c2578: 3301 adds r3, #1 80c257a: 613b str r3, [r7, #16] 80c257c: 693b ldr r3, [r7, #16] 80c257e: 2b0e cmp r3, #14 80c2580: d9f2 bls.n 80c2568 } /* VBUS Sensing setup */ if (cfg.vbus_sensing_enable == 0U) 80c2582: 6cfb ldr r3, [r7, #76] ; 0x4c 80c2584: 2b00 cmp r3, #0 80c2586: d11d bne.n 80c25c4 { USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 80c2588: 68fb ldr r3, [r7, #12] 80c258a: f503 6300 add.w r3, r3, #2048 ; 0x800 80c258e: 461a mov r2, r3 80c2590: 68fb ldr r3, [r7, #12] 80c2592: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2596: 685b ldr r3, [r3, #4] 80c2598: f043 0302 orr.w r3, r3, #2 80c259c: 6053 str r3, [r2, #4] /* Deactivate VBUS Sensing B */ USBx->GCCFG &= ~USB_OTG_GCCFG_VBDEN; 80c259e: 687b ldr r3, [r7, #4] 80c25a0: 6b9b ldr r3, [r3, #56] ; 0x38 80c25a2: f423 1200 bic.w r2, r3, #2097152 ; 0x200000 80c25a6: 687b ldr r3, [r7, #4] 80c25a8: 639a str r2, [r3, #56] ; 0x38 /* B-peripheral session valid override enable */ USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOEN; 80c25aa: 687b ldr r3, [r7, #4] 80c25ac: 681b ldr r3, [r3, #0] 80c25ae: f043 0240 orr.w r2, r3, #64 ; 0x40 80c25b2: 687b ldr r3, [r7, #4] 80c25b4: 601a str r2, [r3, #0] USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOVAL; 80c25b6: 687b ldr r3, [r7, #4] 80c25b8: 681b ldr r3, [r3, #0] 80c25ba: f043 0280 orr.w r2, r3, #128 ; 0x80 80c25be: 687b ldr r3, [r7, #4] 80c25c0: 601a str r2, [r3, #0] 80c25c2: e005 b.n 80c25d0 } else { /* Enable HW VBUS sensing */ USBx->GCCFG |= USB_OTG_GCCFG_VBDEN; 80c25c4: 687b ldr r3, [r7, #4] 80c25c6: 6b9b ldr r3, [r3, #56] ; 0x38 80c25c8: f443 1200 orr.w r2, r3, #2097152 ; 0x200000 80c25cc: 687b ldr r3, [r7, #4] 80c25ce: 639a str r2, [r3, #56] ; 0x38 } /* Restart the Phy Clock */ USBx_PCGCCTL = 0U; 80c25d0: 68fb ldr r3, [r7, #12] 80c25d2: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c25d6: 461a mov r2, r3 80c25d8: 2300 movs r3, #0 80c25da: 6013 str r3, [r2, #0] /* Device mode configuration */ USBx_DEVICE->DCFG |= DCFG_FRAME_INTERVAL_80; 80c25dc: 68fb ldr r3, [r7, #12] 80c25de: f503 6300 add.w r3, r3, #2048 ; 0x800 80c25e2: 461a mov r2, r3 80c25e4: 68fb ldr r3, [r7, #12] 80c25e6: f503 6300 add.w r3, r3, #2048 ; 0x800 80c25ea: 681b ldr r3, [r3, #0] 80c25ec: 6013 str r3, [r2, #0] if (cfg.phy_itface == USB_OTG_ULPI_PHY) 80c25ee: 6bbb ldr r3, [r7, #56] ; 0x38 80c25f0: 2b01 cmp r3, #1 80c25f2: d10c bne.n 80c260e { if (cfg.speed == USBD_HS_SPEED) 80c25f4: 6afb ldr r3, [r7, #44] ; 0x2c 80c25f6: 2b00 cmp r3, #0 80c25f8: d104 bne.n 80c2604 { /* Set Core speed to High speed mode */ (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_HIGH); 80c25fa: 2100 movs r1, #0 80c25fc: 6878 ldr r0, [r7, #4] 80c25fe: f000 f963 bl 80c28c8 80c2602: e008 b.n 80c2616 } else { /* Set Core speed to Full speed mode */ (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_HIGH_IN_FULL); 80c2604: 2101 movs r1, #1 80c2606: 6878 ldr r0, [r7, #4] 80c2608: f000 f95e bl 80c28c8 80c260c: e003 b.n 80c2616 } #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); 80c260e: 2103 movs r1, #3 80c2610: 6878 ldr r0, [r7, #4] 80c2612: f000 f959 bl 80c28c8 } /* Flush the FIFOs */ if (USB_FlushTxFifo(USBx, 0x10U) != HAL_OK) /* all Tx FIFOs */ 80c2616: 2110 movs r1, #16 80c2618: 6878 ldr r0, [r7, #4] 80c261a: f000 f8f5 bl 80c2808 80c261e: 4603 mov r3, r0 80c2620: 2b00 cmp r3, #0 80c2622: d001 beq.n 80c2628 { ret = HAL_ERROR; 80c2624: 2301 movs r3, #1 80c2626: 75fb strb r3, [r7, #23] } if (USB_FlushRxFifo(USBx) != HAL_OK) 80c2628: 6878 ldr r0, [r7, #4] 80c262a: f000 f91f bl 80c286c 80c262e: 4603 mov r3, r0 80c2630: 2b00 cmp r3, #0 80c2632: d001 beq.n 80c2638 { ret = HAL_ERROR; 80c2634: 2301 movs r3, #1 80c2636: 75fb strb r3, [r7, #23] } /* Clear all pending Device Interrupts */ USBx_DEVICE->DIEPMSK = 0U; 80c2638: 68fb ldr r3, [r7, #12] 80c263a: f503 6300 add.w r3, r3, #2048 ; 0x800 80c263e: 461a mov r2, r3 80c2640: 2300 movs r3, #0 80c2642: 6113 str r3, [r2, #16] USBx_DEVICE->DOEPMSK = 0U; 80c2644: 68fb ldr r3, [r7, #12] 80c2646: f503 6300 add.w r3, r3, #2048 ; 0x800 80c264a: 461a mov r2, r3 80c264c: 2300 movs r3, #0 80c264e: 6153 str r3, [r2, #20] USBx_DEVICE->DAINTMSK = 0U; 80c2650: 68fb ldr r3, [r7, #12] 80c2652: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2656: 461a mov r2, r3 80c2658: 2300 movs r3, #0 80c265a: 61d3 str r3, [r2, #28] for (i = 0U; i < cfg.dev_endpoints; i++) 80c265c: 2300 movs r3, #0 80c265e: 613b str r3, [r7, #16] 80c2660: e043 b.n 80c26ea { if ((USBx_INEP(i)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 80c2662: 693b ldr r3, [r7, #16] 80c2664: 015a lsls r2, r3, #5 80c2666: 68fb ldr r3, [r7, #12] 80c2668: 4413 add r3, r2 80c266a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c266e: 681b ldr r3, [r3, #0] 80c2670: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80c2674: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80c2678: d118 bne.n 80c26ac { if (i == 0U) 80c267a: 693b ldr r3, [r7, #16] 80c267c: 2b00 cmp r3, #0 80c267e: d10a bne.n 80c2696 { USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_SNAK; 80c2680: 693b ldr r3, [r7, #16] 80c2682: 015a lsls r2, r3, #5 80c2684: 68fb ldr r3, [r7, #12] 80c2686: 4413 add r3, r2 80c2688: f503 6310 add.w r3, r3, #2304 ; 0x900 80c268c: 461a mov r2, r3 80c268e: f04f 6300 mov.w r3, #134217728 ; 0x8000000 80c2692: 6013 str r3, [r2, #0] 80c2694: e013 b.n 80c26be } else { USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_EPDIS | USB_OTG_DIEPCTL_SNAK; 80c2696: 693b ldr r3, [r7, #16] 80c2698: 015a lsls r2, r3, #5 80c269a: 68fb ldr r3, [r7, #12] 80c269c: 4413 add r3, r2 80c269e: f503 6310 add.w r3, r3, #2304 ; 0x900 80c26a2: 461a mov r2, r3 80c26a4: f04f 4390 mov.w r3, #1207959552 ; 0x48000000 80c26a8: 6013 str r3, [r2, #0] 80c26aa: e008 b.n 80c26be } } else { USBx_INEP(i)->DIEPCTL = 0U; 80c26ac: 693b ldr r3, [r7, #16] 80c26ae: 015a lsls r2, r3, #5 80c26b0: 68fb ldr r3, [r7, #12] 80c26b2: 4413 add r3, r2 80c26b4: f503 6310 add.w r3, r3, #2304 ; 0x900 80c26b8: 461a mov r2, r3 80c26ba: 2300 movs r3, #0 80c26bc: 6013 str r3, [r2, #0] } USBx_INEP(i)->DIEPTSIZ = 0U; 80c26be: 693b ldr r3, [r7, #16] 80c26c0: 015a lsls r2, r3, #5 80c26c2: 68fb ldr r3, [r7, #12] 80c26c4: 4413 add r3, r2 80c26c6: f503 6310 add.w r3, r3, #2304 ; 0x900 80c26ca: 461a mov r2, r3 80c26cc: 2300 movs r3, #0 80c26ce: 6113 str r3, [r2, #16] USBx_INEP(i)->DIEPINT = 0xFB7FU; 80c26d0: 693b ldr r3, [r7, #16] 80c26d2: 015a lsls r2, r3, #5 80c26d4: 68fb ldr r3, [r7, #12] 80c26d6: 4413 add r3, r2 80c26d8: f503 6310 add.w r3, r3, #2304 ; 0x900 80c26dc: 461a mov r2, r3 80c26de: f64f 337f movw r3, #64383 ; 0xfb7f 80c26e2: 6093 str r3, [r2, #8] for (i = 0U; i < cfg.dev_endpoints; i++) 80c26e4: 693b ldr r3, [r7, #16] 80c26e6: 3301 adds r3, #1 80c26e8: 613b str r3, [r7, #16] 80c26ea: 6a7a ldr r2, [r7, #36] ; 0x24 80c26ec: 693b ldr r3, [r7, #16] 80c26ee: 429a cmp r2, r3 80c26f0: d8b7 bhi.n 80c2662 } for (i = 0U; i < cfg.dev_endpoints; i++) 80c26f2: 2300 movs r3, #0 80c26f4: 613b str r3, [r7, #16] 80c26f6: e043 b.n 80c2780 { if ((USBx_OUTEP(i)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 80c26f8: 693b ldr r3, [r7, #16] 80c26fa: 015a lsls r2, r3, #5 80c26fc: 68fb ldr r3, [r7, #12] 80c26fe: 4413 add r3, r2 80c2700: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2704: 681b ldr r3, [r3, #0] 80c2706: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80c270a: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80c270e: d118 bne.n 80c2742 { if (i == 0U) 80c2710: 693b ldr r3, [r7, #16] 80c2712: 2b00 cmp r3, #0 80c2714: d10a bne.n 80c272c { USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_SNAK; 80c2716: 693b ldr r3, [r7, #16] 80c2718: 015a lsls r2, r3, #5 80c271a: 68fb ldr r3, [r7, #12] 80c271c: 4413 add r3, r2 80c271e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2722: 461a mov r2, r3 80c2724: f04f 6300 mov.w r3, #134217728 ; 0x8000000 80c2728: 6013 str r3, [r2, #0] 80c272a: e013 b.n 80c2754 } else { USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_EPDIS | USB_OTG_DOEPCTL_SNAK; 80c272c: 693b ldr r3, [r7, #16] 80c272e: 015a lsls r2, r3, #5 80c2730: 68fb ldr r3, [r7, #12] 80c2732: 4413 add r3, r2 80c2734: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2738: 461a mov r2, r3 80c273a: f04f 4390 mov.w r3, #1207959552 ; 0x48000000 80c273e: 6013 str r3, [r2, #0] 80c2740: e008 b.n 80c2754 } } else { USBx_OUTEP(i)->DOEPCTL = 0U; 80c2742: 693b ldr r3, [r7, #16] 80c2744: 015a lsls r2, r3, #5 80c2746: 68fb ldr r3, [r7, #12] 80c2748: 4413 add r3, r2 80c274a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c274e: 461a mov r2, r3 80c2750: 2300 movs r3, #0 80c2752: 6013 str r3, [r2, #0] } USBx_OUTEP(i)->DOEPTSIZ = 0U; 80c2754: 693b ldr r3, [r7, #16] 80c2756: 015a lsls r2, r3, #5 80c2758: 68fb ldr r3, [r7, #12] 80c275a: 4413 add r3, r2 80c275c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2760: 461a mov r2, r3 80c2762: 2300 movs r3, #0 80c2764: 6113 str r3, [r2, #16] USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 80c2766: 693b ldr r3, [r7, #16] 80c2768: 015a lsls r2, r3, #5 80c276a: 68fb ldr r3, [r7, #12] 80c276c: 4413 add r3, r2 80c276e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2772: 461a mov r2, r3 80c2774: f64f 337f movw r3, #64383 ; 0xfb7f 80c2778: 6093 str r3, [r2, #8] for (i = 0U; i < cfg.dev_endpoints; i++) 80c277a: 693b ldr r3, [r7, #16] 80c277c: 3301 adds r3, #1 80c277e: 613b str r3, [r7, #16] 80c2780: 6a7a ldr r2, [r7, #36] ; 0x24 80c2782: 693b ldr r3, [r7, #16] 80c2784: 429a cmp r2, r3 80c2786: d8b7 bhi.n 80c26f8 } USBx_DEVICE->DIEPMSK &= ~(USB_OTG_DIEPMSK_TXFURM); 80c2788: 68fb ldr r3, [r7, #12] 80c278a: f503 6300 add.w r3, r3, #2048 ; 0x800 80c278e: 461a mov r2, r3 80c2790: 68fb ldr r3, [r7, #12] 80c2792: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2796: 691b ldr r3, [r3, #16] 80c2798: f423 7380 bic.w r3, r3, #256 ; 0x100 80c279c: 6113 str r3, [r2, #16] /* Disable all interrupts. */ USBx->GINTMSK = 0U; 80c279e: 687b ldr r3, [r7, #4] 80c27a0: 2200 movs r2, #0 80c27a2: 619a str r2, [r3, #24] /* Clear any pending interrupts */ USBx->GINTSTS = 0xBFFFFFFFU; 80c27a4: 687b ldr r3, [r7, #4] 80c27a6: f06f 4280 mvn.w r2, #1073741824 ; 0x40000000 80c27aa: 615a str r2, [r3, #20] /* Enable the common interrupts */ if (cfg.dma_enable == 0U) 80c27ac: 6b3b ldr r3, [r7, #48] ; 0x30 80c27ae: 2b00 cmp r3, #0 80c27b0: d105 bne.n 80c27be { USBx->GINTMSK |= USB_OTG_GINTMSK_RXFLVLM; 80c27b2: 687b ldr r3, [r7, #4] 80c27b4: 699b ldr r3, [r3, #24] 80c27b6: f043 0210 orr.w r2, r3, #16 80c27ba: 687b ldr r3, [r7, #4] 80c27bc: 619a str r2, [r3, #24] } /* Enable interrupts matching to the Device mode ONLY */ USBx->GINTMSK |= USB_OTG_GINTMSK_USBSUSPM | USB_OTG_GINTMSK_USBRST | 80c27be: 687b ldr r3, [r7, #4] 80c27c0: 699a ldr r2, [r3, #24] 80c27c2: 4b0f ldr r3, [pc, #60] ; (80c2800 ) 80c27c4: 4313 orrs r3, r2 80c27c6: 687a ldr r2, [r7, #4] 80c27c8: 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) 80c27ca: 6bfb ldr r3, [r7, #60] ; 0x3c 80c27cc: 2b00 cmp r3, #0 80c27ce: d005 beq.n 80c27dc { USBx->GINTMSK |= USB_OTG_GINTMSK_SOFM; 80c27d0: 687b ldr r3, [r7, #4] 80c27d2: 699b ldr r3, [r3, #24] 80c27d4: f043 0208 orr.w r2, r3, #8 80c27d8: 687b ldr r3, [r7, #4] 80c27da: 619a str r2, [r3, #24] } if (cfg.vbus_sensing_enable == 1U) 80c27dc: 6cfb ldr r3, [r7, #76] ; 0x4c 80c27de: 2b01 cmp r3, #1 80c27e0: d105 bne.n 80c27ee { USBx->GINTMSK |= (USB_OTG_GINTMSK_SRQIM | USB_OTG_GINTMSK_OTGINT); 80c27e2: 687b ldr r3, [r7, #4] 80c27e4: 699a ldr r2, [r3, #24] 80c27e6: 4b07 ldr r3, [pc, #28] ; (80c2804 ) 80c27e8: 4313 orrs r3, r2 80c27ea: 687a ldr r2, [r7, #4] 80c27ec: 6193 str r3, [r2, #24] } return ret; 80c27ee: 7dfb ldrb r3, [r7, #23] } 80c27f0: 4618 mov r0, r3 80c27f2: 3718 adds r7, #24 80c27f4: 46bd mov sp, r7 80c27f6: e8bd 4080 ldmia.w sp!, {r7, lr} 80c27fa: b004 add sp, #16 80c27fc: 4770 bx lr 80c27fe: bf00 nop 80c2800: 803c3800 .word 0x803c3800 80c2804: 40000004 .word 0x40000004 080c2808 : * 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) { 80c2808: b480 push {r7} 80c280a: b085 sub sp, #20 80c280c: af00 add r7, sp, #0 80c280e: 6078 str r0, [r7, #4] 80c2810: 6039 str r1, [r7, #0] __IO uint32_t count = 0U; 80c2812: 2300 movs r3, #0 80c2814: 60fb str r3, [r7, #12] /* Wait for AHB master IDLE state. */ do { if (++count > 200000U) 80c2816: 68fb ldr r3, [r7, #12] 80c2818: 3301 adds r3, #1 80c281a: 60fb str r3, [r7, #12] 80c281c: 4a12 ldr r2, [pc, #72] ; (80c2868 ) 80c281e: 4293 cmp r3, r2 80c2820: d901 bls.n 80c2826 { return HAL_TIMEOUT; 80c2822: 2303 movs r3, #3 80c2824: e01a b.n 80c285c } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 80c2826: 687b ldr r3, [r7, #4] 80c2828: 691b ldr r3, [r3, #16] 80c282a: 2b00 cmp r3, #0 80c282c: daf3 bge.n 80c2816 /* Flush TX Fifo */ count = 0U; 80c282e: 2300 movs r3, #0 80c2830: 60fb str r3, [r7, #12] USBx->GRSTCTL = (USB_OTG_GRSTCTL_TXFFLSH | (num << 6)); 80c2832: 683b ldr r3, [r7, #0] 80c2834: 019b lsls r3, r3, #6 80c2836: f043 0220 orr.w r2, r3, #32 80c283a: 687b ldr r3, [r7, #4] 80c283c: 611a str r2, [r3, #16] do { if (++count > 200000U) 80c283e: 68fb ldr r3, [r7, #12] 80c2840: 3301 adds r3, #1 80c2842: 60fb str r3, [r7, #12] 80c2844: 4a08 ldr r2, [pc, #32] ; (80c2868 ) 80c2846: 4293 cmp r3, r2 80c2848: d901 bls.n 80c284e { return HAL_TIMEOUT; 80c284a: 2303 movs r3, #3 80c284c: e006 b.n 80c285c } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_TXFFLSH) == USB_OTG_GRSTCTL_TXFFLSH); 80c284e: 687b ldr r3, [r7, #4] 80c2850: 691b ldr r3, [r3, #16] 80c2852: f003 0320 and.w r3, r3, #32 80c2856: 2b20 cmp r3, #32 80c2858: d0f1 beq.n 80c283e return HAL_OK; 80c285a: 2300 movs r3, #0 } 80c285c: 4618 mov r0, r3 80c285e: 3714 adds r7, #20 80c2860: 46bd mov sp, r7 80c2862: f85d 7b04 ldr.w r7, [sp], #4 80c2866: 4770 bx lr 80c2868: 00030d40 .word 0x00030d40 080c286c : * @brief USB_FlushRxFifo Flush Rx FIFO * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_FlushRxFifo(USB_OTG_GlobalTypeDef *USBx) { 80c286c: b480 push {r7} 80c286e: b085 sub sp, #20 80c2870: af00 add r7, sp, #0 80c2872: 6078 str r0, [r7, #4] __IO uint32_t count = 0U; 80c2874: 2300 movs r3, #0 80c2876: 60fb str r3, [r7, #12] /* Wait for AHB master IDLE state. */ do { if (++count > 200000U) 80c2878: 68fb ldr r3, [r7, #12] 80c287a: 3301 adds r3, #1 80c287c: 60fb str r3, [r7, #12] 80c287e: 4a11 ldr r2, [pc, #68] ; (80c28c4 ) 80c2880: 4293 cmp r3, r2 80c2882: d901 bls.n 80c2888 { return HAL_TIMEOUT; 80c2884: 2303 movs r3, #3 80c2886: e017 b.n 80c28b8 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 80c2888: 687b ldr r3, [r7, #4] 80c288a: 691b ldr r3, [r3, #16] 80c288c: 2b00 cmp r3, #0 80c288e: daf3 bge.n 80c2878 /* Flush RX Fifo */ count = 0U; 80c2890: 2300 movs r3, #0 80c2892: 60fb str r3, [r7, #12] USBx->GRSTCTL = USB_OTG_GRSTCTL_RXFFLSH; 80c2894: 687b ldr r3, [r7, #4] 80c2896: 2210 movs r2, #16 80c2898: 611a str r2, [r3, #16] do { if (++count > 200000U) 80c289a: 68fb ldr r3, [r7, #12] 80c289c: 3301 adds r3, #1 80c289e: 60fb str r3, [r7, #12] 80c28a0: 4a08 ldr r2, [pc, #32] ; (80c28c4 ) 80c28a2: 4293 cmp r3, r2 80c28a4: d901 bls.n 80c28aa { return HAL_TIMEOUT; 80c28a6: 2303 movs r3, #3 80c28a8: e006 b.n 80c28b8 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_RXFFLSH) == USB_OTG_GRSTCTL_RXFFLSH); 80c28aa: 687b ldr r3, [r7, #4] 80c28ac: 691b ldr r3, [r3, #16] 80c28ae: f003 0310 and.w r3, r3, #16 80c28b2: 2b10 cmp r3, #16 80c28b4: d0f1 beq.n 80c289a return HAL_OK; 80c28b6: 2300 movs r3, #0 } 80c28b8: 4618 mov r0, r3 80c28ba: 3714 adds r7, #20 80c28bc: 46bd mov sp, r7 80c28be: f85d 7b04 ldr.w r7, [sp], #4 80c28c2: 4770 bx lr 80c28c4: 00030d40 .word 0x00030d40 080c28c8 : * @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) { 80c28c8: b480 push {r7} 80c28ca: b085 sub sp, #20 80c28cc: af00 add r7, sp, #0 80c28ce: 6078 str r0, [r7, #4] 80c28d0: 460b mov r3, r1 80c28d2: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80c28d4: 687b ldr r3, [r7, #4] 80c28d6: 60fb str r3, [r7, #12] USBx_DEVICE->DCFG |= speed; 80c28d8: 68fb ldr r3, [r7, #12] 80c28da: f503 6300 add.w r3, r3, #2048 ; 0x800 80c28de: 4619 mov r1, r3 80c28e0: 68fb ldr r3, [r7, #12] 80c28e2: f503 6300 add.w r3, r3, #2048 ; 0x800 80c28e6: 681a ldr r2, [r3, #0] 80c28e8: 78fb ldrb r3, [r7, #3] 80c28ea: 4313 orrs r3, r2 80c28ec: 600b str r3, [r1, #0] return HAL_OK; 80c28ee: 2300 movs r3, #0 } 80c28f0: 4618 mov r0, r3 80c28f2: 3714 adds r7, #20 80c28f4: 46bd mov sp, r7 80c28f6: f85d 7b04 ldr.w r7, [sp], #4 80c28fa: 4770 bx lr 080c28fc : * 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) { 80c28fc: b480 push {r7} 80c28fe: b087 sub sp, #28 80c2900: af00 add r7, sp, #0 80c2902: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c2904: 687b ldr r3, [r7, #4] 80c2906: 613b str r3, [r7, #16] uint8_t speed; uint32_t DevEnumSpeed = USBx_DEVICE->DSTS & USB_OTG_DSTS_ENUMSPD; 80c2908: 693b ldr r3, [r7, #16] 80c290a: f503 6300 add.w r3, r3, #2048 ; 0x800 80c290e: 689b ldr r3, [r3, #8] 80c2910: f003 0306 and.w r3, r3, #6 80c2914: 60fb str r3, [r7, #12] if (DevEnumSpeed == DSTS_ENUMSPD_HS_PHY_30MHZ_OR_60MHZ) 80c2916: 68fb ldr r3, [r7, #12] 80c2918: 2b00 cmp r3, #0 80c291a: d102 bne.n 80c2922 { speed = USBD_HS_SPEED; 80c291c: 2300 movs r3, #0 80c291e: 75fb strb r3, [r7, #23] 80c2920: e00a b.n 80c2938 } else if ((DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_30MHZ_OR_60MHZ) || 80c2922: 68fb ldr r3, [r7, #12] 80c2924: 2b02 cmp r3, #2 80c2926: d002 beq.n 80c292e 80c2928: 68fb ldr r3, [r7, #12] 80c292a: 2b06 cmp r3, #6 80c292c: d102 bne.n 80c2934 (DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_48MHZ)) { speed = USBD_FS_SPEED; 80c292e: 2302 movs r3, #2 80c2930: 75fb strb r3, [r7, #23] 80c2932: e001 b.n 80c2938 } else { speed = 0xFU; 80c2934: 230f movs r3, #15 80c2936: 75fb strb r3, [r7, #23] } return speed; 80c2938: 7dfb ldrb r3, [r7, #23] } 80c293a: 4618 mov r0, r3 80c293c: 371c adds r7, #28 80c293e: 46bd mov sp, r7 80c2940: f85d 7b04 ldr.w r7, [sp], #4 80c2944: 4770 bx lr ... 080c2948 : * @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) { 80c2948: b480 push {r7} 80c294a: b085 sub sp, #20 80c294c: af00 add r7, sp, #0 80c294e: 6078 str r0, [r7, #4] 80c2950: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80c2952: 687b ldr r3, [r7, #4] 80c2954: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80c2956: 683b ldr r3, [r7, #0] 80c2958: 781b ldrb r3, [r3, #0] 80c295a: 60bb str r3, [r7, #8] if (ep->is_in == 1U) 80c295c: 683b ldr r3, [r7, #0] 80c295e: 785b ldrb r3, [r3, #1] 80c2960: 2b01 cmp r3, #1 80c2962: d13a bne.n 80c29da { USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK)); 80c2964: 68fb ldr r3, [r7, #12] 80c2966: f503 6300 add.w r3, r3, #2048 ; 0x800 80c296a: 4618 mov r0, r3 80c296c: 68fb ldr r3, [r7, #12] 80c296e: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2972: 69da ldr r2, [r3, #28] 80c2974: 683b ldr r3, [r7, #0] 80c2976: 781b ldrb r3, [r3, #0] 80c2978: f003 030f and.w r3, r3, #15 80c297c: 2101 movs r1, #1 80c297e: fa01 f303 lsl.w r3, r1, r3 80c2982: b29b uxth r3, r3 80c2984: 4313 orrs r3, r2 80c2986: 61c3 str r3, [r0, #28] if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_USBAEP) == 0U) 80c2988: 68bb ldr r3, [r7, #8] 80c298a: 015a lsls r2, r3, #5 80c298c: 68fb ldr r3, [r7, #12] 80c298e: 4413 add r3, r2 80c2990: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2994: 681b ldr r3, [r3, #0] 80c2996: f403 4300 and.w r3, r3, #32768 ; 0x8000 80c299a: 2b00 cmp r3, #0 80c299c: d154 bne.n 80c2a48 { USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 80c299e: 68bb ldr r3, [r7, #8] 80c29a0: 015a lsls r2, r3, #5 80c29a2: 68fb ldr r3, [r7, #12] 80c29a4: 4413 add r3, r2 80c29a6: f503 6310 add.w r3, r3, #2304 ; 0x900 80c29aa: 4618 mov r0, r3 80c29ac: 68bb ldr r3, [r7, #8] 80c29ae: 015a lsls r2, r3, #5 80c29b0: 68fb ldr r3, [r7, #12] 80c29b2: 4413 add r3, r2 80c29b4: f503 6310 add.w r3, r3, #2304 ; 0x900 80c29b8: 681a ldr r2, [r3, #0] 80c29ba: 683b ldr r3, [r7, #0] 80c29bc: 689b ldr r3, [r3, #8] 80c29be: f3c3 010a ubfx r1, r3, #0, #11 ((uint32_t)ep->type << 18) | (epnum << 22) | 80c29c2: 683b ldr r3, [r7, #0] 80c29c4: 78db ldrb r3, [r3, #3] 80c29c6: 049b lsls r3, r3, #18 USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 80c29c8: 4319 orrs r1, r3 ((uint32_t)ep->type << 18) | (epnum << 22) | 80c29ca: 68bb ldr r3, [r7, #8] 80c29cc: 059b lsls r3, r3, #22 80c29ce: 430b orrs r3, r1 USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 80c29d0: 431a orrs r2, r3 80c29d2: 4b21 ldr r3, [pc, #132] ; (80c2a58 ) 80c29d4: 4313 orrs r3, r2 80c29d6: 6003 str r3, [r0, #0] 80c29d8: e036 b.n 80c2a48 USB_OTG_DIEPCTL_USBAEP; } } else { USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 16); 80c29da: 68fb ldr r3, [r7, #12] 80c29dc: f503 6300 add.w r3, r3, #2048 ; 0x800 80c29e0: 4618 mov r0, r3 80c29e2: 68fb ldr r3, [r7, #12] 80c29e4: f503 6300 add.w r3, r3, #2048 ; 0x800 80c29e8: 69da ldr r2, [r3, #28] 80c29ea: 683b ldr r3, [r7, #0] 80c29ec: 781b ldrb r3, [r3, #0] 80c29ee: f003 030f and.w r3, r3, #15 80c29f2: 2101 movs r1, #1 80c29f4: fa01 f303 lsl.w r3, r1, r3 80c29f8: 041b lsls r3, r3, #16 80c29fa: 4313 orrs r3, r2 80c29fc: 61c3 str r3, [r0, #28] if (((USBx_OUTEP(epnum)->DOEPCTL) & USB_OTG_DOEPCTL_USBAEP) == 0U) 80c29fe: 68bb ldr r3, [r7, #8] 80c2a00: 015a lsls r2, r3, #5 80c2a02: 68fb ldr r3, [r7, #12] 80c2a04: 4413 add r3, r2 80c2a06: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2a0a: 681b ldr r3, [r3, #0] 80c2a0c: f403 4300 and.w r3, r3, #32768 ; 0x8000 80c2a10: 2b00 cmp r3, #0 80c2a12: d119 bne.n 80c2a48 { USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) | 80c2a14: 68bb ldr r3, [r7, #8] 80c2a16: 015a lsls r2, r3, #5 80c2a18: 68fb ldr r3, [r7, #12] 80c2a1a: 4413 add r3, r2 80c2a1c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2a20: 4618 mov r0, r3 80c2a22: 68bb ldr r3, [r7, #8] 80c2a24: 015a lsls r2, r3, #5 80c2a26: 68fb ldr r3, [r7, #12] 80c2a28: 4413 add r3, r2 80c2a2a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2a2e: 681a ldr r2, [r3, #0] 80c2a30: 683b ldr r3, [r7, #0] 80c2a32: 689b ldr r3, [r3, #8] 80c2a34: f3c3 010a ubfx r1, r3, #0, #11 ((uint32_t)ep->type << 18) | 80c2a38: 683b ldr r3, [r7, #0] 80c2a3a: 78db ldrb r3, [r3, #3] 80c2a3c: 049b lsls r3, r3, #18 USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) | 80c2a3e: 430b orrs r3, r1 80c2a40: 431a orrs r2, r3 80c2a42: 4b05 ldr r3, [pc, #20] ; (80c2a58 ) 80c2a44: 4313 orrs r3, r2 80c2a46: 6003 str r3, [r0, #0] USB_OTG_DIEPCTL_SD0PID_SEVNFRM | USB_OTG_DOEPCTL_USBAEP; } } return HAL_OK; 80c2a48: 2300 movs r3, #0 } 80c2a4a: 4618 mov r0, r3 80c2a4c: 3714 adds r7, #20 80c2a4e: 46bd mov sp, r7 80c2a50: f85d 7b04 ldr.w r7, [sp], #4 80c2a54: 4770 bx lr 80c2a56: bf00 nop 80c2a58: 10008000 .word 0x10008000 080c2a5c : * @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) { 80c2a5c: b480 push {r7} 80c2a5e: b085 sub sp, #20 80c2a60: af00 add r7, sp, #0 80c2a62: 6078 str r0, [r7, #4] 80c2a64: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80c2a66: 687b ldr r3, [r7, #4] 80c2a68: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80c2a6a: 683b ldr r3, [r7, #0] 80c2a6c: 781b ldrb r3, [r3, #0] 80c2a6e: 60bb str r3, [r7, #8] /* Read DEPCTLn register */ if (ep->is_in == 1U) 80c2a70: 683b ldr r3, [r7, #0] 80c2a72: 785b ldrb r3, [r3, #1] 80c2a74: 2b01 cmp r3, #1 80c2a76: d165 bne.n 80c2b44 { if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 80c2a78: 68bb ldr r3, [r7, #8] 80c2a7a: 015a lsls r2, r3, #5 80c2a7c: 68fb ldr r3, [r7, #12] 80c2a7e: 4413 add r3, r2 80c2a80: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2a84: 681b ldr r3, [r3, #0] 80c2a86: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80c2a8a: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80c2a8e: d121 bne.n 80c2ad4 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SNAK; 80c2a90: 68bb ldr r3, [r7, #8] 80c2a92: 015a lsls r2, r3, #5 80c2a94: 68fb ldr r3, [r7, #12] 80c2a96: 4413 add r3, r2 80c2a98: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2a9c: 4619 mov r1, r3 80c2a9e: 68bb ldr r3, [r7, #8] 80c2aa0: 015a lsls r2, r3, #5 80c2aa2: 68fb ldr r3, [r7, #12] 80c2aa4: 4413 add r3, r2 80c2aa6: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2aaa: 681b ldr r3, [r3, #0] 80c2aac: f043 6300 orr.w r3, r3, #134217728 ; 0x8000000 80c2ab0: 600b str r3, [r1, #0] USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 80c2ab2: 68bb ldr r3, [r7, #8] 80c2ab4: 015a lsls r2, r3, #5 80c2ab6: 68fb ldr r3, [r7, #12] 80c2ab8: 4413 add r3, r2 80c2aba: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2abe: 4619 mov r1, r3 80c2ac0: 68bb ldr r3, [r7, #8] 80c2ac2: 015a lsls r2, r3, #5 80c2ac4: 68fb ldr r3, [r7, #12] 80c2ac6: 4413 add r3, r2 80c2ac8: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2acc: 681b ldr r3, [r3, #0] 80c2ace: f043 4380 orr.w r3, r3, #1073741824 ; 0x40000000 80c2ad2: 600b str r3, [r1, #0] } USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 80c2ad4: 68fb ldr r3, [r7, #12] 80c2ad6: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2ada: 4618 mov r0, r3 80c2adc: 68fb ldr r3, [r7, #12] 80c2ade: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2ae2: 6bda ldr r2, [r3, #60] ; 0x3c 80c2ae4: 683b ldr r3, [r7, #0] 80c2ae6: 781b ldrb r3, [r3, #0] 80c2ae8: f003 030f and.w r3, r3, #15 80c2aec: 2101 movs r1, #1 80c2aee: fa01 f303 lsl.w r3, r1, r3 80c2af2: b29b uxth r3, r3 80c2af4: 43db mvns r3, r3 80c2af6: 4013 ands r3, r2 80c2af8: 63c3 str r3, [r0, #60] ; 0x3c USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 80c2afa: 68fb ldr r3, [r7, #12] 80c2afc: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2b00: 4618 mov r0, r3 80c2b02: 68fb ldr r3, [r7, #12] 80c2b04: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2b08: 69da ldr r2, [r3, #28] 80c2b0a: 683b ldr r3, [r7, #0] 80c2b0c: 781b ldrb r3, [r3, #0] 80c2b0e: f003 030f and.w r3, r3, #15 80c2b12: 2101 movs r1, #1 80c2b14: fa01 f303 lsl.w r3, r1, r3 80c2b18: b29b uxth r3, r3 80c2b1a: 43db mvns r3, r3 80c2b1c: 4013 ands r3, r2 80c2b1e: 61c3 str r3, [r0, #28] USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 80c2b20: 68bb ldr r3, [r7, #8] 80c2b22: 015a lsls r2, r3, #5 80c2b24: 68fb ldr r3, [r7, #12] 80c2b26: 4413 add r3, r2 80c2b28: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2b2c: 4619 mov r1, r3 80c2b2e: 68bb ldr r3, [r7, #8] 80c2b30: 015a lsls r2, r3, #5 80c2b32: 68fb ldr r3, [r7, #12] 80c2b34: 4413 add r3, r2 80c2b36: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2b3a: 681a ldr r2, [r3, #0] 80c2b3c: 4b37 ldr r3, [pc, #220] ; (80c2c1c ) 80c2b3e: 4013 ands r3, r2 80c2b40: 600b str r3, [r1, #0] 80c2b42: e064 b.n 80c2c0e USB_OTG_DIEPCTL_SD0PID_SEVNFRM | USB_OTG_DIEPCTL_EPTYP); } else { if ((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 80c2b44: 68bb ldr r3, [r7, #8] 80c2b46: 015a lsls r2, r3, #5 80c2b48: 68fb ldr r3, [r7, #12] 80c2b4a: 4413 add r3, r2 80c2b4c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2b50: 681b ldr r3, [r3, #0] 80c2b52: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80c2b56: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80c2b5a: d121 bne.n 80c2ba0 { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 80c2b5c: 68bb ldr r3, [r7, #8] 80c2b5e: 015a lsls r2, r3, #5 80c2b60: 68fb ldr r3, [r7, #12] 80c2b62: 4413 add r3, r2 80c2b64: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2b68: 4619 mov r1, r3 80c2b6a: 68bb ldr r3, [r7, #8] 80c2b6c: 015a lsls r2, r3, #5 80c2b6e: 68fb ldr r3, [r7, #12] 80c2b70: 4413 add r3, r2 80c2b72: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2b76: 681b ldr r3, [r3, #0] 80c2b78: f043 6300 orr.w r3, r3, #134217728 ; 0x8000000 80c2b7c: 600b str r3, [r1, #0] USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 80c2b7e: 68bb ldr r3, [r7, #8] 80c2b80: 015a lsls r2, r3, #5 80c2b82: 68fb ldr r3, [r7, #12] 80c2b84: 4413 add r3, r2 80c2b86: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2b8a: 4619 mov r1, r3 80c2b8c: 68bb ldr r3, [r7, #8] 80c2b8e: 015a lsls r2, r3, #5 80c2b90: 68fb ldr r3, [r7, #12] 80c2b92: 4413 add r3, r2 80c2b94: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2b98: 681b ldr r3, [r3, #0] 80c2b9a: f043 4380 orr.w r3, r3, #1073741824 ; 0x40000000 80c2b9e: 600b str r3, [r1, #0] } USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 16)); 80c2ba0: 68fb ldr r3, [r7, #12] 80c2ba2: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2ba6: 4618 mov r0, r3 80c2ba8: 68fb ldr r3, [r7, #12] 80c2baa: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2bae: 6bda ldr r2, [r3, #60] ; 0x3c 80c2bb0: 683b ldr r3, [r7, #0] 80c2bb2: 781b ldrb r3, [r3, #0] 80c2bb4: f003 030f and.w r3, r3, #15 80c2bb8: 2101 movs r1, #1 80c2bba: fa01 f303 lsl.w r3, r1, r3 80c2bbe: 041b lsls r3, r3, #16 80c2bc0: 43db mvns r3, r3 80c2bc2: 4013 ands r3, r2 80c2bc4: 63c3 str r3, [r0, #60] ; 0x3c USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 16)); 80c2bc6: 68fb ldr r3, [r7, #12] 80c2bc8: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2bcc: 4618 mov r0, r3 80c2bce: 68fb ldr r3, [r7, #12] 80c2bd0: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2bd4: 69da ldr r2, [r3, #28] 80c2bd6: 683b ldr r3, [r7, #0] 80c2bd8: 781b ldrb r3, [r3, #0] 80c2bda: f003 030f and.w r3, r3, #15 80c2bde: 2101 movs r1, #1 80c2be0: fa01 f303 lsl.w r3, r1, r3 80c2be4: 041b lsls r3, r3, #16 80c2be6: 43db mvns r3, r3 80c2be8: 4013 ands r3, r2 80c2bea: 61c3 str r3, [r0, #28] USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 80c2bec: 68bb ldr r3, [r7, #8] 80c2bee: 015a lsls r2, r3, #5 80c2bf0: 68fb ldr r3, [r7, #12] 80c2bf2: 4413 add r3, r2 80c2bf4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2bf8: 4619 mov r1, r3 80c2bfa: 68bb ldr r3, [r7, #8] 80c2bfc: 015a lsls r2, r3, #5 80c2bfe: 68fb ldr r3, [r7, #12] 80c2c00: 4413 add r3, r2 80c2c02: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2c06: 681a ldr r2, [r3, #0] 80c2c08: 4b05 ldr r3, [pc, #20] ; (80c2c20 ) 80c2c0a: 4013 ands r3, r2 80c2c0c: 600b str r3, [r1, #0] USB_OTG_DOEPCTL_MPSIZ | USB_OTG_DOEPCTL_SD0PID_SEVNFRM | USB_OTG_DOEPCTL_EPTYP); } return HAL_OK; 80c2c0e: 2300 movs r3, #0 } 80c2c10: 4618 mov r0, r3 80c2c12: 3714 adds r7, #20 80c2c14: 46bd mov sp, r7 80c2c16: f85d 7b04 ldr.w r7, [sp], #4 80c2c1a: 4770 bx lr 80c2c1c: ec337800 .word 0xec337800 80c2c20: eff37800 .word 0xeff37800 080c2c24 : * 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) { 80c2c24: b580 push {r7, lr} 80c2c26: b08a sub sp, #40 ; 0x28 80c2c28: af02 add r7, sp, #8 80c2c2a: 60f8 str r0, [r7, #12] 80c2c2c: 60b9 str r1, [r7, #8] 80c2c2e: 4613 mov r3, r2 80c2c30: 71fb strb r3, [r7, #7] uint32_t USBx_BASE = (uint32_t)USBx; 80c2c32: 68fb ldr r3, [r7, #12] 80c2c34: 61fb str r3, [r7, #28] uint32_t epnum = (uint32_t)ep->num; 80c2c36: 68bb ldr r3, [r7, #8] 80c2c38: 781b ldrb r3, [r3, #0] 80c2c3a: 61bb str r3, [r7, #24] uint16_t pktcnt; /* IN endpoint */ if (ep->is_in == 1U) 80c2c3c: 68bb ldr r3, [r7, #8] 80c2c3e: 785b ldrb r3, [r3, #1] 80c2c40: 2b01 cmp r3, #1 80c2c42: f040 816f bne.w 80c2f24 { /* Zero Length Packet? */ if (ep->xfer_len == 0U) 80c2c46: 68bb ldr r3, [r7, #8] 80c2c48: 695b ldr r3, [r3, #20] 80c2c4a: 2b00 cmp r3, #0 80c2c4c: d133 bne.n 80c2cb6 { USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80c2c4e: 69bb ldr r3, [r7, #24] 80c2c50: 015a lsls r2, r3, #5 80c2c52: 69fb ldr r3, [r7, #28] 80c2c54: 4413 add r3, r2 80c2c56: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2c5a: 4619 mov r1, r3 80c2c5c: 69bb ldr r3, [r7, #24] 80c2c5e: 015a lsls r2, r3, #5 80c2c60: 69fb ldr r3, [r7, #28] 80c2c62: 4413 add r3, r2 80c2c64: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2c68: 691a ldr r2, [r3, #16] 80c2c6a: 4bab ldr r3, [pc, #684] ; (80c2f18 ) 80c2c6c: 4013 ands r3, r2 80c2c6e: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 80c2c70: 69bb ldr r3, [r7, #24] 80c2c72: 015a lsls r2, r3, #5 80c2c74: 69fb ldr r3, [r7, #28] 80c2c76: 4413 add r3, r2 80c2c78: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2c7c: 4619 mov r1, r3 80c2c7e: 69bb ldr r3, [r7, #24] 80c2c80: 015a lsls r2, r3, #5 80c2c82: 69fb ldr r3, [r7, #28] 80c2c84: 4413 add r3, r2 80c2c86: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2c8a: 691b ldr r3, [r3, #16] 80c2c8c: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80c2c90: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 80c2c92: 69bb ldr r3, [r7, #24] 80c2c94: 015a lsls r2, r3, #5 80c2c96: 69fb ldr r3, [r7, #28] 80c2c98: 4413 add r3, r2 80c2c9a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2c9e: 4619 mov r1, r3 80c2ca0: 69bb ldr r3, [r7, #24] 80c2ca2: 015a lsls r2, r3, #5 80c2ca4: 69fb ldr r3, [r7, #28] 80c2ca6: 4413 add r3, r2 80c2ca8: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2cac: 691a ldr r2, [r3, #16] 80c2cae: 4b9b ldr r3, [pc, #620] ; (80c2f1c ) 80c2cb0: 4013 ands r3, r2 80c2cb2: 610b str r3, [r1, #16] 80c2cb4: e078 b.n 80c2da8 /* 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); 80c2cb6: 69bb ldr r3, [r7, #24] 80c2cb8: 015a lsls r2, r3, #5 80c2cba: 69fb ldr r3, [r7, #28] 80c2cbc: 4413 add r3, r2 80c2cbe: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2cc2: 4619 mov r1, r3 80c2cc4: 69bb ldr r3, [r7, #24] 80c2cc6: 015a lsls r2, r3, #5 80c2cc8: 69fb ldr r3, [r7, #28] 80c2cca: 4413 add r3, r2 80c2ccc: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2cd0: 691a ldr r2, [r3, #16] 80c2cd2: 4b92 ldr r3, [pc, #584] ; (80c2f1c ) 80c2cd4: 4013 ands r3, r2 80c2cd6: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80c2cd8: 69bb ldr r3, [r7, #24] 80c2cda: 015a lsls r2, r3, #5 80c2cdc: 69fb ldr r3, [r7, #28] 80c2cde: 4413 add r3, r2 80c2ce0: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2ce4: 4619 mov r1, r3 80c2ce6: 69bb ldr r3, [r7, #24] 80c2ce8: 015a lsls r2, r3, #5 80c2cea: 69fb ldr r3, [r7, #28] 80c2cec: 4413 add r3, r2 80c2cee: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2cf2: 691a ldr r2, [r3, #16] 80c2cf4: 4b88 ldr r3, [pc, #544] ; (80c2f18 ) 80c2cf6: 4013 ands r3, r2 80c2cf8: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & 80c2cfa: 69bb ldr r3, [r7, #24] 80c2cfc: 015a lsls r2, r3, #5 80c2cfe: 69fb ldr r3, [r7, #28] 80c2d00: 4413 add r3, r2 80c2d02: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2d06: 4618 mov r0, r3 80c2d08: 69bb ldr r3, [r7, #24] 80c2d0a: 015a lsls r2, r3, #5 80c2d0c: 69fb ldr r3, [r7, #28] 80c2d0e: 4413 add r3, r2 80c2d10: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2d14: 691a ldr r2, [r3, #16] (((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket) << 19)); 80c2d16: 68bb ldr r3, [r7, #8] 80c2d18: 6959 ldr r1, [r3, #20] 80c2d1a: 68bb ldr r3, [r7, #8] 80c2d1c: 689b ldr r3, [r3, #8] 80c2d1e: 440b add r3, r1 80c2d20: 1e59 subs r1, r3, #1 80c2d22: 68bb ldr r3, [r7, #8] 80c2d24: 689b ldr r3, [r3, #8] 80c2d26: fbb1 f3f3 udiv r3, r1, r3 80c2d2a: 04d9 lsls r1, r3, #19 USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & 80c2d2c: 4b7c ldr r3, [pc, #496] ; (80c2f20 ) 80c2d2e: 400b ands r3, r1 80c2d30: 4313 orrs r3, r2 80c2d32: 6103 str r3, [r0, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); 80c2d34: 69bb ldr r3, [r7, #24] 80c2d36: 015a lsls r2, r3, #5 80c2d38: 69fb ldr r3, [r7, #28] 80c2d3a: 4413 add r3, r2 80c2d3c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2d40: 4619 mov r1, r3 80c2d42: 69bb ldr r3, [r7, #24] 80c2d44: 015a lsls r2, r3, #5 80c2d46: 69fb ldr r3, [r7, #28] 80c2d48: 4413 add r3, r2 80c2d4a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2d4e: 691a ldr r2, [r3, #16] 80c2d50: 68bb ldr r3, [r7, #8] 80c2d52: 695b ldr r3, [r3, #20] 80c2d54: f3c3 0312 ubfx r3, r3, #0, #19 80c2d58: 4313 orrs r3, r2 80c2d5a: 610b str r3, [r1, #16] if (ep->type == EP_TYPE_ISOC) 80c2d5c: 68bb ldr r3, [r7, #8] 80c2d5e: 78db ldrb r3, [r3, #3] 80c2d60: 2b01 cmp r3, #1 80c2d62: d121 bne.n 80c2da8 { USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_MULCNT); 80c2d64: 69bb ldr r3, [r7, #24] 80c2d66: 015a lsls r2, r3, #5 80c2d68: 69fb ldr r3, [r7, #28] 80c2d6a: 4413 add r3, r2 80c2d6c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2d70: 4619 mov r1, r3 80c2d72: 69bb ldr r3, [r7, #24] 80c2d74: 015a lsls r2, r3, #5 80c2d76: 69fb ldr r3, [r7, #28] 80c2d78: 4413 add r3, r2 80c2d7a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2d7e: 691b ldr r3, [r3, #16] 80c2d80: f023 43c0 bic.w r3, r3, #1610612736 ; 0x60000000 80c2d84: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & (1U << 29)); 80c2d86: 69bb ldr r3, [r7, #24] 80c2d88: 015a lsls r2, r3, #5 80c2d8a: 69fb ldr r3, [r7, #28] 80c2d8c: 4413 add r3, r2 80c2d8e: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2d92: 4619 mov r1, r3 80c2d94: 69bb ldr r3, [r7, #24] 80c2d96: 015a lsls r2, r3, #5 80c2d98: 69fb ldr r3, [r7, #28] 80c2d9a: 4413 add r3, r2 80c2d9c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2da0: 691b ldr r3, [r3, #16] 80c2da2: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80c2da6: 610b str r3, [r1, #16] } } if (dma == 1U) 80c2da8: 79fb ldrb r3, [r7, #7] 80c2daa: 2b01 cmp r3, #1 80c2dac: d14e bne.n 80c2e4c { if ((uint32_t)ep->dma_addr != 0U) 80c2dae: 68bb ldr r3, [r7, #8] 80c2db0: 691b ldr r3, [r3, #16] 80c2db2: 2b00 cmp r3, #0 80c2db4: d009 beq.n 80c2dca { USBx_INEP(epnum)->DIEPDMA = (uint32_t)(ep->dma_addr); 80c2db6: 69bb ldr r3, [r7, #24] 80c2db8: 015a lsls r2, r3, #5 80c2dba: 69fb ldr r3, [r7, #28] 80c2dbc: 4413 add r3, r2 80c2dbe: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2dc2: 461a mov r2, r3 80c2dc4: 68bb ldr r3, [r7, #8] 80c2dc6: 691b ldr r3, [r3, #16] 80c2dc8: 6153 str r3, [r2, #20] } if (ep->type == EP_TYPE_ISOC) 80c2dca: 68bb ldr r3, [r7, #8] 80c2dcc: 78db ldrb r3, [r3, #3] 80c2dce: 2b01 cmp r3, #1 80c2dd0: d12a bne.n 80c2e28 { if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 80c2dd2: 69fb ldr r3, [r7, #28] 80c2dd4: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2dd8: 689b ldr r3, [r3, #8] 80c2dda: f403 7380 and.w r3, r3, #256 ; 0x100 80c2dde: 2b00 cmp r3, #0 80c2de0: d111 bne.n 80c2e06 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM; 80c2de2: 69bb ldr r3, [r7, #24] 80c2de4: 015a lsls r2, r3, #5 80c2de6: 69fb ldr r3, [r7, #28] 80c2de8: 4413 add r3, r2 80c2dea: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2dee: 4619 mov r1, r3 80c2df0: 69bb ldr r3, [r7, #24] 80c2df2: 015a lsls r2, r3, #5 80c2df4: 69fb ldr r3, [r7, #28] 80c2df6: 4413 add r3, r2 80c2df8: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2dfc: 681b ldr r3, [r3, #0] 80c2dfe: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80c2e02: 600b str r3, [r1, #0] 80c2e04: e010 b.n 80c2e28 } else { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; 80c2e06: 69bb ldr r3, [r7, #24] 80c2e08: 015a lsls r2, r3, #5 80c2e0a: 69fb ldr r3, [r7, #28] 80c2e0c: 4413 add r3, r2 80c2e0e: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2e12: 4619 mov r1, r3 80c2e14: 69bb ldr r3, [r7, #24] 80c2e16: 015a lsls r2, r3, #5 80c2e18: 69fb ldr r3, [r7, #28] 80c2e1a: 4413 add r3, r2 80c2e1c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2e20: 681b ldr r3, [r3, #0] 80c2e22: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80c2e26: 600b str r3, [r1, #0] } } /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80c2e28: 69bb ldr r3, [r7, #24] 80c2e2a: 015a lsls r2, r3, #5 80c2e2c: 69fb ldr r3, [r7, #28] 80c2e2e: 4413 add r3, r2 80c2e30: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2e34: 4619 mov r1, r3 80c2e36: 69bb ldr r3, [r7, #24] 80c2e38: 015a lsls r2, r3, #5 80c2e3a: 69fb ldr r3, [r7, #28] 80c2e3c: 4413 add r3, r2 80c2e3e: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2e42: 681b ldr r3, [r3, #0] 80c2e44: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80c2e48: 600b str r3, [r1, #0] 80c2e4a: e13e b.n 80c30ca } else { /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80c2e4c: 69bb ldr r3, [r7, #24] 80c2e4e: 015a lsls r2, r3, #5 80c2e50: 69fb ldr r3, [r7, #28] 80c2e52: 4413 add r3, r2 80c2e54: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2e58: 4619 mov r1, r3 80c2e5a: 69bb ldr r3, [r7, #24] 80c2e5c: 015a lsls r2, r3, #5 80c2e5e: 69fb ldr r3, [r7, #28] 80c2e60: 4413 add r3, r2 80c2e62: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2e66: 681b ldr r3, [r3, #0] 80c2e68: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80c2e6c: 600b str r3, [r1, #0] if (ep->type != EP_TYPE_ISOC) 80c2e6e: 68bb ldr r3, [r7, #8] 80c2e70: 78db ldrb r3, [r3, #3] 80c2e72: 2b01 cmp r3, #1 80c2e74: d016 beq.n 80c2ea4 { /* Enable the Tx FIFO Empty Interrupt for this EP */ if (ep->xfer_len > 0U) 80c2e76: 68bb ldr r3, [r7, #8] 80c2e78: 695b ldr r3, [r3, #20] 80c2e7a: 2b00 cmp r3, #0 80c2e7c: f000 8125 beq.w 80c30ca { USBx_DEVICE->DIEPEMPMSK |= 1UL << (ep->num & EP_ADDR_MSK); 80c2e80: 69fb ldr r3, [r7, #28] 80c2e82: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2e86: 4618 mov r0, r3 80c2e88: 69fb ldr r3, [r7, #28] 80c2e8a: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2e8e: 6b5a ldr r2, [r3, #52] ; 0x34 80c2e90: 68bb ldr r3, [r7, #8] 80c2e92: 781b ldrb r3, [r3, #0] 80c2e94: f003 030f and.w r3, r3, #15 80c2e98: 2101 movs r1, #1 80c2e9a: fa01 f303 lsl.w r3, r1, r3 80c2e9e: 4313 orrs r3, r2 80c2ea0: 6343 str r3, [r0, #52] ; 0x34 80c2ea2: e112 b.n 80c30ca } } else { if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 80c2ea4: 69fb ldr r3, [r7, #28] 80c2ea6: f503 6300 add.w r3, r3, #2048 ; 0x800 80c2eaa: 689b ldr r3, [r3, #8] 80c2eac: f403 7380 and.w r3, r3, #256 ; 0x100 80c2eb0: 2b00 cmp r3, #0 80c2eb2: d111 bne.n 80c2ed8 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM; 80c2eb4: 69bb ldr r3, [r7, #24] 80c2eb6: 015a lsls r2, r3, #5 80c2eb8: 69fb ldr r3, [r7, #28] 80c2eba: 4413 add r3, r2 80c2ebc: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2ec0: 4619 mov r1, r3 80c2ec2: 69bb ldr r3, [r7, #24] 80c2ec4: 015a lsls r2, r3, #5 80c2ec6: 69fb ldr r3, [r7, #28] 80c2ec8: 4413 add r3, r2 80c2eca: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2ece: 681b ldr r3, [r3, #0] 80c2ed0: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80c2ed4: 600b str r3, [r1, #0] 80c2ed6: e010 b.n 80c2efa } else { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; 80c2ed8: 69bb ldr r3, [r7, #24] 80c2eda: 015a lsls r2, r3, #5 80c2edc: 69fb ldr r3, [r7, #28] 80c2ede: 4413 add r3, r2 80c2ee0: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2ee4: 4619 mov r1, r3 80c2ee6: 69bb ldr r3, [r7, #24] 80c2ee8: 015a lsls r2, r3, #5 80c2eea: 69fb ldr r3, [r7, #28] 80c2eec: 4413 add r3, r2 80c2eee: f503 6310 add.w r3, r3, #2304 ; 0x900 80c2ef2: 681b ldr r3, [r3, #0] 80c2ef4: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80c2ef8: 600b str r3, [r1, #0] } (void)USB_WritePacket(USBx, ep->xfer_buff, ep->num, (uint16_t)ep->xfer_len, dma); 80c2efa: 68bb ldr r3, [r7, #8] 80c2efc: 68d9 ldr r1, [r3, #12] 80c2efe: 68bb ldr r3, [r7, #8] 80c2f00: 781a ldrb r2, [r3, #0] 80c2f02: 68bb ldr r3, [r7, #8] 80c2f04: 695b ldr r3, [r3, #20] 80c2f06: b298 uxth r0, r3 80c2f08: 79fb ldrb r3, [r7, #7] 80c2f0a: 9300 str r3, [sp, #0] 80c2f0c: 4603 mov r3, r0 80c2f0e: 68f8 ldr r0, [r7, #12] 80c2f10: f000 fa48 bl 80c33a4 80c2f14: e0d9 b.n 80c30ca 80c2f16: bf00 nop 80c2f18: e007ffff .word 0xe007ffff 80c2f1c: fff80000 .word 0xfff80000 80c2f20: 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); 80c2f24: 69bb ldr r3, [r7, #24] 80c2f26: 015a lsls r2, r3, #5 80c2f28: 69fb ldr r3, [r7, #28] 80c2f2a: 4413 add r3, r2 80c2f2c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2f30: 4619 mov r1, r3 80c2f32: 69bb ldr r3, [r7, #24] 80c2f34: 015a lsls r2, r3, #5 80c2f36: 69fb ldr r3, [r7, #28] 80c2f38: 4413 add r3, r2 80c2f3a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2f3e: 691a ldr r2, [r3, #16] 80c2f40: 4b64 ldr r3, [pc, #400] ; (80c30d4 ) 80c2f42: 4013 ands r3, r2 80c2f44: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 80c2f46: 69bb ldr r3, [r7, #24] 80c2f48: 015a lsls r2, r3, #5 80c2f4a: 69fb ldr r3, [r7, #28] 80c2f4c: 4413 add r3, r2 80c2f4e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2f52: 4619 mov r1, r3 80c2f54: 69bb ldr r3, [r7, #24] 80c2f56: 015a lsls r2, r3, #5 80c2f58: 69fb ldr r3, [r7, #28] 80c2f5a: 4413 add r3, r2 80c2f5c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2f60: 691a ldr r2, [r3, #16] 80c2f62: 4b5d ldr r3, [pc, #372] ; (80c30d8 ) 80c2f64: 4013 ands r3, r2 80c2f66: 610b str r3, [r1, #16] if (ep->xfer_len == 0U) 80c2f68: 68bb ldr r3, [r7, #8] 80c2f6a: 695b ldr r3, [r3, #20] 80c2f6c: 2b00 cmp r3, #0 80c2f6e: d125 bne.n 80c2fbc { USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & ep->maxpacket); 80c2f70: 69bb ldr r3, [r7, #24] 80c2f72: 015a lsls r2, r3, #5 80c2f74: 69fb ldr r3, [r7, #28] 80c2f76: 4413 add r3, r2 80c2f78: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2f7c: 4619 mov r1, r3 80c2f7e: 69bb ldr r3, [r7, #24] 80c2f80: 015a lsls r2, r3, #5 80c2f82: 69fb ldr r3, [r7, #28] 80c2f84: 4413 add r3, r2 80c2f86: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2f8a: 691a ldr r2, [r3, #16] 80c2f8c: 68bb ldr r3, [r7, #8] 80c2f8e: 689b ldr r3, [r3, #8] 80c2f90: f3c3 0312 ubfx r3, r3, #0, #19 80c2f94: 4313 orrs r3, r2 80c2f96: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 80c2f98: 69bb ldr r3, [r7, #24] 80c2f9a: 015a lsls r2, r3, #5 80c2f9c: 69fb ldr r3, [r7, #28] 80c2f9e: 4413 add r3, r2 80c2fa0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2fa4: 4619 mov r1, r3 80c2fa6: 69bb ldr r3, [r7, #24] 80c2fa8: 015a lsls r2, r3, #5 80c2faa: 69fb ldr r3, [r7, #28] 80c2fac: 4413 add r3, r2 80c2fae: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2fb2: 691b ldr r3, [r3, #16] 80c2fb4: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80c2fb8: 610b str r3, [r1, #16] 80c2fba: e035 b.n 80c3028 } else { pktcnt = (uint16_t)((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket); 80c2fbc: 68bb ldr r3, [r7, #8] 80c2fbe: 695a ldr r2, [r3, #20] 80c2fc0: 68bb ldr r3, [r7, #8] 80c2fc2: 689b ldr r3, [r3, #8] 80c2fc4: 4413 add r3, r2 80c2fc6: 1e5a subs r2, r3, #1 80c2fc8: 68bb ldr r3, [r7, #8] 80c2fca: 689b ldr r3, [r3, #8] 80c2fcc: fbb2 f3f3 udiv r3, r2, r3 80c2fd0: 82fb strh r3, [r7, #22] USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19); 80c2fd2: 69bb ldr r3, [r7, #24] 80c2fd4: 015a lsls r2, r3, #5 80c2fd6: 69fb ldr r3, [r7, #28] 80c2fd8: 4413 add r3, r2 80c2fda: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2fde: 4618 mov r0, r3 80c2fe0: 69bb ldr r3, [r7, #24] 80c2fe2: 015a lsls r2, r3, #5 80c2fe4: 69fb ldr r3, [r7, #28] 80c2fe6: 4413 add r3, r2 80c2fe8: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c2fec: 691a ldr r2, [r3, #16] 80c2fee: 8afb ldrh r3, [r7, #22] 80c2ff0: 04d9 lsls r1, r3, #19 80c2ff2: 4b3a ldr r3, [pc, #232] ; (80c30dc ) 80c2ff4: 400b ands r3, r1 80c2ff6: 4313 orrs r3, r2 80c2ff8: 6103 str r3, [r0, #16] USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket * pktcnt); 80c2ffa: 69bb ldr r3, [r7, #24] 80c2ffc: 015a lsls r2, r3, #5 80c2ffe: 69fb ldr r3, [r7, #28] 80c3000: 4413 add r3, r2 80c3002: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3006: 4618 mov r0, r3 80c3008: 69bb ldr r3, [r7, #24] 80c300a: 015a lsls r2, r3, #5 80c300c: 69fb ldr r3, [r7, #28] 80c300e: 4413 add r3, r2 80c3010: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3014: 691a ldr r2, [r3, #16] 80c3016: 68bb ldr r3, [r7, #8] 80c3018: 689b ldr r3, [r3, #8] 80c301a: 8af9 ldrh r1, [r7, #22] 80c301c: fb01 f303 mul.w r3, r1, r3 80c3020: f3c3 0312 ubfx r3, r3, #0, #19 80c3024: 4313 orrs r3, r2 80c3026: 6103 str r3, [r0, #16] } if (dma == 1U) 80c3028: 79fb ldrb r3, [r7, #7] 80c302a: 2b01 cmp r3, #1 80c302c: d10d bne.n 80c304a { if ((uint32_t)ep->xfer_buff != 0U) 80c302e: 68bb ldr r3, [r7, #8] 80c3030: 68db ldr r3, [r3, #12] 80c3032: 2b00 cmp r3, #0 80c3034: d009 beq.n 80c304a { USBx_OUTEP(epnum)->DOEPDMA = (uint32_t)(ep->xfer_buff); 80c3036: 69bb ldr r3, [r7, #24] 80c3038: 015a lsls r2, r3, #5 80c303a: 69fb ldr r3, [r7, #28] 80c303c: 4413 add r3, r2 80c303e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3042: 461a mov r2, r3 80c3044: 68bb ldr r3, [r7, #8] 80c3046: 68db ldr r3, [r3, #12] 80c3048: 6153 str r3, [r2, #20] } } if (ep->type == EP_TYPE_ISOC) 80c304a: 68bb ldr r3, [r7, #8] 80c304c: 78db ldrb r3, [r3, #3] 80c304e: 2b01 cmp r3, #1 80c3050: d12a bne.n 80c30a8 { if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 80c3052: 69fb ldr r3, [r7, #28] 80c3054: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3058: 689b ldr r3, [r3, #8] 80c305a: f403 7380 and.w r3, r3, #256 ; 0x100 80c305e: 2b00 cmp r3, #0 80c3060: d111 bne.n 80c3086 { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SODDFRM; 80c3062: 69bb ldr r3, [r7, #24] 80c3064: 015a lsls r2, r3, #5 80c3066: 69fb ldr r3, [r7, #28] 80c3068: 4413 add r3, r2 80c306a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c306e: 4619 mov r1, r3 80c3070: 69bb ldr r3, [r7, #24] 80c3072: 015a lsls r2, r3, #5 80c3074: 69fb ldr r3, [r7, #28] 80c3076: 4413 add r3, r2 80c3078: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c307c: 681b ldr r3, [r3, #0] 80c307e: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80c3082: 600b str r3, [r1, #0] 80c3084: e010 b.n 80c30a8 } else { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; 80c3086: 69bb ldr r3, [r7, #24] 80c3088: 015a lsls r2, r3, #5 80c308a: 69fb ldr r3, [r7, #28] 80c308c: 4413 add r3, r2 80c308e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3092: 4619 mov r1, r3 80c3094: 69bb ldr r3, [r7, #24] 80c3096: 015a lsls r2, r3, #5 80c3098: 69fb ldr r3, [r7, #28] 80c309a: 4413 add r3, r2 80c309c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c30a0: 681b ldr r3, [r3, #0] 80c30a2: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80c30a6: 600b str r3, [r1, #0] } } /* EP enable */ USBx_OUTEP(epnum)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA); 80c30a8: 69bb ldr r3, [r7, #24] 80c30aa: 015a lsls r2, r3, #5 80c30ac: 69fb ldr r3, [r7, #28] 80c30ae: 4413 add r3, r2 80c30b0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c30b4: 4619 mov r1, r3 80c30b6: 69bb ldr r3, [r7, #24] 80c30b8: 015a lsls r2, r3, #5 80c30ba: 69fb ldr r3, [r7, #28] 80c30bc: 4413 add r3, r2 80c30be: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c30c2: 681b ldr r3, [r3, #0] 80c30c4: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80c30c8: 600b str r3, [r1, #0] } return HAL_OK; 80c30ca: 2300 movs r3, #0 } 80c30cc: 4618 mov r0, r3 80c30ce: 3720 adds r7, #32 80c30d0: 46bd mov sp, r7 80c30d2: bd80 pop {r7, pc} 80c30d4: fff80000 .word 0xfff80000 80c30d8: e007ffff .word 0xe007ffff 80c30dc: 1ff80000 .word 0x1ff80000 080c30e0 : * 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) { 80c30e0: b480 push {r7} 80c30e2: b087 sub sp, #28 80c30e4: af00 add r7, sp, #0 80c30e6: 60f8 str r0, [r7, #12] 80c30e8: 60b9 str r1, [r7, #8] 80c30ea: 4613 mov r3, r2 80c30ec: 71fb strb r3, [r7, #7] uint32_t USBx_BASE = (uint32_t)USBx; 80c30ee: 68fb ldr r3, [r7, #12] 80c30f0: 617b str r3, [r7, #20] uint32_t epnum = (uint32_t)ep->num; 80c30f2: 68bb ldr r3, [r7, #8] 80c30f4: 781b ldrb r3, [r3, #0] 80c30f6: 613b str r3, [r7, #16] /* IN endpoint */ if (ep->is_in == 1U) 80c30f8: 68bb ldr r3, [r7, #8] 80c30fa: 785b ldrb r3, [r3, #1] 80c30fc: 2b01 cmp r3, #1 80c30fe: f040 80d4 bne.w 80c32aa { /* Zero Length Packet? */ if (ep->xfer_len == 0U) 80c3102: 68bb ldr r3, [r7, #8] 80c3104: 695b ldr r3, [r3, #20] 80c3106: 2b00 cmp r3, #0 80c3108: d133 bne.n 80c3172 { USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80c310a: 693b ldr r3, [r7, #16] 80c310c: 015a lsls r2, r3, #5 80c310e: 697b ldr r3, [r7, #20] 80c3110: 4413 add r3, r2 80c3112: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3116: 4619 mov r1, r3 80c3118: 693b ldr r3, [r7, #16] 80c311a: 015a lsls r2, r3, #5 80c311c: 697b ldr r3, [r7, #20] 80c311e: 4413 add r3, r2 80c3120: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3124: 691a ldr r2, [r3, #16] 80c3126: 4b9d ldr r3, [pc, #628] ; (80c339c ) 80c3128: 4013 ands r3, r2 80c312a: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 80c312c: 693b ldr r3, [r7, #16] 80c312e: 015a lsls r2, r3, #5 80c3130: 697b ldr r3, [r7, #20] 80c3132: 4413 add r3, r2 80c3134: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3138: 4619 mov r1, r3 80c313a: 693b ldr r3, [r7, #16] 80c313c: 015a lsls r2, r3, #5 80c313e: 697b ldr r3, [r7, #20] 80c3140: 4413 add r3, r2 80c3142: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3146: 691b ldr r3, [r3, #16] 80c3148: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80c314c: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 80c314e: 693b ldr r3, [r7, #16] 80c3150: 015a lsls r2, r3, #5 80c3152: 697b ldr r3, [r7, #20] 80c3154: 4413 add r3, r2 80c3156: f503 6310 add.w r3, r3, #2304 ; 0x900 80c315a: 4619 mov r1, r3 80c315c: 693b ldr r3, [r7, #16] 80c315e: 015a lsls r2, r3, #5 80c3160: 697b ldr r3, [r7, #20] 80c3162: 4413 add r3, r2 80c3164: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3168: 691a ldr r2, [r3, #16] 80c316a: 4b8d ldr r3, [pc, #564] ; (80c33a0 ) 80c316c: 4013 ands r3, r2 80c316e: 610b str r3, [r1, #16] 80c3170: e050 b.n 80c3214 /* 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); 80c3172: 693b ldr r3, [r7, #16] 80c3174: 015a lsls r2, r3, #5 80c3176: 697b ldr r3, [r7, #20] 80c3178: 4413 add r3, r2 80c317a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c317e: 4619 mov r1, r3 80c3180: 693b ldr r3, [r7, #16] 80c3182: 015a lsls r2, r3, #5 80c3184: 697b ldr r3, [r7, #20] 80c3186: 4413 add r3, r2 80c3188: f503 6310 add.w r3, r3, #2304 ; 0x900 80c318c: 691a ldr r2, [r3, #16] 80c318e: 4b84 ldr r3, [pc, #528] ; (80c33a0 ) 80c3190: 4013 ands r3, r2 80c3192: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80c3194: 693b ldr r3, [r7, #16] 80c3196: 015a lsls r2, r3, #5 80c3198: 697b ldr r3, [r7, #20] 80c319a: 4413 add r3, r2 80c319c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c31a0: 4619 mov r1, r3 80c31a2: 693b ldr r3, [r7, #16] 80c31a4: 015a lsls r2, r3, #5 80c31a6: 697b ldr r3, [r7, #20] 80c31a8: 4413 add r3, r2 80c31aa: f503 6310 add.w r3, r3, #2304 ; 0x900 80c31ae: 691a ldr r2, [r3, #16] 80c31b0: 4b7a ldr r3, [pc, #488] ; (80c339c ) 80c31b2: 4013 ands r3, r2 80c31b4: 610b str r3, [r1, #16] if (ep->xfer_len > ep->maxpacket) 80c31b6: 68bb ldr r3, [r7, #8] 80c31b8: 695a ldr r2, [r3, #20] 80c31ba: 68bb ldr r3, [r7, #8] 80c31bc: 689b ldr r3, [r3, #8] 80c31be: 429a cmp r2, r3 80c31c0: d903 bls.n 80c31ca { ep->xfer_len = ep->maxpacket; 80c31c2: 68bb ldr r3, [r7, #8] 80c31c4: 689a ldr r2, [r3, #8] 80c31c6: 68bb ldr r3, [r7, #8] 80c31c8: 615a str r2, [r3, #20] } USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 80c31ca: 693b ldr r3, [r7, #16] 80c31cc: 015a lsls r2, r3, #5 80c31ce: 697b ldr r3, [r7, #20] 80c31d0: 4413 add r3, r2 80c31d2: f503 6310 add.w r3, r3, #2304 ; 0x900 80c31d6: 4619 mov r1, r3 80c31d8: 693b ldr r3, [r7, #16] 80c31da: 015a lsls r2, r3, #5 80c31dc: 697b ldr r3, [r7, #20] 80c31de: 4413 add r3, r2 80c31e0: f503 6310 add.w r3, r3, #2304 ; 0x900 80c31e4: 691b ldr r3, [r3, #16] 80c31e6: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80c31ea: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); 80c31ec: 693b ldr r3, [r7, #16] 80c31ee: 015a lsls r2, r3, #5 80c31f0: 697b ldr r3, [r7, #20] 80c31f2: 4413 add r3, r2 80c31f4: f503 6310 add.w r3, r3, #2304 ; 0x900 80c31f8: 4619 mov r1, r3 80c31fa: 693b ldr r3, [r7, #16] 80c31fc: 015a lsls r2, r3, #5 80c31fe: 697b ldr r3, [r7, #20] 80c3200: 4413 add r3, r2 80c3202: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3206: 691a ldr r2, [r3, #16] 80c3208: 68bb ldr r3, [r7, #8] 80c320a: 695b ldr r3, [r3, #20] 80c320c: f3c3 0312 ubfx r3, r3, #0, #19 80c3210: 4313 orrs r3, r2 80c3212: 610b str r3, [r1, #16] } if (dma == 1U) 80c3214: 79fb ldrb r3, [r7, #7] 80c3216: 2b01 cmp r3, #1 80c3218: d11f bne.n 80c325a { if ((uint32_t)ep->dma_addr != 0U) 80c321a: 68bb ldr r3, [r7, #8] 80c321c: 691b ldr r3, [r3, #16] 80c321e: 2b00 cmp r3, #0 80c3220: d009 beq.n 80c3236 { USBx_INEP(epnum)->DIEPDMA = (uint32_t)(ep->dma_addr); 80c3222: 693b ldr r3, [r7, #16] 80c3224: 015a lsls r2, r3, #5 80c3226: 697b ldr r3, [r7, #20] 80c3228: 4413 add r3, r2 80c322a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c322e: 461a mov r2, r3 80c3230: 68bb ldr r3, [r7, #8] 80c3232: 691b ldr r3, [r3, #16] 80c3234: 6153 str r3, [r2, #20] } /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80c3236: 693b ldr r3, [r7, #16] 80c3238: 015a lsls r2, r3, #5 80c323a: 697b ldr r3, [r7, #20] 80c323c: 4413 add r3, r2 80c323e: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3242: 4619 mov r1, r3 80c3244: 693b ldr r3, [r7, #16] 80c3246: 015a lsls r2, r3, #5 80c3248: 697b ldr r3, [r7, #20] 80c324a: 4413 add r3, r2 80c324c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3250: 681b ldr r3, [r3, #0] 80c3252: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80c3256: 600b str r3, [r1, #0] 80c3258: e098 b.n 80c338c } else { /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80c325a: 693b ldr r3, [r7, #16] 80c325c: 015a lsls r2, r3, #5 80c325e: 697b ldr r3, [r7, #20] 80c3260: 4413 add r3, r2 80c3262: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3266: 4619 mov r1, r3 80c3268: 693b ldr r3, [r7, #16] 80c326a: 015a lsls r2, r3, #5 80c326c: 697b ldr r3, [r7, #20] 80c326e: 4413 add r3, r2 80c3270: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3274: 681b ldr r3, [r3, #0] 80c3276: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80c327a: 600b str r3, [r1, #0] /* Enable the Tx FIFO Empty Interrupt for this EP */ if (ep->xfer_len > 0U) 80c327c: 68bb ldr r3, [r7, #8] 80c327e: 695b ldr r3, [r3, #20] 80c3280: 2b00 cmp r3, #0 80c3282: f000 8083 beq.w 80c338c { USBx_DEVICE->DIEPEMPMSK |= 1UL << (ep->num & EP_ADDR_MSK); 80c3286: 697b ldr r3, [r7, #20] 80c3288: f503 6300 add.w r3, r3, #2048 ; 0x800 80c328c: 4618 mov r0, r3 80c328e: 697b ldr r3, [r7, #20] 80c3290: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3294: 6b5a ldr r2, [r3, #52] ; 0x34 80c3296: 68bb ldr r3, [r7, #8] 80c3298: 781b ldrb r3, [r3, #0] 80c329a: f003 030f and.w r3, r3, #15 80c329e: 2101 movs r1, #1 80c32a0: fa01 f303 lsl.w r3, r1, r3 80c32a4: 4313 orrs r3, r2 80c32a6: 6343 str r3, [r0, #52] ; 0x34 80c32a8: e070 b.n 80c338c { /* Program the transfer size and packet count as follows: * pktcnt = N * xfersize = N * maxpacket */ USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_XFRSIZ); 80c32aa: 693b ldr r3, [r7, #16] 80c32ac: 015a lsls r2, r3, #5 80c32ae: 697b ldr r3, [r7, #20] 80c32b0: 4413 add r3, r2 80c32b2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c32b6: 4619 mov r1, r3 80c32b8: 693b ldr r3, [r7, #16] 80c32ba: 015a lsls r2, r3, #5 80c32bc: 697b ldr r3, [r7, #20] 80c32be: 4413 add r3, r2 80c32c0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c32c4: 691a ldr r2, [r3, #16] 80c32c6: 4b36 ldr r3, [pc, #216] ; (80c33a0 ) 80c32c8: 4013 ands r3, r2 80c32ca: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 80c32cc: 693b ldr r3, [r7, #16] 80c32ce: 015a lsls r2, r3, #5 80c32d0: 697b ldr r3, [r7, #20] 80c32d2: 4413 add r3, r2 80c32d4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c32d8: 4619 mov r1, r3 80c32da: 693b ldr r3, [r7, #16] 80c32dc: 015a lsls r2, r3, #5 80c32de: 697b ldr r3, [r7, #20] 80c32e0: 4413 add r3, r2 80c32e2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c32e6: 691a ldr r2, [r3, #16] 80c32e8: 4b2c ldr r3, [pc, #176] ; (80c339c ) 80c32ea: 4013 ands r3, r2 80c32ec: 610b str r3, [r1, #16] if (ep->xfer_len > 0U) 80c32ee: 68bb ldr r3, [r7, #8] 80c32f0: 695b ldr r3, [r3, #20] 80c32f2: 2b00 cmp r3, #0 80c32f4: d003 beq.n 80c32fe { ep->xfer_len = ep->maxpacket; 80c32f6: 68bb ldr r3, [r7, #8] 80c32f8: 689a ldr r2, [r3, #8] 80c32fa: 68bb ldr r3, [r7, #8] 80c32fc: 615a str r2, [r3, #20] } USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 80c32fe: 693b ldr r3, [r7, #16] 80c3300: 015a lsls r2, r3, #5 80c3302: 697b ldr r3, [r7, #20] 80c3304: 4413 add r3, r2 80c3306: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c330a: 4619 mov r1, r3 80c330c: 693b ldr r3, [r7, #16] 80c330e: 015a lsls r2, r3, #5 80c3310: 697b ldr r3, [r7, #20] 80c3312: 4413 add r3, r2 80c3314: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3318: 691b ldr r3, [r3, #16] 80c331a: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80c331e: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket)); 80c3320: 693b ldr r3, [r7, #16] 80c3322: 015a lsls r2, r3, #5 80c3324: 697b ldr r3, [r7, #20] 80c3326: 4413 add r3, r2 80c3328: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c332c: 4619 mov r1, r3 80c332e: 693b ldr r3, [r7, #16] 80c3330: 015a lsls r2, r3, #5 80c3332: 697b ldr r3, [r7, #20] 80c3334: 4413 add r3, r2 80c3336: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c333a: 691a ldr r2, [r3, #16] 80c333c: 68bb ldr r3, [r7, #8] 80c333e: 689b ldr r3, [r3, #8] 80c3340: f3c3 0312 ubfx r3, r3, #0, #19 80c3344: 4313 orrs r3, r2 80c3346: 610b str r3, [r1, #16] if (dma == 1U) 80c3348: 79fb ldrb r3, [r7, #7] 80c334a: 2b01 cmp r3, #1 80c334c: d10d bne.n 80c336a { if ((uint32_t)ep->xfer_buff != 0U) 80c334e: 68bb ldr r3, [r7, #8] 80c3350: 68db ldr r3, [r3, #12] 80c3352: 2b00 cmp r3, #0 80c3354: d009 beq.n 80c336a { USBx_OUTEP(epnum)->DOEPDMA = (uint32_t)(ep->xfer_buff); 80c3356: 693b ldr r3, [r7, #16] 80c3358: 015a lsls r2, r3, #5 80c335a: 697b ldr r3, [r7, #20] 80c335c: 4413 add r3, r2 80c335e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3362: 461a mov r2, r3 80c3364: 68bb ldr r3, [r7, #8] 80c3366: 68db ldr r3, [r3, #12] 80c3368: 6153 str r3, [r2, #20] } } /* EP enable */ USBx_OUTEP(epnum)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA); 80c336a: 693b ldr r3, [r7, #16] 80c336c: 015a lsls r2, r3, #5 80c336e: 697b ldr r3, [r7, #20] 80c3370: 4413 add r3, r2 80c3372: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3376: 4619 mov r1, r3 80c3378: 693b ldr r3, [r7, #16] 80c337a: 015a lsls r2, r3, #5 80c337c: 697b ldr r3, [r7, #20] 80c337e: 4413 add r3, r2 80c3380: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3384: 681b ldr r3, [r3, #0] 80c3386: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80c338a: 600b str r3, [r1, #0] } return HAL_OK; 80c338c: 2300 movs r3, #0 } 80c338e: 4618 mov r0, r3 80c3390: 371c adds r7, #28 80c3392: 46bd mov sp, r7 80c3394: f85d 7b04 ldr.w r7, [sp], #4 80c3398: 4770 bx lr 80c339a: bf00 nop 80c339c: e007ffff .word 0xe007ffff 80c33a0: fff80000 .word 0xfff80000 080c33a4 : * 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) { 80c33a4: b480 push {r7} 80c33a6: b089 sub sp, #36 ; 0x24 80c33a8: af00 add r7, sp, #0 80c33aa: 60f8 str r0, [r7, #12] 80c33ac: 60b9 str r1, [r7, #8] 80c33ae: 4611 mov r1, r2 80c33b0: 461a mov r2, r3 80c33b2: 460b mov r3, r1 80c33b4: 71fb strb r3, [r7, #7] 80c33b6: 4613 mov r3, r2 80c33b8: 80bb strh r3, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c33ba: 68fb ldr r3, [r7, #12] 80c33bc: 617b str r3, [r7, #20] uint8_t *pSrc = src; 80c33be: 68bb ldr r3, [r7, #8] 80c33c0: 61fb str r3, [r7, #28] uint32_t count32b; uint32_t i; if (dma == 0U) 80c33c2: f897 3028 ldrb.w r3, [r7, #40] ; 0x28 80c33c6: 2b00 cmp r3, #0 80c33c8: d123 bne.n 80c3412 { count32b = ((uint32_t)len + 3U) / 4U; 80c33ca: 88bb ldrh r3, [r7, #4] 80c33cc: 3303 adds r3, #3 80c33ce: 089b lsrs r3, r3, #2 80c33d0: 613b str r3, [r7, #16] for (i = 0U; i < count32b; i++) 80c33d2: 2300 movs r3, #0 80c33d4: 61bb str r3, [r7, #24] 80c33d6: e018 b.n 80c340a { USBx_DFIFO((uint32_t)ch_ep_num) = __UNALIGNED_UINT32_READ(pSrc); 80c33d8: 79fb ldrb r3, [r7, #7] 80c33da: 031a lsls r2, r3, #12 80c33dc: 697b ldr r3, [r7, #20] 80c33de: 4413 add r3, r2 80c33e0: f503 5380 add.w r3, r3, #4096 ; 0x1000 80c33e4: 461a mov r2, r3 80c33e6: 69fb ldr r3, [r7, #28] 80c33e8: 681b ldr r3, [r3, #0] 80c33ea: 6013 str r3, [r2, #0] pSrc++; 80c33ec: 69fb ldr r3, [r7, #28] 80c33ee: 3301 adds r3, #1 80c33f0: 61fb str r3, [r7, #28] pSrc++; 80c33f2: 69fb ldr r3, [r7, #28] 80c33f4: 3301 adds r3, #1 80c33f6: 61fb str r3, [r7, #28] pSrc++; 80c33f8: 69fb ldr r3, [r7, #28] 80c33fa: 3301 adds r3, #1 80c33fc: 61fb str r3, [r7, #28] pSrc++; 80c33fe: 69fb ldr r3, [r7, #28] 80c3400: 3301 adds r3, #1 80c3402: 61fb str r3, [r7, #28] for (i = 0U; i < count32b; i++) 80c3404: 69bb ldr r3, [r7, #24] 80c3406: 3301 adds r3, #1 80c3408: 61bb str r3, [r7, #24] 80c340a: 69ba ldr r2, [r7, #24] 80c340c: 693b ldr r3, [r7, #16] 80c340e: 429a cmp r2, r3 80c3410: d3e2 bcc.n 80c33d8 } } return HAL_OK; 80c3412: 2300 movs r3, #0 } 80c3414: 4618 mov r0, r3 80c3416: 3724 adds r7, #36 ; 0x24 80c3418: 46bd mov sp, r7 80c341a: f85d 7b04 ldr.w r7, [sp], #4 80c341e: 4770 bx lr 080c3420 : * @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) { 80c3420: b480 push {r7} 80c3422: b08b sub sp, #44 ; 0x2c 80c3424: af00 add r7, sp, #0 80c3426: 60f8 str r0, [r7, #12] 80c3428: 60b9 str r1, [r7, #8] 80c342a: 4613 mov r3, r2 80c342c: 80fb strh r3, [r7, #6] uint32_t USBx_BASE = (uint32_t)USBx; 80c342e: 68fb ldr r3, [r7, #12] 80c3430: 61bb str r3, [r7, #24] uint8_t *pDest = dest; 80c3432: 68bb ldr r3, [r7, #8] 80c3434: 627b str r3, [r7, #36] ; 0x24 uint32_t pData; uint32_t i; uint32_t count32b = (uint32_t)len >> 2U; 80c3436: 88fb ldrh r3, [r7, #6] 80c3438: 089b lsrs r3, r3, #2 80c343a: b29b uxth r3, r3 80c343c: 617b str r3, [r7, #20] uint16_t remaining_bytes = len % 4U; 80c343e: 88fb ldrh r3, [r7, #6] 80c3440: f003 0303 and.w r3, r3, #3 80c3444: 83fb strh r3, [r7, #30] for (i = 0U; i < count32b; i++) 80c3446: 2300 movs r3, #0 80c3448: 623b str r3, [r7, #32] 80c344a: e014 b.n 80c3476 { __UNALIGNED_UINT32_WRITE(pDest, USBx_DFIFO(0U)); 80c344c: 69bb ldr r3, [r7, #24] 80c344e: f503 5380 add.w r3, r3, #4096 ; 0x1000 80c3452: 681a ldr r2, [r3, #0] 80c3454: 6a7b ldr r3, [r7, #36] ; 0x24 80c3456: 601a str r2, [r3, #0] pDest++; 80c3458: 6a7b ldr r3, [r7, #36] ; 0x24 80c345a: 3301 adds r3, #1 80c345c: 627b str r3, [r7, #36] ; 0x24 pDest++; 80c345e: 6a7b ldr r3, [r7, #36] ; 0x24 80c3460: 3301 adds r3, #1 80c3462: 627b str r3, [r7, #36] ; 0x24 pDest++; 80c3464: 6a7b ldr r3, [r7, #36] ; 0x24 80c3466: 3301 adds r3, #1 80c3468: 627b str r3, [r7, #36] ; 0x24 pDest++; 80c346a: 6a7b ldr r3, [r7, #36] ; 0x24 80c346c: 3301 adds r3, #1 80c346e: 627b str r3, [r7, #36] ; 0x24 for (i = 0U; i < count32b; i++) 80c3470: 6a3b ldr r3, [r7, #32] 80c3472: 3301 adds r3, #1 80c3474: 623b str r3, [r7, #32] 80c3476: 6a3a ldr r2, [r7, #32] 80c3478: 697b ldr r3, [r7, #20] 80c347a: 429a cmp r2, r3 80c347c: d3e6 bcc.n 80c344c } /* When Number of data is not word aligned, read the remaining byte */ if (remaining_bytes != 0U) 80c347e: 8bfb ldrh r3, [r7, #30] 80c3480: 2b00 cmp r3, #0 80c3482: d01d beq.n 80c34c0 { i = 0U; 80c3484: 2300 movs r3, #0 80c3486: 623b str r3, [r7, #32] __UNALIGNED_UINT32_WRITE(&pData, USBx_DFIFO(0U)); 80c3488: f107 0310 add.w r3, r7, #16 80c348c: 69ba ldr r2, [r7, #24] 80c348e: f502 5280 add.w r2, r2, #4096 ; 0x1000 80c3492: 6812 ldr r2, [r2, #0] 80c3494: 601a str r2, [r3, #0] do { *(uint8_t *)pDest = (uint8_t)(pData >> (8U * (uint8_t)(i))); 80c3496: 693a ldr r2, [r7, #16] 80c3498: 6a3b ldr r3, [r7, #32] 80c349a: b2db uxtb r3, r3 80c349c: 00db lsls r3, r3, #3 80c349e: fa22 f303 lsr.w r3, r2, r3 80c34a2: b2da uxtb r2, r3 80c34a4: 6a7b ldr r3, [r7, #36] ; 0x24 80c34a6: 701a strb r2, [r3, #0] i++; 80c34a8: 6a3b ldr r3, [r7, #32] 80c34aa: 3301 adds r3, #1 80c34ac: 623b str r3, [r7, #32] pDest++; 80c34ae: 6a7b ldr r3, [r7, #36] ; 0x24 80c34b0: 3301 adds r3, #1 80c34b2: 627b str r3, [r7, #36] ; 0x24 remaining_bytes--; 80c34b4: 8bfb ldrh r3, [r7, #30] 80c34b6: 3b01 subs r3, #1 80c34b8: 83fb strh r3, [r7, #30] } while (remaining_bytes != 0U); 80c34ba: 8bfb ldrh r3, [r7, #30] 80c34bc: 2b00 cmp r3, #0 80c34be: d1ea bne.n 80c3496 } return ((void *)pDest); 80c34c0: 6a7b ldr r3, [r7, #36] ; 0x24 } 80c34c2: 4618 mov r0, r3 80c34c4: 372c adds r7, #44 ; 0x2c 80c34c6: 46bd mov sp, r7 80c34c8: f85d 7b04 ldr.w r7, [sp], #4 80c34cc: 4770 bx lr 080c34ce : * @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) { 80c34ce: b480 push {r7} 80c34d0: b085 sub sp, #20 80c34d2: af00 add r7, sp, #0 80c34d4: 6078 str r0, [r7, #4] 80c34d6: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80c34d8: 687b ldr r3, [r7, #4] 80c34da: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80c34dc: 683b ldr r3, [r7, #0] 80c34de: 781b ldrb r3, [r3, #0] 80c34e0: 60bb str r3, [r7, #8] if (ep->is_in == 1U) 80c34e2: 683b ldr r3, [r7, #0] 80c34e4: 785b ldrb r3, [r3, #1] 80c34e6: 2b01 cmp r3, #1 80c34e8: d12e bne.n 80c3548 { if (((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == 0U) && (epnum != 0U)) 80c34ea: 68bb ldr r3, [r7, #8] 80c34ec: 015a lsls r2, r3, #5 80c34ee: 68fb ldr r3, [r7, #12] 80c34f0: 4413 add r3, r2 80c34f2: f503 6310 add.w r3, r3, #2304 ; 0x900 80c34f6: 681b ldr r3, [r3, #0] 80c34f8: 2b00 cmp r3, #0 80c34fa: db13 blt.n 80c3524 80c34fc: 68bb ldr r3, [r7, #8] 80c34fe: 2b00 cmp r3, #0 80c3500: d010 beq.n 80c3524 { USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_EPDIS); 80c3502: 68bb ldr r3, [r7, #8] 80c3504: 015a lsls r2, r3, #5 80c3506: 68fb ldr r3, [r7, #12] 80c3508: 4413 add r3, r2 80c350a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c350e: 4619 mov r1, r3 80c3510: 68bb ldr r3, [r7, #8] 80c3512: 015a lsls r2, r3, #5 80c3514: 68fb ldr r3, [r7, #12] 80c3516: 4413 add r3, r2 80c3518: f503 6310 add.w r3, r3, #2304 ; 0x900 80c351c: 681b ldr r3, [r3, #0] 80c351e: f023 4380 bic.w r3, r3, #1073741824 ; 0x40000000 80c3522: 600b str r3, [r1, #0] } USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_STALL; 80c3524: 68bb ldr r3, [r7, #8] 80c3526: 015a lsls r2, r3, #5 80c3528: 68fb ldr r3, [r7, #12] 80c352a: 4413 add r3, r2 80c352c: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3530: 4619 mov r1, r3 80c3532: 68bb ldr r3, [r7, #8] 80c3534: 015a lsls r2, r3, #5 80c3536: 68fb ldr r3, [r7, #12] 80c3538: 4413 add r3, r2 80c353a: f503 6310 add.w r3, r3, #2304 ; 0x900 80c353e: 681b ldr r3, [r3, #0] 80c3540: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 80c3544: 600b str r3, [r1, #0] 80c3546: e02d b.n 80c35a4 } else { if (((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == 0U) && (epnum != 0U)) 80c3548: 68bb ldr r3, [r7, #8] 80c354a: 015a lsls r2, r3, #5 80c354c: 68fb ldr r3, [r7, #12] 80c354e: 4413 add r3, r2 80c3550: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3554: 681b ldr r3, [r3, #0] 80c3556: 2b00 cmp r3, #0 80c3558: db13 blt.n 80c3582 80c355a: 68bb ldr r3, [r7, #8] 80c355c: 2b00 cmp r3, #0 80c355e: d010 beq.n 80c3582 { USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_EPDIS); 80c3560: 68bb ldr r3, [r7, #8] 80c3562: 015a lsls r2, r3, #5 80c3564: 68fb ldr r3, [r7, #12] 80c3566: 4413 add r3, r2 80c3568: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c356c: 4619 mov r1, r3 80c356e: 68bb ldr r3, [r7, #8] 80c3570: 015a lsls r2, r3, #5 80c3572: 68fb ldr r3, [r7, #12] 80c3574: 4413 add r3, r2 80c3576: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c357a: 681b ldr r3, [r3, #0] 80c357c: f023 4380 bic.w r3, r3, #1073741824 ; 0x40000000 80c3580: 600b str r3, [r1, #0] } USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_STALL; 80c3582: 68bb ldr r3, [r7, #8] 80c3584: 015a lsls r2, r3, #5 80c3586: 68fb ldr r3, [r7, #12] 80c3588: 4413 add r3, r2 80c358a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c358e: 4619 mov r1, r3 80c3590: 68bb ldr r3, [r7, #8] 80c3592: 015a lsls r2, r3, #5 80c3594: 68fb ldr r3, [r7, #12] 80c3596: 4413 add r3, r2 80c3598: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c359c: 681b ldr r3, [r3, #0] 80c359e: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 80c35a2: 600b str r3, [r1, #0] } return HAL_OK; 80c35a4: 2300 movs r3, #0 } 80c35a6: 4618 mov r0, r3 80c35a8: 3714 adds r7, #20 80c35aa: 46bd mov sp, r7 80c35ac: f85d 7b04 ldr.w r7, [sp], #4 80c35b0: 4770 bx lr 080c35b2 : * @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) { 80c35b2: b480 push {r7} 80c35b4: b085 sub sp, #20 80c35b6: af00 add r7, sp, #0 80c35b8: 6078 str r0, [r7, #4] 80c35ba: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80c35bc: 687b ldr r3, [r7, #4] 80c35be: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80c35c0: 683b ldr r3, [r7, #0] 80c35c2: 781b ldrb r3, [r3, #0] 80c35c4: 60bb str r3, [r7, #8] if (ep->is_in == 1U) 80c35c6: 683b ldr r3, [r7, #0] 80c35c8: 785b ldrb r3, [r3, #1] 80c35ca: 2b01 cmp r3, #1 80c35cc: d12a bne.n 80c3624 { USBx_INEP(epnum)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 80c35ce: 68bb ldr r3, [r7, #8] 80c35d0: 015a lsls r2, r3, #5 80c35d2: 68fb ldr r3, [r7, #12] 80c35d4: 4413 add r3, r2 80c35d6: f503 6310 add.w r3, r3, #2304 ; 0x900 80c35da: 4619 mov r1, r3 80c35dc: 68bb ldr r3, [r7, #8] 80c35de: 015a lsls r2, r3, #5 80c35e0: 68fb ldr r3, [r7, #12] 80c35e2: 4413 add r3, r2 80c35e4: f503 6310 add.w r3, r3, #2304 ; 0x900 80c35e8: 681b ldr r3, [r3, #0] 80c35ea: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80c35ee: 600b str r3, [r1, #0] if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 80c35f0: 683b ldr r3, [r7, #0] 80c35f2: 78db ldrb r3, [r3, #3] 80c35f4: 2b03 cmp r3, #3 80c35f6: d003 beq.n 80c3600 80c35f8: 683b ldr r3, [r7, #0] 80c35fa: 78db ldrb r3, [r3, #3] 80c35fc: 2b02 cmp r3, #2 80c35fe: d13b bne.n 80c3678 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; /* DATA0 */ 80c3600: 68bb ldr r3, [r7, #8] 80c3602: 015a lsls r2, r3, #5 80c3604: 68fb ldr r3, [r7, #12] 80c3606: 4413 add r3, r2 80c3608: f503 6310 add.w r3, r3, #2304 ; 0x900 80c360c: 4619 mov r1, r3 80c360e: 68bb ldr r3, [r7, #8] 80c3610: 015a lsls r2, r3, #5 80c3612: 68fb ldr r3, [r7, #12] 80c3614: 4413 add r3, r2 80c3616: f503 6310 add.w r3, r3, #2304 ; 0x900 80c361a: 681b ldr r3, [r3, #0] 80c361c: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80c3620: 600b str r3, [r1, #0] 80c3622: e029 b.n 80c3678 } } else { USBx_OUTEP(epnum)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 80c3624: 68bb ldr r3, [r7, #8] 80c3626: 015a lsls r2, r3, #5 80c3628: 68fb ldr r3, [r7, #12] 80c362a: 4413 add r3, r2 80c362c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3630: 4619 mov r1, r3 80c3632: 68bb ldr r3, [r7, #8] 80c3634: 015a lsls r2, r3, #5 80c3636: 68fb ldr r3, [r7, #12] 80c3638: 4413 add r3, r2 80c363a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c363e: 681b ldr r3, [r3, #0] 80c3640: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80c3644: 600b str r3, [r1, #0] if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 80c3646: 683b ldr r3, [r7, #0] 80c3648: 78db ldrb r3, [r3, #3] 80c364a: 2b03 cmp r3, #3 80c364c: d003 beq.n 80c3656 80c364e: 683b ldr r3, [r7, #0] 80c3650: 78db ldrb r3, [r3, #3] 80c3652: 2b02 cmp r3, #2 80c3654: d110 bne.n 80c3678 { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; /* DATA0 */ 80c3656: 68bb ldr r3, [r7, #8] 80c3658: 015a lsls r2, r3, #5 80c365a: 68fb ldr r3, [r7, #12] 80c365c: 4413 add r3, r2 80c365e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3662: 4619 mov r1, r3 80c3664: 68bb ldr r3, [r7, #8] 80c3666: 015a lsls r2, r3, #5 80c3668: 68fb ldr r3, [r7, #12] 80c366a: 4413 add r3, r2 80c366c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3670: 681b ldr r3, [r3, #0] 80c3672: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80c3676: 600b str r3, [r1, #0] } } return HAL_OK; 80c3678: 2300 movs r3, #0 } 80c367a: 4618 mov r0, r3 80c367c: 3714 adds r7, #20 80c367e: 46bd mov sp, r7 80c3680: f85d 7b04 ldr.w r7, [sp], #4 80c3684: 4770 bx lr 080c3686 : * @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) { 80c3686: b480 push {r7} 80c3688: b085 sub sp, #20 80c368a: af00 add r7, sp, #0 80c368c: 6078 str r0, [r7, #4] 80c368e: 460b mov r3, r1 80c3690: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80c3692: 687b ldr r3, [r7, #4] 80c3694: 60fb str r3, [r7, #12] USBx_DEVICE->DCFG &= ~(USB_OTG_DCFG_DAD); 80c3696: 68fb ldr r3, [r7, #12] 80c3698: f503 6300 add.w r3, r3, #2048 ; 0x800 80c369c: 461a mov r2, r3 80c369e: 68fb ldr r3, [r7, #12] 80c36a0: f503 6300 add.w r3, r3, #2048 ; 0x800 80c36a4: 681b ldr r3, [r3, #0] 80c36a6: f423 63fe bic.w r3, r3, #2032 ; 0x7f0 80c36aa: 6013 str r3, [r2, #0] USBx_DEVICE->DCFG |= ((uint32_t)address << 4) & USB_OTG_DCFG_DAD; 80c36ac: 68fb ldr r3, [r7, #12] 80c36ae: f503 6300 add.w r3, r3, #2048 ; 0x800 80c36b2: 4619 mov r1, r3 80c36b4: 68fb ldr r3, [r7, #12] 80c36b6: f503 6300 add.w r3, r3, #2048 ; 0x800 80c36ba: 681a ldr r2, [r3, #0] 80c36bc: 78fb ldrb r3, [r7, #3] 80c36be: 011b lsls r3, r3, #4 80c36c0: f403 63fe and.w r3, r3, #2032 ; 0x7f0 80c36c4: 4313 orrs r3, r2 80c36c6: 600b str r3, [r1, #0] return HAL_OK; 80c36c8: 2300 movs r3, #0 } 80c36ca: 4618 mov r0, r3 80c36cc: 3714 adds r7, #20 80c36ce: 46bd mov sp, r7 80c36d0: f85d 7b04 ldr.w r7, [sp], #4 80c36d4: 4770 bx lr 080c36d6 : * @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) { 80c36d6: b480 push {r7} 80c36d8: b085 sub sp, #20 80c36da: af00 add r7, sp, #0 80c36dc: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c36de: 687b ldr r3, [r7, #4] 80c36e0: 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); 80c36e2: 68fb ldr r3, [r7, #12] 80c36e4: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c36e8: 461a mov r2, r3 80c36ea: 68fb ldr r3, [r7, #12] 80c36ec: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c36f0: 681b ldr r3, [r3, #0] 80c36f2: f023 0303 bic.w r3, r3, #3 80c36f6: 6013 str r3, [r2, #0] USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_SDIS; 80c36f8: 68fb ldr r3, [r7, #12] 80c36fa: f503 6300 add.w r3, r3, #2048 ; 0x800 80c36fe: 461a mov r2, r3 80c3700: 68fb ldr r3, [r7, #12] 80c3702: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3706: 685b ldr r3, [r3, #4] 80c3708: f023 0302 bic.w r3, r3, #2 80c370c: 6053 str r3, [r2, #4] return HAL_OK; 80c370e: 2300 movs r3, #0 } 80c3710: 4618 mov r0, r3 80c3712: 3714 adds r7, #20 80c3714: 46bd mov sp, r7 80c3716: f85d 7b04 ldr.w r7, [sp], #4 80c371a: 4770 bx lr 080c371c : * @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) { 80c371c: b480 push {r7} 80c371e: b085 sub sp, #20 80c3720: af00 add r7, sp, #0 80c3722: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c3724: 687b ldr r3, [r7, #4] 80c3726: 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); 80c3728: 68fb ldr r3, [r7, #12] 80c372a: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c372e: 461a mov r2, r3 80c3730: 68fb ldr r3, [r7, #12] 80c3732: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c3736: 681b ldr r3, [r3, #0] 80c3738: f023 0303 bic.w r3, r3, #3 80c373c: 6013 str r3, [r2, #0] USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 80c373e: 68fb ldr r3, [r7, #12] 80c3740: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3744: 461a mov r2, r3 80c3746: 68fb ldr r3, [r7, #12] 80c3748: f503 6300 add.w r3, r3, #2048 ; 0x800 80c374c: 685b ldr r3, [r3, #4] 80c374e: f043 0302 orr.w r3, r3, #2 80c3752: 6053 str r3, [r2, #4] return HAL_OK; 80c3754: 2300 movs r3, #0 } 80c3756: 4618 mov r0, r3 80c3758: 3714 adds r7, #20 80c375a: 46bd mov sp, r7 80c375c: f85d 7b04 ldr.w r7, [sp], #4 80c3760: 4770 bx lr 080c3762 : * @brief USB_ReadInterrupts: return the global USB interrupt status * @param USBx Selected device * @retval HAL status */ uint32_t USB_ReadInterrupts(USB_OTG_GlobalTypeDef *USBx) { 80c3762: b480 push {r7} 80c3764: b085 sub sp, #20 80c3766: af00 add r7, sp, #0 80c3768: 6078 str r0, [r7, #4] uint32_t tmpreg; tmpreg = USBx->GINTSTS; 80c376a: 687b ldr r3, [r7, #4] 80c376c: 695b ldr r3, [r3, #20] 80c376e: 60fb str r3, [r7, #12] tmpreg &= USBx->GINTMSK; 80c3770: 687b ldr r3, [r7, #4] 80c3772: 699b ldr r3, [r3, #24] 80c3774: 68fa ldr r2, [r7, #12] 80c3776: 4013 ands r3, r2 80c3778: 60fb str r3, [r7, #12] return tmpreg; 80c377a: 68fb ldr r3, [r7, #12] } 80c377c: 4618 mov r0, r3 80c377e: 3714 adds r7, #20 80c3780: 46bd mov sp, r7 80c3782: f85d 7b04 ldr.w r7, [sp], #4 80c3786: 4770 bx lr 080c3788 : * @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) { 80c3788: b480 push {r7} 80c378a: b085 sub sp, #20 80c378c: af00 add r7, sp, #0 80c378e: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c3790: 687b ldr r3, [r7, #4] 80c3792: 60fb str r3, [r7, #12] uint32_t tmpreg; tmpreg = USBx_DEVICE->DAINT; 80c3794: 68fb ldr r3, [r7, #12] 80c3796: f503 6300 add.w r3, r3, #2048 ; 0x800 80c379a: 699b ldr r3, [r3, #24] 80c379c: 60bb str r3, [r7, #8] tmpreg &= USBx_DEVICE->DAINTMSK; 80c379e: 68fb ldr r3, [r7, #12] 80c37a0: f503 6300 add.w r3, r3, #2048 ; 0x800 80c37a4: 69db ldr r3, [r3, #28] 80c37a6: 68ba ldr r2, [r7, #8] 80c37a8: 4013 ands r3, r2 80c37aa: 60bb str r3, [r7, #8] return ((tmpreg & 0xffff0000U) >> 16); 80c37ac: 68bb ldr r3, [r7, #8] 80c37ae: 0c1b lsrs r3, r3, #16 } 80c37b0: 4618 mov r0, r3 80c37b2: 3714 adds r7, #20 80c37b4: 46bd mov sp, r7 80c37b6: f85d 7b04 ldr.w r7, [sp], #4 80c37ba: 4770 bx lr 080c37bc : * @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) { 80c37bc: b480 push {r7} 80c37be: b085 sub sp, #20 80c37c0: af00 add r7, sp, #0 80c37c2: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c37c4: 687b ldr r3, [r7, #4] 80c37c6: 60fb str r3, [r7, #12] uint32_t tmpreg; tmpreg = USBx_DEVICE->DAINT; 80c37c8: 68fb ldr r3, [r7, #12] 80c37ca: f503 6300 add.w r3, r3, #2048 ; 0x800 80c37ce: 699b ldr r3, [r3, #24] 80c37d0: 60bb str r3, [r7, #8] tmpreg &= USBx_DEVICE->DAINTMSK; 80c37d2: 68fb ldr r3, [r7, #12] 80c37d4: f503 6300 add.w r3, r3, #2048 ; 0x800 80c37d8: 69db ldr r3, [r3, #28] 80c37da: 68ba ldr r2, [r7, #8] 80c37dc: 4013 ands r3, r2 80c37de: 60bb str r3, [r7, #8] return ((tmpreg & 0xFFFFU)); 80c37e0: 68bb ldr r3, [r7, #8] 80c37e2: b29b uxth r3, r3 } 80c37e4: 4618 mov r0, r3 80c37e6: 3714 adds r7, #20 80c37e8: 46bd mov sp, r7 80c37ea: f85d 7b04 ldr.w r7, [sp], #4 80c37ee: 4770 bx lr 080c37f0 : * @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) { 80c37f0: b480 push {r7} 80c37f2: b085 sub sp, #20 80c37f4: af00 add r7, sp, #0 80c37f6: 6078 str r0, [r7, #4] 80c37f8: 460b mov r3, r1 80c37fa: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80c37fc: 687b ldr r3, [r7, #4] 80c37fe: 60fb str r3, [r7, #12] uint32_t tmpreg; tmpreg = USBx_OUTEP((uint32_t)epnum)->DOEPINT; 80c3800: 78fb ldrb r3, [r7, #3] 80c3802: 015a lsls r2, r3, #5 80c3804: 68fb ldr r3, [r7, #12] 80c3806: 4413 add r3, r2 80c3808: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c380c: 689b ldr r3, [r3, #8] 80c380e: 60bb str r3, [r7, #8] tmpreg &= USBx_DEVICE->DOEPMSK; 80c3810: 68fb ldr r3, [r7, #12] 80c3812: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3816: 695b ldr r3, [r3, #20] 80c3818: 68ba ldr r2, [r7, #8] 80c381a: 4013 ands r3, r2 80c381c: 60bb str r3, [r7, #8] return tmpreg; 80c381e: 68bb ldr r3, [r7, #8] } 80c3820: 4618 mov r0, r3 80c3822: 3714 adds r7, #20 80c3824: 46bd mov sp, r7 80c3826: f85d 7b04 ldr.w r7, [sp], #4 80c382a: 4770 bx lr 080c382c : * @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) { 80c382c: b480 push {r7} 80c382e: b087 sub sp, #28 80c3830: af00 add r7, sp, #0 80c3832: 6078 str r0, [r7, #4] 80c3834: 460b mov r3, r1 80c3836: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80c3838: 687b ldr r3, [r7, #4] 80c383a: 617b str r3, [r7, #20] uint32_t tmpreg; uint32_t msk; uint32_t emp; msk = USBx_DEVICE->DIEPMSK; 80c383c: 697b ldr r3, [r7, #20] 80c383e: f503 6300 add.w r3, r3, #2048 ; 0x800 80c3842: 691b ldr r3, [r3, #16] 80c3844: 613b str r3, [r7, #16] emp = USBx_DEVICE->DIEPEMPMSK; 80c3846: 697b ldr r3, [r7, #20] 80c3848: f503 6300 add.w r3, r3, #2048 ; 0x800 80c384c: 6b5b ldr r3, [r3, #52] ; 0x34 80c384e: 60fb str r3, [r7, #12] msk |= ((emp >> (epnum & EP_ADDR_MSK)) & 0x1U) << 7; 80c3850: 78fb ldrb r3, [r7, #3] 80c3852: f003 030f and.w r3, r3, #15 80c3856: 68fa ldr r2, [r7, #12] 80c3858: fa22 f303 lsr.w r3, r2, r3 80c385c: 01db lsls r3, r3, #7 80c385e: b2db uxtb r3, r3 80c3860: 693a ldr r2, [r7, #16] 80c3862: 4313 orrs r3, r2 80c3864: 613b str r3, [r7, #16] tmpreg = USBx_INEP((uint32_t)epnum)->DIEPINT & msk; 80c3866: 78fb ldrb r3, [r7, #3] 80c3868: 015a lsls r2, r3, #5 80c386a: 697b ldr r3, [r7, #20] 80c386c: 4413 add r3, r2 80c386e: f503 6310 add.w r3, r3, #2304 ; 0x900 80c3872: 689a ldr r2, [r3, #8] 80c3874: 693b ldr r3, [r7, #16] 80c3876: 4013 ands r3, r2 80c3878: 60bb str r3, [r7, #8] return tmpreg; 80c387a: 68bb ldr r3, [r7, #8] } 80c387c: 4618 mov r0, r3 80c387e: 371c adds r7, #28 80c3880: 46bd mov sp, r7 80c3882: f85d 7b04 ldr.w r7, [sp], #4 80c3886: 4770 bx lr 080c3888 : * This parameter can be one of these values: * 0 : Host * 1 : Device */ uint32_t USB_GetMode(USB_OTG_GlobalTypeDef *USBx) { 80c3888: b480 push {r7} 80c388a: b083 sub sp, #12 80c388c: af00 add r7, sp, #0 80c388e: 6078 str r0, [r7, #4] return ((USBx->GINTSTS) & 0x1U); 80c3890: 687b ldr r3, [r7, #4] 80c3892: 695b ldr r3, [r3, #20] 80c3894: f003 0301 and.w r3, r3, #1 } 80c3898: 4618 mov r0, r3 80c389a: 370c adds r7, #12 80c389c: 46bd mov sp, r7 80c389e: f85d 7b04 ldr.w r7, [sp], #4 80c38a2: 4770 bx lr 080c38a4 : * @brief Activate EP0 for Setup transactions * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_ActivateSetup(USB_OTG_GlobalTypeDef *USBx) { 80c38a4: b480 push {r7} 80c38a6: b085 sub sp, #20 80c38a8: af00 add r7, sp, #0 80c38aa: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80c38ac: 687b ldr r3, [r7, #4] 80c38ae: 60fb str r3, [r7, #12] /* Set the MPS of the IN EP0 to 64 bytes */ USBx_INEP(0U)->DIEPCTL &= ~USB_OTG_DIEPCTL_MPSIZ; 80c38b0: 68fb ldr r3, [r7, #12] 80c38b2: f503 6310 add.w r3, r3, #2304 ; 0x900 80c38b6: 4619 mov r1, r3 80c38b8: 68fb ldr r3, [r7, #12] 80c38ba: f503 6310 add.w r3, r3, #2304 ; 0x900 80c38be: 681a ldr r2, [r3, #0] 80c38c0: 4b0a ldr r3, [pc, #40] ; (80c38ec ) 80c38c2: 4013 ands r3, r2 80c38c4: 600b str r3, [r1, #0] USBx_DEVICE->DCTL |= USB_OTG_DCTL_CGINAK; 80c38c6: 68fb ldr r3, [r7, #12] 80c38c8: f503 6300 add.w r3, r3, #2048 ; 0x800 80c38cc: 461a mov r2, r3 80c38ce: 68fb ldr r3, [r7, #12] 80c38d0: f503 6300 add.w r3, r3, #2048 ; 0x800 80c38d4: 685b ldr r3, [r3, #4] 80c38d6: f443 7380 orr.w r3, r3, #256 ; 0x100 80c38da: 6053 str r3, [r2, #4] return HAL_OK; 80c38dc: 2300 movs r3, #0 } 80c38de: 4618 mov r0, r3 80c38e0: 3714 adds r7, #20 80c38e2: 46bd mov sp, r7 80c38e4: f85d 7b04 ldr.w r7, [sp], #4 80c38e8: 4770 bx lr 80c38ea: bf00 nop 80c38ec: fffff800 .word 0xfffff800 080c38f0 : * 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) { 80c38f0: b480 push {r7} 80c38f2: b087 sub sp, #28 80c38f4: af00 add r7, sp, #0 80c38f6: 60f8 str r0, [r7, #12] 80c38f8: 460b mov r3, r1 80c38fa: 607a str r2, [r7, #4] 80c38fc: 72fb strb r3, [r7, #11] uint32_t USBx_BASE = (uint32_t)USBx; 80c38fe: 68fb ldr r3, [r7, #12] 80c3900: 617b str r3, [r7, #20] uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U); 80c3902: 68fb ldr r3, [r7, #12] 80c3904: 333c adds r3, #60 ; 0x3c 80c3906: 3304 adds r3, #4 80c3908: 681b ldr r3, [r3, #0] 80c390a: 613b str r3, [r7, #16] if (gSNPSiD > USB_OTG_CORE_ID_300A) 80c390c: 693b ldr r3, [r7, #16] 80c390e: 4a28 ldr r2, [pc, #160] ; (80c39b0 ) 80c3910: 4293 cmp r3, r2 80c3912: d90a bls.n 80c392a { if ((USBx_OUTEP(0U)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 80c3914: 697b ldr r3, [r7, #20] 80c3916: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c391a: 681b ldr r3, [r3, #0] 80c391c: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80c3920: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80c3924: d101 bne.n 80c392a { return HAL_OK; 80c3926: 2300 movs r3, #0 80c3928: e03b b.n 80c39a2 } } USBx_OUTEP(0U)->DOEPTSIZ = 0U; 80c392a: 697b ldr r3, [r7, #20] 80c392c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3930: 461a mov r2, r3 80c3932: 2300 movs r3, #0 80c3934: 6113 str r3, [r2, #16] USBx_OUTEP(0U)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 80c3936: 697b ldr r3, [r7, #20] 80c3938: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c393c: 461a mov r2, r3 80c393e: 697b ldr r3, [r7, #20] 80c3940: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3944: 691b ldr r3, [r3, #16] 80c3946: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80c394a: 6113 str r3, [r2, #16] USBx_OUTEP(0U)->DOEPTSIZ |= (3U * 8U); 80c394c: 697b ldr r3, [r7, #20] 80c394e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3952: 461a mov r2, r3 80c3954: 697b ldr r3, [r7, #20] 80c3956: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c395a: 691b ldr r3, [r3, #16] 80c395c: f043 0318 orr.w r3, r3, #24 80c3960: 6113 str r3, [r2, #16] USBx_OUTEP(0U)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_STUPCNT; 80c3962: 697b ldr r3, [r7, #20] 80c3964: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3968: 461a mov r2, r3 80c396a: 697b ldr r3, [r7, #20] 80c396c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3970: 691b ldr r3, [r3, #16] 80c3972: f043 43c0 orr.w r3, r3, #1610612736 ; 0x60000000 80c3976: 6113 str r3, [r2, #16] if (dma == 1U) 80c3978: 7afb ldrb r3, [r7, #11] 80c397a: 2b01 cmp r3, #1 80c397c: d110 bne.n 80c39a0 { USBx_OUTEP(0U)->DOEPDMA = (uint32_t)psetup; 80c397e: 697b ldr r3, [r7, #20] 80c3980: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3984: 461a mov r2, r3 80c3986: 687b ldr r3, [r7, #4] 80c3988: 6153 str r3, [r2, #20] /* EP enable */ USBx_OUTEP(0U)->DOEPCTL |= USB_OTG_DOEPCTL_EPENA | USB_OTG_DOEPCTL_USBAEP; 80c398a: 697b ldr r3, [r7, #20] 80c398c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3990: 461a mov r2, r3 80c3992: 697b ldr r3, [r7, #20] 80c3994: f503 6330 add.w r3, r3, #2816 ; 0xb00 80c3998: 681b ldr r3, [r3, #0] 80c399a: f043 2380 orr.w r3, r3, #2147516416 ; 0x80008000 80c399e: 6013 str r3, [r2, #0] } return HAL_OK; 80c39a0: 2300 movs r3, #0 } 80c39a2: 4618 mov r0, r3 80c39a4: 371c adds r7, #28 80c39a6: 46bd mov sp, r7 80c39a8: f85d 7b04 ldr.w r7, [sp], #4 80c39ac: 4770 bx lr 80c39ae: bf00 nop 80c39b0: 4f54300a .word 0x4f54300a 080c39b4 : * @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) { 80c39b4: b480 push {r7} 80c39b6: b085 sub sp, #20 80c39b8: af00 add r7, sp, #0 80c39ba: 6078 str r0, [r7, #4] __IO uint32_t count = 0U; 80c39bc: 2300 movs r3, #0 80c39be: 60fb str r3, [r7, #12] /* Wait for AHB master IDLE state. */ do { if (++count > 200000U) 80c39c0: 68fb ldr r3, [r7, #12] 80c39c2: 3301 adds r3, #1 80c39c4: 60fb str r3, [r7, #12] 80c39c6: 4a13 ldr r2, [pc, #76] ; (80c3a14 ) 80c39c8: 4293 cmp r3, r2 80c39ca: d901 bls.n 80c39d0 { return HAL_TIMEOUT; 80c39cc: 2303 movs r3, #3 80c39ce: e01a b.n 80c3a06 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 80c39d0: 687b ldr r3, [r7, #4] 80c39d2: 691b ldr r3, [r3, #16] 80c39d4: 2b00 cmp r3, #0 80c39d6: daf3 bge.n 80c39c0 /* Core Soft Reset */ count = 0U; 80c39d8: 2300 movs r3, #0 80c39da: 60fb str r3, [r7, #12] USBx->GRSTCTL |= USB_OTG_GRSTCTL_CSRST; 80c39dc: 687b ldr r3, [r7, #4] 80c39de: 691b ldr r3, [r3, #16] 80c39e0: f043 0201 orr.w r2, r3, #1 80c39e4: 687b ldr r3, [r7, #4] 80c39e6: 611a str r2, [r3, #16] do { if (++count > 200000U) 80c39e8: 68fb ldr r3, [r7, #12] 80c39ea: 3301 adds r3, #1 80c39ec: 60fb str r3, [r7, #12] 80c39ee: 4a09 ldr r2, [pc, #36] ; (80c3a14 ) 80c39f0: 4293 cmp r3, r2 80c39f2: d901 bls.n 80c39f8 { return HAL_TIMEOUT; 80c39f4: 2303 movs r3, #3 80c39f6: e006 b.n 80c3a06 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST); 80c39f8: 687b ldr r3, [r7, #4] 80c39fa: 691b ldr r3, [r3, #16] 80c39fc: f003 0301 and.w r3, r3, #1 80c3a00: 2b01 cmp r3, #1 80c3a02: d0f1 beq.n 80c39e8 return HAL_OK; 80c3a04: 2300 movs r3, #0 } 80c3a06: 4618 mov r0, r3 80c3a08: 3714 adds r7, #20 80c3a0a: 46bd mov sp, r7 80c3a0c: f85d 7b04 ldr.w r7, [sp], #4 80c3a10: 4770 bx lr 80c3a12: bf00 nop 80c3a14: 00030d40 .word 0x00030d40 080c3a18 : /* USER CODE BEGIN Variables */ extern RTC_HandleTypeDef hrtc; /* USER CODE END Variables */ void MX_FATFS_Init(void) { 80c3a18: b580 push {r7, lr} 80c3a1a: af00 add r7, sp, #0 /*## FatFS: Link the SD driver ###########################*/ retSD = FATFS_LinkDriver(&SD_Driver, SDPath); 80c3a1c: 4904 ldr r1, [pc, #16] ; (80c3a30 ) 80c3a1e: 4805 ldr r0, [pc, #20] ; (80c3a34 ) 80c3a20: f009 fbc0 bl 80cd1a4 80c3a24: 4603 mov r3, r0 80c3a26: 461a mov r2, r3 80c3a28: 4b03 ldr r3, [pc, #12] ; (80c3a38 ) 80c3a2a: 701a strb r2, [r3, #0] /* USER CODE BEGIN Init */ /* additional user code for init */ /* USER CODE END Init */ } 80c3a2c: bf00 nop 80c3a2e: bd80 pop {r7, pc} 80c3a30: 20068b0c .word 0x20068b0c 80c3a34: 08103c00 .word 0x08103c00 80c3a38: 20068b08 .word 0x20068b08 080c3a3c : * @brief Gets Time from RTC * @param None * @retval Time in DWORD */ DWORD get_fattime(void) { 80c3a3c: b580 push {r7, lr} 80c3a3e: b08e sub sp, #56 ; 0x38 80c3a40: 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); 80c3a42: f107 0318 add.w r3, r7, #24 80c3a46: 2200 movs r2, #0 80c3a48: 4619 mov r1, r3 80c3a4a: 4818 ldr r0, [pc, #96] ; (80c3aac ) 80c3a4c: f7f8 ffc8 bl 80bc9e0 HAL_RTC_GetTime(&hrtc, &RTC_Time, RTC_FORMAT_BIN); 80c3a50: 463b mov r3, r7 80c3a52: 2200 movs r2, #0 80c3a54: 4619 mov r1, r3 80c3a56: 4815 ldr r0, [pc, #84] ; (80c3aac ) 80c3a58: f7f8 febc bl 80bc7d4 Year = RTC_Date.Year + 2000; 80c3a5c: 7efb ldrb r3, [r7, #27] 80c3a5e: f503 63fa add.w r3, r3, #2000 ; 0x7d0 80c3a62: 637b str r3, [r7, #52] ; 0x34 Month = RTC_Date.Month; 80c3a64: 7e7b ldrb r3, [r7, #25] 80c3a66: 633b str r3, [r7, #48] ; 0x30 Day = RTC_Date.Date; 80c3a68: 7ebb ldrb r3, [r7, #26] 80c3a6a: 62fb str r3, [r7, #44] ; 0x2c Hour = RTC_Time.Hours; 80c3a6c: 783b ldrb r3, [r7, #0] 80c3a6e: 62bb str r3, [r7, #40] ; 0x28 Min = RTC_Time.Minutes; 80c3a70: 787b ldrb r3, [r7, #1] 80c3a72: 627b str r3, [r7, #36] ; 0x24 Sec = RTC_Time.Seconds; 80c3a74: 78bb ldrb r3, [r7, #2] 80c3a76: 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); 80c3a78: 6b7b ldr r3, [r7, #52] ; 0x34 80c3a7a: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 80c3a7e: 065a lsls r2, r3, #25 80c3a80: 6b3b ldr r3, [r7, #48] ; 0x30 80c3a82: 055b lsls r3, r3, #21 80c3a84: 431a orrs r2, r3 80c3a86: 6afb ldr r3, [r7, #44] ; 0x2c 80c3a88: 041b lsls r3, r3, #16 80c3a8a: 431a orrs r2, r3 80c3a8c: 6abb ldr r3, [r7, #40] ; 0x28 80c3a8e: 02db lsls r3, r3, #11 80c3a90: 431a orrs r2, r3 80c3a92: 6a7b ldr r3, [r7, #36] ; 0x24 80c3a94: 015b lsls r3, r3, #5 80c3a96: 431a orrs r2, r3 80c3a98: 6a3b ldr r3, [r7, #32] 80c3a9a: 085b lsrs r3, r3, #1 80c3a9c: 4313 orrs r3, r2 80c3a9e: 61fb str r3, [r7, #28] return DateTime; 80c3aa0: 69fb ldr r3, [r7, #28] } 80c3aa2: 4618 mov r0, r3 80c3aa4: 3738 adds r7, #56 ; 0x38 80c3aa6: 46bd mov sp, r7 80c3aa8: bd80 pop {r7, pc} 80c3aaa: bf00 nop 80c3aac: 200685d8 .word 0x200685d8 080c3ab0 : extern volatile uint8_t CardState; uint8_t BSP_PlatformIsDetected(void) { 80c3ab0: b580 push {r7, lr} 80c3ab2: b082 sub sp, #8 80c3ab4: af00 add r7, sp, #0 uint8_t status = (uint8_t)0x01; 80c3ab6: 2301 movs r3, #1 80c3ab8: 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) 80c3aba: f44f 5180 mov.w r1, #4096 ; 0x1000 80c3abe: 4806 ldr r0, [pc, #24] ; (80c3ad8 ) 80c3ac0: f7f5 fe54 bl 80b976c 80c3ac4: 4603 mov r3, r0 80c3ac6: 2b01 cmp r3, #1 80c3ac8: d101 bne.n 80c3ace { status = (uint8_t)0x00; 80c3aca: 2300 movs r3, #0 80c3acc: 71fb strb r3, [r7, #7] } /* USER CODE BEGIN 1 */ /* user code can be inserted here */ /* USER CODE END 1 */ return status; 80c3ace: 79fb ldrb r3, [r7, #7] } 80c3ad0: 4618 mov r0, r3 80c3ad2: 3708 adds r7, #8 80c3ad4: 46bd mov sp, r7 80c3ad6: bd80 pop {r7, pc} 80c3ad8: 40020400 .word 0x40020400 080c3adc : /** * @brief Initializes the SD card device. * @retval SD status */ uint8_t BSP_SD_Init(void) { 80c3adc: b580 push {r7, lr} 80c3ade: b082 sub sp, #8 80c3ae0: af00 add r7, sp, #0 uint8_t sd_state = MSD_OK; 80c3ae2: 2300 movs r3, #0 80c3ae4: 71fb strb r3, [r7, #7] /* Check if the SD card is plugged in the slot */ if (BSP_SD_IsDetected() != SD_PRESENT) 80c3ae6: f000 f898 bl 80c3c1a 80c3aea: 4603 mov r3, r0 80c3aec: 2b01 cmp r3, #1 80c3aee: d001 beq.n 80c3af4 { return MSD_ERROR_SD_NOT_PRESENT; 80c3af0: 2302 movs r3, #2 80c3af2: e015 b.n 80c3b20 } /* HAL SD initialization */ HAL_SD_DeInit(&hsd1); 80c3af4: 480c ldr r0, [pc, #48] ; (80c3b28 ) 80c3af6: f7f9 f93d bl 80bcd74 sd_state = HAL_SD_Init(&hsd1); 80c3afa: 480b ldr r0, [pc, #44] ; (80c3b28 ) 80c3afc: f7f9 f882 bl 80bcc04 80c3b00: 4603 mov r3, r0 80c3b02: 71fb strb r3, [r7, #7] /* Configure SD Bus width (4 bits mode selected) */ if (sd_state == MSD_OK) 80c3b04: 79fb ldrb r3, [r7, #7] 80c3b06: 2b00 cmp r3, #0 80c3b08: d109 bne.n 80c3b1e { /* Enable wide operation */ if (HAL_SD_ConfigWideBusOperation(&hsd1, SDMMC_BUS_WIDE_4B) != HAL_OK) 80c3b0a: f44f 6100 mov.w r1, #2048 ; 0x800 80c3b0e: 4806 ldr r0, [pc, #24] ; (80c3b28 ) 80c3b10: f7f9 fe68 bl 80bd7e4 80c3b14: 4603 mov r3, r0 80c3b16: 2b00 cmp r3, #0 80c3b18: d001 beq.n 80c3b1e { sd_state = MSD_ERROR; 80c3b1a: 2301 movs r3, #1 80c3b1c: 71fb strb r3, [r7, #7] } } return sd_state; 80c3b1e: 79fb ldrb r3, [r7, #7] } 80c3b20: 4618 mov r0, r3 80c3b22: 3708 adds r7, #8 80c3b24: 46bd mov sp, r7 80c3b26: bd80 pop {r7, pc} 80c3b28: 2006862c .word 0x2006862c 080c3b2c : * @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) { 80c3b2c: b580 push {r7, lr} 80c3b2e: b086 sub sp, #24 80c3b30: af00 add r7, sp, #0 80c3b32: 60f8 str r0, [r7, #12] 80c3b34: 60b9 str r1, [r7, #8] 80c3b36: 607a str r2, [r7, #4] uint8_t sd_state = MSD_OK; 80c3b38: 2300 movs r3, #0 80c3b3a: 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) 80c3b3c: 687b ldr r3, [r7, #4] 80c3b3e: 68ba ldr r2, [r7, #8] 80c3b40: 68f9 ldr r1, [r7, #12] 80c3b42: 4806 ldr r0, [pc, #24] ; (80c3b5c ) 80c3b44: f7f9 f936 bl 80bcdb4 80c3b48: 4603 mov r3, r0 80c3b4a: 2b00 cmp r3, #0 80c3b4c: d001 beq.n 80c3b52 { sd_state = MSD_ERROR; 80c3b4e: 2301 movs r3, #1 80c3b50: 75fb strb r3, [r7, #23] } return sd_state; 80c3b52: 7dfb ldrb r3, [r7, #23] } 80c3b54: 4618 mov r0, r3 80c3b56: 3718 adds r7, #24 80c3b58: 46bd mov sp, r7 80c3b5a: bd80 pop {r7, pc} 80c3b5c: 2006862c .word 0x2006862c 080c3b60 : * @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) { 80c3b60: b580 push {r7, lr} 80c3b62: b086 sub sp, #24 80c3b64: af00 add r7, sp, #0 80c3b66: 60f8 str r0, [r7, #12] 80c3b68: 60b9 str r1, [r7, #8] 80c3b6a: 607a str r2, [r7, #4] uint8_t sd_state = MSD_OK; 80c3b6c: 2300 movs r3, #0 80c3b6e: 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) 80c3b70: 687b ldr r3, [r7, #4] 80c3b72: 68ba ldr r2, [r7, #8] 80c3b74: 68f9 ldr r1, [r7, #12] 80c3b76: 4806 ldr r0, [pc, #24] ; (80c3b90 ) 80c3b78: f7f9 f9fe bl 80bcf78 80c3b7c: 4603 mov r3, r0 80c3b7e: 2b00 cmp r3, #0 80c3b80: d001 beq.n 80c3b86 { sd_state = MSD_ERROR; 80c3b82: 2301 movs r3, #1 80c3b84: 75fb strb r3, [r7, #23] } return sd_state; 80c3b86: 7dfb ldrb r3, [r7, #23] } 80c3b88: 4618 mov r0, r3 80c3b8a: 3718 adds r7, #24 80c3b8c: 46bd mov sp, r7 80c3b8e: bd80 pop {r7, pc} 80c3b90: 2006862c .word 0x2006862c 080c3b94 : * 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) { 80c3b94: b580 push {r7, lr} 80c3b96: af00 add r7, sp, #0 return ((HAL_SD_GetCardState(&hsd1) == HAL_SD_CARD_TRANSFER ) ? SD_TRANSFER_OK : SD_TRANSFER_BUSY); 80c3b98: 4805 ldr r0, [pc, #20] ; (80c3bb0 ) 80c3b9a: f7f9 febd bl 80bd918 80c3b9e: 4603 mov r3, r0 80c3ba0: 2b04 cmp r3, #4 80c3ba2: bf14 ite ne 80c3ba4: 2301 movne r3, #1 80c3ba6: 2300 moveq r3, #0 80c3ba8: b2db uxtb r3, r3 } 80c3baa: 4618 mov r0, r3 80c3bac: bd80 pop {r7, pc} 80c3bae: bf00 nop 80c3bb0: 2006862c .word 0x2006862c 080c3bb4 : * @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) { 80c3bb4: b580 push {r7, lr} 80c3bb6: b082 sub sp, #8 80c3bb8: af00 add r7, sp, #0 80c3bba: 6078 str r0, [r7, #4] /* Get SD card Information */ HAL_SD_GetCardInfo(&hsd1, CardInfo); 80c3bbc: 6879 ldr r1, [r7, #4] 80c3bbe: 4803 ldr r0, [pc, #12] ; (80c3bcc ) 80c3bc0: f7f9 fde4 bl 80bd78c } 80c3bc4: bf00 nop 80c3bc6: 3708 adds r7, #8 80c3bc8: 46bd mov sp, r7 80c3bca: bd80 pop {r7, pc} 80c3bcc: 2006862c .word 0x2006862c 080c3bd0 : * @brief SD Abort callbacks * @param hsd: SD handle * @retval None */ void HAL_SD_AbortCallback(SD_HandleTypeDef *hsd) { 80c3bd0: b580 push {r7, lr} 80c3bd2: b082 sub sp, #8 80c3bd4: af00 add r7, sp, #0 80c3bd6: 6078 str r0, [r7, #4] BSP_SD_AbortCallback(); 80c3bd8: f000 f818 bl 80c3c0c } 80c3bdc: bf00 nop 80c3bde: 3708 adds r7, #8 80c3be0: 46bd mov sp, r7 80c3be2: bd80 pop {r7, pc} 080c3be4 : * @brief Tx Transfer completed callback * @param hsd: SD handle * @retval None */ void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd) { 80c3be4: b580 push {r7, lr} 80c3be6: b082 sub sp, #8 80c3be8: af00 add r7, sp, #0 80c3bea: 6078 str r0, [r7, #4] BSP_SD_WriteCpltCallback(); 80c3bec: f000 f9e8 bl 80c3fc0 } 80c3bf0: bf00 nop 80c3bf2: 3708 adds r7, #8 80c3bf4: 46bd mov sp, r7 80c3bf6: bd80 pop {r7, pc} 080c3bf8 : * @brief Rx Transfer completed callback * @param hsd: SD handle * @retval None */ void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd) { 80c3bf8: b580 push {r7, lr} 80c3bfa: b082 sub sp, #8 80c3bfc: af00 add r7, sp, #0 80c3bfe: 6078 str r0, [r7, #4] BSP_SD_ReadCpltCallback(); 80c3c00: f000 f9ea bl 80c3fd8 } 80c3c04: bf00 nop 80c3c06: 3708 adds r7, #8 80c3c08: 46bd mov sp, r7 80c3c0a: bd80 pop {r7, pc} 080c3c0c : /** * @brief BSP SD Abort callback * @retval None */ __weak void BSP_SD_AbortCallback(void) { 80c3c0c: b480 push {r7} 80c3c0e: af00 add r7, sp, #0 } 80c3c10: bf00 nop 80c3c12: 46bd mov sp, r7 80c3c14: f85d 7b04 ldr.w r7, [sp], #4 80c3c18: 4770 bx lr 080c3c1a : * @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) { 80c3c1a: b580 push {r7, lr} 80c3c1c: b082 sub sp, #8 80c3c1e: af00 add r7, sp, #0 __IO uint8_t status = SD_PRESENT; 80c3c20: 2301 movs r3, #1 80c3c22: 71fb strb r3, [r7, #7] if(BSP_PlatformIsDetected() == 0x0) 80c3c24: f7ff ff44 bl 80c3ab0 80c3c28: 4603 mov r3, r0 80c3c2a: 2b00 cmp r3, #0 80c3c2c: d101 bne.n 80c3c32 status = SD_NOT_PRESENT; 80c3c2e: 2300 movs r3, #0 80c3c30: 71fb strb r3, [r7, #7] /*if(BSP_PlatformIsDetected() == 0x0) { status = SD_NOT_PRESENT; }*/ return status; 80c3c32: 79fb ldrb r3, [r7, #7] 80c3c34: b2db uxtb r3, r3 } 80c3c36: 4618 mov r0, r3 80c3c38: 3708 adds r7, #8 80c3c3a: 46bd mov sp, r7 80c3c3c: bd80 pop {r7, pc} ... 080c3c40 : { 80c3c40: b480 push {r7} 80c3c42: b085 sub sp, #20 80c3c44: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 80c3c46: 4b19 ldr r3, [pc, #100] ; (80c3cac ) 80c3c48: 2200 movs r2, #0 80c3c4a: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 80c3c4e: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 80c3c52: 4b16 ldr r3, [pc, #88] ; (80c3cac ) 80c3c54: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80c3c58: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 80c3c5a: 687b ldr r3, [r7, #4] 80c3c5c: 0b5b lsrs r3, r3, #13 80c3c5e: f3c3 030e ubfx r3, r3, #0, #15 80c3c62: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 80c3c64: 687b ldr r3, [r7, #4] 80c3c66: 08db lsrs r3, r3, #3 80c3c68: f3c3 0309 ubfx r3, r3, #0, #10 80c3c6c: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80c3c6e: 490f ldr r1, [pc, #60] ; (80c3cac ) 80c3c70: 68fb ldr r3, [r7, #12] 80c3c72: 015a lsls r2, r3, #5 80c3c74: f643 73e0 movw r3, #16352 ; 0x3fe0 80c3c78: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 80c3c7a: 68ba ldr r2, [r7, #8] 80c3c7c: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80c3c7e: 4313 orrs r3, r2 80c3c80: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 80c3c84: 68bb ldr r3, [r7, #8] 80c3c86: 1e5a subs r2, r3, #1 80c3c88: 60ba str r2, [r7, #8] 80c3c8a: 2b00 cmp r3, #0 80c3c8c: d1ef bne.n 80c3c6e } while(sets-- != 0U); 80c3c8e: 68fb ldr r3, [r7, #12] 80c3c90: 1e5a subs r2, r3, #1 80c3c92: 60fa str r2, [r7, #12] 80c3c94: 2b00 cmp r3, #0 80c3c96: d1e5 bne.n 80c3c64 80c3c98: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80c3c9c: f3bf 8f6f isb sy } 80c3ca0: bf00 nop 80c3ca2: 3714 adds r7, #20 80c3ca4: 46bd mov sp, r7 80c3ca6: f85d 7b04 ldr.w r7, [sp], #4 80c3caa: 4770 bx lr 80c3cac: e000ed00 .word 0xe000ed00 080c3cb0 : { 80c3cb0: b480 push {r7} 80c3cb2: b087 sub sp, #28 80c3cb4: af00 add r7, sp, #0 80c3cb6: 6078 str r0, [r7, #4] 80c3cb8: 6039 str r1, [r7, #0] int32_t op_size = dsize; 80c3cba: 683b ldr r3, [r7, #0] 80c3cbc: 617b str r3, [r7, #20] uint32_t op_addr = (uint32_t) addr; 80c3cbe: 687b ldr r3, [r7, #4] 80c3cc0: 613b str r3, [r7, #16] int32_t linesize = 32; /* in Cortex-M7 size of cache line is fixed to 8 words (32 bytes) */ 80c3cc2: 2320 movs r3, #32 80c3cc4: 60fb str r3, [r7, #12] __ASM volatile ("dsb 0xF":::"memory"); 80c3cc6: f3bf 8f4f dsb sy while (op_size > 0) { 80c3cca: e00b b.n 80c3ce4 SCB->DCCIMVAC = op_addr; 80c3ccc: 4a0c ldr r2, [pc, #48] ; (80c3d00 ) 80c3cce: 693b ldr r3, [r7, #16] 80c3cd0: f8c2 3270 str.w r3, [r2, #624] ; 0x270 op_addr += (uint32_t)linesize; 80c3cd4: 68fb ldr r3, [r7, #12] 80c3cd6: 693a ldr r2, [r7, #16] 80c3cd8: 4413 add r3, r2 80c3cda: 613b str r3, [r7, #16] op_size -= linesize; 80c3cdc: 697a ldr r2, [r7, #20] 80c3cde: 68fb ldr r3, [r7, #12] 80c3ce0: 1ad3 subs r3, r2, r3 80c3ce2: 617b str r3, [r7, #20] while (op_size > 0) { 80c3ce4: 697b ldr r3, [r7, #20] 80c3ce6: 2b00 cmp r3, #0 80c3ce8: dcf0 bgt.n 80c3ccc 80c3cea: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80c3cee: f3bf 8f6f isb sy } 80c3cf2: bf00 nop 80c3cf4: 371c adds r7, #28 80c3cf6: 46bd mov sp, r7 80c3cf8: f85d 7b04 ldr.w r7, [sp], #4 80c3cfc: 4770 bx lr 80c3cfe: bf00 nop 80c3d00: e000ed00 .word 0xe000ed00 080c3d04 : /* can be used to modify / undefine following code or add new code */ /* USER CODE END beforeFunctionSection */ /* Private functions ---------------------------------------------------------*/ static DSTATUS SD_CheckStatus(BYTE lun) { 80c3d04: b580 push {r7, lr} 80c3d06: b082 sub sp, #8 80c3d08: af00 add r7, sp, #0 80c3d0a: 4603 mov r3, r0 80c3d0c: 71fb strb r3, [r7, #7] Stat = STA_NOINIT; 80c3d0e: 4b0b ldr r3, [pc, #44] ; (80c3d3c ) 80c3d10: 2201 movs r2, #1 80c3d12: 701a strb r2, [r3, #0] if(BSP_SD_GetCardState() == MSD_OK) 80c3d14: f7ff ff3e bl 80c3b94 80c3d18: 4603 mov r3, r0 80c3d1a: 2b00 cmp r3, #0 80c3d1c: d107 bne.n 80c3d2e { Stat &= ~STA_NOINIT; 80c3d1e: 4b07 ldr r3, [pc, #28] ; (80c3d3c ) 80c3d20: 781b ldrb r3, [r3, #0] 80c3d22: b2db uxtb r3, r3 80c3d24: f023 0301 bic.w r3, r3, #1 80c3d28: b2da uxtb r2, r3 80c3d2a: 4b04 ldr r3, [pc, #16] ; (80c3d3c ) 80c3d2c: 701a strb r2, [r3, #0] } return Stat; 80c3d2e: 4b03 ldr r3, [pc, #12] ; (80c3d3c ) 80c3d30: 781b ldrb r3, [r3, #0] 80c3d32: b2db uxtb r3, r3 } 80c3d34: 4618 mov r0, r3 80c3d36: 3708 adds r7, #8 80c3d38: 46bd mov sp, r7 80c3d3a: bd80 pop {r7, pc} 80c3d3c: 200209e5 .word 0x200209e5 080c3d40 : * @brief Initializes a Drive * @param lun : not used * @retval DSTATUS: Operation status */ DSTATUS SD_initialize(BYTE lun) { 80c3d40: b580 push {r7, lr} 80c3d42: b082 sub sp, #8 80c3d44: af00 add r7, sp, #0 80c3d46: 4603 mov r3, r0 80c3d48: 71fb strb r3, [r7, #7] Stat = STA_NOINIT; 80c3d4a: 4b0b ldr r3, [pc, #44] ; (80c3d78 ) 80c3d4c: 2201 movs r2, #1 80c3d4e: 701a strb r2, [r3, #0] #if !defined(DISABLE_SD_INIT) if(BSP_SD_Init() == MSD_OK) 80c3d50: f7ff fec4 bl 80c3adc 80c3d54: 4603 mov r3, r0 80c3d56: 2b00 cmp r3, #0 80c3d58: d107 bne.n 80c3d6a { Stat = SD_CheckStatus(lun); 80c3d5a: 79fb ldrb r3, [r7, #7] 80c3d5c: 4618 mov r0, r3 80c3d5e: f7ff ffd1 bl 80c3d04 80c3d62: 4603 mov r3, r0 80c3d64: 461a mov r2, r3 80c3d66: 4b04 ldr r3, [pc, #16] ; (80c3d78 ) 80c3d68: 701a strb r2, [r3, #0] } #else Stat = SD_CheckStatus(lun); #endif return Stat; 80c3d6a: 4b03 ldr r3, [pc, #12] ; (80c3d78 ) 80c3d6c: 781b ldrb r3, [r3, #0] 80c3d6e: b2db uxtb r3, r3 } 80c3d70: 4618 mov r0, r3 80c3d72: 3708 adds r7, #8 80c3d74: 46bd mov sp, r7 80c3d76: bd80 pop {r7, pc} 80c3d78: 200209e5 .word 0x200209e5 080c3d7c : * @brief Gets Disk Status * @param lun : not used * @retval DSTATUS: Operation status */ DSTATUS SD_status(BYTE lun) { 80c3d7c: b580 push {r7, lr} 80c3d7e: b082 sub sp, #8 80c3d80: af00 add r7, sp, #0 80c3d82: 4603 mov r3, r0 80c3d84: 71fb strb r3, [r7, #7] return SD_CheckStatus(lun); 80c3d86: 79fb ldrb r3, [r7, #7] 80c3d88: 4618 mov r0, r3 80c3d8a: f7ff ffbb bl 80c3d04 80c3d8e: 4603 mov r3, r0 } 80c3d90: 4618 mov r0, r3 80c3d92: 3708 adds r7, #8 80c3d94: 46bd mov sp, r7 80c3d96: bd80 pop {r7, pc} 080c3d98 : * @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) { 80c3d98: b580 push {r7, lr} 80c3d9a: b088 sub sp, #32 80c3d9c: af00 add r7, sp, #0 80c3d9e: 60b9 str r1, [r7, #8] 80c3da0: 607a str r2, [r7, #4] 80c3da2: 603b str r3, [r7, #0] 80c3da4: 4603 mov r3, r0 80c3da6: 73fb strb r3, [r7, #15] DRESULT res = RES_ERROR; 80c3da8: 2301 movs r3, #1 80c3daa: 77fb strb r3, [r7, #31] uint32_t timeout; uint32_t alignedAddr; #if(ENABLE_SD_DMA_CACHE_MAINTENANCE == 1) alignedAddr = (uint32_t)buff & ~0x1F; 80c3dac: 68bb ldr r3, [r7, #8] 80c3dae: f023 031f bic.w r3, r3, #31 80c3db2: 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)); 80c3db4: 69b8 ldr r0, [r7, #24] 80c3db6: 683b ldr r3, [r7, #0] 80c3db8: 025a lsls r2, r3, #9 80c3dba: 68b9 ldr r1, [r7, #8] 80c3dbc: 69bb ldr r3, [r7, #24] 80c3dbe: 1acb subs r3, r1, r3 80c3dc0: 4413 add r3, r2 80c3dc2: 4619 mov r1, r3 80c3dc4: f7ff ff74 bl 80c3cb0 #endif MY_SD_TIMEOUT = count * 2000UL; 80c3dc8: 683b ldr r3, [r7, #0] 80c3dca: f44f 62fa mov.w r2, #2000 ; 0x7d0 80c3dce: fb02 f303 mul.w r3, r2, r3 80c3dd2: 4a21 ldr r2, [pc, #132] ; (80c3e58 ) 80c3dd4: 6013 str r3, [r2, #0] ReadStatus = 0; 80c3dd6: 4b21 ldr r3, [pc, #132] ; (80c3e5c ) 80c3dd8: 2200 movs r2, #0 80c3dda: 601a str r2, [r3, #0] //SCB_CleanInvalidateDCache(); if(BSP_SD_ReadBlocks_DMA((uint32_t *)buff, (uint32_t) sector, count) == MSD_OK) 80c3ddc: 683a ldr r2, [r7, #0] 80c3dde: 6879 ldr r1, [r7, #4] 80c3de0: 68b8 ldr r0, [r7, #8] 80c3de2: f7ff fea3 bl 80c3b2c 80c3de6: 4603 mov r3, r0 80c3de8: 2b00 cmp r3, #0 80c3dea: d12f bne.n 80c3e4c { timeout = HAL_GetTick(); 80c3dec: f7f3 f81a bl 80b6e24 80c3df0: 6178 str r0, [r7, #20] while((ReadStatus == 0) && ((HAL_GetTick() - timeout) < MY_SD_TIMEOUT)); 80c3df2: bf00 nop 80c3df4: 4b19 ldr r3, [pc, #100] ; (80c3e5c ) 80c3df6: 681b ldr r3, [r3, #0] 80c3df8: 2b00 cmp r3, #0 80c3dfa: d108 bne.n 80c3e0e 80c3dfc: f7f3 f812 bl 80b6e24 80c3e00: 4602 mov r2, r0 80c3e02: 697b ldr r3, [r7, #20] 80c3e04: 1ad2 subs r2, r2, r3 80c3e06: 4b14 ldr r3, [pc, #80] ; (80c3e58 ) 80c3e08: 681b ldr r3, [r3, #0] 80c3e0a: 429a cmp r2, r3 80c3e0c: d3f2 bcc.n 80c3df4 if(ReadStatus == 0) 80c3e0e: 4b13 ldr r3, [pc, #76] ; (80c3e5c ) 80c3e10: 681b ldr r3, [r3, #0] 80c3e12: 2b00 cmp r3, #0 80c3e14: d102 bne.n 80c3e1c { res = RES_ERROR; 80c3e16: 2301 movs r3, #1 80c3e18: 77fb strb r3, [r7, #31] 80c3e1a: e017 b.n 80c3e4c } else { ReadStatus = 0; 80c3e1c: 4b0f ldr r3, [pc, #60] ; (80c3e5c ) 80c3e1e: 2200 movs r2, #0 80c3e20: 601a str r2, [r3, #0] timeout = HAL_GetTick(); 80c3e22: f7f2 ffff bl 80b6e24 80c3e26: 6178 str r0, [r7, #20] while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80c3e28: e007 b.n 80c3e3a { if(BSP_SD_GetCardState() == SD_TRANSFER_OK) 80c3e2a: f7ff feb3 bl 80c3b94 80c3e2e: 4603 mov r3, r0 80c3e30: 2b00 cmp r3, #0 80c3e32: d102 bne.n 80c3e3a { res = RES_OK; 80c3e34: 2300 movs r3, #0 80c3e36: 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; 80c3e38: e008 b.n 80c3e4c while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80c3e3a: f7f2 fff3 bl 80b6e24 80c3e3e: 4602 mov r2, r0 80c3e40: 697b ldr r3, [r7, #20] 80c3e42: 1ad2 subs r2, r2, r3 80c3e44: 4b04 ldr r3, [pc, #16] ; (80c3e58 ) 80c3e46: 681b ldr r3, [r3, #0] 80c3e48: 429a cmp r2, r3 80c3e4a: d3ee bcc.n 80c3e2a } } } } return res; 80c3e4c: 7ffb ldrb r3, [r7, #31] } 80c3e4e: 4618 mov r0, r3 80c3e50: 3720 adds r7, #32 80c3e52: 46bd mov sp, r7 80c3e54: bd80 pop {r7, pc} 80c3e56: bf00 nop 80c3e58: 200216e4 .word 0x200216e4 80c3e5c: 200216ec .word 0x200216ec 080c3e60 : * @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) { 80c3e60: b580 push {r7, lr} 80c3e62: b086 sub sp, #24 80c3e64: af00 add r7, sp, #0 80c3e66: 60b9 str r1, [r7, #8] 80c3e68: 607a str r2, [r7, #4] 80c3e6a: 603b str r3, [r7, #0] 80c3e6c: 4603 mov r3, r0 80c3e6e: 73fb strb r3, [r7, #15] DRESULT res = RES_ERROR; 80c3e70: 2301 movs r3, #1 80c3e72: 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; 80c3e74: 683b ldr r3, [r7, #0] 80c3e76: f44f 62fa mov.w r2, #2000 ; 0x7d0 80c3e7a: fb02 f303 mul.w r3, r2, r3 80c3e7e: 4a22 ldr r2, [pc, #136] ; (80c3f08 ) 80c3e80: 6013 str r3, [r2, #0] WriteStatus = 0; 80c3e82: 4b22 ldr r3, [pc, #136] ; (80c3f0c ) 80c3e84: 2200 movs r2, #0 80c3e86: 601a str r2, [r3, #0] SCB_CleanInvalidateDCache(); 80c3e88: f7ff feda bl 80c3c40 if(BSP_SD_WriteBlocks_DMA((uint32_t *) buff, (uint32_t) sector, count) == MSD_OK) 80c3e8c: 683a ldr r2, [r7, #0] 80c3e8e: 6879 ldr r1, [r7, #4] 80c3e90: 68b8 ldr r0, [r7, #8] 80c3e92: f7ff fe65 bl 80c3b60 80c3e96: 4603 mov r3, r0 80c3e98: 2b00 cmp r3, #0 80c3e9a: d12f bne.n 80c3efc { timeout = HAL_GetTick(); 80c3e9c: f7f2 ffc2 bl 80b6e24 80c3ea0: 6138 str r0, [r7, #16] while((WriteStatus == 0) && ((HAL_GetTick() - timeout) < MY_SD_TIMEOUT)); 80c3ea2: bf00 nop 80c3ea4: 4b19 ldr r3, [pc, #100] ; (80c3f0c ) 80c3ea6: 681b ldr r3, [r3, #0] 80c3ea8: 2b00 cmp r3, #0 80c3eaa: d108 bne.n 80c3ebe 80c3eac: f7f2 ffba bl 80b6e24 80c3eb0: 4602 mov r2, r0 80c3eb2: 693b ldr r3, [r7, #16] 80c3eb4: 1ad2 subs r2, r2, r3 80c3eb6: 4b14 ldr r3, [pc, #80] ; (80c3f08 ) 80c3eb8: 681b ldr r3, [r3, #0] 80c3eba: 429a cmp r2, r3 80c3ebc: d3f2 bcc.n 80c3ea4 if(WriteStatus == 0) 80c3ebe: 4b13 ldr r3, [pc, #76] ; (80c3f0c ) 80c3ec0: 681b ldr r3, [r3, #0] 80c3ec2: 2b00 cmp r3, #0 80c3ec4: d102 bne.n 80c3ecc { res = RES_ERROR; 80c3ec6: 2301 movs r3, #1 80c3ec8: 75fb strb r3, [r7, #23] 80c3eca: e017 b.n 80c3efc } else { WriteStatus = 0; 80c3ecc: 4b0f ldr r3, [pc, #60] ; (80c3f0c ) 80c3ece: 2200 movs r2, #0 80c3ed0: 601a str r2, [r3, #0] timeout = HAL_GetTick(); 80c3ed2: f7f2 ffa7 bl 80b6e24 80c3ed6: 6138 str r0, [r7, #16] while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80c3ed8: e007 b.n 80c3eea { if (BSP_SD_GetCardState() == SD_TRANSFER_OK) 80c3eda: f7ff fe5b bl 80c3b94 80c3ede: 4603 mov r3, r0 80c3ee0: 2b00 cmp r3, #0 80c3ee2: d102 bne.n 80c3eea { res = RES_OK; 80c3ee4: 2300 movs r3, #0 80c3ee6: 75fb strb r3, [r7, #23] //alignedAddr = (uint32_t) buff & ~0x1F; //SCB_InvalidateDCache_by_Addr((uint32_t *) alignedAddr, count*BLOCKSIZE + ((uint32_t)buff - alignedAddr)); break; 80c3ee8: e008 b.n 80c3efc while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80c3eea: f7f2 ff9b bl 80b6e24 80c3eee: 4602 mov r2, r0 80c3ef0: 693b ldr r3, [r7, #16] 80c3ef2: 1ad2 subs r2, r2, r3 80c3ef4: 4b04 ldr r3, [pc, #16] ; (80c3f08 ) 80c3ef6: 681b ldr r3, [r3, #0] 80c3ef8: 429a cmp r2, r3 80c3efa: d3ee bcc.n 80c3eda } } } } return res; 80c3efc: 7dfb ldrb r3, [r7, #23] } 80c3efe: 4618 mov r0, r3 80c3f00: 3718 adds r7, #24 80c3f02: 46bd mov sp, r7 80c3f04: bd80 pop {r7, pc} 80c3f06: bf00 nop 80c3f08: 200216e4 .word 0x200216e4 80c3f0c: 200216e8 .word 0x200216e8 080c3f10 : * @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) { 80c3f10: b580 push {r7, lr} 80c3f12: b08c sub sp, #48 ; 0x30 80c3f14: af00 add r7, sp, #0 80c3f16: 4603 mov r3, r0 80c3f18: 603a str r2, [r7, #0] 80c3f1a: 71fb strb r3, [r7, #7] 80c3f1c: 460b mov r3, r1 80c3f1e: 71bb strb r3, [r7, #6] DRESULT res = RES_ERROR; 80c3f20: 2301 movs r3, #1 80c3f22: f887 302f strb.w r3, [r7, #47] ; 0x2f BSP_SD_CardInfo CardInfo; if (Stat & STA_NOINIT) return RES_NOTRDY; 80c3f26: 4b25 ldr r3, [pc, #148] ; (80c3fbc ) 80c3f28: 781b ldrb r3, [r3, #0] 80c3f2a: b2db uxtb r3, r3 80c3f2c: f003 0301 and.w r3, r3, #1 80c3f30: 2b00 cmp r3, #0 80c3f32: d001 beq.n 80c3f38 80c3f34: 2303 movs r3, #3 80c3f36: e03c b.n 80c3fb2 switch (cmd) 80c3f38: 79bb ldrb r3, [r7, #6] 80c3f3a: 2b03 cmp r3, #3 80c3f3c: d834 bhi.n 80c3fa8 80c3f3e: a201 add r2, pc, #4 ; (adr r2, 80c3f44 ) 80c3f40: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c3f44: 080c3f55 .word 0x080c3f55 80c3f48: 080c3f5d .word 0x080c3f5d 80c3f4c: 080c3f75 .word 0x080c3f75 80c3f50: 080c3f8f .word 0x080c3f8f { /* Make sure that no pending write process */ case CTRL_SYNC : res = RES_OK; 80c3f54: 2300 movs r3, #0 80c3f56: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80c3f5a: e028 b.n 80c3fae /* Get number of sectors on the disk (DWORD) */ case GET_SECTOR_COUNT : BSP_SD_GetCardInfo(&CardInfo); 80c3f5c: f107 030c add.w r3, r7, #12 80c3f60: 4618 mov r0, r3 80c3f62: f7ff fe27 bl 80c3bb4 *(DWORD*)buff = CardInfo.LogBlockNbr; 80c3f66: 6a7a ldr r2, [r7, #36] ; 0x24 80c3f68: 683b ldr r3, [r7, #0] 80c3f6a: 601a str r2, [r3, #0] res = RES_OK; 80c3f6c: 2300 movs r3, #0 80c3f6e: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80c3f72: e01c b.n 80c3fae /* Get R/W sector size (WORD) */ case GET_SECTOR_SIZE : BSP_SD_GetCardInfo(&CardInfo); 80c3f74: f107 030c add.w r3, r7, #12 80c3f78: 4618 mov r0, r3 80c3f7a: f7ff fe1b bl 80c3bb4 *(WORD*)buff = CardInfo.LogBlockSize; 80c3f7e: 6abb ldr r3, [r7, #40] ; 0x28 80c3f80: b29a uxth r2, r3 80c3f82: 683b ldr r3, [r7, #0] 80c3f84: 801a strh r2, [r3, #0] res = RES_OK; 80c3f86: 2300 movs r3, #0 80c3f88: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80c3f8c: e00f b.n 80c3fae /* Get erase block size in unit of sector (DWORD) */ case GET_BLOCK_SIZE : BSP_SD_GetCardInfo(&CardInfo); 80c3f8e: f107 030c add.w r3, r7, #12 80c3f92: 4618 mov r0, r3 80c3f94: f7ff fe0e bl 80c3bb4 *(DWORD*)buff = CardInfo.LogBlockSize / SD_DEFAULT_BLOCK_SIZE; 80c3f98: 6abb ldr r3, [r7, #40] ; 0x28 80c3f9a: 0a5a lsrs r2, r3, #9 80c3f9c: 683b ldr r3, [r7, #0] 80c3f9e: 601a str r2, [r3, #0] res = RES_OK; 80c3fa0: 2300 movs r3, #0 80c3fa2: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80c3fa6: e002 b.n 80c3fae default: res = RES_PARERR; 80c3fa8: 2304 movs r3, #4 80c3faa: f887 302f strb.w r3, [r7, #47] ; 0x2f } return res; 80c3fae: f897 302f ldrb.w r3, [r7, #47] ; 0x2f } 80c3fb2: 4618 mov r0, r3 80c3fb4: 3730 adds r7, #48 ; 0x30 80c3fb6: 46bd mov sp, r7 80c3fb8: bd80 pop {r7, pc} 80c3fba: bf00 nop 80c3fbc: 200209e5 .word 0x200209e5 080c3fc0 : prototype =============================================================================== */ //void BSP_SD_WriteCpltCallback(uint32_t SdCard) void BSP_SD_WriteCpltCallback(void) { 80c3fc0: b480 push {r7} 80c3fc2: af00 add r7, sp, #0 WriteStatus = 1; 80c3fc4: 4b03 ldr r3, [pc, #12] ; (80c3fd4 ) 80c3fc6: 2201 movs r2, #1 80c3fc8: 601a str r2, [r3, #0] } 80c3fca: bf00 nop 80c3fcc: 46bd mov sp, r7 80c3fce: f85d 7b04 ldr.w r7, [sp], #4 80c3fd2: 4770 bx lr 80c3fd4: 200216e8 .word 0x200216e8 080c3fd8 : prototype =============================================================================== */ //void BSP_SD_ReadCpltCallback(uint32_t SdCard) void BSP_SD_ReadCpltCallback(void) { 80c3fd8: b480 push {r7} 80c3fda: af00 add r7, sp, #0 ReadStatus = 1; 80c3fdc: 4b03 ldr r3, [pc, #12] ; (80c3fec ) 80c3fde: 2201 movs r2, #1 80c3fe0: 601a str r2, [r3, #0] } 80c3fe2: bf00 nop 80c3fe4: 46bd mov sp, r7 80c3fe6: f85d 7b04 ldr.w r7, [sp], #4 80c3fea: 4770 bx lr 80c3fec: 200216ec .word 0x200216ec 080c3ff0 : * @param pdev: device instance * @param cfgidx: configuration index * @retval status */ uint8_t USBD_MSC_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80c3ff0: b580 push {r7, lr} 80c3ff2: b084 sub sp, #16 80c3ff4: af00 add r7, sp, #0 80c3ff6: 6078 str r0, [r7, #4] 80c3ff8: 460b mov r3, r1 80c3ffa: 70fb strb r3, [r7, #3] UNUSED(cfgidx); USBD_MSC_BOT_HandleTypeDef *hmsc; hmsc = USBD_malloc(sizeof(USBD_MSC_BOT_HandleTypeDef)); 80c3ffc: f44f 701d mov.w r0, #628 ; 0x274 80c4000: f00d f9a4 bl 80d134c 80c4004: 4603 mov r3, r0 80c4006: 60fb str r3, [r7, #12] if (hmsc == NULL) 80c4008: 68fb ldr r3, [r7, #12] 80c400a: 2b00 cmp r3, #0 80c400c: d105 bne.n 80c401a { pdev->pClassData = NULL; 80c400e: 687b ldr r3, [r7, #4] 80c4010: 2200 movs r2, #0 80c4012: f8c3 22bc str.w r2, [r3, #700] ; 0x2bc return (uint8_t)USBD_EMEM; 80c4016: 2302 movs r3, #2 80c4018: e034 b.n 80c4084 } pdev->pClassData = (void *)hmsc; 80c401a: 687b ldr r3, [r7, #4] 80c401c: 68fa ldr r2, [r7, #12] 80c401e: f8c3 22bc str.w r2, [r3, #700] ; 0x2bc if (pdev->dev_speed == USBD_SPEED_HIGH) 80c4022: 687b ldr r3, [r7, #4] 80c4024: 7c1b ldrb r3, [r3, #16] 80c4026: 2b00 cmp r3, #0 80c4028: d115 bne.n 80c4056 { /* Open EP OUT */ (void)USBD_LL_OpenEP(pdev, MSC_EPOUT_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_HS_PACKET); 80c402a: f44f 7300 mov.w r3, #512 ; 0x200 80c402e: 2202 movs r2, #2 80c4030: 2101 movs r1, #1 80c4032: 6878 ldr r0, [r7, #4] 80c4034: f009 fe23 bl 80cdc7e pdev->ep_out[MSC_EPOUT_ADDR & 0xFU].is_used = 1U; 80c4038: 687b ldr r3, [r7, #4] 80c403a: 2201 movs r2, #1 80c403c: 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); 80c4040: f44f 7300 mov.w r3, #512 ; 0x200 80c4044: 2202 movs r2, #2 80c4046: 2181 movs r1, #129 ; 0x81 80c4048: 6878 ldr r0, [r7, #4] 80c404a: f009 fe18 bl 80cdc7e pdev->ep_in[MSC_EPIN_ADDR & 0xFU].is_used = 1U; 80c404e: 687b ldr r3, [r7, #4] 80c4050: 2201 movs r2, #1 80c4052: 871a strh r2, [r3, #56] ; 0x38 80c4054: e012 b.n 80c407c } else { /* Open EP OUT */ (void)USBD_LL_OpenEP(pdev, MSC_EPOUT_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_FS_PACKET); 80c4056: 2340 movs r3, #64 ; 0x40 80c4058: 2202 movs r2, #2 80c405a: 2101 movs r1, #1 80c405c: 6878 ldr r0, [r7, #4] 80c405e: f009 fe0e bl 80cdc7e pdev->ep_out[MSC_EPOUT_ADDR & 0xFU].is_used = 1U; 80c4062: 687b ldr r3, [r7, #4] 80c4064: 2201 movs r2, #1 80c4066: 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); 80c406a: 2340 movs r3, #64 ; 0x40 80c406c: 2202 movs r2, #2 80c406e: 2181 movs r1, #129 ; 0x81 80c4070: 6878 ldr r0, [r7, #4] 80c4072: f009 fe04 bl 80cdc7e pdev->ep_in[MSC_EPIN_ADDR & 0xFU].is_used = 1U; 80c4076: 687b ldr r3, [r7, #4] 80c4078: 2201 movs r2, #1 80c407a: 871a strh r2, [r3, #56] ; 0x38 } /* Init the BOT layer */ MSC_BOT_Init(pdev); 80c407c: 6878 ldr r0, [r7, #4] 80c407e: f000 f98e bl 80c439e return (uint8_t)USBD_OK; 80c4082: 2300 movs r3, #0 } 80c4084: 4618 mov r0, r3 80c4086: 3710 adds r7, #16 80c4088: 46bd mov sp, r7 80c408a: bd80 pop {r7, pc} 080c408c : * @param pdev: device instance * @param cfgidx: configuration index * @retval status */ uint8_t USBD_MSC_DeInit(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80c408c: b580 push {r7, lr} 80c408e: b082 sub sp, #8 80c4090: af00 add r7, sp, #0 80c4092: 6078 str r0, [r7, #4] 80c4094: 460b mov r3, r1 80c4096: 70fb strb r3, [r7, #3] UNUSED(cfgidx); /* Close MSC EPs */ (void)USBD_LL_CloseEP(pdev, MSC_EPOUT_ADDR); 80c4098: 2101 movs r1, #1 80c409a: 6878 ldr r0, [r7, #4] 80c409c: f009 fe15 bl 80cdcca pdev->ep_out[MSC_EPOUT_ADDR & 0xFU].is_used = 0U; 80c40a0: 687b ldr r3, [r7, #4] 80c40a2: 2200 movs r2, #0 80c40a4: f8a3 2178 strh.w r2, [r3, #376] ; 0x178 /* Close EP IN */ (void)USBD_LL_CloseEP(pdev, MSC_EPIN_ADDR); 80c40a8: 2181 movs r1, #129 ; 0x81 80c40aa: 6878 ldr r0, [r7, #4] 80c40ac: f009 fe0d bl 80cdcca pdev->ep_in[MSC_EPIN_ADDR & 0xFU].is_used = 0U; 80c40b0: 687b ldr r3, [r7, #4] 80c40b2: 2200 movs r2, #0 80c40b4: 871a strh r2, [r3, #56] ; 0x38 /* De-Init the BOT layer */ MSC_BOT_DeInit(pdev); 80c40b6: 6878 ldr r0, [r7, #4] 80c40b8: f000 f9c7 bl 80c444a /* Free MSC Class Resources */ if (pdev->pClassData != NULL) 80c40bc: 687b ldr r3, [r7, #4] 80c40be: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c40c2: 2b00 cmp r3, #0 80c40c4: d009 beq.n 80c40da { (void)USBD_free(pdev->pClassData); 80c40c6: 687b ldr r3, [r7, #4] 80c40c8: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c40cc: 4618 mov r0, r3 80c40ce: f00d f945 bl 80d135c pdev->pClassData = NULL; 80c40d2: 687b ldr r3, [r7, #4] 80c40d4: 2200 movs r2, #0 80c40d6: f8c3 22bc str.w r2, [r3, #700] ; 0x2bc } return (uint8_t)USBD_OK; 80c40da: 2300 movs r3, #0 } 80c40dc: 4618 mov r0, r3 80c40de: 3708 adds r7, #8 80c40e0: 46bd mov sp, r7 80c40e2: bd80 pop {r7, pc} 080c40e4 : * @param pdev: device instance * @param req: USB request * @retval status */ uint8_t USBD_MSC_Setup(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c40e4: b580 push {r7, lr} 80c40e6: b086 sub sp, #24 80c40e8: af00 add r7, sp, #0 80c40ea: 6078 str r0, [r7, #4] 80c40ec: 6039 str r1, [r7, #0] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c40ee: 687b ldr r3, [r7, #4] 80c40f0: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c40f4: 613b str r3, [r7, #16] USBD_StatusTypeDef ret = USBD_OK; 80c40f6: 2300 movs r3, #0 80c40f8: 75fb strb r3, [r7, #23] uint16_t status_info = 0U; 80c40fa: 2300 movs r3, #0 80c40fc: 81fb strh r3, [r7, #14] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c40fe: 683b ldr r3, [r7, #0] 80c4100: 781b ldrb r3, [r3, #0] 80c4102: f003 0360 and.w r3, r3, #96 ; 0x60 80c4106: 2b00 cmp r3, #0 80c4108: d04d beq.n 80c41a6 80c410a: 2b20 cmp r3, #32 80c410c: f040 80c6 bne.w 80c429c { /* Class request */ case USB_REQ_TYPE_CLASS: switch (req->bRequest) 80c4110: 683b ldr r3, [r7, #0] 80c4112: 785b ldrb r3, [r3, #1] 80c4114: 2bfe cmp r3, #254 ; 0xfe 80c4116: d002 beq.n 80c411e 80c4118: 2bff cmp r3, #255 ; 0xff 80c411a: d024 beq.n 80c4166 80c411c: e03b b.n 80c4196 { case BOT_GET_MAX_LUN: if ((req->wValue == 0U) && (req->wLength == 1U) && 80c411e: 683b ldr r3, [r7, #0] 80c4120: 885b ldrh r3, [r3, #2] 80c4122: 2b00 cmp r3, #0 80c4124: d118 bne.n 80c4158 80c4126: 683b ldr r3, [r7, #0] 80c4128: 88db ldrh r3, [r3, #6] 80c412a: 2b01 cmp r3, #1 80c412c: d114 bne.n 80c4158 ((req->bmRequest & 0x80U) == 0x80U)) 80c412e: 683b ldr r3, [r7, #0] 80c4130: 781b ldrb r3, [r3, #0] 80c4132: b25b sxtb r3, r3 if ((req->wValue == 0U) && (req->wLength == 1U) && 80c4134: 2b00 cmp r3, #0 80c4136: da0f bge.n 80c4158 { hmsc->max_lun = (uint32_t)((USBD_StorageTypeDef *)pdev->pUserData)->GetMaxLun(); 80c4138: 687b ldr r3, [r7, #4] 80c413a: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c413e: 699b ldr r3, [r3, #24] 80c4140: 4798 blx r3 80c4142: 4603 mov r3, r0 80c4144: 461a mov r2, r3 80c4146: 693b ldr r3, [r7, #16] 80c4148: 601a str r2, [r3, #0] (void)USBD_CtlSendData(pdev, (uint8_t *)&hmsc->max_lun, 1U); 80c414a: 693b ldr r3, [r7, #16] 80c414c: 2201 movs r2, #1 80c414e: 4619 mov r1, r3 80c4150: 6878 ldr r0, [r7, #4] 80c4152: f002 fc82 bl 80c6a5a else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80c4156: e025 b.n 80c41a4 USBD_CtlError(pdev, req); 80c4158: 6839 ldr r1, [r7, #0] 80c415a: 6878 ldr r0, [r7, #4] 80c415c: f002 fc0c bl 80c6978 ret = USBD_FAIL; 80c4160: 2303 movs r3, #3 80c4162: 75fb strb r3, [r7, #23] break; 80c4164: e01e b.n 80c41a4 case BOT_RESET : if ((req->wValue == 0U) && (req->wLength == 0U) && 80c4166: 683b ldr r3, [r7, #0] 80c4168: 885b ldrh r3, [r3, #2] 80c416a: 2b00 cmp r3, #0 80c416c: d10c bne.n 80c4188 80c416e: 683b ldr r3, [r7, #0] 80c4170: 88db ldrh r3, [r3, #6] 80c4172: 2b00 cmp r3, #0 80c4174: d108 bne.n 80c4188 ((req->bmRequest & 0x80U) != 0x80U)) 80c4176: 683b ldr r3, [r7, #0] 80c4178: 781b ldrb r3, [r3, #0] 80c417a: b25b sxtb r3, r3 if ((req->wValue == 0U) && (req->wLength == 0U) && 80c417c: 2b00 cmp r3, #0 80c417e: db03 blt.n 80c4188 { MSC_BOT_Reset(pdev); 80c4180: 6878 ldr r0, [r7, #4] 80c4182: f000 f940 bl 80c4406 else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80c4186: e00d b.n 80c41a4 USBD_CtlError(pdev, req); 80c4188: 6839 ldr r1, [r7, #0] 80c418a: 6878 ldr r0, [r7, #4] 80c418c: f002 fbf4 bl 80c6978 ret = USBD_FAIL; 80c4190: 2303 movs r3, #3 80c4192: 75fb strb r3, [r7, #23] break; 80c4194: e006 b.n 80c41a4 default: USBD_CtlError(pdev, req); 80c4196: 6839 ldr r1, [r7, #0] 80c4198: 6878 ldr r0, [r7, #4] 80c419a: f002 fbed bl 80c6978 ret = USBD_FAIL; 80c419e: 2303 movs r3, #3 80c41a0: 75fb strb r3, [r7, #23] break; 80c41a2: bf00 nop } break; 80c41a4: e081 b.n 80c42aa /* Interface & Endpoint request */ case USB_REQ_TYPE_STANDARD: switch (req->bRequest) 80c41a6: 683b ldr r3, [r7, #0] 80c41a8: 785b ldrb r3, [r3, #1] 80c41aa: 2b0b cmp r3, #11 80c41ac: d86d bhi.n 80c428a 80c41ae: a201 add r2, pc, #4 ; (adr r2, 80c41b4 ) 80c41b0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c41b4: 080c41e5 .word 0x080c41e5 80c41b8: 080c425b .word 0x080c425b 80c41bc: 080c428b .word 0x080c428b 80c41c0: 080c428b .word 0x080c428b 80c41c4: 080c428b .word 0x080c428b 80c41c8: 080c428b .word 0x080c428b 80c41cc: 080c428b .word 0x080c428b 80c41d0: 080c428b .word 0x080c428b 80c41d4: 080c428b .word 0x080c428b 80c41d8: 080c428b .word 0x080c428b 80c41dc: 080c420d .word 0x080c420d 80c41e0: 080c4235 .word 0x080c4235 { case USB_REQ_GET_STATUS: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c41e4: 687b ldr r3, [r7, #4] 80c41e6: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c41ea: 2b03 cmp r3, #3 80c41ec: d107 bne.n 80c41fe { (void)USBD_CtlSendData(pdev, (uint8_t *)&status_info, 2U); 80c41ee: f107 030e add.w r3, r7, #14 80c41f2: 2202 movs r2, #2 80c41f4: 4619 mov r1, r3 80c41f6: 6878 ldr r0, [r7, #4] 80c41f8: f002 fc2f bl 80c6a5a else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80c41fc: e04d b.n 80c429a USBD_CtlError(pdev, req); 80c41fe: 6839 ldr r1, [r7, #0] 80c4200: 6878 ldr r0, [r7, #4] 80c4202: f002 fbb9 bl 80c6978 ret = USBD_FAIL; 80c4206: 2303 movs r3, #3 80c4208: 75fb strb r3, [r7, #23] break; 80c420a: e046 b.n 80c429a case USB_REQ_GET_INTERFACE: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c420c: 687b ldr r3, [r7, #4] 80c420e: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c4212: 2b03 cmp r3, #3 80c4214: d107 bne.n 80c4226 { (void)USBD_CtlSendData(pdev, (uint8_t *)&hmsc->interface, 1U); 80c4216: 693b ldr r3, [r7, #16] 80c4218: 3304 adds r3, #4 80c421a: 2201 movs r2, #1 80c421c: 4619 mov r1, r3 80c421e: 6878 ldr r0, [r7, #4] 80c4220: f002 fc1b bl 80c6a5a else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80c4224: e039 b.n 80c429a USBD_CtlError(pdev, req); 80c4226: 6839 ldr r1, [r7, #0] 80c4228: 6878 ldr r0, [r7, #4] 80c422a: f002 fba5 bl 80c6978 ret = USBD_FAIL; 80c422e: 2303 movs r3, #3 80c4230: 75fb strb r3, [r7, #23] break; 80c4232: e032 b.n 80c429a case USB_REQ_SET_INTERFACE: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c4234: 687b ldr r3, [r7, #4] 80c4236: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c423a: 2b03 cmp r3, #3 80c423c: d106 bne.n 80c424c { hmsc->interface = (uint8_t)(req->wValue); 80c423e: 683b ldr r3, [r7, #0] 80c4240: 885b ldrh r3, [r3, #2] 80c4242: b2db uxtb r3, r3 80c4244: 461a mov r2, r3 80c4246: 693b ldr r3, [r7, #16] 80c4248: 605a str r2, [r3, #4] else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80c424a: e026 b.n 80c429a USBD_CtlError(pdev, req); 80c424c: 6839 ldr r1, [r7, #0] 80c424e: 6878 ldr r0, [r7, #4] 80c4250: f002 fb92 bl 80c6978 ret = USBD_FAIL; 80c4254: 2303 movs r3, #3 80c4256: 75fb strb r3, [r7, #23] break; 80c4258: e01f b.n 80c429a case USB_REQ_CLEAR_FEATURE: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c425a: 687b ldr r3, [r7, #4] 80c425c: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c4260: 2b03 cmp r3, #3 80c4262: d119 bne.n 80c4298 { if (req->wValue == USB_FEATURE_EP_HALT) 80c4264: 683b ldr r3, [r7, #0] 80c4266: 885b ldrh r3, [r3, #2] 80c4268: 2b00 cmp r3, #0 80c426a: d115 bne.n 80c4298 { /* Flush the FIFO */ (void)USBD_LL_FlushEP(pdev, (uint8_t)req->wIndex); 80c426c: 683b ldr r3, [r7, #0] 80c426e: 889b ldrh r3, [r3, #4] 80c4270: b2db uxtb r3, r3 80c4272: 4619 mov r1, r3 80c4274: 6878 ldr r0, [r7, #4] 80c4276: f009 fd47 bl 80cdd08 /* Handle BOT error */ MSC_BOT_CplClrFeature(pdev, (uint8_t)req->wIndex); 80c427a: 683b ldr r3, [r7, #0] 80c427c: 889b ldrh r3, [r3, #4] 80c427e: b2db uxtb r3, r3 80c4280: 4619 mov r1, r3 80c4282: 6878 ldr r0, [r7, #4] 80c4284: f000 fa5a bl 80c473c } } break; 80c4288: e006 b.n 80c4298 default: USBD_CtlError(pdev, req); 80c428a: 6839 ldr r1, [r7, #0] 80c428c: 6878 ldr r0, [r7, #4] 80c428e: f002 fb73 bl 80c6978 ret = USBD_FAIL; 80c4292: 2303 movs r3, #3 80c4294: 75fb strb r3, [r7, #23] break; 80c4296: e000 b.n 80c429a break; 80c4298: bf00 nop } break; 80c429a: e006 b.n 80c42aa default: USBD_CtlError(pdev, req); 80c429c: 6839 ldr r1, [r7, #0] 80c429e: 6878 ldr r0, [r7, #4] 80c42a0: f002 fb6a bl 80c6978 ret = USBD_FAIL; 80c42a4: 2303 movs r3, #3 80c42a6: 75fb strb r3, [r7, #23] break; 80c42a8: bf00 nop } return (uint8_t)ret; 80c42aa: 7dfb ldrb r3, [r7, #23] } 80c42ac: 4618 mov r0, r3 80c42ae: 3718 adds r7, #24 80c42b0: 46bd mov sp, r7 80c42b2: bd80 pop {r7, pc} 080c42b4 : * @param pdev: device instance * @param epnum: endpoint index * @retval status */ uint8_t USBD_MSC_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c42b4: b580 push {r7, lr} 80c42b6: b082 sub sp, #8 80c42b8: af00 add r7, sp, #0 80c42ba: 6078 str r0, [r7, #4] 80c42bc: 460b mov r3, r1 80c42be: 70fb strb r3, [r7, #3] MSC_BOT_DataIn(pdev, epnum); 80c42c0: 78fb ldrb r3, [r7, #3] 80c42c2: 4619 mov r1, r3 80c42c4: 6878 ldr r0, [r7, #4] 80c42c6: f000 f8d1 bl 80c446c return (uint8_t)USBD_OK; 80c42ca: 2300 movs r3, #0 } 80c42cc: 4618 mov r0, r3 80c42ce: 3708 adds r7, #8 80c42d0: 46bd mov sp, r7 80c42d2: bd80 pop {r7, pc} 080c42d4 : * @param pdev: device instance * @param epnum: endpoint index * @retval status */ uint8_t USBD_MSC_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c42d4: b580 push {r7, lr} 80c42d6: b082 sub sp, #8 80c42d8: af00 add r7, sp, #0 80c42da: 6078 str r0, [r7, #4] 80c42dc: 460b mov r3, r1 80c42de: 70fb strb r3, [r7, #3] MSC_BOT_DataOut(pdev, epnum); 80c42e0: 78fb ldrb r3, [r7, #3] 80c42e2: 4619 mov r1, r3 80c42e4: 6878 ldr r0, [r7, #4] 80c42e6: f000 f8f2 bl 80c44ce return (uint8_t)USBD_OK; 80c42ea: 2300 movs r3, #0 } 80c42ec: 4618 mov r0, r3 80c42ee: 3708 adds r7, #8 80c42f0: 46bd mov sp, r7 80c42f2: bd80 pop {r7, pc} 080c42f4 : * return configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetHSCfgDesc(uint16_t *length) { 80c42f4: b480 push {r7} 80c42f6: b083 sub sp, #12 80c42f8: af00 add r7, sp, #0 80c42fa: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_CfgHSDesc); 80c42fc: 687b ldr r3, [r7, #4] 80c42fe: 2220 movs r2, #32 80c4300: 801a strh r2, [r3, #0] return USBD_MSC_CfgHSDesc; 80c4302: 4b03 ldr r3, [pc, #12] ; (80c4310 ) } 80c4304: 4618 mov r0, r3 80c4306: 370c adds r7, #12 80c4308: 46bd mov sp, r7 80c430a: f85d 7b04 ldr.w r7, [sp], #4 80c430e: 4770 bx lr 80c4310: 20020a20 .word 0x20020a20 080c4314 : * return configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetFSCfgDesc(uint16_t *length) { 80c4314: b480 push {r7} 80c4316: b083 sub sp, #12 80c4318: af00 add r7, sp, #0 80c431a: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_CfgFSDesc); 80c431c: 687b ldr r3, [r7, #4] 80c431e: 2220 movs r2, #32 80c4320: 801a strh r2, [r3, #0] return USBD_MSC_CfgFSDesc; 80c4322: 4b03 ldr r3, [pc, #12] ; (80c4330 ) } 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 80c4330: 20020a40 .word 0x20020a40 080c4334 : * return other speed configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetOtherSpeedCfgDesc(uint16_t *length) { 80c4334: b480 push {r7} 80c4336: b083 sub sp, #12 80c4338: af00 add r7, sp, #0 80c433a: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_OtherSpeedCfgDesc); 80c433c: 687b ldr r3, [r7, #4] 80c433e: 2220 movs r2, #32 80c4340: 801a strh r2, [r3, #0] return USBD_MSC_OtherSpeedCfgDesc; 80c4342: 4b03 ldr r3, [pc, #12] ; (80c4350 ) } 80c4344: 4618 mov r0, r3 80c4346: 370c adds r7, #12 80c4348: 46bd mov sp, r7 80c434a: f85d 7b04 ldr.w r7, [sp], #4 80c434e: 4770 bx lr 80c4350: 20020a60 .word 0x20020a60 080c4354 : * return Device Qualifier descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetDeviceQualifierDescriptor(uint16_t *length) { 80c4354: b480 push {r7} 80c4356: b083 sub sp, #12 80c4358: af00 add r7, sp, #0 80c435a: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_DeviceQualifierDesc); 80c435c: 687b ldr r3, [r7, #4] 80c435e: 220a movs r2, #10 80c4360: 801a strh r2, [r3, #0] return USBD_MSC_DeviceQualifierDesc; 80c4362: 4b03 ldr r3, [pc, #12] ; (80c4370 ) } 80c4364: 4618 mov r0, r3 80c4366: 370c adds r7, #12 80c4368: 46bd mov sp, r7 80c436a: f85d 7b04 ldr.w r7, [sp], #4 80c436e: 4770 bx lr 80c4370: 20020a80 .word 0x20020a80 080c4374 : * @brief USBD_MSC_RegisterStorage * @param fops: storage callback * @retval status */ uint8_t USBD_MSC_RegisterStorage(USBD_HandleTypeDef *pdev, USBD_StorageTypeDef *fops) { 80c4374: b480 push {r7} 80c4376: b083 sub sp, #12 80c4378: af00 add r7, sp, #0 80c437a: 6078 str r0, [r7, #4] 80c437c: 6039 str r1, [r7, #0] if (fops == NULL) 80c437e: 683b ldr r3, [r7, #0] 80c4380: 2b00 cmp r3, #0 80c4382: d101 bne.n 80c4388 { return (uint8_t)USBD_FAIL; 80c4384: 2303 movs r3, #3 80c4386: e004 b.n 80c4392 } pdev->pUserData = fops; 80c4388: 687b ldr r3, [r7, #4] 80c438a: 683a ldr r2, [r7, #0] 80c438c: f8c3 22c0 str.w r2, [r3, #704] ; 0x2c0 return (uint8_t)USBD_OK; 80c4390: 2300 movs r3, #0 } 80c4392: 4618 mov r0, r3 80c4394: 370c adds r7, #12 80c4396: 46bd mov sp, r7 80c4398: f85d 7b04 ldr.w r7, [sp], #4 80c439c: 4770 bx lr 080c439e : * Initialize the BOT Process * @param pdev: device instance * @retval None */ void MSC_BOT_Init(USBD_HandleTypeDef *pdev) { 80c439e: b580 push {r7, lr} 80c43a0: b084 sub sp, #16 80c43a2: af00 add r7, sp, #0 80c43a4: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c43a6: 687b ldr r3, [r7, #4] 80c43a8: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c43ac: 60fb str r3, [r7, #12] hmsc->bot_state = USBD_BOT_IDLE; 80c43ae: 68fb ldr r3, [r7, #12] 80c43b0: 2200 movs r2, #0 80c43b2: 721a strb r2, [r3, #8] hmsc->bot_status = USBD_BOT_STATUS_NORMAL; 80c43b4: 68fb ldr r3, [r7, #12] 80c43b6: 2200 movs r2, #0 80c43b8: 725a strb r2, [r3, #9] hmsc->scsi_sense_tail = 0U; 80c43ba: 68fb ldr r3, [r7, #12] 80c43bc: 2200 movs r2, #0 80c43be: f883 2261 strb.w r2, [r3, #609] ; 0x261 hmsc->scsi_sense_head = 0U; 80c43c2: 68fb ldr r3, [r7, #12] 80c43c4: 2200 movs r2, #0 80c43c6: f883 2260 strb.w r2, [r3, #608] ; 0x260 hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c43ca: 68fb ldr r3, [r7, #12] 80c43cc: 2200 movs r2, #0 80c43ce: f883 2262 strb.w r2, [r3, #610] ; 0x262 ((USBD_StorageTypeDef *)pdev->pUserData)->Init(0U); 80c43d2: 687b ldr r3, [r7, #4] 80c43d4: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c43d8: 681b ldr r3, [r3, #0] 80c43da: 2000 movs r0, #0 80c43dc: 4798 blx r3 (void)USBD_LL_FlushEP(pdev, MSC_EPOUT_ADDR); 80c43de: 2101 movs r1, #1 80c43e0: 6878 ldr r0, [r7, #4] 80c43e2: f009 fc91 bl 80cdd08 (void)USBD_LL_FlushEP(pdev, MSC_EPIN_ADDR); 80c43e6: 2181 movs r1, #129 ; 0x81 80c43e8: 6878 ldr r0, [r7, #4] 80c43ea: f009 fc8d bl 80cdd08 /* Prapare EP to Receive First BOT Cmd */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, (uint8_t *)&hmsc->cbw, 80c43ee: 68fb ldr r3, [r7, #12] 80c43f0: f503 7204 add.w r2, r3, #528 ; 0x210 80c43f4: 231f movs r3, #31 80c43f6: 2101 movs r1, #1 80c43f8: 6878 ldr r0, [r7, #4] 80c43fa: f009 fd4e bl 80cde9a USBD_BOT_CBW_LENGTH); } 80c43fe: bf00 nop 80c4400: 3710 adds r7, #16 80c4402: 46bd mov sp, r7 80c4404: bd80 pop {r7, pc} 080c4406 : * Reset the BOT Machine * @param pdev: device instance * @retval None */ void MSC_BOT_Reset(USBD_HandleTypeDef *pdev) { 80c4406: b580 push {r7, lr} 80c4408: b084 sub sp, #16 80c440a: af00 add r7, sp, #0 80c440c: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c440e: 687b ldr r3, [r7, #4] 80c4410: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4414: 60fb str r3, [r7, #12] hmsc->bot_state = USBD_BOT_IDLE; 80c4416: 68fb ldr r3, [r7, #12] 80c4418: 2200 movs r2, #0 80c441a: 721a strb r2, [r3, #8] hmsc->bot_status = USBD_BOT_STATUS_RECOVERY; 80c441c: 68fb ldr r3, [r7, #12] 80c441e: 2201 movs r2, #1 80c4420: 725a strb r2, [r3, #9] (void)USBD_LL_ClearStallEP(pdev, MSC_EPIN_ADDR); 80c4422: 2181 movs r1, #129 ; 0x81 80c4424: 6878 ldr r0, [r7, #4] 80c4426: f009 fcad bl 80cdd84 (void)USBD_LL_ClearStallEP(pdev, MSC_EPOUT_ADDR); 80c442a: 2101 movs r1, #1 80c442c: 6878 ldr r0, [r7, #4] 80c442e: f009 fca9 bl 80cdd84 /* Prapare EP to Receive First BOT Cmd */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, (uint8_t *)&hmsc->cbw, 80c4432: 68fb ldr r3, [r7, #12] 80c4434: f503 7204 add.w r2, r3, #528 ; 0x210 80c4438: 231f movs r3, #31 80c443a: 2101 movs r1, #1 80c443c: 6878 ldr r0, [r7, #4] 80c443e: f009 fd2c bl 80cde9a USBD_BOT_CBW_LENGTH); } 80c4442: bf00 nop 80c4444: 3710 adds r7, #16 80c4446: 46bd mov sp, r7 80c4448: bd80 pop {r7, pc} 080c444a : * Deinitialize the BOT Machine * @param pdev: device instance * @retval None */ void MSC_BOT_DeInit(USBD_HandleTypeDef *pdev) { 80c444a: b480 push {r7} 80c444c: b085 sub sp, #20 80c444e: af00 add r7, sp, #0 80c4450: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4452: 687b ldr r3, [r7, #4] 80c4454: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4458: 60fb str r3, [r7, #12] hmsc->bot_state = USBD_BOT_IDLE; 80c445a: 68fb ldr r3, [r7, #12] 80c445c: 2200 movs r2, #0 80c445e: 721a strb r2, [r3, #8] } 80c4460: bf00 nop 80c4462: 3714 adds r7, #20 80c4464: 46bd mov sp, r7 80c4466: f85d 7b04 ldr.w r7, [sp], #4 80c446a: 4770 bx lr 080c446c : * @param pdev: device instance * @param epnum: endpoint index * @retval None */ void MSC_BOT_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c446c: b580 push {r7, lr} 80c446e: b084 sub sp, #16 80c4470: af00 add r7, sp, #0 80c4472: 6078 str r0, [r7, #4] 80c4474: 460b mov r3, r1 80c4476: 70fb strb r3, [r7, #3] UNUSED(epnum); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4478: 687b ldr r3, [r7, #4] 80c447a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c447e: 60fb str r3, [r7, #12] switch (hmsc->bot_state) 80c4480: 68fb ldr r3, [r7, #12] 80c4482: 7a1b ldrb r3, [r3, #8] 80c4484: 2b02 cmp r3, #2 80c4486: d004 beq.n 80c4492 80c4488: 2b02 cmp r3, #2 80c448a: db19 blt.n 80c44c0 80c448c: 2b04 cmp r3, #4 80c448e: dc17 bgt.n 80c44c0 80c4490: e011 b.n 80c44b6 { case USBD_BOT_DATA_IN: if (SCSI_ProcessCmd(pdev, hmsc->cbw.bLUN, &hmsc->cbw.CB[0]) < 0) 80c4492: 68fb ldr r3, [r7, #12] 80c4494: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c4498: 68fb ldr r3, [r7, #12] 80c449a: f203 231f addw r3, r3, #543 ; 0x21f 80c449e: 461a mov r2, r3 80c44a0: 6878 ldr r0, [r7, #4] 80c44a2: f000 f973 bl 80c478c 80c44a6: 4603 mov r3, r0 80c44a8: 2b00 cmp r3, #0 80c44aa: da0b bge.n 80c44c4 { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c44ac: 2101 movs r1, #1 80c44ae: 6878 ldr r0, [r7, #4] 80c44b0: f000 f8ea bl 80c4688 } break; 80c44b4: e006 b.n 80c44c4 case USBD_BOT_SEND_DATA: case USBD_BOT_LAST_DATA_IN: MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_PASSED); 80c44b6: 2100 movs r1, #0 80c44b8: 6878 ldr r0, [r7, #4] 80c44ba: f000 f8e5 bl 80c4688 break; 80c44be: e002 b.n 80c44c6 default: break; 80c44c0: bf00 nop 80c44c2: e000 b.n 80c44c6 break; 80c44c4: bf00 nop } } 80c44c6: bf00 nop 80c44c8: 3710 adds r7, #16 80c44ca: 46bd mov sp, r7 80c44cc: bd80 pop {r7, pc} 080c44ce : * @param pdev: device instance * @param epnum: endpoint index * @retval None */ void MSC_BOT_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c44ce: b580 push {r7, lr} 80c44d0: b084 sub sp, #16 80c44d2: af00 add r7, sp, #0 80c44d4: 6078 str r0, [r7, #4] 80c44d6: 460b mov r3, r1 80c44d8: 70fb strb r3, [r7, #3] UNUSED(epnum); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c44da: 687b ldr r3, [r7, #4] 80c44dc: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c44e0: 60fb str r3, [r7, #12] switch (hmsc->bot_state) 80c44e2: 68fb ldr r3, [r7, #12] 80c44e4: 7a1b ldrb r3, [r3, #8] 80c44e6: 2b00 cmp r3, #0 80c44e8: d002 beq.n 80c44f0 80c44ea: 2b01 cmp r3, #1 80c44ec: d004 beq.n 80c44f8 MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); } break; default: break; 80c44ee: e015 b.n 80c451c MSC_BOT_CBW_Decode(pdev); 80c44f0: 6878 ldr r0, [r7, #4] 80c44f2: f000 f817 bl 80c4524 break; 80c44f6: e011 b.n 80c451c if (SCSI_ProcessCmd(pdev, hmsc->cbw.bLUN, &hmsc->cbw.CB[0]) < 0) 80c44f8: 68fb ldr r3, [r7, #12] 80c44fa: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c44fe: 68fb ldr r3, [r7, #12] 80c4500: f203 231f addw r3, r3, #543 ; 0x21f 80c4504: 461a mov r2, r3 80c4506: 6878 ldr r0, [r7, #4] 80c4508: f000 f940 bl 80c478c 80c450c: 4603 mov r3, r0 80c450e: 2b00 cmp r3, #0 80c4510: da03 bge.n 80c451a MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c4512: 2101 movs r1, #1 80c4514: 6878 ldr r0, [r7, #4] 80c4516: f000 f8b7 bl 80c4688 break; 80c451a: bf00 nop } } 80c451c: bf00 nop 80c451e: 3710 adds r7, #16 80c4520: 46bd mov sp, r7 80c4522: bd80 pop {r7, pc} 080c4524 : * 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) { 80c4524: b580 push {r7, lr} 80c4526: b084 sub sp, #16 80c4528: af00 add r7, sp, #0 80c452a: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c452c: 687b ldr r3, [r7, #4] 80c452e: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4532: 60fb str r3, [r7, #12] hmsc->csw.dTag = hmsc->cbw.dTag; 80c4534: 68fb ldr r3, [r7, #12] 80c4536: f8d3 2214 ldr.w r2, [r3, #532] ; 0x214 80c453a: 68fb ldr r3, [r7, #12] 80c453c: f8c3 2234 str.w r2, [r3, #564] ; 0x234 hmsc->csw.dDataResidue = hmsc->cbw.dDataLength; 80c4540: 68fb ldr r3, [r7, #12] 80c4542: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c4546: 68fb ldr r3, [r7, #12] 80c4548: f8c3 2238 str.w r2, [r3, #568] ; 0x238 if ((USBD_LL_GetRxDataSize(pdev, MSC_EPOUT_ADDR) != USBD_BOT_CBW_LENGTH) || 80c454c: 2101 movs r1, #1 80c454e: 6878 ldr r0, [r7, #4] 80c4550: f009 fcc4 bl 80cdedc 80c4554: 4603 mov r3, r0 80c4556: 2b1f cmp r3, #31 80c4558: d114 bne.n 80c4584 (hmsc->cbw.dSignature != USBD_BOT_CBW_SIGNATURE) || 80c455a: 68fb ldr r3, [r7, #12] 80c455c: f8d3 3210 ldr.w r3, [r3, #528] ; 0x210 if ((USBD_LL_GetRxDataSize(pdev, MSC_EPOUT_ADDR) != USBD_BOT_CBW_LENGTH) || 80c4560: 4a32 ldr r2, [pc, #200] ; (80c462c ) 80c4562: 4293 cmp r3, r2 80c4564: d10e bne.n 80c4584 (hmsc->cbw.bLUN > 1U) || (hmsc->cbw.bCBLength < 1U) || 80c4566: 68fb ldr r3, [r7, #12] 80c4568: f893 321d ldrb.w r3, [r3, #541] ; 0x21d (hmsc->cbw.dSignature != USBD_BOT_CBW_SIGNATURE) || 80c456c: 2b01 cmp r3, #1 80c456e: d809 bhi.n 80c4584 (hmsc->cbw.bLUN > 1U) || (hmsc->cbw.bCBLength < 1U) || 80c4570: 68fb ldr r3, [r7, #12] 80c4572: f893 321e ldrb.w r3, [r3, #542] ; 0x21e 80c4576: 2b00 cmp r3, #0 80c4578: d004 beq.n 80c4584 (hmsc->cbw.bCBLength > 16U)) 80c457a: 68fb ldr r3, [r7, #12] 80c457c: f893 321e ldrb.w r3, [r3, #542] ; 0x21e (hmsc->cbw.bLUN > 1U) || (hmsc->cbw.bCBLength < 1U) || 80c4580: 2b10 cmp r3, #16 80c4582: d90e bls.n 80c45a2 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c4584: 68fb ldr r3, [r7, #12] 80c4586: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c458a: 2320 movs r3, #32 80c458c: 2205 movs r2, #5 80c458e: 6878 ldr r0, [r7, #4] 80c4590: f000 fcc9 bl 80c4f26 hmsc->bot_status = USBD_BOT_STATUS_ERROR; 80c4594: 68fb ldr r3, [r7, #12] 80c4596: 2202 movs r2, #2 80c4598: 725a strb r2, [r3, #9] MSC_BOT_Abort(pdev); 80c459a: 6878 ldr r0, [r7, #4] 80c459c: f000 f8a0 bl 80c46e0 80c45a0: e041 b.n 80c4626 } else { if (SCSI_ProcessCmd(pdev, hmsc->cbw.bLUN, &hmsc->cbw.CB[0]) < 0) 80c45a2: 68fb ldr r3, [r7, #12] 80c45a4: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c45a8: 68fb ldr r3, [r7, #12] 80c45aa: f203 231f addw r3, r3, #543 ; 0x21f 80c45ae: 461a mov r2, r3 80c45b0: 6878 ldr r0, [r7, #4] 80c45b2: f000 f8eb bl 80c478c 80c45b6: 4603 mov r3, r0 80c45b8: 2b00 cmp r3, #0 80c45ba: da0c bge.n 80c45d6 { if (hmsc->bot_state == USBD_BOT_NO_DATA) 80c45bc: 68fb ldr r3, [r7, #12] 80c45be: 7a1b ldrb r3, [r3, #8] 80c45c0: 2b05 cmp r3, #5 80c45c2: d104 bne.n 80c45ce { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c45c4: 2101 movs r1, #1 80c45c6: 6878 ldr r0, [r7, #4] 80c45c8: f000 f85e bl 80c4688 80c45cc: e02b b.n 80c4626 } else { MSC_BOT_Abort(pdev); 80c45ce: 6878 ldr r0, [r7, #4] 80c45d0: f000 f886 bl 80c46e0 80c45d4: e027 b.n 80c4626 } } /* Burst xfer handled internally */ else if ((hmsc->bot_state != USBD_BOT_DATA_IN) && 80c45d6: 68fb ldr r3, [r7, #12] 80c45d8: 7a1b ldrb r3, [r3, #8] 80c45da: 2b02 cmp r3, #2 80c45dc: d022 beq.n 80c4624 (hmsc->bot_state != USBD_BOT_DATA_OUT) && 80c45de: 68fb ldr r3, [r7, #12] 80c45e0: 7a1b ldrb r3, [r3, #8] else if ((hmsc->bot_state != USBD_BOT_DATA_IN) && 80c45e2: 2b01 cmp r3, #1 80c45e4: d01e beq.n 80c4624 (hmsc->bot_state != USBD_BOT_LAST_DATA_IN)) 80c45e6: 68fb ldr r3, [r7, #12] 80c45e8: 7a1b ldrb r3, [r3, #8] (hmsc->bot_state != USBD_BOT_DATA_OUT) && 80c45ea: 2b03 cmp r3, #3 80c45ec: d01a beq.n 80c4624 { if (hmsc->bot_data_length > 0U) 80c45ee: 68fb ldr r3, [r7, #12] 80c45f0: 68db ldr r3, [r3, #12] 80c45f2: 2b00 cmp r3, #0 80c45f4: d009 beq.n 80c460a { MSC_BOT_SendData(pdev, hmsc->bot_data, hmsc->bot_data_length); 80c45f6: 68fb ldr r3, [r7, #12] 80c45f8: f103 0110 add.w r1, r3, #16 80c45fc: 68fb ldr r3, [r7, #12] 80c45fe: 68db ldr r3, [r3, #12] 80c4600: 461a mov r2, r3 80c4602: 6878 ldr r0, [r7, #4] 80c4604: f000 f814 bl 80c4630 if (hmsc->bot_data_length > 0U) 80c4608: e00d b.n 80c4626 } else if (hmsc->bot_data_length == 0U) 80c460a: 68fb ldr r3, [r7, #12] 80c460c: 68db ldr r3, [r3, #12] 80c460e: 2b00 cmp r3, #0 80c4610: d104 bne.n 80c461c { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_PASSED); 80c4612: 2100 movs r1, #0 80c4614: 6878 ldr r0, [r7, #4] 80c4616: f000 f837 bl 80c4688 if (hmsc->bot_data_length > 0U) 80c461a: e004 b.n 80c4626 } else { MSC_BOT_Abort(pdev); 80c461c: 6878 ldr r0, [r7, #4] 80c461e: f000 f85f bl 80c46e0 if (hmsc->bot_data_length > 0U) 80c4622: e000 b.n 80c4626 } } else { return; 80c4624: bf00 nop } } } 80c4626: 3710 adds r7, #16 80c4628: 46bd mov sp, r7 80c462a: bd80 pop {r7, pc} 80c462c: 43425355 .word 0x43425355 080c4630 : * @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) { 80c4630: b580 push {r7, lr} 80c4632: b086 sub sp, #24 80c4634: af00 add r7, sp, #0 80c4636: 60f8 str r0, [r7, #12] 80c4638: 60b9 str r1, [r7, #8] 80c463a: 607a str r2, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c463c: 68fb ldr r3, [r7, #12] 80c463e: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4642: 617b str r3, [r7, #20] uint32_t length = MIN(hmsc->cbw.dDataLength, len); 80c4644: 697b ldr r3, [r7, #20] 80c4646: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c464a: 687b ldr r3, [r7, #4] 80c464c: 4293 cmp r3, r2 80c464e: bf28 it cs 80c4650: 4613 movcs r3, r2 80c4652: 613b str r3, [r7, #16] hmsc->csw.dDataResidue -= len; 80c4654: 697b ldr r3, [r7, #20] 80c4656: f8d3 2238 ldr.w r2, [r3, #568] ; 0x238 80c465a: 687b ldr r3, [r7, #4] 80c465c: 1ad2 subs r2, r2, r3 80c465e: 697b ldr r3, [r7, #20] 80c4660: f8c3 2238 str.w r2, [r3, #568] ; 0x238 hmsc->csw.bStatus = USBD_CSW_CMD_PASSED; 80c4664: 697b ldr r3, [r7, #20] 80c4666: 2200 movs r2, #0 80c4668: f883 223c strb.w r2, [r3, #572] ; 0x23c hmsc->bot_state = USBD_BOT_SEND_DATA; 80c466c: 697b ldr r3, [r7, #20] 80c466e: 2204 movs r2, #4 80c4670: 721a strb r2, [r3, #8] (void)USBD_LL_Transmit(pdev, MSC_EPIN_ADDR, pbuf, length); 80c4672: 693b ldr r3, [r7, #16] 80c4674: 68ba ldr r2, [r7, #8] 80c4676: 2181 movs r1, #129 ; 0x81 80c4678: 68f8 ldr r0, [r7, #12] 80c467a: f009 fbed bl 80cde58 } 80c467e: bf00 nop 80c4680: 3718 adds r7, #24 80c4682: 46bd mov sp, r7 80c4684: bd80 pop {r7, pc} ... 080c4688 : * @param pdev: device instance * @param status : CSW status * @retval None */ void MSC_BOT_SendCSW(USBD_HandleTypeDef *pdev, uint8_t CSW_Status) { 80c4688: b580 push {r7, lr} 80c468a: b084 sub sp, #16 80c468c: af00 add r7, sp, #0 80c468e: 6078 str r0, [r7, #4] 80c4690: 460b mov r3, r1 80c4692: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4694: 687b ldr r3, [r7, #4] 80c4696: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c469a: 60fb str r3, [r7, #12] hmsc->csw.dSignature = USBD_BOT_CSW_SIGNATURE; 80c469c: 68fb ldr r3, [r7, #12] 80c469e: 4a0f ldr r2, [pc, #60] ; (80c46dc ) 80c46a0: f8c3 2230 str.w r2, [r3, #560] ; 0x230 hmsc->csw.bStatus = CSW_Status; 80c46a4: 68fb ldr r3, [r7, #12] 80c46a6: 78fa ldrb r2, [r7, #3] 80c46a8: f883 223c strb.w r2, [r3, #572] ; 0x23c hmsc->bot_state = USBD_BOT_IDLE; 80c46ac: 68fb ldr r3, [r7, #12] 80c46ae: 2200 movs r2, #0 80c46b0: 721a strb r2, [r3, #8] (void)USBD_LL_Transmit(pdev, MSC_EPIN_ADDR, (uint8_t *)&hmsc->csw, 80c46b2: 68fb ldr r3, [r7, #12] 80c46b4: f503 720c add.w r2, r3, #560 ; 0x230 80c46b8: 230d movs r3, #13 80c46ba: 2181 movs r1, #129 ; 0x81 80c46bc: 6878 ldr r0, [r7, #4] 80c46be: f009 fbcb bl 80cde58 USBD_BOT_CSW_LENGTH); /* Prepare EP to Receive next Cmd */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, (uint8_t *)&hmsc->cbw, 80c46c2: 68fb ldr r3, [r7, #12] 80c46c4: f503 7204 add.w r2, r3, #528 ; 0x210 80c46c8: 231f movs r3, #31 80c46ca: 2101 movs r1, #1 80c46cc: 6878 ldr r0, [r7, #4] 80c46ce: f009 fbe4 bl 80cde9a USBD_BOT_CBW_LENGTH); } 80c46d2: bf00 nop 80c46d4: 3710 adds r7, #16 80c46d6: 46bd mov sp, r7 80c46d8: bd80 pop {r7, pc} 80c46da: bf00 nop 80c46dc: 53425355 .word 0x53425355 080c46e0 : * @param pdev: device instance * @retval status */ static void MSC_BOT_Abort(USBD_HandleTypeDef *pdev) { 80c46e0: b580 push {r7, lr} 80c46e2: b084 sub sp, #16 80c46e4: af00 add r7, sp, #0 80c46e6: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c46e8: 687b ldr r3, [r7, #4] 80c46ea: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c46ee: 60fb str r3, [r7, #12] if ((hmsc->cbw.bmFlags == 0U) && 80c46f0: 68fb ldr r3, [r7, #12] 80c46f2: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c46f6: 2b00 cmp r3, #0 80c46f8: d10c bne.n 80c4714 (hmsc->cbw.dDataLength != 0U) && 80c46fa: 68fb ldr r3, [r7, #12] 80c46fc: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 if ((hmsc->cbw.bmFlags == 0U) && 80c4700: 2b00 cmp r3, #0 80c4702: d007 beq.n 80c4714 (hmsc->bot_status == USBD_BOT_STATUS_NORMAL)) 80c4704: 68fb ldr r3, [r7, #12] 80c4706: 7a5b ldrb r3, [r3, #9] (hmsc->cbw.dDataLength != 0U) && 80c4708: 2b00 cmp r3, #0 80c470a: d103 bne.n 80c4714 { (void)USBD_LL_StallEP(pdev, MSC_EPOUT_ADDR); 80c470c: 2101 movs r1, #1 80c470e: 6878 ldr r0, [r7, #4] 80c4710: f009 fb19 bl 80cdd46 } (void)USBD_LL_StallEP(pdev, MSC_EPIN_ADDR); 80c4714: 2181 movs r1, #129 ; 0x81 80c4716: 6878 ldr r0, [r7, #4] 80c4718: f009 fb15 bl 80cdd46 if (hmsc->bot_status == USBD_BOT_STATUS_ERROR) 80c471c: 68fb ldr r3, [r7, #12] 80c471e: 7a5b ldrb r3, [r3, #9] 80c4720: 2b02 cmp r3, #2 80c4722: d107 bne.n 80c4734 { (void)USBD_LL_StallEP(pdev, MSC_EPIN_ADDR); 80c4724: 2181 movs r1, #129 ; 0x81 80c4726: 6878 ldr r0, [r7, #4] 80c4728: f009 fb0d bl 80cdd46 (void)USBD_LL_StallEP(pdev, MSC_EPOUT_ADDR); 80c472c: 2101 movs r1, #1 80c472e: 6878 ldr r0, [r7, #4] 80c4730: f009 fb09 bl 80cdd46 } } 80c4734: bf00 nop 80c4736: 3710 adds r7, #16 80c4738: 46bd mov sp, r7 80c473a: bd80 pop {r7, pc} 080c473c : * @param epnum: endpoint index * @retval None */ void MSC_BOT_CplClrFeature(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c473c: b580 push {r7, lr} 80c473e: b084 sub sp, #16 80c4740: af00 add r7, sp, #0 80c4742: 6078 str r0, [r7, #4] 80c4744: 460b mov r3, r1 80c4746: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4748: 687b ldr r3, [r7, #4] 80c474a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c474e: 60fb str r3, [r7, #12] if (hmsc->bot_status == USBD_BOT_STATUS_ERROR) /* Bad CBW Signature */ 80c4750: 68fb ldr r3, [r7, #12] 80c4752: 7a5b ldrb r3, [r3, #9] 80c4754: 2b02 cmp r3, #2 80c4756: d108 bne.n 80c476a { (void)USBD_LL_StallEP(pdev, MSC_EPIN_ADDR); 80c4758: 2181 movs r1, #129 ; 0x81 80c475a: 6878 ldr r0, [r7, #4] 80c475c: f009 faf3 bl 80cdd46 (void)USBD_LL_StallEP(pdev, MSC_EPOUT_ADDR); 80c4760: 2101 movs r1, #1 80c4762: 6878 ldr r0, [r7, #4] 80c4764: f009 faef bl 80cdd46 80c4768: e00d b.n 80c4786 } else if (((epnum & 0x80U) == 0x80U) && (hmsc->bot_status != USBD_BOT_STATUS_RECOVERY)) 80c476a: f997 3003 ldrsb.w r3, [r7, #3] 80c476e: 2b00 cmp r3, #0 80c4770: da08 bge.n 80c4784 80c4772: 68fb ldr r3, [r7, #12] 80c4774: 7a5b ldrb r3, [r3, #9] 80c4776: 2b01 cmp r3, #1 80c4778: d004 beq.n 80c4784 { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c477a: 2101 movs r1, #1 80c477c: 6878 ldr r0, [r7, #4] 80c477e: f7ff ff83 bl 80c4688 80c4782: e000 b.n 80c4786 } else { return; 80c4784: bf00 nop } } 80c4786: 3710 adds r7, #16 80c4788: 46bd mov sp, r7 80c478a: bd80 pop {r7, pc} 080c478c : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ int8_t SCSI_ProcessCmd(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *cmd) { 80c478c: b580 push {r7, lr} 80c478e: b086 sub sp, #24 80c4790: af00 add r7, sp, #0 80c4792: 60f8 str r0, [r7, #12] 80c4794: 460b mov r3, r1 80c4796: 607a str r2, [r7, #4] 80c4798: 72fb strb r3, [r7, #11] int8_t ret; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c479a: 68fb ldr r3, [r7, #12] 80c479c: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c47a0: 613b str r3, [r7, #16] switch (cmd[0]) 80c47a2: 687b ldr r3, [r7, #4] 80c47a4: 781b ldrb r3, [r3, #0] 80c47a6: 2b25 cmp r3, #37 ; 0x25 80c47a8: d06e beq.n 80c4888 80c47aa: 2b25 cmp r3, #37 ; 0x25 80c47ac: dc11 bgt.n 80c47d2 80c47ae: 2b1a cmp r3, #26 80c47b0: d04f beq.n 80c4852 80c47b2: 2b1a cmp r3, #26 80c47b4: dc06 bgt.n 80c47c4 80c47b6: 2b03 cmp r3, #3 80c47b8: d027 beq.n 80c480a 80c47ba: 2b12 cmp r3, #18 80c47bc: d02e beq.n 80c481c 80c47be: 2b00 cmp r3, #0 80c47c0: d01a beq.n 80c47f8 80c47c2: e0a0 b.n 80c4906 80c47c4: 2b1e cmp r3, #30 80c47c6: d03b beq.n 80c4840 80c47c8: 2b23 cmp r3, #35 ; 0x23 80c47ca: d054 beq.n 80c4876 80c47cc: 2b1b cmp r3, #27 80c47ce: d02e beq.n 80c482e 80c47d0: e099 b.n 80c4906 80c47d2: 2b5a cmp r3, #90 ; 0x5a 80c47d4: d046 beq.n 80c4864 80c47d6: 2b5a cmp r3, #90 ; 0x5a 80c47d8: dc07 bgt.n 80c47ea 80c47da: 2b2a cmp r3, #42 ; 0x2a 80c47dc: d078 beq.n 80c48d0 80c47de: 2b2f cmp r3, #47 ; 0x2f 80c47e0: f000 8088 beq.w 80c48f4 80c47e4: 2b28 cmp r3, #40 ; 0x28 80c47e6: d061 beq.n 80c48ac 80c47e8: e08d b.n 80c4906 80c47ea: 2ba8 cmp r3, #168 ; 0xa8 80c47ec: d067 beq.n 80c48be 80c47ee: 2baa cmp r3, #170 ; 0xaa 80c47f0: d077 beq.n 80c48e2 80c47f2: 2b9e cmp r3, #158 ; 0x9e 80c47f4: d051 beq.n 80c489a 80c47f6: e086 b.n 80c4906 { case SCSI_TEST_UNIT_READY: ret = SCSI_TestUnitReady(pdev, lun, cmd); 80c47f8: 7afb ldrb r3, [r7, #11] 80c47fa: 687a ldr r2, [r7, #4] 80c47fc: 4619 mov r1, r3 80c47fe: 68f8 ldr r0, [r7, #12] 80c4800: f000 f893 bl 80c492a 80c4804: 4603 mov r3, r0 80c4806: 75fb strb r3, [r7, #23] break; 80c4808: e089 b.n 80c491e case SCSI_REQUEST_SENSE: ret = SCSI_RequestSense(pdev, lun, cmd); 80c480a: 7afb ldrb r3, [r7, #11] 80c480c: 687a ldr r2, [r7, #4] 80c480e: 4619 mov r1, r3 80c4810: 68f8 ldr r0, [r7, #12] 80c4812: f000 fb0f bl 80c4e34 80c4816: 4603 mov r3, r0 80c4818: 75fb strb r3, [r7, #23] break; 80c481a: e080 b.n 80c491e case SCSI_INQUIRY: ret = SCSI_Inquiry(pdev, lun, cmd); 80c481c: 7afb ldrb r3, [r7, #11] 80c481e: 687a ldr r2, [r7, #4] 80c4820: 4619 mov r1, r3 80c4822: 68f8 ldr r0, [r7, #12] 80c4824: f000 f8cc bl 80c49c0 80c4828: 4603 mov r3, r0 80c482a: 75fb strb r3, [r7, #23] break; 80c482c: e077 b.n 80c491e case SCSI_START_STOP_UNIT: ret = SCSI_StartStopUnit(pdev, lun, cmd); 80c482e: 7afb ldrb r3, [r7, #11] 80c4830: 687a ldr r2, [r7, #4] 80c4832: 4619 mov r1, r3 80c4834: 68f8 ldr r0, [r7, #12] 80c4836: f000 fbb9 bl 80c4fac 80c483a: 4603 mov r3, r0 80c483c: 75fb strb r3, [r7, #23] break; 80c483e: e06e b.n 80c491e case SCSI_ALLOW_MEDIUM_REMOVAL: ret = SCSI_AllowPreventRemovable(pdev, lun, cmd); 80c4840: 7afb ldrb r3, [r7, #11] 80c4842: 687a ldr r2, [r7, #4] 80c4844: 4619 mov r1, r3 80c4846: 68f8 ldr r0, [r7, #12] 80c4848: f000 fbfb bl 80c5042 80c484c: 4603 mov r3, r0 80c484e: 75fb strb r3, [r7, #23] break; 80c4850: e065 b.n 80c491e case SCSI_MODE_SENSE6: ret = SCSI_ModeSense6(pdev, lun, cmd); 80c4852: 7afb ldrb r3, [r7, #11] 80c4854: 687a ldr r2, [r7, #4] 80c4856: 4619 mov r1, r3 80c4858: 68f8 ldr r0, [r7, #12] 80c485a: f000 fa9f bl 80c4d9c 80c485e: 4603 mov r3, r0 80c4860: 75fb strb r3, [r7, #23] break; 80c4862: e05c b.n 80c491e case SCSI_MODE_SENSE10: ret = SCSI_ModeSense10(pdev, lun, cmd); 80c4864: 7afb ldrb r3, [r7, #11] 80c4866: 687a ldr r2, [r7, #4] 80c4868: 4619 mov r1, r3 80c486a: 68f8 ldr r0, [r7, #12] 80c486c: f000 fabc bl 80c4de8 80c4870: 4603 mov r3, r0 80c4872: 75fb strb r3, [r7, #23] break; 80c4874: e053 b.n 80c491e case SCSI_READ_FORMAT_CAPACITIES: ret = SCSI_ReadFormatCapacity(pdev, lun, cmd); 80c4876: 7afb ldrb r3, [r7, #11] 80c4878: 687a ldr r2, [r7, #4] 80c487a: 4619 mov r1, r3 80c487c: 68f8 ldr r0, [r7, #12] 80c487e: f000 fa20 bl 80c4cc2 80c4882: 4603 mov r3, r0 80c4884: 75fb strb r3, [r7, #23] break; 80c4886: e04a b.n 80c491e case SCSI_READ_CAPACITY10: ret = SCSI_ReadCapacity10(pdev, lun, cmd); 80c4888: 7afb ldrb r3, [r7, #11] 80c488a: 687a ldr r2, [r7, #4] 80c488c: 4619 mov r1, r3 80c488e: 68f8 ldr r0, [r7, #12] 80c4890: f000 f904 bl 80c4a9c 80c4894: 4603 mov r3, r0 80c4896: 75fb strb r3, [r7, #23] break; 80c4898: e041 b.n 80c491e case SCSI_READ_CAPACITY16: ret = SCSI_ReadCapacity16(pdev, lun, cmd); 80c489a: 7afb ldrb r3, [r7, #11] 80c489c: 687a ldr r2, [r7, #4] 80c489e: 4619 mov r1, r3 80c48a0: 68f8 ldr r0, [r7, #12] 80c48a2: f000 f96a bl 80c4b7a 80c48a6: 4603 mov r3, r0 80c48a8: 75fb strb r3, [r7, #23] break; 80c48aa: e038 b.n 80c491e case SCSI_READ10: ret = SCSI_Read10(pdev, lun, cmd); 80c48ac: 7afb ldrb r3, [r7, #11] 80c48ae: 687a ldr r2, [r7, #4] 80c48b0: 4619 mov r1, r3 80c48b2: 68f8 ldr r0, [r7, #12] 80c48b4: f000 fbe8 bl 80c5088 80c48b8: 4603 mov r3, r0 80c48ba: 75fb strb r3, [r7, #23] break; 80c48bc: e02f b.n 80c491e case SCSI_READ12: ret = SCSI_Read12(pdev, lun, cmd); 80c48be: 7afb ldrb r3, [r7, #11] 80c48c0: 687a ldr r2, [r7, #4] 80c48c2: 4619 mov r1, r3 80c48c4: 68f8 ldr r0, [r7, #12] 80c48c6: f000 fc79 bl 80c51bc 80c48ca: 4603 mov r3, r0 80c48cc: 75fb strb r3, [r7, #23] break; 80c48ce: e026 b.n 80c491e case SCSI_WRITE10: ret = SCSI_Write10(pdev, lun, cmd); 80c48d0: 7afb ldrb r3, [r7, #11] 80c48d2: 687a ldr r2, [r7, #4] 80c48d4: 4619 mov r1, r3 80c48d6: 68f8 ldr r0, [r7, #12] 80c48d8: f000 fd15 bl 80c5306 80c48dc: 4603 mov r3, r0 80c48de: 75fb strb r3, [r7, #23] break; 80c48e0: e01d b.n 80c491e case SCSI_WRITE12: ret = SCSI_Write12(pdev, lun, cmd); 80c48e2: 7afb ldrb r3, [r7, #11] 80c48e4: 687a ldr r2, [r7, #4] 80c48e6: 4619 mov r1, r3 80c48e8: 68f8 ldr r0, [r7, #12] 80c48ea: f000 fdcb bl 80c5484 80c48ee: 4603 mov r3, r0 80c48f0: 75fb strb r3, [r7, #23] break; 80c48f2: e014 b.n 80c491e case SCSI_VERIFY10: ret = SCSI_Verify10(pdev, lun, cmd); 80c48f4: 7afb ldrb r3, [r7, #11] 80c48f6: 687a ldr r2, [r7, #4] 80c48f8: 4619 mov r1, r3 80c48fa: 68f8 ldr r0, [r7, #12] 80c48fc: f000 fe91 bl 80c5622 80c4900: 4603 mov r3, r0 80c4902: 75fb strb r3, [r7, #23] break; 80c4904: e00b b.n 80c491e default: SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_CDB); 80c4906: 7af9 ldrb r1, [r7, #11] 80c4908: 2320 movs r3, #32 80c490a: 2205 movs r2, #5 80c490c: 68f8 ldr r0, [r7, #12] 80c490e: f000 fb0a bl 80c4f26 hmsc->bot_status = USBD_BOT_STATUS_ERROR; 80c4912: 693b ldr r3, [r7, #16] 80c4914: 2202 movs r2, #2 80c4916: 725a strb r2, [r3, #9] ret = -1; 80c4918: 23ff movs r3, #255 ; 0xff 80c491a: 75fb strb r3, [r7, #23] break; 80c491c: bf00 nop } return ret; 80c491e: f997 3017 ldrsb.w r3, [r7, #23] } 80c4922: 4618 mov r0, r3 80c4924: 3718 adds r7, #24 80c4926: 46bd mov sp, r7 80c4928: bd80 pop {r7, pc} 080c492a : * @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) { 80c492a: b580 push {r7, lr} 80c492c: b086 sub sp, #24 80c492e: af00 add r7, sp, #0 80c4930: 60f8 str r0, [r7, #12] 80c4932: 460b mov r3, r1 80c4934: 607a str r2, [r7, #4] 80c4936: 72fb strb r3, [r7, #11] UNUSED(params); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4938: 68fb ldr r3, [r7, #12] 80c493a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c493e: 617b str r3, [r7, #20] /* case 9 : Hi > D0 */ if (hmsc->cbw.dDataLength != 0U) 80c4940: 697b ldr r3, [r7, #20] 80c4942: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c4946: 2b00 cmp r3, #0 80c4948: d00a beq.n 80c4960 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c494a: 697b ldr r3, [r7, #20] 80c494c: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c4950: 2320 movs r3, #32 80c4952: 2205 movs r2, #5 80c4954: 68f8 ldr r0, [r7, #12] 80c4956: f000 fae6 bl 80c4f26 return -1; 80c495a: f04f 33ff mov.w r3, #4294967295 80c495e: e02a b.n 80c49b6 } if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 80c4960: 697b ldr r3, [r7, #20] 80c4962: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c4966: 2b02 cmp r3, #2 80c4968: d10b bne.n 80c4982 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c496a: 7af9 ldrb r1, [r7, #11] 80c496c: 233a movs r3, #58 ; 0x3a 80c496e: 2202 movs r2, #2 80c4970: 68f8 ldr r0, [r7, #12] 80c4972: f000 fad8 bl 80c4f26 hmsc->bot_state = USBD_BOT_NO_DATA; 80c4976: 697b ldr r3, [r7, #20] 80c4978: 2205 movs r2, #5 80c497a: 721a strb r2, [r3, #8] return -1; 80c497c: f04f 33ff mov.w r3, #4294967295 80c4980: e019 b.n 80c49b6 } if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c4982: 68fb ldr r3, [r7, #12] 80c4984: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c4988: 689b ldr r3, [r3, #8] 80c498a: 7afa ldrb r2, [r7, #11] 80c498c: 4610 mov r0, r2 80c498e: 4798 blx r3 80c4990: 4603 mov r3, r0 80c4992: 2b00 cmp r3, #0 80c4994: d00b beq.n 80c49ae { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c4996: 7af9 ldrb r1, [r7, #11] 80c4998: 233a movs r3, #58 ; 0x3a 80c499a: 2202 movs r2, #2 80c499c: 68f8 ldr r0, [r7, #12] 80c499e: f000 fac2 bl 80c4f26 hmsc->bot_state = USBD_BOT_NO_DATA; 80c49a2: 697b ldr r3, [r7, #20] 80c49a4: 2205 movs r2, #5 80c49a6: 721a strb r2, [r3, #8] return -1; 80c49a8: f04f 33ff mov.w r3, #4294967295 80c49ac: e003 b.n 80c49b6 } hmsc->bot_data_length = 0U; 80c49ae: 697b ldr r3, [r7, #20] 80c49b0: 2200 movs r2, #0 80c49b2: 60da str r2, [r3, #12] return 0; 80c49b4: 2300 movs r3, #0 } 80c49b6: 4618 mov r0, r3 80c49b8: 3718 adds r7, #24 80c49ba: 46bd mov sp, r7 80c49bc: bd80 pop {r7, pc} ... 080c49c0 : * @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) { 80c49c0: b580 push {r7, lr} 80c49c2: b088 sub sp, #32 80c49c4: af00 add r7, sp, #0 80c49c6: 60f8 str r0, [r7, #12] 80c49c8: 460b mov r3, r1 80c49ca: 607a str r2, [r7, #4] 80c49cc: 72fb strb r3, [r7, #11] uint8_t *pPage; uint16_t len; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c49ce: 68fb ldr r3, [r7, #12] 80c49d0: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c49d4: 61bb str r3, [r7, #24] if (hmsc->cbw.dDataLength == 0U) 80c49d6: 69bb ldr r3, [r7, #24] 80c49d8: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c49dc: 2b00 cmp r3, #0 80c49de: d10a bne.n 80c49f6 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c49e0: 69bb ldr r3, [r7, #24] 80c49e2: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c49e6: 2320 movs r3, #32 80c49e8: 2205 movs r2, #5 80c49ea: 68f8 ldr r0, [r7, #12] 80c49ec: f000 fa9b bl 80c4f26 return -1; 80c49f0: f04f 33ff mov.w r3, #4294967295 80c49f4: e04a b.n 80c4a8c } if ((params[1] & 0x01U) != 0U) /* Evpd is set */ 80c49f6: 687b ldr r3, [r7, #4] 80c49f8: 3301 adds r3, #1 80c49fa: 781b ldrb r3, [r3, #0] 80c49fc: f003 0301 and.w r3, r3, #1 80c4a00: 2b00 cmp r3, #0 80c4a02: d020 beq.n 80c4a46 { if (params[2] == 0U) /* Request for Supported Vital Product Data Pages*/ 80c4a04: 687b ldr r3, [r7, #4] 80c4a06: 3302 adds r3, #2 80c4a08: 781b ldrb r3, [r3, #0] 80c4a0a: 2b00 cmp r3, #0 80c4a0c: d105 bne.n 80c4a1a { (void)SCSI_UpdateBotData(hmsc, MSC_Page00_Inquiry_Data, LENGTH_INQUIRY_PAGE00); 80c4a0e: 2206 movs r2, #6 80c4a10: 4920 ldr r1, [pc, #128] ; (80c4a94 ) 80c4a12: 69b8 ldr r0, [r7, #24] 80c4a14: f000 ff50 bl 80c58b8 80c4a18: e037 b.n 80c4a8a } else if (params[2] == 0x80U) /* Request for VPD page 0x80 Unit Serial Number */ 80c4a1a: 687b ldr r3, [r7, #4] 80c4a1c: 3302 adds r3, #2 80c4a1e: 781b ldrb r3, [r3, #0] 80c4a20: 2b80 cmp r3, #128 ; 0x80 80c4a22: d105 bne.n 80c4a30 { (void)SCSI_UpdateBotData(hmsc, MSC_Page80_Inquiry_Data, LENGTH_INQUIRY_PAGE80); 80c4a24: 2208 movs r2, #8 80c4a26: 491c ldr r1, [pc, #112] ; (80c4a98 ) 80c4a28: 69b8 ldr r0, [r7, #24] 80c4a2a: f000 ff45 bl 80c58b8 80c4a2e: e02c b.n 80c4a8a } else /* Request Not supported */ { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, 80c4a30: 69bb ldr r3, [r7, #24] 80c4a32: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c4a36: 2324 movs r3, #36 ; 0x24 80c4a38: 2205 movs r2, #5 80c4a3a: 68f8 ldr r0, [r7, #12] 80c4a3c: f000 fa73 bl 80c4f26 INVALID_FIELED_IN_COMMAND); return -1; 80c4a40: f04f 33ff mov.w r3, #4294967295 80c4a44: e022 b.n 80c4a8c } } else { pPage = (uint8_t *)&((USBD_StorageTypeDef *)pdev->pUserData)->pInquiry[lun * STANDARD_INQUIRY_DATA_LEN]; 80c4a46: 68fb ldr r3, [r7, #12] 80c4a48: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c4a4c: 69d9 ldr r1, [r3, #28] 80c4a4e: 7afa ldrb r2, [r7, #11] 80c4a50: 4613 mov r3, r2 80c4a52: 00db lsls r3, r3, #3 80c4a54: 4413 add r3, r2 80c4a56: 009b lsls r3, r3, #2 80c4a58: 440b add r3, r1 80c4a5a: 617b str r3, [r7, #20] len = (uint16_t)pPage[4] + 5U; 80c4a5c: 697b ldr r3, [r7, #20] 80c4a5e: 3304 adds r3, #4 80c4a60: 781b ldrb r3, [r3, #0] 80c4a62: b29b uxth r3, r3 80c4a64: 3305 adds r3, #5 80c4a66: 83fb strh r3, [r7, #30] if (params[4] <= len) 80c4a68: 687b ldr r3, [r7, #4] 80c4a6a: 3304 adds r3, #4 80c4a6c: 781b ldrb r3, [r3, #0] 80c4a6e: b29b uxth r3, r3 80c4a70: 8bfa ldrh r2, [r7, #30] 80c4a72: 429a cmp r2, r3 80c4a74: d303 bcc.n 80c4a7e { len = params[4]; 80c4a76: 687b ldr r3, [r7, #4] 80c4a78: 3304 adds r3, #4 80c4a7a: 781b ldrb r3, [r3, #0] 80c4a7c: 83fb strh r3, [r7, #30] } (void)SCSI_UpdateBotData(hmsc, pPage, len); 80c4a7e: 8bfb ldrh r3, [r7, #30] 80c4a80: 461a mov r2, r3 80c4a82: 6979 ldr r1, [r7, #20] 80c4a84: 69b8 ldr r0, [r7, #24] 80c4a86: f000 ff17 bl 80c58b8 } return 0; 80c4a8a: 2300 movs r3, #0 } 80c4a8c: 4618 mov r0, r3 80c4a8e: 3720 adds r7, #32 80c4a90: 46bd mov sp, r7 80c4a92: bd80 pop {r7, pc} 80c4a94: 20020a8c .word 0x20020a8c 80c4a98: 20020a94 .word 0x20020a94 080c4a9c : * @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) { 80c4a9c: b580 push {r7, lr} 80c4a9e: b086 sub sp, #24 80c4aa0: af00 add r7, sp, #0 80c4aa2: 60f8 str r0, [r7, #12] 80c4aa4: 460b mov r3, r1 80c4aa6: 607a str r2, [r7, #4] 80c4aa8: 72fb strb r3, [r7, #11] UNUSED(params); int8_t ret; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4aaa: 68fb ldr r3, [r7, #12] 80c4aac: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4ab0: 617b str r3, [r7, #20] ret = ((USBD_StorageTypeDef *)pdev->pUserData)->GetCapacity(lun, &hmsc->scsi_blk_nbr, &hmsc->scsi_blk_size); 80c4ab2: 68fb ldr r3, [r7, #12] 80c4ab4: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c4ab8: 685b ldr r3, [r3, #4] 80c4aba: 697a ldr r2, [r7, #20] 80c4abc: f502 711a add.w r1, r2, #616 ; 0x268 80c4ac0: 697a ldr r2, [r7, #20] 80c4ac2: f502 7219 add.w r2, r2, #612 ; 0x264 80c4ac6: 7af8 ldrb r0, [r7, #11] 80c4ac8: 4798 blx r3 80c4aca: 4603 mov r3, r0 80c4acc: 74fb strb r3, [r7, #19] if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 80c4ace: f997 3013 ldrsb.w r3, [r7, #19] 80c4ad2: 2b00 cmp r3, #0 80c4ad4: d104 bne.n 80c4ae0 80c4ad6: 697b ldr r3, [r7, #20] 80c4ad8: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c4adc: 2b02 cmp r3, #2 80c4ade: d108 bne.n 80c4af2 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c4ae0: 7af9 ldrb r1, [r7, #11] 80c4ae2: 233a movs r3, #58 ; 0x3a 80c4ae4: 2202 movs r2, #2 80c4ae6: 68f8 ldr r0, [r7, #12] 80c4ae8: f000 fa1d bl 80c4f26 return -1; 80c4aec: f04f 33ff mov.w r3, #4294967295 80c4af0: e03f b.n 80c4b72 } hmsc->bot_data[0] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 24); 80c4af2: 697b ldr r3, [r7, #20] 80c4af4: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c4af8: 3b01 subs r3, #1 80c4afa: 0e1b lsrs r3, r3, #24 80c4afc: b2da uxtb r2, r3 80c4afe: 697b ldr r3, [r7, #20] 80c4b00: 741a strb r2, [r3, #16] hmsc->bot_data[1] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 16); 80c4b02: 697b ldr r3, [r7, #20] 80c4b04: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c4b08: 3b01 subs r3, #1 80c4b0a: 0c1b lsrs r3, r3, #16 80c4b0c: b2da uxtb r2, r3 80c4b0e: 697b ldr r3, [r7, #20] 80c4b10: 745a strb r2, [r3, #17] hmsc->bot_data[2] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 8); 80c4b12: 697b ldr r3, [r7, #20] 80c4b14: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c4b18: 3b01 subs r3, #1 80c4b1a: 0a1b lsrs r3, r3, #8 80c4b1c: b2da uxtb r2, r3 80c4b1e: 697b ldr r3, [r7, #20] 80c4b20: 749a strb r2, [r3, #18] hmsc->bot_data[3] = (uint8_t)(hmsc->scsi_blk_nbr - 1U); 80c4b22: 697b ldr r3, [r7, #20] 80c4b24: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c4b28: b2db uxtb r3, r3 80c4b2a: 3b01 subs r3, #1 80c4b2c: b2da uxtb r2, r3 80c4b2e: 697b ldr r3, [r7, #20] 80c4b30: 74da strb r2, [r3, #19] hmsc->bot_data[4] = (uint8_t)(hmsc->scsi_blk_size >> 24); 80c4b32: 697b ldr r3, [r7, #20] 80c4b34: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c4b38: 161b asrs r3, r3, #24 80c4b3a: b2da uxtb r2, r3 80c4b3c: 697b ldr r3, [r7, #20] 80c4b3e: 751a strb r2, [r3, #20] hmsc->bot_data[5] = (uint8_t)(hmsc->scsi_blk_size >> 16); 80c4b40: 697b ldr r3, [r7, #20] 80c4b42: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c4b46: 141b asrs r3, r3, #16 80c4b48: b2da uxtb r2, r3 80c4b4a: 697b ldr r3, [r7, #20] 80c4b4c: 755a strb r2, [r3, #21] hmsc->bot_data[6] = (uint8_t)(hmsc->scsi_blk_size >> 8); 80c4b4e: 697b ldr r3, [r7, #20] 80c4b50: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c4b54: 0a1b lsrs r3, r3, #8 80c4b56: b29b uxth r3, r3 80c4b58: b2da uxtb r2, r3 80c4b5a: 697b ldr r3, [r7, #20] 80c4b5c: 759a strb r2, [r3, #22] hmsc->bot_data[7] = (uint8_t)(hmsc->scsi_blk_size); 80c4b5e: 697b ldr r3, [r7, #20] 80c4b60: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c4b64: b2da uxtb r2, r3 80c4b66: 697b ldr r3, [r7, #20] 80c4b68: 75da strb r2, [r3, #23] hmsc->bot_data_length = 8U; 80c4b6a: 697b ldr r3, [r7, #20] 80c4b6c: 2208 movs r2, #8 80c4b6e: 60da str r2, [r3, #12] return 0; 80c4b70: 2300 movs r3, #0 } 80c4b72: 4618 mov r0, r3 80c4b74: 3718 adds r7, #24 80c4b76: 46bd mov sp, r7 80c4b78: bd80 pop {r7, pc} 080c4b7a : * @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) { 80c4b7a: b580 push {r7, lr} 80c4b7c: b088 sub sp, #32 80c4b7e: af00 add r7, sp, #0 80c4b80: 60f8 str r0, [r7, #12] 80c4b82: 460b mov r3, r1 80c4b84: 607a str r2, [r7, #4] 80c4b86: 72fb strb r3, [r7, #11] UNUSED(params); uint8_t idx; int8_t ret; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4b88: 68fb ldr r3, [r7, #12] 80c4b8a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4b8e: 61bb str r3, [r7, #24] ret = ((USBD_StorageTypeDef *)pdev->pUserData)->GetCapacity(lun, &hmsc->scsi_blk_nbr, &hmsc->scsi_blk_size); 80c4b90: 68fb ldr r3, [r7, #12] 80c4b92: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c4b96: 685b ldr r3, [r3, #4] 80c4b98: 69ba ldr r2, [r7, #24] 80c4b9a: f502 711a add.w r1, r2, #616 ; 0x268 80c4b9e: 69ba ldr r2, [r7, #24] 80c4ba0: f502 7219 add.w r2, r2, #612 ; 0x264 80c4ba4: 7af8 ldrb r0, [r7, #11] 80c4ba6: 4798 blx r3 80c4ba8: 4603 mov r3, r0 80c4baa: 75fb strb r3, [r7, #23] if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 80c4bac: f997 3017 ldrsb.w r3, [r7, #23] 80c4bb0: 2b00 cmp r3, #0 80c4bb2: d104 bne.n 80c4bbe 80c4bb4: 69bb ldr r3, [r7, #24] 80c4bb6: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c4bba: 2b02 cmp r3, #2 80c4bbc: d108 bne.n 80c4bd0 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c4bbe: 7af9 ldrb r1, [r7, #11] 80c4bc0: 233a movs r3, #58 ; 0x3a 80c4bc2: 2202 movs r2, #2 80c4bc4: 68f8 ldr r0, [r7, #12] 80c4bc6: f000 f9ae bl 80c4f26 return -1; 80c4bca: f04f 33ff mov.w r3, #4294967295 80c4bce: e074 b.n 80c4cba } hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c4bd0: 687b ldr r3, [r7, #4] 80c4bd2: 330a adds r3, #10 80c4bd4: 781b ldrb r3, [r3, #0] 80c4bd6: 061a lsls r2, r3, #24 ((uint32_t)params[11] << 16) | 80c4bd8: 687b ldr r3, [r7, #4] 80c4bda: 330b adds r3, #11 80c4bdc: 781b ldrb r3, [r3, #0] 80c4bde: 041b lsls r3, r3, #16 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c4be0: 431a orrs r2, r3 ((uint32_t)params[12] << 8) | 80c4be2: 687b ldr r3, [r7, #4] 80c4be4: 330c adds r3, #12 80c4be6: 781b ldrb r3, [r3, #0] 80c4be8: 021b lsls r3, r3, #8 ((uint32_t)params[11] << 16) | 80c4bea: 4313 orrs r3, r2 (uint32_t)params[13]; 80c4bec: 687a ldr r2, [r7, #4] 80c4bee: 320d adds r2, #13 80c4bf0: 7812 ldrb r2, [r2, #0] ((uint32_t)params[12] << 8) | 80c4bf2: 431a orrs r2, r3 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c4bf4: 69bb ldr r3, [r7, #24] 80c4bf6: 60da str r2, [r3, #12] for (idx = 0U; idx < hmsc->bot_data_length; idx++) 80c4bf8: 2300 movs r3, #0 80c4bfa: 77fb strb r3, [r7, #31] 80c4bfc: e007 b.n 80c4c0e { hmsc->bot_data[idx] = 0U; 80c4bfe: 7ffb ldrb r3, [r7, #31] 80c4c00: 69ba ldr r2, [r7, #24] 80c4c02: 4413 add r3, r2 80c4c04: 2200 movs r2, #0 80c4c06: 741a strb r2, [r3, #16] for (idx = 0U; idx < hmsc->bot_data_length; idx++) 80c4c08: 7ffb ldrb r3, [r7, #31] 80c4c0a: 3301 adds r3, #1 80c4c0c: 77fb strb r3, [r7, #31] 80c4c0e: 7ffa ldrb r2, [r7, #31] 80c4c10: 69bb ldr r3, [r7, #24] 80c4c12: 68db ldr r3, [r3, #12] 80c4c14: 429a cmp r2, r3 80c4c16: d3f2 bcc.n 80c4bfe } hmsc->bot_data[4] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 24); 80c4c18: 69bb ldr r3, [r7, #24] 80c4c1a: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c4c1e: 3b01 subs r3, #1 80c4c20: 0e1b lsrs r3, r3, #24 80c4c22: b2da uxtb r2, r3 80c4c24: 69bb ldr r3, [r7, #24] 80c4c26: 751a strb r2, [r3, #20] hmsc->bot_data[5] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 16); 80c4c28: 69bb ldr r3, [r7, #24] 80c4c2a: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c4c2e: 3b01 subs r3, #1 80c4c30: 0c1b lsrs r3, r3, #16 80c4c32: b2da uxtb r2, r3 80c4c34: 69bb ldr r3, [r7, #24] 80c4c36: 755a strb r2, [r3, #21] hmsc->bot_data[6] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 8); 80c4c38: 69bb ldr r3, [r7, #24] 80c4c3a: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c4c3e: 3b01 subs r3, #1 80c4c40: 0a1b lsrs r3, r3, #8 80c4c42: b2da uxtb r2, r3 80c4c44: 69bb ldr r3, [r7, #24] 80c4c46: 759a strb r2, [r3, #22] hmsc->bot_data[7] = (uint8_t)(hmsc->scsi_blk_nbr - 1U); 80c4c48: 69bb ldr r3, [r7, #24] 80c4c4a: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c4c4e: b2db uxtb r3, r3 80c4c50: 3b01 subs r3, #1 80c4c52: b2da uxtb r2, r3 80c4c54: 69bb ldr r3, [r7, #24] 80c4c56: 75da strb r2, [r3, #23] hmsc->bot_data[8] = (uint8_t)(hmsc->scsi_blk_size >> 24); 80c4c58: 69bb ldr r3, [r7, #24] 80c4c5a: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c4c5e: 161b asrs r3, r3, #24 80c4c60: b2da uxtb r2, r3 80c4c62: 69bb ldr r3, [r7, #24] 80c4c64: 761a strb r2, [r3, #24] hmsc->bot_data[9] = (uint8_t)(hmsc->scsi_blk_size >> 16); 80c4c66: 69bb ldr r3, [r7, #24] 80c4c68: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c4c6c: 141b asrs r3, r3, #16 80c4c6e: b2da uxtb r2, r3 80c4c70: 69bb ldr r3, [r7, #24] 80c4c72: 765a strb r2, [r3, #25] hmsc->bot_data[10] = (uint8_t)(hmsc->scsi_blk_size >> 8); 80c4c74: 69bb ldr r3, [r7, #24] 80c4c76: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c4c7a: 0a1b lsrs r3, r3, #8 80c4c7c: b29b uxth r3, r3 80c4c7e: b2da uxtb r2, r3 80c4c80: 69bb ldr r3, [r7, #24] 80c4c82: 769a strb r2, [r3, #26] hmsc->bot_data[11] = (uint8_t)(hmsc->scsi_blk_size); 80c4c84: 69bb ldr r3, [r7, #24] 80c4c86: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c4c8a: b2da uxtb r2, r3 80c4c8c: 69bb ldr r3, [r7, #24] 80c4c8e: 76da strb r2, [r3, #27] hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c4c90: 687b ldr r3, [r7, #4] 80c4c92: 330a adds r3, #10 80c4c94: 781b ldrb r3, [r3, #0] 80c4c96: 061a lsls r2, r3, #24 ((uint32_t)params[11] << 16) | 80c4c98: 687b ldr r3, [r7, #4] 80c4c9a: 330b adds r3, #11 80c4c9c: 781b ldrb r3, [r3, #0] 80c4c9e: 041b lsls r3, r3, #16 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c4ca0: 431a orrs r2, r3 ((uint32_t)params[12] << 8) | 80c4ca2: 687b ldr r3, [r7, #4] 80c4ca4: 330c adds r3, #12 80c4ca6: 781b ldrb r3, [r3, #0] 80c4ca8: 021b lsls r3, r3, #8 ((uint32_t)params[11] << 16) | 80c4caa: 4313 orrs r3, r2 (uint32_t)params[13]; 80c4cac: 687a ldr r2, [r7, #4] 80c4cae: 320d adds r2, #13 80c4cb0: 7812 ldrb r2, [r2, #0] ((uint32_t)params[12] << 8) | 80c4cb2: 431a orrs r2, r3 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c4cb4: 69bb ldr r3, [r7, #24] 80c4cb6: 60da str r2, [r3, #12] return 0; 80c4cb8: 2300 movs r3, #0 } 80c4cba: 4618 mov r0, r3 80c4cbc: 3720 adds r7, #32 80c4cbe: 46bd mov sp, r7 80c4cc0: bd80 pop {r7, pc} 080c4cc2 : * @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) { 80c4cc2: b580 push {r7, lr} 80c4cc4: b088 sub sp, #32 80c4cc6: af00 add r7, sp, #0 80c4cc8: 60f8 str r0, [r7, #12] 80c4cca: 460b mov r3, r1 80c4ccc: 607a str r2, [r7, #4] 80c4cce: 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; 80c4cd0: 68fb ldr r3, [r7, #12] 80c4cd2: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4cd6: 61bb str r3, [r7, #24] ret = ((USBD_StorageTypeDef *)pdev->pUserData)->GetCapacity(lun, &blk_nbr, &blk_size); 80c4cd8: 68fb ldr r3, [r7, #12] 80c4cda: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c4cde: 685b ldr r3, [r3, #4] 80c4ce0: f107 0214 add.w r2, r7, #20 80c4ce4: f107 0110 add.w r1, r7, #16 80c4ce8: 7af8 ldrb r0, [r7, #11] 80c4cea: 4798 blx r3 80c4cec: 4603 mov r3, r0 80c4cee: 75fb strb r3, [r7, #23] if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 80c4cf0: f997 3017 ldrsb.w r3, [r7, #23] 80c4cf4: 2b00 cmp r3, #0 80c4cf6: d104 bne.n 80c4d02 80c4cf8: 69bb ldr r3, [r7, #24] 80c4cfa: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c4cfe: 2b02 cmp r3, #2 80c4d00: d108 bne.n 80c4d14 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c4d02: 7af9 ldrb r1, [r7, #11] 80c4d04: 233a movs r3, #58 ; 0x3a 80c4d06: 2202 movs r2, #2 80c4d08: 68f8 ldr r0, [r7, #12] 80c4d0a: f000 f90c bl 80c4f26 return -1; 80c4d0e: f04f 33ff mov.w r3, #4294967295 80c4d12: e03e b.n 80c4d92 } for (i = 0U; i < 12U ; i++) 80c4d14: 2300 movs r3, #0 80c4d16: 83fb strh r3, [r7, #30] 80c4d18: e007 b.n 80c4d2a { hmsc->bot_data[i] = 0U; 80c4d1a: 8bfb ldrh r3, [r7, #30] 80c4d1c: 69ba ldr r2, [r7, #24] 80c4d1e: 4413 add r3, r2 80c4d20: 2200 movs r2, #0 80c4d22: 741a strb r2, [r3, #16] for (i = 0U; i < 12U ; i++) 80c4d24: 8bfb ldrh r3, [r7, #30] 80c4d26: 3301 adds r3, #1 80c4d28: 83fb strh r3, [r7, #30] 80c4d2a: 8bfb ldrh r3, [r7, #30] 80c4d2c: 2b0b cmp r3, #11 80c4d2e: d9f4 bls.n 80c4d1a } hmsc->bot_data[3] = 0x08U; 80c4d30: 69bb ldr r3, [r7, #24] 80c4d32: 2208 movs r2, #8 80c4d34: 74da strb r2, [r3, #19] hmsc->bot_data[4] = (uint8_t)((blk_nbr - 1U) >> 24); 80c4d36: 693b ldr r3, [r7, #16] 80c4d38: 3b01 subs r3, #1 80c4d3a: 0e1b lsrs r3, r3, #24 80c4d3c: b2da uxtb r2, r3 80c4d3e: 69bb ldr r3, [r7, #24] 80c4d40: 751a strb r2, [r3, #20] hmsc->bot_data[5] = (uint8_t)((blk_nbr - 1U) >> 16); 80c4d42: 693b ldr r3, [r7, #16] 80c4d44: 3b01 subs r3, #1 80c4d46: 0c1b lsrs r3, r3, #16 80c4d48: b2da uxtb r2, r3 80c4d4a: 69bb ldr r3, [r7, #24] 80c4d4c: 755a strb r2, [r3, #21] hmsc->bot_data[6] = (uint8_t)((blk_nbr - 1U) >> 8); 80c4d4e: 693b ldr r3, [r7, #16] 80c4d50: 3b01 subs r3, #1 80c4d52: 0a1b lsrs r3, r3, #8 80c4d54: b2da uxtb r2, r3 80c4d56: 69bb ldr r3, [r7, #24] 80c4d58: 759a strb r2, [r3, #22] hmsc->bot_data[7] = (uint8_t)(blk_nbr - 1U); 80c4d5a: 693b ldr r3, [r7, #16] 80c4d5c: b2db uxtb r3, r3 80c4d5e: 3b01 subs r3, #1 80c4d60: b2da uxtb r2, r3 80c4d62: 69bb ldr r3, [r7, #24] 80c4d64: 75da strb r2, [r3, #23] hmsc->bot_data[8] = 0x02U; 80c4d66: 69bb ldr r3, [r7, #24] 80c4d68: 2202 movs r2, #2 80c4d6a: 761a strb r2, [r3, #24] hmsc->bot_data[9] = (uint8_t)(blk_size >> 16); 80c4d6c: 8abb ldrh r3, [r7, #20] 80c4d6e: 141b asrs r3, r3, #16 80c4d70: b2da uxtb r2, r3 80c4d72: 69bb ldr r3, [r7, #24] 80c4d74: 765a strb r2, [r3, #25] hmsc->bot_data[10] = (uint8_t)(blk_size >> 8); 80c4d76: 8abb ldrh r3, [r7, #20] 80c4d78: 0a1b lsrs r3, r3, #8 80c4d7a: b29b uxth r3, r3 80c4d7c: b2da uxtb r2, r3 80c4d7e: 69bb ldr r3, [r7, #24] 80c4d80: 769a strb r2, [r3, #26] hmsc->bot_data[11] = (uint8_t)(blk_size); 80c4d82: 8abb ldrh r3, [r7, #20] 80c4d84: b2da uxtb r2, r3 80c4d86: 69bb ldr r3, [r7, #24] 80c4d88: 76da strb r2, [r3, #27] hmsc->bot_data_length = 12U; 80c4d8a: 69bb ldr r3, [r7, #24] 80c4d8c: 220c movs r2, #12 80c4d8e: 60da str r2, [r3, #12] return 0; 80c4d90: 2300 movs r3, #0 } 80c4d92: 4618 mov r0, r3 80c4d94: 3720 adds r7, #32 80c4d96: 46bd mov sp, r7 80c4d98: bd80 pop {r7, pc} ... 080c4d9c : * @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) { 80c4d9c: b580 push {r7, lr} 80c4d9e: b086 sub sp, #24 80c4da0: af00 add r7, sp, #0 80c4da2: 60f8 str r0, [r7, #12] 80c4da4: 460b mov r3, r1 80c4da6: 607a str r2, [r7, #4] 80c4da8: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4daa: 68fb ldr r3, [r7, #12] 80c4dac: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4db0: 613b str r3, [r7, #16] uint16_t len = MODE_SENSE6_LEN; 80c4db2: 2317 movs r3, #23 80c4db4: 82fb strh r3, [r7, #22] if (params[4] <= len) 80c4db6: 687b ldr r3, [r7, #4] 80c4db8: 3304 adds r3, #4 80c4dba: 781b ldrb r3, [r3, #0] 80c4dbc: b29b uxth r3, r3 80c4dbe: 8afa ldrh r2, [r7, #22] 80c4dc0: 429a cmp r2, r3 80c4dc2: d303 bcc.n 80c4dcc { len = params[4]; 80c4dc4: 687b ldr r3, [r7, #4] 80c4dc6: 3304 adds r3, #4 80c4dc8: 781b ldrb r3, [r3, #0] 80c4dca: 82fb strh r3, [r7, #22] } (void)SCSI_UpdateBotData(hmsc, MSC_Mode_Sense6_data, len); 80c4dcc: 8afb ldrh r3, [r7, #22] 80c4dce: 461a mov r2, r3 80c4dd0: 4904 ldr r1, [pc, #16] ; (80c4de4 ) 80c4dd2: 6938 ldr r0, [r7, #16] 80c4dd4: f000 fd70 bl 80c58b8 return 0; 80c4dd8: 2300 movs r3, #0 } 80c4dda: 4618 mov r0, r3 80c4ddc: 3718 adds r7, #24 80c4dde: 46bd mov sp, r7 80c4de0: bd80 pop {r7, pc} 80c4de2: bf00 nop 80c4de4: 20020a9c .word 0x20020a9c 080c4de8 : * @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) { 80c4de8: b580 push {r7, lr} 80c4dea: b086 sub sp, #24 80c4dec: af00 add r7, sp, #0 80c4dee: 60f8 str r0, [r7, #12] 80c4df0: 460b mov r3, r1 80c4df2: 607a str r2, [r7, #4] 80c4df4: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4df6: 68fb ldr r3, [r7, #12] 80c4df8: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4dfc: 613b str r3, [r7, #16] uint16_t len = MODE_SENSE10_LEN; 80c4dfe: 231b movs r3, #27 80c4e00: 82fb strh r3, [r7, #22] if (params[8] <= len) 80c4e02: 687b ldr r3, [r7, #4] 80c4e04: 3308 adds r3, #8 80c4e06: 781b ldrb r3, [r3, #0] 80c4e08: b29b uxth r3, r3 80c4e0a: 8afa ldrh r2, [r7, #22] 80c4e0c: 429a cmp r2, r3 80c4e0e: d303 bcc.n 80c4e18 { len = params[8]; 80c4e10: 687b ldr r3, [r7, #4] 80c4e12: 3308 adds r3, #8 80c4e14: 781b ldrb r3, [r3, #0] 80c4e16: 82fb strh r3, [r7, #22] } (void)SCSI_UpdateBotData(hmsc, MSC_Mode_Sense10_data, len); 80c4e18: 8afb ldrh r3, [r7, #22] 80c4e1a: 461a mov r2, r3 80c4e1c: 4904 ldr r1, [pc, #16] ; (80c4e30 ) 80c4e1e: 6938 ldr r0, [r7, #16] 80c4e20: f000 fd4a bl 80c58b8 return 0; 80c4e24: 2300 movs r3, #0 } 80c4e26: 4618 mov r0, r3 80c4e28: 3718 adds r7, #24 80c4e2a: 46bd mov sp, r7 80c4e2c: bd80 pop {r7, pc} 80c4e2e: bf00 nop 80c4e30: 20020ab4 .word 0x20020ab4 080c4e34 : * @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) { 80c4e34: b580 push {r7, lr} 80c4e36: b086 sub sp, #24 80c4e38: af00 add r7, sp, #0 80c4e3a: 60f8 str r0, [r7, #12] 80c4e3c: 460b mov r3, r1 80c4e3e: 607a str r2, [r7, #4] 80c4e40: 72fb strb r3, [r7, #11] UNUSED(lun); uint8_t i; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4e42: 68fb ldr r3, [r7, #12] 80c4e44: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4e48: 613b str r3, [r7, #16] if (hmsc->cbw.dDataLength == 0U) 80c4e4a: 693b ldr r3, [r7, #16] 80c4e4c: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c4e50: 2b00 cmp r3, #0 80c4e52: d10a bne.n 80c4e6a { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c4e54: 693b ldr r3, [r7, #16] 80c4e56: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c4e5a: 2320 movs r3, #32 80c4e5c: 2205 movs r2, #5 80c4e5e: 68f8 ldr r0, [r7, #12] 80c4e60: f000 f861 bl 80c4f26 return -1; 80c4e64: f04f 33ff mov.w r3, #4294967295 80c4e68: e059 b.n 80c4f1e } for (i = 0U; i < REQUEST_SENSE_DATA_LEN; i++) 80c4e6a: 2300 movs r3, #0 80c4e6c: 75fb strb r3, [r7, #23] 80c4e6e: e007 b.n 80c4e80 { hmsc->bot_data[i] = 0U; 80c4e70: 7dfb ldrb r3, [r7, #23] 80c4e72: 693a ldr r2, [r7, #16] 80c4e74: 4413 add r3, r2 80c4e76: 2200 movs r2, #0 80c4e78: 741a strb r2, [r3, #16] for (i = 0U; i < REQUEST_SENSE_DATA_LEN; i++) 80c4e7a: 7dfb ldrb r3, [r7, #23] 80c4e7c: 3301 adds r3, #1 80c4e7e: 75fb strb r3, [r7, #23] 80c4e80: 7dfb ldrb r3, [r7, #23] 80c4e82: 2b11 cmp r3, #17 80c4e84: d9f4 bls.n 80c4e70 } hmsc->bot_data[0] = 0x70U; 80c4e86: 693b ldr r3, [r7, #16] 80c4e88: 2270 movs r2, #112 ; 0x70 80c4e8a: 741a strb r2, [r3, #16] hmsc->bot_data[7] = REQUEST_SENSE_DATA_LEN - 6U; 80c4e8c: 693b ldr r3, [r7, #16] 80c4e8e: 220c movs r2, #12 80c4e90: 75da strb r2, [r3, #23] if ((hmsc->scsi_sense_head != hmsc->scsi_sense_tail)) 80c4e92: 693b ldr r3, [r7, #16] 80c4e94: f893 2260 ldrb.w r2, [r3, #608] ; 0x260 80c4e98: 693b ldr r3, [r7, #16] 80c4e9a: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c4e9e: 429a cmp r2, r3 80c4ea0: d02e beq.n 80c4f00 { hmsc->bot_data[2] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].Skey; 80c4ea2: 693b ldr r3, [r7, #16] 80c4ea4: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c4ea8: 461a mov r2, r3 80c4eaa: 693b ldr r3, [r7, #16] 80c4eac: 3248 adds r2, #72 ; 0x48 80c4eae: f813 2032 ldrb.w r2, [r3, r2, lsl #3] 80c4eb2: 693b ldr r3, [r7, #16] 80c4eb4: 749a strb r2, [r3, #18] hmsc->bot_data[12] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].w.b.ASC; 80c4eb6: 693b ldr r3, [r7, #16] 80c4eb8: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c4ebc: 693a ldr r2, [r7, #16] 80c4ebe: 3348 adds r3, #72 ; 0x48 80c4ec0: 00db lsls r3, r3, #3 80c4ec2: 4413 add r3, r2 80c4ec4: 791a ldrb r2, [r3, #4] 80c4ec6: 693b ldr r3, [r7, #16] 80c4ec8: 771a strb r2, [r3, #28] hmsc->bot_data[13] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].w.b.ASCQ; 80c4eca: 693b ldr r3, [r7, #16] 80c4ecc: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c4ed0: 693a ldr r2, [r7, #16] 80c4ed2: 3348 adds r3, #72 ; 0x48 80c4ed4: 00db lsls r3, r3, #3 80c4ed6: 4413 add r3, r2 80c4ed8: 795a ldrb r2, [r3, #5] 80c4eda: 693b ldr r3, [r7, #16] 80c4edc: 775a strb r2, [r3, #29] hmsc->scsi_sense_head++; 80c4ede: 693b ldr r3, [r7, #16] 80c4ee0: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c4ee4: 3301 adds r3, #1 80c4ee6: b2da uxtb r2, r3 80c4ee8: 693b ldr r3, [r7, #16] 80c4eea: f883 2260 strb.w r2, [r3, #608] ; 0x260 if (hmsc->scsi_sense_head == SENSE_LIST_DEEPTH) 80c4eee: 693b ldr r3, [r7, #16] 80c4ef0: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c4ef4: 2b04 cmp r3, #4 80c4ef6: d103 bne.n 80c4f00 { hmsc->scsi_sense_head = 0U; 80c4ef8: 693b ldr r3, [r7, #16] 80c4efa: 2200 movs r2, #0 80c4efc: f883 2260 strb.w r2, [r3, #608] ; 0x260 } } hmsc->bot_data_length = REQUEST_SENSE_DATA_LEN; 80c4f00: 693b ldr r3, [r7, #16] 80c4f02: 2212 movs r2, #18 80c4f04: 60da str r2, [r3, #12] if (params[4] <= REQUEST_SENSE_DATA_LEN) 80c4f06: 687b ldr r3, [r7, #4] 80c4f08: 3304 adds r3, #4 80c4f0a: 781b ldrb r3, [r3, #0] 80c4f0c: 2b12 cmp r3, #18 80c4f0e: d805 bhi.n 80c4f1c { hmsc->bot_data_length = params[4]; 80c4f10: 687b ldr r3, [r7, #4] 80c4f12: 3304 adds r3, #4 80c4f14: 781b ldrb r3, [r3, #0] 80c4f16: 461a mov r2, r3 80c4f18: 693b ldr r3, [r7, #16] 80c4f1a: 60da str r2, [r3, #12] } return 0; 80c4f1c: 2300 movs r3, #0 } 80c4f1e: 4618 mov r0, r3 80c4f20: 3718 adds r7, #24 80c4f22: 46bd mov sp, r7 80c4f24: bd80 pop {r7, pc} 080c4f26 : * @param ASC: Additional Sense Code * @retval none */ void SCSI_SenseCode(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t sKey, uint8_t ASC) { 80c4f26: b480 push {r7} 80c4f28: b085 sub sp, #20 80c4f2a: af00 add r7, sp, #0 80c4f2c: 6078 str r0, [r7, #4] 80c4f2e: 4608 mov r0, r1 80c4f30: 4611 mov r1, r2 80c4f32: 461a mov r2, r3 80c4f34: 4603 mov r3, r0 80c4f36: 70fb strb r3, [r7, #3] 80c4f38: 460b mov r3, r1 80c4f3a: 70bb strb r3, [r7, #2] 80c4f3c: 4613 mov r3, r2 80c4f3e: 707b strb r3, [r7, #1] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4f40: 687b ldr r3, [r7, #4] 80c4f42: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4f46: 60fb str r3, [r7, #12] hmsc->scsi_sense[hmsc->scsi_sense_tail].Skey = sKey; 80c4f48: 68fb ldr r3, [r7, #12] 80c4f4a: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c4f4e: 461a mov r2, r3 80c4f50: 68fb ldr r3, [r7, #12] 80c4f52: 3248 adds r2, #72 ; 0x48 80c4f54: 78b9 ldrb r1, [r7, #2] 80c4f56: f803 1032 strb.w r1, [r3, r2, lsl #3] hmsc->scsi_sense[hmsc->scsi_sense_tail].w.b.ASC = ASC; 80c4f5a: 68fb ldr r3, [r7, #12] 80c4f5c: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c4f60: 68fa ldr r2, [r7, #12] 80c4f62: 3348 adds r3, #72 ; 0x48 80c4f64: 00db lsls r3, r3, #3 80c4f66: 4413 add r3, r2 80c4f68: 787a ldrb r2, [r7, #1] 80c4f6a: 711a strb r2, [r3, #4] hmsc->scsi_sense[hmsc->scsi_sense_tail].w.b.ASCQ = 0U; 80c4f6c: 68fb ldr r3, [r7, #12] 80c4f6e: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c4f72: 68fa ldr r2, [r7, #12] 80c4f74: 3348 adds r3, #72 ; 0x48 80c4f76: 00db lsls r3, r3, #3 80c4f78: 4413 add r3, r2 80c4f7a: 2200 movs r2, #0 80c4f7c: 715a strb r2, [r3, #5] hmsc->scsi_sense_tail++; 80c4f7e: 68fb ldr r3, [r7, #12] 80c4f80: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c4f84: 3301 adds r3, #1 80c4f86: b2da uxtb r2, r3 80c4f88: 68fb ldr r3, [r7, #12] 80c4f8a: f883 2261 strb.w r2, [r3, #609] ; 0x261 if (hmsc->scsi_sense_tail == SENSE_LIST_DEEPTH) 80c4f8e: 68fb ldr r3, [r7, #12] 80c4f90: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c4f94: 2b04 cmp r3, #4 80c4f96: d103 bne.n 80c4fa0 { hmsc->scsi_sense_tail = 0U; 80c4f98: 68fb ldr r3, [r7, #12] 80c4f9a: 2200 movs r2, #0 80c4f9c: f883 2261 strb.w r2, [r3, #609] ; 0x261 } } 80c4fa0: bf00 nop 80c4fa2: 3714 adds r7, #20 80c4fa4: 46bd mov sp, r7 80c4fa6: f85d 7b04 ldr.w r7, [sp], #4 80c4faa: 4770 bx lr 080c4fac : * @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) { 80c4fac: b580 push {r7, lr} 80c4fae: b086 sub sp, #24 80c4fb0: af00 add r7, sp, #0 80c4fb2: 60f8 str r0, [r7, #12] 80c4fb4: 460b mov r3, r1 80c4fb6: 607a str r2, [r7, #4] 80c4fb8: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c4fba: 68fb ldr r3, [r7, #12] 80c4fbc: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c4fc0: 617b str r3, [r7, #20] if ((hmsc->scsi_medium_state == SCSI_MEDIUM_LOCKED) && ((params[4] & 0x3U) == 2U)) 80c4fc2: 697b ldr r3, [r7, #20] 80c4fc4: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c4fc8: 2b01 cmp r3, #1 80c4fca: d10f bne.n 80c4fec 80c4fcc: 687b ldr r3, [r7, #4] 80c4fce: 3304 adds r3, #4 80c4fd0: 781b ldrb r3, [r3, #0] 80c4fd2: f003 0303 and.w r3, r3, #3 80c4fd6: 2b02 cmp r3, #2 80c4fd8: d108 bne.n 80c4fec { SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); 80c4fda: 7af9 ldrb r1, [r7, #11] 80c4fdc: 2324 movs r3, #36 ; 0x24 80c4fde: 2205 movs r2, #5 80c4fe0: 68f8 ldr r0, [r7, #12] 80c4fe2: f7ff ffa0 bl 80c4f26 return -1; 80c4fe6: f04f 33ff mov.w r3, #4294967295 80c4fea: e026 b.n 80c503a } if ((params[4] & 0x3U) == 0x1U) /* START=1 */ 80c4fec: 687b ldr r3, [r7, #4] 80c4fee: 3304 adds r3, #4 80c4ff0: 781b ldrb r3, [r3, #0] 80c4ff2: f003 0303 and.w r3, r3, #3 80c4ff6: 2b01 cmp r3, #1 80c4ff8: d104 bne.n 80c5004 { hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c4ffa: 697b ldr r3, [r7, #20] 80c4ffc: 2200 movs r2, #0 80c4ffe: f883 2262 strb.w r2, [r3, #610] ; 0x262 80c5002: e016 b.n 80c5032 } else if ((params[4] & 0x3U) == 0x2U) /* START=0 and LOEJ Load Eject=1 */ 80c5004: 687b ldr r3, [r7, #4] 80c5006: 3304 adds r3, #4 80c5008: 781b ldrb r3, [r3, #0] 80c500a: f003 0303 and.w r3, r3, #3 80c500e: 2b02 cmp r3, #2 80c5010: d104 bne.n 80c501c { hmsc->scsi_medium_state = SCSI_MEDIUM_EJECTED; 80c5012: 697b ldr r3, [r7, #20] 80c5014: 2202 movs r2, #2 80c5016: f883 2262 strb.w r2, [r3, #610] ; 0x262 80c501a: e00a b.n 80c5032 } else if ((params[4] & 0x3U) == 0x3U) /* START=1 and LOEJ Load Eject=1 */ 80c501c: 687b ldr r3, [r7, #4] 80c501e: 3304 adds r3, #4 80c5020: 781b ldrb r3, [r3, #0] 80c5022: f003 0303 and.w r3, r3, #3 80c5026: 2b03 cmp r3, #3 80c5028: d103 bne.n 80c5032 { hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c502a: 697b ldr r3, [r7, #20] 80c502c: 2200 movs r2, #0 80c502e: f883 2262 strb.w r2, [r3, #610] ; 0x262 } else { /* .. */ } hmsc->bot_data_length = 0U; 80c5032: 697b ldr r3, [r7, #20] 80c5034: 2200 movs r2, #0 80c5036: 60da str r2, [r3, #12] return 0; 80c5038: 2300 movs r3, #0 } 80c503a: 4618 mov r0, r3 80c503c: 3718 adds r7, #24 80c503e: 46bd mov sp, r7 80c5040: bd80 pop {r7, pc} 080c5042 : * @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) { 80c5042: b480 push {r7} 80c5044: b087 sub sp, #28 80c5046: af00 add r7, sp, #0 80c5048: 60f8 str r0, [r7, #12] 80c504a: 460b mov r3, r1 80c504c: 607a str r2, [r7, #4] 80c504e: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5050: 68fb ldr r3, [r7, #12] 80c5052: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5056: 617b str r3, [r7, #20] if (params[4] == 0U) 80c5058: 687b ldr r3, [r7, #4] 80c505a: 3304 adds r3, #4 80c505c: 781b ldrb r3, [r3, #0] 80c505e: 2b00 cmp r3, #0 80c5060: d104 bne.n 80c506c { hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c5062: 697b ldr r3, [r7, #20] 80c5064: 2200 movs r2, #0 80c5066: f883 2262 strb.w r2, [r3, #610] ; 0x262 80c506a: e003 b.n 80c5074 } else { hmsc->scsi_medium_state = SCSI_MEDIUM_LOCKED; 80c506c: 697b ldr r3, [r7, #20] 80c506e: 2201 movs r2, #1 80c5070: f883 2262 strb.w r2, [r3, #610] ; 0x262 } hmsc->bot_data_length = 0U; 80c5074: 697b ldr r3, [r7, #20] 80c5076: 2200 movs r2, #0 80c5078: 60da str r2, [r3, #12] return 0; 80c507a: 2300 movs r3, #0 } 80c507c: 4618 mov r0, r3 80c507e: 371c adds r7, #28 80c5080: 46bd mov sp, r7 80c5082: f85d 7b04 ldr.w r7, [sp], #4 80c5086: 4770 bx lr 080c5088 : * @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) { 80c5088: b580 push {r7, lr} 80c508a: b086 sub sp, #24 80c508c: af00 add r7, sp, #0 80c508e: 60f8 str r0, [r7, #12] 80c5090: 460b mov r3, r1 80c5092: 607a str r2, [r7, #4] 80c5094: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5096: 68fb ldr r3, [r7, #12] 80c5098: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c509c: 617b str r3, [r7, #20] if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c509e: 697b ldr r3, [r7, #20] 80c50a0: 7a1b ldrb r3, [r3, #8] 80c50a2: 2b00 cmp r3, #0 80c50a4: d17c bne.n 80c51a0 { /* case 10 : Ho <> Di */ if ((hmsc->cbw.bmFlags & 0x80U) != 0x80U) 80c50a6: 697b ldr r3, [r7, #20] 80c50a8: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c50ac: b25b sxtb r3, r3 80c50ae: 2b00 cmp r3, #0 80c50b0: db0a blt.n 80c50c8 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c50b2: 697b ldr r3, [r7, #20] 80c50b4: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c50b8: 2320 movs r3, #32 80c50ba: 2205 movs r2, #5 80c50bc: 68f8 ldr r0, [r7, #12] 80c50be: f7ff ff32 bl 80c4f26 return -1; 80c50c2: f04f 33ff mov.w r3, #4294967295 80c50c6: e075 b.n 80c51b4 } if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 80c50c8: 697b ldr r3, [r7, #20] 80c50ca: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c50ce: 2b02 cmp r3, #2 80c50d0: d108 bne.n 80c50e4 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c50d2: 7af9 ldrb r1, [r7, #11] 80c50d4: 233a movs r3, #58 ; 0x3a 80c50d6: 2202 movs r2, #2 80c50d8: 68f8 ldr r0, [r7, #12] 80c50da: f7ff ff24 bl 80c4f26 return -1; 80c50de: f04f 33ff mov.w r3, #4294967295 80c50e2: e067 b.n 80c51b4 } if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c50e4: 68fb ldr r3, [r7, #12] 80c50e6: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c50ea: 689b ldr r3, [r3, #8] 80c50ec: 7afa ldrb r2, [r7, #11] 80c50ee: 4610 mov r0, r2 80c50f0: 4798 blx r3 80c50f2: 4603 mov r3, r0 80c50f4: 2b00 cmp r3, #0 80c50f6: d008 beq.n 80c510a { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c50f8: 7af9 ldrb r1, [r7, #11] 80c50fa: 233a movs r3, #58 ; 0x3a 80c50fc: 2202 movs r2, #2 80c50fe: 68f8 ldr r0, [r7, #12] 80c5100: f7ff ff11 bl 80c4f26 return -1; 80c5104: f04f 33ff mov.w r3, #4294967295 80c5108: e054 b.n 80c51b4 } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c510a: 687b ldr r3, [r7, #4] 80c510c: 3302 adds r3, #2 80c510e: 781b ldrb r3, [r3, #0] 80c5110: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c5112: 687b ldr r3, [r7, #4] 80c5114: 3303 adds r3, #3 80c5116: 781b ldrb r3, [r3, #0] 80c5118: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c511a: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c511c: 687b ldr r3, [r7, #4] 80c511e: 3304 adds r3, #4 80c5120: 781b ldrb r3, [r3, #0] 80c5122: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c5124: 4313 orrs r3, r2 (uint32_t)params[5]; 80c5126: 687a ldr r2, [r7, #4] 80c5128: 3205 adds r2, #5 80c512a: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c512c: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c512e: 697b ldr r3, [r7, #20] 80c5130: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[7] << 8) | (uint32_t)params[8]; 80c5134: 687b ldr r3, [r7, #4] 80c5136: 3307 adds r3, #7 80c5138: 781b ldrb r3, [r3, #0] 80c513a: 021b lsls r3, r3, #8 80c513c: 687a ldr r2, [r7, #4] 80c513e: 3208 adds r2, #8 80c5140: 7812 ldrb r2, [r2, #0] 80c5142: 431a orrs r2, r3 80c5144: 697b ldr r3, [r7, #20] 80c5146: f8c3 2270 str.w r2, [r3, #624] ; 0x270 if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, 80c514a: 697b ldr r3, [r7, #20] 80c514c: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c5150: 697b ldr r3, [r7, #20] 80c5152: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c5156: 7af9 ldrb r1, [r7, #11] 80c5158: 68f8 ldr r0, [r7, #12] 80c515a: f000 fa95 bl 80c5688 80c515e: 4603 mov r3, r0 80c5160: 2b00 cmp r3, #0 80c5162: da02 bge.n 80c516a hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c5164: f04f 33ff mov.w r3, #4294967295 80c5168: e024 b.n 80c51b4 } /* cases 4,5 : Hi <> Dn */ if (hmsc->cbw.dDataLength != (hmsc->scsi_blk_len * hmsc->scsi_blk_size)) 80c516a: 697b ldr r3, [r7, #20] 80c516c: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c5170: 697b ldr r3, [r7, #20] 80c5172: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c5176: 6979 ldr r1, [r7, #20] 80c5178: f8b1 1264 ldrh.w r1, [r1, #612] ; 0x264 80c517c: fb01 f303 mul.w r3, r1, r3 80c5180: 429a cmp r2, r3 80c5182: d00a beq.n 80c519a { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c5184: 697b ldr r3, [r7, #20] 80c5186: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c518a: 2320 movs r3, #32 80c518c: 2205 movs r2, #5 80c518e: 68f8 ldr r0, [r7, #12] 80c5190: f7ff fec9 bl 80c4f26 return -1; 80c5194: f04f 33ff mov.w r3, #4294967295 80c5198: e00c b.n 80c51b4 } hmsc->bot_state = USBD_BOT_DATA_IN; 80c519a: 697b ldr r3, [r7, #20] 80c519c: 2202 movs r2, #2 80c519e: 721a strb r2, [r3, #8] } hmsc->bot_data_length = MSC_MEDIA_PACKET; 80c51a0: 697b ldr r3, [r7, #20] 80c51a2: f44f 7200 mov.w r2, #512 ; 0x200 80c51a6: 60da str r2, [r3, #12] return SCSI_ProcessRead(pdev, lun); 80c51a8: 7afb ldrb r3, [r7, #11] 80c51aa: 4619 mov r1, r3 80c51ac: 68f8 ldr r0, [r7, #12] 80c51ae: f000 fa8d bl 80c56cc 80c51b2: 4603 mov r3, r0 } 80c51b4: 4618 mov r0, r3 80c51b6: 3718 adds r7, #24 80c51b8: 46bd mov sp, r7 80c51ba: bd80 pop {r7, pc} 080c51bc : * @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) { 80c51bc: b580 push {r7, lr} 80c51be: b086 sub sp, #24 80c51c0: af00 add r7, sp, #0 80c51c2: 60f8 str r0, [r7, #12] 80c51c4: 460b mov r3, r1 80c51c6: 607a str r2, [r7, #4] 80c51c8: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c51ca: 68fb ldr r3, [r7, #12] 80c51cc: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c51d0: 617b str r3, [r7, #20] if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c51d2: 697b ldr r3, [r7, #20] 80c51d4: 7a1b ldrb r3, [r3, #8] 80c51d6: 2b00 cmp r3, #0 80c51d8: f040 8087 bne.w 80c52ea { /* case 10 : Ho <> Di */ if ((hmsc->cbw.bmFlags & 0x80U) != 0x80U) 80c51dc: 697b ldr r3, [r7, #20] 80c51de: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c51e2: b25b sxtb r3, r3 80c51e4: 2b00 cmp r3, #0 80c51e6: db0a blt.n 80c51fe { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c51e8: 697b ldr r3, [r7, #20] 80c51ea: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c51ee: 2320 movs r3, #32 80c51f0: 2205 movs r2, #5 80c51f2: 68f8 ldr r0, [r7, #12] 80c51f4: f7ff fe97 bl 80c4f26 return -1; 80c51f8: f04f 33ff mov.w r3, #4294967295 80c51fc: e07f b.n 80c52fe } if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 80c51fe: 697b ldr r3, [r7, #20] 80c5200: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c5204: 2b02 cmp r3, #2 80c5206: d108 bne.n 80c521a { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c5208: 7af9 ldrb r1, [r7, #11] 80c520a: 233a movs r3, #58 ; 0x3a 80c520c: 2202 movs r2, #2 80c520e: 68f8 ldr r0, [r7, #12] 80c5210: f7ff fe89 bl 80c4f26 return -1; 80c5214: f04f 33ff mov.w r3, #4294967295 80c5218: e071 b.n 80c52fe } if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c521a: 68fb ldr r3, [r7, #12] 80c521c: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c5220: 689b ldr r3, [r3, #8] 80c5222: 7afa ldrb r2, [r7, #11] 80c5224: 4610 mov r0, r2 80c5226: 4798 blx r3 80c5228: 4603 mov r3, r0 80c522a: 2b00 cmp r3, #0 80c522c: d008 beq.n 80c5240 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c522e: 7af9 ldrb r1, [r7, #11] 80c5230: 233a movs r3, #58 ; 0x3a 80c5232: 2202 movs r2, #2 80c5234: 68f8 ldr r0, [r7, #12] 80c5236: f7ff fe76 bl 80c4f26 return -1; 80c523a: f04f 33ff mov.w r3, #4294967295 80c523e: e05e b.n 80c52fe } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c5240: 687b ldr r3, [r7, #4] 80c5242: 3302 adds r3, #2 80c5244: 781b ldrb r3, [r3, #0] 80c5246: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c5248: 687b ldr r3, [r7, #4] 80c524a: 3303 adds r3, #3 80c524c: 781b ldrb r3, [r3, #0] 80c524e: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c5250: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c5252: 687b ldr r3, [r7, #4] 80c5254: 3304 adds r3, #4 80c5256: 781b ldrb r3, [r3, #0] 80c5258: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c525a: 4313 orrs r3, r2 (uint32_t)params[5]; 80c525c: 687a ldr r2, [r7, #4] 80c525e: 3205 adds r2, #5 80c5260: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c5262: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c5264: 697b ldr r3, [r7, #20] 80c5266: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c526a: 687b ldr r3, [r7, #4] 80c526c: 3306 adds r3, #6 80c526e: 781b ldrb r3, [r3, #0] 80c5270: 061a lsls r2, r3, #24 ((uint32_t)params[7] << 16) | 80c5272: 687b ldr r3, [r7, #4] 80c5274: 3307 adds r3, #7 80c5276: 781b ldrb r3, [r3, #0] 80c5278: 041b lsls r3, r3, #16 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c527a: 431a orrs r2, r3 ((uint32_t)params[8] << 8) | 80c527c: 687b ldr r3, [r7, #4] 80c527e: 3308 adds r3, #8 80c5280: 781b ldrb r3, [r3, #0] 80c5282: 021b lsls r3, r3, #8 ((uint32_t)params[7] << 16) | 80c5284: 4313 orrs r3, r2 (uint32_t)params[9]; 80c5286: 687a ldr r2, [r7, #4] 80c5288: 3209 adds r2, #9 80c528a: 7812 ldrb r2, [r2, #0] ((uint32_t)params[8] << 8) | 80c528c: 431a orrs r2, r3 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c528e: 697b ldr r3, [r7, #20] 80c5290: f8c3 2270 str.w r2, [r3, #624] ; 0x270 if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, 80c5294: 697b ldr r3, [r7, #20] 80c5296: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c529a: 697b ldr r3, [r7, #20] 80c529c: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c52a0: 7af9 ldrb r1, [r7, #11] 80c52a2: 68f8 ldr r0, [r7, #12] 80c52a4: f000 f9f0 bl 80c5688 80c52a8: 4603 mov r3, r0 80c52aa: 2b00 cmp r3, #0 80c52ac: da02 bge.n 80c52b4 hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c52ae: f04f 33ff mov.w r3, #4294967295 80c52b2: e024 b.n 80c52fe } /* cases 4,5 : Hi <> Dn */ if (hmsc->cbw.dDataLength != (hmsc->scsi_blk_len * hmsc->scsi_blk_size)) 80c52b4: 697b ldr r3, [r7, #20] 80c52b6: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c52ba: 697b ldr r3, [r7, #20] 80c52bc: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c52c0: 6979 ldr r1, [r7, #20] 80c52c2: f8b1 1264 ldrh.w r1, [r1, #612] ; 0x264 80c52c6: fb01 f303 mul.w r3, r1, r3 80c52ca: 429a cmp r2, r3 80c52cc: d00a beq.n 80c52e4 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c52ce: 697b ldr r3, [r7, #20] 80c52d0: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c52d4: 2320 movs r3, #32 80c52d6: 2205 movs r2, #5 80c52d8: 68f8 ldr r0, [r7, #12] 80c52da: f7ff fe24 bl 80c4f26 return -1; 80c52de: f04f 33ff mov.w r3, #4294967295 80c52e2: e00c b.n 80c52fe } hmsc->bot_state = USBD_BOT_DATA_IN; 80c52e4: 697b ldr r3, [r7, #20] 80c52e6: 2202 movs r2, #2 80c52e8: 721a strb r2, [r3, #8] } hmsc->bot_data_length = MSC_MEDIA_PACKET; 80c52ea: 697b ldr r3, [r7, #20] 80c52ec: f44f 7200 mov.w r2, #512 ; 0x200 80c52f0: 60da str r2, [r3, #12] return SCSI_ProcessRead(pdev, lun); 80c52f2: 7afb ldrb r3, [r7, #11] 80c52f4: 4619 mov r1, r3 80c52f6: 68f8 ldr r0, [r7, #12] 80c52f8: f000 f9e8 bl 80c56cc 80c52fc: 4603 mov r3, r0 } 80c52fe: 4618 mov r0, r3 80c5300: 3718 adds r7, #24 80c5302: 46bd mov sp, r7 80c5304: bd80 pop {r7, pc} 080c5306 : * @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) { 80c5306: b580 push {r7, lr} 80c5308: b086 sub sp, #24 80c530a: af00 add r7, sp, #0 80c530c: 60f8 str r0, [r7, #12] 80c530e: 460b mov r3, r1 80c5310: 607a str r2, [r7, #4] 80c5312: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5314: 68fb ldr r3, [r7, #12] 80c5316: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c531a: 617b str r3, [r7, #20] uint32_t len; if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c531c: 697b ldr r3, [r7, #20] 80c531e: 7a1b ldrb r3, [r3, #8] 80c5320: 2b00 cmp r3, #0 80c5322: f040 80a5 bne.w 80c5470 { if (hmsc->cbw.dDataLength == 0U) 80c5326: 697b ldr r3, [r7, #20] 80c5328: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c532c: 2b00 cmp r3, #0 80c532e: d10a bne.n 80c5346 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c5330: 697b ldr r3, [r7, #20] 80c5332: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c5336: 2320 movs r3, #32 80c5338: 2205 movs r2, #5 80c533a: 68f8 ldr r0, [r7, #12] 80c533c: f7ff fdf3 bl 80c4f26 return -1; 80c5340: f04f 33ff mov.w r3, #4294967295 80c5344: e09a b.n 80c547c } /* case 8 : Hi <> Do */ if ((hmsc->cbw.bmFlags & 0x80U) == 0x80U) 80c5346: 697b ldr r3, [r7, #20] 80c5348: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c534c: b25b sxtb r3, r3 80c534e: 2b00 cmp r3, #0 80c5350: da0a bge.n 80c5368 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c5352: 697b ldr r3, [r7, #20] 80c5354: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c5358: 2320 movs r3, #32 80c535a: 2205 movs r2, #5 80c535c: 68f8 ldr r0, [r7, #12] 80c535e: f7ff fde2 bl 80c4f26 return -1; 80c5362: f04f 33ff mov.w r3, #4294967295 80c5366: e089 b.n 80c547c } /* Check whether Media is ready */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c5368: 68fb ldr r3, [r7, #12] 80c536a: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c536e: 689b ldr r3, [r3, #8] 80c5370: 7afa ldrb r2, [r7, #11] 80c5372: 4610 mov r0, r2 80c5374: 4798 blx r3 80c5376: 4603 mov r3, r0 80c5378: 2b00 cmp r3, #0 80c537a: d008 beq.n 80c538e { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c537c: 7af9 ldrb r1, [r7, #11] 80c537e: 233a movs r3, #58 ; 0x3a 80c5380: 2202 movs r2, #2 80c5382: 68f8 ldr r0, [r7, #12] 80c5384: f7ff fdcf bl 80c4f26 return -1; 80c5388: f04f 33ff mov.w r3, #4294967295 80c538c: e076 b.n 80c547c } /* Check If media is write-protected */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsWriteProtected(lun) != 0) 80c538e: 68fb ldr r3, [r7, #12] 80c5390: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c5394: 68db ldr r3, [r3, #12] 80c5396: 7afa ldrb r2, [r7, #11] 80c5398: 4610 mov r0, r2 80c539a: 4798 blx r3 80c539c: 4603 mov r3, r0 80c539e: 2b00 cmp r3, #0 80c53a0: d008 beq.n 80c53b4 { SCSI_SenseCode(pdev, lun, NOT_READY, WRITE_PROTECTED); 80c53a2: 7af9 ldrb r1, [r7, #11] 80c53a4: 2327 movs r3, #39 ; 0x27 80c53a6: 2202 movs r2, #2 80c53a8: 68f8 ldr r0, [r7, #12] 80c53aa: f7ff fdbc bl 80c4f26 return -1; 80c53ae: f04f 33ff mov.w r3, #4294967295 80c53b2: e063 b.n 80c547c } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c53b4: 687b ldr r3, [r7, #4] 80c53b6: 3302 adds r3, #2 80c53b8: 781b ldrb r3, [r3, #0] 80c53ba: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c53bc: 687b ldr r3, [r7, #4] 80c53be: 3303 adds r3, #3 80c53c0: 781b ldrb r3, [r3, #0] 80c53c2: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c53c4: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c53c6: 687b ldr r3, [r7, #4] 80c53c8: 3304 adds r3, #4 80c53ca: 781b ldrb r3, [r3, #0] 80c53cc: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c53ce: 4313 orrs r3, r2 (uint32_t)params[5]; 80c53d0: 687a ldr r2, [r7, #4] 80c53d2: 3205 adds r2, #5 80c53d4: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c53d6: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c53d8: 697b ldr r3, [r7, #20] 80c53da: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[7] << 8) | 80c53de: 687b ldr r3, [r7, #4] 80c53e0: 3307 adds r3, #7 80c53e2: 781b ldrb r3, [r3, #0] 80c53e4: 021b lsls r3, r3, #8 (uint32_t)params[8]; 80c53e6: 687a ldr r2, [r7, #4] 80c53e8: 3208 adds r2, #8 80c53ea: 7812 ldrb r2, [r2, #0] hmsc->scsi_blk_len = ((uint32_t)params[7] << 8) | 80c53ec: 431a orrs r2, r3 80c53ee: 697b ldr r3, [r7, #20] 80c53f0: 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, 80c53f4: 697b ldr r3, [r7, #20] 80c53f6: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c53fa: 697b ldr r3, [r7, #20] 80c53fc: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c5400: 7af9 ldrb r1, [r7, #11] 80c5402: 68f8 ldr r0, [r7, #12] 80c5404: f000 f940 bl 80c5688 80c5408: 4603 mov r3, r0 80c540a: 2b00 cmp r3, #0 80c540c: da02 bge.n 80c5414 hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c540e: f04f 33ff mov.w r3, #4294967295 80c5412: e033 b.n 80c547c } len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c5414: 697b ldr r3, [r7, #20] 80c5416: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c541a: 697a ldr r2, [r7, #20] 80c541c: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c5420: fb02 f303 mul.w r3, r2, r3 80c5424: 613b str r3, [r7, #16] /* cases 3,11,13 : Hn,Ho <> D0 */ if (hmsc->cbw.dDataLength != len) 80c5426: 697b ldr r3, [r7, #20] 80c5428: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c542c: 693b ldr r3, [r7, #16] 80c542e: 429a cmp r2, r3 80c5430: d00a beq.n 80c5448 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c5432: 697b ldr r3, [r7, #20] 80c5434: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c5438: 2320 movs r3, #32 80c543a: 2205 movs r2, #5 80c543c: 68f8 ldr r0, [r7, #12] 80c543e: f7ff fd72 bl 80c4f26 return -1; 80c5442: f04f 33ff mov.w r3, #4294967295 80c5446: e019 b.n 80c547c } len = MIN(len, MSC_MEDIA_PACKET); 80c5448: 693b ldr r3, [r7, #16] 80c544a: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c544e: bf28 it cs 80c5450: f44f 7300 movcs.w r3, #512 ; 0x200 80c5454: 613b str r3, [r7, #16] /* Prepare EP to receive first data packet */ hmsc->bot_state = USBD_BOT_DATA_OUT; 80c5456: 697b ldr r3, [r7, #20] 80c5458: 2201 movs r2, #1 80c545a: 721a strb r2, [r3, #8] (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, hmsc->bot_data, len); 80c545c: 697b ldr r3, [r7, #20] 80c545e: f103 0210 add.w r2, r3, #16 80c5462: 693b ldr r3, [r7, #16] 80c5464: 2101 movs r1, #1 80c5466: 68f8 ldr r0, [r7, #12] 80c5468: f008 fd17 bl 80cde9a else /* Write Process ongoing */ { return SCSI_ProcessWrite(pdev, lun); } return 0; 80c546c: 2300 movs r3, #0 80c546e: e005 b.n 80c547c return SCSI_ProcessWrite(pdev, lun); 80c5470: 7afb ldrb r3, [r7, #11] 80c5472: 4619 mov r1, r3 80c5474: 68f8 ldr r0, [r7, #12] 80c5476: f000 f99c bl 80c57b2 80c547a: 4603 mov r3, r0 } 80c547c: 4618 mov r0, r3 80c547e: 3718 adds r7, #24 80c5480: 46bd mov sp, r7 80c5482: bd80 pop {r7, pc} 080c5484 : * @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) { 80c5484: b580 push {r7, lr} 80c5486: b086 sub sp, #24 80c5488: af00 add r7, sp, #0 80c548a: 60f8 str r0, [r7, #12] 80c548c: 460b mov r3, r1 80c548e: 607a str r2, [r7, #4] 80c5490: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5492: 68fb ldr r3, [r7, #12] 80c5494: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5498: 617b str r3, [r7, #20] uint32_t len; if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c549a: 697b ldr r3, [r7, #20] 80c549c: 7a1b ldrb r3, [r3, #8] 80c549e: 2b00 cmp r3, #0 80c54a0: f040 80b5 bne.w 80c560e { if (hmsc->cbw.dDataLength == 0U) 80c54a4: 697b ldr r3, [r7, #20] 80c54a6: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c54aa: 2b00 cmp r3, #0 80c54ac: d10a bne.n 80c54c4 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c54ae: 697b ldr r3, [r7, #20] 80c54b0: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c54b4: 2320 movs r3, #32 80c54b6: 2205 movs r2, #5 80c54b8: 68f8 ldr r0, [r7, #12] 80c54ba: f7ff fd34 bl 80c4f26 return -1; 80c54be: f04f 33ff mov.w r3, #4294967295 80c54c2: e0aa b.n 80c561a } /* case 8 : Hi <> Do */ if ((hmsc->cbw.bmFlags & 0x80U) == 0x80U) 80c54c4: 697b ldr r3, [r7, #20] 80c54c6: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c54ca: b25b sxtb r3, r3 80c54cc: 2b00 cmp r3, #0 80c54ce: da0a bge.n 80c54e6 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c54d0: 697b ldr r3, [r7, #20] 80c54d2: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c54d6: 2320 movs r3, #32 80c54d8: 2205 movs r2, #5 80c54da: 68f8 ldr r0, [r7, #12] 80c54dc: f7ff fd23 bl 80c4f26 return -1; 80c54e0: f04f 33ff mov.w r3, #4294967295 80c54e4: e099 b.n 80c561a } /* Check whether Media is ready */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c54e6: 68fb ldr r3, [r7, #12] 80c54e8: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c54ec: 689b ldr r3, [r3, #8] 80c54ee: 7afa ldrb r2, [r7, #11] 80c54f0: 4610 mov r0, r2 80c54f2: 4798 blx r3 80c54f4: 4603 mov r3, r0 80c54f6: 2b00 cmp r3, #0 80c54f8: d00b beq.n 80c5512 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c54fa: 7af9 ldrb r1, [r7, #11] 80c54fc: 233a movs r3, #58 ; 0x3a 80c54fe: 2202 movs r2, #2 80c5500: 68f8 ldr r0, [r7, #12] 80c5502: f7ff fd10 bl 80c4f26 hmsc->bot_state = USBD_BOT_NO_DATA; 80c5506: 697b ldr r3, [r7, #20] 80c5508: 2205 movs r2, #5 80c550a: 721a strb r2, [r3, #8] return -1; 80c550c: f04f 33ff mov.w r3, #4294967295 80c5510: e083 b.n 80c561a } /* Check If media is write-protected */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsWriteProtected(lun) != 0) 80c5512: 68fb ldr r3, [r7, #12] 80c5514: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c5518: 68db ldr r3, [r3, #12] 80c551a: 7afa ldrb r2, [r7, #11] 80c551c: 4610 mov r0, r2 80c551e: 4798 blx r3 80c5520: 4603 mov r3, r0 80c5522: 2b00 cmp r3, #0 80c5524: d00b beq.n 80c553e { SCSI_SenseCode(pdev, lun, NOT_READY, WRITE_PROTECTED); 80c5526: 7af9 ldrb r1, [r7, #11] 80c5528: 2327 movs r3, #39 ; 0x27 80c552a: 2202 movs r2, #2 80c552c: 68f8 ldr r0, [r7, #12] 80c552e: f7ff fcfa bl 80c4f26 hmsc->bot_state = USBD_BOT_NO_DATA; 80c5532: 697b ldr r3, [r7, #20] 80c5534: 2205 movs r2, #5 80c5536: 721a strb r2, [r3, #8] return -1; 80c5538: f04f 33ff mov.w r3, #4294967295 80c553c: e06d b.n 80c561a } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c553e: 687b ldr r3, [r7, #4] 80c5540: 3302 adds r3, #2 80c5542: 781b ldrb r3, [r3, #0] 80c5544: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c5546: 687b ldr r3, [r7, #4] 80c5548: 3303 adds r3, #3 80c554a: 781b ldrb r3, [r3, #0] 80c554c: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c554e: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c5550: 687b ldr r3, [r7, #4] 80c5552: 3304 adds r3, #4 80c5554: 781b ldrb r3, [r3, #0] 80c5556: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c5558: 4313 orrs r3, r2 (uint32_t)params[5]; 80c555a: 687a ldr r2, [r7, #4] 80c555c: 3205 adds r2, #5 80c555e: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c5560: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c5562: 697b ldr r3, [r7, #20] 80c5564: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c5568: 687b ldr r3, [r7, #4] 80c556a: 3306 adds r3, #6 80c556c: 781b ldrb r3, [r3, #0] 80c556e: 061a lsls r2, r3, #24 ((uint32_t)params[7] << 16) | 80c5570: 687b ldr r3, [r7, #4] 80c5572: 3307 adds r3, #7 80c5574: 781b ldrb r3, [r3, #0] 80c5576: 041b lsls r3, r3, #16 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c5578: 431a orrs r2, r3 ((uint32_t)params[8] << 8) | 80c557a: 687b ldr r3, [r7, #4] 80c557c: 3308 adds r3, #8 80c557e: 781b ldrb r3, [r3, #0] 80c5580: 021b lsls r3, r3, #8 ((uint32_t)params[7] << 16) | 80c5582: 4313 orrs r3, r2 (uint32_t)params[9]; 80c5584: 687a ldr r2, [r7, #4] 80c5586: 3209 adds r2, #9 80c5588: 7812 ldrb r2, [r2, #0] ((uint32_t)params[8] << 8) | 80c558a: 431a orrs r2, r3 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c558c: 697b ldr r3, [r7, #20] 80c558e: 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, 80c5592: 697b ldr r3, [r7, #20] 80c5594: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c5598: 697b ldr r3, [r7, #20] 80c559a: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c559e: 7af9 ldrb r1, [r7, #11] 80c55a0: 68f8 ldr r0, [r7, #12] 80c55a2: f000 f871 bl 80c5688 80c55a6: 4603 mov r3, r0 80c55a8: 2b00 cmp r3, #0 80c55aa: da02 bge.n 80c55b2 hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c55ac: f04f 33ff mov.w r3, #4294967295 80c55b0: e033 b.n 80c561a } len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c55b2: 697b ldr r3, [r7, #20] 80c55b4: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c55b8: 697a ldr r2, [r7, #20] 80c55ba: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c55be: fb02 f303 mul.w r3, r2, r3 80c55c2: 613b str r3, [r7, #16] /* cases 3,11,13 : Hn,Ho <> D0 */ if (hmsc->cbw.dDataLength != len) 80c55c4: 697b ldr r3, [r7, #20] 80c55c6: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c55ca: 693b ldr r3, [r7, #16] 80c55cc: 429a cmp r2, r3 80c55ce: d00a beq.n 80c55e6 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c55d0: 697b ldr r3, [r7, #20] 80c55d2: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c55d6: 2320 movs r3, #32 80c55d8: 2205 movs r2, #5 80c55da: 68f8 ldr r0, [r7, #12] 80c55dc: f7ff fca3 bl 80c4f26 return -1; 80c55e0: f04f 33ff mov.w r3, #4294967295 80c55e4: e019 b.n 80c561a } len = MIN(len, MSC_MEDIA_PACKET); 80c55e6: 693b ldr r3, [r7, #16] 80c55e8: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c55ec: bf28 it cs 80c55ee: f44f 7300 movcs.w r3, #512 ; 0x200 80c55f2: 613b str r3, [r7, #16] /* Prepare EP to receive first data packet */ hmsc->bot_state = USBD_BOT_DATA_OUT; 80c55f4: 697b ldr r3, [r7, #20] 80c55f6: 2201 movs r2, #1 80c55f8: 721a strb r2, [r3, #8] (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, hmsc->bot_data, len); 80c55fa: 697b ldr r3, [r7, #20] 80c55fc: f103 0210 add.w r2, r3, #16 80c5600: 693b ldr r3, [r7, #16] 80c5602: 2101 movs r1, #1 80c5604: 68f8 ldr r0, [r7, #12] 80c5606: f008 fc48 bl 80cde9a else /* Write Process ongoing */ { return SCSI_ProcessWrite(pdev, lun); } return 0; 80c560a: 2300 movs r3, #0 80c560c: e005 b.n 80c561a return SCSI_ProcessWrite(pdev, lun); 80c560e: 7afb ldrb r3, [r7, #11] 80c5610: 4619 mov r1, r3 80c5612: 68f8 ldr r0, [r7, #12] 80c5614: f000 f8cd bl 80c57b2 80c5618: 4603 mov r3, r0 } 80c561a: 4618 mov r0, r3 80c561c: 3718 adds r7, #24 80c561e: 46bd mov sp, r7 80c5620: bd80 pop {r7, pc} 080c5622 : * @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) { 80c5622: b580 push {r7, lr} 80c5624: b086 sub sp, #24 80c5626: af00 add r7, sp, #0 80c5628: 60f8 str r0, [r7, #12] 80c562a: 460b mov r3, r1 80c562c: 607a str r2, [r7, #4] 80c562e: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5630: 68fb ldr r3, [r7, #12] 80c5632: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5636: 617b str r3, [r7, #20] if ((params[1] & 0x02U) == 0x02U) 80c5638: 687b ldr r3, [r7, #4] 80c563a: 3301 adds r3, #1 80c563c: 781b ldrb r3, [r3, #0] 80c563e: f003 0302 and.w r3, r3, #2 80c5642: 2b00 cmp r3, #0 80c5644: d008 beq.n 80c5658 { SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); 80c5646: 7af9 ldrb r1, [r7, #11] 80c5648: 2324 movs r3, #36 ; 0x24 80c564a: 2205 movs r2, #5 80c564c: 68f8 ldr r0, [r7, #12] 80c564e: f7ff fc6a bl 80c4f26 return -1; /* Error, Verify Mode Not supported*/ 80c5652: f04f 33ff mov.w r3, #4294967295 80c5656: e013 b.n 80c5680 } if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, hmsc->scsi_blk_len) < 0) 80c5658: 697b ldr r3, [r7, #20] 80c565a: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c565e: 697b ldr r3, [r7, #20] 80c5660: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c5664: 7af9 ldrb r1, [r7, #11] 80c5666: 68f8 ldr r0, [r7, #12] 80c5668: f000 f80e bl 80c5688 80c566c: 4603 mov r3, r0 80c566e: 2b00 cmp r3, #0 80c5670: da02 bge.n 80c5678 { return -1; /* error */ 80c5672: f04f 33ff mov.w r3, #4294967295 80c5676: e003 b.n 80c5680 } hmsc->bot_data_length = 0U; 80c5678: 697b ldr r3, [r7, #20] 80c567a: 2200 movs r2, #0 80c567c: 60da str r2, [r3, #12] return 0; 80c567e: 2300 movs r3, #0 } 80c5680: 4618 mov r0, r3 80c5682: 3718 adds r7, #24 80c5684: 46bd mov sp, r7 80c5686: bd80 pop {r7, pc} 080c5688 : * @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) { 80c5688: b580 push {r7, lr} 80c568a: b086 sub sp, #24 80c568c: af00 add r7, sp, #0 80c568e: 60f8 str r0, [r7, #12] 80c5690: 607a str r2, [r7, #4] 80c5692: 603b str r3, [r7, #0] 80c5694: 460b mov r3, r1 80c5696: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c5698: 68fb ldr r3, [r7, #12] 80c569a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c569e: 617b str r3, [r7, #20] if ((blk_offset + blk_nbr) > hmsc->scsi_blk_nbr) 80c56a0: 687a ldr r2, [r7, #4] 80c56a2: 683b ldr r3, [r7, #0] 80c56a4: 441a add r2, r3 80c56a6: 697b ldr r3, [r7, #20] 80c56a8: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c56ac: 429a cmp r2, r3 80c56ae: d908 bls.n 80c56c2 { SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, ADDRESS_OUT_OF_RANGE); 80c56b0: 7af9 ldrb r1, [r7, #11] 80c56b2: 2321 movs r3, #33 ; 0x21 80c56b4: 2205 movs r2, #5 80c56b6: 68f8 ldr r0, [r7, #12] 80c56b8: f7ff fc35 bl 80c4f26 return -1; 80c56bc: f04f 33ff mov.w r3, #4294967295 80c56c0: e000 b.n 80c56c4 } return 0; 80c56c2: 2300 movs r3, #0 } 80c56c4: 4618 mov r0, r3 80c56c6: 3718 adds r7, #24 80c56c8: 46bd mov sp, r7 80c56ca: bd80 pop {r7, pc} 080c56cc : * Handle Read Process * @param lun: Logical unit number * @retval status */ static int8_t SCSI_ProcessRead(USBD_HandleTypeDef *pdev, uint8_t lun) { 80c56cc: b590 push {r4, r7, lr} 80c56ce: b085 sub sp, #20 80c56d0: af00 add r7, sp, #0 80c56d2: 6078 str r0, [r7, #4] 80c56d4: 460b mov r3, r1 80c56d6: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c56d8: 687b ldr r3, [r7, #4] 80c56da: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c56de: 60fb str r3, [r7, #12] uint32_t len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c56e0: 68fb ldr r3, [r7, #12] 80c56e2: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c56e6: 68fa ldr r2, [r7, #12] 80c56e8: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c56ec: fb02 f303 mul.w r3, r2, r3 80c56f0: 60bb str r3, [r7, #8] len = MIN(len, MSC_MEDIA_PACKET); 80c56f2: 68bb ldr r3, [r7, #8] 80c56f4: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c56f8: bf28 it cs 80c56fa: f44f 7300 movcs.w r3, #512 ; 0x200 80c56fe: 60bb str r3, [r7, #8] if (((USBD_StorageTypeDef *)pdev->pUserData)->Read(lun, hmsc->bot_data, 80c5700: 687b ldr r3, [r7, #4] 80c5702: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c5706: 691c ldr r4, [r3, #16] 80c5708: 68fb ldr r3, [r7, #12] 80c570a: f103 0110 add.w r1, r3, #16 80c570e: 68fb ldr r3, [r7, #12] 80c5710: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_addr, (len / hmsc->scsi_blk_size)) < 0) 80c5714: 68fb ldr r3, [r7, #12] 80c5716: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c571a: 4618 mov r0, r3 80c571c: 68bb ldr r3, [r7, #8] 80c571e: fbb3 f3f0 udiv r3, r3, r0 if (((USBD_StorageTypeDef *)pdev->pUserData)->Read(lun, hmsc->bot_data, 80c5722: b29b uxth r3, r3 80c5724: 78f8 ldrb r0, [r7, #3] 80c5726: 47a0 blx r4 80c5728: 4603 mov r3, r0 80c572a: 2b00 cmp r3, #0 80c572c: da08 bge.n 80c5740 { SCSI_SenseCode(pdev, lun, HARDWARE_ERROR, UNRECOVERED_READ_ERROR); 80c572e: 78f9 ldrb r1, [r7, #3] 80c5730: 2311 movs r3, #17 80c5732: 2204 movs r2, #4 80c5734: 6878 ldr r0, [r7, #4] 80c5736: f7ff fbf6 bl 80c4f26 return -1; 80c573a: f04f 33ff mov.w r3, #4294967295 80c573e: e034 b.n 80c57aa } (void)USBD_LL_Transmit(pdev, MSC_EPIN_ADDR, hmsc->bot_data, len); 80c5740: 68fb ldr r3, [r7, #12] 80c5742: f103 0210 add.w r2, r3, #16 80c5746: 68bb ldr r3, [r7, #8] 80c5748: 2181 movs r1, #129 ; 0x81 80c574a: 6878 ldr r0, [r7, #4] 80c574c: f008 fb84 bl 80cde58 hmsc->scsi_blk_addr += (len / hmsc->scsi_blk_size); 80c5750: 68fb ldr r3, [r7, #12] 80c5752: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c5756: 68fb ldr r3, [r7, #12] 80c5758: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c575c: 4619 mov r1, r3 80c575e: 68bb ldr r3, [r7, #8] 80c5760: fbb3 f3f1 udiv r3, r3, r1 80c5764: 441a add r2, r3 80c5766: 68fb ldr r3, [r7, #12] 80c5768: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len -= (len / hmsc->scsi_blk_size); 80c576c: 68fb ldr r3, [r7, #12] 80c576e: f8d3 2270 ldr.w r2, [r3, #624] ; 0x270 80c5772: 68fb ldr r3, [r7, #12] 80c5774: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c5778: 4619 mov r1, r3 80c577a: 68bb ldr r3, [r7, #8] 80c577c: fbb3 f3f1 udiv r3, r3, r1 80c5780: 1ad2 subs r2, r2, r3 80c5782: 68fb ldr r3, [r7, #12] 80c5784: f8c3 2270 str.w r2, [r3, #624] ; 0x270 /* case 6 : Hi = Di */ hmsc->csw.dDataResidue -= len; 80c5788: 68fb ldr r3, [r7, #12] 80c578a: f8d3 2238 ldr.w r2, [r3, #568] ; 0x238 80c578e: 68bb ldr r3, [r7, #8] 80c5790: 1ad2 subs r2, r2, r3 80c5792: 68fb ldr r3, [r7, #12] 80c5794: f8c3 2238 str.w r2, [r3, #568] ; 0x238 if (hmsc->scsi_blk_len == 0U) 80c5798: 68fb ldr r3, [r7, #12] 80c579a: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c579e: 2b00 cmp r3, #0 80c57a0: d102 bne.n 80c57a8 { hmsc->bot_state = USBD_BOT_LAST_DATA_IN; 80c57a2: 68fb ldr r3, [r7, #12] 80c57a4: 2203 movs r2, #3 80c57a6: 721a strb r2, [r3, #8] } return 0; 80c57a8: 2300 movs r3, #0 } 80c57aa: 4618 mov r0, r3 80c57ac: 3714 adds r7, #20 80c57ae: 46bd mov sp, r7 80c57b0: bd90 pop {r4, r7, pc} 080c57b2 : * Handle Write Process * @param lun: Logical unit number * @retval status */ static int8_t SCSI_ProcessWrite(USBD_HandleTypeDef *pdev, uint8_t lun) { 80c57b2: b590 push {r4, r7, lr} 80c57b4: b085 sub sp, #20 80c57b6: af00 add r7, sp, #0 80c57b8: 6078 str r0, [r7, #4] 80c57ba: 460b mov r3, r1 80c57bc: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c57be: 687b ldr r3, [r7, #4] 80c57c0: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c57c4: 60fb str r3, [r7, #12] uint32_t len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c57c6: 68fb ldr r3, [r7, #12] 80c57c8: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c57cc: 68fa ldr r2, [r7, #12] 80c57ce: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c57d2: fb02 f303 mul.w r3, r2, r3 80c57d6: 60bb str r3, [r7, #8] len = MIN(len, MSC_MEDIA_PACKET); 80c57d8: 68bb ldr r3, [r7, #8] 80c57da: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c57de: bf28 it cs 80c57e0: f44f 7300 movcs.w r3, #512 ; 0x200 80c57e4: 60bb str r3, [r7, #8] if (((USBD_StorageTypeDef *)pdev->pUserData)->Write(lun, hmsc->bot_data, 80c57e6: 687b ldr r3, [r7, #4] 80c57e8: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c57ec: 695c ldr r4, [r3, #20] 80c57ee: 68fb ldr r3, [r7, #12] 80c57f0: f103 0110 add.w r1, r3, #16 80c57f4: 68fb ldr r3, [r7, #12] 80c57f6: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_addr, (len / hmsc->scsi_blk_size)) < 0) 80c57fa: 68fb ldr r3, [r7, #12] 80c57fc: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c5800: 4618 mov r0, r3 80c5802: 68bb ldr r3, [r7, #8] 80c5804: fbb3 f3f0 udiv r3, r3, r0 if (((USBD_StorageTypeDef *)pdev->pUserData)->Write(lun, hmsc->bot_data, 80c5808: b29b uxth r3, r3 80c580a: 78f8 ldrb r0, [r7, #3] 80c580c: 47a0 blx r4 80c580e: 4603 mov r3, r0 80c5810: 2b00 cmp r3, #0 80c5812: da08 bge.n 80c5826 { SCSI_SenseCode(pdev, lun, HARDWARE_ERROR, WRITE_FAULT); 80c5814: 78f9 ldrb r1, [r7, #3] 80c5816: 2303 movs r3, #3 80c5818: 2204 movs r2, #4 80c581a: 6878 ldr r0, [r7, #4] 80c581c: f7ff fb83 bl 80c4f26 return -1; 80c5820: f04f 33ff mov.w r3, #4294967295 80c5824: e044 b.n 80c58b0 } hmsc->scsi_blk_addr += (len / hmsc->scsi_blk_size); 80c5826: 68fb ldr r3, [r7, #12] 80c5828: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c582c: 68fb ldr r3, [r7, #12] 80c582e: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c5832: 4619 mov r1, r3 80c5834: 68bb ldr r3, [r7, #8] 80c5836: fbb3 f3f1 udiv r3, r3, r1 80c583a: 441a add r2, r3 80c583c: 68fb ldr r3, [r7, #12] 80c583e: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len -= (len / hmsc->scsi_blk_size); 80c5842: 68fb ldr r3, [r7, #12] 80c5844: f8d3 2270 ldr.w r2, [r3, #624] ; 0x270 80c5848: 68fb ldr r3, [r7, #12] 80c584a: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c584e: 4619 mov r1, r3 80c5850: 68bb ldr r3, [r7, #8] 80c5852: fbb3 f3f1 udiv r3, r3, r1 80c5856: 1ad2 subs r2, r2, r3 80c5858: 68fb ldr r3, [r7, #12] 80c585a: f8c3 2270 str.w r2, [r3, #624] ; 0x270 /* case 12 : Ho = Do */ hmsc->csw.dDataResidue -= len; 80c585e: 68fb ldr r3, [r7, #12] 80c5860: f8d3 2238 ldr.w r2, [r3, #568] ; 0x238 80c5864: 68bb ldr r3, [r7, #8] 80c5866: 1ad2 subs r2, r2, r3 80c5868: 68fb ldr r3, [r7, #12] 80c586a: f8c3 2238 str.w r2, [r3, #568] ; 0x238 if (hmsc->scsi_blk_len == 0U) 80c586e: 68fb ldr r3, [r7, #12] 80c5870: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c5874: 2b00 cmp r3, #0 80c5876: d104 bne.n 80c5882 { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_PASSED); 80c5878: 2100 movs r1, #0 80c587a: 6878 ldr r0, [r7, #4] 80c587c: f7fe ff04 bl 80c4688 80c5880: e015 b.n 80c58ae } else { len = MIN((hmsc->scsi_blk_len * hmsc->scsi_blk_size), MSC_MEDIA_PACKET); 80c5882: 68fb ldr r3, [r7, #12] 80c5884: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c5888: 68fa ldr r2, [r7, #12] 80c588a: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c588e: fb02 f303 mul.w r3, r2, r3 80c5892: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c5896: bf28 it cs 80c5898: f44f 7300 movcs.w r3, #512 ; 0x200 80c589c: 60bb str r3, [r7, #8] /* Prepare EP to Receive next packet */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, hmsc->bot_data, len); 80c589e: 68fb ldr r3, [r7, #12] 80c58a0: f103 0210 add.w r2, r3, #16 80c58a4: 68bb ldr r3, [r7, #8] 80c58a6: 2101 movs r1, #1 80c58a8: 6878 ldr r0, [r7, #4] 80c58aa: f008 faf6 bl 80cde9a } return 0; 80c58ae: 2300 movs r3, #0 } 80c58b0: 4618 mov r0, r3 80c58b2: 3714 adds r7, #20 80c58b4: 46bd mov sp, r7 80c58b6: bd90 pop {r4, r7, pc} 080c58b8 : * @param length: Data length * @retval status */ static int8_t SCSI_UpdateBotData(USBD_MSC_BOT_HandleTypeDef *hmsc, uint8_t *pBuff, uint16_t length) { 80c58b8: b480 push {r7} 80c58ba: b087 sub sp, #28 80c58bc: af00 add r7, sp, #0 80c58be: 60f8 str r0, [r7, #12] 80c58c0: 60b9 str r1, [r7, #8] 80c58c2: 4613 mov r3, r2 80c58c4: 80fb strh r3, [r7, #6] uint16_t len = length; 80c58c6: 88fb ldrh r3, [r7, #6] 80c58c8: 82fb strh r3, [r7, #22] hmsc->bot_data_length = len; 80c58ca: 8afa ldrh r2, [r7, #22] 80c58cc: 68fb ldr r3, [r7, #12] 80c58ce: 60da str r2, [r3, #12] while (len != 0U) 80c58d0: e00b b.n 80c58ea { len--; 80c58d2: 8afb ldrh r3, [r7, #22] 80c58d4: 3b01 subs r3, #1 80c58d6: 82fb strh r3, [r7, #22] hmsc->bot_data[len] = pBuff[len]; 80c58d8: 8afb ldrh r3, [r7, #22] 80c58da: 8afa ldrh r2, [r7, #22] 80c58dc: 68b9 ldr r1, [r7, #8] 80c58de: 440a add r2, r1 80c58e0: 7811 ldrb r1, [r2, #0] 80c58e2: 68fa ldr r2, [r7, #12] 80c58e4: 4413 add r3, r2 80c58e6: 460a mov r2, r1 80c58e8: 741a strb r2, [r3, #16] while (len != 0U) 80c58ea: 8afb ldrh r3, [r7, #22] 80c58ec: 2b00 cmp r3, #0 80c58ee: d1f0 bne.n 80c58d2 } return 0; 80c58f0: 2300 movs r3, #0 } 80c58f2: 4618 mov r0, r3 80c58f4: 371c adds r7, #28 80c58f6: 46bd mov sp, r7 80c58f8: f85d 7b04 ldr.w r7, [sp], #4 80c58fc: 4770 bx lr 080c58fe : * @param id: Low level core index * @retval None */ USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id) { 80c58fe: b580 push {r7, lr} 80c5900: b086 sub sp, #24 80c5902: af00 add r7, sp, #0 80c5904: 60f8 str r0, [r7, #12] 80c5906: 60b9 str r1, [r7, #8] 80c5908: 4613 mov r3, r2 80c590a: 71fb strb r3, [r7, #7] USBD_StatusTypeDef ret; /* Check whether the USB Host handle is valid */ if (pdev == NULL) 80c590c: 68fb ldr r3, [r7, #12] 80c590e: 2b00 cmp r3, #0 80c5910: d101 bne.n 80c5916 { #if (USBD_DEBUG_LEVEL > 1U) USBD_ErrLog("Invalid Device handle"); #endif return USBD_FAIL; 80c5912: 2303 movs r3, #3 80c5914: e025 b.n 80c5962 } /* Unlink previous class */ if (pdev->pClass != NULL) 80c5916: 68fb ldr r3, [r7, #12] 80c5918: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c591c: 2b00 cmp r3, #0 80c591e: d003 beq.n 80c5928 { pdev->pClass = NULL; 80c5920: 68fb ldr r3, [r7, #12] 80c5922: 2200 movs r2, #0 80c5924: f8c3 22b8 str.w r2, [r3, #696] ; 0x2b8 } if (pdev->pConfDesc != NULL) 80c5928: 68fb ldr r3, [r7, #12] 80c592a: f8d3 32cc ldr.w r3, [r3, #716] ; 0x2cc 80c592e: 2b00 cmp r3, #0 80c5930: d003 beq.n 80c593a { pdev->pConfDesc = NULL; 80c5932: 68fb ldr r3, [r7, #12] 80c5934: 2200 movs r2, #0 80c5936: f8c3 22cc str.w r2, [r3, #716] ; 0x2cc } /* Assign USBD Descriptors */ if (pdesc != NULL) 80c593a: 68bb ldr r3, [r7, #8] 80c593c: 2b00 cmp r3, #0 80c593e: d003 beq.n 80c5948 { pdev->pDesc = pdesc; 80c5940: 68fb ldr r3, [r7, #12] 80c5942: 68ba ldr r2, [r7, #8] 80c5944: f8c3 22b4 str.w r2, [r3, #692] ; 0x2b4 } /* Set Device initial State */ pdev->dev_state = USBD_STATE_DEFAULT; 80c5948: 68fb ldr r3, [r7, #12] 80c594a: 2201 movs r2, #1 80c594c: f883 229c strb.w r2, [r3, #668] ; 0x29c pdev->id = id; 80c5950: 68fb ldr r3, [r7, #12] 80c5952: 79fa ldrb r2, [r7, #7] 80c5954: 701a strb r2, [r3, #0] /* Initialize low level driver */ ret = USBD_LL_Init(pdev); 80c5956: 68f8 ldr r0, [r7, #12] 80c5958: f008 f924 bl 80cdba4 80c595c: 4603 mov r3, r0 80c595e: 75fb strb r3, [r7, #23] return ret; 80c5960: 7dfb ldrb r3, [r7, #23] } 80c5962: 4618 mov r0, r3 80c5964: 3718 adds r7, #24 80c5966: 46bd mov sp, r7 80c5968: bd80 pop {r7, pc} 080c596a : * @param pDevice : Device Handle * @param pclass: Class handle * @retval USBD Status */ USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass) { 80c596a: b580 push {r7, lr} 80c596c: b084 sub sp, #16 80c596e: af00 add r7, sp, #0 80c5970: 6078 str r0, [r7, #4] 80c5972: 6039 str r1, [r7, #0] uint16_t len = 0U; 80c5974: 2300 movs r3, #0 80c5976: 81fb strh r3, [r7, #14] if (pclass == NULL) 80c5978: 683b ldr r3, [r7, #0] 80c597a: 2b00 cmp r3, #0 80c597c: d101 bne.n 80c5982 { #if (USBD_DEBUG_LEVEL > 1U) USBD_ErrLog("Invalid Class handle"); #endif return USBD_FAIL; 80c597e: 2303 movs r3, #3 80c5980: e010 b.n 80c59a4 } /* link the class to the USB Device handle */ pdev->pClass = pclass; 80c5982: 687b ldr r3, [r7, #4] 80c5984: 683a ldr r2, [r7, #0] 80c5986: 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); 80c598a: 687b ldr r3, [r7, #4] 80c598c: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5990: 6a9b ldr r3, [r3, #40] ; 0x28 80c5992: f107 020e add.w r2, r7, #14 80c5996: 4610 mov r0, r2 80c5998: 4798 blx r3 80c599a: 4602 mov r2, r0 80c599c: 687b ldr r3, [r7, #4] 80c599e: f8c3 22cc str.w r2, [r3, #716] ; 0x2cc #endif /* USE_USB_FS */ return USBD_OK; 80c59a2: 2300 movs r3, #0 } 80c59a4: 4618 mov r0, r3 80c59a6: 3710 adds r7, #16 80c59a8: 46bd mov sp, r7 80c59aa: bd80 pop {r7, pc} 080c59ac : * Start the USB Device Core. * @param pdev: Device Handle * @retval USBD Status */ USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev) { 80c59ac: b580 push {r7, lr} 80c59ae: b082 sub sp, #8 80c59b0: af00 add r7, sp, #0 80c59b2: 6078 str r0, [r7, #4] /* Start the low level driver */ return USBD_LL_Start(pdev); 80c59b4: 6878 ldr r0, [r7, #4] 80c59b6: f008 f947 bl 80cdc48 80c59ba: 4603 mov r3, r0 } 80c59bc: 4618 mov r0, r3 80c59be: 3708 adds r7, #8 80c59c0: 46bd mov sp, r7 80c59c2: bd80 pop {r7, pc} 080c59c4 : * Launch test mode process * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_RunTestMode(USBD_HandleTypeDef *pdev) { 80c59c4: b480 push {r7} 80c59c6: b083 sub sp, #12 80c59c8: af00 add r7, sp, #0 80c59ca: 6078 str r0, [r7, #4] /* Prevent unused argument compilation warning */ UNUSED(pdev); return USBD_OK; 80c59cc: 2300 movs r3, #0 } 80c59ce: 4618 mov r0, r3 80c59d0: 370c adds r7, #12 80c59d2: 46bd mov sp, r7 80c59d4: f85d 7b04 ldr.w r7, [sp], #4 80c59d8: 4770 bx lr 080c59da : * @param cfgidx: configuration index * @retval status */ USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80c59da: b580 push {r7, lr} 80c59dc: b084 sub sp, #16 80c59de: af00 add r7, sp, #0 80c59e0: 6078 str r0, [r7, #4] 80c59e2: 460b mov r3, r1 80c59e4: 70fb strb r3, [r7, #3] USBD_StatusTypeDef ret = USBD_FAIL; 80c59e6: 2303 movs r3, #3 80c59e8: 73fb strb r3, [r7, #15] if (pdev->pClass != NULL) 80c59ea: 687b ldr r3, [r7, #4] 80c59ec: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c59f0: 2b00 cmp r3, #0 80c59f2: d009 beq.n 80c5a08 { /* Set configuration and Start the Class */ ret = (USBD_StatusTypeDef)pdev->pClass->Init(pdev, cfgidx); 80c59f4: 687b ldr r3, [r7, #4] 80c59f6: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c59fa: 681b ldr r3, [r3, #0] 80c59fc: 78fa ldrb r2, [r7, #3] 80c59fe: 4611 mov r1, r2 80c5a00: 6878 ldr r0, [r7, #4] 80c5a02: 4798 blx r3 80c5a04: 4603 mov r3, r0 80c5a06: 73fb strb r3, [r7, #15] } return ret; 80c5a08: 7bfb ldrb r3, [r7, #15] } 80c5a0a: 4618 mov r0, r3 80c5a0c: 3710 adds r7, #16 80c5a0e: 46bd mov sp, r7 80c5a10: bd80 pop {r7, pc} 080c5a12 : * @param pdev: device instance * @param cfgidx: configuration index * @retval status: USBD_StatusTypeDef */ USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80c5a12: b580 push {r7, lr} 80c5a14: b082 sub sp, #8 80c5a16: af00 add r7, sp, #0 80c5a18: 6078 str r0, [r7, #4] 80c5a1a: 460b mov r3, r1 80c5a1c: 70fb strb r3, [r7, #3] /* Clear configuration and De-initialize the Class process */ if (pdev->pClass != NULL) 80c5a1e: 687b ldr r3, [r7, #4] 80c5a20: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5a24: 2b00 cmp r3, #0 80c5a26: d007 beq.n 80c5a38 { pdev->pClass->DeInit(pdev, cfgidx); 80c5a28: 687b ldr r3, [r7, #4] 80c5a2a: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5a2e: 685b ldr r3, [r3, #4] 80c5a30: 78fa ldrb r2, [r7, #3] 80c5a32: 4611 mov r1, r2 80c5a34: 6878 ldr r0, [r7, #4] 80c5a36: 4798 blx r3 } return USBD_OK; 80c5a38: 2300 movs r3, #0 } 80c5a3a: 4618 mov r0, r3 80c5a3c: 3708 adds r7, #8 80c5a3e: 46bd mov sp, r7 80c5a40: bd80 pop {r7, pc} 080c5a42 : * Handle the setup stage * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup) { 80c5a42: b580 push {r7, lr} 80c5a44: b084 sub sp, #16 80c5a46: af00 add r7, sp, #0 80c5a48: 6078 str r0, [r7, #4] 80c5a4a: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret; USBD_ParseSetupRequest(&pdev->request, psetup); 80c5a4c: 687b ldr r3, [r7, #4] 80c5a4e: f203 23aa addw r3, r3, #682 ; 0x2aa 80c5a52: 6839 ldr r1, [r7, #0] 80c5a54: 4618 mov r0, r3 80c5a56: f000 ff55 bl 80c6904 pdev->ep0_state = USBD_EP0_SETUP; 80c5a5a: 687b ldr r3, [r7, #4] 80c5a5c: 2201 movs r2, #1 80c5a5e: f8c3 2294 str.w r2, [r3, #660] ; 0x294 pdev->ep0_data_len = pdev->request.wLength; 80c5a62: 687b ldr r3, [r7, #4] 80c5a64: f8b3 32b0 ldrh.w r3, [r3, #688] ; 0x2b0 80c5a68: 461a mov r2, r3 80c5a6a: 687b ldr r3, [r7, #4] 80c5a6c: f8c3 2298 str.w r2, [r3, #664] ; 0x298 switch (pdev->request.bmRequest & 0x1FU) 80c5a70: 687b ldr r3, [r7, #4] 80c5a72: f893 32aa ldrb.w r3, [r3, #682] ; 0x2aa 80c5a76: f003 031f and.w r3, r3, #31 80c5a7a: 2b01 cmp r3, #1 80c5a7c: d00e beq.n 80c5a9c 80c5a7e: 2b01 cmp r3, #1 80c5a80: d302 bcc.n 80c5a88 80c5a82: 2b02 cmp r3, #2 80c5a84: d014 beq.n 80c5ab0 80c5a86: e01d b.n 80c5ac4 { case USB_REQ_RECIPIENT_DEVICE: ret = USBD_StdDevReq(pdev, &pdev->request); 80c5a88: 687b ldr r3, [r7, #4] 80c5a8a: f203 23aa addw r3, r3, #682 ; 0x2aa 80c5a8e: 4619 mov r1, r3 80c5a90: 6878 ldr r0, [r7, #4] 80c5a92: f000 fa17 bl 80c5ec4 80c5a96: 4603 mov r3, r0 80c5a98: 73fb strb r3, [r7, #15] break; 80c5a9a: e020 b.n 80c5ade case USB_REQ_RECIPIENT_INTERFACE: ret = USBD_StdItfReq(pdev, &pdev->request); 80c5a9c: 687b ldr r3, [r7, #4] 80c5a9e: f203 23aa addw r3, r3, #682 ; 0x2aa 80c5aa2: 4619 mov r1, r3 80c5aa4: 6878 ldr r0, [r7, #4] 80c5aa6: f000 fa7b bl 80c5fa0 80c5aaa: 4603 mov r3, r0 80c5aac: 73fb strb r3, [r7, #15] break; 80c5aae: e016 b.n 80c5ade case USB_REQ_RECIPIENT_ENDPOINT: ret = USBD_StdEPReq(pdev, &pdev->request); 80c5ab0: 687b ldr r3, [r7, #4] 80c5ab2: f203 23aa addw r3, r3, #682 ; 0x2aa 80c5ab6: 4619 mov r1, r3 80c5ab8: 6878 ldr r0, [r7, #4] 80c5aba: f000 fab7 bl 80c602c 80c5abe: 4603 mov r3, r0 80c5ac0: 73fb strb r3, [r7, #15] break; 80c5ac2: e00c b.n 80c5ade default: ret = USBD_LL_StallEP(pdev, (pdev->request.bmRequest & 0x80U)); 80c5ac4: 687b ldr r3, [r7, #4] 80c5ac6: f893 32aa ldrb.w r3, [r3, #682] ; 0x2aa 80c5aca: f023 037f bic.w r3, r3, #127 ; 0x7f 80c5ace: b2db uxtb r3, r3 80c5ad0: 4619 mov r1, r3 80c5ad2: 6878 ldr r0, [r7, #4] 80c5ad4: f008 f937 bl 80cdd46 80c5ad8: 4603 mov r3, r0 80c5ada: 73fb strb r3, [r7, #15] break; 80c5adc: bf00 nop } return ret; 80c5ade: 7bfb ldrb r3, [r7, #15] } 80c5ae0: 4618 mov r0, r3 80c5ae2: 3710 adds r7, #16 80c5ae4: 46bd mov sp, r7 80c5ae6: bd80 pop {r7, pc} 080c5ae8 : * @param epnum: endpoint index * @retval status */ USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata) { 80c5ae8: b580 push {r7, lr} 80c5aea: b086 sub sp, #24 80c5aec: af00 add r7, sp, #0 80c5aee: 60f8 str r0, [r7, #12] 80c5af0: 460b mov r3, r1 80c5af2: 607a str r2, [r7, #4] 80c5af4: 72fb strb r3, [r7, #11] USBD_EndpointTypeDef *pep; USBD_StatusTypeDef ret; if (epnum == 0U) 80c5af6: 7afb ldrb r3, [r7, #11] 80c5af8: 2b00 cmp r3, #0 80c5afa: d137 bne.n 80c5b6c { pep = &pdev->ep_out[0]; 80c5afc: 68fb ldr r3, [r7, #12] 80c5afe: f503 73aa add.w r3, r3, #340 ; 0x154 80c5b02: 613b str r3, [r7, #16] if (pdev->ep0_state == USBD_EP0_DATA_OUT) 80c5b04: 68fb ldr r3, [r7, #12] 80c5b06: f8d3 3294 ldr.w r3, [r3, #660] ; 0x294 80c5b0a: 2b03 cmp r3, #3 80c5b0c: d14a bne.n 80c5ba4 { if (pep->rem_length > pep->maxpacket) 80c5b0e: 693b ldr r3, [r7, #16] 80c5b10: 689a ldr r2, [r3, #8] 80c5b12: 693b ldr r3, [r7, #16] 80c5b14: 68db ldr r3, [r3, #12] 80c5b16: 429a cmp r2, r3 80c5b18: d913 bls.n 80c5b42 { pep->rem_length -= pep->maxpacket; 80c5b1a: 693b ldr r3, [r7, #16] 80c5b1c: 689a ldr r2, [r3, #8] 80c5b1e: 693b ldr r3, [r7, #16] 80c5b20: 68db ldr r3, [r3, #12] 80c5b22: 1ad2 subs r2, r2, r3 80c5b24: 693b ldr r3, [r7, #16] 80c5b26: 609a str r2, [r3, #8] (void)USBD_CtlContinueRx(pdev, pdata, MIN(pep->rem_length, pep->maxpacket)); 80c5b28: 693b ldr r3, [r7, #16] 80c5b2a: 68da ldr r2, [r3, #12] 80c5b2c: 693b ldr r3, [r7, #16] 80c5b2e: 689b ldr r3, [r3, #8] 80c5b30: 4293 cmp r3, r2 80c5b32: bf28 it cs 80c5b34: 4613 movcs r3, r2 80c5b36: 461a mov r2, r3 80c5b38: 6879 ldr r1, [r7, #4] 80c5b3a: 68f8 ldr r0, [r7, #12] 80c5b3c: f000 ffb9 bl 80c6ab2 80c5b40: e030 b.n 80c5ba4 } else { if ((pdev->pClass->EP0_RxReady != NULL) && 80c5b42: 68fb ldr r3, [r7, #12] 80c5b44: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5b48: 691b ldr r3, [r3, #16] 80c5b4a: 2b00 cmp r3, #0 80c5b4c: d00a beq.n 80c5b64 (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c5b4e: 68fb ldr r3, [r7, #12] 80c5b50: f893 329c ldrb.w r3, [r3, #668] ; 0x29c if ((pdev->pClass->EP0_RxReady != NULL) && 80c5b54: 2b03 cmp r3, #3 80c5b56: d105 bne.n 80c5b64 { pdev->pClass->EP0_RxReady(pdev); 80c5b58: 68fb ldr r3, [r7, #12] 80c5b5a: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5b5e: 691b ldr r3, [r3, #16] 80c5b60: 68f8 ldr r0, [r7, #12] 80c5b62: 4798 blx r3 } (void)USBD_CtlSendStatus(pdev); 80c5b64: 68f8 ldr r0, [r7, #12] 80c5b66: f000 ffb5 bl 80c6ad4 80c5b6a: e01b b.n 80c5ba4 (void)USBD_LL_StallEP(pdev, 0U); } #endif } } else if ((pdev->pClass->DataOut != NULL) && 80c5b6c: 68fb ldr r3, [r7, #12] 80c5b6e: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5b72: 699b ldr r3, [r3, #24] 80c5b74: 2b00 cmp r3, #0 80c5b76: d013 beq.n 80c5ba0 (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c5b78: 68fb ldr r3, [r7, #12] 80c5b7a: f893 329c ldrb.w r3, [r3, #668] ; 0x29c else if ((pdev->pClass->DataOut != NULL) && 80c5b7e: 2b03 cmp r3, #3 80c5b80: d10e bne.n 80c5ba0 { ret = (USBD_StatusTypeDef)pdev->pClass->DataOut(pdev, epnum); 80c5b82: 68fb ldr r3, [r7, #12] 80c5b84: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5b88: 699b ldr r3, [r3, #24] 80c5b8a: 7afa ldrb r2, [r7, #11] 80c5b8c: 4611 mov r1, r2 80c5b8e: 68f8 ldr r0, [r7, #12] 80c5b90: 4798 blx r3 80c5b92: 4603 mov r3, r0 80c5b94: 75fb strb r3, [r7, #23] if (ret != USBD_OK) 80c5b96: 7dfb ldrb r3, [r7, #23] 80c5b98: 2b00 cmp r3, #0 80c5b9a: d003 beq.n 80c5ba4 { return ret; 80c5b9c: 7dfb ldrb r3, [r7, #23] 80c5b9e: e002 b.n 80c5ba6 } } else { /* should never be in this condition */ return USBD_FAIL; 80c5ba0: 2303 movs r3, #3 80c5ba2: e000 b.n 80c5ba6 } return USBD_OK; 80c5ba4: 2300 movs r3, #0 } 80c5ba6: 4618 mov r0, r3 80c5ba8: 3718 adds r7, #24 80c5baa: 46bd mov sp, r7 80c5bac: bd80 pop {r7, pc} 080c5bae : * @param epnum: endpoint index * @retval status */ USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata) { 80c5bae: b580 push {r7, lr} 80c5bb0: b086 sub sp, #24 80c5bb2: af00 add r7, sp, #0 80c5bb4: 60f8 str r0, [r7, #12] 80c5bb6: 460b mov r3, r1 80c5bb8: 607a str r2, [r7, #4] 80c5bba: 72fb strb r3, [r7, #11] USBD_EndpointTypeDef *pep; USBD_StatusTypeDef ret; if (epnum == 0U) 80c5bbc: 7afb ldrb r3, [r7, #11] 80c5bbe: 2b00 cmp r3, #0 80c5bc0: d16a bne.n 80c5c98 { pep = &pdev->ep_in[0]; 80c5bc2: 68fb ldr r3, [r7, #12] 80c5bc4: 3314 adds r3, #20 80c5bc6: 613b str r3, [r7, #16] if (pdev->ep0_state == USBD_EP0_DATA_IN) 80c5bc8: 68fb ldr r3, [r7, #12] 80c5bca: f8d3 3294 ldr.w r3, [r3, #660] ; 0x294 80c5bce: 2b02 cmp r3, #2 80c5bd0: d155 bne.n 80c5c7e { if (pep->rem_length > pep->maxpacket) 80c5bd2: 693b ldr r3, [r7, #16] 80c5bd4: 689a ldr r2, [r3, #8] 80c5bd6: 693b ldr r3, [r7, #16] 80c5bd8: 68db ldr r3, [r3, #12] 80c5bda: 429a cmp r2, r3 80c5bdc: d914 bls.n 80c5c08 { pep->rem_length -= pep->maxpacket; 80c5bde: 693b ldr r3, [r7, #16] 80c5be0: 689a ldr r2, [r3, #8] 80c5be2: 693b ldr r3, [r7, #16] 80c5be4: 68db ldr r3, [r3, #12] 80c5be6: 1ad2 subs r2, r2, r3 80c5be8: 693b ldr r3, [r7, #16] 80c5bea: 609a str r2, [r3, #8] (void)USBD_CtlContinueSendData(pdev, pdata, pep->rem_length); 80c5bec: 693b ldr r3, [r7, #16] 80c5bee: 689b ldr r3, [r3, #8] 80c5bf0: 461a mov r2, r3 80c5bf2: 6879 ldr r1, [r7, #4] 80c5bf4: 68f8 ldr r0, [r7, #12] 80c5bf6: f000 ff4b bl 80c6a90 /* Prepare endpoint for premature end of transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 80c5bfa: 2300 movs r3, #0 80c5bfc: 2200 movs r2, #0 80c5bfe: 2100 movs r1, #0 80c5c00: 68f8 ldr r0, [r7, #12] 80c5c02: f008 f94a bl 80cde9a 80c5c06: e03a b.n 80c5c7e } else { /* last packet is MPS multiple, so send ZLP packet */ if ((pep->maxpacket == pep->rem_length) && 80c5c08: 693b ldr r3, [r7, #16] 80c5c0a: 68da ldr r2, [r3, #12] 80c5c0c: 693b ldr r3, [r7, #16] 80c5c0e: 689b ldr r3, [r3, #8] 80c5c10: 429a cmp r2, r3 80c5c12: d11c bne.n 80c5c4e (pep->total_length >= pep->maxpacket) && 80c5c14: 693b ldr r3, [r7, #16] 80c5c16: 685a ldr r2, [r3, #4] 80c5c18: 693b ldr r3, [r7, #16] 80c5c1a: 68db ldr r3, [r3, #12] if ((pep->maxpacket == pep->rem_length) && 80c5c1c: 429a cmp r2, r3 80c5c1e: d316 bcc.n 80c5c4e (pep->total_length < pdev->ep0_data_len)) 80c5c20: 693b ldr r3, [r7, #16] 80c5c22: 685a ldr r2, [r3, #4] 80c5c24: 68fb ldr r3, [r7, #12] 80c5c26: f8d3 3298 ldr.w r3, [r3, #664] ; 0x298 (pep->total_length >= pep->maxpacket) && 80c5c2a: 429a cmp r2, r3 80c5c2c: d20f bcs.n 80c5c4e { (void)USBD_CtlContinueSendData(pdev, NULL, 0U); 80c5c2e: 2200 movs r2, #0 80c5c30: 2100 movs r1, #0 80c5c32: 68f8 ldr r0, [r7, #12] 80c5c34: f000 ff2c bl 80c6a90 pdev->ep0_data_len = 0U; 80c5c38: 68fb ldr r3, [r7, #12] 80c5c3a: 2200 movs r2, #0 80c5c3c: f8c3 2298 str.w r2, [r3, #664] ; 0x298 /* Prepare endpoint for premature end of transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 80c5c40: 2300 movs r3, #0 80c5c42: 2200 movs r2, #0 80c5c44: 2100 movs r1, #0 80c5c46: 68f8 ldr r0, [r7, #12] 80c5c48: f008 f927 bl 80cde9a 80c5c4c: e017 b.n 80c5c7e } else { if ((pdev->pClass->EP0_TxSent != NULL) && 80c5c4e: 68fb ldr r3, [r7, #12] 80c5c50: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5c54: 68db ldr r3, [r3, #12] 80c5c56: 2b00 cmp r3, #0 80c5c58: d00a beq.n 80c5c70 (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c5c5a: 68fb ldr r3, [r7, #12] 80c5c5c: f893 329c ldrb.w r3, [r3, #668] ; 0x29c if ((pdev->pClass->EP0_TxSent != NULL) && 80c5c60: 2b03 cmp r3, #3 80c5c62: d105 bne.n 80c5c70 { pdev->pClass->EP0_TxSent(pdev); 80c5c64: 68fb ldr r3, [r7, #12] 80c5c66: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5c6a: 68db ldr r3, [r3, #12] 80c5c6c: 68f8 ldr r0, [r7, #12] 80c5c6e: 4798 blx r3 } (void)USBD_LL_StallEP(pdev, 0x80U); 80c5c70: 2180 movs r1, #128 ; 0x80 80c5c72: 68f8 ldr r0, [r7, #12] 80c5c74: f008 f867 bl 80cdd46 (void)USBD_CtlReceiveStatus(pdev); 80c5c78: 68f8 ldr r0, [r7, #12] 80c5c7a: f000 ff3e bl 80c6afa (void)USBD_LL_StallEP(pdev, 0x80U); } #endif } if (pdev->dev_test_mode == 1U) 80c5c7e: 68fb ldr r3, [r7, #12] 80c5c80: f893 32a0 ldrb.w r3, [r3, #672] ; 0x2a0 80c5c84: 2b01 cmp r3, #1 80c5c86: d123 bne.n 80c5cd0 { (void)USBD_RunTestMode(pdev); 80c5c88: 68f8 ldr r0, [r7, #12] 80c5c8a: f7ff fe9b bl 80c59c4 pdev->dev_test_mode = 0U; 80c5c8e: 68fb ldr r3, [r7, #12] 80c5c90: 2200 movs r2, #0 80c5c92: f883 22a0 strb.w r2, [r3, #672] ; 0x2a0 80c5c96: e01b b.n 80c5cd0 } } else if ((pdev->pClass->DataIn != NULL) && 80c5c98: 68fb ldr r3, [r7, #12] 80c5c9a: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5c9e: 695b ldr r3, [r3, #20] 80c5ca0: 2b00 cmp r3, #0 80c5ca2: d013 beq.n 80c5ccc (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c5ca4: 68fb ldr r3, [r7, #12] 80c5ca6: f893 329c ldrb.w r3, [r3, #668] ; 0x29c else if ((pdev->pClass->DataIn != NULL) && 80c5caa: 2b03 cmp r3, #3 80c5cac: d10e bne.n 80c5ccc { ret = (USBD_StatusTypeDef)pdev->pClass->DataIn(pdev, epnum); 80c5cae: 68fb ldr r3, [r7, #12] 80c5cb0: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5cb4: 695b ldr r3, [r3, #20] 80c5cb6: 7afa ldrb r2, [r7, #11] 80c5cb8: 4611 mov r1, r2 80c5cba: 68f8 ldr r0, [r7, #12] 80c5cbc: 4798 blx r3 80c5cbe: 4603 mov r3, r0 80c5cc0: 75fb strb r3, [r7, #23] if (ret != USBD_OK) 80c5cc2: 7dfb ldrb r3, [r7, #23] 80c5cc4: 2b00 cmp r3, #0 80c5cc6: d003 beq.n 80c5cd0 { return ret; 80c5cc8: 7dfb ldrb r3, [r7, #23] 80c5cca: e002 b.n 80c5cd2 } } else { /* should never be in this condition */ return USBD_FAIL; 80c5ccc: 2303 movs r3, #3 80c5cce: e000 b.n 80c5cd2 } return USBD_OK; 80c5cd0: 2300 movs r3, #0 } 80c5cd2: 4618 mov r0, r3 80c5cd4: 3718 adds r7, #24 80c5cd6: 46bd mov sp, r7 80c5cd8: bd80 pop {r7, pc} 080c5cda : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev) { 80c5cda: b580 push {r7, lr} 80c5cdc: b082 sub sp, #8 80c5cde: af00 add r7, sp, #0 80c5ce0: 6078 str r0, [r7, #4] /* Upon Reset call user call back */ pdev->dev_state = USBD_STATE_DEFAULT; 80c5ce2: 687b ldr r3, [r7, #4] 80c5ce4: 2201 movs r2, #1 80c5ce6: f883 229c strb.w r2, [r3, #668] ; 0x29c pdev->ep0_state = USBD_EP0_IDLE; 80c5cea: 687b ldr r3, [r7, #4] 80c5cec: 2200 movs r2, #0 80c5cee: f8c3 2294 str.w r2, [r3, #660] ; 0x294 pdev->dev_config = 0U; 80c5cf2: 687b ldr r3, [r7, #4] 80c5cf4: 2200 movs r2, #0 80c5cf6: 605a str r2, [r3, #4] pdev->dev_remote_wakeup = 0U; 80c5cf8: 687b ldr r3, [r7, #4] 80c5cfa: 2200 movs r2, #0 80c5cfc: f8c3 22a4 str.w r2, [r3, #676] ; 0x2a4 if (pdev->pClassData != NULL) 80c5d00: 687b ldr r3, [r7, #4] 80c5d02: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c5d06: 2b00 cmp r3, #0 80c5d08: d009 beq.n 80c5d1e { pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 80c5d0a: 687b ldr r3, [r7, #4] 80c5d0c: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5d10: 685b ldr r3, [r3, #4] 80c5d12: 687a ldr r2, [r7, #4] 80c5d14: 6852 ldr r2, [r2, #4] 80c5d16: b2d2 uxtb r2, r2 80c5d18: 4611 mov r1, r2 80c5d1a: 6878 ldr r0, [r7, #4] 80c5d1c: 4798 blx r3 } /* Open EP0 OUT */ (void)USBD_LL_OpenEP(pdev, 0x00U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE); 80c5d1e: 2340 movs r3, #64 ; 0x40 80c5d20: 2200 movs r2, #0 80c5d22: 2100 movs r1, #0 80c5d24: 6878 ldr r0, [r7, #4] 80c5d26: f007 ffaa bl 80cdc7e pdev->ep_out[0x00U & 0xFU].is_used = 1U; 80c5d2a: 687b ldr r3, [r7, #4] 80c5d2c: 2201 movs r2, #1 80c5d2e: f8a3 2164 strh.w r2, [r3, #356] ; 0x164 pdev->ep_out[0].maxpacket = USB_MAX_EP0_SIZE; 80c5d32: 687b ldr r3, [r7, #4] 80c5d34: 2240 movs r2, #64 ; 0x40 80c5d36: 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); 80c5d3a: 2340 movs r3, #64 ; 0x40 80c5d3c: 2200 movs r2, #0 80c5d3e: 2180 movs r1, #128 ; 0x80 80c5d40: 6878 ldr r0, [r7, #4] 80c5d42: f007 ff9c bl 80cdc7e pdev->ep_in[0x80U & 0xFU].is_used = 1U; 80c5d46: 687b ldr r3, [r7, #4] 80c5d48: 2201 movs r2, #1 80c5d4a: 849a strh r2, [r3, #36] ; 0x24 pdev->ep_in[0].maxpacket = USB_MAX_EP0_SIZE; 80c5d4c: 687b ldr r3, [r7, #4] 80c5d4e: 2240 movs r2, #64 ; 0x40 80c5d50: 621a str r2, [r3, #32] return USBD_OK; 80c5d52: 2300 movs r3, #0 } 80c5d54: 4618 mov r0, r3 80c5d56: 3708 adds r7, #8 80c5d58: 46bd mov sp, r7 80c5d5a: bd80 pop {r7, pc} 080c5d5c : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, USBD_SpeedTypeDef speed) { 80c5d5c: b480 push {r7} 80c5d5e: b083 sub sp, #12 80c5d60: af00 add r7, sp, #0 80c5d62: 6078 str r0, [r7, #4] 80c5d64: 460b mov r3, r1 80c5d66: 70fb strb r3, [r7, #3] pdev->dev_speed = speed; 80c5d68: 687b ldr r3, [r7, #4] 80c5d6a: 78fa ldrb r2, [r7, #3] 80c5d6c: 741a strb r2, [r3, #16] return USBD_OK; 80c5d6e: 2300 movs r3, #0 } 80c5d70: 4618 mov r0, r3 80c5d72: 370c adds r7, #12 80c5d74: 46bd mov sp, r7 80c5d76: f85d 7b04 ldr.w r7, [sp], #4 80c5d7a: 4770 bx lr 080c5d7c : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev) { 80c5d7c: b480 push {r7} 80c5d7e: b083 sub sp, #12 80c5d80: af00 add r7, sp, #0 80c5d82: 6078 str r0, [r7, #4] pdev->dev_old_state = pdev->dev_state; 80c5d84: 687b ldr r3, [r7, #4] 80c5d86: f893 229c ldrb.w r2, [r3, #668] ; 0x29c 80c5d8a: 687b ldr r3, [r7, #4] 80c5d8c: f883 229d strb.w r2, [r3, #669] ; 0x29d pdev->dev_state = USBD_STATE_SUSPENDED; 80c5d90: 687b ldr r3, [r7, #4] 80c5d92: 2204 movs r2, #4 80c5d94: f883 229c strb.w r2, [r3, #668] ; 0x29c return USBD_OK; 80c5d98: 2300 movs r3, #0 } 80c5d9a: 4618 mov r0, r3 80c5d9c: 370c adds r7, #12 80c5d9e: 46bd mov sp, r7 80c5da0: f85d 7b04 ldr.w r7, [sp], #4 80c5da4: 4770 bx lr 080c5da6 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev) { 80c5da6: b480 push {r7} 80c5da8: b083 sub sp, #12 80c5daa: af00 add r7, sp, #0 80c5dac: 6078 str r0, [r7, #4] if (pdev->dev_state == USBD_STATE_SUSPENDED) 80c5dae: 687b ldr r3, [r7, #4] 80c5db0: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c5db4: 2b04 cmp r3, #4 80c5db6: d105 bne.n 80c5dc4 { pdev->dev_state = pdev->dev_old_state; 80c5db8: 687b ldr r3, [r7, #4] 80c5dba: f893 229d ldrb.w r2, [r3, #669] ; 0x29d 80c5dbe: 687b ldr r3, [r7, #4] 80c5dc0: f883 229c strb.w r2, [r3, #668] ; 0x29c } return USBD_OK; 80c5dc4: 2300 movs r3, #0 } 80c5dc6: 4618 mov r0, r3 80c5dc8: 370c adds r7, #12 80c5dca: 46bd mov sp, r7 80c5dcc: f85d 7b04 ldr.w r7, [sp], #4 80c5dd0: 4770 bx lr 080c5dd2 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev) { 80c5dd2: b580 push {r7, lr} 80c5dd4: b082 sub sp, #8 80c5dd6: af00 add r7, sp, #0 80c5dd8: 6078 str r0, [r7, #4] if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c5dda: 687b ldr r3, [r7, #4] 80c5ddc: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c5de0: 2b03 cmp r3, #3 80c5de2: d10b bne.n 80c5dfc { if (pdev->pClass->SOF != NULL) 80c5de4: 687b ldr r3, [r7, #4] 80c5de6: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5dea: 69db ldr r3, [r3, #28] 80c5dec: 2b00 cmp r3, #0 80c5dee: d005 beq.n 80c5dfc { pdev->pClass->SOF(pdev); 80c5df0: 687b ldr r3, [r7, #4] 80c5df2: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5df6: 69db ldr r3, [r3, #28] 80c5df8: 6878 ldr r0, [r7, #4] 80c5dfa: 4798 blx r3 } } return USBD_OK; 80c5dfc: 2300 movs r3, #0 } 80c5dfe: 4618 mov r0, r3 80c5e00: 3708 adds r7, #8 80c5e02: 46bd mov sp, r7 80c5e04: bd80 pop {r7, pc} 080c5e06 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c5e06: b480 push {r7} 80c5e08: b083 sub sp, #12 80c5e0a: af00 add r7, sp, #0 80c5e0c: 6078 str r0, [r7, #4] 80c5e0e: 460b mov r3, r1 80c5e10: 70fb strb r3, [r7, #3] /* Prevent unused arguments compilation warning */ UNUSED(pdev); UNUSED(epnum); return USBD_OK; 80c5e12: 2300 movs r3, #0 } 80c5e14: 4618 mov r0, r3 80c5e16: 370c adds r7, #12 80c5e18: 46bd mov sp, r7 80c5e1a: f85d 7b04 ldr.w r7, [sp], #4 80c5e1e: 4770 bx lr 080c5e20 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c5e20: b480 push {r7} 80c5e22: b083 sub sp, #12 80c5e24: af00 add r7, sp, #0 80c5e26: 6078 str r0, [r7, #4] 80c5e28: 460b mov r3, r1 80c5e2a: 70fb strb r3, [r7, #3] /* Prevent unused arguments compilation warning */ UNUSED(pdev); UNUSED(epnum); return USBD_OK; 80c5e2c: 2300 movs r3, #0 } 80c5e2e: 4618 mov r0, r3 80c5e30: 370c adds r7, #12 80c5e32: 46bd mov sp, r7 80c5e34: f85d 7b04 ldr.w r7, [sp], #4 80c5e38: 4770 bx lr 080c5e3a : * Handle device connection event * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev) { 80c5e3a: b480 push {r7} 80c5e3c: b083 sub sp, #12 80c5e3e: af00 add r7, sp, #0 80c5e40: 6078 str r0, [r7, #4] /* Prevent unused argument compilation warning */ UNUSED(pdev); return USBD_OK; 80c5e42: 2300 movs r3, #0 } 80c5e44: 4618 mov r0, r3 80c5e46: 370c adds r7, #12 80c5e48: 46bd mov sp, r7 80c5e4a: f85d 7b04 ldr.w r7, [sp], #4 80c5e4e: 4770 bx lr 080c5e50 : * Handle device disconnection event * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev) { 80c5e50: b580 push {r7, lr} 80c5e52: b082 sub sp, #8 80c5e54: af00 add r7, sp, #0 80c5e56: 6078 str r0, [r7, #4] /* Free Class Resources */ pdev->dev_state = USBD_STATE_DEFAULT; 80c5e58: 687b ldr r3, [r7, #4] 80c5e5a: 2201 movs r2, #1 80c5e5c: f883 229c strb.w r2, [r3, #668] ; 0x29c if (pdev->pClass != NULL) 80c5e60: 687b ldr r3, [r7, #4] 80c5e62: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5e66: 2b00 cmp r3, #0 80c5e68: d009 beq.n 80c5e7e { pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 80c5e6a: 687b ldr r3, [r7, #4] 80c5e6c: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5e70: 685b ldr r3, [r3, #4] 80c5e72: 687a ldr r2, [r7, #4] 80c5e74: 6852 ldr r2, [r2, #4] 80c5e76: b2d2 uxtb r2, r2 80c5e78: 4611 mov r1, r2 80c5e7a: 6878 ldr r0, [r7, #4] 80c5e7c: 4798 blx r3 } return USBD_OK; 80c5e7e: 2300 movs r3, #0 } 80c5e80: 4618 mov r0, r3 80c5e82: 3708 adds r7, #8 80c5e84: 46bd mov sp, r7 80c5e86: bd80 pop {r7, pc} 080c5e88 : /** @defgroup USBD_DEF_Exported_Macros * @{ */ __STATIC_INLINE uint16_t SWAPBYTE(uint8_t *addr) { 80c5e88: b480 push {r7} 80c5e8a: b087 sub sp, #28 80c5e8c: af00 add r7, sp, #0 80c5e8e: 6078 str r0, [r7, #4] uint16_t _SwapVal, _Byte1, _Byte2; uint8_t *_pbuff = addr; 80c5e90: 687b ldr r3, [r7, #4] 80c5e92: 617b str r3, [r7, #20] _Byte1 = *(uint8_t *)_pbuff; 80c5e94: 697b ldr r3, [r7, #20] 80c5e96: 781b ldrb r3, [r3, #0] 80c5e98: 827b strh r3, [r7, #18] _pbuff++; 80c5e9a: 697b ldr r3, [r7, #20] 80c5e9c: 3301 adds r3, #1 80c5e9e: 617b str r3, [r7, #20] _Byte2 = *(uint8_t *)_pbuff; 80c5ea0: 697b ldr r3, [r7, #20] 80c5ea2: 781b ldrb r3, [r3, #0] 80c5ea4: 823b strh r3, [r7, #16] _SwapVal = (_Byte2 << 8) | _Byte1; 80c5ea6: 8a3b ldrh r3, [r7, #16] 80c5ea8: 021b lsls r3, r3, #8 80c5eaa: b21a sxth r2, r3 80c5eac: f9b7 3012 ldrsh.w r3, [r7, #18] 80c5eb0: 4313 orrs r3, r2 80c5eb2: b21b sxth r3, r3 80c5eb4: 81fb strh r3, [r7, #14] return _SwapVal; 80c5eb6: 89fb ldrh r3, [r7, #14] } 80c5eb8: 4618 mov r0, r3 80c5eba: 371c adds r7, #28 80c5ebc: 46bd mov sp, r7 80c5ebe: f85d 7b04 ldr.w r7, [sp], #4 80c5ec2: 4770 bx lr 080c5ec4 : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdDevReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c5ec4: b580 push {r7, lr} 80c5ec6: b084 sub sp, #16 80c5ec8: af00 add r7, sp, #0 80c5eca: 6078 str r0, [r7, #4] 80c5ecc: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; 80c5ece: 2300 movs r3, #0 80c5ed0: 73fb strb r3, [r7, #15] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c5ed2: 683b ldr r3, [r7, #0] 80c5ed4: 781b ldrb r3, [r3, #0] 80c5ed6: f003 0360 and.w r3, r3, #96 ; 0x60 80c5eda: 2b20 cmp r3, #32 80c5edc: d004 beq.n 80c5ee8 80c5ede: 2b40 cmp r3, #64 ; 0x40 80c5ee0: d002 beq.n 80c5ee8 80c5ee2: 2b00 cmp r3, #0 80c5ee4: d00a beq.n 80c5efc 80c5ee6: e050 b.n 80c5f8a { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c5ee8: 687b ldr r3, [r7, #4] 80c5eea: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5eee: 689b ldr r3, [r3, #8] 80c5ef0: 6839 ldr r1, [r7, #0] 80c5ef2: 6878 ldr r0, [r7, #4] 80c5ef4: 4798 blx r3 80c5ef6: 4603 mov r3, r0 80c5ef8: 73fb strb r3, [r7, #15] break; 80c5efa: e04b b.n 80c5f94 case USB_REQ_TYPE_STANDARD: switch (req->bRequest) 80c5efc: 683b ldr r3, [r7, #0] 80c5efe: 785b ldrb r3, [r3, #1] 80c5f00: 2b09 cmp r3, #9 80c5f02: d83c bhi.n 80c5f7e 80c5f04: a201 add r2, pc, #4 ; (adr r2, 80c5f0c ) 80c5f06: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c5f0a: bf00 nop 80c5f0c: 080c5f61 .word 0x080c5f61 80c5f10: 080c5f75 .word 0x080c5f75 80c5f14: 080c5f7f .word 0x080c5f7f 80c5f18: 080c5f6b .word 0x080c5f6b 80c5f1c: 080c5f7f .word 0x080c5f7f 80c5f20: 080c5f3f .word 0x080c5f3f 80c5f24: 080c5f35 .word 0x080c5f35 80c5f28: 080c5f7f .word 0x080c5f7f 80c5f2c: 080c5f57 .word 0x080c5f57 80c5f30: 080c5f49 .word 0x080c5f49 { case USB_REQ_GET_DESCRIPTOR: USBD_GetDescriptor(pdev, req); 80c5f34: 6839 ldr r1, [r7, #0] 80c5f36: 6878 ldr r0, [r7, #4] 80c5f38: f000 f9ce bl 80c62d8 break; 80c5f3c: e024 b.n 80c5f88 case USB_REQ_SET_ADDRESS: USBD_SetAddress(pdev, req); 80c5f3e: 6839 ldr r1, [r7, #0] 80c5f40: 6878 ldr r0, [r7, #4] 80c5f42: f000 fb5d bl 80c6600 break; 80c5f46: e01f b.n 80c5f88 case USB_REQ_SET_CONFIGURATION: ret = USBD_SetConfig(pdev, req); 80c5f48: 6839 ldr r1, [r7, #0] 80c5f4a: 6878 ldr r0, [r7, #4] 80c5f4c: f000 fb9a bl 80c6684 80c5f50: 4603 mov r3, r0 80c5f52: 73fb strb r3, [r7, #15] break; 80c5f54: e018 b.n 80c5f88 case USB_REQ_GET_CONFIGURATION: USBD_GetConfig(pdev, req); 80c5f56: 6839 ldr r1, [r7, #0] 80c5f58: 6878 ldr r0, [r7, #4] 80c5f5a: f000 fc37 bl 80c67cc break; 80c5f5e: e013 b.n 80c5f88 case USB_REQ_GET_STATUS: USBD_GetStatus(pdev, req); 80c5f60: 6839 ldr r1, [r7, #0] 80c5f62: 6878 ldr r0, [r7, #4] 80c5f64: f000 fc66 bl 80c6834 break; 80c5f68: e00e b.n 80c5f88 case USB_REQ_SET_FEATURE: USBD_SetFeature(pdev, req); 80c5f6a: 6839 ldr r1, [r7, #0] 80c5f6c: 6878 ldr r0, [r7, #4] 80c5f6e: f000 fc94 bl 80c689a break; 80c5f72: e009 b.n 80c5f88 case USB_REQ_CLEAR_FEATURE: USBD_ClrFeature(pdev, req); 80c5f74: 6839 ldr r1, [r7, #0] 80c5f76: 6878 ldr r0, [r7, #4] 80c5f78: f000 fca3 bl 80c68c2 break; 80c5f7c: e004 b.n 80c5f88 default: USBD_CtlError(pdev, req); 80c5f7e: 6839 ldr r1, [r7, #0] 80c5f80: 6878 ldr r0, [r7, #4] 80c5f82: f000 fcf9 bl 80c6978 break; 80c5f86: bf00 nop } break; 80c5f88: e004 b.n 80c5f94 default: USBD_CtlError(pdev, req); 80c5f8a: 6839 ldr r1, [r7, #0] 80c5f8c: 6878 ldr r0, [r7, #4] 80c5f8e: f000 fcf3 bl 80c6978 break; 80c5f92: bf00 nop } return ret; 80c5f94: 7bfb ldrb r3, [r7, #15] } 80c5f96: 4618 mov r0, r3 80c5f98: 3710 adds r7, #16 80c5f9a: 46bd mov sp, r7 80c5f9c: bd80 pop {r7, pc} 80c5f9e: bf00 nop 080c5fa0 : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdItfReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c5fa0: b580 push {r7, lr} 80c5fa2: b084 sub sp, #16 80c5fa4: af00 add r7, sp, #0 80c5fa6: 6078 str r0, [r7, #4] 80c5fa8: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; 80c5faa: 2300 movs r3, #0 80c5fac: 73fb strb r3, [r7, #15] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c5fae: 683b ldr r3, [r7, #0] 80c5fb0: 781b ldrb r3, [r3, #0] 80c5fb2: f003 0360 and.w r3, r3, #96 ; 0x60 80c5fb6: 2b20 cmp r3, #32 80c5fb8: d003 beq.n 80c5fc2 80c5fba: 2b40 cmp r3, #64 ; 0x40 80c5fbc: d001 beq.n 80c5fc2 80c5fbe: 2b00 cmp r3, #0 80c5fc0: d12a bne.n 80c6018 { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: case USB_REQ_TYPE_STANDARD: switch (pdev->dev_state) 80c5fc2: 687b ldr r3, [r7, #4] 80c5fc4: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c5fc8: 3b01 subs r3, #1 80c5fca: 2b02 cmp r3, #2 80c5fcc: d81d bhi.n 80c600a { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (LOBYTE(req->wIndex) <= USBD_MAX_NUM_INTERFACES) 80c5fce: 683b ldr r3, [r7, #0] 80c5fd0: 889b ldrh r3, [r3, #4] 80c5fd2: b2db uxtb r3, r3 80c5fd4: 2b01 cmp r3, #1 80c5fd6: d813 bhi.n 80c6000 { ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c5fd8: 687b ldr r3, [r7, #4] 80c5fda: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c5fde: 689b ldr r3, [r3, #8] 80c5fe0: 6839 ldr r1, [r7, #0] 80c5fe2: 6878 ldr r0, [r7, #4] 80c5fe4: 4798 blx r3 80c5fe6: 4603 mov r3, r0 80c5fe8: 73fb strb r3, [r7, #15] if ((req->wLength == 0U) && (ret == USBD_OK)) 80c5fea: 683b ldr r3, [r7, #0] 80c5fec: 88db ldrh r3, [r3, #6] 80c5fee: 2b00 cmp r3, #0 80c5ff0: d110 bne.n 80c6014 80c5ff2: 7bfb ldrb r3, [r7, #15] 80c5ff4: 2b00 cmp r3, #0 80c5ff6: d10d bne.n 80c6014 { (void)USBD_CtlSendStatus(pdev); 80c5ff8: 6878 ldr r0, [r7, #4] 80c5ffa: f000 fd6b bl 80c6ad4 } else { USBD_CtlError(pdev, req); } break; 80c5ffe: e009 b.n 80c6014 USBD_CtlError(pdev, req); 80c6000: 6839 ldr r1, [r7, #0] 80c6002: 6878 ldr r0, [r7, #4] 80c6004: f000 fcb8 bl 80c6978 break; 80c6008: e004 b.n 80c6014 default: USBD_CtlError(pdev, req); 80c600a: 6839 ldr r1, [r7, #0] 80c600c: 6878 ldr r0, [r7, #4] 80c600e: f000 fcb3 bl 80c6978 break; 80c6012: e000 b.n 80c6016 break; 80c6014: bf00 nop } break; 80c6016: e004 b.n 80c6022 default: USBD_CtlError(pdev, req); 80c6018: 6839 ldr r1, [r7, #0] 80c601a: 6878 ldr r0, [r7, #4] 80c601c: f000 fcac bl 80c6978 break; 80c6020: bf00 nop } return ret; 80c6022: 7bfb ldrb r3, [r7, #15] } 80c6024: 4618 mov r0, r3 80c6026: 3710 adds r7, #16 80c6028: 46bd mov sp, r7 80c602a: bd80 pop {r7, pc} 080c602c : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdEPReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c602c: b580 push {r7, lr} 80c602e: b084 sub sp, #16 80c6030: af00 add r7, sp, #0 80c6032: 6078 str r0, [r7, #4] 80c6034: 6039 str r1, [r7, #0] USBD_EndpointTypeDef *pep; uint8_t ep_addr; USBD_StatusTypeDef ret = USBD_OK; 80c6036: 2300 movs r3, #0 80c6038: 73fb strb r3, [r7, #15] ep_addr = LOBYTE(req->wIndex); 80c603a: 683b ldr r3, [r7, #0] 80c603c: 889b ldrh r3, [r3, #4] 80c603e: 73bb strb r3, [r7, #14] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c6040: 683b ldr r3, [r7, #0] 80c6042: 781b ldrb r3, [r3, #0] 80c6044: f003 0360 and.w r3, r3, #96 ; 0x60 80c6048: 2b20 cmp r3, #32 80c604a: d004 beq.n 80c6056 80c604c: 2b40 cmp r3, #64 ; 0x40 80c604e: d002 beq.n 80c6056 80c6050: 2b00 cmp r3, #0 80c6052: d00a beq.n 80c606a 80c6054: e135 b.n 80c62c2 { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c6056: 687b ldr r3, [r7, #4] 80c6058: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c605c: 689b ldr r3, [r3, #8] 80c605e: 6839 ldr r1, [r7, #0] 80c6060: 6878 ldr r0, [r7, #4] 80c6062: 4798 blx r3 80c6064: 4603 mov r3, r0 80c6066: 73fb strb r3, [r7, #15] break; 80c6068: e130 b.n 80c62cc case USB_REQ_TYPE_STANDARD: switch (req->bRequest) 80c606a: 683b ldr r3, [r7, #0] 80c606c: 785b ldrb r3, [r3, #1] 80c606e: 2b01 cmp r3, #1 80c6070: d03e beq.n 80c60f0 80c6072: 2b03 cmp r3, #3 80c6074: d002 beq.n 80c607c 80c6076: 2b00 cmp r3, #0 80c6078: d077 beq.n 80c616a 80c607a: e11c b.n 80c62b6 { case USB_REQ_SET_FEATURE: switch (pdev->dev_state) 80c607c: 687b ldr r3, [r7, #4] 80c607e: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c6082: 2b02 cmp r3, #2 80c6084: d002 beq.n 80c608c 80c6086: 2b03 cmp r3, #3 80c6088: d015 beq.n 80c60b6 80c608a: e02b b.n 80c60e4 { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 80c608c: 7bbb ldrb r3, [r7, #14] 80c608e: 2b00 cmp r3, #0 80c6090: d00c beq.n 80c60ac 80c6092: 7bbb ldrb r3, [r7, #14] 80c6094: 2b80 cmp r3, #128 ; 0x80 80c6096: d009 beq.n 80c60ac { (void)USBD_LL_StallEP(pdev, ep_addr); 80c6098: 7bbb ldrb r3, [r7, #14] 80c609a: 4619 mov r1, r3 80c609c: 6878 ldr r0, [r7, #4] 80c609e: f007 fe52 bl 80cdd46 (void)USBD_LL_StallEP(pdev, 0x80U); 80c60a2: 2180 movs r1, #128 ; 0x80 80c60a4: 6878 ldr r0, [r7, #4] 80c60a6: f007 fe4e bl 80cdd46 } else { USBD_CtlError(pdev, req); } break; 80c60aa: e020 b.n 80c60ee USBD_CtlError(pdev, req); 80c60ac: 6839 ldr r1, [r7, #0] 80c60ae: 6878 ldr r0, [r7, #4] 80c60b0: f000 fc62 bl 80c6978 break; 80c60b4: e01b b.n 80c60ee case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_EP_HALT) 80c60b6: 683b ldr r3, [r7, #0] 80c60b8: 885b ldrh r3, [r3, #2] 80c60ba: 2b00 cmp r3, #0 80c60bc: d10e bne.n 80c60dc { if ((ep_addr != 0x00U) && (ep_addr != 0x80U) && (req->wLength == 0x00U)) 80c60be: 7bbb ldrb r3, [r7, #14] 80c60c0: 2b00 cmp r3, #0 80c60c2: d00b beq.n 80c60dc 80c60c4: 7bbb ldrb r3, [r7, #14] 80c60c6: 2b80 cmp r3, #128 ; 0x80 80c60c8: d008 beq.n 80c60dc 80c60ca: 683b ldr r3, [r7, #0] 80c60cc: 88db ldrh r3, [r3, #6] 80c60ce: 2b00 cmp r3, #0 80c60d0: d104 bne.n 80c60dc { (void)USBD_LL_StallEP(pdev, ep_addr); 80c60d2: 7bbb ldrb r3, [r7, #14] 80c60d4: 4619 mov r1, r3 80c60d6: 6878 ldr r0, [r7, #4] 80c60d8: f007 fe35 bl 80cdd46 } } (void)USBD_CtlSendStatus(pdev); 80c60dc: 6878 ldr r0, [r7, #4] 80c60de: f000 fcf9 bl 80c6ad4 break; 80c60e2: e004 b.n 80c60ee default: USBD_CtlError(pdev, req); 80c60e4: 6839 ldr r1, [r7, #0] 80c60e6: 6878 ldr r0, [r7, #4] 80c60e8: f000 fc46 bl 80c6978 break; 80c60ec: bf00 nop } break; 80c60ee: e0e7 b.n 80c62c0 case USB_REQ_CLEAR_FEATURE: switch (pdev->dev_state) 80c60f0: 687b ldr r3, [r7, #4] 80c60f2: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c60f6: 2b02 cmp r3, #2 80c60f8: d002 beq.n 80c6100 80c60fa: 2b03 cmp r3, #3 80c60fc: d015 beq.n 80c612a 80c60fe: e02d b.n 80c615c { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 80c6100: 7bbb ldrb r3, [r7, #14] 80c6102: 2b00 cmp r3, #0 80c6104: d00c beq.n 80c6120 80c6106: 7bbb ldrb r3, [r7, #14] 80c6108: 2b80 cmp r3, #128 ; 0x80 80c610a: d009 beq.n 80c6120 { (void)USBD_LL_StallEP(pdev, ep_addr); 80c610c: 7bbb ldrb r3, [r7, #14] 80c610e: 4619 mov r1, r3 80c6110: 6878 ldr r0, [r7, #4] 80c6112: f007 fe18 bl 80cdd46 (void)USBD_LL_StallEP(pdev, 0x80U); 80c6116: 2180 movs r1, #128 ; 0x80 80c6118: 6878 ldr r0, [r7, #4] 80c611a: f007 fe14 bl 80cdd46 } else { USBD_CtlError(pdev, req); } break; 80c611e: e023 b.n 80c6168 USBD_CtlError(pdev, req); 80c6120: 6839 ldr r1, [r7, #0] 80c6122: 6878 ldr r0, [r7, #4] 80c6124: f000 fc28 bl 80c6978 break; 80c6128: e01e b.n 80c6168 case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_EP_HALT) 80c612a: 683b ldr r3, [r7, #0] 80c612c: 885b ldrh r3, [r3, #2] 80c612e: 2b00 cmp r3, #0 80c6130: d119 bne.n 80c6166 { if ((ep_addr & 0x7FU) != 0x00U) 80c6132: 7bbb ldrb r3, [r7, #14] 80c6134: f003 037f and.w r3, r3, #127 ; 0x7f 80c6138: 2b00 cmp r3, #0 80c613a: d004 beq.n 80c6146 { (void)USBD_LL_ClearStallEP(pdev, ep_addr); 80c613c: 7bbb ldrb r3, [r7, #14] 80c613e: 4619 mov r1, r3 80c6140: 6878 ldr r0, [r7, #4] 80c6142: f007 fe1f bl 80cdd84 } (void)USBD_CtlSendStatus(pdev); 80c6146: 6878 ldr r0, [r7, #4] 80c6148: f000 fcc4 bl 80c6ad4 (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c614c: 687b ldr r3, [r7, #4] 80c614e: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6152: 689b ldr r3, [r3, #8] 80c6154: 6839 ldr r1, [r7, #0] 80c6156: 6878 ldr r0, [r7, #4] 80c6158: 4798 blx r3 } break; 80c615a: e004 b.n 80c6166 default: USBD_CtlError(pdev, req); 80c615c: 6839 ldr r1, [r7, #0] 80c615e: 6878 ldr r0, [r7, #4] 80c6160: f000 fc0a bl 80c6978 break; 80c6164: e000 b.n 80c6168 break; 80c6166: bf00 nop } break; 80c6168: e0aa b.n 80c62c0 case USB_REQ_GET_STATUS: switch (pdev->dev_state) 80c616a: 687b ldr r3, [r7, #4] 80c616c: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c6170: 2b02 cmp r3, #2 80c6172: d002 beq.n 80c617a 80c6174: 2b03 cmp r3, #3 80c6176: d032 beq.n 80c61de 80c6178: e097 b.n 80c62aa { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 80c617a: 7bbb ldrb r3, [r7, #14] 80c617c: 2b00 cmp r3, #0 80c617e: d007 beq.n 80c6190 80c6180: 7bbb ldrb r3, [r7, #14] 80c6182: 2b80 cmp r3, #128 ; 0x80 80c6184: d004 beq.n 80c6190 { USBD_CtlError(pdev, req); 80c6186: 6839 ldr r1, [r7, #0] 80c6188: 6878 ldr r0, [r7, #4] 80c618a: f000 fbf5 bl 80c6978 break; 80c618e: e091 b.n 80c62b4 } pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c6190: f997 300e ldrsb.w r3, [r7, #14] 80c6194: 2b00 cmp r3, #0 80c6196: da0b bge.n 80c61b0 80c6198: 7bbb ldrb r3, [r7, #14] 80c619a: f003 027f and.w r2, r3, #127 ; 0x7f 80c619e: 4613 mov r3, r2 80c61a0: 009b lsls r3, r3, #2 80c61a2: 4413 add r3, r2 80c61a4: 009b lsls r3, r3, #2 80c61a6: 3310 adds r3, #16 80c61a8: 687a ldr r2, [r7, #4] 80c61aa: 4413 add r3, r2 80c61ac: 3304 adds r3, #4 80c61ae: e00b b.n 80c61c8 &pdev->ep_out[ep_addr & 0x7FU]; 80c61b0: 7bbb ldrb r3, [r7, #14] 80c61b2: f003 027f and.w r2, r3, #127 ; 0x7f pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c61b6: 4613 mov r3, r2 80c61b8: 009b lsls r3, r3, #2 80c61ba: 4413 add r3, r2 80c61bc: 009b lsls r3, r3, #2 80c61be: f503 73a8 add.w r3, r3, #336 ; 0x150 80c61c2: 687a ldr r2, [r7, #4] 80c61c4: 4413 add r3, r2 80c61c6: 3304 adds r3, #4 80c61c8: 60bb str r3, [r7, #8] pep->status = 0x0000U; 80c61ca: 68bb ldr r3, [r7, #8] 80c61cc: 2200 movs r2, #0 80c61ce: 601a str r2, [r3, #0] (void)USBD_CtlSendData(pdev, (uint8_t *)&pep->status, 2U); 80c61d0: 68bb ldr r3, [r7, #8] 80c61d2: 2202 movs r2, #2 80c61d4: 4619 mov r1, r3 80c61d6: 6878 ldr r0, [r7, #4] 80c61d8: f000 fc3f bl 80c6a5a break; 80c61dc: e06a b.n 80c62b4 case USBD_STATE_CONFIGURED: if ((ep_addr & 0x80U) == 0x80U) 80c61de: f997 300e ldrsb.w r3, [r7, #14] 80c61e2: 2b00 cmp r3, #0 80c61e4: da11 bge.n 80c620a { if (pdev->ep_in[ep_addr & 0xFU].is_used == 0U) 80c61e6: 7bbb ldrb r3, [r7, #14] 80c61e8: f003 020f and.w r2, r3, #15 80c61ec: 6879 ldr r1, [r7, #4] 80c61ee: 4613 mov r3, r2 80c61f0: 009b lsls r3, r3, #2 80c61f2: 4413 add r3, r2 80c61f4: 009b lsls r3, r3, #2 80c61f6: 440b add r3, r1 80c61f8: 3324 adds r3, #36 ; 0x24 80c61fa: 881b ldrh r3, [r3, #0] 80c61fc: 2b00 cmp r3, #0 80c61fe: d117 bne.n 80c6230 { USBD_CtlError(pdev, req); 80c6200: 6839 ldr r1, [r7, #0] 80c6202: 6878 ldr r0, [r7, #4] 80c6204: f000 fbb8 bl 80c6978 break; 80c6208: e054 b.n 80c62b4 } } else { if (pdev->ep_out[ep_addr & 0xFU].is_used == 0U) 80c620a: 7bbb ldrb r3, [r7, #14] 80c620c: f003 020f and.w r2, r3, #15 80c6210: 6879 ldr r1, [r7, #4] 80c6212: 4613 mov r3, r2 80c6214: 009b lsls r3, r3, #2 80c6216: 4413 add r3, r2 80c6218: 009b lsls r3, r3, #2 80c621a: 440b add r3, r1 80c621c: f503 73b2 add.w r3, r3, #356 ; 0x164 80c6220: 881b ldrh r3, [r3, #0] 80c6222: 2b00 cmp r3, #0 80c6224: d104 bne.n 80c6230 { USBD_CtlError(pdev, req); 80c6226: 6839 ldr r1, [r7, #0] 80c6228: 6878 ldr r0, [r7, #4] 80c622a: f000 fba5 bl 80c6978 break; 80c622e: e041 b.n 80c62b4 } } pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c6230: f997 300e ldrsb.w r3, [r7, #14] 80c6234: 2b00 cmp r3, #0 80c6236: da0b bge.n 80c6250 80c6238: 7bbb ldrb r3, [r7, #14] 80c623a: f003 027f and.w r2, r3, #127 ; 0x7f 80c623e: 4613 mov r3, r2 80c6240: 009b lsls r3, r3, #2 80c6242: 4413 add r3, r2 80c6244: 009b lsls r3, r3, #2 80c6246: 3310 adds r3, #16 80c6248: 687a ldr r2, [r7, #4] 80c624a: 4413 add r3, r2 80c624c: 3304 adds r3, #4 80c624e: e00b b.n 80c6268 &pdev->ep_out[ep_addr & 0x7FU]; 80c6250: 7bbb ldrb r3, [r7, #14] 80c6252: f003 027f and.w r2, r3, #127 ; 0x7f pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c6256: 4613 mov r3, r2 80c6258: 009b lsls r3, r3, #2 80c625a: 4413 add r3, r2 80c625c: 009b lsls r3, r3, #2 80c625e: f503 73a8 add.w r3, r3, #336 ; 0x150 80c6262: 687a ldr r2, [r7, #4] 80c6264: 4413 add r3, r2 80c6266: 3304 adds r3, #4 80c6268: 60bb str r3, [r7, #8] if ((ep_addr == 0x00U) || (ep_addr == 0x80U)) 80c626a: 7bbb ldrb r3, [r7, #14] 80c626c: 2b00 cmp r3, #0 80c626e: d002 beq.n 80c6276 80c6270: 7bbb ldrb r3, [r7, #14] 80c6272: 2b80 cmp r3, #128 ; 0x80 80c6274: d103 bne.n 80c627e { pep->status = 0x0000U; 80c6276: 68bb ldr r3, [r7, #8] 80c6278: 2200 movs r2, #0 80c627a: 601a str r2, [r3, #0] 80c627c: e00e b.n 80c629c } else if (USBD_LL_IsStallEP(pdev, ep_addr) != 0U) 80c627e: 7bbb ldrb r3, [r7, #14] 80c6280: 4619 mov r1, r3 80c6282: 6878 ldr r0, [r7, #4] 80c6284: f007 fd9d bl 80cddc2 80c6288: 4603 mov r3, r0 80c628a: 2b00 cmp r3, #0 80c628c: d003 beq.n 80c6296 { pep->status = 0x0001U; 80c628e: 68bb ldr r3, [r7, #8] 80c6290: 2201 movs r2, #1 80c6292: 601a str r2, [r3, #0] 80c6294: e002 b.n 80c629c } else { pep->status = 0x0000U; 80c6296: 68bb ldr r3, [r7, #8] 80c6298: 2200 movs r2, #0 80c629a: 601a str r2, [r3, #0] } (void)USBD_CtlSendData(pdev, (uint8_t *)&pep->status, 2U); 80c629c: 68bb ldr r3, [r7, #8] 80c629e: 2202 movs r2, #2 80c62a0: 4619 mov r1, r3 80c62a2: 6878 ldr r0, [r7, #4] 80c62a4: f000 fbd9 bl 80c6a5a break; 80c62a8: e004 b.n 80c62b4 default: USBD_CtlError(pdev, req); 80c62aa: 6839 ldr r1, [r7, #0] 80c62ac: 6878 ldr r0, [r7, #4] 80c62ae: f000 fb63 bl 80c6978 break; 80c62b2: bf00 nop } break; 80c62b4: e004 b.n 80c62c0 default: USBD_CtlError(pdev, req); 80c62b6: 6839 ldr r1, [r7, #0] 80c62b8: 6878 ldr r0, [r7, #4] 80c62ba: f000 fb5d bl 80c6978 break; 80c62be: bf00 nop } break; 80c62c0: e004 b.n 80c62cc default: USBD_CtlError(pdev, req); 80c62c2: 6839 ldr r1, [r7, #0] 80c62c4: 6878 ldr r0, [r7, #4] 80c62c6: f000 fb57 bl 80c6978 break; 80c62ca: bf00 nop } return ret; 80c62cc: 7bfb ldrb r3, [r7, #15] } 80c62ce: 4618 mov r0, r3 80c62d0: 3710 adds r7, #16 80c62d2: 46bd mov sp, r7 80c62d4: bd80 pop {r7, pc} ... 080c62d8 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c62d8: b580 push {r7, lr} 80c62da: b084 sub sp, #16 80c62dc: af00 add r7, sp, #0 80c62de: 6078 str r0, [r7, #4] 80c62e0: 6039 str r1, [r7, #0] uint16_t len = 0U; 80c62e2: 2300 movs r3, #0 80c62e4: 813b strh r3, [r7, #8] uint8_t *pbuf = NULL; 80c62e6: 2300 movs r3, #0 80c62e8: 60fb str r3, [r7, #12] uint8_t err = 0U; 80c62ea: 2300 movs r3, #0 80c62ec: 72fb strb r3, [r7, #11] switch (req->wValue >> 8) 80c62ee: 683b ldr r3, [r7, #0] 80c62f0: 885b ldrh r3, [r3, #2] 80c62f2: 0a1b lsrs r3, r3, #8 80c62f4: b29b uxth r3, r3 80c62f6: 3b01 subs r3, #1 80c62f8: 2b0e cmp r3, #14 80c62fa: f200 8152 bhi.w 80c65a2 80c62fe: a201 add r2, pc, #4 ; (adr r2, 80c6304 ) 80c6300: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c6304: 080c6375 .word 0x080c6375 80c6308: 080c638d .word 0x080c638d 80c630c: 080c63cd .word 0x080c63cd 80c6310: 080c65a3 .word 0x080c65a3 80c6314: 080c65a3 .word 0x080c65a3 80c6318: 080c6543 .word 0x080c6543 80c631c: 080c656f .word 0x080c656f 80c6320: 080c65a3 .word 0x080c65a3 80c6324: 080c65a3 .word 0x080c65a3 80c6328: 080c65a3 .word 0x080c65a3 80c632c: 080c65a3 .word 0x080c65a3 80c6330: 080c65a3 .word 0x080c65a3 80c6334: 080c65a3 .word 0x080c65a3 80c6338: 080c65a3 .word 0x080c65a3 80c633c: 080c6341 .word 0x080c6341 { #if ((USBD_LPM_ENABLED == 1U) || (USBD_CLASS_BOS_ENABLED == 1U)) case USB_DESC_TYPE_BOS: if (pdev->pDesc->GetBOSDescriptor != NULL) 80c6340: 687b ldr r3, [r7, #4] 80c6342: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c6346: 69db ldr r3, [r3, #28] 80c6348: 2b00 cmp r3, #0 80c634a: d00b beq.n 80c6364 { pbuf = pdev->pDesc->GetBOSDescriptor(pdev->dev_speed, &len); 80c634c: 687b ldr r3, [r7, #4] 80c634e: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c6352: 69db ldr r3, [r3, #28] 80c6354: 687a ldr r2, [r7, #4] 80c6356: 7c12 ldrb r2, [r2, #16] 80c6358: f107 0108 add.w r1, r7, #8 80c635c: 4610 mov r0, r2 80c635e: 4798 blx r3 80c6360: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c6362: e126 b.n 80c65b2 USBD_CtlError(pdev, req); 80c6364: 6839 ldr r1, [r7, #0] 80c6366: 6878 ldr r0, [r7, #4] 80c6368: f000 fb06 bl 80c6978 err++; 80c636c: 7afb ldrb r3, [r7, #11] 80c636e: 3301 adds r3, #1 80c6370: 72fb strb r3, [r7, #11] break; 80c6372: e11e b.n 80c65b2 #endif case USB_DESC_TYPE_DEVICE: pbuf = pdev->pDesc->GetDeviceDescriptor(pdev->dev_speed, &len); 80c6374: 687b ldr r3, [r7, #4] 80c6376: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c637a: 681b ldr r3, [r3, #0] 80c637c: 687a ldr r2, [r7, #4] 80c637e: 7c12 ldrb r2, [r2, #16] 80c6380: f107 0108 add.w r1, r7, #8 80c6384: 4610 mov r0, r2 80c6386: 4798 blx r3 80c6388: 60f8 str r0, [r7, #12] break; 80c638a: e112 b.n 80c65b2 case USB_DESC_TYPE_CONFIGURATION: if (pdev->dev_speed == USBD_SPEED_HIGH) 80c638c: 687b ldr r3, [r7, #4] 80c638e: 7c1b ldrb r3, [r3, #16] 80c6390: 2b00 cmp r3, #0 80c6392: d10d bne.n 80c63b0 { pbuf = pdev->pClass->GetHSConfigDescriptor(&len); 80c6394: 687b ldr r3, [r7, #4] 80c6396: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c639a: 6a9b ldr r3, [r3, #40] ; 0x28 80c639c: f107 0208 add.w r2, r7, #8 80c63a0: 4610 mov r0, r2 80c63a2: 4798 blx r3 80c63a4: 60f8 str r0, [r7, #12] pbuf[1] = USB_DESC_TYPE_CONFIGURATION; 80c63a6: 68fb ldr r3, [r7, #12] 80c63a8: 3301 adds r3, #1 80c63aa: 2202 movs r2, #2 80c63ac: 701a strb r2, [r3, #0] else { pbuf = pdev->pClass->GetFSConfigDescriptor(&len); pbuf[1] = USB_DESC_TYPE_CONFIGURATION; } break; 80c63ae: e100 b.n 80c65b2 pbuf = pdev->pClass->GetFSConfigDescriptor(&len); 80c63b0: 687b ldr r3, [r7, #4] 80c63b2: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c63b6: 6adb ldr r3, [r3, #44] ; 0x2c 80c63b8: f107 0208 add.w r2, r7, #8 80c63bc: 4610 mov r0, r2 80c63be: 4798 blx r3 80c63c0: 60f8 str r0, [r7, #12] pbuf[1] = USB_DESC_TYPE_CONFIGURATION; 80c63c2: 68fb ldr r3, [r7, #12] 80c63c4: 3301 adds r3, #1 80c63c6: 2202 movs r2, #2 80c63c8: 701a strb r2, [r3, #0] break; 80c63ca: e0f2 b.n 80c65b2 case USB_DESC_TYPE_STRING: switch ((uint8_t)(req->wValue)) 80c63cc: 683b ldr r3, [r7, #0] 80c63ce: 885b ldrh r3, [r3, #2] 80c63d0: b2db uxtb r3, r3 80c63d2: 2b05 cmp r3, #5 80c63d4: f200 80ac bhi.w 80c6530 80c63d8: a201 add r2, pc, #4 ; (adr r2, 80c63e0 ) 80c63da: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c63de: bf00 nop 80c63e0: 080c63f9 .word 0x080c63f9 80c63e4: 080c642d .word 0x080c642d 80c63e8: 080c6461 .word 0x080c6461 80c63ec: 080c6495 .word 0x080c6495 80c63f0: 080c64c9 .word 0x080c64c9 80c63f4: 080c64fd .word 0x080c64fd { case USBD_IDX_LANGID_STR: if (pdev->pDesc->GetLangIDStrDescriptor != NULL) 80c63f8: 687b ldr r3, [r7, #4] 80c63fa: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c63fe: 685b ldr r3, [r3, #4] 80c6400: 2b00 cmp r3, #0 80c6402: d00b beq.n 80c641c { pbuf = pdev->pDesc->GetLangIDStrDescriptor(pdev->dev_speed, &len); 80c6404: 687b ldr r3, [r7, #4] 80c6406: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c640a: 685b ldr r3, [r3, #4] 80c640c: 687a ldr r2, [r7, #4] 80c640e: 7c12 ldrb r2, [r2, #16] 80c6410: f107 0108 add.w r1, r7, #8 80c6414: 4610 mov r0, r2 80c6416: 4798 blx r3 80c6418: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c641a: e091 b.n 80c6540 USBD_CtlError(pdev, req); 80c641c: 6839 ldr r1, [r7, #0] 80c641e: 6878 ldr r0, [r7, #4] 80c6420: f000 faaa bl 80c6978 err++; 80c6424: 7afb ldrb r3, [r7, #11] 80c6426: 3301 adds r3, #1 80c6428: 72fb strb r3, [r7, #11] break; 80c642a: e089 b.n 80c6540 case USBD_IDX_MFC_STR: if (pdev->pDesc->GetManufacturerStrDescriptor != NULL) 80c642c: 687b ldr r3, [r7, #4] 80c642e: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c6432: 689b ldr r3, [r3, #8] 80c6434: 2b00 cmp r3, #0 80c6436: d00b beq.n 80c6450 { pbuf = pdev->pDesc->GetManufacturerStrDescriptor(pdev->dev_speed, &len); 80c6438: 687b ldr r3, [r7, #4] 80c643a: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c643e: 689b ldr r3, [r3, #8] 80c6440: 687a ldr r2, [r7, #4] 80c6442: 7c12 ldrb r2, [r2, #16] 80c6444: f107 0108 add.w r1, r7, #8 80c6448: 4610 mov r0, r2 80c644a: 4798 blx r3 80c644c: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c644e: e077 b.n 80c6540 USBD_CtlError(pdev, req); 80c6450: 6839 ldr r1, [r7, #0] 80c6452: 6878 ldr r0, [r7, #4] 80c6454: f000 fa90 bl 80c6978 err++; 80c6458: 7afb ldrb r3, [r7, #11] 80c645a: 3301 adds r3, #1 80c645c: 72fb strb r3, [r7, #11] break; 80c645e: e06f b.n 80c6540 case USBD_IDX_PRODUCT_STR: if (pdev->pDesc->GetProductStrDescriptor != NULL) 80c6460: 687b ldr r3, [r7, #4] 80c6462: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c6466: 68db ldr r3, [r3, #12] 80c6468: 2b00 cmp r3, #0 80c646a: d00b beq.n 80c6484 { pbuf = pdev->pDesc->GetProductStrDescriptor(pdev->dev_speed, &len); 80c646c: 687b ldr r3, [r7, #4] 80c646e: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c6472: 68db ldr r3, [r3, #12] 80c6474: 687a ldr r2, [r7, #4] 80c6476: 7c12 ldrb r2, [r2, #16] 80c6478: f107 0108 add.w r1, r7, #8 80c647c: 4610 mov r0, r2 80c647e: 4798 blx r3 80c6480: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c6482: e05d b.n 80c6540 USBD_CtlError(pdev, req); 80c6484: 6839 ldr r1, [r7, #0] 80c6486: 6878 ldr r0, [r7, #4] 80c6488: f000 fa76 bl 80c6978 err++; 80c648c: 7afb ldrb r3, [r7, #11] 80c648e: 3301 adds r3, #1 80c6490: 72fb strb r3, [r7, #11] break; 80c6492: e055 b.n 80c6540 case USBD_IDX_SERIAL_STR: if (pdev->pDesc->GetSerialStrDescriptor != NULL) 80c6494: 687b ldr r3, [r7, #4] 80c6496: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c649a: 691b ldr r3, [r3, #16] 80c649c: 2b00 cmp r3, #0 80c649e: d00b beq.n 80c64b8 { pbuf = pdev->pDesc->GetSerialStrDescriptor(pdev->dev_speed, &len); 80c64a0: 687b ldr r3, [r7, #4] 80c64a2: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c64a6: 691b ldr r3, [r3, #16] 80c64a8: 687a ldr r2, [r7, #4] 80c64aa: 7c12 ldrb r2, [r2, #16] 80c64ac: f107 0108 add.w r1, r7, #8 80c64b0: 4610 mov r0, r2 80c64b2: 4798 blx r3 80c64b4: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c64b6: e043 b.n 80c6540 USBD_CtlError(pdev, req); 80c64b8: 6839 ldr r1, [r7, #0] 80c64ba: 6878 ldr r0, [r7, #4] 80c64bc: f000 fa5c bl 80c6978 err++; 80c64c0: 7afb ldrb r3, [r7, #11] 80c64c2: 3301 adds r3, #1 80c64c4: 72fb strb r3, [r7, #11] break; 80c64c6: e03b b.n 80c6540 case USBD_IDX_CONFIG_STR: if (pdev->pDesc->GetConfigurationStrDescriptor != NULL) 80c64c8: 687b ldr r3, [r7, #4] 80c64ca: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c64ce: 695b ldr r3, [r3, #20] 80c64d0: 2b00 cmp r3, #0 80c64d2: d00b beq.n 80c64ec { pbuf = pdev->pDesc->GetConfigurationStrDescriptor(pdev->dev_speed, &len); 80c64d4: 687b ldr r3, [r7, #4] 80c64d6: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c64da: 695b ldr r3, [r3, #20] 80c64dc: 687a ldr r2, [r7, #4] 80c64de: 7c12 ldrb r2, [r2, #16] 80c64e0: f107 0108 add.w r1, r7, #8 80c64e4: 4610 mov r0, r2 80c64e6: 4798 blx r3 80c64e8: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c64ea: e029 b.n 80c6540 USBD_CtlError(pdev, req); 80c64ec: 6839 ldr r1, [r7, #0] 80c64ee: 6878 ldr r0, [r7, #4] 80c64f0: f000 fa42 bl 80c6978 err++; 80c64f4: 7afb ldrb r3, [r7, #11] 80c64f6: 3301 adds r3, #1 80c64f8: 72fb strb r3, [r7, #11] break; 80c64fa: e021 b.n 80c6540 case USBD_IDX_INTERFACE_STR: if (pdev->pDesc->GetInterfaceStrDescriptor != NULL) 80c64fc: 687b ldr r3, [r7, #4] 80c64fe: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c6502: 699b ldr r3, [r3, #24] 80c6504: 2b00 cmp r3, #0 80c6506: d00b beq.n 80c6520 { pbuf = pdev->pDesc->GetInterfaceStrDescriptor(pdev->dev_speed, &len); 80c6508: 687b ldr r3, [r7, #4] 80c650a: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c650e: 699b ldr r3, [r3, #24] 80c6510: 687a ldr r2, [r7, #4] 80c6512: 7c12 ldrb r2, [r2, #16] 80c6514: f107 0108 add.w r1, r7, #8 80c6518: 4610 mov r0, r2 80c651a: 4798 blx r3 80c651c: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c651e: e00f b.n 80c6540 USBD_CtlError(pdev, req); 80c6520: 6839 ldr r1, [r7, #0] 80c6522: 6878 ldr r0, [r7, #4] 80c6524: f000 fa28 bl 80c6978 err++; 80c6528: 7afb ldrb r3, [r7, #11] 80c652a: 3301 adds r3, #1 80c652c: 72fb strb r3, [r7, #11] break; 80c652e: e007 b.n 80c6540 { USBD_CtlError(pdev, req); err++; } #else USBD_CtlError(pdev, req); 80c6530: 6839 ldr r1, [r7, #0] 80c6532: 6878 ldr r0, [r7, #4] 80c6534: f000 fa20 bl 80c6978 err++; 80c6538: 7afb ldrb r3, [r7, #11] 80c653a: 3301 adds r3, #1 80c653c: 72fb strb r3, [r7, #11] #endif break; 80c653e: bf00 nop } break; 80c6540: e037 b.n 80c65b2 case USB_DESC_TYPE_DEVICE_QUALIFIER: if (pdev->dev_speed == USBD_SPEED_HIGH) 80c6542: 687b ldr r3, [r7, #4] 80c6544: 7c1b ldrb r3, [r3, #16] 80c6546: 2b00 cmp r3, #0 80c6548: d109 bne.n 80c655e { pbuf = pdev->pClass->GetDeviceQualifierDescriptor(&len); 80c654a: 687b ldr r3, [r7, #4] 80c654c: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c6550: 6b5b ldr r3, [r3, #52] ; 0x34 80c6552: f107 0208 add.w r2, r7, #8 80c6556: 4610 mov r0, r2 80c6558: 4798 blx r3 80c655a: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c655c: e029 b.n 80c65b2 USBD_CtlError(pdev, req); 80c655e: 6839 ldr r1, [r7, #0] 80c6560: 6878 ldr r0, [r7, #4] 80c6562: f000 fa09 bl 80c6978 err++; 80c6566: 7afb ldrb r3, [r7, #11] 80c6568: 3301 adds r3, #1 80c656a: 72fb strb r3, [r7, #11] break; 80c656c: e021 b.n 80c65b2 case USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION: if (pdev->dev_speed == USBD_SPEED_HIGH) 80c656e: 687b ldr r3, [r7, #4] 80c6570: 7c1b ldrb r3, [r3, #16] 80c6572: 2b00 cmp r3, #0 80c6574: d10d bne.n 80c6592 { pbuf = pdev->pClass->GetOtherSpeedConfigDescriptor(&len); 80c6576: 687b ldr r3, [r7, #4] 80c6578: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c657c: 6b1b ldr r3, [r3, #48] ; 0x30 80c657e: f107 0208 add.w r2, r7, #8 80c6582: 4610 mov r0, r2 80c6584: 4798 blx r3 80c6586: 60f8 str r0, [r7, #12] pbuf[1] = USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION; 80c6588: 68fb ldr r3, [r7, #12] 80c658a: 3301 adds r3, #1 80c658c: 2207 movs r2, #7 80c658e: 701a strb r2, [r3, #0] else { USBD_CtlError(pdev, req); err++; } break; 80c6590: e00f b.n 80c65b2 USBD_CtlError(pdev, req); 80c6592: 6839 ldr r1, [r7, #0] 80c6594: 6878 ldr r0, [r7, #4] 80c6596: f000 f9ef bl 80c6978 err++; 80c659a: 7afb ldrb r3, [r7, #11] 80c659c: 3301 adds r3, #1 80c659e: 72fb strb r3, [r7, #11] break; 80c65a0: e007 b.n 80c65b2 default: USBD_CtlError(pdev, req); 80c65a2: 6839 ldr r1, [r7, #0] 80c65a4: 6878 ldr r0, [r7, #4] 80c65a6: f000 f9e7 bl 80c6978 err++; 80c65aa: 7afb ldrb r3, [r7, #11] 80c65ac: 3301 adds r3, #1 80c65ae: 72fb strb r3, [r7, #11] break; 80c65b0: bf00 nop } if (err != 0U) 80c65b2: 7afb ldrb r3, [r7, #11] 80c65b4: 2b00 cmp r3, #0 80c65b6: d11e bne.n 80c65f6 { return; } else { if (req->wLength != 0U) 80c65b8: 683b ldr r3, [r7, #0] 80c65ba: 88db ldrh r3, [r3, #6] 80c65bc: 2b00 cmp r3, #0 80c65be: d016 beq.n 80c65ee { if (len != 0U) 80c65c0: 893b ldrh r3, [r7, #8] 80c65c2: 2b00 cmp r3, #0 80c65c4: d00e beq.n 80c65e4 { len = MIN(len, req->wLength); 80c65c6: 683b ldr r3, [r7, #0] 80c65c8: 88da ldrh r2, [r3, #6] 80c65ca: 893b ldrh r3, [r7, #8] 80c65cc: 4293 cmp r3, r2 80c65ce: bf28 it cs 80c65d0: 4613 movcs r3, r2 80c65d2: b29b uxth r3, r3 80c65d4: 813b strh r3, [r7, #8] (void)USBD_CtlSendData(pdev, pbuf, len); 80c65d6: 893b ldrh r3, [r7, #8] 80c65d8: 461a mov r2, r3 80c65da: 68f9 ldr r1, [r7, #12] 80c65dc: 6878 ldr r0, [r7, #4] 80c65de: f000 fa3c bl 80c6a5a 80c65e2: e009 b.n 80c65f8 } else { USBD_CtlError(pdev, req); 80c65e4: 6839 ldr r1, [r7, #0] 80c65e6: 6878 ldr r0, [r7, #4] 80c65e8: f000 f9c6 bl 80c6978 80c65ec: e004 b.n 80c65f8 } } else { (void)USBD_CtlSendStatus(pdev); 80c65ee: 6878 ldr r0, [r7, #4] 80c65f0: f000 fa70 bl 80c6ad4 80c65f4: e000 b.n 80c65f8 return; 80c65f6: bf00 nop } } } 80c65f8: 3710 adds r7, #16 80c65fa: 46bd mov sp, r7 80c65fc: bd80 pop {r7, pc} 80c65fe: bf00 nop 080c6600 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_SetAddress(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c6600: b580 push {r7, lr} 80c6602: b084 sub sp, #16 80c6604: af00 add r7, sp, #0 80c6606: 6078 str r0, [r7, #4] 80c6608: 6039 str r1, [r7, #0] uint8_t dev_addr; if ((req->wIndex == 0U) && (req->wLength == 0U) && (req->wValue < 128U)) 80c660a: 683b ldr r3, [r7, #0] 80c660c: 889b ldrh r3, [r3, #4] 80c660e: 2b00 cmp r3, #0 80c6610: d130 bne.n 80c6674 80c6612: 683b ldr r3, [r7, #0] 80c6614: 88db ldrh r3, [r3, #6] 80c6616: 2b00 cmp r3, #0 80c6618: d12c bne.n 80c6674 80c661a: 683b ldr r3, [r7, #0] 80c661c: 885b ldrh r3, [r3, #2] 80c661e: 2b7f cmp r3, #127 ; 0x7f 80c6620: d828 bhi.n 80c6674 { dev_addr = (uint8_t)(req->wValue) & 0x7FU; 80c6622: 683b ldr r3, [r7, #0] 80c6624: 885b ldrh r3, [r3, #2] 80c6626: b2db uxtb r3, r3 80c6628: f003 037f and.w r3, r3, #127 ; 0x7f 80c662c: 73fb strb r3, [r7, #15] if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c662e: 687b ldr r3, [r7, #4] 80c6630: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c6634: 2b03 cmp r3, #3 80c6636: d104 bne.n 80c6642 { USBD_CtlError(pdev, req); 80c6638: 6839 ldr r1, [r7, #0] 80c663a: 6878 ldr r0, [r7, #4] 80c663c: f000 f99c bl 80c6978 if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c6640: e01c b.n 80c667c } else { pdev->dev_address = dev_addr; 80c6642: 687b ldr r3, [r7, #4] 80c6644: 7bfa ldrb r2, [r7, #15] 80c6646: f883 229e strb.w r2, [r3, #670] ; 0x29e (void)USBD_LL_SetUSBAddress(pdev, dev_addr); 80c664a: 7bfb ldrb r3, [r7, #15] 80c664c: 4619 mov r1, r3 80c664e: 6878 ldr r0, [r7, #4] 80c6650: f007 fbe3 bl 80cde1a (void)USBD_CtlSendStatus(pdev); 80c6654: 6878 ldr r0, [r7, #4] 80c6656: f000 fa3d bl 80c6ad4 if (dev_addr != 0U) 80c665a: 7bfb ldrb r3, [r7, #15] 80c665c: 2b00 cmp r3, #0 80c665e: d004 beq.n 80c666a { pdev->dev_state = USBD_STATE_ADDRESSED; 80c6660: 687b ldr r3, [r7, #4] 80c6662: 2202 movs r2, #2 80c6664: f883 229c strb.w r2, [r3, #668] ; 0x29c if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c6668: e008 b.n 80c667c } else { pdev->dev_state = USBD_STATE_DEFAULT; 80c666a: 687b ldr r3, [r7, #4] 80c666c: 2201 movs r2, #1 80c666e: f883 229c strb.w r2, [r3, #668] ; 0x29c if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c6672: e003 b.n 80c667c } } } else { USBD_CtlError(pdev, req); 80c6674: 6839 ldr r1, [r7, #0] 80c6676: 6878 ldr r0, [r7, #4] 80c6678: f000 f97e bl 80c6978 } } 80c667c: bf00 nop 80c667e: 3710 adds r7, #16 80c6680: 46bd mov sp, r7 80c6682: bd80 pop {r7, pc} 080c6684 : * @param pdev: device instance * @param req: usb request * @retval status */ static USBD_StatusTypeDef USBD_SetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c6684: b580 push {r7, lr} 80c6686: b084 sub sp, #16 80c6688: af00 add r7, sp, #0 80c668a: 6078 str r0, [r7, #4] 80c668c: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; 80c668e: 2300 movs r3, #0 80c6690: 73fb strb r3, [r7, #15] static uint8_t cfgidx; cfgidx = (uint8_t)(req->wValue); 80c6692: 683b ldr r3, [r7, #0] 80c6694: 885b ldrh r3, [r3, #2] 80c6696: b2da uxtb r2, r3 80c6698: 4b4b ldr r3, [pc, #300] ; (80c67c8 ) 80c669a: 701a strb r2, [r3, #0] if (cfgidx > USBD_MAX_NUM_CONFIGURATION) 80c669c: 4b4a ldr r3, [pc, #296] ; (80c67c8 ) 80c669e: 781b ldrb r3, [r3, #0] 80c66a0: 2b01 cmp r3, #1 80c66a2: d905 bls.n 80c66b0 { USBD_CtlError(pdev, req); 80c66a4: 6839 ldr r1, [r7, #0] 80c66a6: 6878 ldr r0, [r7, #4] 80c66a8: f000 f966 bl 80c6978 return USBD_FAIL; 80c66ac: 2303 movs r3, #3 80c66ae: e087 b.n 80c67c0 } switch (pdev->dev_state) 80c66b0: 687b ldr r3, [r7, #4] 80c66b2: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c66b6: 2b02 cmp r3, #2 80c66b8: d002 beq.n 80c66c0 80c66ba: 2b03 cmp r3, #3 80c66bc: d025 beq.n 80c670a 80c66be: e071 b.n 80c67a4 { case USBD_STATE_ADDRESSED: if (cfgidx != 0U) 80c66c0: 4b41 ldr r3, [pc, #260] ; (80c67c8 ) 80c66c2: 781b ldrb r3, [r3, #0] 80c66c4: 2b00 cmp r3, #0 80c66c6: d01c beq.n 80c6702 { pdev->dev_config = cfgidx; 80c66c8: 4b3f ldr r3, [pc, #252] ; (80c67c8 ) 80c66ca: 781b ldrb r3, [r3, #0] 80c66cc: 461a mov r2, r3 80c66ce: 687b ldr r3, [r7, #4] 80c66d0: 605a str r2, [r3, #4] ret = USBD_SetClassConfig(pdev, cfgidx); 80c66d2: 4b3d ldr r3, [pc, #244] ; (80c67c8 ) 80c66d4: 781b ldrb r3, [r3, #0] 80c66d6: 4619 mov r1, r3 80c66d8: 6878 ldr r0, [r7, #4] 80c66da: f7ff f97e bl 80c59da 80c66de: 4603 mov r3, r0 80c66e0: 73fb strb r3, [r7, #15] if (ret != USBD_OK) 80c66e2: 7bfb ldrb r3, [r7, #15] 80c66e4: 2b00 cmp r3, #0 80c66e6: d004 beq.n 80c66f2 { USBD_CtlError(pdev, req); 80c66e8: 6839 ldr r1, [r7, #0] 80c66ea: 6878 ldr r0, [r7, #4] 80c66ec: f000 f944 bl 80c6978 } else { (void)USBD_CtlSendStatus(pdev); } break; 80c66f0: e065 b.n 80c67be (void)USBD_CtlSendStatus(pdev); 80c66f2: 6878 ldr r0, [r7, #4] 80c66f4: f000 f9ee bl 80c6ad4 pdev->dev_state = USBD_STATE_CONFIGURED; 80c66f8: 687b ldr r3, [r7, #4] 80c66fa: 2203 movs r2, #3 80c66fc: f883 229c strb.w r2, [r3, #668] ; 0x29c break; 80c6700: e05d b.n 80c67be (void)USBD_CtlSendStatus(pdev); 80c6702: 6878 ldr r0, [r7, #4] 80c6704: f000 f9e6 bl 80c6ad4 break; 80c6708: e059 b.n 80c67be case USBD_STATE_CONFIGURED: if (cfgidx == 0U) 80c670a: 4b2f ldr r3, [pc, #188] ; (80c67c8 ) 80c670c: 781b ldrb r3, [r3, #0] 80c670e: 2b00 cmp r3, #0 80c6710: d112 bne.n 80c6738 { pdev->dev_state = USBD_STATE_ADDRESSED; 80c6712: 687b ldr r3, [r7, #4] 80c6714: 2202 movs r2, #2 80c6716: f883 229c strb.w r2, [r3, #668] ; 0x29c pdev->dev_config = cfgidx; 80c671a: 4b2b ldr r3, [pc, #172] ; (80c67c8 ) 80c671c: 781b ldrb r3, [r3, #0] 80c671e: 461a mov r2, r3 80c6720: 687b ldr r3, [r7, #4] 80c6722: 605a str r2, [r3, #4] (void)USBD_ClrClassConfig(pdev, cfgidx); 80c6724: 4b28 ldr r3, [pc, #160] ; (80c67c8 ) 80c6726: 781b ldrb r3, [r3, #0] 80c6728: 4619 mov r1, r3 80c672a: 6878 ldr r0, [r7, #4] 80c672c: f7ff f971 bl 80c5a12 (void)USBD_CtlSendStatus(pdev); 80c6730: 6878 ldr r0, [r7, #4] 80c6732: f000 f9cf bl 80c6ad4 } else { (void)USBD_CtlSendStatus(pdev); } break; 80c6736: e042 b.n 80c67be else if (cfgidx != pdev->dev_config) 80c6738: 4b23 ldr r3, [pc, #140] ; (80c67c8 ) 80c673a: 781b ldrb r3, [r3, #0] 80c673c: 461a mov r2, r3 80c673e: 687b ldr r3, [r7, #4] 80c6740: 685b ldr r3, [r3, #4] 80c6742: 429a cmp r2, r3 80c6744: d02a beq.n 80c679c (void)USBD_ClrClassConfig(pdev, (uint8_t)pdev->dev_config); 80c6746: 687b ldr r3, [r7, #4] 80c6748: 685b ldr r3, [r3, #4] 80c674a: b2db uxtb r3, r3 80c674c: 4619 mov r1, r3 80c674e: 6878 ldr r0, [r7, #4] 80c6750: f7ff f95f bl 80c5a12 pdev->dev_config = cfgidx; 80c6754: 4b1c ldr r3, [pc, #112] ; (80c67c8 ) 80c6756: 781b ldrb r3, [r3, #0] 80c6758: 461a mov r2, r3 80c675a: 687b ldr r3, [r7, #4] 80c675c: 605a str r2, [r3, #4] ret = USBD_SetClassConfig(pdev, cfgidx); 80c675e: 4b1a ldr r3, [pc, #104] ; (80c67c8 ) 80c6760: 781b ldrb r3, [r3, #0] 80c6762: 4619 mov r1, r3 80c6764: 6878 ldr r0, [r7, #4] 80c6766: f7ff f938 bl 80c59da 80c676a: 4603 mov r3, r0 80c676c: 73fb strb r3, [r7, #15] if (ret != USBD_OK) 80c676e: 7bfb ldrb r3, [r7, #15] 80c6770: 2b00 cmp r3, #0 80c6772: d00f beq.n 80c6794 USBD_CtlError(pdev, req); 80c6774: 6839 ldr r1, [r7, #0] 80c6776: 6878 ldr r0, [r7, #4] 80c6778: f000 f8fe bl 80c6978 (void)USBD_ClrClassConfig(pdev, (uint8_t)pdev->dev_config); 80c677c: 687b ldr r3, [r7, #4] 80c677e: 685b ldr r3, [r3, #4] 80c6780: b2db uxtb r3, r3 80c6782: 4619 mov r1, r3 80c6784: 6878 ldr r0, [r7, #4] 80c6786: f7ff f944 bl 80c5a12 pdev->dev_state = USBD_STATE_ADDRESSED; 80c678a: 687b ldr r3, [r7, #4] 80c678c: 2202 movs r2, #2 80c678e: f883 229c strb.w r2, [r3, #668] ; 0x29c break; 80c6792: e014 b.n 80c67be (void)USBD_CtlSendStatus(pdev); 80c6794: 6878 ldr r0, [r7, #4] 80c6796: f000 f99d bl 80c6ad4 break; 80c679a: e010 b.n 80c67be (void)USBD_CtlSendStatus(pdev); 80c679c: 6878 ldr r0, [r7, #4] 80c679e: f000 f999 bl 80c6ad4 break; 80c67a2: e00c b.n 80c67be default: USBD_CtlError(pdev, req); 80c67a4: 6839 ldr r1, [r7, #0] 80c67a6: 6878 ldr r0, [r7, #4] 80c67a8: f000 f8e6 bl 80c6978 (void)USBD_ClrClassConfig(pdev, cfgidx); 80c67ac: 4b06 ldr r3, [pc, #24] ; (80c67c8 ) 80c67ae: 781b ldrb r3, [r3, #0] 80c67b0: 4619 mov r1, r3 80c67b2: 6878 ldr r0, [r7, #4] 80c67b4: f7ff f92d bl 80c5a12 ret = USBD_FAIL; 80c67b8: 2303 movs r3, #3 80c67ba: 73fb strb r3, [r7, #15] break; 80c67bc: bf00 nop } return ret; 80c67be: 7bfb ldrb r3, [r7, #15] } 80c67c0: 4618 mov r0, r3 80c67c2: 3710 adds r7, #16 80c67c4: 46bd mov sp, r7 80c67c6: bd80 pop {r7, pc} 80c67c8: 200216f0 .word 0x200216f0 080c67cc : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_GetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c67cc: b580 push {r7, lr} 80c67ce: b082 sub sp, #8 80c67d0: af00 add r7, sp, #0 80c67d2: 6078 str r0, [r7, #4] 80c67d4: 6039 str r1, [r7, #0] if (req->wLength != 1U) 80c67d6: 683b ldr r3, [r7, #0] 80c67d8: 88db ldrh r3, [r3, #6] 80c67da: 2b01 cmp r3, #1 80c67dc: d004 beq.n 80c67e8 { USBD_CtlError(pdev, req); 80c67de: 6839 ldr r1, [r7, #0] 80c67e0: 6878 ldr r0, [r7, #4] 80c67e2: f000 f8c9 bl 80c6978 default: USBD_CtlError(pdev, req); break; } } } 80c67e6: e021 b.n 80c682c switch (pdev->dev_state) 80c67e8: 687b ldr r3, [r7, #4] 80c67ea: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c67ee: 2b01 cmp r3, #1 80c67f0: db17 blt.n 80c6822 80c67f2: 2b02 cmp r3, #2 80c67f4: dd02 ble.n 80c67fc 80c67f6: 2b03 cmp r3, #3 80c67f8: d00b beq.n 80c6812 80c67fa: e012 b.n 80c6822 pdev->dev_default_config = 0U; 80c67fc: 687b ldr r3, [r7, #4] 80c67fe: 2200 movs r2, #0 80c6800: 609a str r2, [r3, #8] (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_default_config, 1U); 80c6802: 687b ldr r3, [r7, #4] 80c6804: 3308 adds r3, #8 80c6806: 2201 movs r2, #1 80c6808: 4619 mov r1, r3 80c680a: 6878 ldr r0, [r7, #4] 80c680c: f000 f925 bl 80c6a5a break; 80c6810: e00c b.n 80c682c (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_config, 1U); 80c6812: 687b ldr r3, [r7, #4] 80c6814: 3304 adds r3, #4 80c6816: 2201 movs r2, #1 80c6818: 4619 mov r1, r3 80c681a: 6878 ldr r0, [r7, #4] 80c681c: f000 f91d bl 80c6a5a break; 80c6820: e004 b.n 80c682c USBD_CtlError(pdev, req); 80c6822: 6839 ldr r1, [r7, #0] 80c6824: 6878 ldr r0, [r7, #4] 80c6826: f000 f8a7 bl 80c6978 break; 80c682a: bf00 nop } 80c682c: bf00 nop 80c682e: 3708 adds r7, #8 80c6830: 46bd mov sp, r7 80c6832: bd80 pop {r7, pc} 080c6834 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_GetStatus(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c6834: b580 push {r7, lr} 80c6836: b082 sub sp, #8 80c6838: af00 add r7, sp, #0 80c683a: 6078 str r0, [r7, #4] 80c683c: 6039 str r1, [r7, #0] switch (pdev->dev_state) 80c683e: 687b ldr r3, [r7, #4] 80c6840: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c6844: 3b01 subs r3, #1 80c6846: 2b02 cmp r3, #2 80c6848: d81e bhi.n 80c6888 { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (req->wLength != 0x2U) 80c684a: 683b ldr r3, [r7, #0] 80c684c: 88db ldrh r3, [r3, #6] 80c684e: 2b02 cmp r3, #2 80c6850: d004 beq.n 80c685c { USBD_CtlError(pdev, req); 80c6852: 6839 ldr r1, [r7, #0] 80c6854: 6878 ldr r0, [r7, #4] 80c6856: f000 f88f bl 80c6978 break; 80c685a: e01a b.n 80c6892 } #if (USBD_SELF_POWERED == 1U) pdev->dev_config_status = USB_CONFIG_SELF_POWERED; 80c685c: 687b ldr r3, [r7, #4] 80c685e: 2201 movs r2, #1 80c6860: 60da str r2, [r3, #12] #else pdev->dev_config_status = 0U; #endif if (pdev->dev_remote_wakeup != 0U) 80c6862: 687b ldr r3, [r7, #4] 80c6864: f8d3 32a4 ldr.w r3, [r3, #676] ; 0x2a4 80c6868: 2b00 cmp r3, #0 80c686a: d005 beq.n 80c6878 { pdev->dev_config_status |= USB_CONFIG_REMOTE_WAKEUP; 80c686c: 687b ldr r3, [r7, #4] 80c686e: 68db ldr r3, [r3, #12] 80c6870: f043 0202 orr.w r2, r3, #2 80c6874: 687b ldr r3, [r7, #4] 80c6876: 60da str r2, [r3, #12] } (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_config_status, 2U); 80c6878: 687b ldr r3, [r7, #4] 80c687a: 330c adds r3, #12 80c687c: 2202 movs r2, #2 80c687e: 4619 mov r1, r3 80c6880: 6878 ldr r0, [r7, #4] 80c6882: f000 f8ea bl 80c6a5a break; 80c6886: e004 b.n 80c6892 default: USBD_CtlError(pdev, req); 80c6888: 6839 ldr r1, [r7, #0] 80c688a: 6878 ldr r0, [r7, #4] 80c688c: f000 f874 bl 80c6978 break; 80c6890: bf00 nop } } 80c6892: bf00 nop 80c6894: 3708 adds r7, #8 80c6896: 46bd mov sp, r7 80c6898: bd80 pop {r7, pc} 080c689a : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_SetFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c689a: b580 push {r7, lr} 80c689c: b082 sub sp, #8 80c689e: af00 add r7, sp, #0 80c68a0: 6078 str r0, [r7, #4] 80c68a2: 6039 str r1, [r7, #0] if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) 80c68a4: 683b ldr r3, [r7, #0] 80c68a6: 885b ldrh r3, [r3, #2] 80c68a8: 2b01 cmp r3, #1 80c68aa: d106 bne.n 80c68ba { pdev->dev_remote_wakeup = 1U; 80c68ac: 687b ldr r3, [r7, #4] 80c68ae: 2201 movs r2, #1 80c68b0: f8c3 22a4 str.w r2, [r3, #676] ; 0x2a4 (void)USBD_CtlSendStatus(pdev); 80c68b4: 6878 ldr r0, [r7, #4] 80c68b6: f000 f90d bl 80c6ad4 } } 80c68ba: bf00 nop 80c68bc: 3708 adds r7, #8 80c68be: 46bd mov sp, r7 80c68c0: bd80 pop {r7, pc} 080c68c2 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_ClrFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c68c2: b580 push {r7, lr} 80c68c4: b082 sub sp, #8 80c68c6: af00 add r7, sp, #0 80c68c8: 6078 str r0, [r7, #4] 80c68ca: 6039 str r1, [r7, #0] switch (pdev->dev_state) 80c68cc: 687b ldr r3, [r7, #4] 80c68ce: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c68d2: 3b01 subs r3, #1 80c68d4: 2b02 cmp r3, #2 80c68d6: d80b bhi.n 80c68f0 { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) 80c68d8: 683b ldr r3, [r7, #0] 80c68da: 885b ldrh r3, [r3, #2] 80c68dc: 2b01 cmp r3, #1 80c68de: d10c bne.n 80c68fa { pdev->dev_remote_wakeup = 0U; 80c68e0: 687b ldr r3, [r7, #4] 80c68e2: 2200 movs r2, #0 80c68e4: f8c3 22a4 str.w r2, [r3, #676] ; 0x2a4 (void)USBD_CtlSendStatus(pdev); 80c68e8: 6878 ldr r0, [r7, #4] 80c68ea: f000 f8f3 bl 80c6ad4 } break; 80c68ee: e004 b.n 80c68fa default: USBD_CtlError(pdev, req); 80c68f0: 6839 ldr r1, [r7, #0] 80c68f2: 6878 ldr r0, [r7, #4] 80c68f4: f000 f840 bl 80c6978 break; 80c68f8: e000 b.n 80c68fc break; 80c68fa: bf00 nop } } 80c68fc: bf00 nop 80c68fe: 3708 adds r7, #8 80c6900: 46bd mov sp, r7 80c6902: bd80 pop {r7, pc} 080c6904 : * @param req: usb request * @retval None */ void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata) { 80c6904: b580 push {r7, lr} 80c6906: b084 sub sp, #16 80c6908: af00 add r7, sp, #0 80c690a: 6078 str r0, [r7, #4] 80c690c: 6039 str r1, [r7, #0] uint8_t *pbuff = pdata; 80c690e: 683b ldr r3, [r7, #0] 80c6910: 60fb str r3, [r7, #12] req->bmRequest = *(uint8_t *)(pbuff); 80c6912: 68fb ldr r3, [r7, #12] 80c6914: 781a ldrb r2, [r3, #0] 80c6916: 687b ldr r3, [r7, #4] 80c6918: 701a strb r2, [r3, #0] pbuff++; 80c691a: 68fb ldr r3, [r7, #12] 80c691c: 3301 adds r3, #1 80c691e: 60fb str r3, [r7, #12] req->bRequest = *(uint8_t *)(pbuff); 80c6920: 68fb ldr r3, [r7, #12] 80c6922: 781a ldrb r2, [r3, #0] 80c6924: 687b ldr r3, [r7, #4] 80c6926: 705a strb r2, [r3, #1] pbuff++; 80c6928: 68fb ldr r3, [r7, #12] 80c692a: 3301 adds r3, #1 80c692c: 60fb str r3, [r7, #12] req->wValue = SWAPBYTE(pbuff); 80c692e: 68f8 ldr r0, [r7, #12] 80c6930: f7ff faaa bl 80c5e88 80c6934: 4603 mov r3, r0 80c6936: 461a mov r2, r3 80c6938: 687b ldr r3, [r7, #4] 80c693a: 805a strh r2, [r3, #2] pbuff++; 80c693c: 68fb ldr r3, [r7, #12] 80c693e: 3301 adds r3, #1 80c6940: 60fb str r3, [r7, #12] pbuff++; 80c6942: 68fb ldr r3, [r7, #12] 80c6944: 3301 adds r3, #1 80c6946: 60fb str r3, [r7, #12] req->wIndex = SWAPBYTE(pbuff); 80c6948: 68f8 ldr r0, [r7, #12] 80c694a: f7ff fa9d bl 80c5e88 80c694e: 4603 mov r3, r0 80c6950: 461a mov r2, r3 80c6952: 687b ldr r3, [r7, #4] 80c6954: 809a strh r2, [r3, #4] pbuff++; 80c6956: 68fb ldr r3, [r7, #12] 80c6958: 3301 adds r3, #1 80c695a: 60fb str r3, [r7, #12] pbuff++; 80c695c: 68fb ldr r3, [r7, #12] 80c695e: 3301 adds r3, #1 80c6960: 60fb str r3, [r7, #12] req->wLength = SWAPBYTE(pbuff); 80c6962: 68f8 ldr r0, [r7, #12] 80c6964: f7ff fa90 bl 80c5e88 80c6968: 4603 mov r3, r0 80c696a: 461a mov r2, r3 80c696c: 687b ldr r3, [r7, #4] 80c696e: 80da strh r2, [r3, #6] } 80c6970: bf00 nop 80c6972: 3710 adds r7, #16 80c6974: 46bd mov sp, r7 80c6976: bd80 pop {r7, pc} 080c6978 : * @param req: usb request * @retval None */ void USBD_CtlError(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c6978: b580 push {r7, lr} 80c697a: b082 sub sp, #8 80c697c: af00 add r7, sp, #0 80c697e: 6078 str r0, [r7, #4] 80c6980: 6039 str r1, [r7, #0] UNUSED(req); (void)USBD_LL_StallEP(pdev, 0x80U); 80c6982: 2180 movs r1, #128 ; 0x80 80c6984: 6878 ldr r0, [r7, #4] 80c6986: f007 f9de bl 80cdd46 (void)USBD_LL_StallEP(pdev, 0U); 80c698a: 2100 movs r1, #0 80c698c: 6878 ldr r0, [r7, #4] 80c698e: f007 f9da bl 80cdd46 } 80c6992: bf00 nop 80c6994: 3708 adds r7, #8 80c6996: 46bd mov sp, r7 80c6998: bd80 pop {r7, pc} 080c699a : * @param unicode : Formatted string buffer (unicode) * @param len : descriptor length * @retval None */ void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len) { 80c699a: b580 push {r7, lr} 80c699c: b086 sub sp, #24 80c699e: af00 add r7, sp, #0 80c69a0: 60f8 str r0, [r7, #12] 80c69a2: 60b9 str r1, [r7, #8] 80c69a4: 607a str r2, [r7, #4] uint8_t idx = 0U; 80c69a6: 2300 movs r3, #0 80c69a8: 75fb strb r3, [r7, #23] uint8_t *pdesc; if (desc == NULL) 80c69aa: 68fb ldr r3, [r7, #12] 80c69ac: 2b00 cmp r3, #0 80c69ae: d036 beq.n 80c6a1e { return; } pdesc = desc; 80c69b0: 68fb ldr r3, [r7, #12] 80c69b2: 613b str r3, [r7, #16] *len = ((uint16_t)USBD_GetLen(pdesc) * 2U) + 2U; 80c69b4: 6938 ldr r0, [r7, #16] 80c69b6: f000 f836 bl 80c6a26 80c69ba: 4603 mov r3, r0 80c69bc: 3301 adds r3, #1 80c69be: b29b uxth r3, r3 80c69c0: 005b lsls r3, r3, #1 80c69c2: b29a uxth r2, r3 80c69c4: 687b ldr r3, [r7, #4] 80c69c6: 801a strh r2, [r3, #0] unicode[idx] = *(uint8_t *)len; 80c69c8: 7dfb ldrb r3, [r7, #23] 80c69ca: 68ba ldr r2, [r7, #8] 80c69cc: 4413 add r3, r2 80c69ce: 687a ldr r2, [r7, #4] 80c69d0: 7812 ldrb r2, [r2, #0] 80c69d2: 701a strb r2, [r3, #0] idx++; 80c69d4: 7dfb ldrb r3, [r7, #23] 80c69d6: 3301 adds r3, #1 80c69d8: 75fb strb r3, [r7, #23] unicode[idx] = USB_DESC_TYPE_STRING; 80c69da: 7dfb ldrb r3, [r7, #23] 80c69dc: 68ba ldr r2, [r7, #8] 80c69de: 4413 add r3, r2 80c69e0: 2203 movs r2, #3 80c69e2: 701a strb r2, [r3, #0] idx++; 80c69e4: 7dfb ldrb r3, [r7, #23] 80c69e6: 3301 adds r3, #1 80c69e8: 75fb strb r3, [r7, #23] while (*pdesc != (uint8_t)'\0') 80c69ea: e013 b.n 80c6a14 { unicode[idx] = *pdesc; 80c69ec: 7dfb ldrb r3, [r7, #23] 80c69ee: 68ba ldr r2, [r7, #8] 80c69f0: 4413 add r3, r2 80c69f2: 693a ldr r2, [r7, #16] 80c69f4: 7812 ldrb r2, [r2, #0] 80c69f6: 701a strb r2, [r3, #0] pdesc++; 80c69f8: 693b ldr r3, [r7, #16] 80c69fa: 3301 adds r3, #1 80c69fc: 613b str r3, [r7, #16] idx++; 80c69fe: 7dfb ldrb r3, [r7, #23] 80c6a00: 3301 adds r3, #1 80c6a02: 75fb strb r3, [r7, #23] unicode[idx] = 0U; 80c6a04: 7dfb ldrb r3, [r7, #23] 80c6a06: 68ba ldr r2, [r7, #8] 80c6a08: 4413 add r3, r2 80c6a0a: 2200 movs r2, #0 80c6a0c: 701a strb r2, [r3, #0] idx++; 80c6a0e: 7dfb ldrb r3, [r7, #23] 80c6a10: 3301 adds r3, #1 80c6a12: 75fb strb r3, [r7, #23] while (*pdesc != (uint8_t)'\0') 80c6a14: 693b ldr r3, [r7, #16] 80c6a16: 781b ldrb r3, [r3, #0] 80c6a18: 2b00 cmp r3, #0 80c6a1a: d1e7 bne.n 80c69ec 80c6a1c: e000 b.n 80c6a20 return; 80c6a1e: bf00 nop } } 80c6a20: 3718 adds r7, #24 80c6a22: 46bd mov sp, r7 80c6a24: bd80 pop {r7, pc} 080c6a26 : * return the string length * @param buf : pointer to the ascii string buffer * @retval string length */ static uint8_t USBD_GetLen(uint8_t *buf) { 80c6a26: b480 push {r7} 80c6a28: b085 sub sp, #20 80c6a2a: af00 add r7, sp, #0 80c6a2c: 6078 str r0, [r7, #4] uint8_t len = 0U; 80c6a2e: 2300 movs r3, #0 80c6a30: 73fb strb r3, [r7, #15] uint8_t *pbuff = buf; 80c6a32: 687b ldr r3, [r7, #4] 80c6a34: 60bb str r3, [r7, #8] while (*pbuff != (uint8_t)'\0') 80c6a36: e005 b.n 80c6a44 { len++; 80c6a38: 7bfb ldrb r3, [r7, #15] 80c6a3a: 3301 adds r3, #1 80c6a3c: 73fb strb r3, [r7, #15] pbuff++; 80c6a3e: 68bb ldr r3, [r7, #8] 80c6a40: 3301 adds r3, #1 80c6a42: 60bb str r3, [r7, #8] while (*pbuff != (uint8_t)'\0') 80c6a44: 68bb ldr r3, [r7, #8] 80c6a46: 781b ldrb r3, [r3, #0] 80c6a48: 2b00 cmp r3, #0 80c6a4a: d1f5 bne.n 80c6a38 } return len; 80c6a4c: 7bfb ldrb r3, [r7, #15] } 80c6a4e: 4618 mov r0, r3 80c6a50: 3714 adds r7, #20 80c6a52: 46bd mov sp, r7 80c6a54: f85d 7b04 ldr.w r7, [sp], #4 80c6a58: 4770 bx lr 080c6a5a : * @param len: length of data to be sent * @retval status */ USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { 80c6a5a: b580 push {r7, lr} 80c6a5c: b084 sub sp, #16 80c6a5e: af00 add r7, sp, #0 80c6a60: 60f8 str r0, [r7, #12] 80c6a62: 60b9 str r1, [r7, #8] 80c6a64: 607a str r2, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_DATA_IN; 80c6a66: 68fb ldr r3, [r7, #12] 80c6a68: 2202 movs r2, #2 80c6a6a: f8c3 2294 str.w r2, [r3, #660] ; 0x294 pdev->ep_in[0].total_length = len; 80c6a6e: 68fb ldr r3, [r7, #12] 80c6a70: 687a ldr r2, [r7, #4] 80c6a72: 619a str r2, [r3, #24] pdev->ep_in[0].rem_length = len; 80c6a74: 68fb ldr r3, [r7, #12] 80c6a76: 687a ldr r2, [r7, #4] 80c6a78: 61da str r2, [r3, #28] /* Start the transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); 80c6a7a: 687b ldr r3, [r7, #4] 80c6a7c: 68ba ldr r2, [r7, #8] 80c6a7e: 2100 movs r1, #0 80c6a80: 68f8 ldr r0, [r7, #12] 80c6a82: f007 f9e9 bl 80cde58 return USBD_OK; 80c6a86: 2300 movs r3, #0 } 80c6a88: 4618 mov r0, r3 80c6a8a: 3710 adds r7, #16 80c6a8c: 46bd mov sp, r7 80c6a8e: bd80 pop {r7, pc} 080c6a90 : * @param len: length of data to be sent * @retval status */ USBD_StatusTypeDef USBD_CtlContinueSendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { 80c6a90: b580 push {r7, lr} 80c6a92: b084 sub sp, #16 80c6a94: af00 add r7, sp, #0 80c6a96: 60f8 str r0, [r7, #12] 80c6a98: 60b9 str r1, [r7, #8] 80c6a9a: 607a str r2, [r7, #4] /* Start the next transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); 80c6a9c: 687b ldr r3, [r7, #4] 80c6a9e: 68ba ldr r2, [r7, #8] 80c6aa0: 2100 movs r1, #0 80c6aa2: 68f8 ldr r0, [r7, #12] 80c6aa4: f007 f9d8 bl 80cde58 return USBD_OK; 80c6aa8: 2300 movs r3, #0 } 80c6aaa: 4618 mov r0, r3 80c6aac: 3710 adds r7, #16 80c6aae: 46bd mov sp, r7 80c6ab0: bd80 pop {r7, pc} 080c6ab2 : * @param len: length of data to be received * @retval status */ USBD_StatusTypeDef USBD_CtlContinueRx(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { 80c6ab2: b580 push {r7, lr} 80c6ab4: b084 sub sp, #16 80c6ab6: af00 add r7, sp, #0 80c6ab8: 60f8 str r0, [r7, #12] 80c6aba: 60b9 str r1, [r7, #8] 80c6abc: 607a str r2, [r7, #4] (void)USBD_LL_PrepareReceive(pdev, 0U, pbuf, len); 80c6abe: 687b ldr r3, [r7, #4] 80c6ac0: 68ba ldr r2, [r7, #8] 80c6ac2: 2100 movs r1, #0 80c6ac4: 68f8 ldr r0, [r7, #12] 80c6ac6: f007 f9e8 bl 80cde9a return USBD_OK; 80c6aca: 2300 movs r3, #0 } 80c6acc: 4618 mov r0, r3 80c6ace: 3710 adds r7, #16 80c6ad0: 46bd mov sp, r7 80c6ad2: bd80 pop {r7, pc} 080c6ad4 : * send zero lzngth packet on the ctl pipe * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_CtlSendStatus(USBD_HandleTypeDef *pdev) { 80c6ad4: b580 push {r7, lr} 80c6ad6: b082 sub sp, #8 80c6ad8: af00 add r7, sp, #0 80c6ada: 6078 str r0, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_STATUS_IN; 80c6adc: 687b ldr r3, [r7, #4] 80c6ade: 2204 movs r2, #4 80c6ae0: f8c3 2294 str.w r2, [r3, #660] ; 0x294 /* Start the transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, NULL, 0U); 80c6ae4: 2300 movs r3, #0 80c6ae6: 2200 movs r2, #0 80c6ae8: 2100 movs r1, #0 80c6aea: 6878 ldr r0, [r7, #4] 80c6aec: f007 f9b4 bl 80cde58 return USBD_OK; 80c6af0: 2300 movs r3, #0 } 80c6af2: 4618 mov r0, r3 80c6af4: 3708 adds r7, #8 80c6af6: 46bd mov sp, r7 80c6af8: bd80 pop {r7, pc} 080c6afa : * receive zero lzngth packet on the ctl pipe * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_CtlReceiveStatus(USBD_HandleTypeDef *pdev) { 80c6afa: b580 push {r7, lr} 80c6afc: b082 sub sp, #8 80c6afe: af00 add r7, sp, #0 80c6b00: 6078 str r0, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_STATUS_OUT; 80c6b02: 687b ldr r3, [r7, #4] 80c6b04: 2205 movs r2, #5 80c6b06: f8c3 2294 str.w r2, [r3, #660] ; 0x294 /* Start the transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 80c6b0a: 2300 movs r3, #0 80c6b0c: 2200 movs r2, #0 80c6b0e: 2100 movs r1, #0 80c6b10: 6878 ldr r0, [r7, #4] 80c6b12: f007 f9c2 bl 80cde9a return USBD_OK; 80c6b16: 2300 movs r3, #0 } 80c6b18: 4618 mov r0, r3 80c6b1a: 3708 adds r7, #8 80c6b1c: 46bd mov sp, r7 80c6b1e: bd80 pop {r7, pc} 080c6b20 : * @retval DSTATUS: Operation status */ DSTATUS disk_status ( BYTE pdrv /* Physical drive number to identify the drive */ ) { 80c6b20: b580 push {r7, lr} 80c6b22: b084 sub sp, #16 80c6b24: af00 add r7, sp, #0 80c6b26: 4603 mov r3, r0 80c6b28: 71fb strb r3, [r7, #7] DSTATUS stat; stat = disk.drv[pdrv]->disk_status(disk.lun[pdrv]); 80c6b2a: 79fb ldrb r3, [r7, #7] 80c6b2c: 4a08 ldr r2, [pc, #32] ; (80c6b50 ) 80c6b2e: 009b lsls r3, r3, #2 80c6b30: 4413 add r3, r2 80c6b32: 685b ldr r3, [r3, #4] 80c6b34: 685b ldr r3, [r3, #4] 80c6b36: 79fa ldrb r2, [r7, #7] 80c6b38: 4905 ldr r1, [pc, #20] ; (80c6b50 ) 80c6b3a: 440a add r2, r1 80c6b3c: 7a12 ldrb r2, [r2, #8] 80c6b3e: 4610 mov r0, r2 80c6b40: 4798 blx r3 80c6b42: 4603 mov r3, r0 80c6b44: 73fb strb r3, [r7, #15] return stat; 80c6b46: 7bfb ldrb r3, [r7, #15] } 80c6b48: 4618 mov r0, r3 80c6b4a: 3710 adds r7, #16 80c6b4c: 46bd mov sp, r7 80c6b4e: bd80 pop {r7, pc} 80c6b50: 20021b5c .word 0x20021b5c 080c6b54 : * @retval DSTATUS: Operation status */ DSTATUS disk_initialize ( BYTE pdrv /* Physical drive nmuber to identify the drive */ ) { 80c6b54: b580 push {r7, lr} 80c6b56: b084 sub sp, #16 80c6b58: af00 add r7, sp, #0 80c6b5a: 4603 mov r3, r0 80c6b5c: 71fb strb r3, [r7, #7] DSTATUS stat = RES_OK; 80c6b5e: 2300 movs r3, #0 80c6b60: 73fb strb r3, [r7, #15] if(disk.is_initialized[pdrv] == 0) 80c6b62: 79fb ldrb r3, [r7, #7] 80c6b64: 4a0d ldr r2, [pc, #52] ; (80c6b9c ) 80c6b66: 5cd3 ldrb r3, [r2, r3] 80c6b68: 2b00 cmp r3, #0 80c6b6a: d111 bne.n 80c6b90 { disk.is_initialized[pdrv] = 1; 80c6b6c: 79fb ldrb r3, [r7, #7] 80c6b6e: 4a0b ldr r2, [pc, #44] ; (80c6b9c ) 80c6b70: 2101 movs r1, #1 80c6b72: 54d1 strb r1, [r2, r3] stat = disk.drv[pdrv]->disk_initialize(disk.lun[pdrv]); 80c6b74: 79fb ldrb r3, [r7, #7] 80c6b76: 4a09 ldr r2, [pc, #36] ; (80c6b9c ) 80c6b78: 009b lsls r3, r3, #2 80c6b7a: 4413 add r3, r2 80c6b7c: 685b ldr r3, [r3, #4] 80c6b7e: 681b ldr r3, [r3, #0] 80c6b80: 79fa ldrb r2, [r7, #7] 80c6b82: 4906 ldr r1, [pc, #24] ; (80c6b9c ) 80c6b84: 440a add r2, r1 80c6b86: 7a12 ldrb r2, [r2, #8] 80c6b88: 4610 mov r0, r2 80c6b8a: 4798 blx r3 80c6b8c: 4603 mov r3, r0 80c6b8e: 73fb strb r3, [r7, #15] } return stat; 80c6b90: 7bfb ldrb r3, [r7, #15] } 80c6b92: 4618 mov r0, r3 80c6b94: 3710 adds r7, #16 80c6b96: 46bd mov sp, r7 80c6b98: bd80 pop {r7, pc} 80c6b9a: bf00 nop 80c6b9c: 20021b5c .word 0x20021b5c 080c6ba0 : 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 */ ) { 80c6ba0: b590 push {r4, r7, lr} 80c6ba2: b087 sub sp, #28 80c6ba4: af00 add r7, sp, #0 80c6ba6: 60b9 str r1, [r7, #8] 80c6ba8: 607a str r2, [r7, #4] 80c6baa: 603b str r3, [r7, #0] 80c6bac: 4603 mov r3, r0 80c6bae: 73fb strb r3, [r7, #15] DRESULT res; res = disk.drv[pdrv]->disk_read(disk.lun[pdrv], buff, sector, count); 80c6bb0: 7bfb ldrb r3, [r7, #15] 80c6bb2: 4a0a ldr r2, [pc, #40] ; (80c6bdc ) 80c6bb4: 009b lsls r3, r3, #2 80c6bb6: 4413 add r3, r2 80c6bb8: 685b ldr r3, [r3, #4] 80c6bba: 689c ldr r4, [r3, #8] 80c6bbc: 7bfb ldrb r3, [r7, #15] 80c6bbe: 4a07 ldr r2, [pc, #28] ; (80c6bdc ) 80c6bc0: 4413 add r3, r2 80c6bc2: 7a18 ldrb r0, [r3, #8] 80c6bc4: 683b ldr r3, [r7, #0] 80c6bc6: 687a ldr r2, [r7, #4] 80c6bc8: 68b9 ldr r1, [r7, #8] 80c6bca: 47a0 blx r4 80c6bcc: 4603 mov r3, r0 80c6bce: 75fb strb r3, [r7, #23] return res; 80c6bd0: 7dfb ldrb r3, [r7, #23] } 80c6bd2: 4618 mov r0, r3 80c6bd4: 371c adds r7, #28 80c6bd6: 46bd mov sp, r7 80c6bd8: bd90 pop {r4, r7, pc} 80c6bda: bf00 nop 80c6bdc: 20021b5c .word 0x20021b5c 080c6be0 : 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 */ ) { 80c6be0: b590 push {r4, r7, lr} 80c6be2: b087 sub sp, #28 80c6be4: af00 add r7, sp, #0 80c6be6: 60b9 str r1, [r7, #8] 80c6be8: 607a str r2, [r7, #4] 80c6bea: 603b str r3, [r7, #0] 80c6bec: 4603 mov r3, r0 80c6bee: 73fb strb r3, [r7, #15] DRESULT res; res = disk.drv[pdrv]->disk_write(disk.lun[pdrv], buff, sector, count); 80c6bf0: 7bfb ldrb r3, [r7, #15] 80c6bf2: 4a0a ldr r2, [pc, #40] ; (80c6c1c ) 80c6bf4: 009b lsls r3, r3, #2 80c6bf6: 4413 add r3, r2 80c6bf8: 685b ldr r3, [r3, #4] 80c6bfa: 68dc ldr r4, [r3, #12] 80c6bfc: 7bfb ldrb r3, [r7, #15] 80c6bfe: 4a07 ldr r2, [pc, #28] ; (80c6c1c ) 80c6c00: 4413 add r3, r2 80c6c02: 7a18 ldrb r0, [r3, #8] 80c6c04: 683b ldr r3, [r7, #0] 80c6c06: 687a ldr r2, [r7, #4] 80c6c08: 68b9 ldr r1, [r7, #8] 80c6c0a: 47a0 blx r4 80c6c0c: 4603 mov r3, r0 80c6c0e: 75fb strb r3, [r7, #23] return res; 80c6c10: 7dfb ldrb r3, [r7, #23] } 80c6c12: 4618 mov r0, r3 80c6c14: 371c adds r7, #28 80c6c16: 46bd mov sp, r7 80c6c18: bd90 pop {r4, r7, pc} 80c6c1a: bf00 nop 80c6c1c: 20021b5c .word 0x20021b5c 080c6c20 : DRESULT disk_ioctl ( BYTE pdrv, /* Physical drive nmuber (0..) */ BYTE cmd, /* Control code */ void *buff /* Buffer to send/receive control data */ ) { 80c6c20: b580 push {r7, lr} 80c6c22: b084 sub sp, #16 80c6c24: af00 add r7, sp, #0 80c6c26: 4603 mov r3, r0 80c6c28: 603a str r2, [r7, #0] 80c6c2a: 71fb strb r3, [r7, #7] 80c6c2c: 460b mov r3, r1 80c6c2e: 71bb strb r3, [r7, #6] DRESULT res; res = disk.drv[pdrv]->disk_ioctl(disk.lun[pdrv], cmd, buff); 80c6c30: 79fb ldrb r3, [r7, #7] 80c6c32: 4a09 ldr r2, [pc, #36] ; (80c6c58 ) 80c6c34: 009b lsls r3, r3, #2 80c6c36: 4413 add r3, r2 80c6c38: 685b ldr r3, [r3, #4] 80c6c3a: 691b ldr r3, [r3, #16] 80c6c3c: 79fa ldrb r2, [r7, #7] 80c6c3e: 4906 ldr r1, [pc, #24] ; (80c6c58 ) 80c6c40: 440a add r2, r1 80c6c42: 7a10 ldrb r0, [r2, #8] 80c6c44: 79b9 ldrb r1, [r7, #6] 80c6c46: 683a ldr r2, [r7, #0] 80c6c48: 4798 blx r3 80c6c4a: 4603 mov r3, r0 80c6c4c: 73fb strb r3, [r7, #15] return res; 80c6c4e: 7bfb ldrb r3, [r7, #15] } 80c6c50: 4618 mov r0, r3 80c6c52: 3710 adds r7, #16 80c6c54: 46bd mov sp, r7 80c6c56: bd80 pop {r7, pc} 80c6c58: 20021b5c .word 0x20021b5c 080c6c5c : /* Load/Store multi-byte word in the FAT structure */ /*-----------------------------------------------------------------------*/ static WORD ld_word (const BYTE* ptr) /* Load a 2-byte little-endian word */ { 80c6c5c: b480 push {r7} 80c6c5e: b085 sub sp, #20 80c6c60: af00 add r7, sp, #0 80c6c62: 6078 str r0, [r7, #4] WORD rv; rv = ptr[1]; 80c6c64: 687b ldr r3, [r7, #4] 80c6c66: 3301 adds r3, #1 80c6c68: 781b ldrb r3, [r3, #0] 80c6c6a: 81fb strh r3, [r7, #14] rv = rv << 8 | ptr[0]; 80c6c6c: 89fb ldrh r3, [r7, #14] 80c6c6e: 021b lsls r3, r3, #8 80c6c70: b21a sxth r2, r3 80c6c72: 687b ldr r3, [r7, #4] 80c6c74: 781b ldrb r3, [r3, #0] 80c6c76: b21b sxth r3, r3 80c6c78: 4313 orrs r3, r2 80c6c7a: b21b sxth r3, r3 80c6c7c: 81fb strh r3, [r7, #14] return rv; 80c6c7e: 89fb ldrh r3, [r7, #14] } 80c6c80: 4618 mov r0, r3 80c6c82: 3714 adds r7, #20 80c6c84: 46bd mov sp, r7 80c6c86: f85d 7b04 ldr.w r7, [sp], #4 80c6c8a: 4770 bx lr 080c6c8c : static DWORD ld_dword (const BYTE* ptr) /* Load a 4-byte little-endian word */ { 80c6c8c: b480 push {r7} 80c6c8e: b085 sub sp, #20 80c6c90: af00 add r7, sp, #0 80c6c92: 6078 str r0, [r7, #4] DWORD rv; rv = ptr[3]; 80c6c94: 687b ldr r3, [r7, #4] 80c6c96: 3303 adds r3, #3 80c6c98: 781b ldrb r3, [r3, #0] 80c6c9a: 60fb str r3, [r7, #12] rv = rv << 8 | ptr[2]; 80c6c9c: 68fb ldr r3, [r7, #12] 80c6c9e: 021b lsls r3, r3, #8 80c6ca0: 687a ldr r2, [r7, #4] 80c6ca2: 3202 adds r2, #2 80c6ca4: 7812 ldrb r2, [r2, #0] 80c6ca6: 4313 orrs r3, r2 80c6ca8: 60fb str r3, [r7, #12] rv = rv << 8 | ptr[1]; 80c6caa: 68fb ldr r3, [r7, #12] 80c6cac: 021b lsls r3, r3, #8 80c6cae: 687a ldr r2, [r7, #4] 80c6cb0: 3201 adds r2, #1 80c6cb2: 7812 ldrb r2, [r2, #0] 80c6cb4: 4313 orrs r3, r2 80c6cb6: 60fb str r3, [r7, #12] rv = rv << 8 | ptr[0]; 80c6cb8: 68fb ldr r3, [r7, #12] 80c6cba: 021b lsls r3, r3, #8 80c6cbc: 687a ldr r2, [r7, #4] 80c6cbe: 7812 ldrb r2, [r2, #0] 80c6cc0: 4313 orrs r3, r2 80c6cc2: 60fb str r3, [r7, #12] return rv; 80c6cc4: 68fb ldr r3, [r7, #12] } 80c6cc6: 4618 mov r0, r3 80c6cc8: 3714 adds r7, #20 80c6cca: 46bd mov sp, r7 80c6ccc: f85d 7b04 ldr.w r7, [sp], #4 80c6cd0: 4770 bx lr 080c6cd2 : #if _FS_EXFAT static QWORD ld_qword (const BYTE* ptr) /* Load an 8-byte little-endian word */ { 80c6cd2: e92d 0ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c6cd6: b08a sub sp, #40 ; 0x28 80c6cd8: af00 add r7, sp, #0 80c6cda: 61f8 str r0, [r7, #28] QWORD rv; rv = ptr[7]; 80c6cdc: 69fb ldr r3, [r7, #28] 80c6cde: 3307 adds r3, #7 80c6ce0: 781b ldrb r3, [r3, #0] 80c6ce2: b2db uxtb r3, r3 80c6ce4: f04f 0400 mov.w r4, #0 80c6ce8: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[6]; 80c6cec: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6cf0: 0222 lsls r2, r4, #8 80c6cf2: ea42 6213 orr.w r2, r2, r3, lsr #24 80c6cf6: 0219 lsls r1, r3, #8 80c6cf8: 69fb ldr r3, [r7, #28] 80c6cfa: 3306 adds r3, #6 80c6cfc: 781b ldrb r3, [r3, #0] 80c6cfe: b2db uxtb r3, r3 80c6d00: f04f 0400 mov.w r4, #0 80c6d04: ea43 0301 orr.w r3, r3, r1 80c6d08: ea44 0402 orr.w r4, r4, r2 80c6d0c: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[5]; 80c6d10: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6d14: 0222 lsls r2, r4, #8 80c6d16: 617a str r2, [r7, #20] 80c6d18: 697a ldr r2, [r7, #20] 80c6d1a: ea42 6213 orr.w r2, r2, r3, lsr #24 80c6d1e: 617a str r2, [r7, #20] 80c6d20: 021b lsls r3, r3, #8 80c6d22: 613b str r3, [r7, #16] 80c6d24: 69fb ldr r3, [r7, #28] 80c6d26: 3305 adds r3, #5 80c6d28: 781b ldrb r3, [r3, #0] 80c6d2a: b2db uxtb r3, r3 80c6d2c: f04f 0400 mov.w r4, #0 80c6d30: e9d7 1204 ldrd r1, r2, [r7, #16] 80c6d34: ea41 0103 orr.w r1, r1, r3 80c6d38: ea42 0204 orr.w r2, r2, r4 80c6d3c: 460b mov r3, r1 80c6d3e: 4614 mov r4, r2 80c6d40: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[4]; 80c6d44: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6d48: 0222 lsls r2, r4, #8 80c6d4a: 60fa str r2, [r7, #12] 80c6d4c: 68fa ldr r2, [r7, #12] 80c6d4e: ea42 6213 orr.w r2, r2, r3, lsr #24 80c6d52: 60fa str r2, [r7, #12] 80c6d54: 021b lsls r3, r3, #8 80c6d56: 60bb str r3, [r7, #8] 80c6d58: 69fb ldr r3, [r7, #28] 80c6d5a: 3304 adds r3, #4 80c6d5c: 781b ldrb r3, [r3, #0] 80c6d5e: b2db uxtb r3, r3 80c6d60: f04f 0400 mov.w r4, #0 80c6d64: e9d7 1202 ldrd r1, r2, [r7, #8] 80c6d68: ea41 0103 orr.w r1, r1, r3 80c6d6c: ea42 0204 orr.w r2, r2, r4 80c6d70: 460b mov r3, r1 80c6d72: 4614 mov r4, r2 80c6d74: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[3]; 80c6d78: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6d7c: 0222 lsls r2, r4, #8 80c6d7e: 607a str r2, [r7, #4] 80c6d80: 687a ldr r2, [r7, #4] 80c6d82: ea42 6213 orr.w r2, r2, r3, lsr #24 80c6d86: 607a str r2, [r7, #4] 80c6d88: 021b lsls r3, r3, #8 80c6d8a: 603b str r3, [r7, #0] 80c6d8c: 69fb ldr r3, [r7, #28] 80c6d8e: 3303 adds r3, #3 80c6d90: 781b ldrb r3, [r3, #0] 80c6d92: b2db uxtb r3, r3 80c6d94: f04f 0400 mov.w r4, #0 80c6d98: e897 0006 ldmia.w r7, {r1, r2} 80c6d9c: ea41 0103 orr.w r1, r1, r3 80c6da0: ea42 0204 orr.w r2, r2, r4 80c6da4: 460b mov r3, r1 80c6da6: 4614 mov r4, r2 80c6da8: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[2]; 80c6dac: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6db0: ea4f 2b04 mov.w fp, r4, lsl #8 80c6db4: ea4b 6b13 orr.w fp, fp, r3, lsr #24 80c6db8: ea4f 2a03 mov.w sl, r3, lsl #8 80c6dbc: 69fb ldr r3, [r7, #28] 80c6dbe: 3302 adds r3, #2 80c6dc0: 781b ldrb r3, [r3, #0] 80c6dc2: b2db uxtb r3, r3 80c6dc4: f04f 0400 mov.w r4, #0 80c6dc8: ea43 030a orr.w r3, r3, sl 80c6dcc: ea44 040b orr.w r4, r4, fp 80c6dd0: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[1]; 80c6dd4: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6dd8: ea4f 2904 mov.w r9, r4, lsl #8 80c6ddc: ea49 6913 orr.w r9, r9, r3, lsr #24 80c6de0: ea4f 2803 mov.w r8, r3, lsl #8 80c6de4: 69fb ldr r3, [r7, #28] 80c6de6: 3301 adds r3, #1 80c6de8: 781b ldrb r3, [r3, #0] 80c6dea: b2db uxtb r3, r3 80c6dec: f04f 0400 mov.w r4, #0 80c6df0: ea43 0308 orr.w r3, r3, r8 80c6df4: ea44 0409 orr.w r4, r4, r9 80c6df8: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[0]; 80c6dfc: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6e00: 0226 lsls r6, r4, #8 80c6e02: ea46 6613 orr.w r6, r6, r3, lsr #24 80c6e06: 021d lsls r5, r3, #8 80c6e08: 69fb ldr r3, [r7, #28] 80c6e0a: 781b ldrb r3, [r3, #0] 80c6e0c: b2db uxtb r3, r3 80c6e0e: f04f 0400 mov.w r4, #0 80c6e12: ea43 0305 orr.w r3, r3, r5 80c6e16: ea44 0406 orr.w r4, r4, r6 80c6e1a: e9c7 3408 strd r3, r4, [r7, #32] return rv; 80c6e1e: e9d7 3408 ldrd r3, r4, [r7, #32] } 80c6e22: 4618 mov r0, r3 80c6e24: 4621 mov r1, r4 80c6e26: 3728 adds r7, #40 ; 0x28 80c6e28: 46bd mov sp, r7 80c6e2a: e8bd 0ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c6e2e: 4770 bx lr 080c6e30 : #endif #if !_FS_READONLY static void st_word (BYTE* ptr, WORD val) /* Store a 2-byte word in little-endian */ { 80c6e30: b480 push {r7} 80c6e32: b083 sub sp, #12 80c6e34: af00 add r7, sp, #0 80c6e36: 6078 str r0, [r7, #4] 80c6e38: 460b mov r3, r1 80c6e3a: 807b strh r3, [r7, #2] *ptr++ = (BYTE)val; val >>= 8; 80c6e3c: 687b ldr r3, [r7, #4] 80c6e3e: 1c5a adds r2, r3, #1 80c6e40: 607a str r2, [r7, #4] 80c6e42: 887a ldrh r2, [r7, #2] 80c6e44: b2d2 uxtb r2, r2 80c6e46: 701a strb r2, [r3, #0] 80c6e48: 887b ldrh r3, [r7, #2] 80c6e4a: 0a1b lsrs r3, r3, #8 80c6e4c: 807b strh r3, [r7, #2] *ptr++ = (BYTE)val; 80c6e4e: 687b ldr r3, [r7, #4] 80c6e50: 1c5a adds r2, r3, #1 80c6e52: 607a str r2, [r7, #4] 80c6e54: 887a ldrh r2, [r7, #2] 80c6e56: b2d2 uxtb r2, r2 80c6e58: 701a strb r2, [r3, #0] } 80c6e5a: bf00 nop 80c6e5c: 370c adds r7, #12 80c6e5e: 46bd mov sp, r7 80c6e60: f85d 7b04 ldr.w r7, [sp], #4 80c6e64: 4770 bx lr 080c6e66 : static void st_dword (BYTE* ptr, DWORD val) /* Store a 4-byte word in little-endian */ { 80c6e66: b480 push {r7} 80c6e68: b083 sub sp, #12 80c6e6a: af00 add r7, sp, #0 80c6e6c: 6078 str r0, [r7, #4] 80c6e6e: 6039 str r1, [r7, #0] *ptr++ = (BYTE)val; val >>= 8; 80c6e70: 687b ldr r3, [r7, #4] 80c6e72: 1c5a adds r2, r3, #1 80c6e74: 607a str r2, [r7, #4] 80c6e76: 683a ldr r2, [r7, #0] 80c6e78: b2d2 uxtb r2, r2 80c6e7a: 701a strb r2, [r3, #0] 80c6e7c: 683b ldr r3, [r7, #0] 80c6e7e: 0a1b lsrs r3, r3, #8 80c6e80: 603b str r3, [r7, #0] *ptr++ = (BYTE)val; val >>= 8; 80c6e82: 687b ldr r3, [r7, #4] 80c6e84: 1c5a adds r2, r3, #1 80c6e86: 607a str r2, [r7, #4] 80c6e88: 683a ldr r2, [r7, #0] 80c6e8a: b2d2 uxtb r2, r2 80c6e8c: 701a strb r2, [r3, #0] 80c6e8e: 683b ldr r3, [r7, #0] 80c6e90: 0a1b lsrs r3, r3, #8 80c6e92: 603b str r3, [r7, #0] *ptr++ = (BYTE)val; val >>= 8; 80c6e94: 687b ldr r3, [r7, #4] 80c6e96: 1c5a adds r2, r3, #1 80c6e98: 607a str r2, [r7, #4] 80c6e9a: 683a ldr r2, [r7, #0] 80c6e9c: b2d2 uxtb r2, r2 80c6e9e: 701a strb r2, [r3, #0] 80c6ea0: 683b ldr r3, [r7, #0] 80c6ea2: 0a1b lsrs r3, r3, #8 80c6ea4: 603b str r3, [r7, #0] *ptr++ = (BYTE)val; 80c6ea6: 687b ldr r3, [r7, #4] 80c6ea8: 1c5a adds r2, r3, #1 80c6eaa: 607a str r2, [r7, #4] 80c6eac: 683a ldr r2, [r7, #0] 80c6eae: b2d2 uxtb r2, r2 80c6eb0: 701a strb r2, [r3, #0] } 80c6eb2: bf00 nop 80c6eb4: 370c adds r7, #12 80c6eb6: 46bd mov sp, r7 80c6eb8: f85d 7b04 ldr.w r7, [sp], #4 80c6ebc: 4770 bx lr 080c6ebe : #if _FS_EXFAT static void st_qword (BYTE* ptr, QWORD val) /* Store an 8-byte word in little-endian */ { 80c6ebe: e92d 0ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c6ec2: b08c sub sp, #48 ; 0x30 80c6ec4: af00 add r7, sp, #0 80c6ec6: 62f8 str r0, [r7, #44] ; 0x2c 80c6ec8: e9c7 2308 strd r2, r3, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c6ecc: 6afa ldr r2, [r7, #44] ; 0x2c 80c6ece: 1c53 adds r3, r2, #1 80c6ed0: 62fb str r3, [r7, #44] ; 0x2c 80c6ed2: f897 3020 ldrb.w r3, [r7, #32] 80c6ed6: 7013 strb r3, [r2, #0] 80c6ed8: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6edc: 0a1d lsrs r5, r3, #8 80c6ede: ea45 6504 orr.w r5, r5, r4, lsl #24 80c6ee2: 0a26 lsrs r6, r4, #8 80c6ee4: e9c7 5608 strd r5, r6, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c6ee8: 6afa ldr r2, [r7, #44] ; 0x2c 80c6eea: 1c53 adds r3, r2, #1 80c6eec: 62fb str r3, [r7, #44] ; 0x2c 80c6eee: f897 3020 ldrb.w r3, [r7, #32] 80c6ef2: 7013 strb r3, [r2, #0] 80c6ef4: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6ef8: 0a1a lsrs r2, r3, #8 80c6efa: 61ba str r2, [r7, #24] 80c6efc: 69ba ldr r2, [r7, #24] 80c6efe: ea42 6204 orr.w r2, r2, r4, lsl #24 80c6f02: 61ba str r2, [r7, #24] 80c6f04: 0a23 lsrs r3, r4, #8 80c6f06: 61fb str r3, [r7, #28] 80c6f08: e9d7 3406 ldrd r3, r4, [r7, #24] 80c6f0c: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c6f10: 6afb ldr r3, [r7, #44] ; 0x2c 80c6f12: 1c5a adds r2, r3, #1 80c6f14: 62fa str r2, [r7, #44] ; 0x2c 80c6f16: f897 2020 ldrb.w r2, [r7, #32] 80c6f1a: 701a strb r2, [r3, #0] 80c6f1c: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6f20: 0a1a lsrs r2, r3, #8 80c6f22: 613a str r2, [r7, #16] 80c6f24: 693a ldr r2, [r7, #16] 80c6f26: ea42 6204 orr.w r2, r2, r4, lsl #24 80c6f2a: 613a str r2, [r7, #16] 80c6f2c: 0a23 lsrs r3, r4, #8 80c6f2e: 617b str r3, [r7, #20] 80c6f30: e9d7 3404 ldrd r3, r4, [r7, #16] 80c6f34: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c6f38: 6afb ldr r3, [r7, #44] ; 0x2c 80c6f3a: 1c5a adds r2, r3, #1 80c6f3c: 62fa str r2, [r7, #44] ; 0x2c 80c6f3e: f897 2020 ldrb.w r2, [r7, #32] 80c6f42: 701a strb r2, [r3, #0] 80c6f44: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6f48: 0a1a lsrs r2, r3, #8 80c6f4a: 60ba str r2, [r7, #8] 80c6f4c: 68ba ldr r2, [r7, #8] 80c6f4e: ea42 6204 orr.w r2, r2, r4, lsl #24 80c6f52: 60ba str r2, [r7, #8] 80c6f54: 0a23 lsrs r3, r4, #8 80c6f56: 60fb str r3, [r7, #12] 80c6f58: e9d7 3402 ldrd r3, r4, [r7, #8] 80c6f5c: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c6f60: 6afb ldr r3, [r7, #44] ; 0x2c 80c6f62: 1c5a adds r2, r3, #1 80c6f64: 62fa str r2, [r7, #44] ; 0x2c 80c6f66: f897 2020 ldrb.w r2, [r7, #32] 80c6f6a: 701a strb r2, [r3, #0] 80c6f6c: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6f70: 0a1a lsrs r2, r3, #8 80c6f72: 603a str r2, [r7, #0] 80c6f74: 683a ldr r2, [r7, #0] 80c6f76: ea42 6204 orr.w r2, r2, r4, lsl #24 80c6f7a: 603a str r2, [r7, #0] 80c6f7c: 0a23 lsrs r3, r4, #8 80c6f7e: 607b str r3, [r7, #4] 80c6f80: e897 0018 ldmia.w r7, {r3, r4} 80c6f84: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c6f88: 6afb ldr r3, [r7, #44] ; 0x2c 80c6f8a: 1c5a adds r2, r3, #1 80c6f8c: 62fa str r2, [r7, #44] ; 0x2c 80c6f8e: f897 2020 ldrb.w r2, [r7, #32] 80c6f92: 701a strb r2, [r3, #0] 80c6f94: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6f98: ea4f 2a13 mov.w sl, r3, lsr #8 80c6f9c: ea4a 6a04 orr.w sl, sl, r4, lsl #24 80c6fa0: ea4f 2b14 mov.w fp, r4, lsr #8 80c6fa4: e9c7 ab08 strd sl, fp, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c6fa8: 6afb ldr r3, [r7, #44] ; 0x2c 80c6faa: 1c5a adds r2, r3, #1 80c6fac: 62fa str r2, [r7, #44] ; 0x2c 80c6fae: f897 2020 ldrb.w r2, [r7, #32] 80c6fb2: 701a strb r2, [r3, #0] 80c6fb4: e9d7 3408 ldrd r3, r4, [r7, #32] 80c6fb8: ea4f 2813 mov.w r8, r3, lsr #8 80c6fbc: ea48 6804 orr.w r8, r8, r4, lsl #24 80c6fc0: ea4f 2914 mov.w r9, r4, lsr #8 80c6fc4: e9c7 8908 strd r8, r9, [r7, #32] *ptr++ = (BYTE)val; 80c6fc8: 6afb ldr r3, [r7, #44] ; 0x2c 80c6fca: 1c5a adds r2, r3, #1 80c6fcc: 62fa str r2, [r7, #44] ; 0x2c 80c6fce: f897 2020 ldrb.w r2, [r7, #32] 80c6fd2: 701a strb r2, [r3, #0] } 80c6fd4: bf00 nop 80c6fd6: 3730 adds r7, #48 ; 0x30 80c6fd8: 46bd mov sp, r7 80c6fda: e8bd 0ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c6fde: 4770 bx lr 080c6fe0 : /* String functions */ /*-----------------------------------------------------------------------*/ /* Copy memory to memory */ static void mem_cpy (void* dst, const void* src, UINT cnt) { 80c6fe0: b480 push {r7} 80c6fe2: b087 sub sp, #28 80c6fe4: af00 add r7, sp, #0 80c6fe6: 60f8 str r0, [r7, #12] 80c6fe8: 60b9 str r1, [r7, #8] 80c6fea: 607a str r2, [r7, #4] BYTE *d = (BYTE*)dst; 80c6fec: 68fb ldr r3, [r7, #12] 80c6fee: 617b str r3, [r7, #20] const BYTE *s = (const BYTE*)src; 80c6ff0: 68bb ldr r3, [r7, #8] 80c6ff2: 613b str r3, [r7, #16] if (cnt) { 80c6ff4: 687b ldr r3, [r7, #4] 80c6ff6: 2b00 cmp r3, #0 80c6ff8: d00d beq.n 80c7016 do { *d++ = *s++; 80c6ffa: 697b ldr r3, [r7, #20] 80c6ffc: 1c5a adds r2, r3, #1 80c6ffe: 617a str r2, [r7, #20] 80c7000: 693a ldr r2, [r7, #16] 80c7002: 1c51 adds r1, r2, #1 80c7004: 6139 str r1, [r7, #16] 80c7006: 7812 ldrb r2, [r2, #0] 80c7008: 701a strb r2, [r3, #0] } while (--cnt); 80c700a: 687b ldr r3, [r7, #4] 80c700c: 3b01 subs r3, #1 80c700e: 607b str r3, [r7, #4] 80c7010: 687b ldr r3, [r7, #4] 80c7012: 2b00 cmp r3, #0 80c7014: d1f1 bne.n 80c6ffa } } 80c7016: bf00 nop 80c7018: 371c adds r7, #28 80c701a: 46bd mov sp, r7 80c701c: f85d 7b04 ldr.w r7, [sp], #4 80c7020: 4770 bx lr 080c7022 : /* Fill memory block */ static void mem_set (void* dst, int val, UINT cnt) { 80c7022: b480 push {r7} 80c7024: b087 sub sp, #28 80c7026: af00 add r7, sp, #0 80c7028: 60f8 str r0, [r7, #12] 80c702a: 60b9 str r1, [r7, #8] 80c702c: 607a str r2, [r7, #4] BYTE *d = (BYTE*)dst; 80c702e: 68fb ldr r3, [r7, #12] 80c7030: 617b str r3, [r7, #20] do { *d++ = (BYTE)val; 80c7032: 697b ldr r3, [r7, #20] 80c7034: 1c5a adds r2, r3, #1 80c7036: 617a str r2, [r7, #20] 80c7038: 68ba ldr r2, [r7, #8] 80c703a: b2d2 uxtb r2, r2 80c703c: 701a strb r2, [r3, #0] } while (--cnt); 80c703e: 687b ldr r3, [r7, #4] 80c7040: 3b01 subs r3, #1 80c7042: 607b str r3, [r7, #4] 80c7044: 687b ldr r3, [r7, #4] 80c7046: 2b00 cmp r3, #0 80c7048: d1f3 bne.n 80c7032 } 80c704a: bf00 nop 80c704c: 371c adds r7, #28 80c704e: 46bd mov sp, r7 80c7050: f85d 7b04 ldr.w r7, [sp], #4 80c7054: 4770 bx lr 080c7056 : /* Compare memory block */ static int mem_cmp (const void* dst, const void* src, UINT cnt) { /* ZR:same, NZ:different */ 80c7056: b480 push {r7} 80c7058: b089 sub sp, #36 ; 0x24 80c705a: af00 add r7, sp, #0 80c705c: 60f8 str r0, [r7, #12] 80c705e: 60b9 str r1, [r7, #8] 80c7060: 607a str r2, [r7, #4] const BYTE *d = (const BYTE *)dst, *s = (const BYTE *)src; 80c7062: 68fb ldr r3, [r7, #12] 80c7064: 61fb str r3, [r7, #28] 80c7066: 68bb ldr r3, [r7, #8] 80c7068: 61bb str r3, [r7, #24] int r = 0; 80c706a: 2300 movs r3, #0 80c706c: 617b str r3, [r7, #20] do { r = *d++ - *s++; 80c706e: 69fb ldr r3, [r7, #28] 80c7070: 1c5a adds r2, r3, #1 80c7072: 61fa str r2, [r7, #28] 80c7074: 781b ldrb r3, [r3, #0] 80c7076: 4619 mov r1, r3 80c7078: 69bb ldr r3, [r7, #24] 80c707a: 1c5a adds r2, r3, #1 80c707c: 61ba str r2, [r7, #24] 80c707e: 781b ldrb r3, [r3, #0] 80c7080: 1acb subs r3, r1, r3 80c7082: 617b str r3, [r7, #20] } while (--cnt && r == 0); 80c7084: 687b ldr r3, [r7, #4] 80c7086: 3b01 subs r3, #1 80c7088: 607b str r3, [r7, #4] 80c708a: 687b ldr r3, [r7, #4] 80c708c: 2b00 cmp r3, #0 80c708e: d002 beq.n 80c7096 80c7090: 697b ldr r3, [r7, #20] 80c7092: 2b00 cmp r3, #0 80c7094: d0eb beq.n 80c706e return r; 80c7096: 697b ldr r3, [r7, #20] } 80c7098: 4618 mov r0, r3 80c709a: 3724 adds r7, #36 ; 0x24 80c709c: 46bd mov sp, r7 80c709e: f85d 7b04 ldr.w r7, [sp], #4 80c70a2: 4770 bx lr 080c70a4 : /* Check if chr is contained in the string */ static int chk_chr (const char* str, int chr) { /* NZ:contained, ZR:not contained */ 80c70a4: b480 push {r7} 80c70a6: b083 sub sp, #12 80c70a8: af00 add r7, sp, #0 80c70aa: 6078 str r0, [r7, #4] 80c70ac: 6039 str r1, [r7, #0] while (*str && *str != chr) str++; 80c70ae: e002 b.n 80c70b6 80c70b0: 687b ldr r3, [r7, #4] 80c70b2: 3301 adds r3, #1 80c70b4: 607b str r3, [r7, #4] 80c70b6: 687b ldr r3, [r7, #4] 80c70b8: 781b ldrb r3, [r3, #0] 80c70ba: 2b00 cmp r3, #0 80c70bc: d005 beq.n 80c70ca 80c70be: 687b ldr r3, [r7, #4] 80c70c0: 781b ldrb r3, [r3, #0] 80c70c2: 461a mov r2, r3 80c70c4: 683b ldr r3, [r7, #0] 80c70c6: 429a cmp r2, r3 80c70c8: d1f2 bne.n 80c70b0 return *str; 80c70ca: 687b ldr r3, [r7, #4] 80c70cc: 781b ldrb r3, [r3, #0] } 80c70ce: 4618 mov r0, r3 80c70d0: 370c adds r7, #12 80c70d2: 46bd mov sp, r7 80c70d4: f85d 7b04 ldr.w r7, [sp], #4 80c70d8: 4770 bx lr 080c70da : #if !_FS_READONLY static FRESULT sync_window ( /* Returns FR_OK or FR_DISK_ERROR */ FATFS* fs /* File system object */ ) { 80c70da: b580 push {r7, lr} 80c70dc: b086 sub sp, #24 80c70de: af00 add r7, sp, #0 80c70e0: 6078 str r0, [r7, #4] DWORD wsect; UINT nf; FRESULT res = FR_OK; 80c70e2: 2300 movs r3, #0 80c70e4: 73fb strb r3, [r7, #15] if (fs->wflag) { /* Write back the sector if it is dirty */ 80c70e6: 687b ldr r3, [r7, #4] 80c70e8: 78db ldrb r3, [r3, #3] 80c70ea: 2b00 cmp r3, #0 80c70ec: d034 beq.n 80c7158 wsect = fs->winsect; /* Current sector number */ 80c70ee: 687b ldr r3, [r7, #4] 80c70f0: 6b5b ldr r3, [r3, #52] ; 0x34 80c70f2: 617b str r3, [r7, #20] if (disk_write(fs->drv, fs->win, wsect, 1) != RES_OK) { 80c70f4: 687b ldr r3, [r7, #4] 80c70f6: 7858 ldrb r0, [r3, #1] 80c70f8: 687b ldr r3, [r7, #4] 80c70fa: f103 0138 add.w r1, r3, #56 ; 0x38 80c70fe: 2301 movs r3, #1 80c7100: 697a ldr r2, [r7, #20] 80c7102: f7ff fd6d bl 80c6be0 80c7106: 4603 mov r3, r0 80c7108: 2b00 cmp r3, #0 80c710a: d002 beq.n 80c7112 res = FR_DISK_ERR; 80c710c: 2301 movs r3, #1 80c710e: 73fb strb r3, [r7, #15] 80c7110: e022 b.n 80c7158 } else { fs->wflag = 0; 80c7112: 687b ldr r3, [r7, #4] 80c7114: 2200 movs r2, #0 80c7116: 70da strb r2, [r3, #3] if (wsect - fs->fatbase < fs->fsize) { /* Is it in the FAT area? */ 80c7118: 687b ldr r3, [r7, #4] 80c711a: 6a9b ldr r3, [r3, #40] ; 0x28 80c711c: 697a ldr r2, [r7, #20] 80c711e: 1ad2 subs r2, r2, r3 80c7120: 687b ldr r3, [r7, #4] 80c7122: 6a1b ldr r3, [r3, #32] 80c7124: 429a cmp r2, r3 80c7126: d217 bcs.n 80c7158 for (nf = fs->n_fats; nf >= 2; nf--) { /* Reflect the change to all FAT copies */ 80c7128: 687b ldr r3, [r7, #4] 80c712a: 789b ldrb r3, [r3, #2] 80c712c: 613b str r3, [r7, #16] 80c712e: e010 b.n 80c7152 wsect += fs->fsize; 80c7130: 687b ldr r3, [r7, #4] 80c7132: 6a1b ldr r3, [r3, #32] 80c7134: 697a ldr r2, [r7, #20] 80c7136: 4413 add r3, r2 80c7138: 617b str r3, [r7, #20] disk_write(fs->drv, fs->win, wsect, 1); 80c713a: 687b ldr r3, [r7, #4] 80c713c: 7858 ldrb r0, [r3, #1] 80c713e: 687b ldr r3, [r7, #4] 80c7140: f103 0138 add.w r1, r3, #56 ; 0x38 80c7144: 2301 movs r3, #1 80c7146: 697a ldr r2, [r7, #20] 80c7148: f7ff fd4a bl 80c6be0 for (nf = fs->n_fats; nf >= 2; nf--) { /* Reflect the change to all FAT copies */ 80c714c: 693b ldr r3, [r7, #16] 80c714e: 3b01 subs r3, #1 80c7150: 613b str r3, [r7, #16] 80c7152: 693b ldr r3, [r7, #16] 80c7154: 2b01 cmp r3, #1 80c7156: d8eb bhi.n 80c7130 } } } } return res; 80c7158: 7bfb ldrb r3, [r7, #15] } 80c715a: 4618 mov r0, r3 80c715c: 3718 adds r7, #24 80c715e: 46bd mov sp, r7 80c7160: bd80 pop {r7, pc} 080c7162 : 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[] */ ) { 80c7162: b580 push {r7, lr} 80c7164: b084 sub sp, #16 80c7166: af00 add r7, sp, #0 80c7168: 6078 str r0, [r7, #4] 80c716a: 6039 str r1, [r7, #0] FRESULT res = FR_OK; 80c716c: 2300 movs r3, #0 80c716e: 73fb strb r3, [r7, #15] if (sector != fs->winsect) { /* Window offset changed? */ 80c7170: 687b ldr r3, [r7, #4] 80c7172: 6b5a ldr r2, [r3, #52] ; 0x34 80c7174: 683b ldr r3, [r7, #0] 80c7176: 429a cmp r2, r3 80c7178: d01b beq.n 80c71b2 #if !_FS_READONLY res = sync_window(fs); /* Write-back changes */ 80c717a: 6878 ldr r0, [r7, #4] 80c717c: f7ff ffad bl 80c70da 80c7180: 4603 mov r3, r0 80c7182: 73fb strb r3, [r7, #15] #endif if (res == FR_OK) { /* Fill sector window with new data */ 80c7184: 7bfb ldrb r3, [r7, #15] 80c7186: 2b00 cmp r3, #0 80c7188: d113 bne.n 80c71b2 if (disk_read(fs->drv, fs->win, sector, 1) != RES_OK) { 80c718a: 687b ldr r3, [r7, #4] 80c718c: 7858 ldrb r0, [r3, #1] 80c718e: 687b ldr r3, [r7, #4] 80c7190: f103 0138 add.w r1, r3, #56 ; 0x38 80c7194: 2301 movs r3, #1 80c7196: 683a ldr r2, [r7, #0] 80c7198: f7ff fd02 bl 80c6ba0 80c719c: 4603 mov r3, r0 80c719e: 2b00 cmp r3, #0 80c71a0: d004 beq.n 80c71ac sector = 0xFFFFFFFF; /* Invalidate window if data is not reliable */ 80c71a2: f04f 33ff mov.w r3, #4294967295 80c71a6: 603b str r3, [r7, #0] res = FR_DISK_ERR; 80c71a8: 2301 movs r3, #1 80c71aa: 73fb strb r3, [r7, #15] } fs->winsect = sector; 80c71ac: 687b ldr r3, [r7, #4] 80c71ae: 683a ldr r2, [r7, #0] 80c71b0: 635a str r2, [r3, #52] ; 0x34 } } return res; 80c71b2: 7bfb ldrb r3, [r7, #15] } 80c71b4: 4618 mov r0, r3 80c71b6: 3710 adds r7, #16 80c71b8: 46bd mov sp, r7 80c71ba: bd80 pop {r7, pc} 080c71bc : static FRESULT sync_fs ( /* FR_OK:succeeded, !=0:error */ FATFS* fs /* File system object */ ) { 80c71bc: b580 push {r7, lr} 80c71be: b084 sub sp, #16 80c71c0: af00 add r7, sp, #0 80c71c2: 6078 str r0, [r7, #4] FRESULT res; res = sync_window(fs); 80c71c4: 6878 ldr r0, [r7, #4] 80c71c6: f7ff ff88 bl 80c70da 80c71ca: 4603 mov r3, r0 80c71cc: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c71ce: 7bfb ldrb r3, [r7, #15] 80c71d0: 2b00 cmp r3, #0 80c71d2: d158 bne.n 80c7286 /* Update FSInfo sector if needed */ if (fs->fs_type == FS_FAT32 && fs->fsi_flag == 1) { 80c71d4: 687b ldr r3, [r7, #4] 80c71d6: 781b ldrb r3, [r3, #0] 80c71d8: 2b03 cmp r3, #3 80c71da: d148 bne.n 80c726e 80c71dc: 687b ldr r3, [r7, #4] 80c71de: 791b ldrb r3, [r3, #4] 80c71e0: 2b01 cmp r3, #1 80c71e2: d144 bne.n 80c726e /* Create FSInfo structure */ mem_set(fs->win, 0, SS(fs)); 80c71e4: 687b ldr r3, [r7, #4] 80c71e6: 3338 adds r3, #56 ; 0x38 80c71e8: f44f 7200 mov.w r2, #512 ; 0x200 80c71ec: 2100 movs r1, #0 80c71ee: 4618 mov r0, r3 80c71f0: f7ff ff17 bl 80c7022 st_word(fs->win + BS_55AA, 0xAA55); 80c71f4: 687b ldr r3, [r7, #4] 80c71f6: 3338 adds r3, #56 ; 0x38 80c71f8: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c71fc: f64a 2155 movw r1, #43605 ; 0xaa55 80c7200: 4618 mov r0, r3 80c7202: f7ff fe15 bl 80c6e30 st_dword(fs->win + FSI_LeadSig, 0x41615252); 80c7206: 687b ldr r3, [r7, #4] 80c7208: 3338 adds r3, #56 ; 0x38 80c720a: 4921 ldr r1, [pc, #132] ; (80c7290 ) 80c720c: 4618 mov r0, r3 80c720e: f7ff fe2a bl 80c6e66 st_dword(fs->win + FSI_StrucSig, 0x61417272); 80c7212: 687b ldr r3, [r7, #4] 80c7214: 3338 adds r3, #56 ; 0x38 80c7216: f503 73f2 add.w r3, r3, #484 ; 0x1e4 80c721a: 491e ldr r1, [pc, #120] ; (80c7294 ) 80c721c: 4618 mov r0, r3 80c721e: f7ff fe22 bl 80c6e66 st_dword(fs->win + FSI_Free_Count, fs->free_clst); 80c7222: 687b ldr r3, [r7, #4] 80c7224: 3338 adds r3, #56 ; 0x38 80c7226: f503 72f4 add.w r2, r3, #488 ; 0x1e8 80c722a: 687b ldr r3, [r7, #4] 80c722c: 699b ldr r3, [r3, #24] 80c722e: 4619 mov r1, r3 80c7230: 4610 mov r0, r2 80c7232: f7ff fe18 bl 80c6e66 st_dword(fs->win + FSI_Nxt_Free, fs->last_clst); 80c7236: 687b ldr r3, [r7, #4] 80c7238: 3338 adds r3, #56 ; 0x38 80c723a: f503 72f6 add.w r2, r3, #492 ; 0x1ec 80c723e: 687b ldr r3, [r7, #4] 80c7240: 695b ldr r3, [r3, #20] 80c7242: 4619 mov r1, r3 80c7244: 4610 mov r0, r2 80c7246: f7ff fe0e bl 80c6e66 /* Write it into the FSInfo sector */ fs->winsect = fs->volbase + 1; 80c724a: 687b ldr r3, [r7, #4] 80c724c: 6a5b ldr r3, [r3, #36] ; 0x24 80c724e: 1c5a adds r2, r3, #1 80c7250: 687b ldr r3, [r7, #4] 80c7252: 635a str r2, [r3, #52] ; 0x34 disk_write(fs->drv, fs->win, fs->winsect, 1); 80c7254: 687b ldr r3, [r7, #4] 80c7256: 7858 ldrb r0, [r3, #1] 80c7258: 687b ldr r3, [r7, #4] 80c725a: f103 0138 add.w r1, r3, #56 ; 0x38 80c725e: 687b ldr r3, [r7, #4] 80c7260: 6b5a ldr r2, [r3, #52] ; 0x34 80c7262: 2301 movs r3, #1 80c7264: f7ff fcbc bl 80c6be0 fs->fsi_flag = 0; 80c7268: 687b ldr r3, [r7, #4] 80c726a: 2200 movs r2, #0 80c726c: 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; 80c726e: 687b ldr r3, [r7, #4] 80c7270: 785b ldrb r3, [r3, #1] 80c7272: 2200 movs r2, #0 80c7274: 2100 movs r1, #0 80c7276: 4618 mov r0, r3 80c7278: f7ff fcd2 bl 80c6c20 80c727c: 4603 mov r3, r0 80c727e: 2b00 cmp r3, #0 80c7280: d001 beq.n 80c7286 80c7282: 2301 movs r3, #1 80c7284: 73fb strb r3, [r7, #15] } return res; 80c7286: 7bfb ldrb r3, [r7, #15] } 80c7288: 4618 mov r0, r3 80c728a: 3710 adds r7, #16 80c728c: 46bd mov sp, r7 80c728e: bd80 pop {r7, pc} 80c7290: 41615252 .word 0x41615252 80c7294: 61417272 .word 0x61417272 080c7298 : static DWORD clust2sect ( /* !=0:Sector number, 0:Failed (invalid cluster#) */ FATFS* fs, /* File system object */ DWORD clst /* Cluster# to be converted */ ) { 80c7298: b480 push {r7} 80c729a: b083 sub sp, #12 80c729c: af00 add r7, sp, #0 80c729e: 6078 str r0, [r7, #4] 80c72a0: 6039 str r1, [r7, #0] clst -= 2; 80c72a2: 683b ldr r3, [r7, #0] 80c72a4: 3b02 subs r3, #2 80c72a6: 603b str r3, [r7, #0] if (clst >= fs->n_fatent - 2) return 0; /* Invalid cluster# */ 80c72a8: 687b ldr r3, [r7, #4] 80c72aa: 69db ldr r3, [r3, #28] 80c72ac: 1e9a subs r2, r3, #2 80c72ae: 683b ldr r3, [r7, #0] 80c72b0: 429a cmp r2, r3 80c72b2: d801 bhi.n 80c72b8 80c72b4: 2300 movs r3, #0 80c72b6: e008 b.n 80c72ca return clst * fs->csize + fs->database; 80c72b8: 687b ldr r3, [r7, #4] 80c72ba: 895b ldrh r3, [r3, #10] 80c72bc: 461a mov r2, r3 80c72be: 683b ldr r3, [r7, #0] 80c72c0: fb03 f202 mul.w r2, r3, r2 80c72c4: 687b ldr r3, [r7, #4] 80c72c6: 6b1b ldr r3, [r3, #48] ; 0x30 80c72c8: 4413 add r3, r2 } 80c72ca: 4618 mov r0, r3 80c72cc: 370c adds r7, #12 80c72ce: 46bd mov sp, r7 80c72d0: f85d 7b04 ldr.w r7, [sp], #4 80c72d4: 4770 bx lr ... 080c72d8 : 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 */ ) { 80c72d8: b590 push {r4, r7, lr} 80c72da: b089 sub sp, #36 ; 0x24 80c72dc: af00 add r7, sp, #0 80c72de: 6078 str r0, [r7, #4] 80c72e0: 6039 str r1, [r7, #0] UINT wc, bc; DWORD val; FATFS *fs = obj->fs; 80c72e2: 687a ldr r2, [r7, #4] 80c72e4: 6812 ldr r2, [r2, #0] 80c72e6: 61ba str r2, [r7, #24] if (clst < 2 || clst >= fs->n_fatent) { /* Check if in valid range */ 80c72e8: 683a ldr r2, [r7, #0] 80c72ea: 2a01 cmp r2, #1 80c72ec: d904 bls.n 80c72f8 80c72ee: 69ba ldr r2, [r7, #24] 80c72f0: 69d1 ldr r1, [r2, #28] 80c72f2: 683a ldr r2, [r7, #0] 80c72f4: 4291 cmp r1, r2 80c72f6: d802 bhi.n 80c72fe val = 1; /* Internal error */ 80c72f8: 2301 movs r3, #1 80c72fa: 61fb str r3, [r7, #28] 80c72fc: e0fe b.n 80c74fc } else { val = 0xFFFFFFFF; /* Default value falls on disk error */ 80c72fe: f04f 32ff mov.w r2, #4294967295 80c7302: 61fa str r2, [r7, #28] switch (fs->fs_type) { 80c7304: 69ba ldr r2, [r7, #24] 80c7306: 7812 ldrb r2, [r2, #0] 80c7308: 3a01 subs r2, #1 80c730a: 2a03 cmp r2, #3 80c730c: f200 80ea bhi.w 80c74e4 80c7310: a101 add r1, pc, #4 ; (adr r1, 80c7318 ) 80c7312: f851 f022 ldr.w pc, [r1, r2, lsl #2] 80c7316: bf00 nop 80c7318: 080c7329 .word 0x080c7329 80c731c: 080c73b1 .word 0x080c73b1 80c7320: 080c73e7 .word 0x080c73e7 80c7324: 080c741f .word 0x080c741f case FS_FAT12 : bc = (UINT)clst; bc += bc / 2; 80c7328: 683b ldr r3, [r7, #0] 80c732a: 617b str r3, [r7, #20] 80c732c: 697b ldr r3, [r7, #20] 80c732e: 085b lsrs r3, r3, #1 80c7330: 697a ldr r2, [r7, #20] 80c7332: 4413 add r3, r2 80c7334: 617b str r3, [r7, #20] if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c7336: 69bb ldr r3, [r7, #24] 80c7338: 6a9a ldr r2, [r3, #40] ; 0x28 80c733a: 697b ldr r3, [r7, #20] 80c733c: 0a5b lsrs r3, r3, #9 80c733e: 4413 add r3, r2 80c7340: 4619 mov r1, r3 80c7342: 69b8 ldr r0, [r7, #24] 80c7344: f7ff ff0d bl 80c7162 80c7348: 4603 mov r3, r0 80c734a: 2b00 cmp r3, #0 80c734c: f040 80cd bne.w 80c74ea wc = fs->win[bc++ % SS(fs)]; 80c7350: 697b ldr r3, [r7, #20] 80c7352: 1c5a adds r2, r3, #1 80c7354: 617a str r2, [r7, #20] 80c7356: f3c3 0308 ubfx r3, r3, #0, #9 80c735a: 69ba ldr r2, [r7, #24] 80c735c: 4413 add r3, r2 80c735e: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c7362: 613b str r3, [r7, #16] if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c7364: 69bb ldr r3, [r7, #24] 80c7366: 6a9a ldr r2, [r3, #40] ; 0x28 80c7368: 697b ldr r3, [r7, #20] 80c736a: 0a5b lsrs r3, r3, #9 80c736c: 4413 add r3, r2 80c736e: 4619 mov r1, r3 80c7370: 69b8 ldr r0, [r7, #24] 80c7372: f7ff fef6 bl 80c7162 80c7376: 4603 mov r3, r0 80c7378: 2b00 cmp r3, #0 80c737a: f040 80b8 bne.w 80c74ee wc |= fs->win[bc % SS(fs)] << 8; 80c737e: 697b ldr r3, [r7, #20] 80c7380: f3c3 0308 ubfx r3, r3, #0, #9 80c7384: 69ba ldr r2, [r7, #24] 80c7386: 4413 add r3, r2 80c7388: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c738c: 021b lsls r3, r3, #8 80c738e: 461a mov r2, r3 80c7390: 693b ldr r3, [r7, #16] 80c7392: 4313 orrs r3, r2 80c7394: 613b str r3, [r7, #16] val = (clst & 1) ? (wc >> 4) : (wc & 0xFFF); 80c7396: 683b ldr r3, [r7, #0] 80c7398: f003 0301 and.w r3, r3, #1 80c739c: 2b00 cmp r3, #0 80c739e: d002 beq.n 80c73a6 80c73a0: 693b ldr r3, [r7, #16] 80c73a2: 091b lsrs r3, r3, #4 80c73a4: e002 b.n 80c73ac 80c73a6: 693b ldr r3, [r7, #16] 80c73a8: f3c3 030b ubfx r3, r3, #0, #12 80c73ac: 61fb str r3, [r7, #28] break; 80c73ae: e0a5 b.n 80c74fc case FS_FAT16 : if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))) != FR_OK) break; 80c73b0: 69bb ldr r3, [r7, #24] 80c73b2: 6a9a ldr r2, [r3, #40] ; 0x28 80c73b4: 683b ldr r3, [r7, #0] 80c73b6: 0a1b lsrs r3, r3, #8 80c73b8: 4413 add r3, r2 80c73ba: 4619 mov r1, r3 80c73bc: 69b8 ldr r0, [r7, #24] 80c73be: f7ff fed0 bl 80c7162 80c73c2: 4603 mov r3, r0 80c73c4: 2b00 cmp r3, #0 80c73c6: f040 8094 bne.w 80c74f2 val = ld_word(fs->win + clst * 2 % SS(fs)); 80c73ca: 69bb ldr r3, [r7, #24] 80c73cc: f103 0238 add.w r2, r3, #56 ; 0x38 80c73d0: 683b ldr r3, [r7, #0] 80c73d2: 005b lsls r3, r3, #1 80c73d4: f403 73ff and.w r3, r3, #510 ; 0x1fe 80c73d8: 4413 add r3, r2 80c73da: 4618 mov r0, r3 80c73dc: f7ff fc3e bl 80c6c5c 80c73e0: 4603 mov r3, r0 80c73e2: 61fb str r3, [r7, #28] break; 80c73e4: e08a b.n 80c74fc case FS_FAT32 : if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c73e6: 69bb ldr r3, [r7, #24] 80c73e8: 6a9a ldr r2, [r3, #40] ; 0x28 80c73ea: 683b ldr r3, [r7, #0] 80c73ec: 09db lsrs r3, r3, #7 80c73ee: 4413 add r3, r2 80c73f0: 4619 mov r1, r3 80c73f2: 69b8 ldr r0, [r7, #24] 80c73f4: f7ff feb5 bl 80c7162 80c73f8: 4603 mov r3, r0 80c73fa: 2b00 cmp r3, #0 80c73fc: d17b bne.n 80c74f6 val = ld_dword(fs->win + clst * 4 % SS(fs)) & 0x0FFFFFFF; 80c73fe: 69bb ldr r3, [r7, #24] 80c7400: f103 0238 add.w r2, r3, #56 ; 0x38 80c7404: 683b ldr r3, [r7, #0] 80c7406: 009b lsls r3, r3, #2 80c7408: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c740c: 4413 add r3, r2 80c740e: 4618 mov r0, r3 80c7410: f7ff fc3c bl 80c6c8c 80c7414: 4603 mov r3, r0 80c7416: f023 4370 bic.w r3, r3, #4026531840 ; 0xf0000000 80c741a: 61fb str r3, [r7, #28] break; 80c741c: e06e b.n 80c74fc #if _FS_EXFAT case FS_EXFAT : if (obj->objsize) { 80c741e: 687a ldr r2, [r7, #4] 80c7420: e9d2 1204 ldrd r1, r2, [r2, #16] 80c7424: 430a orrs r2, r1 80c7426: d05d beq.n 80c74e4 DWORD cofs = clst - obj->sclust; /* Offset from start cluster */ 80c7428: 687a ldr r2, [r7, #4] 80c742a: 6892 ldr r2, [r2, #8] 80c742c: 6839 ldr r1, [r7, #0] 80c742e: 1a8a subs r2, r1, r2 80c7430: 60fa str r2, [r7, #12] DWORD clen = (DWORD)((obj->objsize - 1) / SS(fs)) / fs->csize; /* Number of clusters - 1 */ 80c7432: 687a ldr r2, [r7, #4] 80c7434: e9d2 1204 ldrd r1, r2, [r2, #16] 80c7438: f111 31ff adds.w r1, r1, #4294967295 80c743c: f142 32ff adc.w r2, r2, #4294967295 80c7440: 0a4b lsrs r3, r1, #9 80c7442: ea43 53c2 orr.w r3, r3, r2, lsl #23 80c7446: 0a54 lsrs r4, r2, #9 80c7448: 461a mov r2, r3 80c744a: 69bb ldr r3, [r7, #24] 80c744c: 895b ldrh r3, [r3, #10] 80c744e: fbb2 f3f3 udiv r3, r2, r3 80c7452: 60bb str r3, [r7, #8] if (obj->stat == 2) { /* Is there no valid chain on the FAT? */ 80c7454: 687b ldr r3, [r7, #4] 80c7456: 79db ldrb r3, [r3, #7] 80c7458: 2b02 cmp r3, #2 80c745a: d10e bne.n 80c747a if (cofs <= clen) { 80c745c: 68fa ldr r2, [r7, #12] 80c745e: 68bb ldr r3, [r7, #8] 80c7460: 429a cmp r2, r3 80c7462: d80a bhi.n 80c747a val = (cofs == clen) ? 0x7FFFFFFF : clst + 1; /* Generate the value */ 80c7464: 68fa ldr r2, [r7, #12] 80c7466: 68bb ldr r3, [r7, #8] 80c7468: 429a cmp r2, r3 80c746a: d002 beq.n 80c7472 80c746c: 683b ldr r3, [r7, #0] 80c746e: 3301 adds r3, #1 80c7470: e001 b.n 80c7476 80c7472: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c7476: 61fb str r3, [r7, #28] break; 80c7478: e040 b.n 80c74fc } } if (obj->stat == 3 && cofs < obj->n_cont) { /* Is it in the 1st fragment? */ 80c747a: 687b ldr r3, [r7, #4] 80c747c: 79db ldrb r3, [r3, #7] 80c747e: 2b03 cmp r3, #3 80c7480: d108 bne.n 80c7494 80c7482: 687b ldr r3, [r7, #4] 80c7484: 699a ldr r2, [r3, #24] 80c7486: 68fb ldr r3, [r7, #12] 80c7488: 429a cmp r2, r3 80c748a: d903 bls.n 80c7494 val = clst + 1; /* Generate the value */ 80c748c: 683b ldr r3, [r7, #0] 80c748e: 3301 adds r3, #1 80c7490: 61fb str r3, [r7, #28] break; 80c7492: e033 b.n 80c74fc } if (obj->stat != 2) { /* Get value from FAT if FAT chain is valid */ 80c7494: 687b ldr r3, [r7, #4] 80c7496: 79db ldrb r3, [r3, #7] 80c7498: 2b02 cmp r3, #2 80c749a: d023 beq.n 80c74e4 if (obj->n_frag != 0) { /* Is it on the growing edge? */ 80c749c: 687b ldr r3, [r7, #4] 80c749e: 69db ldr r3, [r3, #28] 80c74a0: 2b00 cmp r3, #0 80c74a2: d003 beq.n 80c74ac val = 0x7FFFFFFF; /* Generate EOC */ 80c74a4: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c74a8: 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; 80c74aa: e027 b.n 80c74fc if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c74ac: 69bb ldr r3, [r7, #24] 80c74ae: 6a9a ldr r2, [r3, #40] ; 0x28 80c74b0: 683b ldr r3, [r7, #0] 80c74b2: 09db lsrs r3, r3, #7 80c74b4: 4413 add r3, r2 80c74b6: 4619 mov r1, r3 80c74b8: 69b8 ldr r0, [r7, #24] 80c74ba: f7ff fe52 bl 80c7162 80c74be: 4603 mov r3, r0 80c74c0: 2b00 cmp r3, #0 80c74c2: d11a bne.n 80c74fa val = ld_dword(fs->win + clst * 4 % SS(fs)) & 0x7FFFFFFF; 80c74c4: 69bb ldr r3, [r7, #24] 80c74c6: f103 0238 add.w r2, r3, #56 ; 0x38 80c74ca: 683b ldr r3, [r7, #0] 80c74cc: 009b lsls r3, r3, #2 80c74ce: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c74d2: 4413 add r3, r2 80c74d4: 4618 mov r0, r3 80c74d6: f7ff fbd9 bl 80c6c8c 80c74da: 4603 mov r3, r0 80c74dc: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80c74e0: 61fb str r3, [r7, #28] break; 80c74e2: e00b b.n 80c74fc } } /* go to default */ #endif default: val = 1; /* Internal error */ 80c74e4: 2301 movs r3, #1 80c74e6: 61fb str r3, [r7, #28] 80c74e8: e008 b.n 80c74fc if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c74ea: bf00 nop 80c74ec: e006 b.n 80c74fc if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c74ee: bf00 nop 80c74f0: e004 b.n 80c74fc if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))) != FR_OK) break; 80c74f2: bf00 nop 80c74f4: e002 b.n 80c74fc if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c74f6: bf00 nop 80c74f8: e000 b.n 80c74fc if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c74fa: bf00 nop } } return val; 80c74fc: 69fb ldr r3, [r7, #28] } 80c74fe: 4618 mov r0, r3 80c7500: 3724 adds r7, #36 ; 0x24 80c7502: 46bd mov sp, r7 80c7504: bd90 pop {r4, r7, pc} 80c7506: bf00 nop 080c7508 : 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 */ ) { 80c7508: b590 push {r4, r7, lr} 80c750a: b089 sub sp, #36 ; 0x24 80c750c: af00 add r7, sp, #0 80c750e: 60f8 str r0, [r7, #12] 80c7510: 60b9 str r1, [r7, #8] 80c7512: 607a str r2, [r7, #4] UINT bc; BYTE *p; FRESULT res = FR_INT_ERR; 80c7514: 2302 movs r3, #2 80c7516: 77fb strb r3, [r7, #31] if (clst >= 2 && clst < fs->n_fatent) { /* Check if in valid range */ 80c7518: 68bb ldr r3, [r7, #8] 80c751a: 2b01 cmp r3, #1 80c751c: f240 80e2 bls.w 80c76e4 80c7520: 68fb ldr r3, [r7, #12] 80c7522: 69da ldr r2, [r3, #28] 80c7524: 68bb ldr r3, [r7, #8] 80c7526: 429a cmp r2, r3 80c7528: f240 80dc bls.w 80c76e4 switch (fs->fs_type) { 80c752c: 68fb ldr r3, [r7, #12] 80c752e: 781b ldrb r3, [r3, #0] 80c7530: 3b01 subs r3, #1 80c7532: 2b03 cmp r3, #3 80c7534: f200 80d6 bhi.w 80c76e4 80c7538: a201 add r2, pc, #4 ; (adr r2, 80c7540 ) 80c753a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c753e: bf00 nop 80c7540: 080c7551 .word 0x080c7551 80c7544: 080c762d .word 0x080c762d 80c7548: 080c766d .word 0x080c766d 80c754c: 080c766d .word 0x080c766d case FS_FAT12 : /* Bitfield items */ bc = (UINT)clst; bc += bc / 2; 80c7550: 68bb ldr r3, [r7, #8] 80c7552: 61bb str r3, [r7, #24] 80c7554: 69bb ldr r3, [r7, #24] 80c7556: 085b lsrs r3, r3, #1 80c7558: 69ba ldr r2, [r7, #24] 80c755a: 4413 add r3, r2 80c755c: 61bb str r3, [r7, #24] res = move_window(fs, fs->fatbase + (bc / SS(fs))); 80c755e: 68fb ldr r3, [r7, #12] 80c7560: 6a9a ldr r2, [r3, #40] ; 0x28 80c7562: 69bb ldr r3, [r7, #24] 80c7564: 0a5b lsrs r3, r3, #9 80c7566: 4413 add r3, r2 80c7568: 4619 mov r1, r3 80c756a: 68f8 ldr r0, [r7, #12] 80c756c: f7ff fdf9 bl 80c7162 80c7570: 4603 mov r3, r0 80c7572: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c7574: 7ffb ldrb r3, [r7, #31] 80c7576: 2b00 cmp r3, #0 80c7578: f040 80ad bne.w 80c76d6 p = fs->win + bc++ % SS(fs); 80c757c: 68fb ldr r3, [r7, #12] 80c757e: f103 0238 add.w r2, r3, #56 ; 0x38 80c7582: 69bb ldr r3, [r7, #24] 80c7584: 1c59 adds r1, r3, #1 80c7586: 61b9 str r1, [r7, #24] 80c7588: f3c3 0308 ubfx r3, r3, #0, #9 80c758c: 4413 add r3, r2 80c758e: 617b str r3, [r7, #20] *p = (clst & 1) ? ((*p & 0x0F) | ((BYTE)val << 4)) : (BYTE)val; 80c7590: 68bb ldr r3, [r7, #8] 80c7592: f003 0301 and.w r3, r3, #1 80c7596: 2b00 cmp r3, #0 80c7598: d00d beq.n 80c75b6 80c759a: 697b ldr r3, [r7, #20] 80c759c: 781b ldrb r3, [r3, #0] 80c759e: b25b sxtb r3, r3 80c75a0: f003 030f and.w r3, r3, #15 80c75a4: b25a sxtb r2, r3 80c75a6: 687b ldr r3, [r7, #4] 80c75a8: b2db uxtb r3, r3 80c75aa: 011b lsls r3, r3, #4 80c75ac: b25b sxtb r3, r3 80c75ae: 4313 orrs r3, r2 80c75b0: b25b sxtb r3, r3 80c75b2: b2db uxtb r3, r3 80c75b4: e001 b.n 80c75ba 80c75b6: 687b ldr r3, [r7, #4] 80c75b8: b2db uxtb r3, r3 80c75ba: 697a ldr r2, [r7, #20] 80c75bc: 7013 strb r3, [r2, #0] fs->wflag = 1; 80c75be: 68fb ldr r3, [r7, #12] 80c75c0: 2201 movs r2, #1 80c75c2: 70da strb r2, [r3, #3] res = move_window(fs, fs->fatbase + (bc / SS(fs))); 80c75c4: 68fb ldr r3, [r7, #12] 80c75c6: 6a9a ldr r2, [r3, #40] ; 0x28 80c75c8: 69bb ldr r3, [r7, #24] 80c75ca: 0a5b lsrs r3, r3, #9 80c75cc: 4413 add r3, r2 80c75ce: 4619 mov r1, r3 80c75d0: 68f8 ldr r0, [r7, #12] 80c75d2: f7ff fdc6 bl 80c7162 80c75d6: 4603 mov r3, r0 80c75d8: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c75da: 7ffb ldrb r3, [r7, #31] 80c75dc: 2b00 cmp r3, #0 80c75de: d17c bne.n 80c76da p = fs->win + bc % SS(fs); 80c75e0: 68fb ldr r3, [r7, #12] 80c75e2: f103 0238 add.w r2, r3, #56 ; 0x38 80c75e6: 69bb ldr r3, [r7, #24] 80c75e8: f3c3 0308 ubfx r3, r3, #0, #9 80c75ec: 4413 add r3, r2 80c75ee: 617b str r3, [r7, #20] *p = (clst & 1) ? (BYTE)(val >> 4) : ((*p & 0xF0) | ((BYTE)(val >> 8) & 0x0F)); 80c75f0: 68bb ldr r3, [r7, #8] 80c75f2: f003 0301 and.w r3, r3, #1 80c75f6: 2b00 cmp r3, #0 80c75f8: d003 beq.n 80c7602 80c75fa: 687b ldr r3, [r7, #4] 80c75fc: 091b lsrs r3, r3, #4 80c75fe: b2db uxtb r3, r3 80c7600: e00e b.n 80c7620 80c7602: 697b ldr r3, [r7, #20] 80c7604: 781b ldrb r3, [r3, #0] 80c7606: b25b sxtb r3, r3 80c7608: f023 030f bic.w r3, r3, #15 80c760c: b25a sxtb r2, r3 80c760e: 687b ldr r3, [r7, #4] 80c7610: 0a1b lsrs r3, r3, #8 80c7612: b25b sxtb r3, r3 80c7614: f003 030f and.w r3, r3, #15 80c7618: b25b sxtb r3, r3 80c761a: 4313 orrs r3, r2 80c761c: b25b sxtb r3, r3 80c761e: b2db uxtb r3, r3 80c7620: 697a ldr r2, [r7, #20] 80c7622: 7013 strb r3, [r2, #0] fs->wflag = 1; 80c7624: 68fb ldr r3, [r7, #12] 80c7626: 2201 movs r2, #1 80c7628: 70da strb r2, [r3, #3] break; 80c762a: e05b b.n 80c76e4 case FS_FAT16 : /* WORD aligned items */ res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))); 80c762c: 68fb ldr r3, [r7, #12] 80c762e: 6a9a ldr r2, [r3, #40] ; 0x28 80c7630: 68bb ldr r3, [r7, #8] 80c7632: 0a1b lsrs r3, r3, #8 80c7634: 4413 add r3, r2 80c7636: 4619 mov r1, r3 80c7638: 68f8 ldr r0, [r7, #12] 80c763a: f7ff fd92 bl 80c7162 80c763e: 4603 mov r3, r0 80c7640: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c7642: 7ffb ldrb r3, [r7, #31] 80c7644: 2b00 cmp r3, #0 80c7646: d14a bne.n 80c76de st_word(fs->win + clst * 2 % SS(fs), (WORD)val); 80c7648: 68fb ldr r3, [r7, #12] 80c764a: f103 0238 add.w r2, r3, #56 ; 0x38 80c764e: 68bb ldr r3, [r7, #8] 80c7650: 005b lsls r3, r3, #1 80c7652: f403 73ff and.w r3, r3, #510 ; 0x1fe 80c7656: 4413 add r3, r2 80c7658: 687a ldr r2, [r7, #4] 80c765a: b292 uxth r2, r2 80c765c: 4611 mov r1, r2 80c765e: 4618 mov r0, r3 80c7660: f7ff fbe6 bl 80c6e30 fs->wflag = 1; 80c7664: 68fb ldr r3, [r7, #12] 80c7666: 2201 movs r2, #1 80c7668: 70da strb r2, [r3, #3] break; 80c766a: e03b b.n 80c76e4 case FS_FAT32 : /* DWORD aligned items */ #if _FS_EXFAT case FS_EXFAT : #endif res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))); 80c766c: 68fb ldr r3, [r7, #12] 80c766e: 6a9a ldr r2, [r3, #40] ; 0x28 80c7670: 68bb ldr r3, [r7, #8] 80c7672: 09db lsrs r3, r3, #7 80c7674: 4413 add r3, r2 80c7676: 4619 mov r1, r3 80c7678: 68f8 ldr r0, [r7, #12] 80c767a: f7ff fd72 bl 80c7162 80c767e: 4603 mov r3, r0 80c7680: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c7682: 7ffb ldrb r3, [r7, #31] 80c7684: 2b00 cmp r3, #0 80c7686: d12c bne.n 80c76e2 if (!_FS_EXFAT || fs->fs_type != FS_EXFAT) { 80c7688: 68fb ldr r3, [r7, #12] 80c768a: 781b ldrb r3, [r3, #0] 80c768c: 2b04 cmp r3, #4 80c768e: d012 beq.n 80c76b6 val = (val & 0x0FFFFFFF) | (ld_dword(fs->win + clst * 4 % SS(fs)) & 0xF0000000); 80c7690: 687b ldr r3, [r7, #4] 80c7692: f023 4470 bic.w r4, r3, #4026531840 ; 0xf0000000 80c7696: 68fb ldr r3, [r7, #12] 80c7698: f103 0238 add.w r2, r3, #56 ; 0x38 80c769c: 68bb ldr r3, [r7, #8] 80c769e: 009b lsls r3, r3, #2 80c76a0: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c76a4: 4413 add r3, r2 80c76a6: 4618 mov r0, r3 80c76a8: f7ff faf0 bl 80c6c8c 80c76ac: 4603 mov r3, r0 80c76ae: f003 4370 and.w r3, r3, #4026531840 ; 0xf0000000 80c76b2: 4323 orrs r3, r4 80c76b4: 607b str r3, [r7, #4] } st_dword(fs->win + clst * 4 % SS(fs), val); 80c76b6: 68fb ldr r3, [r7, #12] 80c76b8: f103 0238 add.w r2, r3, #56 ; 0x38 80c76bc: 68bb ldr r3, [r7, #8] 80c76be: 009b lsls r3, r3, #2 80c76c0: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c76c4: 4413 add r3, r2 80c76c6: 6879 ldr r1, [r7, #4] 80c76c8: 4618 mov r0, r3 80c76ca: f7ff fbcc bl 80c6e66 fs->wflag = 1; 80c76ce: 68fb ldr r3, [r7, #12] 80c76d0: 2201 movs r2, #1 80c76d2: 70da strb r2, [r3, #3] break; 80c76d4: e006 b.n 80c76e4 if (res != FR_OK) break; 80c76d6: bf00 nop 80c76d8: e004 b.n 80c76e4 if (res != FR_OK) break; 80c76da: bf00 nop 80c76dc: e002 b.n 80c76e4 if (res != FR_OK) break; 80c76de: bf00 nop 80c76e0: e000 b.n 80c76e4 if (res != FR_OK) break; 80c76e2: bf00 nop } } return res; 80c76e4: 7ffb ldrb r3, [r7, #31] } 80c76e6: 4618 mov r0, r3 80c76e8: 3724 adds r7, #36 ; 0x24 80c76ea: 46bd mov sp, r7 80c76ec: bd90 pop {r4, r7, pc} 80c76ee: bf00 nop 080c76f0 : 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..) */ ) { 80c76f0: b580 push {r7, lr} 80c76f2: b08a sub sp, #40 ; 0x28 80c76f4: af00 add r7, sp, #0 80c76f6: 60f8 str r0, [r7, #12] 80c76f8: 60b9 str r1, [r7, #8] 80c76fa: 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 */ 80c76fc: 68bb ldr r3, [r7, #8] 80c76fe: 3b02 subs r3, #2 80c7700: 60bb str r3, [r7, #8] if (clst >= fs->n_fatent - 2) clst = 0; 80c7702: 68fb ldr r3, [r7, #12] 80c7704: 69db ldr r3, [r3, #28] 80c7706: 1e9a subs r2, r3, #2 80c7708: 68bb ldr r3, [r7, #8] 80c770a: 429a cmp r2, r3 80c770c: d801 bhi.n 80c7712 80c770e: 2300 movs r3, #0 80c7710: 60bb str r3, [r7, #8] scl = val = clst; ctr = 0; 80c7712: 68bb ldr r3, [r7, #8] 80c7714: 61fb str r3, [r7, #28] 80c7716: 69fb ldr r3, [r7, #28] 80c7718: 61bb str r3, [r7, #24] 80c771a: 2300 movs r3, #0 80c771c: 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) */ 80c771e: 68fb ldr r3, [r7, #12] 80c7720: 6b1a ldr r2, [r3, #48] ; 0x30 80c7722: 69fb ldr r3, [r7, #28] 80c7724: 0b1b lsrs r3, r3, #12 80c7726: 4413 add r3, r2 80c7728: 4619 mov r1, r3 80c772a: 68f8 ldr r0, [r7, #12] 80c772c: f7ff fd19 bl 80c7162 80c7730: 4603 mov r3, r0 80c7732: 2b00 cmp r3, #0 80c7734: d002 beq.n 80c773c 80c7736: f04f 33ff mov.w r3, #4294967295 80c773a: e051 b.n 80c77e0 i = val / 8 % SS(fs); bm = 1 << (val % 8); 80c773c: 69fb ldr r3, [r7, #28] 80c773e: 08db lsrs r3, r3, #3 80c7740: f3c3 0308 ubfx r3, r3, #0, #9 80c7744: 623b str r3, [r7, #32] 80c7746: 69fb ldr r3, [r7, #28] 80c7748: f003 0307 and.w r3, r3, #7 80c774c: 2201 movs r2, #1 80c774e: fa02 f303 lsl.w r3, r2, r3 80c7752: f887 3027 strb.w r3, [r7, #39] ; 0x27 do { do { bv = fs->win[i] & bm; bm <<= 1; /* Get bit value */ 80c7756: 68fa ldr r2, [r7, #12] 80c7758: 6a3b ldr r3, [r7, #32] 80c775a: 4413 add r3, r2 80c775c: 3338 adds r3, #56 ; 0x38 80c775e: 781a ldrb r2, [r3, #0] 80c7760: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c7764: 4013 ands r3, r2 80c7766: 74fb strb r3, [r7, #19] 80c7768: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c776c: 005b lsls r3, r3, #1 80c776e: f887 3027 strb.w r3, [r7, #39] ; 0x27 if (++val >= fs->n_fatent - 2) { /* Next cluster (with wrap-around) */ 80c7772: 69fb ldr r3, [r7, #28] 80c7774: 3301 adds r3, #1 80c7776: 61fb str r3, [r7, #28] 80c7778: 68fb ldr r3, [r7, #12] 80c777a: 69db ldr r3, [r3, #28] 80c777c: 3b02 subs r3, #2 80c777e: 69fa ldr r2, [r7, #28] 80c7780: 429a cmp r2, r3 80c7782: d307 bcc.n 80c7794 val = 0; bm = 0; i = SS(fs); 80c7784: 2300 movs r3, #0 80c7786: 61fb str r3, [r7, #28] 80c7788: 2300 movs r3, #0 80c778a: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c778e: f44f 7300 mov.w r3, #512 ; 0x200 80c7792: 623b str r3, [r7, #32] } if (!bv) { /* Is it a free cluster? */ 80c7794: 7cfb ldrb r3, [r7, #19] 80c7796: 2b00 cmp r3, #0 80c7798: d109 bne.n 80c77ae if (++ctr == ncl) return scl + 2; /* Check if run length is sufficient for required */ 80c779a: 697b ldr r3, [r7, #20] 80c779c: 3301 adds r3, #1 80c779e: 617b str r3, [r7, #20] 80c77a0: 697a ldr r2, [r7, #20] 80c77a2: 687b ldr r3, [r7, #4] 80c77a4: 429a cmp r2, r3 80c77a6: d106 bne.n 80c77b6 80c77a8: 69bb ldr r3, [r7, #24] 80c77aa: 3302 adds r3, #2 80c77ac: e018 b.n 80c77e0 } else { scl = val; ctr = 0; /* Encountered a cluster in-use, restart to scan */ 80c77ae: 69fb ldr r3, [r7, #28] 80c77b0: 61bb str r3, [r7, #24] 80c77b2: 2300 movs r3, #0 80c77b4: 617b str r3, [r7, #20] } if (val == clst) return 0; /* All cluster scanned? */ 80c77b6: 69fa ldr r2, [r7, #28] 80c77b8: 68bb ldr r3, [r7, #8] 80c77ba: 429a cmp r2, r3 80c77bc: d101 bne.n 80c77c2 80c77be: 2300 movs r3, #0 80c77c0: e00e b.n 80c77e0 } while (bm); 80c77c2: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c77c6: 2b00 cmp r3, #0 80c77c8: d1c5 bne.n 80c7756 bm = 1; 80c77ca: 2301 movs r3, #1 80c77cc: f887 3027 strb.w r3, [r7, #39] ; 0x27 } while (++i < SS(fs)); 80c77d0: 6a3b ldr r3, [r7, #32] 80c77d2: 3301 adds r3, #1 80c77d4: 623b str r3, [r7, #32] 80c77d6: 6a3b ldr r3, [r7, #32] 80c77d8: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c77dc: d3bb bcc.n 80c7756 if (move_window(fs, fs->database + val / 8 / SS(fs)) != FR_OK) return 0xFFFFFFFF; /* (assuming bitmap is located top of the cluster heap) */ 80c77de: e79e b.n 80c771e } } 80c77e0: 4618 mov r0, r3 80c77e2: 3728 adds r7, #40 ; 0x28 80c77e4: 46bd mov sp, r7 80c77e6: bd80 pop {r7, pc} 080c77e8 : 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) */ ) { 80c77e8: b580 push {r7, lr} 80c77ea: b088 sub sp, #32 80c77ec: af00 add r7, sp, #0 80c77ee: 60f8 str r0, [r7, #12] 80c77f0: 60b9 str r1, [r7, #8] 80c77f2: 607a str r2, [r7, #4] 80c77f4: 603b str r3, [r7, #0] BYTE bm; UINT i; DWORD sect; clst -= 2; /* The first bit corresponds to cluster #2 */ 80c77f6: 68bb ldr r3, [r7, #8] 80c77f8: 3b02 subs r3, #2 80c77fa: 60bb str r3, [r7, #8] sect = fs->database + clst / 8 / SS(fs); /* Sector address (assuming bitmap is located top of the cluster heap) */ 80c77fc: 68fb ldr r3, [r7, #12] 80c77fe: 6b1a ldr r2, [r3, #48] ; 0x30 80c7800: 68bb ldr r3, [r7, #8] 80c7802: 0b1b lsrs r3, r3, #12 80c7804: 4413 add r3, r2 80c7806: 617b str r3, [r7, #20] i = clst / 8 % SS(fs); /* Byte offset in the sector */ 80c7808: 68bb ldr r3, [r7, #8] 80c780a: 08db lsrs r3, r3, #3 80c780c: f3c3 0308 ubfx r3, r3, #0, #9 80c7810: 61bb str r3, [r7, #24] bm = 1 << (clst % 8); /* Bit mask in the byte */ 80c7812: 68bb ldr r3, [r7, #8] 80c7814: f003 0307 and.w r3, r3, #7 80c7818: 2201 movs r2, #1 80c781a: fa02 f303 lsl.w r3, r2, r3 80c781e: 77fb strb r3, [r7, #31] for (;;) { if (move_window(fs, sect++) != FR_OK) return FR_DISK_ERR; 80c7820: 697b ldr r3, [r7, #20] 80c7822: 1c5a adds r2, r3, #1 80c7824: 617a str r2, [r7, #20] 80c7826: 4619 mov r1, r3 80c7828: 68f8 ldr r0, [r7, #12] 80c782a: f7ff fc9a bl 80c7162 80c782e: 4603 mov r3, r0 80c7830: 2b00 cmp r3, #0 80c7832: d001 beq.n 80c7838 80c7834: 2301 movs r3, #1 80c7836: e03d b.n 80c78b4 do { do { if (bv == (int)((fs->win[i] & bm) != 0)) return FR_INT_ERR; /* Is the bit expected value? */ 80c7838: 68fa ldr r2, [r7, #12] 80c783a: 69bb ldr r3, [r7, #24] 80c783c: 4413 add r3, r2 80c783e: 3338 adds r3, #56 ; 0x38 80c7840: 781a ldrb r2, [r3, #0] 80c7842: 7ffb ldrb r3, [r7, #31] 80c7844: 4013 ands r3, r2 80c7846: b2db uxtb r3, r3 80c7848: 2b00 cmp r3, #0 80c784a: bf14 ite ne 80c784c: 2301 movne r3, #1 80c784e: 2300 moveq r3, #0 80c7850: b2db uxtb r3, r3 80c7852: 461a mov r2, r3 80c7854: 683b ldr r3, [r7, #0] 80c7856: 429a cmp r2, r3 80c7858: d101 bne.n 80c785e 80c785a: 2302 movs r3, #2 80c785c: e02a b.n 80c78b4 fs->win[i] ^= bm; /* Flip the bit */ 80c785e: 68fa ldr r2, [r7, #12] 80c7860: 69bb ldr r3, [r7, #24] 80c7862: 4413 add r3, r2 80c7864: 3338 adds r3, #56 ; 0x38 80c7866: 781a ldrb r2, [r3, #0] 80c7868: 7ffb ldrb r3, [r7, #31] 80c786a: 4053 eors r3, r2 80c786c: b2d9 uxtb r1, r3 80c786e: 68fa ldr r2, [r7, #12] 80c7870: 69bb ldr r3, [r7, #24] 80c7872: 4413 add r3, r2 80c7874: 3338 adds r3, #56 ; 0x38 80c7876: 460a mov r2, r1 80c7878: 701a strb r2, [r3, #0] fs->wflag = 1; 80c787a: 68fb ldr r3, [r7, #12] 80c787c: 2201 movs r2, #1 80c787e: 70da strb r2, [r3, #3] if (--ncl == 0) return FR_OK; /* All bits processed? */ 80c7880: 687b ldr r3, [r7, #4] 80c7882: 3b01 subs r3, #1 80c7884: 607b str r3, [r7, #4] 80c7886: 687b ldr r3, [r7, #4] 80c7888: 2b00 cmp r3, #0 80c788a: d101 bne.n 80c7890 80c788c: 2300 movs r3, #0 80c788e: e011 b.n 80c78b4 } while (bm <<= 1); /* Next bit */ 80c7890: 7ffb ldrb r3, [r7, #31] 80c7892: 005b lsls r3, r3, #1 80c7894: 77fb strb r3, [r7, #31] 80c7896: 7ffb ldrb r3, [r7, #31] 80c7898: 2b00 cmp r3, #0 80c789a: d1cd bne.n 80c7838 bm = 1; 80c789c: 2301 movs r3, #1 80c789e: 77fb strb r3, [r7, #31] } while (++i < SS(fs)); /* Next byte */ 80c78a0: 69bb ldr r3, [r7, #24] 80c78a2: 3301 adds r3, #1 80c78a4: 61bb str r3, [r7, #24] 80c78a6: 69bb ldr r3, [r7, #24] 80c78a8: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c78ac: d3c4 bcc.n 80c7838 i = 0; 80c78ae: 2300 movs r3, #0 80c78b0: 61bb str r3, [r7, #24] if (move_window(fs, sect++) != FR_OK) return FR_DISK_ERR; 80c78b2: e7b5 b.n 80c7820 } } 80c78b4: 4618 mov r0, r3 80c78b6: 3720 adds r7, #32 80c78b8: 46bd mov sp, r7 80c78ba: bd80 pop {r7, pc} 080c78bc : static FRESULT fill_first_frag ( _FDID* obj /* Pointer to the corresponding object */ ) { 80c78bc: b580 push {r7, lr} 80c78be: b086 sub sp, #24 80c78c0: af00 add r7, sp, #0 80c78c2: 6078 str r0, [r7, #4] FRESULT res; DWORD cl, n; if (obj->stat == 3) { /* Has the object been changed 'fragmented'? */ 80c78c4: 687b ldr r3, [r7, #4] 80c78c6: 79db ldrb r3, [r3, #7] 80c78c8: 2b03 cmp r3, #3 80c78ca: d121 bne.n 80c7910 for (cl = obj->sclust, n = obj->n_cont; n; cl++, n--) { /* Create cluster chain on the FAT */ 80c78cc: 687b ldr r3, [r7, #4] 80c78ce: 689b ldr r3, [r3, #8] 80c78d0: 617b str r3, [r7, #20] 80c78d2: 687b ldr r3, [r7, #4] 80c78d4: 699b ldr r3, [r3, #24] 80c78d6: 613b str r3, [r7, #16] 80c78d8: e014 b.n 80c7904 res = put_fat(obj->fs, cl, cl + 1); 80c78da: 687b ldr r3, [r7, #4] 80c78dc: 6818 ldr r0, [r3, #0] 80c78de: 697b ldr r3, [r7, #20] 80c78e0: 3301 adds r3, #1 80c78e2: 461a mov r2, r3 80c78e4: 6979 ldr r1, [r7, #20] 80c78e6: f7ff fe0f bl 80c7508 80c78ea: 4603 mov r3, r0 80c78ec: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c78ee: 7bfb ldrb r3, [r7, #15] 80c78f0: 2b00 cmp r3, #0 80c78f2: d001 beq.n 80c78f8 80c78f4: 7bfb ldrb r3, [r7, #15] 80c78f6: e00c b.n 80c7912 for (cl = obj->sclust, n = obj->n_cont; n; cl++, n--) { /* Create cluster chain on the FAT */ 80c78f8: 697b ldr r3, [r7, #20] 80c78fa: 3301 adds r3, #1 80c78fc: 617b str r3, [r7, #20] 80c78fe: 693b ldr r3, [r7, #16] 80c7900: 3b01 subs r3, #1 80c7902: 613b str r3, [r7, #16] 80c7904: 693b ldr r3, [r7, #16] 80c7906: 2b00 cmp r3, #0 80c7908: d1e7 bne.n 80c78da } obj->stat = 0; /* Change status 'FAT chain is valid' */ 80c790a: 687b ldr r3, [r7, #4] 80c790c: 2200 movs r2, #0 80c790e: 71da strb r2, [r3, #7] } return FR_OK; 80c7910: 2300 movs r3, #0 } 80c7912: 4618 mov r0, r3 80c7914: 3718 adds r7, #24 80c7916: 46bd mov sp, r7 80c7918: bd80 pop {r7, pc} 080c791a : 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 */ ) { 80c791a: b580 push {r7, lr} 80c791c: b086 sub sp, #24 80c791e: af00 add r7, sp, #0 80c7920: 60f8 str r0, [r7, #12] 80c7922: 60b9 str r1, [r7, #8] 80c7924: 607a str r2, [r7, #4] FRESULT res; while (obj->n_frag > 0) { /* Create the last chain on the FAT */ 80c7926: e020 b.n 80c796a res = put_fat(obj->fs, lcl - obj->n_frag + 1, (obj->n_frag > 1) ? lcl - obj->n_frag + 2 : term); 80c7928: 68fb ldr r3, [r7, #12] 80c792a: 6818 ldr r0, [r3, #0] 80c792c: 68fb ldr r3, [r7, #12] 80c792e: 69db ldr r3, [r3, #28] 80c7930: 68ba ldr r2, [r7, #8] 80c7932: 1ad3 subs r3, r2, r3 80c7934: 1c59 adds r1, r3, #1 80c7936: 68fb ldr r3, [r7, #12] 80c7938: 69db ldr r3, [r3, #28] 80c793a: 2b01 cmp r3, #1 80c793c: d905 bls.n 80c794a 80c793e: 68fb ldr r3, [r7, #12] 80c7940: 69db ldr r3, [r3, #28] 80c7942: 68ba ldr r2, [r7, #8] 80c7944: 1ad3 subs r3, r2, r3 80c7946: 3302 adds r3, #2 80c7948: e000 b.n 80c794c 80c794a: 687b ldr r3, [r7, #4] 80c794c: 461a mov r2, r3 80c794e: f7ff fddb bl 80c7508 80c7952: 4603 mov r3, r0 80c7954: 75fb strb r3, [r7, #23] if (res != FR_OK) return res; 80c7956: 7dfb ldrb r3, [r7, #23] 80c7958: 2b00 cmp r3, #0 80c795a: d001 beq.n 80c7960 80c795c: 7dfb ldrb r3, [r7, #23] 80c795e: e009 b.n 80c7974 obj->n_frag--; 80c7960: 68fb ldr r3, [r7, #12] 80c7962: 69db ldr r3, [r3, #28] 80c7964: 1e5a subs r2, r3, #1 80c7966: 68fb ldr r3, [r7, #12] 80c7968: 61da str r2, [r3, #28] while (obj->n_frag > 0) { /* Create the last chain on the FAT */ 80c796a: 68fb ldr r3, [r7, #12] 80c796c: 69db ldr r3, [r3, #28] 80c796e: 2b00 cmp r3, #0 80c7970: d1da bne.n 80c7928 } return FR_OK; 80c7972: 2300 movs r3, #0 } 80c7974: 4618 mov r0, r3 80c7976: 3718 adds r7, #24 80c7978: 46bd mov sp, r7 80c797a: bd80 pop {r7, pc} 080c797c : 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) */ ) { 80c797c: b580 push {r7, lr} 80c797e: b08a sub sp, #40 ; 0x28 80c7980: af00 add r7, sp, #0 80c7982: 60f8 str r0, [r7, #12] 80c7984: 60b9 str r1, [r7, #8] 80c7986: 607a str r2, [r7, #4] FRESULT res = FR_OK; 80c7988: 2300 movs r3, #0 80c798a: 77fb strb r3, [r7, #31] DWORD nxt; FATFS *fs = obj->fs; 80c798c: 68fb ldr r3, [r7, #12] 80c798e: 681b ldr r3, [r3, #0] 80c7990: 61bb str r3, [r7, #24] #if _FS_EXFAT || _USE_TRIM DWORD scl = clst, ecl = clst; 80c7992: 68bb ldr r3, [r7, #8] 80c7994: 627b str r3, [r7, #36] ; 0x24 80c7996: 68bb ldr r3, [r7, #8] 80c7998: 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 */ 80c799a: 68bb ldr r3, [r7, #8] 80c799c: 2b01 cmp r3, #1 80c799e: d904 bls.n 80c79aa 80c79a0: 69bb ldr r3, [r7, #24] 80c79a2: 69da ldr r2, [r3, #28] 80c79a4: 68bb ldr r3, [r7, #8] 80c79a6: 429a cmp r2, r3 80c79a8: d801 bhi.n 80c79ae 80c79aa: 2302 movs r3, #2 80c79ac: e096 b.n 80c7adc /* Mark the previous cluster 'EOC' on the FAT if it exists */ if (pclst && (!_FS_EXFAT || fs->fs_type != FS_EXFAT || obj->stat != 2)) { 80c79ae: 687b ldr r3, [r7, #4] 80c79b0: 2b00 cmp r3, #0 80c79b2: d014 beq.n 80c79de 80c79b4: 69bb ldr r3, [r7, #24] 80c79b6: 781b ldrb r3, [r3, #0] 80c79b8: 2b04 cmp r3, #4 80c79ba: d103 bne.n 80c79c4 80c79bc: 68fb ldr r3, [r7, #12] 80c79be: 79db ldrb r3, [r3, #7] 80c79c0: 2b02 cmp r3, #2 80c79c2: d00c beq.n 80c79de res = put_fat(fs, pclst, 0xFFFFFFFF); 80c79c4: f04f 32ff mov.w r2, #4294967295 80c79c8: 6879 ldr r1, [r7, #4] 80c79ca: 69b8 ldr r0, [r7, #24] 80c79cc: f7ff fd9c bl 80c7508 80c79d0: 4603 mov r3, r0 80c79d2: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c79d4: 7ffb ldrb r3, [r7, #31] 80c79d6: 2b00 cmp r3, #0 80c79d8: d001 beq.n 80c79de 80c79da: 7ffb ldrb r3, [r7, #31] 80c79dc: e07e b.n 80c7adc } /* Remove the chain */ do { nxt = get_fat(obj, clst); /* Get cluster status */ 80c79de: 68b9 ldr r1, [r7, #8] 80c79e0: 68f8 ldr r0, [r7, #12] 80c79e2: f7ff fc79 bl 80c72d8 80c79e6: 6178 str r0, [r7, #20] if (nxt == 0) break; /* Empty cluster? */ 80c79e8: 697b ldr r3, [r7, #20] 80c79ea: 2b00 cmp r3, #0 80c79ec: d055 beq.n 80c7a9a if (nxt == 1) return FR_INT_ERR; /* Internal error? */ 80c79ee: 697b ldr r3, [r7, #20] 80c79f0: 2b01 cmp r3, #1 80c79f2: d101 bne.n 80c79f8 80c79f4: 2302 movs r3, #2 80c79f6: e071 b.n 80c7adc if (nxt == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error? */ 80c79f8: 697b ldr r3, [r7, #20] 80c79fa: f1b3 3fff cmp.w r3, #4294967295 80c79fe: d101 bne.n 80c7a04 80c7a00: 2301 movs r3, #1 80c7a02: e06b b.n 80c7adc if (!_FS_EXFAT || fs->fs_type != FS_EXFAT) { 80c7a04: 69bb ldr r3, [r7, #24] 80c7a06: 781b ldrb r3, [r3, #0] 80c7a08: 2b04 cmp r3, #4 80c7a0a: d00b beq.n 80c7a24 res = put_fat(fs, clst, 0); /* Mark the cluster 'free' on the FAT */ 80c7a0c: 2200 movs r2, #0 80c7a0e: 68b9 ldr r1, [r7, #8] 80c7a10: 69b8 ldr r0, [r7, #24] 80c7a12: f7ff fd79 bl 80c7508 80c7a16: 4603 mov r3, r0 80c7a18: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c7a1a: 7ffb ldrb r3, [r7, #31] 80c7a1c: 2b00 cmp r3, #0 80c7a1e: d001 beq.n 80c7a24 80c7a20: 7ffb ldrb r3, [r7, #31] 80c7a22: e05b b.n 80c7adc } if (fs->free_clst < fs->n_fatent - 2) { /* Update FSINFO */ 80c7a24: 69bb ldr r3, [r7, #24] 80c7a26: 699a ldr r2, [r3, #24] 80c7a28: 69bb ldr r3, [r7, #24] 80c7a2a: 69db ldr r3, [r3, #28] 80c7a2c: 3b02 subs r3, #2 80c7a2e: 429a cmp r2, r3 80c7a30: d20b bcs.n 80c7a4a fs->free_clst++; 80c7a32: 69bb ldr r3, [r7, #24] 80c7a34: 699b ldr r3, [r3, #24] 80c7a36: 1c5a adds r2, r3, #1 80c7a38: 69bb ldr r3, [r7, #24] 80c7a3a: 619a str r2, [r3, #24] fs->fsi_flag |= 1; 80c7a3c: 69bb ldr r3, [r7, #24] 80c7a3e: 791b ldrb r3, [r3, #4] 80c7a40: f043 0301 orr.w r3, r3, #1 80c7a44: b2da uxtb r2, r3 80c7a46: 69bb ldr r3, [r7, #24] 80c7a48: 711a strb r2, [r3, #4] } #if _FS_EXFAT || _USE_TRIM if (ecl + 1 == nxt) { /* Is next cluster contiguous? */ 80c7a4a: 6a3b ldr r3, [r7, #32] 80c7a4c: 1c5a adds r2, r3, #1 80c7a4e: 697b ldr r3, [r7, #20] 80c7a50: 429a cmp r2, r3 80c7a52: d102 bne.n 80c7a5a ecl = nxt; 80c7a54: 697b ldr r3, [r7, #20] 80c7a56: 623b str r3, [r7, #32] 80c7a58: e017 b.n 80c7a8a } else { /* End of contiguous cluster block */ #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c7a5a: 69bb ldr r3, [r7, #24] 80c7a5c: 781b ldrb r3, [r3, #0] 80c7a5e: 2b04 cmp r3, #4 80c7a60: d10f bne.n 80c7a82 res = change_bitmap(fs, scl, ecl - scl + 1, 0); /* Mark the cluster block 'free' on the bitmap */ 80c7a62: 6a3a ldr r2, [r7, #32] 80c7a64: 6a7b ldr r3, [r7, #36] ; 0x24 80c7a66: 1ad3 subs r3, r2, r3 80c7a68: 1c5a adds r2, r3, #1 80c7a6a: 2300 movs r3, #0 80c7a6c: 6a79 ldr r1, [r7, #36] ; 0x24 80c7a6e: 69b8 ldr r0, [r7, #24] 80c7a70: f7ff feba bl 80c77e8 80c7a74: 4603 mov r3, r0 80c7a76: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c7a78: 7ffb ldrb r3, [r7, #31] 80c7a7a: 2b00 cmp r3, #0 80c7a7c: d001 beq.n 80c7a82 80c7a7e: 7ffb ldrb r3, [r7, #31] 80c7a80: e02c b.n 80c7adc #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; 80c7a82: 697b ldr r3, [r7, #20] 80c7a84: 623b str r3, [r7, #32] 80c7a86: 6a3b ldr r3, [r7, #32] 80c7a88: 627b str r3, [r7, #36] ; 0x24 } #endif clst = nxt; /* Next cluster */ 80c7a8a: 697b ldr r3, [r7, #20] 80c7a8c: 60bb str r3, [r7, #8] } while (clst < fs->n_fatent); /* Repeat while not the last link */ 80c7a8e: 69bb ldr r3, [r7, #24] 80c7a90: 69da ldr r2, [r3, #28] 80c7a92: 68bb ldr r3, [r7, #8] 80c7a94: 429a cmp r2, r3 80c7a96: d8a2 bhi.n 80c79de 80c7a98: e000 b.n 80c7a9c if (nxt == 0) break; /* Empty cluster? */ 80c7a9a: bf00 nop #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c7a9c: 69bb ldr r3, [r7, #24] 80c7a9e: 781b ldrb r3, [r3, #0] 80c7aa0: 2b04 cmp r3, #4 80c7aa2: d11a bne.n 80c7ada if (pclst == 0) { /* Does the object have no chain? */ 80c7aa4: 687b ldr r3, [r7, #4] 80c7aa6: 2b00 cmp r3, #0 80c7aa8: d103 bne.n 80c7ab2 obj->stat = 0; /* Change the object status 'initial' */ 80c7aaa: 68fb ldr r3, [r7, #12] 80c7aac: 2200 movs r2, #0 80c7aae: 71da strb r2, [r3, #7] 80c7ab0: e013 b.n 80c7ada } else { if (obj->stat == 3 && pclst >= obj->sclust && pclst <= obj->sclust + obj->n_cont) { /* Did the chain get contiguous? */ 80c7ab2: 68fb ldr r3, [r7, #12] 80c7ab4: 79db ldrb r3, [r3, #7] 80c7ab6: 2b03 cmp r3, #3 80c7ab8: d10f bne.n 80c7ada 80c7aba: 68fb ldr r3, [r7, #12] 80c7abc: 689a ldr r2, [r3, #8] 80c7abe: 687b ldr r3, [r7, #4] 80c7ac0: 429a cmp r2, r3 80c7ac2: d80a bhi.n 80c7ada 80c7ac4: 68fb ldr r3, [r7, #12] 80c7ac6: 689a ldr r2, [r3, #8] 80c7ac8: 68fb ldr r3, [r7, #12] 80c7aca: 699b ldr r3, [r3, #24] 80c7acc: 441a add r2, r3 80c7ace: 687b ldr r3, [r7, #4] 80c7ad0: 429a cmp r2, r3 80c7ad2: d302 bcc.n 80c7ada obj->stat = 2; /* Change the object status 'contiguous' */ 80c7ad4: 68fb ldr r3, [r7, #12] 80c7ad6: 2202 movs r2, #2 80c7ad8: 71da strb r2, [r3, #7] } } } #endif return FR_OK; 80c7ada: 2300 movs r3, #0 } 80c7adc: 4618 mov r0, r3 80c7ade: 3728 adds r7, #40 ; 0x28 80c7ae0: 46bd mov sp, r7 80c7ae2: bd80 pop {r7, pc} 080c7ae4 : 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 */ ) { 80c7ae4: b580 push {r7, lr} 80c7ae6: b088 sub sp, #32 80c7ae8: af00 add r7, sp, #0 80c7aea: 6078 str r0, [r7, #4] 80c7aec: 6039 str r1, [r7, #0] DWORD cs, ncl, scl; FRESULT res; FATFS *fs = obj->fs; 80c7aee: 687b ldr r3, [r7, #4] 80c7af0: 681b ldr r3, [r3, #0] 80c7af2: 613b str r3, [r7, #16] if (clst == 0) { /* Create a new chain */ 80c7af4: 683b ldr r3, [r7, #0] 80c7af6: 2b00 cmp r3, #0 80c7af8: d10d bne.n 80c7b16 scl = fs->last_clst; /* Get suggested cluster to start from */ 80c7afa: 693b ldr r3, [r7, #16] 80c7afc: 695b ldr r3, [r3, #20] 80c7afe: 61bb str r3, [r7, #24] if (scl == 0 || scl >= fs->n_fatent) scl = 1; 80c7b00: 69bb ldr r3, [r7, #24] 80c7b02: 2b00 cmp r3, #0 80c7b04: d004 beq.n 80c7b10 80c7b06: 693b ldr r3, [r7, #16] 80c7b08: 69da ldr r2, [r3, #28] 80c7b0a: 69bb ldr r3, [r7, #24] 80c7b0c: 429a cmp r2, r3 80c7b0e: d81b bhi.n 80c7b48 80c7b10: 2301 movs r3, #1 80c7b12: 61bb str r3, [r7, #24] 80c7b14: e018 b.n 80c7b48 } else { /* Stretch current chain */ cs = get_fat(obj, clst); /* Check the cluster status */ 80c7b16: 6839 ldr r1, [r7, #0] 80c7b18: 6878 ldr r0, [r7, #4] 80c7b1a: f7ff fbdd bl 80c72d8 80c7b1e: 60f8 str r0, [r7, #12] if (cs < 2) return 1; /* Invalid FAT value */ 80c7b20: 68fb ldr r3, [r7, #12] 80c7b22: 2b01 cmp r3, #1 80c7b24: d801 bhi.n 80c7b2a 80c7b26: 2301 movs r3, #1 80c7b28: e0d9 b.n 80c7cde if (cs == 0xFFFFFFFF) return cs; /* A disk error occurred */ 80c7b2a: 68fb ldr r3, [r7, #12] 80c7b2c: f1b3 3fff cmp.w r3, #4294967295 80c7b30: d101 bne.n 80c7b36 80c7b32: 68fb ldr r3, [r7, #12] 80c7b34: e0d3 b.n 80c7cde if (cs < fs->n_fatent) return cs; /* It is already followed by next cluster */ 80c7b36: 693b ldr r3, [r7, #16] 80c7b38: 69da ldr r2, [r3, #28] 80c7b3a: 68fb ldr r3, [r7, #12] 80c7b3c: 429a cmp r2, r3 80c7b3e: d901 bls.n 80c7b44 80c7b40: 68fb ldr r3, [r7, #12] 80c7b42: e0cc b.n 80c7cde scl = clst; 80c7b44: 683b ldr r3, [r7, #0] 80c7b46: 61bb str r3, [r7, #24] } #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c7b48: 693b ldr r3, [r7, #16] 80c7b4a: 781b ldrb r3, [r3, #0] 80c7b4c: 2b04 cmp r3, #4 80c7b4e: d164 bne.n 80c7c1a ncl = find_bitmap(fs, scl, 1); /* Find a free cluster */ 80c7b50: 2201 movs r2, #1 80c7b52: 69b9 ldr r1, [r7, #24] 80c7b54: 6938 ldr r0, [r7, #16] 80c7b56: f7ff fdcb bl 80c76f0 80c7b5a: 61f8 str r0, [r7, #28] if (ncl == 0 || ncl == 0xFFFFFFFF) return ncl; /* No free cluster or hard error? */ 80c7b5c: 69fb ldr r3, [r7, #28] 80c7b5e: 2b00 cmp r3, #0 80c7b60: d003 beq.n 80c7b6a 80c7b62: 69fb ldr r3, [r7, #28] 80c7b64: f1b3 3fff cmp.w r3, #4294967295 80c7b68: d101 bne.n 80c7b6e 80c7b6a: 69fb ldr r3, [r7, #28] 80c7b6c: e0b7 b.n 80c7cde res = change_bitmap(fs, ncl, 1, 1); /* Mark the cluster 'in use' */ 80c7b6e: 2301 movs r3, #1 80c7b70: 2201 movs r2, #1 80c7b72: 69f9 ldr r1, [r7, #28] 80c7b74: 6938 ldr r0, [r7, #16] 80c7b76: f7ff fe37 bl 80c77e8 80c7b7a: 4603 mov r3, r0 80c7b7c: 75fb strb r3, [r7, #23] if (res == FR_INT_ERR) return 1; 80c7b7e: 7dfb ldrb r3, [r7, #23] 80c7b80: 2b02 cmp r3, #2 80c7b82: d101 bne.n 80c7b88 80c7b84: 2301 movs r3, #1 80c7b86: e0aa b.n 80c7cde if (res == FR_DISK_ERR) return 0xFFFFFFFF; 80c7b88: 7dfb ldrb r3, [r7, #23] 80c7b8a: 2b01 cmp r3, #1 80c7b8c: d102 bne.n 80c7b94 80c7b8e: f04f 33ff mov.w r3, #4294967295 80c7b92: e0a4 b.n 80c7cde if (clst == 0) { /* Is it a new chain? */ 80c7b94: 683b ldr r3, [r7, #0] 80c7b96: 2b00 cmp r3, #0 80c7b98: d103 bne.n 80c7ba2 obj->stat = 2; /* Set status 'contiguous' */ 80c7b9a: 687b ldr r3, [r7, #4] 80c7b9c: 2202 movs r2, #2 80c7b9e: 71da strb r2, [r3, #7] 80c7ba0: e011 b.n 80c7bc6 } else { /* It is a stretched chain */ if (obj->stat == 2 && ncl != scl + 1) { /* Is the chain got fragmented? */ 80c7ba2: 687b ldr r3, [r7, #4] 80c7ba4: 79db ldrb r3, [r3, #7] 80c7ba6: 2b02 cmp r3, #2 80c7ba8: d10d bne.n 80c7bc6 80c7baa: 69bb ldr r3, [r7, #24] 80c7bac: 1c5a adds r2, r3, #1 80c7bae: 69fb ldr r3, [r7, #28] 80c7bb0: 429a cmp r2, r3 80c7bb2: d008 beq.n 80c7bc6 obj->n_cont = scl - obj->sclust; /* Set size of the contiguous part */ 80c7bb4: 687b ldr r3, [r7, #4] 80c7bb6: 689b ldr r3, [r3, #8] 80c7bb8: 69ba ldr r2, [r7, #24] 80c7bba: 1ad2 subs r2, r2, r3 80c7bbc: 687b ldr r3, [r7, #4] 80c7bbe: 619a str r2, [r3, #24] obj->stat = 3; /* Change status 'just fragmented' */ 80c7bc0: 687b ldr r3, [r7, #4] 80c7bc2: 2203 movs r2, #3 80c7bc4: 71da strb r2, [r3, #7] } } if (obj->stat != 2) { /* Is the file non-contiguous? */ 80c7bc6: 687b ldr r3, [r7, #4] 80c7bc8: 79db ldrb r3, [r3, #7] 80c7bca: 2b02 cmp r3, #2 80c7bcc: d064 beq.n 80c7c98 if (ncl == clst + 1) { /* Is the cluster next to previous one? */ 80c7bce: 683b ldr r3, [r7, #0] 80c7bd0: 1c5a adds r2, r3, #1 80c7bd2: 69fb ldr r3, [r7, #28] 80c7bd4: 429a cmp r2, r3 80c7bd6: d10b bne.n 80c7bf0 obj->n_frag = obj->n_frag ? obj->n_frag + 1 : 2; /* Increment size of last framgent */ 80c7bd8: 687b ldr r3, [r7, #4] 80c7bda: 69db ldr r3, [r3, #28] 80c7bdc: 2b00 cmp r3, #0 80c7bde: d003 beq.n 80c7be8 80c7be0: 687b ldr r3, [r7, #4] 80c7be2: 69db ldr r3, [r3, #28] 80c7be4: 3301 adds r3, #1 80c7be6: e000 b.n 80c7bea 80c7be8: 2302 movs r3, #2 80c7bea: 687a ldr r2, [r7, #4] 80c7bec: 61d3 str r3, [r2, #28] 80c7bee: e053 b.n 80c7c98 } else { /* New fragment */ if (obj->n_frag == 0) obj->n_frag = 1; 80c7bf0: 687b ldr r3, [r7, #4] 80c7bf2: 69db ldr r3, [r3, #28] 80c7bf4: 2b00 cmp r3, #0 80c7bf6: d102 bne.n 80c7bfe 80c7bf8: 687b ldr r3, [r7, #4] 80c7bfa: 2201 movs r2, #1 80c7bfc: 61da str r2, [r3, #28] res = fill_last_frag(obj, clst, ncl); /* Fill last fragment on the FAT and link it to new one */ 80c7bfe: 69fa ldr r2, [r7, #28] 80c7c00: 6839 ldr r1, [r7, #0] 80c7c02: 6878 ldr r0, [r7, #4] 80c7c04: f7ff fe89 bl 80c791a 80c7c08: 4603 mov r3, r0 80c7c0a: 75fb strb r3, [r7, #23] if (res == FR_OK) obj->n_frag = 1; 80c7c0c: 7dfb ldrb r3, [r7, #23] 80c7c0e: 2b00 cmp r3, #0 80c7c10: d142 bne.n 80c7c98 80c7c12: 687b ldr r3, [r7, #4] 80c7c14: 2201 movs r2, #1 80c7c16: 61da str r2, [r3, #28] 80c7c18: e03e b.n 80c7c98 } } } else #endif { /* On the FAT12/16/32 volume */ ncl = scl; /* Start cluster */ 80c7c1a: 69bb ldr r3, [r7, #24] 80c7c1c: 61fb str r3, [r7, #28] for (;;) { ncl++; /* Next cluster */ 80c7c1e: 69fb ldr r3, [r7, #28] 80c7c20: 3301 adds r3, #1 80c7c22: 61fb str r3, [r7, #28] if (ncl >= fs->n_fatent) { /* Check wrap-around */ 80c7c24: 693b ldr r3, [r7, #16] 80c7c26: 69da ldr r2, [r3, #28] 80c7c28: 69fb ldr r3, [r7, #28] 80c7c2a: 429a cmp r2, r3 80c7c2c: d807 bhi.n 80c7c3e ncl = 2; 80c7c2e: 2302 movs r3, #2 80c7c30: 61fb str r3, [r7, #28] if (ncl > scl) return 0; /* No free cluster */ 80c7c32: 69fa ldr r2, [r7, #28] 80c7c34: 69bb ldr r3, [r7, #24] 80c7c36: 429a cmp r2, r3 80c7c38: d901 bls.n 80c7c3e 80c7c3a: 2300 movs r3, #0 80c7c3c: e04f b.n 80c7cde } cs = get_fat(obj, ncl); /* Get the cluster status */ 80c7c3e: 69f9 ldr r1, [r7, #28] 80c7c40: 6878 ldr r0, [r7, #4] 80c7c42: f7ff fb49 bl 80c72d8 80c7c46: 60f8 str r0, [r7, #12] if (cs == 0) break; /* Found a free cluster */ 80c7c48: 68fb ldr r3, [r7, #12] 80c7c4a: 2b00 cmp r3, #0 80c7c4c: d00e beq.n 80c7c6c if (cs == 1 || cs == 0xFFFFFFFF) return cs; /* An error occurred */ 80c7c4e: 68fb ldr r3, [r7, #12] 80c7c50: 2b01 cmp r3, #1 80c7c52: d003 beq.n 80c7c5c 80c7c54: 68fb ldr r3, [r7, #12] 80c7c56: f1b3 3fff cmp.w r3, #4294967295 80c7c5a: d101 bne.n 80c7c60 80c7c5c: 68fb ldr r3, [r7, #12] 80c7c5e: e03e b.n 80c7cde if (ncl == scl) return 0; /* No free cluster */ 80c7c60: 69fa ldr r2, [r7, #28] 80c7c62: 69bb ldr r3, [r7, #24] 80c7c64: 429a cmp r2, r3 80c7c66: d1da bne.n 80c7c1e 80c7c68: 2300 movs r3, #0 80c7c6a: e038 b.n 80c7cde if (cs == 0) break; /* Found a free cluster */ 80c7c6c: bf00 nop } res = put_fat(fs, ncl, 0xFFFFFFFF); /* Mark the new cluster 'EOC' */ 80c7c6e: f04f 32ff mov.w r2, #4294967295 80c7c72: 69f9 ldr r1, [r7, #28] 80c7c74: 6938 ldr r0, [r7, #16] 80c7c76: f7ff fc47 bl 80c7508 80c7c7a: 4603 mov r3, r0 80c7c7c: 75fb strb r3, [r7, #23] if (res == FR_OK && clst != 0) { 80c7c7e: 7dfb ldrb r3, [r7, #23] 80c7c80: 2b00 cmp r3, #0 80c7c82: d109 bne.n 80c7c98 80c7c84: 683b ldr r3, [r7, #0] 80c7c86: 2b00 cmp r3, #0 80c7c88: d006 beq.n 80c7c98 res = put_fat(fs, clst, ncl); /* Link it from the previous one if needed */ 80c7c8a: 69fa ldr r2, [r7, #28] 80c7c8c: 6839 ldr r1, [r7, #0] 80c7c8e: 6938 ldr r0, [r7, #16] 80c7c90: f7ff fc3a bl 80c7508 80c7c94: 4603 mov r3, r0 80c7c96: 75fb strb r3, [r7, #23] } } if (res == FR_OK) { /* Update FSINFO if function succeeded. */ 80c7c98: 7dfb ldrb r3, [r7, #23] 80c7c9a: 2b00 cmp r3, #0 80c7c9c: d116 bne.n 80c7ccc fs->last_clst = ncl; 80c7c9e: 693b ldr r3, [r7, #16] 80c7ca0: 69fa ldr r2, [r7, #28] 80c7ca2: 615a str r2, [r3, #20] if (fs->free_clst <= fs->n_fatent - 2) fs->free_clst--; 80c7ca4: 693b ldr r3, [r7, #16] 80c7ca6: 699a ldr r2, [r3, #24] 80c7ca8: 693b ldr r3, [r7, #16] 80c7caa: 69db ldr r3, [r3, #28] 80c7cac: 3b02 subs r3, #2 80c7cae: 429a cmp r2, r3 80c7cb0: d804 bhi.n 80c7cbc 80c7cb2: 693b ldr r3, [r7, #16] 80c7cb4: 699b ldr r3, [r3, #24] 80c7cb6: 1e5a subs r2, r3, #1 80c7cb8: 693b ldr r3, [r7, #16] 80c7cba: 619a str r2, [r3, #24] fs->fsi_flag |= 1; 80c7cbc: 693b ldr r3, [r7, #16] 80c7cbe: 791b ldrb r3, [r3, #4] 80c7cc0: f043 0301 orr.w r3, r3, #1 80c7cc4: b2da uxtb r2, r3 80c7cc6: 693b ldr r3, [r7, #16] 80c7cc8: 711a strb r2, [r3, #4] 80c7cca: e007 b.n 80c7cdc } else { ncl = (res == FR_DISK_ERR) ? 0xFFFFFFFF : 1; /* Failed. Generate error status */ 80c7ccc: 7dfb ldrb r3, [r7, #23] 80c7cce: 2b01 cmp r3, #1 80c7cd0: d102 bne.n 80c7cd8 80c7cd2: f04f 33ff mov.w r3, #4294967295 80c7cd6: e000 b.n 80c7cda 80c7cd8: 2301 movs r3, #1 80c7cda: 61fb str r3, [r7, #28] } return ncl; /* Return new cluster number or error status */ 80c7cdc: 69fb ldr r3, [r7, #28] } 80c7cde: 4618 mov r0, r3 80c7ce0: 3720 adds r7, #32 80c7ce2: 46bd mov sp, r7 80c7ce4: bd80 pop {r7, pc} 080c7ce6 : 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# */ ) { 80c7ce6: b5b0 push {r4, r5, r7, lr} 80c7ce8: b088 sub sp, #32 80c7cea: af00 add r7, sp, #0 80c7cec: 60f8 str r0, [r7, #12] 80c7cee: e9c7 2300 strd r2, r3, [r7] DWORD cl, ncl, *tbl; FATFS *fs = fp->obj.fs; 80c7cf2: 68fb ldr r3, [r7, #12] 80c7cf4: 681b ldr r3, [r3, #0] 80c7cf6: 617b str r3, [r7, #20] tbl = fp->cltbl + 1; /* Top of CLMT */ 80c7cf8: 68fb ldr r3, [r7, #12] 80c7cfa: 6d1b ldr r3, [r3, #80] ; 0x50 80c7cfc: 3304 adds r3, #4 80c7cfe: 61bb str r3, [r7, #24] cl = (DWORD)(ofs / SS(fs) / fs->csize); /* Cluster order from top of the file */ 80c7d00: e9d7 2300 ldrd r2, r3, [r7] 80c7d04: 0a54 lsrs r4, r2, #9 80c7d06: ea44 54c3 orr.w r4, r4, r3, lsl #23 80c7d0a: 0a5d lsrs r5, r3, #9 80c7d0c: 697b ldr r3, [r7, #20] 80c7d0e: 895b ldrh r3, [r3, #10] 80c7d10: b29a uxth r2, r3 80c7d12: f04f 0300 mov.w r3, #0 80c7d16: 4620 mov r0, r4 80c7d18: 4629 mov r1, r5 80c7d1a: f758 fc67 bl 80205ec <__aeabi_uldivmod> 80c7d1e: 4603 mov r3, r0 80c7d20: 460c mov r4, r1 80c7d22: 61fb str r3, [r7, #28] for (;;) { ncl = *tbl++; /* Number of cluters in the fragment */ 80c7d24: 69bb ldr r3, [r7, #24] 80c7d26: 1d1a adds r2, r3, #4 80c7d28: 61ba str r2, [r7, #24] 80c7d2a: 681b ldr r3, [r3, #0] 80c7d2c: 613b str r3, [r7, #16] if (ncl == 0) return 0; /* End of table? (error) */ 80c7d2e: 693b ldr r3, [r7, #16] 80c7d30: 2b00 cmp r3, #0 80c7d32: d101 bne.n 80c7d38 80c7d34: 2300 movs r3, #0 80c7d36: e010 b.n 80c7d5a if (cl < ncl) break; /* In this fragment? */ 80c7d38: 69fa ldr r2, [r7, #28] 80c7d3a: 693b ldr r3, [r7, #16] 80c7d3c: 429a cmp r2, r3 80c7d3e: d307 bcc.n 80c7d50 cl -= ncl; tbl++; /* Next fragment */ 80c7d40: 69fa ldr r2, [r7, #28] 80c7d42: 693b ldr r3, [r7, #16] 80c7d44: 1ad3 subs r3, r2, r3 80c7d46: 61fb str r3, [r7, #28] 80c7d48: 69bb ldr r3, [r7, #24] 80c7d4a: 3304 adds r3, #4 80c7d4c: 61bb str r3, [r7, #24] ncl = *tbl++; /* Number of cluters in the fragment */ 80c7d4e: e7e9 b.n 80c7d24 if (cl < ncl) break; /* In this fragment? */ 80c7d50: bf00 nop } return cl + *tbl; /* Return the cluster number */ 80c7d52: 69bb ldr r3, [r7, #24] 80c7d54: 681a ldr r2, [r3, #0] 80c7d56: 69fb ldr r3, [r7, #28] 80c7d58: 4413 add r3, r2 } 80c7d5a: 4618 mov r0, r3 80c7d5c: 3720 adds r7, #32 80c7d5e: 46bd mov sp, r7 80c7d60: bdb0 pop {r4, r5, r7, pc} 080c7d62 : static FRESULT dir_sdi ( /* FR_OK(0):succeeded, !=0:error */ DIR* dp, /* Pointer to directory object */ DWORD ofs /* Offset of directory table */ ) { 80c7d62: b580 push {r7, lr} 80c7d64: b086 sub sp, #24 80c7d66: af00 add r7, sp, #0 80c7d68: 6078 str r0, [r7, #4] 80c7d6a: 6039 str r1, [r7, #0] DWORD csz, clst; FATFS *fs = dp->obj.fs; 80c7d6c: 687b ldr r3, [r7, #4] 80c7d6e: 681b ldr r3, [r3, #0] 80c7d70: 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 */ 80c7d72: 693b ldr r3, [r7, #16] 80c7d74: 781b ldrb r3, [r3, #0] 80c7d76: 2b04 cmp r3, #4 80c7d78: d102 bne.n 80c7d80 80c7d7a: f04f 5280 mov.w r2, #268435456 ; 0x10000000 80c7d7e: e001 b.n 80c7d84 80c7d80: f44f 1200 mov.w r2, #2097152 ; 0x200000 80c7d84: 683b ldr r3, [r7, #0] 80c7d86: 429a cmp r2, r3 80c7d88: d904 bls.n 80c7d94 80c7d8a: 683b ldr r3, [r7, #0] 80c7d8c: f003 031f and.w r3, r3, #31 80c7d90: 2b00 cmp r3, #0 80c7d92: d001 beq.n 80c7d98 return FR_INT_ERR; 80c7d94: 2302 movs r3, #2 80c7d96: e066 b.n 80c7e66 } dp->dptr = ofs; /* Set current offset */ 80c7d98: 687b ldr r3, [r7, #4] 80c7d9a: 683a ldr r2, [r7, #0] 80c7d9c: 631a str r2, [r3, #48] ; 0x30 clst = dp->obj.sclust; /* Table start cluster (0:root) */ 80c7d9e: 687b ldr r3, [r7, #4] 80c7da0: 689b ldr r3, [r3, #8] 80c7da2: 617b str r3, [r7, #20] if (clst == 0 && fs->fs_type >= FS_FAT32) { /* Replace cluster# 0 with root cluster# */ 80c7da4: 697b ldr r3, [r7, #20] 80c7da6: 2b00 cmp r3, #0 80c7da8: d109 bne.n 80c7dbe 80c7daa: 693b ldr r3, [r7, #16] 80c7dac: 781b ldrb r3, [r3, #0] 80c7dae: 2b02 cmp r3, #2 80c7db0: d905 bls.n 80c7dbe clst = fs->dirbase; 80c7db2: 693b ldr r3, [r7, #16] 80c7db4: 6adb ldr r3, [r3, #44] ; 0x2c 80c7db6: 617b str r3, [r7, #20] if (_FS_EXFAT) dp->obj.stat = 0; /* exFAT: Root dir has an FAT chain */ 80c7db8: 687b ldr r3, [r7, #4] 80c7dba: 2200 movs r2, #0 80c7dbc: 71da strb r2, [r3, #7] } if (clst == 0) { /* Static table (root-directory in FAT12/16) */ 80c7dbe: 697b ldr r3, [r7, #20] 80c7dc0: 2b00 cmp r3, #0 80c7dc2: d10c bne.n 80c7dde if (ofs / SZDIRE >= fs->n_rootdir) return FR_INT_ERR; /* Is index out of range? */ 80c7dc4: 683b ldr r3, [r7, #0] 80c7dc6: 095b lsrs r3, r3, #5 80c7dc8: 693a ldr r2, [r7, #16] 80c7dca: 8912 ldrh r2, [r2, #8] 80c7dcc: 4293 cmp r3, r2 80c7dce: d301 bcc.n 80c7dd4 80c7dd0: 2302 movs r3, #2 80c7dd2: e048 b.n 80c7e66 dp->sect = fs->dirbase; 80c7dd4: 693b ldr r3, [r7, #16] 80c7dd6: 6ada ldr r2, [r3, #44] ; 0x2c 80c7dd8: 687b ldr r3, [r7, #4] 80c7dda: 639a str r2, [r3, #56] ; 0x38 80c7ddc: e029 b.n 80c7e32 } else { /* Dynamic table (sub-directory or root-directory in FAT32+) */ csz = (DWORD)fs->csize * SS(fs); /* Bytes per cluster */ 80c7dde: 693b ldr r3, [r7, #16] 80c7de0: 895b ldrh r3, [r3, #10] 80c7de2: 025b lsls r3, r3, #9 80c7de4: 60fb str r3, [r7, #12] while (ofs >= csz) { /* Follow cluster chain */ 80c7de6: e019 b.n 80c7e1c clst = get_fat(&dp->obj, clst); /* Get next cluster */ 80c7de8: 687b ldr r3, [r7, #4] 80c7dea: 6979 ldr r1, [r7, #20] 80c7dec: 4618 mov r0, r3 80c7dee: f7ff fa73 bl 80c72d8 80c7df2: 6178 str r0, [r7, #20] if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ 80c7df4: 697b ldr r3, [r7, #20] 80c7df6: f1b3 3fff cmp.w r3, #4294967295 80c7dfa: d101 bne.n 80c7e00 80c7dfc: 2301 movs r3, #1 80c7dfe: e032 b.n 80c7e66 if (clst < 2 || clst >= fs->n_fatent) return FR_INT_ERR; /* Reached to end of table or internal error */ 80c7e00: 697b ldr r3, [r7, #20] 80c7e02: 2b01 cmp r3, #1 80c7e04: d904 bls.n 80c7e10 80c7e06: 693b ldr r3, [r7, #16] 80c7e08: 69da ldr r2, [r3, #28] 80c7e0a: 697b ldr r3, [r7, #20] 80c7e0c: 429a cmp r2, r3 80c7e0e: d801 bhi.n 80c7e14 80c7e10: 2302 movs r3, #2 80c7e12: e028 b.n 80c7e66 ofs -= csz; 80c7e14: 683a ldr r2, [r7, #0] 80c7e16: 68fb ldr r3, [r7, #12] 80c7e18: 1ad3 subs r3, r2, r3 80c7e1a: 603b str r3, [r7, #0] while (ofs >= csz) { /* Follow cluster chain */ 80c7e1c: 683a ldr r2, [r7, #0] 80c7e1e: 68fb ldr r3, [r7, #12] 80c7e20: 429a cmp r2, r3 80c7e22: d2e1 bcs.n 80c7de8 } dp->sect = clust2sect(fs, clst); 80c7e24: 6979 ldr r1, [r7, #20] 80c7e26: 6938 ldr r0, [r7, #16] 80c7e28: f7ff fa36 bl 80c7298 80c7e2c: 4602 mov r2, r0 80c7e2e: 687b ldr r3, [r7, #4] 80c7e30: 639a str r2, [r3, #56] ; 0x38 } dp->clust = clst; /* Current cluster# */ 80c7e32: 687b ldr r3, [r7, #4] 80c7e34: 697a ldr r2, [r7, #20] 80c7e36: 635a str r2, [r3, #52] ; 0x34 if (!dp->sect) return FR_INT_ERR; 80c7e38: 687b ldr r3, [r7, #4] 80c7e3a: 6b9b ldr r3, [r3, #56] ; 0x38 80c7e3c: 2b00 cmp r3, #0 80c7e3e: d101 bne.n 80c7e44 80c7e40: 2302 movs r3, #2 80c7e42: e010 b.n 80c7e66 dp->sect += ofs / SS(fs); /* Sector# of the directory entry */ 80c7e44: 687b ldr r3, [r7, #4] 80c7e46: 6b9a ldr r2, [r3, #56] ; 0x38 80c7e48: 683b ldr r3, [r7, #0] 80c7e4a: 0a5b lsrs r3, r3, #9 80c7e4c: 441a add r2, r3 80c7e4e: 687b ldr r3, [r7, #4] 80c7e50: 639a str r2, [r3, #56] ; 0x38 dp->dir = fs->win + (ofs % SS(fs)); /* Pointer to the entry in the win[] */ 80c7e52: 693b ldr r3, [r7, #16] 80c7e54: f103 0238 add.w r2, r3, #56 ; 0x38 80c7e58: 683b ldr r3, [r7, #0] 80c7e5a: f3c3 0308 ubfx r3, r3, #0, #9 80c7e5e: 441a add r2, r3 80c7e60: 687b ldr r3, [r7, #4] 80c7e62: 63da str r2, [r3, #60] ; 0x3c return FR_OK; 80c7e64: 2300 movs r3, #0 } 80c7e66: 4618 mov r0, r3 80c7e68: 3718 adds r7, #24 80c7e6a: 46bd mov sp, r7 80c7e6c: bd80 pop {r7, pc} 080c7e6e : 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 */ ) { 80c7e6e: b580 push {r7, lr} 80c7e70: b086 sub sp, #24 80c7e72: af00 add r7, sp, #0 80c7e74: 6078 str r0, [r7, #4] 80c7e76: 6039 str r1, [r7, #0] DWORD ofs, clst; FATFS *fs = dp->obj.fs; 80c7e78: 687b ldr r3, [r7, #4] 80c7e7a: 681b ldr r3, [r3, #0] 80c7e7c: 60fb str r3, [r7, #12] #if !_FS_READONLY UINT n; #endif ofs = dp->dptr + SZDIRE; /* Next entry */ 80c7e7e: 687b ldr r3, [r7, #4] 80c7e80: 6b1b ldr r3, [r3, #48] ; 0x30 80c7e82: 3320 adds r3, #32 80c7e84: 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 */ 80c7e86: 687b ldr r3, [r7, #4] 80c7e88: 6b9b ldr r3, [r3, #56] ; 0x38 80c7e8a: 2b00 cmp r3, #0 80c7e8c: d00b beq.n 80c7ea6 80c7e8e: 68fb ldr r3, [r7, #12] 80c7e90: 781b ldrb r3, [r3, #0] 80c7e92: 2b04 cmp r3, #4 80c7e94: d102 bne.n 80c7e9c 80c7e96: f04f 5280 mov.w r2, #268435456 ; 0x10000000 80c7e9a: e001 b.n 80c7ea0 80c7e9c: f44f 1200 mov.w r2, #2097152 ; 0x200000 80c7ea0: 68bb ldr r3, [r7, #8] 80c7ea2: 429a cmp r2, r3 80c7ea4: d801 bhi.n 80c7eaa 80c7ea6: 2304 movs r3, #4 80c7ea8: e0b2 b.n 80c8010 if (ofs % SS(fs) == 0) { /* Sector changed? */ 80c7eaa: 68bb ldr r3, [r7, #8] 80c7eac: f3c3 0308 ubfx r3, r3, #0, #9 80c7eb0: 2b00 cmp r3, #0 80c7eb2: f040 80a0 bne.w 80c7ff6 dp->sect++; /* Next sector */ 80c7eb6: 687b ldr r3, [r7, #4] 80c7eb8: 6b9b ldr r3, [r3, #56] ; 0x38 80c7eba: 1c5a adds r2, r3, #1 80c7ebc: 687b ldr r3, [r7, #4] 80c7ebe: 639a str r2, [r3, #56] ; 0x38 if (!dp->clust) { /* Static table */ 80c7ec0: 687b ldr r3, [r7, #4] 80c7ec2: 6b5b ldr r3, [r3, #52] ; 0x34 80c7ec4: 2b00 cmp r3, #0 80c7ec6: d10b bne.n 80c7ee0 if (ofs / SZDIRE >= fs->n_rootdir) { /* Report EOT if it reached end of static table */ 80c7ec8: 68bb ldr r3, [r7, #8] 80c7eca: 095b lsrs r3, r3, #5 80c7ecc: 68fa ldr r2, [r7, #12] 80c7ece: 8912 ldrh r2, [r2, #8] 80c7ed0: 4293 cmp r3, r2 80c7ed2: f0c0 8090 bcc.w 80c7ff6 dp->sect = 0; return FR_NO_FILE; 80c7ed6: 687b ldr r3, [r7, #4] 80c7ed8: 2200 movs r2, #0 80c7eda: 639a str r2, [r3, #56] ; 0x38 80c7edc: 2304 movs r3, #4 80c7ede: e097 b.n 80c8010 } } else { /* Dynamic table */ if ((ofs / SS(fs) & (fs->csize - 1)) == 0) { /* Cluster changed? */ 80c7ee0: 68bb ldr r3, [r7, #8] 80c7ee2: 0a5b lsrs r3, r3, #9 80c7ee4: 68fa ldr r2, [r7, #12] 80c7ee6: 8952 ldrh r2, [r2, #10] 80c7ee8: 3a01 subs r2, #1 80c7eea: 4013 ands r3, r2 80c7eec: 2b00 cmp r3, #0 80c7eee: f040 8082 bne.w 80c7ff6 clst = get_fat(&dp->obj, dp->clust); /* Get next cluster */ 80c7ef2: 687a ldr r2, [r7, #4] 80c7ef4: 687b ldr r3, [r7, #4] 80c7ef6: 6b5b ldr r3, [r3, #52] ; 0x34 80c7ef8: 4619 mov r1, r3 80c7efa: 4610 mov r0, r2 80c7efc: f7ff f9ec bl 80c72d8 80c7f00: 6178 str r0, [r7, #20] if (clst <= 1) return FR_INT_ERR; /* Internal error */ 80c7f02: 697b ldr r3, [r7, #20] 80c7f04: 2b01 cmp r3, #1 80c7f06: d801 bhi.n 80c7f0c 80c7f08: 2302 movs r3, #2 80c7f0a: e081 b.n 80c8010 if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ 80c7f0c: 697b ldr r3, [r7, #20] 80c7f0e: f1b3 3fff cmp.w r3, #4294967295 80c7f12: d101 bne.n 80c7f18 80c7f14: 2301 movs r3, #1 80c7f16: e07b b.n 80c8010 if (clst >= fs->n_fatent) { /* Reached end of dynamic table */ 80c7f18: 68fb ldr r3, [r7, #12] 80c7f1a: 69da ldr r2, [r3, #28] 80c7f1c: 697b ldr r3, [r7, #20] 80c7f1e: 429a cmp r2, r3 80c7f20: d85f bhi.n 80c7fe2 #if !_FS_READONLY if (!stretch) { /* If no stretch, report EOT */ 80c7f22: 683b ldr r3, [r7, #0] 80c7f24: 2b00 cmp r3, #0 80c7f26: d104 bne.n 80c7f32 dp->sect = 0; return FR_NO_FILE; 80c7f28: 687b ldr r3, [r7, #4] 80c7f2a: 2200 movs r2, #0 80c7f2c: 639a str r2, [r3, #56] ; 0x38 80c7f2e: 2304 movs r3, #4 80c7f30: e06e b.n 80c8010 } clst = create_chain(&dp->obj, dp->clust); /* Allocate a cluster */ 80c7f32: 687a ldr r2, [r7, #4] 80c7f34: 687b ldr r3, [r7, #4] 80c7f36: 6b5b ldr r3, [r3, #52] ; 0x34 80c7f38: 4619 mov r1, r3 80c7f3a: 4610 mov r0, r2 80c7f3c: f7ff fdd2 bl 80c7ae4 80c7f40: 6178 str r0, [r7, #20] if (clst == 0) return FR_DENIED; /* No free cluster */ 80c7f42: 697b ldr r3, [r7, #20] 80c7f44: 2b00 cmp r3, #0 80c7f46: d101 bne.n 80c7f4c 80c7f48: 2307 movs r3, #7 80c7f4a: e061 b.n 80c8010 if (clst == 1) return FR_INT_ERR; /* Internal error */ 80c7f4c: 697b ldr r3, [r7, #20] 80c7f4e: 2b01 cmp r3, #1 80c7f50: d101 bne.n 80c7f56 80c7f52: 2302 movs r3, #2 80c7f54: e05c b.n 80c8010 if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ 80c7f56: 697b ldr r3, [r7, #20] 80c7f58: f1b3 3fff cmp.w r3, #4294967295 80c7f5c: d101 bne.n 80c7f62 80c7f5e: 2301 movs r3, #1 80c7f60: e056 b.n 80c8010 /* Clean-up the stretched table */ if (_FS_EXFAT) dp->obj.stat |= 4; /* The directory needs to be updated */ 80c7f62: 687b ldr r3, [r7, #4] 80c7f64: 79db ldrb r3, [r3, #7] 80c7f66: f043 0304 orr.w r3, r3, #4 80c7f6a: b2da uxtb r2, r3 80c7f6c: 687b ldr r3, [r7, #4] 80c7f6e: 71da strb r2, [r3, #7] if (sync_window(fs) != FR_OK) return FR_DISK_ERR; /* Flush disk access window */ 80c7f70: 68f8 ldr r0, [r7, #12] 80c7f72: f7ff f8b2 bl 80c70da 80c7f76: 4603 mov r3, r0 80c7f78: 2b00 cmp r3, #0 80c7f7a: d001 beq.n 80c7f80 80c7f7c: 2301 movs r3, #1 80c7f7e: e047 b.n 80c8010 mem_set(fs->win, 0, SS(fs)); /* Clear window buffer */ 80c7f80: 68fb ldr r3, [r7, #12] 80c7f82: 3338 adds r3, #56 ; 0x38 80c7f84: f44f 7200 mov.w r2, #512 ; 0x200 80c7f88: 2100 movs r1, #0 80c7f8a: 4618 mov r0, r3 80c7f8c: f7ff f849 bl 80c7022 for (n = 0, fs->winsect = clust2sect(fs, clst); n < fs->csize; n++, fs->winsect++) { /* Fill the new cluster with 0 */ 80c7f90: 2300 movs r3, #0 80c7f92: 613b str r3, [r7, #16] 80c7f94: 6979 ldr r1, [r7, #20] 80c7f96: 68f8 ldr r0, [r7, #12] 80c7f98: f7ff f97e bl 80c7298 80c7f9c: 4602 mov r2, r0 80c7f9e: 68fb ldr r3, [r7, #12] 80c7fa0: 635a str r2, [r3, #52] ; 0x34 80c7fa2: e012 b.n 80c7fca fs->wflag = 1; 80c7fa4: 68fb ldr r3, [r7, #12] 80c7fa6: 2201 movs r2, #1 80c7fa8: 70da strb r2, [r3, #3] if (sync_window(fs) != FR_OK) return FR_DISK_ERR; 80c7faa: 68f8 ldr r0, [r7, #12] 80c7fac: f7ff f895 bl 80c70da 80c7fb0: 4603 mov r3, r0 80c7fb2: 2b00 cmp r3, #0 80c7fb4: d001 beq.n 80c7fba 80c7fb6: 2301 movs r3, #1 80c7fb8: e02a b.n 80c8010 for (n = 0, fs->winsect = clust2sect(fs, clst); n < fs->csize; n++, fs->winsect++) { /* Fill the new cluster with 0 */ 80c7fba: 693b ldr r3, [r7, #16] 80c7fbc: 3301 adds r3, #1 80c7fbe: 613b str r3, [r7, #16] 80c7fc0: 68fb ldr r3, [r7, #12] 80c7fc2: 6b5b ldr r3, [r3, #52] ; 0x34 80c7fc4: 1c5a adds r2, r3, #1 80c7fc6: 68fb ldr r3, [r7, #12] 80c7fc8: 635a str r2, [r3, #52] ; 0x34 80c7fca: 68fb ldr r3, [r7, #12] 80c7fcc: 895b ldrh r3, [r3, #10] 80c7fce: 461a mov r2, r3 80c7fd0: 693b ldr r3, [r7, #16] 80c7fd2: 429a cmp r2, r3 80c7fd4: d8e6 bhi.n 80c7fa4 } fs->winsect -= n; /* Restore window offset */ 80c7fd6: 68fb ldr r3, [r7, #12] 80c7fd8: 6b5a ldr r2, [r3, #52] ; 0x34 80c7fda: 693b ldr r3, [r7, #16] 80c7fdc: 1ad2 subs r2, r2, r3 80c7fde: 68fb ldr r3, [r7, #12] 80c7fe0: 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 */ 80c7fe2: 687b ldr r3, [r7, #4] 80c7fe4: 697a ldr r2, [r7, #20] 80c7fe6: 635a str r2, [r3, #52] ; 0x34 dp->sect = clust2sect(fs, clst); 80c7fe8: 6979 ldr r1, [r7, #20] 80c7fea: 68f8 ldr r0, [r7, #12] 80c7fec: f7ff f954 bl 80c7298 80c7ff0: 4602 mov r2, r0 80c7ff2: 687b ldr r3, [r7, #4] 80c7ff4: 639a str r2, [r3, #56] ; 0x38 } } } dp->dptr = ofs; /* Current entry */ 80c7ff6: 687b ldr r3, [r7, #4] 80c7ff8: 68ba ldr r2, [r7, #8] 80c7ffa: 631a str r2, [r3, #48] ; 0x30 dp->dir = fs->win + ofs % SS(fs); /* Pointer to the entry in the win[] */ 80c7ffc: 68fb ldr r3, [r7, #12] 80c7ffe: f103 0238 add.w r2, r3, #56 ; 0x38 80c8002: 68bb ldr r3, [r7, #8] 80c8004: f3c3 0308 ubfx r3, r3, #0, #9 80c8008: 441a add r2, r3 80c800a: 687b ldr r3, [r7, #4] 80c800c: 63da str r2, [r3, #60] ; 0x3c return FR_OK; 80c800e: 2300 movs r3, #0 } 80c8010: 4618 mov r0, r3 80c8012: 3718 adds r7, #24 80c8014: 46bd mov sp, r7 80c8016: bd80 pop {r7, pc} 080c8018 : 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 */ ) { 80c8018: b580 push {r7, lr} 80c801a: b086 sub sp, #24 80c801c: af00 add r7, sp, #0 80c801e: 6078 str r0, [r7, #4] 80c8020: 6039 str r1, [r7, #0] FRESULT res; UINT n; FATFS *fs = dp->obj.fs; 80c8022: 687b ldr r3, [r7, #4] 80c8024: 681b ldr r3, [r3, #0] 80c8026: 60fb str r3, [r7, #12] res = dir_sdi(dp, 0); 80c8028: 2100 movs r1, #0 80c802a: 6878 ldr r0, [r7, #4] 80c802c: f7ff fe99 bl 80c7d62 80c8030: 4603 mov r3, r0 80c8032: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c8034: 7dfb ldrb r3, [r7, #23] 80c8036: 2b00 cmp r3, #0 80c8038: d140 bne.n 80c80bc n = 0; 80c803a: 2300 movs r3, #0 80c803c: 613b str r3, [r7, #16] do { res = move_window(fs, dp->sect); 80c803e: 687b ldr r3, [r7, #4] 80c8040: 6b9b ldr r3, [r3, #56] ; 0x38 80c8042: 4619 mov r1, r3 80c8044: 68f8 ldr r0, [r7, #12] 80c8046: f7ff f88c bl 80c7162 80c804a: 4603 mov r3, r0 80c804c: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c804e: 7dfb ldrb r3, [r7, #23] 80c8050: 2b00 cmp r3, #0 80c8052: d132 bne.n 80c80ba #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)) { 80c8054: 68fb ldr r3, [r7, #12] 80c8056: 781b ldrb r3, [r3, #0] 80c8058: 2b04 cmp r3, #4 80c805a: d108 bne.n 80c806e 80c805c: 687b ldr r3, [r7, #4] 80c805e: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8060: 781b ldrb r3, [r3, #0] 80c8062: b25b sxtb r3, r3 80c8064: 43db mvns r3, r3 80c8066: b2db uxtb r3, r3 80c8068: 09db lsrs r3, r3, #7 80c806a: b2db uxtb r3, r3 80c806c: e00f b.n 80c808e 80c806e: 687b ldr r3, [r7, #4] 80c8070: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8072: 781b ldrb r3, [r3, #0] 80c8074: 2be5 cmp r3, #229 ; 0xe5 80c8076: d004 beq.n 80c8082 80c8078: 687b ldr r3, [r7, #4] 80c807a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c807c: 781b ldrb r3, [r3, #0] 80c807e: 2b00 cmp r3, #0 80c8080: d101 bne.n 80c8086 80c8082: 2301 movs r3, #1 80c8084: e000 b.n 80c8088 80c8086: 2300 movs r3, #0 80c8088: f003 0301 and.w r3, r3, #1 80c808c: b2db uxtb r3, r3 80c808e: 2b00 cmp r3, #0 80c8090: d007 beq.n 80c80a2 #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 */ 80c8092: 693b ldr r3, [r7, #16] 80c8094: 3301 adds r3, #1 80c8096: 613b str r3, [r7, #16] 80c8098: 693a ldr r2, [r7, #16] 80c809a: 683b ldr r3, [r7, #0] 80c809c: 429a cmp r2, r3 80c809e: d102 bne.n 80c80a6 80c80a0: e00c b.n 80c80bc } else { n = 0; /* Not a blank entry. Restart to search */ 80c80a2: 2300 movs r3, #0 80c80a4: 613b str r3, [r7, #16] } res = dir_next(dp, 1); 80c80a6: 2101 movs r1, #1 80c80a8: 6878 ldr r0, [r7, #4] 80c80aa: f7ff fee0 bl 80c7e6e 80c80ae: 4603 mov r3, r0 80c80b0: 75fb strb r3, [r7, #23] } while (res == FR_OK); /* Next entry with table stretch enabled */ 80c80b2: 7dfb ldrb r3, [r7, #23] 80c80b4: 2b00 cmp r3, #0 80c80b6: d0c2 beq.n 80c803e 80c80b8: e000 b.n 80c80bc if (res != FR_OK) break; 80c80ba: bf00 nop } if (res == FR_NO_FILE) res = FR_DENIED; /* No directory entry to allocate */ 80c80bc: 7dfb ldrb r3, [r7, #23] 80c80be: 2b04 cmp r3, #4 80c80c0: d101 bne.n 80c80c6 80c80c2: 2307 movs r3, #7 80c80c4: 75fb strb r3, [r7, #23] return res; 80c80c6: 7dfb ldrb r3, [r7, #23] } 80c80c8: 4618 mov r0, r3 80c80ca: 3718 adds r7, #24 80c80cc: 46bd mov sp, r7 80c80ce: bd80 pop {r7, pc} 080c80d0 : 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 */ ) { 80c80d0: b580 push {r7, lr} 80c80d2: b084 sub sp, #16 80c80d4: af00 add r7, sp, #0 80c80d6: 6078 str r0, [r7, #4] 80c80d8: 6039 str r1, [r7, #0] DWORD cl; cl = ld_word(dir + DIR_FstClusLO); 80c80da: 683b ldr r3, [r7, #0] 80c80dc: 331a adds r3, #26 80c80de: 4618 mov r0, r3 80c80e0: f7fe fdbc bl 80c6c5c 80c80e4: 4603 mov r3, r0 80c80e6: 60fb str r3, [r7, #12] if (fs->fs_type == FS_FAT32) { 80c80e8: 687b ldr r3, [r7, #4] 80c80ea: 781b ldrb r3, [r3, #0] 80c80ec: 2b03 cmp r3, #3 80c80ee: d109 bne.n 80c8104 cl |= (DWORD)ld_word(dir + DIR_FstClusHI) << 16; 80c80f0: 683b ldr r3, [r7, #0] 80c80f2: 3314 adds r3, #20 80c80f4: 4618 mov r0, r3 80c80f6: f7fe fdb1 bl 80c6c5c 80c80fa: 4603 mov r3, r0 80c80fc: 041b lsls r3, r3, #16 80c80fe: 68fa ldr r2, [r7, #12] 80c8100: 4313 orrs r3, r2 80c8102: 60fb str r3, [r7, #12] } return cl; 80c8104: 68fb ldr r3, [r7, #12] } 80c8106: 4618 mov r0, r3 80c8108: 3710 adds r7, #16 80c810a: 46bd mov sp, r7 80c810c: bd80 pop {r7, pc} 080c810e : void st_clust ( FATFS* fs, /* Pointer to the fs object */ BYTE* dir, /* Pointer to the key entry */ DWORD cl /* Value to be set */ ) { 80c810e: b580 push {r7, lr} 80c8110: b084 sub sp, #16 80c8112: af00 add r7, sp, #0 80c8114: 60f8 str r0, [r7, #12] 80c8116: 60b9 str r1, [r7, #8] 80c8118: 607a str r2, [r7, #4] st_word(dir + DIR_FstClusLO, (WORD)cl); 80c811a: 68bb ldr r3, [r7, #8] 80c811c: 331a adds r3, #26 80c811e: 687a ldr r2, [r7, #4] 80c8120: b292 uxth r2, r2 80c8122: 4611 mov r1, r2 80c8124: 4618 mov r0, r3 80c8126: f7fe fe83 bl 80c6e30 if (fs->fs_type == FS_FAT32) { 80c812a: 68fb ldr r3, [r7, #12] 80c812c: 781b ldrb r3, [r3, #0] 80c812e: 2b03 cmp r3, #3 80c8130: d109 bne.n 80c8146 st_word(dir + DIR_FstClusHI, (WORD)(cl >> 16)); 80c8132: 68bb ldr r3, [r7, #8] 80c8134: f103 0214 add.w r2, r3, #20 80c8138: 687b ldr r3, [r7, #4] 80c813a: 0c1b lsrs r3, r3, #16 80c813c: b29b uxth r3, r3 80c813e: 4619 mov r1, r3 80c8140: 4610 mov r0, r2 80c8142: f7fe fe75 bl 80c6e30 } } 80c8146: bf00 nop 80c8148: 3710 adds r7, #16 80c814a: 46bd mov sp, r7 80c814c: bd80 pop {r7, pc} ... 080c8150 : 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 */ ) { 80c8150: b590 push {r4, r7, lr} 80c8152: b087 sub sp, #28 80c8154: af00 add r7, sp, #0 80c8156: 6078 str r0, [r7, #4] 80c8158: 6039 str r1, [r7, #0] UINT i, s; WCHAR wc, uc; if (ld_word(dir + LDIR_FstClusLO) != 0) return 0; /* Check LDIR_FstClusLO */ 80c815a: 683b ldr r3, [r7, #0] 80c815c: 331a adds r3, #26 80c815e: 4618 mov r0, r3 80c8160: f7fe fd7c bl 80c6c5c 80c8164: 4603 mov r3, r0 80c8166: 2b00 cmp r3, #0 80c8168: d001 beq.n 80c816e 80c816a: 2300 movs r3, #0 80c816c: e059 b.n 80c8222 i = ((dir[LDIR_Ord] & 0x3F) - 1) * 13; /* Offset in the LFN buffer */ 80c816e: 683b ldr r3, [r7, #0] 80c8170: 781b ldrb r3, [r3, #0] 80c8172: f003 033f and.w r3, r3, #63 ; 0x3f 80c8176: 1e5a subs r2, r3, #1 80c8178: 4613 mov r3, r2 80c817a: 005b lsls r3, r3, #1 80c817c: 4413 add r3, r2 80c817e: 009b lsls r3, r3, #2 80c8180: 4413 add r3, r2 80c8182: 617b str r3, [r7, #20] for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c8184: 2301 movs r3, #1 80c8186: 81fb strh r3, [r7, #14] 80c8188: 2300 movs r3, #0 80c818a: 613b str r3, [r7, #16] 80c818c: e033 b.n 80c81f6 uc = ld_word(dir + LfnOfs[s]); /* Pick an LFN character */ 80c818e: 4a27 ldr r2, [pc, #156] ; (80c822c ) 80c8190: 693b ldr r3, [r7, #16] 80c8192: 4413 add r3, r2 80c8194: 781b ldrb r3, [r3, #0] 80c8196: 461a mov r2, r3 80c8198: 683b ldr r3, [r7, #0] 80c819a: 4413 add r3, r2 80c819c: 4618 mov r0, r3 80c819e: f7fe fd5d bl 80c6c5c 80c81a2: 4603 mov r3, r0 80c81a4: 81bb strh r3, [r7, #12] if (wc) { 80c81a6: 89fb ldrh r3, [r7, #14] 80c81a8: 2b00 cmp r3, #0 80c81aa: d01a beq.n 80c81e2 if (i >= _MAX_LFN || ff_wtoupper(uc) != ff_wtoupper(lfnbuf[i++])) { /* Compare it */ 80c81ac: 697b ldr r3, [r7, #20] 80c81ae: 2bfe cmp r3, #254 ; 0xfe 80c81b0: d812 bhi.n 80c81d8 80c81b2: 89bb ldrh r3, [r7, #12] 80c81b4: 4618 mov r0, r3 80c81b6: f005 f841 bl 80cd23c 80c81ba: 4603 mov r3, r0 80c81bc: 461c mov r4, r3 80c81be: 697b ldr r3, [r7, #20] 80c81c0: 1c5a adds r2, r3, #1 80c81c2: 617a str r2, [r7, #20] 80c81c4: 005b lsls r3, r3, #1 80c81c6: 687a ldr r2, [r7, #4] 80c81c8: 4413 add r3, r2 80c81ca: 881b ldrh r3, [r3, #0] 80c81cc: 4618 mov r0, r3 80c81ce: f005 f835 bl 80cd23c 80c81d2: 4603 mov r3, r0 80c81d4: 429c cmp r4, r3 80c81d6: d001 beq.n 80c81dc return 0; /* Not matched */ 80c81d8: 2300 movs r3, #0 80c81da: e022 b.n 80c8222 } wc = uc; 80c81dc: 89bb ldrh r3, [r7, #12] 80c81de: 81fb strh r3, [r7, #14] 80c81e0: e006 b.n 80c81f0 } else { if (uc != 0xFFFF) return 0; /* Check filler */ 80c81e2: 89bb ldrh r3, [r7, #12] 80c81e4: f64f 72ff movw r2, #65535 ; 0xffff 80c81e8: 4293 cmp r3, r2 80c81ea: d001 beq.n 80c81f0 80c81ec: 2300 movs r3, #0 80c81ee: e018 b.n 80c8222 for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c81f0: 693b ldr r3, [r7, #16] 80c81f2: 3301 adds r3, #1 80c81f4: 613b str r3, [r7, #16] 80c81f6: 693b ldr r3, [r7, #16] 80c81f8: 2b0c cmp r3, #12 80c81fa: d9c8 bls.n 80c818e } } if ((dir[LDIR_Ord] & LLEF) && wc && lfnbuf[i]) return 0; /* Last segment matched but different length */ 80c81fc: 683b ldr r3, [r7, #0] 80c81fe: 781b ldrb r3, [r3, #0] 80c8200: f003 0340 and.w r3, r3, #64 ; 0x40 80c8204: 2b00 cmp r3, #0 80c8206: d00b beq.n 80c8220 80c8208: 89fb ldrh r3, [r7, #14] 80c820a: 2b00 cmp r3, #0 80c820c: d008 beq.n 80c8220 80c820e: 697b ldr r3, [r7, #20] 80c8210: 005b lsls r3, r3, #1 80c8212: 687a ldr r2, [r7, #4] 80c8214: 4413 add r3, r2 80c8216: 881b ldrh r3, [r3, #0] 80c8218: 2b00 cmp r3, #0 80c821a: d001 beq.n 80c8220 80c821c: 2300 movs r3, #0 80c821e: e000 b.n 80c8222 return 1; /* The part of LFN matched */ 80c8220: 2301 movs r3, #1 } 80c8222: 4618 mov r0, r3 80c8224: 371c adds r7, #28 80c8226: 46bd mov sp, r7 80c8228: bd90 pop {r4, r7, pc} 80c822a: bf00 nop 80c822c: 0816e05c .word 0x0816e05c 080c8230 : 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 */ ) { 80c8230: b580 push {r7, lr} 80c8232: b086 sub sp, #24 80c8234: af00 add r7, sp, #0 80c8236: 6078 str r0, [r7, #4] 80c8238: 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 */ 80c823a: 683b ldr r3, [r7, #0] 80c823c: 331a adds r3, #26 80c823e: 4618 mov r0, r3 80c8240: f7fe fd0c bl 80c6c5c 80c8244: 4603 mov r3, r0 80c8246: 2b00 cmp r3, #0 80c8248: d001 beq.n 80c824e 80c824a: 2300 movs r3, #0 80c824c: e04d b.n 80c82ea i = ((dir[LDIR_Ord] & ~LLEF) - 1) * 13; /* Offset in the LFN buffer */ 80c824e: 683b ldr r3, [r7, #0] 80c8250: 781b ldrb r3, [r3, #0] 80c8252: f023 0340 bic.w r3, r3, #64 ; 0x40 80c8256: 1e5a subs r2, r3, #1 80c8258: 4613 mov r3, r2 80c825a: 005b lsls r3, r3, #1 80c825c: 4413 add r3, r2 80c825e: 009b lsls r3, r3, #2 80c8260: 4413 add r3, r2 80c8262: 617b str r3, [r7, #20] for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c8264: 2301 movs r3, #1 80c8266: 81fb strh r3, [r7, #14] 80c8268: 2300 movs r3, #0 80c826a: 613b str r3, [r7, #16] 80c826c: e028 b.n 80c82c0 uc = ld_word(dir + LfnOfs[s]); /* Pick an LFN character */ 80c826e: 4a21 ldr r2, [pc, #132] ; (80c82f4 ) 80c8270: 693b ldr r3, [r7, #16] 80c8272: 4413 add r3, r2 80c8274: 781b ldrb r3, [r3, #0] 80c8276: 461a mov r2, r3 80c8278: 683b ldr r3, [r7, #0] 80c827a: 4413 add r3, r2 80c827c: 4618 mov r0, r3 80c827e: f7fe fced bl 80c6c5c 80c8282: 4603 mov r3, r0 80c8284: 81bb strh r3, [r7, #12] if (wc) { 80c8286: 89fb ldrh r3, [r7, #14] 80c8288: 2b00 cmp r3, #0 80c828a: d00f beq.n 80c82ac if (i >= _MAX_LFN) return 0; /* Buffer overflow? */ 80c828c: 697b ldr r3, [r7, #20] 80c828e: 2bfe cmp r3, #254 ; 0xfe 80c8290: d901 bls.n 80c8296 80c8292: 2300 movs r3, #0 80c8294: e029 b.n 80c82ea lfnbuf[i++] = wc = uc; /* Store it */ 80c8296: 697b ldr r3, [r7, #20] 80c8298: 1c5a adds r2, r3, #1 80c829a: 617a str r2, [r7, #20] 80c829c: 005b lsls r3, r3, #1 80c829e: 687a ldr r2, [r7, #4] 80c82a0: 4413 add r3, r2 80c82a2: 89ba ldrh r2, [r7, #12] 80c82a4: 81fa strh r2, [r7, #14] 80c82a6: 89fa ldrh r2, [r7, #14] 80c82a8: 801a strh r2, [r3, #0] 80c82aa: e006 b.n 80c82ba } else { if (uc != 0xFFFF) return 0; /* Check filler */ 80c82ac: 89bb ldrh r3, [r7, #12] 80c82ae: f64f 72ff movw r2, #65535 ; 0xffff 80c82b2: 4293 cmp r3, r2 80c82b4: d001 beq.n 80c82ba 80c82b6: 2300 movs r3, #0 80c82b8: e017 b.n 80c82ea for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c82ba: 693b ldr r3, [r7, #16] 80c82bc: 3301 adds r3, #1 80c82be: 613b str r3, [r7, #16] 80c82c0: 693b ldr r3, [r7, #16] 80c82c2: 2b0c cmp r3, #12 80c82c4: d9d3 bls.n 80c826e } } if (dir[LDIR_Ord] & LLEF) { /* Put terminator if it is the last LFN part */ 80c82c6: 683b ldr r3, [r7, #0] 80c82c8: 781b ldrb r3, [r3, #0] 80c82ca: f003 0340 and.w r3, r3, #64 ; 0x40 80c82ce: 2b00 cmp r3, #0 80c82d0: d00a beq.n 80c82e8 if (i >= _MAX_LFN) return 0; /* Buffer overflow? */ 80c82d2: 697b ldr r3, [r7, #20] 80c82d4: 2bfe cmp r3, #254 ; 0xfe 80c82d6: d901 bls.n 80c82dc 80c82d8: 2300 movs r3, #0 80c82da: e006 b.n 80c82ea lfnbuf[i] = 0; 80c82dc: 697b ldr r3, [r7, #20] 80c82de: 005b lsls r3, r3, #1 80c82e0: 687a ldr r2, [r7, #4] 80c82e2: 4413 add r3, r2 80c82e4: 2200 movs r2, #0 80c82e6: 801a strh r2, [r3, #0] } return 1; /* The part of LFN is valid */ 80c82e8: 2301 movs r3, #1 } 80c82ea: 4618 mov r0, r3 80c82ec: 3718 adds r7, #24 80c82ee: 46bd mov sp, r7 80c82f0: bd80 pop {r7, pc} 80c82f2: bf00 nop 80c82f4: 0816e05c .word 0x0816e05c 080c82f8 : 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 */ ) { 80c82f8: b580 push {r7, lr} 80c82fa: b088 sub sp, #32 80c82fc: af00 add r7, sp, #0 80c82fe: 60f8 str r0, [r7, #12] 80c8300: 60b9 str r1, [r7, #8] 80c8302: 4611 mov r1, r2 80c8304: 461a mov r2, r3 80c8306: 460b mov r3, r1 80c8308: 71fb strb r3, [r7, #7] 80c830a: 4613 mov r3, r2 80c830c: 71bb strb r3, [r7, #6] UINT i, s; WCHAR wc; dir[LDIR_Chksum] = sum; /* Set checksum */ 80c830e: 68bb ldr r3, [r7, #8] 80c8310: 330d adds r3, #13 80c8312: 79ba ldrb r2, [r7, #6] 80c8314: 701a strb r2, [r3, #0] dir[LDIR_Attr] = AM_LFN; /* Set attribute. LFN entry */ 80c8316: 68bb ldr r3, [r7, #8] 80c8318: 330b adds r3, #11 80c831a: 220f movs r2, #15 80c831c: 701a strb r2, [r3, #0] dir[LDIR_Type] = 0; 80c831e: 68bb ldr r3, [r7, #8] 80c8320: 330c adds r3, #12 80c8322: 2200 movs r2, #0 80c8324: 701a strb r2, [r3, #0] st_word(dir + LDIR_FstClusLO, 0); 80c8326: 68bb ldr r3, [r7, #8] 80c8328: 331a adds r3, #26 80c832a: 2100 movs r1, #0 80c832c: 4618 mov r0, r3 80c832e: f7fe fd7f bl 80c6e30 i = (ord - 1) * 13; /* Get offset in the LFN working buffer */ 80c8332: 79fb ldrb r3, [r7, #7] 80c8334: 1e5a subs r2, r3, #1 80c8336: 4613 mov r3, r2 80c8338: 005b lsls r3, r3, #1 80c833a: 4413 add r3, r2 80c833c: 009b lsls r3, r3, #2 80c833e: 4413 add r3, r2 80c8340: 61fb str r3, [r7, #28] s = wc = 0; 80c8342: 2300 movs r3, #0 80c8344: 82fb strh r3, [r7, #22] 80c8346: 2300 movs r3, #0 80c8348: 61bb str r3, [r7, #24] do { if (wc != 0xFFFF) wc = lfn[i++]; /* Get an effective character */ 80c834a: 8afb ldrh r3, [r7, #22] 80c834c: f64f 72ff movw r2, #65535 ; 0xffff 80c8350: 4293 cmp r3, r2 80c8352: d007 beq.n 80c8364 80c8354: 69fb ldr r3, [r7, #28] 80c8356: 1c5a adds r2, r3, #1 80c8358: 61fa str r2, [r7, #28] 80c835a: 005b lsls r3, r3, #1 80c835c: 68fa ldr r2, [r7, #12] 80c835e: 4413 add r3, r2 80c8360: 881b ldrh r3, [r3, #0] 80c8362: 82fb strh r3, [r7, #22] st_word(dir + LfnOfs[s], wc); /* Put it */ 80c8364: 4a17 ldr r2, [pc, #92] ; (80c83c4 ) 80c8366: 69bb ldr r3, [r7, #24] 80c8368: 4413 add r3, r2 80c836a: 781b ldrb r3, [r3, #0] 80c836c: 461a mov r2, r3 80c836e: 68bb ldr r3, [r7, #8] 80c8370: 4413 add r3, r2 80c8372: 8afa ldrh r2, [r7, #22] 80c8374: 4611 mov r1, r2 80c8376: 4618 mov r0, r3 80c8378: f7fe fd5a bl 80c6e30 if (wc == 0) wc = 0xFFFF; /* Padding characters for left locations */ 80c837c: 8afb ldrh r3, [r7, #22] 80c837e: 2b00 cmp r3, #0 80c8380: d102 bne.n 80c8388 80c8382: f64f 73ff movw r3, #65535 ; 0xffff 80c8386: 82fb strh r3, [r7, #22] } while (++s < 13); 80c8388: 69bb ldr r3, [r7, #24] 80c838a: 3301 adds r3, #1 80c838c: 61bb str r3, [r7, #24] 80c838e: 69bb ldr r3, [r7, #24] 80c8390: 2b0c cmp r3, #12 80c8392: d9da bls.n 80c834a if (wc == 0xFFFF || !lfn[i]) ord |= LLEF; /* Last LFN part is the start of LFN sequence */ 80c8394: 8afb ldrh r3, [r7, #22] 80c8396: f64f 72ff movw r2, #65535 ; 0xffff 80c839a: 4293 cmp r3, r2 80c839c: d006 beq.n 80c83ac 80c839e: 69fb ldr r3, [r7, #28] 80c83a0: 005b lsls r3, r3, #1 80c83a2: 68fa ldr r2, [r7, #12] 80c83a4: 4413 add r3, r2 80c83a6: 881b ldrh r3, [r3, #0] 80c83a8: 2b00 cmp r3, #0 80c83aa: d103 bne.n 80c83b4 80c83ac: 79fb ldrb r3, [r7, #7] 80c83ae: f043 0340 orr.w r3, r3, #64 ; 0x40 80c83b2: 71fb strb r3, [r7, #7] dir[LDIR_Ord] = ord; /* Set the LFN order */ 80c83b4: 68bb ldr r3, [r7, #8] 80c83b6: 79fa ldrb r2, [r7, #7] 80c83b8: 701a strb r2, [r3, #0] } 80c83ba: bf00 nop 80c83bc: 3720 adds r7, #32 80c83be: 46bd mov sp, r7 80c83c0: bd80 pop {r7, pc} 80c83c2: bf00 nop 80c83c4: 0816e05c .word 0x0816e05c 080c83c8 : 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 */ ) { 80c83c8: b580 push {r7, lr} 80c83ca: b08c sub sp, #48 ; 0x30 80c83cc: af00 add r7, sp, #0 80c83ce: 60f8 str r0, [r7, #12] 80c83d0: 60b9 str r1, [r7, #8] 80c83d2: 607a str r2, [r7, #4] 80c83d4: 603b str r3, [r7, #0] UINT i, j; WCHAR wc; DWORD sr; mem_cpy(dst, src, 11); 80c83d6: 220b movs r2, #11 80c83d8: 68b9 ldr r1, [r7, #8] 80c83da: 68f8 ldr r0, [r7, #12] 80c83dc: f7fe fe00 bl 80c6fe0 if (seq > 5) { /* In case of many collisions, generate a hash number instead of sequential number */ 80c83e0: 683b ldr r3, [r7, #0] 80c83e2: 2b05 cmp r3, #5 80c83e4: d929 bls.n 80c843a sr = seq; 80c83e6: 683b ldr r3, [r7, #0] 80c83e8: 61fb str r3, [r7, #28] while (*lfn) { /* Create a CRC */ 80c83ea: e020 b.n 80c842e wc = *lfn++; 80c83ec: 687b ldr r3, [r7, #4] 80c83ee: 1c9a adds r2, r3, #2 80c83f0: 607a str r2, [r7, #4] 80c83f2: 881b ldrh r3, [r3, #0] 80c83f4: 847b strh r3, [r7, #34] ; 0x22 for (i = 0; i < 16; i++) { 80c83f6: 2300 movs r3, #0 80c83f8: 62bb str r3, [r7, #40] ; 0x28 80c83fa: e015 b.n 80c8428 sr = (sr << 1) + (wc & 1); 80c83fc: 69fb ldr r3, [r7, #28] 80c83fe: 005a lsls r2, r3, #1 80c8400: 8c7b ldrh r3, [r7, #34] ; 0x22 80c8402: f003 0301 and.w r3, r3, #1 80c8406: 4413 add r3, r2 80c8408: 61fb str r3, [r7, #28] wc >>= 1; 80c840a: 8c7b ldrh r3, [r7, #34] ; 0x22 80c840c: 085b lsrs r3, r3, #1 80c840e: 847b strh r3, [r7, #34] ; 0x22 if (sr & 0x10000) sr ^= 0x11021; 80c8410: 69fb ldr r3, [r7, #28] 80c8412: f403 3380 and.w r3, r3, #65536 ; 0x10000 80c8416: 2b00 cmp r3, #0 80c8418: d003 beq.n 80c8422 80c841a: 69fa ldr r2, [r7, #28] 80c841c: 4b30 ldr r3, [pc, #192] ; (80c84e0 ) 80c841e: 4053 eors r3, r2 80c8420: 61fb str r3, [r7, #28] for (i = 0; i < 16; i++) { 80c8422: 6abb ldr r3, [r7, #40] ; 0x28 80c8424: 3301 adds r3, #1 80c8426: 62bb str r3, [r7, #40] ; 0x28 80c8428: 6abb ldr r3, [r7, #40] ; 0x28 80c842a: 2b0f cmp r3, #15 80c842c: d9e6 bls.n 80c83fc while (*lfn) { /* Create a CRC */ 80c842e: 687b ldr r3, [r7, #4] 80c8430: 881b ldrh r3, [r3, #0] 80c8432: 2b00 cmp r3, #0 80c8434: d1da bne.n 80c83ec } } seq = (UINT)sr; 80c8436: 69fb ldr r3, [r7, #28] 80c8438: 603b str r3, [r7, #0] } /* itoa (hexdecimal) */ i = 7; 80c843a: 2307 movs r3, #7 80c843c: 62bb str r3, [r7, #40] ; 0x28 do { c = (BYTE)((seq % 16) + '0'); 80c843e: 683b ldr r3, [r7, #0] 80c8440: b2db uxtb r3, r3 80c8442: f003 030f and.w r3, r3, #15 80c8446: b2db uxtb r3, r3 80c8448: 3330 adds r3, #48 ; 0x30 80c844a: f887 302f strb.w r3, [r7, #47] ; 0x2f if (c > '9') c += 7; 80c844e: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c8452: 2b39 cmp r3, #57 ; 0x39 80c8454: d904 bls.n 80c8460 80c8456: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c845a: 3307 adds r3, #7 80c845c: f887 302f strb.w r3, [r7, #47] ; 0x2f ns[i--] = c; 80c8460: 6abb ldr r3, [r7, #40] ; 0x28 80c8462: 1e5a subs r2, r3, #1 80c8464: 62ba str r2, [r7, #40] ; 0x28 80c8466: f107 0230 add.w r2, r7, #48 ; 0x30 80c846a: 4413 add r3, r2 80c846c: f897 202f ldrb.w r2, [r7, #47] ; 0x2f 80c8470: f803 2c1c strb.w r2, [r3, #-28] seq /= 16; 80c8474: 683b ldr r3, [r7, #0] 80c8476: 091b lsrs r3, r3, #4 80c8478: 603b str r3, [r7, #0] } while (seq); 80c847a: 683b ldr r3, [r7, #0] 80c847c: 2b00 cmp r3, #0 80c847e: d1de bne.n 80c843e ns[i] = '~'; 80c8480: f107 0214 add.w r2, r7, #20 80c8484: 6abb ldr r3, [r7, #40] ; 0x28 80c8486: 4413 add r3, r2 80c8488: 227e movs r2, #126 ; 0x7e 80c848a: 701a strb r2, [r3, #0] /* Append the number */ for (j = 0; j < i && dst[j] != ' '; j++) { 80c848c: 2300 movs r3, #0 80c848e: 627b str r3, [r7, #36] ; 0x24 80c8490: e002 b.n 80c8498 80c8492: 6a7b ldr r3, [r7, #36] ; 0x24 80c8494: 3301 adds r3, #1 80c8496: 627b str r3, [r7, #36] ; 0x24 80c8498: 6a7a ldr r2, [r7, #36] ; 0x24 80c849a: 6abb ldr r3, [r7, #40] ; 0x28 80c849c: 429a cmp r2, r3 80c849e: d205 bcs.n 80c84ac 80c84a0: 68fa ldr r2, [r7, #12] 80c84a2: 6a7b ldr r3, [r7, #36] ; 0x24 80c84a4: 4413 add r3, r2 80c84a6: 781b ldrb r3, [r3, #0] 80c84a8: 2b20 cmp r3, #32 80c84aa: d1f2 bne.n 80c8492 if (j == i - 1) break; j++; } } do { dst[j++] = (i < 8) ? ns[i++] : ' '; 80c84ac: 6a7b ldr r3, [r7, #36] ; 0x24 80c84ae: 1c5a adds r2, r3, #1 80c84b0: 627a str r2, [r7, #36] ; 0x24 80c84b2: 68fa ldr r2, [r7, #12] 80c84b4: 441a add r2, r3 80c84b6: 6abb ldr r3, [r7, #40] ; 0x28 80c84b8: 2b07 cmp r3, #7 80c84ba: d808 bhi.n 80c84ce 80c84bc: 6abb ldr r3, [r7, #40] ; 0x28 80c84be: 1c59 adds r1, r3, #1 80c84c0: 62b9 str r1, [r7, #40] ; 0x28 80c84c2: f107 0130 add.w r1, r7, #48 ; 0x30 80c84c6: 440b add r3, r1 80c84c8: f813 3c1c ldrb.w r3, [r3, #-28] 80c84cc: e000 b.n 80c84d0 80c84ce: 2320 movs r3, #32 80c84d0: 7013 strb r3, [r2, #0] } while (j < 8); 80c84d2: 6a7b ldr r3, [r7, #36] ; 0x24 80c84d4: 2b07 cmp r3, #7 80c84d6: d9e9 bls.n 80c84ac } 80c84d8: bf00 nop 80c84da: 3730 adds r7, #48 ; 0x30 80c84dc: 46bd mov sp, r7 80c84de: bd80 pop {r7, pc} 80c84e0: 00011021 .word 0x00011021 080c84e4 : static BYTE sum_sfn ( const BYTE* dir /* Pointer to the SFN entry */ ) { 80c84e4: b480 push {r7} 80c84e6: b085 sub sp, #20 80c84e8: af00 add r7, sp, #0 80c84ea: 6078 str r0, [r7, #4] BYTE sum = 0; 80c84ec: 2300 movs r3, #0 80c84ee: 73fb strb r3, [r7, #15] UINT n = 11; 80c84f0: 230b movs r3, #11 80c84f2: 60bb str r3, [r7, #8] do { sum = (sum >> 1) + (sum << 7) + *dir++; 80c84f4: 7bfb ldrb r3, [r7, #15] 80c84f6: b2da uxtb r2, r3 80c84f8: 0852 lsrs r2, r2, #1 80c84fa: 01db lsls r3, r3, #7 80c84fc: 4313 orrs r3, r2 80c84fe: b2da uxtb r2, r3 80c8500: 687b ldr r3, [r7, #4] 80c8502: 1c59 adds r1, r3, #1 80c8504: 6079 str r1, [r7, #4] 80c8506: 781b ldrb r3, [r3, #0] 80c8508: 4413 add r3, r2 80c850a: 73fb strb r3, [r7, #15] } while (--n); 80c850c: 68bb ldr r3, [r7, #8] 80c850e: 3b01 subs r3, #1 80c8510: 60bb str r3, [r7, #8] 80c8512: 68bb ldr r3, [r7, #8] 80c8514: 2b00 cmp r3, #0 80c8516: d1ed bne.n 80c84f4 return sum; 80c8518: 7bfb ldrb r3, [r7, #15] } 80c851a: 4618 mov r0, r3 80c851c: 3714 adds r7, #20 80c851e: 46bd mov sp, r7 80c8520: f85d 7b04 ldr.w r7, [sp], #4 80c8524: 4770 bx lr 080c8526 : static WORD xdir_sum ( /* Get checksum of the directoly block */ const BYTE* dir /* Directory entry block to be calculated */ ) { 80c8526: b480 push {r7} 80c8528: b087 sub sp, #28 80c852a: af00 add r7, sp, #0 80c852c: 6078 str r0, [r7, #4] UINT i, szblk; WORD sum; szblk = (dir[XDIR_NumSec] + 1) * SZDIRE; 80c852e: 687b ldr r3, [r7, #4] 80c8530: 3301 adds r3, #1 80c8532: 781b ldrb r3, [r3, #0] 80c8534: 3301 adds r3, #1 80c8536: 015b lsls r3, r3, #5 80c8538: 60fb str r3, [r7, #12] for (i = sum = 0; i < szblk; i++) { 80c853a: 2300 movs r3, #0 80c853c: 827b strh r3, [r7, #18] 80c853e: 2300 movs r3, #0 80c8540: 617b str r3, [r7, #20] 80c8542: e01e b.n 80c8582 if (i == XDIR_SetSum) { /* Skip sum field */ 80c8544: 697b ldr r3, [r7, #20] 80c8546: 2b02 cmp r3, #2 80c8548: d103 bne.n 80c8552 i++; 80c854a: 697b ldr r3, [r7, #20] 80c854c: 3301 adds r3, #1 80c854e: 617b str r3, [r7, #20] 80c8550: e014 b.n 80c857c } else { sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + dir[i]; 80c8552: 8a7b ldrh r3, [r7, #18] 80c8554: f003 0301 and.w r3, r3, #1 80c8558: 2b00 cmp r3, #0 80c855a: d002 beq.n 80c8562 80c855c: f44f 4200 mov.w r2, #32768 ; 0x8000 80c8560: e000 b.n 80c8564 80c8562: 2200 movs r2, #0 80c8564: 8a7b ldrh r3, [r7, #18] 80c8566: 085b lsrs r3, r3, #1 80c8568: b29b uxth r3, r3 80c856a: 4413 add r3, r2 80c856c: b29a uxth r2, r3 80c856e: 6879 ldr r1, [r7, #4] 80c8570: 697b ldr r3, [r7, #20] 80c8572: 440b add r3, r1 80c8574: 781b ldrb r3, [r3, #0] 80c8576: b29b uxth r3, r3 80c8578: 4413 add r3, r2 80c857a: 827b strh r3, [r7, #18] for (i = sum = 0; i < szblk; i++) { 80c857c: 697b ldr r3, [r7, #20] 80c857e: 3301 adds r3, #1 80c8580: 617b str r3, [r7, #20] 80c8582: 697a ldr r2, [r7, #20] 80c8584: 68fb ldr r3, [r7, #12] 80c8586: 429a cmp r2, r3 80c8588: d3dc bcc.n 80c8544 } } return sum; 80c858a: 8a7b ldrh r3, [r7, #18] } 80c858c: 4618 mov r0, r3 80c858e: 371c adds r7, #28 80c8590: 46bd mov sp, r7 80c8592: f85d 7b04 ldr.w r7, [sp], #4 80c8596: 4770 bx lr 080c8598 : static WORD xname_sum ( /* Get check sum (to be used as hash) of the name */ const WCHAR* name /* File name to be calculated */ ) { 80c8598: b580 push {r7, lr} 80c859a: b084 sub sp, #16 80c859c: af00 add r7, sp, #0 80c859e: 6078 str r0, [r7, #4] WCHAR chr; WORD sum = 0; 80c85a0: 2300 movs r3, #0 80c85a2: 81fb strh r3, [r7, #14] while ((chr = *name++) != 0) { 80c85a4: e02b b.n 80c85fe chr = ff_wtoupper(chr); /* File name needs to be ignored case */ 80c85a6: 89bb ldrh r3, [r7, #12] 80c85a8: 4618 mov r0, r3 80c85aa: f004 fe47 bl 80cd23c 80c85ae: 4603 mov r3, r0 80c85b0: 81bb strh r3, [r7, #12] sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + (chr & 0xFF); 80c85b2: 89fb ldrh r3, [r7, #14] 80c85b4: f003 0301 and.w r3, r3, #1 80c85b8: 2b00 cmp r3, #0 80c85ba: d002 beq.n 80c85c2 80c85bc: f44f 4200 mov.w r2, #32768 ; 0x8000 80c85c0: e000 b.n 80c85c4 80c85c2: 2200 movs r2, #0 80c85c4: 89fb ldrh r3, [r7, #14] 80c85c6: 085b lsrs r3, r3, #1 80c85c8: b29b uxth r3, r3 80c85ca: 4413 add r3, r2 80c85cc: b29a uxth r2, r3 80c85ce: 89bb ldrh r3, [r7, #12] 80c85d0: b2db uxtb r3, r3 80c85d2: b29b uxth r3, r3 80c85d4: 4413 add r3, r2 80c85d6: 81fb strh r3, [r7, #14] sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + (chr >> 8); 80c85d8: 89fb ldrh r3, [r7, #14] 80c85da: f003 0301 and.w r3, r3, #1 80c85de: 2b00 cmp r3, #0 80c85e0: d002 beq.n 80c85e8 80c85e2: f44f 4200 mov.w r2, #32768 ; 0x8000 80c85e6: e000 b.n 80c85ea 80c85e8: 2200 movs r2, #0 80c85ea: 89fb ldrh r3, [r7, #14] 80c85ec: 085b lsrs r3, r3, #1 80c85ee: b29b uxth r3, r3 80c85f0: 4413 add r3, r2 80c85f2: b29a uxth r2, r3 80c85f4: 89bb ldrh r3, [r7, #12] 80c85f6: 0a1b lsrs r3, r3, #8 80c85f8: b29b uxth r3, r3 80c85fa: 4413 add r3, r2 80c85fc: 81fb strh r3, [r7, #14] while ((chr = *name++) != 0) { 80c85fe: 687b ldr r3, [r7, #4] 80c8600: 1c9a adds r2, r3, #2 80c8602: 607a str r2, [r7, #4] 80c8604: 881b ldrh r3, [r3, #0] 80c8606: 81bb strh r3, [r7, #12] 80c8608: 89bb ldrh r3, [r7, #12] 80c860a: 2b00 cmp r3, #0 80c860c: d1cb bne.n 80c85a6 } return sum; 80c860e: 89fb ldrh r3, [r7, #14] } 80c8610: 4618 mov r0, r3 80c8612: 3710 adds r7, #16 80c8614: 46bd mov sp, r7 80c8616: bd80 pop {r7, pc} 080c8618 : static DWORD xsum32 ( BYTE dat, /* Data to be sumed */ DWORD sum /* Previous value */ ) { 80c8618: b480 push {r7} 80c861a: b083 sub sp, #12 80c861c: af00 add r7, sp, #0 80c861e: 4603 mov r3, r0 80c8620: 6039 str r1, [r7, #0] 80c8622: 71fb strb r3, [r7, #7] sum = ((sum & 1) ? 0x80000000 : 0) + (sum >> 1) + dat; 80c8624: 683b ldr r3, [r7, #0] 80c8626: f003 0301 and.w r3, r3, #1 80c862a: 2b00 cmp r3, #0 80c862c: d002 beq.n 80c8634 80c862e: f04f 4200 mov.w r2, #2147483648 ; 0x80000000 80c8632: e000 b.n 80c8636 80c8634: 2200 movs r2, #0 80c8636: 683b ldr r3, [r7, #0] 80c8638: 085b lsrs r3, r3, #1 80c863a: 441a add r2, r3 80c863c: 79fb ldrb r3, [r7, #7] 80c863e: 4413 add r3, r2 80c8640: 603b str r3, [r7, #0] return sum; 80c8642: 683b ldr r3, [r7, #0] } 80c8644: 4618 mov r0, r3 80c8646: 370c adds r7, #12 80c8648: 46bd mov sp, r7 80c864a: f85d 7b04 ldr.w r7, [sp], #4 80c864e: 4770 bx lr 080c8650 : 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 */ ) { 80c8650: b590 push {r4, r7, lr} 80c8652: b087 sub sp, #28 80c8654: af00 add r7, sp, #0 80c8656: 6078 str r0, [r7, #4] 80c8658: 6039 str r1, [r7, #0] #if !_LFN_UNICODE UINT nc; #endif /* Get file name */ di = 0; 80c865a: 2300 movs r3, #0 80c865c: 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++) { 80c865e: 2340 movs r3, #64 ; 0x40 80c8660: 613b str r3, [r7, #16] 80c8662: 2300 movs r3, #0 80c8664: 60fb str r3, [r7, #12] 80c8666: e02c b.n 80c86c2 if ((si % SZDIRE) == 0) si += 2; /* Skip entry type field */ 80c8668: 693b ldr r3, [r7, #16] 80c866a: f003 031f and.w r3, r3, #31 80c866e: 2b00 cmp r3, #0 80c8670: d102 bne.n 80c8678 80c8672: 693b ldr r3, [r7, #16] 80c8674: 3302 adds r3, #2 80c8676: 613b str r3, [r7, #16] w = ff_convert(ld_word(dirb + si), 0); /* Get a character and Unicode -> OEM */ 80c8678: 687a ldr r2, [r7, #4] 80c867a: 693b ldr r3, [r7, #16] 80c867c: 4413 add r3, r2 80c867e: 4618 mov r0, r3 80c8680: f7fe faec bl 80c6c5c 80c8684: 4603 mov r3, r0 80c8686: 2100 movs r1, #0 80c8688: 4618 mov r0, r3 80c868a: f004 fd9b bl 80cd1c4 80c868e: 4603 mov r3, r0 80c8690: 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 */ 80c8692: 897b ldrh r3, [r7, #10] 80c8694: 2b00 cmp r3, #0 80c8696: d002 beq.n 80c869e 80c8698: 697b ldr r3, [r7, #20] 80c869a: 2bfe cmp r3, #254 ; 0xfe 80c869c: d902 bls.n 80c86a4 80c869e: 2300 movs r3, #0 80c86a0: 617b str r3, [r7, #20] 80c86a2: e015 b.n 80c86d0 fno->fname[di++] = (char)w; 80c86a4: 697b ldr r3, [r7, #20] 80c86a6: 1c5a adds r2, r3, #1 80c86a8: 617a str r2, [r7, #20] 80c86aa: 897a ldrh r2, [r7, #10] 80c86ac: b2d1 uxtb r1, r2 80c86ae: 683a ldr r2, [r7, #0] 80c86b0: 4413 add r3, r2 80c86b2: 460a mov r2, r1 80c86b4: 769a strb r2, [r3, #26] for (si = SZDIRE * 2, nc = 0; nc < dirb[XDIR_NumName]; si += 2, nc++) { 80c86b6: 693b ldr r3, [r7, #16] 80c86b8: 3302 adds r3, #2 80c86ba: 613b str r3, [r7, #16] 80c86bc: 68fb ldr r3, [r7, #12] 80c86be: 3301 adds r3, #1 80c86c0: 60fb str r3, [r7, #12] 80c86c2: 687b ldr r3, [r7, #4] 80c86c4: 3323 adds r3, #35 ; 0x23 80c86c6: 781b ldrb r3, [r3, #0] 80c86c8: 461a mov r2, r3 80c86ca: 68fb ldr r3, [r7, #12] 80c86cc: 429a cmp r2, r3 80c86ce: d8cb bhi.n 80c8668 } #endif if (di == 0) fno->fname[di++] = '?'; /* Inaccessible object name? */ 80c86d0: 697b ldr r3, [r7, #20] 80c86d2: 2b00 cmp r3, #0 80c86d4: d106 bne.n 80c86e4 80c86d6: 697b ldr r3, [r7, #20] 80c86d8: 1c5a adds r2, r3, #1 80c86da: 617a str r2, [r7, #20] 80c86dc: 683a ldr r2, [r7, #0] 80c86de: 4413 add r3, r2 80c86e0: 223f movs r2, #63 ; 0x3f 80c86e2: 769a strb r2, [r3, #26] fno->fname[di] = 0; /* Terminate file name */ 80c86e4: 683a ldr r2, [r7, #0] 80c86e6: 697b ldr r3, [r7, #20] 80c86e8: 4413 add r3, r2 80c86ea: 331a adds r3, #26 80c86ec: 2200 movs r2, #0 80c86ee: 701a strb r2, [r3, #0] fno->altname[0] = 0; /* No SFN */ 80c86f0: 683b ldr r3, [r7, #0] 80c86f2: 2200 movs r2, #0 80c86f4: 735a strb r2, [r3, #13] fno->fattrib = dirb[XDIR_Attr]; /* Attribute */ 80c86f6: 687b ldr r3, [r7, #4] 80c86f8: 791a ldrb r2, [r3, #4] 80c86fa: 683b ldr r3, [r7, #0] 80c86fc: 731a strb r2, [r3, #12] fno->fsize = (fno->fattrib & AM_DIR) ? 0 : ld_qword(dirb + XDIR_FileSize); /* Size */ 80c86fe: 683b ldr r3, [r7, #0] 80c8700: 7b1b ldrb r3, [r3, #12] 80c8702: f003 0310 and.w r3, r3, #16 80c8706: 2b00 cmp r3, #0 80c8708: d107 bne.n 80c871a 80c870a: 687b ldr r3, [r7, #4] 80c870c: 3338 adds r3, #56 ; 0x38 80c870e: 4618 mov r0, r3 80c8710: f7fe fadf bl 80c6cd2 80c8714: 4603 mov r3, r0 80c8716: 460c mov r4, r1 80c8718: e003 b.n 80c8722 80c871a: f04f 0300 mov.w r3, #0 80c871e: f04f 0400 mov.w r4, #0 80c8722: 683a ldr r2, [r7, #0] 80c8724: e882 0018 stmia.w r2, {r3, r4} fno->ftime = ld_word(dirb + XDIR_ModTime + 0); /* Time */ 80c8728: 687b ldr r3, [r7, #4] 80c872a: 330c adds r3, #12 80c872c: 4618 mov r0, r3 80c872e: f7fe fa95 bl 80c6c5c 80c8732: 4603 mov r3, r0 80c8734: 461a mov r2, r3 80c8736: 683b ldr r3, [r7, #0] 80c8738: 815a strh r2, [r3, #10] fno->fdate = ld_word(dirb + XDIR_ModTime + 2); /* Date */ 80c873a: 687b ldr r3, [r7, #4] 80c873c: 330e adds r3, #14 80c873e: 4618 mov r0, r3 80c8740: f7fe fa8c bl 80c6c5c 80c8744: 4603 mov r3, r0 80c8746: 461a mov r2, r3 80c8748: 683b ldr r3, [r7, #0] 80c874a: 811a strh r2, [r3, #8] } 80c874c: bf00 nop 80c874e: 371c adds r7, #28 80c8750: 46bd mov sp, r7 80c8752: bd90 pop {r4, r7, pc} 080c8754 : static FRESULT load_xdir ( /* FR_INT_ERR: invalid entry block */ DIR* dp /* Pointer to the reading direcotry object pointing the 85 entry */ ) { 80c8754: b590 push {r4, r7, lr} 80c8756: b087 sub sp, #28 80c8758: af00 add r7, sp, #0 80c875a: 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 */ 80c875c: 687b ldr r3, [r7, #4] 80c875e: 681b ldr r3, [r3, #0] 80c8760: 691b ldr r3, [r3, #16] 80c8762: 613b str r3, [r7, #16] /* Load 85 entry */ res = move_window(dp->obj.fs, dp->sect); 80c8764: 687b ldr r3, [r7, #4] 80c8766: 681a ldr r2, [r3, #0] 80c8768: 687b ldr r3, [r7, #4] 80c876a: 6b9b ldr r3, [r3, #56] ; 0x38 80c876c: 4619 mov r1, r3 80c876e: 4610 mov r0, r2 80c8770: f7fe fcf7 bl 80c7162 80c8774: 4603 mov r3, r0 80c8776: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c8778: 7bfb ldrb r3, [r7, #15] 80c877a: 2b00 cmp r3, #0 80c877c: d001 beq.n 80c8782 80c877e: 7bfb ldrb r3, [r7, #15] 80c8780: e09f b.n 80c88c2 if (dp->dir[XDIR_Type] != 0x85) return FR_INT_ERR; 80c8782: 687b ldr r3, [r7, #4] 80c8784: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8786: 781b ldrb r3, [r3, #0] 80c8788: 2b85 cmp r3, #133 ; 0x85 80c878a: d001 beq.n 80c8790 80c878c: 2302 movs r3, #2 80c878e: e098 b.n 80c88c2 mem_cpy(dirb + 0, dp->dir, SZDIRE); 80c8790: 687b ldr r3, [r7, #4] 80c8792: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8794: 2220 movs r2, #32 80c8796: 4619 mov r1, r3 80c8798: 6938 ldr r0, [r7, #16] 80c879a: f7fe fc21 bl 80c6fe0 sz_ent = (dirb[XDIR_NumSec] + 1) * SZDIRE; 80c879e: 693b ldr r3, [r7, #16] 80c87a0: 3301 adds r3, #1 80c87a2: 781b ldrb r3, [r3, #0] 80c87a4: 3301 adds r3, #1 80c87a6: 015b lsls r3, r3, #5 80c87a8: 60bb str r3, [r7, #8] if (sz_ent < 3 * SZDIRE || sz_ent > 19 * SZDIRE) return FR_INT_ERR; 80c87aa: 68bb ldr r3, [r7, #8] 80c87ac: 2b5f cmp r3, #95 ; 0x5f 80c87ae: d903 bls.n 80c87b8 80c87b0: 68bb ldr r3, [r7, #8] 80c87b2: f5b3 7f18 cmp.w r3, #608 ; 0x260 80c87b6: d901 bls.n 80c87bc 80c87b8: 2302 movs r3, #2 80c87ba: e082 b.n 80c88c2 /* Load C0 entry */ res = dir_next(dp, 0); 80c87bc: 2100 movs r1, #0 80c87be: 6878 ldr r0, [r7, #4] 80c87c0: f7ff fb55 bl 80c7e6e 80c87c4: 4603 mov r3, r0 80c87c6: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c87c8: 7bfb ldrb r3, [r7, #15] 80c87ca: 2b00 cmp r3, #0 80c87cc: d001 beq.n 80c87d2 80c87ce: 7bfb ldrb r3, [r7, #15] 80c87d0: e077 b.n 80c88c2 res = move_window(dp->obj.fs, dp->sect); 80c87d2: 687b ldr r3, [r7, #4] 80c87d4: 681a ldr r2, [r3, #0] 80c87d6: 687b ldr r3, [r7, #4] 80c87d8: 6b9b ldr r3, [r3, #56] ; 0x38 80c87da: 4619 mov r1, r3 80c87dc: 4610 mov r0, r2 80c87de: f7fe fcc0 bl 80c7162 80c87e2: 4603 mov r3, r0 80c87e4: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c87e6: 7bfb ldrb r3, [r7, #15] 80c87e8: 2b00 cmp r3, #0 80c87ea: d001 beq.n 80c87f0 80c87ec: 7bfb ldrb r3, [r7, #15] 80c87ee: e068 b.n 80c88c2 if (dp->dir[XDIR_Type] != 0xC0) return FR_INT_ERR; 80c87f0: 687b ldr r3, [r7, #4] 80c87f2: 6bdb ldr r3, [r3, #60] ; 0x3c 80c87f4: 781b ldrb r3, [r3, #0] 80c87f6: 2bc0 cmp r3, #192 ; 0xc0 80c87f8: d001 beq.n 80c87fe 80c87fa: 2302 movs r3, #2 80c87fc: e061 b.n 80c88c2 mem_cpy(dirb + SZDIRE, dp->dir, SZDIRE); 80c87fe: 693b ldr r3, [r7, #16] 80c8800: f103 0020 add.w r0, r3, #32 80c8804: 687b ldr r3, [r7, #4] 80c8806: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8808: 2220 movs r2, #32 80c880a: 4619 mov r1, r3 80c880c: f7fe fbe8 bl 80c6fe0 if (MAXDIRB(dirb[XDIR_NumName]) > sz_ent) return FR_INT_ERR; 80c8810: 693b ldr r3, [r7, #16] 80c8812: 3323 adds r3, #35 ; 0x23 80c8814: 781b ldrb r3, [r3, #0] 80c8816: 332c adds r3, #44 ; 0x2c 80c8818: 4a2c ldr r2, [pc, #176] ; (80c88cc ) 80c881a: fba2 2303 umull r2, r3, r2, r3 80c881e: 08db lsrs r3, r3, #3 80c8820: 015a lsls r2, r3, #5 80c8822: 68bb ldr r3, [r7, #8] 80c8824: 429a cmp r2, r3 80c8826: d901 bls.n 80c882c 80c8828: 2302 movs r3, #2 80c882a: e04a b.n 80c88c2 /* Load C1 entries */ i = SZDIRE * 2; /* C1 offset */ 80c882c: 2340 movs r3, #64 ; 0x40 80c882e: 617b str r3, [r7, #20] do { res = dir_next(dp, 0); 80c8830: 2100 movs r1, #0 80c8832: 6878 ldr r0, [r7, #4] 80c8834: f7ff fb1b bl 80c7e6e 80c8838: 4603 mov r3, r0 80c883a: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c883c: 7bfb ldrb r3, [r7, #15] 80c883e: 2b00 cmp r3, #0 80c8840: d001 beq.n 80c8846 80c8842: 7bfb ldrb r3, [r7, #15] 80c8844: e03d b.n 80c88c2 res = move_window(dp->obj.fs, dp->sect); 80c8846: 687b ldr r3, [r7, #4] 80c8848: 681a ldr r2, [r3, #0] 80c884a: 687b ldr r3, [r7, #4] 80c884c: 6b9b ldr r3, [r3, #56] ; 0x38 80c884e: 4619 mov r1, r3 80c8850: 4610 mov r0, r2 80c8852: f7fe fc86 bl 80c7162 80c8856: 4603 mov r3, r0 80c8858: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c885a: 7bfb ldrb r3, [r7, #15] 80c885c: 2b00 cmp r3, #0 80c885e: d001 beq.n 80c8864 80c8860: 7bfb ldrb r3, [r7, #15] 80c8862: e02e b.n 80c88c2 if (dp->dir[XDIR_Type] != 0xC1) return FR_INT_ERR; 80c8864: 687b ldr r3, [r7, #4] 80c8866: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8868: 781b ldrb r3, [r3, #0] 80c886a: 2bc1 cmp r3, #193 ; 0xc1 80c886c: d001 beq.n 80c8872 80c886e: 2302 movs r3, #2 80c8870: e027 b.n 80c88c2 if (i < MAXDIRB(_MAX_LFN)) mem_cpy(dirb + i, dp->dir, SZDIRE); 80c8872: 697b ldr r3, [r7, #20] 80c8874: f5b3 7f18 cmp.w r3, #608 ; 0x260 80c8878: d208 bcs.n 80c888c 80c887a: 693a ldr r2, [r7, #16] 80c887c: 697b ldr r3, [r7, #20] 80c887e: 18d0 adds r0, r2, r3 80c8880: 687b ldr r3, [r7, #4] 80c8882: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8884: 2220 movs r2, #32 80c8886: 4619 mov r1, r3 80c8888: f7fe fbaa bl 80c6fe0 } while ((i += SZDIRE) < sz_ent); 80c888c: 697b ldr r3, [r7, #20] 80c888e: 3320 adds r3, #32 80c8890: 617b str r3, [r7, #20] 80c8892: 697a ldr r2, [r7, #20] 80c8894: 68bb ldr r3, [r7, #8] 80c8896: 429a cmp r2, r3 80c8898: d3ca bcc.n 80c8830 /* Sanity check (do it when accessible object name) */ if (i <= MAXDIRB(_MAX_LFN)) { 80c889a: 697b ldr r3, [r7, #20] 80c889c: f5b3 7f18 cmp.w r3, #608 ; 0x260 80c88a0: d80e bhi.n 80c88c0 if (xdir_sum(dirb) != ld_word(dirb + XDIR_SetSum)) return FR_INT_ERR; 80c88a2: 6938 ldr r0, [r7, #16] 80c88a4: f7ff fe3f bl 80c8526 80c88a8: 4603 mov r3, r0 80c88aa: 461c mov r4, r3 80c88ac: 693b ldr r3, [r7, #16] 80c88ae: 3302 adds r3, #2 80c88b0: 4618 mov r0, r3 80c88b2: f7fe f9d3 bl 80c6c5c 80c88b6: 4603 mov r3, r0 80c88b8: 429c cmp r4, r3 80c88ba: d001 beq.n 80c88c0 80c88bc: 2302 movs r3, #2 80c88be: e000 b.n 80c88c2 } return FR_OK; 80c88c0: 2300 movs r3, #0 } 80c88c2: 4618 mov r0, r3 80c88c4: 371c adds r7, #28 80c88c6: 46bd mov sp, r7 80c88c8: bd90 pop {r4, r7, pc} 80c88ca: bf00 nop 80c88cc: 88888889 .word 0x88888889 080c88d0 : 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 */ ) { 80c88d0: b590 push {r4, r7, lr} 80c88d2: b085 sub sp, #20 80c88d4: af00 add r7, sp, #0 80c88d6: 6078 str r0, [r7, #4] 80c88d8: 6039 str r1, [r7, #0] FRESULT res; /* Open object containing directory */ dp->obj.fs = obj->fs; 80c88da: 683b ldr r3, [r7, #0] 80c88dc: 681a ldr r2, [r3, #0] 80c88de: 687b ldr r3, [r7, #4] 80c88e0: 601a str r2, [r3, #0] dp->obj.sclust = obj->c_scl; 80c88e2: 683b ldr r3, [r7, #0] 80c88e4: 6a1a ldr r2, [r3, #32] 80c88e6: 687b ldr r3, [r7, #4] 80c88e8: 609a str r2, [r3, #8] dp->obj.stat = (BYTE)obj->c_size; 80c88ea: 683b ldr r3, [r7, #0] 80c88ec: 6a5b ldr r3, [r3, #36] ; 0x24 80c88ee: b2da uxtb r2, r3 80c88f0: 687b ldr r3, [r7, #4] 80c88f2: 71da strb r2, [r3, #7] dp->obj.objsize = obj->c_size & 0xFFFFFF00; 80c88f4: 683b ldr r3, [r7, #0] 80c88f6: 6a5b ldr r3, [r3, #36] ; 0x24 80c88f8: f04f 0400 mov.w r4, #0 80c88fc: f06f 01ff mvn.w r1, #255 ; 0xff 80c8900: f04f 0200 mov.w r2, #0 80c8904: ea03 0301 and.w r3, r3, r1 80c8908: ea04 0402 and.w r4, r4, r2 80c890c: 687a ldr r2, [r7, #4] 80c890e: e9c2 3404 strd r3, r4, [r2, #16] dp->blk_ofs = obj->c_ofs; 80c8912: 683b ldr r3, [r7, #0] 80c8914: 6a9a ldr r2, [r3, #40] ; 0x28 80c8916: 687b ldr r3, [r7, #4] 80c8918: 64da str r2, [r3, #76] ; 0x4c res = dir_sdi(dp, dp->blk_ofs); /* Goto object's entry block */ 80c891a: 687b ldr r3, [r7, #4] 80c891c: 6cdb ldr r3, [r3, #76] ; 0x4c 80c891e: 4619 mov r1, r3 80c8920: 6878 ldr r0, [r7, #4] 80c8922: f7ff fa1e bl 80c7d62 80c8926: 4603 mov r3, r0 80c8928: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c892a: 7bfb ldrb r3, [r7, #15] 80c892c: 2b00 cmp r3, #0 80c892e: d104 bne.n 80c893a res = load_xdir(dp); /* Load the object's entry block */ 80c8930: 6878 ldr r0, [r7, #4] 80c8932: f7ff ff0f bl 80c8754 80c8936: 4603 mov r3, r0 80c8938: 73fb strb r3, [r7, #15] } return res; 80c893a: 7bfb ldrb r3, [r7, #15] } 80c893c: 4618 mov r0, r3 80c893e: 3714 adds r7, #20 80c8940: 46bd mov sp, r7 80c8942: bd90 pop {r4, r7, pc} 080c8944 : /*-----------------------------------------------*/ static FRESULT store_xdir ( DIR* dp /* Pointer to the direcotry object */ ) { 80c8944: b590 push {r4, r7, lr} 80c8946: b087 sub sp, #28 80c8948: af00 add r7, sp, #0 80c894a: 6078 str r0, [r7, #4] FRESULT res; UINT nent; BYTE* dirb = dp->obj.fs->dirbuf; /* Pointer to the direcotry entry block 85+C0+C1s */ 80c894c: 687b ldr r3, [r7, #4] 80c894e: 681b ldr r3, [r3, #0] 80c8950: 691b ldr r3, [r3, #16] 80c8952: 60fb str r3, [r7, #12] /* Create set sum */ st_word(dirb + XDIR_SetSum, xdir_sum(dirb)); 80c8954: 68fb ldr r3, [r7, #12] 80c8956: 1c9c adds r4, r3, #2 80c8958: 68f8 ldr r0, [r7, #12] 80c895a: f7ff fde4 bl 80c8526 80c895e: 4603 mov r3, r0 80c8960: 4619 mov r1, r3 80c8962: 4620 mov r0, r4 80c8964: f7fe fa64 bl 80c6e30 nent = dirb[XDIR_NumSec] + 1; 80c8968: 68fb ldr r3, [r7, #12] 80c896a: 3301 adds r3, #1 80c896c: 781b ldrb r3, [r3, #0] 80c896e: 3301 adds r3, #1 80c8970: 613b str r3, [r7, #16] /* Store the set of directory to the volume */ res = dir_sdi(dp, dp->blk_ofs); 80c8972: 687b ldr r3, [r7, #4] 80c8974: 6cdb ldr r3, [r3, #76] ; 0x4c 80c8976: 4619 mov r1, r3 80c8978: 6878 ldr r0, [r7, #4] 80c897a: f7ff f9f2 bl 80c7d62 80c897e: 4603 mov r3, r0 80c8980: 75fb strb r3, [r7, #23] while (res == FR_OK) { 80c8982: e026 b.n 80c89d2 res = move_window(dp->obj.fs, dp->sect); 80c8984: 687b ldr r3, [r7, #4] 80c8986: 681a ldr r2, [r3, #0] 80c8988: 687b ldr r3, [r7, #4] 80c898a: 6b9b ldr r3, [r3, #56] ; 0x38 80c898c: 4619 mov r1, r3 80c898e: 4610 mov r0, r2 80c8990: f7fe fbe7 bl 80c7162 80c8994: 4603 mov r3, r0 80c8996: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c8998: 7dfb ldrb r3, [r7, #23] 80c899a: 2b00 cmp r3, #0 80c899c: d11d bne.n 80c89da mem_cpy(dp->dir, dirb, SZDIRE); 80c899e: 687b ldr r3, [r7, #4] 80c89a0: 6bdb ldr r3, [r3, #60] ; 0x3c 80c89a2: 2220 movs r2, #32 80c89a4: 68f9 ldr r1, [r7, #12] 80c89a6: 4618 mov r0, r3 80c89a8: f7fe fb1a bl 80c6fe0 dp->obj.fs->wflag = 1; 80c89ac: 687b ldr r3, [r7, #4] 80c89ae: 681b ldr r3, [r3, #0] 80c89b0: 2201 movs r2, #1 80c89b2: 70da strb r2, [r3, #3] if (--nent == 0) break; 80c89b4: 693b ldr r3, [r7, #16] 80c89b6: 3b01 subs r3, #1 80c89b8: 613b str r3, [r7, #16] 80c89ba: 693b ldr r3, [r7, #16] 80c89bc: 2b00 cmp r3, #0 80c89be: d00e beq.n 80c89de dirb += SZDIRE; 80c89c0: 68fb ldr r3, [r7, #12] 80c89c2: 3320 adds r3, #32 80c89c4: 60fb str r3, [r7, #12] res = dir_next(dp, 0); 80c89c6: 2100 movs r1, #0 80c89c8: 6878 ldr r0, [r7, #4] 80c89ca: f7ff fa50 bl 80c7e6e 80c89ce: 4603 mov r3, r0 80c89d0: 75fb strb r3, [r7, #23] while (res == FR_OK) { 80c89d2: 7dfb ldrb r3, [r7, #23] 80c89d4: 2b00 cmp r3, #0 80c89d6: d0d5 beq.n 80c8984 80c89d8: e002 b.n 80c89e0 if (res != FR_OK) break; 80c89da: bf00 nop 80c89dc: e000 b.n 80c89e0 if (--nent == 0) break; 80c89de: bf00 nop } return (res == FR_OK || res == FR_DISK_ERR) ? res : FR_INT_ERR; 80c89e0: 7dfb ldrb r3, [r7, #23] 80c89e2: 2b00 cmp r3, #0 80c89e4: d002 beq.n 80c89ec 80c89e6: 7dfb ldrb r3, [r7, #23] 80c89e8: 2b01 cmp r3, #1 80c89ea: d101 bne.n 80c89f0 80c89ec: 7dfb ldrb r3, [r7, #23] 80c89ee: e000 b.n 80c89f2 80c89f0: 2302 movs r3, #2 } 80c89f2: 4618 mov r0, r3 80c89f4: 371c adds r7, #28 80c89f6: 46bd mov sp, r7 80c89f8: bd90 pop {r4, r7, pc} 080c89fa : static void create_xdir ( BYTE* dirb, /* Pointer to the direcotry entry block buffer */ const WCHAR* lfn /* Pointer to the nul terminated file name */ ) { 80c89fa: b590 push {r4, r7, lr} 80c89fc: b085 sub sp, #20 80c89fe: af00 add r7, sp, #0 80c8a00: 6078 str r0, [r7, #4] 80c8a02: 6039 str r1, [r7, #0] BYTE nb, nc; WCHAR chr; /* Create 85+C0 entry */ mem_set(dirb, 0, 2 * SZDIRE); 80c8a04: 2240 movs r2, #64 ; 0x40 80c8a06: 2100 movs r1, #0 80c8a08: 6878 ldr r0, [r7, #4] 80c8a0a: f7fe fb0a bl 80c7022 dirb[XDIR_Type] = 0x85; 80c8a0e: 687b ldr r3, [r7, #4] 80c8a10: 2285 movs r2, #133 ; 0x85 80c8a12: 701a strb r2, [r3, #0] dirb[XDIR_Type + SZDIRE] = 0xC0; 80c8a14: 687b ldr r3, [r7, #4] 80c8a16: 3320 adds r3, #32 80c8a18: 22c0 movs r2, #192 ; 0xc0 80c8a1a: 701a strb r2, [r3, #0] /* Create C1 entries */ nc = 0; nb = 1; chr = 1; i = SZDIRE * 2; 80c8a1c: 2300 movs r3, #0 80c8a1e: 72bb strb r3, [r7, #10] 80c8a20: 2301 movs r3, #1 80c8a22: 72fb strb r3, [r7, #11] 80c8a24: 2301 movs r3, #1 80c8a26: 813b strh r3, [r7, #8] 80c8a28: 2340 movs r3, #64 ; 0x40 80c8a2a: 60fb str r3, [r7, #12] do { dirb[i++] = 0xC1; dirb[i++] = 0; /* Entry type C1 */ 80c8a2c: 68fb ldr r3, [r7, #12] 80c8a2e: 1c5a adds r2, r3, #1 80c8a30: 60fa str r2, [r7, #12] 80c8a32: 687a ldr r2, [r7, #4] 80c8a34: 4413 add r3, r2 80c8a36: 22c1 movs r2, #193 ; 0xc1 80c8a38: 701a strb r2, [r3, #0] 80c8a3a: 68fb ldr r3, [r7, #12] 80c8a3c: 1c5a adds r2, r3, #1 80c8a3e: 60fa str r2, [r7, #12] 80c8a40: 687a ldr r2, [r7, #4] 80c8a42: 4413 add r3, r2 80c8a44: 2200 movs r2, #0 80c8a46: 701a strb r2, [r3, #0] do { /* Fill name field */ if (chr && (chr = lfn[nc]) != 0) nc++; /* Get a character if exist */ 80c8a48: 893b ldrh r3, [r7, #8] 80c8a4a: 2b00 cmp r3, #0 80c8a4c: d00b beq.n 80c8a66 80c8a4e: 7abb ldrb r3, [r7, #10] 80c8a50: 005b lsls r3, r3, #1 80c8a52: 683a ldr r2, [r7, #0] 80c8a54: 4413 add r3, r2 80c8a56: 881b ldrh r3, [r3, #0] 80c8a58: 813b strh r3, [r7, #8] 80c8a5a: 893b ldrh r3, [r7, #8] 80c8a5c: 2b00 cmp r3, #0 80c8a5e: d002 beq.n 80c8a66 80c8a60: 7abb ldrb r3, [r7, #10] 80c8a62: 3301 adds r3, #1 80c8a64: 72bb strb r3, [r7, #10] st_word(dirb + i, chr); /* Store it */ 80c8a66: 687a ldr r2, [r7, #4] 80c8a68: 68fb ldr r3, [r7, #12] 80c8a6a: 4413 add r3, r2 80c8a6c: 893a ldrh r2, [r7, #8] 80c8a6e: 4611 mov r1, r2 80c8a70: 4618 mov r0, r3 80c8a72: f7fe f9dd bl 80c6e30 } while ((i += 2) % SZDIRE != 0); 80c8a76: 68fb ldr r3, [r7, #12] 80c8a78: 3302 adds r3, #2 80c8a7a: 60fb str r3, [r7, #12] 80c8a7c: 68fb ldr r3, [r7, #12] 80c8a7e: f003 031f and.w r3, r3, #31 80c8a82: 2b00 cmp r3, #0 80c8a84: d1e0 bne.n 80c8a48 nb++; 80c8a86: 7afb ldrb r3, [r7, #11] 80c8a88: 3301 adds r3, #1 80c8a8a: 72fb strb r3, [r7, #11] } while (lfn[nc]); /* Fill next entry if any char follows */ 80c8a8c: 7abb ldrb r3, [r7, #10] 80c8a8e: 005b lsls r3, r3, #1 80c8a90: 683a ldr r2, [r7, #0] 80c8a92: 4413 add r3, r2 80c8a94: 881b ldrh r3, [r3, #0] 80c8a96: 2b00 cmp r3, #0 80c8a98: d1c8 bne.n 80c8a2c dirb[XDIR_NumName] = nc; /* Set name length */ 80c8a9a: 687b ldr r3, [r7, #4] 80c8a9c: 3323 adds r3, #35 ; 0x23 80c8a9e: 7aba ldrb r2, [r7, #10] 80c8aa0: 701a strb r2, [r3, #0] dirb[XDIR_NumSec] = nb; /* Set block length */ 80c8aa2: 687b ldr r3, [r7, #4] 80c8aa4: 3301 adds r3, #1 80c8aa6: 7afa ldrb r2, [r7, #11] 80c8aa8: 701a strb r2, [r3, #0] st_word(dirb + XDIR_NameHash, xname_sum(lfn)); /* Set name hash */ 80c8aaa: 687b ldr r3, [r7, #4] 80c8aac: f103 0424 add.w r4, r3, #36 ; 0x24 80c8ab0: 6838 ldr r0, [r7, #0] 80c8ab2: f7ff fd71 bl 80c8598 80c8ab6: 4603 mov r3, r0 80c8ab8: 4619 mov r1, r3 80c8aba: 4620 mov r0, r4 80c8abc: f7fe f9b8 bl 80c6e30 } 80c8ac0: bf00 nop 80c8ac2: 3714 adds r7, #20 80c8ac4: 46bd mov sp, r7 80c8ac6: bd90 pop {r4, r7, pc} 080c8ac8 : static FRESULT dir_read ( DIR* dp, /* Pointer to the directory object */ int vol /* Filtered by 0:file/directory or 1:volume label */ ) { 80c8ac8: b580 push {r7, lr} 80c8aca: b086 sub sp, #24 80c8acc: af00 add r7, sp, #0 80c8ace: 6078 str r0, [r7, #4] 80c8ad0: 6039 str r1, [r7, #0] FRESULT res = FR_NO_FILE; 80c8ad2: 2304 movs r3, #4 80c8ad4: 75fb strb r3, [r7, #23] FATFS *fs = dp->obj.fs; 80c8ad6: 687b ldr r3, [r7, #4] 80c8ad8: 681b ldr r3, [r3, #0] 80c8ada: 613b str r3, [r7, #16] BYTE a, c; #if _USE_LFN != 0 BYTE ord = 0xFF, sum = 0xFF; 80c8adc: 23ff movs r3, #255 ; 0xff 80c8ade: 757b strb r3, [r7, #21] 80c8ae0: 23ff movs r3, #255 ; 0xff 80c8ae2: 753b strb r3, [r7, #20] #endif while (dp->sect) { 80c8ae4: e0a6 b.n 80c8c34 res = move_window(fs, dp->sect); 80c8ae6: 687b ldr r3, [r7, #4] 80c8ae8: 6b9b ldr r3, [r3, #56] ; 0x38 80c8aea: 4619 mov r1, r3 80c8aec: 6938 ldr r0, [r7, #16] 80c8aee: f7fe fb38 bl 80c7162 80c8af2: 4603 mov r3, r0 80c8af4: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c8af6: 7dfb ldrb r3, [r7, #23] 80c8af8: 2b00 cmp r3, #0 80c8afa: f040 80a1 bne.w 80c8c40 c = dp->dir[DIR_Name]; /* Test for the entry type */ 80c8afe: 687b ldr r3, [r7, #4] 80c8b00: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8b02: 781b ldrb r3, [r3, #0] 80c8b04: 75bb strb r3, [r7, #22] if (c == 0) { 80c8b06: 7dbb ldrb r3, [r7, #22] 80c8b08: 2b00 cmp r3, #0 80c8b0a: d102 bne.n 80c8b12 res = FR_NO_FILE; break; /* Reached to end of the directory */ 80c8b0c: 2304 movs r3, #4 80c8b0e: 75fb strb r3, [r7, #23] 80c8b10: e09d b.n 80c8c4e } #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c8b12: 693b ldr r3, [r7, #16] 80c8b14: 781b ldrb r3, [r3, #0] 80c8b16: 2b04 cmp r3, #4 80c8b18: d11f bne.n 80c8b5a if (_USE_LABEL && vol) { 80c8b1a: 683b ldr r3, [r7, #0] 80c8b1c: 2b00 cmp r3, #0 80c8b1e: d003 beq.n 80c8b28 if (c == 0x83) break; /* Volume label entry? */ 80c8b20: 7dbb ldrb r3, [r7, #22] 80c8b22: 2b83 cmp r3, #131 ; 0x83 80c8b24: d17d bne.n 80c8c22 80c8b26: e092 b.n 80c8c4e } else { if (c == 0x85) { /* Start of the file entry block? */ 80c8b28: 7dbb ldrb r3, [r7, #22] 80c8b2a: 2b85 cmp r3, #133 ; 0x85 80c8b2c: d179 bne.n 80c8c22 dp->blk_ofs = dp->dptr; /* Get location of the block */ 80c8b2e: 687b ldr r3, [r7, #4] 80c8b30: 6b1a ldr r2, [r3, #48] ; 0x30 80c8b32: 687b ldr r3, [r7, #4] 80c8b34: 64da str r2, [r3, #76] ; 0x4c res = load_xdir(dp); /* Load the entry block */ 80c8b36: 6878 ldr r0, [r7, #4] 80c8b38: f7ff fe0c bl 80c8754 80c8b3c: 4603 mov r3, r0 80c8b3e: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c8b40: 7dfb ldrb r3, [r7, #23] 80c8b42: 2b00 cmp r3, #0 80c8b44: d17e bne.n 80c8c44 dp->obj.attr = fs->dirbuf[XDIR_Attr] & AM_MASK; /* Get attribute */ 80c8b46: 693b ldr r3, [r7, #16] 80c8b48: 691b ldr r3, [r3, #16] 80c8b4a: 3304 adds r3, #4 80c8b4c: 781b ldrb r3, [r3, #0] 80c8b4e: f003 033f and.w r3, r3, #63 ; 0x3f 80c8b52: b2da uxtb r2, r3 80c8b54: 687b ldr r3, [r7, #4] 80c8b56: 719a strb r2, [r3, #6] } break; 80c8b58: e074 b.n 80c8c44 } } } else #endif { /* On the FAT12/16/32 volume */ dp->obj.attr = a = dp->dir[DIR_Attr] & AM_MASK; /* Get attribute */ 80c8b5a: 687b ldr r3, [r7, #4] 80c8b5c: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8b5e: 330b adds r3, #11 80c8b60: 781b ldrb r3, [r3, #0] 80c8b62: f003 033f and.w r3, r3, #63 ; 0x3f 80c8b66: 73fb strb r3, [r7, #15] 80c8b68: 687b ldr r3, [r7, #4] 80c8b6a: 7bfa ldrb r2, [r7, #15] 80c8b6c: 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 */ 80c8b6e: 7dbb ldrb r3, [r7, #22] 80c8b70: 2be5 cmp r3, #229 ; 0xe5 80c8b72: d00e beq.n 80c8b92 80c8b74: 7dbb ldrb r3, [r7, #22] 80c8b76: 2b2e cmp r3, #46 ; 0x2e 80c8b78: d00b beq.n 80c8b92 80c8b7a: 7bfb ldrb r3, [r7, #15] 80c8b7c: f023 0320 bic.w r3, r3, #32 80c8b80: 2b08 cmp r3, #8 80c8b82: bf0c ite eq 80c8b84: 2301 moveq r3, #1 80c8b86: 2300 movne r3, #0 80c8b88: b2db uxtb r3, r3 80c8b8a: 461a mov r2, r3 80c8b8c: 683b ldr r3, [r7, #0] 80c8b8e: 429a cmp r2, r3 80c8b90: d002 beq.n 80c8b98 ord = 0xFF; 80c8b92: 23ff movs r3, #255 ; 0xff 80c8b94: 757b strb r3, [r7, #21] 80c8b96: e044 b.n 80c8c22 } else { if (a == AM_LFN) { /* An LFN entry is found */ 80c8b98: 7bfb ldrb r3, [r7, #15] 80c8b9a: 2b0f cmp r3, #15 80c8b9c: d12f bne.n 80c8bfe if (c & LLEF) { /* Is it start of an LFN sequence? */ 80c8b9e: 7dbb ldrb r3, [r7, #22] 80c8ba0: f003 0340 and.w r3, r3, #64 ; 0x40 80c8ba4: 2b00 cmp r3, #0 80c8ba6: d00d beq.n 80c8bc4 sum = dp->dir[LDIR_Chksum]; 80c8ba8: 687b ldr r3, [r7, #4] 80c8baa: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8bac: 7b5b ldrb r3, [r3, #13] 80c8bae: 753b strb r3, [r7, #20] c &= (BYTE)~LLEF; ord = c; 80c8bb0: 7dbb ldrb r3, [r7, #22] 80c8bb2: f023 0340 bic.w r3, r3, #64 ; 0x40 80c8bb6: 75bb strb r3, [r7, #22] 80c8bb8: 7dbb ldrb r3, [r7, #22] 80c8bba: 757b strb r3, [r7, #21] dp->blk_ofs = dp->dptr; 80c8bbc: 687b ldr r3, [r7, #4] 80c8bbe: 6b1a ldr r2, [r3, #48] ; 0x30 80c8bc0: 687b ldr r3, [r7, #4] 80c8bc2: 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; 80c8bc4: 7dba ldrb r2, [r7, #22] 80c8bc6: 7d7b ldrb r3, [r7, #21] 80c8bc8: 429a cmp r2, r3 80c8bca: d115 bne.n 80c8bf8 80c8bcc: 687b ldr r3, [r7, #4] 80c8bce: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8bd0: 330d adds r3, #13 80c8bd2: 781b ldrb r3, [r3, #0] 80c8bd4: 7d3a ldrb r2, [r7, #20] 80c8bd6: 429a cmp r2, r3 80c8bd8: d10e bne.n 80c8bf8 80c8bda: 693b ldr r3, [r7, #16] 80c8bdc: 68da ldr r2, [r3, #12] 80c8bde: 687b ldr r3, [r7, #4] 80c8be0: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8be2: 4619 mov r1, r3 80c8be4: 4610 mov r0, r2 80c8be6: f7ff fb23 bl 80c8230 80c8bea: 4603 mov r3, r0 80c8bec: 2b00 cmp r3, #0 80c8bee: d003 beq.n 80c8bf8 80c8bf0: 7d7b ldrb r3, [r7, #21] 80c8bf2: 3b01 subs r3, #1 80c8bf4: b2db uxtb r3, r3 80c8bf6: e000 b.n 80c8bfa 80c8bf8: 23ff movs r3, #255 ; 0xff 80c8bfa: 757b strb r3, [r7, #21] 80c8bfc: e011 b.n 80c8c22 } else { /* An SFN entry is found */ if (ord || sum != sum_sfn(dp->dir)) { /* Is there a valid LFN? */ 80c8bfe: 7d7b ldrb r3, [r7, #21] 80c8c00: 2b00 cmp r3, #0 80c8c02: d109 bne.n 80c8c18 80c8c04: 687b ldr r3, [r7, #4] 80c8c06: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8c08: 4618 mov r0, r3 80c8c0a: f7ff fc6b bl 80c84e4 80c8c0e: 4603 mov r3, r0 80c8c10: 461a mov r2, r3 80c8c12: 7d3b ldrb r3, [r7, #20] 80c8c14: 4293 cmp r3, r2 80c8c16: d017 beq.n 80c8c48 dp->blk_ofs = 0xFFFFFFFF; /* It has no LFN. */ 80c8c18: 687b ldr r3, [r7, #4] 80c8c1a: f04f 32ff mov.w r2, #4294967295 80c8c1e: 64da str r2, [r3, #76] ; 0x4c } break; 80c8c20: e012 b.n 80c8c48 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 */ 80c8c22: 2100 movs r1, #0 80c8c24: 6878 ldr r0, [r7, #4] 80c8c26: f7ff f922 bl 80c7e6e 80c8c2a: 4603 mov r3, r0 80c8c2c: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c8c2e: 7dfb ldrb r3, [r7, #23] 80c8c30: 2b00 cmp r3, #0 80c8c32: d10b bne.n 80c8c4c while (dp->sect) { 80c8c34: 687b ldr r3, [r7, #4] 80c8c36: 6b9b ldr r3, [r3, #56] ; 0x38 80c8c38: 2b00 cmp r3, #0 80c8c3a: f47f af54 bne.w 80c8ae6 80c8c3e: e006 b.n 80c8c4e if (res != FR_OK) break; 80c8c40: bf00 nop 80c8c42: e004 b.n 80c8c4e break; 80c8c44: bf00 nop 80c8c46: e002 b.n 80c8c4e break; 80c8c48: bf00 nop 80c8c4a: e000 b.n 80c8c4e if (res != FR_OK) break; 80c8c4c: bf00 nop } if (res != FR_OK) dp->sect = 0; /* Terminate the read operation on error or EOT */ 80c8c4e: 7dfb ldrb r3, [r7, #23] 80c8c50: 2b00 cmp r3, #0 80c8c52: d002 beq.n 80c8c5a 80c8c54: 687b ldr r3, [r7, #4] 80c8c56: 2200 movs r2, #0 80c8c58: 639a str r2, [r3, #56] ; 0x38 return res; 80c8c5a: 7dfb ldrb r3, [r7, #23] } 80c8c5c: 4618 mov r0, r3 80c8c5e: 3718 adds r7, #24 80c8c60: 46bd mov sp, r7 80c8c62: bd80 pop {r7, pc} 080c8c64 : static FRESULT dir_find ( /* FR_OK(0):succeeded, !=0:error */ DIR* dp /* Pointer to the directory object with the file name */ ) { 80c8c64: b590 push {r4, r7, lr} 80c8c66: b089 sub sp, #36 ; 0x24 80c8c68: af00 add r7, sp, #0 80c8c6a: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs = dp->obj.fs; 80c8c6c: 687b ldr r3, [r7, #4] 80c8c6e: 681b ldr r3, [r3, #0] 80c8c70: 60fb str r3, [r7, #12] BYTE c; #if _USE_LFN != 0 BYTE a, ord, sum; #endif res = dir_sdi(dp, 0); /* Rewind directory object */ 80c8c72: 2100 movs r1, #0 80c8c74: 6878 ldr r0, [r7, #4] 80c8c76: f7ff f874 bl 80c7d62 80c8c7a: 4603 mov r3, r0 80c8c7c: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c8c7e: 7ffb ldrb r3, [r7, #31] 80c8c80: 2b00 cmp r3, #0 80c8c82: d001 beq.n 80c8c88 80c8c84: 7ffb ldrb r3, [r7, #31] 80c8c86: e112 b.n 80c8eae #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c8c88: 68fb ldr r3, [r7, #12] 80c8c8a: 781b ldrb r3, [r3, #0] 80c8c8c: 2b04 cmp r3, #4 80c8c8e: d164 bne.n 80c8d5a BYTE nc; UINT di, ni; WORD hash = xname_sum(fs->lfnbuf); /* Hash value of the name to find */ 80c8c90: 68fb ldr r3, [r7, #12] 80c8c92: 68db ldr r3, [r3, #12] 80c8c94: 4618 mov r0, r3 80c8c96: f7ff fc7f bl 80c8598 80c8c9a: 4603 mov r3, r0 80c8c9c: 817b strh r3, [r7, #10] while ((res = dir_read(dp, 0)) == FR_OK) { /* Read an item */ 80c8c9e: e04f b.n 80c8d40 #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 */ 80c8ca0: 68fb ldr r3, [r7, #12] 80c8ca2: 691b ldr r3, [r3, #16] 80c8ca4: 3324 adds r3, #36 ; 0x24 80c8ca6: 4618 mov r0, r3 80c8ca8: f7fd ffd8 bl 80c6c5c 80c8cac: 4603 mov r3, r0 80c8cae: 461a mov r2, r3 80c8cb0: 897b ldrh r3, [r7, #10] 80c8cb2: 4293 cmp r3, r2 80c8cb4: d000 beq.n 80c8cb8 80c8cb6: e043 b.n 80c8d40 for (nc = fs->dirbuf[XDIR_NumName], di = SZDIRE * 2, ni = 0; nc; nc--, di += 2, ni++) { /* Compare the name */ 80c8cb8: 68fb ldr r3, [r7, #12] 80c8cba: 691b ldr r3, [r3, #16] 80c8cbc: f893 3023 ldrb.w r3, [r3, #35] ; 0x23 80c8cc0: 76fb strb r3, [r7, #27] 80c8cc2: 2340 movs r3, #64 ; 0x40 80c8cc4: 617b str r3, [r7, #20] 80c8cc6: 2300 movs r3, #0 80c8cc8: 613b str r3, [r7, #16] 80c8cca: e029 b.n 80c8d20 if ((di % SZDIRE) == 0) di += 2; 80c8ccc: 697b ldr r3, [r7, #20] 80c8cce: f003 031f and.w r3, r3, #31 80c8cd2: 2b00 cmp r3, #0 80c8cd4: d102 bne.n 80c8cdc 80c8cd6: 697b ldr r3, [r7, #20] 80c8cd8: 3302 adds r3, #2 80c8cda: 617b str r3, [r7, #20] if (ff_wtoupper(ld_word(fs->dirbuf + di)) != ff_wtoupper(fs->lfnbuf[ni])) break; 80c8cdc: 68fb ldr r3, [r7, #12] 80c8cde: 691a ldr r2, [r3, #16] 80c8ce0: 697b ldr r3, [r7, #20] 80c8ce2: 4413 add r3, r2 80c8ce4: 4618 mov r0, r3 80c8ce6: f7fd ffb9 bl 80c6c5c 80c8cea: 4603 mov r3, r0 80c8cec: 4618 mov r0, r3 80c8cee: f004 faa5 bl 80cd23c 80c8cf2: 4603 mov r3, r0 80c8cf4: 461c mov r4, r3 80c8cf6: 68fb ldr r3, [r7, #12] 80c8cf8: 68da ldr r2, [r3, #12] 80c8cfa: 693b ldr r3, [r7, #16] 80c8cfc: 005b lsls r3, r3, #1 80c8cfe: 4413 add r3, r2 80c8d00: 881b ldrh r3, [r3, #0] 80c8d02: 4618 mov r0, r3 80c8d04: f004 fa9a bl 80cd23c 80c8d08: 4603 mov r3, r0 80c8d0a: 429c cmp r4, r3 80c8d0c: d10c bne.n 80c8d28 for (nc = fs->dirbuf[XDIR_NumName], di = SZDIRE * 2, ni = 0; nc; nc--, di += 2, ni++) { /* Compare the name */ 80c8d0e: 7efb ldrb r3, [r7, #27] 80c8d10: 3b01 subs r3, #1 80c8d12: 76fb strb r3, [r7, #27] 80c8d14: 697b ldr r3, [r7, #20] 80c8d16: 3302 adds r3, #2 80c8d18: 617b str r3, [r7, #20] 80c8d1a: 693b ldr r3, [r7, #16] 80c8d1c: 3301 adds r3, #1 80c8d1e: 613b str r3, [r7, #16] 80c8d20: 7efb ldrb r3, [r7, #27] 80c8d22: 2b00 cmp r3, #0 80c8d24: d1d2 bne.n 80c8ccc 80c8d26: e000 b.n 80c8d2a if (ff_wtoupper(ld_word(fs->dirbuf + di)) != ff_wtoupper(fs->lfnbuf[ni])) break; 80c8d28: bf00 nop } if (nc == 0 && !fs->lfnbuf[ni]) break; /* Name matched? */ 80c8d2a: 7efb ldrb r3, [r7, #27] 80c8d2c: 2b00 cmp r3, #0 80c8d2e: d107 bne.n 80c8d40 80c8d30: 68fb ldr r3, [r7, #12] 80c8d32: 68da ldr r2, [r3, #12] 80c8d34: 693b ldr r3, [r7, #16] 80c8d36: 005b lsls r3, r3, #1 80c8d38: 4413 add r3, r2 80c8d3a: 881b ldrh r3, [r3, #0] 80c8d3c: 2b00 cmp r3, #0 80c8d3e: d009 beq.n 80c8d54 while ((res = dir_read(dp, 0)) == FR_OK) { /* Read an item */ 80c8d40: 2100 movs r1, #0 80c8d42: 6878 ldr r0, [r7, #4] 80c8d44: f7ff fec0 bl 80c8ac8 80c8d48: 4603 mov r3, r0 80c8d4a: 77fb strb r3, [r7, #31] 80c8d4c: 7ffb ldrb r3, [r7, #31] 80c8d4e: 2b00 cmp r3, #0 80c8d50: d0a6 beq.n 80c8ca0 80c8d52: e000 b.n 80c8d56 if (nc == 0 && !fs->lfnbuf[ni]) break; /* Name matched? */ 80c8d54: bf00 nop } return res; 80c8d56: 7ffb ldrb r3, [r7, #31] 80c8d58: e0a9 b.n 80c8eae } #endif /* On the FAT12/16/32 volume */ #if _USE_LFN != 0 ord = sum = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ 80c8d5a: 23ff movs r3, #255 ; 0xff 80c8d5c: 773b strb r3, [r7, #28] 80c8d5e: 7f3b ldrb r3, [r7, #28] 80c8d60: 777b strb r3, [r7, #29] 80c8d62: 687b ldr r3, [r7, #4] 80c8d64: f04f 32ff mov.w r2, #4294967295 80c8d68: 64da str r2, [r3, #76] ; 0x4c #endif do { res = move_window(fs, dp->sect); 80c8d6a: 687b ldr r3, [r7, #4] 80c8d6c: 6b9b ldr r3, [r3, #56] ; 0x38 80c8d6e: 4619 mov r1, r3 80c8d70: 68f8 ldr r0, [r7, #12] 80c8d72: f7fe f9f6 bl 80c7162 80c8d76: 4603 mov r3, r0 80c8d78: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c8d7a: 7ffb ldrb r3, [r7, #31] 80c8d7c: 2b00 cmp r3, #0 80c8d7e: f040 8090 bne.w 80c8ea2 c = dp->dir[DIR_Name]; 80c8d82: 687b ldr r3, [r7, #4] 80c8d84: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8d86: 781b ldrb r3, [r3, #0] 80c8d88: 77bb strb r3, [r7, #30] if (c == 0) { res = FR_NO_FILE; break; } /* Reached to end of table */ 80c8d8a: 7fbb ldrb r3, [r7, #30] 80c8d8c: 2b00 cmp r3, #0 80c8d8e: d102 bne.n 80c8d96 80c8d90: 2304 movs r3, #4 80c8d92: 77fb strb r3, [r7, #31] 80c8d94: e08a b.n 80c8eac #if _USE_LFN != 0 /* LFN configuration */ dp->obj.attr = a = dp->dir[DIR_Attr] & AM_MASK; 80c8d96: 687b ldr r3, [r7, #4] 80c8d98: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8d9a: 330b adds r3, #11 80c8d9c: 781b ldrb r3, [r3, #0] 80c8d9e: f003 033f and.w r3, r3, #63 ; 0x3f 80c8da2: 727b strb r3, [r7, #9] 80c8da4: 687b ldr r3, [r7, #4] 80c8da6: 7a7a ldrb r2, [r7, #9] 80c8da8: 719a strb r2, [r3, #6] if (c == DDEM || ((a & AM_VOL) && a != AM_LFN)) { /* An entry without valid data */ 80c8daa: 7fbb ldrb r3, [r7, #30] 80c8dac: 2be5 cmp r3, #229 ; 0xe5 80c8dae: d007 beq.n 80c8dc0 80c8db0: 7a7b ldrb r3, [r7, #9] 80c8db2: f003 0308 and.w r3, r3, #8 80c8db6: 2b00 cmp r3, #0 80c8db8: d009 beq.n 80c8dce 80c8dba: 7a7b ldrb r3, [r7, #9] 80c8dbc: 2b0f cmp r3, #15 80c8dbe: d006 beq.n 80c8dce ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ 80c8dc0: 23ff movs r3, #255 ; 0xff 80c8dc2: 777b strb r3, [r7, #29] 80c8dc4: 687b ldr r3, [r7, #4] 80c8dc6: f04f 32ff mov.w r2, #4294967295 80c8dca: 64da str r2, [r3, #76] ; 0x4c 80c8dcc: e05e b.n 80c8e8c } else { if (a == AM_LFN) { /* An LFN entry is found */ 80c8dce: 7a7b ldrb r3, [r7, #9] 80c8dd0: 2b0f cmp r3, #15 80c8dd2: d136 bne.n 80c8e42 if (!(dp->fn[NSFLAG] & NS_NOLFN)) { 80c8dd4: 687b ldr r3, [r7, #4] 80c8dd6: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c8dda: f003 0340 and.w r3, r3, #64 ; 0x40 80c8dde: 2b00 cmp r3, #0 80c8de0: d154 bne.n 80c8e8c if (c & LLEF) { /* Is it start of LFN sequence? */ 80c8de2: 7fbb ldrb r3, [r7, #30] 80c8de4: f003 0340 and.w r3, r3, #64 ; 0x40 80c8de8: 2b00 cmp r3, #0 80c8dea: d00d beq.n 80c8e08 sum = dp->dir[LDIR_Chksum]; 80c8dec: 687b ldr r3, [r7, #4] 80c8dee: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8df0: 7b5b ldrb r3, [r3, #13] 80c8df2: 773b strb r3, [r7, #28] c &= (BYTE)~LLEF; ord = c; /* LFN start order */ 80c8df4: 7fbb ldrb r3, [r7, #30] 80c8df6: f023 0340 bic.w r3, r3, #64 ; 0x40 80c8dfa: 77bb strb r3, [r7, #30] 80c8dfc: 7fbb ldrb r3, [r7, #30] 80c8dfe: 777b strb r3, [r7, #29] dp->blk_ofs = dp->dptr; /* Start offset of LFN */ 80c8e00: 687b ldr r3, [r7, #4] 80c8e02: 6b1a ldr r2, [r3, #48] ; 0x30 80c8e04: 687b ldr r3, [r7, #4] 80c8e06: 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; 80c8e08: 7fba ldrb r2, [r7, #30] 80c8e0a: 7f7b ldrb r3, [r7, #29] 80c8e0c: 429a cmp r2, r3 80c8e0e: d115 bne.n 80c8e3c 80c8e10: 687b ldr r3, [r7, #4] 80c8e12: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8e14: 330d adds r3, #13 80c8e16: 781b ldrb r3, [r3, #0] 80c8e18: 7f3a ldrb r2, [r7, #28] 80c8e1a: 429a cmp r2, r3 80c8e1c: d10e bne.n 80c8e3c 80c8e1e: 68fb ldr r3, [r7, #12] 80c8e20: 68da ldr r2, [r3, #12] 80c8e22: 687b ldr r3, [r7, #4] 80c8e24: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8e26: 4619 mov r1, r3 80c8e28: 4610 mov r0, r2 80c8e2a: f7ff f991 bl 80c8150 80c8e2e: 4603 mov r3, r0 80c8e30: 2b00 cmp r3, #0 80c8e32: d003 beq.n 80c8e3c 80c8e34: 7f7b ldrb r3, [r7, #29] 80c8e36: 3b01 subs r3, #1 80c8e38: b2db uxtb r3, r3 80c8e3a: e000 b.n 80c8e3e 80c8e3c: 23ff movs r3, #255 ; 0xff 80c8e3e: 777b strb r3, [r7, #29] 80c8e40: e024 b.n 80c8e8c } } else { /* An SFN entry is found */ if (!ord && sum == sum_sfn(dp->dir)) break; /* LFN matched? */ 80c8e42: 7f7b ldrb r3, [r7, #29] 80c8e44: 2b00 cmp r3, #0 80c8e46: d109 bne.n 80c8e5c 80c8e48: 687b ldr r3, [r7, #4] 80c8e4a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c8e4c: 4618 mov r0, r3 80c8e4e: f7ff fb49 bl 80c84e4 80c8e52: 4603 mov r3, r0 80c8e54: 461a mov r2, r3 80c8e56: 7f3b ldrb r3, [r7, #28] 80c8e58: 4293 cmp r3, r2 80c8e5a: d024 beq.n 80c8ea6 if (!(dp->fn[NSFLAG] & NS_LOSS) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* SFN matched? */ 80c8e5c: 687b ldr r3, [r7, #4] 80c8e5e: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c8e62: f003 0301 and.w r3, r3, #1 80c8e66: 2b00 cmp r3, #0 80c8e68: d10a bne.n 80c8e80 80c8e6a: 687b ldr r3, [r7, #4] 80c8e6c: 6bd8 ldr r0, [r3, #60] ; 0x3c 80c8e6e: 687b ldr r3, [r7, #4] 80c8e70: 3340 adds r3, #64 ; 0x40 80c8e72: 220b movs r2, #11 80c8e74: 4619 mov r1, r3 80c8e76: f7fe f8ee bl 80c7056 80c8e7a: 4603 mov r3, r0 80c8e7c: 2b00 cmp r3, #0 80c8e7e: d014 beq.n 80c8eaa ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ 80c8e80: 23ff movs r3, #255 ; 0xff 80c8e82: 777b strb r3, [r7, #29] 80c8e84: 687b ldr r3, [r7, #4] 80c8e86: f04f 32ff mov.w r2, #4294967295 80c8e8a: 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 */ 80c8e8c: 2100 movs r1, #0 80c8e8e: 6878 ldr r0, [r7, #4] 80c8e90: f7fe ffed bl 80c7e6e 80c8e94: 4603 mov r3, r0 80c8e96: 77fb strb r3, [r7, #31] } while (res == FR_OK); 80c8e98: 7ffb ldrb r3, [r7, #31] 80c8e9a: 2b00 cmp r3, #0 80c8e9c: f43f af65 beq.w 80c8d6a 80c8ea0: e004 b.n 80c8eac if (res != FR_OK) break; 80c8ea2: bf00 nop 80c8ea4: e002 b.n 80c8eac if (!ord && sum == sum_sfn(dp->dir)) break; /* LFN matched? */ 80c8ea6: bf00 nop 80c8ea8: e000 b.n 80c8eac if (!(dp->fn[NSFLAG] & NS_LOSS) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* SFN matched? */ 80c8eaa: bf00 nop return res; 80c8eac: 7ffb ldrb r3, [r7, #31] } 80c8eae: 4618 mov r0, r3 80c8eb0: 3724 adds r7, #36 ; 0x24 80c8eb2: 46bd mov sp, r7 80c8eb4: bd90 pop {r4, r7, pc} ... 080c8eb8 : 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 */ ) { 80c8eb8: b590 push {r4, r7, lr} 80c8eba: b0a1 sub sp, #132 ; 0x84 80c8ebc: af00 add r7, sp, #0 80c8ebe: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs = dp->obj.fs; 80c8ec0: 687b ldr r3, [r7, #4] 80c8ec2: 681b ldr r3, [r3, #0] 80c8ec4: 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 */ 80c8ec6: 687b ldr r3, [r7, #4] 80c8ec8: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c8ecc: f003 03a0 and.w r3, r3, #160 ; 0xa0 80c8ed0: 2b00 cmp r3, #0 80c8ed2: d001 beq.n 80c8ed8 80c8ed4: 2306 movs r3, #6 80c8ed6: e191 b.n 80c91fc for (nlen = 0; fs->lfnbuf[nlen]; nlen++) ; /* Get lfn length */ 80c8ed8: 2300 movs r3, #0 80c8eda: 677b str r3, [r7, #116] ; 0x74 80c8edc: e002 b.n 80c8ee4 80c8ede: 6f7b ldr r3, [r7, #116] ; 0x74 80c8ee0: 3301 adds r3, #1 80c8ee2: 677b str r3, [r7, #116] ; 0x74 80c8ee4: 6efb ldr r3, [r7, #108] ; 0x6c 80c8ee6: 68da ldr r2, [r3, #12] 80c8ee8: 6f7b ldr r3, [r7, #116] ; 0x74 80c8eea: 005b lsls r3, r3, #1 80c8eec: 4413 add r3, r2 80c8eee: 881b ldrh r3, [r3, #0] 80c8ef0: 2b00 cmp r3, #0 80c8ef2: d1f4 bne.n 80c8ede #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c8ef4: 6efb ldr r3, [r7, #108] ; 0x6c 80c8ef6: 781b ldrb r3, [r3, #0] 80c8ef8: 2b04 cmp r3, #4 80c8efa: f040 80a3 bne.w 80c9044 DIR dj; nent = (nlen + 14) / 15 + 2; /* Number of entries to allocate (85+C0+C1s) */ 80c8efe: 6f7b ldr r3, [r7, #116] ; 0x74 80c8f00: 330e adds r3, #14 80c8f02: 4aa4 ldr r2, [pc, #656] ; (80c9194 ) 80c8f04: fba2 2303 umull r2, r3, r2, r3 80c8f08: 08db lsrs r3, r3, #3 80c8f0a: 3302 adds r3, #2 80c8f0c: 673b str r3, [r7, #112] ; 0x70 res = dir_alloc(dp, nent); /* Allocate entries */ 80c8f0e: 6f39 ldr r1, [r7, #112] ; 0x70 80c8f10: 6878 ldr r0, [r7, #4] 80c8f12: f7ff f881 bl 80c8018 80c8f16: 4603 mov r3, r0 80c8f18: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c8f1c: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c8f20: 2b00 cmp r3, #0 80c8f22: d002 beq.n 80c8f2a 80c8f24: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c8f28: e168 b.n 80c91fc dp->blk_ofs = dp->dptr - SZDIRE * (nent - 1); /* Set the allocated entry block offset */ 80c8f2a: 687b ldr r3, [r7, #4] 80c8f2c: 6b1a ldr r2, [r3, #48] ; 0x30 80c8f2e: 6f39 ldr r1, [r7, #112] ; 0x70 80c8f30: f06f 4378 mvn.w r3, #4160749568 ; 0xf8000000 80c8f34: 440b add r3, r1 80c8f36: 015b lsls r3, r3, #5 80c8f38: 1ad2 subs r2, r2, r3 80c8f3a: 687b ldr r3, [r7, #4] 80c8f3c: 64da str r2, [r3, #76] ; 0x4c if (dp->obj.sclust != 0 && (dp->obj.stat & 4)) { /* Has the sub-directory been stretched? */ 80c8f3e: 687b ldr r3, [r7, #4] 80c8f40: 689b ldr r3, [r3, #8] 80c8f42: 2b00 cmp r3, #0 80c8f44: d074 beq.n 80c9030 80c8f46: 687b ldr r3, [r7, #4] 80c8f48: 79db ldrb r3, [r3, #7] 80c8f4a: f003 0304 and.w r3, r3, #4 80c8f4e: 2b00 cmp r3, #0 80c8f50: d06e beq.n 80c9030 dp->obj.objsize += (DWORD)fs->csize * SS(fs); /* Increase the directory size by cluster size */ 80c8f52: 687b ldr r3, [r7, #4] 80c8f54: e9d3 1204 ldrd r1, r2, [r3, #16] 80c8f58: 6efb ldr r3, [r7, #108] ; 0x6c 80c8f5a: 895b ldrh r3, [r3, #10] 80c8f5c: 025b lsls r3, r3, #9 80c8f5e: f04f 0400 mov.w r4, #0 80c8f62: 185b adds r3, r3, r1 80c8f64: eb44 0402 adc.w r4, r4, r2 80c8f68: 687a ldr r2, [r7, #4] 80c8f6a: e9c2 3404 strd r3, r4, [r2, #16] res = fill_first_frag(&dp->obj); /* Fill first fragment on the FAT if needed */ 80c8f6e: 687b ldr r3, [r7, #4] 80c8f70: 4618 mov r0, r3 80c8f72: f7fe fca3 bl 80c78bc 80c8f76: 4603 mov r3, r0 80c8f78: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c8f7c: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c8f80: 2b00 cmp r3, #0 80c8f82: d002 beq.n 80c8f8a 80c8f84: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c8f88: e138 b.n 80c91fc res = fill_last_frag(&dp->obj, dp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ 80c8f8a: 6878 ldr r0, [r7, #4] 80c8f8c: 687b ldr r3, [r7, #4] 80c8f8e: 6b5b ldr r3, [r3, #52] ; 0x34 80c8f90: f04f 32ff mov.w r2, #4294967295 80c8f94: 4619 mov r1, r3 80c8f96: f7fe fcc0 bl 80c791a 80c8f9a: 4603 mov r3, r0 80c8f9c: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c8fa0: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c8fa4: 2b00 cmp r3, #0 80c8fa6: d002 beq.n 80c8fae 80c8fa8: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c8fac: e126 b.n 80c91fc res = load_obj_dir(&dj, &dp->obj); /* Load the object status */ 80c8fae: 687a ldr r2, [r7, #4] 80c8fb0: f107 0308 add.w r3, r7, #8 80c8fb4: 4611 mov r1, r2 80c8fb6: 4618 mov r0, r3 80c8fb8: f7ff fc8a bl 80c88d0 80c8fbc: 4603 mov r3, r0 80c8fbe: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c8fc2: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c8fc6: 2b00 cmp r3, #0 80c8fc8: d002 beq.n 80c8fd0 80c8fca: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c8fce: e115 b.n 80c91fc st_qword(fs->dirbuf + XDIR_FileSize, dp->obj.objsize); /* Update the allocation status */ 80c8fd0: 6efb ldr r3, [r7, #108] ; 0x6c 80c8fd2: 691b ldr r3, [r3, #16] 80c8fd4: f103 0138 add.w r1, r3, #56 ; 0x38 80c8fd8: 687b ldr r3, [r7, #4] 80c8fda: e9d3 3404 ldrd r3, r4, [r3, #16] 80c8fde: 461a mov r2, r3 80c8fe0: 4623 mov r3, r4 80c8fe2: 4608 mov r0, r1 80c8fe4: f7fd ff6b bl 80c6ebe st_qword(fs->dirbuf + XDIR_ValidFileSize, dp->obj.objsize); 80c8fe8: 6efb ldr r3, [r7, #108] ; 0x6c 80c8fea: 691b ldr r3, [r3, #16] 80c8fec: f103 0128 add.w r1, r3, #40 ; 0x28 80c8ff0: 687b ldr r3, [r7, #4] 80c8ff2: e9d3 3404 ldrd r3, r4, [r3, #16] 80c8ff6: 461a mov r2, r3 80c8ff8: 4623 mov r3, r4 80c8ffa: 4608 mov r0, r1 80c8ffc: f7fd ff5f bl 80c6ebe fs->dirbuf[XDIR_GenFlags] = dp->obj.stat | 1; 80c9000: 6efb ldr r3, [r7, #108] ; 0x6c 80c9002: 691b ldr r3, [r3, #16] 80c9004: 3321 adds r3, #33 ; 0x21 80c9006: 687a ldr r2, [r7, #4] 80c9008: 79d2 ldrb r2, [r2, #7] 80c900a: f042 0201 orr.w r2, r2, #1 80c900e: b2d2 uxtb r2, r2 80c9010: 701a strb r2, [r3, #0] res = store_xdir(&dj); /* Store the object status */ 80c9012: f107 0308 add.w r3, r7, #8 80c9016: 4618 mov r0, r3 80c9018: f7ff fc94 bl 80c8944 80c901c: 4603 mov r3, r0 80c901e: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c9022: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9026: 2b00 cmp r3, #0 80c9028: d002 beq.n 80c9030 80c902a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c902e: e0e5 b.n 80c91fc } create_xdir(fs->dirbuf, fs->lfnbuf); /* Create on-memory directory block to be written later */ 80c9030: 6efb ldr r3, [r7, #108] ; 0x6c 80c9032: 691a ldr r2, [r3, #16] 80c9034: 6efb ldr r3, [r7, #108] ; 0x6c 80c9036: 68db ldr r3, [r3, #12] 80c9038: 4619 mov r1, r3 80c903a: 4610 mov r0, r2 80c903c: f7ff fcdd bl 80c89fa return FR_OK; 80c9040: 2300 movs r3, #0 80c9042: e0db b.n 80c91fc } #endif /* On the FAT12/16/32 volume */ mem_cpy(sn, dp->fn, 12); 80c9044: 687b ldr r3, [r7, #4] 80c9046: f103 0140 add.w r1, r3, #64 ; 0x40 80c904a: f107 035c add.w r3, r7, #92 ; 0x5c 80c904e: 220c movs r2, #12 80c9050: 4618 mov r0, r3 80c9052: f7fd ffc5 bl 80c6fe0 if (sn[NSFLAG] & NS_LOSS) { /* When LFN is out of 8.3 format, generate a numbered name */ 80c9056: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c905a: f003 0301 and.w r3, r3, #1 80c905e: 2b00 cmp r3, #0 80c9060: d033 beq.n 80c90ca dp->fn[NSFLAG] = NS_NOLFN; /* Find only SFN */ 80c9062: 687b ldr r3, [r7, #4] 80c9064: 2240 movs r2, #64 ; 0x40 80c9066: f883 204b strb.w r2, [r3, #75] ; 0x4b for (n = 1; n < 100; n++) { 80c906a: 2301 movs r3, #1 80c906c: 67bb str r3, [r7, #120] ; 0x78 80c906e: e016 b.n 80c909e gen_numname(dp->fn, sn, fs->lfnbuf, n); /* Generate a numbered name */ 80c9070: 687b ldr r3, [r7, #4] 80c9072: f103 0040 add.w r0, r3, #64 ; 0x40 80c9076: 6efb ldr r3, [r7, #108] ; 0x6c 80c9078: 68da ldr r2, [r3, #12] 80c907a: f107 015c add.w r1, r7, #92 ; 0x5c 80c907e: 6fbb ldr r3, [r7, #120] ; 0x78 80c9080: f7ff f9a2 bl 80c83c8 res = dir_find(dp); /* Check if the name collides with existing SFN */ 80c9084: 6878 ldr r0, [r7, #4] 80c9086: f7ff fded bl 80c8c64 80c908a: 4603 mov r3, r0 80c908c: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) break; 80c9090: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9094: 2b00 cmp r3, #0 80c9096: d106 bne.n 80c90a6 for (n = 1; n < 100; n++) { 80c9098: 6fbb ldr r3, [r7, #120] ; 0x78 80c909a: 3301 adds r3, #1 80c909c: 67bb str r3, [r7, #120] ; 0x78 80c909e: 6fbb ldr r3, [r7, #120] ; 0x78 80c90a0: 2b63 cmp r3, #99 ; 0x63 80c90a2: d9e5 bls.n 80c9070 80c90a4: e000 b.n 80c90a8 if (res != FR_OK) break; 80c90a6: bf00 nop } if (n == 100) return FR_DENIED; /* Abort if too many collisions */ 80c90a8: 6fbb ldr r3, [r7, #120] ; 0x78 80c90aa: 2b64 cmp r3, #100 ; 0x64 80c90ac: d101 bne.n 80c90b2 80c90ae: 2307 movs r3, #7 80c90b0: e0a4 b.n 80c91fc if (res != FR_NO_FILE) return res; /* Abort if the result is other than 'not collided' */ 80c90b2: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c90b6: 2b04 cmp r3, #4 80c90b8: d002 beq.n 80c90c0 80c90ba: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c90be: e09d b.n 80c91fc dp->fn[NSFLAG] = sn[NSFLAG]; 80c90c0: f897 2067 ldrb.w r2, [r7, #103] ; 0x67 80c90c4: 687b ldr r3, [r7, #4] 80c90c6: 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 */ 80c90ca: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c90ce: f003 0302 and.w r3, r3, #2 80c90d2: 2b00 cmp r3, #0 80c90d4: d007 beq.n 80c90e6 80c90d6: 6f7b ldr r3, [r7, #116] ; 0x74 80c90d8: 330c adds r3, #12 80c90da: 4a2f ldr r2, [pc, #188] ; (80c9198 ) 80c90dc: fba2 2303 umull r2, r3, r2, r3 80c90e0: 089b lsrs r3, r3, #2 80c90e2: 3301 adds r3, #1 80c90e4: e000 b.n 80c90e8 80c90e6: 2301 movs r3, #1 80c90e8: 673b str r3, [r7, #112] ; 0x70 res = dir_alloc(dp, nent); /* Allocate entries */ 80c90ea: 6f39 ldr r1, [r7, #112] ; 0x70 80c90ec: 6878 ldr r0, [r7, #4] 80c90ee: f7fe ff93 bl 80c8018 80c90f2: 4603 mov r3, r0 80c90f4: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK && --nent) { /* Set LFN entry if needed */ 80c90f8: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c90fc: 2b00 cmp r3, #0 80c90fe: d14e bne.n 80c919e 80c9100: 6f3b ldr r3, [r7, #112] ; 0x70 80c9102: 3b01 subs r3, #1 80c9104: 673b str r3, [r7, #112] ; 0x70 80c9106: 6f3b ldr r3, [r7, #112] ; 0x70 80c9108: 2b00 cmp r3, #0 80c910a: d048 beq.n 80c919e res = dir_sdi(dp, dp->dptr - nent * SZDIRE); 80c910c: 687b ldr r3, [r7, #4] 80c910e: 6b1a ldr r2, [r3, #48] ; 0x30 80c9110: 6f3b ldr r3, [r7, #112] ; 0x70 80c9112: 015b lsls r3, r3, #5 80c9114: 1ad3 subs r3, r2, r3 80c9116: 4619 mov r1, r3 80c9118: 6878 ldr r0, [r7, #4] 80c911a: f7fe fe22 bl 80c7d62 80c911e: 4603 mov r3, r0 80c9120: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) { 80c9124: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9128: 2b00 cmp r3, #0 80c912a: d138 bne.n 80c919e sum = sum_sfn(dp->fn); /* Checksum value of the SFN tied to the LFN */ 80c912c: 687b ldr r3, [r7, #4] 80c912e: 3340 adds r3, #64 ; 0x40 80c9130: 4618 mov r0, r3 80c9132: f7ff f9d7 bl 80c84e4 80c9136: 4603 mov r3, r0 80c9138: f887 306b strb.w r3, [r7, #107] ; 0x6b do { /* Store LFN entries in bottom first */ res = move_window(fs, dp->sect); 80c913c: 687b ldr r3, [r7, #4] 80c913e: 6b9b ldr r3, [r3, #56] ; 0x38 80c9140: 4619 mov r1, r3 80c9142: 6ef8 ldr r0, [r7, #108] ; 0x6c 80c9144: f7fe f80d bl 80c7162 80c9148: 4603 mov r3, r0 80c914a: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) break; 80c914e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9152: 2b00 cmp r3, #0 80c9154: d122 bne.n 80c919c put_lfn(fs->lfnbuf, dp->dir, (BYTE)nent, sum); 80c9156: 6efb ldr r3, [r7, #108] ; 0x6c 80c9158: 68d8 ldr r0, [r3, #12] 80c915a: 687b ldr r3, [r7, #4] 80c915c: 6bd9 ldr r1, [r3, #60] ; 0x3c 80c915e: 6f3b ldr r3, [r7, #112] ; 0x70 80c9160: b2da uxtb r2, r3 80c9162: f897 306b ldrb.w r3, [r7, #107] ; 0x6b 80c9166: f7ff f8c7 bl 80c82f8 fs->wflag = 1; 80c916a: 6efb ldr r3, [r7, #108] ; 0x6c 80c916c: 2201 movs r2, #1 80c916e: 70da strb r2, [r3, #3] res = dir_next(dp, 0); /* Next entry */ 80c9170: 2100 movs r1, #0 80c9172: 6878 ldr r0, [r7, #4] 80c9174: f7fe fe7b bl 80c7e6e 80c9178: 4603 mov r3, r0 80c917a: f887 307f strb.w r3, [r7, #127] ; 0x7f } while (res == FR_OK && --nent); 80c917e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c9182: 2b00 cmp r3, #0 80c9184: d10b bne.n 80c919e 80c9186: 6f3b ldr r3, [r7, #112] ; 0x70 80c9188: 3b01 subs r3, #1 80c918a: 673b str r3, [r7, #112] ; 0x70 80c918c: 6f3b ldr r3, [r7, #112] ; 0x70 80c918e: 2b00 cmp r3, #0 80c9190: d1d4 bne.n 80c913c 80c9192: e004 b.n 80c919e 80c9194: 88888889 .word 0x88888889 80c9198: 4ec4ec4f .word 0x4ec4ec4f if (res != FR_OK) break; 80c919c: bf00 nop res = dir_alloc(dp, 1); /* Allocate an entry for SFN */ #endif /* Set SFN entry */ if (res == FR_OK) { 80c919e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c91a2: 2b00 cmp r3, #0 80c91a4: d128 bne.n 80c91f8 res = move_window(fs, dp->sect); 80c91a6: 687b ldr r3, [r7, #4] 80c91a8: 6b9b ldr r3, [r3, #56] ; 0x38 80c91aa: 4619 mov r1, r3 80c91ac: 6ef8 ldr r0, [r7, #108] ; 0x6c 80c91ae: f7fd ffd8 bl 80c7162 80c91b2: 4603 mov r3, r0 80c91b4: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) { 80c91b8: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c91bc: 2b00 cmp r3, #0 80c91be: d11b bne.n 80c91f8 mem_set(dp->dir, 0, SZDIRE); /* Clean the entry */ 80c91c0: 687b ldr r3, [r7, #4] 80c91c2: 6bdb ldr r3, [r3, #60] ; 0x3c 80c91c4: 2220 movs r2, #32 80c91c6: 2100 movs r1, #0 80c91c8: 4618 mov r0, r3 80c91ca: f7fd ff2a bl 80c7022 mem_cpy(dp->dir + DIR_Name, dp->fn, 11); /* Put SFN */ 80c91ce: 687b ldr r3, [r7, #4] 80c91d0: 6bd8 ldr r0, [r3, #60] ; 0x3c 80c91d2: 687b ldr r3, [r7, #4] 80c91d4: 3340 adds r3, #64 ; 0x40 80c91d6: 220b movs r2, #11 80c91d8: 4619 mov r1, r3 80c91da: f7fd ff01 bl 80c6fe0 #if _USE_LFN != 0 dp->dir[DIR_NTres] = dp->fn[NSFLAG] & (NS_BODY | NS_EXT); /* Put NT flag */ 80c91de: 687b ldr r3, [r7, #4] 80c91e0: 6bdb ldr r3, [r3, #60] ; 0x3c 80c91e2: 330c adds r3, #12 80c91e4: 687a ldr r2, [r7, #4] 80c91e6: f892 204b ldrb.w r2, [r2, #75] ; 0x4b 80c91ea: f002 0218 and.w r2, r2, #24 80c91ee: b2d2 uxtb r2, r2 80c91f0: 701a strb r2, [r3, #0] #endif fs->wflag = 1; 80c91f2: 6efb ldr r3, [r7, #108] ; 0x6c 80c91f4: 2201 movs r2, #1 80c91f6: 70da strb r2, [r3, #3] } } return res; 80c91f8: f897 307f ldrb.w r3, [r7, #127] ; 0x7f } 80c91fc: 4618 mov r0, r3 80c91fe: 3784 adds r7, #132 ; 0x84 80c9200: 46bd mov sp, r7 80c9202: bd90 pop {r4, r7, pc} 080c9204 : static FRESULT dir_remove ( /* FR_OK:Succeeded, FR_DISK_ERR:A disk error */ DIR* dp /* Directory object pointing the entry to be removed */ ) { 80c9204: b580 push {r7, lr} 80c9206: b086 sub sp, #24 80c9208: af00 add r7, sp, #0 80c920a: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs = dp->obj.fs; 80c920c: 687b ldr r3, [r7, #4] 80c920e: 681b ldr r3, [r3, #0] 80c9210: 613b str r3, [r7, #16] #if _USE_LFN != 0 /* LFN configuration */ DWORD last = dp->dptr; 80c9212: 687b ldr r3, [r7, #4] 80c9214: 6b1b ldr r3, [r3, #48] ; 0x30 80c9216: 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 */ 80c9218: 687b ldr r3, [r7, #4] 80c921a: 6cdb ldr r3, [r3, #76] ; 0x4c 80c921c: f1b3 3fff cmp.w r3, #4294967295 80c9220: d007 beq.n 80c9232 80c9222: 687b ldr r3, [r7, #4] 80c9224: 6cdb ldr r3, [r3, #76] ; 0x4c 80c9226: 4619 mov r1, r3 80c9228: 6878 ldr r0, [r7, #4] 80c922a: f7fe fd9a bl 80c7d62 80c922e: 4603 mov r3, r0 80c9230: e000 b.n 80c9234 80c9232: 2300 movs r3, #0 80c9234: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c9236: 7dfb ldrb r3, [r7, #23] 80c9238: 2b00 cmp r3, #0 80c923a: d136 bne.n 80c92aa do { res = move_window(fs, dp->sect); 80c923c: 687b ldr r3, [r7, #4] 80c923e: 6b9b ldr r3, [r3, #56] ; 0x38 80c9240: 4619 mov r1, r3 80c9242: 6938 ldr r0, [r7, #16] 80c9244: f7fd ff8d bl 80c7162 80c9248: 4603 mov r3, r0 80c924a: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c924c: 7dfb ldrb r3, [r7, #23] 80c924e: 2b00 cmp r3, #0 80c9250: d123 bne.n 80c929a /* Mark an entry 'deleted' */ if (_FS_EXFAT && fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c9252: 693b ldr r3, [r7, #16] 80c9254: 781b ldrb r3, [r3, #0] 80c9256: 2b04 cmp r3, #4 80c9258: d109 bne.n 80c926e dp->dir[XDIR_Type] &= 0x7F; 80c925a: 687b ldr r3, [r7, #4] 80c925c: 6bdb ldr r3, [r3, #60] ; 0x3c 80c925e: 687a ldr r2, [r7, #4] 80c9260: 6bd2 ldr r2, [r2, #60] ; 0x3c 80c9262: 7812 ldrb r2, [r2, #0] 80c9264: f002 027f and.w r2, r2, #127 ; 0x7f 80c9268: b2d2 uxtb r2, r2 80c926a: 701a strb r2, [r3, #0] 80c926c: e003 b.n 80c9276 } else { /* On the FAT12/16/32 volume */ dp->dir[DIR_Name] = DDEM; 80c926e: 687b ldr r3, [r7, #4] 80c9270: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9272: 22e5 movs r2, #229 ; 0xe5 80c9274: 701a strb r2, [r3, #0] } fs->wflag = 1; 80c9276: 693b ldr r3, [r7, #16] 80c9278: 2201 movs r2, #1 80c927a: 70da strb r2, [r3, #3] if (dp->dptr >= last) break; /* If reached last entry then all entries of the object has been deleted. */ 80c927c: 687b ldr r3, [r7, #4] 80c927e: 6b1a ldr r2, [r3, #48] ; 0x30 80c9280: 68fb ldr r3, [r7, #12] 80c9282: 429a cmp r2, r3 80c9284: d20b bcs.n 80c929e res = dir_next(dp, 0); /* Next entry */ 80c9286: 2100 movs r1, #0 80c9288: 6878 ldr r0, [r7, #4] 80c928a: f7fe fdf0 bl 80c7e6e 80c928e: 4603 mov r3, r0 80c9290: 75fb strb r3, [r7, #23] } while (res == FR_OK); 80c9292: 7dfb ldrb r3, [r7, #23] 80c9294: 2b00 cmp r3, #0 80c9296: d0d1 beq.n 80c923c 80c9298: e002 b.n 80c92a0 if (res != FR_OK) break; 80c929a: bf00 nop 80c929c: e000 b.n 80c92a0 if (dp->dptr >= last) break; /* If reached last entry then all entries of the object has been deleted. */ 80c929e: bf00 nop if (res == FR_NO_FILE) res = FR_INT_ERR; 80c92a0: 7dfb ldrb r3, [r7, #23] 80c92a2: 2b04 cmp r3, #4 80c92a4: d101 bne.n 80c92aa 80c92a6: 2302 movs r3, #2 80c92a8: 75fb strb r3, [r7, #23] dp->dir[DIR_Name] = DDEM; fs->wflag = 1; } #endif return res; 80c92aa: 7dfb ldrb r3, [r7, #23] } 80c92ac: 4618 mov r0, r3 80c92ae: 3718 adds r7, #24 80c92b0: 46bd mov sp, r7 80c92b2: bd80 pop {r7, pc} 080c92b4 : static void get_fileinfo ( /* No return code */ DIR* dp, /* Pointer to the directory object */ FILINFO* fno /* Pointer to the file information to be filled */ ) { 80c92b4: b590 push {r4, r7, lr} 80c92b6: b089 sub sp, #36 ; 0x24 80c92b8: af00 add r7, sp, #0 80c92ba: 6078 str r0, [r7, #4] 80c92bc: 6039 str r1, [r7, #0] UINT i, j; TCHAR c; DWORD tm; #if _USE_LFN != 0 WCHAR w, lfv; FATFS *fs = dp->obj.fs; 80c92be: 687b ldr r3, [r7, #4] 80c92c0: 681b ldr r3, [r3, #0] 80c92c2: 613b str r3, [r7, #16] #endif fno->fname[0] = 0; /* Invaidate file info */ 80c92c4: 683b ldr r3, [r7, #0] 80c92c6: 2200 movs r2, #0 80c92c8: 769a strb r2, [r3, #26] if (!dp->sect) return; /* Exit if read pointer has reached end of directory */ 80c92ca: 687b ldr r3, [r7, #4] 80c92cc: 6b9b ldr r3, [r3, #56] ; 0x38 80c92ce: 2b00 cmp r3, #0 80c92d0: f000 80d7 beq.w 80c9482 #if _USE_LFN != 0 /* LFN configuration */ #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c92d4: 693b ldr r3, [r7, #16] 80c92d6: 781b ldrb r3, [r3, #0] 80c92d8: 2b04 cmp r3, #4 80c92da: d106 bne.n 80c92ea get_xdir_info(fs->dirbuf, fno); 80c92dc: 693b ldr r3, [r7, #16] 80c92de: 691b ldr r3, [r3, #16] 80c92e0: 6839 ldr r1, [r7, #0] 80c92e2: 4618 mov r0, r3 80c92e4: f7ff f9b4 bl 80c8650 return; 80c92e8: e0cc b.n 80c9484 } else #endif { /* On the FAT12/16/32 volume */ if (dp->blk_ofs != 0xFFFFFFFF) { /* Get LFN if available */ 80c92ea: 687b ldr r3, [r7, #4] 80c92ec: 6cdb ldr r3, [r3, #76] ; 0x4c 80c92ee: f1b3 3fff cmp.w r3, #4294967295 80c92f2: d032 beq.n 80c935a i = j = 0; 80c92f4: 2300 movs r3, #0 80c92f6: 61bb str r3, [r7, #24] 80c92f8: 69bb ldr r3, [r7, #24] 80c92fa: 61fb str r3, [r7, #28] while ((w = fs->lfnbuf[j++]) != 0) { /* Get an LFN character */ 80c92fc: e01b b.n 80c9336 #if !_LFN_UNICODE w = ff_convert(w, 0); /* Unicode -> OEM */ 80c92fe: 89fb ldrh r3, [r7, #14] 80c9300: 2100 movs r1, #0 80c9302: 4618 mov r0, r3 80c9304: f003 ff5e bl 80cd1c4 80c9308: 4603 mov r3, r0 80c930a: 81fb strh r3, [r7, #14] if (w == 0) { i = 0; break; } /* No LFN if it could not be converted */ 80c930c: 89fb ldrh r3, [r7, #14] 80c930e: 2b00 cmp r3, #0 80c9310: d102 bne.n 80c9318 80c9312: 2300 movs r3, #0 80c9314: 61fb str r3, [r7, #28] 80c9316: e01a b.n 80c934e 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 */ 80c9318: 69fb ldr r3, [r7, #28] 80c931a: 2bfe cmp r3, #254 ; 0xfe 80c931c: d902 bls.n 80c9324 80c931e: 2300 movs r3, #0 80c9320: 61fb str r3, [r7, #28] 80c9322: e014 b.n 80c934e fno->fname[i++] = (TCHAR)w; 80c9324: 69fb ldr r3, [r7, #28] 80c9326: 1c5a adds r2, r3, #1 80c9328: 61fa str r2, [r7, #28] 80c932a: 89fa ldrh r2, [r7, #14] 80c932c: b2d1 uxtb r1, r2 80c932e: 683a ldr r2, [r7, #0] 80c9330: 4413 add r3, r2 80c9332: 460a mov r2, r1 80c9334: 769a strb r2, [r3, #26] while ((w = fs->lfnbuf[j++]) != 0) { /* Get an LFN character */ 80c9336: 693b ldr r3, [r7, #16] 80c9338: 68da ldr r2, [r3, #12] 80c933a: 69bb ldr r3, [r7, #24] 80c933c: 1c59 adds r1, r3, #1 80c933e: 61b9 str r1, [r7, #24] 80c9340: 005b lsls r3, r3, #1 80c9342: 4413 add r3, r2 80c9344: 881b ldrh r3, [r3, #0] 80c9346: 81fb strh r3, [r7, #14] 80c9348: 89fb ldrh r3, [r7, #14] 80c934a: 2b00 cmp r3, #0 80c934c: d1d7 bne.n 80c92fe } fno->fname[i] = 0; /* Terminate the LFN */ 80c934e: 683a ldr r2, [r7, #0] 80c9350: 69fb ldr r3, [r7, #28] 80c9352: 4413 add r3, r2 80c9354: 331a adds r3, #26 80c9356: 2200 movs r2, #0 80c9358: 701a strb r2, [r3, #0] } } i = j = 0; 80c935a: 2300 movs r3, #0 80c935c: 61bb str r3, [r7, #24] 80c935e: 69bb ldr r3, [r7, #24] 80c9360: 61fb str r3, [r7, #28] lfv = fno->fname[i]; /* LFN is exist if non-zero */ 80c9362: 683a ldr r2, [r7, #0] 80c9364: 69fb ldr r3, [r7, #28] 80c9366: 4413 add r3, r2 80c9368: 331a adds r3, #26 80c936a: 781b ldrb r3, [r3, #0] 80c936c: 81bb strh r3, [r7, #12] while (i < 11) { /* Copy name body and extension */ 80c936e: e04c b.n 80c940a c = (TCHAR)dp->dir[i++]; 80c9370: 687b ldr r3, [r7, #4] 80c9372: 6bda ldr r2, [r3, #60] ; 0x3c 80c9374: 69fb ldr r3, [r7, #28] 80c9376: 1c59 adds r1, r3, #1 80c9378: 61f9 str r1, [r7, #28] 80c937a: 4413 add r3, r2 80c937c: 781b ldrb r3, [r3, #0] 80c937e: 75fb strb r3, [r7, #23] if (c == ' ') continue; /* Skip padding spaces */ 80c9380: 7dfb ldrb r3, [r7, #23] 80c9382: 2b20 cmp r3, #32 80c9384: d100 bne.n 80c9388 80c9386: e040 b.n 80c940a if (c == RDDEM) c = (TCHAR)DDEM; /* Restore replaced DDEM character */ 80c9388: 7dfb ldrb r3, [r7, #23] 80c938a: 2b05 cmp r3, #5 80c938c: d101 bne.n 80c9392 80c938e: 23e5 movs r3, #229 ; 0xe5 80c9390: 75fb strb r3, [r7, #23] if (i == 9) { /* Insert a . if extension is exist */ 80c9392: 69fb ldr r3, [r7, #28] 80c9394: 2b09 cmp r3, #9 80c9396: d10f bne.n 80c93b8 if (!lfv) fno->fname[j] = '.'; 80c9398: 89bb ldrh r3, [r7, #12] 80c939a: 2b00 cmp r3, #0 80c939c: d105 bne.n 80c93aa 80c939e: 683a ldr r2, [r7, #0] 80c93a0: 69bb ldr r3, [r7, #24] 80c93a2: 4413 add r3, r2 80c93a4: 331a adds r3, #26 80c93a6: 222e movs r2, #46 ; 0x2e 80c93a8: 701a strb r2, [r3, #0] fno->altname[j++] = '.'; 80c93aa: 69bb ldr r3, [r7, #24] 80c93ac: 1c5a adds r2, r3, #1 80c93ae: 61ba str r2, [r7, #24] 80c93b0: 683a ldr r2, [r7, #0] 80c93b2: 4413 add r3, r2 80c93b4: 222e movs r2, #46 ; 0x2e 80c93b6: 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; 80c93b8: 683a ldr r2, [r7, #0] 80c93ba: 69bb ldr r3, [r7, #24] 80c93bc: 4413 add r3, r2 80c93be: 330d adds r3, #13 80c93c0: 7dfa ldrb r2, [r7, #23] 80c93c2: 701a strb r2, [r3, #0] if (!lfv) { 80c93c4: 89bb ldrh r3, [r7, #12] 80c93c6: 2b00 cmp r3, #0 80c93c8: d11c bne.n 80c9404 if (IsUpper(c) && (dp->dir[DIR_NTres] & ((i >= 9) ? NS_EXT : NS_BODY))) { 80c93ca: 7dfb ldrb r3, [r7, #23] 80c93cc: 2b40 cmp r3, #64 ; 0x40 80c93ce: d913 bls.n 80c93f8 80c93d0: 7dfb ldrb r3, [r7, #23] 80c93d2: 2b5a cmp r3, #90 ; 0x5a 80c93d4: d810 bhi.n 80c93f8 80c93d6: 687b ldr r3, [r7, #4] 80c93d8: 6bdb ldr r3, [r3, #60] ; 0x3c 80c93da: 330c adds r3, #12 80c93dc: 781b ldrb r3, [r3, #0] 80c93de: 461a mov r2, r3 80c93e0: 69fb ldr r3, [r7, #28] 80c93e2: 2b08 cmp r3, #8 80c93e4: d901 bls.n 80c93ea 80c93e6: 2310 movs r3, #16 80c93e8: e000 b.n 80c93ec 80c93ea: 2308 movs r3, #8 80c93ec: 4013 ands r3, r2 80c93ee: 2b00 cmp r3, #0 80c93f0: d002 beq.n 80c93f8 c += 0x20; /* To lower */ 80c93f2: 7dfb ldrb r3, [r7, #23] 80c93f4: 3320 adds r3, #32 80c93f6: 75fb strb r3, [r7, #23] } fno->fname[j] = c; 80c93f8: 683a ldr r2, [r7, #0] 80c93fa: 69bb ldr r3, [r7, #24] 80c93fc: 4413 add r3, r2 80c93fe: 331a adds r3, #26 80c9400: 7dfa ldrb r2, [r7, #23] 80c9402: 701a strb r2, [r3, #0] } j++; 80c9404: 69bb ldr r3, [r7, #24] 80c9406: 3301 adds r3, #1 80c9408: 61bb str r3, [r7, #24] while (i < 11) { /* Copy name body and extension */ 80c940a: 69fb ldr r3, [r7, #28] 80c940c: 2b0a cmp r3, #10 80c940e: d9af bls.n 80c9370 } if (!lfv) { 80c9410: 89bb ldrh r3, [r7, #12] 80c9412: 2b00 cmp r3, #0 80c9414: d10d bne.n 80c9432 fno->fname[j] = 0; 80c9416: 683a ldr r2, [r7, #0] 80c9418: 69bb ldr r3, [r7, #24] 80c941a: 4413 add r3, r2 80c941c: 331a adds r3, #26 80c941e: 2200 movs r2, #0 80c9420: 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. */ 80c9422: 687b ldr r3, [r7, #4] 80c9424: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9426: 330c adds r3, #12 80c9428: 781b ldrb r3, [r3, #0] 80c942a: 2b00 cmp r3, #0 80c942c: d101 bne.n 80c9432 80c942e: 2300 movs r3, #0 80c9430: 61bb str r3, [r7, #24] } fno->altname[j] = 0; /* Terminate the SFN */ 80c9432: 683a ldr r2, [r7, #0] 80c9434: 69bb ldr r3, [r7, #24] 80c9436: 4413 add r3, r2 80c9438: 330d adds r3, #13 80c943a: 2200 movs r2, #0 80c943c: 701a strb r2, [r3, #0] fno->fname[j++] = c; } fno->fname[j] = 0; #endif fno->fattrib = dp->dir[DIR_Attr]; /* Attribute */ 80c943e: 687b ldr r3, [r7, #4] 80c9440: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9442: 7ada ldrb r2, [r3, #11] 80c9444: 683b ldr r3, [r7, #0] 80c9446: 731a strb r2, [r3, #12] fno->fsize = ld_dword(dp->dir + DIR_FileSize); /* Size */ 80c9448: 687b ldr r3, [r7, #4] 80c944a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c944c: 331c adds r3, #28 80c944e: 4618 mov r0, r3 80c9450: f7fd fc1c bl 80c6c8c 80c9454: 4603 mov r3, r0 80c9456: f04f 0400 mov.w r4, #0 80c945a: 683a ldr r2, [r7, #0] 80c945c: e882 0018 stmia.w r2, {r3, r4} tm = ld_dword(dp->dir + DIR_ModTime); /* Timestamp */ 80c9460: 687b ldr r3, [r7, #4] 80c9462: 6bdb ldr r3, [r3, #60] ; 0x3c 80c9464: 3316 adds r3, #22 80c9466: 4618 mov r0, r3 80c9468: f7fd fc10 bl 80c6c8c 80c946c: 60b8 str r0, [r7, #8] fno->ftime = (WORD)tm; fno->fdate = (WORD)(tm >> 16); 80c946e: 68bb ldr r3, [r7, #8] 80c9470: b29a uxth r2, r3 80c9472: 683b ldr r3, [r7, #0] 80c9474: 815a strh r2, [r3, #10] 80c9476: 68bb ldr r3, [r7, #8] 80c9478: 0c1b lsrs r3, r3, #16 80c947a: b29a uxth r2, r3 80c947c: 683b ldr r3, [r7, #0] 80c947e: 811a strh r2, [r3, #8] 80c9480: e000 b.n 80c9484 if (!dp->sect) return; /* Exit if read pointer has reached end of directory */ 80c9482: bf00 nop } 80c9484: 3724 adds r7, #36 ; 0x24 80c9486: 46bd mov sp, r7 80c9488: bd90 pop {r4, r7, pc} ... 080c948c : 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 */ ) { 80c948c: b580 push {r7, lr} 80c948e: b08a sub sp, #40 ; 0x28 80c9490: af00 add r7, sp, #0 80c9492: 6078 str r0, [r7, #4] 80c9494: 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; 80c9496: 683b ldr r3, [r7, #0] 80c9498: 681b ldr r3, [r3, #0] 80c949a: 613b str r3, [r7, #16] 80c949c: 687b ldr r3, [r7, #4] 80c949e: 681b ldr r3, [r3, #0] 80c94a0: 68db ldr r3, [r3, #12] 80c94a2: 60fb str r3, [r7, #12] 80c94a4: 2300 movs r3, #0 80c94a6: 617b str r3, [r7, #20] 80c94a8: 697b ldr r3, [r7, #20] 80c94aa: 61bb str r3, [r7, #24] for (;;) { w = p[si++]; /* Get a character */ 80c94ac: 69bb ldr r3, [r7, #24] 80c94ae: 1c5a adds r2, r3, #1 80c94b0: 61ba str r2, [r7, #24] 80c94b2: 693a ldr r2, [r7, #16] 80c94b4: 4413 add r3, r2 80c94b6: 781b ldrb r3, [r3, #0] 80c94b8: 84bb strh r3, [r7, #36] ; 0x24 if (w < ' ') break; /* Break if end of the path name */ 80c94ba: 8cbb ldrh r3, [r7, #36] ; 0x24 80c94bc: 2b1f cmp r3, #31 80c94be: d940 bls.n 80c9542 if (w == '/' || w == '\\') { /* Break if a separator is found */ 80c94c0: 8cbb ldrh r3, [r7, #36] ; 0x24 80c94c2: 2b2f cmp r3, #47 ; 0x2f 80c94c4: d006 beq.n 80c94d4 80c94c6: 8cbb ldrh r3, [r7, #36] ; 0x24 80c94c8: 2b5c cmp r3, #92 ; 0x5c 80c94ca: d110 bne.n 80c94ee while (p[si] == '/' || p[si] == '\\') si++; /* Skip duplicated separator if exist */ 80c94cc: e002 b.n 80c94d4 80c94ce: 69bb ldr r3, [r7, #24] 80c94d0: 3301 adds r3, #1 80c94d2: 61bb str r3, [r7, #24] 80c94d4: 693a ldr r2, [r7, #16] 80c94d6: 69bb ldr r3, [r7, #24] 80c94d8: 4413 add r3, r2 80c94da: 781b ldrb r3, [r3, #0] 80c94dc: 2b2f cmp r3, #47 ; 0x2f 80c94de: d0f6 beq.n 80c94ce 80c94e0: 693a ldr r2, [r7, #16] 80c94e2: 69bb ldr r3, [r7, #24] 80c94e4: 4413 add r3, r2 80c94e6: 781b ldrb r3, [r3, #0] 80c94e8: 2b5c cmp r3, #92 ; 0x5c 80c94ea: d0f0 beq.n 80c94ce break; 80c94ec: e02a b.n 80c9544 } if (di >= _MAX_LFN) return FR_INVALID_NAME; /* Reject too long name */ 80c94ee: 697b ldr r3, [r7, #20] 80c94f0: 2bfe cmp r3, #254 ; 0xfe 80c94f2: d901 bls.n 80c94f8 80c94f4: 2306 movs r3, #6 80c94f6: e177 b.n 80c97e8 #if !_LFN_UNICODE w &= 0xFF; 80c94f8: 8cbb ldrh r3, [r7, #36] ; 0x24 80c94fa: b2db uxtb r3, r3 80c94fc: 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 */ 80c94fe: 8cbb ldrh r3, [r7, #36] ; 0x24 80c9500: 2101 movs r1, #1 80c9502: 4618 mov r0, r3 80c9504: f003 fe5e bl 80cd1c4 80c9508: 4603 mov r3, r0 80c950a: 84bb strh r3, [r7, #36] ; 0x24 if (!w) return FR_INVALID_NAME; /* Reject invalid code */ 80c950c: 8cbb ldrh r3, [r7, #36] ; 0x24 80c950e: 2b00 cmp r3, #0 80c9510: d101 bne.n 80c9516 80c9512: 2306 movs r3, #6 80c9514: e168 b.n 80c97e8 #endif if (w < 0x80 && chk_chr("\"*:<>\?|\x7F", w)) return FR_INVALID_NAME; /* Reject illegal characters for LFN */ 80c9516: 8cbb ldrh r3, [r7, #36] ; 0x24 80c9518: 2b7f cmp r3, #127 ; 0x7f 80c951a: d809 bhi.n 80c9530 80c951c: 8cbb ldrh r3, [r7, #36] ; 0x24 80c951e: 4619 mov r1, r3 80c9520: 48b3 ldr r0, [pc, #716] ; (80c97f0 ) 80c9522: f7fd fdbf bl 80c70a4 80c9526: 4603 mov r3, r0 80c9528: 2b00 cmp r3, #0 80c952a: d001 beq.n 80c9530 80c952c: 2306 movs r3, #6 80c952e: e15b b.n 80c97e8 lfn[di++] = w; /* Store the Unicode character */ 80c9530: 697b ldr r3, [r7, #20] 80c9532: 1c5a adds r2, r3, #1 80c9534: 617a str r2, [r7, #20] 80c9536: 005b lsls r3, r3, #1 80c9538: 68fa ldr r2, [r7, #12] 80c953a: 4413 add r3, r2 80c953c: 8cba ldrh r2, [r7, #36] ; 0x24 80c953e: 801a strh r2, [r3, #0] w = p[si++]; /* Get a character */ 80c9540: e7b4 b.n 80c94ac if (w < ' ') break; /* Break if end of the path name */ 80c9542: bf00 nop } *path = &p[si]; /* Return pointer to the next segment */ 80c9544: 693a ldr r2, [r7, #16] 80c9546: 69bb ldr r3, [r7, #24] 80c9548: 441a add r2, r3 80c954a: 683b ldr r3, [r7, #0] 80c954c: 601a str r2, [r3, #0] cf = (w < ' ') ? NS_LAST : 0; /* Set last segment flag if end of the path */ 80c954e: 8cbb ldrh r3, [r7, #36] ; 0x24 80c9550: 2b1f cmp r3, #31 80c9552: d801 bhi.n 80c9558 80c9554: 2304 movs r3, #4 80c9556: e000 b.n 80c955a 80c9558: 2300 movs r3, #0 80c955a: 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 */ 80c955e: e011 b.n 80c9584 w = lfn[di - 1]; 80c9560: 697a ldr r2, [r7, #20] 80c9562: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c9566: 4413 add r3, r2 80c9568: 005b lsls r3, r3, #1 80c956a: 68fa ldr r2, [r7, #12] 80c956c: 4413 add r3, r2 80c956e: 881b ldrh r3, [r3, #0] 80c9570: 84bb strh r3, [r7, #36] ; 0x24 if (w != ' ' && w != '.') break; 80c9572: 8cbb ldrh r3, [r7, #36] ; 0x24 80c9574: 2b20 cmp r3, #32 80c9576: d002 beq.n 80c957e 80c9578: 8cbb ldrh r3, [r7, #36] ; 0x24 80c957a: 2b2e cmp r3, #46 ; 0x2e 80c957c: d106 bne.n 80c958c di--; 80c957e: 697b ldr r3, [r7, #20] 80c9580: 3b01 subs r3, #1 80c9582: 617b str r3, [r7, #20] while (di) { /* Snip off trailing spaces and dots if exist */ 80c9584: 697b ldr r3, [r7, #20] 80c9586: 2b00 cmp r3, #0 80c9588: d1ea bne.n 80c9560 80c958a: e000 b.n 80c958e if (w != ' ' && w != '.') break; 80c958c: bf00 nop } lfn[di] = 0; /* LFN is created */ 80c958e: 697b ldr r3, [r7, #20] 80c9590: 005b lsls r3, r3, #1 80c9592: 68fa ldr r2, [r7, #12] 80c9594: 4413 add r3, r2 80c9596: 2200 movs r2, #0 80c9598: 801a strh r2, [r3, #0] if (di == 0) return FR_INVALID_NAME; /* Reject nul name */ 80c959a: 697b ldr r3, [r7, #20] 80c959c: 2b00 cmp r3, #0 80c959e: d101 bne.n 80c95a4 80c95a0: 2306 movs r3, #6 80c95a2: e121 b.n 80c97e8 /* Create SFN in directory form */ mem_set(dp->fn, ' ', 11); 80c95a4: 687b ldr r3, [r7, #4] 80c95a6: 3340 adds r3, #64 ; 0x40 80c95a8: 220b movs r2, #11 80c95aa: 2120 movs r1, #32 80c95ac: 4618 mov r0, r3 80c95ae: f7fd fd38 bl 80c7022 for (si = 0; lfn[si] == ' ' || lfn[si] == '.'; si++) ; /* Strip leading spaces and dots */ 80c95b2: 2300 movs r3, #0 80c95b4: 61bb str r3, [r7, #24] 80c95b6: e002 b.n 80c95be 80c95b8: 69bb ldr r3, [r7, #24] 80c95ba: 3301 adds r3, #1 80c95bc: 61bb str r3, [r7, #24] 80c95be: 69bb ldr r3, [r7, #24] 80c95c0: 005b lsls r3, r3, #1 80c95c2: 68fa ldr r2, [r7, #12] 80c95c4: 4413 add r3, r2 80c95c6: 881b ldrh r3, [r3, #0] 80c95c8: 2b20 cmp r3, #32 80c95ca: d0f5 beq.n 80c95b8 80c95cc: 69bb ldr r3, [r7, #24] 80c95ce: 005b lsls r3, r3, #1 80c95d0: 68fa ldr r2, [r7, #12] 80c95d2: 4413 add r3, r2 80c95d4: 881b ldrh r3, [r3, #0] 80c95d6: 2b2e cmp r3, #46 ; 0x2e 80c95d8: d0ee beq.n 80c95b8 if (si) cf |= NS_LOSS | NS_LFN; 80c95da: 69bb ldr r3, [r7, #24] 80c95dc: 2b00 cmp r3, #0 80c95de: d009 beq.n 80c95f4 80c95e0: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c95e4: f043 0303 orr.w r3, r3, #3 80c95e8: f887 3026 strb.w r3, [r7, #38] ; 0x26 while (di && lfn[di - 1] != '.') di--; /* Find extension (di<=si: no extension) */ 80c95ec: e002 b.n 80c95f4 80c95ee: 697b ldr r3, [r7, #20] 80c95f0: 3b01 subs r3, #1 80c95f2: 617b str r3, [r7, #20] 80c95f4: 697b ldr r3, [r7, #20] 80c95f6: 2b00 cmp r3, #0 80c95f8: d009 beq.n 80c960e 80c95fa: 697a ldr r2, [r7, #20] 80c95fc: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c9600: 4413 add r3, r2 80c9602: 005b lsls r3, r3, #1 80c9604: 68fa ldr r2, [r7, #12] 80c9606: 4413 add r3, r2 80c9608: 881b ldrh r3, [r3, #0] 80c960a: 2b2e cmp r3, #46 ; 0x2e 80c960c: d1ef bne.n 80c95ee i = b = 0; ni = 8; 80c960e: 2300 movs r3, #0 80c9610: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c9614: 2300 movs r3, #0 80c9616: 623b str r3, [r7, #32] 80c9618: 2308 movs r3, #8 80c961a: 61fb str r3, [r7, #28] for (;;) { w = lfn[si++]; /* Get an LFN character */ 80c961c: 69bb ldr r3, [r7, #24] 80c961e: 1c5a adds r2, r3, #1 80c9620: 61ba str r2, [r7, #24] 80c9622: 005b lsls r3, r3, #1 80c9624: 68fa ldr r2, [r7, #12] 80c9626: 4413 add r3, r2 80c9628: 881b ldrh r3, [r3, #0] 80c962a: 84bb strh r3, [r7, #36] ; 0x24 if (!w) break; /* Break on end of the LFN */ 80c962c: 8cbb ldrh r3, [r7, #36] ; 0x24 80c962e: 2b00 cmp r3, #0 80c9630: f000 8090 beq.w 80c9754 if (w == ' ' || (w == '.' && si != di)) { /* Remove spaces and dots */ 80c9634: 8cbb ldrh r3, [r7, #36] ; 0x24 80c9636: 2b20 cmp r3, #32 80c9638: d006 beq.n 80c9648 80c963a: 8cbb ldrh r3, [r7, #36] ; 0x24 80c963c: 2b2e cmp r3, #46 ; 0x2e 80c963e: d10a bne.n 80c9656 80c9640: 69ba ldr r2, [r7, #24] 80c9642: 697b ldr r3, [r7, #20] 80c9644: 429a cmp r2, r3 80c9646: d006 beq.n 80c9656 cf |= NS_LOSS | NS_LFN; continue; 80c9648: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c964c: f043 0303 orr.w r3, r3, #3 80c9650: f887 3026 strb.w r3, [r7, #38] ; 0x26 80c9654: e07d b.n 80c9752 } if (i >= ni || si == di) { /* Extension or end of SFN */ 80c9656: 6a3a ldr r2, [r7, #32] 80c9658: 69fb ldr r3, [r7, #28] 80c965a: 429a cmp r2, r3 80c965c: d203 bcs.n 80c9666 80c965e: 69ba ldr r2, [r7, #24] 80c9660: 697b ldr r3, [r7, #20] 80c9662: 429a cmp r2, r3 80c9664: d123 bne.n 80c96ae if (ni == 11) { /* Long extension */ 80c9666: 69fb ldr r3, [r7, #28] 80c9668: 2b0b cmp r3, #11 80c966a: d106 bne.n 80c967a cf |= NS_LOSS | NS_LFN; break; 80c966c: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c9670: f043 0303 orr.w r3, r3, #3 80c9674: f887 3026 strb.w r3, [r7, #38] ; 0x26 80c9678: e06f b.n 80c975a } if (si != di) cf |= NS_LOSS | NS_LFN; /* Out of 8.3 format */ 80c967a: 69ba ldr r2, [r7, #24] 80c967c: 697b ldr r3, [r7, #20] 80c967e: 429a cmp r2, r3 80c9680: d005 beq.n 80c968e 80c9682: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c9686: f043 0303 orr.w r3, r3, #3 80c968a: f887 3026 strb.w r3, [r7, #38] ; 0x26 if (si > di) break; /* No extension */ 80c968e: 69ba ldr r2, [r7, #24] 80c9690: 697b ldr r3, [r7, #20] 80c9692: 429a cmp r2, r3 80c9694: d860 bhi.n 80c9758 si = di; i = 8; ni = 11; /* Enter extension section */ 80c9696: 697b ldr r3, [r7, #20] 80c9698: 61bb str r3, [r7, #24] 80c969a: 2308 movs r3, #8 80c969c: 623b str r3, [r7, #32] 80c969e: 230b movs r3, #11 80c96a0: 61fb str r3, [r7, #28] b <<= 2; continue; 80c96a2: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c96a6: 009b lsls r3, r3, #2 80c96a8: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c96ac: e051 b.n 80c9752 } if (w >= 0x80) { /* Non ASCII character */ 80c96ae: 8cbb ldrh r3, [r7, #36] ; 0x24 80c96b0: 2b7f cmp r3, #127 ; 0x7f 80c96b2: d914 bls.n 80c96de #ifdef _EXCVT w = ff_convert(w, 0); /* Unicode -> OEM code */ 80c96b4: 8cbb ldrh r3, [r7, #36] ; 0x24 80c96b6: 2100 movs r1, #0 80c96b8: 4618 mov r0, r3 80c96ba: f003 fd83 bl 80cd1c4 80c96be: 4603 mov r3, r0 80c96c0: 84bb strh r3, [r7, #36] ; 0x24 if (w) w = ExCvt[w - 0x80]; /* Convert extended character to upper (SBCS) */ 80c96c2: 8cbb ldrh r3, [r7, #36] ; 0x24 80c96c4: 2b00 cmp r3, #0 80c96c6: d004 beq.n 80c96d2 80c96c8: 8cbb ldrh r3, [r7, #36] ; 0x24 80c96ca: 3b80 subs r3, #128 ; 0x80 80c96cc: 4a49 ldr r2, [pc, #292] ; (80c97f4 ) 80c96ce: 5cd3 ldrb r3, [r2, r3] 80c96d0: 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 */ 80c96d2: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c96d6: f043 0302 orr.w r3, r3, #2 80c96da: 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 */ 80c96de: 8cbb ldrh r3, [r7, #36] ; 0x24 80c96e0: 2b00 cmp r3, #0 80c96e2: d007 beq.n 80c96f4 80c96e4: 8cbb ldrh r3, [r7, #36] ; 0x24 80c96e6: 4619 mov r1, r3 80c96e8: 4843 ldr r0, [pc, #268] ; (80c97f8 ) 80c96ea: f7fd fcdb bl 80c70a4 80c96ee: 4603 mov r3, r0 80c96f0: 2b00 cmp r3, #0 80c96f2: d008 beq.n 80c9706 w = '_'; cf |= NS_LOSS | NS_LFN;/* Lossy conversion */ 80c96f4: 235f movs r3, #95 ; 0x5f 80c96f6: 84bb strh r3, [r7, #36] ; 0x24 80c96f8: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c96fc: f043 0303 orr.w r3, r3, #3 80c9700: f887 3026 strb.w r3, [r7, #38] ; 0x26 80c9704: e01b b.n 80c973e } else { if (IsUpper(w)) { /* ASCII large capital */ 80c9706: 8cbb ldrh r3, [r7, #36] ; 0x24 80c9708: 2b40 cmp r3, #64 ; 0x40 80c970a: d909 bls.n 80c9720 80c970c: 8cbb ldrh r3, [r7, #36] ; 0x24 80c970e: 2b5a cmp r3, #90 ; 0x5a 80c9710: d806 bhi.n 80c9720 b |= 2; 80c9712: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c9716: f043 0302 orr.w r3, r3, #2 80c971a: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c971e: e00e b.n 80c973e } else { if (IsLower(w)) { /* ASCII small capital */ 80c9720: 8cbb ldrh r3, [r7, #36] ; 0x24 80c9722: 2b60 cmp r3, #96 ; 0x60 80c9724: d90b bls.n 80c973e 80c9726: 8cbb ldrh r3, [r7, #36] ; 0x24 80c9728: 2b7a cmp r3, #122 ; 0x7a 80c972a: d808 bhi.n 80c973e b |= 1; w -= 0x20; 80c972c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c9730: f043 0301 orr.w r3, r3, #1 80c9734: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c9738: 8cbb ldrh r3, [r7, #36] ; 0x24 80c973a: 3b20 subs r3, #32 80c973c: 84bb strh r3, [r7, #36] ; 0x24 } } } } dp->fn[i++] = (BYTE)w; 80c973e: 6a3b ldr r3, [r7, #32] 80c9740: 1c5a adds r2, r3, #1 80c9742: 623a str r2, [r7, #32] 80c9744: 8cba ldrh r2, [r7, #36] ; 0x24 80c9746: b2d1 uxtb r1, r2 80c9748: 687a ldr r2, [r7, #4] 80c974a: 4413 add r3, r2 80c974c: 460a mov r2, r1 80c974e: f883 2040 strb.w r2, [r3, #64] ; 0x40 w = lfn[si++]; /* Get an LFN character */ 80c9752: e763 b.n 80c961c if (!w) break; /* Break on end of the LFN */ 80c9754: bf00 nop 80c9756: e000 b.n 80c975a if (si > di) break; /* No extension */ 80c9758: bf00 nop } if (dp->fn[0] == DDEM) dp->fn[0] = RDDEM; /* If the first character collides with DDEM, replace it with RDDEM */ 80c975a: 687b ldr r3, [r7, #4] 80c975c: f893 3040 ldrb.w r3, [r3, #64] ; 0x40 80c9760: 2be5 cmp r3, #229 ; 0xe5 80c9762: d103 bne.n 80c976c 80c9764: 687b ldr r3, [r7, #4] 80c9766: 2205 movs r2, #5 80c9768: f883 2040 strb.w r2, [r3, #64] ; 0x40 if (ni == 8) b <<= 2; 80c976c: 69fb ldr r3, [r7, #28] 80c976e: 2b08 cmp r3, #8 80c9770: d104 bne.n 80c977c 80c9772: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c9776: 009b lsls r3, r3, #2 80c9778: 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 */ 80c977c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c9780: f003 030c and.w r3, r3, #12 80c9784: 2b0c cmp r3, #12 80c9786: d005 beq.n 80c9794 80c9788: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c978c: f003 0303 and.w r3, r3, #3 80c9790: 2b03 cmp r3, #3 80c9792: d105 bne.n 80c97a0 80c9794: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c9798: f043 0302 orr.w r3, r3, #2 80c979c: 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 */ 80c97a0: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c97a4: f003 0302 and.w r3, r3, #2 80c97a8: 2b00 cmp r3, #0 80c97aa: d117 bne.n 80c97dc if ((b & 0x03) == 0x01) cf |= NS_EXT; /* NT flag (Extension has only small capital) */ 80c97ac: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c97b0: f003 0303 and.w r3, r3, #3 80c97b4: 2b01 cmp r3, #1 80c97b6: d105 bne.n 80c97c4 80c97b8: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c97bc: f043 0310 orr.w r3, r3, #16 80c97c0: f887 3026 strb.w r3, [r7, #38] ; 0x26 if ((b & 0x0C) == 0x04) cf |= NS_BODY; /* NT flag (Filename has only small capital) */ 80c97c4: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c97c8: f003 030c and.w r3, r3, #12 80c97cc: 2b04 cmp r3, #4 80c97ce: d105 bne.n 80c97dc 80c97d0: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c97d4: f043 0308 orr.w r3, r3, #8 80c97d8: f887 3026 strb.w r3, [r7, #38] ; 0x26 } dp->fn[NSFLAG] = cf; /* SFN is created */ 80c97dc: 687b ldr r3, [r7, #4] 80c97de: f897 2026 ldrb.w r2, [r7, #38] ; 0x26 80c97e2: f883 204b strb.w r2, [r3, #75] ; 0x4b return FR_OK; 80c97e6: 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 */ } 80c97e8: 4618 mov r0, r3 80c97ea: 3728 adds r7, #40 ; 0x28 80c97ec: 46bd mov sp, r7 80c97ee: bd80 pop {r7, pc} 80c97f0: 080d4ee0 .word 0x080d4ee0 80c97f4: 0816dfdc .word 0x0816dfdc 80c97f8: 080d4eec .word 0x080d4eec 080c97fc : 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 */ ) { 80c97fc: b590 push {r4, r7, lr} 80c97fe: b087 sub sp, #28 80c9800: af00 add r7, sp, #0 80c9802: 6078 str r0, [r7, #4] 80c9804: 6039 str r1, [r7, #0] FRESULT res; BYTE ns; _FDID *obj = &dp->obj; 80c9806: 687b ldr r3, [r7, #4] 80c9808: 613b str r3, [r7, #16] FATFS *fs = obj->fs; 80c980a: 693b ldr r3, [r7, #16] 80c980c: 681b ldr r3, [r3, #0] 80c980e: 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 */ 80c9810: e002 b.n 80c9818 80c9812: 683b ldr r3, [r7, #0] 80c9814: 3301 adds r3, #1 80c9816: 603b str r3, [r7, #0] 80c9818: 683b ldr r3, [r7, #0] 80c981a: 781b ldrb r3, [r3, #0] 80c981c: 2b2f cmp r3, #47 ; 0x2f 80c981e: d0f8 beq.n 80c9812 80c9820: 683b ldr r3, [r7, #0] 80c9822: 781b ldrb r3, [r3, #0] 80c9824: 2b5c cmp r3, #92 ; 0x5c 80c9826: d0f4 beq.n 80c9812 obj->sclust = 0; /* Start from root directory */ 80c9828: 693b ldr r3, [r7, #16] 80c982a: 2200 movs r2, #0 80c982c: 609a str r2, [r3, #8] } #if _FS_EXFAT obj->n_frag = 0; /* Invalidate last fragment counter of the object */ 80c982e: 693b ldr r3, [r7, #16] 80c9830: 2200 movs r2, #0 80c9832: 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 */ 80c9834: 683b ldr r3, [r7, #0] 80c9836: 781b ldrb r3, [r3, #0] 80c9838: 2b1f cmp r3, #31 80c983a: d80a bhi.n 80c9852 dp->fn[NSFLAG] = NS_NONAME; 80c983c: 687b ldr r3, [r7, #4] 80c983e: 2280 movs r2, #128 ; 0x80 80c9840: f883 204b strb.w r2, [r3, #75] ; 0x4b res = dir_sdi(dp, 0); 80c9844: 2100 movs r1, #0 80c9846: 6878 ldr r0, [r7, #4] 80c9848: f7fe fa8b bl 80c7d62 80c984c: 4603 mov r3, r0 80c984e: 75fb strb r3, [r7, #23] 80c9850: e077 b.n 80c9942 } else { /* Follow path */ for (;;) { res = create_name(dp, &path); /* Get a segment name of the path */ 80c9852: 463b mov r3, r7 80c9854: 4619 mov r1, r3 80c9856: 6878 ldr r0, [r7, #4] 80c9858: f7ff fe18 bl 80c948c 80c985c: 4603 mov r3, r0 80c985e: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c9860: 7dfb ldrb r3, [r7, #23] 80c9862: 2b00 cmp r3, #0 80c9864: d168 bne.n 80c9938 res = dir_find(dp); /* Find an object with the segment name */ 80c9866: 6878 ldr r0, [r7, #4] 80c9868: f7ff f9fc bl 80c8c64 80c986c: 4603 mov r3, r0 80c986e: 75fb strb r3, [r7, #23] ns = dp->fn[NSFLAG]; 80c9870: 687b ldr r3, [r7, #4] 80c9872: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c9876: 72fb strb r3, [r7, #11] if (res != FR_OK) { /* Failed to find the object */ 80c9878: 7dfb ldrb r3, [r7, #23] 80c987a: 2b00 cmp r3, #0 80c987c: d00a beq.n 80c9894 if (res == FR_NO_FILE) { /* Object is not found */ 80c987e: 7dfb ldrb r3, [r7, #23] 80c9880: 2b04 cmp r3, #4 80c9882: d15b bne.n 80c993c 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 */ 80c9884: 7afb ldrb r3, [r7, #11] 80c9886: f003 0304 and.w r3, r3, #4 80c988a: 2b00 cmp r3, #0 80c988c: d156 bne.n 80c993c 80c988e: 2305 movs r3, #5 80c9890: 75fb strb r3, [r7, #23] } } break; 80c9892: e053 b.n 80c993c } if (ns & NS_LAST) break; /* Last segment matched. Function completed. */ 80c9894: 7afb ldrb r3, [r7, #11] 80c9896: f003 0304 and.w r3, r3, #4 80c989a: 2b00 cmp r3, #0 80c989c: d150 bne.n 80c9940 /* Get into the sub-directory */ if (!(obj->attr & AM_DIR)) { /* It is not a sub-directory and cannot follow */ 80c989e: 693b ldr r3, [r7, #16] 80c98a0: 799b ldrb r3, [r3, #6] 80c98a2: f003 0310 and.w r3, r3, #16 80c98a6: 2b00 cmp r3, #0 80c98a8: d102 bne.n 80c98b0 res = FR_NO_PATH; break; 80c98aa: 2305 movs r3, #5 80c98ac: 75fb strb r3, [r7, #23] 80c98ae: e048 b.n 80c9942 } #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* Save containing directory information for next dir */ 80c98b0: 68fb ldr r3, [r7, #12] 80c98b2: 781b ldrb r3, [r3, #0] 80c98b4: 2b04 cmp r3, #4 80c98b6: d12f bne.n 80c9918 obj->c_scl = obj->sclust; 80c98b8: 693b ldr r3, [r7, #16] 80c98ba: 689a ldr r2, [r3, #8] 80c98bc: 693b ldr r3, [r7, #16] 80c98be: 621a str r2, [r3, #32] obj->c_size = ((DWORD)obj->objsize & 0xFFFFFF00) | obj->stat; 80c98c0: 693b ldr r3, [r7, #16] 80c98c2: e9d3 3404 ldrd r3, r4, [r3, #16] 80c98c6: f023 03ff bic.w r3, r3, #255 ; 0xff 80c98ca: 693a ldr r2, [r7, #16] 80c98cc: 79d2 ldrb r2, [r2, #7] 80c98ce: 431a orrs r2, r3 80c98d0: 693b ldr r3, [r7, #16] 80c98d2: 625a str r2, [r3, #36] ; 0x24 obj->c_ofs = dp->blk_ofs; 80c98d4: 687b ldr r3, [r7, #4] 80c98d6: 6cda ldr r2, [r3, #76] ; 0x4c 80c98d8: 693b ldr r3, [r7, #16] 80c98da: 629a str r2, [r3, #40] ; 0x28 obj->sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Open next directory */ 80c98dc: 68fb ldr r3, [r7, #12] 80c98de: 691b ldr r3, [r3, #16] 80c98e0: 3334 adds r3, #52 ; 0x34 80c98e2: 4618 mov r0, r3 80c98e4: f7fd f9d2 bl 80c6c8c 80c98e8: 4602 mov r2, r0 80c98ea: 693b ldr r3, [r7, #16] 80c98ec: 609a str r2, [r3, #8] obj->stat = fs->dirbuf[XDIR_GenFlags] & 2; 80c98ee: 68fb ldr r3, [r7, #12] 80c98f0: 691b ldr r3, [r3, #16] 80c98f2: 3321 adds r3, #33 ; 0x21 80c98f4: 781b ldrb r3, [r3, #0] 80c98f6: f003 0302 and.w r3, r3, #2 80c98fa: b2da uxtb r2, r3 80c98fc: 693b ldr r3, [r7, #16] 80c98fe: 71da strb r2, [r3, #7] obj->objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80c9900: 68fb ldr r3, [r7, #12] 80c9902: 691b ldr r3, [r3, #16] 80c9904: 3338 adds r3, #56 ; 0x38 80c9906: 4618 mov r0, r3 80c9908: f7fd f9e3 bl 80c6cd2 80c990c: 4603 mov r3, r0 80c990e: 460c mov r4, r1 80c9910: 693a ldr r2, [r7, #16] 80c9912: e9c2 3404 strd r3, r4, [r2, #16] 80c9916: e79c b.n 80c9852 } else #endif { obj->sclust = ld_clust(fs, fs->win + dp->dptr % SS(fs)); /* Open next directory */ 80c9918: 68fb ldr r3, [r7, #12] 80c991a: f103 0238 add.w r2, r3, #56 ; 0x38 80c991e: 687b ldr r3, [r7, #4] 80c9920: 6b1b ldr r3, [r3, #48] ; 0x30 80c9922: f3c3 0308 ubfx r3, r3, #0, #9 80c9926: 4413 add r3, r2 80c9928: 4619 mov r1, r3 80c992a: 68f8 ldr r0, [r7, #12] 80c992c: f7fe fbd0 bl 80c80d0 80c9930: 4602 mov r2, r0 80c9932: 693b ldr r3, [r7, #16] 80c9934: 609a str r2, [r3, #8] res = create_name(dp, &path); /* Get a segment name of the path */ 80c9936: e78c b.n 80c9852 if (res != FR_OK) break; 80c9938: bf00 nop 80c993a: e002 b.n 80c9942 break; 80c993c: bf00 nop 80c993e: e000 b.n 80c9942 if (ns & NS_LAST) break; /* Last segment matched. Function completed. */ 80c9940: bf00 nop } } } return res; 80c9942: 7dfb ldrb r3, [r7, #23] } 80c9944: 4618 mov r0, r3 80c9946: 371c adds r7, #28 80c9948: 46bd mov sp, r7 80c994a: bd90 pop {r4, r7, pc} 080c994c : static int get_ldnumber ( /* Returns logical drive number (-1:invalid drive) */ const TCHAR** path /* Pointer to pointer to the path name */ ) { 80c994c: b480 push {r7} 80c994e: b087 sub sp, #28 80c9950: af00 add r7, sp, #0 80c9952: 6078 str r0, [r7, #4] const TCHAR *tp, *tt; UINT i; int vol = -1; 80c9954: f04f 33ff mov.w r3, #4294967295 80c9958: 613b str r3, [r7, #16] char c; TCHAR tc; #endif if (*path) { /* If the pointer is not a null */ 80c995a: 687b ldr r3, [r7, #4] 80c995c: 681b ldr r3, [r3, #0] 80c995e: 2b00 cmp r3, #0 80c9960: d031 beq.n 80c99c6 for (tt = *path; (UINT)*tt >= (_USE_LFN ? ' ' : '!') && *tt != ':'; tt++) ; /* Find ':' in the path */ 80c9962: 687b ldr r3, [r7, #4] 80c9964: 681b ldr r3, [r3, #0] 80c9966: 617b str r3, [r7, #20] 80c9968: e002 b.n 80c9970 80c996a: 697b ldr r3, [r7, #20] 80c996c: 3301 adds r3, #1 80c996e: 617b str r3, [r7, #20] 80c9970: 697b ldr r3, [r7, #20] 80c9972: 781b ldrb r3, [r3, #0] 80c9974: 2b1f cmp r3, #31 80c9976: d903 bls.n 80c9980 80c9978: 697b ldr r3, [r7, #20] 80c997a: 781b ldrb r3, [r3, #0] 80c997c: 2b3a cmp r3, #58 ; 0x3a 80c997e: d1f4 bne.n 80c996a if (*tt == ':') { /* If a ':' is exist in the path name */ 80c9980: 697b ldr r3, [r7, #20] 80c9982: 781b ldrb r3, [r3, #0] 80c9984: 2b3a cmp r3, #58 ; 0x3a 80c9986: d11c bne.n 80c99c2 tp = *path; 80c9988: 687b ldr r3, [r7, #4] 80c998a: 681b ldr r3, [r3, #0] 80c998c: 60fb str r3, [r7, #12] i = *tp++ - '0'; 80c998e: 68fb ldr r3, [r7, #12] 80c9990: 1c5a adds r2, r3, #1 80c9992: 60fa str r2, [r7, #12] 80c9994: 781b ldrb r3, [r3, #0] 80c9996: 3b30 subs r3, #48 ; 0x30 80c9998: 60bb str r3, [r7, #8] if (i < 10 && tp == tt) { /* Is there a numeric drive id? */ 80c999a: 68bb ldr r3, [r7, #8] 80c999c: 2b09 cmp r3, #9 80c999e: d80e bhi.n 80c99be 80c99a0: 68fa ldr r2, [r7, #12] 80c99a2: 697b ldr r3, [r7, #20] 80c99a4: 429a cmp r2, r3 80c99a6: d10a bne.n 80c99be if (i < _VOLUMES) { /* If a drive id is found, get the value and strip it */ 80c99a8: 68bb ldr r3, [r7, #8] 80c99aa: 2b00 cmp r3, #0 80c99ac: d107 bne.n 80c99be vol = (int)i; 80c99ae: 68bb ldr r3, [r7, #8] 80c99b0: 613b str r3, [r7, #16] *path = ++tt; 80c99b2: 697b ldr r3, [r7, #20] 80c99b4: 3301 adds r3, #1 80c99b6: 617b str r3, [r7, #20] 80c99b8: 687b ldr r3, [r7, #4] 80c99ba: 697a ldr r2, [r7, #20] 80c99bc: 601a str r2, [r3, #0] vol = (int)i; *path = tt; } } #endif return vol; 80c99be: 693b ldr r3, [r7, #16] 80c99c0: e002 b.n 80c99c8 } #if _FS_RPATH != 0 && _VOLUMES >= 2 vol = CurrVol; /* Current drive */ #else vol = 0; /* Drive 0 */ 80c99c2: 2300 movs r3, #0 80c99c4: 613b str r3, [r7, #16] #endif } return vol; 80c99c6: 693b ldr r3, [r7, #16] } 80c99c8: 4618 mov r0, r3 80c99ca: 371c adds r7, #28 80c99cc: 46bd mov sp, r7 80c99ce: f85d 7b04 ldr.w r7, [sp], #4 80c99d2: 4770 bx lr 080c99d4 : 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 */ ) { 80c99d4: b580 push {r7, lr} 80c99d6: b082 sub sp, #8 80c99d8: af00 add r7, sp, #0 80c99da: 6078 str r0, [r7, #4] 80c99dc: 6039 str r1, [r7, #0] fs->wflag = 0; fs->winsect = 0xFFFFFFFF; /* Invaidate window */ 80c99de: 687b ldr r3, [r7, #4] 80c99e0: 2200 movs r2, #0 80c99e2: 70da strb r2, [r3, #3] 80c99e4: 687b ldr r3, [r7, #4] 80c99e6: f04f 32ff mov.w r2, #4294967295 80c99ea: 635a str r2, [r3, #52] ; 0x34 if (move_window(fs, sect) != FR_OK) return 4; /* Load boot record */ 80c99ec: 6839 ldr r1, [r7, #0] 80c99ee: 6878 ldr r0, [r7, #4] 80c99f0: f7fd fbb7 bl 80c7162 80c99f4: 4603 mov r3, r0 80c99f6: 2b00 cmp r3, #0 80c99f8: d001 beq.n 80c99fe 80c99fa: 2304 movs r3, #4 80c99fc: e044 b.n 80c9a88 if (ld_word(fs->win + BS_55AA) != 0xAA55) return 3; /* Check boot record signature (always placed here even if the sector size is >512) */ 80c99fe: 687b ldr r3, [r7, #4] 80c9a00: 3338 adds r3, #56 ; 0x38 80c9a02: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c9a06: 4618 mov r0, r3 80c9a08: f7fd f928 bl 80c6c5c 80c9a0c: 4603 mov r3, r0 80c9a0e: 461a mov r2, r3 80c9a10: f64a 2355 movw r3, #43605 ; 0xaa55 80c9a14: 429a cmp r2, r3 80c9a16: d001 beq.n 80c9a1c 80c9a18: 2303 movs r3, #3 80c9a1a: e035 b.n 80c9a88 if (fs->win[BS_JmpBoot] == 0xE9 || (fs->win[BS_JmpBoot] == 0xEB && fs->win[BS_JmpBoot + 2] == 0x90)) { 80c9a1c: 687b ldr r3, [r7, #4] 80c9a1e: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c9a22: 2be9 cmp r3, #233 ; 0xe9 80c9a24: d009 beq.n 80c9a3a 80c9a26: 687b ldr r3, [r7, #4] 80c9a28: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c9a2c: 2beb cmp r3, #235 ; 0xeb 80c9a2e: d11e bne.n 80c9a6e 80c9a30: 687b ldr r3, [r7, #4] 80c9a32: f893 303a ldrb.w r3, [r3, #58] ; 0x3a 80c9a36: 2b90 cmp r3, #144 ; 0x90 80c9a38: d119 bne.n 80c9a6e if ((ld_dword(fs->win + BS_FilSysType) & 0xFFFFFF) == 0x544146) return 0; /* Check "FAT" string */ 80c9a3a: 687b ldr r3, [r7, #4] 80c9a3c: 3338 adds r3, #56 ; 0x38 80c9a3e: 3336 adds r3, #54 ; 0x36 80c9a40: 4618 mov r0, r3 80c9a42: f7fd f923 bl 80c6c8c 80c9a46: 4603 mov r3, r0 80c9a48: f023 437f bic.w r3, r3, #4278190080 ; 0xff000000 80c9a4c: 4a10 ldr r2, [pc, #64] ; (80c9a90 ) 80c9a4e: 4293 cmp r3, r2 80c9a50: d101 bne.n 80c9a56 80c9a52: 2300 movs r3, #0 80c9a54: e018 b.n 80c9a88 if (ld_dword(fs->win + BS_FilSysType32) == 0x33544146) return 0; /* Check "FAT3" string */ 80c9a56: 687b ldr r3, [r7, #4] 80c9a58: 3338 adds r3, #56 ; 0x38 80c9a5a: 3352 adds r3, #82 ; 0x52 80c9a5c: 4618 mov r0, r3 80c9a5e: f7fd f915 bl 80c6c8c 80c9a62: 4602 mov r2, r0 80c9a64: 4b0b ldr r3, [pc, #44] ; (80c9a94 ) 80c9a66: 429a cmp r2, r3 80c9a68: d101 bne.n 80c9a6e 80c9a6a: 2300 movs r3, #0 80c9a6c: e00c b.n 80c9a88 } #if _FS_EXFAT if (!mem_cmp(fs->win + BS_JmpBoot, "\xEB\x76\x90" "EXFAT ", 11)) return 1; 80c9a6e: 687b ldr r3, [r7, #4] 80c9a70: 3338 adds r3, #56 ; 0x38 80c9a72: 220b movs r2, #11 80c9a74: 4908 ldr r1, [pc, #32] ; (80c9a98 ) 80c9a76: 4618 mov r0, r3 80c9a78: f7fd faed bl 80c7056 80c9a7c: 4603 mov r3, r0 80c9a7e: 2b00 cmp r3, #0 80c9a80: d101 bne.n 80c9a86 80c9a82: 2301 movs r3, #1 80c9a84: e000 b.n 80c9a88 #endif return 2; 80c9a86: 2302 movs r3, #2 } 80c9a88: 4618 mov r0, r3 80c9a8a: 3708 adds r7, #8 80c9a8c: 46bd mov sp, r7 80c9a8e: bd80 pop {r7, pc} 80c9a90: 00544146 .word 0x00544146 80c9a94: 33544146 .word 0x33544146 80c9a98: 080d4ef4 .word 0x080d4ef4 080c9a9c : 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 */ ) { 80c9a9c: b590 push {r4, r7, lr} 80c9a9e: b099 sub sp, #100 ; 0x64 80c9aa0: af00 add r7, sp, #0 80c9aa2: 60f8 str r0, [r7, #12] 80c9aa4: 60b9 str r1, [r7, #8] 80c9aa6: 4613 mov r3, r2 80c9aa8: 71fb strb r3, [r7, #7] FATFS *fs; UINT i; /* Get logical drive number */ *rfs = 0; 80c9aaa: 68bb ldr r3, [r7, #8] 80c9aac: 2200 movs r2, #0 80c9aae: 601a str r2, [r3, #0] vol = get_ldnumber(path); 80c9ab0: 68f8 ldr r0, [r7, #12] 80c9ab2: f7ff ff4b bl 80c994c 80c9ab6: 6478 str r0, [r7, #68] ; 0x44 if (vol < 0) return FR_INVALID_DRIVE; 80c9ab8: 6c7b ldr r3, [r7, #68] ; 0x44 80c9aba: 2b00 cmp r3, #0 80c9abc: da01 bge.n 80c9ac2 80c9abe: 230b movs r3, #11 80c9ac0: e327 b.n 80ca112 /* Check if the file system object is valid or not */ fs = FatFs[vol]; /* Get pointer to the file system object */ 80c9ac2: 4ab0 ldr r2, [pc, #704] ; (80c9d84 ) 80c9ac4: 6c7b ldr r3, [r7, #68] ; 0x44 80c9ac6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80c9aca: 643b str r3, [r7, #64] ; 0x40 if (!fs) return FR_NOT_ENABLED; /* Is the file system object available? */ 80c9acc: 6c3b ldr r3, [r7, #64] ; 0x40 80c9ace: 2b00 cmp r3, #0 80c9ad0: d101 bne.n 80c9ad6 80c9ad2: 230c movs r3, #12 80c9ad4: e31d b.n 80ca112 ENTER_FF(fs); /* Lock the volume */ *rfs = fs; /* Return pointer to the file system object */ 80c9ad6: 68bb ldr r3, [r7, #8] 80c9ad8: 6c3a ldr r2, [r7, #64] ; 0x40 80c9ada: 601a str r2, [r3, #0] mode &= (BYTE)~FA_READ; /* Desired access mode, write access or not */ 80c9adc: 79fb ldrb r3, [r7, #7] 80c9ade: f023 0301 bic.w r3, r3, #1 80c9ae2: 71fb strb r3, [r7, #7] if (fs->fs_type) { /* If the volume has been mounted */ 80c9ae4: 6c3b ldr r3, [r7, #64] ; 0x40 80c9ae6: 781b ldrb r3, [r3, #0] 80c9ae8: 2b00 cmp r3, #0 80c9aea: d01a beq.n 80c9b22 stat = disk_status(fs->drv); 80c9aec: 6c3b ldr r3, [r7, #64] ; 0x40 80c9aee: 785b ldrb r3, [r3, #1] 80c9af0: 4618 mov r0, r3 80c9af2: f7fd f815 bl 80c6b20 80c9af6: 4603 mov r3, r0 80c9af8: f887 303f strb.w r3, [r7, #63] ; 0x3f if (!(stat & STA_NOINIT)) { /* and the physical drive is kept initialized */ 80c9afc: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c9b00: f003 0301 and.w r3, r3, #1 80c9b04: 2b00 cmp r3, #0 80c9b06: d10c bne.n 80c9b22 if (!_FS_READONLY && mode && (stat & STA_PROTECT)) { /* Check write protection if needed */ 80c9b08: 79fb ldrb r3, [r7, #7] 80c9b0a: 2b00 cmp r3, #0 80c9b0c: d007 beq.n 80c9b1e 80c9b0e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c9b12: f003 0304 and.w r3, r3, #4 80c9b16: 2b00 cmp r3, #0 80c9b18: d001 beq.n 80c9b1e return FR_WRITE_PROTECTED; 80c9b1a: 230a movs r3, #10 80c9b1c: e2f9 b.n 80ca112 } return FR_OK; /* The file system object is valid */ 80c9b1e: 2300 movs r3, #0 80c9b20: e2f7 b.n 80ca112 } /* 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 */ 80c9b22: 6c3b ldr r3, [r7, #64] ; 0x40 80c9b24: 2200 movs r2, #0 80c9b26: 701a strb r2, [r3, #0] fs->drv = LD2PD(vol); /* Bind the logical drive and a physical drive */ 80c9b28: 6c7b ldr r3, [r7, #68] ; 0x44 80c9b2a: b2da uxtb r2, r3 80c9b2c: 6c3b ldr r3, [r7, #64] ; 0x40 80c9b2e: 705a strb r2, [r3, #1] stat = disk_initialize(fs->drv); /* Initialize the physical drive */ 80c9b30: 6c3b ldr r3, [r7, #64] ; 0x40 80c9b32: 785b ldrb r3, [r3, #1] 80c9b34: 4618 mov r0, r3 80c9b36: f7fd f80d bl 80c6b54 80c9b3a: 4603 mov r3, r0 80c9b3c: f887 303f strb.w r3, [r7, #63] ; 0x3f if (stat & STA_NOINIT) { /* Check if the initialization succeeded */ 80c9b40: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c9b44: f003 0301 and.w r3, r3, #1 80c9b48: 2b00 cmp r3, #0 80c9b4a: d001 beq.n 80c9b50 return FR_NOT_READY; /* Failed to initialize due to no medium or hard error */ 80c9b4c: 2303 movs r3, #3 80c9b4e: e2e0 b.n 80ca112 } if (!_FS_READONLY && mode && (stat & STA_PROTECT)) { /* Check disk write protection if needed */ 80c9b50: 79fb ldrb r3, [r7, #7] 80c9b52: 2b00 cmp r3, #0 80c9b54: d007 beq.n 80c9b66 80c9b56: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c9b5a: f003 0304 and.w r3, r3, #4 80c9b5e: 2b00 cmp r3, #0 80c9b60: d001 beq.n 80c9b66 return FR_WRITE_PROTECTED; 80c9b62: 230a movs r3, #10 80c9b64: e2d5 b.n 80ca112 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; 80c9b66: 2300 movs r3, #0 80c9b68: 65bb str r3, [r7, #88] ; 0x58 fmt = check_fs(fs, bsect); /* Load sector 0 and check if it is an FAT-VBR as SFD */ 80c9b6a: 6db9 ldr r1, [r7, #88] ; 0x58 80c9b6c: 6c38 ldr r0, [r7, #64] ; 0x40 80c9b6e: f7ff ff31 bl 80c99d4 80c9b72: 4603 mov r3, r0 80c9b74: f887 305f strb.w r3, [r7, #95] ; 0x5f if (fmt == 2 || (fmt < 2 && LD2PT(vol) != 0)) { /* Not an FAT-VBR or forced partition number */ 80c9b78: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c9b7c: 2b02 cmp r3, #2 80c9b7e: d14b bne.n 80c9c18 for (i = 0; i < 4; i++) { /* Get partition offset */ 80c9b80: 2300 movs r3, #0 80c9b82: 64bb str r3, [r7, #72] ; 0x48 80c9b84: e01f b.n 80c9bc6 pt = fs->win + (MBR_Table + i * SZ_PTE); 80c9b86: 6c3b ldr r3, [r7, #64] ; 0x40 80c9b88: f103 0238 add.w r2, r3, #56 ; 0x38 80c9b8c: 6cbb ldr r3, [r7, #72] ; 0x48 80c9b8e: 011b lsls r3, r3, #4 80c9b90: f503 73df add.w r3, r3, #446 ; 0x1be 80c9b94: 4413 add r3, r2 80c9b96: 63bb str r3, [r7, #56] ; 0x38 br[i] = pt[PTE_System] ? ld_dword(pt + PTE_StLba) : 0; 80c9b98: 6bbb ldr r3, [r7, #56] ; 0x38 80c9b9a: 3304 adds r3, #4 80c9b9c: 781b ldrb r3, [r3, #0] 80c9b9e: 2b00 cmp r3, #0 80c9ba0: d006 beq.n 80c9bb0 80c9ba2: 6bbb ldr r3, [r7, #56] ; 0x38 80c9ba4: 3308 adds r3, #8 80c9ba6: 4618 mov r0, r3 80c9ba8: f7fd f870 bl 80c6c8c 80c9bac: 4602 mov r2, r0 80c9bae: e000 b.n 80c9bb2 80c9bb0: 2200 movs r2, #0 80c9bb2: 6cbb ldr r3, [r7, #72] ; 0x48 80c9bb4: 009b lsls r3, r3, #2 80c9bb6: f107 0160 add.w r1, r7, #96 ; 0x60 80c9bba: 440b add r3, r1 80c9bbc: f843 2c4c str.w r2, [r3, #-76] for (i = 0; i < 4; i++) { /* Get partition offset */ 80c9bc0: 6cbb ldr r3, [r7, #72] ; 0x48 80c9bc2: 3301 adds r3, #1 80c9bc4: 64bb str r3, [r7, #72] ; 0x48 80c9bc6: 6cbb ldr r3, [r7, #72] ; 0x48 80c9bc8: 2b03 cmp r3, #3 80c9bca: d9dc bls.n 80c9b86 } i = LD2PT(vol); /* Partition number: 0:auto, 1-4:forced */ 80c9bcc: 2300 movs r3, #0 80c9bce: 64bb str r3, [r7, #72] ; 0x48 if (i) i--; 80c9bd0: 6cbb ldr r3, [r7, #72] ; 0x48 80c9bd2: 2b00 cmp r3, #0 80c9bd4: d002 beq.n 80c9bdc 80c9bd6: 6cbb ldr r3, [r7, #72] ; 0x48 80c9bd8: 3b01 subs r3, #1 80c9bda: 64bb str r3, [r7, #72] ; 0x48 do { /* Find an FAT volume */ bsect = br[i]; 80c9bdc: 6cbb ldr r3, [r7, #72] ; 0x48 80c9bde: 009b lsls r3, r3, #2 80c9be0: f107 0260 add.w r2, r7, #96 ; 0x60 80c9be4: 4413 add r3, r2 80c9be6: f853 3c4c ldr.w r3, [r3, #-76] 80c9bea: 65bb str r3, [r7, #88] ; 0x58 fmt = bsect ? check_fs(fs, bsect) : 3; /* Check the partition */ 80c9bec: 6dbb ldr r3, [r7, #88] ; 0x58 80c9bee: 2b00 cmp r3, #0 80c9bf0: d005 beq.n 80c9bfe 80c9bf2: 6db9 ldr r1, [r7, #88] ; 0x58 80c9bf4: 6c38 ldr r0, [r7, #64] ; 0x40 80c9bf6: f7ff feed bl 80c99d4 80c9bfa: 4603 mov r3, r0 80c9bfc: e000 b.n 80c9c00 80c9bfe: 2303 movs r3, #3 80c9c00: f887 305f strb.w r3, [r7, #95] ; 0x5f } while (LD2PT(vol) == 0 && fmt >= 2 && ++i < 4); 80c9c04: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c9c08: 2b01 cmp r3, #1 80c9c0a: d905 bls.n 80c9c18 80c9c0c: 6cbb ldr r3, [r7, #72] ; 0x48 80c9c0e: 3301 adds r3, #1 80c9c10: 64bb str r3, [r7, #72] ; 0x48 80c9c12: 6cbb ldr r3, [r7, #72] ; 0x48 80c9c14: 2b03 cmp r3, #3 80c9c16: d9e1 bls.n 80c9bdc } if (fmt == 4) return FR_DISK_ERR; /* An error occured in the disk I/O layer */ 80c9c18: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c9c1c: 2b04 cmp r3, #4 80c9c1e: d101 bne.n 80c9c24 80c9c20: 2301 movs r3, #1 80c9c22: e276 b.n 80ca112 if (fmt >= 2) return FR_NO_FILESYSTEM; /* No FAT volume is found */ 80c9c24: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c9c28: 2b01 cmp r3, #1 80c9c2a: d901 bls.n 80c9c30 80c9c2c: 230d movs r3, #13 80c9c2e: e270 b.n 80ca112 /* An FAT volume is found (bsect). Following code initializes the file system object */ #if _FS_EXFAT if (fmt == 1) { 80c9c30: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c9c34: 2b01 cmp r3, #1 80c9c36: f040 80f3 bne.w 80c9e20 QWORD maxlba; for (i = BPB_ZeroedEx; i < BPB_ZeroedEx + 53 && fs->win[i] == 0; i++) ; /* Check zero filler */ 80c9c3a: 230b movs r3, #11 80c9c3c: 64bb str r3, [r7, #72] ; 0x48 80c9c3e: e002 b.n 80c9c46 80c9c40: 6cbb ldr r3, [r7, #72] ; 0x48 80c9c42: 3301 adds r3, #1 80c9c44: 64bb str r3, [r7, #72] ; 0x48 80c9c46: 6cbb ldr r3, [r7, #72] ; 0x48 80c9c48: 2b3f cmp r3, #63 ; 0x3f 80c9c4a: d806 bhi.n 80c9c5a 80c9c4c: 6c3a ldr r2, [r7, #64] ; 0x40 80c9c4e: 6cbb ldr r3, [r7, #72] ; 0x48 80c9c50: 4413 add r3, r2 80c9c52: 3338 adds r3, #56 ; 0x38 80c9c54: 781b ldrb r3, [r3, #0] 80c9c56: 2b00 cmp r3, #0 80c9c58: d0f2 beq.n 80c9c40 if (i < BPB_ZeroedEx + 53) return FR_NO_FILESYSTEM; 80c9c5a: 6cbb ldr r3, [r7, #72] ; 0x48 80c9c5c: 2b3f cmp r3, #63 ; 0x3f 80c9c5e: d801 bhi.n 80c9c64 80c9c60: 230d movs r3, #13 80c9c62: e256 b.n 80ca112 if (ld_word(fs->win + BPB_FSVerEx) != 0x100) return FR_NO_FILESYSTEM; /* Check exFAT revision (Must be 1.0) */ 80c9c64: 6c3b ldr r3, [r7, #64] ; 0x40 80c9c66: 3338 adds r3, #56 ; 0x38 80c9c68: 3368 adds r3, #104 ; 0x68 80c9c6a: 4618 mov r0, r3 80c9c6c: f7fc fff6 bl 80c6c5c 80c9c70: 4603 mov r3, r0 80c9c72: f5b3 7f80 cmp.w r3, #256 ; 0x100 80c9c76: d001 beq.n 80c9c7c 80c9c78: 230d movs r3, #13 80c9c7a: e24a b.n 80ca112 if (1 << fs->win[BPB_BytsPerSecEx] != SS(fs)) { /* (BPB_BytsPerSecEx must be equal to the physical sector size) */ 80c9c7c: 6c3b ldr r3, [r7, #64] ; 0x40 80c9c7e: f893 30a4 ldrb.w r3, [r3, #164] ; 0xa4 80c9c82: 2b09 cmp r3, #9 80c9c84: d001 beq.n 80c9c8a return FR_NO_FILESYSTEM; 80c9c86: 230d movs r3, #13 80c9c88: e243 b.n 80ca112 } maxlba = ld_qword(fs->win + BPB_TotSecEx) + bsect; /* Last LBA + 1 of the volume */ 80c9c8a: 6c3b ldr r3, [r7, #64] ; 0x40 80c9c8c: 3338 adds r3, #56 ; 0x38 80c9c8e: 3348 adds r3, #72 ; 0x48 80c9c90: 4618 mov r0, r3 80c9c92: f7fd f81e bl 80c6cd2 80c9c96: 460a mov r2, r1 80c9c98: 4601 mov r1, r0 80c9c9a: 6dbb ldr r3, [r7, #88] ; 0x58 80c9c9c: f04f 0400 mov.w r4, #0 80c9ca0: 185b adds r3, r3, r1 80c9ca2: eb44 0402 adc.w r4, r4, r2 80c9ca6: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if (maxlba >= 0x100000000) return FR_NO_FILESYSTEM; /* (It cannot be handled in 32-bit LBA) */ 80c9caa: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 80c9cae: 2c01 cmp r4, #1 80c9cb0: bf08 it eq 80c9cb2: 2b00 cmpeq r3, #0 80c9cb4: d301 bcc.n 80c9cba 80c9cb6: 230d movs r3, #13 80c9cb8: e22b b.n 80ca112 fs->fsize = ld_dword(fs->win + BPB_FatSzEx); /* Number of sectors per FAT */ 80c9cba: 6c3b ldr r3, [r7, #64] ; 0x40 80c9cbc: 3338 adds r3, #56 ; 0x38 80c9cbe: 3354 adds r3, #84 ; 0x54 80c9cc0: 4618 mov r0, r3 80c9cc2: f7fc ffe3 bl 80c6c8c 80c9cc6: 4602 mov r2, r0 80c9cc8: 6c3b ldr r3, [r7, #64] ; 0x40 80c9cca: 621a str r2, [r3, #32] fs->n_fats = fs->win[BPB_NumFATsEx]; /* Number of FATs */ 80c9ccc: 6c3b ldr r3, [r7, #64] ; 0x40 80c9cce: f893 20a6 ldrb.w r2, [r3, #166] ; 0xa6 80c9cd2: 6c3b ldr r3, [r7, #64] ; 0x40 80c9cd4: 709a strb r2, [r3, #2] if (fs->n_fats != 1) return FR_NO_FILESYSTEM; /* (Supports only 1 FAT) */ 80c9cd6: 6c3b ldr r3, [r7, #64] ; 0x40 80c9cd8: 789b ldrb r3, [r3, #2] 80c9cda: 2b01 cmp r3, #1 80c9cdc: d001 beq.n 80c9ce2 80c9cde: 230d movs r3, #13 80c9ce0: e217 b.n 80ca112 fs->csize = 1 << fs->win[BPB_SecPerClusEx]; /* Cluster size */ 80c9ce2: 6c3b ldr r3, [r7, #64] ; 0x40 80c9ce4: f893 30a5 ldrb.w r3, [r3, #165] ; 0xa5 80c9ce8: 461a mov r2, r3 80c9cea: 2301 movs r3, #1 80c9cec: 4093 lsls r3, r2 80c9cee: b29a uxth r2, r3 80c9cf0: 6c3b ldr r3, [r7, #64] ; 0x40 80c9cf2: 815a strh r2, [r3, #10] if (fs->csize == 0) return FR_NO_FILESYSTEM; /* (Must be 1..32768) */ 80c9cf4: 6c3b ldr r3, [r7, #64] ; 0x40 80c9cf6: 895b ldrh r3, [r3, #10] 80c9cf8: 2b00 cmp r3, #0 80c9cfa: d101 bne.n 80c9d00 80c9cfc: 230d movs r3, #13 80c9cfe: e208 b.n 80ca112 nclst = ld_dword(fs->win + BPB_NumClusEx); /* Number of clusters */ 80c9d00: 6c3b ldr r3, [r7, #64] ; 0x40 80c9d02: 3338 adds r3, #56 ; 0x38 80c9d04: 335c adds r3, #92 ; 0x5c 80c9d06: 4618 mov r0, r3 80c9d08: f7fc ffc0 bl 80c6c8c 80c9d0c: 62f8 str r0, [r7, #44] ; 0x2c if (nclst > MAX_EXFAT) return FR_NO_FILESYSTEM; /* (Too many clusters) */ 80c9d0e: 6afb ldr r3, [r7, #44] ; 0x2c 80c9d10: 4a1d ldr r2, [pc, #116] ; (80c9d88 ) 80c9d12: 4293 cmp r3, r2 80c9d14: d901 bls.n 80c9d1a 80c9d16: 230d movs r3, #13 80c9d18: e1fb b.n 80ca112 fs->n_fatent = nclst + 2; 80c9d1a: 6afb ldr r3, [r7, #44] ; 0x2c 80c9d1c: 1c9a adds r2, r3, #2 80c9d1e: 6c3b ldr r3, [r7, #64] ; 0x40 80c9d20: 61da str r2, [r3, #28] /* Boundaries and Limits */ fs->volbase = bsect; 80c9d22: 6c3b ldr r3, [r7, #64] ; 0x40 80c9d24: 6dba ldr r2, [r7, #88] ; 0x58 80c9d26: 625a str r2, [r3, #36] ; 0x24 fs->database = bsect + ld_dword(fs->win + BPB_DataOfsEx); 80c9d28: 6c3b ldr r3, [r7, #64] ; 0x40 80c9d2a: 3338 adds r3, #56 ; 0x38 80c9d2c: 3358 adds r3, #88 ; 0x58 80c9d2e: 4618 mov r0, r3 80c9d30: f7fc ffac bl 80c6c8c 80c9d34: 4602 mov r2, r0 80c9d36: 6dbb ldr r3, [r7, #88] ; 0x58 80c9d38: 441a add r2, r3 80c9d3a: 6c3b ldr r3, [r7, #64] ; 0x40 80c9d3c: 631a str r2, [r3, #48] ; 0x30 fs->fatbase = bsect + ld_dword(fs->win + BPB_FatOfsEx); 80c9d3e: 6c3b ldr r3, [r7, #64] ; 0x40 80c9d40: 3338 adds r3, #56 ; 0x38 80c9d42: 3350 adds r3, #80 ; 0x50 80c9d44: 4618 mov r0, r3 80c9d46: f7fc ffa1 bl 80c6c8c 80c9d4a: 4602 mov r2, r0 80c9d4c: 6dbb ldr r3, [r7, #88] ; 0x58 80c9d4e: 441a add r2, r3 80c9d50: 6c3b ldr r3, [r7, #64] ; 0x40 80c9d52: 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) */ 80c9d54: 6c3b ldr r3, [r7, #64] ; 0x40 80c9d56: 6b1b ldr r3, [r3, #48] ; 0x30 80c9d58: 4619 mov r1, r3 80c9d5a: f04f 0200 mov.w r2, #0 80c9d5e: 6c3b ldr r3, [r7, #64] ; 0x40 80c9d60: 895b ldrh r3, [r3, #10] 80c9d62: 4618 mov r0, r3 80c9d64: 6afb ldr r3, [r7, #44] ; 0x2c 80c9d66: fb03 f300 mul.w r3, r3, r0 80c9d6a: f04f 0400 mov.w r4, #0 80c9d6e: 185b adds r3, r3, r1 80c9d70: eb44 0402 adc.w r4, r4, r2 80c9d74: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 80c9d78: 42a2 cmp r2, r4 80c9d7a: bf08 it eq 80c9d7c: 4299 cmpeq r1, r3 80c9d7e: d205 bcs.n 80c9d8c 80c9d80: 230d movs r3, #13 80c9d82: e1c6 b.n 80ca112 80c9d84: 200216f4 .word 0x200216f4 80c9d88: 7ffffffd .word 0x7ffffffd fs->dirbase = ld_dword(fs->win + BPB_RootClusEx); 80c9d8c: 6c3b ldr r3, [r7, #64] ; 0x40 80c9d8e: 3338 adds r3, #56 ; 0x38 80c9d90: 3360 adds r3, #96 ; 0x60 80c9d92: 4618 mov r0, r3 80c9d94: f7fc ff7a bl 80c6c8c 80c9d98: 4602 mov r2, r0 80c9d9a: 6c3b ldr r3, [r7, #64] ; 0x40 80c9d9c: 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; 80c9d9e: 6c3b ldr r3, [r7, #64] ; 0x40 80c9da0: 6adb ldr r3, [r3, #44] ; 0x2c 80c9da2: 4619 mov r1, r3 80c9da4: 6c38 ldr r0, [r7, #64] ; 0x40 80c9da6: f7fd fa77 bl 80c7298 80c9daa: 4603 mov r3, r0 80c9dac: 4619 mov r1, r3 80c9dae: 6c38 ldr r0, [r7, #64] ; 0x40 80c9db0: f7fd f9d7 bl 80c7162 80c9db4: 4603 mov r3, r0 80c9db6: 2b00 cmp r3, #0 80c9db8: d001 beq.n 80c9dbe 80c9dba: 2301 movs r3, #1 80c9dbc: e1a9 b.n 80ca112 for (i = 0; i < SS(fs); i += SZDIRE) { 80c9dbe: 2300 movs r3, #0 80c9dc0: 64bb str r3, [r7, #72] ; 0x48 80c9dc2: e015 b.n 80c9df0 if (fs->win[i] == 0x81 && ld_dword(fs->win + i + 20) == 2) break; /* 81 entry with cluster #2? */ 80c9dc4: 6c3a ldr r2, [r7, #64] ; 0x40 80c9dc6: 6cbb ldr r3, [r7, #72] ; 0x48 80c9dc8: 4413 add r3, r2 80c9dca: 3338 adds r3, #56 ; 0x38 80c9dcc: 781b ldrb r3, [r3, #0] 80c9dce: 2b81 cmp r3, #129 ; 0x81 80c9dd0: d10b bne.n 80c9dea 80c9dd2: 6c3b ldr r3, [r7, #64] ; 0x40 80c9dd4: f103 0238 add.w r2, r3, #56 ; 0x38 80c9dd8: 6cbb ldr r3, [r7, #72] ; 0x48 80c9dda: 3314 adds r3, #20 80c9ddc: 4413 add r3, r2 80c9dde: 4618 mov r0, r3 80c9de0: f7fc ff54 bl 80c6c8c 80c9de4: 4603 mov r3, r0 80c9de6: 2b02 cmp r3, #2 80c9de8: d007 beq.n 80c9dfa for (i = 0; i < SS(fs); i += SZDIRE) { 80c9dea: 6cbb ldr r3, [r7, #72] ; 0x48 80c9dec: 3320 adds r3, #32 80c9dee: 64bb str r3, [r7, #72] ; 0x48 80c9df0: 6cbb ldr r3, [r7, #72] ; 0x48 80c9df2: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c9df6: d3e5 bcc.n 80c9dc4 80c9df8: e000 b.n 80c9dfc if (fs->win[i] == 0x81 && ld_dword(fs->win + i + 20) == 2) break; /* 81 entry with cluster #2? */ 80c9dfa: bf00 nop } if (i == SS(fs)) return FR_NO_FILESYSTEM; 80c9dfc: 6cbb ldr r3, [r7, #72] ; 0x48 80c9dfe: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c9e02: d101 bne.n 80c9e08 80c9e04: 230d movs r3, #13 80c9e06: e184 b.n 80ca112 #if !_FS_READONLY fs->last_clst = fs->free_clst = 0xFFFFFFFF; /* Initialize cluster allocation information */ 80c9e08: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e0a: f04f 32ff mov.w r2, #4294967295 80c9e0e: 619a str r2, [r3, #24] 80c9e10: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e12: 699a ldr r2, [r3, #24] 80c9e14: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e16: 615a str r2, [r3, #20] #endif fmt = FS_EXFAT; /* FAT sub-type */ 80c9e18: 2304 movs r3, #4 80c9e1a: f887 305f strb.w r3, [r7, #95] ; 0x5f 80c9e1e: e163 b.n 80ca0e8 } 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) */ 80c9e20: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e22: 3338 adds r3, #56 ; 0x38 80c9e24: 330b adds r3, #11 80c9e26: 4618 mov r0, r3 80c9e28: f7fc ff18 bl 80c6c5c 80c9e2c: 4603 mov r3, r0 80c9e2e: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c9e32: d001 beq.n 80c9e38 80c9e34: 230d movs r3, #13 80c9e36: e16c b.n 80ca112 fasize = ld_word(fs->win + BPB_FATSz16); /* Number of sectors per FAT */ 80c9e38: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e3a: 3338 adds r3, #56 ; 0x38 80c9e3c: 3316 adds r3, #22 80c9e3e: 4618 mov r0, r3 80c9e40: f7fc ff0c bl 80c6c5c 80c9e44: 4603 mov r3, r0 80c9e46: 657b str r3, [r7, #84] ; 0x54 if (fasize == 0) fasize = ld_dword(fs->win + BPB_FATSz32); 80c9e48: 6d7b ldr r3, [r7, #84] ; 0x54 80c9e4a: 2b00 cmp r3, #0 80c9e4c: d106 bne.n 80c9e5c 80c9e4e: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e50: 3338 adds r3, #56 ; 0x38 80c9e52: 3324 adds r3, #36 ; 0x24 80c9e54: 4618 mov r0, r3 80c9e56: f7fc ff19 bl 80c6c8c 80c9e5a: 6578 str r0, [r7, #84] ; 0x54 fs->fsize = fasize; 80c9e5c: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e5e: 6d7a ldr r2, [r7, #84] ; 0x54 80c9e60: 621a str r2, [r3, #32] fs->n_fats = fs->win[BPB_NumFATs]; /* Number of FATs */ 80c9e62: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e64: f893 2048 ldrb.w r2, [r3, #72] ; 0x48 80c9e68: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e6a: 709a strb r2, [r3, #2] if (fs->n_fats != 1 && fs->n_fats != 2) return FR_NO_FILESYSTEM; /* (Must be 1 or 2) */ 80c9e6c: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e6e: 789b ldrb r3, [r3, #2] 80c9e70: 2b01 cmp r3, #1 80c9e72: d005 beq.n 80c9e80 80c9e74: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e76: 789b ldrb r3, [r3, #2] 80c9e78: 2b02 cmp r3, #2 80c9e7a: d001 beq.n 80c9e80 80c9e7c: 230d movs r3, #13 80c9e7e: e148 b.n 80ca112 fasize *= fs->n_fats; /* Number of sectors for FAT area */ 80c9e80: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e82: 789b ldrb r3, [r3, #2] 80c9e84: 461a mov r2, r3 80c9e86: 6d7b ldr r3, [r7, #84] ; 0x54 80c9e88: fb02 f303 mul.w r3, r2, r3 80c9e8c: 657b str r3, [r7, #84] ; 0x54 fs->csize = fs->win[BPB_SecPerClus]; /* Cluster size */ 80c9e8e: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e90: f893 3045 ldrb.w r3, [r3, #69] ; 0x45 80c9e94: b29a uxth r2, r3 80c9e96: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e98: 815a strh r2, [r3, #10] if (fs->csize == 0 || (fs->csize & (fs->csize - 1))) return FR_NO_FILESYSTEM; /* (Must be power of 2) */ 80c9e9a: 6c3b ldr r3, [r7, #64] ; 0x40 80c9e9c: 895b ldrh r3, [r3, #10] 80c9e9e: 2b00 cmp r3, #0 80c9ea0: d008 beq.n 80c9eb4 80c9ea2: 6c3b ldr r3, [r7, #64] ; 0x40 80c9ea4: 895b ldrh r3, [r3, #10] 80c9ea6: 461a mov r2, r3 80c9ea8: 6c3b ldr r3, [r7, #64] ; 0x40 80c9eaa: 895b ldrh r3, [r3, #10] 80c9eac: 3b01 subs r3, #1 80c9eae: 4013 ands r3, r2 80c9eb0: 2b00 cmp r3, #0 80c9eb2: d001 beq.n 80c9eb8 80c9eb4: 230d movs r3, #13 80c9eb6: e12c b.n 80ca112 fs->n_rootdir = ld_word(fs->win + BPB_RootEntCnt); /* Number of root directory entries */ 80c9eb8: 6c3b ldr r3, [r7, #64] ; 0x40 80c9eba: 3338 adds r3, #56 ; 0x38 80c9ebc: 3311 adds r3, #17 80c9ebe: 4618 mov r0, r3 80c9ec0: f7fc fecc bl 80c6c5c 80c9ec4: 4603 mov r3, r0 80c9ec6: 461a mov r2, r3 80c9ec8: 6c3b ldr r3, [r7, #64] ; 0x40 80c9eca: 811a strh r2, [r3, #8] if (fs->n_rootdir % (SS(fs) / SZDIRE)) return FR_NO_FILESYSTEM; /* (Must be sector aligned) */ 80c9ecc: 6c3b ldr r3, [r7, #64] ; 0x40 80c9ece: 891b ldrh r3, [r3, #8] 80c9ed0: f003 030f and.w r3, r3, #15 80c9ed4: b29b uxth r3, r3 80c9ed6: 2b00 cmp r3, #0 80c9ed8: d001 beq.n 80c9ede 80c9eda: 230d movs r3, #13 80c9edc: e119 b.n 80ca112 tsect = ld_word(fs->win + BPB_TotSec16); /* Number of sectors on the volume */ 80c9ede: 6c3b ldr r3, [r7, #64] ; 0x40 80c9ee0: 3338 adds r3, #56 ; 0x38 80c9ee2: 3313 adds r3, #19 80c9ee4: 4618 mov r0, r3 80c9ee6: f7fc feb9 bl 80c6c5c 80c9eea: 4603 mov r3, r0 80c9eec: 653b str r3, [r7, #80] ; 0x50 if (tsect == 0) tsect = ld_dword(fs->win + BPB_TotSec32); 80c9eee: 6d3b ldr r3, [r7, #80] ; 0x50 80c9ef0: 2b00 cmp r3, #0 80c9ef2: d106 bne.n 80c9f02 80c9ef4: 6c3b ldr r3, [r7, #64] ; 0x40 80c9ef6: 3338 adds r3, #56 ; 0x38 80c9ef8: 3320 adds r3, #32 80c9efa: 4618 mov r0, r3 80c9efc: f7fc fec6 bl 80c6c8c 80c9f00: 6538 str r0, [r7, #80] ; 0x50 nrsv = ld_word(fs->win + BPB_RsvdSecCnt); /* Number of reserved sectors */ 80c9f02: 6c3b ldr r3, [r7, #64] ; 0x40 80c9f04: 3338 adds r3, #56 ; 0x38 80c9f06: 330e adds r3, #14 80c9f08: 4618 mov r0, r3 80c9f0a: f7fc fea7 bl 80c6c5c 80c9f0e: 4603 mov r3, r0 80c9f10: 857b strh r3, [r7, #42] ; 0x2a if (nrsv == 0) return FR_NO_FILESYSTEM; /* (Must not be 0) */ 80c9f12: 8d7b ldrh r3, [r7, #42] ; 0x2a 80c9f14: 2b00 cmp r3, #0 80c9f16: d101 bne.n 80c9f1c 80c9f18: 230d movs r3, #13 80c9f1a: e0fa b.n 80ca112 /* Determine the FAT sub type */ sysect = nrsv + fasize + fs->n_rootdir / (SS(fs) / SZDIRE); /* RSV + FAT + DIR */ 80c9f1c: 8d7a ldrh r2, [r7, #42] ; 0x2a 80c9f1e: 6d7b ldr r3, [r7, #84] ; 0x54 80c9f20: 4413 add r3, r2 80c9f22: 6c3a ldr r2, [r7, #64] ; 0x40 80c9f24: 8912 ldrh r2, [r2, #8] 80c9f26: 0912 lsrs r2, r2, #4 80c9f28: b292 uxth r2, r2 80c9f2a: 4413 add r3, r2 80c9f2c: 627b str r3, [r7, #36] ; 0x24 if (tsect < sysect) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ 80c9f2e: 6d3a ldr r2, [r7, #80] ; 0x50 80c9f30: 6a7b ldr r3, [r7, #36] ; 0x24 80c9f32: 429a cmp r2, r3 80c9f34: d201 bcs.n 80c9f3a 80c9f36: 230d movs r3, #13 80c9f38: e0eb b.n 80ca112 nclst = (tsect - sysect) / fs->csize; /* Number of clusters */ 80c9f3a: 6d3a ldr r2, [r7, #80] ; 0x50 80c9f3c: 6a7b ldr r3, [r7, #36] ; 0x24 80c9f3e: 1ad3 subs r3, r2, r3 80c9f40: 6c3a ldr r2, [r7, #64] ; 0x40 80c9f42: 8952 ldrh r2, [r2, #10] 80c9f44: fbb3 f3f2 udiv r3, r3, r2 80c9f48: 62fb str r3, [r7, #44] ; 0x2c if (nclst == 0) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ 80c9f4a: 6afb ldr r3, [r7, #44] ; 0x2c 80c9f4c: 2b00 cmp r3, #0 80c9f4e: d101 bne.n 80c9f54 80c9f50: 230d movs r3, #13 80c9f52: e0de b.n 80ca112 fmt = FS_FAT32; 80c9f54: 2303 movs r3, #3 80c9f56: f887 305f strb.w r3, [r7, #95] ; 0x5f if (nclst <= MAX_FAT16) fmt = FS_FAT16; 80c9f5a: 6afb ldr r3, [r7, #44] ; 0x2c 80c9f5c: f64f 72f5 movw r2, #65525 ; 0xfff5 80c9f60: 4293 cmp r3, r2 80c9f62: d802 bhi.n 80c9f6a 80c9f64: 2302 movs r3, #2 80c9f66: f887 305f strb.w r3, [r7, #95] ; 0x5f if (nclst <= MAX_FAT12) fmt = FS_FAT12; 80c9f6a: 6afb ldr r3, [r7, #44] ; 0x2c 80c9f6c: f640 72f5 movw r2, #4085 ; 0xff5 80c9f70: 4293 cmp r3, r2 80c9f72: d802 bhi.n 80c9f7a 80c9f74: 2301 movs r3, #1 80c9f76: f887 305f strb.w r3, [r7, #95] ; 0x5f /* Boundaries and Limits */ fs->n_fatent = nclst + 2; /* Number of FAT entries */ 80c9f7a: 6afb ldr r3, [r7, #44] ; 0x2c 80c9f7c: 1c9a adds r2, r3, #2 80c9f7e: 6c3b ldr r3, [r7, #64] ; 0x40 80c9f80: 61da str r2, [r3, #28] fs->volbase = bsect; /* Volume start sector */ 80c9f82: 6c3b ldr r3, [r7, #64] ; 0x40 80c9f84: 6dba ldr r2, [r7, #88] ; 0x58 80c9f86: 625a str r2, [r3, #36] ; 0x24 fs->fatbase = bsect + nrsv; /* FAT start sector */ 80c9f88: 8d7a ldrh r2, [r7, #42] ; 0x2a 80c9f8a: 6dbb ldr r3, [r7, #88] ; 0x58 80c9f8c: 441a add r2, r3 80c9f8e: 6c3b ldr r3, [r7, #64] ; 0x40 80c9f90: 629a str r2, [r3, #40] ; 0x28 fs->database = bsect + sysect; /* Data start sector */ 80c9f92: 6dba ldr r2, [r7, #88] ; 0x58 80c9f94: 6a7b ldr r3, [r7, #36] ; 0x24 80c9f96: 441a add r2, r3 80c9f98: 6c3b ldr r3, [r7, #64] ; 0x40 80c9f9a: 631a str r2, [r3, #48] ; 0x30 if (fmt == FS_FAT32) { 80c9f9c: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c9fa0: 2b03 cmp r3, #3 80c9fa2: d11e bne.n 80c9fe2 if (ld_word(fs->win + BPB_FSVer32) != 0) return FR_NO_FILESYSTEM; /* (Must be FAT32 revision 0.0) */ 80c9fa4: 6c3b ldr r3, [r7, #64] ; 0x40 80c9fa6: 3338 adds r3, #56 ; 0x38 80c9fa8: 332a adds r3, #42 ; 0x2a 80c9faa: 4618 mov r0, r3 80c9fac: f7fc fe56 bl 80c6c5c 80c9fb0: 4603 mov r3, r0 80c9fb2: 2b00 cmp r3, #0 80c9fb4: d001 beq.n 80c9fba 80c9fb6: 230d movs r3, #13 80c9fb8: e0ab b.n 80ca112 if (fs->n_rootdir) return FR_NO_FILESYSTEM; /* (BPB_RootEntCnt must be 0) */ 80c9fba: 6c3b ldr r3, [r7, #64] ; 0x40 80c9fbc: 891b ldrh r3, [r3, #8] 80c9fbe: 2b00 cmp r3, #0 80c9fc0: d001 beq.n 80c9fc6 80c9fc2: 230d movs r3, #13 80c9fc4: e0a5 b.n 80ca112 fs->dirbase = ld_dword(fs->win + BPB_RootClus32); /* Root directory start cluster */ 80c9fc6: 6c3b ldr r3, [r7, #64] ; 0x40 80c9fc8: 3338 adds r3, #56 ; 0x38 80c9fca: 332c adds r3, #44 ; 0x2c 80c9fcc: 4618 mov r0, r3 80c9fce: f7fc fe5d bl 80c6c8c 80c9fd2: 4602 mov r2, r0 80c9fd4: 6c3b ldr r3, [r7, #64] ; 0x40 80c9fd6: 62da str r2, [r3, #44] ; 0x2c szbfat = fs->n_fatent * 4; /* (Needed FAT size) */ 80c9fd8: 6c3b ldr r3, [r7, #64] ; 0x40 80c9fda: 69db ldr r3, [r3, #28] 80c9fdc: 009b lsls r3, r3, #2 80c9fde: 64fb str r3, [r7, #76] ; 0x4c 80c9fe0: e01f b.n 80ca022 } else { if (fs->n_rootdir == 0) return FR_NO_FILESYSTEM;/* (BPB_RootEntCnt must not be 0) */ 80c9fe2: 6c3b ldr r3, [r7, #64] ; 0x40 80c9fe4: 891b ldrh r3, [r3, #8] 80c9fe6: 2b00 cmp r3, #0 80c9fe8: d101 bne.n 80c9fee 80c9fea: 230d movs r3, #13 80c9fec: e091 b.n 80ca112 fs->dirbase = fs->fatbase + fasize; /* Root directory start sector */ 80c9fee: 6c3b ldr r3, [r7, #64] ; 0x40 80c9ff0: 6a9a ldr r2, [r3, #40] ; 0x28 80c9ff2: 6d7b ldr r3, [r7, #84] ; 0x54 80c9ff4: 441a add r2, r3 80c9ff6: 6c3b ldr r3, [r7, #64] ; 0x40 80c9ff8: 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); 80c9ffa: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c9ffe: 2b02 cmp r3, #2 80ca000: d103 bne.n 80ca00a 80ca002: 6c3b ldr r3, [r7, #64] ; 0x40 80ca004: 69db ldr r3, [r3, #28] 80ca006: 005b lsls r3, r3, #1 80ca008: e00a b.n 80ca020 80ca00a: 6c3b ldr r3, [r7, #64] ; 0x40 80ca00c: 69da ldr r2, [r3, #28] 80ca00e: 4613 mov r3, r2 80ca010: 005b lsls r3, r3, #1 80ca012: 4413 add r3, r2 80ca014: 085a lsrs r2, r3, #1 80ca016: 6c3b ldr r3, [r7, #64] ; 0x40 80ca018: 69db ldr r3, [r3, #28] 80ca01a: f003 0301 and.w r3, r3, #1 80ca01e: 4413 add r3, r2 szbfat = (fmt == FS_FAT16) ? /* (Needed FAT size) */ 80ca020: 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) */ 80ca022: 6c3b ldr r3, [r7, #64] ; 0x40 80ca024: 6a1a ldr r2, [r3, #32] 80ca026: 6cfb ldr r3, [r7, #76] ; 0x4c 80ca028: f203 13ff addw r3, r3, #511 ; 0x1ff 80ca02c: 0a5b lsrs r3, r3, #9 80ca02e: 429a cmp r2, r3 80ca030: d201 bcs.n 80ca036 80ca032: 230d movs r3, #13 80ca034: e06d b.n 80ca112 #if !_FS_READONLY /* Get FSINFO if available */ fs->last_clst = fs->free_clst = 0xFFFFFFFF; /* Initialize cluster allocation information */ 80ca036: 6c3b ldr r3, [r7, #64] ; 0x40 80ca038: f04f 32ff mov.w r2, #4294967295 80ca03c: 619a str r2, [r3, #24] 80ca03e: 6c3b ldr r3, [r7, #64] ; 0x40 80ca040: 699a ldr r2, [r3, #24] 80ca042: 6c3b ldr r3, [r7, #64] ; 0x40 80ca044: 615a str r2, [r3, #20] fs->fsi_flag = 0x80; 80ca046: 6c3b ldr r3, [r7, #64] ; 0x40 80ca048: 2280 movs r2, #128 ; 0x80 80ca04a: 711a strb r2, [r3, #4] #if (_FS_NOFSINFO & 3) != 3 if (fmt == FS_FAT32 /* Enable FSINFO only if FAT32 and BPB_FSInfo32 == 1 */ 80ca04c: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80ca050: 2b03 cmp r3, #3 80ca052: d149 bne.n 80ca0e8 && ld_word(fs->win + BPB_FSInfo32) == 1 80ca054: 6c3b ldr r3, [r7, #64] ; 0x40 80ca056: 3338 adds r3, #56 ; 0x38 80ca058: 3330 adds r3, #48 ; 0x30 80ca05a: 4618 mov r0, r3 80ca05c: f7fc fdfe bl 80c6c5c 80ca060: 4603 mov r3, r0 80ca062: 2b01 cmp r3, #1 80ca064: d140 bne.n 80ca0e8 && move_window(fs, bsect + 1) == FR_OK) 80ca066: 6dbb ldr r3, [r7, #88] ; 0x58 80ca068: 3301 adds r3, #1 80ca06a: 4619 mov r1, r3 80ca06c: 6c38 ldr r0, [r7, #64] ; 0x40 80ca06e: f7fd f878 bl 80c7162 80ca072: 4603 mov r3, r0 80ca074: 2b00 cmp r3, #0 80ca076: d137 bne.n 80ca0e8 { fs->fsi_flag = 0; 80ca078: 6c3b ldr r3, [r7, #64] ; 0x40 80ca07a: 2200 movs r2, #0 80ca07c: 711a strb r2, [r3, #4] if (ld_word(fs->win + BS_55AA) == 0xAA55 /* Load FSINFO data if available */ 80ca07e: 6c3b ldr r3, [r7, #64] ; 0x40 80ca080: 3338 adds r3, #56 ; 0x38 80ca082: f503 73ff add.w r3, r3, #510 ; 0x1fe 80ca086: 4618 mov r0, r3 80ca088: f7fc fde8 bl 80c6c5c 80ca08c: 4603 mov r3, r0 80ca08e: 461a mov r2, r3 80ca090: f64a 2355 movw r3, #43605 ; 0xaa55 80ca094: 429a cmp r2, r3 80ca096: d127 bne.n 80ca0e8 && ld_dword(fs->win + FSI_LeadSig) == 0x41615252 80ca098: 6c3b ldr r3, [r7, #64] ; 0x40 80ca09a: 3338 adds r3, #56 ; 0x38 80ca09c: 4618 mov r0, r3 80ca09e: f7fc fdf5 bl 80c6c8c 80ca0a2: 4602 mov r2, r0 80ca0a4: 4b1d ldr r3, [pc, #116] ; (80ca11c ) 80ca0a6: 429a cmp r2, r3 80ca0a8: d11e bne.n 80ca0e8 && ld_dword(fs->win + FSI_StrucSig) == 0x61417272) 80ca0aa: 6c3b ldr r3, [r7, #64] ; 0x40 80ca0ac: 3338 adds r3, #56 ; 0x38 80ca0ae: f503 73f2 add.w r3, r3, #484 ; 0x1e4 80ca0b2: 4618 mov r0, r3 80ca0b4: f7fc fdea bl 80c6c8c 80ca0b8: 4602 mov r2, r0 80ca0ba: 4b19 ldr r3, [pc, #100] ; (80ca120 ) 80ca0bc: 429a cmp r2, r3 80ca0be: d113 bne.n 80ca0e8 { #if (_FS_NOFSINFO & 1) == 0 fs->free_clst = ld_dword(fs->win + FSI_Free_Count); 80ca0c0: 6c3b ldr r3, [r7, #64] ; 0x40 80ca0c2: 3338 adds r3, #56 ; 0x38 80ca0c4: f503 73f4 add.w r3, r3, #488 ; 0x1e8 80ca0c8: 4618 mov r0, r3 80ca0ca: f7fc fddf bl 80c6c8c 80ca0ce: 4602 mov r2, r0 80ca0d0: 6c3b ldr r3, [r7, #64] ; 0x40 80ca0d2: 619a str r2, [r3, #24] #endif #if (_FS_NOFSINFO & 2) == 0 fs->last_clst = ld_dword(fs->win + FSI_Nxt_Free); 80ca0d4: 6c3b ldr r3, [r7, #64] ; 0x40 80ca0d6: 3338 adds r3, #56 ; 0x38 80ca0d8: f503 73f6 add.w r3, r3, #492 ; 0x1ec 80ca0dc: 4618 mov r0, r3 80ca0de: f7fc fdd5 bl 80c6c8c 80ca0e2: 4602 mov r2, r0 80ca0e4: 6c3b ldr r3, [r7, #64] ; 0x40 80ca0e6: 615a str r2, [r3, #20] } #endif /* (_FS_NOFSINFO & 3) != 3 */ #endif /* !_FS_READONLY */ } fs->fs_type = fmt; /* FAT sub-type */ 80ca0e8: 6c3b ldr r3, [r7, #64] ; 0x40 80ca0ea: f897 205f ldrb.w r2, [r7, #95] ; 0x5f 80ca0ee: 701a strb r2, [r3, #0] fs->id = ++Fsid; /* File system mount ID */ 80ca0f0: 4b0c ldr r3, [pc, #48] ; (80ca124 ) 80ca0f2: 881b ldrh r3, [r3, #0] 80ca0f4: 3301 adds r3, #1 80ca0f6: b29a uxth r2, r3 80ca0f8: 4b0a ldr r3, [pc, #40] ; (80ca124 ) 80ca0fa: 801a strh r2, [r3, #0] 80ca0fc: 4b09 ldr r3, [pc, #36] ; (80ca124 ) 80ca0fe: 881a ldrh r2, [r3, #0] 80ca100: 6c3b ldr r3, [r7, #64] ; 0x40 80ca102: 80da strh r2, [r3, #6] #if _USE_LFN == 1 fs->lfnbuf = LfnBuf; /* Static LFN working buffer */ 80ca104: 6c3b ldr r3, [r7, #64] ; 0x40 80ca106: 4a08 ldr r2, [pc, #32] ; (80ca128 ) 80ca108: 60da str r2, [r3, #12] #if _FS_EXFAT fs->dirbuf = DirBuf; /* Static directory block scratchpad buuffer */ 80ca10a: 6c3b ldr r3, [r7, #64] ; 0x40 80ca10c: 4a07 ldr r2, [pc, #28] ; (80ca12c ) 80ca10e: 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; 80ca110: 2300 movs r3, #0 } 80ca112: 4618 mov r0, r3 80ca114: 3764 adds r7, #100 ; 0x64 80ca116: 46bd mov sp, r7 80ca118: bd90 pop {r4, r7, pc} 80ca11a: bf00 nop 80ca11c: 41615252 .word 0x41615252 80ca120: 61417272 .word 0x61417272 80ca124: 200216f8 .word 0x200216f8 80ca128: 2002195c .word 0x2002195c 80ca12c: 200216fc .word 0x200216fc 080ca130 : 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 */ ) { 80ca130: b580 push {r7, lr} 80ca132: b084 sub sp, #16 80ca134: af00 add r7, sp, #0 80ca136: 6078 str r0, [r7, #4] 80ca138: 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)) { 80ca13a: 687b ldr r3, [r7, #4] 80ca13c: 2b00 cmp r3, #0 80ca13e: d01a beq.n 80ca176 80ca140: 687b ldr r3, [r7, #4] 80ca142: 681b ldr r3, [r3, #0] 80ca144: 2b00 cmp r3, #0 80ca146: d016 beq.n 80ca176 80ca148: 687b ldr r3, [r7, #4] 80ca14a: 681b ldr r3, [r3, #0] 80ca14c: 781b ldrb r3, [r3, #0] 80ca14e: 2b00 cmp r3, #0 80ca150: d011 beq.n 80ca176 80ca152: 687b ldr r3, [r7, #4] 80ca154: 681b ldr r3, [r3, #0] 80ca156: 88da ldrh r2, [r3, #6] 80ca158: 687b ldr r3, [r7, #4] 80ca15a: 889b ldrh r3, [r3, #4] 80ca15c: 429a cmp r2, r3 80ca15e: d10a bne.n 80ca176 80ca160: 687b ldr r3, [r7, #4] 80ca162: 681b ldr r3, [r3, #0] 80ca164: 785b ldrb r3, [r3, #1] 80ca166: 4618 mov r0, r3 80ca168: f7fc fcda bl 80c6b20 80ca16c: 4603 mov r3, r0 80ca16e: f003 0301 and.w r3, r3, #1 80ca172: 2b00 cmp r3, #0 80ca174: d005 beq.n 80ca182 *fs = 0; 80ca176: 683b ldr r3, [r7, #0] 80ca178: 2200 movs r2, #0 80ca17a: 601a str r2, [r3, #0] res = FR_INVALID_OBJECT; /* The object is invalid */ 80ca17c: 2309 movs r3, #9 80ca17e: 73fb strb r3, [r7, #15] 80ca180: e005 b.n 80ca18e } else { *fs = obj->fs; /* Owner file sytem object */ 80ca182: 687b ldr r3, [r7, #4] 80ca184: 681a ldr r2, [r3, #0] 80ca186: 683b ldr r3, [r7, #0] 80ca188: 601a str r2, [r3, #0] ENTER_FF(obj->fs); /* Lock file system */ res = FR_OK; /* Valid object */ 80ca18a: 2300 movs r3, #0 80ca18c: 73fb strb r3, [r7, #15] } return res; 80ca18e: 7bfb ldrb r3, [r7, #15] } 80ca190: 4618 mov r0, r3 80ca192: 3710 adds r7, #16 80ca194: 46bd mov sp, r7 80ca196: bd80 pop {r7, pc} 080ca198 : 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 */ ) { 80ca198: b580 push {r7, lr} 80ca19a: b088 sub sp, #32 80ca19c: af00 add r7, sp, #0 80ca19e: 60f8 str r0, [r7, #12] 80ca1a0: 60b9 str r1, [r7, #8] 80ca1a2: 4613 mov r3, r2 80ca1a4: 71fb strb r3, [r7, #7] FATFS *cfs; int vol; FRESULT res; const TCHAR *rp = path; 80ca1a6: 68bb ldr r3, [r7, #8] 80ca1a8: 613b str r3, [r7, #16] /* Get logical drive number */ vol = get_ldnumber(&rp); 80ca1aa: f107 0310 add.w r3, r7, #16 80ca1ae: 4618 mov r0, r3 80ca1b0: f7ff fbcc bl 80c994c 80ca1b4: 61f8 str r0, [r7, #28] if (vol < 0) return FR_INVALID_DRIVE; 80ca1b6: 69fb ldr r3, [r7, #28] 80ca1b8: 2b00 cmp r3, #0 80ca1ba: da01 bge.n 80ca1c0 80ca1bc: 230b movs r3, #11 80ca1be: e028 b.n 80ca212 cfs = FatFs[vol]; /* Pointer to fs object */ 80ca1c0: 4a16 ldr r2, [pc, #88] ; (80ca21c ) 80ca1c2: 69fb ldr r3, [r7, #28] 80ca1c4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80ca1c8: 61bb str r3, [r7, #24] if (cfs) { 80ca1ca: 69bb ldr r3, [r7, #24] 80ca1cc: 2b00 cmp r3, #0 80ca1ce: d002 beq.n 80ca1d6 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 */ 80ca1d0: 69bb ldr r3, [r7, #24] 80ca1d2: 2200 movs r2, #0 80ca1d4: 701a strb r2, [r3, #0] } if (fs) { 80ca1d6: 68fb ldr r3, [r7, #12] 80ca1d8: 2b00 cmp r3, #0 80ca1da: d002 beq.n 80ca1e2 fs->fs_type = 0; /* Clear new fs object */ 80ca1dc: 68fb ldr r3, [r7, #12] 80ca1de: 2200 movs r2, #0 80ca1e0: 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 */ 80ca1e2: 68fa ldr r2, [r7, #12] 80ca1e4: 490d ldr r1, [pc, #52] ; (80ca21c ) 80ca1e6: 69fb ldr r3, [r7, #28] 80ca1e8: 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 */ 80ca1ec: 68fb ldr r3, [r7, #12] 80ca1ee: 2b00 cmp r3, #0 80ca1f0: d002 beq.n 80ca1f8 80ca1f2: 79fb ldrb r3, [r7, #7] 80ca1f4: 2b01 cmp r3, #1 80ca1f6: d001 beq.n 80ca1fc 80ca1f8: 2300 movs r3, #0 80ca1fa: e00a b.n 80ca212 res = find_volume(&path, &fs, 0); /* Force mounted the volume */ 80ca1fc: f107 010c add.w r1, r7, #12 80ca200: f107 0308 add.w r3, r7, #8 80ca204: 2200 movs r2, #0 80ca206: 4618 mov r0, r3 80ca208: f7ff fc48 bl 80c9a9c 80ca20c: 4603 mov r3, r0 80ca20e: 75fb strb r3, [r7, #23] LEAVE_FF(fs, res); 80ca210: 7dfb ldrb r3, [r7, #23] } 80ca212: 4618 mov r0, r3 80ca214: 3720 adds r7, #32 80ca216: 46bd mov sp, r7 80ca218: bd80 pop {r7, pc} 80ca21a: bf00 nop 80ca21c: 200216f4 .word 0x200216f4 080ca220 : 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 */ ) { 80ca220: b5b0 push {r4, r5, r7, lr} 80ca222: b0a2 sub sp, #136 ; 0x88 80ca224: af00 add r7, sp, #0 80ca226: 60f8 str r0, [r7, #12] 80ca228: 60b9 str r1, [r7, #8] 80ca22a: 4613 mov r3, r2 80ca22c: 71fb strb r3, [r7, #7] FSIZE_t ofs; #endif DEF_NAMBUF if (!fp) return FR_INVALID_OBJECT; 80ca22e: 68fb ldr r3, [r7, #12] 80ca230: 2b00 cmp r3, #0 80ca232: d101 bne.n 80ca238 80ca234: 2309 movs r3, #9 80ca236: e24c b.n 80ca6d2 /* 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; 80ca238: 79fb ldrb r3, [r7, #7] 80ca23a: f003 033f and.w r3, r3, #63 ; 0x3f 80ca23e: 71fb strb r3, [r7, #7] res = find_volume(&path, &fs, mode); 80ca240: 79fa ldrb r2, [r7, #7] 80ca242: f107 0114 add.w r1, r7, #20 80ca246: f107 0308 add.w r3, r7, #8 80ca24a: 4618 mov r0, r3 80ca24c: f7ff fc26 bl 80c9a9c 80ca250: 4603 mov r3, r0 80ca252: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (res == FR_OK) { 80ca256: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80ca25a: 2b00 cmp r3, #0 80ca25c: f040 8230 bne.w 80ca6c0 dj.obj.fs = fs; 80ca260: 697b ldr r3, [r7, #20] 80ca262: 61bb str r3, [r7, #24] INIT_NAMBUF(fs); res = follow_path(&dj, path); /* Follow the file path */ 80ca264: 68ba ldr r2, [r7, #8] 80ca266: f107 0318 add.w r3, r7, #24 80ca26a: 4611 mov r1, r2 80ca26c: 4618 mov r0, r3 80ca26e: f7ff fac5 bl 80c97fc 80ca272: 4603 mov r3, r0 80ca274: f887 3087 strb.w r3, [r7, #135] ; 0x87 #if !_FS_READONLY /* R/W configuration */ if (res == FR_OK) { 80ca278: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80ca27c: 2b00 cmp r3, #0 80ca27e: d107 bne.n 80ca290 if (dj.fn[NSFLAG] & NS_NONAME) { /* Origin directory itself? */ 80ca280: f897 3063 ldrb.w r3, [r7, #99] ; 0x63 80ca284: b25b sxtb r3, r3 80ca286: 2b00 cmp r3, #0 80ca288: da02 bge.n 80ca290 res = FR_INVALID_NAME; 80ca28a: 2306 movs r3, #6 80ca28c: 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)) { 80ca290: 79fb ldrb r3, [r7, #7] 80ca292: f003 031c and.w r3, r3, #28 80ca296: 2b00 cmp r3, #0 80ca298: f000 8102 beq.w 80ca4a0 if (res != FR_OK) { /* No file, create new */ 80ca29c: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80ca2a0: 2b00 cmp r3, #0 80ca2a2: d010 beq.n 80ca2c6 if (res == FR_NO_FILE) { /* There is no file to open, create a new entry */ 80ca2a4: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80ca2a8: 2b04 cmp r3, #4 80ca2aa: d107 bne.n 80ca2bc #if _FS_LOCK != 0 res = enq_lock() ? dir_register(&dj) : FR_TOO_MANY_OPEN_FILES; #else res = dir_register(&dj); 80ca2ac: f107 0318 add.w r3, r7, #24 80ca2b0: 4618 mov r0, r3 80ca2b2: f7fe fe01 bl 80c8eb8 80ca2b6: 4603 mov r3, r0 80ca2b8: f887 3087 strb.w r3, [r7, #135] ; 0x87 #endif } mode |= FA_CREATE_ALWAYS; /* File is created */ 80ca2bc: 79fb ldrb r3, [r7, #7] 80ca2be: f043 0308 orr.w r3, r3, #8 80ca2c2: 71fb strb r3, [r7, #7] 80ca2c4: e010 b.n 80ca2e8 } else { /* Any object is already existing */ if (dj.obj.attr & (AM_RDO | AM_DIR)) { /* Cannot overwrite it (R/O or DIR) */ 80ca2c6: 7fbb ldrb r3, [r7, #30] 80ca2c8: f003 0311 and.w r3, r3, #17 80ca2cc: 2b00 cmp r3, #0 80ca2ce: d003 beq.n 80ca2d8 res = FR_DENIED; 80ca2d0: 2307 movs r3, #7 80ca2d2: f887 3087 strb.w r3, [r7, #135] ; 0x87 80ca2d6: e007 b.n 80ca2e8 } else { if (mode & FA_CREATE_NEW) res = FR_EXIST; /* Cannot create as new file */ 80ca2d8: 79fb ldrb r3, [r7, #7] 80ca2da: f003 0304 and.w r3, r3, #4 80ca2de: 2b00 cmp r3, #0 80ca2e0: d002 beq.n 80ca2e8 80ca2e2: 2308 movs r3, #8 80ca2e4: f887 3087 strb.w r3, [r7, #135] ; 0x87 } } if (res == FR_OK && (mode & FA_CREATE_ALWAYS)) { /* Truncate it if overwrite mode */ 80ca2e8: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80ca2ec: 2b00 cmp r3, #0 80ca2ee: f040 80f1 bne.w 80ca4d4 80ca2f2: 79fb ldrb r3, [r7, #7] 80ca2f4: f003 0308 and.w r3, r3, #8 80ca2f8: 2b00 cmp r3, #0 80ca2fa: f000 80eb beq.w 80ca4d4 dw = GET_FATTIME(); 80ca2fe: f7f9 fb9d bl 80c3a3c 80ca302: 6778 str r0, [r7, #116] ; 0x74 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80ca304: 697b ldr r3, [r7, #20] 80ca306: 781b ldrb r3, [r3, #0] 80ca308: 2b04 cmp r3, #4 80ca30a: f040 8082 bne.w 80ca412 /* Get current allocation info */ fp->obj.fs = fs; 80ca30e: 697a ldr r2, [r7, #20] 80ca310: 68fb ldr r3, [r7, #12] 80ca312: 601a str r2, [r3, #0] fp->obj.sclust = ld_dword(fs->dirbuf + XDIR_FstClus); 80ca314: 697b ldr r3, [r7, #20] 80ca316: 691b ldr r3, [r3, #16] 80ca318: 3334 adds r3, #52 ; 0x34 80ca31a: 4618 mov r0, r3 80ca31c: f7fc fcb6 bl 80c6c8c 80ca320: 4602 mov r2, r0 80ca322: 68fb ldr r3, [r7, #12] 80ca324: 609a str r2, [r3, #8] fp->obj.objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80ca326: 697b ldr r3, [r7, #20] 80ca328: 691b ldr r3, [r3, #16] 80ca32a: 3338 adds r3, #56 ; 0x38 80ca32c: 4618 mov r0, r3 80ca32e: f7fc fcd0 bl 80c6cd2 80ca332: 4602 mov r2, r0 80ca334: 460b mov r3, r1 80ca336: 68f9 ldr r1, [r7, #12] 80ca338: e9c1 2304 strd r2, r3, [r1, #16] fp->obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; 80ca33c: 697b ldr r3, [r7, #20] 80ca33e: 691b ldr r3, [r3, #16] 80ca340: 3321 adds r3, #33 ; 0x21 80ca342: 781b ldrb r3, [r3, #0] 80ca344: f003 0302 and.w r3, r3, #2 80ca348: b2da uxtb r2, r3 80ca34a: 68fb ldr r3, [r7, #12] 80ca34c: 71da strb r2, [r3, #7] fp->obj.n_frag = 0; 80ca34e: 68fb ldr r3, [r7, #12] 80ca350: 2200 movs r2, #0 80ca352: 61da str r2, [r3, #28] /* Initialize directory entry block */ st_dword(fs->dirbuf + XDIR_CrtTime, dw); /* Set created time */ 80ca354: 697b ldr r3, [r7, #20] 80ca356: 691b ldr r3, [r3, #16] 80ca358: 3308 adds r3, #8 80ca35a: 6f79 ldr r1, [r7, #116] ; 0x74 80ca35c: 4618 mov r0, r3 80ca35e: f7fc fd82 bl 80c6e66 fs->dirbuf[XDIR_CrtTime10] = 0; 80ca362: 697b ldr r3, [r7, #20] 80ca364: 691b ldr r3, [r3, #16] 80ca366: 3314 adds r3, #20 80ca368: 2200 movs r2, #0 80ca36a: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_ModTime, dw); /* Set modified time */ 80ca36c: 697b ldr r3, [r7, #20] 80ca36e: 691b ldr r3, [r3, #16] 80ca370: 330c adds r3, #12 80ca372: 6f79 ldr r1, [r7, #116] ; 0x74 80ca374: 4618 mov r0, r3 80ca376: f7fc fd76 bl 80c6e66 fs->dirbuf[XDIR_ModTime10] = 0; 80ca37a: 697b ldr r3, [r7, #20] 80ca37c: 691b ldr r3, [r3, #16] 80ca37e: 3315 adds r3, #21 80ca380: 2200 movs r2, #0 80ca382: 701a strb r2, [r3, #0] fs->dirbuf[XDIR_Attr] = AM_ARC; /* Reset attribute */ 80ca384: 697b ldr r3, [r7, #20] 80ca386: 691b ldr r3, [r3, #16] 80ca388: 3304 adds r3, #4 80ca38a: 2220 movs r2, #32 80ca38c: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_FstClus, 0); /* Reset file allocation info */ 80ca38e: 697b ldr r3, [r7, #20] 80ca390: 691b ldr r3, [r3, #16] 80ca392: 3334 adds r3, #52 ; 0x34 80ca394: 2100 movs r1, #0 80ca396: 4618 mov r0, r3 80ca398: f7fc fd65 bl 80c6e66 st_qword(fs->dirbuf + XDIR_FileSize, 0); 80ca39c: 697b ldr r3, [r7, #20] 80ca39e: 691b ldr r3, [r3, #16] 80ca3a0: f103 0138 add.w r1, r3, #56 ; 0x38 80ca3a4: f04f 0200 mov.w r2, #0 80ca3a8: f04f 0300 mov.w r3, #0 80ca3ac: 4608 mov r0, r1 80ca3ae: f7fc fd86 bl 80c6ebe st_qword(fs->dirbuf + XDIR_ValidFileSize, 0); 80ca3b2: 697b ldr r3, [r7, #20] 80ca3b4: 691b ldr r3, [r3, #16] 80ca3b6: f103 0128 add.w r1, r3, #40 ; 0x28 80ca3ba: f04f 0200 mov.w r2, #0 80ca3be: f04f 0300 mov.w r3, #0 80ca3c2: 4608 mov r0, r1 80ca3c4: f7fc fd7b bl 80c6ebe fs->dirbuf[XDIR_GenFlags] = 1; 80ca3c8: 697b ldr r3, [r7, #20] 80ca3ca: 691b ldr r3, [r3, #16] 80ca3cc: 3321 adds r3, #33 ; 0x21 80ca3ce: 2201 movs r2, #1 80ca3d0: 701a strb r2, [r3, #0] res = store_xdir(&dj); 80ca3d2: f107 0318 add.w r3, r7, #24 80ca3d6: 4618 mov r0, r3 80ca3d8: f7fe fab4 bl 80c8944 80ca3dc: 4603 mov r3, r0 80ca3de: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (res == FR_OK && fp->obj.sclust) { /* Remove the cluster chain if exist */ 80ca3e2: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80ca3e6: 2b00 cmp r3, #0 80ca3e8: d174 bne.n 80ca4d4 80ca3ea: 68fb ldr r3, [r7, #12] 80ca3ec: 689b ldr r3, [r3, #8] 80ca3ee: 2b00 cmp r3, #0 80ca3f0: d070 beq.n 80ca4d4 res = remove_chain(&fp->obj, fp->obj.sclust, 0); 80ca3f2: 68f8 ldr r0, [r7, #12] 80ca3f4: 68fb ldr r3, [r7, #12] 80ca3f6: 689b ldr r3, [r3, #8] 80ca3f8: 2200 movs r2, #0 80ca3fa: 4619 mov r1, r3 80ca3fc: f7fd fabe bl 80c797c 80ca400: 4603 mov r3, r0 80ca402: f887 3087 strb.w r3, [r7, #135] ; 0x87 fs->last_clst = fp->obj.sclust - 1; /* Reuse the cluster hole */ 80ca406: 697b ldr r3, [r7, #20] 80ca408: 68fa ldr r2, [r7, #12] 80ca40a: 6892 ldr r2, [r2, #8] 80ca40c: 3a01 subs r2, #1 80ca40e: 615a str r2, [r3, #20] 80ca410: e060 b.n 80ca4d4 } } else #endif { /* Clean directory info */ st_dword(dj.dir + DIR_CrtTime, dw); /* Set created time */ 80ca412: 6d7b ldr r3, [r7, #84] ; 0x54 80ca414: 330e adds r3, #14 80ca416: 6f79 ldr r1, [r7, #116] ; 0x74 80ca418: 4618 mov r0, r3 80ca41a: f7fc fd24 bl 80c6e66 st_dword(dj.dir + DIR_ModTime, dw); /* Set modified time */ 80ca41e: 6d7b ldr r3, [r7, #84] ; 0x54 80ca420: 3316 adds r3, #22 80ca422: 6f79 ldr r1, [r7, #116] ; 0x74 80ca424: 4618 mov r0, r3 80ca426: f7fc fd1e bl 80c6e66 dj.dir[DIR_Attr] = AM_ARC; /* Reset attribute */ 80ca42a: 6d7b ldr r3, [r7, #84] ; 0x54 80ca42c: 330b adds r3, #11 80ca42e: 2220 movs r2, #32 80ca430: 701a strb r2, [r3, #0] cl = ld_clust(fs, dj.dir); /* Get cluster chain */ 80ca432: 697b ldr r3, [r7, #20] 80ca434: 6d7a ldr r2, [r7, #84] ; 0x54 80ca436: 4611 mov r1, r2 80ca438: 4618 mov r0, r3 80ca43a: f7fd fe49 bl 80c80d0 80ca43e: 6738 str r0, [r7, #112] ; 0x70 st_clust(fs, dj.dir, 0); /* Reset file allocation info */ 80ca440: 697b ldr r3, [r7, #20] 80ca442: 6d79 ldr r1, [r7, #84] ; 0x54 80ca444: 2200 movs r2, #0 80ca446: 4618 mov r0, r3 80ca448: f7fd fe61 bl 80c810e st_dword(dj.dir + DIR_FileSize, 0); 80ca44c: 6d7b ldr r3, [r7, #84] ; 0x54 80ca44e: 331c adds r3, #28 80ca450: 2100 movs r1, #0 80ca452: 4618 mov r0, r3 80ca454: f7fc fd07 bl 80c6e66 fs->wflag = 1; 80ca458: 697b ldr r3, [r7, #20] 80ca45a: 2201 movs r2, #1 80ca45c: 70da strb r2, [r3, #3] if (cl) { /* Remove the cluster chain if exist */ 80ca45e: 6f3b ldr r3, [r7, #112] ; 0x70 80ca460: 2b00 cmp r3, #0 80ca462: d037 beq.n 80ca4d4 dw = fs->winsect; 80ca464: 697b ldr r3, [r7, #20] 80ca466: 6b5b ldr r3, [r3, #52] ; 0x34 80ca468: 677b str r3, [r7, #116] ; 0x74 res = remove_chain(&dj.obj, cl, 0); 80ca46a: f107 0318 add.w r3, r7, #24 80ca46e: 2200 movs r2, #0 80ca470: 6f39 ldr r1, [r7, #112] ; 0x70 80ca472: 4618 mov r0, r3 80ca474: f7fd fa82 bl 80c797c 80ca478: 4603 mov r3, r0 80ca47a: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (res == FR_OK) { 80ca47e: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80ca482: 2b00 cmp r3, #0 80ca484: d126 bne.n 80ca4d4 res = move_window(fs, dw); 80ca486: 697b ldr r3, [r7, #20] 80ca488: 6f79 ldr r1, [r7, #116] ; 0x74 80ca48a: 4618 mov r0, r3 80ca48c: f7fc fe69 bl 80c7162 80ca490: 4603 mov r3, r0 80ca492: f887 3087 strb.w r3, [r7, #135] ; 0x87 fs->last_clst = cl - 1; /* Reuse the cluster hole */ 80ca496: 697b ldr r3, [r7, #20] 80ca498: 6f3a ldr r2, [r7, #112] ; 0x70 80ca49a: 3a01 subs r2, #1 80ca49c: 615a str r2, [r3, #20] 80ca49e: e019 b.n 80ca4d4 } } } } else { /* Open an existing file */ if (res == FR_OK) { /* Following succeeded */ 80ca4a0: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80ca4a4: 2b00 cmp r3, #0 80ca4a6: d115 bne.n 80ca4d4 if (dj.obj.attr & AM_DIR) { /* It is a directory */ 80ca4a8: 7fbb ldrb r3, [r7, #30] 80ca4aa: f003 0310 and.w r3, r3, #16 80ca4ae: 2b00 cmp r3, #0 80ca4b0: d003 beq.n 80ca4ba res = FR_NO_FILE; 80ca4b2: 2304 movs r3, #4 80ca4b4: f887 3087 strb.w r3, [r7, #135] ; 0x87 80ca4b8: e00c b.n 80ca4d4 } else { if ((mode & FA_WRITE) && (dj.obj.attr & AM_RDO)) { /* R/O violation */ 80ca4ba: 79fb ldrb r3, [r7, #7] 80ca4bc: f003 0302 and.w r3, r3, #2 80ca4c0: 2b00 cmp r3, #0 80ca4c2: d007 beq.n 80ca4d4 80ca4c4: 7fbb ldrb r3, [r7, #30] 80ca4c6: f003 0301 and.w r3, r3, #1 80ca4ca: 2b00 cmp r3, #0 80ca4cc: d002 beq.n 80ca4d4 res = FR_DENIED; 80ca4ce: 2307 movs r3, #7 80ca4d0: f887 3087 strb.w r3, [r7, #135] ; 0x87 } } } } if (res == FR_OK) { 80ca4d4: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80ca4d8: 2b00 cmp r3, #0 80ca4da: d10f bne.n 80ca4fc if (mode & FA_CREATE_ALWAYS) /* Set file change flag if created or overwritten */ 80ca4dc: 79fb ldrb r3, [r7, #7] 80ca4de: f003 0308 and.w r3, r3, #8 80ca4e2: 2b00 cmp r3, #0 80ca4e4: d003 beq.n 80ca4ee mode |= FA_MODIFIED; 80ca4e6: 79fb ldrb r3, [r7, #7] 80ca4e8: f043 0340 orr.w r3, r3, #64 ; 0x40 80ca4ec: 71fb strb r3, [r7, #7] fp->dir_sect = fs->winsect; /* Pointer to the directory entry */ 80ca4ee: 697b ldr r3, [r7, #20] 80ca4f0: 6b5a ldr r2, [r3, #52] ; 0x34 80ca4f2: 68fb ldr r3, [r7, #12] 80ca4f4: 649a str r2, [r3, #72] ; 0x48 fp->dir_ptr = dj.dir; 80ca4f6: 6d7a ldr r2, [r7, #84] ; 0x54 80ca4f8: 68fb ldr r3, [r7, #12] 80ca4fa: 64da str r2, [r3, #76] ; 0x4c } } } #endif if (res == FR_OK) { 80ca4fc: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80ca500: 2b00 cmp r3, #0 80ca502: f040 80dd bne.w 80ca6c0 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80ca506: 697b ldr r3, [r7, #20] 80ca508: 781b ldrb r3, [r3, #0] 80ca50a: 2b04 cmp r3, #4 80ca50c: d12c bne.n 80ca568 fp->obj.c_scl = dj.obj.sclust; /* Get containing directory info */ 80ca50e: 6a3a ldr r2, [r7, #32] 80ca510: 68fb ldr r3, [r7, #12] 80ca512: 621a str r2, [r3, #32] fp->obj.c_size = ((DWORD)dj.obj.objsize & 0xFFFFFF00) | dj.obj.stat; 80ca514: e9d7 230a ldrd r2, r3, [r7, #40] ; 0x28 80ca518: 4613 mov r3, r2 80ca51a: f023 03ff bic.w r3, r3, #255 ; 0xff 80ca51e: 7ffa ldrb r2, [r7, #31] 80ca520: 431a orrs r2, r3 80ca522: 68fb ldr r3, [r7, #12] 80ca524: 625a str r2, [r3, #36] ; 0x24 fp->obj.c_ofs = dj.blk_ofs; 80ca526: 6e7a ldr r2, [r7, #100] ; 0x64 80ca528: 68fb ldr r3, [r7, #12] 80ca52a: 629a str r2, [r3, #40] ; 0x28 fp->obj.sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Get object allocation info */ 80ca52c: 697b ldr r3, [r7, #20] 80ca52e: 691b ldr r3, [r3, #16] 80ca530: 3334 adds r3, #52 ; 0x34 80ca532: 4618 mov r0, r3 80ca534: f7fc fbaa bl 80c6c8c 80ca538: 4602 mov r2, r0 80ca53a: 68fb ldr r3, [r7, #12] 80ca53c: 609a str r2, [r3, #8] fp->obj.objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80ca53e: 697b ldr r3, [r7, #20] 80ca540: 691b ldr r3, [r3, #16] 80ca542: 3338 adds r3, #56 ; 0x38 80ca544: 4618 mov r0, r3 80ca546: f7fc fbc4 bl 80c6cd2 80ca54a: 4602 mov r2, r0 80ca54c: 460b mov r3, r1 80ca54e: 68f9 ldr r1, [r7, #12] 80ca550: e9c1 2304 strd r2, r3, [r1, #16] fp->obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; 80ca554: 697b ldr r3, [r7, #20] 80ca556: 691b ldr r3, [r3, #16] 80ca558: 3321 adds r3, #33 ; 0x21 80ca55a: 781b ldrb r3, [r3, #0] 80ca55c: f003 0302 and.w r3, r3, #2 80ca560: b2da uxtb r2, r3 80ca562: 68fb ldr r3, [r7, #12] 80ca564: 71da strb r2, [r3, #7] 80ca566: e014 b.n 80ca592 } else #endif { fp->obj.sclust = ld_clust(fs, dj.dir); /* Get object allocation info */ 80ca568: 697b ldr r3, [r7, #20] 80ca56a: 6d7a ldr r2, [r7, #84] ; 0x54 80ca56c: 4611 mov r1, r2 80ca56e: 4618 mov r0, r3 80ca570: f7fd fdae bl 80c80d0 80ca574: 4602 mov r2, r0 80ca576: 68fb ldr r3, [r7, #12] 80ca578: 609a str r2, [r3, #8] fp->obj.objsize = ld_dword(dj.dir + DIR_FileSize); 80ca57a: 6d7b ldr r3, [r7, #84] ; 0x54 80ca57c: 331c adds r3, #28 80ca57e: 4618 mov r0, r3 80ca580: f7fc fb84 bl 80c6c8c 80ca584: 4603 mov r3, r0 80ca586: 461a mov r2, r3 80ca588: f04f 0300 mov.w r3, #0 80ca58c: 68f9 ldr r1, [r7, #12] 80ca58e: e9c1 2304 strd r2, r3, [r1, #16] } #if _USE_FASTSEEK fp->cltbl = 0; /* Disable fast seek mode */ 80ca592: 68fb ldr r3, [r7, #12] 80ca594: 2200 movs r2, #0 80ca596: 651a str r2, [r3, #80] ; 0x50 #endif fp->obj.fs = fs; /* Validate the file object */ 80ca598: 697a ldr r2, [r7, #20] 80ca59a: 68fb ldr r3, [r7, #12] 80ca59c: 601a str r2, [r3, #0] fp->obj.id = fs->id; 80ca59e: 697b ldr r3, [r7, #20] 80ca5a0: 88da ldrh r2, [r3, #6] 80ca5a2: 68fb ldr r3, [r7, #12] 80ca5a4: 809a strh r2, [r3, #4] fp->flag = mode; /* Set file access mode */ 80ca5a6: 68fb ldr r3, [r7, #12] 80ca5a8: 79fa ldrb r2, [r7, #7] 80ca5aa: f883 2030 strb.w r2, [r3, #48] ; 0x30 fp->err = 0; /* Clear error flag */ 80ca5ae: 68fb ldr r3, [r7, #12] 80ca5b0: 2200 movs r2, #0 80ca5b2: f883 2031 strb.w r2, [r3, #49] ; 0x31 fp->sect = 0; /* Invalidate current data sector */ 80ca5b6: 68fb ldr r3, [r7, #12] 80ca5b8: 2200 movs r2, #0 80ca5ba: 645a str r2, [r3, #68] ; 0x44 fp->fptr = 0; /* Set file pointer top of the file */ 80ca5bc: 68f9 ldr r1, [r7, #12] 80ca5be: f04f 0200 mov.w r2, #0 80ca5c2: f04f 0300 mov.w r3, #0 80ca5c6: 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 */ 80ca5ca: 79fb ldrb r3, [r7, #7] 80ca5cc: f003 0320 and.w r3, r3, #32 80ca5d0: 2b00 cmp r3, #0 80ca5d2: d075 beq.n 80ca6c0 80ca5d4: 68fb ldr r3, [r7, #12] 80ca5d6: e9d3 2304 ldrd r2, r3, [r3, #16] 80ca5da: 4313 orrs r3, r2 80ca5dc: d070 beq.n 80ca6c0 fp->fptr = fp->obj.objsize; /* Offset to seek */ 80ca5de: 68fb ldr r3, [r7, #12] 80ca5e0: e9d3 2304 ldrd r2, r3, [r3, #16] 80ca5e4: 68f9 ldr r1, [r7, #12] 80ca5e6: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 bcs = (DWORD)fs->csize * SS(fs); /* Cluster size in byte */ 80ca5ea: 697b ldr r3, [r7, #20] 80ca5ec: 895b ldrh r3, [r3, #10] 80ca5ee: 025b lsls r3, r3, #9 80ca5f0: 66fb str r3, [r7, #108] ; 0x6c clst = fp->obj.sclust; /* Follow the cluster chain */ 80ca5f2: 68fb ldr r3, [r7, #12] 80ca5f4: 689b ldr r3, [r3, #8] 80ca5f6: f8c7 3080 str.w r3, [r7, #128] ; 0x80 for (ofs = fp->obj.objsize; res == FR_OK && ofs > bcs; ofs -= bcs) { 80ca5fa: 68fb ldr r3, [r7, #12] 80ca5fc: e9d3 2304 ldrd r2, r3, [r3, #16] 80ca600: e9c7 231e strd r2, r3, [r7, #120] ; 0x78 80ca604: e021 b.n 80ca64a clst = get_fat(&fp->obj, clst); 80ca606: 68fb ldr r3, [r7, #12] 80ca608: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80ca60c: 4618 mov r0, r3 80ca60e: f7fc fe63 bl 80c72d8 80ca612: f8c7 0080 str.w r0, [r7, #128] ; 0x80 if (clst <= 1) res = FR_INT_ERR; 80ca616: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80ca61a: 2b01 cmp r3, #1 80ca61c: d802 bhi.n 80ca624 80ca61e: 2302 movs r3, #2 80ca620: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (clst == 0xFFFFFFFF) res = FR_DISK_ERR; 80ca624: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80ca628: f1b3 3fff cmp.w r3, #4294967295 80ca62c: d102 bne.n 80ca634 80ca62e: 2301 movs r3, #1 80ca630: f887 3087 strb.w r3, [r7, #135] ; 0x87 for (ofs = fp->obj.objsize; res == FR_OK && ofs > bcs; ofs -= bcs) { 80ca634: 6efb ldr r3, [r7, #108] ; 0x6c 80ca636: 461a mov r2, r3 80ca638: f04f 0300 mov.w r3, #0 80ca63c: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 80ca640: 1a82 subs r2, r0, r2 80ca642: eb61 0303 sbc.w r3, r1, r3 80ca646: e9c7 231e strd r2, r3, [r7, #120] ; 0x78 80ca64a: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80ca64e: 2b00 cmp r3, #0 80ca650: d109 bne.n 80ca666 80ca652: 6efb ldr r3, [r7, #108] ; 0x6c 80ca654: 4618 mov r0, r3 80ca656: f04f 0100 mov.w r1, #0 80ca65a: e9d7 231e ldrd r2, r3, [r7, #120] ; 0x78 80ca65e: 4299 cmp r1, r3 80ca660: bf08 it eq 80ca662: 4290 cmpeq r0, r2 80ca664: d3cf bcc.n 80ca606 } fp->clust = clst; 80ca666: 68fb ldr r3, [r7, #12] 80ca668: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80ca66c: 641a str r2, [r3, #64] ; 0x40 if (res == FR_OK && ofs % SS(fs)) { /* Fill sector buffer if not on the sector boundary */ 80ca66e: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80ca672: 2b00 cmp r3, #0 80ca674: d124 bne.n 80ca6c0 80ca676: e9d7 231e ldrd r2, r3, [r7, #120] ; 0x78 80ca67a: f240 10ff movw r0, #511 ; 0x1ff 80ca67e: f04f 0100 mov.w r1, #0 80ca682: ea02 0200 and.w r2, r2, r0 80ca686: ea03 0301 and.w r3, r3, r1 80ca68a: 4313 orrs r3, r2 80ca68c: d018 beq.n 80ca6c0 if ((sc = clust2sect(fs, clst)) == 0) { 80ca68e: 697b ldr r3, [r7, #20] 80ca690: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80ca694: 4618 mov r0, r3 80ca696: f7fc fdff bl 80c7298 80ca69a: 66b8 str r0, [r7, #104] ; 0x68 80ca69c: 6ebb ldr r3, [r7, #104] ; 0x68 80ca69e: 2b00 cmp r3, #0 80ca6a0: d103 bne.n 80ca6aa res = FR_INT_ERR; 80ca6a2: 2302 movs r3, #2 80ca6a4: f887 3087 strb.w r3, [r7, #135] ; 0x87 80ca6a8: e00a b.n 80ca6c0 } else { fp->sect = sc + (DWORD)(ofs / SS(fs)); 80ca6aa: e9d7 231e ldrd r2, r3, [r7, #120] ; 0x78 80ca6ae: 0a54 lsrs r4, r2, #9 80ca6b0: ea44 54c3 orr.w r4, r4, r3, lsl #23 80ca6b4: 0a5d lsrs r5, r3, #9 80ca6b6: 4622 mov r2, r4 80ca6b8: 6ebb ldr r3, [r7, #104] ; 0x68 80ca6ba: 441a add r2, r3 80ca6bc: 68fb ldr r3, [r7, #12] 80ca6be: 645a str r2, [r3, #68] ; 0x44 } FREE_NAMBUF(); } if (res != FR_OK) fp->obj.fs = 0; /* Invalidate file object on error */ 80ca6c0: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80ca6c4: 2b00 cmp r3, #0 80ca6c6: d002 beq.n 80ca6ce 80ca6c8: 68fb ldr r3, [r7, #12] 80ca6ca: 2200 movs r2, #0 80ca6cc: 601a str r2, [r3, #0] LEAVE_FF(fs, res); 80ca6ce: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 } 80ca6d2: 4618 mov r0, r3 80ca6d4: 3788 adds r7, #136 ; 0x88 80ca6d6: 46bd mov sp, r7 80ca6d8: bdb0 pop {r4, r5, r7, pc} 080ca6da : 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 */ ) { 80ca6da: b5b0 push {r4, r5, r7, lr} 80ca6dc: b090 sub sp, #64 ; 0x40 80ca6de: af00 add r7, sp, #0 80ca6e0: 60f8 str r0, [r7, #12] 80ca6e2: 60b9 str r1, [r7, #8] 80ca6e4: 607a str r2, [r7, #4] 80ca6e6: 603b str r3, [r7, #0] FRESULT res; FATFS *fs; DWORD clst, sect; FSIZE_t remain; UINT rcnt, cc, csect; BYTE *rbuff = (BYTE*)buff; 80ca6e8: 68bb ldr r3, [r7, #8] 80ca6ea: 62fb str r3, [r7, #44] ; 0x2c *br = 0; /* Clear read byte counter */ 80ca6ec: 683b ldr r3, [r7, #0] 80ca6ee: 2200 movs r2, #0 80ca6f0: 601a str r2, [r3, #0] res = validate(&fp->obj, &fs); /* Check validity of the file object */ 80ca6f2: 68fb ldr r3, [r7, #12] 80ca6f4: f107 0214 add.w r2, r7, #20 80ca6f8: 4611 mov r1, r2 80ca6fa: 4618 mov r0, r3 80ca6fc: f7ff fd18 bl 80ca130 80ca700: 4603 mov r3, r0 80ca702: f887 303f strb.w r3, [r7, #63] ; 0x3f if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); /* Check validity */ 80ca706: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80ca70a: 2b00 cmp r3, #0 80ca70c: d108 bne.n 80ca720 80ca70e: 68fb ldr r3, [r7, #12] 80ca710: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80ca714: f887 303f strb.w r3, [r7, #63] ; 0x3f 80ca718: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80ca71c: 2b00 cmp r3, #0 80ca71e: d002 beq.n 80ca726 80ca720: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80ca724: e118 b.n 80ca958 if (!(fp->flag & FA_READ)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ 80ca726: 68fb ldr r3, [r7, #12] 80ca728: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80ca72c: f003 0301 and.w r3, r3, #1 80ca730: 2b00 cmp r3, #0 80ca732: d101 bne.n 80ca738 80ca734: 2307 movs r3, #7 80ca736: e10f b.n 80ca958 remain = fp->obj.objsize - fp->fptr; 80ca738: 68fb ldr r3, [r7, #12] 80ca73a: e9d3 0104 ldrd r0, r1, [r3, #16] 80ca73e: 68fb ldr r3, [r7, #12] 80ca740: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80ca744: 1a82 subs r2, r0, r2 80ca746: eb61 0303 sbc.w r3, r1, r3 80ca74a: e9c7 2308 strd r2, r3, [r7, #32] if (btr > remain) btr = (UINT)remain; /* Truncate btr by remaining bytes */ 80ca74e: 687b ldr r3, [r7, #4] 80ca750: 461a mov r2, r3 80ca752: f04f 0300 mov.w r3, #0 80ca756: e9d7 0108 ldrd r0, r1, [r7, #32] 80ca75a: 4299 cmp r1, r3 80ca75c: bf08 it eq 80ca75e: 4290 cmpeq r0, r2 80ca760: f080 80f5 bcs.w 80ca94e 80ca764: 6a3b ldr r3, [r7, #32] 80ca766: 607b str r3, [r7, #4] for ( ; btr; /* Repeat until all data read */ 80ca768: e0f1 b.n 80ca94e rbuff += rcnt, fp->fptr += rcnt, *br += rcnt, btr -= rcnt) { if (fp->fptr % SS(fs) == 0) { /* On the sector boundary? */ 80ca76a: 68fb ldr r3, [r7, #12] 80ca76c: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80ca770: f240 10ff movw r0, #511 ; 0x1ff 80ca774: f04f 0100 mov.w r1, #0 80ca778: ea02 0200 and.w r2, r2, r0 80ca77c: ea03 0301 and.w r3, r3, r1 80ca780: 4313 orrs r3, r2 80ca782: f040 809b bne.w 80ca8bc csect = (UINT)(fp->fptr / SS(fs) & (fs->csize - 1)); /* Sector offset in the cluster */ 80ca786: 68fb ldr r3, [r7, #12] 80ca788: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80ca78c: 0a54 lsrs r4, r2, #9 80ca78e: ea44 54c3 orr.w r4, r4, r3, lsl #23 80ca792: 0a5d lsrs r5, r3, #9 80ca794: 4622 mov r2, r4 80ca796: 697b ldr r3, [r7, #20] 80ca798: 895b ldrh r3, [r3, #10] 80ca79a: 3b01 subs r3, #1 80ca79c: 4013 ands r3, r2 80ca79e: 61fb str r3, [r7, #28] if (csect == 0) { /* On the cluster boundary? */ 80ca7a0: 69fb ldr r3, [r7, #28] 80ca7a2: 2b00 cmp r3, #0 80ca7a4: d132 bne.n 80ca80c if (fp->fptr == 0) { /* On the top of the file? */ 80ca7a6: 68fb ldr r3, [r7, #12] 80ca7a8: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80ca7ac: 4313 orrs r3, r2 80ca7ae: d103 bne.n 80ca7b8 clst = fp->obj.sclust; /* Follow cluster chain from the origin */ 80ca7b0: 68fb ldr r3, [r7, #12] 80ca7b2: 689b ldr r3, [r3, #8] 80ca7b4: 63bb str r3, [r7, #56] ; 0x38 80ca7b6: e013 b.n 80ca7e0 } else { /* Middle or end of the file */ #if _USE_FASTSEEK if (fp->cltbl) { 80ca7b8: 68fb ldr r3, [r7, #12] 80ca7ba: 6d1b ldr r3, [r3, #80] ; 0x50 80ca7bc: 2b00 cmp r3, #0 80ca7be: d007 beq.n 80ca7d0 clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */ 80ca7c0: 68fb ldr r3, [r7, #12] 80ca7c2: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80ca7c6: 68f8 ldr r0, [r7, #12] 80ca7c8: f7fd fa8d bl 80c7ce6 80ca7cc: 63b8 str r0, [r7, #56] ; 0x38 80ca7ce: e007 b.n 80ca7e0 } else #endif { clst = get_fat(&fp->obj, fp->clust); /* Follow cluster chain on the FAT */ 80ca7d0: 68fa ldr r2, [r7, #12] 80ca7d2: 68fb ldr r3, [r7, #12] 80ca7d4: 6c1b ldr r3, [r3, #64] ; 0x40 80ca7d6: 4619 mov r1, r3 80ca7d8: 4610 mov r0, r2 80ca7da: f7fc fd7d bl 80c72d8 80ca7de: 63b8 str r0, [r7, #56] ; 0x38 } } if (clst < 2) ABORT(fs, FR_INT_ERR); 80ca7e0: 6bbb ldr r3, [r7, #56] ; 0x38 80ca7e2: 2b01 cmp r3, #1 80ca7e4: d805 bhi.n 80ca7f2 80ca7e6: 68fb ldr r3, [r7, #12] 80ca7e8: 2202 movs r2, #2 80ca7ea: f883 2031 strb.w r2, [r3, #49] ; 0x31 80ca7ee: 2302 movs r3, #2 80ca7f0: e0b2 b.n 80ca958 if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80ca7f2: 6bbb ldr r3, [r7, #56] ; 0x38 80ca7f4: f1b3 3fff cmp.w r3, #4294967295 80ca7f8: d105 bne.n 80ca806 80ca7fa: 68fb ldr r3, [r7, #12] 80ca7fc: 2201 movs r2, #1 80ca7fe: f883 2031 strb.w r2, [r3, #49] ; 0x31 80ca802: 2301 movs r3, #1 80ca804: e0a8 b.n 80ca958 fp->clust = clst; /* Update current cluster */ 80ca806: 68fb ldr r3, [r7, #12] 80ca808: 6bba ldr r2, [r7, #56] ; 0x38 80ca80a: 641a str r2, [r3, #64] ; 0x40 } sect = clust2sect(fs, fp->clust); /* Get current sector */ 80ca80c: 697a ldr r2, [r7, #20] 80ca80e: 68fb ldr r3, [r7, #12] 80ca810: 6c1b ldr r3, [r3, #64] ; 0x40 80ca812: 4619 mov r1, r3 80ca814: 4610 mov r0, r2 80ca816: f7fc fd3f bl 80c7298 80ca81a: 61b8 str r0, [r7, #24] if (!sect) ABORT(fs, FR_INT_ERR); 80ca81c: 69bb ldr r3, [r7, #24] 80ca81e: 2b00 cmp r3, #0 80ca820: d105 bne.n 80ca82e 80ca822: 68fb ldr r3, [r7, #12] 80ca824: 2202 movs r2, #2 80ca826: f883 2031 strb.w r2, [r3, #49] ; 0x31 80ca82a: 2302 movs r3, #2 80ca82c: e094 b.n 80ca958 sect += csect; 80ca82e: 69ba ldr r2, [r7, #24] 80ca830: 69fb ldr r3, [r7, #28] 80ca832: 4413 add r3, r2 80ca834: 61bb str r3, [r7, #24] cc = btr / SS(fs); /* When remaining bytes >= sector size, */ 80ca836: 687b ldr r3, [r7, #4] 80ca838: 0a5b lsrs r3, r3, #9 80ca83a: 633b str r3, [r7, #48] ; 0x30 if (cc) { /* Read maximum contiguous sectors directly */ 80ca83c: 6b3b ldr r3, [r7, #48] ; 0x30 80ca83e: 2b00 cmp r3, #0 80ca840: d039 beq.n 80ca8b6 if (csect + cc > fs->csize) { /* Clip at cluster boundary */ 80ca842: 69fa ldr r2, [r7, #28] 80ca844: 6b3b ldr r3, [r7, #48] ; 0x30 80ca846: 4413 add r3, r2 80ca848: 697a ldr r2, [r7, #20] 80ca84a: 8952 ldrh r2, [r2, #10] 80ca84c: 4293 cmp r3, r2 80ca84e: d905 bls.n 80ca85c cc = fs->csize - csect; 80ca850: 697b ldr r3, [r7, #20] 80ca852: 895b ldrh r3, [r3, #10] 80ca854: 461a mov r2, r3 80ca856: 69fb ldr r3, [r7, #28] 80ca858: 1ad3 subs r3, r2, r3 80ca85a: 633b str r3, [r7, #48] ; 0x30 } if (disk_read(fs->drv, rbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); 80ca85c: 697b ldr r3, [r7, #20] 80ca85e: 7858 ldrb r0, [r3, #1] 80ca860: 6b3b ldr r3, [r7, #48] ; 0x30 80ca862: 69ba ldr r2, [r7, #24] 80ca864: 6af9 ldr r1, [r7, #44] ; 0x2c 80ca866: f7fc f99b bl 80c6ba0 80ca86a: 4603 mov r3, r0 80ca86c: 2b00 cmp r3, #0 80ca86e: d005 beq.n 80ca87c 80ca870: 68fb ldr r3, [r7, #12] 80ca872: 2201 movs r2, #1 80ca874: f883 2031 strb.w r2, [r3, #49] ; 0x31 80ca878: 2301 movs r3, #1 80ca87a: e06d b.n 80ca958 #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) { 80ca87c: 697b ldr r3, [r7, #20] 80ca87e: 78db ldrb r3, [r3, #3] 80ca880: 2b00 cmp r3, #0 80ca882: d014 beq.n 80ca8ae 80ca884: 697b ldr r3, [r7, #20] 80ca886: 6b5a ldr r2, [r3, #52] ; 0x34 80ca888: 69bb ldr r3, [r7, #24] 80ca88a: 1ad2 subs r2, r2, r3 80ca88c: 6b3b ldr r3, [r7, #48] ; 0x30 80ca88e: 429a cmp r2, r3 80ca890: d20d bcs.n 80ca8ae mem_cpy(rbuff + ((fs->winsect - sect) * SS(fs)), fs->win, SS(fs)); 80ca892: 697b ldr r3, [r7, #20] 80ca894: 6b5a ldr r2, [r3, #52] ; 0x34 80ca896: 69bb ldr r3, [r7, #24] 80ca898: 1ad3 subs r3, r2, r3 80ca89a: 025b lsls r3, r3, #9 80ca89c: 6afa ldr r2, [r7, #44] ; 0x2c 80ca89e: 18d0 adds r0, r2, r3 80ca8a0: 697b ldr r3, [r7, #20] 80ca8a2: 3338 adds r3, #56 ; 0x38 80ca8a4: f44f 7200 mov.w r2, #512 ; 0x200 80ca8a8: 4619 mov r1, r3 80ca8aa: f7fc fb99 bl 80c6fe0 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 */ 80ca8ae: 6b3b ldr r3, [r7, #48] ; 0x30 80ca8b0: 025b lsls r3, r3, #9 80ca8b2: 637b str r3, [r7, #52] ; 0x34 continue; 80ca8b4: e030 b.n 80ca918 } #endif if (disk_read(fs->drv, fp->buf, sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); /* Fill sector cache */ } #endif fp->sect = sect; 80ca8b6: 68fb ldr r3, [r7, #12] 80ca8b8: 69ba ldr r2, [r7, #24] 80ca8ba: 645a str r2, [r3, #68] ; 0x44 } rcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes left in the sector */ 80ca8bc: 68fb ldr r3, [r7, #12] 80ca8be: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80ca8c2: 4613 mov r3, r2 80ca8c4: f3c3 0308 ubfx r3, r3, #0, #9 80ca8c8: f5c3 7300 rsb r3, r3, #512 ; 0x200 80ca8cc: 637b str r3, [r7, #52] ; 0x34 if (rcnt > btr) rcnt = btr; /* Clip it by btr if needed */ 80ca8ce: 6b7a ldr r2, [r7, #52] ; 0x34 80ca8d0: 687b ldr r3, [r7, #4] 80ca8d2: 429a cmp r2, r3 80ca8d4: d901 bls.n 80ca8da 80ca8d6: 687b ldr r3, [r7, #4] 80ca8d8: 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 */ 80ca8da: 697a ldr r2, [r7, #20] 80ca8dc: 68fb ldr r3, [r7, #12] 80ca8de: 6c5b ldr r3, [r3, #68] ; 0x44 80ca8e0: 4619 mov r1, r3 80ca8e2: 4610 mov r0, r2 80ca8e4: f7fc fc3d bl 80c7162 80ca8e8: 4603 mov r3, r0 80ca8ea: 2b00 cmp r3, #0 80ca8ec: d005 beq.n 80ca8fa 80ca8ee: 68fb ldr r3, [r7, #12] 80ca8f0: 2201 movs r2, #1 80ca8f2: f883 2031 strb.w r2, [r3, #49] ; 0x31 80ca8f6: 2301 movs r3, #1 80ca8f8: e02e b.n 80ca958 mem_cpy(rbuff, fs->win + fp->fptr % SS(fs), rcnt); /* Extract partial sector */ 80ca8fa: 697b ldr r3, [r7, #20] 80ca8fc: f103 0138 add.w r1, r3, #56 ; 0x38 80ca900: 68fb ldr r3, [r7, #12] 80ca902: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80ca906: 4613 mov r3, r2 80ca908: f3c3 0308 ubfx r3, r3, #0, #9 80ca90c: 440b add r3, r1 80ca90e: 6b7a ldr r2, [r7, #52] ; 0x34 80ca910: 4619 mov r1, r3 80ca912: 6af8 ldr r0, [r7, #44] ; 0x2c 80ca914: f7fc fb64 bl 80c6fe0 rbuff += rcnt, fp->fptr += rcnt, *br += rcnt, btr -= rcnt) { 80ca918: 6afa ldr r2, [r7, #44] ; 0x2c 80ca91a: 6b7b ldr r3, [r7, #52] ; 0x34 80ca91c: 4413 add r3, r2 80ca91e: 62fb str r3, [r7, #44] ; 0x2c 80ca920: 68fb ldr r3, [r7, #12] 80ca922: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80ca926: 6b7b ldr r3, [r7, #52] ; 0x34 80ca928: 461a mov r2, r3 80ca92a: f04f 0300 mov.w r3, #0 80ca92e: 1812 adds r2, r2, r0 80ca930: eb43 0301 adc.w r3, r3, r1 80ca934: 68f9 ldr r1, [r7, #12] 80ca936: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 80ca93a: 683b ldr r3, [r7, #0] 80ca93c: 681a ldr r2, [r3, #0] 80ca93e: 6b7b ldr r3, [r7, #52] ; 0x34 80ca940: 441a add r2, r3 80ca942: 683b ldr r3, [r7, #0] 80ca944: 601a str r2, [r3, #0] 80ca946: 687a ldr r2, [r7, #4] 80ca948: 6b7b ldr r3, [r7, #52] ; 0x34 80ca94a: 1ad3 subs r3, r2, r3 80ca94c: 607b str r3, [r7, #4] for ( ; btr; /* Repeat until all data read */ 80ca94e: 687b ldr r3, [r7, #4] 80ca950: 2b00 cmp r3, #0 80ca952: f47f af0a bne.w 80ca76a #else mem_cpy(rbuff, fp->buf + fp->fptr % SS(fs), rcnt); /* Extract partial sector */ #endif } LEAVE_FF(fs, FR_OK); 80ca956: 2300 movs r3, #0 } 80ca958: 4618 mov r0, r3 80ca95a: 3740 adds r7, #64 ; 0x40 80ca95c: 46bd mov sp, r7 80ca95e: bdb0 pop {r4, r5, r7, pc} 080ca960 : 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 */ ) { 80ca960: b5b0 push {r4, r5, r7, lr} 80ca962: b08c sub sp, #48 ; 0x30 80ca964: af00 add r7, sp, #0 80ca966: 60f8 str r0, [r7, #12] 80ca968: 60b9 str r1, [r7, #8] 80ca96a: 607a str r2, [r7, #4] 80ca96c: 603b str r3, [r7, #0] FRESULT res; FATFS *fs; DWORD clst, sect; UINT wcnt, cc, csect; const BYTE *wbuff = (const BYTE*)buff; 80ca96e: 68bb ldr r3, [r7, #8] 80ca970: 61fb str r3, [r7, #28] *bw = 0; /* Clear write byte counter */ 80ca972: 683b ldr r3, [r7, #0] 80ca974: 2200 movs r2, #0 80ca976: 601a str r2, [r3, #0] res = validate(&fp->obj, &fs); /* Check validity of the file object */ 80ca978: 68fb ldr r3, [r7, #12] 80ca97a: f107 0210 add.w r2, r7, #16 80ca97e: 4611 mov r1, r2 80ca980: 4618 mov r0, r3 80ca982: f7ff fbd5 bl 80ca130 80ca986: 4603 mov r3, r0 80ca988: f887 302f strb.w r3, [r7, #47] ; 0x2f if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); /* Check validity */ 80ca98c: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80ca990: 2b00 cmp r3, #0 80ca992: d108 bne.n 80ca9a6 80ca994: 68fb ldr r3, [r7, #12] 80ca996: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80ca99a: f887 302f strb.w r3, [r7, #47] ; 0x2f 80ca99e: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80ca9a2: 2b00 cmp r3, #0 80ca9a4: d002 beq.n 80ca9ac 80ca9a6: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80ca9aa: e175 b.n 80cac98 if (!(fp->flag & FA_WRITE)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ 80ca9ac: 68fb ldr r3, [r7, #12] 80ca9ae: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80ca9b2: f003 0302 and.w r3, r3, #2 80ca9b6: 2b00 cmp r3, #0 80ca9b8: d101 bne.n 80ca9be 80ca9ba: 2307 movs r3, #7 80ca9bc: e16c b.n 80cac98 /* 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) { 80ca9be: 693b ldr r3, [r7, #16] 80ca9c0: 781b ldrb r3, [r3, #0] 80ca9c2: 2b04 cmp r3, #4 80ca9c4: f000 8158 beq.w 80cac78 80ca9c8: 68fb ldr r3, [r7, #12] 80ca9ca: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80ca9ce: 687b ldr r3, [r7, #4] 80ca9d0: 18d1 adds r1, r2, r3 80ca9d2: 68fb ldr r3, [r7, #12] 80ca9d4: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80ca9d8: 4613 mov r3, r2 80ca9da: 4299 cmp r1, r3 80ca9dc: f080 814c bcs.w 80cac78 btw = (UINT)(0xFFFFFFFF - (DWORD)fp->fptr); 80ca9e0: 68fb ldr r3, [r7, #12] 80ca9e2: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80ca9e6: 4613 mov r3, r2 80ca9e8: 43db mvns r3, r3 80ca9ea: 607b str r3, [r7, #4] } for ( ; btw; /* Repeat until all data written */ 80ca9ec: e144 b.n 80cac78 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? */ 80ca9ee: 68fb ldr r3, [r7, #12] 80ca9f0: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80ca9f4: f240 10ff movw r0, #511 ; 0x1ff 80ca9f8: f04f 0100 mov.w r1, #0 80ca9fc: ea02 0200 and.w r2, r2, r0 80caa00: ea03 0301 and.w r3, r3, r1 80caa04: 4313 orrs r3, r2 80caa06: f040 80dc bne.w 80cabc2 csect = (UINT)(fp->fptr / SS(fs)) & (fs->csize - 1); /* Sector offset in the cluster */ 80caa0a: 68fb ldr r3, [r7, #12] 80caa0c: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80caa10: 0a54 lsrs r4, r2, #9 80caa12: ea44 54c3 orr.w r4, r4, r3, lsl #23 80caa16: 0a5d lsrs r5, r3, #9 80caa18: 4622 mov r2, r4 80caa1a: 693b ldr r3, [r7, #16] 80caa1c: 895b ldrh r3, [r3, #10] 80caa1e: 3b01 subs r3, #1 80caa20: 4013 ands r3, r2 80caa22: 61bb str r3, [r7, #24] if (csect == 0) { /* On the cluster boundary? */ 80caa24: 69bb ldr r3, [r7, #24] 80caa26: 2b00 cmp r3, #0 80caa28: d146 bne.n 80caab8 if (fp->fptr == 0) { /* On the top of the file? */ 80caa2a: 68fb ldr r3, [r7, #12] 80caa2c: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80caa30: 4313 orrs r3, r2 80caa32: d10c bne.n 80caa4e clst = fp->obj.sclust; /* Follow from the origin */ 80caa34: 68fb ldr r3, [r7, #12] 80caa36: 689b ldr r3, [r3, #8] 80caa38: 62bb str r3, [r7, #40] ; 0x28 if (clst == 0) { /* If no cluster is allocated, */ 80caa3a: 6abb ldr r3, [r7, #40] ; 0x28 80caa3c: 2b00 cmp r3, #0 80caa3e: d11a bne.n 80caa76 clst = create_chain(&fp->obj, 0); /* create a new cluster chain */ 80caa40: 68fb ldr r3, [r7, #12] 80caa42: 2100 movs r1, #0 80caa44: 4618 mov r0, r3 80caa46: f7fd f84d bl 80c7ae4 80caa4a: 62b8 str r0, [r7, #40] ; 0x28 80caa4c: e013 b.n 80caa76 } } else { /* On the middle or end of the file */ #if _USE_FASTSEEK if (fp->cltbl) { 80caa4e: 68fb ldr r3, [r7, #12] 80caa50: 6d1b ldr r3, [r3, #80] ; 0x50 80caa52: 2b00 cmp r3, #0 80caa54: d007 beq.n 80caa66 clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */ 80caa56: 68fb ldr r3, [r7, #12] 80caa58: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80caa5c: 68f8 ldr r0, [r7, #12] 80caa5e: f7fd f942 bl 80c7ce6 80caa62: 62b8 str r0, [r7, #40] ; 0x28 80caa64: e007 b.n 80caa76 } else #endif { clst = create_chain(&fp->obj, fp->clust); /* Follow or stretch cluster chain on the FAT */ 80caa66: 68fa ldr r2, [r7, #12] 80caa68: 68fb ldr r3, [r7, #12] 80caa6a: 6c1b ldr r3, [r3, #64] ; 0x40 80caa6c: 4619 mov r1, r3 80caa6e: 4610 mov r0, r2 80caa70: f7fd f838 bl 80c7ae4 80caa74: 62b8 str r0, [r7, #40] ; 0x28 } } if (clst == 0) break; /* Could not allocate a new cluster (disk full) */ 80caa76: 6abb ldr r3, [r7, #40] ; 0x28 80caa78: 2b00 cmp r3, #0 80caa7a: f000 8102 beq.w 80cac82 if (clst == 1) ABORT(fs, FR_INT_ERR); 80caa7e: 6abb ldr r3, [r7, #40] ; 0x28 80caa80: 2b01 cmp r3, #1 80caa82: d105 bne.n 80caa90 80caa84: 68fb ldr r3, [r7, #12] 80caa86: 2202 movs r2, #2 80caa88: f883 2031 strb.w r2, [r3, #49] ; 0x31 80caa8c: 2302 movs r3, #2 80caa8e: e103 b.n 80cac98 if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80caa90: 6abb ldr r3, [r7, #40] ; 0x28 80caa92: f1b3 3fff cmp.w r3, #4294967295 80caa96: d105 bne.n 80caaa4 80caa98: 68fb ldr r3, [r7, #12] 80caa9a: 2201 movs r2, #1 80caa9c: f883 2031 strb.w r2, [r3, #49] ; 0x31 80caaa0: 2301 movs r3, #1 80caaa2: e0f9 b.n 80cac98 fp->clust = clst; /* Update current cluster */ 80caaa4: 68fb ldr r3, [r7, #12] 80caaa6: 6aba ldr r2, [r7, #40] ; 0x28 80caaa8: 641a str r2, [r3, #64] ; 0x40 if (fp->obj.sclust == 0) fp->obj.sclust = clst; /* Set start cluster if the first write */ 80caaaa: 68fb ldr r3, [r7, #12] 80caaac: 689b ldr r3, [r3, #8] 80caaae: 2b00 cmp r3, #0 80caab0: d102 bne.n 80caab8 80caab2: 68fb ldr r3, [r7, #12] 80caab4: 6aba ldr r2, [r7, #40] ; 0x28 80caab6: 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 */ 80caab8: 693b ldr r3, [r7, #16] 80caaba: 6b5a ldr r2, [r3, #52] ; 0x34 80caabc: 68fb ldr r3, [r7, #12] 80caabe: 6c5b ldr r3, [r3, #68] ; 0x44 80caac0: 429a cmp r2, r3 80caac2: d10c bne.n 80caade 80caac4: 693b ldr r3, [r7, #16] 80caac6: 4618 mov r0, r3 80caac8: f7fc fb07 bl 80c70da 80caacc: 4603 mov r3, r0 80caace: 2b00 cmp r3, #0 80caad0: d005 beq.n 80caade 80caad2: 68fb ldr r3, [r7, #12] 80caad4: 2201 movs r2, #1 80caad6: f883 2031 strb.w r2, [r3, #49] ; 0x31 80caada: 2301 movs r3, #1 80caadc: e0dc b.n 80cac98 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 */ 80caade: 693a ldr r2, [r7, #16] 80caae0: 68fb ldr r3, [r7, #12] 80caae2: 6c1b ldr r3, [r3, #64] ; 0x40 80caae4: 4619 mov r1, r3 80caae6: 4610 mov r0, r2 80caae8: f7fc fbd6 bl 80c7298 80caaec: 6178 str r0, [r7, #20] if (!sect) ABORT(fs, FR_INT_ERR); 80caaee: 697b ldr r3, [r7, #20] 80caaf0: 2b00 cmp r3, #0 80caaf2: d105 bne.n 80cab00 80caaf4: 68fb ldr r3, [r7, #12] 80caaf6: 2202 movs r2, #2 80caaf8: f883 2031 strb.w r2, [r3, #49] ; 0x31 80caafc: 2302 movs r3, #2 80caafe: e0cb b.n 80cac98 sect += csect; 80cab00: 697a ldr r2, [r7, #20] 80cab02: 69bb ldr r3, [r7, #24] 80cab04: 4413 add r3, r2 80cab06: 617b str r3, [r7, #20] cc = btw / SS(fs); /* When remaining bytes >= sector size, */ 80cab08: 687b ldr r3, [r7, #4] 80cab0a: 0a5b lsrs r3, r3, #9 80cab0c: 623b str r3, [r7, #32] if (cc) { /* Write maximum contiguous sectors directly */ 80cab0e: 6a3b ldr r3, [r7, #32] 80cab10: 2b00 cmp r3, #0 80cab12: d039 beq.n 80cab88 if (csect + cc > fs->csize) { /* Clip at cluster boundary */ 80cab14: 69ba ldr r2, [r7, #24] 80cab16: 6a3b ldr r3, [r7, #32] 80cab18: 4413 add r3, r2 80cab1a: 693a ldr r2, [r7, #16] 80cab1c: 8952 ldrh r2, [r2, #10] 80cab1e: 4293 cmp r3, r2 80cab20: d905 bls.n 80cab2e cc = fs->csize - csect; 80cab22: 693b ldr r3, [r7, #16] 80cab24: 895b ldrh r3, [r3, #10] 80cab26: 461a mov r2, r3 80cab28: 69bb ldr r3, [r7, #24] 80cab2a: 1ad3 subs r3, r2, r3 80cab2c: 623b str r3, [r7, #32] } if (disk_write(fs->drv, wbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); 80cab2e: 693b ldr r3, [r7, #16] 80cab30: 7858 ldrb r0, [r3, #1] 80cab32: 6a3b ldr r3, [r7, #32] 80cab34: 697a ldr r2, [r7, #20] 80cab36: 69f9 ldr r1, [r7, #28] 80cab38: f7fc f852 bl 80c6be0 80cab3c: 4603 mov r3, r0 80cab3e: 2b00 cmp r3, #0 80cab40: d005 beq.n 80cab4e 80cab42: 68fb ldr r3, [r7, #12] 80cab44: 2201 movs r2, #1 80cab46: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cab4a: 2301 movs r3, #1 80cab4c: e0a4 b.n 80cac98 #if _FS_MINIMIZE <= 2 #if _FS_TINY if (fs->winsect - sect < cc) { /* Refill sector cache if it gets invalidated by the direct write */ 80cab4e: 693b ldr r3, [r7, #16] 80cab50: 6b5a ldr r2, [r3, #52] ; 0x34 80cab52: 697b ldr r3, [r7, #20] 80cab54: 1ad2 subs r2, r2, r3 80cab56: 6a3b ldr r3, [r7, #32] 80cab58: 429a cmp r2, r3 80cab5a: d211 bcs.n 80cab80 mem_cpy(fs->win, wbuff + ((fs->winsect - sect) * SS(fs)), SS(fs)); 80cab5c: 693b ldr r3, [r7, #16] 80cab5e: f103 0038 add.w r0, r3, #56 ; 0x38 80cab62: 693b ldr r3, [r7, #16] 80cab64: 6b5a ldr r2, [r3, #52] ; 0x34 80cab66: 697b ldr r3, [r7, #20] 80cab68: 1ad3 subs r3, r2, r3 80cab6a: 025b lsls r3, r3, #9 80cab6c: 69fa ldr r2, [r7, #28] 80cab6e: 4413 add r3, r2 80cab70: f44f 7200 mov.w r2, #512 ; 0x200 80cab74: 4619 mov r1, r3 80cab76: f7fc fa33 bl 80c6fe0 fs->wflag = 0; 80cab7a: 693b ldr r3, [r7, #16] 80cab7c: 2200 movs r2, #0 80cab7e: 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 */ 80cab80: 6a3b ldr r3, [r7, #32] 80cab82: 025b lsls r3, r3, #9 80cab84: 627b str r3, [r7, #36] ; 0x24 continue; 80cab86: e04d b.n 80cac24 } #if _FS_TINY if (fp->fptr >= fp->obj.objsize) { /* Avoid silly cache filling on the growing edge */ 80cab88: 68fb ldr r3, [r7, #12] 80cab8a: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80cab8e: 68fb ldr r3, [r7, #12] 80cab90: e9d3 2304 ldrd r2, r3, [r3, #16] 80cab94: 4299 cmp r1, r3 80cab96: bf08 it eq 80cab98: 4290 cmpeq r0, r2 80cab9a: d30f bcc.n 80cabbc if (sync_window(fs) != FR_OK) ABORT(fs, FR_DISK_ERR); 80cab9c: 693b ldr r3, [r7, #16] 80cab9e: 4618 mov r0, r3 80caba0: f7fc fa9b bl 80c70da 80caba4: 4603 mov r3, r0 80caba6: 2b00 cmp r3, #0 80caba8: d005 beq.n 80cabb6 80cabaa: 68fb ldr r3, [r7, #12] 80cabac: 2201 movs r2, #1 80cabae: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cabb2: 2301 movs r3, #1 80cabb4: e070 b.n 80cac98 fs->winsect = sect; 80cabb6: 693b ldr r3, [r7, #16] 80cabb8: 697a ldr r2, [r7, #20] 80cabba: 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; 80cabbc: 68fb ldr r3, [r7, #12] 80cabbe: 697a ldr r2, [r7, #20] 80cabc0: 645a str r2, [r3, #68] ; 0x44 } wcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes left in the sector */ 80cabc2: 68fb ldr r3, [r7, #12] 80cabc4: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cabc8: 4613 mov r3, r2 80cabca: f3c3 0308 ubfx r3, r3, #0, #9 80cabce: f5c3 7300 rsb r3, r3, #512 ; 0x200 80cabd2: 627b str r3, [r7, #36] ; 0x24 if (wcnt > btw) wcnt = btw; /* Clip it by btw if needed */ 80cabd4: 6a7a ldr r2, [r7, #36] ; 0x24 80cabd6: 687b ldr r3, [r7, #4] 80cabd8: 429a cmp r2, r3 80cabda: d901 bls.n 80cabe0 80cabdc: 687b ldr r3, [r7, #4] 80cabde: 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 */ 80cabe0: 693a ldr r2, [r7, #16] 80cabe2: 68fb ldr r3, [r7, #12] 80cabe4: 6c5b ldr r3, [r3, #68] ; 0x44 80cabe6: 4619 mov r1, r3 80cabe8: 4610 mov r0, r2 80cabea: f7fc faba bl 80c7162 80cabee: 4603 mov r3, r0 80cabf0: 2b00 cmp r3, #0 80cabf2: d005 beq.n 80cac00 80cabf4: 68fb ldr r3, [r7, #12] 80cabf6: 2201 movs r2, #1 80cabf8: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cabfc: 2301 movs r3, #1 80cabfe: e04b b.n 80cac98 mem_cpy(fs->win + fp->fptr % SS(fs), wbuff, wcnt); /* Fit data to the sector */ 80cac00: 693b ldr r3, [r7, #16] 80cac02: f103 0138 add.w r1, r3, #56 ; 0x38 80cac06: 68fb ldr r3, [r7, #12] 80cac08: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cac0c: 4613 mov r3, r2 80cac0e: f3c3 0308 ubfx r3, r3, #0, #9 80cac12: 440b add r3, r1 80cac14: 6a7a ldr r2, [r7, #36] ; 0x24 80cac16: 69f9 ldr r1, [r7, #28] 80cac18: 4618 mov r0, r3 80cac1a: f7fc f9e1 bl 80c6fe0 fs->wflag = 1; 80cac1e: 693b ldr r3, [r7, #16] 80cac20: 2201 movs r2, #1 80cac22: 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) { 80cac24: 69fa ldr r2, [r7, #28] 80cac26: 6a7b ldr r3, [r7, #36] ; 0x24 80cac28: 4413 add r3, r2 80cac2a: 61fb str r3, [r7, #28] 80cac2c: 68fb ldr r3, [r7, #12] 80cac2e: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80cac32: 6a7b ldr r3, [r7, #36] ; 0x24 80cac34: 461a mov r2, r3 80cac36: f04f 0300 mov.w r3, #0 80cac3a: 1812 adds r2, r2, r0 80cac3c: eb43 0301 adc.w r3, r3, r1 80cac40: 68f9 ldr r1, [r7, #12] 80cac42: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 80cac46: 68fb ldr r3, [r7, #12] 80cac48: e9d3 2304 ldrd r2, r3, [r3, #16] 80cac4c: 68f9 ldr r1, [r7, #12] 80cac4e: e9d1 010e ldrd r0, r1, [r1, #56] ; 0x38 80cac52: 428b cmp r3, r1 80cac54: bf08 it eq 80cac56: 4282 cmpeq r2, r0 80cac58: d201 bcs.n 80cac5e 80cac5a: 4602 mov r2, r0 80cac5c: 460b mov r3, r1 80cac5e: 68f9 ldr r1, [r7, #12] 80cac60: e9c1 2304 strd r2, r3, [r1, #16] 80cac64: 683b ldr r3, [r7, #0] 80cac66: 681a ldr r2, [r3, #0] 80cac68: 6a7b ldr r3, [r7, #36] ; 0x24 80cac6a: 441a add r2, r3 80cac6c: 683b ldr r3, [r7, #0] 80cac6e: 601a str r2, [r3, #0] 80cac70: 687a ldr r2, [r7, #4] 80cac72: 6a7b ldr r3, [r7, #36] ; 0x24 80cac74: 1ad3 subs r3, r2, r3 80cac76: 607b str r3, [r7, #4] for ( ; btw; /* Repeat until all data written */ 80cac78: 687b ldr r3, [r7, #4] 80cac7a: 2b00 cmp r3, #0 80cac7c: f47f aeb7 bne.w 80ca9ee 80cac80: e000 b.n 80cac84 if (clst == 0) break; /* Could not allocate a new cluster (disk full) */ 80cac82: 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 */ 80cac84: 68fb ldr r3, [r7, #12] 80cac86: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cac8a: f043 0340 orr.w r3, r3, #64 ; 0x40 80cac8e: b2da uxtb r2, r3 80cac90: 68fb ldr r3, [r7, #12] 80cac92: f883 2030 strb.w r2, [r3, #48] ; 0x30 LEAVE_FF(fs, FR_OK); 80cac96: 2300 movs r3, #0 } 80cac98: 4618 mov r0, r3 80cac9a: 3730 adds r7, #48 ; 0x30 80cac9c: 46bd mov sp, r7 80cac9e: bdb0 pop {r4, r5, r7, pc} 080caca0 : /*-----------------------------------------------------------------------*/ FRESULT f_sync ( FIL* fp /* Pointer to the file object */ ) { 80caca0: b590 push {r4, r7, lr} 80caca2: b09b sub sp, #108 ; 0x6c 80caca4: af00 add r7, sp, #0 80caca6: 6078 str r0, [r7, #4] #if _FS_EXFAT DIR dj; DEF_NAMBUF #endif res = validate(&fp->obj, &fs); /* Check validity of the file object */ 80caca8: 687b ldr r3, [r7, #4] 80cacaa: f107 0258 add.w r2, r7, #88 ; 0x58 80cacae: 4611 mov r1, r2 80cacb0: 4618 mov r0, r3 80cacb2: f7ff fa3d bl 80ca130 80cacb6: 4603 mov r3, r0 80cacb8: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80cacbc: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cacc0: 2b00 cmp r3, #0 80cacc2: f040 80eb bne.w 80cae9c if (fp->flag & FA_MODIFIED) { /* Is there any change to the file? */ 80cacc6: 687b ldr r3, [r7, #4] 80cacc8: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80caccc: f003 0340 and.w r3, r3, #64 ; 0x40 80cacd0: 2b00 cmp r3, #0 80cacd2: f000 80e3 beq.w 80cae9c 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 */ 80cacd6: f7f8 feb1 bl 80c3a3c 80cacda: 6638 str r0, [r7, #96] ; 0x60 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80cacdc: 6dbb ldr r3, [r7, #88] ; 0x58 80cacde: 781b ldrb r3, [r3, #0] 80cace0: 2b04 cmp r3, #4 80cace2: f040 8090 bne.w 80cae06 res = fill_first_frag(&fp->obj); /* Fill first fragment on the FAT if needed */ 80cace6: 687b ldr r3, [r7, #4] 80cace8: 4618 mov r0, r3 80cacea: f7fc fde7 bl 80c78bc 80cacee: 4603 mov r3, r0 80cacf0: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80cacf4: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cacf8: 2b00 cmp r3, #0 80cacfa: d10a bne.n 80cad12 res = fill_last_frag(&fp->obj, fp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ 80cacfc: 6878 ldr r0, [r7, #4] 80cacfe: 687b ldr r3, [r7, #4] 80cad00: 6c1b ldr r3, [r3, #64] ; 0x40 80cad02: f04f 32ff mov.w r2, #4294967295 80cad06: 4619 mov r1, r3 80cad08: f7fc fe07 bl 80c791a 80cad0c: 4603 mov r3, r0 80cad0e: f887 3067 strb.w r3, [r7, #103] ; 0x67 } if (res == FR_OK) { 80cad12: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cad16: 2b00 cmp r3, #0 80cad18: f040 80c0 bne.w 80cae9c INIT_NAMBUF(fs); res = load_obj_dir(&dj, &fp->obj); /* Load directory entry block */ 80cad1c: 687a ldr r2, [r7, #4] 80cad1e: f107 0308 add.w r3, r7, #8 80cad22: 4611 mov r1, r2 80cad24: 4618 mov r0, r3 80cad26: f7fd fdd3 bl 80c88d0 80cad2a: 4603 mov r3, r0 80cad2c: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80cad30: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cad34: 2b00 cmp r3, #0 80cad36: f040 80b1 bne.w 80cae9c fs->dirbuf[XDIR_Attr] |= AM_ARC; /* Set archive bit */ 80cad3a: 6dbb ldr r3, [r7, #88] ; 0x58 80cad3c: 691b ldr r3, [r3, #16] 80cad3e: 3304 adds r3, #4 80cad40: 6dba ldr r2, [r7, #88] ; 0x58 80cad42: 6912 ldr r2, [r2, #16] 80cad44: 3204 adds r2, #4 80cad46: 7812 ldrb r2, [r2, #0] 80cad48: f042 0220 orr.w r2, r2, #32 80cad4c: b2d2 uxtb r2, r2 80cad4e: 701a strb r2, [r3, #0] fs->dirbuf[XDIR_GenFlags] = fp->obj.stat | 1; /* Update file allocation info */ 80cad50: 6dbb ldr r3, [r7, #88] ; 0x58 80cad52: 691b ldr r3, [r3, #16] 80cad54: 3321 adds r3, #33 ; 0x21 80cad56: 687a ldr r2, [r7, #4] 80cad58: 79d2 ldrb r2, [r2, #7] 80cad5a: f042 0201 orr.w r2, r2, #1 80cad5e: b2d2 uxtb r2, r2 80cad60: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_FstClus, fp->obj.sclust); 80cad62: 6dbb ldr r3, [r7, #88] ; 0x58 80cad64: 691b ldr r3, [r3, #16] 80cad66: f103 0234 add.w r2, r3, #52 ; 0x34 80cad6a: 687b ldr r3, [r7, #4] 80cad6c: 689b ldr r3, [r3, #8] 80cad6e: 4619 mov r1, r3 80cad70: 4610 mov r0, r2 80cad72: f7fc f878 bl 80c6e66 st_qword(fs->dirbuf + XDIR_FileSize, fp->obj.objsize); 80cad76: 6dbb ldr r3, [r7, #88] ; 0x58 80cad78: 691b ldr r3, [r3, #16] 80cad7a: f103 0138 add.w r1, r3, #56 ; 0x38 80cad7e: 687b ldr r3, [r7, #4] 80cad80: e9d3 3404 ldrd r3, r4, [r3, #16] 80cad84: 461a mov r2, r3 80cad86: 4623 mov r3, r4 80cad88: 4608 mov r0, r1 80cad8a: f7fc f898 bl 80c6ebe st_qword(fs->dirbuf + XDIR_ValidFileSize, fp->obj.objsize); 80cad8e: 6dbb ldr r3, [r7, #88] ; 0x58 80cad90: 691b ldr r3, [r3, #16] 80cad92: f103 0128 add.w r1, r3, #40 ; 0x28 80cad96: 687b ldr r3, [r7, #4] 80cad98: e9d3 3404 ldrd r3, r4, [r3, #16] 80cad9c: 461a mov r2, r3 80cad9e: 4623 mov r3, r4 80cada0: 4608 mov r0, r1 80cada2: f7fc f88c bl 80c6ebe st_dword(fs->dirbuf + XDIR_ModTime, tm); /* Update modified time */ 80cada6: 6dbb ldr r3, [r7, #88] ; 0x58 80cada8: 691b ldr r3, [r3, #16] 80cadaa: 330c adds r3, #12 80cadac: 6e39 ldr r1, [r7, #96] ; 0x60 80cadae: 4618 mov r0, r3 80cadb0: f7fc f859 bl 80c6e66 fs->dirbuf[XDIR_ModTime10] = 0; 80cadb4: 6dbb ldr r3, [r7, #88] ; 0x58 80cadb6: 691b ldr r3, [r3, #16] 80cadb8: 3315 adds r3, #21 80cadba: 2200 movs r2, #0 80cadbc: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_AccTime, 0); 80cadbe: 6dbb ldr r3, [r7, #88] ; 0x58 80cadc0: 691b ldr r3, [r3, #16] 80cadc2: 3310 adds r3, #16 80cadc4: 2100 movs r1, #0 80cadc6: 4618 mov r0, r3 80cadc8: f7fc f84d bl 80c6e66 res = store_xdir(&dj); /* Restore it to the directory */ 80cadcc: f107 0308 add.w r3, r7, #8 80cadd0: 4618 mov r0, r3 80cadd2: f7fd fdb7 bl 80c8944 80cadd6: 4603 mov r3, r0 80cadd8: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80caddc: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cade0: 2b00 cmp r3, #0 80cade2: d15b bne.n 80cae9c res = sync_fs(fs); 80cade4: 6dbb ldr r3, [r7, #88] ; 0x58 80cade6: 4618 mov r0, r3 80cade8: f7fc f9e8 bl 80c71bc 80cadec: 4603 mov r3, r0 80cadee: f887 3067 strb.w r3, [r7, #103] ; 0x67 fp->flag &= (BYTE)~FA_MODIFIED; 80cadf2: 687b ldr r3, [r7, #4] 80cadf4: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cadf8: f023 0340 bic.w r3, r3, #64 ; 0x40 80cadfc: b2da uxtb r2, r3 80cadfe: 687b ldr r3, [r7, #4] 80cae00: f883 2030 strb.w r2, [r3, #48] ; 0x30 80cae04: e04a b.n 80cae9c FREE_NAMBUF(); } } else #endif { res = move_window(fs, fp->dir_sect); 80cae06: 6dba ldr r2, [r7, #88] ; 0x58 80cae08: 687b ldr r3, [r7, #4] 80cae0a: 6c9b ldr r3, [r3, #72] ; 0x48 80cae0c: 4619 mov r1, r3 80cae0e: 4610 mov r0, r2 80cae10: f7fc f9a7 bl 80c7162 80cae14: 4603 mov r3, r0 80cae16: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80cae1a: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cae1e: 2b00 cmp r3, #0 80cae20: d13c bne.n 80cae9c dir = fp->dir_ptr; 80cae22: 687b ldr r3, [r7, #4] 80cae24: 6cdb ldr r3, [r3, #76] ; 0x4c 80cae26: 65fb str r3, [r7, #92] ; 0x5c dir[DIR_Attr] |= AM_ARC; /* Set archive bit */ 80cae28: 6dfb ldr r3, [r7, #92] ; 0x5c 80cae2a: 330b adds r3, #11 80cae2c: 6dfa ldr r2, [r7, #92] ; 0x5c 80cae2e: 320b adds r2, #11 80cae30: 7812 ldrb r2, [r2, #0] 80cae32: f042 0220 orr.w r2, r2, #32 80cae36: b2d2 uxtb r2, r2 80cae38: 701a strb r2, [r3, #0] st_clust(fp->obj.fs, dir, fp->obj.sclust); /* Update file allocation info */ 80cae3a: 687b ldr r3, [r7, #4] 80cae3c: 6818 ldr r0, [r3, #0] 80cae3e: 687b ldr r3, [r7, #4] 80cae40: 689b ldr r3, [r3, #8] 80cae42: 461a mov r2, r3 80cae44: 6df9 ldr r1, [r7, #92] ; 0x5c 80cae46: f7fd f962 bl 80c810e st_dword(dir + DIR_FileSize, (DWORD)fp->obj.objsize); /* Update file size */ 80cae4a: 6dfb ldr r3, [r7, #92] ; 0x5c 80cae4c: f103 021c add.w r2, r3, #28 80cae50: 687b ldr r3, [r7, #4] 80cae52: e9d3 3404 ldrd r3, r4, [r3, #16] 80cae56: 4619 mov r1, r3 80cae58: 4610 mov r0, r2 80cae5a: f7fc f804 bl 80c6e66 st_dword(dir + DIR_ModTime, tm); /* Update modified time */ 80cae5e: 6dfb ldr r3, [r7, #92] ; 0x5c 80cae60: 3316 adds r3, #22 80cae62: 6e39 ldr r1, [r7, #96] ; 0x60 80cae64: 4618 mov r0, r3 80cae66: f7fb fffe bl 80c6e66 st_word(dir + DIR_LstAccDate, 0); 80cae6a: 6dfb ldr r3, [r7, #92] ; 0x5c 80cae6c: 3312 adds r3, #18 80cae6e: 2100 movs r1, #0 80cae70: 4618 mov r0, r3 80cae72: f7fb ffdd bl 80c6e30 fs->wflag = 1; 80cae76: 6dbb ldr r3, [r7, #88] ; 0x58 80cae78: 2201 movs r2, #1 80cae7a: 70da strb r2, [r3, #3] res = sync_fs(fs); /* Restore it to the directory */ 80cae7c: 6dbb ldr r3, [r7, #88] ; 0x58 80cae7e: 4618 mov r0, r3 80cae80: f7fc f99c bl 80c71bc 80cae84: 4603 mov r3, r0 80cae86: f887 3067 strb.w r3, [r7, #103] ; 0x67 fp->flag &= (BYTE)~FA_MODIFIED; 80cae8a: 687b ldr r3, [r7, #4] 80cae8c: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cae90: f023 0340 bic.w r3, r3, #64 ; 0x40 80cae94: b2da uxtb r2, r3 80cae96: 687b ldr r3, [r7, #4] 80cae98: f883 2030 strb.w r2, [r3, #48] ; 0x30 } } } } LEAVE_FF(fs, res); 80cae9c: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 } 80caea0: 4618 mov r0, r3 80caea2: 376c adds r7, #108 ; 0x6c 80caea4: 46bd mov sp, r7 80caea6: bd90 pop {r4, r7, pc} 080caea8 : /*-----------------------------------------------------------------------*/ FRESULT f_close ( FIL* fp /* Pointer to the file object to be closed */ ) { 80caea8: b580 push {r7, lr} 80caeaa: b084 sub sp, #16 80caeac: af00 add r7, sp, #0 80caeae: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs; #if !_FS_READONLY res = f_sync(fp); /* Flush cached data */ 80caeb0: 6878 ldr r0, [r7, #4] 80caeb2: f7ff fef5 bl 80caca0 80caeb6: 4603 mov r3, r0 80caeb8: 73fb strb r3, [r7, #15] if (res == FR_OK) 80caeba: 7bfb ldrb r3, [r7, #15] 80caebc: 2b00 cmp r3, #0 80caebe: d10e bne.n 80caede #endif { res = validate(&fp->obj, &fs); /* Lock volume */ 80caec0: 687b ldr r3, [r7, #4] 80caec2: f107 0208 add.w r2, r7, #8 80caec6: 4611 mov r1, r2 80caec8: 4618 mov r0, r3 80caeca: f7ff f931 bl 80ca130 80caece: 4603 mov r3, r0 80caed0: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80caed2: 7bfb ldrb r3, [r7, #15] 80caed4: 2b00 cmp r3, #0 80caed6: d102 bne.n 80caede #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 */ 80caed8: 687b ldr r3, [r7, #4] 80caeda: 2200 movs r2, #0 80caedc: 601a str r2, [r3, #0] #if _FS_REENTRANT unlock_fs(fs, FR_OK); /* Unlock volume */ #endif } } return res; 80caede: 7bfb ldrb r3, [r7, #15] } 80caee0: 4618 mov r0, r3 80caee2: 3710 adds r7, #16 80caee4: 46bd mov sp, r7 80caee6: bd80 pop {r7, pc} 080caee8 : FRESULT f_lseek ( FIL* fp, /* Pointer to the file object */ FSIZE_t ofs /* File pointer from top of file */ ) { 80caee8: e92d 43b0 stmdb sp!, {r4, r5, r7, r8, r9, lr} 80caeec: b094 sub sp, #80 ; 0x50 80caeee: af00 add r7, sp, #0 80caef0: 60f8 str r0, [r7, #12] 80caef2: 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 */ 80caef6: 68fb ldr r3, [r7, #12] 80caef8: f107 0210 add.w r2, r7, #16 80caefc: 4611 mov r1, r2 80caefe: 4618 mov r0, r3 80caf00: f7ff f916 bl 80ca130 80caf04: 4603 mov r3, r0 80caf06: f887 304f strb.w r3, [r7, #79] ; 0x4f if (res == FR_OK) res = (FRESULT)fp->err; 80caf0a: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80caf0e: 2b00 cmp r3, #0 80caf10: d104 bne.n 80caf1c 80caf12: 68fb ldr r3, [r7, #12] 80caf14: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80caf18: f887 304f strb.w r3, [r7, #79] ; 0x4f #if _FS_EXFAT && !_FS_READONLY if (res == FR_OK && fs->fs_type == FS_EXFAT) { 80caf1c: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80caf20: 2b00 cmp r3, #0 80caf22: d10e bne.n 80caf42 80caf24: 693b ldr r3, [r7, #16] 80caf26: 781b ldrb r3, [r3, #0] 80caf28: 2b04 cmp r3, #4 80caf2a: d10a bne.n 80caf42 res = fill_last_frag(&fp->obj, fp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ 80caf2c: 68f8 ldr r0, [r7, #12] 80caf2e: 68fb ldr r3, [r7, #12] 80caf30: 6c1b ldr r3, [r3, #64] ; 0x40 80caf32: f04f 32ff mov.w r2, #4294967295 80caf36: 4619 mov r1, r3 80caf38: f7fc fcef bl 80c791a 80caf3c: 4603 mov r3, r0 80caf3e: f887 304f strb.w r3, [r7, #79] ; 0x4f } #endif if (res != FR_OK) LEAVE_FF(fs, res); 80caf42: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80caf46: 2b00 cmp r3, #0 80caf48: d002 beq.n 80caf50 80caf4a: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80caf4e: e24f b.n 80cb3f0 #if _USE_FASTSEEK if (fp->cltbl) { /* Fast seek */ 80caf50: 68fb ldr r3, [r7, #12] 80caf52: 6d1b ldr r3, [r3, #80] ; 0x50 80caf54: 2b00 cmp r3, #0 80caf56: f000 80c8 beq.w 80cb0ea if (ofs == CREATE_LINKMAP) { /* Create CLMT */ 80caf5a: e897 0018 ldmia.w r7, {r3, r4} 80caf5e: f1b4 3fff cmp.w r4, #4294967295 80caf62: bf08 it eq 80caf64: f1b3 3fff cmpeq.w r3, #4294967295 80caf68: d15c bne.n 80cb024 tbl = fp->cltbl; 80caf6a: 68fb ldr r3, [r7, #12] 80caf6c: 6d1b ldr r3, [r3, #80] ; 0x50 80caf6e: 637b str r3, [r7, #52] ; 0x34 tlen = *tbl++; ulen = 2; /* Given table size and required table size */ 80caf70: 6b7b ldr r3, [r7, #52] ; 0x34 80caf72: 1d1a adds r2, r3, #4 80caf74: 637a str r2, [r7, #52] ; 0x34 80caf76: 681b ldr r3, [r3, #0] 80caf78: 633b str r3, [r7, #48] ; 0x30 80caf7a: 2302 movs r3, #2 80caf7c: 63bb str r3, [r7, #56] ; 0x38 cl = fp->obj.sclust; /* Origin of the chain */ 80caf7e: 68fb ldr r3, [r7, #12] 80caf80: 689b ldr r3, [r3, #8] 80caf82: 643b str r3, [r7, #64] ; 0x40 if (cl) { 80caf84: 6c3b ldr r3, [r7, #64] ; 0x40 80caf86: 2b00 cmp r3, #0 80caf88: d03c beq.n 80cb004 do { /* Get a fragment */ tcl = cl; ncl = 0; ulen += 2; /* Top, length and used items */ 80caf8a: 6c3b ldr r3, [r7, #64] ; 0x40 80caf8c: 62fb str r3, [r7, #44] ; 0x2c 80caf8e: 2300 movs r3, #0 80caf90: 63fb str r3, [r7, #60] ; 0x3c 80caf92: 6bbb ldr r3, [r7, #56] ; 0x38 80caf94: 3302 adds r3, #2 80caf96: 63bb str r3, [r7, #56] ; 0x38 do { pcl = cl; ncl++; 80caf98: 6c3b ldr r3, [r7, #64] ; 0x40 80caf9a: 62bb str r3, [r7, #40] ; 0x28 80caf9c: 6bfb ldr r3, [r7, #60] ; 0x3c 80caf9e: 3301 adds r3, #1 80cafa0: 63fb str r3, [r7, #60] ; 0x3c cl = get_fat(&fp->obj, cl); 80cafa2: 68fb ldr r3, [r7, #12] 80cafa4: 6c39 ldr r1, [r7, #64] ; 0x40 80cafa6: 4618 mov r0, r3 80cafa8: f7fc f996 bl 80c72d8 80cafac: 6438 str r0, [r7, #64] ; 0x40 if (cl <= 1) ABORT(fs, FR_INT_ERR); 80cafae: 6c3b ldr r3, [r7, #64] ; 0x40 80cafb0: 2b01 cmp r3, #1 80cafb2: d805 bhi.n 80cafc0 80cafb4: 68fb ldr r3, [r7, #12] 80cafb6: 2202 movs r2, #2 80cafb8: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cafbc: 2302 movs r3, #2 80cafbe: e217 b.n 80cb3f0 if (cl == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80cafc0: 6c3b ldr r3, [r7, #64] ; 0x40 80cafc2: f1b3 3fff cmp.w r3, #4294967295 80cafc6: d105 bne.n 80cafd4 80cafc8: 68fb ldr r3, [r7, #12] 80cafca: 2201 movs r2, #1 80cafcc: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cafd0: 2301 movs r3, #1 80cafd2: e20d b.n 80cb3f0 } while (cl == pcl + 1); 80cafd4: 6abb ldr r3, [r7, #40] ; 0x28 80cafd6: 1c5a adds r2, r3, #1 80cafd8: 6c3b ldr r3, [r7, #64] ; 0x40 80cafda: 429a cmp r2, r3 80cafdc: d0dc beq.n 80caf98 if (ulen <= tlen) { /* Store the length and top of the fragment */ 80cafde: 6bba ldr r2, [r7, #56] ; 0x38 80cafe0: 6b3b ldr r3, [r7, #48] ; 0x30 80cafe2: 429a cmp r2, r3 80cafe4: d809 bhi.n 80caffa *tbl++ = ncl; *tbl++ = tcl; 80cafe6: 6b7b ldr r3, [r7, #52] ; 0x34 80cafe8: 1d1a adds r2, r3, #4 80cafea: 637a str r2, [r7, #52] ; 0x34 80cafec: 6bfa ldr r2, [r7, #60] ; 0x3c 80cafee: 601a str r2, [r3, #0] 80caff0: 6b7b ldr r3, [r7, #52] ; 0x34 80caff2: 1d1a adds r2, r3, #4 80caff4: 637a str r2, [r7, #52] ; 0x34 80caff6: 6afa ldr r2, [r7, #44] ; 0x2c 80caff8: 601a str r2, [r3, #0] } } while (cl < fs->n_fatent); /* Repeat until end of chain */ 80caffa: 693b ldr r3, [r7, #16] 80caffc: 69da ldr r2, [r3, #28] 80caffe: 6c3b ldr r3, [r7, #64] ; 0x40 80cb000: 429a cmp r2, r3 80cb002: d8c2 bhi.n 80caf8a } *fp->cltbl = ulen; /* Number of items used */ 80cb004: 68fb ldr r3, [r7, #12] 80cb006: 6d1b ldr r3, [r3, #80] ; 0x50 80cb008: 6bba ldr r2, [r7, #56] ; 0x38 80cb00a: 601a str r2, [r3, #0] if (ulen <= tlen) { 80cb00c: 6bba ldr r2, [r7, #56] ; 0x38 80cb00e: 6b3b ldr r3, [r7, #48] ; 0x30 80cb010: 429a cmp r2, r3 80cb012: d803 bhi.n 80cb01c *tbl = 0; /* Terminate table */ 80cb014: 6b7b ldr r3, [r7, #52] ; 0x34 80cb016: 2200 movs r2, #0 80cb018: 601a str r2, [r3, #0] 80cb01a: e1e7 b.n 80cb3ec } else { res = FR_NOT_ENOUGH_CORE; /* Given table size is smaller than required */ 80cb01c: 2311 movs r3, #17 80cb01e: f887 304f strb.w r3, [r7, #79] ; 0x4f 80cb022: e1e3 b.n 80cb3ec } } else { /* Fast seek */ if (ofs > fp->obj.objsize) ofs = fp->obj.objsize; /* Clip offset at the file size */ 80cb024: 68fb ldr r3, [r7, #12] 80cb026: e9d3 1204 ldrd r1, r2, [r3, #16] 80cb02a: e897 0018 ldmia.w r7, {r3, r4} 80cb02e: 42a2 cmp r2, r4 80cb030: bf08 it eq 80cb032: 4299 cmpeq r1, r3 80cb034: d204 bcs.n 80cb040 80cb036: 68fb ldr r3, [r7, #12] 80cb038: e9d3 3404 ldrd r3, r4, [r3, #16] 80cb03c: e887 0018 stmia.w r7, {r3, r4} fp->fptr = ofs; /* Set file pointer */ 80cb040: 68fa ldr r2, [r7, #12] 80cb042: e897 0018 ldmia.w r7, {r3, r4} 80cb046: e9c2 340e strd r3, r4, [r2, #56] ; 0x38 if (ofs) { 80cb04a: e897 0018 ldmia.w r7, {r3, r4} 80cb04e: 4323 orrs r3, r4 80cb050: f000 81cc beq.w 80cb3ec fp->clust = clmt_clust(fp, ofs - 1); 80cb054: e897 0018 ldmia.w r7, {r3, r4} 80cb058: f113 33ff adds.w r3, r3, #4294967295 80cb05c: f144 34ff adc.w r4, r4, #4294967295 80cb060: 461a mov r2, r3 80cb062: 4623 mov r3, r4 80cb064: 68f8 ldr r0, [r7, #12] 80cb066: f7fc fe3e bl 80c7ce6 80cb06a: 4602 mov r2, r0 80cb06c: 68fb ldr r3, [r7, #12] 80cb06e: 641a str r2, [r3, #64] ; 0x40 dsc = clust2sect(fs, fp->clust); 80cb070: 693a ldr r2, [r7, #16] 80cb072: 68fb ldr r3, [r7, #12] 80cb074: 6c1b ldr r3, [r3, #64] ; 0x40 80cb076: 4619 mov r1, r3 80cb078: 4610 mov r0, r2 80cb07a: f7fc f90d bl 80c7298 80cb07e: 6278 str r0, [r7, #36] ; 0x24 if (!dsc) ABORT(fs, FR_INT_ERR); 80cb080: 6a7b ldr r3, [r7, #36] ; 0x24 80cb082: 2b00 cmp r3, #0 80cb084: d105 bne.n 80cb092 80cb086: 68fb ldr r3, [r7, #12] 80cb088: 2202 movs r2, #2 80cb08a: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb08e: 2302 movs r3, #2 80cb090: e1ae b.n 80cb3f0 dsc += (DWORD)((ofs - 1) / SS(fs)) & (fs->csize - 1); 80cb092: e897 0018 ldmia.w r7, {r3, r4} 80cb096: f113 33ff adds.w r3, r3, #4294967295 80cb09a: f144 34ff adc.w r4, r4, #4294967295 80cb09e: ea4f 2853 mov.w r8, r3, lsr #9 80cb0a2: ea48 58c4 orr.w r8, r8, r4, lsl #23 80cb0a6: ea4f 2954 mov.w r9, r4, lsr #9 80cb0aa: 4642 mov r2, r8 80cb0ac: 693b ldr r3, [r7, #16] 80cb0ae: 895b ldrh r3, [r3, #10] 80cb0b0: 3b01 subs r3, #1 80cb0b2: 4013 ands r3, r2 80cb0b4: 6a7a ldr r2, [r7, #36] ; 0x24 80cb0b6: 4413 add r3, r2 80cb0b8: 627b str r3, [r7, #36] ; 0x24 if (fp->fptr % SS(fs) && dsc != fp->sect) { /* Refill sector cache if needed */ 80cb0ba: 68fb ldr r3, [r7, #12] 80cb0bc: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80cb0c0: f240 11ff movw r1, #511 ; 0x1ff 80cb0c4: f04f 0200 mov.w r2, #0 80cb0c8: ea03 0301 and.w r3, r3, r1 80cb0cc: ea04 0402 and.w r4, r4, r2 80cb0d0: 4323 orrs r3, r4 80cb0d2: f000 818b beq.w 80cb3ec 80cb0d6: 68fb ldr r3, [r7, #12] 80cb0d8: 6c5a ldr r2, [r3, #68] ; 0x44 80cb0da: 6a7b ldr r3, [r7, #36] ; 0x24 80cb0dc: 429a cmp r2, r3 80cb0de: f000 8185 beq.w 80cb3ec 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; 80cb0e2: 68fb ldr r3, [r7, #12] 80cb0e4: 6a7a ldr r2, [r7, #36] ; 0x24 80cb0e6: 645a str r2, [r3, #68] ; 0x44 80cb0e8: e180 b.n 80cb3ec #endif /* Normal Seek */ { #if _FS_EXFAT if (fs->fs_type != FS_EXFAT && ofs >= 0x100000000) ofs = 0xFFFFFFFF; /* Clip at 4GiB-1 if at FATxx */ 80cb0ea: 693b ldr r3, [r7, #16] 80cb0ec: 781b ldrb r3, [r3, #0] 80cb0ee: 2b04 cmp r3, #4 80cb0f0: d00b beq.n 80cb10a 80cb0f2: e9d7 2300 ldrd r2, r3, [r7] 80cb0f6: 2b01 cmp r3, #1 80cb0f8: bf08 it eq 80cb0fa: 2a00 cmpeq r2, #0 80cb0fc: d305 bcc.n 80cb10a 80cb0fe: f04f 32ff mov.w r2, #4294967295 80cb102: f04f 0300 mov.w r3, #0 80cb106: 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 */ 80cb10a: 68fb ldr r3, [r7, #12] 80cb10c: e9d3 0104 ldrd r0, r1, [r3, #16] 80cb110: e9d7 2300 ldrd r2, r3, [r7] 80cb114: 4299 cmp r1, r3 80cb116: bf08 it eq 80cb118: 4290 cmpeq r0, r2 80cb11a: d20b bcs.n 80cb134 80cb11c: 68fb ldr r3, [r7, #12] 80cb11e: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cb122: f003 0302 and.w r3, r3, #2 80cb126: 2b00 cmp r3, #0 80cb128: d104 bne.n 80cb134 ofs = fp->obj.objsize; 80cb12a: 68fb ldr r3, [r7, #12] 80cb12c: e9d3 2304 ldrd r2, r3, [r3, #16] 80cb130: e9c7 2300 strd r2, r3, [r7] } ifptr = fp->fptr; 80cb134: 68fb ldr r3, [r7, #12] 80cb136: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb13a: e9c7 2306 strd r2, r3, [r7, #24] fp->fptr = nsect = 0; 80cb13e: 2300 movs r3, #0 80cb140: 647b str r3, [r7, #68] ; 0x44 80cb142: 68f9 ldr r1, [r7, #12] 80cb144: f04f 0200 mov.w r2, #0 80cb148: f04f 0300 mov.w r3, #0 80cb14c: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 if (ofs) { 80cb150: e9d7 2300 ldrd r2, r3, [r7] 80cb154: 4313 orrs r3, r2 80cb156: f000 811b beq.w 80cb390 bcs = (DWORD)fs->csize * SS(fs); /* Cluster size (byte) */ 80cb15a: 693b ldr r3, [r7, #16] 80cb15c: 895b ldrh r3, [r3, #10] 80cb15e: 025b lsls r3, r3, #9 80cb160: 617b str r3, [r7, #20] if (ifptr > 0 && 80cb162: e9d7 2306 ldrd r2, r3, [r7, #24] 80cb166: 4313 orrs r3, r2 80cb168: d045 beq.n 80cb1f6 (ofs - 1) / bcs >= (ifptr - 1) / bcs) { /* When seek to same or following cluster, */ 80cb16a: e9d7 2300 ldrd r2, r3, [r7] 80cb16e: f112 30ff adds.w r0, r2, #4294967295 80cb172: f143 31ff adc.w r1, r3, #4294967295 80cb176: 697b ldr r3, [r7, #20] 80cb178: 461a mov r2, r3 80cb17a: f04f 0300 mov.w r3, #0 80cb17e: f755 fa35 bl 80205ec <__aeabi_uldivmod> 80cb182: 4602 mov r2, r0 80cb184: 460b mov r3, r1 80cb186: 4690 mov r8, r2 80cb188: 4699 mov r9, r3 80cb18a: e9d7 2306 ldrd r2, r3, [r7, #24] 80cb18e: f112 30ff adds.w r0, r2, #4294967295 80cb192: f143 31ff adc.w r1, r3, #4294967295 80cb196: 697b ldr r3, [r7, #20] 80cb198: 461a mov r2, r3 80cb19a: f04f 0300 mov.w r3, #0 80cb19e: f755 fa25 bl 80205ec <__aeabi_uldivmod> 80cb1a2: 4602 mov r2, r0 80cb1a4: 460b mov r3, r1 if (ifptr > 0 && 80cb1a6: 4599 cmp r9, r3 80cb1a8: bf08 it eq 80cb1aa: 4590 cmpeq r8, r2 80cb1ac: d323 bcc.n 80cb1f6 fp->fptr = (ifptr - 1) & ~(FSIZE_t)(bcs - 1); /* start from the current cluster */ 80cb1ae: e9d7 2306 ldrd r2, r3, [r7, #24] 80cb1b2: f112 30ff adds.w r0, r2, #4294967295 80cb1b6: f143 31ff adc.w r1, r3, #4294967295 80cb1ba: 697b ldr r3, [r7, #20] 80cb1bc: 3b01 subs r3, #1 80cb1be: 461a mov r2, r3 80cb1c0: f04f 0300 mov.w r3, #0 80cb1c4: ea6f 0202 mvn.w r2, r2 80cb1c8: ea6f 0303 mvn.w r3, r3 80cb1cc: ea02 0200 and.w r2, r2, r0 80cb1d0: ea03 0301 and.w r3, r3, r1 80cb1d4: 68f9 ldr r1, [r7, #12] 80cb1d6: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 ofs -= fp->fptr; 80cb1da: 68fb ldr r3, [r7, #12] 80cb1dc: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb1e0: e9d7 0100 ldrd r0, r1, [r7] 80cb1e4: 1a82 subs r2, r0, r2 80cb1e6: eb61 0303 sbc.w r3, r1, r3 80cb1ea: e9c7 2300 strd r2, r3, [r7] clst = fp->clust; 80cb1ee: 68fb ldr r3, [r7, #12] 80cb1f0: 6c1b ldr r3, [r3, #64] ; 0x40 80cb1f2: 64bb str r3, [r7, #72] ; 0x48 80cb1f4: e024 b.n 80cb240 } else { /* When seek to back cluster, */ clst = fp->obj.sclust; /* start from the first cluster */ 80cb1f6: 68fb ldr r3, [r7, #12] 80cb1f8: 689b ldr r3, [r3, #8] 80cb1fa: 64bb str r3, [r7, #72] ; 0x48 #if !_FS_READONLY if (clst == 0) { /* If no cluster chain, create a new chain */ 80cb1fc: 6cbb ldr r3, [r7, #72] ; 0x48 80cb1fe: 2b00 cmp r3, #0 80cb200: d11b bne.n 80cb23a clst = create_chain(&fp->obj, 0); 80cb202: 68fb ldr r3, [r7, #12] 80cb204: 2100 movs r1, #0 80cb206: 4618 mov r0, r3 80cb208: f7fc fc6c bl 80c7ae4 80cb20c: 64b8 str r0, [r7, #72] ; 0x48 if (clst == 1) ABORT(fs, FR_INT_ERR); 80cb20e: 6cbb ldr r3, [r7, #72] ; 0x48 80cb210: 2b01 cmp r3, #1 80cb212: d105 bne.n 80cb220 80cb214: 68fb ldr r3, [r7, #12] 80cb216: 2202 movs r2, #2 80cb218: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb21c: 2302 movs r3, #2 80cb21e: e0e7 b.n 80cb3f0 if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80cb220: 6cbb ldr r3, [r7, #72] ; 0x48 80cb222: f1b3 3fff cmp.w r3, #4294967295 80cb226: d105 bne.n 80cb234 80cb228: 68fb ldr r3, [r7, #12] 80cb22a: 2201 movs r2, #1 80cb22c: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb230: 2301 movs r3, #1 80cb232: e0dd b.n 80cb3f0 fp->obj.sclust = clst; 80cb234: 68fb ldr r3, [r7, #12] 80cb236: 6cba ldr r2, [r7, #72] ; 0x48 80cb238: 609a str r2, [r3, #8] } #endif fp->clust = clst; 80cb23a: 68fb ldr r3, [r7, #12] 80cb23c: 6cba ldr r2, [r7, #72] ; 0x48 80cb23e: 641a str r2, [r3, #64] ; 0x40 } if (clst != 0) { 80cb240: 6cbb ldr r3, [r7, #72] ; 0x48 80cb242: 2b00 cmp r3, #0 80cb244: f000 80a4 beq.w 80cb390 while (ofs > bcs) { /* Cluster following loop */ 80cb248: e068 b.n 80cb31c ofs -= bcs; fp->fptr += bcs; 80cb24a: 697b ldr r3, [r7, #20] 80cb24c: 461a mov r2, r3 80cb24e: f04f 0300 mov.w r3, #0 80cb252: e9d7 0100 ldrd r0, r1, [r7] 80cb256: 1a82 subs r2, r0, r2 80cb258: eb61 0303 sbc.w r3, r1, r3 80cb25c: e9c7 2300 strd r2, r3, [r7] 80cb260: 68fb ldr r3, [r7, #12] 80cb262: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80cb266: 697b ldr r3, [r7, #20] 80cb268: 461a mov r2, r3 80cb26a: f04f 0300 mov.w r3, #0 80cb26e: 1812 adds r2, r2, r0 80cb270: eb43 0301 adc.w r3, r3, r1 80cb274: 68f9 ldr r1, [r7, #12] 80cb276: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 #if !_FS_READONLY if (fp->flag & FA_WRITE) { /* Check if in write mode or not */ 80cb27a: 68fb ldr r3, [r7, #12] 80cb27c: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cb280: f003 0302 and.w r3, r3, #2 80cb284: 2b00 cmp r3, #0 80cb286: d028 beq.n 80cb2da if (_FS_EXFAT && fp->fptr > fp->obj.objsize) { /* No FAT chain object needs correct objsize to generate FAT value */ 80cb288: 68fb ldr r3, [r7, #12] 80cb28a: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb28e: 68f9 ldr r1, [r7, #12] 80cb290: e9d1 0104 ldrd r0, r1, [r1, #16] 80cb294: 4299 cmp r1, r3 80cb296: bf08 it eq 80cb298: 4290 cmpeq r0, r2 80cb29a: d20e bcs.n 80cb2ba fp->obj.objsize = fp->fptr; 80cb29c: 68fb ldr r3, [r7, #12] 80cb29e: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80cb2a2: 68f9 ldr r1, [r7, #12] 80cb2a4: e9c1 2304 strd r2, r3, [r1, #16] fp->flag |= FA_MODIFIED; 80cb2a8: 68fb ldr r3, [r7, #12] 80cb2aa: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cb2ae: f043 0340 orr.w r3, r3, #64 ; 0x40 80cb2b2: b2da uxtb r2, r3 80cb2b4: 68fb ldr r3, [r7, #12] 80cb2b6: f883 2030 strb.w r2, [r3, #48] ; 0x30 } clst = create_chain(&fp->obj, clst); /* Follow chain with forceed stretch */ 80cb2ba: 68fb ldr r3, [r7, #12] 80cb2bc: 6cb9 ldr r1, [r7, #72] ; 0x48 80cb2be: 4618 mov r0, r3 80cb2c0: f7fc fc10 bl 80c7ae4 80cb2c4: 64b8 str r0, [r7, #72] ; 0x48 if (clst == 0) { /* Clip file size in case of disk full */ 80cb2c6: 6cbb ldr r3, [r7, #72] ; 0x48 80cb2c8: 2b00 cmp r3, #0 80cb2ca: d10c bne.n 80cb2e6 ofs = 0; break; 80cb2cc: f04f 0200 mov.w r2, #0 80cb2d0: f04f 0300 mov.w r3, #0 80cb2d4: e9c7 2300 strd r2, r3, [r7] 80cb2d8: e02a b.n 80cb330 } } else #endif { clst = get_fat(&fp->obj, clst); /* Follow cluster chain if not in write mode */ 80cb2da: 68fb ldr r3, [r7, #12] 80cb2dc: 6cb9 ldr r1, [r7, #72] ; 0x48 80cb2de: 4618 mov r0, r3 80cb2e0: f7fb fffa bl 80c72d8 80cb2e4: 64b8 str r0, [r7, #72] ; 0x48 } if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80cb2e6: 6cbb ldr r3, [r7, #72] ; 0x48 80cb2e8: f1b3 3fff cmp.w r3, #4294967295 80cb2ec: d105 bne.n 80cb2fa 80cb2ee: 68fb ldr r3, [r7, #12] 80cb2f0: 2201 movs r2, #1 80cb2f2: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb2f6: 2301 movs r3, #1 80cb2f8: e07a b.n 80cb3f0 if (clst <= 1 || clst >= fs->n_fatent) ABORT(fs, FR_INT_ERR); 80cb2fa: 6cbb ldr r3, [r7, #72] ; 0x48 80cb2fc: 2b01 cmp r3, #1 80cb2fe: d904 bls.n 80cb30a 80cb300: 693b ldr r3, [r7, #16] 80cb302: 69da ldr r2, [r3, #28] 80cb304: 6cbb ldr r3, [r7, #72] ; 0x48 80cb306: 429a cmp r2, r3 80cb308: d805 bhi.n 80cb316 80cb30a: 68fb ldr r3, [r7, #12] 80cb30c: 2202 movs r2, #2 80cb30e: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb312: 2302 movs r3, #2 80cb314: e06c b.n 80cb3f0 fp->clust = clst; 80cb316: 68fb ldr r3, [r7, #12] 80cb318: 6cba ldr r2, [r7, #72] ; 0x48 80cb31a: 641a str r2, [r3, #64] ; 0x40 while (ofs > bcs) { /* Cluster following loop */ 80cb31c: 697b ldr r3, [r7, #20] 80cb31e: 4618 mov r0, r3 80cb320: f04f 0100 mov.w r1, #0 80cb324: e9d7 2300 ldrd r2, r3, [r7] 80cb328: 4299 cmp r1, r3 80cb32a: bf08 it eq 80cb32c: 4290 cmpeq r0, r2 80cb32e: d38c bcc.n 80cb24a } fp->fptr += ofs; 80cb330: 68fb ldr r3, [r7, #12] 80cb332: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80cb336: e9d7 2300 ldrd r2, r3, [r7] 80cb33a: 1812 adds r2, r2, r0 80cb33c: eb43 0301 adc.w r3, r3, r1 80cb340: 68f9 ldr r1, [r7, #12] 80cb342: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 if (ofs % SS(fs)) { 80cb346: e9d7 2300 ldrd r2, r3, [r7] 80cb34a: f240 10ff movw r0, #511 ; 0x1ff 80cb34e: f04f 0100 mov.w r1, #0 80cb352: ea02 0200 and.w r2, r2, r0 80cb356: ea03 0301 and.w r3, r3, r1 80cb35a: 4313 orrs r3, r2 80cb35c: d018 beq.n 80cb390 nsect = clust2sect(fs, clst); /* Current sector */ 80cb35e: 693b ldr r3, [r7, #16] 80cb360: 6cb9 ldr r1, [r7, #72] ; 0x48 80cb362: 4618 mov r0, r3 80cb364: f7fb ff98 bl 80c7298 80cb368: 6478 str r0, [r7, #68] ; 0x44 if (!nsect) ABORT(fs, FR_INT_ERR); 80cb36a: 6c7b ldr r3, [r7, #68] ; 0x44 80cb36c: 2b00 cmp r3, #0 80cb36e: d105 bne.n 80cb37c 80cb370: 68fb ldr r3, [r7, #12] 80cb372: 2202 movs r2, #2 80cb374: f883 2031 strb.w r2, [r3, #49] ; 0x31 80cb378: 2302 movs r3, #2 80cb37a: e039 b.n 80cb3f0 nsect += (DWORD)(ofs / SS(fs)); 80cb37c: e9d7 2300 ldrd r2, r3, [r7] 80cb380: 0a54 lsrs r4, r2, #9 80cb382: ea44 54c3 orr.w r4, r4, r3, lsl #23 80cb386: 0a5d lsrs r5, r3, #9 80cb388: 4622 mov r2, r4 80cb38a: 6c7b ldr r3, [r7, #68] ; 0x44 80cb38c: 4413 add r3, r2 80cb38e: 647b str r3, [r7, #68] ; 0x44 } } } if (!_FS_READONLY && fp->fptr > fp->obj.objsize) { /* Set file change flag if the file size is extended */ 80cb390: 68fb ldr r3, [r7, #12] 80cb392: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80cb396: 68fa ldr r2, [r7, #12] 80cb398: e9d2 1204 ldrd r1, r2, [r2, #16] 80cb39c: 42a2 cmp r2, r4 80cb39e: bf08 it eq 80cb3a0: 4299 cmpeq r1, r3 80cb3a2: d20e bcs.n 80cb3c2 fp->obj.objsize = fp->fptr; 80cb3a4: 68fb ldr r3, [r7, #12] 80cb3a6: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80cb3aa: 68fa ldr r2, [r7, #12] 80cb3ac: e9c2 3404 strd r3, r4, [r2, #16] fp->flag |= FA_MODIFIED; 80cb3b0: 68fb ldr r3, [r7, #12] 80cb3b2: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80cb3b6: f043 0340 orr.w r3, r3, #64 ; 0x40 80cb3ba: b2da uxtb r2, r3 80cb3bc: 68fb ldr r3, [r7, #12] 80cb3be: f883 2030 strb.w r2, [r3, #48] ; 0x30 } if (fp->fptr % SS(fs) && nsect != fp->sect) { /* Fill sector cache if needed */ 80cb3c2: 68fb ldr r3, [r7, #12] 80cb3c4: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80cb3c8: f240 11ff movw r1, #511 ; 0x1ff 80cb3cc: f04f 0200 mov.w r2, #0 80cb3d0: ea03 0301 and.w r3, r3, r1 80cb3d4: ea04 0402 and.w r4, r4, r2 80cb3d8: 4323 orrs r3, r4 80cb3da: d007 beq.n 80cb3ec 80cb3dc: 68fb ldr r3, [r7, #12] 80cb3de: 6c5a ldr r2, [r3, #68] ; 0x44 80cb3e0: 6c7b ldr r3, [r7, #68] ; 0x44 80cb3e2: 429a cmp r2, r3 80cb3e4: d002 beq.n 80cb3ec 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; 80cb3e6: 68fb ldr r3, [r7, #12] 80cb3e8: 6c7a ldr r2, [r7, #68] ; 0x44 80cb3ea: 645a str r2, [r3, #68] ; 0x44 } } LEAVE_FF(fs, res); 80cb3ec: f897 304f ldrb.w r3, [r7, #79] ; 0x4f } 80cb3f0: 4618 mov r0, r3 80cb3f2: 3750 adds r7, #80 ; 0x50 80cb3f4: 46bd mov sp, r7 80cb3f6: e8bd 83b0 ldmia.w sp!, {r4, r5, r7, r8, r9, pc} 080cb3fa : FRESULT f_opendir ( DIR* dp, /* Pointer to directory object to create */ const TCHAR* path /* Pointer to the directory path */ ) { 80cb3fa: b590 push {r4, r7, lr} 80cb3fc: b087 sub sp, #28 80cb3fe: af00 add r7, sp, #0 80cb400: 6078 str r0, [r7, #4] 80cb402: 6039 str r1, [r7, #0] FATFS *fs; _FDID *obj; DEF_NAMBUF if (!dp) return FR_INVALID_OBJECT; 80cb404: 687b ldr r3, [r7, #4] 80cb406: 2b00 cmp r3, #0 80cb408: d101 bne.n 80cb40e 80cb40a: 2309 movs r3, #9 80cb40c: e080 b.n 80cb510 /* Get logical drive */ obj = &dp->obj; 80cb40e: 687b ldr r3, [r7, #4] 80cb410: 613b str r3, [r7, #16] res = find_volume(&path, &fs, 0); 80cb412: f107 010c add.w r1, r7, #12 80cb416: 463b mov r3, r7 80cb418: 2200 movs r2, #0 80cb41a: 4618 mov r0, r3 80cb41c: f7fe fb3e bl 80c9a9c 80cb420: 4603 mov r3, r0 80cb422: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80cb424: 7dfb ldrb r3, [r7, #23] 80cb426: 2b00 cmp r3, #0 80cb428: d16b bne.n 80cb502 obj->fs = fs; 80cb42a: 68fa ldr r2, [r7, #12] 80cb42c: 693b ldr r3, [r7, #16] 80cb42e: 601a str r2, [r3, #0] INIT_NAMBUF(fs); res = follow_path(dp, path); /* Follow the path to the directory */ 80cb430: 683b ldr r3, [r7, #0] 80cb432: 4619 mov r1, r3 80cb434: 6878 ldr r0, [r7, #4] 80cb436: f7fe f9e1 bl 80c97fc 80cb43a: 4603 mov r3, r0 80cb43c: 75fb strb r3, [r7, #23] if (res == FR_OK) { /* Follow completed */ 80cb43e: 7dfb ldrb r3, [r7, #23] 80cb440: 2b00 cmp r3, #0 80cb442: d159 bne.n 80cb4f8 if (!(dp->fn[NSFLAG] & NS_NONAME)) { /* It is not the origin directory itself */ 80cb444: 687b ldr r3, [r7, #4] 80cb446: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80cb44a: b25b sxtb r3, r3 80cb44c: 2b00 cmp r3, #0 80cb44e: db46 blt.n 80cb4de if (obj->attr & AM_DIR) { /* This object is a sub-directory */ 80cb450: 693b ldr r3, [r7, #16] 80cb452: 799b ldrb r3, [r3, #6] 80cb454: f003 0310 and.w r3, r3, #16 80cb458: 2b00 cmp r3, #0 80cb45a: d03e beq.n 80cb4da #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80cb45c: 68fb ldr r3, [r7, #12] 80cb45e: 781b ldrb r3, [r3, #0] 80cb460: 2b04 cmp r3, #4 80cb462: d12f bne.n 80cb4c4 obj->c_scl = obj->sclust; /* Get containing directory inforamation */ 80cb464: 693b ldr r3, [r7, #16] 80cb466: 689a ldr r2, [r3, #8] 80cb468: 693b ldr r3, [r7, #16] 80cb46a: 621a str r2, [r3, #32] obj->c_size = ((DWORD)obj->objsize & 0xFFFFFF00) | obj->stat; 80cb46c: 693b ldr r3, [r7, #16] 80cb46e: e9d3 3404 ldrd r3, r4, [r3, #16] 80cb472: f023 03ff bic.w r3, r3, #255 ; 0xff 80cb476: 693a ldr r2, [r7, #16] 80cb478: 79d2 ldrb r2, [r2, #7] 80cb47a: 431a orrs r2, r3 80cb47c: 693b ldr r3, [r7, #16] 80cb47e: 625a str r2, [r3, #36] ; 0x24 obj->c_ofs = dp->blk_ofs; 80cb480: 687b ldr r3, [r7, #4] 80cb482: 6cda ldr r2, [r3, #76] ; 0x4c 80cb484: 693b ldr r3, [r7, #16] 80cb486: 629a str r2, [r3, #40] ; 0x28 obj->sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Get object allocation info */ 80cb488: 68fb ldr r3, [r7, #12] 80cb48a: 691b ldr r3, [r3, #16] 80cb48c: 3334 adds r3, #52 ; 0x34 80cb48e: 4618 mov r0, r3 80cb490: f7fb fbfc bl 80c6c8c 80cb494: 4602 mov r2, r0 80cb496: 693b ldr r3, [r7, #16] 80cb498: 609a str r2, [r3, #8] obj->objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80cb49a: 68fb ldr r3, [r7, #12] 80cb49c: 691b ldr r3, [r3, #16] 80cb49e: 3338 adds r3, #56 ; 0x38 80cb4a0: 4618 mov r0, r3 80cb4a2: f7fb fc16 bl 80c6cd2 80cb4a6: 4603 mov r3, r0 80cb4a8: 460c mov r4, r1 80cb4aa: 693a ldr r2, [r7, #16] 80cb4ac: e9c2 3404 strd r3, r4, [r2, #16] obj->stat = fs->dirbuf[XDIR_GenFlags] & 2; 80cb4b0: 68fb ldr r3, [r7, #12] 80cb4b2: 691b ldr r3, [r3, #16] 80cb4b4: 3321 adds r3, #33 ; 0x21 80cb4b6: 781b ldrb r3, [r3, #0] 80cb4b8: f003 0302 and.w r3, r3, #2 80cb4bc: b2da uxtb r2, r3 80cb4be: 693b ldr r3, [r7, #16] 80cb4c0: 71da strb r2, [r3, #7] 80cb4c2: e00c b.n 80cb4de } else #endif { obj->sclust = ld_clust(fs, dp->dir); /* Get object allocation info */ 80cb4c4: 68fa ldr r2, [r7, #12] 80cb4c6: 687b ldr r3, [r7, #4] 80cb4c8: 6bdb ldr r3, [r3, #60] ; 0x3c 80cb4ca: 4619 mov r1, r3 80cb4cc: 4610 mov r0, r2 80cb4ce: f7fc fdff bl 80c80d0 80cb4d2: 4602 mov r2, r0 80cb4d4: 693b ldr r3, [r7, #16] 80cb4d6: 609a str r2, [r3, #8] 80cb4d8: e001 b.n 80cb4de } } else { /* This object is a file */ res = FR_NO_PATH; 80cb4da: 2305 movs r3, #5 80cb4dc: 75fb strb r3, [r7, #23] } } if (res == FR_OK) { 80cb4de: 7dfb ldrb r3, [r7, #23] 80cb4e0: 2b00 cmp r3, #0 80cb4e2: d109 bne.n 80cb4f8 obj->id = fs->id; 80cb4e4: 68fb ldr r3, [r7, #12] 80cb4e6: 88da ldrh r2, [r3, #6] 80cb4e8: 693b ldr r3, [r7, #16] 80cb4ea: 809a strh r2, [r3, #4] res = dir_sdi(dp, 0); /* Rewind directory */ 80cb4ec: 2100 movs r1, #0 80cb4ee: 6878 ldr r0, [r7, #4] 80cb4f0: f7fc fc37 bl 80c7d62 80cb4f4: 4603 mov r3, r0 80cb4f6: 75fb strb r3, [r7, #23] } #endif } } FREE_NAMBUF(); if (res == FR_NO_FILE) res = FR_NO_PATH; 80cb4f8: 7dfb ldrb r3, [r7, #23] 80cb4fa: 2b04 cmp r3, #4 80cb4fc: d101 bne.n 80cb502 80cb4fe: 2305 movs r3, #5 80cb500: 75fb strb r3, [r7, #23] } if (res != FR_OK) obj->fs = 0; /* Invalidate the directory object if function faild */ 80cb502: 7dfb ldrb r3, [r7, #23] 80cb504: 2b00 cmp r3, #0 80cb506: d002 beq.n 80cb50e 80cb508: 693b ldr r3, [r7, #16] 80cb50a: 2200 movs r2, #0 80cb50c: 601a str r2, [r3, #0] LEAVE_FF(fs, res); 80cb50e: 7dfb ldrb r3, [r7, #23] } 80cb510: 4618 mov r0, r3 80cb512: 371c adds r7, #28 80cb514: 46bd mov sp, r7 80cb516: bd90 pop {r4, r7, pc} 080cb518 : /*-----------------------------------------------------------------------*/ FRESULT f_closedir ( DIR *dp /* Pointer to the directory object to be closed */ ) { 80cb518: b580 push {r7, lr} 80cb51a: b084 sub sp, #16 80cb51c: af00 add r7, sp, #0 80cb51e: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs; res = validate(&dp->obj, &fs); /* Check validity of the file object */ 80cb520: 687b ldr r3, [r7, #4] 80cb522: f107 0208 add.w r2, r7, #8 80cb526: 4611 mov r1, r2 80cb528: 4618 mov r0, r3 80cb52a: f7fe fe01 bl 80ca130 80cb52e: 4603 mov r3, r0 80cb530: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80cb532: 7bfb ldrb r3, [r7, #15] 80cb534: 2b00 cmp r3, #0 80cb536: d102 bne.n 80cb53e res = dec_lock(dp->obj.lockid); } if (res == FR_OK) #endif { dp->obj.fs = 0; /* Invalidate directory object */ 80cb538: 687b ldr r3, [r7, #4] 80cb53a: 2200 movs r2, #0 80cb53c: 601a str r2, [r3, #0] } #if _FS_REENTRANT unlock_fs(fs, FR_OK); /* Unlock volume */ #endif } return res; 80cb53e: 7bfb ldrb r3, [r7, #15] } 80cb540: 4618 mov r0, r3 80cb542: 3710 adds r7, #16 80cb544: 46bd mov sp, r7 80cb546: bd80 pop {r7, pc} 080cb548 : FRESULT f_readdir ( DIR* dp, /* Pointer to the open directory object */ FILINFO* fno /* Pointer to file information to return */ ) { 80cb548: b580 push {r7, lr} 80cb54a: b084 sub sp, #16 80cb54c: af00 add r7, sp, #0 80cb54e: 6078 str r0, [r7, #4] 80cb550: 6039 str r1, [r7, #0] FRESULT res; FATFS *fs; DEF_NAMBUF res = validate(&dp->obj, &fs); /* Check validity of the directory object */ 80cb552: 687b ldr r3, [r7, #4] 80cb554: f107 0208 add.w r2, r7, #8 80cb558: 4611 mov r1, r2 80cb55a: 4618 mov r0, r3 80cb55c: f7fe fde8 bl 80ca130 80cb560: 4603 mov r3, r0 80cb562: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80cb564: 7bfb ldrb r3, [r7, #15] 80cb566: 2b00 cmp r3, #0 80cb568: d126 bne.n 80cb5b8 if (!fno) { 80cb56a: 683b ldr r3, [r7, #0] 80cb56c: 2b00 cmp r3, #0 80cb56e: d106 bne.n 80cb57e res = dir_sdi(dp, 0); /* Rewind the directory object */ 80cb570: 2100 movs r1, #0 80cb572: 6878 ldr r0, [r7, #4] 80cb574: f7fc fbf5 bl 80c7d62 80cb578: 4603 mov r3, r0 80cb57a: 73fb strb r3, [r7, #15] 80cb57c: e01c b.n 80cb5b8 } else { INIT_NAMBUF(fs); res = dir_read(dp, 0); /* Read an item */ 80cb57e: 2100 movs r1, #0 80cb580: 6878 ldr r0, [r7, #4] 80cb582: f7fd faa1 bl 80c8ac8 80cb586: 4603 mov r3, r0 80cb588: 73fb strb r3, [r7, #15] if (res == FR_NO_FILE) res = FR_OK; /* Ignore end of directory */ 80cb58a: 7bfb ldrb r3, [r7, #15] 80cb58c: 2b04 cmp r3, #4 80cb58e: d101 bne.n 80cb594 80cb590: 2300 movs r3, #0 80cb592: 73fb strb r3, [r7, #15] if (res == FR_OK) { /* A valid entry is found */ 80cb594: 7bfb ldrb r3, [r7, #15] 80cb596: 2b00 cmp r3, #0 80cb598: d10e bne.n 80cb5b8 get_fileinfo(dp, fno); /* Get the object information */ 80cb59a: 6839 ldr r1, [r7, #0] 80cb59c: 6878 ldr r0, [r7, #4] 80cb59e: f7fd fe89 bl 80c92b4 res = dir_next(dp, 0); /* Increment index for next */ 80cb5a2: 2100 movs r1, #0 80cb5a4: 6878 ldr r0, [r7, #4] 80cb5a6: f7fc fc62 bl 80c7e6e 80cb5aa: 4603 mov r3, r0 80cb5ac: 73fb strb r3, [r7, #15] if (res == FR_NO_FILE) res = FR_OK; /* Ignore end of directory now */ 80cb5ae: 7bfb ldrb r3, [r7, #15] 80cb5b0: 2b04 cmp r3, #4 80cb5b2: d101 bne.n 80cb5b8 80cb5b4: 2300 movs r3, #0 80cb5b6: 73fb strb r3, [r7, #15] } FREE_NAMBUF(); } } LEAVE_FF(fs, res); 80cb5b8: 7bfb ldrb r3, [r7, #15] } 80cb5ba: 4618 mov r0, r3 80cb5bc: 3710 adds r7, #16 80cb5be: 46bd mov sp, r7 80cb5c0: bd80 pop {r7, pc} 080cb5c2 : 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 */ ) { 80cb5c2: b580 push {r7, lr} 80cb5c4: b09a sub sp, #104 ; 0x68 80cb5c6: af00 add r7, sp, #0 80cb5c8: 60f8 str r0, [r7, #12] 80cb5ca: 60b9 str r1, [r7, #8] 80cb5cc: 607a str r2, [r7, #4] BYTE *p; _FDID obj; /* Get logical drive */ res = find_volume(&path, &fs, 0); 80cb5ce: f107 0140 add.w r1, r7, #64 ; 0x40 80cb5d2: f107 030c add.w r3, r7, #12 80cb5d6: 2200 movs r2, #0 80cb5d8: 4618 mov r0, r3 80cb5da: f7fe fa5f bl 80c9a9c 80cb5de: 4603 mov r3, r0 80cb5e0: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80cb5e4: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cb5e8: 2b00 cmp r3, #0 80cb5ea: f040 80e6 bne.w 80cb7ba *fatfs = fs; /* Return ptr to the fs object */ 80cb5ee: 6c3a ldr r2, [r7, #64] ; 0x40 80cb5f0: 687b ldr r3, [r7, #4] 80cb5f2: 601a str r2, [r3, #0] /* If free_clst is valid, return it without full cluster scan */ if (fs->free_clst <= fs->n_fatent - 2) { 80cb5f4: 6c3b ldr r3, [r7, #64] ; 0x40 80cb5f6: 699a ldr r2, [r3, #24] 80cb5f8: 6c3b ldr r3, [r7, #64] ; 0x40 80cb5fa: 69db ldr r3, [r3, #28] 80cb5fc: 3b02 subs r3, #2 80cb5fe: 429a cmp r2, r3 80cb600: d804 bhi.n 80cb60c *nclst = fs->free_clst; 80cb602: 6c3b ldr r3, [r7, #64] ; 0x40 80cb604: 699a ldr r2, [r3, #24] 80cb606: 68bb ldr r3, [r7, #8] 80cb608: 601a str r2, [r3, #0] 80cb60a: e0d6 b.n 80cb7ba } else { /* Get number of free clusters */ nfree = 0; 80cb60c: 2300 movs r3, #0 80cb60e: 663b str r3, [r7, #96] ; 0x60 if (fs->fs_type == FS_FAT12) { /* FAT12: Sector unalighed FAT entries */ 80cb610: 6c3b ldr r3, [r7, #64] ; 0x40 80cb612: 781b ldrb r3, [r3, #0] 80cb614: 2b01 cmp r3, #1 80cb616: d128 bne.n 80cb66a clst = 2; obj.fs = fs; 80cb618: 2302 movs r3, #2 80cb61a: 65fb str r3, [r7, #92] ; 0x5c 80cb61c: 6c3b ldr r3, [r7, #64] ; 0x40 80cb61e: 613b str r3, [r7, #16] do { stat = get_fat(&obj, clst); 80cb620: f107 0310 add.w r3, r7, #16 80cb624: 6df9 ldr r1, [r7, #92] ; 0x5c 80cb626: 4618 mov r0, r3 80cb628: f7fb fe56 bl 80c72d8 80cb62c: 6478 str r0, [r7, #68] ; 0x44 if (stat == 0xFFFFFFFF) { res = FR_DISK_ERR; break; } 80cb62e: 6c7b ldr r3, [r7, #68] ; 0x44 80cb630: f1b3 3fff cmp.w r3, #4294967295 80cb634: d103 bne.n 80cb63e 80cb636: 2301 movs r3, #1 80cb638: f887 3067 strb.w r3, [r7, #103] ; 0x67 80cb63c: e0b0 b.n 80cb7a0 if (stat == 1) { res = FR_INT_ERR; break; } 80cb63e: 6c7b ldr r3, [r7, #68] ; 0x44 80cb640: 2b01 cmp r3, #1 80cb642: d103 bne.n 80cb64c 80cb644: 2302 movs r3, #2 80cb646: f887 3067 strb.w r3, [r7, #103] ; 0x67 80cb64a: e0a9 b.n 80cb7a0 if (stat == 0) nfree++; 80cb64c: 6c7b ldr r3, [r7, #68] ; 0x44 80cb64e: 2b00 cmp r3, #0 80cb650: d102 bne.n 80cb658 80cb652: 6e3b ldr r3, [r7, #96] ; 0x60 80cb654: 3301 adds r3, #1 80cb656: 663b str r3, [r7, #96] ; 0x60 } while (++clst < fs->n_fatent); 80cb658: 6dfb ldr r3, [r7, #92] ; 0x5c 80cb65a: 3301 adds r3, #1 80cb65c: 65fb str r3, [r7, #92] ; 0x5c 80cb65e: 6c3b ldr r3, [r7, #64] ; 0x40 80cb660: 69db ldr r3, [r3, #28] 80cb662: 6dfa ldr r2, [r7, #92] ; 0x5c 80cb664: 429a cmp r2, r3 80cb666: d3db bcc.n 80cb620 80cb668: e09a b.n 80cb7a0 } else { #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* exFAT: Scan bitmap table */ 80cb66a: 6c3b ldr r3, [r7, #64] ; 0x40 80cb66c: 781b ldrb r3, [r3, #0] 80cb66e: 2b04 cmp r3, #4 80cb670: d146 bne.n 80cb700 BYTE bm; UINT b; clst = fs->n_fatent - 2; 80cb672: 6c3b ldr r3, [r7, #64] ; 0x40 80cb674: 69db ldr r3, [r3, #28] 80cb676: 3b02 subs r3, #2 80cb678: 65fb str r3, [r7, #92] ; 0x5c sect = fs->database; 80cb67a: 6c3b ldr r3, [r7, #64] ; 0x40 80cb67c: 6b1b ldr r3, [r3, #48] ; 0x30 80cb67e: 65bb str r3, [r7, #88] ; 0x58 i = 0; 80cb680: 2300 movs r3, #0 80cb682: 657b str r3, [r7, #84] ; 0x54 do { if (i == 0 && (res = move_window(fs, sect++)) != FR_OK) break; 80cb684: 6d7b ldr r3, [r7, #84] ; 0x54 80cb686: 2b00 cmp r3, #0 80cb688: d10d bne.n 80cb6a6 80cb68a: 6c38 ldr r0, [r7, #64] ; 0x40 80cb68c: 6dbb ldr r3, [r7, #88] ; 0x58 80cb68e: 1c5a adds r2, r3, #1 80cb690: 65ba str r2, [r7, #88] ; 0x58 80cb692: 4619 mov r1, r3 80cb694: f7fb fd65 bl 80c7162 80cb698: 4603 mov r3, r0 80cb69a: f887 3067 strb.w r3, [r7, #103] ; 0x67 80cb69e: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cb6a2: 2b00 cmp r3, #0 80cb6a4: d179 bne.n 80cb79a for (b = 8, bm = fs->win[i]; b && clst; b--, clst--) { 80cb6a6: 2308 movs r3, #8 80cb6a8: 64bb str r3, [r7, #72] ; 0x48 80cb6aa: 6c3a ldr r2, [r7, #64] ; 0x40 80cb6ac: 6d7b ldr r3, [r7, #84] ; 0x54 80cb6ae: 4413 add r3, r2 80cb6b0: 3338 adds r3, #56 ; 0x38 80cb6b2: 781b ldrb r3, [r3, #0] 80cb6b4: f887 304f strb.w r3, [r7, #79] ; 0x4f 80cb6b8: e013 b.n 80cb6e2 if (!(bm & 1)) nfree++; 80cb6ba: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80cb6be: f003 0301 and.w r3, r3, #1 80cb6c2: 2b00 cmp r3, #0 80cb6c4: d102 bne.n 80cb6cc 80cb6c6: 6e3b ldr r3, [r7, #96] ; 0x60 80cb6c8: 3301 adds r3, #1 80cb6ca: 663b str r3, [r7, #96] ; 0x60 bm >>= 1; 80cb6cc: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80cb6d0: 085b lsrs r3, r3, #1 80cb6d2: f887 304f strb.w r3, [r7, #79] ; 0x4f for (b = 8, bm = fs->win[i]; b && clst; b--, clst--) { 80cb6d6: 6cbb ldr r3, [r7, #72] ; 0x48 80cb6d8: 3b01 subs r3, #1 80cb6da: 64bb str r3, [r7, #72] ; 0x48 80cb6dc: 6dfb ldr r3, [r7, #92] ; 0x5c 80cb6de: 3b01 subs r3, #1 80cb6e0: 65fb str r3, [r7, #92] ; 0x5c 80cb6e2: 6cbb ldr r3, [r7, #72] ; 0x48 80cb6e4: 2b00 cmp r3, #0 80cb6e6: d002 beq.n 80cb6ee 80cb6e8: 6dfb ldr r3, [r7, #92] ; 0x5c 80cb6ea: 2b00 cmp r3, #0 80cb6ec: d1e5 bne.n 80cb6ba } i = (i + 1) % SS(fs); 80cb6ee: 6d7b ldr r3, [r7, #84] ; 0x54 80cb6f0: 3301 adds r3, #1 80cb6f2: f3c3 0308 ubfx r3, r3, #0, #9 80cb6f6: 657b str r3, [r7, #84] ; 0x54 } while (clst); 80cb6f8: 6dfb ldr r3, [r7, #92] ; 0x5c 80cb6fa: 2b00 cmp r3, #0 80cb6fc: d1c2 bne.n 80cb684 80cb6fe: e04f b.n 80cb7a0 } else #endif { /* FAT16/32: Sector alighed FAT entries */ clst = fs->n_fatent; sect = fs->fatbase; 80cb700: 6c3b ldr r3, [r7, #64] ; 0x40 80cb702: 69db ldr r3, [r3, #28] 80cb704: 65fb str r3, [r7, #92] ; 0x5c 80cb706: 6c3b ldr r3, [r7, #64] ; 0x40 80cb708: 6a9b ldr r3, [r3, #40] ; 0x28 80cb70a: 65bb str r3, [r7, #88] ; 0x58 i = 0; p = 0; 80cb70c: 2300 movs r3, #0 80cb70e: 657b str r3, [r7, #84] ; 0x54 80cb710: 2300 movs r3, #0 80cb712: 653b str r3, [r7, #80] ; 0x50 do { if (i == 0) { 80cb714: 6d7b ldr r3, [r7, #84] ; 0x54 80cb716: 2b00 cmp r3, #0 80cb718: d113 bne.n 80cb742 res = move_window(fs, sect++); 80cb71a: 6c38 ldr r0, [r7, #64] ; 0x40 80cb71c: 6dbb ldr r3, [r7, #88] ; 0x58 80cb71e: 1c5a adds r2, r3, #1 80cb720: 65ba str r2, [r7, #88] ; 0x58 80cb722: 4619 mov r1, r3 80cb724: f7fb fd1d bl 80c7162 80cb728: 4603 mov r3, r0 80cb72a: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res != FR_OK) break; 80cb72e: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80cb732: 2b00 cmp r3, #0 80cb734: d133 bne.n 80cb79e p = fs->win; 80cb736: 6c3b ldr r3, [r7, #64] ; 0x40 80cb738: 3338 adds r3, #56 ; 0x38 80cb73a: 653b str r3, [r7, #80] ; 0x50 i = SS(fs); 80cb73c: f44f 7300 mov.w r3, #512 ; 0x200 80cb740: 657b str r3, [r7, #84] ; 0x54 } if (fs->fs_type == FS_FAT16) { 80cb742: 6c3b ldr r3, [r7, #64] ; 0x40 80cb744: 781b ldrb r3, [r3, #0] 80cb746: 2b02 cmp r3, #2 80cb748: d10f bne.n 80cb76a if (ld_word(p) == 0) nfree++; 80cb74a: 6d38 ldr r0, [r7, #80] ; 0x50 80cb74c: f7fb fa86 bl 80c6c5c 80cb750: 4603 mov r3, r0 80cb752: 2b00 cmp r3, #0 80cb754: d102 bne.n 80cb75c 80cb756: 6e3b ldr r3, [r7, #96] ; 0x60 80cb758: 3301 adds r3, #1 80cb75a: 663b str r3, [r7, #96] ; 0x60 p += 2; i -= 2; 80cb75c: 6d3b ldr r3, [r7, #80] ; 0x50 80cb75e: 3302 adds r3, #2 80cb760: 653b str r3, [r7, #80] ; 0x50 80cb762: 6d7b ldr r3, [r7, #84] ; 0x54 80cb764: 3b02 subs r3, #2 80cb766: 657b str r3, [r7, #84] ; 0x54 80cb768: e010 b.n 80cb78c } else { if ((ld_dword(p) & 0x0FFFFFFF) == 0) nfree++; 80cb76a: 6d38 ldr r0, [r7, #80] ; 0x50 80cb76c: f7fb fa8e bl 80c6c8c 80cb770: 4603 mov r3, r0 80cb772: f023 4370 bic.w r3, r3, #4026531840 ; 0xf0000000 80cb776: 2b00 cmp r3, #0 80cb778: d102 bne.n 80cb780 80cb77a: 6e3b ldr r3, [r7, #96] ; 0x60 80cb77c: 3301 adds r3, #1 80cb77e: 663b str r3, [r7, #96] ; 0x60 p += 4; i -= 4; 80cb780: 6d3b ldr r3, [r7, #80] ; 0x50 80cb782: 3304 adds r3, #4 80cb784: 653b str r3, [r7, #80] ; 0x50 80cb786: 6d7b ldr r3, [r7, #84] ; 0x54 80cb788: 3b04 subs r3, #4 80cb78a: 657b str r3, [r7, #84] ; 0x54 } } while (--clst); 80cb78c: 6dfb ldr r3, [r7, #92] ; 0x5c 80cb78e: 3b01 subs r3, #1 80cb790: 65fb str r3, [r7, #92] ; 0x5c 80cb792: 6dfb ldr r3, [r7, #92] ; 0x5c 80cb794: 2b00 cmp r3, #0 80cb796: d1bd bne.n 80cb714 80cb798: e002 b.n 80cb7a0 if (i == 0 && (res = move_window(fs, sect++)) != FR_OK) break; 80cb79a: bf00 nop 80cb79c: e000 b.n 80cb7a0 if (res != FR_OK) break; 80cb79e: bf00 nop } } *nclst = nfree; /* Return the free clusters */ 80cb7a0: 68bb ldr r3, [r7, #8] 80cb7a2: 6e3a ldr r2, [r7, #96] ; 0x60 80cb7a4: 601a str r2, [r3, #0] fs->free_clst = nfree; /* Now free_clst is valid */ 80cb7a6: 6c3b ldr r3, [r7, #64] ; 0x40 80cb7a8: 6e3a ldr r2, [r7, #96] ; 0x60 80cb7aa: 619a str r2, [r3, #24] fs->fsi_flag |= 1; /* FSInfo is to be updated */ 80cb7ac: 6c3b ldr r3, [r7, #64] ; 0x40 80cb7ae: 6c3a ldr r2, [r7, #64] ; 0x40 80cb7b0: 7912 ldrb r2, [r2, #4] 80cb7b2: f042 0201 orr.w r2, r2, #1 80cb7b6: b2d2 uxtb r2, r2 80cb7b8: 711a strb r2, [r3, #4] } } LEAVE_FF(fs, res); 80cb7ba: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 } 80cb7be: 4618 mov r0, r3 80cb7c0: 3768 adds r7, #104 ; 0x68 80cb7c2: 46bd mov sp, r7 80cb7c4: bd80 pop {r7, pc} 080cb7c6 : /*-----------------------------------------------------------------------*/ FRESULT f_unlink ( const TCHAR* path /* Pointer to the file or directory path */ ) { 80cb7c6: b590 push {r4, r7, lr} 80cb7c8: b0bb sub sp, #236 ; 0xec 80cb7ca: af00 add r7, sp, #0 80cb7cc: 6078 str r0, [r7, #4] FRESULT res; DIR dj, sdj; DWORD dclst = 0; 80cb7ce: 2300 movs r3, #0 80cb7d0: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 #endif DEF_NAMBUF /* Get logical drive */ res = find_volume(&path, &fs, FA_WRITE); 80cb7d4: f107 013c add.w r1, r7, #60 ; 0x3c 80cb7d8: 1d3b adds r3, r7, #4 80cb7da: 2202 movs r2, #2 80cb7dc: 4618 mov r0, r3 80cb7de: f7fe f95d bl 80c9a9c 80cb7e2: 4603 mov r3, r0 80cb7e4: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 dj.obj.fs = fs; 80cb7e8: 6bfb ldr r3, [r7, #60] ; 0x3c 80cb7ea: f8c7 3090 str.w r3, [r7, #144] ; 0x90 if (res == FR_OK) { 80cb7ee: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cb7f2: 2b00 cmp r3, #0 80cb7f4: f040 80b6 bne.w 80cb964 INIT_NAMBUF(fs); res = follow_path(&dj, path); /* Follow the file path */ 80cb7f8: 687a ldr r2, [r7, #4] 80cb7fa: f107 0390 add.w r3, r7, #144 ; 0x90 80cb7fe: 4611 mov r1, r2 80cb800: 4618 mov r0, r3 80cb802: f7fd fffb bl 80c97fc 80cb806: 4603 mov r3, r0 80cb808: 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 */ 80cb80c: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cb810: 2b00 cmp r3, #0 80cb812: f040 80a7 bne.w 80cb964 if (dj.fn[NSFLAG] & NS_NONAME) { 80cb816: f897 30db ldrb.w r3, [r7, #219] ; 0xdb 80cb81a: b25b sxtb r3, r3 80cb81c: 2b00 cmp r3, #0 80cb81e: da03 bge.n 80cb828 res = FR_INVALID_NAME; /* Cannot remove the origin directory */ 80cb820: 2306 movs r3, #6 80cb822: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 80cb826: e008 b.n 80cb83a } else { if (dj.obj.attr & AM_RDO) { 80cb828: f897 3096 ldrb.w r3, [r7, #150] ; 0x96 80cb82c: f003 0301 and.w r3, r3, #1 80cb830: 2b00 cmp r3, #0 80cb832: d002 beq.n 80cb83a res = FR_DENIED; /* Cannot remove R/O object */ 80cb834: 2307 movs r3, #7 80cb836: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 } } if (res == FR_OK) { 80cb83a: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cb83e: 2b00 cmp r3, #0 80cb840: d166 bne.n 80cb910 #if _FS_EXFAT obj.fs = fs; 80cb842: 6bfb ldr r3, [r7, #60] ; 0x3c 80cb844: 60bb str r3, [r7, #8] if (fs->fs_type == FS_EXFAT) { 80cb846: 6bfb ldr r3, [r7, #60] ; 0x3c 80cb848: 781b ldrb r3, [r3, #0] 80cb84a: 2b04 cmp r3, #4 80cb84c: d11d bne.n 80cb88a obj.sclust = dclst = ld_dword(fs->dirbuf + XDIR_FstClus); 80cb84e: 6bfb ldr r3, [r7, #60] ; 0x3c 80cb850: 691b ldr r3, [r3, #16] 80cb852: 3334 adds r3, #52 ; 0x34 80cb854: 4618 mov r0, r3 80cb856: f7fb fa19 bl 80c6c8c 80cb85a: f8c7 00e0 str.w r0, [r7, #224] ; 0xe0 80cb85e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80cb862: 613b str r3, [r7, #16] obj.objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80cb864: 6bfb ldr r3, [r7, #60] ; 0x3c 80cb866: 691b ldr r3, [r3, #16] 80cb868: 3338 adds r3, #56 ; 0x38 80cb86a: 4618 mov r0, r3 80cb86c: f7fb fa31 bl 80c6cd2 80cb870: 4603 mov r3, r0 80cb872: 460c mov r4, r1 80cb874: e9c7 3406 strd r3, r4, [r7, #24] obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; 80cb878: 6bfb ldr r3, [r7, #60] ; 0x3c 80cb87a: 691b ldr r3, [r3, #16] 80cb87c: 3321 adds r3, #33 ; 0x21 80cb87e: 781b ldrb r3, [r3, #0] 80cb880: f003 0302 and.w r3, r3, #2 80cb884: b2db uxtb r3, r3 80cb886: 73fb strb r3, [r7, #15] 80cb888: e008 b.n 80cb89c } else #endif { dclst = ld_clust(fs, dj.dir); 80cb88a: 6bfb ldr r3, [r7, #60] ; 0x3c 80cb88c: f8d7 20cc ldr.w r2, [r7, #204] ; 0xcc 80cb890: 4611 mov r1, r2 80cb892: 4618 mov r0, r3 80cb894: f7fc fc1c bl 80c80d0 80cb898: f8c7 00e0 str.w r0, [r7, #224] ; 0xe0 } if (dj.obj.attr & AM_DIR) { /* Is it a sub-directory? */ 80cb89c: f897 3096 ldrb.w r3, [r7, #150] ; 0x96 80cb8a0: f003 0310 and.w r3, r3, #16 80cb8a4: 2b00 cmp r3, #0 80cb8a6: d033 beq.n 80cb910 if (dclst == fs->cdir) { /* Is it the current directory? */ res = FR_DENIED; } else #endif { sdj.obj.fs = fs; /* Open the sub-directory */ 80cb8a8: 6bfb ldr r3, [r7, #60] ; 0x3c 80cb8aa: 643b str r3, [r7, #64] ; 0x40 sdj.obj.sclust = dclst; 80cb8ac: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80cb8b0: 64bb str r3, [r7, #72] ; 0x48 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80cb8b2: 6bfb ldr r3, [r7, #60] ; 0x3c 80cb8b4: 781b ldrb r3, [r3, #0] 80cb8b6: 2b04 cmp r3, #4 80cb8b8: d106 bne.n 80cb8c8 sdj.obj.objsize = obj.objsize; 80cb8ba: e9d7 3406 ldrd r3, r4, [r7, #24] 80cb8be: e9c7 3414 strd r3, r4, [r7, #80] ; 0x50 sdj.obj.stat = obj.stat; 80cb8c2: 7bfb ldrb r3, [r7, #15] 80cb8c4: f887 3047 strb.w r3, [r7, #71] ; 0x47 } #endif res = dir_sdi(&sdj, 0); 80cb8c8: f107 0340 add.w r3, r7, #64 ; 0x40 80cb8cc: 2100 movs r1, #0 80cb8ce: 4618 mov r0, r3 80cb8d0: f7fc fa47 bl 80c7d62 80cb8d4: 4603 mov r3, r0 80cb8d6: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_OK) { 80cb8da: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cb8de: 2b00 cmp r3, #0 80cb8e0: d116 bne.n 80cb910 res = dir_read(&sdj, 0); /* Read an item */ 80cb8e2: f107 0340 add.w r3, r7, #64 ; 0x40 80cb8e6: 2100 movs r1, #0 80cb8e8: 4618 mov r0, r3 80cb8ea: f7fd f8ed bl 80c8ac8 80cb8ee: 4603 mov r3, r0 80cb8f0: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_OK) res = FR_DENIED; /* Not empty? */ 80cb8f4: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cb8f8: 2b00 cmp r3, #0 80cb8fa: d102 bne.n 80cb902 80cb8fc: 2307 movs r3, #7 80cb8fe: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_NO_FILE) res = FR_OK; /* Empty? */ 80cb902: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cb906: 2b04 cmp r3, #4 80cb908: d102 bne.n 80cb910 80cb90a: 2300 movs r3, #0 80cb90c: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 } } } } if (res == FR_OK) { 80cb910: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cb914: 2b00 cmp r3, #0 80cb916: d125 bne.n 80cb964 res = dir_remove(&dj); /* Remove the directory entry */ 80cb918: f107 0390 add.w r3, r7, #144 ; 0x90 80cb91c: 4618 mov r0, r3 80cb91e: f7fd fc71 bl 80c9204 80cb922: 4603 mov r3, r0 80cb924: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_OK && dclst) { /* Remove the cluster chain if exist */ 80cb928: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cb92c: 2b00 cmp r3, #0 80cb92e: d10e bne.n 80cb94e 80cb930: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80cb934: 2b00 cmp r3, #0 80cb936: d00a beq.n 80cb94e #if _FS_EXFAT res = remove_chain(&obj, dclst, 0); 80cb938: f107 0308 add.w r3, r7, #8 80cb93c: 2200 movs r2, #0 80cb93e: f8d7 10e0 ldr.w r1, [r7, #224] ; 0xe0 80cb942: 4618 mov r0, r3 80cb944: f7fc f81a bl 80c797c 80cb948: 4603 mov r3, r0 80cb94a: 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); 80cb94e: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80cb952: 2b00 cmp r3, #0 80cb954: d106 bne.n 80cb964 80cb956: 6bfb ldr r3, [r7, #60] ; 0x3c 80cb958: 4618 mov r0, r3 80cb95a: f7fb fc2f bl 80c71bc 80cb95e: 4603 mov r3, r0 80cb960: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 } } FREE_NAMBUF(); } LEAVE_FF(fs, res); 80cb964: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 } 80cb968: 4618 mov r0, r3 80cb96a: 37ec adds r7, #236 ; 0xec 80cb96c: 46bd mov sp, r7 80cb96e: bd90 pop {r4, r7, pc} 080cb970 : /*-----------------------------------------------------------------------*/ FRESULT f_mkdir ( const TCHAR* path /* Pointer to the directory path */ ) { 80cb970: b590 push {r4, r7, lr} 80cb972: b0a1 sub sp, #132 ; 0x84 80cb974: af00 add r7, sp, #0 80cb976: 6078 str r0, [r7, #4] DWORD dsc, dcl, pcl, tm; DEF_NAMBUF /* Get logical drive */ res = find_volume(&path, &fs, FA_WRITE); 80cb978: f107 010c add.w r1, r7, #12 80cb97c: 1d3b adds r3, r7, #4 80cb97e: 2202 movs r2, #2 80cb980: 4618 mov r0, r3 80cb982: f7fe f88b bl 80c9a9c 80cb986: 4603 mov r3, r0 80cb988: f887 307f strb.w r3, [r7, #127] ; 0x7f dj.obj.fs = fs; 80cb98c: 68fb ldr r3, [r7, #12] 80cb98e: 613b str r3, [r7, #16] if (res == FR_OK) { 80cb990: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cb994: 2b00 cmp r3, #0 80cb996: f040 812c bne.w 80cbbf2 INIT_NAMBUF(fs); res = follow_path(&dj, path); /* Follow the file path */ 80cb99a: 687a ldr r2, [r7, #4] 80cb99c: f107 0310 add.w r3, r7, #16 80cb9a0: 4611 mov r1, r2 80cb9a2: 4618 mov r0, r3 80cb9a4: f7fd ff2a bl 80c97fc 80cb9a8: 4603 mov r3, r0 80cb9aa: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) res = FR_EXIST; /* Any object with same name is already existing */ 80cb9ae: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cb9b2: 2b00 cmp r3, #0 80cb9b4: d102 bne.n 80cb9bc 80cb9b6: 2308 movs r3, #8 80cb9b8: 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 */ 80cb9bc: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cb9c0: 2b04 cmp r3, #4 80cb9c2: f040 8116 bne.w 80cbbf2 dcl = create_chain(&dj.obj, 0); /* Allocate a cluster for the new directory table */ 80cb9c6: f107 0310 add.w r3, r7, #16 80cb9ca: 2100 movs r1, #0 80cb9cc: 4618 mov r0, r3 80cb9ce: f7fc f889 bl 80c7ae4 80cb9d2: 66f8 str r0, [r7, #108] ; 0x6c dj.obj.objsize = (DWORD)fs->csize * SS(fs); 80cb9d4: 68fb ldr r3, [r7, #12] 80cb9d6: 895b ldrh r3, [r3, #10] 80cb9d8: 025b lsls r3, r3, #9 80cb9da: f04f 0400 mov.w r4, #0 80cb9de: e9c7 3408 strd r3, r4, [r7, #32] res = FR_OK; 80cb9e2: 2300 movs r3, #0 80cb9e4: f887 307f strb.w r3, [r7, #127] ; 0x7f if (dcl == 0) res = FR_DENIED; /* No space to allocate a new cluster */ 80cb9e8: 6efb ldr r3, [r7, #108] ; 0x6c 80cb9ea: 2b00 cmp r3, #0 80cb9ec: d102 bne.n 80cb9f4 80cb9ee: 2307 movs r3, #7 80cb9f0: f887 307f strb.w r3, [r7, #127] ; 0x7f if (dcl == 1) res = FR_INT_ERR; 80cb9f4: 6efb ldr r3, [r7, #108] ; 0x6c 80cb9f6: 2b01 cmp r3, #1 80cb9f8: d102 bne.n 80cba00 80cb9fa: 2302 movs r3, #2 80cb9fc: f887 307f strb.w r3, [r7, #127] ; 0x7f if (dcl == 0xFFFFFFFF) res = FR_DISK_ERR; 80cba00: 6efb ldr r3, [r7, #108] ; 0x6c 80cba02: f1b3 3fff cmp.w r3, #4294967295 80cba06: d102 bne.n 80cba0e 80cba08: 2301 movs r3, #1 80cba0a: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) res = sync_window(fs); /* Flush FAT */ 80cba0e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cba12: 2b00 cmp r3, #0 80cba14: d106 bne.n 80cba24 80cba16: 68fb ldr r3, [r7, #12] 80cba18: 4618 mov r0, r3 80cba1a: f7fb fb5e bl 80c70da 80cba1e: 4603 mov r3, r0 80cba20: f887 307f strb.w r3, [r7, #127] ; 0x7f tm = GET_FATTIME(); 80cba24: f7f8 f80a bl 80c3a3c 80cba28: 66b8 str r0, [r7, #104] ; 0x68 if (res == FR_OK) { /* Initialize the new directory table */ 80cba2a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cba2e: 2b00 cmp r3, #0 80cba30: d16e bne.n 80cbb10 dsc = clust2sect(fs, dcl); 80cba32: 68fb ldr r3, [r7, #12] 80cba34: 6ef9 ldr r1, [r7, #108] ; 0x6c 80cba36: 4618 mov r0, r3 80cba38: f7fb fc2e bl 80c7298 80cba3c: 6778 str r0, [r7, #116] ; 0x74 dir = fs->win; 80cba3e: 68fb ldr r3, [r7, #12] 80cba40: 3338 adds r3, #56 ; 0x38 80cba42: 667b str r3, [r7, #100] ; 0x64 mem_set(dir, 0, SS(fs)); 80cba44: f44f 7200 mov.w r2, #512 ; 0x200 80cba48: 2100 movs r1, #0 80cba4a: 6e78 ldr r0, [r7, #100] ; 0x64 80cba4c: f7fb fae9 bl 80c7022 if (!_FS_EXFAT || fs->fs_type != FS_EXFAT) { 80cba50: 68fb ldr r3, [r7, #12] 80cba52: 781b ldrb r3, [r3, #0] 80cba54: 2b04 cmp r3, #4 80cba56: d036 beq.n 80cbac6 mem_set(dir + DIR_Name, ' ', 11); /* Create "." entry */ 80cba58: 220b movs r2, #11 80cba5a: 2120 movs r1, #32 80cba5c: 6e78 ldr r0, [r7, #100] ; 0x64 80cba5e: f7fb fae0 bl 80c7022 dir[DIR_Name] = '.'; 80cba62: 6e7b ldr r3, [r7, #100] ; 0x64 80cba64: 222e movs r2, #46 ; 0x2e 80cba66: 701a strb r2, [r3, #0] dir[DIR_Attr] = AM_DIR; 80cba68: 6e7b ldr r3, [r7, #100] ; 0x64 80cba6a: 330b adds r3, #11 80cba6c: 2210 movs r2, #16 80cba6e: 701a strb r2, [r3, #0] st_dword(dir + DIR_ModTime, tm); 80cba70: 6e7b ldr r3, [r7, #100] ; 0x64 80cba72: 3316 adds r3, #22 80cba74: 6eb9 ldr r1, [r7, #104] ; 0x68 80cba76: 4618 mov r0, r3 80cba78: f7fb f9f5 bl 80c6e66 st_clust(fs, dir, dcl); 80cba7c: 68fb ldr r3, [r7, #12] 80cba7e: 6efa ldr r2, [r7, #108] ; 0x6c 80cba80: 6e79 ldr r1, [r7, #100] ; 0x64 80cba82: 4618 mov r0, r3 80cba84: f7fc fb43 bl 80c810e mem_cpy(dir + SZDIRE, dir, SZDIRE); /* Create ".." entry */ 80cba88: 6e7b ldr r3, [r7, #100] ; 0x64 80cba8a: 3320 adds r3, #32 80cba8c: 2220 movs r2, #32 80cba8e: 6e79 ldr r1, [r7, #100] ; 0x64 80cba90: 4618 mov r0, r3 80cba92: f7fb faa5 bl 80c6fe0 dir[SZDIRE + 1] = '.'; pcl = dj.obj.sclust; 80cba96: 6e7b ldr r3, [r7, #100] ; 0x64 80cba98: 3321 adds r3, #33 ; 0x21 80cba9a: 222e movs r2, #46 ; 0x2e 80cba9c: 701a strb r2, [r3, #0] 80cba9e: 69bb ldr r3, [r7, #24] 80cbaa0: 673b str r3, [r7, #112] ; 0x70 if (fs->fs_type == FS_FAT32 && pcl == fs->dirbase) pcl = 0; 80cbaa2: 68fb ldr r3, [r7, #12] 80cbaa4: 781b ldrb r3, [r3, #0] 80cbaa6: 2b03 cmp r3, #3 80cbaa8: d106 bne.n 80cbab8 80cbaaa: 68fb ldr r3, [r7, #12] 80cbaac: 6ada ldr r2, [r3, #44] ; 0x2c 80cbaae: 6f3b ldr r3, [r7, #112] ; 0x70 80cbab0: 429a cmp r2, r3 80cbab2: d101 bne.n 80cbab8 80cbab4: 2300 movs r3, #0 80cbab6: 673b str r3, [r7, #112] ; 0x70 st_clust(fs, dir + SZDIRE, pcl); 80cbab8: 68f8 ldr r0, [r7, #12] 80cbaba: 6e7b ldr r3, [r7, #100] ; 0x64 80cbabc: 3320 adds r3, #32 80cbabe: 6f3a ldr r2, [r7, #112] ; 0x70 80cbac0: 4619 mov r1, r3 80cbac2: f7fc fb24 bl 80c810e } for (n = fs->csize; n; n--) { /* Write dot entries and clear following sectors */ 80cbac6: 68fb ldr r3, [r7, #12] 80cbac8: 895b ldrh r3, [r3, #10] 80cbaca: 67bb str r3, [r7, #120] ; 0x78 80cbacc: e01b b.n 80cbb06 fs->winsect = dsc++; 80cbace: 68fa ldr r2, [r7, #12] 80cbad0: 6f7b ldr r3, [r7, #116] ; 0x74 80cbad2: 1c59 adds r1, r3, #1 80cbad4: 6779 str r1, [r7, #116] ; 0x74 80cbad6: 6353 str r3, [r2, #52] ; 0x34 fs->wflag = 1; 80cbad8: 68fb ldr r3, [r7, #12] 80cbada: 2201 movs r2, #1 80cbadc: 70da strb r2, [r3, #3] res = sync_window(fs); 80cbade: 68fb ldr r3, [r7, #12] 80cbae0: 4618 mov r0, r3 80cbae2: f7fb fafa bl 80c70da 80cbae6: 4603 mov r3, r0 80cbae8: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) break; 80cbaec: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cbaf0: 2b00 cmp r3, #0 80cbaf2: d10c bne.n 80cbb0e mem_set(dir, 0, SS(fs)); 80cbaf4: f44f 7200 mov.w r2, #512 ; 0x200 80cbaf8: 2100 movs r1, #0 80cbafa: 6e78 ldr r0, [r7, #100] ; 0x64 80cbafc: f7fb fa91 bl 80c7022 for (n = fs->csize; n; n--) { /* Write dot entries and clear following sectors */ 80cbb00: 6fbb ldr r3, [r7, #120] ; 0x78 80cbb02: 3b01 subs r3, #1 80cbb04: 67bb str r3, [r7, #120] ; 0x78 80cbb06: 6fbb ldr r3, [r7, #120] ; 0x78 80cbb08: 2b00 cmp r3, #0 80cbb0a: d1e0 bne.n 80cbace 80cbb0c: e000 b.n 80cbb10 if (res != FR_OK) break; 80cbb0e: bf00 nop } } if (res == FR_OK) { 80cbb10: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cbb14: 2b00 cmp r3, #0 80cbb16: d107 bne.n 80cbb28 res = dir_register(&dj); /* Register the object to the directoy */ 80cbb18: f107 0310 add.w r3, r7, #16 80cbb1c: 4618 mov r0, r3 80cbb1e: f7fd f9cb bl 80c8eb8 80cbb22: 4603 mov r3, r0 80cbb24: f887 307f strb.w r3, [r7, #127] ; 0x7f } if (res == FR_OK) { 80cbb28: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cbb2c: 2b00 cmp r3, #0 80cbb2e: d159 bne.n 80cbbe4 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* Initialize directory entry block */ 80cbb30: 68fb ldr r3, [r7, #12] 80cbb32: 781b ldrb r3, [r3, #0] 80cbb34: 2b04 cmp r3, #4 80cbb36: d134 bne.n 80cbba2 st_dword(fs->dirbuf + XDIR_ModTime, tm); /* Created time */ 80cbb38: 68fb ldr r3, [r7, #12] 80cbb3a: 691b ldr r3, [r3, #16] 80cbb3c: 330c adds r3, #12 80cbb3e: 6eb9 ldr r1, [r7, #104] ; 0x68 80cbb40: 4618 mov r0, r3 80cbb42: f7fb f990 bl 80c6e66 st_dword(fs->dirbuf + XDIR_FstClus, dcl); /* Table start cluster */ 80cbb46: 68fb ldr r3, [r7, #12] 80cbb48: 691b ldr r3, [r3, #16] 80cbb4a: 3334 adds r3, #52 ; 0x34 80cbb4c: 6ef9 ldr r1, [r7, #108] ; 0x6c 80cbb4e: 4618 mov r0, r3 80cbb50: f7fb f989 bl 80c6e66 st_dword(fs->dirbuf + XDIR_FileSize, (DWORD)dj.obj.objsize); /* File size needs to be valid */ 80cbb54: 68fb ldr r3, [r7, #12] 80cbb56: 691b ldr r3, [r3, #16] 80cbb58: f103 0238 add.w r2, r3, #56 ; 0x38 80cbb5c: e9d7 3408 ldrd r3, r4, [r7, #32] 80cbb60: 4619 mov r1, r3 80cbb62: 4610 mov r0, r2 80cbb64: f7fb f97f bl 80c6e66 st_dword(fs->dirbuf + XDIR_ValidFileSize, (DWORD)dj.obj.objsize); 80cbb68: 68fb ldr r3, [r7, #12] 80cbb6a: 691b ldr r3, [r3, #16] 80cbb6c: f103 0228 add.w r2, r3, #40 ; 0x28 80cbb70: e9d7 3408 ldrd r3, r4, [r7, #32] 80cbb74: 4619 mov r1, r3 80cbb76: 4610 mov r0, r2 80cbb78: f7fb f975 bl 80c6e66 fs->dirbuf[XDIR_GenFlags] = 3; /* Initialize the object flag (contiguous) */ 80cbb7c: 68fb ldr r3, [r7, #12] 80cbb7e: 691b ldr r3, [r3, #16] 80cbb80: 3321 adds r3, #33 ; 0x21 80cbb82: 2203 movs r2, #3 80cbb84: 701a strb r2, [r3, #0] fs->dirbuf[XDIR_Attr] = AM_DIR; /* Attribute */ 80cbb86: 68fb ldr r3, [r7, #12] 80cbb88: 691b ldr r3, [r3, #16] 80cbb8a: 3304 adds r3, #4 80cbb8c: 2210 movs r2, #16 80cbb8e: 701a strb r2, [r3, #0] res = store_xdir(&dj); 80cbb90: f107 0310 add.w r3, r7, #16 80cbb94: 4618 mov r0, r3 80cbb96: f7fc fed5 bl 80c8944 80cbb9a: 4603 mov r3, r0 80cbb9c: f887 307f strb.w r3, [r7, #127] ; 0x7f 80cbba0: e014 b.n 80cbbcc } else #endif { dir = dj.dir; 80cbba2: 6cfb ldr r3, [r7, #76] ; 0x4c 80cbba4: 667b str r3, [r7, #100] ; 0x64 st_dword(dir + DIR_ModTime, tm); /* Created time */ 80cbba6: 6e7b ldr r3, [r7, #100] ; 0x64 80cbba8: 3316 adds r3, #22 80cbbaa: 6eb9 ldr r1, [r7, #104] ; 0x68 80cbbac: 4618 mov r0, r3 80cbbae: f7fb f95a bl 80c6e66 st_clust(fs, dir, dcl); /* Table start cluster */ 80cbbb2: 68fb ldr r3, [r7, #12] 80cbbb4: 6efa ldr r2, [r7, #108] ; 0x6c 80cbbb6: 6e79 ldr r1, [r7, #100] ; 0x64 80cbbb8: 4618 mov r0, r3 80cbbba: f7fc faa8 bl 80c810e dir[DIR_Attr] = AM_DIR; /* Attribute */ 80cbbbe: 6e7b ldr r3, [r7, #100] ; 0x64 80cbbc0: 330b adds r3, #11 80cbbc2: 2210 movs r2, #16 80cbbc4: 701a strb r2, [r3, #0] fs->wflag = 1; 80cbbc6: 68fb ldr r3, [r7, #12] 80cbbc8: 2201 movs r2, #1 80cbbca: 70da strb r2, [r3, #3] } if (res == FR_OK) { 80cbbcc: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80cbbd0: 2b00 cmp r3, #0 80cbbd2: d10e bne.n 80cbbf2 res = sync_fs(fs); 80cbbd4: 68fb ldr r3, [r7, #12] 80cbbd6: 4618 mov r0, r3 80cbbd8: f7fb faf0 bl 80c71bc 80cbbdc: 4603 mov r3, r0 80cbbde: f887 307f strb.w r3, [r7, #127] ; 0x7f 80cbbe2: e006 b.n 80cbbf2 } } else { remove_chain(&dj.obj, dcl, 0); /* Could not register, remove cluster chain */ 80cbbe4: f107 0310 add.w r3, r7, #16 80cbbe8: 2200 movs r2, #0 80cbbea: 6ef9 ldr r1, [r7, #108] ; 0x6c 80cbbec: 4618 mov r0, r3 80cbbee: f7fb fec5 bl 80c797c } } FREE_NAMBUF(); } LEAVE_FF(fs, res); 80cbbf2: f897 307f ldrb.w r3, [r7, #127] ; 0x7f } 80cbbf6: 4618 mov r0, r3 80cbbf8: 3784 adds r7, #132 ; 0x84 80cbbfa: 46bd mov sp, r7 80cbbfc: bd90 pop {r4, r7, pc} ... 080cbc00 : /*-----------------------------------------------------------------------*/ FRESULT f_setlabel ( const TCHAR* label /* Pointer to the volume label to set */ ) { 80cbc00: b580 push {r7, lr} 80cbc02: b0a4 sub sp, #144 ; 0x90 80cbc04: af00 add r7, sp, #0 80cbc06: 6078 str r0, [r7, #4] WCHAR w; static const char badchr[] = "\"*+,.:;<=>\?[]|\x7F"; /* Get logical drive */ res = find_volume(&label, &fs, FA_WRITE); 80cbc08: f107 0124 add.w r1, r7, #36 ; 0x24 80cbc0c: 1d3b adds r3, r7, #4 80cbc0e: 2202 movs r2, #2 80cbc10: 4618 mov r0, r3 80cbc12: f7fd ff43 bl 80c9a9c 80cbc16: 4603 mov r3, r0 80cbc18: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res != FR_OK) LEAVE_FF(fs, res); 80cbc1c: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80cbc20: 2b00 cmp r3, #0 80cbc22: d002 beq.n 80cbc2a 80cbc24: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80cbc28: e186 b.n 80cbf38 dj.obj.fs = fs; 80cbc2a: 6a7b ldr r3, [r7, #36] ; 0x24 80cbc2c: 62bb str r3, [r7, #40] ; 0x28 /* Get length of given volume label */ for (slen = 0; (UINT)label[slen] >= ' '; slen++) ; /* Get name length */ 80cbc2e: 2300 movs r3, #0 80cbc30: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80cbc34: e004 b.n 80cbc40 80cbc36: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cbc3a: 3301 adds r3, #1 80cbc3c: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80cbc40: 687a ldr r2, [r7, #4] 80cbc42: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cbc46: 4413 add r3, r2 80cbc48: 781b ldrb r3, [r3, #0] 80cbc4a: 2b1f cmp r3, #31 80cbc4c: d8f3 bhi.n 80cbc36 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80cbc4e: 6a7b ldr r3, [r7, #36] ; 0x24 80cbc50: 781b ldrb r3, [r3, #0] 80cbc52: 2b04 cmp r3, #4 80cbc54: d14d bne.n 80cbcf2 for (i = j = 0; i < slen; ) { /* Create volume label in directory form */ 80cbc56: 2300 movs r3, #0 80cbc58: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80cbc5c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cbc60: f8c7 3088 str.w r3, [r7, #136] ; 0x88 80cbc64: e035 b.n 80cbcd2 w = label[i++]; 80cbc66: 687a ldr r2, [r7, #4] 80cbc68: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80cbc6c: 1c59 adds r1, r3, #1 80cbc6e: f8c7 1088 str.w r1, [r7, #136] ; 0x88 80cbc72: 4413 add r3, r2 80cbc74: 781b ldrb r3, [r3, #0] 80cbc76: 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); 80cbc7a: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cbc7e: 2101 movs r1, #1 80cbc80: 4618 mov r0, r3 80cbc82: f001 fa9f bl 80cd1c4 80cbc86: 4603 mov r3, r0 80cbc88: 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 */ 80cbc8c: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cbc90: 2b00 cmp r3, #0 80cbc92: d00c beq.n 80cbcae 80cbc94: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cbc98: 4619 mov r1, r3 80cbc9a: 48a9 ldr r0, [pc, #676] ; (80cbf40 ) 80cbc9c: f7fb fa02 bl 80c70a4 80cbca0: 4603 mov r3, r0 80cbca2: 2b00 cmp r3, #0 80cbca4: d103 bne.n 80cbcae 80cbca6: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cbcaa: 2b16 cmp r3, #22 80cbcac: d101 bne.n 80cbcb2 LEAVE_FF(fs, FR_INVALID_NAME); 80cbcae: 2306 movs r3, #6 80cbcb0: e142 b.n 80cbf38 } st_word(dirvn + j, w); j += 2; 80cbcb2: f107 020c add.w r2, r7, #12 80cbcb6: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cbcba: 4413 add r3, r2 80cbcbc: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e 80cbcc0: 4611 mov r1, r2 80cbcc2: 4618 mov r0, r3 80cbcc4: f7fb f8b4 bl 80c6e30 80cbcc8: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cbccc: 3302 adds r3, #2 80cbcce: f8c7 3084 str.w r3, [r7, #132] ; 0x84 for (i = j = 0; i < slen; ) { /* Create volume label in directory form */ 80cbcd2: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80cbcd6: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cbcda: 429a cmp r2, r3 80cbcdc: d3c3 bcc.n 80cbc66 } slen = j; 80cbcde: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cbce2: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80cbce6: e08e b.n 80cbe06 } else #endif { /* On the FAT12/16/32 volume */ for ( ; slen && label[slen - 1] == ' '; slen--) ; /* Remove trailing spaces */ 80cbce8: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cbcec: 3b01 subs r3, #1 80cbcee: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80cbcf2: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cbcf6: 2b00 cmp r3, #0 80cbcf8: d007 beq.n 80cbd0a 80cbcfa: 687a ldr r2, [r7, #4] 80cbcfc: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cbd00: 3b01 subs r3, #1 80cbd02: 4413 add r3, r2 80cbd04: 781b ldrb r3, [r3, #0] 80cbd06: 2b20 cmp r3, #32 80cbd08: d0ee beq.n 80cbce8 if (slen) { /* Is there a volume label to be set? */ 80cbd0a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cbd0e: 2b00 cmp r3, #0 80cbd10: d079 beq.n 80cbe06 dirvn[0] = 0; i = j = 0; /* Create volume label in directory form */ 80cbd12: 2300 movs r3, #0 80cbd14: 733b strb r3, [r7, #12] 80cbd16: 2300 movs r3, #0 80cbd18: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80cbd1c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cbd20: 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++]; 80cbd24: 687a ldr r2, [r7, #4] 80cbd26: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80cbd2a: 1c59 adds r1, r3, #1 80cbd2c: f8c7 1088 str.w r1, [r7, #136] ; 0x88 80cbd30: 4413 add r3, r2 80cbd32: 781b ldrb r3, [r3, #0] 80cbd34: 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); 80cbd38: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cbd3c: 2101 movs r1, #1 80cbd3e: 4618 mov r0, r3 80cbd40: f001 fa40 bl 80cd1c4 80cbd44: 4603 mov r3, r0 80cbd46: 4618 mov r0, r3 80cbd48: f001 fa78 bl 80cd23c 80cbd4c: 4603 mov r3, r0 80cbd4e: 2100 movs r1, #0 80cbd50: 4618 mov r0, r3 80cbd52: f001 fa37 bl 80cd1c4 80cbd56: 4603 mov r3, r0 80cbd58: 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 */ 80cbd5c: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cbd60: 2b00 cmp r3, #0 80cbd62: d013 beq.n 80cbd8c 80cbd64: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cbd68: 4619 mov r1, r3 80cbd6a: 4875 ldr r0, [pc, #468] ; (80cbf40 ) 80cbd6c: f7fb f99a bl 80c70a4 80cbd70: 4603 mov r3, r0 80cbd72: 2b00 cmp r3, #0 80cbd74: d10a bne.n 80cbd8c 80cbd76: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cbd7a: 2bff cmp r3, #255 ; 0xff 80cbd7c: d901 bls.n 80cbd82 80cbd7e: 220a movs r2, #10 80cbd80: e000 b.n 80cbd84 80cbd82: 220b movs r2, #11 80cbd84: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cbd88: 429a cmp r2, r3 80cbd8a: d801 bhi.n 80cbd90 LEAVE_FF(fs, FR_INVALID_NAME); 80cbd8c: 2306 movs r3, #6 80cbd8e: e0d3 b.n 80cbf38 } if (w >= 0x100) dirvn[j++] = (BYTE)(w >> 8); 80cbd90: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80cbd94: 2bff cmp r3, #255 ; 0xff 80cbd96: d90e bls.n 80cbdb6 80cbd98: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cbd9c: 1c5a adds r2, r3, #1 80cbd9e: f8c7 2084 str.w r2, [r7, #132] ; 0x84 80cbda2: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e 80cbda6: 0a12 lsrs r2, r2, #8 80cbda8: b292 uxth r2, r2 80cbdaa: b2d2 uxtb r2, r2 80cbdac: f107 0190 add.w r1, r7, #144 ; 0x90 80cbdb0: 440b add r3, r1 80cbdb2: f803 2c84 strb.w r2, [r3, #-132] dirvn[j++] = (BYTE)w; 80cbdb6: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cbdba: 1c5a adds r2, r3, #1 80cbdbc: f8c7 2084 str.w r2, [r7, #132] ; 0x84 80cbdc0: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e 80cbdc4: b2d2 uxtb r2, r2 80cbdc6: f107 0190 add.w r1, r7, #144 ; 0x90 80cbdca: 440b add r3, r1 80cbdcc: f803 2c84 strb.w r2, [r3, #-132] } while (i < slen); 80cbdd0: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80cbdd4: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cbdd8: 429a cmp r2, r3 80cbdda: d3a3 bcc.n 80cbd24 while (j < 11) dirvn[j++] = ' '; /* Fill remaining name field */ 80cbddc: e00a b.n 80cbdf4 80cbdde: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cbde2: 1c5a adds r2, r3, #1 80cbde4: f8c7 2084 str.w r2, [r7, #132] ; 0x84 80cbde8: f107 0290 add.w r2, r7, #144 ; 0x90 80cbdec: 4413 add r3, r2 80cbdee: 2220 movs r2, #32 80cbdf0: f803 2c84 strb.w r2, [r3, #-132] 80cbdf4: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80cbdf8: 2b0a cmp r3, #10 80cbdfa: d9f0 bls.n 80cbdde if (dirvn[0] == DDEM) LEAVE_FF(fs, FR_INVALID_NAME); /* Reject illegal name (heading DDEM) */ 80cbdfc: 7b3b ldrb r3, [r7, #12] 80cbdfe: 2be5 cmp r3, #229 ; 0xe5 80cbe00: d101 bne.n 80cbe06 80cbe02: 2306 movs r3, #6 80cbe04: e098 b.n 80cbf38 } } /* Set volume label */ dj.obj.sclust = 0; /* Open root directory */ 80cbe06: 2300 movs r3, #0 80cbe08: 633b str r3, [r7, #48] ; 0x30 res = dir_sdi(&dj, 0); 80cbe0a: f107 0328 add.w r3, r7, #40 ; 0x28 80cbe0e: 2100 movs r1, #0 80cbe10: 4618 mov r0, r3 80cbe12: f7fb ffa6 bl 80c7d62 80cbe16: 4603 mov r3, r0 80cbe18: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res == FR_OK) { 80cbe1c: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80cbe20: 2b00 cmp r3, #0 80cbe22: f040 8087 bne.w 80cbf34 res = dir_read(&dj, 1); /* Get volume label entry */ 80cbe26: f107 0328 add.w r3, r7, #40 ; 0x28 80cbe2a: 2101 movs r1, #1 80cbe2c: 4618 mov r0, r3 80cbe2e: f7fc fe4b bl 80c8ac8 80cbe32: 4603 mov r3, r0 80cbe34: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res == FR_OK) { 80cbe38: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80cbe3c: 2b00 cmp r3, #0 80cbe3e: d12e bne.n 80cbe9e if (_FS_EXFAT && fs->fs_type == FS_EXFAT) { 80cbe40: 6a7b ldr r3, [r7, #36] ; 0x24 80cbe42: 781b ldrb r3, [r3, #0] 80cbe44: 2b04 cmp r3, #4 80cbe46: d110 bne.n 80cbe6a dj.dir[XDIR_NumLabel] = (BYTE)(slen / 2); /* Change the volume label */ 80cbe48: 6e7b ldr r3, [r7, #100] ; 0x64 80cbe4a: 3301 adds r3, #1 80cbe4c: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80cbe50: 0852 lsrs r2, r2, #1 80cbe52: b2d2 uxtb r2, r2 80cbe54: 701a strb r2, [r3, #0] mem_cpy(dj.dir + XDIR_Label, dirvn, slen); 80cbe56: 6e7b ldr r3, [r7, #100] ; 0x64 80cbe58: 3302 adds r3, #2 80cbe5a: f107 010c add.w r1, r7, #12 80cbe5e: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80cbe62: 4618 mov r0, r3 80cbe64: f7fb f8bc bl 80c6fe0 80cbe68: e00e b.n 80cbe88 } else { if (slen) { 80cbe6a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cbe6e: 2b00 cmp r3, #0 80cbe70: d007 beq.n 80cbe82 mem_cpy(dj.dir, dirvn, 11); /* Change the volume label */ 80cbe72: 6e7b ldr r3, [r7, #100] ; 0x64 80cbe74: f107 010c add.w r1, r7, #12 80cbe78: 220b movs r2, #11 80cbe7a: 4618 mov r0, r3 80cbe7c: f7fb f8b0 bl 80c6fe0 80cbe80: e002 b.n 80cbe88 } else { dj.dir[DIR_Name] = DDEM; /* Remove the volume label */ 80cbe82: 6e7b ldr r3, [r7, #100] ; 0x64 80cbe84: 22e5 movs r2, #229 ; 0xe5 80cbe86: 701a strb r2, [r3, #0] } } fs->wflag = 1; 80cbe88: 6a7b ldr r3, [r7, #36] ; 0x24 80cbe8a: 2201 movs r2, #1 80cbe8c: 70da strb r2, [r3, #3] res = sync_fs(fs); 80cbe8e: 6a7b ldr r3, [r7, #36] ; 0x24 80cbe90: 4618 mov r0, r3 80cbe92: f7fb f993 bl 80c71bc 80cbe96: 4603 mov r3, r0 80cbe98: f887 308f strb.w r3, [r7, #143] ; 0x8f 80cbe9c: e04a b.n 80cbf34 } else { /* No volume label entry is found or error */ if (res == FR_NO_FILE) { 80cbe9e: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80cbea2: 2b04 cmp r3, #4 80cbea4: d146 bne.n 80cbf34 res = FR_OK; 80cbea6: 2300 movs r3, #0 80cbea8: f887 308f strb.w r3, [r7, #143] ; 0x8f if (slen) { /* Create a volume label entry */ 80cbeac: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cbeb0: 2b00 cmp r3, #0 80cbeb2: d03f beq.n 80cbf34 res = dir_alloc(&dj, 1); /* Allocate an entry */ 80cbeb4: f107 0328 add.w r3, r7, #40 ; 0x28 80cbeb8: 2101 movs r1, #1 80cbeba: 4618 mov r0, r3 80cbebc: f7fc f8ac bl 80c8018 80cbec0: 4603 mov r3, r0 80cbec2: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res == FR_OK) { 80cbec6: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80cbeca: 2b00 cmp r3, #0 80cbecc: d132 bne.n 80cbf34 mem_set(dj.dir, 0, SZDIRE); /* Clear the entry */ 80cbece: 6e7b ldr r3, [r7, #100] ; 0x64 80cbed0: 2220 movs r2, #32 80cbed2: 2100 movs r1, #0 80cbed4: 4618 mov r0, r3 80cbed6: f7fb f8a4 bl 80c7022 if (_FS_EXFAT && fs->fs_type == FS_EXFAT) { 80cbeda: 6a7b ldr r3, [r7, #36] ; 0x24 80cbedc: 781b ldrb r3, [r3, #0] 80cbede: 2b04 cmp r3, #4 80cbee0: d113 bne.n 80cbf0a dj.dir[XDIR_Type] = 0x83; /* Create 83 entry */ 80cbee2: 6e7b ldr r3, [r7, #100] ; 0x64 80cbee4: 2283 movs r2, #131 ; 0x83 80cbee6: 701a strb r2, [r3, #0] dj.dir[XDIR_NumLabel] = (BYTE)(slen / 2); 80cbee8: 6e7b ldr r3, [r7, #100] ; 0x64 80cbeea: 3301 adds r3, #1 80cbeec: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80cbef0: 0852 lsrs r2, r2, #1 80cbef2: b2d2 uxtb r2, r2 80cbef4: 701a strb r2, [r3, #0] mem_cpy(dj.dir + XDIR_Label, dirvn, slen); 80cbef6: 6e7b ldr r3, [r7, #100] ; 0x64 80cbef8: 3302 adds r3, #2 80cbefa: f107 010c add.w r1, r7, #12 80cbefe: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80cbf02: 4618 mov r0, r3 80cbf04: f7fb f86c bl 80c6fe0 80cbf08: e00a b.n 80cbf20 } else { dj.dir[DIR_Attr] = AM_VOL; /* Create volume label entry */ 80cbf0a: 6e7b ldr r3, [r7, #100] ; 0x64 80cbf0c: 330b adds r3, #11 80cbf0e: 2208 movs r2, #8 80cbf10: 701a strb r2, [r3, #0] mem_cpy(dj.dir, dirvn, 11); 80cbf12: 6e7b ldr r3, [r7, #100] ; 0x64 80cbf14: f107 010c add.w r1, r7, #12 80cbf18: 220b movs r2, #11 80cbf1a: 4618 mov r0, r3 80cbf1c: f7fb f860 bl 80c6fe0 } fs->wflag = 1; 80cbf20: 6a7b ldr r3, [r7, #36] ; 0x24 80cbf22: 2201 movs r2, #1 80cbf24: 70da strb r2, [r3, #3] res = sync_fs(fs); 80cbf26: 6a7b ldr r3, [r7, #36] ; 0x24 80cbf28: 4618 mov r0, r3 80cbf2a: f7fb f947 bl 80c71bc 80cbf2e: 4603 mov r3, r0 80cbf30: f887 308f strb.w r3, [r7, #143] ; 0x8f } } } } LEAVE_FF(fs, res); 80cbf34: f897 308f ldrb.w r3, [r7, #143] ; 0x8f } 80cbf38: 4618 mov r0, r3 80cbf3a: 3790 adds r7, #144 ; 0x90 80cbf3c: 46bd mov sp, r7 80cbf3e: bd80 pop {r7, pc} 80cbf40: 0816e06c .word 0x0816e06c 080cbf44 : BYTE opt, /* Format option */ DWORD au, /* Size of allocation unit (cluster) [byte] */ void* work, /* Pointer to working buffer */ UINT len /* Size of working buffer */ ) { 80cbf44: b590 push {r4, r7, lr} 80cbf46: b0a9 sub sp, #164 ; 0xa4 80cbf48: af00 add r7, sp, #0 80cbf4a: 60f8 str r0, [r7, #12] 80cbf4c: 607a str r2, [r7, #4] 80cbf4e: 603b str r3, [r7, #0] 80cbf50: 460b mov r3, r1 80cbf52: 72fb strb r3, [r7, #11] const UINT n_fats = 1; /* Number of FATs for FAT12/16/32 volume (1 or 2) */ 80cbf54: 2301 movs r3, #1 80cbf56: 657b str r3, [r7, #84] ; 0x54 const UINT n_rootdir = 512; /* Number of root directory entries for FAT12/16 volume */ 80cbf58: f44f 7300 mov.w r3, #512 ; 0x200 80cbf5c: 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 */ 80cbf5e: f107 030c add.w r3, r7, #12 80cbf62: 4618 mov r0, r3 80cbf64: f7fd fcf2 bl 80c994c 80cbf68: 64f8 str r0, [r7, #76] ; 0x4c if (vol < 0) return FR_INVALID_DRIVE; 80cbf6a: 6cfb ldr r3, [r7, #76] ; 0x4c 80cbf6c: 2b00 cmp r3, #0 80cbf6e: da02 bge.n 80cbf76 80cbf70: 230b movs r3, #11 80cbf72: f001 b8c4 b.w 80cd0fe if (FatFs[vol]) FatFs[vol]->fs_type = 0; /* Clear the volume */ 80cbf76: 4abf ldr r2, [pc, #764] ; (80cc274 ) 80cbf78: 6cfb ldr r3, [r7, #76] ; 0x4c 80cbf7a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80cbf7e: 2b00 cmp r3, #0 80cbf80: d005 beq.n 80cbf8e 80cbf82: 4abc ldr r2, [pc, #752] ; (80cc274 ) 80cbf84: 6cfb ldr r3, [r7, #76] ; 0x4c 80cbf86: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80cbf8a: 2200 movs r2, #0 80cbf8c: 701a strb r2, [r3, #0] pdrv = LD2PD(vol); /* Physical drive */ 80cbf8e: 6cfb ldr r3, [r7, #76] ; 0x4c 80cbf90: f887 304b strb.w r3, [r7, #75] ; 0x4b part = LD2PT(vol); /* Partition (0:create as new, 1-4:get from partition table) */ 80cbf94: 2300 movs r3, #0 80cbf96: f887 304a strb.w r3, [r7, #74] ; 0x4a /* Check physical drive status */ stat = disk_initialize(pdrv); 80cbf9a: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80cbf9e: 4618 mov r0, r3 80cbfa0: f7fa fdd8 bl 80c6b54 80cbfa4: 4603 mov r3, r0 80cbfa6: f887 3049 strb.w r3, [r7, #73] ; 0x49 if (stat & STA_NOINIT) return FR_NOT_READY; 80cbfaa: f897 3049 ldrb.w r3, [r7, #73] ; 0x49 80cbfae: f003 0301 and.w r3, r3, #1 80cbfb2: 2b00 cmp r3, #0 80cbfb4: d002 beq.n 80cbfbc 80cbfb6: 2303 movs r3, #3 80cbfb8: f001 b8a1 b.w 80cd0fe if (stat & STA_PROTECT) return FR_WRITE_PROTECTED; 80cbfbc: f897 3049 ldrb.w r3, [r7, #73] ; 0x49 80cbfc0: f003 0304 and.w r3, r3, #4 80cbfc4: 2b00 cmp r3, #0 80cbfc6: d002 beq.n 80cbfce 80cbfc8: 230a movs r3, #10 80cbfca: f001 b898 b.w 80cd0fe 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 */ 80cbfce: f107 0220 add.w r2, r7, #32 80cbfd2: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80cbfd6: 2103 movs r1, #3 80cbfd8: 4618 mov r0, r3 80cbfda: f7fa fe21 bl 80c6c20 80cbfde: 4603 mov r3, r0 80cbfe0: 2b00 cmp r3, #0 80cbfe2: d10c bne.n 80cbffe 80cbfe4: 6a3b ldr r3, [r7, #32] 80cbfe6: 2b00 cmp r3, #0 80cbfe8: d009 beq.n 80cbffe 80cbfea: 6a3b ldr r3, [r7, #32] 80cbfec: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80cbff0: d805 bhi.n 80cbffe 80cbff2: 6a3b ldr r3, [r7, #32] 80cbff4: 1e5a subs r2, r3, #1 80cbff6: 6a3b ldr r3, [r7, #32] 80cbff8: 4013 ands r3, r2 80cbffa: 2b00 cmp r3, #0 80cbffc: d001 beq.n 80cc002 80cbffe: 2301 movs r3, #1 80cc000: 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; 80cc002: f44f 7300 mov.w r3, #512 ; 0x200 80cc006: 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 */ 80cc00a: 687b ldr r3, [r7, #4] 80cc00c: 2b00 cmp r3, #0 80cc00e: d004 beq.n 80cc01a 80cc010: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80cc014: 687b ldr r3, [r7, #4] 80cc016: 429a cmp r2, r3 80cc018: d809 bhi.n 80cc02e 80cc01a: 687b ldr r3, [r7, #4] 80cc01c: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 80cc020: d805 bhi.n 80cc02e 80cc022: 687b ldr r3, [r7, #4] 80cc024: 1e5a subs r2, r3, #1 80cc026: 687b ldr r3, [r7, #4] 80cc028: 4013 ands r3, r2 80cc02a: 2b00 cmp r3, #0 80cc02c: d002 beq.n 80cc034 80cc02e: 2313 movs r3, #19 80cc030: f001 b865 b.w 80cd0fe au /= ss; /* Cluster size in unit of sector */ 80cc034: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc038: 687a ldr r2, [r7, #4] 80cc03a: fbb2 f3f3 udiv r3, r2, r3 80cc03e: 607b str r3, [r7, #4] /* Get working buffer */ buf = (BYTE*)work; /* Working buffer */ 80cc040: 683b ldr r3, [r7, #0] 80cc042: 643b str r3, [r7, #64] ; 0x40 sz_buf = len / ss; /* Size of working buffer (sector) */ 80cc044: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc048: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 80cc04c: fbb2 f3f3 udiv r3, r2, r3 80cc050: 63fb str r3, [r7, #60] ; 0x3c szb_buf = sz_buf * ss; /* Size of working buffer (byte) */ 80cc052: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc056: 6bfa ldr r2, [r7, #60] ; 0x3c 80cc058: fb02 f303 mul.w r3, r2, r3 80cc05c: 63bb str r3, [r7, #56] ; 0x38 if (!szb_buf) return FR_MKFS_ABORTED; 80cc05e: 6bbb ldr r3, [r7, #56] ; 0x38 80cc060: 2b00 cmp r3, #0 80cc062: d102 bne.n 80cc06a 80cc064: 230e movs r3, #14 80cc066: f001 b84a b.w 80cd0fe 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; 80cc06a: f107 021c add.w r2, r7, #28 80cc06e: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80cc072: 2101 movs r1, #1 80cc074: 4618 mov r0, r3 80cc076: f7fa fdd3 bl 80c6c20 80cc07a: 4603 mov r3, r0 80cc07c: 2b00 cmp r3, #0 80cc07e: d002 beq.n 80cc086 80cc080: 2301 movs r3, #1 80cc082: f001 b83c b.w 80cd0fe b_vol = (opt & FM_SFD) ? 0 : 63; /* Volume start sector */ 80cc086: 7afb ldrb r3, [r7, #11] 80cc088: f003 0308 and.w r3, r3, #8 80cc08c: 2b00 cmp r3, #0 80cc08e: d001 beq.n 80cc094 80cc090: 2300 movs r3, #0 80cc092: e000 b.n 80cc096 80cc094: 233f movs r3, #63 ; 0x3f 80cc096: 637b str r3, [r7, #52] ; 0x34 if (sz_vol < b_vol) return FR_MKFS_ABORTED; 80cc098: 69fa ldr r2, [r7, #28] 80cc09a: 6b7b ldr r3, [r7, #52] ; 0x34 80cc09c: 429a cmp r2, r3 80cc09e: d202 bcs.n 80cc0a6 80cc0a0: 230e movs r3, #14 80cc0a2: f001 b82c b.w 80cd0fe sz_vol -= b_vol; /* Volume size */ 80cc0a6: 69fa ldr r2, [r7, #28] 80cc0a8: 6b7b ldr r3, [r7, #52] ; 0x34 80cc0aa: 1ad3 subs r3, r2, r3 80cc0ac: 61fb str r3, [r7, #28] } if (sz_vol < 128) return FR_MKFS_ABORTED; /* Check if volume size is >=128s */ 80cc0ae: 69fb ldr r3, [r7, #28] 80cc0b0: 2b7f cmp r3, #127 ; 0x7f 80cc0b2: d802 bhi.n 80cc0ba 80cc0b4: 230e movs r3, #14 80cc0b6: f001 b822 b.w 80cd0fe /* Pre-determine the FAT type */ do { if (_FS_EXFAT && (opt & FM_EXFAT)) { /* exFAT possible? */ 80cc0ba: 7afb ldrb r3, [r7, #11] 80cc0bc: f003 0304 and.w r3, r3, #4 80cc0c0: 2b00 cmp r3, #0 80cc0c2: d00f beq.n 80cc0e4 if ((opt & FM_ANY) == FM_EXFAT || sz_vol >= 0x4000000 || au > 128) { /* exFAT only, vol >= 64Ms or au > 128s ? */ 80cc0c4: 7afb ldrb r3, [r7, #11] 80cc0c6: f003 0307 and.w r3, r3, #7 80cc0ca: 2b04 cmp r3, #4 80cc0cc: d006 beq.n 80cc0dc 80cc0ce: 69fb ldr r3, [r7, #28] 80cc0d0: f1b3 6f80 cmp.w r3, #67108864 ; 0x4000000 80cc0d4: d202 bcs.n 80cc0dc 80cc0d6: 687b ldr r3, [r7, #4] 80cc0d8: 2b80 cmp r3, #128 ; 0x80 80cc0da: d903 bls.n 80cc0e4 fmt = FS_EXFAT; break; 80cc0dc: 2304 movs r3, #4 80cc0de: f887 309f strb.w r3, [r7, #159] ; 0x9f 80cc0e2: e023 b.n 80cc12c } } if (au > 128) return FR_INVALID_PARAMETER; /* Too large au for FAT/FAT32 */ 80cc0e4: 687b ldr r3, [r7, #4] 80cc0e6: 2b80 cmp r3, #128 ; 0x80 80cc0e8: d902 bls.n 80cc0f0 80cc0ea: 2313 movs r3, #19 80cc0ec: f001 b807 b.w 80cd0fe if (opt & FM_FAT32) { /* FAT32 possible? */ 80cc0f0: 7afb ldrb r3, [r7, #11] 80cc0f2: f003 0302 and.w r3, r3, #2 80cc0f6: 2b00 cmp r3, #0 80cc0f8: d00d beq.n 80cc116 if ((opt & FM_ANY) == FM_FAT32 || !(opt & FM_FAT)) { /* FAT32 only or no-FAT? */ 80cc0fa: 7afb ldrb r3, [r7, #11] 80cc0fc: f003 0307 and.w r3, r3, #7 80cc100: 2b02 cmp r3, #2 80cc102: d004 beq.n 80cc10e 80cc104: 7afb ldrb r3, [r7, #11] 80cc106: f003 0301 and.w r3, r3, #1 80cc10a: 2b00 cmp r3, #0 80cc10c: d103 bne.n 80cc116 fmt = FS_FAT32; break; 80cc10e: 2303 movs r3, #3 80cc110: f887 309f strb.w r3, [r7, #159] ; 0x9f 80cc114: e00a b.n 80cc12c } } if (!(opt & FM_FAT)) return FR_INVALID_PARAMETER; /* no-FAT? */ 80cc116: 7afb ldrb r3, [r7, #11] 80cc118: f003 0301 and.w r3, r3, #1 80cc11c: 2b00 cmp r3, #0 80cc11e: d102 bne.n 80cc126 80cc120: 2313 movs r3, #19 80cc122: f000 bfec b.w 80cd0fe fmt = FS_FAT16; 80cc126: 2302 movs r3, #2 80cc128: f887 309f strb.w r3, [r7, #159] ; 0x9f } while (0); #if _FS_EXFAT if (fmt == FS_EXFAT) { /* Create an exFAT volume */ 80cc12c: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cc130: 2b04 cmp r3, #4 80cc132: f040 842c bne.w 80cc98e 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? */ 80cc136: 69fb ldr r3, [r7, #28] 80cc138: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80cc13c: d202 bcs.n 80cc144 80cc13e: 230e movs r3, #14 80cc140: f000 bfdd b.w 80cd0fe #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 */ 80cc144: 687b ldr r3, [r7, #4] 80cc146: 2b00 cmp r3, #0 80cc148: d10e bne.n 80cc168 au = 8; 80cc14a: 2308 movs r3, #8 80cc14c: 607b str r3, [r7, #4] if (sz_vol >= 0x80000) au = 64; /* >= 512Ks */ 80cc14e: 69fb ldr r3, [r7, #28] 80cc150: f5b3 2f00 cmp.w r3, #524288 ; 0x80000 80cc154: d301 bcc.n 80cc15a 80cc156: 2340 movs r3, #64 ; 0x40 80cc158: 607b str r3, [r7, #4] if (sz_vol >= 0x4000000) au = 256; /* >= 64Ms */ 80cc15a: 69fb ldr r3, [r7, #28] 80cc15c: f1b3 6f80 cmp.w r3, #67108864 ; 0x4000000 80cc160: d302 bcc.n 80cc168 80cc162: f44f 7380 mov.w r3, #256 ; 0x100 80cc166: 607b str r3, [r7, #4] } b_fat = b_vol + 32; /* FAT start at offset 32 */ 80cc168: 6b7b ldr r3, [r7, #52] ; 0x34 80cc16a: 3320 adds r3, #32 80cc16c: f8c7 3088 str.w r3, [r7, #136] ; 0x88 sz_fat = ((sz_vol / au + 2) * 4 + ss - 1) / ss; /* Number of FAT sectors */ 80cc170: 69fa ldr r2, [r7, #28] 80cc172: 687b ldr r3, [r7, #4] 80cc174: fbb2 f3f3 udiv r3, r2, r3 80cc178: 3302 adds r3, #2 80cc17a: 009a lsls r2, r3, #2 80cc17c: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc180: 4413 add r3, r2 80cc182: 1e5a subs r2, r3, #1 80cc184: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc188: fbb2 f3f3 udiv r3, r2, r3 80cc18c: 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 */ 80cc190: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80cc194: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cc198: 441a add r2, r3 80cc19a: 6a3b ldr r3, [r7, #32] 80cc19c: 4413 add r3, r2 80cc19e: 1e5a subs r2, r3, #1 80cc1a0: 6a3b ldr r3, [r7, #32] 80cc1a2: 425b negs r3, r3 80cc1a4: 4013 ands r3, r2 80cc1a6: 633b str r3, [r7, #48] ; 0x30 if (b_data >= sz_vol / 2) return FR_MKFS_ABORTED; /* Too small volume? */ 80cc1a8: 69fb ldr r3, [r7, #28] 80cc1aa: 085a lsrs r2, r3, #1 80cc1ac: 6b3b ldr r3, [r7, #48] ; 0x30 80cc1ae: 429a cmp r2, r3 80cc1b0: d802 bhi.n 80cc1b8 80cc1b2: 230e movs r3, #14 80cc1b4: f000 bfa3 b.w 80cd0fe n_clst = (sz_vol - (b_data - b_vol)) / au; /* Number of clusters */ 80cc1b8: 6b7a ldr r2, [r7, #52] ; 0x34 80cc1ba: 6b3b ldr r3, [r7, #48] ; 0x30 80cc1bc: 1ad2 subs r2, r2, r3 80cc1be: 69fb ldr r3, [r7, #28] 80cc1c0: 441a add r2, r3 80cc1c2: 687b ldr r3, [r7, #4] 80cc1c4: fbb2 f3f3 udiv r3, r2, r3 80cc1c8: 62fb str r3, [r7, #44] ; 0x2c if (n_clst <16) return FR_MKFS_ABORTED; /* Too few clusters? */ 80cc1ca: 6afb ldr r3, [r7, #44] ; 0x2c 80cc1cc: 2b0f cmp r3, #15 80cc1ce: d802 bhi.n 80cc1d6 80cc1d0: 230e movs r3, #14 80cc1d2: f000 bf94 b.w 80cd0fe if (n_clst > MAX_EXFAT) return FR_MKFS_ABORTED; /* Too many clusters? */ 80cc1d6: 6afb ldr r3, [r7, #44] ; 0x2c 80cc1d8: 4a27 ldr r2, [pc, #156] ; (80cc278 ) 80cc1da: 4293 cmp r3, r2 80cc1dc: d902 bls.n 80cc1e4 80cc1de: 230e movs r3, #14 80cc1e0: f000 bf8d b.w 80cd0fe szb_bit = (n_clst + 7) / 8; /* Size of allocation bitmap */ 80cc1e4: 6afb ldr r3, [r7, #44] ; 0x2c 80cc1e6: 3307 adds r3, #7 80cc1e8: 08db lsrs r3, r3, #3 80cc1ea: 62bb str r3, [r7, #40] ; 0x28 tbl[0] = (szb_bit + au * ss - 1) / (au * ss); /* Number of allocation bitmap clusters */ 80cc1ec: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc1f0: 687a ldr r2, [r7, #4] 80cc1f2: fb02 f203 mul.w r2, r2, r3 80cc1f6: 6abb ldr r3, [r7, #40] ; 0x28 80cc1f8: 4413 add r3, r2 80cc1fa: 1e5a subs r2, r3, #1 80cc1fc: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc200: 6879 ldr r1, [r7, #4] 80cc202: fb01 f303 mul.w r3, r1, r3 80cc206: fbb2 f3f3 udiv r3, r2, r3 80cc20a: 613b str r3, [r7, #16] /* Create a compressed up-case table */ sect = b_data + au * tbl[0]; /* Table start sector */ 80cc20c: 693b ldr r3, [r7, #16] 80cc20e: 687a ldr r2, [r7, #4] 80cc210: fb02 f203 mul.w r2, r2, r3 80cc214: 6b3b ldr r3, [r7, #48] ; 0x30 80cc216: 4413 add r3, r2 80cc218: f8c7 3094 str.w r3, [r7, #148] ; 0x94 sum = 0; /* Table checksum to be stored in the 82 entry */ 80cc21c: 2300 movs r3, #0 80cc21e: 673b str r3, [r7, #112] ; 0x70 st = si = i = j = szb_case = 0; 80cc220: 2300 movs r3, #0 80cc222: 677b str r3, [r7, #116] ; 0x74 80cc224: 2300 movs r3, #0 80cc226: 663b str r3, [r7, #96] ; 0x60 80cc228: 6e3b ldr r3, [r7, #96] ; 0x60 80cc22a: 67bb str r3, [r7, #120] ; 0x78 80cc22c: 6fbb ldr r3, [r7, #120] ; 0x78 80cc22e: f8a7 3064 strh.w r3, [r7, #100] ; 0x64 80cc232: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cc236: 65fb str r3, [r7, #92] ; 0x5c do { switch (st) { 80cc238: 6dfb ldr r3, [r7, #92] ; 0x5c 80cc23a: 2b00 cmp r3, #0 80cc23c: d002 beq.n 80cc244 80cc23e: 2b01 cmp r3, #1 80cc240: d045 beq.n 80cc2ce 80cc242: e054 b.n 80cc2ee case 0: ch = ff_wtoupper(si); /* Get an up-case char */ 80cc244: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cc248: 4618 mov r0, r3 80cc24a: f000 fff7 bl 80cd23c 80cc24e: 4603 mov r3, r0 80cc250: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 if (ch != si) { 80cc254: f8b7 2066 ldrh.w r2, [r7, #102] ; 0x66 80cc258: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cc25c: 429a cmp r2, r3 80cc25e: d005 beq.n 80cc26c si++; break; /* Store the up-case char if exist */ 80cc260: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cc264: 3301 adds r3, #1 80cc266: f8a7 3064 strh.w r3, [r7, #100] ; 0x64 80cc26a: e04e b.n 80cc30a } for (j = 1; (WCHAR)(si + j) && (WCHAR)(si + j) == ff_wtoupper((WCHAR)(si + j)); j++) ; /* Get run length of no-case block */ 80cc26c: 2301 movs r3, #1 80cc26e: 663b str r3, [r7, #96] ; 0x60 80cc270: e007 b.n 80cc282 80cc272: bf00 nop 80cc274: 200216f4 .word 0x200216f4 80cc278: 7ffffffd .word 0x7ffffffd 80cc27c: 6e3b ldr r3, [r7, #96] ; 0x60 80cc27e: 3301 adds r3, #1 80cc280: 663b str r3, [r7, #96] ; 0x60 80cc282: 6e3b ldr r3, [r7, #96] ; 0x60 80cc284: b29a uxth r2, r3 80cc286: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cc28a: 4413 add r3, r2 80cc28c: b29b uxth r3, r3 80cc28e: 2b00 cmp r3, #0 80cc290: d011 beq.n 80cc2b6 80cc292: 6e3b ldr r3, [r7, #96] ; 0x60 80cc294: b29a uxth r2, r3 80cc296: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cc29a: 4413 add r3, r2 80cc29c: b29c uxth r4, r3 80cc29e: 6e3b ldr r3, [r7, #96] ; 0x60 80cc2a0: b29a uxth r2, r3 80cc2a2: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cc2a6: 4413 add r3, r2 80cc2a8: b29b uxth r3, r3 80cc2aa: 4618 mov r0, r3 80cc2ac: f000 ffc6 bl 80cd23c 80cc2b0: 4603 mov r3, r0 80cc2b2: 429c cmp r4, r3 80cc2b4: d0e2 beq.n 80cc27c if (j >= 128) { 80cc2b6: 6e3b ldr r3, [r7, #96] ; 0x60 80cc2b8: 2b7f cmp r3, #127 ; 0x7f 80cc2ba: d906 bls.n 80cc2ca ch = 0xFFFF; st = 2; break; /* Compress the no-case block if run is >= 128 */ 80cc2bc: f64f 73ff movw r3, #65535 ; 0xffff 80cc2c0: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 80cc2c4: 2302 movs r3, #2 80cc2c6: 65fb str r3, [r7, #92] ; 0x5c 80cc2c8: e01f b.n 80cc30a } st = 1; /* Do not compress short run */ 80cc2ca: 2301 movs r3, #1 80cc2cc: 65fb str r3, [r7, #92] ; 0x5c /* go to next case */ case 1: ch = si++; /* Fill the short run */ 80cc2ce: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cc2d2: 1c5a adds r2, r3, #1 80cc2d4: f8a7 2064 strh.w r2, [r7, #100] ; 0x64 80cc2d8: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 if (--j == 0) st = 0; 80cc2dc: 6e3b ldr r3, [r7, #96] ; 0x60 80cc2de: 3b01 subs r3, #1 80cc2e0: 663b str r3, [r7, #96] ; 0x60 80cc2e2: 6e3b ldr r3, [r7, #96] ; 0x60 80cc2e4: 2b00 cmp r3, #0 80cc2e6: d10f bne.n 80cc308 80cc2e8: 2300 movs r3, #0 80cc2ea: 65fb str r3, [r7, #92] ; 0x5c break; 80cc2ec: e00c b.n 80cc308 default: ch = (WCHAR)j; si += j; /* Number of chars to skip */ 80cc2ee: 6e3b ldr r3, [r7, #96] ; 0x60 80cc2f0: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 80cc2f4: 6e3b ldr r3, [r7, #96] ; 0x60 80cc2f6: b29a uxth r2, r3 80cc2f8: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cc2fc: 4413 add r3, r2 80cc2fe: f8a7 3064 strh.w r3, [r7, #100] ; 0x64 st = 0; 80cc302: 2300 movs r3, #0 80cc304: 65fb str r3, [r7, #92] ; 0x5c 80cc306: e000 b.n 80cc30a break; 80cc308: bf00 nop } sum = xsum32(buf[i + 0] = (BYTE)ch, sum); /* Put it into the write buffer */ 80cc30a: 6c3a ldr r2, [r7, #64] ; 0x40 80cc30c: 6fbb ldr r3, [r7, #120] ; 0x78 80cc30e: 4413 add r3, r2 80cc310: f8b7 2066 ldrh.w r2, [r7, #102] ; 0x66 80cc314: b2d2 uxtb r2, r2 80cc316: 701a strb r2, [r3, #0] 80cc318: 781b ldrb r3, [r3, #0] 80cc31a: 6f39 ldr r1, [r7, #112] ; 0x70 80cc31c: 4618 mov r0, r3 80cc31e: f7fc f97b bl 80c8618 80cc322: 6738 str r0, [r7, #112] ; 0x70 sum = xsum32(buf[i + 1] = (BYTE)(ch >> 8), sum); 80cc324: 6fbb ldr r3, [r7, #120] ; 0x78 80cc326: 3301 adds r3, #1 80cc328: 6c3a ldr r2, [r7, #64] ; 0x40 80cc32a: 4413 add r3, r2 80cc32c: f8b7 2066 ldrh.w r2, [r7, #102] ; 0x66 80cc330: 0a12 lsrs r2, r2, #8 80cc332: b292 uxth r2, r2 80cc334: b2d2 uxtb r2, r2 80cc336: 701a strb r2, [r3, #0] 80cc338: 781b ldrb r3, [r3, #0] 80cc33a: 6f39 ldr r1, [r7, #112] ; 0x70 80cc33c: 4618 mov r0, r3 80cc33e: f7fc f96b bl 80c8618 80cc342: 6738 str r0, [r7, #112] ; 0x70 i += 2; szb_case += 2; 80cc344: 6fbb ldr r3, [r7, #120] ; 0x78 80cc346: 3302 adds r3, #2 80cc348: 67bb str r3, [r7, #120] ; 0x78 80cc34a: 6f7b ldr r3, [r7, #116] ; 0x74 80cc34c: 3302 adds r3, #2 80cc34e: 677b str r3, [r7, #116] ; 0x74 if (!si || i == szb_buf) { /* Write buffered data when buffer full or end of process */ 80cc350: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cc354: 2b00 cmp r3, #0 80cc356: d003 beq.n 80cc360 80cc358: 6fba ldr r2, [r7, #120] ; 0x78 80cc35a: 6bbb ldr r3, [r7, #56] ; 0x38 80cc35c: 429a cmp r2, r3 80cc35e: d122 bne.n 80cc3a6 n = (i + ss - 1) / ss; 80cc360: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80cc364: 6fbb ldr r3, [r7, #120] ; 0x78 80cc366: 4413 add r3, r2 80cc368: 1e5a subs r2, r3, #1 80cc36a: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc36e: fbb2 f3f3 udiv r3, r2, r3 80cc372: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80cc376: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cc37a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc37e: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cc382: 6c39 ldr r1, [r7, #64] ; 0x40 80cc384: f7fa fc2c bl 80c6be0 80cc388: 4603 mov r3, r0 80cc38a: 2b00 cmp r3, #0 80cc38c: d002 beq.n 80cc394 80cc38e: 2301 movs r3, #1 80cc390: f000 beb5 b.w 80cd0fe sect += n; i = 0; 80cc394: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cc398: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc39c: 4413 add r3, r2 80cc39e: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cc3a2: 2300 movs r3, #0 80cc3a4: 67bb str r3, [r7, #120] ; 0x78 } } while (si); 80cc3a6: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80cc3aa: 2b00 cmp r3, #0 80cc3ac: f47f af44 bne.w 80cc238 tbl[1] = (szb_case + au * ss - 1) / (au * ss); /* Number of up-case table clusters */ 80cc3b0: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc3b4: 687a ldr r2, [r7, #4] 80cc3b6: fb02 f203 mul.w r2, r2, r3 80cc3ba: 6f7b ldr r3, [r7, #116] ; 0x74 80cc3bc: 4413 add r3, r2 80cc3be: 1e5a subs r2, r3, #1 80cc3c0: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc3c4: 6879 ldr r1, [r7, #4] 80cc3c6: fb01 f303 mul.w r3, r1, r3 80cc3ca: fbb2 f3f3 udiv r3, r2, r3 80cc3ce: 617b str r3, [r7, #20] tbl[2] = 1; /* Number of root dir clusters */ 80cc3d0: 2301 movs r3, #1 80cc3d2: 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 */ 80cc3d4: 6b3b ldr r3, [r7, #48] ; 0x30 80cc3d6: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cc3da: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80cc3de: 6abb ldr r3, [r7, #40] ; 0x28 80cc3e0: 4413 add r3, r2 80cc3e2: 1e5a subs r2, r3, #1 80cc3e4: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc3e8: fbb2 f3f3 udiv r3, r2, r3 80cc3ec: f8c7 3090 str.w r3, [r7, #144] ; 0x90 nb = tbl[0] + tbl[1] + tbl[2]; /* Number of clusters in-use by system */ 80cc3f0: 693a ldr r2, [r7, #16] 80cc3f2: 697b ldr r3, [r7, #20] 80cc3f4: 441a add r2, r3 80cc3f6: 69bb ldr r3, [r7, #24] 80cc3f8: 4413 add r3, r2 80cc3fa: 66fb str r3, [r7, #108] ; 0x6c do { mem_set(buf, 0, szb_buf); 80cc3fc: 6bba ldr r2, [r7, #56] ; 0x38 80cc3fe: 2100 movs r1, #0 80cc400: 6c38 ldr r0, [r7, #64] ; 0x40 80cc402: f7fa fe0e bl 80c7022 for (i = 0; nb >= 8 && i < szb_buf; buf[i++] = 0xFF, nb -= 8) ; 80cc406: 2300 movs r3, #0 80cc408: 67bb str r3, [r7, #120] ; 0x78 80cc40a: e009 b.n 80cc420 80cc40c: 6fbb ldr r3, [r7, #120] ; 0x78 80cc40e: 1c5a adds r2, r3, #1 80cc410: 67ba str r2, [r7, #120] ; 0x78 80cc412: 6c3a ldr r2, [r7, #64] ; 0x40 80cc414: 4413 add r3, r2 80cc416: 22ff movs r2, #255 ; 0xff 80cc418: 701a strb r2, [r3, #0] 80cc41a: 6efb ldr r3, [r7, #108] ; 0x6c 80cc41c: 3b08 subs r3, #8 80cc41e: 66fb str r3, [r7, #108] ; 0x6c 80cc420: 6efb ldr r3, [r7, #108] ; 0x6c 80cc422: 2b07 cmp r3, #7 80cc424: d903 bls.n 80cc42e 80cc426: 6fba ldr r2, [r7, #120] ; 0x78 80cc428: 6bbb ldr r3, [r7, #56] ; 0x38 80cc42a: 429a cmp r2, r3 80cc42c: d3ee bcc.n 80cc40c for (b = 1; nb && i < szb_buf; buf[i] |= b, b <<= 1, nb--) ; 80cc42e: 2301 movs r3, #1 80cc430: f887 305b strb.w r3, [r7, #91] ; 0x5b 80cc434: e013 b.n 80cc45e 80cc436: 6c3a ldr r2, [r7, #64] ; 0x40 80cc438: 6fbb ldr r3, [r7, #120] ; 0x78 80cc43a: 4413 add r3, r2 80cc43c: 6c39 ldr r1, [r7, #64] ; 0x40 80cc43e: 6fba ldr r2, [r7, #120] ; 0x78 80cc440: 440a add r2, r1 80cc442: 7811 ldrb r1, [r2, #0] 80cc444: f897 205b ldrb.w r2, [r7, #91] ; 0x5b 80cc448: 430a orrs r2, r1 80cc44a: b2d2 uxtb r2, r2 80cc44c: 701a strb r2, [r3, #0] 80cc44e: f897 305b ldrb.w r3, [r7, #91] ; 0x5b 80cc452: 005b lsls r3, r3, #1 80cc454: f887 305b strb.w r3, [r7, #91] ; 0x5b 80cc458: 6efb ldr r3, [r7, #108] ; 0x6c 80cc45a: 3b01 subs r3, #1 80cc45c: 66fb str r3, [r7, #108] ; 0x6c 80cc45e: 6efb ldr r3, [r7, #108] ; 0x6c 80cc460: 2b00 cmp r3, #0 80cc462: d003 beq.n 80cc46c 80cc464: 6fba ldr r2, [r7, #120] ; 0x78 80cc466: 6bbb ldr r3, [r7, #56] ; 0x38 80cc468: 429a cmp r2, r3 80cc46a: d3e4 bcc.n 80cc436 n = (nsect > sz_buf) ? sz_buf : nsect; /* Write the buffered data */ 80cc46c: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cc470: 6bfb ldr r3, [r7, #60] ; 0x3c 80cc472: 4293 cmp r3, r2 80cc474: bf28 it cs 80cc476: 4613 movcs r3, r2 80cc478: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80cc47c: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cc480: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc484: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cc488: 6c39 ldr r1, [r7, #64] ; 0x40 80cc48a: f7fa fba9 bl 80c6be0 80cc48e: 4603 mov r3, r0 80cc490: 2b00 cmp r3, #0 80cc492: d002 beq.n 80cc49a 80cc494: 2301 movs r3, #1 80cc496: f000 be32 b.w 80cd0fe sect += n; nsect -= n; 80cc49a: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cc49e: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc4a2: 4413 add r3, r2 80cc4a4: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cc4a8: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cc4ac: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc4b0: 1ad3 subs r3, r2, r3 80cc4b2: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80cc4b6: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80cc4ba: 2b00 cmp r3, #0 80cc4bc: d19e bne.n 80cc3fc /* Initialize the FAT */ sect = b_fat; nsect = sz_fat; /* Start of FAT and number of FAT sectors */ 80cc4be: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80cc4c2: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cc4c6: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80cc4ca: f8c7 3090 str.w r3, [r7, #144] ; 0x90 j = nb = cl = 0; 80cc4ce: 2300 movs r3, #0 80cc4d0: 66bb str r3, [r7, #104] ; 0x68 80cc4d2: 6ebb ldr r3, [r7, #104] ; 0x68 80cc4d4: 66fb str r3, [r7, #108] ; 0x6c 80cc4d6: 6efb ldr r3, [r7, #108] ; 0x6c 80cc4d8: 663b str r3, [r7, #96] ; 0x60 do { mem_set(buf, 0, szb_buf); i = 0; /* Clear work area and reset write index */ 80cc4da: 6bba ldr r2, [r7, #56] ; 0x38 80cc4dc: 2100 movs r1, #0 80cc4de: 6c38 ldr r0, [r7, #64] ; 0x40 80cc4e0: f7fa fd9f bl 80c7022 80cc4e4: 2300 movs r3, #0 80cc4e6: 67bb str r3, [r7, #120] ; 0x78 if (cl == 0) { /* Set entry 0 and 1 */ 80cc4e8: 6ebb ldr r3, [r7, #104] ; 0x68 80cc4ea: 2b00 cmp r3, #0 80cc4ec: d134 bne.n 80cc558 st_dword(buf + i, 0xFFFFFFF8); i += 4; cl++; 80cc4ee: 6c3a ldr r2, [r7, #64] ; 0x40 80cc4f0: 6fbb ldr r3, [r7, #120] ; 0x78 80cc4f2: 4413 add r3, r2 80cc4f4: f06f 0107 mvn.w r1, #7 80cc4f8: 4618 mov r0, r3 80cc4fa: f7fa fcb4 bl 80c6e66 80cc4fe: 6fbb ldr r3, [r7, #120] ; 0x78 80cc500: 3304 adds r3, #4 80cc502: 67bb str r3, [r7, #120] ; 0x78 80cc504: 6ebb ldr r3, [r7, #104] ; 0x68 80cc506: 3301 adds r3, #1 80cc508: 66bb str r3, [r7, #104] ; 0x68 st_dword(buf + i, 0xFFFFFFFF); i += 4; cl++; 80cc50a: 6c3a ldr r2, [r7, #64] ; 0x40 80cc50c: 6fbb ldr r3, [r7, #120] ; 0x78 80cc50e: 4413 add r3, r2 80cc510: f04f 31ff mov.w r1, #4294967295 80cc514: 4618 mov r0, r3 80cc516: f7fa fca6 bl 80c6e66 80cc51a: 6fbb ldr r3, [r7, #120] ; 0x78 80cc51c: 3304 adds r3, #4 80cc51e: 67bb str r3, [r7, #120] ; 0x78 80cc520: 6ebb ldr r3, [r7, #104] ; 0x68 80cc522: 3301 adds r3, #1 80cc524: 66bb str r3, [r7, #104] ; 0x68 } do { /* Create chains of bitmap, up-case and root dir */ while (nb && i < szb_buf) { /* Create a chain */ 80cc526: e017 b.n 80cc558 st_dword(buf + i, (nb > 1) ? cl + 1 : 0xFFFFFFFF); 80cc528: 6c3a ldr r2, [r7, #64] ; 0x40 80cc52a: 6fbb ldr r3, [r7, #120] ; 0x78 80cc52c: 441a add r2, r3 80cc52e: 6efb ldr r3, [r7, #108] ; 0x6c 80cc530: 2b01 cmp r3, #1 80cc532: d902 bls.n 80cc53a 80cc534: 6ebb ldr r3, [r7, #104] ; 0x68 80cc536: 3301 adds r3, #1 80cc538: e001 b.n 80cc53e 80cc53a: f04f 33ff mov.w r3, #4294967295 80cc53e: 4619 mov r1, r3 80cc540: 4610 mov r0, r2 80cc542: f7fa fc90 bl 80c6e66 i += 4; cl++; nb--; 80cc546: 6fbb ldr r3, [r7, #120] ; 0x78 80cc548: 3304 adds r3, #4 80cc54a: 67bb str r3, [r7, #120] ; 0x78 80cc54c: 6ebb ldr r3, [r7, #104] ; 0x68 80cc54e: 3301 adds r3, #1 80cc550: 66bb str r3, [r7, #104] ; 0x68 80cc552: 6efb ldr r3, [r7, #108] ; 0x6c 80cc554: 3b01 subs r3, #1 80cc556: 66fb str r3, [r7, #108] ; 0x6c while (nb && i < szb_buf) { /* Create a chain */ 80cc558: 6efb ldr r3, [r7, #108] ; 0x6c 80cc55a: 2b00 cmp r3, #0 80cc55c: d003 beq.n 80cc566 80cc55e: 6fba ldr r2, [r7, #120] ; 0x78 80cc560: 6bbb ldr r3, [r7, #56] ; 0x38 80cc562: 429a cmp r2, r3 80cc564: d3e0 bcc.n 80cc528 } if (!nb && j < 3) nb = tbl[j++]; /* Next chain */ 80cc566: 6efb ldr r3, [r7, #108] ; 0x6c 80cc568: 2b00 cmp r3, #0 80cc56a: d10c bne.n 80cc586 80cc56c: 6e3b ldr r3, [r7, #96] ; 0x60 80cc56e: 2b02 cmp r3, #2 80cc570: d809 bhi.n 80cc586 80cc572: 6e3b ldr r3, [r7, #96] ; 0x60 80cc574: 1c5a adds r2, r3, #1 80cc576: 663a str r2, [r7, #96] ; 0x60 80cc578: 009b lsls r3, r3, #2 80cc57a: f107 02a0 add.w r2, r7, #160 ; 0xa0 80cc57e: 4413 add r3, r2 80cc580: f853 3c90 ldr.w r3, [r3, #-144] 80cc584: 66fb str r3, [r7, #108] ; 0x6c } while (nb && i < szb_buf); 80cc586: 6efb ldr r3, [r7, #108] ; 0x6c 80cc588: 2b00 cmp r3, #0 80cc58a: d003 beq.n 80cc594 80cc58c: 6fba ldr r2, [r7, #120] ; 0x78 80cc58e: 6bbb ldr r3, [r7, #56] ; 0x38 80cc590: 429a cmp r2, r3 80cc592: d3e1 bcc.n 80cc558 n = (nsect > sz_buf) ? sz_buf : nsect; /* Write the buffered data */ 80cc594: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cc598: 6bfb ldr r3, [r7, #60] ; 0x3c 80cc59a: 4293 cmp r3, r2 80cc59c: bf28 it cs 80cc59e: 4613 movcs r3, r2 80cc5a0: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80cc5a4: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cc5a8: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc5ac: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cc5b0: 6c39 ldr r1, [r7, #64] ; 0x40 80cc5b2: f7fa fb15 bl 80c6be0 80cc5b6: 4603 mov r3, r0 80cc5b8: 2b00 cmp r3, #0 80cc5ba: d002 beq.n 80cc5c2 80cc5bc: 2301 movs r3, #1 80cc5be: f000 bd9e b.w 80cd0fe sect += n; nsect -= n; 80cc5c2: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cc5c6: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc5ca: 4413 add r3, r2 80cc5cc: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cc5d0: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cc5d4: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc5d8: 1ad3 subs r3, r2, r3 80cc5da: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80cc5de: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80cc5e2: 2b00 cmp r3, #0 80cc5e4: f47f af79 bne.w 80cc4da /* Initialize the root directory */ mem_set(buf, 0, szb_buf); 80cc5e8: 6bba ldr r2, [r7, #56] ; 0x38 80cc5ea: 2100 movs r1, #0 80cc5ec: 6c38 ldr r0, [r7, #64] ; 0x40 80cc5ee: f7fa fd18 bl 80c7022 buf[SZDIRE * 0 + 0] = 0x83; /* 83 entry (volume label) */ 80cc5f2: 6c3b ldr r3, [r7, #64] ; 0x40 80cc5f4: 2283 movs r2, #131 ; 0x83 80cc5f6: 701a strb r2, [r3, #0] buf[SZDIRE * 1 + 0] = 0x81; /* 81 entry (allocation bitmap) */ 80cc5f8: 6c3b ldr r3, [r7, #64] ; 0x40 80cc5fa: 3320 adds r3, #32 80cc5fc: 2281 movs r2, #129 ; 0x81 80cc5fe: 701a strb r2, [r3, #0] st_dword(buf + SZDIRE * 1 + 20, 2); 80cc600: 6c3b ldr r3, [r7, #64] ; 0x40 80cc602: 3334 adds r3, #52 ; 0x34 80cc604: 2102 movs r1, #2 80cc606: 4618 mov r0, r3 80cc608: f7fa fc2d bl 80c6e66 st_dword(buf + SZDIRE * 1 + 24, szb_bit); 80cc60c: 6c3b ldr r3, [r7, #64] ; 0x40 80cc60e: 3338 adds r3, #56 ; 0x38 80cc610: 6ab9 ldr r1, [r7, #40] ; 0x28 80cc612: 4618 mov r0, r3 80cc614: f7fa fc27 bl 80c6e66 buf[SZDIRE * 2 + 0] = 0x82; /* 82 entry (up-case table) */ 80cc618: 6c3b ldr r3, [r7, #64] ; 0x40 80cc61a: 3340 adds r3, #64 ; 0x40 80cc61c: 2282 movs r2, #130 ; 0x82 80cc61e: 701a strb r2, [r3, #0] st_dword(buf + SZDIRE * 2 + 4, sum); 80cc620: 6c3b ldr r3, [r7, #64] ; 0x40 80cc622: 3344 adds r3, #68 ; 0x44 80cc624: 6f39 ldr r1, [r7, #112] ; 0x70 80cc626: 4618 mov r0, r3 80cc628: f7fa fc1d bl 80c6e66 st_dword(buf + SZDIRE * 2 + 20, 2 + tbl[0]); 80cc62c: 6c3b ldr r3, [r7, #64] ; 0x40 80cc62e: f103 0254 add.w r2, r3, #84 ; 0x54 80cc632: 693b ldr r3, [r7, #16] 80cc634: 3302 adds r3, #2 80cc636: 4619 mov r1, r3 80cc638: 4610 mov r0, r2 80cc63a: f7fa fc14 bl 80c6e66 st_dword(buf + SZDIRE * 2 + 24, szb_case); 80cc63e: 6c3b ldr r3, [r7, #64] ; 0x40 80cc640: 3358 adds r3, #88 ; 0x58 80cc642: 6f79 ldr r1, [r7, #116] ; 0x74 80cc644: 4618 mov r0, r3 80cc646: f7fa fc0e bl 80c6e66 sect = b_data + au * (tbl[0] + tbl[1]); nsect = au; /* Start of the root directory and number of sectors */ 80cc64a: 693a ldr r2, [r7, #16] 80cc64c: 697b ldr r3, [r7, #20] 80cc64e: 4413 add r3, r2 80cc650: 687a ldr r2, [r7, #4] 80cc652: fb02 f203 mul.w r2, r2, r3 80cc656: 6b3b ldr r3, [r7, #48] ; 0x30 80cc658: 4413 add r3, r2 80cc65a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cc65e: 687b ldr r3, [r7, #4] 80cc660: f8c7 3090 str.w r3, [r7, #144] ; 0x90 do { /* Fill root directory sectors */ n = (nsect > sz_buf) ? sz_buf : nsect; 80cc664: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cc668: 6bfb ldr r3, [r7, #60] ; 0x3c 80cc66a: 4293 cmp r3, r2 80cc66c: bf28 it cs 80cc66e: 4613 movcs r3, r2 80cc670: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80cc674: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cc678: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc67c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cc680: 6c39 ldr r1, [r7, #64] ; 0x40 80cc682: f7fa faad bl 80c6be0 80cc686: 4603 mov r3, r0 80cc688: 2b00 cmp r3, #0 80cc68a: d002 beq.n 80cc692 80cc68c: 2301 movs r3, #1 80cc68e: f000 bd36 b.w 80cd0fe mem_set(buf, 0, ss); 80cc692: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc696: 461a mov r2, r3 80cc698: 2100 movs r1, #0 80cc69a: 6c38 ldr r0, [r7, #64] ; 0x40 80cc69c: f7fa fcc1 bl 80c7022 sect += n; nsect -= n; 80cc6a0: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cc6a4: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc6a8: 4413 add r3, r2 80cc6aa: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cc6ae: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80cc6b2: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc6b6: 1ad3 subs r3, r2, r3 80cc6b8: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80cc6bc: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80cc6c0: 2b00 cmp r3, #0 80cc6c2: d1cf bne.n 80cc664 /* Create two set of the exFAT VBR blocks */ sect = b_vol; 80cc6c4: 6b7b ldr r3, [r7, #52] ; 0x34 80cc6c6: f8c7 3094 str.w r3, [r7, #148] ; 0x94 for (n = 0; n < 2; n++) { 80cc6ca: 2300 movs r3, #0 80cc6cc: f8c7 308c str.w r3, [r7, #140] ; 0x8c 80cc6d0: e157 b.n 80cc982 /* Main record (+0) */ mem_set(buf, 0, ss); 80cc6d2: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc6d6: 461a mov r2, r3 80cc6d8: 2100 movs r1, #0 80cc6da: 6c38 ldr r0, [r7, #64] ; 0x40 80cc6dc: f7fa fca1 bl 80c7022 mem_cpy(buf + BS_JmpBoot, "\xEB\x76\x90" "EXFAT ", 11); /* Boot jump code (x86), OEM name */ 80cc6e0: 220b movs r2, #11 80cc6e2: 49b5 ldr r1, [pc, #724] ; (80cc9b8 ) 80cc6e4: 6c38 ldr r0, [r7, #64] ; 0x40 80cc6e6: f7fa fc7b bl 80c6fe0 st_dword(buf + BPB_VolOfsEx, b_vol); /* Volume offset in the physical drive [sector] */ 80cc6ea: 6c3b ldr r3, [r7, #64] ; 0x40 80cc6ec: 3340 adds r3, #64 ; 0x40 80cc6ee: 6b79 ldr r1, [r7, #52] ; 0x34 80cc6f0: 4618 mov r0, r3 80cc6f2: f7fa fbb8 bl 80c6e66 st_dword(buf + BPB_TotSecEx, sz_vol); /* Volume size [sector] */ 80cc6f6: 6c3b ldr r3, [r7, #64] ; 0x40 80cc6f8: 3348 adds r3, #72 ; 0x48 80cc6fa: 69fa ldr r2, [r7, #28] 80cc6fc: 4611 mov r1, r2 80cc6fe: 4618 mov r0, r3 80cc700: f7fa fbb1 bl 80c6e66 st_dword(buf + BPB_FatOfsEx, b_fat - b_vol); /* FAT offset [sector] */ 80cc704: 6c3b ldr r3, [r7, #64] ; 0x40 80cc706: f103 0050 add.w r0, r3, #80 ; 0x50 80cc70a: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80cc70e: 6b7b ldr r3, [r7, #52] ; 0x34 80cc710: 1ad3 subs r3, r2, r3 80cc712: 4619 mov r1, r3 80cc714: f7fa fba7 bl 80c6e66 st_dword(buf + BPB_FatSzEx, sz_fat); /* FAT size [sector] */ 80cc718: 6c3b ldr r3, [r7, #64] ; 0x40 80cc71a: 3354 adds r3, #84 ; 0x54 80cc71c: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80cc720: 4618 mov r0, r3 80cc722: f7fa fba0 bl 80c6e66 st_dword(buf + BPB_DataOfsEx, b_data - b_vol); /* Data offset [sector] */ 80cc726: 6c3b ldr r3, [r7, #64] ; 0x40 80cc728: f103 0058 add.w r0, r3, #88 ; 0x58 80cc72c: 6b3a ldr r2, [r7, #48] ; 0x30 80cc72e: 6b7b ldr r3, [r7, #52] ; 0x34 80cc730: 1ad3 subs r3, r2, r3 80cc732: 4619 mov r1, r3 80cc734: f7fa fb97 bl 80c6e66 st_dword(buf + BPB_NumClusEx, n_clst); /* Number of clusters */ 80cc738: 6c3b ldr r3, [r7, #64] ; 0x40 80cc73a: 335c adds r3, #92 ; 0x5c 80cc73c: 6af9 ldr r1, [r7, #44] ; 0x2c 80cc73e: 4618 mov r0, r3 80cc740: f7fa fb91 bl 80c6e66 st_dword(buf + BPB_RootClusEx, 2 + tbl[0] + tbl[1]); /* Root dir cluster # */ 80cc744: 6c3b ldr r3, [r7, #64] ; 0x40 80cc746: f103 0060 add.w r0, r3, #96 ; 0x60 80cc74a: 693a ldr r2, [r7, #16] 80cc74c: 697b ldr r3, [r7, #20] 80cc74e: 4413 add r3, r2 80cc750: 3302 adds r3, #2 80cc752: 4619 mov r1, r3 80cc754: f7fa fb87 bl 80c6e66 st_dword(buf + BPB_VolIDEx, GET_FATTIME()); /* VSN */ 80cc758: 6c3b ldr r3, [r7, #64] ; 0x40 80cc75a: f103 0464 add.w r4, r3, #100 ; 0x64 80cc75e: f7f7 f96d bl 80c3a3c 80cc762: 4603 mov r3, r0 80cc764: 4619 mov r1, r3 80cc766: 4620 mov r0, r4 80cc768: f7fa fb7d bl 80c6e66 st_word(buf + BPB_FSVerEx, 0x100); /* File system version (1.00) */ 80cc76c: 6c3b ldr r3, [r7, #64] ; 0x40 80cc76e: 3368 adds r3, #104 ; 0x68 80cc770: f44f 7180 mov.w r1, #256 ; 0x100 80cc774: 4618 mov r0, r3 80cc776: f7fa fb5b bl 80c6e30 for (buf[BPB_BytsPerSecEx] = 0, i = ss; i >>= 1; buf[BPB_BytsPerSecEx]++) ; /* Log2 of sector size [byte] */ 80cc77a: 6c3b ldr r3, [r7, #64] ; 0x40 80cc77c: 336c adds r3, #108 ; 0x6c 80cc77e: 2200 movs r2, #0 80cc780: 701a strb r2, [r3, #0] 80cc782: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc786: 67bb str r3, [r7, #120] ; 0x78 80cc788: e005 b.n 80cc796 80cc78a: 6c3b ldr r3, [r7, #64] ; 0x40 80cc78c: 336c adds r3, #108 ; 0x6c 80cc78e: 781a ldrb r2, [r3, #0] 80cc790: 3201 adds r2, #1 80cc792: b2d2 uxtb r2, r2 80cc794: 701a strb r2, [r3, #0] 80cc796: 6fbb ldr r3, [r7, #120] ; 0x78 80cc798: 085b lsrs r3, r3, #1 80cc79a: 67bb str r3, [r7, #120] ; 0x78 80cc79c: 6fbb ldr r3, [r7, #120] ; 0x78 80cc79e: 2b00 cmp r3, #0 80cc7a0: d1f3 bne.n 80cc78a for (buf[BPB_SecPerClusEx] = 0, i = au; i >>= 1; buf[BPB_SecPerClusEx]++) ; /* Log2 of cluster size [sector] */ 80cc7a2: 6c3b ldr r3, [r7, #64] ; 0x40 80cc7a4: 336d adds r3, #109 ; 0x6d 80cc7a6: 2200 movs r2, #0 80cc7a8: 701a strb r2, [r3, #0] 80cc7aa: 687b ldr r3, [r7, #4] 80cc7ac: 67bb str r3, [r7, #120] ; 0x78 80cc7ae: e005 b.n 80cc7bc 80cc7b0: 6c3b ldr r3, [r7, #64] ; 0x40 80cc7b2: 336d adds r3, #109 ; 0x6d 80cc7b4: 781a ldrb r2, [r3, #0] 80cc7b6: 3201 adds r2, #1 80cc7b8: b2d2 uxtb r2, r2 80cc7ba: 701a strb r2, [r3, #0] 80cc7bc: 6fbb ldr r3, [r7, #120] ; 0x78 80cc7be: 085b lsrs r3, r3, #1 80cc7c0: 67bb str r3, [r7, #120] ; 0x78 80cc7c2: 6fbb ldr r3, [r7, #120] ; 0x78 80cc7c4: 2b00 cmp r3, #0 80cc7c6: d1f3 bne.n 80cc7b0 buf[BPB_NumFATsEx] = 1; /* Number of FATs */ 80cc7c8: 6c3b ldr r3, [r7, #64] ; 0x40 80cc7ca: 336e adds r3, #110 ; 0x6e 80cc7cc: 2201 movs r2, #1 80cc7ce: 701a strb r2, [r3, #0] buf[BPB_DrvNumEx] = 0x80; /* Drive number (for int13) */ 80cc7d0: 6c3b ldr r3, [r7, #64] ; 0x40 80cc7d2: 336f adds r3, #111 ; 0x6f 80cc7d4: 2280 movs r2, #128 ; 0x80 80cc7d6: 701a strb r2, [r3, #0] st_word(buf + BS_BootCodeEx, 0xFEEB); /* Boot code (x86) */ 80cc7d8: 6c3b ldr r3, [r7, #64] ; 0x40 80cc7da: 3378 adds r3, #120 ; 0x78 80cc7dc: f64f 61eb movw r1, #65259 ; 0xfeeb 80cc7e0: 4618 mov r0, r3 80cc7e2: f7fa fb25 bl 80c6e30 st_word(buf + BS_55AA, 0xAA55); /* Signature (placed here regardless of sector size) */ 80cc7e6: 6c3b ldr r3, [r7, #64] ; 0x40 80cc7e8: f503 73ff add.w r3, r3, #510 ; 0x1fe 80cc7ec: f64a 2155 movw r1, #43605 ; 0xaa55 80cc7f0: 4618 mov r0, r3 80cc7f2: f7fa fb1d bl 80c6e30 for (i = sum = 0; i < ss; i++) { /* VBR checksum */ 80cc7f6: 2300 movs r3, #0 80cc7f8: 673b str r3, [r7, #112] ; 0x70 80cc7fa: 2300 movs r3, #0 80cc7fc: 67bb str r3, [r7, #120] ; 0x78 80cc7fe: e014 b.n 80cc82a if (i != BPB_VolFlagEx && i != BPB_VolFlagEx + 1 && i != BPB_PercInUseEx) sum = xsum32(buf[i], sum); 80cc800: 6fbb ldr r3, [r7, #120] ; 0x78 80cc802: 2b6a cmp r3, #106 ; 0x6a 80cc804: d00e beq.n 80cc824 80cc806: 6fbb ldr r3, [r7, #120] ; 0x78 80cc808: 2b6b cmp r3, #107 ; 0x6b 80cc80a: d00b beq.n 80cc824 80cc80c: 6fbb ldr r3, [r7, #120] ; 0x78 80cc80e: 2b70 cmp r3, #112 ; 0x70 80cc810: d008 beq.n 80cc824 80cc812: 6c3a ldr r2, [r7, #64] ; 0x40 80cc814: 6fbb ldr r3, [r7, #120] ; 0x78 80cc816: 4413 add r3, r2 80cc818: 781b ldrb r3, [r3, #0] 80cc81a: 6f39 ldr r1, [r7, #112] ; 0x70 80cc81c: 4618 mov r0, r3 80cc81e: f7fb fefb bl 80c8618 80cc822: 6738 str r0, [r7, #112] ; 0x70 for (i = sum = 0; i < ss; i++) { /* VBR checksum */ 80cc824: 6fbb ldr r3, [r7, #120] ; 0x78 80cc826: 3301 adds r3, #1 80cc828: 67bb str r3, [r7, #120] ; 0x78 80cc82a: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80cc82e: 6fbb ldr r3, [r7, #120] ; 0x78 80cc830: 429a cmp r2, r3 80cc832: d8e5 bhi.n 80cc800 } if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80cc834: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cc838: 1c53 adds r3, r2, #1 80cc83a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cc83e: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cc842: 2301 movs r3, #1 80cc844: 6c39 ldr r1, [r7, #64] ; 0x40 80cc846: f7fa f9cb bl 80c6be0 80cc84a: 4603 mov r3, r0 80cc84c: 2b00 cmp r3, #0 80cc84e: d002 beq.n 80cc856 80cc850: 2301 movs r3, #1 80cc852: f000 bc54 b.w 80cd0fe /* Extended bootstrap record (+1..+8) */ mem_set(buf, 0, ss); 80cc856: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc85a: 461a mov r2, r3 80cc85c: 2100 movs r1, #0 80cc85e: 6c38 ldr r0, [r7, #64] ; 0x40 80cc860: f7fa fbdf bl 80c7022 st_word(buf + ss - 2, 0xAA55); /* Signature (placed at end of sector) */ 80cc864: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc868: 3b02 subs r3, #2 80cc86a: 6c3a ldr r2, [r7, #64] ; 0x40 80cc86c: 4413 add r3, r2 80cc86e: f64a 2155 movw r1, #43605 ; 0xaa55 80cc872: 4618 mov r0, r3 80cc874: f7fa fadc bl 80c6e30 for (j = 1; j < 9; j++) { 80cc878: 2301 movs r3, #1 80cc87a: 663b str r3, [r7, #96] ; 0x60 80cc87c: e026 b.n 80cc8cc for (i = 0; i < ss; sum = xsum32(buf[i++], sum)) ; /* VBR checksum */ 80cc87e: 2300 movs r3, #0 80cc880: 67bb str r3, [r7, #120] ; 0x78 80cc882: e00a b.n 80cc89a 80cc884: 6fbb ldr r3, [r7, #120] ; 0x78 80cc886: 1c5a adds r2, r3, #1 80cc888: 67ba str r2, [r7, #120] ; 0x78 80cc88a: 6c3a ldr r2, [r7, #64] ; 0x40 80cc88c: 4413 add r3, r2 80cc88e: 781b ldrb r3, [r3, #0] 80cc890: 6f39 ldr r1, [r7, #112] ; 0x70 80cc892: 4618 mov r0, r3 80cc894: f7fb fec0 bl 80c8618 80cc898: 6738 str r0, [r7, #112] ; 0x70 80cc89a: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80cc89e: 6fbb ldr r3, [r7, #120] ; 0x78 80cc8a0: 429a cmp r2, r3 80cc8a2: d8ef bhi.n 80cc884 if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80cc8a4: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cc8a8: 1c53 adds r3, r2, #1 80cc8aa: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cc8ae: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cc8b2: 2301 movs r3, #1 80cc8b4: 6c39 ldr r1, [r7, #64] ; 0x40 80cc8b6: f7fa f993 bl 80c6be0 80cc8ba: 4603 mov r3, r0 80cc8bc: 2b00 cmp r3, #0 80cc8be: d002 beq.n 80cc8c6 80cc8c0: 2301 movs r3, #1 80cc8c2: f000 bc1c b.w 80cd0fe for (j = 1; j < 9; j++) { 80cc8c6: 6e3b ldr r3, [r7, #96] ; 0x60 80cc8c8: 3301 adds r3, #1 80cc8ca: 663b str r3, [r7, #96] ; 0x60 80cc8cc: 6e3b ldr r3, [r7, #96] ; 0x60 80cc8ce: 2b08 cmp r3, #8 80cc8d0: d9d5 bls.n 80cc87e } /* OEM/Reserved record (+9..+10) */ mem_set(buf, 0, ss); 80cc8d2: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cc8d6: 461a mov r2, r3 80cc8d8: 2100 movs r1, #0 80cc8da: 6c38 ldr r0, [r7, #64] ; 0x40 80cc8dc: f7fa fba1 bl 80c7022 for ( ; j < 11; j++) { 80cc8e0: e025 b.n 80cc92e for (i = 0; i < ss; sum = xsum32(buf[i++], sum)) ; /* VBR checksum */ 80cc8e2: 2300 movs r3, #0 80cc8e4: 67bb str r3, [r7, #120] ; 0x78 80cc8e6: e00a b.n 80cc8fe 80cc8e8: 6fbb ldr r3, [r7, #120] ; 0x78 80cc8ea: 1c5a adds r2, r3, #1 80cc8ec: 67ba str r2, [r7, #120] ; 0x78 80cc8ee: 6c3a ldr r2, [r7, #64] ; 0x40 80cc8f0: 4413 add r3, r2 80cc8f2: 781b ldrb r3, [r3, #0] 80cc8f4: 6f39 ldr r1, [r7, #112] ; 0x70 80cc8f6: 4618 mov r0, r3 80cc8f8: f7fb fe8e bl 80c8618 80cc8fc: 6738 str r0, [r7, #112] ; 0x70 80cc8fe: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80cc902: 6fbb ldr r3, [r7, #120] ; 0x78 80cc904: 429a cmp r2, r3 80cc906: d8ef bhi.n 80cc8e8 if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80cc908: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cc90c: 1c53 adds r3, r2, #1 80cc90e: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cc912: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cc916: 2301 movs r3, #1 80cc918: 6c39 ldr r1, [r7, #64] ; 0x40 80cc91a: f7fa f961 bl 80c6be0 80cc91e: 4603 mov r3, r0 80cc920: 2b00 cmp r3, #0 80cc922: d001 beq.n 80cc928 80cc924: 2301 movs r3, #1 80cc926: e3ea b.n 80cd0fe for ( ; j < 11; j++) { 80cc928: 6e3b ldr r3, [r7, #96] ; 0x60 80cc92a: 3301 adds r3, #1 80cc92c: 663b str r3, [r7, #96] ; 0x60 80cc92e: 6e3b ldr r3, [r7, #96] ; 0x60 80cc930: 2b0a cmp r3, #10 80cc932: d9d6 bls.n 80cc8e2 } /* Sum record (+11) */ for (i = 0; i < ss; i += 4) st_dword(buf + i, sum); /* Fill with checksum value */ 80cc934: 2300 movs r3, #0 80cc936: 67bb str r3, [r7, #120] ; 0x78 80cc938: e009 b.n 80cc94e 80cc93a: 6c3a ldr r2, [r7, #64] ; 0x40 80cc93c: 6fbb ldr r3, [r7, #120] ; 0x78 80cc93e: 4413 add r3, r2 80cc940: 6f39 ldr r1, [r7, #112] ; 0x70 80cc942: 4618 mov r0, r3 80cc944: f7fa fa8f bl 80c6e66 80cc948: 6fbb ldr r3, [r7, #120] ; 0x78 80cc94a: 3304 adds r3, #4 80cc94c: 67bb str r3, [r7, #120] ; 0x78 80cc94e: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80cc952: 6fbb ldr r3, [r7, #120] ; 0x78 80cc954: 429a cmp r2, r3 80cc956: d8f0 bhi.n 80cc93a if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80cc958: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80cc95c: 1c53 adds r3, r2, #1 80cc95e: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80cc962: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cc966: 2301 movs r3, #1 80cc968: 6c39 ldr r1, [r7, #64] ; 0x40 80cc96a: f7fa f939 bl 80c6be0 80cc96e: 4603 mov r3, r0 80cc970: 2b00 cmp r3, #0 80cc972: d001 beq.n 80cc978 80cc974: 2301 movs r3, #1 80cc976: e3c2 b.n 80cd0fe for (n = 0; n < 2; n++) { 80cc978: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc97c: 3301 adds r3, #1 80cc97e: f8c7 308c str.w r3, [r7, #140] ; 0x8c 80cc982: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc986: 2b01 cmp r3, #1 80cc988: f67f aea3 bls.w 80cc6d2 80cc98c: e31a b.n 80ccfc4 } else #endif /* _FS_EXFAT */ { /* Create an FAT12/16/32 volume */ do { pau = au; 80cc98e: 687b ldr r3, [r7, #4] 80cc990: f8c7 3098 str.w r3, [r7, #152] ; 0x98 /* Pre-determine number of clusters and FAT sub-type */ if (fmt == FS_FAT32) { /* FAT32 volume */ 80cc994: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cc998: 2b03 cmp r3, #3 80cc99a: d149 bne.n 80cca30 if (!pau) { /* au auto-selection */ 80cc99c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cc9a0: 2b00 cmp r3, #0 80cc9a2: d122 bne.n 80cc9ea n = sz_vol / 0x20000; /* Volume size in unit of 128KS */ 80cc9a4: 69fb ldr r3, [r7, #28] 80cc9a6: 0c5b lsrs r3, r3, #17 80cc9a8: f8c7 308c str.w r3, [r7, #140] ; 0x8c for (i = 0, pau = 1; cst32[i] && cst32[i] <= n; i++, pau <<= 1) ; /* Get from table */ 80cc9ac: 2300 movs r3, #0 80cc9ae: 67bb str r3, [r7, #120] ; 0x78 80cc9b0: 2301 movs r3, #1 80cc9b2: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80cc9b6: e009 b.n 80cc9cc 80cc9b8: 080d4ef4 .word 0x080d4ef4 80cc9bc: 6fbb ldr r3, [r7, #120] ; 0x78 80cc9be: 3301 adds r3, #1 80cc9c0: 67bb str r3, [r7, #120] ; 0x78 80cc9c2: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cc9c6: 005b lsls r3, r3, #1 80cc9c8: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80cc9cc: 4aba ldr r2, [pc, #744] ; (80cccb8 ) 80cc9ce: 6fbb ldr r3, [r7, #120] ; 0x78 80cc9d0: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cc9d4: 2b00 cmp r3, #0 80cc9d6: d008 beq.n 80cc9ea 80cc9d8: 4ab7 ldr r2, [pc, #732] ; (80cccb8 ) 80cc9da: 6fbb ldr r3, [r7, #120] ; 0x78 80cc9dc: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cc9e0: 461a mov r2, r3 80cc9e2: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cc9e6: 429a cmp r2, r3 80cc9e8: d9e8 bls.n 80cc9bc } n_clst = sz_vol / pau; /* Number of clusters */ 80cc9ea: 69fa ldr r2, [r7, #28] 80cc9ec: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cc9f0: fbb2 f3f3 udiv r3, r2, r3 80cc9f4: 62fb str r3, [r7, #44] ; 0x2c sz_fat = (n_clst * 4 + 8 + ss - 1) / ss; /* FAT size [sector] */ 80cc9f6: 6afb ldr r3, [r7, #44] ; 0x2c 80cc9f8: 3302 adds r3, #2 80cc9fa: 009a lsls r2, r3, #2 80cc9fc: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cca00: 4413 add r3, r2 80cca02: 1e5a subs r2, r3, #1 80cca04: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cca08: fbb2 f3f3 udiv r3, r2, r3 80cca0c: f8c7 3080 str.w r3, [r7, #128] ; 0x80 sz_rsv = 32; /* Number of reserved sectors */ 80cca10: 2320 movs r3, #32 80cca12: f8c7 3084 str.w r3, [r7, #132] ; 0x84 sz_dir = 0; /* No static directory */ 80cca16: 2300 movs r3, #0 80cca18: 67fb str r3, [r7, #124] ; 0x7c if (n_clst <= MAX_FAT16 || n_clst > MAX_FAT32) return FR_MKFS_ABORTED; 80cca1a: 6afb ldr r3, [r7, #44] ; 0x2c 80cca1c: f64f 72f5 movw r2, #65525 ; 0xfff5 80cca20: 4293 cmp r3, r2 80cca22: d903 bls.n 80cca2c 80cca24: 6afb ldr r3, [r7, #44] ; 0x2c 80cca26: 4aa5 ldr r2, [pc, #660] ; (80cccbc ) 80cca28: 4293 cmp r3, r2 80cca2a: d959 bls.n 80ccae0 80cca2c: 230e movs r3, #14 80cca2e: e366 b.n 80cd0fe } else { /* FAT12/16 volume */ if (!pau) { /* au auto-selection */ 80cca30: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cca34: 2b00 cmp r3, #0 80cca36: d120 bne.n 80cca7a n = sz_vol / 0x1000; /* Volume size in unit of 4KS */ 80cca38: 69fb ldr r3, [r7, #28] 80cca3a: 0b1b lsrs r3, r3, #12 80cca3c: f8c7 308c str.w r3, [r7, #140] ; 0x8c for (i = 0, pau = 1; cst[i] && cst[i] <= n; i++, pau <<= 1) ; /* Get from table */ 80cca40: 2300 movs r3, #0 80cca42: 67bb str r3, [r7, #120] ; 0x78 80cca44: 2301 movs r3, #1 80cca46: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80cca4a: e007 b.n 80cca5c 80cca4c: 6fbb ldr r3, [r7, #120] ; 0x78 80cca4e: 3301 adds r3, #1 80cca50: 67bb str r3, [r7, #120] ; 0x78 80cca52: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cca56: 005b lsls r3, r3, #1 80cca58: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80cca5c: 4a98 ldr r2, [pc, #608] ; (80cccc0 ) 80cca5e: 6fbb ldr r3, [r7, #120] ; 0x78 80cca60: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cca64: 2b00 cmp r3, #0 80cca66: d008 beq.n 80cca7a 80cca68: 4a95 ldr r2, [pc, #596] ; (80cccc0 ) 80cca6a: 6fbb ldr r3, [r7, #120] ; 0x78 80cca6c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cca70: 461a mov r2, r3 80cca72: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80cca76: 429a cmp r2, r3 80cca78: d9e8 bls.n 80cca4c } n_clst = sz_vol / pau; 80cca7a: 69fa ldr r2, [r7, #28] 80cca7c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80cca80: fbb2 f3f3 udiv r3, r2, r3 80cca84: 62fb str r3, [r7, #44] ; 0x2c if (n_clst > MAX_FAT12) { 80cca86: 6afb ldr r3, [r7, #44] ; 0x2c 80cca88: f640 72f5 movw r2, #4085 ; 0xff5 80cca8c: 4293 cmp r3, r2 80cca8e: d905 bls.n 80cca9c n = n_clst * 2 + 4; /* FAT size [byte] */ 80cca90: 6afb ldr r3, [r7, #44] ; 0x2c 80cca92: 3302 adds r3, #2 80cca94: 005b lsls r3, r3, #1 80cca96: f8c7 308c str.w r3, [r7, #140] ; 0x8c 80cca9a: e00b b.n 80ccab4 } else { fmt = FS_FAT12; 80cca9c: 2301 movs r3, #1 80cca9e: f887 309f strb.w r3, [r7, #159] ; 0x9f n = (n_clst * 3 + 1) / 2 + 3; /* FAT size [byte] */ 80ccaa2: 6afa ldr r2, [r7, #44] ; 0x2c 80ccaa4: 4613 mov r3, r2 80ccaa6: 005b lsls r3, r3, #1 80ccaa8: 4413 add r3, r2 80ccaaa: 3301 adds r3, #1 80ccaac: 085b lsrs r3, r3, #1 80ccaae: 3303 adds r3, #3 80ccab0: f8c7 308c str.w r3, [r7, #140] ; 0x8c } sz_fat = (n + ss - 1) / ss; /* FAT size [sector] */ 80ccab4: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80ccab8: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80ccabc: 4413 add r3, r2 80ccabe: 1e5a subs r2, r3, #1 80ccac0: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccac4: fbb2 f3f3 udiv r3, r2, r3 80ccac8: f8c7 3080 str.w r3, [r7, #128] ; 0x80 sz_rsv = 1; /* Number of reserved sectors */ 80ccacc: 2301 movs r3, #1 80ccace: f8c7 3084 str.w r3, [r7, #132] ; 0x84 sz_dir = (DWORD)n_rootdir * SZDIRE / ss; /* Rootdir size [sector] */ 80ccad2: 6d3b ldr r3, [r7, #80] ; 0x50 80ccad4: 015a lsls r2, r3, #5 80ccad6: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccada: fbb2 f3f3 udiv r3, r2, r3 80ccade: 67fb str r3, [r7, #124] ; 0x7c } b_fat = b_vol + sz_rsv; /* FAT base */ 80ccae0: 6b7a ldr r2, [r7, #52] ; 0x34 80ccae2: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80ccae6: 4413 add r3, r2 80ccae8: f8c7 3088 str.w r3, [r7, #136] ; 0x88 b_data = b_fat + sz_fat * n_fats + sz_dir; /* Data base */ 80ccaec: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80ccaf0: 6d7a ldr r2, [r7, #84] ; 0x54 80ccaf2: fb02 f203 mul.w r2, r2, r3 80ccaf6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80ccafa: 441a add r2, r3 80ccafc: 6ffb ldr r3, [r7, #124] ; 0x7c 80ccafe: 4413 add r3, r2 80ccb00: 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 */ 80ccb02: 6a3a ldr r2, [r7, #32] 80ccb04: 6b3b ldr r3, [r7, #48] ; 0x30 80ccb06: 4413 add r3, r2 80ccb08: 1e5a subs r2, r3, #1 80ccb0a: 6a3b ldr r3, [r7, #32] 80ccb0c: 425b negs r3, r3 80ccb0e: 401a ands r2, r3 80ccb10: 6b3b ldr r3, [r7, #48] ; 0x30 80ccb12: 1ad3 subs r3, r2, r3 80ccb14: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (fmt == FS_FAT32) { /* FAT32: Move FAT base */ 80ccb18: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80ccb1c: 2b03 cmp r3, #3 80ccb1e: d10e bne.n 80ccb3e sz_rsv += n; b_fat += n; 80ccb20: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 80ccb24: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80ccb28: 4413 add r3, r2 80ccb2a: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80ccb2e: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80ccb32: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80ccb36: 4413 add r3, r2 80ccb38: f8c7 3088 str.w r3, [r7, #136] ; 0x88 80ccb3c: e009 b.n 80ccb52 } else { /* FAT12/16: Expand FAT size */ sz_fat += n / n_fats; 80ccb3e: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80ccb42: 6d7b ldr r3, [r7, #84] ; 0x54 80ccb44: fbb2 f3f3 udiv r3, r2, r3 80ccb48: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80ccb4c: 4413 add r3, r2 80ccb4e: 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 */ 80ccb52: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80ccb56: 011a lsls r2, r3, #4 80ccb58: 6b3b ldr r3, [r7, #48] ; 0x30 80ccb5a: 441a add r2, r3 80ccb5c: 6b7b ldr r3, [r7, #52] ; 0x34 80ccb5e: 1ad2 subs r2, r2, r3 80ccb60: 69fb ldr r3, [r7, #28] 80ccb62: 429a cmp r2, r3 80ccb64: d901 bls.n 80ccb6a 80ccb66: 230e movs r3, #14 80ccb68: e2c9 b.n 80cd0fe n_clst = (sz_vol - sz_rsv - sz_fat * n_fats - sz_dir) / pau; 80ccb6a: 69fa ldr r2, [r7, #28] 80ccb6c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80ccb70: 1ad2 subs r2, r2, r3 80ccb72: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80ccb76: 6d79 ldr r1, [r7, #84] ; 0x54 80ccb78: fb01 f303 mul.w r3, r1, r3 80ccb7c: 1ad2 subs r2, r2, r3 80ccb7e: 6ffb ldr r3, [r7, #124] ; 0x7c 80ccb80: 1ad2 subs r2, r2, r3 80ccb82: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80ccb86: fbb2 f3f3 udiv r3, r2, r3 80ccb8a: 62fb str r3, [r7, #44] ; 0x2c if (fmt == FS_FAT32) { 80ccb8c: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80ccb90: 2b03 cmp r3, #3 80ccb92: d110 bne.n 80ccbb6 if (n_clst <= MAX_FAT16) { /* Too few clusters for FAT32 */ 80ccb94: 6afb ldr r3, [r7, #44] ; 0x2c 80ccb96: f64f 72f5 movw r2, #65525 ; 0xfff5 80ccb9a: 4293 cmp r3, r2 80ccb9c: d80b bhi.n 80ccbb6 if (!au && (au = pau / 2) != 0) continue; /* Adjust cluster size and retry */ 80ccb9e: 687b ldr r3, [r7, #4] 80ccba0: 2b00 cmp r3, #0 80ccba2: d106 bne.n 80ccbb2 80ccba4: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80ccba8: 085b lsrs r3, r3, #1 80ccbaa: 607b str r3, [r7, #4] 80ccbac: 687b ldr r3, [r7, #4] 80ccbae: 2b00 cmp r3, #0 80ccbb0: d148 bne.n 80ccc44 return FR_MKFS_ABORTED; 80ccbb2: 230e movs r3, #14 80ccbb4: e2a3 b.n 80cd0fe } } if (fmt == FS_FAT16) { 80ccbb6: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80ccbba: 2b02 cmp r3, #2 80ccbbc: d137 bne.n 80ccc2e if (n_clst > MAX_FAT16) { /* Too many clusters for FAT16 */ 80ccbbe: 6afb ldr r3, [r7, #44] ; 0x2c 80ccbc0: f64f 72f5 movw r2, #65525 ; 0xfff5 80ccbc4: 4293 cmp r3, r2 80ccbc6: d921 bls.n 80ccc0c if (!au && (pau * 2) <= 64) { 80ccbc8: 687b ldr r3, [r7, #4] 80ccbca: 2b00 cmp r3, #0 80ccbcc: d109 bne.n 80ccbe2 80ccbce: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80ccbd2: 005b lsls r3, r3, #1 80ccbd4: 2b40 cmp r3, #64 ; 0x40 80ccbd6: d804 bhi.n 80ccbe2 au = pau * 2; continue; /* Adjust cluster size and retry */ 80ccbd8: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80ccbdc: 005b lsls r3, r3, #1 80ccbde: 607b str r3, [r7, #4] 80ccbe0: e035 b.n 80ccc4e } if ((opt & FM_FAT32)) { 80ccbe2: 7afb ldrb r3, [r7, #11] 80ccbe4: f003 0302 and.w r3, r3, #2 80ccbe8: 2b00 cmp r3, #0 80ccbea: d003 beq.n 80ccbf4 fmt = FS_FAT32; continue; /* Switch type to FAT32 and retry */ 80ccbec: 2303 movs r3, #3 80ccbee: f887 309f strb.w r3, [r7, #159] ; 0x9f 80ccbf2: e02c b.n 80ccc4e } if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80ccbf4: 687b ldr r3, [r7, #4] 80ccbf6: 2b00 cmp r3, #0 80ccbf8: d106 bne.n 80ccc08 80ccbfa: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80ccbfe: 005b lsls r3, r3, #1 80ccc00: 607b str r3, [r7, #4] 80ccc02: 687b ldr r3, [r7, #4] 80ccc04: 2b80 cmp r3, #128 ; 0x80 80ccc06: d91f bls.n 80ccc48 return FR_MKFS_ABORTED; 80ccc08: 230e movs r3, #14 80ccc0a: e278 b.n 80cd0fe } if (n_clst <= MAX_FAT12) { /* Too few clusters for FAT16 */ 80ccc0c: 6afb ldr r3, [r7, #44] ; 0x2c 80ccc0e: f640 72f5 movw r2, #4085 ; 0xff5 80ccc12: 4293 cmp r3, r2 80ccc14: d80b bhi.n 80ccc2e if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80ccc16: 687b ldr r3, [r7, #4] 80ccc18: 2b00 cmp r3, #0 80ccc1a: d106 bne.n 80ccc2a 80ccc1c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80ccc20: 005b lsls r3, r3, #1 80ccc22: 607b str r3, [r7, #4] 80ccc24: 687b ldr r3, [r7, #4] 80ccc26: 2b80 cmp r3, #128 ; 0x80 80ccc28: d910 bls.n 80ccc4c return FR_MKFS_ABORTED; 80ccc2a: 230e movs r3, #14 80ccc2c: e267 b.n 80cd0fe } } if (fmt == FS_FAT12 && n_clst > MAX_FAT12) return FR_MKFS_ABORTED; /* Too many clusters for FAT12 */ 80ccc2e: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80ccc32: 2b01 cmp r3, #1 80ccc34: d10c bne.n 80ccc50 80ccc36: 6afb ldr r3, [r7, #44] ; 0x2c 80ccc38: f640 72f5 movw r2, #4085 ; 0xff5 80ccc3c: 4293 cmp r3, r2 80ccc3e: d907 bls.n 80ccc50 80ccc40: 230e movs r3, #14 80ccc42: e25c b.n 80cd0fe if (!au && (au = pau / 2) != 0) continue; /* Adjust cluster size and retry */ 80ccc44: bf00 nop 80ccc46: e6a2 b.n 80cc98e if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80ccc48: bf00 nop 80ccc4a: e6a0 b.n 80cc98e if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80ccc4c: bf00 nop pau = au; 80ccc4e: e69e b.n 80cc98e /* Ok, it is the valid cluster configuration */ break; 80ccc50: 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); 80ccc52: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccc56: 461a mov r2, r3 80ccc58: 2100 movs r1, #0 80ccc5a: 6c38 ldr r0, [r7, #64] ; 0x40 80ccc5c: f7fa f9e1 bl 80c7022 mem_cpy(buf + BS_JmpBoot, "\xEB\xFE\x90" "MSDOS5.0", 11);/* Boot jump code (x86), OEM name */ 80ccc60: 220b movs r2, #11 80ccc62: 4918 ldr r1, [pc, #96] ; (80cccc4 ) 80ccc64: 6c38 ldr r0, [r7, #64] ; 0x40 80ccc66: f7fa f9bb bl 80c6fe0 st_word(buf + BPB_BytsPerSec, ss); /* Sector size [byte] */ 80ccc6a: 6c3b ldr r3, [r7, #64] ; 0x40 80ccc6c: 330b adds r3, #11 80ccc6e: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80ccc72: 4611 mov r1, r2 80ccc74: 4618 mov r0, r3 80ccc76: f7fa f8db bl 80c6e30 buf[BPB_SecPerClus] = (BYTE)pau; /* Cluster size [sector] */ 80ccc7a: 6c3b ldr r3, [r7, #64] ; 0x40 80ccc7c: 330d adds r3, #13 80ccc7e: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 80ccc82: b2d2 uxtb r2, r2 80ccc84: 701a strb r2, [r3, #0] st_word(buf + BPB_RsvdSecCnt, (WORD)sz_rsv); /* Size of reserved area */ 80ccc86: 6c3b ldr r3, [r7, #64] ; 0x40 80ccc88: 330e adds r3, #14 80ccc8a: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 80ccc8e: b292 uxth r2, r2 80ccc90: 4611 mov r1, r2 80ccc92: 4618 mov r0, r3 80ccc94: f7fa f8cc bl 80c6e30 buf[BPB_NumFATs] = (BYTE)n_fats; /* Number of FATs */ 80ccc98: 6c3b ldr r3, [r7, #64] ; 0x40 80ccc9a: 3310 adds r3, #16 80ccc9c: 6d7a ldr r2, [r7, #84] ; 0x54 80ccc9e: b2d2 uxtb r2, r2 80ccca0: 701a strb r2, [r3, #0] st_word(buf + BPB_RootEntCnt, (WORD)((fmt == FS_FAT32) ? 0 : n_rootdir)); /* Number of root directory entries */ 80ccca2: 6c3b ldr r3, [r7, #64] ; 0x40 80ccca4: f103 0211 add.w r2, r3, #17 80ccca8: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cccac: 2b03 cmp r3, #3 80cccae: d00b beq.n 80cccc8 80cccb0: 6d3b ldr r3, [r7, #80] ; 0x50 80cccb2: b29b uxth r3, r3 80cccb4: e009 b.n 80cccca 80cccb6: bf00 nop 80cccb8: 0816e07c .word 0x0816e07c 80cccbc: 0ffffff5 .word 0x0ffffff5 80cccc0: 0816e08c .word 0x0816e08c 80cccc4: 080d4f00 .word 0x080d4f00 80cccc8: 2300 movs r3, #0 80cccca: 4619 mov r1, r3 80ccccc: 4610 mov r0, r2 80cccce: f7fa f8af bl 80c6e30 if (sz_vol < 0x10000) { 80cccd2: 69fb ldr r3, [r7, #28] 80cccd4: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80cccd8: d208 bcs.n 80cccec st_word(buf + BPB_TotSec16, (WORD)sz_vol); /* Volume size in 16-bit LBA */ 80cccda: 6c3b ldr r3, [r7, #64] ; 0x40 80cccdc: 3313 adds r3, #19 80cccde: 69fa ldr r2, [r7, #28] 80ccce0: b292 uxth r2, r2 80ccce2: 4611 mov r1, r2 80ccce4: 4618 mov r0, r3 80ccce6: f7fa f8a3 bl 80c6e30 80cccea: e006 b.n 80cccfa } else { st_dword(buf + BPB_TotSec32, sz_vol); /* Volume size in 32-bit LBA */ 80cccec: 6c3b ldr r3, [r7, #64] ; 0x40 80cccee: 3320 adds r3, #32 80cccf0: 69fa ldr r2, [r7, #28] 80cccf2: 4611 mov r1, r2 80cccf4: 4618 mov r0, r3 80cccf6: f7fa f8b6 bl 80c6e66 } buf[BPB_Media] = 0xF8; /* Media descriptor byte */ 80cccfa: 6c3b ldr r3, [r7, #64] ; 0x40 80cccfc: 3315 adds r3, #21 80cccfe: 22f8 movs r2, #248 ; 0xf8 80ccd00: 701a strb r2, [r3, #0] st_word(buf + BPB_SecPerTrk, 63); /* Number of sectors per track (for int13) */ 80ccd02: 6c3b ldr r3, [r7, #64] ; 0x40 80ccd04: 3318 adds r3, #24 80ccd06: 213f movs r1, #63 ; 0x3f 80ccd08: 4618 mov r0, r3 80ccd0a: f7fa f891 bl 80c6e30 st_word(buf + BPB_NumHeads, 255); /* Number of heads (for int13) */ 80ccd0e: 6c3b ldr r3, [r7, #64] ; 0x40 80ccd10: 331a adds r3, #26 80ccd12: 21ff movs r1, #255 ; 0xff 80ccd14: 4618 mov r0, r3 80ccd16: f7fa f88b bl 80c6e30 st_dword(buf + BPB_HiddSec, b_vol); /* Volume offset in the physical drive [sector] */ 80ccd1a: 6c3b ldr r3, [r7, #64] ; 0x40 80ccd1c: 331c adds r3, #28 80ccd1e: 6b79 ldr r1, [r7, #52] ; 0x34 80ccd20: 4618 mov r0, r3 80ccd22: f7fa f8a0 bl 80c6e66 if (fmt == FS_FAT32) { 80ccd26: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80ccd2a: 2b03 cmp r3, #3 80ccd2c: d132 bne.n 80ccd94 st_dword(buf + BS_VolID32, GET_FATTIME()); /* VSN */ 80ccd2e: 6c3b ldr r3, [r7, #64] ; 0x40 80ccd30: f103 0443 add.w r4, r3, #67 ; 0x43 80ccd34: f7f6 fe82 bl 80c3a3c 80ccd38: 4603 mov r3, r0 80ccd3a: 4619 mov r1, r3 80ccd3c: 4620 mov r0, r4 80ccd3e: f7fa f892 bl 80c6e66 st_dword(buf + BPB_FATSz32, sz_fat); /* FAT size [sector] */ 80ccd42: 6c3b ldr r3, [r7, #64] ; 0x40 80ccd44: 3324 adds r3, #36 ; 0x24 80ccd46: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80ccd4a: 4618 mov r0, r3 80ccd4c: f7fa f88b bl 80c6e66 st_dword(buf + BPB_RootClus32, 2); /* Root directory cluster # (2) */ 80ccd50: 6c3b ldr r3, [r7, #64] ; 0x40 80ccd52: 332c adds r3, #44 ; 0x2c 80ccd54: 2102 movs r1, #2 80ccd56: 4618 mov r0, r3 80ccd58: f7fa f885 bl 80c6e66 st_word(buf + BPB_FSInfo32, 1); /* Offset of FSINFO sector (VBR + 1) */ 80ccd5c: 6c3b ldr r3, [r7, #64] ; 0x40 80ccd5e: 3330 adds r3, #48 ; 0x30 80ccd60: 2101 movs r1, #1 80ccd62: 4618 mov r0, r3 80ccd64: f7fa f864 bl 80c6e30 st_word(buf + BPB_BkBootSec32, 6); /* Offset of backup VBR (VBR + 6) */ 80ccd68: 6c3b ldr r3, [r7, #64] ; 0x40 80ccd6a: 3332 adds r3, #50 ; 0x32 80ccd6c: 2106 movs r1, #6 80ccd6e: 4618 mov r0, r3 80ccd70: f7fa f85e bl 80c6e30 buf[BS_DrvNum32] = 0x80; /* Drive number (for int13) */ 80ccd74: 6c3b ldr r3, [r7, #64] ; 0x40 80ccd76: 3340 adds r3, #64 ; 0x40 80ccd78: 2280 movs r2, #128 ; 0x80 80ccd7a: 701a strb r2, [r3, #0] buf[BS_BootSig32] = 0x29; /* Extended boot signature */ 80ccd7c: 6c3b ldr r3, [r7, #64] ; 0x40 80ccd7e: 3342 adds r3, #66 ; 0x42 80ccd80: 2229 movs r2, #41 ; 0x29 80ccd82: 701a strb r2, [r3, #0] mem_cpy(buf + BS_VolLab32, "NO NAME " "FAT32 ", 19); /* Volume label, FAT signature */ 80ccd84: 6c3b ldr r3, [r7, #64] ; 0x40 80ccd86: 3347 adds r3, #71 ; 0x47 80ccd88: 2213 movs r2, #19 80ccd8a: 499d ldr r1, [pc, #628] ; (80cd000 ) 80ccd8c: 4618 mov r0, r3 80ccd8e: f7fa f927 bl 80c6fe0 80ccd92: e021 b.n 80ccdd8 } else { st_dword(buf + BS_VolID, GET_FATTIME()); /* VSN */ 80ccd94: 6c3b ldr r3, [r7, #64] ; 0x40 80ccd96: f103 0427 add.w r4, r3, #39 ; 0x27 80ccd9a: f7f6 fe4f bl 80c3a3c 80ccd9e: 4603 mov r3, r0 80ccda0: 4619 mov r1, r3 80ccda2: 4620 mov r0, r4 80ccda4: f7fa f85f bl 80c6e66 st_word(buf + BPB_FATSz16, (WORD)sz_fat); /* FAT size [sector] */ 80ccda8: 6c3b ldr r3, [r7, #64] ; 0x40 80ccdaa: 3316 adds r3, #22 80ccdac: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80ccdb0: b292 uxth r2, r2 80ccdb2: 4611 mov r1, r2 80ccdb4: 4618 mov r0, r3 80ccdb6: f7fa f83b bl 80c6e30 buf[BS_DrvNum] = 0x80; /* Drive number (for int13) */ 80ccdba: 6c3b ldr r3, [r7, #64] ; 0x40 80ccdbc: 3324 adds r3, #36 ; 0x24 80ccdbe: 2280 movs r2, #128 ; 0x80 80ccdc0: 701a strb r2, [r3, #0] buf[BS_BootSig] = 0x29; /* Extended boot signature */ 80ccdc2: 6c3b ldr r3, [r7, #64] ; 0x40 80ccdc4: 3326 adds r3, #38 ; 0x26 80ccdc6: 2229 movs r2, #41 ; 0x29 80ccdc8: 701a strb r2, [r3, #0] mem_cpy(buf + BS_VolLab, "NO NAME " "FAT ", 19); /* Volume label, FAT signature */ 80ccdca: 6c3b ldr r3, [r7, #64] ; 0x40 80ccdcc: 332b adds r3, #43 ; 0x2b 80ccdce: 2213 movs r2, #19 80ccdd0: 498c ldr r1, [pc, #560] ; (80cd004 ) 80ccdd2: 4618 mov r0, r3 80ccdd4: f7fa f904 bl 80c6fe0 } st_word(buf + BS_55AA, 0xAA55); /* Signature (offset is fixed here regardless of sector size) */ 80ccdd8: 6c3b ldr r3, [r7, #64] ; 0x40 80ccdda: f503 73ff add.w r3, r3, #510 ; 0x1fe 80ccdde: f64a 2155 movw r1, #43605 ; 0xaa55 80ccde2: 4618 mov r0, r3 80ccde4: f7fa f824 bl 80c6e30 if (disk_write(pdrv, buf, b_vol, 1) != RES_OK) return FR_DISK_ERR; /* Write it to the VBR sector */ 80ccde8: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80ccdec: 2301 movs r3, #1 80ccdee: 6b7a ldr r2, [r7, #52] ; 0x34 80ccdf0: 6c39 ldr r1, [r7, #64] ; 0x40 80ccdf2: f7f9 fef5 bl 80c6be0 80ccdf6: 4603 mov r3, r0 80ccdf8: 2b00 cmp r3, #0 80ccdfa: d001 beq.n 80cce00 80ccdfc: 2301 movs r3, #1 80ccdfe: e17e b.n 80cd0fe /* Create FSINFO record if needed */ if (fmt == FS_FAT32) { 80cce00: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cce04: 2b03 cmp r3, #3 80cce06: d141 bne.n 80cce8c disk_write(pdrv, buf, b_vol + 6, 1); /* Write backup VBR (VBR + 6) */ 80cce08: 6b7b ldr r3, [r7, #52] ; 0x34 80cce0a: 1d9a adds r2, r3, #6 80cce0c: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cce10: 2301 movs r3, #1 80cce12: 6c39 ldr r1, [r7, #64] ; 0x40 80cce14: f7f9 fee4 bl 80c6be0 mem_set(buf, 0, ss); 80cce18: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cce1c: 461a mov r2, r3 80cce1e: 2100 movs r1, #0 80cce20: 6c38 ldr r0, [r7, #64] ; 0x40 80cce22: f7fa f8fe bl 80c7022 st_dword(buf + FSI_LeadSig, 0x41615252); 80cce26: 4978 ldr r1, [pc, #480] ; (80cd008 ) 80cce28: 6c38 ldr r0, [r7, #64] ; 0x40 80cce2a: f7fa f81c bl 80c6e66 st_dword(buf + FSI_StrucSig, 0x61417272); 80cce2e: 6c3b ldr r3, [r7, #64] ; 0x40 80cce30: f503 73f2 add.w r3, r3, #484 ; 0x1e4 80cce34: 4975 ldr r1, [pc, #468] ; (80cd00c ) 80cce36: 4618 mov r0, r3 80cce38: f7fa f815 bl 80c6e66 st_dword(buf + FSI_Free_Count, n_clst - 1); /* Number of free clusters */ 80cce3c: 6c3b ldr r3, [r7, #64] ; 0x40 80cce3e: f503 72f4 add.w r2, r3, #488 ; 0x1e8 80cce42: 6afb ldr r3, [r7, #44] ; 0x2c 80cce44: 3b01 subs r3, #1 80cce46: 4619 mov r1, r3 80cce48: 4610 mov r0, r2 80cce4a: f7fa f80c bl 80c6e66 st_dword(buf + FSI_Nxt_Free, 2); /* Last allocated cluster# */ 80cce4e: 6c3b ldr r3, [r7, #64] ; 0x40 80cce50: f503 73f6 add.w r3, r3, #492 ; 0x1ec 80cce54: 2102 movs r1, #2 80cce56: 4618 mov r0, r3 80cce58: f7fa f805 bl 80c6e66 st_word(buf + BS_55AA, 0xAA55); 80cce5c: 6c3b ldr r3, [r7, #64] ; 0x40 80cce5e: f503 73ff add.w r3, r3, #510 ; 0x1fe 80cce62: f64a 2155 movw r1, #43605 ; 0xaa55 80cce66: 4618 mov r0, r3 80cce68: f7f9 ffe2 bl 80c6e30 disk_write(pdrv, buf, b_vol + 7, 1); /* Write backup FSINFO (VBR + 7) */ 80cce6c: 6b7b ldr r3, [r7, #52] ; 0x34 80cce6e: 1dda adds r2, r3, #7 80cce70: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cce74: 2301 movs r3, #1 80cce76: 6c39 ldr r1, [r7, #64] ; 0x40 80cce78: f7f9 feb2 bl 80c6be0 disk_write(pdrv, buf, b_vol + 1, 1); /* Write original FSINFO (VBR + 1) */ 80cce7c: 6b7b ldr r3, [r7, #52] ; 0x34 80cce7e: 1c5a adds r2, r3, #1 80cce80: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cce84: 2301 movs r3, #1 80cce86: 6c39 ldr r1, [r7, #64] ; 0x40 80cce88: f7f9 feaa bl 80c6be0 } /* Initialize FAT area */ mem_set(buf, 0, (UINT)szb_buf); 80cce8c: 6bba ldr r2, [r7, #56] ; 0x38 80cce8e: 2100 movs r1, #0 80cce90: 6c38 ldr r0, [r7, #64] ; 0x40 80cce92: f7fa f8c6 bl 80c7022 sect = b_fat; /* FAT start sector */ 80cce96: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80cce9a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 for (i = 0; i < n_fats; i++) { /* Initialize FATs each */ 80cce9e: 2300 movs r3, #0 80ccea0: 67bb str r3, [r7, #120] ; 0x78 80ccea2: e059 b.n 80ccf58 if (fmt == FS_FAT32) { 80ccea4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80ccea8: 2b03 cmp r3, #3 80cceaa: d113 bne.n 80cced4 st_dword(buf + 0, 0xFFFFFFF8); /* Entry 0 */ 80cceac: f06f 0107 mvn.w r1, #7 80cceb0: 6c38 ldr r0, [r7, #64] ; 0x40 80cceb2: f7f9 ffd8 bl 80c6e66 st_dword(buf + 4, 0xFFFFFFFF); /* Entry 1 */ 80cceb6: 6c3b ldr r3, [r7, #64] ; 0x40 80cceb8: 3304 adds r3, #4 80cceba: f04f 31ff mov.w r1, #4294967295 80ccebe: 4618 mov r0, r3 80ccec0: f7f9 ffd1 bl 80c6e66 st_dword(buf + 8, 0x0FFFFFFF); /* Entry 2 (root directory) */ 80ccec4: 6c3b ldr r3, [r7, #64] ; 0x40 80ccec6: 3308 adds r3, #8 80ccec8: f06f 4170 mvn.w r1, #4026531840 ; 0xf0000000 80ccecc: 4618 mov r0, r3 80ccece: f7f9 ffca bl 80c6e66 80cced2: e00b b.n 80cceec } else { st_dword(buf + 0, (fmt == FS_FAT12) ? 0xFFFFF8 : 0xFFFFFFF8); /* Entry 0 and 1 */ 80cced4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80cced8: 2b01 cmp r3, #1 80cceda: d101 bne.n 80ccee0 80ccedc: 4b4c ldr r3, [pc, #304] ; (80cd010 ) 80ccede: e001 b.n 80ccee4 80ccee0: f06f 0307 mvn.w r3, #7 80ccee4: 4619 mov r1, r3 80ccee6: 6c38 ldr r0, [r7, #64] ; 0x40 80ccee8: f7f9 ffbd bl 80c6e66 } nsect = sz_fat; /* Number of FAT sectors */ 80cceec: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80ccef0: f8c7 3090 str.w r3, [r7, #144] ; 0x90 do { /* Fill FAT sectors */ n = (nsect > sz_buf) ? sz_buf : nsect; 80ccef4: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80ccef8: 6bfb ldr r3, [r7, #60] ; 0x3c 80ccefa: 4293 cmp r3, r2 80ccefc: bf28 it cs 80ccefe: 4613 movcs r3, r2 80ccf00: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) return FR_DISK_ERR; 80ccf04: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80ccf08: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80ccf0c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80ccf10: 6c39 ldr r1, [r7, #64] ; 0x40 80ccf12: f7f9 fe65 bl 80c6be0 80ccf16: 4603 mov r3, r0 80ccf18: 2b00 cmp r3, #0 80ccf1a: d001 beq.n 80ccf20 80ccf1c: 2301 movs r3, #1 80ccf1e: e0ee b.n 80cd0fe mem_set(buf, 0, ss); 80ccf20: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80ccf24: 461a mov r2, r3 80ccf26: 2100 movs r1, #0 80ccf28: 6c38 ldr r0, [r7, #64] ; 0x40 80ccf2a: f7fa f87a bl 80c7022 sect += n; nsect -= n; 80ccf2e: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80ccf32: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80ccf36: 4413 add r3, r2 80ccf38: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80ccf3c: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80ccf40: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80ccf44: 1ad3 subs r3, r2, r3 80ccf46: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80ccf4a: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80ccf4e: 2b00 cmp r3, #0 80ccf50: d1d0 bne.n 80ccef4 for (i = 0; i < n_fats; i++) { /* Initialize FATs each */ 80ccf52: 6fbb ldr r3, [r7, #120] ; 0x78 80ccf54: 3301 adds r3, #1 80ccf56: 67bb str r3, [r7, #120] ; 0x78 80ccf58: 6fba ldr r2, [r7, #120] ; 0x78 80ccf5a: 6d7b ldr r3, [r7, #84] ; 0x54 80ccf5c: 429a cmp r2, r3 80ccf5e: d3a1 bcc.n 80ccea4 } /* Initialize root directory (fill with zero) */ nsect = (fmt == FS_FAT32) ? pau : sz_dir; /* Number of root directory sectors */ 80ccf60: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80ccf64: 2b03 cmp r3, #3 80ccf66: d102 bne.n 80ccf6e 80ccf68: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80ccf6c: e000 b.n 80ccf70 80ccf6e: 6ffb ldr r3, [r7, #124] ; 0x7c 80ccf70: f8c7 3090 str.w r3, [r7, #144] ; 0x90 do { n = (nsect > sz_buf) ? sz_buf : nsect; 80ccf74: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80ccf78: 6bfb ldr r3, [r7, #60] ; 0x3c 80ccf7a: 4293 cmp r3, r2 80ccf7c: bf28 it cs 80ccf7e: 4613 movcs r3, r2 80ccf80: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) return FR_DISK_ERR; 80ccf84: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80ccf88: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80ccf8c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80ccf90: 6c39 ldr r1, [r7, #64] ; 0x40 80ccf92: f7f9 fe25 bl 80c6be0 80ccf96: 4603 mov r3, r0 80ccf98: 2b00 cmp r3, #0 80ccf9a: d001 beq.n 80ccfa0 80ccf9c: 2301 movs r3, #1 80ccf9e: e0ae b.n 80cd0fe sect += n; nsect -= n; 80ccfa0: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80ccfa4: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80ccfa8: 4413 add r3, r2 80ccfaa: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80ccfae: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80ccfb2: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80ccfb6: 1ad3 subs r3, r2, r3 80ccfb8: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80ccfbc: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80ccfc0: 2b00 cmp r3, #0 80ccfc2: d1d7 bne.n 80ccf74 } /* Determine system ID in the partition table */ if (_FS_EXFAT && fmt == FS_EXFAT) { 80ccfc4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80ccfc8: 2b04 cmp r3, #4 80ccfca: d103 bne.n 80ccfd4 sys = 0x07; /* HPFS/NTFS/exFAT */ 80ccfcc: 2307 movs r3, #7 80ccfce: f887 309e strb.w r3, [r7, #158] ; 0x9e 80ccfd2: e022 b.n 80cd01a } else { if (fmt == FS_FAT32) { 80ccfd4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80ccfd8: 2b03 cmp r3, #3 80ccfda: d103 bne.n 80ccfe4 sys = 0x0C; /* FAT32X */ 80ccfdc: 230c movs r3, #12 80ccfde: f887 309e strb.w r3, [r7, #158] ; 0x9e 80ccfe2: e01a b.n 80cd01a } else { if (sz_vol >= 0x10000) { 80ccfe4: 69fb ldr r3, [r7, #28] 80ccfe6: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80ccfea: d303 bcc.n 80ccff4 sys = 0x06; /* FAT12/16 (>=64KS) */ 80ccfec: 2306 movs r3, #6 80ccfee: f887 309e strb.w r3, [r7, #158] ; 0x9e 80ccff2: e012 b.n 80cd01a } else { sys = (fmt == FS_FAT16) ? 0x04 : 0x01; /* FAT16 (<64KS) : FAT12 (<64KS) */ 80ccff4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80ccff8: 2b02 cmp r3, #2 80ccffa: d10b bne.n 80cd014 80ccffc: 2304 movs r3, #4 80ccffe: e00a b.n 80cd016 80cd000: 080d4f0c .word 0x080d4f0c 80cd004: 080d4f20 .word 0x080d4f20 80cd008: 41615252 .word 0x41615252 80cd00c: 61417272 .word 0x61417272 80cd010: 00fffff8 .word 0x00fffff8 80cd014: 2301 movs r3, #1 80cd016: 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 */ 80cd01a: 7afb ldrb r3, [r7, #11] 80cd01c: f003 0308 and.w r3, r3, #8 80cd020: 2b00 cmp r3, #0 80cd022: d15f bne.n 80cd0e4 mem_set(buf, 0, ss); 80cd024: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80cd028: 461a mov r2, r3 80cd02a: 2100 movs r1, #0 80cd02c: 6c38 ldr r0, [r7, #64] ; 0x40 80cd02e: f7f9 fff8 bl 80c7022 st_word(buf + BS_55AA, 0xAA55); /* MBR signature */ 80cd032: 6c3b ldr r3, [r7, #64] ; 0x40 80cd034: f503 73ff add.w r3, r3, #510 ; 0x1fe 80cd038: f64a 2155 movw r1, #43605 ; 0xaa55 80cd03c: 4618 mov r0, r3 80cd03e: f7f9 fef7 bl 80c6e30 pte = buf + MBR_Table; /* Create partition table for single partition in the drive */ 80cd042: 6c3b ldr r3, [r7, #64] ; 0x40 80cd044: f503 73df add.w r3, r3, #446 ; 0x1be 80cd048: 627b str r3, [r7, #36] ; 0x24 pte[PTE_Boot] = 0; /* Boot indicator */ 80cd04a: 6a7b ldr r3, [r7, #36] ; 0x24 80cd04c: 2200 movs r2, #0 80cd04e: 701a strb r2, [r3, #0] pte[PTE_StHead] = 1; /* Start head */ 80cd050: 6a7b ldr r3, [r7, #36] ; 0x24 80cd052: 3301 adds r3, #1 80cd054: 2201 movs r2, #1 80cd056: 701a strb r2, [r3, #0] pte[PTE_StSec] = 1; /* Start sector */ 80cd058: 6a7b ldr r3, [r7, #36] ; 0x24 80cd05a: 3302 adds r3, #2 80cd05c: 2201 movs r2, #1 80cd05e: 701a strb r2, [r3, #0] pte[PTE_StCyl] = 0; /* Start cylinder */ 80cd060: 6a7b ldr r3, [r7, #36] ; 0x24 80cd062: 3303 adds r3, #3 80cd064: 2200 movs r2, #0 80cd066: 701a strb r2, [r3, #0] pte[PTE_System] = sys; /* System type */ 80cd068: 6a7b ldr r3, [r7, #36] ; 0x24 80cd06a: 3304 adds r3, #4 80cd06c: f897 209e ldrb.w r2, [r7, #158] ; 0x9e 80cd070: 701a strb r2, [r3, #0] n = (b_vol + sz_vol) / (63 * 255); /* (End CHS may be invalid) */ 80cd072: 69fa ldr r2, [r7, #28] 80cd074: 6b7b ldr r3, [r7, #52] ; 0x34 80cd076: 441a add r2, r3 80cd078: 4b23 ldr r3, [pc, #140] ; (80cd108 ) 80cd07a: fba3 1302 umull r1, r3, r3, r2 80cd07e: 1ad2 subs r2, r2, r3 80cd080: 0852 lsrs r2, r2, #1 80cd082: 4413 add r3, r2 80cd084: 0b5b lsrs r3, r3, #13 80cd086: f8c7 308c str.w r3, [r7, #140] ; 0x8c pte[PTE_EdHead] = 254; /* End head */ 80cd08a: 6a7b ldr r3, [r7, #36] ; 0x24 80cd08c: 3305 adds r3, #5 80cd08e: 22fe movs r2, #254 ; 0xfe 80cd090: 701a strb r2, [r3, #0] pte[PTE_EdSec] = (BYTE)(n >> 2 | 63); /* End sector */ 80cd092: 6a7b ldr r3, [r7, #36] ; 0x24 80cd094: 3306 adds r3, #6 80cd096: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80cd09a: 0892 lsrs r2, r2, #2 80cd09c: b2d2 uxtb r2, r2 80cd09e: f042 023f orr.w r2, r2, #63 ; 0x3f 80cd0a2: b2d2 uxtb r2, r2 80cd0a4: 701a strb r2, [r3, #0] pte[PTE_EdCyl] = (BYTE)n; /* End cylinder */ 80cd0a6: 6a7b ldr r3, [r7, #36] ; 0x24 80cd0a8: 3307 adds r3, #7 80cd0aa: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80cd0ae: b2d2 uxtb r2, r2 80cd0b0: 701a strb r2, [r3, #0] st_dword(pte + PTE_StLba, b_vol); /* Start offset in LBA */ 80cd0b2: 6a7b ldr r3, [r7, #36] ; 0x24 80cd0b4: 3308 adds r3, #8 80cd0b6: 6b79 ldr r1, [r7, #52] ; 0x34 80cd0b8: 4618 mov r0, r3 80cd0ba: f7f9 fed4 bl 80c6e66 st_dword(pte + PTE_SizLba, sz_vol); /* Size in sectors */ 80cd0be: 6a7b ldr r3, [r7, #36] ; 0x24 80cd0c0: 330c adds r3, #12 80cd0c2: 69fa ldr r2, [r7, #28] 80cd0c4: 4611 mov r1, r2 80cd0c6: 4618 mov r0, r3 80cd0c8: f7f9 fecd bl 80c6e66 if (disk_write(pdrv, buf, 0, 1) != RES_OK) return FR_DISK_ERR; /* Write it to the MBR */ 80cd0cc: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80cd0d0: 2301 movs r3, #1 80cd0d2: 2200 movs r2, #0 80cd0d4: 6c39 ldr r1, [r7, #64] ; 0x40 80cd0d6: f7f9 fd83 bl 80c6be0 80cd0da: 4603 mov r3, r0 80cd0dc: 2b00 cmp r3, #0 80cd0de: d001 beq.n 80cd0e4 80cd0e0: 2301 movs r3, #1 80cd0e2: e00c b.n 80cd0fe } } if (disk_ioctl(pdrv, CTRL_SYNC, 0) != RES_OK) return FR_DISK_ERR; 80cd0e4: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80cd0e8: 2200 movs r2, #0 80cd0ea: 2100 movs r1, #0 80cd0ec: 4618 mov r0, r3 80cd0ee: f7f9 fd97 bl 80c6c20 80cd0f2: 4603 mov r3, r0 80cd0f4: 2b00 cmp r3, #0 80cd0f6: d001 beq.n 80cd0fc 80cd0f8: 2301 movs r3, #1 80cd0fa: e000 b.n 80cd0fe return FR_OK; 80cd0fc: 2300 movs r3, #0 } 80cd0fe: 4618 mov r0, r3 80cd100: 37a4 adds r7, #164 ; 0xa4 80cd102: 46bd mov sp, r7 80cd104: bd90 pop {r4, r7, pc} 80cd106: bf00 nop 80cd108: 0515565b .word 0x0515565b 080cd10c : * @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) { 80cd10c: b480 push {r7} 80cd10e: b087 sub sp, #28 80cd110: af00 add r7, sp, #0 80cd112: 60f8 str r0, [r7, #12] 80cd114: 60b9 str r1, [r7, #8] 80cd116: 4613 mov r3, r2 80cd118: 71fb strb r3, [r7, #7] uint8_t ret = 1; 80cd11a: 2301 movs r3, #1 80cd11c: 75fb strb r3, [r7, #23] uint8_t DiskNum = 0; 80cd11e: 2300 movs r3, #0 80cd120: 75bb strb r3, [r7, #22] if(disk.nbr < _VOLUMES) 80cd122: 4b1f ldr r3, [pc, #124] ; (80cd1a0 ) 80cd124: 7a5b ldrb r3, [r3, #9] 80cd126: b2db uxtb r3, r3 80cd128: 2b00 cmp r3, #0 80cd12a: d131 bne.n 80cd190 { disk.is_initialized[disk.nbr] = 0; 80cd12c: 4b1c ldr r3, [pc, #112] ; (80cd1a0 ) 80cd12e: 7a5b ldrb r3, [r3, #9] 80cd130: b2db uxtb r3, r3 80cd132: 461a mov r2, r3 80cd134: 4b1a ldr r3, [pc, #104] ; (80cd1a0 ) 80cd136: 2100 movs r1, #0 80cd138: 5499 strb r1, [r3, r2] disk.drv[disk.nbr] = drv; 80cd13a: 4b19 ldr r3, [pc, #100] ; (80cd1a0 ) 80cd13c: 7a5b ldrb r3, [r3, #9] 80cd13e: b2db uxtb r3, r3 80cd140: 4a17 ldr r2, [pc, #92] ; (80cd1a0 ) 80cd142: 009b lsls r3, r3, #2 80cd144: 4413 add r3, r2 80cd146: 68fa ldr r2, [r7, #12] 80cd148: 605a str r2, [r3, #4] disk.lun[disk.nbr] = lun; 80cd14a: 4b15 ldr r3, [pc, #84] ; (80cd1a0 ) 80cd14c: 7a5b ldrb r3, [r3, #9] 80cd14e: b2db uxtb r3, r3 80cd150: 461a mov r2, r3 80cd152: 4b13 ldr r3, [pc, #76] ; (80cd1a0 ) 80cd154: 4413 add r3, r2 80cd156: 79fa ldrb r2, [r7, #7] 80cd158: 721a strb r2, [r3, #8] DiskNum = disk.nbr++; 80cd15a: 4b11 ldr r3, [pc, #68] ; (80cd1a0 ) 80cd15c: 7a5b ldrb r3, [r3, #9] 80cd15e: b2db uxtb r3, r3 80cd160: 1c5a adds r2, r3, #1 80cd162: b2d1 uxtb r1, r2 80cd164: 4a0e ldr r2, [pc, #56] ; (80cd1a0 ) 80cd166: 7251 strb r1, [r2, #9] 80cd168: 75bb strb r3, [r7, #22] path[0] = DiskNum + '0'; 80cd16a: 7dbb ldrb r3, [r7, #22] 80cd16c: 3330 adds r3, #48 ; 0x30 80cd16e: b2da uxtb r2, r3 80cd170: 68bb ldr r3, [r7, #8] 80cd172: 701a strb r2, [r3, #0] path[1] = ':'; 80cd174: 68bb ldr r3, [r7, #8] 80cd176: 3301 adds r3, #1 80cd178: 223a movs r2, #58 ; 0x3a 80cd17a: 701a strb r2, [r3, #0] path[2] = '/'; 80cd17c: 68bb ldr r3, [r7, #8] 80cd17e: 3302 adds r3, #2 80cd180: 222f movs r2, #47 ; 0x2f 80cd182: 701a strb r2, [r3, #0] path[3] = 0; 80cd184: 68bb ldr r3, [r7, #8] 80cd186: 3303 adds r3, #3 80cd188: 2200 movs r2, #0 80cd18a: 701a strb r2, [r3, #0] ret = 0; 80cd18c: 2300 movs r3, #0 80cd18e: 75fb strb r3, [r7, #23] } return ret; 80cd190: 7dfb ldrb r3, [r7, #23] } 80cd192: 4618 mov r0, r3 80cd194: 371c adds r7, #28 80cd196: 46bd mov sp, r7 80cd198: f85d 7b04 ldr.w r7, [sp], #4 80cd19c: 4770 bx lr 80cd19e: bf00 nop 80cd1a0: 20021b5c .word 0x20021b5c 080cd1a4 : * @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) { 80cd1a4: b580 push {r7, lr} 80cd1a6: b082 sub sp, #8 80cd1a8: af00 add r7, sp, #0 80cd1aa: 6078 str r0, [r7, #4] 80cd1ac: 6039 str r1, [r7, #0] return FATFS_LinkDriverEx(drv, path, 0); 80cd1ae: 2200 movs r2, #0 80cd1b0: 6839 ldr r1, [r7, #0] 80cd1b2: 6878 ldr r0, [r7, #4] 80cd1b4: f7ff ffaa bl 80cd10c 80cd1b8: 4603 mov r3, r0 } 80cd1ba: 4618 mov r0, r3 80cd1bc: 3708 adds r7, #8 80cd1be: 46bd mov sp, r7 80cd1c0: bd80 pop {r7, pc} ... 080cd1c4 : 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 */ ) { 80cd1c4: b480 push {r7} 80cd1c6: b085 sub sp, #20 80cd1c8: af00 add r7, sp, #0 80cd1ca: 4603 mov r3, r0 80cd1cc: 6039 str r1, [r7, #0] 80cd1ce: 80fb strh r3, [r7, #6] WCHAR c; if (chr < 0x80) { /* ASCII */ 80cd1d0: 88fb ldrh r3, [r7, #6] 80cd1d2: 2b7f cmp r3, #127 ; 0x7f 80cd1d4: d802 bhi.n 80cd1dc c = chr; 80cd1d6: 88fb ldrh r3, [r7, #6] 80cd1d8: 81fb strh r3, [r7, #14] 80cd1da: e025 b.n 80cd228 } else { if (dir) { /* OEMCP to Unicode */ 80cd1dc: 683b ldr r3, [r7, #0] 80cd1de: 2b00 cmp r3, #0 80cd1e0: d00b beq.n 80cd1fa c = (chr >= 0x100) ? 0 : Tbl[chr - 0x80]; 80cd1e2: 88fb ldrh r3, [r7, #6] 80cd1e4: 2bff cmp r3, #255 ; 0xff 80cd1e6: d805 bhi.n 80cd1f4 80cd1e8: 88fb ldrh r3, [r7, #6] 80cd1ea: 3b80 subs r3, #128 ; 0x80 80cd1ec: 4a12 ldr r2, [pc, #72] ; (80cd238 ) 80cd1ee: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cd1f2: e000 b.n 80cd1f6 80cd1f4: 2300 movs r3, #0 80cd1f6: 81fb strh r3, [r7, #14] 80cd1f8: e016 b.n 80cd228 } else { /* Unicode to OEMCP */ for (c = 0; c < 0x80; c++) { 80cd1fa: 2300 movs r3, #0 80cd1fc: 81fb strh r3, [r7, #14] 80cd1fe: e009 b.n 80cd214 if (chr == Tbl[c]) break; 80cd200: 89fb ldrh r3, [r7, #14] 80cd202: 4a0d ldr r2, [pc, #52] ; (80cd238 ) 80cd204: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cd208: 88fa ldrh r2, [r7, #6] 80cd20a: 429a cmp r2, r3 80cd20c: d006 beq.n 80cd21c for (c = 0; c < 0x80; c++) { 80cd20e: 89fb ldrh r3, [r7, #14] 80cd210: 3301 adds r3, #1 80cd212: 81fb strh r3, [r7, #14] 80cd214: 89fb ldrh r3, [r7, #14] 80cd216: 2b7f cmp r3, #127 ; 0x7f 80cd218: d9f2 bls.n 80cd200 80cd21a: e000 b.n 80cd21e if (chr == Tbl[c]) break; 80cd21c: bf00 nop } c = (c + 0x80) & 0xFF; 80cd21e: 89fb ldrh r3, [r7, #14] 80cd220: 3380 adds r3, #128 ; 0x80 80cd222: b29b uxth r3, r3 80cd224: b2db uxtb r3, r3 80cd226: 81fb strh r3, [r7, #14] } } return c; 80cd228: 89fb ldrh r3, [r7, #14] } 80cd22a: 4618 mov r0, r3 80cd22c: 3714 adds r7, #20 80cd22e: 46bd mov sp, r7 80cd230: f85d 7b04 ldr.w r7, [sp], #4 80cd234: 4770 bx lr 80cd236: bf00 nop 80cd238: 0816e09c .word 0x0816e09c 080cd23c : WCHAR ff_wtoupper ( /* Upper converted character */ WCHAR chr /* Input character */ ) { 80cd23c: b480 push {r7} 80cd23e: b085 sub sp, #20 80cd240: af00 add r7, sp, #0 80cd242: 4603 mov r3, r0 80cd244: 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++) ; 80cd246: 2300 movs r3, #0 80cd248: 60fb str r3, [r7, #12] 80cd24a: e002 b.n 80cd252 80cd24c: 68fb ldr r3, [r7, #12] 80cd24e: 3301 adds r3, #1 80cd250: 60fb str r3, [r7, #12] 80cd252: 4a0f ldr r2, [pc, #60] ; (80cd290 ) 80cd254: 68fb ldr r3, [r7, #12] 80cd256: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cd25a: 2b00 cmp r3, #0 80cd25c: d006 beq.n 80cd26c 80cd25e: 4a0c ldr r2, [pc, #48] ; (80cd290 ) 80cd260: 68fb ldr r3, [r7, #12] 80cd262: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cd266: 88fa ldrh r2, [r7, #6] 80cd268: 429a cmp r2, r3 80cd26a: d1ef bne.n 80cd24c return tbl_lower[i] ? tbl_upper[i] : chr; 80cd26c: 4a08 ldr r2, [pc, #32] ; (80cd290 ) 80cd26e: 68fb ldr r3, [r7, #12] 80cd270: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cd274: 2b00 cmp r3, #0 80cd276: d004 beq.n 80cd282 80cd278: 4a06 ldr r2, [pc, #24] ; (80cd294 ) 80cd27a: 68fb ldr r3, [r7, #12] 80cd27c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80cd280: e000 b.n 80cd284 80cd282: 88fb ldrh r3, [r7, #6] } 80cd284: 4618 mov r0, r3 80cd286: 3714 adds r7, #20 80cd288: 46bd mov sp, r7 80cd28a: f85d 7b04 ldr.w r7, [sp], #4 80cd28e: 4770 bx lr 80cd290: 0816e19c .word 0x0816e19c 80cd294: 0816e37c .word 0x0816e37c 080cd298 : /** * Init USB device Library, add supported class and start the library * @retval None */ void MX_USB_DEVICE_Init(void) { 80cd298: b580 push {r7, lr} 80cd29a: 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) 80cd29c: 2201 movs r2, #1 80cd29e: 4912 ldr r1, [pc, #72] ; (80cd2e8 ) 80cd2a0: 4812 ldr r0, [pc, #72] ; (80cd2ec ) 80cd2a2: f7f8 fb2c bl 80c58fe 80cd2a6: 4603 mov r3, r0 80cd2a8: 2b00 cmp r3, #0 80cd2aa: d001 beq.n 80cd2b0 { Error_Handler(); 80cd2ac: f788 fd00 bl 8055cb0 } if (USBD_RegisterClass(&hUsbDeviceHS, &USBD_MSC) != USBD_OK) 80cd2b0: 490f ldr r1, [pc, #60] ; (80cd2f0 ) 80cd2b2: 480e ldr r0, [pc, #56] ; (80cd2ec ) 80cd2b4: f7f8 fb59 bl 80c596a 80cd2b8: 4603 mov r3, r0 80cd2ba: 2b00 cmp r3, #0 80cd2bc: d001 beq.n 80cd2c2 { Error_Handler(); 80cd2be: f788 fcf7 bl 8055cb0 } if (USBD_MSC_RegisterStorage(&hUsbDeviceHS, &USBD_Storage_Interface_fops_HS) != USBD_OK) 80cd2c2: 490c ldr r1, [pc, #48] ; (80cd2f4 ) 80cd2c4: 4809 ldr r0, [pc, #36] ; (80cd2ec ) 80cd2c6: f7f7 f855 bl 80c4374 80cd2ca: 4603 mov r3, r0 80cd2cc: 2b00 cmp r3, #0 80cd2ce: d001 beq.n 80cd2d4 { Error_Handler(); 80cd2d0: f788 fcee bl 8055cb0 } if (USBD_Start(&hUsbDeviceHS) != USBD_OK) 80cd2d4: 4805 ldr r0, [pc, #20] ; (80cd2ec ) 80cd2d6: f7f8 fb69 bl 80c59ac 80cd2da: 4603 mov r3, r0 80cd2dc: 2b00 cmp r3, #0 80cd2de: d001 beq.n 80cd2e4 { Error_Handler(); 80cd2e0: f788 fce6 bl 8055cb0 } /* USER CODE BEGIN USB_DEVICE_Init_PostTreatment */ /* USER CODE END USB_DEVICE_Init_PostTreatment */ } 80cd2e4: bf00 nop 80cd2e6: bd80 pop {r7, pc} 80cd2e8: 20020ad0 .word 0x20020ad0 80cd2ec: 20068da0 .word 0x20068da0 80cd2f0: 200209e8 .word 0x200209e8 80cd2f4: 20020b30 .word 0x20020b30 080cd2f8 : void USBState(void) { 80cd2f8: b580 push {r7, lr} 80cd2fa: b082 sub sp, #8 80cd2fc: af00 add r7, sp, #0 uint32_t timeout; if(ChangeUSBState) 80cd2fe: 4b47 ldr r3, [pc, #284] ; (80cd41c ) 80cd300: 781b ldrb r3, [r3, #0] 80cd302: b2db uxtb r3, r3 80cd304: 2b00 cmp r3, #0 80cd306: f000 8084 beq.w 80cd412 { if(USBConnected) 80cd30a: 4b45 ldr r3, [pc, #276] ; (80cd420 ) 80cd30c: 781b ldrb r3, [r3, #0] 80cd30e: b2db uxtb r3, r3 80cd310: 2b00 cmp r3, #0 80cd312: d025 beq.n 80cd360 { timeout = HAL_GetTick(); 80cd314: f7e9 fd86 bl 80b6e24 80cd318: 6078 str r0, [r7, #4] { keyIns(); RedrawScreen(); }*/ if(LinkPC == 0) 80cd31a: 4b42 ldr r3, [pc, #264] ; (80cd424 ) 80cd31c: 781b ldrb r3, [r3, #0] 80cd31e: b2db uxtb r3, r3 80cd320: 2b00 cmp r3, #0 80cd322: d111 bne.n 80cd348 { ChargerIsConnect = true; 80cd324: 4b40 ldr r3, [pc, #256] ; (80cd428 ) 80cd326: 2201 movs r2, #1 80cd328: 701a strb r2, [r3, #0] oldVbat = 0.0f; 80cd32a: 4b40 ldr r3, [pc, #256] ; (80cd42c ) 80cd32c: f04f 0200 mov.w r2, #0 80cd330: 601a str r2, [r3, #0] cntVbat = 0; 80cd332: 4b3f ldr r3, [pc, #252] ; (80cd430 ) 80cd334: 2200 movs r2, #0 80cd336: 601a str r2, [r3, #0] HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_SET); 80cd338: 2201 movs r2, #1 80cd33a: 2108 movs r1, #8 80cd33c: 483d ldr r0, [pc, #244] ; (80cd434 ) 80cd33e: f7ec fa2d bl 80b979c SetupADC(); 80cd342: f755 fd01 bl 8022d48 80cd346: e061 b.n 80cd40c } else { menu = LINK_PC; 80cd348: 4b3b ldr r3, [pc, #236] ; (80cd438 ) 80cd34a: 2242 movs r2, #66 ; 0x42 80cd34c: 701a strb r2, [r3, #0] ChargerIsConnect = false; 80cd34e: 4b36 ldr r3, [pc, #216] ; (80cd428 ) 80cd350: 2200 movs r2, #0 80cd352: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 80cd354: 2200 movs r2, #0 80cd356: 2108 movs r1, #8 80cd358: 4836 ldr r0, [pc, #216] ; (80cd434 ) 80cd35a: f7ec fa1f bl 80b979c 80cd35e: e055 b.n 80cd40c } } else { if(LinkPC) 80cd360: 4b30 ldr r3, [pc, #192] ; (80cd424 ) 80cd362: 781b ldrb r3, [r3, #0] 80cd364: b2db uxtb r3, r3 80cd366: 2b00 cmp r3, #0 80cd368: d008 beq.n 80cd37c { menu = OPTIONS; 80cd36a: 4b33 ldr r3, [pc, #204] ; (80cd438 ) 80cd36c: 2201 movs r2, #1 80cd36e: 701a strb r2, [r3, #0] menupos = Mode; 80cd370: 4b32 ldr r3, [pc, #200] ; (80cd43c ) 80cd372: 2201 movs r2, #1 80cd374: 701a strb r2, [r3, #0] LinkPC = 0; 80cd376: 4b2b ldr r3, [pc, #172] ; (80cd424 ) 80cd378: 2200 movs r2, #0 80cd37a: 701a strb r2, [r3, #0] } if(CardState == MSD_READY) { 80cd37c: 4b30 ldr r3, [pc, #192] ; (80cd440 ) 80cd37e: 781b ldrb r3, [r3, #0] 80cd380: b2db uxtb r3, r3 80cd382: 2b03 cmp r3, #3 80cd384: d101 bne.n 80cd38a CheckSD(); 80cd386: f75f f90d bl 802c5a4 } if(ChargerIsConnect) 80cd38a: 4b27 ldr r3, [pc, #156] ; (80cd428 ) 80cd38c: 781b ldrb r3, [r3, #0] 80cd38e: b2db uxtb r3, r3 80cd390: 2b00 cmp r3, #0 80cd392: d02f beq.n 80cd3f4 { ChargerIsConnect = false; 80cd394: 4b24 ldr r3, [pc, #144] ; (80cd428 ) 80cd396: 2200 movs r2, #0 80cd398: 701a strb r2, [r3, #0] TIMEOUT_BAT = sec5 + sec2; 80cd39a: 4b2a ldr r3, [pc, #168] ; (80cd444 ) 80cd39c: f44f 5260 mov.w r2, #14336 ; 0x3800 80cd3a0: 601a str r2, [r3, #0] ADCBat = 0; 80cd3a2: 4b29 ldr r3, [pc, #164] ; (80cd448 ) 80cd3a4: 2200 movs r2, #0 80cd3a6: 601a str r2, [r3, #0] adc_cnt = 0; 80cd3a8: 4b28 ldr r3, [pc, #160] ; (80cd44c ) 80cd3aa: 2200 movs r2, #0 80cd3ac: 801a strh r2, [r3, #0] if(menu == POWER_OFF) 80cd3ae: 4b22 ldr r3, [pc, #136] ; (80cd438 ) 80cd3b0: 781b ldrb r3, [r3, #0] 80cd3b2: 2b43 cmp r3, #67 ; 0x43 80cd3b4: d10a bne.n 80cd3cc { menu = OPTIONS; 80cd3b6: 4b20 ldr r3, [pc, #128] ; (80cd438 ) 80cd3b8: 2201 movs r2, #1 80cd3ba: 701a strb r2, [r3, #0] menupos = Mode; 80cd3bc: 4b1f ldr r3, [pc, #124] ; (80cd43c ) 80cd3be: 2201 movs r2, #1 80cd3c0: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80cd3c2: 4b23 ldr r3, [pc, #140] ; (80cd450 ) 80cd3c4: f44f 42a0 mov.w r2, #20480 ; 0x5000 80cd3c8: 601a str r2, [r3, #0] 80cd3ca: e013 b.n 80cd3f4 } else if(menu == POWER_OFF2) 80cd3cc: 4b1a ldr r3, [pc, #104] ; (80cd438 ) 80cd3ce: 781b ldrb r3, [r3, #0] 80cd3d0: 2b44 cmp r3, #68 ; 0x44 80cd3d2: d10f bne.n 80cd3f4 { //NeedOff = true; menu = OPTIONS; 80cd3d4: 4b18 ldr r3, [pc, #96] ; (80cd438 ) 80cd3d6: 2201 movs r2, #1 80cd3d8: 701a strb r2, [r3, #0] menupos = Mode; 80cd3da: 4b18 ldr r3, [pc, #96] ; (80cd43c ) 80cd3dc: 2201 movs r2, #1 80cd3de: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80cd3e0: 4b1b ldr r3, [pc, #108] ; (80cd450 ) 80cd3e2: f44f 42a0 mov.w r2, #20480 ; 0x5000 80cd3e6: 601a str r2, [r3, #0] HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT IS ON 80cd3e8: 2200 movs r2, #0 80cd3ea: f44f 7180 mov.w r1, #256 ; 0x100 80cd3ee: 4819 ldr r0, [pc, #100] ; (80cd454 ) 80cd3f0: f7ec f9d4 bl 80b979c } } HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 80cd3f4: 2200 movs r2, #0 80cd3f6: 2108 movs r1, #8 80cd3f8: 480e ldr r0, [pc, #56] ; (80cd434 ) 80cd3fa: f7ec f9cf bl 80b979c oldVbat = 0.0f; 80cd3fe: 4b0b ldr r3, [pc, #44] ; (80cd42c ) 80cd400: f04f 0200 mov.w r2, #0 80cd404: 601a str r2, [r3, #0] cntVbat = 0; 80cd406: 4b0a ldr r3, [pc, #40] ; (80cd430 ) 80cd408: 2200 movs r2, #0 80cd40a: 601a str r2, [r3, #0] } ChangeUSBState = false; 80cd40c: 4b03 ldr r3, [pc, #12] ; (80cd41c ) 80cd40e: 2200 movs r2, #0 80cd410: 701a strb r2, [r3, #0] } } 80cd412: bf00 nop 80cd414: 3708 adds r7, #8 80cd416: 46bd mov sp, r7 80cd418: bd80 pop {r7, pc} 80cd41a: bf00 nop 80cd41c: 20021b68 .word 0x20021b68 80cd420: 20021b69 .word 0x20021b69 80cd424: 20021b6b .word 0x20021b6b 80cd428: 20021b6a .word 0x20021b6a 80cd42c: 20020004 .word 0x20020004 80cd430: 20020d64 .word 0x20020d64 80cd434: 40020800 .word 0x40020800 80cd438: 20020fbd .word 0x20020fbd 80cd43c: 20020070 .word 0x20020070 80cd440: 20021694 .word 0x20021694 80cd444: 200209d4 .word 0x200209d4 80cd448: 20020d5c .word 0x20020d5c 80cd44c: 20020d60 .word 0x20020d60 80cd450: 200209d0 .word 0x200209d0 80cd454: 40020000 .word 0x40020000 080cd458 : * @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) { 80cd458: b480 push {r7} 80cd45a: b083 sub sp, #12 80cd45c: af00 add r7, sp, #0 80cd45e: 4603 mov r3, r0 80cd460: 6039 str r1, [r7, #0] 80cd462: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_HS_DeviceDesc); 80cd464: 683b ldr r3, [r7, #0] 80cd466: 2212 movs r2, #18 80cd468: 801a strh r2, [r3, #0] return USBD_HS_DeviceDesc; 80cd46a: 4b03 ldr r3, [pc, #12] ; (80cd478 ) } 80cd46c: 4618 mov r0, r3 80cd46e: 370c adds r7, #12 80cd470: 46bd mov sp, r7 80cd472: f85d 7b04 ldr.w r7, [sp], #4 80cd476: 4770 bx lr 80cd478: 20020af0 .word 0x20020af0 080cd47c : * @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) { 80cd47c: b480 push {r7} 80cd47e: b083 sub sp, #12 80cd480: af00 add r7, sp, #0 80cd482: 4603 mov r3, r0 80cd484: 6039 str r1, [r7, #0] 80cd486: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_LangIDDesc); 80cd488: 683b ldr r3, [r7, #0] 80cd48a: 2204 movs r2, #4 80cd48c: 801a strh r2, [r3, #0] return USBD_LangIDDesc; 80cd48e: 4b03 ldr r3, [pc, #12] ; (80cd49c ) } 80cd490: 4618 mov r0, r3 80cd492: 370c adds r7, #12 80cd494: 46bd mov sp, r7 80cd496: f85d 7b04 ldr.w r7, [sp], #4 80cd49a: 4770 bx lr 80cd49c: 20020b10 .word 0x20020b10 080cd4a0 : * @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) { 80cd4a0: b580 push {r7, lr} 80cd4a2: b082 sub sp, #8 80cd4a4: af00 add r7, sp, #0 80cd4a6: 4603 mov r3, r0 80cd4a8: 6039 str r1, [r7, #0] 80cd4aa: 71fb strb r3, [r7, #7] if(speed == 0) 80cd4ac: 79fb ldrb r3, [r7, #7] 80cd4ae: 2b00 cmp r3, #0 80cd4b0: d105 bne.n 80cd4be { USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_HS, USBD_StrDesc, length); 80cd4b2: 683a ldr r2, [r7, #0] 80cd4b4: 4907 ldr r1, [pc, #28] ; (80cd4d4 ) 80cd4b6: 4808 ldr r0, [pc, #32] ; (80cd4d8 ) 80cd4b8: f7f9 fa6f bl 80c699a 80cd4bc: e004 b.n 80cd4c8 } else { USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_HS, USBD_StrDesc, length); 80cd4be: 683a ldr r2, [r7, #0] 80cd4c0: 4904 ldr r1, [pc, #16] ; (80cd4d4 ) 80cd4c2: 4805 ldr r0, [pc, #20] ; (80cd4d8 ) 80cd4c4: f7f9 fa69 bl 80c699a } return USBD_StrDesc; 80cd4c8: 4b02 ldr r3, [pc, #8] ; (80cd4d4 ) } 80cd4ca: 4618 mov r0, r3 80cd4cc: 3708 adds r7, #8 80cd4ce: 46bd mov sp, r7 80cd4d0: bd80 pop {r7, pc} 80cd4d2: bf00 nop 80cd4d4: 20069070 .word 0x20069070 80cd4d8: 080d4f34 .word 0x080d4f34 080cd4dc : * @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) { 80cd4dc: b580 push {r7, lr} 80cd4de: b082 sub sp, #8 80cd4e0: af00 add r7, sp, #0 80cd4e2: 4603 mov r3, r0 80cd4e4: 6039 str r1, [r7, #0] 80cd4e6: 71fb strb r3, [r7, #7] UNUSED(speed); USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length); 80cd4e8: 683a ldr r2, [r7, #0] 80cd4ea: 4904 ldr r1, [pc, #16] ; (80cd4fc ) 80cd4ec: 4804 ldr r0, [pc, #16] ; (80cd500 ) 80cd4ee: f7f9 fa54 bl 80c699a return USBD_StrDesc; 80cd4f2: 4b02 ldr r3, [pc, #8] ; (80cd4fc ) } 80cd4f4: 4618 mov r0, r3 80cd4f6: 3708 adds r7, #8 80cd4f8: 46bd mov sp, r7 80cd4fa: bd80 pop {r7, pc} 80cd4fc: 20069070 .word 0x20069070 80cd500: 080d4f48 .word 0x080d4f48 080cd504 : * @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) { 80cd504: b580 push {r7, lr} 80cd506: b082 sub sp, #8 80cd508: af00 add r7, sp, #0 80cd50a: 4603 mov r3, r0 80cd50c: 6039 str r1, [r7, #0] 80cd50e: 71fb strb r3, [r7, #7] UNUSED(speed); *length = USB_SIZ_STRING_SERIAL; 80cd510: 683b ldr r3, [r7, #0] 80cd512: 221a movs r2, #26 80cd514: 801a strh r2, [r3, #0] /* Update the serial number string descriptor with the data from the unique * ID */ Get_SerialNum(); 80cd516: f000 f855 bl 80cd5c4 /* USER CODE BEGIN USBD_HS_SerialStrDescriptor */ /* USER CODE END USBD_HS_SerialStrDescriptor */ return (uint8_t *) USBD_StringSerial; 80cd51a: 4b02 ldr r3, [pc, #8] ; (80cd524 ) } 80cd51c: 4618 mov r0, r3 80cd51e: 3708 adds r7, #8 80cd520: 46bd mov sp, r7 80cd522: bd80 pop {r7, pc} 80cd524: 20020b14 .word 0x20020b14 080cd528 : * @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) { 80cd528: b580 push {r7, lr} 80cd52a: b082 sub sp, #8 80cd52c: af00 add r7, sp, #0 80cd52e: 4603 mov r3, r0 80cd530: 6039 str r1, [r7, #0] 80cd532: 71fb strb r3, [r7, #7] if(speed == USBD_SPEED_HIGH) 80cd534: 79fb ldrb r3, [r7, #7] 80cd536: 2b00 cmp r3, #0 80cd538: d105 bne.n 80cd546 { USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_HS, USBD_StrDesc, length); 80cd53a: 683a ldr r2, [r7, #0] 80cd53c: 4907 ldr r1, [pc, #28] ; (80cd55c ) 80cd53e: 4808 ldr r0, [pc, #32] ; (80cd560 ) 80cd540: f7f9 fa2b bl 80c699a 80cd544: e004 b.n 80cd550 } else { USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_HS, USBD_StrDesc, length); 80cd546: 683a ldr r2, [r7, #0] 80cd548: 4904 ldr r1, [pc, #16] ; (80cd55c ) 80cd54a: 4805 ldr r0, [pc, #20] ; (80cd560 ) 80cd54c: f7f9 fa25 bl 80c699a } return USBD_StrDesc; 80cd550: 4b02 ldr r3, [pc, #8] ; (80cd55c ) } 80cd552: 4618 mov r0, r3 80cd554: 3708 adds r7, #8 80cd556: 46bd mov sp, r7 80cd558: bd80 pop {r7, pc} 80cd55a: bf00 nop 80cd55c: 20069070 .word 0x20069070 80cd560: 080d4f54 .word 0x080d4f54 080cd564 : * @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) { 80cd564: b580 push {r7, lr} 80cd566: b082 sub sp, #8 80cd568: af00 add r7, sp, #0 80cd56a: 4603 mov r3, r0 80cd56c: 6039 str r1, [r7, #0] 80cd56e: 71fb strb r3, [r7, #7] if(speed == 0) 80cd570: 79fb ldrb r3, [r7, #7] 80cd572: 2b00 cmp r3, #0 80cd574: d105 bne.n 80cd582 { USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_HS, USBD_StrDesc, length); 80cd576: 683a ldr r2, [r7, #0] 80cd578: 4907 ldr r1, [pc, #28] ; (80cd598 ) 80cd57a: 4808 ldr r0, [pc, #32] ; (80cd59c ) 80cd57c: f7f9 fa0d bl 80c699a 80cd580: e004 b.n 80cd58c } else { USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_HS, USBD_StrDesc, length); 80cd582: 683a ldr r2, [r7, #0] 80cd584: 4904 ldr r1, [pc, #16] ; (80cd598 ) 80cd586: 4805 ldr r0, [pc, #20] ; (80cd59c ) 80cd588: f7f9 fa07 bl 80c699a } return USBD_StrDesc; 80cd58c: 4b02 ldr r3, [pc, #8] ; (80cd598 ) } 80cd58e: 4618 mov r0, r3 80cd590: 3708 adds r7, #8 80cd592: 46bd mov sp, r7 80cd594: bd80 pop {r7, pc} 80cd596: bf00 nop 80cd598: 20069070 .word 0x20069070 80cd59c: 080d4f60 .word 0x080d4f60 080cd5a0 : * @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) { 80cd5a0: b480 push {r7} 80cd5a2: b083 sub sp, #12 80cd5a4: af00 add r7, sp, #0 80cd5a6: 4603 mov r3, r0 80cd5a8: 6039 str r1, [r7, #0] 80cd5aa: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_HS_BOSDesc); 80cd5ac: 683b ldr r3, [r7, #0] 80cd5ae: 220c movs r2, #12 80cd5b0: 801a strh r2, [r3, #0] return (uint8_t*)USBD_HS_BOSDesc; 80cd5b2: 4b03 ldr r3, [pc, #12] ; (80cd5c0 ) } 80cd5b4: 4618 mov r0, r3 80cd5b6: 370c adds r7, #12 80cd5b8: 46bd mov sp, r7 80cd5ba: f85d 7b04 ldr.w r7, [sp], #4 80cd5be: 4770 bx lr 80cd5c0: 20020b04 .word 0x20020b04 080cd5c4 : * @brief Create the serial number string descriptor * @param None * @retval None */ static void Get_SerialNum(void) { 80cd5c4: b580 push {r7, lr} 80cd5c6: b084 sub sp, #16 80cd5c8: af00 add r7, sp, #0 uint32_t deviceserial0, deviceserial1, deviceserial2; deviceserial0 = *(uint32_t *) DEVICE_ID1; 80cd5ca: 4b0f ldr r3, [pc, #60] ; (80cd608 ) 80cd5cc: 681b ldr r3, [r3, #0] 80cd5ce: 60fb str r3, [r7, #12] deviceserial1 = *(uint32_t *) DEVICE_ID2; 80cd5d0: 4b0e ldr r3, [pc, #56] ; (80cd60c ) 80cd5d2: 681b ldr r3, [r3, #0] 80cd5d4: 60bb str r3, [r7, #8] deviceserial2 = *(uint32_t *) DEVICE_ID3; 80cd5d6: 4b0e ldr r3, [pc, #56] ; (80cd610 ) 80cd5d8: 681b ldr r3, [r3, #0] 80cd5da: 607b str r3, [r7, #4] deviceserial0 += deviceserial2; 80cd5dc: 68fa ldr r2, [r7, #12] 80cd5de: 687b ldr r3, [r7, #4] 80cd5e0: 4413 add r3, r2 80cd5e2: 60fb str r3, [r7, #12] if (deviceserial0 != 0) 80cd5e4: 68fb ldr r3, [r7, #12] 80cd5e6: 2b00 cmp r3, #0 80cd5e8: d009 beq.n 80cd5fe { IntToUnicode(deviceserial0, &USBD_StringSerial[2], 8); 80cd5ea: 2208 movs r2, #8 80cd5ec: 4909 ldr r1, [pc, #36] ; (80cd614 ) 80cd5ee: 68f8 ldr r0, [r7, #12] 80cd5f0: f000 f814 bl 80cd61c IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4); 80cd5f4: 2204 movs r2, #4 80cd5f6: 4908 ldr r1, [pc, #32] ; (80cd618 ) 80cd5f8: 68b8 ldr r0, [r7, #8] 80cd5fa: f000 f80f bl 80cd61c } } 80cd5fe: bf00 nop 80cd600: 3710 adds r7, #16 80cd602: 46bd mov sp, r7 80cd604: bd80 pop {r7, pc} 80cd606: bf00 nop 80cd608: 1ff0f420 .word 0x1ff0f420 80cd60c: 1ff0f424 .word 0x1ff0f424 80cd610: 1ff0f428 .word 0x1ff0f428 80cd614: 20020b16 .word 0x20020b16 80cd618: 20020b26 .word 0x20020b26 080cd61c : * @param pbuf: pointer to the buffer * @param len: buffer length * @retval None */ static void IntToUnicode(uint32_t value, uint8_t * pbuf, uint8_t len) { 80cd61c: b480 push {r7} 80cd61e: b087 sub sp, #28 80cd620: af00 add r7, sp, #0 80cd622: 60f8 str r0, [r7, #12] 80cd624: 60b9 str r1, [r7, #8] 80cd626: 4613 mov r3, r2 80cd628: 71fb strb r3, [r7, #7] uint8_t idx = 0; 80cd62a: 2300 movs r3, #0 80cd62c: 75fb strb r3, [r7, #23] for (idx = 0; idx < len; idx++) 80cd62e: 2300 movs r3, #0 80cd630: 75fb strb r3, [r7, #23] 80cd632: e027 b.n 80cd684 { if (((value >> 28)) < 0xA) 80cd634: 68fb ldr r3, [r7, #12] 80cd636: 0f1b lsrs r3, r3, #28 80cd638: 2b09 cmp r3, #9 80cd63a: d80b bhi.n 80cd654 { pbuf[2 * idx] = (value >> 28) + '0'; 80cd63c: 7dfb ldrb r3, [r7, #23] 80cd63e: 005b lsls r3, r3, #1 80cd640: 461a mov r2, r3 80cd642: 68bb ldr r3, [r7, #8] 80cd644: 4413 add r3, r2 80cd646: 68fa ldr r2, [r7, #12] 80cd648: 0f12 lsrs r2, r2, #28 80cd64a: b2d2 uxtb r2, r2 80cd64c: 3230 adds r2, #48 ; 0x30 80cd64e: b2d2 uxtb r2, r2 80cd650: 701a strb r2, [r3, #0] 80cd652: e00a b.n 80cd66a } else { pbuf[2 * idx] = (value >> 28) + 'A' - 10; 80cd654: 7dfb ldrb r3, [r7, #23] 80cd656: 005b lsls r3, r3, #1 80cd658: 461a mov r2, r3 80cd65a: 68bb ldr r3, [r7, #8] 80cd65c: 4413 add r3, r2 80cd65e: 68fa ldr r2, [r7, #12] 80cd660: 0f12 lsrs r2, r2, #28 80cd662: b2d2 uxtb r2, r2 80cd664: 3237 adds r2, #55 ; 0x37 80cd666: b2d2 uxtb r2, r2 80cd668: 701a strb r2, [r3, #0] } value = value << 4; 80cd66a: 68fb ldr r3, [r7, #12] 80cd66c: 011b lsls r3, r3, #4 80cd66e: 60fb str r3, [r7, #12] pbuf[2 * idx + 1] = 0; 80cd670: 7dfb ldrb r3, [r7, #23] 80cd672: 005b lsls r3, r3, #1 80cd674: 3301 adds r3, #1 80cd676: 68ba ldr r2, [r7, #8] 80cd678: 4413 add r3, r2 80cd67a: 2200 movs r2, #0 80cd67c: 701a strb r2, [r3, #0] for (idx = 0; idx < len; idx++) 80cd67e: 7dfb ldrb r3, [r7, #23] 80cd680: 3301 adds r3, #1 80cd682: 75fb strb r3, [r7, #23] 80cd684: 7dfa ldrb r2, [r7, #23] 80cd686: 79fb ldrb r3, [r7, #7] 80cd688: 429a cmp r2, r3 80cd68a: d3d3 bcc.n 80cd634 } } 80cd68c: bf00 nop 80cd68e: 371c adds r7, #28 80cd690: 46bd mov sp, r7 80cd692: f85d 7b04 ldr.w r7, [sp], #4 80cd696: 4770 bx lr 080cd698 : * @brief . * @param lun: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_Init_HS(uint8_t lun) { 80cd698: b580 push {r7, lr} 80cd69a: b084 sub sp, #16 80cd69c: af00 add r7, sp, #0 80cd69e: 4603 mov r3, r0 80cd6a0: 71fb strb r3, [r7, #7] int8_t ret = -1; 80cd6a2: 23ff movs r3, #255 ; 0xff 80cd6a4: 73fb strb r3, [r7, #15] if(CardState == MSD_READY) 80cd6a6: 4b1d ldr r3, [pc, #116] ; (80cd71c ) 80cd6a8: 781b ldrb r3, [r3, #0] 80cd6aa: b2db uxtb r3, r3 80cd6ac: 2b03 cmp r3, #3 80cd6ae: d12b bne.n 80cd708 { if(!(SD_status(lun) & STA_NOINIT)) 80cd6b0: 79fb ldrb r3, [r7, #7] 80cd6b2: 4618 mov r0, r3 80cd6b4: f7f6 fb62 bl 80c3d7c 80cd6b8: 4603 mov r3, r0 80cd6ba: f003 0301 and.w r3, r3, #1 80cd6be: 2b00 cmp r3, #0 80cd6c0: d114 bne.n 80cd6ec { if(SD_initialize(lun) == RES_OK) 80cd6c2: 79fb ldrb r3, [r7, #7] 80cd6c4: 4618 mov r0, r3 80cd6c6: f7f6 fb3b bl 80c3d40 80cd6ca: 4603 mov r3, r0 80cd6cc: 2b00 cmp r3, #0 80cd6ce: d11e bne.n 80cd70e { if(LinkPC == 0) 80cd6d0: 4b13 ldr r3, [pc, #76] ; (80cd720 ) 80cd6d2: 781b ldrb r3, [r3, #0] 80cd6d4: b2db uxtb r3, r3 80cd6d6: 2b00 cmp r3, #0 80cd6d8: d105 bne.n 80cd6e6 { GoLinkPC = true; 80cd6da: 4b12 ldr r3, [pc, #72] ; (80cd724 ) 80cd6dc: 2201 movs r2, #1 80cd6de: 701a strb r2, [r3, #0] LinkPC = 1; 80cd6e0: 4b0f ldr r3, [pc, #60] ; (80cd720 ) 80cd6e2: 2201 movs r2, #1 80cd6e4: 701a strb r2, [r3, #0] } ret = 0; 80cd6e6: 2300 movs r3, #0 80cd6e8: 73fb strb r3, [r7, #15] 80cd6ea: e010 b.n 80cd70e } } else { if(LinkPC == 0) 80cd6ec: 4b0c ldr r3, [pc, #48] ; (80cd720 ) 80cd6ee: 781b ldrb r3, [r3, #0] 80cd6f0: b2db uxtb r3, r3 80cd6f2: 2b00 cmp r3, #0 80cd6f4: d105 bne.n 80cd702 { GoLinkPC = true; 80cd6f6: 4b0b ldr r3, [pc, #44] ; (80cd724 ) 80cd6f8: 2201 movs r2, #1 80cd6fa: 701a strb r2, [r3, #0] LinkPC = 1; 80cd6fc: 4b08 ldr r3, [pc, #32] ; (80cd720 ) 80cd6fe: 2201 movs r2, #1 80cd700: 701a strb r2, [r3, #0] } ret = 0; 80cd702: 2300 movs r3, #0 80cd704: 73fb strb r3, [r7, #15] 80cd706: e002 b.n 80cd70e } } else { LinkPC = 0; 80cd708: 4b05 ldr r3, [pc, #20] ; (80cd720 ) 80cd70a: 2200 movs r2, #0 80cd70c: 701a strb r2, [r3, #0] } return ret; 80cd70e: f997 300f ldrsb.w r3, [r7, #15] } 80cd712: 4618 mov r0, r3 80cd714: 3710 adds r7, #16 80cd716: 46bd mov sp, r7 80cd718: bd80 pop {r7, pc} 80cd71a: bf00 nop 80cd71c: 20021694 .word 0x20021694 80cd720: 20021b6b .word 0x20021b6b 80cd724: 20021b6d .word 0x20021b6d 080cd728 : * @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) { 80cd728: b580 push {r7, lr} 80cd72a: b08e sub sp, #56 ; 0x38 80cd72c: af00 add r7, sp, #0 80cd72e: 4603 mov r3, r0 80cd730: 60b9 str r1, [r7, #8] 80cd732: 607a str r2, [r7, #4] 80cd734: 73fb strb r3, [r7, #15] HAL_SD_CardInfoTypeDef info; int8_t ret = -1; 80cd736: 23ff movs r3, #255 ; 0xff 80cd738: f887 3037 strb.w r3, [r7, #55] ; 0x37 if(BSP_SD_IsDetected() != SD_NOT_PRESENT) 80cd73c: f7f6 fa6d bl 80c3c1a 80cd740: 4603 mov r3, r0 80cd742: 2b00 cmp r3, #0 80cd744: d019 beq.n 80cd77a { BSP_SD_GetCardInfo(&info); 80cd746: f107 0314 add.w r3, r7, #20 80cd74a: 4618 mov r0, r3 80cd74c: f7f6 fa32 bl 80c3bb4 *block_num = info.LogBlockNbr; 80cd750: 6afa ldr r2, [r7, #44] ; 0x2c 80cd752: 68bb ldr r3, [r7, #8] 80cd754: 601a str r2, [r3, #0] *block_size = info.LogBlockSize; 80cd756: 6b3b ldr r3, [r7, #48] ; 0x30 80cd758: b29a uxth r2, r3 80cd75a: 687b ldr r3, [r7, #4] 80cd75c: 801a strh r2, [r3, #0] if(LinkPC == 0) 80cd75e: 4b0a ldr r3, [pc, #40] ; (80cd788 ) 80cd760: 781b ldrb r3, [r3, #0] 80cd762: b2db uxtb r3, r3 80cd764: 2b00 cmp r3, #0 80cd766: d105 bne.n 80cd774 { GoLinkPC = true; 80cd768: 4b08 ldr r3, [pc, #32] ; (80cd78c ) 80cd76a: 2201 movs r2, #1 80cd76c: 701a strb r2, [r3, #0] LinkPC = 1; 80cd76e: 4b06 ldr r3, [pc, #24] ; (80cd788 ) 80cd770: 2201 movs r2, #1 80cd772: 701a strb r2, [r3, #0] } ret = USBD_OK; 80cd774: 2300 movs r3, #0 80cd776: f887 3037 strb.w r3, [r7, #55] ; 0x37 } return ret; 80cd77a: f997 3037 ldrsb.w r3, [r7, #55] ; 0x37 } 80cd77e: 4618 mov r0, r3 80cd780: 3738 adds r7, #56 ; 0x38 80cd782: 46bd mov sp, r7 80cd784: bd80 pop {r7, pc} 80cd786: bf00 nop 80cd788: 20021b6b .word 0x20021b6b 80cd78c: 20021b6d .word 0x20021b6d 080cd790 : * @brief . * @param lun: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_IsReady_HS(uint8_t lun) { 80cd790: b580 push {r7, lr} 80cd792: b084 sub sp, #16 80cd794: af00 add r7, sp, #0 80cd796: 4603 mov r3, r0 80cd798: 71fb strb r3, [r7, #7] int8_t ret = -1; 80cd79a: 23ff movs r3, #255 ; 0xff 80cd79c: 73fb strb r3, [r7, #15] if(BSP_SD_IsDetected() != SD_NOT_PRESENT) 80cd79e: f7f6 fa3c bl 80c3c1a 80cd7a2: 4603 mov r3, r0 80cd7a4: 2b00 cmp r3, #0 80cd7a6: d00d beq.n 80cd7c4 { ret = 0; 80cd7a8: 2300 movs r3, #0 80cd7aa: 73fb strb r3, [r7, #15] if(LinkPC == 0) 80cd7ac: 4b0a ldr r3, [pc, #40] ; (80cd7d8 ) 80cd7ae: 781b ldrb r3, [r3, #0] 80cd7b0: b2db uxtb r3, r3 80cd7b2: 2b00 cmp r3, #0 80cd7b4: d109 bne.n 80cd7ca { GoLinkPC = true; 80cd7b6: 4b09 ldr r3, [pc, #36] ; (80cd7dc ) 80cd7b8: 2201 movs r2, #1 80cd7ba: 701a strb r2, [r3, #0] LinkPC = 1; 80cd7bc: 4b06 ldr r3, [pc, #24] ; (80cd7d8 ) 80cd7be: 2201 movs r2, #1 80cd7c0: 701a strb r2, [r3, #0] 80cd7c2: e002 b.n 80cd7ca } } else LinkPC = 0; 80cd7c4: 4b04 ldr r3, [pc, #16] ; (80cd7d8 ) 80cd7c6: 2200 movs r2, #0 80cd7c8: 701a strb r2, [r3, #0] return ret; 80cd7ca: f997 300f ldrsb.w r3, [r7, #15] } 80cd7ce: 4618 mov r0, r3 80cd7d0: 3710 adds r7, #16 80cd7d2: 46bd mov sp, r7 80cd7d4: bd80 pop {r7, pc} 80cd7d6: bf00 nop 80cd7d8: 20021b6b .word 0x20021b6b 80cd7dc: 20021b6d .word 0x20021b6d 080cd7e0 : * @brief . * @param lun: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_IsWriteProtected_HS(uint8_t lun) { 80cd7e0: b480 push {r7} 80cd7e2: b083 sub sp, #12 80cd7e4: af00 add r7, sp, #0 80cd7e6: 4603 mov r3, r0 80cd7e8: 71fb strb r3, [r7, #7] return USBD_OK; 80cd7ea: 2300 movs r3, #0 } 80cd7ec: 4618 mov r0, r3 80cd7ee: 370c adds r7, #12 80cd7f0: 46bd mov sp, r7 80cd7f2: f85d 7b04 ldr.w r7, [sp], #4 80cd7f6: 4770 bx lr 080cd7f8 : * @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) { 80cd7f8: b580 push {r7, lr} 80cd7fa: b086 sub sp, #24 80cd7fc: af00 add r7, sp, #0 80cd7fe: 60b9 str r1, [r7, #8] 80cd800: 607a str r2, [r7, #4] 80cd802: 461a mov r2, r3 80cd804: 4603 mov r3, r0 80cd806: 73fb strb r3, [r7, #15] 80cd808: 4613 mov r3, r2 80cd80a: 81bb strh r3, [r7, #12] int8_t ret = -1; 80cd80c: 23ff movs r3, #255 ; 0xff 80cd80e: 75fb strb r3, [r7, #23] if(LinkPC == 0) 80cd810: 4b10 ldr r3, [pc, #64] ; (80cd854 ) 80cd812: 781b ldrb r3, [r3, #0] 80cd814: b2db uxtb r3, r3 80cd816: 2b00 cmp r3, #0 80cd818: d105 bne.n 80cd826 { GoLinkPC = true; 80cd81a: 4b0f ldr r3, [pc, #60] ; (80cd858 ) 80cd81c: 2201 movs r2, #1 80cd81e: 701a strb r2, [r3, #0] LinkPC = 1; 80cd820: 4b0c ldr r3, [pc, #48] ; (80cd854 ) 80cd822: 2201 movs r2, #1 80cd824: 701a strb r2, [r3, #0] } if(SD_read(lun, buf, blk_addr, blk_len) == RES_OK) 80cd826: 89bb ldrh r3, [r7, #12] 80cd828: 7bf8 ldrb r0, [r7, #15] 80cd82a: 687a ldr r2, [r7, #4] 80cd82c: 68b9 ldr r1, [r7, #8] 80cd82e: f7f6 fab3 bl 80c3d98 80cd832: 4603 mov r3, r0 80cd834: 2b00 cmp r3, #0 80cd836: d107 bne.n 80cd848 { while(BSP_SD_GetCardState() != SD_TRANSFER_OK); 80cd838: bf00 nop 80cd83a: f7f6 f9ab bl 80c3b94 80cd83e: 4603 mov r3, r0 80cd840: 2b00 cmp r3, #0 80cd842: d1fa bne.n 80cd83a ret = 0; 80cd844: 2300 movs r3, #0 80cd846: 75fb strb r3, [r7, #23] } return ret; 80cd848: f997 3017 ldrsb.w r3, [r7, #23] } 80cd84c: 4618 mov r0, r3 80cd84e: 3718 adds r7, #24 80cd850: 46bd mov sp, r7 80cd852: bd80 pop {r7, pc} 80cd854: 20021b6b .word 0x20021b6b 80cd858: 20021b6d .word 0x20021b6d 080cd85c : * @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) { 80cd85c: b580 push {r7, lr} 80cd85e: b086 sub sp, #24 80cd860: af00 add r7, sp, #0 80cd862: 60b9 str r1, [r7, #8] 80cd864: 607a str r2, [r7, #4] 80cd866: 461a mov r2, r3 80cd868: 4603 mov r3, r0 80cd86a: 73fb strb r3, [r7, #15] 80cd86c: 4613 mov r3, r2 80cd86e: 81bb strh r3, [r7, #12] int8_t ret = -1; 80cd870: 23ff movs r3, #255 ; 0xff 80cd872: 75fb strb r3, [r7, #23] if(LinkPC == 0) 80cd874: 4b10 ldr r3, [pc, #64] ; (80cd8b8 ) 80cd876: 781b ldrb r3, [r3, #0] 80cd878: b2db uxtb r3, r3 80cd87a: 2b00 cmp r3, #0 80cd87c: d105 bne.n 80cd88a { GoLinkPC = true; 80cd87e: 4b0f ldr r3, [pc, #60] ; (80cd8bc ) 80cd880: 2201 movs r2, #1 80cd882: 701a strb r2, [r3, #0] LinkPC = 1; 80cd884: 4b0c ldr r3, [pc, #48] ; (80cd8b8 ) 80cd886: 2201 movs r2, #1 80cd888: 701a strb r2, [r3, #0] } if(SD_write(lun, buf, blk_addr, blk_len) == RES_OK) 80cd88a: 89bb ldrh r3, [r7, #12] 80cd88c: 7bf8 ldrb r0, [r7, #15] 80cd88e: 687a ldr r2, [r7, #4] 80cd890: 68b9 ldr r1, [r7, #8] 80cd892: f7f6 fae5 bl 80c3e60 80cd896: 4603 mov r3, r0 80cd898: 2b00 cmp r3, #0 80cd89a: d107 bne.n 80cd8ac { while(BSP_SD_GetCardState() != SD_TRANSFER_OK); 80cd89c: bf00 nop 80cd89e: f7f6 f979 bl 80c3b94 80cd8a2: 4603 mov r3, r0 80cd8a4: 2b00 cmp r3, #0 80cd8a6: d1fa bne.n 80cd89e ret = 0; 80cd8a8: 2300 movs r3, #0 80cd8aa: 75fb strb r3, [r7, #23] } return ret; 80cd8ac: f997 3017 ldrsb.w r3, [r7, #23] } 80cd8b0: 4618 mov r0, r3 80cd8b2: 3718 adds r7, #24 80cd8b4: 46bd mov sp, r7 80cd8b6: bd80 pop {r7, pc} 80cd8b8: 20021b6b .word 0x20021b6b 80cd8bc: 20021b6d .word 0x20021b6d 080cd8c0 : * @brief . * @param None * @retval . */ int8_t STORAGE_GetMaxLun_HS(void) { 80cd8c0: b480 push {r7} 80cd8c2: af00 add r7, sp, #0 return (STORAGE_LUN_NBR - 1); 80cd8c4: 2300 movs r3, #0 } 80cd8c6: 4618 mov r0, r3 80cd8c8: 46bd mov sp, r7 80cd8ca: f85d 7b04 ldr.w r7, [sp], #4 80cd8ce: 4770 bx lr 080cd8d0 : LL Driver Callbacks (PCD -> USB Device Library) *******************************************************************************/ /* MSP Init */ void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle) { 80cd8d0: b580 push {r7, lr} 80cd8d2: b08a sub sp, #40 ; 0x28 80cd8d4: af00 add r7, sp, #0 80cd8d6: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct = {0}; 80cd8d8: f107 0314 add.w r3, r7, #20 80cd8dc: 2200 movs r2, #0 80cd8de: 601a str r2, [r3, #0] 80cd8e0: 605a str r2, [r3, #4] 80cd8e2: 609a str r2, [r3, #8] 80cd8e4: 60da str r2, [r3, #12] 80cd8e6: 611a str r2, [r3, #16] if(pcdHandle->Instance==USB_OTG_HS) 80cd8e8: 687b ldr r3, [r7, #4] 80cd8ea: 681b ldr r3, [r3, #0] 80cd8ec: 4a24 ldr r2, [pc, #144] ; (80cd980 ) 80cd8ee: 4293 cmp r3, r2 80cd8f0: d141 bne.n 80cd976 { /* USER CODE BEGIN USB_OTG_HS_MspInit 0 */ /* USER CODE END USB_OTG_HS_MspInit 0 */ __HAL_RCC_GPIOB_CLK_ENABLE(); 80cd8f2: 4a24 ldr r2, [pc, #144] ; (80cd984 ) 80cd8f4: 4b23 ldr r3, [pc, #140] ; (80cd984 ) 80cd8f6: 6b1b ldr r3, [r3, #48] ; 0x30 80cd8f8: f043 0302 orr.w r3, r3, #2 80cd8fc: 6313 str r3, [r2, #48] ; 0x30 80cd8fe: 4b21 ldr r3, [pc, #132] ; (80cd984 ) 80cd900: 6b1b ldr r3, [r3, #48] ; 0x30 80cd902: f003 0302 and.w r3, r3, #2 80cd906: 613b str r3, [r7, #16] 80cd908: 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; 80cd90a: f44f 5300 mov.w r3, #8192 ; 0x2000 80cd90e: 617b str r3, [r7, #20] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80cd910: 2302 movs r3, #2 80cd912: 61bb str r3, [r7, #24] GPIO_InitStruct.Pull = GPIO_NOPULL; 80cd914: 2300 movs r3, #0 80cd916: 61fb str r3, [r7, #28] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80cd918: 2303 movs r3, #3 80cd91a: 623b str r3, [r7, #32] GPIO_InitStruct.Alternate = GPIO_AF12_OTG_HS_FS; 80cd91c: 230c movs r3, #12 80cd91e: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80cd920: f107 0314 add.w r3, r7, #20 80cd924: 4619 mov r1, r3 80cd926: 4818 ldr r0, [pc, #96] ; (80cd988 ) 80cd928: f7eb fc6a bl 80b9200 GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_15; 80cd92c: f44f 4340 mov.w r3, #49152 ; 0xc000 80cd930: 617b str r3, [r7, #20] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80cd932: 2302 movs r3, #2 80cd934: 61bb str r3, [r7, #24] GPIO_InitStruct.Pull = GPIO_NOPULL; 80cd936: 2300 movs r3, #0 80cd938: 61fb str r3, [r7, #28] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80cd93a: 2303 movs r3, #3 80cd93c: 623b str r3, [r7, #32] GPIO_InitStruct.Alternate = GPIO_AF12_OTG_HS_FS; 80cd93e: 230c movs r3, #12 80cd940: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80cd942: f107 0314 add.w r3, r7, #20 80cd946: 4619 mov r1, r3 80cd948: 480f ldr r0, [pc, #60] ; (80cd988 ) 80cd94a: f7eb fc59 bl 80b9200 /* Peripheral clock enable */ __HAL_RCC_USB_OTG_HS_CLK_ENABLE(); 80cd94e: 4a0d ldr r2, [pc, #52] ; (80cd984 ) 80cd950: 4b0c ldr r3, [pc, #48] ; (80cd984 ) 80cd952: 6b1b ldr r3, [r3, #48] ; 0x30 80cd954: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80cd958: 6313 str r3, [r2, #48] ; 0x30 80cd95a: 4b0a ldr r3, [pc, #40] ; (80cd984 ) 80cd95c: 6b1b ldr r3, [r3, #48] ; 0x30 80cd95e: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80cd962: 60fb str r3, [r7, #12] 80cd964: 68fb ldr r3, [r7, #12] /* Peripheral interrupt init */ HAL_NVIC_SetPriority(OTG_HS_IRQn, 10, 0); 80cd966: 2200 movs r2, #0 80cd968: 210a movs r1, #10 80cd96a: 204d movs r0, #77 ; 0x4d 80cd96c: f7ea f9b1 bl 80b7cd2 HAL_NVIC_EnableIRQ(OTG_HS_IRQn); 80cd970: 204d movs r0, #77 ; 0x4d 80cd972: f7ea f9ca bl 80b7d0a /* USER CODE BEGIN USB_OTG_HS_MspInit 1 */ /* USER CODE END USB_OTG_HS_MspInit 1 */ } } 80cd976: bf00 nop 80cd978: 3728 adds r7, #40 ; 0x28 80cd97a: 46bd mov sp, r7 80cd97c: bd80 pop {r7, pc} 80cd97e: bf00 nop 80cd980: 40040000 .word 0x40040000 80cd984: 40023800 .word 0x40023800 80cd988: 40020400 .word 0x40020400 080cd98c : #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 */ { 80cd98c: b580 push {r7, lr} 80cd98e: b082 sub sp, #8 80cd990: af00 add r7, sp, #0 80cd992: 6078 str r0, [r7, #4] USBD_LL_SetupStage((USBD_HandleTypeDef*)hpcd->pData, (uint8_t *)hpcd->Setup); 80cd994: 687b ldr r3, [r7, #4] 80cd996: f8d3 2400 ldr.w r2, [r3, #1024] ; 0x400 80cd99a: 687b ldr r3, [r7, #4] 80cd99c: f503 7371 add.w r3, r3, #964 ; 0x3c4 80cd9a0: 4619 mov r1, r3 80cd9a2: 4610 mov r0, r2 80cd9a4: f7f8 f84d bl 80c5a42 } 80cd9a8: bf00 nop 80cd9aa: 3708 adds r7, #8 80cd9ac: 46bd mov sp, r7 80cd9ae: bd80 pop {r7, pc} 080cd9b0 : #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 */ { 80cd9b0: b580 push {r7, lr} 80cd9b2: b082 sub sp, #8 80cd9b4: af00 add r7, sp, #0 80cd9b6: 6078 str r0, [r7, #4] 80cd9b8: 460b mov r3, r1 80cd9ba: 70fb strb r3, [r7, #3] USBD_LL_DataOutStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->OUT_ep[epnum].xfer_buff); 80cd9bc: 687b ldr r3, [r7, #4] 80cd9be: f8d3 0400 ldr.w r0, [r3, #1024] ; 0x400 80cd9c2: 78fa ldrb r2, [r7, #3] 80cd9c4: 6879 ldr r1, [r7, #4] 80cd9c6: 4613 mov r3, r2 80cd9c8: 00db lsls r3, r3, #3 80cd9ca: 1a9b subs r3, r3, r2 80cd9cc: 009b lsls r3, r3, #2 80cd9ce: 440b add r3, r1 80cd9d0: f503 7302 add.w r3, r3, #520 ; 0x208 80cd9d4: 681a ldr r2, [r3, #0] 80cd9d6: 78fb ldrb r3, [r7, #3] 80cd9d8: 4619 mov r1, r3 80cd9da: f7f8 f885 bl 80c5ae8 } 80cd9de: bf00 nop 80cd9e0: 3708 adds r7, #8 80cd9e2: 46bd mov sp, r7 80cd9e4: bd80 pop {r7, pc} 080cd9e6 : #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 */ { 80cd9e6: b580 push {r7, lr} 80cd9e8: b082 sub sp, #8 80cd9ea: af00 add r7, sp, #0 80cd9ec: 6078 str r0, [r7, #4] 80cd9ee: 460b mov r3, r1 80cd9f0: 70fb strb r3, [r7, #3] USBD_LL_DataInStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->IN_ep[epnum].xfer_buff); 80cd9f2: 687b ldr r3, [r7, #4] 80cd9f4: f8d3 0400 ldr.w r0, [r3, #1024] ; 0x400 80cd9f8: 78fa ldrb r2, [r7, #3] 80cd9fa: 6879 ldr r1, [r7, #4] 80cd9fc: 4613 mov r3, r2 80cd9fe: 00db lsls r3, r3, #3 80cda00: 1a9b subs r3, r3, r2 80cda02: 009b lsls r3, r3, #2 80cda04: 440b add r3, r1 80cda06: 3348 adds r3, #72 ; 0x48 80cda08: 681a ldr r2, [r3, #0] 80cda0a: 78fb ldrb r3, [r7, #3] 80cda0c: 4619 mov r1, r3 80cda0e: f7f8 f8ce bl 80c5bae } 80cda12: bf00 nop 80cda14: 3708 adds r7, #8 80cda16: 46bd mov sp, r7 80cda18: bd80 pop {r7, pc} 080cda1a : #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 */ { 80cda1a: b580 push {r7, lr} 80cda1c: b082 sub sp, #8 80cda1e: af00 add r7, sp, #0 80cda20: 6078 str r0, [r7, #4] USBD_LL_SOF((USBD_HandleTypeDef*)hpcd->pData); 80cda22: 687b ldr r3, [r7, #4] 80cda24: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80cda28: 4618 mov r0, r3 80cda2a: f7f8 f9d2 bl 80c5dd2 } 80cda2e: bf00 nop 80cda30: 3708 adds r7, #8 80cda32: 46bd mov sp, r7 80cda34: bd80 pop {r7, pc} 080cda36 : #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 */ { 80cda36: b580 push {r7, lr} 80cda38: b084 sub sp, #16 80cda3a: af00 add r7, sp, #0 80cda3c: 6078 str r0, [r7, #4] USBD_SpeedTypeDef speed = USBD_SPEED_FULL; 80cda3e: 2301 movs r3, #1 80cda40: 73fb strb r3, [r7, #15] if ( hpcd->Init.speed == PCD_SPEED_HIGH) 80cda42: 687b ldr r3, [r7, #4] 80cda44: 68db ldr r3, [r3, #12] 80cda46: 2b00 cmp r3, #0 80cda48: d102 bne.n 80cda50 { speed = USBD_SPEED_HIGH; 80cda4a: 2300 movs r3, #0 80cda4c: 73fb strb r3, [r7, #15] 80cda4e: e008 b.n 80cda62 } else if ( hpcd->Init.speed == PCD_SPEED_FULL) 80cda50: 687b ldr r3, [r7, #4] 80cda52: 68db ldr r3, [r3, #12] 80cda54: 2b02 cmp r3, #2 80cda56: d102 bne.n 80cda5e { speed = USBD_SPEED_FULL; 80cda58: 2301 movs r3, #1 80cda5a: 73fb strb r3, [r7, #15] 80cda5c: e001 b.n 80cda62 } else { Error_Handler(); 80cda5e: f788 f927 bl 8055cb0 } /* Set Speed. */ USBD_LL_SetSpeed((USBD_HandleTypeDef*)hpcd->pData, speed); 80cda62: 687b ldr r3, [r7, #4] 80cda64: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80cda68: 7bfa ldrb r2, [r7, #15] 80cda6a: 4611 mov r1, r2 80cda6c: 4618 mov r0, r3 80cda6e: f7f8 f975 bl 80c5d5c /* Reset Device. */ USBD_LL_Reset((USBD_HandleTypeDef*)hpcd->pData); 80cda72: 687b ldr r3, [r7, #4] 80cda74: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80cda78: 4618 mov r0, r3 80cda7a: f7f8 f92e bl 80c5cda } 80cda7e: bf00 nop 80cda80: 3710 adds r7, #16 80cda82: 46bd mov sp, r7 80cda84: bd80 pop {r7, pc} ... 080cda88 : #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 */ { 80cda88: b580 push {r7, lr} 80cda8a: b082 sub sp, #8 80cda8c: af00 add r7, sp, #0 80cda8e: 6078 str r0, [r7, #4] /* Inform USB library that core enters in suspend Mode. */ USBD_LL_Suspend((USBD_HandleTypeDef*)hpcd->pData); 80cda90: 687b ldr r3, [r7, #4] 80cda92: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80cda96: 4618 mov r0, r3 80cda98: f7f8 f970 bl 80c5d7c __HAL_PCD_GATE_PHYCLOCK(hpcd); 80cda9c: 687b ldr r3, [r7, #4] 80cda9e: 681b ldr r3, [r3, #0] 80cdaa0: f503 6360 add.w r3, r3, #3584 ; 0xe00 80cdaa4: 461a mov r2, r3 80cdaa6: 687b ldr r3, [r7, #4] 80cdaa8: 681b ldr r3, [r3, #0] 80cdaaa: f503 6360 add.w r3, r3, #3584 ; 0xe00 80cdaae: 681b ldr r3, [r3, #0] 80cdab0: f043 0301 orr.w r3, r3, #1 80cdab4: 6013 str r3, [r2, #0] /* Enter in STOP mode. */ /* USER CODE BEGIN 2 */ if (hpcd->Init.low_power_enable) 80cdab6: 687b ldr r3, [r7, #4] 80cdab8: 6a1b ldr r3, [r3, #32] 80cdaba: 2b00 cmp r3, #0 80cdabc: d005 beq.n 80cdaca { /* Set SLEEPDEEP bit and SleepOnExit of Cortex System Control Register. */ SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 80cdabe: 4a05 ldr r2, [pc, #20] ; (80cdad4 ) 80cdac0: 4b04 ldr r3, [pc, #16] ; (80cdad4 ) 80cdac2: 691b ldr r3, [r3, #16] 80cdac4: f043 0306 orr.w r3, r3, #6 80cdac8: 6113 str r3, [r2, #16] } /* USER CODE END 2 */ } 80cdaca: bf00 nop 80cdacc: 3708 adds r7, #8 80cdace: 46bd mov sp, r7 80cdad0: bd80 pop {r7, pc} 80cdad2: bf00 nop 80cdad4: e000ed00 .word 0xe000ed00 080cdad8 : #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 */ { 80cdad8: b580 push {r7, lr} 80cdada: b082 sub sp, #8 80cdadc: af00 add r7, sp, #0 80cdade: 6078 str r0, [r7, #4] /* USER CODE BEGIN 3 */ /* USER CODE END 3 */ USBD_LL_Resume((USBD_HandleTypeDef*)hpcd->pData); 80cdae0: 687b ldr r3, [r7, #4] 80cdae2: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80cdae6: 4618 mov r0, r3 80cdae8: f7f8 f95d bl 80c5da6 } 80cdaec: bf00 nop 80cdaee: 3708 adds r7, #8 80cdaf0: 46bd mov sp, r7 80cdaf2: bd80 pop {r7, pc} 080cdaf4 : #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 */ { 80cdaf4: b580 push {r7, lr} 80cdaf6: b082 sub sp, #8 80cdaf8: af00 add r7, sp, #0 80cdafa: 6078 str r0, [r7, #4] 80cdafc: 460b mov r3, r1 80cdafe: 70fb strb r3, [r7, #3] USBD_LL_IsoOUTIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum); 80cdb00: 687b ldr r3, [r7, #4] 80cdb02: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80cdb06: 78fa ldrb r2, [r7, #3] 80cdb08: 4611 mov r1, r2 80cdb0a: 4618 mov r0, r3 80cdb0c: f7f8 f988 bl 80c5e20 } 80cdb10: bf00 nop 80cdb12: 3708 adds r7, #8 80cdb14: 46bd mov sp, r7 80cdb16: bd80 pop {r7, pc} 080cdb18 : #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 */ { 80cdb18: b580 push {r7, lr} 80cdb1a: b082 sub sp, #8 80cdb1c: af00 add r7, sp, #0 80cdb1e: 6078 str r0, [r7, #4] 80cdb20: 460b mov r3, r1 80cdb22: 70fb strb r3, [r7, #3] USBD_LL_IsoINIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum); 80cdb24: 687b ldr r3, [r7, #4] 80cdb26: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80cdb2a: 78fa ldrb r2, [r7, #3] 80cdb2c: 4611 mov r1, r2 80cdb2e: 4618 mov r0, r3 80cdb30: f7f8 f969 bl 80c5e06 } 80cdb34: bf00 nop 80cdb36: 3708 adds r7, #8 80cdb38: 46bd mov sp, r7 80cdb3a: bd80 pop {r7, pc} 080cdb3c : #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 */ { 80cdb3c: b580 push {r7, lr} 80cdb3e: b082 sub sp, #8 80cdb40: af00 add r7, sp, #0 80cdb42: 6078 str r0, [r7, #4] USBConnected = true; 80cdb44: 4b08 ldr r3, [pc, #32] ; (80cdb68 ) 80cdb46: 2201 movs r2, #1 80cdb48: 701a strb r2, [r3, #0] ChangeUSBState = true; 80cdb4a: 4b08 ldr r3, [pc, #32] ; (80cdb6c ) 80cdb4c: 2201 movs r2, #1 80cdb4e: 701a strb r2, [r3, #0] USBState(); 80cdb50: f7ff fbd2 bl 80cd2f8 USBD_LL_DevConnected((USBD_HandleTypeDef*)hpcd->pData); 80cdb54: 687b ldr r3, [r7, #4] 80cdb56: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80cdb5a: 4618 mov r0, r3 80cdb5c: f7f8 f96d bl 80c5e3a } 80cdb60: bf00 nop 80cdb62: 3708 adds r7, #8 80cdb64: 46bd mov sp, r7 80cdb66: bd80 pop {r7, pc} 80cdb68: 20021b69 .word 0x20021b69 80cdb6c: 20021b68 .word 0x20021b68 080cdb70 : #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 */ { 80cdb70: b580 push {r7, lr} 80cdb72: b082 sub sp, #8 80cdb74: af00 add r7, sp, #0 80cdb76: 6078 str r0, [r7, #4] USBConnected = false; 80cdb78: 4b08 ldr r3, [pc, #32] ; (80cdb9c ) 80cdb7a: 2200 movs r2, #0 80cdb7c: 701a strb r2, [r3, #0] ChangeUSBState = true; 80cdb7e: 4b08 ldr r3, [pc, #32] ; (80cdba0 ) 80cdb80: 2201 movs r2, #1 80cdb82: 701a strb r2, [r3, #0] USBState(); 80cdb84: f7ff fbb8 bl 80cd2f8 USBD_LL_DevDisconnected((USBD_HandleTypeDef*)hpcd->pData); 80cdb88: 687b ldr r3, [r7, #4] 80cdb8a: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80cdb8e: 4618 mov r0, r3 80cdb90: f7f8 f95e bl 80c5e50 } 80cdb94: bf00 nop 80cdb96: 3708 adds r7, #8 80cdb98: 46bd mov sp, r7 80cdb9a: bd80 pop {r7, pc} 80cdb9c: 20021b69 .word 0x20021b69 80cdba0: 20021b68 .word 0x20021b68 080cdba4 : * @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) { 80cdba4: b580 push {r7, lr} 80cdba6: b082 sub sp, #8 80cdba8: af00 add r7, sp, #0 80cdbaa: 6078 str r0, [r7, #4] /* Init USB Ip. */ if (pdev->id == DEVICE_HS) { 80cdbac: 687b ldr r3, [r7, #4] 80cdbae: 781b ldrb r3, [r3, #0] 80cdbb0: 2b01 cmp r3, #1 80cdbb2: d140 bne.n 80cdc36 /* Link the driver to the stack. */ hpcd_USB_OTG_HS.pData = pdev; 80cdbb4: 4a22 ldr r2, [pc, #136] ; (80cdc40 ) 80cdbb6: 687b ldr r3, [r7, #4] 80cdbb8: f8c2 3400 str.w r3, [r2, #1024] ; 0x400 pdev->pData = &hpcd_USB_OTG_HS; 80cdbbc: 687b ldr r3, [r7, #4] 80cdbbe: 4a20 ldr r2, [pc, #128] ; (80cdc40 ) 80cdbc0: f8c3 22c4 str.w r2, [r3, #708] ; 0x2c4 hpcd_USB_OTG_HS.Instance = USB_OTG_HS; 80cdbc4: 4b1e ldr r3, [pc, #120] ; (80cdc40 ) 80cdbc6: 4a1f ldr r2, [pc, #124] ; (80cdc44 ) 80cdbc8: 601a str r2, [r3, #0] hpcd_USB_OTG_HS.Init.dev_endpoints = 9; 80cdbca: 4b1d ldr r3, [pc, #116] ; (80cdc40 ) 80cdbcc: 2209 movs r2, #9 80cdbce: 605a str r2, [r3, #4] hpcd_USB_OTG_HS.Init.speed = PCD_SPEED_FULL; 80cdbd0: 4b1b ldr r3, [pc, #108] ; (80cdc40 ) 80cdbd2: 2202 movs r2, #2 80cdbd4: 60da str r2, [r3, #12] hpcd_USB_OTG_HS.Init.dma_enable = DISABLE; 80cdbd6: 4b1a ldr r3, [pc, #104] ; (80cdc40 ) 80cdbd8: 2200 movs r2, #0 80cdbda: 611a str r2, [r3, #16] hpcd_USB_OTG_HS.Init.phy_itface = USB_OTG_EMBEDDED_PHY; 80cdbdc: 4b18 ldr r3, [pc, #96] ; (80cdc40 ) 80cdbde: 2202 movs r2, #2 80cdbe0: 619a str r2, [r3, #24] hpcd_USB_OTG_HS.Init.Sof_enable = DISABLE; 80cdbe2: 4b17 ldr r3, [pc, #92] ; (80cdc40 ) 80cdbe4: 2200 movs r2, #0 80cdbe6: 61da str r2, [r3, #28] hpcd_USB_OTG_HS.Init.low_power_enable = DISABLE; 80cdbe8: 4b15 ldr r3, [pc, #84] ; (80cdc40 ) 80cdbea: 2200 movs r2, #0 80cdbec: 621a str r2, [r3, #32] hpcd_USB_OTG_HS.Init.lpm_enable = DISABLE; 80cdbee: 4b14 ldr r3, [pc, #80] ; (80cdc40 ) 80cdbf0: 2200 movs r2, #0 80cdbf2: 625a str r2, [r3, #36] ; 0x24 hpcd_USB_OTG_HS.Init.vbus_sensing_enable = ENABLE; 80cdbf4: 4b12 ldr r3, [pc, #72] ; (80cdc40 ) 80cdbf6: 2201 movs r2, #1 80cdbf8: 62da str r2, [r3, #44] ; 0x2c hpcd_USB_OTG_HS.Init.use_dedicated_ep1 = DISABLE; 80cdbfa: 4b11 ldr r3, [pc, #68] ; (80cdc40 ) 80cdbfc: 2200 movs r2, #0 80cdbfe: 631a str r2, [r3, #48] ; 0x30 hpcd_USB_OTG_HS.Init.use_external_vbus = DISABLE; 80cdc00: 4b0f ldr r3, [pc, #60] ; (80cdc40 ) 80cdc02: 2200 movs r2, #0 80cdc04: 635a str r2, [r3, #52] ; 0x34 if (HAL_PCD_Init(&hpcd_USB_OTG_HS) != HAL_OK) 80cdc06: 480e ldr r0, [pc, #56] ; (80cdc40 ) 80cdc08: f7ec f9ca bl 80b9fa0 80cdc0c: 4603 mov r3, r0 80cdc0e: 2b00 cmp r3, #0 80cdc10: d001 beq.n 80cdc16 { Error_Handler( ); 80cdc12: f788 f84d bl 8055cb0 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); 80cdc16: f44f 7100 mov.w r1, #512 ; 0x200 80cdc1a: 4809 ldr r0, [pc, #36] ; (80cdc40 ) 80cdc1c: f7ed fb73 bl 80bb306 HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 0, 0x80); 80cdc20: 2280 movs r2, #128 ; 0x80 80cdc22: 2100 movs r1, #0 80cdc24: 4806 ldr r0, [pc, #24] ; (80cdc40 ) 80cdc26: f7ed fb27 bl 80bb278 HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 1, 0x174); 80cdc2a: f44f 72ba mov.w r2, #372 ; 0x174 80cdc2e: 2101 movs r1, #1 80cdc30: 4803 ldr r0, [pc, #12] ; (80cdc40 ) 80cdc32: f7ed fb21 bl 80bb278 } return USBD_OK; 80cdc36: 2300 movs r3, #0 } 80cdc38: 4618 mov r0, r3 80cdc3a: 3708 adds r7, #8 80cdc3c: 46bd mov sp, r7 80cdc3e: bd80 pop {r7, pc} 80cdc40: 20069270 .word 0x20069270 80cdc44: 40040000 .word 0x40040000 080cdc48 : * @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) { 80cdc48: b580 push {r7, lr} 80cdc4a: b084 sub sp, #16 80cdc4c: af00 add r7, sp, #0 80cdc4e: 6078 str r0, [r7, #4] HAL_StatusTypeDef hal_status = HAL_OK; 80cdc50: 2300 movs r3, #0 80cdc52: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80cdc54: 2300 movs r3, #0 80cdc56: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_Start(pdev->pData); 80cdc58: 687b ldr r3, [r7, #4] 80cdc5a: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80cdc5e: 4618 mov r0, r3 80cdc60: f7ec fac2 bl 80ba1e8 80cdc64: 4603 mov r3, r0 80cdc66: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80cdc68: 7bfb ldrb r3, [r7, #15] 80cdc6a: 4618 mov r0, r3 80cdc6c: f000 f9a0 bl 80cdfb0 80cdc70: 4603 mov r3, r0 80cdc72: 73bb strb r3, [r7, #14] return usb_status; 80cdc74: 7bbb ldrb r3, [r7, #14] } 80cdc76: 4618 mov r0, r3 80cdc78: 3710 adds r7, #16 80cdc7a: 46bd mov sp, r7 80cdc7c: bd80 pop {r7, pc} 080cdc7e : * @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) { 80cdc7e: b580 push {r7, lr} 80cdc80: b084 sub sp, #16 80cdc82: af00 add r7, sp, #0 80cdc84: 6078 str r0, [r7, #4] 80cdc86: 4608 mov r0, r1 80cdc88: 4611 mov r1, r2 80cdc8a: 461a mov r2, r3 80cdc8c: 4603 mov r3, r0 80cdc8e: 70fb strb r3, [r7, #3] 80cdc90: 460b mov r3, r1 80cdc92: 70bb strb r3, [r7, #2] 80cdc94: 4613 mov r3, r2 80cdc96: 803b strh r3, [r7, #0] HAL_StatusTypeDef hal_status = HAL_OK; 80cdc98: 2300 movs r3, #0 80cdc9a: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80cdc9c: 2300 movs r3, #0 80cdc9e: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Open(pdev->pData, ep_addr, ep_mps, ep_type); 80cdca0: 687b ldr r3, [r7, #4] 80cdca2: f8d3 02c4 ldr.w r0, [r3, #708] ; 0x2c4 80cdca6: 78bb ldrb r3, [r7, #2] 80cdca8: 883a ldrh r2, [r7, #0] 80cdcaa: 78f9 ldrb r1, [r7, #3] 80cdcac: f7ec febd bl 80baa2a 80cdcb0: 4603 mov r3, r0 80cdcb2: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80cdcb4: 7bfb ldrb r3, [r7, #15] 80cdcb6: 4618 mov r0, r3 80cdcb8: f000 f97a bl 80cdfb0 80cdcbc: 4603 mov r3, r0 80cdcbe: 73bb strb r3, [r7, #14] return usb_status; 80cdcc0: 7bbb ldrb r3, [r7, #14] } 80cdcc2: 4618 mov r0, r3 80cdcc4: 3710 adds r7, #16 80cdcc6: 46bd mov sp, r7 80cdcc8: bd80 pop {r7, pc} 080cdcca : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80cdcca: b580 push {r7, lr} 80cdccc: b084 sub sp, #16 80cdcce: af00 add r7, sp, #0 80cdcd0: 6078 str r0, [r7, #4] 80cdcd2: 460b mov r3, r1 80cdcd4: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80cdcd6: 2300 movs r3, #0 80cdcd8: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80cdcda: 2300 movs r3, #0 80cdcdc: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Close(pdev->pData, ep_addr); 80cdcde: 687b ldr r3, [r7, #4] 80cdce0: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80cdce4: 78fa ldrb r2, [r7, #3] 80cdce6: 4611 mov r1, r2 80cdce8: 4618 mov r0, r3 80cdcea: f7ec ff06 bl 80baafa 80cdcee: 4603 mov r3, r0 80cdcf0: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80cdcf2: 7bfb ldrb r3, [r7, #15] 80cdcf4: 4618 mov r0, r3 80cdcf6: f000 f95b bl 80cdfb0 80cdcfa: 4603 mov r3, r0 80cdcfc: 73bb strb r3, [r7, #14] return usb_status; 80cdcfe: 7bbb ldrb r3, [r7, #14] } 80cdd00: 4618 mov r0, r3 80cdd02: 3710 adds r7, #16 80cdd04: 46bd mov sp, r7 80cdd06: bd80 pop {r7, pc} 080cdd08 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_FlushEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80cdd08: b580 push {r7, lr} 80cdd0a: b084 sub sp, #16 80cdd0c: af00 add r7, sp, #0 80cdd0e: 6078 str r0, [r7, #4] 80cdd10: 460b mov r3, r1 80cdd12: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80cdd14: 2300 movs r3, #0 80cdd16: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80cdd18: 2300 movs r3, #0 80cdd1a: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Flush(pdev->pData, ep_addr); 80cdd1c: 687b ldr r3, [r7, #4] 80cdd1e: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80cdd22: 78fa ldrb r2, [r7, #3] 80cdd24: 4611 mov r1, r2 80cdd26: 4618 mov r0, r3 80cdd28: f7ed f898 bl 80bae5c 80cdd2c: 4603 mov r3, r0 80cdd2e: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80cdd30: 7bfb ldrb r3, [r7, #15] 80cdd32: 4618 mov r0, r3 80cdd34: f000 f93c bl 80cdfb0 80cdd38: 4603 mov r3, r0 80cdd3a: 73bb strb r3, [r7, #14] return usb_status; 80cdd3c: 7bbb ldrb r3, [r7, #14] } 80cdd3e: 4618 mov r0, r3 80cdd40: 3710 adds r7, #16 80cdd42: 46bd mov sp, r7 80cdd44: bd80 pop {r7, pc} 080cdd46 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80cdd46: b580 push {r7, lr} 80cdd48: b084 sub sp, #16 80cdd4a: af00 add r7, sp, #0 80cdd4c: 6078 str r0, [r7, #4] 80cdd4e: 460b mov r3, r1 80cdd50: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80cdd52: 2300 movs r3, #0 80cdd54: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80cdd56: 2300 movs r3, #0 80cdd58: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_SetStall(pdev->pData, ep_addr); 80cdd5a: 687b ldr r3, [r7, #4] 80cdd5c: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80cdd60: 78fa ldrb r2, [r7, #3] 80cdd62: 4611 mov r1, r2 80cdd64: 4618 mov r0, r3 80cdd66: f7ec ffbf bl 80bace8 80cdd6a: 4603 mov r3, r0 80cdd6c: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80cdd6e: 7bfb ldrb r3, [r7, #15] 80cdd70: 4618 mov r0, r3 80cdd72: f000 f91d bl 80cdfb0 80cdd76: 4603 mov r3, r0 80cdd78: 73bb strb r3, [r7, #14] return usb_status; 80cdd7a: 7bbb ldrb r3, [r7, #14] } 80cdd7c: 4618 mov r0, r3 80cdd7e: 3710 adds r7, #16 80cdd80: 46bd mov sp, r7 80cdd82: bd80 pop {r7, pc} 080cdd84 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80cdd84: b580 push {r7, lr} 80cdd86: b084 sub sp, #16 80cdd88: af00 add r7, sp, #0 80cdd8a: 6078 str r0, [r7, #4] 80cdd8c: 460b mov r3, r1 80cdd8e: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80cdd90: 2300 movs r3, #0 80cdd92: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80cdd94: 2300 movs r3, #0 80cdd96: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_ClrStall(pdev->pData, ep_addr); 80cdd98: 687b ldr r3, [r7, #4] 80cdd9a: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80cdd9e: 78fa ldrb r2, [r7, #3] 80cdda0: 4611 mov r1, r2 80cdda2: 4618 mov r0, r3 80cdda4: f7ed f804 bl 80badb0 80cdda8: 4603 mov r3, r0 80cddaa: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80cddac: 7bfb ldrb r3, [r7, #15] 80cddae: 4618 mov r0, r3 80cddb0: f000 f8fe bl 80cdfb0 80cddb4: 4603 mov r3, r0 80cddb6: 73bb strb r3, [r7, #14] return usb_status; 80cddb8: 7bbb ldrb r3, [r7, #14] } 80cddba: 4618 mov r0, r3 80cddbc: 3710 adds r7, #16 80cddbe: 46bd mov sp, r7 80cddc0: bd80 pop {r7, pc} 080cddc2 : * @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) { 80cddc2: b480 push {r7} 80cddc4: b085 sub sp, #20 80cddc6: af00 add r7, sp, #0 80cddc8: 6078 str r0, [r7, #4] 80cddca: 460b mov r3, r1 80cddcc: 70fb strb r3, [r7, #3] PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef*) pdev->pData; 80cddce: 687b ldr r3, [r7, #4] 80cddd0: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80cddd4: 60fb str r3, [r7, #12] if((ep_addr & 0x80) == 0x80) 80cddd6: f997 3003 ldrsb.w r3, [r7, #3] 80cddda: 2b00 cmp r3, #0 80cdddc: da0b bge.n 80cddf6 { return hpcd->IN_ep[ep_addr & 0x7F].is_stall; 80cddde: 78fb ldrb r3, [r7, #3] 80cdde0: f003 027f and.w r2, r3, #127 ; 0x7f 80cdde4: 68f9 ldr r1, [r7, #12] 80cdde6: 4613 mov r3, r2 80cdde8: 00db lsls r3, r3, #3 80cddea: 1a9b subs r3, r3, r2 80cddec: 009b lsls r3, r3, #2 80cddee: 440b add r3, r1 80cddf0: 333e adds r3, #62 ; 0x3e 80cddf2: 781b ldrb r3, [r3, #0] 80cddf4: e00b b.n 80cde0e } else { return hpcd->OUT_ep[ep_addr & 0x7F].is_stall; 80cddf6: 78fb ldrb r3, [r7, #3] 80cddf8: f003 027f and.w r2, r3, #127 ; 0x7f 80cddfc: 68f9 ldr r1, [r7, #12] 80cddfe: 4613 mov r3, r2 80cde00: 00db lsls r3, r3, #3 80cde02: 1a9b subs r3, r3, r2 80cde04: 009b lsls r3, r3, #2 80cde06: 440b add r3, r1 80cde08: f503 73ff add.w r3, r3, #510 ; 0x1fe 80cde0c: 781b ldrb r3, [r3, #0] } } 80cde0e: 4618 mov r0, r3 80cde10: 3714 adds r7, #20 80cde12: 46bd mov sp, r7 80cde14: f85d 7b04 ldr.w r7, [sp], #4 80cde18: 4770 bx lr 080cde1a : * @param pdev: Device handle * @param dev_addr: Device address * @retval USBD status */ USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev, uint8_t dev_addr) { 80cde1a: b580 push {r7, lr} 80cde1c: b084 sub sp, #16 80cde1e: af00 add r7, sp, #0 80cde20: 6078 str r0, [r7, #4] 80cde22: 460b mov r3, r1 80cde24: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80cde26: 2300 movs r3, #0 80cde28: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80cde2a: 2300 movs r3, #0 80cde2c: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_SetAddress(pdev->pData, dev_addr); 80cde2e: 687b ldr r3, [r7, #4] 80cde30: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80cde34: 78fa ldrb r2, [r7, #3] 80cde36: 4611 mov r1, r2 80cde38: 4618 mov r0, r3 80cde3a: f7ec fdd1 bl 80ba9e0 80cde3e: 4603 mov r3, r0 80cde40: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80cde42: 7bfb ldrb r3, [r7, #15] 80cde44: 4618 mov r0, r3 80cde46: f000 f8b3 bl 80cdfb0 80cde4a: 4603 mov r3, r0 80cde4c: 73bb strb r3, [r7, #14] return usb_status; 80cde4e: 7bbb ldrb r3, [r7, #14] } 80cde50: 4618 mov r0, r3 80cde52: 3710 adds r7, #16 80cde54: 46bd mov sp, r7 80cde56: bd80 pop {r7, pc} 080cde58 : * @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) { 80cde58: b580 push {r7, lr} 80cde5a: b086 sub sp, #24 80cde5c: af00 add r7, sp, #0 80cde5e: 60f8 str r0, [r7, #12] 80cde60: 607a str r2, [r7, #4] 80cde62: 603b str r3, [r7, #0] 80cde64: 460b mov r3, r1 80cde66: 72fb strb r3, [r7, #11] HAL_StatusTypeDef hal_status = HAL_OK; 80cde68: 2300 movs r3, #0 80cde6a: 75fb strb r3, [r7, #23] USBD_StatusTypeDef usb_status = USBD_OK; 80cde6c: 2300 movs r3, #0 80cde6e: 75bb strb r3, [r7, #22] hal_status = HAL_PCD_EP_Transmit(pdev->pData, ep_addr, pbuf, size); 80cde70: 68fb ldr r3, [r7, #12] 80cde72: f8d3 02c4 ldr.w r0, [r3, #708] ; 0x2c4 80cde76: 7af9 ldrb r1, [r7, #11] 80cde78: 683b ldr r3, [r7, #0] 80cde7a: 687a ldr r2, [r7, #4] 80cde7c: f7ec feea bl 80bac54 80cde80: 4603 mov r3, r0 80cde82: 75fb strb r3, [r7, #23] usb_status = USBD_Get_USB_Status(hal_status); 80cde84: 7dfb ldrb r3, [r7, #23] 80cde86: 4618 mov r0, r3 80cde88: f000 f892 bl 80cdfb0 80cde8c: 4603 mov r3, r0 80cde8e: 75bb strb r3, [r7, #22] return usb_status; 80cde90: 7dbb ldrb r3, [r7, #22] } 80cde92: 4618 mov r0, r3 80cde94: 3718 adds r7, #24 80cde96: 46bd mov sp, r7 80cde98: bd80 pop {r7, pc} 080cde9a : * @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) { 80cde9a: b580 push {r7, lr} 80cde9c: b086 sub sp, #24 80cde9e: af00 add r7, sp, #0 80cdea0: 60f8 str r0, [r7, #12] 80cdea2: 607a str r2, [r7, #4] 80cdea4: 603b str r3, [r7, #0] 80cdea6: 460b mov r3, r1 80cdea8: 72fb strb r3, [r7, #11] HAL_StatusTypeDef hal_status = HAL_OK; 80cdeaa: 2300 movs r3, #0 80cdeac: 75fb strb r3, [r7, #23] USBD_StatusTypeDef usb_status = USBD_OK; 80cdeae: 2300 movs r3, #0 80cdeb0: 75bb strb r3, [r7, #22] hal_status = HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size); 80cdeb2: 68fb ldr r3, [r7, #12] 80cdeb4: f8d3 02c4 ldr.w r0, [r3, #708] ; 0x2c4 80cdeb8: 7af9 ldrb r1, [r7, #11] 80cdeba: 683b ldr r3, [r7, #0] 80cdebc: 687a ldr r2, [r7, #4] 80cdebe: f7ec fe66 bl 80bab8e 80cdec2: 4603 mov r3, r0 80cdec4: 75fb strb r3, [r7, #23] usb_status = USBD_Get_USB_Status(hal_status); 80cdec6: 7dfb ldrb r3, [r7, #23] 80cdec8: 4618 mov r0, r3 80cdeca: f000 f871 bl 80cdfb0 80cdece: 4603 mov r3, r0 80cded0: 75bb strb r3, [r7, #22] return usb_status; 80cded2: 7dbb ldrb r3, [r7, #22] } 80cded4: 4618 mov r0, r3 80cded6: 3718 adds r7, #24 80cded8: 46bd mov sp, r7 80cdeda: bd80 pop {r7, pc} 080cdedc : * @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) { 80cdedc: b580 push {r7, lr} 80cdede: b082 sub sp, #8 80cdee0: af00 add r7, sp, #0 80cdee2: 6078 str r0, [r7, #4] 80cdee4: 460b mov r3, r1 80cdee6: 70fb strb r3, [r7, #3] return HAL_PCD_EP_GetRxCount((PCD_HandleTypeDef*) pdev->pData, ep_addr); 80cdee8: 687b ldr r3, [r7, #4] 80cdeea: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80cdeee: 78fa ldrb r2, [r7, #3] 80cdef0: 4611 mov r1, r2 80cdef2: 4618 mov r0, r3 80cdef4: f7ec fe96 bl 80bac24 80cdef8: 4603 mov r3, r0 } 80cdefa: 4618 mov r0, r3 80cdefc: 3708 adds r7, #8 80cdefe: 46bd mov sp, r7 80cdf00: bd80 pop {r7, pc} ... 080cdf04 : * @param hpcd: PCD handle * @param msg: LPM message * @retval None */ void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg) { 80cdf04: b580 push {r7, lr} 80cdf06: b082 sub sp, #8 80cdf08: af00 add r7, sp, #0 80cdf0a: 6078 str r0, [r7, #4] 80cdf0c: 460b mov r3, r1 80cdf0e: 70fb strb r3, [r7, #3] switch (msg) 80cdf10: 78fb ldrb r3, [r7, #3] 80cdf12: 2b00 cmp r3, #0 80cdf14: d002 beq.n 80cdf1c 80cdf16: 2b01 cmp r3, #1 80cdf18: d020 beq.n 80cdf5c /* 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; } } 80cdf1a: e03d b.n 80cdf98 if (hpcd->Init.low_power_enable) 80cdf1c: 687b ldr r3, [r7, #4] 80cdf1e: 6a1b ldr r3, [r3, #32] 80cdf20: 2b00 cmp r3, #0 80cdf22: d007 beq.n 80cdf34 SystemClockConfig_Resume(); 80cdf24: f000 f83e bl 80cdfa4 SCB->SCR &= (uint32_t)~((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 80cdf28: 4a1d ldr r2, [pc, #116] ; (80cdfa0 ) 80cdf2a: 4b1d ldr r3, [pc, #116] ; (80cdfa0 ) 80cdf2c: 691b ldr r3, [r3, #16] 80cdf2e: f023 0306 bic.w r3, r3, #6 80cdf32: 6113 str r3, [r2, #16] __HAL_PCD_UNGATE_PHYCLOCK(hpcd); 80cdf34: 687b ldr r3, [r7, #4] 80cdf36: 681b ldr r3, [r3, #0] 80cdf38: f503 6360 add.w r3, r3, #3584 ; 0xe00 80cdf3c: 461a mov r2, r3 80cdf3e: 687b ldr r3, [r7, #4] 80cdf40: 681b ldr r3, [r3, #0] 80cdf42: f503 6360 add.w r3, r3, #3584 ; 0xe00 80cdf46: 681b ldr r3, [r3, #0] 80cdf48: f023 0301 bic.w r3, r3, #1 80cdf4c: 6013 str r3, [r2, #0] USBD_LL_Resume(hpcd->pData); 80cdf4e: 687b ldr r3, [r7, #4] 80cdf50: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80cdf54: 4618 mov r0, r3 80cdf56: f7f7 ff26 bl 80c5da6 break; 80cdf5a: e01d b.n 80cdf98 __HAL_PCD_GATE_PHYCLOCK(hpcd); 80cdf5c: 687b ldr r3, [r7, #4] 80cdf5e: 681b ldr r3, [r3, #0] 80cdf60: f503 6360 add.w r3, r3, #3584 ; 0xe00 80cdf64: 461a mov r2, r3 80cdf66: 687b ldr r3, [r7, #4] 80cdf68: 681b ldr r3, [r3, #0] 80cdf6a: f503 6360 add.w r3, r3, #3584 ; 0xe00 80cdf6e: 681b ldr r3, [r3, #0] 80cdf70: f043 0301 orr.w r3, r3, #1 80cdf74: 6013 str r3, [r2, #0] USBD_LL_Suspend(hpcd->pData); 80cdf76: 687b ldr r3, [r7, #4] 80cdf78: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80cdf7c: 4618 mov r0, r3 80cdf7e: f7f7 fefd bl 80c5d7c if (hpcd->Init.low_power_enable) 80cdf82: 687b ldr r3, [r7, #4] 80cdf84: 6a1b ldr r3, [r3, #32] 80cdf86: 2b00 cmp r3, #0 80cdf88: d005 beq.n 80cdf96 SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 80cdf8a: 4a05 ldr r2, [pc, #20] ; (80cdfa0 ) 80cdf8c: 4b04 ldr r3, [pc, #16] ; (80cdfa0 ) 80cdf8e: 691b ldr r3, [r3, #16] 80cdf90: f043 0306 orr.w r3, r3, #6 80cdf94: 6113 str r3, [r2, #16] break; 80cdf96: bf00 nop } 80cdf98: bf00 nop 80cdf9a: 3708 adds r7, #8 80cdf9c: 46bd mov sp, r7 80cdf9e: bd80 pop {r7, pc} 80cdfa0: e000ed00 .word 0xe000ed00 080cdfa4 : * @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) { 80cdfa4: b580 push {r7, lr} 80cdfa6: af00 add r7, sp, #0 SystemClock_Config(); 80cdfa8: f787 fdd6 bl 8055b58 } 80cdfac: bf00 nop 80cdfae: bd80 pop {r7, pc} 080cdfb0 : * @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) { 80cdfb0: b480 push {r7} 80cdfb2: b085 sub sp, #20 80cdfb4: af00 add r7, sp, #0 80cdfb6: 4603 mov r3, r0 80cdfb8: 71fb strb r3, [r7, #7] USBD_StatusTypeDef usb_status = USBD_OK; 80cdfba: 2300 movs r3, #0 80cdfbc: 73fb strb r3, [r7, #15] switch (hal_status) 80cdfbe: 79fb ldrb r3, [r7, #7] 80cdfc0: 2b03 cmp r3, #3 80cdfc2: d817 bhi.n 80cdff4 80cdfc4: a201 add r2, pc, #4 ; (adr r2, 80cdfcc ) 80cdfc6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80cdfca: bf00 nop 80cdfcc: 080cdfdd .word 0x080cdfdd 80cdfd0: 080cdfe3 .word 0x080cdfe3 80cdfd4: 080cdfe9 .word 0x080cdfe9 80cdfd8: 080cdfef .word 0x080cdfef { case HAL_OK : usb_status = USBD_OK; 80cdfdc: 2300 movs r3, #0 80cdfde: 73fb strb r3, [r7, #15] break; 80cdfe0: e00b b.n 80cdffa case HAL_ERROR : usb_status = USBD_FAIL; 80cdfe2: 2303 movs r3, #3 80cdfe4: 73fb strb r3, [r7, #15] break; 80cdfe6: e008 b.n 80cdffa case HAL_BUSY : usb_status = USBD_BUSY; 80cdfe8: 2301 movs r3, #1 80cdfea: 73fb strb r3, [r7, #15] break; 80cdfec: e005 b.n 80cdffa case HAL_TIMEOUT : usb_status = USBD_FAIL; 80cdfee: 2303 movs r3, #3 80cdff0: 73fb strb r3, [r7, #15] break; 80cdff2: e002 b.n 80cdffa default : usb_status = USBD_FAIL; 80cdff4: 2303 movs r3, #3 80cdff6: 73fb strb r3, [r7, #15] break; 80cdff8: bf00 nop } return usb_status; 80cdffa: 7bfb ldrb r3, [r7, #15] } 80cdffc: 4618 mov r0, r3 80cdffe: 3714 adds r7, #20 80ce000: 46bd mov sp, r7 80ce002: f85d 7b04 ldr.w r7, [sp], #4 80ce006: 4770 bx lr 080ce008 : .section .text.Reset_Handler .weak Reset_Handler .type Reset_Handler, %function Reset_Handler: ldr sp, =_estack /* set stack pointer */ 80ce008: f8df d034 ldr.w sp, [pc, #52] ; 80ce040 /* Copy the data segment initializers from flash to SRAM */ movs r1, #0 80ce00c: 2100 movs r1, #0 b LoopCopyDataInit 80ce00e: e003 b.n 80ce018 080ce010 : CopyDataInit: ldr r3, =_sidata 80ce010: 4b0c ldr r3, [pc, #48] ; (80ce044 ) ldr r3, [r3, r1] 80ce012: 585b ldr r3, [r3, r1] str r3, [r0, r1] 80ce014: 5043 str r3, [r0, r1] adds r1, r1, #4 80ce016: 3104 adds r1, #4 080ce018 : LoopCopyDataInit: ldr r0, =_sdata 80ce018: 480b ldr r0, [pc, #44] ; (80ce048 ) ldr r3, =_edata 80ce01a: 4b0c ldr r3, [pc, #48] ; (80ce04c ) adds r2, r0, r1 80ce01c: 1842 adds r2, r0, r1 cmp r2, r3 80ce01e: 429a cmp r2, r3 bcc CopyDataInit 80ce020: d3f6 bcc.n 80ce010 ldr r2, =_sbss 80ce022: 4a0b ldr r2, [pc, #44] ; (80ce050 ) b LoopFillZerobss 80ce024: e002 b.n 80ce02c 080ce026 : /* Zero fill the bss segment. */ FillZerobss: movs r3, #0 80ce026: 2300 movs r3, #0 str r3, [r2], #4 80ce028: f842 3b04 str.w r3, [r2], #4 080ce02c : LoopFillZerobss: ldr r3, = _ebss 80ce02c: 4b09 ldr r3, [pc, #36] ; (80ce054 ) cmp r2, r3 80ce02e: 429a cmp r2, r3 bcc FillZerobss 80ce030: d3f9 bcc.n 80ce026 /* Call the clock system initialization function.*/ bl SystemInit 80ce032: f7e4 f82b bl 80b208c /* Call static constructors */ bl __libc_init_array 80ce036: f003 f94b bl 80d12d0 <__libc_init_array> /* Call the application's entry point.*/ bl main 80ce03a: f787 fbd9 bl 80557f0
bx lr 80ce03e: 4770 bx lr ldr sp, =_estack /* set stack pointer */ 80ce040: 20080000 .word 0x20080000 ldr r3, =_sidata 80ce044: 0818ae34 .word 0x0818ae34 ldr r0, =_sdata 80ce048: 20020000 .word 0x20020000 ldr r3, =_edata 80ce04c: 20020d24 .word 0x20020d24 ldr r2, =_sbss 80ce050: 20020d40 .word 0x20020d40 ldr r3, = _ebss 80ce054: 20069678 .word 0x20069678 080ce058 : * @retval None */ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: b Infinite_Loop 80ce058: e7fe b.n 80ce058 ... 080ce05c : 80ce05c: b410 push {r4} 80ce05e: 088c lsrs r4, r1, #2 80ce060: d010 beq.n 80ce084 80ce062: f100 0310 add.w r3, r0, #16 80ce066: 4622 mov r2, r4 80ce068: 3a01 subs r2, #1 80ce06a: ed03 0a04 vstr s0, [r3, #-16] 80ce06e: ed03 0a03 vstr s0, [r3, #-12] 80ce072: f103 0310 add.w r3, r3, #16 80ce076: ed03 0a06 vstr s0, [r3, #-24] ; 0xffffffe8 80ce07a: ed03 0a05 vstr s0, [r3, #-20] ; 0xffffffec 80ce07e: d1f3 bne.n 80ce068 80ce080: eb00 1004 add.w r0, r0, r4, lsl #4 80ce084: f011 0103 ands.w r1, r1, #3 80ce088: d003 beq.n 80ce092 80ce08a: 3901 subs r1, #1 80ce08c: eca0 0a01 vstmia r0!, {s0} 80ce090: d1fb bne.n 80ce08a 80ce092: f85d 4b04 ldr.w r4, [sp], #4 80ce096: 4770 bx lr 080ce098 : 80ce098: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80ce09c: ea5f 0892 movs.w r8, r2, lsr #2 80ce0a0: d01e beq.n 80ce0e0 80ce0a2: f100 0410 add.w r4, r0, #16 80ce0a6: f101 0310 add.w r3, r1, #16 80ce0aa: 4645 mov r5, r8 80ce0ac: f854 cc10 ldr.w ip, [r4, #-16] 80ce0b0: 3d01 subs r5, #1 80ce0b2: f854 ec0c ldr.w lr, [r4, #-12] 80ce0b6: f103 0310 add.w r3, r3, #16 80ce0ba: f854 7c08 ldr.w r7, [r4, #-8] 80ce0be: f104 0410 add.w r4, r4, #16 80ce0c2: f854 6c14 ldr.w r6, [r4, #-20] 80ce0c6: f843 cc20 str.w ip, [r3, #-32] 80ce0ca: f843 ec1c str.w lr, [r3, #-28] 80ce0ce: f843 7c18 str.w r7, [r3, #-24] 80ce0d2: f843 6c14 str.w r6, [r3, #-20] 80ce0d6: d1e9 bne.n 80ce0ac 80ce0d8: ea4f 1808 mov.w r8, r8, lsl #4 80ce0dc: 4440 add r0, r8 80ce0de: 4441 add r1, r8 80ce0e0: f012 0203 ands.w r2, r2, #3 80ce0e4: d005 beq.n 80ce0f2 80ce0e6: f850 3b04 ldr.w r3, [r0], #4 80ce0ea: 3a01 subs r2, #1 80ce0ec: f841 3b04 str.w r3, [r1], #4 80ce0f0: d1f9 bne.n 80ce0e6 80ce0f2: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80ce0f6: bf00 nop 080ce0f8 : 80ce0f8: 2901 cmp r1, #1 80ce0fa: d054 beq.n 80ce1a6 80ce0fc: eddf 6a2d vldr s13, [pc, #180] ; 80ce1b4 80ce100: b430 push {r4, r5} 80ce102: 088d lsrs r5, r1, #2 80ce104: d052 beq.n 80ce1ac 80ce106: eef0 7a66 vmov.f32 s15, s13 80ce10a: f100 0310 add.w r3, r0, #16 80ce10e: 462c mov r4, r5 80ce110: ed13 7a04 vldr s14, [r3, #-16] 80ce114: 3c01 subs r4, #1 80ce116: ed13 4a03 vldr s8, [r3, #-12] 80ce11a: f103 0310 add.w r3, r3, #16 80ce11e: ee27 6a07 vmul.f32 s12, s14, s14 80ce122: ed53 4a06 vldr s9, [r3, #-24] ; 0xffffffe8 80ce126: ee37 7a87 vadd.f32 s14, s15, s14 80ce12a: ed53 5a05 vldr s11, [r3, #-20] ; 0xffffffec 80ce12e: ee24 5a04 vmul.f32 s10, s8, s8 80ce132: ee76 6a26 vadd.f32 s13, s12, s13 80ce136: ee37 7a04 vadd.f32 s14, s14, s8 80ce13a: ee24 6aa4 vmul.f32 s12, s9, s9 80ce13e: ee75 6a26 vadd.f32 s13, s10, s13 80ce142: ee77 7a24 vadd.f32 s15, s14, s9 80ce146: ee25 7aa5 vmul.f32 s14, s11, s11 80ce14a: ee76 6a26 vadd.f32 s13, s12, s13 80ce14e: ee77 7aa5 vadd.f32 s15, s15, s11 80ce152: ee77 6a26 vadd.f32 s13, s14, s13 80ce156: d1db bne.n 80ce110 80ce158: eb00 1005 add.w r0, r0, r5, lsl #4 80ce15c: f011 0303 ands.w r3, r1, #3 80ce160: d009 beq.n 80ce176 80ce162: ecb0 7a01 vldmia r0!, {s14} 80ce166: 3b01 subs r3, #1 80ce168: ee27 6a07 vmul.f32 s12, s14, s14 80ce16c: ee77 7a87 vadd.f32 s15, s15, s14 80ce170: ee76 6a86 vadd.f32 s13, s13, s12 80ce174: d1f5 bne.n 80ce162 80ce176: ee07 1a10 vmov s14, r1 80ce17a: eeb7 6a00 vmov.f32 s12, #112 ; 0x3f800000 1.0 80ce17e: eeb8 7a47 vcvt.f32.u32 s14, s14 80ce182: bc30 pop {r4, r5} 80ce184: eec7 7a87 vdiv.f32 s15, s15, s14 80ce188: ee37 6a46 vsub.f32 s12, s14, s12 80ce18c: ee87 7a06 vdiv.f32 s14, s14, s12 80ce190: eec6 6a86 vdiv.f32 s13, s13, s12 80ce194: ee67 7aa7 vmul.f32 s15, s15, s15 80ce198: ee67 7a87 vmul.f32 s15, s15, s14 80ce19c: ee76 7ae7 vsub.f32 s15, s13, s15 80ce1a0: edc2 7a00 vstr s15, [r2] 80ce1a4: 4770 bx lr 80ce1a6: 2300 movs r3, #0 80ce1a8: 6013 str r3, [r2, #0] 80ce1aa: 4770 bx lr 80ce1ac: eef0 7a66 vmov.f32 s15, s13 80ce1b0: e7d4 b.n 80ce15c 80ce1b2: bf00 nop 80ce1b4: 00000000 .word 0x00000000 080ce1b8 : 80ce1b8: b530 push {r4, r5, lr} 80ce1ba: 088d lsrs r5, r1, #2 80ce1bc: b083 sub sp, #12 80ce1be: d047 beq.n 80ce250 80ce1c0: f100 0310 add.w r3, r0, #16 80ce1c4: 462c mov r4, r5 80ce1c6: ed9f 0a27 vldr s0, [pc, #156] ; 80ce264 80ce1ca: ed53 6a04 vldr s13, [r3, #-16] 80ce1ce: 3c01 subs r4, #1 80ce1d0: ed13 7a03 vldr s14, [r3, #-12] 80ce1d4: f103 0310 add.w r3, r3, #16 80ce1d8: ee26 6aa6 vmul.f32 s12, s13, s13 80ce1dc: ed53 7a06 vldr s15, [r3, #-24] ; 0xffffffe8 80ce1e0: ee67 6a07 vmul.f32 s13, s14, s14 80ce1e4: ed53 5a05 vldr s11, [r3, #-20] ; 0xffffffec 80ce1e8: ee27 7aa7 vmul.f32 s14, s15, s15 80ce1ec: ee76 7a00 vadd.f32 s15, s12, s0 80ce1f0: ee65 5aa5 vmul.f32 s11, s11, s11 80ce1f4: ee76 7aa7 vadd.f32 s15, s13, s15 80ce1f8: ee77 7a27 vadd.f32 s15, s14, s15 80ce1fc: ee35 0aa7 vadd.f32 s0, s11, s15 80ce200: d1e3 bne.n 80ce1ca 80ce202: eb00 1005 add.w r0, r0, r5, lsl #4 80ce206: f011 0303 ands.w r3, r1, #3 80ce20a: d007 beq.n 80ce21c 80ce20c: ecb0 6a01 vldmia r0!, {s12} 80ce210: 3b01 subs r3, #1 80ce212: ee26 6a06 vmul.f32 s12, s12, s12 80ce216: ee30 0a06 vadd.f32 s0, s0, s12 80ce21a: d1f7 bne.n 80ce20c 80ce21c: ee07 1a90 vmov s15, r1 80ce220: 2300 movs r3, #0 80ce222: eef8 7a67 vcvt.f32.u32 s15, s15 80ce226: eec0 7a27 vdiv.f32 s15, s0, s15 80ce22a: eef5 7ac0 vcmpe.f32 s15, #0.0 80ce22e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce232: da02 bge.n 80ce23a 80ce234: 6013 str r3, [r2, #0] 80ce236: b003 add sp, #12 80ce238: bd30 pop {r4, r5, pc} 80ce23a: eeb1 0ae7 vsqrt.f32 s0, s15 80ce23e: eeb4 0a40 vcmp.f32 s0, s0 80ce242: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce246: d106 bne.n 80ce256 80ce248: ed82 0a00 vstr s0, [r2] 80ce24c: b003 add sp, #12 80ce24e: bd30 pop {r4, r5, pc} 80ce250: ed9f 0a04 vldr s0, [pc, #16] ; 80ce264 80ce254: e7d7 b.n 80ce206 80ce256: eeb0 0a67 vmov.f32 s0, s15 80ce25a: 9201 str r2, [sp, #4] 80ce25c: f001 f9a0 bl 80cf5a0 80ce260: 9a01 ldr r2, [sp, #4] 80ce262: e7f1 b.n 80ce248 80ce264: 00000000 .word 0x00000000 080ce268 : 80ce268: b430 push {r4, r5} 80ce26a: 088d lsrs r5, r1, #2 80ce26c: d031 beq.n 80ce2d2 80ce26e: f100 0310 add.w r3, r0, #16 80ce272: 462c mov r4, r5 80ce274: ed9f 5a18 vldr s10, [pc, #96] ; 80ce2d8 80ce278: ed53 6a04 vldr s13, [r3, #-16] 80ce27c: 3c01 subs r4, #1 80ce27e: ed13 7a03 vldr s14, [r3, #-12] 80ce282: f103 0310 add.w r3, r3, #16 80ce286: ee26 6aa6 vmul.f32 s12, s13, s13 80ce28a: ed53 7a06 vldr s15, [r3, #-24] ; 0xffffffe8 80ce28e: ee67 6a07 vmul.f32 s13, s14, s14 80ce292: ed53 5a05 vldr s11, [r3, #-20] ; 0xffffffec 80ce296: ee27 7aa7 vmul.f32 s14, s15, s15 80ce29a: ee76 7a05 vadd.f32 s15, s12, s10 80ce29e: ee65 5aa5 vmul.f32 s11, s11, s11 80ce2a2: ee76 7aa7 vadd.f32 s15, s13, s15 80ce2a6: ee77 7a27 vadd.f32 s15, s14, s15 80ce2aa: ee35 5aa7 vadd.f32 s10, s11, s15 80ce2ae: d1e3 bne.n 80ce278 80ce2b0: eb00 1005 add.w r0, r0, r5, lsl #4 80ce2b4: f011 0103 ands.w r1, r1, #3 80ce2b8: d007 beq.n 80ce2ca 80ce2ba: ecb0 6a01 vldmia r0!, {s12} 80ce2be: 3901 subs r1, #1 80ce2c0: ee26 6a06 vmul.f32 s12, s12, s12 80ce2c4: ee35 5a06 vadd.f32 s10, s10, s12 80ce2c8: d1f7 bne.n 80ce2ba 80ce2ca: ed82 5a00 vstr s10, [r2] 80ce2ce: bc30 pop {r4, r5} 80ce2d0: 4770 bx lr 80ce2d2: ed9f 5a01 vldr s10, [pc, #4] ; 80ce2d8 80ce2d6: e7ed b.n 80ce2b4 80ce2d8: 00000000 .word 0x00000000 080ce2dc : 80ce2dc: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80ce2e0: 1e4d subs r5, r1, #1 80ce2e2: f100 0c04 add.w ip, r0, #4 80ce2e6: edd0 7a00 vldr s15, [r0] 80ce2ea: ea5f 0995 movs.w r9, r5, lsr #2 80ce2ee: d056 beq.n 80ce39e 80ce2f0: 3014 adds r0, #20 80ce2f2: 46c8 mov r8, r9 80ce2f4: 2404 movs r4, #4 80ce2f6: 2600 movs r6, #0 80ce2f8: ed10 6a04 vldr s12, [r0, #-16] 80ce2fc: f1a4 0a03 sub.w sl, r4, #3 80ce300: ed50 6a03 vldr s13, [r0, #-12] 80ce304: f1a4 0e02 sub.w lr, r4, #2 80ce308: eeb4 6ae7 vcmpe.f32 s12, s15 80ce30c: ed10 7a02 vldr s14, [r0, #-8] 80ce310: ed50 5a01 vldr s11, [r0, #-4] 80ce314: 1e67 subs r7, r4, #1 80ce316: 3010 adds r0, #16 80ce318: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce31c: bf48 it mi 80ce31e: eef0 7a46 vmovmi.f32 s15, s12 80ce322: bf48 it mi 80ce324: 4656 movmi r6, sl 80ce326: eef4 7ae6 vcmpe.f32 s15, s13 80ce32a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce32e: bfc8 it gt 80ce330: eef0 7a66 vmovgt.f32 s15, s13 80ce334: bfc8 it gt 80ce336: 4676 movgt r6, lr 80ce338: eef4 7ac7 vcmpe.f32 s15, s14 80ce33c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce340: bfc8 it gt 80ce342: eef0 7a47 vmovgt.f32 s15, s14 80ce346: bfc8 it gt 80ce348: 463e movgt r6, r7 80ce34a: eef4 7ae5 vcmpe.f32 s15, s11 80ce34e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce352: bfc8 it gt 80ce354: 4626 movgt r6, r4 80ce356: bfc8 it gt 80ce358: eef0 7a65 vmovgt.f32 s15, s11 80ce35c: f1b8 0801 subs.w r8, r8, #1 80ce360: f104 0404 add.w r4, r4, #4 80ce364: d1c8 bne.n 80ce2f8 80ce366: eb0c 1c09 add.w ip, ip, r9, lsl #4 80ce36a: f015 0003 ands.w r0, r5, #3 80ce36e: d018 beq.n 80ce3a2 80ce370: 1a08 subs r0, r1, r0 80ce372: ecbc 7a01 vldmia ip!, {s14} 80ce376: eeb4 7ae7 vcmpe.f32 s14, s15 80ce37a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce37e: bf48 it mi 80ce380: 4606 movmi r6, r0 80ce382: f100 0001 add.w r0, r0, #1 80ce386: bf58 it pl 80ce388: eeb0 7a67 vmovpl.f32 s14, s15 80ce38c: 4288 cmp r0, r1 80ce38e: eef0 7a47 vmov.f32 s15, s14 80ce392: d1ee bne.n 80ce372 80ce394: ed82 7a00 vstr s14, [r2] 80ce398: 601e str r6, [r3, #0] 80ce39a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80ce39e: 464e mov r6, r9 80ce3a0: e7e3 b.n 80ce36a 80ce3a2: eeb0 7a67 vmov.f32 s14, s15 80ce3a6: e7f5 b.n 80ce394 080ce3a8 : 80ce3a8: b430 push {r4, r5} 80ce3aa: 088d lsrs r5, r1, #2 80ce3ac: d02d beq.n 80ce40a 80ce3ae: f100 0310 add.w r3, r0, #16 80ce3b2: 462c mov r4, r5 80ce3b4: eddf 7a16 vldr s15, [pc, #88] ; 80ce410 80ce3b8: ed13 7a04 vldr s14, [r3, #-16] 80ce3bc: 3c01 subs r4, #1 80ce3be: ed13 6a03 vldr s12, [r3, #-12] 80ce3c2: f103 0310 add.w r3, r3, #16 80ce3c6: ee37 7a87 vadd.f32 s14, s15, s14 80ce3ca: ed53 7a06 vldr s15, [r3, #-24] ; 0xffffffe8 80ce3ce: ed53 6a05 vldr s13, [r3, #-20] ; 0xffffffec 80ce3d2: ee37 7a06 vadd.f32 s14, s14, s12 80ce3d6: ee77 7a27 vadd.f32 s15, s14, s15 80ce3da: ee77 7aa6 vadd.f32 s15, s15, s13 80ce3de: d1eb bne.n 80ce3b8 80ce3e0: eb00 1005 add.w r0, r0, r5, lsl #4 80ce3e4: f011 0303 ands.w r3, r1, #3 80ce3e8: d005 beq.n 80ce3f6 80ce3ea: ecb0 7a01 vldmia r0!, {s14} 80ce3ee: 3b01 subs r3, #1 80ce3f0: ee77 7a87 vadd.f32 s15, s15, s14 80ce3f4: d1f9 bne.n 80ce3ea 80ce3f6: ee07 1a10 vmov s14, r1 80ce3fa: eeb8 7a47 vcvt.f32.u32 s14, s14 80ce3fe: bc30 pop {r4, r5} 80ce400: eec7 7a87 vdiv.f32 s15, s15, s14 80ce404: edc2 7a00 vstr s15, [r2] 80ce408: 4770 bx lr 80ce40a: eddf 7a01 vldr s15, [pc, #4] ; 80ce410 80ce40e: e7e9 b.n 80ce3e4 80ce410: 00000000 .word 0x00000000 080ce414 : 80ce414: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80ce418: 1e4d subs r5, r1, #1 80ce41a: f100 0c04 add.w ip, r0, #4 80ce41e: edd0 7a00 vldr s15, [r0] 80ce422: ea5f 0995 movs.w r9, r5, lsr #2 80ce426: d056 beq.n 80ce4d6 80ce428: 3014 adds r0, #20 80ce42a: 46c8 mov r8, r9 80ce42c: 2404 movs r4, #4 80ce42e: 2600 movs r6, #0 80ce430: ed10 6a04 vldr s12, [r0, #-16] 80ce434: f1a4 0a03 sub.w sl, r4, #3 80ce438: ed50 6a03 vldr s13, [r0, #-12] 80ce43c: f1a4 0e02 sub.w lr, r4, #2 80ce440: eeb4 6ae7 vcmpe.f32 s12, s15 80ce444: ed10 7a02 vldr s14, [r0, #-8] 80ce448: ed50 5a01 vldr s11, [r0, #-4] 80ce44c: 1e67 subs r7, r4, #1 80ce44e: 3010 adds r0, #16 80ce450: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce454: bfc8 it gt 80ce456: eef0 7a46 vmovgt.f32 s15, s12 80ce45a: bfc8 it gt 80ce45c: 4656 movgt r6, sl 80ce45e: eef4 7ae6 vcmpe.f32 s15, s13 80ce462: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce466: bf48 it mi 80ce468: eef0 7a66 vmovmi.f32 s15, s13 80ce46c: bf48 it mi 80ce46e: 4676 movmi r6, lr 80ce470: eef4 7ac7 vcmpe.f32 s15, s14 80ce474: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce478: bf48 it mi 80ce47a: eef0 7a47 vmovmi.f32 s15, s14 80ce47e: bf48 it mi 80ce480: 463e movmi r6, r7 80ce482: eef4 7ae5 vcmpe.f32 s15, s11 80ce486: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce48a: bf48 it mi 80ce48c: 4626 movmi r6, r4 80ce48e: bf48 it mi 80ce490: eef0 7a65 vmovmi.f32 s15, s11 80ce494: f1b8 0801 subs.w r8, r8, #1 80ce498: f104 0404 add.w r4, r4, #4 80ce49c: d1c8 bne.n 80ce430 80ce49e: eb0c 1c09 add.w ip, ip, r9, lsl #4 80ce4a2: f015 0003 ands.w r0, r5, #3 80ce4a6: d018 beq.n 80ce4da 80ce4a8: 1a08 subs r0, r1, r0 80ce4aa: ecbc 7a01 vldmia ip!, {s14} 80ce4ae: eeb4 7ae7 vcmpe.f32 s14, s15 80ce4b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce4b6: bfc8 it gt 80ce4b8: 4606 movgt r6, r0 80ce4ba: f100 0001 add.w r0, r0, #1 80ce4be: bfd8 it le 80ce4c0: eeb0 7a67 vmovle.f32 s14, s15 80ce4c4: 4288 cmp r0, r1 80ce4c6: eef0 7a47 vmov.f32 s15, s14 80ce4ca: d1ee bne.n 80ce4aa 80ce4cc: ed82 7a00 vstr s14, [r2] 80ce4d0: 601e str r6, [r3, #0] 80ce4d2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80ce4d6: 464e mov r6, r9 80ce4d8: e7e3 b.n 80ce4a2 80ce4da: eeb0 7a67 vmov.f32 s14, s15 80ce4de: e7f5 b.n 80ce4cc 080ce4e0 : 80ce4e0: b538 push {r3, r4, r5, lr} 80ce4e2: 4604 mov r4, r0 80ce4e4: 4608 mov r0, r1 80ce4e6: 461d mov r5, r3 80ce4e8: 2100 movs r1, #0 80ce4ea: 60a2 str r2, [r4, #8] 80ce4ec: 0102 lsls r2, r0, #4 80ce4ee: 7020 strb r0, [r4, #0] 80ce4f0: 4618 mov r0, r3 80ce4f2: f002 ff55 bl 80d13a0 80ce4f6: 6065 str r5, [r4, #4] 80ce4f8: bd38 pop {r3, r4, r5, pc} 80ce4fa: bf00 nop 080ce4fc : 80ce4fc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80ce500: ed2d 8b10 vpush {d8-d15} 80ce504: b093 sub sp, #76 ; 0x4c 80ce506: 4691 mov r9, r2 80ce508: 7807 ldrb r7, [r0, #0] 80ce50a: ea4f 1c13 mov.w ip, r3, lsr #4 80ce50e: 6885 ldr r5, [r0, #8] 80ce510: 3528 adds r5, #40 ; 0x28 80ce512: 6846 ldr r6, [r0, #4] 80ce514: 3610 adds r6, #16 80ce516: ea4f 1acc mov.w sl, ip, lsl #7 80ce51a: 4690 mov r8, r2 80ce51c: f8cd c044 str.w ip, [sp, #68] ; 0x44 80ce520: eb02 0b0a add.w fp, r2, sl 80ce524: f003 020f and.w r2, r3, #15 80ce528: ed15 ab0a vldr d10, [r5, #-40] ; 0xffffffd8 80ce52c: ed15 cb08 vldr d12, [r5, #-32] ; 0xffffffe0 80ce530: ed15 db06 vldr d13, [r5, #-24] ; 0xffffffe8 80ce534: ed15 eb04 vldr d14, [r5, #-16] 80ce538: ed15 fb02 vldr d15, [r5, #-8] 80ce53c: 4634 mov r4, r6 80ce53e: ed16 6b04 vldr d6, [r6, #-16] 80ce542: ed16 7b02 vldr d7, [r6, #-8] 80ce546: f1bc 0f00 cmp.w ip, #0 80ce54a: f000 8139 beq.w 80ce7c0 80ce54e: f101 0080 add.w r0, r1, #128 ; 0x80 80ce552: f109 0380 add.w r3, r9, #128 ; 0x80 80ce556: f8dd e044 ldr.w lr, [sp, #68] ; 0x44 80ce55a: eeb0 2b47 vmov.f64 d2, d7 80ce55e: ed10 1b20 vldr d1, [r0, #-128] ; 0xffffff80 80ce562: ed10 3b1e vldr d3, [r0, #-120] ; 0xffffff88 80ce566: ed10 4b1c vldr d4, [r0, #-112] ; 0xffffff90 80ce56a: ee0a 6b01 vmla.f64 d6, d10, d1 80ce56e: eeb0 7b46 vmov.f64 d7, d6 80ce572: ed10 5b1a vldr d5, [r0, #-104] ; 0xffffff98 80ce576: ee0c 2b01 vmla.f64 d2, d12, d1 80ce57a: ed10 6b18 vldr d6, [r0, #-96] ; 0xffffffa0 80ce57e: ee0e 2b07 vmla.f64 d2, d14, d7 80ce582: ee0a 2b03 vmla.f64 d2, d10, d3 80ce586: ed8d 7b04 vstr d7, [sp, #16] 80ce58a: ee2f 7b07 vmul.f64 d7, d15, d7 80ce58e: ee0d 7b01 vmla.f64 d7, d13, d1 80ce592: ee0c 7b03 vmla.f64 d7, d12, d3 80ce596: ed10 1b08 vldr d1, [r0, #-32] ; 0xffffffe0 80ce59a: ed8d 1b00 vstr d1, [sp] 80ce59e: ee0e 7b02 vmla.f64 d7, d14, d2 80ce5a2: eeb0 1b47 vmov.f64 d1, d7 80ce5a6: ee0a 1b04 vmla.f64 d1, d10, d4 80ce5aa: ed10 0b06 vldr d0, [r0, #-24] ; 0xffffffe8 80ce5ae: ed8d 0b0a vstr d0, [sp, #40] ; 0x28 80ce5b2: ed8d 2b06 vstr d2, [sp, #24] 80ce5b6: ee2f 7b02 vmul.f64 d7, d15, d2 80ce5ba: ee0d 7b03 vmla.f64 d7, d13, d3 80ce5be: ee0c 7b04 vmla.f64 d7, d12, d4 80ce5c2: ed10 3b04 vldr d3, [r0, #-16] 80ce5c6: ed8d 3b0c vstr d3, [sp, #48] ; 0x30 80ce5ca: ed10 8b02 vldr d8, [r0, #-8] 80ce5ce: ed8d 8b0e vstr d8, [sp, #56] ; 0x38 80ce5d2: ee0e 7b01 vmla.f64 d7, d14, d1 80ce5d6: ee0a 7b05 vmla.f64 d7, d10, d5 80ce5da: ed8d 1b08 vstr d1, [sp, #32] 80ce5de: ee2f bb01 vmul.f64 d11, d15, d1 80ce5e2: ee0d bb04 vmla.f64 d11, d13, d4 80ce5e6: ee0c bb05 vmla.f64 d11, d12, d5 80ce5ea: ee0e bb07 vmla.f64 d11, d14, d7 80ce5ee: ee0a bb06 vmla.f64 d11, d10, d6 80ce5f2: ee2f 9b07 vmul.f64 d9, d15, d7 80ce5f6: ee0d 9b05 vmla.f64 d9, d13, d5 80ce5fa: ee0c 9b06 vmla.f64 d9, d12, d6 80ce5fe: ee0e 9b0b vmla.f64 d9, d14, d11 80ce602: ed10 3b16 vldr d3, [r0, #-88] ; 0xffffffa8 80ce606: ee0a 9b03 vmla.f64 d9, d10, d3 80ce60a: ee2f 8b0b vmul.f64 d8, d15, d11 80ce60e: ee0d 8b06 vmla.f64 d8, d13, d6 80ce612: ee0c 8b03 vmla.f64 d8, d12, d3 80ce616: ee0e 8b09 vmla.f64 d8, d14, d9 80ce61a: ed10 6b14 vldr d6, [r0, #-80] ; 0xffffffb0 80ce61e: ee0a 8b06 vmla.f64 d8, d10, d6 80ce622: ee2f 0b09 vmul.f64 d0, d15, d9 80ce626: ee0d 0b03 vmla.f64 d0, d13, d3 80ce62a: ed10 6b14 vldr d6, [r0, #-80] ; 0xffffffb0 80ce62e: ee0c 0b06 vmla.f64 d0, d12, d6 80ce632: ee0e 0b08 vmla.f64 d0, d14, d8 80ce636: ed10 6b12 vldr d6, [r0, #-72] ; 0xffffffb8 80ce63a: ee0a 0b06 vmla.f64 d0, d10, d6 80ce63e: ee2f 1b08 vmul.f64 d1, d15, d8 80ce642: ed10 6b14 vldr d6, [r0, #-80] ; 0xffffffb0 80ce646: ee0d 1b06 vmla.f64 d1, d13, d6 80ce64a: ed10 6b12 vldr d6, [r0, #-72] ; 0xffffffb8 80ce64e: ee0c 1b06 vmla.f64 d1, d12, d6 80ce652: ee0e 1b00 vmla.f64 d1, d14, d0 80ce656: ed10 6b10 vldr d6, [r0, #-64] ; 0xffffffc0 80ce65a: ee0a 1b06 vmla.f64 d1, d10, d6 80ce65e: ee2f 2b00 vmul.f64 d2, d15, d0 80ce662: ed10 6b12 vldr d6, [r0, #-72] ; 0xffffffb8 80ce666: ee0d 2b06 vmla.f64 d2, d13, d6 80ce66a: ed10 6b10 vldr d6, [r0, #-64] ; 0xffffffc0 80ce66e: ee0c 2b06 vmla.f64 d2, d12, d6 80ce672: ee0e 2b01 vmla.f64 d2, d14, d1 80ce676: ed10 6b0e vldr d6, [r0, #-56] ; 0xffffffc8 80ce67a: ee0a 2b06 vmla.f64 d2, d10, d6 80ce67e: ee2f 3b01 vmul.f64 d3, d15, d1 80ce682: ed10 6b10 vldr d6, [r0, #-64] ; 0xffffffc0 80ce686: ee0d 3b06 vmla.f64 d3, d13, d6 80ce68a: ed10 6b0e vldr d6, [r0, #-56] ; 0xffffffc8 80ce68e: ee0c 3b06 vmla.f64 d3, d12, d6 80ce692: ee0e 3b02 vmla.f64 d3, d14, d2 80ce696: ed10 6b0c vldr d6, [r0, #-48] ; 0xffffffd0 80ce69a: ee0a 3b06 vmla.f64 d3, d10, d6 80ce69e: ee2f 4b02 vmul.f64 d4, d15, d2 80ce6a2: ed10 6b0e vldr d6, [r0, #-56] ; 0xffffffc8 80ce6a6: ee0d 4b06 vmla.f64 d4, d13, d6 80ce6aa: ed10 6b0c vldr d6, [r0, #-48] ; 0xffffffd0 80ce6ae: ee0c 4b06 vmla.f64 d4, d12, d6 80ce6b2: ee0e 4b03 vmla.f64 d4, d14, d3 80ce6b6: ed10 6b0a vldr d6, [r0, #-40] ; 0xffffffd8 80ce6ba: ee0a 4b06 vmla.f64 d4, d10, d6 80ce6be: ee2f 5b03 vmul.f64 d5, d15, d3 80ce6c2: ed10 6b0c vldr d6, [r0, #-48] ; 0xffffffd0 80ce6c6: ee0d 5b06 vmla.f64 d5, d13, d6 80ce6ca: ed10 6b0a vldr d6, [r0, #-40] ; 0xffffffd8 80ce6ce: ee0c 5b06 vmla.f64 d5, d12, d6 80ce6d2: ed8d 4b02 vstr d4, [sp, #8] 80ce6d6: ee0e 5b04 vmla.f64 d5, d14, d4 80ce6da: ed9d 4b00 vldr d4, [sp] 80ce6de: ee0a 5b04 vmla.f64 d5, d10, d4 80ce6e2: ed8d 5b00 vstr d5, [sp] 80ce6e6: ed9d 6b02 vldr d6, [sp, #8] 80ce6ea: ee2f 6b06 vmul.f64 d6, d15, d6 80ce6ee: ed10 5b0a vldr d5, [r0, #-40] ; 0xffffffd8 80ce6f2: ee0d 6b05 vmla.f64 d6, d13, d5 80ce6f6: ee0c 6b04 vmla.f64 d6, d12, d4 80ce6fa: ed9d 5b04 vldr d5, [sp, #16] 80ce6fe: ed03 5b20 vstr d5, [r3, #-128] ; 0xffffff80 80ce702: ed9d 5b06 vldr d5, [sp, #24] 80ce706: ed03 5b1e vstr d5, [r3, #-120] ; 0xffffff88 80ce70a: ed9d 5b08 vldr d5, [sp, #32] 80ce70e: ed03 5b1c vstr d5, [r3, #-112] ; 0xffffff90 80ce712: ed9d 5b00 vldr d5, [sp] 80ce716: ee0e 6b05 vmla.f64 d6, d14, d5 80ce71a: ed9d 5b0a vldr d5, [sp, #40] ; 0x28 80ce71e: ee0a 6b05 vmla.f64 d6, d10, d5 80ce722: ed03 7b1a vstr d7, [r3, #-104] ; 0xffffff98 80ce726: ed9d 7b00 vldr d7, [sp] 80ce72a: ee2f 7b07 vmul.f64 d7, d15, d7 80ce72e: ee0d 7b04 vmla.f64 d7, d13, d4 80ce732: ee0c 7b05 vmla.f64 d7, d12, d5 80ce736: ed03 bb18 vstr d11, [r3, #-96] ; 0xffffffa0 80ce73a: ed03 9b16 vstr d9, [r3, #-88] ; 0xffffffa8 80ce73e: ed03 8b14 vstr d8, [r3, #-80] ; 0xffffffb0 80ce742: ed03 0b12 vstr d0, [r3, #-72] ; 0xffffffb8 80ce746: ed03 1b10 vstr d1, [r3, #-64] ; 0xffffffc0 80ce74a: ee0e 7b06 vmla.f64 d7, d14, d6 80ce74e: ed9d 4b0c vldr d4, [sp, #48] ; 0x30 80ce752: ee0a 7b04 vmla.f64 d7, d10, d4 80ce756: ed03 2b0e vstr d2, [r3, #-56] ; 0xffffffc8 80ce75a: ee2f 2b06 vmul.f64 d2, d15, d6 80ce75e: ee0d 2b05 vmla.f64 d2, d13, d5 80ce762: ee0c 2b04 vmla.f64 d2, d12, d4 80ce766: ed03 3b0c vstr d3, [r3, #-48] ; 0xffffffd0 80ce76a: ed9d 3b02 vldr d3, [sp, #8] 80ce76e: ed03 3b0a vstr d3, [r3, #-40] ; 0xffffffd8 80ce772: ed9d 5b00 vldr d5, [sp] 80ce776: ed03 5b08 vstr d5, [r3, #-32] ; 0xffffffe0 80ce77a: ed03 6b06 vstr d6, [r3, #-24] ; 0xffffffe8 80ce77e: ee0e 2b07 vmla.f64 d2, d14, d7 80ce782: ed9d 8b0e vldr d8, [sp, #56] ; 0x38 80ce786: ee0a 2b08 vmla.f64 d2, d10, d8 80ce78a: ed03 7b04 vstr d7, [r3, #-16] 80ce78e: ee2f 6b07 vmul.f64 d6, d15, d7 80ce792: ee0d 6b04 vmla.f64 d6, d13, d4 80ce796: ee0c 6b08 vmla.f64 d6, d12, d8 80ce79a: ed03 2b02 vstr d2, [r3, #-8] 80ce79e: ee0e 6b02 vmla.f64 d6, d14, d2 80ce7a2: ee2f 2b02 vmul.f64 d2, d15, d2 80ce7a6: ee0d 2b08 vmla.f64 d2, d13, d8 80ce7aa: 3080 adds r0, #128 ; 0x80 80ce7ac: 3380 adds r3, #128 ; 0x80 80ce7ae: f1be 0e01 subs.w lr, lr, #1 80ce7b2: f47f aed4 bne.w 80ce55e 80ce7b6: eeb0 7b42 vmov.f64 d7, d2 80ce7ba: 4451 add r1, sl 80ce7bc: 4658 mov r0, fp 80ce7be: e000 b.n 80ce7c2 80ce7c0: 4640 mov r0, r8 80ce7c2: 4613 mov r3, r2 80ce7c4: b19a cbz r2, 80ce7ee 80ce7c6: ecb1 5b02 vldmia r1!, {d5} 80ce7ca: ee0a 6b05 vmla.f64 d6, d10, d5 80ce7ce: eeb0 4b46 vmov.f64 d4, d6 80ce7d2: ee0c 7b05 vmla.f64 d7, d12, d5 80ce7d6: eca0 6b02 vstmia r0!, {d6} 80ce7da: ee0e 7b06 vmla.f64 d7, d14, d6 80ce7de: eeb0 6b47 vmov.f64 d6, d7 80ce7e2: ee2f 7b04 vmul.f64 d7, d15, d4 80ce7e6: ee0d 7b05 vmla.f64 d7, d13, d5 80ce7ea: 3b01 subs r3, #1 80ce7ec: d1eb bne.n 80ce7c6 80ce7ee: ed04 6b04 vstr d6, [r4, #-16] 80ce7f2: ed04 7b02 vstr d7, [r4, #-8] 80ce7f6: 3528 adds r5, #40 ; 0x28 80ce7f8: 3610 adds r6, #16 80ce7fa: 4641 mov r1, r8 80ce7fc: 3f01 subs r7, #1 80ce7fe: f47f ae93 bne.w 80ce528 80ce802: b013 add sp, #76 ; 0x4c 80ce804: ecbd 8b10 vpop {d8-d15} 80ce808: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 080ce80c : 80ce80c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80ce810: ea5f 0892 movs.w r8, r2, lsr #2 80ce814: b084 sub sp, #16 80ce816: d07f beq.n 80ce918 80ce818: f100 0420 add.w r4, r0, #32 80ce81c: f101 0510 add.w r5, r1, #16 80ce820: 4646 mov r6, r8 80ce822: 2700 movs r7, #0 80ce824: e05a b.n 80ce8dc 80ce826: eeb1 0ae7 vsqrt.f32 s0, s15 80ce82a: eeb4 0a40 vcmp.f32 s0, s0 80ce82e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce832: f040 80a4 bne.w 80ce97e 80ce836: ed05 0a04 vstr s0, [r5, #-16] 80ce83a: ed54 7a06 vldr s15, [r4, #-24] ; 0xffffffe8 80ce83e: ed14 0a05 vldr s0, [r4, #-20] ; 0xffffffec 80ce842: ee67 7aa7 vmul.f32 s15, s15, s15 80ce846: ee20 0a00 vmul.f32 s0, s0, s0 80ce84a: ee77 7a80 vadd.f32 s15, s15, s0 80ce84e: eef5 7ac0 vcmpe.f32 s15, #0.0 80ce852: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce856: f2c0 808f blt.w 80ce978 80ce85a: eeb1 0ae7 vsqrt.f32 s0, s15 80ce85e: eeb4 0a40 vcmp.f32 s0, s0 80ce862: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce866: f040 80af bne.w 80ce9c8 80ce86a: ed05 0a03 vstr s0, [r5, #-12] 80ce86e: ed54 7a04 vldr s15, [r4, #-16] 80ce872: ed14 0a03 vldr s0, [r4, #-12] 80ce876: ee67 7aa7 vmul.f32 s15, s15, s15 80ce87a: ee20 0a00 vmul.f32 s0, s0, s0 80ce87e: ee77 7a80 vadd.f32 s15, s15, s0 80ce882: eef5 7ac0 vcmpe.f32 s15, #0.0 80ce886: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce88a: db72 blt.n 80ce972 80ce88c: eeb1 0ae7 vsqrt.f32 s0, s15 80ce890: eeb4 0a40 vcmp.f32 s0, s0 80ce894: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce898: f040 808c bne.w 80ce9b4 80ce89c: ed05 0a02 vstr s0, [r5, #-8] 80ce8a0: ed54 7a02 vldr s15, [r4, #-8] 80ce8a4: ed14 0a01 vldr s0, [r4, #-4] 80ce8a8: ee67 7aa7 vmul.f32 s15, s15, s15 80ce8ac: ee20 0a00 vmul.f32 s0, s0, s0 80ce8b0: ee77 7a80 vadd.f32 s15, s15, s0 80ce8b4: eef5 7ac0 vcmpe.f32 s15, #0.0 80ce8b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce8bc: db20 blt.n 80ce900 80ce8be: eeb1 0ae7 vsqrt.f32 s0, s15 80ce8c2: eeb4 0a40 vcmp.f32 s0, s0 80ce8c6: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce8ca: d169 bne.n 80ce9a0 80ce8cc: 3e01 subs r6, #1 80ce8ce: ed05 0a01 vstr s0, [r5, #-4] 80ce8d2: f104 0420 add.w r4, r4, #32 80ce8d6: f105 0510 add.w r5, r5, #16 80ce8da: d019 beq.n 80ce910 80ce8dc: ed54 7a08 vldr s15, [r4, #-32] ; 0xffffffe0 80ce8e0: ed14 0a07 vldr s0, [r4, #-28] ; 0xffffffe4 80ce8e4: ee67 7aa7 vmul.f32 s15, s15, s15 80ce8e8: ee20 0a00 vmul.f32 s0, s0, s0 80ce8ec: ee77 7a80 vadd.f32 s15, s15, s0 80ce8f0: eef5 7ac0 vcmpe.f32 s15, #0.0 80ce8f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce8f8: da95 bge.n 80ce826 80ce8fa: f845 7c10 str.w r7, [r5, #-16] 80ce8fe: e79c b.n 80ce83a 80ce900: 3e01 subs r6, #1 80ce902: f845 7c04 str.w r7, [r5, #-4] 80ce906: f104 0420 add.w r4, r4, #32 80ce90a: f105 0510 add.w r5, r5, #16 80ce90e: d1e5 bne.n 80ce8dc 80ce910: eb00 1048 add.w r0, r0, r8, lsl #5 80ce914: eb01 1108 add.w r1, r1, r8, lsl #4 80ce918: f012 0503 ands.w r5, r2, #3 80ce91c: d026 beq.n 80ce96c 80ce91e: f100 0408 add.w r4, r0, #8 80ce922: 2600 movs r6, #0 80ce924: e00c b.n 80ce940 80ce926: eeb1 0ae7 vsqrt.f32 s0, s15 80ce92a: eeb4 0a40 vcmp.f32 s0, s0 80ce92e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce932: d12e bne.n 80ce992 80ce934: 3d01 subs r5, #1 80ce936: ed01 0a01 vstr s0, [r1, #-4] 80ce93a: f104 0408 add.w r4, r4, #8 80ce93e: d015 beq.n 80ce96c 80ce940: ed54 7a02 vldr s15, [r4, #-8] 80ce944: 3104 adds r1, #4 80ce946: ed14 0a01 vldr s0, [r4, #-4] 80ce94a: ee67 7aa7 vmul.f32 s15, s15, s15 80ce94e: ee20 0a00 vmul.f32 s0, s0, s0 80ce952: ee77 7a80 vadd.f32 s15, s15, s0 80ce956: eef5 7ac0 vcmpe.f32 s15, #0.0 80ce95a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ce95e: dae2 bge.n 80ce926 80ce960: 3d01 subs r5, #1 80ce962: f841 6c04 str.w r6, [r1, #-4] 80ce966: f104 0408 add.w r4, r4, #8 80ce96a: d1e9 bne.n 80ce940 80ce96c: b004 add sp, #16 80ce96e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80ce972: f845 7c08 str.w r7, [r5, #-8] 80ce976: e793 b.n 80ce8a0 80ce978: f845 7c0c str.w r7, [r5, #-12] 80ce97c: e777 b.n 80ce86e 80ce97e: eeb0 0a67 vmov.f32 s0, s15 80ce982: 9203 str r2, [sp, #12] 80ce984: 9102 str r1, [sp, #8] 80ce986: 9001 str r0, [sp, #4] 80ce988: f000 fe0a bl 80cf5a0 80ce98c: a801 add r0, sp, #4 80ce98e: c807 ldmia r0, {r0, r1, r2} 80ce990: e751 b.n 80ce836 80ce992: eeb0 0a67 vmov.f32 s0, s15 80ce996: 9101 str r1, [sp, #4] 80ce998: f000 fe02 bl 80cf5a0 80ce99c: 9901 ldr r1, [sp, #4] 80ce99e: e7c9 b.n 80ce934 80ce9a0: eeb0 0a67 vmov.f32 s0, s15 80ce9a4: 9203 str r2, [sp, #12] 80ce9a6: 9102 str r1, [sp, #8] 80ce9a8: 9001 str r0, [sp, #4] 80ce9aa: f000 fdf9 bl 80cf5a0 80ce9ae: a801 add r0, sp, #4 80ce9b0: c807 ldmia r0, {r0, r1, r2} 80ce9b2: e78b b.n 80ce8cc 80ce9b4: eeb0 0a67 vmov.f32 s0, s15 80ce9b8: 9203 str r2, [sp, #12] 80ce9ba: 9102 str r1, [sp, #8] 80ce9bc: 9001 str r0, [sp, #4] 80ce9be: f000 fdef bl 80cf5a0 80ce9c2: a801 add r0, sp, #4 80ce9c4: c807 ldmia r0, {r0, r1, r2} 80ce9c6: e769 b.n 80ce89c 80ce9c8: eeb0 0a67 vmov.f32 s0, s15 80ce9cc: 9203 str r2, [sp, #12] 80ce9ce: 9102 str r1, [sp, #8] 80ce9d0: 9001 str r0, [sp, #4] 80ce9d2: f000 fde5 bl 80cf5a0 80ce9d6: a801 add r0, sp, #4 80ce9d8: c807 ldmia r0, {r0, r1, r2} 80ce9da: e746 b.n 80ce86a 080ce9dc : 80ce9dc: b5f0 push {r4, r5, r6, r7, lr} 80ce9de: ea5f 0e93 movs.w lr, r3, lsr #2 80ce9e2: d033 beq.n 80cea4c 80ce9e4: f100 0610 add.w r6, r0, #16 80ce9e8: f101 0510 add.w r5, r1, #16 80ce9ec: f102 0410 add.w r4, r2, #16 80ce9f0: 4677 mov r7, lr 80ce9f2: ed16 7a03 vldr s14, [r6, #-12] 80ce9f6: 3f01 subs r7, #1 80ce9f8: ed56 7a02 vldr s15, [r6, #-8] 80ce9fc: f105 0510 add.w r5, r5, #16 80cea00: ed15 6a07 vldr s12, [r5, #-28] ; 0xffffffe4 80cea04: f106 0610 add.w r6, r6, #16 80cea08: ed55 6a06 vldr s13, [r5, #-24] ; 0xffffffe8 80cea0c: f104 0410 add.w r4, r4, #16 80cea10: ed15 5a05 vldr s10, [r5, #-20] ; 0xffffffec 80cea14: ee37 6a46 vsub.f32 s12, s14, s12 80cea18: ed55 5a08 vldr s11, [r5, #-32] ; 0xffffffe0 80cea1c: ee77 6ae6 vsub.f32 s13, s15, s13 80cea20: ed16 7a05 vldr s14, [r6, #-20] ; 0xffffffec 80cea24: ed56 7a08 vldr s15, [r6, #-32] ; 0xffffffe0 80cea28: ee37 7a45 vsub.f32 s14, s14, s10 80cea2c: ed04 6a07 vstr s12, [r4, #-28] ; 0xffffffe4 80cea30: ee77 7ae5 vsub.f32 s15, s15, s11 80cea34: ed44 6a06 vstr s13, [r4, #-24] ; 0xffffffe8 80cea38: ed04 7a05 vstr s14, [r4, #-20] ; 0xffffffec 80cea3c: ed44 7a08 vstr s15, [r4, #-32] ; 0xffffffe0 80cea40: d1d7 bne.n 80ce9f2 80cea42: ea4f 140e mov.w r4, lr, lsl #4 80cea46: 4420 add r0, r4 80cea48: 4421 add r1, r4 80cea4a: 4422 add r2, r4 80cea4c: f013 0303 ands.w r3, r3, #3 80cea50: d009 beq.n 80cea66 80cea52: ecf0 7a01 vldmia r0!, {s15} 80cea56: 3b01 subs r3, #1 80cea58: ecb1 7a01 vldmia r1!, {s14} 80cea5c: ee77 7ac7 vsub.f32 s15, s15, s14 80cea60: ece2 7a01 vstmia r2!, {s15} 80cea64: d1f5 bne.n 80cea52 80cea66: bdf0 pop {r4, r5, r6, r7, pc} 080cea68 : 80cea68: b470 push {r4, r5, r6} 80cea6a: 0896 lsrs r6, r2, #2 80cea6c: d025 beq.n 80ceaba 80cea6e: f100 0410 add.w r4, r0, #16 80cea72: f101 0310 add.w r3, r1, #16 80cea76: 4635 mov r5, r6 80cea78: ed14 6a04 vldr s12, [r4, #-16] 80cea7c: 3d01 subs r5, #1 80cea7e: ed54 6a03 vldr s13, [r4, #-12] 80cea82: f103 0310 add.w r3, r3, #16 80cea86: ed14 7a02 vldr s14, [r4, #-8] 80cea8a: ee26 6a00 vmul.f32 s12, s12, s0 80cea8e: ed54 7a01 vldr s15, [r4, #-4] 80cea92: ee66 6a80 vmul.f32 s13, s13, s0 80cea96: ee27 7a00 vmul.f32 s14, s14, s0 80cea9a: f104 0410 add.w r4, r4, #16 80cea9e: ee67 7a80 vmul.f32 s15, s15, s0 80ceaa2: ed03 6a08 vstr s12, [r3, #-32] ; 0xffffffe0 80ceaa6: ed43 6a07 vstr s13, [r3, #-28] ; 0xffffffe4 80ceaaa: ed03 7a06 vstr s14, [r3, #-24] ; 0xffffffe8 80ceaae: ed43 7a05 vstr s15, [r3, #-20] ; 0xffffffec 80ceab2: d1e1 bne.n 80cea78 80ceab4: 0136 lsls r6, r6, #4 80ceab6: 4430 add r0, r6 80ceab8: 4431 add r1, r6 80ceaba: f012 0203 ands.w r2, r2, #3 80ceabe: d007 beq.n 80cead0 80ceac0: ecf0 7a01 vldmia r0!, {s15} 80ceac4: 3a01 subs r2, #1 80ceac6: ee67 7a80 vmul.f32 s15, s15, s0 80ceaca: ece1 7a01 vstmia r1!, {s15} 80ceace: d1f7 bne.n 80ceac0 80cead0: bc70 pop {r4, r5, r6} 80cead2: 4770 bx lr 080cead4 : 80cead4: b470 push {r4, r5, r6} 80cead6: 0896 lsrs r6, r2, #2 80cead8: d025 beq.n 80ceb26 80ceada: f100 0410 add.w r4, r0, #16 80ceade: f101 0310 add.w r3, r1, #16 80ceae2: 4635 mov r5, r6 80ceae4: ed14 6a04 vldr s12, [r4, #-16] 80ceae8: 3d01 subs r5, #1 80ceaea: ed54 6a03 vldr s13, [r4, #-12] 80ceaee: f103 0310 add.w r3, r3, #16 80ceaf2: ed14 7a02 vldr s14, [r4, #-8] 80ceaf6: ee36 6a00 vadd.f32 s12, s12, s0 80ceafa: ed54 7a01 vldr s15, [r4, #-4] 80ceafe: ee76 6a80 vadd.f32 s13, s13, s0 80ceb02: ee37 7a00 vadd.f32 s14, s14, s0 80ceb06: f104 0410 add.w r4, r4, #16 80ceb0a: ee77 7a80 vadd.f32 s15, s15, s0 80ceb0e: ed03 6a08 vstr s12, [r3, #-32] ; 0xffffffe0 80ceb12: ed43 6a07 vstr s13, [r3, #-28] ; 0xffffffe4 80ceb16: ed03 7a06 vstr s14, [r3, #-24] ; 0xffffffe8 80ceb1a: ed43 7a05 vstr s15, [r3, #-20] ; 0xffffffec 80ceb1e: d1e1 bne.n 80ceae4 80ceb20: 0136 lsls r6, r6, #4 80ceb22: 4430 add r0, r6 80ceb24: 4431 add r1, r6 80ceb26: f012 0203 ands.w r2, r2, #3 80ceb2a: d007 beq.n 80ceb3c 80ceb2c: ecf0 7a01 vldmia r0!, {s15} 80ceb30: 3a01 subs r2, #1 80ceb32: ee77 7a80 vadd.f32 s15, s15, s0 80ceb36: ece1 7a01 vstmia r1!, {s15} 80ceb3a: d1f7 bne.n 80ceb2c 80ceb3c: bc70 pop {r4, r5, r6} 80ceb3e: 4770 bx lr 080ceb40 : 80ceb40: b5f0 push {r4, r5, r6, r7, lr} 80ceb42: ea5f 0e93 movs.w lr, r3, lsr #2 80ceb46: d033 beq.n 80cebb0 80ceb48: f100 0610 add.w r6, r0, #16 80ceb4c: f101 0510 add.w r5, r1, #16 80ceb50: f102 0410 add.w r4, r2, #16 80ceb54: 4677 mov r7, lr 80ceb56: ed16 7a04 vldr s14, [r6, #-16] 80ceb5a: 3f01 subs r7, #1 80ceb5c: ed15 6a04 vldr s12, [r5, #-16] 80ceb60: f106 0610 add.w r6, r6, #16 80ceb64: ed56 7a06 vldr s15, [r6, #-24] ; 0xffffffe8 80ceb68: f105 0510 add.w r5, r5, #16 80ceb6c: ee27 6a06 vmul.f32 s12, s14, s12 80ceb70: ed55 6a06 vldr s13, [r5, #-24] ; 0xffffffe8 80ceb74: ed16 7a07 vldr s14, [r6, #-28] ; 0xffffffe4 80ceb78: f104 0410 add.w r4, r4, #16 80ceb7c: ed55 5a07 vldr s11, [r5, #-28] ; 0xffffffe4 80ceb80: ee67 6aa6 vmul.f32 s13, s15, s13 80ceb84: ed56 7a05 vldr s15, [r6, #-20] ; 0xffffffec 80ceb88: ed04 6a08 vstr s12, [r4, #-32] ; 0xffffffe0 80ceb8c: ee27 7a25 vmul.f32 s14, s14, s11 80ceb90: ed15 6a05 vldr s12, [r5, #-20] ; 0xffffffec 80ceb94: ed44 6a06 vstr s13, [r4, #-24] ; 0xffffffe8 80ceb98: ee67 7a86 vmul.f32 s15, s15, s12 80ceb9c: ed04 7a07 vstr s14, [r4, #-28] ; 0xffffffe4 80ceba0: ed44 7a05 vstr s15, [r4, #-20] ; 0xffffffec 80ceba4: d1d7 bne.n 80ceb56 80ceba6: ea4f 140e mov.w r4, lr, lsl #4 80cebaa: 4420 add r0, r4 80cebac: 4421 add r1, r4 80cebae: 4422 add r2, r4 80cebb0: f013 0303 ands.w r3, r3, #3 80cebb4: d009 beq.n 80cebca 80cebb6: ecf0 7a01 vldmia r0!, {s15} 80cebba: 3b01 subs r3, #1 80cebbc: ecb1 7a01 vldmia r1!, {s14} 80cebc0: ee67 7a87 vmul.f32 s15, s15, s14 80cebc4: ece2 7a01 vstmia r2!, {s15} 80cebc8: d1f5 bne.n 80cebb6 80cebca: bdf0 pop {r4, r5, r6, r7, pc} 080cebcc : 80cebcc: b5f0 push {r4, r5, r6, r7, lr} 80cebce: ea5f 0e93 movs.w lr, r3, lsr #2 80cebd2: d033 beq.n 80cec3c 80cebd4: f100 0610 add.w r6, r0, #16 80cebd8: f101 0510 add.w r5, r1, #16 80cebdc: f102 0410 add.w r4, r2, #16 80cebe0: 4677 mov r7, lr 80cebe2: ed16 7a03 vldr s14, [r6, #-12] 80cebe6: 3f01 subs r7, #1 80cebe8: ed56 7a02 vldr s15, [r6, #-8] 80cebec: f105 0510 add.w r5, r5, #16 80cebf0: ed15 6a07 vldr s12, [r5, #-28] ; 0xffffffe4 80cebf4: f106 0610 add.w r6, r6, #16 80cebf8: ed55 6a06 vldr s13, [r5, #-24] ; 0xffffffe8 80cebfc: f104 0410 add.w r4, r4, #16 80cec00: ed15 5a05 vldr s10, [r5, #-20] ; 0xffffffec 80cec04: ee37 6a06 vadd.f32 s12, s14, s12 80cec08: ed55 5a08 vldr s11, [r5, #-32] ; 0xffffffe0 80cec0c: ee77 6aa6 vadd.f32 s13, s15, s13 80cec10: ed16 7a05 vldr s14, [r6, #-20] ; 0xffffffec 80cec14: ed56 7a08 vldr s15, [r6, #-32] ; 0xffffffe0 80cec18: ee37 7a05 vadd.f32 s14, s14, s10 80cec1c: ed04 6a07 vstr s12, [r4, #-28] ; 0xffffffe4 80cec20: ee77 7aa5 vadd.f32 s15, s15, s11 80cec24: ed44 6a06 vstr s13, [r4, #-24] ; 0xffffffe8 80cec28: ed04 7a05 vstr s14, [r4, #-20] ; 0xffffffec 80cec2c: ed44 7a08 vstr s15, [r4, #-32] ; 0xffffffe0 80cec30: d1d7 bne.n 80cebe2 80cec32: ea4f 140e mov.w r4, lr, lsl #4 80cec36: 4420 add r0, r4 80cec38: 4421 add r1, r4 80cec3a: 4422 add r2, r4 80cec3c: f013 0303 ands.w r3, r3, #3 80cec40: d009 beq.n 80cec56 80cec42: ecf0 7a01 vldmia r0!, {s15} 80cec46: 3b01 subs r3, #1 80cec48: ecb1 7a01 vldmia r1!, {s14} 80cec4c: ee77 7a87 vadd.f32 s15, s15, s14 80cec50: ece2 7a01 vstmia r2!, {s15} 80cec54: d1f5 bne.n 80cec42 80cec56: bdf0 pop {r4, r5, r6, r7, pc} 080cec58 : 80cec58: f000 b806 b.w 80cec68 080cec5c : 80cec5c: f000 b8fc b.w 80cee58 080cec60 : 80cec60: f000 b9ca b.w 80ceff8 080cec64 : 80cec64: f000 ba38 b.w 80cf0d8 080cec68 : 80cec68: b538 push {r3, r4, r5, lr} 80cec6a: eeb0 7b40 vmov.f64 d7, d0 80cec6e: ee17 5a90 vmov r5, s15 80cec72: 4b71 ldr r3, [pc, #452] ; (80cee38 ) 80cec74: f025 4400 bic.w r4, r5, #2147483648 ; 0x80000000 80cec78: 429c cmp r4, r3 80cec7a: dd14 ble.n 80ceca6 80cec7c: 4a6f ldr r2, [pc, #444] ; (80cee3c ) 80cec7e: 4294 cmp r4, r2 80cec80: ee10 3a10 vmov r3, s0 80cec84: dc01 bgt.n 80cec8a 80cec86: d105 bne.n 80cec94 80cec88: b123 cbz r3, 80cec94 80cec8a: ee37 7b07 vadd.f64 d7, d7, d7 80cec8e: eeb0 0b47 vmov.f64 d0, d7 80cec92: bd38 pop {r3, r4, r5, pc} 80cec94: ed9f 7b4c vldr d7, [pc, #304] ; 80cedc8 80cec98: ed9f 6b4d vldr d6, [pc, #308] ; 80cedd0 80cec9c: 2d00 cmp r5, #0 80cec9e: bfc8 it gt 80ceca0: eeb0 7b46 vmovgt.f64 d7, d6 80ceca4: e7f3 b.n 80cec8e 80ceca6: 4b66 ldr r3, [pc, #408] ; (80cee40 ) 80ceca8: 429c cmp r4, r3 80cecaa: dc11 bgt.n 80cecd0 80cecac: f1a3 73de sub.w r3, r3, #29097984 ; 0x1bc0000 80cecb0: 429c cmp r4, r3 80cecb2: dc0a bgt.n 80cecca 80cecb4: eeb7 5b00 vmov.f64 d5, #112 ; 0x3f800000 1.0 80cecb8: ed9f 6b47 vldr d6, [pc, #284] ; 80cedd8 80cecbc: ee30 6b06 vadd.f64 d6, d0, d6 80cecc0: eeb4 6bc5 vcmpe.f64 d6, d5 80cecc4: eef1 fa10 vmrs APSR_nzcv, fpscr 80cecc8: dce1 bgt.n 80cec8e 80cecca: f04f 33ff mov.w r3, #4294967295 80cecce: e013 b.n 80cecf8 80cecd0: f000 f8fe bl 80ceed0 80cecd4: 4b5b ldr r3, [pc, #364] ; (80cee44 ) 80cecd6: 429c cmp r4, r3 80cecd8: dc4d bgt.n 80ced76 80cecda: f5a3 2350 sub.w r3, r3, #851968 ; 0xd0000 80cecde: 429c cmp r4, r3 80cece0: dc3f bgt.n 80ced62 80cece2: eeb0 7b00 vmov.f64 d7, #0 ; 0x40000000 2.0 80cece6: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80cecea: 2300 movs r3, #0 80cecec: eea0 6b07 vfma.f64 d6, d0, d7 80cecf0: ee30 0b07 vadd.f64 d0, d0, d7 80cecf4: ee86 7b00 vdiv.f64 d7, d6, d0 80cecf8: ed9f 5b39 vldr d5, [pc, #228] ; 80cede0 80cecfc: ee27 4b07 vmul.f64 d4, d7, d7 80ced00: ee24 6b04 vmul.f64 d6, d4, d4 80ced04: ed9f 3b38 vldr d3, [pc, #224] ; 80cede8 80ced08: eea6 3b05 vfma.f64 d3, d6, d5 80ced0c: ed9f 5b38 vldr d5, [pc, #224] ; 80cedf0 80ced10: eea6 5b03 vfma.f64 d5, d6, d3 80ced14: ed9f 3b38 vldr d3, [pc, #224] ; 80cedf8 80ced18: eea6 3b05 vfma.f64 d3, d6, d5 80ced1c: ed9f 5b38 vldr d5, [pc, #224] ; 80cee00 80ced20: eea6 5b03 vfma.f64 d5, d6, d3 80ced24: ed9f 3b38 vldr d3, [pc, #224] ; 80cee08 80ced28: ed9f 2b39 vldr d2, [pc, #228] ; 80cee10 80ced2c: eea6 3b05 vfma.f64 d3, d6, d5 80ced30: ed9f 5b39 vldr d5, [pc, #228] ; 80cee18 80ced34: eea6 2b05 vfma.f64 d2, d6, d5 80ced38: ed9f 5b39 vldr d5, [pc, #228] ; 80cee20 80ced3c: eea6 5b02 vfma.f64 d5, d6, d2 80ced40: ed9f 2b39 vldr d2, [pc, #228] ; 80cee28 80ced44: eea6 2b05 vfma.f64 d2, d6, d5 80ced48: ed9f 5b39 vldr d5, [pc, #228] ; 80cee30 80ced4c: 1c5a adds r2, r3, #1 80ced4e: eea6 5b02 vfma.f64 d5, d6, d2 80ced52: ee25 6b06 vmul.f64 d6, d5, d6 80ced56: ee03 6b04 vmla.f64 d6, d3, d4 80ced5a: d121 bne.n 80ceda0 80ced5c: eea7 7b46 vfms.f64 d7, d7, d6 80ced60: e795 b.n 80cec8e 80ced62: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80ced66: 2301 movs r3, #1 80ced68: ee30 6b47 vsub.f64 d6, d0, d7 80ced6c: ee30 0b07 vadd.f64 d0, d0, d7 80ced70: ee86 7b00 vdiv.f64 d7, d6, d0 80ced74: e7c0 b.n 80cecf8 80ced76: 4b34 ldr r3, [pc, #208] ; (80cee48 ) 80ced78: 429c cmp r4, r3 80ced7a: dc0b bgt.n 80ced94 80ced7c: eeb7 7b08 vmov.f64 d7, #120 ; 0x3fc00000 1.5 80ced80: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80ced84: ee30 5b47 vsub.f64 d5, d0, d7 80ced88: eea0 6b07 vfma.f64 d6, d0, d7 80ced8c: 2302 movs r3, #2 80ced8e: ee85 7b06 vdiv.f64 d7, d5, d6 80ced92: e7b1 b.n 80cecf8 80ced94: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80ced98: 2303 movs r3, #3 80ced9a: ee86 7b00 vdiv.f64 d7, d6, d0 80ced9e: e7ab b.n 80cecf8 80ceda0: 4a2a ldr r2, [pc, #168] ; (80cee4c ) 80ceda2: 492b ldr r1, [pc, #172] ; (80cee50 ) 80ceda4: 00db lsls r3, r3, #3 80ceda6: 441a add r2, r3 80ceda8: 440b add r3, r1 80cedaa: ed93 5b00 vldr d5, [r3] 80cedae: ee97 5b06 vfnms.f64 d5, d7, d6 80cedb2: ed92 6b00 vldr d6, [r2] 80cedb6: ee35 7b47 vsub.f64 d7, d5, d7 80cedba: 2d00 cmp r5, #0 80cedbc: ee36 7b47 vsub.f64 d7, d6, d7 80cedc0: bfb8 it lt 80cedc2: eeb1 7b47 vneglt.f64 d7, d7 80cedc6: e762 b.n 80cec8e 80cedc8: 54442d18 .word 0x54442d18 80cedcc: bff921fb .word 0xbff921fb 80cedd0: 54442d18 .word 0x54442d18 80cedd4: 3ff921fb .word 0x3ff921fb 80cedd8: 8800759c .word 0x8800759c 80ceddc: 7e37e43c .word 0x7e37e43c 80cede0: e322da11 .word 0xe322da11 80cede4: 3f90ad3a .word 0x3f90ad3a 80cede8: 24760deb .word 0x24760deb 80cedec: 3fa97b4b .word 0x3fa97b4b 80cedf0: a0d03d51 .word 0xa0d03d51 80cedf4: 3fb10d66 .word 0x3fb10d66 80cedf8: c54c206e .word 0xc54c206e 80cedfc: 3fb745cd .word 0x3fb745cd 80cee00: 920083ff .word 0x920083ff 80cee04: 3fc24924 .word 0x3fc24924 80cee08: 5555550d .word 0x5555550d 80cee0c: 3fd55555 .word 0x3fd55555 80cee10: 52defd9a .word 0x52defd9a 80cee14: bfadde2d .word 0xbfadde2d 80cee18: 2c6a6c2f .word 0x2c6a6c2f 80cee1c: bfa2b444 .word 0xbfa2b444 80cee20: af749a6d .word 0xaf749a6d 80cee24: bfb3b0f2 .word 0xbfb3b0f2 80cee28: fe231671 .word 0xfe231671 80cee2c: bfbc71c6 .word 0xbfbc71c6 80cee30: 9998ebc4 .word 0x9998ebc4 80cee34: bfc99999 .word 0xbfc99999 80cee38: 440fffff .word 0x440fffff 80cee3c: 7ff00000 .word 0x7ff00000 80cee40: 3fdbffff .word 0x3fdbffff 80cee44: 3ff2ffff .word 0x3ff2ffff 80cee48: 40037fff .word 0x40037fff 80cee4c: 0818a9e0 .word 0x0818a9e0 80cee50: 0818aa00 .word 0x0818aa00 80cee54: 00000000 .word 0x00000000 080cee58 : 80cee58: b51f push {r0, r1, r2, r3, r4, lr} 80cee5a: eeb0 7b40 vmov.f64 d7, d0 80cee5e: ee17 3a90 vmov r3, s15 80cee62: 4a19 ldr r2, [pc, #100] ; (80ceec8 ) 80cee64: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80cee68: 4293 cmp r3, r2 80cee6a: dc04 bgt.n 80cee76 80cee6c: ed9f 1b14 vldr d1, [pc, #80] ; 80ceec0 80cee70: f001 fbfe bl 80d0670 <__kernel_cos> 80cee74: e004 b.n 80cee80 80cee76: 4a15 ldr r2, [pc, #84] ; (80ceecc ) 80cee78: 4293 cmp r3, r2 80cee7a: dd04 ble.n 80cee86 80cee7c: ee30 0b40 vsub.f64 d0, d0, d0 80cee80: b005 add sp, #20 80cee82: f85d fb04 ldr.w pc, [sp], #4 80cee86: 4668 mov r0, sp 80cee88: f001 f882 bl 80cff90 <__ieee754_rem_pio2> 80cee8c: f000 0003 and.w r0, r0, #3 80cee90: 2801 cmp r0, #1 80cee92: ed9d 1b02 vldr d1, [sp, #8] 80cee96: ed9d 0b00 vldr d0, [sp] 80cee9a: d007 beq.n 80ceeac 80cee9c: 2802 cmp r0, #2 80cee9e: d00a beq.n 80ceeb6 80ceea0: 2800 cmp r0, #0 80ceea2: d0e5 beq.n 80cee70 80ceea4: 2001 movs r0, #1 80ceea6: f001 fec3 bl 80d0c30 <__kernel_sin> 80ceeaa: e7e9 b.n 80cee80 80ceeac: f001 fec0 bl 80d0c30 <__kernel_sin> 80ceeb0: eeb1 0b40 vneg.f64 d0, d0 80ceeb4: e7e4 b.n 80cee80 80ceeb6: f001 fbdb bl 80d0670 <__kernel_cos> 80ceeba: e7f9 b.n 80ceeb0 80ceebc: f3af 8000 nop.w ... 80ceec8: 3fe921fb .word 0x3fe921fb 80ceecc: 7fefffff .word 0x7fefffff 080ceed0 : 80ceed0: ec53 2b10 vmov r2, r3, d0 80ceed4: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80ceed8: ec43 2b10 vmov d0, r2, r3 80ceedc: 4770 bx lr ... 080ceee0 : 80ceee0: b51f push {r0, r1, r2, r3, r4, lr} 80ceee2: eeb0 7b40 vmov.f64 d7, d0 80ceee6: ee17 3a90 vmov r3, s15 80ceeea: 4a13 ldr r2, [pc, #76] ; (80cef38 ) 80ceeec: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80ceef0: 4293 cmp r3, r2 80ceef2: dc05 bgt.n 80cef00 80ceef4: ed9f 1b0e vldr d1, [pc, #56] ; 80cef30 80ceef8: 2001 movs r0, #1 80ceefa: f001 fef1 bl 80d0ce0 <__kernel_tan> 80ceefe: e004 b.n 80cef0a 80cef00: 4a0e ldr r2, [pc, #56] ; (80cef3c ) 80cef02: 4293 cmp r3, r2 80cef04: dd04 ble.n 80cef10 80cef06: ee30 0b40 vsub.f64 d0, d0, d0 80cef0a: b005 add sp, #20 80cef0c: f85d fb04 ldr.w pc, [sp], #4 80cef10: 4668 mov r0, sp 80cef12: f001 f83d bl 80cff90 <__ieee754_rem_pio2> 80cef16: 0040 lsls r0, r0, #1 80cef18: f000 0002 and.w r0, r0, #2 80cef1c: f1c0 0001 rsb r0, r0, #1 80cef20: ed9d 1b02 vldr d1, [sp, #8] 80cef24: ed9d 0b00 vldr d0, [sp] 80cef28: e7e7 b.n 80ceefa 80cef2a: bf00 nop 80cef2c: f3af 8000 nop.w ... 80cef38: 3fe921fb .word 0x3fe921fb 80cef3c: 7fefffff .word 0x7fefffff 080cef40 : 80cef40: b508 push {r3, lr} 80cef42: f000 fa49 bl 80cf3d8 80cef46: eddf 7a02 vldr s15, [pc, #8] ; 80cef50 80cef4a: ee80 0a27 vdiv.f32 s0, s0, s15 80cef4e: bd08 pop {r3, pc} 80cef50: 3f317218 .word 0x3f317218 080cef54 : 80cef54: ee10 2a10 vmov r2, s0 80cef58: f3c2 51c7 ubfx r1, r2, #23, #8 80cef5c: 397f subs r1, #127 ; 0x7f 80cef5e: 2916 cmp r1, #22 80cef60: b510 push {r4, lr} 80cef62: ee10 3a10 vmov r3, s0 80cef66: dc0c bgt.n 80cef82 80cef68: 2900 cmp r1, #0 80cef6a: da05 bge.n 80cef78 80cef6c: f002 4300 and.w r3, r2, #2147483648 ; 0x80000000 80cef70: 6003 str r3, [r0, #0] 80cef72: ee00 2a10 vmov s0, r2 80cef76: bd10 pop {r4, pc} 80cef78: 4c09 ldr r4, [pc, #36] ; (80cefa0 ) 80cef7a: fa44 f101 asr.w r1, r4, r1 80cef7e: 420a tst r2, r1 80cef80: d103 bne.n 80cef8a 80cef82: 6002 str r2, [r0, #0] 80cef84: f003 4200 and.w r2, r3, #2147483648 ; 0x80000000 80cef88: e7f3 b.n 80cef72 80cef8a: ea22 0301 bic.w r3, r2, r1 80cef8e: ee07 3a10 vmov s14, r3 80cef92: ee70 7a47 vsub.f32 s15, s0, s14 80cef96: 6003 str r3, [r0, #0] 80cef98: ee17 2a90 vmov r2, s15 80cef9c: e7e9 b.n 80cef72 80cef9e: bf00 nop 80cefa0: 007fffff .word 0x007fffff 080cefa4 : 80cefa4: ee10 0a10 vmov r0, s0 80cefa8: f3c0 53c7 ubfx r3, r0, #23, #8 80cefac: f1a3 027f sub.w r2, r3, #127 ; 0x7f 80cefb0: 2a16 cmp r2, #22 80cefb2: dc15 bgt.n 80cefe0 80cefb4: 2a00 cmp r2, #0 80cefb6: da08 bge.n 80cefca 80cefb8: 3201 adds r2, #1 80cefba: f000 4300 and.w r3, r0, #2147483648 ; 0x80000000 80cefbe: d101 bne.n 80cefc4 80cefc0: f043 537e orr.w r3, r3, #1065353216 ; 0x3f800000 80cefc4: ee00 3a10 vmov s0, r3 80cefc8: 4770 bx lr 80cefca: 4908 ldr r1, [pc, #32] ; (80cefec ) 80cefcc: 4111 asrs r1, r2 80cefce: 4208 tst r0, r1 80cefd0: d0fa beq.n 80cefc8 80cefd2: f44f 0380 mov.w r3, #4194304 ; 0x400000 80cefd6: 4113 asrs r3, r2 80cefd8: 4403 add r3, r0 80cefda: ea23 0301 bic.w r3, r3, r1 80cefde: e7f1 b.n 80cefc4 80cefe0: 2a80 cmp r2, #128 ; 0x80 80cefe2: d1f1 bne.n 80cefc8 80cefe4: ee30 0a00 vadd.f32 s0, s0, s0 80cefe8: 4770 bx lr 80cefea: bf00 nop 80cefec: 007fffff .word 0x007fffff 080ceff0 : 80ceff0: f002 b91a b.w 80d1228 080ceff4 : 80ceff4: f000 b9a4 b.w 80cf340 080ceff8 : 80ceff8: b500 push {lr} 80ceffa: ed2d 8b02 vpush {d8} 80ceffe: eeb0 8b40 vmov.f64 d8, d0 80cf002: b08b sub sp, #44 ; 0x2c 80cf004: f000 fb1c bl 80cf640 <__ieee754_log> 80cf008: 4b2d ldr r3, [pc, #180] ; (80cf0c0 ) 80cf00a: f993 3000 ldrsb.w r3, [r3] 80cf00e: 1c5a adds r2, r3, #1 80cf010: d051 beq.n 80cf0b6 80cf012: eeb4 8b48 vcmp.f64 d8, d8 80cf016: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf01a: d64c bvs.n 80cf0b6 80cf01c: eeb5 8bc0 vcmpe.f64 d8, #0.0 80cf020: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf024: dc47 bgt.n 80cf0b6 80cf026: 4a27 ldr r2, [pc, #156] ; (80cf0c4 ) 80cf028: 9201 str r2, [sp, #4] 80cf02a: 2200 movs r2, #0 80cf02c: 9208 str r2, [sp, #32] 80cf02e: ed8d 8b02 vstr d8, [sp, #8] 80cf032: ed8d 8b04 vstr d8, [sp, #16] 80cf036: b993 cbnz r3, 80cf05e 80cf038: eeb5 8b40 vcmp.f64 d8, #0.0 80cf03c: 4922 ldr r1, [pc, #136] ; (80cf0c8 ) 80cf03e: f04f 4060 mov.w r0, #3758096384 ; 0xe0000000 80cf042: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf046: e9cd 0106 strd r0, r1, [sp, #24] 80cf04a: d025 beq.n 80cf098 80cf04c: 2201 movs r2, #1 80cf04e: 2b02 cmp r3, #2 80cf050: 9200 str r2, [sp, #0] 80cf052: d116 bne.n 80cf082 80cf054: f002 f936 bl 80d12c4 <__errno> 80cf058: 2321 movs r3, #33 ; 0x21 80cf05a: 6003 str r3, [r0, #0] 80cf05c: e016 b.n 80cf08c 80cf05e: 491b ldr r1, [pc, #108] ; (80cf0cc ) 80cf060: eeb5 8b40 vcmp.f64 d8, #0.0 80cf064: 2000 movs r0, #0 80cf066: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf06a: e9cd 0106 strd r0, r1, [sp, #24] 80cf06e: d1ed bne.n 80cf04c 80cf070: 2202 movs r2, #2 80cf072: 4293 cmp r3, r2 80cf074: 9200 str r2, [sp, #0] 80cf076: d111 bne.n 80cf09c 80cf078: f002 f924 bl 80d12c4 <__errno> 80cf07c: 2322 movs r3, #34 ; 0x22 80cf07e: 6003 str r3, [r0, #0] 80cf080: e011 b.n 80cf0a6 80cf082: 4668 mov r0, sp 80cf084: f001 ffb8 bl 80d0ff8 80cf088: 2800 cmp r0, #0 80cf08a: d0e3 beq.n 80cf054 80cf08c: 4810 ldr r0, [pc, #64] ; (80cf0d0 ) 80cf08e: f001 ffb7 bl 80d1000 80cf092: ed8d 0b06 vstr d0, [sp, #24] 80cf096: e006 b.n 80cf0a6 80cf098: 2302 movs r3, #2 80cf09a: 9300 str r3, [sp, #0] 80cf09c: 4668 mov r0, sp 80cf09e: f001 ffab bl 80d0ff8 80cf0a2: 2800 cmp r0, #0 80cf0a4: d0e8 beq.n 80cf078 80cf0a6: 9b08 ldr r3, [sp, #32] 80cf0a8: b11b cbz r3, 80cf0b2 80cf0aa: f002 f90b bl 80d12c4 <__errno> 80cf0ae: 9b08 ldr r3, [sp, #32] 80cf0b0: 6003 str r3, [r0, #0] 80cf0b2: ed9d 0b06 vldr d0, [sp, #24] 80cf0b6: b00b add sp, #44 ; 0x2c 80cf0b8: ecbd 8b02 vpop {d8} 80cf0bc: f85d fb04 ldr.w pc, [sp], #4 80cf0c0: 20020b50 .word 0x20020b50 80cf0c4: 0818aa20 .word 0x0818aa20 80cf0c8: c7efffff .word 0xc7efffff 80cf0cc: fff00000 .word 0xfff00000 80cf0d0: 0818acf3 .word 0x0818acf3 80cf0d4: 00000000 .word 0x00000000 080cf0d8 : 80cf0d8: b570 push {r4, r5, r6, lr} 80cf0da: ed2d 8b0a vpush {d8-d12} 80cf0de: eeb0 9b40 vmov.f64 d9, d0 80cf0e2: eeb0 8b41 vmov.f64 d8, d1 80cf0e6: 4c8e ldr r4, [pc, #568] ; (80cf320 ) 80cf0e8: b08a sub sp, #40 ; 0x28 80cf0ea: f000 fbc9 bl 80cf880 <__ieee754_pow> 80cf0ee: f994 3000 ldrsb.w r3, [r4] 80cf0f2: eeb0 ab40 vmov.f64 d10, d0 80cf0f6: 1c5a adds r2, r3, #1 80cf0f8: 4626 mov r6, r4 80cf0fa: d04b beq.n 80cf194 80cf0fc: eeb4 8b48 vcmp.f64 d8, d8 80cf100: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf104: d646 bvs.n 80cf194 80cf106: eeb4 9b49 vcmp.f64 d9, d9 80cf10a: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf10e: d719 bvc.n 80cf144 80cf110: eeb5 8b40 vcmp.f64 d8, #0.0 80cf114: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf118: d13c bne.n 80cf194 80cf11a: 2201 movs r2, #1 80cf11c: 9200 str r2, [sp, #0] 80cf11e: 4981 ldr r1, [pc, #516] ; (80cf324 ) 80cf120: 4a81 ldr r2, [pc, #516] ; (80cf328 ) 80cf122: 9201 str r2, [sp, #4] 80cf124: 2000 movs r0, #0 80cf126: 2200 movs r2, #0 80cf128: 2b02 cmp r3, #2 80cf12a: 9208 str r2, [sp, #32] 80cf12c: ed8d 9b02 vstr d9, [sp, #8] 80cf130: ed8d 8b04 vstr d8, [sp, #16] 80cf134: e9cd 0106 strd r0, r1, [sp, #24] 80cf138: d02a beq.n 80cf190 80cf13a: 4668 mov r0, sp 80cf13c: f001 ff5c bl 80d0ff8 80cf140: bb00 cbnz r0, 80cf184 80cf142: e04e b.n 80cf1e2 80cf144: ed9f bb74 vldr d11, [pc, #464] ; 80cf318 80cf148: eeb4 9b4b vcmp.f64 d9, d11 80cf14c: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf150: eeb0 cb4b vmov.f64 d12, d11 80cf154: d14a bne.n 80cf1ec 80cf156: eeb4 8b4b vcmp.f64 d8, d11 80cf15a: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf15e: d11f bne.n 80cf1a0 80cf160: 2201 movs r2, #1 80cf162: 9200 str r2, [sp, #0] 80cf164: 4a70 ldr r2, [pc, #448] ; (80cf328 ) 80cf166: 9201 str r2, [sp, #4] 80cf168: 2200 movs r2, #0 80cf16a: 9208 str r2, [sp, #32] 80cf16c: ed8d 9b02 vstr d9, [sp, #8] 80cf170: ed8d 8b04 vstr d8, [sp, #16] 80cf174: ed8d bb06 vstr d11, [sp, #24] 80cf178: 2b00 cmp r3, #0 80cf17a: d0de beq.n 80cf13a 80cf17c: 4b69 ldr r3, [pc, #420] ; (80cf324 ) 80cf17e: 2200 movs r2, #0 80cf180: e9cd 2306 strd r2, r3, [sp, #24] 80cf184: 9b08 ldr r3, [sp, #32] 80cf186: b11b cbz r3, 80cf190 80cf188: f002 f89c bl 80d12c4 <__errno> 80cf18c: 9b08 ldr r3, [sp, #32] 80cf18e: 6003 str r3, [r0, #0] 80cf190: ed9d ab06 vldr d10, [sp, #24] 80cf194: eeb0 0b4a vmov.f64 d0, d10 80cf198: b00a add sp, #40 ; 0x28 80cf19a: ecbd 8b0a vpop {d8-d12} 80cf19e: bd70 pop {r4, r5, r6, pc} 80cf1a0: eeb0 0b48 vmov.f64 d0, d8 80cf1a4: f001 fea8 bl 80d0ef8 80cf1a8: 2800 cmp r0, #0 80cf1aa: d0f3 beq.n 80cf194 80cf1ac: eeb5 8bc0 vcmpe.f64 d8, #0.0 80cf1b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf1b4: d5ee bpl.n 80cf194 80cf1b6: 2301 movs r3, #1 80cf1b8: 9300 str r3, [sp, #0] 80cf1ba: 4b5b ldr r3, [pc, #364] ; (80cf328 ) 80cf1bc: 9301 str r3, [sp, #4] 80cf1be: 2300 movs r3, #0 80cf1c0: 9308 str r3, [sp, #32] 80cf1c2: f994 3000 ldrsb.w r3, [r4] 80cf1c6: ed8d 9b02 vstr d9, [sp, #8] 80cf1ca: ed8d 8b04 vstr d8, [sp, #16] 80cf1ce: b913 cbnz r3, 80cf1d6 80cf1d0: ed8d bb06 vstr d11, [sp, #24] 80cf1d4: e7b1 b.n 80cf13a 80cf1d6: 4955 ldr r1, [pc, #340] ; (80cf32c ) 80cf1d8: 2000 movs r0, #0 80cf1da: e9cd 0106 strd r0, r1, [sp, #24] 80cf1de: 2b02 cmp r3, #2 80cf1e0: d1ab bne.n 80cf13a 80cf1e2: f002 f86f bl 80d12c4 <__errno> 80cf1e6: 2321 movs r3, #33 ; 0x21 80cf1e8: 6003 str r3, [r0, #0] 80cf1ea: e7cb b.n 80cf184 80cf1ec: f001 fe84 bl 80d0ef8 80cf1f0: 4605 mov r5, r0 80cf1f2: 2800 cmp r0, #0 80cf1f4: d168 bne.n 80cf2c8 80cf1f6: eeb0 0b49 vmov.f64 d0, d9 80cf1fa: f001 fe7d bl 80d0ef8 80cf1fe: 2800 cmp r0, #0 80cf200: d062 beq.n 80cf2c8 80cf202: eeb0 0b48 vmov.f64 d0, d8 80cf206: f001 fe77 bl 80d0ef8 80cf20a: 2800 cmp r0, #0 80cf20c: d05c beq.n 80cf2c8 80cf20e: eeb4 ab4a vcmp.f64 d10, d10 80cf212: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf216: f994 3000 ldrsb.w r3, [r4] 80cf21a: 4a43 ldr r2, [pc, #268] ; (80cf328 ) 80cf21c: d70e bvc.n 80cf23c 80cf21e: 2101 movs r1, #1 80cf220: e88d 0006 stmia.w sp, {r1, r2} 80cf224: 9508 str r5, [sp, #32] 80cf226: ed8d 9b02 vstr d9, [sp, #8] 80cf22a: ed8d 8b04 vstr d8, [sp, #16] 80cf22e: 2b00 cmp r3, #0 80cf230: d0ce beq.n 80cf1d0 80cf232: ee8b 7b0b vdiv.f64 d7, d11, d11 80cf236: ed8d 7b06 vstr d7, [sp, #24] 80cf23a: e7d0 b.n 80cf1de 80cf23c: 2103 movs r1, #3 80cf23e: e88d 0006 stmia.w sp, {r1, r2} 80cf242: 9508 str r5, [sp, #32] 80cf244: ed8d 9b02 vstr d9, [sp, #8] 80cf248: ed8d 8b04 vstr d8, [sp, #16] 80cf24c: bb1b cbnz r3, 80cf296 80cf24e: eeb5 9bc0 vcmpe.f64 d9, #0.0 80cf252: 4b37 ldr r3, [pc, #220] ; (80cf330 ) 80cf254: f04f 4260 mov.w r2, #3758096384 ; 0xe0000000 80cf258: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf25c: e9cd 2306 strd r2, r3, [sp, #24] 80cf260: d553 bpl.n 80cf30a 80cf262: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80cf266: ee28 8b07 vmul.f64 d8, d8, d7 80cf26a: eeb0 0b48 vmov.f64 d0, d8 80cf26e: f001 fecf bl 80d1010 80cf272: eeb4 8b40 vcmp.f64 d8, d0 80cf276: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf27a: d004 beq.n 80cf286 80cf27c: 4b2d ldr r3, [pc, #180] ; (80cf334 ) 80cf27e: f04f 4260 mov.w r2, #3758096384 ; 0xe0000000 80cf282: e9cd 2306 strd r2, r3, [sp, #24] 80cf286: f996 3000 ldrsb.w r3, [r6] 80cf28a: 2b02 cmp r3, #2 80cf28c: d13d bne.n 80cf30a 80cf28e: f002 f819 bl 80d12c4 <__errno> 80cf292: 2322 movs r3, #34 ; 0x22 80cf294: e7a8 b.n 80cf1e8 80cf296: 4b28 ldr r3, [pc, #160] ; (80cf338 ) 80cf298: eeb5 9bc0 vcmpe.f64 d9, #0.0 80cf29c: 2200 movs r2, #0 80cf29e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf2a2: e9cd 2306 strd r2, r3, [sp, #24] 80cf2a6: d5ee bpl.n 80cf286 80cf2a8: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80cf2ac: ee28 8b07 vmul.f64 d8, d8, d7 80cf2b0: eeb0 0b48 vmov.f64 d0, d8 80cf2b4: f001 feac bl 80d1010 80cf2b8: eeb4 8b40 vcmp.f64 d8, d0 80cf2bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf2c0: d0e1 beq.n 80cf286 80cf2c2: 2200 movs r2, #0 80cf2c4: 4b19 ldr r3, [pc, #100] ; (80cf32c ) 80cf2c6: e7dc b.n 80cf282 80cf2c8: eeb5 ab40 vcmp.f64 d10, #0.0 80cf2cc: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf2d0: f47f af60 bne.w 80cf194 80cf2d4: eeb0 0b49 vmov.f64 d0, d9 80cf2d8: f001 fe0e bl 80d0ef8 80cf2dc: 2800 cmp r0, #0 80cf2de: f43f af59 beq.w 80cf194 80cf2e2: eeb0 0b48 vmov.f64 d0, d8 80cf2e6: f001 fe07 bl 80d0ef8 80cf2ea: 2800 cmp r0, #0 80cf2ec: f43f af52 beq.w 80cf194 80cf2f0: 2304 movs r3, #4 80cf2f2: 9300 str r3, [sp, #0] 80cf2f4: 4b0c ldr r3, [pc, #48] ; (80cf328 ) 80cf2f6: 9301 str r3, [sp, #4] 80cf2f8: 2300 movs r3, #0 80cf2fa: 9308 str r3, [sp, #32] 80cf2fc: ed8d 9b02 vstr d9, [sp, #8] 80cf300: ed8d 8b04 vstr d8, [sp, #16] 80cf304: ed8d cb06 vstr d12, [sp, #24] 80cf308: e7bd b.n 80cf286 80cf30a: 4668 mov r0, sp 80cf30c: f001 fe74 bl 80d0ff8 80cf310: 2800 cmp r0, #0 80cf312: f47f af37 bne.w 80cf184 80cf316: e7ba b.n 80cf28e ... 80cf320: 20020b50 .word 0x20020b50 80cf324: 3ff00000 .word 0x3ff00000 80cf328: 0818aa24 .word 0x0818aa24 80cf32c: fff00000 .word 0xfff00000 80cf330: 47efffff .word 0x47efffff 80cf334: c7efffff .word 0xc7efffff 80cf338: 7ff00000 .word 0x7ff00000 80cf33c: 00000000 .word 0x00000000 080cf340 : 80cf340: b500 push {lr} 80cf342: ed2d 8b02 vpush {d8} 80cf346: eeb0 8b40 vmov.f64 d8, d0 80cf34a: b08b sub sp, #44 ; 0x2c 80cf34c: f000 ff60 bl 80d0210 <__ieee754_sqrt> 80cf350: 4b1f ldr r3, [pc, #124] ; (80cf3d0 ) 80cf352: f993 3000 ldrsb.w r3, [r3] 80cf356: 1c5a adds r2, r3, #1 80cf358: d024 beq.n 80cf3a4 80cf35a: eeb4 8b48 vcmp.f64 d8, d8 80cf35e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf362: d61f bvs.n 80cf3a4 80cf364: ed9f 7b18 vldr d7, [pc, #96] ; 80cf3c8 80cf368: eeb4 8bc7 vcmpe.f64 d8, d7 80cf36c: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf370: d518 bpl.n 80cf3a4 80cf372: 2201 movs r2, #1 80cf374: 9200 str r2, [sp, #0] 80cf376: 4a17 ldr r2, [pc, #92] ; (80cf3d4 ) 80cf378: 9201 str r2, [sp, #4] 80cf37a: 2200 movs r2, #0 80cf37c: 9208 str r2, [sp, #32] 80cf37e: ed8d 8b04 vstr d8, [sp, #16] 80cf382: ed8d 8b02 vstr d8, [sp, #8] 80cf386: b993 cbnz r3, 80cf3ae 80cf388: ed8d 7b06 vstr d7, [sp, #24] 80cf38c: 4668 mov r0, sp 80cf38e: f001 fe33 bl 80d0ff8 80cf392: b190 cbz r0, 80cf3ba 80cf394: 9b08 ldr r3, [sp, #32] 80cf396: b11b cbz r3, 80cf3a0 80cf398: f001 ff94 bl 80d12c4 <__errno> 80cf39c: 9b08 ldr r3, [sp, #32] 80cf39e: 6003 str r3, [r0, #0] 80cf3a0: ed9d 0b06 vldr d0, [sp, #24] 80cf3a4: b00b add sp, #44 ; 0x2c 80cf3a6: ecbd 8b02 vpop {d8} 80cf3aa: f85d fb04 ldr.w pc, [sp], #4 80cf3ae: 2b02 cmp r3, #2 80cf3b0: ee87 6b07 vdiv.f64 d6, d7, d7 80cf3b4: ed8d 6b06 vstr d6, [sp, #24] 80cf3b8: d1e8 bne.n 80cf38c 80cf3ba: f001 ff83 bl 80d12c4 <__errno> 80cf3be: 2321 movs r3, #33 ; 0x21 80cf3c0: 6003 str r3, [r0, #0] 80cf3c2: e7e7 b.n 80cf394 80cf3c4: f3af 8000 nop.w ... 80cf3d0: 20020b50 .word 0x20020b50 80cf3d4: 0818aa28 .word 0x0818aa28 080cf3d8 : 80cf3d8: b500 push {lr} 80cf3da: ed2d 8b02 vpush {d8} 80cf3de: b08b sub sp, #44 ; 0x2c 80cf3e0: eeb0 8a40 vmov.f32 s16, s0 80cf3e4: f000 ffb2 bl 80d034c <__ieee754_logf> 80cf3e8: 4b2f ldr r3, [pc, #188] ; (80cf4a8 ) 80cf3ea: f993 3000 ldrsb.w r3, [r3] 80cf3ee: 1c5a adds r2, r3, #1 80cf3f0: d055 beq.n 80cf49e 80cf3f2: eeb4 8a48 vcmp.f32 s16, s16 80cf3f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf3fa: d650 bvs.n 80cf49e 80cf3fc: eeb5 8ac0 vcmpe.f32 s16, #0.0 80cf400: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf404: dc4b bgt.n 80cf49e 80cf406: 4a29 ldr r2, [pc, #164] ; (80cf4ac ) 80cf408: 9201 str r2, [sp, #4] 80cf40a: eeb7 7ac8 vcvt.f64.f32 d7, s16 80cf40e: 2200 movs r2, #0 80cf410: 9208 str r2, [sp, #32] 80cf412: ed8d 7b04 vstr d7, [sp, #16] 80cf416: ed8d 7b02 vstr d7, [sp, #8] 80cf41a: b993 cbnz r3, 80cf442 80cf41c: 4924 ldr r1, [pc, #144] ; (80cf4b0 ) 80cf41e: eeb5 8a40 vcmp.f32 s16, #0.0 80cf422: f04f 4060 mov.w r0, #3758096384 ; 0xe0000000 80cf426: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf42a: e9cd 0106 strd r0, r1, [sp, #24] 80cf42e: d025 beq.n 80cf47c 80cf430: 2201 movs r2, #1 80cf432: 2b02 cmp r3, #2 80cf434: 9200 str r2, [sp, #0] 80cf436: d116 bne.n 80cf466 80cf438: f001 ff44 bl 80d12c4 <__errno> 80cf43c: 2321 movs r3, #33 ; 0x21 80cf43e: 6003 str r3, [r0, #0] 80cf440: e016 b.n 80cf470 80cf442: 491c ldr r1, [pc, #112] ; (80cf4b4 ) 80cf444: eeb5 8a40 vcmp.f32 s16, #0.0 80cf448: 2000 movs r0, #0 80cf44a: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf44e: e9cd 0106 strd r0, r1, [sp, #24] 80cf452: d1ed bne.n 80cf430 80cf454: 2202 movs r2, #2 80cf456: 4293 cmp r3, r2 80cf458: 9200 str r2, [sp, #0] 80cf45a: d111 bne.n 80cf480 80cf45c: f001 ff32 bl 80d12c4 <__errno> 80cf460: 2322 movs r3, #34 ; 0x22 80cf462: 6003 str r3, [r0, #0] 80cf464: e011 b.n 80cf48a 80cf466: 4668 mov r0, sp 80cf468: f001 fdc6 bl 80d0ff8 80cf46c: 2800 cmp r0, #0 80cf46e: d0e3 beq.n 80cf438 80cf470: 4811 ldr r0, [pc, #68] ; (80cf4b8 ) 80cf472: f001 fdc5 bl 80d1000 80cf476: ed8d 0b06 vstr d0, [sp, #24] 80cf47a: e006 b.n 80cf48a 80cf47c: 2302 movs r3, #2 80cf47e: 9300 str r3, [sp, #0] 80cf480: 4668 mov r0, sp 80cf482: f001 fdb9 bl 80d0ff8 80cf486: 2800 cmp r0, #0 80cf488: d0e8 beq.n 80cf45c 80cf48a: 9b08 ldr r3, [sp, #32] 80cf48c: b11b cbz r3, 80cf496 80cf48e: f001 ff19 bl 80d12c4 <__errno> 80cf492: 9b08 ldr r3, [sp, #32] 80cf494: 6003 str r3, [r0, #0] 80cf496: ed9d 0b06 vldr d0, [sp, #24] 80cf49a: eeb7 0bc0 vcvt.f32.f64 s0, d0 80cf49e: b00b add sp, #44 ; 0x2c 80cf4a0: ecbd 8b02 vpop {d8} 80cf4a4: f85d fb04 ldr.w pc, [sp], #4 80cf4a8: 20020b50 .word 0x20020b50 80cf4ac: 0818aa2d .word 0x0818aa2d 80cf4b0: c7efffff .word 0xc7efffff 80cf4b4: fff00000 .word 0xfff00000 80cf4b8: 0818acf3 .word 0x0818acf3 080cf4bc : 80cf4bc: b500 push {lr} 80cf4be: ed2d 8b02 vpush {d8} 80cf4c2: b08b sub sp, #44 ; 0x2c 80cf4c4: eeb0 8a40 vmov.f32 s16, s0 80cf4c8: f001 f832 bl 80d0530 <__ieee754_log10f> 80cf4cc: 4b2f ldr r3, [pc, #188] ; (80cf58c ) 80cf4ce: f993 3000 ldrsb.w r3, [r3] 80cf4d2: 1c5a adds r2, r3, #1 80cf4d4: d055 beq.n 80cf582 80cf4d6: eeb4 8a48 vcmp.f32 s16, s16 80cf4da: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf4de: d650 bvs.n 80cf582 80cf4e0: eeb5 8ac0 vcmpe.f32 s16, #0.0 80cf4e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf4e8: d84b bhi.n 80cf582 80cf4ea: 4a29 ldr r2, [pc, #164] ; (80cf590 ) 80cf4ec: 9201 str r2, [sp, #4] 80cf4ee: eeb7 7ac8 vcvt.f64.f32 d7, s16 80cf4f2: 2200 movs r2, #0 80cf4f4: 9208 str r2, [sp, #32] 80cf4f6: ed8d 7b04 vstr d7, [sp, #16] 80cf4fa: ed8d 7b02 vstr d7, [sp, #8] 80cf4fe: b993 cbnz r3, 80cf526 80cf500: 4924 ldr r1, [pc, #144] ; (80cf594 ) 80cf502: eeb5 8a40 vcmp.f32 s16, #0.0 80cf506: f04f 4060 mov.w r0, #3758096384 ; 0xe0000000 80cf50a: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf50e: e9cd 0106 strd r0, r1, [sp, #24] 80cf512: d025 beq.n 80cf560 80cf514: 2201 movs r2, #1 80cf516: 2b02 cmp r3, #2 80cf518: 9200 str r2, [sp, #0] 80cf51a: d116 bne.n 80cf54a 80cf51c: f001 fed2 bl 80d12c4 <__errno> 80cf520: 2321 movs r3, #33 ; 0x21 80cf522: 6003 str r3, [r0, #0] 80cf524: e016 b.n 80cf554 80cf526: 491c ldr r1, [pc, #112] ; (80cf598 ) 80cf528: eeb5 8a40 vcmp.f32 s16, #0.0 80cf52c: 2000 movs r0, #0 80cf52e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf532: e9cd 0106 strd r0, r1, [sp, #24] 80cf536: d1ed bne.n 80cf514 80cf538: 2202 movs r2, #2 80cf53a: 4293 cmp r3, r2 80cf53c: 9200 str r2, [sp, #0] 80cf53e: d111 bne.n 80cf564 80cf540: f001 fec0 bl 80d12c4 <__errno> 80cf544: 2322 movs r3, #34 ; 0x22 80cf546: 6003 str r3, [r0, #0] 80cf548: e011 b.n 80cf56e 80cf54a: 4668 mov r0, sp 80cf54c: f001 fd54 bl 80d0ff8 80cf550: 2800 cmp r0, #0 80cf552: d0e3 beq.n 80cf51c 80cf554: 4811 ldr r0, [pc, #68] ; (80cf59c ) 80cf556: f001 fd53 bl 80d1000 80cf55a: ed8d 0b06 vstr d0, [sp, #24] 80cf55e: e006 b.n 80cf56e 80cf560: 2302 movs r3, #2 80cf562: 9300 str r3, [sp, #0] 80cf564: 4668 mov r0, sp 80cf566: f001 fd47 bl 80d0ff8 80cf56a: 2800 cmp r0, #0 80cf56c: d0e8 beq.n 80cf540 80cf56e: 9b08 ldr r3, [sp, #32] 80cf570: b11b cbz r3, 80cf57a 80cf572: f001 fea7 bl 80d12c4 <__errno> 80cf576: 9b08 ldr r3, [sp, #32] 80cf578: 6003 str r3, [r0, #0] 80cf57a: ed9d 0b06 vldr d0, [sp, #24] 80cf57e: eeb7 0bc0 vcvt.f32.f64 s0, d0 80cf582: b00b add sp, #44 ; 0x2c 80cf584: ecbd 8b02 vpop {d8} 80cf588: f85d fb04 ldr.w pc, [sp], #4 80cf58c: 20020b50 .word 0x20020b50 80cf590: 0818aa32 .word 0x0818aa32 80cf594: c7efffff .word 0xc7efffff 80cf598: fff00000 .word 0xfff00000 80cf59c: 0818acf3 .word 0x0818acf3 080cf5a0 : 80cf5a0: b500 push {lr} 80cf5a2: ed2d 8b02 vpush {d8} 80cf5a6: b08b sub sp, #44 ; 0x2c 80cf5a8: eeb0 8a40 vmov.f32 s16, s0 80cf5ac: f001 f818 bl 80d05e0 <__ieee754_sqrtf> 80cf5b0: 4b21 ldr r3, [pc, #132] ; (80cf638 ) 80cf5b2: f993 3000 ldrsb.w r3, [r3] 80cf5b6: 1c5a adds r2, r3, #1 80cf5b8: d028 beq.n 80cf60c 80cf5ba: eeb4 8a48 vcmp.f32 s16, s16 80cf5be: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf5c2: d623 bvs.n 80cf60c 80cf5c4: eeb5 8ac0 vcmpe.f32 s16, #0.0 80cf5c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf5cc: d51e bpl.n 80cf60c 80cf5ce: 2201 movs r2, #1 80cf5d0: eeb7 8ac8 vcvt.f64.f32 d8, s16 80cf5d4: 9200 str r2, [sp, #0] 80cf5d6: 4a19 ldr r2, [pc, #100] ; (80cf63c ) 80cf5d8: 9201 str r2, [sp, #4] 80cf5da: 2200 movs r2, #0 80cf5dc: 9208 str r2, [sp, #32] 80cf5de: ed8d 8b04 vstr d8, [sp, #16] 80cf5e2: ed8d 8b02 vstr d8, [sp, #8] 80cf5e6: ed9f 7b12 vldr d7, [pc, #72] ; 80cf630 80cf5ea: b9a3 cbnz r3, 80cf616 80cf5ec: ed8d 7b06 vstr d7, [sp, #24] 80cf5f0: 4668 mov r0, sp 80cf5f2: f001 fd01 bl 80d0ff8 80cf5f6: b1a0 cbz r0, 80cf622 80cf5f8: 9b08 ldr r3, [sp, #32] 80cf5fa: b11b cbz r3, 80cf604 80cf5fc: f001 fe62 bl 80d12c4 <__errno> 80cf600: 9b08 ldr r3, [sp, #32] 80cf602: 6003 str r3, [r0, #0] 80cf604: ed9d 0b06 vldr d0, [sp, #24] 80cf608: eeb7 0bc0 vcvt.f32.f64 s0, d0 80cf60c: b00b add sp, #44 ; 0x2c 80cf60e: ecbd 8b02 vpop {d8} 80cf612: f85d fb04 ldr.w pc, [sp], #4 80cf616: 2b02 cmp r3, #2 80cf618: ee87 6b07 vdiv.f64 d6, d7, d7 80cf61c: ed8d 6b06 vstr d6, [sp, #24] 80cf620: d1e6 bne.n 80cf5f0 80cf622: f001 fe4f bl 80d12c4 <__errno> 80cf626: 2321 movs r3, #33 ; 0x21 80cf628: 6003 str r3, [r0, #0] 80cf62a: e7e5 b.n 80cf5f8 80cf62c: f3af 8000 nop.w ... 80cf638: 20020b50 .word 0x20020b50 80cf63c: 0818aa39 .word 0x0818aa39 080cf640 <__ieee754_log>: 80cf640: b537 push {r0, r1, r2, r4, r5, lr} 80cf642: ed8d 0b00 vstr d0, [sp] 80cf646: 9a01 ldr r2, [sp, #4] 80cf648: 9b00 ldr r3, [sp, #0] 80cf64a: f5b2 1f80 cmp.w r2, #1048576 ; 0x100000 80cf64e: da27 bge.n 80cf6a0 <__ieee754_log+0x60> 80cf650: f022 4100 bic.w r1, r2, #2147483648 ; 0x80000000 80cf654: 430b orrs r3, r1 80cf656: d107 bne.n 80cf668 <__ieee754_log+0x28> 80cf658: ed9f 7b6d vldr d7, [pc, #436] ; 80cf810 <__ieee754_log+0x1d0> 80cf65c: ed9f 6b6e vldr d6, [pc, #440] ; 80cf818 <__ieee754_log+0x1d8> 80cf660: ee86 0b07 vdiv.f64 d0, d6, d7 80cf664: b003 add sp, #12 80cf666: bd30 pop {r4, r5, pc} 80cf668: 2a00 cmp r2, #0 80cf66a: da06 bge.n 80cf67a <__ieee754_log+0x3a> 80cf66c: ed9d 7b00 vldr d7, [sp] 80cf670: ee37 6b47 vsub.f64 d6, d7, d7 80cf674: ed9f 7b66 vldr d7, [pc, #408] ; 80cf810 <__ieee754_log+0x1d0> 80cf678: e7f2 b.n 80cf660 <__ieee754_log+0x20> 80cf67a: ed9d 6b00 vldr d6, [sp] 80cf67e: ed9f 7b68 vldr d7, [pc, #416] ; 80cf820 <__ieee754_log+0x1e0> 80cf682: ee26 7b07 vmul.f64 d7, d6, d7 80cf686: ed8d 7b00 vstr d7, [sp] 80cf68a: 9a01 ldr r2, [sp, #4] 80cf68c: f06f 0135 mvn.w r1, #53 ; 0x35 80cf690: 4b79 ldr r3, [pc, #484] ; (80cf878 <__ieee754_log+0x238>) 80cf692: 429a cmp r2, r3 80cf694: dd06 ble.n 80cf6a4 <__ieee754_log+0x64> 80cf696: ed9d 7b00 vldr d7, [sp] 80cf69a: ee37 0b07 vadd.f64 d0, d7, d7 80cf69e: e7e1 b.n 80cf664 <__ieee754_log+0x24> 80cf6a0: 2100 movs r1, #0 80cf6a2: e7f5 b.n 80cf690 <__ieee754_log+0x50> 80cf6a4: 1513 asrs r3, r2, #20 80cf6a6: f3c2 0013 ubfx r0, r2, #0, #20 80cf6aa: f2a3 33ff subw r3, r3, #1023 ; 0x3ff 80cf6ae: 4419 add r1, r3 80cf6b0: f500 2315 add.w r3, r0, #610304 ; 0x95000 80cf6b4: f603 7364 addw r3, r3, #3940 ; 0xf64 80cf6b8: f403 1480 and.w r4, r3, #1048576 ; 0x100000 80cf6bc: f084 557f eor.w r5, r4, #1069547520 ; 0x3fc00000 80cf6c0: e9dd 2300 ldrd r2, r3, [sp] 80cf6c4: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80cf6c8: f485 1540 eor.w r5, r5, #3145728 ; 0x300000 80cf6cc: ea45 0300 orr.w r3, r5, r0 80cf6d0: ec43 2b10 vmov d0, r2, r3 80cf6d4: 1c82 adds r2, r0, #2 80cf6d6: f3c2 0213 ubfx r2, r2, #0, #20 80cf6da: 2a02 cmp r2, #2 80cf6dc: eb01 5414 add.w r4, r1, r4, lsr #20 80cf6e0: ee30 0b47 vsub.f64 d0, d0, d7 80cf6e4: dc31 bgt.n 80cf74a <__ieee754_log+0x10a> 80cf6e6: eeb5 0b40 vcmp.f64 d0, #0.0 80cf6ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80cf6ee: d10f bne.n 80cf710 <__ieee754_log+0xd0> 80cf6f0: 2c00 cmp r4, #0 80cf6f2: f000 8088 beq.w 80cf806 <__ieee754_log+0x1c6> 80cf6f6: ed9f 0b4c vldr d0, [pc, #304] ; 80cf828 <__ieee754_log+0x1e8> 80cf6fa: ed9f 6b4d vldr d6, [pc, #308] ; 80cf830 <__ieee754_log+0x1f0> 80cf6fe: ee07 4a90 vmov s15, r4 80cf702: eeb8 7be7 vcvt.f64.s32 d7, s15 80cf706: ee27 0b00 vmul.f64 d0, d7, d0 80cf70a: eea7 0b06 vfma.f64 d0, d7, d6 80cf70e: e7a9 b.n 80cf664 <__ieee754_log+0x24> 80cf710: ed9f 7b49 vldr d7, [pc, #292] ; 80cf838 <__ieee754_log+0x1f8> 80cf714: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80cf718: eea0 6b47 vfms.f64 d6, d0, d7 80cf71c: ee20 7b00 vmul.f64 d7, d0, d0 80cf720: ee26 6b07 vmul.f64 d6, d6, d7 80cf724: b914 cbnz r4, 80cf72c <__ieee754_log+0xec> 80cf726: ee30 0b46 vsub.f64 d0, d0, d6 80cf72a: e79b b.n 80cf664 <__ieee754_log+0x24> 80cf72c: ed9f 5b3e vldr d5, [pc, #248] ; 80cf828 <__ieee754_log+0x1e8> 80cf730: ee07 4a90 vmov s15, r4 80cf734: eeb8 7be7 vcvt.f64.s32 d7, s15 80cf738: eea7 6b45 vfms.f64 d6, d7, d5 80cf73c: ee36 0b40 vsub.f64 d0, d6, d0 80cf740: ed9f 6b3b vldr d6, [pc, #236] ; 80cf830 <__ieee754_log+0x1f0> 80cf744: ee97 0b06 vfnms.f64 d0, d7, d6 80cf748: e78c b.n 80cf664 <__ieee754_log+0x24> 80cf74a: eeb0 7b00 vmov.f64 d7, #0 ; 0x40000000 2.0 80cf74e: ee30 7b07 vadd.f64 d7, d0, d7 80cf752: ee80 4b07 vdiv.f64 d4, d0, d7 80cf756: ee07 4a90 vmov s15, r4 80cf75a: ee24 3b04 vmul.f64 d3, d4, d4 80cf75e: ed9f 2b38 vldr d2, [pc, #224] ; 80cf840 <__ieee754_log+0x200> 80cf762: ee23 5b03 vmul.f64 d5, d3, d3 80cf766: eeb8 6be7 vcvt.f64.s32 d6, s15 80cf76a: ed9f 7b37 vldr d7, [pc, #220] ; 80cf848 <__ieee754_log+0x208> 80cf76e: eea5 7b02 vfma.f64 d7, d5, d2 80cf772: ed9f 2b37 vldr d2, [pc, #220] ; 80cf850 <__ieee754_log+0x210> 80cf776: eea5 2b07 vfma.f64 d2, d5, d7 80cf77a: ed9f 7b37 vldr d7, [pc, #220] ; 80cf858 <__ieee754_log+0x218> 80cf77e: eea5 7b02 vfma.f64 d7, d5, d2 80cf782: ed9f 2b37 vldr d2, [pc, #220] ; 80cf860 <__ieee754_log+0x220> 80cf786: ee27 7b03 vmul.f64 d7, d7, d3 80cf78a: ed9f 3b37 vldr d3, [pc, #220] ; 80cf868 <__ieee754_log+0x228> 80cf78e: f5a0 21c2 sub.w r1, r0, #397312 ; 0x61000 80cf792: f5c0 22d7 rsb r2, r0, #440320 ; 0x6b800 80cf796: eea5 2b03 vfma.f64 d2, d5, d3 80cf79a: f2a1 417a subw r1, r1, #1146 ; 0x47a 80cf79e: ed9f 3b34 vldr d3, [pc, #208] ; 80cf870 <__ieee754_log+0x230> 80cf7a2: 3251 adds r2, #81 ; 0x51 80cf7a4: 430a orrs r2, r1 80cf7a6: 2a00 cmp r2, #0 80cf7a8: eea5 3b02 vfma.f64 d3, d5, d2 80cf7ac: eea5 7b03 vfma.f64 d7, d5, d3 80cf7b0: dd1c ble.n 80cf7ec <__ieee754_log+0x1ac> 80cf7b2: eeb6 5b00 vmov.f64 d5, #96 ; 0x3f000000 0.5 80cf7b6: ee20 5b05 vmul.f64 d5, d0, d5 80cf7ba: ee25 5b00 vmul.f64 d5, d5, d0 80cf7be: ee37 7b05 vadd.f64 d7, d7, d5 80cf7c2: b924 cbnz r4, 80cf7ce <__ieee754_log+0x18e> 80cf7c4: eea4 5b47 vfms.f64 d5, d4, d7 80cf7c8: ee30 0b45 vsub.f64 d0, d0, d5 80cf7cc: e74a b.n 80cf664 <__ieee754_log+0x24> 80cf7ce: ed9f 3b16 vldr d3, [pc, #88] ; 80cf828 <__ieee754_log+0x1e8> 80cf7d2: ee26 3b03 vmul.f64 d3, d6, d3 80cf7d6: eea4 3b07 vfma.f64 d3, d4, d7 80cf7da: ee35 5b43 vsub.f64 d5, d5, d3 80cf7de: ed9f 7b14 vldr d7, [pc, #80] ; 80cf830 <__ieee754_log+0x1f0> 80cf7e2: ee35 0b40 vsub.f64 d0, d5, d0 80cf7e6: ee96 0b07 vfnms.f64 d0, d6, d7 80cf7ea: e73b b.n 80cf664 <__ieee754_log+0x24> 80cf7ec: ee30 7b47 vsub.f64 d7, d0, d7 80cf7f0: b914 cbnz r4, 80cf7f8 <__ieee754_log+0x1b8> 80cf7f2: eea4 0b47 vfms.f64 d0, d4, d7 80cf7f6: e735 b.n 80cf664 <__ieee754_log+0x24> 80cf7f8: ed9f 5b0b vldr d5, [pc, #44] ; 80cf828 <__ieee754_log+0x1e8> 80cf7fc: ee25 5b46 vnmul.f64 d5, d5, d6 80cf800: eea4 5b07 vfma.f64 d5, d4, d7 80cf804: e7eb b.n 80cf7de <__ieee754_log+0x19e> 80cf806: ed9f 0b02 vldr d0, [pc, #8] ; 80cf810 <__ieee754_log+0x1d0> 80cf80a: e72b b.n 80cf664 <__ieee754_log+0x24> 80cf80c: f3af 8000 nop.w ... 80cf81c: c3500000 .word 0xc3500000 80cf820: 00000000 .word 0x00000000 80cf824: 43500000 .word 0x43500000 80cf828: 35793c76 .word 0x35793c76 80cf82c: 3dea39ef .word 0x3dea39ef 80cf830: fee00000 .word 0xfee00000 80cf834: 3fe62e42 .word 0x3fe62e42 80cf838: 55555555 .word 0x55555555 80cf83c: 3fd55555 .word 0x3fd55555 80cf840: df3e5244 .word 0xdf3e5244 80cf844: 3fc2f112 .word 0x3fc2f112 80cf848: 96cb03de .word 0x96cb03de 80cf84c: 3fc74664 .word 0x3fc74664 80cf850: 94229359 .word 0x94229359 80cf854: 3fd24924 .word 0x3fd24924 80cf858: 55555593 .word 0x55555593 80cf85c: 3fe55555 .word 0x3fe55555 80cf860: 1d8e78af .word 0x1d8e78af 80cf864: 3fcc71c5 .word 0x3fcc71c5 80cf868: d078c69f .word 0xd078c69f 80cf86c: 3fc39a09 .word 0x3fc39a09 80cf870: 9997fa04 .word 0x9997fa04 80cf874: 3fd99999 .word 0x3fd99999 80cf878: 7fefffff .word 0x7fefffff 80cf87c: 00000000 .word 0x00000000 080cf880 <__ieee754_pow>: 80cf880: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cf884: ec57 6b11 vmov r6, r7, d1 80cf888: ed2d 8b02 vpush {d8} 80cf88c: eeb0 8b40 vmov.f64 d8, d0 80cf890: f027 4800 bic.w r8, r7, #2147483648 ; 0x80000000 80cf894: ea58 0306 orrs.w r3, r8, r6 80cf898: b085 sub sp, #20 80cf89a: ee10 ba10 vmov fp, s0 80cf89e: ee18 9a90 vmov r9, s17 80cf8a2: ee11 2a10 vmov r2, s2 80cf8a6: 46ba mov sl, r7 80cf8a8: f000 8303 beq.w 80cfeb2 <__ieee754_pow+0x632> 80cf8ac: 4bb8 ldr r3, [pc, #736] ; (80cfb90 <__ieee754_pow+0x310>) 80cf8ae: f029 4400 bic.w r4, r9, #2147483648 ; 0x80000000 80cf8b2: 429c cmp r4, r3 80cf8b4: dc0b bgt.n 80cf8ce <__ieee754_pow+0x4e> 80cf8b6: d105 bne.n 80cf8c4 <__ieee754_pow+0x44> 80cf8b8: f1bb 0f00 cmp.w fp, #0 80cf8bc: d107 bne.n 80cf8ce <__ieee754_pow+0x4e> 80cf8be: 45a0 cmp r8, r4 80cf8c0: dc0d bgt.n 80cf8de <__ieee754_pow+0x5e> 80cf8c2: e001 b.n 80cf8c8 <__ieee754_pow+0x48> 80cf8c4: 4598 cmp r8, r3 80cf8c6: dc02 bgt.n 80cf8ce <__ieee754_pow+0x4e> 80cf8c8: 4598 cmp r8, r3 80cf8ca: d110 bne.n 80cf8ee <__ieee754_pow+0x6e> 80cf8cc: b17a cbz r2, 80cf8ee <__ieee754_pow+0x6e> 80cf8ce: f104 4440 add.w r4, r4, #3221225472 ; 0xc0000000 80cf8d2: f504 1480 add.w r4, r4, #1048576 ; 0x100000 80cf8d6: ea54 030b orrs.w r3, r4, fp 80cf8da: f000 82ea beq.w 80cfeb2 <__ieee754_pow+0x632> 80cf8de: 48ad ldr r0, [pc, #692] ; (80cfb94 <__ieee754_pow+0x314>) 80cf8e0: b005 add sp, #20 80cf8e2: ecbd 8b02 vpop {d8} 80cf8e6: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cf8ea: f001 bb89 b.w 80d1000 80cf8ee: f1b9 0f00 cmp.w r9, #0 80cf8f2: da50 bge.n 80cf996 <__ieee754_pow+0x116> 80cf8f4: 4ba8 ldr r3, [pc, #672] ; (80cfb98 <__ieee754_pow+0x318>) 80cf8f6: 4598 cmp r8, r3 80cf8f8: dc4b bgt.n 80cf992 <__ieee754_pow+0x112> 80cf8fa: f1a3 7354 sub.w r3, r3, #55574528 ; 0x3500000 80cf8fe: 4598 cmp r8, r3 80cf900: dd49 ble.n 80cf996 <__ieee754_pow+0x116> 80cf902: ea4f 5328 mov.w r3, r8, asr #20 80cf906: f2a3 33ff subw r3, r3, #1023 ; 0x3ff 80cf90a: 2b14 cmp r3, #20 80cf90c: dd24 ble.n 80cf958 <__ieee754_pow+0xd8> 80cf90e: f1c3 0334 rsb r3, r3, #52 ; 0x34 80cf912: fa22 f503 lsr.w r5, r2, r3 80cf916: fa05 f303 lsl.w r3, r5, r3 80cf91a: 429a cmp r2, r3 80cf91c: d13b bne.n 80cf996 <__ieee754_pow+0x116> 80cf91e: f005 0501 and.w r5, r5, #1 80cf922: f1c5 0502 rsb r5, r5, #2 80cf926: 2a00 cmp r2, #0 80cf928: d15c bne.n 80cf9e4 <__ieee754_pow+0x164> 80cf92a: 4b99 ldr r3, [pc, #612] ; (80cfb90 <__ieee754_pow+0x310>) 80cf92c: 4598 cmp r8, r3 80cf92e: d122 bne.n 80cf976 <__ieee754_pow+0xf6> 80cf930: f104 4340 add.w r3, r4, #3221225472 ; 0xc0000000 80cf934: f503 1380 add.w r3, r3, #1048576 ; 0x100000 80cf938: ea53 030b orrs.w r3, r3, fp 80cf93c: f000 82b9 beq.w 80cfeb2 <__ieee754_pow+0x632> 80cf940: 4b96 ldr r3, [pc, #600] ; (80cfb9c <__ieee754_pow+0x31c>) 80cf942: 429c cmp r4, r3 80cf944: dd29 ble.n 80cf99a <__ieee754_pow+0x11a> 80cf946: f1ba 0f00 cmp.w sl, #0 80cf94a: f280 82b5 bge.w 80cfeb8 <__ieee754_pow+0x638> 80cf94e: ed9f 7b84 vldr d7, [pc, #528] ; 80cfb60 <__ieee754_pow+0x2e0> 80cf952: ed8d 7b00 vstr d7, [sp] 80cf956: e028 b.n 80cf9aa <__ieee754_pow+0x12a> 80cf958: 2a00 cmp r2, #0 80cf95a: d142 bne.n 80cf9e2 <__ieee754_pow+0x162> 80cf95c: f1c3 0314 rsb r3, r3, #20 80cf960: fa48 f503 asr.w r5, r8, r3 80cf964: fa05 f303 lsl.w r3, r5, r3 80cf968: 4598 cmp r8, r3 80cf96a: f040 82ab bne.w 80cfec4 <__ieee754_pow+0x644> 80cf96e: f005 0501 and.w r5, r5, #1 80cf972: f1c5 0502 rsb r5, r5, #2 80cf976: 4b8a ldr r3, [pc, #552] ; (80cfba0 <__ieee754_pow+0x320>) 80cf978: 4598 cmp r8, r3 80cf97a: d11d bne.n 80cf9b8 <__ieee754_pow+0x138> 80cf97c: f1ba 0f00 cmp.w sl, #0 80cf980: f280 829d bge.w 80cfebe <__ieee754_pow+0x63e> 80cf984: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80cf988: ee87 6b08 vdiv.f64 d6, d7, d8 80cf98c: ed8d 6b00 vstr d6, [sp] 80cf990: e00b b.n 80cf9aa <__ieee754_pow+0x12a> 80cf992: 2502 movs r5, #2 80cf994: e7c7 b.n 80cf926 <__ieee754_pow+0xa6> 80cf996: 2500 movs r5, #0 80cf998: e7c5 b.n 80cf926 <__ieee754_pow+0xa6> 80cf99a: f1ba 0f00 cmp.w sl, #0 80cf99e: dad6 bge.n 80cf94e <__ieee754_pow+0xce> 80cf9a0: f087 4400 eor.w r4, r7, #2147483648 ; 0x80000000 80cf9a4: 4633 mov r3, r6 80cf9a6: e88d 0018 stmia.w sp, {r3, r4} 80cf9aa: ed9d 0b00 vldr d0, [sp] 80cf9ae: b005 add sp, #20 80cf9b0: ecbd 8b02 vpop {d8} 80cf9b4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80cf9b8: f1ba 4f80 cmp.w sl, #1073741824 ; 0x40000000 80cf9bc: d102 bne.n 80cf9c4 <__ieee754_pow+0x144> 80cf9be: ee28 7b08 vmul.f64 d7, d8, d8 80cf9c2: e7c6 b.n 80cf952 <__ieee754_pow+0xd2> 80cf9c4: 4b77 ldr r3, [pc, #476] ; (80cfba4 <__ieee754_pow+0x324>) 80cf9c6: 459a cmp sl, r3 80cf9c8: d10c bne.n 80cf9e4 <__ieee754_pow+0x164> 80cf9ca: f1b9 0f00 cmp.w r9, #0 80cf9ce: db09 blt.n 80cf9e4 <__ieee754_pow+0x164> 80cf9d0: eeb0 0b48 vmov.f64 d0, d8 80cf9d4: b005 add sp, #20 80cf9d6: ecbd 8b02 vpop {d8} 80cf9da: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cf9de: f000 bc17 b.w 80d0210 <__ieee754_sqrt> 80cf9e2: 2500 movs r5, #0 80cf9e4: eeb0 0b48 vmov.f64 d0, d8 80cf9e8: f7ff fa72 bl 80ceed0 80cf9ec: ed8d 0b00 vstr d0, [sp] 80cf9f0: f1bb 0f00 cmp.w fp, #0 80cf9f4: d128 bne.n 80cfa48 <__ieee754_pow+0x1c8> 80cf9f6: b124 cbz r4, 80cfa02 <__ieee754_pow+0x182> 80cf9f8: 4b69 ldr r3, [pc, #420] ; (80cfba0 <__ieee754_pow+0x320>) 80cf9fa: f029 4240 bic.w r2, r9, #3221225472 ; 0xc0000000 80cf9fe: 429a cmp r2, r3 80cfa00: d122 bne.n 80cfa48 <__ieee754_pow+0x1c8> 80cfa02: f1ba 0f00 cmp.w sl, #0 80cfa06: da07 bge.n 80cfa18 <__ieee754_pow+0x198> 80cfa08: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80cfa0c: ed9d 5b00 vldr d5, [sp] 80cfa10: ee87 6b05 vdiv.f64 d6, d7, d5 80cfa14: ed8d 6b00 vstr d6, [sp] 80cfa18: f1b9 0f00 cmp.w r9, #0 80cfa1c: dac5 bge.n 80cf9aa <__ieee754_pow+0x12a> 80cfa1e: f104 4440 add.w r4, r4, #3221225472 ; 0xc0000000 80cfa22: f504 1480 add.w r4, r4, #1048576 ; 0x100000 80cfa26: ea54 0305 orrs.w r3, r4, r5 80cfa2a: d106 bne.n 80cfa3a <__ieee754_pow+0x1ba> 80cfa2c: ed9d 7b00 vldr d7, [sp] 80cfa30: ee37 7b47 vsub.f64 d7, d7, d7 80cfa34: ee87 6b07 vdiv.f64 d6, d7, d7 80cfa38: e7a8 b.n 80cf98c <__ieee754_pow+0x10c> 80cfa3a: 2d01 cmp r5, #1 80cfa3c: d1b5 bne.n 80cf9aa <__ieee754_pow+0x12a> 80cfa3e: ed9d 7b00 vldr d7, [sp] 80cfa42: eeb1 7b47 vneg.f64 d7, d7 80cfa46: e784 b.n 80cf952 <__ieee754_pow+0xd2> 80cfa48: ea4f 79d9 mov.w r9, r9, lsr #31 80cfa4c: f109 30ff add.w r0, r9, #4294967295 80cfa50: ea55 0300 orrs.w r3, r5, r0 80cfa54: d104 bne.n 80cfa60 <__ieee754_pow+0x1e0> 80cfa56: ee38 8b48 vsub.f64 d8, d8, d8 80cfa5a: ee88 7b08 vdiv.f64 d7, d8, d8 80cfa5e: e778 b.n 80cf952 <__ieee754_pow+0xd2> 80cfa60: 4b51 ldr r3, [pc, #324] ; (80cfba8 <__ieee754_pow+0x328>) 80cfa62: 4598 cmp r8, r3 80cfa64: f340 80a6 ble.w 80cfbb4 <__ieee754_pow+0x334> 80cfa68: f103 7304 add.w r3, r3, #34603008 ; 0x2100000 80cfa6c: 4598 cmp r8, r3 80cfa6e: dd0b ble.n 80cfa88 <__ieee754_pow+0x208> 80cfa70: 4b4a ldr r3, [pc, #296] ; (80cfb9c <__ieee754_pow+0x31c>) 80cfa72: 429c cmp r4, r3 80cfa74: dc0e bgt.n 80cfa94 <__ieee754_pow+0x214> 80cfa76: f1ba 0f00 cmp.w sl, #0 80cfa7a: f6bf af68 bge.w 80cf94e <__ieee754_pow+0xce> 80cfa7e: ed9f 7b3a vldr d7, [pc, #232] ; 80cfb68 <__ieee754_pow+0x2e8> 80cfa82: ee27 7b07 vmul.f64 d7, d7, d7 80cfa86: e764 b.n 80cf952 <__ieee754_pow+0xd2> 80cfa88: 4b48 ldr r3, [pc, #288] ; (80cfbac <__ieee754_pow+0x32c>) 80cfa8a: 429c cmp r4, r3 80cfa8c: ddf3 ble.n 80cfa76 <__ieee754_pow+0x1f6> 80cfa8e: 4b44 ldr r3, [pc, #272] ; (80cfba0 <__ieee754_pow+0x320>) 80cfa90: 429c cmp r4, r3 80cfa92: dd03 ble.n 80cfa9c <__ieee754_pow+0x21c> 80cfa94: f1ba 0f00 cmp.w sl, #0 80cfa98: dcf1 bgt.n 80cfa7e <__ieee754_pow+0x1fe> 80cfa9a: e758 b.n 80cf94e <__ieee754_pow+0xce> 80cfa9c: ed9d 7b00 vldr d7, [sp] 80cfaa0: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80cfaa4: ed9f 5b32 vldr d5, [pc, #200] ; 80cfb70 <__ieee754_pow+0x2f0> 80cfaa8: ee37 6b46 vsub.f64 d6, d7, d6 80cfaac: eeb5 7b00 vmov.f64 d7, #80 ; 0x3e800000 0.250 80cfab0: eeb1 3b46 vneg.f64 d3, d6 80cfab4: eea3 5b07 vfma.f64 d5, d3, d7 80cfab8: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80cfabc: eea3 7b05 vfma.f64 d7, d3, d5 80cfac0: ee26 5b06 vmul.f64 d5, d6, d6 80cfac4: ee27 5b05 vmul.f64 d5, d7, d5 80cfac8: ed9f 7b2b vldr d7, [pc, #172] ; 80cfb78 <__ieee754_pow+0x2f8> 80cfacc: ee27 7b45 vnmul.f64 d7, d7, d5 80cfad0: ed9f 5b2b vldr d5, [pc, #172] ; 80cfb80 <__ieee754_pow+0x300> 80cfad4: eea6 7b05 vfma.f64 d7, d6, d5 80cfad8: ed9f 5b2b vldr d5, [pc, #172] ; 80cfb88 <__ieee754_pow+0x308> 80cfadc: eeb0 4b47 vmov.f64 d4, d7 80cfae0: eea6 4b05 vfma.f64 d4, d6, d5 80cfae4: ec53 2b14 vmov r2, r3, d4 80cfae8: 2200 movs r2, #0 80cfaea: ec43 2b14 vmov d4, r2, r3 80cfaee: eeb0 6b44 vmov.f64 d6, d4 80cfaf2: eea3 6b05 vfma.f64 d6, d3, d5 80cfaf6: ee37 7b46 vsub.f64 d7, d7, d6 80cfafa: 3d01 subs r5, #1 80cfafc: ea55 0300 orrs.w r3, r5, r0 80cfb00: f04f 0200 mov.w r2, #0 80cfb04: 463b mov r3, r7 80cfb06: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80cfb0a: ec47 6b15 vmov d5, r6, r7 80cfb0e: eeb7 8b00 vmov.f64 d8, #112 ; 0x3f800000 1.0 80cfb12: bf08 it eq 80cfb14: eeb0 8b46 vmoveq.f64 d8, d6 80cfb18: ec43 2b16 vmov d6, r2, r3 80cfb1c: ee27 7b05 vmul.f64 d7, d7, d5 80cfb20: 4b23 ldr r3, [pc, #140] ; (80cfbb0 <__ieee754_pow+0x330>) 80cfb22: ee35 5b46 vsub.f64 d5, d5, d6 80cfb26: ee24 6b06 vmul.f64 d6, d4, d6 80cfb2a: eea4 7b05 vfma.f64 d7, d4, d5 80cfb2e: ee37 5b06 vadd.f64 d5, d7, d6 80cfb32: ee15 1a90 vmov r1, s11 80cfb36: 4299 cmp r1, r3 80cfb38: ee15 2a10 vmov r2, s10 80cfb3c: f340 819b ble.w 80cfe76 <__ieee754_pow+0x5f6> 80cfb40: f101 433f add.w r3, r1, #3204448256 ; 0xbf000000 80cfb44: f503 03e0 add.w r3, r3, #7340032 ; 0x700000 80cfb48: 4313 orrs r3, r2 80cfb4a: f000 810a beq.w 80cfd62 <__ieee754_pow+0x4e2> 80cfb4e: ed9f 7b06 vldr d7, [pc, #24] ; 80cfb68 <__ieee754_pow+0x2e8> 80cfb52: ee28 8b07 vmul.f64 d8, d8, d7 80cfb56: ee28 7b07 vmul.f64 d7, d8, d7 80cfb5a: e6fa b.n 80cf952 <__ieee754_pow+0xd2> 80cfb5c: f3af 8000 nop.w ... 80cfb68: 8800759c .word 0x8800759c 80cfb6c: 7e37e43c .word 0x7e37e43c 80cfb70: 55555555 .word 0x55555555 80cfb74: 3fd55555 .word 0x3fd55555 80cfb78: 652b82fe .word 0x652b82fe 80cfb7c: 3ff71547 .word 0x3ff71547 80cfb80: f85ddf44 .word 0xf85ddf44 80cfb84: 3e54ae0b .word 0x3e54ae0b 80cfb88: 60000000 .word 0x60000000 80cfb8c: 3ff71547 .word 0x3ff71547 80cfb90: 7ff00000 .word 0x7ff00000 80cfb94: 0818acf3 .word 0x0818acf3 80cfb98: 433fffff .word 0x433fffff 80cfb9c: 3fefffff .word 0x3fefffff 80cfba0: 3ff00000 .word 0x3ff00000 80cfba4: 3fe00000 .word 0x3fe00000 80cfba8: 41e00000 .word 0x41e00000 80cfbac: 3feffffe .word 0x3feffffe 80cfbb0: 408fffff .word 0x408fffff 80cfbb4: f5b4 1f80 cmp.w r4, #1048576 ; 0x100000 80cfbb8: f280 80cf bge.w 80cfd5a <__ieee754_pow+0x4da> 80cfbbc: ed9d 6b00 vldr d6, [sp] 80cfbc0: ed9f 7bc1 vldr d7, [pc, #772] ; 80cfec8 <__ieee754_pow+0x648> 80cfbc4: ee26 7b07 vmul.f64 d7, d6, d7 80cfbc8: ed8d 7b00 vstr d7, [sp] 80cfbcc: 9c01 ldr r4, [sp, #4] 80cfbce: f06f 0334 mvn.w r3, #52 ; 0x34 80cfbd2: 1521 asrs r1, r4, #20 80cfbd4: f2a1 31ff subw r1, r1, #1023 ; 0x3ff 80cfbd8: 4419 add r1, r3 80cfbda: 4be3 ldr r3, [pc, #908] ; (80cff68 <__ieee754_pow+0x6e8>) 80cfbdc: f3c4 0413 ubfx r4, r4, #0, #20 80cfbe0: f044 5e7f orr.w lr, r4, #1069547520 ; 0x3fc00000 80cfbe4: 429c cmp r4, r3 80cfbe6: f44e 1e40 orr.w lr, lr, #3145728 ; 0x300000 80cfbea: dd06 ble.n 80cfbfa <__ieee754_pow+0x37a> 80cfbec: 4bdf ldr r3, [pc, #892] ; (80cff6c <__ieee754_pow+0x6ec>) 80cfbee: 429c cmp r4, r3 80cfbf0: f340 80b5 ble.w 80cfd5e <__ieee754_pow+0x4de> 80cfbf4: 3101 adds r1, #1 80cfbf6: f5ae 1e80 sub.w lr, lr, #1048576 ; 0x100000 80cfbfa: 2400 movs r4, #0 80cfbfc: e9dd 2300 ldrd r2, r3, [sp] 80cfc00: eeb7 4b00 vmov.f64 d4, #112 ; 0x3f800000 1.0 80cfc04: 4673 mov r3, lr 80cfc06: ec43 2b17 vmov d7, r2, r3 80cfc0a: 4bd9 ldr r3, [pc, #868] ; (80cff70 <__ieee754_pow+0x6f0>) 80cfc0c: ea4f 0cc4 mov.w ip, r4, lsl #3 80cfc10: 4463 add r3, ip 80cfc12: ed93 5b00 vldr d5, [r3] 80cfc16: ea4f 0e6e mov.w lr, lr, asr #1 80cfc1a: ee37 2b45 vsub.f64 d2, d7, d5 80cfc1e: ee37 6b05 vadd.f64 d6, d7, d5 80cfc22: ee84 1b06 vdiv.f64 d1, d4, d6 80cfc26: ee22 6b01 vmul.f64 d6, d2, d1 80cfc2a: ed8d 6b00 vstr d6, [sp] 80cfc2e: e9dd 8900 ldrd r8, r9, [sp] 80cfc32: f04e 5e00 orr.w lr, lr, #536870912 ; 0x20000000 80cfc36: f50e 2e00 add.w lr, lr, #524288 ; 0x80000 80cfc3a: f04f 0800 mov.w r8, #0 80cfc3e: eb0e 4384 add.w r3, lr, r4, lsl #18 80cfc42: 2200 movs r2, #0 80cfc44: ec49 8b14 vmov d4, r8, r9 80cfc48: ec43 2b16 vmov d6, r2, r3 80cfc4c: eeb1 3b44 vneg.f64 d3, d4 80cfc50: eea3 2b06 vfma.f64 d2, d3, d6 80cfc54: ee36 6b45 vsub.f64 d6, d6, d5 80cfc58: ee37 7b46 vsub.f64 d7, d7, d6 80cfc5c: eea3 2b07 vfma.f64 d2, d3, d7 80cfc60: ed9d 7b00 vldr d7, [sp] 80cfc64: ee22 2b01 vmul.f64 d2, d2, d1 80cfc68: ee27 5b07 vmul.f64 d5, d7, d7 80cfc6c: ee37 6b04 vadd.f64 d6, d7, d4 80cfc70: ed9f 1b97 vldr d1, [pc, #604] ; 80cfed0 <__ieee754_pow+0x650> 80cfc74: ee25 0b05 vmul.f64 d0, d5, d5 80cfc78: ee26 6b02 vmul.f64 d6, d6, d2 80cfc7c: ed9f 7b96 vldr d7, [pc, #600] ; 80cfed8 <__ieee754_pow+0x658> 80cfc80: eea5 7b01 vfma.f64 d7, d5, d1 80cfc84: ed9f 1b96 vldr d1, [pc, #600] ; 80cfee0 <__ieee754_pow+0x660> 80cfc88: eea5 1b07 vfma.f64 d1, d5, d7 80cfc8c: ed9f 7b96 vldr d7, [pc, #600] ; 80cfee8 <__ieee754_pow+0x668> 80cfc90: eea5 7b01 vfma.f64 d7, d5, d1 80cfc94: ed9f 1b96 vldr d1, [pc, #600] ; 80cfef0 <__ieee754_pow+0x670> 80cfc98: eea5 1b07 vfma.f64 d1, d5, d7 80cfc9c: ed9f 7b96 vldr d7, [pc, #600] ; 80cfef8 <__ieee754_pow+0x678> 80cfca0: eea5 7b01 vfma.f64 d7, d5, d1 80cfca4: eea0 6b07 vfma.f64 d6, d0, d7 80cfca8: eeb0 7b08 vmov.f64 d7, #8 ; 0x40400000 3.0 80cfcac: eeb0 5b47 vmov.f64 d5, d7 80cfcb0: eea4 5b04 vfma.f64 d5, d4, d4 80cfcb4: ee35 5b06 vadd.f64 d5, d5, d6 80cfcb8: ed8d 5b02 vstr d5, [sp, #8] 80cfcbc: f8cd 8008 str.w r8, [sp, #8] 80cfcc0: ed9d 5b02 vldr d5, [sp, #8] 80cfcc4: ee35 7b47 vsub.f64 d7, d5, d7 80cfcc8: eea3 7b04 vfma.f64 d7, d3, d4 80cfccc: ee36 7b47 vsub.f64 d7, d6, d7 80cfcd0: ed9d 6b00 vldr d6, [sp] 80cfcd4: ee27 7b06 vmul.f64 d7, d7, d6 80cfcd8: eea2 7b05 vfma.f64 d7, d2, d5 80cfcdc: eeb0 6b47 vmov.f64 d6, d7 80cfce0: eea4 6b05 vfma.f64 d6, d4, d5 80cfce4: ed8d 6b00 vstr d6, [sp] 80cfce8: f8cd 8000 str.w r8, [sp] 80cfcec: ed9d 2b00 vldr d2, [sp] 80cfcf0: eeb0 6b42 vmov.f64 d6, d2 80cfcf4: eea3 6b05 vfma.f64 d6, d3, d5 80cfcf8: ee37 7b46 vsub.f64 d7, d7, d6 80cfcfc: ed9f 6b80 vldr d6, [pc, #512] ; 80cff00 <__ieee754_pow+0x680> 80cfd00: 4b9c ldr r3, [pc, #624] ; (80cff74 <__ieee754_pow+0x6f4>) 80cfd02: ee27 7b06 vmul.f64 d7, d7, d6 80cfd06: ed9f 6b80 vldr d6, [pc, #512] ; 80cff08 <__ieee754_pow+0x688> 80cfd0a: 4463 add r3, ip 80cfd0c: eea2 7b06 vfma.f64 d7, d2, d6 80cfd10: ed93 6b00 vldr d6, [r3] 80cfd14: 4b98 ldr r3, [pc, #608] ; (80cff78 <__ieee754_pow+0x6f8>) 80cfd16: ee37 6b06 vadd.f64 d6, d7, d6 80cfd1a: 449c add ip, r3 80cfd1c: ed9c 1b00 vldr d1, [ip] 80cfd20: eeb0 4b46 vmov.f64 d4, d6 80cfd24: ed9f 3b7a vldr d3, [pc, #488] ; 80cff10 <__ieee754_pow+0x690> 80cfd28: ee07 1a90 vmov s15, r1 80cfd2c: eea2 4b03 vfma.f64 d4, d2, d3 80cfd30: eeb8 7be7 vcvt.f64.s32 d7, s15 80cfd34: ee34 4b01 vadd.f64 d4, d4, d1 80cfd38: ee34 5b07 vadd.f64 d5, d4, d7 80cfd3c: ed8d 5b00 vstr d5, [sp] 80cfd40: f8cd 8000 str.w r8, [sp] 80cfd44: ed9d 4b00 vldr d4, [sp] 80cfd48: ee34 7b47 vsub.f64 d7, d4, d7 80cfd4c: ee37 7b41 vsub.f64 d7, d7, d1 80cfd50: eea2 7b43 vfms.f64 d7, d2, d3 80cfd54: ee36 7b47 vsub.f64 d7, d6, d7 80cfd58: e6cf b.n 80cfafa <__ieee754_pow+0x27a> 80cfd5a: 2300 movs r3, #0 80cfd5c: e739 b.n 80cfbd2 <__ieee754_pow+0x352> 80cfd5e: 2401 movs r4, #1 80cfd60: e74c b.n 80cfbfc <__ieee754_pow+0x37c> 80cfd62: ed9f 4b6d vldr d4, [pc, #436] ; 80cff18 <__ieee754_pow+0x698> 80cfd66: ee35 5b46 vsub.f64 d5, d5, d6 80cfd6a: ee37 4b04 vadd.f64 d4, d7, d4 80cfd6e: eeb4 4bc5 vcmpe.f64 d4, d5 80cfd72: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfd76: f73f aeea bgt.w 80cfb4e <__ieee754_pow+0x2ce> 80cfd7a: 4a80 ldr r2, [pc, #512] ; (80cff7c <__ieee754_pow+0x6fc>) 80cfd7c: f021 4300 bic.w r3, r1, #2147483648 ; 0x80000000 80cfd80: 4293 cmp r3, r2 80cfd82: f340 808e ble.w 80cfea2 <__ieee754_pow+0x622> 80cfd86: 151b asrs r3, r3, #20 80cfd88: f2a3 30fe subw r0, r3, #1022 ; 0x3fe 80cfd8c: f44f 1380 mov.w r3, #1048576 ; 0x100000 80cfd90: 4103 asrs r3, r0 80cfd92: 440b add r3, r1 80cfd94: f3c3 520a ubfx r2, r3, #20, #11 80cfd98: 4879 ldr r0, [pc, #484] ; (80cff80 <__ieee754_pow+0x700>) 80cfd9a: f2a2 32ff subw r2, r2, #1023 ; 0x3ff 80cfd9e: 4110 asrs r0, r2 80cfda0: ea23 0500 bic.w r5, r3, r0 80cfda4: f3c3 0013 ubfx r0, r3, #0, #20 80cfda8: 2400 movs r4, #0 80cfdaa: f440 1080 orr.w r0, r0, #1048576 ; 0x100000 80cfdae: f1c2 0214 rsb r2, r2, #20 80cfdb2: ec45 4b15 vmov d5, r4, r5 80cfdb6: 4110 asrs r0, r2 80cfdb8: 2900 cmp r1, #0 80cfdba: bfb8 it lt 80cfdbc: 4240 neglt r0, r0 80cfdbe: ee36 6b45 vsub.f64 d6, d6, d5 80cfdc2: ee36 5b07 vadd.f64 d5, d6, d7 80cfdc6: ec53 2b15 vmov r2, r3, d5 80cfdca: 2200 movs r2, #0 80cfdcc: ec43 2b15 vmov d5, r2, r3 80cfdd0: ed9f 4b53 vldr d4, [pc, #332] ; 80cff20 <__ieee754_pow+0x6a0> 80cfdd4: ee35 6b46 vsub.f64 d6, d5, d6 80cfdd8: ee37 6b46 vsub.f64 d6, d7, d6 80cfddc: ed9f 7b52 vldr d7, [pc, #328] ; 80cff28 <__ieee754_pow+0x6a8> 80cfde0: ee25 7b07 vmul.f64 d7, d5, d7 80cfde4: eea6 7b04 vfma.f64 d7, d6, d4 80cfde8: ed9f 6b51 vldr d6, [pc, #324] ; 80cff30 <__ieee754_pow+0x6b0> 80cfdec: eeb0 4b47 vmov.f64 d4, d7 80cfdf0: eea5 4b06 vfma.f64 d4, d5, d6 80cfdf4: eeb0 3b44 vmov.f64 d3, d4 80cfdf8: eea5 3b46 vfms.f64 d3, d5, d6 80cfdfc: ed9f 5b4e vldr d5, [pc, #312] ; 80cff38 <__ieee754_pow+0x6b8> 80cfe00: ee37 7b43 vsub.f64 d7, d7, d3 80cfe04: ee24 6b04 vmul.f64 d6, d4, d4 80cfe08: ed9f 3b4d vldr d3, [pc, #308] ; 80cff40 <__ieee754_pow+0x6c0> 80cfe0c: eea4 7b07 vfma.f64 d7, d4, d7 80cfe10: eea6 3b05 vfma.f64 d3, d6, d5 80cfe14: ed9f 5b4c vldr d5, [pc, #304] ; 80cff48 <__ieee754_pow+0x6c8> 80cfe18: eea6 5b03 vfma.f64 d5, d6, d3 80cfe1c: ed9f 3b4c vldr d3, [pc, #304] ; 80cff50 <__ieee754_pow+0x6d0> 80cfe20: eea6 3b05 vfma.f64 d3, d6, d5 80cfe24: ed9f 5b4c vldr d5, [pc, #304] ; 80cff58 <__ieee754_pow+0x6d8> 80cfe28: eea6 5b03 vfma.f64 d5, d6, d3 80cfe2c: eeb0 3b44 vmov.f64 d3, d4 80cfe30: eea6 3b45 vfms.f64 d3, d6, d5 80cfe34: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 80cfe38: eeb0 6b43 vmov.f64 d6, d3 80cfe3c: ee24 3b03 vmul.f64 d3, d4, d3 80cfe40: ee36 5b45 vsub.f64 d5, d6, d5 80cfe44: ee83 6b05 vdiv.f64 d6, d3, d5 80cfe48: ee36 7b47 vsub.f64 d7, d6, d7 80cfe4c: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80cfe50: ee37 7b44 vsub.f64 d7, d7, d4 80cfe54: ee36 7b47 vsub.f64 d7, d6, d7 80cfe58: ed8d 7b00 vstr d7, [sp] 80cfe5c: 9901 ldr r1, [sp, #4] 80cfe5e: eb01 5100 add.w r1, r1, r0, lsl #20 80cfe62: f5b1 1f80 cmp.w r1, #1048576 ; 0x100000 80cfe66: da1e bge.n 80cfea6 <__ieee754_pow+0x626> 80cfe68: eeb0 0b47 vmov.f64 d0, d7 80cfe6c: f001 f95c bl 80d1128 80cfe70: ee20 7b08 vmul.f64 d7, d0, d8 80cfe74: e56d b.n 80cf952 <__ieee754_pow+0xd2> 80cfe76: 4b43 ldr r3, [pc, #268] ; (80cff84 <__ieee754_pow+0x704>) 80cfe78: f021 4000 bic.w r0, r1, #2147483648 ; 0x80000000 80cfe7c: 4298 cmp r0, r3 80cfe7e: f77f af7c ble.w 80cfd7a <__ieee754_pow+0x4fa> 80cfe82: 4b41 ldr r3, [pc, #260] ; (80cff88 <__ieee754_pow+0x708>) 80cfe84: 440b add r3, r1 80cfe86: 4313 orrs r3, r2 80cfe88: d002 beq.n 80cfe90 <__ieee754_pow+0x610> 80cfe8a: ed9f 7b35 vldr d7, [pc, #212] ; 80cff60 <__ieee754_pow+0x6e0> 80cfe8e: e660 b.n 80cfb52 <__ieee754_pow+0x2d2> 80cfe90: ee35 5b46 vsub.f64 d5, d5, d6 80cfe94: eeb4 7bc5 vcmpe.f64 d7, d5 80cfe98: eef1 fa10 vmrs APSR_nzcv, fpscr 80cfe9c: f63f af6d bhi.w 80cfd7a <__ieee754_pow+0x4fa> 80cfea0: e7f3 b.n 80cfe8a <__ieee754_pow+0x60a> 80cfea2: 2000 movs r0, #0 80cfea4: e78d b.n 80cfdc2 <__ieee754_pow+0x542> 80cfea6: e9dd 2300 ldrd r2, r3, [sp] 80cfeaa: 460b mov r3, r1 80cfeac: ec43 2b10 vmov d0, r2, r3 80cfeb0: e7de b.n 80cfe70 <__ieee754_pow+0x5f0> 80cfeb2: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80cfeb6: e54c b.n 80cf952 <__ieee754_pow+0xd2> 80cfeb8: e9cd 6700 strd r6, r7, [sp] 80cfebc: e575 b.n 80cf9aa <__ieee754_pow+0x12a> 80cfebe: ed8d 8b00 vstr d8, [sp] 80cfec2: e572 b.n 80cf9aa <__ieee754_pow+0x12a> 80cfec4: 4615 mov r5, r2 80cfec6: e556 b.n 80cf976 <__ieee754_pow+0xf6> 80cfec8: 00000000 .word 0x00000000 80cfecc: 43400000 .word 0x43400000 80cfed0: 4a454eef .word 0x4a454eef 80cfed4: 3fca7e28 .word 0x3fca7e28 80cfed8: 93c9db65 .word 0x93c9db65 80cfedc: 3fcd864a .word 0x3fcd864a 80cfee0: a91d4101 .word 0xa91d4101 80cfee4: 3fd17460 .word 0x3fd17460 80cfee8: 518f264d .word 0x518f264d 80cfeec: 3fd55555 .word 0x3fd55555 80cfef0: db6fabff .word 0xdb6fabff 80cfef4: 3fdb6db6 .word 0x3fdb6db6 80cfef8: 33333303 .word 0x33333303 80cfefc: 3fe33333 .word 0x3fe33333 80cff00: dc3a03fd .word 0xdc3a03fd 80cff04: 3feec709 .word 0x3feec709 80cff08: 145b01f5 .word 0x145b01f5 80cff0c: be3e2fe0 .word 0xbe3e2fe0 80cff10: e0000000 .word 0xe0000000 80cff14: 3feec709 .word 0x3feec709 80cff18: 652b82fe .word 0x652b82fe 80cff1c: 3c971547 .word 0x3c971547 80cff20: fefa39ef .word 0xfefa39ef 80cff24: 3fe62e42 .word 0x3fe62e42 80cff28: 0ca86c39 .word 0x0ca86c39 80cff2c: be205c61 .word 0xbe205c61 80cff30: 00000000 .word 0x00000000 80cff34: 3fe62e43 .word 0x3fe62e43 80cff38: 72bea4d0 .word 0x72bea4d0 80cff3c: 3e663769 .word 0x3e663769 80cff40: c5d26bf1 .word 0xc5d26bf1 80cff44: bebbbd41 .word 0xbebbbd41 80cff48: af25de2c .word 0xaf25de2c 80cff4c: 3f11566a .word 0x3f11566a 80cff50: 16bebd93 .word 0x16bebd93 80cff54: bf66c16c .word 0xbf66c16c 80cff58: 5555553e .word 0x5555553e 80cff5c: 3fc55555 .word 0x3fc55555 80cff60: c2f8f359 .word 0xc2f8f359 80cff64: 01a56e1f .word 0x01a56e1f 80cff68: 0003988e .word 0x0003988e 80cff6c: 000bb679 .word 0x000bb679 80cff70: 0818aa40 .word 0x0818aa40 80cff74: 0818aa60 .word 0x0818aa60 80cff78: 0818aa50 .word 0x0818aa50 80cff7c: 3fe00000 .word 0x3fe00000 80cff80: 000fffff .word 0x000fffff 80cff84: 4090cbff .word 0x4090cbff 80cff88: 3f6f3400 .word 0x3f6f3400 80cff8c: 00000000 .word 0x00000000 080cff90 <__ieee754_rem_pio2>: 80cff90: b5f0 push {r4, r5, r6, r7, lr} 80cff92: eeb0 7b40 vmov.f64 d7, d0 80cff96: ee17 5a90 vmov r5, s15 80cff9a: 4b97 ldr r3, [pc, #604] ; (80d01f8 <__ieee754_rem_pio2+0x268>) 80cff9c: f025 4600 bic.w r6, r5, #2147483648 ; 0x80000000 80cffa0: 429e cmp r6, r3 80cffa2: b089 sub sp, #36 ; 0x24 80cffa4: 4604 mov r4, r0 80cffa6: dc07 bgt.n 80cffb8 <__ieee754_rem_pio2+0x28> 80cffa8: 2200 movs r2, #0 80cffaa: 2300 movs r3, #0 80cffac: ed84 0b00 vstr d0, [r4] 80cffb0: e9c0 2302 strd r2, r3, [r0, #8] 80cffb4: 2000 movs r0, #0 80cffb6: e01b b.n 80cfff0 <__ieee754_rem_pio2+0x60> 80cffb8: 4b90 ldr r3, [pc, #576] ; (80d01fc <__ieee754_rem_pio2+0x26c>) 80cffba: 429e cmp r6, r3 80cffbc: dc3b bgt.n 80d0036 <__ieee754_rem_pio2+0xa6> 80cffbe: f5a3 231b sub.w r3, r3, #634880 ; 0x9b000 80cffc2: 2d00 cmp r5, #0 80cffc4: ed9f 6b7c vldr d6, [pc, #496] ; 80d01b8 <__ieee754_rem_pio2+0x228> 80cffc8: f5a3 63f0 sub.w r3, r3, #1920 ; 0x780 80cffcc: dd19 ble.n 80d0002 <__ieee754_rem_pio2+0x72> 80cffce: ee30 7b46 vsub.f64 d7, d0, d6 80cffd2: 429e cmp r6, r3 80cffd4: d00e beq.n 80cfff4 <__ieee754_rem_pio2+0x64> 80cffd6: ed9f 6b7a vldr d6, [pc, #488] ; 80d01c0 <__ieee754_rem_pio2+0x230> 80cffda: ee37 5b46 vsub.f64 d5, d7, d6 80cffde: ee37 7b45 vsub.f64 d7, d7, d5 80cffe2: ed84 5b00 vstr d5, [r4] 80cffe6: ee37 7b46 vsub.f64 d7, d7, d6 80cffea: ed84 7b02 vstr d7, [r4, #8] 80cffee: 2001 movs r0, #1 80cfff0: b009 add sp, #36 ; 0x24 80cfff2: bdf0 pop {r4, r5, r6, r7, pc} 80cfff4: ed9f 6b74 vldr d6, [pc, #464] ; 80d01c8 <__ieee754_rem_pio2+0x238> 80cfff8: ee37 7b46 vsub.f64 d7, d7, d6 80cfffc: ed9f 6b74 vldr d6, [pc, #464] ; 80d01d0 <__ieee754_rem_pio2+0x240> 80d0000: e7eb b.n 80cffda <__ieee754_rem_pio2+0x4a> 80d0002: 429e cmp r6, r3 80d0004: ee30 7b06 vadd.f64 d7, d0, d6 80d0008: d00e beq.n 80d0028 <__ieee754_rem_pio2+0x98> 80d000a: ed9f 6b6d vldr d6, [pc, #436] ; 80d01c0 <__ieee754_rem_pio2+0x230> 80d000e: ee37 5b06 vadd.f64 d5, d7, d6 80d0012: ee37 7b45 vsub.f64 d7, d7, d5 80d0016: ed84 5b00 vstr d5, [r4] 80d001a: ee37 7b06 vadd.f64 d7, d7, d6 80d001e: f04f 30ff mov.w r0, #4294967295 80d0022: ed84 7b02 vstr d7, [r4, #8] 80d0026: e7e3 b.n 80cfff0 <__ieee754_rem_pio2+0x60> 80d0028: ed9f 6b67 vldr d6, [pc, #412] ; 80d01c8 <__ieee754_rem_pio2+0x238> 80d002c: ee37 7b06 vadd.f64 d7, d7, d6 80d0030: ed9f 6b67 vldr d6, [pc, #412] ; 80d01d0 <__ieee754_rem_pio2+0x240> 80d0034: e7eb b.n 80d000e <__ieee754_rem_pio2+0x7e> 80d0036: 4b72 ldr r3, [pc, #456] ; (80d0200 <__ieee754_rem_pio2+0x270>) 80d0038: 429e cmp r6, r3 80d003a: dc6e bgt.n 80d011a <__ieee754_rem_pio2+0x18a> 80d003c: f7fe ff48 bl 80ceed0 80d0040: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80d0044: ed9f 6b64 vldr d6, [pc, #400] ; 80d01d8 <__ieee754_rem_pio2+0x248> 80d0048: eea0 7b06 vfma.f64 d7, d0, d6 80d004c: eefd 7bc7 vcvt.s32.f64 s15, d7 80d0050: eeb8 4be7 vcvt.f64.s32 d4, s15 80d0054: ee17 0a90 vmov r0, s15 80d0058: eeb1 5b44 vneg.f64 d5, d4 80d005c: ed9f 7b56 vldr d7, [pc, #344] ; 80d01b8 <__ieee754_rem_pio2+0x228> 80d0060: eea5 0b07 vfma.f64 d0, d5, d7 80d0064: ed9f 7b56 vldr d7, [pc, #344] ; 80d01c0 <__ieee754_rem_pio2+0x230> 80d0068: 281f cmp r0, #31 80d006a: ee24 7b07 vmul.f64 d7, d4, d7 80d006e: ee30 6b47 vsub.f64 d6, d0, d7 80d0072: dc1b bgt.n 80d00ac <__ieee754_rem_pio2+0x11c> 80d0074: 1e42 subs r2, r0, #1 80d0076: 4b63 ldr r3, [pc, #396] ; (80d0204 <__ieee754_rem_pio2+0x274>) 80d0078: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80d007c: 429e cmp r6, r3 80d007e: d015 beq.n 80d00ac <__ieee754_rem_pio2+0x11c> 80d0080: ed84 6b00 vstr d6, [r4] 80d0084: ed94 6b00 vldr d6, [r4] 80d0088: 2d00 cmp r5, #0 80d008a: ee30 0b46 vsub.f64 d0, d0, d6 80d008e: ee30 7b47 vsub.f64 d7, d0, d7 80d0092: ed84 7b02 vstr d7, [r4, #8] 80d0096: daab bge.n 80cfff0 <__ieee754_rem_pio2+0x60> 80d0098: eeb1 6b46 vneg.f64 d6, d6 80d009c: ed84 6b00 vstr d6, [r4] 80d00a0: eeb1 7b47 vneg.f64 d7, d7 80d00a4: 4240 negs r0, r0 80d00a6: ed84 7b02 vstr d7, [r4, #8] 80d00aa: e7a1 b.n 80cfff0 <__ieee754_rem_pio2+0x60> 80d00ac: ee16 3a90 vmov r3, s13 80d00b0: 1536 asrs r6, r6, #20 80d00b2: f3c3 530a ubfx r3, r3, #20, #11 80d00b6: 1af3 subs r3, r6, r3 80d00b8: 2b10 cmp r3, #16 80d00ba: ed84 6b00 vstr d6, [r4] 80d00be: dde1 ble.n 80d0084 <__ieee754_rem_pio2+0xf4> 80d00c0: eeb0 6b40 vmov.f64 d6, d0 80d00c4: ed9f 3b40 vldr d3, [pc, #256] ; 80d01c8 <__ieee754_rem_pio2+0x238> 80d00c8: eea5 6b03 vfma.f64 d6, d5, d3 80d00cc: ee30 7b46 vsub.f64 d7, d0, d6 80d00d0: eea5 7b03 vfma.f64 d7, d5, d3 80d00d4: ed9f 3b3e vldr d3, [pc, #248] ; 80d01d0 <__ieee754_rem_pio2+0x240> 80d00d8: ee94 7b03 vfnms.f64 d7, d4, d3 80d00dc: ee36 3b47 vsub.f64 d3, d6, d7 80d00e0: ee13 3a90 vmov r3, s7 80d00e4: f3c3 530a ubfx r3, r3, #20, #11 80d00e8: 1af6 subs r6, r6, r3 80d00ea: 2e31 cmp r6, #49 ; 0x31 80d00ec: ed84 3b00 vstr d3, [r4] 80d00f0: dd10 ble.n 80d0114 <__ieee754_rem_pio2+0x184> 80d00f2: eeb0 0b46 vmov.f64 d0, d6 80d00f6: ed9f 3b3a vldr d3, [pc, #232] ; 80d01e0 <__ieee754_rem_pio2+0x250> 80d00fa: eea5 0b03 vfma.f64 d0, d5, d3 80d00fe: ee36 7b40 vsub.f64 d7, d6, d0 80d0102: ed9f 6b39 vldr d6, [pc, #228] ; 80d01e8 <__ieee754_rem_pio2+0x258> 80d0106: eea5 7b03 vfma.f64 d7, d5, d3 80d010a: ee94 7b06 vfnms.f64 d7, d4, d6 80d010e: ee30 6b47 vsub.f64 d6, d0, d7 80d0112: e7b5 b.n 80d0080 <__ieee754_rem_pio2+0xf0> 80d0114: eeb0 0b46 vmov.f64 d0, d6 80d0118: e7b4 b.n 80d0084 <__ieee754_rem_pio2+0xf4> 80d011a: 4b3b ldr r3, [pc, #236] ; (80d0208 <__ieee754_rem_pio2+0x278>) 80d011c: 429e cmp r6, r3 80d011e: dd06 ble.n 80d012e <__ieee754_rem_pio2+0x19e> 80d0120: ee30 7b40 vsub.f64 d7, d0, d0 80d0124: ed80 7b02 vstr d7, [r0, #8] 80d0128: ed80 7b00 vstr d7, [r0] 80d012c: e742 b.n 80cffb4 <__ieee754_rem_pio2+0x24> 80d012e: ee10 3a10 vmov r3, s0 80d0132: 1532 asrs r2, r6, #20 80d0134: f2a2 4216 subw r2, r2, #1046 ; 0x416 80d0138: 4618 mov r0, r3 80d013a: eba6 5102 sub.w r1, r6, r2, lsl #20 80d013e: ec41 0b17 vmov d7, r0, r1 80d0142: eebd 6bc7 vcvt.s32.f64 s12, d7 80d0146: ed9f 5b2a vldr d5, [pc, #168] ; 80d01f0 <__ieee754_rem_pio2+0x260> 80d014a: eeb8 6bc6 vcvt.f64.s32 d6, s12 80d014e: ee37 7b46 vsub.f64 d7, d7, d6 80d0152: ed8d 6b02 vstr d6, [sp, #8] 80d0156: ee27 7b05 vmul.f64 d7, d7, d5 80d015a: eebd 6bc7 vcvt.s32.f64 s12, d7 80d015e: a908 add r1, sp, #32 80d0160: eeb8 6bc6 vcvt.f64.s32 d6, s12 80d0164: ee37 7b46 vsub.f64 d7, d7, d6 80d0168: ed8d 6b04 vstr d6, [sp, #16] 80d016c: ee27 7b05 vmul.f64 d7, d7, d5 80d0170: ed8d 7b06 vstr d7, [sp, #24] 80d0174: 2303 movs r3, #3 80d0176: ed31 7b02 vldmdb r1!, {d7} 80d017a: eeb5 7b40 vcmp.f64 d7, #0.0 80d017e: eef1 fa10 vmrs APSR_nzcv, fpscr 80d0182: f103 30ff add.w r0, r3, #4294967295 80d0186: d013 beq.n 80d01b0 <__ieee754_rem_pio2+0x220> 80d0188: 4920 ldr r1, [pc, #128] ; (80d020c <__ieee754_rem_pio2+0x27c>) 80d018a: 9101 str r1, [sp, #4] 80d018c: 2102 movs r1, #2 80d018e: 9100 str r1, [sp, #0] 80d0190: a802 add r0, sp, #8 80d0192: 4621 mov r1, r4 80d0194: f000 fad8 bl 80d0748 <__kernel_rem_pio2> 80d0198: 2d00 cmp r5, #0 80d019a: f6bf af29 bge.w 80cfff0 <__ieee754_rem_pio2+0x60> 80d019e: ed94 7b00 vldr d7, [r4] 80d01a2: eeb1 7b47 vneg.f64 d7, d7 80d01a6: ed84 7b00 vstr d7, [r4] 80d01aa: ed94 7b02 vldr d7, [r4, #8] 80d01ae: e777 b.n 80d00a0 <__ieee754_rem_pio2+0x110> 80d01b0: 4603 mov r3, r0 80d01b2: e7e0 b.n 80d0176 <__ieee754_rem_pio2+0x1e6> 80d01b4: f3af 8000 nop.w 80d01b8: 54400000 .word 0x54400000 80d01bc: 3ff921fb .word 0x3ff921fb 80d01c0: 1a626331 .word 0x1a626331 80d01c4: 3dd0b461 .word 0x3dd0b461 80d01c8: 1a600000 .word 0x1a600000 80d01cc: 3dd0b461 .word 0x3dd0b461 80d01d0: 2e037073 .word 0x2e037073 80d01d4: 3ba3198a .word 0x3ba3198a 80d01d8: 6dc9c883 .word 0x6dc9c883 80d01dc: 3fe45f30 .word 0x3fe45f30 80d01e0: 2e000000 .word 0x2e000000 80d01e4: 3ba3198a .word 0x3ba3198a 80d01e8: 252049c1 .word 0x252049c1 80d01ec: 397b839a .word 0x397b839a 80d01f0: 00000000 .word 0x00000000 80d01f4: 41700000 .word 0x41700000 80d01f8: 3fe921fb .word 0x3fe921fb 80d01fc: 4002d97b .word 0x4002d97b 80d0200: 413921fb .word 0x413921fb 80d0204: 0818aa70 .word 0x0818aa70 80d0208: 7fefffff .word 0x7fefffff 80d020c: 0818aaf0 .word 0x0818aaf0 080d0210 <__ieee754_sqrt>: 80d0210: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80d0214: ee10 3a90 vmov r3, s1 80d0218: 4c4b ldr r4, [pc, #300] ; (80d0348 <__ieee754_sqrt+0x138>) 80d021a: 439c bics r4, r3 80d021c: ee10 0a10 vmov r0, s0 80d0220: ee10 2a90 vmov r2, s1 80d0224: ee10 1a10 vmov r1, s0 80d0228: d103 bne.n 80d0232 <__ieee754_sqrt+0x22> 80d022a: eea0 0b00 vfma.f64 d0, d0, d0 80d022e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d0232: 2b00 cmp r3, #0 80d0234: dc0a bgt.n 80d024c <__ieee754_sqrt+0x3c> 80d0236: f023 4400 bic.w r4, r3, #2147483648 ; 0x80000000 80d023a: 4320 orrs r0, r4 80d023c: d079 beq.n 80d0332 <__ieee754_sqrt+0x122> 80d023e: b12b cbz r3, 80d024c <__ieee754_sqrt+0x3c> 80d0240: ee30 7b40 vsub.f64 d7, d0, d0 80d0244: ee87 0b07 vdiv.f64 d0, d7, d7 80d0248: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d024c: 151b asrs r3, r3, #20 80d024e: d10c bne.n 80d026a <__ieee754_sqrt+0x5a> 80d0250: 2a00 cmp r2, #0 80d0252: d070 beq.n 80d0336 <__ieee754_sqrt+0x126> 80d0254: 2000 movs r0, #0 80d0256: 02d5 lsls r5, r2, #11 80d0258: d571 bpl.n 80d033e <__ieee754_sqrt+0x12e> 80d025a: 1e44 subs r4, r0, #1 80d025c: 1b1b subs r3, r3, r4 80d025e: f1c0 0420 rsb r4, r0, #32 80d0262: fa21 f404 lsr.w r4, r1, r4 80d0266: 4322 orrs r2, r4 80d0268: 4081 lsls r1, r0 80d026a: f2a3 33ff subw r3, r3, #1023 ; 0x3ff 80d026e: f3c2 0213 ubfx r2, r2, #0, #20 80d0272: 07dc lsls r4, r3, #31 80d0274: f442 1280 orr.w r2, r2, #1048576 ; 0x100000 80d0278: bf42 ittt mi 80d027a: 0052 lslmi r2, r2, #1 80d027c: eb02 72d1 addmi.w r2, r2, r1, lsr #31 80d0280: 0049 lslmi r1, r1, #1 80d0282: 105c asrs r4, r3, #1 80d0284: 2500 movs r5, #0 80d0286: eb02 73d1 add.w r3, r2, r1, lsr #31 80d028a: 441a add r2, r3 80d028c: 0049 lsls r1, r1, #1 80d028e: 2316 movs r3, #22 80d0290: 4628 mov r0, r5 80d0292: f44f 1600 mov.w r6, #2097152 ; 0x200000 80d0296: 1987 adds r7, r0, r6 80d0298: 4297 cmp r7, r2 80d029a: bfde ittt le 80d029c: 1bd2 suble r2, r2, r7 80d029e: 19b8 addle r0, r7, r6 80d02a0: 19ad addle r5, r5, r6 80d02a2: 0052 lsls r2, r2, #1 80d02a4: 3b01 subs r3, #1 80d02a6: eb02 72d1 add.w r2, r2, r1, lsr #31 80d02aa: ea4f 0656 mov.w r6, r6, lsr #1 80d02ae: ea4f 0141 mov.w r1, r1, lsl #1 80d02b2: d1f0 bne.n 80d0296 <__ieee754_sqrt+0x86> 80d02b4: f04f 0e20 mov.w lr, #32 80d02b8: 469c mov ip, r3 80d02ba: f04f 4600 mov.w r6, #2147483648 ; 0x80000000 80d02be: 4282 cmp r2, r0 80d02c0: eb06 070c add.w r7, r6, ip 80d02c4: dc02 bgt.n 80d02cc <__ieee754_sqrt+0xbc> 80d02c6: d112 bne.n 80d02ee <__ieee754_sqrt+0xde> 80d02c8: 428f cmp r7, r1 80d02ca: d810 bhi.n 80d02ee <__ieee754_sqrt+0xde> 80d02cc: 2f00 cmp r7, #0 80d02ce: eb07 0c06 add.w ip, r7, r6 80d02d2: da37 bge.n 80d0344 <__ieee754_sqrt+0x134> 80d02d4: f1bc 0f00 cmp.w ip, #0 80d02d8: db34 blt.n 80d0344 <__ieee754_sqrt+0x134> 80d02da: f100 0801 add.w r8, r0, #1 80d02de: 1a12 subs r2, r2, r0 80d02e0: 428f cmp r7, r1 80d02e2: bf88 it hi 80d02e4: f102 32ff addhi.w r2, r2, #4294967295 80d02e8: 1bc9 subs r1, r1, r7 80d02ea: 4433 add r3, r6 80d02ec: 4640 mov r0, r8 80d02ee: eb02 77d1 add.w r7, r2, r1, lsr #31 80d02f2: f1be 0e01 subs.w lr, lr, #1 80d02f6: 443a add r2, r7 80d02f8: ea4f 0141 mov.w r1, r1, lsl #1 80d02fc: ea4f 0656 mov.w r6, r6, lsr #1 80d0300: d1dd bne.n 80d02be <__ieee754_sqrt+0xae> 80d0302: 430a orrs r2, r1 80d0304: d006 beq.n 80d0314 <__ieee754_sqrt+0x104> 80d0306: 1c58 adds r0, r3, #1 80d0308: bf13 iteet ne 80d030a: 3301 addne r3, #1 80d030c: 3501 addeq r5, #1 80d030e: 4673 moveq r3, lr 80d0310: f023 0301 bicne.w r3, r3, #1 80d0314: 106a asrs r2, r5, #1 80d0316: 085b lsrs r3, r3, #1 80d0318: 07e9 lsls r1, r5, #31 80d031a: f102 527f add.w r2, r2, #1069547520 ; 0x3fc00000 80d031e: f502 1200 add.w r2, r2, #2097152 ; 0x200000 80d0322: bf48 it mi 80d0324: f043 4300 orrmi.w r3, r3, #2147483648 ; 0x80000000 80d0328: eb02 5104 add.w r1, r2, r4, lsl #20 80d032c: 4618 mov r0, r3 80d032e: ec41 0b10 vmov d0, r0, r1 80d0332: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d0336: 0aca lsrs r2, r1, #11 80d0338: 3b15 subs r3, #21 80d033a: 0549 lsls r1, r1, #21 80d033c: e788 b.n 80d0250 <__ieee754_sqrt+0x40> 80d033e: 0052 lsls r2, r2, #1 80d0340: 3001 adds r0, #1 80d0342: e788 b.n 80d0256 <__ieee754_sqrt+0x46> 80d0344: 4680 mov r8, r0 80d0346: e7ca b.n 80d02de <__ieee754_sqrt+0xce> 80d0348: 7ff00000 .word 0x7ff00000 080d034c <__ieee754_logf>: 80d034c: ee10 3a10 vmov r3, s0 80d0350: f033 4200 bics.w r2, r3, #2147483648 ; 0x80000000 80d0354: d106 bne.n 80d0364 <__ieee754_logf+0x18> 80d0356: eddf 7a67 vldr s15, [pc, #412] ; 80d04f4 <__ieee754_logf+0x1a8> 80d035a: ed9f 7a67 vldr s14, [pc, #412] ; 80d04f8 <__ieee754_logf+0x1ac> 80d035e: ee87 0a27 vdiv.f32 s0, s14, s15 80d0362: 4770 bx lr 80d0364: 2b00 cmp r3, #0 80d0366: da04 bge.n 80d0372 <__ieee754_logf+0x26> 80d0368: ee30 7a40 vsub.f32 s14, s0, s0 80d036c: eddf 7a61 vldr s15, [pc, #388] ; 80d04f4 <__ieee754_logf+0x1a8> 80d0370: e7f5 b.n 80d035e <__ieee754_logf+0x12> 80d0372: f1b3 4fff cmp.w r3, #2139095040 ; 0x7f800000 80d0376: db02 blt.n 80d037e <__ieee754_logf+0x32> 80d0378: ee30 0a00 vadd.f32 s0, s0, s0 80d037c: 4770 bx lr 80d037e: f5b3 0f00 cmp.w r3, #8388608 ; 0x800000 80d0382: bfbf itttt lt 80d0384: eddf 7a5d vldrlt s15, [pc, #372] ; 80d04fc <__ieee754_logf+0x1b0> 80d0388: ee60 7a27 vmullt.f32 s15, s0, s15 80d038c: f06f 0118 mvnlt.w r1, #24 80d0390: ee17 3a90 vmovlt r3, s15 80d0394: ea4f 52e3 mov.w r2, r3, asr #23 80d0398: bfa8 it ge 80d039a: 2100 movge r1, #0 80d039c: 3a7f subs r2, #127 ; 0x7f 80d039e: 440a add r2, r1 80d03a0: 4957 ldr r1, [pc, #348] ; (80d0500 <__ieee754_logf+0x1b4>) 80d03a2: f3c3 0316 ubfx r3, r3, #0, #23 80d03a6: 4419 add r1, r3 80d03a8: f401 0100 and.w r1, r1, #8388608 ; 0x800000 80d03ac: eb02 52d1 add.w r2, r2, r1, lsr #23 80d03b0: f081 517e eor.w r1, r1, #1065353216 ; 0x3f800000 80d03b4: 4319 orrs r1, r3 80d03b6: ee07 1a90 vmov s15, r1 80d03ba: f103 010f add.w r1, r3, #15 80d03be: f3c1 0116 ubfx r1, r1, #0, #23 80d03c2: eeb7 0a00 vmov.f32 s0, #112 ; 0x3f800000 1.0 80d03c6: 290f cmp r1, #15 80d03c8: ee37 0ac0 vsub.f32 s0, s15, s0 80d03cc: dc31 bgt.n 80d0432 <__ieee754_logf+0xe6> 80d03ce: eeb5 0a40 vcmp.f32 s0, #0.0 80d03d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80d03d6: d10f bne.n 80d03f8 <__ieee754_logf+0xac> 80d03d8: 2a00 cmp r2, #0 80d03da: f000 8087 beq.w 80d04ec <__ieee754_logf+0x1a0> 80d03de: ee07 2a90 vmov s15, r2 80d03e2: ed9f 0a48 vldr s0, [pc, #288] ; 80d0504 <__ieee754_logf+0x1b8> 80d03e6: ed9f 7a48 vldr s14, [pc, #288] ; 80d0508 <__ieee754_logf+0x1bc> 80d03ea: eef8 7ae7 vcvt.f32.s32 s15, s15 80d03ee: ee27 0a80 vmul.f32 s0, s15, s0 80d03f2: eea7 0a87 vfma.f32 s0, s15, s14 80d03f6: 4770 bx lr 80d03f8: eddf 7a44 vldr s15, [pc, #272] ; 80d050c <__ieee754_logf+0x1c0> 80d03fc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80d0400: eea0 7a67 vfms.f32 s14, s0, s15 80d0404: ee60 7a00 vmul.f32 s15, s0, s0 80d0408: ee27 7a27 vmul.f32 s14, s14, s15 80d040c: b912 cbnz r2, 80d0414 <__ieee754_logf+0xc8> 80d040e: ee30 0a47 vsub.f32 s0, s0, s14 80d0412: 4770 bx lr 80d0414: ee07 2a90 vmov s15, r2 80d0418: eddf 6a3a vldr s13, [pc, #232] ; 80d0504 <__ieee754_logf+0x1b8> 80d041c: eef8 7ae7 vcvt.f32.s32 s15, s15 80d0420: eea7 7ae6 vfms.f32 s14, s15, s13 80d0424: ee37 0a40 vsub.f32 s0, s14, s0 80d0428: ed9f 7a37 vldr s14, [pc, #220] ; 80d0508 <__ieee754_logf+0x1bc> 80d042c: ee97 0a87 vfnms.f32 s0, s15, s14 80d0430: 4770 bx lr 80d0432: eef0 7a00 vmov.f32 s15, #0 ; 0x40000000 2.0 80d0436: ee70 7a27 vadd.f32 s15, s0, s15 80d043a: ed9f 5a35 vldr s10, [pc, #212] ; 80d0510 <__ieee754_logf+0x1c4> 80d043e: 4935 ldr r1, [pc, #212] ; (80d0514 <__ieee754_logf+0x1c8>) 80d0440: eec0 6a27 vdiv.f32 s13, s0, s15 80d0444: 4419 add r1, r3 80d0446: f5c3 1357 rsb r3, r3, #3522560 ; 0x35c000 80d044a: f503 7322 add.w r3, r3, #648 ; 0x288 80d044e: 430b orrs r3, r1 80d0450: 2b00 cmp r3, #0 80d0452: ee07 2a90 vmov s15, r2 80d0456: ee26 6aa6 vmul.f32 s12, s13, s13 80d045a: eef8 5ae7 vcvt.f32.s32 s11, s15 80d045e: ee26 7a06 vmul.f32 s14, s12, s12 80d0462: eddf 7a2d vldr s15, [pc, #180] ; 80d0518 <__ieee754_logf+0x1cc> 80d0466: eee7 7a05 vfma.f32 s15, s14, s10 80d046a: ed9f 5a2c vldr s10, [pc, #176] ; 80d051c <__ieee754_logf+0x1d0> 80d046e: eea7 5a27 vfma.f32 s10, s14, s15 80d0472: eddf 7a2b vldr s15, [pc, #172] ; 80d0520 <__ieee754_logf+0x1d4> 80d0476: eee7 7a05 vfma.f32 s15, s14, s10 80d047a: ed9f 5a2a vldr s10, [pc, #168] ; 80d0524 <__ieee754_logf+0x1d8> 80d047e: ee67 7a86 vmul.f32 s15, s15, s12 80d0482: ed9f 6a29 vldr s12, [pc, #164] ; 80d0528 <__ieee754_logf+0x1dc> 80d0486: eea7 5a06 vfma.f32 s10, s14, s12 80d048a: ed9f 6a28 vldr s12, [pc, #160] ; 80d052c <__ieee754_logf+0x1e0> 80d048e: eea7 6a05 vfma.f32 s12, s14, s10 80d0492: eee7 7a06 vfma.f32 s15, s14, s12 80d0496: dd1a ble.n 80d04ce <__ieee754_logf+0x182> 80d0498: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80d049c: ee20 7a07 vmul.f32 s14, s0, s14 80d04a0: ee27 7a00 vmul.f32 s14, s14, s0 80d04a4: ee77 7a87 vadd.f32 s15, s15, s14 80d04a8: b912 cbnz r2, 80d04b0 <__ieee754_logf+0x164> 80d04aa: eea6 7ae7 vfms.f32 s14, s13, s15 80d04ae: e7ae b.n 80d040e <__ieee754_logf+0xc2> 80d04b0: ed9f 6a14 vldr s12, [pc, #80] ; 80d0504 <__ieee754_logf+0x1b8> 80d04b4: ee25 6a86 vmul.f32 s12, s11, s12 80d04b8: eea6 6aa7 vfma.f32 s12, s13, s15 80d04bc: ee37 7a46 vsub.f32 s14, s14, s12 80d04c0: ee37 0a40 vsub.f32 s0, s14, s0 80d04c4: eddf 7a10 vldr s15, [pc, #64] ; 80d0508 <__ieee754_logf+0x1bc> 80d04c8: ee95 0aa7 vfnms.f32 s0, s11, s15 80d04cc: 4770 bx lr 80d04ce: ee70 7a67 vsub.f32 s15, s0, s15 80d04d2: b912 cbnz r2, 80d04da <__ieee754_logf+0x18e> 80d04d4: eea6 0ae7 vfms.f32 s0, s13, s15 80d04d8: 4770 bx lr 80d04da: ed9f 7a0a vldr s14, [pc, #40] ; 80d0504 <__ieee754_logf+0x1b8> 80d04de: ee27 7a65 vnmul.f32 s14, s14, s11 80d04e2: eea6 7aa7 vfma.f32 s14, s13, s15 80d04e6: ee37 0a40 vsub.f32 s0, s14, s0 80d04ea: e7eb b.n 80d04c4 <__ieee754_logf+0x178> 80d04ec: ed9f 0a01 vldr s0, [pc, #4] ; 80d04f4 <__ieee754_logf+0x1a8> 80d04f0: 4770 bx lr 80d04f2: bf00 nop 80d04f4: 00000000 .word 0x00000000 80d04f8: cc000000 .word 0xcc000000 80d04fc: 4c000000 .word 0x4c000000 80d0500: 004afb20 .word 0x004afb20 80d0504: 3717f7d1 .word 0x3717f7d1 80d0508: 3f317180 .word 0x3f317180 80d050c: 3eaaaaab .word 0x3eaaaaab 80d0510: 3e178897 .word 0x3e178897 80d0514: ffcf5c30 .word 0xffcf5c30 80d0518: 3e3a3325 .word 0x3e3a3325 80d051c: 3e924925 .word 0x3e924925 80d0520: 3f2aaaab .word 0x3f2aaaab 80d0524: 3e638e29 .word 0x3e638e29 80d0528: 3e1cd04f .word 0x3e1cd04f 80d052c: 3ecccccd .word 0x3ecccccd 080d0530 <__ieee754_log10f>: 80d0530: b508 push {r3, lr} 80d0532: ee10 2a10 vmov r2, s0 80d0536: f032 4300 bics.w r3, r2, #2147483648 ; 0x80000000 80d053a: ed2d 8b02 vpush {d8} 80d053e: d108 bne.n 80d0552 <__ieee754_log10f+0x22> 80d0540: eddf 7a21 vldr s15, [pc, #132] ; 80d05c8 <__ieee754_log10f+0x98> 80d0544: ed9f 7a21 vldr s14, [pc, #132] ; 80d05cc <__ieee754_log10f+0x9c> 80d0548: ee87 0a27 vdiv.f32 s0, s14, s15 80d054c: ecbd 8b02 vpop {d8} 80d0550: bd08 pop {r3, pc} 80d0552: 2a00 cmp r2, #0 80d0554: da04 bge.n 80d0560 <__ieee754_log10f+0x30> 80d0556: ee30 7a40 vsub.f32 s14, s0, s0 80d055a: eddf 7a1b vldr s15, [pc, #108] ; 80d05c8 <__ieee754_log10f+0x98> 80d055e: e7f3 b.n 80d0548 <__ieee754_log10f+0x18> 80d0560: f1b2 4fff cmp.w r2, #2139095040 ; 0x7f800000 80d0564: db02 blt.n 80d056c <__ieee754_log10f+0x3c> 80d0566: ee30 0a00 vadd.f32 s0, s0, s0 80d056a: e7ef b.n 80d054c <__ieee754_log10f+0x1c> 80d056c: f5b2 0f00 cmp.w r2, #8388608 ; 0x800000 80d0570: bfbf itttt lt 80d0572: eddf 7a17 vldrlt s15, [pc, #92] ; 80d05d0 <__ieee754_log10f+0xa0> 80d0576: ee60 7a27 vmullt.f32 s15, s0, s15 80d057a: f06f 0118 mvnlt.w r1, #24 80d057e: ee17 2a90 vmovlt r2, s15 80d0582: ea4f 53e2 mov.w r3, r2, asr #23 80d0586: bfa8 it ge 80d0588: 2100 movge r1, #0 80d058a: 3b7f subs r3, #127 ; 0x7f 80d058c: 440b add r3, r1 80d058e: 0fd9 lsrs r1, r3, #31 80d0590: 440b add r3, r1 80d0592: f3c2 0216 ubfx r2, r2, #0, #23 80d0596: f1c1 017f rsb r1, r1, #127 ; 0x7f 80d059a: ee07 3a90 vmov s15, r3 80d059e: ea42 53c1 orr.w r3, r2, r1, lsl #23 80d05a2: ee00 3a10 vmov s0, r3 80d05a6: eeb8 8ae7 vcvt.f32.s32 s16, s15 80d05aa: f7ff fecf bl 80d034c <__ieee754_logf> 80d05ae: eddf 7a09 vldr s15, [pc, #36] ; 80d05d4 <__ieee754_log10f+0xa4> 80d05b2: ee20 0a27 vmul.f32 s0, s0, s15 80d05b6: eddf 7a08 vldr s15, [pc, #32] ; 80d05d8 <__ieee754_log10f+0xa8> 80d05ba: eea8 0a27 vfma.f32 s0, s16, s15 80d05be: eddf 7a07 vldr s15, [pc, #28] ; 80d05dc <__ieee754_log10f+0xac> 80d05c2: eea8 0a27 vfma.f32 s0, s16, s15 80d05c6: e7c1 b.n 80d054c <__ieee754_log10f+0x1c> 80d05c8: 00000000 .word 0x00000000 80d05cc: cc000000 .word 0xcc000000 80d05d0: 4c000000 .word 0x4c000000 80d05d4: 3ede5bd9 .word 0x3ede5bd9 80d05d8: 355427db .word 0x355427db 80d05dc: 3e9a2080 .word 0x3e9a2080 080d05e0 <__ieee754_sqrtf>: 80d05e0: ee10 2a10 vmov r2, s0 80d05e4: f022 4100 bic.w r1, r2, #2147483648 ; 0x80000000 80d05e8: f1b1 4fff cmp.w r1, #2139095040 ; 0x7f800000 80d05ec: b570 push {r4, r5, r6, lr} 80d05ee: d302 bcc.n 80d05f6 <__ieee754_sqrtf+0x16> 80d05f0: eea0 0a00 vfma.f32 s0, s0, s0 80d05f4: bd70 pop {r4, r5, r6, pc} 80d05f6: b3b1 cbz r1, 80d0666 <__ieee754_sqrtf+0x86> 80d05f8: 2a00 cmp r2, #0 80d05fa: da04 bge.n 80d0606 <__ieee754_sqrtf+0x26> 80d05fc: ee70 7a40 vsub.f32 s15, s0, s0 80d0600: ee87 0aa7 vdiv.f32 s0, s15, s15 80d0604: bd70 pop {r4, r5, r6, pc} 80d0606: f5b1 0f00 cmp.w r1, #8388608 ; 0x800000 80d060a: ea4f 53e2 mov.w r3, r2, asr #23 80d060e: d204 bcs.n 80d061a <__ieee754_sqrtf+0x3a> 80d0610: 2100 movs r1, #0 80d0612: 0210 lsls r0, r2, #8 80d0614: d528 bpl.n 80d0668 <__ieee754_sqrtf+0x88> 80d0616: 3901 subs r1, #1 80d0618: 1a5b subs r3, r3, r1 80d061a: 3b7f subs r3, #127 ; 0x7f 80d061c: f3c2 0216 ubfx r2, r2, #0, #23 80d0620: 07d9 lsls r1, r3, #31 80d0622: f442 0200 orr.w r2, r2, #8388608 ; 0x800000 80d0626: bf48 it mi 80d0628: 0052 lslmi r2, r2, #1 80d062a: 1059 asrs r1, r3, #1 80d062c: 2300 movs r3, #0 80d062e: 0052 lsls r2, r2, #1 80d0630: 2419 movs r4, #25 80d0632: 461e mov r6, r3 80d0634: f04f 7080 mov.w r0, #16777216 ; 0x1000000 80d0638: 1835 adds r5, r6, r0 80d063a: 4295 cmp r5, r2 80d063c: bfde ittt le 80d063e: 182e addle r6, r5, r0 80d0640: 1b52 suble r2, r2, r5 80d0642: 181b addle r3, r3, r0 80d0644: 3c01 subs r4, #1 80d0646: ea4f 0242 mov.w r2, r2, lsl #1 80d064a: ea4f 0050 mov.w r0, r0, lsr #1 80d064e: d1f3 bne.n 80d0638 <__ieee754_sqrtf+0x58> 80d0650: b112 cbz r2, 80d0658 <__ieee754_sqrtf+0x78> 80d0652: 3301 adds r3, #1 80d0654: f023 0301 bic.w r3, r3, #1 80d0658: 105b asrs r3, r3, #1 80d065a: f103 537c add.w r3, r3, #1056964608 ; 0x3f000000 80d065e: eb03 53c1 add.w r3, r3, r1, lsl #23 80d0662: ee00 3a10 vmov s0, r3 80d0666: bd70 pop {r4, r5, r6, pc} 80d0668: 0052 lsls r2, r2, #1 80d066a: 3101 adds r1, #1 80d066c: e7d1 b.n 80d0612 <__ieee754_sqrtf+0x32> ... 080d0670 <__kernel_cos>: 80d0670: ee10 1a90 vmov r1, s1 80d0674: eeb7 5b00 vmov.f64 d5, #112 ; 0x3f800000 1.0 80d0678: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000 80d067c: f1b1 5f79 cmp.w r1, #1044381696 ; 0x3e400000 80d0680: da05 bge.n 80d068e <__kernel_cos+0x1e> 80d0682: eefd 7bc0 vcvt.s32.f64 s15, d0 80d0686: ee17 3a90 vmov r3, s15 80d068a: 2b00 cmp r3, #0 80d068c: d03d beq.n 80d070a <__kernel_cos+0x9a> 80d068e: ee20 6b00 vmul.f64 d6, d0, d0 80d0692: ee20 1b01 vmul.f64 d1, d0, d1 80d0696: ed9f 7b1e vldr d7, [pc, #120] ; 80d0710 <__kernel_cos+0xa0> 80d069a: eeb6 3b00 vmov.f64 d3, #96 ; 0x3f000000 0.5 80d069e: ed9f 4b1e vldr d4, [pc, #120] ; 80d0718 <__kernel_cos+0xa8> 80d06a2: eea6 4b07 vfma.f64 d4, d6, d7 80d06a6: ed9f 7b1e vldr d7, [pc, #120] ; 80d0720 <__kernel_cos+0xb0> 80d06aa: eea6 7b04 vfma.f64 d7, d6, d4 80d06ae: ed9f 4b1e vldr d4, [pc, #120] ; 80d0728 <__kernel_cos+0xb8> 80d06b2: eea6 4b07 vfma.f64 d4, d6, d7 80d06b6: ed9f 7b1e vldr d7, [pc, #120] ; 80d0730 <__kernel_cos+0xc0> 80d06ba: 4b21 ldr r3, [pc, #132] ; (80d0740 <__kernel_cos+0xd0>) 80d06bc: eea6 7b04 vfma.f64 d7, d6, d4 80d06c0: ed9f 4b1d vldr d4, [pc, #116] ; 80d0738 <__kernel_cos+0xc8> 80d06c4: 4299 cmp r1, r3 80d06c6: eea6 4b07 vfma.f64 d4, d6, d7 80d06ca: ee24 4b06 vmul.f64 d4, d4, d6 80d06ce: dc06 bgt.n 80d06de <__kernel_cos+0x6e> 80d06d0: ee96 1b04 vfnms.f64 d1, d6, d4 80d06d4: ee96 1b03 vfnms.f64 d1, d6, d3 80d06d8: ee35 0b41 vsub.f64 d0, d5, d1 80d06dc: 4770 bx lr 80d06de: 4b19 ldr r3, [pc, #100] ; (80d0744 <__kernel_cos+0xd4>) 80d06e0: 4299 cmp r1, r3 80d06e2: dc0f bgt.n 80d0704 <__kernel_cos+0x94> 80d06e4: 2200 movs r2, #0 80d06e6: f5a1 1300 sub.w r3, r1, #2097152 ; 0x200000 80d06ea: ec43 2b17 vmov d7, r2, r3 80d06ee: ee35 5b47 vsub.f64 d5, d5, d7 80d06f2: ee96 1b04 vfnms.f64 d1, d6, d4 80d06f6: ee96 7b03 vfnms.f64 d7, d6, d3 80d06fa: ee37 0b41 vsub.f64 d0, d7, d1 80d06fe: ee35 0b40 vsub.f64 d0, d5, d0 80d0702: 4770 bx lr 80d0704: eeb5 7b02 vmov.f64 d7, #82 ; 0x3e900000 0.2812500 80d0708: e7f1 b.n 80d06ee <__kernel_cos+0x7e> 80d070a: eeb0 0b45 vmov.f64 d0, d5 80d070e: 4770 bx lr 80d0710: be8838d4 .word 0xbe8838d4 80d0714: bda8fae9 .word 0xbda8fae9 80d0718: bdb4b1c4 .word 0xbdb4b1c4 80d071c: 3e21ee9e .word 0x3e21ee9e 80d0720: 809c52ad .word 0x809c52ad 80d0724: be927e4f .word 0xbe927e4f 80d0728: 19cb1590 .word 0x19cb1590 80d072c: 3efa01a0 .word 0x3efa01a0 80d0730: 16c15177 .word 0x16c15177 80d0734: bf56c16c .word 0xbf56c16c 80d0738: 5555554c .word 0x5555554c 80d073c: 3fa55555 .word 0x3fa55555 80d0740: 3fd33332 .word 0x3fd33332 80d0744: 3fe90000 .word 0x3fe90000 080d0748 <__kernel_rem_pio2>: 80d0748: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d074c: ed2d 8b06 vpush {d8-d10} 80d0750: f5ad 7d13 sub.w sp, sp, #588 ; 0x24c 80d0754: 468b mov fp, r1 80d0756: 9301 str r3, [sp, #4] 80d0758: 99a2 ldr r1, [sp, #648] ; 0x288 80d075a: 4bcf ldr r3, [pc, #828] ; (80d0a98 <__kernel_rem_pio2+0x350>) 80d075c: 9002 str r0, [sp, #8] 80d075e: f853 a021 ldr.w sl, [r3, r1, lsl #2] 80d0762: 9b01 ldr r3, [sp, #4] 80d0764: 9ca3 ldr r4, [sp, #652] ; 0x28c 80d0766: 3b01 subs r3, #1 80d0768: 1ed0 subs r0, r2, #3 80d076a: 2518 movs r5, #24 80d076c: ed9f 6bc4 vldr d6, [pc, #784] ; 80d0a80 <__kernel_rem_pio2+0x338> 80d0770: fb90 f0f5 sdiv r0, r0, r5 80d0774: f06f 0517 mvn.w r5, #23 80d0778: ea20 70e0 bic.w r0, r0, r0, asr #31 80d077c: fb00 5505 mla r5, r0, r5, r5 80d0780: 1ac7 subs r7, r0, r3 80d0782: 4415 add r5, r2 80d0784: eb0a 0e03 add.w lr, sl, r3 80d0788: ae1a add r6, sp, #104 ; 0x68 80d078a: eb04 0c87 add.w ip, r4, r7, lsl #2 80d078e: 2200 movs r2, #0 80d0790: 4572 cmp r2, lr 80d0792: dd0f ble.n 80d07b4 <__kernel_rem_pio2+0x6c> 80d0794: f50d 7ed4 add.w lr, sp, #424 ; 0x1a8 80d0798: 2600 movs r6, #0 80d079a: 4556 cmp r6, sl 80d079c: dc27 bgt.n 80d07ee <__kernel_rem_pio2+0xa6> 80d079e: 9a01 ldr r2, [sp, #4] 80d07a0: 9f02 ldr r7, [sp, #8] 80d07a2: 4432 add r2, r6 80d07a4: a91a add r1, sp, #104 ; 0x68 80d07a6: eb01 02c2 add.w r2, r1, r2, lsl #3 80d07aa: ed9f 7bb5 vldr d7, [pc, #724] ; 80d0a80 <__kernel_rem_pio2+0x338> 80d07ae: f04f 0c00 mov.w ip, #0 80d07b2: e016 b.n 80d07e2 <__kernel_rem_pio2+0x9a> 80d07b4: 42d7 cmn r7, r2 80d07b6: d409 bmi.n 80d07cc <__kernel_rem_pio2+0x84> 80d07b8: f85c 1022 ldr.w r1, [ip, r2, lsl #2] 80d07bc: ee07 1a90 vmov s15, r1 80d07c0: eeb8 7be7 vcvt.f64.s32 d7, s15 80d07c4: eca6 7b02 vstmia r6!, {d7} 80d07c8: 3201 adds r2, #1 80d07ca: e7e1 b.n 80d0790 <__kernel_rem_pio2+0x48> 80d07cc: eeb0 7b46 vmov.f64 d7, d6 80d07d0: e7f8 b.n 80d07c4 <__kernel_rem_pio2+0x7c> 80d07d2: ecb7 5b02 vldmia r7!, {d5} 80d07d6: ed32 6b02 vldmdb r2!, {d6} 80d07da: f10c 0c01 add.w ip, ip, #1 80d07de: eea5 7b06 vfma.f64 d7, d5, d6 80d07e2: 459c cmp ip, r3 80d07e4: ddf5 ble.n 80d07d2 <__kernel_rem_pio2+0x8a> 80d07e6: ecae 7b02 vstmia lr!, {d7} 80d07ea: 3601 adds r6, #1 80d07ec: e7d5 b.n 80d079a <__kernel_rem_pio2+0x52> 80d07ee: aa06 add r2, sp, #24 80d07f0: eb02 028a add.w r2, r2, sl, lsl #2 80d07f4: ed9f 9ba4 vldr d9, [pc, #656] ; 80d0a88 <__kernel_rem_pio2+0x340> 80d07f8: ed9f aba5 vldr d10, [pc, #660] ; 80d0a90 <__kernel_rem_pio2+0x348> 80d07fc: 9204 str r2, [sp, #16] 80d07fe: eb04 0280 add.w r2, r4, r0, lsl #2 80d0802: 9203 str r2, [sp, #12] 80d0804: 4657 mov r7, sl 80d0806: aa92 add r2, sp, #584 ; 0x248 80d0808: f107 5800 add.w r8, r7, #536870912 ; 0x20000000 80d080c: eb02 02c7 add.w r2, r2, r7, lsl #3 80d0810: f108 38ff add.w r8, r8, #4294967295 80d0814: ed12 0b28 vldr d0, [r2, #-160] ; 0xffffff60 80d0818: ea4f 08c8 mov.w r8, r8, lsl #3 80d081c: aa92 add r2, sp, #584 ; 0x248 80d081e: eb02 0008 add.w r0, r2, r8 80d0822: 3898 subs r0, #152 ; 0x98 80d0824: 2200 movs r2, #0 80d0826: 1abc subs r4, r7, r2 80d0828: 2c00 cmp r4, #0 80d082a: dc4c bgt.n 80d08c6 <__kernel_rem_pio2+0x17e> 80d082c: 4628 mov r0, r5 80d082e: 9305 str r3, [sp, #20] 80d0830: f000 fc7a bl 80d1128 80d0834: eeb0 8b40 vmov.f64 d8, d0 80d0838: eeb4 0b00 vmov.f64 d0, #64 ; 0x3e000000 0.125 80d083c: ee28 0b00 vmul.f64 d0, d8, d0 80d0840: f000 fb62 bl 80d0f08 80d0844: eeb2 7b00 vmov.f64 d7, #32 ; 0x41000000 8.0 80d0848: eea0 8b47 vfms.f64 d8, d0, d7 80d084c: eefd 7bc8 vcvt.s32.f64 s15, d8 80d0850: 2d00 cmp r5, #0 80d0852: ee17 9a90 vmov r9, s15 80d0856: 9b05 ldr r3, [sp, #20] 80d0858: eeb8 7be7 vcvt.f64.s32 d7, s15 80d085c: ee38 8b47 vsub.f64 d8, d8, d7 80d0860: dd46 ble.n 80d08f0 <__kernel_rem_pio2+0x1a8> 80d0862: 1e78 subs r0, r7, #1 80d0864: aa06 add r2, sp, #24 80d0866: f1c5 0418 rsb r4, r5, #24 80d086a: f852 6020 ldr.w r6, [r2, r0, lsl #2] 80d086e: fa46 f204 asr.w r2, r6, r4 80d0872: 4491 add r9, r2 80d0874: 40a2 lsls r2, r4 80d0876: 1ab6 subs r6, r6, r2 80d0878: aa06 add r2, sp, #24 80d087a: f842 6020 str.w r6, [r2, r0, lsl #2] 80d087e: f1c5 0217 rsb r2, r5, #23 80d0882: 4116 asrs r6, r2 80d0884: 2e00 cmp r6, #0 80d0886: dd42 ble.n 80d090e <__kernel_rem_pio2+0x1c6> 80d0888: 2400 movs r4, #0 80d088a: f109 0901 add.w r9, r9, #1 80d088e: 4620 mov r0, r4 80d0890: f06f 4e7f mvn.w lr, #4278190080 ; 0xff000000 80d0894: 42a7 cmp r7, r4 80d0896: dc75 bgt.n 80d0984 <__kernel_rem_pio2+0x23c> 80d0898: 2d00 cmp r5, #0 80d089a: dd05 ble.n 80d08a8 <__kernel_rem_pio2+0x160> 80d089c: 2d01 cmp r5, #1 80d089e: f000 8086 beq.w 80d09ae <__kernel_rem_pio2+0x266> 80d08a2: 2d02 cmp r5, #2 80d08a4: f000 808d beq.w 80d09c2 <__kernel_rem_pio2+0x27a> 80d08a8: 2e02 cmp r6, #2 80d08aa: d130 bne.n 80d090e <__kernel_rem_pio2+0x1c6> 80d08ac: eeb7 0b00 vmov.f64 d0, #112 ; 0x3f800000 1.0 80d08b0: ee30 8b48 vsub.f64 d8, d0, d8 80d08b4: b358 cbz r0, 80d090e <__kernel_rem_pio2+0x1c6> 80d08b6: 4628 mov r0, r5 80d08b8: 9305 str r3, [sp, #20] 80d08ba: f000 fc35 bl 80d1128 80d08be: 9b05 ldr r3, [sp, #20] 80d08c0: ee38 8b40 vsub.f64 d8, d8, d0 80d08c4: e023 b.n 80d090e <__kernel_rem_pio2+0x1c6> 80d08c6: ee20 7b09 vmul.f64 d7, d0, d9 80d08ca: eebd 7bc7 vcvt.s32.f64 s14, d7 80d08ce: ac06 add r4, sp, #24 80d08d0: eeb8 7bc7 vcvt.f64.s32 d7, s14 80d08d4: eea7 0b4a vfms.f64 d0, d7, d10 80d08d8: eebd 0bc0 vcvt.s32.f64 s0, d0 80d08dc: ee10 1a10 vmov r1, s0 80d08e0: ed30 0b02 vldmdb r0!, {d0} 80d08e4: f844 1022 str.w r1, [r4, r2, lsl #2] 80d08e8: ee37 0b00 vadd.f64 d0, d7, d0 80d08ec: 3201 adds r2, #1 80d08ee: e79a b.n 80d0826 <__kernel_rem_pio2+0xde> 80d08f0: d105 bne.n 80d08fe <__kernel_rem_pio2+0x1b6> 80d08f2: 1e7a subs r2, r7, #1 80d08f4: a906 add r1, sp, #24 80d08f6: f851 6022 ldr.w r6, [r1, r2, lsl #2] 80d08fa: 15f6 asrs r6, r6, #23 80d08fc: e7c2 b.n 80d0884 <__kernel_rem_pio2+0x13c> 80d08fe: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80d0902: eeb4 8bc7 vcmpe.f64 d8, d7 80d0906: eef1 fa10 vmrs APSR_nzcv, fpscr 80d090a: da39 bge.n 80d0980 <__kernel_rem_pio2+0x238> 80d090c: 2600 movs r6, #0 80d090e: eeb5 8b40 vcmp.f64 d8, #0.0 80d0912: eef1 fa10 vmrs APSR_nzcv, fpscr 80d0916: f040 808e bne.w 80d0a36 <__kernel_rem_pio2+0x2ee> 80d091a: 1e7c subs r4, r7, #1 80d091c: 4620 mov r0, r4 80d091e: 2200 movs r2, #0 80d0920: 4550 cmp r0, sl 80d0922: da55 bge.n 80d09d0 <__kernel_rem_pio2+0x288> 80d0924: 2a00 cmp r2, #0 80d0926: d164 bne.n 80d09f2 <__kernel_rem_pio2+0x2aa> 80d0928: 2401 movs r4, #1 80d092a: f06f 0003 mvn.w r0, #3 80d092e: fb00 f204 mul.w r2, r0, r4 80d0932: 9904 ldr r1, [sp, #16] 80d0934: 588a ldr r2, [r1, r2] 80d0936: 2a00 cmp r2, #0 80d0938: d050 beq.n 80d09dc <__kernel_rem_pio2+0x294> 80d093a: aa92 add r2, sp, #584 ; 0x248 80d093c: 4490 add r8, r2 80d093e: 9a01 ldr r2, [sp, #4] 80d0940: a91a add r1, sp, #104 ; 0x68 80d0942: 443a add r2, r7 80d0944: 1c78 adds r0, r7, #1 80d0946: f1a8 0890 sub.w r8, r8, #144 ; 0x90 80d094a: eb01 02c2 add.w r2, r1, r2, lsl #3 80d094e: 4427 add r7, r4 80d0950: 42b8 cmp r0, r7 80d0952: f73f af58 bgt.w 80d0806 <__kernel_rem_pio2+0xbe> 80d0956: 9903 ldr r1, [sp, #12] 80d0958: 9e02 ldr r6, [sp, #8] 80d095a: f851 1020 ldr.w r1, [r1, r0, lsl #2] 80d095e: 9105 str r1, [sp, #20] 80d0960: ee07 1a90 vmov s15, r1 80d0964: eeb8 7be7 vcvt.f64.s32 d7, s15 80d0968: 2400 movs r4, #0 80d096a: eca2 7b02 vstmia r2!, {d7} 80d096e: ed9f 7b44 vldr d7, [pc, #272] ; 80d0a80 <__kernel_rem_pio2+0x338> 80d0972: 4696 mov lr, r2 80d0974: 429c cmp r4, r3 80d0976: dd33 ble.n 80d09e0 <__kernel_rem_pio2+0x298> 80d0978: eca8 7b02 vstmia r8!, {d7} 80d097c: 3001 adds r0, #1 80d097e: e7e7 b.n 80d0950 <__kernel_rem_pio2+0x208> 80d0980: 2602 movs r6, #2 80d0982: e781 b.n 80d0888 <__kernel_rem_pio2+0x140> 80d0984: aa06 add r2, sp, #24 80d0986: f852 2024 ldr.w r2, [r2, r4, lsl #2] 80d098a: b948 cbnz r0, 80d09a0 <__kernel_rem_pio2+0x258> 80d098c: b12a cbz r2, 80d099a <__kernel_rem_pio2+0x252> 80d098e: a906 add r1, sp, #24 80d0990: f1c2 7280 rsb r2, r2, #16777216 ; 0x1000000 80d0994: f841 2024 str.w r2, [r1, r4, lsl #2] 80d0998: 2201 movs r2, #1 80d099a: 3401 adds r4, #1 80d099c: 4610 mov r0, r2 80d099e: e779 b.n 80d0894 <__kernel_rem_pio2+0x14c> 80d09a0: a906 add r1, sp, #24 80d09a2: ebae 0202 sub.w r2, lr, r2 80d09a6: f841 2024 str.w r2, [r1, r4, lsl #2] 80d09aa: 4602 mov r2, r0 80d09ac: e7f5 b.n 80d099a <__kernel_rem_pio2+0x252> 80d09ae: 1e7c subs r4, r7, #1 80d09b0: aa06 add r2, sp, #24 80d09b2: f852 2024 ldr.w r2, [r2, r4, lsl #2] 80d09b6: f3c2 0216 ubfx r2, r2, #0, #23 80d09ba: a906 add r1, sp, #24 80d09bc: f841 2024 str.w r2, [r1, r4, lsl #2] 80d09c0: e772 b.n 80d08a8 <__kernel_rem_pio2+0x160> 80d09c2: 1e7c subs r4, r7, #1 80d09c4: aa06 add r2, sp, #24 80d09c6: f852 2024 ldr.w r2, [r2, r4, lsl #2] 80d09ca: f3c2 0215 ubfx r2, r2, #0, #22 80d09ce: e7f4 b.n 80d09ba <__kernel_rem_pio2+0x272> 80d09d0: a906 add r1, sp, #24 80d09d2: f851 1020 ldr.w r1, [r1, r0, lsl #2] 80d09d6: 3801 subs r0, #1 80d09d8: 430a orrs r2, r1 80d09da: e7a1 b.n 80d0920 <__kernel_rem_pio2+0x1d8> 80d09dc: 3401 adds r4, #1 80d09de: e7a6 b.n 80d092e <__kernel_rem_pio2+0x1e6> 80d09e0: ecb6 5b02 vldmia r6!, {d5} 80d09e4: ed3e 6b02 vldmdb lr!, {d6} 80d09e8: 3401 adds r4, #1 80d09ea: eea5 7b06 vfma.f64 d7, d5, d6 80d09ee: e7c1 b.n 80d0974 <__kernel_rem_pio2+0x22c> 80d09f0: 3c01 subs r4, #1 80d09f2: ab06 add r3, sp, #24 80d09f4: 3d18 subs r5, #24 80d09f6: f853 3024 ldr.w r3, [r3, r4, lsl #2] 80d09fa: 2b00 cmp r3, #0 80d09fc: d0f8 beq.n 80d09f0 <__kernel_rem_pio2+0x2a8> 80d09fe: 4628 mov r0, r5 80d0a00: eeb7 0b00 vmov.f64 d0, #112 ; 0x3f800000 1.0 80d0a04: f000 fb90 bl 80d1128 80d0a08: 00e3 lsls r3, r4, #3 80d0a0a: ed9f 6b1f vldr d6, [pc, #124] ; 80d0a88 <__kernel_rem_pio2+0x340> 80d0a0e: aa6a add r2, sp, #424 ; 0x1a8 80d0a10: 3308 adds r3, #8 80d0a12: 18d0 adds r0, r2, r3 80d0a14: 4622 mov r2, r4 80d0a16: 2a00 cmp r2, #0 80d0a18: da4b bge.n 80d0ab2 <__kernel_rem_pio2+0x36a> 80d0a1a: f50d 7e84 add.w lr, sp, #264 ; 0x108 80d0a1e: 2200 movs r2, #0 80d0a20: 4677 mov r7, lr 80d0a22: 1aa5 subs r5, r4, r2 80d0a24: d464 bmi.n 80d0af0 <__kernel_rem_pio2+0x3a8> 80d0a26: a86a add r0, sp, #424 ; 0x1a8 80d0a28: eb00 05c5 add.w r5, r0, r5, lsl #3 80d0a2c: 491b ldr r1, [pc, #108] ; (80d0a9c <__kernel_rem_pio2+0x354>) 80d0a2e: ed9f 7b14 vldr d7, [pc, #80] ; 80d0a80 <__kernel_rem_pio2+0x338> 80d0a32: 2000 movs r0, #0 80d0a34: e054 b.n 80d0ae0 <__kernel_rem_pio2+0x398> 80d0a36: 4268 negs r0, r5 80d0a38: eeb0 0b48 vmov.f64 d0, d8 80d0a3c: f000 fb74 bl 80d1128 80d0a40: ed9f 6b13 vldr d6, [pc, #76] ; 80d0a90 <__kernel_rem_pio2+0x348> 80d0a44: eeb4 0bc6 vcmpe.f64 d0, d6 80d0a48: eef1 fa10 vmrs APSR_nzcv, fpscr 80d0a4c: db28 blt.n 80d0aa0 <__kernel_rem_pio2+0x358> 80d0a4e: ed9f 7b0e vldr d7, [pc, #56] ; 80d0a88 <__kernel_rem_pio2+0x340> 80d0a52: ee20 7b07 vmul.f64 d7, d0, d7 80d0a56: eebd 7bc7 vcvt.s32.f64 s14, d7 80d0a5a: aa06 add r2, sp, #24 80d0a5c: eeb8 5bc7 vcvt.f64.s32 d5, s14 80d0a60: eea5 0b46 vfms.f64 d0, d5, d6 80d0a64: eebd 0bc0 vcvt.s32.f64 s0, d0 80d0a68: 1c7c adds r4, r7, #1 80d0a6a: ee10 3a10 vmov r3, s0 80d0a6e: f842 3027 str.w r3, [r2, r7, lsl #2] 80d0a72: ee17 3a10 vmov r3, s14 80d0a76: 3518 adds r5, #24 80d0a78: f842 3024 str.w r3, [r2, r4, lsl #2] 80d0a7c: e7bf b.n 80d09fe <__kernel_rem_pio2+0x2b6> 80d0a7e: bf00 nop ... 80d0a8c: 3e700000 .word 0x3e700000 80d0a90: 00000000 .word 0x00000000 80d0a94: 41700000 .word 0x41700000 80d0a98: 0818ac38 .word 0x0818ac38 80d0a9c: 0818abf8 .word 0x0818abf8 80d0aa0: eebd 0bc0 vcvt.s32.f64 s0, d0 80d0aa4: aa06 add r2, sp, #24 80d0aa6: ee10 3a10 vmov r3, s0 80d0aaa: 463c mov r4, r7 80d0aac: f842 3027 str.w r3, [r2, r7, lsl #2] 80d0ab0: e7a5 b.n 80d09fe <__kernel_rem_pio2+0x2b6> 80d0ab2: a906 add r1, sp, #24 80d0ab4: f851 1022 ldr.w r1, [r1, r2, lsl #2] 80d0ab8: 9101 str r1, [sp, #4] 80d0aba: ee07 1a90 vmov s15, r1 80d0abe: 3a01 subs r2, #1 80d0ac0: eeb8 7be7 vcvt.f64.s32 d7, s15 80d0ac4: ee27 7b00 vmul.f64 d7, d7, d0 80d0ac8: ee20 0b06 vmul.f64 d0, d0, d6 80d0acc: ed20 7b02 vstmdb r0!, {d7} 80d0ad0: e7a1 b.n 80d0a16 <__kernel_rem_pio2+0x2ce> 80d0ad2: ecb1 5b02 vldmia r1!, {d5} 80d0ad6: ecb5 6b02 vldmia r5!, {d6} 80d0ada: 3001 adds r0, #1 80d0adc: eea5 7b06 vfma.f64 d7, d5, d6 80d0ae0: 4550 cmp r0, sl 80d0ae2: dc01 bgt.n 80d0ae8 <__kernel_rem_pio2+0x3a0> 80d0ae4: 4290 cmp r0, r2 80d0ae6: ddf4 ble.n 80d0ad2 <__kernel_rem_pio2+0x38a> 80d0ae8: ecae 7b02 vstmia lr!, {d7} 80d0aec: 3201 adds r2, #1 80d0aee: e798 b.n 80d0a22 <__kernel_rem_pio2+0x2da> 80d0af0: 9aa2 ldr r2, [sp, #648] ; 0x288 80d0af2: 2a03 cmp r2, #3 80d0af4: d843 bhi.n 80d0b7e <__kernel_rem_pio2+0x436> 80d0af6: e8df f002 tbb [pc, r2] 80d0afa: 1d37 .short 0x1d37 80d0afc: 021d .short 0x021d 80d0afe: aa42 add r2, sp, #264 ; 0x108 80d0b00: 4413 add r3, r2 80d0b02: 461a mov r2, r3 80d0b04: 4620 mov r0, r4 80d0b06: 2800 cmp r0, #0 80d0b08: dc56 bgt.n 80d0bb8 <__kernel_rem_pio2+0x470> 80d0b0a: 461a mov r2, r3 80d0b0c: 4620 mov r0, r4 80d0b0e: 2801 cmp r0, #1 80d0b10: dc62 bgt.n 80d0bd8 <__kernel_rem_pio2+0x490> 80d0b12: ed9f 7b45 vldr d7, [pc, #276] ; 80d0c28 <__kernel_rem_pio2+0x4e0> 80d0b16: 2c01 cmp r4, #1 80d0b18: dc6e bgt.n 80d0bf8 <__kernel_rem_pio2+0x4b0> 80d0b1a: 2e00 cmp r6, #0 80d0b1c: d172 bne.n 80d0c04 <__kernel_rem_pio2+0x4bc> 80d0b1e: e9dd 2342 ldrd r2, r3, [sp, #264] ; 0x108 80d0b22: e9cb 2300 strd r2, r3, [fp] 80d0b26: e9dd 2344 ldrd r2, r3, [sp, #272] ; 0x110 80d0b2a: e9cb 2302 strd r2, r3, [fp, #8] 80d0b2e: ed8b 7b04 vstr d7, [fp, #16] 80d0b32: e024 b.n 80d0b7e <__kernel_rem_pio2+0x436> 80d0b34: ed9f 6b3c vldr d6, [pc, #240] ; 80d0c28 <__kernel_rem_pio2+0x4e0> 80d0b38: aa42 add r2, sp, #264 ; 0x108 80d0b3a: 4413 add r3, r2 80d0b3c: 4622 mov r2, r4 80d0b3e: 2a00 cmp r2, #0 80d0b40: da2b bge.n 80d0b9a <__kernel_rem_pio2+0x452> 80d0b42: b386 cbz r6, 80d0ba6 <__kernel_rem_pio2+0x45e> 80d0b44: eeb1 7b46 vneg.f64 d7, d6 80d0b48: ed8b 7b00 vstr d7, [fp] 80d0b4c: ed9d 7b42 vldr d7, [sp, #264] ; 0x108 80d0b50: aa44 add r2, sp, #272 ; 0x110 80d0b52: 2301 movs r3, #1 80d0b54: ee37 7b46 vsub.f64 d7, d7, d6 80d0b58: 429c cmp r4, r3 80d0b5a: da27 bge.n 80d0bac <__kernel_rem_pio2+0x464> 80d0b5c: b10e cbz r6, 80d0b62 <__kernel_rem_pio2+0x41a> 80d0b5e: eeb1 7b47 vneg.f64 d7, d7 80d0b62: ed8b 7b02 vstr d7, [fp, #8] 80d0b66: e00a b.n 80d0b7e <__kernel_rem_pio2+0x436> 80d0b68: ed9f 7b2f vldr d7, [pc, #188] ; 80d0c28 <__kernel_rem_pio2+0x4e0> 80d0b6c: aa42 add r2, sp, #264 ; 0x108 80d0b6e: 4413 add r3, r2 80d0b70: 2c00 cmp r4, #0 80d0b72: da0c bge.n 80d0b8e <__kernel_rem_pio2+0x446> 80d0b74: b10e cbz r6, 80d0b7a <__kernel_rem_pio2+0x432> 80d0b76: eeb1 7b47 vneg.f64 d7, d7 80d0b7a: ed8b 7b00 vstr d7, [fp] 80d0b7e: f009 0007 and.w r0, r9, #7 80d0b82: f50d 7d13 add.w sp, sp, #588 ; 0x24c 80d0b86: ecbd 8b06 vpop {d8-d10} 80d0b8a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d0b8e: ed33 6b02 vldmdb r3!, {d6} 80d0b92: 3c01 subs r4, #1 80d0b94: ee37 7b06 vadd.f64 d7, d7, d6 80d0b98: e7ea b.n 80d0b70 <__kernel_rem_pio2+0x428> 80d0b9a: ed33 7b02 vldmdb r3!, {d7} 80d0b9e: 3a01 subs r2, #1 80d0ba0: ee36 6b07 vadd.f64 d6, d6, d7 80d0ba4: e7cb b.n 80d0b3e <__kernel_rem_pio2+0x3f6> 80d0ba6: eeb0 7b46 vmov.f64 d7, d6 80d0baa: e7cd b.n 80d0b48 <__kernel_rem_pio2+0x400> 80d0bac: ecb2 6b02 vldmia r2!, {d6} 80d0bb0: 3301 adds r3, #1 80d0bb2: ee37 7b06 vadd.f64 d7, d7, d6 80d0bb6: e7cf b.n 80d0b58 <__kernel_rem_pio2+0x410> 80d0bb8: ed12 5b02 vldr d5, [r2, #-8] 80d0bbc: ed12 7b04 vldr d7, [r2, #-16] 80d0bc0: ee37 6b05 vadd.f64 d6, d7, d5 80d0bc4: ee37 7b46 vsub.f64 d7, d7, d6 80d0bc8: ee37 7b05 vadd.f64 d7, d7, d5 80d0bcc: ed22 7b02 vstmdb r2!, {d7} 80d0bd0: 3801 subs r0, #1 80d0bd2: ed02 6b02 vstr d6, [r2, #-8] 80d0bd6: e796 b.n 80d0b06 <__kernel_rem_pio2+0x3be> 80d0bd8: ed12 5b02 vldr d5, [r2, #-8] 80d0bdc: ed12 7b04 vldr d7, [r2, #-16] 80d0be0: ee37 6b05 vadd.f64 d6, d7, d5 80d0be4: ee37 7b46 vsub.f64 d7, d7, d6 80d0be8: ee37 7b05 vadd.f64 d7, d7, d5 80d0bec: ed22 7b02 vstmdb r2!, {d7} 80d0bf0: 3801 subs r0, #1 80d0bf2: ed02 6b02 vstr d6, [r2, #-8] 80d0bf6: e78a b.n 80d0b0e <__kernel_rem_pio2+0x3c6> 80d0bf8: ed33 6b02 vldmdb r3!, {d6} 80d0bfc: 3c01 subs r4, #1 80d0bfe: ee37 7b06 vadd.f64 d7, d7, d6 80d0c02: e788 b.n 80d0b16 <__kernel_rem_pio2+0x3ce> 80d0c04: ed97 6b00 vldr d6, [r7] 80d0c08: eeb1 7b47 vneg.f64 d7, d7 80d0c0c: eeb1 6b46 vneg.f64 d6, d6 80d0c10: ed8b 6b00 vstr d6, [fp] 80d0c14: ed97 6b02 vldr d6, [r7, #8] 80d0c18: eeb1 6b46 vneg.f64 d6, d6 80d0c1c: ed8b 6b02 vstr d6, [fp, #8] 80d0c20: e785 b.n 80d0b2e <__kernel_rem_pio2+0x3e6> 80d0c22: bf00 nop 80d0c24: f3af 8000 nop.w ... 080d0c30 <__kernel_sin>: 80d0c30: ee10 3a90 vmov r3, s1 80d0c34: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80d0c38: f1b3 5f79 cmp.w r3, #1044381696 ; 0x3e400000 80d0c3c: da04 bge.n 80d0c48 <__kernel_sin+0x18> 80d0c3e: eefd 7bc0 vcvt.s32.f64 s15, d0 80d0c42: ee17 3a90 vmov r3, s15 80d0c46: b35b cbz r3, 80d0ca0 <__kernel_sin+0x70> 80d0c48: ee20 6b00 vmul.f64 d6, d0, d0 80d0c4c: ee20 5b06 vmul.f64 d5, d0, d6 80d0c50: ed9f 7b15 vldr d7, [pc, #84] ; 80d0ca8 <__kernel_sin+0x78> 80d0c54: ed9f 4b16 vldr d4, [pc, #88] ; 80d0cb0 <__kernel_sin+0x80> 80d0c58: eea6 4b07 vfma.f64 d4, d6, d7 80d0c5c: ed9f 7b16 vldr d7, [pc, #88] ; 80d0cb8 <__kernel_sin+0x88> 80d0c60: eea6 7b04 vfma.f64 d7, d6, d4 80d0c64: ed9f 4b16 vldr d4, [pc, #88] ; 80d0cc0 <__kernel_sin+0x90> 80d0c68: eea6 4b07 vfma.f64 d4, d6, d7 80d0c6c: ed9f 7b16 vldr d7, [pc, #88] ; 80d0cc8 <__kernel_sin+0x98> 80d0c70: eea6 7b04 vfma.f64 d7, d6, d4 80d0c74: b930 cbnz r0, 80d0c84 <__kernel_sin+0x54> 80d0c76: ed9f 4b16 vldr d4, [pc, #88] ; 80d0cd0 <__kernel_sin+0xa0> 80d0c7a: eea6 4b07 vfma.f64 d4, d6, d7 80d0c7e: eea5 0b04 vfma.f64 d0, d5, d4 80d0c82: 4770 bx lr 80d0c84: ee27 7b45 vnmul.f64 d7, d7, d5 80d0c88: eeb6 4b00 vmov.f64 d4, #96 ; 0x3f000000 0.5 80d0c8c: eea1 7b04 vfma.f64 d7, d1, d4 80d0c90: ee96 1b07 vfnms.f64 d1, d6, d7 80d0c94: ed9f 7b10 vldr d7, [pc, #64] ; 80d0cd8 <__kernel_sin+0xa8> 80d0c98: eea5 1b07 vfma.f64 d1, d5, d7 80d0c9c: ee30 0b41 vsub.f64 d0, d0, d1 80d0ca0: 4770 bx lr 80d0ca2: bf00 nop 80d0ca4: f3af 8000 nop.w 80d0ca8: 5acfd57c .word 0x5acfd57c 80d0cac: 3de5d93a .word 0x3de5d93a 80d0cb0: 8a2b9ceb .word 0x8a2b9ceb 80d0cb4: be5ae5e6 .word 0xbe5ae5e6 80d0cb8: 57b1fe7d .word 0x57b1fe7d 80d0cbc: 3ec71de3 .word 0x3ec71de3 80d0cc0: 19c161d5 .word 0x19c161d5 80d0cc4: bf2a01a0 .word 0xbf2a01a0 80d0cc8: 1110f8a6 .word 0x1110f8a6 80d0ccc: 3f811111 .word 0x3f811111 80d0cd0: 55555549 .word 0x55555549 80d0cd4: bfc55555 .word 0xbfc55555 80d0cd8: 55555549 .word 0x55555549 80d0cdc: 3fc55555 .word 0x3fc55555 080d0ce0 <__kernel_tan>: 80d0ce0: eeb0 7b40 vmov.f64 d7, d0 80d0ce4: ee17 3a90 vmov r3, s15 80d0ce8: b507 push {r0, r1, r2, lr} 80d0cea: 4981 ldr r1, [pc, #516] ; (80d0ef0 <__kernel_tan+0x210>) 80d0cec: f023 4200 bic.w r2, r3, #2147483648 ; 0x80000000 80d0cf0: 428a cmp r2, r1 80d0cf2: dc1c bgt.n 80d0d2e <__kernel_tan+0x4e> 80d0cf4: eefd 6bc0 vcvt.s32.f64 s13, d0 80d0cf8: ee16 1a90 vmov r1, s13 80d0cfc: bb69 cbnz r1, 80d0d5a <__kernel_tan+0x7a> 80d0cfe: ee10 3a10 vmov r3, s0 80d0d02: 431a orrs r2, r3 80d0d04: 1c43 adds r3, r0, #1 80d0d06: 4313 orrs r3, r2 80d0d08: d10a bne.n 80d0d20 <__kernel_tan+0x40> 80d0d0a: f7fe f8e1 bl 80ceed0 80d0d0e: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80d0d12: ee86 7b00 vdiv.f64 d7, d6, d0 80d0d16: eeb0 0b47 vmov.f64 d0, d7 80d0d1a: b003 add sp, #12 80d0d1c: f85d fb04 ldr.w pc, [sp], #4 80d0d20: 2801 cmp r0, #1 80d0d22: d0f8 beq.n 80d0d16 <__kernel_tan+0x36> 80d0d24: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80d0d28: ee86 7b00 vdiv.f64 d7, d6, d0 80d0d2c: e7f3 b.n 80d0d16 <__kernel_tan+0x36> 80d0d2e: 4971 ldr r1, [pc, #452] ; (80d0ef4 <__kernel_tan+0x214>) 80d0d30: 428a cmp r2, r1 80d0d32: dd12 ble.n 80d0d5a <__kernel_tan+0x7a> 80d0d34: ed9f 6b4e vldr d6, [pc, #312] ; 80d0e70 <__kernel_tan+0x190> 80d0d38: 2b00 cmp r3, #0 80d0d3a: bfb8 it lt 80d0d3c: eeb1 7b40 vneglt.f64 d7, d0 80d0d40: ee36 7b47 vsub.f64 d7, d6, d7 80d0d44: ed9f 6b4c vldr d6, [pc, #304] ; 80d0e78 <__kernel_tan+0x198> 80d0d48: bfb8 it lt 80d0d4a: eeb1 1b41 vneglt.f64 d1, d1 80d0d4e: ee36 1b41 vsub.f64 d1, d6, d1 80d0d52: ee31 7b07 vadd.f64 d7, d1, d7 80d0d56: ed9f 1b4a vldr d1, [pc, #296] ; 80d0e80 <__kernel_tan+0x1a0> 80d0d5a: ee27 5b07 vmul.f64 d5, d7, d7 80d0d5e: ee25 6b05 vmul.f64 d6, d5, d5 80d0d62: ed9f 3b49 vldr d3, [pc, #292] ; 80d0e88 <__kernel_tan+0x1a8> 80d0d66: ee27 0b05 vmul.f64 d0, d7, d5 80d0d6a: ed9f 4b49 vldr d4, [pc, #292] ; 80d0e90 <__kernel_tan+0x1b0> 80d0d6e: eea6 4b03 vfma.f64 d4, d6, d3 80d0d72: ed9f 3b49 vldr d3, [pc, #292] ; 80d0e98 <__kernel_tan+0x1b8> 80d0d76: eea6 3b04 vfma.f64 d3, d6, d4 80d0d7a: ed9f 4b49 vldr d4, [pc, #292] ; 80d0ea0 <__kernel_tan+0x1c0> 80d0d7e: eea6 4b03 vfma.f64 d4, d6, d3 80d0d82: ed9f 3b49 vldr d3, [pc, #292] ; 80d0ea8 <__kernel_tan+0x1c8> 80d0d86: eea6 3b04 vfma.f64 d3, d6, d4 80d0d8a: ed9f 4b49 vldr d4, [pc, #292] ; 80d0eb0 <__kernel_tan+0x1d0> 80d0d8e: ed9f 2b4a vldr d2, [pc, #296] ; 80d0eb8 <__kernel_tan+0x1d8> 80d0d92: eea6 4b03 vfma.f64 d4, d6, d3 80d0d96: ed9f 3b4a vldr d3, [pc, #296] ; 80d0ec0 <__kernel_tan+0x1e0> 80d0d9a: eea6 3b02 vfma.f64 d3, d6, d2 80d0d9e: ed9f 2b4a vldr d2, [pc, #296] ; 80d0ec8 <__kernel_tan+0x1e8> 80d0da2: eea6 2b03 vfma.f64 d2, d6, d3 80d0da6: ed9f 3b4a vldr d3, [pc, #296] ; 80d0ed0 <__kernel_tan+0x1f0> 80d0daa: eea6 3b02 vfma.f64 d3, d6, d2 80d0dae: ed9f 2b4a vldr d2, [pc, #296] ; 80d0ed8 <__kernel_tan+0x1f8> 80d0db2: eea6 2b03 vfma.f64 d2, d6, d3 80d0db6: ed9f 3b4a vldr d3, [pc, #296] ; 80d0ee0 <__kernel_tan+0x200> 80d0dba: 494e ldr r1, [pc, #312] ; (80d0ef4 <__kernel_tan+0x214>) 80d0dbc: eea6 3b02 vfma.f64 d3, d6, d2 80d0dc0: eeb0 6b41 vmov.f64 d6, d1 80d0dc4: eea5 4b03 vfma.f64 d4, d5, d3 80d0dc8: eea0 6b04 vfma.f64 d6, d0, d4 80d0dcc: eea5 1b06 vfma.f64 d1, d5, d6 80d0dd0: ed9f 6b45 vldr d6, [pc, #276] ; 80d0ee8 <__kernel_tan+0x208> 80d0dd4: 428a cmp r2, r1 80d0dd6: eea0 1b06 vfma.f64 d1, d0, d6 80d0dda: ee37 6b01 vadd.f64 d6, d7, d1 80d0dde: ed8d 6b00 vstr d6, [sp] 80d0de2: dd1f ble.n 80d0e24 <__kernel_tan+0x144> 80d0de4: ed9d 5b00 vldr d5, [sp] 80d0de8: 179b asrs r3, r3, #30 80d0dea: ee06 0a90 vmov s13, r0 80d0dee: ee25 3b05 vmul.f64 d3, d5, d5 80d0df2: f003 0302 and.w r3, r3, #2 80d0df6: f1c3 0301 rsb r3, r3, #1 80d0dfa: eeb8 6be6 vcvt.f64.s32 d6, s13 80d0dfe: ee35 4b06 vadd.f64 d4, d5, d6 80d0e02: ee83 5b04 vdiv.f64 d5, d3, d4 80d0e06: ee35 1b41 vsub.f64 d1, d5, d1 80d0e0a: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 80d0e0e: ee37 7b41 vsub.f64 d7, d7, d1 80d0e12: eea7 6b45 vfms.f64 d6, d7, d5 80d0e16: ee07 3a10 vmov s14, r3 80d0e1a: eeb8 7bc7 vcvt.f64.s32 d7, s14 80d0e1e: ee26 7b07 vmul.f64 d7, d6, d7 80d0e22: e778 b.n 80d0d16 <__kernel_tan+0x36> 80d0e24: 2801 cmp r0, #1 80d0e26: d020 beq.n 80d0e6a <__kernel_tan+0x18a> 80d0e28: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80d0e2c: ed9d 3b00 vldr d3, [sp] 80d0e30: e9dd 0100 ldrd r0, r1, [sp] 80d0e34: ee86 4b03 vdiv.f64 d4, d6, d3 80d0e38: ed8d 4b00 vstr d4, [sp] 80d0e3c: e9dd 2300 ldrd r2, r3, [sp] 80d0e40: 2000 movs r0, #0 80d0e42: 4602 mov r2, r0 80d0e44: ec43 2b16 vmov d6, r2, r3 80d0e48: ec41 0b15 vmov d5, r0, r1 80d0e4c: ee35 7b47 vsub.f64 d7, d5, d7 80d0e50: ee31 1b47 vsub.f64 d1, d1, d7 80d0e54: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80d0e58: eea5 7b06 vfma.f64 d7, d5, d6 80d0e5c: eea1 7b06 vfma.f64 d7, d1, d6 80d0e60: eea4 6b07 vfma.f64 d6, d4, d7 80d0e64: eeb0 7b46 vmov.f64 d7, d6 80d0e68: e755 b.n 80d0d16 <__kernel_tan+0x36> 80d0e6a: ed9d 7b00 vldr d7, [sp] 80d0e6e: e752 b.n 80d0d16 <__kernel_tan+0x36> 80d0e70: 54442d18 .word 0x54442d18 80d0e74: 3fe921fb .word 0x3fe921fb 80d0e78: 33145c07 .word 0x33145c07 80d0e7c: 3c81a626 .word 0x3c81a626 ... 80d0e88: db605373 .word 0xdb605373 80d0e8c: bef375cb .word 0xbef375cb 80d0e90: a03792a6 .word 0xa03792a6 80d0e94: 3f147e88 .word 0x3f147e88 80d0e98: f2f26501 .word 0xf2f26501 80d0e9c: 3f4344d8 .word 0x3f4344d8 80d0ea0: c9560328 .word 0xc9560328 80d0ea4: 3f6d6d22 .word 0x3f6d6d22 80d0ea8: 8406d637 .word 0x8406d637 80d0eac: 3f9664f4 .word 0x3f9664f4 80d0eb0: 1110fe7a .word 0x1110fe7a 80d0eb4: 3fc11111 .word 0x3fc11111 80d0eb8: 74bf7ad4 .word 0x74bf7ad4 80d0ebc: 3efb2a70 .word 0x3efb2a70 80d0ec0: 32f0a7e9 .word 0x32f0a7e9 80d0ec4: 3f12b80f .word 0x3f12b80f 80d0ec8: 1a8d1068 .word 0x1a8d1068 80d0ecc: 3f3026f7 .word 0x3f3026f7 80d0ed0: fee08315 .word 0xfee08315 80d0ed4: 3f57dbc8 .word 0x3f57dbc8 80d0ed8: e96e8493 .word 0xe96e8493 80d0edc: 3f8226e3 .word 0x3f8226e3 80d0ee0: 1bb341fe .word 0x1bb341fe 80d0ee4: 3faba1ba .word 0x3faba1ba 80d0ee8: 55555563 .word 0x55555563 80d0eec: 3fd55555 .word 0x3fd55555 80d0ef0: 3e2fffff .word 0x3e2fffff 80d0ef4: 3fe59427 .word 0x3fe59427 080d0ef8 : 80d0ef8: ee10 3a90 vmov r3, s1 80d0efc: f043 4000 orr.w r0, r3, #2147483648 ; 0x80000000 80d0f00: f500 1080 add.w r0, r0, #1048576 ; 0x100000 80d0f04: 0fc0 lsrs r0, r0, #31 80d0f06: 4770 bx lr 080d0f08 : 80d0f08: ee10 1a90 vmov r1, s1 80d0f0c: f3c1 520a ubfx r2, r1, #20, #11 80d0f10: f2a2 33ff subw r3, r2, #1023 ; 0x3ff 80d0f14: 2b13 cmp r3, #19 80d0f16: b530 push {r4, r5, lr} 80d0f18: ee10 0a10 vmov r0, s0 80d0f1c: ee10 5a10 vmov r5, s0 80d0f20: dc33 bgt.n 80d0f8a 80d0f22: 2b00 cmp r3, #0 80d0f24: da17 bge.n 80d0f56 80d0f26: ed9f 7b30 vldr d7, [pc, #192] ; 80d0fe8 80d0f2a: ee30 0b07 vadd.f64 d0, d0, d7 80d0f2e: eeb5 0bc0 vcmpe.f64 d0, #0.0 80d0f32: eef1 fa10 vmrs APSR_nzcv, fpscr 80d0f36: dd09 ble.n 80d0f4c 80d0f38: 2900 cmp r1, #0 80d0f3a: da50 bge.n 80d0fde 80d0f3c: f021 4300 bic.w r3, r1, #2147483648 ; 0x80000000 80d0f40: 432b orrs r3, r5 80d0f42: 4b2b ldr r3, [pc, #172] ; (80d0ff0 ) 80d0f44: f04f 0000 mov.w r0, #0 80d0f48: bf18 it ne 80d0f4a: 4619 movne r1, r3 80d0f4c: 460b mov r3, r1 80d0f4e: 4602 mov r2, r0 80d0f50: ec43 2b10 vmov d0, r2, r3 80d0f54: bd30 pop {r4, r5, pc} 80d0f56: 4a27 ldr r2, [pc, #156] ; (80d0ff4 ) 80d0f58: 411a asrs r2, r3 80d0f5a: ea01 0402 and.w r4, r1, r2 80d0f5e: 432c orrs r4, r5 80d0f60: d0f8 beq.n 80d0f54 80d0f62: ed9f 7b21 vldr d7, [pc, #132] ; 80d0fe8 80d0f66: ee30 0b07 vadd.f64 d0, d0, d7 80d0f6a: eeb5 0bc0 vcmpe.f64 d0, #0.0 80d0f6e: eef1 fa10 vmrs APSR_nzcv, fpscr 80d0f72: ddeb ble.n 80d0f4c 80d0f74: 2900 cmp r1, #0 80d0f76: bfbe ittt lt 80d0f78: f44f 1080 movlt.w r0, #1048576 ; 0x100000 80d0f7c: fa40 f303 asrlt.w r3, r0, r3 80d0f80: 18c9 addlt r1, r1, r3 80d0f82: ea21 0102 bic.w r1, r1, r2 80d0f86: 2000 movs r0, #0 80d0f88: e7e0 b.n 80d0f4c 80d0f8a: 2b33 cmp r3, #51 ; 0x33 80d0f8c: dd05 ble.n 80d0f9a 80d0f8e: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80d0f92: d1df bne.n 80d0f54 80d0f94: ee30 0b00 vadd.f64 d0, d0, d0 80d0f98: bd30 pop {r4, r5, pc} 80d0f9a: f2a2 4413 subw r4, r2, #1043 ; 0x413 80d0f9e: f04f 32ff mov.w r2, #4294967295 80d0fa2: 40e2 lsrs r2, r4 80d0fa4: 4215 tst r5, r2 80d0fa6: d0d5 beq.n 80d0f54 80d0fa8: ed9f 7b0f vldr d7, [pc, #60] ; 80d0fe8 80d0fac: ee30 0b07 vadd.f64 d0, d0, d7 80d0fb0: eeb5 0bc0 vcmpe.f64 d0, #0.0 80d0fb4: eef1 fa10 vmrs APSR_nzcv, fpscr 80d0fb8: ddc8 ble.n 80d0f4c 80d0fba: 2900 cmp r1, #0 80d0fbc: da02 bge.n 80d0fc4 80d0fbe: 2b14 cmp r3, #20 80d0fc0: d103 bne.n 80d0fca 80d0fc2: 3101 adds r1, #1 80d0fc4: ea20 0002 bic.w r0, r0, r2 80d0fc8: e7c0 b.n 80d0f4c 80d0fca: 2401 movs r4, #1 80d0fcc: f1c3 0334 rsb r3, r3, #52 ; 0x34 80d0fd0: fa04 f303 lsl.w r3, r4, r3 80d0fd4: 4418 add r0, r3 80d0fd6: 4285 cmp r5, r0 80d0fd8: bf88 it hi 80d0fda: 1909 addhi r1, r1, r4 80d0fdc: e7f2 b.n 80d0fc4 80d0fde: 2000 movs r0, #0 80d0fe0: 4601 mov r1, r0 80d0fe2: e7b3 b.n 80d0f4c 80d0fe4: f3af 8000 nop.w 80d0fe8: 8800759c .word 0x8800759c 80d0fec: 7e37e43c .word 0x7e37e43c 80d0ff0: bff00000 .word 0xbff00000 80d0ff4: 000fffff .word 0x000fffff 080d0ff8 : 80d0ff8: 2000 movs r0, #0 80d0ffa: 4770 bx lr 80d0ffc: 0000 movs r0, r0 ... 080d1000 : 80d1000: ed9f 0b01 vldr d0, [pc, #4] ; 80d1008 80d1004: 4770 bx lr 80d1006: bf00 nop 80d1008: 00000000 .word 0x00000000 80d100c: 7ff80000 .word 0x7ff80000 080d1010 : 80d1010: b530 push {r4, r5, lr} 80d1012: b085 sub sp, #20 80d1014: ed8d 0b00 vstr d0, [sp] 80d1018: 9b01 ldr r3, [sp, #4] 80d101a: 9d00 ldr r5, [sp, #0] 80d101c: f3c3 510a ubfx r1, r3, #20, #11 80d1020: f2a1 30ff subw r0, r1, #1023 ; 0x3ff 80d1024: 2813 cmp r0, #19 80d1026: 462a mov r2, r5 80d1028: ea4f 74d3 mov.w r4, r3, lsr #31 80d102c: dc5a bgt.n 80d10e4 80d102e: 2800 cmp r0, #0 80d1030: da2f bge.n 80d1092 80d1032: f023 4200 bic.w r2, r3, #2147483648 ; 0x80000000 80d1036: 432a orrs r2, r5 80d1038: d027 beq.n 80d108a 80d103a: f3c3 0213 ubfx r2, r3, #0, #20 80d103e: 4315 orrs r5, r2 80d1040: 426a negs r2, r5 80d1042: 432a orrs r2, r5 80d1044: 0b12 lsrs r2, r2, #12 80d1046: 0c5b lsrs r3, r3, #17 80d1048: f402 2200 and.w r2, r2, #524288 ; 0x80000 80d104c: 045b lsls r3, r3, #17 80d104e: e9dd 0100 ldrd r0, r1, [sp] 80d1052: ea42 0103 orr.w r1, r2, r3 80d1056: 4b32 ldr r3, [pc, #200] ; (80d1120 ) 80d1058: eb03 03c4 add.w r3, r3, r4, lsl #3 80d105c: ed93 6b00 vldr d6, [r3] 80d1060: ec41 0b17 vmov d7, r0, r1 80d1064: ee37 7b06 vadd.f64 d7, d7, d6 80d1068: ed8d 7b02 vstr d7, [sp, #8] 80d106c: ed9d 7b02 vldr d7, [sp, #8] 80d1070: ee37 7b46 vsub.f64 d7, d7, d6 80d1074: ed8d 7b00 vstr d7, [sp] 80d1078: 9901 ldr r1, [sp, #4] 80d107a: e9dd 2300 ldrd r2, r3, [sp] 80d107e: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000 80d1082: ea41 73c4 orr.w r3, r1, r4, lsl #31 80d1086: e9cd 2300 strd r2, r3, [sp] 80d108a: ed9d 0b00 vldr d0, [sp] 80d108e: b005 add sp, #20 80d1090: bd30 pop {r4, r5, pc} 80d1092: 4924 ldr r1, [pc, #144] ; (80d1124 ) 80d1094: 4101 asrs r1, r0 80d1096: ea03 0501 and.w r5, r3, r1 80d109a: 4315 orrs r5, r2 80d109c: d0f5 beq.n 80d108a 80d109e: 0849 lsrs r1, r1, #1 80d10a0: ea03 0501 and.w r5, r3, r1 80d10a4: 432a orrs r2, r5 80d10a6: d00b beq.n 80d10c0 80d10a8: ea23 0101 bic.w r1, r3, r1 80d10ac: f44f 2380 mov.w r3, #262144 ; 0x40000 80d10b0: 2813 cmp r0, #19 80d10b2: fa43 f300 asr.w r3, r3, r0 80d10b6: bf0c ite eq 80d10b8: f04f 4200 moveq.w r2, #2147483648 ; 0x80000000 80d10bc: 2200 movne r2, #0 80d10be: 430b orrs r3, r1 80d10c0: 4619 mov r1, r3 80d10c2: 4b17 ldr r3, [pc, #92] ; (80d1120 ) 80d10c4: eb03 04c4 add.w r4, r3, r4, lsl #3 80d10c8: ed94 6b00 vldr d6, [r4] 80d10cc: 4610 mov r0, r2 80d10ce: ec41 0b17 vmov d7, r0, r1 80d10d2: ee37 7b06 vadd.f64 d7, d7, d6 80d10d6: ed8d 7b02 vstr d7, [sp, #8] 80d10da: ed9d 7b02 vldr d7, [sp, #8] 80d10de: ee37 7b46 vsub.f64 d7, d7, d6 80d10e2: e008 b.n 80d10f6 80d10e4: 2833 cmp r0, #51 ; 0x33 80d10e6: dd09 ble.n 80d10fc 80d10e8: f5b0 6f80 cmp.w r0, #1024 ; 0x400 80d10ec: d1cd bne.n 80d108a 80d10ee: ed9d 7b00 vldr d7, [sp] 80d10f2: ee37 7b07 vadd.f64 d7, d7, d7 80d10f6: ed8d 7b00 vstr d7, [sp] 80d10fa: e7c6 b.n 80d108a 80d10fc: f2a1 4013 subw r0, r1, #1043 ; 0x413 80d1100: f04f 31ff mov.w r1, #4294967295 80d1104: 40c1 lsrs r1, r0 80d1106: 420d tst r5, r1 80d1108: d0bf beq.n 80d108a 80d110a: 0849 lsrs r1, r1, #1 80d110c: 420d tst r5, r1 80d110e: bf1f itttt ne 80d1110: f04f 4280 movne.w r2, #1073741824 ; 0x40000000 80d1114: ea25 0101 bicne.w r1, r5, r1 80d1118: 4102 asrne r2, r0 80d111a: 430a orrne r2, r1 80d111c: e7d0 b.n 80d10c0 80d111e: bf00 nop 80d1120: 0818ac48 .word 0x0818ac48 80d1124: 000fffff .word 0x000fffff 080d1128 : 80d1128: b500 push {lr} 80d112a: ed2d 8b02 vpush {d8} 80d112e: b083 sub sp, #12 80d1130: ed8d 0b00 vstr d0, [sp] 80d1134: e89d 000a ldmia.w sp, {r1, r3} 80d1138: f3c3 520a ubfx r2, r3, #20, #11 80d113c: b9a2 cbnz r2, 80d1168 80d113e: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80d1142: 430b orrs r3, r1 80d1144: d03a beq.n 80d11bc 80d1146: ed9f 7b2e vldr d7, [pc, #184] ; 80d1200 80d114a: 4a35 ldr r2, [pc, #212] ; (80d1220 ) 80d114c: ee20 7b07 vmul.f64 d7, d0, d7 80d1150: 4290 cmp r0, r2 80d1152: ed8d 7b00 vstr d7, [sp] 80d1156: 9b01 ldr r3, [sp, #4] 80d1158: da11 bge.n 80d117e 80d115a: ed9f 7b2b vldr d7, [pc, #172] ; 80d1208 80d115e: ed9d 6b00 vldr d6, [sp] 80d1162: ee27 7b06 vmul.f64 d7, d7, d6 80d1166: e007 b.n 80d1178 80d1168: f240 71ff movw r1, #2047 ; 0x7ff 80d116c: 428a cmp r2, r1 80d116e: d109 bne.n 80d1184 80d1170: ed9d 7b00 vldr d7, [sp] 80d1174: ee37 7b07 vadd.f64 d7, d7, d7 80d1178: ed8d 7b00 vstr d7, [sp] 80d117c: e01e b.n 80d11bc 80d117e: f3c3 520a ubfx r2, r3, #20, #11 80d1182: 3a36 subs r2, #54 ; 0x36 80d1184: 4402 add r2, r0 80d1186: f240 71fe movw r1, #2046 ; 0x7fe 80d118a: 428a cmp r2, r1 80d118c: dd0a ble.n 80d11a4 80d118e: ed9f 8b20 vldr d8, [pc, #128] ; 80d1210 80d1192: eeb0 0b48 vmov.f64 d0, d8 80d1196: ed9d 1b00 vldr d1, [sp] 80d119a: f000 f881 bl 80d12a0 80d119e: ee20 7b08 vmul.f64 d7, d0, d8 80d11a2: e7e9 b.n 80d1178 80d11a4: 2a00 cmp r2, #0 80d11a6: dd10 ble.n 80d11ca 80d11a8: e9dd 0100 ldrd r0, r1, [sp] 80d11ac: f023 43ff bic.w r3, r3, #2139095040 ; 0x7f800000 80d11b0: f423 03e0 bic.w r3, r3, #7340032 ; 0x700000 80d11b4: ea43 5102 orr.w r1, r3, r2, lsl #20 80d11b8: e9cd 0100 strd r0, r1, [sp] 80d11bc: ed9d 0b00 vldr d0, [sp] 80d11c0: b003 add sp, #12 80d11c2: ecbd 8b02 vpop {d8} 80d11c6: f85d fb04 ldr.w pc, [sp], #4 80d11ca: f112 0f35 cmn.w r2, #53 ; 0x35 80d11ce: da06 bge.n 80d11de 80d11d0: f24c 3350 movw r3, #50000 ; 0xc350 80d11d4: 4298 cmp r0, r3 80d11d6: dcda bgt.n 80d118e 80d11d8: ed9f 8b0b vldr d8, [pc, #44] ; 80d1208 80d11dc: e7d9 b.n 80d1192 80d11de: e9dd 0100 ldrd r0, r1, [sp] 80d11e2: f023 43ff bic.w r3, r3, #2139095040 ; 0x7f800000 80d11e6: 3236 adds r2, #54 ; 0x36 80d11e8: f423 03e0 bic.w r3, r3, #7340032 ; 0x700000 80d11ec: ea43 5102 orr.w r1, r3, r2, lsl #20 80d11f0: ec41 0b17 vmov d7, r0, r1 80d11f4: ed9f 6b08 vldr d6, [pc, #32] ; 80d1218 80d11f8: e7b3 b.n 80d1162 80d11fa: bf00 nop 80d11fc: f3af 8000 nop.w 80d1200: 00000000 .word 0x00000000 80d1204: 43500000 .word 0x43500000 80d1208: c2f8f359 .word 0xc2f8f359 80d120c: 01a56e1f .word 0x01a56e1f 80d1210: 8800759c .word 0x8800759c 80d1214: 7e37e43c .word 0x7e37e43c 80d1218: 00000000 .word 0x00000000 80d121c: 3c900000 .word 0x3c900000 80d1220: ffff3cb0 .word 0xffff3cb0 80d1224: 00000000 .word 0x00000000 080d1228 : 80d1228: b51f push {r0, r1, r2, r3, r4, lr} 80d122a: eeb0 7b40 vmov.f64 d7, d0 80d122e: ee17 3a90 vmov r3, s15 80d1232: 4a19 ldr r2, [pc, #100] ; (80d1298 ) 80d1234: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80d1238: 4293 cmp r3, r2 80d123a: dc05 bgt.n 80d1248 80d123c: ed9f 1b14 vldr d1, [pc, #80] ; 80d1290 80d1240: 2000 movs r0, #0 80d1242: f7ff fcf5 bl 80d0c30 <__kernel_sin> 80d1246: e004 b.n 80d1252 80d1248: 4a14 ldr r2, [pc, #80] ; (80d129c ) 80d124a: 4293 cmp r3, r2 80d124c: dd04 ble.n 80d1258 80d124e: ee30 0b40 vsub.f64 d0, d0, d0 80d1252: b005 add sp, #20 80d1254: f85d fb04 ldr.w pc, [sp], #4 80d1258: 4668 mov r0, sp 80d125a: f7fe fe99 bl 80cff90 <__ieee754_rem_pio2> 80d125e: f000 0003 and.w r0, r0, #3 80d1262: 2801 cmp r0, #1 80d1264: ed9d 1b02 vldr d1, [sp, #8] 80d1268: ed9d 0b00 vldr d0, [sp] 80d126c: d004 beq.n 80d1278 80d126e: 2802 cmp r0, #2 80d1270: d005 beq.n 80d127e 80d1272: b950 cbnz r0, 80d128a 80d1274: 2001 movs r0, #1 80d1276: e7e4 b.n 80d1242 80d1278: f7ff f9fa bl 80d0670 <__kernel_cos> 80d127c: e7e9 b.n 80d1252 80d127e: 2001 movs r0, #1 80d1280: f7ff fcd6 bl 80d0c30 <__kernel_sin> 80d1284: eeb1 0b40 vneg.f64 d0, d0 80d1288: e7e3 b.n 80d1252 80d128a: f7ff f9f1 bl 80d0670 <__kernel_cos> 80d128e: e7f9 b.n 80d1284 ... 80d1298: 3fe921fb .word 0x3fe921fb 80d129c: 7fefffff .word 0x7fefffff 080d12a0 : 80d12a0: ec53 2b10 vmov r2, r3, d0 80d12a4: ee11 0a90 vmov r0, s3 80d12a8: f023 4100 bic.w r1, r3, #2147483648 ; 0x80000000 80d12ac: f000 4000 and.w r0, r0, #2147483648 ; 0x80000000 80d12b0: ea41 0300 orr.w r3, r1, r0 80d12b4: ec43 2b10 vmov d0, r2, r3 80d12b8: 4770 bx lr 080d12ba : 80d12ba: 220a movs r2, #10 80d12bc: 2100 movs r1, #0 80d12be: f000 ba41 b.w 80d1744 ... 080d12c4 <__errno>: 80d12c4: 4b01 ldr r3, [pc, #4] ; (80d12cc <__errno+0x8>) 80d12c6: 6818 ldr r0, [r3, #0] 80d12c8: 4770 bx lr 80d12ca: bf00 nop 80d12cc: 20020b54 .word 0x20020b54 080d12d0 <__libc_init_array>: 80d12d0: b570 push {r4, r5, r6, lr} 80d12d2: 4e0d ldr r6, [pc, #52] ; (80d1308 <__libc_init_array+0x38>) 80d12d4: 4c0d ldr r4, [pc, #52] ; (80d130c <__libc_init_array+0x3c>) 80d12d6: 1ba4 subs r4, r4, r6 80d12d8: 10a4 asrs r4, r4, #2 80d12da: 2500 movs r5, #0 80d12dc: 42a5 cmp r5, r4 80d12de: d109 bne.n 80d12f4 <__libc_init_array+0x24> 80d12e0: 4e0b ldr r6, [pc, #44] ; (80d1310 <__libc_init_array+0x40>) 80d12e2: 4c0c ldr r4, [pc, #48] ; (80d1314 <__libc_init_array+0x44>) 80d12e4: f001 fa64 bl 80d27b0 <_init> 80d12e8: 1ba4 subs r4, r4, r6 80d12ea: 10a4 asrs r4, r4, #2 80d12ec: 2500 movs r5, #0 80d12ee: 42a5 cmp r5, r4 80d12f0: d105 bne.n 80d12fe <__libc_init_array+0x2e> 80d12f2: bd70 pop {r4, r5, r6, pc} 80d12f4: f856 3025 ldr.w r3, [r6, r5, lsl #2] 80d12f8: 4798 blx r3 80d12fa: 3501 adds r5, #1 80d12fc: e7ee b.n 80d12dc <__libc_init_array+0xc> 80d12fe: f856 3025 ldr.w r3, [r6, r5, lsl #2] 80d1302: 4798 blx r3 80d1304: 3501 adds r5, #1 80d1306: e7f2 b.n 80d12ee <__libc_init_array+0x1e> 80d1308: 0818ae2c .word 0x0818ae2c 80d130c: 0818ae2c .word 0x0818ae2c 80d1310: 0818ae2c .word 0x0818ae2c 80d1314: 0818ae30 .word 0x0818ae30 080d1318 <__itoa>: 80d1318: 1e93 subs r3, r2, #2 80d131a: 2b22 cmp r3, #34 ; 0x22 80d131c: b510 push {r4, lr} 80d131e: 460c mov r4, r1 80d1320: d904 bls.n 80d132c <__itoa+0x14> 80d1322: 2300 movs r3, #0 80d1324: 700b strb r3, [r1, #0] 80d1326: 461c mov r4, r3 80d1328: 4620 mov r0, r4 80d132a: bd10 pop {r4, pc} 80d132c: 2a0a cmp r2, #10 80d132e: d109 bne.n 80d1344 <__itoa+0x2c> 80d1330: 2800 cmp r0, #0 80d1332: da07 bge.n 80d1344 <__itoa+0x2c> 80d1334: 232d movs r3, #45 ; 0x2d 80d1336: 700b strb r3, [r1, #0] 80d1338: 4240 negs r0, r0 80d133a: 2101 movs r1, #1 80d133c: 4421 add r1, r4 80d133e: f000 fa17 bl 80d1770 <__utoa> 80d1342: e7f1 b.n 80d1328 <__itoa+0x10> 80d1344: 2100 movs r1, #0 80d1346: e7f9 b.n 80d133c <__itoa+0x24> 080d1348 : 80d1348: f7ff bfe6 b.w 80d1318 <__itoa> 080d134c : 80d134c: 4b02 ldr r3, [pc, #8] ; (80d1358 ) 80d134e: 4601 mov r1, r0 80d1350: 6818 ldr r0, [r3, #0] 80d1352: f000 b87b b.w 80d144c <_malloc_r> 80d1356: bf00 nop 80d1358: 20020b54 .word 0x20020b54 080d135c : 80d135c: 4b02 ldr r3, [pc, #8] ; (80d1368 ) 80d135e: 4601 mov r1, r0 80d1360: 6818 ldr r0, [r3, #0] 80d1362: f000 b825 b.w 80d13b0 <_free_r> 80d1366: bf00 nop 80d1368: 20020b54 .word 0x20020b54 080d136c : 80d136c: b510 push {r4, lr} 80d136e: 3901 subs r1, #1 80d1370: 4402 add r2, r0 80d1372: 4290 cmp r0, r2 80d1374: d101 bne.n 80d137a 80d1376: 2000 movs r0, #0 80d1378: bd10 pop {r4, pc} 80d137a: f810 3b01 ldrb.w r3, [r0], #1 80d137e: f811 4f01 ldrb.w r4, [r1, #1]! 80d1382: 42a3 cmp r3, r4 80d1384: d0f5 beq.n 80d1372 80d1386: 1b18 subs r0, r3, r4 80d1388: bd10 pop {r4, pc} 080d138a : 80d138a: b510 push {r4, lr} 80d138c: 1e43 subs r3, r0, #1 80d138e: 440a add r2, r1 80d1390: 4291 cmp r1, r2 80d1392: d100 bne.n 80d1396 80d1394: bd10 pop {r4, pc} 80d1396: f811 4b01 ldrb.w r4, [r1], #1 80d139a: f803 4f01 strb.w r4, [r3, #1]! 80d139e: e7f7 b.n 80d1390 080d13a0 : 80d13a0: 4402 add r2, r0 80d13a2: 4603 mov r3, r0 80d13a4: 4293 cmp r3, r2 80d13a6: d100 bne.n 80d13aa 80d13a8: 4770 bx lr 80d13aa: f803 1b01 strb.w r1, [r3], #1 80d13ae: e7f9 b.n 80d13a4 080d13b0 <_free_r>: 80d13b0: b538 push {r3, r4, r5, lr} 80d13b2: 4605 mov r5, r0 80d13b4: 2900 cmp r1, #0 80d13b6: d045 beq.n 80d1444 <_free_r+0x94> 80d13b8: f851 3c04 ldr.w r3, [r1, #-4] 80d13bc: 1f0c subs r4, r1, #4 80d13be: 2b00 cmp r3, #0 80d13c0: bfb8 it lt 80d13c2: 18e4 addlt r4, r4, r3 80d13c4: f000 faf3 bl 80d19ae <__malloc_lock> 80d13c8: 4a1f ldr r2, [pc, #124] ; (80d1448 <_free_r+0x98>) 80d13ca: 6813 ldr r3, [r2, #0] 80d13cc: 4610 mov r0, r2 80d13ce: b933 cbnz r3, 80d13de <_free_r+0x2e> 80d13d0: 6063 str r3, [r4, #4] 80d13d2: 6014 str r4, [r2, #0] 80d13d4: 4628 mov r0, r5 80d13d6: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 80d13da: f000 bae9 b.w 80d19b0 <__malloc_unlock> 80d13de: 42a3 cmp r3, r4 80d13e0: d90c bls.n 80d13fc <_free_r+0x4c> 80d13e2: 6821 ldr r1, [r4, #0] 80d13e4: 1862 adds r2, r4, r1 80d13e6: 4293 cmp r3, r2 80d13e8: bf04 itt eq 80d13ea: 681a ldreq r2, [r3, #0] 80d13ec: 685b ldreq r3, [r3, #4] 80d13ee: 6063 str r3, [r4, #4] 80d13f0: bf04 itt eq 80d13f2: 1852 addeq r2, r2, r1 80d13f4: 6022 streq r2, [r4, #0] 80d13f6: 6004 str r4, [r0, #0] 80d13f8: e7ec b.n 80d13d4 <_free_r+0x24> 80d13fa: 4613 mov r3, r2 80d13fc: 685a ldr r2, [r3, #4] 80d13fe: b10a cbz r2, 80d1404 <_free_r+0x54> 80d1400: 42a2 cmp r2, r4 80d1402: d9fa bls.n 80d13fa <_free_r+0x4a> 80d1404: 6819 ldr r1, [r3, #0] 80d1406: 1858 adds r0, r3, r1 80d1408: 42a0 cmp r0, r4 80d140a: d10b bne.n 80d1424 <_free_r+0x74> 80d140c: 6820 ldr r0, [r4, #0] 80d140e: 4401 add r1, r0 80d1410: 1858 adds r0, r3, r1 80d1412: 4282 cmp r2, r0 80d1414: 6019 str r1, [r3, #0] 80d1416: d1dd bne.n 80d13d4 <_free_r+0x24> 80d1418: 6810 ldr r0, [r2, #0] 80d141a: 6852 ldr r2, [r2, #4] 80d141c: 605a str r2, [r3, #4] 80d141e: 4401 add r1, r0 80d1420: 6019 str r1, [r3, #0] 80d1422: e7d7 b.n 80d13d4 <_free_r+0x24> 80d1424: d902 bls.n 80d142c <_free_r+0x7c> 80d1426: 230c movs r3, #12 80d1428: 602b str r3, [r5, #0] 80d142a: e7d3 b.n 80d13d4 <_free_r+0x24> 80d142c: 6820 ldr r0, [r4, #0] 80d142e: 1821 adds r1, r4, r0 80d1430: 428a cmp r2, r1 80d1432: bf04 itt eq 80d1434: 6811 ldreq r1, [r2, #0] 80d1436: 6852 ldreq r2, [r2, #4] 80d1438: 6062 str r2, [r4, #4] 80d143a: bf04 itt eq 80d143c: 1809 addeq r1, r1, r0 80d143e: 6021 streq r1, [r4, #0] 80d1440: 605c str r4, [r3, #4] 80d1442: e7c7 b.n 80d13d4 <_free_r+0x24> 80d1444: bd38 pop {r3, r4, r5, pc} 80d1446: bf00 nop 80d1448: 20021b70 .word 0x20021b70 080d144c <_malloc_r>: 80d144c: b570 push {r4, r5, r6, lr} 80d144e: 1ccd adds r5, r1, #3 80d1450: f025 0503 bic.w r5, r5, #3 80d1454: 3508 adds r5, #8 80d1456: 2d0c cmp r5, #12 80d1458: bf38 it cc 80d145a: 250c movcc r5, #12 80d145c: 2d00 cmp r5, #0 80d145e: 4606 mov r6, r0 80d1460: db01 blt.n 80d1466 <_malloc_r+0x1a> 80d1462: 42a9 cmp r1, r5 80d1464: d903 bls.n 80d146e <_malloc_r+0x22> 80d1466: 230c movs r3, #12 80d1468: 6033 str r3, [r6, #0] 80d146a: 2000 movs r0, #0 80d146c: bd70 pop {r4, r5, r6, pc} 80d146e: f000 fa9e bl 80d19ae <__malloc_lock> 80d1472: 4a23 ldr r2, [pc, #140] ; (80d1500 <_malloc_r+0xb4>) 80d1474: 6814 ldr r4, [r2, #0] 80d1476: 4621 mov r1, r4 80d1478: b991 cbnz r1, 80d14a0 <_malloc_r+0x54> 80d147a: 4c22 ldr r4, [pc, #136] ; (80d1504 <_malloc_r+0xb8>) 80d147c: 6823 ldr r3, [r4, #0] 80d147e: b91b cbnz r3, 80d1488 <_malloc_r+0x3c> 80d1480: 4630 mov r0, r6 80d1482: f000 f859 bl 80d1538 <_sbrk_r> 80d1486: 6020 str r0, [r4, #0] 80d1488: 4629 mov r1, r5 80d148a: 4630 mov r0, r6 80d148c: f000 f854 bl 80d1538 <_sbrk_r> 80d1490: 1c43 adds r3, r0, #1 80d1492: d126 bne.n 80d14e2 <_malloc_r+0x96> 80d1494: 230c movs r3, #12 80d1496: 6033 str r3, [r6, #0] 80d1498: 4630 mov r0, r6 80d149a: f000 fa89 bl 80d19b0 <__malloc_unlock> 80d149e: e7e4 b.n 80d146a <_malloc_r+0x1e> 80d14a0: 680b ldr r3, [r1, #0] 80d14a2: 1b5b subs r3, r3, r5 80d14a4: d41a bmi.n 80d14dc <_malloc_r+0x90> 80d14a6: 2b0b cmp r3, #11 80d14a8: d90f bls.n 80d14ca <_malloc_r+0x7e> 80d14aa: 600b str r3, [r1, #0] 80d14ac: 50cd str r5, [r1, r3] 80d14ae: 18cc adds r4, r1, r3 80d14b0: 4630 mov r0, r6 80d14b2: f000 fa7d bl 80d19b0 <__malloc_unlock> 80d14b6: f104 000b add.w r0, r4, #11 80d14ba: 1d23 adds r3, r4, #4 80d14bc: f020 0007 bic.w r0, r0, #7 80d14c0: 1ac3 subs r3, r0, r3 80d14c2: d01b beq.n 80d14fc <_malloc_r+0xb0> 80d14c4: 425a negs r2, r3 80d14c6: 50e2 str r2, [r4, r3] 80d14c8: bd70 pop {r4, r5, r6, pc} 80d14ca: 428c cmp r4, r1 80d14cc: bf0d iteet eq 80d14ce: 6863 ldreq r3, [r4, #4] 80d14d0: 684b ldrne r3, [r1, #4] 80d14d2: 6063 strne r3, [r4, #4] 80d14d4: 6013 streq r3, [r2, #0] 80d14d6: bf18 it ne 80d14d8: 460c movne r4, r1 80d14da: e7e9 b.n 80d14b0 <_malloc_r+0x64> 80d14dc: 460c mov r4, r1 80d14de: 6849 ldr r1, [r1, #4] 80d14e0: e7ca b.n 80d1478 <_malloc_r+0x2c> 80d14e2: 1cc4 adds r4, r0, #3 80d14e4: f024 0403 bic.w r4, r4, #3 80d14e8: 42a0 cmp r0, r4 80d14ea: d005 beq.n 80d14f8 <_malloc_r+0xac> 80d14ec: 1a21 subs r1, r4, r0 80d14ee: 4630 mov r0, r6 80d14f0: f000 f822 bl 80d1538 <_sbrk_r> 80d14f4: 3001 adds r0, #1 80d14f6: d0cd beq.n 80d1494 <_malloc_r+0x48> 80d14f8: 6025 str r5, [r4, #0] 80d14fa: e7d9 b.n 80d14b0 <_malloc_r+0x64> 80d14fc: bd70 pop {r4, r5, r6, pc} 80d14fe: bf00 nop 80d1500: 20021b70 .word 0x20021b70 80d1504: 20021b74 .word 0x20021b74 080d1508 : 80d1508: b40f push {r0, r1, r2, r3} 80d150a: 4b0a ldr r3, [pc, #40] ; (80d1534 ) 80d150c: b513 push {r0, r1, r4, lr} 80d150e: 681c ldr r4, [r3, #0] 80d1510: b124 cbz r4, 80d151c 80d1512: 69a3 ldr r3, [r4, #24] 80d1514: b913 cbnz r3, 80d151c 80d1516: 4620 mov r0, r4 80d1518: f000 f9aa bl 80d1870 <__sinit> 80d151c: ab05 add r3, sp, #20 80d151e: 9a04 ldr r2, [sp, #16] 80d1520: 68a1 ldr r1, [r4, #8] 80d1522: 9301 str r3, [sp, #4] 80d1524: 4620 mov r0, r4 80d1526: f000 fbbd bl 80d1ca4 <_vfiprintf_r> 80d152a: b002 add sp, #8 80d152c: e8bd 4010 ldmia.w sp!, {r4, lr} 80d1530: b004 add sp, #16 80d1532: 4770 bx lr 80d1534: 20020b54 .word 0x20020b54 080d1538 <_sbrk_r>: 80d1538: b538 push {r3, r4, r5, lr} 80d153a: 4c06 ldr r4, [pc, #24] ; (80d1554 <_sbrk_r+0x1c>) 80d153c: 2300 movs r3, #0 80d153e: 4605 mov r5, r0 80d1540: 4608 mov r0, r1 80d1542: 6023 str r3, [r4, #0] 80d1544: f7e0 fd42 bl 80b1fcc <_sbrk> 80d1548: 1c43 adds r3, r0, #1 80d154a: d102 bne.n 80d1552 <_sbrk_r+0x1a> 80d154c: 6823 ldr r3, [r4, #0] 80d154e: b103 cbz r3, 80d1552 <_sbrk_r+0x1a> 80d1550: 602b str r3, [r5, #0] 80d1552: bd38 pop {r3, r4, r5, pc} 80d1554: 20069674 .word 0x20069674 080d1558 : 80d1558: b40e push {r1, r2, r3} 80d155a: b500 push {lr} 80d155c: b09c sub sp, #112 ; 0x70 80d155e: f44f 7102 mov.w r1, #520 ; 0x208 80d1562: ab1d add r3, sp, #116 ; 0x74 80d1564: f8ad 1014 strh.w r1, [sp, #20] 80d1568: 9002 str r0, [sp, #8] 80d156a: 9006 str r0, [sp, #24] 80d156c: f06f 4100 mvn.w r1, #2147483648 ; 0x80000000 80d1570: 480a ldr r0, [pc, #40] ; (80d159c ) 80d1572: 9104 str r1, [sp, #16] 80d1574: 9107 str r1, [sp, #28] 80d1576: f64f 71ff movw r1, #65535 ; 0xffff 80d157a: f853 2b04 ldr.w r2, [r3], #4 80d157e: f8ad 1016 strh.w r1, [sp, #22] 80d1582: 6800 ldr r0, [r0, #0] 80d1584: 9301 str r3, [sp, #4] 80d1586: a902 add r1, sp, #8 80d1588: f000 fa6e bl 80d1a68 <_svfiprintf_r> 80d158c: 9b02 ldr r3, [sp, #8] 80d158e: 2200 movs r2, #0 80d1590: 701a strb r2, [r3, #0] 80d1592: b01c add sp, #112 ; 0x70 80d1594: f85d eb04 ldr.w lr, [sp], #4 80d1598: b003 add sp, #12 80d159a: 4770 bx lr 80d159c: 20020b54 .word 0x20020b54 080d15a0 : 80d15a0: b510 push {r4, lr} 80d15a2: 4602 mov r2, r0 80d15a4: 4613 mov r3, r2 80d15a6: 3201 adds r2, #1 80d15a8: 781c ldrb r4, [r3, #0] 80d15aa: 2c00 cmp r4, #0 80d15ac: d1fa bne.n 80d15a4 80d15ae: 3b01 subs r3, #1 80d15b0: f811 2b01 ldrb.w r2, [r1], #1 80d15b4: f803 2f01 strb.w r2, [r3, #1]! 80d15b8: 2a00 cmp r2, #0 80d15ba: d1f9 bne.n 80d15b0 80d15bc: bd10 pop {r4, pc} 080d15be : 80d15be: b2c9 uxtb r1, r1 80d15c0: 4603 mov r3, r0 80d15c2: f810 2b01 ldrb.w r2, [r0], #1 80d15c6: b11a cbz r2, 80d15d0 80d15c8: 4291 cmp r1, r2 80d15ca: d1f9 bne.n 80d15c0 80d15cc: 4618 mov r0, r3 80d15ce: 4770 bx lr 80d15d0: 2900 cmp r1, #0 80d15d2: bf0c ite eq 80d15d4: 4618 moveq r0, r3 80d15d6: 2000 movne r0, #0 80d15d8: 4770 bx lr 080d15da : 80d15da: 4603 mov r3, r0 80d15dc: f811 2b01 ldrb.w r2, [r1], #1 80d15e0: f803 2b01 strb.w r2, [r3], #1 80d15e4: 2a00 cmp r2, #0 80d15e6: d1f9 bne.n 80d15dc 80d15e8: 4770 bx lr 080d15ea : 80d15ea: b570 push {r4, r5, r6, lr} 80d15ec: 4603 mov r3, r0 80d15ee: 461a mov r2, r3 80d15f0: f812 5b01 ldrb.w r5, [r2], #1 80d15f4: b14d cbz r5, 80d160a 80d15f6: 1e4c subs r4, r1, #1 80d15f8: e001 b.n 80d15fe 80d15fa: 42b5 cmp r5, r6 80d15fc: d005 beq.n 80d160a 80d15fe: f814 6f01 ldrb.w r6, [r4, #1]! 80d1602: 2e00 cmp r6, #0 80d1604: d1f9 bne.n 80d15fa 80d1606: 4613 mov r3, r2 80d1608: e7f1 b.n 80d15ee 80d160a: 1a18 subs r0, r3, r0 80d160c: bd70 pop {r4, r5, r6, pc} 080d160e : 80d160e: b5f0 push {r4, r5, r6, r7, lr} 80d1610: 7803 ldrb r3, [r0, #0] 80d1612: b133 cbz r3, 80d1622 80d1614: 4603 mov r3, r0 80d1616: 4618 mov r0, r3 80d1618: 1c5e adds r6, r3, #1 80d161a: 781b ldrb r3, [r3, #0] 80d161c: b933 cbnz r3, 80d162c 80d161e: 4618 mov r0, r3 80d1620: bdf0 pop {r4, r5, r6, r7, pc} 80d1622: 780b ldrb r3, [r1, #0] 80d1624: 2b00 cmp r3, #0 80d1626: bf18 it ne 80d1628: 2000 movne r0, #0 80d162a: bdf0 pop {r4, r5, r6, r7, pc} 80d162c: 1e4d subs r5, r1, #1 80d162e: 1e44 subs r4, r0, #1 80d1630: f815 2f01 ldrb.w r2, [r5, #1]! 80d1634: 2a00 cmp r2, #0 80d1636: d0f3 beq.n 80d1620 80d1638: f814 7f01 ldrb.w r7, [r4, #1]! 80d163c: 4297 cmp r7, r2 80d163e: 4633 mov r3, r6 80d1640: d0f6 beq.n 80d1630 80d1642: e7e8 b.n 80d1616 080d1644 <_strtol_l.isra.0>: 80d1644: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d1648: 4680 mov r8, r0 80d164a: 4689 mov r9, r1 80d164c: 4692 mov sl, r2 80d164e: 461f mov r7, r3 80d1650: 468b mov fp, r1 80d1652: 465d mov r5, fp 80d1654: 980a ldr r0, [sp, #40] ; 0x28 80d1656: f815 4b01 ldrb.w r4, [r5], #1 80d165a: f000 f993 bl 80d1984 <__locale_ctype_ptr_l> 80d165e: 4420 add r0, r4 80d1660: 7846 ldrb r6, [r0, #1] 80d1662: f016 0608 ands.w r6, r6, #8 80d1666: d10b bne.n 80d1680 <_strtol_l.isra.0+0x3c> 80d1668: 2c2d cmp r4, #45 ; 0x2d 80d166a: d10b bne.n 80d1684 <_strtol_l.isra.0+0x40> 80d166c: 782c ldrb r4, [r5, #0] 80d166e: 2601 movs r6, #1 80d1670: f10b 0502 add.w r5, fp, #2 80d1674: b167 cbz r7, 80d1690 <_strtol_l.isra.0+0x4c> 80d1676: 2f10 cmp r7, #16 80d1678: d114 bne.n 80d16a4 <_strtol_l.isra.0+0x60> 80d167a: 2c30 cmp r4, #48 ; 0x30 80d167c: d00a beq.n 80d1694 <_strtol_l.isra.0+0x50> 80d167e: e011 b.n 80d16a4 <_strtol_l.isra.0+0x60> 80d1680: 46ab mov fp, r5 80d1682: e7e6 b.n 80d1652 <_strtol_l.isra.0+0xe> 80d1684: 2c2b cmp r4, #43 ; 0x2b 80d1686: bf04 itt eq 80d1688: 782c ldrbeq r4, [r5, #0] 80d168a: f10b 0502 addeq.w r5, fp, #2 80d168e: e7f1 b.n 80d1674 <_strtol_l.isra.0+0x30> 80d1690: 2c30 cmp r4, #48 ; 0x30 80d1692: d127 bne.n 80d16e4 <_strtol_l.isra.0+0xa0> 80d1694: 782b ldrb r3, [r5, #0] 80d1696: f003 03df and.w r3, r3, #223 ; 0xdf 80d169a: 2b58 cmp r3, #88 ; 0x58 80d169c: d14b bne.n 80d1736 <_strtol_l.isra.0+0xf2> 80d169e: 786c ldrb r4, [r5, #1] 80d16a0: 2710 movs r7, #16 80d16a2: 3502 adds r5, #2 80d16a4: 2e00 cmp r6, #0 80d16a6: bf0c ite eq 80d16a8: f06f 4100 mvneq.w r1, #2147483648 ; 0x80000000 80d16ac: f04f 4100 movne.w r1, #2147483648 ; 0x80000000 80d16b0: 2200 movs r2, #0 80d16b2: fbb1 fef7 udiv lr, r1, r7 80d16b6: 4610 mov r0, r2 80d16b8: fb07 1c1e mls ip, r7, lr, r1 80d16bc: f1a4 0330 sub.w r3, r4, #48 ; 0x30 80d16c0: 2b09 cmp r3, #9 80d16c2: d811 bhi.n 80d16e8 <_strtol_l.isra.0+0xa4> 80d16c4: 461c mov r4, r3 80d16c6: 42a7 cmp r7, r4 80d16c8: dd1d ble.n 80d1706 <_strtol_l.isra.0+0xc2> 80d16ca: 1c53 adds r3, r2, #1 80d16cc: d007 beq.n 80d16de <_strtol_l.isra.0+0x9a> 80d16ce: 4586 cmp lr, r0 80d16d0: d316 bcc.n 80d1700 <_strtol_l.isra.0+0xbc> 80d16d2: d101 bne.n 80d16d8 <_strtol_l.isra.0+0x94> 80d16d4: 45a4 cmp ip, r4 80d16d6: db13 blt.n 80d1700 <_strtol_l.isra.0+0xbc> 80d16d8: fb00 4007 mla r0, r0, r7, r4 80d16dc: 2201 movs r2, #1 80d16de: f815 4b01 ldrb.w r4, [r5], #1 80d16e2: e7eb b.n 80d16bc <_strtol_l.isra.0+0x78> 80d16e4: 270a movs r7, #10 80d16e6: e7dd b.n 80d16a4 <_strtol_l.isra.0+0x60> 80d16e8: f1a4 0341 sub.w r3, r4, #65 ; 0x41 80d16ec: 2b19 cmp r3, #25 80d16ee: d801 bhi.n 80d16f4 <_strtol_l.isra.0+0xb0> 80d16f0: 3c37 subs r4, #55 ; 0x37 80d16f2: e7e8 b.n 80d16c6 <_strtol_l.isra.0+0x82> 80d16f4: f1a4 0361 sub.w r3, r4, #97 ; 0x61 80d16f8: 2b19 cmp r3, #25 80d16fa: d804 bhi.n 80d1706 <_strtol_l.isra.0+0xc2> 80d16fc: 3c57 subs r4, #87 ; 0x57 80d16fe: e7e2 b.n 80d16c6 <_strtol_l.isra.0+0x82> 80d1700: f04f 32ff mov.w r2, #4294967295 80d1704: e7eb b.n 80d16de <_strtol_l.isra.0+0x9a> 80d1706: 1c53 adds r3, r2, #1 80d1708: d108 bne.n 80d171c <_strtol_l.isra.0+0xd8> 80d170a: 2322 movs r3, #34 ; 0x22 80d170c: f8c8 3000 str.w r3, [r8] 80d1710: 4608 mov r0, r1 80d1712: f1ba 0f00 cmp.w sl, #0 80d1716: d107 bne.n 80d1728 <_strtol_l.isra.0+0xe4> 80d1718: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d171c: b106 cbz r6, 80d1720 <_strtol_l.isra.0+0xdc> 80d171e: 4240 negs r0, r0 80d1720: f1ba 0f00 cmp.w sl, #0 80d1724: d00c beq.n 80d1740 <_strtol_l.isra.0+0xfc> 80d1726: b122 cbz r2, 80d1732 <_strtol_l.isra.0+0xee> 80d1728: 3d01 subs r5, #1 80d172a: f8ca 5000 str.w r5, [sl] 80d172e: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d1732: 464d mov r5, r9 80d1734: e7f9 b.n 80d172a <_strtol_l.isra.0+0xe6> 80d1736: 2430 movs r4, #48 ; 0x30 80d1738: 2f00 cmp r7, #0 80d173a: d1b3 bne.n 80d16a4 <_strtol_l.isra.0+0x60> 80d173c: 2708 movs r7, #8 80d173e: e7b1 b.n 80d16a4 <_strtol_l.isra.0+0x60> 80d1740: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 080d1744 : 80d1744: 4b08 ldr r3, [pc, #32] ; (80d1768 ) 80d1746: b537 push {r0, r1, r2, r4, r5, lr} 80d1748: 681c ldr r4, [r3, #0] 80d174a: 4d08 ldr r5, [pc, #32] ; (80d176c ) 80d174c: 6a23 ldr r3, [r4, #32] 80d174e: 2b00 cmp r3, #0 80d1750: bf08 it eq 80d1752: 462b moveq r3, r5 80d1754: 9300 str r3, [sp, #0] 80d1756: 4613 mov r3, r2 80d1758: 460a mov r2, r1 80d175a: 4601 mov r1, r0 80d175c: 4620 mov r0, r4 80d175e: f7ff ff71 bl 80d1644 <_strtol_l.isra.0> 80d1762: b003 add sp, #12 80d1764: bd30 pop {r4, r5, pc} 80d1766: bf00 nop 80d1768: 20020b54 .word 0x20020b54 80d176c: 20020bb8 .word 0x20020bb8 080d1770 <__utoa>: 80d1770: b5f0 push {r4, r5, r6, r7, lr} 80d1772: 4c1e ldr r4, [pc, #120] ; (80d17ec <__utoa+0x7c>) 80d1774: b08b sub sp, #44 ; 0x2c 80d1776: 4603 mov r3, r0 80d1778: 460f mov r7, r1 80d177a: 466d mov r5, sp 80d177c: f104 0e20 add.w lr, r4, #32 80d1780: 6820 ldr r0, [r4, #0] 80d1782: 6861 ldr r1, [r4, #4] 80d1784: 462e mov r6, r5 80d1786: c603 stmia r6!, {r0, r1} 80d1788: 3408 adds r4, #8 80d178a: 4574 cmp r4, lr 80d178c: 4635 mov r5, r6 80d178e: d1f7 bne.n 80d1780 <__utoa+0x10> 80d1790: 7921 ldrb r1, [r4, #4] 80d1792: 7131 strb r1, [r6, #4] 80d1794: 1e91 subs r1, r2, #2 80d1796: 6820 ldr r0, [r4, #0] 80d1798: 6030 str r0, [r6, #0] 80d179a: 2922 cmp r1, #34 ; 0x22 80d179c: f04f 0100 mov.w r1, #0 80d17a0: d904 bls.n 80d17ac <__utoa+0x3c> 80d17a2: 7039 strb r1, [r7, #0] 80d17a4: 460f mov r7, r1 80d17a6: 4638 mov r0, r7 80d17a8: b00b add sp, #44 ; 0x2c 80d17aa: bdf0 pop {r4, r5, r6, r7, pc} 80d17ac: 1e78 subs r0, r7, #1 80d17ae: 4606 mov r6, r0 80d17b0: fbb3 f5f2 udiv r5, r3, r2 80d17b4: f10d 0e28 add.w lr, sp, #40 ; 0x28 80d17b8: fb02 3315 mls r3, r2, r5, r3 80d17bc: 4473 add r3, lr 80d17be: 1c4c adds r4, r1, #1 80d17c0: f813 3c28 ldrb.w r3, [r3, #-40] 80d17c4: f806 3f01 strb.w r3, [r6, #1]! 80d17c8: 462b mov r3, r5 80d17ca: b965 cbnz r5, 80d17e6 <__utoa+0x76> 80d17cc: 553d strb r5, [r7, r4] 80d17ce: 187a adds r2, r7, r1 80d17d0: 1acc subs r4, r1, r3 80d17d2: 42a3 cmp r3, r4 80d17d4: dae7 bge.n 80d17a6 <__utoa+0x36> 80d17d6: 7844 ldrb r4, [r0, #1] 80d17d8: 7815 ldrb r5, [r2, #0] 80d17da: f800 5f01 strb.w r5, [r0, #1]! 80d17de: 3301 adds r3, #1 80d17e0: f802 4901 strb.w r4, [r2], #-1 80d17e4: e7f4 b.n 80d17d0 <__utoa+0x60> 80d17e6: 4621 mov r1, r4 80d17e8: e7e2 b.n 80d17b0 <__utoa+0x40> 80d17ea: bf00 nop 80d17ec: 0818ac5c .word 0x0818ac5c 080d17f0 <_cleanup_r>: 80d17f0: 4901 ldr r1, [pc, #4] ; (80d17f8 <_cleanup_r+0x8>) 80d17f2: f000 b8a9 b.w 80d1948 <_fwalk_reent> 80d17f6: bf00 nop 80d17f8: 080d2575 .word 0x080d2575 080d17fc : 80d17fc: 2300 movs r3, #0 80d17fe: b510 push {r4, lr} 80d1800: 4604 mov r4, r0 80d1802: 6003 str r3, [r0, #0] 80d1804: 6043 str r3, [r0, #4] 80d1806: 6083 str r3, [r0, #8] 80d1808: 8181 strh r1, [r0, #12] 80d180a: 6643 str r3, [r0, #100] ; 0x64 80d180c: 81c2 strh r2, [r0, #14] 80d180e: 6103 str r3, [r0, #16] 80d1810: 6143 str r3, [r0, #20] 80d1812: 6183 str r3, [r0, #24] 80d1814: 4619 mov r1, r3 80d1816: 2208 movs r2, #8 80d1818: 305c adds r0, #92 ; 0x5c 80d181a: f7ff fdc1 bl 80d13a0 80d181e: 4b05 ldr r3, [pc, #20] ; (80d1834 ) 80d1820: 6263 str r3, [r4, #36] ; 0x24 80d1822: 4b05 ldr r3, [pc, #20] ; (80d1838 ) 80d1824: 62a3 str r3, [r4, #40] ; 0x28 80d1826: 4b05 ldr r3, [pc, #20] ; (80d183c ) 80d1828: 62e3 str r3, [r4, #44] ; 0x2c 80d182a: 4b05 ldr r3, [pc, #20] ; (80d1840 ) 80d182c: 6224 str r4, [r4, #32] 80d182e: 6323 str r3, [r4, #48] ; 0x30 80d1830: bd10 pop {r4, pc} 80d1832: bf00 nop 80d1834: 080d21fd .word 0x080d21fd 80d1838: 080d221f .word 0x080d221f 80d183c: 080d2257 .word 0x080d2257 80d1840: 080d227b .word 0x080d227b 080d1844 <__sfmoreglue>: 80d1844: b570 push {r4, r5, r6, lr} 80d1846: 1e4a subs r2, r1, #1 80d1848: 2568 movs r5, #104 ; 0x68 80d184a: 4355 muls r5, r2 80d184c: 460e mov r6, r1 80d184e: f105 0174 add.w r1, r5, #116 ; 0x74 80d1852: f7ff fdfb bl 80d144c <_malloc_r> 80d1856: 4604 mov r4, r0 80d1858: b140 cbz r0, 80d186c <__sfmoreglue+0x28> 80d185a: 2100 movs r1, #0 80d185c: e880 0042 stmia.w r0, {r1, r6} 80d1860: 300c adds r0, #12 80d1862: 60a0 str r0, [r4, #8] 80d1864: f105 0268 add.w r2, r5, #104 ; 0x68 80d1868: f7ff fd9a bl 80d13a0 80d186c: 4620 mov r0, r4 80d186e: bd70 pop {r4, r5, r6, pc} 080d1870 <__sinit>: 80d1870: 6983 ldr r3, [r0, #24] 80d1872: b510 push {r4, lr} 80d1874: 4604 mov r4, r0 80d1876: bb33 cbnz r3, 80d18c6 <__sinit+0x56> 80d1878: 6483 str r3, [r0, #72] ; 0x48 80d187a: 64c3 str r3, [r0, #76] ; 0x4c 80d187c: 6503 str r3, [r0, #80] ; 0x50 80d187e: 4b12 ldr r3, [pc, #72] ; (80d18c8 <__sinit+0x58>) 80d1880: 4a12 ldr r2, [pc, #72] ; (80d18cc <__sinit+0x5c>) 80d1882: 681b ldr r3, [r3, #0] 80d1884: 6282 str r2, [r0, #40] ; 0x28 80d1886: 4298 cmp r0, r3 80d1888: bf04 itt eq 80d188a: 2301 moveq r3, #1 80d188c: 6183 streq r3, [r0, #24] 80d188e: f000 f81f bl 80d18d0 <__sfp> 80d1892: 6060 str r0, [r4, #4] 80d1894: 4620 mov r0, r4 80d1896: f000 f81b bl 80d18d0 <__sfp> 80d189a: 60a0 str r0, [r4, #8] 80d189c: 4620 mov r0, r4 80d189e: f000 f817 bl 80d18d0 <__sfp> 80d18a2: 2200 movs r2, #0 80d18a4: 60e0 str r0, [r4, #12] 80d18a6: 2104 movs r1, #4 80d18a8: 6860 ldr r0, [r4, #4] 80d18aa: f7ff ffa7 bl 80d17fc 80d18ae: 2201 movs r2, #1 80d18b0: 2109 movs r1, #9 80d18b2: 68a0 ldr r0, [r4, #8] 80d18b4: f7ff ffa2 bl 80d17fc 80d18b8: 2202 movs r2, #2 80d18ba: 2112 movs r1, #18 80d18bc: 68e0 ldr r0, [r4, #12] 80d18be: f7ff ff9d bl 80d17fc 80d18c2: 2301 movs r3, #1 80d18c4: 61a3 str r3, [r4, #24] 80d18c6: bd10 pop {r4, pc} 80d18c8: 0818ac58 .word 0x0818ac58 80d18cc: 080d17f1 .word 0x080d17f1 080d18d0 <__sfp>: 80d18d0: b5f8 push {r3, r4, r5, r6, r7, lr} 80d18d2: 4b1c ldr r3, [pc, #112] ; (80d1944 <__sfp+0x74>) 80d18d4: 681e ldr r6, [r3, #0] 80d18d6: 69b3 ldr r3, [r6, #24] 80d18d8: 4607 mov r7, r0 80d18da: b913 cbnz r3, 80d18e2 <__sfp+0x12> 80d18dc: 4630 mov r0, r6 80d18de: f7ff ffc7 bl 80d1870 <__sinit> 80d18e2: 3648 adds r6, #72 ; 0x48 80d18e4: 68b4 ldr r4, [r6, #8] 80d18e6: 6873 ldr r3, [r6, #4] 80d18e8: 3b01 subs r3, #1 80d18ea: d503 bpl.n 80d18f4 <__sfp+0x24> 80d18ec: 6833 ldr r3, [r6, #0] 80d18ee: b133 cbz r3, 80d18fe <__sfp+0x2e> 80d18f0: 6836 ldr r6, [r6, #0] 80d18f2: e7f7 b.n 80d18e4 <__sfp+0x14> 80d18f4: f9b4 500c ldrsh.w r5, [r4, #12] 80d18f8: b16d cbz r5, 80d1916 <__sfp+0x46> 80d18fa: 3468 adds r4, #104 ; 0x68 80d18fc: e7f4 b.n 80d18e8 <__sfp+0x18> 80d18fe: 2104 movs r1, #4 80d1900: 4638 mov r0, r7 80d1902: f7ff ff9f bl 80d1844 <__sfmoreglue> 80d1906: 6030 str r0, [r6, #0] 80d1908: 2800 cmp r0, #0 80d190a: d1f1 bne.n 80d18f0 <__sfp+0x20> 80d190c: 230c movs r3, #12 80d190e: 603b str r3, [r7, #0] 80d1910: 4604 mov r4, r0 80d1912: 4620 mov r0, r4 80d1914: bdf8 pop {r3, r4, r5, r6, r7, pc} 80d1916: f64f 73ff movw r3, #65535 ; 0xffff 80d191a: 81e3 strh r3, [r4, #14] 80d191c: 2301 movs r3, #1 80d191e: 81a3 strh r3, [r4, #12] 80d1920: 6665 str r5, [r4, #100] ; 0x64 80d1922: 6025 str r5, [r4, #0] 80d1924: 60a5 str r5, [r4, #8] 80d1926: 6065 str r5, [r4, #4] 80d1928: 6125 str r5, [r4, #16] 80d192a: 6165 str r5, [r4, #20] 80d192c: 61a5 str r5, [r4, #24] 80d192e: 2208 movs r2, #8 80d1930: 4629 mov r1, r5 80d1932: f104 005c add.w r0, r4, #92 ; 0x5c 80d1936: f7ff fd33 bl 80d13a0 80d193a: 6365 str r5, [r4, #52] ; 0x34 80d193c: 63a5 str r5, [r4, #56] ; 0x38 80d193e: 64a5 str r5, [r4, #72] ; 0x48 80d1940: 64e5 str r5, [r4, #76] ; 0x4c 80d1942: e7e6 b.n 80d1912 <__sfp+0x42> 80d1944: 0818ac58 .word 0x0818ac58 080d1948 <_fwalk_reent>: 80d1948: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 80d194c: 4680 mov r8, r0 80d194e: 4689 mov r9, r1 80d1950: f100 0448 add.w r4, r0, #72 ; 0x48 80d1954: 2600 movs r6, #0 80d1956: b914 cbnz r4, 80d195e <_fwalk_reent+0x16> 80d1958: 4630 mov r0, r6 80d195a: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 80d195e: 68a5 ldr r5, [r4, #8] 80d1960: 6867 ldr r7, [r4, #4] 80d1962: 3f01 subs r7, #1 80d1964: d501 bpl.n 80d196a <_fwalk_reent+0x22> 80d1966: 6824 ldr r4, [r4, #0] 80d1968: e7f5 b.n 80d1956 <_fwalk_reent+0xe> 80d196a: 89ab ldrh r3, [r5, #12] 80d196c: 2b01 cmp r3, #1 80d196e: d907 bls.n 80d1980 <_fwalk_reent+0x38> 80d1970: f9b5 300e ldrsh.w r3, [r5, #14] 80d1974: 3301 adds r3, #1 80d1976: d003 beq.n 80d1980 <_fwalk_reent+0x38> 80d1978: 4629 mov r1, r5 80d197a: 4640 mov r0, r8 80d197c: 47c8 blx r9 80d197e: 4306 orrs r6, r0 80d1980: 3568 adds r5, #104 ; 0x68 80d1982: e7ee b.n 80d1962 <_fwalk_reent+0x1a> 080d1984 <__locale_ctype_ptr_l>: 80d1984: f8d0 00ec ldr.w r0, [r0, #236] ; 0xec 80d1988: 4770 bx lr 080d198a <__ascii_mbtowc>: 80d198a: b082 sub sp, #8 80d198c: b901 cbnz r1, 80d1990 <__ascii_mbtowc+0x6> 80d198e: a901 add r1, sp, #4 80d1990: b142 cbz r2, 80d19a4 <__ascii_mbtowc+0x1a> 80d1992: b14b cbz r3, 80d19a8 <__ascii_mbtowc+0x1e> 80d1994: 7813 ldrb r3, [r2, #0] 80d1996: 600b str r3, [r1, #0] 80d1998: 7812 ldrb r2, [r2, #0] 80d199a: 1c10 adds r0, r2, #0 80d199c: bf18 it ne 80d199e: 2001 movne r0, #1 80d19a0: b002 add sp, #8 80d19a2: 4770 bx lr 80d19a4: 4610 mov r0, r2 80d19a6: e7fb b.n 80d19a0 <__ascii_mbtowc+0x16> 80d19a8: f06f 0001 mvn.w r0, #1 80d19ac: e7f8 b.n 80d19a0 <__ascii_mbtowc+0x16> 080d19ae <__malloc_lock>: 80d19ae: 4770 bx lr 080d19b0 <__malloc_unlock>: 80d19b0: 4770 bx lr 080d19b2 <__ssputs_r>: 80d19b2: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80d19b6: 688e ldr r6, [r1, #8] 80d19b8: 429e cmp r6, r3 80d19ba: 4682 mov sl, r0 80d19bc: 460c mov r4, r1 80d19be: 4691 mov r9, r2 80d19c0: 4698 mov r8, r3 80d19c2: d835 bhi.n 80d1a30 <__ssputs_r+0x7e> 80d19c4: 898a ldrh r2, [r1, #12] 80d19c6: f412 6f90 tst.w r2, #1152 ; 0x480 80d19ca: d031 beq.n 80d1a30 <__ssputs_r+0x7e> 80d19cc: 6825 ldr r5, [r4, #0] 80d19ce: 6909 ldr r1, [r1, #16] 80d19d0: 1a6f subs r7, r5, r1 80d19d2: 6965 ldr r5, [r4, #20] 80d19d4: 2302 movs r3, #2 80d19d6: eb05 0545 add.w r5, r5, r5, lsl #1 80d19da: fb95 f5f3 sdiv r5, r5, r3 80d19de: f108 0301 add.w r3, r8, #1 80d19e2: 443b add r3, r7 80d19e4: 429d cmp r5, r3 80d19e6: bf38 it cc 80d19e8: 461d movcc r5, r3 80d19ea: 0553 lsls r3, r2, #21 80d19ec: d531 bpl.n 80d1a52 <__ssputs_r+0xa0> 80d19ee: 4629 mov r1, r5 80d19f0: f7ff fd2c bl 80d144c <_malloc_r> 80d19f4: 4606 mov r6, r0 80d19f6: b950 cbnz r0, 80d1a0e <__ssputs_r+0x5c> 80d19f8: 230c movs r3, #12 80d19fa: f8ca 3000 str.w r3, [sl] 80d19fe: 89a3 ldrh r3, [r4, #12] 80d1a00: f043 0340 orr.w r3, r3, #64 ; 0x40 80d1a04: 81a3 strh r3, [r4, #12] 80d1a06: f04f 30ff mov.w r0, #4294967295 80d1a0a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80d1a0e: 463a mov r2, r7 80d1a10: 6921 ldr r1, [r4, #16] 80d1a12: f7ff fcba bl 80d138a 80d1a16: 89a3 ldrh r3, [r4, #12] 80d1a18: f423 6390 bic.w r3, r3, #1152 ; 0x480 80d1a1c: f043 0380 orr.w r3, r3, #128 ; 0x80 80d1a20: 81a3 strh r3, [r4, #12] 80d1a22: 6126 str r6, [r4, #16] 80d1a24: 6165 str r5, [r4, #20] 80d1a26: 443e add r6, r7 80d1a28: 1bed subs r5, r5, r7 80d1a2a: 6026 str r6, [r4, #0] 80d1a2c: 60a5 str r5, [r4, #8] 80d1a2e: 4646 mov r6, r8 80d1a30: 4546 cmp r6, r8 80d1a32: bf28 it cs 80d1a34: 4646 movcs r6, r8 80d1a36: 4632 mov r2, r6 80d1a38: 4649 mov r1, r9 80d1a3a: 6820 ldr r0, [r4, #0] 80d1a3c: f000 fe3a bl 80d26b4 80d1a40: 68a3 ldr r3, [r4, #8] 80d1a42: 1b9b subs r3, r3, r6 80d1a44: 60a3 str r3, [r4, #8] 80d1a46: 6823 ldr r3, [r4, #0] 80d1a48: 441e add r6, r3 80d1a4a: 6026 str r6, [r4, #0] 80d1a4c: 2000 movs r0, #0 80d1a4e: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80d1a52: 462a mov r2, r5 80d1a54: f000 fe48 bl 80d26e8 <_realloc_r> 80d1a58: 4606 mov r6, r0 80d1a5a: 2800 cmp r0, #0 80d1a5c: d1e1 bne.n 80d1a22 <__ssputs_r+0x70> 80d1a5e: 6921 ldr r1, [r4, #16] 80d1a60: 4650 mov r0, sl 80d1a62: f7ff fca5 bl 80d13b0 <_free_r> 80d1a66: e7c7 b.n 80d19f8 <__ssputs_r+0x46> 080d1a68 <_svfiprintf_r>: 80d1a68: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d1a6c: b09d sub sp, #116 ; 0x74 80d1a6e: 4680 mov r8, r0 80d1a70: 9303 str r3, [sp, #12] 80d1a72: 898b ldrh r3, [r1, #12] 80d1a74: 061c lsls r4, r3, #24 80d1a76: 460d mov r5, r1 80d1a78: 4616 mov r6, r2 80d1a7a: d50f bpl.n 80d1a9c <_svfiprintf_r+0x34> 80d1a7c: 690b ldr r3, [r1, #16] 80d1a7e: b96b cbnz r3, 80d1a9c <_svfiprintf_r+0x34> 80d1a80: 2140 movs r1, #64 ; 0x40 80d1a82: f7ff fce3 bl 80d144c <_malloc_r> 80d1a86: 6028 str r0, [r5, #0] 80d1a88: 6128 str r0, [r5, #16] 80d1a8a: b928 cbnz r0, 80d1a98 <_svfiprintf_r+0x30> 80d1a8c: 230c movs r3, #12 80d1a8e: f8c8 3000 str.w r3, [r8] 80d1a92: f04f 30ff mov.w r0, #4294967295 80d1a96: e0c5 b.n 80d1c24 <_svfiprintf_r+0x1bc> 80d1a98: 2340 movs r3, #64 ; 0x40 80d1a9a: 616b str r3, [r5, #20] 80d1a9c: 2300 movs r3, #0 80d1a9e: 9309 str r3, [sp, #36] ; 0x24 80d1aa0: 2320 movs r3, #32 80d1aa2: f88d 3029 strb.w r3, [sp, #41] ; 0x29 80d1aa6: 2330 movs r3, #48 ; 0x30 80d1aa8: f88d 302a strb.w r3, [sp, #42] ; 0x2a 80d1aac: f04f 0b01 mov.w fp, #1 80d1ab0: 4637 mov r7, r6 80d1ab2: 463c mov r4, r7 80d1ab4: f814 3b01 ldrb.w r3, [r4], #1 80d1ab8: 2b00 cmp r3, #0 80d1aba: d13c bne.n 80d1b36 <_svfiprintf_r+0xce> 80d1abc: ebb7 0a06 subs.w sl, r7, r6 80d1ac0: d00b beq.n 80d1ada <_svfiprintf_r+0x72> 80d1ac2: 4653 mov r3, sl 80d1ac4: 4632 mov r2, r6 80d1ac6: 4629 mov r1, r5 80d1ac8: 4640 mov r0, r8 80d1aca: f7ff ff72 bl 80d19b2 <__ssputs_r> 80d1ace: 3001 adds r0, #1 80d1ad0: f000 80a3 beq.w 80d1c1a <_svfiprintf_r+0x1b2> 80d1ad4: 9b09 ldr r3, [sp, #36] ; 0x24 80d1ad6: 4453 add r3, sl 80d1ad8: 9309 str r3, [sp, #36] ; 0x24 80d1ada: 783b ldrb r3, [r7, #0] 80d1adc: 2b00 cmp r3, #0 80d1ade: f000 809c beq.w 80d1c1a <_svfiprintf_r+0x1b2> 80d1ae2: 2300 movs r3, #0 80d1ae4: f04f 32ff mov.w r2, #4294967295 80d1ae8: 9304 str r3, [sp, #16] 80d1aea: 9307 str r3, [sp, #28] 80d1aec: 9205 str r2, [sp, #20] 80d1aee: 9306 str r3, [sp, #24] 80d1af0: f88d 3053 strb.w r3, [sp, #83] ; 0x53 80d1af4: 931a str r3, [sp, #104] ; 0x68 80d1af6: 2205 movs r2, #5 80d1af8: 7821 ldrb r1, [r4, #0] 80d1afa: 4850 ldr r0, [pc, #320] ; (80d1c3c <_svfiprintf_r+0x1d4>) 80d1afc: f74e fc18 bl 8020330 80d1b00: 1c67 adds r7, r4, #1 80d1b02: 9b04 ldr r3, [sp, #16] 80d1b04: b9d8 cbnz r0, 80d1b3e <_svfiprintf_r+0xd6> 80d1b06: 06d9 lsls r1, r3, #27 80d1b08: bf44 itt mi 80d1b0a: 2220 movmi r2, #32 80d1b0c: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80d1b10: 071a lsls r2, r3, #28 80d1b12: bf44 itt mi 80d1b14: 222b movmi r2, #43 ; 0x2b 80d1b16: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80d1b1a: 7822 ldrb r2, [r4, #0] 80d1b1c: 2a2a cmp r2, #42 ; 0x2a 80d1b1e: d016 beq.n 80d1b4e <_svfiprintf_r+0xe6> 80d1b20: 9a07 ldr r2, [sp, #28] 80d1b22: 2100 movs r1, #0 80d1b24: 200a movs r0, #10 80d1b26: 4627 mov r7, r4 80d1b28: 3401 adds r4, #1 80d1b2a: 783b ldrb r3, [r7, #0] 80d1b2c: 3b30 subs r3, #48 ; 0x30 80d1b2e: 2b09 cmp r3, #9 80d1b30: d951 bls.n 80d1bd6 <_svfiprintf_r+0x16e> 80d1b32: b1c9 cbz r1, 80d1b68 <_svfiprintf_r+0x100> 80d1b34: e011 b.n 80d1b5a <_svfiprintf_r+0xf2> 80d1b36: 2b25 cmp r3, #37 ; 0x25 80d1b38: d0c0 beq.n 80d1abc <_svfiprintf_r+0x54> 80d1b3a: 4627 mov r7, r4 80d1b3c: e7b9 b.n 80d1ab2 <_svfiprintf_r+0x4a> 80d1b3e: 4a3f ldr r2, [pc, #252] ; (80d1c3c <_svfiprintf_r+0x1d4>) 80d1b40: 1a80 subs r0, r0, r2 80d1b42: fa0b f000 lsl.w r0, fp, r0 80d1b46: 4318 orrs r0, r3 80d1b48: 9004 str r0, [sp, #16] 80d1b4a: 463c mov r4, r7 80d1b4c: e7d3 b.n 80d1af6 <_svfiprintf_r+0x8e> 80d1b4e: 9a03 ldr r2, [sp, #12] 80d1b50: 1d11 adds r1, r2, #4 80d1b52: 6812 ldr r2, [r2, #0] 80d1b54: 9103 str r1, [sp, #12] 80d1b56: 2a00 cmp r2, #0 80d1b58: db01 blt.n 80d1b5e <_svfiprintf_r+0xf6> 80d1b5a: 9207 str r2, [sp, #28] 80d1b5c: e004 b.n 80d1b68 <_svfiprintf_r+0x100> 80d1b5e: 4252 negs r2, r2 80d1b60: f043 0302 orr.w r3, r3, #2 80d1b64: 9207 str r2, [sp, #28] 80d1b66: 9304 str r3, [sp, #16] 80d1b68: 783b ldrb r3, [r7, #0] 80d1b6a: 2b2e cmp r3, #46 ; 0x2e 80d1b6c: d10e bne.n 80d1b8c <_svfiprintf_r+0x124> 80d1b6e: 787b ldrb r3, [r7, #1] 80d1b70: 2b2a cmp r3, #42 ; 0x2a 80d1b72: f107 0101 add.w r1, r7, #1 80d1b76: d132 bne.n 80d1bde <_svfiprintf_r+0x176> 80d1b78: 9b03 ldr r3, [sp, #12] 80d1b7a: 1d1a adds r2, r3, #4 80d1b7c: 681b ldr r3, [r3, #0] 80d1b7e: 9203 str r2, [sp, #12] 80d1b80: 2b00 cmp r3, #0 80d1b82: bfb8 it lt 80d1b84: f04f 33ff movlt.w r3, #4294967295 80d1b88: 3702 adds r7, #2 80d1b8a: 9305 str r3, [sp, #20] 80d1b8c: 4c2c ldr r4, [pc, #176] ; (80d1c40 <_svfiprintf_r+0x1d8>) 80d1b8e: 7839 ldrb r1, [r7, #0] 80d1b90: 2203 movs r2, #3 80d1b92: 4620 mov r0, r4 80d1b94: f74e fbcc bl 8020330 80d1b98: b138 cbz r0, 80d1baa <_svfiprintf_r+0x142> 80d1b9a: 2340 movs r3, #64 ; 0x40 80d1b9c: 1b00 subs r0, r0, r4 80d1b9e: fa03 f000 lsl.w r0, r3, r0 80d1ba2: 9b04 ldr r3, [sp, #16] 80d1ba4: 4303 orrs r3, r0 80d1ba6: 9304 str r3, [sp, #16] 80d1ba8: 3701 adds r7, #1 80d1baa: 7839 ldrb r1, [r7, #0] 80d1bac: 4825 ldr r0, [pc, #148] ; (80d1c44 <_svfiprintf_r+0x1dc>) 80d1bae: f88d 1028 strb.w r1, [sp, #40] ; 0x28 80d1bb2: 2206 movs r2, #6 80d1bb4: 1c7e adds r6, r7, #1 80d1bb6: f74e fbbb bl 8020330 80d1bba: 2800 cmp r0, #0 80d1bbc: d035 beq.n 80d1c2a <_svfiprintf_r+0x1c2> 80d1bbe: 4b22 ldr r3, [pc, #136] ; (80d1c48 <_svfiprintf_r+0x1e0>) 80d1bc0: b9fb cbnz r3, 80d1c02 <_svfiprintf_r+0x19a> 80d1bc2: 9b03 ldr r3, [sp, #12] 80d1bc4: 3307 adds r3, #7 80d1bc6: f023 0307 bic.w r3, r3, #7 80d1bca: 3308 adds r3, #8 80d1bcc: 9303 str r3, [sp, #12] 80d1bce: 9b09 ldr r3, [sp, #36] ; 0x24 80d1bd0: 444b add r3, r9 80d1bd2: 9309 str r3, [sp, #36] ; 0x24 80d1bd4: e76c b.n 80d1ab0 <_svfiprintf_r+0x48> 80d1bd6: fb00 3202 mla r2, r0, r2, r3 80d1bda: 2101 movs r1, #1 80d1bdc: e7a3 b.n 80d1b26 <_svfiprintf_r+0xbe> 80d1bde: 2300 movs r3, #0 80d1be0: 9305 str r3, [sp, #20] 80d1be2: 4618 mov r0, r3 80d1be4: 240a movs r4, #10 80d1be6: 460f mov r7, r1 80d1be8: 3101 adds r1, #1 80d1bea: 783a ldrb r2, [r7, #0] 80d1bec: 3a30 subs r2, #48 ; 0x30 80d1bee: 2a09 cmp r2, #9 80d1bf0: d903 bls.n 80d1bfa <_svfiprintf_r+0x192> 80d1bf2: 2b00 cmp r3, #0 80d1bf4: d0ca beq.n 80d1b8c <_svfiprintf_r+0x124> 80d1bf6: 9005 str r0, [sp, #20] 80d1bf8: e7c8 b.n 80d1b8c <_svfiprintf_r+0x124> 80d1bfa: fb04 2000 mla r0, r4, r0, r2 80d1bfe: 2301 movs r3, #1 80d1c00: e7f1 b.n 80d1be6 <_svfiprintf_r+0x17e> 80d1c02: ab03 add r3, sp, #12 80d1c04: 9300 str r3, [sp, #0] 80d1c06: 462a mov r2, r5 80d1c08: 4b10 ldr r3, [pc, #64] ; (80d1c4c <_svfiprintf_r+0x1e4>) 80d1c0a: a904 add r1, sp, #16 80d1c0c: 4640 mov r0, r8 80d1c0e: f3af 8000 nop.w 80d1c12: f1b0 3fff cmp.w r0, #4294967295 80d1c16: 4681 mov r9, r0 80d1c18: d1d9 bne.n 80d1bce <_svfiprintf_r+0x166> 80d1c1a: 89ab ldrh r3, [r5, #12] 80d1c1c: 065b lsls r3, r3, #25 80d1c1e: f53f af38 bmi.w 80d1a92 <_svfiprintf_r+0x2a> 80d1c22: 9809 ldr r0, [sp, #36] ; 0x24 80d1c24: b01d add sp, #116 ; 0x74 80d1c26: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d1c2a: ab03 add r3, sp, #12 80d1c2c: 9300 str r3, [sp, #0] 80d1c2e: 462a mov r2, r5 80d1c30: 4b06 ldr r3, [pc, #24] ; (80d1c4c <_svfiprintf_r+0x1e4>) 80d1c32: a904 add r1, sp, #16 80d1c34: 4640 mov r0, r8 80d1c36: f000 f9c1 bl 80d1fbc <_printf_i> 80d1c3a: e7ea b.n 80d1c12 <_svfiprintf_r+0x1aa> 80d1c3c: 0818acee .word 0x0818acee 80d1c40: 0818acf4 .word 0x0818acf4 80d1c44: 0818acf8 .word 0x0818acf8 80d1c48: 00000000 .word 0x00000000 80d1c4c: 080d19b3 .word 0x080d19b3 080d1c50 <__sfputc_r>: 80d1c50: 6893 ldr r3, [r2, #8] 80d1c52: 3b01 subs r3, #1 80d1c54: 2b00 cmp r3, #0 80d1c56: b410 push {r4} 80d1c58: 6093 str r3, [r2, #8] 80d1c5a: da09 bge.n 80d1c70 <__sfputc_r+0x20> 80d1c5c: 6994 ldr r4, [r2, #24] 80d1c5e: 42a3 cmp r3, r4 80d1c60: db02 blt.n 80d1c68 <__sfputc_r+0x18> 80d1c62: b2cb uxtb r3, r1 80d1c64: 2b0a cmp r3, #10 80d1c66: d103 bne.n 80d1c70 <__sfputc_r+0x20> 80d1c68: f85d 4b04 ldr.w r4, [sp], #4 80d1c6c: f000 bb0a b.w 80d2284 <__swbuf_r> 80d1c70: 6813 ldr r3, [r2, #0] 80d1c72: 1c58 adds r0, r3, #1 80d1c74: 6010 str r0, [r2, #0] 80d1c76: 7019 strb r1, [r3, #0] 80d1c78: b2c8 uxtb r0, r1 80d1c7a: f85d 4b04 ldr.w r4, [sp], #4 80d1c7e: 4770 bx lr 080d1c80 <__sfputs_r>: 80d1c80: b5f8 push {r3, r4, r5, r6, r7, lr} 80d1c82: 4606 mov r6, r0 80d1c84: 460f mov r7, r1 80d1c86: 4614 mov r4, r2 80d1c88: 18d5 adds r5, r2, r3 80d1c8a: 42ac cmp r4, r5 80d1c8c: d101 bne.n 80d1c92 <__sfputs_r+0x12> 80d1c8e: 2000 movs r0, #0 80d1c90: e007 b.n 80d1ca2 <__sfputs_r+0x22> 80d1c92: 463a mov r2, r7 80d1c94: f814 1b01 ldrb.w r1, [r4], #1 80d1c98: 4630 mov r0, r6 80d1c9a: f7ff ffd9 bl 80d1c50 <__sfputc_r> 80d1c9e: 1c43 adds r3, r0, #1 80d1ca0: d1f3 bne.n 80d1c8a <__sfputs_r+0xa> 80d1ca2: bdf8 pop {r3, r4, r5, r6, r7, pc} 080d1ca4 <_vfiprintf_r>: 80d1ca4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80d1ca8: b09d sub sp, #116 ; 0x74 80d1caa: 460c mov r4, r1 80d1cac: 4617 mov r7, r2 80d1cae: 9303 str r3, [sp, #12] 80d1cb0: 4606 mov r6, r0 80d1cb2: b118 cbz r0, 80d1cbc <_vfiprintf_r+0x18> 80d1cb4: 6983 ldr r3, [r0, #24] 80d1cb6: b90b cbnz r3, 80d1cbc <_vfiprintf_r+0x18> 80d1cb8: f7ff fdda bl 80d1870 <__sinit> 80d1cbc: 4b7c ldr r3, [pc, #496] ; (80d1eb0 <_vfiprintf_r+0x20c>) 80d1cbe: 429c cmp r4, r3 80d1cc0: d157 bne.n 80d1d72 <_vfiprintf_r+0xce> 80d1cc2: 6874 ldr r4, [r6, #4] 80d1cc4: 89a3 ldrh r3, [r4, #12] 80d1cc6: 0718 lsls r0, r3, #28 80d1cc8: d55d bpl.n 80d1d86 <_vfiprintf_r+0xe2> 80d1cca: 6923 ldr r3, [r4, #16] 80d1ccc: 2b00 cmp r3, #0 80d1cce: d05a beq.n 80d1d86 <_vfiprintf_r+0xe2> 80d1cd0: 2300 movs r3, #0 80d1cd2: 9309 str r3, [sp, #36] ; 0x24 80d1cd4: 2320 movs r3, #32 80d1cd6: f88d 3029 strb.w r3, [sp, #41] ; 0x29 80d1cda: 2330 movs r3, #48 ; 0x30 80d1cdc: f88d 302a strb.w r3, [sp, #42] ; 0x2a 80d1ce0: f04f 0b01 mov.w fp, #1 80d1ce4: 46b8 mov r8, r7 80d1ce6: 4645 mov r5, r8 80d1ce8: f815 3b01 ldrb.w r3, [r5], #1 80d1cec: 2b00 cmp r3, #0 80d1cee: d155 bne.n 80d1d9c <_vfiprintf_r+0xf8> 80d1cf0: ebb8 0a07 subs.w sl, r8, r7 80d1cf4: d00b beq.n 80d1d0e <_vfiprintf_r+0x6a> 80d1cf6: 4653 mov r3, sl 80d1cf8: 463a mov r2, r7 80d1cfa: 4621 mov r1, r4 80d1cfc: 4630 mov r0, r6 80d1cfe: f7ff ffbf bl 80d1c80 <__sfputs_r> 80d1d02: 3001 adds r0, #1 80d1d04: f000 80c4 beq.w 80d1e90 <_vfiprintf_r+0x1ec> 80d1d08: 9b09 ldr r3, [sp, #36] ; 0x24 80d1d0a: 4453 add r3, sl 80d1d0c: 9309 str r3, [sp, #36] ; 0x24 80d1d0e: f898 3000 ldrb.w r3, [r8] 80d1d12: 2b00 cmp r3, #0 80d1d14: f000 80bc beq.w 80d1e90 <_vfiprintf_r+0x1ec> 80d1d18: 2300 movs r3, #0 80d1d1a: f04f 32ff mov.w r2, #4294967295 80d1d1e: 9304 str r3, [sp, #16] 80d1d20: 9307 str r3, [sp, #28] 80d1d22: 9205 str r2, [sp, #20] 80d1d24: 9306 str r3, [sp, #24] 80d1d26: f88d 3053 strb.w r3, [sp, #83] ; 0x53 80d1d2a: 931a str r3, [sp, #104] ; 0x68 80d1d2c: 2205 movs r2, #5 80d1d2e: 7829 ldrb r1, [r5, #0] 80d1d30: 4860 ldr r0, [pc, #384] ; (80d1eb4 <_vfiprintf_r+0x210>) 80d1d32: f74e fafd bl 8020330 80d1d36: f105 0801 add.w r8, r5, #1 80d1d3a: 9b04 ldr r3, [sp, #16] 80d1d3c: 2800 cmp r0, #0 80d1d3e: d131 bne.n 80d1da4 <_vfiprintf_r+0x100> 80d1d40: 06d9 lsls r1, r3, #27 80d1d42: bf44 itt mi 80d1d44: 2220 movmi r2, #32 80d1d46: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80d1d4a: 071a lsls r2, r3, #28 80d1d4c: bf44 itt mi 80d1d4e: 222b movmi r2, #43 ; 0x2b 80d1d50: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80d1d54: 782a ldrb r2, [r5, #0] 80d1d56: 2a2a cmp r2, #42 ; 0x2a 80d1d58: d02c beq.n 80d1db4 <_vfiprintf_r+0x110> 80d1d5a: 9a07 ldr r2, [sp, #28] 80d1d5c: 2100 movs r1, #0 80d1d5e: 200a movs r0, #10 80d1d60: 46a8 mov r8, r5 80d1d62: 3501 adds r5, #1 80d1d64: f898 3000 ldrb.w r3, [r8] 80d1d68: 3b30 subs r3, #48 ; 0x30 80d1d6a: 2b09 cmp r3, #9 80d1d6c: d96d bls.n 80d1e4a <_vfiprintf_r+0x1a6> 80d1d6e: b371 cbz r1, 80d1dce <_vfiprintf_r+0x12a> 80d1d70: e026 b.n 80d1dc0 <_vfiprintf_r+0x11c> 80d1d72: 4b51 ldr r3, [pc, #324] ; (80d1eb8 <_vfiprintf_r+0x214>) 80d1d74: 429c cmp r4, r3 80d1d76: d101 bne.n 80d1d7c <_vfiprintf_r+0xd8> 80d1d78: 68b4 ldr r4, [r6, #8] 80d1d7a: e7a3 b.n 80d1cc4 <_vfiprintf_r+0x20> 80d1d7c: 4b4f ldr r3, [pc, #316] ; (80d1ebc <_vfiprintf_r+0x218>) 80d1d7e: 429c cmp r4, r3 80d1d80: bf08 it eq 80d1d82: 68f4 ldreq r4, [r6, #12] 80d1d84: e79e b.n 80d1cc4 <_vfiprintf_r+0x20> 80d1d86: 4621 mov r1, r4 80d1d88: 4630 mov r0, r6 80d1d8a: f000 faed bl 80d2368 <__swsetup_r> 80d1d8e: 2800 cmp r0, #0 80d1d90: d09e beq.n 80d1cd0 <_vfiprintf_r+0x2c> 80d1d92: f04f 30ff mov.w r0, #4294967295 80d1d96: b01d add sp, #116 ; 0x74 80d1d98: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80d1d9c: 2b25 cmp r3, #37 ; 0x25 80d1d9e: d0a7 beq.n 80d1cf0 <_vfiprintf_r+0x4c> 80d1da0: 46a8 mov r8, r5 80d1da2: e7a0 b.n 80d1ce6 <_vfiprintf_r+0x42> 80d1da4: 4a43 ldr r2, [pc, #268] ; (80d1eb4 <_vfiprintf_r+0x210>) 80d1da6: 1a80 subs r0, r0, r2 80d1da8: fa0b f000 lsl.w r0, fp, r0 80d1dac: 4318 orrs r0, r3 80d1dae: 9004 str r0, [sp, #16] 80d1db0: 4645 mov r5, r8 80d1db2: e7bb b.n 80d1d2c <_vfiprintf_r+0x88> 80d1db4: 9a03 ldr r2, [sp, #12] 80d1db6: 1d11 adds r1, r2, #4 80d1db8: 6812 ldr r2, [r2, #0] 80d1dba: 9103 str r1, [sp, #12] 80d1dbc: 2a00 cmp r2, #0 80d1dbe: db01 blt.n 80d1dc4 <_vfiprintf_r+0x120> 80d1dc0: 9207 str r2, [sp, #28] 80d1dc2: e004 b.n 80d1dce <_vfiprintf_r+0x12a> 80d1dc4: 4252 negs r2, r2 80d1dc6: f043 0302 orr.w r3, r3, #2 80d1dca: 9207 str r2, [sp, #28] 80d1dcc: 9304 str r3, [sp, #16] 80d1dce: f898 3000 ldrb.w r3, [r8] 80d1dd2: 2b2e cmp r3, #46 ; 0x2e 80d1dd4: d110 bne.n 80d1df8 <_vfiprintf_r+0x154> 80d1dd6: f898 3001 ldrb.w r3, [r8, #1] 80d1dda: 2b2a cmp r3, #42 ; 0x2a 80d1ddc: f108 0101 add.w r1, r8, #1 80d1de0: d137 bne.n 80d1e52 <_vfiprintf_r+0x1ae> 80d1de2: 9b03 ldr r3, [sp, #12] 80d1de4: 1d1a adds r2, r3, #4 80d1de6: 681b ldr r3, [r3, #0] 80d1de8: 9203 str r2, [sp, #12] 80d1dea: 2b00 cmp r3, #0 80d1dec: bfb8 it lt 80d1dee: f04f 33ff movlt.w r3, #4294967295 80d1df2: f108 0802 add.w r8, r8, #2 80d1df6: 9305 str r3, [sp, #20] 80d1df8: 4d31 ldr r5, [pc, #196] ; (80d1ec0 <_vfiprintf_r+0x21c>) 80d1dfa: f898 1000 ldrb.w r1, [r8] 80d1dfe: 2203 movs r2, #3 80d1e00: 4628 mov r0, r5 80d1e02: f74e fa95 bl 8020330 80d1e06: b140 cbz r0, 80d1e1a <_vfiprintf_r+0x176> 80d1e08: 2340 movs r3, #64 ; 0x40 80d1e0a: 1b40 subs r0, r0, r5 80d1e0c: fa03 f000 lsl.w r0, r3, r0 80d1e10: 9b04 ldr r3, [sp, #16] 80d1e12: 4303 orrs r3, r0 80d1e14: 9304 str r3, [sp, #16] 80d1e16: f108 0801 add.w r8, r8, #1 80d1e1a: f898 1000 ldrb.w r1, [r8] 80d1e1e: 4829 ldr r0, [pc, #164] ; (80d1ec4 <_vfiprintf_r+0x220>) 80d1e20: f88d 1028 strb.w r1, [sp, #40] ; 0x28 80d1e24: 2206 movs r2, #6 80d1e26: f108 0701 add.w r7, r8, #1 80d1e2a: f74e fa81 bl 8020330 80d1e2e: 2800 cmp r0, #0 80d1e30: d034 beq.n 80d1e9c <_vfiprintf_r+0x1f8> 80d1e32: 4b25 ldr r3, [pc, #148] ; (80d1ec8 <_vfiprintf_r+0x224>) 80d1e34: bb03 cbnz r3, 80d1e78 <_vfiprintf_r+0x1d4> 80d1e36: 9b03 ldr r3, [sp, #12] 80d1e38: 3307 adds r3, #7 80d1e3a: f023 0307 bic.w r3, r3, #7 80d1e3e: 3308 adds r3, #8 80d1e40: 9303 str r3, [sp, #12] 80d1e42: 9b09 ldr r3, [sp, #36] ; 0x24 80d1e44: 444b add r3, r9 80d1e46: 9309 str r3, [sp, #36] ; 0x24 80d1e48: e74c b.n 80d1ce4 <_vfiprintf_r+0x40> 80d1e4a: fb00 3202 mla r2, r0, r2, r3 80d1e4e: 2101 movs r1, #1 80d1e50: e786 b.n 80d1d60 <_vfiprintf_r+0xbc> 80d1e52: 2300 movs r3, #0 80d1e54: 9305 str r3, [sp, #20] 80d1e56: 4618 mov r0, r3 80d1e58: 250a movs r5, #10 80d1e5a: 4688 mov r8, r1 80d1e5c: 3101 adds r1, #1 80d1e5e: f898 2000 ldrb.w r2, [r8] 80d1e62: 3a30 subs r2, #48 ; 0x30 80d1e64: 2a09 cmp r2, #9 80d1e66: d903 bls.n 80d1e70 <_vfiprintf_r+0x1cc> 80d1e68: 2b00 cmp r3, #0 80d1e6a: d0c5 beq.n 80d1df8 <_vfiprintf_r+0x154> 80d1e6c: 9005 str r0, [sp, #20] 80d1e6e: e7c3 b.n 80d1df8 <_vfiprintf_r+0x154> 80d1e70: fb05 2000 mla r0, r5, r0, r2 80d1e74: 2301 movs r3, #1 80d1e76: e7f0 b.n 80d1e5a <_vfiprintf_r+0x1b6> 80d1e78: ab03 add r3, sp, #12 80d1e7a: 9300 str r3, [sp, #0] 80d1e7c: 4622 mov r2, r4 80d1e7e: 4b13 ldr r3, [pc, #76] ; (80d1ecc <_vfiprintf_r+0x228>) 80d1e80: a904 add r1, sp, #16 80d1e82: 4630 mov r0, r6 80d1e84: f3af 8000 nop.w 80d1e88: f1b0 3fff cmp.w r0, #4294967295 80d1e8c: 4681 mov r9, r0 80d1e8e: d1d8 bne.n 80d1e42 <_vfiprintf_r+0x19e> 80d1e90: 89a3 ldrh r3, [r4, #12] 80d1e92: 065b lsls r3, r3, #25 80d1e94: f53f af7d bmi.w 80d1d92 <_vfiprintf_r+0xee> 80d1e98: 9809 ldr r0, [sp, #36] ; 0x24 80d1e9a: e77c b.n 80d1d96 <_vfiprintf_r+0xf2> 80d1e9c: ab03 add r3, sp, #12 80d1e9e: 9300 str r3, [sp, #0] 80d1ea0: 4622 mov r2, r4 80d1ea2: 4b0a ldr r3, [pc, #40] ; (80d1ecc <_vfiprintf_r+0x228>) 80d1ea4: a904 add r1, sp, #16 80d1ea6: 4630 mov r0, r6 80d1ea8: f000 f888 bl 80d1fbc <_printf_i> 80d1eac: e7ec b.n 80d1e88 <_vfiprintf_r+0x1e4> 80d1eae: bf00 nop 80d1eb0: 0818aca4 .word 0x0818aca4 80d1eb4: 0818acee .word 0x0818acee 80d1eb8: 0818acc4 .word 0x0818acc4 80d1ebc: 0818ac84 .word 0x0818ac84 80d1ec0: 0818acf4 .word 0x0818acf4 80d1ec4: 0818acf8 .word 0x0818acf8 80d1ec8: 00000000 .word 0x00000000 80d1ecc: 080d1c81 .word 0x080d1c81 080d1ed0 <_printf_common>: 80d1ed0: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80d1ed4: 4691 mov r9, r2 80d1ed6: 461f mov r7, r3 80d1ed8: 688a ldr r2, [r1, #8] 80d1eda: 690b ldr r3, [r1, #16] 80d1edc: f8dd 8020 ldr.w r8, [sp, #32] 80d1ee0: 4293 cmp r3, r2 80d1ee2: bfb8 it lt 80d1ee4: 4613 movlt r3, r2 80d1ee6: f8c9 3000 str.w r3, [r9] 80d1eea: f891 2043 ldrb.w r2, [r1, #67] ; 0x43 80d1eee: 4606 mov r6, r0 80d1ef0: 460c mov r4, r1 80d1ef2: b112 cbz r2, 80d1efa <_printf_common+0x2a> 80d1ef4: 3301 adds r3, #1 80d1ef6: f8c9 3000 str.w r3, [r9] 80d1efa: 6823 ldr r3, [r4, #0] 80d1efc: 0699 lsls r1, r3, #26 80d1efe: bf42 ittt mi 80d1f00: f8d9 3000 ldrmi.w r3, [r9] 80d1f04: 3302 addmi r3, #2 80d1f06: f8c9 3000 strmi.w r3, [r9] 80d1f0a: 6825 ldr r5, [r4, #0] 80d1f0c: f015 0506 ands.w r5, r5, #6 80d1f10: d107 bne.n 80d1f22 <_printf_common+0x52> 80d1f12: f104 0a19 add.w sl, r4, #25 80d1f16: 68e3 ldr r3, [r4, #12] 80d1f18: f8d9 2000 ldr.w r2, [r9] 80d1f1c: 1a9b subs r3, r3, r2 80d1f1e: 429d cmp r5, r3 80d1f20: db29 blt.n 80d1f76 <_printf_common+0xa6> 80d1f22: f894 3043 ldrb.w r3, [r4, #67] ; 0x43 80d1f26: 6822 ldr r2, [r4, #0] 80d1f28: 3300 adds r3, #0 80d1f2a: bf18 it ne 80d1f2c: 2301 movne r3, #1 80d1f2e: 0692 lsls r2, r2, #26 80d1f30: d42e bmi.n 80d1f90 <_printf_common+0xc0> 80d1f32: f104 0243 add.w r2, r4, #67 ; 0x43 80d1f36: 4639 mov r1, r7 80d1f38: 4630 mov r0, r6 80d1f3a: 47c0 blx r8 80d1f3c: 3001 adds r0, #1 80d1f3e: d021 beq.n 80d1f84 <_printf_common+0xb4> 80d1f40: 6823 ldr r3, [r4, #0] 80d1f42: 68e5 ldr r5, [r4, #12] 80d1f44: f8d9 2000 ldr.w r2, [r9] 80d1f48: f003 0306 and.w r3, r3, #6 80d1f4c: 2b04 cmp r3, #4 80d1f4e: bf08 it eq 80d1f50: 1aad subeq r5, r5, r2 80d1f52: 68a3 ldr r3, [r4, #8] 80d1f54: 6922 ldr r2, [r4, #16] 80d1f56: bf0c ite eq 80d1f58: ea25 75e5 biceq.w r5, r5, r5, asr #31 80d1f5c: 2500 movne r5, #0 80d1f5e: 4293 cmp r3, r2 80d1f60: bfc4 itt gt 80d1f62: 1a9b subgt r3, r3, r2 80d1f64: 18ed addgt r5, r5, r3 80d1f66: f04f 0900 mov.w r9, #0 80d1f6a: 341a adds r4, #26 80d1f6c: 454d cmp r5, r9 80d1f6e: d11b bne.n 80d1fa8 <_printf_common+0xd8> 80d1f70: 2000 movs r0, #0 80d1f72: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80d1f76: 2301 movs r3, #1 80d1f78: 4652 mov r2, sl 80d1f7a: 4639 mov r1, r7 80d1f7c: 4630 mov r0, r6 80d1f7e: 47c0 blx r8 80d1f80: 3001 adds r0, #1 80d1f82: d103 bne.n 80d1f8c <_printf_common+0xbc> 80d1f84: f04f 30ff mov.w r0, #4294967295 80d1f88: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80d1f8c: 3501 adds r5, #1 80d1f8e: e7c2 b.n 80d1f16 <_printf_common+0x46> 80d1f90: 18e1 adds r1, r4, r3 80d1f92: 1c5a adds r2, r3, #1 80d1f94: 2030 movs r0, #48 ; 0x30 80d1f96: f881 0043 strb.w r0, [r1, #67] ; 0x43 80d1f9a: 4422 add r2, r4 80d1f9c: f894 1045 ldrb.w r1, [r4, #69] ; 0x45 80d1fa0: f882 1043 strb.w r1, [r2, #67] ; 0x43 80d1fa4: 3302 adds r3, #2 80d1fa6: e7c4 b.n 80d1f32 <_printf_common+0x62> 80d1fa8: 2301 movs r3, #1 80d1faa: 4622 mov r2, r4 80d1fac: 4639 mov r1, r7 80d1fae: 4630 mov r0, r6 80d1fb0: 47c0 blx r8 80d1fb2: 3001 adds r0, #1 80d1fb4: d0e6 beq.n 80d1f84 <_printf_common+0xb4> 80d1fb6: f109 0901 add.w r9, r9, #1 80d1fba: e7d7 b.n 80d1f6c <_printf_common+0x9c> 080d1fbc <_printf_i>: 80d1fbc: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 80d1fc0: 4617 mov r7, r2 80d1fc2: 7e0a ldrb r2, [r1, #24] 80d1fc4: b085 sub sp, #20 80d1fc6: 2a6e cmp r2, #110 ; 0x6e 80d1fc8: 4698 mov r8, r3 80d1fca: 4606 mov r6, r0 80d1fcc: 460c mov r4, r1 80d1fce: 9b0c ldr r3, [sp, #48] ; 0x30 80d1fd0: f101 0e43 add.w lr, r1, #67 ; 0x43 80d1fd4: f000 80bc beq.w 80d2150 <_printf_i+0x194> 80d1fd8: d81a bhi.n 80d2010 <_printf_i+0x54> 80d1fda: 2a63 cmp r2, #99 ; 0x63 80d1fdc: d02e beq.n 80d203c <_printf_i+0x80> 80d1fde: d80a bhi.n 80d1ff6 <_printf_i+0x3a> 80d1fe0: 2a00 cmp r2, #0 80d1fe2: f000 80c8 beq.w 80d2176 <_printf_i+0x1ba> 80d1fe6: 2a58 cmp r2, #88 ; 0x58 80d1fe8: f000 808a beq.w 80d2100 <_printf_i+0x144> 80d1fec: f104 0542 add.w r5, r4, #66 ; 0x42 80d1ff0: f884 2042 strb.w r2, [r4, #66] ; 0x42 80d1ff4: e02a b.n 80d204c <_printf_i+0x90> 80d1ff6: 2a64 cmp r2, #100 ; 0x64 80d1ff8: d001 beq.n 80d1ffe <_printf_i+0x42> 80d1ffa: 2a69 cmp r2, #105 ; 0x69 80d1ffc: d1f6 bne.n 80d1fec <_printf_i+0x30> 80d1ffe: 6821 ldr r1, [r4, #0] 80d2000: 681a ldr r2, [r3, #0] 80d2002: f011 0f80 tst.w r1, #128 ; 0x80 80d2006: d023 beq.n 80d2050 <_printf_i+0x94> 80d2008: 1d11 adds r1, r2, #4 80d200a: 6019 str r1, [r3, #0] 80d200c: 6813 ldr r3, [r2, #0] 80d200e: e027 b.n 80d2060 <_printf_i+0xa4> 80d2010: 2a73 cmp r2, #115 ; 0x73 80d2012: f000 80b4 beq.w 80d217e <_printf_i+0x1c2> 80d2016: d808 bhi.n 80d202a <_printf_i+0x6e> 80d2018: 2a6f cmp r2, #111 ; 0x6f 80d201a: d02a beq.n 80d2072 <_printf_i+0xb6> 80d201c: 2a70 cmp r2, #112 ; 0x70 80d201e: d1e5 bne.n 80d1fec <_printf_i+0x30> 80d2020: 680a ldr r2, [r1, #0] 80d2022: f042 0220 orr.w r2, r2, #32 80d2026: 600a str r2, [r1, #0] 80d2028: e003 b.n 80d2032 <_printf_i+0x76> 80d202a: 2a75 cmp r2, #117 ; 0x75 80d202c: d021 beq.n 80d2072 <_printf_i+0xb6> 80d202e: 2a78 cmp r2, #120 ; 0x78 80d2030: d1dc bne.n 80d1fec <_printf_i+0x30> 80d2032: 2278 movs r2, #120 ; 0x78 80d2034: f884 2045 strb.w r2, [r4, #69] ; 0x45 80d2038: 496e ldr r1, [pc, #440] ; (80d21f4 <_printf_i+0x238>) 80d203a: e064 b.n 80d2106 <_printf_i+0x14a> 80d203c: 681a ldr r2, [r3, #0] 80d203e: f101 0542 add.w r5, r1, #66 ; 0x42 80d2042: 1d11 adds r1, r2, #4 80d2044: 6019 str r1, [r3, #0] 80d2046: 6813 ldr r3, [r2, #0] 80d2048: f884 3042 strb.w r3, [r4, #66] ; 0x42 80d204c: 2301 movs r3, #1 80d204e: e0a3 b.n 80d2198 <_printf_i+0x1dc> 80d2050: f011 0f40 tst.w r1, #64 ; 0x40 80d2054: f102 0104 add.w r1, r2, #4 80d2058: 6019 str r1, [r3, #0] 80d205a: d0d7 beq.n 80d200c <_printf_i+0x50> 80d205c: f9b2 3000 ldrsh.w r3, [r2] 80d2060: 2b00 cmp r3, #0 80d2062: da03 bge.n 80d206c <_printf_i+0xb0> 80d2064: 222d movs r2, #45 ; 0x2d 80d2066: 425b negs r3, r3 80d2068: f884 2043 strb.w r2, [r4, #67] ; 0x43 80d206c: 4962 ldr r1, [pc, #392] ; (80d21f8 <_printf_i+0x23c>) 80d206e: 220a movs r2, #10 80d2070: e017 b.n 80d20a2 <_printf_i+0xe6> 80d2072: 6820 ldr r0, [r4, #0] 80d2074: 6819 ldr r1, [r3, #0] 80d2076: f010 0f80 tst.w r0, #128 ; 0x80 80d207a: d003 beq.n 80d2084 <_printf_i+0xc8> 80d207c: 1d08 adds r0, r1, #4 80d207e: 6018 str r0, [r3, #0] 80d2080: 680b ldr r3, [r1, #0] 80d2082: e006 b.n 80d2092 <_printf_i+0xd6> 80d2084: f010 0f40 tst.w r0, #64 ; 0x40 80d2088: f101 0004 add.w r0, r1, #4 80d208c: 6018 str r0, [r3, #0] 80d208e: d0f7 beq.n 80d2080 <_printf_i+0xc4> 80d2090: 880b ldrh r3, [r1, #0] 80d2092: 4959 ldr r1, [pc, #356] ; (80d21f8 <_printf_i+0x23c>) 80d2094: 2a6f cmp r2, #111 ; 0x6f 80d2096: bf14 ite ne 80d2098: 220a movne r2, #10 80d209a: 2208 moveq r2, #8 80d209c: 2000 movs r0, #0 80d209e: f884 0043 strb.w r0, [r4, #67] ; 0x43 80d20a2: 6865 ldr r5, [r4, #4] 80d20a4: 60a5 str r5, [r4, #8] 80d20a6: 2d00 cmp r5, #0 80d20a8: f2c0 809c blt.w 80d21e4 <_printf_i+0x228> 80d20ac: 6820 ldr r0, [r4, #0] 80d20ae: f020 0004 bic.w r0, r0, #4 80d20b2: 6020 str r0, [r4, #0] 80d20b4: 2b00 cmp r3, #0 80d20b6: d13f bne.n 80d2138 <_printf_i+0x17c> 80d20b8: 2d00 cmp r5, #0 80d20ba: f040 8095 bne.w 80d21e8 <_printf_i+0x22c> 80d20be: 4675 mov r5, lr 80d20c0: 2a08 cmp r2, #8 80d20c2: d10b bne.n 80d20dc <_printf_i+0x120> 80d20c4: 6823 ldr r3, [r4, #0] 80d20c6: 07da lsls r2, r3, #31 80d20c8: d508 bpl.n 80d20dc <_printf_i+0x120> 80d20ca: 6923 ldr r3, [r4, #16] 80d20cc: 6862 ldr r2, [r4, #4] 80d20ce: 429a cmp r2, r3 80d20d0: bfde ittt le 80d20d2: 2330 movle r3, #48 ; 0x30 80d20d4: f805 3c01 strble.w r3, [r5, #-1] 80d20d8: f105 35ff addle.w r5, r5, #4294967295 80d20dc: ebae 0305 sub.w r3, lr, r5 80d20e0: 6123 str r3, [r4, #16] 80d20e2: f8cd 8000 str.w r8, [sp] 80d20e6: 463b mov r3, r7 80d20e8: aa03 add r2, sp, #12 80d20ea: 4621 mov r1, r4 80d20ec: 4630 mov r0, r6 80d20ee: f7ff feef bl 80d1ed0 <_printf_common> 80d20f2: 3001 adds r0, #1 80d20f4: d155 bne.n 80d21a2 <_printf_i+0x1e6> 80d20f6: f04f 30ff mov.w r0, #4294967295 80d20fa: b005 add sp, #20 80d20fc: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 80d2100: f881 2045 strb.w r2, [r1, #69] ; 0x45 80d2104: 493c ldr r1, [pc, #240] ; (80d21f8 <_printf_i+0x23c>) 80d2106: 6822 ldr r2, [r4, #0] 80d2108: 6818 ldr r0, [r3, #0] 80d210a: f012 0f80 tst.w r2, #128 ; 0x80 80d210e: f100 0504 add.w r5, r0, #4 80d2112: 601d str r5, [r3, #0] 80d2114: d001 beq.n 80d211a <_printf_i+0x15e> 80d2116: 6803 ldr r3, [r0, #0] 80d2118: e002 b.n 80d2120 <_printf_i+0x164> 80d211a: 0655 lsls r5, r2, #25 80d211c: d5fb bpl.n 80d2116 <_printf_i+0x15a> 80d211e: 8803 ldrh r3, [r0, #0] 80d2120: 07d0 lsls r0, r2, #31 80d2122: bf44 itt mi 80d2124: f042 0220 orrmi.w r2, r2, #32 80d2128: 6022 strmi r2, [r4, #0] 80d212a: b91b cbnz r3, 80d2134 <_printf_i+0x178> 80d212c: 6822 ldr r2, [r4, #0] 80d212e: f022 0220 bic.w r2, r2, #32 80d2132: 6022 str r2, [r4, #0] 80d2134: 2210 movs r2, #16 80d2136: e7b1 b.n 80d209c <_printf_i+0xe0> 80d2138: 4675 mov r5, lr 80d213a: fbb3 f0f2 udiv r0, r3, r2 80d213e: fb02 3310 mls r3, r2, r0, r3 80d2142: 5ccb ldrb r3, [r1, r3] 80d2144: f805 3d01 strb.w r3, [r5, #-1]! 80d2148: 4603 mov r3, r0 80d214a: 2800 cmp r0, #0 80d214c: d1f5 bne.n 80d213a <_printf_i+0x17e> 80d214e: e7b7 b.n 80d20c0 <_printf_i+0x104> 80d2150: 6808 ldr r0, [r1, #0] 80d2152: 681a ldr r2, [r3, #0] 80d2154: 6949 ldr r1, [r1, #20] 80d2156: f010 0f80 tst.w r0, #128 ; 0x80 80d215a: d004 beq.n 80d2166 <_printf_i+0x1aa> 80d215c: 1d10 adds r0, r2, #4 80d215e: 6018 str r0, [r3, #0] 80d2160: 6813 ldr r3, [r2, #0] 80d2162: 6019 str r1, [r3, #0] 80d2164: e007 b.n 80d2176 <_printf_i+0x1ba> 80d2166: f010 0f40 tst.w r0, #64 ; 0x40 80d216a: f102 0004 add.w r0, r2, #4 80d216e: 6018 str r0, [r3, #0] 80d2170: 6813 ldr r3, [r2, #0] 80d2172: d0f6 beq.n 80d2162 <_printf_i+0x1a6> 80d2174: 8019 strh r1, [r3, #0] 80d2176: 2300 movs r3, #0 80d2178: 6123 str r3, [r4, #16] 80d217a: 4675 mov r5, lr 80d217c: e7b1 b.n 80d20e2 <_printf_i+0x126> 80d217e: 681a ldr r2, [r3, #0] 80d2180: 1d11 adds r1, r2, #4 80d2182: 6019 str r1, [r3, #0] 80d2184: 6815 ldr r5, [r2, #0] 80d2186: 6862 ldr r2, [r4, #4] 80d2188: 2100 movs r1, #0 80d218a: 4628 mov r0, r5 80d218c: f74e f8d0 bl 8020330 80d2190: b108 cbz r0, 80d2196 <_printf_i+0x1da> 80d2192: 1b40 subs r0, r0, r5 80d2194: 6060 str r0, [r4, #4] 80d2196: 6863 ldr r3, [r4, #4] 80d2198: 6123 str r3, [r4, #16] 80d219a: 2300 movs r3, #0 80d219c: f884 3043 strb.w r3, [r4, #67] ; 0x43 80d21a0: e79f b.n 80d20e2 <_printf_i+0x126> 80d21a2: 6923 ldr r3, [r4, #16] 80d21a4: 462a mov r2, r5 80d21a6: 4639 mov r1, r7 80d21a8: 4630 mov r0, r6 80d21aa: 47c0 blx r8 80d21ac: 3001 adds r0, #1 80d21ae: d0a2 beq.n 80d20f6 <_printf_i+0x13a> 80d21b0: 6823 ldr r3, [r4, #0] 80d21b2: 079b lsls r3, r3, #30 80d21b4: d507 bpl.n 80d21c6 <_printf_i+0x20a> 80d21b6: 2500 movs r5, #0 80d21b8: f104 0919 add.w r9, r4, #25 80d21bc: 68e3 ldr r3, [r4, #12] 80d21be: 9a03 ldr r2, [sp, #12] 80d21c0: 1a9b subs r3, r3, r2 80d21c2: 429d cmp r5, r3 80d21c4: db05 blt.n 80d21d2 <_printf_i+0x216> 80d21c6: 68e0 ldr r0, [r4, #12] 80d21c8: 9b03 ldr r3, [sp, #12] 80d21ca: 4298 cmp r0, r3 80d21cc: bfb8 it lt 80d21ce: 4618 movlt r0, r3 80d21d0: e793 b.n 80d20fa <_printf_i+0x13e> 80d21d2: 2301 movs r3, #1 80d21d4: 464a mov r2, r9 80d21d6: 4639 mov r1, r7 80d21d8: 4630 mov r0, r6 80d21da: 47c0 blx r8 80d21dc: 3001 adds r0, #1 80d21de: d08a beq.n 80d20f6 <_printf_i+0x13a> 80d21e0: 3501 adds r5, #1 80d21e2: e7eb b.n 80d21bc <_printf_i+0x200> 80d21e4: 2b00 cmp r3, #0 80d21e6: d1a7 bne.n 80d2138 <_printf_i+0x17c> 80d21e8: 780b ldrb r3, [r1, #0] 80d21ea: f884 3042 strb.w r3, [r4, #66] ; 0x42 80d21ee: f104 0542 add.w r5, r4, #66 ; 0x42 80d21f2: e765 b.n 80d20c0 <_printf_i+0x104> 80d21f4: 0818ad10 .word 0x0818ad10 80d21f8: 0818acff .word 0x0818acff 080d21fc <__sread>: 80d21fc: b510 push {r4, lr} 80d21fe: 460c mov r4, r1 80d2200: f9b1 100e ldrsh.w r1, [r1, #14] 80d2204: f000 fa96 bl 80d2734 <_read_r> 80d2208: 2800 cmp r0, #0 80d220a: bfab itete ge 80d220c: 6d63 ldrge r3, [r4, #84] ; 0x54 80d220e: 89a3 ldrhlt r3, [r4, #12] 80d2210: 181b addge r3, r3, r0 80d2212: f423 5380 biclt.w r3, r3, #4096 ; 0x1000 80d2216: bfac ite ge 80d2218: 6563 strge r3, [r4, #84] ; 0x54 80d221a: 81a3 strhlt r3, [r4, #12] 80d221c: bd10 pop {r4, pc} 080d221e <__swrite>: 80d221e: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80d2222: 461f mov r7, r3 80d2224: 898b ldrh r3, [r1, #12] 80d2226: 05db lsls r3, r3, #23 80d2228: 4605 mov r5, r0 80d222a: 460c mov r4, r1 80d222c: 4616 mov r6, r2 80d222e: d505 bpl.n 80d223c <__swrite+0x1e> 80d2230: 2302 movs r3, #2 80d2232: 2200 movs r2, #0 80d2234: f9b1 100e ldrsh.w r1, [r1, #14] 80d2238: f000 f9c6 bl 80d25c8 <_lseek_r> 80d223c: 89a3 ldrh r3, [r4, #12] 80d223e: f9b4 100e ldrsh.w r1, [r4, #14] 80d2242: f423 5380 bic.w r3, r3, #4096 ; 0x1000 80d2246: 81a3 strh r3, [r4, #12] 80d2248: 4632 mov r2, r6 80d224a: 463b mov r3, r7 80d224c: 4628 mov r0, r5 80d224e: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} 80d2252: f000 b877 b.w 80d2344 <_write_r> 080d2256 <__sseek>: 80d2256: b510 push {r4, lr} 80d2258: 460c mov r4, r1 80d225a: f9b1 100e ldrsh.w r1, [r1, #14] 80d225e: f000 f9b3 bl 80d25c8 <_lseek_r> 80d2262: 1c43 adds r3, r0, #1 80d2264: 89a3 ldrh r3, [r4, #12] 80d2266: bf15 itete ne 80d2268: 6560 strne r0, [r4, #84] ; 0x54 80d226a: f423 5380 biceq.w r3, r3, #4096 ; 0x1000 80d226e: f443 5380 orrne.w r3, r3, #4096 ; 0x1000 80d2272: 81a3 strheq r3, [r4, #12] 80d2274: bf18 it ne 80d2276: 81a3 strhne r3, [r4, #12] 80d2278: bd10 pop {r4, pc} 080d227a <__sclose>: 80d227a: f9b1 100e ldrsh.w r1, [r1, #14] 80d227e: f000 b8e1 b.w 80d2444 <_close_r> ... 080d2284 <__swbuf_r>: 80d2284: b5f8 push {r3, r4, r5, r6, r7, lr} 80d2286: 460e mov r6, r1 80d2288: 4614 mov r4, r2 80d228a: 4605 mov r5, r0 80d228c: b118 cbz r0, 80d2296 <__swbuf_r+0x12> 80d228e: 6983 ldr r3, [r0, #24] 80d2290: b90b cbnz r3, 80d2296 <__swbuf_r+0x12> 80d2292: f7ff faed bl 80d1870 <__sinit> 80d2296: 4b21 ldr r3, [pc, #132] ; (80d231c <__swbuf_r+0x98>) 80d2298: 429c cmp r4, r3 80d229a: d12a bne.n 80d22f2 <__swbuf_r+0x6e> 80d229c: 686c ldr r4, [r5, #4] 80d229e: 69a3 ldr r3, [r4, #24] 80d22a0: 60a3 str r3, [r4, #8] 80d22a2: 89a3 ldrh r3, [r4, #12] 80d22a4: 071a lsls r2, r3, #28 80d22a6: d52e bpl.n 80d2306 <__swbuf_r+0x82> 80d22a8: 6923 ldr r3, [r4, #16] 80d22aa: b363 cbz r3, 80d2306 <__swbuf_r+0x82> 80d22ac: 6923 ldr r3, [r4, #16] 80d22ae: 6820 ldr r0, [r4, #0] 80d22b0: 1ac0 subs r0, r0, r3 80d22b2: 6963 ldr r3, [r4, #20] 80d22b4: b2f6 uxtb r6, r6 80d22b6: 4298 cmp r0, r3 80d22b8: 4637 mov r7, r6 80d22ba: db04 blt.n 80d22c6 <__swbuf_r+0x42> 80d22bc: 4621 mov r1, r4 80d22be: 4628 mov r0, r5 80d22c0: f000 f958 bl 80d2574 <_fflush_r> 80d22c4: bb28 cbnz r0, 80d2312 <__swbuf_r+0x8e> 80d22c6: 68a3 ldr r3, [r4, #8] 80d22c8: 3b01 subs r3, #1 80d22ca: 60a3 str r3, [r4, #8] 80d22cc: 6823 ldr r3, [r4, #0] 80d22ce: 1c5a adds r2, r3, #1 80d22d0: 6022 str r2, [r4, #0] 80d22d2: 701e strb r6, [r3, #0] 80d22d4: 6963 ldr r3, [r4, #20] 80d22d6: 3001 adds r0, #1 80d22d8: 4298 cmp r0, r3 80d22da: d004 beq.n 80d22e6 <__swbuf_r+0x62> 80d22dc: 89a3 ldrh r3, [r4, #12] 80d22de: 07db lsls r3, r3, #31 80d22e0: d519 bpl.n 80d2316 <__swbuf_r+0x92> 80d22e2: 2e0a cmp r6, #10 80d22e4: d117 bne.n 80d2316 <__swbuf_r+0x92> 80d22e6: 4621 mov r1, r4 80d22e8: 4628 mov r0, r5 80d22ea: f000 f943 bl 80d2574 <_fflush_r> 80d22ee: b190 cbz r0, 80d2316 <__swbuf_r+0x92> 80d22f0: e00f b.n 80d2312 <__swbuf_r+0x8e> 80d22f2: 4b0b ldr r3, [pc, #44] ; (80d2320 <__swbuf_r+0x9c>) 80d22f4: 429c cmp r4, r3 80d22f6: d101 bne.n 80d22fc <__swbuf_r+0x78> 80d22f8: 68ac ldr r4, [r5, #8] 80d22fa: e7d0 b.n 80d229e <__swbuf_r+0x1a> 80d22fc: 4b09 ldr r3, [pc, #36] ; (80d2324 <__swbuf_r+0xa0>) 80d22fe: 429c cmp r4, r3 80d2300: bf08 it eq 80d2302: 68ec ldreq r4, [r5, #12] 80d2304: e7cb b.n 80d229e <__swbuf_r+0x1a> 80d2306: 4621 mov r1, r4 80d2308: 4628 mov r0, r5 80d230a: f000 f82d bl 80d2368 <__swsetup_r> 80d230e: 2800 cmp r0, #0 80d2310: d0cc beq.n 80d22ac <__swbuf_r+0x28> 80d2312: f04f 37ff mov.w r7, #4294967295 80d2316: 4638 mov r0, r7 80d2318: bdf8 pop {r3, r4, r5, r6, r7, pc} 80d231a: bf00 nop 80d231c: 0818aca4 .word 0x0818aca4 80d2320: 0818acc4 .word 0x0818acc4 80d2324: 0818ac84 .word 0x0818ac84 080d2328 <__ascii_wctomb>: 80d2328: b149 cbz r1, 80d233e <__ascii_wctomb+0x16> 80d232a: 2aff cmp r2, #255 ; 0xff 80d232c: bf85 ittet hi 80d232e: 238a movhi r3, #138 ; 0x8a 80d2330: 6003 strhi r3, [r0, #0] 80d2332: 700a strbls r2, [r1, #0] 80d2334: f04f 30ff movhi.w r0, #4294967295 80d2338: bf98 it ls 80d233a: 2001 movls r0, #1 80d233c: 4770 bx lr 80d233e: 4608 mov r0, r1 80d2340: 4770 bx lr ... 080d2344 <_write_r>: 80d2344: b538 push {r3, r4, r5, lr} 80d2346: 4c07 ldr r4, [pc, #28] ; (80d2364 <_write_r+0x20>) 80d2348: 4605 mov r5, r0 80d234a: 4608 mov r0, r1 80d234c: 4611 mov r1, r2 80d234e: 2200 movs r2, #0 80d2350: 6022 str r2, [r4, #0] 80d2352: 461a mov r2, r3 80d2354: f7df fe1d bl 80b1f92 <_write> 80d2358: 1c43 adds r3, r0, #1 80d235a: d102 bne.n 80d2362 <_write_r+0x1e> 80d235c: 6823 ldr r3, [r4, #0] 80d235e: b103 cbz r3, 80d2362 <_write_r+0x1e> 80d2360: 602b str r3, [r5, #0] 80d2362: bd38 pop {r3, r4, r5, pc} 80d2364: 20069674 .word 0x20069674 080d2368 <__swsetup_r>: 80d2368: 4b32 ldr r3, [pc, #200] ; (80d2434 <__swsetup_r+0xcc>) 80d236a: b570 push {r4, r5, r6, lr} 80d236c: 681d ldr r5, [r3, #0] 80d236e: 4606 mov r6, r0 80d2370: 460c mov r4, r1 80d2372: b125 cbz r5, 80d237e <__swsetup_r+0x16> 80d2374: 69ab ldr r3, [r5, #24] 80d2376: b913 cbnz r3, 80d237e <__swsetup_r+0x16> 80d2378: 4628 mov r0, r5 80d237a: f7ff fa79 bl 80d1870 <__sinit> 80d237e: 4b2e ldr r3, [pc, #184] ; (80d2438 <__swsetup_r+0xd0>) 80d2380: 429c cmp r4, r3 80d2382: d10f bne.n 80d23a4 <__swsetup_r+0x3c> 80d2384: 686c ldr r4, [r5, #4] 80d2386: f9b4 300c ldrsh.w r3, [r4, #12] 80d238a: b29a uxth r2, r3 80d238c: 0715 lsls r5, r2, #28 80d238e: d42c bmi.n 80d23ea <__swsetup_r+0x82> 80d2390: 06d0 lsls r0, r2, #27 80d2392: d411 bmi.n 80d23b8 <__swsetup_r+0x50> 80d2394: 2209 movs r2, #9 80d2396: 6032 str r2, [r6, #0] 80d2398: f043 0340 orr.w r3, r3, #64 ; 0x40 80d239c: 81a3 strh r3, [r4, #12] 80d239e: f04f 30ff mov.w r0, #4294967295 80d23a2: bd70 pop {r4, r5, r6, pc} 80d23a4: 4b25 ldr r3, [pc, #148] ; (80d243c <__swsetup_r+0xd4>) 80d23a6: 429c cmp r4, r3 80d23a8: d101 bne.n 80d23ae <__swsetup_r+0x46> 80d23aa: 68ac ldr r4, [r5, #8] 80d23ac: e7eb b.n 80d2386 <__swsetup_r+0x1e> 80d23ae: 4b24 ldr r3, [pc, #144] ; (80d2440 <__swsetup_r+0xd8>) 80d23b0: 429c cmp r4, r3 80d23b2: bf08 it eq 80d23b4: 68ec ldreq r4, [r5, #12] 80d23b6: e7e6 b.n 80d2386 <__swsetup_r+0x1e> 80d23b8: 0751 lsls r1, r2, #29 80d23ba: d512 bpl.n 80d23e2 <__swsetup_r+0x7a> 80d23bc: 6b61 ldr r1, [r4, #52] ; 0x34 80d23be: b141 cbz r1, 80d23d2 <__swsetup_r+0x6a> 80d23c0: f104 0344 add.w r3, r4, #68 ; 0x44 80d23c4: 4299 cmp r1, r3 80d23c6: d002 beq.n 80d23ce <__swsetup_r+0x66> 80d23c8: 4630 mov r0, r6 80d23ca: f7fe fff1 bl 80d13b0 <_free_r> 80d23ce: 2300 movs r3, #0 80d23d0: 6363 str r3, [r4, #52] ; 0x34 80d23d2: 89a3 ldrh r3, [r4, #12] 80d23d4: f023 0324 bic.w r3, r3, #36 ; 0x24 80d23d8: 81a3 strh r3, [r4, #12] 80d23da: 2300 movs r3, #0 80d23dc: 6063 str r3, [r4, #4] 80d23de: 6923 ldr r3, [r4, #16] 80d23e0: 6023 str r3, [r4, #0] 80d23e2: 89a3 ldrh r3, [r4, #12] 80d23e4: f043 0308 orr.w r3, r3, #8 80d23e8: 81a3 strh r3, [r4, #12] 80d23ea: 6923 ldr r3, [r4, #16] 80d23ec: b94b cbnz r3, 80d2402 <__swsetup_r+0x9a> 80d23ee: 89a3 ldrh r3, [r4, #12] 80d23f0: f403 7320 and.w r3, r3, #640 ; 0x280 80d23f4: f5b3 7f00 cmp.w r3, #512 ; 0x200 80d23f8: d003 beq.n 80d2402 <__swsetup_r+0x9a> 80d23fa: 4621 mov r1, r4 80d23fc: 4630 mov r0, r6 80d23fe: f000 f919 bl 80d2634 <__smakebuf_r> 80d2402: 89a2 ldrh r2, [r4, #12] 80d2404: f012 0301 ands.w r3, r2, #1 80d2408: d00c beq.n 80d2424 <__swsetup_r+0xbc> 80d240a: 2300 movs r3, #0 80d240c: 60a3 str r3, [r4, #8] 80d240e: 6963 ldr r3, [r4, #20] 80d2410: 425b negs r3, r3 80d2412: 61a3 str r3, [r4, #24] 80d2414: 6923 ldr r3, [r4, #16] 80d2416: b953 cbnz r3, 80d242e <__swsetup_r+0xc6> 80d2418: f9b4 300c ldrsh.w r3, [r4, #12] 80d241c: f013 0080 ands.w r0, r3, #128 ; 0x80 80d2420: d1ba bne.n 80d2398 <__swsetup_r+0x30> 80d2422: bd70 pop {r4, r5, r6, pc} 80d2424: 0792 lsls r2, r2, #30 80d2426: bf58 it pl 80d2428: 6963 ldrpl r3, [r4, #20] 80d242a: 60a3 str r3, [r4, #8] 80d242c: e7f2 b.n 80d2414 <__swsetup_r+0xac> 80d242e: 2000 movs r0, #0 80d2430: e7f7 b.n 80d2422 <__swsetup_r+0xba> 80d2432: bf00 nop 80d2434: 20020b54 .word 0x20020b54 80d2438: 0818aca4 .word 0x0818aca4 80d243c: 0818acc4 .word 0x0818acc4 80d2440: 0818ac84 .word 0x0818ac84 080d2444 <_close_r>: 80d2444: b538 push {r3, r4, r5, lr} 80d2446: 4c06 ldr r4, [pc, #24] ; (80d2460 <_close_r+0x1c>) 80d2448: 2300 movs r3, #0 80d244a: 4605 mov r5, r0 80d244c: 4608 mov r0, r1 80d244e: 6023 str r3, [r4, #0] 80d2450: f7df fde8 bl 80b2024 <_close> 80d2454: 1c43 adds r3, r0, #1 80d2456: d102 bne.n 80d245e <_close_r+0x1a> 80d2458: 6823 ldr r3, [r4, #0] 80d245a: b103 cbz r3, 80d245e <_close_r+0x1a> 80d245c: 602b str r3, [r5, #0] 80d245e: bd38 pop {r3, r4, r5, pc} 80d2460: 20069674 .word 0x20069674 080d2464 <__sflush_r>: 80d2464: 898a ldrh r2, [r1, #12] 80d2466: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80d246a: 4605 mov r5, r0 80d246c: 0710 lsls r0, r2, #28 80d246e: 460c mov r4, r1 80d2470: d45a bmi.n 80d2528 <__sflush_r+0xc4> 80d2472: 684b ldr r3, [r1, #4] 80d2474: 2b00 cmp r3, #0 80d2476: dc05 bgt.n 80d2484 <__sflush_r+0x20> 80d2478: 6c0b ldr r3, [r1, #64] ; 0x40 80d247a: 2b00 cmp r3, #0 80d247c: dc02 bgt.n 80d2484 <__sflush_r+0x20> 80d247e: 2000 movs r0, #0 80d2480: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d2484: 6ae6 ldr r6, [r4, #44] ; 0x2c 80d2486: 2e00 cmp r6, #0 80d2488: d0f9 beq.n 80d247e <__sflush_r+0x1a> 80d248a: 2300 movs r3, #0 80d248c: f412 5280 ands.w r2, r2, #4096 ; 0x1000 80d2490: 682f ldr r7, [r5, #0] 80d2492: 602b str r3, [r5, #0] 80d2494: d033 beq.n 80d24fe <__sflush_r+0x9a> 80d2496: 6d60 ldr r0, [r4, #84] ; 0x54 80d2498: 89a3 ldrh r3, [r4, #12] 80d249a: 075a lsls r2, r3, #29 80d249c: d505 bpl.n 80d24aa <__sflush_r+0x46> 80d249e: 6863 ldr r3, [r4, #4] 80d24a0: 1ac0 subs r0, r0, r3 80d24a2: 6b63 ldr r3, [r4, #52] ; 0x34 80d24a4: b10b cbz r3, 80d24aa <__sflush_r+0x46> 80d24a6: 6c23 ldr r3, [r4, #64] ; 0x40 80d24a8: 1ac0 subs r0, r0, r3 80d24aa: 2300 movs r3, #0 80d24ac: 4602 mov r2, r0 80d24ae: 6ae6 ldr r6, [r4, #44] ; 0x2c 80d24b0: 6a21 ldr r1, [r4, #32] 80d24b2: 4628 mov r0, r5 80d24b4: 47b0 blx r6 80d24b6: 1c43 adds r3, r0, #1 80d24b8: 89a3 ldrh r3, [r4, #12] 80d24ba: d106 bne.n 80d24ca <__sflush_r+0x66> 80d24bc: 6829 ldr r1, [r5, #0] 80d24be: 291d cmp r1, #29 80d24c0: d84b bhi.n 80d255a <__sflush_r+0xf6> 80d24c2: 4a2b ldr r2, [pc, #172] ; (80d2570 <__sflush_r+0x10c>) 80d24c4: 40ca lsrs r2, r1 80d24c6: 07d6 lsls r6, r2, #31 80d24c8: d547 bpl.n 80d255a <__sflush_r+0xf6> 80d24ca: 2200 movs r2, #0 80d24cc: 6062 str r2, [r4, #4] 80d24ce: 04d9 lsls r1, r3, #19 80d24d0: 6922 ldr r2, [r4, #16] 80d24d2: 6022 str r2, [r4, #0] 80d24d4: d504 bpl.n 80d24e0 <__sflush_r+0x7c> 80d24d6: 1c42 adds r2, r0, #1 80d24d8: d101 bne.n 80d24de <__sflush_r+0x7a> 80d24da: 682b ldr r3, [r5, #0] 80d24dc: b903 cbnz r3, 80d24e0 <__sflush_r+0x7c> 80d24de: 6560 str r0, [r4, #84] ; 0x54 80d24e0: 6b61 ldr r1, [r4, #52] ; 0x34 80d24e2: 602f str r7, [r5, #0] 80d24e4: 2900 cmp r1, #0 80d24e6: d0ca beq.n 80d247e <__sflush_r+0x1a> 80d24e8: f104 0344 add.w r3, r4, #68 ; 0x44 80d24ec: 4299 cmp r1, r3 80d24ee: d002 beq.n 80d24f6 <__sflush_r+0x92> 80d24f0: 4628 mov r0, r5 80d24f2: f7fe ff5d bl 80d13b0 <_free_r> 80d24f6: 2000 movs r0, #0 80d24f8: 6360 str r0, [r4, #52] ; 0x34 80d24fa: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d24fe: 6a21 ldr r1, [r4, #32] 80d2500: 2301 movs r3, #1 80d2502: 4628 mov r0, r5 80d2504: 47b0 blx r6 80d2506: 1c41 adds r1, r0, #1 80d2508: d1c6 bne.n 80d2498 <__sflush_r+0x34> 80d250a: 682b ldr r3, [r5, #0] 80d250c: 2b00 cmp r3, #0 80d250e: d0c3 beq.n 80d2498 <__sflush_r+0x34> 80d2510: 2b1d cmp r3, #29 80d2512: d001 beq.n 80d2518 <__sflush_r+0xb4> 80d2514: 2b16 cmp r3, #22 80d2516: d101 bne.n 80d251c <__sflush_r+0xb8> 80d2518: 602f str r7, [r5, #0] 80d251a: e7b0 b.n 80d247e <__sflush_r+0x1a> 80d251c: 89a3 ldrh r3, [r4, #12] 80d251e: f043 0340 orr.w r3, r3, #64 ; 0x40 80d2522: 81a3 strh r3, [r4, #12] 80d2524: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d2528: 690f ldr r7, [r1, #16] 80d252a: 2f00 cmp r7, #0 80d252c: d0a7 beq.n 80d247e <__sflush_r+0x1a> 80d252e: 0793 lsls r3, r2, #30 80d2530: 680e ldr r6, [r1, #0] 80d2532: bf08 it eq 80d2534: 694b ldreq r3, [r1, #20] 80d2536: 600f str r7, [r1, #0] 80d2538: bf18 it ne 80d253a: 2300 movne r3, #0 80d253c: eba6 0807 sub.w r8, r6, r7 80d2540: 608b str r3, [r1, #8] 80d2542: f1b8 0f00 cmp.w r8, #0 80d2546: dd9a ble.n 80d247e <__sflush_r+0x1a> 80d2548: 4643 mov r3, r8 80d254a: 463a mov r2, r7 80d254c: 6a21 ldr r1, [r4, #32] 80d254e: 6aa6 ldr r6, [r4, #40] ; 0x28 80d2550: 4628 mov r0, r5 80d2552: 47b0 blx r6 80d2554: 2800 cmp r0, #0 80d2556: dc07 bgt.n 80d2568 <__sflush_r+0x104> 80d2558: 89a3 ldrh r3, [r4, #12] 80d255a: f043 0340 orr.w r3, r3, #64 ; 0x40 80d255e: 81a3 strh r3, [r4, #12] 80d2560: f04f 30ff mov.w r0, #4294967295 80d2564: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80d2568: 4407 add r7, r0 80d256a: eba8 0800 sub.w r8, r8, r0 80d256e: e7e8 b.n 80d2542 <__sflush_r+0xde> 80d2570: 20400001 .word 0x20400001 080d2574 <_fflush_r>: 80d2574: b538 push {r3, r4, r5, lr} 80d2576: 690b ldr r3, [r1, #16] 80d2578: 4605 mov r5, r0 80d257a: 460c mov r4, r1 80d257c: b1db cbz r3, 80d25b6 <_fflush_r+0x42> 80d257e: b118 cbz r0, 80d2588 <_fflush_r+0x14> 80d2580: 6983 ldr r3, [r0, #24] 80d2582: b90b cbnz r3, 80d2588 <_fflush_r+0x14> 80d2584: f7ff f974 bl 80d1870 <__sinit> 80d2588: 4b0c ldr r3, [pc, #48] ; (80d25bc <_fflush_r+0x48>) 80d258a: 429c cmp r4, r3 80d258c: d109 bne.n 80d25a2 <_fflush_r+0x2e> 80d258e: 686c ldr r4, [r5, #4] 80d2590: f9b4 300c ldrsh.w r3, [r4, #12] 80d2594: b17b cbz r3, 80d25b6 <_fflush_r+0x42> 80d2596: 4621 mov r1, r4 80d2598: 4628 mov r0, r5 80d259a: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 80d259e: f7ff bf61 b.w 80d2464 <__sflush_r> 80d25a2: 4b07 ldr r3, [pc, #28] ; (80d25c0 <_fflush_r+0x4c>) 80d25a4: 429c cmp r4, r3 80d25a6: d101 bne.n 80d25ac <_fflush_r+0x38> 80d25a8: 68ac ldr r4, [r5, #8] 80d25aa: e7f1 b.n 80d2590 <_fflush_r+0x1c> 80d25ac: 4b05 ldr r3, [pc, #20] ; (80d25c4 <_fflush_r+0x50>) 80d25ae: 429c cmp r4, r3 80d25b0: bf08 it eq 80d25b2: 68ec ldreq r4, [r5, #12] 80d25b4: e7ec b.n 80d2590 <_fflush_r+0x1c> 80d25b6: 2000 movs r0, #0 80d25b8: bd38 pop {r3, r4, r5, pc} 80d25ba: bf00 nop 80d25bc: 0818aca4 .word 0x0818aca4 80d25c0: 0818acc4 .word 0x0818acc4 80d25c4: 0818ac84 .word 0x0818ac84 080d25c8 <_lseek_r>: 80d25c8: b538 push {r3, r4, r5, lr} 80d25ca: 4c07 ldr r4, [pc, #28] ; (80d25e8 <_lseek_r+0x20>) 80d25cc: 4605 mov r5, r0 80d25ce: 4608 mov r0, r1 80d25d0: 4611 mov r1, r2 80d25d2: 2200 movs r2, #0 80d25d4: 6022 str r2, [r4, #0] 80d25d6: 461a mov r2, r3 80d25d8: f7df fd4b bl 80b2072 <_lseek> 80d25dc: 1c43 adds r3, r0, #1 80d25de: d102 bne.n 80d25e6 <_lseek_r+0x1e> 80d25e0: 6823 ldr r3, [r4, #0] 80d25e2: b103 cbz r3, 80d25e6 <_lseek_r+0x1e> 80d25e4: 602b str r3, [r5, #0] 80d25e6: bd38 pop {r3, r4, r5, pc} 80d25e8: 20069674 .word 0x20069674 080d25ec <__swhatbuf_r>: 80d25ec: b570 push {r4, r5, r6, lr} 80d25ee: 460e mov r6, r1 80d25f0: f9b1 100e ldrsh.w r1, [r1, #14] 80d25f4: 2900 cmp r1, #0 80d25f6: b090 sub sp, #64 ; 0x40 80d25f8: 4614 mov r4, r2 80d25fa: 461d mov r5, r3 80d25fc: da07 bge.n 80d260e <__swhatbuf_r+0x22> 80d25fe: 2300 movs r3, #0 80d2600: 602b str r3, [r5, #0] 80d2602: 89b3 ldrh r3, [r6, #12] 80d2604: 061a lsls r2, r3, #24 80d2606: d410 bmi.n 80d262a <__swhatbuf_r+0x3e> 80d2608: f44f 6380 mov.w r3, #1024 ; 0x400 80d260c: e00e b.n 80d262c <__swhatbuf_r+0x40> 80d260e: aa01 add r2, sp, #4 80d2610: f000 f8a2 bl 80d2758 <_fstat_r> 80d2614: 2800 cmp r0, #0 80d2616: dbf2 blt.n 80d25fe <__swhatbuf_r+0x12> 80d2618: 9a02 ldr r2, [sp, #8] 80d261a: f402 4270 and.w r2, r2, #61440 ; 0xf000 80d261e: f5a2 5300 sub.w r3, r2, #8192 ; 0x2000 80d2622: 425a negs r2, r3 80d2624: 415a adcs r2, r3 80d2626: 602a str r2, [r5, #0] 80d2628: e7ee b.n 80d2608 <__swhatbuf_r+0x1c> 80d262a: 2340 movs r3, #64 ; 0x40 80d262c: 2000 movs r0, #0 80d262e: 6023 str r3, [r4, #0] 80d2630: b010 add sp, #64 ; 0x40 80d2632: bd70 pop {r4, r5, r6, pc} 080d2634 <__smakebuf_r>: 80d2634: 898b ldrh r3, [r1, #12] 80d2636: b573 push {r0, r1, r4, r5, r6, lr} 80d2638: 079d lsls r5, r3, #30 80d263a: 4606 mov r6, r0 80d263c: 460c mov r4, r1 80d263e: d507 bpl.n 80d2650 <__smakebuf_r+0x1c> 80d2640: f104 0347 add.w r3, r4, #71 ; 0x47 80d2644: 6023 str r3, [r4, #0] 80d2646: 6123 str r3, [r4, #16] 80d2648: 2301 movs r3, #1 80d264a: 6163 str r3, [r4, #20] 80d264c: b002 add sp, #8 80d264e: bd70 pop {r4, r5, r6, pc} 80d2650: ab01 add r3, sp, #4 80d2652: 466a mov r2, sp 80d2654: f7ff ffca bl 80d25ec <__swhatbuf_r> 80d2658: 9900 ldr r1, [sp, #0] 80d265a: 4605 mov r5, r0 80d265c: 4630 mov r0, r6 80d265e: f7fe fef5 bl 80d144c <_malloc_r> 80d2662: b948 cbnz r0, 80d2678 <__smakebuf_r+0x44> 80d2664: f9b4 300c ldrsh.w r3, [r4, #12] 80d2668: 059a lsls r2, r3, #22 80d266a: d4ef bmi.n 80d264c <__smakebuf_r+0x18> 80d266c: f023 0303 bic.w r3, r3, #3 80d2670: f043 0302 orr.w r3, r3, #2 80d2674: 81a3 strh r3, [r4, #12] 80d2676: e7e3 b.n 80d2640 <__smakebuf_r+0xc> 80d2678: 4b0d ldr r3, [pc, #52] ; (80d26b0 <__smakebuf_r+0x7c>) 80d267a: 62b3 str r3, [r6, #40] ; 0x28 80d267c: 89a3 ldrh r3, [r4, #12] 80d267e: 6020 str r0, [r4, #0] 80d2680: f043 0380 orr.w r3, r3, #128 ; 0x80 80d2684: 81a3 strh r3, [r4, #12] 80d2686: 9b00 ldr r3, [sp, #0] 80d2688: 6163 str r3, [r4, #20] 80d268a: 9b01 ldr r3, [sp, #4] 80d268c: 6120 str r0, [r4, #16] 80d268e: b15b cbz r3, 80d26a8 <__smakebuf_r+0x74> 80d2690: f9b4 100e ldrsh.w r1, [r4, #14] 80d2694: 4630 mov r0, r6 80d2696: f000 f871 bl 80d277c <_isatty_r> 80d269a: b128 cbz r0, 80d26a8 <__smakebuf_r+0x74> 80d269c: 89a3 ldrh r3, [r4, #12] 80d269e: f023 0303 bic.w r3, r3, #3 80d26a2: f043 0301 orr.w r3, r3, #1 80d26a6: 81a3 strh r3, [r4, #12] 80d26a8: 89a3 ldrh r3, [r4, #12] 80d26aa: 431d orrs r5, r3 80d26ac: 81a5 strh r5, [r4, #12] 80d26ae: e7cd b.n 80d264c <__smakebuf_r+0x18> 80d26b0: 080d17f1 .word 0x080d17f1 080d26b4 : 80d26b4: 4288 cmp r0, r1 80d26b6: b510 push {r4, lr} 80d26b8: eb01 0302 add.w r3, r1, r2 80d26bc: d803 bhi.n 80d26c6 80d26be: 1e42 subs r2, r0, #1 80d26c0: 4299 cmp r1, r3 80d26c2: d10c bne.n 80d26de 80d26c4: bd10 pop {r4, pc} 80d26c6: 4298 cmp r0, r3 80d26c8: d2f9 bcs.n 80d26be 80d26ca: 1881 adds r1, r0, r2 80d26cc: 1ad2 subs r2, r2, r3 80d26ce: 42d3 cmn r3, r2 80d26d0: d100 bne.n 80d26d4 80d26d2: bd10 pop {r4, pc} 80d26d4: f813 4d01 ldrb.w r4, [r3, #-1]! 80d26d8: f801 4d01 strb.w r4, [r1, #-1]! 80d26dc: e7f7 b.n 80d26ce 80d26de: f811 4b01 ldrb.w r4, [r1], #1 80d26e2: f802 4f01 strb.w r4, [r2, #1]! 80d26e6: e7eb b.n 80d26c0 080d26e8 <_realloc_r>: 80d26e8: b5f8 push {r3, r4, r5, r6, r7, lr} 80d26ea: 4607 mov r7, r0 80d26ec: 4614 mov r4, r2 80d26ee: 460e mov r6, r1 80d26f0: b921 cbnz r1, 80d26fc <_realloc_r+0x14> 80d26f2: 4611 mov r1, r2 80d26f4: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr} 80d26f8: f7fe bea8 b.w 80d144c <_malloc_r> 80d26fc: b922 cbnz r2, 80d2708 <_realloc_r+0x20> 80d26fe: f7fe fe57 bl 80d13b0 <_free_r> 80d2702: 4625 mov r5, r4 80d2704: 4628 mov r0, r5 80d2706: bdf8 pop {r3, r4, r5, r6, r7, pc} 80d2708: f000 f848 bl 80d279c <_malloc_usable_size_r> 80d270c: 4284 cmp r4, r0 80d270e: d90f bls.n 80d2730 <_realloc_r+0x48> 80d2710: 4621 mov r1, r4 80d2712: 4638 mov r0, r7 80d2714: f7fe fe9a bl 80d144c <_malloc_r> 80d2718: 4605 mov r5, r0 80d271a: 2800 cmp r0, #0 80d271c: d0f2 beq.n 80d2704 <_realloc_r+0x1c> 80d271e: 4631 mov r1, r6 80d2720: 4622 mov r2, r4 80d2722: f7fe fe32 bl 80d138a 80d2726: 4631 mov r1, r6 80d2728: 4638 mov r0, r7 80d272a: f7fe fe41 bl 80d13b0 <_free_r> 80d272e: e7e9 b.n 80d2704 <_realloc_r+0x1c> 80d2730: 4635 mov r5, r6 80d2732: e7e7 b.n 80d2704 <_realloc_r+0x1c> 080d2734 <_read_r>: 80d2734: b538 push {r3, r4, r5, lr} 80d2736: 4c07 ldr r4, [pc, #28] ; (80d2754 <_read_r+0x20>) 80d2738: 4605 mov r5, r0 80d273a: 4608 mov r0, r1 80d273c: 4611 mov r1, r2 80d273e: 2200 movs r2, #0 80d2740: 6022 str r2, [r4, #0] 80d2742: 461a mov r2, r3 80d2744: f7df fc08 bl 80b1f58 <_read> 80d2748: 1c43 adds r3, r0, #1 80d274a: d102 bne.n 80d2752 <_read_r+0x1e> 80d274c: 6823 ldr r3, [r4, #0] 80d274e: b103 cbz r3, 80d2752 <_read_r+0x1e> 80d2750: 602b str r3, [r5, #0] 80d2752: bd38 pop {r3, r4, r5, pc} 80d2754: 20069674 .word 0x20069674 080d2758 <_fstat_r>: 80d2758: b538 push {r3, r4, r5, lr} 80d275a: 4c07 ldr r4, [pc, #28] ; (80d2778 <_fstat_r+0x20>) 80d275c: 2300 movs r3, #0 80d275e: 4605 mov r5, r0 80d2760: 4608 mov r0, r1 80d2762: 4611 mov r1, r2 80d2764: 6023 str r3, [r4, #0] 80d2766: f7df fc69 bl 80b203c <_fstat> 80d276a: 1c43 adds r3, r0, #1 80d276c: d102 bne.n 80d2774 <_fstat_r+0x1c> 80d276e: 6823 ldr r3, [r4, #0] 80d2770: b103 cbz r3, 80d2774 <_fstat_r+0x1c> 80d2772: 602b str r3, [r5, #0] 80d2774: bd38 pop {r3, r4, r5, pc} 80d2776: bf00 nop 80d2778: 20069674 .word 0x20069674 080d277c <_isatty_r>: 80d277c: b538 push {r3, r4, r5, lr} 80d277e: 4c06 ldr r4, [pc, #24] ; (80d2798 <_isatty_r+0x1c>) 80d2780: 2300 movs r3, #0 80d2782: 4605 mov r5, r0 80d2784: 4608 mov r0, r1 80d2786: 6023 str r3, [r4, #0] 80d2788: f7df fc68 bl 80b205c <_isatty> 80d278c: 1c43 adds r3, r0, #1 80d278e: d102 bne.n 80d2796 <_isatty_r+0x1a> 80d2790: 6823 ldr r3, [r4, #0] 80d2792: b103 cbz r3, 80d2796 <_isatty_r+0x1a> 80d2794: 602b str r3, [r5, #0] 80d2796: bd38 pop {r3, r4, r5, pc} 80d2798: 20069674 .word 0x20069674 080d279c <_malloc_usable_size_r>: 80d279c: f851 0c04 ldr.w r0, [r1, #-4] 80d27a0: 2800 cmp r0, #0 80d27a2: f1a0 0004 sub.w r0, r0, #4 80d27a6: bfbc itt lt 80d27a8: 580b ldrlt r3, [r1, r0] 80d27aa: 18c0 addlt r0, r0, r3 80d27ac: 4770 bx lr ... 080d27b0 <_init>: 80d27b0: b5f8 push {r3, r4, r5, r6, r7, lr} 80d27b2: bf00 nop 80d27b4: bcf8 pop {r3, r4, r5, r6, r7} 80d27b6: bc08 pop {r3} 80d27b8: 469e mov lr, r3 80d27ba: 4770 bx lr 080d27bc <_fini>: 80d27bc: b5f8 push {r3, r4, r5, r6, r7, lr} 80d27be: bf00 nop 80d27c0: bcf8 pop {r3, r4, r5, r6, r7} 80d27c2: bc08 pop {r3} 80d27c4: 469e mov lr, r3 80d27c6: 4770 bx lr